@sbb-esta/lyne-elements 1.11.3 → 1.12.1

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (166) hide show
  1. package/_index.scss +1 -1
  2. package/core/i18n/i18n.d.ts +5 -0
  3. package/core/i18n/i18n.d.ts.map +1 -1
  4. package/core/i18n.js +85 -55
  5. package/core/styles/core/functions.scss +1 -1
  6. package/core/styles/lists.scss +4 -0
  7. package/core/styles/mixins/helpers.scss +1 -1
  8. package/core/styles/mixins/lists.scss +128 -77
  9. package/core/styles/mixins/scrollbar.scss +2 -2
  10. package/core/styles/mixins/table.scss +4 -6
  11. package/core/styles/normalize.scss +62 -131
  12. package/core.css +0 -5
  13. package/custom-elements.json +781 -77
  14. package/development/accordion.js +2 -9
  15. package/development/action-group.js +2 -9
  16. package/development/alert/alert-group.js +2 -9
  17. package/development/alert/alert.js +2 -9
  18. package/development/autocomplete-grid/autocomplete-grid-button.js +2 -9
  19. package/development/autocomplete-grid/autocomplete-grid-cell.js +2 -9
  20. package/development/autocomplete-grid/autocomplete-grid-option.js +2 -9
  21. package/development/autocomplete-grid/autocomplete-grid-row.js +2 -9
  22. package/development/autocomplete.js +2 -12
  23. package/development/breadcrumb/breadcrumb-group.js +2 -9
  24. package/development/breadcrumb/breadcrumb.js +2 -9
  25. package/development/button/common.js +2 -11
  26. package/development/button/mini-button-group.js +2 -9
  27. package/development/button/mini-button.js +2 -9
  28. package/development/calendar.js +2 -9
  29. package/development/card/card-badge.js +2 -9
  30. package/development/card/card.js +2 -9
  31. package/development/card/common.js +2 -9
  32. package/development/checkbox/checkbox-group.js +2 -9
  33. package/development/checkbox/checkbox.js +2 -9
  34. package/development/checkbox/common.js +1 -8
  35. package/development/chip.js +2 -9
  36. package/development/clock.js +2 -9
  37. package/development/container/container.js +1 -8
  38. package/development/container/sticky-bar.js +2 -9
  39. package/development/core/i18n/i18n.d.ts +5 -0
  40. package/development/core/i18n/i18n.d.ts.map +1 -1
  41. package/development/core/i18n.js +36 -1
  42. package/development/core/mixins.js +2 -9
  43. package/development/datepicker/datepicker-next-day.js +2 -9
  44. package/development/datepicker/datepicker-previous-day.js +2 -9
  45. package/development/datepicker/datepicker-toggle.js +2 -9
  46. package/development/datepicker/datepicker.js +2 -9
  47. package/development/dialog/dialog-actions.js +2 -9
  48. package/development/dialog/dialog-content.js +2 -11
  49. package/development/dialog/dialog-title.js +2 -9
  50. package/development/dialog/dialog.js +2 -9
  51. package/development/divider.js +2 -9
  52. package/development/expansion-panel/expansion-panel-content.js +2 -9
  53. package/development/expansion-panel/expansion-panel-header.js +2 -9
  54. package/development/expansion-panel/expansion-panel.js +2 -9
  55. package/development/file-selector.js +2 -9
  56. package/development/flip-card/flip-card-details.js +2 -9
  57. package/development/flip-card/flip-card-summary.js +2 -9
  58. package/development/flip-card/flip-card.js +2 -9
  59. package/development/footer.js +2 -9
  60. package/development/form-error.js +2 -9
  61. package/development/form-field/form-field-clear.js +2 -9
  62. package/development/form-field/form-field.js +1 -12
  63. package/development/header/common.js +2 -9
  64. package/development/header/header.js +2 -9
  65. package/development/icon.js +2 -9
  66. package/development/image/image.d.ts +1 -0
  67. package/development/image/image.d.ts.map +1 -1
  68. package/development/image.js +13 -13
  69. package/development/journey-header.js +2 -9
  70. package/development/lead-container.js +2 -9
  71. package/development/link/common.js +4 -25
  72. package/development/link-list/common.js +2 -9
  73. package/development/link-list/link-list-anchor.js +2 -9
  74. package/development/link-list/link-list.js +2 -9
  75. package/development/loading-indicator.js +2 -10
  76. package/development/logo.js +2 -9
  77. package/development/map-container.js +2 -11
  78. package/development/menu/common.js +2 -9
  79. package/development/menu/menu.js +2 -11
  80. package/development/message.js +2 -9
  81. package/development/navigation/common.js +2 -9
  82. package/development/navigation/navigation-list.js +2 -9
  83. package/development/navigation/navigation-marker.js +2 -9
  84. package/development/navigation/navigation-section.js +2 -11
  85. package/development/navigation/navigation.js +2 -11
  86. package/development/notification.js +2 -10
  87. package/development/option/optgroup.js +2 -9
  88. package/development/option/option.js +2 -9
  89. package/development/overlay.js +2 -11
  90. package/development/paginator/index.d.ts +2 -0
  91. package/development/paginator/index.d.ts.map +1 -0
  92. package/development/paginator/paginator.d.ts +91 -0
  93. package/development/paginator/paginator.d.ts.map +1 -0
  94. package/development/paginator.d.ts +2 -0
  95. package/development/paginator.d.ts.map +1 -0
  96. package/development/paginator.js +519 -0
  97. package/development/popover/popover-trigger.js +2 -9
  98. package/development/popover/popover.js +2 -9
  99. package/development/radio-button/common.js +2 -9
  100. package/development/radio-button/radio-button-group/radio-button-group.d.ts +1 -1
  101. package/development/radio-button/radio-button-group/radio-button-group.d.ts.map +1 -1
  102. package/development/radio-button/radio-button-group.js +19 -22
  103. package/development/radio-button/radio-button.js +2 -9
  104. package/development/screen-reader-only.js +2 -9
  105. package/development/select/select.d.ts +6 -0
  106. package/development/select/select.d.ts.map +1 -1
  107. package/development/select.js +23 -18
  108. package/development/selection-expansion-panel.js +2 -9
  109. package/development/signet.js +2 -9
  110. package/development/skiplink-list.js +2 -9
  111. package/development/slider/slider.d.ts +35 -16
  112. package/development/slider/slider.d.ts.map +1 -1
  113. package/development/slider.js +102 -88
  114. package/development/status.js +2 -9
  115. package/development/stepper/step-label.js +2 -9
  116. package/development/stepper/step.js +2 -9
  117. package/development/stepper/stepper.js +2 -9
  118. package/development/table/table-wrapper.js +2 -11
  119. package/development/tabs/tab-group.js +2 -9
  120. package/development/tabs/tab-label.js +2 -9
  121. package/development/tabs/tab.js +1 -8
  122. package/development/tag/tag-group.js +2 -9
  123. package/development/tag/tag.js +2 -9
  124. package/development/teaser-hero.js +2 -9
  125. package/development/teaser-product/common.js +2 -9
  126. package/development/teaser-product/teaser-product.js +2 -9
  127. package/development/teaser.js +12 -11
  128. package/development/time-input.js +2 -9
  129. package/development/timetable-occupancy-icon.js +2 -9
  130. package/development/timetable-occupancy.js +2 -9
  131. package/development/title.js +3 -17
  132. package/development/toast.js +2 -9
  133. package/development/toggle/toggle-option.js +2 -9
  134. package/development/toggle/toggle.js +2 -9
  135. package/development/toggle-check.js +1 -8
  136. package/development/train/train-blocked-passage.js +2 -9
  137. package/development/train/train-formation.js +2 -11
  138. package/development/train/train-wagon.js +2 -9
  139. package/development/train/train.js +2 -9
  140. package/development/visual-checkbox.js +2 -9
  141. package/image/image.d.ts +1 -0
  142. package/image/image.d.ts.map +1 -1
  143. package/image.js +7 -7
  144. package/index.d.ts +2 -0
  145. package/index.js +2 -0
  146. package/lists.css +97 -38
  147. package/normalize.css +21 -113
  148. package/package.json +6 -1
  149. package/paginator/index.d.ts +2 -0
  150. package/paginator/index.d.ts.map +1 -0
  151. package/paginator/paginator.d.ts +91 -0
  152. package/paginator/paginator.d.ts.map +1 -0
  153. package/paginator.d.ts +2 -0
  154. package/paginator.d.ts.map +1 -0
  155. package/paginator.js +263 -0
  156. package/radio-button/radio-button-group/radio-button-group.d.ts +1 -1
  157. package/radio-button/radio-button-group/radio-button-group.d.ts.map +1 -1
  158. package/radio-button/radio-button-group.js +13 -8
  159. package/select/select.d.ts +6 -0
  160. package/select/select.d.ts.map +1 -1
  161. package/select.js +40 -24
  162. package/slider/slider.d.ts +35 -16
  163. package/slider/slider.d.ts.map +1 -1
  164. package/slider.js +111 -78
  165. package/standard-theme.css +116 -160
  166. package/teaser.js +16 -16
@@ -10,14 +10,7 @@ import { getDatePicker, datepickerControlRegisteredEventFactory } from "./datepi
10
10
  import "../calendar.js";
11
11
  import "../popover/popover.js";
12
12
  import "../button/mini-button.js";
13
- const style = css`/** This mixin can be used to avoid spacing problems by inserting an invisible space as pseudo element. */
14
- /*
15
- * SBB table mixin
16
- * Notes:
17
- * We cannot use \`border-collapse\` because it is not compatible with the \`border-radius\` property.
18
- * Therefore, we have to build the grid avoiding double borders.
19
- */
20
- *,
13
+ const style = css`*,
21
14
  ::before,
22
15
  ::after {
23
16
  box-sizing: border-box;
@@ -246,4 +239,4 @@ SbbDatepickerToggleElement = __decorateClass([
246
239
  export {
247
240
  SbbDatepickerToggleElement
248
241
  };
249
- //# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZGF0ZXBpY2tlci10b2dnbGUuanMiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uL3NyYy9lbGVtZW50cy9kYXRlcGlja2VyL2RhdGVwaWNrZXItdG9nZ2xlL2RhdGVwaWNrZXItdG9nZ2xlLnRzIl0sInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB0eXBlIHsgQ1NTUmVzdWx0R3JvdXAsIFByb3BlcnR5VmFsdWVzLCBUZW1wbGF0ZVJlc3VsdCB9IGZyb20gJ2xpdCc7XG5pbXBvcnQgeyBodG1sLCBpc1NlcnZlciwgTGl0RWxlbWVudCwgbm90aGluZyB9IGZyb20gJ2xpdCc7XG5pbXBvcnQgeyBjdXN0b21FbGVtZW50LCBwcm9wZXJ0eSwgc3RhdGUgfSBmcm9tICdsaXQvZGVjb3JhdG9ycy5qcyc7XG5pbXBvcnQgeyByZWYgfSBmcm9tICdsaXQvZGlyZWN0aXZlcy9yZWYuanMnO1xuXG5pbXBvcnQgdHlwZSB7IFNiYk1pbmlCdXR0b25FbGVtZW50IH0gZnJvbSAnLi4vLi4vYnV0dG9uL21pbmktYnV0dG9uLmpzJztcbmltcG9ydCB0eXBlIHsgQ2FsZW5kYXJWaWV3LCBTYmJDYWxlbmRhckVsZW1lbnQgfSBmcm9tICcuLi8uLi9jYWxlbmRhci5qcyc7XG5pbXBvcnQgeyBzYmJJbnB1dE1vZGFsaXR5RGV0ZWN0b3IgfSBmcm9tICcuLi8uLi9jb3JlL2ExMXkuanMnO1xuaW1wb3J0IHsgU2JiQ29ubmVjdGVkQWJvcnRDb250cm9sbGVyLCBTYmJMYW5ndWFnZUNvbnRyb2xsZXIgfSBmcm9tICcuLi8uLi9jb3JlL2NvbnRyb2xsZXJzLmpzJztcbmltcG9ydCB7IGhvc3RBdHRyaWJ1dGVzIH0gZnJvbSAnLi4vLi4vY29yZS9kZWNvcmF0b3JzLmpzJztcbmltcG9ydCB7IGkxOG5TaG93Q2FsZW5kYXIgfSBmcm9tICcuLi8uLi9jb3JlL2kxOG4uanMnO1xuaW1wb3J0IHsgU2JiSHlkcmF0aW9uTWl4aW4sIFNiYk5lZ2F0aXZlTWl4aW4gfSBmcm9tICcuLi8uLi9jb3JlL21peGlucy5qcyc7XG5pbXBvcnQgdHlwZSB7IFNiYlBvcG92ZXJFbGVtZW50IH0gZnJvbSAnLi4vLi4vcG9wb3Zlci9wb3BvdmVyLmpzJztcbmltcG9ydCB0eXBlIHsgU2JiRGF0ZXBpY2tlckVsZW1lbnQsIFNiYklucHV0VXBkYXRlRXZlbnQgfSBmcm9tICcuLi9kYXRlcGlja2VyLmpzJztcbmltcG9ydCB7IGRhdGVwaWNrZXJDb250cm9sUmVnaXN0ZXJlZEV2ZW50RmFjdG9yeSwgZ2V0RGF0ZVBpY2tlciB9IGZyb20gJy4uL2RhdGVwaWNrZXIuanMnO1xuXG5pbXBvcnQgc3R5bGUgZnJvbSAnLi9kYXRlcGlja2VyLXRvZ2dsZS5zY3NzP2xpdCZpbmxpbmUnO1xuXG5pbXBvcnQgJy4uLy4uL2NhbGVuZGFyLmpzJztcbmltcG9ydCAnLi4vLi4vcG9wb3Zlci9wb3BvdmVyLmpzJztcbmltcG9ydCAnLi4vLi4vYnV0dG9uL21pbmktYnV0dG9uLmpzJztcblxuLyoqXG4gKiBDb21iaW5lZCB3aXRoIGEgYHNiYi1kYXRlcGlja2VyYCwgaXQgY2FuIGJlIHVzZWQgdG8gc2VsZWN0IGEgZGF0ZSBmcm9tIGEgYHNiYi1jYWxlbmRhcmAuXG4gKi9cbkBjdXN0b21FbGVtZW50KCdzYmItZGF0ZXBpY2tlci10b2dnbGUnKVxuQGhvc3RBdHRyaWJ1dGVzKHtcbiAgc2xvdDogJ3ByZWZpeCcsXG59KVxuZXhwb3J0IGNsYXNzIFNiYkRhdGVwaWNrZXJUb2dnbGVFbGVtZW50PFQgPSBEYXRlPiBleHRlbmRzIFNiYk5lZ2F0aXZlTWl4aW4oXG4gIFNiYkh5ZHJhdGlvbk1peGluKExpdEVsZW1lbnQpLFxuKSB7XG4gIHB1YmxpYyBzdGF0aWMgb3ZlcnJpZGUgc3R5bGVzOiBDU1NSZXN1bHRHcm91cCA9IHN0eWxlO1xuXG4gIC8qKiBEYXRlcGlja2VyIHJlZmVyZW5jZS4gKi9cbiAgQHByb3BlcnR5KHsgYXR0cmlidXRlOiAnZGF0ZS1waWNrZXInIH0pIHB1YmxpYyBkYXRlUGlja2VyPzogc3RyaW5nIHwgU2JiRGF0ZXBpY2tlckVsZW1lbnQ7XG5cbiAgLyoqIFRoZSBpbml0aWFsIHZpZXcgb2YgY2FsZW5kYXIgd2hpY2ggc2hvdWxkIGJlIGRpc3BsYXllZCBvbiBvcGVuaW5nLiAqL1xuICBAcHJvcGVydHkoKSBwdWJsaWMgdmlldzogQ2FsZW5kYXJWaWV3ID0gJ2RheSc7XG5cbiAgQHN0YXRlKCkgcHJpdmF0ZSBfZGlzYWJsZWQgPSBmYWxzZTtcblxuICBAc3RhdGUoKSBwcml2YXRlIF9taW46IHN0cmluZyB8IG51bWJlciB8IG51bGwgfCB1bmRlZmluZWQgPSBudWxsO1xuXG4gIEBzdGF0ZSgpIHByaXZhdGUgX21heDogc3RyaW5nIHwgbnVtYmVyIHwgbnVsbCB8IHVuZGVmaW5lZCA9IG51bGw7XG5cbiAgQHN0YXRlKCkgcHJpdmF0ZSBfcmVuZGVyQ2FsZW5kYXIgPSBmYWxzZTtcblxuICBwcml2YXRlIF9kYXRlUGlja2VyRWxlbWVudDogU2JiRGF0ZXBpY2tlckVsZW1lbnQ8VD4gfCBudWxsIHwgdW5kZWZpbmVkO1xuICBwcml2YXRlIF9jYWxlbmRhckVsZW1lbnQhOiBTYmJDYWxlbmRhckVsZW1lbnQ8VD47XG4gIHByaXZhdGUgX3RyaWdnZXJFbGVtZW50ITogU2JiTWluaUJ1dHRvbkVsZW1lbnQ7XG4gIHByaXZhdGUgX3BvcG92ZXJFbGVtZW50ITogU2JiUG9wb3ZlckVsZW1lbnQ7XG4gIHByaXZhdGUgX2RhdGVQaWNrZXJDb250cm9sbGVyITogQWJvcnRDb250cm9sbGVyO1xuICBwcml2YXRlIF9sYW5ndWFnZSA9IG5ldyBTYmJMYW5ndWFnZUNvbnRyb2xsZXIodGhpcyk7XG4gIHByaXZhdGUgX2Fib3J0ID0gbmV3IFNiYkNvbm5lY3RlZEFib3J0Q29udHJvbGxlcih0aGlzKTtcblxuICBwdWJsaWMgY29uc3RydWN0b3IoKSB7XG4gICAgc3VwZXIoKTtcbiAgICBpZiAoIWlzU2VydmVyKSB7XG4gICAgICB0aGlzLmh5ZHJhdGlvbkNvbXBsZXRlLnRoZW4oKCkgPT4gKHRoaXMuX3JlbmRlckNhbGVuZGFyID0gdHJ1ZSkpO1xuICAgIH1cbiAgfVxuXG4gIC8qKlxuICAgKiBPcGVucyB0aGUgY2FsZW5kYXIuXG4gICAqL1xuICBwdWJsaWMgb3BlbigpOiB2b2lkIHtcbiAgICBpZiAoIXRoaXMuX3RyaWdnZXJFbGVtZW50KSB7XG4gICAgICB0aGlzLl90cmlnZ2VyRWxlbWVudCA9IHRoaXMuc2hhZG93Um9vdCEucXVlcnlTZWxlY3Rvcignc2JiLW1pbmktYnV0dG9uJykhO1xuICAgIH1cbiAgICB0aGlzLl90cmlnZ2VyRWxlbWVudC5jbGljaygpO1xuICB9XG5cbiAgcHVibGljIG92ZXJyaWRlIGNvbm5lY3RlZENhbGxiYWNrKCk6IHZvaWQge1xuICAgIHN1cGVyLmNvbm5lY3RlZENhbGxiYWNrKCk7XG4gICAgaWYgKCF0aGlzLmRhdGVQaWNrZXIpIHtcbiAgICAgIHRoaXMuX2luaXQoKTtcbiAgICB9XG5cbiAgICBjb25zdCBmb3JtRmllbGQgPSB0aGlzLmNsb3Nlc3Q/Lignc2JiLWZvcm0tZmllbGQnKSA/PyB0aGlzLmNsb3Nlc3Q/LignW2RhdGEtZm9ybS1maWVsZF0nKTtcbiAgICBpZiAoZm9ybUZpZWxkKSB7XG4gICAgICB0aGlzLm5lZ2F0aXZlID0gZm9ybUZpZWxkLmhhc0F0dHJpYnV0ZSgnbmVnYXRpdmUnKTtcbiAgICB9XG5cbiAgICB0aGlzLmFkZEV2ZW50TGlzdGVuZXIoXG4gICAgICAnY2xpY2snLFxuICAgICAgKGV2ZW50KSA9PiB7XG4gICAgICAgIGlmIChldmVudC5jb21wb3NlZFBhdGgoKVswXSA9PT0gdGhpcykge1xuICAgICAgICAgIHRoaXMub3BlbigpO1xuICAgICAgICB9XG4gICAgICB9LFxuICAgICAgeyBzaWduYWw6IHRoaXMuX2Fib3J0LnNpZ25hbCB9LFxuICAgICk7XG4gIH1cblxuICBwdWJsaWMgb3ZlcnJpZGUgd2lsbFVwZGF0ZShjaGFuZ2VkUHJvcGVydGllczogUHJvcGVydHlWYWx1ZXM8dGhpcz4pOiB2b2lkIHtcbiAgICBzdXBlci53aWxsVXBkYXRlKGNoYW5nZWRQcm9wZXJ0aWVzKTtcblxuICAgIGlmIChjaGFuZ2VkUHJvcGVydGllcy5oYXMoJ2RhdGVQaWNrZXInKSkge1xuICAgICAgdGhpcy5faW5pdCh0aGlzLmRhdGVQaWNrZXIpO1xuICAgIH1cbiAgfVxuXG4gIHB1YmxpYyBvdmVycmlkZSBkaXNjb25uZWN0ZWRDYWxsYmFjaygpOiB2b2lkIHtcbiAgICBzdXBlci5kaXNjb25uZWN0ZWRDYWxsYmFjaygpO1xuICAgIHRoaXMuX2RhdGVQaWNrZXJDb250cm9sbGVyPy5hYm9ydCgpO1xuICB9XG5cbiAgcHJpdmF0ZSBfaW5pdChkYXRlUGlja2VyPzogc3RyaW5nIHwgU2JiRGF0ZXBpY2tlckVsZW1lbnQpOiB2b2lkIHtcbiAgICB0aGlzLl9kYXRlUGlja2VyQ29udHJvbGxlcj8uYWJvcnQoKTtcbiAgICB0aGlzLl9kYXRlUGlja2VyQ29udHJvbGxlciA9IG5ldyBBYm9ydENvbnRyb2xsZXIoKTtcbiAgICB0aGlzLl9kYXRlUGlja2VyRWxlbWVudCA9IGdldERhdGVQaWNrZXI8VD4odGhpcywgZGF0ZVBpY2tlcik7XG4gICAgaWYgKCF0aGlzLl9kYXRlUGlja2VyRWxlbWVudCkge1xuICAgICAgLy8gSWYgdGhlIGNvbXBvbmVudCBpcyBhdHRhY2hlZCB0byB0aGUgRE9NIGJlZm9yZSB0aGUgZGF0ZXBpY2tlciwgaXQgaGFzIHRvIGxpc3RlbiBmb3IgdGhlIGRhdGVwaWNrZXIgaW5pdCxcbiAgICAgIC8vIGFzc3VtaW5nIHRoYXQgdGhlIHR3byBjb21wb25lbnRzIHNoYXJlIHRoZSBzYW1lIHBhcmVudCBlbGVtZW50LlxuICAgICAgdGhpcy5wYXJlbnRFbGVtZW50Py5hZGRFdmVudExpc3RlbmVyKFxuICAgICAgICAnaW5wdXRVcGRhdGVkJyxcbiAgICAgICAgKGU6IEV2ZW50KSA9PiB0aGlzLl9pbml0KGUudGFyZ2V0IGFzIFNiYkRhdGVwaWNrZXJFbGVtZW50KSxcbiAgICAgICAgeyBvbmNlOiB0cnVlLCBzaWduYWw6IHRoaXMuX2RhdGVQaWNrZXJDb250cm9sbGVyLnNpZ25hbCB9LFxuICAgICAgKTtcbiAgICAgIHJldHVybjtcbiAgICB9XG5cbiAgICB0aGlzLl9kYXRlUGlja2VyRWxlbWVudD8uYWRkRXZlbnRMaXN0ZW5lcihcbiAgICAgICdpbnB1dFVwZGF0ZWQnLFxuICAgICAgKGV2ZW50OiBDdXN0b21FdmVudDxTYmJJbnB1dFVwZGF0ZUV2ZW50PikgPT4ge1xuICAgICAgICB0aGlzLl9kYXRlUGlja2VyRWxlbWVudCA9IGV2ZW50LnRhcmdldCBhcyBTYmJEYXRlcGlja2VyRWxlbWVudDxUPjtcbiAgICAgICAgdGhpcy5fZGlzYWJsZWQgPSAhIShldmVudC5kZXRhaWwuZGlzYWJsZWQgfHwgZXZlbnQuZGV0YWlsLnJlYWRvbmx5KTtcbiAgICAgICAgdGhpcy5fbWluID0gZXZlbnQuZGV0YWlsLm1pbjtcbiAgICAgICAgdGhpcy5fbWF4ID0gZXZlbnQuZGV0YWlsLm1heDtcbiAgICAgIH0sXG4gICAgICB7IHNpZ25hbDogdGhpcy5fZGF0ZVBpY2tlckNvbnRyb2xsZXIuc2lnbmFsIH0sXG4gICAgKTtcbiAgICB0aGlzLl9kYXRlUGlja2VyRWxlbWVudD8uYWRkRXZlbnRMaXN0ZW5lcihcbiAgICAgICdjaGFuZ2UnLFxuICAgICAgKGV2ZW50OiBFdmVudCkgPT4gdGhpcy5fZGF0ZVBpY2tlckNoYW5nZWQoZXZlbnQpLFxuICAgICAge1xuICAgICAgICBzaWduYWw6IHRoaXMuX2RhdGVQaWNrZXJDb250cm9sbGVyLnNpZ25hbCxcbiAgICAgIH0sXG4gICAgKTtcbiAgICB0aGlzLl9kYXRlUGlja2VyRWxlbWVudD8uYWRkRXZlbnRMaXN0ZW5lcihcbiAgICAgICdkYXRlUGlja2VyVXBkYXRlZCcsXG4gICAgICAoZXZlbnQ6IEV2ZW50KSA9PlxuICAgICAgICB0aGlzLl9jb25maWd1cmVDYWxlbmRhcih0aGlzLl9jYWxlbmRhckVsZW1lbnQsIGV2ZW50LnRhcmdldCBhcyBTYmJEYXRlcGlja2VyRWxlbWVudDxUPiksXG4gICAgICB7IHNpZ25hbDogdGhpcy5fZGF0ZVBpY2tlckNvbnRyb2xsZXIuc2lnbmFsIH0sXG4gICAgKTtcbiAgICB0aGlzLl9kYXRlUGlja2VyRWxlbWVudC5kaXNwYXRjaEV2ZW50KGRhdGVwaWNrZXJDb250cm9sUmVnaXN0ZXJlZEV2ZW50RmFjdG9yeSgpKTtcbiAgfVxuXG4gIHByaXZhdGUgX2NvbmZpZ3VyZUNhbGVuZGFyKFxuICAgIGNhbGVuZGFyOiBTYmJDYWxlbmRhckVsZW1lbnQ8VD4sXG4gICAgZGF0ZXBpY2tlcjogU2JiRGF0ZXBpY2tlckVsZW1lbnQ8VD4sXG4gICk6IHZvaWQge1xuICAgIGlmICghY2FsZW5kYXIgfHwgIWRhdGVwaWNrZXIpIHtcbiAgICAgIHJldHVybjtcbiAgICB9XG4gICAgY2FsZW5kYXIud2lkZSA9IGRhdGVwaWNrZXIud2lkZTtcbiAgICBjYWxlbmRhci5ub3cgPSB0aGlzLl9ub3dPclVuZGVmaW5lZCgpO1xuICAgIGNhbGVuZGFyLmRhdGVGaWx0ZXIgPSBkYXRlcGlja2VyLmRhdGVGaWx0ZXI7XG4gIH1cblxuICBwcml2YXRlIF9kYXRlUGlja2VyQ2hhbmdlZChldmVudDogRXZlbnQpOiB2b2lkIHtcbiAgICB0aGlzLl9kYXRlUGlja2VyRWxlbWVudCA9IGV2ZW50LnRhcmdldCBhcyBTYmJEYXRlcGlja2VyRWxlbWVudDxUPjtcbiAgICBpZiAodGhpcy5fY2FsZW5kYXJFbGVtZW50KSB7XG4gICAgICB0aGlzLl9jYWxlbmRhckVsZW1lbnQuc2VsZWN0ZWQgPSB0aGlzLl9kYXRlUGlja2VyRWxlbWVudC52YWx1ZUFzRGF0ZSB8fCB1bmRlZmluZWQ7XG4gICAgfVxuICB9XG5cbiAgcHJpdmF0ZSBfYXNzaWduQ2FsZW5kYXIoY2FsZW5kYXI6IFNiYkNhbGVuZGFyRWxlbWVudDxUPik6IHZvaWQge1xuICAgIGlmICh0aGlzLl9jYWxlbmRhckVsZW1lbnQgJiYgdGhpcy5fY2FsZW5kYXJFbGVtZW50ID09PSBjYWxlbmRhcikge1xuICAgICAgcmV0dXJuO1xuICAgIH1cbiAgICB0aGlzLl9jYWxlbmRhckVsZW1lbnQgPSBjYWxlbmRhcjtcbiAgICBpZiAoXG4gICAgICAhKCd2YWx1ZUFzRGF0ZScgaW4gKHRoaXMuX2RhdGVQaWNrZXJFbGVtZW50ID8/IHt9KSkgfHxcbiAgICAgICF0aGlzLl9jYWxlbmRhckVsZW1lbnQ/LnJlc2V0UG9zaXRpb25cbiAgICApIHtcbiAgICAgIHJldHVybjtcbiAgICB9XG4gICAgdGhpcy5fY2FsZW5kYXJFbGVtZW50LnNlbGVjdGVkID0gdGhpcy5fZGF0ZVBpY2tlckVsZW1lbnQhLnZhbHVlQXNEYXRlID8/IHVuZGVmaW5lZDtcbiAgICB0aGlzLl9jb25maWd1cmVDYWxlbmRhcih0aGlzLl9jYWxlbmRhckVsZW1lbnQsIHRoaXMuX2RhdGVQaWNrZXJFbGVtZW50ISk7XG4gICAgdGhpcy5fY2FsZW5kYXJFbGVtZW50LnJlc2V0UG9zaXRpb24oKTtcbiAgfVxuXG4gIHByb3RlY3RlZCBvdmVycmlkZSB1cGRhdGVkKGNoYW5nZWRQcm9wZXJ0aWVzOiBQcm9wZXJ0eVZhbHVlczx0aGlzPik6IHZvaWQge1xuICAgIHN1cGVyLnVwZGF0ZWQoY2hhbmdlZFByb3BlcnRpZXMpO1xuXG4gICAgdGhpcy5fcG9wb3ZlckVsZW1lbnQudHJpZ2dlciA9IHRoaXMuX3RyaWdnZXJFbGVtZW50O1xuICB9XG5cbiAgcHJpdmF0ZSBfbm93T3JVbmRlZmluZWQoKTogVCB8IHVuZGVmaW5lZCB7XG4gICAgcmV0dXJuIHRoaXMuX2RhdGVQaWNrZXJFbGVtZW50Py5oYXNDdXN0b21Ob3coKSA/IHRoaXMuX2RhdGVQaWNrZXJFbGVtZW50Lm5vdyA6IHVuZGVmaW5lZDtcbiAgfVxuXG4gIHByb3RlY3RlZCBvdmVycmlkZSByZW5kZXIoKTogVGVtcGxhdGVSZXN1bHQge1xuICAgIHJldHVybiBodG1sYFxuICAgICAgPHNiYi1taW5pLWJ1dHRvblxuICAgICAgICBjbGFzcz1cInNiYi1kYXRlcGlja2VyLXRvZ2dsZV9fdHJpZ2dlclwiXG4gICAgICAgIGljb24tbmFtZT1cImNhbGVuZGFyLXNtYWxsXCJcbiAgICAgICAgYXJpYS1sYWJlbD0ke2kxOG5TaG93Q2FsZW5kYXJbdGhpcy5fbGFuZ3VhZ2UuY3VycmVudF19XG4gICAgICAgID9kaXNhYmxlZD0keyFpc1NlcnZlciAmJiAoIXRoaXMuX2RhdGVQaWNrZXJFbGVtZW50IHx8IHRoaXMuX2Rpc2FibGVkKX1cbiAgICAgICAgP25lZ2F0aXZlPSR7dGhpcy5uZWdhdGl2ZX1cbiAgICAgICAgJHtyZWYoKGVsPzogRWxlbWVudCkgPT4gKHRoaXMuX3RyaWdnZXJFbGVtZW50ID0gZWwgYXMgU2JiTWluaUJ1dHRvbkVsZW1lbnQpKX1cbiAgICAgID48L3NiYi1taW5pLWJ1dHRvbj5cbiAgICAgIDxzYmItcG9wb3ZlclxuICAgICAgICBAd2lsbE9wZW49JHsoKSA9PiB0aGlzLl9jYWxlbmRhckVsZW1lbnQucmVzZXRQb3NpdGlvbigpfVxuICAgICAgICBAZGlkT3Blbj0keygpID0+IHtcbiAgICAgICAgICBpZiAoc2JiSW5wdXRNb2RhbGl0eURldGVjdG9yLm1vc3RSZWNlbnRNb2RhbGl0eSA9PT0gJ2tleWJvYXJkJykge1xuICAgICAgICAgICAgdGhpcy5fY2FsZW5kYXJFbGVtZW50LmZvY3VzKCk7XG4gICAgICAgICAgfVxuICAgICAgICB9fVxuICAgICAgICAudHJpZ2dlcj0ke3RoaXMuX3RyaWdnZXJFbGVtZW50fVxuICAgICAgICBoaWRlLWNsb3NlLWJ1dHRvblxuICAgICAgICAke3JlZigoZWw/OiBFbGVtZW50KSA9PiAodGhpcy5fcG9wb3ZlckVsZW1lbnQgPSBlbCBhcyBTYmJQb3BvdmVyRWxlbWVudCkpfVxuICAgICAgPlxuICAgICAgICAke3RoaXMuX3JlbmRlckNhbGVuZGFyXG4gICAgICAgICAgPyBodG1sYDxzYmItY2FsZW5kYXJcbiAgICAgICAgICAgICAgLnZpZXc9JHt0aGlzLnZpZXd9XG4gICAgICAgICAgICAgIC5taW49JHt0aGlzLl9taW59XG4gICAgICAgICAgICAgIC5tYXg9JHt0aGlzLl9tYXh9XG4gICAgICAgICAgICAgIC5ub3c9JHt0aGlzLl9ub3dPclVuZGVmaW5lZCgpfVxuICAgICAgICAgICAgICA/d2lkZT0ke3RoaXMuX2RhdGVQaWNrZXJFbGVtZW50Py53aWRlfVxuICAgICAgICAgICAgICAuZGF0ZUZpbHRlcj0ke3RoaXMuX2RhdGVQaWNrZXJFbGVtZW50Py5kYXRlRmlsdGVyfVxuICAgICAgICAgICAgICBAZGF0ZVNlbGVjdGVkPSR7KGQ6IEN1c3RvbUV2ZW50PFQ+KSA9PiB7XG4gICAgICAgICAgICAgICAgdGhpcy5fY2FsZW5kYXJFbGVtZW50LnNlbGVjdGVkID0gZC5kZXRhaWw7XG4gICAgICAgICAgICAgICAgaWYgKHRoaXMuX2RhdGVQaWNrZXJFbGVtZW50KSB7XG4gICAgICAgICAgICAgICAgICB0aGlzLl9kYXRlUGlja2VyRWxlbWVudC52YWx1ZUFzRGF0ZSA9IGQuZGV0YWlsO1xuICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgICAgfX1cbiAgICAgICAgICAgICAgJHtyZWYoKGNhbGVuZGFyPzogRWxlbWVudCkgPT5cbiAgICAgICAgICAgICAgICB0aGlzLl9hc3NpZ25DYWxlbmRhcihjYWxlbmRhciBhcyBTYmJDYWxlbmRhckVsZW1lbnQ8VD4pLFxuICAgICAgICAgICAgICApfVxuICAgICAgICAgICAgPjwvc2JiLWNhbGVuZGFyPmBcbiAgICAgICAgICA6IG5vdGhpbmd9XG4gICAgICA8L3NiYi1wb3BvdmVyPlxuICAgIGA7XG4gIH1cbn1cblxuZGVjbGFyZSBnbG9iYWwge1xuICBpbnRlcmZhY2UgSFRNTEVsZW1lbnRUYWdOYW1lTWFwIHtcbiAgICAvLyBlc2xpbnQtZGlzYWJsZS1uZXh0LWxpbmUgQHR5cGVzY3JpcHQtZXNsaW50L25hbWluZy1jb252ZW50aW9uXG4gICAgJ3NiYi1kYXRlcGlja2VyLXRvZ2dsZSc6IFNiYkRhdGVwaWNrZXJUb2dnbGVFbGVtZW50O1xuICB9XG59XG4iXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6Ijs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7OztBQTZC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
242
+ //# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZGF0ZXBpY2tlci10b2dnbGUuanMiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uL3NyYy9lbGVtZW50cy9kYXRlcGlja2VyL2RhdGVwaWNrZXItdG9nZ2xlL2RhdGVwaWNrZXItdG9nZ2xlLnRzIl0sInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB0eXBlIHsgQ1NTUmVzdWx0R3JvdXAsIFByb3BlcnR5VmFsdWVzLCBUZW1wbGF0ZVJlc3VsdCB9IGZyb20gJ2xpdCc7XG5pbXBvcnQgeyBodG1sLCBpc1NlcnZlciwgTGl0RWxlbWVudCwgbm90aGluZyB9IGZyb20gJ2xpdCc7XG5pbXBvcnQgeyBjdXN0b21FbGVtZW50LCBwcm9wZXJ0eSwgc3RhdGUgfSBmcm9tICdsaXQvZGVjb3JhdG9ycy5qcyc7XG5pbXBvcnQgeyByZWYgfSBmcm9tICdsaXQvZGlyZWN0aXZlcy9yZWYuanMnO1xuXG5pbXBvcnQgdHlwZSB7IFNiYk1pbmlCdXR0b25FbGVtZW50IH0gZnJvbSAnLi4vLi4vYnV0dG9uL21pbmktYnV0dG9uLmpzJztcbmltcG9ydCB0eXBlIHsgQ2FsZW5kYXJWaWV3LCBTYmJDYWxlbmRhckVsZW1lbnQgfSBmcm9tICcuLi8uLi9jYWxlbmRhci5qcyc7XG5pbXBvcnQgeyBzYmJJbnB1dE1vZGFsaXR5RGV0ZWN0b3IgfSBmcm9tICcuLi8uLi9jb3JlL2ExMXkuanMnO1xuaW1wb3J0IHsgU2JiQ29ubmVjdGVkQWJvcnRDb250cm9sbGVyLCBTYmJMYW5ndWFnZUNvbnRyb2xsZXIgfSBmcm9tICcuLi8uLi9jb3JlL2NvbnRyb2xsZXJzLmpzJztcbmltcG9ydCB7IGhvc3RBdHRyaWJ1dGVzIH0gZnJvbSAnLi4vLi4vY29yZS9kZWNvcmF0b3JzLmpzJztcbmltcG9ydCB7IGkxOG5TaG93Q2FsZW5kYXIgfSBmcm9tICcuLi8uLi9jb3JlL2kxOG4uanMnO1xuaW1wb3J0IHsgU2JiSHlkcmF0aW9uTWl4aW4sIFNiYk5lZ2F0aXZlTWl4aW4gfSBmcm9tICcuLi8uLi9jb3JlL21peGlucy5qcyc7XG5pbXBvcnQgdHlwZSB7IFNiYlBvcG92ZXJFbGVtZW50IH0gZnJvbSAnLi4vLi4vcG9wb3Zlci9wb3BvdmVyLmpzJztcbmltcG9ydCB0eXBlIHsgU2JiRGF0ZXBpY2tlckVsZW1lbnQsIFNiYklucHV0VXBkYXRlRXZlbnQgfSBmcm9tICcuLi9kYXRlcGlja2VyLmpzJztcbmltcG9ydCB7IGRhdGVwaWNrZXJDb250cm9sUmVnaXN0ZXJlZEV2ZW50RmFjdG9yeSwgZ2V0RGF0ZVBpY2tlciB9IGZyb20gJy4uL2RhdGVwaWNrZXIuanMnO1xuXG5pbXBvcnQgc3R5bGUgZnJvbSAnLi9kYXRlcGlja2VyLXRvZ2dsZS5zY3NzP2xpdCZpbmxpbmUnO1xuXG5pbXBvcnQgJy4uLy4uL2NhbGVuZGFyLmpzJztcbmltcG9ydCAnLi4vLi4vcG9wb3Zlci9wb3BvdmVyLmpzJztcbmltcG9ydCAnLi4vLi4vYnV0dG9uL21pbmktYnV0dG9uLmpzJztcblxuLyoqXG4gKiBDb21iaW5lZCB3aXRoIGEgYHNiYi1kYXRlcGlja2VyYCwgaXQgY2FuIGJlIHVzZWQgdG8gc2VsZWN0IGEgZGF0ZSBmcm9tIGEgYHNiYi1jYWxlbmRhcmAuXG4gKi9cbkBjdXN0b21FbGVtZW50KCdzYmItZGF0ZXBpY2tlci10b2dnbGUnKVxuQGhvc3RBdHRyaWJ1dGVzKHtcbiAgc2xvdDogJ3ByZWZpeCcsXG59KVxuZXhwb3J0IGNsYXNzIFNiYkRhdGVwaWNrZXJUb2dnbGVFbGVtZW50PFQgPSBEYXRlPiBleHRlbmRzIFNiYk5lZ2F0aXZlTWl4aW4oXG4gIFNiYkh5ZHJhdGlvbk1peGluKExpdEVsZW1lbnQpLFxuKSB7XG4gIHB1YmxpYyBzdGF0aWMgb3ZlcnJpZGUgc3R5bGVzOiBDU1NSZXN1bHRHcm91cCA9IHN0eWxlO1xuXG4gIC8qKiBEYXRlcGlja2VyIHJlZmVyZW5jZS4gKi9cbiAgQHByb3BlcnR5KHsgYXR0cmlidXRlOiAnZGF0ZS1waWNrZXInIH0pIHB1YmxpYyBkYXRlUGlja2VyPzogc3RyaW5nIHwgU2JiRGF0ZXBpY2tlckVsZW1lbnQ7XG5cbiAgLyoqIFRoZSBpbml0aWFsIHZpZXcgb2YgY2FsZW5kYXIgd2hpY2ggc2hvdWxkIGJlIGRpc3BsYXllZCBvbiBvcGVuaW5nLiAqL1xuICBAcHJvcGVydHkoKSBwdWJsaWMgdmlldzogQ2FsZW5kYXJWaWV3ID0gJ2RheSc7XG5cbiAgQHN0YXRlKCkgcHJpdmF0ZSBfZGlzYWJsZWQgPSBmYWxzZTtcblxuICBAc3RhdGUoKSBwcml2YXRlIF9taW46IHN0cmluZyB8IG51bWJlciB8IG51bGwgfCB1bmRlZmluZWQgPSBudWxsO1xuXG4gIEBzdGF0ZSgpIHByaXZhdGUgX21heDogc3RyaW5nIHwgbnVtYmVyIHwgbnVsbCB8IHVuZGVmaW5lZCA9IG51bGw7XG5cbiAgQHN0YXRlKCkgcHJpdmF0ZSBfcmVuZGVyQ2FsZW5kYXIgPSBmYWxzZTtcblxuICBwcml2YXRlIF9kYXRlUGlja2VyRWxlbWVudDogU2JiRGF0ZXBpY2tlckVsZW1lbnQ8VD4gfCBudWxsIHwgdW5kZWZpbmVkO1xuICBwcml2YXRlIF9jYWxlbmRhckVsZW1lbnQhOiBTYmJDYWxlbmRhckVsZW1lbnQ8VD47XG4gIHByaXZhdGUgX3RyaWdnZXJFbGVtZW50ITogU2JiTWluaUJ1dHRvbkVsZW1lbnQ7XG4gIHByaXZhdGUgX3BvcG92ZXJFbGVtZW50ITogU2JiUG9wb3ZlckVsZW1lbnQ7XG4gIHByaXZhdGUgX2RhdGVQaWNrZXJDb250cm9sbGVyITogQWJvcnRDb250cm9sbGVyO1xuICBwcml2YXRlIF9sYW5ndWFnZSA9IG5ldyBTYmJMYW5ndWFnZUNvbnRyb2xsZXIodGhpcyk7XG4gIHByaXZhdGUgX2Fib3J0ID0gbmV3IFNiYkNvbm5lY3RlZEFib3J0Q29udHJvbGxlcih0aGlzKTtcblxuICBwdWJsaWMgY29uc3RydWN0b3IoKSB7XG4gICAgc3VwZXIoKTtcbiAgICBpZiAoIWlzU2VydmVyKSB7XG4gICAgICB0aGlzLmh5ZHJhdGlvbkNvbXBsZXRlLnRoZW4oKCkgPT4gKHRoaXMuX3JlbmRlckNhbGVuZGFyID0gdHJ1ZSkpO1xuICAgIH1cbiAgfVxuXG4gIC8qKlxuICAgKiBPcGVucyB0aGUgY2FsZW5kYXIuXG4gICAqL1xuICBwdWJsaWMgb3BlbigpOiB2b2lkIHtcbiAgICBpZiAoIXRoaXMuX3RyaWdnZXJFbGVtZW50KSB7XG4gICAgICB0aGlzLl90cmlnZ2VyRWxlbWVudCA9IHRoaXMuc2hhZG93Um9vdCEucXVlcnlTZWxlY3Rvcignc2JiLW1pbmktYnV0dG9uJykhO1xuICAgIH1cbiAgICB0aGlzLl90cmlnZ2VyRWxlbWVudC5jbGljaygpO1xuICB9XG5cbiAgcHVibGljIG92ZXJyaWRlIGNvbm5lY3RlZENhbGxiYWNrKCk6IHZvaWQge1xuICAgIHN1cGVyLmNvbm5lY3RlZENhbGxiYWNrKCk7XG4gICAgaWYgKCF0aGlzLmRhdGVQaWNrZXIpIHtcbiAgICAgIHRoaXMuX2luaXQoKTtcbiAgICB9XG5cbiAgICBjb25zdCBmb3JtRmllbGQgPSB0aGlzLmNsb3Nlc3Q/Lignc2JiLWZvcm0tZmllbGQnKSA/PyB0aGlzLmNsb3Nlc3Q/LignW2RhdGEtZm9ybS1maWVsZF0nKTtcbiAgICBpZiAoZm9ybUZpZWxkKSB7XG4gICAgICB0aGlzLm5lZ2F0aXZlID0gZm9ybUZpZWxkLmhhc0F0dHJpYnV0ZSgnbmVnYXRpdmUnKTtcbiAgICB9XG5cbiAgICB0aGlzLmFkZEV2ZW50TGlzdGVuZXIoXG4gICAgICAnY2xpY2snLFxuICAgICAgKGV2ZW50KSA9PiB7XG4gICAgICAgIGlmIChldmVudC5jb21wb3NlZFBhdGgoKVswXSA9PT0gdGhpcykge1xuICAgICAgICAgIHRoaXMub3BlbigpO1xuICAgICAgICB9XG4gICAgICB9LFxuICAgICAgeyBzaWduYWw6IHRoaXMuX2Fib3J0LnNpZ25hbCB9LFxuICAgICk7XG4gIH1cblxuICBwdWJsaWMgb3ZlcnJpZGUgd2lsbFVwZGF0ZShjaGFuZ2VkUHJvcGVydGllczogUHJvcGVydHlWYWx1ZXM8dGhpcz4pOiB2b2lkIHtcbiAgICBzdXBlci53aWxsVXBkYXRlKGNoYW5nZWRQcm9wZXJ0aWVzKTtcblxuICAgIGlmIChjaGFuZ2VkUHJvcGVydGllcy5oYXMoJ2RhdGVQaWNrZXInKSkge1xuICAgICAgdGhpcy5faW5pdCh0aGlzLmRhdGVQaWNrZXIpO1xuICAgIH1cbiAgfVxuXG4gIHB1YmxpYyBvdmVycmlkZSBkaXNjb25uZWN0ZWRDYWxsYmFjaygpOiB2b2lkIHtcbiAgICBzdXBlci5kaXNjb25uZWN0ZWRDYWxsYmFjaygpO1xuICAgIHRoaXMuX2RhdGVQaWNrZXJDb250cm9sbGVyPy5hYm9ydCgpO1xuICB9XG5cbiAgcHJpdmF0ZSBfaW5pdChkYXRlUGlja2VyPzogc3RyaW5nIHwgU2JiRGF0ZXBpY2tlckVsZW1lbnQpOiB2b2lkIHtcbiAgICB0aGlzLl9kYXRlUGlja2VyQ29udHJvbGxlcj8uYWJvcnQoKTtcbiAgICB0aGlzLl9kYXRlUGlja2VyQ29udHJvbGxlciA9IG5ldyBBYm9ydENvbnRyb2xsZXIoKTtcbiAgICB0aGlzLl9kYXRlUGlja2VyRWxlbWVudCA9IGdldERhdGVQaWNrZXI8VD4odGhpcywgZGF0ZVBpY2tlcik7XG4gICAgaWYgKCF0aGlzLl9kYXRlUGlja2VyRWxlbWVudCkge1xuICAgICAgLy8gSWYgdGhlIGNvbXBvbmVudCBpcyBhdHRhY2hlZCB0byB0aGUgRE9NIGJlZm9yZSB0aGUgZGF0ZXBpY2tlciwgaXQgaGFzIHRvIGxpc3RlbiBmb3IgdGhlIGRhdGVwaWNrZXIgaW5pdCxcbiAgICAgIC8vIGFzc3VtaW5nIHRoYXQgdGhlIHR3byBjb21wb25lbnRzIHNoYXJlIHRoZSBzYW1lIHBhcmVudCBlbGVtZW50LlxuICAgICAgdGhpcy5wYXJlbnRFbGVtZW50Py5hZGRFdmVudExpc3RlbmVyKFxuICAgICAgICAnaW5wdXRVcGRhdGVkJyxcbiAgICAgICAgKGU6IEV2ZW50KSA9PiB0aGlzLl9pbml0KGUudGFyZ2V0IGFzIFNiYkRhdGVwaWNrZXJFbGVtZW50KSxcbiAgICAgICAgeyBvbmNlOiB0cnVlLCBzaWduYWw6IHRoaXMuX2RhdGVQaWNrZXJDb250cm9sbGVyLnNpZ25hbCB9LFxuICAgICAgKTtcbiAgICAgIHJldHVybjtcbiAgICB9XG5cbiAgICB0aGlzLl9kYXRlUGlja2VyRWxlbWVudD8uYWRkRXZlbnRMaXN0ZW5lcihcbiAgICAgICdpbnB1dFVwZGF0ZWQnLFxuICAgICAgKGV2ZW50OiBDdXN0b21FdmVudDxTYmJJbnB1dFVwZGF0ZUV2ZW50PikgPT4ge1xuICAgICAgICB0aGlzLl9kYXRlUGlja2VyRWxlbWVudCA9IGV2ZW50LnRhcmdldCBhcyBTYmJEYXRlcGlja2VyRWxlbWVudDxUPjtcbiAgICAgICAgdGhpcy5fZGlzYWJsZWQgPSAhIShldmVudC5kZXRhaWwuZGlzYWJsZWQgfHwgZXZlbnQuZGV0YWlsLnJlYWRvbmx5KTtcbiAgICAgICAgdGhpcy5fbWluID0gZXZlbnQuZGV0YWlsLm1pbjtcbiAgICAgICAgdGhpcy5fbWF4ID0gZXZlbnQuZGV0YWlsLm1heDtcbiAgICAgIH0sXG4gICAgICB7IHNpZ25hbDogdGhpcy5fZGF0ZVBpY2tlckNvbnRyb2xsZXIuc2lnbmFsIH0sXG4gICAgKTtcbiAgICB0aGlzLl9kYXRlUGlja2VyRWxlbWVudD8uYWRkRXZlbnRMaXN0ZW5lcihcbiAgICAgICdjaGFuZ2UnLFxuICAgICAgKGV2ZW50OiBFdmVudCkgPT4gdGhpcy5fZGF0ZVBpY2tlckNoYW5nZWQoZXZlbnQpLFxuICAgICAge1xuICAgICAgICBzaWduYWw6IHRoaXMuX2RhdGVQaWNrZXJDb250cm9sbGVyLnNpZ25hbCxcbiAgICAgIH0sXG4gICAgKTtcbiAgICB0aGlzLl9kYXRlUGlja2VyRWxlbWVudD8uYWRkRXZlbnRMaXN0ZW5lcihcbiAgICAgICdkYXRlUGlja2VyVXBkYXRlZCcsXG4gICAgICAoZXZlbnQ6IEV2ZW50KSA9PlxuICAgICAgICB0aGlzLl9jb25maWd1cmVDYWxlbmRhcih0aGlzLl9jYWxlbmRhckVsZW1lbnQsIGV2ZW50LnRhcmdldCBhcyBTYmJEYXRlcGlja2VyRWxlbWVudDxUPiksXG4gICAgICB7IHNpZ25hbDogdGhpcy5fZGF0ZVBpY2tlckNvbnRyb2xsZXIuc2lnbmFsIH0sXG4gICAgKTtcbiAgICB0aGlzLl9kYXRlUGlja2VyRWxlbWVudC5kaXNwYXRjaEV2ZW50KGRhdGVwaWNrZXJDb250cm9sUmVnaXN0ZXJlZEV2ZW50RmFjdG9yeSgpKTtcbiAgfVxuXG4gIHByaXZhdGUgX2NvbmZpZ3VyZUNhbGVuZGFyKFxuICAgIGNhbGVuZGFyOiBTYmJDYWxlbmRhckVsZW1lbnQ8VD4sXG4gICAgZGF0ZXBpY2tlcjogU2JiRGF0ZXBpY2tlckVsZW1lbnQ8VD4sXG4gICk6IHZvaWQge1xuICAgIGlmICghY2FsZW5kYXIgfHwgIWRhdGVwaWNrZXIpIHtcbiAgICAgIHJldHVybjtcbiAgICB9XG4gICAgY2FsZW5kYXIud2lkZSA9IGRhdGVwaWNrZXIud2lkZTtcbiAgICBjYWxlbmRhci5ub3cgPSB0aGlzLl9ub3dPclVuZGVmaW5lZCgpO1xuICAgIGNhbGVuZGFyLmRhdGVGaWx0ZXIgPSBkYXRlcGlja2VyLmRhdGVGaWx0ZXI7XG4gIH1cblxuICBwcml2YXRlIF9kYXRlUGlja2VyQ2hhbmdlZChldmVudDogRXZlbnQpOiB2b2lkIHtcbiAgICB0aGlzLl9kYXRlUGlja2VyRWxlbWVudCA9IGV2ZW50LnRhcmdldCBhcyBTYmJEYXRlcGlja2VyRWxlbWVudDxUPjtcbiAgICBpZiAodGhpcy5fY2FsZW5kYXJFbGVtZW50KSB7XG4gICAgICB0aGlzLl9jYWxlbmRhckVsZW1lbnQuc2VsZWN0ZWQgPSB0aGlzLl9kYXRlUGlja2VyRWxlbWVudC52YWx1ZUFzRGF0ZSB8fCB1bmRlZmluZWQ7XG4gICAgfVxuICB9XG5cbiAgcHJpdmF0ZSBfYXNzaWduQ2FsZW5kYXIoY2FsZW5kYXI6IFNiYkNhbGVuZGFyRWxlbWVudDxUPik6IHZvaWQge1xuICAgIGlmICh0aGlzLl9jYWxlbmRhckVsZW1lbnQgJiYgdGhpcy5fY2FsZW5kYXJFbGVtZW50ID09PSBjYWxlbmRhcikge1xuICAgICAgcmV0dXJuO1xuICAgIH1cbiAgICB0aGlzLl9jYWxlbmRhckVsZW1lbnQgPSBjYWxlbmRhcjtcbiAgICBpZiAoXG4gICAgICAhKCd2YWx1ZUFzRGF0ZScgaW4gKHRoaXMuX2RhdGVQaWNrZXJFbGVtZW50ID8/IHt9KSkgfHxcbiAgICAgICF0aGlzLl9jYWxlbmRhckVsZW1lbnQ/LnJlc2V0UG9zaXRpb25cbiAgICApIHtcbiAgICAgIHJldHVybjtcbiAgICB9XG4gICAgdGhpcy5fY2FsZW5kYXJFbGVtZW50LnNlbGVjdGVkID0gdGhpcy5fZGF0ZVBpY2tlckVsZW1lbnQhLnZhbHVlQXNEYXRlID8/IHVuZGVmaW5lZDtcbiAgICB0aGlzLl9jb25maWd1cmVDYWxlbmRhcih0aGlzLl9jYWxlbmRhckVsZW1lbnQsIHRoaXMuX2RhdGVQaWNrZXJFbGVtZW50ISk7XG4gICAgdGhpcy5fY2FsZW5kYXJFbGVtZW50LnJlc2V0UG9zaXRpb24oKTtcbiAgfVxuXG4gIHByb3RlY3RlZCBvdmVycmlkZSB1cGRhdGVkKGNoYW5nZWRQcm9wZXJ0aWVzOiBQcm9wZXJ0eVZhbHVlczx0aGlzPik6IHZvaWQge1xuICAgIHN1cGVyLnVwZGF0ZWQoY2hhbmdlZFByb3BlcnRpZXMpO1xuXG4gICAgdGhpcy5fcG9wb3ZlckVsZW1lbnQudHJpZ2dlciA9IHRoaXMuX3RyaWdnZXJFbGVtZW50O1xuICB9XG5cbiAgcHJpdmF0ZSBfbm93T3JVbmRlZmluZWQoKTogVCB8IHVuZGVmaW5lZCB7XG4gICAgcmV0dXJuIHRoaXMuX2RhdGVQaWNrZXJFbGVtZW50Py5oYXNDdXN0b21Ob3coKSA/IHRoaXMuX2RhdGVQaWNrZXJFbGVtZW50Lm5vdyA6IHVuZGVmaW5lZDtcbiAgfVxuXG4gIHByb3RlY3RlZCBvdmVycmlkZSByZW5kZXIoKTogVGVtcGxhdGVSZXN1bHQge1xuICAgIHJldHVybiBodG1sYFxuICAgICAgPHNiYi1taW5pLWJ1dHRvblxuICAgICAgICBjbGFzcz1cInNiYi1kYXRlcGlja2VyLXRvZ2dsZV9fdHJpZ2dlclwiXG4gICAgICAgIGljb24tbmFtZT1cImNhbGVuZGFyLXNtYWxsXCJcbiAgICAgICAgYXJpYS1sYWJlbD0ke2kxOG5TaG93Q2FsZW5kYXJbdGhpcy5fbGFuZ3VhZ2UuY3VycmVudF19XG4gICAgICAgID9kaXNhYmxlZD0keyFpc1NlcnZlciAmJiAoIXRoaXMuX2RhdGVQaWNrZXJFbGVtZW50IHx8IHRoaXMuX2Rpc2FibGVkKX1cbiAgICAgICAgP25lZ2F0aXZlPSR7dGhpcy5uZWdhdGl2ZX1cbiAgICAgICAgJHtyZWYoKGVsPzogRWxlbWVudCkgPT4gKHRoaXMuX3RyaWdnZXJFbGVtZW50ID0gZWwgYXMgU2JiTWluaUJ1dHRvbkVsZW1lbnQpKX1cbiAgICAgID48L3NiYi1taW5pLWJ1dHRvbj5cbiAgICAgIDxzYmItcG9wb3ZlclxuICAgICAgICBAd2lsbE9wZW49JHsoKSA9PiB0aGlzLl9jYWxlbmRhckVsZW1lbnQucmVzZXRQb3NpdGlvbigpfVxuICAgICAgICBAZGlkT3Blbj0keygpID0+IHtcbiAgICAgICAgICBpZiAoc2JiSW5wdXRNb2RhbGl0eURldGVjdG9yLm1vc3RSZWNlbnRNb2RhbGl0eSA9PT0gJ2tleWJvYXJkJykge1xuICAgICAgICAgICAgdGhpcy5fY2FsZW5kYXJFbGVtZW50LmZvY3VzKCk7XG4gICAgICAgICAgfVxuICAgICAgICB9fVxuICAgICAgICAudHJpZ2dlcj0ke3RoaXMuX3RyaWdnZXJFbGVtZW50fVxuICAgICAgICBoaWRlLWNsb3NlLWJ1dHRvblxuICAgICAgICAke3JlZigoZWw/OiBFbGVtZW50KSA9PiAodGhpcy5fcG9wb3ZlckVsZW1lbnQgPSBlbCBhcyBTYmJQb3BvdmVyRWxlbWVudCkpfVxuICAgICAgPlxuICAgICAgICAke3RoaXMuX3JlbmRlckNhbGVuZGFyXG4gICAgICAgICAgPyBodG1sYDxzYmItY2FsZW5kYXJcbiAgICAgICAgICAgICAgLnZpZXc9JHt0aGlzLnZpZXd9XG4gICAgICAgICAgICAgIC5taW49JHt0aGlzLl9taW59XG4gICAgICAgICAgICAgIC5tYXg9JHt0aGlzLl9tYXh9XG4gICAgICAgICAgICAgIC5ub3c9JHt0aGlzLl9ub3dPclVuZGVmaW5lZCgpfVxuICAgICAgICAgICAgICA/d2lkZT0ke3RoaXMuX2RhdGVQaWNrZXJFbGVtZW50Py53aWRlfVxuICAgICAgICAgICAgICAuZGF0ZUZpbHRlcj0ke3RoaXMuX2RhdGVQaWNrZXJFbGVtZW50Py5kYXRlRmlsdGVyfVxuICAgICAgICAgICAgICBAZGF0ZVNlbGVjdGVkPSR7KGQ6IEN1c3RvbUV2ZW50PFQ+KSA9PiB7XG4gICAgICAgICAgICAgICAgdGhpcy5fY2FsZW5kYXJFbGVtZW50LnNlbGVjdGVkID0gZC5kZXRhaWw7XG4gICAgICAgICAgICAgICAgaWYgKHRoaXMuX2RhdGVQaWNrZXJFbGVtZW50KSB7XG4gICAgICAgICAgICAgICAgICB0aGlzLl9kYXRlUGlja2VyRWxlbWVudC52YWx1ZUFzRGF0ZSA9IGQuZGV0YWlsO1xuICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgICAgfX1cbiAgICAgICAgICAgICAgJHtyZWYoKGNhbGVuZGFyPzogRWxlbWVudCkgPT5cbiAgICAgICAgICAgICAgICB0aGlzLl9hc3NpZ25DYWxlbmRhcihjYWxlbmRhciBhcyBTYmJDYWxlbmRhckVsZW1lbnQ8VD4pLFxuICAgICAgICAgICAgICApfVxuICAgICAgICAgICAgPjwvc2JiLWNhbGVuZGFyPmBcbiAgICAgICAgICA6IG5vdGhpbmd9XG4gICAgICA8L3NiYi1wb3BvdmVyPlxuICAgIGA7XG4gIH1cbn1cblxuZGVjbGFyZSBnbG9iYWwge1xuICBpbnRlcmZhY2UgSFRNTEVsZW1lbnRUYWdOYW1lTWFwIHtcbiAgICAvLyBlc2xpbnQtZGlzYWJsZS1uZXh0LWxpbmUgQHR5cGVzY3JpcHQtZXNsaW50L25hbWluZy1jb252ZW50aW9uXG4gICAgJ3NiYi1kYXRlcGlja2VyLXRvZ2dsZSc6IFNiYkRhdGVwaWNrZXJUb2dnbGVFbGVtZW50O1xuICB9XG59XG4iXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6Ijs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7O0FBNkJPLElBQU0s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
@@ -6,14 +6,7 @@ import { defaultDateAdapter } from "../core/datetime.js";
6
6
  import { findReferencedElement, findInput } from "../core/dom.js";
7
7
  import { EventEmitter } from "../core/eventing.js";
8
8
  import { i18nDatePickerPlaceholder, i18nDateChangedTo } from "../core/i18n.js";
9
- const style = css`/** This mixin can be used to avoid spacing problems by inserting an invisible space as pseudo element. */
10
- /*
11
- * SBB table mixin
12
- * Notes:
13
- * We cannot use \`border-collapse\` because it is not compatible with the \`border-radius\` property.
14
- * Therefore, we have to build the grid avoiding double borders.
15
- */
16
- :host {
9
+ const style = css`:host {
17
10
  border: 0;
18
11
  clip: rect(0 0 0 0);
19
12
  height: 1px;
@@ -345,4 +338,4 @@ export {
345
338
  getDatePicker,
346
339
  isDateAvailable
347
340
  };
348
- //# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZGF0ZXBpY2tlci5qcyIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vc3JjL2VsZW1lbnRzL2RhdGVwaWNrZXIvZGF0ZXBpY2tlci9kYXRlcGlja2VyLnRzIl0sInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7XG4gIHR5cGUgQ1NTUmVzdWx0R3JvdXAsXG4gIGh0bWwsXG4gIGlzU2VydmVyLFxuICBMaXRFbGVtZW50LFxuICB0eXBlIFByb3BlcnR5VmFsdWVzLFxuICB0eXBlIFRlbXBsYXRlUmVzdWx0LFxufSBmcm9tICdsaXQnO1xuaW1wb3J0IHsgY3VzdG9tRWxlbWVudCwgcHJvcGVydHksIHN0YXRlIH0gZnJvbSAnbGl0L2RlY29yYXRvcnMuanMnO1xuXG5pbXBvcnQgeyByZWFkQ29uZmlnIH0gZnJvbSAnLi4vLi4vY29yZS9jb25maWcuanMnO1xuaW1wb3J0IHsgU2JiQ29ubmVjdGVkQWJvcnRDb250cm9sbGVyLCBTYmJMYW5ndWFnZUNvbnRyb2xsZXIgfSBmcm9tICcuLi8uLi9jb3JlL2NvbnRyb2xsZXJzLmpzJztcbmltcG9ydCB7IHR5cGUgRGF0ZUFkYXB0ZXIsIGRlZmF1bHREYXRlQWRhcHRlciB9IGZyb20gJy4uLy4uL2NvcmUvZGF0ZXRpbWUuanMnO1xuaW1wb3J0IHsgZmluZElucHV0LCBmaW5kUmVmZXJlbmNlZEVsZW1lbnQgfSBmcm9tICcuLi8uLi9jb3JlL2RvbS5qcyc7XG5pbXBvcnQgeyBFdmVudEVtaXR0ZXIgfSBmcm9tICcuLi8uLi9jb3JlL2V2ZW50aW5nLmpzJztcbmltcG9ydCB7IGkxOG5EYXRlQ2hhbmdlZFRvLCBpMThuRGF0ZVBpY2tlclBsYWNlaG9sZGVyIH0gZnJvbSAnLi4vLi4vY29yZS9pMThuLmpzJztcbmltcG9ydCB0eXBlIHsgU2JiRGF0ZUxpa2UsIFNiYlZhbGlkYXRpb25DaGFuZ2VFdmVudCB9IGZyb20gJy4uLy4uL2NvcmUvaW50ZXJmYWNlcy5qcyc7XG5pbXBvcnQgdHlwZSB7IFNiYkRhdGVwaWNrZXJCdXR0b24gfSBmcm9tICcuLi9jb21tb24uanMnO1xuaW1wb3J0IHR5cGUgeyBTYmJEYXRlcGlja2VyVG9nZ2xlRWxlbWVudCB9IGZyb20gJy4uL2RhdGVwaWNrZXItdG9nZ2xlLmpzJztcblxuaW1wb3J0IHN0eWxlIGZyb20gJy4vZGF0ZXBpY2tlci5zY3NzP2xpdCZpbmxpbmUnO1xuXG5leHBvcnQgaW50ZXJmYWNlIFNiYklucHV0VXBkYXRlRXZlbnQge1xuICBkaXNhYmxlZD86IGJvb2xlYW47XG4gIHJlYWRvbmx5PzogYm9vbGVhbjtcbiAgbWluPzogc3RyaW5nIHwgbnVtYmVyO1xuICBtYXg/OiBzdHJpbmcgfCBudW1iZXI7XG59XG5cbi8vIFRPRE8oYnJlYWtpbmctY2hhbmdlKTogSW5saW5lIGRlcHJlY2F0ZWQgZnVuY3Rpb25zIGluIFNiYkRhdGVwaWNrZXJFbGVtZW50IGFzIHB1YmxpYyBtZXRob2RzXG4vLyB3aGVyZSBwb3NzaWJsZSBhbmQgdXNlIHRoZXNlIG1ldGhvZHMgd2hlcmUgdGhlIGZ1bmN0aW9ucyBhcmUgY3VycmVudGx5IHVzZWQuXG5cbi8qKlxuICogR2l2ZW4gYSBTYmJEYXRlcGlja2VyUHJldmlvdXNEYXlFbGVtZW50LCBhIFNiYkRhdGVwaWNrZXJOZXh0RGF5RWxlbWVudCBvciBhIFNiYkRhdGVwaWNrZXJUb2dnbGVFbGVtZW50IGNvbXBvbmVudCxcbiAqIGl0IHJldHVybnMgdGhlIHJlbGF0ZWQgU2JiRGF0ZXBpY2tlckVsZW1lbnQgcmVmZXJlbmNlLCBpZiBleGlzdHMuXG4gKiBAcGFyYW0gZWxlbWVudCBUaGUgZWxlbWVudCBwb3RlbnRpYWxseSBjb25uZWN0ZWQgdG8gdGhlIFNiYkRhdGVwaWNrZXJFbGVtZW50LlxuICogQHBhcmFtIHRyaWdnZXIgVGhlIGlkIG9yIHRoZSByZWZlcmVuY2Ugb2YgdGhlIFNiYkRhdGVQaWNrZXIuXG4gKi9cbmV4cG9ydCBmdW5jdGlvbiBnZXREYXRlUGlja2VyPFQgPSBEYXRlPihcbiAgZWxlbWVudDogU2JiRGF0ZXBpY2tlckJ1dHRvbjxUPiB8IFNiYkRhdGVwaWNrZXJUb2dnbGVFbGVtZW50PFQ+LFxuICB0cmlnZ2VyPzogc3RyaW5nIHwgSFRNTEVsZW1lbnQsXG4pOiBTYmJEYXRlcGlja2VyRWxlbWVudDxUPiB8IG51bGwgfCB1bmRlZmluZWQge1xuICBpZiAoIXRyaWdnZXIpIHtcbiAgICByZXR1cm4gZWxlbWVudFxuICAgICAgLmNsb3Nlc3Q/Lignc2JiLWZvcm0tZmllbGQnKVxuICAgICAgPy5xdWVyeVNlbGVjdG9yPFNiYkRhdGVwaWNrZXJFbGVtZW50PFQ+Pignc2JiLWRhdGVwaWNrZXInKTtcbiAgfVxuXG4gIHJldHVybiBmaW5kUmVmZXJlbmNlZEVsZW1lbnQ8U2JiRGF0ZXBpY2tlckVsZW1lbnQ8VD4+KHRyaWdnZXIpO1xufVxuXG4vKipcbiAqIFJldHVybnMgdGhlIGZpcnN0IGF2YWlsYWJsZSBkYXRlIGJlZm9yZSBvciBhZnRlciBhIGdpdmVuIG9uZSwgY29uc2lkZXJpbmcgdGhlIFNiYkRhdGVwaWNrZXJFbGVtZW50IGBkYXRlRmlsdGVyYCBwcm9wZXJ0eS5cbiAqIEBwYXJhbSBkYXRlIFRoZSBzdGFydGluZyBkYXRlIGZvciBjYWxjdWxhdGlvbnMuXG4gKiBAcGFyYW0gZGVsdGEgVGhlIG51bWJlciBvZiBkYXlzIHRvIGFkZC9zdWJ0cmFjdCBmcm9tIHRoZSBzdGFydGluZyBvbmUuXG4gKiBAcGFyYW0gZGF0ZUZpbHRlciBUaGUgZGF0ZUZpbHRlciBmdW5jdGlvbiBmcm9tIHRoZSBTYmJEYXRlcGlja2VyRWxlbWVudC5cbiAqIEBwYXJhbSBkYXRlQWRhcHRlciBUaGUgYWRhcHRlciBjbGFzcy5cbiAqXG4gKiBAZGVwcmVjYXRlZCBOb3QgaW50ZW5kZWQgYXMgcHVibGljIEFQSS5cbiAqL1xuZXhwb3J0IGZ1bmN0aW9uIGdldEF2YWlsYWJsZURhdGU8VCA9IERhdGU+KFxuICBkYXRlOiBULFxuICBkZWx0YTogbnVtYmVyLFxuICBkYXRlRmlsdGVyOiAoKGRhdGU6IFQpID0+IGJvb2xlYW4pIHwgbnVsbCxcbiAgZGF0ZUFkYXB0ZXI6IERhdGVBZGFwdGVyPFQ+LFxuKTogVCB7XG4gIGxldCBhdmFpbGFibGVEYXRlID0gZGF0ZUFkYXB0ZXIuYWRkQ2FsZW5kYXJEYXlzKGRhdGUsIGRlbHRhKTtcblxuICBpZiAoZGF0ZUZpbHRlcikge1xuICAgIHdoaWxlICghZGF0ZUZpbHRlcihhdmFpbGFibGVEYXRlKSkge1xuICAgICAgYXZhaWxhYmxlRGF0ZSA9IGRhdGVBZGFwdGVyLmFkZENhbGVuZGFyRGF5cyhhdmFpbGFibGVEYXRlLCBkZWx0YSk7XG4gICAgfVxuICB9XG5cbiAgcmV0dXJuIGF2YWlsYWJsZURhdGU7XG59XG5cbi8qKlxuICogQ2FsY3VsYXRlcyB0aGUgZmlyc3QgYXZhaWxhYmxlIGRhdGUgYmVmb3JlIHRoZSBnaXZlbiBvbmUsXG4gKiBjb25zaWRlcmluZyB0aGUgU2JiRGF0ZXBpY2tlckVsZW1lbnQgYGRhdGVGaWx0ZXJgIHByb3BlcnR5IGFuZCBgbWluYCBwYXJhbWV0ZXIgKGUuZy4gZnJvbSB0aGUgc2VsZi1uYW1lZCBpbnB1dCdzIGF0dHJpYnV0ZSkuXG4gKiBAcGFyYW0gZGF0ZSBUaGUgc3RhcnRpbmcgZGF0ZSBmb3IgY2FsY3VsYXRpb25zLlxuICogQHBhcmFtIGRhdGVGaWx0ZXIgVGhlIGRhdGVGaWx0ZXIgZnVuY3Rpb24gZnJvbSB0aGUgU2JiRGF0ZXBpY2tlckVsZW1lbnQuXG4gKiBAcGFyYW0gZGF0ZUFkYXB0ZXIgVGhlIGFkYXB0ZXIgY2xhc3MuXG4gKiBAcGFyYW0gbWluIFRoZSBtaW5pbXVtIHZhbHVlIHRvIGNvbnNpZGVyIGluIGNhbGN1bGF0aW9ucy5cbiAqXG4gKiBAZGVwcmVjYXRlZCBOb3QgaW50ZW5kZWQgYXMgcHVibGljIEFQSS5cbiAqL1xuZXhwb3J0IGZ1bmN0aW9uIGZpbmRQcmV2aW91c0F2YWlsYWJsZURhdGU8VCA9IERhdGU+KFxuICBkYXRlOiBULFxuICBkYXRlRmlsdGVyOiAoKGRhdGU6IFQpID0+IGJvb2xlYW4pIHwgbnVsbCxcbiAgZGF0ZUFkYXB0ZXI6IERhdGVBZGFwdGVyPFQ+LFxuICBtaW46IHN0cmluZyB8IG51bWJlciB8IG51bGwsXG4pOiBUIHtcbiAgY29uc3QgcHJldmlvdXNEYXRlID0gZ2V0QXZhaWxhYmxlRGF0ZShkYXRlLCAtMSwgZGF0ZUZpbHRlciwgZGF0ZUFkYXB0ZXIpO1xuICBjb25zdCBkYXRlTWluID0gZGF0ZUFkYXB0ZXIuZGVzZXJpYWxpemUobWluKTtcblxuICBpZiAoXG4gICAgIWRhdGVNaW4gfHxcbiAgICAoZGF0ZUFkYXB0ZXIuaXNWYWxpZChkYXRlTWluKSAmJiBkYXRlQWRhcHRlci5jb21wYXJlRGF0ZShwcmV2aW91c0RhdGUsIGRhdGVNaW4pID49IDApXG4gICkge1xuICAgIHJldHVybiBwcmV2aW91c0RhdGU7XG4gIH1cbiAgcmV0dXJuIGRhdGU7XG59XG5cbi8qKlxuICogQ2FsY3VsYXRlcyB0aGUgZmlyc3QgYXZhaWxhYmxlIGRhdGUgYWZ0ZXIgdGhlIGdpdmVuIG9uZSxcbiAqIGNvbnNpZGVyaW5nIHRoZSBTYmJEYXRlcGlja2VyRWxlbWVudCBgZGF0ZUZpbHRlcmAgcHJvcGVydHkgYW5kIGBtYXhgIHBhcmFtZXRlciAoZS5nLiBmcm9tIHRoZSBzZWxmLW5hbWVkIGlucHV0J3MgYXR0cmlidXRlKS5cbiAqIEBwYXJhbSBkYXRlIFRoZSBzdGFydGluZyBkYXRlIGZvciBjYWxjdWxhdGlvbnMuXG4gKiBAcGFyYW0gZGF0ZUZpbHRlciBUaGUgZGF0ZUZpbHRlciBmdW5jdGlvbiBmcm9tIHRoZSBTYmJEYXRlcGlja2VyRWxlbWVudC5cbiAqIEBwYXJhbSBkYXRlQWRhcHRlciBUaGUgYWRhcHRlciBjbGFzcy5cbiAqIEBwYXJhbSBtYXggVGhlIG1heGltdW0gdmFsdWUgdG8gY29uc2lkZXIgaW4gY2FsY3VsYXRpb25zLlxuICpcbiAqIEBkZXByZWNhdGVkIE5vdCBpbnRlbmRlZCBhcyBwdWJsaWMgQVBJLlxuICovXG5leHBvcnQgZnVuY3Rpb24gZmluZE5leHRBdmFpbGFibGVEYXRlPFQgPSBEYXRlPihcbiAgZGF0ZTogVCxcbiAgZGF0ZUZpbHRlcjogKChkYXRlOiBUKSA9PiBib29sZWFuKSB8IG51bGwsXG4gIGRhdGVBZGFwdGVyOiBEYXRlQWRhcHRlcjxUPixcbiAgbWF4OiBzdHJpbmcgfCBudW1iZXIgfCBudWxsLFxuKTogVCB7XG4gIGNvbnN0IG5leHREYXRlID0gZ2V0QXZhaWxhYmxlRGF0ZShkYXRlLCAxLCBkYXRlRmlsdGVyLCBkYXRlQWRhcHRlcik7XG4gIGNvbnN0IGRhdGVNYXggPSBkYXRlQWRhcHRlci5kZXNlcmlhbGl6ZShtYXgpO1xuXG4gIGlmIChcbiAgICAhZGF0ZU1heCB8fFxuICAgIChkYXRlQWRhcHRlci5pc1ZhbGlkKGRhdGVNYXgpICYmIGRhdGVBZGFwdGVyLmNvbXBhcmVEYXRlKG5leHREYXRlLCBkYXRlTWF4KSA8PSAwKVxuICApIHtcbiAgICByZXR1cm4gbmV4dERhdGU7XG4gIH1cbiAgcmV0dXJuIGRhdGU7XG59XG5cbi8qKlxuICogQ2hlY2tzIGlmIHRoZSBwcm92aWRlZCBkYXRlIGlzIGEgdmFsaWQgb25lLCBjb25zaWRlcmluZyB0aGUgU2JiRGF0ZXBpY2tlckVsZW1lbnQgYGRhdGVGaWx0ZXJgIHByb3BlcnR5XG4gKiBhbmQgYG1pbmAgYW5kIGBtYXhgIHBhcmFtZXRlcnMgKGUuZy4gZnJvbSB0aGUgc2VsZi1uYW1lZCBpbnB1dCdzIGF0dHJpYnV0ZXMpLlxuICogQHBhcmFtIGRhdGUgVGhlIHN0YXJ0aW5nIGRhdGUgZm9yIGNhbGN1bGF0aW9ucy5cbiAqIEBwYXJhbSBkYXRlRmlsdGVyIFRoZSBkYXRlRmlsdGVyIGZ1bmN0aW9uIGZyb20gdGhlIFNiYkRhdGVwaWNrZXJFbGVtZW50LlxuICogQHBhcmFtIG1pbiBUaGUgbWluaW11bSB2YWx1ZSB0byBjb25zaWRlciBpbiBjYWxjdWxhdGlvbnMuXG4gKiBAcGFyYW0gbWF4IFRoZSBtYXhpbXVtIHZhbHVlIHRvIGNvbnNpZGVyIGluIGNhbGN1bGF0aW9ucy5cbiAqXG4gKiBAZGVwcmVjYXRlZCBOb3QgaW50ZW5kZWQgYXMgcHVibGljIEFQSS5cbiAqL1xuZXhwb3J0IGZ1bmN0aW9uIGlzRGF0ZUF2YWlsYWJsZTxUID0gRGF0ZT4oXG4gIGRhdGU6IFQsXG4gIGRhdGVGaWx0ZXI6ICgoZGF0ZTogVCkgPT4gYm9vbGVhbikgfCBudWxsLFxuICBtaW46IHN0cmluZyB8IG51bWJlciB8IG51bGwgfCB1bmRlZmluZWQsXG4gIG1heDogc3RyaW5nIHwgbnVtYmVyIHwgbnVsbCB8IHVuZGVmaW5lZCxcbik6IGJvb2xlYW4ge1xuICAvLyBUT0RPOiBHZXQgZGF0ZSBhZGFwdGVyIGZyb20gY29uZmlnXG4gIGNvbnN0IGRhdGVBZGFwdGVyOiBEYXRlQWRhcHRlcjxUPiA9IHJlYWRDb25maWcoKS5kYXRldGltZT8uZGF0ZUFkYXB0ZXIgPz8gZGVmYXVsdERhdGVBZGFwdGVyO1xuICBjb25zdCBkYXRlTWluID0gZGF0ZUFkYXB0ZXIuZGVzZXJpYWxpemUobWluKTtcbiAgY29uc3QgZGF0ZU1heCA9IGRhdGVBZGFwdGVyLmRlc2VyaWFsaXplKG1heCk7XG5cbiAgaWYgKFxuICAgIChkYXRlQWRhcHRlci5pc1ZhbGlkKGRhdGVNaW4pICYmIGRhdGVBZGFwdGVyLmNvbXBhcmVEYXRlKGRhdGUsIGRhdGVNaW4hKSA8IDApIHx8XG4gICAgKGRhdGVBZGFwdGVyLmlzVmFsaWQoZGF0ZU1heCkgJiYgZGF0ZUFkYXB0ZXIuY29tcGFyZURhdGUoZGF0ZSwgZGF0ZU1heCEpID4gMClcbiAgKSB7XG4gICAgcmV0dXJuIGZhbHNlO1xuICB9XG5cbiAgcmV0dXJuIGRhdGVGaWx0ZXIgPyBkYXRlRmlsdGVyKGRhdGUpIDogdHJ1ZTtcbn1cblxuZXhwb3J0IGNvbnN0IGRhdGVwaWNrZXJDb250cm9sUmVnaXN0ZXJlZEV2ZW50RmFjdG9yeSA9ICgpOiBDdXN0b21FdmVudCA9PlxuICBuZXcgQ3VzdG9tRXZlbnQoJ2RhdGVwaWNrZXJDb250cm9sUmVnaXN0ZXJlZCcsIHtcbiAgICBidWJibGVzOiBmYWxzZSxcbiAgICBjb21wb3NlZDogdHJ1ZSxcbiAgfSk7XG5cbi8qKlxuICogQ29tYmluZWQgd2l0aCBhIG5hdGl2ZSBpbnB1dCwgaXQgZGlzcGxheXMgdGhlIGlucHV0J3MgdmFsdWUgYXMgYSBmb3JtYXR0ZWQgZGF0ZS5cbiAqXG4gKiBAZXZlbnQge0N1c3RvbUV2ZW50PHZvaWQ+fSBkaWRDaGFuZ2UgLSBEZXByZWNhdGVkLiB1c2VkIGZvciBSZWFjdC4gV2lsbCBwcm9iYWJseSBiZSByZW1vdmVkIG9uY2UgUmVhY3QgMTkgaXMgYXZhaWxhYmxlLlxuICogQGV2ZW50IHtDdXN0b21FdmVudDx2b2lkPn0gY2hhbmdlIC0gTm90aWZpZXMgdGhhdCB0aGUgY29ubmVjdGVkIGlucHV0IGhhcyBjaGFuZ2VzLlxuICogQGV2ZW50IHtDdXN0b21FdmVudDxTYmJJbnB1dFVwZGF0ZUV2ZW50Pn0gaW5wdXRVcGRhdGVkIC0gTm90aWZpZXMgdGhhdCB0aGUgYXR0cmlidXRlcyBvZiB0aGUgaW5wdXQgY29ubmVjdGVkIHRvIHRoZSBkYXRlcGlja2VyIGhhdmUgY2hhbmdlcy5cbiAqIEBldmVudCB7Q3VzdG9tRXZlbnQ8dm9pZD59IGRhdGVQaWNrZXJVcGRhdGVkIC0gTm90aWZpZXMgdGhhdCB0aGUgYXR0cmlidXRlcyBvZiB0aGUgZGF0ZXBpY2tlciBoYXZlIGNoYW5nZXMuXG4gKiBAZXZlbnQge0N1c3RvbUV2ZW50PFNiYlZhbGlkYXRpb25DaGFuZ2VFdmVudD59IHZhbGlkYXRpb25DaGFuZ2UgLSBFbWl0cyB3aGVuZXZlciB0aGUgaW50ZXJuYWwgdmFsaWRhdGlvbiBzdGF0ZSBjaGFuZ2VzLlxuICovXG5AY3VzdG9tRWxlbWVudCgnc2JiLWRhdGVwaWNrZXInKVxuZXhwb3J0IGNsYXNzIFNiYkRhdGVwaWNrZXJFbGVtZW50PFQgPSBEYXRlPiBleHRlbmRzIExpdEVsZW1lbnQge1xuICAvKiBlc2xpbnQtZGlzYWJsZSBAdHlwZXNjcmlwdC1lc2xpbnQvbWVtYmVyLW9yZGVyaW5nIC0tXG4gICAqIFdlIGRlYWN0aXZhdGUgbWVtYmVyLW9yZGVyaW5nIGJlY2F1c2Ugb2YgdGhlIEBwcm9wZXJ0eSBkZWNvcmF0ZWQgbWV0aG9kcyBkYXRlRmlsdGVyLCBkYXRlUGFyc2VyIGFuZCBmb3JtYXQuXG4gICAqL1xuXG4gIHB1YmxpYyBzdGF0aWMgb3ZlcnJpZGUgc3R5bGVzOiBDU1NSZXN1bHRHcm91cCA9IHN0eWxlO1xuICBwdWJsaWMgc3RhdGljIHJlYWRvbmx5IGV2ZW50cyA9IHtcbiAgICBkaWRDaGFuZ2U6ICdkaWRDaGFuZ2UnLFxuICAgIGNoYW5nZTogJ2NoYW5nZScsXG4gICAgaW5wdXRVcGRhdGVkOiAnaW5wdXRVcGRhdGVkJyxcbiAgICBkYXRlUGlja2VyVXBkYXRlZDogJ2RhdGVQaWNrZXJVcGRhdGVkJyxcbiAgICB2YWxpZGF0aW9uQ2hhbmdlOiAndmFsaWRhdGlvbkNoYW5nZScsXG4gIH0gYXMgY29uc3Q7XG5cbiAgLyoqIElmIHNldCB0byB0cnVlLCB0d28gbW9udGhzIGFyZSBkaXNwbGF5ZWQuICovXG4gIEBwcm9wZXJ0eSh7IHR5cGU6IEJvb2xlYW4gfSkgcHVibGljIHdpZGUgPSBmYWxzZTtcblxuICAvKiogQSBmdW5jdGlvbiB1c2VkIHRvIGZpbHRlciBvdXQgZGF0ZXMuICovXG4gIEBwcm9wZXJ0eSh7IGF0dHJpYnV0ZTogZmFsc2UgfSkgcHVibGljIGRhdGVGaWx0ZXI6IChkYXRlOiBUIHwgbnVsbCkgPT4gYm9vbGVhbiA9ICgpID0+IHRydWU7XG5cbiAgLyoqXG4gICAqIEEgZnVuY3Rpb24gdXNlZCB0byBwYXJzZSBzdHJpbmcgdmFsdWUgaW50byBkYXRlcy5cbiAgICogQGRlcHJlY2F0ZWQgTm8gbG9uZ2VyIHJlcXVpcmVkLlxuICAgKi9cbiAgQHByb3BlcnR5KHsgYXR0cmlidXRlOiBmYWxzZSB9KSBwdWJsaWMgZGF0ZVBhcnNlcj86ICh2YWx1ZTogc3RyaW5nKSA9PiBUIHwgdW5kZWZpbmVkO1xuXG4gIC8qKlxuICAgKiBBIGZ1bmN0aW9uIHVzZWQgdG8gZm9ybWF0IGRhdGVzIGludG8gdGhlIHByZWZlcnJlZCBzdHJpbmcgZm9ybWF0LlxuICAgKiBAZGVwcmVjYXRlZCBObyBsb25nZXIgcmVxdWlyZWQuXG4gICAqL1xuICBAcHJvcGVydHkoeyBhdHRyaWJ1dGU6IGZhbHNlIH0pIHB1YmxpYyBmb3JtYXQ/OiAoZGF0ZTogVCkgPT4gc3RyaW5nO1xuXG4gIC8qKiBSZWZlcmVuY2Ugb2YgdGhlIG5hdGl2ZSBpbnB1dCBjb25uZWN0ZWQgdG8gdGhlIGRhdGVwaWNrZXIuICovXG4gIEBwcm9wZXJ0eSgpIHB1YmxpYyBpbnB1dD86IHN0cmluZyB8IEhUTUxFbGVtZW50O1xuXG4gIC8vIFRPRE86IENoYW5nZSB1bmRlZmluZWQgdG8gbnVsbCBhcyBhIGJyZWFraW5nIGNoYW5nZS5cbiAgLyoqIEEgY29uZmlndXJlZCBkYXRlIHdoaWNoIGFjdHMgYXMgdGhlIGN1cnJlbnQgZGF0ZSBpbnN0ZWFkIG9mIHRoZSByZWFsIGN1cnJlbnQgZGF0ZS4gUmVjb21tZW5kZWQgZm9yIHRlc3RpbmcgcHVycG9zZXMuICovXG4gIEBwcm9wZXJ0eSgpXG4gIHB1YmxpYyBzZXQgbm93KHZhbHVlOiBTYmJEYXRlTGlrZTxUPiB8IHVuZGVmaW5lZCkge1xuICAgIHRoaXMuX25vdyA9IHRoaXMuX2RhdGVBZGFwdGVyLmdldFZhbGlkRGF0ZU9yTnVsbCh0aGlzLl9kYXRlQWRhcHRlci5kZXNlcmlhbGl6ZSh2YWx1ZSkpO1xuICB9XG4gIHB1YmxpYyBnZXQgbm93KCk6IFQge1xuICAgIHJldHVybiB0aGlzLl9ub3cgPz8gdGhpcy5fZGF0ZUFkYXB0ZXIudG9kYXkoKTtcbiAgfVxuICBwcml2YXRlIF9ub3c/OiBUIHwgbnVsbDtcblxuICAvKiogVGhlIGN1cnJlbnRseSBzZWxlY3RlZCBkYXRlIGFzIGEgRGF0ZSBvciBjdXN0b20gZGF0ZSBwcm92aWRlciBpbnN0YW5jZS4gKi9cbiAgQHByb3BlcnR5KHsgYXR0cmlidXRlOiBmYWxzZSB9KVxuICBwdWJsaWMgc2V0IHZhbHVlQXNEYXRlKHZhbHVlOiBTYmJEYXRlTGlrZTxUPiB8IG51bGwpIHtcbiAgICB0aGlzLl92YWx1ZUFzRGF0ZSA9IHRoaXMuX2RhdGVBZGFwdGVyLmdldFZhbGlkRGF0ZU9yTnVsbCh0aGlzLl9kYXRlQWRhcHRlci5kZXNlcmlhbGl6ZSh2YWx1ZSkpO1xuICAgIGlmICh0aGlzLl90cnlBcHBseUZvcm1hdFRvSW5wdXQoKSkge1xuICAgICAgLyogRW1pdCBibHVyIGV2ZW50IHdoZW4gdmFsdWUgaXMgY2hhbmdlZCBwcm9ncmFtbWF0aWNhbGx5IHRvIG5vdGlmeVxuICAgICAgZnJhbWV3b3JrcyB0aGF0IHJlbHkgb24gdGhhdCBldmVudCB0byB1cGRhdGUgZm9ybSBzdGF0dXMuICovXG4gICAgICB0aGlzLl9pbnB1dEVsZW1lbnQhLmRpc3BhdGNoRXZlbnQobmV3IEV2ZW50KCdibHVyJywgeyBjb21wb3NlZDogdHJ1ZSB9KSk7XG4gICAgfVxuICB9XG4gIHB1YmxpYyBnZXQgdmFsdWVBc0RhdGUoKTogVCB8IG51bGwge1xuICAgIHJldHVybiB0aGlzLl92YWx1ZUFzRGF0ZSA/PyBudWxsO1xuICB9XG4gIHByaXZhdGUgX3ZhbHVlQXNEYXRlPzogVCB8IG51bGw7XG5cbiAgLyoqXG4gICAqIEBkZXByZWNhdGVkIG9ubHkgdXNlZCBmb3IgUmVhY3QuIFdpbGwgcHJvYmFibHkgYmUgcmVtb3ZlZCBvbmNlIFJlYWN0IDE5IGlzIGF2YWlsYWJsZS5cbiAgICovXG4gIHByaXZhdGUgX2RpZENoYW5nZTogRXZlbnRFbWl0dGVyID0gbmV3IEV2ZW50RW1pdHRlcih0aGlzLCBTYmJEYXRlcGlja2VyRWxlbWVudC5ldmVudHMuZGlkQ2hhbmdlLCB7XG4gICAgYnViYmxlczogdHJ1ZSxcbiAgICBjYW5jZWxhYmxlOiB0cnVlLFxuICB9KTtcblxuICAvKiogTm90aWZpZXMgdGhhdCB0aGUgY29ubmVjdGVkIGlucHV0IGhhcyBjaGFuZ2VzLiAqL1xuICBwcml2YXRlIF9jaGFuZ2U6IEV2ZW50RW1pdHRlciA9IG5ldyBFdmVudEVtaXR0ZXIodGhpcywgU2JiRGF0ZXBpY2tlckVsZW1lbnQuZXZlbnRzLmNoYW5nZSwge1xuICAgIGJ1YmJsZXM6IHRydWUsXG4gIH0pO1xuXG4gIC8qKiBOb3RpZmllcyB0aGF0IHRoZSBhdHRyaWJ1dGVzIG9mIHRoZSBpbnB1dCBjb25uZWN0ZWQgdG8gdGhlIGRhdGVwaWNrZXIgaGF2ZSBjaGFuZ2VzLiAqL1xuICBwcml2YXRlIF9pbnB1dFVwZGF0ZWQ6IEV2ZW50RW1pdHRlcjxTYmJJbnB1dFVwZGF0ZUV2ZW50PiA9IG5ldyBFdmVudEVtaXR0ZXIoXG4gICAgdGhpcyxcbiAgICBTYmJEYXRlcGlja2VyRWxlbWVudC5ldmVudHMuaW5wdXRVcGRhdGVkLFxuICAgIHsgYnViYmxlczogdHJ1ZSwgY2FuY2VsYWJsZTogdHJ1ZSB9LFxuICApO1xuXG4gIC8qKiBOb3RpZmllcyB0aGF0IHRoZSBhdHRyaWJ1dGVzIG9mIHRoZSBkYXRlcGlja2VyIGhhdmUgY2hhbmdlcy4gKi9cbiAgcHJpdmF0ZSBfZGF0ZVBpY2tlclVwZGF0ZWQ6IEV2ZW50RW1pdHRlciA9IG5ldyBFdmVudEVtaXR0ZXIoXG4gICAgdGhpcyxcbiAgICBTYmJEYXRlcGlja2VyRWxlbWVudC5ldmVudHMuZGF0ZVBpY2tlclVwZGF0ZWQsXG4gICAge1xuICAgICAgYnViYmxlczogdHJ1ZSxcbiAgICAgIGNhbmNlbGFibGU6IHRydWUsXG4gICAgfSxcbiAgKTtcblxuICAvKiogRW1pdHMgd2hlbmV2ZXIgdGhlIGludGVybmFsIHZhbGlkYXRpb24gc3RhdGUgY2hhbmdlcy4gKi9cbiAgcHJpdmF0ZSBfdmFsaWRhdGlvbkNoYW5nZTogRXZlbnRFbWl0dGVyPFNiYlZhbGlkYXRpb25DaGFuZ2VFdmVudD4gPSBuZXcgRXZlbnRFbWl0dGVyKFxuICAgIHRoaXMsXG4gICAgU2JiRGF0ZXBpY2tlckVsZW1lbnQuZXZlbnRzLnZhbGlkYXRpb25DaGFuZ2UsXG4gICk7XG5cbiAgQHN0YXRlKClcbiAgcHJpdmF0ZSBfaW5wdXRFbGVtZW50OiBIVE1MSW5wdXRFbGVtZW50IHwgbnVsbCA9IG51bGw7XG4gIHByaXZhdGUgX2lucHV0RWxlbWVudFBsYWNlaG9sZGVyTXV0YWJsZSA9IGZhbHNlO1xuXG4gIHByaXZhdGUgX2RhdGVQaWNrZXJDb250cm9sbGVyITogQWJvcnRDb250cm9sbGVyO1xuXG4gIHByaXZhdGUgX2lucHV0T2JzZXJ2ZXIgPSAhaXNTZXJ2ZXJcbiAgICA/IG5ldyBNdXRhdGlvbk9ic2VydmVyKChtdXRhdGlvbnNMaXN0KSA9PiB7XG4gICAgICAgIHRoaXMuX2VtaXRJbnB1dFVwZGF0ZWQoKTtcbiAgICAgICAgLy8gVE9ETzogRGVjaWRlIHdoZXRoZXIgdG8gcmVtb3ZlIHRoaXMgbG9naWMgYnkgYWRkaW5nIGEgdmFsdWUgcHJvcGVydHkgdG8gdGhlIGRhdGVwaWNrZXIuXG4gICAgICAgIGlmICh0aGlzLl9pbnB1dEVsZW1lbnQgJiYgbXV0YXRpb25zTGlzdD8uc29tZSgoZSkgPT4gZS5hdHRyaWJ1dGVOYW1lID09PSAndmFsdWUnKSkge1xuICAgICAgICAgIGNvbnN0IHZhbHVlID0gdGhpcy5faW5wdXRFbGVtZW50LmdldEF0dHJpYnV0ZSgndmFsdWUnKTtcbiAgICAgICAgICB0aGlzLnZhbHVlQXNEYXRlID0gdGhpcy5fZGF0ZUFkYXB0ZXIucGFyc2UodmFsdWUsIHRoaXMubm93KSA/PyB2YWx1ZTtcbiAgICAgICAgfVxuICAgICAgfSlcbiAgICA6IG51bGw7XG5cbiAgcHJpdmF0ZSBfZGF0ZUFkYXB0ZXI6IERhdGVBZGFwdGVyPFQ+ID0gcmVhZENvbmZpZygpLmRhdGV0aW1lPy5kYXRlQWRhcHRlciA/PyBkZWZhdWx0RGF0ZUFkYXB0ZXI7XG5cbiAgcHJpdmF0ZSBfYWJvcnQgPSBuZXcgU2JiQ29ubmVjdGVkQWJvcnRDb250cm9sbGVyKHRoaXMpO1xuICBwcml2YXRlIF9sYW5ndWFnZSA9IG5ldyBTYmJMYW5ndWFnZUNvbnRyb2xsZXIodGhpcykud2l0aEhhbmRsZXIoKCkgPT4ge1xuICAgIGlmICh0aGlzLl9pbnB1dEVsZW1lbnQpIHtcbiAgICAgIGlmICh0aGlzLl9pbnB1dEVsZW1lbnRQbGFjZWhvbGRlck11dGFibGUpIHtcbiAgICAgICAgdGhpcy5faW5wdXRFbGVtZW50LnBsYWNlaG9sZGVyID0gaTE4bkRhdGVQaWNrZXJQbGFjZWhvbGRlclt0aGlzLl9sYW5ndWFnZS5jdXJyZW50XTtcbiAgICAgIH1cbiAgICAgIGlmICh0aGlzLnZhbHVlQXNEYXRlKSB7XG4gICAgICAgIHRoaXMuX2lucHV0RWxlbWVudC52YWx1ZSA9IHRoaXMuX2Zvcm1hdCh0aGlzLnZhbHVlQXNEYXRlKTtcbiAgICAgIH1cbiAgICB9XG4gIH0pO1xuXG4gIHB1YmxpYyBvdmVycmlkZSBjb25uZWN0ZWRDYWxsYmFjaygpOiB2b2lkIHtcbiAgICBzdXBlci5jb25uZWN0ZWRDYWxsYmFjaygpO1xuICAgIHRoaXMuYWRkRXZlbnRMaXN0ZW5lcignZGF0ZXBpY2tlckNvbnRyb2xSZWdpc3RlcmVkJywgKCkgPT4gdGhpcy5fZW1pdElucHV0VXBkYXRlZCgpLCB7XG4gICAgICBzaWduYWw6IHRoaXMuX2Fib3J0LnNpZ25hbCxcbiAgICB9KTtcbiAgICB0aGlzLl9hdHRhY2hJbnB1dCgpO1xuICAgIGlmICh0aGlzLl9pbnB1dEVsZW1lbnQpIHtcbiAgICAgIHRoaXMuX2VtaXRJbnB1dFVwZGF0ZWQoKTtcbiAgICB9XG4gIH1cblxuICBwdWJsaWMgb3ZlcnJpZGUgd2lsbFVwZGF0ZShjaGFuZ2VkUHJvcGVydGllczogUHJvcGVydHlWYWx1ZXM8dGhpcz4pOiB2b2lkIHtcbiAgICBzdXBlci53aWxsVXBkYXRlKGNoYW5nZWRQcm9wZXJ0aWVzKTtcblxuICAgIGlmIChjaGFuZ2VkUHJvcGVydGllcy5oYXMoJ2lucHV0JykpIHtcbiAgICAgIHRoaXMuX2F0dGFjaElucHV0KCk7XG4gICAgfVxuICAgIGlmIChcbiAgICAgIGNoYW5nZWRQcm9wZXJ0aWVzLmhhcygnd2lkZScpIHx8XG4gICAgICBjaGFuZ2VkUHJvcGVydGllcy5oYXMoJ2RhdGVGaWx0ZXInKSB8fFxuICAgICAgY2hhbmdlZFByb3BlcnRpZXMuaGFzKCdub3cnKVxuICAgICkge1xuICAgICAgdGhpcy5fZGF0ZVBpY2tlclVwZGF0ZWQuZW1pdCgpO1xuICAgIH1cbiAgICBpZiAoY2hhbmdlZFByb3BlcnRpZXMuaGFzKCd2YWx1ZUFzRGF0ZScpKSB7XG4gICAgICB0aGlzLl9zZXRBcmlhTGl2ZU1lc3NhZ2UoKTtcbiAgICB9XG4gIH1cblxuICBwdWJsaWMgb3ZlcnJpZGUgZGlzY29ubmVjdGVkQ2FsbGJhY2soKTogdm9pZCB7XG4gICAgc3VwZXIuZGlzY29ubmVjdGVkQ2FsbGJhY2soKTtcbiAgICB0aGlzLl9pbnB1dE9ic2VydmVyPy5kaXNjb25uZWN0KCk7XG4gICAgdGhpcy5fZGF0ZVBpY2tlckNvbnRyb2xsZXI/LmFib3J0KCk7XG4gIH1cblxuICBwcm90ZWN0ZWQgb3ZlcnJpZGUgZmlyc3RVcGRhdGVkKGNoYW5nZWRQcm9wZXJ0aWVzOiBQcm9wZXJ0eVZhbHVlczx0aGlzPik6IHZvaWQge1xuICAgIHN1cGVyLmZpcnN0VXBkYXRlZChjaGFuZ2VkUHJvcGVydGllcyk7XG4gICAgdGhpcy5fc2V0QXJpYUxpdmVNZXNzYWdlKCk7XG4gIH1cblxuICAvKipcbiAgICogR2V0cyB0aGUgaW5wdXQgdmFsdWUgd2l0aCB0aGUgY29ycmVjdCBkYXRlIGZvcm1hdC5cbiAgICogQGRlcHJlY2F0ZWQgVXNlIHByb3BlcnR5IHZhbHVlQXNEYXRlIGluc3RlYWQuXG4gICAqL1xuICBwdWJsaWMgZ2V0VmFsdWVBc0RhdGUoKTogVCB8IHVuZGVmaW5lZCB7XG4gICAgcmV0dXJuIHRoaXMudmFsdWVBc0RhdGUgPz8gdW5kZWZpbmVkO1xuICB9XG5cbiAgLyoqXG4gICAqIFNldCB0aGUgaW5wdXQgdmFsdWUgdG8gdGhlIGNvcnJlY3RseSBmb3JtYXR0ZWQgdmFsdWUuXG4gICAqIEBkZXByZWNhdGVkIFVzZSBwcm9wZXJ0eSB2YWx1ZUFzRGF0ZSBpbnN0ZWFkLlxuICAgKi9cbiAgcHVibGljIHNldFZhbHVlQXNEYXRlKGRhdGU6IFNiYkRhdGVMaWtlPFQ+KTogdm9pZCB7XG4gICAgdGhpcy52YWx1ZUFzRGF0ZSA9IGRhdGU7XG4gIH1cblxuICAvKipcbiAgICogQGludGVybmFsXG4gICAqIFdoZXRoZXIgYSBjdXN0b20gbm93IGlzIGNvbmZpZ3VyZWQuXG4gICAqL1xuICBwdWJsaWMgaGFzQ3VzdG9tTm93KCk6IGJvb2xlYW4ge1xuICAgIHJldHVybiAhIXRoaXMuX25vdztcbiAgfVxuXG4gIHByaXZhdGUgX2F0dGFjaElucHV0KCk6IHZvaWQge1xuICAgIGNvbnN0IGlucHV0ID0gZmluZElucHV0KHRoaXMsIHRoaXMuaW5wdXQpO1xuICAgIGlmICh0aGlzLl9pbnB1dEVsZW1lbnQgPT09IGlucHV0KSB7XG4gICAgICByZXR1cm47XG4gICAgfSBlbHNlIGlmICh0aGlzLl9pbnB1dEVsZW1lbnQpIHtcbiAgICAgIHRoaXMuX2RhdGVQaWNrZXJDb250cm9sbGVyPy5hYm9ydCgpO1xuICAgICAgdGhpcy5faW5wdXRPYnNlcnZlcj8uZGlzY29ubmVjdCgpO1xuICAgIH1cblxuICAgIHRoaXMuX2lucHV0RWxlbWVudCA9IGlucHV0O1xuICAgIGlmIChpbnB1dCkge1xuICAgICAgdGhpcy5fZGF0ZVBpY2tlckNvbnRyb2xsZXIgPSBuZXcgQWJvcnRDb250cm9sbGVyKCk7XG4gICAgICB0aGlzLl9pbnB1dE9ic2VydmVyPy5vYnNlcnZlKGlucHV0LCB7XG4gICAgICAgIGF0dHJpYnV0ZUZpbHRlcjogWydkaXNhYmxlZCcsICdyZWFkb25seScsICdtaW4nLCAnbWF4JywgJ3ZhbHVlJ10sXG4gICAgICB9KTtcblxuICAgICAgdGhpcy5faW5wdXRFbGVtZW50UGxhY2Vob2xkZXJNdXRhYmxlID0gIWlucHV0LnBsYWNlaG9sZGVyO1xuICAgICAgaW5wdXQudHlwZSA9ICd0ZXh0JztcbiAgICAgIGlmICh0aGlzLl9pbnB1dEVsZW1lbnRQbGFjZWhvbGRlck11dGFibGUpIHtcbiAgICAgICAgaW5wdXQucGxhY2Vob2xkZXIgPSBpMThuRGF0ZVBpY2tlclBsYWNlaG9sZGVyW3RoaXMuX2xhbmd1YWdlLmN1cnJlbnRdO1xuICAgICAgfVxuXG4gICAgICBjb25zdCBvcHRpb25zOiBBZGRFdmVudExpc3RlbmVyT3B0aW9ucyA9IHsgc2lnbmFsOiB0aGlzLl9kYXRlUGlja2VyQ29udHJvbGxlci5zaWduYWwgfTtcbiAgICAgIGlucHV0LmFkZEV2ZW50TGlzdGVuZXIoJ2lucHV0JywgKCkgPT4gdGhpcy5fcGFyc2VJbnB1dCgpLCBvcHRpb25zKTtcbiAgICAgIGlucHV0LmFkZEV2ZW50TGlzdGVuZXIoJ2NoYW5nZScsICgpID0+IHRoaXMuX2hhbmRsZUlucHV0Q2hhbmdlKCksIG9wdGlvbnMpO1xuICAgICAgdGhpcy5fcGFyc2VJbnB1dCh0cnVlKTtcbiAgICAgIHRoaXMuX3RyeUFwcGx5Rm9ybWF0VG9JbnB1dCgpO1xuICAgICAgdGhpcy5fdmFsaWRhdGVEYXRlKCk7XG4gICAgfVxuICB9XG5cbiAgcHJpdmF0ZSBfZW1pdElucHV0VXBkYXRlZCgpOiB2b2lkIHtcbiAgICBjb25zdCB7IGRpc2FibGVkLCByZWFkT25seTogcmVhZG9ubHksIG1pbiwgbWF4IH0gPSB0aGlzLl9pbnB1dEVsZW1lbnQgPz8ge307XG4gICAgdGhpcy5faW5wdXRVcGRhdGVkLmVtaXQoeyBkaXNhYmxlZCwgcmVhZG9ubHksIG1pbiwgbWF4IH0pO1xuICB9XG5cbiAgcHJpdmF0ZSBfaGFuZGxlSW5wdXRDaGFuZ2UoKTogdm9pZCB7XG4gICAgaWYgKHRoaXMuX3RyeUFwcGx5Rm9ybWF0VG9JbnB1dCgpKSB7XG4gICAgICByZXR1cm47XG4gICAgfVxuICAgIHRoaXMuX3ZhbGlkYXRlRGF0ZSgpO1xuICAgIHRoaXMuX3NldEFyaWFMaXZlTWVzc2FnZSgpO1xuICAgIHRoaXMuX2NoYW5nZS5lbWl0KCk7XG4gICAgdGhpcy5fZGlkQ2hhbmdlLmVtaXQoKTtcbiAgfVxuXG4gIHByaXZhdGUgX3RyeUFwcGx5Rm9ybWF0VG9JbnB1dCgpOiBib29sZWFuIHtcbiAgICBpZiAoIXRoaXMuX2lucHV0RWxlbWVudCkge1xuICAgICAgcmV0dXJuIGZhbHNlO1xuICAgIH1cblxuICAgIGNvbnN0IGZvcm1hdHRlZERhdGUgPSB0aGlzLnZhbHVlQXNEYXRlID8gdGhpcy5fZm9ybWF0KHRoaXMudmFsdWVBc0RhdGUhKSA6ICcnO1xuICAgIGlmIChmb3JtYXR0ZWREYXRlICYmIHRoaXMuX2lucHV0RWxlbWVudC52YWx1ZSAhPT0gZm9ybWF0dGVkRGF0ZSkge1xuICAgICAgdGhpcy5faW5wdXRFbGVtZW50LnZhbHVlID0gZm9ybWF0dGVkRGF0ZTtcbiAgICAgIHRoaXMuX2lucHV0RWxlbWVudC5kaXNwYXRjaEV2ZW50KG5ldyBJbnB1dEV2ZW50KCdpbnB1dCcsIHsgYnViYmxlczogdHJ1ZSwgY29tcG9zZWQ6IHRydWUgfSkpO1xuICAgICAgdGhpcy5faW5wdXRFbGVtZW50LmRpc3BhdGNoRXZlbnQobmV3IEV2ZW50KCdjaGFuZ2UnLCB7IGJ1YmJsZXM6IHRydWUsIGNvbXBvc2VkOiB0cnVlIH0pKTtcbiAgICAgIHJldHVybiB0cnVlO1xuICAgIH1cblxuICAgIHJldHVybiBmYWxzZTtcbiAgfVxuXG4gIHByaXZhdGUgX3ZhbGlkYXRlRGF0ZSgpOiB2b2lkIHtcbiAgICBpZiAoIXRoaXMuX2lucHV0RWxlbWVudCkge1xuICAgICAgcmV0dXJuO1xuICAgIH1cblxuICAgIGNvbnN0IGlzRW1wdHlPclZhbGlkID1cbiAgICAgICF0aGlzLl9pbnB1dEVsZW1lbnQudmFsdWUgfHxcbiAgICAgICghIXRoaXMudmFsdWVBc0RhdGUgJiZcbiAgICAgICAgaXNEYXRlQXZhaWxhYmxlKFxuICAgICAgICAgIHRoaXMudmFsdWVBc0RhdGUsXG4gICAgICAgICAgdGhpcy5kYXRlRmlsdGVyLFxuICAgICAgICAgIHRoaXMuX2lucHV0RWxlbWVudD8ubWluLFxuICAgICAgICAgIHRoaXMuX2lucHV0RWxlbWVudD8ubWF4LFxuICAgICAgICApKTtcbiAgICBjb25zdCB3YXNWYWxpZCA9ICF0aGlzLl9pbnB1dEVsZW1lbnQuaGFzQXR0cmlidXRlKCdkYXRhLXNiYi1pbnZhbGlkJyk7XG4gICAgdGhpcy5faW5wdXRFbGVtZW50LnRvZ2dsZUF0dHJpYnV0ZSgnZGF0YS1zYmItaW52YWxpZCcsICFpc0VtcHR5T3JWYWxpZCk7XG4gICAgaWYgKHdhc1ZhbGlkICE9PSBpc0VtcHR5T3JWYWxpZCkge1xuICAgICAgdGhpcy5fdmFsaWRhdGlvbkNoYW5nZS5lbWl0KHsgdmFsaWQ6IGlzRW1wdHlPclZhbGlkIH0pO1xuICAgIH1cbiAgfVxuXG4gIHByaXZhdGUgX3BhcnNlSW5wdXQoZGVzZXJpYWxpemVBc0ZhbGxiYWNrID0gZmFsc2UpOiB2b2lkIHtcbiAgICBjb25zdCB2YWx1ZSA9IHRoaXMuX2lucHV0RWxlbWVudCEudmFsdWU7XG4gICAgY29uc3QgcGFyc2UgPSB0aGlzLmRhdGVQYXJzZXIgPz8gKCh2OiBzdHJpbmcpID0+IHRoaXMuX2RhdGVBZGFwdGVyLnBhcnNlKHYsIHRoaXMubm93KSk7XG4gICAgLy8gV2UgYXJlIGFzc2lnbmluZyBkaXJlY3RseSB0byB0aGUgcHJpdmF0ZSBiYWNraW5nIHByb3BlcnR5IG9mIHZhbHVlQXNEYXRlXG4gICAgLy8gYXMgd2UgZG9uJ3Qgd2FudCB0byB0cmlnZ2VyIGEgYmx1ciBldmVudCBkdXJpbmcgdGhpcyB0aW1lLlxuICAgIHRoaXMuX3ZhbHVlQXNEYXRlID0gdGhpcy5fZGF0ZUFkYXB0ZXIuZ2V0VmFsaWREYXRlT3JOdWxsKHBhcnNlKHZhbHVlKSk7XG4gICAgaWYgKGRlc2VyaWFsaXplQXNGYWxsYmFjayAmJiAhdGhpcy5fdmFsdWVBc0RhdGUpIHtcbiAgICAgIHRoaXMuX3ZhbHVlQXNEYXRlID0gdGhpcy5fZGF0ZUFkYXB0ZXIuZ2V0VmFsaWREYXRlT3JOdWxsKFxuICAgICAgICB0aGlzLl9kYXRlQWRhcHRlci5kZXNlcmlhbGl6ZSh2YWx1ZSksXG4gICAgICApO1xuICAgIH1cbiAgfVxuXG4gIHByaXZhdGUgX2Zvcm1hdChkYXRlOiBUKTogc3RyaW5nIHtcbiAgICByZXR1cm4gdGhpcy5mb3JtYXQgPyB0aGlzLmZvcm1hdChkYXRlKSA6IHRoaXMuX2RhdGVBZGFwdGVyLmZvcm1hdChkYXRlKTtcbiAgfVxuXG4gIHByaXZhdGUgX3NldEFyaWFMaXZlTWVzc2FnZSgpOiB2b2lkIHtcbiAgICBjb25zdCBjb250YWluZXJFbGVtZW50OiBIVE1MUGFyYWdyYXBoRWxlbWVudCB8IG51bGwgfCB1bmRlZmluZWQgPVxuICAgICAgdGhpcy5zaGFkb3dSb290Py5xdWVyeVNlbGVjdG9yPy48SFRNTFBhcmFncmFwaEVsZW1lbnQ+KCcjc3RhdHVzLWNvbnRhaW5lcicpO1xuXG4gICAgaWYgKCFjb250YWluZXJFbGVtZW50KSB7XG4gICAgICByZXR1cm47XG4gICAgfSBlbHNlIGlmICghdGhpcy52YWx1ZUFzRGF0ZSkge1xuICAgICAgY29udGFpbmVyRWxlbWVudC5pbm5lclRleHQgPSAnJztcbiAgICB9IGVsc2Uge1xuICAgICAgY29uc3QgZGF0ZSA9IHRoaXMuX2RhdGVBZGFwdGVyLmZvcm1hdCh0aGlzLnZhbHVlQXNEYXRlLCB7IHdlZWtkYXlTdHlsZTogJ2xvbmcnIH0pO1xuICAgICAgY29udGFpbmVyRWxlbWVudC5pbm5lclRleHQgPSBgJHtpMThuRGF0ZUNoYW5nZWRUb1t0aGlzLl9sYW5ndWFnZS5jdXJyZW50XX0gJHtkYXRlfWA7XG4gICAgfVxuICB9XG5cbiAgcHJvdGVjdGVkIG92ZXJyaWRlIHJlbmRlcigpOiBUZW1wbGF0ZVJlc3VsdCB7XG4gICAgcmV0dXJuIGh0bWxgPHAgaWQ9XCJzdGF0dXMtY29udGFpbmVyXCIgcm9sZT1cInN0YXR1c1wiPjwvcD5gO1xuICB9XG4gIC8qIGVzbGludC1lbmFibGUgQHR5cGVzY3JpcHQtZXNsaW50L21lbWJlci1vcmRlcmluZyAqL1xufVxuXG5kZWNsYXJlIGdsb2JhbCB7XG4gIGludGVyZmFjZSBIVE1MRWxlbWVudFRhZ05hbWVNYXAge1xuICAgIC8vIGVzbGludC1kaXNhYmxlLW5leHQtbGluZSBAdHlwZXNjcmlwdC1lc2xpbnQvbmFtaW5nLWNvbnZlbnRpb25cbiAgICAnc2JiLWRhdGVwaWNrZXInOiBTYmJEYXRlcGlja2VyRWxlbWVudDtcbiAgfVxuXG4gIGludGVyZmFjZSBHbG9iYWxFdmVudEhhbmRsZXJzRXZlbnRNYXAge1xuICAgIGlucHV0VXBkYXRlZDogQ3VzdG9tRXZlbnQ8U2JiSW5wdXRVcGRhdGVFdmVudD47XG4gIH1cbn1cbiJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiOzs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7QUFzQ2dCLFNBQUEsY0FDZCxTQUNBLFNBQzRDOztBQUM1QyxNQUFJLENBQUMsU0FBUztBQUNaLFlBQU8sbUJBQ0osWUFESSxpQ0FDTSxzQkFETixtQkFFSCxjQUF1QztBQUFBLEVBQzdDO0FBRUEsU0FBTyxzQkFBK0MsT0FBTztBQUMvRDtBQVdPLFNBQVMsaUJBQ2QsTUFDQSxPQUNBLFlBQ0EsYUFDRztBQUNILE1BQUksZ0JBQWdCLFlBQVksZ0JBQWdCLE1BQU0sS0FBSztBQUUzRCxNQUFJLFlBQVk7QUFDUCxXQUFBLENBQUMsV0FBVyxhQUFhLEdBQUc7QUFDakIsc0JBQUEsWUFBWSxnQkFBZ0IsZUFBZSxLQUFLO0FBQUEsSUFDbEU7QUFBQSxFQUNGO0FBRU8sU0FBQTtBQUNUO0FBWU8sU0FBUywwQkFDZCxNQUNBLFlBQ0EsYUFDQSxLQUNHO0FBQ0gsUUFBTSxlQUFlLGlCQUFpQixNQUFNLElBQUksWUFBWSxXQUFXO0FBQ2pFLFFBQUEsVUFBVSxZQUFZLFlBQVksR0FBRztBQUd6QyxNQUFBLENBQUMsV0FDQSxZQUFZLFFBQVEsT0FBTyxLQUFLLFlBQVksWUFBWSxjQUFjLE9BQU8sS0FBSyxHQUNuRjtBQUNPLFdBQUE7QUFBQSxFQUNUO0FBQ08sU0FBQTtBQUNUO0FBWU8sU0FBUyxzQkFDZCxNQUNBLFlBQ0EsYUFDQSxLQUNHO0FBQ0gsUUFBTSxXQUFXLGlCQUFpQixNQUFNLEdBQUcsWUFBWSxXQUFXO0FBQzVELFFBQUEsVUFBVSxZQUFZLFlBQVksR0FBRztBQUd6QyxNQUFBLENBQUMsV0FDQSxZQUFZLFFBQVEsT0FBTyxLQUFLLFlBQVksWUFBWSxVQUFVLE9BQU8sS0FBSyxHQUMvRTtBQUNPLFdBQUE7QUFBQSxFQUNUO0FBQ08sU0FBQTtBQUNUO0FBWU8sU0FBUyxn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
341
+ //# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZGF0ZXBpY2tlci5qcyIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vc3JjL2VsZW1lbnRzL2RhdGVwaWNrZXIvZGF0ZXBpY2tlci9kYXRlcGlja2VyLnRzIl0sInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7XG4gIHR5cGUgQ1NTUmVzdWx0R3JvdXAsXG4gIGh0bWwsXG4gIGlzU2VydmVyLFxuICBMaXRFbGVtZW50LFxuICB0eXBlIFByb3BlcnR5VmFsdWVzLFxuICB0eXBlIFRlbXBsYXRlUmVzdWx0LFxufSBmcm9tICdsaXQnO1xuaW1wb3J0IHsgY3VzdG9tRWxlbWVudCwgcHJvcGVydHksIHN0YXRlIH0gZnJvbSAnbGl0L2RlY29yYXRvcnMuanMnO1xuXG5pbXBvcnQgeyByZWFkQ29uZmlnIH0gZnJvbSAnLi4vLi4vY29yZS9jb25maWcuanMnO1xuaW1wb3J0IHsgU2JiQ29ubmVjdGVkQWJvcnRDb250cm9sbGVyLCBTYmJMYW5ndWFnZUNvbnRyb2xsZXIgfSBmcm9tICcuLi8uLi9jb3JlL2NvbnRyb2xsZXJzLmpzJztcbmltcG9ydCB7IHR5cGUgRGF0ZUFkYXB0ZXIsIGRlZmF1bHREYXRlQWRhcHRlciB9IGZyb20gJy4uLy4uL2NvcmUvZGF0ZXRpbWUuanMnO1xuaW1wb3J0IHsgZmluZElucHV0LCBmaW5kUmVmZXJlbmNlZEVsZW1lbnQgfSBmcm9tICcuLi8uLi9jb3JlL2RvbS5qcyc7XG5pbXBvcnQgeyBFdmVudEVtaXR0ZXIgfSBmcm9tICcuLi8uLi9jb3JlL2V2ZW50aW5nLmpzJztcbmltcG9ydCB7IGkxOG5EYXRlQ2hhbmdlZFRvLCBpMThuRGF0ZVBpY2tlclBsYWNlaG9sZGVyIH0gZnJvbSAnLi4vLi4vY29yZS9pMThuLmpzJztcbmltcG9ydCB0eXBlIHsgU2JiRGF0ZUxpa2UsIFNiYlZhbGlkYXRpb25DaGFuZ2VFdmVudCB9IGZyb20gJy4uLy4uL2NvcmUvaW50ZXJmYWNlcy5qcyc7XG5pbXBvcnQgdHlwZSB7IFNiYkRhdGVwaWNrZXJCdXR0b24gfSBmcm9tICcuLi9jb21tb24uanMnO1xuaW1wb3J0IHR5cGUgeyBTYmJEYXRlcGlja2VyVG9nZ2xlRWxlbWVudCB9IGZyb20gJy4uL2RhdGVwaWNrZXItdG9nZ2xlLmpzJztcblxuaW1wb3J0IHN0eWxlIGZyb20gJy4vZGF0ZXBpY2tlci5zY3NzP2xpdCZpbmxpbmUnO1xuXG5leHBvcnQgaW50ZXJmYWNlIFNiYklucHV0VXBkYXRlRXZlbnQge1xuICBkaXNhYmxlZD86IGJvb2xlYW47XG4gIHJlYWRvbmx5PzogYm9vbGVhbjtcbiAgbWluPzogc3RyaW5nIHwgbnVtYmVyO1xuICBtYXg/OiBzdHJpbmcgfCBudW1iZXI7XG59XG5cbi8vIFRPRE8oYnJlYWtpbmctY2hhbmdlKTogSW5saW5lIGRlcHJlY2F0ZWQgZnVuY3Rpb25zIGluIFNiYkRhdGVwaWNrZXJFbGVtZW50IGFzIHB1YmxpYyBtZXRob2RzXG4vLyB3aGVyZSBwb3NzaWJsZSBhbmQgdXNlIHRoZXNlIG1ldGhvZHMgd2hlcmUgdGhlIGZ1bmN0aW9ucyBhcmUgY3VycmVudGx5IHVzZWQuXG5cbi8qKlxuICogR2l2ZW4gYSBTYmJEYXRlcGlja2VyUHJldmlvdXNEYXlFbGVtZW50LCBhIFNiYkRhdGVwaWNrZXJOZXh0RGF5RWxlbWVudCBvciBhIFNiYkRhdGVwaWNrZXJUb2dnbGVFbGVtZW50IGNvbXBvbmVudCxcbiAqIGl0IHJldHVybnMgdGhlIHJlbGF0ZWQgU2JiRGF0ZXBpY2tlckVsZW1lbnQgcmVmZXJlbmNlLCBpZiBleGlzdHMuXG4gKiBAcGFyYW0gZWxlbWVudCBUaGUgZWxlbWVudCBwb3RlbnRpYWxseSBjb25uZWN0ZWQgdG8gdGhlIFNiYkRhdGVwaWNrZXJFbGVtZW50LlxuICogQHBhcmFtIHRyaWdnZXIgVGhlIGlkIG9yIHRoZSByZWZlcmVuY2Ugb2YgdGhlIFNiYkRhdGVQaWNrZXIuXG4gKi9cbmV4cG9ydCBmdW5jdGlvbiBnZXREYXRlUGlja2VyPFQgPSBEYXRlPihcbiAgZWxlbWVudDogU2JiRGF0ZXBpY2tlckJ1dHRvbjxUPiB8IFNiYkRhdGVwaWNrZXJUb2dnbGVFbGVtZW50PFQ+LFxuICB0cmlnZ2VyPzogc3RyaW5nIHwgSFRNTEVsZW1lbnQsXG4pOiBTYmJEYXRlcGlja2VyRWxlbWVudDxUPiB8IG51bGwgfCB1bmRlZmluZWQge1xuICBpZiAoIXRyaWdnZXIpIHtcbiAgICByZXR1cm4gZWxlbWVudFxuICAgICAgLmNsb3Nlc3Q/Lignc2JiLWZvcm0tZmllbGQnKVxuICAgICAgPy5xdWVyeVNlbGVjdG9yPFNiYkRhdGVwaWNrZXJFbGVtZW50PFQ+Pignc2JiLWRhdGVwaWNrZXInKTtcbiAgfVxuXG4gIHJldHVybiBmaW5kUmVmZXJlbmNlZEVsZW1lbnQ8U2JiRGF0ZXBpY2tlckVsZW1lbnQ8VD4+KHRyaWdnZXIpO1xufVxuXG4vKipcbiAqIFJldHVybnMgdGhlIGZpcnN0IGF2YWlsYWJsZSBkYXRlIGJlZm9yZSBvciBhZnRlciBhIGdpdmVuIG9uZSwgY29uc2lkZXJpbmcgdGhlIFNiYkRhdGVwaWNrZXJFbGVtZW50IGBkYXRlRmlsdGVyYCBwcm9wZXJ0eS5cbiAqIEBwYXJhbSBkYXRlIFRoZSBzdGFydGluZyBkYXRlIGZvciBjYWxjdWxhdGlvbnMuXG4gKiBAcGFyYW0gZGVsdGEgVGhlIG51bWJlciBvZiBkYXlzIHRvIGFkZC9zdWJ0cmFjdCBmcm9tIHRoZSBzdGFydGluZyBvbmUuXG4gKiBAcGFyYW0gZGF0ZUZpbHRlciBUaGUgZGF0ZUZpbHRlciBmdW5jdGlvbiBmcm9tIHRoZSBTYmJEYXRlcGlja2VyRWxlbWVudC5cbiAqIEBwYXJhbSBkYXRlQWRhcHRlciBUaGUgYWRhcHRlciBjbGFzcy5cbiAqXG4gKiBAZGVwcmVjYXRlZCBOb3QgaW50ZW5kZWQgYXMgcHVibGljIEFQSS5cbiAqL1xuZXhwb3J0IGZ1bmN0aW9uIGdldEF2YWlsYWJsZURhdGU8VCA9IERhdGU+KFxuICBkYXRlOiBULFxuICBkZWx0YTogbnVtYmVyLFxuICBkYXRlRmlsdGVyOiAoKGRhdGU6IFQpID0+IGJvb2xlYW4pIHwgbnVsbCxcbiAgZGF0ZUFkYXB0ZXI6IERhdGVBZGFwdGVyPFQ+LFxuKTogVCB7XG4gIGxldCBhdmFpbGFibGVEYXRlID0gZGF0ZUFkYXB0ZXIuYWRkQ2FsZW5kYXJEYXlzKGRhdGUsIGRlbHRhKTtcblxuICBpZiAoZGF0ZUZpbHRlcikge1xuICAgIHdoaWxlICghZGF0ZUZpbHRlcihhdmFpbGFibGVEYXRlKSkge1xuICAgICAgYXZhaWxhYmxlRGF0ZSA9IGRhdGVBZGFwdGVyLmFkZENhbGVuZGFyRGF5cyhhdmFpbGFibGVEYXRlLCBkZWx0YSk7XG4gICAgfVxuICB9XG5cbiAgcmV0dXJuIGF2YWlsYWJsZURhdGU7XG59XG5cbi8qKlxuICogQ2FsY3VsYXRlcyB0aGUgZmlyc3QgYXZhaWxhYmxlIGRhdGUgYmVmb3JlIHRoZSBnaXZlbiBvbmUsXG4gKiBjb25zaWRlcmluZyB0aGUgU2JiRGF0ZXBpY2tlckVsZW1lbnQgYGRhdGVGaWx0ZXJgIHByb3BlcnR5IGFuZCBgbWluYCBwYXJhbWV0ZXIgKGUuZy4gZnJvbSB0aGUgc2VsZi1uYW1lZCBpbnB1dCdzIGF0dHJpYnV0ZSkuXG4gKiBAcGFyYW0gZGF0ZSBUaGUgc3RhcnRpbmcgZGF0ZSBmb3IgY2FsY3VsYXRpb25zLlxuICogQHBhcmFtIGRhdGVGaWx0ZXIgVGhlIGRhdGVGaWx0ZXIgZnVuY3Rpb24gZnJvbSB0aGUgU2JiRGF0ZXBpY2tlckVsZW1lbnQuXG4gKiBAcGFyYW0gZGF0ZUFkYXB0ZXIgVGhlIGFkYXB0ZXIgY2xhc3MuXG4gKiBAcGFyYW0gbWluIFRoZSBtaW5pbXVtIHZhbHVlIHRvIGNvbnNpZGVyIGluIGNhbGN1bGF0aW9ucy5cbiAqXG4gKiBAZGVwcmVjYXRlZCBOb3QgaW50ZW5kZWQgYXMgcHVibGljIEFQSS5cbiAqL1xuZXhwb3J0IGZ1bmN0aW9uIGZpbmRQcmV2aW91c0F2YWlsYWJsZURhdGU8VCA9IERhdGU+KFxuICBkYXRlOiBULFxuICBkYXRlRmlsdGVyOiAoKGRhdGU6IFQpID0+IGJvb2xlYW4pIHwgbnVsbCxcbiAgZGF0ZUFkYXB0ZXI6IERhdGVBZGFwdGVyPFQ+LFxuICBtaW46IHN0cmluZyB8IG51bWJlciB8IG51bGwsXG4pOiBUIHtcbiAgY29uc3QgcHJldmlvdXNEYXRlID0gZ2V0QXZhaWxhYmxlRGF0ZShkYXRlLCAtMSwgZGF0ZUZpbHRlciwgZGF0ZUFkYXB0ZXIpO1xuICBjb25zdCBkYXRlTWluID0gZGF0ZUFkYXB0ZXIuZGVzZXJpYWxpemUobWluKTtcblxuICBpZiAoXG4gICAgIWRhdGVNaW4gfHxcbiAgICAoZGF0ZUFkYXB0ZXIuaXNWYWxpZChkYXRlTWluKSAmJiBkYXRlQWRhcHRlci5jb21wYXJlRGF0ZShwcmV2aW91c0RhdGUsIGRhdGVNaW4pID49IDApXG4gICkge1xuICAgIHJldHVybiBwcmV2aW91c0RhdGU7XG4gIH1cbiAgcmV0dXJuIGRhdGU7XG59XG5cbi8qKlxuICogQ2FsY3VsYXRlcyB0aGUgZmlyc3QgYXZhaWxhYmxlIGRhdGUgYWZ0ZXIgdGhlIGdpdmVuIG9uZSxcbiAqIGNvbnNpZGVyaW5nIHRoZSBTYmJEYXRlcGlja2VyRWxlbWVudCBgZGF0ZUZpbHRlcmAgcHJvcGVydHkgYW5kIGBtYXhgIHBhcmFtZXRlciAoZS5nLiBmcm9tIHRoZSBzZWxmLW5hbWVkIGlucHV0J3MgYXR0cmlidXRlKS5cbiAqIEBwYXJhbSBkYXRlIFRoZSBzdGFydGluZyBkYXRlIGZvciBjYWxjdWxhdGlvbnMuXG4gKiBAcGFyYW0gZGF0ZUZpbHRlciBUaGUgZGF0ZUZpbHRlciBmdW5jdGlvbiBmcm9tIHRoZSBTYmJEYXRlcGlja2VyRWxlbWVudC5cbiAqIEBwYXJhbSBkYXRlQWRhcHRlciBUaGUgYWRhcHRlciBjbGFzcy5cbiAqIEBwYXJhbSBtYXggVGhlIG1heGltdW0gdmFsdWUgdG8gY29uc2lkZXIgaW4gY2FsY3VsYXRpb25zLlxuICpcbiAqIEBkZXByZWNhdGVkIE5vdCBpbnRlbmRlZCBhcyBwdWJsaWMgQVBJLlxuICovXG5leHBvcnQgZnVuY3Rpb24gZmluZE5leHRBdmFpbGFibGVEYXRlPFQgPSBEYXRlPihcbiAgZGF0ZTogVCxcbiAgZGF0ZUZpbHRlcjogKChkYXRlOiBUKSA9PiBib29sZWFuKSB8IG51bGwsXG4gIGRhdGVBZGFwdGVyOiBEYXRlQWRhcHRlcjxUPixcbiAgbWF4OiBzdHJpbmcgfCBudW1iZXIgfCBudWxsLFxuKTogVCB7XG4gIGNvbnN0IG5leHREYXRlID0gZ2V0QXZhaWxhYmxlRGF0ZShkYXRlLCAxLCBkYXRlRmlsdGVyLCBkYXRlQWRhcHRlcik7XG4gIGNvbnN0IGRhdGVNYXggPSBkYXRlQWRhcHRlci5kZXNlcmlhbGl6ZShtYXgpO1xuXG4gIGlmIChcbiAgICAhZGF0ZU1heCB8fFxuICAgIChkYXRlQWRhcHRlci5pc1ZhbGlkKGRhdGVNYXgpICYmIGRhdGVBZGFwdGVyLmNvbXBhcmVEYXRlKG5leHREYXRlLCBkYXRlTWF4KSA8PSAwKVxuICApIHtcbiAgICByZXR1cm4gbmV4dERhdGU7XG4gIH1cbiAgcmV0dXJuIGRhdGU7XG59XG5cbi8qKlxuICogQ2hlY2tzIGlmIHRoZSBwcm92aWRlZCBkYXRlIGlzIGEgdmFsaWQgb25lLCBjb25zaWRlcmluZyB0aGUgU2JiRGF0ZXBpY2tlckVsZW1lbnQgYGRhdGVGaWx0ZXJgIHByb3BlcnR5XG4gKiBhbmQgYG1pbmAgYW5kIGBtYXhgIHBhcmFtZXRlcnMgKGUuZy4gZnJvbSB0aGUgc2VsZi1uYW1lZCBpbnB1dCdzIGF0dHJpYnV0ZXMpLlxuICogQHBhcmFtIGRhdGUgVGhlIHN0YXJ0aW5nIGRhdGUgZm9yIGNhbGN1bGF0aW9ucy5cbiAqIEBwYXJhbSBkYXRlRmlsdGVyIFRoZSBkYXRlRmlsdGVyIGZ1bmN0aW9uIGZyb20gdGhlIFNiYkRhdGVwaWNrZXJFbGVtZW50LlxuICogQHBhcmFtIG1pbiBUaGUgbWluaW11bSB2YWx1ZSB0byBjb25zaWRlciBpbiBjYWxjdWxhdGlvbnMuXG4gKiBAcGFyYW0gbWF4IFRoZSBtYXhpbXVtIHZhbHVlIHRvIGNvbnNpZGVyIGluIGNhbGN1bGF0aW9ucy5cbiAqXG4gKiBAZGVwcmVjYXRlZCBOb3QgaW50ZW5kZWQgYXMgcHVibGljIEFQSS5cbiAqL1xuZXhwb3J0IGZ1bmN0aW9uIGlzRGF0ZUF2YWlsYWJsZTxUID0gRGF0ZT4oXG4gIGRhdGU6IFQsXG4gIGRhdGVGaWx0ZXI6ICgoZGF0ZTogVCkgPT4gYm9vbGVhbikgfCBudWxsLFxuICBtaW46IHN0cmluZyB8IG51bWJlciB8IG51bGwgfCB1bmRlZmluZWQsXG4gIG1heDogc3RyaW5nIHwgbnVtYmVyIHwgbnVsbCB8IHVuZGVmaW5lZCxcbik6IGJvb2xlYW4ge1xuICAvLyBUT0RPOiBHZXQgZGF0ZSBhZGFwdGVyIGZyb20gY29uZmlnXG4gIGNvbnN0IGRhdGVBZGFwdGVyOiBEYXRlQWRhcHRlcjxUPiA9IHJlYWRDb25maWcoKS5kYXRldGltZT8uZGF0ZUFkYXB0ZXIgPz8gZGVmYXVsdERhdGVBZGFwdGVyO1xuICBjb25zdCBkYXRlTWluID0gZGF0ZUFkYXB0ZXIuZGVzZXJpYWxpemUobWluKTtcbiAgY29uc3QgZGF0ZU1heCA9IGRhdGVBZGFwdGVyLmRlc2VyaWFsaXplKG1heCk7XG5cbiAgaWYgKFxuICAgIChkYXRlQWRhcHRlci5pc1ZhbGlkKGRhdGVNaW4pICYmIGRhdGVBZGFwdGVyLmNvbXBhcmVEYXRlKGRhdGUsIGRhdGVNaW4hKSA8IDApIHx8XG4gICAgKGRhdGVBZGFwdGVyLmlzVmFsaWQoZGF0ZU1heCkgJiYgZGF0ZUFkYXB0ZXIuY29tcGFyZURhdGUoZGF0ZSwgZGF0ZU1heCEpID4gMClcbiAgKSB7XG4gICAgcmV0dXJuIGZhbHNlO1xuICB9XG5cbiAgcmV0dXJuIGRhdGVGaWx0ZXIgPyBkYXRlRmlsdGVyKGRhdGUpIDogdHJ1ZTtcbn1cblxuZXhwb3J0IGNvbnN0IGRhdGVwaWNrZXJDb250cm9sUmVnaXN0ZXJlZEV2ZW50RmFjdG9yeSA9ICgpOiBDdXN0b21FdmVudCA9PlxuICBuZXcgQ3VzdG9tRXZlbnQoJ2RhdGVwaWNrZXJDb250cm9sUmVnaXN0ZXJlZCcsIHtcbiAgICBidWJibGVzOiBmYWxzZSxcbiAgICBjb21wb3NlZDogdHJ1ZSxcbiAgfSk7XG5cbi8qKlxuICogQ29tYmluZWQgd2l0aCBhIG5hdGl2ZSBpbnB1dCwgaXQgZGlzcGxheXMgdGhlIGlucHV0J3MgdmFsdWUgYXMgYSBmb3JtYXR0ZWQgZGF0ZS5cbiAqXG4gKiBAZXZlbnQge0N1c3RvbUV2ZW50PHZvaWQ+fSBkaWRDaGFuZ2UgLSBEZXByZWNhdGVkLiB1c2VkIGZvciBSZWFjdC4gV2lsbCBwcm9iYWJseSBiZSByZW1vdmVkIG9uY2UgUmVhY3QgMTkgaXMgYXZhaWxhYmxlLlxuICogQGV2ZW50IHtDdXN0b21FdmVudDx2b2lkPn0gY2hhbmdlIC0gTm90aWZpZXMgdGhhdCB0aGUgY29ubmVjdGVkIGlucHV0IGhhcyBjaGFuZ2VzLlxuICogQGV2ZW50IHtDdXN0b21FdmVudDxTYmJJbnB1dFVwZGF0ZUV2ZW50Pn0gaW5wdXRVcGRhdGVkIC0gTm90aWZpZXMgdGhhdCB0aGUgYXR0cmlidXRlcyBvZiB0aGUgaW5wdXQgY29ubmVjdGVkIHRvIHRoZSBkYXRlcGlja2VyIGhhdmUgY2hhbmdlcy5cbiAqIEBldmVudCB7Q3VzdG9tRXZlbnQ8dm9pZD59IGRhdGVQaWNrZXJVcGRhdGVkIC0gTm90aWZpZXMgdGhhdCB0aGUgYXR0cmlidXRlcyBvZiB0aGUgZGF0ZXBpY2tlciBoYXZlIGNoYW5nZXMuXG4gKiBAZXZlbnQge0N1c3RvbUV2ZW50PFNiYlZhbGlkYXRpb25DaGFuZ2VFdmVudD59IHZhbGlkYXRpb25DaGFuZ2UgLSBFbWl0cyB3aGVuZXZlciB0aGUgaW50ZXJuYWwgdmFsaWRhdGlvbiBzdGF0ZSBjaGFuZ2VzLlxuICovXG5AY3VzdG9tRWxlbWVudCgnc2JiLWRhdGVwaWNrZXInKVxuZXhwb3J0IGNsYXNzIFNiYkRhdGVwaWNrZXJFbGVtZW50PFQgPSBEYXRlPiBleHRlbmRzIExpdEVsZW1lbnQge1xuICAvKiBlc2xpbnQtZGlzYWJsZSBAdHlwZXNjcmlwdC1lc2xpbnQvbWVtYmVyLW9yZGVyaW5nIC0tXG4gICAqIFdlIGRlYWN0aXZhdGUgbWVtYmVyLW9yZGVyaW5nIGJlY2F1c2Ugb2YgdGhlIEBwcm9wZXJ0eSBkZWNvcmF0ZWQgbWV0aG9kcyBkYXRlRmlsdGVyLCBkYXRlUGFyc2VyIGFuZCBmb3JtYXQuXG4gICAqL1xuXG4gIHB1YmxpYyBzdGF0aWMgb3ZlcnJpZGUgc3R5bGVzOiBDU1NSZXN1bHRHcm91cCA9IHN0eWxlO1xuICBwdWJsaWMgc3RhdGljIHJlYWRvbmx5IGV2ZW50cyA9IHtcbiAgICBkaWRDaGFuZ2U6ICdkaWRDaGFuZ2UnLFxuICAgIGNoYW5nZTogJ2NoYW5nZScsXG4gICAgaW5wdXRVcGRhdGVkOiAnaW5wdXRVcGRhdGVkJyxcbiAgICBkYXRlUGlja2VyVXBkYXRlZDogJ2RhdGVQaWNrZXJVcGRhdGVkJyxcbiAgICB2YWxpZGF0aW9uQ2hhbmdlOiAndmFsaWRhdGlvbkNoYW5nZScsXG4gIH0gYXMgY29uc3Q7XG5cbiAgLyoqIElmIHNldCB0byB0cnVlLCB0d28gbW9udGhzIGFyZSBkaXNwbGF5ZWQuICovXG4gIEBwcm9wZXJ0eSh7IHR5cGU6IEJvb2xlYW4gfSkgcHVibGljIHdpZGUgPSBmYWxzZTtcblxuICAvKiogQSBmdW5jdGlvbiB1c2VkIHRvIGZpbHRlciBvdXQgZGF0ZXMuICovXG4gIEBwcm9wZXJ0eSh7IGF0dHJpYnV0ZTogZmFsc2UgfSkgcHVibGljIGRhdGVGaWx0ZXI6IChkYXRlOiBUIHwgbnVsbCkgPT4gYm9vbGVhbiA9ICgpID0+IHRydWU7XG5cbiAgLyoqXG4gICAqIEEgZnVuY3Rpb24gdXNlZCB0byBwYXJzZSBzdHJpbmcgdmFsdWUgaW50byBkYXRlcy5cbiAgICogQGRlcHJlY2F0ZWQgTm8gbG9uZ2VyIHJlcXVpcmVkLlxuICAgKi9cbiAgQHByb3BlcnR5KHsgYXR0cmlidXRlOiBmYWxzZSB9KSBwdWJsaWMgZGF0ZVBhcnNlcj86ICh2YWx1ZTogc3RyaW5nKSA9PiBUIHwgdW5kZWZpbmVkO1xuXG4gIC8qKlxuICAgKiBBIGZ1bmN0aW9uIHVzZWQgdG8gZm9ybWF0IGRhdGVzIGludG8gdGhlIHByZWZlcnJlZCBzdHJpbmcgZm9ybWF0LlxuICAgKiBAZGVwcmVjYXRlZCBObyBsb25nZXIgcmVxdWlyZWQuXG4gICAqL1xuICBAcHJvcGVydHkoeyBhdHRyaWJ1dGU6IGZhbHNlIH0pIHB1YmxpYyBmb3JtYXQ/OiAoZGF0ZTogVCkgPT4gc3RyaW5nO1xuXG4gIC8qKiBSZWZlcmVuY2Ugb2YgdGhlIG5hdGl2ZSBpbnB1dCBjb25uZWN0ZWQgdG8gdGhlIGRhdGVwaWNrZXIuICovXG4gIEBwcm9wZXJ0eSgpIHB1YmxpYyBpbnB1dD86IHN0cmluZyB8IEhUTUxFbGVtZW50O1xuXG4gIC8vIFRPRE86IENoYW5nZSB1bmRlZmluZWQgdG8gbnVsbCBhcyBhIGJyZWFraW5nIGNoYW5nZS5cbiAgLyoqIEEgY29uZmlndXJlZCBkYXRlIHdoaWNoIGFjdHMgYXMgdGhlIGN1cnJlbnQgZGF0ZSBpbnN0ZWFkIG9mIHRoZSByZWFsIGN1cnJlbnQgZGF0ZS4gUmVjb21tZW5kZWQgZm9yIHRlc3RpbmcgcHVycG9zZXMuICovXG4gIEBwcm9wZXJ0eSgpXG4gIHB1YmxpYyBzZXQgbm93KHZhbHVlOiBTYmJEYXRlTGlrZTxUPiB8IHVuZGVmaW5lZCkge1xuICAgIHRoaXMuX25vdyA9IHRoaXMuX2RhdGVBZGFwdGVyLmdldFZhbGlkRGF0ZU9yTnVsbCh0aGlzLl9kYXRlQWRhcHRlci5kZXNlcmlhbGl6ZSh2YWx1ZSkpO1xuICB9XG4gIHB1YmxpYyBnZXQgbm93KCk6IFQge1xuICAgIHJldHVybiB0aGlzLl9ub3cgPz8gdGhpcy5fZGF0ZUFkYXB0ZXIudG9kYXkoKTtcbiAgfVxuICBwcml2YXRlIF9ub3c/OiBUIHwgbnVsbDtcblxuICAvKiogVGhlIGN1cnJlbnRseSBzZWxlY3RlZCBkYXRlIGFzIGEgRGF0ZSBvciBjdXN0b20gZGF0ZSBwcm92aWRlciBpbnN0YW5jZS4gKi9cbiAgQHByb3BlcnR5KHsgYXR0cmlidXRlOiBmYWxzZSB9KVxuICBwdWJsaWMgc2V0IHZhbHVlQXNEYXRlKHZhbHVlOiBTYmJEYXRlTGlrZTxUPiB8IG51bGwpIHtcbiAgICB0aGlzLl92YWx1ZUFzRGF0ZSA9IHRoaXMuX2RhdGVBZGFwdGVyLmdldFZhbGlkRGF0ZU9yTnVsbCh0aGlzLl9kYXRlQWRhcHRlci5kZXNlcmlhbGl6ZSh2YWx1ZSkpO1xuICAgIGlmICh0aGlzLl90cnlBcHBseUZvcm1hdFRvSW5wdXQoKSkge1xuICAgICAgLyogRW1pdCBibHVyIGV2ZW50IHdoZW4gdmFsdWUgaXMgY2hhbmdlZCBwcm9ncmFtbWF0aWNhbGx5IHRvIG5vdGlmeVxuICAgICAgZnJhbWV3b3JrcyB0aGF0IHJlbHkgb24gdGhhdCBldmVudCB0byB1cGRhdGUgZm9ybSBzdGF0dXMuICovXG4gICAgICB0aGlzLl9pbnB1dEVsZW1lbnQhLmRpc3BhdGNoRXZlbnQobmV3IEV2ZW50KCdibHVyJywgeyBjb21wb3NlZDogdHJ1ZSB9KSk7XG4gICAgfVxuICB9XG4gIHB1YmxpYyBnZXQgdmFsdWVBc0RhdGUoKTogVCB8IG51bGwge1xuICAgIHJldHVybiB0aGlzLl92YWx1ZUFzRGF0ZSA/PyBudWxsO1xuICB9XG4gIHByaXZhdGUgX3ZhbHVlQXNEYXRlPzogVCB8IG51bGw7XG5cbiAgLyoqXG4gICAqIEBkZXByZWNhdGVkIG9ubHkgdXNlZCBmb3IgUmVhY3QuIFdpbGwgcHJvYmFibHkgYmUgcmVtb3ZlZCBvbmNlIFJlYWN0IDE5IGlzIGF2YWlsYWJsZS5cbiAgICovXG4gIHByaXZhdGUgX2RpZENoYW5nZTogRXZlbnRFbWl0dGVyID0gbmV3IEV2ZW50RW1pdHRlcih0aGlzLCBTYmJEYXRlcGlja2VyRWxlbWVudC5ldmVudHMuZGlkQ2hhbmdlLCB7XG4gICAgYnViYmxlczogdHJ1ZSxcbiAgICBjYW5jZWxhYmxlOiB0cnVlLFxuICB9KTtcblxuICAvKiogTm90aWZpZXMgdGhhdCB0aGUgY29ubmVjdGVkIGlucHV0IGhhcyBjaGFuZ2VzLiAqL1xuICBwcml2YXRlIF9jaGFuZ2U6IEV2ZW50RW1pdHRlciA9IG5ldyBFdmVudEVtaXR0ZXIodGhpcywgU2JiRGF0ZXBpY2tlckVsZW1lbnQuZXZlbnRzLmNoYW5nZSwge1xuICAgIGJ1YmJsZXM6IHRydWUsXG4gIH0pO1xuXG4gIC8qKiBOb3RpZmllcyB0aGF0IHRoZSBhdHRyaWJ1dGVzIG9mIHRoZSBpbnB1dCBjb25uZWN0ZWQgdG8gdGhlIGRhdGVwaWNrZXIgaGF2ZSBjaGFuZ2VzLiAqL1xuICBwcml2YXRlIF9pbnB1dFVwZGF0ZWQ6IEV2ZW50RW1pdHRlcjxTYmJJbnB1dFVwZGF0ZUV2ZW50PiA9IG5ldyBFdmVudEVtaXR0ZXIoXG4gICAgdGhpcyxcbiAgICBTYmJEYXRlcGlja2VyRWxlbWVudC5ldmVudHMuaW5wdXRVcGRhdGVkLFxuICAgIHsgYnViYmxlczogdHJ1ZSwgY2FuY2VsYWJsZTogdHJ1ZSB9LFxuICApO1xuXG4gIC8qKiBOb3RpZmllcyB0aGF0IHRoZSBhdHRyaWJ1dGVzIG9mIHRoZSBkYXRlcGlja2VyIGhhdmUgY2hhbmdlcy4gKi9cbiAgcHJpdmF0ZSBfZGF0ZVBpY2tlclVwZGF0ZWQ6IEV2ZW50RW1pdHRlciA9IG5ldyBFdmVudEVtaXR0ZXIoXG4gICAgdGhpcyxcbiAgICBTYmJEYXRlcGlja2VyRWxlbWVudC5ldmVudHMuZGF0ZVBpY2tlclVwZGF0ZWQsXG4gICAge1xuICAgICAgYnViYmxlczogdHJ1ZSxcbiAgICAgIGNhbmNlbGFibGU6IHRydWUsXG4gICAgfSxcbiAgKTtcblxuICAvKiogRW1pdHMgd2hlbmV2ZXIgdGhlIGludGVybmFsIHZhbGlkYXRpb24gc3RhdGUgY2hhbmdlcy4gKi9cbiAgcHJpdmF0ZSBfdmFsaWRhdGlvbkNoYW5nZTogRXZlbnRFbWl0dGVyPFNiYlZhbGlkYXRpb25DaGFuZ2VFdmVudD4gPSBuZXcgRXZlbnRFbWl0dGVyKFxuICAgIHRoaXMsXG4gICAgU2JiRGF0ZXBpY2tlckVsZW1lbnQuZXZlbnRzLnZhbGlkYXRpb25DaGFuZ2UsXG4gICk7XG5cbiAgQHN0YXRlKClcbiAgcHJpdmF0ZSBfaW5wdXRFbGVtZW50OiBIVE1MSW5wdXRFbGVtZW50IHwgbnVsbCA9IG51bGw7XG4gIHByaXZhdGUgX2lucHV0RWxlbWVudFBsYWNlaG9sZGVyTXV0YWJsZSA9IGZhbHNlO1xuXG4gIHByaXZhdGUgX2RhdGVQaWNrZXJDb250cm9sbGVyITogQWJvcnRDb250cm9sbGVyO1xuXG4gIHByaXZhdGUgX2lucHV0T2JzZXJ2ZXIgPSAhaXNTZXJ2ZXJcbiAgICA/IG5ldyBNdXRhdGlvbk9ic2VydmVyKChtdXRhdGlvbnNMaXN0KSA9PiB7XG4gICAgICAgIHRoaXMuX2VtaXRJbnB1dFVwZGF0ZWQoKTtcbiAgICAgICAgLy8gVE9ETzogRGVjaWRlIHdoZXRoZXIgdG8gcmVtb3ZlIHRoaXMgbG9naWMgYnkgYWRkaW5nIGEgdmFsdWUgcHJvcGVydHkgdG8gdGhlIGRhdGVwaWNrZXIuXG4gICAgICAgIGlmICh0aGlzLl9pbnB1dEVsZW1lbnQgJiYgbXV0YXRpb25zTGlzdD8uc29tZSgoZSkgPT4gZS5hdHRyaWJ1dGVOYW1lID09PSAndmFsdWUnKSkge1xuICAgICAgICAgIGNvbnN0IHZhbHVlID0gdGhpcy5faW5wdXRFbGVtZW50LmdldEF0dHJpYnV0ZSgndmFsdWUnKTtcbiAgICAgICAgICB0aGlzLnZhbHVlQXNEYXRlID0gdGhpcy5fZGF0ZUFkYXB0ZXIucGFyc2UodmFsdWUsIHRoaXMubm93KSA/PyB2YWx1ZTtcbiAgICAgICAgfVxuICAgICAgfSlcbiAgICA6IG51bGw7XG5cbiAgcHJpdmF0ZSBfZGF0ZUFkYXB0ZXI6IERhdGVBZGFwdGVyPFQ+ID0gcmVhZENvbmZpZygpLmRhdGV0aW1lPy5kYXRlQWRhcHRlciA/PyBkZWZhdWx0RGF0ZUFkYXB0ZXI7XG5cbiAgcHJpdmF0ZSBfYWJvcnQgPSBuZXcgU2JiQ29ubmVjdGVkQWJvcnRDb250cm9sbGVyKHRoaXMpO1xuICBwcml2YXRlIF9sYW5ndWFnZSA9IG5ldyBTYmJMYW5ndWFnZUNvbnRyb2xsZXIodGhpcykud2l0aEhhbmRsZXIoKCkgPT4ge1xuICAgIGlmICh0aGlzLl9pbnB1dEVsZW1lbnQpIHtcbiAgICAgIGlmICh0aGlzLl9pbnB1dEVsZW1lbnRQbGFjZWhvbGRlck11dGFibGUpIHtcbiAgICAgICAgdGhpcy5faW5wdXRFbGVtZW50LnBsYWNlaG9sZGVyID0gaTE4bkRhdGVQaWNrZXJQbGFjZWhvbGRlclt0aGlzLl9sYW5ndWFnZS5jdXJyZW50XTtcbiAgICAgIH1cbiAgICAgIGlmICh0aGlzLnZhbHVlQXNEYXRlKSB7XG4gICAgICAgIHRoaXMuX2lucHV0RWxlbWVudC52YWx1ZSA9IHRoaXMuX2Zvcm1hdCh0aGlzLnZhbHVlQXNEYXRlKTtcbiAgICAgIH1cbiAgICB9XG4gIH0pO1xuXG4gIHB1YmxpYyBvdmVycmlkZSBjb25uZWN0ZWRDYWxsYmFjaygpOiB2b2lkIHtcbiAgICBzdXBlci5jb25uZWN0ZWRDYWxsYmFjaygpO1xuICAgIHRoaXMuYWRkRXZlbnRMaXN0ZW5lcignZGF0ZXBpY2tlckNvbnRyb2xSZWdpc3RlcmVkJywgKCkgPT4gdGhpcy5fZW1pdElucHV0VXBkYXRlZCgpLCB7XG4gICAgICBzaWduYWw6IHRoaXMuX2Fib3J0LnNpZ25hbCxcbiAgICB9KTtcbiAgICB0aGlzLl9hdHRhY2hJbnB1dCgpO1xuICAgIGlmICh0aGlzLl9pbnB1dEVsZW1lbnQpIHtcbiAgICAgIHRoaXMuX2VtaXRJbnB1dFVwZGF0ZWQoKTtcbiAgICB9XG4gIH1cblxuICBwdWJsaWMgb3ZlcnJpZGUgd2lsbFVwZGF0ZShjaGFuZ2VkUHJvcGVydGllczogUHJvcGVydHlWYWx1ZXM8dGhpcz4pOiB2b2lkIHtcbiAgICBzdXBlci53aWxsVXBkYXRlKGNoYW5nZWRQcm9wZXJ0aWVzKTtcblxuICAgIGlmIChjaGFuZ2VkUHJvcGVydGllcy5oYXMoJ2lucHV0JykpIHtcbiAgICAgIHRoaXMuX2F0dGFjaElucHV0KCk7XG4gICAgfVxuICAgIGlmIChcbiAgICAgIGNoYW5nZWRQcm9wZXJ0aWVzLmhhcygnd2lkZScpIHx8XG4gICAgICBjaGFuZ2VkUHJvcGVydGllcy5oYXMoJ2RhdGVGaWx0ZXInKSB8fFxuICAgICAgY2hhbmdlZFByb3BlcnRpZXMuaGFzKCdub3cnKVxuICAgICkge1xuICAgICAgdGhpcy5fZGF0ZVBpY2tlclVwZGF0ZWQuZW1pdCgpO1xuICAgIH1cbiAgICBpZiAoY2hhbmdlZFByb3BlcnRpZXMuaGFzKCd2YWx1ZUFzRGF0ZScpKSB7XG4gICAgICB0aGlzLl9zZXRBcmlhTGl2ZU1lc3NhZ2UoKTtcbiAgICB9XG4gIH1cblxuICBwdWJsaWMgb3ZlcnJpZGUgZGlzY29ubmVjdGVkQ2FsbGJhY2soKTogdm9pZCB7XG4gICAgc3VwZXIuZGlzY29ubmVjdGVkQ2FsbGJhY2soKTtcbiAgICB0aGlzLl9pbnB1dE9ic2VydmVyPy5kaXNjb25uZWN0KCk7XG4gICAgdGhpcy5fZGF0ZVBpY2tlckNvbnRyb2xsZXI/LmFib3J0KCk7XG4gIH1cblxuICBwcm90ZWN0ZWQgb3ZlcnJpZGUgZmlyc3RVcGRhdGVkKGNoYW5nZWRQcm9wZXJ0aWVzOiBQcm9wZXJ0eVZhbHVlczx0aGlzPik6IHZvaWQge1xuICAgIHN1cGVyLmZpcnN0VXBkYXRlZChjaGFuZ2VkUHJvcGVydGllcyk7XG4gICAgdGhpcy5fc2V0QXJpYUxpdmVNZXNzYWdlKCk7XG4gIH1cblxuICAvKipcbiAgICogR2V0cyB0aGUgaW5wdXQgdmFsdWUgd2l0aCB0aGUgY29ycmVjdCBkYXRlIGZvcm1hdC5cbiAgICogQGRlcHJlY2F0ZWQgVXNlIHByb3BlcnR5IHZhbHVlQXNEYXRlIGluc3RlYWQuXG4gICAqL1xuICBwdWJsaWMgZ2V0VmFsdWVBc0RhdGUoKTogVCB8IHVuZGVmaW5lZCB7XG4gICAgcmV0dXJuIHRoaXMudmFsdWVBc0RhdGUgPz8gdW5kZWZpbmVkO1xuICB9XG5cbiAgLyoqXG4gICAqIFNldCB0aGUgaW5wdXQgdmFsdWUgdG8gdGhlIGNvcnJlY3RseSBmb3JtYXR0ZWQgdmFsdWUuXG4gICAqIEBkZXByZWNhdGVkIFVzZSBwcm9wZXJ0eSB2YWx1ZUFzRGF0ZSBpbnN0ZWFkLlxuICAgKi9cbiAgcHVibGljIHNldFZhbHVlQXNEYXRlKGRhdGU6IFNiYkRhdGVMaWtlPFQ+KTogdm9pZCB7XG4gICAgdGhpcy52YWx1ZUFzRGF0ZSA9IGRhdGU7XG4gIH1cblxuICAvKipcbiAgICogQGludGVybmFsXG4gICAqIFdoZXRoZXIgYSBjdXN0b20gbm93IGlzIGNvbmZpZ3VyZWQuXG4gICAqL1xuICBwdWJsaWMgaGFzQ3VzdG9tTm93KCk6IGJvb2xlYW4ge1xuICAgIHJldHVybiAhIXRoaXMuX25vdztcbiAgfVxuXG4gIHByaXZhdGUgX2F0dGFjaElucHV0KCk6IHZvaWQge1xuICAgIGNvbnN0IGlucHV0ID0gZmluZElucHV0KHRoaXMsIHRoaXMuaW5wdXQpO1xuICAgIGlmICh0aGlzLl9pbnB1dEVsZW1lbnQgPT09IGlucHV0KSB7XG4gICAgICByZXR1cm47XG4gICAgfSBlbHNlIGlmICh0aGlzLl9pbnB1dEVsZW1lbnQpIHtcbiAgICAgIHRoaXMuX2RhdGVQaWNrZXJDb250cm9sbGVyPy5hYm9ydCgpO1xuICAgICAgdGhpcy5faW5wdXRPYnNlcnZlcj8uZGlzY29ubmVjdCgpO1xuICAgIH1cblxuICAgIHRoaXMuX2lucHV0RWxlbWVudCA9IGlucHV0O1xuICAgIGlmIChpbnB1dCkge1xuICAgICAgdGhpcy5fZGF0ZVBpY2tlckNvbnRyb2xsZXIgPSBuZXcgQWJvcnRDb250cm9sbGVyKCk7XG4gICAgICB0aGlzLl9pbnB1dE9ic2VydmVyPy5vYnNlcnZlKGlucHV0LCB7XG4gICAgICAgIGF0dHJpYnV0ZUZpbHRlcjogWydkaXNhYmxlZCcsICdyZWFkb25seScsICdtaW4nLCAnbWF4JywgJ3ZhbHVlJ10sXG4gICAgICB9KTtcblxuICAgICAgdGhpcy5faW5wdXRFbGVtZW50UGxhY2Vob2xkZXJNdXRhYmxlID0gIWlucHV0LnBsYWNlaG9sZGVyO1xuICAgICAgaW5wdXQudHlwZSA9ICd0ZXh0JztcbiAgICAgIGlmICh0aGlzLl9pbnB1dEVsZW1lbnRQbGFjZWhvbGRlck11dGFibGUpIHtcbiAgICAgICAgaW5wdXQucGxhY2Vob2xkZXIgPSBpMThuRGF0ZVBpY2tlclBsYWNlaG9sZGVyW3RoaXMuX2xhbmd1YWdlLmN1cnJlbnRdO1xuICAgICAgfVxuXG4gICAgICBjb25zdCBvcHRpb25zOiBBZGRFdmVudExpc3RlbmVyT3B0aW9ucyA9IHsgc2lnbmFsOiB0aGlzLl9kYXRlUGlja2VyQ29udHJvbGxlci5zaWduYWwgfTtcbiAgICAgIGlucHV0LmFkZEV2ZW50TGlzdGVuZXIoJ2lucHV0JywgKCkgPT4gdGhpcy5fcGFyc2VJbnB1dCgpLCBvcHRpb25zKTtcbiAgICAgIGlucHV0LmFkZEV2ZW50TGlzdGVuZXIoJ2NoYW5nZScsICgpID0+IHRoaXMuX2hhbmRsZUlucHV0Q2hhbmdlKCksIG9wdGlvbnMpO1xuICAgICAgdGhpcy5fcGFyc2VJbnB1dCh0cnVlKTtcbiAgICAgIHRoaXMuX3RyeUFwcGx5Rm9ybWF0VG9JbnB1dCgpO1xuICAgICAgdGhpcy5fdmFsaWRhdGVEYXRlKCk7XG4gICAgfVxuICB9XG5cbiAgcHJpdmF0ZSBfZW1pdElucHV0VXBkYXRlZCgpOiB2b2lkIHtcbiAgICBjb25zdCB7IGRpc2FibGVkLCByZWFkT25seTogcmVhZG9ubHksIG1pbiwgbWF4IH0gPSB0aGlzLl9pbnB1dEVsZW1lbnQgPz8ge307XG4gICAgdGhpcy5faW5wdXRVcGRhdGVkLmVtaXQoeyBkaXNhYmxlZCwgcmVhZG9ubHksIG1pbiwgbWF4IH0pO1xuICB9XG5cbiAgcHJpdmF0ZSBfaGFuZGxlSW5wdXRDaGFuZ2UoKTogdm9pZCB7XG4gICAgaWYgKHRoaXMuX3RyeUFwcGx5Rm9ybWF0VG9JbnB1dCgpKSB7XG4gICAgICByZXR1cm47XG4gICAgfVxuICAgIHRoaXMuX3ZhbGlkYXRlRGF0ZSgpO1xuICAgIHRoaXMuX3NldEFyaWFMaXZlTWVzc2FnZSgpO1xuICAgIHRoaXMuX2NoYW5nZS5lbWl0KCk7XG4gICAgdGhpcy5fZGlkQ2hhbmdlLmVtaXQoKTtcbiAgfVxuXG4gIHByaXZhdGUgX3RyeUFwcGx5Rm9ybWF0VG9JbnB1dCgpOiBib29sZWFuIHtcbiAgICBpZiAoIXRoaXMuX2lucHV0RWxlbWVudCkge1xuICAgICAgcmV0dXJuIGZhbHNlO1xuICAgIH1cblxuICAgIGNvbnN0IGZvcm1hdHRlZERhdGUgPSB0aGlzLnZhbHVlQXNEYXRlID8gdGhpcy5fZm9ybWF0KHRoaXMudmFsdWVBc0RhdGUhKSA6ICcnO1xuICAgIGlmIChmb3JtYXR0ZWREYXRlICYmIHRoaXMuX2lucHV0RWxlbWVudC52YWx1ZSAhPT0gZm9ybWF0dGVkRGF0ZSkge1xuICAgICAgdGhpcy5faW5wdXRFbGVtZW50LnZhbHVlID0gZm9ybWF0dGVkRGF0ZTtcbiAgICAgIHRoaXMuX2lucHV0RWxlbWVudC5kaXNwYXRjaEV2ZW50KG5ldyBJbnB1dEV2ZW50KCdpbnB1dCcsIHsgYnViYmxlczogdHJ1ZSwgY29tcG9zZWQ6IHRydWUgfSkpO1xuICAgICAgdGhpcy5faW5wdXRFbGVtZW50LmRpc3BhdGNoRXZlbnQobmV3IEV2ZW50KCdjaGFuZ2UnLCB7IGJ1YmJsZXM6IHRydWUsIGNvbXBvc2VkOiB0cnVlIH0pKTtcbiAgICAgIHJldHVybiB0cnVlO1xuICAgIH1cblxuICAgIHJldHVybiBmYWxzZTtcbiAgfVxuXG4gIHByaXZhdGUgX3ZhbGlkYXRlRGF0ZSgpOiB2b2lkIHtcbiAgICBpZiAoIXRoaXMuX2lucHV0RWxlbWVudCkge1xuICAgICAgcmV0dXJuO1xuICAgIH1cblxuICAgIGNvbnN0IGlzRW1wdHlPclZhbGlkID1cbiAgICAgICF0aGlzLl9pbnB1dEVsZW1lbnQudmFsdWUgfHxcbiAgICAgICghIXRoaXMudmFsdWVBc0RhdGUgJiZcbiAgICAgICAgaXNEYXRlQXZhaWxhYmxlKFxuICAgICAgICAgIHRoaXMudmFsdWVBc0RhdGUsXG4gICAgICAgICAgdGhpcy5kYXRlRmlsdGVyLFxuICAgICAgICAgIHRoaXMuX2lucHV0RWxlbWVudD8ubWluLFxuICAgICAgICAgIHRoaXMuX2lucHV0RWxlbWVudD8ubWF4LFxuICAgICAgICApKTtcbiAgICBjb25zdCB3YXNWYWxpZCA9ICF0aGlzLl9pbnB1dEVsZW1lbnQuaGFzQXR0cmlidXRlKCdkYXRhLXNiYi1pbnZhbGlkJyk7XG4gICAgdGhpcy5faW5wdXRFbGVtZW50LnRvZ2dsZUF0dHJpYnV0ZSgnZGF0YS1zYmItaW52YWxpZCcsICFpc0VtcHR5T3JWYWxpZCk7XG4gICAgaWYgKHdhc1ZhbGlkICE9PSBpc0VtcHR5T3JWYWxpZCkge1xuICAgICAgdGhpcy5fdmFsaWRhdGlvbkNoYW5nZS5lbWl0KHsgdmFsaWQ6IGlzRW1wdHlPclZhbGlkIH0pO1xuICAgIH1cbiAgfVxuXG4gIHByaXZhdGUgX3BhcnNlSW5wdXQoZGVzZXJpYWxpemVBc0ZhbGxiYWNrID0gZmFsc2UpOiB2b2lkIHtcbiAgICBjb25zdCB2YWx1ZSA9IHRoaXMuX2lucHV0RWxlbWVudCEudmFsdWU7XG4gICAgY29uc3QgcGFyc2UgPSB0aGlzLmRhdGVQYXJzZXIgPz8gKCh2OiBzdHJpbmcpID0+IHRoaXMuX2RhdGVBZGFwdGVyLnBhcnNlKHYsIHRoaXMubm93KSk7XG4gICAgLy8gV2UgYXJlIGFzc2lnbmluZyBkaXJlY3RseSB0byB0aGUgcHJpdmF0ZSBiYWNraW5nIHByb3BlcnR5IG9mIHZhbHVlQXNEYXRlXG4gICAgLy8gYXMgd2UgZG9uJ3Qgd2FudCB0byB0cmlnZ2VyIGEgYmx1ciBldmVudCBkdXJpbmcgdGhpcyB0aW1lLlxuICAgIHRoaXMuX3ZhbHVlQXNEYXRlID0gdGhpcy5fZGF0ZUFkYXB0ZXIuZ2V0VmFsaWREYXRlT3JOdWxsKHBhcnNlKHZhbHVlKSk7XG4gICAgaWYgKGRlc2VyaWFsaXplQXNGYWxsYmFjayAmJiAhdGhpcy5fdmFsdWVBc0RhdGUpIHtcbiAgICAgIHRoaXMuX3ZhbHVlQXNEYXRlID0gdGhpcy5fZGF0ZUFkYXB0ZXIuZ2V0VmFsaWREYXRlT3JOdWxsKFxuICAgICAgICB0aGlzLl9kYXRlQWRhcHRlci5kZXNlcmlhbGl6ZSh2YWx1ZSksXG4gICAgICApO1xuICAgIH1cbiAgfVxuXG4gIHByaXZhdGUgX2Zvcm1hdChkYXRlOiBUKTogc3RyaW5nIHtcbiAgICByZXR1cm4gdGhpcy5mb3JtYXQgPyB0aGlzLmZvcm1hdChkYXRlKSA6IHRoaXMuX2RhdGVBZGFwdGVyLmZvcm1hdChkYXRlKTtcbiAgfVxuXG4gIHByaXZhdGUgX3NldEFyaWFMaXZlTWVzc2FnZSgpOiB2b2lkIHtcbiAgICBjb25zdCBjb250YWluZXJFbGVtZW50OiBIVE1MUGFyYWdyYXBoRWxlbWVudCB8IG51bGwgfCB1bmRlZmluZWQgPVxuICAgICAgdGhpcy5zaGFkb3dSb290Py5xdWVyeVNlbGVjdG9yPy48SFRNTFBhcmFncmFwaEVsZW1lbnQ+KCcjc3RhdHVzLWNvbnRhaW5lcicpO1xuXG4gICAgaWYgKCFjb250YWluZXJFbGVtZW50KSB7XG4gICAgICByZXR1cm47XG4gICAgfSBlbHNlIGlmICghdGhpcy52YWx1ZUFzRGF0ZSkge1xuICAgICAgY29udGFpbmVyRWxlbWVudC5pbm5lclRleHQgPSAnJztcbiAgICB9IGVsc2Uge1xuICAgICAgY29uc3QgZGF0ZSA9IHRoaXMuX2RhdGVBZGFwdGVyLmZvcm1hdCh0aGlzLnZhbHVlQXNEYXRlLCB7IHdlZWtkYXlTdHlsZTogJ2xvbmcnIH0pO1xuICAgICAgY29udGFpbmVyRWxlbWVudC5pbm5lclRleHQgPSBgJHtpMThuRGF0ZUNoYW5nZWRUb1t0aGlzLl9sYW5ndWFnZS5jdXJyZW50XX0gJHtkYXRlfWA7XG4gICAgfVxuICB9XG5cbiAgcHJvdGVjdGVkIG92ZXJyaWRlIHJlbmRlcigpOiBUZW1wbGF0ZVJlc3VsdCB7XG4gICAgcmV0dXJuIGh0bWxgPHAgaWQ9XCJzdGF0dXMtY29udGFpbmVyXCIgcm9sZT1cInN0YXR1c1wiPjwvcD5gO1xuICB9XG4gIC8qIGVzbGludC1lbmFibGUgQHR5cGVzY3JpcHQtZXNsaW50L21lbWJlci1vcmRlcmluZyAqL1xufVxuXG5kZWNsYXJlIGdsb2JhbCB7XG4gIGludGVyZmFjZSBIVE1MRWxlbWVudFRhZ05hbWVNYXAge1xuICAgIC8vIGVzbGludC1kaXNhYmxlLW5leHQtbGluZSBAdHlwZXNjcmlwdC1lc2xpbnQvbmFtaW5nLWNvbnZlbnRpb25cbiAgICAnc2JiLWRhdGVwaWNrZXInOiBTYmJEYXRlcGlja2VyRWxlbWVudDtcbiAgfVxuXG4gIGludGVyZmFjZSBHbG9iYWxFdmVudEhhbmRsZXJzRXZlbnRNYXAge1xuICAgIGlucHV0VXBkYXRlZDogQ3VzdG9tRXZlbnQ8U2JiSW5wdXRVcGRhdGVFdmVudD47XG4gIH1cbn1cbiJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiOzs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7OztBQXNDZ0IsU0FBQSxjQUNkLFNBQ0EsU0FDNEM7O0FBQzVDLE1BQUksQ0FBQyxTQUFTO0FBQ1osWUFBTyxtQkFDSixZQURJLGlDQUNNLHNCQUROLG1CQUVILGNBQXVDO0FBQUEsRUFDN0M7QUFFQSxTQUFPLHNCQUErQyxPQUFPO0FBQy9EO0FBV08sU0FBUyxpQkFDZCxNQUNBLE9BQ0EsWUFDQSxhQUNHO0FBQ0gsTUFBSSxnQkFBZ0IsWUFBWSxnQkFBZ0IsTUFBTSxLQUFLO0FBRTNELE1BQUksWUFBWTtBQUNQLFdBQUEsQ0FBQyxXQUFXLGFBQWEsR0FBRztBQUNqQixzQkFBQSxZQUFZLGdCQUFnQixlQUFlLEtBQUs7QUFBQSxJQUNsRTtBQUFBLEVBQ0Y7QUFFTyxTQUFBO0FBQ1Q7QUFZTyxTQUFTLDBCQUNkLE1BQ0EsWUFDQSxhQUNBLEtBQ0c7QUFDSCxRQUFNLGVBQWUsaUJBQWlCLE1BQU0sSUFBSSxZQUFZLFdBQVc7QUFDakUsUUFBQSxVQUFVLFlBQVksWUFBWSxHQUFHO0FBR3pDLE1BQUEsQ0FBQyxXQUNBLFlBQVksUUFBUSxPQUFPLEtBQUssWUFBWSxZQUFZLGNBQWMsT0FBTyxLQUFLLEdBQ25GO0FBQ08sV0FBQTtBQUFBLEVBQ1Q7QUFDTyxTQUFBO0FBQ1Q7QUFZTyxTQUFTLHNCQUNkLE1BQ0EsWUFDQSxhQUNBLEtBQ0c7QUFDSCxRQUFNLFdBQVcsaUJBQWlCLE1BQU0sR0FBRyxZQUFZLFdBQVc7QUFDNUQsUUFBQSxVQUFVLFlBQVksWUFBWSxHQUFHO0FBR3pDLE1BQUEsQ0FBQyxXQUNBLFlBQVksUUFBUSxPQUFPLEtBQUssWUFBWSxZQUFZLFVBQVUsT0FBTyxLQUFLLEdBQy9FO0FBQ08sV0FBQTtBQUFBLEVBQ1Q7QUFDTyxTQUFBO0FBQ1Q7QUFZTyxTQUFTLGdCQUNkLE1B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
@@ -1,14 +1,7 @@
1
1
  import { css, html } from "lit";
2
2
  import { customElement } from "lit/decorators.js";
3
3
  import { SbbActionGroupElement } from "../action-group.js";
4
- const style = css`/** This mixin can be used to avoid spacing problems by inserting an invisible space as pseudo element. */
5
- /*
6
- * SBB table mixin
7
- * Notes:
8
- * We cannot use \`border-collapse\` because it is not compatible with the \`border-radius\` property.
9
- * Therefore, we have to build the grid avoiding double borders.
10
- */
11
- *,
4
+ const style = css`*,
12
5
  ::before,
13
6
  ::after {
14
7
  box-sizing: border-box;
@@ -55,4 +48,4 @@ SbbDialogActionsElement = __decorateClass([
55
48
  export {
56
49
  SbbDialogActionsElement
57
50
  };
58
- //# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZGlhbG9nLWFjdGlvbnMuanMiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uL3NyYy9lbGVtZW50cy9kaWFsb2cvZGlhbG9nLWFjdGlvbnMvZGlhbG9nLWFjdGlvbnMudHMiXSwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHR5cGUgeyBDU1NSZXN1bHRHcm91cCwgVGVtcGxhdGVSZXN1bHQgfSBmcm9tICdsaXQnO1xuaW1wb3J0IHsgaHRtbCB9IGZyb20gJ2xpdCc7XG5pbXBvcnQgeyBjdXN0b21FbGVtZW50IH0gZnJvbSAnbGl0L2RlY29yYXRvcnMuanMnO1xuXG5pbXBvcnQgeyBTYmJBY3Rpb25Hcm91cEVsZW1lbnQgfSBmcm9tICcuLi8uLi9hY3Rpb24tZ3JvdXAuanMnO1xuXG5pbXBvcnQgc3R5bGUgZnJvbSAnLi9kaWFsb2ctYWN0aW9ucy5zY3NzP2xpdCZpbmxpbmUnO1xuXG4vKipcbiAqIFVzZSB0aGlzIGNvbXBvbmVudCB0byBkaXNwbGF5IGEgZm9vdGVyIGludG8gYW4gYHNiYi1kaWFsb2dgIHdpdGggYW4gYWN0aW9uIGdyb3VwLlxuICpcbiAqIEBzbG90IC0gVXNlIHRoZSB1bm5hbWVkIHNsb3QgdG8gYWRkIGBzYmItYmxvY2stbGlua2Agb3IgYHNiYi1idXR0b25gIGVsZW1lbnRzIHRvIHRoZSBgc2JiLWRpYWxvZy1hY3Rpb25zYC5cbiAqL1xuQGN1c3RvbUVsZW1lbnQoJ3NiYi1kaWFsb2ctYWN0aW9ucycpXG5leHBvcnQgY2xhc3MgU2JiRGlhbG9nQWN0aW9uc0VsZW1lbnQgZXh0ZW5kcyBTYmJBY3Rpb25Hcm91cEVsZW1lbnQge1xuICBwdWJsaWMgc3RhdGljIG92ZXJyaWRlIHN0eWxlczogQ1NTUmVzdWx0R3JvdXAgPSBbU2JiQWN0aW9uR3JvdXBFbGVtZW50LnN0eWxlcywgc3R5bGVdO1xuXG4gIHByb3RlY3RlZCBvdmVycmlkZSByZW5kZXIoKTogVGVtcGxhdGVSZXN1bHQge1xuICAgIHJldHVybiBodG1sYCA8ZGl2IGNsYXNzPVwic2JiLWRpYWxvZy1hY3Rpb25zXCI+JHtzdXBlci5yZW5kZXIoKX08L2Rpdj4gYDtcbiAgfVxufVxuXG5kZWNsYXJlIGdsb2JhbCB7XG4gIGludGVyZmFjZSBIVE1MRWxlbWVudFRhZ05hbWVNYXAge1xuICAgIC8vIGVzbGludC1kaXNhYmxlLW5leHQtbGluZSBAdHlwZXNjcmlwdC1lc2xpbnQvbmFtaW5nLWNvbnZlbnRpb25cbiAgICAnc2JiLWRpYWxvZy1hY3Rpb25zJzogU2JiRGlhbG9nQWN0aW9uc0VsZW1lbnQ7XG4gIH1cbn1cbiJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiOzs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7QUFjYSxJQUFBLDBCQUFOLGNBQXNDLHNCQUFzQjtBQUFBLEVBRzlDLFNBQXlCO0FBQ25DLFdBQUEsd0NBQXdDLE1BQU0sT0FBUSxDQUFBO0FBQUEsRUFDL0Q7QUFDRjtBQU5hLHdCQUNZLFNBQXlCLENBQUMsc0JBQXNCLFFBQVEsS0FBSztBQUR6RSwwQkFBTixnQkFBQTtBQUFBLEVBRE4sY0FBYyxvQkFBb0I7QUFBQSxHQUN0Qix1QkFBQTsifQ==
51
+ //# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZGlhbG9nLWFjdGlvbnMuanMiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uL3NyYy9lbGVtZW50cy9kaWFsb2cvZGlhbG9nLWFjdGlvbnMvZGlhbG9nLWFjdGlvbnMudHMiXSwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHR5cGUgeyBDU1NSZXN1bHRHcm91cCwgVGVtcGxhdGVSZXN1bHQgfSBmcm9tICdsaXQnO1xuaW1wb3J0IHsgaHRtbCB9IGZyb20gJ2xpdCc7XG5pbXBvcnQgeyBjdXN0b21FbGVtZW50IH0gZnJvbSAnbGl0L2RlY29yYXRvcnMuanMnO1xuXG5pbXBvcnQgeyBTYmJBY3Rpb25Hcm91cEVsZW1lbnQgfSBmcm9tICcuLi8uLi9hY3Rpb24tZ3JvdXAuanMnO1xuXG5pbXBvcnQgc3R5bGUgZnJvbSAnLi9kaWFsb2ctYWN0aW9ucy5zY3NzP2xpdCZpbmxpbmUnO1xuXG4vKipcbiAqIFVzZSB0aGlzIGNvbXBvbmVudCB0byBkaXNwbGF5IGEgZm9vdGVyIGludG8gYW4gYHNiYi1kaWFsb2dgIHdpdGggYW4gYWN0aW9uIGdyb3VwLlxuICpcbiAqIEBzbG90IC0gVXNlIHRoZSB1bm5hbWVkIHNsb3QgdG8gYWRkIGBzYmItYmxvY2stbGlua2Agb3IgYHNiYi1idXR0b25gIGVsZW1lbnRzIHRvIHRoZSBgc2JiLWRpYWxvZy1hY3Rpb25zYC5cbiAqL1xuQGN1c3RvbUVsZW1lbnQoJ3NiYi1kaWFsb2ctYWN0aW9ucycpXG5leHBvcnQgY2xhc3MgU2JiRGlhbG9nQWN0aW9uc0VsZW1lbnQgZXh0ZW5kcyBTYmJBY3Rpb25Hcm91cEVsZW1lbnQge1xuICBwdWJsaWMgc3RhdGljIG92ZXJyaWRlIHN0eWxlczogQ1NTUmVzdWx0R3JvdXAgPSBbU2JiQWN0aW9uR3JvdXBFbGVtZW50LnN0eWxlcywgc3R5bGVdO1xuXG4gIHByb3RlY3RlZCBvdmVycmlkZSByZW5kZXIoKTogVGVtcGxhdGVSZXN1bHQge1xuICAgIHJldHVybiBodG1sYCA8ZGl2IGNsYXNzPVwic2JiLWRpYWxvZy1hY3Rpb25zXCI+JHtzdXBlci5yZW5kZXIoKX08L2Rpdj4gYDtcbiAgfVxufVxuXG5kZWNsYXJlIGdsb2JhbCB7XG4gIGludGVyZmFjZSBIVE1MRWxlbWVudFRhZ05hbWVNYXAge1xuICAgIC8vIGVzbGludC1kaXNhYmxlLW5leHQtbGluZSBAdHlwZXNjcmlwdC1lc2xpbnQvbmFtaW5nLWNvbnZlbnRpb25cbiAgICAnc2JiLWRpYWxvZy1hY3Rpb25zJzogU2JiRGlhbG9nQWN0aW9uc0VsZW1lbnQ7XG4gIH1cbn1cbiJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiOzs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7OztBQWNhLElBQUEsMEJBQU4sY0FBc0Msc0JBQXNCO0FBQUEsRUFHOUMsU0FBeUI7QUFDbkMsV0FBQSx3Q0FBd0MsTUFBTSxPQUFRLENBQUE7QUFBQSxFQUMvRDtBQUNGO0FBTmEsd0JBQ1ksU0FBeUIsQ0FBQyxzQkFBc0IsUUFBUSxLQUFLO0FBRHpFLDBCQUFOLGdCQUFBO0FBQUEsRUFETixjQUFjLG9CQUFvQjtBQUFBLEdBQ3RCLHVCQUFBOyJ9
@@ -1,13 +1,6 @@
1
1
  import { css, LitElement, html } from "lit";
2
2
  import { customElement } from "lit/decorators.js";
3
- const style = css`/** This mixin can be used to avoid spacing problems by inserting an invisible space as pseudo element. */
4
- /*
5
- * SBB table mixin
6
- * Notes:
7
- * We cannot use \`border-collapse\` because it is not compatible with the \`border-radius\` property.
8
- * Therefore, we have to build the grid avoiding double borders.
9
- */
10
- *,
3
+ const style = css`*,
11
4
  ::before,
12
5
  ::after {
13
6
  box-sizing: border-box;
@@ -19,8 +12,6 @@ const style = css`/** This mixin can be used to avoid spacing problems by insert
19
12
 
20
13
  .sbb-dialog-content {
21
14
  --sbb-scrollbar-width: var(--sbb-spacing-fixed-3x);
22
- /* Scrollbar itself */
23
- /* Hide button (top and bottom of the scrollbar) */
24
15
  }
25
16
  .sbb-dialog-content::-webkit-scrollbar {
26
17
  width: var(--sbb-scrollbar-width);
@@ -82,4 +73,4 @@ SbbDialogContentElement = __decorateClass([
82
73
  export {
83
74
  SbbDialogContentElement
84
75
  };
85
- //# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZGlhbG9nLWNvbnRlbnQuanMiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uL3NyYy9lbGVtZW50cy9kaWFsb2cvZGlhbG9nLWNvbnRlbnQvZGlhbG9nLWNvbnRlbnQudHMiXSwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHR5cGUgeyBDU1NSZXN1bHRHcm91cCwgVGVtcGxhdGVSZXN1bHQgfSBmcm9tICdsaXQnO1xuaW1wb3J0IHsgaHRtbCwgTGl0RWxlbWVudCB9IGZyb20gJ2xpdCc7XG5pbXBvcnQgeyBjdXN0b21FbGVtZW50IH0gZnJvbSAnbGl0L2RlY29yYXRvcnMuanMnO1xuXG5pbXBvcnQgc3R5bGUgZnJvbSAnLi9kaWFsb2ctY29udGVudC5zY3NzP2xpdCZpbmxpbmUnO1xuXG4vKipcbiAqIFVzZSB0aGlzIGNvbXBvbmVudCB0byBwcm92aWRlIGEgY29udGVudCBmb3IgYW4gYHNiYi1kaWFsb2dgLlxuICpcbiAqIEBzbG90IC0gVXNlIHRoZSB1bm5hbWVkIHNsb3QgdG8gcHJvdmlkZSBhIGRpYWxvZyBjb250ZW50LlxuICovXG5AY3VzdG9tRWxlbWVudCgnc2JiLWRpYWxvZy1jb250ZW50JylcbmV4cG9ydCBjbGFzcyBTYmJEaWFsb2dDb250ZW50RWxlbWVudCBleHRlbmRzIExpdEVsZW1lbnQge1xuICBwdWJsaWMgc3RhdGljIG92ZXJyaWRlIHN0eWxlczogQ1NTUmVzdWx0R3JvdXAgPSBzdHlsZTtcblxuICBwcm90ZWN0ZWQgb3ZlcnJpZGUgcmVuZGVyKCk6IFRlbXBsYXRlUmVzdWx0IHtcbiAgICByZXR1cm4gaHRtbGBcbiAgICAgIDxkaXYgY2xhc3M9XCJzYmItZGlhbG9nLWNvbnRlbnRcIj5cbiAgICAgICAgPHNsb3Q+PC9zbG90PlxuICAgICAgPC9kaXY+XG4gICAgYDtcbiAgfVxufVxuXG5kZWNsYXJlIGdsb2JhbCB7XG4gIGludGVyZmFjZSBIVE1MRWxlbWVudFRhZ05hbWVNYXAge1xuICAgIC8vIGVzbGludC1kaXNhYmxlLW5leHQtbGluZSBAdHlwZXNjcmlwdC1lc2xpbnQvbmFtaW5nLWNvbnZlbnRpb25cbiAgICAnc2JiLWRpYWxvZy1jb250ZW50JzogU2JiRGlhbG9nQ29udGVudEVsZW1lbnQ7XG4gIH1cbn1cbiJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiOzs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7OztBQVlhLElBQUEsMEJBQU4sY0FBc0MsV0FBVztBQUFBLEVBR25DLFNBQXlCO0FBQ25DLFdBQUE7QUFBQTtBQUFBO0FBQUE7QUFBQTtBQUFBLEVBS1Q7QUFDRjtBQVZhLHdCQUNZLFNBQXlCO0FBRHJDLDBCQUFOLGdCQUFBO0FBQUEsRUFETixjQUFjLG9CQUFvQjtBQUFBLEdBQ3RCLHVCQUFBOyJ9
76
+ //# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZGlhbG9nLWNvbnRlbnQuanMiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uL3NyYy9lbGVtZW50cy9kaWFsb2cvZGlhbG9nLWNvbnRlbnQvZGlhbG9nLWNvbnRlbnQudHMiXSwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHR5cGUgeyBDU1NSZXN1bHRHcm91cCwgVGVtcGxhdGVSZXN1bHQgfSBmcm9tICdsaXQnO1xuaW1wb3J0IHsgaHRtbCwgTGl0RWxlbWVudCB9IGZyb20gJ2xpdCc7XG5pbXBvcnQgeyBjdXN0b21FbGVtZW50IH0gZnJvbSAnbGl0L2RlY29yYXRvcnMuanMnO1xuXG5pbXBvcnQgc3R5bGUgZnJvbSAnLi9kaWFsb2ctY29udGVudC5zY3NzP2xpdCZpbmxpbmUnO1xuXG4vKipcbiAqIFVzZSB0aGlzIGNvbXBvbmVudCB0byBwcm92aWRlIGEgY29udGVudCBmb3IgYW4gYHNiYi1kaWFsb2dgLlxuICpcbiAqIEBzbG90IC0gVXNlIHRoZSB1bm5hbWVkIHNsb3QgdG8gcHJvdmlkZSBhIGRpYWxvZyBjb250ZW50LlxuICovXG5AY3VzdG9tRWxlbWVudCgnc2JiLWRpYWxvZy1jb250ZW50JylcbmV4cG9ydCBjbGFzcyBTYmJEaWFsb2dDb250ZW50RWxlbWVudCBleHRlbmRzIExpdEVsZW1lbnQge1xuICBwdWJsaWMgc3RhdGljIG92ZXJyaWRlIHN0eWxlczogQ1NTUmVzdWx0R3JvdXAgPSBzdHlsZTtcblxuICBwcm90ZWN0ZWQgb3ZlcnJpZGUgcmVuZGVyKCk6IFRlbXBsYXRlUmVzdWx0IHtcbiAgICByZXR1cm4gaHRtbGBcbiAgICAgIDxkaXYgY2xhc3M9XCJzYmItZGlhbG9nLWNvbnRlbnRcIj5cbiAgICAgICAgPHNsb3Q+PC9zbG90PlxuICAgICAgPC9kaXY+XG4gICAgYDtcbiAgfVxufVxuXG5kZWNsYXJlIGdsb2JhbCB7XG4gIGludGVyZmFjZSBIVE1MRWxlbWVudFRhZ05hbWVNYXAge1xuICAgIC8vIGVzbGludC1kaXNhYmxlLW5leHQtbGluZSBAdHlwZXNjcmlwdC1lc2xpbnQvbmFtaW5nLWNvbnZlbnRpb25cbiAgICAnc2JiLWRpYWxvZy1jb250ZW50JzogU2JiRGlhbG9nQ29udGVudEVsZW1lbnQ7XG4gIH1cbn1cbiJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiOzs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7OztBQVlhLElBQUEsMEJBQU4sY0FBc0MsV0FBVztBQUFBLEVBR25DLFNBQXlCO0FBQ25DLFdBQUE7QUFBQTtBQUFBO0FBQUE7QUFBQTtBQUFBLEVBS1Q7QUFDRjtBQVZhLHdCQUNZLFNBQXlCO0FBRHJDLDBCQUFOLGdCQUFBO0FBQUEsRUFETixjQUFjLG9CQUFvQjtBQUFBLEdBQ3RCLHVCQUFBOyJ9
@@ -8,14 +8,7 @@ import { i18nCloseDialog, i18nGoBack } from "../core/i18n.js";
8
8
  import { SbbTitleBase } from "../title.js";
9
9
  import "../button/secondary-button.js";
10
10
  import "../button/transparent-button.js";
11
- const style = css`/** This mixin can be used to avoid spacing problems by inserting an invisible space as pseudo element. */
12
- /*
13
- * SBB table mixin
14
- * Notes:
15
- * We cannot use \`border-collapse\` because it is not compatible with the \`border-radius\` property.
16
- * Therefore, we have to build the grid avoiding double borders.
17
- */
18
- :host {
11
+ const style = css`:host {
19
12
  --sbb-dialog-title-padding-block: var(--sbb-spacing-responsive-s) 0;
20
13
  display: contents;
21
14
  }
@@ -157,4 +150,4 @@ SbbDialogTitleElement = __decorateClass([
157
150
  export {
158
151
  SbbDialogTitleElement
159
152
  };
160
- //# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZGlhbG9nLXRpdGxlLmpzIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi9zcmMvZWxlbWVudHMvZGlhbG9nL2RpYWxvZy10aXRsZS9kaWFsb2ctdGl0bGUudHMiXSwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHR5cGUgeyBDU1NSZXN1bHRHcm91cCwgUHJvcGVydHlWYWx1ZXMsIFRlbXBsYXRlUmVzdWx0IH0gZnJvbSAnbGl0JztcbmltcG9ydCB7IG5vdGhpbmcgfSBmcm9tICdsaXQnO1xuaW1wb3J0IHsgY3VzdG9tRWxlbWVudCwgcHJvcGVydHkgfSBmcm9tICdsaXQvZGVjb3JhdG9ycy5qcyc7XG5pbXBvcnQgeyBodG1sLCB1bnNhZmVTdGF0aWMgfSBmcm9tICdsaXQvc3RhdGljLWh0bWwuanMnO1xuXG5pbXBvcnQgeyBTYmJGb2N1c1Zpc2libGVXaXRoaW5Db250cm9sbGVyIH0gZnJvbSAnLi4vLi4vY29yZS9hMTF5LmpzJztcbmltcG9ydCB7IFNiYkxhbmd1YWdlQ29udHJvbGxlciB9IGZyb20gJy4uLy4uL2NvcmUvY29udHJvbGxlcnMuanMnO1xuaW1wb3J0IHR5cGUgeyBCcmVha3BvaW50IH0gZnJvbSAnLi4vLi4vY29yZS9kb20uanMnO1xuaW1wb3J0IHsgRXZlbnRFbWl0dGVyIH0gZnJvbSAnLi4vLi4vY29yZS9ldmVudGluZy5qcyc7XG5pbXBvcnQgeyBpMThuQ2xvc2VEaWFsb2csIGkxOG5Hb0JhY2sgfSBmcm9tICcuLi8uLi9jb3JlL2kxOG4uanMnO1xuaW1wb3J0IHsgU2JiVGl0bGVCYXNlIH0gZnJvbSAnLi4vLi4vdGl0bGUuanMnO1xuXG5pbXBvcnQgc3R5bGUgZnJvbSAnLi9kaWFsb2ctdGl0bGUuc2Nzcz9saXQmaW5saW5lJztcblxuaW1wb3J0ICcuLi8uLi9idXR0b24vc2Vjb25kYXJ5LWJ1dHRvbi5qcyc7XG5pbXBvcnQgJy4uLy4uL2J1dHRvbi90cmFuc3BhcmVudC1idXR0b24uanMnO1xuXG4vKipcbiAqIEl0IGRpc3BsYXlzIGEgdGl0bGUgaW5zaWRlIGEgZGlhbG9nIGhlYWRlci5cbiAqXG4gKiBAZXZlbnQge0N1c3RvbUV2ZW50PHZvaWQ+fSByZXF1ZXN0QmFja0FjdGlvbiAtIEVtaXRzIHdoZW5ldmVyIHRoZSBiYWNrIGJ1dHRvbiBpcyBjbGlja2VkLlxuICovXG5AY3VzdG9tRWxlbWVudCgnc2JiLWRpYWxvZy10aXRsZScpXG5leHBvcnQgY2xhc3MgU2JiRGlhbG9nVGl0bGVFbGVtZW50IGV4dGVuZHMgU2JiVGl0bGVCYXNlIHtcbiAgcHVibGljIHN0YXRpYyBvdmVycmlkZSBzdHlsZXM6IENTU1Jlc3VsdEdyb3VwID0gW1NiYlRpdGxlQmFzZS5zdHlsZXMsIHN0eWxlXTtcbiAgcHVibGljIHN0YXRpYyByZWFkb25seSBldmVudHM6IFJlY29yZDxzdHJpbmcsIHN0cmluZz4gPSB7XG4gICAgYmFja0NsaWNrOiAncmVxdWVzdEJhY2tBY3Rpb24nLFxuICB9IGFzIGNvbnN0O1xuXG4gIC8qKlxuICAgKiBXaGV0aGVyIGEgYmFjayBidXR0b24gaXMgZGlzcGxheWVkIG5leHQgdG8gdGhlIHRpdGxlLlxuICAgKi9cbiAgQHByb3BlcnR5KHsgYXR0cmlidXRlOiAnYmFjay1idXR0b24nLCB0eXBlOiBCb29sZWFuIH0pIHB1YmxpYyBiYWNrQnV0dG9uID0gZmFsc2U7XG5cbiAgLyoqXG4gICAqIFRoaXMgd2lsbCBiZSBmb3J3YXJkZWQgYXMgYXJpYS1sYWJlbCB0byB0aGUgY2xvc2UgYnV0dG9uIGVsZW1lbnQuXG4gICAqL1xuICBAcHJvcGVydHkoeyBhdHRyaWJ1dGU6ICdhY2Nlc3NpYmlsaXR5LWNsb3NlLWxhYmVsJyB9KSBwdWJsaWMgYWNjZXNzaWJpbGl0eUNsb3NlTGFiZWw6XG4gICAgfCBzdHJpbmdcbiAgICB8IHVuZGVmaW5lZDtcblxuICAvKipcbiAgICogVGhpcyB3aWxsIGJlIGZvcndhcmRlZCBhcyBhcmlhLWxhYmVsIHRvIHRoZSBiYWNrIGJ1dHRvbiBlbGVtZW50LlxuICAgKi9cbiAgQHByb3BlcnR5KHsgYXR0cmlidXRlOiAnYWNjZXNzaWJpbGl0eS1iYWNrLWxhYmVsJyB9KSBwdWJsaWMgYWNjZXNzaWJpbGl0eUJhY2tMYWJlbDpcbiAgICB8IHN0cmluZ1xuICAgIHwgdW5kZWZpbmVkO1xuXG4gIC8qKlxuICAgKiBXaGV0aGVyIHRvIGhpZGUgdGhlIHRpdGxlIHVwIHRvIGEgY2VydGFpbiBicmVha3BvaW50LlxuICAgKi9cbiAgQHByb3BlcnR5KHsgYXR0cmlidXRlOiAnaGlkZS1vbi1zY3JvbGwnIH0pXG4gIHB1YmxpYyBzZXQgaGlkZU9uU2Nyb2xsKHZhbHVlOiAnJyB8IEJyZWFrcG9pbnQgfCBib29sZWFuKSB7XG4gICAgdGhpcy5faGlkZU9uU2Nyb2xsID0gdmFsdWUgPT09ICcnID8gdHJ1ZSA6IHZhbHVlO1xuICB9XG4gIHB1YmxpYyBnZXQgaGlkZU9uU2Nyb2xsKCk6IEJyZWFrcG9pbnQgfCBib29sZWFuIHtcbiAgICByZXR1cm4gdGhpcy5faGlkZU9uU2Nyb2xsO1xuICB9XG4gIHByaXZhdGUgX2hpZGVPblNjcm9sbDogQnJlYWtwb2ludCB8IGJvb2xlYW4gPSBmYWxzZTtcblxuICBwcml2YXRlIF9iYWNrQ2xpY2s6IEV2ZW50RW1pdHRlcjxhbnk+ID0gbmV3IEV2ZW50RW1pdHRlcihcbiAgICB0aGlzLFxuICAgIFNiYkRpYWxvZ1RpdGxlRWxlbWVudC5ldmVudHMuYmFja0NsaWNrLFxuICApO1xuICBwcml2YXRlIF9sYW5ndWFnZSA9IG5ldyBTYmJMYW5ndWFnZUNvbnRyb2xsZXIodGhpcyk7XG5cbiAgcHVibGljIGNvbnN0cnVjdG9yKCkge1xuICAgIHN1cGVyKCk7XG4gICAgdGhpcy5sZXZlbCA9ICcyJztcbiAgICB0aGlzLnZpc3VhbExldmVsID0gJzMnO1xuICB9XG5cbiAgcHVibGljIG92ZXJyaWRlIGNvbm5lY3RlZENhbGxiYWNrKCk6IHZvaWQge1xuICAgIHN1cGVyLmNvbm5lY3RlZENhbGxiYWNrKCk7XG4gICAgbmV3IFNiYkZvY3VzVmlzaWJsZVdpdGhpbkNvbnRyb2xsZXIodGhpcyk7XG4gIH1cblxuICBwcm90ZWN0ZWQgb3ZlcnJpZGUgd2lsbFVwZGF0ZShjaGFuZ2VkUHJvcGVydGllczogUHJvcGVydHlWYWx1ZXM8dGhpcz4pOiB2b2lkIHtcbiAgICBzdXBlci53aWxsVXBkYXRlKGNoYW5nZWRQcm9wZXJ0aWVzKTtcblxuICAgIGlmIChjaGFuZ2VkUHJvcGVydGllcy5oYXMoJ2JhY2tCdXR0b24nKSB8fCBjaGFuZ2VkUHJvcGVydGllcy5oYXMoJ2FjY2Vzc2liaWxpdHlCYWNrTGFiZWwnKSkge1xuICAgICAgdGhpcy5iYWNrQnV0dG9uID0gIXRoaXMuYmFja0J1dHRvbiAmJiAhIXRoaXMuYWNjZXNzaWJpbGl0eUJhY2tMYWJlbCA/IHRydWUgOiB0aGlzLmJhY2tCdXR0b247XG4gICAgfVxuICB9XG5cbiAgcHJvdGVjdGVkIG92ZXJyaWRlIHJlbmRlcigpOiBUZW1wbGF0ZVJlc3VsdCB7XG4gICAgY29uc3QgVEFHX05BTUUgPSB0aGlzLm5lZ2F0aXZlID8gJ3NiYi10cmFuc3BhcmVudC1idXR0b24nIDogJ3NiYi1zZWNvbmRhcnktYnV0dG9uJztcblxuICAgIC8qIGVzbGludC1kaXNhYmxlIGxpdC9iaW5kaW5nLXBvc2l0aW9ucyAqL1xuICAgIGNvbnN0IGNsb3NlQnV0dG9uID0gaHRtbGBcbiAgICAgIDwke3Vuc2FmZVN0YXRpYyhUQUdfTkFNRSl9XG4gICAgICAgIGNsYXNzPVwic2JiLWRpYWxvZ19fY2xvc2VcIlxuICAgICAgICBhcmlhLWxhYmVsPSR7dGhpcy5hY2Nlc3NpYmlsaXR5Q2xvc2VMYWJlbCB8fCBpMThuQ2xvc2VEaWFsb2dbdGhpcy5fbGFuZ3VhZ2UuY3VycmVudF19XG4gICAgICAgID9uZWdhdGl2ZT0ke3RoaXMubmVnYXRpdmV9XG4gICAgICAgIHNpemU9XCJtXCJcbiAgICAgICAgdHlwZT1cImJ1dHRvblwiXG4gICAgICAgIGljb24tbmFtZT1cImNyb3NzLXNtYWxsXCJcbiAgICAgICAgc2JiLWRpYWxvZy1jbG9zZVxuICAgICAgPjwvJHt1bnNhZmVTdGF0aWMoVEFHX05BTUUpfT5cbiAgICBgO1xuXG4gICAgY29uc3QgYmFja0J1dHRvbiA9IGh0bWxgXG4gICAgICA8JHt1bnNhZmVTdGF0aWMoVEFHX05BTUUpfVxuICAgICAgICBjbGFzcz1cInNiYi1kaWFsb2dfX2JhY2tcIlxuICAgICAgICBhcmlhLWxhYmVsPSR7dGhpcy5hY2Nlc3NpYmlsaXR5QmFja0xhYmVsIHx8IGkxOG5Hb0JhY2tbdGhpcy5fbGFuZ3VhZ2UuY3VycmVudF19XG4gICAgICAgID9uZWdhdGl2ZT0ke3RoaXMubmVnYXRpdmV9XG4gICAgICAgIHNpemU9XCJtXCJcbiAgICAgICAgdHlwZT1cImJ1dHRvblwiXG4gICAgICAgIGljb24tbmFtZT1cImNoZXZyb24tc21hbGwtbGVmdC1zbWFsbFwiXG4gICAgICAgIEBjbGljaz0keygpID0+IHRoaXMuX2JhY2tDbGljay5lbWl0KCl9XG4gICAgICA+PC8ke3Vuc2FmZVN0YXRpYyhUQUdfTkFNRSl9PlxuICAgIGA7XG4gICAgLyogZXNsaW50LWVuYWJsZSBsaXQvYmluZGluZy1wb3NpdGlvbnMgKi9cblxuICAgIHJldHVybiBodG1sYFxuICAgICAgPGRpdiBjbGFzcz1cInNiYi1kaWFsb2dfX2hlYWRlclwiPlxuICAgICAgICAke3RoaXMuYmFja0J1dHRvbiA/IGJhY2tCdXR0b24gOiBub3RoaW5nfSAke3N1cGVyLnJlbmRlcigpfSAke2Nsb3NlQnV0dG9ufVxuICAgICAgPC9kaXY+XG4gICAgYDtcbiAgfVxufVxuXG5kZWNsYXJlIGdsb2JhbCB7XG4gIGludGVyZmFjZSBIVE1MRWxlbWVudFRhZ05hbWVNYXAge1xuICAgIC8vIGVzbGludC1kaXNhYmxlLW5leHQtbGluZSBAdHlwZXNjcmlwdC1lc2xpbnQvbmFtaW5nLWNvbnZlbnRpb25cbiAgICAnc2JiLWRpYWxvZy10aXRsZSc6IFNiYkRpYWxvZ1RpdGxlRWxlbWVudDtcbiAgfVxufVxuIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiI7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7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
153
+ //# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZGlhbG9nLXRpdGxlLmpzIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi9zcmMvZWxlbWVudHMvZGlhbG9nL2RpYWxvZy10aXRsZS9kaWFsb2ctdGl0bGUudHMiXSwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHR5cGUgeyBDU1NSZXN1bHRHcm91cCwgUHJvcGVydHlWYWx1ZXMsIFRlbXBsYXRlUmVzdWx0IH0gZnJvbSAnbGl0JztcbmltcG9ydCB7IG5vdGhpbmcgfSBmcm9tICdsaXQnO1xuaW1wb3J0IHsgY3VzdG9tRWxlbWVudCwgcHJvcGVydHkgfSBmcm9tICdsaXQvZGVjb3JhdG9ycy5qcyc7XG5pbXBvcnQgeyBodG1sLCB1bnNhZmVTdGF0aWMgfSBmcm9tICdsaXQvc3RhdGljLWh0bWwuanMnO1xuXG5pbXBvcnQgeyBTYmJGb2N1c1Zpc2libGVXaXRoaW5Db250cm9sbGVyIH0gZnJvbSAnLi4vLi4vY29yZS9hMTF5LmpzJztcbmltcG9ydCB7IFNiYkxhbmd1YWdlQ29udHJvbGxlciB9IGZyb20gJy4uLy4uL2NvcmUvY29udHJvbGxlcnMuanMnO1xuaW1wb3J0IHR5cGUgeyBCcmVha3BvaW50IH0gZnJvbSAnLi4vLi4vY29yZS9kb20uanMnO1xuaW1wb3J0IHsgRXZlbnRFbWl0dGVyIH0gZnJvbSAnLi4vLi4vY29yZS9ldmVudGluZy5qcyc7XG5pbXBvcnQgeyBpMThuQ2xvc2VEaWFsb2csIGkxOG5Hb0JhY2sgfSBmcm9tICcuLi8uLi9jb3JlL2kxOG4uanMnO1xuaW1wb3J0IHsgU2JiVGl0bGVCYXNlIH0gZnJvbSAnLi4vLi4vdGl0bGUuanMnO1xuXG5pbXBvcnQgc3R5bGUgZnJvbSAnLi9kaWFsb2ctdGl0bGUuc2Nzcz9saXQmaW5saW5lJztcblxuaW1wb3J0ICcuLi8uLi9idXR0b24vc2Vjb25kYXJ5LWJ1dHRvbi5qcyc7XG5pbXBvcnQgJy4uLy4uL2J1dHRvbi90cmFuc3BhcmVudC1idXR0b24uanMnO1xuXG4vKipcbiAqIEl0IGRpc3BsYXlzIGEgdGl0bGUgaW5zaWRlIGEgZGlhbG9nIGhlYWRlci5cbiAqXG4gKiBAZXZlbnQge0N1c3RvbUV2ZW50PHZvaWQ+fSByZXF1ZXN0QmFja0FjdGlvbiAtIEVtaXRzIHdoZW5ldmVyIHRoZSBiYWNrIGJ1dHRvbiBpcyBjbGlja2VkLlxuICovXG5AY3VzdG9tRWxlbWVudCgnc2JiLWRpYWxvZy10aXRsZScpXG5leHBvcnQgY2xhc3MgU2JiRGlhbG9nVGl0bGVFbGVtZW50IGV4dGVuZHMgU2JiVGl0bGVCYXNlIHtcbiAgcHVibGljIHN0YXRpYyBvdmVycmlkZSBzdHlsZXM6IENTU1Jlc3VsdEdyb3VwID0gW1NiYlRpdGxlQmFzZS5zdHlsZXMsIHN0eWxlXTtcbiAgcHVibGljIHN0YXRpYyByZWFkb25seSBldmVudHM6IFJlY29yZDxzdHJpbmcsIHN0cmluZz4gPSB7XG4gICAgYmFja0NsaWNrOiAncmVxdWVzdEJhY2tBY3Rpb24nLFxuICB9IGFzIGNvbnN0O1xuXG4gIC8qKlxuICAgKiBXaGV0aGVyIGEgYmFjayBidXR0b24gaXMgZGlzcGxheWVkIG5leHQgdG8gdGhlIHRpdGxlLlxuICAgKi9cbiAgQHByb3BlcnR5KHsgYXR0cmlidXRlOiAnYmFjay1idXR0b24nLCB0eXBlOiBCb29sZWFuIH0pIHB1YmxpYyBiYWNrQnV0dG9uID0gZmFsc2U7XG5cbiAgLyoqXG4gICAqIFRoaXMgd2lsbCBiZSBmb3J3YXJkZWQgYXMgYXJpYS1sYWJlbCB0byB0aGUgY2xvc2UgYnV0dG9uIGVsZW1lbnQuXG4gICAqL1xuICBAcHJvcGVydHkoeyBhdHRyaWJ1dGU6ICdhY2Nlc3NpYmlsaXR5LWNsb3NlLWxhYmVsJyB9KSBwdWJsaWMgYWNjZXNzaWJpbGl0eUNsb3NlTGFiZWw6XG4gICAgfCBzdHJpbmdcbiAgICB8IHVuZGVmaW5lZDtcblxuICAvKipcbiAgICogVGhpcyB3aWxsIGJlIGZvcndhcmRlZCBhcyBhcmlhLWxhYmVsIHRvIHRoZSBiYWNrIGJ1dHRvbiBlbGVtZW50LlxuICAgKi9cbiAgQHByb3BlcnR5KHsgYXR0cmlidXRlOiAnYWNjZXNzaWJpbGl0eS1iYWNrLWxhYmVsJyB9KSBwdWJsaWMgYWNjZXNzaWJpbGl0eUJhY2tMYWJlbDpcbiAgICB8IHN0cmluZ1xuICAgIHwgdW5kZWZpbmVkO1xuXG4gIC8qKlxuICAgKiBXaGV0aGVyIHRvIGhpZGUgdGhlIHRpdGxlIHVwIHRvIGEgY2VydGFpbiBicmVha3BvaW50LlxuICAgKi9cbiAgQHByb3BlcnR5KHsgYXR0cmlidXRlOiAnaGlkZS1vbi1zY3JvbGwnIH0pXG4gIHB1YmxpYyBzZXQgaGlkZU9uU2Nyb2xsKHZhbHVlOiAnJyB8IEJyZWFrcG9pbnQgfCBib29sZWFuKSB7XG4gICAgdGhpcy5faGlkZU9uU2Nyb2xsID0gdmFsdWUgPT09ICcnID8gdHJ1ZSA6IHZhbHVlO1xuICB9XG4gIHB1YmxpYyBnZXQgaGlkZU9uU2Nyb2xsKCk6IEJyZWFrcG9pbnQgfCBib29sZWFuIHtcbiAgICByZXR1cm4gdGhpcy5faGlkZU9uU2Nyb2xsO1xuICB9XG4gIHByaXZhdGUgX2hpZGVPblNjcm9sbDogQnJlYWtwb2ludCB8IGJvb2xlYW4gPSBmYWxzZTtcblxuICBwcml2YXRlIF9iYWNrQ2xpY2s6IEV2ZW50RW1pdHRlcjxhbnk+ID0gbmV3IEV2ZW50RW1pdHRlcihcbiAgICB0aGlzLFxuICAgIFNiYkRpYWxvZ1RpdGxlRWxlbWVudC5ldmVudHMuYmFja0NsaWNrLFxuICApO1xuICBwcml2YXRlIF9sYW5ndWFnZSA9IG5ldyBTYmJMYW5ndWFnZUNvbnRyb2xsZXIodGhpcyk7XG5cbiAgcHVibGljIGNvbnN0cnVjdG9yKCkge1xuICAgIHN1cGVyKCk7XG4gICAgdGhpcy5sZXZlbCA9ICcyJztcbiAgICB0aGlzLnZpc3VhbExldmVsID0gJzMnO1xuICB9XG5cbiAgcHVibGljIG92ZXJyaWRlIGNvbm5lY3RlZENhbGxiYWNrKCk6IHZvaWQge1xuICAgIHN1cGVyLmNvbm5lY3RlZENhbGxiYWNrKCk7XG4gICAgbmV3IFNiYkZvY3VzVmlzaWJsZVdpdGhpbkNvbnRyb2xsZXIodGhpcyk7XG4gIH1cblxuICBwcm90ZWN0ZWQgb3ZlcnJpZGUgd2lsbFVwZGF0ZShjaGFuZ2VkUHJvcGVydGllczogUHJvcGVydHlWYWx1ZXM8dGhpcz4pOiB2b2lkIHtcbiAgICBzdXBlci53aWxsVXBkYXRlKGNoYW5nZWRQcm9wZXJ0aWVzKTtcblxuICAgIGlmIChjaGFuZ2VkUHJvcGVydGllcy5oYXMoJ2JhY2tCdXR0b24nKSB8fCBjaGFuZ2VkUHJvcGVydGllcy5oYXMoJ2FjY2Vzc2liaWxpdHlCYWNrTGFiZWwnKSkge1xuICAgICAgdGhpcy5iYWNrQnV0dG9uID0gIXRoaXMuYmFja0J1dHRvbiAmJiAhIXRoaXMuYWNjZXNzaWJpbGl0eUJhY2tMYWJlbCA/IHRydWUgOiB0aGlzLmJhY2tCdXR0b247XG4gICAgfVxuICB9XG5cbiAgcHJvdGVjdGVkIG92ZXJyaWRlIHJlbmRlcigpOiBUZW1wbGF0ZVJlc3VsdCB7XG4gICAgY29uc3QgVEFHX05BTUUgPSB0aGlzLm5lZ2F0aXZlID8gJ3NiYi10cmFuc3BhcmVudC1idXR0b24nIDogJ3NiYi1zZWNvbmRhcnktYnV0dG9uJztcblxuICAgIC8qIGVzbGludC1kaXNhYmxlIGxpdC9iaW5kaW5nLXBvc2l0aW9ucyAqL1xuICAgIGNvbnN0IGNsb3NlQnV0dG9uID0gaHRtbGBcbiAgICAgIDwke3Vuc2FmZVN0YXRpYyhUQUdfTkFNRSl9XG4gICAgICAgIGNsYXNzPVwic2JiLWRpYWxvZ19fY2xvc2VcIlxuICAgICAgICBhcmlhLWxhYmVsPSR7dGhpcy5hY2Nlc3NpYmlsaXR5Q2xvc2VMYWJlbCB8fCBpMThuQ2xvc2VEaWFsb2dbdGhpcy5fbGFuZ3VhZ2UuY3VycmVudF19XG4gICAgICAgID9uZWdhdGl2ZT0ke3RoaXMubmVnYXRpdmV9XG4gICAgICAgIHNpemU9XCJtXCJcbiAgICAgICAgdHlwZT1cImJ1dHRvblwiXG4gICAgICAgIGljb24tbmFtZT1cImNyb3NzLXNtYWxsXCJcbiAgICAgICAgc2JiLWRpYWxvZy1jbG9zZVxuICAgICAgPjwvJHt1bnNhZmVTdGF0aWMoVEFHX05BTUUpfT5cbiAgICBgO1xuXG4gICAgY29uc3QgYmFja0J1dHRvbiA9IGh0bWxgXG4gICAgICA8JHt1bnNhZmVTdGF0aWMoVEFHX05BTUUpfVxuICAgICAgICBjbGFzcz1cInNiYi1kaWFsb2dfX2JhY2tcIlxuICAgICAgICBhcmlhLWxhYmVsPSR7dGhpcy5hY2Nlc3NpYmlsaXR5QmFja0xhYmVsIHx8IGkxOG5Hb0JhY2tbdGhpcy5fbGFuZ3VhZ2UuY3VycmVudF19XG4gICAgICAgID9uZWdhdGl2ZT0ke3RoaXMubmVnYXRpdmV9XG4gICAgICAgIHNpemU9XCJtXCJcbiAgICAgICAgdHlwZT1cImJ1dHRvblwiXG4gICAgICAgIGljb24tbmFtZT1cImNoZXZyb24tc21hbGwtbGVmdC1zbWFsbFwiXG4gICAgICAgIEBjbGljaz0keygpID0+IHRoaXMuX2JhY2tDbGljay5lbWl0KCl9XG4gICAgICA+PC8ke3Vuc2FmZVN0YXRpYyhUQUdfTkFNRSl9PlxuICAgIGA7XG4gICAgLyogZXNsaW50LWVuYWJsZSBsaXQvYmluZGluZy1wb3NpdGlvbnMgKi9cblxuICAgIHJldHVybiBodG1sYFxuICAgICAgPGRpdiBjbGFzcz1cInNiYi1kaWFsb2dfX2hlYWRlclwiPlxuICAgICAgICAke3RoaXMuYmFja0J1dHRvbiA/IGJhY2tCdXR0b24gOiBub3RoaW5nfSAke3N1cGVyLnJlbmRlcigpfSAke2Nsb3NlQnV0dG9ufVxuICAgICAgPC9kaXY+XG4gICAgYDtcbiAgfVxufVxuXG5kZWNsYXJlIGdsb2JhbCB7XG4gIGludGVyZmFjZSBIVE1MRWxlbWVudFRhZ05hbWVNYXAge1xuICAgIC8vIGVzbGludC1kaXNhYmxlLW5leHQtbGluZSBAdHlwZXNjcmlwdC1lc2xpbnQvbmFtaW5nLWNvbnZlbnRpb25cbiAgICAnc2JiLWRpYWxvZy10aXRsZSc6IFNiYkRpYWxvZ1RpdGxlRWxlbWVudDtcbiAgfVxufVxuIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiI7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7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
@@ -6,14 +6,7 @@ import { isBreakpoint } from "../core/dom.js";
6
6
  import { SbbOverlayBaseElement, overlayRefs } from "../overlay.js";
7
7
  import { css } from "lit";
8
8
  import "../screen-reader-only.js";
9
- const style = css`/** This mixin can be used to avoid spacing problems by inserting an invisible space as pseudo element. */
10
- /*
11
- * SBB table mixin
12
- * Notes:
13
- * We cannot use \`border-collapse\` because it is not compatible with the \`border-radius\` property.
14
- * Therefore, we have to build the grid avoiding double borders.
15
- */
16
- *,
9
+ const style = css`*,
17
10
  ::before,
18
11
  ::after {
19
12
  box-sizing: border-box;
@@ -429,4 +422,4 @@ SbbDialogElement = __decorateClass([
429
422
  export {
430
423
  SbbDialogElement
431
424
  };
432
- //# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZGlhbG9nLmpzIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi9zcmMvZWxlbWVudHMvZGlhbG9nL2RpYWxvZy9kaWFsb2cudHMiXSwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgUmVzaXplQ29udHJvbGxlciB9IGZyb20gJ0BsaXQtbGFicy9vYnNlcnZlcnMvcmVzaXplLWNvbnRyb2xsZXIuanMnO1xuaW1wb3J0IHR5cGUgeyBDU1NSZXN1bHRHcm91cCwgUHJvcGVydHlWYWx1ZXMsIFRlbXBsYXRlUmVzdWx0IH0gZnJvbSAnbGl0JztcbmltcG9ydCB7IGN1c3RvbUVsZW1lbnQsIHByb3BlcnR5IH0gZnJvbSAnbGl0L2RlY29yYXRvcnMuanMnO1xuaW1wb3J0IHsgaHRtbCB9IGZyb20gJ2xpdC9zdGF0aWMtaHRtbC5qcyc7XG5cbmltcG9ydCB7IGdldEZpcnN0Rm9jdXNhYmxlRWxlbWVudCwgc2V0TW9kYWxpdHlPbk5leHRGb2N1cyB9IGZyb20gJy4uLy4uL2NvcmUvYTExeS5qcyc7XG5pbXBvcnQgeyBpc0JyZWFrcG9pbnQgfSBmcm9tICcuLi8uLi9jb3JlL2RvbS5qcyc7XG5pbXBvcnQgeyBvdmVybGF5UmVmcywgU2JiT3ZlcmxheUJhc2VFbGVtZW50IH0gZnJvbSAnLi4vLi4vb3ZlcmxheS5qcyc7XG5pbXBvcnQgdHlwZSB7IFNiYkRpYWxvZ0FjdGlvbnNFbGVtZW50IH0gZnJvbSAnLi4vZGlhbG9nLWFjdGlvbnMuanMnO1xuaW1wb3J0IHR5cGUgeyBTYmJEaWFsb2dUaXRsZUVsZW1lbnQgfSBmcm9tICcuLi9kaWFsb2ctdGl0bGUuanMnO1xuXG5pbXBvcnQgc3R5bGUgZnJvbSAnLi9kaWFsb2cuc2Nzcz9saXQmaW5saW5lJztcblxuaW1wb3J0ICcuLi8uLi9zY3JlZW4tcmVhZGVyLW9ubHkuanMnO1xuXG5sZXQgbmV4dElkID0gMDtcblxuLyoqXG4gKiBJdCBkaXNwbGF5cyBhbiBpbnRlcmFjdGl2ZSBvdmVybGF5IGVsZW1lbnQuXG4gKlxuICogQHNsb3QgLSBVc2UgdGhlIHVubmFtZWQgc2xvdCB0byBwcm92aWRlIGEgYHNiYi1kaWFsb2ctdGl0bGVgLCBgc2JiLWRpYWxvZy1jb250ZW50YCBhbmQgYW4gb3B0aW9uYWwgYHNiYi1kaWFsb2ctYWN0aW9uc2AuXG4gKiBAZXZlbnQge0N1c3RvbUV2ZW50PHZvaWQ+fSB3aWxsT3BlbiAtIEVtaXRzIHdoZW5ldmVyIHRoZSBgc2JiLWRpYWxvZ2Agc3RhcnRzIHRoZSBvcGVuaW5nIHRyYW5zaXRpb24uIENhbiBiZSBjYW5jZWxlZC5cbiAqIEBldmVudCB7Q3VzdG9tRXZlbnQ8dm9pZD59IGRpZE9wZW4gLSBFbWl0cyB3aGVuZXZlciB0aGUgYHNiYi1kaWFsb2dgIGlzIG9wZW5lZC5cbiAqIEBldmVudCB7Q3VzdG9tRXZlbnQ8dm9pZD59IHdpbGxDbG9zZSAtIEVtaXRzIHdoZW5ldmVyIHRoZSBgc2JiLWRpYWxvZ2AgYmVnaW5zIHRoZSBjbG9zaW5nIHRyYW5zaXRpb24uIENhbiBiZSBjYW5jZWxlZC5cbiAqIEBldmVudCB7Q3VzdG9tRXZlbnQ8U2JiT3ZlcmxheUNsb3NlRXZlbnREZXRhaWxzPn0gZGlkQ2xvc2UgLSBFbWl0cyB3aGVuZXZlciB0aGUgYHNiYi1kaWFsb2dgIGlzIGNsb3NlZC5cbiAqIEBjc3Nwcm9wIFstLXNiYi1kaWFsb2ctei1pbmRleD12YXIoLS1zYmItb3ZlcmxheS1kZWZhdWx0LXotaW5kZXgpXSAtIFRvIHNwZWNpZnkgYSBjdXN0b20gc3RhY2sgb3JkZXIsXG4gKiB0aGUgYHotaW5kZXhgIGNhbiBiZSBvdmVycmlkZGVuIGJ5IGRlZmluaW5nIHRoaXMgQ1NTIHZhcmlhYmxlLiBUaGUgZGVmYXVsdCBgei1pbmRleGAgb2YgdGhlXG4gKiBjb21wb25lbnQgaXMgc2V0IHRvIGB2YXIoLS1zYmItb3ZlcmxheS1kZWZhdWx0LXotaW5kZXgpYCB3aXRoIGEgdmFsdWUgb2YgYDEwMDBgLlxuICovXG5AY3VzdG9tRWxlbWVudCgnc2JiLWRpYWxvZycpXG5leHBvcnQgY2xhc3MgU2JiRGlhbG9nRWxlbWVudCBleHRlbmRzIFNiYk92ZXJsYXlCYXNlRWxlbWVudCB7XG4gIHB1YmxpYyBzdGF0aWMgb3ZlcnJpZGUgc3R5bGVzOiBDU1NSZXN1bHRHcm91cCA9IHN0eWxlO1xuXG4gIC8qKiBCYWNrZHJvcCBjbGljayBhY3Rpb24uICovXG4gIEBwcm9wZXJ0eSh7IGF0dHJpYnV0ZTogJ2JhY2tkcm9wLWFjdGlvbicgfSkgcHVibGljIGJhY2tkcm9wQWN0aW9uOiAnY2xvc2UnIHwgJ25vbmUnID0gJ2Nsb3NlJztcblxuICAvLyBXZSB1c2UgYSB0aW1lb3V0IGFzIGEgd29ya2Fyb3VuZCB0byB0aGUgXCJSZXNpemVPYnNlcnZlciBsb29wIGNvbXBsZXRlZCB3aXRoIHVuZGVsaXZlcmVkIG5vdGlmaWNhdGlvbnNcIiBlcnJvci5cbiAgLy8gRm9yIG1vcmUgZGV0YWlsczpcbiAgLy8gLSBodHRwczovL2dpdGh1Yi5jb20vV0lDRy9yZXNpemUtb2JzZXJ2ZXIvaXNzdWVzLzM4I2lzc3VlY29tbWVudC00MjIxMjYwMDZcbiAgLy8gLSBodHRwczovL2dpdGh1Yi5jb20vanVnZ2xlL3Jlc2l6ZS1vYnNlcnZlci9pc3N1ZXMvMTAzI2lzc3VlY29tbWVudC0xNzExMTQ4Mjg1XG4gIHByaXZhdGUgX2RpYWxvZ0NvbnRlbnRSZXNpemVPYnNlcnZlciA9IG5ldyBSZXNpemVDb250cm9sbGVyKHRoaXMsIHtcbiAgICB0YXJnZXQ6IG51bGwsXG4gICAgc2tpcEluaXRpYWw6IHRydWUsXG4gICAgY2FsbGJhY2s6ICgpID0+IHNldFRpbWVvdXQoKCkgPT4gdGhpcy5fb25Db250ZW50UmVzaXplKCkpLFxuICB9KTtcblxuICBwcml2YXRlIF9kaWFsb2dUaXRsZUVsZW1lbnQ6IFNiYkRpYWxvZ1RpdGxlRWxlbWVudCB8IG51bGwgPSBudWxsO1xuICBwcml2YXRlIF9kaWFsb2dUaXRsZUhlaWdodD86IG51bWJlcjtcbiAgcHJpdmF0ZSBfZGlhbG9nQ29udGVudEVsZW1lbnQ6IEhUTUxFbGVtZW50IHwgbnVsbCA9IG51bGw7XG4gIHByaXZhdGUgX2RpYWxvZ0FjdGlvbnNFbGVtZW50OiBTYmJEaWFsb2dBY3Rpb25zRWxlbWVudCB8IG51bGwgPSBudWxsO1xuICBwcml2YXRlIF9pc1BvaW50ZXJEb3duRXZlbnRPbkRpYWxvZzogYm9vbGVhbiA9IGZhbHNlO1xuICBwcml2YXRlIF9vdmVyZmxvd3M6IGJvb2xlYW4gPSBmYWxzZTtcbiAgcHJpdmF0ZSBfbGFzdFNjcm9sbCA9IDA7XG4gIHByaXZhdGUgX2RpYWxvZ0lkID0gYHNiYi1kaWFsb2ctJHtuZXh0SWQrK31gO1xuICBwcm90ZWN0ZWQgY2xvc2VBdHRyaWJ1dGU6IHN0cmluZyA9ICdzYmItZGlhbG9nLWNsb3NlJztcblxuICAvKiogT3BlbnMgdGhlIGNvbXBvbmVudC4gKi9cbiAgcHVibGljIG9wZW4oKTogdm9pZCB7XG4gICAgaWYgKHRoaXMuc3RhdGUgIT09ICdjbG9zZWQnKSB7XG4gICAgICByZXR1cm47XG4gICAgfVxuICAgIHRoaXMubGFzdEZvY3VzZWRFbGVtZW50ID0gZG9jdW1lbnQuYWN0aXZlRWxlbWVudCBhcyBIVE1MRWxlbWVudDtcblxuICAgIC8vIEluaXRpYWxpemUgZGlhbG9nIGVsZW1lbnRzXG4gICAgdGhpcy5fZGlhbG9nVGl0bGVFbGVtZW50ID0gdGhpcy5xdWVyeVNlbGVjdG9yKCdzYmItZGlhbG9nLXRpdGxlJyk7XG4gICAgdGhpcy5fZGlhbG9nQ29udGVudEVsZW1lbnQgPSB0aGlzLnF1ZXJ5U2VsZWN0b3IoJ3NiYi1kaWFsb2ctY29udGVudCcpPy5zaGFkb3dSb290IVxuICAgICAgLmZpcnN0RWxlbWVudENoaWxkIGFzIEhUTUxFbGVtZW50O1xuICAgIHRoaXMuX2RpYWxvZ0FjdGlvbnNFbGVtZW50ID0gdGhpcy5xdWVyeVNlbGVjdG9yKCdzYmItZGlhbG9nLWFjdGlvbnMnKTtcblxuICAgIHRoaXMuX3N5bmNOZWdhdGl2ZSgpO1xuXG4gICAgaWYgKCF0aGlzLndpbGxPcGVuLmVtaXQoKSkge1xuICAgICAgcmV0dXJuO1xuICAgIH1cbiAgICB0aGlzLnN0YXRlID0gJ29wZW5pbmcnO1xuXG4gICAgLy8gQWRkIHRoaXMgZGlhbG9nIHRvIHRoZSBnbG9iYWwgY29sbGVjdGlvblxuICAgIG92ZXJsYXlSZWZzLnB1c2godGhpcyBhcyBTYmJEaWFsb2dFbGVtZW50KTtcbiAgICB0aGlzLl9kaWFsb2dDb250ZW50UmVzaXplT2JzZXJ2ZXIub2JzZXJ2ZSh0aGlzLl9kaWFsb2dDb250ZW50RWxlbWVudCk7XG5cbiAgICAvLyBEaXNhYmxlIHNjcm9sbGluZyBmb3IgY29udGVudCBiZWxvdyB0aGUgZGlhbG9nXG4gICAgdGhpcy5zY3JvbGxIYW5kbGVyLmRpc2FibGVTY3JvbGwoKTtcbiAgfVxuXG4gIHB1YmxpYyBvdmVycmlkZSBjb25uZWN0ZWRDYWxsYmFjaygpOiB2b2lkIHtcbiAgICBzdXBlci5jb25uZWN0ZWRDYWxsYmFjaygpO1xuXG4gICAgLy8gQ2xvc2UgZGlhbG9nIG9uIGJhY2tkcm9wIGNsaWNrXG4gICAgdGhpcy5hZGRFdmVudExpc3RlbmVyKCdwb2ludGVyZG93bicsIHRoaXMuX3BvaW50ZXJEb3duTGlzdGVuZXIsIHtcbiAgICAgIHNpZ25hbDogdGhpcy5vdmVybGF5Q29udHJvbGxlci5zaWduYWwsXG4gICAgfSk7XG4gICAgdGhpcy5hZGRFdmVudExpc3RlbmVyKCdwb2ludGVydXAnLCB0aGlzLl9jbG9zZU9uQmFja2Ryb3BDbGljaywge1xuICAgICAgc2lnbmFsOiB0aGlzLm92ZXJsYXlDb250cm9sbGVyLnNpZ25hbCxcbiAgICB9KTtcbiAgfVxuXG4gIHByb3RlY3RlZCBvdmVycmlkZSBmaXJzdFVwZGF0ZWQoY2hhbmdlZFByb3BlcnRpZXM6IFByb3BlcnR5VmFsdWVzPHRoaXM+KTogdm9pZCB7XG4gICAgLy8gU3luY2hyb25pemUgdGhlIG5lZ2F0aXZlIHN0YXRlIGJlZm9yZSB0aGUgZmlyc3Qgb3BlbmluZyB0byBhdm9pZCBhIHBvc3NpYmxlIGNvbG9yIGZsYXNoIGlmIGl0IGlzIG5lZ2F0aXZlLlxuICAgIHRoaXMuX2RpYWxvZ1RpdGxlRWxlbWVudCA9IHRoaXMucXVlcnlTZWxlY3Rvcignc2JiLWRpYWxvZy10aXRsZScpITtcbiAgICB0aGlzLl9zeW5jTmVnYXRpdmUoKTtcbiAgICBzdXBlci5maXJzdFVwZGF0ZWQoY2hhbmdlZFByb3BlcnRpZXMpO1xuICB9XG5cbiAgcHJvdGVjdGVkIG92ZXJyaWRlIHdpbGxVcGRhdGUoY2hhbmdlZFByb3BlcnRpZXM6IFByb3BlcnR5VmFsdWVzPHRoaXM+KTogdm9pZCB7XG4gICAgc3VwZXIud2lsbFVwZGF0ZShjaGFuZ2VkUHJvcGVydGllcyk7XG5cbiAgICBpZiAoY2hhbmdlZFByb3BlcnRpZXMuaGFzKCduZWdhdGl2ZScpKSB7XG4gICAgICB0aGlzLl9zeW5jTmVnYXRpdmUoKTtcbiAgICB9XG4gIH1cblxuICBwcm90ZWN0ZWQgb3ZlcnJpZGUgYXR0YWNoT3Blbk92ZXJsYXlFdmVudHMoKTogdm9pZCB7XG4gICAgc3VwZXIuYXR0YWNoT3Blbk92ZXJsYXlFdmVudHMoKTtcblxuICAgIC8vIElmIHRoZSBjb250ZW50IG92ZXJmbG93cywgc2hvdy9oaWRlIHRoZSBkaWFsb2cgaGVhZGVyIG9uIHNjcm9sbC5cbiAgICB0aGlzLl9kaWFsb2dDb250ZW50RWxlbWVudD8uYWRkRXZlbnRMaXN0ZW5lcignc2Nyb2xsJywgKCkgPT4gdGhpcy5fb25Db250ZW50U2Nyb2xsKCksIHtcbiAgICAgIHBhc3NpdmU6IHRydWUsXG4gICAgICBzaWduYWw6IHRoaXMub3Blbk92ZXJsYXlDb250cm9sbGVyLnNpZ25hbCxcbiAgICB9KTtcbiAgICB3aW5kb3cuYWRkRXZlbnRMaXN0ZW5lcigncmVzaXplJywgKCkgPT4gdGhpcy5fc2V0SGlkZUhlYWRlckRhdGFBdHRyaWJ1dGUoZmFsc2UpLCB7XG4gICAgICBzaWduYWw6IHRoaXMub3Blbk92ZXJsYXlDb250cm9sbGVyLnNpZ25hbCxcbiAgICB9KTtcbiAgfVxuXG4gIC8vIFdhaXQgZm9yIGRpYWxvZyB0cmFuc2l0aW9uIHRvIGNvbXBsZXRlLlxuICAvLyBJbiByYXJlIGNhc2VzLCBpdCBjYW4gYmUgdGhhdCB0aGUgYW5pbWF0aW9uRW5kIGV2ZW50IGlzIHRyaWdnZXJlZCB0d2ljZS5cbiAgLy8gVG8gYXZvaWQgZW50ZXJpbmcgYSBjb3JydXB0IHN0YXRlLCBleGl0IHdoZW4gc3RhdGUgaXMgbm90IGV4cGVjdGVkLlxuICBwcm90ZWN0ZWQgb25PdmVybGF5QW5pbWF0aW9uRW5kKGV2ZW50OiBBbmltYXRpb25FdmVudCk6IHZvaWQge1xuICAgIGlmIChldmVudC5hbmltYXRpb25OYW1lID09PSAnb3BlbicgJiYgdGhpcy5zdGF0ZSA9PT0gJ29wZW5pbmcnKSB7XG4gICAgICB0aGlzLnN0YXRlID0gJ29wZW5lZCc7XG4gICAgICB0aGlzLmRpZE9wZW4uZW1pdCgpO1xuICAgICAgdGhpcy5pbmVydENvbnRyb2xsZXIuYWN0aXZhdGUoKTtcbiAgICAgIHRoaXMuYXR0YWNoT3Blbk92ZXJsYXlFdmVudHMoKTtcbiAgICAgIHRoaXMuc2V0T3ZlcmxheUZvY3VzKCk7XG4gICAgICAvLyBVc2UgdGltZW91dCB0byByZWFkIGxhYmVsIGFmdGVyIGZvY3VzZWQgZWxlbWVudFxuICAgICAgc2V0VGltZW91dCgoKSA9PlxuICAgICAgICB0aGlzLnNldEFyaWFMaXZlUmVmQ29udGVudChcbiAgICAgICAgICB0aGlzLmFjY2Vzc2liaWxpdHlMYWJlbCB8fCB0aGlzLl9kaWFsb2dUaXRsZUVsZW1lbnQ/LmlubmVyVGV4dC50cmltKCksXG4gICAgICAgICksXG4gICAgICApO1xuICAgICAgdGhpcy5mb2N1c0hhbmRsZXIudHJhcCh0aGlzKTtcbiAgICB9IGVsc2UgaWYgKGV2ZW50LmFuaW1hdGlvbk5hbWUgPT09ICdjbG9zZScgJiYgdGhpcy5zdGF0ZSA9PT0gJ2Nsb3NpbmcnKSB7XG4gICAgICB0aGlzLl9zZXRIaWRlSGVhZGVyRGF0YUF0dHJpYnV0ZShmYWxzZSk7XG4gICAgICB0aGlzLl9kaWFsb2dDb250ZW50RWxlbWVudD8uc2Nyb2xsVG8oMCwgMCk7XG4gICAgICB0aGlzLnN0YXRlID0gJ2Nsb3NlZCc7XG4gICAgICB0aGlzLmluZXJ0Q29udHJvbGxlci5kZWFjdGl2YXRlKCk7XG4gICAgICBzZXRNb2RhbGl0eU9uTmV4dEZvY3VzKHRoaXMubGFzdEZvY3VzZWRFbGVtZW50KTtcbiAgICAgIC8vIE1hbnVhbGx5IGZvY3VzIGxhc3QgZm9jdXNlZCBlbGVtZW50XG4gICAgICB0aGlzLmxhc3RGb2N1c2VkRWxlbWVudD8uZm9jdXMoKTtcbiAgICAgIHRoaXMub3Blbk92ZXJsYXlDb250cm9sbGVyPy5hYm9ydCgpO1xuICAgICAgdGhpcy5mb2N1c0hhbmRsZXIuZGlzY29ubmVjdCgpO1xuICAgICAgaWYgKHRoaXMuX2RpYWxvZ0NvbnRlbnRFbGVtZW50KSB7XG4gICAgICAgIHRoaXMuX2RpYWxvZ0NvbnRlbnRSZXNpemVPYnNlcnZlci51bm9ic2VydmUodGhpcy5fZGlhbG9nQ29udGVudEVsZW1lbnQpO1xuICAgICAgfVxuICAgICAgdGhpcy5yZW1vdmVJbnN0YW5jZUZyb21HbG9iYWxDb2xsZWN0aW9uKCk7XG4gICAgICAvLyBFbmFibGUgc2Nyb2xsaW5nIGZvciBjb250ZW50IGJlbG93IHRoZSBkaWFsb2cgaWYgbm8gZGlhbG9nIGlzIG9wZW5cbiAgICAgIGlmICghb3ZlcmxheVJlZnMubGVuZ3RoKSB7XG4gICAgICAgIHRoaXMuc2Nyb2xsSGFuZGxlci5lbmFibGVTY3JvbGwoKTtcbiAgICAgIH1cbiAgICAgIHRoaXMuZGlkQ2xvc2UuZW1pdCh7XG4gICAgICAgIHJldHVyblZhbHVlOiB0aGlzLnJldHVyblZhbHVlLFxuICAgICAgICBjbG9zZVRhcmdldDogdGhpcy5vdmVybGF5Q2xvc2VFbGVtZW50LFxuICAgICAgfSk7XG4gICAgfVxuICB9XG5cbiAgLy8gU2V0IGZvY3VzIG9uIHRoZSBmaXJzdCBmb2N1c2FibGUgZWxlbWVudC5cbiAgcHJvdGVjdGVkIHNldE92ZXJsYXlGb2N1cygpOiB2b2lkIHtcbiAgICBjb25zdCBmaXJzdEZvY3VzYWJsZSA9IGdldEZpcnN0Rm9jdXNhYmxlRWxlbWVudChcbiAgICAgIEFycmF5LmZyb20odGhpcy5jaGlsZHJlbikuZmlsdGVyKChlKTogZSBpcyBIVE1MRWxlbWVudCA9PiBlIGluc3RhbmNlb2Ygd2luZG93LkhUTUxFbGVtZW50KSxcbiAgICApO1xuICAgIHNldE1vZGFsaXR5T25OZXh0Rm9jdXMoZmlyc3RGb2N1c2FibGUpO1xuICAgIGZpcnN0Rm9jdXNhYmxlPy5mb2N1cygpO1xuICB9XG5cbiAgcHJpdmF0ZSBfc3luY05lZ2F0aXZlKCk6IHZvaWQge1xuICAgIGlmICh0aGlzLl9kaWFsb2dUaXRsZUVsZW1lbnQpIHtcbiAgICAgIHRoaXMuX2RpYWxvZ1RpdGxlRWxlbWVudC5uZWdhdGl2ZSA9IHRoaXMubmVnYXRpdmU7XG4gICAgfVxuXG4gICAgaWYgKHRoaXMuX2RpYWxvZ0FjdGlvbnNFbGVtZW50KSB7XG4gICAgICB0aGlzLl9kaWFsb2dBY3Rpb25zRWxlbWVudC50b2dnbGVBdHRyaWJ1dGUoJ2RhdGEtbmVnYXRpdmUnLCB0aGlzLm5lZ2F0aXZlKTtcbiAgICB9XG4gIH1cblxuICBwcml2YXRlIF9vbkNvbnRlbnRTY3JvbGwoKTogdm9pZCB7XG4gICAgaWYgKCF0aGlzLl9kaWFsb2dDb250ZW50RWxlbWVudCkge1xuICAgICAgcmV0dXJuO1xuICAgIH1cblxuICAgIGNvbnN0IGhhc1Zpc2libGVIZWFkZXIgPSB0aGlzLmRhdGFzZXQuaGlkZUhlYWRlciA9PT0gdW5kZWZpbmVkO1xuXG4gICAgLy8gQ2hlY2sgd2hldGhlciBoaWRpbmcgdGhlIGhlYWRlciB3b3VsZCBtYWtlIHRoZSBzY3JvbGxiYXIgZGlzYXBwZWFyXG4gICAgLy8gYW5kIHByZXZlbnQgdGhlIGhpZGluZyBhbmltYXRpb24gaWYgc28uXG4gICAgaWYgKFxuICAgICAgaGFzVmlzaWJsZUhlYWRlciAmJlxuICAgICAgdGhpcy5fZGlhbG9nQ29udGVudEVsZW1lbnQuY2xpZW50SGVpZ2h0ICsgdGhpcy5fZGlhbG9nVGl0bGVIZWlnaHQhID49XG4gICAgICAgIHRoaXMuX2RpYWxvZ0NvbnRlbnRFbGVtZW50LnNjcm9sbEhlaWdodFxuICAgICkge1xuICAgICAgcmV0dXJuO1xuICAgIH1cblxuICAgIGNvbnN0IGN1cnJlbnRTY3JvbGwgPSB0aGlzLl9kaWFsb2dDb250ZW50RWxlbWVudC5zY3JvbGxUb3A7XG4gICAgaWYgKFxuICAgICAgTWF0aC5yb3VuZChjdXJyZW50U2Nyb2xsICsgdGhpcy5fZGlhbG9nQ29udGVudEVsZW1lbnQuY2xpZW50SGVpZ2h0KSA+PVxuICAgICAgdGhpcy5fZGlhbG9nQ29udGVudEVsZW1lbnQuc2Nyb2xsSGVpZ2h0XG4gICAgKSB7XG4gICAgICByZXR1cm47XG4gICAgfVxuICAgIC8vIENoZWNrIHdoZXRoZXIgaXMgc2Nyb2xsaW5nIGRvd24gb3IgdXAuXG4gICAgaWYgKGN1cnJlbnRTY3JvbGwgPiAwICYmIHRoaXMuX2xhc3RTY3JvbGwgPCBjdXJyZW50U2Nyb2xsKSB7XG4gICAgICAvLyBTY3JvbGxpbmcgZG93blxuICAgICAgdGhpcy5fc2V0SGlkZUhlYWRlckRhdGFBdHRyaWJ1dGUodHJ1ZSk7XG4gICAgfSBlbHNlIHtcbiAgICAgIC8vIFNjcm9sbGluZyB1cFxuICAgICAgdGhpcy5fc2V0SGlkZUhlYWRlckRhdGFBdHRyaWJ1dGUoZmFsc2UpO1xuICAgIH1cbiAgICAvLyBgY3VycmVudFNjcm9sbGAgY2FuIGJlIG5lZ2F0aXZlLCBlLmcuIG9uIG1vYmlsZTsgdGhpcyBpcyBub3QgYWxsb3dlZC5cbiAgICB0aGlzLl9sYXN0U2Nyb2xsID0gY3VycmVudFNjcm9sbCA8PSAwID8gMCA6IGN1cnJlbnRTY3JvbGw7XG4gIH1cblxuICAvLyBDaGVjayBpZiB0aGUgcG9pbnRlcmRvd24gZXZlbnQgdGFyZ2V0IGlzIHRyaWdnZXJlZCBvbiB0aGUgZGlhbG9nLlxuICBwcml2YXRlIF9wb2ludGVyRG93bkxpc3RlbmVyID0gKGV2ZW50OiBQb2ludGVyRXZlbnQpOiB2b2lkID0+IHtcbiAgICBpZiAodGhpcy5iYWNrZHJvcEFjdGlvbiAhPT0gJ2Nsb3NlJykge1xuICAgICAgcmV0dXJuO1xuICAgIH1cblxuICAgIHRoaXMuX2lzUG9pbnRlckRvd25FdmVudE9uRGlhbG9nID0gZXZlbnRcbiAgICAgIC5jb21wb3NlZFBhdGgoKVxuICAgICAgLmZpbHRlcigoZSk6IGUgaXMgSFRNTEVsZW1lbnQgPT4gZSBpbnN0YW5jZW9mIHdpbmRvdy5IVE1MRWxlbWVudClcbiAgICAgIC5zb21lKCh0YXJnZXQpID0+IHRhcmdldC5pZCA9PT0gdGhpcy5fZGlhbG9nSWQpO1xuICB9O1xuXG4gIC8vIENsb3NlIGRpYWxvZyBvbiBiYWNrZHJvcCBjbGljay5cbiAgcHJpdmF0ZSBfY2xvc2VPbkJhY2tkcm9wQ2xpY2sgPSAoZXZlbnQ6IFBvaW50ZXJFdmVudCk6IHZvaWQgPT4ge1xuICAgIGlmICh0aGlzLmJhY2tkcm9wQWN0aW9uICE9PSAnY2xvc2UnKSB7XG4gICAgICByZXR1cm47XG4gICAgfVxuXG4gICAgaWYgKFxuICAgICAgIXRoaXMuX2lzUG9pbnRlckRvd25FdmVudE9uRGlhbG9nICYmXG4gICAgICAhZXZlbnRcbiAgICAgICAgLmNvbXBvc2VkUGF0aCgpXG4gICAgICAgIC5maWx0ZXIoKGUpOiBlIGlzIEhUTUxFbGVtZW50ID0+IGUgaW5zdGFuY2VvZiB3aW5kb3cuSFRNTEVsZW1lbnQpXG4gICAgICAgIC5zb21lKCh0YXJnZXQpID0+IHRhcmdldC5pZCA9PT0gdGhpcy5fZGlhbG9nSWQpXG4gICAgKSB7XG4gICAgICB0aGlzLmNsb3NlKCk7XG4gICAgfVxuICB9O1xuXG4gIHByaXZhdGUgX3NldERpYWxvZ0hlYWRlckhlaWdodCgpOiB2b2lkIHtcbiAgICB0aGlzLl9kaWFsb2dUaXRsZUhlaWdodCA9IHRoaXMuX2RpYWxvZ1RpdGxlRWxlbWVudD8uc2hhZG93Um9vdCEuZmlyc3RFbGVtZW50Q2hpbGQhLmNsaWVudEhlaWdodDtcbiAgICB0aGlzLnN0eWxlLnNldFByb3BlcnR5KCctLXNiYi1kaWFsb2ctaGVhZGVyLWhlaWdodCcsIGAke3RoaXMuX2RpYWxvZ1RpdGxlSGVpZ2h0fXB4YCk7XG4gIH1cblxuICBwcml2YXRlIF9vbkNvbnRlbnRSZXNpemUoKTogdm9pZCB7XG4gICAgdGhpcy5fc2V0RGlhbG9nSGVhZGVySGVpZ2h0KCk7XG4gICAgLy8gQ2hlY2sgd2hldGhlciB0aGUgY29udGVudCBvdmVyZmxvd3MgYW5kIHNldCB0aGUgYG92ZXJmbG93c2AgYXR0cmlidXRlLlxuICAgIHRoaXMuX292ZXJmbG93cyA9IHRoaXMuX2RpYWxvZ0NvbnRlbnRFbGVtZW50XG4gICAgICA/IHRoaXMuX2RpYWxvZ0NvbnRlbnRFbGVtZW50Py5zY3JvbGxIZWlnaHQgPiB0aGlzLl9kaWFsb2dDb250ZW50RWxlbWVudD8uY2xpZW50SGVpZ2h0XG4gICAgICA6IGZhbHNlO1xuICAgIHRoaXMuX3NldE92ZXJmbG93c0RhdGFBdHRyaWJ1dGUoKTtcbiAgfVxuXG4gIHByaXZhdGUgX3NldEhpZGVIZWFkZXJEYXRhQXR0cmlidXRlKHZhbHVlOiBib29sZWFuKTogdm9pZCB7XG4gICAgY29uc3QgaGlkZU9uU2Nyb2xsID0gdGhpcy5fZGlhbG9nVGl0bGVFbGVtZW50Py5oaWRlT25TY3JvbGwgPz8gZmFsc2U7XG4gICAgY29uc3QgaGlkZUhlYWRlciA9XG4gICAgICB0eXBlb2YgaGlkZU9uU2Nyb2xsID09PSAnYm9vbGVhbidcbiAgICAgICAgPyBoaWRlT25TY3JvbGxcbiAgICAgICAgOiBpc0JyZWFrcG9pbnQoJ3plcm8nLCBoaWRlT25TY3JvbGwsIHsgaW5jbHVkZU1heEJyZWFrcG9pbnQ6IHRydWUgfSk7XG4gICAgdGhpcy50b2dnbGVBdHRyaWJ1dGUoJ2RhdGEtaGlkZS1oZWFkZXInLCAhaGlkZUhlYWRlciA/IGZhbHNlIDogdmFsdWUpO1xuICAgIGlmICh0aGlzLl9kaWFsb2dUaXRsZUVsZW1lbnQpIHtcbiAgICAgIHRoaXMuX2RpYWxvZ1RpdGxlRWxlbWVudC50b2dnbGVBdHRyaWJ1dGUoJ2RhdGEtaGlkZS1oZWFkZXInLCAhaGlkZUhlYWRlciA/IGZhbHNlIDogdmFsdWUpO1xuICAgIH1cbiAgfVxuXG4gIHByaXZhdGUgX3NldE92ZXJmbG93c0RhdGFBdHRyaWJ1dGUoKTogdm9pZCB7XG4gICAgdGhpcy50b2dnbGVBdHRyaWJ1dGUoJ2RhdGEtb3ZlcmZsb3dzJywgdGhpcy5fb3ZlcmZsb3dzKTtcbiAgICB0aGlzLl9kaWFsb2dUaXRsZUVsZW1lbnQ/LnRvZ2dsZUF0dHJpYnV0ZSgnZGF0YS1vdmVyZmxvd3MnLCB0aGlzLl9vdmVyZmxvd3MpO1xuICAgIHRoaXMuX2RpYWxvZ0FjdGlvbnNFbGVtZW50Py50b2dnbGVBdHRyaWJ1dGUoJ2RhdGEtb3ZlcmZsb3dzJywgdGhpcy5fb3ZlcmZsb3dzKTtcbiAgfVxuXG4gIHByb3RlY3RlZCBvdmVycmlkZSByZW5kZXIoKTogVGVtcGxhdGVSZXN1bHQge1xuICAgIHJldHVybiBodG1sYFxuICAgICAgPGRpdiBjbGFzcz1cInNiYi1kaWFsb2dfX2NvbnRhaW5lclwiPlxuICAgICAgICA8ZGl2XG4gICAgICAgICAgQGFuaW1hdGlvbmVuZD0keyhldmVudDogQW5pbWF0aW9uRXZlbnQpID0+IHRoaXMub25PdmVybGF5QW5pbWF0aW9uRW5kKGV2ZW50KX1cbiAgICAgICAgICBjbGFzcz1cInNiYi1kaWFsb2dcIlxuICAgICAgICAgIGlkPSR7dGhpcy5fZGlhbG9nSWR9XG4gICAgICAgID5cbiAgICAgICAgICA8ZGl2XG4gICAgICAgICAgICBAY2xpY2s9JHsoZXZlbnQ6IEV2ZW50KSA9PiB0aGlzLmNsb3NlT25TYmJPdmVybGF5Q2xvc2VDbGljayhldmVudCl9XG4gICAgICAgICAgICBjbGFzcz1cInNiYi1kaWFsb2dfX3dyYXBwZXJcIlxuICAgICAgICAgID5cbiAgICAgICAgICAgIDxzbG90Pjwvc2xvdD5cbiAgICAgICAgICA8L2Rpdj5cbiAgICAgICAgPC9kaXY+XG4gICAgICA8L2Rpdj5cbiAgICAgIDxzYmItc2NyZWVuLXJlYWRlci1vbmx5IGFyaWEtbGl2ZT1cInBvbGl0ZVwiPjwvc2JiLXNjcmVlbi1yZWFkZXItb25seT5cbiAgICBgO1xuICB9XG59XG5cbmRlY2xhcmUgZ2xvYmFsIHtcbiAgaW50ZXJmYWNlIEhUTUxFbGVtZW50VGFnTmFtZU1hcCB7XG4gICAgLy8gZXNsaW50LWRpc2FibGUtbmV4dC1saW5lIEB0eXBlc2NyaXB0LWVzbGludC9uYW1pbmctY29udmVudGlvblxuICAgICdzYmItZGlhbG9nJzogU2JiRGlhbG9nRWxlbWVudDtcbiAgfVxufVxuIl0sIm5hbWVzIjpbIl9hIl0sIm1hcHBpbmdzIjoiOzs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7OztBQWVBLElBQUksU0FBUztBQWVBLElBQUEsbUJBQU4sY0FBK0Isc0JBQXNCO0FBQUEsRUFBckQsY0FBQTtBQUFBLFVBQUEsR0FBQSxTQUFBO0FBSXVDLFNBQU8saUJBQW1DO0FBTTlFLFNBQUEsK0JBQStCLElBQUksaUJBQWlCLE1BQU07QUFBQSxNQUNoRSxRQUFRO0FBQUEsTUFDUixhQUFhO0FBQUEsTUFDYixVQUFVLE1BQU0sV0FBVyxNQUFNLEtBQUssa0JBQWtCO0FBQUEsSUFBQSxDQUN6RDtBQUVELFNBQVEsc0JBQW9EO0FBRTVELFNBQVEsd0JBQTRDO0FBQ3BELFNBQVEsd0JBQXdEO0FBQ2hFLFNBQVEsOEJBQXVDO0FBQy9DLFNBQVEsYUFBc0I7QUFDOUIsU0FBUSxjQUFjO0FBQ2QsU0FBQSxZQUFZLGNBQWMsUUFBUTtBQUMxQyxTQUFVLGlCQUF5QjtBQXdLM0IsU0FBQSx1QkFBdUIsQ0FBQyxVQUE4QjtBQUN4RCxVQUFBLEtBQUssbUJBQW1CLFNBQVM7QUFDbkM7QUFBQSxNQUNGO0FBRUEsV0FBSyw4QkFBOEIsTUFDaEMsYUFDQSxFQUFB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
425
+ //# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZGlhbG9nLmpzIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi9zcmMvZWxlbWVudHMvZGlhbG9nL2RpYWxvZy9kaWFsb2cudHMiXSwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgUmVzaXplQ29udHJvbGxlciB9IGZyb20gJ0BsaXQtbGFicy9vYnNlcnZlcnMvcmVzaXplLWNvbnRyb2xsZXIuanMnO1xuaW1wb3J0IHR5cGUgeyBDU1NSZXN1bHRHcm91cCwgUHJvcGVydHlWYWx1ZXMsIFRlbXBsYXRlUmVzdWx0IH0gZnJvbSAnbGl0JztcbmltcG9ydCB7IGN1c3RvbUVsZW1lbnQsIHByb3BlcnR5IH0gZnJvbSAnbGl0L2RlY29yYXRvcnMuanMnO1xuaW1wb3J0IHsgaHRtbCB9IGZyb20gJ2xpdC9zdGF0aWMtaHRtbC5qcyc7XG5cbmltcG9ydCB7IGdldEZpcnN0Rm9jdXNhYmxlRWxlbWVudCwgc2V0TW9kYWxpdHlPbk5leHRGb2N1cyB9IGZyb20gJy4uLy4uL2NvcmUvYTExeS5qcyc7XG5pbXBvcnQgeyBpc0JyZWFrcG9pbnQgfSBmcm9tICcuLi8uLi9jb3JlL2RvbS5qcyc7XG5pbXBvcnQgeyBvdmVybGF5UmVmcywgU2JiT3ZlcmxheUJhc2VFbGVtZW50IH0gZnJvbSAnLi4vLi4vb3ZlcmxheS5qcyc7XG5pbXBvcnQgdHlwZSB7IFNiYkRpYWxvZ0FjdGlvbnNFbGVtZW50IH0gZnJvbSAnLi4vZGlhbG9nLWFjdGlvbnMuanMnO1xuaW1wb3J0IHR5cGUgeyBTYmJEaWFsb2dUaXRsZUVsZW1lbnQgfSBmcm9tICcuLi9kaWFsb2ctdGl0bGUuanMnO1xuXG5pbXBvcnQgc3R5bGUgZnJvbSAnLi9kaWFsb2cuc2Nzcz9saXQmaW5saW5lJztcblxuaW1wb3J0ICcuLi8uLi9zY3JlZW4tcmVhZGVyLW9ubHkuanMnO1xuXG5sZXQgbmV4dElkID0gMDtcblxuLyoqXG4gKiBJdCBkaXNwbGF5cyBhbiBpbnRlcmFjdGl2ZSBvdmVybGF5IGVsZW1lbnQuXG4gKlxuICogQHNsb3QgLSBVc2UgdGhlIHVubmFtZWQgc2xvdCB0byBwcm92aWRlIGEgYHNiYi1kaWFsb2ctdGl0bGVgLCBgc2JiLWRpYWxvZy1jb250ZW50YCBhbmQgYW4gb3B0aW9uYWwgYHNiYi1kaWFsb2ctYWN0aW9uc2AuXG4gKiBAZXZlbnQge0N1c3RvbUV2ZW50PHZvaWQ+fSB3aWxsT3BlbiAtIEVtaXRzIHdoZW5ldmVyIHRoZSBgc2JiLWRpYWxvZ2Agc3RhcnRzIHRoZSBvcGVuaW5nIHRyYW5zaXRpb24uIENhbiBiZSBjYW5jZWxlZC5cbiAqIEBldmVudCB7Q3VzdG9tRXZlbnQ8dm9pZD59IGRpZE9wZW4gLSBFbWl0cyB3aGVuZXZlciB0aGUgYHNiYi1kaWFsb2dgIGlzIG9wZW5lZC5cbiAqIEBldmVudCB7Q3VzdG9tRXZlbnQ8dm9pZD59IHdpbGxDbG9zZSAtIEVtaXRzIHdoZW5ldmVyIHRoZSBgc2JiLWRpYWxvZ2AgYmVnaW5zIHRoZSBjbG9zaW5nIHRyYW5zaXRpb24uIENhbiBiZSBjYW5jZWxlZC5cbiAqIEBldmVudCB7Q3VzdG9tRXZlbnQ8U2JiT3ZlcmxheUNsb3NlRXZlbnREZXRhaWxzPn0gZGlkQ2xvc2UgLSBFbWl0cyB3aGVuZXZlciB0aGUgYHNiYi1kaWFsb2dgIGlzIGNsb3NlZC5cbiAqIEBjc3Nwcm9wIFstLXNiYi1kaWFsb2ctei1pbmRleD12YXIoLS1zYmItb3ZlcmxheS1kZWZhdWx0LXotaW5kZXgpXSAtIFRvIHNwZWNpZnkgYSBjdXN0b20gc3RhY2sgb3JkZXIsXG4gKiB0aGUgYHotaW5kZXhgIGNhbiBiZSBvdmVycmlkZGVuIGJ5IGRlZmluaW5nIHRoaXMgQ1NTIHZhcmlhYmxlLiBUaGUgZGVmYXVsdCBgei1pbmRleGAgb2YgdGhlXG4gKiBjb21wb25lbnQgaXMgc2V0IHRvIGB2YXIoLS1zYmItb3ZlcmxheS1kZWZhdWx0LXotaW5kZXgpYCB3aXRoIGEgdmFsdWUgb2YgYDEwMDBgLlxuICovXG5AY3VzdG9tRWxlbWVudCgnc2JiLWRpYWxvZycpXG5leHBvcnQgY2xhc3MgU2JiRGlhbG9nRWxlbWVudCBleHRlbmRzIFNiYk92ZXJsYXlCYXNlRWxlbWVudCB7XG4gIHB1YmxpYyBzdGF0aWMgb3ZlcnJpZGUgc3R5bGVzOiBDU1NSZXN1bHRHcm91cCA9IHN0eWxlO1xuXG4gIC8qKiBCYWNrZHJvcCBjbGljayBhY3Rpb24uICovXG4gIEBwcm9wZXJ0eSh7IGF0dHJpYnV0ZTogJ2JhY2tkcm9wLWFjdGlvbicgfSkgcHVibGljIGJhY2tkcm9wQWN0aW9uOiAnY2xvc2UnIHwgJ25vbmUnID0gJ2Nsb3NlJztcblxuICAvLyBXZSB1c2UgYSB0aW1lb3V0IGFzIGEgd29ya2Fyb3VuZCB0byB0aGUgXCJSZXNpemVPYnNlcnZlciBsb29wIGNvbXBsZXRlZCB3aXRoIHVuZGVsaXZlcmVkIG5vdGlmaWNhdGlvbnNcIiBlcnJvci5cbiAgLy8gRm9yIG1vcmUgZGV0YWlsczpcbiAgLy8gLSBodHRwczovL2dpdGh1Yi5jb20vV0lDRy9yZXNpemUtb2JzZXJ2ZXIvaXNzdWVzLzM4I2lzc3VlY29tbWVudC00MjIxMjYwMDZcbiAgLy8gLSBodHRwczovL2dpdGh1Yi5jb20vanVnZ2xlL3Jlc2l6ZS1vYnNlcnZlci9pc3N1ZXMvMTAzI2lzc3VlY29tbWVudC0xNzExMTQ4Mjg1XG4gIHByaXZhdGUgX2RpYWxvZ0NvbnRlbnRSZXNpemVPYnNlcnZlciA9IG5ldyBSZXNpemVDb250cm9sbGVyKHRoaXMsIHtcbiAgICB0YXJnZXQ6IG51bGwsXG4gICAgc2tpcEluaXRpYWw6IHRydWUsXG4gICAgY2FsbGJhY2s6ICgpID0+IHNldFRpbWVvdXQoKCkgPT4gdGhpcy5fb25Db250ZW50UmVzaXplKCkpLFxuICB9KTtcblxuICBwcml2YXRlIF9kaWFsb2dUaXRsZUVsZW1lbnQ6IFNiYkRpYWxvZ1RpdGxlRWxlbWVudCB8IG51bGwgPSBudWxsO1xuICBwcml2YXRlIF9kaWFsb2dUaXRsZUhlaWdodD86IG51bWJlcjtcbiAgcHJpdmF0ZSBfZGlhbG9nQ29udGVudEVsZW1lbnQ6IEhUTUxFbGVtZW50IHwgbnVsbCA9IG51bGw7XG4gIHByaXZhdGUgX2RpYWxvZ0FjdGlvbnNFbGVtZW50OiBTYmJEaWFsb2dBY3Rpb25zRWxlbWVudCB8IG51bGwgPSBudWxsO1xuICBwcml2YXRlIF9pc1BvaW50ZXJEb3duRXZlbnRPbkRpYWxvZzogYm9vbGVhbiA9IGZhbHNlO1xuICBwcml2YXRlIF9vdmVyZmxvd3M6IGJvb2xlYW4gPSBmYWxzZTtcbiAgcHJpdmF0ZSBfbGFzdFNjcm9sbCA9IDA7XG4gIHByaXZhdGUgX2RpYWxvZ0lkID0gYHNiYi1kaWFsb2ctJHtuZXh0SWQrK31gO1xuICBwcm90ZWN0ZWQgY2xvc2VBdHRyaWJ1dGU6IHN0cmluZyA9ICdzYmItZGlhbG9nLWNsb3NlJztcblxuICAvKiogT3BlbnMgdGhlIGNvbXBvbmVudC4gKi9cbiAgcHVibGljIG9wZW4oKTogdm9pZCB7XG4gICAgaWYgKHRoaXMuc3RhdGUgIT09ICdjbG9zZWQnKSB7XG4gICAgICByZXR1cm47XG4gICAgfVxuICAgIHRoaXMubGFzdEZvY3VzZWRFbGVtZW50ID0gZG9jdW1lbnQuYWN0aXZlRWxlbWVudCBhcyBIVE1MRWxlbWVudDtcblxuICAgIC8vIEluaXRpYWxpemUgZGlhbG9nIGVsZW1lbnRzXG4gICAgdGhpcy5fZGlhbG9nVGl0bGVFbGVtZW50ID0gdGhpcy5xdWVyeVNlbGVjdG9yKCdzYmItZGlhbG9nLXRpdGxlJyk7XG4gICAgdGhpcy5fZGlhbG9nQ29udGVudEVsZW1lbnQgPSB0aGlzLnF1ZXJ5U2VsZWN0b3IoJ3NiYi1kaWFsb2ctY29udGVudCcpPy5zaGFkb3dSb290IVxuICAgICAgLmZpcnN0RWxlbWVudENoaWxkIGFzIEhUTUxFbGVtZW50O1xuICAgIHRoaXMuX2RpYWxvZ0FjdGlvbnNFbGVtZW50ID0gdGhpcy5xdWVyeVNlbGVjdG9yKCdzYmItZGlhbG9nLWFjdGlvbnMnKTtcblxuICAgIHRoaXMuX3N5bmNOZWdhdGl2ZSgpO1xuXG4gICAgaWYgKCF0aGlzLndpbGxPcGVuLmVtaXQoKSkge1xuICAgICAgcmV0dXJuO1xuICAgIH1cbiAgICB0aGlzLnN0YXRlID0gJ29wZW5pbmcnO1xuXG4gICAgLy8gQWRkIHRoaXMgZGlhbG9nIHRvIHRoZSBnbG9iYWwgY29sbGVjdGlvblxuICAgIG92ZXJsYXlSZWZzLnB1c2godGhpcyBhcyBTYmJEaWFsb2dFbGVtZW50KTtcbiAgICB0aGlzLl9kaWFsb2dDb250ZW50UmVzaXplT2JzZXJ2ZXIub2JzZXJ2ZSh0aGlzLl9kaWFsb2dDb250ZW50RWxlbWVudCk7XG5cbiAgICAvLyBEaXNhYmxlIHNjcm9sbGluZyBmb3IgY29udGVudCBiZWxvdyB0aGUgZGlhbG9nXG4gICAgdGhpcy5zY3JvbGxIYW5kbGVyLmRpc2FibGVTY3JvbGwoKTtcbiAgfVxuXG4gIHB1YmxpYyBvdmVycmlkZSBjb25uZWN0ZWRDYWxsYmFjaygpOiB2b2lkIHtcbiAgICBzdXBlci5jb25uZWN0ZWRDYWxsYmFjaygpO1xuXG4gICAgLy8gQ2xvc2UgZGlhbG9nIG9uIGJhY2tkcm9wIGNsaWNrXG4gICAgdGhpcy5hZGRFdmVudExpc3RlbmVyKCdwb2ludGVyZG93bicsIHRoaXMuX3BvaW50ZXJEb3duTGlzdGVuZXIsIHtcbiAgICAgIHNpZ25hbDogdGhpcy5vdmVybGF5Q29udHJvbGxlci5zaWduYWwsXG4gICAgfSk7XG4gICAgdGhpcy5hZGRFdmVudExpc3RlbmVyKCdwb2ludGVydXAnLCB0aGlzLl9jbG9zZU9uQmFja2Ryb3BDbGljaywge1xuICAgICAgc2lnbmFsOiB0aGlzLm92ZXJsYXlDb250cm9sbGVyLnNpZ25hbCxcbiAgICB9KTtcbiAgfVxuXG4gIHByb3RlY3RlZCBvdmVycmlkZSBmaXJzdFVwZGF0ZWQoY2hhbmdlZFByb3BlcnRpZXM6IFByb3BlcnR5VmFsdWVzPHRoaXM+KTogdm9pZCB7XG4gICAgLy8gU3luY2hyb25pemUgdGhlIG5lZ2F0aXZlIHN0YXRlIGJlZm9yZSB0aGUgZmlyc3Qgb3BlbmluZyB0byBhdm9pZCBhIHBvc3NpYmxlIGNvbG9yIGZsYXNoIGlmIGl0IGlzIG5lZ2F0aXZlLlxuICAgIHRoaXMuX2RpYWxvZ1RpdGxlRWxlbWVudCA9IHRoaXMucXVlcnlTZWxlY3Rvcignc2JiLWRpYWxvZy10aXRsZScpITtcbiAgICB0aGlzLl9zeW5jTmVnYXRpdmUoKTtcbiAgICBzdXBlci5maXJzdFVwZGF0ZWQoY2hhbmdlZFByb3BlcnRpZXMpO1xuICB9XG5cbiAgcHJvdGVjdGVkIG92ZXJyaWRlIHdpbGxVcGRhdGUoY2hhbmdlZFByb3BlcnRpZXM6IFByb3BlcnR5VmFsdWVzPHRoaXM+KTogdm9pZCB7XG4gICAgc3VwZXIud2lsbFVwZGF0ZShjaGFuZ2VkUHJvcGVydGllcyk7XG5cbiAgICBpZiAoY2hhbmdlZFByb3BlcnRpZXMuaGFzKCduZWdhdGl2ZScpKSB7XG4gICAgICB0aGlzLl9zeW5jTmVnYXRpdmUoKTtcbiAgICB9XG4gIH1cblxuICBwcm90ZWN0ZWQgb3ZlcnJpZGUgYXR0YWNoT3Blbk92ZXJsYXlFdmVudHMoKTogdm9pZCB7XG4gICAgc3VwZXIuYXR0YWNoT3Blbk92ZXJsYXlFdmVudHMoKTtcblxuICAgIC8vIElmIHRoZSBjb250ZW50IG92ZXJmbG93cywgc2hvdy9oaWRlIHRoZSBkaWFsb2cgaGVhZGVyIG9uIHNjcm9sbC5cbiAgICB0aGlzLl9kaWFsb2dDb250ZW50RWxlbWVudD8uYWRkRXZlbnRMaXN0ZW5lcignc2Nyb2xsJywgKCkgPT4gdGhpcy5fb25Db250ZW50U2Nyb2xsKCksIHtcbiAgICAgIHBhc3NpdmU6IHRydWUsXG4gICAgICBzaWduYWw6IHRoaXMub3Blbk92ZXJsYXlDb250cm9sbGVyLnNpZ25hbCxcbiAgICB9KTtcbiAgICB3aW5kb3cuYWRkRXZlbnRMaXN0ZW5lcigncmVzaXplJywgKCkgPT4gdGhpcy5fc2V0SGlkZUhlYWRlckRhdGFBdHRyaWJ1dGUoZmFsc2UpLCB7XG4gICAgICBzaWduYWw6IHRoaXMub3Blbk92ZXJsYXlDb250cm9sbGVyLnNpZ25hbCxcbiAgICB9KTtcbiAgfVxuXG4gIC8vIFdhaXQgZm9yIGRpYWxvZyB0cmFuc2l0aW9uIHRvIGNvbXBsZXRlLlxuICAvLyBJbiByYXJlIGNhc2VzLCBpdCBjYW4gYmUgdGhhdCB0aGUgYW5pbWF0aW9uRW5kIGV2ZW50IGlzIHRyaWdnZXJlZCB0d2ljZS5cbiAgLy8gVG8gYXZvaWQgZW50ZXJpbmcgYSBjb3JydXB0IHN0YXRlLCBleGl0IHdoZW4gc3RhdGUgaXMgbm90IGV4cGVjdGVkLlxuICBwcm90ZWN0ZWQgb25PdmVybGF5QW5pbWF0aW9uRW5kKGV2ZW50OiBBbmltYXRpb25FdmVudCk6IHZvaWQge1xuICAgIGlmIChldmVudC5hbmltYXRpb25OYW1lID09PSAnb3BlbicgJiYgdGhpcy5zdGF0ZSA9PT0gJ29wZW5pbmcnKSB7XG4gICAgICB0aGlzLnN0YXRlID0gJ29wZW5lZCc7XG4gICAgICB0aGlzLmRpZE9wZW4uZW1pdCgpO1xuICAgICAgdGhpcy5pbmVydENvbnRyb2xsZXIuYWN0aXZhdGUoKTtcbiAgICAgIHRoaXMuYXR0YWNoT3Blbk92ZXJsYXlFdmVudHMoKTtcbiAgICAgIHRoaXMuc2V0T3ZlcmxheUZvY3VzKCk7XG4gICAgICAvLyBVc2UgdGltZW91dCB0byByZWFkIGxhYmVsIGFmdGVyIGZvY3VzZWQgZWxlbWVudFxuICAgICAgc2V0VGltZW91dCgoKSA9PlxuICAgICAgICB0aGlzLnNldEFyaWFMaXZlUmVmQ29udGVudChcbiAgICAgICAgICB0aGlzLmFjY2Vzc2liaWxpdHlMYWJlbCB8fCB0aGlzLl9kaWFsb2dUaXRsZUVsZW1lbnQ/LmlubmVyVGV4dC50cmltKCksXG4gICAgICAgICksXG4gICAgICApO1xuICAgICAgdGhpcy5mb2N1c0hhbmRsZXIudHJhcCh0aGlzKTtcbiAgICB9IGVsc2UgaWYgKGV2ZW50LmFuaW1hdGlvbk5hbWUgPT09ICdjbG9zZScgJiYgdGhpcy5zdGF0ZSA9PT0gJ2Nsb3NpbmcnKSB7XG4gICAgICB0aGlzLl9zZXRIaWRlSGVhZGVyRGF0YUF0dHJpYnV0ZShmYWxzZSk7XG4gICAgICB0aGlzLl9kaWFsb2dDb250ZW50RWxlbWVudD8uc2Nyb2xsVG8oMCwgMCk7XG4gICAgICB0aGlzLnN0YXRlID0gJ2Nsb3NlZCc7XG4gICAgICB0aGlzLmluZXJ0Q29udHJvbGxlci5kZWFjdGl2YXRlKCk7XG4gICAgICBzZXRNb2RhbGl0eU9uTmV4dEZvY3VzKHRoaXMubGFzdEZvY3VzZWRFbGVtZW50KTtcbiAgICAgIC8vIE1hbnVhbGx5IGZvY3VzIGxhc3QgZm9jdXNlZCBlbGVtZW50XG4gICAgICB0aGlzLmxhc3RGb2N1c2VkRWxlbWVudD8uZm9jdXMoKTtcbiAgICAgIHRoaXMub3Blbk92ZXJsYXlDb250cm9sbGVyPy5hYm9ydCgpO1xuICAgICAgdGhpcy5mb2N1c0hhbmRsZXIuZGlzY29ubmVjdCgpO1xuICAgICAgaWYgKHRoaXMuX2RpYWxvZ0NvbnRlbnRFbGVtZW50KSB7XG4gICAgICAgIHRoaXMuX2RpYWxvZ0NvbnRlbnRSZXNpemVPYnNlcnZlci51bm9ic2VydmUodGhpcy5fZGlhbG9nQ29udGVudEVsZW1lbnQpO1xuICAgICAgfVxuICAgICAgdGhpcy5yZW1vdmVJbnN0YW5jZUZyb21HbG9iYWxDb2xsZWN0aW9uKCk7XG4gICAgICAvLyBFbmFibGUgc2Nyb2xsaW5nIGZvciBjb250ZW50IGJlbG93IHRoZSBkaWFsb2cgaWYgbm8gZGlhbG9nIGlzIG9wZW5cbiAgICAgIGlmICghb3ZlcmxheVJlZnMubGVuZ3RoKSB7XG4gICAgICAgIHRoaXMuc2Nyb2xsSGFuZGxlci5lbmFibGVTY3JvbGwoKTtcbiAgICAgIH1cbiAgICAgIHRoaXMuZGlkQ2xvc2UuZW1pdCh7XG4gICAgICAgIHJldHVyblZhbHVlOiB0aGlzLnJldHVyblZhbHVlLFxuICAgICAgICBjbG9zZVRhcmdldDogdGhpcy5vdmVybGF5Q2xvc2VFbGVtZW50LFxuICAgICAgfSk7XG4gICAgfVxuICB9XG5cbiAgLy8gU2V0IGZvY3VzIG9uIHRoZSBmaXJzdCBmb2N1c2FibGUgZWxlbWVudC5cbiAgcHJvdGVjdGVkIHNldE92ZXJsYXlGb2N1cygpOiB2b2lkIHtcbiAgICBjb25zdCBmaXJzdEZvY3VzYWJsZSA9IGdldEZpcnN0Rm9jdXNhYmxlRWxlbWVudChcbiAgICAgIEFycmF5LmZyb20odGhpcy5jaGlsZHJlbikuZmlsdGVyKChlKTogZSBpcyBIVE1MRWxlbWVudCA9PiBlIGluc3RhbmNlb2Ygd2luZG93LkhUTUxFbGVtZW50KSxcbiAgICApO1xuICAgIHNldE1vZGFsaXR5T25OZXh0Rm9jdXMoZmlyc3RGb2N1c2FibGUpO1xuICAgIGZpcnN0Rm9jdXNhYmxlPy5mb2N1cygpO1xuICB9XG5cbiAgcHJpdmF0ZSBfc3luY05lZ2F0aXZlKCk6IHZvaWQge1xuICAgIGlmICh0aGlzLl9kaWFsb2dUaXRsZUVsZW1lbnQpIHtcbiAgICAgIHRoaXMuX2RpYWxvZ1RpdGxlRWxlbWVudC5uZWdhdGl2ZSA9IHRoaXMubmVnYXRpdmU7XG4gICAgfVxuXG4gICAgaWYgKHRoaXMuX2RpYWxvZ0FjdGlvbnNFbGVtZW50KSB7XG4gICAgICB0aGlzLl9kaWFsb2dBY3Rpb25zRWxlbWVudC50b2dnbGVBdHRyaWJ1dGUoJ2RhdGEtbmVnYXRpdmUnLCB0aGlzLm5lZ2F0aXZlKTtcbiAgICB9XG4gIH1cblxuICBwcml2YXRlIF9vbkNvbnRlbnRTY3JvbGwoKTogdm9pZCB7XG4gICAgaWYgKCF0aGlzLl9kaWFsb2dDb250ZW50RWxlbWVudCkge1xuICAgICAgcmV0dXJuO1xuICAgIH1cblxuICAgIGNvbnN0IGhhc1Zpc2libGVIZWFkZXIgPSB0aGlzLmRhdGFzZXQuaGlkZUhlYWRlciA9PT0gdW5kZWZpbmVkO1xuXG4gICAgLy8gQ2hlY2sgd2hldGhlciBoaWRpbmcgdGhlIGhlYWRlciB3b3VsZCBtYWtlIHRoZSBzY3JvbGxiYXIgZGlzYXBwZWFyXG4gICAgLy8gYW5kIHByZXZlbnQgdGhlIGhpZGluZyBhbmltYXRpb24gaWYgc28uXG4gICAgaWYgKFxuICAgICAgaGFzVmlzaWJsZUhlYWRlciAmJlxuICAgICAgdGhpcy5fZGlhbG9nQ29udGVudEVsZW1lbnQuY2xpZW50SGVpZ2h0ICsgdGhpcy5fZGlhbG9nVGl0bGVIZWlnaHQhID49XG4gICAgICAgIHRoaXMuX2RpYWxvZ0NvbnRlbnRFbGVtZW50LnNjcm9sbEhlaWdodFxuICAgICkge1xuICAgICAgcmV0dXJuO1xuICAgIH1cblxuICAgIGNvbnN0IGN1cnJlbnRTY3JvbGwgPSB0aGlzLl9kaWFsb2dDb250ZW50RWxlbWVudC5zY3JvbGxUb3A7XG4gICAgaWYgKFxuICAgICAgTWF0aC5yb3VuZChjdXJyZW50U2Nyb2xsICsgdGhpcy5fZGlhbG9nQ29udGVudEVsZW1lbnQuY2xpZW50SGVpZ2h0KSA+PVxuICAgICAgdGhpcy5fZGlhbG9nQ29udGVudEVsZW1lbnQuc2Nyb2xsSGVpZ2h0XG4gICAgKSB7XG4gICAgICByZXR1cm47XG4gICAgfVxuICAgIC8vIENoZWNrIHdoZXRoZXIgaXMgc2Nyb2xsaW5nIGRvd24gb3IgdXAuXG4gICAgaWYgKGN1cnJlbnRTY3JvbGwgPiAwICYmIHRoaXMuX2xhc3RTY3JvbGwgPCBjdXJyZW50U2Nyb2xsKSB7XG4gICAgICAvLyBTY3JvbGxpbmcgZG93blxuICAgICAgdGhpcy5fc2V0SGlkZUhlYWRlckRhdGFBdHRyaWJ1dGUodHJ1ZSk7XG4gICAgfSBlbHNlIHtcbiAgICAgIC8vIFNjcm9sbGluZyB1cFxuICAgICAgdGhpcy5fc2V0SGlkZUhlYWRlckRhdGFBdHRyaWJ1dGUoZmFsc2UpO1xuICAgIH1cbiAgICAvLyBgY3VycmVudFNjcm9sbGAgY2FuIGJlIG5lZ2F0aXZlLCBlLmcuIG9uIG1vYmlsZTsgdGhpcyBpcyBub3QgYWxsb3dlZC5cbiAgICB0aGlzLl9sYXN0U2Nyb2xsID0gY3VycmVudFNjcm9sbCA8PSAwID8gMCA6IGN1cnJlbnRTY3JvbGw7XG4gIH1cblxuICAvLyBDaGVjayBpZiB0aGUgcG9pbnRlcmRvd24gZXZlbnQgdGFyZ2V0IGlzIHRyaWdnZXJlZCBvbiB0aGUgZGlhbG9nLlxuICBwcml2YXRlIF9wb2ludGVyRG93bkxpc3RlbmVyID0gKGV2ZW50OiBQb2ludGVyRXZlbnQpOiB2b2lkID0+IHtcbiAgICBpZiAodGhpcy5iYWNrZHJvcEFjdGlvbiAhPT0gJ2Nsb3NlJykge1xuICAgICAgcmV0dXJuO1xuICAgIH1cblxuICAgIHRoaXMuX2lzUG9pbnRlckRvd25FdmVudE9uRGlhbG9nID0gZXZlbnRcbiAgICAgIC5jb21wb3NlZFBhdGgoKVxuICAgICAgLmZpbHRlcigoZSk6IGUgaXMgSFRNTEVsZW1lbnQgPT4gZSBpbnN0YW5jZW9mIHdpbmRvdy5IVE1MRWxlbWVudClcbiAgICAgIC5zb21lKCh0YXJnZXQpID0+IHRhcmdldC5pZCA9PT0gdGhpcy5fZGlhbG9nSWQpO1xuICB9O1xuXG4gIC8vIENsb3NlIGRpYWxvZyBvbiBiYWNrZHJvcCBjbGljay5cbiAgcHJpdmF0ZSBfY2xvc2VPbkJhY2tkcm9wQ2xpY2sgPSAoZXZlbnQ6IFBvaW50ZXJFdmVudCk6IHZvaWQgPT4ge1xuICAgIGlmICh0aGlzLmJhY2tkcm9wQWN0aW9uICE9PSAnY2xvc2UnKSB7XG4gICAgICByZXR1cm47XG4gICAgfVxuXG4gICAgaWYgKFxuICAgICAgIXRoaXMuX2lzUG9pbnRlckRvd25FdmVudE9uRGlhbG9nICYmXG4gICAgICAhZXZlbnRcbiAgICAgICAgLmNvbXBvc2VkUGF0aCgpXG4gICAgICAgIC5maWx0ZXIoKGUpOiBlIGlzIEhUTUxFbGVtZW50ID0+IGUgaW5zdGFuY2VvZiB3aW5kb3cuSFRNTEVsZW1lbnQpXG4gICAgICAgIC5zb21lKCh0YXJnZXQpID0+IHRhcmdldC5pZCA9PT0gdGhpcy5fZGlhbG9nSWQpXG4gICAgKSB7XG4gICAgICB0aGlzLmNsb3NlKCk7XG4gICAgfVxuICB9O1xuXG4gIHByaXZhdGUgX3NldERpYWxvZ0hlYWRlckhlaWdodCgpOiB2b2lkIHtcbiAgICB0aGlzLl9kaWFsb2dUaXRsZUhlaWdodCA9IHRoaXMuX2RpYWxvZ1RpdGxlRWxlbWVudD8uc2hhZG93Um9vdCEuZmlyc3RFbGVtZW50Q2hpbGQhLmNsaWVudEhlaWdodDtcbiAgICB0aGlzLnN0eWxlLnNldFByb3BlcnR5KCctLXNiYi1kaWFsb2ctaGVhZGVyLWhlaWdodCcsIGAke3RoaXMuX2RpYWxvZ1RpdGxlSGVpZ2h0fXB4YCk7XG4gIH1cblxuICBwcml2YXRlIF9vbkNvbnRlbnRSZXNpemUoKTogdm9pZCB7XG4gICAgdGhpcy5fc2V0RGlhbG9nSGVhZGVySGVpZ2h0KCk7XG4gICAgLy8gQ2hlY2sgd2hldGhlciB0aGUgY29udGVudCBvdmVyZmxvd3MgYW5kIHNldCB0aGUgYG92ZXJmbG93c2AgYXR0cmlidXRlLlxuICAgIHRoaXMuX292ZXJmbG93cyA9IHRoaXMuX2RpYWxvZ0NvbnRlbnRFbGVtZW50XG4gICAgICA/IHRoaXMuX2RpYWxvZ0NvbnRlbnRFbGVtZW50Py5zY3JvbGxIZWlnaHQgPiB0aGlzLl9kaWFsb2dDb250ZW50RWxlbWVudD8uY2xpZW50SGVpZ2h0XG4gICAgICA6IGZhbHNlO1xuICAgIHRoaXMuX3NldE92ZXJmbG93c0RhdGFBdHRyaWJ1dGUoKTtcbiAgfVxuXG4gIHByaXZhdGUgX3NldEhpZGVIZWFkZXJEYXRhQXR0cmlidXRlKHZhbHVlOiBib29sZWFuKTogdm9pZCB7XG4gICAgY29uc3QgaGlkZU9uU2Nyb2xsID0gdGhpcy5fZGlhbG9nVGl0bGVFbGVtZW50Py5oaWRlT25TY3JvbGwgPz8gZmFsc2U7XG4gICAgY29uc3QgaGlkZUhlYWRlciA9XG4gICAgICB0eXBlb2YgaGlkZU9uU2Nyb2xsID09PSAnYm9vbGVhbidcbiAgICAgICAgPyBoaWRlT25TY3JvbGxcbiAgICAgICAgOiBpc0JyZWFrcG9pbnQoJ3plcm8nLCBoaWRlT25TY3JvbGwsIHsgaW5jbHVkZU1heEJyZWFrcG9pbnQ6IHRydWUgfSk7XG4gICAgdGhpcy50b2dnbGVBdHRyaWJ1dGUoJ2RhdGEtaGlkZS1oZWFkZXInLCAhaGlkZUhlYWRlciA/IGZhbHNlIDogdmFsdWUpO1xuICAgIGlmICh0aGlzLl9kaWFsb2dUaXRsZUVsZW1lbnQpIHtcbiAgICAgIHRoaXMuX2RpYWxvZ1RpdGxlRWxlbWVudC50b2dnbGVBdHRyaWJ1dGUoJ2RhdGEtaGlkZS1oZWFkZXInLCAhaGlkZUhlYWRlciA/IGZhbHNlIDogdmFsdWUpO1xuICAgIH1cbiAgfVxuXG4gIHByaXZhdGUgX3NldE92ZXJmbG93c0RhdGFBdHRyaWJ1dGUoKTogdm9pZCB7XG4gICAgdGhpcy50b2dnbGVBdHRyaWJ1dGUoJ2RhdGEtb3ZlcmZsb3dzJywgdGhpcy5fb3ZlcmZsb3dzKTtcbiAgICB0aGlzLl9kaWFsb2dUaXRsZUVsZW1lbnQ/LnRvZ2dsZUF0dHJpYnV0ZSgnZGF0YS1vdmVyZmxvd3MnLCB0aGlzLl9vdmVyZmxvd3MpO1xuICAgIHRoaXMuX2RpYWxvZ0FjdGlvbnNFbGVtZW50Py50b2dnbGVBdHRyaWJ1dGUoJ2RhdGEtb3ZlcmZsb3dzJywgdGhpcy5fb3ZlcmZsb3dzKTtcbiAgfVxuXG4gIHByb3RlY3RlZCBvdmVycmlkZSByZW5kZXIoKTogVGVtcGxhdGVSZXN1bHQge1xuICAgIHJldHVybiBodG1sYFxuICAgICAgPGRpdiBjbGFzcz1cInNiYi1kaWFsb2dfX2NvbnRhaW5lclwiPlxuICAgICAgICA8ZGl2XG4gICAgICAgICAgQGFuaW1hdGlvbmVuZD0keyhldmVudDogQW5pbWF0aW9uRXZlbnQpID0+IHRoaXMub25PdmVybGF5QW5pbWF0aW9uRW5kKGV2ZW50KX1cbiAgICAgICAgICBjbGFzcz1cInNiYi1kaWFsb2dcIlxuICAgICAgICAgIGlkPSR7dGhpcy5fZGlhbG9nSWR9XG4gICAgICAgID5cbiAgICAgICAgICA8ZGl2XG4gICAgICAgICAgICBAY2xpY2s9JHsoZXZlbnQ6IEV2ZW50KSA9PiB0aGlzLmNsb3NlT25TYmJPdmVybGF5Q2xvc2VDbGljayhldmVudCl9XG4gICAgICAgICAgICBjbGFzcz1cInNiYi1kaWFsb2dfX3dyYXBwZXJcIlxuICAgICAgICAgID5cbiAgICAgICAgICAgIDxzbG90Pjwvc2xvdD5cbiAgICAgICAgICA8L2Rpdj5cbiAgICAgICAgPC9kaXY+XG4gICAgICA8L2Rpdj5cbiAgICAgIDxzYmItc2NyZWVuLXJlYWRlci1vbmx5IGFyaWEtbGl2ZT1cInBvbGl0ZVwiPjwvc2JiLXNjcmVlbi1yZWFkZXItb25seT5cbiAgICBgO1xuICB9XG59XG5cbmRlY2xhcmUgZ2xvYmFsIHtcbiAgaW50ZXJmYWNlIEhUTUxFbGVtZW50VGFnTmFtZU1hcCB7XG4gICAgLy8gZXNsaW50LWRpc2FibGUtbmV4dC1saW5lIEB0eXBlc2NyaXB0LWVzbGludC9uYW1pbmctY29udmVudGlvblxuICAgICdzYmItZGlhbG9nJzogU2JiRGlhbG9nRWxlbWVudDtcbiAgfVxufVxuIl0sIm5hbWVzIjpbIl9hIl0sIm1hcHBpbmdzIjoiOzs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7O0FBZUEsSUFBSSxTQUFTO0FBZUEsSUFBQSxtQkFBTixjQUErQixzQkFBc0I7QUFBQSxFQUFyRCxjQUFBO0FBQUEsVUFBQSxHQUFBLFNBQUE7QUFJdUMsU0FBTyxpQkFBbUM7QUFNOUUsU0FBQSwrQkFBK0IsSUFBSSxpQkFBaUIsTUFBTTtBQUFBLE1BQ2hFLFFBQVE7QUFBQSxNQUNSLGFBQWE7QUFBQSxNQUNiLFVBQVUsTUFBTSxXQUFXLE1BQU0sS0FBSyxrQkFBa0I7QUFBQSxJQUFBLENBQ3pEO0FBRUQsU0FBUSxzQkFBb0Q7QUFFNUQsU0FBUSx3QkFBNEM7QUFDcEQsU0FBUSx3QkFBd0Q7QUFDaEUsU0FBUSw4QkFBdUM7QUFDL0MsU0FBUSxhQUFzQjtBQUM5QixTQUFRLGNBQWM7QUFDZCxTQUFBLFlBQVksY0FBYyxRQUFRO0FBQzFDLFNBQVUsaUJBQXlCO0FBd0szQixTQUFBLHVCQUF1QixDQUFDLFVBQThCO0FBQ3hELFVBQUEsS0FBSyxtQkFBbUIsU0FBUztBQUNuQztBQUFBLE1BQ0Y7QUFFQSxXQUFLLDhCQUE4QixNQUNoQyxhQUNBLEVBQUEsT0FBTyxD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
@@ -2,14 +2,7 @@ import { css, LitElement, html } from "lit";
2
2
  import { property, customElement } from "lit/decorators.js";
3
3
  import { hostAttributes } from "./core/decorators.js";
4
4
  import { SbbNegativeMixin } from "./core/mixins.js";
5
- const style = css`/** This mixin can be used to avoid spacing problems by inserting an invisible space as pseudo element. */
6
- /*
7
- * SBB table mixin
8
- * Notes:
9
- * We cannot use \`border-collapse\` because it is not compatible with the \`border-radius\` property.
10
- * Therefore, we have to build the grid avoiding double borders.
11
- */
12
- *,
5
+ const style = css`*,
13
6
  ::before,
14
7
  ::after {
15
8
  box-sizing: border-box;
@@ -74,4 +67,4 @@ SbbDividerElement = __decorateClass([
74
67
  export {
75
68
  SbbDividerElement
76
69
  };
77
- //# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZGl2aWRlci5qcyIsInNvdXJjZXMiOlsiLi4vLi4vLi4vc3JjL2VsZW1lbnRzL2RpdmlkZXIvZGl2aWRlci50cyJdLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgdHlwZSB7IENTU1Jlc3VsdEdyb3VwLCBQcm9wZXJ0eVZhbHVlcywgVGVtcGxhdGVSZXN1bHQgfSBmcm9tICdsaXQnO1xuaW1wb3J0IHsgaHRtbCwgTGl0RWxlbWVudCB9IGZyb20gJ2xpdCc7XG5pbXBvcnQgeyBjdXN0b21FbGVtZW50LCBwcm9wZXJ0eSB9IGZyb20gJ2xpdC9kZWNvcmF0b3JzLmpzJztcblxuaW1wb3J0IHsgaG9zdEF0dHJpYnV0ZXMgfSBmcm9tICcuLi9jb3JlL2RlY29yYXRvcnMuanMnO1xuaW1wb3J0IHR5cGUgeyBTYmJPcmllbnRhdGlvbiB9IGZyb20gJy4uL2NvcmUvaW50ZXJmYWNlcy5qcyc7XG5pbXBvcnQgeyBTYmJOZWdhdGl2ZU1peGluIH0gZnJvbSAnLi4vY29yZS9taXhpbnMuanMnO1xuXG5pbXBvcnQgc3R5bGUgZnJvbSAnLi9kaXZpZGVyLnNjc3M/bGl0JmlubGluZSc7XG5cbi8qKlxuICogSXQgZGlzcGxheXMgYSBkaXZpZGVyIGJldHdlZW4gc2VjdGlvbnMuXG4gKi9cbkBjdXN0b21FbGVtZW50KCdzYmItZGl2aWRlcicpXG5AaG9zdEF0dHJpYnV0ZXMoe1xuICByb2xlOiAnc2VwYXJhdG9yJyxcbn0pXG5leHBvcnQgY2xhc3MgU2JiRGl2aWRlckVsZW1lbnQgZXh0ZW5kcyBTYmJOZWdhdGl2ZU1peGluKExpdEVsZW1lbnQpIHtcbiAgcHVibGljIHN0YXRpYyBvdmVycmlkZSBzdHlsZXM6IENTU1Jlc3VsdEdyb3VwID0gc3R5bGU7XG5cbiAgLyoqIE9yaWVudGF0aW9uIHByb3BlcnR5IHdpdGggcG9zc2libGUgdmFsdWVzICdob3Jpem9udGFsJyB8ICd2ZXJ0aWNhbCcuIERlZmF1bHRzIHRvIGhvcml6b250YWwuICovXG4gIEBwcm9wZXJ0eSh7IHJlZmxlY3Q6IHRydWUgfSkgcHVibGljIG9yaWVudGF0aW9uOiBTYmJPcmllbnRhdGlvbiA9ICdob3Jpem9udGFsJztcblxuICBwcm90ZWN0ZWQgb3ZlcnJpZGUgd2lsbFVwZGF0ZShjaGFuZ2VkUHJvcGVydGllczogUHJvcGVydHlWYWx1ZXM8dGhpcz4pOiB2b2lkIHtcbiAgICBzdXBlci53aWxsVXBkYXRlKGNoYW5nZWRQcm9wZXJ0aWVzKTtcblxuICAgIGlmIChjaGFuZ2VkUHJvcGVydGllcy5oYXMoJ29yaWVudGF0aW9uJykpIHtcbiAgICAgIHRoaXMuc2V0QXR0cmlidXRlKCdhcmlhLW9yaWVudGF0aW9uJywgdGhpcy5vcmllbnRhdGlvbik7XG4gICAgfVxuICB9XG5cbiAgcHJvdGVjdGVkIG92ZXJyaWRlIHJlbmRlcigpOiBUZW1wbGF0ZVJlc3VsdCB7XG4gICAgcmV0dXJuIGh0bWxgIDxkaXYgY2xhc3M9XCJzYmItZGl2aWRlclwiPjwvZGl2PiBgO1xuICB9XG59XG5cbmRlY2xhcmUgZ2xvYmFsIHtcbiAgaW50ZXJmYWNlIEhUTUxFbGVtZW50VGFnTmFtZU1hcCB7XG4gICAgLy8gZXNsaW50LWRpc2FibGUtbmV4dC1saW5lIEB0eXBlc2NyaXB0LWVzbGludC9uYW1pbmctY29udmVudGlvblxuICAgICdzYmItZGl2aWRlcic6IFNiYkRpdmlkZXJFbGVtZW50O1xuICB9XG59XG4iXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6Ijs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7O0FBaUJPLElBQU0sb0JBQU4sY0FBZ0MsaUJBQWlCLFVBQVUsRUFBRTtBQUFBLEVBQTdELGNBQUE7QUFBQSxVQUFBLEdBQUEsU0FBQTtBQUl3QixTQUFPLGNBQThCO0FBQUEsRUFBQTtBQUFBLEVBRS9DLFdBQVcsbUJBQStDO0FBQzNFLFVBQU0sV0FBVyxpQkFBaUI7QUFFOUIsUUFBQSxrQkFBa0IsSUFBSSxhQUFhLEdBQUc7QUFDbkMsV0FBQSxhQUFhLG9CQUFvQixLQUFLLFdBQVc7QUFBQSxJQUN4RDtBQUFBLEVBQ0Y7QUFBQSxFQUVtQixTQUF5QjtBQUNuQyxXQUFBO0FBQUEsRUFDVDtBQUNGO0FBakJhLGtCQUNZLFNBQXlCO0FBR1osZ0JBQUE7QUFBQSxFQUFuQyxTQUFTLEVBQUUsU0FBUyxNQUFNO0FBQUEsR0FKaEIsa0JBSXlCLFdBQUEsZUFBQSxDQUFBO0FBSnpCLG9CQUFOLGdCQUFBO0FBQUEsRUFKTixjQUFjLGFBQWE7QUFBQSxFQUMzQixlQUFlO0FBQUEsSUFDZCxNQUFNO0FBQUEsRUFBQSxDQUNQO0FBQUEsR0FDWSxpQkFBQTsifQ==
70
+ //# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZGl2aWRlci5qcyIsInNvdXJjZXMiOlsiLi4vLi4vLi4vc3JjL2VsZW1lbnRzL2RpdmlkZXIvZGl2aWRlci50cyJdLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgdHlwZSB7IENTU1Jlc3VsdEdyb3VwLCBQcm9wZXJ0eVZhbHVlcywgVGVtcGxhdGVSZXN1bHQgfSBmcm9tICdsaXQnO1xuaW1wb3J0IHsgaHRtbCwgTGl0RWxlbWVudCB9IGZyb20gJ2xpdCc7XG5pbXBvcnQgeyBjdXN0b21FbGVtZW50LCBwcm9wZXJ0eSB9IGZyb20gJ2xpdC9kZWNvcmF0b3JzLmpzJztcblxuaW1wb3J0IHsgaG9zdEF0dHJpYnV0ZXMgfSBmcm9tICcuLi9jb3JlL2RlY29yYXRvcnMuanMnO1xuaW1wb3J0IHR5cGUgeyBTYmJPcmllbnRhdGlvbiB9IGZyb20gJy4uL2NvcmUvaW50ZXJmYWNlcy5qcyc7XG5pbXBvcnQgeyBTYmJOZWdhdGl2ZU1peGluIH0gZnJvbSAnLi4vY29yZS9taXhpbnMuanMnO1xuXG5pbXBvcnQgc3R5bGUgZnJvbSAnLi9kaXZpZGVyLnNjc3M/bGl0JmlubGluZSc7XG5cbi8qKlxuICogSXQgZGlzcGxheXMgYSBkaXZpZGVyIGJldHdlZW4gc2VjdGlvbnMuXG4gKi9cbkBjdXN0b21FbGVtZW50KCdzYmItZGl2aWRlcicpXG5AaG9zdEF0dHJpYnV0ZXMoe1xuICByb2xlOiAnc2VwYXJhdG9yJyxcbn0pXG5leHBvcnQgY2xhc3MgU2JiRGl2aWRlckVsZW1lbnQgZXh0ZW5kcyBTYmJOZWdhdGl2ZU1peGluKExpdEVsZW1lbnQpIHtcbiAgcHVibGljIHN0YXRpYyBvdmVycmlkZSBzdHlsZXM6IENTU1Jlc3VsdEdyb3VwID0gc3R5bGU7XG5cbiAgLyoqIE9yaWVudGF0aW9uIHByb3BlcnR5IHdpdGggcG9zc2libGUgdmFsdWVzICdob3Jpem9udGFsJyB8ICd2ZXJ0aWNhbCcuIERlZmF1bHRzIHRvIGhvcml6b250YWwuICovXG4gIEBwcm9wZXJ0eSh7IHJlZmxlY3Q6IHRydWUgfSkgcHVibGljIG9yaWVudGF0aW9uOiBTYmJPcmllbnRhdGlvbiA9ICdob3Jpem9udGFsJztcblxuICBwcm90ZWN0ZWQgb3ZlcnJpZGUgd2lsbFVwZGF0ZShjaGFuZ2VkUHJvcGVydGllczogUHJvcGVydHlWYWx1ZXM8dGhpcz4pOiB2b2lkIHtcbiAgICBzdXBlci53aWxsVXBkYXRlKGNoYW5nZWRQcm9wZXJ0aWVzKTtcblxuICAgIGlmIChjaGFuZ2VkUHJvcGVydGllcy5oYXMoJ29yaWVudGF0aW9uJykpIHtcbiAgICAgIHRoaXMuc2V0QXR0cmlidXRlKCdhcmlhLW9yaWVudGF0aW9uJywgdGhpcy5vcmllbnRhdGlvbik7XG4gICAgfVxuICB9XG5cbiAgcHJvdGVjdGVkIG92ZXJyaWRlIHJlbmRlcigpOiBUZW1wbGF0ZVJlc3VsdCB7XG4gICAgcmV0dXJuIGh0bWxgIDxkaXYgY2xhc3M9XCJzYmItZGl2aWRlclwiPjwvZGl2PiBgO1xuICB9XG59XG5cbmRlY2xhcmUgZ2xvYmFsIHtcbiAgaW50ZXJmYWNlIEhUTUxFbGVtZW50VGFnTmFtZU1hcCB7XG4gICAgLy8gZXNsaW50LWRpc2FibGUtbmV4dC1saW5lIEB0eXBlc2NyaXB0LWVzbGludC9uYW1pbmctY29udmVudGlvblxuICAgICdzYmItZGl2aWRlcic6IFNiYkRpdmlkZXJFbGVtZW50O1xuICB9XG59XG4iXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6Ijs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7QUFpQk8sSUFBTSxvQkFBTixjQUFnQyxpQkFBaUIsVUFBVSxFQUFFO0FBQUEsRUFBN0QsY0FBQTtBQUFBLFVBQUEsR0FBQSxTQUFBO0FBSXdCLFNBQU8sY0FBOEI7QUFBQSxFQUFBO0FBQUEsRUFFL0MsV0FBVyxtQkFBK0M7QUFDM0UsVUFBTSxXQUFXLGlCQUFpQjtBQUU5QixRQUFBLGtCQUFrQixJQUFJLGFBQWEsR0FBRztBQUNuQyxXQUFBLGFBQWEsb0JBQW9CLEtBQUssV0FBVztBQUFBLElBQ3hEO0FBQUEsRUFDRjtBQUFBLEVBRW1CLFNBQXlCO0FBQ25DLFdBQUE7QUFBQSxFQUNUO0FBQ0Y7QUFqQmEsa0JBQ1ksU0FBeUI7QUFHWixnQkFBQTtBQUFBLEVBQW5DLFNBQVMsRUFBRSxTQUFTLE1BQU07QUFBQSxHQUpoQixrQkFJeUIsV0FBQSxlQUFBLENBQUE7QUFKekIsb0JBQU4sZ0JBQUE7QUFBQSxFQUpOLGNBQWMsYUFBYTtBQUFBLEVBQzNCLGVBQWU7QUFBQSxJQUNkLE1BQU07QUFBQSxFQUFBLENBQ1A7QUFBQSxHQUNZLGlCQUFBOyJ9
@@ -1,14 +1,7 @@
1
1
  import { css, LitElement, html } from "lit";
2
2
  import { customElement } from "lit/decorators.js";
3
3
  import { hostAttributes } from "../core/decorators.js";
4
- const style = css`/** This mixin can be used to avoid spacing problems by inserting an invisible space as pseudo element. */
5
- /*
6
- * SBB table mixin
7
- * Notes:
8
- * We cannot use \`border-collapse\` because it is not compatible with the \`border-radius\` property.
9
- * Therefore, we have to build the grid avoiding double borders.
10
- */
11
- *,
4
+ const style = css`*,
12
5
  ::before,
13
6
  ::after {
14
7
  box-sizing: border-box;
@@ -73,4 +66,4 @@ SbbExpansionPanelContentElement = __decorateClass([
73
66
  export {
74
67
  SbbExpansionPanelContentElement
75
68
  };
76
- //# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZXhwYW5zaW9uLXBhbmVsLWNvbnRlbnQuanMiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uL3NyYy9lbGVtZW50cy9leHBhbnNpb24tcGFuZWwvZXhwYW5zaW9uLXBhbmVsLWNvbnRlbnQvZXhwYW5zaW9uLXBhbmVsLWNvbnRlbnQudHMiXSwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHR5cGUgeyBDU1NSZXN1bHRHcm91cCwgVGVtcGxhdGVSZXN1bHQgfSBmcm9tICdsaXQnO1xuaW1wb3J0IHsgaHRtbCwgTGl0RWxlbWVudCB9IGZyb20gJ2xpdCc7XG5pbXBvcnQgeyBjdXN0b21FbGVtZW50IH0gZnJvbSAnbGl0L2RlY29yYXRvcnMuanMnO1xuXG5pbXBvcnQgeyBob3N0QXR0cmlidXRlcyB9IGZyb20gJy4uLy4uL2NvcmUvZGVjb3JhdG9ycy5qcyc7XG5cbmltcG9ydCBzdHlsZSBmcm9tICcuL2V4cGFuc2lvbi1wYW5lbC1jb250ZW50LnNjc3M/bGl0JmlubGluZSc7XG5cbi8qKlxuICogSXQgY2FuIGJlIHVzZWQgYXMgYSBjb250YWluZXIgZm9yIHRoZSBjb250ZW50IG9mIHRoZSBgc2JiLWV4cGFuc2lvbi1wYW5lbGAgY29tcG9uZW50LlxuICpcbiAqIEBzbG90IC0gVXNlIHRoZSB1bm5hbWVkIHNsb3QgdG8gYWRkIGNvbnRlbnQgdG8gdGhlIGBzYmItZXhwYW5zaW9uLXBhbmVsYC5cbiAqL1xuQGN1c3RvbUVsZW1lbnQoJ3NiYi1leHBhbnNpb24tcGFuZWwtY29udGVudCcpXG5AaG9zdEF0dHJpYnV0ZXMoe1xuICByb2xlOiAncmVnaW9uJyxcbiAgc2xvdDogJ2NvbnRlbnQnLFxufSlcbmV4cG9ydCBjbGFzcyBTYmJFeHBhbnNpb25QYW5lbENvbnRlbnRFbGVtZW50IGV4dGVuZHMgTGl0RWxlbWVudCB7XG4gIHB1YmxpYyBzdGF0aWMgb3ZlcnJpZGUgc3R5bGVzOiBDU1NSZXN1bHRHcm91cCA9IHN0eWxlO1xuXG4gIHByb3RlY3RlZCBvdmVycmlkZSByZW5kZXIoKTogVGVtcGxhdGVSZXN1bHQge1xuICAgIHJldHVybiBodG1sYFxuICAgICAgPGRpdiBjbGFzcz1cInNiYi1leHBhbnNpb24tcGFuZWwtY29udGVudFwiPlxuICAgICAgICA8c2xvdD48L3Nsb3Q+XG4gICAgICA8L2Rpdj5cbiAgICBgO1xuICB9XG59XG5cbmRlY2xhcmUgZ2xvYmFsIHtcbiAgaW50ZXJmYWNlIEhUTUxFbGVtZW50VGFnTmFtZU1hcCB7XG4gICAgLy8gZXNsaW50LWRpc2FibGUtbmV4dC1saW5lIEB0eXBlc2NyaXB0LWVzbGludC9uYW1pbmctY29udmVudGlvblxuICAgICdzYmItZXhwYW5zaW9uLXBhbmVsLWNvbnRlbnQnOiBTYmJFeHBhbnNpb25QYW5lbENvbnRlbnRFbGVtZW50O1xuICB9XG59XG4iXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6Ijs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7OztBQWtCYSxJQUFBLGtDQUFOLGNBQThDLFdBQVc7QUFBQSxFQUczQyxTQUF5QjtBQUNuQyxXQUFBO0FBQUE7QUFBQTtBQUFBO0FBQUE7QUFBQSxFQUtUO0FBQ0Y7QUFWYSxnQ0FDWSxTQUF5QjtBQURyQyxrQ0FBTixnQkFBQTtBQUFBLEVBTE4sY0FBYyw2QkFBNkI7QUFBQSxFQUMzQyxlQUFlO0FBQUEsSUFDZCxNQUFNO0FBQUEsSUFDTixNQUFNO0FBQUEsRUFBQSxDQUNQO0FBQUEsR0FDWSwrQkFBQTsifQ==
69
+ //# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZXhwYW5zaW9uLXBhbmVsLWNvbnRlbnQuanMiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uL3NyYy9lbGVtZW50cy9leHBhbnNpb24tcGFuZWwvZXhwYW5zaW9uLXBhbmVsLWNvbnRlbnQvZXhwYW5zaW9uLXBhbmVsLWNvbnRlbnQudHMiXSwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHR5cGUgeyBDU1NSZXN1bHRHcm91cCwgVGVtcGxhdGVSZXN1bHQgfSBmcm9tICdsaXQnO1xuaW1wb3J0IHsgaHRtbCwgTGl0RWxlbWVudCB9IGZyb20gJ2xpdCc7XG5pbXBvcnQgeyBjdXN0b21FbGVtZW50IH0gZnJvbSAnbGl0L2RlY29yYXRvcnMuanMnO1xuXG5pbXBvcnQgeyBob3N0QXR0cmlidXRlcyB9IGZyb20gJy4uLy4uL2NvcmUvZGVjb3JhdG9ycy5qcyc7XG5cbmltcG9ydCBzdHlsZSBmcm9tICcuL2V4cGFuc2lvbi1wYW5lbC1jb250ZW50LnNjc3M/bGl0JmlubGluZSc7XG5cbi8qKlxuICogSXQgY2FuIGJlIHVzZWQgYXMgYSBjb250YWluZXIgZm9yIHRoZSBjb250ZW50IG9mIHRoZSBgc2JiLWV4cGFuc2lvbi1wYW5lbGAgY29tcG9uZW50LlxuICpcbiAqIEBzbG90IC0gVXNlIHRoZSB1bm5hbWVkIHNsb3QgdG8gYWRkIGNvbnRlbnQgdG8gdGhlIGBzYmItZXhwYW5zaW9uLXBhbmVsYC5cbiAqL1xuQGN1c3RvbUVsZW1lbnQoJ3NiYi1leHBhbnNpb24tcGFuZWwtY29udGVudCcpXG5AaG9zdEF0dHJpYnV0ZXMoe1xuICByb2xlOiAncmVnaW9uJyxcbiAgc2xvdDogJ2NvbnRlbnQnLFxufSlcbmV4cG9ydCBjbGFzcyBTYmJFeHBhbnNpb25QYW5lbENvbnRlbnRFbGVtZW50IGV4dGVuZHMgTGl0RWxlbWVudCB7XG4gIHB1YmxpYyBzdGF0aWMgb3ZlcnJpZGUgc3R5bGVzOiBDU1NSZXN1bHRHcm91cCA9IHN0eWxlO1xuXG4gIHByb3RlY3RlZCBvdmVycmlkZSByZW5kZXIoKTogVGVtcGxhdGVSZXN1bHQge1xuICAgIHJldHVybiBodG1sYFxuICAgICAgPGRpdiBjbGFzcz1cInNiYi1leHBhbnNpb24tcGFuZWwtY29udGVudFwiPlxuICAgICAgICA8c2xvdD48L3Nsb3Q+XG4gICAgICA8L2Rpdj5cbiAgICBgO1xuICB9XG59XG5cbmRlY2xhcmUgZ2xvYmFsIHtcbiAgaW50ZXJmYWNlIEhUTUxFbGVtZW50VGFnTmFtZU1hcCB7XG4gICAgLy8gZXNsaW50LWRpc2FibGUtbmV4dC1saW5lIEB0eXBlc2NyaXB0LWVzbGludC9uYW1pbmctY29udmVudGlvblxuICAgICdzYmItZXhwYW5zaW9uLXBhbmVsLWNvbnRlbnQnOiBTYmJFeHBhbnNpb25QYW5lbENvbnRlbnRFbGVtZW50O1xuICB9XG59XG4iXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6Ijs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7O0FBa0JhLElBQUEsa0NBQU4sY0FBOEMsV0FBVztBQUFBLEVBRzNDLFNBQXlCO0FBQ25DLFdBQUE7QUFBQTtBQUFBO0FBQUE7QUFBQTtBQUFBLEVBS1Q7QUFDRjtBQVZhLGdDQUNZLFNBQXlCO0FBRHJDLGtDQUFOLGdCQUFBO0FBQUEsRUFMTixjQUFjLDZCQUE2QjtBQUFBLEVBQzNDLGVBQWU7QUFBQSxJQUNkLE1BQU07QUFBQSxJQUNOLE1BQU07QUFBQSxFQUFBLENBQ1A7QUFBQSxHQUNZLCtCQUFBOyJ9