@carto/kepler.gl 0.0.30 → 0.0.31-alpha.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/dist/constants/default-settings.js +2 -2
- package/dist/layers/base-layer.js +31 -1
- package/dist/layers/geojson-layer/geojson-layer.js +7 -5
- package/dist/layers/icon-layer/icon-layer.js +8 -5
- package/dist/layers/layer-factory.js +2 -2
- package/dist/layers/layer-text-label.js +3 -3
- package/dist/layers/point-layer/point-layer.js +5 -3
- package/dist/layers/trip-layer/trip-layer.js +3 -2
- package/package.json +1 -1
- package/src/layers/base-layer.js +26 -0
- package/src/layers/geojson-layer/geojson-layer.js +7 -4
- package/src/layers/icon-layer/icon-layer.js +11 -3
- package/src/layers/layer-factory.js +1 -1
- package/src/layers/layer-text-label.js +2 -2
- package/src/layers/point-layer/point-layer.js +9 -2
- package/src/layers/trip-layer/trip-layer.js +2 -1
- package/umd/keplergl.min.js +6 -6
|
@@ -279,7 +279,8 @@ var PointLayer = /*#__PURE__*/function (_Layer) {
|
|
|
279
279
|
interactionConfig = opts.interactionConfig; // if no field size is defined we need to pass fixed radius = false
|
|
280
280
|
|
|
281
281
|
var fixedRadius = this.config.visConfig.fixedRadius && Boolean(this.config.sizeField);
|
|
282
|
-
var radiusScale = this.
|
|
282
|
+
var radiusScale = this.getRadiusScale(fixedRadius);
|
|
283
|
+
var radiusUnits = this.getRadiusUnit(fixedRadius);
|
|
283
284
|
|
|
284
285
|
var layerProps = _objectSpread({
|
|
285
286
|
stroked: this.config.visConfig.outline,
|
|
@@ -297,7 +298,7 @@ var PointLayer = /*#__PURE__*/function (_Layer) {
|
|
|
297
298
|
|
|
298
299
|
var defaultLayerProps = this.getDefaultDeckLayerProps(opts);
|
|
299
300
|
var brushingProps = this.getBrushingExtensionProps(interactionConfig);
|
|
300
|
-
var getPixelOffset = (0, _layerTextLabel.getTextOffsetByRadius)(radiusScale, data.getRadius, mapState);
|
|
301
|
+
var getPixelOffset = (0, _layerTextLabel.getTextOffsetByRadius)(radiusScale, data.getRadius, mapState, fixedRadius);
|
|
301
302
|
var extensions = [].concat((0, _toConsumableArray2["default"])(defaultLayerProps.extensions), [brushingExtension]);
|
|
302
303
|
|
|
303
304
|
var sharedProps = _objectSpread({
|
|
@@ -313,6 +314,7 @@ var PointLayer = /*#__PURE__*/function (_Layer) {
|
|
|
313
314
|
// circles will be flat on the map when the altitude column is not used
|
|
314
315
|
depthTest: ((_this$config$columns$ = this.config.columns.altitude) === null || _this$config$columns$ === void 0 ? void 0 : _this$config$columns$.fieldIdx) > -1
|
|
315
316
|
},
|
|
317
|
+
radiusUnits: radiusUnits,
|
|
316
318
|
lineWidthUnits: 'pixels',
|
|
317
319
|
updateTriggers: updateTriggers,
|
|
318
320
|
extensions: extensions
|
|
@@ -373,4 +375,4 @@ var PointLayer = /*#__PURE__*/function (_Layer) {
|
|
|
373
375
|
}(_baseLayer["default"]);
|
|
374
376
|
|
|
375
377
|
exports["default"] = PointLayer;
|
|
376
|
-
//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIi4uLy4uLy4uL3NyYy9sYXllcnMvcG9pbnQtbGF5ZXIvcG9pbnQtbGF5ZXIuanMiXSwibmFtZXMiOlsicG9pbnRQb3NBY2Nlc3NvciIsImxhdCIsImxuZyIsImFsdGl0dWRlIiwiZGMiLCJkIiwidmFsdWVBdCIsImluZGV4IiwiZmllbGRJZHgiLCJwb2ludFJlcXVpcmVkQ29sdW1ucyIsInBvaW50T3B0aW9uYWxDb2x1bW5zIiwiYnJ1c2hpbmdFeHRlbnNpb24iLCJCcnVzaGluZ0V4dGVuc2lvbiIsInBvaW50VmlzQ29uZmlncyIsInJhZGl1cyIsImZpeGVkUmFkaXVzIiwib3BhY2l0eSIsIm91dGxpbmUiLCJ0aGlja25lc3MiLCJzdHJva2VDb2xvciIsImNvbG9yUmFuZ2UiLCJzdHJva2VDb2xvclJhbmdlIiwicmFkaXVzUmFuZ2UiLCJmaWxsZWQiLCJ0eXBlIiwibGFiZWwiLCJkZWZhdWx0VmFsdWUiLCJwcm9wZXJ0eSIsIlBvaW50TGF5ZXIiLCJwcm9wcyIsInJlZ2lzdGVyVmlzQ29uZmlnIiwiZ2V0UG9zaXRpb25BY2Nlc3NvciIsImRhdGFDb250YWluZXIiLCJjb25maWciLCJjb2x1bW5zIiwiUG9pbnRMYXllckljb24iLCJkZWZhdWx0UG9pbnRDb2x1bW5QYWlycyIsImNvbG9yIiwiYWNjZXNzb3IiLCJjb25kaXRpb24iLCJ2aXNDb25maWciLCJrZXkiLCJmaWVsZCIsInNjYWxlIiwiZG9tYWluIiwicmFuZ2UiLCJjaGFubmVsU2NhbGVUeXBlIiwiQ0hBTk5FTF9TQ0FMRVMiLCJzaXplIiwiZml4ZWQiLCJkYXRhc2V0IiwiZGVmYXVsdENvbG9yRmllbGQiLCJ1cGRhdGVMYXllckNvbmZpZyIsImNvbG9yRmllbGQiLCJ1cGRhdGVMYXllclZpc3VhbENoYW5uZWwiLCJzdHJva2VDb2xvckZpZWxkIiwic3Ryb2tlQ29sb3JEb21haW4iLCJzdHJva2VDb2xvclNjYWxlIiwiZ2V0UG9zaXRpb24iLCJmaWx0ZXJlZEluZGV4IiwiZGF0YSIsImkiLCJsZW5ndGgiLCJwb3MiLCJldmVyeSIsIk51bWJlciIsImlzRmluaXRlIiwicHVzaCIsInBvc2l0aW9uIiwiZGF0YXNldHMiLCJvbGRMYXllckRhdGEiLCJ0ZXh0TGFiZWwiLCJkYXRhSWQiLCJncHVGaWx0ZXIiLCJ1cGRhdGVEYXRhIiwidHJpZ2dlckNoYW5nZWQiLCJ0ZXh0TGFiZWxzIiwiYWNjZXNzb3JzIiwiZ2V0QXR0cmlidXRlQWNjZXNzb3JzIiwiZ2V0RmlsdGVyVmFsdWUiLCJmaWx0ZXJWYWx1ZUFjY2Vzc29yIiwiYm91bmRzIiwiZ2V0UG9pbnRzQm91bmRzIiwidXBkYXRlTWV0YSIsIm9wdHMiLCJvYmplY3RIb3ZlcmVkIiwibWFwU3RhdGUiLCJpbnRlcmFjdGlvbkNvbmZpZyIsIkJvb2xlYW4iLCJzaXplRmllbGQiLCJyYWRpdXNTY2FsZSIsImdldFJhZGl1c1NjYWxlQnlab29tIiwibGF5ZXJQcm9wcyIsInN0cm9rZWQiLCJsaW5lV2lkdGhTY2FsZSIsInJhZGl1c01heFBpeGVscyIsInVwZGF0ZVRyaWdnZXJzIiwiZmlsdGVyVmFsdWVVcGRhdGVUcmlnZ2VycyIsImdldFZpc3VhbENoYW5uZWxVcGRhdGVUcmlnZ2VycyIsImRlZmF1bHRMYXllclByb3BzIiwiZ2V0RGVmYXVsdERlY2tMYXllclByb3BzIiwiYnJ1c2hpbmdQcm9wcyIsImdldEJydXNoaW5nRXh0ZW5zaW9uUHJvcHMiLCJnZXRQaXhlbE9mZnNldCIsImdldFJhZGl1cyIsImV4dGVuc2lvbnMiLCJzaGFyZWRQcm9wcyIsImZpbHRlclJhbmdlIiwidmlzaWJsZSIsImhvdmVyZWRPYmplY3QiLCJoYXNIb3ZlcmVkT2JqZWN0IiwiU2NhdHRlcnBsb3RMYXllciIsInBhcmFtZXRlcnMiLCJkZXB0aFRlc3QiLCJsaW5lV2lkdGhVbml0cyIsImdldERlZmF1bHRIb3ZlckxheWVyUHJvcHMiLCJnZXRMaW5lQ29sb3IiLCJoaWdobGlnaHRDb2xvciIsImdldEZpbGxDb2xvciIsInJlbmRlclRleHRMYWJlbExheWVyIiwiZmllbGRQYWlycyIsImZvckVhY2giLCJwYWlyIiwibGF0RmllbGQiLCJsbmdGaWVsZCIsImxheWVyTmFtZSIsImRlZmF1bHROYW1lIiwicHJvcCIsInZhbHVlIiwiREVGQVVMVF9MQVlFUl9DT0xPUiIsImlzVmlzaWJsZSIsIm9wdGlvbmFsIiwiTGF5ZXIiXSwibWFwcGluZ3MiOiI7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7QUFvQkE7O0FBQ0E7O0FBRUE7O0FBQ0E7O0FBQ0E7O0FBQ0E7O0FBQ0E7O0FBRUE7Ozs7Ozs7Ozs7QUFFTyxJQUFNQSxnQkFBZ0IsR0FBRyxTQUFuQkEsZ0JBQW1CO0FBQUEsTUFBRUMsR0FBRixRQUFFQSxHQUFGO0FBQUEsTUFBT0MsR0FBUCxRQUFPQSxHQUFQO0FBQUEsTUFBWUMsUUFBWixRQUFZQSxRQUFaO0FBQUEsU0FBMEIsVUFBQUMsRUFBRTtBQUFBLFdBQUksVUFBQUMsQ0FBQztBQUFBLGFBQUksQ0FDbkVELEVBQUUsQ0FBQ0UsT0FBSCxDQUFXRCxDQUFDLENBQUNFLEtBQWIsRUFBb0JMLEdBQUcsQ0FBQ00sUUFBeEIsQ0FEbUUsRUFFbkVKLEVBQUUsQ0FBQ0UsT0FBSCxDQUFXRCxDQUFDLENBQUNFLEtBQWIsRUFBb0JOLEdBQUcsQ0FBQ08sUUFBeEIsQ0FGbUUsRUFHbkVMLFFBQVEsSUFBSUEsUUFBUSxDQUFDSyxRQUFULEdBQW9CLENBQUMsQ0FBakMsR0FBcUNKLEVBQUUsQ0FBQ0UsT0FBSCxDQUFXRCxDQUFDLENBQUNFLEtBQWIsRUFBb0JKLFFBQVEsQ0FBQ0ssUUFBN0IsQ0FBckMsR0FBOEUsQ0FIWCxDQUFKO0FBQUEsS0FBTDtBQUFBLEdBQTVCO0FBQUEsQ0FBekI7OztBQU1BLElBQU1DLG9CQUFvQixHQUFHLENBQUMsS0FBRCxFQUFRLEtBQVIsQ0FBN0I7O0FBQ0EsSUFBTUMsb0JBQW9CLEdBQUcsQ0FBQyxVQUFELENBQTdCOztBQUVQLElBQU1DLGlCQUFpQixHQUFHLElBQUlDLDZCQUFKLEVBQTFCO0FBRU8sSUFBTUMsZUFBZSxHQUFHO0FBQzdCQyxFQUFBQSxNQUFNLEVBQUUs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QUQzQixTQUFiLENBTHlCLENBU3pCOztBQUNBLFlBQUlGLFFBQVEsQ0FBQ0ssS0FBVCxJQUFrQkMsb0NBQXRCLEVBQTJDO0FBQ3pDRixVQUFBQSxJQUFJLENBQUMxRixLQUFMLEdBQWEsMEJBQVM0RixxQ0FBb0JOLFFBQVEsQ0FBQ0ssS0FBN0IsQ0FBVCxDQUFiO0FBQ0QsU0Fad0IsQ0FjekI7OztBQUNBLFlBQUluRyxLQUFLLENBQUNpQyxNQUFOLEtBQWlCLENBQXJCLEVBQXdCO0FBQ3RCaUUsVUFBQUEsSUFBSSxDQUFDRyxTQUFMLEdBQWlCLElBQWpCO0FBQ0Q7O0FBRURILFFBQUFBLElBQUksQ0FBQzdGLE9BQUwsR0FBZTtBQUNiakMsVUFBQUEsR0FBRyxFQUFFMEgsUUFEUTtBQUViekgsVUFBQUEsR0FBRyxFQUFFMEgsUUFGUTtBQUdiekgsVUFBQUEsUUFBUSxFQUFFO0FBQUM2SCxZQUFBQSxLQUFLLEVBQUUsSUFBUjtBQUFjeEgsWUFBQUEsUUFBUSxFQUFFLENBQUMsQ0FBekI7QUFBNEIySCxZQUFBQSxRQUFRLEVBQUU7QUFBdEM7QUFIRyxTQUFmO0FBTUF0RyxRQUFBQSxLQUFLLENBQUNzQyxJQUFOLENBQVc0RCxJQUFYO0FBQ0QsT0ExQkQ7QUE0QkEsYUFBTztBQUFDbEcsUUFBQUEsS0FBSyxFQUFMQTtBQUFELE9BQVA7QUFDRDs7O0VBbEhxQ3VHLHFCIiwic291cmNlc0NvbnRlbnQiOlsiLy8gQ29weXJpZ2h0IChjKSAyMDIyIFViZXIgVGVjaG5vbG9naWVzLCBJbmMuXG4vL1xuLy8gUGVybWlzc2lvbiBpcyBoZXJlYnkgZ3JhbnRlZCwgZnJlZSBvZiBjaGFyZ2UsIHRvIGFueSBwZXJzb24gb2J0YWluaW5nIGEgY29weVxuLy8gb2YgdGhpcyBzb2Z0d2FyZSBhbmQgYXNzb2NpYXRlZCBkb2N1bWVudGF0aW9uIGZpbGVzICh0aGUgXCJTb2Z0d2FyZVwiKSwgdG8gZGVhbFxuLy8gaW4gdGhlIFNvZnR3YXJlIHdpdGhvdXQgcmVzdHJpY3Rpb24sIGluY2x1ZGluZyB3aXRob3V0IGxpbWl0YXRpb24gdGhlIHJpZ2h0c1xuLy8gdG8gdXNlLCBjb3B5LCBtb2RpZnksIG1lcmdlLCBwdWJsaXNoLCBkaXN0cmlidXRlLCBzdWJsaWNlbnNlLCBhbmQvb3Igc2VsbFxuLy8gY29waWVzIG9mIHRoZSBTb2Z0d2FyZSwgYW5kIHRvIHBlcm1pdCBwZXJzb25zIHRvIHdob20gdGhlIFNvZnR3YXJlIGlzXG4vLyBmdXJuaXNoZWQgdG8gZG8gc28sIHN1YmplY3QgdG8gdGhlIGZvbGxvd2luZyBjb25kaXRpb25zOlxuLy9cbi8vIFRoZSBhYm92ZSBjb3B5cmlnaHQgbm90aWNlIGFuZCB0aGlzIHBlcm1pc3Npb24gbm90aWNlIHNoYWxsIGJlIGluY2x1ZGVkIGluXG4vLyBhbGwgY29waWVzIG9yIHN1YnN0YW50aWFsIHBvcnRpb25zIG9mIHRoZSBTb2Z0d2FyZS5cbi8vXG4vLyBUSEUgU09GVFdBUkUgSVMgUFJPVklERUQgXCJBUyBJU1wiLCBXSVRIT1VUIFdBUlJBTlRZIE9GIEFOWSBLSU5ELCBFWFBSRVNTIE9SXG4vLyBJTVBMSUVELCBJTkNMVURJTkcgQlVUIE5PVCBMSU1JVEVEIFRPIFRIRSBXQVJSQU5USUVTIE9GIE1FUkNIQU5UQUJJTElUWSxcbi8vIEZJVE5FU1MgRk9SIEEgUEFSVElDVUxBUiBQVVJQT1NFIEFORCBOT05JTkZSSU5HRU1FTlQuIElOIE5PIEVWRU5UIFNIQUxMIFRIRVxuLy8gQVVUSE9SUyBPUiBDT1BZUklHSFQgSE9MREVSUyBCRSBMSUFCTEUgRk9SIEFOWSBDTEFJTSwgREFNQUdFUyBPUiBPVEhFUlxuLy8gTElBQklMSVRZLCBXSEVUSEVSIElOIEFOIEFDVElPTiBPRiBDT05UUkFDVCwgVE9SVCBPUiBPVEhFUldJU0UsIEFSSVNJTkcgRlJPTSxcbi8vIE9VVCBPRiBPUiBJTiBDT05ORUNUSU9OIFdJVEggVEhFIFNPRlRXQVJFIE9SIFRIRSBVU0UgT1IgT1RIRVIgREVBTElOR1MgSU5cbi8vIFRIRSBTT0ZUV0FSRS5cblxuaW1wb3J0IHtCcnVzaGluZ0V4dGVuc2lvbn0gZnJvbSAnQGRlY2suZ2wvZXh0ZW5zaW9ucyc7XG5pbXBvcnQge1NjYXR0ZXJwbG90TGF5ZXJ9IGZyb20gJ0BkZWNrLmdsL2xheWVycyc7XG5cbmltcG9ydCBMYXllciBmcm9tICcuLi9iYXNlLWxheWVyJztcbmltcG9ydCB7aGV4VG9SZ2J9IGZyb20gJ3V0aWxzL2NvbG9yLXV0aWxzJztcbmltcG9ydCB7ZmluZERlZmF1bHRDb2xvckZpZWxkfSBmcm9tICd1dGlscy9kYXRhc2V0LXV0aWxzJztcbmltcG9ydCBQb2ludExheWVySWNvbiBmcm9tICcuL3BvaW50LWxheWVyLWljb24nO1xuaW1wb3J0IHtERUZBVUxUX0xBWUVSX0NPTE9SLCBDSEFOTkVMX1NDQUxFU30gZnJvbSAnY29uc3RhbnRzL2RlZmF1bHQtc2V0dGluZ3MnO1xuXG5pbXBvcnQge2dldFRleHRPZmZzZXRCeVJhZGl1cywgZm9ybWF0VGV4dExhYmVsRGF0YX0gZnJvbSAnLi4vbGF5ZXItdGV4dC1sYWJlbCc7XG5cbmV4cG9ydCBjb25zdCBwb2ludFBvc0FjY2Vzc29yID0gKHtsYXQsIGxuZywgYWx0aXR1ZGV9KSA9PiBkYyA9PiBkID0+IFtcbiAgZGMudmFsdWVBdChkLmluZGV4LCBsbmcuZmllbGRJZHgpLFxuICBkYy52YWx1ZUF0KGQuaW5kZXgsIGxhdC5maWVsZElkeCksXG4gIGFsdGl0dWRlICYmIGFsdGl0dWRlLmZpZWxkSWR4ID4gLTEgPyBkYy52YWx1ZUF0KGQuaW5kZXgsIGFsdGl0dWRlLmZpZWxkSWR4KSA6IDBcbl07XG5cbmV4cG9ydCBjb25zdCBwb2ludFJlcXVpcmVkQ29sdW1ucyA9IFsnbGF0JywgJ2xuZyddO1xuZXhwb3J0IGNvbnN0IHBvaW50T3B0aW9uYWxDb2x1bW5zID0gWydhbHRpdHVkZSddO1xuXG5jb25zdCBicnVzaGluZ0V4dGVuc2lvbiA9IG5ldyBCcnVzaGluZ0V4dGVuc2lvbigpO1xuXG5leHBvcnQgY29uc3QgcG9pbnRWaXNDb25maWdzID0ge1xuICByYWRpdXM6ICdyYWRpdXMnLFxuICBmaXhlZFJhZGl1czogJ2ZpeGVkUmFkaXVzJyxcbiAgb3BhY2l0eTogJ29wYWNpdHknLFxuICBvdXRsaW5lOiAnb3V0bGluZScsXG4gIHRoaWNrbmVzczogJ3RoaWNrbmVzcycsXG4gIHN0cm9rZUNvbG9yOiAnc3Ryb2tlQ29sb3InLFxuICBjb2xvclJhbmdlOiAnY29sb3JSYW5nZScsXG4gIHN0cm9rZUNvbG9yUmFuZ2U6ICdzdHJva2VDb2xvclJhbmdlJyxcbiAgcmFkaXVzUmFuZ2U6ICdyYWRpdXNSYW5nZScsXG4gIGZpbGxlZDoge1xuICAgIHR5cGU6ICdib29sZWFuJyxcbiAgICBsYWJlbDogJ2xheWVyLmZpbGxDb2xvcicsXG4gICAgZGVmYXVsdFZhbHVlOiB0cnVlLFxuICAgIHByb3BlcnR5OiAnZmlsbGVkJ1xuICB9XG59O1xuXG5leHBvcnQgZGVmYXVsdCBjbGFzcyBQb2ludExheWVyIGV4dGVuZHMgTGF5ZXIge1xuICBjb25zdHJ1Y3Rvcihwcm9wcykge1xuICAgIHN1cGVyKHByb3BzKTtcblxuICAgIHRoaXMucmVnaXN0ZXJWaXNDb25maWcocG9pbnRWaXNDb25maWdzKTtcbiAgICB0aGlzLmdldFBvc2l0aW9uQWNjZXNzb3IgPSBkYXRhQ29udGFpbmVyID0+XG4gICAgICBwb2ludFBvc0FjY2Vzc29yKHRoaXMuY29uZmlnLmNvbHVtbnMpKGRhdGFDb250YWluZXIpO1xuICB9XG5cbiAgZ2V0IHR5cGUoKSB7XG4gICAgcmV0dXJuICdwb2ludCc7XG4gIH1cblxuICBnZXQgaXNBZ2dyZWdhdGVkKCkge1xuICAgIHJldHVybiBmYWxzZTtcbiAgfVxuXG4gIGdldCBsYXllckljb24oKSB7XG4gICAgcmV0dXJuIFBvaW50TGF5ZXJJY29uO1xuICB9XG4gIGdldCByZXF1aXJlZExheWVyQ29sdW1ucygpIHtcbiAgICByZXR1cm4gcG9pbnRSZXF1aXJlZENvbHVtbnM7XG4gIH1cblxuICBnZXQgb3B0aW9uYWxDb2x1bW5zKCkge1xuICAgIHJldHVybiBwb2ludE9wdGlvbmFsQ29sdW1ucztcbiAgfVxuXG4gIGdldCBjb2x1bW5QYWlycygpIHtcbiAgICByZXR1cm4gdGhpcy5kZWZhdWx0UG9pbnRDb2x1bW5QYWlycztcbiAgfVxuXG4gIGdldCBub25lTGF5ZXJEYXRhQWZmZWN0aW5nUHJvcHMoKSB7XG4gICAgcmV0dXJuIFsuLi5zdXBlci5ub25lTGF5ZXJEYXRhQWZmZWN0aW5nUHJvcHMsICdyYWRpdXMnXTtcbiAgfVxuXG4gIGdldCB2aXN1YWxDaGFubmVscygpIHtcbiAgICByZXR1cm4ge1xuICAgICAgY29sb3I6IHtcbiAgICAgICAgLi4uc3VwZXIudmlzdWFsQ2hhbm5lbHMuY29sb3IsXG4gICAgICAgIGFjY2Vzc29yOiAnZ2V0RmlsbENvbG9yJyxcbiAgICAgICAgY29uZGl0aW9uOiBjb25maWcgPT4gY29uZmlnLnZpc0NvbmZpZy5maWxsZWQsXG4gICAgICAgIGRlZmF1bHRWYWx1ZTogY29uZmlnID0+IGNvbmZpZy5jb2xvclxuICAgICAgfSxcbiAgICAgIHN0cm9rZUNvbG9yOiB7XG4gICAgICAgIHByb3BlcnR5OiAnc3Ryb2tlQ29sb3InLFxuICAgICAgICBrZXk6ICdzdHJva2VDb2xvcicsXG4gICAgICAgIGZpZWxkOiAnc3Ryb2tlQ29sb3JGaWVsZCcsXG4gICAgICAgIHNjYWxlOiAnc3Ryb2tlQ29sb3JTY2FsZScsXG4gICAgICAgIGRvbWFpbjogJ3N0cm9rZUNvbG9yRG9tYWluJyxcbiAgICAgICAgcmFuZ2U6ICdzdHJva2VDb2xvclJhbmdlJyxcbiAgICAgICAgY2hhbm5lbFNjYWxlVHlwZTogQ0hBTk5FTF9TQ0FMRVMuY29sb3IsXG4gICAgICAgIGFjY2Vzc29yOiAnZ2V0TGluZUNvbG9yJyxcbiAgICAgICAgY29uZGl0aW9uOiBjb25maWcgPT4gY29uZmlnLnZpc0NvbmZpZy5vdXRsaW5lLFxuICAgICAgICBkZWZhdWx0VmFsdWU6IGNvbmZpZyA9PiBjb25maWcudmlzQ29uZmlnLnN0cm9rZUNvbG9yIHx8IGNvbmZpZy5jb2xvclxuICAgICAgfSxcbiAgICAgIHNpemU6IHtcbiAgICAgICAgLi4uc3VwZXIudmlzdWFsQ2hhbm5lbHMuc2l6ZSxcbiAgICAgICAgcHJvcGVydHk6ICdyYWRpdXMnLFxuICAgICAgICByYW5nZTogJ3JhZGl1c1JhbmdlJyxcbiAgICAgICAgZml4ZWQ6ICdmaXhlZFJhZGl1cycsXG4gICAgICAgIGNoYW5uZWxTY2FsZVR5cGU6ICdyYWRpdXMnLFxuICAgICAgICBhY2Nlc3NvcjogJ2dldFJhZGl1cycsXG4gICAgICAgIGRlZmF1bHRWYWx1ZTogMVxuICAgICAgfVxuICAgIH07XG4gIH1cblxuICBzZXRJbml0aWFsTGF5ZXJDb25maWcoZGF0YXNldCkge1xuICAgIGNvbnN0IGRlZmF1bHRDb2xvckZpZWxkID0gZmluZERlZmF1bHRDb2xvckZpZWxkKGRhdGFzZXQpO1xuXG4gICAgaWYgKGRlZmF1bHRDb2xvckZpZWxkKSB7XG4gICAgICB0aGlzLnVwZGF0ZUxheWVyQ29uZmlnKHtcbiAgICAgICAgY29sb3JGaWVsZDogZGVmYXVsdENvbG9yRmllbGRcbiAgICAgIH0pO1xuICAgICAgdGhpcy51cGRhdGVMYXllclZpc3VhbENoYW5uZWwoZGF0YXNldCwgJ2NvbG9yJyk7XG4gICAgfVxuXG4gICAgcmV0dXJuIHRoaXM7XG4gIH1cblxuICBzdGF0aWMgZmluZERlZmF1bHRMYXllclByb3BzKHtmaWVsZFBhaXJzID0gW119KSB7XG4gICAgY29uc3QgcHJvcHMgPSBbXTtcblxuICAgIC8vIE1ha2UgbGF5ZXIgZm9yIGVhY2ggcGFpclxuICAgIGZpZWxkUGFpcnMuZm9yRWFjaChwYWlyID0+IHtcbiAgICAgIGNvbnN0IGxhdEZpZWxkID0gcGFpci5wYWlyLmxhdDtcbiAgICAgIGNvbnN0IGxuZ0ZpZWxkID0gcGFpci5wYWlyLmxuZztcbiAgICAgIGNvbnN0IGxheWVyTmFtZSA9IHBhaXIuZGVmYXVsdE5hbWU7XG5cbiAgICAgIGNvbnN0IHByb3AgPSB7XG4gICAgICAgIGxhYmVsOiBsYXllck5hbWUubGVuZ3RoID8gbGF5ZXJOYW1lIDogJ1BvaW50J1xuICAgICAgfTtcblxuICAgICAgLy8gZGVmYXVsdCBsYXllciBjb2xvciBmb3IgYmVnaW50cmlwIGFuZCBkcm9wb2ZmIHBvaW50XG4gICAgICBpZiAobGF0RmllbGQudmFsdWUgaW4gREVGQVVMVF9MQVlFUl9DT0xPUikge1xuICAgICAgICBwcm9wLmNvbG9yID0gaGV4VG9SZ2IoREVGQVVMVF9MQVlFUl9DT0xPUltsYXRGaWVsZC52YWx1ZV0pO1xuICAgICAgfVxuXG4gICAgICAvLyBzZXQgdGhlIGZpcnN0IGxheWVyIHRvIGJlIHZpc2libGVcbiAgICAgIGlmIChwcm9wcy5sZW5ndGggPT09IDApIHtcbiAgICAgICAgcHJvcC5pc1Zpc2libGUgPSB0cnVlO1xuICAgICAgfVxuXG4gICAgICBwcm9wLmNvbHVtbnMgPSB7XG4gICAgICAgIGxhdDogbGF0RmllbGQsXG4gICAgICAgIGxuZzogbG5nRmllbGQsXG4gICAgICAgIGFsdGl0dWRlOiB7dmFsdWU6IG51bGwsIGZpZWxkSWR4OiAtMSwgb3B0aW9uYWw6IHRydWV9XG4gICAgICB9O1xuXG4gICAgICBwcm9wcy5wdXNoKHByb3ApO1xuICAgIH0pO1xuXG4gICAgcmV0dXJuIHtwcm9wc307XG4gIH1cblxuICBnZXREZWZhdWx0TGF5ZXJDb25maWcocHJvcHMgPSB7fSkge1xuICAgIHJldHVybiB7XG4gICAgICAuLi5zdXBlci5nZXREZWZhdWx0TGF5ZXJDb25maWcocHJvcHMpLFxuXG4gICAgICAvLyBhZGQgc3Ryb2tlIGNvbG9yIHZpc3VhbCBjaGFubmVsXG4gICAgICBzdHJva2VDb2xvckZpZWxkOiBudWxsLFxuICAgICAgc3Ryb2tlQ29sb3JEb21haW46IFswLCAxXSxcbiAgICAgIHN0cm9rZUNvbG9yU2NhbGU6ICdxdWFudGlsZSdcbiAgICB9O1xuICB9XG5cbiAgY2FsY3VsYXRlRGF0YUF0dHJpYnV0ZSh7ZmlsdGVyZWRJbmRleH0sIGdldFBvc2l0aW9uKSB7XG4gICAgY29uc3QgZGF0YSA9IFtdO1xuXG4gICAgZm9yIChsZXQgaSA9IDA7IGkgPCBmaWx0ZXJlZEluZGV4Lmxlbmd0aDsgaSsrKSB7XG4gICAgICBjb25zdCBpbmRleCA9IGZpbHRlcmVkSW5kZXhbaV07XG4gICAgICBjb25zdCBwb3MgPSBnZXRQb3NpdGlvbih7aW5kZXh9KTtcblxuICAgICAgLy8gaWYgZG9lc24ndCBoYXZlIHBvaW50IGxhdCBvciBsbmcsIGRvIG5vdCBhZGQgdGhlIHBvaW50XG4gICAgICAvLyBkZWNrLmdsIGNhbid0IGhhbmRsZSBwb3NpdGlvbiA9IG51bGxcbiAgICAgIGlmIChwb3MuZXZlcnkoTnVtYmVyLmlzRmluaXRlKSkge1xuICAgICAgICBkYXRhLnB1c2goe1xuICAgICAgICAgIHBvc2l0aW9uOiBwb3MsXG4gICAgICAgICAgaW5kZXhcbiAgICAgICAgfSk7XG4gICAgICB9XG4gICAgfVxuICAgIHJldHVybiBkYXRhO1xuICB9XG5cbiAgZm9ybWF0TGF5ZXJEYXRhKGRhdGFzZXRzLCBvbGRMYXllckRhdGEpIHtcbiAgICBjb25zdCB7dGV4dExhYmVsfSA9IHRoaXMuY29uZmlnO1xuICAgIGNvbnN0IHtncHVGaWx0ZXIsIGRhdGFDb250YWluZXJ9ID0gZGF0YXNldHNbdGhpcy5jb25maWcuZGF0YUlkXTtcbiAgICBjb25zdCB7ZGF0YSwgdHJpZ2dlckNoYW5nZWR9ID0gdGhpcy51cGRhdGVEYXRhKGRhdGFzZXRzLCBvbGRMYXllckRhdGEpO1xuICAgIGNvbnN0IGdldFBvc2l0aW9uID0gdGhpcy5nZXRQb3NpdGlvbkFjY2Vzc29yKGRhdGFDb250YWluZXIpO1xuXG4gICAgLy8gZ2V0IGFsbCBkaXN0aW5jdCBjaGFyYWN0ZXJzIGluIHRoZSB0ZXh0IGxhYmVsc1xuICAgIGNvbnN0IHRleHRMYWJlbHMgPSBmb3JtYXRUZXh0TGFiZWxEYXRhKHtcbiAgICAgIHRleHRMYWJlbCxcbiAgICAgIHRyaWdnZXJDaGFuZ2VkLFxuICAgICAgb2xkTGF5ZXJEYXRhLFxuICAgICAgZGF0YSxcbiAgICAgIGRhdGFDb250YWluZXJcbiAgICB9KTtcblxuICAgIGNvbnN0IGFjY2Vzc29ycyA9IHRoaXMuZ2V0QXR0cmlidXRlQWNjZXNzb3JzKHtkYXRhQ29udGFpbmVyfSk7XG5cbiAgICByZXR1cm4ge1xuICAgICAgZGF0YSxcbiAgICAgIGdldFBvc2l0aW9uLFxuICAgICAgZ2V0RmlsdGVyVmFsdWU6IGdwdUZpbHRlci5maWx0ZXJWYWx1ZUFjY2Vzc29yKGRhdGFDb250YWluZXIpKCksXG4gICAgICB0ZXh0TGFiZWxzLFxuICAgICAgLi4uYWNjZXNzb3JzXG4gICAgfTtcbiAgfVxuICAvKiBlc2xpbnQtZW5hYmxlIGNvbXBsZXhpdHkgKi9cblxuICB1cGRhdGVMYXllck1ldGEoZGF0YUNvbnRhaW5lcikge1xuICAgIGNvbnN0IGdldFBvc2l0aW9uID0gdGhpcy5nZXRQb3NpdGlvbkFjY2Vzc29yKGRhdGFDb250YWluZXIpO1xuICAgIGNvbnN0IGJvdW5kcyA9IHRoaXMuZ2V0UG9pbnRzQm91bmRzKGRhdGFDb250YWluZXIsIGdldFBvc2l0aW9uKTtcbiAgICB0aGlzLnVwZGF0ZU1ldGEoe2JvdW5kc30pO1xuICB9XG5cbiAgcmVuZGVyTGF5ZXIob3B0cykge1xuICAgIGNvbnN0IHtkYXRhLCBncHVGaWx0ZXIsIG9iamVjdEhvdmVyZWQsIG1hcFN0YXRlLCBpbnRlcmFjdGlvbkNvbmZpZ30gPSBvcHRzO1xuXG4gICAgLy8gaWYgbm8gZmllbGQgc2l6ZSBpcyBkZWZpbmVkIHdlIG5lZWQgdG8gcGFzcyBmaXhlZCByYWRpdXMgPSBmYWxzZVxuICAgIGNvbnN0IGZpeGVkUmFkaXVzID0gdGhpcy5jb25maWcudmlzQ29uZmlnLmZpeGVkUmFkaXVzICYmIEJvb2xlYW4odGhpcy5jb25maWcuc2l6ZUZpZWxkKTtcbiAgICBjb25zdCByYWRpdXNTY2FsZSA9IHRoaXMuZ2V0UmFkaXVzU2NhbGVCeVpvb20obWFwU3RhdGUsIGZpeGVkUmFkaXVzKTtcblxuICAgIGNvbnN0IGxheWVyUHJvcHMgPSB7XG4gICAgICBzdHJva2VkOiB0aGlzLmNvbmZpZy52aXNDb25maWcub3V0bGluZSxcbiAgICAgIGZpbGxlZDogdGhpcy5jb25maWcudmlzQ29uZmlnLmZpbGxlZCxcbiAgICAgIGxpbmVXaWR0aFNjYWxlOiB0aGlzLmNvbmZpZy52aXNDb25maWcudGhpY2tuZXNzLFxuICAgICAgcmFkaXVzU2NhbGUsXG4gICAgICAuLi4odGhpcy5jb25maWcudmlzQ29uZmlnLmZpeGVkUmFkaXVzID8ge30gOiB7cmFkaXVzTWF4UGl4ZWxzOiA1MDB9KVxuICAgIH07XG5cbiAgICBjb25zdCB1cGRhdGVUcmlnZ2VycyA9IHtcbiAgICAgIGdldFBvc2l0aW9uOiB0aGlzLmNvbmZpZy5jb2x1bW5zLFxuICAgICAgZ2V0RmlsdGVyVmFsdWU6IGdwdUZpbHRlci5maWx0ZXJWYWx1ZVVwZGF0ZVRyaWdnZXJzLFxuICAgICAgLi4udGhpcy5nZXRWaXN1YWxDaGFubmVsVXBkYXRlVHJpZ2dlcnMoKVxuICAgIH07XG5cbiAgICBjb25zdCBkZWZhdWx0TGF5ZXJQcm9wcyA9IHRoaXMuZ2V0RGVmYXVsdERlY2tMYXllclByb3BzKG9wdHMpO1xuICAgIGNvbnN0IGJydXNoaW5nUHJvcHMgPSB0aGlzLmdldEJydXNoaW5nRXh0ZW5zaW9uUHJvcHMoaW50ZXJhY3Rpb25Db25maWcpO1xuICAgIGNvbnN0IGdldFBpeGVsT2Zmc2V0ID0gZ2V0VGV4dE9mZnNldEJ5UmFkaXVzKHJhZGl1c1NjYWxlLCBkYXRhLmdldFJhZGl1cywgbWFwU3RhdGUpO1xuICAgIGNvbnN0IGV4dGVuc2lvbnMgPSBbLi4uZGVmYXVsdExheWVyUHJvcHMuZXh0ZW5zaW9ucywgYnJ1c2hpbmdFeHRlbnNpb25dO1xuXG4gICAgY29uc3Qgc2hhcmVkUHJvcHMgPSB7XG4gICAgICBnZXRGaWx0ZXJWYWx1ZTogZGF0YS5nZXRGaWx0ZXJWYWx1ZSxcbiAgICAgIGV4dGVuc2lvbnMsXG4gICAgICBmaWx0ZXJSYW5nZTogZGVmYXVsdExheWVyUHJvcHMuZmlsdGVyUmFuZ2UsXG4gICAgICB2aXNpYmxlOiBkZWZhdWx0TGF5ZXJQcm9wcy52aXNpYmxlLFxuICAgICAgLi4uYnJ1c2hpbmdQcm9wc1xuICAgIH07XG4gICAgY29uc3QgaG92ZXJlZE9iamVjdCA9IHRoaXMuaGFzSG92ZXJlZE9iamVjdChvYmplY3RIb3ZlcmVkKTtcblxuICAgIHJldHVybiBbXG4gICAgICBuZXcgU2NhdHRlcnBsb3RMYXllcih7XG4gICAgICAgIC4uLmRlZmF1bHRMYXllclByb3BzLFxuICAgICAgICAuLi5icnVzaGluZ1Byb3BzLFxuICAgICAgICAuLi5sYXllclByb3BzLFxuICAgICAgICAuLi5kYXRhLFxuICAgICAgICBwYXJhbWV0ZXJzOiB7XG4gICAgICAgICAgLy8gY2lyY2xlcyB3aWxsIGJlIGZsYXQgb24gdGhlIG1hcCB3aGVuIHRoZSBhbHRpdHVkZSBjb2x1bW4gaXMgbm90IHVzZWRcbiAgICAgICAgICBkZXB0aFRlc3Q6IHRoaXMuY29uZmlnLmNvbHVtbnMuYWx0aXR1ZGU/LmZpZWxkSWR4ID4gLTFcbiAgICAgICAgfSxcbiAgICAgICAgbGluZVdpZHRoVW5pdHM6ICdwaXhlbHMnLFxuICAgICAgICB1cGRhdGVUcmlnZ2VycyxcbiAgICAgICAgZXh0ZW5zaW9uc1xuICAgICAgfSksXG4gICAgICAvLyBob3ZlciBsYXllclxuICAgICAgLi4uKGhvdmVyZWRPYmplY3RcbiAgICAgICAgPyBbXG4gICAgICAgICAgICBuZXcgU2NhdHRlcnBsb3RMYXllcih7XG4gICAgICAgICAgICAgIC4uLnRoaXMuZ2V0RGVmYXVsdEhvdmVyTGF5ZXJQcm9wcygpLFxuICAgICAgICAgICAgICAuLi5sYXllclByb3BzLFxuICAgICAgICAgICAgICBkYXRhOiBbaG92ZXJlZE9iamVjdF0sXG4gICAgICAgICAgICAgIGdldExpbmVDb2xvcjogdGhpcy5jb25maWcuaGlnaGxpZ2h0Q29sb3IsXG4gICAgICAgICAgICAgIGdldEZpbGxDb2xvcjogdGhpcy5jb25maWcuaGlnaGxpZ2h0Q29sb3IsXG4gICAgICAgICAgICAgIGdldFJhZGl1czogZGF0YS5nZXRSYWRpdXMsXG4gICAgICAgICAgICAgIGdldFBvc2l0aW9uOiBkYXRhLmdldFBvc2l0aW9uXG4gICAgICAgICAgICB9KVxuICAgICAgICAgIF1cbiAgICAgICAgOiBbXSksXG4gICAgICAvLyB0ZXh0IGxhYmVsIGxheWVyXG4gICAgICAuLi50aGlzLnJlbmRlclRleHRMYWJlbExheWVyKFxuICAgICAgICB7XG4gICAgICAgICAgZ2V0UG9zaXRpb246IGRhdGEuZ2V0UG9zaXRpb24sXG4gICAgICAgICAgc2hhcmVkUHJvcHMsXG4gICAgICAgICAgZ2V0UGl4ZWxPZmZzZXQsXG4gICAgICAgICAgdXBkYXRlVHJpZ2dlcnNcbiAgICAgICAgfSxcbiAgICAgICAgb3B0c1xuICAgICAgKVxuICAgIF07XG4gIH1cbn1cbiJdfQ==
|
|
378
|
+
//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIi4uLy4uLy4uL3NyYy9sYXllcnMvcG9pbnQtbGF5ZXIvcG9pbnQtbGF5ZXIuanMiXSwibmFtZXMiOlsicG9pbnRQb3NBY2Nlc3NvciIsImxhdCIsImxuZyIsImFsdGl0dWRlIiwiZGMiLCJkIiwidmFsdWVBdCIsImluZGV4IiwiZmllbGRJZHgiLCJwb2ludFJlcXVpcmVkQ29sdW1ucyIsInBvaW50T3B0aW9uYWxDb2x1bW5zIiwiYnJ1c2hpbmdFeHRlbnNpb24iLCJCcnVzaGluZ0V4dGVuc2lvbiIsInBvaW50VmlzQ29uZmlncyIsInJhZGl1cyIsImZpeGVkUmFkaXVzIiwib3BhY2l0eSIsIm91dGxpbmUiLCJ0aGlja25lc3MiLCJzdHJva2VDb2xvciIsImNvbG9yUmFuZ2UiLCJzdHJva2VDb2xvclJhbmdlIiwicmFkaXVzUmFuZ2UiLCJmaWxsZWQiLCJ0eXBlIiwibGFiZWwiLCJkZWZhdWx0VmFsdWUiLCJwcm9wZXJ0eSIsIlBvaW50TGF5ZXIiLCJwcm9wcyIsInJlZ2lzdGVyVmlzQ29uZmlnIiwiZ2V0UG9zaXRpb25BY2Nlc3NvciIsImRhdGFDb250YWluZXIiLCJjb25maWciLCJjb2x1bW5zIiwiUG9pbnRMYXllckljb24iLCJkZWZhdWx0UG9pbnRDb2x1bW5QYWlycyIsImNvbG9yIiwiYWNjZXNzb3IiLCJjb25kaXRpb24iLCJ2aXNDb25maWciLCJrZXkiLCJmaWVsZCIsInNjYWxlIiwiZG9tYWluIiwicmFuZ2UiLCJjaGFubmVsU2NhbGVUeXBlIiwiQ0hBTk5FTF9TQ0FMRVMiLCJzaXplIiwiZml4ZWQiLCJkYXRhc2V0IiwiZGVmYXVsdENvbG9yRmllbGQiLCJ1cGRhdGVMYXllckNvbmZpZyIsImNvbG9yRmllbGQiLCJ1cGRhdGVMYXllclZpc3VhbENoYW5uZWwiLCJzdHJva2VDb2xvckZpZWxkIiwic3Ryb2tlQ29sb3JEb21haW4iLCJzdHJva2VDb2xvclNjYWxlIiwiZ2V0UG9zaXRpb24iLCJmaWx0ZXJlZEluZGV4IiwiZGF0YSIsImkiLCJsZW5ndGgiLCJwb3MiLCJldmVyeSIsIk51bWJlciIsImlzRmluaXRlIiwicHVzaCIsInBvc2l0aW9uIiwiZGF0YXNldHMiLCJvbGRMYXllckRhdGEiLCJ0ZXh0TGFiZWwiLCJkYXRhSWQiLCJncHVGaWx0ZXIiLCJ1cGRhdGVEYXRhIiwidHJpZ2dlckNoYW5nZWQiLCJ0ZXh0TGFiZWxzIiwiYWNjZXNzb3JzIiwiZ2V0QXR0cmlidXRlQWNjZXNzb3JzIiwiZ2V0RmlsdGVyVmFsdWUiLCJmaWx0ZXJWYWx1ZUFjY2Vzc29yIiwiYm91bmRzIiwiZ2V0UG9pbnRzQm91bmRzIiwidXBkYXRlTWV0YSIsIm9wdHMiLCJvYmplY3RIb3ZlcmVkIiwibWFwU3RhdGUiLCJpbnRlcmFjdGlvbkNvbmZpZyIsIkJvb2xlYW4iLCJzaXplRmllbGQiLCJyYWRpdXNTY2FsZSIsImdldFJhZGl1c1NjYWxlIiwicmFkaXVzVW5pdHMiLCJnZXRSYWRpdXNVbml0IiwibGF5ZXJQcm9wcyIsInN0cm9rZWQiLCJsaW5lV2lkdGhTY2FsZSIsInJhZGl1c01heFBpeGVscyIsInVwZGF0ZVRyaWdnZXJzIiwiZmlsdGVyVmFsdWVVcGRhdGVUcmlnZ2VycyIsImdldFZpc3VhbENoYW5uZWxVcGRhdGVUcmlnZ2VycyIsImRlZmF1bHRMYXllclByb3BzIiwiZ2V0RGVmYXVsdERlY2tMYXllclByb3BzIiwiYnJ1c2hpbmdQcm9wcyIsImdldEJydXNoaW5nRXh0ZW5zaW9uUHJvcHMiLCJnZXRQaXhlbE9mZnNldCIsImdldFJhZGl1cyIsImV4dGVuc2lvbnMiLCJzaGFyZWRQcm9wcyIsImZpbHRlclJhbmdlIiwidmlzaWJsZSIsImhvdmVyZWRPYmplY3QiLCJoYXNIb3ZlcmVkT2JqZWN0IiwiU2NhdHRlcnBsb3RMYXllciIsInBhcmFtZXRlcnMiLCJkZXB0aFRlc3QiLCJsaW5lV2lkdGhVbml0cyIsImdldERlZmF1bHRIb3ZlckxheWVyUHJvcHMiLCJnZXRMaW5lQ29sb3IiLCJoaWdobGlnaHRDb2xvciIsImdldEZpbGxDb2xvciIsInJlbmRlclRleHRMYWJlbExheWVyIiwiZmllbGRQYWlycyIsImZvckVhY2giLCJwYWlyIiwibGF0RmllbGQiLCJsbmdGaWVsZCIsImxheWVyTmFtZSIsImRlZmF1bHROYW1lIiwicHJvcCIsInZhbHVlIiwiREVGQVVMVF9MQVlFUl9DT0xPUiIsImlzVmlzaWJsZSIsIm9wdGlvbmFsIiwiTGF5ZXIiXSwibWFwcGluZ3MiOiI7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7QUFvQkE7O0FBQ0E7O0FBRUE7O0FBQ0E7O0FBQ0E7O0FBQ0E7O0FBQ0E7O0FBRUE7Ozs7Ozs7Ozs7QUFFTyxJQUFNQSxnQkFBZ0IsR0FBRyxTQUFuQkEsZ0JBQW1CO0FBQUEsTUFBRUMsR0FBRixRQUFFQSxHQUFGO0FBQUEsTUFBT0MsR0FBUCxRQUFPQSxHQUFQO0FBQUEsTUFBWUMsUUFBWixRQUFZQSxRQUFaO0FBQUEsU0FBMEIsVUFBQUMsRUFBRTtBQUFBLFdBQUksVUFBQUMsQ0FBQztBQUFBLGFBQUksQ0FDbkVELEVBQUUsQ0FBQ0UsT0FBSCxDQUFXRCxDQUFDLENBQUNFLEtBQWIsRUFBb0JMLEdBQUcsQ0FBQ00sUUFBeEIsQ0FEbUUsRUFFbkVKLEVBQUUsQ0FBQ0UsT0FBSCxDQUFXRCxDQUFDLENBQUNFLEtBQWIsRUFBb0JOLEdBQUcsQ0FBQ08sUUFBeEIsQ0FGbUUsRUFHbkVMLFFBQVEsSUFBSUEsUUFBUSxDQUFDSyxRQUFULEdBQW9CLENBQUMsQ0FBakMsR0FBcUNKLEVBQUUsQ0FBQ0UsT0FBSCxDQUFXRCxDQUFDLENBQUNFLEtBQWIsRUFBb0JKLFFBQVEsQ0FBQ0ssUUFBN0IsQ0FBckMsR0FBOEUsQ0FIWCxDQUFKO0FBQUEsS0FBTDtBQUFBLEdBQTVCO0FBQUEsQ0FBekI7OztBQU1BLElBQU1DLG9CQUFvQixHQUFHLENBQUMsS0FBRCxFQUFRLEtBQVIsQ0FBN0I7O0FBQ0EsSUFBTUMsb0JBQW9CLEdBQUcsQ0FBQyxVQUFELENBQTdCOztBQUVQLElBQU1DLGlCQUFpQixHQUFHLElBQUlDLDZCQUFKLEVBQTFCO0FBRU8sSUFBTUMsZUFBZSxHQUFH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LEdBQUdILElBQUksQ0FBQ0ksV0FBdkI7QUFFQSxZQUFNQyxJQUFJLEdBQUc7QUFDWHhHLFVBQUFBLEtBQUssRUFBRXNHLFNBQVMsQ0FBQ2pFLE1BQVYsR0FBbUJpRSxTQUFuQixHQUErQjtBQUQzQixTQUFiLENBTHlCLENBU3pCOztBQUNBLFlBQUlGLFFBQVEsQ0FBQ0ssS0FBVCxJQUFrQkMsb0NBQXRCLEVBQTJDO0FBQ3pDRixVQUFBQSxJQUFJLENBQUM1RixLQUFMLEdBQWEsMEJBQVM4RixxQ0FBb0JOLFFBQVEsQ0FBQ0ssS0FBN0IsQ0FBVCxDQUFiO0FBQ0QsU0Fad0IsQ0FjekI7OztBQUNBLFlBQUlyRyxLQUFLLENBQUNpQyxNQUFOLEtBQWlCLENBQXJCLEVBQXdCO0FBQ3RCbUUsVUFBQUEsSUFBSSxDQUFDRyxTQUFMLEdBQWlCLElBQWpCO0FBQ0Q7O0FBRURILFFBQUFBLElBQUksQ0FBQy9GLE9BQUwsR0FBZTtBQUNiakMsVUFBQUEsR0FBRyxFQUFFNEgsUUFEUTtBQUViM0gsVUFBQUEsR0FBRyxFQUFFNEgsUUFGUTtBQUdiM0gsVUFBQUEsUUFBUSxFQUFFO0FBQUMrSCxZQUFBQSxLQUFLLEVBQUUsSUFBUjtBQUFjMUgsWUFBQUEsUUFBUSxFQUFFLENBQUMsQ0FBekI7QUFBNEI2SCxZQUFBQSxRQUFRLEVBQUU7QUFBdEM7QUFIRyxTQUFmO0FBTUF4RyxRQUFBQSxLQUFLLENBQUNzQyxJQUFOLENBQVc4RCxJQUFYO0FBQ0QsT0ExQkQ7QUE0QkEsYUFBTztBQUFDcEcsUUFBQUEsS0FBSyxFQUFMQTtBQUFELE9BQVA7QUFDRDs7O0VBbEhxQ3lHLHFCIiwic291cmNlc0NvbnRlbnQiOlsiLy8gQ29weXJpZ2h0IChjKSAyMDIyIFViZXIgVGVjaG5vbG9naWVzLCBJbmMuXG4vL1xuLy8gUGVybWlzc2lvbiBpcyBoZXJlYnkgZ3JhbnRlZCwgZnJlZSBvZiBjaGFyZ2UsIHRvIGFueSBwZXJzb24gb2J0YWluaW5nIGEgY29weVxuLy8gb2YgdGhpcyBzb2Z0d2FyZSBhbmQgYXNzb2NpYXRlZCBkb2N1bWVudGF0aW9uIGZpbGVzICh0aGUgXCJTb2Z0d2FyZVwiKSwgdG8gZGVhbFxuLy8gaW4gdGhlIFNvZnR3YXJlIHdpdGhvdXQgcmVzdHJpY3Rpb24sIGluY2x1ZGluZyB3aXRob3V0IGxpbWl0YXRpb24gdGhlIHJpZ2h0c1xuLy8gdG8gdXNlLCBjb3B5LCBtb2RpZnksIG1lcmdlLCBwdWJsaXNoLCBkaXN0cmlidXRlLCBzdWJsaWNlbnNlLCBhbmQvb3Igc2VsbFxuLy8gY29waWVzIG9mIHRoZSBTb2Z0d2FyZSwgYW5kIHRvIHBlcm1pdCBwZXJzb25zIHRvIHdob20gdGhlIFNvZnR3YXJlIGlzXG4vLyBmdXJuaXNoZWQgdG8gZG8gc28sIHN1YmplY3QgdG8gdGhlIGZvbGxvd2luZyBjb25kaXRpb25zOlxuLy9cbi8vIFRoZSBhYm92ZSBjb3B5cmlnaHQgbm90aWNlIGFuZCB0aGlzIHBlcm1pc3Npb24gbm90aWNlIHNoYWxsIGJlIGluY2x1ZGVkIGluXG4vLyBhbGwgY29waWVzIG9yIHN1YnN0YW50aWFsIHBvcnRpb25zIG9mIHRoZSBTb2Z0d2FyZS5cbi8vXG4vLyBUSEUgU09GVFdBUkUgSVMgUFJPVklERUQgXCJBUyBJU1wiLCBXSVRIT1VUIFdBUlJBTlRZIE9GIEFOWSBLSU5ELCBFWFBSRVNTIE9SXG4vLyBJTVBMSUVELCBJTkNMVURJTkcgQlVUIE5PVCBMSU1JVEVEIFRPIFRIRSBXQVJSQU5USUVTIE9GIE1FUkNIQU5UQUJJTElUWSxcbi8vIEZJVE5FU1MgRk9SIEEgUEFSVElDVUxBUiBQVVJQT1NFIEFORCBOT05JTkZSSU5HRU1FTlQuIElOIE5PIEVWRU5UIFNIQUxMIFRIRVxuLy8gQVVUSE9SUyBPUiBDT1BZUklHSFQgSE9MREVSUyBCRSBMSUFCTEUgRk9SIEFOWSBDTEFJTSwgREFNQUdFUyBPUiBPVEhFUlxuLy8gTElBQklMSVRZLCBXSEVUSEVSIElOIEFOIEFDVElPTiBPRiBDT05UUkFDVCwgVE9SVCBPUiBPVEhFUldJU0UsIEFSSVNJTkcgRlJPTSxcbi8vIE9VVCBPRiBPUiBJTiBDT05ORUNUSU9OIFdJVEggVEhFIFNPRlRXQVJFIE9SIFRIRSBVU0UgT1IgT1RIRVIgREVBTElOR1MgSU5cbi8vIFRIRSBTT0ZUV0FSRS5cblxuaW1wb3J0IHtCcnVzaGluZ0V4dGVuc2lvbn0gZnJvbSAnQGRlY2suZ2wvZXh0ZW5zaW9ucyc7XG5pbXBvcnQge1NjYXR0ZXJwbG90TGF5ZXJ9IGZyb20gJ0BkZWNrLmdsL2xheWVycyc7XG5cbmltcG9ydCBMYXllciBmcm9tICcuLi9iYXNlLWxheWVyJztcbmltcG9ydCB7aGV4VG9SZ2J9IGZyb20gJ3V0aWxzL2NvbG9yLXV0aWxzJztcbmltcG9ydCB7ZmluZERlZmF1bHRDb2xvckZpZWxkfSBmcm9tICd1dGlscy9kYXRhc2V0LXV0aWxzJztcbmltcG9ydCBQb2ludExheWVySWNvbiBmcm9tICcuL3BvaW50LWxheWVyLWljb24nO1xuaW1wb3J0IHtERUZBVUxUX0xBWUVSX0NPTE9SLCBDSEFOTkVMX1NDQUxFU30gZnJvbSAnY29uc3RhbnRzL2RlZmF1bHQtc2V0dGluZ3MnO1xuXG5pbXBvcnQge2dldFRleHRPZmZzZXRCeVJhZGl1cywgZm9ybWF0VGV4dExhYmVsRGF0YX0gZnJvbSAnLi4vbGF5ZXItdGV4dC1sYWJlbCc7XG5cbmV4cG9ydCBjb25zdCBwb2ludFBvc0FjY2Vzc29yID0gKHtsYXQsIGxuZywgYWx0aXR1ZGV9KSA9PiBkYyA9PiBkID0+IFtcbiAgZGMudmFsdWVBdChkLmluZGV4LCBsbmcuZmllbGRJZHgpLFxuICBkYy52YWx1ZUF0KGQuaW5kZXgsIGxhdC5maWVsZElkeCksXG4gIGFsdGl0dWRlICYmIGFsdGl0dWRlLmZpZWxkSWR4ID4gLTEgPyBkYy52YWx1ZUF0KGQuaW5kZXgsIGFsdGl0dWRlLmZpZWxkSWR4KSA6IDBcbl07XG5cbmV4cG9ydCBjb25zdCBwb2ludFJlcXVpcmVkQ29sdW1ucyA9IFsnbGF0JywgJ2xuZyddO1xuZXhwb3J0IGNvbnN0IHBvaW50T3B0aW9uYWxDb2x1bW5zID0gWydhbHRpdHVkZSddO1xuXG5jb25zdCBicnVzaGluZ0V4dGVuc2lvbiA9IG5ldyBCcnVzaGluZ0V4dGVuc2lvbigpO1xuXG5leHBvcnQgY29uc3QgcG9pbnRWaXNDb25maWdzID0ge1xuICByYWRpdXM6ICdyYWRpdXMnLFxuICBmaXhlZFJhZGl1czogJ2ZpeGVkUmFkaXVzJyxcbiAgb3BhY2l0eTogJ29wYWNpdHknLFxuICBvdXRsaW5lOiAnb3V0bGluZScsXG4gIHRoaWNrbmVzczogJ3RoaWNrbmVzcycsXG4gIHN0cm9rZUNvbG9yOiAnc3Ryb2tlQ29sb3InLFxuICBjb2xvclJhbmdlOiAnY29sb3JSYW5nZScsXG4gIHN0cm9rZUNvbG9yUmFuZ2U6ICdzdHJva2VDb2xvclJhbmdlJyxcbiAgcmFkaXVzUmFuZ2U6ICdyYWRpdXNSYW5nZScsXG4gIGZpbGxlZDoge1xuICAgIHR5cGU6ICdib29sZWFuJyxcbiAgICBsYWJlbDogJ2xheWVyLmZpbGxDb2xvcicsXG4gICAgZGVmYXVsdFZhbHVlOiB0cnVlLFxuICAgIHByb3BlcnR5OiAnZmlsbGVkJ1xuICB9XG59O1xuXG5leHBvcnQgZGVmYXVsdCBjbGFzcyBQb2ludExheWVyIGV4dGVuZHMgTGF5ZXIge1xuICBjb25zdHJ1Y3Rvcihwcm9wcykge1xuICAgIHN1cGVyKHByb3BzKTtcblxuICAgIHRoaXMucmVnaXN0ZXJWaXNDb25maWcocG9pbnRWaXNDb25maWdzKTtcbiAgICB0aGlzLmdldFBvc2l0aW9uQWNjZXNzb3IgPSBkYXRhQ29udGFpbmVyID0+XG4gICAgICBwb2ludFBvc0FjY2Vzc29yKHRoaXMuY29uZmlnLmNvbHVtbnMpKGRhdGFDb250YWluZXIpO1xuICB9XG5cbiAgZ2V0IHR5cGUoKSB7XG4gICAgcmV0dXJuICdwb2ludCc7XG4gIH1cblxuICBnZXQgaXNBZ2dyZWdhdGVkKCkge1xuICAgIHJldHVybiBmYWxzZTtcbiAgfVxuXG4gIGdldCBsYXllckljb24oKSB7XG4gICAgcmV0dXJuIFBvaW50TGF5ZXJJY29uO1xuICB9XG4gIGdldCByZXF1aXJlZExheWVyQ29sdW1ucygpIHtcbiAgICByZXR1cm4gcG9pbnRSZXF1aXJlZENvbHVtbnM7XG4gIH1cblxuICBnZXQgb3B0aW9uYWxDb2x1bW5zKCkge1xuICAgIHJldHVybiBwb2ludE9wdGlvbmFsQ29sdW1ucztcbiAgfVxuXG4gIGdldCBjb2x1bW5QYWlycygpIHtcbiAgICByZXR1cm4gdGhpcy5kZWZhdWx0UG9pbnRDb2x1bW5QYWlycztcbiAgfVxuXG4gIGdldCBub25lTGF5ZXJEYXRhQWZmZWN0aW5nUHJvcHMoKSB7XG4gICAgcmV0dXJuIFsuLi5zdXBlci5ub25lTGF5ZXJEYXRhQWZmZWN0aW5nUHJvcHMsICdyYWRpdXMnXTtcbiAgfVxuXG4gIGdldCB2aXN1YWxDaGFubmVscygpIHtcbiAgICByZXR1cm4ge1xuICAgICAgY29sb3I6IHtcbiAgICAgICAgLi4uc3VwZXIudmlzdWFsQ2hhbm5lbHMuY29sb3IsXG4gICAgICAgIGFjY2Vzc29yOiAnZ2V0RmlsbENvbG9yJyxcbiAgICAgICAgY29uZGl0aW9uOiBjb25maWcgPT4gY29uZmlnLnZpc0NvbmZpZy5maWxsZWQsXG4gICAgICAgIGRlZmF1bHRWYWx1ZTogY29uZmlnID0+IGNvbmZpZy5jb2xvclxuICAgICAgfSxcbiAgICAgIHN0cm9rZUNvbG9yOiB7XG4gICAgICAgIHByb3BlcnR5OiAnc3Ryb2tlQ29sb3InLFxuICAgICAgICBrZXk6ICdzdHJva2VDb2xvcicsXG4gICAgICAgIGZpZWxkOiAnc3Ryb2tlQ29sb3JGaWVsZCcsXG4gICAgICAgIHNjYWxlOiAnc3Ryb2tlQ29sb3JTY2FsZScsXG4gICAgICAgIGRvbWFpbjogJ3N0cm9rZUNvbG9yRG9tYWluJyxcbiAgICAgICAgcmFuZ2U6ICdzdHJva2VDb2xvclJhbmdlJyxcbiAgICAgICAgY2hhbm5lbFNjYWxlVHlwZTogQ0hBTk5FTF9TQ0FMRVMuY29sb3IsXG4gICAgICAgIGFjY2Vzc29yOiAnZ2V0TGluZUNvbG9yJyxcbiAgICAgICAgY29uZGl0aW9uOiBjb25maWcgPT4gY29uZmlnLnZpc0NvbmZpZy5vdXRsaW5lLFxuICAgICAgICBkZWZhdWx0VmFsdWU6IGNvbmZpZyA9PiBjb25maWcudmlzQ29uZmlnLnN0cm9rZUNvbG9yIHx8IGNvbmZpZy5jb2xvclxuICAgICAgfSxcbiAgICAgIHNpemU6IHtcbiAgICAgICAgLi4uc3VwZXIudmlzdWFsQ2hhbm5lbHMuc2l6ZSxcbiAgICAgICAgcHJvcGVydHk6ICdyYWRpdXMnLFxuICAgICAgICByYW5nZTogJ3JhZGl1c1JhbmdlJyxcbiAgICAgICAgZml4ZWQ6ICdmaXhlZFJhZGl1cycsXG4gICAgICAgIGNoYW5uZWxTY2FsZVR5cGU6ICdyYWRpdXMnLFxuICAgICAgICBhY2Nlc3NvcjogJ2dldFJhZGl1cycsXG4gICAgICAgIGRlZmF1bHRWYWx1ZTogMVxuICAgICAgfVxuICAgIH07XG4gIH1cblxuICBzZXRJbml0aWFsTGF5ZXJDb25maWcoZGF0YXNldCkge1xuICAgIGNvbnN0IGRlZmF1bHRDb2xvckZpZWxkID0gZmluZERlZmF1bHRDb2xvckZpZWxkKGRhdGFzZXQpO1xuXG4gICAgaWYgKGRlZmF1bHRDb2xvckZpZWxkKSB7XG4gICAgICB0aGlzLnVwZGF0ZUxheWVyQ29uZmlnKHtcbiAgICAgICAgY29sb3JGaWVsZDogZGVmYXVsdENvbG9yRmllbGRcbiAgICAgIH0pO1xuICAgICAgdGhpcy51cGRhdGVMYXllclZpc3VhbENoYW5uZWwoZGF0YXNldCwgJ2NvbG9yJyk7XG4gICAgfVxuXG4gICAgcmV0dXJuIHRoaXM7XG4gIH1cblxuICBzdGF0aWMgZmluZERlZmF1bHRMYXllclByb3BzKHtmaWVsZFBhaXJzID0gW119KSB7XG4gICAgY29uc3QgcHJvcHMgPSBbXTtcblxuICAgIC8vIE1ha2UgbGF5ZXIgZm9yIGVhY2ggcGFpclxuICAgIGZpZWxkUGFpcnMuZm9yRWFjaChwYWlyID0+IHtcbiAgICAgIGNvbnN0IGxhdEZpZWxkID0gcGFpci5wYWlyLmxhdDtcbiAgICAgIGNvbnN0IGxuZ0ZpZWxkID0gcGFpci5wYWlyLmxuZztcbiAgICAgIGNvbnN0IGxheWVyTmFtZSA9IHBhaXIuZGVmYXVsdE5hbWU7XG5cbiAgICAgIGNvbnN0IHByb3AgPSB7XG4gICAgICAgIGxhYmVsOiBsYXllck5hbWUubGVuZ3RoID8gbGF5ZXJOYW1lIDogJ1BvaW50J1xuICAgICAgfTtcblxuICAgICAgLy8gZGVmYXVsdCBsYXllciBjb2xvciBmb3IgYmVnaW50cmlwIGFuZCBkcm9wb2ZmIHBvaW50XG4gICAgICBpZiAobGF0RmllbGQudmFsdWUgaW4gREVGQVVMVF9MQVlFUl9DT0xPUikge1xuICAgICAgICBwcm9wLmNvbG9yID0gaGV4VG9SZ2IoREVGQVVMVF9MQVlFUl9DT0xPUltsYXRGaWVsZC52YWx1ZV0pO1xuICAgICAgfVxuXG4gICAgICAvLyBzZXQgdGhlIGZpcnN0IGxheWVyIHRvIGJlIHZpc2libGVcbiAgICAgIGlmIChwcm9wcy5sZW5ndGggPT09IDApIHtcbiAgICAgICAgcHJvcC5pc1Zpc2libGUgPSB0cnVlO1xuICAgICAgfVxuXG4gICAgICBwcm9wLmNvbHVtbnMgPSB7XG4gICAgICAgIGxhdDogbGF0RmllbGQsXG4gICAgICAgIGxuZzogbG5nRmllbGQsXG4gICAgICAgIGFsdGl0dWRlOiB7dmFsdWU6IG51bGwsIGZpZWxkSWR4OiAtMSwgb3B0aW9uYWw6IHRydWV9XG4gICAgICB9O1xuXG4gICAgICBwcm9wcy5wdXNoKHByb3ApO1xuICAgIH0pO1xuXG4gICAgcmV0dXJuIHtwcm9wc307XG4gIH1cblxuICBnZXREZWZhdWx0TGF5ZXJDb25maWcocHJvcHMgPSB7fSkge1xuICAgIHJldHVybiB7XG4gICAgICAuLi5zdXBlci5nZXREZWZhdWx0TGF5ZXJDb25maWcocHJvcHMpLFxuXG4gICAgICAvLyBhZGQgc3Ryb2tlIGNvbG9yIHZpc3VhbCBjaGFubmVsXG4gICAgICBzdHJva2VDb2xvckZpZWxkOiBudWxsLFxuICAgICAgc3Ryb2tlQ29sb3JEb21haW46IFswLCAxXSxcbiAgICAgIHN0cm9rZUNvbG9yU2NhbGU6ICdxdWFudGlsZSdcbiAgICB9O1xuICB9XG5cbiAgY2FsY3VsYXRlRGF0YUF0dHJpYnV0ZSh7ZmlsdGVyZWRJbmRleH0sIGdldFBvc2l0aW9uKSB7XG4gICAgY29uc3QgZGF0YSA9IFtdO1xuXG4gICAgZm9yIChsZXQgaSA9IDA7IGkgPCBmaWx0ZXJlZEluZGV4Lmxlbmd0aDsgaSsrKSB7XG4gICAgICBjb25zdCBpbmRleCA9IGZpbHRlcmVkSW5kZXhbaV07XG4gICAgICBjb25zdCBwb3MgPSBnZXRQb3NpdGlvbih7aW5kZXh9KTtcblxuICAgICAgLy8gaWYgZG9lc24ndCBoYXZlIHBvaW50IGxhdCBvciBsbmcsIGRvIG5vdCBhZGQgdGhlIHBvaW50XG4gICAgICAvLyBkZWNrLmdsIGNhbid0IGhhbmRsZSBwb3NpdGlvbiA9IG51bGxcbiAgICAgIGlmIChwb3MuZXZlcnkoTnVtYmVyLmlzRmluaXRlKSkge1xuICAgICAgICBkYXRhLnB1c2goe1xuICAgICAgICAgIHBvc2l0aW9uOiBwb3MsXG4gICAgICAgICAgaW5kZXhcbiAgICAgICAgfSk7XG4gICAgICB9XG4gICAgfVxuICAgIHJldHVybiBkYXRhO1xuICB9XG5cbiAgZm9ybWF0TGF5ZXJEYXRhKGRhdGFzZXRzLCBvbGRMYXllckRhdGEpIHtcbiAgICBjb25zdCB7dGV4dExhYmVsfSA9IHRoaXMuY29uZmlnO1xuICAgIGNvbnN0IHtncHVGaWx0ZXIsIGRhdGFDb250YWluZXJ9ID0gZGF0YXNldHNbdGhpcy5jb25maWcuZGF0YUlkXTtcbiAgICBjb25zdCB7ZGF0YSwgdHJpZ2dlckNoYW5nZWR9ID0gdGhpcy51cGRhdGVEYXRhKGRhdGFzZXRzLCBvbGRMYXllckRhdGEpO1xuICAgIGNvbnN0IGdldFBvc2l0aW9uID0gdGhpcy5nZXRQb3NpdGlvbkFjY2Vzc29yKGRhdGFDb250YWluZXIpO1xuXG4gICAgLy8gZ2V0IGFsbCBkaXN0aW5jdCBjaGFyYWN0ZXJzIGluIHRoZSB0ZXh0IGxhYmVsc1xuICAgIGNvbnN0IHRleHRMYWJlbHMgPSBmb3JtYXRUZXh0TGFiZWxEYXRhKHtcbiAgICAgIHRleHRMYWJlbCxcbiAgICAgIHRyaWdnZXJDaGFuZ2VkLFxuICAgICAgb2xkTGF5ZXJEYXRhLFxuICAgICAgZGF0YSxcbiAgICAgIGRhdGFDb250YWluZXJcbiAgICB9KTtcblxuICAgIGNvbnN0IGFjY2Vzc29ycyA9IHRoaXMuZ2V0QXR0cmlidXRlQWNjZXNzb3JzKHtkYXRhQ29udGFpbmVyfSk7XG5cbiAgICByZXR1cm4ge1xuICAgICAgZGF0YSxcbiAgICAgIGdldFBvc2l0aW9uLFxuICAgICAgZ2V0RmlsdGVyVmFsdWU6IGdwdUZpbHRlci5maWx0ZXJWYWx1ZUFjY2Vzc29yKGRhdGFDb250YWluZXIpKCksXG4gICAgICB0ZXh0TGFiZWxzLFxuICAgICAgLi4uYWNjZXNzb3JzXG4gICAgfTtcbiAgfVxuICAvKiBlc2xpbnQtZW5hYmxlIGNvbXBsZXhpdHkgKi9cblxuICB1cGRhdGVMYXllck1ldGEoZGF0YUNvbnRhaW5lcikge1xuICAgIGNvbnN0IGdldFBvc2l0aW9uID0gdGhpcy5nZXRQb3NpdGlvbkFjY2Vzc29yKGRhdGFDb250YWluZXIpO1xuICAgIGNvbnN0IGJvdW5kcyA9IHRoaXMuZ2V0UG9pbnRzQm91bmRzKGRhdGFDb250YWluZXIsIGdldFBvc2l0aW9uKTtcbiAgICB0aGlzLnVwZGF0ZU1ldGEoe2JvdW5kc30pO1xuICB9XG5cbiAgcmVuZGVyTGF5ZXIob3B0cykge1xuICAgIGNvbnN0IHtkYXRhLCBncHVGaWx0ZXIsIG9iamVjdEhvdmVyZWQsIG1hcFN0YXRlLCBpbnRlcmFjdGlvbkNvbmZpZ30gPSBvcHRzO1xuXG4gICAgLy8gaWYgbm8gZmllbGQgc2l6ZSBpcyBkZWZpbmVkIHdlIG5lZWQgdG8gcGFzcyBmaXhlZCByYWRpdXMgPSBmYWxzZVxuICAgIGNvbnN0IGZpeGVkUmFkaXVzID0gdGhpcy5jb25maWcudmlzQ29uZmlnLmZpeGVkUmFkaXVzICYmIEJvb2xlYW4odGhpcy5jb25maWcuc2l6ZUZpZWxkKTtcbiAgICBjb25zdCByYWRpdXNTY2FsZSA9IHRoaXMuZ2V0UmFkaXVzU2NhbGUoZml4ZWRSYWRpdXMpO1xuICAgIGNvbnN0IHJhZGl1c1VuaXRzID0gdGhpcy5nZXRSYWRpdXNVbml0KGZpeGVkUmFkaXVzKTtcblxuICAgIGNvbnN0IGxheWVyUHJvcHMgPSB7XG4gICAgICBzdHJva2VkOiB0aGlzLmNvbmZpZy52aXNDb25maWcub3V0bGluZSxcbiAgICAgIGZpbGxlZDogdGhpcy5jb25maWcudmlzQ29uZmlnLmZpbGxlZCxcbiAgICAgIGxpbmVXaWR0aFNjYWxlOiB0aGlzLmNvbmZpZy52aXNDb25maWcudGhpY2tuZXNzLFxuICAgICAgcmFkaXVzU2NhbGUsXG4gICAgICAuLi4odGhpcy5jb25maWcudmlzQ29uZmlnLmZpeGVkUmFkaXVzID8ge30gOiB7cmFkaXVzTWF4UGl4ZWxzOiA1MDB9KVxuICAgIH07XG5cbiAgICBjb25zdCB1cGRhdGVUcmlnZ2VycyA9IHtcbiAgICAgIGdldFBvc2l0aW9uOiB0aGlzLmNvbmZpZy5jb2x1bW5zLFxuICAgICAgZ2V0RmlsdGVyVmFsdWU6IGdwdUZpbHRlci5maWx0ZXJWYWx1ZVVwZGF0ZVRyaWdnZXJzLFxuICAgICAgLi4udGhpcy5nZXRWaXN1YWxDaGFubmVsVXBkYXRlVHJpZ2dlcnMoKVxuICAgIH07XG5cbiAgICBjb25zdCBkZWZhdWx0TGF5ZXJQcm9wcyA9IHRoaXMuZ2V0RGVmYXVsdERlY2tMYXllclByb3BzKG9wdHMpO1xuICAgIGNvbnN0IGJydXNoaW5nUHJvcHMgPSB0aGlzLmdldEJydXNoaW5nRXh0ZW5zaW9uUHJvcHMoaW50ZXJhY3Rpb25Db25maWcpO1xuICAgIGNvbnN0IGdldFBpeGVsT2Zmc2V0ID0gZ2V0VGV4dE9mZnNldEJ5UmFkaXVzKFxuICAgICAgcmFkaXVzU2NhbGUsXG4gICAgICBkYXRhLmdldFJhZGl1cyxcbiAgICAgIG1hcFN0YXRlLFxuICAgICAgZml4ZWRSYWRpdXNcbiAgICApO1xuICAgIGNvbnN0IGV4dGVuc2lvbnMgPSBbLi4uZGVmYXVsdExheWVyUHJvcHMuZXh0ZW5zaW9ucywgYnJ1c2hpbmdFeHRlbnNpb25dO1xuXG4gICAgY29uc3Qgc2hhcmVkUHJvcHMgPSB7XG4gICAgICBnZXRGaWx0ZXJWYWx1ZTogZGF0YS5nZXRGaWx0ZXJWYWx1ZSxcbiAgICAgIGV4dGVuc2lvbnMsXG4gICAgICBmaWx0ZXJSYW5nZTogZGVmYXVsdExheWVyUHJvcHMuZmlsdGVyUmFuZ2UsXG4gICAgICB2aXNpYmxlOiBkZWZhdWx0TGF5ZXJQcm9wcy52aXNpYmxlLFxuICAgICAgLi4uYnJ1c2hpbmdQcm9wc1xuICAgIH07XG4gICAgY29uc3QgaG92ZXJlZE9iamVjdCA9IHRoaXMuaGFzSG92ZXJlZE9iamVjdChvYmplY3RIb3ZlcmVkKTtcblxuICAgIHJldHVybiBbXG4gICAgICBuZXcgU2NhdHRlcnBsb3RMYXllcih7XG4gICAgICAgIC4uLmRlZmF1bHRMYXllclByb3BzLFxuICAgICAgICAuLi5icnVzaGluZ1Byb3BzLFxuICAgICAgICAuLi5sYXllclByb3BzLFxuICAgICAgICAuLi5kYXRhLFxuICAgICAgICBwYXJhbWV0ZXJzOiB7XG4gICAgICAgICAgLy8gY2lyY2xlcyB3aWxsIGJlIGZsYXQgb24gdGhlIG1hcCB3aGVuIHRoZSBhbHRpdHVkZSBjb2x1bW4gaXMgbm90IHVzZWRcbiAgICAgICAgICBkZXB0aFRlc3Q6IHRoaXMuY29uZmlnLmNvbHVtbnMuYWx0aXR1ZGU/LmZpZWxkSWR4ID4gLTFcbiAgICAgICAgfSxcbiAgICAgICAgcmFkaXVzVW5pdHMsXG4gICAgICAgIGxpbmVXaWR0aFVuaXRzOiAncGl4ZWxzJyxcbiAgICAgICAgdXBkYXRlVHJpZ2dlcnMsXG4gICAgICAgIGV4dGVuc2lvbnNcbiAgICAgIH0pLFxuICAgICAgLy8gaG92ZXIgbGF5ZXJcbiAgICAgIC4uLihob3ZlcmVkT2JqZWN0XG4gICAgICAgID8gW1xuICAgICAgICAgICAgbmV3IFNjYXR0ZXJwbG90TGF5ZXIoe1xuICAgICAgICAgICAgICAuLi50aGlzLmdldERlZmF1bHRIb3ZlckxheWVyUHJvcHMoKSxcbiAgICAgICAgICAgICAgLi4ubGF5ZXJQcm9wcyxcbiAgICAgICAgICAgICAgZGF0YTogW2hvdmVyZWRPYmplY3RdLFxuICAgICAgICAgICAgICBnZXRMaW5lQ29sb3I6IHRoaXMuY29uZmlnLmhpZ2hsaWdodENvbG9yLFxuICAgICAgICAgICAgICBnZXRGaWxsQ29sb3I6IHRoaXMuY29uZmlnLmhpZ2hsaWdodENvbG9yLFxuICAgICAgICAgICAgICBnZXRSYWRpdXM6IGRhdGEuZ2V0UmFkaXVzLFxuICAgICAgICAgICAgICBnZXRQb3NpdGlvbjogZGF0YS5nZXRQb3NpdGlvblxuICAgICAgICAgICAgfSlcbiAgICAgICAgICBdXG4gICAgICAgIDogW10pLFxuICAgICAgLy8gdGV4dCBsYWJlbCBsYXllclxuICAgICAgLi4udGhpcy5yZW5kZXJUZXh0TGFiZWxMYXllcihcbiAgICAgICAge1xuICAgICAgICAgIGdldFBvc2l0aW9uOiBkYXRhLmdldFBvc2l0aW9uLFxuICAgICAgICAgIHNoYXJlZFByb3BzLFxuICAgICAgICAgIGdldFBpeGVsT2Zmc2V0LFxuICAgICAgICAgIHVwZGF0ZVRyaWdnZXJzXG4gICAgICAgIH0sXG4gICAgICAgIG9wdHNcbiAgICAgIClcbiAgICBdO1xuICB9XG59XG4iXX0=
|
|
@@ -337,7 +337,8 @@ var TripLayer = /*#__PURE__*/function (_Layer) {
|
|
|
337
337
|
return ts - domain0;
|
|
338
338
|
});
|
|
339
339
|
},
|
|
340
|
-
widthScale: this.config.visConfig.thickness
|
|
340
|
+
widthScale: this.config.visConfig.thickness,
|
|
341
|
+
widthUnits: 'pixels',
|
|
341
342
|
rounded: true,
|
|
342
343
|
wrapLongitude: false,
|
|
343
344
|
parameters: {
|
|
@@ -399,4 +400,4 @@ var TripLayer = /*#__PURE__*/function (_Layer) {
|
|
|
399
400
|
}(_baseLayer["default"]);
|
|
400
401
|
|
|
401
402
|
exports["default"] = TripLayer;
|
|
402
|
-
//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIi4uLy4uLy4uL3NyYy9sYXllcnMvdHJpcC1sYXllci90cmlwLWxheWVyLmpzIl0sIm5hbWVzIjpbInpvb21GYWN0b3JWYWx1ZSIsImRlZmF1bHRUaGlja25lc3MiLCJkZWZhdWx0TGluZVdpZHRoIiwidHJpcFZpc0NvbmZpZ3MiLCJvcGFjaXR5IiwidGhpY2tuZXNzIiwidHlwZSIsImRlZmF1bHRWYWx1ZSIsImxhYmVsIiwiaXNSYW5nZWQiLCJyYW5nZSIsInN0ZXAiLCJncm91cCIsInByb3BlcnR5IiwiY29sb3JSYW5nZSIsInRyYWlsTGVuZ3RoIiwic2l6ZVJhbmdlIiwiZ2VvSnNvblJlcXVpcmVkQ29sdW1ucyIsImZlYXR1cmVBY2Nlc3NvciIsImdlb2pzb24iLCJkYyIsImQiLCJ2YWx1ZUF0IiwiaW5kZXgiLCJmaWVsZElkeCIsImZlYXR1cmVSZXNvbHZlciIsIlRyaXBMYXllciIsInByb3BzIiwiZGF0YVRvRmVhdHVyZSIsImRhdGFUb1RpbWVTdGFtcCIsInJlZ2lzdGVyVmlzQ29uZmlnIiwiZ2V0RmVhdHVyZSIsIl9sYXllckluZm9Nb2RhbCIsIlRyaXBMYXllckljb24iLCJ2aXN1YWxDaGFubmVscyIsImNvbG9yIiwiYWNjZXNzb3IiLCJudWxsVmFsdWUiLCJnZXRBdHRyaWJ1dGVWYWx1ZSIsImNvbmZpZyIsInByb3BlcnRpZXMiLCJsaW5lQ29sb3IiLCJzaXplIiwiY29uZGl0aW9uIiwidmlzQ29uZmlnIiwic3Ryb2tlZCIsImxpbmVXaWR0aCIsImFuaW1hdGlvbiIsImRvbWFpbiIsImlkIiwidGVtcGxhdGUiLCJtb2RhbFByb3BzIiwidGl0bGUiLCJkYXRhQ29udGFpbmVyIiwiY29sdW1ucyIsImVuYWJsZWQiLCJvYmplY3QiLCJyb3ciLCJnZXRQb3NpdGlvbiIsImZpbHRlcmVkSW5kZXgiLCJtYXAiLCJpIiwiZmlsdGVyIiwiZ2VvbWV0cnkiLCJkYXRhc2V0cyIsIm9sZExheWVyRGF0YSIsImRhdGFJZCIsImdwdUZpbHRlciIsInVwZGF0ZURhdGEiLCJkYXRhIiwiY3VzdG9tRmlsdGVyVmFsdWVBY2Nlc3NvciIsImYiLCJmaWVsZEluZGV4IiwiaW5kZXhBY2Nlc3NvciIsImRhdGFBY2Nlc3NvciIsImFjY2Vzc29ycyIsImdldEF0dHJpYnV0ZUFjY2Vzc29ycyIsImdldEZpbHRlclZhbHVlIiwiZmlsdGVyVmFsdWVBY2Nlc3NvciIsImdldFBhdGgiLCJjb29yZGluYXRlcyIsImdldFRpbWVzdGFtcHMiLCJ1cGRhdGVMYXllckNvbmZpZyIsImdldFBvc2l0aW9uQWNjZXNzb3IiLCJtZXRhIiwiYW5pbWF0aW9uRG9tYWluIiwidXBkYXRlQW5pbWF0aW9uRG9tYWluIiwiYm91bmRzIiwiZmVhdHVyZVR5cGVzIiwidXBkYXRlTWV0YSIsInVwZGF0ZUxheWVyTWV0YSIsIm9wdHMiLCJtYXBTdGF0ZSIsImFuaW1hdGlvbkNvbmZpZyIsInpvb21GYWN0b3IiLCJnZXRab29tRmFjdG9yIiwiaXNWYWxpZFRpbWUiLCJBcnJheSIsImlzQXJyYXkiLCJldmVyeSIsIk51bWJlciIsImlzRmluaXRlIiwiY3VycmVudFRpbWUiLCJkb21haW4wIiwidXBkYXRlVHJpZ2dlcnMiLCJnZXRWaXN1YWxDaGFubmVsVXBkYXRlVHJpZ2dlcnMiLCJmaWx0ZXJWYWx1ZVVwZGF0ZVRyaWdnZXJzIiwiZGVmYXVsdExheWVyUHJvcHMiLCJnZXREZWZhdWx0RGVja0xheWVyUHJvcHMiLCJEZWNrR0xUcmlwc0xheWVyIiwidHMiLCJ3aWR0aFNjYWxlIiwicm91bmRlZCIsIndyYXBMb25naXR1ZGUiLCJwYXJhbWV0ZXJzIiwiZGVwdGhUZXN0IiwiZHJhZ1JvdGF0ZSIsImRlcHRoTWFzayIsImZvdW5kTGF5ZXJzIiwiZmllbGRzIiwiZ2VvanNvbkNvbHVtbnMiLCJuYW1lIiwiZGVmYXVsdENvbHVtbnMiLCJHRU9KU09OX0ZJRUxEUyIsImdlb0pzb25Db2x1bW5zIiwiZmluZERlZmF1bHRDb2x1bW5GaWVsZCIsInRyaXBDb2x1bW5zIiwiY29sIiwibGVuZ3RoIiwicmVwbGFjZSIsImlz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QUFDdkIsZUFBTztBQUFDckcsVUFBQUEsS0FBSyxFQUFFO0FBQVIsU0FBUDtBQUNEOztBQUVELGFBQU87QUFDTEEsUUFBQUEsS0FBSyxFQUFFbUcsV0FBVyxDQUFDbEUsR0FBWixDQUFnQixVQUFBTixPQUFPO0FBQUEsaUJBQUs7QUFDakM5QyxZQUFBQSxLQUFLLEVBQUcsT0FBT0EsS0FBUCxLQUFpQixRQUFqQixJQUE2QkEsS0FBSyxDQUFDeUgsT0FBTixDQUFjLFdBQWQsRUFBMkIsRUFBM0IsQ0FBOUIsSUFBaUUsTUFBSSxDQUFDM0gsSUFENUM7QUFFakNnRCxZQUFBQSxPQUFPLEVBQVBBLE9BRmlDO0FBR2pDNEUsWUFBQUEsU0FBUyxFQUFFO0FBSHNCLFdBQUw7QUFBQSxTQUF2QixDQURGO0FBT0w7QUFDQVosUUFBQUEsV0FBVyxFQUFFQSxXQUFXLENBQUN4RCxNQUFaLENBQ1gsVUFBQXFFLElBQUk7QUFBQSxpQkFDRkEsSUFBSSxDQUFDN0gsSUFBTCxLQUFjLFNBQWQsSUFDQTZILElBQUksQ0FBQ2pFLE1BQUwsS0FBZ0JqQixFQURoQixJQUVBLENBQUM2RSxXQUFXLENBQUNNLElBQVosQ0FBaUIsVUFBQUMsQ0FBQztBQUFBLG1CQUFJRixJQUFJLENBQUM3RSxPQUFMLENBQWFuQyxPQUFiLENBQXFCc0csSUFBckIsS0FBOEJZLENBQUMsQ0FBQ2xILE9BQUYsQ0FBVXNHLElBQTVDO0FBQUEsV0FBbEIsQ0FIQztBQUFBLFNBRE87QUFSUixPQUFQO0FBZUQ7OztFQXJHb0NhLHFCIiwic291cmNlc0NvbnRlbnQiOlsiLy8gQ29weXJpZ2h0IChjKSAyMDIyIFViZXIgVGVjaG5vbG9naWVzLCBJbmMuXG4vL1xuLy8gUGVybWlzc2lvbiBpcyBoZXJlYnkgZ3JhbnRlZCwgZnJlZSBvZiBjaGFyZ2UsIHRvIGFueSBwZXJzb24gb2J0YWluaW5nIGEgY29weVxuLy8gb2YgdGhpcyBzb2Z0d2FyZSBhbmQgYXNzb2NpYXRlZCBkb2N1bWVudGF0aW9uIGZpbGVzICh0aGUgXCJTb2Z0d2FyZVwiKSwgdG8gZGVhbFxuLy8gaW4gdGhlIFNvZnR3YXJlIHdpdGhvdXQgcmVzdHJpY3Rpb24sIGluY2x1ZGluZyB3aXRob3V0IGxpbWl0YXRpb24gdGhlIHJpZ2h0c1xuLy8gdG8gdXNlLCBjb3B5LCBtb2RpZnksIG1lcmdlLCBwdWJsaXNoLCBkaXN0cmlidXRlLCBzdWJsaWNlbnNlLCBhbmQvb3Igc2VsbFxuLy8gY29waWVzIG9mIHRoZSBTb2Z0d2FyZSwgYW5kIHRvIHBlcm1pdCBwZXJzb25zIHRvIHdob20gdGhlIFNvZnR3YXJlIGlzXG4vLyBmdXJuaXNoZWQgdG8gZG8gc28sIHN1YmplY3QgdG8gdGhlIGZvbGxvd2luZyBjb25kaXRpb25zOlxuLy9cbi8vIFRoZSBhYm92ZSBjb3B5cmlnaHQgbm90aWNlIGFuZCB0aGlzIHBlcm1pc3Npb24gbm90aWNlIHNoYWxsIGJlIGluY2x1ZGVkIGluXG4vLyBhbGwgY29waWVzIG9yIHN1YnN0YW50aWFsIHBvcnRpb25zIG9mIHRoZSBTb2Z0d2FyZS5cbi8vXG4vLyBUSEUgU09GVFdBUkUgSVMgUFJPVklERUQgXCJBUyBJU1wiLCBXSVRIT1VUIFdBUlJBTlRZIE9GIEFOWSBLSU5ELCBFWFBSRVNTIE9SXG4vLyBJTVBMSUVELCBJTkNMVURJTkcgQlVUIE5PVCBMSU1JVEVEIFRPIFRIRSBXQVJSQU5USUVTIE9GIE1FUkNIQU5UQUJJTElUWSxcbi8vIEZJVE5FU1MgRk9SIEEgUEFSVElDVUxBUiBQVVJQT1NFIEFORCBOT05JTkZSSU5HRU1FTlQuIElOIE5PIEVWRU5UIFNIQUxMIFRIRVxuLy8gQVVUSE9SUyBPUiBDT1BZUklHSFQgSE9MREVSUyBCRSBMSUFCTEUgRk9SIEFOWSBDTEFJTSwgREFNQUdFUyBPUiBPVEhFUlxuLy8gTElBQklMSVRZLCBXSEVUSEVSIElOIEFOIEFDVElPTiBPRiBDT05UUkFDVCwgVE9SVCBPUiBPVEhFUldJU0UsIEFSSVNJTkcgRlJPTSxcbi8vIE9VVCBPRiBPUiBJTiBDT05ORUNUSU9OIFdJVEggVEhFIFNPRlRXQVJFIE9SIFRIRSBVU0UgT1IgT1RIRVIgREVBTElOR1MgSU5cbi8vIFRIRSBTT0ZUV0FSRS5cblxuaW1wb3J0IG1lbW9pemUgZnJvbSAnbG9kYXNoLm1lbW9pemUnO1xuaW1wb3J0IHVuaXEgZnJvbSAnbG9kYXNoLnVuaXEnO1xuaW1wb3J0IExheWVyIGZyb20gJy4uL2Jhc2UtbGF5ZXInO1xuaW1wb3J0IHtUcmlwc0xheWVyIGFzIERlY2tHTFRyaXBzTGF5ZXJ9IGZyb20gJ0BkZWNrLmdsL2dlby1sYXllcnMnO1xuXG5pbXBvcnQge0dFT0pTT05fRklFTERTfSBmcm9tICdjb25zdGFudHMvZGVmYXVsdC1zZXR0aW5ncyc7XG5pbXBvcnQgVHJpcExheWVySWNvbiBmcm9tICcuL3RyaXAtbGF5ZXItaWNvbic7XG5cbmltcG9ydCB7XG4gIGdldEdlb2pzb25EYXRhTWFwcyxcbiAgZ2V0R2VvanNvbkJvdW5kcyxcbiAgZ2V0R2VvanNvbkZlYXR1cmVUeXBlc1xufSBmcm9tICdsYXllcnMvZ2VvanNvbi1sYXllci9nZW9qc29uLXV0aWxzJztcblxuaW1wb3J0IHtpc1RyaXBHZW9Kc29uRmllbGQsIHBhcnNlVHJpcEdlb0pzb25UaW1lc3RhbXB9IGZyb20gJy4vdHJpcC11dGlscyc7XG5pbXBvcnQgVHJpcEluZm9Nb2RhbEZhY3RvcnkgZnJvbSAnLi90cmlwLWluZm8tbW9kYWwnO1xuXG5jb25zdCB6b29tRmFjdG9yVmFsdWUgPSA4O1xuXG5leHBvcnQgY29uc3QgZGVmYXVsdFRoaWNrbmVzcyA9IDAuNTtcbmV4cG9ydCBjb25zdCBkZWZhdWx0TGluZVdpZHRoID0gMTtcblxuZXhwb3J0IGNvbnN0IHRyaXBWaXNDb25maWdzID0ge1xuICBvcGFjaXR5OiAnb3BhY2l0eScsXG4gIHRoaWNrbmVzczoge1xuICAgIHR5cGU6ICdudW1iZXInLFxuICAgIGRlZmF1bHRWYWx1ZTogZGVmYXVsdFRoaWNrbmVzcyxcbiAgICBsYWJlbDogJ1N0cm9rZSBXaWR0aCcsXG4gICAgaXNSYW5nZWQ6IGZhbHNlLFxuICAgIHJhbmdlOiBbMCwgMTAwXSxcbiAgICBzdGVwOiAwLjEsXG4gICAgZ3JvdXA6ICdzdHJva2UnLFxuICAgIHByb3BlcnR5OiAndGhpY2tuZXNzJ1xuICB9LFxuICBjb2xvclJhbmdlOiAnY29sb3JSYW5nZScsXG4gIHRyYWlsTGVuZ3RoOiAndHJhaWxMZW5ndGgnLFxuICBzaXplUmFuZ2U6ICdzdHJva2VXaWR0aFJhbmdlJ1xufTtcblxuZXhwb3J0IGNvbnN0IGdlb0pzb25SZXF1aXJlZENvbHVtbnMgPSBbJ2dlb2pzb24nXTtcbmV4cG9ydCBjb25zdCBmZWF0dXJlQWNjZXNzb3IgPSAoe2dlb2pzb259KSA9PiBkYyA9PiBkID0+IGRjLnZhbHVlQXQoZC5pbmRleCwgZ2VvanNvbi5maWVsZElkeCk7XG5leHBvcnQgY29uc3QgZmVhdHVyZVJlc29sdmVyID0gKHtnZW9qc29ufSkgPT4gZ2VvanNvbi5maWVsZElkeDtcblxuZXhwb3J0IGRlZmF1bHQgY2xhc3MgVHJpcExheWVyIGV4dGVuZHMgTGF5ZXIge1xuICBjb25zdHJ1Y3Rvcihwcm9wcykge1xuICAgIHN1cGVyKHByb3BzKTtcblxuICAgIHRoaXMuZGF0YVRvRmVhdHVyZSA9IFtdO1xuICAgIHRoaXMuZGF0YVRvVGltZVN0YW1wID0gW107XG4gICAgdGhpcy5yZWdpc3RlclZpc0NvbmZpZyh0cmlwVmlzQ29uZmlncyk7XG4gICAgdGhpcy5nZXRGZWF0dXJlID0gbWVtb2l6ZShmZWF0dXJlQWNjZXNzb3IsIGZlYXR1cmVSZXNvbHZlcik7XG4gICAgdGhpcy5fbGF5ZXJJbmZvTW9kYWwgPSBUcmlwSW5mb01vZGFsRmFjdG9yeSgpO1xuICB9XG5cbiAgZ2V0IHR5cGUoKSB7XG4gICAgcmV0dXJuICd0cmlwJztcbiAgfVxuXG4gIGdldCBuYW1lKCkge1xuICAgIHJldHVybiAnVHJpcCc7XG4gIH1cblxuICBnZXQgbGF5ZXJJY29uKCkge1xuICAgIHJldHVybiBUcmlwTGF5ZXJJY29uO1xuICB9XG5cbiAgZ2V0IHJlcXVpcmVkTGF5ZXJDb2x1bW5zKCkge1xuICAgIHJldHVybiBnZW9Kc29uUmVxdWlyZWRDb2x1bW5zO1xuICB9XG5cbiAgZ2V0IHZpc3VhbENoYW5uZWxzKCkge1xuICAgIGNvbnN0IHZpc3VhbENoYW5uZWxzID0gc3VwZXIudmlzdWFsQ2hhbm5lbHM7XG5cbiAgICByZXR1cm4ge1xuICAgICAgLi4udmlzdWFsQ2hhbm5lbHMsXG4gICAgICBjb2xvcjoge1xuICAgICAgICAuLi52aXN1YWxDaGFubmVscy5jb2xvcixcbiAgICAgICAgYWNjZXNzb3I6ICdnZXRDb2xvcicsXG4gICAgICAgIG51bGxWYWx1ZTogdmlzdWFsQ2hhbm5lbHMuY29sb3IubnVsbFZhbHVlLFxuICAgICAgICBnZXRBdHRyaWJ1dGVWYWx1ZTogY29uZmlnID0+IGQgPT4gZC5wcm9wZXJ0aWVzLmxpbmVDb2xvciB8fCBjb25maWcuY29sb3IsXG4gICAgICAgIC8vIHVzZWQgdGhpcyB0byBnZXQgdXBkYXRlVHJpZ2dlcnNcbiAgICAgICAgZGVmYXVsdFZhbHVlOiBjb25maWcgPT4gY29uZmlnLmNvbG9yXG4gICAgICB9LFxuICAgICAgc2l6ZToge1xuICAgICAgICAuLi52aXN1YWxDaGFubmVscy5zaXplLFxuICAgICAgICBwcm9wZXJ0eTogJ3N0cm9rZScsXG4gICAgICAgIGFjY2Vzc29yOiAnZ2V0V2lkdGgnLFxuICAgICAgICBjb25kaXRpb246IGNvbmZpZyA9PiBjb25maWcudmlzQ29uZmlnLnN0cm9rZWQsXG4gICAgICAgIG51bGxWYWx1ZTogMCxcbiAgICAgICAgZ2V0QXR0cmlidXRlVmFsdWU6ICgpID0+IGQgPT4gZC5wcm9wZXJ0aWVzLmxpbmVXaWR0aCB8fCBkZWZhdWx0TGluZVdpZHRoXG4gICAgICB9XG4gICAgfTtcbiAgfVxuXG4gIGdldCBhbmltYXRpb25Eb21haW4oKSB7XG4gICAgcmV0dXJuIHRoaXMuY29uZmlnLmFuaW1hdGlvbi5kb21haW47XG4gIH1cblxuICBnZXQgbGF5ZXJJbmZvTW9kYWwoKSB7XG4gICAgcmV0dXJuIHtcbiAgICAgIGlkOiAnaWNvbkluZm8nLFxuICAgICAgdGVtcGxhdGU6IHRoaXMuX2xheWVySW5mb01vZGFsLFxuICAgICAgbW9kYWxQcm9wczoge1xuICAgICAgICB0aXRsZTogJ21vZGFsLnRyaXBJbmZvLnRpdGxlJ1xuICAgICAgfVxuICAgIH07XG4gIH1cblxuICBnZXRQb3NpdGlvbkFjY2Vzc29yKGRhdGFDb250YWluZXIpIHtcbiAgICByZXR1cm4gdGhpcy5nZXRGZWF0dXJlKHRoaXMuY29uZmlnLmNvbHVtbnMpKGRhdGFDb250YWluZXIpO1xuICB9XG5cbiAgc3RhdGljIGZpbmREZWZhdWx0TGF5ZXJQcm9wcyh7bGFiZWwsIGZpZWxkcyA9IFtdLCBkYXRhQ29udGFpbmVyLCBpZH0sIGZvdW5kTGF5ZXJzKSB7XG4gICAgY29uc3QgZ2VvanNvbkNvbHVtbnMgPSBmaWVsZHMuZmlsdGVyKGYgPT4gZi50eXBlID09PSAnZ2VvanNvbicpLm1hcChmID0+IGYubmFtZSk7XG5cbiAgICBjb25zdCBkZWZhdWx0Q29sdW1ucyA9IHtcbiAgICAgIGdlb2pzb246IHVuaXEoWy4uLkdFT0pTT05fRklFTERTLmdlb2pzb24sIC4uLmdlb2pzb25Db2x1bW5zXSlcbiAgICB9O1xuXG4gICAgY29uc3QgZ2VvSnNvbkNvbHVtbnMgPSB0aGlzLmZpbmREZWZhdWx0Q29sdW1uRmllbGQoZGVmYXVsdENvbHVtbnMsIGZpZWxkcyk7XG5cbiAgICBjb25zdCB0cmlwQ29sdW1ucyA9IChnZW9Kc29uQ29sdW1ucyB8fCBbXSkuZmlsdGVyKGNvbCA9PlxuICAgICAgaXNUcmlwR2VvSnNvbkZpZWxkKGRhdGFDb250YWluZXIsIGZpZWxkc1tjb2wuZ2VvanNvbi5maWVsZElkeF0pXG4gICAgKTtcblxuICAgIGlmICghdHJpcENvbHVtbnMubGVuZ3RoKSB7XG4gICAgICByZXR1cm4ge3Byb3BzOiBbXX07XG4gICAgfVxuXG4gICAgcmV0dXJuIHtcbiAgICAgIHByb3BzOiB0cmlwQ29sdW1ucy5tYXAoY29sdW1ucyA9PiAoe1xuICAgICAgICBsYWJlbDogKHR5cGVvZiBsYWJlbCA9PT0gJ3N0cmluZycgJiYgbGFiZWwucmVwbGFjZSgvXFwuW14vLl0rJC8sICcnKSkgfHwgdGhpcy50eXBlLFxuICAgICAgICBjb2x1bW5zLFxuICAgICAgICBpc1Zpc2libGU6IHRydWVcbiAgICAgIH0pKSxcblxuICAgICAgLy8gaWYgYSBnZW9qc29uIGxheWVyIGlzIGNyZWF0ZWQgZnJvbSB0aGlzIGNvbHVtbiwgZGVsZXRlIGl0XG4gICAgICBmb3VuZExheWVyczogZm91bmRMYXllcnMuZmlsdGVyKFxuICAgICAgICBwcm9wID0+XG4gICAgICAgICAgcHJvcC50eXBlICE9PSAnZ2VvanNvbicgfHxcbiAgICAgICAgICBwcm9wLmRhdGFJZCAhPT0gaWQgfHxcbiAgICAgICAgICAhdHJpcENvbHVtbnMuZmluZChjID0+IHByb3AuY29sdW1ucy5nZW9qc29uLm5hbWUgPT09IGMuZ2VvanNvbi5uYW1lKVxuICAgICAgKVxuICAgIH07XG4gIH1cblxuICBnZXREZWZhdWx0TGF5ZXJDb25maWcocHJvcHMpIHtcbiAgICByZXR1cm4ge1xuICAgICAgLi4uc3VwZXIuZ2V0RGVmYXVsdExheWVyQ29uZmlnKHByb3BzKSxcbiAgICAgIGFuaW1hdGlvbjoge1xuICAgICAgICBlbmFibGVkOiB0cnVlLFxuICAgICAgICBkb21haW46IG51bGxcbiAgICAgIH1cbiAgICB9O1xuICB9XG5cbiAgZ2V0SG92ZXJEYXRhKG9iamVjdCwgZGF0YUNvbnRhaW5lcikge1xuICAgIC8vIGluZGV4IGZvciBkYXRhQ29udGFpbmVyIGlzIHNhdmVkIHRvIGZlYXR1cmUucHJvcGVydGllc1xuICAgIHJldHVybiBkYXRhQ29udGFpbmVyLnJvdyhvYmplY3QucHJvcGVydGllcy5pbmRleCk7XG4gIH1cblxuICBjYWxjdWxhdGVEYXRhQXR0cmlidXRlKHtkYXRhQ29udGFpbmVyLCBmaWx0ZXJlZEluZGV4fSwgZ2V0UG9zaXRpb24pIHtcbiAgICByZXR1cm4gZmlsdGVyZWRJbmRleFxuICAgICAgLm1hcChpID0+IHRoaXMuZGF0YVRvRmVhdHVyZVtpXSlcbiAgICAgIC5maWx0ZXIoZCA9PiBkICYmIGQuZ2VvbWV0cnkudHlwZSA9PT0gJ0xpbmVTdHJpbmcnKTtcbiAgfVxuXG4gIGZvcm1hdExheWVyRGF0YShkYXRhc2V0cywgb2xkTGF5ZXJEYXRhKSB7XG4gICAgLy8gdG8tZG86IHBhcnNlIHNlZ21lbnQgZnJvbSBkYXRhQ29udGFpbmVyXG4gICAgY29uc3Qge2RhdGFDb250YWluZXIsIGdwdUZpbHRlcn0gPSBkYXRhc2V0c1t0aGlzLmNvbmZpZy5kYXRhSWRdO1xuICAgIGNvbnN0IHtkYXRhfSA9IHRoaXMudXBkYXRlRGF0YShkYXRhc2V0cywgb2xkTGF5ZXJEYXRhKTtcblxuICAgIGNvbnN0IGN1c3RvbUZpbHRlclZhbHVlQWNjZXNzb3IgPSAoZGMsIGYsIGZpZWxkSW5kZXgpID0+IHtcbiAgICAgIHJldHVybiBkYy52YWx1ZUF0KGYucHJvcGVydGllcy5pbmRleCwgZmllbGRJbmRleCk7XG4gICAgfTtcbiAgICBjb25zdCBpbmRleEFjY2Vzc29yID0gZiA9PiBmLnByb3BlcnRpZXMuaW5kZXg7XG5cbiAgICBjb25zdCBkYXRhQWNjZXNzb3IgPSBkYyA9PiBkID0+ICh7aW5kZXg6IGQucHJvcGVydGllcy5pbmRleH0pO1xuICAgIGNvbnN0IGFjY2Vzc29ycyA9IHRoaXMuZ2V0QXR0cmlidXRlQWNjZXNzb3JzKHtkYXRhQWNjZXNzb3IsIGRhdGFDb250YWluZXJ9KTtcblxuICAgIHJldHVybiB7XG4gICAgICBkYXRhLFxuICAgICAgZ2V0RmlsdGVyVmFsdWU6IGdwdUZpbHRlci5maWx0ZXJWYWx1ZUFjY2Vzc29yKGRhdGFDb250YWluZXIpKFxuICAgICAgICBpbmRleEFjY2Vzc29yLFxuICAgICAgICBjdXN0b21GaWx0ZXJWYWx1ZUFjY2Vzc29yXG4gICAgICApLFxuICAgICAgZ2V0UGF0aDogZCA9PiBkLmdlb21ldHJ5LmNvb3JkaW5hdGVzLFxuICAgICAgZ2V0VGltZXN0YW1wczogZCA9PiB0aGlzLmRhdGFUb1RpbWVTdGFtcFtkLnByb3BlcnRpZXMuaW5kZXhdLFxuICAgICAgLi4uYWNjZXNzb3JzXG4gICAgfTtcbiAgfVxuXG4gIHVwZGF0ZUFuaW1hdGlvbkRvbWFpbihkb21haW4pIHtcbiAgICB0aGlzLnVwZGF0ZUxheWVyQ29uZmlnKHtcbiAgICAgIGFuaW1hdGlvbjoge1xuICAgICAgICAuLi50aGlzLmNvbmZpZy5hbmltYXRpb24sXG4gICAgICAgIGRvbWFpblxuICAgICAgfVxuICAgIH0pO1xuICB9XG5cbiAgdXBkYXRlTGF5ZXJNZXRhKGRhdGFDb250YWluZXIpIHtcbiAgICBjb25zdCBnZXRGZWF0dXJlID0gdGhpcy5nZXRQb3NpdGlvbkFjY2Vzc29yKGRhdGFDb250YWluZXIpO1xuICAgIGlmIChnZXRGZWF0dXJlID09PSB0aGlzLm1ldGEuZ2V0RmVhdHVyZSkge1xuICAgICAgLy8gVE9ETzogcmV2aXNpdCB0aGlzIGFmdGVyIGdwdSBmaWx0ZXJpbmdcbiAgICAgIHJldHVybjtcbiAgICB9XG5cbiAgICB0aGlzLmRhdGFUb0ZlYXR1cmUgPSBnZXRHZW9qc29uRGF0YU1hcHMoZGF0YUNvbnRhaW5lciwgZ2V0RmVhdHVyZSk7XG5cbiAgICBjb25zdCB7ZGF0YVRvVGltZVN0YW1wLCBhbmltYXRpb25Eb21haW59ID0gcGFyc2VUcmlwR2VvSnNvblRpbWVzdGFtcCh0aGlzLmRhdGFUb0ZlYXR1cmUpO1xuXG4gICAgdGhpcy5kYXRhVG9UaW1lU3RhbXAgPSBkYXRhVG9UaW1lU3RhbXA7XG4gICAgdGhpcy51cGRhdGVBbmltYXRpb25Eb21haW4oYW5pbWF0aW9uRG9tYWluKTtcblxuICAgIC8vIGdldCBib3VuZHMgZnJvbSBmZWF0dXJlc1xuICAgIGNvbnN0IGJvdW5kcyA9IGdldEdlb2pzb25Cb3VuZHModGhpcy5kYXRhVG9GZWF0dXJlKTtcblxuICAgIC8vIGtlZXAgYSByZWNvcmQgb2Ygd2hhdCB0eXBlIG9mIGdlb21ldHJ5IHRoZSBjb2xsZWN0aW9uIGhhc1xuICAgIGNvbnN0IGZlYXR1cmVUeXBlcyA9IGdldEdlb2pzb25GZWF0dXJlVHlwZXModGhpcy5kYXRhVG9GZWF0dXJlKTtcblxuICAgIHRoaXMudXBkYXRlTWV0YSh7Ym91bmRzLCBmZWF0dXJlVHlwZXMsIGdldEZlYXR1cmV9KTtcbiAgfVxuXG4gIHNldEluaXRpYWxMYXllckNvbmZpZyh7ZGF0YUNvbnRhaW5lcn0pIHtcbiAgICB0aGlzLnVwZGF0ZUxheWVyTWV0YShkYXRhQ29udGFpbmVyKTtcbiAgICByZXR1cm4gdGhpcztcbiAgfVxuXG4gIHJlbmRlckxheWVyKG9wdHMpIHtcbiAgICBjb25zdCB7ZGF0YSwgZ3B1RmlsdGVyLCBtYXBTdGF0ZSwgYW5pbWF0aW9uQ29uZmlnfSA9IG9wdHM7XG4gICAgY29uc3Qge3Zpc0NvbmZpZ30gPSB0aGlzLmNvbmZpZztcbiAgICBjb25zdCB6b29tRmFjdG9yID0gdGhpcy5nZXRab29tRmFjdG9yKG1hcFN0YXRlKTtcbiAgICBjb25zdCBpc1ZhbGlkVGltZSA9XG4gICAgICBhbmltYXRpb25Db25maWcgJiZcbiAgICAgIEFycmF5LmlzQXJyYXkoYW5pbWF0aW9uQ29uZmlnLmRvbWFpbikgJiZcbiAgICAgIGFuaW1hdGlvbkNvbmZpZy5kb21haW4uZXZlcnkoTnVtYmVyLmlzRmluaXRlKSAmJlxuICAgICAgTnVtYmVyLmlzRmluaXRlKGFuaW1hdGlvbkNvbmZpZy5jdXJyZW50VGltZSk7XG5cbiAgICBpZiAoIWlzVmFsaWRUaW1lKSB7XG4gICAgICByZXR1cm4gW107XG4gICAgfVxuXG4gICAgY29uc3QgZG9tYWluMCA9IGFuaW1hdGlvbkNvbmZpZy5kb21haW4/LlswXTtcblxuICAgIGNvbnN0IHVwZGF0ZVRyaWdnZXJzID0ge1xuICAgICAgLi4udGhpcy5nZXRWaXN1YWxDaGFubmVsVXBkYXRlVHJpZ2dlcnMoKSxcbiAgICAgIGdldFRpbWVzdGFtcHM6IHtcbiAgICAgICAgY29sdW1uczogdGhpcy5jb25maWcuY29sdW1ucyxcbiAgICAgICAgZG9tYWluMFxuICAgICAgfSxcbiAgICAgIGdldEZpbHRlclZhbHVlOiBncHVGaWx0ZXIuZmlsdGVyVmFsdWVVcGRhdGVUcmlnZ2Vyc1xuICAgIH07XG4gICAgY29uc3QgZGVmYXVsdExheWVyUHJvcHMgPSB0aGlzLmdldERlZmF1bHREZWNrTGF5ZXJQcm9wcyhvcHRzKTtcblxuICAgIHJldHVybiBbXG4gICAgICBuZXcgRGVja0dMVHJpcHNMYXllcih7XG4gICAgICAgIC4uLmRlZmF1bHRMYXllclByb3BzLFxuICAgICAgICAuLi5kYXRhLFxuICAgICAgICBnZXRUaW1lc3RhbXBzOiBkID0+IGRhdGEuZ2V0VGltZXN0YW1wcyhkKS5tYXAodHMgPT4gdHMgLSBkb21haW4wKSxcbiAgICAgICAgd2lkdGhTY2FsZTogdGhpcy5jb25maWcudmlzQ29uZmlnLnRoaWNrbmVzcyAqIHpvb21GYWN0b3IgKiB6b29tRmFjdG9yVmFsdWUsXG4gICAgICAgIHJvdW5kZWQ6IHRydWUsXG4gICAgICAgIHdyYXBMb25naXR1ZGU6IGZhbHNlLFxuICAgICAgICBwYXJhbWV0ZXJzOiB7XG4gICAgICAgICAgZGVwdGhUZXN0OiBtYXBTdGF0ZS5kcmFnUm90YXRlLFxuICAgICAgICAgIGRlcHRoTWFzazogZmFsc2VcbiAgICAgICAgfSxcbiAgICAgICAgdHJhaWxMZW5ndGg6IHZpc0NvbmZpZy50cmFpbExlbmd0aCAqIDEwMDAsXG4gICAgICAgIGN1cnJlbnRUaW1lOiBhbmltYXRpb25Db25maWcuY3VycmVudFRpbWUgLSBkb21haW4wLFxuICAgICAgICB1cGRhdGVUcmlnZ2Vyc1xuICAgICAgfSlcbiAgICBdO1xuICB9XG59XG4iXX0=
|
|
403
|
+
//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIi4uLy4uLy4uL3NyYy9sYXllcnMvdHJpcC1sYXllci90cmlwLWxheWVyLmpzIl0sIm5hbWVzIjpbInpvb21GYWN0b3JWYWx1ZSIsImRlZmF1bHRUaGlja25lc3MiLCJkZWZhdWx0TGluZVdpZHRoIiwidHJpcFZpc0NvbmZpZ3MiLCJvcGFjaXR5IiwidGhpY2tuZXNzIiwidHlwZSIsImRlZmF1bHRWYWx1ZSIsImxhYmVsIiwiaXNSYW5nZWQiLCJyYW5nZSIsInN0ZXAiLCJncm91cCIsInByb3BlcnR5IiwiY29sb3JSYW5nZSIsInRyYWlsTGVuZ3RoIiwic2l6ZVJhbmdlIiwiZ2VvSnNvblJlcXVpcmVkQ29sdW1ucyIsImZlYXR1cmVBY2Nlc3NvciIsImdlb2pzb24iLCJkYyIsImQiLCJ2YWx1ZUF0IiwiaW5kZXgiLCJmaWVsZElkeCIsImZlYXR1cmVSZXNvbHZlciIsIlRyaXBMYXllciIsInByb3BzIiwiZGF0YVRvRmVhdHVyZSIsImRhdGFUb1RpbWVTdGFtcCIsInJlZ2lzdGVyVmlzQ29uZmlnIiwiZ2V0RmVhdHVyZSIsIl9sYXllckluZm9Nb2RhbCIsIlRyaXBMYXllckljb24iLCJ2aXN1YWxDaGFubmVscyIsImNvbG9yIiwiYWNjZXNzb3IiLCJudWxsVmFsdWUiLCJnZXRBdHRyaWJ1dGVWYWx1ZSIsImNvbmZpZyIsInByb3BlcnRpZXMiLCJsaW5lQ29sb3IiLCJzaXplIiwiY29uZGl0aW9uIiwidmlzQ29uZmlnIiwic3Ryb2tlZCIsImxpbmVXaWR0aCIsImFuaW1hdGlvbiIsImRvbWFpbiIsImlkIiwidGVtcGxhdGUiLCJtb2RhbFByb3BzIiwidGl0bGUiLCJkYXRhQ29udGFpbmVyIiwiY29sdW1ucyIsImVuYWJsZWQiLCJvYmplY3QiLCJyb3ciLCJnZXRQb3NpdGlvbiIsImZpbHRlcmVkSW5kZXgiLCJtYXAiLCJpIiwiZmlsdGVyIiwiZ2VvbWV0cnkiLCJkYXRhc2V0cyIsIm9sZExheWVyRGF0YSIsImRhdGFJZCIsImdwdUZpbHRlciIsInVwZGF0ZURhdGEiLCJkYXRhIiwiY3VzdG9tRmlsdGVyVmFsdWVBY2Nlc3NvciIsImYiLCJmaWVsZEluZGV4IiwiaW5kZXhBY2Nlc3NvciIsImRhdGFBY2Nlc3NvciIsImFjY2Vzc29ycyIsImdldEF0dHJpYnV0ZUFjY2Vzc29ycyIsImdldEZpbHRlclZhbHVlIiwiZmlsdGVyVmFsdWVBY2Nlc3NvciIsImdldFBhdGgiLCJjb29yZGluYXRlcyIsImdldFRpbWVzdGFtcHMiLCJ1cGRhdGVMYXllckNvbmZpZyIsImdldFBvc2l0aW9uQWNjZXNzb3IiLCJtZXRhIiwiYW5pbWF0aW9uRG9tYWluIiwidXBkYXRlQW5pbWF0aW9uRG9tYWluIiwiYm91bmRzIiwiZmVhdHVyZVR5cGVzIiwidXBkYXRlTWV0YSIsInVwZGF0ZUxheWVyTWV0YSIsIm9wdHMiLCJtYXBTdGF0ZSIsImFuaW1hdGlvbkNvbmZpZyIsInpvb21GYWN0b3IiLCJnZXRab29tRmFjdG9yIiwiaXNWYWxpZFRpbWUiLCJBcnJheSIsImlzQXJyYXkiLCJldmVyeSIsIk51bWJlciIsImlzRmluaXRlIiwiY3VycmVudFRpbWUiLCJkb21haW4wIiwidXBkYXRlVHJpZ2dlcnMiLCJnZXRWaXN1YWxDaGFubmVsVXBkYXRlVHJpZ2dlcnMiLCJmaWx0ZXJWYWx1ZVVwZGF0ZVRyaWdnZXJzIiwiZGVmYXVsdExheWVyUHJvcHMiLCJnZXREZWZhdWx0RGVja0xheWVyUHJvcHMiLCJEZWNrR0xUcmlwc0xheWVyIiwidHMiLCJ3aWR0aFNjYWxlIiwid2lkdGhVbml0cyIsInJvdW5kZWQiLCJ3cmFwTG9uZ2l0dWRlIiwicGFyYW1ldGVycyIsImRlcHRoVGVzdCIsImRyYWdSb3RhdGUiLCJkZXB0aE1hc2siLCJmb3VuZExheWVycyIsImZpZWxkcyIsImdlb2pzb25Db2x1bW5zIiwibmFtZSIsImRlZmF1bHRDb2x1bW5zIiwiR0VPSlNPTl9GSUVMRFMiLCJnZW9Kc29uQ29sdW1ucyIsImZpbmREZWZhdWx0Q29sdW1uRmllbGQiLCJ0cmlwQ29sdW1ucyIsImNvbCIsImxlbmd0aCIs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TUFBakIsRUFBeUI7QUFDdkIsZUFBTztBQUFDdEcsVUFBQUEsS0FBSyxFQUFFO0FBQVIsU0FBUDtBQUNEOztBQUVELGFBQU87QUFDTEEsUUFBQUEsS0FBSyxFQUFFb0csV0FBVyxDQUFDbkUsR0FBWixDQUFnQixVQUFBTixPQUFPO0FBQUEsaUJBQUs7QUFDakM5QyxZQUFBQSxLQUFLLEVBQUcsT0FBT0EsS0FBUCxLQUFpQixRQUFqQixJQUE2QkEsS0FBSyxDQUFDMEgsT0FBTixDQUFjLFdBQWQsRUFBMkIsRUFBM0IsQ0FBOUIsSUFBaUUsTUFBSSxDQUFDNUgsSUFENUM7QUFFakNnRCxZQUFBQSxPQUFPLEVBQVBBLE9BRmlDO0FBR2pDNkUsWUFBQUEsU0FBUyxFQUFFO0FBSHNCLFdBQUw7QUFBQSxTQUF2QixDQURGO0FBT0w7QUFDQVosUUFBQUEsV0FBVyxFQUFFQSxXQUFXLENBQUN6RCxNQUFaLENBQ1gsVUFBQXNFLElBQUk7QUFBQSxpQkFDRkEsSUFBSSxDQUFDOUgsSUFBTCxLQUFjLFNBQWQsSUFDQThILElBQUksQ0FBQ2xFLE1BQUwsS0FBZ0JqQixFQURoQixJQUVBLENBQUM4RSxXQUFXLENBQUNNLElBQVosQ0FBaUIsVUFBQUMsQ0FBQztBQUFBLG1CQUFJRixJQUFJLENBQUM5RSxPQUFMLENBQWFuQyxPQUFiLENBQXFCdUcsSUFBckIsS0FBOEJZLENBQUMsQ0FBQ25ILE9BQUYsQ0FBVXVHLElBQTVDO0FBQUEsV0FBbEIsQ0FIQztBQUFBLFNBRE87QUFSUixPQUFQO0FBZUQ7OztFQXJHb0NhLHFCIiwic291cmNlc0NvbnRlbnQiOlsiLy8gQ29weXJpZ2h0IChjKSAyMDIyIFViZXIgVGVjaG5vbG9naWVzLCBJbmMuXG4vL1xuLy8gUGVybWlzc2lvbiBpcyBoZXJlYnkgZ3JhbnRlZCwgZnJlZSBvZiBjaGFyZ2UsIHRvIGFueSBwZXJzb24gb2J0YWluaW5nIGEgY29weVxuLy8gb2YgdGhpcyBzb2Z0d2FyZSBhbmQgYXNzb2NpYXRlZCBkb2N1bWVudGF0aW9uIGZpbGVzICh0aGUgXCJTb2Z0d2FyZVwiKSwgdG8gZGVhbFxuLy8gaW4gdGhlIFNvZnR3YXJlIHdpdGhvdXQgcmVzdHJpY3Rpb24sIGluY2x1ZGluZyB3aXRob3V0IGxpbWl0YXRpb24gdGhlIHJpZ2h0c1xuLy8gdG8gdXNlLCBjb3B5LCBtb2RpZnksIG1lcmdlLCBwdWJsaXNoLCBkaXN0cmlidXRlLCBzdWJsaWNlbnNlLCBhbmQvb3Igc2VsbFxuLy8gY29waWVzIG9mIHRoZSBTb2Z0d2FyZSwgYW5kIHRvIHBlcm1pdCBwZXJzb25zIHRvIHdob20gdGhlIFNvZnR3YXJlIGlzXG4vLyBmdXJuaXNoZWQgdG8gZG8gc28sIHN1YmplY3QgdG8gdGhlIGZvbGxvd2luZyBjb25kaXRpb25zOlxuLy9cbi8vIFRoZSBhYm92ZSBjb3B5cmlnaHQgbm90aWNlIGFuZCB0aGlzIHBlcm1pc3Npb24gbm90aWNlIHNoYWxsIGJlIGluY2x1ZGVkIGluXG4vLyBhbGwgY29waWVzIG9yIHN1YnN0YW50aWFsIHBvcnRpb25zIG9mIHRoZSBTb2Z0d2FyZS5cbi8vXG4vLyBUSEUgU09GVFdBUkUgSVMgUFJPVklERUQgXCJBUyBJU1wiLCBXSVRIT1VUIFdBUlJBTlRZIE9GIEFOWSBLSU5ELCBFWFBSRVNTIE9SXG4vLyBJTVBMSUVELCBJTkNMVURJTkcgQlVUIE5PVCBMSU1JVEVEIFRPIFRIRSBXQVJSQU5USUVTIE9GIE1FUkNIQU5UQUJJTElUWSxcbi8vIEZJVE5FU1MgRk9SIEEgUEFSVElDVUxBUiBQVVJQT1NFIEFORCBOT05JTkZSSU5HRU1FTlQuIElOIE5PIEVWRU5UIFNIQUxMIFRIRVxuLy8gQVVUSE9SUyBPUiBDT1BZUklHSFQgSE9MREVSUyBCRSBMSUFCTEUgRk9SIEFOWSBDTEFJTSwgREFNQUdFUyBPUiBPVEhFUlxuLy8gTElBQklMSVRZLCBXSEVUSEVSIElOIEFOIEFDVElPTiBPRiBDT05UUkFDVCwgVE9SVCBPUiBPVEhFUldJU0UsIEFSSVNJTkcgRlJPTSxcbi8vIE9VVCBPRiBPUiBJTiBDT05ORUNUSU9OIFdJVEggVEhFIFNPRlRXQVJFIE9SIFRIRSBVU0UgT1IgT1RIRVIgREVBTElOR1MgSU5cbi8vIFRIRSBTT0ZUV0FSRS5cblxuaW1wb3J0IG1lbW9pemUgZnJvbSAnbG9kYXNoLm1lbW9pemUnO1xuaW1wb3J0IHVuaXEgZnJvbSAnbG9kYXNoLnVuaXEnO1xuaW1wb3J0IExheWVyIGZyb20gJy4uL2Jhc2UtbGF5ZXInO1xuaW1wb3J0IHtUcmlwc0xheWVyIGFzIERlY2tHTFRyaXBzTGF5ZXJ9IGZyb20gJ0BkZWNrLmdsL2dlby1sYXllcnMnO1xuXG5pbXBvcnQge0dFT0pTT05fRklFTERTfSBmcm9tICdjb25zdGFudHMvZGVmYXVsdC1zZXR0aW5ncyc7XG5pbXBvcnQgVHJpcExheWVySWNvbiBmcm9tICcuL3RyaXAtbGF5ZXItaWNvbic7XG5cbmltcG9ydCB7XG4gIGdldEdlb2pzb25EYXRhTWFwcyxcbiAgZ2V0R2VvanNvbkJvdW5kcyxcbiAgZ2V0R2VvanNvbkZlYXR1cmVUeXBlc1xufSBmcm9tICdsYXllcnMvZ2VvanNvbi1sYXllci9nZW9qc29uLXV0aWxzJztcblxuaW1wb3J0IHtpc1RyaXBHZW9Kc29uRmllbGQsIHBhcnNlVHJpcEdlb0pzb25UaW1lc3RhbXB9IGZyb20gJy4vdHJpcC11dGlscyc7XG5pbXBvcnQgVHJpcEluZm9Nb2RhbEZhY3RvcnkgZnJvbSAnLi90cmlwLWluZm8tbW9kYWwnO1xuXG5jb25zdCB6b29tRmFjdG9yVmFsdWUgPSA4O1xuXG5leHBvcnQgY29uc3QgZGVmYXVsdFRoaWNrbmVzcyA9IDAuNTtcbmV4cG9ydCBjb25zdCBkZWZhdWx0TGluZVdpZHRoID0gMTtcblxuZXhwb3J0IGNvbnN0IHRyaXBWaXNDb25maWdzID0ge1xuICBvcGFjaXR5OiAnb3BhY2l0eScsXG4gIHRoaWNrbmVzczoge1xuICAgIHR5cGU6ICdudW1iZXInLFxuICAgIGRlZmF1bHRWYWx1ZTogZGVmYXVsdFRoaWNrbmVzcyxcbiAgICBsYWJlbDogJ1N0cm9rZSBXaWR0aCcsXG4gICAgaXNSYW5nZWQ6IGZhbHNlLFxuICAgIHJhbmdlOiBbMCwgMTAwXSxcbiAgICBzdGVwOiAwLjEsXG4gICAgZ3JvdXA6ICdzdHJva2UnLFxuICAgIHByb3BlcnR5OiAndGhpY2tuZXNzJ1xuICB9LFxuICBjb2xvclJhbmdlOiAnY29sb3JSYW5nZScsXG4gIHRyYWlsTGVuZ3RoOiAndHJhaWxMZW5ndGgnLFxuICBzaXplUmFuZ2U6ICdzdHJva2VXaWR0aFJhbmdlJ1xufTtcblxuZXhwb3J0IGNvbnN0IGdlb0pzb25SZXF1aXJlZENvbHVtbnMgPSBbJ2dlb2pzb24nXTtcbmV4cG9ydCBjb25zdCBmZWF0dXJlQWNjZXNzb3IgPSAoe2dlb2pzb259KSA9PiBkYyA9PiBkID0+IGRjLnZhbHVlQXQoZC5pbmRleCwgZ2VvanNvbi5maWVsZElkeCk7XG5leHBvcnQgY29uc3QgZmVhdHVyZVJlc29sdmVyID0gKHtnZW9qc29ufSkgPT4gZ2VvanNvbi5maWVsZElkeDtcblxuZXhwb3J0IGRlZmF1bHQgY2xhc3MgVHJpcExheWVyIGV4dGVuZHMgTGF5ZXIge1xuICBjb25zdHJ1Y3Rvcihwcm9wcykge1xuICAgIHN1cGVyKHByb3BzKTtcblxuICAgIHRoaXMuZGF0YVRvRmVhdHVyZSA9IFtdO1xuICAgIHRoaXMuZGF0YVRvVGltZVN0YW1wID0gW107XG4gICAgdGhpcy5yZWdpc3RlclZpc0NvbmZpZyh0cmlwVmlzQ29uZmlncyk7XG4gICAgdGhpcy5nZXRGZWF0dXJlID0gbWVtb2l6ZShmZWF0dXJlQWNjZXNzb3IsIGZlYXR1cmVSZXNvbHZlcik7XG4gICAgdGhpcy5fbGF5ZXJJbmZvTW9kYWwgPSBUcmlwSW5mb01vZGFsRmFjdG9yeSgpO1xuICB9XG5cbiAgZ2V0IHR5cGUoKSB7XG4gICAgcmV0dXJuICd0cmlwJztcbiAgfVxuXG4gIGdldCBuYW1lKCkge1xuICAgIHJldHVybiAnVHJpcCc7XG4gIH1cblxuICBnZXQgbGF5ZXJJY29uKCkge1xuICAgIHJldHVybiBUcmlwTGF5ZXJJY29uO1xuICB9XG5cbiAgZ2V0IHJlcXVpcmVkTGF5ZXJDb2x1bW5zKCkge1xuICAgIHJldHVybiBnZW9Kc29uUmVxdWlyZWRDb2x1bW5zO1xuICB9XG5cbiAgZ2V0IHZpc3VhbENoYW5uZWxzKCkge1xuICAgIGNvbnN0IHZpc3VhbENoYW5uZWxzID0gc3VwZXIudmlzdWFsQ2hhbm5lbHM7XG5cbiAgICByZXR1cm4ge1xuICAgICAgLi4udmlzdWFsQ2hhbm5lbHMsXG4gICAgICBjb2xvcjoge1xuICAgICAgICAuLi52aXN1YWxDaGFubmVscy5jb2xvcixcbiAgICAgICAgYWNjZXNzb3I6ICdnZXRDb2xvcicsXG4gICAgICAgIG51bGxWYWx1ZTogdmlzdWFsQ2hhbm5lbHMuY29sb3IubnVsbFZhbHVlLFxuICAgICAgICBnZXRBdHRyaWJ1dGVWYWx1ZTogY29uZmlnID0+IGQgPT4gZC5wcm9wZXJ0aWVzLmxpbmVDb2xvciB8fCBjb25maWcuY29sb3IsXG4gICAgICAgIC8vIHVzZWQgdGhpcyB0byBnZXQgdXBkYXRlVHJpZ2dlcnNcbiAgICAgICAgZGVmYXVsdFZhbHVlOiBjb25maWcgPT4gY29uZmlnLmNvbG9yXG4gICAgICB9LFxuICAgICAgc2l6ZToge1xuICAgICAgICAuLi52aXN1YWxDaGFubmVscy5zaXplLFxuICAgICAgICBwcm9wZXJ0eTogJ3N0cm9rZScsXG4gICAgICAgIGFjY2Vzc29yOiAnZ2V0V2lkdGgnLFxuICAgICAgICBjb25kaXRpb246IGNvbmZpZyA9PiBjb25maWcudmlzQ29uZmlnLnN0cm9rZWQsXG4gICAgICAgIG51bGxWYWx1ZTogMCxcbiAgICAgICAgZ2V0QXR0cmlidXRlVmFsdWU6ICgpID0+IGQgPT4gZC5wcm9wZXJ0aWVzLmxpbmVXaWR0aCB8fCBkZWZhdWx0TGluZVdpZHRoXG4gICAgICB9XG4gICAgfTtcbiAgfVxuXG4gIGdldCBhbmltYXRpb25Eb21haW4oKSB7XG4gICAgcmV0dXJuIHRoaXMuY29uZmlnLmFuaW1hdGlvbi5kb21haW47XG4gIH1cblxuICBnZXQgbGF5ZXJJbmZvTW9kYWwoKSB7XG4gICAgcmV0dXJuIHtcbiAgICAgIGlkOiAnaWNvbkluZm8nLFxuICAgICAgdGVtcGxhdGU6IHRoaXMuX2xheWVySW5mb01vZGFsLFxuICAgICAgbW9kYWxQcm9wczoge1xuICAgICAgICB0aXRsZTogJ21vZGFsLnRyaXBJbmZvLnRpdGxlJ1xuICAgICAgfVxuICAgIH07XG4gIH1cblxuICBnZXRQb3NpdGlvbkFjY2Vzc29yKGRhdGFDb250YWluZXIpIHtcbiAgICByZXR1cm4gdGhpcy5nZXRGZWF0dXJlKHRoaXMuY29uZmlnLmNvbHVtbnMpKGRhdGFDb250YWluZXIpO1xuICB9XG5cbiAgc3RhdGljIGZpbmREZWZhdWx0TGF5ZXJQcm9wcyh7bGFiZWwsIGZpZWxkcyA9IFtdLCBkYXRhQ29udGFpbmVyLCBpZH0sIGZvdW5kTGF5ZXJzKSB7XG4gICAgY29uc3QgZ2VvanNvbkNvbHVtbnMgPSBmaWVsZHMuZmlsdGVyKGYgPT4gZi50eXBlID09PSAnZ2VvanNvbicpLm1hcChmID0+IGYubmFtZSk7XG5cbiAgICBjb25zdCBkZWZhdWx0Q29sdW1ucyA9IHtcbiAgICAgIGdlb2pzb246IHVuaXEoWy4uLkdFT0pTT05fRklFTERTLmdlb2pzb24sIC4uLmdlb2pzb25Db2x1bW5zXSlcbiAgICB9O1xuXG4gICAgY29uc3QgZ2VvSnNvbkNvbHVtbnMgPSB0aGlzLmZpbmREZWZhdWx0Q29sdW1uRmllbGQoZGVmYXVsdENvbHVtbnMsIGZpZWxkcyk7XG5cbiAgICBjb25zdCB0cmlwQ29sdW1ucyA9IChnZW9Kc29uQ29sdW1ucyB8fCBbXSkuZmlsdGVyKGNvbCA9PlxuICAgICAgaXNUcmlwR2VvSnNvbkZpZWxkKGRhdGFDb250YWluZXIsIGZpZWxkc1tjb2wuZ2VvanNvbi5maWVsZElkeF0pXG4gICAgKTtcblxuICAgIGlmICghdHJpcENvbHVtbnMubGVuZ3RoKSB7XG4gICAgICByZXR1cm4ge3Byb3BzOiBbXX07XG4gICAgfVxuXG4gICAgcmV0dXJuIHtcbiAgICAgIHByb3BzOiB0cmlwQ29sdW1ucy5tYXAoY29sdW1ucyA9PiAoe1xuICAgICAgICBsYWJlbDogKHR5cGVvZiBsYWJlbCA9PT0gJ3N0cmluZycgJiYgbGFiZWwucmVwbGFjZSgvXFwuW14vLl0rJC8sICcnKSkgfHwgdGhpcy50eXBlLFxuICAgICAgICBjb2x1bW5zLFxuICAgICAgICBpc1Zpc2libGU6IHRydWVcbiAgICAgIH0pKSxcblxuICAgICAgLy8gaWYgYSBnZW9qc29uIGxheWVyIGlzIGNyZWF0ZWQgZnJvbSB0aGlzIGNvbHVtbiwgZGVsZXRlIGl0XG4gICAgICBmb3VuZExheWVyczogZm91bmRMYXllcnMuZmlsdGVyKFxuICAgICAgICBwcm9wID0+XG4gICAgICAgICAgcHJvcC50eXBlICE9PSAnZ2VvanNvbicgfHxcbiAgICAgICAgICBwcm9wLmRhdGFJZCAhPT0gaWQgfHxcbiAgICAgICAgICAhdHJpcENvbHVtbnMuZmluZChjID0+IHByb3AuY29sdW1ucy5nZW9qc29uLm5hbWUgPT09IGMuZ2VvanNvbi5uYW1lKVxuICAgICAgKVxuICAgIH07XG4gIH1cblxuICBnZXREZWZhdWx0TGF5ZXJDb25maWcocHJvcHMpIHtcbiAgICByZXR1cm4ge1xuICAgICAgLi4uc3VwZXIuZ2V0RGVmYXVsdExheWVyQ29uZmlnKHByb3BzKSxcbiAgICAgIGFuaW1hdGlvbjoge1xuICAgICAgICBlbmFibGVkOiB0cnVlLFxuICAgICAgICBkb21haW46IG51bGxcbiAgICAgIH1cbiAgICB9O1xuICB9XG5cbiAgZ2V0SG92ZXJEYXRhKG9iamVjdCwgZGF0YUNvbnRhaW5lcikge1xuICAgIC8vIGluZGV4IGZvciBkYXRhQ29udGFpbmVyIGlzIHNhdmVkIHRvIGZlYXR1cmUucHJvcGVydGllc1xuICAgIHJldHVybiBkYXRhQ29udGFpbmVyLnJvdyhvYmplY3QucHJvcGVydGllcy5pbmRleCk7XG4gIH1cblxuICBjYWxjdWxhdGVEYXRhQXR0cmlidXRlKHtkYXRhQ29udGFpbmVyLCBmaWx0ZXJlZEluZGV4fSwgZ2V0UG9zaXRpb24pIHtcbiAgICByZXR1cm4gZmlsdGVyZWRJbmRleFxuICAgICAgLm1hcChpID0+IHRoaXMuZGF0YVRvRmVhdHVyZVtpXSlcbiAgICAgIC5maWx0ZXIoZCA9PiBkICYmIGQuZ2VvbWV0cnkudHlwZSA9PT0gJ0xpbmVTdHJpbmcnKTtcbiAgfVxuXG4gIGZvcm1hdExheWVyRGF0YShkYXRhc2V0cywgb2xkTGF5ZXJEYXRhKSB7XG4gICAgLy8gdG8tZG86IHBhcnNlIHNlZ21lbnQgZnJvbSBkYXRhQ29udGFpbmVyXG4gICAgY29uc3Qge2RhdGFDb250YWluZXIsIGdwdUZpbHRlcn0gPSBkYXRhc2V0c1t0aGlzLmNvbmZpZy5kYXRhSWRdO1xuICAgIGNvbnN0IHtkYXRhfSA9IHRoaXMudXBkYXRlRGF0YShkYXRhc2V0cywgb2xkTGF5ZXJEYXRhKTtcblxuICAgIGNvbnN0IGN1c3RvbUZpbHRlclZhbHVlQWNjZXNzb3IgPSAoZGMsIGYsIGZpZWxkSW5kZXgpID0+IHtcbiAgICAgIHJldHVybiBkYy52YWx1ZUF0KGYucHJvcGVydGllcy5pbmRleCwgZmllbGRJbmRleCk7XG4gICAgfTtcbiAgICBjb25zdCBpbmRleEFjY2Vzc29yID0gZiA9PiBmLnByb3BlcnRpZXMuaW5kZXg7XG5cbiAgICBjb25zdCBkYXRhQWNjZXNzb3IgPSBkYyA9PiBkID0+ICh7aW5kZXg6IGQucHJvcGVydGllcy5pbmRleH0pO1xuICAgIGNvbnN0IGFjY2Vzc29ycyA9IHRoaXMuZ2V0QXR0cmlidXRlQWNjZXNzb3JzKHtkYXRhQWNjZXNzb3IsIGRhdGFDb250YWluZXJ9KTtcblxuICAgIHJldHVybiB7XG4gICAgICBkYXRhLFxuICAgICAgZ2V0RmlsdGVyVmFsdWU6IGdwdUZpbHRlci5maWx0ZXJWYWx1ZUFjY2Vzc29yKGRhdGFDb250YWluZXIpKFxuICAgICAgICBpbmRleEFjY2Vzc29yLFxuICAgICAgICBjdXN0b21GaWx0ZXJWYWx1ZUFjY2Vzc29yXG4gICAgICApLFxuICAgICAgZ2V0UGF0aDogZCA9PiBkLmdlb21ldHJ5LmNvb3JkaW5hdGVzLFxuICAgICAgZ2V0VGltZXN0YW1wczogZCA9PiB0aGlzLmRhdGFUb1RpbWVTdGFtcFtkLnByb3BlcnRpZXMuaW5kZXhdLFxuICAgICAgLi4uYWNjZXNzb3JzXG4gICAgfTtcbiAgfVxuXG4gIHVwZGF0ZUFuaW1hdGlvbkRvbWFpbihkb21haW4pIHtcbiAgICB0aGlzLnVwZGF0ZUxheWVyQ29uZmlnKHtcbiAgICAgIGFuaW1hdGlvbjoge1xuICAgICAgICAuLi50aGlzLmNvbmZpZy5hbmltYXRpb24sXG4gICAgICAgIGRvbWFpblxuICAgICAgfVxuICAgIH0pO1xuICB9XG5cbiAgdXBkYXRlTGF5ZXJNZXRhKGRhdGFDb250YWluZXIpIHtcbiAgICBjb25zdCBnZXRGZWF0dXJlID0gdGhpcy5nZXRQb3NpdGlvbkFjY2Vzc29yKGRhdGFDb250YWluZXIpO1xuICAgIGlmIChnZXRGZWF0dXJlID09PSB0aGlzLm1ldGEuZ2V0RmVhdHVyZSkge1xuICAgICAgLy8gVE9ETzogcmV2aXNpdCB0aGlzIGFmdGVyIGdwdSBmaWx0ZXJpbmdcbiAgICAgIHJldHVybjtcbiAgICB9XG5cbiAgICB0aGlzLmRhdGFUb0ZlYXR1cmUgPSBnZXRHZW9qc29uRGF0YU1hcHMoZGF0YUNvbnRhaW5lciwgZ2V0RmVhdHVyZSk7XG5cbiAgICBjb25zdCB7ZGF0YVRvVGltZVN0YW1wLCBhbmltYXRpb25Eb21haW59ID0gcGFyc2VUcmlwR2VvSnNvblRpbWVzdGFtcCh0aGlzLmRhdGFUb0ZlYXR1cmUpO1xuXG4gICAgdGhpcy5kYXRhVG9UaW1lU3RhbXAgPSBkYXRhVG9UaW1lU3RhbXA7XG4gICAgdGhpcy51cGRhdGVBbmltYXRpb25Eb21haW4oYW5pbWF0aW9uRG9tYWluKTtcblxuICAgIC8vIGdldCBib3VuZHMgZnJvbSBmZWF0dXJlc1xuICAgIGNvbnN0IGJvdW5kcyA9IGdldEdlb2pzb25Cb3VuZHModGhpcy5kYXRhVG9GZWF0dXJlKTtcblxuICAgIC8vIGtlZXAgYSByZWNvcmQgb2Ygd2hhdCB0eXBlIG9mIGdlb21ldHJ5IHRoZSBjb2xsZWN0aW9uIGhhc1xuICAgIGNvbnN0IGZlYXR1cmVUeXBlcyA9IGdldEdlb2pzb25GZWF0dXJlVHlwZXModGhpcy5kYXRhVG9GZWF0dXJlKTtcblxuICAgIHRoaXMudXBkYXRlTWV0YSh7Ym91bmRzLCBmZWF0dXJlVHlwZXMsIGdldEZlYXR1cmV9KTtcbiAgfVxuXG4gIHNldEluaXRpYWxMYXllckNvbmZpZyh7ZGF0YUNvbnRhaW5lcn0pIHtcbiAgICB0aGlzLnVwZGF0ZUxheWVyTWV0YShkYXRhQ29udGFpbmVyKTtcbiAgICByZXR1cm4gdGhpcztcbiAgfVxuXG4gIHJlbmRlckxheWVyKG9wdHMpIHtcbiAgICBjb25zdCB7ZGF0YSwgZ3B1RmlsdGVyLCBtYXBTdGF0ZSwgYW5pbWF0aW9uQ29uZmlnfSA9IG9wdHM7XG4gICAgY29uc3Qge3Zpc0NvbmZpZ30gPSB0aGlzLmNvbmZpZztcbiAgICBjb25zdCB6b29tRmFjdG9yID0gdGhpcy5nZXRab29tRmFjdG9yKG1hcFN0YXRlKTtcbiAgICBjb25zdCBpc1ZhbGlkVGltZSA9XG4gICAgICBhbmltYXRpb25Db25maWcgJiZcbiAgICAgIEFycmF5LmlzQXJyYXkoYW5pbWF0aW9uQ29uZmlnLmRvbWFpbikgJiZcbiAgICAgIGFuaW1hdGlvbkNvbmZpZy5kb21haW4uZXZlcnkoTnVtYmVyLmlzRmluaXRlKSAmJlxuICAgICAgTnVtYmVyLmlzRmluaXRlKGFuaW1hdGlvbkNvbmZpZy5jdXJyZW50VGltZSk7XG5cbiAgICBpZiAoIWlzVmFsaWRUaW1lKSB7XG4gICAgICByZXR1cm4gW107XG4gICAgfVxuXG4gICAgY29uc3QgZG9tYWluMCA9IGFuaW1hdGlvbkNvbmZpZy5kb21haW4/LlswXTtcblxuICAgIGNvbnN0IHVwZGF0ZVRyaWdnZXJzID0ge1xuICAgICAgLi4udGhpcy5nZXRWaXN1YWxDaGFubmVsVXBkYXRlVHJpZ2dlcnMoKSxcbiAgICAgIGdldFRpbWVzdGFtcHM6IHtcbiAgICAgICAgY29sdW1uczogdGhpcy5jb25maWcuY29sdW1ucyxcbiAgICAgICAgZG9tYWluMFxuICAgICAgfSxcbiAgICAgIGdldEZpbHRlclZhbHVlOiBncHVGaWx0ZXIuZmlsdGVyVmFsdWVVcGRhdGVUcmlnZ2Vyc1xuICAgIH07XG4gICAgY29uc3QgZGVmYXVsdExheWVyUHJvcHMgPSB0aGlzLmdldERlZmF1bHREZWNrTGF5ZXJQcm9wcyhvcHRzKTtcblxuICAgIHJldHVybiBbXG4gICAgICBuZXcgRGVja0dMVHJpcHNMYXllcih7XG4gICAgICAgIC4uLmRlZmF1bHRMYXllclByb3BzLFxuICAgICAgICAuLi5kYXRhLFxuICAgICAgICBnZXRUaW1lc3RhbXBzOiBkID0+IGRhdGEuZ2V0VGltZXN0YW1wcyhkKS5tYXAodHMgPT4gdHMgLSBkb21haW4wKSxcbiAgICAgICAgd2lkdGhTY2FsZTogdGhpcy5jb25maWcudmlzQ29uZmlnLnRoaWNrbmVzcyxcbiAgICAgICAgd2lkdGhVbml0czogJ3BpeGVscycsXG4gICAgICAgIHJvdW5kZWQ6IHRydWUsXG4gICAgICAgIHdyYXBMb25naXR1ZGU6IGZhbHNlLFxuICAgICAgICBwYXJhbWV0ZXJzOiB7XG4gICAgICAgICAgZGVwdGhUZXN0OiBtYXBTdGF0ZS5kcmFnUm90YXRlLFxuICAgICAgICAgIGRlcHRoTWFzazogZmFsc2VcbiAgICAgICAgfSxcbiAgICAgICAgdHJhaWxMZW5ndGg6IHZpc0NvbmZpZy50cmFpbExlbmd0aCAqIDEwMDAsXG4gICAgICAgIGN1cnJlbnRUaW1lOiBhbmltYXRpb25Db25maWcuY3VycmVudFRpbWUgLSBkb21haW4wLFxuICAgICAgICB1cGRhdGVUcmlnZ2Vyc1xuICAgICAgfSlcbiAgICBdO1xuICB9XG59XG4iXX0=
|
package/package.json
CHANGED
|
@@ -2,7 +2,7 @@
|
|
|
2
2
|
"name": "@carto/kepler.gl",
|
|
3
3
|
"author": "CARTO",
|
|
4
4
|
"homepage": "https://github.com/CartoDB/carto-kepler#readme",
|
|
5
|
-
"version": "0.0.
|
|
5
|
+
"version": "0.0.31-alpha.0",
|
|
6
6
|
"description": "kepler.gl is a webgl based application to visualize large scale location data in the browser",
|
|
7
7
|
"license": "MIT",
|
|
8
8
|
"main": "dist/index.js",
|
package/src/layers/base-layer.js
CHANGED
|
@@ -1066,6 +1066,32 @@ class Layer {
|
|
|
1066
1066
|
return fixed ? 1 : (this.config[field] ? 1 : radius) * this.getZoomFactor(mapState);
|
|
1067
1067
|
}
|
|
1068
1068
|
|
|
1069
|
+
getRadiusScale(fixedRadius) {
|
|
1070
|
+
const radiusChannel = Object.values(this.visualChannels).find(vc => vc.property === 'radius');
|
|
1071
|
+
|
|
1072
|
+
if (!radiusChannel) {
|
|
1073
|
+
return 1;
|
|
1074
|
+
}
|
|
1075
|
+
|
|
1076
|
+
const field = radiusChannel.field;
|
|
1077
|
+
const fixed = fixedRadius === undefined ? this.config.visConfig.fixedRadius : fixedRadius;
|
|
1078
|
+
const {radius} = this.config.visConfig;
|
|
1079
|
+
|
|
1080
|
+
return fixed ? 1 : (this.config[field] ? 1 : radius);
|
|
1081
|
+
}
|
|
1082
|
+
|
|
1083
|
+
getRadiusUnit(fixedRadius) {
|
|
1084
|
+
const radiusChannel = Object.values(this.visualChannels).find(vc => vc.property === 'radius');
|
|
1085
|
+
|
|
1086
|
+
if (!radiusChannel) {
|
|
1087
|
+
return 'pixels';
|
|
1088
|
+
}
|
|
1089
|
+
|
|
1090
|
+
const fixed = fixedRadius === undefined ? this.config.visConfig.fixedRadius : fixedRadius;
|
|
1091
|
+
|
|
1092
|
+
return fixed ? 'meters' : 'pixels';
|
|
1093
|
+
}
|
|
1094
|
+
|
|
1069
1095
|
shouldCalculateLayerData(props) {
|
|
1070
1096
|
return props.some(p => !this.noneLayerDataAffectingProps.includes(p));
|
|
1071
1097
|
}
|
|
@@ -42,7 +42,7 @@ export const geojsonVisConfigs = {
|
|
|
42
42
|
},
|
|
43
43
|
thickness: {
|
|
44
44
|
...LAYER_VIS_CONFIGS.thickness,
|
|
45
|
-
defaultValue:
|
|
45
|
+
defaultValue: 1
|
|
46
46
|
},
|
|
47
47
|
strokeColor: 'strokeColor',
|
|
48
48
|
colorRange: 'colorRange',
|
|
@@ -273,14 +273,15 @@ export default class GeoJsonLayer extends Layer {
|
|
|
273
273
|
const {data, gpuFilter, objectHovered, mapState, interactionConfig} = opts;
|
|
274
274
|
|
|
275
275
|
const {fixedRadius, featureTypes} = this.meta;
|
|
276
|
-
const radiusScale = this.
|
|
277
|
-
const
|
|
276
|
+
const radiusScale = this.getRadiusScale(fixedRadius);
|
|
277
|
+
const radiusUnits = this.getRadiusUnit(fixedRadius);
|
|
278
|
+
|
|
278
279
|
const eleZoomFactor = this.getElevationZoomFactor(mapState);
|
|
279
280
|
|
|
280
281
|
const {visConfig} = this.config;
|
|
281
282
|
|
|
282
283
|
const layerProps = {
|
|
283
|
-
lineWidthScale: visConfig.thickness
|
|
284
|
+
lineWidthScale: visConfig.thickness,
|
|
284
285
|
elevationScale: visConfig.elevationScale * eleZoomFactor,
|
|
285
286
|
pointRadiusScale: radiusScale,
|
|
286
287
|
lineMiterLimit: 4
|
|
@@ -314,6 +315,8 @@ export default class GeoJsonLayer extends Layer {
|
|
|
314
315
|
wrapLongitude: false,
|
|
315
316
|
lineMiterLimit: 2,
|
|
316
317
|
rounded: true,
|
|
318
|
+
radiusUnits,
|
|
319
|
+
lineWidthUnits: 'pixels',
|
|
317
320
|
updateTriggers,
|
|
318
321
|
_subLayerProps: {
|
|
319
322
|
...(featureTypes.polygon ? {'polygons-stroke': opaOverwrite} : {}),
|
|
@@ -247,11 +247,14 @@ export default class IconLayer extends Layer {
|
|
|
247
247
|
renderLayer(opts) {
|
|
248
248
|
const {data, gpuFilter, objectHovered, mapState, interactionConfig} = opts;
|
|
249
249
|
|
|
250
|
-
const
|
|
250
|
+
const fixedRadius = this.config.visConfig.fixedRadius && Boolean(this.config.sizeField);
|
|
251
|
+
const radiusScale = this.getRadiusScale(fixedRadius);
|
|
252
|
+
const radiusUnits = this.getRadiusUnit(fixedRadius);
|
|
251
253
|
|
|
252
254
|
const layerProps = {
|
|
253
255
|
radiusScale,
|
|
254
|
-
|
|
256
|
+
radiusUnits,
|
|
257
|
+
...(fixedRadius ? {} : {radiusMaxPixels: 500})
|
|
255
258
|
};
|
|
256
259
|
|
|
257
260
|
const updateTriggers = {
|
|
@@ -262,7 +265,12 @@ export default class IconLayer extends Layer {
|
|
|
262
265
|
|
|
263
266
|
const defaultLayerProps = this.getDefaultDeckLayerProps(opts);
|
|
264
267
|
const brushingProps = this.getBrushingExtensionProps(interactionConfig);
|
|
265
|
-
const getPixelOffset = getTextOffsetByRadius(
|
|
268
|
+
const getPixelOffset = getTextOffsetByRadius(
|
|
269
|
+
radiusScale,
|
|
270
|
+
data.getRadius,
|
|
271
|
+
mapState,
|
|
272
|
+
fixedRadius
|
|
273
|
+
);
|
|
266
274
|
const extensions = [...defaultLayerProps.extensions, brushingExtension];
|
|
267
275
|
|
|
268
276
|
// shared Props between layer and label layer
|
|
@@ -24,7 +24,7 @@ import uniq from 'lodash.uniq';
|
|
|
24
24
|
|
|
25
25
|
export const defaultPadding = 20;
|
|
26
26
|
|
|
27
|
-
export function getTextOffsetByRadius(radiusScale, getRadius, mapState) {
|
|
27
|
+
export function getTextOffsetByRadius(radiusScale, getRadius, mapState, fixedRadius) {
|
|
28
28
|
return textLabel => {
|
|
29
29
|
const distanceScale = getDistanceScales(mapState);
|
|
30
30
|
const xMult = textLabel.anchor === 'middle' ? 0 : textLabel.anchor === 'start' ? 1 : -1;
|
|
@@ -37,7 +37,7 @@ export function getTextOffsetByRadius(radiusScale, getRadius, mapState) {
|
|
|
37
37
|
? textLabel.size
|
|
38
38
|
: textLabel.size;
|
|
39
39
|
|
|
40
|
-
const pixelRadius = radiusScale * distanceScale.pixelsPerMeter[0];
|
|
40
|
+
const pixelRadius = fixedRadius ? radiusScale * distanceScale.pixelsPerMeter[0] : radiusScale;
|
|
41
41
|
const padding = defaultPadding;
|
|
42
42
|
|
|
43
43
|
return typeof getRadius === 'function'
|
|
@@ -242,7 +242,8 @@ export default class PointLayer extends Layer {
|
|
|
242
242
|
|
|
243
243
|
// if no field size is defined we need to pass fixed radius = false
|
|
244
244
|
const fixedRadius = this.config.visConfig.fixedRadius && Boolean(this.config.sizeField);
|
|
245
|
-
const radiusScale = this.
|
|
245
|
+
const radiusScale = this.getRadiusScale(fixedRadius);
|
|
246
|
+
const radiusUnits = this.getRadiusUnit(fixedRadius);
|
|
246
247
|
|
|
247
248
|
const layerProps = {
|
|
248
249
|
stroked: this.config.visConfig.outline,
|
|
@@ -260,7 +261,12 @@ export default class PointLayer extends Layer {
|
|
|
260
261
|
|
|
261
262
|
const defaultLayerProps = this.getDefaultDeckLayerProps(opts);
|
|
262
263
|
const brushingProps = this.getBrushingExtensionProps(interactionConfig);
|
|
263
|
-
const getPixelOffset = getTextOffsetByRadius(
|
|
264
|
+
const getPixelOffset = getTextOffsetByRadius(
|
|
265
|
+
radiusScale,
|
|
266
|
+
data.getRadius,
|
|
267
|
+
mapState,
|
|
268
|
+
fixedRadius
|
|
269
|
+
);
|
|
264
270
|
const extensions = [...defaultLayerProps.extensions, brushingExtension];
|
|
265
271
|
|
|
266
272
|
const sharedProps = {
|
|
@@ -282,6 +288,7 @@ export default class PointLayer extends Layer {
|
|
|
282
288
|
// circles will be flat on the map when the altitude column is not used
|
|
283
289
|
depthTest: this.config.columns.altitude?.fieldIdx > -1
|
|
284
290
|
},
|
|
291
|
+
radiusUnits,
|
|
285
292
|
lineWidthUnits: 'pixels',
|
|
286
293
|
updateTriggers,
|
|
287
294
|
extensions
|
|
@@ -278,7 +278,8 @@ export default class TripLayer extends Layer {
|
|
|
278
278
|
...defaultLayerProps,
|
|
279
279
|
...data,
|
|
280
280
|
getTimestamps: d => data.getTimestamps(d).map(ts => ts - domain0),
|
|
281
|
-
widthScale: this.config.visConfig.thickness
|
|
281
|
+
widthScale: this.config.visConfig.thickness,
|
|
282
|
+
widthUnits: 'pixels',
|
|
282
283
|
rounded: true,
|
|
283
284
|
wrapLongitude: false,
|
|
284
285
|
parameters: {
|