@sbb-esta/lyne-elements 1.12.0 → 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 (129) hide show
  1. package/core/styles/core/functions.scss +1 -1
  2. package/core/styles/mixins/helpers.scss +1 -1
  3. package/core/styles/mixins/lists.scss +2 -3
  4. package/core/styles/mixins/scrollbar.scss +2 -2
  5. package/core/styles/mixins/table.scss +4 -6
  6. package/core/styles/normalize.scss +62 -131
  7. package/core.css +0 -5
  8. package/custom-elements.json +7 -1
  9. package/development/accordion.js +2 -9
  10. package/development/action-group.js +2 -9
  11. package/development/alert/alert-group.js +2 -9
  12. package/development/alert/alert.js +2 -9
  13. package/development/autocomplete-grid/autocomplete-grid-button.js +2 -9
  14. package/development/autocomplete-grid/autocomplete-grid-cell.js +2 -9
  15. package/development/autocomplete-grid/autocomplete-grid-option.js +2 -9
  16. package/development/autocomplete-grid/autocomplete-grid-row.js +2 -9
  17. package/development/autocomplete.js +2 -12
  18. package/development/breadcrumb/breadcrumb-group.js +2 -9
  19. package/development/breadcrumb/breadcrumb.js +2 -9
  20. package/development/button/common.js +2 -11
  21. package/development/button/mini-button-group.js +2 -9
  22. package/development/button/mini-button.js +2 -9
  23. package/development/calendar.js +2 -9
  24. package/development/card/card-badge.js +2 -9
  25. package/development/card/card.js +2 -9
  26. package/development/card/common.js +2 -9
  27. package/development/checkbox/checkbox-group.js +2 -9
  28. package/development/checkbox/checkbox.js +2 -9
  29. package/development/checkbox/common.js +1 -8
  30. package/development/chip.js +2 -9
  31. package/development/clock.js +2 -9
  32. package/development/container/container.js +1 -8
  33. package/development/container/sticky-bar.js +2 -9
  34. package/development/core/mixins.js +2 -9
  35. package/development/datepicker/datepicker-next-day.js +2 -9
  36. package/development/datepicker/datepicker-previous-day.js +2 -9
  37. package/development/datepicker/datepicker-toggle.js +2 -9
  38. package/development/datepicker/datepicker.js +2 -9
  39. package/development/dialog/dialog-actions.js +2 -9
  40. package/development/dialog/dialog-content.js +2 -11
  41. package/development/dialog/dialog-title.js +2 -9
  42. package/development/dialog/dialog.js +2 -9
  43. package/development/divider.js +2 -9
  44. package/development/expansion-panel/expansion-panel-content.js +2 -9
  45. package/development/expansion-panel/expansion-panel-header.js +2 -9
  46. package/development/expansion-panel/expansion-panel.js +2 -9
  47. package/development/file-selector.js +2 -9
  48. package/development/flip-card/flip-card-details.js +2 -9
  49. package/development/flip-card/flip-card-summary.js +2 -9
  50. package/development/flip-card/flip-card.js +2 -9
  51. package/development/footer.js +2 -9
  52. package/development/form-error.js +2 -9
  53. package/development/form-field/form-field-clear.js +2 -9
  54. package/development/form-field/form-field.js +1 -12
  55. package/development/header/common.js +2 -9
  56. package/development/header/header.js +2 -9
  57. package/development/icon.js +2 -9
  58. package/development/image/image.d.ts +1 -0
  59. package/development/image/image.d.ts.map +1 -1
  60. package/development/image.js +13 -13
  61. package/development/journey-header.js +2 -9
  62. package/development/lead-container.js +2 -9
  63. package/development/link/common.js +4 -25
  64. package/development/link-list/common.js +2 -9
  65. package/development/link-list/link-list-anchor.js +2 -9
  66. package/development/link-list/link-list.js +2 -9
  67. package/development/loading-indicator.js +2 -10
  68. package/development/logo.js +2 -9
  69. package/development/map-container.js +2 -11
  70. package/development/menu/common.js +2 -9
  71. package/development/menu/menu.js +2 -11
  72. package/development/message.js +2 -9
  73. package/development/navigation/common.js +2 -9
  74. package/development/navigation/navigation-list.js +2 -9
  75. package/development/navigation/navigation-marker.js +2 -9
  76. package/development/navigation/navigation-section.js +2 -11
  77. package/development/navigation/navigation.js +2 -11
  78. package/development/notification.js +2 -10
  79. package/development/option/optgroup.js +2 -9
  80. package/development/option/option.js +2 -9
  81. package/development/overlay.js +2 -11
  82. package/development/paginator.js +2 -9
  83. package/development/popover/popover-trigger.js +2 -9
  84. package/development/popover/popover.js +2 -9
  85. package/development/radio-button/common.js +2 -9
  86. package/development/radio-button/radio-button-group.js +4 -11
  87. package/development/radio-button/radio-button.js +2 -9
  88. package/development/screen-reader-only.js +2 -9
  89. package/development/select.js +2 -17
  90. package/development/selection-expansion-panel.js +2 -9
  91. package/development/signet.js +2 -9
  92. package/development/skiplink-list.js +2 -9
  93. package/development/slider.js +1 -8
  94. package/development/status.js +2 -9
  95. package/development/stepper/step-label.js +2 -9
  96. package/development/stepper/step.js +2 -9
  97. package/development/stepper/stepper.js +2 -9
  98. package/development/table/table-wrapper.js +2 -11
  99. package/development/tabs/tab-group.js +2 -9
  100. package/development/tabs/tab-label.js +2 -9
  101. package/development/tabs/tab.js +1 -8
  102. package/development/tag/tag-group.js +2 -9
  103. package/development/tag/tag.js +2 -9
  104. package/development/teaser-hero.js +2 -9
  105. package/development/teaser-product/common.js +2 -9
  106. package/development/teaser-product/teaser-product.js +2 -9
  107. package/development/teaser.js +12 -11
  108. package/development/time-input.js +2 -9
  109. package/development/timetable-occupancy-icon.js +2 -9
  110. package/development/timetable-occupancy.js +2 -9
  111. package/development/title.js +3 -17
  112. package/development/toast.js +2 -9
  113. package/development/toggle/toggle-option.js +2 -9
  114. package/development/toggle/toggle.js +2 -9
  115. package/development/toggle-check.js +1 -8
  116. package/development/train/train-blocked-passage.js +2 -9
  117. package/development/train/train-formation.js +2 -11
  118. package/development/train/train-wagon.js +2 -9
  119. package/development/train/train.js +2 -9
  120. package/development/visual-checkbox.js +2 -9
  121. package/image/image.d.ts +1 -0
  122. package/image/image.d.ts.map +1 -1
  123. package/image.js +7 -7
  124. package/lists.css +1 -8
  125. package/normalize.css +21 -113
  126. package/package.json +1 -1
  127. package/radio-button/radio-button-group.js +2 -1
  128. package/standard-theme.css +20 -130
  129. package/teaser.js +16 -16
@@ -17,14 +17,7 @@ const SbbBreakpointWideMax = 1439;
17
17
  const SbbBreakpointUltraMin = 1440;
18
18
  const SbbBreakpointUltraMax = 2579;
19
19
  const SbbTypoScaleDefault = 16;
20
- const style = css`/** This mixin can be used to avoid spacing problems by inserting an invisible space as pseudo element. */
21
- /*
22
- * SBB table mixin
23
- * Notes:
24
- * We cannot use \`border-collapse\` because it is not compatible with the \`border-radius\` property.
25
- * Therefore, we have to build the grid avoiding double borders.
26
- */
27
- *,
20
+ const style = css`*,
28
21
  ::before,
29
22
  ::after {
30
23
  box-sizing: border-box;
@@ -37,6 +30,7 @@ const style = css`/** This mixin can be used to avoid spacing problems by insert
37
30
  --sbb-disable-animation-zero-time,
38
31
  var(--sbb-animation-duration-4x)
39
32
  );
33
+ --sbb-image-object-fit: cover;
40
34
  display: block;
41
35
  }
42
36
 
@@ -110,22 +104,28 @@ const style = css`/** This mixin can be used to avoid spacing problems by insert
110
104
  }
111
105
 
112
106
  .sbb-image__img {
113
- position: absolute;
114
- inset: 0;
115
107
  opacity: 0.000001;
116
108
  }
117
109
  :host([data-loaded]) .sbb-image__img {
118
110
  opacity: 0.999999;
119
111
  }
112
+ :host(:not([skip-lqip])) .sbb-image__img {
113
+ position: absolute;
114
+ inset: 0;
115
+ }
120
116
 
121
117
  :host([data-loaded]) .sbb-image__blurred {
122
118
  opacity: 0;
123
119
  }
124
120
 
121
+ picture {
122
+ display: contents;
123
+ }
124
+
125
125
  :is(.sbb-image__img, .sbb-image__blurred) {
126
126
  width: 100%;
127
127
  height: 100%;
128
- object-fit: cover;
128
+ object-fit: var(--sbb-image-object-fit);
129
129
  object-position: var(--sbb-image-object-position);
130
130
  transition: opacity var(--sbb-image-animation-duration) var(--sbb-animation-easing);
131
131
  }
@@ -482,7 +482,7 @@ __decorateClass([
482
482
  property()
483
483
  ], SbbImageElement.prototype, "alt", 2);
484
484
  __decorateClass([
485
- property({ attribute: "skip-lqip", type: Boolean })
485
+ property({ attribute: "skip-lqip", type: Boolean, reflect: true })
486
486
  ], SbbImageElement.prototype, "skipLqip", 2);
487
487
  __decorateClass([
488
488
  property()
@@ -538,4 +538,4 @@ SbbImageElement = __decorateClass([
538
538
  export {
539
539
  SbbImageElement
540
540
  };
541
- //# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaW1hZ2UuanMiLCJzb3VyY2VzIjpbIi4uLy4uLy4uL25vZGVfbW9kdWxlcy9Ac2JiLWVzdGEvbHluZS1kZXNpZ24tdG9rZW5zL2Rpc3QvanMvc2JiLXRva2Vucy5tanMiLCIuLi8uLi8uLi9zcmMvZWxlbWVudHMvaW1hZ2UvaW1hZ2UudHMiXSwic291cmNlc0NvbnRlbnQiOlsiLyoqXG4gKiBEbyBub3QgZWRpdCBkaXJlY3RseVxuICogR2VuZXJhdGVkIG9uIE1vbiwgMDIgU2VwIDIwMjQgMTU6NDU6MTEgR01UXG4gKi9cblxuZXhwb3J0IGNvbnN0IFNiYkFuaW1hdGlvbkR1cmF0aW9uMXggPSA0MDtcbmV4cG9ydCBjb25zdCBTYmJBbmltYXRpb25EdXJhdGlvbjJ4ID0gODA7XG5leHBvcnQgY29uc3QgU2JiQW5pbWF0aW9uRHVyYXRpb24zeCA9IDEyMDtcbmV4cG9ydCBjb25zdCBTYmJBbmltYXRpb25EdXJhdGlvbjR4ID0gMTYwO1xuZXhwb3J0IGNvbnN0IFNiYkFuaW1hdGlvbkR1cmF0aW9uNXggPSAyMDA7XG5leHBvcnQgY29uc3QgU2JiQW5pbWF0aW9uRHVyYXRpb242eCA9IDI0MDtcbmV4cG9ydCBjb25zdCBTYmJBbmltYXRpb25EdXJhdGlvbjEyeCA9IDQ4MDtcbmV4cG9ydCBjb25zdCBTYmJBbmltYXRpb25FYXNpbmcgPSBcImN1YmljLWJlemllciguNDcsIC4xLCAxLCAuNjMpXCI7XG5leHBvcnQgY29uc3QgU2JiQm9yZGVyV2lkdGgxeCA9IDE7XG5leHBvcnQgY29uc3QgU2JiQm9yZGVyV2lkdGgyeCA9IDI7XG5leHBvcnQgY29uc3QgU2JiQm9yZGVyV2lkdGgzeCA9IDM7XG5leHBvcnQgY29uc3QgU2JiQm9yZGVyUmFkaXVzMXggPSAyO1xuZXhwb3J0IGNvbnN0IFNiYkJvcmRlclJhZGl1czJ4ID0gNDtcbmV4cG9ydCBjb25zdCBTYmJCb3JkZXJSYWRpdXM0eCA9IDg7XG5leHBvcnQgY29uc3QgU2JiQm9yZGVyUmFkaXVzNnggPSAxMjtcbmV4cG9ydCBjb25zdCBTYmJCb3JkZXJSYWRpdXM4eCA9IDE2O1xuZXhwb3J0IGNvbnN0IFNiYkJvcmRlclJhZGl1czE2eCA9IDMyO1xuZXhwb3J0IGNvbnN0IFNiYkJyZWFrcG9pbnRaZXJvTWluID0gMDtcbmV4cG9ydCBjb25zdCBTYmJCcmVha3BvaW50WmVyb01heCA9IDM1OTtcbmV4cG9ydCBjb25zdCBTYmJCcmVha3BvaW50TWljcm9NaW4gPSAzNjA7XG5leHBvcnQgY29uc3QgU2JiQnJlYWtwb2ludE1pY3JvTWF4ID0gNTk5O1xuZXhwb3J0IGNvbnN0IFNiYkJyZWFrcG9pbnRTbWFsbE1pbiA9IDYwMDtcbmV4cG9ydCBjb25zdCBTYmJCcmVha3BvaW50U21hbGxNYXggPSA4Mzk7XG5leHBvcnQgY29uc3QgU2JiQnJlYWtwb2ludE1lZGl1bU1pbiA9IDg0MDtcbmV4cG9ydCBjb25zdCBTYmJCcmVha3BvaW50TWVkaXVtTWF4ID0gMTAyMztcbmV4cG9ydCBjb25zdCBTYmJCcmVha3BvaW50TGFyZ2VNaW4gPSAxMDI0O1xuZXhwb3J0IGNvbnN0IFNiYkJyZWFrcG9pbnRMYXJnZU1heCA9IDEyNzk7XG5leHBvcnQgY29uc3QgU2JiQnJlYWtwb2ludFdpZGVNaW4gPSAxMjgwO1xuZXhwb3J0IGNvbnN0IFNiYkJyZWFrcG9pbnRXaWRlTWF4ID0gMTQzOTtcbmV4cG9ydCBjb25zdCBTYmJCcmVha3BvaW50VWx0cmFNaW4gPSAxNDQwO1xuZXhwb3J0IGNvbnN0IFNiYkJyZWFrcG9pbnRVbHRyYU1heCA9IDI1Nzk7XG5leHBvcnQgY29uc3QgU2JiQ29sb3JCbGFjayA9IFwiIzAwMDAwMFwiO1xuZXhwb3J0IGNvbnN0IFNiYkNvbG9yQmxhY2tBbHBoYTAgPSBcInJnYmEoMCwgMCwgMCwgMClcIjtcbmV4cG9ydCBjb25zdCBTYmJDb2xvckJsYWNrQWxwaGExMCA9IFwicmdiYSgwLCAwLCAwLCAwLjEpXCI7XG5leHBvcnQgY29uc3QgU2JiQ29sb3JCbGFja0FscGhhMTUgPSBcInJnYmEoMCwgMCwgMCwgMC4xNSlcIjtcbmV4cG9ydCBjb25zdCBTYmJDb2xvckJsYWNrQWxwaGEyMCA9IFwicmdiYSgwLCAwLCAwLCAwLjIpXCI7XG5leHBvcnQgY29uc3QgU2JiQ29sb3JCbGFja0FscGhhMzAgPSBcInJnYmEoMCwgMCwgMCwgMC4zKVwiO1xuZXhwb3J0IGNvbnN0IFNiYkNvbG9yQmxhY2tBbHBoYTQwID0gXCJyZ2JhKDAsIDAsIDAsIDAuNClcIjtcbmV4cG9ydCBjb25zdCBTYmJDb2xvckJsYWNrQWxwaGE1MCA9IFwicmdiYSgwLCAwLCAwLCAwLjUpXCI7XG5leHBvcnQgY29uc3QgU2JiQ29sb3JCbGFja0FscGhhNjAgPSBcInJnYmEoMCwgMCwgMCwgMC42KVwiO1xuZXhwb3J0IGNvbnN0IFNiYkNvbG9yQmxhY2tBbHBoYTcwID0gXCJyZ2JhKDAsIDAsIDAsIDAuNylcIjtcbmV4cG9ydCBjb25zdCBTYmJDb2xvck1pZG5pZ2h0ID0gXCIjMTUxNTE1XCI7XG5leHBvcnQgY29uc3QgU2JiQ29sb3JDaGFyY29hbCA9IFwiIzIxMjEyMVwiO1xuZXhwb3J0IGNvbnN0IFNiYkNvbG9ySXJvbiA9IFwiIzQ0NDQ0NFwiO1xuZXhwb3J0IGNvbnN0IFNiYkNvbG9yQW50aHJhY2l0ZSA9IFwiIzVhNWE1YVwiO1xuZXhwb3J0IGNvbnN0IFNiYkNvbG9yR3Jhbml0ZSA9IFwiIzY4Njg2OFwiO1xuZXhwb3J0IGNvbnN0IFNiYkNvbG9yTWV0YWwgPSBcIiM3Njc2NzZcIjtcbmV4cG9ydCBjb25zdCBTYmJDb2xvck1ldGFsQWxwaGEwID0gXCJyZ2JhKDExOCwgMTE4LCAxMTgsIDApXCI7XG5leHBvcnQgY29uc3QgU2JiQ29sb3JNZXRhbEFscGhhMjAgPSBcInJnYmEoMTE4LCAxMTgsIDExOCwgMC4yKVwiO1xuZXhwb3J0IGNvbnN0IFNiYkNvbG9yU21va2UgPSBcIiM4ZDhkOGRcIjtcbmV4cG9ydCBjb25zdCBTYmJDb2xvclNtb2tlQWxwaGEwID0gXCJyZ2JhKDE0MSwgMTQxLCAxNDEsIDApXCI7XG5leHBvcnQgY29uc3QgU2JiQ29sb3JTbW9rZUFscGhhNSA9IFwicmdiYSgxNDEsIDE0MSwgMTQxLCAwLjA1KVwiO1xuZXhwb3J0IGNvbnN0IFNiYkNvbG9yU21va2VBbHBoYTEwID0gXCJyZ2JhKDE0MSwgMTQxLCAxNDEsIDAuMSlcIjtcbmV4cG9ydCBjb25zdCBTYmJDb2xvclNtb2tlQWxwaGEyMCA9IFwicmdiYSgxNDEsIDE0MSwgMTQxLCAwLjIpXCI7XG5leHBvcnQgY29uc3QgU2JiQ29sb3JTdG9ybSA9IFwiI2E4YThhOFwiO1xuZXhwb3J0IGNvbnN0IFNiYkNvbG9yR3JhcGhpdGUgPSBcIiNiN2I3YjdcIjtcbmV4cG9ydCBjb25zdCBTYmJDb2xvckNlbWVudCA9IFwiI2JkYmRiZFwiO1xuZXhwb3J0IGNvbnN0IFNiYkNvbG9yQ2VtZW50QWxwaGEwID0gXCJyZ2JhKDE4OSwgMTg5LCAxODksIDApXCI7XG5leHBvcnQgY29uc3QgU2JiQ29sb3JDZW1lbnRBbHBoYTIwID0gXCJyZ2JhKDE4OSwgMTg5LCAxODksIDAuMilcIjtcbmV4cG9ydCBjb25zdCBTYmJDb2xvclBsYXRpbnVtID0gXCIjY2RjZGNkXCI7XG5leHBvcnQgY29uc3QgU2JiQ29sb3JQbGF0aW51bUFscGhhMCA9IFwicmdiYSgyMDUsIDIwNSwgMjA1LCAwKVwiO1xuZXhwb3J0IGNvbnN0IFNiYkNvbG9yUGxhdGludW1BbHBoYTIwID0gXCJyZ2JhKDIwNSwgMjA1LCAyMDUsIDAuMilcIjtcbmV4cG9ydCBjb25zdCBTYmJDb2xvckFsdW1pbml1bSA9IFwiI2QyZDJkMlwiO1xuZXhwb3J0IGNvbnN0IFNiYkNvbG9yU2lsdmVyID0gXCIjZGNkY2RjXCI7XG5leHBvcnQgY29uc3QgU2JiQ29sb3JDbG91ZCA9IFwiI2U1ZTVlNVwiO1xuZXhwb3J0IGNvbnN0IFNiYkNvbG9yQ2xvdWRBbHBoYTgwID0gXCJyZ2JhKDIyOSwgMjI5LCAyMjksIDAuOClcIjtcbmV4cG9ydCBjb25zdCBTYmJDb2xvck1pbGsgPSBcIiNmNmY2ZjZcIjtcbmV4cG9ydCBjb25zdCBTYmJDb2xvclJlZCA9IFwiI2ViMDAwMFwiO1xuZXhwb3J0IGNvbnN0IFNiYkNvbG9yUmVkQWxwaGEwID0gXCJyZ2JhKDIzNSwgMCwgMCwgMClcIjtcbmV4cG9ydCBjb25zdCBTYmJDb2xvclJlZEFscGhhMjAgPSBcInJnYmEoMjM1LCAwLCAwLCAwLjIpXCI7XG5leHBvcnQgY29uc3QgU2JiQ29sb3JSZWRBbHBoYTkwID0gXCJyZ2JhKDIzNSwgMCwgMCwgMC45KVwiO1xuZXhwb3J0IGNvbnN0IFNiYkNvbG9yUmVkTW9kZURhcmsgPSBcIiNmZjM4MzhcIjtcbmV4cG9ydCBjb25zdCBTYmJDb2xvclJlZDEyNSA9IFwiI2M2MDAxOFwiO1xuZXhwb3J0IGNvbnN0IFNiYkNvbG9yUmVkMTI1QWxwaGEwID0gXCJyZ2JhKDE5OCwgMCwgMjQsIDApXCI7XG5leHBvcnQgY29uc3QgU2JiQ29sb3JSZWQxMjVBbHBoYTIwID0gXCJyZ2JhKDE5OCwgMCwgMjQsIDAuMilcIjtcbmV4cG9ydCBjb25zdCBTYmJDb2xvclJlZDE1MCA9IFwiI2EyMDAxM1wiO1xuZXhwb3J0IGNvbnN0IFNiYkNvbG9yV2hpdGUgPSBcIiNmZmZmZmZcIjtcbmV4cG9ydCBjb25zdCBTYmJDb2xvcldoaXRlQWxwaGEwID0gXCJyZ2JhKDI1NSwgMjU1LCAyNTUsIDApXCI7XG5leHBvcnQgY29uc3QgU2JiQ29sb3JXaGl0ZUFscGhhMjAgPSBcInJnYmEoMjU1LCAyNTUsIDI1NSwgMC4yKVwiO1xuZXhwb3J0IGNvbnN0IFNiYkNvbG9yV2hpdGVBbHBoYTMwID0gXCJyZ2JhKDI1NSwgMjU1LCAyNTUsIDAuMylcIjtcbmV4cG9ydCBjb25zdCBTYmJDb2xvcldoaXRlQWxwaGE1MCA9IFwicmdiYSgyNTUsIDI1NSwgMjU1LCAwLjUpXCI7XG5leHBvcnQgY29uc3QgU2JiQ29sb3JXaGl0ZUFscGhhNjAgPSBcInJnYmEoMjU1LCAyNTUsIDI1NSwgMC42KVwiO1xuZXhwb3J0IGNvbnN0IFNiYkNvbG9yV2hpdGVBbHBoYTcwID0gXCJyZ2JhKDI1NSwgMjU1LCAyNTUsIDAuNylcIjtcbmV4cG9ydCBjb25zdCBTYmJDb2xvclNreSA9IFwiIzAwNzljN1wiO1xuZXhwb3J0IGNvbnN0IFNiYkNvbG9yTmlnaHQgPSBcIiMxNDNhODVcIjtcbmV4cG9ydCBjb25zdCBTYmJDb2xvclZpb2xldCA9IFwiIzZmMjI4MlwiO1xuZXhwb3J0IGNvbnN0IFNiYkNvbG9yUGluayA9IFwiI2NmNDA4MlwiO1xuZXhwb3J0IGNvbnN0IFNiYkNvbG9yQXV0dW1uID0gXCIjZTg0ZTEwXCI7XG5leHBvcnQgY29uc3QgU2JiQ29sb3JPcmFuZ2UgPSBcIiNmMjdlMDBcIjtcbmV4cG9ydCBjb25zdCBTYmJDb2xvclBlYWNoID0gXCIjZmNiYjAwXCI7XG5leHBvcnQgY29uc3QgU2JiQ29sb3JMZW1vbiA9IFwiI2ZmZGUxNVwiO1xuZXhwb3J0IGNvbnN0IFNiYkNvbG9yQnJvd24gPSBcIiNiNzYwMDBcIjtcbmV4cG9ydCBjb25zdCBTYmJDb2xvckdyZWVuID0gXCIjMDA4YTM2XCI7XG5leHBvcnQgY29uc3QgU2JiQ29sb3JUdXJxdW9pc2UgPSBcIiMwMGE1OWJcIjtcbmV4cG9ydCBjb25zdCBTYmJGb2N1c091dGxpbmVPZmZzZXQgPSAzO1xuZXhwb3J0IGNvbnN0IFNiYkhvdmVySW1hZ2VCcmlnaHRuZXNzID0gMS4wNzU7XG5leHBvcnQgY29uc3QgU2JiTGF5b3V0QmFzZUdyaWRDb2x1bW5zWmVybyA9IDQ7XG5leHBvcnQgY29uc3QgU2JiTGF5b3V0QmFzZUdyaWRDb2x1bW5zTWljcm8gPSA0O1xuZXhwb3J0IGNvbnN0IFNiYkxheW91dEJhc2VHcmlkQ29sdW1uc1NtYWxsID0gNDtcbmV4cG9ydCBjb25zdCBTYmJMYXlvdXRCYXNlR3JpZENvbHVtbnNNZWRpdW0gPSA4O1xuZXhwb3J0IGNvbnN0IFNiYkxheW91dEJhc2VHcmlkQ29sdW1uc0xhcmdlID0gODtcbmV4cG9ydCBjb25zdCBTYmJMYXlvdXRCYXNlR3JpZENvbHVtbnNXaWRlID0gMTI7XG5leHBvcnQgY29uc3QgU2JiTGF5b3V0QmFzZUdyaWRDb2x1bW5zVWx0cmEgPSAxNjtcbmV4cG9ydCBjb25zdCBTYmJMYXlvdXRCYXNlR3JpZEd1dHRlclJlc3BvbnNpdmVaZXJvID0gMTY7XG5leHBvcnQgY29uc3QgU2JiTGF5b3V0QmFzZUdyaWRHdXR0ZXJSZXNwb25zaXZlTWljcm8gPSAxNjtcbmV4cG9ydCBjb25zdCBTYmJMYXlvdXRCYXNlR3JpZEd1dHRlclJlc3BvbnNpdmVTbWFsbCA9IDI0O1xuZXhwb3J0IGNvbnN0IFNiYkxheW91dEJhc2VHcmlkR3V0dGVyUmVzcG9uc2l2ZU1lZGl1bSA9IDI0O1xuZXhwb3J0IGNvbnN0IFNiYkxheW91dEJhc2VHcmlkR3V0dGVyUmVzcG9uc2l2ZUxhcmdlID0gMzI7XG5leHBvcnQgY29uc3QgU2JiTGF5b3V0QmFzZUdyaWRHdXR0ZXJSZXNwb25zaXZlV2lkZSA9IDMyO1xuZXhwb3J0IGNvbnN0IFNiYkxheW91dEJhc2VHcmlkR3V0dGVyUmVzcG9uc2l2ZVVsdHJhID0gMzI7XG5leHBvcnQgY29uc3QgU2JiTGF5b3V0QmFzZU9mZnNldFJlc3BvbnNpdmVaZXJvID0gMTY7XG5leHBvcnQgY29uc3QgU2JiTGF5b3V0QmFzZU9mZnNldFJlc3BvbnNpdmVNaWNybyA9IDIwO1xuZXhwb3J0IGNvbnN0IFNiYkxheW91dEJhc2VPZmZzZXRSZXNwb25zaXZlU21hbGwgPSA0ODtcbmV4cG9ydCBjb25zdCBTYmJMYXlvdXRCYXNlT2Zmc2V0UmVzcG9uc2l2ZU1lZGl1bSA9IDU2O1xuZXhwb3J0IGNvbnN0IFNiYkxheW91dEJhc2VPZmZzZXRSZXNwb25zaXZlTGFyZ2UgPSA2NDtcbmV4cG9ydCBjb25zdCBTYmJMYXlvdXRCYXNlT2Zmc2V0UmVzcG9uc2l2ZVdpZGUgPSA3MjtcbmV4cG9ydCBjb25zdCBTYmJMYXlvdXRCYXNlT2Zmc2V0UmVzcG9uc2l2ZVVsdHJhID0gMTIwO1xuZXhwb3J0IGNvbnN0IFNiYkxheW91dEJhc2VQYWdlTWF4V2lkdGggPSAxMjAwO1xuZXhwb3J0IGNvbnN0IFNiYlNoYWRvd0VsZXZhdGlvbkxldmVsM1NoYWRvdzFPZmZzZXRYID0gMDtcbmV4cG9ydCBjb25zdCBTYmJTaGFkb3dFbGV2YXRpb25MZXZlbDNTaGFkb3cxT2Zmc2V0WSA9IDI7XG5leHBvcnQgY29uc3QgU2JiU2hhZG93RWxldmF0aW9uTGV2ZWwzU2hhZG93MUJsdXIgPSAxNjtcbmV4cG9ydCBjb25zdCBTYmJTaGFkb3dFbGV2YXRpb25MZXZlbDNTaGFkb3cxU3ByZWFkID0gMDtcbmV4cG9ydCBjb25zdCBTYmJTaGFkb3dFbGV2YXRpb25MZXZlbDNTaGFkb3cyT2Zmc2V0WCA9IDA7XG5leHBvcnQgY29uc3QgU2JiU2hhZG93RWxldmF0aW9uTGV2ZWwzU2hhZG93Mk9mZnNldFkgPSAxO1xuZXhwb3J0IGNvbnN0IFNiYlNoYWRvd0VsZXZhdGlvbkxldmVsM1NoYWRvdzJCbHVyID0gNDtcbmV4cG9ydCBjb25zdCBTYmJTaGFkb3dFbGV2YXRpb25MZXZlbDNTaGFkb3cyU3ByZWFkID0gMDtcbmV4cG9ydCBjb25zdCBTYmJTaGFkb3dFbGV2YXRpb25MZXZlbDNTb2Z0MUNvbG9yID0gXCJyZ2JhKDE0MSwgMTQxLCAxNDEsIDAuMDUpXCI7XG5leHBvcnQgY29uc3QgU2JiU2hhZG93RWxldmF0aW9uTGV2ZWwzU29mdDJDb2xvciA9IFwicmdiYSgxNDEsIDE0MSwgMTQxLCAwLjEpXCI7XG5leHBvcnQgY29uc3QgU2JiU2hhZG93RWxldmF0aW9uTGV2ZWwzU29mdE5lZ2F0aXZlMUNvbG9yID0gXCJyZ2JhKDAsIDAsIDAsIDAuMTUpXCI7XG5leHBvcnQgY29uc3QgU2JiU2hhZG93RWxldmF0aW9uTGV2ZWwzU29mdE5lZ2F0aXZlMkNvbG9yID0gXCJyZ2JhKDAsIDAsIDAsIDAuMilcIjtcbmV4cG9ydCBjb25zdCBTYmJTaGFkb3dFbGV2YXRpb25MZXZlbDNIYXJkMUNvbG9yID0gXCJyZ2JhKDE0MSwgMTQxLCAxNDEsIDAuMSlcIjtcbmV4cG9ydCBjb25zdCBTYmJTaGFkb3dFbGV2YXRpb25MZXZlbDNIYXJkMkNvbG9yID0gXCJyZ2JhKDE0MSwgMTQxLCAxNDEsIDAuMilcIjtcbmV4cG9ydCBjb25zdCBTYmJTaGFkb3dFbGV2YXRpb25MZXZlbDNIYXJkTmVnYXRpdmUxQ29sb3IgPSBcInJnYmEoMCwgMCwgMCwgMC4zKVwiO1xuZXhwb3J0IGNvbnN0IFNiYlNoYWRvd0VsZXZhdGlvbkxldmVsM0hhcmROZWdhdGl2ZTJDb2xvciA9IFwicmdiYSgwLCAwLCAwLCAwLjQpXCI7XG5leHBvcnQgY29uc3QgU2JiU2hhZG93RWxldmF0aW9uTGV2ZWw1U2hhZG93MU9mZnNldFggPSAwO1xuZXhwb3J0IGNvbnN0IFNiYlNoYWRvd0VsZXZhdGlvbkxldmVsNVNoYWRvdzFPZmZzZXRZID0gNDtcbmV4cG9ydCBjb25zdCBTYmJTaGFkb3dFbGV2YXRpb25MZXZlbDVTaGFkb3cxQmx1ciA9IDMyO1xuZXhwb3J0IGNvbnN0IFNiYlNoYWRvd0VsZXZhdGlvbkxldmVsNVNoYWRvdzFTcHJlYWQgPSAwO1xuZXhwb3J0IGNvbnN0IFNiYlNoYWRvd0VsZXZhdGlvbkxldmVsNVNoYWRvdzJPZmZzZXRYID0gMDtcbmV4cG9ydCBjb25zdCBTYmJTaGFkb3dFbGV2YXRpb25MZXZlbDVTaGFkb3cyT2Zmc2V0WSA9IDE7XG5leHBvcnQgY29uc3QgU2JiU2hhZG93RWxldmF0aW9uTGV2ZWw1U2hhZG93MkJsdXIgPSA4O1xuZXhwb3J0IGNvbnN0IFNiYlNoYWRvd0VsZXZhdGlvbkxldmVsNVNoYWRvdzJTcHJlYWQgPSAwO1xuZXhwb3J0IGNvbnN0IFNiYlNoYWRvd0VsZXZhdGlvbkxldmVsNVNvZnQxQ29sb3IgPSBcInJnYmEoMTQxLCAxNDEsIDE0MSwgMC4wNSlcIjtcbmV4cG9ydCBjb25zdCBTYmJTaGFkb3dFbGV2YXRpb25MZXZlbDVTb2Z0MkNvbG9yID0gXCJyZ2JhKDE0MSwgMTQxLCAxNDEsIDAuMSlcIjtcbmV4cG9ydCBjb25zdCBTYmJTaGFkb3dFbGV2YXRpb25MZXZlbDVTb2Z0TmVnYXRpdmUxQ29sb3IgPSBcInJnYmEoMCwgMCwgMCwgMC4xNSlcIjtcbmV4cG9ydCBjb25zdCBTYmJTaGFkb3dFbGV2YXRpb25MZXZlbDVTb2Z0TmVnYXRpdmUyQ29sb3IgPSBcInJnYmEoMCwgMCwgMCwgMC4yKVwiO1xuZXhwb3J0IGNvbnN0IFNiYlNoYWRvd0VsZXZhdGlvbkxldmVsNUhhcmQxQ29sb3IgPSBcInJnYmEoMTQxLCAxNDEsIDE0MSwgMC4xKVwiO1xuZXhwb3J0IGNvbnN0IFNiYlNoYWRvd0VsZXZhdGlvbkxldmVsNUhhcmQyQ29sb3IgPSBcInJnYmEoMTQxLCAxNDEsIDE0MSwgMC4yKVwiO1xuZXhwb3J0IGNvbnN0IFNiYlNoYWRvd0VsZXZhdGlvbkxldmVsNUhhcmROZWdhdGl2ZTFDb2xvciA9IFwicmdiYSgwLCAwLCAwLCAwLjMpXCI7XG5leHBvcnQgY29uc3QgU2JiU2hhZG93RWxldmF0aW9uTGV2ZWw1SGFyZE5lZ2F0aXZlMkNvbG9yID0gXCJyZ2JhKDAsIDAsIDAsIDAuNClcIjtcbmV4cG9ydCBjb25zdCBTYmJTaGFkb3dFbGV2YXRpb25MZXZlbDlTaGFkb3cxT2Zmc2V0WCA9IDA7XG5leHBvcnQgY29uc3QgU2JiU2hhZG93RWxldmF0aW9uTGV2ZWw5U2hhZG93MU9mZnNldFkgPSAxNjtcbmV4cG9ydCBjb25zdCBTYmJTaGFkb3dFbGV2YXRpb25MZXZlbDlTaGFkb3cxQmx1ciA9IDEyODtcbmV4cG9ydCBjb25zdCBTYmJTaGFkb3dFbGV2YXRpb25MZXZlbDlTaGFkb3cxU3ByZWFkID0gMDtcbmV4cG9ydCBjb25zdCBTYmJTaGFkb3dFbGV2YXRpb25MZXZlbDlTaGFkb3cyT2Zmc2V0WCA9IDA7XG5leHBvcnQgY29uc3QgU2JiU2hhZG93RWxldmF0aW9uTGV2ZWw5U2hhZG93Mk9mZnNldFkgPSA0O1xuZXhwb3J0IGNvbnN0IFNiYlNoYWRvd0VsZXZhdGlvbkxldmVsOVNoYWRvdzJCbHVyID0gMzI7XG5leHBvcnQgY29uc3QgU2JiU2hhZG93RWxldmF0aW9uTGV2ZWw5U2hhZG93MlNwcmVhZCA9IDA7XG5leHBvcnQgY29uc3QgU2JiU2hhZG93RWxldmF0aW9uTGV2ZWw5U29mdDFDb2xvciA9IFwicmdiYSgxNDEsIDE0MSwgMTQxLCAwLjA1KVwiO1xuZXhwb3J0IGNvbnN0IFNiYlNoYWRvd0VsZXZhdGlvbkxldmVsOVNvZnQyQ29sb3IgPSBcInJnYmEoMTQxLCAxNDEsIDE0MSwgMC4xKVwiO1xuZXhwb3J0IGNvbnN0IFNiYlNoYWRvd0VsZXZhdGlvbkxldmVsOVNvZnROZWdhdGl2ZTFDb2xvciA9IFwicmdiYSgwLCAwLCAwLCAwLjE1KVwiO1xuZXhwb3J0IGNvbnN0IFNiYlNoYWRvd0VsZXZhdGlvbkxldmVsOVNvZnROZWdhdGl2ZTJDb2xvciA9IFwicmdiYSgwLCAwLCAwLCAwLjIpXCI7XG5leHBvcnQgY29uc3QgU2JiU2hhZG93RWxldmF0aW9uTGV2ZWw5SGFyZDFDb2xvciA9IFwicmdiYSgxNDEsIDE0MSwgMTQxLCAwLjEpXCI7XG5leHBvcnQgY29uc3QgU2JiU2hhZG93RWxldmF0aW9uTGV2ZWw5SGFyZDJDb2xvciA9IFwicmdiYSgxNDEsIDE0MSwgMTQxLCAwLjIpXCI7XG5leHBvcnQgY29uc3QgU2JiU2hhZG93RWxldmF0aW9uTGV2ZWw5SGFyZE5lZ2F0aXZlMUNvbG9yID0gXCJyZ2JhKDAsIDAsIDAsIDAuMylcIjtcbmV4cG9ydCBjb25zdCBTYmJTaGFkb3dFbGV2YXRpb25MZXZlbDlIYXJkTmVnYXRpdmUyQ29sb3IgPSBcInJnYmEoMCwgMCwgMCwgMC40KVwiO1xuZXhwb3J0IGNvbnN0IFNiYlNoYWRvd0VsZXZhdGlvbkxldmVsMTFTaGFkb3cxT2Zmc2V0WCA9IDA7XG5leHBvcnQgY29uc3QgU2JiU2hhZG93RWxldmF0aW9uTGV2ZWwxMVNoYWRvdzFPZmZzZXRZID0gMjQ7XG5leHBvcnQgY29uc3QgU2JiU2hhZG93RWxldmF0aW9uTGV2ZWwxMVNoYWRvdzFCbHVyID0gMTkyO1xuZXhwb3J0IGNvbnN0IFNiYlNoYWRvd0VsZXZhdGlvbkxldmVsMTFTaGFkb3cxU3ByZWFkID0gMDtcbmV4cG9ydCBjb25zdCBTYmJTaGFkb3dFbGV2YXRpb25MZXZlbDExU2hhZG93Mk9mZnNldFggPSAwO1xuZXhwb3J0IGNvbnN0IFNiYlNoYWRvd0VsZXZhdGlvbkxldmVsMTFTaGFkb3cyT2Zmc2V0WSA9IDQ7XG5leHBvcnQgY29uc3QgU2JiU2hhZG93RWxldmF0aW9uTGV2ZWwxMVNoYWRvdzJCbHVyID0gNjQ7XG5leHBvcnQgY29uc3QgU2JiU2hhZG93RWxldmF0aW9uTGV2ZWwxMVNoYWRvdzJTcHJlYWQgPSAwO1xuZXhwb3J0IGNvbnN0IFNiYlNoYWRvd0VsZXZhdGlvbkxldmVsMTFTb2Z0MUNvbG9yID0gXCJyZ2JhKDE0MSwgMTQxLCAxNDEsIDAuMDUpXCI7XG5leHBvcnQgY29uc3QgU2JiU2hhZG93RWxldmF0aW9uTGV2ZWwxMVNvZnQyQ29sb3IgPSBcInJnYmEoMTQxLCAxNDEsIDE0MSwgMC4xKVwiO1xuZXhwb3J0IGNvbnN0IFNiYlNoYWRvd0VsZXZhdGlvbkxldmVsMTFTb2Z0TmVnYXRpdmUxQ29sb3IgPSBcInJnYmEoMCwgMCwgMCwgMC4xNSlcIjtcbmV4cG9ydCBjb25zdCBTYmJTaGFkb3dFbGV2YXRpb25MZXZlbDExU29mdE5lZ2F0aXZlMkNvbG9yID0gXCJyZ2JhKDAsIDAsIDAsIDAuMilcIjtcbmV4cG9ydCBjb25zdCBTYmJTaGFkb3dFbGV2YXRpb25MZXZlbDExSGFyZDFDb2xvciA9IFwicmdiYSgxNDEsIDE0MSwgMTQxLCAwLjEpXCI7XG5leHBvcnQgY29uc3QgU2JiU2hhZG93RWxldmF0aW9uTGV2ZWwxMUhhcmQyQ29sb3IgPSBcInJnYmEoMTQxLCAxNDEsIDE0MSwgMC4yKVwiO1xuZXhwb3J0IGNvbnN0IFNiYlNoYWRvd0VsZXZhdGlvbkxldmVsMTFIYXJkTmVnYXRpdmUxQ29sb3IgPSBcInJnYmEoMCwgMCwgMCwgMC4zKVwiO1xuZXhwb3J0IGNvbnN0IFNiYlNoYWRvd0VsZXZhdGlvbkxldmVsMTFIYXJkTmVnYXRpdmUyQ29sb3IgPSBcInJnYmEoMCwgMCwgMCwgMC40KVwiO1xuZXhwb3J0IGNvbnN0IFNiYlNpemVFbGVtZW50WHh4c1plcm8gPSAyODtcbmV4cG9ydCBjb25zdCBTYmJTaXplRWxlbWVudFh4eHNNaWNybyA9IDI4O1xuZXhwb3J0IGNvbnN0IFNiYlNpemVFbGVtZW50WHh4c1NtYWxsID0gMjg7XG5leHBvcnQgY29uc3QgU2JiU2l6ZUVsZW1lbnRYeHhzTWVkaXVtID0gMzI7XG5leHBvcnQgY29uc3QgU2JiU2l6ZUVsZW1lbnRYeHhzTGFyZ2UgPSAzMjtcbmV4cG9ydCBjb25zdCBTYmJTaXplRWxlbWVudFh4eHNXaWRlID0gMzI7XG5leHBvcnQgY29uc3QgU2JiU2l6ZUVsZW1lbnRYeHhzVWx0cmEgPSAzMjtcbmV4cG9ydCBjb25zdCBTYmJTaXplRWxlbWVudFh4c1plcm8gPSAzMjtcbmV4cG9ydCBjb25zdCBTYmJTaXplRWxlbWVudFh4c01pY3JvID0gMzI7XG5leHBvcnQgY29uc3QgU2JiU2l6ZUVsZW1lbnRYeHNTbWFsbCA9IDMyO1xuZXhwb3J0IGNvbnN0IFNiYlNpemVFbGVtZW50WHhzTWVkaXVtID0gMzY7XG5leHBvcnQgY29uc3QgU2JiU2l6ZUVsZW1lbnRYeHNMYXJnZSA9IDM2O1xuZXhwb3J0IGNvbnN0IFNiYlNpemVFbGVtZW50WHhzV2lkZSA9IDM2O1xuZXhwb3J0IGNvbnN0IFNiYlNpemVFbGVtZW50WHhzVWx0cmEgPSAzNjtcbmV4cG9ydCBjb25zdCBTYmJTaXplRWxlbWVudFhzWmVybyA9IDM2O1xuZXhwb3J0IGNvbnN0IFNiYlNpemVFbGVtZW50WHNNaWNybyA9IDM2O1xuZXhwb3J0IGNvbnN0IFNiYlNpemVFbGVtZW50WHNTbWFsbCA9IDM2O1xuZXhwb3J0IGNvbnN0IFNiYlNpemVFbGVtZW50WHNNZWRpdW0gPSA0MDtcbmV4cG9ydCBjb25zdCBTYmJTaXplRWxlbWVudFhzTGFyZ2UgPSA0MDtcbmV4cG9ydCBjb25zdCBTYmJTaXplRWxlbWVudFhzV2lkZSA9IDQwO1xuZXhwb3J0IGNvbnN0IFNiYlNpemVFbGVtZW50WHNVbHRyYSA9IDQwO1xuZXhwb3J0IGNvbnN0IFNiYlNpemVFbGVtZW50U1plcm8gPSA0NDtcbmV4cG9ydCBjb25zdCBTYmJTaXplRWxlbWVudFNNaWNybyA9IDQ0O1xuZXhwb3J0IGNvbnN0IFNiYlNpemVFbGVtZW50U1NtYWxsID0gNDQ7XG5leHBvcnQgY29uc3QgU2JiU2l6ZUVsZW1lbnRTTWVkaXVtID0gNDg7XG5leHBvcnQgY29uc3QgU2JiU2l6ZUVsZW1lbnRTTGFyZ2UgPSA0ODtcbmV4cG9ydCBjb25zdCBTYmJTaXplRWxlbWVudFNXaWRlID0gNDg7XG5leHBvcnQgY29uc3QgU2JiU2l6ZUVsZW1lbnRTVWx0cmEgPSA0ODtcbmV4cG9ydCBjb25zdCBTYmJTaXplRWxlbWVudE1aZXJvID0gNDg7XG5leHBvcnQgY29uc3QgU2JiU2l6ZUVsZW1lbnRNTWljcm8gPSA0ODtcbmV4cG9ydCBjb25zdCBTYmJTaXplRWxlbWVudE1TbWFsbCA9IDQ4O1xuZXhwb3J0IGNvbnN0IFNiYlNpemVFbGVtZW50TU1lZGl1bSA9IDU2O1xuZXhwb3J0IGNvbnN0IFNiYlNpemVFbGVtZW50TUxhcmdlID0gNTY7XG5leHBvcnQgY29uc3QgU2JiU2l6ZUVsZW1lbnRNV2lkZSA9IDU2O1xuZXhwb3J0IGNvbnN0IFNiYlNpemVFbGVtZW50TVVsdHJhID0gNTY7XG5leHBvcnQgY29uc3QgU2JiU2l6ZUVsZW1lbnRMWmVybyA9IDU2O1xuZXhwb3J0IGNvbnN0IFNiYlNpemVFbGVtZW50TE1pY3JvID0gNTY7XG5leHBvcnQgY29uc3QgU2JiU2l6ZUVsZW1lbnRMU21hbGwgPSA1NjtcbmV4cG9ydCBjb25zdCBTYmJTaXplRWxlbWVudExNZWRpdW0gPSA2NDtcbmV4cG9ydCBjb25zdCBTYmJTaXplRWxlbWVudExMYXJnZSA9IDY0O1xuZXhwb3J0IGNvbnN0IFNiYlNpemVFbGVtZW50TFdpZGUgPSA2NDtcbmV4cG9ydCBjb25zdCBTYmJTaXplRWxlbWVudExVbHRyYSA9IDY0O1xuZXhwb3J0IGNvbnN0IFNiYlNpemVJY29uVWlTbWFsbCA9IDI0O1xuZXhwb3J0IGNvbnN0IFNiYlNpemVJY29uVWlNZWRpdW0gPSAzNjtcbmV4cG9ydCBjb25zdCBTYmJTaXplSWNvblVpTGFyZ2UgPSA0ODtcbmV4cG9ydCBjb25zdCBTYmJTcGFjaW5nRml4ZWQxeCA9IDQ7XG5leHBvcnQgY29uc3QgU2JiU3BhY2luZ0ZpeGVkMnggPSA4O1xuZXhwb3J0IGNvbnN0IFNiYlNwYWNpbmdGaXhlZDN4ID0gMTI7XG5leHBvcnQgY29uc3QgU2JiU3BhY2luZ0ZpeGVkNHggPSAxNjtcbmV4cG9ydCBjb25zdCBTYmJTcGFjaW5nRml4ZWQ1eCA9IDIwO1xuZXhwb3J0IGNvbnN0IFNiYlNwYWNpbmdGaXhlZDZ4ID0gMjQ7XG5leHBvcnQgY29uc3QgU2JiU3BhY2luZ0ZpeGVkN3ggPSAyODtcbmV4cG9ydCBjb25zdCBTYmJTcGFjaW5nRml4ZWQ4eCA9IDMyO1xuZXhwb3J0IGNvbnN0IFNiYlNwYWNpbmdGaXhlZDl4ID0gMzY7XG5leHBvcnQgY29uc3QgU2JiU3BhY2luZ0ZpeGVkMTB4ID0gNDA7XG5leHBvcnQgY29uc3QgU2JiU3BhY2luZ0ZpeGVkMTJ4ID0gNDg7XG5leHBvcnQgY29uc3QgU2JiU3BhY2luZ0ZpeGVkMTR4ID0gNTY7XG5leHBvcnQgY29uc3QgU2JiU3BhY2luZ0ZpeGVkMTZ4ID0gNjQ7XG5leHBvcnQgY29uc3QgU2JiU3BhY2luZ0ZpeGVkMTh4ID0gNzI7XG5leHBvcnQgY29uc3QgU2JiU3BhY2luZ0ZpeGVkMjB4ID0gODA7XG5leHBvcnQgY29uc3QgU2JiU3BhY2luZ0ZpeGVkMjR4ID0gOTY7XG5leHBvcnQgY29uc3QgU2JiU3BhY2luZ0ZpeGVkMzB4ID0gMTIwO1xuZXhwb3J0IGNvbnN0IFNiYlNwYWNpbmdSZXNwb25zaXZlWHh4c1plcm8gPSAxMjtcbmV4cG9ydCBjb25zdCBTYmJTcGFjaW5nUmVzcG9uc2l2ZVh4eHNNaWNybyA9IDEyO1xuZXhwb3J0IGNvbnN0IFNiYlNwYWNpbmdSZXNwb25zaXZlWHh4c1NtYWxsID0gMTI7XG5leHBvcnQgY29uc3QgU2JiU3BhY2luZ1Jlc3BvbnNpdmVYeHhzTWVkaXVtID0gMTY7XG5leHBvcnQgY29uc3QgU2JiU3BhY2luZ1Jlc3BvbnNpdmVYeHhzTGFyZ2UgPSAxNjtcbmV4cG9ydCBjb25zdCBTYmJTcGFjaW5nUmVzcG9uc2l2ZVh4eHNXaWRlID0gMTY7XG5leHBvcnQgY29uc3QgU2JiU3BhY2luZ1Jlc3BvbnNpdmVYeHhzVWx0cmEgPSAxNjtcbmV4cG9ydCBjb25zdCBTYmJTcGFjaW5nUmVzcG9uc2l2ZVh4c1plcm8gPSAxNjtcbmV4cG9ydCBjb25zdCBTYmJTcGFjaW5nUmVzcG9uc2l2ZVh4c01pY3JvID0gMTY7XG5leHBvcnQgY29uc3QgU2JiU3BhY2luZ1Jlc3BvbnNpdmVYeHNTbWFsbCA9IDE2O1xuZXhwb3J0IGNvbnN0IFNiYlNwYWNpbmdSZXNwb25zaXZlWHhzTWVkaXVtID0gMjQ7XG5leHBvcnQgY29uc3QgU2JiU3BhY2luZ1Jlc3BvbnNpdmVYeHNMYXJnZSA9IDI0O1xuZXhwb3J0IGNvbnN0IFNiYlNwYWNpbmdSZXNwb25zaXZlWHhzV2lkZSA9IDI0O1xuZXhwb3J0IGNvbnN0IFNiYlNwYWNpbmdSZXNwb25zaXZlWHhzVWx0cmEgPSAyNDtcbmV4cG9ydCBjb25zdCBTYmJTcGFjaW5nUmVzcG9uc2l2ZVhzWmVybyA9IDIwO1xuZXhwb3J0IGNvbnN0IFNiYlNwYWNpbmdSZXNwb25zaXZlWHNNaWNybyA9IDIwO1xuZXhwb3J0IGNvbnN0IFNiYlNwYWNpbmdSZXNwb25zaXZlWHNTbWFsbCA9IDIwO1xuZXhwb3J0IGNvbnN0IFNiYlNwYWNpbmdSZXNwb25zaXZlWHNNZWRpdW0gPSAyNDtcbmV4cG9ydCBjb25zdCBTYmJTcGFjaW5nUmVzcG9uc2l2ZVhzTGFyZ2UgPSAyNDtcbmV4cG9ydCBjb25zdCBTYmJTcGFjaW5nUmVzcG9uc2l2ZVhzV2lkZSA9IDI0O1xuZXhwb3J0IGNvbnN0IFNiYlNwYWNpbmdSZXNwb25zaXZlWHNVbHRyYSA9IDI0O1xuZXhwb3J0IGNvbnN0IFNiYlNwYWNpbmdSZXNwb25zaXZlU1plcm8gPSAyNDtcbmV4cG9ydCBjb25zdCBTYmJTcGFjaW5nUmVzcG9uc2l2ZVNNaWNybyA9IDI0O1xuZXhwb3J0IGNvbnN0IFNiYlNwYWNpbmdSZXNwb25zaXZlU1NtYWxsID0gMjQ7XG5leHBvcnQgY29uc3QgU2JiU3BhY2luZ1Jlc3BvbnNpdmVTTWVkaXVtID0gMzI7XG5leHBvcnQgY29uc3QgU2JiU3BhY2luZ1Jlc3BvbnNpdmVTTGFyZ2UgPSAzMjtcbmV4cG9ydCBjb25zdCBTYmJTcGFjaW5nUmVzcG9uc2l2ZVNXaWRlID0gMzI7XG5leHBvcnQgY29uc3QgU2JiU3BhY2luZ1Jlc3BvbnNpdmVTVWx0cmEgPSAzMjtcbmV4cG9ydCBjb25zdCBTYmJTcGFjaW5nUmVzcG9uc2l2ZU1aZXJvID0gMzI7XG5leHBvcnQgY29uc3QgU2JiU3BhY2luZ1Jlc3BvbnNpdmVNTWljcm8gPSAzMjtcbmV4cG9ydCBjb25zdCBTYmJTcGFjaW5nUmVzcG9uc2l2ZU1TbWFsbCA9IDMyO1xuZXhwb3J0IGNvbnN0IFNiYlNwYWNpbmdSZXNwb25zaXZlTU1lZGl1bSA9IDQwO1xuZXhwb3J0IGNvbnN0IFNiYlNwYWNpbmdSZXNwb25zaXZlTUxhcmdlID0gNDA7XG5leHBvcnQgY29uc3QgU2JiU3BhY2luZ1Jlc3BvbnNpdmVNV2lkZSA9IDQ4O1xuZXhwb3J0IGNvbnN0IFNiYlNwYWNpbmdSZXNwb25zaXZlTVVsdHJhID0gNDg7XG5leHBvcnQgY29uc3QgU2JiU3BhY2luZ1Jlc3BvbnNpdmVMWmVybyA9IDMyO1xuZXhwb3J0IGNvbnN0IFNiYlNwYWNpbmdSZXNwb25zaXZlTE1pY3JvID0gMzI7XG5leHBvcnQgY29uc3QgU2JiU3BhY2luZ1Jlc3BvbnNpdmVMU21hbGwgPSA0MDtcbmV4cG9ydCBjb25zdCBTYmJTcGFjaW5nUmVzcG9uc2l2ZUxNZWRpdW0gPSA0ODtcbmV4cG9ydCBjb25zdCBTYmJTcGFjaW5nUmVzcG9uc2l2ZUxMYXJnZSA9IDU2O1xuZXhwb3J0IGNvbnN0IFNiYlNwYWNpbmdSZXNwb25zaXZlTFdpZGUgPSA1NjtcbmV4cG9ydCBjb25zdCBTYmJTcGFjaW5nUmVzcG9uc2l2ZUxVbHRyYSA9IDY0O1xuZXhwb3J0IGNvbnN0IFNiYlNwYWNpbmdSZXNwb25zaXZlWGxaZXJvID0gMzI7XG5leHBvcnQgY29uc3QgU2JiU3BhY2luZ1Jlc3BvbnNpdmVYbE1pY3JvID0gMzI7XG5leHBvcnQgY29uc3QgU2JiU3BhY2luZ1Jlc3BvbnNpdmVYbFNtYWxsID0gNDg7XG5leHBvcnQgY29uc3QgU2JiU3BhY2luZ1Jlc3BvbnNpdmVYbE1lZGl1bSA9IDY0O1xuZXhwb3J0IGNvbnN0IFNiYlNwYWNpbmdSZXNwb25zaXZlWGxMYXJnZSA9IDgwO1xuZXhwb3J0IGNvbnN0IFNiYlNwYWNpbmdSZXNwb25zaXZlWGxXaWRlID0gODA7XG5leHBvcnQgY29uc3QgU2JiU3BhY2luZ1Jlc3BvbnNpdmVYbFVsdHJhID0gOTY7XG5leHBvcnQgY29uc3QgU2JiU3BhY2luZ1Jlc3BvbnNpdmVYeGxaZXJvID0gNDg7XG5leHBvcnQgY29uc3QgU2JiU3BhY2luZ1Jlc3BvbnNpdmVYeGxNaWNybyA9IDQ4O1xuZXhwb3J0IGNvbnN0IFNiYlNwYWNpbmdSZXNwb25zaXZlWHhsU21hbGwgPSA3MjtcbmV4cG9ydCBjb25zdCBTYmJTcGFjaW5nUmVzcG9uc2l2ZVh4bE1lZGl1bSA9IDgwO1xuZXhwb3J0IGNvbnN0IFNiYlNwYWNpbmdSZXNwb25zaXZlWHhsTGFyZ2UgPSA5NjtcbmV4cG9ydCBjb25zdCBTYmJTcGFjaW5nUmVzcG9uc2l2ZVh4bFdpZGUgPSA5NjtcbmV4cG9ydCBjb25zdCBTYmJTcGFjaW5nUmVzcG9uc2l2ZVh4bFVsdHJhID0gMTIwO1xuZXhwb3J0IGNvbnN0IFNiYlR5cG9Gb250RmFtaWx5ID0gXCJcXFwiU0JCXFxcIiwgXFxcIkhlbHZldGljYSBOZXVlXFxcIiwgSGVsdmV0aWNhLCBBcmlhbCwgc2Fucy1zZXJpZlwiO1xuZXhwb3J0IGNvbnN0IFNiYlR5cG9MZXR0ZXJTcGFjaW5nVGl0bGVzID0gXCIwXCI7XG5leHBvcnQgY29uc3QgU2JiVHlwb0xldHRlclNwYWNpbmdCb2R5VGV4dCA9IFwiMC4wM2VtXCI7XG5leHBvcnQgY29uc3QgU2JiVHlwb0xpbmVIZWlnaHRUaXRsZXMgPSBcIjEuM1wiO1xuZXhwb3J0IGNvbnN0IFNiYlR5cG9MaW5lSGVpZ2h0Qm9keVRleHQgPSBcIjEuNzVcIjtcbmV4cG9ydCBjb25zdCBTYmJUeXBvU2NhbGUwNzV4ID0gMTI7XG5leHBvcnQgY29uc3QgU2JiVHlwb1NjYWxlMDgxMjV4ID0gMTM7XG5leHBvcnQgY29uc3QgU2JiVHlwb1NjYWxlMDg3NXggPSAxNDtcbmV4cG9ydCBjb25zdCBTYmJUeXBvU2NhbGVEZWZhdWx0ID0gMTY7XG5leHBvcnQgY29uc3QgU2JiVHlwb1NjYWxlMTEyNXggPSAxODtcbmV4cG9ydCBjb25zdCBTYmJUeXBvU2NhbGUxMjV4ID0gMjA7XG5leHBvcnQgY29uc3QgU2JiVHlwb1NjYWxlMTV4ID0gMjQ7XG5leHBvcnQgY29uc3QgU2JiVHlwb1NjYWxlMnggPSAzMjtcbmV4cG9ydCBjb25zdCBTYmJUeXBvU2NhbGUyNXggPSA0MDtcbmV4cG9ydCBjb25zdCBTYmJUeXBvU2NhbGUzeCA9IDQ4O1xuZXhwb3J0IGNvbnN0IFNiYlR5cG9TY2FsZTM1eCA9IDU2O1xuZXhwb3J0IGNvbnN0IFNiYlR5cG9TY2FsZTR4ID0gNjQ7XG4iLCJpbXBvcnQge1xuICBTYmJCcmVha3BvaW50WmVyb01pbixcbiAgU2JiQnJlYWtwb2ludFplcm9NYXgsXG4gIFNiYkJyZWFrcG9pbnRNaWNyb01pbixcbiAgU2JiQnJlYWtwb2ludE1pY3JvTWF4LFxuICBTYmJCcmVha3BvaW50U21hbGxNaW4sXG4gIFNiYkJyZWFrcG9pbnRTbWFsbE1heCxcbiAgU2JiQnJlYWtwb2ludE1lZGl1bU1pbixcbiAgU2JiQnJlYWtwb2ludE1lZGl1bU1heCxcbiAgU2JiQnJlYWtwb2ludExhcmdlTWluLFxuICBTYmJCcmVha3BvaW50TGFyZ2VNYXgsXG4gIFNiYkJyZWFrcG9pbnRXaWRlTWluLFxuICBTYmJCcmVha3BvaW50V2lkZU1heCxcbiAgU2JiQnJlYWtwb2ludFVsdHJhTWluLFxuICBTYmJCcmVha3BvaW50VWx0cmFNYXgsXG4gIFNiYlR5cG9TY2FsZURlZmF1bHQsXG59IGZyb20gJ0BzYmItZXN0YS9seW5lLWRlc2lnbi10b2tlbnMnO1xuaW1wb3J0IHtcbiAgdHlwZSBDU1NSZXN1bHRHcm91cCxcbiAgaHRtbCxcbiAgTGl0RWxlbWVudCxcbiAgbm90aGluZyxcbiAgdHlwZSBQcm9wZXJ0eVZhbHVlcyxcbiAgdHlwZSBUZW1wbGF0ZVJlc3VsdCxcbn0gZnJvbSAnbGl0JztcbmltcG9ydCB7IGN1c3RvbUVsZW1lbnQsIGV2ZW50T3B0aW9ucywgcHJvcGVydHkgfSBmcm9tICdsaXQvZGVjb3JhdG9ycy5qcyc7XG5pbXBvcnQgeyByZWYgfSBmcm9tICdsaXQvZGlyZWN0aXZlcy9yZWYuanMnO1xuXG5pbXBvcnQgeyBob3N0Q29udGV4dCB9IGZyb20gJy4uL2NvcmUvZG9tLmpzJztcblxuaW1wb3J0IHN0eWxlIGZyb20gJy4vaW1hZ2Uuc2Nzcz9saXQmaW5saW5lJztcblxuZXhwb3J0IGludGVyZmFjZSBJbnRlcmZhY2VJbWFnZUF0dHJpYnV0ZXNTaXplc0NvbmZpZyB7XG4gIGJyZWFrcG9pbnRzOiBJbnRlcmZhY2VJbWFnZUF0dHJpYnV0ZXNTaXplc0NvbmZpZ0JyZWFrcG9pbnRbXTtcbn1cblxuZXhwb3J0IGludGVyZmFjZSBJbnRlcmZhY2VJbWFnZUF0dHJpYnV0ZXNTaXplc0NvbmZpZ0JyZWFrcG9pbnQge1xuICBpbWFnZToge1xuICAgIGhlaWdodDogbnVtYmVyO1xuICAgIHdpZHRoOiBudW1iZXI7XG4gIH07XG4gIG1lZGlhUXVlcmllczogSW50ZXJmYWNlSW1hZ2VBdHRyaWJ1dGVzU2l6ZXNDb25maWdNZWRpYVF1ZXJ5W107XG59XG5cbmV4cG9ydCBpbnRlcmZhY2UgSW50ZXJmYWNlSW1hZ2VBdHRyaWJ1dGVzU2l6ZXNDb25maWdNZWRpYVF1ZXJ5IHtcbiAgY29uZGl0aW9uRmVhdHVyZTogc3RyaW5nO1xuICBjb25kaXRpb25GZWF0dXJlVmFsdWU6IHtcbiAgICBseW5lRGVzaWduVG9rZW46IGJvb2xlYW47XG4gICAgdmFsdWU6IHN0cmluZztcbiAgfTtcbiAgY29uZGl0aW9uT3BlcmF0b3I6IGZhbHNlO1xufVxuXG4vKipcbiAqIHdlIGNoZWNrIHRoZSBzdHJ1Y3R1cmUgb2YgdGhlIGRhdGEgbWFudWFsbHksIHNvIGl0J3Mgc2FmZSB0byB1c2UgYGFueWAgYXMgcmV0dXJuIHR5cGVcbiAqL1xuY29uc3QgaW1hZ2VIZWxwZXJHZXRCcmVha3BvaW50cyA9IChcbiAganNvblN0cmluZzogc3RyaW5nLFxuKTogSW50ZXJmYWNlSW1hZ2VBdHRyaWJ1dGVzU2l6ZXNDb25maWdCcmVha3BvaW50W10gPT4ge1xuICBpZiAoIWpzb25TdHJpbmcgfHwganNvblN0cmluZy5sZW5ndGggPT09IDApIHtcbiAgICByZXR1cm4gW107XG4gIH1cblxuICAvLyBtYWtlIHN1cmUgdGhhdCB3ZSBoYXZlIGBicmVha3BvaW50c2Aga2V5IGluIG9iamVjdFxuICBjb25zdCBsb2dXYXJuaW5nID0gaW1wb3J0Lm1ldGEuZW52LkRFVlxuICAgID8gKCkgPT5cbiAgICAgICAgY29uc29sZS53YXJuKFxuICAgICAgICAgICdzYmItaW1hZ2UgZXJyb3I6IGF0dHJpYnV0ZSBicmVha3BvaW50cyBoYXMgd3JvbmcgZGF0YSBmb3JtYXQuIFJlZmVyZW5jZSB0aGUgZG9jdW1lbnRhdGlvbiB0byBzZWUgaG93IHlvdSBzaG91bGQgZm9ybWF0IHRoZSBkYXRhIGZvciB0aGlzIGF0dHJpYnV0ZS4nLFxuICAgICAgICApXG4gICAgOiBudWxsO1xuICBsZXQganNvbk9iamVjdDogSW50ZXJmYWNlSW1hZ2VBdHRyaWJ1dGVzU2l6ZXNDb25maWc7XG5cbiAgdHJ5IHtcbiAgICBqc29uT2JqZWN0ID0gSlNPTi5wYXJzZShqc29uU3RyaW5nKTtcbiAgfSBjYXRjaCB7XG4gICAgbG9nV2FybmluZz8uKCk7XG4gICAgcmV0dXJuIFtdO1xuICB9XG5cbiAgaWYgKCFqc29uT2JqZWN0LmJyZWFrcG9pbnRzIHx8IGpzb25PYmplY3QuYnJlYWtwb2ludHMubGVuZ3RoID09PSAwKSB7XG4gICAgbG9nV2FybmluZz8uKCk7XG4gICAgcmV0dXJuIFtdO1xuICB9XG5cbiAgLy8gbWFrZSBzdXJlIHdlIGdldCBhbiBhcnJheSBvZiBicmVha3BvaW50c1xuICBpZiAoIUFycmF5LmlzQXJyYXkoanNvbk9iamVjdC5icmVha3BvaW50cykpIHtcbiAgICBsb2dXYXJuaW5nPy4oKTtcbiAgICByZXR1cm4gW107XG4gIH1cblxuICAvKipcbiAgICogMS4gbWFrZSBzdXJlIHRoYXQgZWFjaCBlbnRyeSB3aXRoaW4gdGhlIGJyZWFrcG9pbnRzIG9iamVjdCBjb250YWlucyBvbmx5IGFsbG93ZWQga2V5c1xuICAgKiAyLiBtYWtlIHN1cmUgdGhhdCBhbGwgbmVjZXNzYXJ5IGtleXMgYXJlIHByZXNlbnRcbiAgICovXG4gIGxldCB3cm9uZ0tleURldGVjdGVkID0gZmFsc2U7XG4gIGxldCBtaXNzaW5nS2V5RGV0ZWN0ZWQgPSBmYWxzZTtcblxuICBjb25zdCBhbGxvd2VkS2V5cyA9IFsnaW1hZ2UnLCAnbWVkaWFRdWVyaWVzJ107XG5cbiAganNvbk9iamVjdC5icmVha3BvaW50cy5mb3JFYWNoKChicmVha3BvaW50KSA9PiB7XG4gICAgY29uc3QgYnJlYWtwb2ludEtleXMgPSBPYmplY3Qua2V5cyhicmVha3BvaW50KTtcblxuICAgIGJyZWFrcG9pbnRLZXlzLmZvckVhY2goKGJyZWFrcG9pbnRLZXkpID0+IHtcbiAgICAgIGlmICghYWxsb3dlZEtleXMuaW5jbHVkZXMoYnJlYWtwb2ludEtleSkpIHtcbiAgICAgICAgd3JvbmdLZXlEZXRlY3RlZCA9IHRydWU7XG4gICAgICB9XG4gICAgfSk7XG5cbiAgICBhbGxvd2VkS2V5cy5mb3JFYWNoKChhbGxvd2VkS2V5KSA9PiB7XG4gICAgICBpZiAoIWJyZWFrcG9pbnRLZXlzLmluY2x1ZGVzKGFsbG93ZWRLZXkpKSB7XG4gICAgICAgIG1pc3NpbmdLZXlEZXRlY3RlZCA9IHRydWU7XG4gICAgICB9XG4gICAgfSk7XG4gIH0pO1xuXG4gIGlmICh3cm9uZ0tleURldGVjdGVkIHx8IG1pc3NpbmdLZXlEZXRlY3RlZCkge1xuICAgIGxvZ1dhcm5pbmc/LigpO1xuICAgIHJldHVybiBbXTtcbiAgfVxuXG4gIHJldHVybiBqc29uT2JqZWN0LmJyZWFrcG9pbnRzO1xufTtcblxuY29uc3QgZXZlbnRMaXN0ZW5lck9wdGlvbnMgPSB7XG4gIG9uY2U6IHRydWUsXG4gIHBhc3NpdmU6IHRydWUsXG59O1xuXG5jb25zdCBweFRvUmVtID0gKHB4OiBudW1iZXIpOiBudW1iZXIgPT4ge1xuICByZXR1cm4gcHggLyBTYmJUeXBvU2NhbGVEZWZhdWx0O1xufTtcblxuY29uc3QgYnJlYWtwb2ludE1hcDogUmVjb3JkPHN0cmluZywgbnVtYmVyPiA9IHtcbiAgJ3NiYi1icmVha3BvaW50LXplcm8tbWluJzogcHhUb1JlbShTYmJCcmVha3BvaW50WmVyb01pbiksXG4gICdzYmItYnJlYWtwb2ludC16ZXJvLW1heCc6IHB4VG9SZW0oU2JiQnJlYWtwb2ludFplcm9NYXgpLFxuICAnc2JiLWJyZWFrcG9pbnQtbWljcm8tbWluJzogcHhUb1JlbShTYmJCcmVha3BvaW50TWljcm9NaW4pLFxuICAnc2JiLWJyZWFrcG9pbnQtbWljcm8tbWF4JzogcHhUb1JlbShTYmJCcmVha3BvaW50TWljcm9NYXgpLFxuICAnc2JiLWJyZWFrcG9pbnQtc21hbGwtbWluJzogcHhUb1JlbShTYmJCcmVha3BvaW50U21hbGxNaW4pLFxuICAnc2JiLWJyZWFrcG9pbnQtc21hbGwtbWF4JzogcHhUb1JlbShTYmJCcmVha3BvaW50U21hbGxNYXgpLFxuICAnc2JiLWJyZWFrcG9pbnQtbWVkaXVtLW1pbic6IHB4VG9SZW0oU2JiQnJlYWtwb2ludE1lZGl1bU1pbiksXG4gICdzYmItYnJlYWtwb2ludC1tZWRpdW0tbWF4JzogcHhUb1JlbShTYmJCcmVha3BvaW50TWVkaXVtTWF4KSxcbiAgJ3NiYi1icmVha3BvaW50LWxhcmdlLW1pbic6IHB4VG9SZW0oU2JiQnJlYWtwb2ludExhcmdlTWluKSxcbiAgJ3NiYi1icmVha3BvaW50LWxhcmdlLW1heCc6IHB4VG9SZW0oU2JiQnJlYWtwb2ludExhcmdlTWF4KSxcbiAgJ3NiYi1icmVha3BvaW50LXdpZGUtbWluJzogcHhUb1JlbShTYmJCcmVha3BvaW50V2lkZU1pbiksXG4gICdzYmItYnJlYWtwb2ludC13aWRlLW1heCc6IHB4VG9SZW0oU2JiQnJlYWtwb2ludFdpZGVNYXgpLFxuICAnc2JiLWJyZWFrcG9pbnQtdWx0cmEtbWluJzogcHhUb1JlbShTYmJCcmVha3BvaW50VWx0cmFNaW4pLFxuICAnc2JiLWJyZWFrcG9pbnQtdWx0cmEtbWF4JzogcHhUb1JlbShTYmJCcmVha3BvaW50VWx0cmFNYXgpLFxufTtcblxuLyoqXG4gKiBJdCBkaXNwbGF5cyBhbiBpbWFnZS5cbiAqXG4gKiBAZXZlbnQge0V2ZW50fSBsb2FkIC0gRW1pdHMgd2hlbiB0aGUgaW1hZ2UgaGFzIGJlZW4gbG9hZGVkLlxuICogQGV2ZW50IHtFdmVudH0gZXJyb3IgLSBFbWl0cyB3aGVuIHRoZSBpbWFnZSBsb2FkaW5nIGVuZGVkIGluIGFuIGVycm9yLlxuICogQGNzc3Byb3AgWy0tc2JiLWltYWdlLWFzcGVjdC1yYXRpbz1hdXRvXSAtIENhbiBiZSB1c2VkIHRvIG92ZXJyaWRlIGBhc3BlY3RSYXRpb2AgcHJvcGVydHkuXG4gKiBUaGlzIHdheSB3ZSBjYW4gaGF2ZSwgZm9yIGV4YW1wbGUsIGFuIGltYWdlIGNvbXBvbmVudCB3aXRoIGFuIGFzcGVjdFxuICogcmF0aW8gb2YgNC8zIGluIHNtYWxsZXIgdmlld3BvcnRzIGFuZCAxNi85IGluIGxhcmdlciB2aWV3cG9ydHMuXG4gKiBAY3NzcHJvcCBbLS1zYmItaW1hZ2UtYm9yZGVyLXJhZGl1cz12YXIoLS1zYmItYm9yZGVyLXJhZGl1cy00eCldIC0gQ2FuIGJlIHVzZWQgdG8gb3ZlcnJpZGUgdGhlXG4gKiBgYm9yZGVyUmFkaXVzYCBwcm9wZXJ0eSBpbiBjYXNlIG9mIGRpZmZlcmVudCB2YWx1ZXMgZm9yIGRpZmZlcmVudCB2aWV3cG9ydHMuXG4gKiBAY3NzcHJvcCBbLS1zYmItaW1hZ2Utb2JqZWN0LXBvc2l0aW9uXSAtIENhbiBiZSB1c2VkIHRvIHNldCB0aGUgb2JqZWN0LXBvc2l0aW9uIGNzcyBwcm9wZXJ0eSBvZiB0aGUgaW1hZ2UgaXRzZWxmIGlmIHRoZSBpbWFnZSBpdHNlbGYgaXMgY3JvcHBlZC5cbiAqL1xuQGN1c3RvbUVsZW1lbnQoJ3NiYi1pbWFnZScpXG5leHBvcnQgY2xhc3MgU2JiSW1hZ2VFbGVtZW50IGV4dGVuZHMgTGl0RWxlbWVudCB7XG4gIHB1YmxpYyBzdGF0aWMgb3ZlcnJpZGUgc3R5bGVzOiBDU1NSZXN1bHRHcm91cCA9IHN0eWxlO1xuICBwdWJsaWMgc3RhdGljIHJlYWRvbmx5IGV2ZW50cyA9IHtcbiAgICBlcnJvcjogJ2Vycm9yJyxcbiAgICBsb2FkOiAnbG9hZCcsXG4gIH0gYXMgY29uc3Q7XG5cbiAgcHJpdmF0ZSBfY2FwdGlvbkVsZW1lbnQ/OiBIVE1MRWxlbWVudDtcbiAgcHJpdmF0ZSBfbGlua3NJbkNhcHRpb24/OiBOb2RlTGlzdE9mPEhUTUxMaW5rRWxlbWVudD47XG4gIHByaXZhdGUgX2NvbmZpZyA9IHtcbiAgICBub25SZXRpbmFRdWFsaXR5OiAnNDUnLFxuICAgIHJldGluYVF1YWxpdHk6ICcyMCcsXG4gIH07XG5cbiAgLyoqXG4gICAqIEFuIGFsdCB0ZXh0IGlzIG5vdCBhbHdheXMgbmVjZXNzYXJ5IChlLmcuIGluIHRlYXNlciBjYXJkcyB3aGVuXG4gICAqIGFkZGl0aW9uYWwgbGluayB0ZXh0IGlzIHByb3ZpZGVkKS4gSW4gdGhpcyBjYXNlIHdlIGNhbiBsZWF2ZVxuICAgKiB0aGUgdmFsdWUgb2YgdGhlIGFsdCBhdHRyaWJ1dGUgYmxhbmssIGJ1dCB0aGUgYXR0cmlidXRlIGl0c2VsZlxuICAgKiBzdGlsbCBuZWVkcyB0byBiZSBwcmVzZW50LiBUaGF0IHdheSB3ZSBjYW4gc2lnbmFsIGFzc2lzdGl2ZVxuICAgKiB0ZWNobm9sb2d5LCB0aGF0IHRoZXkgY2FuIHNraXAgdGhlIGltYWdlLlxuICAgKi9cbiAgQHByb3BlcnR5KCkgcHVibGljIGFsdD86IHN0cmluZztcblxuICAvKipcbiAgICogSWYgc2V0IHRvIGZhbHNlLCB3ZSBzaG93IGEgYmx1cnJlZCB2ZXJzaW9uIG9mIHRoZSBpbWFnZSBhc1xuICAgKiBwbGFjZWhvbGRlciBiZWZvcmUgdGhlIGFjdHVhbCBpbWFnZSBzaG93cyB1cC4gVGhpcyB3aWxsIGhlbHBcbiAgICogdG8gaW1wcm92ZSB0aGUgcGVyY2VpdmVkIGxvYWRpbmcgcGVyZm9ybWFuY2UuIFJlYWQgbW9yZSBhYm91dFxuICAgKiB0aGUgaWRlYSBvZiBscWlwIGhlcmU6XG4gICAqIGh0dHBzOi8vbWVkaXVtLmNvbS9AaW1naXgvbHFpcC15b3VyLWltYWdlcy1mb3ItZmFzdC1sb2FkaW5nLTI1MjNkOWVlNGE2MlxuICAgKi9cbiAgQHByb3BlcnR5KHsgYXR0cmlidXRlOiAnc2tpcC1scWlwJywgdHlwZTogQm9vbGVhbiB9KSBwdWJsaWMgc2tpcExxaXAgPSBmYWxzZTtcblxuICAvKipcbiAgICogQSBjYXB0aW9uIGNhbiBwcm92aWRlIGFkZGl0aW9uYWwgY29udGV4dCB0byB0aGUgaW1hZ2UgKGUuZy5cbiAgICogZGVzY3JpcHRpb25zIGFuZCB0aGUgbGlrZSkuXG4gICAqIExpbmtzIHdpbGwgYXV0b21hdGljYWxseSByZWNlaXZlIHRhYmluZGV4PS0xIGlmIGhpZGVGcm9tU2NyZWVucmVhZGVyXG4gICAqIGlzIHNldCB0byB0cnVlLiBUaGF0IHdheSB0aGV5IHdpbGwgbm8gbG9uZ2VyIGJlY29tZSBmb2N1c2FibGUuXG4gICAqL1xuICBAcHJvcGVydHkoKSBwdWJsaWMgY2FwdGlvbj86IHN0cmluZztcblxuICAvKipcbiAgICogSWYgYSBjb3B5cmlnaHQgdGV4dCBpcyBwcm92aWRlZCwgd2Ugd2lsbCBhZGQgaXQgdG8gdGhlIGNhcHRpb25cbiAgICogYW5kIGNyZWF0ZSBhIHN0cnVjdHVyZWQgZGF0YSBqc29uLWxkIGJsb2NrIHdpdGggdGhlIGNvcHlyaWdodFxuICAgKiBpbmZvcm1hdGlvbi5cbiAgICovXG4gIEBwcm9wZXJ0eSgpIHB1YmxpYyBjb3B5cmlnaHQ/OiBzdHJpbmc7XG5cbiAgLyoqXG4gICAqIENvcHlyaWdodCBob2xkZXIgY2FuIGVpdGhlciBiZSBhbiBPcmdhbml6YXRpb24gb3IgYSBQZXJzb25cbiAgICovXG4gIEBwcm9wZXJ0eSh7IGF0dHJpYnV0ZTogJ2NvcHlyaWdodC1ob2xkZXInIH0pXG4gIHB1YmxpYyBjb3B5cmlnaHRIb2xkZXI6ICdPcmdhbml6YXRpb24nIHwgJ1BlcnNvbicgPSAnT3JnYW5pemF0aW9uJztcblxuICAvKipcbiAgICogU2V0IHRoaXMgdG8gdHJ1ZSwgaWYgeW91IHdhbnQgdG8gcGFzcyBhIGN1c3RvbSBmb2NhbCBwb2ludFxuICAgKiBmb3IgdGhlIGltYWdlLiBTZWUgZnVsbCBkb2N1bWVudGF0aW9uIGhlcmU6XG4gICAqIGh0dHBzOi8vZG9jcy5pbWdpeC5jb20vYXBpcy9yZW5kZXJpbmcvZm9jYWxwb2ludC1jcm9wXG4gICAqL1xuICBAcHJvcGVydHkoeyBhdHRyaWJ1dGU6ICdjdXN0b20tZm9jYWwtcG9pbnQnLCB0eXBlOiBCb29sZWFuIH0pIHB1YmxpYyBjdXN0b21Gb2NhbFBvaW50ID0gZmFsc2U7XG5cbiAgLyoqXG4gICAqIElmIHRoZSBsYXp5IHByb3BlcnR5IGlzIHNldCB0byB0cnVlLCB0aGUgbW9kdWxlIHdpbGwgYXV0b21hdGljYWxseVxuICAgKiBjaGFuZ2UgdGhlIGRlY29kaW5nIHRvIGFzeW5jLCBvdGhlcndpc2UgdGhlIGRlY29kaW5nIGlzIHNldCB0byBhdXRvXG4gICAqIHdoaWNoIGxlYXZlcyB0aGUgaGFuZGxpbmcgdXAgdG8gdGhlIGJyb3dzZXIuIFJlYWQgbW9yZSBhYm91dCB0aGVcbiAgICogZGVjb2RpbmcgYXR0cmlidXRlIGhlcmU6XG4gICAqIGh0dHBzOi8vZGV2ZWxvcGVyLm1vemlsbGEub3JnL2VuLVVTL2RvY3MvV2ViL0FQSS9IVE1MSW1hZ2VFbGVtZW50L2RlY29kaW5nXG4gICAqL1xuICBAcHJvcGVydHkoKSBwdWJsaWMgZGVjb2Rpbmc6ICdzeW5jJyB8ICdhc3luYycgfCAnYXV0bycgPSAnYXV0byc7XG5cbiAgLyoqXG4gICAqIFNldCB0aGlzIHRvIHRydWUsIHRvIHJlY2VpdmUgdmlzdWFsIGd1aWRhbmNlIHdoZXJlIHRoZSBjdXN0b20gZm9jYWxcbiAgICogcG9pbnQgaXMgY3VycmVudGx5IHNldC5cbiAgICovXG4gIEBwcm9wZXJ0eSh7IGF0dHJpYnV0ZTogJ2ZvY2FsLXBvaW50LWRlYnVnJywgdHlwZTogQm9vbGVhbiB9KSBwdWJsaWMgZm9jYWxQb2ludERlYnVnID0gZmFsc2U7XG5cbiAgLyoqXG4gICAqIFBhc3MgaW4gYSBmbG9hdGluZyBudW1iZXIgYmV0d2VlbiAwIChsZWZ0KSBhbmQgMSAocmlnaHQpLlxuICAgKi9cbiAgQHByb3BlcnR5KHsgYXR0cmlidXRlOiAnZm9jYWwtcG9pbnQteCcsIHR5cGU6IE51bWJlciB9KSBwdWJsaWMgZm9jYWxQb2ludFggPSAxO1xuXG4gIC8qKlxuICAgKiBQYXNzIGluIGEgZmxvYXRpbmcgbnVtYmVyIGJldHdlZW4gMCAodG9wKSBhbmQgMSAoYm90dG9tKS5cbiAgICovXG4gIEBwcm9wZXJ0eSh7IGF0dHJpYnV0ZTogJ2ZvY2FsLXBvaW50LXknLCB0eXBlOiBOdW1iZXIgfSkgcHVibGljIGZvY2FsUG9pbnRZID0gMTtcblxuICAvKipcbiAgICogUmlnaHQgbm93IHRoZSBtb2R1bGUgaXMgaGVhdmlseSBjb3VwbGVkIHdpdGggdGhlIGltYWdlIGRlbGl2ZXJ5XG4gICAqIHNlcnZpY2UgaW1naXggYW5kIGRlcGVuZHMgb24gdGhlIG9yaWdpbmFsIGZpbGVzIGJlaW5nIHN0b3JlZFxuICAgKiBpbnNpZGUgQUVNLiBZb3UgY2FuIHBhc3MgaW4gYW55IGh0dHBzOi8vY2RuLmltZy5zYmIuY2ggaW1nXG4gICAqIHNyYyBhZGRyZXNzIHlvdSBmaW5kIG9uIHNiYi5jaCB0byBwbGF5IGFyb3VuZCB3aXRoIGl0LiBKdXN0XG4gICAqIHN0cmlwIHRoZSB1cmwgcGFyYW1ldGVycyBhbmQgcGFzdGUgaW4gdGhlIHBsYWluIGZpbGUgYWRkcmVzcy5cbiAgICogSWYgeW91IHdhbnQgdG8ga25vdyBob3cgdG8gYmVzdCB3b3JrIHdpdGggdGhpcyBtb2R1bGUgd2l0aFxuICAgKiBpbWFnZXMgY29taW5nIGZyb20gYSBkaWZmZXJlbnQgc291cmNlLCBwbGVhc2UgY29udGFjdCB0aGVcbiAgICogTFlORSBDb3JlIFRlYW0uXG4gICAqL1xuICBAcHJvcGVydHkoeyBhdHRyaWJ1dGU6ICdpbWFnZS1zcmMnIH0pIHB1YmxpYyBpbWFnZVNyYz86IHN0cmluZztcblxuICAvKipcbiAgICogVGhlIGltcG9ydGFuY2UgYXR0cmlidXRlIGlzIGZhaXJseSBuZXcgYXR0cmlidXRlIHdoaWNoIHNob3VsZFxuICAgKiBoZWxwIHRoZSBicm93c2VyIGRlY2lkZSB3aGljaCByZXNvdXJjZXMgaXQgc2hvdWxkIHByaW9yaXRpc2VcbiAgICogZHVyaW5nIHBhZ2UgbG9hZC4gV2Ugd2lsbCBzZXQgdGhlIGF0dHJpYnV0ZSB2YWx1ZSBiYXNlZCBvbiB0aGVcbiAgICogdmFsdWUsIHdlIHJlY2VpdmUgaW4gdGhlIGxvYWRpbmcgYXR0cmlidXRlLiAnZWFnZXInLCB3aGljaCB3ZSB1c2VcbiAgICogZm9yIHRoZSBsYXJnZXN0IGltYWdlIHdpdGhpbiB0aGUgaW5pdGlhbCB2aWV3cG9ydCwgd2lsbCBzZXQgdGhlXG4gICAqIGF0dHJpYnV0ZSB2YWx1ZSB0byAnaGlnaCcuICdsYXp5Jywgd2hpY2ggd2UgdXNlIGZvciBpbWFnZXMgYmVsb3dcbiAgICogdGhlIGZvbGQsIHdpbGwgc2V0IHRoZSBhdHRyaWJ1dGUgdmFsdWUgdG8gJ2xvdycuXG4gICAqL1xuICBAcHJvcGVydHkoKSBwdWJsaWMgaW1wb3J0YW5jZTogJ2F1dG8nIHwgJ2hpZ2gnIHwgJ2xvdycgPSAnaGlnaCc7XG5cbiAgLyoqXG4gICAqIFdpdGggdGhlIHN1cHBvcnQgb2YgbmF0aXZlIGltYWdlIGxhenkgbG9hZGluZywgd2UgY2FuIG5vd1xuICAgKiBkZWNpZGUgd2hldGhlciB3ZSB3YW50IHRvIGxvYWQgdGhlIGltYWdlIGltbWVkaWF0ZWx5IG9yIG9ubHlcbiAgICogb25jZSBpdCBpcyBjbG9zZSB0byB0aGUgdmlzaWJsZSB2aWV3cG9ydC4gVGhlIHZhbHVlIGVhZ2VyIGlzXG4gICAqIGJlc3QgdXNlZCBmb3IgaW1hZ2VzIHdpdGhpbiB0aGUgaW5pdGlhbCB2aWV3cG9ydC4gV2Ugd2FudCB0b1xuICAgKiBsb2FkIHRoZXNlIGltYWdlcyBhcyBmYXN0IGFzIHBvc3NpYmxlIHRvIGltcHJvdmUgdGhlIENvcmUgV2ViXG4gICAqIFZpdGFscyB2YWx1ZXMuIGxhenkgb24gdGhlIG90aGVyIGhhbmQgd29ya3MgYmVzdCBmb3IgaW1hZ2VzXG4gICAqIHdoaWNoIGFyZSBmdXJ0aGVyIGRvd24gdGhlIHBhZ2Ugb3IgaW52aXNpYmxlIGR1cmluZyB0aGUgbG9hZGluZ1xuICAgKiBvZiB0aGUgaW5pdGlhbCB2aWV3cG9ydC5cbiAgICovXG4gIEBwcm9wZXJ0eSgpIHB1YmxpYyBsb2FkaW5nOiAnZWFnZXInIHwgJ2xhenknID0gJ2VhZ2VyJztcblxuICAvKipcbiAgICogV2l0aCBwZXJmb3JtYW5jZS5tYXJrIHlvdSBjYW4gbG9nIGEgdGltZXN0YW1wIGFzc29jaWF0ZWQgd2l0aFxuICAgKiB0aGUgbmFtZSB5b3UgZGVmaW5lIGluIHBlcmZvcm1hbmNlTWFyayB3aGVuIGEgY2VydGFpbiBldmVudCBpc1xuICAgKiBoYXBwZW5pbmcuIEluIG91ciBjYXNlIHdlIHdpbGwgbG9nIHRoZSBwZXJmb3JtYW5jZS5tYXJrIGludG9cbiAgICogdGhlIFBlcmZvcm1hbmNlRW50cnkgQVBJIG9uY2UgdGhlIGltYWdlIGlzIGZ1bGx5IGxvYWRlZC5cbiAgICogUGVyZm9ybWFuY2UgbW9uaXRvcmluZyB0b29scyBsaWtlIFNwZWVkQ3VydmUgb3IgTGlnaHRob3VzZSBhcmVcbiAgICogdGhlbiBhYmxlIHRvIGdyYWIgdGhlc2UgZW50cmllcyBmcm9tIHRoZSBQZXJmb3JtYW5jZUVudHJ5IEFQSVxuICAgKiBhbmQgZ2l2ZSB1cyBhZGRpdGlvbmFsIGluZm9ybWF0aW9uIGFuZCBpbnNpZ2h0cyBhYm91dCBvdXIgcGFnZVxuICAgKiBsb2FkaW5nIGJlaGF2aW91ci4gV2UgYXJlIHRoZW4gYWxzbyBhYmxlIHRvIG1vbml0b3IgdGhlc2VcbiAgICogdmFsdWVzIG92ZXIgYSBsb25nIHBlcmlvZCB0byBzZWUgaWYgb3VyIHBlcmZvcm1hbmNlXG4gICAqIGluY3JlYXNlcyBvciBkZWNyZWFzZXMgb3ZlciB0aW1lLiBCZXN0IHRvIHVzZSBsb3dlcmNhc2Ugc3RyaW5nc1xuICAgKiBoZXJlLCBzZXBhcmF0ZSB3b3JkcyB3aXRoIHVuZGVyc2NvcmVzIG9yIGRhc2hlcy5cbiAgICovXG4gIEBwcm9wZXJ0eSh7IGF0dHJpYnV0ZTogJ3BlcmZvcm1hbmNlLW1hcmsnIH0pIHB1YmxpYyBwZXJmb3JtYW5jZU1hcms/OiBzdHJpbmc7XG5cbiAgLyoqXG4gICAqIFdpdGggdGhlIHBpY3R1cmVTaXplc0NvbmZpZyBvYmplY3QsIHlvdSBjYW4gcGFzcyBpbiBpbmZvcm1hdGlvblxuICAgKiBpbnRvIGltYWdlIGFib3V0IHdoYXQga2luZCBvZiBzb3VyY2UgZWxlbWVudHMgc2hvdWxkIGdldFxuICAgKiByZW5kZXJlZC4gbWVkaWFRdWVyaWVzIGFjY2VwdHMgbXVsdGlwbGUgTWVkaWEgUXVlcnkgZW50cmllc1xuICAgKiB3aGljaCBjYW4gZ2V0IGNvbWJpbmVkIGJ5IGRlZmluaW5nIGEgY29uZGl0aW9uT3BlcmF0b3IuXG4gICAqIFR5cGUgaXM6IHN0cmluZ2lmaWVkIEludGVyZmFjZUltYWdlQXR0cmlidXRlc1NpemVzQ29uZmlnLU9iamVjdFxuICAgKiBBbiBleGFtcGxlIGNvdWxkIGxvb2sgbGlrZSB0aGlzOlxuICAgKiB7XG4gICAqICAgIFwiYnJlYWtwb2ludHNcIjogW1xuICAgKiAgICAgIHtcbiAgICogICAgICAgIFwiaW1hZ2VcIjoge1xuICAgKiAgICAgICAgICBcImhlaWdodFwiOiBcIjY3NVwiLFxuICAgKiAgICAgICAgICBcIndpZHRoXCI6IFwiMTIwMFwiXG4gICAqICAgICAgICB9LFxuICAgKiAgICAgICAgXCJtZWRpYVF1ZXJpZXNcIjogW1xuICAgKiAgICAgICAgICB7XG4gICAqICAgICAgICAgICAgXCJjb25kaXRpb25GZWF0dXJlXCI6IFwibWluLXdpZHRoXCIsXG4gICAqICAgICAgICAgICAgXCJjb25kaXRpb25GZWF0dXJlVmFsdWVcIjoge1xuICAgKiAgICAgICAgICAgICAgXCJseW5lRGVzaWduVG9rZW5cIjogdHJ1ZSxcbiAgICogICAgICAgICAgICAgIFwidmFsdWVcIjogXCJzYmItYnJlYWtwb2ludC1sYXJnZS1taW5cIlxuICAgKiAgICAgICAgICAgIH0sXG4gICAqICAgICAgICAgICAgXCJjb25kaXRpb25PcGVyYXRvclwiOiBmYWxzZVxuICAgKiAgICAgICAgICB9XG4gICAqICAgICAgICBdXG4gICAqICAgICAgfSxcbiAgICogICAgICB7XG4gICAqICAgICAgICBcImltYWdlXCI6IHtcbiAgICogICAgICAgICAgXCJoZWlnaHRcIjogXCI1NDlcIixcbiAgICogICAgICAgICAgXCJ3aWR0aFwiOiBcIjk3NlwiXG4gICAqICAgICAgICB9LFxuICAgKiAgICAgICAgXCJtZWRpYVF1ZXJpZXNcIjogW1xuICAgKiAgICAgICAgICB7XG4gICAqICAgICAgICAgICAgXCJjb25kaXRpb25GZWF0dXJlXCI6IFwibWluLXdpZHRoXCIsXG4gICAqICAgICAgICAgICAgXCJjb25kaXRpb25GZWF0dXJlVmFsdWVcIjoge1xuICAgKiAgICAgICAgICAgICAgXCJseW5lRGVzaWduVG9rZW5cIjogdHJ1ZSxcbiAgICogICAgICAgICAgICAgIFwidmFsdWVcIjogXCJzYmItYnJlYWtwb2ludC1zbWFsbC1taW5cIlxuICAgKiAgICAgICAgICAgIH0sXG4gICAqICAgICAgICAgICAgXCJjb25kaXRpb25PcGVyYXRvclwiOiBmYWxzZVxuICAgKiAgICAgICAgICB9XG4gICAqICAgICAgICBdXG4gICAqICAgICAgfSxcbiAgICogICAgICB7XG4gICAqICAgICAgICBcImltYWdlXCI6IHtcbiAgICogICAgICAgICAgXCJoZWlnaHRcIjogXCIxODBcIixcbiAgICogICAgICAgICAgXCJ3aWR0aFwiOiBcIjMyMFwiXG4gICAqICAgICAgICB9LFxuICAgKiAgICAgICAgXCJtZWRpYVF1ZXJpZXNcIjogW1xuICAgKiAgICAgICAgICB7XG4gICAqICAgICAgICAgICAgXCJjb25kaXRpb25GZWF0dXJlXCI6IFwibWF4LXdpZHRoXCIsXG4gICAqICAgICAgICAgICAgXCJjb25kaXRpb25GZWF0dXJlVmFsdWVcIjoge1xuICAgKiAgICAgICAgICAgICAgXCJseW5lRGVzaWduVG9rZW5cIjogdHJ1ZSxcbiAgICogICAgICAgICAgICAgIFwidmFsdWVcIjogXCJzYmItYnJlYWtwb2ludC1taWNyby1tYXhcIlxuICAgKiAgICAgICAgICAgIH0sXG4gICAqICAgICAgICAgICAgXCJjb25kaXRpb25PcGVyYXRvclwiOiBcImFuZFwiXG4gICAqICAgICAgICAgIH0sXG4gICAqICAgICAgICAgIHtcbiAgICogICAgICAgICAgICBcImNvbmRpdGlvbkZlYXR1cmVcIjogXCJvcmllbnRhdGlvblwiLFxuICAgKiAgICAgICAgICAgIFwiY29uZGl0aW9uRmVhdHVyZVZhbHVlXCI6IHtcbiAgICogICAgICAgICAgICAgIFwibHluZURlc2lnblRva2VuXCI6IGZhbHNlLFxuICAgKiAgICAgICAgICAgICAgXCJ2YWx1ZVwiOiBcImxhbmRzY2FwZVwiXG4gICAqICAgICAgICAgICAgfSxcbiAgICogICAgICAgICAgICBcImNvbmRpdGlvbk9wZXJhdG9yXCI6IGZhbHNlXG4gICAqICAgICAgICAgIH1cbiAgICogICAgICAgIF1cbiAgICogICAgICB9XG4gICAqICAgIF1cbiAgICogIH1cbiAgICovXG4gIEBwcm9wZXJ0eSh7IGF0dHJpYnV0ZTogJ3BpY3R1cmUtc2l6ZXMtY29uZmlnJyB9KSBwdWJsaWMgcGljdHVyZVNpemVzQ29uZmlnPzogc3RyaW5nO1xuXG4gIC8qKlxuICAgKiBCb3JkZXIgcmFkaXVzIG9mIHRoZSBpbWFnZS4gQ2hvb3NlIGJldHdlZW4gYSBkZWZhdWx0IHJhZGl1cywgbm8gcmFkaXVzIGFuZCBhIGNvbXBsZXRlbHkgcm91bmQgaW1hZ2UuXG4gICAqL1xuICBAcHJvcGVydHkoeyBhdHRyaWJ1dGU6ICdib3JkZXItcmFkaXVzJywgcmVmbGVjdDogdHJ1ZSB9KSBwdWJsaWMgYm9yZGVyUmFkaXVzOlxuICAgIHwgJ2RlZmF1bHQnXG4gICAgfCAnbm9uZSdcbiAgICB8ICdyb3VuZCcgPSAnZGVmYXVsdCc7XG5cbiAgLyoqXG4gICAqIFNldCBhbiBhc3BlY3QgcmF0aW9cbiAgICogZGVmYXVsdCBpcyAnMTYtOScgKDE2LzkpXG4gICAqIG90aGVyIHZhbHVlczogJ2ZyZWUnLCAnMS0xJywgJzEtMicsICcyLTEnLCAnMi0zJywgJzMtMicsICczLTQnLCAnNC0zJywgJzQtNScsICc1LTQnLCAnOS0xNidcbiAgICovXG4gIEBwcm9wZXJ0eSh7IGF0dHJpYnV0ZTogJ2FzcGVjdC1yYXRpbycsIHJlZmxlY3Q6IHRydWUgfSlcbiAgcHVibGljIGFzcGVjdFJhdGlvOlxuICAgIHwgJ2ZyZWUnXG4gICAgfCAnMS0xJ1xuICAgIHwgJzEtMidcbiAgICB8ICcyLTEnXG4gICAgfCAnMi0zJ1xuICAgIHwgJzMtMidcbiAgICB8ICczLTQnXG4gICAgfCAnNC0zJ1xuICAgIHwgJzQtNSdcbiAgICB8ICc1LTQnXG4gICAgfCAnOS0xNidcbiAgICB8ICcxNi05JyA9ICcxNi05JztcblxuICAvKiogV2hldGhlciB0aGUgaW1hZ2UgaXMgZmluaXNoZWQgbG9hZGluZyBvciBmYWlsZWQgdG8gbG9hZC4gKi9cbiAgcHVibGljIGdldCBjb21wbGV0ZSgpOiBib29sZWFuIHtcbiAgICByZXR1cm4gdGhpcy5zaGFkb3dSb290Py5xdWVyeVNlbGVjdG9yPy48SFRNTEltYWdlRWxlbWVudD4oJy5zYmItaW1hZ2VfX2ltZycpPy5jb21wbGV0ZSA/PyBmYWxzZTtcbiAgfVxuXG4gIHB1YmxpYyBvdmVycmlkZSBjb25uZWN0ZWRDYWxsYmFjaygpOiB2b2lkIHtcbiAgICBzdXBlci5jb25uZWN0ZWRDYWxsYmFjaygpO1xuICAgIC8vIENoZWNrIGlmIHRoZSBjdXJyZW50IGVsZW1lbnQgaXMgbmVzdGVkIGluIGFuIGA8c2JiLXRlYXNlci1oZXJvPmAgZWxlbWVudCBvbiBpbiBhbiBgPHNiYi10ZWFzZXItcGFpZD5gIGVsZW1lbnQuXG4gICAgdGhpcy50b2dnbGVBdHRyaWJ1dGUoXG4gICAgICAnZGF0YS10ZWFzZXInLFxuICAgICAgISFob3N0Q29udGV4dCgnc2JiLXRlYXNlci1oZXJvJywgdGhpcykgfHwgISF0aGlzLmNsb3Nlc3QoJ3NiYi10ZWFzZXItcGFpZCcpLFxuICAgICk7XG4gIH1cblxuICBwcm90ZWN0ZWQgb3ZlcnJpZGUgdXBkYXRlZChjaGFuZ2VkUHJvcGVydGllczogUHJvcGVydHlWYWx1ZXM8dGhpcz4pOiB2b2lkIHtcbiAgICBzdXBlci51cGRhdGVkKGNoYW5nZWRQcm9wZXJ0aWVzKTtcblxuICAgIGlmICghdGhpcy5fY2FwdGlvbkVsZW1lbnQpIHtcbiAgICAgIHJldHVybjtcbiAgICB9XG5cbiAgICB0aGlzLl9saW5rc0luQ2FwdGlvbiA9IHRoaXMuX2NhcHRpb25FbGVtZW50LnF1ZXJ5U2VsZWN0b3JBbGw8SFRNTExpbmtFbGVtZW50PignYScpO1xuXG4gICAgaWYgKCF0aGlzLl9saW5rc0luQ2FwdGlvbikge1xuICAgICAgcmV0dXJuO1xuICAgIH1cblxuICAgIHRoaXMuX2FkZEZvY3VzQWJpbGl0eVRvTGlua3NJbkNhcHRpb24oKTtcbiAgfVxuXG4gIHByb3RlY3RlZCBvdmVycmlkZSBhc3luYyBmaXJzdFVwZGF0ZWQoY2hhbmdlZFByb3BlcnRpZXM6IFByb3BlcnR5VmFsdWVzPHRoaXM+KTogUHJvbWlzZTx2b2lkPiB7XG4gICAgc3VwZXIuZmlyc3RVcGRhdGVkKGNoYW5nZWRQcm9wZXJ0aWVzKTtcblxuICAgIC8vIFdlIG5lZWQgdG8gd2FpdCB1bnRpbCB0aGUgdXBkYXRlIGlzIGNvbXBsZXRlIHRvIGNoZWNrIHdoZXRoZXIgdGhlIGltYWdlIGhhcyBhbHJlYWR5IGJlZW4gY29tcGxldGVseSBsb2FkZWQuXG4gICAgYXdhaXQgdGhpcy51cGRhdGVDb21wbGV0ZTtcbiAgICBpZiAodGhpcy5jb21wbGV0ZSkge1xuICAgICAgdGhpcy50b2dnbGVBdHRyaWJ1dGUoJ2RhdGEtbG9hZGVkJywgdHJ1ZSk7XG4gICAgfVxuICB9XG5cbiAgcHJpdmF0ZSBfbG9nUGVyZm9ybWFuY2VNYXJrcygpOiB2b2lkIHtcbiAgICBpZiAodGhpcy5wZXJmb3JtYW5jZU1hcmspIHtcbiAgICAgIHBlcmZvcm1hbmNlLmNsZWFyTWFya3ModGhpcy5wZXJmb3JtYW5jZU1hcmspO1xuICAgICAgcGVyZm9ybWFuY2UubWFyayh0aGlzLnBlcmZvcm1hbmNlTWFyayk7XG4gICAgfVxuICB9XG5cbiAgcHJpdmF0ZSBfbWF0Y2hNZWRpYVF1ZXJ5RGVzaWduVG9rZW4oYnJlYWtwb2ludFNpemVOYW1lOiBzdHJpbmcpOiBzdHJpbmcge1xuICAgIGNvbnN0IHZhbHVlID0gYnJlYWtwb2ludE1hcFticmVha3BvaW50U2l6ZU5hbWVdO1xuICAgIHJldHVybiB2YWx1ZSA/IGAke3ZhbHVlfXJlbWAgOiAnJztcbiAgfVxuXG4gIHByaXZhdGUgX2FkZEZvY3VzQWJpbGl0eVRvTGlua3NJbkNhcHRpb24oKTogdm9pZCB7XG4gICAgdGhpcy5fbGlua3NJbkNhcHRpb24/LmZvckVhY2goKGxpbmspID0+IHtcbiAgICAgIGxpbmsucmVtb3ZlQXR0cmlidXRlKCd0YWJpbmRleCcpO1xuICAgIH0pO1xuICB9XG5cbiAgcHJpdmF0ZSBfcHJlcGFyZUltYWdlVXJsKGJhc2VVcmw6IHN0cmluZyB8IHVuZGVmaW5lZCwgbHF1aXAgPSBmYWxzZSk6IHN0cmluZyB7XG4gICAgaWYgKCFiYXNlVXJsIHx8IGJhc2VVcmwgPT09ICcnKSB7XG4gICAgICByZXR1cm4gJyc7XG4gICAgfVxuXG4gICAgLy8gQ3JlYXRpbmcgYW4gVVJMIHdpdGhvdXQgYSBzY2hlbWEgd2lsbCBmYWlsLCBidXQgaXMgYSB2YWxpZCBpbnB1dCBmb3IgYmFzZVVybC5cbiAgICAvLyBlLmcuIGltYWdlLXNyYyBjYW4gYmUgaHR0cHM6Ly9leGFtcGxlLmNvbS9teS1pbWFnZS5wbmcgb3IgL215LWltYWdlLnBuZ1xuICAgIGNvbnN0IGlzRnVsbHlRdWFsaWZpZWRVcmwgPSAhIWJhc2VVcmwubWF0Y2goL15cXHcrOlxcL1xcLy8pO1xuICAgIGNvbnN0IGltYWdlVXJsT2JqID0gaXNGdWxseVF1YWxpZmllZFVybCA/IG5ldyBVUkwoYmFzZVVybCkgOiBuZXcgVVJMKGBodHRwOi8vbm9vcC8ke2Jhc2VVcmx9YCk7XG5cbiAgICBpZiAobHF1aXApIHtcbiAgICAgIC8vIGJsdXIgYW5kIHNpemU6ID9ibHVyPTEwMCZ3PTEwMCZoPTU2XG4gICAgICBpbWFnZVVybE9iai5zZWFyY2hQYXJhbXMuYXBwZW5kKCdibHVyJywgJzEwMCcpO1xuICAgICAgaW1hZ2VVcmxPYmouc2VhcmNoUGFyYW1zLmFwcGVuZCgndycsICcxMDAnKTtcbiAgICAgIGltYWdlVXJsT2JqLnNlYXJjaFBhcmFtcy5hcHBlbmQoJ2gnLCAnNTYnKTtcbiAgICB9IGVsc2Uge1xuICAgICAgLy8gQ0ROIEluZm9ybWF0aW9uOiBodHRwczovL2RvY3MuaW1naXguY29tL2FwaXMvcmVuZGVyaW5nXG4gICAgICAvLyBwYXJhbS5hdXRvOiA/YXV0bz1mb3JtYXQsY29tcHJlc3MsY3M9dGlueXNyZ2JcbiAgICAgIGltYWdlVXJsT2JqLnNlYXJjaFBhcmFtcy5hcHBlbmQoJ2F1dG8nLCAnZm9ybWF0LGNvbXByZXNzLGNzPXRpbnlzcmdiJyk7XG4gICAgfVxuXG4gICAgaWYgKHRoaXMuY3VzdG9tRm9jYWxQb2ludCkge1xuICAgICAgLy8gY3JvcDogYCZmaXQ9Y3JvcCZjcm9wPWZvY2FscG9pbnQmZnAteD0ke3RoaXMuZm9jYWxQb2ludFh9JmZwLXk9JHt0aGlzLmZvY2FsUG9pbnRZfSZmcC16PTFgLFxuICAgICAgaW1hZ2VVcmxPYmouc2VhcmNoUGFyYW1zLmFwcGVuZCgnZml0JywgJ2Nyb3AnKTtcbiAgICAgIGltYWdlVXJsT2JqLnNlYXJjaFBhcmFtcy5hcHBlbmQoJ2Nyb3AnLCAnZm9jYWxwb2ludCcpO1xuICAgICAgaW1hZ2VVcmxPYmouc2VhcmNoUGFyYW1zLmFwcGVuZCgnZnAteCcsIHRoaXMuZm9jYWxQb2ludFgudG9TdHJpbmcoMTApKTtcbiAgICAgIGltYWdlVXJsT2JqLnNlYXJjaFBhcmFtcy5hcHBlbmQoJ2ZwLXknLCB0aGlzLmZvY2FsUG9pbnRZLnRvU3RyaW5nKDEwKSk7XG4gICAgICBpbWFnZVVybE9iai5zZWFyY2hQYXJhbXMuYXBwZW5kKCdmcC16JywgJzEnKTtcbiAgICB9XG5cbiAgICBpZiAodGhpcy5mb2NhbFBvaW50RGVidWcpIHtcbiAgICAgIC8vIGZvY2FsUG9pbnREZWJ1ZzogJyZmcC1kZWJ1Zz10cnVlJ1xuICAgICAgaW1hZ2VVcmxPYmouc2VhcmNoUGFyYW1zLmFwcGVuZCgnZnAtZGVidWcnLCAndHJ1ZScpO1xuICAgIH1cblxuICAgIC8vIEluIGNhc2Ugb2YgXCJub29wXCIgaG9zdCwgd2UgZG9uJ3QgcmV0dXJuIHRoZSBob3N0IGFuZCBtdXN0IHJlbW92ZSB0aGVcbiAgICAvLyBzdGFydGluZyBgL2Agb2YgdGhlIHBhdGhuYW1lLlxuICAgIHJldHVybiBpc0Z1bGx5UXVhbGlmaWVkVXJsXG4gICAgICA/IGltYWdlVXJsT2JqLmhyZWZcbiAgICAgIDogaW1hZ2VVcmxPYmoucGF0aG5hbWUuc3Vic3RyaW5nKDEpICsgaW1hZ2VVcmxPYmouc2VhcmNoO1xuICB9XG5cbiAgcHJpdmF0ZSBfcHJlcGFyZVBpY3R1cmVTaXplQ29uZmlncygpOiBJbnRlcmZhY2VJbWFnZUF0dHJpYnV0ZXNTaXplc0NvbmZpZ0JyZWFrcG9pbnRbXSB7XG4gICAgbGV0IHBpY3R1cmVTaXplc0NvbmZpZztcblxuICAgIGlmICh0aGlzLnBpY3R1cmVTaXplc0NvbmZpZykge1xuICAgICAgcGljdHVyZVNpemVzQ29uZmlnID0gdGhpcy5waWN0dXJlU2l6ZXNDb25maWc7XG4gICAgfSBlbHNlIHtcbiAgICAgIC8vIGRlZmF1bHQgY29uZmlnXG4gICAgICBwaWN0dXJlU2l6ZXNDb25maWcgPSBge1xuICAgICAgICBcImJyZWFrcG9pbnRzXCI6IFtcbiAgICAgICAgICB7XG4gICAgICAgICAgICBcImltYWdlXCI6IHtcbiAgICAgICAgICAgICAgXCJoZWlnaHRcIjogNjc1LFxuICAgICAgICAgICAgICBcIndpZHRoXCI6IDEyMDBcbiAgICAgICAgICAgIH0sXG4gICAgICAgICAgICBcIm1lZGlhUXVlcmllc1wiOiBbXG4gICAgICAgICAgICAgIHtcbiAgICAgICAgICAgICAgICBcImNvbmRpdGlvbkZlYXR1cmVcIjogXCJtaW4td2lkdGhcIixcbiAgICAgICAgICAgICAgICBcImNvbmRpdGlvbkZlYXR1cmVWYWx1ZVwiOiB7XG4gICAgICAgICAgICAgICAgICBcImx5bmVEZXNpZ25Ub2tlblwiOiB0cnVlLFxuICAgICAgICAgICAgICAgICAgXCJ2YWx1ZVwiOiBcInNiYi1icmVha3BvaW50LWxhcmdlLW1pblwiXG4gICAgICAgICAgICAgICAgfSxcbiAgICAgICAgICAgICAgICBcImNvbmRpdGlvbk9wZXJhdG9yXCI6IGZhbHNlXG4gICAgICAgICAgICAgIH1cbiAgICAgICAgICAgIF1cbiAgICAgICAgICB9LFxuICAgICAgICAgIHtcbiAgICAgICAgICAgIFwiaW1hZ2VcIjoge1xuICAgICAgICAgICAgICBcImhlaWdodFwiOiA1NDksXG4gICAgICAgICAgICAgIFwid2lkdGhcIjogOTc2XG4gICAgICAgICAgICB9LFxuICAgICAgICAgICAgXCJtZWRpYVF1ZXJpZXNcIjogW1xuICAgICAgICAgICAgICB7XG4gICAgICAgICAgICAgICAgXCJjb25kaXRpb25GZWF0dXJlXCI6IFwibWluLXdpZHRoXCIsXG4gICAgICAgICAgICAgICAgXCJjb25kaXRpb25GZWF0dXJlVmFsdWVcIjoge1xuICAgICAgICAgICAgICAgICAgXCJseW5lRGVzaWduVG9rZW5cIjogdHJ1ZSxcbiAgICAgICAgICAgICAgICAgIFwidmFsdWVcIjogXCJzYmItYnJlYWtwb2ludC1taWNyby1taW5cIlxuICAgICAgICAgICAgICAgIH0sXG4gICAgICAgICAgICAgICAgXCJjb25kaXRpb25PcGVyYXRvclwiOiBmYWxzZVxuICAgICAgICAgICAgICB9XG4gICAgICAgICAgICBdXG4gICAgICAgICAgfSxcbiAgICAgICAgICB7XG4gICAgICAgICAgICBcImltYWdlXCI6IHtcbiAgICAgICAgICAgICAgXCJoZWlnaHRcIjogMTgwLFxuICAgICAgICAgICAgICBcIndpZHRoXCI6IDMyMFxuICAgICAgICAgICAgfSxcbiAgICAgICAgICAgIFwibWVkaWFRdWVyaWVzXCI6IFtcbiAgICAgICAgICAgICAge1xuICAgICAgICAgICAgICAgIFwiY29uZGl0aW9uRmVhdHVyZVwiOiBcIm1heC13aWR0aFwiLFxuICAgICAgICAgICAgICAgIFwiY29uZGl0aW9uRmVhdHVyZVZhbHVlXCI6IHtcbiAgICAgICAgICAgICAgICAgIFwibHluZURlc2lnblRva2VuXCI6IHRydWUsXG4gICAgICAgICAgICAgICAgICBcInZhbHVlXCI6IFwic2JiLWJyZWFrcG9pbnQtemVyby1tYXhcIlxuICAgICAgICAgICAgICAgIH0sXG4gICAgICAgICAgICAgICAgXCJjb25kaXRpb25PcGVyYXRvclwiOiBmYWxzZVxuICAgICAgICAgICAgICB9XG4gICAgICAgICAgICBdXG4gICAgICAgICAgfVxuICAgICAgICBdXG4gICAgICB9YDtcbiAgICB9XG5cbiAgICByZXR1cm4gaW1hZ2VIZWxwZXJHZXRCcmVha3BvaW50cyhwaWN0dXJlU2l6ZXNDb25maWcpO1xuICB9XG5cbiAgcHJpdmF0ZSBfY3JlYXRlTWVkaWFRdWVyeVN0cmluZyhcbiAgICBtZWRpYVF1ZXJpZXM6IEludGVyZmFjZUltYWdlQXR0cmlidXRlc1NpemVzQ29uZmlnTWVkaWFRdWVyeVtdLFxuICApOiBzdHJpbmcge1xuICAgIGxldCBtZWRpYVF1ZXJ5ID0gJyc7XG5cbiAgICBtZWRpYVF1ZXJpZXMuZm9yRWFjaCgobXEpID0+IHtcbiAgICAgIGNvbnN0IG1xQ29uZGl0aW9uID0gbXEuY29uZGl0aW9uRmVhdHVyZTtcbiAgICAgIGxldCBtcVZhbHVlO1xuXG4gICAgICBpZiAobXEuY29uZGl0aW9uRmVhdHVyZVZhbHVlLmx5bmVEZXNpZ25Ub2tlbikge1xuICAgICAgICBtcVZhbHVlID0gdGhpcy5fbWF0Y2hNZWRpYVF1ZXJ5RGVzaWduVG9rZW4obXEuY29uZGl0aW9uRmVhdHVyZVZhbHVlLnZhbHVlKTtcbiAgICAgIH0gZWxzZSB7XG4gICAgICAgIG1xVmFsdWUgPSBtcS5jb25kaXRpb25GZWF0dXJlVmFsdWUudmFsdWU7XG4gICAgICB9XG5cbiAgICAgIGNvbnN0IG1xQ29tYmluZXIgPSBtcS5jb25kaXRpb25PcGVyYXRvciA/IGAgJHttcS5jb25kaXRpb25PcGVyYXRvcn0gYCA6ICcnO1xuXG4gICAgICBtZWRpYVF1ZXJ5ICs9IGAoJHttcUNvbmRpdGlvbn06ICR7bXFWYWx1ZX0pJHttcUNvbWJpbmVyfWA7XG4gICAgfSk7XG5cbiAgICByZXR1cm4gbWVkaWFRdWVyeTtcbiAgfVxuXG4gIEBldmVudE9wdGlvbnMoZXZlbnRMaXN0ZW5lck9wdGlvbnMpXG4gIHByaXZhdGUgX2ltYWdlTG9hZGVkKCk6IHZvaWQge1xuICAgIHRoaXMuX2xvZ1BlcmZvcm1hbmNlTWFya3MoKTtcbiAgICB0aGlzLnRvZ2dsZUF0dHJpYnV0ZSgnZGF0YS1sb2FkZWQnLCB0cnVlKTtcbiAgICB0aGlzLmRpc3BhdGNoRXZlbnQobmV3IEV2ZW50KCdsb2FkJykpO1xuICB9XG5cbiAgcHJvdGVjdGVkIG92ZXJyaWRlIHJlbmRlcigpOiBUZW1wbGF0ZVJlc3VsdCB7XG4gICAgbGV0IHsgY2FwdGlvbiB9ID0gdGhpcztcbiAgICBsZXQgc2NoZW1hRGF0YSA9ICcnO1xuXG4gICAgY29uc3QgaW1hZ2VVcmxMUUlQID0gdGhpcy5fcHJlcGFyZUltYWdlVXJsKHRoaXMuaW1hZ2VTcmMsIHRydWUpO1xuICAgIGNvbnN0IGltYWdlVXJsV2l0aFBhcmFtcyA9IHRoaXMuX3ByZXBhcmVJbWFnZVVybCh0aGlzLmltYWdlU3JjLCBmYWxzZSk7XG5cbiAgICBpZiAodGhpcy5sb2FkaW5nID09PSAnbGF6eScpIHtcbiAgICAgIHRoaXMuZGVjb2RpbmcgPSAnYXN5bmMnO1xuICAgICAgdGhpcy5pbXBvcnRhbmNlID0gJ2xvdyc7XG4gICAgfVxuXG4gICAgaWYgKHRoaXMuY29weXJpZ2h0KSB7XG4gICAgICBjYXB0aW9uID0gYCR7dGhpcy5jYXB0aW9ufSDCqSR7dGhpcy5jb3B5cmlnaHR9YDtcbiAgICAgIHNjaGVtYURhdGEgPSBge1xuICAgICAgICBcIkBjb250ZXh0XCI6IFwiaHR0cHM6Ly9zY2hlbWEub3JnXCIsXG4gICAgICAgIFwiQHR5cGVcIjogXCJQaG90b2dyYXBoXCIsXG4gICAgICAgIFwiaW1hZ2VcIjogXCIke3RoaXMuaW1hZ2VTcmN9XCIsXG4gICAgICAgIFwiY29weXJpZ2h0SG9sZGVyXCI6IHtcbiAgICAgICAgICBcIkB0eXBlXCI6IFwiJHt0aGlzLmNvcHlyaWdodEhvbGRlcn1cIixcbiAgICAgICAgICBcIm5hbWVcIjogXCIke3RoaXMuY29weXJpZ2h0fVwiXG4gICAgICAgIH1cbiAgICAgIH1gO1xuICAgIH1cblxuICAgIGNvbnN0IHBpY3R1cmVTaXplQ29uZmlncyA9IHRoaXMuX3ByZXBhcmVQaWN0dXJlU2l6ZUNvbmZpZ3MoKTtcblxuICAgIC8qKlxuICAgICAqIFRoZSBhbHQgYXR0cmlidXRlIHNob3VsZCBhbHdheXMgYmUgcHJlc2VudCBmb3IgdGhlIGltZyBlbGVtZW50LlxuICAgICAqIElmIGl0IGhhcyBhbiBlbXB0eSBzdHJpbmcgYXMgaXRzIHZhbHVlLCBpdCBpcyBzaW1wbHkgaWdub3JlZFxuICAgICAqIGJ5IGFzc2lzdGl2ZSB0ZWNobm9sb2dpZXMuIElmIHdlIGxlYXZlIGl0IG91dCBjb21wbGV0ZWx5LFxuICAgICAqIHRoZXkgbWlnaHQgdHJ5IHRvIGludGVycHJldCB0aGUgaW1nIGVsZW1lbnQuXG4gICAgICovXG4gICAgcmV0dXJuIGh0bWxgXG4gICAgICA8ZmlndXJlIGNsYXNzPVwic2JiLWltYWdlX19maWd1cmVcIj5cbiAgICAgICAgPGRpdiBjbGFzcz1cInNiYi1pbWFnZV9fd3JhcHBlclwiPlxuICAgICAgICAgICR7IXRoaXMuc2tpcExxaXBcbiAgICAgICAgICAgID8gaHRtbGA8aW1nXG4gICAgICAgICAgICAgICAgYWx0PVwiXCJcbiAgICAgICAgICAgICAgICBjbGFzcz1cInNiYi1pbWFnZV9fYmx1cnJlZFwiXG4gICAgICAgICAgICAgICAgc3JjPSR7aW1hZ2VVcmxMUUlQfVxuICAgICAgICAgICAgICAgIHdpZHRoPVwiMTAwMFwiXG4gICAgICAgICAgICAgICAgaGVpZ2h0PVwiNTYyXCJcbiAgICAgICAgICAgICAgICBsb2FkaW5nPSR7dGhpcy5sb2FkaW5nID8/IG5vdGhpbmd9XG4gICAgICAgICAgICAgICAgZGVjb2Rpbmc9JHt0aGlzLmRlY29kaW5nID8/IG5vdGhpbmd9XG4gICAgICAgICAgICAgIC8+YFxuICAgICAgICAgICAgOiBub3RoaW5nfVxuXG4gICAgICAgICAgPHBpY3R1cmU+XG4gICAgICAgICAgICA8IS0tIHJlbmRlciBwaWN0dXJlIGVsZW1lbnQgc291cmNlcyAtLT5cbiAgICAgICAgICAgICR7cGljdHVyZVNpemVDb25maWdzLm1hcCgoY29uZmlnKSA9PiB7XG4gICAgICAgICAgICAgIGNvbnN0IGltYWdlSGVpZ2h0ID0gY29uZmlnLmltYWdlLmhlaWdodDtcbiAgICAgICAgICAgICAgY29uc3QgaW1hZ2VXaWR0aCA9IGNvbmZpZy5pbWFnZS53aWR0aDtcbiAgICAgICAgICAgICAgY29uc3QgbWVkaWFRdWVyeSA9IHRoaXMuX2NyZWF0ZU1lZGlhUXVlcnlTdHJpbmcoY29uZmlnLm1lZGlhUXVlcmllcyk7XG4gICAgICAgICAgICAgIHJldHVybiBbXG4gICAgICAgICAgICAgICAgaHRtbGAgPHNvdXJjZVxuICAgICAgICAgICAgICAgICAgbWVkaWE9JHtgJHttZWRpYVF1ZXJ5fWB9XG4gICAgICAgICAgICAgICAgICBzaXplcz0ke2Ake2ltYWdlV2lkdGh9cHhgfVxuICAgICAgICAgICAgICAgICAgc3Jjc2V0PSR7XG4gICAgICAgICAgICAgICAgICAgIGAke2ltYWdlVXJsV2l0aFBhcmFtc30mdz0ke2ltYWdlV2lkdGh9Jmg9JHtpbWFnZUhlaWdodH0mcT0ke3RoaXMuX2NvbmZpZy5ub25SZXRpbmFRdWFsaXR5fSAke2ltYWdlV2lkdGh9dywgYCArXG4gICAgICAgICAgICAgICAgICAgIGAke2ltYWdlVXJsV2l0aFBhcmFtc30mdz0ke2ltYWdlV2lkdGggKiAyfSZoPSR7aW1hZ2VIZWlnaHQgKiAyfSZxPSR7XG4gICAgICAgICAgICAgICAgICAgICAgdGhpcy5fY29uZmlnLnJldGluYVF1YWxpdHlcbiAgICAgICAgICAgICAgICAgICAgfSAke2ltYWdlV2lkdGggKiAyfXdgXG4gICAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICAgICAgPjwvc291cmNlPmAsXG4gICAgICAgICAgICAgIF07XG4gICAgICAgICAgICB9KX1cbiAgICAgICAgICAgIDxpbWdcbiAgICAgICAgICAgICAgYWx0PSR7dGhpcy5hbHQgfHwgJyd9XG4gICAgICAgICAgICAgIEBsb2FkPSR7dGhpcy5faW1hZ2VMb2FkZWR9XG4gICAgICAgICAgICAgIEBlcnJvcj0keygpID0+IHRoaXMuZGlzcGF0Y2hFdmVudChuZXcgRXZlbnQoJ2Vycm9yJykpfVxuICAgICAgICAgICAgICBjbGFzcz1cInNiYi1pbWFnZV9faW1nXCJcbiAgICAgICAgICAgICAgc3JjPSR7dGhpcy5pbWFnZVNyYyF9XG4gICAgICAgICAgICAgIHdpZHRoPVwiMTAwMFwiXG4gICAgICAgICAgICAgIGhlaWdodD1cIjU2MlwiXG4gICAgICAgICAgICAgIGxvYWRpbmc9JHt0aGlzLmxvYWRpbmcgPz8gbm90aGluZ31cbiAgICAgICAgICAgICAgZGVjb2Rpbmc9JHt0aGlzLmRlY29kaW5nID8/IG5vdGhpbmd9XG4gICAgICAgICAgICAgIC5mZXRjaFByaW9yaXR5PSR7dGhpcy5pbXBvcnRhbmNlID8/IG5vdGhpbmd9XG4gICAgICAgICAgICAvPlxuICAgICAgICAgIDwvcGljdHVyZT5cbiAgICAgICAgPC9kaXY+XG4gICAgICAgICR7Y2FwdGlvblxuICAgICAgICAgID8gaHRtbGA8ZmlnY2FwdGlvblxuICAgICAgICAgICAgICBjbGFzcz1cInNiYi1pbWFnZV9fY2FwdGlvblwiXG4gICAgICAgICAgICAgIC5pbm5lckhUTUw9JHtjYXB0aW9ufVxuICAgICAgICAgICAgICAke3JlZigoZWwpOiB2b2lkID0+IHtcbiAgICAgICAgICAgICAgICB0aGlzLl9jYXB0aW9uRWxlbWVudCA9IGVsIGFzIEhUTUxFbGVtZW50O1xuICAgICAgICAgICAgICB9KX1cbiAgICAgICAgICAgID48L2ZpZ2NhcHRpb24+YFxuICAgICAgICAgIDogbm90aGluZ31cbiAgICAgICAgJHtzY2hlbWFEYXRhXG4gICAgICAgICAgPyBodG1sYDxzY3JpcHQgdHlwZT1cImFwcGxpY2F0aW9uL2xkK2pzb25cIiAuaW5uZXJIVE1MPSR7c2NoZW1hRGF0YX0+PC9zY3JpcHQ+YFxuICAgICAgICAgIDogbm90aGluZ31cbiAgICAgIDwvZmlndXJlPlxuICAgIGA7XG4gIH1cbn1cblxuZGVjbGFyZSBnbG9iYWwge1xuICBpbnRlcmZhY2UgSFRNTEVsZW1lbnRUYWdOYW1lTWFwIHtcbiAgICAvLyBlc2xpbnQtZGlzYWJsZS1uZXh0LWxpbmUgQHR5cGVzY3JpcHQtZXNsaW50L25hbWluZy1jb252ZW50aW9uXG4gICAgJ3NiYi1pbWFnZSc6IFNiYkltYWdlRWxlbWVudDtcbiAgfVxufVxuIl0sIm5hbWVzIjpbIl9hIl0sIm1hcHBpbmdzIjoiOzs7O0FBc0JPLE1BQU0sdUJBQXVCO0FBQzdCLE1BQU0sdUJBQXVCO0FBQzdCLE1BQU0sd0JBQXdCO0FBQzlCLE1BQU0sd0JBQXdCO0FBQzlC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QUFBLG1CQUFBLENBQUE7QUFPOEQsZ0JBQUE7QUFBQSxFQUFwRSxTQUFTLEVBQUUsV0FBVyxzQkFBc0IsTUFBTSxTQUFTO0FBQUEsR0ExRGpELGdCQTBEMEQsV0FBQSxvQkFBQSxDQUFBO0FBU2xELGdCQUFBO0FBQUEsRUFBbEIsU0FBUztBQUFBLEdBbkVDLGdCQW1FUSxXQUFBLFlBQUEsQ0FBQTtBQU1pRCxnQkFBQTtBQUFBLEVBQW5FLFNBQVMsRUFBRSxXQUFXLHFCQUFxQixNQUFNLFNBQVM7QUFBQSxHQXpFaEQsZ0JBeUV5RCxXQUFBLG1CQUFBLENBQUE7QUFLTCxnQkFBQTtBQUFBLEVBQTlELFNBQVMsRUFBRSxXQUFXLGlCQUFpQixNQUFNLFFBQVE7QUFBQSxHQTlFM0MsZ0JBOEVvRCxXQUFBLGVBQUEsQ0FBQTtBQUtBLGdCQUFBO0FBQUEsRUFBOUQsU0FBUyxFQUFFLFdBQVcsaUJBQWlCLE1BQU0sUUFBUTtBQUFBLEdBbkYzQyxnQkFtRm9ELFdBQUEsZUFBQSxDQUFBO0FBWWxCLGdCQUFBO0FBQUEsRUFBNUMsU0FBUyxFQUFFLFdBQVcsYUFBYTtBQUFBLEdBL0Z6QixnQkErRmtDLFdBQUEsWUFBQSxDQUFBO0FBVzFCLGdCQUFBO0FBQUEsRUFBbEIsU0FBUztBQUFBLEdBMUdDLGdCQTBHUSxXQUFBLGNBQUEsQ0FBQTtBQVlBLGdCQUFBO0FBQUEsRUFBbEIsU0FBUztBQUFBLEdBdEhDLGdCQXNIUSxXQUFBLFdBQUEsQ0FBQTtBQWVpQyxnQkFBQTtBQUFBLEVBQW5ELFNBQVMsRUFBRSxXQUFXLG9CQUFvQjtBQUFBLEdBckloQyxnQkFxSXlDLFdBQUEsbUJBQUEsQ0FBQTtBQXNFSSxnQkFBQTtBQUFBLEVBQXZELFNBQVMsRUFBRSxXQUFXLHdCQUF3QjtBQUFBLEdBM01wQyxnQkEyTTZDLFdBQUEsc0JBQUEsQ0FBQTtBQUtRLGdCQUFBO0FBQUEsRUFBL0QsU0FBUyxFQUFFLFdBQVcsaUJBQWlCLFNBQVMsTUFBTTtBQUFBLEdBaE41QyxnQkFnTnFELFdBQUEsZ0JBQUEsQ0FBQTtBQVd6RCxnQkFBQTtBQUFBLEVBRE4sU0FBUyxFQUFFLFdBQVcsZ0JBQWdCLFNBQVMsTUFBTTtBQUFBLEdBMU4zQyxnQkEyTkosV0FBQSxlQUFBLENBQUE7QUEwTUMsZ0JBQUE7QUFBQSxFQURQLGFBQWEsb0JBQW9CO0FBQUEsR0FwYXZCLGdCQXFhSCxXQUFBLGdCQUFBLENBQUE7QUFyYUcsa0JBQU4sZ0JBQUE7QUFBQSxFQUROLGNBQWMsV0FBVztBQUFBLEdBQ2IsZUFBQTsiLCJ4X2dvb2dsZV9pZ25vcmVMaXN0IjpbMF19
541
+ //# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaW1hZ2UuanMiLCJzb3VyY2VzIjpbIi4uLy4uLy4uL25vZGVfbW9kdWxlcy9Ac2JiLWVzdGEvbHluZS1kZXNpZ24tdG9rZW5zL2Rpc3QvanMvc2JiLXRva2Vucy5tanMiLCIuLi8uLi8uLi9zcmMvZWxlbWVudHMvaW1hZ2UvaW1hZ2UudHMiXSwic291cmNlc0NvbnRlbnQiOlsiLyoqXG4gKiBEbyBub3QgZWRpdCBkaXJlY3RseVxuICogR2VuZXJhdGVkIG9uIE1vbiwgMDIgU2VwIDIwMjQgMTU6NDU6MTEgR01UXG4gKi9cblxuZXhwb3J0IGNvbnN0IFNiYkFuaW1hdGlvbkR1cmF0aW9uMXggPSA0MDtcbmV4cG9ydCBjb25zdCBTYmJBbmltYXRpb25EdXJhdGlvbjJ4ID0gODA7XG5leHBvcnQgY29uc3QgU2JiQW5pbWF0aW9uRHVyYXRpb24zeCA9IDEyMDtcbmV4cG9ydCBjb25zdCBTYmJBbmltYXRpb25EdXJhdGlvbjR4ID0gMTYwO1xuZXhwb3J0IGNvbnN0IFNiYkFuaW1hdGlvbkR1cmF0aW9uNXggPSAyMDA7XG5leHBvcnQgY29uc3QgU2JiQW5pbWF0aW9uRHVyYXRpb242eCA9IDI0MDtcbmV4cG9ydCBjb25zdCBTYmJBbmltYXRpb25EdXJhdGlvbjEyeCA9IDQ4MDtcbmV4cG9ydCBjb25zdCBTYmJBbmltYXRpb25FYXNpbmcgPSBcImN1YmljLWJlemllciguNDcsIC4xLCAxLCAuNjMpXCI7XG5leHBvcnQgY29uc3QgU2JiQm9yZGVyV2lkdGgxeCA9IDE7XG5leHBvcnQgY29uc3QgU2JiQm9yZGVyV2lkdGgyeCA9IDI7XG5leHBvcnQgY29uc3QgU2JiQm9yZGVyV2lkdGgzeCA9IDM7XG5leHBvcnQgY29uc3QgU2JiQm9yZGVyUmFkaXVzMXggPSAyO1xuZXhwb3J0IGNvbnN0IFNiYkJvcmRlclJhZGl1czJ4ID0gNDtcbmV4cG9ydCBjb25zdCBTYmJCb3JkZXJSYWRpdXM0eCA9IDg7XG5leHBvcnQgY29uc3QgU2JiQm9yZGVyUmFkaXVzNnggPSAxMjtcbmV4cG9ydCBjb25zdCBTYmJCb3JkZXJSYWRpdXM4eCA9IDE2O1xuZXhwb3J0IGNvbnN0IFNiYkJvcmRlclJhZGl1czE2eCA9IDMyO1xuZXhwb3J0IGNvbnN0IFNiYkJyZWFrcG9pbnRaZXJvTWluID0gMDtcbmV4cG9ydCBjb25zdCBTYmJCcmVha3BvaW50WmVyb01heCA9IDM1OTtcbmV4cG9ydCBjb25zdCBTYmJCcmVha3BvaW50TWljcm9NaW4gPSAzNjA7XG5leHBvcnQgY29uc3QgU2JiQnJlYWtwb2ludE1pY3JvTWF4ID0gNTk5O1xuZXhwb3J0IGNvbnN0IFNiYkJyZWFrcG9pbnRTbWFsbE1pbiA9IDYwMDtcbmV4cG9ydCBjb25zdCBTYmJCcmVha3BvaW50U21hbGxNYXggPSA4Mzk7XG5leHBvcnQgY29uc3QgU2JiQnJlYWtwb2ludE1lZGl1bU1pbiA9IDg0MDtcbmV4cG9ydCBjb25zdCBTYmJCcmVha3BvaW50TWVkaXVtTWF4ID0gMTAyMztcbmV4cG9ydCBjb25zdCBTYmJCcmVha3BvaW50TGFyZ2VNaW4gPSAxMDI0O1xuZXhwb3J0IGNvbnN0IFNiYkJyZWFrcG9pbnRMYXJnZU1heCA9IDEyNzk7XG5leHBvcnQgY29uc3QgU2JiQnJlYWtwb2ludFdpZGVNaW4gPSAxMjgwO1xuZXhwb3J0IGNvbnN0IFNiYkJyZWFrcG9pbnRXaWRlTWF4ID0gMTQzOTtcbmV4cG9ydCBjb25zdCBTYmJCcmVha3BvaW50VWx0cmFNaW4gPSAxNDQwO1xuZXhwb3J0IGNvbnN0IFNiYkJyZWFrcG9pbnRVbHRyYU1heCA9IDI1Nzk7XG5leHBvcnQgY29uc3QgU2JiQ29sb3JCbGFjayA9IFwiIzAwMDAwMFwiO1xuZXhwb3J0IGNvbnN0IFNiYkNvbG9yQmxhY2tBbHBoYTAgPSBcInJnYmEoMCwgMCwgMCwgMClcIjtcbmV4cG9ydCBjb25zdCBTYmJDb2xvckJsYWNrQWxwaGExMCA9IFwicmdiYSgwLCAwLCAwLCAwLjEpXCI7XG5leHBvcnQgY29uc3QgU2JiQ29sb3JCbGFja0FscGhhMTUgPSBcInJnYmEoMCwgMCwgMCwgMC4xNSlcIjtcbmV4cG9ydCBjb25zdCBTYmJDb2xvckJsYWNrQWxwaGEyMCA9IFwicmdiYSgwLCAwLCAwLCAwLjIpXCI7XG5leHBvcnQgY29uc3QgU2JiQ29sb3JCbGFja0FscGhhMzAgPSBcInJnYmEoMCwgMCwgMCwgMC4zKVwiO1xuZXhwb3J0IGNvbnN0IFNiYkNvbG9yQmxhY2tBbHBoYTQwID0gXCJyZ2JhKDAsIDAsIDAsIDAuNClcIjtcbmV4cG9ydCBjb25zdCBTYmJDb2xvckJsYWNrQWxwaGE1MCA9IFwicmdiYSgwLCAwLCAwLCAwLjUpXCI7XG5leHBvcnQgY29uc3QgU2JiQ29sb3JCbGFja0FscGhhNjAgPSBcInJnYmEoMCwgMCwgMCwgMC42KVwiO1xuZXhwb3J0IGNvbnN0IFNiYkNvbG9yQmxhY2tBbHBoYTcwID0gXCJyZ2JhKDAsIDAsIDAsIDAuNylcIjtcbmV4cG9ydCBjb25zdCBTYmJDb2xvck1pZG5pZ2h0ID0gXCIjMTUxNTE1XCI7XG5leHBvcnQgY29uc3QgU2JiQ29sb3JDaGFyY29hbCA9IFwiIzIxMjEyMVwiO1xuZXhwb3J0IGNvbnN0IFNiYkNvbG9ySXJvbiA9IFwiIzQ0NDQ0NFwiO1xuZXhwb3J0IGNvbnN0IFNiYkNvbG9yQW50aHJhY2l0ZSA9IFwiIzVhNWE1YVwiO1xuZXhwb3J0IGNvbnN0IFNiYkNvbG9yR3Jhbml0ZSA9IFwiIzY4Njg2OFwiO1xuZXhwb3J0IGNvbnN0IFNiYkNvbG9yTWV0YWwgPSBcIiM3Njc2NzZcIjtcbmV4cG9ydCBjb25zdCBTYmJDb2xvck1ldGFsQWxwaGEwID0gXCJyZ2JhKDExOCwgMTE4LCAxMTgsIDApXCI7XG5leHBvcnQgY29uc3QgU2JiQ29sb3JNZXRhbEFscGhhMjAgPSBcInJnYmEoMTE4LCAxMTgsIDExOCwgMC4yKVwiO1xuZXhwb3J0IGNvbnN0IFNiYkNvbG9yU21va2UgPSBcIiM4ZDhkOGRcIjtcbmV4cG9ydCBjb25zdCBTYmJDb2xvclNtb2tlQWxwaGEwID0gXCJyZ2JhKDE0MSwgMTQxLCAxNDEsIDApXCI7XG5leHBvcnQgY29uc3QgU2JiQ29sb3JTbW9rZUFscGhhNSA9IFwicmdiYSgxNDEsIDE0MSwgMTQxLCAwLjA1KVwiO1xuZXhwb3J0IGNvbnN0IFNiYkNvbG9yU21va2VBbHBoYTEwID0gXCJyZ2JhKDE0MSwgMTQxLCAxNDEsIDAuMSlcIjtcbmV4cG9ydCBjb25zdCBTYmJDb2xvclNtb2tlQWxwaGEyMCA9IFwicmdiYSgxNDEsIDE0MSwgMTQxLCAwLjIpXCI7XG5leHBvcnQgY29uc3QgU2JiQ29sb3JTdG9ybSA9IFwiI2E4YThhOFwiO1xuZXhwb3J0IGNvbnN0IFNiYkNvbG9yR3JhcGhpdGUgPSBcIiNiN2I3YjdcIjtcbmV4cG9ydCBjb25zdCBTYmJDb2xvckNlbWVudCA9IFwiI2JkYmRiZFwiO1xuZXhwb3J0IGNvbnN0IFNiYkNvbG9yQ2VtZW50QWxwaGEwID0gXCJyZ2JhKDE4OSwgMTg5LCAxODksIDApXCI7XG5leHBvcnQgY29uc3QgU2JiQ29sb3JDZW1lbnRBbHBoYTIwID0gXCJyZ2JhKDE4OSwgMTg5LCAxODksIDAuMilcIjtcbmV4cG9ydCBjb25zdCBTYmJDb2xvclBsYXRpbnVtID0gXCIjY2RjZGNkXCI7XG5leHBvcnQgY29uc3QgU2JiQ29sb3JQbGF0aW51bUFscGhhMCA9IFwicmdiYSgyMDUsIDIwNSwgMjA1LCAwKVwiO1xuZXhwb3J0IGNvbnN0IFNiYkNvbG9yUGxhdGludW1BbHBoYTIwID0gXCJyZ2JhKDIwNSwgMjA1LCAyMDUsIDAuMilcIjtcbmV4cG9ydCBjb25zdCBTYmJDb2xvckFsdW1pbml1bSA9IFwiI2QyZDJkMlwiO1xuZXhwb3J0IGNvbnN0IFNiYkNvbG9yU2lsdmVyID0gXCIjZGNkY2RjXCI7XG5leHBvcnQgY29uc3QgU2JiQ29sb3JDbG91ZCA9IFwiI2U1ZTVlNVwiO1xuZXhwb3J0IGNvbnN0IFNiYkNvbG9yQ2xvdWRBbHBoYTgwID0gXCJyZ2JhKDIyOSwgMjI5LCAyMjksIDAuOClcIjtcbmV4cG9ydCBjb25zdCBTYmJDb2xvck1pbGsgPSBcIiNmNmY2ZjZcIjtcbmV4cG9ydCBjb25zdCBTYmJDb2xvclJlZCA9IFwiI2ViMDAwMFwiO1xuZXhwb3J0IGNvbnN0IFNiYkNvbG9yUmVkQWxwaGEwID0gXCJyZ2JhKDIzNSwgMCwgMCwgMClcIjtcbmV4cG9ydCBjb25zdCBTYmJDb2xvclJlZEFscGhhMjAgPSBcInJnYmEoMjM1LCAwLCAwLCAwLjIpXCI7XG5leHBvcnQgY29uc3QgU2JiQ29sb3JSZWRBbHBoYTkwID0gXCJyZ2JhKDIzNSwgMCwgMCwgMC45KVwiO1xuZXhwb3J0IGNvbnN0IFNiYkNvbG9yUmVkTW9kZURhcmsgPSBcIiNmZjM4MzhcIjtcbmV4cG9ydCBjb25zdCBTYmJDb2xvclJlZDEyNSA9IFwiI2M2MDAxOFwiO1xuZXhwb3J0IGNvbnN0IFNiYkNvbG9yUmVkMTI1QWxwaGEwID0gXCJyZ2JhKDE5OCwgMCwgMjQsIDApXCI7XG5leHBvcnQgY29uc3QgU2JiQ29sb3JSZWQxMjVBbHBoYTIwID0gXCJyZ2JhKDE5OCwgMCwgMjQsIDAuMilcIjtcbmV4cG9ydCBjb25zdCBTYmJDb2xvclJlZDE1MCA9IFwiI2EyMDAxM1wiO1xuZXhwb3J0IGNvbnN0IFNiYkNvbG9yV2hpdGUgPSBcIiNmZmZmZmZcIjtcbmV4cG9ydCBjb25zdCBTYmJDb2xvcldoaXRlQWxwaGEwID0gXCJyZ2JhKDI1NSwgMjU1LCAyNTUsIDApXCI7XG5leHBvcnQgY29uc3QgU2JiQ29sb3JXaGl0ZUFscGhhMjAgPSBcInJnYmEoMjU1LCAyNTUsIDI1NSwgMC4yKVwiO1xuZXhwb3J0IGNvbnN0IFNiYkNvbG9yV2hpdGVBbHBoYTMwID0gXCJyZ2JhKDI1NSwgMjU1LCAyNTUsIDAuMylcIjtcbmV4cG9ydCBjb25zdCBTYmJDb2xvcldoaXRlQWxwaGE1MCA9IFwicmdiYSgyNTUsIDI1NSwgMjU1LCAwLjUpXCI7XG5leHBvcnQgY29uc3QgU2JiQ29sb3JXaGl0ZUFscGhhNjAgPSBcInJnYmEoMjU1LCAyNTUsIDI1NSwgMC42KVwiO1xuZXhwb3J0IGNvbnN0IFNiYkNvbG9yV2hpdGVBbHBoYTcwID0gXCJyZ2JhKDI1NSwgMjU1LCAyNTUsIDAuNylcIjtcbmV4cG9ydCBjb25zdCBTYmJDb2xvclNreSA9IFwiIzAwNzljN1wiO1xuZXhwb3J0IGNvbnN0IFNiYkNvbG9yTmlnaHQgPSBcIiMxNDNhODVcIjtcbmV4cG9ydCBjb25zdCBTYmJDb2xvclZpb2xldCA9IFwiIzZmMjI4MlwiO1xuZXhwb3J0IGNvbnN0IFNiYkNvbG9yUGluayA9IFwiI2NmNDA4MlwiO1xuZXhwb3J0IGNvbnN0IFNiYkNvbG9yQXV0dW1uID0gXCIjZTg0ZTEwXCI7XG5leHBvcnQgY29uc3QgU2JiQ29sb3JPcmFuZ2UgPSBcIiNmMjdlMDBcIjtcbmV4cG9ydCBjb25zdCBTYmJDb2xvclBlYWNoID0gXCIjZmNiYjAwXCI7XG5leHBvcnQgY29uc3QgU2JiQ29sb3JMZW1vbiA9IFwiI2ZmZGUxNVwiO1xuZXhwb3J0IGNvbnN0IFNiYkNvbG9yQnJvd24gPSBcIiNiNzYwMDBcIjtcbmV4cG9ydCBjb25zdCBTYmJDb2xvckdyZWVuID0gXCIjMDA4YTM2XCI7XG5leHBvcnQgY29uc3QgU2JiQ29sb3JUdXJxdW9pc2UgPSBcIiMwMGE1OWJcIjtcbmV4cG9ydCBjb25zdCBTYmJGb2N1c091dGxpbmVPZmZzZXQgPSAzO1xuZXhwb3J0IGNvbnN0IFNiYkhvdmVySW1hZ2VCcmlnaHRuZXNzID0gMS4wNzU7XG5leHBvcnQgY29uc3QgU2JiTGF5b3V0QmFzZUdyaWRDb2x1bW5zWmVybyA9IDQ7XG5leHBvcnQgY29uc3QgU2JiTGF5b3V0QmFzZUdyaWRDb2x1bW5zTWljcm8gPSA0O1xuZXhwb3J0IGNvbnN0IFNiYkxheW91dEJhc2VHcmlkQ29sdW1uc1NtYWxsID0gNDtcbmV4cG9ydCBjb25zdCBTYmJMYXlvdXRCYXNlR3JpZENvbHVtbnNNZWRpdW0gPSA4O1xuZXhwb3J0IGNvbnN0IFNiYkxheW91dEJhc2VHcmlkQ29sdW1uc0xhcmdlID0gODtcbmV4cG9ydCBjb25zdCBTYmJMYXlvdXRCYXNlR3JpZENvbHVtbnNXaWRlID0gMTI7XG5leHBvcnQgY29uc3QgU2JiTGF5b3V0QmFzZUdyaWRDb2x1bW5zVWx0cmEgPSAxNjtcbmV4cG9ydCBjb25zdCBTYmJMYXlvdXRCYXNlR3JpZEd1dHRlclJlc3BvbnNpdmVaZXJvID0gMTY7XG5leHBvcnQgY29uc3QgU2JiTGF5b3V0QmFzZUdyaWRHdXR0ZXJSZXNwb25zaXZlTWljcm8gPSAxNjtcbmV4cG9ydCBjb25zdCBTYmJMYXlvdXRCYXNlR3JpZEd1dHRlclJlc3BvbnNpdmVTbWFsbCA9IDI0O1xuZXhwb3J0IGNvbnN0IFNiYkxheW91dEJhc2VHcmlkR3V0dGVyUmVzcG9uc2l2ZU1lZGl1bSA9IDI0O1xuZXhwb3J0IGNvbnN0IFNiYkxheW91dEJhc2VHcmlkR3V0dGVyUmVzcG9uc2l2ZUxhcmdlID0gMzI7XG5leHBvcnQgY29uc3QgU2JiTGF5b3V0QmFzZUdyaWRHdXR0ZXJSZXNwb25zaXZlV2lkZSA9IDMyO1xuZXhwb3J0IGNvbnN0IFNiYkxheW91dEJhc2VHcmlkR3V0dGVyUmVzcG9uc2l2ZVVsdHJhID0gMzI7XG5leHBvcnQgY29uc3QgU2JiTGF5b3V0QmFzZU9mZnNldFJlc3BvbnNpdmVaZXJvID0gMTY7XG5leHBvcnQgY29uc3QgU2JiTGF5b3V0QmFzZU9mZnNldFJlc3BvbnNpdmVNaWNybyA9IDIwO1xuZXhwb3J0IGNvbnN0IFNiYkxheW91dEJhc2VPZmZzZXRSZXNwb25zaXZlU21hbGwgPSA0ODtcbmV4cG9ydCBjb25zdCBTYmJMYXlvdXRCYXNlT2Zmc2V0UmVzcG9uc2l2ZU1lZGl1bSA9IDU2O1xuZXhwb3J0IGNvbnN0IFNiYkxheW91dEJhc2VPZmZzZXRSZXNwb25zaXZlTGFyZ2UgPSA2NDtcbmV4cG9ydCBjb25zdCBTYmJMYXlvdXRCYXNlT2Zmc2V0UmVzcG9uc2l2ZVdpZGUgPSA3MjtcbmV4cG9ydCBjb25zdCBTYmJMYXlvdXRCYXNlT2Zmc2V0UmVzcG9uc2l2ZVVsdHJhID0gMTIwO1xuZXhwb3J0IGNvbnN0IFNiYkxheW91dEJhc2VQYWdlTWF4V2lkdGggPSAxMjAwO1xuZXhwb3J0IGNvbnN0IFNiYlNoYWRvd0VsZXZhdGlvbkxldmVsM1NoYWRvdzFPZmZzZXRYID0gMDtcbmV4cG9ydCBjb25zdCBTYmJTaGFkb3dFbGV2YXRpb25MZXZlbDNTaGFkb3cxT2Zmc2V0WSA9IDI7XG5leHBvcnQgY29uc3QgU2JiU2hhZG93RWxldmF0aW9uTGV2ZWwzU2hhZG93MUJsdXIgPSAxNjtcbmV4cG9ydCBjb25zdCBTYmJTaGFkb3dFbGV2YXRpb25MZXZlbDNTaGFkb3cxU3ByZWFkID0gMDtcbmV4cG9ydCBjb25zdCBTYmJTaGFkb3dFbGV2YXRpb25MZXZlbDNTaGFkb3cyT2Zmc2V0WCA9IDA7XG5leHBvcnQgY29uc3QgU2JiU2hhZG93RWxldmF0aW9uTGV2ZWwzU2hhZG93Mk9mZnNldFkgPSAxO1xuZXhwb3J0IGNvbnN0IFNiYlNoYWRvd0VsZXZhdGlvbkxldmVsM1NoYWRvdzJCbHVyID0gNDtcbmV4cG9ydCBjb25zdCBTYmJTaGFkb3dFbGV2YXRpb25MZXZlbDNTaGFkb3cyU3ByZWFkID0gMDtcbmV4cG9ydCBjb25zdCBTYmJTaGFkb3dFbGV2YXRpb25MZXZlbDNTb2Z0MUNvbG9yID0gXCJyZ2JhKDE0MSwgMTQxLCAxNDEsIDAuMDUpXCI7XG5leHBvcnQgY29uc3QgU2JiU2hhZG93RWxldmF0aW9uTGV2ZWwzU29mdDJDb2xvciA9IFwicmdiYSgxNDEsIDE0MSwgMTQxLCAwLjEpXCI7XG5leHBvcnQgY29uc3QgU2JiU2hhZG93RWxldmF0aW9uTGV2ZWwzU29mdE5lZ2F0aXZlMUNvbG9yID0gXCJyZ2JhKDAsIDAsIDAsIDAuMTUpXCI7XG5leHBvcnQgY29uc3QgU2JiU2hhZG93RWxldmF0aW9uTGV2ZWwzU29mdE5lZ2F0aXZlMkNvbG9yID0gXCJyZ2JhKDAsIDAsIDAsIDAuMilcIjtcbmV4cG9ydCBjb25zdCBTYmJTaGFkb3dFbGV2YXRpb25MZXZlbDNIYXJkMUNvbG9yID0gXCJyZ2JhKDE0MSwgMTQxLCAxNDEsIDAuMSlcIjtcbmV4cG9ydCBjb25zdCBTYmJTaGFkb3dFbGV2YXRpb25MZXZlbDNIYXJkMkNvbG9yID0gXCJyZ2JhKDE0MSwgMTQxLCAxNDEsIDAuMilcIjtcbmV4cG9ydCBjb25zdCBTYmJTaGFkb3dFbGV2YXRpb25MZXZlbDNIYXJkTmVnYXRpdmUxQ29sb3IgPSBcInJnYmEoMCwgMCwgMCwgMC4zKVwiO1xuZXhwb3J0IGNvbnN0IFNiYlNoYWRvd0VsZXZhdGlvbkxldmVsM0hhcmROZWdhdGl2ZTJDb2xvciA9IFwicmdiYSgwLCAwLCAwLCAwLjQpXCI7XG5leHBvcnQgY29uc3QgU2JiU2hhZG93RWxldmF0aW9uTGV2ZWw1U2hhZG93MU9mZnNldFggPSAwO1xuZXhwb3J0IGNvbnN0IFNiYlNoYWRvd0VsZXZhdGlvbkxldmVsNVNoYWRvdzFPZmZzZXRZID0gNDtcbmV4cG9ydCBjb25zdCBTYmJTaGFkb3dFbGV2YXRpb25MZXZlbDVTaGFkb3cxQmx1ciA9IDMyO1xuZXhwb3J0IGNvbnN0IFNiYlNoYWRvd0VsZXZhdGlvbkxldmVsNVNoYWRvdzFTcHJlYWQgPSAwO1xuZXhwb3J0IGNvbnN0IFNiYlNoYWRvd0VsZXZhdGlvbkxldmVsNVNoYWRvdzJPZmZzZXRYID0gMDtcbmV4cG9ydCBjb25zdCBTYmJTaGFkb3dFbGV2YXRpb25MZXZlbDVTaGFkb3cyT2Zmc2V0WSA9IDE7XG5leHBvcnQgY29uc3QgU2JiU2hhZG93RWxldmF0aW9uTGV2ZWw1U2hhZG93MkJsdXIgPSA4O1xuZXhwb3J0IGNvbnN0IFNiYlNoYWRvd0VsZXZhdGlvbkxldmVsNVNoYWRvdzJTcHJlYWQgPSAwO1xuZXhwb3J0IGNvbnN0IFNiYlNoYWRvd0VsZXZhdGlvbkxldmVsNVNvZnQxQ29sb3IgPSBcInJnYmEoMTQxLCAxNDEsIDE0MSwgMC4wNSlcIjtcbmV4cG9ydCBjb25zdCBTYmJTaGFkb3dFbGV2YXRpb25MZXZlbDVTb2Z0MkNvbG9yID0gXCJyZ2JhKDE0MSwgMTQxLCAxNDEsIDAuMSlcIjtcbmV4cG9ydCBjb25zdCBTYmJTaGFkb3dFbGV2YXRpb25MZXZlbDVTb2Z0TmVnYXRpdmUxQ29sb3IgPSBcInJnYmEoMCwgMCwgMCwgMC4xNSlcIjtcbmV4cG9ydCBjb25zdCBTYmJTaGFkb3dFbGV2YXRpb25MZXZlbDVTb2Z0TmVnYXRpdmUyQ29sb3IgPSBcInJnYmEoMCwgMCwgMCwgMC4yKVwiO1xuZXhwb3J0IGNvbnN0IFNiYlNoYWRvd0VsZXZhdGlvbkxldmVsNUhhcmQxQ29sb3IgPSBcInJnYmEoMTQxLCAxNDEsIDE0MSwgMC4xKVwiO1xuZXhwb3J0IGNvbnN0IFNiYlNoYWRvd0VsZXZhdGlvbkxldmVsNUhhcmQyQ29sb3IgPSBcInJnYmEoMTQxLCAxNDEsIDE0MSwgMC4yKVwiO1xuZXhwb3J0IGNvbnN0IFNiYlNoYWRvd0VsZXZhdGlvbkxldmVsNUhhcmROZWdhdGl2ZTFDb2xvciA9IFwicmdiYSgwLCAwLCAwLCAwLjMpXCI7XG5leHBvcnQgY29uc3QgU2JiU2hhZG93RWxldmF0aW9uTGV2ZWw1SGFyZE5lZ2F0aXZlMkNvbG9yID0gXCJyZ2JhKDAsIDAsIDAsIDAuNClcIjtcbmV4cG9ydCBjb25zdCBTYmJTaGFkb3dFbGV2YXRpb25MZXZlbDlTaGFkb3cxT2Zmc2V0WCA9IDA7XG5leHBvcnQgY29uc3QgU2JiU2hhZG93RWxldmF0aW9uTGV2ZWw5U2hhZG93MU9mZnNldFkgPSAxNjtcbmV4cG9ydCBjb25zdCBTYmJTaGFkb3dFbGV2YXRpb25MZXZlbDlTaGFkb3cxQmx1ciA9IDEyODtcbmV4cG9ydCBjb25zdCBTYmJTaGFkb3dFbGV2YXRpb25MZXZlbDlTaGFkb3cxU3ByZWFkID0gMDtcbmV4cG9ydCBjb25zdCBTYmJTaGFkb3dFbGV2YXRpb25MZXZlbDlTaGFkb3cyT2Zmc2V0WCA9IDA7XG5leHBvcnQgY29uc3QgU2JiU2hhZG93RWxldmF0aW9uTGV2ZWw5U2hhZG93Mk9mZnNldFkgPSA0O1xuZXhwb3J0IGNvbnN0IFNiYlNoYWRvd0VsZXZhdGlvbkxldmVsOVNoYWRvdzJCbHVyID0gMzI7XG5leHBvcnQgY29uc3QgU2JiU2hhZG93RWxldmF0aW9uTGV2ZWw5U2hhZG93MlNwcmVhZCA9IDA7XG5leHBvcnQgY29uc3QgU2JiU2hhZG93RWxldmF0aW9uTGV2ZWw5U29mdDFDb2xvciA9IFwicmdiYSgxNDEsIDE0MSwgMTQxLCAwLjA1KVwiO1xuZXhwb3J0IGNvbnN0IFNiYlNoYWRvd0VsZXZhdGlvbkxldmVsOVNvZnQyQ29sb3IgPSBcInJnYmEoMTQxLCAxNDEsIDE0MSwgMC4xKVwiO1xuZXhwb3J0IGNvbnN0IFNiYlNoYWRvd0VsZXZhdGlvbkxldmVsOVNvZnROZWdhdGl2ZTFDb2xvciA9IFwicmdiYSgwLCAwLCAwLCAwLjE1KVwiO1xuZXhwb3J0IGNvbnN0IFNiYlNoYWRvd0VsZXZhdGlvbkxldmVsOVNvZnROZWdhdGl2ZTJDb2xvciA9IFwicmdiYSgwLCAwLCAwLCAwLjIpXCI7XG5leHBvcnQgY29uc3QgU2JiU2hhZG93RWxldmF0aW9uTGV2ZWw5SGFyZDFDb2xvciA9IFwicmdiYSgxNDEsIDE0MSwgMTQxLCAwLjEpXCI7XG5leHBvcnQgY29uc3QgU2JiU2hhZG93RWxldmF0aW9uTGV2ZWw5SGFyZDJDb2xvciA9IFwicmdiYSgxNDEsIDE0MSwgMTQxLCAwLjIpXCI7XG5leHBvcnQgY29uc3QgU2JiU2hhZG93RWxldmF0aW9uTGV2ZWw5SGFyZE5lZ2F0aXZlMUNvbG9yID0gXCJyZ2JhKDAsIDAsIDAsIDAuMylcIjtcbmV4cG9ydCBjb25zdCBTYmJTaGFkb3dFbGV2YXRpb25MZXZlbDlIYXJkTmVnYXRpdmUyQ29sb3IgPSBcInJnYmEoMCwgMCwgMCwgMC40KVwiO1xuZXhwb3J0IGNvbnN0IFNiYlNoYWRvd0VsZXZhdGlvbkxldmVsMTFTaGFkb3cxT2Zmc2V0WCA9IDA7XG5leHBvcnQgY29uc3QgU2JiU2hhZG93RWxldmF0aW9uTGV2ZWwxMVNoYWRvdzFPZmZzZXRZID0gMjQ7XG5leHBvcnQgY29uc3QgU2JiU2hhZG93RWxldmF0aW9uTGV2ZWwxMVNoYWRvdzFCbHVyID0gMTkyO1xuZXhwb3J0IGNvbnN0IFNiYlNoYWRvd0VsZXZhdGlvbkxldmVsMTFTaGFkb3cxU3ByZWFkID0gMDtcbmV4cG9ydCBjb25zdCBTYmJTaGFkb3dFbGV2YXRpb25MZXZlbDExU2hhZG93Mk9mZnNldFggPSAwO1xuZXhwb3J0IGNvbnN0IFNiYlNoYWRvd0VsZXZhdGlvbkxldmVsMTFTaGFkb3cyT2Zmc2V0WSA9IDQ7XG5leHBvcnQgY29uc3QgU2JiU2hhZG93RWxldmF0aW9uTGV2ZWwxMVNoYWRvdzJCbHVyID0gNjQ7XG5leHBvcnQgY29uc3QgU2JiU2hhZG93RWxldmF0aW9uTGV2ZWwxMVNoYWRvdzJTcHJlYWQgPSAwO1xuZXhwb3J0IGNvbnN0IFNiYlNoYWRvd0VsZXZhdGlvbkxldmVsMTFTb2Z0MUNvbG9yID0gXCJyZ2JhKDE0MSwgMTQxLCAxNDEsIDAuMDUpXCI7XG5leHBvcnQgY29uc3QgU2JiU2hhZG93RWxldmF0aW9uTGV2ZWwxMVNvZnQyQ29sb3IgPSBcInJnYmEoMTQxLCAxNDEsIDE0MSwgMC4xKVwiO1xuZXhwb3J0IGNvbnN0IFNiYlNoYWRvd0VsZXZhdGlvbkxldmVsMTFTb2Z0TmVnYXRpdmUxQ29sb3IgPSBcInJnYmEoMCwgMCwgMCwgMC4xNSlcIjtcbmV4cG9ydCBjb25zdCBTYmJTaGFkb3dFbGV2YXRpb25MZXZlbDExU29mdE5lZ2F0aXZlMkNvbG9yID0gXCJyZ2JhKDAsIDAsIDAsIDAuMilcIjtcbmV4cG9ydCBjb25zdCBTYmJTaGFkb3dFbGV2YXRpb25MZXZlbDExSGFyZDFDb2xvciA9IFwicmdiYSgxNDEsIDE0MSwgMTQxLCAwLjEpXCI7XG5leHBvcnQgY29uc3QgU2JiU2hhZG93RWxldmF0aW9uTGV2ZWwxMUhhcmQyQ29sb3IgPSBcInJnYmEoMTQxLCAxNDEsIDE0MSwgMC4yKVwiO1xuZXhwb3J0IGNvbnN0IFNiYlNoYWRvd0VsZXZhdGlvbkxldmVsMTFIYXJkTmVnYXRpdmUxQ29sb3IgPSBcInJnYmEoMCwgMCwgMCwgMC4zKVwiO1xuZXhwb3J0IGNvbnN0IFNiYlNoYWRvd0VsZXZhdGlvbkxldmVsMTFIYXJkTmVnYXRpdmUyQ29sb3IgPSBcInJnYmEoMCwgMCwgMCwgMC40KVwiO1xuZXhwb3J0IGNvbnN0IFNiYlNpemVFbGVtZW50WHh4c1plcm8gPSAyODtcbmV4cG9ydCBjb25zdCBTYmJTaXplRWxlbWVudFh4eHNNaWNybyA9IDI4O1xuZXhwb3J0IGNvbnN0IFNiYlNpemVFbGVtZW50WHh4c1NtYWxsID0gMjg7XG5leHBvcnQgY29uc3QgU2JiU2l6ZUVsZW1lbnRYeHhzTWVkaXVtID0gMzI7XG5leHBvcnQgY29uc3QgU2JiU2l6ZUVsZW1lbnRYeHhzTGFyZ2UgPSAzMjtcbmV4cG9ydCBjb25zdCBTYmJTaXplRWxlbWVudFh4eHNXaWRlID0gMzI7XG5leHBvcnQgY29uc3QgU2JiU2l6ZUVsZW1lbnRYeHhzVWx0cmEgPSAzMjtcbmV4cG9ydCBjb25zdCBTYmJTaXplRWxlbWVudFh4c1plcm8gPSAzMjtcbmV4cG9ydCBjb25zdCBTYmJTaXplRWxlbWVudFh4c01pY3JvID0gMzI7XG5leHBvcnQgY29uc3QgU2JiU2l6ZUVsZW1lbnRYeHNTbWFsbCA9IDMyO1xuZXhwb3J0IGNvbnN0IFNiYlNpemVFbGVtZW50WHhzTWVkaXVtID0gMzY7XG5leHBvcnQgY29uc3QgU2JiU2l6ZUVsZW1lbnRYeHNMYXJnZSA9IDM2O1xuZXhwb3J0IGNvbnN0IFNiYlNpemVFbGVtZW50WHhzV2lkZSA9IDM2O1xuZXhwb3J0IGNvbnN0IFNiYlNpemVFbGVtZW50WHhzVWx0cmEgPSAzNjtcbmV4cG9ydCBjb25zdCBTYmJTaXplRWxlbWVudFhzWmVybyA9IDM2O1xuZXhwb3J0IGNvbnN0IFNiYlNpemVFbGVtZW50WHNNaWNybyA9IDM2O1xuZXhwb3J0IGNvbnN0IFNiYlNpemVFbGVtZW50WHNTbWFsbCA9IDM2O1xuZXhwb3J0IGNvbnN0IFNiYlNpemVFbGVtZW50WHNNZWRpdW0gPSA0MDtcbmV4cG9ydCBjb25zdCBTYmJTaXplRWxlbWVudFhzTGFyZ2UgPSA0MDtcbmV4cG9ydCBjb25zdCBTYmJTaXplRWxlbWVudFhzV2lkZSA9IDQwO1xuZXhwb3J0IGNvbnN0IFNiYlNpemVFbGVtZW50WHNVbHRyYSA9IDQwO1xuZXhwb3J0IGNvbnN0IFNiYlNpemVFbGVtZW50U1plcm8gPSA0NDtcbmV4cG9ydCBjb25zdCBTYmJTaXplRWxlbWVudFNNaWNybyA9IDQ0O1xuZXhwb3J0IGNvbnN0IFNiYlNpemVFbGVtZW50U1NtYWxsID0gNDQ7XG5leHBvcnQgY29uc3QgU2JiU2l6ZUVsZW1lbnRTTWVkaXVtID0gNDg7XG5leHBvcnQgY29uc3QgU2JiU2l6ZUVsZW1lbnRTTGFyZ2UgPSA0ODtcbmV4cG9ydCBjb25zdCBTYmJTaXplRWxlbWVudFNXaWRlID0gNDg7XG5leHBvcnQgY29uc3QgU2JiU2l6ZUVsZW1lbnRTVWx0cmEgPSA0ODtcbmV4cG9ydCBjb25zdCBTYmJTaXplRWxlbWVudE1aZXJvID0gNDg7XG5leHBvcnQgY29uc3QgU2JiU2l6ZUVsZW1lbnRNTWljcm8gPSA0ODtcbmV4cG9ydCBjb25zdCBTYmJTaXplRWxlbWVudE1TbWFsbCA9IDQ4O1xuZXhwb3J0IGNvbnN0IFNiYlNpemVFbGVtZW50TU1lZGl1bSA9IDU2O1xuZXhwb3J0IGNvbnN0IFNiYlNpemVFbGVtZW50TUxhcmdlID0gNTY7XG5leHBvcnQgY29uc3QgU2JiU2l6ZUVsZW1lbnRNV2lkZSA9IDU2O1xuZXhwb3J0IGNvbnN0IFNiYlNpemVFbGVtZW50TVVsdHJhID0gNTY7XG5leHBvcnQgY29uc3QgU2JiU2l6ZUVsZW1lbnRMWmVybyA9IDU2O1xuZXhwb3J0IGNvbnN0IFNiYlNpemVFbGVtZW50TE1pY3JvID0gNTY7XG5leHBvcnQgY29uc3QgU2JiU2l6ZUVsZW1lbnRMU21hbGwgPSA1NjtcbmV4cG9ydCBjb25zdCBTYmJTaXplRWxlbWVudExNZWRpdW0gPSA2NDtcbmV4cG9ydCBjb25zdCBTYmJTaXplRWxlbWVudExMYXJnZSA9IDY0O1xuZXhwb3J0IGNvbnN0IFNiYlNpemVFbGVtZW50TFdpZGUgPSA2NDtcbmV4cG9ydCBjb25zdCBTYmJTaXplRWxlbWVudExVbHRyYSA9IDY0O1xuZXhwb3J0IGNvbnN0IFNiYlNpemVJY29uVWlTbWFsbCA9IDI0O1xuZXhwb3J0IGNvbnN0IFNiYlNpemVJY29uVWlNZWRpdW0gPSAzNjtcbmV4cG9ydCBjb25zdCBTYmJTaXplSWNvblVpTGFyZ2UgPSA0ODtcbmV4cG9ydCBjb25zdCBTYmJTcGFjaW5nRml4ZWQxeCA9IDQ7XG5leHBvcnQgY29uc3QgU2JiU3BhY2luZ0ZpeGVkMnggPSA4O1xuZXhwb3J0IGNvbnN0IFNiYlNwYWNpbmdGaXhlZDN4ID0gMTI7XG5leHBvcnQgY29uc3QgU2JiU3BhY2luZ0ZpeGVkNHggPSAxNjtcbmV4cG9ydCBjb25zdCBTYmJTcGFjaW5nRml4ZWQ1eCA9IDIwO1xuZXhwb3J0IGNvbnN0IFNiYlNwYWNpbmdGaXhlZDZ4ID0gMjQ7XG5leHBvcnQgY29uc3QgU2JiU3BhY2luZ0ZpeGVkN3ggPSAyODtcbmV4cG9ydCBjb25zdCBTYmJTcGFjaW5nRml4ZWQ4eCA9IDMyO1xuZXhwb3J0IGNvbnN0IFNiYlNwYWNpbmdGaXhlZDl4ID0gMzY7XG5leHBvcnQgY29uc3QgU2JiU3BhY2luZ0ZpeGVkMTB4ID0gNDA7XG5leHBvcnQgY29uc3QgU2JiU3BhY2luZ0ZpeGVkMTJ4ID0gNDg7XG5leHBvcnQgY29uc3QgU2JiU3BhY2luZ0ZpeGVkMTR4ID0gNTY7XG5leHBvcnQgY29uc3QgU2JiU3BhY2luZ0ZpeGVkMTZ4ID0gNjQ7XG5leHBvcnQgY29uc3QgU2JiU3BhY2luZ0ZpeGVkMTh4ID0gNzI7XG5leHBvcnQgY29uc3QgU2JiU3BhY2luZ0ZpeGVkMjB4ID0gODA7XG5leHBvcnQgY29uc3QgU2JiU3BhY2luZ0ZpeGVkMjR4ID0gOTY7XG5leHBvcnQgY29uc3QgU2JiU3BhY2luZ0ZpeGVkMzB4ID0gMTIwO1xuZXhwb3J0IGNvbnN0IFNiYlNwYWNpbmdSZXNwb25zaXZlWHh4c1plcm8gPSAxMjtcbmV4cG9ydCBjb25zdCBTYmJTcGFjaW5nUmVzcG9uc2l2ZVh4eHNNaWNybyA9IDEyO1xuZXhwb3J0IGNvbnN0IFNiYlNwYWNpbmdSZXNwb25zaXZlWHh4c1NtYWxsID0gMTI7XG5leHBvcnQgY29uc3QgU2JiU3BhY2luZ1Jlc3BvbnNpdmVYeHhzTWVkaXVtID0gMTY7XG5leHBvcnQgY29uc3QgU2JiU3BhY2luZ1Jlc3BvbnNpdmVYeHhzTGFyZ2UgPSAxNjtcbmV4cG9ydCBjb25zdCBTYmJTcGFjaW5nUmVzcG9uc2l2ZVh4eHNXaWRlID0gMTY7XG5leHBvcnQgY29uc3QgU2JiU3BhY2luZ1Jlc3BvbnNpdmVYeHhzVWx0cmEgPSAxNjtcbmV4cG9ydCBjb25zdCBTYmJTcGFjaW5nUmVzcG9uc2l2ZVh4c1plcm8gPSAxNjtcbmV4cG9ydCBjb25zdCBTYmJTcGFjaW5nUmVzcG9uc2l2ZVh4c01pY3JvID0gMTY7XG5leHBvcnQgY29uc3QgU2JiU3BhY2luZ1Jlc3BvbnNpdmVYeHNTbWFsbCA9IDE2O1xuZXhwb3J0IGNvbnN0IFNiYlNwYWNpbmdSZXNwb25zaXZlWHhzTWVkaXVtID0gMjQ7XG5leHBvcnQgY29uc3QgU2JiU3BhY2luZ1Jlc3BvbnNpdmVYeHNMYXJnZSA9IDI0O1xuZXhwb3J0IGNvbnN0IFNiYlNwYWNpbmdSZXNwb25zaXZlWHhzV2lkZSA9IDI0O1xuZXhwb3J0IGNvbnN0IFNiYlNwYWNpbmdSZXNwb25zaXZlWHhzVWx0cmEgPSAyNDtcbmV4cG9ydCBjb25zdCBTYmJTcGFjaW5nUmVzcG9uc2l2ZVhzWmVybyA9IDIwO1xuZXhwb3J0IGNvbnN0IFNiYlNwYWNpbmdSZXNwb25zaXZlWHNNaWNybyA9IDIwO1xuZXhwb3J0IGNvbnN0IFNiYlNwYWNpbmdSZXNwb25zaXZlWHNTbWFsbCA9IDIwO1xuZXhwb3J0IGNvbnN0IFNiYlNwYWNpbmdSZXNwb25zaXZlWHNNZWRpdW0gPSAyNDtcbmV4cG9ydCBjb25zdCBTYmJTcGFjaW5nUmVzcG9uc2l2ZVhzTGFyZ2UgPSAyNDtcbmV4cG9ydCBjb25zdCBTYmJTcGFjaW5nUmVzcG9uc2l2ZVhzV2lkZSA9IDI0O1xuZXhwb3J0IGNvbnN0IFNiYlNwYWNpbmdSZXNwb25zaXZlWHNVbHRyYSA9IDI0O1xuZXhwb3J0IGNvbnN0IFNiYlNwYWNpbmdSZXNwb25zaXZlU1plcm8gPSAyNDtcbmV4cG9ydCBjb25zdCBTYmJTcGFjaW5nUmVzcG9uc2l2ZVNNaWNybyA9IDI0O1xuZXhwb3J0IGNvbnN0IFNiYlNwYWNpbmdSZXNwb25zaXZlU1NtYWxsID0gMjQ7XG5leHBvcnQgY29uc3QgU2JiU3BhY2luZ1Jlc3BvbnNpdmVTTWVkaXVtID0gMzI7XG5leHBvcnQgY29uc3QgU2JiU3BhY2luZ1Jlc3BvbnNpdmVTTGFyZ2UgPSAzMjtcbmV4cG9ydCBjb25zdCBTYmJTcGFjaW5nUmVzcG9uc2l2ZVNXaWRlID0gMzI7XG5leHBvcnQgY29uc3QgU2JiU3BhY2luZ1Jlc3BvbnNpdmVTVWx0cmEgPSAzMjtcbmV4cG9ydCBjb25zdCBTYmJTcGFjaW5nUmVzcG9uc2l2ZU1aZXJvID0gMzI7XG5leHBvcnQgY29uc3QgU2JiU3BhY2luZ1Jlc3BvbnNpdmVNTWljcm8gPSAzMjtcbmV4cG9ydCBjb25zdCBTYmJTcGFjaW5nUmVzcG9uc2l2ZU1TbWFsbCA9IDMyO1xuZXhwb3J0IGNvbnN0IFNiYlNwYWNpbmdSZXNwb25zaXZlTU1lZGl1bSA9IDQwO1xuZXhwb3J0IGNvbnN0IFNiYlNwYWNpbmdSZXNwb25zaXZlTUxhcmdlID0gNDA7XG5leHBvcnQgY29uc3QgU2JiU3BhY2luZ1Jlc3BvbnNpdmVNV2lkZSA9IDQ4O1xuZXhwb3J0IGNvbnN0IFNiYlNwYWNpbmdSZXNwb25zaXZlTVVsdHJhID0gNDg7XG5leHBvcnQgY29uc3QgU2JiU3BhY2luZ1Jlc3BvbnNpdmVMWmVybyA9IDMyO1xuZXhwb3J0IGNvbnN0IFNiYlNwYWNpbmdSZXNwb25zaXZlTE1pY3JvID0gMzI7XG5leHBvcnQgY29uc3QgU2JiU3BhY2luZ1Jlc3BvbnNpdmVMU21hbGwgPSA0MDtcbmV4cG9ydCBjb25zdCBTYmJTcGFjaW5nUmVzcG9uc2l2ZUxNZWRpdW0gPSA0ODtcbmV4cG9ydCBjb25zdCBTYmJTcGFjaW5nUmVzcG9uc2l2ZUxMYXJnZSA9IDU2O1xuZXhwb3J0IGNvbnN0IFNiYlNwYWNpbmdSZXNwb25zaXZlTFdpZGUgPSA1NjtcbmV4cG9ydCBjb25zdCBTYmJTcGFjaW5nUmVzcG9uc2l2ZUxVbHRyYSA9IDY0O1xuZXhwb3J0IGNvbnN0IFNiYlNwYWNpbmdSZXNwb25zaXZlWGxaZXJvID0gMzI7XG5leHBvcnQgY29uc3QgU2JiU3BhY2luZ1Jlc3BvbnNpdmVYbE1pY3JvID0gMzI7XG5leHBvcnQgY29uc3QgU2JiU3BhY2luZ1Jlc3BvbnNpdmVYbFNtYWxsID0gNDg7XG5leHBvcnQgY29uc3QgU2JiU3BhY2luZ1Jlc3BvbnNpdmVYbE1lZGl1bSA9IDY0O1xuZXhwb3J0IGNvbnN0IFNiYlNwYWNpbmdSZXNwb25zaXZlWGxMYXJnZSA9IDgwO1xuZXhwb3J0IGNvbnN0IFNiYlNwYWNpbmdSZXNwb25zaXZlWGxXaWRlID0gODA7XG5leHBvcnQgY29uc3QgU2JiU3BhY2luZ1Jlc3BvbnNpdmVYbFVsdHJhID0gOTY7XG5leHBvcnQgY29uc3QgU2JiU3BhY2luZ1Jlc3BvbnNpdmVYeGxaZXJvID0gNDg7XG5leHBvcnQgY29uc3QgU2JiU3BhY2luZ1Jlc3BvbnNpdmVYeGxNaWNybyA9IDQ4O1xuZXhwb3J0IGNvbnN0IFNiYlNwYWNpbmdSZXNwb25zaXZlWHhsU21hbGwgPSA3MjtcbmV4cG9ydCBjb25zdCBTYmJTcGFjaW5nUmVzcG9uc2l2ZVh4bE1lZGl1bSA9IDgwO1xuZXhwb3J0IGNvbnN0IFNiYlNwYWNpbmdSZXNwb25zaXZlWHhsTGFyZ2UgPSA5NjtcbmV4cG9ydCBjb25zdCBTYmJTcGFjaW5nUmVzcG9uc2l2ZVh4bFdpZGUgPSA5NjtcbmV4cG9ydCBjb25zdCBTYmJTcGFjaW5nUmVzcG9uc2l2ZVh4bFVsdHJhID0gMTIwO1xuZXhwb3J0IGNvbnN0IFNiYlR5cG9Gb250RmFtaWx5ID0gXCJcXFwiU0JCXFxcIiwgXFxcIkhlbHZldGljYSBOZXVlXFxcIiwgSGVsdmV0aWNhLCBBcmlhbCwgc2Fucy1zZXJpZlwiO1xuZXhwb3J0IGNvbnN0IFNiYlR5cG9MZXR0ZXJTcGFjaW5nVGl0bGVzID0gXCIwXCI7XG5leHBvcnQgY29uc3QgU2JiVHlwb0xldHRlclNwYWNpbmdCb2R5VGV4dCA9IFwiMC4wM2VtXCI7XG5leHBvcnQgY29uc3QgU2JiVHlwb0xpbmVIZWlnaHRUaXRsZXMgPSBcIjEuM1wiO1xuZXhwb3J0IGNvbnN0IFNiYlR5cG9MaW5lSGVpZ2h0Qm9keVRleHQgPSBcIjEuNzVcIjtcbmV4cG9ydCBjb25zdCBTYmJUeXBvU2NhbGUwNzV4ID0gMTI7XG5leHBvcnQgY29uc3QgU2JiVHlwb1NjYWxlMDgxMjV4ID0gMTM7XG5leHBvcnQgY29uc3QgU2JiVHlwb1NjYWxlMDg3NXggPSAxNDtcbmV4cG9ydCBjb25zdCBTYmJUeXBvU2NhbGVEZWZhdWx0ID0gMTY7XG5leHBvcnQgY29uc3QgU2JiVHlwb1NjYWxlMTEyNXggPSAxODtcbmV4cG9ydCBjb25zdCBTYmJUeXBvU2NhbGUxMjV4ID0gMjA7XG5leHBvcnQgY29uc3QgU2JiVHlwb1NjYWxlMTV4ID0gMjQ7XG5leHBvcnQgY29uc3QgU2JiVHlwb1NjYWxlMnggPSAzMjtcbmV4cG9ydCBjb25zdCBTYmJUeXBvU2NhbGUyNXggPSA0MDtcbmV4cG9ydCBjb25zdCBTYmJUeXBvU2NhbGUzeCA9IDQ4O1xuZXhwb3J0IGNvbnN0IFNiYlR5cG9TY2FsZTM1eCA9IDU2O1xuZXhwb3J0IGNvbnN0IFNiYlR5cG9TY2FsZTR4ID0gNjQ7XG4iLCJpbXBvcnQge1xuICBTYmJCcmVha3BvaW50WmVyb01pbixcbiAgU2JiQnJlYWtwb2ludFplcm9NYXgsXG4gIFNiYkJyZWFrcG9pbnRNaWNyb01pbixcbiAgU2JiQnJlYWtwb2ludE1pY3JvTWF4LFxuICBTYmJCcmVha3BvaW50U21hbGxNaW4sXG4gIFNiYkJyZWFrcG9pbnRTbWFsbE1heCxcbiAgU2JiQnJlYWtwb2ludE1lZGl1bU1pbixcbiAgU2JiQnJlYWtwb2ludE1lZGl1bU1heCxcbiAgU2JiQnJlYWtwb2ludExhcmdlTWluLFxuICBTYmJCcmVha3BvaW50TGFyZ2VNYXgsXG4gIFNiYkJyZWFrcG9pbnRXaWRlTWluLFxuICBTYmJCcmVha3BvaW50V2lkZU1heCxcbiAgU2JiQnJlYWtwb2ludFVsdHJhTWluLFxuICBTYmJCcmVha3BvaW50VWx0cmFNYXgsXG4gIFNiYlR5cG9TY2FsZURlZmF1bHQsXG59IGZyb20gJ0BzYmItZXN0YS9seW5lLWRlc2lnbi10b2tlbnMnO1xuaW1wb3J0IHtcbiAgdHlwZSBDU1NSZXN1bHRHcm91cCxcbiAgaHRtbCxcbiAgTGl0RWxlbWVudCxcbiAgbm90aGluZyxcbiAgdHlwZSBQcm9wZXJ0eVZhbHVlcyxcbiAgdHlwZSBUZW1wbGF0ZVJlc3VsdCxcbn0gZnJvbSAnbGl0JztcbmltcG9ydCB7IGN1c3RvbUVsZW1lbnQsIGV2ZW50T3B0aW9ucywgcHJvcGVydHkgfSBmcm9tICdsaXQvZGVjb3JhdG9ycy5qcyc7XG5pbXBvcnQgeyByZWYgfSBmcm9tICdsaXQvZGlyZWN0aXZlcy9yZWYuanMnO1xuXG5pbXBvcnQgeyBob3N0Q29udGV4dCB9IGZyb20gJy4uL2NvcmUvZG9tLmpzJztcblxuaW1wb3J0IHN0eWxlIGZyb20gJy4vaW1hZ2Uuc2Nzcz9saXQmaW5saW5lJztcblxuZXhwb3J0IGludGVyZmFjZSBJbnRlcmZhY2VJbWFnZUF0dHJpYnV0ZXNTaXplc0NvbmZpZyB7XG4gIGJyZWFrcG9pbnRzOiBJbnRlcmZhY2VJbWFnZUF0dHJpYnV0ZXNTaXplc0NvbmZpZ0JyZWFrcG9pbnRbXTtcbn1cblxuZXhwb3J0IGludGVyZmFjZSBJbnRlcmZhY2VJbWFnZUF0dHJpYnV0ZXNTaXplc0NvbmZpZ0JyZWFrcG9pbnQge1xuICBpbWFnZToge1xuICAgIGhlaWdodDogbnVtYmVyO1xuICAgIHdpZHRoOiBudW1iZXI7XG4gIH07XG4gIG1lZGlhUXVlcmllczogSW50ZXJmYWNlSW1hZ2VBdHRyaWJ1dGVzU2l6ZXNDb25maWdNZWRpYVF1ZXJ5W107XG59XG5cbmV4cG9ydCBpbnRlcmZhY2UgSW50ZXJmYWNlSW1hZ2VBdHRyaWJ1dGVzU2l6ZXNDb25maWdNZWRpYVF1ZXJ5IHtcbiAgY29uZGl0aW9uRmVhdHVyZTogc3RyaW5nO1xuICBjb25kaXRpb25GZWF0dXJlVmFsdWU6IHtcbiAgICBseW5lRGVzaWduVG9rZW46IGJvb2xlYW47XG4gICAgdmFsdWU6IHN0cmluZztcbiAgfTtcbiAgY29uZGl0aW9uT3BlcmF0b3I6IGZhbHNlO1xufVxuXG4vKipcbiAqIHdlIGNoZWNrIHRoZSBzdHJ1Y3R1cmUgb2YgdGhlIGRhdGEgbWFudWFsbHksIHNvIGl0J3Mgc2FmZSB0byB1c2UgYGFueWAgYXMgcmV0dXJuIHR5cGVcbiAqL1xuY29uc3QgaW1hZ2VIZWxwZXJHZXRCcmVha3BvaW50cyA9IChcbiAganNvblN0cmluZzogc3RyaW5nLFxuKTogSW50ZXJmYWNlSW1hZ2VBdHRyaWJ1dGVzU2l6ZXNDb25maWdCcmVha3BvaW50W10gPT4ge1xuICBpZiAoIWpzb25TdHJpbmcgfHwganNvblN0cmluZy5sZW5ndGggPT09IDApIHtcbiAgICByZXR1cm4gW107XG4gIH1cblxuICAvLyBtYWtlIHN1cmUgdGhhdCB3ZSBoYXZlIGBicmVha3BvaW50c2Aga2V5IGluIG9iamVjdFxuICBjb25zdCBsb2dXYXJuaW5nID0gaW1wb3J0Lm1ldGEuZW52LkRFVlxuICAgID8gKCkgPT5cbiAgICAgICAgY29uc29sZS53YXJuKFxuICAgICAgICAgICdzYmItaW1hZ2UgZXJyb3I6IGF0dHJpYnV0ZSBicmVha3BvaW50cyBoYXMgd3JvbmcgZGF0YSBmb3JtYXQuIFJlZmVyZW5jZSB0aGUgZG9jdW1lbnRhdGlvbiB0byBzZWUgaG93IHlvdSBzaG91bGQgZm9ybWF0IHRoZSBkYXRhIGZvciB0aGlzIGF0dHJpYnV0ZS4nLFxuICAgICAgICApXG4gICAgOiBudWxsO1xuICBsZXQganNvbk9iamVjdDogSW50ZXJmYWNlSW1hZ2VBdHRyaWJ1dGVzU2l6ZXNDb25maWc7XG5cbiAgdHJ5IHtcbiAgICBqc29uT2JqZWN0ID0gSlNPTi5wYXJzZShqc29uU3RyaW5nKTtcbiAgfSBjYXRjaCB7XG4gICAgbG9nV2FybmluZz8uKCk7XG4gICAgcmV0dXJuIFtdO1xuICB9XG5cbiAgaWYgKCFqc29uT2JqZWN0LmJyZWFrcG9pbnRzIHx8IGpzb25PYmplY3QuYnJlYWtwb2ludHMubGVuZ3RoID09PSAwKSB7XG4gICAgbG9nV2FybmluZz8uKCk7XG4gICAgcmV0dXJuIFtdO1xuICB9XG5cbiAgLy8gbWFrZSBzdXJlIHdlIGdldCBhbiBhcnJheSBvZiBicmVha3BvaW50c1xuICBpZiAoIUFycmF5LmlzQXJyYXkoanNvbk9iamVjdC5icmVha3BvaW50cykpIHtcbiAgICBsb2dXYXJuaW5nPy4oKTtcbiAgICByZXR1cm4gW107XG4gIH1cblxuICAvKipcbiAgICogMS4gbWFrZSBzdXJlIHRoYXQgZWFjaCBlbnRyeSB3aXRoaW4gdGhlIGJyZWFrcG9pbnRzIG9iamVjdCBjb250YWlucyBvbmx5IGFsbG93ZWQga2V5c1xuICAgKiAyLiBtYWtlIHN1cmUgdGhhdCBhbGwgbmVjZXNzYXJ5IGtleXMgYXJlIHByZXNlbnRcbiAgICovXG4gIGxldCB3cm9uZ0tleURldGVjdGVkID0gZmFsc2U7XG4gIGxldCBtaXNzaW5nS2V5RGV0ZWN0ZWQgPSBmYWxzZTtcblxuICBjb25zdCBhbGxvd2VkS2V5cyA9IFsnaW1hZ2UnLCAnbWVkaWFRdWVyaWVzJ107XG5cbiAganNvbk9iamVjdC5icmVha3BvaW50cy5mb3JFYWNoKChicmVha3BvaW50KSA9PiB7XG4gICAgY29uc3QgYnJlYWtwb2ludEtleXMgPSBPYmplY3Qua2V5cyhicmVha3BvaW50KTtcblxuICAgIGJyZWFrcG9pbnRLZXlzLmZvckVhY2goKGJyZWFrcG9pbnRLZXkpID0+IHtcbiAgICAgIGlmICghYWxsb3dlZEtleXMuaW5jbHVkZXMoYnJlYWtwb2ludEtleSkpIHtcbiAgICAgICAgd3JvbmdLZXlEZXRlY3RlZCA9IHRydWU7XG4gICAgICB9XG4gICAgfSk7XG5cbiAgICBhbGxvd2VkS2V5cy5mb3JFYWNoKChhbGxvd2VkS2V5KSA9PiB7XG4gICAgICBpZiAoIWJyZWFrcG9pbnRLZXlzLmluY2x1ZGVzKGFsbG93ZWRLZXkpKSB7XG4gICAgICAgIG1pc3NpbmdLZXlEZXRlY3RlZCA9IHRydWU7XG4gICAgICB9XG4gICAgfSk7XG4gIH0pO1xuXG4gIGlmICh3cm9uZ0tleURldGVjdGVkIHx8IG1pc3NpbmdLZXlEZXRlY3RlZCkge1xuICAgIGxvZ1dhcm5pbmc/LigpO1xuICAgIHJldHVybiBbXTtcbiAgfVxuXG4gIHJldHVybiBqc29uT2JqZWN0LmJyZWFrcG9pbnRzO1xufTtcblxuY29uc3QgZXZlbnRMaXN0ZW5lck9wdGlvbnMgPSB7XG4gIG9uY2U6IHRydWUsXG4gIHBhc3NpdmU6IHRydWUsXG59O1xuXG5jb25zdCBweFRvUmVtID0gKHB4OiBudW1iZXIpOiBudW1iZXIgPT4ge1xuICByZXR1cm4gcHggLyBTYmJUeXBvU2NhbGVEZWZhdWx0O1xufTtcblxuY29uc3QgYnJlYWtwb2ludE1hcDogUmVjb3JkPHN0cmluZywgbnVtYmVyPiA9IHtcbiAgJ3NiYi1icmVha3BvaW50LXplcm8tbWluJzogcHhUb1JlbShTYmJCcmVha3BvaW50WmVyb01pbiksXG4gICdzYmItYnJlYWtwb2ludC16ZXJvLW1heCc6IHB4VG9SZW0oU2JiQnJlYWtwb2ludFplcm9NYXgpLFxuICAnc2JiLWJyZWFrcG9pbnQtbWljcm8tbWluJzogcHhUb1JlbShTYmJCcmVha3BvaW50TWljcm9NaW4pLFxuICAnc2JiLWJyZWFrcG9pbnQtbWljcm8tbWF4JzogcHhUb1JlbShTYmJCcmVha3BvaW50TWljcm9NYXgpLFxuICAnc2JiLWJyZWFrcG9pbnQtc21hbGwtbWluJzogcHhUb1JlbShTYmJCcmVha3BvaW50U21hbGxNaW4pLFxuICAnc2JiLWJyZWFrcG9pbnQtc21hbGwtbWF4JzogcHhUb1JlbShTYmJCcmVha3BvaW50U21hbGxNYXgpLFxuICAnc2JiLWJyZWFrcG9pbnQtbWVkaXVtLW1pbic6IHB4VG9SZW0oU2JiQnJlYWtwb2ludE1lZGl1bU1pbiksXG4gICdzYmItYnJlYWtwb2ludC1tZWRpdW0tbWF4JzogcHhUb1JlbShTYmJCcmVha3BvaW50TWVkaXVtTWF4KSxcbiAgJ3NiYi1icmVha3BvaW50LWxhcmdlLW1pbic6IHB4VG9SZW0oU2JiQnJlYWtwb2ludExhcmdlTWluKSxcbiAgJ3NiYi1icmVha3BvaW50LWxhcmdlLW1heCc6IHB4VG9SZW0oU2JiQnJlYWtwb2ludExhcmdlTWF4KSxcbiAgJ3NiYi1icmVha3BvaW50LXdpZGUtbWluJzogcHhUb1JlbShTYmJCcmVha3BvaW50V2lkZU1pbiksXG4gICdzYmItYnJlYWtwb2ludC13aWRlLW1heCc6IHB4VG9SZW0oU2JiQnJlYWtwb2ludFdpZGVNYXgpLFxuICAnc2JiLWJyZWFrcG9pbnQtdWx0cmEtbWluJzogcHhUb1JlbShTYmJCcmVha3BvaW50VWx0cmFNaW4pLFxuICAnc2JiLWJyZWFrcG9pbnQtdWx0cmEtbWF4JzogcHhUb1JlbShTYmJCcmVha3BvaW50VWx0cmFNYXgpLFxufTtcblxuLyoqXG4gKiBJdCBkaXNwbGF5cyBhbiBpbWFnZS5cbiAqXG4gKiBAZXZlbnQge0V2ZW50fSBsb2FkIC0gRW1pdHMgd2hlbiB0aGUgaW1hZ2UgaGFzIGJlZW4gbG9hZGVkLlxuICogQGV2ZW50IHtFdmVudH0gZXJyb3IgLSBFbWl0cyB3aGVuIHRoZSBpbWFnZSBsb2FkaW5nIGVuZGVkIGluIGFuIGVycm9yLlxuICogQGNzc3Byb3AgWy0tc2JiLWltYWdlLWFzcGVjdC1yYXRpbz1hdXRvXSAtIENhbiBiZSB1c2VkIHRvIG92ZXJyaWRlIGBhc3BlY3RSYXRpb2AgcHJvcGVydHkuXG4gKiBUaGlzIHdheSB3ZSBjYW4gaGF2ZSwgZm9yIGV4YW1wbGUsIGFuIGltYWdlIGNvbXBvbmVudCB3aXRoIGFuIGFzcGVjdFxuICogcmF0aW8gb2YgNC8zIGluIHNtYWxsZXIgdmlld3BvcnRzIGFuZCAxNi85IGluIGxhcmdlciB2aWV3cG9ydHMuXG4gKiBAY3NzcHJvcCBbLS1zYmItaW1hZ2UtYm9yZGVyLXJhZGl1cz12YXIoLS1zYmItYm9yZGVyLXJhZGl1cy00eCldIC0gQ2FuIGJlIHVzZWQgdG8gb3ZlcnJpZGUgdGhlXG4gKiBgYm9yZGVyUmFkaXVzYCBwcm9wZXJ0eSBpbiBjYXNlIG9mIGRpZmZlcmVudCB2YWx1ZXMgZm9yIGRpZmZlcmVudCB2aWV3cG9ydHMuXG4gKiBAY3NzcHJvcCBbLS1zYmItaW1hZ2Utb2JqZWN0LXBvc2l0aW9uXSAtIENhbiBiZSB1c2VkIHRvIHNldCB0aGUgb2JqZWN0LXBvc2l0aW9uIGNzcyBwcm9wZXJ0eSBvZiB0aGUgaW1hZ2UgaXRzZWxmIGlmIHRoZSBpbWFnZSBpdHNlbGYgaXMgY3JvcHBlZC5cbiAqIEBjc3Nwcm9wIFstLXNiYi1pbWFnZS1vYmplY3QtZml0PWNvdmVyXSAtIENhbiBiZSB1c2VkIHRvIHNldCB0aGUgb2JqZWN0LWZpdCBjc3MgcHJvcGVydHkgb2YgdGhlIGltYWdlIGl0c2VsZiBpZiB0aGUgaW1hZ2UgaXRzZWxmIGlzIGNyb3BwZWQuXG4gKi9cbkBjdXN0b21FbGVtZW50KCdzYmItaW1hZ2UnKVxuZXhwb3J0IGNsYXNzIFNiYkltYWdlRWxlbWVudCBleHRlbmRzIExpdEVsZW1lbnQge1xuICBwdWJsaWMgc3RhdGljIG92ZXJyaWRlIHN0eWxlczogQ1NTUmVzdWx0R3JvdXAgPSBzdHlsZTtcbiAgcHVibGljIHN0YXRpYyByZWFkb25seSBldmVudHMgPSB7XG4gICAgZXJyb3I6ICdlcnJvcicsXG4gICAgbG9hZDogJ2xvYWQnLFxuICB9IGFzIGNvbnN0O1xuXG4gIHByaXZhdGUgX2NhcHRpb25FbGVtZW50PzogSFRNTEVsZW1lbnQ7XG4gIHByaXZhdGUgX2xpbmtzSW5DYXB0aW9uPzogTm9kZUxpc3RPZjxIVE1MTGlua0VsZW1lbnQ+O1xuICBwcml2YXRlIF9jb25maWcgPSB7XG4gICAgbm9uUmV0aW5hUXVhbGl0eTogJzQ1JyxcbiAgICByZXRpbmFRdWFsaXR5OiAnMjAnLFxuICB9O1xuXG4gIC8qKlxuICAgKiBBbiBhbHQgdGV4dCBpcyBub3QgYWx3YXlzIG5lY2Vzc2FyeSAoZS5nLiBpbiB0ZWFzZXIgY2FyZHMgd2hlblxuICAgKiBhZGRpdGlvbmFsIGxpbmsgdGV4dCBpcyBwcm92aWRlZCkuIEluIHRoaXMgY2FzZSB3ZSBjYW4gbGVhdmVcbiAgICogdGhlIHZhbHVlIG9mIHRoZSBhbHQgYXR0cmlidXRlIGJsYW5rLCBidXQgdGhlIGF0dHJpYnV0ZSBpdHNlbGZcbiAgICogc3RpbGwgbmVlZHMgdG8gYmUgcHJlc2VudC4gVGhhdCB3YXkgd2UgY2FuIHNpZ25hbCBhc3Npc3RpdmVcbiAgICogdGVjaG5vbG9neSwgdGhhdCB0aGV5IGNhbiBza2lwIHRoZSBpbWFnZS5cbiAgICovXG4gIEBwcm9wZXJ0eSgpIHB1YmxpYyBhbHQ/OiBzdHJpbmc7XG5cbiAgLyoqXG4gICAqIElmIHNldCB0byBmYWxzZSwgd2Ugc2hvdyBhIGJsdXJyZWQgdmVyc2lvbiBvZiB0aGUgaW1hZ2UgYXNcbiAgICogcGxhY2Vob2xkZXIgYmVmb3JlIHRoZSBhY3R1YWwgaW1hZ2Ugc2hvd3MgdXAuIFRoaXMgd2lsbCBoZWxwXG4gICAqIHRvIGltcHJvdmUgdGhlIHBlcmNlaXZlZCBsb2FkaW5nIHBlcmZvcm1hbmNlLiBSZWFkIG1vcmUgYWJvdXRcbiAgICogdGhlIGlkZWEgb2YgbHFpcCBoZXJlOlxuICAgKiBodHRwczovL21lZGl1bS5jb20vQGltZ2l4L2xxaXAteW91ci1pbWFnZXMtZm9yLWZhc3QtbG9hZGluZy0yNTIzZDllZTRhNjJcbiAgICovXG4gIEBwcm9wZXJ0eSh7IGF0dHJpYnV0ZTogJ3NraXAtbHFpcCcsIHR5cGU6IEJvb2xlYW4sIHJlZmxlY3Q6IHRydWUgfSkgcHVibGljIHNraXBMcWlwID0gZmFsc2U7XG5cbiAgLyoqXG4gICAqIEEgY2FwdGlvbiBjYW4gcHJvdmlkZSBhZGRpdGlvbmFsIGNvbnRleHQgdG8gdGhlIGltYWdlIChlLmcuXG4gICAqIGRlc2NyaXB0aW9ucyBhbmQgdGhlIGxpa2UpLlxuICAgKiBMaW5rcyB3aWxsIGF1dG9tYXRpY2FsbHkgcmVjZWl2ZSB0YWJpbmRleD0tMSBpZiBoaWRlRnJvbVNjcmVlbnJlYWRlclxuICAgKiBpcyBzZXQgdG8gdHJ1ZS4gVGhhdCB3YXkgdGhleSB3aWxsIG5vIGxvbmdlciBiZWNvbWUgZm9jdXNhYmxlLlxuICAgKi9cbiAgQHByb3BlcnR5KCkgcHVibGljIGNhcHRpb24/OiBzdHJpbmc7XG5cbiAgLyoqXG4gICAqIElmIGEgY29weXJpZ2h0IHRleHQgaXMgcHJvdmlkZWQsIHdlIHdpbGwgYWRkIGl0IHRvIHRoZSBjYXB0aW9uXG4gICAqIGFuZCBjcmVhdGUgYSBzdHJ1Y3R1cmVkIGRhdGEganNvbi1sZCBibG9jayB3aXRoIHRoZSBjb3B5cmlnaHRcbiAgICogaW5mb3JtYXRpb24uXG4gICAqL1xuICBAcHJvcGVydHkoKSBwdWJsaWMgY29weXJpZ2h0Pzogc3RyaW5nO1xuXG4gIC8qKlxuICAgKiBDb3B5cmlnaHQgaG9sZGVyIGNhbiBlaXRoZXIgYmUgYW4gT3JnYW5pemF0aW9uIG9yIGEgUGVyc29uXG4gICAqL1xuICBAcHJvcGVydHkoeyBhdHRyaWJ1dGU6ICdjb3B5cmlnaHQtaG9sZGVyJyB9KVxuICBwdWJsaWMgY29weXJpZ2h0SG9sZGVyOiAnT3JnYW5pemF0aW9uJyB8ICdQZXJzb24nID0gJ09yZ2FuaXphdGlvbic7XG5cbiAgLyoqXG4gICAqIFNldCB0aGlzIHRvIHRydWUsIGlmIHlvdSB3YW50IHRvIHBhc3MgYSBjdXN0b20gZm9jYWwgcG9pbnRcbiAgICogZm9yIHRoZSBpbWFnZS4gU2VlIGZ1bGwgZG9jdW1lbnRhdGlvbiBoZXJlOlxuICAgKiBodHRwczovL2RvY3MuaW1naXguY29tL2FwaXMvcmVuZGVyaW5nL2ZvY2FscG9pbnQtY3JvcFxuICAgKi9cbiAgQHByb3BlcnR5KHsgYXR0cmlidXRlOiAnY3VzdG9tLWZvY2FsLXBvaW50JywgdHlwZTogQm9vbGVhbiB9KSBwdWJsaWMgY3VzdG9tRm9jYWxQb2ludCA9IGZhbHNlO1xuXG4gIC8qKlxuICAgKiBJZiB0aGUgbGF6eSBwcm9wZXJ0eSBpcyBzZXQgdG8gdHJ1ZSwgdGhlIG1vZHVsZSB3aWxsIGF1dG9tYXRpY2FsbHlcbiAgICogY2hhbmdlIHRoZSBkZWNvZGluZyB0byBhc3luYywgb3RoZXJ3aXNlIHRoZSBkZWNvZGluZyBpcyBzZXQgdG8gYXV0b1xuICAgKiB3aGljaCBsZWF2ZXMgdGhlIGhhbmRsaW5nIHVwIHRvIHRoZSBicm93c2VyLiBSZWFkIG1vcmUgYWJvdXQgdGhlXG4gICAqIGRlY29kaW5nIGF0dHJpYnV0ZSBoZXJlOlxuICAgKiBodHRwczovL2RldmVsb3Blci5tb3ppbGxhLm9yZy9lbi1VUy9kb2NzL1dlYi9BUEkvSFRNTEltYWdlRWxlbWVudC9kZWNvZGluZ1xuICAgKi9cbiAgQHByb3BlcnR5KCkgcHVibGljIGRlY29kaW5nOiAnc3luYycgfCAnYXN5bmMnIHwgJ2F1dG8nID0gJ2F1dG8nO1xuXG4gIC8qKlxuICAgKiBTZXQgdGhpcyB0byB0cnVlLCB0byByZWNlaXZlIHZpc3VhbCBndWlkYW5jZSB3aGVyZSB0aGUgY3VzdG9tIGZvY2FsXG4gICAqIHBvaW50IGlzIGN1cnJlbnRseSBzZXQuXG4gICAqL1xuICBAcHJvcGVydHkoeyBhdHRyaWJ1dGU6ICdmb2NhbC1wb2ludC1kZWJ1ZycsIHR5cGU6IEJvb2xlYW4gfSkgcHVibGljIGZvY2FsUG9pbnREZWJ1ZyA9IGZhbHNlO1xuXG4gIC8qKlxuICAgKiBQYXNzIGluIGEgZmxvYXRpbmcgbnVtYmVyIGJldHdlZW4gMCAobGVmdCkgYW5kIDEgKHJpZ2h0KS5cbiAgICovXG4gIEBwcm9wZXJ0eSh7IGF0dHJpYnV0ZTogJ2ZvY2FsLXBvaW50LXgnLCB0eXBlOiBOdW1iZXIgfSkgcHVibGljIGZvY2FsUG9pbnRYID0gMTtcblxuICAvKipcbiAgICogUGFzcyBpbiBhIGZsb2F0aW5nIG51bWJlciBiZXR3ZWVuIDAgKHRvcCkgYW5kIDEgKGJvdHRvbSkuXG4gICAqL1xuICBAcHJvcGVydHkoeyBhdHRyaWJ1dGU6ICdmb2NhbC1wb2ludC15JywgdHlwZTogTnVtYmVyIH0pIHB1YmxpYyBmb2NhbFBvaW50WSA9IDE7XG5cbiAgLyoqXG4gICAqIFJpZ2h0IG5vdyB0aGUgbW9kdWxlIGlzIGhlYXZpbHkgY291cGxlZCB3aXRoIHRoZSBpbWFnZSBkZWxpdmVyeVxuICAgKiBzZXJ2aWNlIGltZ2l4IGFuZCBkZXBlbmRzIG9uIHRoZSBvcmlnaW5hbCBmaWxlcyBiZWluZyBzdG9yZWRcbiAgICogaW5zaWRlIEFFTS4gWW91IGNhbiBwYXNzIGluIGFueSBodHRwczovL2Nkbi5pbWcuc2JiLmNoIGltZ1xuICAgKiBzcmMgYWRkcmVzcyB5b3UgZmluZCBvbiBzYmIuY2ggdG8gcGxheSBhcm91bmQgd2l0aCBpdC4gSnVzdFxuICAgKiBzdHJpcCB0aGUgdXJsIHBhcmFtZXRlcnMgYW5kIHBhc3RlIGluIHRoZSBwbGFpbiBmaWxlIGFkZHJlc3MuXG4gICAqIElmIHlvdSB3YW50IHRvIGtub3cgaG93IHRvIGJlc3Qgd29yayB3aXRoIHRoaXMgbW9kdWxlIHdpdGhcbiAgICogaW1hZ2VzIGNvbWluZyBmcm9tIGEgZGlmZmVyZW50IHNvdXJjZSwgcGxlYXNlIGNvbnRhY3QgdGhlXG4gICAqIExZTkUgQ29yZSBUZWFtLlxuICAgKi9cbiAgQHByb3BlcnR5KHsgYXR0cmlidXRlOiAnaW1hZ2Utc3JjJyB9KSBwdWJsaWMgaW1hZ2VTcmM/OiBzdHJpbmc7XG5cbiAgLyoqXG4gICAqIFRoZSBpbXBvcnRhbmNlIGF0dHJpYnV0ZSBpcyBmYWlybHkgbmV3IGF0dHJpYnV0ZSB3aGljaCBzaG91bGRcbiAgICogaGVscCB0aGUgYnJvd3NlciBkZWNpZGUgd2hpY2ggcmVzb3VyY2VzIGl0IHNob3VsZCBwcmlvcml0aXNlXG4gICAqIGR1cmluZyBwYWdlIGxvYWQuIFdlIHdpbGwgc2V0IHRoZSBhdHRyaWJ1dGUgdmFsdWUgYmFzZWQgb24gdGhlXG4gICAqIHZhbHVlLCB3ZSByZWNlaXZlIGluIHRoZSBsb2FkaW5nIGF0dHJpYnV0ZS4gJ2VhZ2VyJywgd2hpY2ggd2UgdXNlXG4gICAqIGZvciB0aGUgbGFyZ2VzdCBpbWFnZSB3aXRoaW4gdGhlIGluaXRpYWwgdmlld3BvcnQsIHdpbGwgc2V0IHRoZVxuICAgKiBhdHRyaWJ1dGUgdmFsdWUgdG8gJ2hpZ2gnLiAnbGF6eScsIHdoaWNoIHdlIHVzZSBmb3IgaW1hZ2VzIGJlbG93XG4gICAqIHRoZSBmb2xkLCB3aWxsIHNldCB0aGUgYXR0cmlidXRlIHZhbHVlIHRvICdsb3cnLlxuICAgKi9cbiAgQHByb3BlcnR5KCkgcHVibGljIGltcG9ydGFuY2U6ICdhdXRvJyB8ICdoaWdoJyB8ICdsb3cnID0gJ2hpZ2gnO1xuXG4gIC8qKlxuICAgKiBXaXRoIHRoZSBzdXBwb3J0IG9mIG5hdGl2ZSBpbWFnZSBsYXp5IGxvYWRpbmcsIHdlIGNhbiBub3dcbiAgICogZGVjaWRlIHdoZXRoZXIgd2Ugd2FudCB0byBsb2FkIHRoZSBpbWFnZSBpbW1lZGlhdGVseSBvciBvbmx5XG4gICAqIG9uY2UgaXQgaXMgY2xvc2UgdG8gdGhlIHZpc2libGUgdmlld3BvcnQuIFRoZSB2YWx1ZSBlYWdlciBpc1xuICAgKiBiZXN0IHVzZWQgZm9yIGltYWdlcyB3aXRoaW4gdGhlIGluaXRpYWwgdmlld3BvcnQuIFdlIHdhbnQgdG9cbiAgICogbG9hZCB0aGVzZSBpbWFnZXMgYXMgZmFzdCBhcyBwb3NzaWJsZSB0byBpbXByb3ZlIHRoZSBDb3JlIFdlYlxuICAgKiBWaXRhbHMgdmFsdWVzLiBsYXp5IG9uIHRoZSBvdGhlciBoYW5kIHdvcmtzIGJlc3QgZm9yIGltYWdlc1xuICAgKiB3aGljaCBhcmUgZnVydGhlciBkb3duIHRoZSBwYWdlIG9yIGludmlzaWJsZSBkdXJpbmcgdGhlIGxvYWRpbmdcbiAgICogb2YgdGhlIGluaXRpYWwgdmlld3BvcnQuXG4gICAqL1xuICBAcHJvcGVydHkoKSBwdWJsaWMgbG9hZGluZzogJ2VhZ2VyJyB8ICdsYXp5JyA9ICdlYWdlcic7XG5cbiAgLyoqXG4gICAqIFdpdGggcGVyZm9ybWFuY2UubWFyayB5b3UgY2FuIGxvZyBhIHRpbWVzdGFtcCBhc3NvY2lhdGVkIHdpdGhcbiAgICogdGhlIG5hbWUgeW91IGRlZmluZSBpbiBwZXJmb3JtYW5jZU1hcmsgd2hlbiBhIGNlcnRhaW4gZXZlbnQgaXNcbiAgICogaGFwcGVuaW5nLiBJbiBvdXIgY2FzZSB3ZSB3aWxsIGxvZyB0aGUgcGVyZm9ybWFuY2UubWFyayBpbnRvXG4gICAqIHRoZSBQZXJmb3JtYW5jZUVudHJ5IEFQSSBvbmNlIHRoZSBpbWFnZSBpcyBmdWxseSBsb2FkZWQuXG4gICAqIFBlcmZvcm1hbmNlIG1vbml0b3JpbmcgdG9vbHMgbGlrZSBTcGVlZEN1cnZlIG9yIExpZ2h0aG91c2UgYXJlXG4gICAqIHRoZW4gYWJsZSB0byBncmFiIHRoZXNlIGVudHJpZXMgZnJvbSB0aGUgUGVyZm9ybWFuY2VFbnRyeSBBUElcbiAgICogYW5kIGdpdmUgdXMgYWRkaXRpb25hbCBpbmZvcm1hdGlvbiBhbmQgaW5zaWdodHMgYWJvdXQgb3VyIHBhZ2VcbiAgICogbG9hZGluZyBiZWhhdmlvdXIuIFdlIGFyZSB0aGVuIGFsc28gYWJsZSB0byBtb25pdG9yIHRoZXNlXG4gICAqIHZhbHVlcyBvdmVyIGEgbG9uZyBwZXJpb2QgdG8gc2VlIGlmIG91ciBwZXJmb3JtYW5jZVxuICAgKiBpbmNyZWFzZXMgb3IgZGVjcmVhc2VzIG92ZXIgdGltZS4gQmVzdCB0byB1c2UgbG93ZXJjYXNlIHN0cmluZ3NcbiAgICogaGVyZSwgc2VwYXJhdGUgd29yZHMgd2l0aCB1bmRlcnNjb3JlcyBvciBkYXNoZXMuXG4gICAqL1xuICBAcHJvcGVydHkoeyBhdHRyaWJ1dGU6ICdwZXJmb3JtYW5jZS1tYXJrJyB9KSBwdWJsaWMgcGVyZm9ybWFuY2VNYXJrPzogc3RyaW5nO1xuXG4gIC8qKlxuICAgKiBXaXRoIHRoZSBwaWN0dXJlU2l6ZXNDb25maWcgb2JqZWN0LCB5b3UgY2FuIHBhc3MgaW4gaW5mb3JtYXRpb25cbiAgICogaW50byBpbWFnZSBhYm91dCB3aGF0IGtpbmQgb2Ygc291cmNlIGVsZW1lbnRzIHNob3VsZCBnZXRcbiAgICogcmVuZGVyZWQuIG1lZGlhUXVlcmllcyBhY2NlcHRzIG11bHRpcGxlIE1lZGlhIFF1ZXJ5IGVudHJpZXNcbiAgICogd2hpY2ggY2FuIGdldCBjb21iaW5lZCBieSBkZWZpbmluZyBhIGNvbmRpdGlvbk9wZXJhdG9yLlxuICAgKiBUeXBlIGlzOiBzdHJpbmdpZmllZCBJbnRlcmZhY2VJbWFnZUF0dHJpYnV0ZXNTaXplc0NvbmZpZy1PYmplY3RcbiAgICogQW4gZXhhbXBsZSBjb3VsZCBsb29rIGxpa2UgdGhpczpcbiAgICoge1xuICAgKiAgICBcImJyZWFrcG9pbnRzXCI6IFtcbiAgICogICAgICB7XG4gICAqICAgICAgICBcImltYWdlXCI6IHtcbiAgICogICAgICAgICAgXCJoZWlnaHRcIjogXCI2NzVcIixcbiAgICogICAgICAgICAgXCJ3aWR0aFwiOiBcIjEyMDBcIlxuICAgKiAgICAgICAgfSxcbiAgICogICAgICAgIFwibWVkaWFRdWVyaWVzXCI6IFtcbiAgICogICAgICAgICAge1xuICAgKiAgICAgICAgICAgIFwiY29uZGl0aW9uRmVhdHVyZVwiOiBcIm1pbi13aWR0aFwiLFxuICAgKiAgICAgICAgICAgIFwiY29uZGl0aW9uRmVhdHVyZVZhbHVlXCI6IHtcbiAgICogICAgICAgICAgICAgIFwibHluZURlc2lnblRva2VuXCI6IHRydWUsXG4gICAqICAgICAgICAgICAgICBcInZhbHVlXCI6IFwic2JiLWJyZWFrcG9pbnQtbGFyZ2UtbWluXCJcbiAgICogICAgICAgICAgICB9LFxuICAgKiAgICAgICAgICAgIFwiY29uZGl0aW9uT3BlcmF0b3JcIjogZmFsc2VcbiAgICogICAgICAgICAgfVxuICAgKiAgICAgICAgXVxuICAgKiAgICAgIH0sXG4gICAqICAgICAge1xuICAgKiAgICAgICAgXCJpbWFnZVwiOiB7XG4gICAqICAgICAgICAgIFwiaGVpZ2h0XCI6IFwiNTQ5XCIsXG4gICAqICAgICAgICAgIFwid2lkdGhcIjogXCI5NzZcIlxuICAgKiAgICAgICAgfSxcbiAgICogICAgICAgIFwibWVkaWFRdWVyaWVzXCI6IFtcbiAgICogICAgICAgICAge1xuICAgKiAgICAgICAgICAgIFwiY29uZGl0aW9uRmVhdHVyZVwiOiBcIm1pbi13aWR0aFwiLFxuICAgKiAgICAgICAgICAgIFwiY29uZGl0aW9uRmVhdHVyZVZhbHVlXCI6IHtcbiAgICogICAgICAgICAgICAgIFwibHluZURlc2lnblRva2VuXCI6IHRydWUsXG4gICAqICAgICAgICAgICAgICBcInZhbHVlXCI6IFwic2JiLWJyZWFrcG9pbnQtc21hbGwtbWluXCJcbiAgICogICAgICAgICAgICB9LFxuICAgKiAgICAgICAgICAgIFwiY29uZGl0aW9uT3BlcmF0b3JcIjogZmFsc2VcbiAgICogICAgICAgICAgfVxuICAgKiAgICAgICAgXVxuICAgKiAgICAgIH0sXG4gICAqICAgICAge1xuICAgKiAgICAgICAgXCJpbWFnZVwiOiB7XG4gICAqICAgICAgICAgIFwiaGVpZ2h0XCI6IFwiMTgwXCIsXG4gICAqICAgICAgICAgIFwid2lkdGhcIjogXCIzMjBcIlxuICAgKiAgICAgICAgfSxcbiAgICogICAgICAgIFwibWVkaWFRdWVyaWVzXCI6IFtcbiAgICogICAgICAgICAge1xuICAgKiAgICAgICAgICAgIFwiY29uZGl0aW9uRmVhdHVyZVwiOiBcIm1heC13aWR0aFwiLFxuICAgKiAgICAgICAgICAgIFwiY29uZGl0aW9uRmVhdHVyZVZhbHVlXCI6IHtcbiAgICogICAgICAgICAgICAgIFwibHluZURlc2lnblRva2VuXCI6IHRydWUsXG4gICAqICAgICAgICAgICAgICBcInZhbHVlXCI6IFwic2JiLWJyZWFrcG9pbnQtbWljcm8tbWF4XCJcbiAgICogICAgICAgICAgICB9LFxuICAgKiAgICAgICAgICAgIFwiY29uZGl0aW9uT3BlcmF0b3JcIjogXCJhbmRcIlxuICAgKiAgICAgICAgICB9LFxuICAgKiAgICAgICAgICB7XG4gICAqICAgICAgICAgICAgXCJjb25kaXRpb25GZWF0dXJlXCI6IFwib3JpZW50YXRpb25cIixcbiAgICogICAgICAgICAgICBcImNvbmRpdGlvbkZlYXR1cmVWYWx1ZVwiOiB7XG4gICAqICAgICAgICAgICAgICBcImx5bmVEZXNpZ25Ub2tlblwiOiBmYWxzZSxcbiAgICogICAgICAgICAgICAgIFwidmFsdWVcIjogXCJsYW5kc2NhcGVcIlxuICAgKiAgICAgICAgICAgIH0sXG4gICAqICAgICAgICAgICAgXCJjb25kaXRpb25PcGVyYXRvclwiOiBmYWxzZVxuICAgKiAgICAgICAgICB9XG4gICAqICAgICAgICBdXG4gICAqICAgICAgfVxuICAgKiAgICBdXG4gICAqICB9XG4gICAqL1xuICBAcHJvcGVydHkoeyBhdHRyaWJ1dGU6ICdwaWN0dXJlLXNpemVzLWNvbmZpZycgfSkgcHVibGljIHBpY3R1cmVTaXplc0NvbmZpZz86IHN0cmluZztcblxuICAvKipcbiAgICogQm9yZGVyIHJhZGl1cyBvZiB0aGUgaW1hZ2UuIENob29zZSBiZXR3ZWVuIGEgZGVmYXVsdCByYWRpdXMsIG5vIHJhZGl1cyBhbmQgYSBjb21wbGV0ZWx5IHJvdW5kIGltYWdlLlxuICAgKi9cbiAgQHByb3BlcnR5KHsgYXR0cmlidXRlOiAnYm9yZGVyLXJhZGl1cycsIHJlZmxlY3Q6IHRydWUgfSkgcHVibGljIGJvcmRlclJhZGl1czpcbiAgICB8ICdkZWZhdWx0J1xuICAgIHwgJ25vbmUnXG4gICAgfCAncm91bmQnID0gJ2RlZmF1bHQnO1xuXG4gIC8qKlxuICAgKiBTZXQgYW4gYXNwZWN0IHJhdGlvXG4gICAqIGRlZmF1bHQgaXMgJzE2LTknICgxNi85KVxuICAgKiBvdGhlciB2YWx1ZXM6ICdmcmVlJywgJzEtMScsICcxLTInLCAnMi0xJywgJzItMycsICczLTInLCAnMy00JywgJzQtMycsICc0LTUnLCAnNS00JywgJzktMTYnXG4gICAqL1xuICBAcHJvcGVydHkoeyBhdHRyaWJ1dGU6ICdhc3BlY3QtcmF0aW8nLCByZWZsZWN0OiB0cnVlIH0pXG4gIHB1YmxpYyBhc3BlY3RSYXRpbzpcbiAgICB8ICdmcmVlJ1xuICAgIHwgJzEtMSdcbiAgICB8ICcxLTInXG4gICAgfCAnMi0xJ1xuICAgIHwgJzItMydcbiAgICB8ICczLTInXG4gICAgfCAnMy00J1xuICAgIHwgJzQtMydcbiAgICB8ICc0LTUnXG4gICAgfCAnNS00J1xuICAgIHwgJzktMTYnXG4gICAgfCAnMTYtOScgPSAnMTYtOSc7XG5cbiAgLyoqIFdoZXRoZXIgdGhlIGltYWdlIGlzIGZpbmlzaGVkIGxvYWRpbmcgb3IgZmFpbGVkIHRvIGxvYWQuICovXG4gIHB1YmxpYyBnZXQgY29tcGxldGUoKTogYm9vbGVhbiB7XG4gICAgcmV0dXJuIHRoaXMuc2hhZG93Um9vdD8ucXVlcnlTZWxlY3Rvcj8uPEhUTUxJbWFnZUVsZW1lbnQ+KCcuc2JiLWltYWdlX19pbWcnKT8uY29tcGxldGUgPz8gZmFsc2U7XG4gIH1cblxuICBwdWJsaWMgb3ZlcnJpZGUgY29ubmVjdGVkQ2FsbGJhY2soKTogdm9pZCB7XG4gICAgc3VwZXIuY29ubmVjdGVkQ2FsbGJhY2soKTtcbiAgICAvLyBDaGVjayBpZiB0aGUgY3VycmVudCBlbGVtZW50IGlzIG5lc3RlZCBpbiBhbiBgPHNiYi10ZWFzZXItaGVybz5gIGVsZW1lbnQgb24gaW4gYW4gYDxzYmItdGVhc2VyLXBhaWQ+YCBlbGVtZW50LlxuICAgIHRoaXMudG9nZ2xlQXR0cmlidXRlKFxuICAgICAgJ2RhdGEtdGVhc2VyJyxcbiAgICAgICEhaG9zdENvbnRleHQoJ3NiYi10ZWFzZXItaGVybycsIHRoaXMpIHx8ICEhdGhpcy5jbG9zZXN0KCdzYmItdGVhc2VyLXBhaWQnKSxcbiAgICApO1xuICB9XG5cbiAgcHJvdGVjdGVkIG92ZXJyaWRlIHVwZGF0ZWQoY2hhbmdlZFByb3BlcnRpZXM6IFByb3BlcnR5VmFsdWVzPHRoaXM+KTogdm9pZCB7XG4gICAgc3VwZXIudXBkYXRlZChjaGFuZ2VkUHJvcGVydGllcyk7XG5cbiAgICBpZiAoIXRoaXMuX2NhcHRpb25FbGVtZW50KSB7XG4gICAgICByZXR1cm47XG4gICAgfVxuXG4gICAgdGhpcy5fbGlua3NJbkNhcHRpb24gPSB0aGlzLl9jYXB0aW9uRWxlbWVudC5xdWVyeVNlbGVjdG9yQWxsPEhUTUxMaW5rRWxlbWVudD4oJ2EnKTtcblxuICAgIGlmICghdGhpcy5fbGlua3NJbkNhcHRpb24pIHtcbiAgICAgIHJldHVybjtcbiAgICB9XG5cbiAgICB0aGlzLl9hZGRGb2N1c0FiaWxpdHlUb0xpbmtzSW5DYXB0aW9uKCk7XG4gIH1cblxuICBwcm90ZWN0ZWQgb3ZlcnJpZGUgYXN5bmMgZmlyc3RVcGRhdGVkKGNoYW5nZWRQcm9wZXJ0aWVzOiBQcm9wZXJ0eVZhbHVlczx0aGlzPik6IFByb21pc2U8dm9pZD4ge1xuICAgIHN1cGVyLmZpcnN0VXBkYXRlZChjaGFuZ2VkUHJvcGVydGllcyk7XG5cbiAgICAvLyBXZSBuZWVkIHRvIHdhaXQgdW50aWwgdGhlIHVwZGF0ZSBpcyBjb21wbGV0ZSB0byBjaGVjayB3aGV0aGVyIHRoZSBpbWFnZSBoYXMgYWxyZWFkeSBiZWVuIGNvbXBsZXRlbHkgbG9hZGVkLlxuICAgIGF3YWl0IHRoaXMudXBkYXRlQ29tcGxldGU7XG4gICAgaWYgKHRoaXMuY29tcGxldGUpIHtcbiAgICAgIHRoaXMudG9nZ2xlQXR0cmlidXRlKCdkYXRhLWxvYWRlZCcsIHRydWUpO1xuICAgIH1cbiAgfVxuXG4gIHByaXZhdGUgX2xvZ1BlcmZvcm1hbmNlTWFya3MoKTogdm9pZCB7XG4gICAgaWYgKHRoaXMucGVyZm9ybWFuY2VNYXJrKSB7XG4gICAgICBwZXJmb3JtYW5jZS5jbGVhck1hcmtzKHRoaXMucGVyZm9ybWFuY2VNYXJrKTtcbiAgICAgIHBlcmZvcm1hbmNlLm1hcmsodGhpcy5wZXJmb3JtYW5jZU1hcmspO1xuICAgIH1cbiAgfVxuXG4gIHByaXZhdGUgX21hdGNoTWVkaWFRdWVyeURlc2lnblRva2VuKGJyZWFrcG9pbnRTaXplTmFtZTogc3RyaW5nKTogc3RyaW5nIHtcbiAgICBjb25zdCB2YWx1ZSA9IGJyZWFrcG9pbnRNYXBbYnJlYWtwb2ludFNpemVOYW1lXTtcbiAgICByZXR1cm4gdmFsdWUgPyBgJHt2YWx1ZX1yZW1gIDogJyc7XG4gIH1cblxuICBwcml2YXRlIF9hZGRGb2N1c0FiaWxpdHlUb0xpbmtzSW5DYXB0aW9uKCk6IHZvaWQge1xuICAgIHRoaXMuX2xpbmtzSW5DYXB0aW9uPy5mb3JFYWNoKChsaW5rKSA9PiB7XG4gICAgICBsaW5rLnJlbW92ZUF0dHJpYnV0ZSgndGFiaW5kZXgnKTtcbiAgICB9KTtcbiAgfVxuXG4gIHByaXZhdGUgX3ByZXBhcmVJbWFnZVVybChiYXNlVXJsOiBzdHJpbmcgfCB1bmRlZmluZWQsIGxxdWlwID0gZmFsc2UpOiBzdHJpbmcge1xuICAgIGlmICghYmFzZVVybCB8fCBiYXNlVXJsID09PSAnJykge1xuICAgICAgcmV0dXJuICcnO1xuICAgIH1cblxuICAgIC8vIENyZWF0aW5nIGFuIFVSTCB3aXRob3V0IGEgc2NoZW1hIHdpbGwgZmFpbCwgYnV0IGlzIGEgdmFsaWQgaW5wdXQgZm9yIGJhc2VVcmwuXG4gICAgLy8gZS5nLiBpbWFnZS1zcmMgY2FuIGJlIGh0dHBzOi8vZXhhbXBsZS5jb20vbXktaW1hZ2UucG5nIG9yIC9teS1pbWFnZS5wbmdcbiAgICBjb25zdCBpc0Z1bGx5UXVhbGlmaWVkVXJsID0gISFiYXNlVXJsLm1hdGNoKC9eXFx3KzpcXC9cXC8vKTtcbiAgICBjb25zdCBpbWFnZVVybE9iaiA9IGlzRnVsbHlRdWFsaWZpZWRVcmwgPyBuZXcgVVJMKGJhc2VVcmwpIDogbmV3IFVSTChgaHR0cDovL25vb3AvJHtiYXNlVXJsfWApO1xuXG4gICAgaWYgKGxxdWlwKSB7XG4gICAgICAvLyBibHVyIGFuZCBzaXplOiA/Ymx1cj0xMDAmdz0xMDAmaD01NlxuICAgICAgaW1hZ2VVcmxPYmouc2VhcmNoUGFyYW1zLmFwcGVuZCgnYmx1cicsICcxMDAnKTtcbiAgICAgIGltYWdlVXJsT2JqLnNlYXJjaFBhcmFtcy5hcHBlbmQoJ3cnLCAnMTAwJyk7XG4gICAgICBpbWFnZVVybE9iai5zZWFyY2hQYXJhbXMuYXBwZW5kKCdoJywgJzU2Jyk7XG4gICAgfSBlbHNlIHtcbiAgICAgIC8vIENETiBJbmZvcm1hdGlvbjogaHR0cHM6Ly9kb2NzLmltZ2l4LmNvbS9hcGlzL3JlbmRlcmluZ1xuICAgICAgLy8gcGFyYW0uYXV0bzogP2F1dG89Zm9ybWF0LGNvbXByZXNzLGNzPXRpbnlzcmdiXG4gICAgICBpbWFnZVVybE9iai5zZWFyY2hQYXJhbXMuYXBwZW5kKCdhdXRvJywgJ2Zvcm1hdCxjb21wcmVzcyxjcz10aW55c3JnYicpO1xuICAgIH1cblxuICAgIGlmICh0aGlzLmN1c3RvbUZvY2FsUG9pbnQpIHtcbiAgICAgIC8vIGNyb3A6IGAmZml0PWNyb3AmY3JvcD1mb2NhbHBvaW50JmZwLXg9JHt0aGlzLmZvY2FsUG9pbnRYfSZmcC15PSR7dGhpcy5mb2NhbFBvaW50WX0mZnAtej0xYCxcbiAgICAgIGltYWdlVXJsT2JqLnNlYXJjaFBhcmFtcy5hcHBlbmQoJ2ZpdCcsICdjcm9wJyk7XG4gICAgICBpbWFnZVVybE9iai5zZWFyY2hQYXJhbXMuYXBwZW5kKCdjcm9wJywgJ2ZvY2FscG9pbnQnKTtcbiAgICAgIGltYWdlVXJsT2JqLnNlYXJjaFBhcmFtcy5hcHBlbmQoJ2ZwLXgnLCB0aGlzLmZvY2FsUG9pbnRYLnRvU3RyaW5nKDEwKSk7XG4gICAgICBpbWFnZVVybE9iai5zZWFyY2hQYXJhbXMuYXBwZW5kKCdmcC15JywgdGhpcy5mb2NhbFBvaW50WS50b1N0cmluZygxMCkpO1xuICAgICAgaW1hZ2VVcmxPYmouc2VhcmNoUGFyYW1zLmFwcGVuZCgnZnAteicsICcxJyk7XG4gICAgfVxuXG4gICAgaWYgKHRoaXMuZm9jYWxQb2ludERlYnVnKSB7XG4gICAgICAvLyBmb2NhbFBvaW50RGVidWc6ICcmZnAtZGVidWc9dHJ1ZSdcbiAgICAgIGltYWdlVXJsT2JqLnNlYXJjaFBhcmFtcy5hcHBlbmQoJ2ZwLWRlYnVnJywgJ3RydWUnKTtcbiAgICB9XG5cbiAgICAvLyBJbiBjYXNlIG9mIFwibm9vcFwiIGhvc3QsIHdlIGRvbid0IHJldHVybiB0aGUgaG9zdCBhbmQgbXVzdCByZW1vdmUgdGhlXG4gICAgLy8gc3RhcnRpbmcgYC9gIG9mIHRoZSBwYXRobmFtZS5cbiAgICByZXR1cm4gaXNGdWxseVF1YWxpZmllZFVybFxuICAgICAgPyBpbWFnZVVybE9iai5ocmVmXG4gICAgICA6IGltYWdlVXJsT2JqLnBhdGhuYW1lLnN1YnN0cmluZygxKSArIGltYWdlVXJsT2JqLnNlYXJjaDtcbiAgfVxuXG4gIHByaXZhdGUgX3ByZXBhcmVQaWN0dXJlU2l6ZUNvbmZpZ3MoKTogSW50ZXJmYWNlSW1hZ2VBdHRyaWJ1dGVzU2l6ZXNDb25maWdCcmVha3BvaW50W10ge1xuICAgIGxldCBwaWN0dXJlU2l6ZXNDb25maWc7XG5cbiAgICBpZiAodGhpcy5waWN0dXJlU2l6ZXNDb25maWcpIHtcbiAgICAgIHBpY3R1cmVTaXplc0NvbmZpZyA9IHRoaXMucGljdHVyZVNpemVzQ29uZmlnO1xuICAgIH0gZWxzZSB7XG4gICAgICAvLyBkZWZhdWx0IGNvbmZpZ1xuICAgICAgcGljdHVyZVNpemVzQ29uZmlnID0gYHtcbiAgICAgICAgXCJicmVha3BvaW50c1wiOiBbXG4gICAgICAgICAge1xuICAgICAgICAgICAgXCJpbWFnZVwiOiB7XG4gICAgICAgICAgICAgIFwiaGVpZ2h0XCI6IDY3NSxcbiAgICAgICAgICAgICAgXCJ3aWR0aFwiOiAxMjAwXG4gICAgICAgICAgICB9LFxuICAgICAgICAgICAgXCJtZWRpYVF1ZXJpZXNcIjogW1xuICAgICAgICAgICAgICB7XG4gICAgICAgICAgICAgICAgXCJjb25kaXRpb25GZWF0dXJlXCI6IFwibWluLXdpZHRoXCIsXG4gICAgICAgICAgICAgICAgXCJjb25kaXRpb25GZWF0dXJlVmFsdWVcIjoge1xuICAgICAgICAgICAgICAgICAgXCJseW5lRGVzaWduVG9rZW5cIjogdHJ1ZSxcbiAgICAgICAgICAgICAgICAgIFwidmFsdWVcIjogXCJzYmItYnJlYWtwb2ludC1sYXJnZS1taW5cIlxuICAgICAgICAgICAgICAgIH0sXG4gICAgICAgICAgICAgICAgXCJjb25kaXRpb25PcGVyYXRvclwiOiBmYWxzZVxuICAgICAgICAgICAgICB9XG4gICAgICAgICAgICBdXG4gICAgICAgICAgfSxcbiAgICAgICAgICB7XG4gICAgICAgICAgICBcImltYWdlXCI6IHtcbiAgICAgICAgICAgICAgXCJoZWlnaHRcIjogNTQ5LFxuICAgICAgICAgICAgICBcIndpZHRoXCI6IDk3NlxuICAgICAgICAgICAgfSxcbiAgICAgICAgICAgIFwibWVkaWFRdWVyaWVzXCI6IFtcbiAgICAgICAgICAgICAge1xuICAgICAgICAgICAgICAgIFwiY29uZGl0aW9uRmVhdHVyZVwiOiBcIm1pbi13aWR0aFwiLFxuICAgICAgICAgICAgICAgIFwiY29uZGl0aW9uRmVhdHVyZVZhbHVlXCI6IHtcbiAgICAgICAgICAgICAgICAgIFwibHluZURlc2lnblRva2VuXCI6IHRydWUsXG4gICAgICAgICAgICAgICAgICBcInZhbHVlXCI6IFwic2JiLWJyZWFrcG9pbnQtbWljcm8tbWluXCJcbiAgICAgICAgICAgICAgICB9LFxuICAgICAgICAgICAgICAgIFwiY29uZGl0aW9uT3BlcmF0b3JcIjogZmFsc2VcbiAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgXVxuICAgICAgICAgIH0sXG4gICAgICAgICAge1xuICAgICAgICAgICAgXCJpbWFnZVwiOiB7XG4gICAgICAgICAgICAgIFwiaGVpZ2h0XCI6IDE4MCxcbiAgICAgICAgICAgICAgXCJ3aWR0aFwiOiAzMjBcbiAgICAgICAgICAgIH0sXG4gICAgICAgICAgICBcIm1lZGlhUXVlcmllc1wiOiBbXG4gICAgICAgICAgICAgIHtcbiAgICAgICAgICAgICAgICBcImNvbmRpdGlvbkZlYXR1cmVcIjogXCJtYXgtd2lkdGhcIixcbiAgICAgICAgICAgICAgICBcImNvbmRpdGlvbkZlYXR1cmVWYWx1ZVwiOiB7XG4gICAgICAgICAgICAgICAgICBcImx5bmVEZXNpZ25Ub2tlblwiOiB0cnVlLFxuICAgICAgICAgICAgICAgICAgXCJ2YWx1ZVwiOiBcInNiYi1icmVha3BvaW50LXplcm8tbWF4XCJcbiAgICAgICAgICAgICAgICB9LFxuICAgICAgICAgICAgICAgIFwiY29uZGl0aW9uT3BlcmF0b3JcIjogZmFsc2VcbiAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgXVxuICAgICAgICAgIH1cbiAgICAgICAgXVxuICAgICAgfWA7XG4gICAgfVxuXG4gICAgcmV0dXJuIGltYWdlSGVscGVyR2V0QnJlYWtwb2ludHMocGljdHVyZVNpemVzQ29uZmlnKTtcbiAgfVxuXG4gIHByaXZhdGUgX2NyZWF0ZU1lZGlhUXVlcnlTdHJpbmcoXG4gICAgbWVkaWFRdWVyaWVzOiBJbnRlcmZhY2VJbWFnZUF0dHJpYnV0ZXNTaXplc0NvbmZpZ01lZGlhUXVlcnlbXSxcbiAgKTogc3RyaW5nIHtcbiAgICBsZXQgbWVkaWFRdWVyeSA9ICcnO1xuXG4gICAgbWVkaWFRdWVyaWVzLmZvckVhY2goKG1xKSA9PiB7XG4gICAgICBjb25zdCBtcUNvbmRpdGlvbiA9IG1xLmNvbmRpdGlvbkZlYXR1cmU7XG4gICAgICBsZXQgbXFWYWx1ZTtcblxuICAgICAgaWYgKG1xLmNvbmRpdGlvbkZlYXR1cmVWYWx1ZS5seW5lRGVzaWduVG9rZW4pIHtcbiAgICAgICAgbXFWYWx1ZSA9IHRoaXMuX21hdGNoTWVkaWFRdWVyeURlc2lnblRva2VuKG1xLmNvbmRpdGlvbkZlYXR1cmVWYWx1ZS52YWx1ZSk7XG4gICAgICB9IGVsc2Uge1xuICAgICAgICBtcVZhbHVlID0gbXEuY29uZGl0aW9uRmVhdHVyZVZhbHVlLnZhbHVlO1xuICAgICAgfVxuXG4gICAgICBjb25zdCBtcUNvbWJpbmVyID0gbXEuY29uZGl0aW9uT3BlcmF0b3IgPyBgICR7bXEuY29uZGl0aW9uT3BlcmF0b3J9IGAgOiAnJztcblxuICAgICAgbWVkaWFRdWVyeSArPSBgKCR7bXFDb25kaXRpb259OiAke21xVmFsdWV9KSR7bXFDb21iaW5lcn1gO1xuICAgIH0pO1xuXG4gICAgcmV0dXJuIG1lZGlhUXVlcnk7XG4gIH1cblxuICBAZXZlbnRPcHRpb25zKGV2ZW50TGlzdGVuZXJPcHRpb25zKVxuICBwcml2YXRlIF9pbWFnZUxvYWRlZCgpOiB2b2lkIHtcbiAgICB0aGlzLl9sb2dQZXJmb3JtYW5jZU1hcmtzKCk7XG4gICAgdGhpcy50b2dnbGVBdHRyaWJ1dGUoJ2RhdGEtbG9hZGVkJywgdHJ1ZSk7XG4gICAgdGhpcy5kaXNwYXRjaEV2ZW50KG5ldyBFdmVudCgnbG9hZCcpKTtcbiAgfVxuXG4gIHByb3RlY3RlZCBvdmVycmlkZSByZW5kZXIoKTogVGVtcGxhdGVSZXN1bHQge1xuICAgIGxldCB7IGNhcHRpb24gfSA9IHRoaXM7XG4gICAgbGV0IHNjaGVtYURhdGEgPSAnJztcblxuICAgIGNvbnN0IGltYWdlVXJsTFFJUCA9IHRoaXMuX3ByZXBhcmVJbWFnZVVybCh0aGlzLmltYWdlU3JjLCB0cnVlKTtcbiAgICBjb25zdCBpbWFnZVVybFdpdGhQYXJhbXMgPSB0aGlzLl9wcmVwYXJlSW1hZ2VVcmwodGhpcy5pbWFnZVNyYywgZmFsc2UpO1xuXG4gICAgaWYgKHRoaXMubG9hZGluZyA9PT0gJ2xhenknKSB7XG4gICAgICB0aGlzLmRlY29kaW5nID0gJ2FzeW5jJztcbiAgICAgIHRoaXMuaW1wb3J0YW5jZSA9ICdsb3cnO1xuICAgIH1cblxuICAgIGlmICh0aGlzLmNvcHlyaWdodCkge1xuICAgICAgY2FwdGlvbiA9IGAke3RoaXMuY2FwdGlvbn0gwqkke3RoaXMuY29weXJpZ2h0fWA7XG4gICAgICBzY2hlbWFEYXRhID0gYHtcbiAgICAgICAgXCJAY29udGV4dFwiOiBcImh0dHBzOi8vc2NoZW1hLm9yZ1wiLFxuICAgICAgICBcIkB0eXBlXCI6IFwiUGhvdG9ncmFwaFwiLFxuICAgICAgICBcImltYWdlXCI6IFwiJHt0aGlzLmltYWdlU3JjfVwiLFxuICAgICAgICBcImNvcHlyaWdodEhvbGRlclwiOiB7XG4gICAgICAgICAgXCJAdHlwZVwiOiBcIiR7dGhpcy5jb3B5cmlnaHRIb2xkZXJ9XCIsXG4gICAgICAgICAgXCJuYW1lXCI6IFwiJHt0aGlzLmNvcHlyaWdodH1cIlxuICAgICAgICB9XG4gICAgICB9YDtcbiAgICB9XG5cbiAgICBjb25zdCBwaWN0dXJlU2l6ZUNvbmZpZ3MgPSB0aGlzLl9wcmVwYXJlUGljdHVyZVNpemVDb25maWdzKCk7XG5cbiAgICAvKipcbiAgICAgKiBUaGUgYWx0IGF0dHJpYnV0ZSBzaG91bGQgYWx3YXlzIGJlIHByZXNlbnQgZm9yIHRoZSBpbWcgZWxlbWVudC5cbiAgICAgKiBJZiBpdCBoYXMgYW4gZW1wdHkgc3RyaW5nIGFzIGl0cyB2YWx1ZSwgaXQgaXMgc2ltcGx5IGlnbm9yZWRcbiAgICAgKiBieSBhc3Npc3RpdmUgdGVjaG5vbG9naWVzLiBJZiB3ZSBsZWF2ZSBpdCBvdXQgY29tcGxldGVseSxcbiAgICAgKiB0aGV5IG1pZ2h0IHRyeSB0byBpbnRlcnByZXQgdGhlIGltZyBlbGVtZW50LlxuICAgICAqL1xuICAgIHJldHVybiBodG1sYFxuICAgICAgPGZpZ3VyZSBjbGFzcz1cInNiYi1pbWFnZV9fZmlndXJlXCI+XG4gICAgICAgIDxkaXYgY2xhc3M9XCJzYmItaW1hZ2VfX3dyYXBwZXJcIj5cbiAgICAgICAgICAkeyF0aGlzLnNraXBMcWlwXG4gICAgICAgICAgICA/IGh0bWxgPGltZ1xuICAgICAgICAgICAgICAgIGFsdD1cIlwiXG4gICAgICAgICAgICAgICAgY2xhc3M9XCJzYmItaW1hZ2VfX2JsdXJyZWRcIlxuICAgICAgICAgICAgICAgIHNyYz0ke2ltYWdlVXJsTFFJUH1cbiAgICAgICAgICAgICAgICB3aWR0aD1cIjEwMDBcIlxuICAgICAgICAgICAgICAgIGhlaWdodD1cIjU2MlwiXG4gICAgICAgICAgICAgICAgbG9hZGluZz0ke3RoaXMubG9hZGluZyA/PyBub3RoaW5nfVxuICAgICAgICAgICAgICAgIGRlY29kaW5nPSR7dGhpcy5kZWNvZGluZyA/PyBub3RoaW5nfVxuICAgICAgICAgICAgICAvPmBcbiAgICAgICAgICAgIDogbm90aGluZ31cblxuICAgICAgICAgIDxwaWN0dXJlPlxuICAgICAgICAgICAgPCEtLSByZW5kZXIgcGljdHVyZSBlbGVtZW50IHNvdXJjZXMgLS0+XG4gICAgICAgICAgICAke3BpY3R1cmVTaXplQ29uZmlncy5tYXAoKGNvbmZpZykgPT4ge1xuICAgICAgICAgICAgICBjb25zdCBpbWFnZUhlaWdodCA9IGNvbmZpZy5pbWFnZS5oZWlnaHQ7XG4gICAgICAgICAgICAgIGNvbnN0IGltYWdlV2lkdGggPSBjb25maWcuaW1hZ2Uud2lkdGg7XG4gICAgICAgICAgICAgIGNvbnN0IG1lZGlhUXVlcnkgPSB0aGlzLl9jcmVhdGVNZWRpYVF1ZXJ5U3RyaW5nKGNvbmZpZy5tZWRpYVF1ZXJpZXMpO1xuICAgICAgICAgICAgICByZXR1cm4gW1xuICAgICAgICAgICAgICAgIGh0bWxgIDxzb3VyY2VcbiAgICAgICAgICAgICAgICAgIG1lZGlhPSR7YCR7bWVkaWFRdWVyeX1gfVxuICAgICAgICAgICAgICAgICAgc2l6ZXM9JHtgJHtpbWFnZVdpZHRofXB4YH1cbiAgICAgICAgICAgICAgICAgIHNyY3NldD0ke1xuICAgICAgICAgICAgICAgICAgICBgJHtpbWFnZVVybFdpdGhQYXJhbXN9Jnc9JHtpbWFnZVdpZHRofSZoPSR7aW1hZ2VIZWlnaHR9JnE9JHt0aGlzLl9jb25maWcubm9uUmV0aW5hUXVhbGl0eX0gJHtpbWFnZVdpZHRofXcsIGAgK1xuICAgICAgICAgICAgICAgICAgICBgJHtpbWFnZVVybFdpdGhQYXJhbXN9Jnc9JHtpbWFnZVdpZHRoICogMn0maD0ke2ltYWdlSGVpZ2h0ICogMn0mcT0ke1xuICAgICAgICAgICAgICAgICAgICAgIHRoaXMuX2NvbmZpZy5yZXRpbmFRdWFsaXR5XG4gICAgICAgICAgICAgICAgICAgIH0gJHtpbWFnZVdpZHRoICogMn13YFxuICAgICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgICAgID48L3NvdXJjZT5gLFxuICAgICAgICAgICAgICBdO1xuICAgICAgICAgICAgfSl9XG4gICAgICAgICAgICA8aW1nXG4gICAgICAgICAgICAgIGFsdD0ke3RoaXMuYWx0IHx8ICcnfVxuICAgICAgICAgICAgICBAbG9hZD0ke3RoaXMuX2ltYWdlTG9hZGVkfVxuICAgICAgICAgICAgICBAZXJyb3I9JHsoKSA9PiB0aGlzLmRpc3BhdGNoRXZlbnQobmV3IEV2ZW50KCdlcnJvcicpKX1cbiAgICAgICAgICAgICAgY2xhc3M9XCJzYmItaW1hZ2VfX2ltZ1wiXG4gICAgICAgICAgICAgIHNyYz0ke3RoaXMuaW1hZ2VTcmMhfVxuICAgICAgICAgICAgICB3aWR0aD1cIjEwMDBcIlxuICAgICAgICAgICAgICBoZWlnaHQ9XCI1NjJcIlxuICAgICAgICAgICAgICBsb2FkaW5nPSR7dGhpcy5sb2FkaW5nID8/IG5vdGhpbmd9XG4gICAgICAgICAgICAgIGRlY29kaW5nPSR7dGhpcy5kZWNvZGluZyA/PyBub3RoaW5nfVxuICAgICAgICAgICAgICAuZmV0Y2hQcmlvcml0eT0ke3RoaXMuaW1wb3J0YW5jZSA/PyBub3RoaW5nfVxuICAgICAgICAgICAgLz5cbiAgICAgICAgICA8L3BpY3R1cmU+XG4gICAgICAgIDwvZGl2PlxuICAgICAgICAke2NhcHRpb25cbiAgICAgICAgICA/IGh0bWxgPGZpZ2NhcHRpb25cbiAgICAgICAgICAgICAgY2xhc3M9XCJzYmItaW1hZ2VfX2NhcHRpb25cIlxuICAgICAgICAgICAgICAuaW5uZXJIVE1MPSR7Y2FwdGlvbn1cbiAgICAgICAgICAgICAgJHtyZWYoKGVsKTogdm9pZCA9PiB7XG4gICAgICAgICAgICAgICAgdGhpcy5fY2FwdGlvbkVsZW1lbnQgPSBlbCBhcyBIVE1MRWxlbWVudDtcbiAgICAgICAgICAgICAgfSl9XG4gICAgICAgICAgICA+PC9maWdjYXB0aW9uPmBcbiAgICAgICAgICA6IG5vdGhpbmd9XG4gICAgICAgICR7c2NoZW1hRGF0YVxuICAgICAgICAgID8gaHRtbGA8c2NyaXB0IHR5cGU9XCJhcHBsaWNhdGlvbi9sZCtqc29uXCIgLmlubmVySFRNTD0ke3NjaGVtYURhdGF9Pjwvc2NyaXB0PmBcbiAgICAgICAgICA6IG5vdGhpbmd9XG4gICAgICA8L2ZpZ3VyZT5cbiAgICBgO1xuICB9XG59XG5cbmRlY2xhcmUgZ2xvYmFsIHtcbiAgaW50ZXJmYWNlIEhUTUxFbGVtZW50VGFnTmFtZU1hcCB7XG4gICAgLy8gZXNsaW50LWRpc2FibGUtbmV4dC1saW5lIEB0eXBlc2NyaXB0LWVzbGludC9uYW1pbmctY29udmVudGlvblxuICAgICdzYmItaW1hZ2UnOiBTYmJJbWFnZUVsZW1lbnQ7XG4gIH1cbn1cbiJdLCJuYW1lcyI6WyJfYSJdLCJtYXBwaW5ncyI6Ijs7OztBQXNCTyxNQUFNLHVCQUF1QjtBQUM3QixNQUFNLHVCQUF1QjtBQUM3QixNQUFNLHdCQUF3QjtBQUM5QixNQUFNLHdCQUF3QjtBQUM5QixNQUFNLHdCQUF3QjtBQUM5QixNQUFNLHdCQUF3QjtBQUM5QixNQUFNLHlCQUF5QjtBQUMvQixNQUFNLHlCQUF5QjtBQUMvQixNQUFNLHdCQUF3QjtBQUM5QixNQUFNLHdCQUF3QjtBQUM5QixNQUFNLHVCQUF1QjtBQUM3QixNQUFNLHVCQUF1QjtBQUM3QixNQUFNLHdCQUF3QjtBQUM5QixNQUFNLHdCQUF3QjtBQXNSOUIsTUFBTSxzQkFBc0I7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7OztBQ3pUbkMsSUFBQTtBQXdEQSxNQUFNLDRCQUE0QixDQUNoQyxlQUNvRDtBQUNwRCxNQUFJLENBQUMsY0FBYyxXQUFXLFdBQVcsR0FBRztBQUMxQyxXQUFPO0VBQ1Q7QUFHTSxRQUFBLGFBQ0YsTUFDRSxRQUFRO0FBQUEsSUFDTjtBQUFBLEVBQUE7QUFHSixNQUFBO0FBRUEsTUFBQTtBQUNXLGlCQUFBLEtBQUssTUFBTSxVQUFVO0FBQUEsRUFBQSxRQUM1QjtBQUNPO0FBQ2IsV0FBTztFQUNUO0FBRUEsTUFBSSxDQUFDLFdBQVcsZUFBZSxXQUFXLFlBQVksV0FBVyxHQUFHO0FBQ3JEO0FBQ2IsV0FBTztFQUNUO0FBR0EsTUFBSSxDQUFDLE1BQU0sUUFBUSxXQUFXLFdBQVcsR0FBRztBQUM3QjtBQUNiLFdBQU87RUFDVDtBQU1BLE1BQUksbUJBQW1CO0FBQ3ZCLE1BQUkscUJBQXFCO0FBRW5CLFFBQUEsY0FBYyxDQUFD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
@@ -6,14 +6,7 @@ import { SbbNegativeMixin } from "./core/mixins.js";
6
6
  import "./icon.js";
7
7
  import "./screen-reader-only.js";
8
8
  import "./title.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;
@@ -120,4 +113,4 @@ SbbJourneyHeaderElement = __decorateClass([
120
113
  export {
121
114
  SbbJourneyHeaderElement
122
115
  };
123
- //# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiam91cm5leS1oZWFkZXIuanMiLCJzb3VyY2VzIjpbIi4uLy4uLy4uL3NyYy9lbGVtZW50cy9qb3VybmV5LWhlYWRlci9qb3VybmV5LWhlYWRlci50cyJdLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgdHlwZSB7IENTU1Jlc3VsdEdyb3VwLCBUZW1wbGF0ZVJlc3VsdCB9IGZyb20gJ2xpdCc7XG5pbXBvcnQgeyBodG1sLCBMaXRFbGVtZW50LCBub3RoaW5nIH0gZnJvbSAnbGl0JztcbmltcG9ydCB7IGN1c3RvbUVsZW1lbnQsIHByb3BlcnR5IH0gZnJvbSAnbGl0L2RlY29yYXRvcnMuanMnO1xuXG5pbXBvcnQgeyBTYmJMYW5ndWFnZUNvbnRyb2xsZXIgfSBmcm9tICcuLi9jb3JlL2NvbnRyb2xsZXJzLmpzJztcbmltcG9ydCB7IGkxOG5Db25uZWN0aW9uRnJvbSwgaTE4bkNvbm5lY3Rpb25Sb3VuZHRyaXAsIGkxOG5Db25uZWN0aW9uVG8gfSBmcm9tICcuLi9jb3JlL2kxOG4uanMnO1xuaW1wb3J0IHsgU2JiTmVnYXRpdmVNaXhpbiB9IGZyb20gJy4uL2NvcmUvbWl4aW5zLmpzJztcbmltcG9ydCB0eXBlIHsgU2JiVGl0bGVMZXZlbCB9IGZyb20gJy4uL3RpdGxlLmpzJztcblxuaW1wb3J0IHN0eWxlIGZyb20gJy4vam91cm5leS1oZWFkZXIuc2Nzcz9saXQmaW5saW5lJztcblxuaW1wb3J0ICcuLi9pY29uLmpzJztcbmltcG9ydCAnLi4vc2NyZWVuLXJlYWRlci1vbmx5LmpzJztcbmltcG9ydCAnLi4vdGl0bGUuanMnO1xuXG5leHBvcnQgdHlwZSBKb3VybmV5SGVhZGVyU2l6ZSA9ICdzJyB8ICdtJyB8ICdsJztcblxuY29uc3Qgc2l6ZVRvTGV2ZWw6IE1hcDxKb3VybmV5SGVhZGVyU2l6ZSwgc3RyaW5nPiA9IG5ldyBNYXA8Sm91cm5leUhlYWRlclNpemUsIHN0cmluZz4oW1xuICBbJ3MnLCAnNiddLFxuICBbJ20nLCAnNSddLFxuICBbJ2wnLCAnNCddLFxuXSk7XG5cbi8qKlxuICogQ29tYmluZWQgd2l0aCB0aGUgYHNiYi1qb3VybmV5LXN1bW1hcnlgLCBpdCBkaXNwbGF5cyB0aGUgam91cm5leSdzIGRldGFpbC5cbiAqL1xuQGN1c3RvbUVsZW1lbnQoJ3NiYi1qb3VybmV5LWhlYWRlcicpXG5leHBvcnQgY2xhc3MgU2JiSm91cm5leUhlYWRlckVsZW1lbnQgZXh0ZW5kcyBTYmJOZWdhdGl2ZU1peGluKExpdEVsZW1lbnQpIHtcbiAgcHVibGljIHN0YXRpYyBvdmVycmlkZSBzdHlsZXM6IENTU1Jlc3VsdEdyb3VwID0gc3R5bGU7XG5cbiAgLyoqIE9yaWdpbiBsb2NhdGlvbiBmb3IgdGhlIGpvdXJuZXkgaGVhZGVyLiAqL1xuICBAcHJvcGVydHkoKSBwdWJsaWMgb3JpZ2luITogc3RyaW5nO1xuXG4gIC8qKiBEZXN0aW5hdGlvbiBsb2NhdGlvbiBmb3IgdGhlIGpvdXJuZXkgaGVhZGVyLiAqL1xuICBAcHJvcGVydHkoKSBwdWJsaWMgZGVzdGluYXRpb24hOiBzdHJpbmc7XG5cbiAgLyoqIFdoZXRoZXIgdGhlIGpvdXJuZXkgaXMgYSByb3VuZCB0cmlwLiBJZiBzbywgdGhlIGljb24gY2hhbmdlcyB0byBhIHJvdW5kLXRyaXAgb25lLiAqL1xuICBAcHJvcGVydHkoeyBhdHRyaWJ1dGU6ICdyb3VuZC10cmlwJywgdHlwZTogQm9vbGVhbiB9KSBwdWJsaWMgcm91bmRUcmlwPzogYm9vbGVhbjtcblxuICAvKiogSGVhZGluZyBsZXZlbCBvZiB0aGUgam91cm5leSBoZWFkZXIgZWxlbWVudCAoZS5nLiBoMS1oNikuICovXG4gIEBwcm9wZXJ0eSgpIHB1YmxpYyBsZXZlbDogU2JiVGl0bGVMZXZlbCA9ICczJztcblxuICAvKiogSm91cm5leSBoZWFkZXIgc2l6ZS4gKi9cbiAgQHByb3BlcnR5KHsgcmVmbGVjdDogdHJ1ZSB9KSBwdWJsaWMgc2l6ZTogSm91cm5leUhlYWRlclNpemUgPSAnbSc7XG5cbiAgcHJpdmF0ZSBfbGFuZ3VhZ2UgPSBuZXcgU2JiTGFuZ3VhZ2VDb250cm9sbGVyKHRoaXMpO1xuXG4gIHByb3RlY3RlZCBvdmVycmlkZSByZW5kZXIoKTogVGVtcGxhdGVSZXN1bHQge1xuICAgIGNvbnN0IGljb25OYW1lID0gdGhpcy5yb3VuZFRyaXAgPyAnYXJyb3dzLWxvbmctcmlnaHQtbGVmdC1zbWFsbCcgOiAnYXJyb3ctbG9uZy1yaWdodC1zbWFsbCc7XG5cbiAgICByZXR1cm4gaHRtbGBcbiAgICAgIDxzYmItdGl0bGVcbiAgICAgICAgbGV2ZWw9JHt0aGlzLmxldmVsIHx8IG5vdGhpbmd9XG4gICAgICAgID9uZWdhdGl2ZT0ke3RoaXMubmVnYXRpdmV9XG4gICAgICAgIHZpc3VhbC1sZXZlbD0ke3NpemVUb0xldmVsLmdldCh0aGlzLnNpemUpIX1cbiAgICAgID5cbiAgICAgICAgPHNwYW4gY2xhc3M9XCJzYmItam91cm5leS1oZWFkZXJcIj5cbiAgICAgICAgICA8c3BhbiBjbGFzcz1cInNiYi1qb3VybmV5LWhlYWRlcl9fb3JpZ2luXCI+XG4gICAgICAgICAgICA8c2JiLXNjcmVlbi1yZWFkZXItb25seT5cbiAgICAgICAgICAgICAgJHtpMThuQ29ubmVjdGlvbkZyb21bdGhpcy5fbGFuZ3VhZ2UuY3VycmVudF19Jm5ic3A7XG4gICAgICAgICAgICA8L3NiYi1zY3JlZW4tcmVhZGVyLW9ubHk+XG4gICAgICAgICAgICAke3RoaXMub3JpZ2lufVxuICAgICAgICAgIDwvc3Bhbj5cbiAgICAgICAgICA8c2JiLWljb24gbmFtZT0ke2ljb25OYW1lfT48L3NiYi1pY29uPlxuICAgICAgICAgIDxzcGFuIGNsYXNzPVwic2JiLWpvdXJuZXktaGVhZGVyX19kZXN0aW5hdGlvblwiPlxuICAgICAgICAgICAgPHNiYi1zY3JlZW4tcmVhZGVyLW9ubHk+XG4gICAgICAgICAgICAgICZuYnNwOyR7aTE4bkNvbm5lY3Rpb25Ub1t0aGlzLl9sYW5ndWFnZS5jdXJyZW50XX0mbmJzcDtcbiAgICAgICAgICAgIDwvc2JiLXNjcmVlbi1yZWFkZXItb25seT5cbiAgICAgICAgICAgICR7dGhpcy5kZXN0aW5hdGlvbn1cbiAgICAgICAgICAgICR7dGhpcy5yb3VuZFRyaXBcbiAgICAgICAgICAgICAgPyBodG1sYCA8c2JiLXNjcmVlbi1yZWFkZXItb25seT5cbiAgICAgICAgICAgICAgICAgICR7aTE4bkNvbm5lY3Rpb25Sb3VuZHRyaXAodGhpcy5vcmlnaW4pW3RoaXMuX2xhbmd1YWdlLmN1cnJlbnRdfVxuICAgICAgICAgICAgICAgIDwvc2JiLXNjcmVlbi1yZWFkZXItb25seT5gXG4gICAgICAgICAgICAgIDogbm90aGluZ31cbiAgICAgICAgICA8L3NwYW4+XG4gICAgICAgIDwvc3Bhbj5cbiAgICAgIDwvc2JiLXRpdGxlPlxuICAgIGA7XG4gIH1cbn1cblxuZGVjbGFyZSBnbG9iYWwge1xuICBpbnRlcmZhY2UgSFRNTEVsZW1lbnRUYWdOYW1lTWFwIHtcbiAgICAvLyBlc2xpbnQtZGlzYWJsZS1uZXh0LWxpbmUgQHR5cGVzY3JpcHQtZXNsaW50L25hbWluZy1jb252ZW50aW9uXG4gICAgJ3NiYi1qb3VybmV5LWhlYWRlcic6IFNiYkpvdXJuZXlIZWFkZXJFbGVtZW50O1xuICB9XG59XG4iXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6Ijs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7OztBQWlCQSxNQUFNLGtDQUFrRCxJQUErQjtBQUFBLEVBQ3JGLENBQUMsS0FBSyxHQUFHO0FBQUEsRUFDVCxDQUFDLEtBQUssR0FBRztBQUFBLEVBQ1QsQ0FBQyxLQUFLLEdBQUc7QUFDWCxDQUFDO0FBTU0sSUFBTSwwQkFBTixjQUFzQyxpQkFBaUIsVUFBVSxFQUFFO0FBQUEsRUFBbkUsY0FBQTtBQUFBLFVBQUEsR0FBQSxTQUFBO0FBYU8sU0FBTyxRQUF1QjtBQUdiLFNBQU8sT0FBMEI7QUFFdEQsU0FBQSxZQUFZLElBQUksc0JBQXNCLElBQUk7QUFBQSxFQUFBO0FBQUEsRUFFL0IsU0FBeUI7QUFDcEMsVUFBQSxXQUFXLEtBQUssWUFBWSxpQ0FBaUM7QUFFNUQsV0FBQTtBQUFBO0FBQUEsZ0JBRUssS0FBSyxTQUFTLE9BQU87QUFBQSxvQkFDakIsS0FBSyxRQUFRO0FBQUEsdUJBQ1YsWUFBWSxJQUFJLEtBQUssSUFBSSxDQUFFO0FBQUE7QUFBQTtBQUFBO0FBQUE7QUFBQSxnQkFLbEMsbUJBQW1CLEtBQUssVUFBVSxPQUFPLENBQUM7QUFBQTtBQUFBLGNBRTVDLEtBQUssTUFBTTtBQUFBO0FBQUEsMkJBRUUsUUFBUTtBQUFBO0FBQUE7QUFBQSxzQkFHYixpQkFBaUIsS0FBSyxVQUFVLE9BQU8sQ0FBQztBQUFBO0FBQUEsY0FFaEQsS0FBSyxXQUFXO0FBQUEsY0FDaEIsS0FBSyxZQUNIO0FBQUEsb0JBQ0ksd0JBQXdCLEtBQUssTUFBTSxFQUFFLEtBQUssVUFBVSxPQUFPLENBQUM7QUFBQSw2Q0FFaEUsT0FBTztBQUFBO0FBQUE7QUFBQTtBQUFBO0FBQUEsRUFLckI7QUFDRjtBQXBEYSx3QkFDWSxTQUF5QjtBQUc3QixnQkFBQTtBQUFBLEVBQWxCLFNBQVM7QUFBQSxHQUpDLHdCQUlRLFdBQUEsVUFBQSxDQUFBO0FBR0EsZ0JBQUE7QUFBQSxFQUFsQixTQUFTO0FBQUEsR0FQQyx3QkFPUSxXQUFBLGVBQUEsQ0FBQTtBQUcwQyxnQkFBQTtBQUFBLEVBQTVELFNBQVMsRUFBRSxXQUFXLGNBQWMsTUFBTSxTQUFTO0FBQUEsR0FWekMsd0JBVWtELFdBQUEsYUFBQSxDQUFBO0FBRzFDLGdCQUFBO0FBQUEsRUFBbEIsU0FBUztBQUFBLEdBYkMsd0JBYVEsV0FBQSxTQUFBLENBQUE7QUFHaUIsZ0JBQUE7QUFBQSxFQUFuQyxTQUFTLEVBQUUsU0FBUyxNQUFNO0FBQUEsR0FoQmhCLHdCQWdCeUIsV0FBQSxRQUFBLENBQUE7QUFoQnpCLDBCQUFOLGdCQUFBO0FBQUEsRUFETixjQUFjLG9CQUFvQjtBQUFBLEdBQ3RCLHVCQUFBOyJ9
116
+ //# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiam91cm5leS1oZWFkZXIuanMiLCJzb3VyY2VzIjpbIi4uLy4uLy4uL3NyYy9lbGVtZW50cy9qb3VybmV5LWhlYWRlci9qb3VybmV5LWhlYWRlci50cyJdLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgdHlwZSB7IENTU1Jlc3VsdEdyb3VwLCBUZW1wbGF0ZVJlc3VsdCB9IGZyb20gJ2xpdCc7XG5pbXBvcnQgeyBodG1sLCBMaXRFbGVtZW50LCBub3RoaW5nIH0gZnJvbSAnbGl0JztcbmltcG9ydCB7IGN1c3RvbUVsZW1lbnQsIHByb3BlcnR5IH0gZnJvbSAnbGl0L2RlY29yYXRvcnMuanMnO1xuXG5pbXBvcnQgeyBTYmJMYW5ndWFnZUNvbnRyb2xsZXIgfSBmcm9tICcuLi9jb3JlL2NvbnRyb2xsZXJzLmpzJztcbmltcG9ydCB7IGkxOG5Db25uZWN0aW9uRnJvbSwgaTE4bkNvbm5lY3Rpb25Sb3VuZHRyaXAsIGkxOG5Db25uZWN0aW9uVG8gfSBmcm9tICcuLi9jb3JlL2kxOG4uanMnO1xuaW1wb3J0IHsgU2JiTmVnYXRpdmVNaXhpbiB9IGZyb20gJy4uL2NvcmUvbWl4aW5zLmpzJztcbmltcG9ydCB0eXBlIHsgU2JiVGl0bGVMZXZlbCB9IGZyb20gJy4uL3RpdGxlLmpzJztcblxuaW1wb3J0IHN0eWxlIGZyb20gJy4vam91cm5leS1oZWFkZXIuc2Nzcz9saXQmaW5saW5lJztcblxuaW1wb3J0ICcuLi9pY29uLmpzJztcbmltcG9ydCAnLi4vc2NyZWVuLXJlYWRlci1vbmx5LmpzJztcbmltcG9ydCAnLi4vdGl0bGUuanMnO1xuXG5leHBvcnQgdHlwZSBKb3VybmV5SGVhZGVyU2l6ZSA9ICdzJyB8ICdtJyB8ICdsJztcblxuY29uc3Qgc2l6ZVRvTGV2ZWw6IE1hcDxKb3VybmV5SGVhZGVyU2l6ZSwgc3RyaW5nPiA9IG5ldyBNYXA8Sm91cm5leUhlYWRlclNpemUsIHN0cmluZz4oW1xuICBbJ3MnLCAnNiddLFxuICBbJ20nLCAnNSddLFxuICBbJ2wnLCAnNCddLFxuXSk7XG5cbi8qKlxuICogQ29tYmluZWQgd2l0aCB0aGUgYHNiYi1qb3VybmV5LXN1bW1hcnlgLCBpdCBkaXNwbGF5cyB0aGUgam91cm5leSdzIGRldGFpbC5cbiAqL1xuQGN1c3RvbUVsZW1lbnQoJ3NiYi1qb3VybmV5LWhlYWRlcicpXG5leHBvcnQgY2xhc3MgU2JiSm91cm5leUhlYWRlckVsZW1lbnQgZXh0ZW5kcyBTYmJOZWdhdGl2ZU1peGluKExpdEVsZW1lbnQpIHtcbiAgcHVibGljIHN0YXRpYyBvdmVycmlkZSBzdHlsZXM6IENTU1Jlc3VsdEdyb3VwID0gc3R5bGU7XG5cbiAgLyoqIE9yaWdpbiBsb2NhdGlvbiBmb3IgdGhlIGpvdXJuZXkgaGVhZGVyLiAqL1xuICBAcHJvcGVydHkoKSBwdWJsaWMgb3JpZ2luITogc3RyaW5nO1xuXG4gIC8qKiBEZXN0aW5hdGlvbiBsb2NhdGlvbiBmb3IgdGhlIGpvdXJuZXkgaGVhZGVyLiAqL1xuICBAcHJvcGVydHkoKSBwdWJsaWMgZGVzdGluYXRpb24hOiBzdHJpbmc7XG5cbiAgLyoqIFdoZXRoZXIgdGhlIGpvdXJuZXkgaXMgYSByb3VuZCB0cmlwLiBJZiBzbywgdGhlIGljb24gY2hhbmdlcyB0byBhIHJvdW5kLXRyaXAgb25lLiAqL1xuICBAcHJvcGVydHkoeyBhdHRyaWJ1dGU6ICdyb3VuZC10cmlwJywgdHlwZTogQm9vbGVhbiB9KSBwdWJsaWMgcm91bmRUcmlwPzogYm9vbGVhbjtcblxuICAvKiogSGVhZGluZyBsZXZlbCBvZiB0aGUgam91cm5leSBoZWFkZXIgZWxlbWVudCAoZS5nLiBoMS1oNikuICovXG4gIEBwcm9wZXJ0eSgpIHB1YmxpYyBsZXZlbDogU2JiVGl0bGVMZXZlbCA9ICczJztcblxuICAvKiogSm91cm5leSBoZWFkZXIgc2l6ZS4gKi9cbiAgQHByb3BlcnR5KHsgcmVmbGVjdDogdHJ1ZSB9KSBwdWJsaWMgc2l6ZTogSm91cm5leUhlYWRlclNpemUgPSAnbSc7XG5cbiAgcHJpdmF0ZSBfbGFuZ3VhZ2UgPSBuZXcgU2JiTGFuZ3VhZ2VDb250cm9sbGVyKHRoaXMpO1xuXG4gIHByb3RlY3RlZCBvdmVycmlkZSByZW5kZXIoKTogVGVtcGxhdGVSZXN1bHQge1xuICAgIGNvbnN0IGljb25OYW1lID0gdGhpcy5yb3VuZFRyaXAgPyAnYXJyb3dzLWxvbmctcmlnaHQtbGVmdC1zbWFsbCcgOiAnYXJyb3ctbG9uZy1yaWdodC1zbWFsbCc7XG5cbiAgICByZXR1cm4gaHRtbGBcbiAgICAgIDxzYmItdGl0bGVcbiAgICAgICAgbGV2ZWw9JHt0aGlzLmxldmVsIHx8IG5vdGhpbmd9XG4gICAgICAgID9uZWdhdGl2ZT0ke3RoaXMubmVnYXRpdmV9XG4gICAgICAgIHZpc3VhbC1sZXZlbD0ke3NpemVUb0xldmVsLmdldCh0aGlzLnNpemUpIX1cbiAgICAgID5cbiAgICAgICAgPHNwYW4gY2xhc3M9XCJzYmItam91cm5leS1oZWFkZXJcIj5cbiAgICAgICAgICA8c3BhbiBjbGFzcz1cInNiYi1qb3VybmV5LWhlYWRlcl9fb3JpZ2luXCI+XG4gICAgICAgICAgICA8c2JiLXNjcmVlbi1yZWFkZXItb25seT5cbiAgICAgICAgICAgICAgJHtpMThuQ29ubmVjdGlvbkZyb21bdGhpcy5fbGFuZ3VhZ2UuY3VycmVudF19Jm5ic3A7XG4gICAgICAgICAgICA8L3NiYi1zY3JlZW4tcmVhZGVyLW9ubHk+XG4gICAgICAgICAgICAke3RoaXMub3JpZ2lufVxuICAgICAgICAgIDwvc3Bhbj5cbiAgICAgICAgICA8c2JiLWljb24gbmFtZT0ke2ljb25OYW1lfT48L3NiYi1pY29uPlxuICAgICAgICAgIDxzcGFuIGNsYXNzPVwic2JiLWpvdXJuZXktaGVhZGVyX19kZXN0aW5hdGlvblwiPlxuICAgICAgICAgICAgPHNiYi1zY3JlZW4tcmVhZGVyLW9ubHk+XG4gICAgICAgICAgICAgICZuYnNwOyR7aTE4bkNvbm5lY3Rpb25Ub1t0aGlzLl9sYW5ndWFnZS5jdXJyZW50XX0mbmJzcDtcbiAgICAgICAgICAgIDwvc2JiLXNjcmVlbi1yZWFkZXItb25seT5cbiAgICAgICAgICAgICR7dGhpcy5kZXN0aW5hdGlvbn1cbiAgICAgICAgICAgICR7dGhpcy5yb3VuZFRyaXBcbiAgICAgICAgICAgICAgPyBodG1sYCA8c2JiLXNjcmVlbi1yZWFkZXItb25seT5cbiAgICAgICAgICAgICAgICAgICR7aTE4bkNvbm5lY3Rpb25Sb3VuZHRyaXAodGhpcy5vcmlnaW4pW3RoaXMuX2xhbmd1YWdlLmN1cnJlbnRdfVxuICAgICAgICAgICAgICAgIDwvc2JiLXNjcmVlbi1yZWFkZXItb25seT5gXG4gICAgICAgICAgICAgIDogbm90aGluZ31cbiAgICAgICAgICA8L3NwYW4+XG4gICAgICAgIDwvc3Bhbj5cbiAgICAgIDwvc2JiLXRpdGxlPlxuICAgIGA7XG4gIH1cbn1cblxuZGVjbGFyZSBnbG9iYWwge1xuICBpbnRlcmZhY2UgSFRNTEVsZW1lbnRUYWdOYW1lTWFwIHtcbiAgICAvLyBlc2xpbnQtZGlzYWJsZS1uZXh0LWxpbmUgQHR5cGVzY3JpcHQtZXNsaW50L25hbWluZy1jb252ZW50aW9uXG4gICAgJ3NiYi1qb3VybmV5LWhlYWRlcic6IFNiYkpvdXJuZXlIZWFkZXJFbGVtZW50O1xuICB9XG59XG4iXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6Ijs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7O0FBaUJBLE1BQU0sa0NBQWtELElBQStCO0FBQUEsRUFDckYsQ0FBQyxLQUFLLEdBQUc7QUFBQSxFQUNULENBQUMsS0FBSyxHQUFHO0FBQUEsRUFDVCxDQUFDLEtBQUssR0FBRztBQUNYLENBQUM7QUFNTSxJQUFNLDBCQUFOLGNBQXNDLGlCQUFpQixVQUFVLEVBQUU7QUFBQSxFQUFuRSxjQUFBO0FBQUEsVUFBQSxHQUFBLFNBQUE7QUFhTyxTQUFPLFFBQXVCO0FBR2IsU0FBTyxPQUEwQjtBQUV0RCxTQUFBLFlBQVksSUFBSSxzQkFBc0IsSUFBSTtBQUFBLEVBQUE7QUFBQSxFQUUvQixTQUF5QjtBQUNwQyxVQUFBLFdBQVcsS0FBSyxZQUFZLGlDQUFpQztBQUU1RCxXQUFBO0FBQUE7QUFBQSxnQkFFSyxLQUFLLFNBQVMsT0FBTztBQUFBLG9CQUNqQixLQUFLLFFBQVE7QUFBQSx1QkFDVixZQUFZLElBQUksS0FBSyxJQUFJLENBQUU7QUFBQTtBQUFBO0FBQUE7QUFBQTtBQUFBLGdCQUtsQyxtQkFBbUIsS0FBSyxVQUFVLE9BQU8sQ0FBQztBQUFBO0FBQUEsY0FFNUMsS0FBSyxNQUFNO0FBQUE7QUFBQSwyQkFFRSxRQUFRO0FBQUE7QUFBQTtBQUFBLHNCQUdiLGlCQUFpQixLQUFLLFVBQVUsT0FBTyxDQUFDO0FBQUE7QUFBQSxjQUVoRCxLQUFLLFdBQVc7QUFBQSxjQUNoQixLQUFLLFlBQ0g7QUFBQSxvQkFDSSx3QkFBd0IsS0FBSyxNQUFNLEVBQUUsS0FBSyxVQUFVLE9BQU8sQ0FBQztBQUFBLDZDQUVoRSxPQUFPO0FBQUE7QUFBQTtBQUFBO0FBQUE7QUFBQSxFQUtyQjtBQUNGO0FBcERhLHdCQUNZLFNBQXlCO0FBRzdCLGdCQUFBO0FBQUEsRUFBbEIsU0FBUztBQUFBLEdBSkMsd0JBSVEsV0FBQSxVQUFBLENBQUE7QUFHQSxnQkFBQTtBQUFBLEVBQWxCLFNBQVM7QUFBQSxHQVBDLHdCQU9RLFdBQUEsZUFBQSxDQUFBO0FBRzBDLGdCQUFBO0FBQUEsRUFBNUQsU0FBUyxFQUFFLFdBQVcsY0FBYyxNQUFNLFNBQVM7QUFBQSxHQVZ6Qyx3QkFVa0QsV0FBQSxhQUFBLENBQUE7QUFHMUMsZ0JBQUE7QUFBQSxFQUFsQixTQUFTO0FBQUEsR0FiQyx3QkFhUSxXQUFBLFNBQUEsQ0FBQTtBQUdpQixnQkFBQTtBQUFBLEVBQW5DLFNBQVMsRUFBRSxTQUFTLE1BQU07QUFBQSxHQWhCaEIsd0JBZ0J5QixXQUFBLFFBQUEsQ0FBQTtBQWhCekIsMEJBQU4sZ0JBQUE7QUFBQSxFQUROLGNBQWMsb0JBQW9CO0FBQUEsR0FDdEIsdUJBQUE7In0=
@@ -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;
@@ -161,4 +154,4 @@ SbbLeadContainerElement = __decorateClass([
161
154
  export {
162
155
  SbbLeadContainerElement
163
156
  };
164
- //# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoibGVhZC1jb250YWluZXIuanMiLCJzb3VyY2VzIjpbIi4uLy4uLy4uL3NyYy9lbGVtZW50cy9sZWFkLWNvbnRhaW5lci9sZWFkLWNvbnRhaW5lci50cyJdLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyB0eXBlIENTU1Jlc3VsdEdyb3VwLCBodG1sLCBMaXRFbGVtZW50LCB0eXBlIFRlbXBsYXRlUmVzdWx0IH0gZnJvbSAnbGl0JztcbmltcG9ydCB7IGN1c3RvbUVsZW1lbnQgfSBmcm9tICdsaXQvZGVjb3JhdG9ycy5qcyc7XG5cbmltcG9ydCBzdHlsZSBmcm9tICcuL2xlYWQtY29udGFpbmVyLnNjc3M/bGl0JmlubGluZSc7XG5cbi8qKlxuICogVGhlIGBzYmItbGVhZC1jb250YWluZXJgIGNhbiBiZSB1c2VkIGZvciBwcm9kdWN0IHBhZ2VzIHRvIGRpc3BsYXkgYSBsZWFkIGltYWdlIGFuZCBmb2xsb3dpbmcgY29udGVudC5cbiAqXG4gKiBAc2xvdCAtIFVzZSB0aGUgdW5uYW1lZCBzbG90IHRvIGFkZCBhbnkgY29udGVudCB0byB0aGUgY29udGFpbmVyLlxuICogQHNsb3QgaW1hZ2UgLSBVc2UgdGhlIGltYWdlIHNsb3QgdG8gcHJvdmlkZSB0aGUgbGVhZCBpbWFnZS5cbiAqIGBzYmItaW1hZ2VgLCBgaW1nYCBhbmQgYHBpY3R1cmVgIGVsZW1lbnRzIGFyZSBzdXBwb3J0ZWQuXG4gKiBGb3Igb3RoZXIgZWxlbWVudHMgdGhlIGFzcGVjdCByYXRpbyBoYXMgdG8gYmUgc2V0IG1hbnVhbGx5LlxuICovXG5AY3VzdG9tRWxlbWVudCgnc2JiLWxlYWQtY29udGFpbmVyJylcbmV4cG9ydCBjbGFzcyBTYmJMZWFkQ29udGFpbmVyRWxlbWVudCBleHRlbmRzIExpdEVsZW1lbnQge1xuICBwdWJsaWMgc3RhdGljIG92ZXJyaWRlIHN0eWxlczogQ1NTUmVzdWx0R3JvdXAgPSBzdHlsZTtcblxuICBwcm90ZWN0ZWQgb3ZlcnJpZGUgcmVuZGVyKCk6IFRlbXBsYXRlUmVzdWx0IHtcbiAgICByZXR1cm4gaHRtbGBcbiAgICAgIDxkaXYgY2xhc3M9XCJzYmItbGVhZC1jb250YWluZXJcIj5cbiAgICAgICAgPGRpdiBjbGFzcz1cInNiYi1sZWFkLWNvbnRhaW5lci1pbWFnZVwiPlxuICAgICAgICAgIDxzbG90IG5hbWU9XCJpbWFnZVwiPjwvc2xvdD5cbiAgICAgICAgPC9kaXY+XG4gICAgICAgIDwhLS0gQ29udGVudCB3cmFwcGVyIG5lZWRlZCBiZWNhdXNlIGdyaWQgbmVlZHMgdG8gYmUgYXBwbGllZCBidXQgY29udGFpbmVyIGltYWdlIHNob3VsZCBub3QgYmUgdG91Y2hlZCBieSBncmlkLiAtLT5cbiAgICAgICAgPGRpdiBjbGFzcz1cInNiYi1sZWFkLWNvbnRhaW5lci1jb250ZW50LXdyYXBwZXJcIj5cbiAgICAgICAgICA8ZGl2IGNsYXNzPVwic2JiLWxlYWQtY29udGFpbmVyLWNvbnRlbnRcIj5cbiAgICAgICAgICAgIDxzbG90Pjwvc2xvdD5cbiAgICAgICAgICA8L2Rpdj5cbiAgICAgICAgPC9kaXY+XG4gICAgICA8L2Rpdj5cbiAgICBgO1xuICB9XG59XG5cbmRlY2xhcmUgZ2xvYmFsIHtcbiAgaW50ZXJmYWNlIEhUTUxFbGVtZW50VGFnTmFtZU1hcCB7XG4gICAgLy8gZXNsaW50LWRpc2FibGUtbmV4dC1saW5lIEB0eXBlc2NyaXB0LWVzbGludC9uYW1pbmctY29udmVudGlvblxuICAgICdzYmItbGVhZC1jb250YWluZXInOiBTYmJMZWFkQ29udGFpbmVyRWxlbWVudDtcbiAgfVxufVxuIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiI7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7QUFjYSxJQUFBLDBCQUFOLGNBQXNDLFdBQVc7QUFBQSxFQUduQyxTQUF5QjtBQUNuQyxXQUFBO0FBQUE7QUFBQTtBQUFBO0FBQUE7QUFBQTtBQUFBO0FBQUE7QUFBQTtBQUFBO0FBQUE7QUFBQTtBQUFBO0FBQUEsRUFhVDtBQUNGO0FBbEJhLHdCQUNZLFNBQXlCO0FBRHJDLDBCQUFOLGdCQUFBO0FBQUEsRUFETixjQUFjLG9CQUFvQjtBQUFBLEdBQ3RCLHVCQUFBOyJ9
157
+ //# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoibGVhZC1jb250YWluZXIuanMiLCJzb3VyY2VzIjpbIi4uLy4uLy4uL3NyYy9lbGVtZW50cy9sZWFkLWNvbnRhaW5lci9sZWFkLWNvbnRhaW5lci50cyJdLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyB0eXBlIENTU1Jlc3VsdEdyb3VwLCBodG1sLCBMaXRFbGVtZW50LCB0eXBlIFRlbXBsYXRlUmVzdWx0IH0gZnJvbSAnbGl0JztcbmltcG9ydCB7IGN1c3RvbUVsZW1lbnQgfSBmcm9tICdsaXQvZGVjb3JhdG9ycy5qcyc7XG5cbmltcG9ydCBzdHlsZSBmcm9tICcuL2xlYWQtY29udGFpbmVyLnNjc3M/bGl0JmlubGluZSc7XG5cbi8qKlxuICogVGhlIGBzYmItbGVhZC1jb250YWluZXJgIGNhbiBiZSB1c2VkIGZvciBwcm9kdWN0IHBhZ2VzIHRvIGRpc3BsYXkgYSBsZWFkIGltYWdlIGFuZCBmb2xsb3dpbmcgY29udGVudC5cbiAqXG4gKiBAc2xvdCAtIFVzZSB0aGUgdW5uYW1lZCBzbG90IHRvIGFkZCBhbnkgY29udGVudCB0byB0aGUgY29udGFpbmVyLlxuICogQHNsb3QgaW1hZ2UgLSBVc2UgdGhlIGltYWdlIHNsb3QgdG8gcHJvdmlkZSB0aGUgbGVhZCBpbWFnZS5cbiAqIGBzYmItaW1hZ2VgLCBgaW1nYCBhbmQgYHBpY3R1cmVgIGVsZW1lbnRzIGFyZSBzdXBwb3J0ZWQuXG4gKiBGb3Igb3RoZXIgZWxlbWVudHMgdGhlIGFzcGVjdCByYXRpbyBoYXMgdG8gYmUgc2V0IG1hbnVhbGx5LlxuICovXG5AY3VzdG9tRWxlbWVudCgnc2JiLWxlYWQtY29udGFpbmVyJylcbmV4cG9ydCBjbGFzcyBTYmJMZWFkQ29udGFpbmVyRWxlbWVudCBleHRlbmRzIExpdEVsZW1lbnQge1xuICBwdWJsaWMgc3RhdGljIG92ZXJyaWRlIHN0eWxlczogQ1NTUmVzdWx0R3JvdXAgPSBzdHlsZTtcblxuICBwcm90ZWN0ZWQgb3ZlcnJpZGUgcmVuZGVyKCk6IFRlbXBsYXRlUmVzdWx0IHtcbiAgICByZXR1cm4gaHRtbGBcbiAgICAgIDxkaXYgY2xhc3M9XCJzYmItbGVhZC1jb250YWluZXJcIj5cbiAgICAgICAgPGRpdiBjbGFzcz1cInNiYi1sZWFkLWNvbnRhaW5lci1pbWFnZVwiPlxuICAgICAgICAgIDxzbG90IG5hbWU9XCJpbWFnZVwiPjwvc2xvdD5cbiAgICAgICAgPC9kaXY+XG4gICAgICAgIDwhLS0gQ29udGVudCB3cmFwcGVyIG5lZWRlZCBiZWNhdXNlIGdyaWQgbmVlZHMgdG8gYmUgYXBwbGllZCBidXQgY29udGFpbmVyIGltYWdlIHNob3VsZCBub3QgYmUgdG91Y2hlZCBieSBncmlkLiAtLT5cbiAgICAgICAgPGRpdiBjbGFzcz1cInNiYi1sZWFkLWNvbnRhaW5lci1jb250ZW50LXdyYXBwZXJcIj5cbiAgICAgICAgICA8ZGl2IGNsYXNzPVwic2JiLWxlYWQtY29udGFpbmVyLWNvbnRlbnRcIj5cbiAgICAgICAgICAgIDxzbG90Pjwvc2xvdD5cbiAgICAgICAgICA8L2Rpdj5cbiAgICAgICAgPC9kaXY+XG4gICAgICA8L2Rpdj5cbiAgICBgO1xuICB9XG59XG5cbmRlY2xhcmUgZ2xvYmFsIHtcbiAgaW50ZXJmYWNlIEhUTUxFbGVtZW50VGFnTmFtZU1hcCB7XG4gICAgLy8gZXNsaW50LWRpc2FibGUtbmV4dC1saW5lIEB0eXBlc2NyaXB0LWVzbGludC9uYW1pbmctY29udmVudGlvblxuICAgICdzYmItbGVhZC1jb250YWluZXInOiBTYmJMZWFkQ29udGFpbmVyRWxlbWVudDtcbiAgfVxufVxuIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiI7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7OztBQWNhLElBQUEsMEJBQU4sY0FBc0MsV0FBVztBQUFBLEVBR25DLFNBQXlCO0FBQ25DLFdBQUE7QUFBQTtBQUFBO0FBQUE7QUFBQTtBQUFBO0FBQUE7QUFBQTtBQUFBO0FBQUE7QUFBQTtBQUFBO0FBQUE7QUFBQSxFQWFUO0FBQ0Y7QUFsQmEsd0JBQ1ksU0FBeUI7QUFEckMsMEJBQU4sZ0JBQUE7QUFBQSxFQUROLGNBQWMsb0JBQW9CO0FBQUEsR0FDdEIsdUJBQUE7In0=
@@ -4,14 +4,7 @@ import { SbbIconNameMixin } from "../icon.js";
4
4
  import { hostAttributes, slotState } from "../core/decorators.js";
5
5
  import { SbbNegativeMixin } from "../core/mixins.js";
6
6
  import { css } from "lit";
7
- const style = css`/** This mixin can be used to avoid spacing problems by inserting an invisible space as pseudo element. */
8
- /*
9
- * SBB table mixin
10
- * Notes:
11
- * We cannot use \`border-collapse\` because it is not compatible with the \`border-radius\` property.
12
- * Therefore, we have to build the grid avoiding double borders.
13
- */
14
- *,
7
+ const style = css`*,
15
8
  ::before,
16
9
  ::after {
17
10
  box-sizing: border-box;
@@ -101,14 +94,7 @@ const SbbLinkCommonElementMixin = (superClass) => {
101
94
  ], SbbLinkCommonElement);
102
95
  return SbbLinkCommonElement;
103
96
  };
104
- const blockStyle = css`/** This mixin can be used to avoid spacing problems by inserting an invisible space as pseudo element. */
105
- /*
106
- * SBB table mixin
107
- * Notes:
108
- * We cannot use \`border-collapse\` because it is not compatible with the \`border-radius\` property.
109
- * Therefore, we have to build the grid avoiding double borders.
110
- */
111
- :host {
97
+ const blockStyle = css`:host {
112
98
  --sbb-link-color-normal: var(--sbb-color-granite);
113
99
  --sbb-link-color-hover: var(--sbb-color-red125);
114
100
  --sbb-link-color-active: var(--sbb-color-red150);
@@ -199,14 +185,7 @@ const SbbBlockLinkCommonElementMixin = (superClass) => {
199
185
  ], SbbBlockLinkCommonElement.prototype, "iconPlacement");
200
186
  return SbbBlockLinkCommonElement;
201
187
  };
202
- const inlineStyle = css`/** This mixin can be used to avoid spacing problems by inserting an invisible space as pseudo element. */
203
- /*
204
- * SBB table mixin
205
- * Notes:
206
- * We cannot use \`border-collapse\` because it is not compatible with the \`border-radius\` property.
207
- * Therefore, we have to build the grid avoiding double borders.
208
- */
209
- :host {
188
+ const inlineStyle = css`:host {
210
189
  font-family: inherit;
211
190
  font-weight: inherit;
212
191
  line-height: inherit;
@@ -246,4 +225,4 @@ export {
246
225
  SbbInlineLinkCommonElementMixin,
247
226
  SbbLinkCommonElementMixin
248
227
  };
249
- //# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiY29tbW9uLmpzIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi9zcmMvZWxlbWVudHMvbGluay9jb21tb24vbGluay1jb21tb24udHMiLCIuLi8uLi8uLi8uLi9zcmMvZWxlbWVudHMvbGluay9jb21tb24vYmxvY2stbGluay1jb21tb24udHMiLCIuLi8uLi8uLi8uLi9zcmMvZWxlbWVudHMvbGluay9jb21tb24vaW5saW5lLWxpbmstY29tbW9uLnRzIl0sInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB0eXBlIHsgQ1NTUmVzdWx0R3JvdXAsIFRlbXBsYXRlUmVzdWx0IH0gZnJvbSAnbGl0JztcbmltcG9ydCB7IHByb3BlcnR5IH0gZnJvbSAnbGl0L2RlY29yYXRvcnMuanMnO1xuaW1wb3J0IHsgaHRtbCB9IGZyb20gJ2xpdC9zdGF0aWMtaHRtbC5qcyc7XG5cbmltcG9ydCB0eXBlIHsgU2JiQWN0aW9uQmFzZUVsZW1lbnQgfSBmcm9tICcuLi8uLi9jb3JlL2Jhc2UtZWxlbWVudHMuanMnO1xuaW1wb3J0IHsgaG9zdEF0dHJpYnV0ZXMsIHNsb3RTdGF0ZSB9IGZyb20gJy4uLy4uL2NvcmUvZGVjb3JhdG9ycy5qcyc7XG5pbXBvcnQge1xuICBTYmJOZWdhdGl2ZU1peGluLFxuICB0eXBlIFNiYk5lZ2F0aXZlTWl4aW5UeXBlLFxuICB0eXBlIEFic3RyYWN0Q29uc3RydWN0b3IsXG59IGZyb20gJy4uLy4uL2NvcmUvbWl4aW5zLmpzJztcblxuaW1wb3J0IHN0eWxlIGZyb20gJy4vbGluay5zY3NzP2xpdCZpbmxpbmUnO1xuXG5leHBvcnQgdHlwZSBTYmJMaW5rU2l6ZSA9ICd4cycgfCAncycgfCAnbSc7XG5cbmV4cG9ydCBkZWNsYXJlIGNsYXNzIFNiYkxpbmtDb21tb25FbGVtZW50TWl4aW5UeXBlIGV4dGVuZHMgU2JiTmVnYXRpdmVNaXhpblR5cGUge1xuICBwdWJsaWMgc2l6ZT86IFNiYkxpbmtTaXplO1xufVxuXG4vLyBlc2xpbnQtZGlzYWJsZS1uZXh0LWxpbmUgQHR5cGVzY3JpcHQtZXNsaW50L25hbWluZy1jb252ZW50aW9uXG5leHBvcnQgY29uc3QgU2JiTGlua0NvbW1vbkVsZW1lbnRNaXhpbiA9IDxUIGV4dGVuZHMgQWJzdHJhY3RDb25zdHJ1Y3RvcjxTYmJBY3Rpb25CYXNlRWxlbWVudD4+KFxuICBzdXBlckNsYXNzOiBULFxuKTogQWJzdHJhY3RDb25zdHJ1Y3RvcjxTYmJMaW5rQ29tbW9uRWxlbWVudE1peGluVHlwZT4gJiBUID0+IHtcbiAgQGhvc3RBdHRyaWJ1dGVzKHsgJ2RhdGEtc2JiLWxpbmsnOiAnJyB9KVxuICBAc2xvdFN0YXRlKClcbiAgYWJzdHJhY3QgY2xhc3MgU2JiTGlua0NvbW1vbkVsZW1lbnRcbiAgICBleHRlbmRzIFNiYk5lZ2F0aXZlTWl4aW4oc3VwZXJDbGFzcylcbiAgICBpbXBsZW1lbnRzIFBhcnRpYWw8U2JiTGlua0NvbW1vbkVsZW1lbnRNaXhpblR5cGU+XG4gIHtcbiAgICBwdWJsaWMgc3RhdGljIHN0eWxlczogQ1NTUmVzdWx0R3JvdXAgPSBzdHlsZTtcblxuICAgIC8qKlxuICAgICAqIFRleHQgc2l6ZSwgdGhlIGxpbmsgc2hvdWxkIGdldCBpbiB0aGUgbm9uLWJ1dHRvbiB2YXJpYXRpb24uXG4gICAgICogV2l0aCBpbmxpbmUgdmFyaWFudCwgdGhlIHRleHQgc2l6ZSBhZGFwdHMgdG8gd2hlcmUgaXQgaXMgdXNlZC5cbiAgICAgKi9cbiAgICBAcHJvcGVydHkoeyByZWZsZWN0OiB0cnVlIH0pIHB1YmxpYyBzaXplOiBTYmJMaW5rU2l6ZSA9ICdzJztcblxuICAgIHByb3RlY3RlZCBvdmVycmlkZSByZW5kZXJUZW1wbGF0ZSgpOiBUZW1wbGF0ZVJlc3VsdCB7XG4gICAgICByZXR1cm4gaHRtbGA8c2xvdD48L3Nsb3Q+YDtcbiAgICB9XG4gIH1cbiAgcmV0dXJuIFNiYkxpbmtDb21tb25FbGVtZW50IGFzIHVua25vd24gYXMgQWJzdHJhY3RDb25zdHJ1Y3RvcjxTYmJMaW5rQ29tbW9uRWxlbWVudE1peGluVHlwZT4gJiBUO1xufTtcbiIsImltcG9ydCB0eXBlIHsgQ1NTUmVzdWx0R3JvdXAsIFRlbXBsYXRlUmVzdWx0IH0gZnJvbSAnbGl0JztcbmltcG9ydCB7IHByb3BlcnR5IH0gZnJvbSAnbGl0L2RlY29yYXRvcnMuanMnO1xuaW1wb3J0IHsgaHRtbCB9IGZyb20gJ2xpdC9zdGF0aWMtaHRtbC5qcyc7XG5cbmltcG9ydCB0eXBlIHsgU2JiQWN0aW9uQmFzZUVsZW1lbnQgfSBmcm9tICcuLi8uLi9jb3JlL2Jhc2UtZWxlbWVudHMuanMnO1xuaW1wb3J0IHR5cGUgeyBTYmJJY29uUGxhY2VtZW50IH0gZnJvbSAnLi4vLi4vY29yZS9pbnRlcmZhY2VzLmpzJztcbmltcG9ydCB0eXBlIHsgQWJzdHJhY3RDb25zdHJ1Y3RvciB9IGZyb20gJy4uLy4uL2NvcmUvbWl4aW5zLmpzJztcbmltcG9ydCB7IFNiYkljb25OYW1lTWl4aW4gfSBmcm9tICcuLi8uLi9pY29uLmpzJztcblxuaW1wb3J0IHsgU2JiTGlua0NvbW1vbkVsZW1lbnRNaXhpbiwgdHlwZSBTYmJMaW5rQ29tbW9uRWxlbWVudE1peGluVHlwZSB9IGZyb20gJy4vbGluay1jb21tb24uanMnO1xuLy8gZXNsaW50LWRpc2FibGUtbmV4dC1saW5lIGltcG9ydC14L29yZGVyXG5pbXBvcnQgYmxvY2tTdHlsZSBmcm9tICcuL2Jsb2NrLWxpbmsuc2Nzcz9saXQmaW5saW5lJztcbmltcG9ydCBzdHlsZSBmcm9tICcuL2xpbmsuc2Nzcz9saXQmaW5saW5lJztcblxuZXhwb3J0IGRlY2xhcmUgY2xhc3MgU2JiQmxvY2tMaW5rQ29tbW9uRWxlbWVudE1peGluVHlwZSBleHRlbmRzIFNiYkxpbmtDb21tb25FbGVtZW50TWl4aW5UeXBlIHtcbiAgcHVibGljIGljb25OYW1lPzogc3RyaW5nO1xuICBwdWJsaWMgaWNvblBsYWNlbWVudD86IFNiYkljb25QbGFjZW1lbnQ7XG59XG5cbi8vIGVzbGludC1kaXNhYmxlLW5leHQtbGluZSBAdHlwZXNjcmlwdC1lc2xpbnQvbmFtaW5nLWNvbnZlbnRpb25cbmV4cG9ydCBjb25zdCBTYmJCbG9ja0xpbmtDb21tb25FbGVtZW50TWl4aW4gPSA8VCBleHRlbmRzIEFic3RyYWN0Q29uc3RydWN0b3I8U2JiQWN0aW9uQmFzZUVsZW1lbnQ+PihcbiAgc3VwZXJDbGFzczogVCxcbik6IEFic3RyYWN0Q29uc3RydWN0b3I8U2JiQmxvY2tMaW5rQ29tbW9uRWxlbWVudE1peGluVHlwZT4gJiBUID0+IHtcbiAgYWJzdHJhY3QgY2xhc3MgU2JiQmxvY2tMaW5rQ29tbW9uRWxlbWVudFxuICAgIGV4dGVuZHMgU2JiTGlua0NvbW1vbkVsZW1lbnRNaXhpbihTYmJJY29uTmFtZU1peGluKHN1cGVyQ2xhc3MpKVxuICAgIGltcGxlbWVudHMgUGFydGlhbDxTYmJCbG9ja0xpbmtDb21tb25FbGVtZW50TWl4aW5UeXBlPlxuICB7XG4gICAgcHVibGljIHN0YXRpYyBzdHlsZXM6IENTU1Jlc3VsdEdyb3VwID0gW3N0eWxlLCBibG9ja1N0eWxlXTtcblxuICAgIC8qKiBNb3ZlcyB0aGUgaWNvbiB0byB0aGUgZW5kIG9mIHRoZSBjb21wb25lbnQgaWYgc2V0IHRvIHRydWUuICovXG4gICAgQHByb3BlcnR5KHsgYXR0cmlidXRlOiAnaWNvbi1wbGFjZW1lbnQnLCByZWZsZWN0OiB0cnVlIH0pXG4gICAgcHVibGljIGljb25QbGFjZW1lbnQ/OiBTYmJJY29uUGxhY2VtZW50ID0gJ3N0YXJ0JztcblxuICAgIHByb3RlY3RlZCBvdmVycmlkZSByZW5kZXJUZW1wbGF0ZSgpOiBUZW1wbGF0ZVJlc3VsdCB7XG4gICAgICByZXR1cm4gaHRtbGBcbiAgICAgICAgPHNwYW4gY2xhc3M9XCJzYmItbGlua19faWNvblwiPiAke3N1cGVyLnJlbmRlckljb25TbG90KCl9IDwvc3Bhbj5cbiAgICAgICAgPHNsb3Q+PC9zbG90PlxuICAgICAgYDtcbiAgICB9XG4gIH1cbiAgcmV0dXJuIFNiYkJsb2NrTGlua0NvbW1vbkVsZW1lbnQgYXMgdW5rbm93biBhcyBBYnN0cmFjdENvbnN0cnVjdG9yPFNiYkJsb2NrTGlua0NvbW1vbkVsZW1lbnRNaXhpblR5cGU+ICZcbiAgICBUO1xufTtcbiIsImltcG9ydCB0eXBlIHsgQ1NTUmVzdWx0R3JvdXAgfSBmcm9tICdsaXQnO1xuXG5pbXBvcnQgdHlwZSB7IFNiYkFjdGlvbkJhc2VFbGVtZW50IH0gZnJvbSAnLi4vLi4vY29yZS9iYXNlLWVsZW1lbnRzLmpzJztcbmltcG9ydCB0eXBlIHsgQWJzdHJhY3RDb25zdHJ1Y3RvciB9IGZyb20gJy4uLy4uL2NvcmUvbWl4aW5zLmpzJztcblxuaW1wb3J0IHsgU2JiTGlua0NvbW1vbkVsZW1lbnRNaXhpbiwgdHlwZSBTYmJMaW5rQ29tbW9uRWxlbWVudE1peGluVHlwZSB9IGZyb20gJy4vbGluay1jb21tb24uanMnO1xuLy8gZXNsaW50LWRpc2FibGUtbmV4dC1saW5lIGltcG9ydC14L29yZGVyXG5pbXBvcnQgaW5saW5lU3R5bGUgZnJvbSAnLi9pbmxpbmUtbGluay5zY3NzP2xpdCZpbmxpbmUnO1xuaW1wb3J0IHN0eWxlIGZyb20gJy4vbGluay5zY3NzP2xpdCZpbmxpbmUnO1xuXG5leHBvcnQgZGVjbGFyZSBjbGFzcyBTYmJJbmxpbmVMaW5rQ29tbW9uRWxlbWVudE1peGluVHlwZSBleHRlbmRzIFNiYkxpbmtDb21tb25FbGVtZW50TWl4aW5UeXBlIHt9XG5cbi8vIGVzbGludC1kaXNhYmxlLW5leHQtbGluZSBAdHlwZXNjcmlwdC1lc2xpbnQvbmFtaW5nLWNvbnZlbnRpb25cbmV4cG9ydCBjb25zdCBTYmJJbmxpbmVMaW5rQ29tbW9uRWxlbWVudE1peGluID0gPFxuICBUIGV4dGVuZHMgQWJzdHJhY3RDb25zdHJ1Y3RvcjxTYmJBY3Rpb25CYXNlRWxlbWVudD4sXG4+KFxuICBzdXBlckNsYXNzOiBULFxuKTogQWJzdHJhY3RDb25zdHJ1Y3RvcjxTYmJJbmxpbmVMaW5rQ29tbW9uRWxlbWVudE1peGluVHlwZT4gJiBUID0+IHtcbiAgYWJzdHJhY3QgY2xhc3MgU2JiSW5saW5lTGlua0NvbW1vbkVsZW1lbnRcbiAgICBleHRlbmRzIFNiYkxpbmtDb21tb25FbGVtZW50TWl4aW4oc3VwZXJDbGFzcylcbiAgICBpbXBsZW1lbnRzIFBhcnRpYWw8U2JiSW5saW5lTGlua0NvbW1vbkVsZW1lbnRNaXhpblR5cGU+XG4gIHtcbiAgICBwdWJsaWMgc3RhdGljIHN0eWxlczogQ1NTUmVzdWx0R3JvdXAgPSBbc3R5bGUsIGlubGluZVN0eWxlXTtcbiAgfVxuICByZXR1cm4gU2JiSW5saW5lTGlua0NvbW1vbkVsZW1lbnQgYXMgdW5rbm93biBhcyBBYnN0cmFjdENvbnN0cnVjdG9yPFNiYklubGluZUxpbmtDb21tb25FbGVtZW50TWl4aW5UeXBlPiAmXG4gICAgVDtcbn07XG4iXSwibmFtZXMiOlsiX19kZWNvcmF0ZUNsYXNzIl0sIm1hcHBpbmdzIjoiOzs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7OztBQXFCYSxNQUFBLDRCQUE0QixDQUN2QyxlQUMyRDtBQUczRCxNQUFlLHVCQUFmLGNBQ1UsaUJBQWlCLFVBQVUsRUFFckM7QUFBQSxJQUhBLGNBQUE7QUFBQSxZQUFBLEdBQUEsU0FBQTtBQVUrQixXQUFPLE9BQW9CO0FBQUEsSUFBQTtBQUFBLElBRXJDLGlCQUFpQztBQUMzQyxhQUFBO0FBQUEsSUFDVDtBQUFBLEVBQUE7QUFkYSx1QkFJQyxTQUF5QjtBQU1IQSxvQkFBQTtBQUFBLElBQW5DLFNBQVMsRUFBRSxTQUFTLE1BQU07QUFBQSxFQUFBLEdBVmQscUJBVXVCLFdBQUEsUUFBQSxDQUFBO0FBVnRDLHlCQUFBQSxrQkFBQTtBQUFBLElBRkMsZUFBZSxFQUFFLGlCQUFpQixJQUFJO0FBQUEsSUFDdEMsVUFBVTtBQUFBLEVBQ0ksR0FBQSxvQkFBQTtBQWdCUixTQUFBO0FBQ1Q7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7QUN2QmEsTUFBQSxpQ0FBaUMsQ0FDNUMsZUFDZ0U7QUFDaEUsUUFBZSw2QkFBZixNQUFlLG1DQUNMLDBCQUEwQixpQkFBaUIsVUFBVSxDQUFDLEVBRWhFO0FBQUEsSUFIQSxjQUFBO0FBQUEsWUFBQSxHQUFBLFNBQUE7QUFRRSxXQUFPLGdCQUFtQztBQUFBLElBQUE7QUFBQSxJQUV2QixpQkFBaUM7QUFDM0MsYUFBQTtBQUFBLHdDQUMyQixNQUFNLGdCQUFnQjtBQUFBO0FBQUE7QUFBQSxJQUcxRDtBQUFBLEVBQ0Y7QUFaZ0IsNkJBQUEsU0FBeUIsQ0FBQyxPQUFPLFVBQVU7QUFKM0QsTUFBZSw0QkFBZjtBQVFTLGtCQUFBO0FBQUEsSUFETixTQUFTLEVBQUUsV0FBVyxrQkFBa0IsU0FBUyxNQUFNO0FBQUEsRUFBQSxHQVAzQywwQkFRTixXQUFBLGVBQUE7QUFTRixTQUFBO0FBRVQ7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7OztBQzdCYSxNQUFBLGtDQUFrQyxDQUc3QyxlQUNpRTtBQUNqRSxRQUFlLDhCQUFmLE1BQWUsb0NBQ0wsMEJBQTBCLFVBQVUsRUFFOUM7QUFBQSxFQUVBO0FBRGdCLDhCQUFBLFNBQXlCLENBQUMsT0FBTyxXQUFXO0FBSjVELE1BQWUsNkJBQWY7QUFNTyxTQUFBO0FBRVQ7In0=
228
+ //# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiY29tbW9uLmpzIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi9zcmMvZWxlbWVudHMvbGluay9jb21tb24vbGluay1jb21tb24udHMiLCIuLi8uLi8uLi8uLi9zcmMvZWxlbWVudHMvbGluay9jb21tb24vYmxvY2stbGluay1jb21tb24udHMiLCIuLi8uLi8uLi8uLi9zcmMvZWxlbWVudHMvbGluay9jb21tb24vaW5saW5lLWxpbmstY29tbW9uLnRzIl0sInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB0eXBlIHsgQ1NTUmVzdWx0R3JvdXAsIFRlbXBsYXRlUmVzdWx0IH0gZnJvbSAnbGl0JztcbmltcG9ydCB7IHByb3BlcnR5IH0gZnJvbSAnbGl0L2RlY29yYXRvcnMuanMnO1xuaW1wb3J0IHsgaHRtbCB9IGZyb20gJ2xpdC9zdGF0aWMtaHRtbC5qcyc7XG5cbmltcG9ydCB0eXBlIHsgU2JiQWN0aW9uQmFzZUVsZW1lbnQgfSBmcm9tICcuLi8uLi9jb3JlL2Jhc2UtZWxlbWVudHMuanMnO1xuaW1wb3J0IHsgaG9zdEF0dHJpYnV0ZXMsIHNsb3RTdGF0ZSB9IGZyb20gJy4uLy4uL2NvcmUvZGVjb3JhdG9ycy5qcyc7XG5pbXBvcnQge1xuICBTYmJOZWdhdGl2ZU1peGluLFxuICB0eXBlIFNiYk5lZ2F0aXZlTWl4aW5UeXBlLFxuICB0eXBlIEFic3RyYWN0Q29uc3RydWN0b3IsXG59IGZyb20gJy4uLy4uL2NvcmUvbWl4aW5zLmpzJztcblxuaW1wb3J0IHN0eWxlIGZyb20gJy4vbGluay5zY3NzP2xpdCZpbmxpbmUnO1xuXG5leHBvcnQgdHlwZSBTYmJMaW5rU2l6ZSA9ICd4cycgfCAncycgfCAnbSc7XG5cbmV4cG9ydCBkZWNsYXJlIGNsYXNzIFNiYkxpbmtDb21tb25FbGVtZW50TWl4aW5UeXBlIGV4dGVuZHMgU2JiTmVnYXRpdmVNaXhpblR5cGUge1xuICBwdWJsaWMgc2l6ZT86IFNiYkxpbmtTaXplO1xufVxuXG4vLyBlc2xpbnQtZGlzYWJsZS1uZXh0LWxpbmUgQHR5cGVzY3JpcHQtZXNsaW50L25hbWluZy1jb252ZW50aW9uXG5leHBvcnQgY29uc3QgU2JiTGlua0NvbW1vbkVsZW1lbnRNaXhpbiA9IDxUIGV4dGVuZHMgQWJzdHJhY3RDb25zdHJ1Y3RvcjxTYmJBY3Rpb25CYXNlRWxlbWVudD4+KFxuICBzdXBlckNsYXNzOiBULFxuKTogQWJzdHJhY3RDb25zdHJ1Y3RvcjxTYmJMaW5rQ29tbW9uRWxlbWVudE1peGluVHlwZT4gJiBUID0+IHtcbiAgQGhvc3RBdHRyaWJ1dGVzKHsgJ2RhdGEtc2JiLWxpbmsnOiAnJyB9KVxuICBAc2xvdFN0YXRlKClcbiAgYWJzdHJhY3QgY2xhc3MgU2JiTGlua0NvbW1vbkVsZW1lbnRcbiAgICBleHRlbmRzIFNiYk5lZ2F0aXZlTWl4aW4oc3VwZXJDbGFzcylcbiAgICBpbXBsZW1lbnRzIFBhcnRpYWw8U2JiTGlua0NvbW1vbkVsZW1lbnRNaXhpblR5cGU+XG4gIHtcbiAgICBwdWJsaWMgc3RhdGljIHN0eWxlczogQ1NTUmVzdWx0R3JvdXAgPSBzdHlsZTtcblxuICAgIC8qKlxuICAgICAqIFRleHQgc2l6ZSwgdGhlIGxpbmsgc2hvdWxkIGdldCBpbiB0aGUgbm9uLWJ1dHRvbiB2YXJpYXRpb24uXG4gICAgICogV2l0aCBpbmxpbmUgdmFyaWFudCwgdGhlIHRleHQgc2l6ZSBhZGFwdHMgdG8gd2hlcmUgaXQgaXMgdXNlZC5cbiAgICAgKi9cbiAgICBAcHJvcGVydHkoeyByZWZsZWN0OiB0cnVlIH0pIHB1YmxpYyBzaXplOiBTYmJMaW5rU2l6ZSA9ICdzJztcblxuICAgIHByb3RlY3RlZCBvdmVycmlkZSByZW5kZXJUZW1wbGF0ZSgpOiBUZW1wbGF0ZVJlc3VsdCB7XG4gICAgICByZXR1cm4gaHRtbGA8c2xvdD48L3Nsb3Q+YDtcbiAgICB9XG4gIH1cbiAgcmV0dXJuIFNiYkxpbmtDb21tb25FbGVtZW50IGFzIHVua25vd24gYXMgQWJzdHJhY3RDb25zdHJ1Y3RvcjxTYmJMaW5rQ29tbW9uRWxlbWVudE1peGluVHlwZT4gJiBUO1xufTtcbiIsImltcG9ydCB0eXBlIHsgQ1NTUmVzdWx0R3JvdXAsIFRlbXBsYXRlUmVzdWx0IH0gZnJvbSAnbGl0JztcbmltcG9ydCB7IHByb3BlcnR5IH0gZnJvbSAnbGl0L2RlY29yYXRvcnMuanMnO1xuaW1wb3J0IHsgaHRtbCB9IGZyb20gJ2xpdC9zdGF0aWMtaHRtbC5qcyc7XG5cbmltcG9ydCB0eXBlIHsgU2JiQWN0aW9uQmFzZUVsZW1lbnQgfSBmcm9tICcuLi8uLi9jb3JlL2Jhc2UtZWxlbWVudHMuanMnO1xuaW1wb3J0IHR5cGUgeyBTYmJJY29uUGxhY2VtZW50IH0gZnJvbSAnLi4vLi4vY29yZS9pbnRlcmZhY2VzLmpzJztcbmltcG9ydCB0eXBlIHsgQWJzdHJhY3RDb25zdHJ1Y3RvciB9IGZyb20gJy4uLy4uL2NvcmUvbWl4aW5zLmpzJztcbmltcG9ydCB7IFNiYkljb25OYW1lTWl4aW4gfSBmcm9tICcuLi8uLi9pY29uLmpzJztcblxuaW1wb3J0IHsgU2JiTGlua0NvbW1vbkVsZW1lbnRNaXhpbiwgdHlwZSBTYmJMaW5rQ29tbW9uRWxlbWVudE1peGluVHlwZSB9IGZyb20gJy4vbGluay1jb21tb24uanMnO1xuLy8gZXNsaW50LWRpc2FibGUtbmV4dC1saW5lIGltcG9ydC14L29yZGVyXG5pbXBvcnQgYmxvY2tTdHlsZSBmcm9tICcuL2Jsb2NrLWxpbmsuc2Nzcz9saXQmaW5saW5lJztcbmltcG9ydCBzdHlsZSBmcm9tICcuL2xpbmsuc2Nzcz9saXQmaW5saW5lJztcblxuZXhwb3J0IGRlY2xhcmUgY2xhc3MgU2JiQmxvY2tMaW5rQ29tbW9uRWxlbWVudE1peGluVHlwZSBleHRlbmRzIFNiYkxpbmtDb21tb25FbGVtZW50TWl4aW5UeXBlIHtcbiAgcHVibGljIGljb25OYW1lPzogc3RyaW5nO1xuICBwdWJsaWMgaWNvblBsYWNlbWVudD86IFNiYkljb25QbGFjZW1lbnQ7XG59XG5cbi8vIGVzbGludC1kaXNhYmxlLW5leHQtbGluZSBAdHlwZXNjcmlwdC1lc2xpbnQvbmFtaW5nLWNvbnZlbnRpb25cbmV4cG9ydCBjb25zdCBTYmJCbG9ja0xpbmtDb21tb25FbGVtZW50TWl4aW4gPSA8VCBleHRlbmRzIEFic3RyYWN0Q29uc3RydWN0b3I8U2JiQWN0aW9uQmFzZUVsZW1lbnQ+PihcbiAgc3VwZXJDbGFzczogVCxcbik6IEFic3RyYWN0Q29uc3RydWN0b3I8U2JiQmxvY2tMaW5rQ29tbW9uRWxlbWVudE1peGluVHlwZT4gJiBUID0+IHtcbiAgYWJzdHJhY3QgY2xhc3MgU2JiQmxvY2tMaW5rQ29tbW9uRWxlbWVudFxuICAgIGV4dGVuZHMgU2JiTGlua0NvbW1vbkVsZW1lbnRNaXhpbihTYmJJY29uTmFtZU1peGluKHN1cGVyQ2xhc3MpKVxuICAgIGltcGxlbWVudHMgUGFydGlhbDxTYmJCbG9ja0xpbmtDb21tb25FbGVtZW50TWl4aW5UeXBlPlxuICB7XG4gICAgcHVibGljIHN0YXRpYyBzdHlsZXM6IENTU1Jlc3VsdEdyb3VwID0gW3N0eWxlLCBibG9ja1N0eWxlXTtcblxuICAgIC8qKiBNb3ZlcyB0aGUgaWNvbiB0byB0aGUgZW5kIG9mIHRoZSBjb21wb25lbnQgaWYgc2V0IHRvIHRydWUuICovXG4gICAgQHByb3BlcnR5KHsgYXR0cmlidXRlOiAnaWNvbi1wbGFjZW1lbnQnLCByZWZsZWN0OiB0cnVlIH0pXG4gICAgcHVibGljIGljb25QbGFjZW1lbnQ/OiBTYmJJY29uUGxhY2VtZW50ID0gJ3N0YXJ0JztcblxuICAgIHByb3RlY3RlZCBvdmVycmlkZSByZW5kZXJUZW1wbGF0ZSgpOiBUZW1wbGF0ZVJlc3VsdCB7XG4gICAgICByZXR1cm4gaHRtbGBcbiAgICAgICAgPHNwYW4gY2xhc3M9XCJzYmItbGlua19faWNvblwiPiAke3N1cGVyLnJlbmRlckljb25TbG90KCl9IDwvc3Bhbj5cbiAgICAgICAgPHNsb3Q+PC9zbG90PlxuICAgICAgYDtcbiAgICB9XG4gIH1cbiAgcmV0dXJuIFNiYkJsb2NrTGlua0NvbW1vbkVsZW1lbnQgYXMgdW5rbm93biBhcyBBYnN0cmFjdENvbnN0cnVjdG9yPFNiYkJsb2NrTGlua0NvbW1vbkVsZW1lbnRNaXhpblR5cGU+ICZcbiAgICBUO1xufTtcbiIsImltcG9ydCB0eXBlIHsgQ1NTUmVzdWx0R3JvdXAgfSBmcm9tICdsaXQnO1xuXG5pbXBvcnQgdHlwZSB7IFNiYkFjdGlvbkJhc2VFbGVtZW50IH0gZnJvbSAnLi4vLi4vY29yZS9iYXNlLWVsZW1lbnRzLmpzJztcbmltcG9ydCB0eXBlIHsgQWJzdHJhY3RDb25zdHJ1Y3RvciB9IGZyb20gJy4uLy4uL2NvcmUvbWl4aW5zLmpzJztcblxuaW1wb3J0IHsgU2JiTGlua0NvbW1vbkVsZW1lbnRNaXhpbiwgdHlwZSBTYmJMaW5rQ29tbW9uRWxlbWVudE1peGluVHlwZSB9IGZyb20gJy4vbGluay1jb21tb24uanMnO1xuLy8gZXNsaW50LWRpc2FibGUtbmV4dC1saW5lIGltcG9ydC14L29yZGVyXG5pbXBvcnQgaW5saW5lU3R5bGUgZnJvbSAnLi9pbmxpbmUtbGluay5zY3NzP2xpdCZpbmxpbmUnO1xuaW1wb3J0IHN0eWxlIGZyb20gJy4vbGluay5zY3NzP2xpdCZpbmxpbmUnO1xuXG5leHBvcnQgZGVjbGFyZSBjbGFzcyBTYmJJbmxpbmVMaW5rQ29tbW9uRWxlbWVudE1peGluVHlwZSBleHRlbmRzIFNiYkxpbmtDb21tb25FbGVtZW50TWl4aW5UeXBlIHt9XG5cbi8vIGVzbGludC1kaXNhYmxlLW5leHQtbGluZSBAdHlwZXNjcmlwdC1lc2xpbnQvbmFtaW5nLWNvbnZlbnRpb25cbmV4cG9ydCBjb25zdCBTYmJJbmxpbmVMaW5rQ29tbW9uRWxlbWVudE1peGluID0gPFxuICBUIGV4dGVuZHMgQWJzdHJhY3RDb25zdHJ1Y3RvcjxTYmJBY3Rpb25CYXNlRWxlbWVudD4sXG4+KFxuICBzdXBlckNsYXNzOiBULFxuKTogQWJzdHJhY3RDb25zdHJ1Y3RvcjxTYmJJbmxpbmVMaW5rQ29tbW9uRWxlbWVudE1peGluVHlwZT4gJiBUID0+IHtcbiAgYWJzdHJhY3QgY2xhc3MgU2JiSW5saW5lTGlua0NvbW1vbkVsZW1lbnRcbiAgICBleHRlbmRzIFNiYkxpbmtDb21tb25FbGVtZW50TWl4aW4oc3VwZXJDbGFzcylcbiAgICBpbXBsZW1lbnRzIFBhcnRpYWw8U2JiSW5saW5lTGlua0NvbW1vbkVsZW1lbnRNaXhpblR5cGU+XG4gIHtcbiAgICBwdWJsaWMgc3RhdGljIHN0eWxlczogQ1NTUmVzdWx0R3JvdXAgPSBbc3R5bGUsIGlubGluZVN0eWxlXTtcbiAgfVxuICByZXR1cm4gU2JiSW5saW5lTGlua0NvbW1vbkVsZW1lbnQgYXMgdW5rbm93biBhcyBBYnN0cmFjdENvbnN0cnVjdG9yPFNiYklubGluZUxpbmtDb21tb25FbGVtZW50TWl4aW5UeXBlPiAmXG4gICAgVDtcbn07XG4iXSwibmFtZXMiOlsiX19kZWNvcmF0ZUNsYXNzIl0sIm1hcHBpbmdzIjoiOzs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7O0FBcUJhLE1BQUEsNEJBQTRCLENBQ3ZDLGVBQzJEO0FBRzNELE1BQWUsdUJBQWYsY0FDVSxpQkFBaUIsVUFBVSxFQUVyQztBQUFBLElBSEEsY0FBQTtBQUFBLFlBQUEsR0FBQSxTQUFBO0FBVStCLFdBQU8sT0FBb0I7QUFBQSxJQUFBO0FBQUEsSUFFckMsaUJBQWlDO0FBQzNDLGFBQUE7QUFBQSxJQUNUO0FBQUEsRUFBQTtBQWRhLHVCQUlDLFNBQXlCO0FBTUhBLG9CQUFBO0FBQUEsSUFBbkMsU0FBUyxFQUFFLFNBQVMsTUFBTTtBQUFBLEVBQUEsR0FWZCxxQkFVdUIsV0FBQSxRQUFBLENBQUE7QUFWdEMseUJBQUFBLGtCQUFBO0FBQUEsSUFGQyxlQUFlLEVBQUUsaUJBQWlCLElBQUk7QUFBQSxJQUN0QyxVQUFVO0FBQUEsRUFDSSxHQUFBLG9CQUFBO0FBZ0JSLFNBQUE7QUFDVDs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7O0FDdkJhLE1BQUEsaUNBQWlDLENBQzVDLGVBQ2dFO0FBQ2hFLFFBQWUsNkJBQWYsTUFBZSxtQ0FDTCwwQkFBMEIsaUJBQWlCLFVBQVUsQ0FBQyxFQUVoRTtBQUFBLElBSEEsY0FBQTtBQUFBLFlBQUEsR0FBQSxTQUFBO0FBUUUsV0FBTyxnQkFBbUM7QUFBQSxJQUFBO0FBQUEsSUFFdkIsaUJBQWlDO0FBQzNDLGFBQUE7QUFBQSx3Q0FDMkIsTUFBTSxnQkFBZ0I7QUFBQTtBQUFBO0FBQUEsSUFHMUQ7QUFBQSxFQUNGO0FBWmdCLDZCQUFBLFNBQXlCLENBQUMsT0FBTyxVQUFVO0FBSjNELE1BQWUsNEJBQWY7QUFRUyxrQkFBQTtBQUFBLElBRE4sU0FBUyxFQUFFLFdBQVcsa0JBQWtCLFNBQVMsTUFBTTtBQUFBLEVBQUEsR0FQM0MsMEJBUU4sV0FBQSxlQUFBO0FBU0YsU0FBQTtBQUVUOzs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7OztBQzdCYSxNQUFBLGtDQUFrQyxDQUc3QyxlQUNpRTtBQUNqRSxRQUFlLDhCQUFmLE1BQWUsb0NBQ0wsMEJBQTBCLFVBQVUsRUFFOUM7QUFBQSxFQUVBO0FBRGdCLDhCQUFBLFNBQXlCLENBQUMsT0FBTyxXQUFXO0FBSjVELE1BQWUsNkJBQWY7QUFNTyxTQUFBO0FBRVQ7In0=
@@ -64,14 +64,7 @@ __decorateClass([
64
64
  SbbLinkListBaseElement = __decorateClass([
65
65
  slotState()
66
66
  ], SbbLinkListBaseElement);
67
- const linkListBase = css`/** This mixin can be used to avoid spacing problems by inserting an invisible space as pseudo element. */
68
- /*
69
- * SBB table mixin
70
- * Notes:
71
- * We cannot use \`border-collapse\` because it is not compatible with the \`border-radius\` property.
72
- * Therefore, we have to build the grid avoiding double borders.
73
- */
74
- *,
67
+ const linkListBase = css`*,
75
68
  ::before,
76
69
  ::after {
77
70
  box-sizing: border-box;
@@ -97,4 +90,4 @@ export {
97
90
  SbbLinkListBaseElement,
98
91
  linkListBase as linkListBaseStyle
99
92
  };
100
- //# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiY29tbW9uLmpzIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi9zcmMvZWxlbWVudHMvbGluay1saXN0L2NvbW1vbi9saW5rLWxpc3QtYmFzZS50cyJdLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgdHlwZSB7IFByb3BlcnR5VmFsdWVzLCBUZW1wbGF0ZVJlc3VsdCB9IGZyb20gJ2xpdCc7XG5pbXBvcnQgeyBodG1sLCBMaXRFbGVtZW50LCBub3RoaW5nIH0gZnJvbSAnbGl0JztcbmltcG9ydCB7IHByb3BlcnR5IH0gZnJvbSAnbGl0L2RlY29yYXRvcnMuanMnO1xuXG5pbXBvcnQgeyBzbG90U3RhdGUgfSBmcm9tICcuLi8uLi9jb3JlL2RlY29yYXRvcnMuanMnO1xuaW1wb3J0IHtcbiAgU2JiTmFtZWRTbG90TGlzdE1peGluLFxuICBTYmJOZWdhdGl2ZU1peGluLFxuICB0eXBlIFdpdGhMaXN0Q2hpbGRyZW4sXG59IGZyb20gJy4uLy4uL2NvcmUvbWl4aW5zLmpzJztcbmltcG9ydCB0eXBlIHtcbiAgU2JiQmxvY2tMaW5rQnV0dG9uRWxlbWVudCxcbiAgU2JiQmxvY2tMaW5rRWxlbWVudCxcbiAgU2JiQmxvY2tMaW5rU3RhdGljRWxlbWVudCxcbiAgU2JiTGlua1NpemUsXG59IGZyb20gJy4uLy4uL2xpbmsuanMnO1xuaW1wb3J0IHR5cGUgeyBTYmJUaXRsZUxldmVsIH0gZnJvbSAnLi4vLi4vdGl0bGUuanMnO1xuXG5pbXBvcnQgJy4uLy4uL3RpdGxlLmpzJztcblxuLyoqXG4gKiBJdCBkaXNwbGF5cyBhIGxpc3Qgb2YgYHNiYi1ibG9jay1saW5rYC5cbiAqXG4gKiBAc2xvdCAtIFVzZSB0aGUgdW5uYW1lZCBzbG90IHRvIGFkZCBvbmUgb3IgbW9yZSBgc2JiLWJsb2NrLWxpbmtgLlxuICogQHNsb3QgdGl0bGUgLSBVc2UgdGhpcyBzbG90IHRvIHByb3ZpZGUgYSB0aXRsZS5cbiAqL1xuQHNsb3RTdGF0ZSgpXG5leHBvcnQgY2xhc3MgU2JiTGlua0xpc3RCYXNlRWxlbWVudCBleHRlbmRzIFNiYk5lZ2F0aXZlTWl4aW4oXG4gIFNiYk5hbWVkU2xvdExpc3RNaXhpbjxcbiAgICBTYmJCbG9ja0xpbmtFbGVtZW50IHwgU2JiQmxvY2tMaW5rQnV0dG9uRWxlbWVudCB8IFNiYkJsb2NrTGlua1N0YXRpY0VsZW1lbnQsXG4gICAgdHlwZW9mIExpdEVsZW1lbnRcbiAgPihMaXRFbGVtZW50KSxcbikge1xuICBwcm90ZWN0ZWQgb3ZlcnJpZGUgcmVhZG9ubHkgbGlzdENoaWxkTG9jYWxOYW1lcyA9IFtcbiAgICAnc2JiLWJsb2NrLWxpbmsnLFxuICAgICdzYmItYmxvY2stbGluay1idXR0b24nLFxuICAgICdzYmItYmxvY2stbGluay1zdGF0aWMnLFxuICBdO1xuXG4gIC8qKiBUaGUgdGl0bGUgdGV4dCB3ZSB3YW50IHRvIHNob3cgYmVmb3JlIHRoZSBsaXN0LiAqL1xuICBAcHJvcGVydHkoeyBhdHRyaWJ1dGU6ICd0aXRsZS1jb250ZW50JywgcmVmbGVjdDogdHJ1ZSB9KSBwdWJsaWMgdGl0bGVDb250ZW50Pzogc3RyaW5nO1xuXG4gIC8qKiBUaGUgc2VtYW50aWMgbGV2ZWwgb2YgdGhlIHRpdGxlLCBlLmcuIDIgPSBoMi4gKi9cbiAgQHByb3BlcnR5KHsgYXR0cmlidXRlOiAndGl0bGUtbGV2ZWwnIH0pIHB1YmxpYyB0aXRsZUxldmVsOiBTYmJUaXRsZUxldmVsID0gJzInO1xuXG4gIC8qKlxuICAgKiBUZXh0IHNpemUgb2YgdGhlIG5lc3RlZCBzYmItYmxvY2stbGluayBpbnN0YW5jZXMuXG4gICAqIFRoaXMgd2lsbCBvdmVyd3JpdGUgdGhlIHNpemUgYXR0cmlidXRlIG9mIG5lc3RlZCBzYmItYmxvY2stbGluayBpbnN0YW5jZXMuXG4gICAqL1xuICBAcHJvcGVydHkoeyByZWZsZWN0OiB0cnVlIH0pIHB1YmxpYyBzaXplOiBTYmJMaW5rU2l6ZSA9ICdzJztcblxuICBwcm90ZWN0ZWQgb3ZlcnJpZGUgd2lsbFVwZGF0ZShjaGFuZ2VkUHJvcGVydGllczogUHJvcGVydHlWYWx1ZXM8V2l0aExpc3RDaGlsZHJlbjx0aGlzPj4pOiB2b2lkIHtcbiAgICBzdXBlci53aWxsVXBkYXRlKGNoYW5nZWRQcm9wZXJ0aWVzKTtcblxuICAgIGlmIChcbiAgICAgIGNoYW5nZWRQcm9wZXJ0aWVzLmhhcygnc2l6ZScpIHx8XG4gICAgICBjaGFuZ2VkUHJvcGVydGllcy5oYXMoJ25lZ2F0aXZlJykgfHxcbiAgICAgIGNoYW5nZWRQcm9wZXJ0aWVzLmhhcygnbGlzdENoaWxkcmVuJylcbiAgICApIHtcbiAgICAgIGZvciAoY29uc3QgbGluayBvZiB0aGlzLmxpc3RDaGlsZHJlbikge1xuICAgICAgICBsaW5rLm5lZ2F0aXZlID0gdGhpcy5uZWdhdGl2ZTtcbiAgICAgICAgbGluay5zaXplID0gdGhpcy5zaXplO1xuICAgICAgfVxuICAgIH1cbiAgfVxuXG4gIHByb3RlY3RlZCBvdmVycmlkZSByZW5kZXIoKTogVGVtcGxhdGVSZXN1bHQge1xuICAgIHJldHVybiBodG1sYFxuICAgICAgPGRpdiBjbGFzcz1cInNiYi1saW5rLWxpc3Qtd3JhcHBlclwiPlxuICAgICAgICA8c2JiLXRpdGxlXG4gICAgICAgICAgY2xhc3M9XCJzYmItbGluay1saXN0LXRpdGxlXCJcbiAgICAgICAgICBsZXZlbD0ke3RoaXMudGl0bGVMZXZlbCB8fCBub3RoaW5nfVxuICAgICAgICAgIHZpc3VhbC1sZXZlbD1cIjVcIlxuICAgICAgICAgID9uZWdhdGl2ZT0ke3RoaXMubmVnYXRpdmV9XG4gICAgICAgICAgaWQ9XCJzYmItbGluay1saXN0LXRpdGxlLWlkXCJcbiAgICAgICAgPlxuICAgICAgICAgIDxzbG90IG5hbWU9XCJ0aXRsZVwiPiR7dGhpcy50aXRsZUNvbnRlbnR9PC9zbG90PlxuICAgICAgICA8L3NiYi10aXRsZT5cbiAgICAgICAgJHt0aGlzLnJlbmRlckxpc3QoeyBhcmlhTGFiZWxsZWRieTogJ3NiYi1saW5rLWxpc3QtdGl0bGUtaWQnIH0pfVxuICAgICAgPC9kaXY+XG4gICAgYDtcbiAgfVxufVxuIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiI7Ozs7Ozs7Ozs7Ozs7OztBQTJCTyxJQUFNLHlCQUFOLGNBQXFDO0FBQUEsRUFDMUMsc0JBR0UsVUFBVTtBQUNkLEVBQUU7QUFBQSxFQUxLLGNBQUE7QUFBQSxVQUFBLEdBQUEsU0FBQTtBQU1MLFNBQTRCLHNCQUFzQjtBQUFBLE1BQ2hEO0FBQUEsTUFDQTtBQUFBLE1BQ0E7QUFBQSxJQUFBO0FBT3NDLFNBQU8sYUFBNEI7QUFNOUMsU0FBTyxPQUFvQjtBQUFBLEVBQUE7QUFBQSxFQUVyQyxXQUFXLG1CQUFpRTtBQUM3RixVQUFNLFdBQVcsaUJBQWlCO0FBR2hDLFFBQUEsa0JBQWtCLElBQUksTUFBTSxLQUM1QixrQkFBa0IsSUFBSSxVQUFVLEtBQ2hDLGtCQUFrQixJQUFJLGNBQWMsR0FDcEM7QUFDVyxpQkFBQSxRQUFRLEtBQUssY0FBYztBQUNwQyxhQUFLLFdBQVcsS0FBSztBQUNyQixhQUFLLE9BQU8sS0FBSztBQUFBLE1BQ25CO0FBQUEsSUFDRjtBQUFBLEVBQ0Y7QUFBQSxFQUVtQixTQUF5QjtBQUNuQyxXQUFBO0FBQUE7QUFBQTtBQUFBO0FBQUEsa0JBSU8sS0FBSyxjQUFjLE9BQU87QUFBQTtBQUFBLHNCQUV0QixLQUFLLFFBQVE7QUFBQTtBQUFBO0FBQUEsK0JBR0osS0FBSyxZQUFZO0FBQUE7QUFBQSxVQUV0QyxLQUFLLFdBQVcsRUFBRSxnQkFBZ0IseUJBQTBCLENBQUEsQ0FBQztBQUFBO0FBQUE7QUFBQSxFQUdyRTtBQUNGO0FBMUNrRSxnQkFBQTtBQUFBLEVBQS9ELFNBQVMsRUFBRSxXQUFXLGlCQUFpQixTQUFTLE1BQU07QUFBQSxHQWI1Qyx1QkFhcUQsV0FBQSxnQkFBQSxDQUFBO0FBR2pCLGdCQUFBO0FBQUEsRUFBOUMsU0FBUyxFQUFFLFdBQVcsZUFBZTtBQUFBLEdBaEIzQix1QkFnQm9DLFdBQUEsY0FBQSxDQUFBO0FBTVgsZ0JBQUE7QUFBQSxFQUFuQyxTQUFTLEVBQUUsU0FBUyxNQUFNO0FBQUEsR0F0QmhCLHVCQXNCeUIsV0FBQSxRQUFBLENBQUE7QUF0QnpCLHlCQUFOLGdCQUFBO0FBQUEsRUFETixVQUFVO0FBQUEsR0FDRSxzQkFBQTs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7OyJ9
93
+ //# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiY29tbW9uLmpzIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi9zcmMvZWxlbWVudHMvbGluay1saXN0L2NvbW1vbi9saW5rLWxpc3QtYmFzZS50cyJdLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgdHlwZSB7IFByb3BlcnR5VmFsdWVzLCBUZW1wbGF0ZVJlc3VsdCB9IGZyb20gJ2xpdCc7XG5pbXBvcnQgeyBodG1sLCBMaXRFbGVtZW50LCBub3RoaW5nIH0gZnJvbSAnbGl0JztcbmltcG9ydCB7IHByb3BlcnR5IH0gZnJvbSAnbGl0L2RlY29yYXRvcnMuanMnO1xuXG5pbXBvcnQgeyBzbG90U3RhdGUgfSBmcm9tICcuLi8uLi9jb3JlL2RlY29yYXRvcnMuanMnO1xuaW1wb3J0IHtcbiAgU2JiTmFtZWRTbG90TGlzdE1peGluLFxuICBTYmJOZWdhdGl2ZU1peGluLFxuICB0eXBlIFdpdGhMaXN0Q2hpbGRyZW4sXG59IGZyb20gJy4uLy4uL2NvcmUvbWl4aW5zLmpzJztcbmltcG9ydCB0eXBlIHtcbiAgU2JiQmxvY2tMaW5rQnV0dG9uRWxlbWVudCxcbiAgU2JiQmxvY2tMaW5rRWxlbWVudCxcbiAgU2JiQmxvY2tMaW5rU3RhdGljRWxlbWVudCxcbiAgU2JiTGlua1NpemUsXG59IGZyb20gJy4uLy4uL2xpbmsuanMnO1xuaW1wb3J0IHR5cGUgeyBTYmJUaXRsZUxldmVsIH0gZnJvbSAnLi4vLi4vdGl0bGUuanMnO1xuXG5pbXBvcnQgJy4uLy4uL3RpdGxlLmpzJztcblxuLyoqXG4gKiBJdCBkaXNwbGF5cyBhIGxpc3Qgb2YgYHNiYi1ibG9jay1saW5rYC5cbiAqXG4gKiBAc2xvdCAtIFVzZSB0aGUgdW5uYW1lZCBzbG90IHRvIGFkZCBvbmUgb3IgbW9yZSBgc2JiLWJsb2NrLWxpbmtgLlxuICogQHNsb3QgdGl0bGUgLSBVc2UgdGhpcyBzbG90IHRvIHByb3ZpZGUgYSB0aXRsZS5cbiAqL1xuQHNsb3RTdGF0ZSgpXG5leHBvcnQgY2xhc3MgU2JiTGlua0xpc3RCYXNlRWxlbWVudCBleHRlbmRzIFNiYk5lZ2F0aXZlTWl4aW4oXG4gIFNiYk5hbWVkU2xvdExpc3RNaXhpbjxcbiAgICBTYmJCbG9ja0xpbmtFbGVtZW50IHwgU2JiQmxvY2tMaW5rQnV0dG9uRWxlbWVudCB8IFNiYkJsb2NrTGlua1N0YXRpY0VsZW1lbnQsXG4gICAgdHlwZW9mIExpdEVsZW1lbnRcbiAgPihMaXRFbGVtZW50KSxcbikge1xuICBwcm90ZWN0ZWQgb3ZlcnJpZGUgcmVhZG9ubHkgbGlzdENoaWxkTG9jYWxOYW1lcyA9IFtcbiAgICAnc2JiLWJsb2NrLWxpbmsnLFxuICAgICdzYmItYmxvY2stbGluay1idXR0b24nLFxuICAgICdzYmItYmxvY2stbGluay1zdGF0aWMnLFxuICBdO1xuXG4gIC8qKiBUaGUgdGl0bGUgdGV4dCB3ZSB3YW50IHRvIHNob3cgYmVmb3JlIHRoZSBsaXN0LiAqL1xuICBAcHJvcGVydHkoeyBhdHRyaWJ1dGU6ICd0aXRsZS1jb250ZW50JywgcmVmbGVjdDogdHJ1ZSB9KSBwdWJsaWMgdGl0bGVDb250ZW50Pzogc3RyaW5nO1xuXG4gIC8qKiBUaGUgc2VtYW50aWMgbGV2ZWwgb2YgdGhlIHRpdGxlLCBlLmcuIDIgPSBoMi4gKi9cbiAgQHByb3BlcnR5KHsgYXR0cmlidXRlOiAndGl0bGUtbGV2ZWwnIH0pIHB1YmxpYyB0aXRsZUxldmVsOiBTYmJUaXRsZUxldmVsID0gJzInO1xuXG4gIC8qKlxuICAgKiBUZXh0IHNpemUgb2YgdGhlIG5lc3RlZCBzYmItYmxvY2stbGluayBpbnN0YW5jZXMuXG4gICAqIFRoaXMgd2lsbCBvdmVyd3JpdGUgdGhlIHNpemUgYXR0cmlidXRlIG9mIG5lc3RlZCBzYmItYmxvY2stbGluayBpbnN0YW5jZXMuXG4gICAqL1xuICBAcHJvcGVydHkoeyByZWZsZWN0OiB0cnVlIH0pIHB1YmxpYyBzaXplOiBTYmJMaW5rU2l6ZSA9ICdzJztcblxuICBwcm90ZWN0ZWQgb3ZlcnJpZGUgd2lsbFVwZGF0ZShjaGFuZ2VkUHJvcGVydGllczogUHJvcGVydHlWYWx1ZXM8V2l0aExpc3RDaGlsZHJlbjx0aGlzPj4pOiB2b2lkIHtcbiAgICBzdXBlci53aWxsVXBkYXRlKGNoYW5nZWRQcm9wZXJ0aWVzKTtcblxuICAgIGlmIChcbiAgICAgIGNoYW5nZWRQcm9wZXJ0aWVzLmhhcygnc2l6ZScpIHx8XG4gICAgICBjaGFuZ2VkUHJvcGVydGllcy5oYXMoJ25lZ2F0aXZlJykgfHxcbiAgICAgIGNoYW5nZWRQcm9wZXJ0aWVzLmhhcygnbGlzdENoaWxkcmVuJylcbiAgICApIHtcbiAgICAgIGZvciAoY29uc3QgbGluayBvZiB0aGlzLmxpc3RDaGlsZHJlbikge1xuICAgICAgICBsaW5rLm5lZ2F0aXZlID0gdGhpcy5uZWdhdGl2ZTtcbiAgICAgICAgbGluay5zaXplID0gdGhpcy5zaXplO1xuICAgICAgfVxuICAgIH1cbiAgfVxuXG4gIHByb3RlY3RlZCBvdmVycmlkZSByZW5kZXIoKTogVGVtcGxhdGVSZXN1bHQge1xuICAgIHJldHVybiBodG1sYFxuICAgICAgPGRpdiBjbGFzcz1cInNiYi1saW5rLWxpc3Qtd3JhcHBlclwiPlxuICAgICAgICA8c2JiLXRpdGxlXG4gICAgICAgICAgY2xhc3M9XCJzYmItbGluay1saXN0LXRpdGxlXCJcbiAgICAgICAgICBsZXZlbD0ke3RoaXMudGl0bGVMZXZlbCB8fCBub3RoaW5nfVxuICAgICAgICAgIHZpc3VhbC1sZXZlbD1cIjVcIlxuICAgICAgICAgID9uZWdhdGl2ZT0ke3RoaXMubmVnYXRpdmV9XG4gICAgICAgICAgaWQ9XCJzYmItbGluay1saXN0LXRpdGxlLWlkXCJcbiAgICAgICAgPlxuICAgICAgICAgIDxzbG90IG5hbWU9XCJ0aXRsZVwiPiR7dGhpcy50aXRsZUNvbnRlbnR9PC9zbG90PlxuICAgICAgICA8L3NiYi10aXRsZT5cbiAgICAgICAgJHt0aGlzLnJlbmRlckxpc3QoeyBhcmlhTGFiZWxsZWRieTogJ3NiYi1saW5rLWxpc3QtdGl0bGUtaWQnIH0pfVxuICAgICAgPC9kaXY+XG4gICAgYDtcbiAgfVxufVxuIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiI7Ozs7Ozs7Ozs7Ozs7OztBQTJCTyxJQUFNLHlCQUFOLGNBQXFDO0FBQUEsRUFDMUMsc0JBR0UsVUFBVTtBQUNkLEVBQUU7QUFBQSxFQUxLLGNBQUE7QUFBQSxVQUFBLEdBQUEsU0FBQTtBQU1MLFNBQTRCLHNCQUFzQjtBQUFBLE1BQ2hEO0FBQUEsTUFDQTtBQUFBLE1BQ0E7QUFBQSxJQUFBO0FBT3NDLFNBQU8sYUFBNEI7QUFNOUMsU0FBTyxPQUFvQjtBQUFBLEVBQUE7QUFBQSxFQUVyQyxXQUFXLG1CQUFpRTtBQUM3RixVQUFNLFdBQVcsaUJBQWlCO0FBR2hDLFFBQUEsa0JBQWtCLElBQUksTUFBTSxLQUM1QixrQkFBa0IsSUFBSSxVQUFVLEtBQ2hDLGtCQUFrQixJQUFJLGNBQWMsR0FDcEM7QUFDVyxpQkFBQSxRQUFRLEtBQUssY0FBYztBQUNwQyxhQUFLLFdBQVcsS0FBSztBQUNyQixhQUFLLE9BQU8sS0FBSztBQUFBLE1BQ25CO0FBQUEsSUFDRjtBQUFBLEVBQ0Y7QUFBQSxFQUVtQixTQUF5QjtBQUNuQyxXQUFBO0FBQUE7QUFBQTtBQUFBO0FBQUEsa0JBSU8sS0FBSyxjQUFjLE9BQU87QUFBQTtBQUFBLHNCQUV0QixLQUFLLFFBQVE7QUFBQTtBQUFBO0FBQUEsK0JBR0osS0FBSyxZQUFZO0FBQUE7QUFBQSxVQUV0QyxLQUFLLFdBQVcsRUFBRSxnQkFBZ0IseUJBQTBCLENBQUEsQ0FBQztBQUFBO0FBQUE7QUFBQSxFQUdyRTtBQUNGO0FBMUNrRSxnQkFBQTtBQUFBLEVBQS9ELFNBQVMsRUFBRSxXQUFXLGlCQUFpQixTQUFTLE1BQU07QUFBQSxHQWI1Qyx1QkFhcUQsV0FBQSxnQkFBQSxDQUFBO0FBR2pCLGdCQUFBO0FBQUEsRUFBOUMsU0FBUyxFQUFFLFdBQVcsZUFBZTtBQUFBLEdBaEIzQix1QkFnQm9DLFdBQUEsY0FBQSxDQUFBO0FBTVgsZ0JBQUE7QUFBQSxFQUFuQyxTQUFTLEVBQUUsU0FBUyxNQUFNO0FBQUEsR0F0QmhCLHVCQXNCeUIsV0FBQSxRQUFBLENBQUE7QUF0QnpCLHlCQUFOLGdCQUFBO0FBQUEsRUFETixVQUFVO0FBQUEsR0FDRSxzQkFBQTs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7In0=
@@ -1,14 +1,7 @@
1
1
  import { customElement } from "lit/decorators.js";
2
2
  import { linkListBaseStyle, SbbLinkListBaseElement } from "./common.js";
3
3
  import { css } from "lit";
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
- :host {
4
+ const style = css`:host {
12
5
  --sbb-link-list-anchor-border-color: var(--sbb-color-cloud);
13
6
  }
14
7
 
@@ -75,4 +68,4 @@ SbbLinkListAnchorElement = __decorateClass([
75
68
  export {
76
69
  SbbLinkListAnchorElement
77
70
  };
78
- //# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoibGluay1saXN0LWFuY2hvci5qcyIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vc3JjL2VsZW1lbnRzL2xpbmstbGlzdC9saW5rLWxpc3QtYW5jaG9yL2xpbmstbGlzdC1hbmNob3IudHMiXSwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHR5cGUgeyBDU1NSZXN1bHRHcm91cCB9IGZyb20gJ2xpdCc7XG5pbXBvcnQgeyBjdXN0b21FbGVtZW50IH0gZnJvbSAnbGl0L2RlY29yYXRvcnMuanMnO1xuXG5pbXBvcnQgeyBsaW5rTGlzdEJhc2VTdHlsZSwgU2JiTGlua0xpc3RCYXNlRWxlbWVudCB9IGZyb20gJy4uL2NvbW1vbi5qcyc7XG5cbmltcG9ydCBzdHlsZSBmcm9tICcuL2xpbmstbGlzdC1hbmNob3Iuc2Nzcz9saXQmaW5saW5lJztcblxuLyoqXG4gKiBJdCBkaXNwbGF5cyBhIGxpc3Qgb2YgYHNiYi1ibG9jay1saW5rYC5cbiAqXG4gKiBAc2xvdCAtIFVzZSB0aGUgdW5uYW1lZCBzbG90IHRvIGFkZCBvbmUgb3IgbW9yZSBgc2JiLWJsb2NrLWxpbmtgLlxuICogQHNsb3QgdGl0bGUgLSBVc2UgdGhpcyBzbG90IHRvIHByb3ZpZGUgYSB0aXRsZS5cbiAqL1xuQGN1c3RvbUVsZW1lbnQoJ3NiYi1saW5rLWxpc3QtYW5jaG9yJylcbmV4cG9ydCBjbGFzcyBTYmJMaW5rTGlzdEFuY2hvckVsZW1lbnQgZXh0ZW5kcyBTYmJMaW5rTGlzdEJhc2VFbGVtZW50IHtcbiAgcHVibGljIHN0YXRpYyBvdmVycmlkZSBzdHlsZXM6IENTU1Jlc3VsdEdyb3VwID0gW2xpbmtMaXN0QmFzZVN0eWxlLCBzdHlsZV07XG59XG5cbmRlY2xhcmUgZ2xvYmFsIHtcbiAgaW50ZXJmYWNlIEhUTUxFbGVtZW50VGFnTmFtZU1hcCB7XG4gICAgLy8gZXNsaW50LWRpc2FibGUtbmV4dC1saW5lIEB0eXBlc2NyaXB0LWVzbGludC9uYW1pbmctY29udmVudGlvblxuICAgICdzYmItbGluay1saXN0LWFuY2hvcic6IFNiYkxpbmtMaXN0QW5jaG9yRWxlbWVudDtcbiAgfVxufVxuIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiI7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7O0FBY2EsSUFBQSwyQkFBTixjQUF1Qyx1QkFBdUI7QUFFckU7QUFGYSx5QkFDWSxTQUF5QixDQUFDLG1CQUFtQixLQUFLO0FBRDlELDJCQUFOLGdCQUFBO0FBQUEsRUFETixjQUFjLHNCQUFzQjtBQUFBLEdBQ3hCLHdCQUFBOyJ9
71
+ //# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoibGluay1saXN0LWFuY2hvci5qcyIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vc3JjL2VsZW1lbnRzL2xpbmstbGlzdC9saW5rLWxpc3QtYW5jaG9yL2xpbmstbGlzdC1hbmNob3IudHMiXSwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHR5cGUgeyBDU1NSZXN1bHRHcm91cCB9IGZyb20gJ2xpdCc7XG5pbXBvcnQgeyBjdXN0b21FbGVtZW50IH0gZnJvbSAnbGl0L2RlY29yYXRvcnMuanMnO1xuXG5pbXBvcnQgeyBsaW5rTGlzdEJhc2VTdHlsZSwgU2JiTGlua0xpc3RCYXNlRWxlbWVudCB9IGZyb20gJy4uL2NvbW1vbi5qcyc7XG5cbmltcG9ydCBzdHlsZSBmcm9tICcuL2xpbmstbGlzdC1hbmNob3Iuc2Nzcz9saXQmaW5saW5lJztcblxuLyoqXG4gKiBJdCBkaXNwbGF5cyBhIGxpc3Qgb2YgYHNiYi1ibG9jay1saW5rYC5cbiAqXG4gKiBAc2xvdCAtIFVzZSB0aGUgdW5uYW1lZCBzbG90IHRvIGFkZCBvbmUgb3IgbW9yZSBgc2JiLWJsb2NrLWxpbmtgLlxuICogQHNsb3QgdGl0bGUgLSBVc2UgdGhpcyBzbG90IHRvIHByb3ZpZGUgYSB0aXRsZS5cbiAqL1xuQGN1c3RvbUVsZW1lbnQoJ3NiYi1saW5rLWxpc3QtYW5jaG9yJylcbmV4cG9ydCBjbGFzcyBTYmJMaW5rTGlzdEFuY2hvckVsZW1lbnQgZXh0ZW5kcyBTYmJMaW5rTGlzdEJhc2VFbGVtZW50IHtcbiAgcHVibGljIHN0YXRpYyBvdmVycmlkZSBzdHlsZXM6IENTU1Jlc3VsdEdyb3VwID0gW2xpbmtMaXN0QmFzZVN0eWxlLCBzdHlsZV07XG59XG5cbmRlY2xhcmUgZ2xvYmFsIHtcbiAgaW50ZXJmYWNlIEhUTUxFbGVtZW50VGFnTmFtZU1hcCB7XG4gICAgLy8gZXNsaW50LWRpc2FibGUtbmV4dC1saW5lIEB0eXBlc2NyaXB0LWVzbGludC9uYW1pbmctY29udmVudGlvblxuICAgICdzYmItbGluay1saXN0LWFuY2hvcic6IFNiYkxpbmtMaXN0QW5jaG9yRWxlbWVudDtcbiAgfVxufVxuIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiI7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7QUFjYSxJQUFBLDJCQUFOLGNBQXVDLHVCQUF1QjtBQUVyRTtBQUZhLHlCQUNZLFNBQXlCLENBQUMsbUJBQW1CLEtBQUs7QUFEOUQsMkJBQU4sZ0JBQUE7QUFBQSxFQUROLGNBQWMsc0JBQXNCO0FBQUEsR0FDeEIsd0JBQUE7In0=