@kepler.gl/deckgl-layers 3.2.6 → 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.
- package/dist/3d-building-layer/3d-building-layer.d.ts +3 -3
- package/dist/3d-building-layer/3d-building-layer.js +9 -12
- package/dist/3d-building-layer/types.d.ts +8 -8
- package/dist/cluster-layer/cluster-layer.d.ts +16 -26
- package/dist/cluster-layer/cluster-layer.js +19 -33
- package/dist/column-layer/enhanced-column-layer.d.ts +4 -4
- package/dist/column-layer/enhanced-column-layer.js +39 -35
- package/dist/deckgl-extensions/filter-arrow-layer.d.ts +33 -6
- package/dist/deckgl-extensions/filter-arrow-layer.js +4 -12
- package/dist/deckgl-extensions/filter-shader-module.d.ts +32 -4
- package/dist/deckgl-extensions/filter-shader-module.js +3 -4
- package/dist/grid-layer/enhanced-cpu-grid-layer.d.ts +4913 -6
- package/dist/grid-layer/enhanced-cpu-grid-layer.js +67 -44
- package/dist/hexagon-layer/enhanced-hexagon-layer.d.ts +4910 -4
- package/dist/hexagon-layer/enhanced-hexagon-layer.js +82 -41
- package/dist/index.d.ts +1 -0
- package/dist/index.js +13 -1
- package/dist/layer-utils/aggregation-utils.d.ts +44 -0
- package/dist/layer-utils/aggregation-utils.js +181 -0
- package/dist/layer-utils/cpu-aggregator.d.ts +74 -27
- package/dist/layer-utils/cpu-aggregator.js +224 -19
- package/dist/layer-utils/shader-utils.d.ts +1 -0
- package/dist/layer-utils/shader-utils.js +10 -1
- package/dist/line-layer/line-layer.d.ts +4 -4
- package/dist/line-layer/line-layer.js +29 -21
- package/dist/raster/images.d.ts +10 -3
- package/dist/raster/images.js +154 -60
- package/dist/raster/pipeline-validation-patch.d.ts +1 -0
- package/dist/raster/pipeline-validation-patch.js +101 -0
- package/dist/raster/raster-layer/raster-layer-shaders.d.ts +56 -0
- package/dist/raster/raster-layer/raster-layer-shaders.js +163 -0
- package/dist/raster/raster-layer/raster-layer.d.ts +6 -6
- package/dist/raster/raster-layer/raster-layer.js +90 -88
- package/dist/raster/raster-mesh-layer/matrix.d.ts +3 -1
- package/dist/raster/raster-mesh-layer/matrix.js +3 -3
- package/dist/raster/raster-mesh-layer/raster-mesh-layer-shaders.d.ts +19 -0
- package/dist/raster/raster-mesh-layer/raster-mesh-layer-shaders.js +38 -0
- package/dist/raster/raster-mesh-layer/raster-mesh-layer.d.ts +7 -6
- package/dist/raster/raster-mesh-layer/raster-mesh-layer.js +97 -83
- package/dist/raster/raster-processing-uniforms.d.ts +38 -0
- package/dist/raster/raster-processing-uniforms.js +124 -0
- package/dist/raster/types.d.ts +8 -8
- package/dist/raster/types.js +1 -1
- package/dist/raster/util.d.ts +15 -0
- package/dist/raster/util.js +113 -3
- package/dist/raster/webgl/color/colormap.js +13 -7
- package/dist/raster/webgl/color/filter.js +22 -12
- package/dist/raster/webgl/color/gamma-contrast.js +9 -3
- package/dist/raster/webgl/color/linear-rescale.js +9 -5
- package/dist/raster/webgl/color/saturation.js +7 -4
- package/dist/raster/webgl/color/sigmoidal-contrast.js +9 -5
- package/dist/raster/webgl/pansharpen/pansharpen-brovey.js +7 -4
- package/dist/raster/webgl/texture/combine-bands.js +1 -1
- package/dist/raster/webgl/texture/mask.js +27 -35
- package/dist/raster/webgl/texture/reorder-bands.js +8 -5
- package/dist/raster/webgl/texture/rgba-image.js +1 -1
- package/dist/raster/webgl/types.d.ts +11 -6
- package/dist/raster/webgl/types.js +1 -1
- package/dist/svg-icon-layer/scatterplot-icon-layer.d.ts +2 -4
- package/dist/svg-icon-layer/scatterplot-icon-layer.js +19 -25
- package/dist/svg-icon-layer/svg-icon-layer.d.ts +4 -6
- package/dist/svg-icon-layer/svg-icon-layer.js +5 -3
- package/dist/wms/wms-layer.d.ts +8 -5
- package/dist/wms/wms-layer.js +100 -27
- package/package.json +21 -17
|
@@ -1,67 +1,90 @@
|
|
|
1
1
|
"use strict";
|
|
2
2
|
|
|
3
3
|
var _interopRequireDefault = require("@babel/runtime/helpers/interopRequireDefault");
|
|
4
|
-
var _typeof = require("@babel/runtime/helpers/typeof");
|
|
5
4
|
Object.defineProperty(exports, "__esModule", {
|
|
6
5
|
value: true
|
|
7
6
|
});
|
|
8
|
-
exports
|
|
7
|
+
exports["default"] = void 0;
|
|
9
8
|
var _classCallCheck2 = _interopRequireDefault(require("@babel/runtime/helpers/classCallCheck"));
|
|
10
9
|
var _createClass2 = _interopRequireDefault(require("@babel/runtime/helpers/createClass"));
|
|
11
10
|
var _possibleConstructorReturn2 = _interopRequireDefault(require("@babel/runtime/helpers/possibleConstructorReturn"));
|
|
12
11
|
var _getPrototypeOf2 = _interopRequireDefault(require("@babel/runtime/helpers/getPrototypeOf"));
|
|
12
|
+
var _get2 = _interopRequireDefault(require("@babel/runtime/helpers/get"));
|
|
13
13
|
var _inherits2 = _interopRequireDefault(require("@babel/runtime/helpers/inherits"));
|
|
14
|
+
var _defineProperty2 = _interopRequireDefault(require("@babel/runtime/helpers/defineProperty"));
|
|
14
15
|
var _aggregationLayers = require("@deck.gl/aggregation-layers");
|
|
15
|
-
var
|
|
16
|
-
function
|
|
17
|
-
function
|
|
16
|
+
var _aggregationUtils = require("../layer-utils/aggregation-utils");
|
|
17
|
+
function ownKeys(e, r) { var t = Object.keys(e); if (Object.getOwnPropertySymbols) { var o = Object.getOwnPropertySymbols(e); r && (o = o.filter(function (r) { return Object.getOwnPropertyDescriptor(e, r).enumerable; })), t.push.apply(t, o); } return t; }
|
|
18
|
+
function _objectSpread(e) { for (var r = 1; r < arguments.length; r++) { var t = null != arguments[r] ? arguments[r] : {}; r % 2 ? ownKeys(Object(t), !0).forEach(function (r) { (0, _defineProperty2["default"])(e, r, t[r]); }) : Object.getOwnPropertyDescriptors ? Object.defineProperties(e, Object.getOwnPropertyDescriptors(t)) : ownKeys(Object(t)).forEach(function (r) { Object.defineProperty(e, r, Object.getOwnPropertyDescriptor(t, r)); }); } return e; }
|
|
18
19
|
function _callSuper(t, o, e) { return o = (0, _getPrototypeOf2["default"])(o), (0, _possibleConstructorReturn2["default"])(t, _isNativeReflectConstruct() ? Reflect.construct(o, e || [], (0, _getPrototypeOf2["default"])(t).constructor) : o.apply(t, e)); }
|
|
19
|
-
function _isNativeReflectConstruct() { try { var t = !Boolean.prototype.valueOf.call(Reflect.construct(Boolean, [], function () {})); } catch (t) {} return (_isNativeReflectConstruct = function _isNativeReflectConstruct() { return !!t; })(); }
|
|
20
|
+
function _isNativeReflectConstruct() { try { var t = !Boolean.prototype.valueOf.call(Reflect.construct(Boolean, [], function () {})); } catch (t) {} return (_isNativeReflectConstruct = function _isNativeReflectConstruct() { return !!t; })(); }
|
|
21
|
+
function _superPropGet(t, e, r, o) { var p = (0, _get2["default"])((0, _getPrototypeOf2["default"])(1 & o ? t.prototype : t), e, r); return 2 & o ? function (t) { return p.apply(r, t); } : p; } // SPDX-License-Identifier: MIT
|
|
20
22
|
// Copyright contributors to the kepler.gl project
|
|
21
|
-
|
|
22
|
-
|
|
23
|
-
|
|
24
|
-
|
|
25
|
-
|
|
26
|
-
|
|
27
|
-
|
|
28
|
-
|
|
29
|
-
|
|
30
|
-
|
|
31
|
-
|
|
32
|
-
|
|
33
|
-
|
|
34
|
-
prop: 'gridAggregator'
|
|
35
|
-
}
|
|
36
|
-
},
|
|
37
|
-
updater: _cpuAggregator.getAggregatedData
|
|
38
|
-
}]
|
|
39
|
-
};
|
|
40
|
-
var ScaleEnhancedGridLayer = exports["default"] = /*#__PURE__*/function (_CPUGridLayer) {
|
|
23
|
+
/**
|
|
24
|
+
* In deck.gl 9, GridLayer natively supports CPU aggregation via gpuAggregation: false,
|
|
25
|
+
* custom getColorValue/getElevationValue accessors, percentile filtering, and scale types.
|
|
26
|
+
* The custom CPUAggregator override from deck.gl 8 is no longer needed.
|
|
27
|
+
*
|
|
28
|
+
* We override getPickingInfo to add `cellOutline` — an array of [lng, lat] coordinates
|
|
29
|
+
* computed in common space so the outline aligns with rendered cells at all latitudes.
|
|
30
|
+
*
|
|
31
|
+
* We also override _onAggregationUpdate to send per-bin aggregated values through
|
|
32
|
+
* onSetColorDomain so the legend can compute proper quantile/custom breaks.
|
|
33
|
+
*/
|
|
34
|
+
// @ts-expect-error -- overriding private _onAggregationUpdate to enrich the onSetColorDomain callback
|
|
35
|
+
var ScaleEnhancedGridLayer = exports["default"] = /*#__PURE__*/function (_GridLayer) {
|
|
41
36
|
function ScaleEnhancedGridLayer() {
|
|
42
37
|
(0, _classCallCheck2["default"])(this, ScaleEnhancedGridLayer);
|
|
43
38
|
return _callSuper(this, ScaleEnhancedGridLayer, arguments);
|
|
44
39
|
}
|
|
45
|
-
(0, _inherits2["default"])(ScaleEnhancedGridLayer,
|
|
40
|
+
(0, _inherits2["default"])(ScaleEnhancedGridLayer, _GridLayer);
|
|
46
41
|
return (0, _createClass2["default"])(ScaleEnhancedGridLayer, [{
|
|
47
|
-
key: "
|
|
48
|
-
value:
|
|
49
|
-
|
|
50
|
-
|
|
51
|
-
|
|
52
|
-
|
|
53
|
-
|
|
54
|
-
|
|
55
|
-
|
|
56
|
-
|
|
57
|
-
|
|
58
|
-
|
|
59
|
-
|
|
60
|
-
|
|
42
|
+
key: "_onAggregationUpdate",
|
|
43
|
+
value:
|
|
44
|
+
// HACK: deck.gl 9's _onAggregationUpdate is private and its onSetColorDomain
|
|
45
|
+
// callback only provides [min, max]. That is sufficient for quantize/linear
|
|
46
|
+
// scales but d3.scaleQuantile needs the *full sorted array* of bin values to
|
|
47
|
+
// compute correct break points — without it the legend labels are wrong
|
|
48
|
+
function _onAggregationUpdate(_ref) {
|
|
49
|
+
var channel = _ref.channel;
|
|
50
|
+
(0, _aggregationUtils.enrichedAggregationUpdate)(this, _aggregationLayers.GridLayer, channel);
|
|
51
|
+
}
|
|
52
|
+
}, {
|
|
53
|
+
key: "renderLayers",
|
|
54
|
+
value: function renderLayers() {
|
|
55
|
+
return (0, _aggregationUtils.enrichedRenderLayers)(this, _aggregationLayers.GridLayer);
|
|
56
|
+
}
|
|
57
|
+
}, {
|
|
58
|
+
key: "getPickingInfo",
|
|
59
|
+
value: function getPickingInfo(params) {
|
|
60
|
+
var info = _superPropGet(ScaleEnhancedGridLayer, "getPickingInfo", this, 3)([params]);
|
|
61
|
+
if (info.object) {
|
|
62
|
+
var _this$props$coverage;
|
|
63
|
+
var _ref2 = this.state,
|
|
64
|
+
cellOriginCommon = _ref2.cellOriginCommon,
|
|
65
|
+
cellSizeCommon = _ref2.cellSizeCommon,
|
|
66
|
+
aggregatorViewport = _ref2.aggregatorViewport;
|
|
67
|
+
var coverage = (_this$props$coverage = this.props.coverage) !== null && _this$props$coverage !== void 0 ? _this$props$coverage : 1;
|
|
68
|
+
if (!cellOriginCommon || !cellSizeCommon || !aggregatorViewport) {
|
|
69
|
+
console.error('ScaleEnhancedGridLayer: expected internal state properties ' + '(cellOriginCommon, cellSizeCommon, aggregatorViewport) are missing. ' + 'Hover outline will not be shown. This may indicate a deck.gl version change.');
|
|
70
|
+
return info;
|
|
61
71
|
}
|
|
62
|
-
|
|
72
|
+
var _ref3 = info.object,
|
|
73
|
+
col = _ref3.col,
|
|
74
|
+
row = _ref3.row;
|
|
75
|
+
if (typeof col !== 'number' || typeof row !== 'number') return info;
|
|
76
|
+
var cx = (col + 0.5) * cellSizeCommon[0] + cellOriginCommon[0];
|
|
77
|
+
var cy = (row + 0.5) * cellSizeCommon[1] + cellOriginCommon[1];
|
|
78
|
+
var hw = 0.5 * coverage * cellSizeCommon[0];
|
|
79
|
+
var hh = 0.5 * coverage * cellSizeCommon[1];
|
|
80
|
+
info.object.cellOutline = [aggregatorViewport.unprojectFlat([cx - hw, cy - hh]), aggregatorViewport.unprojectFlat([cx + hw, cy - hh]), aggregatorViewport.unprojectFlat([cx + hw, cy + hh]), aggregatorViewport.unprojectFlat([cx - hw, cy + hh]), aggregatorViewport.unprojectFlat([cx - hw, cy - hh])];
|
|
81
|
+
}
|
|
82
|
+
return info;
|
|
63
83
|
}
|
|
64
84
|
}]);
|
|
65
|
-
}(_aggregationLayers.
|
|
85
|
+
}(_aggregationLayers.GridLayer);
|
|
86
|
+
(0, _defineProperty2["default"])(ScaleEnhancedGridLayer, "defaultProps", _objectSpread(_objectSpread({}, _aggregationLayers.GridLayer.defaultProps), {}, {
|
|
87
|
+
gpuAggregation: false
|
|
88
|
+
}));
|
|
66
89
|
ScaleEnhancedGridLayer.layerName = 'ScaleEnhancedGridLayer';
|
|
67
|
-
//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJuYW1lcyI6WyJfYWdncmVnYXRpb25MYXllcnMiLCJyZXF1aXJlIiwiX2NwdUFnZ3JlZ2F0b3IiLCJfaW50ZXJvcFJlcXVpcmVXaWxkY2FyZCIsIl9nZXRSZXF1aXJlV2lsZGNhcmRDYWNoZSIsImUiLCJXZWFrTWFwIiwiciIsInQiLCJfX2VzTW9kdWxlIiwiX3R5cGVvZiIsImhhcyIsImdldCIsIm4iLCJfX3Byb3RvX18iLCJhIiwiT2JqZWN0IiwiZGVmaW5lUHJvcGVydHkiLCJnZXRPd25Qcm9wZXJ0eURlc2NyaXB0b3IiLCJ1IiwiaGFzT3duUHJvcGVydHkiLCJjYWxsIiwiaSIsInNldCIsIl9jYWxsU3VwZXIiLCJvIiwiX2dldFByb3RvdHlwZU9mMiIsIl9wb3NzaWJsZUNvbnN0cnVjdG9yUmV0dXJuMiIsIl9pc05hdGl2ZVJlZmxlY3RDb25zdHJ1Y3QiLCJSZWZsZWN0IiwiY29uc3RydWN0IiwiY29uc3RydWN0b3IiLCJhcHBseSIsIkJvb2xlYW4iLCJwcm90b3R5cGUiLCJ2YWx1ZU9mIiwiZ3JpZEFnZ3JlZ2F0aW9uIiwiZXhwb3J0cyIsImtleSIsInVwZGF0ZVN0ZXBzIiwidHJpZ2dlcnMiLCJjZWxsU2l6ZSIsInByb3AiLCJwb3NpdGlvbiIsInVwZGF0ZVRyaWdnZXIiLCJhZ2dyZWdhdG9yIiwidXBkYXRlciIsImdldEFnZ3JlZ2F0ZWREYXRhIiwiU2NhbGVFbmhhbmNlZEdyaWRMYXllciIsIl9DUFVHcmlkTGF5ZXIiLCJfY2xhc3NDYWxsQ2hlY2syIiwiYXJndW1lbnRzIiwiX2luaGVyaXRzMiIsIl9jcmVhdGVDbGFzczIiLCJ2YWx1ZSIsImluaXRpYWxpemVTdGF0ZSIsImNwdUFnZ3JlZ2F0b3IiLCJDUFVBZ2dyZWdhdG9yIiwiYWdncmVnYXRpb24iLCJzdGF0ZSIsImFnZ3JlZ2F0b3JTdGF0ZSIsImF0dHJpYnV0ZU1hbmFnZXIiLCJnZXRBdHRyaWJ1dGVNYW5hZ2VyIiwiYWRkIiwicG9zaXRpb25zIiwic2l6ZSIsImFjY2Vzc29yIiwiQ1BVR3JpZExheWVyIiwibGF5ZXJOYW1lIl0sInNvdXJjZXMiOlsiLi4vLi4vc3JjL2dyaWQtbGF5ZXIvZW5oYW5jZWQtY3B1LWdyaWQtbGF5ZXIudHMiXSwic291cmNlc0NvbnRlbnQiOlsiLy8gU1BEWC1MaWNlbnNlLUlkZW50aWZpZXI6IE1JVFxuLy8gQ29weXJpZ2h0IGNvbnRyaWJ1dG9ycyB0byB0aGUga2VwbGVyLmdsIHByb2plY3RcblxuaW1wb3J0IHtDUFVHcmlkTGF5ZXJ9IGZyb20gJ0BkZWNrLmdsL2FnZ3JlZ2F0aW9uLWxheWVycyc7XG5pbXBvcnQgQ1BVQWdncmVnYXRvciwge0FnZ3JlZ2F0aW9uVHlwZSwgZ2V0QWdncmVnYXRlZERhdGF9IGZyb20gJy4uL2xheWVyLXV0aWxzL2NwdS1hZ2dyZWdhdG9yJztcblxuZXhwb3J0IGNvbnN0IGdyaWRBZ2dyZWdhdGlvbjogQWdncmVnYXRpb25UeXBlID0ge1xuICBrZXk6ICdwb3NpdGlvbicsXG4gIHVwZGF0ZVN0ZXBzOiBbXG4gICAge1xuICAgICAga2V5OiAnYWdncmVnYXRlJyxcbiAgICAgIHRyaWdnZXJzOiB7XG4gICAgICAgIGNlbGxTaXplOiB7XG4gICAgICAgICAgcHJvcDogJ2NlbGxTaXplJ1xuICAgICAgICB9LFxuICAgICAgICBwb3NpdGlvbjoge1xuICAgICAgICAgIHByb3A6ICdnZXRQb3NpdGlvbicsXG4gICAgICAgICAgdXBkYXRlVHJpZ2dlcjogJ2dldFBvc2l0aW9uJ1xuICAgICAgICB9LFxuICAgICAgICBhZ2dyZWdhdG9yOiB7XG4gICAgICAgICAgcHJvcDogJ2dyaWRBZ2dyZWdhdG9yJ1xuICAgICAgICB9XG4gICAgICB9LFxuICAgICAgdXBkYXRlcjogZ2V0QWdncmVnYXRlZERhdGFcbiAgICB9XG4gIF1cbn07XG5cbmV4cG9ydCBkZWZhdWx0IGNsYXNzIFNjYWxlRW5oYW5jZWRHcmlkTGF5ZXIgZXh0ZW5kcyBDUFVHcmlkTGF5ZXI8YW55PiB7XG4gIGluaXRpYWxpemVTdGF0ZSgpIHtcbiAgICBjb25zdCBjcHVBZ2dyZWdhdG9yID0gbmV3IENQVUFnZ3JlZ2F0b3Ioe1xuICAgICAgYWdncmVnYXRpb246IGdyaWRBZ2dyZWdhdGlvblxuICAgIH0pO1xuXG4gICAgdGhpcy5zdGF0ZSA9IHtcbiAgICAgIGNwdUFnZ3JlZ2F0b3IsXG4gICAgICBhZ2dyZWdhdG9yU3RhdGU6IGNwdUFnZ3JlZ2F0b3Iuc3RhdGVcbiAgICB9O1xuICAgIGNvbnN0IGF0dHJpYnV0ZU1hbmFnZXIgPSB0aGlzLmdldEF0dHJpYnV0ZU1hbmFnZXIoKTtcbiAgICBhdHRyaWJ1dGVNYW5hZ2VyLmFkZCh7XG4gICAgICBwb3NpdGlvbnM6IHtzaXplOiAzLCBhY2Nlc3NvcjogJ2dldFBvc2l0aW9uJ31cbiAgICB9KTtcbiAgfVxufVxuXG5TY2FsZUVuaGFuY2VkR3JpZExheWVyLmxheWVyTmFtZSA9ICdTY2FsZUVuaGFuY2VkR3JpZExheWVyJztcbiJdLCJtYXBwaW5ncyI6Ijs7Ozs7Ozs7Ozs7OztBQUdBLElBQUFBLGtCQUFBLEdBQUFDLE9BQUE7QUFDQSxJQUFBQyxjQUFBLEdBQUFDLHVCQUFBLENBQUFGLE9BQUE7QUFBZ0csU0FBQUcseUJBQUFDLENBQUEsNkJBQUFDLE9BQUEsbUJBQUFDLENBQUEsT0FBQUQsT0FBQSxJQUFBRSxDQUFBLE9BQUFGLE9BQUEsWUFBQUYsd0JBQUEsWUFBQUEseUJBQUFDLENBQUEsV0FBQUEsQ0FBQSxHQUFBRyxDQUFBLEdBQUFELENBQUEsS0FBQUYsQ0FBQTtBQUFBLFNBQUFGLHdCQUFBRSxDQUFBLEVBQUFFLENBQUEsU0FBQUEsQ0FBQSxJQUFBRixDQUFBLElBQUFBLENBQUEsQ0FBQUksVUFBQSxTQUFBSixDQUFBLGVBQUFBLENBQUEsZ0JBQUFLLE9BQUEsQ0FBQUwsQ0FBQSwwQkFBQUEsQ0FBQSxzQkFBQUEsQ0FBQSxRQUFBRyxDQUFBLEdBQUFKLHdCQUFBLENBQUFHLENBQUEsT0FBQUMsQ0FBQSxJQUFBQSxDQUFBLENBQUFHLEdBQUEsQ0FBQU4sQ0FBQSxVQUFBRyxDQUFBLENBQUFJLEdBQUEsQ0FBQVAsQ0FBQSxPQUFBUSxDQUFBLEtB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
|
|
90
|
+
//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJuYW1lcyI6WyJfYWdncmVnYXRpb25MYXllcnMiLCJyZXF1aXJlIiwiX2FnZ3JlZ2F0aW9uVXRpbHMiLCJvd25LZXlzIiwiZSIsInIiLCJ0IiwiT2JqZWN0Iiwia2V5cyIsImdldE93blByb3BlcnR5U3ltYm9scyIsIm8iLCJmaWx0ZXIiLCJnZXRPd25Qcm9wZXJ0eURlc2NyaXB0b3IiLCJlbnVtZXJhYmxlIiwicHVzaCIsImFwcGx5IiwiX29iamVjdFNwcmVhZCIsImFyZ3VtZW50cyIsImxlbmd0aCIsImZvckVhY2giLCJfZGVmaW5lUHJvcGVydHkyIiwiZ2V0T3duUHJvcGVydHlEZXNjcmlwdG9ycyIsImRlZmluZVByb3BlcnRpZXMiLCJkZWZpbmVQcm9wZXJ0eSIsIl9jYWxsU3VwZXIiLCJfZ2V0UHJvdG90eXBlT2YyIiwiX3Bvc3NpYmxlQ29uc3RydWN0b3JSZXR1cm4yIiwiX2lzTmF0aXZlUmVmbGVjdENvbnN0cnVjdCIsIlJlZmxlY3QiLCJjb25zdHJ1Y3QiLCJjb25zdHJ1Y3RvciIsIkJvb2xlYW4iLCJwcm90b3R5cGUiLCJ2YWx1ZU9mIiwiY2FsbCIsIl9zdXBlclByb3BHZXQiLCJwIiwiX2dldDIiLCJTY2FsZUVuaGFuY2VkR3JpZExheWVyIiwiZXhwb3J0cyIsIl9HcmlkTGF5ZXIiLCJfY2xhc3NDYWxsQ2hlY2syIiwiX2luaGVyaXRzMiIsIl9jcmVhdGVDbGFzczIiLCJrZXkiLCJ2YWx1ZSIsIl9vbkFnZ3JlZ2F0aW9uVXBkYXRlIiwiX3JlZiIsImNoYW5uZWwiLCJlbnJpY2hlZEFnZ3JlZ2F0aW9uVXBkYXRlIiwiR3JpZExheWVyIiwicmVuZGVyTGF5ZXJzIiwiZW5yaWNoZWRSZW5kZXJMYXllcnMiLCJnZXRQaWNraW5nSW5mbyIsInBhcmFtcyIsImluZm8iLCJvYmplY3QiLCJfdGhpcyRwcm9wcyRjb3ZlcmFnZSIsIl9yZWYyIiwic3RhdGUiLCJjZWxsT3JpZ2luQ29tbW9uIiwiY2VsbFNpemVDb21tb24iLCJhZ2dyZWdhdG9yVmlld3BvcnQiLCJjb3ZlcmFnZSIsInByb3BzIiwiY29uc29sZSIsImVycm9yIiwiX3JlZjMiLCJjb2wiLCJyb3ciLCJjeCIsImN5IiwiaHciLCJoaCIsImNlbGxPdXRsaW5lIiwidW5wcm9qZWN0RmxhdCIsImRlZmF1bHRQcm9wcyIsImdwdUFnZ3JlZ2F0aW9uIiwibGF5ZXJOYW1lIl0sInNvdXJjZXMiOlsiLi4vLi4vc3JjL2dyaWQtbGF5ZXIvZW5oYW5jZWQtY3B1LWdyaWQtbGF5ZXIudHMiXSwic291cmNlc0NvbnRlbnQiOlsiLy8gU1BEWC1MaWNlbnNlLUlkZW50aWZpZXI6IE1JVFxuLy8gQ29weXJpZ2h0IGNvbnRyaWJ1dG9ycyB0byB0aGUga2VwbGVyLmdsIHByb2plY3RcblxuaW1wb3J0IHtHcmlkTGF5ZXIsIEdyaWRMYXllclBpY2tpbmdJbmZvfSBmcm9tICdAZGVjay5nbC9hZ2dyZWdhdGlvbi1sYXllcnMnO1xuaW1wb3J0IHtHZXRQaWNraW5nSW5mb1BhcmFtcywgUGlja2luZ0luZm8sIFZpZXdwb3J0fSBmcm9tICdAZGVjay5nbC9jb3JlJztcbmltcG9ydCB7ZW5yaWNoZWRBZ2dyZWdhdGlvblVwZGF0ZSwgZW5yaWNoZWRSZW5kZXJMYXllcnN9IGZyb20gJy4uL2xheWVyLXV0aWxzL2FnZ3JlZ2F0aW9uLXV0aWxzJztcblxuaW50ZXJmYWNlIEdyaWRJbnRlcm5hbFN0YXRlIHtcbiAgY2VsbE9yaWdpbkNvbW1vbj86IFtudW1iZXIsIG51bWJlcl07XG4gIGNlbGxTaXplQ29tbW9uPzogW251bWJlciwgbnVtYmVyXTtcbiAgYWdncmVnYXRvclZpZXdwb3J0PzogVmlld3BvcnQgJiB7dW5wcm9qZWN0RmxhdCh4eTogbnVtYmVyW10pOiBudW1iZXJbXX07XG59XG5cbmludGVyZmFjZSBHcmlkUGlja2luZ09iamVjdCB7XG4gIGNvbDogbnVtYmVyO1xuICByb3c6IG51bWJlcjtcbiAgY2VsbE91dGxpbmU/OiBudW1iZXJbXVtdO1xuICBba2V5OiBzdHJpbmddOiB1bmtub3duO1xufVxuXG4vKipcbiAqIEluIGRlY2suZ2wgOSwgR3JpZExheWVyIG5hdGl2ZWx5IHN1cHBvcnRzIENQVSBhZ2dyZWdhdGlvbiB2aWEgZ3B1QWdncmVnYXRpb246IGZhbHNlLFxuICogY3VzdG9tIGdldENvbG9yVmFsdWUvZ2V0RWxldmF0aW9uVmFsdWUgYWNjZXNzb3JzLCBwZXJjZW50aWxlIGZpbHRlcmluZywgYW5kIHNjYWxlIHR5cGVzLlxuICogVGhlIGN1c3RvbSBDUFVBZ2dyZWdhdG9yIG92ZXJyaWRlIGZyb20gZGVjay5nbCA4IGlzIG5vIGxvbmdlciBuZWVkZWQuXG4gKlxuICogV2Ugb3ZlcnJpZGUgZ2V0UGlja2luZ0luZm8gdG8gYWRkIGBjZWxsT3V0bGluZWAg4oCUIGFuIGFycmF5IG9mIFtsbmcsIGxhdF0gY29vcmRpbmF0ZXNcbiAqIGNvbXB1dGVkIGluIGNvbW1vbiBzcGFjZSBzbyB0aGUgb3V0bGluZSBhbGlnbnMgd2l0aCByZW5kZXJlZCBjZWxscyBhdCBhbGwgbGF0aXR1ZGVzLlxuICpcbiAqIFdlIGFsc28gb3ZlcnJpZGUgX29uQWdncmVnYXRpb25VcGRhdGUgdG8gc2VuZCBwZXItYmluIGFnZ3JlZ2F0ZWQgdmFsdWVzIHRocm91Z2hcbiAqIG9uU2V0Q29sb3JEb21haW4gc28gdGhlIGxlZ2VuZCBjYW4gY29tcHV0ZSBwcm9wZXIgcXVhbnRpbGUvY3VzdG9tIGJyZWFrcy5cbiAqL1xuLy8gQHRzLWV4cGVjdC1lcnJvciAtLSBvdmVycmlkaW5nIHByaXZhdGUgX29uQWdncmVnYXRpb25VcGRhdGUgdG8gZW5yaWNoIHRoZSBvblNldENvbG9yRG9tYWluIGNhbGxiYWNrXG5leHBvcnQgZGVmYXVsdCBjbGFzcyBTY2FsZUVuaGFuY2VkR3JpZExheWVyIGV4dGVuZHMgR3JpZExheWVyPGFueT4ge1xuICBzdGF0aWMgZGVmYXVsdFByb3BzID0ge1xuICAgIC4uLkdyaWRMYXllci5kZWZhdWx0UHJvcHMsXG4gICAgZ3B1QWdncmVnYXRpb246IGZhbHNlXG4gIH07XG5cbiAgLy8gSEFDSzogZGVjay5nbCA5J3MgX29uQWdncmVnYXRpb25VcGRhdGUgaXMgcHJpdmF0ZSBhbmQgaXRzIG9uU2V0Q29sb3JEb21haW5cbiAgLy8gY2FsbGJhY2sgb25seSBwcm92aWRlcyBbbWluLCBtYXhdLiAgVGhhdCBpcyBzdWZmaWNpZW50IGZvciBxdWFudGl6ZS9saW5lYXJcbiAgLy8gc2NhbGVzIGJ1dCBkMy5zY2FsZVF1YW50aWxlIG5lZWRzIHRoZSAqZnVsbCBzb3J0ZWQgYXJyYXkqIG9mIGJpbiB2YWx1ZXMgdG9cbiAgLy8gY29tcHV0ZSBjb3JyZWN0IGJyZWFrIHBvaW50cyDigJQgd2l0aG91dCBpdCB0aGUgbGVnZW5kIGxhYmVscyBhcmUgd3JvbmdcbiAgX29uQWdncmVnYXRpb25VcGRhdGUoe2NoYW5uZWx9OiB7Y2hhbm5lbDogbnVtYmVyfSkge1xuICAgIGVucmljaGVkQWdncmVnYXRpb25VcGRhdGUodGhpcywgR3JpZExheWVyLCBjaGFubmVsKTtcbiAgfVxuXG4gIHJlbmRlckxheWVycygpIHtcbiAgICByZXR1cm4gZW5yaWNoZWRSZW5kZXJMYXllcnModGhpcywgR3JpZExheWVyKTtcbiAgfVxuXG4gIGdldFBpY2tpbmdJbmZvKHBhcmFtczogR2V0UGlja2luZ0luZm9QYXJhbXMpOiBQaWNraW5nSW5mbyB7XG4gICAgY29uc3QgaW5mbyA9IHN1cGVyLmdldFBpY2tpbmdJbmZvKHBhcmFtcykgYXMgR3JpZExheWVyUGlja2luZ0luZm88UmVjb3JkPHN0cmluZywgdW5rbm93bj4+O1xuICAgIGlmIChpbmZvLm9iamVjdCkge1xuICAgICAgY29uc3Qge2NlbGxPcmlnaW5Db21tb24sIGNlbGxTaXplQ29tbW9uLCBhZ2dyZWdhdG9yVmlld3BvcnR9ID0gdGhpc1xuICAgICAgICAuc3RhdGUgYXMgdW5rbm93biBhcyBHcmlkSW50ZXJuYWxTdGF0ZTtcbiAgICAgIGNvbnN0IGNvdmVyYWdlID0gdGhpcy5wcm9wcy5jb3ZlcmFnZSA/PyAxO1xuICAgICAgaWYgKCFjZWxsT3JpZ2luQ29tbW9uIHx8ICFjZWxsU2l6ZUNvbW1vbiB8fCAhYWdncmVnYXRvclZpZXdwb3J0KSB7XG4gICAgICAgIGNvbnNvbGUuZXJyb3IoXG4gICAgICAgICAgJ1NjYWxlRW5oYW5jZWRHcmlkTGF5ZXI6IGV4cGVjdGVkIGludGVybmFsIHN0YXRlIHByb3BlcnRpZXMgJyArXG4gICAgICAgICAgICAnKGNlbGxPcmlnaW5Db21tb24sIGNlbGxTaXplQ29tbW9uLCBhZ2dyZWdhdG9yVmlld3BvcnQpIGFyZSBtaXNzaW5nLiAnICtcbiAgICAgICAgICAgICdIb3ZlciBvdXRsaW5lIHdpbGwgbm90IGJlIHNob3duLiBUaGlzIG1heSBpbmRpY2F0ZSBhIGRlY2suZ2wgdmVyc2lvbiBjaGFuZ2UuJ1xuICAgICAgICApO1xuICAgICAgICByZXR1cm4gaW5mbztcbiAgICAgIH1cbiAgICAgIGNvbnN0IHtjb2wsIHJvd30gPSBpbmZvLm9iamVjdCBhcyBHcmlkUGlja2luZ09iamVjdDtcbiAgICAgIGlmICh0eXBlb2YgY29sICE9PSAnbnVtYmVyJyB8fCB0eXBlb2Ygcm93ICE9PSAnbnVtYmVyJykgcmV0dXJuIGluZm87XG4gICAgICBjb25zdCBjeCA9IChjb2wgKyAwLjUpICogY2VsbFNpemVDb21tb25bMF0gKyBjZWxsT3JpZ2luQ29tbW9uWzBdO1xuICAgICAgY29uc3QgY3kgPSAocm93ICsgMC41KSAqIGNlbGxTaXplQ29tbW9uWzFdICsgY2VsbE9yaWdpbkNvbW1vblsxXTtcbiAgICAgIGNvbnN0IGh3ID0gMC41ICogY292ZXJhZ2UgKiBjZWxsU2l6ZUNvbW1vblswXTtcbiAgICAgIGNvbnN0IGhoID0gMC41ICogY292ZXJhZ2UgKiBjZWxsU2l6ZUNvbW1vblsxXTtcblxuICAgICAgKGluZm8ub2JqZWN0IGFzIEdyaWRQaWNraW5nT2JqZWN0KS5jZWxsT3V0bGluZSA9IFtcbiAgICAgICAgYWdncmVnYXRvclZpZXdwb3J0LnVucHJvamVjdEZsYXQoW2N4IC0gaHcsIGN5IC0gaGhdKSxcbiAgICAgICAgYWdncmVnYXRvclZpZXdwb3J0LnVucHJvamVjdEZsYXQoW2N4ICsgaHcsIGN5IC0gaGhdKSxcbiAgICAgICAgYWdncmVnYXRvclZpZXdwb3J0LnVucHJvamVjdEZsYXQoW2N4ICsgaHcsIGN5ICsgaGhdKSxcbiAgICAgICAgYWdncmVnYXRvclZpZXdwb3J0LnVucHJvamVjdEZsYXQoW2N4IC0gaHcsIGN5ICsgaGhdKSxcbiAgICAgICAgYWdncmVnYXRvclZpZXdwb3J0LnVucHJvamVjdEZsYXQoW2N4IC0gaHcsIGN5IC0gaGhdKVxuICAgICAgXTtcbiAgICB9XG4gICAgcmV0dXJuIGluZm87XG4gIH1cbn1cblxuU2NhbGVFbmhhbmNlZEdyaWRMYXllci5sYXllck5hbWUgPSAnU2NhbGVFbmhhbmNlZEdyaWRMYXllcic7XG4iXSwibWFwcGluZ3MiOiI7Ozs7Ozs7Ozs7Ozs7O0FBR0EsSUFBQUEsa0JBQUEsR0FBQUMsT0FBQTtBQUVBLElBQUFDLGlCQUFBLEdBQUFELE9BQUE7QUFBaUcsU0FBQUUsUUFBQUMsQ0FBQSxFQUFBQyxDQUFBLFFBQUFDLENBQUEsR0FBQUMsTUFBQSxDQUFBQyxJQUFBLENBQUFKLENBQUEsT0FBQUcsTUFBQSxDQUFBRSxxQkFBQSxRQUFBQyxDQUFBLEdBQUFILE1BQUEsQ0FBQUUscUJBQUEsQ0FBQUwsQ0FBQSxHQUFBQyxDQUFBLEtBQUFLLENBQUEsR0FBQUEsQ0FBQSxDQUFBQyxNQUFBLFdBQUFOLENBQUEsV0FBQUUsTUFBQSxDQUFBSyx3QkFBQSxDQUFBUixDQUFBLEVBQUFDLENBQUEsRUFBQVEsVUFBQSxPQUFBUCxDQUFBLENBQUFRLElBQUEsQ0FBQUMsS0FBQSxDQUFBVCxDQUFBLEVBQUFJLENBQUEsWUFBQUosQ0FBQTtBQUFBLFNBQUFVLGNBQUFaLENBQUEsYUFBQUMsQ0FBQSxNQUFBQSxDQUFBLEdBQUFZLFNBQUEsQ0FBQUMsTUFBQSxFQUFBYixDQUFBLFVBQUFDLENBQUEsV0FBQVcsU0FBQSxDQUFBWixDQUFBLElBQUFZLFNBQUEsQ0FBQVosQ0FBQSxRQUFBQSxDQUFBLE9BQUFGLE9BQUEsQ0FBQUksTUFBQSxDQUFBRCxDQUFBLE9BQUFhLE9B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
|