@kepler.gl/components 3.3.0-alpha.0 → 3.3.0-alpha.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 (215) hide show
  1. package/dist/annotations/annotation-node.d.ts +11 -0
  2. package/dist/annotations/annotation-node.js +145 -0
  3. package/dist/annotations/annotation-overlay.d.ts +16 -0
  4. package/dist/annotations/annotation-overlay.js +166 -0
  5. package/dist/annotations/annotation-panel.d.ts +24 -0
  6. package/dist/annotations/annotation-panel.js +362 -0
  7. package/dist/annotations/annotation-text.d.ts +16 -0
  8. package/dist/annotations/annotation-text.js +150 -0
  9. package/dist/annotations/annotation-utils.d.ts +39 -0
  10. package/dist/annotations/annotation-utils.js +156 -0
  11. package/dist/annotations/index.d.ts +7 -0
  12. package/dist/annotations/index.js +53 -0
  13. package/dist/annotations/lexical-editor/clickable-link-plugin.d.ts +3 -0
  14. package/dist/annotations/lexical-editor/clickable-link-plugin.js +71 -0
  15. package/dist/annotations/lexical-editor/floating-link-editor.d.ts +1 -0
  16. package/dist/annotations/lexical-editor/floating-link-editor.js +194 -0
  17. package/dist/annotations/lexical-editor/index.d.ts +7 -0
  18. package/dist/annotations/lexical-editor/index.js +78 -0
  19. package/dist/annotations/lexical-editor/lexical-constants.d.ts +12 -0
  20. package/dist/annotations/lexical-editor/lexical-constants.js +22 -0
  21. package/dist/annotations/lexical-editor/lexical-nodes.d.ts +3 -0
  22. package/dist/annotations/lexical-editor/lexical-nodes.js +13 -0
  23. package/dist/annotations/lexical-editor/lexical-rich-text-editor.d.ts +15 -0
  24. package/dist/annotations/lexical-editor/lexical-rich-text-editor.js +122 -0
  25. package/dist/annotations/lexical-editor/lexical-theme.d.ts +15 -0
  26. package/dist/annotations/lexical-editor/lexical-theme.js +25 -0
  27. package/dist/annotations/lexical-editor/lexical-toolbar.d.ts +7 -0
  28. package/dist/annotations/lexical-editor/lexical-toolbar.js +293 -0
  29. package/dist/annotations/lexical-editor/lexical-utils.d.ts +4 -0
  30. package/dist/annotations/lexical-editor/lexical-utils.js +45 -0
  31. package/dist/annotations/lexical-editor/use-lexical-toolbar.d.ts +36 -0
  32. package/dist/annotations/lexical-editor/use-lexical-toolbar.js +253 -0
  33. package/dist/bottom-widget.d.ts +1 -1
  34. package/dist/bottom-widget.js +12 -6
  35. package/dist/common/animation-control/animation-control.d.ts +1 -0
  36. package/dist/common/animation-control/animation-control.js +3 -1
  37. package/dist/common/animation-control/animation-controller.js +8 -6
  38. package/dist/common/animation-control/export-video-control.d.ts +9 -0
  39. package/dist/common/animation-control/export-video-control.js +43 -0
  40. package/dist/common/animation-control/playback-controls.d.ts +4 -2
  41. package/dist/common/animation-control/playback-controls.js +7 -4
  42. package/dist/common/checkbox.d.ts +5 -21
  43. package/dist/common/checkbox.js +58 -70
  44. package/dist/common/color-legend.js +3 -3
  45. package/dist/common/data-table/index.d.ts +1 -1
  46. package/dist/common/data-table/index.js +3 -3
  47. package/dist/common/file-uploader/file-upload.js +4 -4
  48. package/dist/common/histogram-plot.js +102 -53
  49. package/dist/common/icons/3d-models/airplane.d.ts +14 -0
  50. package/dist/common/icons/3d-models/airplane.js +104 -0
  51. package/dist/common/icons/3d-models/bicycle.d.ts +14 -0
  52. package/dist/common/icons/3d-models/bicycle.js +426 -0
  53. package/dist/common/icons/3d-models/boeing.d.ts +14 -0
  54. package/dist/common/icons/3d-models/boeing.js +119 -0
  55. package/dist/common/icons/3d-models/car.d.ts +14 -0
  56. package/dist/common/icons/3d-models/car.js +110 -0
  57. package/dist/common/icons/3d-models/cargoship.d.ts +14 -0
  58. package/dist/common/icons/3d-models/cargoship.js +246 -0
  59. package/dist/common/icons/3d-models/evtol.d.ts +14 -0
  60. package/dist/common/icons/3d-models/evtol.js +134 -0
  61. package/dist/common/icons/3d-models/glider.d.ts +14 -0
  62. package/dist/common/icons/3d-models/glider.js +62 -0
  63. package/dist/common/icons/3d-models/helicopter.d.ts +14 -0
  64. package/dist/common/icons/3d-models/helicopter.js +110 -0
  65. package/dist/common/icons/3d-models/scooter.d.ts +14 -0
  66. package/dist/common/icons/3d-models/scooter.js +159 -0
  67. package/dist/common/icons/3d-models/semitruck.d.ts +14 -0
  68. package/dist/common/icons/3d-models/semitruck.js +177 -0
  69. package/dist/common/icons/3d-models/truck.d.ts +14 -0
  70. package/dist/common/icons/3d-models/truck.js +122 -0
  71. package/dist/common/icons/anchor_window.d.ts +1 -8
  72. package/dist/common/icons/anchor_window.js +17 -10
  73. package/dist/common/icons/annotation-text.d.ts +9 -0
  74. package/dist/common/icons/annotation-text.js +56 -0
  75. package/dist/common/icons/index.d.ts +1 -0
  76. package/dist/common/icons/index.js +8 -1
  77. package/dist/common/item-selector/chickleted-input.d.ts +1 -1
  78. package/dist/common/item-selector/chickleted-input.js +5 -5
  79. package/dist/common/line-chart.d.ts +4 -1
  80. package/dist/common/line-chart.js +59 -12
  81. package/dist/common/range-plot.js +4 -2
  82. package/dist/common/range-slider.d.ts +2 -0
  83. package/dist/common/range-slider.js +108 -43
  84. package/dist/common/slider/slider.d.ts +4 -0
  85. package/dist/common/slider/slider.js +78 -35
  86. package/dist/common/styled-components.d.ts +1 -1
  87. package/dist/common/styled-components.js +2 -2
  88. package/dist/common/time-range-slider-time-title.d.ts +1 -1
  89. package/dist/common/time-range-slider-time-title.js +5 -5
  90. package/dist/common/time-range-slider.d.ts +2 -1
  91. package/dist/common/time-range-slider.js +19 -7
  92. package/dist/common/timeline-helpers.d.ts +3 -0
  93. package/dist/common/timeline-helpers.js +57 -0
  94. package/dist/common/timeline-slider.js +21 -12
  95. package/dist/common/toolbar-item.js +5 -5
  96. package/dist/common/toolbar.d.ts +1 -1
  97. package/dist/common/toolbar.js +4 -4
  98. package/dist/common/vertical-toolbar.d.ts +1 -1
  99. package/dist/effects/effect-configurator.d.ts +3 -2
  100. package/dist/effects/effect-configurator.js +213 -52
  101. package/dist/effects/effect-manager.js +3 -3
  102. package/dist/effects/effect-panel-header.js +34 -17
  103. package/dist/effects/effect-panel.d.ts +4 -4
  104. package/dist/effects/effect-panel.js +61 -86
  105. package/dist/effects/effect-time-configurator.js +10 -10
  106. package/dist/effects/effect-type-dropdown-list.d.ts +1 -0
  107. package/dist/effects/effect-type-dropdown-list.js +1 -1
  108. package/dist/effects/effect-type-list-item.d.ts +1 -0
  109. package/dist/effects/effect-type-list-item.js +23 -7
  110. package/dist/effects/effect-type-selector.d.ts +1 -0
  111. package/dist/effects/effect-type-selector.js +2 -2
  112. package/dist/effects/surface-fog-section.d.ts +14 -0
  113. package/dist/effects/surface-fog-section.js +263 -0
  114. package/dist/filters/index.d.ts +1 -0
  115. package/dist/filters/index.js +8 -1
  116. package/dist/filters/polygon-filter.js +2 -2
  117. package/dist/filters/time-range-filter.js +3 -1
  118. package/dist/filters/time-widget-settings.d.ts +14 -0
  119. package/dist/filters/time-widget-settings.js +312 -0
  120. package/dist/filters/time-widget-top.d.ts +2 -3
  121. package/dist/filters/time-widget-top.js +32 -39
  122. package/dist/filters/time-widget.d.ts +3 -2
  123. package/dist/filters/time-widget.js +285 -9
  124. package/dist/filters/types.d.ts +3 -3
  125. package/dist/filters/types.js +1 -1
  126. package/dist/geocoder/geocoder.d.ts +4 -1
  127. package/dist/geocoder/geocoder.js +61 -14
  128. package/dist/geocoder-panel.d.ts +1 -0
  129. package/dist/geocoder-panel.js +6 -2
  130. package/dist/index.d.ts +14 -0
  131. package/dist/index.js +124 -1
  132. package/dist/kepler-gl.d.ts +17 -5
  133. package/dist/kepler-gl.js +89 -11
  134. package/dist/loading-indicator.d.ts +2 -0
  135. package/dist/loading-indicator.js +6 -3
  136. package/dist/map/annotations/annotation-control.d.ts +16 -0
  137. package/dist/map/annotations/annotation-control.js +56 -0
  138. package/dist/map/layer-hover-info.js +68 -35
  139. package/dist/map/layer-selector-panel.d.ts +1 -1
  140. package/dist/map/locale-panel.d.ts +1 -1
  141. package/dist/map/locale-panel.js +2 -2
  142. package/dist/map/map-control-toolbar.d.ts +4 -4
  143. package/dist/map/map-control.d.ts +5 -2
  144. package/dist/map/map-control.js +16 -7
  145. package/dist/map/map-draw-panel.d.ts +1 -1
  146. package/dist/map/map-draw-panel.js +7 -4
  147. package/dist/map/map-legend-panel.d.ts +1 -1
  148. package/dist/map/map-legend-panel.js +7 -7
  149. package/dist/map/map-legend.d.ts +1 -1
  150. package/dist/map/map-legend.js +6 -6
  151. package/dist/map/map-navigation-control.d.ts +13 -0
  152. package/dist/map/map-navigation-control.js +143 -0
  153. package/dist/map/map-popover.js +2 -2
  154. package/dist/map-container.d.ts +13 -3
  155. package/dist/map-container.js +250 -57
  156. package/dist/map-view-state-context.d.ts +1 -0
  157. package/dist/map-view-state-context.js +1 -1
  158. package/dist/modal-container.d.ts +3 -2
  159. package/dist/modal-container.js +28 -6
  160. package/dist/modals/add-map-style-modal.js +173 -200
  161. package/dist/modals/data-table-modal.d.ts +1 -1
  162. package/dist/modals/data-table-modal.js +146 -194
  163. package/dist/modals/export-data-modal.js +117 -139
  164. package/dist/modals/export-video-modal.d.ts +25 -0
  165. package/dist/modals/export-video-modal.js +338 -0
  166. package/dist/modals/export-video-modal.spec.d.ts +1 -0
  167. package/dist/modals/export-video-modal.spec.js +686 -0
  168. package/dist/modals/fog-height-animation.d.ts +8 -0
  169. package/dist/modals/fog-height-animation.js +97 -0
  170. package/dist/modals/hubble-utils.d.ts +25 -0
  171. package/dist/modals/hubble-utils.js +197 -0
  172. package/dist/modals/hubble-utils.spec.d.ts +1 -0
  173. package/dist/modals/hubble-utils.spec.js +397 -0
  174. package/dist/modals/tilesets-modals/load-data-footer.js +2 -2
  175. package/dist/modals/tilesets-modals/load-tileset.js +21 -10
  176. package/dist/modals/tilesets-modals/tileset-bitmap-form.d.ts +14 -0
  177. package/dist/modals/tilesets-modals/tileset-bitmap-form.js +284 -0
  178. package/dist/modals/tilesets-modals/tileset-raster-form.js +94 -11
  179. package/dist/modals/tilesets-modals/tileset-tile3d-form.js +3 -2
  180. package/dist/modals/tilesets-modals/tileset-vector-form.js +58 -4
  181. package/dist/modals/tilesets-modals/tileset-wms-form.js +4 -3
  182. package/dist/notification-panel/notification-item.d.ts +1 -53
  183. package/dist/notification-panel/notification-item.js +47 -75
  184. package/dist/notification-panel.d.ts +1 -1
  185. package/dist/notification-panel.js +20 -42
  186. package/dist/plot-container.js +7 -6
  187. package/dist/side-panel/add-by-dataset-button.js +3 -3
  188. package/dist/side-panel/common/dataset-info.js +2 -2
  189. package/dist/side-panel/interaction-panel/geocoder-config.d.ts +11 -0
  190. package/dist/side-panel/interaction-panel/geocoder-config.js +45 -0
  191. package/dist/side-panel/interaction-panel/interaction-panel.d.ts +3 -2
  192. package/dist/side-panel/interaction-panel/interaction-panel.js +10 -3
  193. package/dist/side-panel/layer-manager.js +11 -3
  194. package/dist/side-panel/layer-panel/color-scale-selector.d.ts +1 -1
  195. package/dist/side-panel/layer-panel/color-scale-selector.js +1 -1
  196. package/dist/side-panel/layer-panel/custom-palette.js +5 -5
  197. package/dist/side-panel/layer-panel/dataset-layer-section.js +19 -3
  198. package/dist/side-panel/layer-panel/layer-configurator.d.ts +4 -2
  199. package/dist/side-panel/layer-panel/layer-configurator.js +402 -76
  200. package/dist/side-panel/layer-panel/layer-panel-header.js +2 -2
  201. package/dist/side-panel/layer-panel/raster-tile-layer-configurator.d.ts +1 -1
  202. package/dist/side-panel/layer-panel/raster-tile-layer-configurator.js +127 -27
  203. package/dist/side-panel/layer-panel/scenegraph-model-selector.d.ts +24 -0
  204. package/dist/side-panel/layer-panel/scenegraph-model-selector.js +123 -0
  205. package/dist/side-panel/layer-panel/text-label-panel.d.ts +1 -1
  206. package/dist/side-panel/layer-panel/text-label-panel.js +11 -2
  207. package/dist/side-panel/layer-panel/vector-tile-layer-configurator.d.ts +1 -1
  208. package/dist/side-panel/layer-panel/vis-config-slider.d.ts +2 -0
  209. package/dist/side-panel/layer-panel/vis-config-slider.js +7 -3
  210. package/dist/side-panel/panel-header.d.ts +1 -0
  211. package/dist/side-panel/panel-header.js +9 -2
  212. package/dist/side-panel/panel-tab.d.ts +1 -1
  213. package/dist/side-panel/panel-tab.js +4 -4
  214. package/dist/side-panel.js +5 -1
  215. package/package.json +39 -28
