@carto/kepler.gl 0.0.45 → 0.0.47-alpha.custom-markers
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/CHANGELOG.md +711 -0
- package/dist/components/common/item-selector/dropdown-list.js +27 -5
- package/dist/components/common/item-selector/item-selector-submenu.js +8 -42
- package/dist/components/common/item-selector/item-selector.js +16 -4
- package/dist/components/common/portaled.js +2 -4
- package/dist/components/index.js +10 -1
- package/dist/components/side-panel/layer-panel/custom-markers-config-group.js +40 -0
- package/dist/components/side-panel/layer-panel/layer-configurator.js +13 -6
- package/dist/constants/default-settings.js +2 -2
- package/dist/layers/base-layer.js +10 -1
- package/dist/layers/layer-factory.js +16 -1
- package/dist/layers/point-layer/point-layer.js +76 -19
- package/dist/localization/en.js +6 -2
- package/package.json +8 -5
- package/src/components/common/item-selector/dropdown-list.js +26 -11
- package/src/components/common/item-selector/item-selector-submenu.js +12 -32
- package/src/components/common/item-selector/item-selector.d.ts +1 -0
- package/src/components/common/item-selector/item-selector.js +9 -1
- package/src/components/common/portaled.js +0 -2
- package/src/components/index.js +1 -0
- package/src/components/side-panel/layer-panel/custom-markers-config-group.js +30 -0
- package/src/components/side-panel/layer-panel/layer-configurator.js +15 -5
- package/src/layers/base-layer.js +6 -0
- package/src/layers/layer-factory.js +15 -0
- package/src/layers/point-layer/point-layer.js +93 -24
- package/src/localization/en.js +5 -1
|
@@ -41,6 +41,7 @@ var _colorRanges = require("../constants/color-ranges");
|
|
|
41
41
|
var PROPERTY_GROUPS = (0, _keymirror["default"])({
|
|
42
42
|
color: null,
|
|
43
43
|
stroke: null,
|
|
44
|
+
customMarkers: null,
|
|
44
45
|
radius: null,
|
|
45
46
|
height: null,
|
|
46
47
|
angle: null,
|
|
@@ -456,6 +457,20 @@ var LAYER_VIS_CONFIGS = {
|
|
|
456
457
|
step: 0.1,
|
|
457
458
|
group: PROPERTY_GROUPS.cell,
|
|
458
459
|
property: 'radius'
|
|
460
|
+
},
|
|
461
|
+
customMarkers: {
|
|
462
|
+
type: 'boolean',
|
|
463
|
+
defaultValue: false,
|
|
464
|
+
label: 'layerVisConfigs.customMarkers',
|
|
465
|
+
group: PROPERTY_GROUPS.customMarkers,
|
|
466
|
+
property: 'customMarkers'
|
|
467
|
+
},
|
|
468
|
+
customMarkersUrl: {
|
|
469
|
+
type: 'text',
|
|
470
|
+
defaultValue: '',
|
|
471
|
+
label: 'layerVisConfigs.addUrl',
|
|
472
|
+
group: PROPERTY_GROUPS.customMarkers,
|
|
473
|
+
property: 'customMarkersUrl'
|
|
459
474
|
}
|
|
460
475
|
};
|
|
461
476
|
/** @type {import('./layer-factory').LayerTextConfig} */
|
|
@@ -485,4 +500,4 @@ var LAYER_TEXT_CONFIGS = {
|
|
|
485
500
|
}
|
|
486
501
|
};
|
|
487
502
|
exports.LAYER_TEXT_CONFIGS = LAYER_TEXT_CONFIGS;
|
|
488
|
-
//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIi4uLy4uL3NyYy9sYXllcnMvbGF5ZXItZmFjdG9yeS5qcyJdLCJuYW1lcyI6WyJQUk9QRVJUWV9HUk9VUFMiLCJjb2xvciIsInN0cm9rZSIsInJhZGl1cyIsImhlaWdodCIsImFuZ2xlIiwiY2VsbCIsInByZWNpc2lvbiIsIkRFRkFVTFRfTEFZRVJfT1BBQ0lUWSIsIkRFRkFVTFRfSElHSExJR0hUX0NPTE9SIiwiREVGQVVMVF9MQVlFUl9MQUJFTCIsIkRFRkFVTFRfVEVYVF9MQUJFTCIsImZpZWxkIiwic2l6ZSIsIm9mZnNldCIsImFuY2hvciIsImFsaWdubWVudCIsIkRFRkFVTFRfQ1VTVE9NX1BBTEVUVEUiLCJuYW1lIiwidHlwZSIsImNhdGVnb3J5IiwiY29sb3JzIiwiVU5LTk9XTl9DT0xPUl9LRVkiLCJERUZBVUxUX0NPTE9SX1VJIiwiY3VzdG9tUGFsZXR0ZSIsInNob3dTa2V0Y2hlciIsInNob3dEcm9wZG93biIsImNvbG9yUmFuZ2VDb25maWciLCJzdGVwcyIsInJldmVyc2VkIiwiY3VzdG9tIiwiTEFZRVJfVklTX0NPTkZJR1MiLCJ0aGlja25lc3MiLCJkZWZhdWx0VmFsdWUiLCJsYWJlbCIsImlzUmFuZ2VkIiwicmFuZ2UiLCJzdGVwIiwiZ3JvdXAiLCJwcm9wZXJ0eSIsInN0cm9rZVdpZHRoUmFuZ2UiLCJ0cmFpbExlbmd0aCIsImZpeGVkUmFkaXVzIiwiZGVzY3JpcHRpb24iLCJyYWRpdXNSYW5nZSIsImNsdXN0ZXJSYWRpdXMiLCJjbHVzdGVyUmFkaXVzUmFuZ2UiLCJvcGFjaXR5IiwiY292ZXJhZ2UiLCJvdXRsaW5lIiwiZGlzcGxheSIsImNvbG9yUmFuZ2UiLCJERUZBVUxUX0NPTE9SX1JBTkdFIiwic3Ryb2tlQ29sb3JSYW5nZSIsInRhcmdldENvbG9yIiwic3Ryb2tlQ29sb3IiLCJhZ2dyZWdhdGlvbiIsIkFHR1JFR0FUSU9OX1RZUEVTIiwiYXZlcmFnZSIsIm9wdGlvbnMiLCJPYmplY3QiLCJrZXlzIiwiY29uZGl0aW9uIiwiY29uZmlnIiwiY29sb3JGaWVsZCIsInNpemVBZ2dyZWdhdGlvbiIsInNpemVGaWVsZCIsImhlaWdodEFnZ3JlZ2F0aW9uIiwiaGVpZ2h0RmllbGQiLCJwZXJjZW50aWxlIiwidmlzQ29uZmlnIiwiY29sb3JBZ2dyZWdhdGlvbiIsImNvbG9yU2NhbGUiLCJlbGV2YXRpb25QZXJjZW50aWxlIiwiZW5hYmxlM2QiLCJyZXNvbHV0aW9uIiwic2l6ZVNjYWxlIiwid29ybGRVbml0U2l6ZSIsImVsZXZhdGlvblNjYWxlIiwiZW5hYmxlRWxldmF0aW9uWm9vbUZhY3RvciIsImVsZXZhdGlvblJhbmdlIiwiaGVpZ2h0UmFuZ2UiLCJjb3ZlcmFnZVJhbmdlIiwic3Ryb2tlZCIsImZpbGxlZCIsImV4dHJ1ZGVkIiwid2lyZWZyYW1lIiwid2VpZ2h0Iiwid2VpZ2h0RmllbGQiLCJoZWF0bWFwUmFkaXVzIiwiTEFZRVJfVEVYVF9DT05GSUdTIiwiZm9udFNpemUiLCJ2YWx1ZTAiLCJzaG93SW5wdXQiLCJ0ZXh0QW5jaG9yIiwibXVsdGlTZWxlY3QiLCJzZWFyY2hhYmxlIiwidGV4dEFsaWdubWVudCJdLCJtYXBwaW5ncyI6Ijs7Ozs7Ozs7Ozs7Ozs7O0FBb0JBOztBQUVBOztBQUNBOztBQXZCQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQU9PLElBQU1BLGVBQWUsR0FBRywyQkFBVTtBQUN2Q0MsRUFBQUEsS0FBSyxFQUFFLElBRGdDO0FBRXZDQyxFQUFBQSxNQUFNLEVBQUUsSUFGK0I7QUFHdkNDLEVBQUFBLE1BQU0sRUFBRSxJQUgrQjtBQUl2Q0MsRUFBQUEsTUFBTSxFQUFFLElBSitCO0FBS3ZDQyxFQUFBQSxLQUFLLEVBQUUsSUFMZ0M7QUFNdkM7QUFDQUMsRUFBQUEsSUFBSSxFQUFFLElBUGlDO0FBUXZDQyxFQUFBQSxTQUFTLEVBQUU7QUFSNEIsQ0FBVixDQUF4Qjs7QUFXQSxJQUFNQyxxQkFB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QUU7QUFKQztBQWhCaUIsQ0FBM0IiLCJzb3VyY2VzQ29udGVudCI6WyIvLyBDb3B5cmlnaHQgKGMpIDIwMjIgVWJlciBUZWNobm9sb2dpZXMsIEluYy5cbi8vXG4vLyBQZXJtaXNzaW9uIGlzIGhlcmVieSBncmFudGVkLCBmcmVlIG9mIGNoYXJnZSwgdG8gYW55IHBlcnNvbiBvYnRhaW5pbmcgYSBjb3B5XG4vLyBvZiB0aGlzIHNvZnR3YXJlIGFuZCBhc3NvY2lhdGVkIGRvY3VtZW50YXRpb24gZmlsZXMgKHRoZSBcIlNvZnR3YXJlXCIpLCB0byBkZWFsXG4vLyBpbiB0aGUgU29mdHdhcmUgd2l0aG91dCByZXN0cmljdGlvbiwgaW5jbHVkaW5nIHdpdGhvdXQgbGltaXRhdGlvbiB0aGUgcmlnaHRzXG4vLyB0byB1c2UsIGNvcHksIG1vZGlmeSwgbWVyZ2UsIHB1Ymxpc2gsIGRpc3RyaWJ1dGUsIHN1YmxpY2Vuc2UsIGFuZC9vciBzZWxsXG4vLyBjb3BpZXMgb2YgdGhlIFNvZnR3YXJlLCBhbmQgdG8gcGVybWl0IHBlcnNvbnMgdG8gd2hvbSB0aGUgU29mdHdhcmUgaXNcbi8vIGZ1cm5pc2hlZCB0byBkbyBzbywgc3ViamVjdCB0byB0aGUgZm9sbG93aW5nIGNvbmRpdGlvbnM6XG4vL1xuLy8gVGhlIGFib3ZlIGNvcHlyaWdodCBub3RpY2UgYW5kIHRoaXMgcGVybWlzc2lvbiBub3RpY2Ugc2hhbGwgYmUgaW5jbHVkZWQgaW5cbi8vIGFsbCBjb3BpZXMgb3Igc3Vic3RhbnRpYWwgcG9ydGlvbnMgb2YgdGhlIFNvZnR3YXJlLlxuLy9cbi8vIFRIRSBTT0ZUV0FSRSBJUyBQUk9WSURFRCBcIkFTIElTXCIsIFdJVEhPVVQgV0FSUkFOVFkgT0YgQU5ZIEtJTkQsIEVYUFJFU1MgT1Jcbi8vIElNUExJRUQsIElOQ0xVRElORyBCVVQgTk9UIExJTUlURUQgVE8gVEhFIFdBUlJBTlRJRVMgT0YgTUVSQ0hBTlRBQklMSVRZLFxuLy8gRklUTkVTUyBGT1IgQSBQQVJUSUNVTEFSIFBVUlBPU0UgQU5EIE5PTklORlJJTkdFTUVOVC4gSU4gTk8gRVZFTlQgU0hBTEwgVEhFXG4vLyBBVVRIT1JTIE9SIENPUFlSSUdIVCBIT0xERVJTIEJFIExJQUJMRSBGT1IgQU5ZIENMQUlNLCBEQU1BR0VTIE9SIE9USEVSXG4vLyBMSUFCSUxJVFksIFdIRVRIRVIgSU4gQU4gQUNUSU9OIE9GIENPTlRSQUNULCBUT1JUIE9SIE9USEVSV0lTRSwgQVJJU0lORyBGUk9NLFxuLy8gT1VUIE9GIE9SIElOIENPTk5FQ1RJT04gV0lUSCBUSEUgU09GVFdBUkUgT1IgVEhFIFVTRSBPUiBPVEhFUiBERUFMSU5HUyBJTlxuLy8gVEhFIFNPRlRXQVJFLlxuXG5pbXBvcnQga2V5TWlycm9yIGZyb20gJ2tleW1pcnJvcic7XG5cbmltcG9ydCB7QUdHUkVHQVRJT05fVFlQRVN9IGZyb20gJ2NvbnN0YW50cy9kZWZhdWx0LXNldHRpbmdzJztcbmltcG9ydCB7REVGQVVMVF9DT0xPUl9SQU5HRX0gZnJvbSAnY29uc3RhbnRzL2NvbG9yLXJhbmdlcyc7XG5cbmV4cG9ydCBjb25zdCBQUk9QRVJUWV9HUk9VUFMgPSBrZXlNaXJyb3Ioe1xuICBjb2xvcjogbnVsbCxcbiAgc3Ryb2tlOiBudWxsLFxuICByYWRpdXM6IG51bGwsXG4gIGhlaWdodDogbnVsbCxcbiAgYW5nbGU6IG51bGwsXG4gIC8vIGZvciBoZWF0bWFwIGFnZ3JlZ2F0aW9uXG4gIGNlbGw6IG51bGwsXG4gIHByZWNpc2lvbjogbnVsbFxufSk7XG5cbmV4cG9ydCBjb25zdCBERUZBVUxUX0xBWUVSX09QQUNJVFkgPSAwLjg7XG5leHBvcnQgY29uc3QgREVGQVVMVF9ISUdITElHSFRfQ09MT1IgPSBbMjUyLCAyNDIsIDI2LCAyNTVdO1xuZXhwb3J0IGNvbnN0IERFRkFVTFRfTEFZRVJfTEFCRUwgPSAnbmV3IGxheWVyJztcbmV4cG9ydCB7REVGQVVMVF9DT0xPUl9SQU5HRX07XG5cbi8qKiBAdHlwZSB7aW1wb3J0KCcuL2xheWVyLWZhY3RvcnknKS5MYXllclRleHRMYWJlbH0gKi9cbmV4cG9ydCBjb25zdCBERUZBVUxUX1RFWFRfTEFCRUwgPSB7XG4gIGZpZWxkOiBudWxsLFxuICBjb2xvcjogWzI1NSwgMjU1LCAyNTVdLFxuICBzaXplOiAxOCxcbiAgb2Zmc2V0OiBbMCwgMF0sXG4gIGFuY2hvcjogJ3N0YXJ0JyxcbiAgYWxpZ25tZW50OiAnY2VudGVyJ1xufTtcblxuLyoqIEB0eXBlIHtpbXBvcnQoJy4vbGF5ZXItZmFjdG9yeScpLkNvbG9yUmFuZ2V9ICovXG5leHBvcnQgY29uc3QgREVGQVVMVF9DVVNUT01fUEFMRVRURSA9IHtcbiAgbmFtZTogJ2NvbG9yLmN1c3RvbVBhbGV0dGUnLFxuICB0eXBlOiAnY3VzdG9tJyxcbiAgY2F0ZWdvcnk6ICdDdXN0b20nLFxuICBjb2xvcnM6IFtdXG59O1xuXG5leHBvcnQgY29uc3QgVU5LTk9XTl9DT0xPUl9LRVkgPSAnX191bmtub3duQ29sb3JfXyc7XG5cbi8qKiBAdHlwZSB7aW1wb3J0KCcuL2xheWVyLWZhY3RvcnknKS5Db2xvclVJfSAqL1xuZXhwb3J0IGNvbnN0IERFRkFVTFRfQ09MT1JfVUkgPSB7XG4gIC8vIGN1c3RvbVBhbGV0dGUgaW4gZWRpdFxuICBjdXN0b21QYWxldHRlOiBERUZBVUxUX0NVU1RPTV9QQUxFVFRFLFxuICAvLyBzaG93IGNvbG9yIHNrZXRjaGVyIG1vZGFsXG4gIHNob3dTa2V0Y2hlcjogZmFsc2UsXG4gIC8vIHNob3cgY29sb3IgcmFuZ2Ugc2VsZWN0aW9uIHBhbmVsXG4gIHNob3dEcm9wZG93bjogZmFsc2UsXG4gIC8vIGNvbG9yIHJhbmdlIHNlbGVjdG9yIGNvbmZpZ1xuICBjb2xvclJhbmdlQ29uZmlnOiB7XG4gICAgdHlwZTogJ2FsbCcsXG4gICAgc3RlcHM6IDYsXG4gICAgcmV2ZXJzZWQ6IGZhbHNlLFxuICAgIGN1c3RvbTogZmFsc2VcbiAgfVxufTtcblxuLyoqIEB0eXBlIHtpbXBvcnQoJy4vbGF5ZXItZmFjdG9yeScpLkxheWVyVmlzQ29uZmlnfSAqL1xuZXhwb3J0IGNvbnN0IExBWUVSX1ZJU19DT05GSUdTID0ge1xuICB0aGlja25lc3M6IHtcbiAgICB0eXBlOiAnbnVtYmVyJyxcbiAgICBkZWZhdWx0VmFsdWU6IDIsXG4gICAgbGFiZWw6ICdsYXllclZpc0NvbmZpZ3Muc3Ryb2tlV2lkdGgnLFxuICAgIGlzUmFuZ2VkOiBmYWxzZSxcbiAgICByYW5nZTogWzAsIDEwMF0sXG4gICAgc3RlcDogMC4xLFxuICAgIGdyb3VwOiBQUk9QRVJUWV9HUk9VUFMuc3Ryb2tlLFxuICAgIHByb3BlcnR5OiAndGhpY2tuZXNzJ1xuICB9LFxuICBzdHJva2VXaWR0aFJhbmdlOiB7XG4gICAgdHlwZTogJ251bWJlcicsXG4gICAgZGVmYXVsdFZhbHVlOiBbMCwgMTBdLFxuICAgIGxhYmVsOiAnbGF5ZXJWaXNDb25maWdzLnN0cm9rZVdpZHRoUmFuZ2UnLFxuICAgIGlzUmFuZ2VkOiB0cnVlLFxuICAgIHJhbmdlOiBbMCwgMjAwXSxcbiAgICBzdGVwOiAwLjEsXG4gICAgZ3JvdXA6IFBST1BFUlRZX0dST1VQUy5zdHJva2UsXG4gICAgcHJvcGVydHk6ICdzaXplUmFuZ2UnXG4gIH0sXG4gIHRyYWlsTGVuZ3RoOiB7XG4gICAgdHlwZTogJ251bWJlcicsXG4gICAgZGVmYXVsdFZhbHVlOiAxODAsXG4gICAgbGFiZWw6ICdsYXllclZpc0NvbmZpZ3Muc3Ryb2tlV2lkdGgnLFxuICAgIGlzUmFuZ2VkOiBmYWxzZSxcbiAgICByYW5nZTogWzEsIDEwMDBdLFxuICAgIHN0ZXA6IDEsXG4gICAgZ3JvdXA6IFBST1BFUlRZX0dST1VQUy5zdHJva2UsXG4gICAgcHJvcGVydHk6ICd0cmFpbExlbmd0aCdcbiAgfSxcbiAgLy8gcmFkaXVzIGlzIGFjdHVhbGx5IHJhZGl1c1NjYWxlIGluIGRlY2suZ2xcbiAgcmFkaXVzOiB7XG4gICAgdHlwZTogJ251bWJlcicsXG4gICAgZGVmYXVsdFZhbHVlOiAyLFxuICAgIGxhYmVsOiAnbGF5ZXJWaXNDb25maWdzLnJhZGl1cycsXG4gICAgaXNSYW5nZWQ6IGZhbHNlLFxuICAgIHJhbmdlOiBbMCwgMTAwXSxcbiAgICBzdGVwOiAwLjEsXG4gICAgZ3JvdXA6IFBST1BFUlRZX0dST1VQUy5yYWRpdXMsXG4gICAgcHJvcGVydHk6ICdyYWRpdXMnXG4gIH0sXG4gIGZpeGVkUmFkaXVzOiB7XG4gICAgZGVmYXVsdFZhbHVlOiBmYWxzZSxcbiAgICB0eXBlOiAnYm9vbGVhbicsXG4gICAgbGFiZWw6ICdsYXllclZpc0NvbmZpZ3MuZml4ZWRSYWRpdXMnLFxuICAgIGRlc2NyaXB0aW9uOiAnbGF5ZXJWaXNDb25maWdzLmZpeGVkUmFkaXVzRGVzY3JpcHRpb24nLFxuICAgIGdyb3VwOiBQUk9QRVJUWV9HUk9VUFMucmFkaXVzLFxuICAgIHByb3BlcnR5OiAnZml4ZWRSYWRpdXMnXG4gIH0sXG4gIHJhZGl1c1JhbmdlOiB7XG4gICAgdHlwZTogJ251bWJlcicsXG4gICAgZGVmYXVsdFZhbHVlOiBbMCwgNTBdLFxuICAgIGlzUmFuZ2VkOiB0cnVlLFxuICAgIHJhbmdlOiBbMCwgNTAwXSxcbiAgICBzdGVwOiAwLjEsXG4gICAgbGFiZWw6ICdsYXllclZpc0NvbmZpZ3MucmFkaXVzUmFuZ2UnLFxuICAgIGdyb3VwOiBQUk9QRVJUWV9HUk9VUFMucmFkaXVzLFxuICAgIHByb3BlcnR5OiAncmFkaXVzUmFuZ2UnXG4gIH0sXG4gIGNsdXN0ZXJSYWRpdXM6IHtcbiAgICB0eXBlOiAnbnVtYmVyJyxcbiAgICBsYWJlbDogJ2xheWVyVmlzQ29uZmlncy5jbHVzdGVyUmFkaXVzJyxcbiAgICBkZWZhdWx0VmFsdWU6IDQwLFxuICAgIGlzUmFuZ2VkOiBmYWxzZSxcbiAgICByYW5nZTogWzEsIDUwMF0sXG4gICAgc3RlcDogMC4xLFxuICAgIGdyb3VwOiBQUk9QRVJUWV9HUk9VUFMucmFkaXVzLFxuICAgIHByb3BlcnR5OiAnY2x1c3RlclJhZGl1cydcbiAgfSxcbiAgY2x1c3RlclJhZGl1c1JhbmdlOiB7XG4gICAgdHlwZTogJ251bWJlcicsXG4gICAgbGFiZWw6ICdsYXllclZpc0NvbmZpZ3MucmFkaXVzUmFuZ2VQaXhlbHMnLFxuICAgIGRlZmF1bHRWYWx1ZTogWzEsIDQwXSxcbiAgICBpc1JhbmdlZDogdHJ1ZSxcbiAgICByYW5nZTogWzEsIDE1MF0sXG4gICAgc3RlcDogMC4xLFxuICAgIGdyb3VwOiBQUk9QRVJUWV9HUk9VUFMucmFkaXVzLFxuICAgIHByb3BlcnR5OiAncmFkaXVzUmFuZ2UnXG4gIH0sXG4gIG9wYWNpdHk6IHtcbiAgICB0eXBlOiAnbnVtYmVyJyxcbiAgICBkZWZhdWx0VmFsdWU6IERFRkFVTFRfTEFZRVJfT1BBQ0lUWSxcbiAgICBsYWJlbDogJ2xheWVyVmlzQ29uZmlncy5vcGFjaXR5JyxcbiAgICBpc1JhbmdlZDogZmFsc2UsXG4gICAgcmFuZ2U6IFswLCAxXSxcbiAgICBzdGVwOiAwLjAxLFxuICAgIGdyb3VwOiBQUk9QRVJUWV9HUk9VUFMuY29sb3IsXG4gICAgcHJvcGVydHk6ICdvcGFjaXR5J1xuICB9LFxuICBjb3ZlcmFnZToge1xuICAgIHR5cGU6ICdudW1iZXInLFxuICAgIGRlZmF1bHRWYWx1ZTogMSxcbiAgICBsYWJlbDogJ2xheWVyVmlzQ29uZmlncy5jb3ZlcmFnZScsXG4gICAgaXNSYW5nZWQ6IGZhbHNlLFxuICAgIHJhbmdlOiBbMCwgMV0sXG4gICAgc3RlcDogMC4wMSxcbiAgICBncm91cDogUFJPUEVSVFlfR1JPVVBTLmNlbGwsXG4gICAgcHJvcGVydHk6ICdjb3ZlcmFnZSdcbiAgfSxcbiAgLy8gdXNlZCBpbiBwb2ludCBsYXllclxuICBvdXRsaW5lOiB7XG4gICAgdHlwZTogJ2Jvb2xlYW4nLFxuICAgIGRlZmF1bHRWYWx1ZTogZmFsc2UsXG4gICAgbGFiZWw6ICdsYXllci5vdXRsaW5lJyxcbiAgICBncm91cDogUFJPUEVSVFlfR1JPVVBTLmRpc3BsYXksXG4gICAgcHJvcGVydHk6ICdvdXRsaW5lJ1xuICB9LFxuICBjb2xvclJhbmdlOiB7XG4gICAgdHlwZTogJ2NvbG9yLXJhbmdlLXNlbGVjdCcsXG4gICAgZGVmYXVsdFZhbHVlOiBERUZBVUxUX0NPTE9SX1JBTkdFLFxuICAgIGxhYmVsOiAnbGF5ZXJWaXNDb25maWdzLmNvbG9yUmFuZ2UnLFxuICAgIGdyb3VwOiBQUk9QRVJUWV9HUk9VUFMuY29sb3IsXG4gICAgcHJvcGVydHk6ICdjb2xvclJhbmdlJ1xuICB9LFxuICBzdHJva2VDb2xvclJhbmdlOiB7XG4gICAgdHlwZTogJ2NvbG9yLXJhbmdlLXNlbGVjdCcsXG4gICAgZGVmYXVsdFZhbHVlOiBERUZBVUxUX0NPTE9SX1JBTkdFLFxuICAgIGxhYmVsOiAnbGF5ZXJWaXNDb25maWdzLnN0cm9rZUNvbG9yUmFuZ2UnLFxuICAgIGdyb3VwOiBQUk9QRVJUWV9HUk9VUFMuY29sb3IsXG4gICAgcHJvcGVydHk6ICdzdHJva2VDb2xvclJhbmdlJ1xuICB9LFxuICB0YXJnZXRDb2xvcjoge1xuICAgIHR5cGU6ICdjb2xvci1zZWxlY3QnLFxuICAgIGxhYmVsOiAnbGF5ZXJWaXNDb25maWdzLnRhcmdldENvbG9yJyxcbiAgICBkZWZhdWx0VmFsdWU6IG51bGwsXG4gICAgZ3JvdXA6IFBST1BFUlRZX0dST1VQUy5jb2xvcixcbiAgICBwcm9wZXJ0eTogJ3RhcmdldENvbG9yJ1xuICB9LFxuICBzdHJva2VDb2xvcjoge1xuICAgIHR5cGU6ICdjb2xvci1zZWxlY3QnLFxuICAgIGxhYmVsOiAnbGF5ZXJWaXNDb25maWdzLnN0cm9rZUNvbG9yJyxcbiAgICBkZWZhdWx0VmFsdWU6IG51bGwsXG4gICAgZ3JvdXA6IFBST1BFUlRZX0dST1VQUy5jb2xvcixcbiAgICBwcm9wZXJ0eTogJ3N0cm9rZUNvbG9yJ1xuICB9LFxuICBhZ2dyZWdhdGlvbjoge1xuICAgIHR5cGU6ICdzZWxlY3QnLFxuICAgIGRlZmF1bHRWYWx1ZTogQUdHUkVHQVRJT05fVFlQRVMuYXZlcmFnZSxcbiAgICBsYWJlbDogJ2xheWVyVmlzQ29uZmlncy5jb2xvckFnZ3JlZ2F0aW9uJyxcbiAgICAvLyBhZ2dyZWdhdGlvbiBvcHRpb25zIGFyZSBiYXNlZCBvbiBjb2xvciBmaWVsZCB0eXBlc1xuICAgIG9wdGlvbnM6IE9iamVjdC5rZXlzKEFHR1JFR0FUSU9OX1RZUEVTKSxcbiAgICBncm91cDogUFJPUEVSVFlfR1JPVVBTLmNvbG9yLFxuICAgIHByb3BlcnR5OiAnY29sb3JBZ2dyZWdhdGlvbicsXG4gICAgY29uZGl0aW9uOiBjb25maWcgPT4gY29uZmlnLmNvbG9yRmllbGRcbiAgfSxcbiAgc2l6ZUFnZ3JlZ2F0aW9uOiB7XG4gICAgdHlwZTogJ3NlbGVjdCcsXG4gICAgZGVmYXVsdFZhbHVlOiBBR0dSRUdBVElPTl9UWVBFUy5hdmVyYWdlLFxuICAgIGxhYmVsOiAnbGF5ZXJWaXNDb25maWdzLmhlaWdodEFnZ3JlZ2F0aW9uJyxcbiAgICAvLyBhZ2dyZWdhdGlvbiBvcHRpb25zIGFyZSBiYXNlZCBvbiBjb2xvciBmaWVsZCB0eXBlc1xuICAgIG9wdGlvbnM6IE9iamVjdC5rZXlzKEFHR1JFR0FUSU9OX1RZUEVTKSxcbiAgICBncm91cDogUFJPUEVSVFlfR1JPVVBTLmhlaWdodCxcbiAgICBwcm9wZXJ0eTogJ3NpemVBZ2dyZWdhdGlvbicsXG4gICAgY29uZGl0aW9uOiBjb25maWcgPT4gY29uZmlnLnNpemVGaWVsZFxuICB9LFxuICBoZWlnaHRBZ2dyZWdhdGlvbjoge1xuICAgIHR5cGU6ICdzZWxlY3QnLFxuICAgIGRlZmF1bHRWYWx1ZTogQUdHUkVHQVRJT05fVFlQRVMuYXZlcmFnZSxcbiAgICBsYWJlbDogJ2xheWVyVmlzQ29uZmlncy5oZWlnaHRBZ2dyZWdhdGlvbicsXG4gICAgb3B0aW9uczogT2JqZWN0LmtleXMoQUdHUkVHQVRJT05fVFlQRVMpLFxuICAgIGdyb3VwOiBQUk9QRVJUWV9HUk9VUFMuaGVpZ2h0LFxuICAgIHByb3BlcnR5OiAnaGVpZ2h0QWdncmVnYXRpb24nLFxuICAgIGNvbmRpdGlvbjogY29uZmlnID0+IGNvbmZpZy5oZWlnaHRGaWVsZFxuICB9LFxuICBwZXJjZW50aWxlOiB7XG4gICAgdHlwZTogJ251bWJlcicsXG4gICAgZGVmYXVsdFZhbHVlOiBbMCwgMTAwXSxcbiAgICBsYWJlbDogY29uZmlnID0+XG4gICAgICBgRmlsdGVyIGJ5ICR7XG4gICAgICAgIGNvbmZpZy5jb2xvckZpZWxkXG4gICAgICAgICAgPyBgJHtjb25maWcudmlzQ29uZmlnLmNvbG9yQWdncmVnYXRpb259ICR7Y29uZmlnLmNvbG9yRmllbGQubmFtZX1gXG4gICAgICAgICAgOiAnY291bnQnXG4gICAgICB9IHBlcmNlbnRpbGVgLFxuICAgIGlzUmFuZ2VkOiB0cnVlLFxuICAgIHJhbmdlOiBbMCwgMTAwXSxcbiAgICBzdGVwOiAwLjAxLFxuICAgIGdyb3VwOiBQUk9QRVJUWV9HUk9VUFMuY29sb3IsXG4gICAgcHJvcGVydHk6ICdwZXJjZW50aWxlJyxcblxuICAgIC8vIHBlcmNlbnRpbGUgZmlsdGVyIG9ubHkgbWFrZXMgc2Vuc2Ugd2l0aCBsaW5lYXIgYWdncmVnYXRpb25cbiAgICBjb25kaXRpb246IGNvbmZpZyA9PiBjb25maWcuY29sb3JTY2FsZSAhPT0gJ29yZGluYWwnXG4gIH0sXG4gIGVsZXZhdGlvblBlcmNlbnRpbGU6IHtcbiAgICB0eXBlOiAnbnVtYmVyJyxcbiAgICBkZWZhdWx0VmFsdWU6IFswLCAxMDBdLFxuICAgIGxhYmVsOiBjb25maWcgPT5cbiAgICAgIGBGaWx0ZXIgYnkgJHtcbiAgICAgICAgY29uZmlnLnNpemVGaWVsZCA/IGAke2NvbmZpZy52aXNDb25maWcuc2l6ZUFnZ3JlZ2F0aW9ufSAke2NvbmZpZy5zaXplRmllbGQubmFtZX1gIDogJ2NvdW50J1xuICAgICAgfSBwZXJjZW50aWxlYCxcbiAgICBpc1JhbmdlZDogdHJ1ZSxcbiAgICByYW5nZTogWzAsIDEwMF0sXG4gICAgc3RlcDogMC4wMSxcbiAgICBncm91cDogUFJPUEVSVFlfR1JPVVBTLmhlaWdodCxcbiAgICBwcm9wZXJ0eTogJ2VsZXZhdGlvblBlcmNlbnRpbGUnLFxuICAgIC8vIHBlcmNlbnRpbGUgZmlsdGVyIG9ubHkgbWFrZXMgc2Vuc2Ugd2l0aCBsaW5lYXIgYWdncmVnYXRpb25cbiAgICBjb25kaXRpb246IGNvbmZpZyA9PiBjb25maWcudmlzQ29uZmlnLmVuYWJsZTNkICYmIChjb25maWcuY29sb3JGaWVsZCB8fCBjb25maWcuc2l6ZUZpZWxkKVxuICB9LFxuICByZXNvbHV0aW9uOiB7XG4gICAgdHlwZTogJ251bWJlcicsXG4gICAgZGVmYXVsdFZhbHVlOiA4LFxuICAgIGxhYmVsOiAnbGF5ZXJWaXNDb25maWdzLnJlc29sdXRpb24nLFxuICAgIGlzUmFuZ2VkOiBmYWxzZSxcbiAgICByYW5nZTogWzAsIDEzXSxcbiAgICBzdGVwOiAxLFxuICAgIGdyb3VwOiBQUk9QRVJUWV9HUk9VUFMuY2VsbCxcbiAgICBwcm9wZXJ0eTogJ3Jlc29sdXRpb24nXG4gIH0sXG4gIHNpemVTY2FsZToge1xuICAgIHR5cGU6ICdudW1iZXInLFxuICAgIGRlZmF1bHRWYWx1ZTogMTAsXG4gICAgbGFiZWw6ICdsYXllclZpc0NvbmZpZ3Muc2l6ZVNjYWxlJyxcbiAgICBpc1JhbmdlZDogZmFsc2UsXG4gICAgcmFuZ2U6IFsxLCAxMDAwXSxcbiAgICBzdGVwOiAxLFxuICAgIGdyb3VwOiBQUk9QRVJUWV9HUk9VUFMuc3Ryb2tlLFxuICAgIHByb3BlcnR5OiAnc2l6ZVNjYWxlJ1xuICB9LFxuICBhbmdsZToge1xuICAgIHR5cGU6ICdudW1iZXInLFxuICAgIGxhYmVsOiAnbGF5ZXJWaXNDb25maWdzLmFuZ2xlJyxcbiAgICBkZWZhdWx0VmFsdWU6IDAsXG4gICAgaXNSYW5nZWQ6IGZhbHNlLFxuICAgIHJhbmdlOiBbMCwgMzYwXSxcbiAgICBncm91cDogUFJPUEVSVFlfR1JPVVBTLmFuZ2xlLFxuICAgIHN0ZXA6IDEsXG4gICAgcHJvcGVydHk6ICdhbmdsZSdcbiAgfSxcbiAgd29ybGRVbml0U2l6ZToge1xuICAgIHR5cGU6ICdudW1iZXInLFxuICAgIGRlZmF1bHRWYWx1ZTogMSxcbiAgICBsYWJlbDogJ2xheWVyVmlzQ29uZmlncy53b3JsZFVuaXRTaXplJyxcbiAgICBpc1JhbmdlZDogZmFsc2UsXG4gICAgcmFuZ2U6IFswLCA1MDBdLFxuICAgIHN0ZXA6IDAuMDAwMSxcbiAgICBncm91cDogUFJPUEVSVFlfR1JPVVBTLmNlbGwsXG4gICAgcHJvcGVydHk6ICd3b3JsZFVuaXRTaXplJ1xuICB9LFxuICBlbGV2YXRpb25TY2FsZToge1xuICAgIHR5cGU6ICdudW1iZXInLFxuICAgIGRlZmF1bHRWYWx1ZTogNSxcbiAgICBsYWJlbDogJ2xheWVyVmlzQ29uZmlncy5lbGV2YXRpb25TY2FsZScsXG4gICAgaXNSYW5nZWQ6IGZhbHNlLFxuICAgIHJhbmdlOiBbMCwgNTAwMF0sXG4gICAgc3RlcDogMC4xLFxuICAgIGdyb3VwOiBQUk9QRVJUWV9HUk9VUFMuaGVpZ2h0LFxuICAgIHByb3BlcnR5OiAnZWxldmF0aW9uU2NhbGUnXG4gIH0sXG4gIGVuYWJsZUVsZXZhdGlvblpvb21GYWN0b3I6IHtcbiAgICB0eXBlOiAnYm9vbGVhbicsXG4gICAgZGVmYXVsdFZhbHVlOiB0cnVlLFxuICAgIGxhYmVsOiAnbGF5ZXJWaXNDb25maWdzLmVuYWJsZUVsZXZhdGlvblpvb21GYWN0b3InLFxuICAgIGdyb3VwOiBQUk9QRVJUWV9HUk9VUFMuaGVpZ2h0LFxuICAgIHByb3BlcnR5OiAnZW5hYmxlRWxldmF0aW9uWm9vbUZhY3RvcicsXG4gICAgZGVzY3JpcHRpb246ICdsYXllclZpc0NvbmZpZ3MuZW5hYmxlRWxldmF0aW9uWm9vbUZhY3RvckRlc2NyaXB0aW9uJ1xuICB9LFxuICBlbGV2YXRpb25SYW5nZToge1xuICAgIHR5cGU6ICdudW1iZXInLFxuICAgIGRlZmF1bHRWYWx1ZTogWzAsIDUwMF0sXG4gICAgbGFiZWw6ICdsYXllclZpc0NvbmZpZ3MuaGVpZ2h0U2NhbGUnLFxuICAgIGlzUmFuZ2VkOiB0cnVlLFxuICAgIHJhbmdlOiBbMCwgMTAwMF0sXG4gICAgc3RlcDogMC4wMSxcbiAgICBncm91cDogUFJPUEVSVFlfR1JPVVBTLmhlaWdodCxcbiAgICBwcm9wZXJ0eTogJ3NpemVSYW5nZSdcbiAgfSxcbiAgaGVpZ2h0UmFuZ2U6IHtcbiAgICB0eXBlOiAnbnVtYmVyJyxcbiAgICBkZWZhdWx0VmFsdWU6IFswLCA1MDBdLFxuICAgIGxhYmVsOiAnSGVpZ2h0IFNjYWxlJyxcbiAgICBpc1JhbmdlZDogdHJ1ZSxcbiAgICByYW5nZTogWzAsIDEwMDBdLFxuICAgIHN0ZXA6IDAuMDEsXG4gICAgZ3JvdXA6IFBST1BFUlRZX0dST1VQUy5oZWlnaHQsXG4gICAgcHJvcGVydHk6ICdoZWlnaHRSYW5nZSdcbiAgfSxcbiAgY292ZXJhZ2VSYW5nZToge1xuICAgIHR5cGU6ICdudW1iZXInLFxuICAgIGRlZmF1bHRWYWx1ZTogWzAsIDFdLFxuICAgIGxhYmVsOiAnbGF5ZXJWaXNDb25maWdzLmNvdmVyYWdlUmFuZ2UnLFxuICAgIGlzUmFuZ2VkOiB0cnVlLFxuICAgIHJhbmdlOiBbMCwgMV0sXG4gICAgc3RlcDogMC4wMSxcbiAgICBncm91cDogUFJPUEVSVFlfR1JPVVBTLnJhZGl1cyxcbiAgICBwcm9wZXJ0eTogJ2NvdmVyYWdlUmFuZ2UnXG4gIH0sXG4gIC8vIGhpIHByZWNpc2lvbiBpcyBkZXByZWNhdGVkIGJ5IGRlY2suZ2xcbiAgJ2hpLXByZWNpc2lvbic6IHtcbiAgICB0eXBlOiAnYm9vbGVhbicsXG4gICAgZGVmYXVsdFZhbHVlOiBmYWxzZSxcbiAgICBsYWJlbDogJ2xheWVyVmlzQ29uZmlncy5oaWdoUHJlY2lzaW9uUmVuZGVyaW5nJyxcbiAgICBncm91cDogUFJPUEVSVFlfR1JPVVBTLnByZWNpc2lvbixcbiAgICBwcm9wZXJ0eTogJ2hpLXByZWNpc2lvbicsXG4gICAgZGVzY3JpcHRpb246ICdsYXllclZpc0NvbmZpZ3MuaGlnaFByZWNpc2lvblJlbmRlcmluZ0Rlc2NyaXB0aW9uJ1xuICB9LFxuICBlbmFibGUzZDoge1xuICAgIHR5cGU6ICdib29sZWFuJyxcbiAgICBkZWZhdWx0VmFsdWU6IGZhbHNlLFxuICAgIGxhYmVsOiAnbGF5ZXJWaXNDb25maWdzLmhlaWdodCcsXG4gICAgZ3JvdXA6IFBST1BFUlRZX0dST1VQUy5oZWlnaHQsXG4gICAgcHJvcGVydHk6ICdlbmFibGUzZCcsXG4gICAgZGVzY3JpcHRpb246ICdsYXllclZpc0NvbmZpZ3MuaGVpZ2h0RGVzY3JpcHRpb24nXG4gIH0sXG4gIHN0cm9rZWQ6IHtcbiAgICB0eXBlOiAnYm9vbGVhbicsXG4gICAgbGFiZWw6ICdsYXllclZpc0NvbmZpZ3Muc3Ryb2tlJyxcbiAgICBkZWZhdWx0VmFsdWU6IHRydWUsXG4gICAgZ3JvdXA6IFBST1BFUlRZX0dST1VQUy5kaXNwbGF5LFxuICAgIHByb3BlcnR5OiAnc3Ryb2tlZCdcbiAgfSxcbiAgZmlsbGVkOiB7XG4gICAgdHlwZTogJ2Jvb2xlYW4nLFxuICAgIGxhYmVsOiAnbGF5ZXJWaXNDb25maWdzLmZpbGwnLFxuICAgIGRlZmF1bHRWYWx1ZTogZmFsc2UsXG4gICAgZ3JvdXA6IFBST1BFUlRZX0dST1VQUy5kaXNwbGF5LFxuICAgIHByb3BlcnR5OiAnZmlsbGVkJ1xuICB9LFxuICBleHRydWRlZDoge1xuICAgIHR5cGU6ICdib29sZWFuJyxcbiAgICBkZWZhdWx0VmFsdWU6IGZhbHNlLFxuICAgIGxhYmVsOiAnbGF5ZXJWaXNDb25maWdzLmVuYWJsZVBvbHlnb25IZWlnaHQnLFxuICAgIGdyb3VwOiBQUk9QRVJUWV9HUk9VUFMuZGlzcGxheSxcbiAgICBwcm9wZXJ0eTogJ2V4dHJ1ZGVkJ1xuICB9LFxuICB3aXJlZnJhbWU6IHtcbiAgICB0eXBlOiAnYm9vbGVhbicsXG4gICAgZGVmYXVsdFZhbHVlOiBmYWxzZSxcbiAgICBsYWJlbDogJ2xheWVyVmlzQ29uZmlncy5zaG93V2lyZWZyYW1lJyxcbiAgICBncm91cDogUFJPUEVSVFlfR1JPVVBTLmRpc3BsYXksXG4gICAgcHJvcGVydHk6ICd3aXJlZnJhbWUnXG4gIH0sXG4gIC8vIHVzZWQgZm9yIGhlYXRtYXBcbiAgd2VpZ2h0OiB7XG4gICAgdHlwZTogJ251bWJlcicsXG4gICAgZGVmYXVsdFZhbHVlOiAxLFxuICAgIGxhYmVsOiAnbGF5ZXJWaXNDb25maWdzLndlaWdodEludGVuc2l0eScsXG4gICAgaXNSYW5nZWQ6IGZhbHNlLFxuICAgIHJhbmdlOiBbMC4wMSwgNTAwXSxcbiAgICBzdGVwOiAwLjAxLFxuICAgIGdyb3VwOiBQUk9QRVJUWV9HUk9VUFMuY2VsbCxcbiAgICBwcm9wZXJ0eTogJ3dlaWdodCcsXG4gICAgY29uZGl0aW9uOiBjb25maWcgPT4gY29uZmlnLndlaWdodEZpZWxkXG4gIH0sXG4gIGhlYXRtYXBSYWRpdXM6IHtcbiAgICB0eXBlOiAnbnVtYmVyJyxcbiAgICBkZWZhdWx0VmFsdWU6IDIwLFxuICAgIGxhYmVsOiAnbGF5ZXJWaXNDb25maWdzLnJhZGl1cycsXG4gICAgaXNSYW5nZWQ6IGZhbHNlLFxuICAgIHJhbmdlOiBbMCwgMTAwXSxcbiAgICBzdGVwOiAwLjEsXG4gICAgZ3JvdXA6IFBST1BFUlRZX0dST1VQUy5jZWxsLFxuICAgIHByb3BlcnR5OiAncmFkaXVzJ1xuICB9XG59O1xuXG4vKiogQHR5cGUge2ltcG9ydCgnLi9sYXllci1mYWN0b3J5JykuTGF5ZXJUZXh0Q29uZmlnfSAqL1xuZXhwb3J0IGNvbnN0IExBWUVSX1RFWFRfQ09ORklHUyA9IHtcbiAgZm9udFNpemU6IHtcbiAgICB0eXBlOiAnbnVtYmVyJyxcbiAgICByYW5nZTogWzEsIDEwMF0sXG4gICAgdmFsdWUwOiAxLFxuICAgIHN0ZXA6IDEsXG4gICAgaXNSYW5nZWQ6IGZhbHNlLFxuICAgIGxhYmVsOiAnRm9udCBzaXplJyxcbiAgICBzaG93SW5wdXQ6IHRydWVcbiAgfSxcbiAgdGV4dEFuY2hvcjoge1xuICAgIHR5cGU6ICdzZWxlY3QnLFxuICAgIG9wdGlvbnM6IFsnc3RhcnQnLCAnbWlkZGxlJywgJ2VuZCddLFxuICAgIG11bHRpU2VsZWN0OiBmYWxzZSxcbiAgICBzZWFyY2hhYmxlOiBmYWxzZVxuICB9LFxuICB0ZXh0QWxpZ25tZW50OiB7XG4gICAgdHlwZTogJ3NlbGVjdCcsXG4gICAgb3B0aW9uczogWyd0b3AnLCAnY2VudGVyJywgJ2JvdHRvbSddLFxuICAgIG11bHRpU2VsZWN0OiBmYWxzZSxcbiAgICBzZWFyY2hhYmxlOiBmYWxzZVxuICB9XG59O1xuIl19
|
|
503
|
+
//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIi4uLy4uL3NyYy9sYXllcnMvbGF5ZXItZmFjdG9yeS5qcyJdLCJuYW1lcyI6WyJQUk9QRVJUWV9HUk9VUFMiLCJjb2xvciIsInN0cm9rZSIsImN1c3RvbU1hcmtlcnMiLCJyYWRpdXMiLCJoZWlnaHQiLCJhbmdsZSIsImNlbGwiLCJwcmVjaXNpb24iLCJERUZBVUxUX0xBWUVSX09QQUNJVFkiLCJERUZBVUxUX0hJR0hMSUdIVF9DT0xPUiIsIkRFRkFVTFRfTEFZRVJfTEFCRUwiLCJERUZBVUxUX1RFWFRfTEFCRUwiLCJmaWVsZCIsInNpemUiLCJvZmZzZXQiLCJhbmNob3IiLCJhbGlnbm1lbnQiLCJERUZBVUxUX0NVU1RPTV9QQUxFVFRFIiwibmFtZSIsInR5cGUiLCJjYXRlZ29yeSIsImNvbG9ycyIsIlVOS05PV05fQ09MT1JfS0VZIiwiREVGQVVMVF9DT0xPUl9VSSIsImN1c3RvbVBhbGV0dGUiLCJzaG93U2tldGNoZXIiLCJzaG93RHJvcGRvd24iLCJjb2xvclJhbmdlQ29uZmlnIiwic3RlcHMiLCJyZXZlcnNlZCIsImN1c3RvbSIsIkxBWUVSX1ZJU19DT05GSUdTIiwidGhpY2tuZXNzIiwiZGVmYXVsdFZhbHVlIiwibGFiZWwiLCJpc1JhbmdlZCIsInJhbmdlIiwic3RlcCIsImdyb3VwIiwicHJvcGVydHkiLCJzdHJva2VXaWR0aFJhbmdlIiwidHJhaWxMZW5ndGgiLCJmaXhlZFJhZGl1cyIsImRlc2NyaXB0aW9uIiwicmFkaXVzUmFuZ2UiLCJjbHVzdGVyUmFkaXVzIiwiY2x1c3RlclJhZGl1c1JhbmdlIiwib3BhY2l0eSIsImNvdmVyYWdlIiwib3V0bGluZSIsImRpc3BsYXkiLCJjb2xvclJhbmdlIiwiREVGQVVMVF9DT0xPUl9SQU5HRSIsInN0cm9rZUNvbG9yUmFuZ2UiLCJ0YXJnZXRDb2xvciIsInN0cm9rZUNvbG9yIiwiYWdncmVnYXRpb24iLCJBR0dSRUdBVElPTl9UWVBFUyIsImF2ZXJhZ2UiLCJvcHRpb25zIiwiT2JqZWN0Iiwia2V5cyIsImNvbmRpdGlvbiIsImNvbmZpZyIsImNvbG9yRmllbGQiLCJzaXplQWdncmVnYXRpb24iLCJzaXplRmllbGQiLCJoZWlnaHRBZ2dyZWdhdGlvbiIsImhlaWdodEZpZWxkIiwicGVyY2VudGlsZSIsInZpc0NvbmZpZyIsImNvbG9yQWdncmVnYXRpb24iLCJjb2xvclNjYWxlIiwiZWxldmF0aW9uUGVyY2VudGlsZSIsImVuYWJsZTNkIiwicmVzb2x1dGlvbiIsInNpemVTY2FsZSIsIndvcmxkVW5pdFNpemUiLCJlbGV2YXRpb25TY2FsZSIsImVuYWJsZUVsZXZhdGlvblpvb21GYWN0b3IiLCJlbGV2YXRpb25SYW5nZSIsImhlaWdodFJhbmdlIiwiY292ZXJhZ2VSYW5nZSIsInN0cm9rZWQiLCJmaWxsZWQiLCJleHRydWRlZCIsIndpcmVmcmFtZSIsIndlaWdodCIsIndlaWdodEZpZWxkIiwiaGVhdG1hcFJhZGl1cyIsImN1c3RvbU1hcmtlcnNVcmwiLCJMQVlFUl9URVhUX0NPTkZJR1MiLCJmb250U2l6ZSIsInZhbHVlMCIsInNob3dJbnB1dCIsInRleHRBbmNob3IiLCJtdWx0aVNlbGVjdCIsInNlYXJjaGFibGUiLCJ0ZXh0QWxpZ25tZW50Il0sIm1hcHBpbmdzIjoiOzs7Ozs7Ozs7Ozs7Ozs7QUFvQkE7O0FBRUE7O0FBQ0E7O0FBdkJBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBT08sSUFBTUEsZUFBZSxHQUFHLDJCQUFVO0FBQ3ZDQyxFQUFBQSxLQUFLLEVBQUUsSUFEZ0M7QUFFdkNDLEVBQUFBLE1BQU0sRUFBRSxJQUYrQjtBQUd2Q0MsRUFBQUEsYUFBYSxFQUFFLElBSHdCO0FBSXZDQyxFQUFBQSxNQUFNLEVBQUUsSUFKK0I7QUFLdkNDLEVBQUFBLE1BQU0sRUFBRSxJQUwrQjtBQU12Q0MsRUFBQUEsS0FBSyxFQUFFLElBTmdDO0FBT3ZDO0FBQ0FDLEVBQUFBLElBQUksRUFB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QSxJQUFJLEVBQUUsQ0FKRTtBQUtSRixJQUFBQSxRQUFRLEVBQUUsS0FMRjtBQU1SRCxJQUFBQSxLQUFLLEVBQUUsV0FOQztBQU9SNEQsSUFBQUEsU0FBUyxFQUFFO0FBUEgsR0FEc0I7QUFVaENDLEVBQUFBLFVBQVUsRUFBRTtBQUNWNUUsSUFBQUEsSUFBSSxFQUFFLFFBREk7QUFFVndDLElBQUFBLE9BQU8sRUFBRSxDQUFDLE9BQUQsRUFBVSxRQUFWLEVBQW9CLEtBQXBCLENBRkM7QUFHVnFDLElBQUFBLFdBQVcsRUFBRSxLQUhIO0FBSVZDLElBQUFBLFVBQVUsRUFBRTtBQUpGLEdBVm9CO0FBZ0JoQ0MsRUFBQUEsYUFBYSxFQUFFO0FBQ2IvRSxJQUFBQSxJQUFJLEVBQUUsUUFETztBQUVid0MsSUFBQUEsT0FBTyxFQUFFLENBQUMsS0FBRCxFQUFRLFFBQVIsRUFBa0IsUUFBbEIsQ0FGSTtBQUdicUMsSUFBQUEsV0FBVyxFQUFFLEtBSEE7QUFJYkMsSUFBQUEsVUFBVSxFQUFFO0FBSkM7QUFoQmlCLENBQTNCIiwic291cmNlc0NvbnRlbnQiOlsiLy8gQ29weXJpZ2h0IChjKSAyMDIyIFViZXIgVGVjaG5vbG9naWVzLCBJbmMuXG4vL1xuLy8gUGVybWlzc2lvbiBpcyBoZXJlYnkgZ3JhbnRlZCwgZnJlZSBvZiBjaGFyZ2UsIHRvIGFueSBwZXJzb24gb2J0YWluaW5nIGEgY29weVxuLy8gb2YgdGhpcyBzb2Z0d2FyZSBhbmQgYXNzb2NpYXRlZCBkb2N1bWVudGF0aW9uIGZpbGVzICh0aGUgXCJTb2Z0d2FyZVwiKSwgdG8gZGVhbFxuLy8gaW4gdGhlIFNvZnR3YXJlIHdpdGhvdXQgcmVzdHJpY3Rpb24sIGluY2x1ZGluZyB3aXRob3V0IGxpbWl0YXRpb24gdGhlIHJpZ2h0c1xuLy8gdG8gdXNlLCBjb3B5LCBtb2RpZnksIG1lcmdlLCBwdWJsaXNoLCBkaXN0cmlidXRlLCBzdWJsaWNlbnNlLCBhbmQvb3Igc2VsbFxuLy8gY29waWVzIG9mIHRoZSBTb2Z0d2FyZSwgYW5kIHRvIHBlcm1pdCBwZXJzb25zIHRvIHdob20gdGhlIFNvZnR3YXJlIGlzXG4vLyBmdXJuaXNoZWQgdG8gZG8gc28sIHN1YmplY3QgdG8gdGhlIGZvbGxvd2luZyBjb25kaXRpb25zOlxuLy9cbi8vIFRoZSBhYm92ZSBjb3B5cmlnaHQgbm90aWNlIGFuZCB0aGlzIHBlcm1pc3Npb24gbm90aWNlIHNoYWxsIGJlIGluY2x1ZGVkIGluXG4vLyBhbGwgY29waWVzIG9yIHN1YnN0YW50aWFsIHBvcnRpb25zIG9mIHRoZSBTb2Z0d2FyZS5cbi8vXG4vLyBUSEUgU09GVFdBUkUgSVMgUFJPVklERUQgXCJBUyBJU1wiLCBXSVRIT1VUIFdBUlJBTlRZIE9GIEFOWSBLSU5ELCBFWFBSRVNTIE9SXG4vLyBJTVBMSUVELCBJTkNMVURJTkcgQlVUIE5PVCBMSU1JVEVEIFRPIFRIRSBXQVJSQU5USUVTIE9GIE1FUkNIQU5UQUJJTElUWSxcbi8vIEZJVE5FU1MgRk9SIEEgUEFSVElDVUxBUiBQVVJQT1NFIEFORCBOT05JTkZSSU5HRU1FTlQuIElOIE5PIEVWRU5UIFNIQUxMIFRIRVxuLy8gQVVUSE9SUyBPUiBDT1BZUklHSFQgSE9MREVSUyBCRSBMSUFCTEUgRk9SIEFOWSBDTEFJTSwgREFNQUdFUyBPUiBPVEhFUlxuLy8gTElBQklMSVRZLCBXSEVUSEVSIElOIEFOIEFDVElPTiBPRiBDT05UUkFDVCwgVE9SVCBPUiBPVEhFUldJU0UsIEFSSVNJTkcgRlJPTSxcbi8vIE9VVCBPRiBPUiBJTiBDT05ORUNUSU9OIFdJVEggVEhFIFNPRlRXQVJFIE9SIFRIRSBVU0UgT1IgT1RIRVIgREVBTElOR1MgSU5cbi8vIFRIRSBTT0ZUV0FSRS5cblxuaW1wb3J0IGtleU1pcnJvciBmcm9tICdrZXltaXJyb3InO1xuXG5pbXBvcnQge0FHR1JFR0FUSU9OX1RZUEVTfSBmcm9tICdjb25zdGFudHMvZGVmYXVsdC1zZXR0aW5ncyc7XG5pbXBvcnQge0RFRkFVTFRfQ09MT1JfUkFOR0V9IGZyb20gJ2NvbnN0YW50cy9jb2xvci1yYW5nZXMnO1xuXG5leHBvcnQgY29uc3QgUFJPUEVSVFlfR1JPVVBTID0ga2V5TWlycm9yKHtcbiAgY29sb3I6IG51bGwsXG4gIHN0cm9rZTogbnVsbCxcbiAgY3VzdG9tTWFya2VyczogbnVsbCxcbiAgcmFkaXVzOiBudWxsLFxuICBoZWlnaHQ6IG51bGwsXG4gIGFuZ2xlOiBudWxsLFxuICAvLyBmb3IgaGVhdG1hcCBhZ2dyZWdhdGlvblxuICBjZWxsOiBudWxsLFxuICBwcmVjaXNpb246IG51bGxcbn0pO1xuXG5leHBvcnQgY29uc3QgREVGQVVMVF9MQVlFUl9PUEFDSVRZID0gMC44O1xuZXhwb3J0IGNvbnN0IERFRkFVTFRfSElHSExJR0hUX0NPTE9SID0gWzI1MiwgMjQyLCAyNiwgMjU1XTtcbmV4cG9ydCBjb25zdCBERUZBVUxUX0xBWUVSX0xBQkVMID0gJ25ldyBsYXllcic7XG5leHBvcnQge0RFRkFVTFRfQ09MT1JfUkFOR0V9O1xuXG4vKiogQHR5cGUge2ltcG9ydCgnLi9sYXllci1mYWN0b3J5JykuTGF5ZXJUZXh0TGFiZWx9ICovXG5leHBvcnQgY29uc3QgREVGQVVMVF9URVhUX0xBQkVMID0ge1xuICBmaWVsZDogbnVsbCxcbiAgY29sb3I6IFsyNTUsIDI1NSwgMjU1XSxcbiAgc2l6ZTogMTgsXG4gIG9mZnNldDogWzAsIDBdLFxuICBhbmNob3I6ICdzdGFydCcsXG4gIGFsaWdubWVudDogJ2NlbnRlcidcbn07XG5cbi8qKiBAdHlwZSB7aW1wb3J0KCcuL2xheWVyLWZhY3RvcnknKS5Db2xvclJhbmdlfSAqL1xuZXhwb3J0IGNvbnN0IERFRkFVTFRfQ1VTVE9NX1BBTEVUVEUgPSB7XG4gIG5hbWU6ICdjb2xvci5jdXN0b21QYWxldHRlJyxcbiAgdHlwZTogJ2N1c3RvbScsXG4gIGNhdGVnb3J5OiAnQ3VzdG9tJyxcbiAgY29sb3JzOiBbXVxufTtcblxuZXhwb3J0IGNvbnN0IFVOS05PV05fQ09MT1JfS0VZID0gJ19fdW5rbm93bkNvbG9yX18nO1xuXG4vKiogQHR5cGUge2ltcG9ydCgnLi9sYXllci1mYWN0b3J5JykuQ29sb3JVSX0gKi9cbmV4cG9ydCBjb25zdCBERUZBVUxUX0NPTE9SX1VJID0ge1xuICAvLyBjdXN0b21QYWxldHRlIGluIGVkaXRcbiAgY3VzdG9tUGFsZXR0ZTogREVGQVVMVF9DVVNUT01fUEFMRVRURSxcbiAgLy8gc2hvdyBjb2xvciBza2V0Y2hlciBtb2RhbFxuICBzaG93U2tldGNoZXI6IGZhbHNlLFxuICAvLyBzaG93IGNvbG9yIHJhbmdlIHNlbGVjdGlvbiBwYW5lbFxuICBzaG93RHJvcGRvd246IGZhbHNlLFxuICAvLyBjb2xvciByYW5nZSBzZWxlY3RvciBjb25maWdcbiAgY29sb3JSYW5nZUNvbmZpZzoge1xuICAgIHR5cGU6ICdhbGwnLFxuICAgIHN0ZXBzOiA2LFxuICAgIHJldmVyc2VkOiBmYWxzZSxcbiAgICBjdXN0b206IGZhbHNlXG4gIH1cbn07XG5cbi8qKiBAdHlwZSB7aW1wb3J0KCcuL2xheWVyLWZhY3RvcnknKS5MYXllclZpc0NvbmZpZ30gKi9cbmV4cG9ydCBjb25zdCBMQVlFUl9WSVNfQ09ORklHUyA9IHtcbiAgdGhpY2tuZXNzOiB7XG4gICAgdHlwZTogJ251bWJlcicsXG4gICAgZGVmYXVsdFZhbHVlOiAyLFxuICAgIGxhYmVsOiAnbGF5ZXJWaXNDb25maWdzLnN0cm9rZVdpZHRoJyxcbiAgICBpc1JhbmdlZDogZmFsc2UsXG4gICAgcmFuZ2U6IFswLCAxMDBdLFxuICAgIHN0ZXA6IDAuMSxcbiAgICBncm91cDogUFJPUEVSVFlfR1JPVVBTLnN0cm9rZSxcbiAgICBwcm9wZXJ0eTogJ3RoaWNrbmVzcydcbiAgfSxcbiAgc3Ryb2tlV2lkdGhSYW5nZToge1xuICAgIHR5cGU6ICdudW1iZXInLFxuICAgIGRlZmF1bHRWYWx1ZTogWzAsIDEwXSxcbiAgICBsYWJlbDogJ2xheWVyVmlzQ29uZmlncy5zdHJva2VXaWR0aFJhbmdlJyxcbiAgICBpc1JhbmdlZDogdHJ1ZSxcbiAgICByYW5nZTogWzAsIDIwMF0sXG4gICAgc3RlcDogMC4xLFxuICAgIGdyb3VwOiBQUk9QRVJUWV9HUk9VUFMuc3Ryb2tlLFxuICAgIHByb3BlcnR5OiAnc2l6ZVJhbmdlJ1xuICB9LFxuICB0cmFpbExlbmd0aDoge1xuICAgIHR5cGU6ICdudW1iZXInLFxuICAgIGRlZmF1bHRWYWx1ZTogMTgwLFxuICAgIGxhYmVsOiAnbGF5ZXJWaXNDb25maWdzLnN0cm9rZVdpZHRoJyxcbiAgICBpc1JhbmdlZDogZmFsc2UsXG4gICAgcmFuZ2U6IFsxLCAxMDAwXSxcbiAgICBzdGVwOiAxLFxuICAgIGdyb3VwOiBQUk9QRVJUWV9HUk9VUFMuc3Ryb2tlLFxuICAgIHByb3BlcnR5OiAndHJhaWxMZW5ndGgnXG4gIH0sXG4gIC8vIHJhZGl1cyBpcyBhY3R1YWxseSByYWRpdXNTY2FsZSBpbiBkZWNrLmdsXG4gIHJhZGl1czoge1xuICAgIHR5cGU6ICdudW1iZXInLFxuICAgIGRlZmF1bHRWYWx1ZTogMixcbiAgICBsYWJlbDogJ2xheWVyVmlzQ29uZmlncy5yYWRpdXMnLFxuICAgIGlzUmFuZ2VkOiBmYWxzZSxcbiAgICByYW5nZTogWzAsIDEwMF0sXG4gICAgc3RlcDogMC4xLFxuICAgIGdyb3VwOiBQUk9QRVJUWV9HUk9VUFMucmFkaXVzLFxuICAgIHByb3BlcnR5OiAncmFkaXVzJ1xuICB9LFxuICBmaXhlZFJhZGl1czoge1xuICAgIGRlZmF1bHRWYWx1ZTogZmFsc2UsXG4gICAgdHlwZTogJ2Jvb2xlYW4nLFxuICAgIGxhYmVsOiAnbGF5ZXJWaXNDb25maWdzLmZpeGVkUmFkaXVzJyxcbiAgICBkZXNjcmlwdGlvbjogJ2xheWVyVmlzQ29uZmlncy5maXhlZFJhZGl1c0Rlc2NyaXB0aW9uJyxcbiAgICBncm91cDogUFJPUEVSVFlfR1JPVVBTLnJhZGl1cyxcbiAgICBwcm9wZXJ0eTogJ2ZpeGVkUmFkaXVzJ1xuICB9LFxuICByYWRpdXNSYW5nZToge1xuICAgIHR5cGU6ICdudW1iZXInLFxuICAgIGRlZmF1bHRWYWx1ZTogWzAsIDUwXSxcbiAgICBpc1JhbmdlZDogdHJ1ZSxcbiAgICByYW5nZTogWzAsIDUwMF0sXG4gICAgc3RlcDogMC4xLFxuICAgIGxhYmVsOiAnbGF5ZXJWaXNDb25maWdzLnJhZGl1c1JhbmdlJyxcbiAgICBncm91cDogUFJPUEVSVFlfR1JPVVBTLnJhZGl1cyxcbiAgICBwcm9wZXJ0eTogJ3JhZGl1c1JhbmdlJ1xuICB9LFxuICBjbHVzdGVyUmFkaXVzOiB7XG4gICAgdHlwZTogJ251bWJlcicsXG4gICAgbGFiZWw6ICdsYXllclZpc0NvbmZpZ3MuY2x1c3RlclJhZGl1cycsXG4gICAgZGVmYXVsdFZhbHVlOiA0MCxcbiAgICBpc1JhbmdlZDogZmFsc2UsXG4gICAgcmFuZ2U6IFsxLCA1MDBdLFxuICAgIHN0ZXA6IDAuMSxcbiAgICBncm91cDogUFJPUEVSVFlfR1JPVVBTLnJhZGl1cyxcbiAgICBwcm9wZXJ0eTogJ2NsdXN0ZXJSYWRpdXMnXG4gIH0sXG4gIGNsdXN0ZXJSYWRpdXNSYW5nZToge1xuICAgIHR5cGU6ICdudW1iZXInLFxuICAgIGxhYmVsOiAnbGF5ZXJWaXNDb25maWdzLnJhZGl1c1JhbmdlUGl4ZWxzJyxcbiAgICBkZWZhdWx0VmFsdWU6IFsxLCA0MF0sXG4gICAgaXNSYW5nZWQ6IHRydWUsXG4gICAgcmFuZ2U6IFsxLCAxNTBdLFxuICAgIHN0ZXA6IDAuMSxcbiAgICBncm91cDogUFJPUEVSVFlfR1JPVVBTLnJhZGl1cyxcbiAgICBwcm9wZXJ0eTogJ3JhZGl1c1JhbmdlJ1xuICB9LFxuICBvcGFjaXR5OiB7XG4gICAgdHlwZTogJ251bWJlcicsXG4gICAgZGVmYXVsdFZhbHVlOiBERUZBVUxUX0xBWUVSX09QQUNJVFksXG4gICAgbGFiZWw6ICdsYXllclZpc0NvbmZpZ3Mub3BhY2l0eScsXG4gICAgaXNSYW5nZWQ6IGZhbHNlLFxuICAgIHJhbmdlOiBbMCwgMV0sXG4gICAgc3RlcDogMC4wMSxcbiAgICBncm91cDogUFJPUEVSVFlfR1JPVVBTLmNvbG9yLFxuICAgIHByb3BlcnR5OiAnb3BhY2l0eSdcbiAgfSxcbiAgY292ZXJhZ2U6IHtcbiAgICB0eXBlOiAnbnVtYmVyJyxcbiAgICBkZWZhdWx0VmFsdWU6IDEsXG4gICAgbGFiZWw6ICdsYXllclZpc0NvbmZpZ3MuY292ZXJhZ2UnLFxuICAgIGlzUmFuZ2VkOiBmYWxzZSxcbiAgICByYW5nZTogWzAsIDFdLFxuICAgIHN0ZXA6IDAuMDEsXG4gICAgZ3JvdXA6IFBST1BFUlRZX0dST1VQUy5jZWxsLFxuICAgIHByb3BlcnR5OiAnY292ZXJhZ2UnXG4gIH0sXG4gIC8vIHVzZWQgaW4gcG9pbnQgbGF5ZXJcbiAgb3V0bGluZToge1xuICAgIHR5cGU6ICdib29sZWFuJyxcbiAgICBkZWZhdWx0VmFsdWU6IGZhbHNlLFxuICAgIGxhYmVsOiAnbGF5ZXIub3V0bGluZScsXG4gICAgZ3JvdXA6IFBST1BFUlRZX0dST1VQUy5kaXNwbGF5LFxuICAgIHByb3BlcnR5OiAnb3V0bGluZSdcbiAgfSxcbiAgY29sb3JSYW5nZToge1xuICAgIHR5cGU6ICdjb2xvci1yYW5nZS1zZWxlY3QnLFxuICAgIGRlZmF1bHRWYWx1ZTogREVGQVVMVF9DT0xPUl9SQU5HRSxcbiAgICBsYWJlbDogJ2xheWVyVmlzQ29uZmlncy5jb2xvclJhbmdlJyxcbiAgICBncm91cDogUFJPUEVSVFlfR1JPVVBTLmNvbG9yLFxuICAgIHByb3BlcnR5OiAnY29sb3JSYW5nZSdcbiAgfSxcbiAgc3Ryb2tlQ29sb3JSYW5nZToge1xuICAgIHR5cGU6ICdjb2xvci1yYW5nZS1zZWxlY3QnLFxuICAgIGRlZmF1bHRWYWx1ZTogREVGQVVMVF9DT0xPUl9SQU5HRSxcbiAgICBsYWJlbDogJ2xheWVyVmlzQ29uZmlncy5zdHJva2VDb2xvclJhbmdlJyxcbiAgICBncm91cDogUFJPUEVSVFlfR1JPVVBTLmNvbG9yLFxuICAgIHByb3BlcnR5OiAnc3Ryb2tlQ29sb3JSYW5nZSdcbiAgfSxcbiAgdGFyZ2V0Q29sb3I6IHtcbiAgICB0eXBlOiAnY29sb3Itc2VsZWN0JyxcbiAgICBsYWJlbDogJ2xheWVyVmlzQ29uZmlncy50YXJnZXRDb2xvcicsXG4gICAgZGVmYXVsdFZhbHVlOiBudWxsLFxuICAgIGdyb3VwOiBQUk9QRVJUWV9HUk9VUFMuY29sb3IsXG4gICAgcHJvcGVydHk6ICd0YXJnZXRDb2xvcidcbiAgfSxcbiAgc3Ryb2tlQ29sb3I6IHtcbiAgICB0eXBlOiAnY29sb3Itc2VsZWN0JyxcbiAgICBsYWJlbDogJ2xheWVyVmlzQ29uZmlncy5zdHJva2VDb2xvcicsXG4gICAgZGVmYXVsdFZhbHVlOiBudWxsLFxuICAgIGdyb3VwOiBQUk9QRVJUWV9HUk9VUFMuY29sb3IsXG4gICAgcHJvcGVydHk6ICdzdHJva2VDb2xvcidcbiAgfSxcbiAgYWdncmVnYXRpb246IHtcbiAgICB0eXBlOiAnc2VsZWN0JyxcbiAgICBkZWZhdWx0VmFsdWU6IEFHR1JFR0FUSU9OX1RZUEVTLmF2ZXJhZ2UsXG4gICAgbGFiZWw6ICdsYXllclZpc0NvbmZpZ3MuY29sb3JBZ2dyZWdhdGlvbicsXG4gICAgLy8gYWdncmVnYXRpb24gb3B0aW9ucyBhcmUgYmFzZWQgb24gY29sb3IgZmllbGQgdHlwZXNcbiAgICBvcHRpb25zOiBPYmplY3Qua2V5cyhBR0dSRUdBVElPTl9UWVBFUyksXG4gICAgZ3JvdXA6IFBST1BFUlRZX0dST1VQUy5jb2xvcixcbiAgICBwcm9wZXJ0eTogJ2NvbG9yQWdncmVnYXRpb24nLFxuICAgIGNvbmRpdGlvbjogY29uZmlnID0+IGNvbmZpZy5jb2xvckZpZWxkXG4gIH0sXG4gIHNpemVBZ2dyZWdhdGlvbjoge1xuICAgIHR5cGU6ICdzZWxlY3QnLFxuICAgIGRlZmF1bHRWYWx1ZTogQUdHUkVHQVRJT05fVFlQRVMuYXZlcmFnZSxcbiAgICBsYWJlbDogJ2xheWVyVmlzQ29uZmlncy5oZWlnaHRBZ2dyZWdhdGlvbicsXG4gICAgLy8gYWdncmVnYXRpb24gb3B0aW9ucyBhcmUgYmFzZWQgb24gY29sb3IgZmllbGQgdHlwZXNcbiAgICBvcHRpb25zOiBPYmplY3Qua2V5cyhBR0dSRUdBVElPTl9UWVBFUyksXG4gICAgZ3JvdXA6IFBST1BFUlRZX0dST1VQUy5oZWlnaHQsXG4gICAgcHJvcGVydHk6ICdzaXplQWdncmVnYXRpb24nLFxuICAgIGNvbmRpdGlvbjogY29uZmlnID0+IGNvbmZpZy5zaXplRmllbGRcbiAgfSxcbiAgaGVpZ2h0QWdncmVnYXRpb246IHtcbiAgICB0eXBlOiAnc2VsZWN0JyxcbiAgICBkZWZhdWx0VmFsdWU6IEFHR1JFR0FUSU9OX1RZUEVTLmF2ZXJhZ2UsXG4gICAgbGFiZWw6ICdsYXllclZpc0NvbmZpZ3MuaGVpZ2h0QWdncmVnYXRpb24nLFxuICAgIG9wdGlvbnM6IE9iamVjdC5rZXlzKEFHR1JFR0FUSU9OX1RZUEVTKSxcbiAgICBncm91cDogUFJPUEVSVFlfR1JPVVBTLmhlaWdodCxcbiAgICBwcm9wZXJ0eTogJ2hlaWdodEFnZ3JlZ2F0aW9uJyxcbiAgICBjb25kaXRpb246IGNvbmZpZyA9PiBjb25maWcuaGVpZ2h0RmllbGRcbiAgfSxcbiAgcGVyY2VudGlsZToge1xuICAgIHR5cGU6ICdudW1iZXInLFxuICAgIGRlZmF1bHRWYWx1ZTogWzAsIDEwMF0sXG4gICAgbGFiZWw6IGNvbmZpZyA9PlxuICAgICAgYEZpbHRlciBieSAke1xuICAgICAgICBjb25maWcuY29sb3JGaWVsZFxuICAgICAgICAgID8gYCR7Y29uZmlnLnZpc0NvbmZpZy5jb2xvckFnZ3JlZ2F0aW9ufSAke2NvbmZpZy5jb2xvckZpZWxkLm5hbWV9YFxuICAgICAgICAgIDogJ2NvdW50J1xuICAgICAgfSBwZXJjZW50aWxlYCxcbiAgICBpc1JhbmdlZDogdHJ1ZSxcbiAgICByYW5nZTogWzAsIDEwMF0sXG4gICAgc3RlcDogMC4wMSxcbiAgICBncm91cDogUFJPUEVSVFlfR1JPVVBTLmNvbG9yLFxuICAgIHByb3BlcnR5OiAncGVyY2VudGlsZScsXG5cbiAgICAvLyBwZXJjZW50aWxlIGZpbHRlciBvbmx5IG1ha2VzIHNlbnNlIHdpdGggbGluZWFyIGFnZ3JlZ2F0aW9uXG4gICAgY29uZGl0aW9uOiBjb25maWcgPT4gY29uZmlnLmNvbG9yU2NhbGUgIT09ICdvcmRpbmFsJ1xuICB9LFxuICBlbGV2YXRpb25QZXJjZW50aWxlOiB7XG4gICAgdHlwZTogJ251bWJlcicsXG4gICAgZGVmYXVsdFZhbHVlOiBbMCwgMTAwXSxcbiAgICBsYWJlbDogY29uZmlnID0+XG4gICAgICBgRmlsdGVyIGJ5ICR7XG4gICAgICAgIGNvbmZpZy5zaXplRmllbGQgPyBgJHtjb25maWcudmlzQ29uZmlnLnNpemVBZ2dyZWdhdGlvbn0gJHtjb25maWcuc2l6ZUZpZWxkLm5hbWV9YCA6ICdjb3VudCdcbiAgICAgIH0gcGVyY2VudGlsZWAsXG4gICAgaXNSYW5nZWQ6IHRydWUsXG4gICAgcmFuZ2U6IFswLCAxMDBdLFxuICAgIHN0ZXA6IDAuMDEsXG4gICAgZ3JvdXA6IFBST1BFUlRZX0dST1VQUy5oZWlnaHQsXG4gICAgcHJvcGVydHk6ICdlbGV2YXRpb25QZXJjZW50aWxlJyxcbiAgICAvLyBwZXJjZW50aWxlIGZpbHRlciBvbmx5IG1ha2VzIHNlbnNlIHdpdGggbGluZWFyIGFnZ3JlZ2F0aW9uXG4gICAgY29uZGl0aW9uOiBjb25maWcgPT4gY29uZmlnLnZpc0NvbmZpZy5lbmFibGUzZCAmJiAoY29uZmlnLmNvbG9yRmllbGQgfHwgY29uZmlnLnNpemVGaWVsZClcbiAgfSxcbiAgcmVzb2x1dGlvbjoge1xuICAgIHR5cGU6ICdudW1iZXInLFxuICAgIGRlZmF1bHRWYWx1ZTogOCxcbiAgICBsYWJlbDogJ2xheWVyVmlzQ29uZmlncy5yZXNvbHV0aW9uJyxcbiAgICBpc1JhbmdlZDogZmFsc2UsXG4gICAgcmFuZ2U6IFswLCAxM10sXG4gICAgc3RlcDogMSxcbiAgICBncm91cDogUFJPUEVSVFlfR1JPVVBTLmNlbGwsXG4gICAgcHJvcGVydHk6ICdyZXNvbHV0aW9uJ1xuICB9LFxuICBzaXplU2NhbGU6IHtcbiAgICB0eXBlOiAnbnVtYmVyJyxcbiAgICBkZWZhdWx0VmFsdWU6IDEwLFxuICAgIGxhYmVsOiAnbGF5ZXJWaXNDb25maWdzLnNpemVTY2FsZScsXG4gICAgaXNSYW5nZWQ6IGZhbHNlLFxuICAgIHJhbmdlOiBbMSwgMTAwMF0sXG4gICAgc3RlcDogMSxcbiAgICBncm91cDogUFJPUEVSVFlfR1JPVVBTLnN0cm9rZSxcbiAgICBwcm9wZXJ0eTogJ3NpemVTY2FsZSdcbiAgfSxcbiAgYW5nbGU6IHtcbiAgICB0eXBlOiAnbnVtYmVyJyxcbiAgICBsYWJlbDogJ2xheWVyVmlzQ29uZmlncy5hbmdsZScsXG4gICAgZGVmYXVsdFZhbHVlOiAwLFxuICAgIGlzUmFuZ2VkOiBmYWxzZSxcbiAgICByYW5nZTogWzAsIDM2MF0sXG4gICAgZ3JvdXA6IFBST1BFUlRZX0dST1VQUy5hbmdsZSxcbiAgICBzdGVwOiAxLFxuICAgIHByb3BlcnR5OiAnYW5nbGUnXG4gIH0sXG4gIHdvcmxkVW5pdFNpemU6IHtcbiAgICB0eXBlOiAnbnVtYmVyJyxcbiAgICBkZWZhdWx0VmFsdWU6IDEsXG4gICAgbGFiZWw6ICdsYXllclZpc0NvbmZpZ3Mud29ybGRVbml0U2l6ZScsXG4gICAgaXNSYW5nZWQ6IGZhbHNlLFxuICAgIHJhbmdlOiBbMCwgNTAwXSxcbiAgICBzdGVwOiAwLjAwMDEsXG4gICAgZ3JvdXA6IFBST1BFUlRZX0dST1VQUy5jZWxsLFxuICAgIHByb3BlcnR5OiAnd29ybGRVbml0U2l6ZSdcbiAgfSxcbiAgZWxldmF0aW9uU2NhbGU6IHtcbiAgICB0eXBlOiAnbnVtYmVyJyxcbiAgICBkZWZhdWx0VmFsdWU6IDUsXG4gICAgbGFiZWw6ICdsYXllclZpc0NvbmZpZ3MuZWxldmF0aW9uU2NhbGUnLFxuICAgIGlzUmFuZ2VkOiBmYWxzZSxcbiAgICByYW5nZTogWzAsIDUwMDBdLFxuICAgIHN0ZXA6IDAuMSxcbiAgICBncm91cDogUFJPUEVSVFlfR1JPVVBTLmhlaWdodCxcbiAgICBwcm9wZXJ0eTogJ2VsZXZhdGlvblNjYWxlJ1xuICB9LFxuICBlbmFibGVFbGV2YXRpb25ab29tRmFjdG9yOiB7XG4gICAgdHlwZTogJ2Jvb2xlYW4nLFxuICAgIGRlZmF1bHRWYWx1ZTogdHJ1ZSxcbiAgICBsYWJlbDogJ2xheWVyVmlzQ29uZmlncy5lbmFibGVFbGV2YXRpb25ab29tRmFjdG9yJyxcbiAgICBncm91cDogUFJPUEVSVFlfR1JPVVBTLmhlaWdodCxcbiAgICBwcm9wZXJ0eTogJ2VuYWJsZUVsZXZhdGlvblpvb21GYWN0b3InLFxuICAgIGRlc2NyaXB0aW9uOiAnbGF5ZXJWaXNDb25maWdzLmVuYWJsZUVsZXZhdGlvblpvb21GYWN0b3JEZXNjcmlwdGlvbidcbiAgfSxcbiAgZWxldmF0aW9uUmFuZ2U6IHtcbiAgICB0eXBlOiAnbnVtYmVyJyxcbiAgICBkZWZhdWx0VmFsdWU6IFswLCA1MDBdLFxuICAgIGxhYmVsOiAnbGF5ZXJWaXNDb25maWdzLmhlaWdodFNjYWxlJyxcbiAgICBpc1JhbmdlZDogdHJ1ZSxcbiAgICByYW5nZTogWzAsIDEwMDBdLFxuICAgIHN0ZXA6IDAuMDEsXG4gICAgZ3JvdXA6IFBST1BFUlRZX0dST1VQUy5oZWlnaHQsXG4gICAgcHJvcGVydHk6ICdzaXplUmFuZ2UnXG4gIH0sXG4gIGhlaWdodFJhbmdlOiB7XG4gICAgdHlwZTogJ251bWJlcicsXG4gICAgZGVmYXVsdFZhbHVlOiBbMCwgNTAwXSxcbiAgICBsYWJlbDogJ0hlaWdodCBTY2FsZScsXG4gICAgaXNSYW5nZWQ6IHRydWUsXG4gICAgcmFuZ2U6IFswLCAxMDAwXSxcbiAgICBzdGVwOiAwLjAxLFxuICAgIGdyb3VwOiBQUk9QRVJUWV9HUk9VUFMuaGVpZ2h0LFxuICAgIHByb3BlcnR5OiAnaGVpZ2h0UmFuZ2UnXG4gIH0sXG4gIGNvdmVyYWdlUmFuZ2U6IHtcbiAgICB0eXBlOiAnbnVtYmVyJyxcbiAgICBkZWZhdWx0VmFsdWU6IFswLCAxXSxcbiAgICBsYWJlbDogJ2xheWVyVmlzQ29uZmlncy5jb3ZlcmFnZVJhbmdlJyxcbiAgICBpc1JhbmdlZDogdHJ1ZSxcbiAgICByYW5nZTogWzAsIDFdLFxuICAgIHN0ZXA6IDAuMDEsXG4gICAgZ3JvdXA6IFBST1BFUlRZX0dST1VQUy5yYWRpdXMsXG4gICAgcHJvcGVydHk6ICdjb3ZlcmFnZVJhbmdlJ1xuICB9LFxuICAvLyBoaSBwcmVjaXNpb24gaXMgZGVwcmVjYXRlZCBieSBkZWNrLmdsXG4gICdoaS1wcmVjaXNpb24nOiB7XG4gICAgdHlwZTogJ2Jvb2xlYW4nLFxuICAgIGRlZmF1bHRWYWx1ZTogZmFsc2UsXG4gICAgbGFiZWw6ICdsYXllclZpc0NvbmZpZ3MuaGlnaFByZWNpc2lvblJlbmRlcmluZycsXG4gICAgZ3JvdXA6IFBST1BFUlRZX0dST1VQUy5wcmVjaXNpb24sXG4gICAgcHJvcGVydHk6ICdoaS1wcmVjaXNpb24nLFxuICAgIGRlc2NyaXB0aW9uOiAnbGF5ZXJWaXNDb25maWdzLmhpZ2hQcmVjaXNpb25SZW5kZXJpbmdEZXNjcmlwdGlvbidcbiAgfSxcbiAgZW5hYmxlM2Q6IHtcbiAgICB0eXBlOiAnYm9vbGVhbicsXG4gICAgZGVmYXVsdFZhbHVlOiBmYWxzZSxcbiAgICBsYWJlbDogJ2xheWVyVmlzQ29uZmlncy5oZWlnaHQnLFxuICAgIGdyb3VwOiBQUk9QRVJUWV9HUk9VUFMuaGVpZ2h0LFxuICAgIHByb3BlcnR5OiAnZW5hYmxlM2QnLFxuICAgIGRlc2NyaXB0aW9uOiAnbGF5ZXJWaXNDb25maWdzLmhlaWdodERlc2NyaXB0aW9uJ1xuICB9LFxuICBzdHJva2VkOiB7XG4gICAgdHlwZTogJ2Jvb2xlYW4nLFxuICAgIGxhYmVsOiAnbGF5ZXJWaXNDb25maWdzLnN0cm9rZScsXG4gICAgZGVmYXVsdFZhbHVlOiB0cnVlLFxuICAgIGdyb3VwOiBQUk9QRVJUWV9HUk9VUFMuZGlzcGxheSxcbiAgICBwcm9wZXJ0eTogJ3N0cm9rZWQnXG4gIH0sXG4gIGZpbGxlZDoge1xuICAgIHR5cGU6ICdib29sZWFuJyxcbiAgICBsYWJlbDogJ2xheWVyVmlzQ29uZmlncy5maWxsJyxcbiAgICBkZWZhdWx0VmFsdWU6IGZhbHNlLFxuICAgIGdyb3VwOiBQUk9QRVJUWV9HUk9VUFMuZGlzcGxheSxcbiAgICBwcm9wZXJ0eTogJ2ZpbGxlZCdcbiAgfSxcbiAgZXh0cnVkZWQ6IHtcbiAgICB0eXBlOiAnYm9vbGVhbicsXG4gICAgZGVmYXVsdFZhbHVlOiBmYWxzZSxcbiAgICBsYWJlbDogJ2xheWVyVmlzQ29uZmlncy5lbmFibGVQb2x5Z29uSGVpZ2h0JyxcbiAgICBncm91cDogUFJPUEVSVFlfR1JPVVBTLmRpc3BsYXksXG4gICAgcHJvcGVydHk6ICdleHRydWRlZCdcbiAgfSxcbiAgd2lyZWZyYW1lOiB7XG4gICAgdHlwZTogJ2Jvb2xlYW4nLFxuICAgIGRlZmF1bHRWYWx1ZTogZmFsc2UsXG4gICAgbGFiZWw6ICdsYXllclZpc0NvbmZpZ3Muc2hvd1dpcmVmcmFtZScsXG4gICAgZ3JvdXA6IFBST1BFUlRZX0dST1VQUy5kaXNwbGF5LFxuICAgIHByb3BlcnR5OiAnd2lyZWZyYW1lJ1xuICB9LFxuICAvLyB1c2VkIGZvciBoZWF0bWFwXG4gIHdlaWdodDoge1xuICAgIHR5cGU6ICdudW1iZXInLFxuICAgIGRlZmF1bHRWYWx1ZTogMSxcbiAgICBsYWJlbDogJ2xheWVyVmlzQ29uZmlncy53ZWlnaHRJbnRlbnNpdHknLFxuICAgIGlzUmFuZ2VkOiBmYWxzZSxcbiAgICByYW5nZTogWzAuMDEsIDUwMF0sXG4gICAgc3RlcDogMC4wMSxcbiAgICBncm91cDogUFJPUEVSVFlfR1JPVVBTLmNlbGwsXG4gICAgcHJvcGVydHk6ICd3ZWlnaHQnLFxuICAgIGNvbmRpdGlvbjogY29uZmlnID0+IGNvbmZpZy53ZWlnaHRGaWVsZFxuICB9LFxuICBoZWF0bWFwUmFkaXVzOiB7XG4gICAgdHlwZTogJ251bWJlcicsXG4gICAgZGVmYXVsdFZhbHVlOiAyMCxcbiAgICBsYWJlbDogJ2xheWVyVmlzQ29uZmlncy5yYWRpdXMnLFxuICAgIGlzUmFuZ2VkOiBmYWxzZSxcbiAgICByYW5nZTogWzAsIDEwMF0sXG4gICAgc3RlcDogMC4xLFxuICAgIGdyb3VwOiBQUk9QRVJUWV9HUk9VUFMuY2VsbCxcbiAgICBwcm9wZXJ0eTogJ3JhZGl1cydcbiAgfSxcbiAgY3VzdG9tTWFya2Vyczoge1xuICAgIHR5cGU6ICdib29sZWFuJyxcbiAgICBkZWZhdWx0VmFsdWU6IGZhbHNlLFxuICAgIGxhYmVsOiAnbGF5ZXJWaXNDb25maWdzLmN1c3RvbU1hcmtlcnMnLFxuICAgIGdyb3VwOiBQUk9QRVJUWV9HUk9VUFMuY3VzdG9tTWFya2VycyxcbiAgICBwcm9wZXJ0eTogJ2N1c3RvbU1hcmtlcnMnXG4gIH0sXG4gIGN1c3RvbU1hcmtlcnNVcmw6IHtcbiAgICB0eXBlOiAndGV4dCcsXG4gICAgZGVmYXVsdFZhbHVlOiAnJyxcbiAgICBsYWJlbDogJ2xheWVyVmlzQ29uZmlncy5hZGRVcmwnLFxuICAgIGdyb3VwOiBQUk9QRVJUWV9HUk9VUFMuY3VzdG9tTWFya2VycyxcbiAgICBwcm9wZXJ0eTogJ2N1c3RvbU1hcmtlcnNVcmwnXG4gIH1cbn07XG5cbi8qKiBAdHlwZSB7aW1wb3J0KCcuL2xheWVyLWZhY3RvcnknKS5MYXllclRleHRDb25maWd9ICovXG5leHBvcnQgY29uc3QgTEFZRVJfVEVYVF9DT05GSUdTID0ge1xuICBmb250U2l6ZToge1xuICAgIHR5cGU6ICdudW1iZXInLFxuICAgIHJhbmdlOiBbMSwgMTAwXSxcbiAgICB2YWx1ZTA6IDEsXG4gICAgc3RlcDogMSxcbiAgICBpc1JhbmdlZDogZmFsc2UsXG4gICAgbGFiZWw6ICdGb250IHNpemUnLFxuICAgIHNob3dJbnB1dDogdHJ1ZVxuICB9LFxuICB0ZXh0QW5jaG9yOiB7XG4gICAgdHlwZTogJ3NlbGVjdCcsXG4gICAgb3B0aW9uczogWydzdGFydCcsICdtaWRkbGUnLCAnZW5kJ10sXG4gICAgbXVsdGlTZWxlY3Q6IGZhbHNlLFxuICAgIHNlYXJjaGFibGU6IGZhbHNlXG4gIH0sXG4gIHRleHRBbGlnbm1lbnQ6IHtcbiAgICB0eXBlOiAnc2VsZWN0JyxcbiAgICBvcHRpb25zOiBbJ3RvcCcsICdjZW50ZXInLCAnYm90dG9tJ10sXG4gICAgbXVsdGlTZWxlY3Q6IGZhbHNlLFxuICAgIHNlYXJjaGFibGU6IGZhbHNlXG4gIH1cbn07XG4iXX0=
|
|
@@ -67,6 +67,8 @@ var brushingExtension = new _extensions.BrushingExtension();
|
|
|
67
67
|
var pointVisConfigs = {
|
|
68
68
|
radius: 'radius',
|
|
69
69
|
fixedRadius: 'fixedRadius',
|
|
70
|
+
customMarkers: 'customMarkers',
|
|
71
|
+
customMarkersUrl: 'customMarkersUrl',
|
|
70
72
|
opacity: 'opacity',
|
|
71
73
|
outline: 'outline',
|
|
72
74
|
thickness: 'thickness',
|
|
@@ -267,6 +269,13 @@ var PointLayer = /*#__PURE__*/function (_Layer) {
|
|
|
267
269
|
bounds: bounds
|
|
268
270
|
});
|
|
269
271
|
}
|
|
272
|
+
}, {
|
|
273
|
+
key: "isLayerHovered",
|
|
274
|
+
value: function isLayerHovered(objectInfo) {
|
|
275
|
+
var _objectInfo$layer, _objectInfo$layer$pro, _objectInfo$layer2, _objectInfo$layer2$pr;
|
|
276
|
+
|
|
277
|
+
return (objectInfo === null || objectInfo === void 0 ? void 0 : objectInfo.picked) && (objectInfo === null || objectInfo === void 0 ? void 0 : (_objectInfo$layer = objectInfo.layer) === null || _objectInfo$layer === void 0 ? void 0 : (_objectInfo$layer$pro = _objectInfo$layer.props) === null || _objectInfo$layer$pro === void 0 ? void 0 : _objectInfo$layer$pro.id) === this.id || (objectInfo === null || objectInfo === void 0 ? void 0 : (_objectInfo$layer2 = objectInfo.layer) === null || _objectInfo$layer2 === void 0 ? void 0 : (_objectInfo$layer2$pr = _objectInfo$layer2.props) === null || _objectInfo$layer2$pr === void 0 ? void 0 : _objectInfo$layer2$pr.id) === "".concat(this.id, "-icon");
|
|
278
|
+
}
|
|
270
279
|
}, {
|
|
271
280
|
key: "renderLayer",
|
|
272
281
|
value: function renderLayer(opts) {
|
|
@@ -282,15 +291,6 @@ var PointLayer = /*#__PURE__*/function (_Layer) {
|
|
|
282
291
|
var radiusScale = this.getRadiusScale(fixedRadius);
|
|
283
292
|
var radiusUnits = this.getRadiusUnit(fixedRadius);
|
|
284
293
|
|
|
285
|
-
var layerProps = _objectSpread({
|
|
286
|
-
stroked: this.config.visConfig.outline,
|
|
287
|
-
filled: this.config.visConfig.filled,
|
|
288
|
-
lineWidthScale: this.config.visConfig.thickness,
|
|
289
|
-
radiusScale: radiusScale
|
|
290
|
-
}, this.config.visConfig.fixedRadius ? {} : {
|
|
291
|
-
radiusMaxPixels: 500
|
|
292
|
-
});
|
|
293
|
-
|
|
294
294
|
var updateTriggers = _objectSpread({
|
|
295
295
|
getPosition: this.config.columns,
|
|
296
296
|
getFilterValue: gpuFilter.filterValueUpdateTriggers
|
|
@@ -309,27 +309,84 @@ var PointLayer = /*#__PURE__*/function (_Layer) {
|
|
|
309
309
|
}, brushingProps);
|
|
310
310
|
|
|
311
311
|
var hoveredObject = this.hasHoveredObject(objectHovered);
|
|
312
|
-
|
|
312
|
+
var textLabelLayer = this.renderTextLabelLayer({
|
|
313
|
+
getPosition: data.getPosition,
|
|
314
|
+
sharedProps: sharedProps,
|
|
315
|
+
getPixelOffset: getPixelOffset,
|
|
316
|
+
updateTriggers: updateTriggers
|
|
317
|
+
}, opts);
|
|
318
|
+
|
|
319
|
+
var commonLayerProps = _objectSpread(_objectSpread({}, defaultLayerProps), {}, {
|
|
313
320
|
parameters: {
|
|
314
321
|
// circles will be flat on the map when the altitude column is not used
|
|
315
322
|
depthTest: ((_this$config$columns$ = this.config.columns.altitude) === null || _this$config$columns$ === void 0 ? void 0 : _this$config$columns$.fieldIdx) > -1
|
|
316
|
-
}
|
|
323
|
+
}
|
|
324
|
+
});
|
|
325
|
+
|
|
326
|
+
var _this$config$visConfi = this.config.visConfig,
|
|
327
|
+
customMarkers = _this$config$visConfi.customMarkers,
|
|
328
|
+
customMarkersUrl = _this$config$visConfi.customMarkersUrl;
|
|
329
|
+
var customMarkersConfigured = customMarkers && Boolean(customMarkersUrl);
|
|
330
|
+
var customMarkersMisConfigured = customMarkers && !customMarkersConfigured;
|
|
331
|
+
|
|
332
|
+
if (customMarkersConfigured) {
|
|
333
|
+
var maxIconSize = this.getMaxMarkerSize();
|
|
334
|
+
var iconLayerProps = {
|
|
335
|
+
getIcon: function getIcon() {
|
|
336
|
+
var url = customMarkersUrl;
|
|
337
|
+
return {
|
|
338
|
+
id: "".concat(url, "@@").concat(maxIconSize),
|
|
339
|
+
url: url,
|
|
340
|
+
width: maxIconSize,
|
|
341
|
+
height: maxIconSize,
|
|
342
|
+
mask: true
|
|
343
|
+
};
|
|
344
|
+
},
|
|
345
|
+
getPosition: data.getPosition,
|
|
346
|
+
getSize: data.getRadius,
|
|
347
|
+
sizeScale: radiusScale,
|
|
348
|
+
sizeUnits: 'pixels'
|
|
349
|
+
};
|
|
350
|
+
return [new _layers.IconLayer(_objectSpread(_objectSpread(_objectSpread({}, commonLayerProps), iconLayerProps), {}, {
|
|
351
|
+
id: "".concat(defaultLayerProps.id, "-icon"),
|
|
352
|
+
data: data.data,
|
|
353
|
+
getColor: data.getFillColor,
|
|
354
|
+
getFilterValue: data.getFilterValue,
|
|
355
|
+
updateTriggers: {
|
|
356
|
+
getFilterValue: updateTriggers.getFilterValue,
|
|
357
|
+
getColor: updateTriggers.getFillColor,
|
|
358
|
+
getIcon: [customMarkersUrl, maxIconSize],
|
|
359
|
+
getSize: updateTriggers.getRadius
|
|
360
|
+
}
|
|
361
|
+
}))].concat((0, _toConsumableArray2["default"])(hoveredObject ? [new _layers.IconLayer(_objectSpread(_objectSpread(_objectSpread({}, iconLayerProps), this.getDefaultHoverLayerProps()), {}, {
|
|
362
|
+
id: "".concat(defaultLayerProps.id, "-icon-hovered"),
|
|
363
|
+
data: [hoveredObject],
|
|
364
|
+
getColor: this.config.highlightColor
|
|
365
|
+
}))] : []), (0, _toConsumableArray2["default"])(textLabelLayer));
|
|
366
|
+
}
|
|
367
|
+
|
|
368
|
+
var scatterPlotLayerProps = _objectSpread({
|
|
369
|
+
stroked: this.config.visConfig.outline,
|
|
370
|
+
filled: this.config.visConfig.filled,
|
|
371
|
+
lineWidthScale: this.config.visConfig.thickness,
|
|
372
|
+
// TODO: invent better way to render something when customMarkers are not yet configured
|
|
373
|
+
radiusScale: customMarkersMisConfigured ? radiusScale / 2 : radiusScale
|
|
374
|
+
}, this.config.visConfig.fixedRadius ? {} : {
|
|
375
|
+
radiusMaxPixels: 500
|
|
376
|
+
});
|
|
377
|
+
|
|
378
|
+
return [new _layers.ScatterplotLayer(_objectSpread(_objectSpread(_objectSpread(_objectSpread(_objectSpread({}, brushingProps), data), commonLayerProps), scatterPlotLayerProps), {}, {
|
|
317
379
|
radiusUnits: radiusUnits,
|
|
318
380
|
lineWidthUnits: 'pixels',
|
|
319
381
|
updateTriggers: updateTriggers,
|
|
320
382
|
extensions: extensions
|
|
321
|
-
}))].concat((0, _toConsumableArray2["default"])(hoveredObject ? [new _layers.ScatterplotLayer(_objectSpread(_objectSpread(_objectSpread({}, this.getDefaultHoverLayerProps()),
|
|
383
|
+
}))].concat((0, _toConsumableArray2["default"])(hoveredObject ? [new _layers.ScatterplotLayer(_objectSpread(_objectSpread(_objectSpread({}, this.getDefaultHoverLayerProps()), scatterPlotLayerProps), {}, {
|
|
322
384
|
data: [hoveredObject],
|
|
323
385
|
getLineColor: this.config.highlightColor,
|
|
324
386
|
getFillColor: this.config.highlightColor,
|
|
325
387
|
getRadius: data.getRadius,
|
|
326
388
|
getPosition: data.getPosition
|
|
327
|
-
}))] : []), (0, _toConsumableArray2["default"])(
|
|
328
|
-
getPosition: data.getPosition,
|
|
329
|
-
sharedProps: sharedProps,
|
|
330
|
-
getPixelOffset: getPixelOffset,
|
|
331
|
-
updateTriggers: updateTriggers
|
|
332
|
-
}, opts)));
|
|
389
|
+
}))] : []), (0, _toConsumableArray2["default"])(textLabelLayer));
|
|
333
390
|
}
|
|
334
391
|
}], [{
|
|
335
392
|
key: "findDefaultLayerProps",
|
|
@@ -375,4 +432,4 @@ var PointLayer = /*#__PURE__*/function (_Layer) {
|
|
|
375
432
|
}(_baseLayer["default"]);
|
|
376
433
|
|
|
377
434
|
exports["default"] = PointLayer;
|
|
378
|
-
//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIi4uLy4uLy4uL3NyYy9sYXllcnMvcG9pbnQtbGF5ZXIvcG9pbnQtbGF5ZXIuanMiXSwibmFtZXMiOlsicG9pbnRQb3NBY2Nlc3NvciIsImxhdCIsImxuZyIsImFsdGl0dWRlIiwiZGMiLCJkIiwidmFsdWVBdCIsImluZGV4IiwiZmllbGRJZHgiLCJwb2ludFJlcXVpcmVkQ29sdW1ucyIsInBvaW50T3B0aW9uYWxDb2x1bW5zIiwiYnJ1c2hpbmdFeHRlbnNpb24iLCJCcnVzaGluZ0V4dGVuc2lvbiIsInBvaW50VmlzQ29uZmlncyIsInJhZGl1cyIsImZpeGVkUmFkaXVzIiwib3BhY2l0eSIsIm91dGxpbmUiLCJ0aGlja25lc3MiLCJzdHJva2VDb2xvciIsImNvbG9yUmFuZ2UiLCJzdHJva2VDb2xvclJhbmdlIiwicmFkaXVzUmFuZ2UiLCJmaWxsZWQiLCJ0eXBlIiwibGFiZWwiLCJkZWZhdWx0VmFsdWUiLCJwcm9wZXJ0eSIsIlBvaW50TGF5ZXIiLCJwcm9wcyIsInJlZ2lzdGVyVmlzQ29uZmlnIiwiZ2V0UG9zaXRpb25BY2Nlc3NvciIsImRhdGFDb250YWluZXIiLCJjb25maWciLCJjb2x1bW5zIiwiUG9pbnRMYXllckljb24iLCJkZWZhdWx0UG9pbnRDb2x1bW5QYWlycyIsImNvbG9yIiwiYWNjZXNzb3IiLCJjb25kaXRpb24iLCJ2aXNDb25maWciLCJrZXkiLCJmaWVsZCIsInNjYWxlIiwiZG9tYWluIiwicmFuZ2UiLCJjaGFubmVsU2NhbGVUeXBlIiwiQ0hBTk5FTF9TQ0FMRVMiLCJzaXplIiwiZml4ZWQiLCJkYXRhc2V0IiwiZGVmYXVsdENvbG9yRmllbGQiLCJ1cGRhdGVMYXllckNvbmZpZyIsImNvbG9yRmllbGQiLCJ1cGRhdGVMYXllclZpc3VhbENoYW5uZWwiLCJzdHJva2VDb2xvckZpZWxkIiwic3Ryb2tlQ29sb3JEb21haW4iLCJzdHJva2VDb2xvclNjYWxlIiwiZ2V0UG9zaXRpb24iLCJmaWx0ZXJlZEluZGV4IiwiZGF0YSIsImkiLCJsZW5ndGgiLCJwb3MiLCJldmVyeSIsIk51bWJlciIsImlzRmluaXRlIiwicHVzaCIsInBvc2l0aW9uIiwiZGF0YXNldHMiLCJvbGRMYXllckRhdGEiLCJ0ZXh0TGFiZWwiLCJkYXRhSWQiLCJncHVGaWx0ZXIiLCJ1cGRhdGVEYXRhIiwidHJpZ2dlckNoYW5nZWQiLCJ0ZXh0TGFiZWxzIiwiYWNjZXNzb3JzIiwiZ2V0QXR0cmlidXRlQWNjZXNzb3JzIiwiZ2V0RmlsdGVyVmFsdWUiLCJmaWx0ZXJWYWx1ZUFjY2Vzc29yIiwiYm91bmRzIiwiZ2V0UG9pbnRzQm91bmRzIiwidXBkYXRlTWV0YSIsIm9wdHMiLCJvYmplY3RIb3ZlcmVkIiwibWFwU3RhdGUiLCJpbnRlcmFjdGlvbkNvbmZpZyIsIkJvb2xlYW4iLCJzaXplRmllbGQiLCJyYWRpdXNTY2FsZSIsImdldFJhZGl1c1NjYWxlIiwicmFkaXVzVW5pdHMiLCJnZXRSYWRpdXNVbml0IiwibGF5ZXJQcm9wcyIsInN0cm9rZWQiLCJsaW5lV2lkdGhTY2FsZSIsInJhZGl1c01heFBpeGVscyIsInVwZGF0ZVRyaWdnZXJzIiwiZmlsdGVyVmFsdWVVcGRhdGVUcmlnZ2VycyIsImdldFZpc3VhbENoYW5uZWxVcGRhdGVUcmlnZ2VycyIsImRlZmF1bHRMYXllclByb3BzIiwiZ2V0RGVmYXVsdERlY2tMYXllclByb3BzIiwiYnJ1c2hpbmdQcm9wcyIsImdldEJydXNoaW5nRXh0ZW5zaW9uUHJvcHMiLCJnZXRQaXhlbE9mZnNldCIsImdldFJhZGl1cyIsImV4dGVuc2lvbnMiLCJzaGFyZWRQcm9wcyIsImZpbHRlclJhbmdlIiwidmlzaWJsZSIsImhvdmVyZWRPYmplY3QiLCJoYXNIb3ZlcmVkT2JqZWN0IiwiU2NhdHRlcnBsb3RMYXllciIsInBhcmFtZXRlcnMiLCJkZXB0aFRlc3QiLCJsaW5lV2lkdGhVbml0cyIsImdldERlZmF1bHRIb3ZlckxheWVyUHJvcHMiLCJnZXRMaW5lQ29sb3IiLCJoaWdobGlnaHRDb2xvciIsImdldEZpbGxDb2xvciIsInJlbmRlclRleHRMYWJlbExheWVyIiwiZmllbGRQYWlycyIsImZvckVhY2giLCJwYWlyIiwibGF0RmllbGQiLCJsbmdGaWVsZCIsImxheWVyTmFtZSIsImRlZmF1bHROYW1lIiwicHJvcCIsInZhbHVlIiwiREVGQVVMVF9MQVlFUl9DT0xPUiIsImlzVmlzaWJsZSIsIm9wdGlvbmFsIiwiTGF5ZXIiXSwibWFwcGluZ3MiOiI7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7QUFvQkE7O0FBQ0E7O0FBRUE7O0FBQ0E7O0FBQ0E7O0FBQ0E7O0FBQ0E7O0FBRUE7Ozs7Ozs7Ozs7QUFFTyxJQUFNQSxnQkFBZ0IsR0FBRyxTQUFuQkEsZ0JBQW1CO0FBQUEsTUFBRUMsR0FBRixRQUFFQSxHQUFGO0FBQUEsTUFBT0MsR0FBUCxRQUFPQSxHQUFQO0FBQUEsTUFBWUMsUUFBWixRQUFZQSxRQUFaO0FBQUEsU0FBMEIsVUFBQUMsRUFBRTtBQUFBLFdBQUksVUFBQUMsQ0FBQztBQUFBLGFBQUksQ0FDbkVELEVBQUUsQ0FBQ0UsT0FBSCxDQUFXRCxDQUFDLENBQUNFLEtBQWIsRUFBb0JMLEdBQUcsQ0FBQ00sUUFBeEIsQ0FEbUUsRUFFbkVKLEVBQUUsQ0FBQ0UsT0FBSCxDQUFXRCxDQUFDLENBQUNFLEtBQWIsRUFBb0JOLEdBQUcsQ0FBQ08sUUFBeEIsQ0FGbUUsRUFHbkVMLFFBQVEsSUFBSUEsUUFBUSxDQUFDSyxRQUFULEdBQW9CLENBQUMsQ0FBakMsR0FBcUNKLEVBQUUsQ0FBQ0UsT0FBSCxDQUFXRCxDQUFDLENBQUNFLEtBQWIsRUFBb0JKLFFBQVEsQ0FBQ0ssUUFBN0IsQ0FBckMsR0FBOEUsQ0FIWCxDQUFKO0FBQUEsS0FBTDtBQUFBLEdBQTVCO0FBQUEsQ0FBekI7OztBQU1BLElBQU1DLG9CQUFvQixHQUFHLENBQUMsS0FBRCxFQUFRLEtBQVIsQ0FBN0I7O0FBQ0EsSUFBTUMsb0JBQW9CLEdBQUcsQ0FBQyxVQUFELENBQTdCOztBQUVQLElBQU1DLGlCQUFpQixHQUFHLElBQUlDLDZCQUFKLEVBQTFCO0FBRU8sSUFBTUMsZUFBZSxHQUFH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LEdBQUdILElBQUksQ0FBQ0ksV0FBdkI7QUFFQSxZQUFNQyxJQUFJLEdBQUc7QUFDWHhHLFVBQUFBLEtBQUssRUFBRXNHLFNBQVMsQ0FBQ2pFLE1BQVYsR0FBbUJpRSxTQUFuQixHQUErQjtBQUQzQixTQUFiLENBTHlCLENBU3pCOztBQUNBLFlBQUlGLFFBQVEsQ0FBQ0ssS0FBVCxJQUFrQkMsb0NBQXRCLEVBQTJDO0FBQ3pDRixVQUFBQSxJQUFJLENBQUM1RixLQUFMLEdBQWEsMEJBQVM4RixxQ0FBb0JOLFFBQVEsQ0FBQ0ssS0FBN0IsQ0FBVCxDQUFiO0FBQ0QsU0Fad0IsQ0FjekI7OztBQUNBLFlBQUlyRyxLQUFLLENBQUNpQyxNQUFOLEtBQWlCLENBQXJCLEVBQXdCO0FBQ3RCbUUsVUFBQUEsSUFBSSxDQUFDRyxTQUFMLEdBQWlCLElBQWpCO0FBQ0Q7O0FBRURILFFBQUFBLElBQUksQ0FBQy9GLE9BQUwsR0FBZTtBQUNiakMsVUFBQUEsR0FBRyxFQUFFNEgsUUFEUTtBQUViM0gsVUFBQUEsR0FBRyxFQUFFNEgsUUFGUTtBQUdiM0gsVUFBQUEsUUFBUSxFQUFFO0FBQUMrSCxZQUFBQSxLQUFLLEVBQUUsSUFBUjtBQUFjMUgsWUFBQUEsUUFBUSxFQUFFLENBQUMsQ0FBekI7QUFBNEI2SCxZQUFBQSxRQUFRLEVBQUU7QUFBdEM7QUFIRyxTQUFmO0FBTUF4RyxRQUFBQSxLQUFLLENBQUNzQyxJQUFOLENBQVc4RCxJQUFYO0FBQ0QsT0ExQkQ7QUE0QkEsYUFBTztBQUFDcEcsUUFBQUEsS0FBSyxFQUFMQTtBQUFELE9BQVA7QUFDRDs7O0VBbEhxQ3lHLHFCIiwic291cmNlc0NvbnRlbnQiOlsiLy8gQ29weXJpZ2h0IChjKSAyMDIyIFViZXIgVGVjaG5vbG9naWVzLCBJbmMuXG4vL1xuLy8gUGVybWlzc2lvbiBpcyBoZXJlYnkgZ3JhbnRlZCwgZnJlZSBvZiBjaGFyZ2UsIHRvIGFueSBwZXJzb24gb2J0YWluaW5nIGEgY29weVxuLy8gb2YgdGhpcyBzb2Z0d2FyZSBhbmQgYXNzb2NpYXRlZCBkb2N1bWVudGF0aW9uIGZpbGVzICh0aGUgXCJTb2Z0d2FyZVwiKSwgdG8gZGVhbFxuLy8gaW4gdGhlIFNvZnR3YXJlIHdpdGhvdXQgcmVzdHJpY3Rpb24sIGluY2x1ZGluZyB3aXRob3V0IGxpbWl0YXRpb24gdGhlIHJpZ2h0c1xuLy8gdG8gdXNlLCBjb3B5LCBtb2RpZnksIG1lcmdlLCBwdWJsaXNoLCBkaXN0cmlidXRlLCBzdWJsaWNlbnNlLCBhbmQvb3Igc2VsbFxuLy8gY29waWVzIG9mIHRoZSBTb2Z0d2FyZSwgYW5kIHRvIHBlcm1pdCBwZXJzb25zIHRvIHdob20gdGhlIFNvZnR3YXJlIGlzXG4vLyBmdXJuaXNoZWQgdG8gZG8gc28sIHN1YmplY3QgdG8gdGhlIGZvbGxvd2luZyBjb25kaXRpb25zOlxuLy9cbi8vIFRoZSBhYm92ZSBjb3B5cmlnaHQgbm90aWNlIGFuZCB0aGlzIHBlcm1pc3Npb24gbm90aWNlIHNoYWxsIGJlIGluY2x1ZGVkIGluXG4vLyBhbGwgY29waWVzIG9yIHN1YnN0YW50aWFsIHBvcnRpb25zIG9mIHRoZSBTb2Z0d2FyZS5cbi8vXG4vLyBUSEUgU09GVFdBUkUgSVMgUFJPVklERUQgXCJBUyBJU1wiLCBXSVRIT1VUIFdBUlJBTlRZIE9GIEFOWSBLSU5ELCBFWFBSRVNTIE9SXG4vLyBJTVBMSUVELCBJTkNMVURJTkcgQlVUIE5PVCBMSU1JVEVEIFRPIFRIRSBXQVJSQU5USUVTIE9GIE1FUkNIQU5UQUJJTElUWSxcbi8vIEZJVE5FU1MgRk9SIEEgUEFSVElDVUxBUiBQVVJQT1NFIEFORCBOT05JTkZSSU5HRU1FTlQuIElOIE5PIEVWRU5UIFNIQUxMIFRIRVxuLy8gQVVUSE9SUyBPUiBDT1BZUklHSFQgSE9MREVSUyBCRSBMSUFCTEUgRk9SIEFOWSBDTEFJTSwgREFNQUdFUyBPUiBPVEhFUlxuLy8gTElBQklMSVRZLCBXSEVUSEVSIElOIEFOIEFDVElPTiBPRiBDT05UUkFDVCwgVE9SVCBPUiBPVEhFUldJU0UsIEFSSVNJTkcgRlJPTSxcbi8vIE9VVCBPRiBPUiBJTiBDT05ORUNUSU9OIFdJVEggVEhFIFNPRlRXQVJFIE9SIFRIRSBVU0UgT1IgT1RIRVIgREVBTElOR1MgSU5cbi8vIFRIRSBTT0ZUV0FSRS5cblxuaW1wb3J0IHtCcnVzaGluZ0V4dGVuc2lvbn0gZnJvbSAnQGRlY2suZ2wvZXh0ZW5zaW9ucyc7XG5pbXBvcnQge1NjYXR0ZXJwbG90TGF5ZXJ9IGZyb20gJ0BkZWNrLmdsL2xheWVycyc7XG5cbmltcG9ydCBMYXllciBmcm9tICcuLi9iYXNlLWxheWVyJztcbmltcG9ydCB7aGV4VG9SZ2J9IGZyb20gJ3V0aWxzL2NvbG9yLXV0aWxzJztcbmltcG9ydCB7ZmluZERlZmF1bHRDb2xvckZpZWxkfSBmcm9tICd1dGlscy9kYXRhc2V0LXV0aWxzJztcbmltcG9ydCBQb2ludExheWVySWNvbiBmcm9tICcuL3BvaW50LWxheWVyLWljb24nO1xuaW1wb3J0IHtERUZBVUxUX0xBWUVSX0NPTE9SLCBDSEFOTkVMX1NDQUxFU30gZnJvbSAnY29uc3RhbnRzL2RlZmF1bHQtc2V0dGluZ3MnO1xuXG5pbXBvcnQge2dldFRleHRPZmZzZXRCeVJhZGl1cywgZm9ybWF0VGV4dExhYmVsRGF0YX0gZnJvbSAnLi4vbGF5ZXItdGV4dC1sYWJlbCc7XG5cbmV4cG9ydCBjb25zdCBwb2ludFBvc0FjY2Vzc29yID0gKHtsYXQsIGxuZywgYWx0aXR1ZGV9KSA9PiBkYyA9PiBkID0+IFtcbiAgZGMudmFsdWVBdChkLmluZGV4LCBsbmcuZmllbGRJZHgpLFxuICBkYy52YWx1ZUF0KGQuaW5kZXgsIGxhdC5maWVsZElkeCksXG4gIGFsdGl0dWRlICYmIGFsdGl0dWRlLmZpZWxkSWR4ID4gLTEgPyBkYy52YWx1ZUF0KGQuaW5kZXgsIGFsdGl0dWRlLmZpZWxkSWR4KSA6IDBcbl07XG5cbmV4cG9ydCBjb25zdCBwb2ludFJlcXVpcmVkQ29sdW1ucyA9IFsnbGF0JywgJ2xuZyddO1xuZXhwb3J0IGNvbnN0IHBvaW50T3B0aW9uYWxDb2x1bW5zID0gWydhbHRpdHVkZSddO1xuXG5jb25zdCBicnVzaGluZ0V4dGVuc2lvbiA9IG5ldyBCcnVzaGluZ0V4dGVuc2lvbigpO1xuXG5leHBvcnQgY29uc3QgcG9pbnRWaXNDb25maWdzID0ge1xuICByYWRpdXM6ICdyYWRpdXMnLFxuICBmaXhlZFJhZGl1czogJ2ZpeGVkUmFkaXVzJyxcbiAgb3BhY2l0eTogJ29wYWNpdHknLFxuICBvdXRsaW5lOiAnb3V0bGluZScsXG4gIHRoaWNrbmVzczogJ3RoaWNrbmVzcycsXG4gIHN0cm9rZUNvbG9yOiAnc3Ryb2tlQ29sb3InLFxuICBjb2xvclJhbmdlOiAnY29sb3JSYW5nZScsXG4gIHN0cm9rZUNvbG9yUmFuZ2U6ICdzdHJva2VDb2xvclJhbmdlJyxcbiAgcmFkaXVzUmFuZ2U6ICdyYWRpdXNSYW5nZScsXG4gIGZpbGxlZDoge1xuICAgIHR5cGU6ICdib29sZWFuJyxcbiAgICBsYWJlbDogJ2xheWVyLmZpbGxDb2xvcicsXG4gICAgZGVmYXVsdFZhbHVlOiB0cnVlLFxuICAgIHByb3BlcnR5OiAnZmlsbGVkJ1xuICB9XG59O1xuXG5leHBvcnQgZGVmYXVsdCBjbGFzcyBQb2ludExheWVyIGV4dGVuZHMgTGF5ZXIge1xuICBjb25zdHJ1Y3Rvcihwcm9wcykge1xuICAgIHN1cGVyKHByb3BzKTtcblxuICAgIHRoaXMucmVnaXN0ZXJWaXNDb25maWcocG9pbnRWaXNDb25maWdzKTtcbiAgICB0aGlzLmdldFBvc2l0aW9uQWNjZXNzb3IgPSBkYXRhQ29udGFpbmVyID0+XG4gICAgICBwb2ludFBvc0FjY2Vzc29yKHRoaXMuY29uZmlnLmNvbHVtbnMpKGRhdGFDb250YWluZXIpO1xuICB9XG5cbiAgZ2V0IHR5cGUoKSB7XG4gICAgcmV0dXJuICdwb2ludCc7XG4gIH1cblxuICBnZXQgaXNBZ2dyZWdhdGVkKCkge1xuICAgIHJldHVybiBmYWxzZTtcbiAgfVxuXG4gIGdldCBsYXllckljb24oKSB7XG4gICAgcmV0dXJuIFBvaW50TGF5ZXJJY29uO1xuICB9XG4gIGdldCByZXF1aXJlZExheWVyQ29sdW1ucygpIHtcbiAgICByZXR1cm4gcG9pbnRSZXF1aXJlZENvbHVtbnM7XG4gIH1cblxuICBnZXQgb3B0aW9uYWxDb2x1bW5zKCkge1xuICAgIHJldHVybiBwb2ludE9wdGlvbmFsQ29sdW1ucztcbiAgfVxuXG4gIGdldCBjb2x1bW5QYWlycygpIHtcbiAgICByZXR1cm4gdGhpcy5kZWZhdWx0UG9pbnRDb2x1bW5QYWlycztcbiAgfVxuXG4gIGdldCBub25lTGF5ZXJEYXRhQWZmZWN0aW5nUHJvcHMoKSB7XG4gICAgcmV0dXJuIFsuLi5zdXBlci5ub25lTGF5ZXJEYXRhQWZmZWN0aW5nUHJvcHMsICdyYWRpdXMnXTtcbiAgfVxuXG4gIGdldCB2aXN1YWxDaGFubmVscygpIHtcbiAgICByZXR1cm4ge1xuICAgICAgY29sb3I6IHtcbiAgICAgICAgLi4uc3VwZXIudmlzdWFsQ2hhbm5lbHMuY29sb3IsXG4gICAgICAgIGFjY2Vzc29yOiAnZ2V0RmlsbENvbG9yJyxcbiAgICAgICAgY29uZGl0aW9uOiBjb25maWcgPT4gY29uZmlnLnZpc0NvbmZpZy5maWxsZWQsXG4gICAgICAgIGRlZmF1bHRWYWx1ZTogY29uZmlnID0+IGNvbmZpZy5jb2xvclxuICAgICAgfSxcbiAgICAgIHN0cm9rZUNvbG9yOiB7XG4gICAgICAgIHByb3BlcnR5OiAnc3Ryb2tlQ29sb3InLFxuICAgICAgICBrZXk6ICdzdHJva2VDb2xvcicsXG4gICAgICAgIGZpZWxkOiAnc3Ryb2tlQ29sb3JGaWVsZCcsXG4gICAgICAgIHNjYWxlOiAnc3Ryb2tlQ29sb3JTY2FsZScsXG4gICAgICAgIGRvbWFpbjogJ3N0cm9rZUNvbG9yRG9tYWluJyxcbiAgICAgICAgcmFuZ2U6ICdzdHJva2VDb2xvclJhbmdlJyxcbiAgICAgICAgY2hhbm5lbFNjYWxlVHlwZTogQ0hBTk5FTF9TQ0FMRVMuY29sb3IsXG4gICAgICAgIGFjY2Vzc29yOiAnZ2V0TGluZUNvbG9yJyxcbiAgICAgICAgY29uZGl0aW9uOiBjb25maWcgPT4gY29uZmlnLnZpc0NvbmZpZy5vdXRsaW5lLFxuICAgICAgICBkZWZhdWx0VmFsdWU6IGNvbmZpZyA9PiBjb25maWcudmlzQ29uZmlnLnN0cm9rZUNvbG9yIHx8IGNvbmZpZy5jb2xvclxuICAgICAgfSxcbiAgICAgIHNpemU6IHtcbiAgICAgICAgLi4uc3VwZXIudmlzdWFsQ2hhbm5lbHMuc2l6ZSxcbiAgICAgICAgcHJvcGVydHk6ICdyYWRpdXMnLFxuICAgICAgICByYW5nZTogJ3JhZGl1c1JhbmdlJyxcbiAgICAgICAgZml4ZWQ6ICdmaXhlZFJhZGl1cycsXG4gICAgICAgIGNoYW5uZWxTY2FsZVR5cGU6ICdyYWRpdXMnLFxuICAgICAgICBhY2Nlc3NvcjogJ2dldFJhZGl1cycsXG4gICAgICAgIGRlZmF1bHRWYWx1ZTogMVxuICAgICAgfVxuICAgIH07XG4gIH1cblxuICBzZXRJbml0aWFsTGF5ZXJDb25maWcoZGF0YXNldCkge1xuICAgIGNvbnN0IGRlZmF1bHRDb2xvckZpZWxkID0gZmluZERlZmF1bHRDb2xvckZpZWxkKGRhdGFzZXQpO1xuXG4gICAgaWYgKGRlZmF1bHRDb2xvckZpZWxkKSB7XG4gICAgICB0aGlzLnVwZGF0ZUxheWVyQ29uZmlnKHtcbiAgICAgICAgY29sb3JGaWVsZDogZGVmYXVsdENvbG9yRmllbGRcbiAgICAgIH0pO1xuICAgICAgdGhpcy51cGRhdGVMYXllclZpc3VhbENoYW5uZWwoZGF0YXNldCwgJ2NvbG9yJyk7XG4gICAgfVxuXG4gICAgcmV0dXJuIHRoaXM7XG4gIH1cblxuICBzdGF0aWMgZmluZERlZmF1bHRMYXllclByb3BzKHtmaWVsZFBhaXJzID0gW119KSB7XG4gICAgY29uc3QgcHJvcHMgPSBbXTtcblxuICAgIC8vIE1ha2UgbGF5ZXIgZm9yIGVhY2ggcGFpclxuICAgIGZpZWxkUGFpcnMuZm9yRWFjaChwYWlyID0+IHtcbiAgICAgIGNvbnN0IGxhdEZpZWxkID0gcGFpci5wYWlyLmxhdDtcbiAgICAgIGNvbnN0IGxuZ0ZpZWxkID0gcGFpci5wYWlyLmxuZztcbiAgICAgIGNvbnN0IGxheWVyTmFtZSA9IHBhaXIuZGVmYXVsdE5hbWU7XG5cbiAgICAgIGNvbnN0IHByb3AgPSB7XG4gICAgICAgIGxhYmVsOiBsYXllck5hbWUubGVuZ3RoID8gbGF5ZXJOYW1lIDogJ1BvaW50J1xuICAgICAgfTtcblxuICAgICAgLy8gZGVmYXVsdCBsYXllciBjb2xvciBmb3IgYmVnaW50cmlwIGFuZCBkcm9wb2ZmIHBvaW50XG4gICAgICBpZiAobGF0RmllbGQudmFsdWUgaW4gREVGQVVMVF9MQVlFUl9DT0xPUikge1xuICAgICAgICBwcm9wLmNvbG9yID0gaGV4VG9SZ2IoREVGQVVMVF9MQVlFUl9DT0xPUltsYXRGaWVsZC52YWx1ZV0pO1xuICAgICAgfVxuXG4gICAgICAvLyBzZXQgdGhlIGZpcnN0IGxheWVyIHRvIGJlIHZpc2libGVcbiAgICAgIGlmIChwcm9wcy5sZW5ndGggPT09IDApIHtcbiAgICAgICAgcHJvcC5pc1Zpc2libGUgPSB0cnVlO1xuICAgICAgfVxuXG4gICAgICBwcm9wLmNvbHVtbnMgPSB7XG4gICAgICAgIGxhdDogbGF0RmllbGQsXG4gICAgICAgIGxuZzogbG5nRmllbGQsXG4gICAgICAgIGFsdGl0dWRlOiB7dmFsdWU6IG51bGwsIGZpZWxkSWR4OiAtMSwgb3B0aW9uYWw6IHRydWV9XG4gICAgICB9O1xuXG4gICAgICBwcm9wcy5wdXNoKHByb3ApO1xuICAgIH0pO1xuXG4gICAgcmV0dXJuIHtwcm9wc307XG4gIH1cblxuICBnZXREZWZhdWx0TGF5ZXJDb25maWcocHJvcHMgPSB7fSkge1xuICAgIHJldHVybiB7XG4gICAgICAuLi5zdXBlci5nZXREZWZhdWx0TGF5ZXJDb25maWcocHJvcHMpLFxuXG4gICAgICAvLyBhZGQgc3Ryb2tlIGNvbG9yIHZpc3VhbCBjaGFubmVsXG4gICAgICBzdHJva2VDb2xvckZpZWxkOiBudWxsLFxuICAgICAgc3Ryb2tlQ29sb3JEb21haW46IFswLCAxXSxcbiAgICAgIHN0cm9rZUNvbG9yU2NhbGU6ICdxdWFudGlsZSdcbiAgICB9O1xuICB9XG5cbiAgY2FsY3VsYXRlRGF0YUF0dHJpYnV0ZSh7ZmlsdGVyZWRJbmRleH0sIGdldFBvc2l0aW9uKSB7XG4gICAgY29uc3QgZGF0YSA9IFtdO1xuXG4gICAgZm9yIChsZXQgaSA9IDA7IGkgPCBmaWx0ZXJlZEluZGV4Lmxlbmd0aDsgaSsrKSB7XG4gICAgICBjb25zdCBpbmRleCA9IGZpbHRlcmVkSW5kZXhbaV07XG4gICAgICBjb25zdCBwb3MgPSBnZXRQb3NpdGlvbih7aW5kZXh9KTtcblxuICAgICAgLy8gaWYgZG9lc24ndCBoYXZlIHBvaW50IGxhdCBvciBsbmcsIGRvIG5vdCBhZGQgdGhlIHBvaW50XG4gICAgICAvLyBkZWNrLmdsIGNhbid0IGhhbmRsZSBwb3NpdGlvbiA9IG51bGxcbiAgICAgIGlmIChwb3MuZXZlcnkoTnVtYmVyLmlzRmluaXRlKSkge1xuICAgICAgICBkYXRhLnB1c2goe1xuICAgICAgICAgIHBvc2l0aW9uOiBwb3MsXG4gICAgICAgICAgaW5kZXhcbiAgICAgICAgfSk7XG4gICAgICB9XG4gICAgfVxuICAgIHJldHVybiBkYXRhO1xuICB9XG5cbiAgZm9ybWF0TGF5ZXJEYXRhKGRhdGFzZXRzLCBvbGRMYXllckRhdGEpIHtcbiAgICBjb25zdCB7dGV4dExhYmVsfSA9IHRoaXMuY29uZmlnO1xuICAgIGNvbnN0IHtncHVGaWx0ZXIsIGRhdGFDb250YWluZXJ9ID0gZGF0YXNldHNbdGhpcy5jb25maWcuZGF0YUlkXTtcbiAgICBjb25zdCB7ZGF0YSwgdHJpZ2dlckNoYW5nZWR9ID0gdGhpcy51cGRhdGVEYXRhKGRhdGFzZXRzLCBvbGRMYXllckRhdGEpO1xuICAgIGNvbnN0IGdldFBvc2l0aW9uID0gdGhpcy5nZXRQb3NpdGlvbkFjY2Vzc29yKGRhdGFDb250YWluZXIpO1xuXG4gICAgLy8gZ2V0IGFsbCBkaXN0aW5jdCBjaGFyYWN0ZXJzIGluIHRoZSB0ZXh0IGxhYmVsc1xuICAgIGNvbnN0IHRleHRMYWJlbHMgPSBmb3JtYXRUZXh0TGFiZWxEYXRhKHtcbiAgICAgIHRleHRMYWJlbCxcbiAgICAgIHRyaWdnZXJDaGFuZ2VkLFxuICAgICAgb2xkTGF5ZXJEYXRhLFxuICAgICAgZGF0YSxcbiAgICAgIGRhdGFDb250YWluZXJcbiAgICB9KTtcblxuICAgIGNvbnN0IGFjY2Vzc29ycyA9IHRoaXMuZ2V0QXR0cmlidXRlQWNjZXNzb3JzKHtkYXRhQ29udGFpbmVyfSk7XG5cbiAgICByZXR1cm4ge1xuICAgICAgZGF0YSxcbiAgICAgIGdldFBvc2l0aW9uLFxuICAgICAgZ2V0RmlsdGVyVmFsdWU6IGdwdUZpbHRlci5maWx0ZXJWYWx1ZUFjY2Vzc29yKGRhdGFDb250YWluZXIpKCksXG4gICAgICB0ZXh0TGFiZWxzLFxuICAgICAgLi4uYWNjZXNzb3JzXG4gICAgfTtcbiAgfVxuICAvKiBlc2xpbnQtZW5hYmxlIGNvbXBsZXhpdHkgKi9cblxuICB1cGRhdGVMYXllck1ldGEoZGF0YUNvbnRhaW5lcikge1xuICAgIGNvbnN0IGdldFBvc2l0aW9uID0gdGhpcy5nZXRQb3NpdGlvbkFjY2Vzc29yKGRhdGFDb250YWluZXIpO1xuICAgIGNvbnN0IGJvdW5kcyA9IHRoaXMuZ2V0UG9pbnRzQm91bmRzKGRhdGFDb250YWluZXIsIGdldFBvc2l0aW9uKTtcbiAgICB0aGlzLnVwZGF0ZU1ldGEoe2JvdW5kc30pO1xuICB9XG5cbiAgcmVuZGVyTGF5ZXIob3B0cykge1xuICAgIGNvbnN0IHtkYXRhLCBncHVGaWx0ZXIsIG9iamVjdEhvdmVyZWQsIG1hcFN0YXRlLCBpbnRlcmFjdGlvbkNvbmZpZ30gPSBvcHRzO1xuXG4gICAgLy8gaWYgbm8gZmllbGQgc2l6ZSBpcyBkZWZpbmVkIHdlIG5lZWQgdG8gcGFzcyBmaXhlZCByYWRpdXMgPSBmYWxzZVxuICAgIGNvbnN0IGZpeGVkUmFkaXVzID0gdGhpcy5jb25maWcudmlzQ29uZmlnLmZpeGVkUmFkaXVzICYmIEJvb2xlYW4odGhpcy5jb25maWcuc2l6ZUZpZWxkKTtcbiAgICBjb25zdCByYWRpdXNTY2FsZSA9IHRoaXMuZ2V0UmFkaXVzU2NhbGUoZml4ZWRSYWRpdXMpO1xuICAgIGNvbnN0IHJhZGl1c1VuaXRzID0gdGhpcy5nZXRSYWRpdXNVbml0KGZpeGVkUmFkaXVzKTtcblxuICAgIGNvbnN0IGxheWVyUHJvcHMgPSB7XG4gICAgICBzdHJva2VkOiB0aGlzLmNvbmZpZy52aXNDb25maWcub3V0bGluZSxcbiAgICAgIGZpbGxlZDogdGhpcy5jb25maWcudmlzQ29uZmlnLmZpbGxlZCxcbiAgICAgIGxpbmVXaWR0aFNjYWxlOiB0aGlzLmNvbmZpZy52aXNDb25maWcudGhpY2tuZXNzLFxuICAgICAgcmFkaXVzU2NhbGUsXG4gICAgICAuLi4odGhpcy5jb25maWcudmlzQ29uZmlnLmZpeGVkUmFkaXVzID8ge30gOiB7cmFkaXVzTWF4UGl4ZWxzOiA1MDB9KVxuICAgIH07XG5cbiAgICBjb25zdCB1cGRhdGVUcmlnZ2VycyA9IHtcbiAgICAgIGdldFBvc2l0aW9uOiB0aGlzLmNvbmZpZy5jb2x1bW5zLFxuICAgICAgZ2V0RmlsdGVyVmFsdWU6IGdwdUZpbHRlci5maWx0ZXJWYWx1ZVVwZGF0ZVRyaWdnZXJzLFxuICAgICAgLi4udGhpcy5nZXRWaXN1YWxDaGFubmVsVXBkYXRlVHJpZ2dlcnMoKVxuICAgIH07XG5cbiAgICBjb25zdCBkZWZhdWx0TGF5ZXJQcm9wcyA9IHRoaXMuZ2V0RGVmYXVsdERlY2tMYXllclByb3BzKG9wdHMpO1xuICAgIGNvbnN0IGJydXNoaW5nUHJvcHMgPSB0aGlzLmdldEJydXNoaW5nRXh0ZW5zaW9uUHJvcHMoaW50ZXJhY3Rpb25Db25maWcpO1xuICAgIGNvbnN0IGdldFBpeGVsT2Zmc2V0ID0gZ2V0VGV4dE9mZnNldEJ5UmFkaXVzKFxuICAgICAgcmFkaXVzU2NhbGUsXG4gICAgICBkYXRhLmdldFJhZGl1cyxcbiAgICAgIG1hcFN0YXRlLFxuICAgICAgZml4ZWRSYWRpdXNcbiAgICApO1xuICAgIGNvbnN0IGV4dGVuc2lvbnMgPSBbLi4uZGVmYXVsdExheWVyUHJvcHMuZXh0ZW5zaW9ucywgYnJ1c2hpbmdFeHRlbnNpb25dO1xuXG4gICAgY29uc3Qgc2hhcmVkUHJvcHMgPSB7XG4gICAgICBnZXRGaWx0ZXJWYWx1ZTogZGF0YS5nZXRGaWx0ZXJWYWx1ZSxcbiAgICAgIGV4dGVuc2lvbnMsXG4gICAgICBmaWx0ZXJSYW5nZTogZGVmYXVsdExheWVyUHJvcHMuZmlsdGVyUmFuZ2UsXG4gICAgICB2aXNpYmxlOiBkZWZhdWx0TGF5ZXJQcm9wcy52aXNpYmxlLFxuICAgICAgLi4uYnJ1c2hpbmdQcm9wc1xuICAgIH07XG4gICAgY29uc3QgaG92ZXJlZE9iamVjdCA9IHRoaXMuaGFzSG92ZXJlZE9iamVjdChvYmplY3RIb3ZlcmVkKTtcblxuICAgIHJldHVybiBbXG4gICAgICBuZXcgU2NhdHRlcnBsb3RMYXllcih7XG4gICAgICAgIC4uLmRlZmF1bHRMYXllclByb3BzLFxuICAgICAgICAuLi5icnVzaGluZ1Byb3BzLFxuICAgICAgICAuLi5sYXllclByb3BzLFxuICAgICAgICAuLi5kYXRhLFxuICAgICAgICBwYXJhbWV0ZXJzOiB7XG4gICAgICAgICAgLy8gY2lyY2xlcyB3aWxsIGJlIGZsYXQgb24gdGhlIG1hcCB3aGVuIHRoZSBhbHRpdHVkZSBjb2x1bW4gaXMgbm90IHVzZWRcbiAgICAgICAgICBkZXB0aFRlc3Q6IHRoaXMuY29uZmlnLmNvbHVtbnMuYWx0aXR1ZGU/LmZpZWxkSWR4ID4gLTFcbiAgICAgICAgfSxcbiAgICAgICAgcmFkaXVzVW5pdHMsXG4gICAgICAgIGxpbmVXaWR0aFVuaXRzOiAncGl4ZWxzJyxcbiAgICAgICAgdXBkYXRlVHJpZ2dlcnMsXG4gICAgICAgIGV4dGVuc2lvbnNcbiAgICAgIH0pLFxuICAgICAgLy8gaG92ZXIgbGF5ZXJcbiAgICAgIC4uLihob3ZlcmVkT2JqZWN0XG4gICAgICAgID8gW1xuICAgICAgICAgICAgbmV3IFNjYXR0ZXJwbG90TGF5ZXIoe1xuICAgICAgICAgICAgICAuLi50aGlzLmdldERlZmF1bHRIb3ZlckxheWVyUHJvcHMoKSxcbiAgICAgICAgICAgICAgLi4ubGF5ZXJQcm9wcyxcbiAgICAgICAgICAgICAgZGF0YTogW2hvdmVyZWRPYmplY3RdLFxuICAgICAgICAgICAgICBnZXRMaW5lQ29sb3I6IHRoaXMuY29uZmlnLmhpZ2hsaWdodENvbG9yLFxuICAgICAgICAgICAgICBnZXRGaWxsQ29sb3I6IHRoaXMuY29uZmlnLmhpZ2hsaWdodENvbG9yLFxuICAgICAgICAgICAgICBnZXRSYWRpdXM6IGRhdGEuZ2V0UmFkaXVzLFxuICAgICAgICAgICAgICBnZXRQb3NpdGlvbjogZGF0YS5nZXRQb3NpdGlvblxuICAgICAgICAgICAgfSlcbiAgICAgICAgICBdXG4gICAgICAgIDogW10pLFxuICAgICAgLy8gdGV4dCBsYWJlbCBsYXllclxuICAgICAgLi4udGhpcy5yZW5kZXJUZXh0TGFiZWxMYXllcihcbiAgICAgICAge1xuICAgICAgICAgIGdldFBvc2l0aW9uOiBkYXRhLmdldFBvc2l0aW9uLFxuICAgICAgICAgIHNoYXJlZFByb3BzLFxuICAgICAgICAgIGdldFBpeGVsT2Zmc2V0LFxuICAgICAgICAgIHVwZGF0ZVRyaWdnZXJzXG4gICAgICAgIH0sXG4gICAgICAgIG9wdHNcbiAgICAgIClcbiAgICBdO1xuICB9XG59XG4iXX0=
|
|
435
|
+
//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIi4uLy4uLy4uL3NyYy9sYXllcnMvcG9pbnQtbGF5ZXIvcG9pbnQtbGF5ZXIuanMiXSwibmFtZXMiOlsicG9pbnRQb3NBY2Nlc3NvciIsImxhdCIsImxuZyIsImFsdGl0dWRlIiwiZGMiLCJkIiwidmFsdWVBdCIsImluZGV4IiwiZmllbGRJZHgiLCJwb2ludFJlcXVpcmVkQ29sdW1ucyIsInBvaW50T3B0aW9uYWxDb2x1bW5zIiwiYnJ1c2hpbmdFeHRlbnNpb24iLCJCcnVzaGluZ0V4dGVuc2lvbiIsInBvaW50VmlzQ29uZmlncyIsInJhZGl1cyIsImZpeGVkUmFkaXVzIiwiY3VzdG9tTWFya2VycyIsImN1c3RvbU1hcmtlcnNVcmwiLCJvcGFjaXR5Iiwib3V0bGluZSIsInRoaWNrbmVzcyIsInN0cm9rZUNvbG9yIiwiY29sb3JSYW5nZSIsInN0cm9rZUNvbG9yUmFuZ2UiLCJyYWRpdXNSYW5nZSIsImZpbGxlZCIsInR5cGUiLCJsYWJlbCIsImRlZmF1bHRWYWx1ZSIsInByb3BlcnR5IiwiUG9pbnRMYXllciIsInByb3BzIiwicmVnaXN0ZXJWaXNDb25maWciLCJnZXRQb3NpdGlvbkFjY2Vzc29yIiwiZGF0YUNvbnRhaW5lciIsImNvbmZpZyIsImNvbHVtbnMiLCJQb2ludExheWVySWNvbiIsImRlZmF1bHRQb2ludENvbHVtblBhaXJzIiwiY29sb3IiLCJhY2Nlc3NvciIsImNvbmRpdGlvbiIsInZpc0NvbmZpZyIsImtleSIsImZpZWxkIiwic2NhbGUiLCJkb21haW4iLCJyYW5nZSIsImNoYW5uZWxTY2FsZVR5cGUiLCJDSEFOTkVMX1NDQUxFUyIsInNpemUiLCJmaXhlZCIsImRhdGFzZXQiLCJkZWZhdWx0Q29sb3JGaWVsZCIsInVwZGF0ZUxheWVyQ29uZmlnIiwiY29sb3JGaWVsZCIsInVwZGF0ZUxheWVyVmlzdWFsQ2hhbm5lbCIsInN0cm9rZUNvbG9yRmllbGQiLCJzdHJva2VDb2xvckRvbWFpbiIsInN0cm9rZUNvbG9yU2NhbGUiLCJnZXRQb3NpdGlvbiIsImZpbHRlcmVkSW5kZXgiLCJkYXRhIiwiaSIsImxlbmd0aCIsInBvcyIsImV2ZXJ5IiwiTnVtYmVyIiwiaXNGaW5pdGUiLCJwdXNoIiwicG9zaXRpb24iLCJkYXRhc2V0cyIsIm9sZExheWVyRGF0YSIsInRleHRMYWJlbCIsImRhdGFJZCIsImdwdUZpbHRlciIsInVwZGF0ZURhdGEiLCJ0cmlnZ2VyQ2hhbmdlZCIsInRleHRMYWJlbHMiLCJhY2Nlc3NvcnMiLCJnZXRBdHRyaWJ1dGVBY2Nlc3NvcnMiLCJnZXRGaWx0ZXJWYWx1ZSIsImZpbHRlclZhbHVlQWNjZXNzb3IiLCJib3VuZHMiLCJnZXRQb2ludHNCb3VuZHMiLCJ1cGRhdGVNZXRhIiwib2JqZWN0SW5mbyIsInBpY2tlZCIsImxheWVyIiwiaWQiLCJvcHRzIiwib2JqZWN0SG92ZXJlZCIsIm1hcFN0YXRlIiwiaW50ZXJhY3Rpb25Db25maWciLCJCb29sZWFuIiwic2l6ZUZpZWxkIiwicmFkaXVzU2NhbGUiLCJnZXRSYWRpdXNTY2FsZSIsInJhZGl1c1VuaXRzIiwiZ2V0UmFkaXVzVW5pdCIsInVwZGF0ZVRyaWdnZXJzIiwiZmlsdGVyVmFsdWVVcGRhdGVUcmlnZ2VycyIsImdldFZpc3VhbENoYW5uZWxVcGRhdGVUcmlnZ2VycyIsImRlZmF1bHRMYXllclByb3BzIiwiZ2V0RGVmYXVsdERlY2tMYXllclByb3BzIiwiYnJ1c2hpbmdQcm9wcyIsImdldEJydXNoaW5nRXh0ZW5zaW9uUHJvcHMiLCJnZXRQaXhlbE9mZnNldCIsImdldFJhZGl1cyIsImV4dGVuc2lvbnMiLCJzaGFyZWRQcm9wcyIsImZpbHRlclJhbmdlIiwidmlzaWJsZSIsImhvdmVyZWRPYmplY3QiLCJoYXNIb3ZlcmVkT2JqZWN0IiwidGV4dExhYmVsTGF5ZXIiLCJyZW5kZXJUZXh0TGFiZWxMYXllciIsImNvbW1vbkxheWVyUHJvcHMiLCJwYXJhbWV0ZXJzIiwiZGVwdGhUZXN0IiwiY3VzdG9tTWFya2Vyc0NvbmZpZ3VyZWQiLCJjdXN0b21NYXJrZXJzTWlzQ29uZmlndXJlZCIsIm1heEljb25TaXplIiwiZ2V0TWF4TWFya2VyU2l6ZSIsImljb25MYXllclByb3BzIiwiZ2V0SWNvbiIsInVybCIsIndpZHRoIiwiaGVpZ2h0IiwibWFzayIsImdldFNpemUiLCJzaXplU2NhbGUiLCJzaXplVW5pdHMiLCJJY29uTGF5ZXIiLCJnZXRDb2xvciIsImdldEZpbGxDb2xvciIsImdldERlZmF1bHRIb3ZlckxheWVyUHJvcHMiLCJoaWdobGlnaHRDb2xvciIsInNjYXR0ZXJQbG90TGF5ZXJQcm9wcyIsInN0cm9rZWQiLCJsaW5lV2lkdGhTY2FsZSIsInJhZGl1c01heFBpeGVscyIsIlNjYXR0ZXJwbG90TGF5ZXIiLCJsaW5lV2lkdGhVbml0cyIsImdldExpbmVDb2xvciIsImZpZWxkUGFpcnMiLCJmb3JFYWNoIiwicGFpciIsImxhdEZpZWxkIiwibG5nRmllbGQiLCJsYXllck5hbWUiLCJkZWZhdWx0TmFtZSIsInByb3AiLCJ2YWx1ZSIsIkRFRkFVTFRfTEFZRVJfQ09MT1IiLCJpc1Zpc2libGUiLCJvcHRpb25hbCIsIkxheWVyIl0sIm1hcHBpbmdzIjoiOzs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7O0FBb0JBOztBQUNBOztBQUdBOztBQUNBOztBQUNBOztBQUNBOztBQUNBOztBQUVBOzs7Ozs7Ozs7O0FBRU8sSUFBTUEsZ0JBQWdCLEdBQUcsU0FBbkJBLGdCQUFtQjtBQUFBLE1BQUVDLEdBQUYsUUFBRUEsR0FBRjtBQUFBLE1BQU9DLEdBQVAsUUFBT0EsR0FBUDtBQUFBLE1BQVlDLFFBQVosUUFBWUEsUUFBWjtBQUFBLFNBQTBCLFVBQUFDLEVBQUU7QUFBQSxXQUFJLFVBQUFDLENBQUM7QUFBQSxhQUFJLENBQ25FRCxFQUFFLENBQUNFLE9BQUgsQ0FBV0QsQ0FBQyxDQUFDRSxLQUFiLEVBQW9CTCxHQUFHLENBQUNNLFFBQXhCLENBRG1FLEVBRW5FSixFQUFFLENBQUNFLE9BQUgsQ0FBV0QsQ0FBQyxDQUFDRSxLQUFiLEVBQW9CTixHQUFHLENBQUNPLFFBQXhCLENBRm1FLEVBR25FTCxR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QUFDc0osWUFBQUEsS0FBSyxFQUFFLElBQVI7QUFBY2pKLFlBQUFBLFFBQVEsRUFBRSxDQUFDLENBQXpCO0FBQTRCb0osWUFBQUEsUUFBUSxFQUFFO0FBQXRDO0FBSEcsU0FBZjtBQU1BN0gsUUFBQUEsS0FBSyxDQUFDc0MsSUFBTixDQUFXbUYsSUFBWDtBQUNELE9BMUJEO0FBNEJBLGFBQU87QUFBQ3pILFFBQUFBLEtBQUssRUFBTEE7QUFBRCxPQUFQO0FBQ0Q7OztFQWxIcUM4SCxxQiIsInNvdXJjZXNDb250ZW50IjpbIi8vIENvcHlyaWdodCAoYykgMjAyMiBVYmVyIFRlY2hub2xvZ2llcywgSW5jLlxuLy9cbi8vIFBlcm1pc3Npb24gaXMgaGVyZWJ5IGdyYW50ZWQsIGZyZWUgb2YgY2hhcmdlLCB0byBhbnkgcGVyc29uIG9idGFpbmluZyBhIGNvcHlcbi8vIG9mIHRoaXMgc29mdHdhcmUgYW5kIGFzc29jaWF0ZWQgZG9jdW1lbnRhdGlvbiBmaWxlcyAodGhlIFwiU29mdHdhcmVcIiksIHRvIGRlYWxcbi8vIGluIHRoZSBTb2Z0d2FyZSB3aXRob3V0IHJlc3RyaWN0aW9uLCBpbmNsdWRpbmcgd2l0aG91dCBsaW1pdGF0aW9uIHRoZSByaWdodHNcbi8vIHRvIHVzZSwgY29weSwgbW9kaWZ5LCBtZXJnZSwgcHVibGlzaCwgZGlzdHJpYnV0ZSwgc3VibGljZW5zZSwgYW5kL29yIHNlbGxcbi8vIGNvcGllcyBvZiB0aGUgU29mdHdhcmUsIGFuZCB0byBwZXJtaXQgcGVyc29ucyB0byB3aG9tIHRoZSBTb2Z0d2FyZSBpc1xuLy8gZnVybmlzaGVkIHRvIGRvIHNvLCBzdWJqZWN0IHRvIHRoZSBmb2xsb3dpbmcgY29uZGl0aW9uczpcbi8vXG4vLyBUaGUgYWJvdmUgY29weXJpZ2h0IG5vdGljZSBhbmQgdGhpcyBwZXJtaXNzaW9uIG5vdGljZSBzaGFsbCBiZSBpbmNsdWRlZCBpblxuLy8gYWxsIGNvcGllcyBvciBzdWJzdGFudGlhbCBwb3J0aW9ucyBvZiB0aGUgU29mdHdhcmUuXG4vL1xuLy8gVEhFIFNPRlRXQVJFIElTIFBST1ZJREVEIFwiQVMgSVNcIiwgV0lUSE9VVCBXQVJSQU5UWSBPRiBBTlkgS0lORCwgRVhQUkVTUyBPUlxuLy8gSU1QTElFRCwgSU5DTFVESU5HIEJVVCBOT1QgTElNSVRFRCBUTyBUSEUgV0FSUkFOVElFUyBPRiBNRVJDSEFOVEFCSUxJVFksXG4vLyBGSVRORVNTIEZPUiBBIFBBUlRJQ1VMQVIgUFVSUE9TRSBBTkQgTk9OSU5GUklOR0VNRU5ULiBJTiBOTyBFVkVOVCBTSEFMTCBUSEVcbi8vIEFVVEhPUlMgT1IgQ09QWVJJR0hUIEhPTERFUlMgQkUgTElBQkxFIEZPUiBBTlkgQ0xBSU0sIERBTUFHRVMgT1IgT1RIRVJcbi8vIExJQUJJTElUWSwgV0hFVEhFUiBJTiBBTiBBQ1RJT04gT0YgQ09OVFJBQ1QsIFRPUlQgT1IgT1RIRVJXSVNFLCBBUklTSU5HIEZST00sXG4vLyBPVVQgT0YgT1IgSU4gQ09OTkVDVElPTiBXSVRIIFRIRSBTT0ZUV0FSRSBPUiBUSEUgVVNFIE9SIE9USEVSIERFQUxJTkdTIElOXG4vLyBUSEUgU09GVFdBUkUuXG5cbmltcG9ydCB7QnJ1c2hpbmdFeHRlbnNpb259IGZyb20gJ0BkZWNrLmdsL2V4dGVuc2lvbnMnO1xuaW1wb3J0IHtTY2F0dGVycGxvdExheWVyfSBmcm9tICdAZGVjay5nbC9sYXllcnMnO1xuaW1wb3J0IHtJY29uTGF5ZXJ9IGZyb20gJ0BkZWNrLmdsL2xheWVycyc7XG5cbmltcG9ydCBMYXllciBmcm9tICcuLi9iYXNlLWxheWVyJztcbmltcG9ydCB7aGV4VG9SZ2J9IGZyb20gJ3V0aWxzL2NvbG9yLXV0aWxzJztcbmltcG9ydCB7ZmluZERlZmF1bHRDb2xvckZpZWxkfSBmcm9tICd1dGlscy9kYXRhc2V0LXV0aWxzJztcbmltcG9ydCBQb2ludExheWVySWNvbiBmcm9tICcuL3BvaW50LWxheWVyLWljb24nO1xuaW1wb3J0IHtERUZBVUxUX0xBWUVSX0NPTE9SLCBDSEFOTkVMX1NDQUxFU30gZnJvbSAnY29uc3RhbnRzL2RlZmF1bHQtc2V0dGluZ3MnO1xuXG5pbXBvcnQge2dldFRleHRPZmZzZXRCeVJhZGl1cywgZm9ybWF0VGV4dExhYmVsRGF0YX0gZnJvbSAnLi4vbGF5ZXItdGV4dC1sYWJlbCc7XG5cbmV4cG9ydCBjb25zdCBwb2ludFBvc0FjY2Vzc29yID0gKHtsYXQsIGxuZywgYWx0aXR1ZGV9KSA9PiBkYyA9PiBkID0+IFtcbiAgZGMudmFsdWVBdChkLmluZGV4LCBsbmcuZmllbGRJZHgpLFxuICBkYy52YWx1ZUF0KGQuaW5kZXgsIGxhdC5maWVsZElkeCksXG4gIGFsdGl0dWRlICYmIGFsdGl0dWRlLmZpZWxkSWR4ID4gLTEgPyBkYy52YWx1ZUF0KGQuaW5kZXgsIGFsdGl0dWRlLmZpZWxkSWR4KSA6IDBcbl07XG5cbmV4cG9ydCBjb25zdCBwb2ludFJlcXVpcmVkQ29sdW1ucyA9IFsnbGF0JywgJ2xuZyddO1xuZXhwb3J0IGNvbnN0IHBvaW50T3B0aW9uYWxDb2x1bW5zID0gWydhbHRpdHVkZSddO1xuXG5jb25zdCBicnVzaGluZ0V4dGVuc2lvbiA9IG5ldyBCcnVzaGluZ0V4dGVuc2lvbigpO1xuXG5leHBvcnQgY29uc3QgcG9pbnRWaXNDb25maWdzID0ge1xuICByYWRpdXM6ICdyYWRpdXMnLFxuICBmaXhlZFJhZGl1czogJ2ZpeGVkUmFkaXVzJyxcbiAgY3VzdG9tTWFya2VyczogJ2N1c3RvbU1hcmtlcnMnLFxuICBjdXN0b21NYXJrZXJzVXJsOiAnY3VzdG9tTWFya2Vyc1VybCcsXG4gIG9wYWNpdHk6ICdvcGFjaXR5JyxcbiAgb3V0bGluZTogJ291dGxpbmUnLFxuICB0aGlja25lc3M6ICd0aGlja25lc3MnLFxuICBzdHJva2VDb2xvcjogJ3N0cm9rZUNvbG9yJyxcbiAgY29sb3JSYW5nZTogJ2NvbG9yUmFuZ2UnLFxuICBzdHJva2VDb2xvclJhbmdlOiAnc3Ryb2tlQ29sb3JSYW5nZScsXG4gIHJhZGl1c1JhbmdlOiAncmFkaXVzUmFuZ2UnLFxuICBmaWxsZWQ6IHtcbiAgICB0eXBlOiAnYm9vbGVhbicsXG4gICAgbGFiZWw6ICdsYXllci5maWxsQ29sb3InLFxuICAgIGRlZmF1bHRWYWx1ZTogdHJ1ZSxcbiAgICBwcm9wZXJ0eTogJ2ZpbGxlZCdcbiAgfVxufTtcblxuZXhwb3J0IGRlZmF1bHQgY2xhc3MgUG9pbnRMYXllciBleHRlbmRzIExheWVyIHtcbiAgY29uc3RydWN0b3IocHJvcHMpIHtcbiAgICBzdXBlcihwcm9wcyk7XG5cbiAgICB0aGlzLnJlZ2lzdGVyVmlzQ29uZmlnKHBvaW50VmlzQ29uZmlncyk7XG4gICAgdGhpcy5nZXRQb3NpdGlvbkFjY2Vzc29yID0gZGF0YUNvbnRhaW5lciA9PlxuICAgICAgcG9pbnRQb3NBY2Nlc3Nvcih0aGlzLmNvbmZpZy5jb2x1bW5zKShkYXRhQ29udGFpbmVyKTtcbiAgfVxuXG4gIGdldCB0eXBlKCkge1xuICAgIHJldHVybiAncG9pbnQnO1xuICB9XG5cbiAgZ2V0IGlzQWdncmVnYXRlZCgpIHtcbiAgICByZXR1cm4gZmFsc2U7XG4gIH1cblxuICBnZXQgbGF5ZXJJY29uKCkge1xuICAgIHJldHVybiBQb2ludExheWVySWNvbjtcbiAgfVxuICBnZXQgcmVxdWlyZWRMYXllckNvbHVtbnMoKSB7XG4gICAgcmV0dXJuIHBvaW50UmVxdWlyZWRDb2x1bW5zO1xuICB9XG5cbiAgZ2V0IG9wdGlvbmFsQ29sdW1ucygpIHtcbiAgICByZXR1cm4gcG9pbnRPcHRpb25hbENvbHVtbnM7XG4gIH1cblxuICBnZXQgY29sdW1uUGFpcnMoKSB7XG4gICAgcmV0dXJuIHRoaXMuZGVmYXVsdFBvaW50Q29sdW1uUGFpcnM7XG4gIH1cblxuICBnZXQgbm9uZUxheWVyRGF0YUFmZmVjdGluZ1Byb3BzKCkge1xuICAgIHJldHVybiBbLi4uc3VwZXIubm9uZUxheWVyRGF0YUFmZmVjdGluZ1Byb3BzLCAncmFkaXVzJ107XG4gIH1cblxuICBnZXQgdmlzdWFsQ2hhbm5lbHMoKSB7XG4gICAgcmV0dXJuIHtcbiAgICAgIGNvbG9yOiB7XG4gICAgICAgIC4uLnN1cGVyLnZpc3VhbENoYW5uZWxzLmNvbG9yLFxuICAgICAgICBhY2Nlc3NvcjogJ2dldEZpbGxDb2xvcicsXG4gICAgICAgIGNvbmRpdGlvbjogY29uZmlnID0+IGNvbmZpZy52aXNDb25maWcuZmlsbGVkLFxuICAgICAgICBkZWZhdWx0VmFsdWU6IGNvbmZpZyA9PiBjb25maWcuY29sb3JcbiAgICAgIH0sXG4gICAgICBzdHJva2VDb2xvcjoge1xuICAgICAgICBwcm9wZXJ0eTogJ3N0cm9rZUNvbG9yJyxcbiAgICAgICAga2V5OiAnc3Ryb2tlQ29sb3InLFxuICAgICAgICBmaWVsZDogJ3N0cm9rZUNvbG9yRmllbGQnLFxuICAgICAgICBzY2FsZTogJ3N0cm9rZUNvbG9yU2NhbGUnLFxuICAgICAgICBkb21haW46ICdzdHJva2VDb2xvckRvbWFpbicsXG4gICAgICAgIHJhbmdlOiAnc3Ryb2tlQ29sb3JSYW5nZScsXG4gICAgICAgIGNoYW5uZWxTY2FsZVR5cGU6IENIQU5ORUxfU0NBTEVTLmNvbG9yLFxuICAgICAgICBhY2Nlc3NvcjogJ2dldExpbmVDb2xvcicsXG4gICAgICAgIGNvbmRpdGlvbjogY29uZmlnID0+IGNvbmZpZy52aXNDb25maWcub3V0bGluZSxcbiAgICAgICAgZGVmYXVsdFZhbHVlOiBjb25maWcgPT4gY29uZmlnLnZpc0NvbmZpZy5zdHJva2VDb2xvciB8fCBjb25maWcuY29sb3JcbiAgICAgIH0sXG4gICAgICBzaXplOiB7XG4gICAgICAgIC4uLnN1cGVyLnZpc3VhbENoYW5uZWxzLnNpemUsXG4gICAgICAgIHByb3BlcnR5OiAncmFkaXVzJyxcbiAgICAgICAgcmFuZ2U6ICdyYWRpdXNSYW5nZScsXG4gICAgICAgIGZpeGVkOiAnZml4ZWRSYWRpdXMnLFxuICAgICAgICBjaGFubmVsU2NhbGVUeXBlOiAncmFkaXVzJyxcbiAgICAgICAgYWNjZXNzb3I6ICdnZXRSYWRpdXMnLFxuICAgICAgICBkZWZhdWx0VmFsdWU6IDFcbiAgICAgIH1cbiAgICB9O1xuICB9XG5cbiAgc2V0SW5pdGlhbExheWVyQ29uZmlnKGRhdGFzZXQpIHtcbiAgICBjb25zdCBkZWZhdWx0Q29sb3JGaWVsZCA9IGZpbmREZWZhdWx0Q29sb3JGaWVsZChkYXRhc2V0KTtcblxuICAgIGlmIChkZWZhdWx0Q29sb3JGaWVsZCkge1xuICAgICAgdGhpcy51cGRhdGVMYXllckNvbmZpZyh7XG4gICAgICAgIGNvbG9yRmllbGQ6IGRlZmF1bHRDb2xvckZpZWxkXG4gICAgICB9KTtcbiAgICAgIHRoaXMudXBkYXRlTGF5ZXJWaXN1YWxDaGFubmVsKGRhdGFzZXQsICdjb2xvcicpO1xuICAgIH1cblxuICAgIHJldHVybiB0aGlzO1xuICB9XG5cbiAgc3RhdGljIGZpbmREZWZhdWx0TGF5ZXJQcm9wcyh7ZmllbGRQYWlycyA9IFtdfSkge1xuICAgIGNvbnN0IHByb3BzID0gW107XG5cbiAgICAvLyBNYWtlIGxheWVyIGZvciBlYWNoIHBhaXJcbiAgICBmaWVsZFBhaXJzLmZvckVhY2gocGFpciA9PiB7XG4gICAgICBjb25zdCBsYXRGaWVsZCA9IHBhaXIucGFpci5sYXQ7XG4gICAgICBjb25zdCBsbmdGaWVsZCA9IHBhaXIucGFpci5sbmc7XG4gICAgICBjb25zdCBsYXllck5hbWUgPSBwYWlyLmRlZmF1bHROYW1lO1xuXG4gICAgICBjb25zdCBwcm9wID0ge1xuICAgICAgICBsYWJlbDogbGF5ZXJOYW1lLmxlbmd0aCA/IGxheWVyTmFtZSA6ICdQb2ludCdcbiAgICAgIH07XG5cbiAgICAgIC8vIGRlZmF1bHQgbGF5ZXIgY29sb3IgZm9yIGJlZ2ludHJpcCBhbmQgZHJvcG9mZiBwb2ludFxuICAgICAgaWYgKGxhdEZpZWxkLnZhbHVlIGluIERFRkFVTFRfTEFZRVJfQ09MT1IpIHtcbiAgICAgICAgcHJvcC5jb2xvciA9IGhleFRvUmdiKERFRkFVTFRfTEFZRVJfQ09MT1JbbGF0RmllbGQudmFsdWVdKTtcbiAgICAgIH1cblxuICAgICAgLy8gc2V0IHRoZSBmaXJzdCBsYXllciB0byBiZSB2aXNpYmxlXG4gICAgICBpZiAocHJvcHMubGVuZ3RoID09PSAwKSB7XG4gICAgICAgIHByb3AuaXNWaXNpYmxlID0gdHJ1ZTtcbiAgICAgIH1cblxuICAgICAgcHJvcC5jb2x1bW5zID0ge1xuICAgICAgICBsYXQ6IGxhdEZpZWxkLFxuICAgICAgICBsbmc6IGxuZ0ZpZWxkLFxuICAgICAgICBhbHRpdHVkZToge3ZhbHVlOiBudWxsLCBmaWVsZElkeDogLTEsIG9wdGlvbmFsOiB0cnVlfVxuICAgICAgfTtcblxuICAgICAgcHJvcHMucHVzaChwcm9wKTtcbiAgICB9KTtcblxuICAgIHJldHVybiB7cHJvcHN9O1xuICB9XG5cbiAgZ2V0RGVmYXVsdExheWVyQ29uZmlnKHByb3BzID0ge30pIHtcbiAgICByZXR1cm4ge1xuICAgICAgLi4uc3VwZXIuZ2V0RGVmYXVsdExheWVyQ29uZmlnKHByb3BzKSxcblxuICAgICAgLy8gYWRkIHN0cm9rZSBjb2xvciB2aXN1YWwgY2hhbm5lbFxuICAgICAgc3Ryb2tlQ29sb3JGaWVsZDogbnVsbCxcbiAgICAgIHN0cm9rZUNvbG9yRG9tYWluOiBbMCwgMV0sXG4gICAgICBzdHJva2VDb2xvclNjYWxlOiAncXVhbnRpbGUnXG4gICAgfTtcbiAgfVxuXG4gIGNhbGN1bGF0ZURhdGFBdHRyaWJ1dGUoe2ZpbHRlcmVkSW5kZXh9LCBnZXRQb3NpdGlvbikge1xuICAgIGNvbnN0IGRhdGEgPSBbXTtcblxuICAgIGZvciAobGV0IGkgPSAwOyBpIDwgZmlsdGVyZWRJbmRleC5sZW5ndGg7IGkrKykge1xuICAgICAgY29uc3QgaW5kZXggPSBmaWx0ZXJlZEluZGV4W2ldO1xuICAgICAgY29uc3QgcG9zID0gZ2V0UG9zaXRpb24oe2luZGV4fSk7XG5cbiAgICAgIC8vIGlmIGRvZXNuJ3QgaGF2ZSBwb2ludCBsYXQgb3IgbG5nLCBkbyBub3QgYWRkIHRoZSBwb2ludFxuICAgICAgLy8gZGVjay5nbCBjYW4ndCBoYW5kbGUgcG9zaXRpb24gPSBudWxsXG4gICAgICBpZiAocG9zLmV2ZXJ5KE51bWJlci5pc0Zpbml0ZSkpIHtcbiAgICAgICAgZGF0YS5wdXNoKHtcbiAgICAgICAgICBwb3NpdGlvbjogcG9zLFxuICAgICAgICAgIGluZGV4XG4gICAgICAgIH0pO1xuICAgICAgfVxuICAgIH1cbiAgICByZXR1cm4gZGF0YTtcbiAgfVxuXG4gIGZvcm1hdExheWVyRGF0YShkYXRhc2V0cywgb2xkTGF5ZXJEYXRhKSB7XG4gICAgY29uc3Qge3RleHRMYWJlbH0gPSB0aGlzLmNvbmZpZztcbiAgICBjb25zdCB7Z3B1RmlsdGVyLCBkYXRhQ29udGFpbmVyfSA9IGRhdGFzZXRzW3RoaXMuY29uZmlnLmRhdGFJZF07XG4gICAgY29uc3Qge2RhdGEsIHRyaWdnZXJDaGFuZ2VkfSA9IHRoaXMudXBkYXRlRGF0YShkYXRhc2V0cywgb2xkTGF5ZXJEYXRhKTtcbiAgICBjb25zdCBnZXRQb3NpdGlvbiA9IHRoaXMuZ2V0UG9zaXRpb25BY2Nlc3NvcihkYXRhQ29udGFpbmVyKTtcblxuICAgIC8vIGdldCBhbGwgZGlzdGluY3QgY2hhcmFjdGVycyBpbiB0aGUgdGV4dCBsYWJlbHNcbiAgICBjb25zdCB0ZXh0TGFiZWxzID0gZm9ybWF0VGV4dExhYmVsRGF0YSh7XG4gICAgICB0ZXh0TGFiZWwsXG4gICAgICB0cmlnZ2VyQ2hhbmdlZCxcbiAgICAgIG9sZExheWVyRGF0YSxcbiAgICAgIGRhdGEsXG4gICAgICBkYXRhQ29udGFpbmVyXG4gICAgfSk7XG5cbiAgICBjb25zdCBhY2Nlc3NvcnMgPSB0aGlzLmdldEF0dHJpYnV0ZUFjY2Vzc29ycyh7ZGF0YUNvbnRhaW5lcn0pO1xuXG4gICAgcmV0dXJuIHtcbiAgICAgIGRhdGEsXG4gICAgICBnZXRQb3NpdGlvbixcbiAgICAgIGdldEZpbHRlclZhbHVlOiBncHVGaWx0ZXIuZmlsdGVyVmFsdWVBY2Nlc3NvcihkYXRhQ29udGFpbmVyKSgpLFxuICAgICAgdGV4dExhYmVscyxcbiAgICAgIC4uLmFjY2Vzc29yc1xuICAgIH07XG4gIH1cbiAgLyogZXNsaW50LWVuYWJsZSBjb21wbGV4aXR5ICovXG5cbiAgdXBkYXRlTGF5ZXJNZXRhKGRhdGFDb250YWluZXIpIHtcbiAgICBjb25zdCBnZXRQb3NpdGlvbiA9IHRoaXMuZ2V0UG9zaXRpb25BY2Nlc3NvcihkYXRhQ29udGFpbmVyKTtcbiAgICBjb25zdCBib3VuZHMgPSB0aGlzLmdldFBvaW50c0JvdW5kcyhkYXRhQ29udGFpbmVyLCBnZXRQb3NpdGlvbik7XG4gICAgdGhpcy51cGRhdGVNZXRhKHtib3VuZHN9KTtcbiAgfVxuXG4gIGlzTGF5ZXJIb3ZlcmVkKG9iamVjdEluZm8pIHtcbiAgICByZXR1cm4gKFxuICAgICAgKG9iamVjdEluZm8/LnBpY2tlZCAmJiBvYmplY3RJbmZvPy5sYXllcj8ucHJvcHM/LmlkID09PSB0aGlzLmlkKSB8fFxuICAgICAgb2JqZWN0SW5mbz8ubGF5ZXI/LnByb3BzPy5pZCA9PT0gYCR7dGhpcy5pZH0taWNvbmBcbiAgICApO1xuICB9XG5cbiAgcmVuZGVyTGF5ZXIob3B0cykge1xuICAgIGNvbnN0IHtkYXRhLCBncHVGaWx0ZXIsIG9iamVjdEhvdmVyZWQsIG1hcFN0YXRlLCBpbnRlcmFjdGlvbkNvbmZpZ30gPSBvcHRzO1xuXG4gICAgLy8gaWYgbm8gZmllbGQgc2l6ZSBpcyBkZWZpbmVkIHdlIG5lZWQgdG8gcGFzcyBmaXhlZCByYWRpdXMgPSBmYWxzZVxuICAgIGNvbnN0IGZpeGVkUmFkaXVzID0gdGhpcy5jb25maWcudmlzQ29uZmlnLmZpeGVkUmFkaXVzICYmIEJvb2xlYW4odGhpcy5jb25maWcuc2l6ZUZpZWxkKTtcbiAgICBjb25zdCByYWRpdXNTY2FsZSA9IHRoaXMuZ2V0UmFkaXVzU2NhbGUoZml4ZWRSYWRpdXMpO1xuICAgIGNvbnN0IHJhZGl1c1VuaXRzID0gdGhpcy5nZXRSYWRpdXNVbml0KGZpeGVkUmFkaXVzKTtcblxuICAgIGNvbnN0IHVwZGF0ZVRyaWdnZXJzID0ge1xuICAgICAgZ2V0UG9zaXRpb246IHRoaXMuY29uZmlnLmNvbHVtbnMsXG4gICAgICBnZXRGaWx0ZXJWYWx1ZTogZ3B1RmlsdGVyLmZpbHRlclZhbHVlVXBkYXRlVHJpZ2dlcnMsXG4gICAgICAuLi50aGlzLmdldFZpc3VhbENoYW5uZWxVcGRhdGVUcmlnZ2VycygpXG4gICAgfTtcblxuICAgIGNvbnN0IGRlZmF1bHRMYXllclByb3BzID0gdGhpcy5nZXREZWZhdWx0RGVja0xheWVyUHJvcHMob3B0cyk7XG4gICAgY29uc3QgYnJ1c2hpbmdQcm9wcyA9IHRoaXMuZ2V0QnJ1c2hpbmdFeHRlbnNpb25Qcm9wcyhpbnRlcmFjdGlvbkNvbmZpZyk7XG4gICAgY29uc3QgZ2V0UGl4ZWxPZmZzZXQgPSBnZXRUZXh0T2Zmc2V0QnlSYWRpdXMoXG4gICAgICByYWRpdXNTY2FsZSxcbiAgICAgIGRhdGEuZ2V0UmFkaXVzLFxuICAgICAgbWFwU3RhdGUsXG4gICAgICBmaXhlZFJhZGl1c1xuICAgICk7XG4gICAgY29uc3QgZXh0ZW5zaW9ucyA9IFsuLi5kZWZhdWx0TGF5ZXJQcm9wcy5leHRlbnNpb25zLCBicnVzaGluZ0V4dGVuc2lvbl07XG5cbiAgICBjb25zdCBzaGFyZWRQcm9wcyA9IHtcbiAgICAgIGdldEZpbHRlclZhbHVlOiBkYXRhLmdldEZpbHRlclZhbHVlLFxuICAgICAgZXh0ZW5zaW9ucyxcbiAgICAgIGZpbHRlclJhbmdlOiBkZWZhdWx0TGF5ZXJQcm9wcy5maWx0ZXJSYW5nZSxcbiAgICAgIHZpc2libGU6IGRlZmF1bHRMYXllclByb3BzLnZpc2libGUsXG4gICAgICAuLi5icnVzaGluZ1Byb3BzXG4gICAgfTtcbiAgICBjb25zdCBob3ZlcmVkT2JqZWN0ID0gdGhpcy5oYXNIb3ZlcmVkT2JqZWN0KG9iamVjdEhvdmVyZWQpO1xuXG4gICAgY29uc3QgdGV4dExhYmVsTGF5ZXIgPSB0aGlzLnJlbmRlclRleHRMYWJlbExheWVyKFxuICAgICAge1xuICAgICAgICBnZXRQb3NpdGlvbjogZGF0YS5nZXRQb3NpdGlvbixcbiAgICAgICAgc2hhcmVkUHJvcHMsXG4gICAgICAgIGdldFBpeGVsT2Zmc2V0LFxuICAgICAgICB1cGRhdGVUcmlnZ2Vyc1xuICAgICAgfSxcbiAgICAgIG9wdHNcbiAgICApO1xuICAgIGNvbnN0IGNvbW1vbkxheWVyUHJvcHMgPSB7XG4gICAgICAuLi5kZWZhdWx0TGF5ZXJQcm9wcyxcbiAgICAgIHBhcmFtZXRlcnM6IHtcbiAgICAgICAgLy8gY2lyY2xlcyB3aWxsIGJlIGZsYXQgb24gdGhlIG1hcCB3aGVuIHRoZSBhbHRpdHVkZSBjb2x1bW4gaXMgbm90IHVzZWRcbiAgICAgICAgZGVwdGhUZXN0OiB0aGlzLmNvbmZpZy5jb2x1bW5zLmFsdGl0dWRlPy5maWVsZElkeCA+IC0xXG4gICAgICB9XG4gICAgfTtcblxuICAgIGNvbnN0IHtjdXN0b21NYXJrZXJzLCBjdXN0b21NYXJrZXJzVXJsfSA9IHRoaXMuY29uZmlnLnZpc0NvbmZpZztcbiAgICBjb25zdCBjdXN0b21NYXJrZXJzQ29uZmlndXJlZCA9IGN1c3RvbU1hcmtlcnMgJiYgQm9vbGVhbihjdXN0b21NYXJrZXJzVXJsKTtcbiAgICBjb25zdCBjdXN0b21NYXJrZXJzTWlzQ29uZmlndXJlZCA9IGN1c3RvbU1hcmtlcnMgJiYgIWN1c3RvbU1hcmtlcnNDb25maWd1cmVkO1xuICAgIGlmIChjdXN0b21NYXJrZXJzQ29uZmlndXJlZCkge1xuICAgICAgY29uc3QgbWF4SWNvblNpemUgPSB0aGlzLmdldE1heE1hcmtlclNpemUoKTtcblxuICAgICAgY29uc3QgaWNvbkxheWVyUHJvcHMgPSB7XG4gICAgICAgIGdldEljb246ICgpID0+IHtcbiAgICAgICAgICBjb25zdCB1cmwgPSBjdXN0b21NYXJrZXJzVXJsO1xuICAgICAgICAgIHJldHVybiB7XG4gICAgICAgICAgICBpZDogYCR7dXJsfUBAJHttYXhJY29uU2l6ZX1gLFxuICAgICAgICAgICAgdXJsLFxuICAgICAgICAgICAgd2lkdGg6IG1heEljb25TaXplLFxuICAgICAgICAgICAgaGVpZ2h0OiBtYXhJY29uU2l6ZSxcbiAgICAgICAgICAgIG1hc2s6IHRydWVcbiAgICAgICAgICB9O1xuICAgICAgICB9LFxuICAgICAgICBnZXRQb3NpdGlvbjogZGF0YS5nZXRQb3NpdGlvbixcbiAgICAgICAgZ2V0U2l6ZTogZGF0YS5nZXRSYWRpdXMsXG4gICAgICAgIHNpemVTY2FsZTogcmFkaXVzU2NhbGUsXG4gICAgICAgIHNpemVVbml0czogJ3BpeGVscydcbiAgICAgIH07XG5cbiAgICAgIHJldHVybiBbXG4gICAgICAgIG5ldyBJY29uTGF5ZXIoe1xuICAgICAgICAgIC4uLmNvbW1vbkxheWVyUHJvcHMsXG4gICAgICAgICAgLi4uaWNvbkxheWVyUHJvcHMsXG4gICAgICAgICAgaWQ6IGAke2RlZmF1bHRMYXllclByb3BzLmlkfS1pY29uYCxcbiAgICAgICAgICBkYXRhOiBkYXRhLmRhdGEsXG4gICAgICAgICAgZ2V0Q29sb3I6IGRhdGEuZ2V0RmlsbENvbG9yLFxuICAgICAgICAgIGdldEZpbHRlclZhbHVlOiBkYXRhLmdldEZpbHRlclZhbHVlLFxuICAgICAgICAgIHVwZGF0ZVRyaWdnZXJzOiB7XG4gICAgICAgICAgICBnZXRGaWx0ZXJWYWx1ZTogdXBkYXRlVHJpZ2dlcnMuZ2V0RmlsdGVyVmFsdWUsXG4gICAgICAgICAgICBnZXRDb2xvcjogdXBkYXRlVHJpZ2dlcnMuZ2V0RmlsbENvbG9yLFxuICAgICAgICAgICAgZ2V0SWNvbjogW2N1c3RvbU1hcmtlcnNVcmwsIG1heEljb25TaXplXSxcbiAgICAgICAgICAgIGdldFNpemU6IHVwZGF0ZVRyaWdnZXJzLmdldFJhZGl1c1xuICAgICAgICAgIH1cbiAgICAgICAgfSksXG4gICAgICAgIC4uLihob3ZlcmVkT2JqZWN0XG4gICAgICAgICAgPyBbXG4gICAgICAgICAgICAgIG5ldyBJY29uTGF5ZXIoe1xuICAgICAgICAgICAgICAgIC4uLmljb25MYXllclByb3BzLFxuICAgICAgICAgICAgICAgIC4uLnRoaXMuZ2V0RGVmYXVsdEhvdmVyTGF5ZXJQcm9wcygpLFxuICAgICAgICAgICAgICAgIGlkOiBgJHtkZWZhdWx0TGF5ZXJQcm9wcy5pZH0taWNvbi1ob3ZlcmVkYCxcbiAgICAgICAgICAgICAgICBkYXRhOiBbaG92ZXJlZE9iamVjdF0sXG4gICAgICAgICAgICAgICAgZ2V0Q29sb3I6IHRoaXMuY29uZmlnLmhpZ2hsaWdodENvbG9yXG4gICAgICAgICAgICAgIH0pXG4gICAgICAgICAgICBdXG4gICAgICAgICAgOiBbXSksXG4gICAgICAgIC4uLnRleHRMYWJlbExheWVyXG4gICAgICBdO1xuICAgIH1cblxuICAgIGNvbnN0IHNjYXR0ZXJQbG90TGF5ZXJQcm9wcyA9IHtcbiAgICAgIHN0cm9rZWQ6IHRoaXMuY29uZmlnLnZpc0NvbmZpZy5vdXRsaW5lLFxuICAgICAgZmlsbGVkOiB0aGlzLmNvbmZpZy52aXNDb25maWcuZmlsbGVkLFxuICAgICAgbGluZVdpZHRoU2NhbGU6IHRoaXMuY29uZmlnLnZpc0NvbmZpZy50aGlja25lc3MsXG4gICAgICAvLyBUT0RPOiBpbnZlbnQgYmV0dGVyIHdheSB0byByZW5kZXIgc29tZXRoaW5nIHdoZW4gY3VzdG9tTWFya2VycyBhcmUgbm90IHlldCBjb25maWd1cmVkXG4gICAgICByYWRpdXNTY2FsZTogY3VzdG9tTWFya2Vyc01pc0NvbmZpZ3VyZWQgPyByYWRpdXNTY2FsZSAvIDIgOiByYWRpdXNTY2FsZSxcbiAgICAgIC4uLih0aGlzLmNvbmZpZy52aXNDb25maWcuZml4ZWRSYWRpdXMgPyB7fSA6IHtyYWRpdXNNYXhQaXhlbHM6IDUwMH0pXG4gICAgfTtcblxuICAgIHJldHVybiBbXG4gICAgICBuZXcgU2NhdHRlcnBsb3RMYXllcih7XG4gICAgICAgIC4uLmJydXNoaW5nUHJvcHMsXG4gICAgICAgIC4uLmRhdGEsXG4gICAgICAgIC4uLmNvbW1vbkxheWVyUHJvcHMsXG4gICAgICAgIC4uLnNjYXR0ZXJQbG90TGF5ZXJQcm9wcyxcbiAgICAgICAgcmFkaXVzVW5pdHMsXG4gICAgICAgIGxpbmVXaWR0aFVuaXRzOiAncGl4ZWxzJyxcbiAgICAgICAgdXBkYXRlVHJpZ2dlcnMsXG4gICAgICAgIGV4dGVuc2lvbnNcbiAgICAgIH0pLFxuICAgICAgLy8gaG92ZXIgbGF5ZXJcbiAgICAgIC4uLihob3ZlcmVkT2JqZWN0XG4gICAgICAgID8gW1xuICAgICAgICAgICAgbmV3IFNjYXR0ZXJwbG90TGF5ZXIoe1xuICAgICAgICAgICAgICAuLi50aGlzLmdldERlZmF1bHRIb3ZlckxheWVyUHJvcHMoKSxcbiAgICAgICAgICAgICAgLi4uc2NhdHRlclBsb3RMYXllclByb3BzLFxuICAgICAgICAgICAgICBkYXRhOiBbaG92ZXJlZE9iamVjdF0sXG4gICAgICAgICAgICAgIGdldExpbmVDb2xvcjogdGhpcy5jb25maWcuaGlnaGxpZ2h0Q29sb3IsXG4gICAgICAgICAgICAgIGdldEZpbGxDb2xvcjogdGhpcy5jb25maWcuaGlnaGxpZ2h0Q29sb3IsXG4gICAgICAgICAgICAgIGdldFJhZGl1czogZGF0YS5nZXRSYWRpdXMsXG4gICAgICAgICAgICAgIGdldFBvc2l0aW9uOiBkYXRhLmdldFBvc2l0aW9uXG4gICAgICAgICAgICB9KVxuICAgICAgICAgIF1cbiAgICAgICAgOiBbXSksXG4gICAgICAvLyB0ZXh0IGxhYmVsIGxheWVyXG4gICAgICAuLi50ZXh0TGFiZWxMYXllclxuICAgIF07XG4gIH1cbn1cbiJdfQ==
|