@@ -53,16 +53,18 @@ var Slider = exports["default"] = /*#__PURE__*/function (_Component) {
53
53
  (0, _defineProperty2["default"])(_this, "slide0Listener", function (x) {
54
54
  var _this$props = _this.props,
55
55
  value1 = _this$props.value1,
56
- minValue = _this$props.minValue;
57
- var val = _this.getValue(minValue, x);
56
+ minValue = _this$props.minValue,
57
+ scaleConfig = _this$props.scaleConfig;
58
+ var val = scaleConfig ? _this.normalizeValue(_this.getValueFromPixelOffset(x)) : _this.getValue(minValue, x);
58
59
  _this.props.onSlider0Change((0, _utils.clamp)([minValue, value1], val));
59
60
  });
60
61
  (0, _defineProperty2["default"])(_this, "slide1Listener", function (x) {
61
62
  var _this$props2 = _this.props,
62
63
  minValue = _this$props2.minValue,
63
64
  maxValue = _this$props2.maxValue,
64
- value0 = _this$props2.value0;
65
- var val = _this.getValue(minValue, x);
65
+ value0 = _this$props2.value0,
66
+ scaleConfig = _this$props2.scaleConfig;
67
+ var val = scaleConfig ? _this.normalizeValue(_this.getValueFromPixelOffset(x)) : _this.getValue(minValue, x);
66
68
  _this.props.onSlider1Change((0, _utils.clamp)([value0, maxValue], val));
67
69
  });
68
70
  (0, _defineProperty2["default"])(_this, "sliderBarListener", function (x) {
@@ -70,16 +72,31 @@ var Slider = exports["default"] = /*#__PURE__*/function (_Component) {
70
72
  value0 = _this$props3.value0,
71
73
  value1 = _this$props3.value1,
72
74
  minValue = _this$props3.minValue,
73
- maxValue = _this$props3.maxValue;
74
- // for slider bar, we use distance delta
75
- var anchor = _this.anchor;
76
- var length = value1 - value0; // the length of the selected range shouldn't change when clamping
77
- var val0 = (0, _utils.clamp)([minValue, maxValue - length], _this.getValue(value0, x - anchor));
78
- var val1 = (0, _utils.clamp)([val0 + length, maxValue], _this.getValue(value1, x - anchor));
79
- var deltaX = _this.getDeltaX(val0 - _this.props.value0);
80
- _this.props.onSliderBarChange(val0, val1);
81
- // update anchor
82
- _this.anchor = _this.anchor + deltaX;
75
+ maxValue = _this$props3.maxValue,
76
+ scaleConfig = _this$props3.scaleConfig;
77
+ if (scaleConfig) {
78
+ var anchor = _this.anchor;
79
+ var baseDistance = _this.getBaseDistance();
80
+
81
+ // Convert current positions to pixel positions, apply delta, convert back
82
+ var pos0Px = _this.getPositionFromValue(value0) * baseDistance;
83
+ var pos1Px = _this.getPositionFromValue(value1) * baseDistance;
84
+ var deltaPx = x - anchor;
85
+ var newVal0Raw = _this.normalizeValue(_this.getValueFromPixelOffset(pos0Px + deltaPx));
86
+ var newVal1Raw = _this.normalizeValue(_this.getValueFromPixelOffset(pos1Px + deltaPx));
87
+ var val0 = (0, _utils.clamp)([minValue, maxValue - (newVal1Raw - newVal0Raw)], newVal0Raw);
88
+ var val1 = (0, _utils.clamp)([val0 + (newVal1Raw - newVal0Raw), maxValue], newVal1Raw);
89
+ _this.props.onSliderBarChange(val0, val1);
90
+ _this.anchor = x;
91
+ } else {
92
+ var _anchor = _this.anchor;
93
+ var length = value1 - value0;
94
+ var _val = (0, _utils.clamp)([minValue, maxValue - length], _this.getValue(value0, x - _anchor));
95
+ var _val2 = (0, _utils.clamp)([_val + length, maxValue], _this.getValue(value1, x - _anchor));
96
+ var deltaX = _this.getDeltaX(_val - _this.props.value0);
97
+ _this.props.onSliderBarChange(_val, _val2);
98
+ _this.anchor = _this.anchor + deltaX;
99
+ }
83
100
  });
84
101
  (0, _defineProperty2["default"])(_this, "calcHandleLeft0", function (w, l) {
85
102
  return w === 0 ? "calc(".concat(l, "% - ").concat(_this.props.sliderHandleWidth / 2, "px)") : "calc(".concat(l, "% - ").concat(_this.props.sliderHandleWidth / 2, "px)");
@@ -99,6 +116,34 @@ var Slider = exports["default"] = /*#__PURE__*/function (_Component) {
99
116
  }
100
117
  return this.props.vertical ? this.ref.current.offsetHeight : this.ref.current.offsetWidth;
101
118
  }
119
+ }, {
120
+ key: "getValueFromPixelOffset",
121
+ value: function getValueFromPixelOffset(pixelOffset) {
122
+ var _this$props4 = this.props,
123
+ minValue = _this$props4.minValue,
124
+ maxValue = _this$props4.maxValue,
125
+ scaleConfig = _this$props4.scaleConfig;
126
+ var baseDistance = this.getBaseDistance();
127
+ if (baseDistance === 0) return minValue;
128
+ var position = pixelOffset / baseDistance;
129
+ if (scaleConfig) {
130
+ return (0, _utils.positionToValue)(position, minValue, maxValue, scaleConfig);
131
+ }
132
+ return minValue + position * (maxValue - minValue);
133
+ }
134
+ }, {
135
+ key: "getPositionFromValue",
136
+ value: function getPositionFromValue(value) {
137
+ var _this$props5 = this.props,
138
+ minValue = _this$props5.minValue,
139
+ maxValue = _this$props5.maxValue,
140
+ scaleConfig = _this$props5.scaleConfig;
141
+ if (scaleConfig) {
142
+ return (0, _utils.valueToPosition)(value, minValue, maxValue, scaleConfig);
143
+ }
144
+ if (maxValue === minValue) return 0;
145
+ return (value - minValue) / (maxValue - minValue);
146
+ }
102
147
  }, {
103
148
  key: "getDeltaVal",
104
149
  value: function getDeltaVal(x) {
@@ -123,32 +168,30 @@ var Slider = exports["default"] = /*#__PURE__*/function (_Component) {
123
168
  }, {
124
169
  key: "normalizeValue",
125
170
  value: function normalizeValue(val) {
126
- var _this$props4 = this.props,
127
- minValue = _this$props4.minValue,
128
- step = _this$props4.step,
129
- marks = _this$props4.marks;
171
+ var _this$props6 = this.props,
172
+ minValue = _this$props6.minValue,
173
+ step = _this$props6.step,
174
+ marks = _this$props6.marks;
130
175
  return (0, _utils.normalizeSliderValue)(val, minValue, step, marks);
131
176
  }
132
177
  }, {
133
178
  key: "render",
134
179
  value: function render() {
135
- var _this$props5 = this.props,
136
- className = _this$props5.className,
137
- classSet = _this$props5.classSet,
138
- disabled = _this$props5.disabled,
139
- isRanged = _this$props5.isRanged,
140
- maxValue = _this$props5.maxValue,
141
- minValue = _this$props5.minValue,
142
- value1 = _this$props5.value1,
143
- vertical = _this$props5.vertical,
144
- sliderHandleWidth = _this$props5.sliderHandleWidth,
145
- showTooltip = _this$props5.showTooltip,
146
- style = _this$props5.style;
180
+ var _this$props7 = this.props,
181
+ className = _this$props7.className,
182
+ classSet = _this$props7.classSet,
183
+ disabled = _this$props7.disabled,
184
+ isRanged = _this$props7.isRanged,
185
+ minValue = _this$props7.minValue,
186
+ value1 = _this$props7.value1,
187
+ vertical = _this$props7.vertical,
188
+ sliderHandleWidth = _this$props7.sliderHandleWidth,
189
+ showTooltip = _this$props7.showTooltip,
190
+ style = _this$props7.style;
147
191
  var value0 = !isRanged && minValue > 0 ? minValue : this.props.value0;
148
- var currValDelta = value1 - value0;
149
- var maxDelta = maxValue - minValue;
150
- var width = currValDelta / maxDelta * 100;
151
- var v0Left = (value0 - minValue) / maxDelta * 100;
192
+ var v0Left = this.getPositionFromValue(value0) * 100;
193
+ var v1Right = this.getPositionFromValue(value1) * 100;
194
+ var width = v1Right - v0Left;
152
195
  return /*#__PURE__*/_react["default"].createElement(SliderWrapper, {
153
196
  className: (0, _classnames["default"])('kg-slider', _objectSpread(_objectSpread({}, classSet), {}, {
154
197
  disabled: disabled
@@ -206,4 +249,4 @@ var Slider = exports["default"] = /*#__PURE__*/function (_Component) {
206
249
  vertical: false,
207
250
  showTooltip: false
208
251
  });
209
- //# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJuYW1lcyI6WyJfcmVhY3QiLCJfaW50ZXJvcFJlcXVpcmVXaWxkY2FyZCIsInJlcXVpcmUiLCJfY2xhc3NuYW1lcyIsIl9pbnRlcm9wUmVxdWlyZURlZmF1bHQiLCJfc3R5bGVkQ29tcG9uZW50cyIsIl9zbGlkZXJIYW5kbGUiLCJfc2xpZGVyQmFySGFuZGxlIiwiX3V0aWxzIiwiX3RlbXBsYXRlT2JqZWN0IiwiX3RlbXBsYXRlT2JqZWN0MiIsIl9nZXRSZXF1aXJlV2lsZGNhcmRDYWNoZSIsImUiLCJXZWFrTWFwIiwiciIsInQiLCJfX2VzTW9kdWxlIiwiX3R5cGVvZiIsImhhcyIsImdldCIsIm4iLCJfX3Byb3RvX18iLCJhIiwiT2JqZWN0IiwiZGVmaW5lUHJvcGVydHkiLCJnZXRPd25Qcm9wZXJ0eURlc2NyaXB0b3IiLCJ1IiwiaGFzT3duUHJvcGVydHkiLCJjYWxsIiwiaSIsInNldCIsIm93bktleXMiLCJrZXlzIiwiZ2V0T3duUHJvcGVydHlTeW1ib2xzIiwibyIsImZpbHRlciIsImVudW1lcmFibGUiLCJwdXNoIiwiYXBwbHkiLCJfb2JqZWN0U3ByZWFkIiwiYXJndW1lbnRzIiwibGVuZ3RoIiwiZm9yRWFjaCIsIl9kZWZpbmVQcm9wZXJ0eTIiLCJnZXRPd25Qcm9wZXJ0eURlc2NyaXB0b3JzIiwiZGVmaW5lUHJvcGVydGllcyIsIl9jYWxsU3VwZXIiLCJfZ2V0UHJvdG90eXBlT2YyIiwiX3Bvc3NpYmxlQ29uc3RydWN0b3JSZXR1cm4yIiwiX2lzTmF0aXZlUmVmbGVjdENvbnN0cnVjdCIsIlJlZmxlY3QiLCJjb25zdHJ1Y3QiLCJjb25zdHJ1Y3RvciIsIkJvb2xlYW4iLCJwcm90b3R5cGUiLCJ2YWx1ZU9mIiwibm9vcCIsIlN0eWxlZFJhbmdlU2xpZGVyIiwic3R5bGVkIiwiZGl2IiwiX3RhZ2dlZFRlbXBsYXRlTGl0ZXJhbDIiLCJwcm9wcyIsInRoZW1lIiwic2xpZGVyQmFyQmdkIiwiY29uY2F0IiwiJHZlcnRpY2FsIiwic2xpZGVyQmFySGVpZ2h0IiwiU2xpZGVyV3JhcHBlciIsIlNsaWRlciIsImV4cG9ydHMiLCJfQ29tcG9uZW50IiwiX3RoaXMiLCJfY2xhc3NDYWxsQ2hlY2syIiwiY3JlYXRlUmVmIiwieCIsImFuY2hvciIsIl90aGlzJHByb3BzIiwidmFsdWUxIiwibWluVmFsdWUiLCJ2YWwiLCJnZXRWYWx1ZSIsIm9uU2xpZGVyMENoYW5nZSIsImNsYW1wIiwiX3RoaXMkcHJvcHMyIiwibWF4VmFsdWUiLCJ2YWx1ZTAiLCJvblNsaWRlcjFDaGFuZ2UiLCJfdGhpcyRwcm9wczMiLCJ2YWwwIiwidmFsMSIsImRlbHRhWCIsImdldERlbHRhWCIsIm9uU2xpZGVyQmFyQ2hhbmdlIiwidyIsImwiLCJzbGlkZXJIYW5kbGVXaWR0aCIsImlzUmFuZ2VkIiwiX2luaGVyaXRzMiIsIl9jcmVhdGVDbGFzczIiLCJrZXkiLCJ2YWx1ZSIsImdldEJhc2VEaXN0YW5jZSIsInJlZiIsImN1cnJlbnQiLCJ2ZXJ0aWNhbCIsIm9mZnNldEhlaWdodCIsIm9mZnNldFdpZHRoIiwiZ2V0RGVsdGFWYWwiLCJwZXJjZW50IiwibWF4RGVsdGEiLCJ2IiwiYmFzZVYiLCJvZmZzZXQiLCJyYXdWYWx1ZSIsIm5vcm1hbGl6ZVZhbHVlIiwiX3RoaXMkcHJvcHM0Iiwic3RlcCIsIm1hcmtzIiwibm9ybWFsaXplU2xpZGVyVmFsdWUiLCJyZW5kZXIiLCJfdGhpcyRwcm9wczUiLCJjbGFzc05hbWUiLCJjbGFzc1NldCIsImRpc2FibGVkIiwic2hvd1Rvb2x0aXAiLCJzdHlsZSIsImN1cnJWYWxEZWx0YSIsIndpZHRoIiwidjBMZWZ0IiwiY3JlYXRlRWxlbWVudCIsImNsYXNzbmFtZXMiLCIkaXNSYW5nZWQiLCJ0cmFjayIsImxlZnQiLCJjYWxjSGFuZGxlTGVmdDAiLCJ2YWx1ZUxpc3RlbmVyIiwic2xpZGUwTGlzdGVuZXIiLCJkaXNwbGF5IiwiY2FsY0hhbmRsZUxlZnQxIiwic2xpZGUxTGlzdGVuZXIiLCJlbmFibGVCYXJEcmFnIiwic2xpZGVyQmFyTGlzdGVuZXIiLCJzZXRBbmNob3IiLCJDb21wb25lbnQiLCJ0aXRsZSJdLCJzb3VyY2VzIjpbIi4uLy4uLy4uL3NyYy9jb21tb24vc2xpZGVyL3NsaWRlci50c3giXSwic291cmNlc0NvbnRlbnQiOlsiLy8gU1BEWC1MaWNlbnNlLUlkZW50aWZpZXI6IE1JVFxuLy8gQ29weXJpZ2h0IGNvbnRyaWJ1dG9ycyB0byB0aGUga2VwbGVyLmdsIHByb2plY3RcblxuaW1wb3J0IFJlYWN0LCB7Q29tcG9uZW50LCBjcmVhdGVSZWYsIFJlZk9iamVjdH0gZnJvbSAncmVhY3QnO1xuaW1wb3J0IGNsYXNzbmFtZXMgZnJvbSAnY2xhc3NuYW1lcyc7XG5pbXBvcnQgc3R5bGVkIGZyb20gJ3N0eWxlZC1jb21wb25lbnRzJztcblxuaW1wb3J0IFNsaWRlckhhbmRsZSBmcm9tICcuL3NsaWRlci1oYW5kbGUnO1xuaW1wb3J0IFNsaWRlckJhckhhbmRsZSBmcm9tICcuL3NsaWRlci1iYXItaGFuZGxlJztcbmltcG9ydCB7bm9ybWFsaXplU2xpZGVyVmFsdWUsIGNsYW1wfSBmcm9tICdAa2VwbGVyLmdsL3V0aWxzJztcblxuZnVuY3Rpb24gbm9vcCgpIHtcbiAgcmV0dXJuO1xufVxuXG5pbnRlcmZhY2UgU3R5bGVkUmFuZ2VTbGlkZXJQcm9wcyB7XG4gICR2ZXJ0aWNhbD86IGJvb2xlYW47XG59XG5cbmNvbnN0IFN0eWxlZFJhbmdlU2xpZGVyID0gc3R5bGVkLmRpdjxTdHlsZWRSYW5nZVNsaWRlclByb3BzPmBcbiAgcG9zaXRpb246IHJlbGF0aXZlO1xuICBiYWNrZ3JvdW5kLWNvbG9yOiAke3Byb3BzID0+IHByb3BzLnRoZW1lLnNsaWRlckJhckJnZH07XG4gICR7cHJvcHMgPT4gYCR7cHJvcHMuJHZlcnRpY2FsID8gJ3dpZHRoJyA6ICdoZWlnaHQnfTogJHtwcm9wcy50aGVtZS5zbGlkZXJCYXJIZWlnaHR9cHhgfTtcbiAgJHtwcm9wcyA9PiBgJHtwcm9wcy4kdmVydGljYWwgPyAnaGVpZ2h0JyA6ICd3aWR0aCd9OiAxMDAlYH07XG5gO1xuXG5leHBvcnQgdHlwZSBTdHlsZVJhbmdlU2xpZGVyVHlwZSA9IHR5cGVvZiBTdHlsZWRSYW5nZVNsaWRlciAmIEhUTUxEaXZFbGVtZW50O1xuXG5pbnRlcmZhY2UgU2xpZGVyV3JhcHBlclByb3BzIHtcbiAgJGlzUmFuZ2VkPzogYm9vbGVhbjtcbiAgJHZlcnRpY2FsPzogYm9vbGVhbjtcbn1cblxuY29uc3QgU2xpZGVyV3JhcHBlciA9IHN0eWxlZC5kaXY8U2xpZGVyV3JhcHBlclByb3BzPmBcbiAgZmxleC1ncm93OiAxO1xuYDtcblxudHlwZSBTbGlkZXJQcm9wcyA9IHtcbiAgdGl0bGU6IHN0cmluZztcbiAgaXNSYW5nZWQ6IGJvb2xlYW47XG4gIHZhbHVlMDogbnVtYmVyO1xuICB2YWx1ZTE6IG51bWJlcjtcbiAgbWluVmFsdWU6IG51bWJlcjtcbiAgbWF4VmFsdWU6IG51bWJlcjtcbiAgc2xpZGVySGFuZGxlV2lkdGg6IG51bWJlcjtcbiAgb25TbGlkZXIwQ2hhbmdlOiAodmFsOiBudW1iZXIpID0+IGFueTtcbiAgb25TbGlkZXIxQ2hhbmdlOiAodmFsOiBudW1iZXIpID0+IGFueTtcbiAgb25TbGlkZXJCYXJDaGFuZ2U6ICh2YWwwOiBudW1iZXIsIHZhbDE6IG51bWJlcikgPT4gdm9pZDtcbiAgc3RlcDogbnVtYmVyO1xuICBlbmFibGVCYXJEcmFnOiBib29sZWFuO1xuICBzaG93VG9vbHRpcDogYm9vbGVhbjtcbiAgdmVydGljYWw6IGJvb2xlYW47XG4gIG1hcmtzPzogbnVtYmVyW10gfCBudWxsO1xuICBjbGFzc1NldD86IHtba2V5OiBzdHJpbmddOiBib29sZWFufTtcbiAgZGlzYWJsZWQ6IGJvb2xlYW47XG4gIGNsYXNzTmFtZT86IHN0cmluZztcbiAgc3R5bGU/OiBvYmplY3Q7XG59O1xuXG5leHBvcnQgZGVmYXVsdCBjbGFzcyBTbGlkZXIgZXh0ZW5kcyBDb21wb25lbnQ8U2xpZGVyUHJvcHM+IHtcbiAgc3RhdGljIGRlZmF1bHRQcm9wcyA9IHtcbiAgICB0aXRsZTogJycsXG4gICAgaXNSYW5nZWQ6IHRydWUsXG4gICAgdmFsdWUwOiAwLFxuICAgIHZhbHVlMTogMTAwLFxuICAgIG1pblZhbHVlOiAwLFxuICAgIG1heFZhbHVlOiAxMDAsXG4gICAgc3RlcDogMSxcbiAgICBzbGlkZXJIYW5kbGVXaWR0aDogMTIsXG4gICAgZW5hYmxlQmFyRHJhZzogZmFsc2UsXG4gICAgb25TbGlkZXIwQ2hhbmdlOiBub29wLFxuICAgIG9uU2xpZGVyMUNoYW5nZTogbm9vcCxcbiAgICBvblNsaWRlckJhckNoYW5nZTogbm9vcCxcbiAgICBkaXNhYmxlZDogZmFsc2UsXG4gICAgdmVydGljYWw6IGZhbHNlLFxuICAgIHNob3dUb29sdGlwOiBmYWxzZVxuICB9O1xuXG4gIHByaXZhdGUgYW5jaG9yID0gMDtcblxuICBwdWJsaWMgcmVmOiBSZWZPYmplY3Q8dHlwZW9mIFNsaWRlcldyYXBwZXIgJiBIVE1MRGl2RWxlbWVudD4gPSBjcmVhdGVSZWY8XG4gICAgdHlwZW9mIFNsaWRlcldyYXBwZXIgJiBIVE1MRGl2RWxlbWVudFxuICA+KCk7XG4gIHB1YmxpYyB0cmFjazogUmVmT2JqZWN0PFN0eWxlUmFuZ2VTbGlkZXJUeXBlPiA9IGNyZWF0ZVJlZjxTdHlsZVJhbmdlU2xpZGVyVHlwZT4oKTtcblxuICBjb25zdHJ1Y3RvcihwdWJsaWMgcHJvcHM6IFNsaWRlclByb3BzKSB7XG4gICAgc3VwZXIocHJvcHMpO1xuICB9XG5cbiAgcHJpdmF0ZSBzZXRBbmNob3IgPSAoeDogbnVtYmVyKSA9PiB7XG4gICAgLy8gdXNlZCB0byBjYWxjdWxhdGUgZGVsdGFcbiAgICB0aGlzLmFuY2hvciA9IHg7XG4gIH07XG5cbiAgcHJpdmF0ZSBnZXRCYXNlRGlzdGFuY2UoKSB7XG4gICAgaWYgKCF0aGlzLnJlZi5jdXJyZW50KSB7XG4gICAgICByZXR1cm4gMDtcbiAgICB9XG4gICAgcmV0dXJuIHRoaXMucHJvcHMudmVydGljYWwgPyB0aGlzLnJlZi5jdXJyZW50Lm9mZnNldEhlaWdodCA6IHRoaXMucmVmLmN1cnJlbnQub2Zmc2V0V2lkdGg7XG4gIH1cblxuICBwcml2YXRlIGdldERlbHRhVmFsKHg6IG51bWJlcikge1xuICAgIGNvbnN0IHBlcmNlbnQgPSB4IC8gdGhpcy5nZXRCYXNlRGlzdGFuY2UoKTtcbiAgICBjb25zdCBtYXhEZWx0YSA9IHRoaXMucHJvcHMubWF4VmFsdWUgLSB0aGlzLnByb3BzLm1pblZhbHVlO1xuICAgIHJldHVybiBwZXJjZW50ICogbWF4RGVsdGE7XG4gIH1cbiAgcHJpdmF0ZSBnZXREZWx0YVgodjogbnVtYmVyKSB7XG4gICAgY29uc3QgcGVyY2VudCA9IHYgLyAodGhpcy5wcm9wcy5tYXhWYWx1ZSAtIHRoaXMucHJvcHMubWluVmFsdWUpO1xuICAgIGNvbnN0IG1heERlbHRhID0gdGhpcy5nZXRCYXNlRGlzdGFuY2UoKTtcbiAgICByZXR1cm4gcGVyY2VudCAqIG1heERlbHRhO1xuICB9XG5cbiAgcHJpdmF0ZSBnZXRWYWx1ZShiYXNlVjogbnVtYmVyLCBvZmZzZXQ6IG51bWJlcikge1xuICAgIC8vIG9mZnNldCBpcyB0aGUgZGlzdGFuY2UgYmV0d2VlbiBzbGlkZXIgaGFuZGxlIGFuZCB0cmFjayBsZWZ0XG4gICAgY29uc3QgcmF3VmFsdWUgPSBiYXNlViArIHRoaXMuZ2V0RGVsdGFWYWwob2Zmc2V0KTtcblxuICAgIHJldHVybiB0aGlzLm5vcm1hbGl6ZVZhbHVlKHJhd1ZhbHVlKTtcbiAgfVxuXG4gIHByaXZhdGUgbm9ybWFsaXplVmFsdWUodmFsOiBudW1iZXIpIHtcbiAgICBjb25zdCB7bWluVmFsdWUsIHN0ZXAsIG1hcmtzfSA9IHRoaXMucHJvcHM7XG4gICAgcmV0dXJuIG5vcm1hbGl6ZVNsaWRlclZhbHVlKHZhbCwgbWluVmFsdWUsIHN0ZXAsIG1hcmtzKTtcbiAgfVxuXG4gIHNsaWRlMExpc3RlbmVyID0gKHg6IG51bWJlcikgPT4ge1xuICAgIGNvbnN0IHt2YWx1ZTEsIG1pblZhbHVlfSA9IHRoaXMucHJvcHM7XG4gICAgY29uc3QgdmFsID0gdGhpcy5nZXRWYWx1ZShtaW5WYWx1ZSwgeCk7XG4gICAgdGhpcy5wcm9wcy5vblNsaWRlcjBDaGFuZ2UoY2xhbXAoW21pblZhbHVlLCB2YWx1ZTFdLCB2YWwpKTtcbiAgfTtcblxuICBzbGlkZTFMaXN0ZW5lciA9ICh4OiBudW1iZXIpID0+IHtcbiAgICBjb25zdCB7bWluVmFsdWUsIG1heFZhbHVlLCB2YWx1ZTB9ID0gdGhpcy5wcm9wcztcbiAgICBjb25zdCB2YWwgPSB0aGlzLmdldFZhbHVlKG1pblZhbHVlLCB4KTtcbiAgICB0aGlzLnByb3BzLm9uU2xpZGVyMUNoYW5nZShjbGFtcChbdmFsdWUwLCBtYXhWYWx1ZV0sIHZhbCkpO1xuICB9O1xuXG4gIHNsaWRlckJhckxpc3RlbmVyID0gKHg6IG51bWJlcikgPT4ge1xuICAgIGNvbnN0IHt2YWx1ZTAsIHZhbHVlMSwgbWluVmFsdWUsIG1heFZhbHVlfSA9IHRoaXMucHJvcHM7XG4gICAgLy8gZm9yIHNsaWRlciBiYXIsIHdlIHVzZSBkaXN0YW5jZSBkZWx0YVxuICAgIGNvbnN0IGFuY2hvciA9IHRoaXMuYW5jaG9yO1xuICAgIGNvbnN0IGxlbmd0aCA9IHZhbHVlMSAtIHZhbHVlMDsgLy8gdGhlIGxlbmd0aCBvZiB0aGUgc2VsZWN0ZWQgcmFuZ2Ugc2hvdWxkbid0IGNoYW5nZSB3aGVuIGNsYW1waW5nXG4gICAgY29uc3QgdmFsMCA9IGNsYW1wKFttaW5WYWx1ZSwgbWF4VmFsdWUgLSBsZW5ndGhdLCB0aGlzLmdldFZhbHVlKHZhbHVlMCwgeCAtIGFuY2hvcikpO1xuICAgIGNvbnN0IHZhbDEgPSBjbGFtcChbdmFsMCArIGxlbmd0aCwgbWF4VmFsdWVdLCB0aGlzLmdldFZhbHVlKHZhbHVlMSwgeCAtIGFuY2hvcikpO1xuXG4gICAgY29uc3QgZGVsdGFYID0gdGhpcy5nZXREZWx0YVgodmFsMCAtIHRoaXMucHJvcHMudmFsdWUwKTtcbiAgICB0aGlzLnByb3BzLm9uU2xpZGVyQmFyQ2hhbmdlKHZhbDAsIHZhbDEpO1xuICAgIC8vIHVwZGF0ZSBhbmNob3JcbiAgICB0aGlzLmFuY2hvciA9IHRoaXMuYW5jaG9yICsgZGVsdGFYO1xuICB9O1xuXG4gIGNhbGNIYW5kbGVMZWZ0MCA9ICh3OiBudW1iZXIsIGw6IG51bWJlcikgPT4ge1xuICAgIHJldHVybiB3ID09PSAwXG4gICAgICA/IGBjYWxjKCR7bH0lIC0gJHt0aGlzLnByb3BzLnNsaWRlckhhbmRsZVdpZHRoIC8gMn1weClgXG4gICAgICA6IGBjYWxjKCR7bH0lIC0gJHt0aGlzLnByb3BzLnNsaWRlckhhbmRsZVdpZHRoIC8gMn1weClgO1xuICB9O1xuXG4gIGNhbGNIYW5kbGVMZWZ0MSA9ICh3OiBudW1iZXIsIGw6IG51bWJlcikgPT4ge1xuICAgIHJldHVybiB0aGlzLnByb3BzLmlzUmFuZ2VkICYmIHcgPT09IDBcbiAgICAgID8gYCR7bH0lYFxuICAgICAgOiBgY2FsYygke2wgKyB3fSUgLSAke3RoaXMucHJvcHMuc2xpZGVySGFuZGxlV2lkdGggLyAyfXB4KWA7XG4gIH07XG5cbiAgcmVuZGVyKCkge1xuICAgIGNvbnN0IHtcbiAgICAgIGNsYXNzTmFtZSxcbiAgICAgIGNsYXNzU2V0LFxuICAgICAgZGlzYWJsZWQsXG4gICAgICBpc1JhbmdlZCxcbiAgICAgIG1heFZhbHVlLFxuICAgICAgbWluVmFsdWUsXG4gICAgICB2YWx1ZTEsXG4gICAgICB2ZXJ0aWNhbCxcbiAgICAgIHNsaWRlckhhbmRsZVdpZHRoLFxuICAgICAgc2hvd1Rvb2x0aXAsXG4gICAgICBzdHlsZVxuICAgIH0gPSB0aGlzLnByb3BzO1xuICAgIGNvbnN0IHZhbHVlMCA9ICFpc1JhbmdlZCAmJiBtaW5WYWx1ZSA+IDAgPyBtaW5WYWx1ZSA6IHRoaXMucHJvcHMudmFsdWUwO1xuICAgIGNvbnN0IGN1cnJWYWxEZWx0YSA9IHZhbHVlMSAtIHZhbHVlMDtcbiAgICBjb25zdCBtYXhEZWx0YSA9IG1heFZhbHVlIC0gbWluVmFsdWU7XG4gICAgY29uc3Qgd2lkdGggPSAoY3VyclZhbERlbHRhIC8gbWF4RGVsdGEpICogMTAwO1xuXG4gICAgY29uc3QgdjBMZWZ0ID0gKCh2YWx1ZTAgLSBtaW5WYWx1ZSkgLyBtYXhEZWx0YSkgKiAxMDA7XG5cbiAgICByZXR1cm4gKFxuICAgICAgPFNsaWRlcldyYXBwZXJcbiAgICAgICAgY2xhc3NOYW1lPXtjbGFzc25hbWVzKCdrZy1zbGlkZXInLCB7Li4uY2xhc3NTZXQsIGRpc2FibGVkfSwgY2xhc3NOYW1lKX1cbiAgICAgICAgcmVmPXt0aGlzLnJlZn1cbiAgICAgICAgJGlzUmFuZ2VkPXtpc1JhbmdlZH1cbiAgICAgICAgJHZlcnRpY2FsPXt2ZXJ0aWNhbH1cbiAgICAgICAgc3R5bGU9e3N0eWxlfVxuICAgICAgPlxuICAgICAgICA8U3R5bGVkUmFuZ2VTbGlkZXIgY2xhc3NOYW1lPVwia2ctcmFuZ2Utc2xpZGVyXCIgJHZlcnRpY2FsPXt2ZXJ0aWNhbH0gcmVmPXt0aGlzLnRyYWNrfT5cbiAgICAgICAgICA8U2xpZGVySGFuZGxlXG4gICAgICAgICAgICBsZWZ0PXt0aGlzLmNhbGNIYW5kbGVMZWZ0MCh3aWR0aCwgdjBMZWZ0KX1cbiAgICAgICAgICAgIHZhbHVlTGlzdGVuZXI9e3RoaXMuc2xpZGUwTGlzdGVuZXJ9XG4gICAgICAgICAgICBzbGlkZXJIYW5kbGVXaWR0aD17c2xpZGVySGFuZGxlV2lkdGh9XG4gICAgICAgICAgICBkaXNwbGF5PXtpc1JhbmdlZH1cbiAgICAgICAgICAgIHZlcnRpY2FsPXt2ZXJ0aWNhbH1cbiAgICAgICAgICAgIHNob3dUb29sdGlwPXtzaG93VG9vbHRpcH1cbiAgICAgICAgICAgIHRyYWNrPXt0aGlzLnRyYWNrfVxuICAgICAgICAgIC8+XG4gICAgICAgICAgPFNsaWRlckhhbmRsZVxuICAgICAgICAgICAgbGVmdD17dGhpcy5jYWxjSGFuZGxlTGVmdDEod2lkdGgsIHYwTGVmdCl9XG4gICAgICAgICAgICB2YWx1ZUxpc3RlbmVyPXt0aGlzLnNsaWRlMUxpc3RlbmVyfVxuICAgICAgICAgICAgc2xpZGVySGFuZGxlV2lkdGg9e3NsaWRlckhhbmRsZVdpZHRofVxuICAgICAgICAgICAgdmVydGljYWw9e3ZlcnRpY2FsfVxuICAgICAgICAgICAgdmFsdWU9e3ZhbHVlMX1cbiAgICAgICAgICAgIHNob3dUb29sdGlwPXtzaG93VG9vbHRpcH1cbiAgICAgICAgICAgIHRyYWNrPXt0aGlzLnRyYWNrfVxuICAgICAgICAgIC8+XG4gICAgICAgICAgPFNsaWRlckJhckhhbmRsZVxuICAgICAgICAgICAgd2lkdGg9e3dpZHRofVxuICAgICAgICAgICAgdjBMZWZ0PXt2MExlZnR9XG4gICAgICAgICAgICBlbmFibGVCYXJEcmFnPXt0aGlzLnByb3BzLmVuYWJsZUJhckRyYWd9XG4gICAgICAgICAgICBzbGlkZXJCYXJMaXN0ZW5lcj17dGhpcy5zbGlkZXJCYXJMaXN0ZW5lcn1cbiAgICAgICAgICAgIHZlcnRpY2FsPXt2ZXJ0aWNhbH1cbiAgICAgICAgICAgIHRyYWNrPXt0aGlzLnRyYWNrfVxuICAgICAgICAgICAgc2V0QW5jaG9yPXt0aGlzLnNldEFuY2hvcn1cbiAgICAgICAgICAvPlxuICAgICAgICA8L1N0eWxlZFJhbmdlU2xpZGVyPlxuICAgICAgPC9TbGlkZXJXcmFwcGVyPlxuICAgICk7XG4gIH1cbn1cbiJdLCJtYXBwaW5ncyI6Ijs7Ozs7Ozs7Ozs7Ozs7O0FBR0EsSUFBQUEsTUFBQSxHQUFBQyx1QkFBQSxDQUFBQyxPQUFBO0FBQ0EsSUFBQUMsV0FBQSxHQUFBQyxzQkFBQSxDQUFBRixPQUFBO0FBQ0EsSUFBQUcsaUJBQUEsR0FBQUQsc0JBQUEsQ0FBQUYsT0FBQTtBQUVBLElBQUFJLGFBQUEsR0FBQUYsc0JBQUEsQ0FBQUYsT0FBQTtBQUNBLElBQUFLLGdCQUFBLEdBQUFILHNCQUFBLENBQUFGLE9BQUE7QUFDQSxJQUFBTSxNQUFBLEdBQUFOLE9BQUE7QUFBNkQsSUFBQU8sZUFBQSxFQUFBQyxnQkFBQSxFQVQ3RDtBQUNBO0FBQUEsU0FBQUMseUJBQUFDLENBQUEsNkJBQUFDLE9BQUEsbUJBQUFDLENBQUEsT0FBQUQsT0FBQSxJQUFBRSxDQUFBLE9BQUFGLE9BQUEsWUFBQUYsd0JBQUEsWUFBQUEs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
252
+ //# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJuYW1lcyI6WyJfcmVhY3QiLCJfaW50ZXJvcFJlcXVpcmVXaWxkY2FyZCIsInJlcXVpcmUiLCJfY2xhc3NuYW1lcyIsIl9pbnRlcm9wUmVxdWlyZURlZmF1bHQiLCJfc3R5bGVkQ29tcG9uZW50cyIsIl9zbGlkZXJIYW5kbGUiLCJfc2xpZGVyQmFySGFuZGxlIiwiX3V0aWxzIiwiX3RlbXBsYXRlT2JqZWN0IiwiX3RlbXBsYXRlT2JqZWN0MiIsIl9nZXRSZXF1aXJlV2lsZGNhcmRDYWNoZSIsImUiLCJXZWFrTWFwIiwiciIsInQiLCJfX2VzTW9kdWxlIiwiX3R5cGVvZiIsImhhcyIsImdldCIsIm4iLCJfX3Byb3RvX18iLCJhIiwiT2JqZWN0IiwiZGVmaW5lUHJvcGVydHkiLCJnZXRPd25Qcm9wZXJ0eURlc2NyaXB0b3IiLCJ1IiwiaGFzT3duUHJvcGVydHkiLCJjYWxsIiwiaSIsInNldCIsIm93bktleXMiLCJrZXlzIiwiZ2V0T3duUHJvcGVydHlTeW1ib2xzIiwibyIsImZpbHRlciIsImVudW1lcmFibGUiLCJwdXNoIiwiYXBwbHkiLCJfb2JqZWN0U3ByZWFkIiwiYXJndW1lbnRzIiwibGVuZ3RoIiwiZm9yRWFjaCIsIl9kZWZpbmVQcm9wZXJ0eTIiLCJnZXRPd25Qcm9wZXJ0eURlc2NyaXB0b3JzIiwiZGVmaW5lUHJvcGVydGllcyIsIl9jYWxsU3VwZXIiLCJfZ2V0UHJvdG90eXBlT2YyIiwiX3Bvc3NpYmxlQ29uc3RydWN0b3JSZXR1cm4yIiwiX2lzTmF0aXZlUmVmbGVjdENvbnN0cnVjdCIsIlJlZmxlY3QiLCJjb25zdHJ1Y3QiLCJjb25zdHJ1Y3RvciIsIkJvb2xlYW4iLCJwcm90b3R5cGUiLCJ2YWx1ZU9mIiwibm9vcCIsIlN0eWxlZFJhbmdlU2xpZGVyIiwic3R5bGVkIiwiZGl2IiwiX3RhZ2dlZFRlbXBsYXRlTGl0ZXJhbDIiLCJwcm9wcyIsInRoZW1lIiwic2xpZGVyQmFyQmdkIiwiY29uY2F0IiwiJHZlcnRpY2FsIiwic2xpZGVyQmFySGVpZ2h0IiwiU2xpZGVyV3JhcHBlciIsIlNsaWRlciIsImV4cG9ydHMiLCJfQ29tcG9uZW50IiwiX3RoaXMiLCJfY2xhc3NDYWxsQ2hlY2syIiwiY3JlYXRlUmVmIiwieCIsImFuY2hvciIsIl90aGlzJHByb3BzIiwidmFsdWUxIiwibWluVmFsdWUiLCJzY2FsZUNvbmZpZyIsInZhbCIsIm5vcm1hbGl6ZVZhbHVlIiwiZ2V0VmFsdWVGcm9tUGl4ZWxPZmZzZXQiLCJnZXRWYWx1ZSIsIm9uU2xpZGVyMENoYW5nZSIsImNsYW1wIiwiX3RoaXMkcHJvcHMyIiwibWF4VmFsdWUiLCJ2YWx1ZTAiLCJvblNsaWRlcjFDaGFuZ2UiLCJfdGhpcyRwcm9wczMiLCJiYXNlRGlzdGFuY2UiLCJnZXRCYXNlRGlzdGFuY2UiLCJwb3MwUHgiLCJnZXRQb3NpdGlvbkZyb21WYWx1ZSIsInBvczFQeCIsImRlbHRhUHgiLCJuZXdWYWwwUmF3IiwibmV3VmFsMVJhdyIsInZhbDAiLCJ2YWwxIiwib25TbGlkZXJCYXJDaGFuZ2UiLCJkZWx0YVgiLCJnZXREZWx0YVgiLCJ3IiwibCIsInNsaWRlckhhbmRsZVdpZHRoIiwiaXNSYW5nZWQiLCJfaW5oZXJpdHMyIiwiX2NyZWF0ZUNsYXNzMiIsImtleSIsInZhbHVlIiwicmVmIiwiY3VycmVudCIsInZlcnRpY2FsIiwib2Zmc2V0SGVpZ2h0Iiwib2Zmc2V0V2lkdGgiLCJwaXhlbE9mZnNldCIsIl90aGlzJHByb3BzNCIsInBvc2l0aW9uIiwicG9zaXRpb25Ub1ZhbHVlIiwiX3RoaXMkcHJvcHM1IiwidmFsdWVUb1Bvc2l0aW9uIiwiZ2V0RGVsdGFWYWwiLCJwZXJjZW50IiwibWF4RGVsdGEiLCJ2IiwiYmFzZVYiLCJvZmZzZXQiLCJyYXdWYWx1ZSIsIl90aGlzJHByb3BzNiIsInN0ZXAiLCJtYXJrcyIsIm5vcm1hbGl6ZVNsaWRlclZhbHVlIiwicmVuZGVyIiwiX3RoaXMkcHJvcHM3IiwiY2xhc3NOYW1lIiwiY2xhc3NTZXQiLCJkaXNhYmxlZCIsInNob3dUb29sdGlwIiwic3R5bGUiLCJ2MExlZnQiLCJ2MVJpZ2h0Iiwid2lkdGgiLCJjcmVhdGVFbGVtZW50IiwiY2xhc3NuYW1lcyIsIiRpc1JhbmdlZCIsInRyYWNrIiwibGVmdCIsImNhbGNIYW5kbGVMZWZ0MCIsInZhbHVlTGlzdGVuZXIiLCJzbGlkZTBMaXN0ZW5lciIsImRpc3BsYXkiLCJjYWxjSGFuZGxlTGVmdDEiLCJzbGlkZTFMaXN0ZW5lciIsImVuYWJsZUJhckRyYWciLCJzbGlkZXJCYXJMaXN0ZW5lciIsInNldEFuY2hvciIsIkNvbXBvbmVudCIsInRpdGxlIl0sInNvdXJjZXMiOlsiLi4vLi4vLi4vc3JjL2NvbW1vbi9zbGlkZXIvc2xpZGVyLnRzeCJdLCJzb3VyY2VzQ29udGVudCI6WyIvLyBTUERYLUxpY2Vuc2UtSWRlbnRpZmllcjogTUlUXG4vLyBDb3B5cmlnaHQgY29udHJpYnV0b3JzIHRvIHRoZSBrZXBsZXIuZ2wgcHJvamVjdFxuXG5pbXBvcnQgUmVhY3QsIHtDb21wb25lbnQsIGNyZWF0ZVJlZiwgUmVmT2JqZWN0fSBmcm9tICdyZWFjdCc7XG5pbXBvcnQgY2xhc3NuYW1lcyBmcm9tICdjbGFzc25hbWVzJztcbmltcG9ydCBzdHlsZWQgZnJvbSAnc3R5bGVkLWNvbXBvbmVudHMnO1xuXG5pbXBvcnQgU2xpZGVySGFuZGxlIGZyb20gJy4vc2xpZGVyLWhhbmRsZSc7XG5pbXBvcnQgU2xpZGVyQmFySGFuZGxlIGZyb20gJy4vc2xpZGVyLWJhci1oYW5kbGUnO1xuaW1wb3J0IHtub3JtYWxpemVTbGlkZXJWYWx1ZSwgY2xhbXAsIHZhbHVlVG9Qb3NpdGlvbiwgcG9zaXRpb25Ub1ZhbHVlfSBmcm9tICdAa2VwbGVyLmdsL3V0aWxzJztcbmltcG9ydCB0eXBlIHtTbGlkZXJTY2FsZUNvbmZpZ30gZnJvbSAnQGtlcGxlci5nbC91dGlscyc7XG5cbmZ1bmN0aW9uIG5vb3AoKSB7XG4gIHJldHVybjtcbn1cblxuaW50ZXJmYWNlIFN0eWxlZFJhbmdlU2xpZGVyUHJvcHMge1xuICAkdmVydGljYWw/OiBib29sZWFuO1xufVxuXG5jb25zdCBTdHlsZWRSYW5nZVNsaWRlciA9IHN0eWxlZC5kaXY8U3R5bGVkUmFuZ2VTbGlkZXJQcm9wcz5gXG4gIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgYmFja2dyb3VuZC1jb2xvcjogJHtwcm9wcyA9PiBwcm9wcy50aGVtZS5zbGlkZXJCYXJCZ2R9O1xuICAke3Byb3BzID0+IGAke3Byb3BzLiR2ZXJ0aWNhbCA/ICd3aWR0aCcgOiAnaGVpZ2h0J306ICR7cHJvcHMudGhlbWUuc2xpZGVyQmFySGVpZ2h0fXB4YH07XG4gICR7cHJvcHMgPT4gYCR7cHJvcHMuJHZlcnRpY2FsID8gJ2hlaWdodCcgOiAnd2lkdGgnfTogMTAwJWB9O1xuYDtcblxuZXhwb3J0IHR5cGUgU3R5bGVSYW5nZVNsaWRlclR5cGUgPSB0eXBlb2YgU3R5bGVkUmFuZ2VTbGlkZXIgJiBIVE1MRGl2RWxlbWVudDtcblxuaW50ZXJmYWNlIFNsaWRlcldyYXBwZXJQcm9wcyB7XG4gICRpc1JhbmdlZD86IGJvb2xlYW47XG4gICR2ZXJ0aWNhbD86IGJvb2xlYW47XG59XG5cbmNvbnN0IFNsaWRlcldyYXBwZXIgPSBzdHlsZWQuZGl2PFNsaWRlcldyYXBwZXJQcm9wcz5gXG4gIGZsZXgtZ3JvdzogMTtcbmA7XG5cbnR5cGUgU2xpZGVyUHJvcHMgPSB7XG4gIHRpdGxlOiBzdHJpbmc7XG4gIGlzUmFuZ2VkOiBib29sZWFuO1xuICB2YWx1ZTA6IG51bWJlcjtcbiAgdmFsdWUxOiBudW1iZXI7XG4gIG1pblZhbHVlOiBudW1iZXI7XG4gIG1heFZhbHVlOiBudW1iZXI7XG4gIHNsaWRlckhhbmRsZVdpZHRoOiBudW1iZXI7XG4gIG9uU2xpZGVyMENoYW5nZTogKHZhbDogbnVtYmVyKSA9PiBhbnk7XG4gIG9uU2xpZGVyMUNoYW5nZTogKHZhbDogbnVtYmVyKSA9PiBhbnk7XG4gIG9uU2xpZGVyQmFyQ2hhbmdlOiAodmFsMDogbnVtYmVyLCB2YWwxOiBudW1iZXIpID0+IHZvaWQ7XG4gIHN0ZXA6IG51bWJlcjtcbiAgZW5hYmxlQmFyRHJhZzogYm9vbGVhbjtcbiAgc2hvd1Rvb2x0aXA6IGJvb2xlYW47XG4gIHZlcnRpY2FsOiBib29sZWFuO1xuICBtYXJrcz86IG51bWJlcltdIHwgbnVsbDtcbiAgY2xhc3NTZXQ/OiB7W2tleTogc3RyaW5nXTogYm9vbGVhbn07XG4gIGRpc2FibGVkOiBib29sZWFuO1xuICBjbGFzc05hbWU/OiBzdHJpbmc7XG4gIHN0eWxlPzogb2JqZWN0O1xuICBzY2FsZUNvbmZpZz86IFNsaWRlclNjYWxlQ29uZmlnIHwgbnVsbDtcbn07XG5cbmV4cG9ydCBkZWZhdWx0IGNsYXNzIFNsaWRlciBleHRlbmRzIENvbXBvbmVudDxTbGlkZXJQcm9wcz4ge1xuICBzdGF0aWMgZGVmYXVsdFByb3BzID0ge1xuICAgIHRpdGxlOiAnJyxcbiAgICBpc1JhbmdlZDogdHJ1ZSxcbiAgICB2YWx1ZTA6IDAsXG4gICAgdmFsdWUxOiAxMDAsXG4gICAgbWluVmFsdWU6IDAsXG4gICAgbWF4VmFsdWU6IDEwMCxcbiAgICBzdGVwOiAxLFxuICAgIHNsaWRlckhhbmRsZVdpZHRoOiAxMixcbiAgICBlbmFibGVCYXJEcmFnOiBmYWxzZSxcbiAgICBvblNsaWRlcjBDaGFuZ2U6IG5vb3AsXG4gICAgb25TbGlkZXIxQ2hhbmdlOiBub29wLFxuICAgIG9uU2xpZGVyQmFyQ2hhbmdlOiBub29wLFxuICAgIGRpc2FibGVkOiBmYWxzZSxcbiAgICB2ZXJ0aWNhbDogZmFsc2UsXG4gICAgc2hvd1Rvb2x0aXA6IGZhbHNlXG4gIH07XG5cbiAgcHJpdmF0ZSBhbmNob3IgPSAwO1xuXG4gIHB1YmxpYyByZWY6IFJlZk9iamVjdDx0eXBlb2YgU2xpZGVyV3JhcHBlciAmIEhUTUxEaXZFbGVtZW50PiA9IGNyZWF0ZVJlZjxcbiAgICB0eXBlb2YgU2xpZGVyV3JhcHBlciAmIEhUTUxEaXZFbGVtZW50XG4gID4oKTtcbiAgcHVibGljIHRyYWNrOiBSZWZPYmplY3Q8U3R5bGVSYW5nZVNsaWRlclR5cGU+ID0gY3JlYXRlUmVmPFN0eWxlUmFuZ2VTbGlkZXJUeXBlPigpO1xuXG4gIGNvbnN0cnVjdG9yKHB1YmxpYyBwcm9wczogU2xpZGVyUHJvcHMpIHtcbiAgICBzdXBlcihwcm9wcyk7XG4gIH1cblxuICBwcml2YXRlIHNldEFuY2hvciA9ICh4OiBudW1iZXIpID0+IHtcbiAgICAvLyB1c2VkIHRvIGNhbGN1bGF0ZSBkZWx0YVxuICAgIHRoaXMuYW5jaG9yID0geDtcbiAgfTtcblxuICBwcml2YXRlIGdldEJhc2VEaXN0YW5jZSgpIHtcbiAgICBpZiAoIXRoaXMucmVmLmN1cnJlbnQpIHtcbiAgICAgIHJldHVybiAwO1xuICAgIH1cbiAgICByZXR1cm4gdGhpcy5wcm9wcy52ZXJ0aWNhbCA/IHRoaXMucmVmLmN1cnJlbnQub2Zmc2V0SGVpZ2h0IDogdGhpcy5yZWYuY3VycmVudC5vZmZzZXRXaWR0aDtcbiAgfVxuXG4gIHByaXZhdGUgZ2V0VmFsdWVGcm9tUGl4ZWxPZmZzZXQocGl4ZWxPZmZzZXQ6IG51bWJlcik6IG51bWJlciB7XG4gICAgY29uc3Qge21pblZhbHVlLCBtYXhWYWx1ZSwgc2NhbGVDb25maWd9ID0gdGhpcy5wcm9wcztcbiAgICBjb25zdCBiYXNlRGlzdGFuY2UgPSB0aGlzLmdldEJhc2VEaXN0YW5jZSgpO1xuICAgIGlmIChiYXNlRGlzdGFuY2UgPT09IDApIHJldHVybiBtaW5WYWx1ZTtcblxuICAgIGNvbnN0IHBvc2l0aW9uID0gcGl4ZWxPZmZzZXQgLyBiYXNlRGlzdGFuY2U7XG5cbiAgICBpZiAoc2NhbGVDb25maWcpIHtcbiAgICAgIHJldHVybiBwb3NpdGlvblRvVmFsdWUocG9zaXRpb24sIG1pblZhbHVlLCBtYXhWYWx1ZSwgc2NhbGVDb25maWcpO1xuICAgIH1cbiAgICByZXR1cm4gbWluVmFsdWUgKyBwb3NpdGlvbiAqIChtYXhWYWx1ZSAtIG1pblZhbHVlKTtcbiAgfVxuXG4gIHByaXZhdGUgZ2V0UG9zaXRpb25Gcm9tVmFsdWUodmFsdWU6IG51bWJlcik6IG51bWJlciB7XG4gICAgY29uc3Qge21pblZhbHVlLCBtYXhWYWx1ZSwgc2NhbGVDb25maWd9ID0gdGhpcy5wcm9wcztcbiAgICBpZiAoc2NhbGVDb25maWcpIHtcbiAgICAgIHJldHVybiB2YWx1ZVRvUG9zaXRpb24odmFsdWUsIG1pblZhbHVlLCBtYXhWYWx1ZSwgc2NhbGVDb25maWcpO1xuICAgIH1cbiAgICBpZiAobWF4VmFsdWUgPT09IG1pblZhbHVlKSByZXR1cm4gMDtcbiAgICByZXR1cm4gKHZhbHVlIC0gbWluVmFsdWUpIC8gKG1heFZhbHVlIC0gbWluVmFsdWUpO1xuICB9XG5cbiAgcHJpdmF0ZSBnZXREZWx0YVZhbCh4OiBudW1iZXIpIHtcbiAgICBjb25zdCBwZXJjZW50ID0geCAvIHRoaXMuZ2V0QmFzZURpc3RhbmNlKCk7XG4gICAgY29uc3QgbWF4RGVsdGEgPSB0aGlzLnByb3BzLm1heFZhbHVlIC0gdGhpcy5wcm9wcy5taW5WYWx1ZTtcbiAgICByZXR1cm4gcGVyY2VudCAqIG1heERlbHRhO1xuICB9XG4gIHByaXZhdGUgZ2V0RGVsdGFYKHY6IG51bWJlcikge1xuICAgIGNvbnN0IHBlcmNlbnQgPSB2IC8gKHRoaXMucHJvcHMubWF4VmFsdWUgLSB0aGlzLnByb3BzLm1pblZhbHVlKTtcbiAgICBjb25zdCBtYXhEZWx0YSA9IHRoaXMuZ2V0QmFzZURpc3RhbmNlKCk7XG4gICAgcmV0dXJuIHBlcmNlbnQgKiBtYXhEZWx0YTtcbiAgfVxuXG4gIHByaXZhdGUgZ2V0VmFsdWUoYmFzZVY6IG51bWJlciwgb2Zmc2V0OiBudW1iZXIpIHtcbiAgICAvLyBvZmZzZXQgaXMgdGhlIGRpc3RhbmNlIGJldHdlZW4gc2xpZGVyIGhhbmRsZSBhbmQgdHJhY2sgbGVmdFxuICAgIGNvbnN0IHJhd1ZhbHVlID0gYmFzZVYgKyB0aGlzLmdldERlbHRhVmFsKG9mZnNldCk7XG5cbiAgICByZXR1cm4gdGhpcy5ub3JtYWxpemVWYWx1ZShyYXdWYWx1ZSk7XG4gIH1cblxuICBwcml2YXRlIG5vcm1hbGl6ZVZhbHVlKHZhbDogbnVtYmVyKSB7XG4gICAgY29uc3Qge21pblZhbHVlLCBzdGVwLCBtYXJrc30gPSB0aGlzLnByb3BzO1xuICAgIHJldHVybiBub3JtYWxpemVTbGlkZXJWYWx1ZSh2YWwsIG1pblZhbHVlLCBzdGVwLCBtYXJrcyk7XG4gIH1cblxuICBzbGlkZTBMaXN0ZW5lciA9ICh4OiBudW1iZXIpID0+IHtcbiAgICBjb25zdCB7dmFsdWUxLCBtaW5WYWx1ZSwgc2NhbGVDb25maWd9ID0gdGhpcy5wcm9wcztcbiAgICBjb25zdCB2YWwgPSBzY2FsZUNvbmZpZ1xuICAgICAgPyB0aGlzLm5vcm1hbGl6ZVZhbHVlKHRoaXMuZ2V0VmFsdWVGcm9tUGl4ZWxPZmZzZXQoeCkpXG4gICAgICA6IHRoaXMuZ2V0VmFsdWUobWluVmFsdWUsIHgpO1xuICAgIHRoaXMucHJvcHMub25TbGlkZXIwQ2hhbmdlKGNsYW1wKFttaW5WYWx1ZSwgdmFsdWUxXSwgdmFsKSk7XG4gIH07XG5cbiAgc2xpZGUxTGlzdGVuZXIgPSAoeDogbnVtYmVyKSA9PiB7XG4gICAgY29uc3Qge21pblZhbHVlLCBtYXhWYWx1ZSwgdmFsdWUwLCBzY2FsZUNvbmZpZ30gPSB0aGlzLnByb3BzO1xuICAgIGNvbnN0IHZhbCA9IHNjYWxlQ29uZmlnXG4gICAgICA/IHRoaXMubm9ybWFsaXplVmFsdWUodGhpcy5nZXRWYWx1ZUZyb21QaXhlbE9mZnNldCh4KSlcbiAgICAgIDogdGhpcy5nZXRWYWx1ZShtaW5WYWx1ZSwgeCk7XG4gICAgdGhpcy5wcm9wcy5vblNsaWRlcjFDaGFuZ2UoY2xhbXAoW3ZhbHVlMCwgbWF4VmFsdWVdLCB2YWwpKTtcbiAgfTtcblxuICBzbGlkZXJCYXJMaXN0ZW5lciA9ICh4OiBudW1iZXIpID0+IHtcbiAgICBjb25zdCB7dmFsdWUwLCB2YWx1ZTEsIG1pblZhbHVlLCBtYXhWYWx1ZSwgc2NhbGVDb25maWd9ID0gdGhpcy5wcm9wcztcblxuICAgIGlmIChzY2FsZUNvbmZpZykge1xuICAgICAgY29uc3QgYW5jaG9yID0gdGhpcy5hbmNob3I7XG4gICAgICBjb25zdCBiYXNlRGlzdGFuY2UgPSB0aGlzLmdldEJhc2VEaXN0YW5jZSgpO1xuXG4gICAgICAvLyBDb252ZXJ0IGN1cnJlbnQgcG9zaXRpb25zIHRvIHBpeGVsIHBvc2l0aW9ucywgYXBwbHkgZGVsdGEsIGNvbnZlcnQgYmFja1xuICAgICAgY29uc3QgcG9zMFB4ID0gdGhpcy5nZXRQb3NpdGlvbkZyb21WYWx1ZSh2YWx1ZTApICogYmFzZURpc3RhbmNlO1xuICAgICAgY29uc3QgcG9zMVB4ID0gdGhpcy5nZXRQb3NpdGlvbkZyb21WYWx1ZSh2YWx1ZTEpICogYmFzZURpc3RhbmNlO1xuICAgICAgY29uc3QgZGVsdGFQeCA9IHggLSBhbmNob3I7XG5cbiAgICAgIGNvbnN0IG5ld1ZhbDBSYXcgPSB0aGlzLm5vcm1hbGl6ZVZhbHVlKFxuICAgICAgICB0aGlzLmdldFZhbHVlRnJvbVBpeGVsT2Zmc2V0KHBvczBQeCArIGRlbHRhUHgpXG4gICAgICApO1xuICAgICAgY29uc3QgbmV3VmFsMVJhdyA9IHRoaXMubm9ybWFsaXplVmFsdWUoXG4gICAgICAgIHRoaXMuZ2V0VmFsdWVGcm9tUGl4ZWxPZmZzZXQocG9zMVB4ICsgZGVsdGFQeClcbiAgICAgICk7XG5cbiAgICAgIGNvbnN0IHZhbDAgPSBjbGFtcChbbWluVmFsdWUsIG1heFZhbHVlIC0gKG5ld1ZhbDFSYXcgLSBuZXdWYWwwUmF3KV0sIG5ld1ZhbDBSYXcpO1xuICAgICAgY29uc3QgdmFsMSA9IGNsYW1wKFt2YWwwICsgKG5ld1ZhbDFSYXcgLSBuZXdWYWwwUmF3KSwgbWF4VmFsdWVdLCBuZXdWYWwxUmF3KTtcblxuICAgICAgdGhpcy5wcm9wcy5vblNsaWRlckJhckNoYW5nZSh2YWwwLCB2YWwxKTtcbiAgICAgIHRoaXMuYW5jaG9yID0geDtcbiAgICB9IGVsc2Uge1xuICAgICAgY29uc3QgYW5jaG9yID0gdGhpcy5hbmNob3I7XG4gICAgICBjb25zdCBsZW5ndGggPSB2YWx1ZTEgLSB2YWx1ZTA7XG4gICAgICBjb25zdCB2YWwwID0gY2xhbXAoW21pblZhbHVlLCBtYXhWYWx1ZSAtIGxlbmd0aF0sIHRoaXMuZ2V0VmFsdWUodmFsdWUwLCB4IC0gYW5jaG9yKSk7XG4gICAgICBjb25zdCB2YWwxID0gY2xhbXAoW3ZhbDAgKyBsZW5ndGgsIG1heFZhbHVlXSwgdGhpcy5nZXRWYWx1ZSh2YWx1ZTEsIHggLSBhbmNob3IpKTtcblxuICAgICAgY29uc3QgZGVsdGFYID0gdGhpcy5nZXREZWx0YVgodmFsMCAtIHRoaXMucHJvcHMudmFsdWUwKTtcbiAgICAgIHRoaXMucHJvcHMub25TbGlkZXJCYXJDaGFuZ2UodmFsMCwgdmFsMSk7XG4gICAgICB0aGlzLmFuY2hvciA9IHRoaXMuYW5jaG9yICsgZGVsdGFYO1xuICAgIH1cbiAgfTtcblxuICBjYWxjSGFuZGxlTGVmdDAgPSAodzogbnVtYmVyLCBsOiBudW1iZXIpID0+IHtcbiAgICByZXR1cm4gdyA9PT0gMFxuICAgICAgPyBgY2FsYygke2x9JSAtICR7dGhpcy5wcm9wcy5zbGlkZXJIYW5kbGVXaWR0aCAvIDJ9cHgpYFxuICAgICAgOiBgY2FsYygke2x9JSAtICR7dGhpcy5wcm9wcy5zbGlkZXJIYW5kbGVXaWR0aCAvIDJ9cHgpYDtcbiAgfTtcblxuICBjYWxjSGFuZGxlTGVmdDEgPSAodzogbnVtYmVyLCBsOiBudW1iZXIpID0+IHtcbiAgICByZXR1cm4gdGhpcy5wcm9wcy5pc1JhbmdlZCAmJiB3ID09PSAwXG4gICAgICA/IGAke2x9JWBcbiAgICAgIDogYGNhbGMoJHtsICsgd30lIC0gJHt0aGlzLnByb3BzLnNsaWRlckhhbmRsZVdpZHRoIC8gMn1weClgO1xuICB9O1xuXG4gIHJlbmRlcigpIHtcbiAgICBjb25zdCB7XG4gICAgICBjbGFzc05hbWUsXG4gICAgICBjbGFzc1NldCxcbiAgICAgIGRpc2FibGVkLFxuICAgICAgaXNSYW5nZWQsXG4gICAgICBtaW5WYWx1ZSxcbiAgICAgIHZhbHVlMSxcbiAgICAgIHZlcnRpY2FsLFxuICAgICAgc2xpZGVySGFuZGxlV2lkdGgsXG4gICAgICBzaG93VG9vbHRpcCxcbiAgICAgIHN0eWxlXG4gICAgfSA9IHRoaXMucHJvcHM7XG4gICAgY29uc3QgdmFsdWUwID0gIWlzUmFuZ2VkICYmIG1pblZhbHVlID4gMCA/IG1pblZhbHVlIDogdGhpcy5wcm9wcy52YWx1ZTA7XG4gICAgY29uc3QgdjBMZWZ0ID0gdGhpcy5nZXRQb3NpdGlvbkZyb21WYWx1ZSh2YWx1ZTApICogMTAwO1xuICAgIGNvbnN0IHYxUmlnaHQgPSB0aGlzLmdldFBvc2l0aW9uRnJvbVZhbHVlKHZhbHVlMSkgKiAxMDA7XG4gICAgY29uc3Qgd2lkdGggPSB2MVJpZ2h0IC0gdjBMZWZ0O1xuXG4gICAgcmV0dXJuIChcbiAgICAgIDxTbGlkZXJXcmFwcGVyXG4gICAgICAgIGNsYXNzTmFtZT17Y2xhc3NuYW1lcygna2ctc2xpZGVyJywgey4uLmNsYXNzU2V0LCBkaXNhYmxlZH0sIGNsYXNzTmFtZSl9XG4gICAgICAgIHJlZj17dGhpcy5yZWZ9XG4gICAgICAgICRpc1JhbmdlZD17aXNSYW5nZWR9XG4gICAgICAgICR2ZXJ0aWNhbD17dmVydGljYWx9XG4gICAgICAgIHN0eWxlPXtzdHlsZX1cbiAgICAgID5cbiAgICAgICAgPFN0eWxlZFJhbmdlU2xpZGVyIGNsYXNzTmFtZT1cImtnLXJhbmdlLXNsaWRlclwiICR2ZXJ0aWNhbD17dmVydGljYWx9IHJlZj17dGhpcy50cmFja30+XG4gICAgICAgICAgPFNsaWRlckhhbmRsZVxuICAgICAgICAgICAgbGVmdD17dGhpcy5jYWxjSGFuZGxlTGVmdDAod2lkdGgsIHYwTGVmdCl9XG4gICAgICAgICAgICB2YWx1ZUxpc3RlbmVyPXt0aGlzLnNsaWRlMExpc3RlbmVyfVxuICAgICAgICAgICAgc2xpZGVySGFuZGxlV2lkdGg9e3NsaWRlckhhbmRsZVdpZHRofVxuICAgICAgICAgICAgZGlzcGxheT17aXNSYW5nZWR9XG4gICAgICAgICAgICB2ZXJ0aWNhbD17dmVydGljYWx9XG4gICAgICAgICAgICBzaG93VG9vbHRpcD17c2hvd1Rvb2x0aXB9XG4gICAgICAgICAgICB0cmFjaz17dGhpcy50cmFja31cbiAgICAgICAgICAvPlxuICAgICAgICAgIDxTbGlkZXJIYW5kbGVcbiAgICAgICAgICAgIGxlZnQ9e3RoaXMuY2FsY0hhbmRsZUxlZnQxKHdpZHRoLCB2MExlZnQpfVxuICAgICAgICAgICAgdmFsdWVMaXN0ZW5lcj17dGhpcy5zbGlkZTFMaXN0ZW5lcn1cbiAgICAgICAgICAgIHNsaWRlckhhbmRsZVdpZHRoPXtzbGlkZXJIYW5kbGVXaWR0aH1cbiAgICAgICAgICAgIHZlcnRpY2FsPXt2ZXJ0aWNhbH1cbiAgICAgICAgICAgIHZhbHVlPXt2YWx1ZTF9XG4gICAgICAgICAgICBzaG93VG9vbHRpcD17c2hvd1Rvb2x0aXB9XG4gICAgICAgICAgICB0cmFjaz17dGhpcy50cmFja31cbiAgICAgICAgICAvPlxuICAgICAgICAgIDxTbGlkZXJCYXJIYW5kbGVcbiAgICAgICAgICAgIHdpZHRoPXt3aWR0aH1cbiAgICAgICAgICAgIHYwTGVmdD17djBMZWZ0fVxuICAgICAgICAgICAgZW5hYmxlQmFyRHJhZz17dGhpcy5wcm9wcy5lbmFibGVCYXJEcmFnfVxuICAgICAgICAgICAgc2xpZGVyQmFyTGlzdGVuZXI9e3RoaXMuc2xpZGVyQmFyTGlzdGVuZXJ9XG4gICAgICAgICAgICB2ZXJ0aWNhbD17dmVydGljYWx9XG4gICAgICAgICAgICB0cmFjaz17dGhpcy50cmFja31cbiAgICAgICAgICAgIHNldEFuY2hvcj17dGhpcy5zZXRBbmNob3J9XG4gICAgICAgICAgLz5cbiAgICAgICAgPC9TdHlsZWRSYW5nZVNsaWRlcj5cbiAgICAgIDwvU2xpZGVyV3JhcHBlcj5cbiAgICApO1xuICB9XG59XG4iXSwibWFwcGluZ3MiOiI7Ozs7Ozs7Ozs7Ozs7OztBQUdBLElBQUFBLE1BQUEsR0FBQUMsdUJBQUEsQ0FBQUMsT0FBQTtBQUNBLElBQUFDLFdBQUEsR0FBQUMsc0JBQUEsQ0FBQUYsT0FBQTtBQUNBLElBQUFHLGlCQUFBLEdBQUFELHNCQUFBLENBQUFGLE9BQUE7QUFFQSxJQUFBSSxhQUFBLEdBQUFG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ckM4QyxPQUFPLEVBQUU3QyxRQUFTO1FBQ2xCTyxRQUFRLEVBQUVBLFFBQVM7UUFDbkJ5QixXQUFXLEVBQUVBLFdBQVk7UUFDekJRLEtBQUssRUFBRSxJQUFJLENBQUNBO01BQU0sQ0FDbkIsQ0FBQyxlQUNGbkosTUFBQSxZQUFBZ0osYUFBQSxDQUFDMUksYUFBQSxXQUFZO1FBQ1g4SSxJQUFJLEVBQUUsSUFBSSxDQUFDSyxlQUFlLENBQUNWLEtBQUssRUFBRUYsTUFBTSxDQUFFO1FBQzFDUyxhQUFhLEVBQUUsSUFBSSxDQUFDSSxjQUFlO1FBQ25DaEQsaUJBQWlCLEVBQUVBLGlCQUFrQjtRQUNyQ1EsUUFBUSxFQUFFQSxRQUFTO1FBQ25CSCxLQUFLLEVBQUVsQyxNQUFPO1FBQ2Q4RCxXQUFXLEVBQUVBLFdBQVk7UUFDekJRLEtBQUssRUFBRSxJQUFJLENBQUNBO01BQU0sQ0FDbkIsQ0FBQyxlQUNGbkosTUFBQSxZQUFBZ0osYUFBQSxDQUFDekksZ0JBQUEsV0FBZTtRQUNkd0ksS0FBSyxFQUFFQSxLQUFNO1FBQ2JGLE1BQU0sRUFBRUEsTUFBTztRQUNmYyxhQUFhLEVBQUUsSUFBSSxDQUFDOUYsS0FBSyxDQUFDOEYsYUFBYztRQUN4Q0MsaUJBQWlCLEVBQUUsSUFBSSxDQUFDQSxpQkFBa0I7UUFDMUMxQyxRQUFRLEVBQUVBLFFBQVM7UUFDbkJpQyxLQUFLLEVBQUUsSUFBSSxDQUFDQSxLQUFNO1FBQ2xCVSxTQUFTLEVBQUUsSUFBSSxDQUFDQTtNQUFVLENBQzNCLENBQ2dCLENBQ04sQ0FBQztJQUVwQjtFQUFDO0FBQUEsRUFoTmlDQyxnQkFBUztBQUFBLElBQUFuSCxnQkFBQSxhQUF4QnlCLE1BQU0sa0JBQ0g7RUFDcEIyRixLQUFLLEVBQUUsRUFBRTtFQUNUcEQsUUFBUSxFQUFFLElBQUk7RUFDZG5CLE1BQU0sRUFBRSxDQUFDO0VBQ1RYLE1BQU0sRUFBRSxHQUFHO0VBQ1hDLFFBQVEsRUFBRSxDQUFDO0VBQ1hTLFFBQVEsRUFBRSxHQUFHO0VBQ2I0QyxJQUFJLEVBQUUsQ0FBQztFQUNQekIsaUJBQWlCLEVBQUUsRUFBRTtFQUNyQmlELGFBQWEsRUFBRSxLQUFLO0VBQ3BCdkUsZUFBZSxFQUFFNUIsSUFBSTtFQUNyQmlDLGVBQWUsRUFBRWpDLElBQUk7RUFDckI2QyxpQkFBaUIsRUFBRTdDLElBQUk7RUFDdkJrRixRQUFRLEVBQUUsS0FBSztFQUNmeEIsUUFBUSxFQUFFLEtBQUs7RUFDZnlCLFdBQVcsRUFBRTtBQUNmLENBQUMiLCJpZ25vcmVMaXN0IjpbXX0=
@@ -75,7 +75,7 @@ export declare const InlineInput: IStyledComponent<"web", import("styled-compone
75
75
  ref?: ((instance: HTMLInputElement | null) => void | import("react").DO_NOT_USE_OR_YOU_WILL_BE_FIRED_CALLBACK_REF_RETURN_VALUES[keyof import("react").DO_NOT_USE_OR_YOU_WILL_BE_FIRED_CALLBACK_REF_RETURN_VALUES]) | import("react").RefObject<HTMLInputElement> | null | undefined;
76
76
  }, never>> & Omit<IStyledComponent<"web", import("styled-components/dist/types").Substitute<import("react").DetailedHTMLProps<import("react").InputHTMLAttributes<HTMLInputElement>, HTMLInputElement>, InputProps>>, keyof import("react").Component<any, {}, any>>;
77
77
  export interface StyledPanelHeaderProps {
78
- active?: boolean;
78
+ $active?: boolean;
79
79
  labelRCGColorValues?: RGBColor | null;
80
80
  warning?: boolean;
81
81
  isValid?: boolean;