@kepler.gl/components 3.3.0-alpha.8 → 3.3.0-alpha.9
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/cjs/common/file-uploader/file-upload.js +2 -1
- package/dist/cjs/effects/effect-configurator.js +2 -2
- package/dist/cjs/effects/effect-manager.js +32 -17
- package/dist/cjs/effects/effect-time-configurator.js +110 -42
- package/dist/cjs/kepler-gl.js +6 -2
- package/dist/cjs/modals/export-map-modal/components.js +16 -7
- package/dist/cjs/modals/export-map-modal/export-html-map.js +5 -9
- package/dist/cjs/modals/export-map-modal/export-json-map.js +4 -8
- package/dist/cjs/modals/export-map-modal/export-map-modal.js +21 -16
- package/dist/cjs/notification-panel/notification-item.js +58 -12
- package/dist/cjs/remote-dataset-refresh-controller.js +50 -0
- package/dist/cjs/side-panel/common/dataset-info.js +187 -8
- package/dist/cjs/side-panel/common/dataset-refresh-progress.js +63 -0
- package/dist/cjs/side-panel/common/dataset-title.js +76 -13
- package/dist/cjs/side-panel/common/source-data-catalog.js +31 -6
- package/dist/cjs/side-panel/filter-manager.js +7 -3
- package/dist/cjs/side-panel/layer-manager.js +14 -4
- package/dist/cjs/side-panel/layer-panel/dataset-layer-section.js +14 -4
- package/dist/cjs/side-panel/layer-panel/dataset-section.js +7 -3
- package/dist/cjs/side-panel/layer-panel/layer-configurator.js +49 -35
- package/dist/cjs/side-panel/layer-panel/vector-tile-layer-configurator.js +4 -3
- package/dist/effects/effect-manager.d.ts +1 -1
- package/dist/esm/common/file-uploader/file-upload.js +2 -1
- package/dist/esm/effects/effect-configurator.js +2 -2
- package/dist/esm/effects/effect-manager.js +34 -19
- package/dist/esm/effects/effect-time-configurator.js +111 -43
- package/dist/esm/kepler-gl.js +6 -2
- package/dist/esm/modals/export-map-modal/components.js +16 -7
- package/dist/esm/modals/export-map-modal/export-html-map.js +6 -10
- package/dist/esm/modals/export-map-modal/export-json-map.js +5 -9
- package/dist/esm/modals/export-map-modal/export-map-modal.js +21 -14
- package/dist/esm/notification-panel/notification-item.js +60 -14
- package/dist/esm/remote-dataset-refresh-controller.js +44 -0
- package/dist/esm/side-panel/common/dataset-info.js +186 -9
- package/dist/esm/side-panel/common/dataset-refresh-progress.js +56 -0
- package/dist/esm/side-panel/common/dataset-title.js +77 -14
- package/dist/esm/side-panel/common/source-data-catalog.js +29 -6
- package/dist/esm/side-panel/filter-manager.js +7 -3
- package/dist/esm/side-panel/layer-manager.js +14 -4
- package/dist/esm/side-panel/layer-panel/dataset-layer-section.js +14 -4
- package/dist/esm/side-panel/layer-panel/dataset-section.js +7 -3
- package/dist/esm/side-panel/layer-panel/layer-configurator.js +49 -35
- package/dist/esm/side-panel/layer-panel/vector-tile-layer-configurator.js +4 -3
- package/dist/kepler-gl.d.ts +1 -0
- package/dist/modals/export-map-modal/components.d.ts +14 -0
- package/dist/remote-dataset-refresh-controller.d.ts +11 -0
- package/dist/side-panel/common/dataset-info.d.ts +10 -0
- package/dist/side-panel/common/dataset-refresh-progress.d.ts +11 -0
- package/dist/side-panel/common/dataset-title.d.ts +5 -0
- package/dist/side-panel/common/source-data-catalog.d.ts +3 -0
- package/dist/side-panel/layer-panel/dataset-section.d.ts +2 -0
- package/package.json +16 -16
|
@@ -30,12 +30,13 @@ function VectorTileLayerConfiguratorFactory(ChannelByValueSelector, LayerColorRa
|
|
|
30
30
|
layerChannelConfigProps = _ref.layerChannelConfigProps,
|
|
31
31
|
layerConfiguratorProps = _ref.layerConfiguratorProps;
|
|
32
32
|
return /*#__PURE__*/_react["default"].createElement(StyledLayerConfigurator, null, /*#__PURE__*/_react["default"].createElement(LayerConfigGroup, (0, _extends2["default"])({}, visConfiguratorProps, {
|
|
33
|
-
label: "layer.fillColor"
|
|
33
|
+
label: "layer.fillColor",
|
|
34
|
+
collapsible: Boolean(layer.config.colorField)
|
|
34
35
|
}), layerChannelConfigProps.fields ? /*#__PURE__*/_react["default"].createElement(ChannelByValueSelector, (0, _extends2["default"])({}, layerChannelConfigProps, {
|
|
35
36
|
channel: layer.visualChannels.color
|
|
36
37
|
})) : null, layer.config.colorField ? /*#__PURE__*/_react["default"].createElement(_react["default"].Fragment, null, /*#__PURE__*/_react["default"].createElement(VisConfigSwitch, (0, _extends2["default"])({}, visConfiguratorProps, layer.visConfigSettings.dynamicColor)), /*#__PURE__*/_react["default"].createElement(LayerColorRangeSelector, (0, _extends2["default"])({}, visConfiguratorProps, {
|
|
37
38
|
channel: layer.visualChannels.color
|
|
38
|
-
}))) : /*#__PURE__*/_react["default"].createElement(LayerColorSelector, layerConfiguratorProps), /*#__PURE__*/_react["default"].createElement(VisConfigSlider, (0, _extends2["default"])({}, layer.visConfigSettings.opacity, visConfiguratorProps))), /*#__PURE__*/_react["default"].createElement(LayerConfigGroup, (0, _extends2["default"])({}, layer.visConfigSettings.stroked, visConfiguratorProps, {
|
|
39
|
+
})), /*#__PURE__*/_react["default"].createElement(_layerConfigGroup.ConfigGroupCollapsibleContent, null, /*#__PURE__*/_react["default"].createElement(VisConfigSwitch, (0, _extends2["default"])({}, visConfiguratorProps, layer.visConfigSettings.hideNulls)))) : /*#__PURE__*/_react["default"].createElement(LayerColorSelector, layerConfiguratorProps), /*#__PURE__*/_react["default"].createElement(VisConfigSlider, (0, _extends2["default"])({}, layer.visConfigSettings.opacity, visConfiguratorProps))), /*#__PURE__*/_react["default"].createElement(LayerConfigGroup, (0, _extends2["default"])({}, layer.visConfigSettings.stroked, visConfiguratorProps, {
|
|
39
40
|
label: "layer.strokeColor",
|
|
40
41
|
collapsible: true
|
|
41
42
|
}), /*#__PURE__*/_react["default"].createElement(ChannelByValueSelector, (0, _extends2["default"])({}, layerChannelConfigProps, {
|
|
@@ -90,4 +91,4 @@ function VectorTileLayerConfiguratorFactory(ChannelByValueSelector, LayerColorRa
|
|
|
90
91
|
return ConnectedVectorTileLayerConfigurator;
|
|
91
92
|
}
|
|
92
93
|
var _default = exports["default"] = VectorTileLayerConfiguratorFactory;
|
|
93
|
-
//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJuYW1lcyI6WyJfcmVhY3QiLCJfaW50ZXJvcFJlcXVpcmVEZWZhdWx0IiwicmVxdWlyZSIsIl9yZWFjdFJlZHV4IiwiX3N0eWxlZENvbXBvbmVudHMiLCJfc291cmNlRGF0YVNlbGVjdG9yIiwiX2ZpZWxkU2VsZWN0b3IiLCJfY2hhbm5lbEJ5VmFsdWVTZWxlY3RvciIsIl9sYXllckNvbmZpZ0dyb3VwIiwiX2ludGVyb3BSZXF1aXJlV2lsZGNhcmQiLCJfbGF5ZXJDb2xvclNlbGVjdG9yIiwiX3Zpc0NvbmZpZ1NsaWRlciIsIl92aXNDb25maWdTd2l0Y2giLCJfdGVtcGxhdGVPYmplY3QiLCJlIiwidCIsIldlYWtNYXAiLCJyIiwibiIsIl9fZXNNb2R1bGUiLCJvIiwiaSIsImYiLCJfX3Byb3RvX18iLCJfdHlwZW9mIiwiaGFzIiwiZ2V0Iiwic2V0IiwiX3QiLCJoYXNPd25Qcm9wZXJ0eSIsImNhbGwiLCJPYmplY3QiLCJkZWZpbmVQcm9wZXJ0eSIsImdldE93blByb3BlcnR5RGVzY3JpcHRvciIsIlN0eWxlZExheWVyQ29uZmlndXJhdG9yIiwic3R5bGVkIiwiZGl2IiwiX3RhZ2dlZFRlbXBsYXRlTGl0ZXJhbDIiLCJWZWN0b3JUaWxlTGF5ZXJDb25maWd1cmF0b3JGYWN0b3J5IiwiZGVwcyIsIkNoYW5uZWxCeVZhbHVlU2VsZWN0b3JGYWN0b3J5IiwiTGF5ZXJDb2xvclJhbmdlU2VsZWN0b3JGYWN0b3J5IiwiTGF5ZXJDb2xvclNlbGVjdG9yRmFjdG9yeSIsIkxheWVyQ29uZmlnR3JvdXBGYWN0b3J5IiwiVmlzQ29uZmlnU2xpZGVyRmFjdG9yeSIsIlZpc0NvbmZpZ1N3aXRjaEZhY3RvcnkiLCJTb3VyY2VEYXRhU2VsZWN0b3JGYWN0b3J5IiwiRmllbGRTZWxlY3RvckZhY3RvcnkiLCJDaGFubmVsQnlWYWx1ZVNlbGVjdG9yIiwiTGF5ZXJDb2xvclJhbmdlU2VsZWN0b3IiLCJMYXllckNvbG9yU2VsZWN0b3IiLCJMYXllckNvbmZpZ0dyb3VwIiwiVmlzQ29uZmlnU2xpZGVyIiwiVmlzQ29uZmlnU3dpdGNoIiwiX1NvdXJjZURhdGFTZWxlY3RvciIsIkZpZWxkU2VsZWN0b3IiLCJWZWN0b3JUaWxlTGF5ZXJDb25maWd1cmF0b3IiLCJfcmVmIiwibGF5ZXIiLCJ2aXNDb25maWd1cmF0b3JQcm9wcyIsImxheWVyQ2hhbm5lbENvbmZpZ1Byb3BzIiwibGF5ZXJDb25maWd1cmF0b3JQcm9wcyIsImNyZWF0ZUVsZW1lbnQiLCJfZXh0ZW5kczIiLCJsYWJlbCIsImZpZWxkcyIsImNoYW5uZWwiLCJ2aXN1YWxDaGFubmVscyIsImNvbG9yIiwiY29uZmlnIiwiY29sb3JGaWVsZCIsIkZyYWdtZW50IiwidmlzQ29uZmlnU2V0dGluZ3MiLCJkeW5hbWljQ29sb3IiLCJvcGFjaXR5Iiwic3Ryb2tlZCIsImNvbGxhcHNpYmxlIiwic3Ryb2tlQ29sb3IiLCJzdHJva2VDb2xvckZpZWxkIiwicHJvcGVydHkiLCJzZWxlY3RlZENvbG9yIiwidmlzQ29uZmlnIiwiQ29uZmlnR3JvdXBDb2xsYXBzaWJsZUNvbnRlbnQiLCJzdHJva2VPcGFjaXR5Iiwic2l6ZUZpZWxkIiwic2l6ZVJhbmdlIiwic3Ryb2tlV2lkdGgiLCJzaXplIiwiZW5hYmxlM2QiLCJlbGV2YXRpb25TY2FsZSIsImhlaWdodCIsImRlc2NyaXB0aW9uIiwicmFkaXVzIiwicmFkaXVzVW5pdHMiLCJ2YWx1ZSIsInVuaXF1ZUlkRmllbGQiLCJvblNlbGVjdCIsInZhbCIsIl9sYXllckNvbmZpZ3VyYXRvclBybyIsIm9uQ2hhbmdlIiwibmFtZSIsInBsYWNlaG9sZGVyIiwiZXJhc2FibGUiLCJDb25uZWN0ZWRWZWN0b3JUaWxlTGF5ZXJDb25maWd1cmF0b3IiLCJjb25uZWN0Iiwic3RhdGUiLCJfZGVmYXVsdCIsImV4cG9ydHMiXSwic291cmNlcyI6WyIuLi8uLi8uLi8uLi9zcmMvc2lkZS1wYW5lbC9sYXllci1wYW5lbC92ZWN0b3ItdGlsZS1sYXllci1jb25maWd1cmF0b3IudHN4Il0sInNvdXJjZXNDb250ZW50IjpbIi8vIFNQRFgtTGljZW5zZS1JZGVudGlmaWVyOiBNSVRcbi8vIENvcHlyaWdodCBjb250cmlidXRvcnMgdG8gdGhlIGtlcGxlci5nbCBwcm9qZWN0XG5cbmltcG9ydCBSZWFjdCBmcm9tICdyZWFjdCc7XG5pbXBvcnQge2Nvbm5lY3R9IGZyb20gJ3JlYWN0LXJlZHV4JztcbmltcG9ydCBzdHlsZWQgZnJvbSAnc3R5bGVkLWNvbXBvbmVudHMnO1xuXG5pbXBvcnQge1ZlY3RvclRpbGVMYXllcn0gZnJvbSAnQGtlcGxlci5nbC9sYXllcnMnO1xuaW1wb3J0IHtLZXBsZXJUYWJsZSBhcyBLZXBsZXJEYXRhc2V0fSBmcm9tICdAa2VwbGVyLmdsL3RhYmxlJztcblxuaW1wb3J0IFNvdXJjZURhdGFTZWxlY3RvckZhY3RvcnkgZnJvbSAnLi4vY29tbW9uL3NvdXJjZS1kYXRhLXNlbGVjdG9yJztcbmltcG9ydCBGaWVsZFNlbGVjdG9yRmFjdG9yeSBmcm9tICcuLi8uLi9jb21tb24vZmllbGQtc2VsZWN0b3InO1xuaW1wb3J0IENoYW5uZWxCeVZhbHVlU2VsZWN0b3JGYWN0b3J5IGZyb20gJy4vY2hhbm5lbC1ieS12YWx1ZS1zZWxlY3Rvcic7XG5pbXBvcnQgTGF5ZXJDb25maWdHcm91cEZhY3RvcnksIHtDb25maWdHcm91cENvbGxhcHNpYmxlQ29udGVudH0gZnJvbSAnLi9sYXllci1jb25maWctZ3JvdXAnO1xuaW1wb3J0IHtMYXllckNvbG9yUmFuZ2VTZWxlY3RvckZhY3RvcnksIExheWVyQ29sb3JTZWxlY3RvckZhY3Rvcnl9IGZyb20gJy4vbGF5ZXItY29sb3Itc2VsZWN0b3InO1xuaW1wb3J0IFZpc0NvbmZpZ1NsaWRlckZhY3RvcnkgZnJvbSAnLi92aXMtY29uZmlnLXNsaWRlcic7XG5pbXBvcnQgVmlzQ29uZmlnU3dpdGNoRmFjdG9yeSBmcm9tICcuL3Zpcy1jb25maWctc3dpdGNoJztcblxuY29uc3QgU3R5bGVkTGF5ZXJDb25maWd1cmF0b3IgPSBzdHlsZWQuZGl2YFxuICBtYXJnaW4tdG9wOiAxMnB4O1xuYDtcblxudHlwZSBHZXRQcm9wczxUIGV4dGVuZHMgKC4uLmFyZ3M6IGFueVtdKSA9PiBSZWFjdC5GQzxhbnk+PiA9IFBhcmFtZXRlcnM8UmV0dXJuVHlwZTxUPj5bMF07XG5cbnR5cGUgUHJvcHMgPSB7XG4gIGxheWVyOiBWZWN0b3JUaWxlTGF5ZXI7XG4gIGRhdGFzZXQ/OiBLZXBsZXJEYXRhc2V0O1xuICB2aXNDb25maWd1cmF0b3JQcm9wczogYW55O1xuICBsYXllckNoYW5uZWxDb25maWdQcm9wczogR2V0UHJvcHM8dHlwZW9mIENoYW5uZWxCeVZhbHVlU2VsZWN0b3JGYWN0b3J5PjtcbiAgbGF5ZXJDb25maWd1cmF0b3JQcm9wczogYW55O1xufTtcblxuVmVjdG9yVGlsZUxheWVyQ29uZmlndXJhdG9yRmFjdG9yeS5kZXBzID0gW1xuICBDaGFubmVsQnlWYWx1ZVNlbGVjdG9yRmFjdG9yeSxcbiAgTGF5ZXJDb2xvclJhbmdlU2VsZWN0b3JGYWN0b3J5LFxuICBMYXllckNvbG9yU2VsZWN0b3JGYWN0b3J5LFxuICBMYXllckNvbmZpZ0dyb3VwRmFjdG9yeSxcbiAgVmlzQ29uZmlnU2xpZGVyRmFjdG9yeSxcbiAgVmlzQ29uZmlnU3dpdGNoRmFjdG9yeSxcbiAgU291cmNlRGF0YVNlbGVjdG9yRmFjdG9yeSxcbiAgRmllbGRTZWxlY3RvckZhY3Rvcnlcbl07XG5cbmZ1bmN0aW9uIFZlY3RvclRpbGVMYXllckNvbmZpZ3VyYXRvckZhY3RvcnkoXG4gIENoYW5uZWxCeVZhbHVlU2VsZWN0b3I6IFJldHVyblR5cGU8dHlwZW9mIENoYW5uZWxCeVZhbHVlU2VsZWN0b3JGYWN0b3J5PixcbiAgTGF5ZXJDb2xvclJhbmdlU2VsZWN0b3I6IFJldHVyblR5cGU8dHlwZW9mIExheWVyQ29sb3JSYW5nZVNlbGVjdG9yRmFjdG9yeT4sXG4gIExheWVyQ29sb3JTZWxlY3RvcjogUmV0dXJuVHlwZTx0eXBlb2YgTGF5ZXJDb2xvclNlbGVjdG9yRmFjdG9yeT4sXG4gIExheWVyQ29uZmlnR3JvdXA6IFJldHVyblR5cGU8dHlwZW9mIExheWVyQ29uZmlnR3JvdXBGYWN0b3J5PixcbiAgVmlzQ29uZmlnU2xpZGVyOiBSZXR1cm5UeXBlPHR5cGVvZiBWaXNDb25maWdTbGlkZXJGYWN0b3J5PixcbiAgVmlzQ29uZmlnU3dpdGNoOiBSZXR1cm5UeXBlPHR5cGVvZiBWaXNDb25maWdTd2l0Y2hGYWN0b3J5PixcbiAgX1NvdXJjZURhdGFTZWxlY3RvcjogUmV0dXJuVHlwZTx0eXBlb2YgU291cmNlRGF0YVNlbGVjdG9yRmFjdG9yeT4sXG4gIEZpZWxkU2VsZWN0b3I6IFJldHVyblR5cGU8dHlwZW9mIEZpZWxkU2VsZWN0b3JGYWN0b3J5PlxuKTogUmVhY3QuRkM8UHJvcHM+IHtcbiAgY29uc3QgVmVjdG9yVGlsZUxheWVyQ29uZmlndXJhdG9yID0gKHtcbiAgICBsYXllcixcbiAgICB2aXNDb25maWd1cmF0b3JQcm9wcyxcbiAgICBsYXllckNoYW5uZWxDb25maWdQcm9wcyxcbiAgICBsYXllckNvbmZpZ3VyYXRvclByb3BzXG4gIH06IFByb3BzKSA9PiB7XG4gICAgcmV0dXJuIChcbiAgICAgIDxTdHlsZWRMYXllckNvbmZpZ3VyYXRvcj5cbiAgICAgICAgey8qIEZpbGwgQ29sb3IgKi99XG4gICAgICAgIDxMYXllckNvbmZpZ0dyb3VwIHsuLi52aXNDb25maWd1cmF0b3JQcm9wc30gbGFiZWw9XCJsYXllci5maWxsQ29sb3JcIj5cbiAgICAgICAgICB7bGF5ZXJDaGFubmVsQ29uZmlnUHJvcHMuZmllbGRzID8gKFxuICAgICAgICAgICAgPENoYW5uZWxCeVZhbHVlU2VsZWN0b3JcbiAgICAgICAgICAgICAgey4uLmxheWVyQ2hhbm5lbENvbmZpZ1Byb3BzfVxuICAgICAgICAgICAgICBjaGFubmVsPXtsYXllci52aXN1YWxDaGFubmVscy5jb2xvcn1cbiAgICAgICAgICAgIC8+XG4gICAgICAgICAgKSA6IG51bGx9XG4gICAgICAgICAge2xheWVyLmNvbmZpZy5jb2xvckZpZWxkID8gKFxuICAgICAgICAgICAgPD5cbiAgICAgICAgICAgICAgPFZpc0NvbmZpZ1N3aXRjaFxuICAgICAgICAgICAgICAgIHsuLi52aXNDb25maWd1cmF0b3JQcm9wc31cbiAgICAgICAgICAgICAgICB7Li4ubGF5ZXIudmlzQ29uZmlnU2V0dGluZ3MuZHluYW1pY0NvbG9yfVxuICAgICAgICAgICAgICAvPlxuICAgICAgICAgICAgICA8TGF5ZXJDb2xvclJhbmdlU2VsZWN0b3JcbiAgICAgICAgICAgICAgICB7Li4udmlzQ29uZmlndXJhdG9yUHJvcHN9XG4gICAgICAgICAgICAgICAgY2hhbm5lbD17bGF5ZXIudmlzdWFsQ2hhbm5lbHMuY29sb3J9XG4gICAgICAgICAgICAgIC8+XG4gICAgICAgICAgICA8Lz5cbiAgICAgICAgICApIDogKFxuICAgICAgICAgICAgPExheWVyQ29sb3JTZWxlY3RvciB7Li4ubGF5ZXJDb25maWd1cmF0b3JQcm9wc30gLz5cbiAgICAgICAgICApfVxuICAgICAgICAgIDxWaXNDb25maWdTbGlkZXIgey4uLmxheWVyLnZpc0NvbmZpZ1NldHRpbmdzLm9wYWNpdHl9IHsuLi52aXNDb25maWd1cmF0b3JQcm9wc30gLz5cbiAgICAgICAgPC9MYXllckNvbmZpZ0dyb3VwPlxuXG4gICAgICAgIHsvKiBTdHJva2UgY29sb3IgKi99XG4gICAgICAgIDxMYXllckNvbmZpZ0dyb3VwXG4gICAgICAgICAgey4uLmxheWVyLnZpc0NvbmZpZ1NldHRpbmdzLnN0cm9rZWR9XG4gICAgICAgICAgey4uLnZpc0NvbmZpZ3VyYXRvclByb3BzfVxuICAgICAgICAgIGxhYmVsPVwibGF5ZXIuc3Ryb2tlQ29sb3JcIlxuICAgICAgICAgIGNvbGxhcHNpYmxlXG4gICAgICAgID5cbiAgICAgICAgICA8Q2hhbm5lbEJ5VmFsdWVTZWxlY3RvclxuICAgICAgICAgICAgey4uLmxheWVyQ2hhbm5lbENvbmZpZ1Byb3BzfVxuICAgICAgICAgICAgY2hhbm5lbD17bGF5ZXIudmlzdWFsQ2hhbm5lbHMuc3Ryb2tlQ29sb3J9XG4gICAgICAgICAgLz5cbiAgICAgICAgICB7bGF5ZXIuY29uZmlnLnN0cm9rZUNvbG9yRmllbGQgPyAoXG4gICAgICAgICAgICA8TGF5ZXJDb2xvclJhbmdlU2VsZWN0b3JcbiAgICAgICAgICAgICAgey4uLnZpc0NvbmZpZ3VyYXRvclByb3BzfVxuICAgICAgICAgICAgICBwcm9wZXJ0eT1cInN0cm9rZUNvbG9yUmFuZ2VcIlxuICAgICAgICAgICAgICBjaGFubmVsPXtsYXllci52aXN1YWxDaGFubmVscy5zdHJva2VDb2xvcn1cbiAgICAgICAgICAgIC8+XG4gICAgICAgICAgKSA6IChcbiAgICAgICAgICAgIDxMYXllckNvbG9yU2VsZWN0b3JcbiAgICAgICAgICAgICAgey4uLnZpc0NvbmZpZ3VyYXRvclByb3BzfVxuICAgICAgICAgICAgICBzZWxlY3RlZENvbG9yPXtsYXllci5jb25maWcudmlzQ29uZmlnLnN0cm9rZUNvbG9yfVxuICAgICAgICAgICAgICBwcm9wZXJ0eT1cInN0cm9rZUNvbG9yXCJcbiAgICAgICAgICAgIC8+XG4gICAgICAgICAgKX1cbiAgICAgICAgICA8Q29uZmlnR3JvdXBDb2xsYXBzaWJsZUNvbnRlbnQ+XG4gICAgICAgICAgICA8VmlzQ29uZmlnU2xpZGVyIHsuLi5sYXllci52aXNDb25maWdTZXR0aW5ncy5zdHJva2VPcGFjaXR5fSB7Li4udmlzQ29uZmlndXJhdG9yUHJvcHN9IC8+XG4gICAgICAgICAgPC9Db25maWdHcm91cENvbGxhcHNpYmxlQ29udGVudD5cbiAgICAgICAgPC9MYXllckNvbmZpZ0dyb3VwPlxuXG4gICAgICAgIHsvKiBTdHJva2UgV2lkdGggKi99XG4gICAgICAgIDxMYXllckNvbmZpZ0dyb3VwXG4gICAgICAgICAgey4uLnZpc0NvbmZpZ3VyYXRvclByb3BzfVxuICAgICAgICAgIHsuLi5sYXllci52aXNDb25maWdTZXR0aW5ncy5zdHJva2VkfVxuICAgICAgICAgIGxhYmVsPVwibGF5ZXIuc3Ryb2tlV2lkdGhcIlxuICAgICAgICAgIGNvbGxhcHNpYmxlXG4gICAgICAgID5cbiAgICAgICAgICB7bGF5ZXIuY29uZmlnLnNpemVGaWVsZCA/IChcbiAgICAgICAgICAgIDxWaXNDb25maWdTbGlkZXJcbiAgICAgICAgICAgICAgey4uLmxheWVyLnZpc0NvbmZpZ1NldHRpbmdzLnNpemVSYW5nZX1cbiAgICAgICAgICAgICAgey4uLnZpc0NvbmZpZ3VyYXRvclByb3BzfVxuICAgICAgICAgICAgICBsYWJlbD17ZmFsc2V9XG4gICAgICAgICAgICAvPlxuICAgICAgICAgICkgOiAoXG4gICAgICAgICAgICA8VmlzQ29uZmlnU2xpZGVyXG4gICAgICAgICAgICAgIHsuLi5sYXllci52aXNDb25maWdTZXR0aW5ncy5zdHJva2VXaWR0aH1cbiAgICAgICAgICAgICAgey4uLnZpc0NvbmZpZ3VyYXRvclByb3BzfVxuICAgICAgICAgICAgICBsYWJlbD17ZmFsc2V9XG4gICAgICAgICAgICAvPlxuICAgICAgICAgICl9XG4gICAgICAgICAgPENvbmZpZ0dyb3VwQ29sbGFwc2libGVDb250ZW50PlxuICAgICAgICAgICAgPENoYW5uZWxCeVZhbHVlU2VsZWN0b3JcbiAgICAgICAgICAgICAgey4uLmxheWVyQ2hhbm5lbENvbmZpZ1Byb3BzfVxuICAgICAgICAgICAgICBjaGFubmVsPXtsYXllci52aXN1YWxDaGFubmVscy5zaXplfVxuICAgICAgICAgICAgLz5cbiAgICAgICAgICA8L0NvbmZpZ0dyb3VwQ29sbGFwc2libGVDb250ZW50PlxuICAgICAgICA8L0xheWVyQ29uZmlnR3JvdXA+XG5cbiAgICAgICAgey8qIEVsZXZhdGlvbiAqL31cbiAgICAgICAgPExheWVyQ29uZmlnR3JvdXBcbiAgICAgICAgICB7Li4udmlzQ29uZmlndXJhdG9yUHJvcHN9XG4gICAgICAgICAgey4uLmxheWVyLnZpc0NvbmZpZ1NldHRpbmdzLmVuYWJsZTNkfVxuICAgICAgICAgIGNvbGxhcHNpYmxlXG4gICAgICAgID5cbiAgICAgICAgICA8VmlzQ29uZmlnU2xpZGVyXG4gICAgICAgICAgICB7Li4ubGF5ZXIudmlzQ29uZmlnU2V0dGluZ3MuZWxldmF0aW9uU2NhbGV9XG4gICAgICAgICAgICB7Li4udmlzQ29uZmlndXJhdG9yUHJvcHN9XG4gICAgICAgICAgICBsYWJlbD17ZmFsc2V9XG4gICAgICAgICAgLz5cbiAgICAgICAgICB7bGF5ZXJDaGFubmVsQ29uZmlnUHJvcHMuZmllbGRzID8gKFxuICAgICAgICAgICAgPENoYW5uZWxCeVZhbHVlU2VsZWN0b3JcbiAgICAgICAgICAgICAgey4uLmxheWVyQ2hhbm5lbENvbmZpZ1Byb3BzfVxuICAgICAgICAgICAgICBjaGFubmVsPXtsYXllci52aXN1YWxDaGFubmVscy5oZWlnaHR9XG4gICAgICAgICAgICAvPlxuICAgICAgICAgICkgOiBudWxsfVxuICAgICAgICA8L0xheWVyQ29uZmlnR3JvdXA+XG5cbiAgICAgICAgey8qIFJhZGl1cyAqL31cbiAgICAgICAgPExheWVyQ29uZmlnR3JvdXBcbiAgICAgICAgICB7Li4udmlzQ29uZmlndXJhdG9yUHJvcHN9XG4gICAgICAgICAgbGFiZWw9eydsYXllci5yYWRpdXMnfVxuICAgICAgICAgIGRlc2NyaXB0aW9uPVwiUG9pbnQgcmFkaXVzIGluIHBpeGVscyBvciBtZXRlcnNcIlxuICAgICAgICAgIGNvbGxhcHNpYmxlXG4gICAgICAgID5cbiAgICAgICAgICA8VmlzQ29uZmlnU2xpZGVyXG4gICAgICAgICAgICB7Li4ubGF5ZXIudmlzQ29uZmlnU2V0dGluZ3MucmFkaXVzfVxuICAgICAgICAgICAgey4uLnZpc0NvbmZpZ3VyYXRvclByb3BzfVxuICAgICAgICAgICAgbGFiZWw9e2ZhbHNlfVxuICAgICAgICAgIC8+XG5cbiAgICAgICAgICA8Q29uZmlnR3JvdXBDb2xsYXBzaWJsZUNvbnRlbnQ+XG4gICAgICAgICAgICB7bGF5ZXJDaGFubmVsQ29uZmlnUHJvcHMuZmllbGRzID8gKFxuICAgICAgICAgICAgICA8Q2hhbm5lbEJ5VmFsdWVTZWxlY3RvclxuICAgICAgICAgICAgICAgIHsuLi5sYXllckNoYW5uZWxDb25maWdQcm9wc31cbiAgICAgICAgICAgICAgICBjaGFubmVsPXtsYXllci52aXN1YWxDaGFubmVscy5yYWRpdXN9XG4gICAgICAgICAgICAgIC8+XG4gICAgICAgICAgICApIDogbnVsbH1cbiAgICAgICAgICAgIDxWaXNDb25maWdTd2l0Y2ggey4uLmxheWVyLnZpc0NvbmZpZ1NldHRpbmdzLnJhZGl1c1VuaXRzfSB7Li4udmlzQ29uZmlndXJhdG9yUHJvcHN9IC8+XG4gICAgICAgICAgPC9Db25maWdHcm91cENvbGxhcHNpYmxlQ29udGVudD5cbiAgICAgICAgPC9MYXllckNvbmZpZ0dyb3VwPlxuXG4gICAgICAgIHsvKiBVbmlxdWUgSUQgRmllbGQgKi99XG4gICAgICAgIDxMYXllckNvbmZpZ0dyb3VwIHsuLi52aXNDb25maWd1cmF0b3JQcm9wc30gbGFiZWw9XCJsYXllci51bmlxdWVJZEZpZWxkXCI+XG4gICAgICAgICAgPEZpZWxkU2VsZWN0b3JcbiAgICAgICAgICAgIGZpZWxkcz17bGF5ZXJDaGFubmVsQ29uZmlnUHJvcHMuZmllbGRzIHx8IFtdfVxuICAgICAgICAgICAgdmFsdWU9e2xheWVyLmNvbmZpZy51bmlxdWVJZEZpZWxkIHx8IG51bGx9XG4gICAgICAgICAgICBvblNlbGVjdD17KHZhbDogYW55KSA9PlxuICAgICAgICAgICAgICBsYXllckNvbmZpZ3VyYXRvclByb3BzLm9uQ2hhbmdlPy4oe3VuaXF1ZUlkRmllbGQ6IHZhbD8ubmFtZSB8fCBudWxsfSlcbiAgICAgICAgICAgIH1cbiAgICAgICAgICAgIHBsYWNlaG9sZGVyPXsncGxhY2Vob2xkZXIuc2VsZWN0RmllbGQnfVxuICAgICAgICAgICAgZXJhc2FibGVcbiAgICAgICAgICAvPlxuICAgICAgICA8L0xheWVyQ29uZmlnR3JvdXA+XG4gICAgICA8L1N0eWxlZExheWVyQ29uZmlndXJhdG9yPlxuICAgICk7XG4gIH07XG5cbiAgY29uc3QgQ29ubmVjdGVkVmVjdG9yVGlsZUxheWVyQ29uZmlndXJhdG9yID0gY29ubmVjdChzdGF0ZSA9PiBzdGF0ZSkoVmVjdG9yVGlsZUxheWVyQ29uZmlndXJhdG9yKTtcbiAgcmV0dXJuIENvbm5lY3RlZFZlY3RvclRpbGVMYXllckNvbmZpZ3VyYXRvcjtcbn1cblxuZXhwb3J0IGRlZmF1bHQgVmVjdG9yVGlsZUxheWVyQ29uZmlndXJhdG9yRmFjdG9yeTtcbiJdLCJtYXBwaW5ncyI6Ijs7Ozs7Ozs7OztBQUdBLElBQUFBLE1BQUEsR0FBQUMsc0JBQUEsQ0FBQUMsT0FBQTtBQUNBLElBQUFDLFdBQUEsR0FBQUQsT0FBQTtBQUNBLElBQUFFLGlCQUFBLEdBQUFILHNCQUFBLENBQUFDLE9BQUE7QUFLQSxJQUFBRyxtQkFBQSxHQUFBSixzQkFBQSxDQUFBQyxPQUFBO0FBQ0EsSUFBQUksY0FBQSxHQUFBTCxzQkFBQSxDQUFBQyxPQUFBO0FBQ0EsSUFBQUssdUJBQUEsR0FBQU4sc0JBQUEsQ0FBQUMsT0FBQTtBQUNBLElBQUFNLGlCQUFBLEdBQUFDLHVCQUFBLENBQUFQLE9BQUE7QUFDQSxJQUFBUSxtQkFBQSxHQUFBUixPQUFBO0FBQ0EsSUFBQVMsZ0JBQUEsR0FBQVYsc0JBQUEsQ0FBQUMsT0FBQTtBQUNBLElBQUFVLGdCQUFBLEdBQUFYLHNCQUFBLENBQUFDLE9BQUE7QUFBeUQsSUFBQVcsZUFBQSxFQWhCekQ7QUFDQTtBQUFBLFNBQUFKLHdCQUFBSyxDQUFBLEVBQUFDLENBQUEsNkJBQUFDLE9BQUEsTUFBQUMsQ0FBQSxPQUFBRCxPQUFBLElBQUFFLENBQUEsT0FBQUYsT0FBQSxZQUFBUCx1QkFBQSxZQUFBQSx3QkFBQUssQ0FBQSxFQUFBQyxDQUFBLFNBQUFBLENBQUEsSUFBQUQsQ0FBQSxJQUFBQSxDQUFBLENBQUFLLFVBQUEsU0FBQUwsQ0FBQSxNQUFBTSxDQUFBLEVBQUFDLENBQUEsRUFBQUMsQ0FBQSxLQUFBQyxTQUFBLG1CQUFBVCxDQUFBLGlCQUFBQSxDQUFBLGdCQUFBVSxPQUFBLENBQUFWLENBQUEsMEJBQUFBLENBQUEsU0FBQVEsQ0FBQSxNQUFBRixD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
|
|
94
|
+
//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJuYW1lcyI6WyJfcmVhY3QiLCJfaW50ZXJvcFJlcXVpcmVEZWZhdWx0IiwicmVxdWlyZSIsIl9yZWFjdFJlZHV4IiwiX3N0eWxlZENvbXBvbmVudHMiLCJfc291cmNlRGF0YVNlbGVjdG9yIiwiX2ZpZWxkU2VsZWN0b3IiLCJfY2hhbm5lbEJ5VmFsdWVTZWxlY3RvciIsIl9sYXllckNvbmZpZ0dyb3VwIiwiX2ludGVyb3BSZXF1aXJlV2lsZGNhcmQiLCJfbGF5ZXJDb2xvclNlbGVjdG9yIiwiX3Zpc0NvbmZpZ1NsaWRlciIsIl92aXNDb25maWdTd2l0Y2giLCJfdGVtcGxhdGVPYmplY3QiLCJlIiwidCIsIldlYWtNYXAiLCJyIiwibiIsIl9fZXNNb2R1bGUiLCJvIiwiaSIsImYiLCJfX3Byb3RvX18iLCJfdHlwZW9mIiwiaGFzIiwiZ2V0Iiwic2V0IiwiX3QiLCJoYXNPd25Qcm9wZXJ0eSIsImNhbGwiLCJPYmplY3QiLCJkZWZpbmVQcm9wZXJ0eSIsImdldE93blByb3BlcnR5RGVzY3JpcHRvciIsIlN0eWxlZExheWVyQ29uZmlndXJhdG9yIiwic3R5bGVkIiwiZGl2IiwiX3RhZ2dlZFRlbXBsYXRlTGl0ZXJhbDIiLCJWZWN0b3JUaWxlTGF5ZXJDb25maWd1cmF0b3JGYWN0b3J5IiwiZGVwcyIsIkNoYW5uZWxCeVZhbHVlU2VsZWN0b3JGYWN0b3J5IiwiTGF5ZXJDb2xvclJhbmdlU2VsZWN0b3JGYWN0b3J5IiwiTGF5ZXJDb2xvclNlbGVjdG9yRmFjdG9yeSIsIkxheWVyQ29uZmlnR3JvdXBGYWN0b3J5IiwiVmlzQ29uZmlnU2xpZGVyRmFjdG9yeSIsIlZpc0NvbmZpZ1N3aXRjaEZhY3RvcnkiLCJTb3VyY2VEYXRhU2VsZWN0b3JGYWN0b3J5IiwiRmllbGRTZWxlY3RvckZhY3RvcnkiLCJDaGFubmVsQnlWYWx1ZVNlbGVjdG9yIiwiTGF5ZXJDb2xvclJhbmdlU2VsZWN0b3IiLCJMYXllckNvbG9yU2VsZWN0b3IiLCJMYXllckNvbmZpZ0dyb3VwIiwiVmlzQ29uZmlnU2xpZGVyIiwiVmlzQ29uZmlnU3dpdGNoIiwiX1NvdXJjZURhdGFTZWxlY3RvciIsIkZpZWxkU2VsZWN0b3IiLCJWZWN0b3JUaWxlTGF5ZXJDb25maWd1cmF0b3IiLCJfcmVmIiwibGF5ZXIiLCJ2aXNDb25maWd1cmF0b3JQcm9wcyIsImxheWVyQ2hhbm5lbENvbmZpZ1Byb3BzIiwibGF5ZXJDb25maWd1cmF0b3JQcm9wcyIsImNyZWF0ZUVsZW1lbnQiLCJfZXh0ZW5kczIiLCJsYWJlbCIsImNvbGxhcHNpYmxlIiwiQm9vbGVhbiIsImNvbmZpZyIsImNvbG9yRmllbGQiLCJmaWVsZHMiLCJjaGFubmVsIiwidmlzdWFsQ2hhbm5lbHMiLCJjb2xvciIsIkZyYWdtZW50IiwidmlzQ29uZmlnU2V0dGluZ3MiLCJkeW5hbWljQ29sb3IiLCJDb25maWdHcm91cENvbGxhcHNpYmxlQ29udGVudCIsImhpZGVOdWxscyIsIm9wYWNpdHkiLCJzdHJva2VkIiwic3Ryb2tlQ29sb3IiLCJzdHJva2VDb2xvckZpZWxkIiwicHJvcGVydHkiLCJzZWxlY3RlZENvbG9yIiwidmlzQ29uZmlnIiwic3Ryb2tlT3BhY2l0eSIsInNpemVGaWVsZCIsInNpemVSYW5nZSIsInN0cm9rZVdpZHRoIiwic2l6ZSIsImVuYWJsZTNkIiwiZWxldmF0aW9uU2NhbGUiLCJoZWlnaHQiLCJkZXNjcmlwdGlvbiIsInJhZGl1cyIsInJhZGl1c1VuaXRzIiwidmFsdWUiLCJ1bmlxdWVJZEZpZWxkIiwib25TZWxlY3QiLCJ2YWwiLCJfbGF5ZXJDb25maWd1cmF0b3JQcm8iLCJvbkNoYW5nZSIsIm5hbWUiLCJwbGFjZWhvbGRlciIsImVyYXNhYmxlIiwiQ29ubmVjdGVkVmVjdG9yVGlsZUxheWVyQ29uZmlndXJhdG9yIiwiY29ubmVjdCIsInN0YXRlIiwiX2RlZmF1bHQiLCJleHBvcnRzIl0sInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vc3JjL3NpZGUtcGFuZWwvbGF5ZXItcGFuZWwvdmVjdG9yLXRpbGUtbGF5ZXItY29uZmlndXJhdG9yLnRzeCJdLCJzb3VyY2VzQ29udGVudCI6WyIvLyBTUERYLUxpY2Vuc2UtSWRlbnRpZmllcjogTUlUXG4vLyBDb3B5cmlnaHQgY29udHJpYnV0b3JzIHRvIHRoZSBrZXBsZXIuZ2wgcHJvamVjdFxuXG5pbXBvcnQgUmVhY3QgZnJvbSAncmVhY3QnO1xuaW1wb3J0IHtjb25uZWN0fSBmcm9tICdyZWFjdC1yZWR1eCc7XG5pbXBvcnQgc3R5bGVkIGZyb20gJ3N0eWxlZC1jb21wb25lbnRzJztcblxuaW1wb3J0IHtWZWN0b3JUaWxlTGF5ZXJ9IGZyb20gJ0BrZXBsZXIuZ2wvbGF5ZXJzJztcbmltcG9ydCB7S2VwbGVyVGFibGUgYXMgS2VwbGVyRGF0YXNldH0gZnJvbSAnQGtlcGxlci5nbC90YWJsZSc7XG5cbmltcG9ydCBTb3VyY2VEYXRhU2VsZWN0b3JGYWN0b3J5IGZyb20gJy4uL2NvbW1vbi9zb3VyY2UtZGF0YS1zZWxlY3Rvcic7XG5pbXBvcnQgRmllbGRTZWxlY3RvckZhY3RvcnkgZnJvbSAnLi4vLi4vY29tbW9uL2ZpZWxkLXNlbGVjdG9yJztcbmltcG9ydCBDaGFubmVsQnlWYWx1ZVNlbGVjdG9yRmFjdG9yeSBmcm9tICcuL2NoYW5uZWwtYnktdmFsdWUtc2VsZWN0b3InO1xuaW1wb3J0IExheWVyQ29uZmlnR3JvdXBGYWN0b3J5LCB7Q29uZmlnR3JvdXBDb2xsYXBzaWJsZUNvbnRlbnR9IGZyb20gJy4vbGF5ZXItY29uZmlnLWdyb3VwJztcbmltcG9ydCB7TGF5ZXJDb2xvclJhbmdlU2VsZWN0b3JGYWN0b3J5LCBMYXllckNvbG9yU2VsZWN0b3JGYWN0b3J5fSBmcm9tICcuL2xheWVyLWNvbG9yLXNlbGVjdG9yJztcbmltcG9ydCBWaXNDb25maWdTbGlkZXJGYWN0b3J5IGZyb20gJy4vdmlzLWNvbmZpZy1zbGlkZXInO1xuaW1wb3J0IFZpc0NvbmZpZ1N3aXRjaEZhY3RvcnkgZnJvbSAnLi92aXMtY29uZmlnLXN3aXRjaCc7XG5cbmNvbnN0IFN0eWxlZExheWVyQ29uZmlndXJhdG9yID0gc3R5bGVkLmRpdmBcbiAgbWFyZ2luLXRvcDogMTJweDtcbmA7XG5cbnR5cGUgR2V0UHJvcHM8VCBleHRlbmRzICguLi5hcmdzOiBhbnlbXSkgPT4gUmVhY3QuRkM8YW55Pj4gPSBQYXJhbWV0ZXJzPFJldHVyblR5cGU8VD4+WzBdO1xuXG50eXBlIFByb3BzID0ge1xuICBsYXllcjogVmVjdG9yVGlsZUxheWVyO1xuICBkYXRhc2V0PzogS2VwbGVyRGF0YXNldDtcbiAgdmlzQ29uZmlndXJhdG9yUHJvcHM6IGFueTtcbiAgbGF5ZXJDaGFubmVsQ29uZmlnUHJvcHM6IEdldFByb3BzPHR5cGVvZiBDaGFubmVsQnlWYWx1ZVNlbGVjdG9yRmFjdG9yeT47XG4gIGxheWVyQ29uZmlndXJhdG9yUHJvcHM6IGFueTtcbn07XG5cblZlY3RvclRpbGVMYXllckNvbmZpZ3VyYXRvckZhY3RvcnkuZGVwcyA9IFtcbiAgQ2hhbm5lbEJ5VmFsdWVTZWxlY3RvckZhY3RvcnksXG4gIExheWVyQ29sb3JSYW5nZVNlbGVjdG9yRmFjdG9yeSxcbiAgTGF5ZXJDb2xvclNlbGVjdG9yRmFjdG9yeSxcbiAgTGF5ZXJDb25maWdHcm91cEZhY3RvcnksXG4gIFZpc0NvbmZpZ1NsaWRlckZhY3RvcnksXG4gIFZpc0NvbmZpZ1N3aXRjaEZhY3RvcnksXG4gIFNvdXJjZURhdGFTZWxlY3RvckZhY3RvcnksXG4gIEZpZWxkU2VsZWN0b3JGYWN0b3J5XG5dO1xuXG5mdW5jdGlvbiBWZWN0b3JUaWxlTGF5ZXJDb25maWd1cmF0b3JGYWN0b3J5KFxuICBDaGFubmVsQnlWYWx1ZVNlbGVjdG9yOiBSZXR1cm5UeXBlPHR5cGVvZiBDaGFubmVsQnlWYWx1ZVNlbGVjdG9yRmFjdG9yeT4sXG4gIExheWVyQ29sb3JSYW5nZVNlbGVjdG9yOiBSZXR1cm5UeXBlPHR5cGVvZiBMYXllckNvbG9yUmFuZ2VTZWxlY3RvckZhY3Rvcnk+LFxuICBMYXllckNvbG9yU2VsZWN0b3I6IFJldHVyblR5cGU8dHlwZW9mIExheWVyQ29sb3JTZWxlY3RvckZhY3Rvcnk+LFxuICBMYXllckNvbmZpZ0dyb3VwOiBSZXR1cm5UeXBlPHR5cGVvZiBMYXllckNvbmZpZ0dyb3VwRmFjdG9yeT4sXG4gIFZpc0NvbmZpZ1NsaWRlcjogUmV0dXJuVHlwZTx0eXBlb2YgVmlzQ29uZmlnU2xpZGVyRmFjdG9yeT4sXG4gIFZpc0NvbmZpZ1N3aXRjaDogUmV0dXJuVHlwZTx0eXBlb2YgVmlzQ29uZmlnU3dpdGNoRmFjdG9yeT4sXG4gIF9Tb3VyY2VEYXRhU2VsZWN0b3I6IFJldHVyblR5cGU8dHlwZW9mIFNvdXJjZURhdGFTZWxlY3RvckZhY3Rvcnk+LFxuICBGaWVsZFNlbGVjdG9yOiBSZXR1cm5UeXBlPHR5cGVvZiBGaWVsZFNlbGVjdG9yRmFjdG9yeT5cbik6IFJlYWN0LkZDPFByb3BzPiB7XG4gIGNvbnN0IFZlY3RvclRpbGVMYXllckNvbmZpZ3VyYXRvciA9ICh7XG4gICAgbGF5ZXIsXG4gICAgdmlzQ29uZmlndXJhdG9yUHJvcHMsXG4gICAgbGF5ZXJDaGFubmVsQ29uZmlnUHJvcHMsXG4gICAgbGF5ZXJDb25maWd1cmF0b3JQcm9wc1xuICB9OiBQcm9wcykgPT4ge1xuICAgIHJldHVybiAoXG4gICAgICA8U3R5bGVkTGF5ZXJDb25maWd1cmF0b3I+XG4gICAgICAgIHsvKiBGaWxsIENvbG9yICovfVxuICAgICAgICA8TGF5ZXJDb25maWdHcm91cFxuICAgICAgICAgIHsuLi52aXNDb25maWd1cmF0b3JQcm9wc31cbiAgICAgICAgICBsYWJlbD1cImxheWVyLmZpbGxDb2xvclwiXG4gICAgICAgICAgY29sbGFwc2libGU9e0Jvb2xlYW4obGF5ZXIuY29uZmlnLmNvbG9yRmllbGQpfVxuICAgICAgICA+XG4gICAgICAgICAge2xheWVyQ2hhbm5lbENvbmZpZ1Byb3BzLmZpZWxkcyA/IChcbiAgICAgICAgICAgIDxDaGFubmVsQnlWYWx1ZVNlbGVjdG9yXG4gICAgICAgICAgICAgIHsuLi5sYXllckNoYW5uZWxDb25maWdQcm9wc31cbiAgICAgICAgICAgICAgY2hhbm5lbD17bGF5ZXIudmlzdWFsQ2hhbm5lbHMuY29sb3J9XG4gICAgICAgICAgICAvPlxuICAgICAgICAgICkgOiBudWxsfVxuICAgICAgICAgIHtsYXllci5jb25maWcuY29sb3JGaWVsZCA/IChcbiAgICAgICAgICAgIDw+XG4gICAgICAgICAgICAgIDxWaXNDb25maWdTd2l0Y2hcbiAgICAgICAgICAgICAgICB7Li4udmlzQ29uZmlndXJhdG9yUHJvcHN9XG4gICAgICAgICAgICAgICAgey4uLmxheWVyLnZpc0NvbmZpZ1NldHRpbmdzLmR5bmFtaWNDb2xvcn1cbiAgICAgICAgICAgICAgLz5cbiAgICAgICAgICAgICAgPExheWVyQ29sb3JSYW5nZVNlbGVjdG9yXG4gICAgICAgICAgICAgICAgey4uLnZpc0NvbmZpZ3VyYXRvclByb3BzfVxuICAgICAgICAgICAgICAgIGNoYW5uZWw9e2xheWVyLnZpc3VhbENoYW5uZWxzLmNvbG9yfVxuICAgICAgICAgICAgICAvPlxuICAgICAgICAgICAgICA8Q29uZmlnR3JvdXBDb2xsYXBzaWJsZUNvbnRlbnQ+XG4gICAgICAgICAgICAgICAgPFZpc0NvbmZpZ1N3aXRjaCB7Li4udmlzQ29uZmlndXJhdG9yUHJvcHN9IHsuLi5sYXllci52aXNDb25maWdTZXR0aW5ncy5oaWRlTnVsbHN9IC8+XG4gICAgICAgICAgICAgIDwvQ29uZmlnR3JvdXBDb2xsYXBzaWJsZUNvbnRlbnQ+XG4gICAgICAgICAgICA8Lz5cbiAgICAgICAgICApIDogKFxuICAgICAgICAgICAgPExheWVyQ29sb3JTZWxlY3RvciB7Li4ubGF5ZXJDb25maWd1cmF0b3JQcm9wc30gLz5cbiAgICAgICAgICApfVxuICAgICAgICAgIDxWaXNDb25maWdTbGlkZXIgey4uLmxheWVyLnZpc0NvbmZpZ1NldHRpbmdzLm9wYWNpdHl9IHsuLi52aXNDb25maWd1cmF0b3JQcm9wc30gLz5cbiAgICAgICAgPC9MYXllckNvbmZpZ0dyb3VwPlxuXG4gICAgICAgIHsvKiBTdHJva2UgY29sb3IgKi99XG4gICAgICAgIDxMYXllckNvbmZpZ0dyb3VwXG4gICAgICAgICAgey4uLmxheWVyLnZpc0NvbmZpZ1NldHRpbmdzLnN0cm9rZWR9XG4gICAgICAgICAgey4uLnZpc0NvbmZpZ3VyYXRvclByb3BzfVxuICAgICAgICAgIGxhYmVsPVwibGF5ZXIuc3Ryb2tlQ29sb3JcIlxuICAgICAgICAgIGNvbGxhcHNpYmxlXG4gICAgICAgID5cbiAgICAgICAgICA8Q2hhbm5lbEJ5VmFsdWVTZWxlY3RvclxuICAgICAgICAgICAgey4uLmxheWVyQ2hhbm5lbENvbmZpZ1Byb3BzfVxuICAgICAgICAgICAgY2hhbm5lbD17bGF5ZXIudmlzdWFsQ2hhbm5lbHMuc3Ryb2tlQ29sb3J9XG4gICAgICAgICAgLz5cbiAgICAgICAgICB7bGF5ZXIuY29uZmlnLnN0cm9rZUNvbG9yRmllbGQgPyAoXG4gICAgICAgICAgICA8TGF5ZXJDb2xvclJhbmdlU2VsZWN0b3JcbiAgICAgICAgICAgICAgey4uLnZpc0NvbmZpZ3VyYXRvclByb3BzfVxuICAgICAgICAgICAgICBwcm9wZXJ0eT1cInN0cm9rZUNvbG9yUmFuZ2VcIlxuICAgICAgICAgICAgICBjaGFubmVsPXtsYXllci52aXN1YWxDaGFubmVscy5zdHJva2VDb2xvcn1cbiAgICAgICAgICAgIC8+XG4gICAgICAgICAgKSA6IChcbiAgICAgICAgICAgIDxMYXllckNvbG9yU2VsZWN0b3JcbiAgICAgICAgICAgICAgey4uLnZpc0NvbmZpZ3VyYXRvclByb3BzfVxuICAgICAgICAgICAgICBzZWxlY3RlZENvbG9yPXtsYXllci5jb25maWcudmlzQ29uZmlnLnN0cm9rZUNvbG9yfVxuICAgICAgICAgICAgICBwcm9wZXJ0eT1cInN0cm9rZUNvbG9yXCJcbiAgICAgICAgICAgIC8+XG4gICAgICAgICAgKX1cbiAgICAgICAgICA8Q29uZmlnR3JvdXBDb2xsYXBzaWJsZUNvbnRlbnQ+XG4gICAgICAgICAgICA8VmlzQ29uZmlnU2xpZGVyIHsuLi5sYXllci52aXNDb25maWdTZXR0aW5ncy5zdHJva2VPcGFjaXR5fSB7Li4udmlzQ29uZmlndXJhdG9yUHJvcHN9IC8+XG4gICAgICAgICAgPC9Db25maWdHcm91cENvbGxhcHNpYmxlQ29udGVudD5cbiAgICAgICAgPC9MYXllckNvbmZpZ0dyb3VwPlxuXG4gICAgICAgIHsvKiBTdHJva2UgV2lkdGggKi99XG4gICAgICAgIDxMYXllckNvbmZpZ0dyb3VwXG4gICAgICAgICAgey4uLnZpc0NvbmZpZ3VyYXRvclByb3BzfVxuICAgICAgICAgIHsuLi5sYXllci52aXNDb25maWdTZXR0aW5ncy5zdHJva2VkfVxuICAgICAgICAgIGxhYmVsPVwibGF5ZXIuc3Ryb2tlV2lkdGhcIlxuICAgICAgICAgIGNvbGxhcHNpYmxlXG4gICAgICAgID5cbiAgICAgICAgICB7bGF5ZXIuY29uZmlnLnNpemVGaWVsZCA/IChcbiAgICAgICAgICAgIDxWaXNDb25maWdTbGlkZXJcbiAgICAgICAgICAgICAgey4uLmxheWVyLnZpc0NvbmZpZ1NldHRpbmdzLnNpemVSYW5nZX1cbiAgICAgICAgICAgICAgey4uLnZpc0NvbmZpZ3VyYXRvclByb3BzfVxuICAgICAgICAgICAgICBsYWJlbD17ZmFsc2V9XG4gICAgICAgICAgICAvPlxuICAgICAgICAgICkgOiAoXG4gICAgICAgICAgICA8VmlzQ29uZmlnU2xpZGVyXG4gICAgICAgICAgICAgIHsuLi5sYXllci52aXNDb25maWdTZXR0aW5ncy5zdHJva2VXaWR0aH1cbiAgICAgICAgICAgICAgey4uLnZpc0NvbmZpZ3VyYXRvclByb3BzfVxuICAgICAgICAgICAgICBsYWJlbD17ZmFsc2V9XG4gICAgICAgICAgICAvPlxuICAgICAgICAgICl9XG4gICAgICAgICAgPENvbmZpZ0dyb3VwQ29sbGFwc2libGVDb250ZW50PlxuICAgICAgICAgICAgPENoYW5uZWxCeVZhbHVlU2VsZWN0b3JcbiAgICAgICAgICAgICAgey4uLmxheWVyQ2hhbm5lbENvbmZpZ1Byb3BzfVxuICAgICAgICAgICAgICBjaGFubmVsPXtsYXllci52aXN1YWxDaGFubmVscy5zaXplfVxuICAgICAgICAgICAgLz5cbiAgICAgICAgICA8L0NvbmZpZ0dyb3VwQ29sbGFwc2libGVDb250ZW50PlxuICAgICAgICA8L0xheWVyQ29uZmlnR3JvdXA+XG5cbiAgICAgICAgey8qIEVsZXZhdGlvbiAqL31cbiAgICAgICAgPExheWVyQ29uZmlnR3JvdXBcbiAgICAgICAgICB7Li4udmlzQ29uZmlndXJhdG9yUHJvcHN9XG4gICAgICAgICAgey4uLmxheWVyLnZpc0NvbmZpZ1NldHRpbmdzLmVuYWJsZTNkfVxuICAgICAgICAgIGNvbGxhcHNpYmxlXG4gICAgICAgID5cbiAgICAgICAgICA8VmlzQ29uZmlnU2xpZGVyXG4gICAgICAgICAgICB7Li4ubGF5ZXIudmlzQ29uZmlnU2V0dGluZ3MuZWxldmF0aW9uU2NhbGV9XG4gICAgICAgICAgICB7Li4udmlzQ29uZmlndXJhdG9yUHJvcHN9XG4gICAgICAgICAgICBsYWJlbD17ZmFsc2V9XG4gICAgICAgICAgLz5cbiAgICAgICAgICB7bGF5ZXJDaGFubmVsQ29uZmlnUHJvcHMuZmllbGRzID8gKFxuICAgICAgICAgICAgPENoYW5uZWxCeVZhbHVlU2VsZWN0b3JcbiAgICAgICAgICAgICAgey4uLmxheWVyQ2hhbm5lbENvbmZpZ1Byb3BzfVxuICAgICAgICAgICAgICBjaGFubmVsPXtsYXllci52aXN1YWxDaGFubmVscy5oZWlnaHR9XG4gICAgICAgICAgICAvPlxuICAgICAgICAgICkgOiBudWxsfVxuICAgICAgICA8L0xheWVyQ29uZmlnR3JvdXA+XG5cbiAgICAgICAgey8qIFJhZGl1cyAqL31cbiAgICAgICAgPExheWVyQ29uZmlnR3JvdXBcbiAgICAgICAgICB7Li4udmlzQ29uZmlndXJhdG9yUHJvcHN9XG4gICAgICAgICAgbGFiZWw9eydsYXllci5yYWRpdXMnfVxuICAgICAgICAgIGRlc2NyaXB0aW9uPVwiUG9pbnQgcmFkaXVzIGluIHBpeGVscyBvciBtZXRlcnNcIlxuICAgICAgICAgIGNvbGxhcHNpYmxlXG4gICAgICAgID5cbiAgICAgICAgICA8VmlzQ29uZmlnU2xpZGVyXG4gICAgICAgICAgICB7Li4ubGF5ZXIudmlzQ29uZmlnU2V0dGluZ3MucmFkaXVzfVxuICAgICAgICAgICAgey4uLnZpc0NvbmZpZ3VyYXRvclByb3BzfVxuICAgICAgICAgICAgbGFiZWw9e2ZhbHNlfVxuICAgICAgICAgIC8+XG5cbiAgICAgICAgICA8Q29uZmlnR3JvdXBDb2xsYXBzaWJsZUNvbnRlbnQ+XG4gICAgICAgICAgICB7bGF5ZXJDaGFubmVsQ29uZmlnUHJvcHMuZmllbGRzID8gKFxuICAgICAgICAgICAgICA8Q2hhbm5lbEJ5VmFsdWVTZWxlY3RvclxuICAgICAgICAgICAgICAgIHsuLi5sYXllckNoYW5uZWxDb25maWdQcm9wc31cbiAgICAgICAgICAgICAgICBjaGFubmVsPXtsYXllci52aXN1YWxDaGFubmVscy5yYWRpdXN9XG4gICAgICAgICAgICAgIC8+XG4gICAgICAgICAgICApIDogbnVsbH1cbiAgICAgICAgICAgIDxWaXNDb25maWdTd2l0Y2ggey4uLmxheWVyLnZpc0NvbmZpZ1NldHRpbmdzLnJhZGl1c1VuaXRzfSB7Li4udmlzQ29uZmlndXJhdG9yUHJvcHN9IC8+XG4gICAgICAgICAgPC9Db25maWdHcm91cENvbGxhcHNpYmxlQ29udGVudD5cbiAgICAgICAgPC9MYXllckNvbmZpZ0dyb3VwPlxuXG4gICAgICAgIHsvKiBVbmlxdWUgSUQgRmllbGQgKi99XG4gICAgICAgIDxMYXllckNvbmZpZ0dyb3VwIHsuLi52aXNDb25maWd1cmF0b3JQcm9wc30gbGFiZWw9XCJsYXllci51bmlxdWVJZEZpZWxkXCI+XG4gICAgICAgICAgPEZpZWxkU2VsZWN0b3JcbiAgICAgICAgICAgIGZpZWxkcz17bGF5ZXJDaGFubmVsQ29uZmlnUHJvcHMuZmllbGRzIHx8IFtdfVxuICAgICAgICAgICAgdmFsdWU9e2xheWVyLmNvbmZpZy51bmlxdWVJZEZpZWxkIHx8IG51bGx9XG4gICAgICAgICAgICBvblNlbGVjdD17KHZhbDogYW55KSA9PlxuICAgICAgICAgICAgICBsYXllckNvbmZpZ3VyYXRvclByb3BzLm9uQ2hhbmdlPy4oe3VuaXF1ZUlkRmllbGQ6IHZhbD8ubmFtZSB8fCBudWxsfSlcbiAgICAgICAgICAgIH1cbiAgICAgICAgICAgIHBsYWNlaG9sZGVyPXsncGxhY2Vob2xkZXIuc2VsZWN0RmllbGQnfVxuICAgICAgICAgICAgZXJhc2FibGVcbiAgICAgICAgICAvPlxuICAgICAgICA8L0xheWVyQ29uZmlnR3JvdXA+XG4gICAgICA8L1N0eWxlZExheWVyQ29uZmlndXJhdG9yPlxuICAgICk7XG4gIH07XG5cbiAgY29uc3QgQ29ubmVjdGVkVmVjdG9yVGlsZUxheWVyQ29uZmlndXJhdG9yID0gY29ubmVjdChzdGF0ZSA9PiBzdGF0ZSkoVmVjdG9yVGlsZUxheWVyQ29uZmlndXJhdG9yKTtcbiAgcmV0dXJuIENvbm5lY3RlZFZlY3RvclRpbGVMYXllckNvbmZpZ3VyYXRvcjtcbn1cblxuZXhwb3J0IGRlZmF1bHQgVmVjdG9yVGlsZUxheWVyQ29uZmlndXJhdG9yRmFjdG9yeTtcbiJdLCJtYXBwaW5ncyI6Ijs7Ozs7Ozs7OztBQUdBLElBQUFBLE1BQUEsR0FBQUMsc0JBQUEsQ0FBQUMsT0FBQTtBQUNBLElBQUFDLFdBQUEsR0FBQUQsT0FBQTtBQUNBLElBQUFFLGlCQUFBLEdBQUFILHNCQUFBLENBQUFDLE9BQUE7QUFLQSxJQUFBRyxtQkFBQSxHQUFBSixzQkFBQSxDQUFBQyxPQUFBO0FBQ0EsSUFBQUksY0FBQSxHQUFBTCxzQkFBQSxDQUFBQyxPQUFBO0FBQ0EsSUFBQUssdUJBQUEsR0FBQU4sc0JBQUEsQ0FBQUMsT0FBQTtBQUNBLElBQUFNLGlCQUFBLEdBQUFDLHVCQUFBLENBQUFQLE9BQUE7QUFDQSxJQUFBUSxtQkFBQSxHQUFBUixPQUFBO0FBQ0EsSUFBQVMsZ0JBQUEsR0FBQVYsc0JBQUEsQ0FBQUMsT0FBQTtBQUNBLElBQUFVLGdCQUFBLEdBQUFYLHNCQUFBLENBQUFDLE9BQUE7QUFBeUQsSUFBQVcsZUFBQSxFQWhCekQ7QUFDQTtBQUFBLFNBQUFKLHdCQUFBSyxDQUFBLEVBQUFDLENBQUEsNkJBQUFDLE9BQUEsTUFBQUMsQ0FBQSxPQUFBRCxPQUFBLElBQUFFLENBQUEsT0FBQUYsT0FBQSxZQUFBUCx1QkFBQSxZQUFBQSx3QkFBQUssQ0FBQSxFQUFBQyxDQUFBLFNBQUFBLENBQUEsSUFBQUQsQ0FBQSxJQUFBQSxDQUFBLENBQUFLLFVBQUEsU0FBQUwsQ0FBQSxNQUFBTSxDQUFBLEVBQUFDLENBQUEsRUFBQUMsQ0FBQSxLQUFBQyxTQUFBLG1CQUFBVCxDQUFBLGlCQUFBQSxDQUFBLGdCQUFBVSxPQUFBLENBQUFWLENBQUEsMEJBQUFBLENBQUEsU0FBQVEsQ0FBQSxNQUFBRixDQUFBLEdBQUFMLENBQUEsR0FBQUcsQ0FBQSxHQUFBRCxDQUFBLFFBQUFHLENBQUEsQ0FBQUssR0FBQSxDQUFBWCxDQUFBLFVBQUFNLENBQUEsQ0FBQU0sR0FBQSxDQUFBWixDQUFBLEdBQUFNLENBQUEsQ0FBQU8sR0FBQSxDQUFBYixDQUFBLEVBQUFRLENBQUEsY0FBQU0sRUFBQSxJQUFBZCxDQUFBLGdCQUFBYyxFQUFBLE9BQUFDLGNBQUEsQ0FBQUMsSUFBQSxDQUFBaEIsQ0FBQSxFQUFBYyxFQUFBLE9BQUFQLENBQUEsSUFBQUQsQ0FBQSxHQUFBVyxNQUFBLENBQUFDLGNBQUEsS0FBQUQsTUFBQSxDQUFBRSx3QkFBQSxDQUFBbkIsQ0FBQSxFQUFBYyxFQUFBLE9BQUFQLENBQUEsQ0FBQUssR0FBQSxJQUFBTCxDQUFBLENBQUFNLEdBQUEsSUFBQVAsQ0FBQSxDQUFBRSxDQUFBLEVBQUFNLEVBQUEsRUFBQVAsQ0FBQSxJQUFBQyxDQUFBLENBQUFNLEVBQUEsSUFBQWQsQ0FBQSxDQUFBYyxFQUFBLFdBQUFOLENBQUEsS0FBQVIsQ0FBQSxFQUFBQyxDQUFBO0FBaUJBLElBQU1tQix1QkFBdUIsR0FBR0MsNEJBQU0sQ0FBQ0MsR0FBRyxDQUFBdkIsZUFBQSxLQUFBQSxlQUFBLE9BQUF3Qix1QkFBQSwyQ0FFekM7QUFZREMsa0NBQWtDLENBQUNDLElBQUksR0FBRyxDQUN4Q0Msa0NBQTZCLEVBQzdCQyxrREFBOEIsRUFDOUJDLDZDQUF5QixFQUN6QkMsNEJBQXVCLEVBQ3ZCQywyQkFBc0IsRUFDdEJDLDJCQUFzQixFQUN0QkMsOEJBQXlCLEVBQ3pCQyx5QkFBb0IsQ0FDckI7QUFFRCxTQUFTVCxrQ0FBa0NBLENBQ3pDVSxzQkFBd0UsRUFDeEVDLHVCQUEwRSxFQUMxRUMsa0JBQWdFLEVBQ2hFQyxnQkFBNEQsRUFDNURDLGVBQTBELEVBQzFEQyxlQUEwRCxFQUMxREMsbUJBQWlFLEVBQ2pFQyxhQUFzRCxFQUNyQztFQUNqQixJQUFNQywyQkFBMkIsR0FBRyxTQUE5QkEsMkJBQTJCQSxDQUFBQyxJQUFBLEVBS3BCO0lBQUEsSUFKWEMsS0FBSyxHQUFBRCxJQUFBLENBQUxDLEtBQUs7TUFDTEMsb0JBQW9CLEdBQUFGLElBQUEsQ0FBcEJFLG9CQUFvQjtNQUNwQkMsdUJBQXVCLEdBQUFILElBQUEsQ0FBdkJHLHVCQUF1QjtNQUN2QkMsc0JBQXNCLEdBQUFKLElBQUEsQ0FBdEJJLHNCQUFzQjtJQUV0QixvQkFDRTdELE1BQUEsWUFBQThELGFBQUEsQ0FBQzVCLHVCQUF1QixxQkFFdEJsQyxNQUFBLFlBQUE4RCxhQUFBLENBQUNYLGdCQUFnQixNQUFBWSxTQUFBLGlCQUNYSixvQkFBb0I7TUFDeEJLLEtBQUssRUFBQyxpQkFBaUI7TUFDdkJDLFdBQVcsRUFBRUMsT0FBTyxDQUFDUixLQUFLLENBQUNTLE1BQU0sQ0FBQ0MsVUFBVTtJQUFFLElBRTdDUix1QkFBdUIsQ0FBQ1MsTUFBTSxnQkFDN0JyRSxNQUFBLFlBQUE4RCxhQUFBLENBQUNkLHNCQUFzQixNQUFBZSxTQUFBLGlCQUNqQkgsdUJBQXVCO01BQzNCVSxPQUFPLEVBQUVaLEtBQUssQ0FBQ2EsY0FBYyxDQUFDQztJQUFNLEVBQ3JDLENBQUMsR0FDQSxJQUFJLEVBQ1BkLEtBQUssQ0FBQ1MsTUFBTSxDQUFDQyxVQUFVLGdCQUN0QnBFLE1BQUEsWUFBQThELGFBQUEsQ0FBQTlELE1BQUEsWUFBQXlFLFFBQUEscUJBQ0V6RSxNQUFBLFlBQUE4RCxhQUFBLENBQUNULGVBQWUsTUFBQVUsU0FBQSxpQkFDVkosb0JBQW9CLEVBQ3BCRCxLQUFLLENBQUNnQixpQkFBaUIsQ0FBQ0MsWUFBWSxDQUN6QyxDQUFDLGVBQ0YzRSxNQUFBLFlBQUE4RCxhQUFBLENBQUNiLHVCQUF1QixNQUFBYyxTQUFBLGlCQUNsQkosb0JBQW9CO01BQ3hCVyxPQUFPLEVBQUVaLEtBQUssQ0FBQ2EsY0FBYyxDQUFDQztJQUFNLEVBQ3JDLENBQUMsZUFDRnhFLE1BQUEsWUFBQThELGFBQUEsQ0FBQ3RELGlCQUFBLENBQUFvRSw2QkFBNkIscUJBQzVCNUUsTUFBQSxZQUFBOEQsYUFBQSxDQUFDVCxlQUFlLE1BQUFVLFNBQUEsaUJBQUtKLG9CQUFvQixFQUFNRCxLQUFLLENBQUNnQixpQkFBaUIsQ0FBQ0csU0FBUyxDQUFHLENBQ3RELENBQy9CLENBQUMsZ0JBRUg3RSxNQUFBLFlBQUE4RCxhQUFBLENBQUNaLGtCQUFrQixFQUFLVyxzQkFBeUIsQ0FDbEQsZUFDRDdELE1BQUEsWUFBQThELGFBQUEsQ0FBQ1YsZUFBZSxNQUFBVyxTQUFBLGlCQUFLTCxLQUFLLENBQUNnQixpQkFBaUIsQ0FBQ0ksT0FBTyxFQUFNbkIsb0JBQW9CLENBQUcsQ0FDakUsQ0FBQyxlQUduQjNELE1BQUEsWUFBQThELGFBQUEsQ0FBQ1gsZ0JBQWdCLE1BQUFZLFNBQUEsaUJBQ1hMLEtBQUssQ0FBQ2dCLGlCQUFpQixDQUFDSyxPQUFPLEVBQy9CcEIsb0JBQW9CO01BQ3hCSyxLQUFLLEVBQUMsbUJBQW1CO01BQ3pCQyxXQUFXO0lBQUEsaUJBRVhqRSxNQUFBLFlBQUE4RCxhQUFBLENBQUNkLHNCQUFzQixNQUFBZSxTQUFBLGlCQUNqQkgsdUJBQXVCO01BQzNCVSxPQUFPLEVBQUVaLEtBQUssQ0FBQ2EsY0FBYyxDQUFDUztJQUFZLEVBQzNDLENBQUMsRUFDRHRCLEtBQUssQ0FBQ1MsTUFBTSxDQUFDYyxnQkFBZ0IsZ0JBQzVCakYsTUFBQSxZQUFBOEQsYUFBQSxDQUFDYix1QkFBdUIsTUFBQWMsU0FBQSxpQkFDbEJKLG9CQUFvQjtNQUN4QnVCLFFBQVEsRUFBQyxrQkFBa0I7TUFDM0JaLE9BQU8sRUFBRVosS0FBSyxDQUFDYSxjQUFjLENBQUNTO0lBQVksRUFDM0MsQ0FBQyxnQkFFRmhGLE1BQUEsWUFBQThELGFBQUEsQ0FBQ1osa0JBQWtCLE1BQUFhLFNBQUEsaUJBQ2JKLG9CQUFvQjtNQUN4QndCLGFBQWEsRUFBRXpCLEtBQUssQ0FBQ1MsTUFBTSxDQUFDaUIsU0FBUyxDQUFDSixXQUFZO01BQ2xERSxRQUFRLEVBQUM7SUFBYSxFQUN2QixDQUNGLGVBQ0RsRixNQUFBLFlBQUE4RCxhQUFBLENBQUN0RCxpQkFBQSxDQUFBb0UsNkJBQTZCLHFCQUM1QjVFLE1BQUEsWUFBQThELGFBQUEsQ0FBQ1YsZUFBZSxNQUFBVyxTQUFBLGlCQUFLTCxLQUFLLENBQUNnQixpQkFBaUIsQ0FBQ1csYUFBYSxFQUFNMUIsb0JBQW9CLENBQUcsQ0FDMUQsQ0FDZixDQUFDLGVBR25CM0QsTUFBQSxZQUFBOEQsYUFBQSxDQUFDWCxnQkFBZ0IsTUFBQVksU0FBQSxpQkFDWEosb0JBQW9CLEVBQ3BCRCxLQUFLLENBQUNnQixpQkFBaUIsQ0FBQ0ssT0FBTztNQUNuQ2YsS0FBSyxFQUFDLG1CQUFtQjtNQUN6QkMsV0FBVztJQUFBLElBRVZQLEtBQUssQ0FBQ1MsTUFBTSxDQUFDbUIsU0FBUyxnQkFDckJ0RixNQUFBLFlBQUE4RCxhQUFBLENBQUNWLGVBQWUsTUFBQVcsU0FBQSxpQkFDVkwsS0FBSyxDQUFDZ0IsaUJBQWlCLENBQUNhLFNBQVMsRUFDakM1QixvQkFBb0I7TUFDeEJLLEtBQUssRUFBRTtJQUFNLEVBQ2QsQ0FBQyxnQkFFRmhFLE1BQUEsWUFBQThELGFBQUEsQ0FBQ1YsZUFBZSxNQUFBVyxTQUFBLGlCQUNWTCxLQUFLLENBQUNnQixpQkFBaUIsQ0FBQ2MsV0FBVyxFQUNuQzdCLG9CQUFvQjtNQUN4QkssS0FBSyxFQUFFO0lBQU0sRUFDZCxDQUNGLGVBQ0RoRSxNQUFBLFlBQUE4RCxhQUFBLENBQUN0RCxpQkFBQSxDQUFBb0UsNkJBQTZCLHFCQUM1QjVFLE1BQUEsWUFBQThELGFBQUEsQ0FBQ2Qsc0JBQXNCLE1BQUFlLFNBQUEsaUJBQ2pCSCx1QkFBdUI7TUFDM0JVLE9BQU8sRUFBRVosS0FBSyxDQUFDYSxjQUFjLENBQUNrQjtJQUFLLEVBQ3BDLENBQzRCLENBQ2YsQ0FBQyxlQUduQnpGLE1BQUEsWUFBQThELGFBQUEsQ0FBQ1gsZ0JBQWdCLE1BQUFZLFNBQUEsaUJBQ1hKLG9CQUFvQixFQUNwQkQsS0FBSyxDQUFDZ0IsaUJBQWlCLENBQUNnQixRQUFRO01BQ3BDekIsV0FBVztJQUFBLGlCQUVYakUsTUFBQSxZQUFBOEQsYUFBQSxDQUFDVixlQUFlLE1BQUFXLFNBQUEsaUJBQ1ZMLEtBQUssQ0FBQ2dCLGlCQUFpQixDQUFDaUIsY0FBYyxFQUN0Q2hDLG9CQUFvQjtNQUN4QkssS0FBSyxFQUFFO0lBQU0sRUFDZCxDQUFDLEVBQ0RKLHVCQUF1QixDQUFDUyxNQUFNLGdCQUM3QnJFLE1BQUEsWUFBQThELGFBQUEsQ0FBQ2Qsc0JBQXNCLE1BQUFlLFNBQUEsaUJBQ2pCSCx1QkFBdUI7TUFDM0JVLE9BQU8sRUFBRVosS0FBSyxDQUFDYSxjQUFjLENBQUNxQjtJQUFPLEVBQ3RDLENBQUMsR0FDQSxJQUNZLENBQUMsZUFHbkI1RixNQUFBLFlBQUE4RCxhQUFBLENBQUNYLGdCQUFnQixNQUFBWSxTQUFBLGlCQUNYSixvQkFBb0I7TUFDeEJLLEtBQUssRUFBRSxjQUFlO01BQ3RCNkIsV0FBVyxFQUFDLGtDQUFrQztNQUM5QzVCLFdBQVc7SUFBQSxpQkFFWGpFLE1BQUEsWUFBQThELGFBQUEsQ0FBQ1YsZUFBZSxNQUFBVyxTQUFBLGlCQUNWTCxLQUFLLENBQUNnQixpQkFBaUIsQ0FBQ29CLE1BQU0sRUFDOUJuQyxvQkFBb0I7TUFDeEJLLEtBQUssRUFBRTtJQUFNLEVBQ2QsQ0FBQyxlQUVGaEUsTUFBQSxZQUFBOEQsYUFBQSxDQUFDdEQsaUJBQUEsQ0FBQW9FLDZCQUE2QixRQUMzQmhCLHVCQUF1QixDQUFDUyxNQUFNLGdCQUM3QnJFLE1BQUEsWUFBQThELGFBQUEsQ0FBQ2Qsc0JBQXNCLE1BQUFlLFNBQUEsaUJBQ2pCSCx1QkFBdUI7TUFDM0JVLE9BQU8sRUFBRVosS0FBSyxDQUFDYSxjQUFjLENBQUN1QjtJQUFPLEVBQ3RDLENBQUMsR0FDQSxJQUFJLGVBQ1I5RixNQUFBLFlBQUE4RCxhQUFBLENBQUNULGVBQWUsTUFBQVUsU0FBQSxpQkFBS0wsS0FBSyxDQUFDZ0IsaUJBQWlCLENBQUNxQixXQUFXLEVBQU1wQyxvQkFBb0IsQ0FBRyxDQUN4RCxDQUNmLENBQUMsZUFHbkIzRCxNQUFBLFlBQUE4RCxhQUFBLENBQUNYLGdCQUFnQixNQUFBWSxTQUFBLGlCQUFLSixvQkFBb0I7TUFBRUssS0FBSyxFQUFDO0lBQXFCLGlCQUNyRWhFLE1BQUEsWUFBQThELGFBQUEsQ0FBQ1AsYUFBYTtNQUNaYyxNQUFNLEVBQUVULHVCQUF1QixDQUFDUyxNQUFNLElBQUksRUFBRztNQUM3QzJCLEtBQUssRUFBRXRDLEtBQUssQ0FBQ1MsTUFBTSxDQUFDOEIsYUFBYSxJQUFJLElBQUs7TUFDMUNDLFFBQVEsRUFBRSxTQUFWQSxRQUFRQSxDQUFHQyxHQUFRO1FBQUEsSUFBQUMscUJBQUE7UUFBQSxRQUFBQSxxQkFBQSxHQUNqQnZDLHNCQUFzQixDQUFDd0MsUUFBUSxjQUFBRCxxQkFBQSx1QkFBL0JBLHFCQUFBLENBQUF0RSxJQUFBLENBQUErQixzQkFBc0IsRUFBWTtVQUFDb0MsYUFBYSxFQUFFLENBQUFFLEdBQUcsYUFBSEEsR0FBRyx1QkFBSEEsR0FBRyxDQUFFRyxJQUFJLEtBQUk7UUFBSSxDQUFDLENBQUM7TUFBQSxDQUN0RTtNQUNEQyxXQUFXLEVBQUUseUJBQTBCO01BQ3ZDQyxRQUFRO0lBQUEsQ0FDVCxDQUNlLENBQ0ssQ0FBQztFQUU5QixDQUFDO0VBRUQsSUFBTUMsb0NBQW9DLEdBQUcsSUFBQUMsbUJBQU8sRUFBQyxVQUFBQyxLQUFLO0lBQUEsT0FBSUEsS0FBSztFQUFBLEVBQUMsQ0FBQ25ELDJCQUEyQixDQUFDO0VBQ2pHLE9BQU9pRCxvQ0FBb0M7QUFDN0M7QUFBQyxJQUFBRyxRQUFBLEdBQUFDLE9BQUEsY0FFY3ZFLGtDQUFrQyIsImlnbm9yZUxpc3QiOltdfQ==
|
|
@@ -18,7 +18,7 @@ export type EffectManagerState = {
|
|
|
18
18
|
effectOrder: string[];
|
|
19
19
|
children: React.ReactNode;
|
|
20
20
|
};
|
|
21
|
-
export type EffectManagerProps = EffectManagerWithIntlProp & EffectManagerState
|
|
21
|
+
export type EffectManagerProps = EffectManagerWithIntlProp & Partial<EffectManagerState>;
|
|
22
22
|
export type EffectManagerWithIntlProp = {
|
|
23
23
|
intl: IntlShape;
|
|
24
24
|
};
|
|
@@ -391,6 +391,7 @@ function FileUploadFactory() {
|
|
|
391
391
|
onKeyDown: this._onRemoteUrlKeyDown,
|
|
392
392
|
disabled: remoteLoading
|
|
393
393
|
}), showFormatSelector ? /*#__PURE__*/React.createElement(StyledRemoteFormatSelect, {
|
|
394
|
+
className: "file-uploader__remote-format",
|
|
394
395
|
"aria-label": intl.formatMessage({
|
|
395
396
|
id: 'fileUploader.format'
|
|
396
397
|
}),
|
|
@@ -441,4 +442,4 @@ function FileUploadFactory() {
|
|
|
441
442
|
}
|
|
442
443
|
export default FileUploadFactory;
|
|
443
444
|
export var FileUpload = FileUploadFactory();
|
|
444
|
-
//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJuYW1lcyI6WyJSZWFjdCIsIkNvbXBvbmVudCIsImNyZWF0ZVJlZiIsInN0eWxlZCIsImluamVjdEludGwiLCJVcGxvYWRCdXR0b24iLCJEcmFnTkRyb3AiLCJGaWxlVHlwZSIsIkZpbGVVcGxvYWRQcm9ncmVzcyIsIkZpbGVEcm9wIiwiR1VJREVTX0ZJTEVfRk9STUFUX0RPQyIsIlJFTU9URV9GSUxFX0ZPUk1BVFMiLCJGb3JtYXR0ZWRNZXNzYWdlIiwiZmV0Y2hSZW1vdGVGaWxlQXNLZXBsZXJGaWxlIiwiZ2V0RmlsZU5hbWVGb3JSZW1vdGVVcmwiLCJpc1JlbW90ZURhdGFzZXRVcmwiLCJtZWRpYSIsImlzQ2hyb21lIiwiZ2V0QXBwbGljYXRpb25Db25maWciLCJNYXJrZG93biIsIkJ1dHRvbiIsIklucHV0TGlnaHQiLCJMaW5rUmVuZGVyZXIiLCJmaWxlSWNvbkNvbG9yIiwiU3R5bGVkVXBsb2FkTWVzc2FnZSIsImRpdiIsIl90ZW1wbGF0ZU9iamVjdCIsIl90YWdnZWRUZW1wbGF0ZUxpdGVyYWwiLCJwcm9wcyIsInRoZW1lIiwidGV4dENvbG9yTFQiLCJwb3J0YWJsZSIsIl90ZW1wbGF0ZU9iamVjdDIiLCJXYXJuaW5nTXNnIiwic3BhbiIsIl90ZW1wbGF0ZU9iamVjdDMiLCJlcnJvckNvbG9yIiwiU3R5bGVkRmlsZURyb3AiLCJfdGVtcGxhdGVPYmplY3Q0IiwiJGRyYWdPdmVyIiwic3VidGV4dENvbG9yTFQiLCJfdGVtcGxhdGVPYmplY3Q1IiwiU3R5bGVkRHJvcEJvZHkiLCJfdGVtcGxhdGVPYmplY3Q2IiwiU3R5bGVkQWN0aW9uTGluZSIsIl90ZW1wbGF0ZU9iamVjdDciLCJtb2RhbFRpdGxlQ29sb3IiLCJsaW5rQnRuQ29sb3IiLCJTdHlsZWREcmFnTkRyb3BJY29uIiwiX3RlbXBsYXRlT2JqZWN0OCIsIlN0eWxlZEZpbGVUeXBlRm93IiwiX3RlbXBsYXRlT2JqZWN0OSIsIlN0eWxlZEZpbGVVcGxvYWQiLCJfdGVtcGxhdGVPYmplY3QwIiwiU3R5bGVkTWVzc2FnZSIsIl90ZW1wbGF0ZU9iamVjdDEiLCJTdHlsZWREcmFnRmlsZVdyYXBwZXIiLCJfdGVtcGxhdGVPYmplY3QxMCIsIlN0eWxlZERpc2NsYWltZXIiLCJfdGVtcGxhdGVPYmplY3QxMSIsIlN0eWxlZFJlbW90ZVVybEZvcm0iLCJfdGVtcGxhdGVPYmplY3QxMiIsIlN0eWxlZFJlbW90ZVVybFJvdyIsIl90ZW1wbGF0ZU9iamVjdDEzIiwiU3R5bGVkUmVtb3RlVXJsSW5wdXQiLCJfdGVtcGxhdGVPYmplY3QxNCIsIlN0eWxlZFJlbW90ZUZvcm1hdFNlbGVjdCIsInNlbGVjdCIsIl90ZW1wbGF0ZU9iamVjdDE1IiwiaW5wdXRMVCIsIlN0eWxlZFJlbW90ZUZldGNoQnV0dG9uIiwiX3RlbXBsYXRlT2JqZWN0MTYiLCJSRU1PVEVfRE9XTkxPQURfU0hBUkUiLCJzY2FsZUZpbGVQcm9ncmVzcyIsInByb2dyZXNzIiwic3RhcnQiLCJlbmQiLCJPYmplY3QiLCJrZXlzIiwicmVkdWNlIiwiYWNjdSIsImtleSIsIml0ZW0iLCJfb2JqZWN0U3ByZWFkIiwicGVyY2VudCIsImdldENvbWJpbmVkTG9hZFByb2dyZXNzIiwiX3JlZiIsImZpbGVMb2FkaW5nIiwiZmlsZUxvYWRpbmdQcm9ncmVzcyIsInJlbW90ZVByb2dyZXNzIiwiaXNSZW1vdGVGZXRjaCIsImxlbmd0aCIsIkZpbGVVcGxvYWRGYWN0b3J5IiwiRmlsZVVwbG9hZCIsIl9Db21wb25lbnQiLCJfdGhpcyIsIl9jbGFzc0NhbGxDaGVjayIsIl9sZW4iLCJhcmd1bWVudHMiLCJhcmdzIiwiQXJyYXkiLCJfa2V5IiwiX2NhbGxTdXBlciIsImNvbmNhdCIsIl9kZWZpbmVQcm9wZXJ0eSIsImRyYWdPdmVyIiwiZmlsZXMiLCJlcnJvckZpbGVzIiwicmVtb3RlVXJsIiwicmVtb3RlRm9ybWF0IiwicmVtb3RlRXJyb3IiLCJyZW1vdGVMb2FkaW5nIiwiZmlsZW5hbWUiLCJfdGhpcyRwcm9wcyRmaWxlRXh0ZW4iLCJmaWxlRXh0ZW5zaW9ucyIsImZpbGVFeHQiLCJmaW5kIiwiZXh0IiwiZW5kc1dpdGgiLCJCb29sZWFuIiwiZmlsZUxpc3QiLCJldmVudCIsInN0b3BQcm9wYWdhdGlvbiIsIl90b0NvbnN1bWFibGVBcnJheSIsImZpbHRlciIsIl90aGlzJHByb3BzJGRpc2FibGVFeCIsImRpc2FibGVFeHRlbnNpb25GaWx0ZXIiLCJmaWxlc1RvTG9hZCIsIl9pdGVyYXRvciIsIl9jcmVhdGVGb3JPZkl0ZXJhdG9ySGVscGVyIiwiX3N0ZXAiLCJzIiwibiIsImRvbmUiLCJmaWxlIiwidmFsdWUiLCJfaXNWYWxpZEZpbGVUeXBlIiwibmFtZSIsInB1c2giLCJlcnIiLCJlIiwiZiIsIm5leHRTdGF0ZSIsInNldFN0YXRlIiwib25GaWxlVXBsb2FkIiwibmV3U3RhdGUiLCJ0YXJnZXQiLCJtZXNzYWdlIiwicHJldmVudERlZmF1bHQiLCJfaGFuZGxlTG9hZFJlbW90ZUZpbGUiLCJfYXN5bmNUb0dlbmVyYXRvciIsIl9yZWdlbmVyYXRvclJ1bnRpbWUiLCJtYXJrIiwiX2NhbGxlZSIsIl90aGlzJHN0YXRlIiwiaW50bCIsInNob3dGb3JtYXRTZWxlY3RvciIsImZvcm1hdCIsImZpbGVOYW1lIiwiZG93bmxvYWRpbmciLCJsYXN0VXBkYXRlIiwid3JhcCIsIl9jYWxsZWUkIiwiX2NvbnRleHQiLCJwcmV2IiwibmV4dCIsInN0YXRlIiwiZW5hYmxlUmVtb3RlRmlsZUZvcm1hdFNlbGVjdG9yIiwidW5kZWZpbmVkIiwiYWJydXB0IiwiZm9ybWF0TWVzc2FnZSIsImlkIiwiZXJyb3IiLCJfcmVmMyIsIm5vdyIsIkRhdGUiLCJzZW50IiwidDAiLCJFcnJvciIsInN0b3AiLCJfaW5oZXJpdHMiLCJfY3JlYXRlQ2xhc3MiLCJyZW5kZXIiLCJfdGhpczIiLCJfdGhpcyRzdGF0ZTIiLCJfdGhpcyRwcm9wcyIsIl90aGlzJHByb3BzMiIsIl90aGlzJHByb3BzMiRmaWxlRXh0ZSIsIl90aGlzJHByb3BzMiRmaWxlRm9ybSIsImZpbGVGb3JtYXROYW1lcyIsImZpbGVVcGxvYWRJbmZvVGV4dCIsIm1hcCIsImpvaW4iLCJjcmVhdGVFbGVtZW50IiwiY2xhc3NOYW1lIiwicmVmIiwiZnJhbWUiLCJjdXJyZW50IiwiZG9jdW1lbnQiLCJvbkRyYWdPdmVyIiwiX3RvZ2dsZURyYWdTdGF0ZSIsIm9uRHJhZ0xlYXZlIiwib25Ecm9wIiwiX2hhbmRsZUZpbGVJbnB1dCIsIm9wdGlvbnMiLCJvdmVycmlkZXMiLCJhIiwiY29tcG9uZW50IiwiaGVpZ2h0IiwiZm9udFNpemUiLCJGcmFnbWVudCIsInN0eWxlIiwib3BhY2l0eSIsInZhbHVlcyIsImJyb3dzZSIsIm9uVXBsb2FkIiwib25DbGljayIsInR5cGUiLCJwbGFjZWhvbGRlciIsIm9uQ2hhbmdlIiwiX29uUmVtb3RlVXJsQ2hhbmdlIiwib25LZXlEb3duIiwiX29uUmVtb3RlVXJsS2V5RG93biIsImRpc2FibGVkIiwiX29uUmVtb3RlRm9ybWF0Q2hhbmdlIiwidG9VcHBlckNhc2UiLCJjdGEiLCJzbWFsbCIsImdldERlcml2ZWRTdGF0ZUZyb21Qcm9wcyJdLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uL3NyYy9jb21tb24vZmlsZS11cGxvYWRlci9maWxlLXVwbG9hZC50c3giXSwic291cmNlc0NvbnRlbnQiOlsiLy8gU1BEWC1MaWNlbnNlLUlkZW50aWZpZXI6IE1JVFxuLy8gQ29weXJpZ2h0IGNvbnRyaWJ1dG9ycyB0byB0aGUga2VwbGVyLmdsIHByb2plY3RcblxuaW1wb3J0IFJlYWN0LCB7Q29tcG9uZW50LCBjcmVhdGVSZWZ9IGZyb20gJ3JlYWN0JztcbmltcG9ydCBzdHlsZWQgZnJvbSAnc3R5bGVkLWNvbXBvbmVudHMnO1xuaW1wb3J0IHtpbmplY3RJbnRsLCBXcmFwcGVkQ29tcG9uZW50UHJvcHN9IGZyb20gJ3JlYWN0LWludGwnO1xuaW1wb3J0IFVwbG9hZEJ1dHRvbiBmcm9tICcuL3VwbG9hZC1idXR0b24nO1xuaW1wb3J0IHtEcmFnTkRyb3AsIEZpbGVUeXBlfSBmcm9tICcuLi9pY29ucyc7XG5pbXBvcnQgRmlsZVVwbG9hZFByb2dyZXNzIGZyb20gJy4vZmlsZS11cGxvYWQtcHJvZ3Jlc3MnO1xuaW1wb3J0IEZpbGVEcm9wIGZyb20gJy4vZmlsZS1kcm9wJztcbmltcG9ydCB7RmlsZUxvYWRpbmcsIEZpbGVMb2FkaW5nUHJvZ3Jlc3N9IGZyb20gJ0BrZXBsZXIuZ2wvdHlwZXMnO1xuXG5pbXBvcnQge0dVSURFU19GSUxFX0ZPUk1BVF9ET0MsIFJFTU9URV9GSUxFX0ZPUk1BVFN9IGZyb20gJ0BrZXBsZXIuZ2wvY29uc3RhbnRzJztcbmltcG9ydCB7Rm9ybWF0dGVkTWVzc2FnZX0gZnJvbSAnQGtlcGxlci5nbC9sb2NhbGl6YXRpb24nO1xuaW1wb3J0IHtcbiAgZmV0Y2hSZW1vdGVGaWxlQXNLZXBsZXJGaWxlLFxuICBnZXRGaWxlTmFtZUZvclJlbW90ZVVybCxcbiAgaXNSZW1vdGVEYXRhc2V0VXJsXG59IGZyb20gJ0BrZXBsZXIuZ2wvcHJvY2Vzc29ycyc7XG5pbXBvcnQge21lZGlhfSBmcm9tICdAa2VwbGVyLmdsL3N0eWxlcyc7XG5pbXBvcnQge2lzQ2hyb21lLCBnZXRBcHBsaWNhdGlvbkNvbmZpZ30gZnJvbSAnQGtlcGxlci5nbC91dGlscyc7XG5pbXBvcnQgTWFya2Rvd24gZnJvbSAnbWFya2Rvd24tdG8tanN4JztcblxuaW1wb3J0IHtCdXR0b24sIElucHV0TGlnaHR9IGZyb20gJy4uL3N0eWxlZC1jb21wb25lbnRzJztcbmltcG9ydCBMaW5rUmVuZGVyZXIgZnJvbSAnLi4vbGluay1yZW5kZXJlcic7XG5cbmNvbnN0IGZpbGVJY29uQ29sb3IgPSAnI0QzRDhFMCc7XG5cbmNvbnN0IFN0eWxlZFVwbG9hZE1lc3NhZ2UgPSBzdHlsZWQuZGl2YFxuICBjb2xvcjogJHtwcm9wcyA9PiBwcm9wcy50aGVtZS50ZXh0Q29sb3JMVH07XG4gIGZvbnQtc2l6ZTogMTRweDtcbiAgbWFyZ2luLWJvdHRvbTogMTJweDtcblxuICAke21lZGlhLnBvcnRhYmxlYFxuICAgIGZvbnQtc2l6ZTogMTJweDtcbiAgYH07XG5gO1xuXG5leHBvcnQgY29uc3QgV2FybmluZ01zZyA9IHN0eWxlZC5zcGFuYFxuICBtYXJnaW4tdG9wOiAxMHB4O1xuICBjb2xvcjogJHtwcm9wcyA9PiBwcm9wcy50aGVtZS5lcnJvckNvbG9yfTtcbiAgZm9udC13ZWlnaHQ6IDUwMDtcbmA7XG5cbmludGVyZmFjZSBTdHlsZWRGaWxlRHJvcFByb3BzIHtcbiAgJGRyYWdPdmVyPzogYm9vbGVhbjtcbn1cblxuY29uc3QgU3R5bGVkRmlsZURyb3AgPSBzdHlsZWQuZGl2PFN0eWxlZEZpbGVEcm9wUHJvcHM+YFxuICBiYWNrZ3JvdW5kLWNvbG9yOiB3aGl0ZTtcbiAgYm9yZGVyLXJhZGl1czogNHB4O1xuICBib3JkZXItc3R5bGU6ICR7cHJvcHMgPT4gKHByb3BzLiRkcmFnT3ZlciA/ICdzb2xpZCcgOiAnZGFzaGVkJyl9O1xuICBib3JkZXItd2lkdGg6IDFweDtcbiAgYm9yZGVyLWNvbG9yOiAke3Byb3BzID0+IChwcm9wcy4kZHJhZ092ZXIgPyBwcm9wcy50aGVtZS50ZXh0Q29sb3JMVCA6IHByb3BzLnRoZW1lLnN1YnRleHRDb2xvckxUKX07XG4gIHRleHQtYWxpZ246IGNlbnRlcjtcbiAgd2lkdGg6IDEwMCU7XG4gIG1pbi1oZWlnaHQ6IDM2MHB4O1xuICBwYWRkaW5nOiAyNHB4IDEycHggMTZweDtcbiAgZGlzcGxheTogZmxleDtcbiAgZmxleC1kaXJlY3Rpb246IGNvbHVtbjtcbiAgYWxpZ24taXRlbXM6IGNlbnRlcjtcblxuICAuZmlsZS10eXBlLXJvdyB7XG4gICAgb3BhY2l0eTogMC41O1xuICB9XG4gICR7bWVkaWEucG9ydGFibGVgXG4gICAgcGFkZGluZzogMTZweCA4cHggMTJweDtcbiAgICBtaW4taGVpZ2h0OiAyODBweDtcbiAgYH07XG5gO1xuXG5jb25zdCBTdHlsZWREcm9wQm9keSA9IHN0eWxlZC5kaXZgXG4gIGZsZXg6IDE7XG4gIHdpZHRoOiAxMDAlO1xuICBkaXNwbGF5OiBmbGV4O1xuICBmbGV4LWRpcmVjdGlvbjogY29sdW1uO1xuICBhbGlnbi1pdGVtczogY2VudGVyO1xuICBqdXN0aWZ5LWNvbnRlbnQ6IHNwYWNlLWV2ZW5seTtcbmA7XG5cbmNvbnN0IFN0eWxlZEFjdGlvbkxpbmUgPSBzdHlsZWQuZGl2YFxuICBjb2xvcjogJHtwcm9wcyA9PiBwcm9wcy50aGVtZS5tb2RhbFRpdGxlQ29sb3J9O1xuICBmb250LXNpemU6IDE0cHg7XG4gIGZvbnQtd2VpZ2h0OiA2MDA7XG4gIGxpbmUtaGVpZ2h0OiAyMHB4O1xuXG4gIC51cGxvYWQtYnV0dG9uIHtcbiAgICBmb250LXNpemU6IDE0cHg7XG4gICAgZm9udC13ZWlnaHQ6IDYwMDtcbiAgICBjb2xvcjogJHtwcm9wcyA9PiBwcm9wcy50aGVtZS5saW5rQnRuQ29sb3J9O1xuICAgIHRleHQtZGVjb3JhdGlvbjogbm9uZTtcbiAgfVxuYDtcblxuY29uc3QgU3R5bGVkRHJhZ05Ecm9wSWNvbiA9IHN0eWxlZC5kaXZgXG4gIGNvbG9yOiAke2ZpbGVJY29uQ29sb3J9O1xuICBkaXNwbGF5OiBmbGV4O1xuICBmbGV4LWRpcmVjdGlvbjogY29sdW1uO1xuICBhbGlnbi1pdGVtczogY2VudGVyO1xuICBqdXN0aWZ5LWNvbnRlbnQ6IGNlbnRlcjtcbmA7XG5cbmNvbnN0IFN0eWxlZEZpbGVUeXBlRm93ID0gc3R5bGVkLmRpdmBcbiAgd2lkdGg6IDEwMCU7XG5gO1xuXG5jb25zdCBTdHlsZWRGaWxlVXBsb2FkID0gc3R5bGVkLmRpdmBcbiAgLmZpbGUtZHJvcCB7XG4gICAgcG9zaXRpb246IHJlbGF0aXZlO1xuICB9XG5gO1xuXG5jb25zdCBTdHlsZWRNZXNzYWdlID0gc3R5bGVkLmRpdmBcbiAgZGlzcGxheTogZmxleDtcbiAganVzdGlmeS1jb250ZW50OiBjZW50ZXI7XG4gIGFsaWduLWl0ZW1zOiBjZW50ZXI7XG4gIG1hcmdpbi1ib3R0b206IDMycHg7XG5cbiAgLmxvYWRpbmctYWN0aW9uIHtcbiAgICBtYXJnaW4tcmlnaHQ6IDEwcHg7XG4gIH1cbiAgLmxvYWRpbmctc3Bpbm5lciB7XG4gICAgbWFyZ2luLWxlZnQ6IDEwcHg7XG4gIH1cbmA7XG5cbmNvbnN0IFN0eWxlZERyYWdGaWxlV3JhcHBlciA9IHN0eWxlZC5kaXZgXG4gIGRpc3BsYXk6IGZsZXg7XG4gIGZsZXgtZGlyZWN0aW9uOiBjb2x1bW47XG4gIGFsaWduLWl0ZW1zOiBjZW50ZXI7XG4gIHdpZHRoOiAxMDAlO1xuYDtcblxuY29uc3QgU3R5bGVkRGlzY2xhaW1lciA9IHN0eWxlZChTdHlsZWRNZXNzYWdlKWBcbiAgZmxleC1zaHJpbms6IDA7XG4gIG1hcmdpbjogMTJweCAxMnB4IDA7XG5gO1xuXG5jb25zdCBTdHlsZWRSZW1vdGVVcmxGb3JtID0gc3R5bGVkLmRpdmBcbiAgZGlzcGxheTogZmxleDtcbiAgZmxleC1kaXJlY3Rpb246IGNvbHVtbjtcbiAgYWxpZ24taXRlbXM6IGNlbnRlcjtcbiAgZ2FwOiA0cHg7XG4gIHdpZHRoOiAxMDAlO1xuICBtYXgtd2lkdGg6IDQyMHB4O1xuICBtYXJnaW46IDhweCBhdXRvIDA7XG5gO1xuXG5jb25zdCBTdHlsZWRSZW1vdGVVcmxSb3cgPSBzdHlsZWQuZGl2YFxuICBkaXNwbGF5OiBmbGV4O1xuICBmbGV4LWRpcmVjdGlvbjogcm93O1xuICBnYXA6IDhweDtcbiAgYWxpZ24taXRlbXM6IHN0cmV0Y2g7XG4gIGp1c3RpZnktY29udGVudDogY2VudGVyO1xuICB3aWR0aDogMTAwJTtcbmA7XG5cbmNvbnN0IFN0eWxlZFJlbW90ZVVybElucHV0ID0gc3R5bGVkKElucHV0TGlnaHQpYFxuICBmbGV4OiAxO1xuICBtaW4td2lkdGg6IDA7XG4gIG1heC13aWR0aDogMzAwcHg7XG5gO1xuXG5jb25zdCBTdHlsZWRSZW1vdGVGb3JtYXRTZWxlY3QgPSBzdHlsZWQuc2VsZWN0YFxuICAke3Byb3BzID0+IHByb3BzLnRoZW1lLmlucHV0TFR9O1xuICB3aWR0aDogODhweDtcbiAgZmxleC1zaHJpbms6IDA7XG4gIGhlaWdodDogYXV0bztcbiAgYm94LXNpemluZzogYm9yZGVyLWJveDtcbiAgcGFkZGluZzogMCA2cHg7XG4gIGN1cnNvcjogcG9pbnRlcjtcbmA7XG5cbmNvbnN0IFN0eWxlZFJlbW90ZUZldGNoQnV0dG9uID0gc3R5bGVkKEJ1dHRvbilgXG4gIGhlaWdodDogYXV0bztcbiAgYm94LXNpemluZzogYm9yZGVyLWJveDtcbiAgcGFkZGluZzogMCAxMnB4O1xuICBmbGV4LXNocmluazogMDtcbmA7XG5cbmNvbnN0IFJFTU9URV9ET1dOTE9BRF9TSEFSRSA9IDAuODU7XG5cbmZ1bmN0aW9uIHNjYWxlRmlsZVByb2dyZXNzKFxuICBwcm9ncmVzczogRmlsZUxvYWRpbmdQcm9ncmVzcyxcbiAgc3RhcnQ6IG51bWJlcixcbiAgZW5kOiBudW1iZXJcbik6IEZpbGVMb2FkaW5nUHJvZ3Jlc3Mge1xuICByZXR1cm4gT2JqZWN0LmtleXMocHJvZ3Jlc3MpLnJlZHVjZTxGaWxlTG9hZGluZ1Byb2dyZXNzPigoYWNjdSwga2V5KSA9PiB7XG4gICAgY29uc3QgaXRlbSA9IHByb2dyZXNzW2tleV07XG4gICAgYWNjdVtrZXldID0ge1xuICAgICAgLi4uaXRlbSxcbiAgICAgIHBlcmNlbnQ6IHN0YXJ0ICsgKGl0ZW0ucGVyY2VudCB8fCAwKSAqIChlbmQgLSBzdGFydClcbiAgICB9O1xuICAgIHJldHVybiBhY2N1O1xuICB9LCB7fSk7XG59XG5cbmZ1bmN0aW9uIGdldENvbWJpbmVkTG9hZFByb2dyZXNzKHtcbiAgZmlsZUxvYWRpbmcsXG4gIGZpbGVMb2FkaW5nUHJvZ3Jlc3MsXG4gIHJlbW90ZVByb2dyZXNzXG59OiB7XG4gIGZpbGVMb2FkaW5nOiBGaWxlTG9hZGluZyB8IGZhbHNlO1xuICBmaWxlTG9hZGluZ1Byb2dyZXNzOiBGaWxlTG9hZGluZ1Byb2dyZXNzO1xuICByZW1vdGVQcm9ncmVzczogRmlsZUxvYWRpbmdQcm9ncmVzcztcbn0pOiBGaWxlTG9hZGluZ1Byb2dyZXNzIHtcbiAgY29uc3QgaXNSZW1vdGVGZXRjaCA9IE9iamVjdC5rZXlzKHJlbW90ZVByb2dyZXNzKS5sZW5ndGggPiAwO1xuICBpZiAoIWlzUmVtb3RlRmV0Y2gpIHtcbiAgICByZXR1cm4gZmlsZUxvYWRpbmdQcm9ncmVzcztcbiAgfVxuICBpZiAoZmlsZUxvYWRpbmcpIHtcbiAgICByZXR1cm4gc2NhbGVGaWxlUHJvZ3Jlc3MoZmlsZUxvYWRpbmdQcm9ncmVzcywgUkVNT1RFX0RPV05MT0FEX1NIQVJFLCAxKTtcbiAgfVxuICByZXR1cm4gc2NhbGVGaWxlUHJvZ3Jlc3MocmVtb3RlUHJvZ3Jlc3MsIDAsIFJFTU9URV9ET1dOTE9BRF9TSEFSRSk7XG59XG5cbnR5cGUgRmlsZVVwbG9hZFByb3BzID0ge1xuICBvbkZpbGVVcGxvYWQ6IChmaWxlczogRmlsZVtdKSA9PiB2b2lkO1xuICBmaWxlTG9hZGluZzogRmlsZUxvYWRpbmcgfCBmYWxzZTtcbiAgZmlsZUxvYWRpbmdQcm9ncmVzczogRmlsZUxvYWRpbmdQcm9ncmVzcztcbiAgdGhlbWU6IG9iamVjdDtcbiAgLyoqIEEgbGlzdCBvZiBuYW1lcyBvZiBzdXBwb3J0ZWQgZm9ybWF0cyBzdWl0YWJsZSB0byBwcmVzZW50IHRvIHVzZXIgKi9cbiAgZmlsZUZvcm1hdE5hbWVzPzogc3RyaW5nW107XG4gIC8qKiBBIGxpc3Qgb2YgdHlwaWNhbGx5IDMgbGV0dGVyIGV4dGVuc2lvbnMgKHdpdGhvdXQgJy4nKSBmb3IgZmlsZSBtYXRjaGluZyAqL1xuICBmaWxlRXh0ZW5zaW9ucz86IHN0cmluZ1tdO1xuICAvKiogU2V0IHRvIHRydWUgaWYgYXBwIHdhbnRzIHRvIGRvIGl0cyBvd24gZmlsZSBmaWx0ZXJpbmcgKi9cbiAgZGlzYWJsZUV4dGVuc2lvbkZpbHRlcj86IGJvb2xlYW47XG59ICYgV3JhcHBlZENvbXBvbmVudFByb3BzO1xuXG50eXBlIEZpbGVVcGxvYWRTdGF0ZSA9IHtcbiAgZHJhZ092ZXI6IGJvb2xlYW47XG4gIGZpbGVMb2FkaW5nOiBGaWxlTG9hZGluZyB8IGZhbHNlO1xuICBmaWxlczogRmlsZVtdO1xuICBlcnJvckZpbGVzOiBzdHJpbmdbXTtcbiAgcmVtb3RlVXJsOiBzdHJpbmc7XG4gIHJlbW90ZUZvcm1hdDogc3RyaW5nO1xuICByZW1vdGVFcnJvcjoge21lc3NhZ2U6IHN0cmluZ30gfCBudWxsO1xuICByZW1vdGVMb2FkaW5nOiBib29sZWFuO1xuICByZW1vdGVQcm9ncmVzczogRmlsZUxvYWRpbmdQcm9ncmVzcztcbn07XG5cbmZ1bmN0aW9uIEZpbGVVcGxvYWRGYWN0b3J5KCkge1xuICAvKiogQGF1Z21lbnRzIHtDb21wb25lbnQ8RmlsZVVwbG9hZFByb3BzPn0gKi9cbiAgY2xhc3MgRmlsZVVwbG9hZCBleHRlbmRzIENvbXBvbmVudDxGaWxlVXBsb2FkUHJvcHMsIEZpbGVVcGxvYWRTdGF0ZT4ge1xuICAgIHN0YXRlOiBGaWxlVXBsb2FkU3RhdGUgPSB7XG4gICAgICBkcmFnT3ZlcjogZmFsc2UsXG4gICAgICBmaWxlTG9hZGluZzogZmFsc2UsXG4gICAgICBmaWxlczogW10sXG4gICAgICBlcnJvckZpbGVzOiBbXSxcbiAgICAgIHJlbW90ZVVybDogJycsXG4gICAgICByZW1vdGVGb3JtYXQ6ICdhdXRvJyxcbiAgICAgIHJlbW90ZUVycm9yOiBudWxsLFxuICAgICAgcmVtb3RlTG9hZGluZzogZmFsc2UsXG4gICAgICByZW1vdGVQcm9ncmVzczoge31cbiAgICB9O1xuXG4gICAgc3RhdGljIGdldERlcml2ZWRTdGF0ZUZyb21Qcm9wcyhwcm9wcywgc3RhdGUpIHtcbiAgICAgIGlmIChzdGF0ZS5maWxlTG9hZGluZyAmJiBwcm9wcy5maWxlTG9hZGluZyA9PT0gZmFsc2UgJiYgc3RhdGUuZmlsZXMubGVuZ3RoKSB7XG4gICAgICAgIHJldHVybiB7XG4gICAgICAgICAgZmlsZXM6IFtdLFxuICAgICAgICAgIGZpbGVMb2FkaW5nOiBwcm9wcy5maWxlTG9hZGluZyxcbiAgICAgICAgICByZW1vdGVMb2FkaW5nOiBmYWxzZSxcbiAgICAgICAgICByZW1vdGVQcm9ncmVzczoge31cbiAgICAgICAgfTtcbiAgICAgIH1cbiAgICAgIHJldHVybiB7XG4gICAgICAgIGZpbGVMb2FkaW5nOiBwcm9wcy5maWxlTG9hZGluZyxcbiAgICAgICAgLi4uKHByb3BzLmZpbGVMb2FkaW5nID8ge3JlbW90ZUxvYWRpbmc6IGZhbHNlfSA6IHt9KVxuICAgICAgfTtcbiAgICB9XG5cbiAgICBmcmFtZSA9IGNyZWF0ZVJlZjxIVE1MRGl2RWxlbWVudD4oKTtcblxuICAgIF9pc1ZhbGlkRmlsZVR5cGUgPSBmaWxlbmFtZSA9PiB7XG4gICAgICBjb25zdCB7ZmlsZUV4dGVuc2lvbnMgPSBbXX0gPSB0aGlzLnByb3BzO1xuICAgICAgY29uc3QgZmlsZUV4dCA9IGZpbGVFeHRlbnNpb25zLmZpbmQoZXh0ID0+IGZpbGVuYW1lLmVuZHNXaXRoKGV4dCkpO1xuXG4gICAgICByZXR1cm4gQm9vbGVhbihmaWxlRXh0KTtcbiAgICB9O1xuXG4gICAgLyoqIEBwYXJhbSB7RmlsZUxpc3R9IGZpbGVMaXN0ICovXG4gICAgX2hhbmRsZUZpbGVJbnB1dCA9IChmaWxlTGlzdDogRmlsZUxpc3QsIGV2ZW50OiBhbnkpID0+IHtcbiAgICAgIGlmIChldmVudCkge1xuICAgICAgICBldmVudC5zdG9wUHJvcGFnYXRpb24oKTtcbiAgICAgIH1cblxuICAgICAgY29uc3QgZmlsZXMgPSBbLi4uZmlsZUxpc3RdLmZpbHRlcihCb29sZWFuKTtcblxuICAgICAgY29uc3Qge2Rpc2FibGVFeHRlbnNpb25GaWx0ZXIgPSBmYWxzZX0gPSB0aGlzLnByb3BzO1xuXG4gICAgICAvLyBUT0RPIC0gbW92ZSB0aGlzIGNvZGUgb3V0IG9mIHRoZSBjb21wb25lbnRcbiAgICAgIGNvbnN0IGZpbGVzVG9Mb2FkOiBGaWxlW10gPSBbXTtcbiAgICAgIGNvbnN0IGVycm9yRmlsZXM6IHN0cmluZ1tdID0gW107XG4gICAgICBmb3IgKGNvbnN0IGZpbGUgb2YgZmlsZXMpIHtcbiAgICAgICAgaWYgKGRpc2FibGVFeHRlbnNpb25GaWx0ZXIgfHwgdGhpcy5faXNWYWxpZEZpbGVUeXBlKGZpbGUubmFtZSkpIHtcbiAgICAgICAgICBmaWxlc1RvTG9hZC5wdXNoKGZpbGUpO1xuICAgICAgICB9IGVsc2Uge1xuICAgICAgICAgIGVycm9yRmlsZXMucHVzaChmaWxlLm5hbWUpO1xuICAgICAgICB9XG4gICAgICB9XG5cbiAgICAgIGNvbnN0IG5leHRTdGF0ZSA9IHtmaWxlczogZmlsZXNUb0xvYWQsIGVycm9yRmlsZXMsIGRyYWdPdmVyOiBmYWxzZX07XG5cbiAgICAgIHRoaXMuc2V0U3RhdGUobmV4dFN0YXRlLCAoKSA9PlxuICAgICAgICBuZXh0U3RhdGUuZmlsZXMubGVuZ3RoID8gdGhpcy5wcm9wcy5vbkZpbGVVcGxvYWQobmV4dFN0YXRlLmZpbGVzKSA6IG51bGxcbiAgICAgICk7XG4gICAgfTtcblxuICAgIF90b2dnbGVEcmFnU3RhdGUgPSBuZXdTdGF0ZSA9PiB7XG4gICAgICB0aGlzLnNldFN0YXRlKHtkcmFnT3ZlcjogbmV3U3RhdGV9KTtcbiAgICB9O1xuXG4gICAgX29uUmVtb3RlVXJsQ2hhbmdlID0gKGV2ZW50OiBSZWFjdC5DaGFuZ2VFdmVudDxIVE1MSW5wdXRFbGVtZW50PikgPT4ge1xuICAgICAgY29uc3QgcmVtb3RlVXJsID0gZXZlbnQudGFyZ2V0LnZhbHVlO1xuICAgICAgdGhpcy5zZXRTdGF0ZSh7XG4gICAgICAgIHJlbW90ZVVybCxcbiAgICAgICAgcmVtb3RlRXJyb3I6IHJlbW90ZVVybCAmJiAhaXNSZW1vdGVEYXRhc2V0VXJsKHJlbW90ZVVybCkgPyB7bWVzc2FnZTogJ0luY29ycmVjdCBVUkwnfSA6IG51bGxcbiAgICAgIH0pO1xuICAgIH07XG5cbiAgICBfb25SZW1vdGVGb3JtYXRDaGFuZ2UgPSAoZXZlbnQ6IFJlYWN0LkNoYW5nZUV2ZW50PEhUTUxTZWxlY3RFbGVtZW50PikgPT4ge1xuICAgICAgdGhpcy5zZXRTdGF0ZSh7cmVtb3RlRm9ybWF0OiBldmVudC50YXJnZXQudmFsdWV9KTtcbiAgICB9O1xuXG4gICAgX29uUmVtb3RlVXJsS2V5RG93biA9IChldmVudDogUmVhY3QuS2V5Ym9hcmRFdmVudDxIVE1MSW5wdXRFbGVtZW50PikgPT4ge1xuICAgICAgaWYgKGV2ZW50LmtleSA9PT0gJ0VudGVyJykge1xuICAgICAgICBldmVudC5wcmV2ZW50RGVmYXVsdCgpO1xuICAgICAgICB0aGlzLl9oYW5kbGVMb2FkUmVtb3RlRmlsZSgpO1xuICAgICAgfVxuICAgIH07XG5cbiAgICBfaGFuZGxlTG9hZFJlbW90ZUZpbGUgPSBhc3luYyAoKSA9PiB7XG4gICAgICBjb25zdCB7cmVtb3RlVXJsLCByZW1vdGVGb3JtYXQsIHJlbW90ZUVycm9yfSA9IHRoaXMuc3RhdGU7XG4gICAgICBjb25zdCB7aW50bH0gPSB0aGlzLnByb3BzO1xuICAgICAgY29uc3Qgc2hvd0Zvcm1hdFNlbGVjdG9yID0gZ2V0QXBwbGljYXRpb25Db25maWcoKS5lbmFibGVSZW1vdGVGaWxlRm9ybWF0U2VsZWN0b3I7XG4gICAgICBjb25zdCBmb3JtYXQgPVxuICAgICAgICBzaG93Rm9ybWF0U2VsZWN0b3IgJiYgcmVtb3RlRm9ybWF0ICE9PSAnYXV0bycgPyByZW1vdGVGb3JtYXQgOiB1bmRlZmluZWQ7XG4gICAgICBpZiAoIXJlbW90ZVVybCB8fCByZW1vdGVFcnJvciB8fCB0aGlzLnN0YXRlLnJlbW90ZUxvYWRpbmcpIHtcbiAgICAgICAgaWYgKCFyZW1vdGVVcmwpIHtcbiAgICAgICAgICB0aGlzLnNldFN0YXRlKHtyZW1vdGVFcnJvcjoge21lc3NhZ2U6ICdJbmNvcnJlY3QgVVJMJ319KTtcbiAgICAgICAgfVxuICAgICAgICByZXR1cm47XG4gICAgICB9XG4gICAgICBpZiAoIWlzUmVtb3RlRGF0YXNldFVybChyZW1vdGVVcmwpKSB7XG4gICAgICAgIHRoaXMuc2V0U3RhdGUoe3JlbW90ZUVycm9yOiB7bWVzc2FnZTogJ0luY29ycmVjdCBVUkwnfX0pO1xuICAgICAgICByZXR1cm47XG4gICAgICB9XG5cbiAgICAgIGNvbnN0IGZpbGVOYW1lID0gZ2V0RmlsZU5hbWVGb3JSZW1vdGVVcmwocmVtb3RlVXJsLCBmb3JtYXQpO1xuICAgICAgY29uc3QgZG93bmxvYWRpbmcgPSBpbnRsLmZvcm1hdE1lc3NhZ2Uoe2lkOiAnZmlsZVVwbG9hZGVyLmRvd25sb2FkaW5nJ30pO1xuICAgICAgdGhpcy5zZXRTdGF0ZSh7XG4gICAgICAgIHJlbW90ZUxvYWRpbmc6IHRydWUsXG4gICAgICAgIHJlbW90ZUVycm9yOiBudWxsLFxuICAgICAgICByZW1vdGVQcm9ncmVzczoge1xuICAgICAgICAgIFtmaWxlTmFtZV06IHtcbiAgICAgICAgICAgIGZpbGVOYW1lLFxuICAgICAgICAgICAgcGVyY2VudDogMCxcbiAgICAgICAgICAgIG1lc3NhZ2U6IGRvd25sb2FkaW5nLFxuICAgICAgICAgICAgZXJyb3I6IG51bGxcbiAgICAgICAgICB9XG4gICAgICAgIH1cbiAgICAgIH0pO1xuXG4gICAgICB0cnkge1xuICAgICAgICBsZXQgbGFzdFVwZGF0ZSA9IDA7XG4gICAgICAgIGNvbnN0IGZpbGUgPSBhd2FpdCBmZXRjaFJlbW90ZUZpbGVBc0tlcGxlckZpbGUocmVtb3RlVXJsLCBmb3JtYXQsICh7cGVyY2VudH0pID0+IHtcbiAgICAgICAgICBjb25zdCBub3cgPSBEYXRlLm5vdygpO1xuICAgICAgICAgIGlmIChwZXJjZW50IDwgMSAmJiBub3cgLSBsYXN0VXBkYXRlIDwgMTAwKSB7XG4gICAgICAgICAgICByZXR1cm47XG4gICAgICAgICAgfVxuICAgICAgICAgIGxhc3RVcGRhdGUgPSBub3c7XG4gICAgICAgICAgdGhpcy5zZXRTdGF0ZShwcmV2ID0+IHtcbiAgICAgICAgICAgIGNvbnN0IG5hbWUgPSBPYmplY3Qua2V5cyhwcmV2LnJlbW90ZVByb2dyZXNzKVswXSB8fCBmaWxlTmFtZTtcbiAgICAgICAgICAgIHJldHVybiB7XG4gICAgICAgICAgICAgIHJlbW90ZVByb2dyZXNzOiB7XG4gICAgICAgICAgICAgICAgW25hbWVdOiB7XG4gICAgICAgICAgICAgICAgICBmaWxlTmFtZTogbmFtZSxcbiAgICAgICAgICAgICAgICAgIHBlcmNlbnQsXG4gICAgICAgICAgICAgICAgICBtZXNzYWdlOiBkb3dubG9hZGluZyxcbiAgICAgICAgICAgICAgICAgIGVycm9yOiBudWxsXG4gICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgICB9XG4gICAgICAgICAgICB9O1xuICAgICAgICAgIH0pO1xuICAgICAgICB9KTtcbiAgICAgICAgdGhpcy5zZXRTdGF0ZShcbiAgICAgICAgICB7XG4gICAgICAgICAgICBmaWxlczogW2ZpbGVdLFxuICAgICAgICAgICAgZXJyb3JGaWxlczogW10sXG4gICAgICAgICAgICBkcmFnT3ZlcjogZmFsc2VcbiAgICAgICAgICB9LFxuICAgICAgICAgICgpID0+IHRoaXMucHJvcHMub25GaWxlVXBsb2FkKFtmaWxlXSlcbiAgICAgICAgKTtcbiAgICAgIH0gY2F0Y2ggKGVycm9yKSB7XG4gICAgICAgIHRoaXMuc2V0U3RhdGUoe1xuICAgICAgICAgIHJlbW90ZUxvYWRpbmc6IGZhbHNlLFxuICAgICAgICAgIHJlbW90ZVByb2dyZXNzOiB7fSxcbiAgICAgICAgICByZW1vdGVFcnJvcjoge1xuICAgICAgICAgICAgbWVzc2FnZTogZXJyb3IgaW5zdGFuY2VvZiBFcnJvciA/IGVycm9yLm1lc3NhZ2UgOiBgRmFpbGVkIHRvIGxvYWQgJHtyZW1vdGVVcmx9YFxuICAgICAgICAgIH1cbiAgICAgICAgfSk7XG4gICAgICB9XG4gICAgfTtcblxuICAgIHJlbmRlcigpIHtcbiAgICAgIGNvbnN0IHtkcmFnT3ZlciwgZmlsZXMsIGVycm9yRmlsZXMsIHJlbW90ZVVybCwgcmVtb3RlRm9ybWF0LCByZW1vdGVFcnJvciwgcmVtb3RlTG9hZGluZywgcmVtb3RlUHJvZ3Jlc3N9ID1cbiAgICAgICAgdGhpcy5zdGF0ZTtcbiAgICAgIGNvbnN0IHtmaWxlTG9hZGluZywgZmlsZUxvYWRpbmdQcm9ncmVzcywgdGhlbWUsIGludGx9ID0gdGhpcy5wcm9wcztcbiAgICAgIGNvbnN0IHtmaWxlRXh0ZW5zaW9ucyA9IFtdLCBmaWxlRm9ybWF0TmFtZXMgPSBbXX0gPSB0aGlzLnByb3BzO1xuICAgICAgY29uc3Qgc2hvd0Zvcm1hdFNlbGVjdG9yID0gZ2V0QXBwbGljYXRpb25Db25maWcoKS5lbmFibGVSZW1vdGVGaWxlRm9ybWF0U2VsZWN0b3I7XG4gICAgICBjb25zdCBmaWxlVXBsb2FkSW5mb1RleHQgPSBgJHtpbnRsLmZvcm1hdE1lc3NhZ2UoXG4gICAgICAgIHtcbiAgICAgICAgICBpZDogJ2ZpbGVVcGxvYWRlci5jb25maWdVcGxvYWRNZXNzYWdlJ1xuICAgICAgICB9LFxuICAgICAgICB7XG4gICAgICAgICAgZmlsZUZvcm1hdE5hbWVzOiBmaWxlRm9ybWF0TmFtZXMubWFwKGZvcm1hdCA9PiBgKioke2Zvcm1hdH0qKmApLmpvaW4oJywgJylcbiAgICAgICAgfVxuICAgICAgKX0oJHtHVUlERVNfRklMRV9GT1JNQVRfRE9DfSkuYDtcbiAgICAgIHJldHVybiAoXG4gICAgICAgIDxTdHlsZWRGaWxlVXBsb2FkIGNsYXNzTmFtZT1cImZpbGUtdXBsb2FkZXJcIiByZWY9e3RoaXMuZnJhbWV9PlxuICAgICAgICAgIHtGaWxlRHJvcCA/IChcbiAgICAgICAgICAgIDxGaWxlRHJvcFxuICAgICAgICAgICAgICBmcmFtZT17dGhpcy5mcmFtZS5jdXJyZW50IHx8IGRvY3VtZW50fVxuICAgICAgICAgICAgICBvbkRyYWdPdmVyPXsoKSA9PiB0aGlzLl90b2dnbGVEcmFnU3RhdGUodHJ1ZSl9XG4gICAgICAgICAgICAgIG9uRHJhZ0xlYXZlPXsoKSA9PiB0aGlzLl90b2dnbGVEcmFnU3RhdGUoZmFsc2UpfVxuICAgICAgICAgICAgICBvbkRyb3A9e3RoaXMuX2hhbmRsZUZpbGVJbnB1dH1cbiAgICAgICAgICAgICAgY2xhc3NOYW1lPVwiZmlsZS11cGxvYWRlcl9fZmlsZS1kcm9wXCJcbiAgICAgICAgICAgID5cbiAgICAgICAgICAgICAgPFN0eWxlZFVwbG9hZE1lc3NhZ2UgY2xhc3NOYW1lPVwiZmlsZS11cGxvYWRfX21lc3NhZ2VcIj5cbiAgICAgICAgICAgICAgICA8TWFya2Rvd25cbiAgICAgICAgICAgICAgICAgIG9wdGlvbnM9e3tcbiAgICAgICAgICAgICAgICAgICAgb3ZlcnJpZGVzOiB7XG4gICAgICAgICAgICAgICAgICAgICAgYToge1xuICAgICAgICAgICAgICAgICAgICAgICAgY29tcG9uZW50OiBMaW5rUmVuZGVyZXJcbiAgICAgICAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgICAgICAgIH19XG4gICAgICAgICAgICAgICAgPlxuICAgICAgICAgICAgICAgICAge2ZpbGVVcGxvYWRJbmZvVGV4dH1cbiAgICAgICAgICAgICAgICA8L01hcmtkb3duPlxuICAgICAgICAgICAgICA8L1N0eWxlZFVwbG9hZE1lc3NhZ2U+XG4gICAgICAgICAgICAgIDxTdHlsZWRGaWxlRHJvcCAkZHJhZ092ZXI9e2RyYWdPdmVyfT5cbiAgICAgICAgICAgICAgICA8U3R5bGVkRHJvcEJvZHk+XG4gICAgICAgICAgICAgICAgICA8U3R5bGVkRmlsZVR5cGVGb3cgY2xhc3NOYW1lPVwiZmlsZS10eXBlLXJvd1wiPlxuICAgICAgICAgICAgICAgICAgICB7ZmlsZUV4dGVuc2lvbnMubWFwKGV4dCA9PiAoXG4gICAgICAgICAgICAgICAgICAgICAgPEZpbGVUeXBlIGtleT17ZXh0fSBleHQ9e2V4dH0gaGVpZ2h0PVwiNTBweFwiIGZvbnRTaXplPVwiOXB4XCIgLz5cbiAgICAgICAgICAgICAgICAgICAgKSl9XG4gICAgICAgICAgICAgICAgICA8L1N0eWxlZEZpbGVUeXBlRm93PlxuICAgICAgICAgICAgICAgICAge2ZpbGVMb2FkaW5nIHx8IHJlbW90ZUxvYWRpbmcgPyAoXG4gICAgICAgICAgICAgICAgICAgIDxGaWxlVXBsb2FkUHJvZ3Jlc3NcbiAgICAgICAgICAgICAgICAgICAgICBmaWxlTG9hZGluZ1Byb2dyZXNzPXtnZXRDb21iaW5lZExvYWRQcm9ncmVzcyh7XG4gICAgICAgICAgICAgICAgICAgICAgICBmaWxlTG9hZGluZyxcbiAgICAgICAgICAgICAgICAgICAgICAgIGZpbGVMb2FkaW5nUHJvZ3Jlc3MsXG4gICAgICAgICAgICAgICAgICAgICAgICByZW1vdGVQcm9ncmVzc1xuICAgICAgICAgICAgICAgICAgICAgIH0pfVxuICAgICAgICAgICAgICAgICAgICAgIHRoZW1lPXt0aGVtZX1cbiAgICAgICAgICAgICAgICAgICAgLz5cbiAgICAgICAgICAgICAgICAgICkgOiAoXG4gICAgICAgICAgICAgICAgICAgIDw+XG4gICAgICAgICAgICAgICAgICAgICAgPFN0eWxlZERyYWdORHJvcEljb25cbiAgICAgICAgICAgICAgICAgICAgICAgIHN0eWxlPXt7b3BhY2l0eTogZHJhZ092ZXIgPyAwLjUgOiAxfX1cbiAgICAgICAgICAgICAgICAgICAgICAgIGNsYXNzTmFtZT1cImZpbGUtdXBsb2FkLWRpc3BsYXktbWVzc2FnZVwiXG4gICAgICAgICAgICAgICAgICAgICAgPlxuICAgICAgICAgICAgICAgICAgICAgICAgPERyYWdORHJvcCBoZWlnaHQ9XCIzNnB4XCIgLz5cbiAgICAgICAgICAgICAgICAgICAgICAgIHtlcnJvckZpbGVzLmxlbmd0aCA/IChcbiAgICAgICAgICAgICAgICAgICAgICAgICAgPFdhcm5pbmdNc2c+XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgPEZvcm1hdHRlZE1lc3NhZ2VcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGlkPXsnZmlsZVVwbG9hZGVyLmZpbGVOb3RTdXBwb3J0ZWQnfVxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgdmFsdWVzPXt7ZXJyb3JGaWxlczogZXJyb3JGaWxlcy5qb2luKCcsICcpfX1cbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAvPlxuICAgICAgICAgICAgICAgICAgICAgICAgICA8L1dhcm5pbmdNc2c+XG4gICAgICAgICAgICAgICAgICAgICAgICApIDogbnVsbH1cbiAgICAgICAgICAgICAgICAgICAgICA8L1N0eWxlZERyYWdORHJvcEljb24+XG4gICAgICAgICAgICAgICAgICAgICAgeyFmaWxlcy5sZW5ndGggPyAoXG4gICAgICAgICAgICAgICAgICAgICAgICA8U3R5bGVkRHJhZ0ZpbGVXcmFwcGVyPlxuICAgICAgICAgICAgICAgICAgICAgICAgICA8U3R5bGVkQWN0aW9uTGluZT5cbiAgICAgICAgICAgICAgICAgICAgICAgICAgICA8Rm9ybWF0dGVkTWVzc2FnZVxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgaWQ9eydmaWxlVXBsb2FkZXIuZHJvcE1lc3NhZ2UnfVxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgdmFsdWVzPXt7XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGJyb3dzZTogKFxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxVcGxvYWRCdXR0b24ga2V5PVwiYnJvd3NlXCIgb25VcGxvYWQ9e3RoaXMuX2hhbmRsZUZpbGVJbnB1dH0+XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB7aW50bC5mb3JtYXRNZXNzYWdlKHtpZDogJ2ZpbGVVcGxvYWRlci5icm93c2VGaWxlcyd9KX1cbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8L1VwbG9hZEJ1dHRvbj5cbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKVxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgfX1cbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAvPlxuICAgICAgICAgICAgICAgICAgICAgICAgICA8L1N0eWxlZEFjdGlvbkxpbmU+XG4gICAgICAgICAgICAgICAgICAgICAgICAgIDxTdHlsZWRSZW1vdGVVcmxGb3JtXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgY2xhc3NOYW1lPVwiZmlsZS11cGxvYWRlcl9fcmVtb3RlLXVybFwiXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgb25DbGljaz17ZXZlbnQgPT4gZXZlbnQuc3RvcFByb3BhZ2F0aW9uKCl9XG4gICAgICAgICAgICAgICAgICAgICAgICAgID5cbiAgICAgICAgICAgICAgICAgICAgICAgICAgICA8U3R5bGVkUmVtb3RlVXJsUm93PlxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPFN0eWxlZFJlbW90ZVVybElucHV0XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHR5cGU9XCJ1cmxcIlxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB2YWx1ZT17cmVtb3RlVXJsfVxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBhcmlhLWxhYmVsPXtpbnRsLmZvcm1hdE1lc3NhZ2Uoe1xuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGlkOiAnZmlsZVVwbG9hZGVyLnVybFBsYWNlaG9sZGVyJ1xuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB9KX1cbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgcGxhY2Vob2xkZXI9e2ludGwuZm9ybWF0TWVzc2FnZSh7XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgaWQ6ICdmaWxlVXBsb2FkZXIudXJsUGxhY2Vob2xkZXInXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIH0pfVxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBvbkNoYW5nZT17dGhpcy5fb25SZW1vdGVVcmxDaGFuZ2V9XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIG9uS2V5RG93bj17dGhpcy5fb25SZW1vdGVVcmxLZXlEb3dufVxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBkaXNhYmxlZD17cmVtb3RlTG9hZGluZ31cbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIC8+XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICB7c2hvd0Zvcm1hdFNlbGVjdG9yID8gKFxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8U3R5bGVkUmVtb3RlRm9ybWF0U2VsZWN0XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgYXJpYS1sYWJlbD17aW50bC5mb3JtYXRNZXNzYWdlKHtpZDogJ2ZpbGVVcGxvYWRlci5mb3JtYXQnfSl9XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgdmFsdWU9e3JlbW90ZUZvcm1hdH1cbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBvbkNoYW5nZT17dGhpcy5fb25SZW1vdGVGb3JtYXRDaGFuZ2V9XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgZGlzYWJsZWQ9e3JlbW90ZUxvYWRpbmd9XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgID5cbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB7UkVNT1RFX0ZJTEVfRk9STUFUUy5tYXAoZm9ybWF0ID0+IChcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxvcHRpb24ga2V5PXtmb3JtYXR9IHZhbHVlPXtmb3JtYXR9PlxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB7Zm9ybWF0ID09PSAnYXV0bydcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA/IGludGwuZm9ybWF0TWVzc2FnZSh7aWQ6ICdmaWxlVXBsb2FkZXIuZm9ybWF0QXV0byd9KVxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDogZm9ybWF0LnRvVXBwZXJDYXNlKCl9XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8L29wdGlvbj5cbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICApKX1cbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPC9TdHlsZWRSZW1vdGVGb3JtYXRTZWxlY3Q+XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICApIDogbnVsbH1cbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxTdHlsZWRSZW1vdGVGZXRjaEJ1dHRvblxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB0eXBlPVwiYnV0dG9uXCJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgY3RhXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHNtYWxsXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGRpc2FibGVkPXshcmVtb3RlVXJsIHx8IHJlbW90ZUxvYWRpbmd9XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIG9uQ2xpY2s9e3RoaXMuX2hhbmRsZUxvYWRSZW1vdGVGaWxlfVxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPlxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8Rm9ybWF0dGVkTWVzc2FnZSBpZD17J2ZpbGVVcGxvYWRlci5mZXRjaCd9IC8+XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8L1N0eWxlZFJlbW90ZUZldGNoQnV0dG9uPlxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvU3R5bGVkUmVtb3RlVXJsUm93PlxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIHtyZW1vdGVFcnJvciA/IDxXYXJuaW5nTXNnPntyZW1vdGVFcnJvci5tZXNzYWdlfTwvV2FybmluZ01zZz4gOiBudWxsfVxuICAgICAgICAgICAgICAgICAgICAgICAgICA8L1N0eWxlZFJlbW90ZVVybEZvcm0+XG4gICAgICAgICAgICAgICAgICAgICAgICA8L1N0eWxlZERyYWdGaWxlV3JhcHBlcj5cbiAgICAgICAgICAgICAgICAgICAgICApIDogbnVsbH1cbiAgICAgICAgICAgICAgICAgICAgPC8+XG4gICAgICAgICAgICAgICAgICApfVxuICAgICAgICAgICAgICAgIDwvU3R5bGVkRHJvcEJvZHk+XG4gICAgICAgICAgICAgICAge2ZpbGVMb2FkaW5nIHx8IHJlbW90ZUxvYWRpbmcgPyBudWxsIDogKFxuICAgICAgICAgICAgICAgICAgPFN0eWxlZERpc2NsYWltZXI+XG4gICAgICAgICAgICAgICAgICAgIDxGb3JtYXR0ZWRNZXNzYWdlIGlkPXsnZmlsZVVwbG9hZGVyLmRpc2NsYWltZXInfSAvPlxuICAgICAgICAgICAgICAgICAgPC9TdHlsZWREaXNjbGFpbWVyPlxuICAgICAgICAgICAgICAgICl9XG4gICAgICAgICAgICAgIDwvU3R5bGVkRmlsZURyb3A+XG4gICAgICAgICAgICA8L0ZpbGVEcm9wPlxuICAgICAgICAgICkgOiBudWxsfVxuXG4gICAgICAgICAgPFdhcm5pbmdNc2c+XG4gICAgICAgICAgICB7aXNDaHJvbWUoKSA/IDxGb3JtYXR0ZWRNZXNzYWdlIGlkPXsnZmlsZVVwbG9hZGVyLmNocm9tZU1lc3NhZ2UnfSAvPiA6ICcnfVxuICAgICAgICAgIDwvV2FybmluZ01zZz5cbiAgICAgICAgPC9TdHlsZWRGaWxlVXBsb2FkPlxuICAgICAgKTtcbiAgICB9XG4gIH1cblxuICByZXR1cm4gaW5qZWN0SW50bChGaWxlVXBsb2FkKTtcbn1cblxuZXhwb3J0IGRlZmF1bHQgRmlsZVVwbG9hZEZhY3Rvcnk7XG5leHBvcnQgY29uc3QgRmlsZVVwbG9hZCA9IEZpbGVVcGxvYWRGYWN0b3J5KCk7XG4iXSwibWFwcGluZ3MiOiI7Ozs7Ozs7Ozs7Ozs7Ozs7OztBQUFBO0FBQ0E7O0FBRUEsT0FBT0EsS0FBSyxJQUFHQyxTQUFTLEVBQUVDLFNBQVMsUUFBTyxPQUFPO0FBQ2pELE9BQU9DLE1BQU0sTUFBTSxtQkFBbUI7QUFDdEMsU0FBUUMsVUFBVSxRQUE4QixZQUFZO0FBQzVELE9BQU9DLFlBQVksTUFBTSxpQkFBaUI7QUFDMUMsU0FBUUMsU0FBUyxFQUFFQyxRQUFRLFFBQU8sVUFBVTtBQUM1QyxPQUFPQyxrQkFBa0IsTUFBTSx3QkFBd0I7QUFDdkQsT0FBT0MsUUFBUSxNQUFNLGFBQWE7QUFHbEMsU0FBUUMsc0JBQXNCLEVBQUVD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
|
|
445
|
+
//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJuYW1lcyI6WyJSZWFjdCIsIkNvbXBvbmVudCIsImNyZWF0ZVJlZiIsInN0eWxlZCIsImluamVjdEludGwiLCJVcGxvYWRCdXR0b24iLCJEcmFnTkRyb3AiLCJGaWxlVHlwZSIsIkZpbGVVcGxvYWRQcm9ncmVzcyIsIkZpbGVEcm9wIiwiR1VJREVTX0ZJTEVfRk9STUFUX0RPQyIsIlJFTU9URV9GSUxFX0ZPUk1BVFMiLCJGb3JtYXR0ZWRNZXNzYWdlIiwiZmV0Y2hSZW1vdGVGaWxlQXNLZXBsZXJGaWxlIiwiZ2V0RmlsZU5hbWVGb3JSZW1vdGVVcmwiLCJpc1JlbW90ZURhdGFzZXRVcmwiLCJtZWRpYSIsImlzQ2hyb21lIiwiZ2V0QXBwbGljYXRpb25Db25maWciLCJNYXJrZG93biIsIkJ1dHRvbiIsIklucHV0TGlnaHQiLCJMaW5rUmVuZGVyZXIiLCJmaWxlSWNvbkNvbG9yIiwiU3R5bGVkVXBsb2FkTWVzc2FnZSIsImRpdiIsIl90ZW1wbGF0ZU9iamVjdCIsIl90YWdnZWRUZW1wbGF0ZUxpdGVyYWwiLCJwcm9wcyIsInRoZW1lIiwidGV4dENvbG9yTFQiLCJwb3J0YWJsZSIsIl90ZW1wbGF0ZU9iamVjdDIiLCJXYXJuaW5nTXNnIiwic3BhbiIsIl90ZW1wbGF0ZU9iamVjdDMiLCJlcnJvckNvbG9yIiwiU3R5bGVkRmlsZURyb3AiLCJfdGVtcGxhdGVPYmplY3Q0IiwiJGRyYWdPdmVyIiwic3VidGV4dENvbG9yTFQiLCJfdGVtcGxhdGVPYmplY3Q1IiwiU3R5bGVkRHJvcEJvZHkiLCJfdGVtcGxhdGVPYmplY3Q2IiwiU3R5bGVkQWN0aW9uTGluZSIsIl90ZW1wbGF0ZU9iamVjdDciLCJtb2RhbFRpdGxlQ29sb3IiLCJsaW5rQnRuQ29sb3IiLCJTdHlsZWREcmFnTkRyb3BJY29uIiwiX3RlbXBsYXRlT2JqZWN0OCIsIlN0eWxlZEZpbGVUeXBlRm93IiwiX3RlbXBsYXRlT2JqZWN0OSIsIlN0eWxlZEZpbGVVcGxvYWQiLCJfdGVtcGxhdGVPYmplY3QwIiwiU3R5bGVkTWVzc2FnZSIsIl90ZW1wbGF0ZU9iamVjdDEiLCJTdHlsZWREcmFnRmlsZVdyYXBwZXIiLCJfdGVtcGxhdGVPYmplY3QxMCIsIlN0eWxlZERpc2NsYWltZXIiLCJfdGVtcGxhdGVPYmplY3QxMSIsIlN0eWxlZFJlbW90ZVVybEZvcm0iLCJfdGVtcGxhdGVPYmplY3QxMiIsIlN0eWxlZFJlbW90ZVVybFJvdyIsIl90ZW1wbGF0ZU9iamVjdDEzIiwiU3R5bGVkUmVtb3RlVXJsSW5wdXQiLCJfdGVtcGxhdGVPYmplY3QxNCIsIlN0eWxlZFJlbW90ZUZvcm1hdFNlbGVjdCIsInNlbGVjdCIsIl90ZW1wbGF0ZU9iamVjdDE1IiwiaW5wdXRMVCIsIlN0eWxlZFJlbW90ZUZldGNoQnV0dG9uIiwiX3RlbXBsYXRlT2JqZWN0MTYiLCJSRU1PVEVfRE9XTkxPQURfU0hBUkUiLCJzY2FsZUZpbGVQcm9ncmVzcyIsInByb2dyZXNzIiwic3RhcnQiLCJlbmQiLCJPYmplY3QiLCJrZXlzIiwicmVkdWNlIiwiYWNjdSIsImtleSIsIml0ZW0iLCJfb2JqZWN0U3ByZWFkIiwicGVyY2VudCIsImdldENvbWJpbmVkTG9hZFByb2dyZXNzIiwiX3JlZiIsImZpbGVMb2FkaW5nIiwiZmlsZUxvYWRpbmdQcm9ncmVzcyIsInJlbW90ZVByb2dyZXNzIiwiaXNSZW1vdGVGZXRjaCIsImxlbmd0aCIsIkZpbGVVcGxvYWRGYWN0b3J5IiwiRmlsZVVwbG9hZCIsIl9Db21wb25lbnQiLCJfdGhpcyIsIl9jbGFzc0NhbGxDaGVjayIsIl9sZW4iLCJhcmd1bWVudHMiLCJhcmdzIiwiQXJyYXkiLCJfa2V5IiwiX2NhbGxTdXBlciIsImNvbmNhdCIsIl9kZWZpbmVQcm9wZXJ0eSIsImRyYWdPdmVyIiwiZmlsZXMiLCJlcnJvckZpbGVzIiwicmVtb3RlVXJsIiwicmVtb3RlRm9ybWF0IiwicmVtb3RlRXJyb3IiLCJyZW1vdGVMb2FkaW5nIiwiZmlsZW5hbWUiLCJfdGhpcyRwcm9wcyRmaWxlRXh0ZW4iLCJmaWxlRXh0ZW5zaW9ucyIsImZpbGVFeHQiLCJmaW5kIiwiZXh0IiwiZW5kc1dpdGgiLCJCb29sZWFuIiwiZmlsZUxpc3QiLCJldmVudCIsInN0b3BQcm9wYWdhdGlvbiIsIl90b0NvbnN1bWFibGVBcnJheSIsImZpbHRlciIsIl90aGlzJHByb3BzJGRpc2FibGVFeCIsImRpc2FibGVFeHRlbnNpb25GaWx0ZXIiLCJmaWxlc1RvTG9hZCIsIl9pdGVyYXRvciIsIl9jcmVhdGVGb3JPZkl0ZXJhdG9ySGVscGVyIiwiX3N0ZXAiLCJzIiwibiIsImRvbmUiLCJmaWxlIiwidmFsdWUiLCJfaXNWYWxpZEZpbGVUeXBlIiwibmFtZSIsInB1c2giLCJlcnIiLCJlIiwiZiIsIm5leHRTdGF0ZSIsInNldFN0YXRlIiwib25GaWxlVXBsb2FkIiwibmV3U3RhdGUiLCJ0YXJnZXQiLCJtZXNzYWdlIiwicHJldmVudERlZmF1bHQiLCJfaGFuZGxlTG9hZFJlbW90ZUZpbGUiLCJfYXN5bmNUb0dlbmVyYXRvciIsIl9yZWdlbmVyYXRvclJ1bnRpbWUiLCJtYXJrIiwiX2NhbGxlZSIsIl90aGlzJHN0YXRlIiwiaW50bCIsInNob3dGb3JtYXRTZWxlY3RvciIsImZvcm1hdCIsImZpbGVOYW1lIiwiZG93bmxvYWRpbmciLCJsYXN0VXBkYXRlIiwid3JhcCIsIl9jYWxsZWUkIiwiX2NvbnRleHQiLCJwcmV2IiwibmV4dCIsInN0YXRlIiwiZW5hYmxlUmVtb3RlRmlsZUZvcm1hdFNlbGVjdG9yIiwidW5kZWZpbmVkIiwiYWJydXB0IiwiZm9ybWF0TWVzc2FnZSIsImlkIiwiZXJyb3IiLCJfcmVmMyIsIm5vdyIsIkRhdGUiLCJzZW50IiwidDAiLCJFcnJvciIsInN0b3AiLCJfaW5oZXJpdHMiLCJfY3JlYXRlQ2xhc3MiLCJyZW5kZXIiLCJfdGhpczIiLCJfdGhpcyRzdGF0ZTIiLCJfdGhpcyRwcm9wcyIsIl90aGlzJHByb3BzMiIsIl90aGlzJHByb3BzMiRmaWxlRXh0ZSIsIl90aGlzJHByb3BzMiRmaWxlRm9ybSIsImZpbGVGb3JtYXROYW1lcyIsImZpbGVVcGxvYWRJbmZvVGV4dCIsIm1hcCIsImpvaW4iLCJjcmVhdGVFbGVtZW50IiwiY2xhc3NOYW1lIiwicmVmIiwiZnJhbWUiLCJjdXJyZW50IiwiZG9jdW1lbnQiLCJvbkRyYWdPdmVyIiwiX3RvZ2dsZURyYWdTdGF0ZSIsIm9uRHJhZ0xlYXZlIiwib25Ecm9wIiwiX2hhbmRsZUZpbGVJbnB1dCIsIm9wdGlvbnMiLCJvdmVycmlkZXMiLCJhIiwiY29tcG9uZW50IiwiaGVpZ2h0IiwiZm9udFNpemUiLCJGcmFnbWVudCIsInN0eWxlIiwib3BhY2l0eSIsInZhbHVlcyIsImJyb3dzZSIsIm9uVXBsb2FkIiwib25DbGljayIsInR5cGUiLCJwbGFjZWhvbGRlciIsIm9uQ2hhbmdlIiwiX29uUmVtb3RlVXJsQ2hhbmdlIiwib25LZXlEb3duIiwiX29uUmVtb3RlVXJsS2V5RG93biIsImRpc2FibGVkIiwiX29uUmVtb3RlRm9ybWF0Q2hhbmdlIiwidG9VcHBlckNhc2UiLCJjdGEiLCJzbWFsbCIsImdldERlcml2ZWRTdGF0ZUZyb21Qcm9wcyJdLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uL3NyYy9jb21tb24vZmlsZS11cGxvYWRlci9maWxlLXVwbG9hZC50c3giXSwic291cmNlc0NvbnRlbnQiOlsiLy8gU1BEWC1MaWNlbnNlLUlkZW50aWZpZXI6IE1JVFxuLy8gQ29weXJpZ2h0IGNvbnRyaWJ1dG9ycyB0byB0aGUga2VwbGVyLmdsIHByb2plY3RcblxuaW1wb3J0IFJlYWN0LCB7Q29tcG9uZW50LCBjcmVhdGVSZWZ9IGZyb20gJ3JlYWN0JztcbmltcG9ydCBzdHlsZWQgZnJvbSAnc3R5bGVkLWNvbXBvbmVudHMnO1xuaW1wb3J0IHtpbmplY3RJbnRsLCBXcmFwcGVkQ29tcG9uZW50UHJvcHN9IGZyb20gJ3JlYWN0LWludGwnO1xuaW1wb3J0IFVwbG9hZEJ1dHRvbiBmcm9tICcuL3VwbG9hZC1idXR0b24nO1xuaW1wb3J0IHtEcmFnTkRyb3AsIEZpbGVUeXBlfSBmcm9tICcuLi9pY29ucyc7XG5pbXBvcnQgRmlsZVVwbG9hZFByb2dyZXNzIGZyb20gJy4vZmlsZS11cGxvYWQtcHJvZ3Jlc3MnO1xuaW1wb3J0IEZpbGVEcm9wIGZyb20gJy4vZmlsZS1kcm9wJztcbmltcG9ydCB7RmlsZUxvYWRpbmcsIEZpbGVMb2FkaW5nUHJvZ3Jlc3N9IGZyb20gJ0BrZXBsZXIuZ2wvdHlwZXMnO1xuXG5pbXBvcnQge0dVSURFU19GSUxFX0ZPUk1BVF9ET0MsIFJFTU9URV9GSUxFX0ZPUk1BVFN9IGZyb20gJ0BrZXBsZXIuZ2wvY29uc3RhbnRzJztcbmltcG9ydCB7Rm9ybWF0dGVkTWVzc2FnZX0gZnJvbSAnQGtlcGxlci5nbC9sb2NhbGl6YXRpb24nO1xuaW1wb3J0IHtcbiAgZmV0Y2hSZW1vdGVGaWxlQXNLZXBsZXJGaWxlLFxuICBnZXRGaWxlTmFtZUZvclJlbW90ZVVybCxcbiAgaXNSZW1vdGVEYXRhc2V0VXJsXG59IGZyb20gJ0BrZXBsZXIuZ2wvcHJvY2Vzc29ycyc7XG5pbXBvcnQge21lZGlhfSBmcm9tICdAa2VwbGVyLmdsL3N0eWxlcyc7XG5pbXBvcnQge2lzQ2hyb21lLCBnZXRBcHBsaWNhdGlvbkNvbmZpZ30gZnJvbSAnQGtlcGxlci5nbC91dGlscyc7XG5pbXBvcnQgTWFya2Rvd24gZnJvbSAnbWFya2Rvd24tdG8tanN4JztcblxuaW1wb3J0IHtCdXR0b24sIElucHV0TGlnaHR9IGZyb20gJy4uL3N0eWxlZC1jb21wb25lbnRzJztcbmltcG9ydCBMaW5rUmVuZGVyZXIgZnJvbSAnLi4vbGluay1yZW5kZXJlcic7XG5cbmNvbnN0IGZpbGVJY29uQ29sb3IgPSAnI0QzRDhFMCc7XG5cbmNvbnN0IFN0eWxlZFVwbG9hZE1lc3NhZ2UgPSBzdHlsZWQuZGl2YFxuICBjb2xvcjogJHtwcm9wcyA9PiBwcm9wcy50aGVtZS50ZXh0Q29sb3JMVH07XG4gIGZvbnQtc2l6ZTogMTRweDtcbiAgbWFyZ2luLWJvdHRvbTogMTJweDtcblxuICAke21lZGlhLnBvcnRhYmxlYFxuICAgIGZvbnQtc2l6ZTogMTJweDtcbiAgYH07XG5gO1xuXG5leHBvcnQgY29uc3QgV2FybmluZ01zZyA9IHN0eWxlZC5zcGFuYFxuICBtYXJnaW4tdG9wOiAxMHB4O1xuICBjb2xvcjogJHtwcm9wcyA9PiBwcm9wcy50aGVtZS5lcnJvckNvbG9yfTtcbiAgZm9udC13ZWlnaHQ6IDUwMDtcbmA7XG5cbmludGVyZmFjZSBTdHlsZWRGaWxlRHJvcFByb3BzIHtcbiAgJGRyYWdPdmVyPzogYm9vbGVhbjtcbn1cblxuY29uc3QgU3R5bGVkRmlsZURyb3AgPSBzdHlsZWQuZGl2PFN0eWxlZEZpbGVEcm9wUHJvcHM+YFxuICBiYWNrZ3JvdW5kLWNvbG9yOiB3aGl0ZTtcbiAgYm9yZGVyLXJhZGl1czogNHB4O1xuICBib3JkZXItc3R5bGU6ICR7cHJvcHMgPT4gKHByb3BzLiRkcmFnT3ZlciA/ICdzb2xpZCcgOiAnZGFzaGVkJyl9O1xuICBib3JkZXItd2lkdGg6IDFweDtcbiAgYm9yZGVyLWNvbG9yOiAke3Byb3BzID0+XG4gICAgcHJvcHMuJGRyYWdPdmVyID8gcHJvcHMudGhlbWUudGV4dENvbG9yTFQgOiBwcm9wcy50aGVtZS5zdWJ0ZXh0Q29sb3JMVH07XG4gIHRleHQtYWxpZ246IGNlbnRlcjtcbiAgd2lkdGg6IDEwMCU7XG4gIG1pbi1oZWlnaHQ6IDM2MHB4O1xuICBwYWRkaW5nOiAyNHB4IDEycHggMTZweDtcbiAgZGlzcGxheTogZmxleDtcbiAgZmxleC1kaXJlY3Rpb246IGNvbHVtbjtcbiAgYWxpZ24taXRlbXM6IGNlbnRlcjtcblxuICAuZmlsZS10eXBlLXJvdyB7XG4gICAgb3BhY2l0eTogMC41O1xuICB9XG4gICR7bWVkaWEucG9ydGFibGVgXG4gICAgcGFkZGluZzogMTZweCA4cHggMTJweDtcbiAgICBtaW4taGVpZ2h0OiAyODBweDtcbiAgYH07XG5gO1xuXG5jb25zdCBTdHlsZWREcm9wQm9keSA9IHN0eWxlZC5kaXZgXG4gIGZsZXg6IDE7XG4gIHdpZHRoOiAxMDAlO1xuICBkaXNwbGF5OiBmbGV4O1xuICBmbGV4LWRpcmVjdGlvbjogY29sdW1uO1xuICBhbGlnbi1pdGVtczogY2VudGVyO1xuICBqdXN0aWZ5LWNvbnRlbnQ6IHNwYWNlLWV2ZW5seTtcbmA7XG5cbmNvbnN0IFN0eWxlZEFjdGlvbkxpbmUgPSBzdHlsZWQuZGl2YFxuICBjb2xvcjogJHtwcm9wcyA9PiBwcm9wcy50aGVtZS5tb2RhbFRpdGxlQ29sb3J9O1xuICBmb250LXNpemU6IDE0cHg7XG4gIGZvbnQtd2VpZ2h0OiA2MDA7XG4gIGxpbmUtaGVpZ2h0OiAyMHB4O1xuXG4gIC51cGxvYWQtYnV0dG9uIHtcbiAgICBmb250LXNpemU6IDE0cHg7XG4gICAgZm9udC13ZWlnaHQ6IDYwMDtcbiAgICBjb2xvcjogJHtwcm9wcyA9PiBwcm9wcy50aGVtZS5saW5rQnRuQ29sb3J9O1xuICAgIHRleHQtZGVjb3JhdGlvbjogbm9uZTtcbiAgfVxuYDtcblxuY29uc3QgU3R5bGVkRHJhZ05Ecm9wSWNvbiA9IHN0eWxlZC5kaXZgXG4gIGNvbG9yOiAke2ZpbGVJY29uQ29sb3J9O1xuICBkaXNwbGF5OiBmbGV4O1xuICBmbGV4LWRpcmVjdGlvbjogY29sdW1uO1xuICBhbGlnbi1pdGVtczogY2VudGVyO1xuICBqdXN0aWZ5LWNvbnRlbnQ6IGNlbnRlcjtcbmA7XG5cbmNvbnN0IFN0eWxlZEZpbGVUeXBlRm93ID0gc3R5bGVkLmRpdmBcbiAgd2lkdGg6IDEwMCU7XG5gO1xuXG5jb25zdCBTdHlsZWRGaWxlVXBsb2FkID0gc3R5bGVkLmRpdmBcbiAgLmZpbGUtZHJvcCB7XG4gICAgcG9zaXRpb246IHJlbGF0aXZlO1xuICB9XG5gO1xuXG5jb25zdCBTdHlsZWRNZXNzYWdlID0gc3R5bGVkLmRpdmBcbiAgZGlzcGxheTogZmxleDtcbiAganVzdGlmeS1jb250ZW50OiBjZW50ZXI7XG4gIGFsaWduLWl0ZW1zOiBjZW50ZXI7XG4gIG1hcmdpbi1ib3R0b206IDMycHg7XG5cbiAgLmxvYWRpbmctYWN0aW9uIHtcbiAgICBtYXJnaW4tcmlnaHQ6IDEwcHg7XG4gIH1cbiAgLmxvYWRpbmctc3Bpbm5lciB7XG4gICAgbWFyZ2luLWxlZnQ6IDEwcHg7XG4gIH1cbmA7XG5cbmNvbnN0IFN0eWxlZERyYWdGaWxlV3JhcHBlciA9IHN0eWxlZC5kaXZgXG4gIGRpc3BsYXk6IGZsZXg7XG4gIGZsZXgtZGlyZWN0aW9uOiBjb2x1bW47XG4gIGFsaWduLWl0ZW1zOiBjZW50ZXI7XG4gIHdpZHRoOiAxMDAlO1xuYDtcblxuY29uc3QgU3R5bGVkRGlzY2xhaW1lciA9IHN0eWxlZChTdHlsZWRNZXNzYWdlKWBcbiAgZmxleC1zaHJpbms6IDA7XG4gIG1hcmdpbjogMTJweCAxMnB4IDA7XG5gO1xuXG5jb25zdCBTdHlsZWRSZW1vdGVVcmxGb3JtID0gc3R5bGVkLmRpdmBcbiAgZGlzcGxheTogZmxleDtcbiAgZmxleC1kaXJlY3Rpb246IGNvbHVtbjtcbiAgYWxpZ24taXRlbXM6IGNlbnRlcjtcbiAgZ2FwOiA0cHg7XG4gIHdpZHRoOiAxMDAlO1xuICBtYXgtd2lkdGg6IDQyMHB4O1xuICBtYXJnaW46IDhweCBhdXRvIDA7XG5gO1xuXG5jb25zdCBTdHlsZWRSZW1vdGVVcmxSb3cgPSBzdHlsZWQuZGl2YFxuICBkaXNwbGF5OiBmbGV4O1xuICBmbGV4LWRpcmVjdGlvbjogcm93O1xuICBnYXA6IDhweDtcbiAgYWxpZ24taXRlbXM6IHN0cmV0Y2g7XG4gIGp1c3RpZnktY29udGVudDogY2VudGVyO1xuICB3aWR0aDogMTAwJTtcbmA7XG5cbmNvbnN0IFN0eWxlZFJlbW90ZVVybElucHV0ID0gc3R5bGVkKElucHV0TGlnaHQpYFxuICBmbGV4OiAxO1xuICBtaW4td2lkdGg6IDA7XG4gIG1heC13aWR0aDogMzAwcHg7XG5gO1xuXG5jb25zdCBTdHlsZWRSZW1vdGVGb3JtYXRTZWxlY3QgPSBzdHlsZWQuc2VsZWN0YFxuICAke3Byb3BzID0+IHByb3BzLnRoZW1lLmlucHV0TFR9O1xuICB3aWR0aDogODhweDtcbiAgZmxleC1zaHJpbms6IDA7XG4gIGhlaWdodDogYXV0bztcbiAgYm94LXNpemluZzogYm9yZGVyLWJveDtcbiAgcGFkZGluZzogMCA2cHg7XG4gIGN1cnNvcjogcG9pbnRlcjtcbmA7XG5cbmNvbnN0IFN0eWxlZFJlbW90ZUZldGNoQnV0dG9uID0gc3R5bGVkKEJ1dHRvbilgXG4gIGhlaWdodDogYXV0bztcbiAgYm94LXNpemluZzogYm9yZGVyLWJveDtcbiAgcGFkZGluZzogMCAxMnB4O1xuICBmbGV4LXNocmluazogMDtcbmA7XG5cbmNvbnN0IFJFTU9URV9ET1dOTE9BRF9TSEFSRSA9IDAuODU7XG5cbmZ1bmN0aW9uIHNjYWxlRmlsZVByb2dyZXNzKFxuICBwcm9ncmVzczogRmlsZUxvYWRpbmdQcm9ncmVzcyxcbiAgc3RhcnQ6IG51bWJlcixcbiAgZW5kOiBudW1iZXJcbik6IEZpbGVMb2FkaW5nUHJvZ3Jlc3Mge1xuICByZXR1cm4gT2JqZWN0LmtleXMocHJvZ3Jlc3MpLnJlZHVjZTxGaWxlTG9hZGluZ1Byb2dyZXNzPigoYWNjdSwga2V5KSA9PiB7XG4gICAgY29uc3QgaXRlbSA9IHByb2dyZXNzW2tleV07XG4gICAgYWNjdVtrZXldID0ge1xuICAgICAgLi4uaXRlbSxcbiAgICAgIHBlcmNlbnQ6IHN0YXJ0ICsgKGl0ZW0ucGVyY2VudCB8fCAwKSAqIChlbmQgLSBzdGFydClcbiAgICB9O1xuICAgIHJldHVybiBhY2N1O1xuICB9LCB7fSk7XG59XG5cbmZ1bmN0aW9uIGdldENvbWJpbmVkTG9hZFByb2dyZXNzKHtcbiAgZmlsZUxvYWRpbmcsXG4gIGZpbGVMb2FkaW5nUHJvZ3Jlc3MsXG4gIHJlbW90ZVByb2dyZXNzXG59OiB7XG4gIGZpbGVMb2FkaW5nOiBGaWxlTG9hZGluZyB8IGZhbHNlO1xuICBmaWxlTG9hZGluZ1Byb2dyZXNzOiBGaWxlTG9hZGluZ1Byb2dyZXNzO1xuICByZW1vdGVQcm9ncmVzczogRmlsZUxvYWRpbmdQcm9ncmVzcztcbn0pOiBGaWxlTG9hZGluZ1Byb2dyZXNzIHtcbiAgY29uc3QgaXNSZW1vdGVGZXRjaCA9IE9iamVjdC5rZXlzKHJlbW90ZVByb2dyZXNzKS5sZW5ndGggPiAwO1xuICBpZiAoIWlzUmVtb3RlRmV0Y2gpIHtcbiAgICByZXR1cm4gZmlsZUxvYWRpbmdQcm9ncmVzcztcbiAgfVxuICBpZiAoZmlsZUxvYWRpbmcpIHtcbiAgICByZXR1cm4gc2NhbGVGaWxlUHJvZ3Jlc3MoZmlsZUxvYWRpbmdQcm9ncmVzcywgUkVNT1RFX0RPV05MT0FEX1NIQVJFLCAxKTtcbiAgfVxuICByZXR1cm4gc2NhbGVGaWxlUHJvZ3Jlc3MocmVtb3RlUHJvZ3Jlc3MsIDAsIFJFTU9URV9ET1dOTE9BRF9TSEFSRSk7XG59XG5cbnR5cGUgRmlsZVVwbG9hZFByb3BzID0ge1xuICBvbkZpbGVVcGxvYWQ6IChmaWxlczogRmlsZVtdKSA9PiB2b2lkO1xuICBmaWxlTG9hZGluZzogRmlsZUxvYWRpbmcgfCBmYWxzZTtcbiAgZmlsZUxvYWRpbmdQcm9ncmVzczogRmlsZUxvYWRpbmdQcm9ncmVzcztcbiAgdGhlbWU6IG9iamVjdDtcbiAgLyoqIEEgbGlzdCBvZiBuYW1lcyBvZiBzdXBwb3J0ZWQgZm9ybWF0cyBzdWl0YWJsZSB0byBwcmVzZW50IHRvIHVzZXIgKi9cbiAgZmlsZUZvcm1hdE5hbWVzPzogc3RyaW5nW107XG4gIC8qKiBBIGxpc3Qgb2YgdHlwaWNhbGx5IDMgbGV0dGVyIGV4dGVuc2lvbnMgKHdpdGhvdXQgJy4nKSBmb3IgZmlsZSBtYXRjaGluZyAqL1xuICBmaWxlRXh0ZW5zaW9ucz86IHN0cmluZ1tdO1xuICAvKiogU2V0IHRvIHRydWUgaWYgYXBwIHdhbnRzIHRvIGRvIGl0cyBvd24gZmlsZSBmaWx0ZXJpbmcgKi9cbiAgZGlzYWJsZUV4dGVuc2lvbkZpbHRlcj86IGJvb2xlYW47XG59ICYgV3JhcHBlZENvbXBvbmVudFByb3BzO1xuXG50eXBlIEZpbGVVcGxvYWRTdGF0ZSA9IHtcbiAgZHJhZ092ZXI6IGJvb2xlYW47XG4gIGZpbGVMb2FkaW5nOiBGaWxlTG9hZGluZyB8IGZhbHNlO1xuICBmaWxlczogRmlsZVtdO1xuICBlcnJvckZpbGVzOiBzdHJpbmdbXTtcbiAgcmVtb3RlVXJsOiBzdHJpbmc7XG4gIHJlbW90ZUZvcm1hdDogc3RyaW5nO1xuICByZW1vdGVFcnJvcjoge21lc3NhZ2U6IHN0cmluZ30gfCBudWxsO1xuICByZW1vdGVMb2FkaW5nOiBib29sZWFuO1xuICByZW1vdGVQcm9ncmVzczogRmlsZUxvYWRpbmdQcm9ncmVzcztcbn07XG5cbmZ1bmN0aW9uIEZpbGVVcGxvYWRGYWN0b3J5KCkge1xuICAvKiogQGF1Z21lbnRzIHtDb21wb25lbnQ8RmlsZVVwbG9hZFByb3BzPn0gKi9cbiAgY2xhc3MgRmlsZVVwbG9hZCBleHRlbmRzIENvbXBvbmVudDxGaWxlVXBsb2FkUHJvcHMsIEZpbGVVcGxvYWRTdGF0ZT4ge1xuICAgIHN0YXRlOiBGaWxlVXBsb2FkU3RhdGUgPSB7XG4gICAgICBkcmFnT3ZlcjogZmFsc2UsXG4gICAgICBmaWxlTG9hZGluZzogZmFsc2UsXG4gICAgICBmaWxlczogW10sXG4gICAgICBlcnJvckZpbGVzOiBbXSxcbiAgICAgIHJlbW90ZVVybDogJycsXG4gICAgICByZW1vdGVGb3JtYXQ6ICdhdXRvJyxcbiAgICAgIHJlbW90ZUVycm9yOiBudWxsLFxuICAgICAgcmVtb3RlTG9hZGluZzogZmFsc2UsXG4gICAgICByZW1vdGVQcm9ncmVzczoge31cbiAgICB9O1xuXG4gICAgc3RhdGljIGdldERlcml2ZWRTdGF0ZUZyb21Qcm9wcyhwcm9wcywgc3RhdGUpIHtcbiAgICAgIGlmIChzdGF0ZS5maWxlTG9hZGluZyAmJiBwcm9wcy5maWxlTG9hZGluZyA9PT0gZmFsc2UgJiYgc3RhdGUuZmlsZXMubGVuZ3RoKSB7XG4gICAgICAgIHJldHVybiB7XG4gICAgICAgICAgZmlsZXM6IFtdLFxuICAgICAgICAgIGZpbGVMb2FkaW5nOiBwcm9wcy5maWxlTG9hZGluZyxcbiAgICAgICAgICByZW1vdGVMb2FkaW5nOiBmYWxzZSxcbiAgICAgICAgICByZW1vdGVQcm9ncmVzczoge31cbiAgICAgICAgfTtcbiAgICAgIH1cbiAgICAgIHJldHVybiB7XG4gICAgICAgIGZpbGVMb2FkaW5nOiBwcm9wcy5maWxlTG9hZGluZyxcbiAgICAgICAgLi4uKHByb3BzLmZpbGVMb2FkaW5nID8ge3JlbW90ZUxvYWRpbmc6IGZhbHNlfSA6IHt9KVxuICAgICAgfTtcbiAgICB9XG5cbiAgICBmcmFtZSA9IGNyZWF0ZVJlZjxIVE1MRGl2RWxlbWVudD4oKTtcblxuICAgIF9pc1ZhbGlkRmlsZVR5cGUgPSBmaWxlbmFtZSA9PiB7XG4gICAgICBjb25zdCB7ZmlsZUV4dGVuc2lvbnMgPSBbXX0gPSB0aGlzLnByb3BzO1xuICAgICAgY29uc3QgZmlsZUV4dCA9IGZpbGVFeHRlbnNpb25zLmZpbmQoZXh0ID0+IGZpbGVuYW1lLmVuZHNXaXRoKGV4dCkpO1xuXG4gICAgICByZXR1cm4gQm9vbGVhbihmaWxlRXh0KTtcbiAgICB9O1xuXG4gICAgLyoqIEBwYXJhbSB7RmlsZUxpc3R9IGZpbGVMaXN0ICovXG4gICAgX2hhbmRsZUZpbGVJbnB1dCA9IChmaWxlTGlzdDogRmlsZUxpc3QsIGV2ZW50OiBhbnkpID0+IHtcbiAgICAgIGlmIChldmVudCkge1xuICAgICAgICBldmVudC5zdG9wUHJvcGFnYXRpb24oKTtcbiAgICAgIH1cblxuICAgICAgY29uc3QgZmlsZXMgPSBbLi4uZmlsZUxpc3RdLmZpbHRlcihCb29sZWFuKTtcblxuICAgICAgY29uc3Qge2Rpc2FibGVFeHRlbnNpb25GaWx0ZXIgPSBmYWxzZX0gPSB0aGlzLnByb3BzO1xuXG4gICAgICAvLyBUT0RPIC0gbW92ZSB0aGlzIGNvZGUgb3V0IG9mIHRoZSBjb21wb25lbnRcbiAgICAgIGNvbnN0IGZpbGVzVG9Mb2FkOiBGaWxlW10gPSBbXTtcbiAgICAgIGNvbnN0IGVycm9yRmlsZXM6IHN0cmluZ1tdID0gW107XG4gICAgICBmb3IgKGNvbnN0IGZpbGUgb2YgZmlsZXMpIHtcbiAgICAgICAgaWYgKGRpc2FibGVFeHRlbnNpb25GaWx0ZXIgfHwgdGhpcy5faXNWYWxpZEZpbGVUeXBlKGZpbGUubmFtZSkpIHtcbiAgICAgICAgICBmaWxlc1RvTG9hZC5wdXNoKGZpbGUpO1xuICAgICAgICB9IGVsc2Uge1xuICAgICAgICAgIGVycm9yRmlsZXMucHVzaChmaWxlLm5hbWUpO1xuICAgICAgICB9XG4gICAgICB9XG5cbiAgICAgIGNvbnN0IG5leHRTdGF0ZSA9IHtmaWxlczogZmlsZXNUb0xvYWQsIGVycm9yRmlsZXMsIGRyYWdPdmVyOiBmYWxzZX07XG5cbiAgICAgIHRoaXMuc2V0U3RhdGUobmV4dFN0YXRlLCAoKSA9PlxuICAgICAgICBuZXh0U3RhdGUuZmlsZXMubGVuZ3RoID8gdGhpcy5wcm9wcy5vbkZpbGVVcGxvYWQobmV4dFN0YXRlLmZpbGVzKSA6IG51bGxcbiAgICAgICk7XG4gICAgfTtcblxuICAgIF90b2dnbGVEcmFnU3RhdGUgPSBuZXdTdGF0ZSA9PiB7XG4gICAgICB0aGlzLnNldFN0YXRlKHtkcmFnT3ZlcjogbmV3U3RhdGV9KTtcbiAgICB9O1xuXG4gICAgX29uUmVtb3RlVXJsQ2hhbmdlID0gKGV2ZW50OiBSZWFjdC5DaGFuZ2VFdmVudDxIVE1MSW5wdXRFbGVtZW50PikgPT4ge1xuICAgICAgY29uc3QgcmVtb3RlVXJsID0gZXZlbnQudGFyZ2V0LnZhbHVlO1xuICAgICAgdGhpcy5zZXRTdGF0ZSh7XG4gICAgICAgIHJlbW90ZVVybCxcbiAgICAgICAgcmVtb3RlRXJyb3I6IHJlbW90ZVVybCAmJiAhaXNSZW1vdGVEYXRhc2V0VXJsKHJlbW90ZVVybCkgPyB7bWVzc2FnZTogJ0luY29ycmVjdCBVUkwnfSA6IG51bGxcbiAgICAgIH0pO1xuICAgIH07XG5cbiAgICBfb25SZW1vdGVGb3JtYXRDaGFuZ2UgPSAoZXZlbnQ6IFJlYWN0LkNoYW5nZUV2ZW50PEhUTUxTZWxlY3RFbGVtZW50PikgPT4ge1xuICAgICAgdGhpcy5zZXRTdGF0ZSh7cmVtb3RlRm9ybWF0OiBldmVudC50YXJnZXQudmFsdWV9KTtcbiAgICB9O1xuXG4gICAgX29uUmVtb3RlVXJsS2V5RG93biA9IChldmVudDogUmVhY3QuS2V5Ym9hcmRFdmVudDxIVE1MSW5wdXRFbGVtZW50PikgPT4ge1xuICAgICAgaWYgKGV2ZW50LmtleSA9PT0gJ0VudGVyJykge1xuICAgICAgICBldmVudC5wcmV2ZW50RGVmYXVsdCgpO1xuICAgICAgICB0aGlzLl9oYW5kbGVMb2FkUmVtb3RlRmlsZSgpO1xuICAgICAgfVxuICAgIH07XG5cbiAgICBfaGFuZGxlTG9hZFJlbW90ZUZpbGUgPSBhc3luYyAoKSA9PiB7XG4gICAgICBjb25zdCB7cmVtb3RlVXJsLCByZW1vdGVGb3JtYXQsIHJlbW90ZUVycm9yfSA9IHRoaXMuc3RhdGU7XG4gICAgICBjb25zdCB7aW50bH0gPSB0aGlzLnByb3BzO1xuICAgICAgY29uc3Qgc2hvd0Zvcm1hdFNlbGVjdG9yID0gZ2V0QXBwbGljYXRpb25Db25maWcoKS5lbmFibGVSZW1vdGVGaWxlRm9ybWF0U2VsZWN0b3I7XG4gICAgICBjb25zdCBmb3JtYXQgPSBzaG93Rm9ybWF0U2VsZWN0b3IgJiYgcmVtb3RlRm9ybWF0ICE9PSAnYXV0bycgPyByZW1vdGVGb3JtYXQgOiB1bmRlZmluZWQ7XG4gICAgICBpZiAoIXJlbW90ZVVybCB8fCByZW1vdGVFcnJvciB8fCB0aGlzLnN0YXRlLnJlbW90ZUxvYWRpbmcpIHtcbiAgICAgICAgaWYgKCFyZW1vdGVVcmwpIHtcbiAgICAgICAgICB0aGlzLnNldFN0YXRlKHtyZW1vdGVFcnJvcjoge21lc3NhZ2U6ICdJbmNvcnJlY3QgVVJMJ319KTtcbiAgICAgICAgfVxuICAgICAgICByZXR1cm47XG4gICAgICB9XG4gICAgICBpZiAoIWlzUmVtb3RlRGF0YXNldFVybChyZW1vdGVVcmwpKSB7XG4gICAgICAgIHRoaXMuc2V0U3RhdGUoe3JlbW90ZUVycm9yOiB7bWVzc2FnZTogJ0luY29ycmVjdCBVUkwnfX0pO1xuICAgICAgICByZXR1cm47XG4gICAgICB9XG5cbiAgICAgIGNvbnN0IGZpbGVOYW1lID0gZ2V0RmlsZU5hbWVGb3JSZW1vdGVVcmwocmVtb3RlVXJsLCBmb3JtYXQpO1xuICAgICAgY29uc3QgZG93bmxvYWRpbmcgPSBpbnRsLmZvcm1hdE1lc3NhZ2Uoe2lkOiAnZmlsZVVwbG9hZGVyLmRvd25sb2FkaW5nJ30pO1xuICAgICAgdGhpcy5zZXRTdGF0ZSh7XG4gICAgICAgIHJlbW90ZUxvYWRpbmc6IHRydWUsXG4gICAgICAgIHJlbW90ZUVycm9yOiBudWxsLFxuICAgICAgICByZW1vdGVQcm9ncmVzczoge1xuICAgICAgICAgIFtmaWxlTmFtZV06IHtcbiAgICAgICAgICAgIGZpbGVOYW1lLFxuICAgICAgICAgICAgcGVyY2VudDogMCxcbiAgICAgICAgICAgIG1lc3NhZ2U6IGRvd25sb2FkaW5nLFxuICAgICAgICAgICAgZXJyb3I6IG51bGxcbiAgICAgICAgICB9XG4gICAgICAgIH1cbiAgICAgIH0pO1xuXG4gICAgICB0cnkge1xuICAgICAgICBsZXQgbGFzdFVwZGF0ZSA9IDA7XG4gICAgICAgIGNvbnN0IGZpbGUgPSBhd2FpdCBmZXRjaFJlbW90ZUZpbGVBc0tlcGxlckZpbGUocmVtb3RlVXJsLCBmb3JtYXQsICh7cGVyY2VudH0pID0+IHtcbiAgICAgICAgICBjb25zdCBub3cgPSBEYXRlLm5vdygpO1xuICAgICAgICAgIGlmIChwZXJjZW50IDwgMSAmJiBub3cgLSBsYXN0VXBkYXRlIDwgMTAwKSB7XG4gICAgICAgICAgICByZXR1cm47XG4gICAgICAgICAgfVxuICAgICAgICAgIGxhc3RVcGRhdGUgPSBub3c7XG4gICAgICAgICAgdGhpcy5zZXRTdGF0ZShwcmV2ID0+IHtcbiAgICAgICAgICAgIGNvbnN0IG5hbWUgPSBPYmplY3Qua2V5cyhwcmV2LnJlbW90ZVByb2dyZXNzKVswXSB8fCBmaWxlTmFtZTtcbiAgICAgICAgICAgIHJldHVybiB7XG4gICAgICAgICAgICAgIHJlbW90ZVByb2dyZXNzOiB7XG4gICAgICAgICAgICAgICAgW25hbWVdOiB7XG4gICAgICAgICAgICAgICAgICBmaWxlTmFtZTogbmFtZSxcbiAgICAgICAgICAgICAgICAgIHBlcmNlbnQsXG4gICAgICAgICAgICAgICAgICBtZXNzYWdlOiBkb3dubG9hZGluZyxcbiAgICAgICAgICAgICAgICAgIGVycm9yOiBudWxsXG4gICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgICB9XG4gICAgICAgICAgICB9O1xuICAgICAgICAgIH0pO1xuICAgICAgICB9KTtcbiAgICAgICAgdGhpcy5zZXRTdGF0ZShcbiAgICAgICAgICB7XG4gICAgICAgICAgICBmaWxlczogW2ZpbGVdLFxuICAgICAgICAgICAgZXJyb3JGaWxlczogW10sXG4gICAgICAgICAgICBkcmFnT3ZlcjogZmFsc2VcbiAgICAgICAgICB9LFxuICAgICAgICAgICgpID0+IHRoaXMucHJvcHMub25GaWxlVXBsb2FkKFtmaWxlXSlcbiAgICAgICAgKTtcbiAgICAgIH0gY2F0Y2ggKGVycm9yKSB7XG4gICAgICAgIHRoaXMuc2V0U3RhdGUoe1xuICAgICAgICAgIHJlbW90ZUxvYWRpbmc6IGZhbHNlLFxuICAgICAgICAgIHJlbW90ZVByb2dyZXNzOiB7fSxcbiAgICAgICAgICByZW1vdGVFcnJvcjoge1xuICAgICAgICAgICAgbWVzc2FnZTogZXJyb3IgaW5zdGFuY2VvZiBFcnJvciA/IGVycm9yLm1lc3NhZ2UgOiBgRmFpbGVkIHRvIGxvYWQgJHtyZW1vdGVVcmx9YFxuICAgICAgICAgIH1cbiAgICAgICAgfSk7XG4gICAgICB9XG4gICAgfTtcblxuICAgIHJlbmRlcigpIHtcbiAgICAgIGNvbnN0IHtcbiAgICAgICAgZHJhZ092ZXIsXG4gICAgICAgIGZpbGVzLFxuICAgICAgICBlcnJvckZpbGVzLFxuICAgICAgICByZW1vdGVVcmwsXG4gICAgICAgIHJlbW90ZUZvcm1hdCxcbiAgICAgICAgcmVtb3RlRXJyb3IsXG4gICAgICAgIHJlbW90ZUxvYWRpbmcsXG4gICAgICAgIHJlbW90ZVByb2dyZXNzXG4gICAgICB9ID0gdGhpcy5zdGF0ZTtcbiAgICAgIGNvbnN0IHtmaWxlTG9hZGluZywgZmlsZUxvYWRpbmdQcm9ncmVzcywgdGhlbWUsIGludGx9ID0gdGhpcy5wcm9wcztcbiAgICAgIGNvbnN0IHtmaWxlRXh0ZW5zaW9ucyA9IFtdLCBmaWxlRm9ybWF0TmFtZXMgPSBbXX0gPSB0aGlzLnByb3BzO1xuICAgICAgY29uc3Qgc2hvd0Zvcm1hdFNlbGVjdG9yID0gZ2V0QXBwbGljYXRpb25Db25maWcoKS5lbmFibGVSZW1vdGVGaWxlRm9ybWF0U2VsZWN0b3I7XG4gICAgICBjb25zdCBmaWxlVXBsb2FkSW5mb1RleHQgPSBgJHtpbnRsLmZvcm1hdE1lc3NhZ2UoXG4gICAgICAgIHtcbiAgICAgICAgICBpZDogJ2ZpbGVVcGxvYWRlci5jb25maWdVcGxvYWRNZXNzYWdlJ1xuICAgICAgICB9LFxuICAgICAgICB7XG4gICAgICAgICAgZmlsZUZvcm1hdE5hbWVzOiBmaWxlRm9ybWF0TmFtZXMubWFwKGZvcm1hdCA9PiBgKioke2Zvcm1hdH0qKmApLmpvaW4oJywgJylcbiAgICAgICAgfVxuICAgICAgKX0oJHtHVUlERVNfRklMRV9GT1JNQVRfRE9DfSkuYDtcbiAgICAgIHJldHVybiAoXG4gICAgICAgIDxTdHlsZWRGaWxlVXBsb2FkIGNsYXNzTmFtZT1cImZpbGUtdXBsb2FkZXJcIiByZWY9e3RoaXMuZnJhbWV9PlxuICAgICAgICAgIHtGaWxlRHJvcCA/IChcbiAgICAgICAgICAgIDxGaWxlRHJvcFxuICAgICAgICAgICAgICBmcmFtZT17dGhpcy5mcmFtZS5jdXJyZW50IHx8IGRvY3VtZW50fVxuICAgICAgICAgICAgICBvbkRyYWdPdmVyPXsoKSA9PiB0aGlzLl90b2dnbGVEcmFnU3RhdGUodHJ1ZSl9XG4gICAgICAgICAgICAgIG9uRHJhZ0xlYXZlPXsoKSA9PiB0aGlzLl90b2dnbGVEcmFnU3RhdGUoZmFsc2UpfVxuICAgICAgICAgICAgICBvbkRyb3A9e3RoaXMuX2hhbmRsZUZpbGVJbnB1dH1cbiAgICAgICAgICAgICAgY2xhc3NOYW1lPVwiZmlsZS11cGxvYWRlcl9fZmlsZS1kcm9wXCJcbiAgICAgICAgICAgID5cbiAgICAgICAgICAgICAgPFN0eWxlZFVwbG9hZE1lc3NhZ2UgY2xhc3NOYW1lPVwiZmlsZS11cGxvYWRfX21lc3NhZ2VcIj5cbiAgICAgICAgICAgICAgICA8TWFya2Rvd25cbiAgICAgICAgICAgICAgICAgIG9wdGlvbnM9e3tcbiAgICAgICAgICAgICAgICAgICAgb3ZlcnJpZGVzOiB7XG4gICAgICAgICAgICAgICAgICAgICAgYToge1xuICAgICAgICAgICAgICAgICAgICAgICAgY29tcG9uZW50OiBMaW5rUmVuZGVyZXJcbiAgICAgICAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgICAgICAgIH19XG4gICAgICAgICAgICAgICAgPlxuICAgICAgICAgICAgICAgICAge2ZpbGVVcGxvYWRJbmZvVGV4dH1cbiAgICAgICAgICAgICAgICA8L01hcmtkb3duPlxuICAgICAgICAgICAgICA8L1N0eWxlZFVwbG9hZE1lc3NhZ2U+XG4gICAgICAgICAgICAgIDxTdHlsZWRGaWxlRHJvcCAkZHJhZ092ZXI9e2RyYWdPdmVyfT5cbiAgICAgICAgICAgICAgICA8U3R5bGVkRHJvcEJvZHk+XG4gICAgICAgICAgICAgICAgICA8U3R5bGVkRmlsZVR5cGVGb3cgY2xhc3NOYW1lPVwiZmlsZS10eXBlLXJvd1wiPlxuICAgICAgICAgICAgICAgICAgICB7ZmlsZUV4dGVuc2lvbnMubWFwKGV4dCA9PiAoXG4gICAgICAgICAgICAgICAgICAgICAgPEZpbGVUeXBlIGtleT17ZXh0fSBleHQ9e2V4dH0gaGVpZ2h0PVwiNTBweFwiIGZvbnRTaXplPVwiOXB4XCIgLz5cbiAgICAgICAgICAgICAgICAgICAgKSl9XG4gICAgICAgICAgICAgICAgICA8L1N0eWxlZEZpbGVUeXBlRm93PlxuICAgICAgICAgICAgICAgICAge2ZpbGVMb2FkaW5nIHx8IHJlbW90ZUxvYWRpbmcgPyAoXG4gICAgICAgICAgICAgICAgICAgIDxGaWxlVXBsb2FkUHJvZ3Jlc3NcbiAgICAgICAgICAgICAgICAgICAgICBmaWxlTG9hZGluZ1Byb2dyZXNzPXtnZXRDb21iaW5lZExvYWRQcm9ncmVzcyh7XG4gICAgICAgICAgICAgICAgICAgICAgICBmaWxlTG9hZGluZyxcbiAgICAgICAgICAgICAgICAgICAgICAgIGZpbGVMb2FkaW5nUHJvZ3Jlc3MsXG4gICAgICAgICAgICAgICAgICAgICAgICByZW1vdGVQcm9ncmVzc1xuICAgICAgICAgICAgICAgICAgICAgIH0pfVxuICAgICAgICAgICAgICAgICAgICAgIHRoZW1lPXt0aGVtZX1cbiAgICAgICAgICAgICAgICAgICAgLz5cbiAgICAgICAgICAgICAgICAgICkgOiAoXG4gICAgICAgICAgICAgICAgICAgIDw+XG4gICAgICAgICAgICAgICAgICAgICAgPFN0eWxlZERyYWdORHJvcEljb25cbiAgICAgICAgICAgICAgICAgICAgICAgIHN0eWxlPXt7b3BhY2l0eTogZHJhZ092ZXIgPyAwLjUgOiAxfX1cbiAgICAgICAgICAgICAgICAgICAgICAgIGNsYXNzTmFtZT1cImZpbGUtdXBsb2FkLWRpc3BsYXktbWVzc2FnZVwiXG4gICAgICAgICAgICAgICAgICAgICAgPlxuICAgICAgICAgICAgICAgICAgICAgICAgPERyYWdORHJvcCBoZWlnaHQ9XCIzNnB4XCIgLz5cbiAgICAgICAgICAgICAgICAgICAgICAgIHtlcnJvckZpbGVzLmxlbmd0aCA/IChcbiAgICAgICAgICAgICAgICAgICAgICAgICAgPFdhcm5pbmdNc2c+XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgPEZvcm1hdHRlZE1lc3NhZ2VcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGlkPXsnZmlsZVVwbG9hZGVyLmZpbGVOb3RTdXBwb3J0ZWQnfVxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgdmFsdWVzPXt7ZXJyb3JGaWxlczogZXJyb3JGaWxlcy5qb2luKCcsICcpfX1cbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAvPlxuICAgICAgICAgICAgICAgICAgICAgICAgICA8L1dhcm5pbmdNc2c+XG4gICAgICAgICAgICAgICAgICAgICAgICApIDogbnVsbH1cbiAgICAgICAgICAgICAgICAgICAgICA8L1N0eWxlZERyYWdORHJvcEljb24+XG4gICAgICAgICAgICAgICAgICAgICAgeyFmaWxlcy5sZW5ndGggPyAoXG4gICAgICAgICAgICAgICAgICAgICAgICA8U3R5bGVkRHJhZ0ZpbGVXcmFwcGVyPlxuICAgICAgICAgICAgICAgICAgICAgICAgICA8U3R5bGVkQWN0aW9uTGluZT5cbiAgICAgICAgICAgICAgICAgICAgICAgICAgICA8Rm9ybWF0dGVkTWVzc2FnZVxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgaWQ9eydmaWxlVXBsb2FkZXIuZHJvcE1lc3NhZ2UnfVxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgdmFsdWVzPXt7XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGJyb3dzZTogKFxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxVcGxvYWRCdXR0b24ga2V5PVwiYnJvd3NlXCIgb25VcGxvYWQ9e3RoaXMuX2hhbmRsZUZpbGVJbnB1dH0+XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB7aW50bC5mb3JtYXRNZXNzYWdlKHtpZDogJ2ZpbGVVcGxvYWRlci5icm93c2VGaWxlcyd9KX1cbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8L1VwbG9hZEJ1dHRvbj5cbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKVxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgfX1cbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAvPlxuICAgICAgICAgICAgICAgICAgICAgICAgICA8L1N0eWxlZEFjdGlvbkxpbmU+XG4gICAgICAgICAgICAgICAgICAgICAgICAgIDxTdHlsZWRSZW1vdGVVcmxGb3JtXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgY2xhc3NOYW1lPVwiZmlsZS11cGxvYWRlcl9fcmVtb3RlLXVybFwiXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgb25DbGljaz17ZXZlbnQgPT4gZXZlbnQuc3RvcFByb3BhZ2F0aW9uKCl9XG4gICAgICAgICAgICAgICAgICAgICAgICAgID5cbiAgICAgICAgICAgICAgICAgICAgICAgICAgICA8U3R5bGVkUmVtb3RlVXJsUm93PlxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPFN0eWxlZFJlbW90ZVVybElucHV0XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHR5cGU9XCJ1cmxcIlxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB2YWx1ZT17cmVtb3RlVXJsfVxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBhcmlhLWxhYmVsPXtpbnRsLmZvcm1hdE1lc3NhZ2Uoe1xuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGlkOiAnZmlsZVVwbG9hZGVyLnVybFBsYWNlaG9sZGVyJ1xuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB9KX1cbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgcGxhY2Vob2xkZXI9e2ludGwuZm9ybWF0TWVzc2FnZSh7XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgaWQ6ICdmaWxlVXBsb2FkZXIudXJsUGxhY2Vob2xkZXInXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIH0pfVxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBvbkNoYW5nZT17dGhpcy5fb25SZW1vdGVVcmxDaGFuZ2V9XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIG9uS2V5RG93bj17dGhpcy5fb25SZW1vdGVVcmxLZXlEb3dufVxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBkaXNhYmxlZD17cmVtb3RlTG9hZGluZ31cbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIC8+XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICB7c2hvd0Zvcm1hdFNlbGVjdG9yID8gKFxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8U3R5bGVkUmVtb3RlRm9ybWF0U2VsZWN0XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgY2xhc3NOYW1lPVwiZmlsZS11cGxvYWRlcl9fcmVtb3RlLWZvcm1hdFwiXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgYXJpYS1sYWJlbD17aW50bC5mb3JtYXRNZXNzYWdlKHtpZDogJ2ZpbGVVcGxvYWRlci5mb3JtYXQnfSl9XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgdmFsdWU9e3JlbW90ZUZvcm1hdH1cbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBvbkNoYW5nZT17dGhpcy5fb25SZW1vdGVGb3JtYXRDaGFuZ2V9XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgZGlzYWJsZWQ9e3JlbW90ZUxvYWRpbmd9XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgID5cbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB7UkVNT1RFX0ZJTEVfRk9STUFUUy5tYXAoZm9ybWF0ID0+IChcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxvcHRpb24ga2V5PXtmb3JtYXR9IHZhbHVlPXtmb3JtYXR9PlxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB7Zm9ybWF0ID09PSAnYXV0bydcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA/IGludGwuZm9ybWF0TWVzc2FnZSh7aWQ6ICdmaWxlVXBsb2FkZXIuZm9ybWF0QXV0byd9KVxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDogZm9ybWF0LnRvVXBwZXJDYXNlKCl9XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8L29wdGlvbj5cbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICApKX1cbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPC9TdHlsZWRSZW1vdGVGb3JtYXRTZWxlY3Q+XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICApIDogbnVsbH1cbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxTdHlsZWRSZW1vdGVGZXRjaEJ1dHRvblxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB0eXBlPVwiYnV0dG9uXCJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgY3RhXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHNtYWxsXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGRpc2FibGVkPXshcmVtb3RlVXJsIHx8IHJlbW90ZUxvYWRpbmd9XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIG9uQ2xpY2s9e3RoaXMuX2hhbmRsZUxvYWRSZW1vdGVGaWxlfVxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPlxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8Rm9ybWF0dGVkTWVzc2FnZSBpZD17J2ZpbGVVcGxvYWRlci5mZXRjaCd9IC8+XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8L1N0eWxlZFJlbW90ZUZldGNoQnV0dG9uPlxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvU3R5bGVkUmVtb3RlVXJsUm93PlxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIHtyZW1vdGVFcnJvciA/IDxXYXJuaW5nTXNnPntyZW1vdGVFcnJvci5tZXNzYWdlfTwvV2FybmluZ01zZz4gOiBudWxsfVxuICAgICAgICAgICAgICAgICAgICAgICAgICA8L1N0eWxlZFJlbW90ZVVybEZvcm0+XG4gICAgICAgICAgICAgICAgICAgICAgICA8L1N0eWxlZERyYWdGaWxlV3JhcHBlcj5cbiAgICAgICAgICAgICAgICAgICAgICApIDogbnVsbH1cbiAgICAgICAgICAgICAgICAgICAgPC8+XG4gICAgICAgICAgICAgICAgICApfVxuICAgICAgICAgICAgICAgIDwvU3R5bGVkRHJvcEJvZHk+XG4gICAgICAgICAgICAgICAge2ZpbGVMb2FkaW5nIHx8IHJlbW90ZUxvYWRpbmcgPyBudWxsIDogKFxuICAgICAgICAgICAgICAgICAgPFN0eWxlZERpc2NsYWltZXI+XG4gICAgICAgICAgICAgICAgICAgIDxGb3JtYXR0ZWRNZXNzYWdlIGlkPXsnZmlsZVVwbG9hZGVyLmRpc2NsYWltZXInfSAvPlxuICAgICAgICAgICAgICAgICAgPC9TdHlsZWREaXNjbGFpbWVyPlxuICAgICAgICAgICAgICAgICl9XG4gICAgICAgICAgICAgIDwvU3R5bGVkRmlsZURyb3A+XG4gICAgICAgICAgICA8L0ZpbGVEcm9wPlxuICAgICAgICAgICkgOiBudWxsfVxuXG4gICAgICAgICAgPFdhcm5pbmdNc2c+XG4gICAgICAgICAgICB7aXNDaHJvbWUoKSA/IDxGb3JtYXR0ZWRNZXNzYWdlIGlkPXsnZmlsZVVwbG9hZGVyLmNocm9tZU1lc3NhZ2UnfSAvPiA6ICcnfVxuICAgICAgICAgIDwvV2FybmluZ01zZz5cbiAgICAgICAgPC9TdHlsZWRGaWxlVXBsb2FkPlxuICAgICAgKTtcbiAgICB9XG4gIH1cblxuICByZXR1cm4gaW5qZWN0SW50bChGaWxlVXBsb2FkKTtcbn1cblxuZXhwb3J0IGRlZmF1bHQgRmlsZVVwbG9hZEZhY3Rvcnk7XG5leHBvcnQgY29uc3QgRmlsZVVwbG9hZCA9IEZpbGVVcGxvYWRGYWN0b3J5KCk7XG4iXSwibWFwcGluZ3MiOiI7Ozs7Ozs7Ozs7Ozs7Ozs7OztBQUFBO0FBQ0E7O0FBRUEsT0FBT0EsS0FBSyxJQUFHQyxTQUFTLEVBQUVDLFNBQVMsUUFBTyxPQUFPO0FBQ2pELE9BQU9DLE1BQU0sTUFBTSxtQkFBbUI7QUFDdEMsU0FBUUMsVUFBVSxRQUE4QixZQUFZO0FBQzVELE9BQU9DLFlBQVksTUFBTSxpQkFBaUI7QUFDMUMsU0FBUUMsU0FBUyxFQUFFQyxRQUFRLFFBQU8sVUFBVTtBQUM1QyxPQUFPQyxrQkFBa0IsTUFBTSx3QkFBd0I7QUFDdkQsT0FBT0MsUUFBUSxNQUFNLGFBQWE7QUFHbEMsU0FBUUMsc0JBQXNCLEVBQUVDLG1CQUFtQixRQUFPLHNCQUFzQjtBQUNoRixTQUFRQyxnQkFBZ0IsUUFBTyx5QkFBeUI7QUFDeEQsU0FDRUMsMkJBQTJCLEVBQzNCQyx1QkFBdUIsRUFDdkJDLGtCQUFrQixRQUNiLHVCQUF1QjtBQUM5QixTQUFRQyxLQUFLLFFBQU8sbUJBQW1CO0FBQ3ZDLFNBQVFDLFFBQVEsRUFBRUMsb0JBQW9CLFFBQU8sa0JBQWtCO0FBQy9ELE9BQU9DLFFBQVEsTUFBTSxpQkFBaUI7QUFFdEMsU0FBUUMsTUFBTSxFQUFFQyxVQUFVLFFBQU8sc0JBQXNCO0FBQ3ZELE9BQU9DLFlBQVksTUFBTSxrQkFBa0I7QUFFM0MsSUFBTUMsYUFBYSxHQUFHLFNBQVM7QUFFL0IsSUFBTUMsbUJBQW1CLEdBQUdyQixNQUFNLENBQUNzQixHQUFHLENBQUFDLGVBQUEsS0FBQUEsZUFBQSxHQUFBQyxzQkFBQSxrRkFDM0IsVUFBQUMsS0FBSztFQUFBLE9BQUlBLEtBQUssQ0FBQ0MsS0FBSyxDQUFDQyxXQUFXO0FBQUEsR0FJdkNkLEtBQUssQ0FBQ2UsUUFBUSxDQUFBQyxnQkFBQSxLQUFBQSxnQkFBQSxHQUFBTCxzQkFBQSxtQ0FHakI7QUFFRCxPQUFPLElBQU1NLFVBQVUsR0FBRzlCLE1BQU0sQ0FBQytCLElBQUksQ0FBQUMsZ0JBQUEsS0FBQUEsZ0JBQUEsR0FBQVIsc0JBQUEscUVBRTFCLFVBQUFDLEtBQUs7RUFBQSxPQUFJQSxLQUFLLENBQUNDLEtBQUssQ0FBQ08sVUFBVTtBQUFBLEVBRXpDO0FBTUQsSUFBTUMsY0FBYyxHQUFHbEMsTUFBTSxDQUFDc0IsR0FBRyxDQUFBYSxnQkFBQSxLQUFBQSxnQkFBQSxHQUFBWCxzQkFBQSx1VkFHZixVQUFBQyxLQUFLO0VBQUEsT0FBS0EsS0FBSyxDQUFDVyxTQUFTLEdBQUcsT0FBTyxHQUFHLFFBQVE7QUFBQSxDQUFDLEVBRS9DLFVBQUFYLEtBQUs7RUFBQSxPQUNuQkEsS0FBSyxDQUFDVyxTQUFTLEdBQUdYLEtBQUssQ0FBQ0MsS0FBSyxDQUFDQyxXQUFXLEdBQUdGLEtBQUssQ0FBQ0MsS0FBSyxDQUFDVyxjQUFjO0FBQUEsR0FZdEV4QixLQUFLLENBQUNlLFFBQVEsQ0FBQVUsZ0JBQUEsS0FBQUEsZ0JBQUEsR0FBQWQsc0JBQUEsa0VBSWpCO0FBRUQsSUFBTWUsY0FBYyxHQUFHdkMsTUFBTSxDQUFDc0IsR0FBRyxDQUFBa0IsZ0JBQUEsS0FBQUEsZ0JBQUEsR0FBQWhCLHNCQUFBLDZJQU9oQztBQUVELElBQU1pQixnQkFBZ0IsR0FBR3pDLE1BQU0sQ0FBQ3NCLEdBQUcsQ0FBQW9CLGdCQUFBLEtBQUFBLGdCQUFBLEdBQUFsQixzQkFBQSxnTkFDeEIsVUFBQUMsS0FBSztFQUFBLE9BQUlBLEtBQUssQ0FBQ0MsS0FBSyxDQUFDaUIsZUFBZTtBQUFBLEdBUWxDLFVBQUFsQixLQUFLO0VBQUEsT0FBSUEsS0FBSyxDQUFDQyxLQUFLLENBQUNrQixZQUFZO0FBQUEsRUFHN0M7QUFFRCxJQUFNQyxtQkFBbUIsR0FBRzdDLE1BQU0sQ0FBQ3NCLEdBQUcsQ0FBQXdCLGdCQUFBLEtBQUFBLGdCQUFBLEdBQUF0QixzQkFBQSw0SEFDM0JKLGFBQWEsQ0FLdkI7QUFFRCxJQUFNMkIsaUJBQWlCLEdBQUcvQyxNQUFNLENBQUNzQixHQUFHLENBQUEwQixnQkFBQSxLQUFBQSxnQkFBQSxHQUFBeEIsc0JBQUEsMEJBRW5DO0FBRUQsSUFBTXlCLGdCQUFnQixHQUFHakQsTUFBTSxDQUFDc0IsR0FBRyxDQUFBNEIsZ0JBQUEsS0FBQUEsZ0JBQUEsR0FBQTFCLHNCQUFBLHdEQUlsQztBQUVELElBQU0yQixhQUFhLEdBQUduRCxNQUFNLENBQUNzQixHQUFHLENBQUE4QixnQkFBQSxLQUFBQSxnQkFBQSxHQUFBNUIsc0JBQUEsZ05BWS9CO0FBRUQsSUFBTTZCLHFCQUFxQixHQUFHckQsTUFBTSxDQUFDc0IsR0FBRyxDQUFBZ0MsaUJBQUEsS0FBQUEsaUJBQUEsR0FBQTlCLHNCQUFBLCtGQUt2QztBQUVELElBQU0rQixnQkFBZ0IsR0FBR3ZELE1BQU0sQ0FBQ21ELGFBQWEsQ0FBQyxDQUFBSyxpQkFBQSxLQUFBQSxpQkFBQSxHQUFBaEMsc0JBQUEscURBRzdDO0FBRUQsSUFBTWlDLG1CQUFtQixHQUFHekQsTUFBTSxDQUFDc0IsR0FBRyxDQUFBb0MsaUJBQUEsS0FBQUEsaUJBQUEsR0FBQWxDLHNCQUFBLHdKQVFyQztBQUVELElBQU1tQyxrQkFBa0IsR0FBRzNELE1BQU0sQ0FBQ3NCLEdBQUcsQ0FBQXNDLGlCQUFBLEtBQUFBLGlCQUFBLEdBQUFwQyxzQkFBQSxzSUFPcEM7QUFFRCxJQUFNcUMsb0JBQW9CLEdBQUc3RCxNQUFNLENBQUNrQixVQUFVLENBQUMsQ0FBQTRDLGlCQUFBLEtBQUFBLGlCQUFBLEdBQUF0QyxzQkFBQSw0REFJOUM7QUFFRCxJQUFNdUMsd0JBQXdCLEdBQUcvRCxNQUFNLENBQUNnRSxNQUFNLENBQUFDLGlCQUFBLEtBQUFBLGlCQUFBLEdBQUF6QyxzQkFBQSwwSUFDMUMsVUFBQUMsS0FBSztFQUFBLE9BQUlBLEtBQUssQ0FBQ0MsS0FBSyxDQUFDd0MsT0FBTztBQUFBLEVBTy9CO0FBRUQsSUFBTUMsdUJBQXVCLEdBQUduRSxNQUFNLENBQUNpQixNQUFNLENBQUMsQ0FBQW1ELGlCQUFBLEtBQUFBLGlCQUFBLEdBQUE1QyxzQkFBQSw2RkFLN0M7QUFFRCxJQUFNNkMscUJBQXFCLEdBQUcsSUFBSTtBQUVsQyxTQUFTQyxpQkFBaUJBLENBQ3hCQyxRQUE2QixFQUM3QkMsS0FBYSxFQUNiQyxHQUFXLEVBQ1U7RUFDckIsT0FBT0MsTUFBTSxDQUFDQyxJQUFJLENBQUNKLFFBQVEsQ0FBQyxDQUFDSyxNQUFNLENBQXNCLFVBQUNDLElBQUksRUFBRUMsR0FBRyxFQUFLO0lBQ3RFLElBQU1DLElBQUksR0FBR1IsUUFBUSxDQUFDTyxHQUFHLENBQUM7SUFDMUJELElBQUksQ0FBQ0MsR0FBRyxDQUFDLEdBQUFFLGFBQUEsQ0FBQUEsYUFBQSxLQUNKRCxJQUFJO01BQ1BFLE9BQU8sRUFBRVQsS0FBSyxHQUFHLENBQUNPLElBQUksQ0FBQ0UsT0FBTyxJQUFJLENBQUMsS0FBS1IsR0FBRyxHQUFHRCxLQUFLO0lBQUMsRUFDckQ7SUFDRCxPQUFPSyxJQUFJO0VBQ2IsQ0FBQyxFQUFFLENBQUMsQ0FBQyxDQUFDO0FBQ1I7QUFFQSxTQUFTSyx1QkFBdUJBLENBQUFDLElBQUEsRUFRUjtFQUFBLElBUHRCQyxXQUFXLEdBQUFELElBQUEsQ0FBWEMsV0FBVztJQUNYQyxtQkFBbUIsR0FBQUYsSUFBQSxDQUFuQkUsbUJBQW1CO0lBQ25CQyxjQUFjLEdBQUFILElBQUEsQ0FBZEcsY0FBYztFQU1kLElBQU1DLGFBQWEsR0FBR2IsTUFBTSxDQUFDQyxJQUFJLENBQUNXLGNBQWMsQ0FBQyxDQUFDRSxNQUFNLEdBQUcsQ0FBQztFQUM1RCxJQUFJLENBQUNELGFBQWEsRUFBRTtJQUNsQixPQUFPRixtQkFBbUI7RUFDNUI7RUFDQSxJQUFJRCxXQUFXLEVBQUU7SUFDZixPQUFPZCxpQkFBaUIsQ0FBQ2UsbUJBQW1CLEVBQUVoQixxQkFBcUIsRUFBRSxDQUFDLENBQUM7RUFDekU7RUFDQSxPQUFPQyxpQkFBaUIsQ0FBQ2dCLGNBQWMsRUFBRSxDQUFDLEVBQUVqQixxQkFBcUIsQ0FBQztBQUNwRTtBQTJCQSxTQUFTb0IsaUJBQWlCQSxDQUFBLEVBQUc7RUFDM0I7RUFBQSxJQUNNQyxVQUFVLDBCQUFBQyxVQUFBO0lBQUEsU0FBQUQsV0FBQTtNQUFBLElBQUFFLEtBQUE7TUFBQUMsZUFBQSxPQUFBSCxVQUFBO01BQUEsU0FBQUksSUFBQSxHQUFBQyxTQUFBLENBQUFQLE1BQUEsRUFBQVEsSUFBQSxPQUFBQyxLQUFBLENBQUFILElBQUEsR0FBQUksSUFBQSxNQUFBQSxJQUFBLEdBQUFKLElBQUEsRUFBQUksSUFBQTtRQUFBRixJQUFBLENBQUFFLElBQUEsSUFBQUgsU0FBQSxDQUFBRyxJQUFBO01BQUE7TUFBQU4sS0FBQSxHQUFBTyxVQUFBLE9BQUFULFVBQUEsS0FBQVUsTUFBQSxDQUFBSixJQUFBO01BQUFLLGVBQUEsQ0FBQVQsS0FBQSxXQUNXO1FBQ3ZCVSxRQUFRLEVBQUUsS0FBSztRQUNmbEIsV0FBVyxFQUFFLEtBQUs7UUFDbEJtQixLQUFLLEVBQUUsRUFBRTtRQUNUQyxVQUFVLEVBQUUsRUFBRTtRQUNkQyxTQUFTLEVBQUUsRUFBRTtRQUNiQyxZQUFZLEVBQUUsTUFBTTtRQUNwQkMsV0FBVyxFQUFFLElBQUk7UUFDakJDLGFBQWEsRUFBRSxLQUFLO1FBQ3BCdEIsY0FBYyxFQUFFLENBQUM7TUFDbkIsQ0FBQztNQUFBZSxlQUFBLENBQUFULEtBQUEsd0JBaUJPN0YsU0FBUyxDQUFpQixDQUFDO01BQUFzRyxlQUFBLENBQUFULEtBQUEsc0JBRWhCLFVBQUFpQixRQUFRLEVBQUk7UUFDN0IsSUFBQUMscUJBQUEsR0FBOEJsQixLQUFBLENBQUtuRSxLQUFLLENBQWpDc0YsY0FBYztVQUFkQSxjQUFjLEdBQUFELHFCQUFBLGNBQUcsRUFBRSxHQUFBQSxxQkFBQTtRQUMxQixJQUFNRSxPQUFPLEdBQUdELGNBQWMsQ0FBQ0UsSUFBSSxDQUFDLFVBQUFDLEdBQUc7VUFBQSxPQUFJTCxRQUFRLENBQUNNLFFBQVEsQ0FBQ0QsR0FBRyxDQUFDO1FBQUEsRUFBQztRQUVsRSxPQUFPRSxPQUFPLENBQUNKLE9BQU8sQ0FBQztNQUN6QixDQUFDO01BRUQ7TUFBQVgsZUFBQSxDQUFBVCxLQUFBLHNCQUNtQixVQUFDeUIsUUFBa0IsRUFBRUMsS0FBVSxFQUFLO1FBQ3JELElBQUlBLEtBQUssRUFBRTtVQUNUQSxLQUFLLENBQUNDLGVBQWUsQ0FBQyxDQUFDO1FBQ3pCO1FBRUEsSUFBTWhCLEtBQUssR0FBR2lCLGtCQUFBLENBQUlILFFBQVEsRUFBRUksTUFBTSxDQUFDTCxPQUFPLENBQUM7UUFFM0MsSUFBQU0scUJBQUEsR0FBeUM5QixLQUFBLENBQUtuRSxLQUFLLENBQTVDa0csc0JBQXNCO1VBQXRCQSxzQkFBc0IsR0FBQUQscUJBQUEsY0FBRyxLQUFLLEdBQUFBLHFCQUFBOztRQUVyQztRQUNBLElBQU1FLFdBQW1CLEdBQUcsRUFBRTtRQUM5QixJQUFNcEIsVUFBb0IsR0FBRyxFQUFFO1FBQUMsSUFBQXFCLFNBQUEsR0FBQUMsMEJBQUEsQ0FDYnZCLEtBQUs7VUFBQXdCLEtBQUE7UUFBQTtVQUF4QixLQUFBRixTQUFBLENBQUFHLENBQUEsTUFBQUQsS0FBQSxHQUFBRixTQUFBLENBQUFJLENBQUEsSUFBQUMsSUFBQSxHQUEwQjtZQUFBLElBQWZDLElBQUksR0FBQUosS0FBQSxDQUFBSyxLQUFBO1lBQ2IsSUFBSVQsc0JBQXNCLElBQUkvQixLQUFBLENBQUt5QyxnQkFBZ0IsQ0FBQ0YsSUFBSSxDQUFDRyxJQUFJLENBQUMsRUFBRTtjQUM5RFYsV0FBVyxDQUFDVyxJQUFJLENBQUNKLElBQUksQ0FBQztZQUN4QixDQUFDLE1BQU07Y0FDTDNCLFVBQVUsQ0FBQytCLElBQUksQ0FBQ0osSUFBSSxDQUFDRyxJQUFJLENBQUM7WUFDNUI7VUFDRjtRQUFDLFNBQUFFLEdBQUE7VUFBQVgsU0FBQSxDQUFBWSxDQUFBLENBQUFELEdBQUE7UUFBQTtVQUFBWCxTQUFBLENBQUFhLENBQUE7UUFBQTtRQUVELElBQU1DLFNBQVMsR0FBRztVQUFDcEMsS0FBSyxFQUFFcUIsV0FBVztVQUFFcEIsVUFBVSxFQUFWQSxVQUFVO1VBQUVGLFFBQVEsRUFBRTtRQUFLLENBQUM7UUFFbkVWLEtBQUEsQ0FBS2dELFFBQVEsQ0FBQ0QsU0FBUyxFQUFFO1VBQUEsT0FDdkJBLFNBQVMsQ0FBQ3BDLEtBQUssQ0FBQ2YsTUFBTSxHQUFHSSxLQUFBLENBQUtuRSxLQUFLLENBQUNvSCxZQUFZLENBQUNGLFNBQVMsQ0FBQ3BDLEtBQUssQ0FBQyxHQUFHLElBQUk7UUFBQSxDQUMxRSxDQUFDO01BQ0gsQ0FBQztNQUFBRixlQUFBLENBQUFULEtBQUEsc0JBRWtCLFVBQUFrRCxRQUFRLEVBQUk7UUFDN0JsRCxLQUFBLENBQUtnRCxRQUFRLENBQUM7VUFBQ3RDLFFBQVEsRUFBRXdDO1FBQVEsQ0FBQyxDQUFDO01BQ3JDLENBQUM7TUFBQXpDLGVBQUEsQ0FBQVQsS0FBQSx3QkFFb0IsVUFBQzBCLEtBQTBDLEVBQUs7UUFDbkUsSUFBTWIsU0FBUyxHQUFHYSxLQUFLLENBQUN5QixNQUFNLENBQUNYLEtBQUs7UUFDcEN4QyxLQUFBLENBQUtnRCxRQUFRLENBQUM7VUFDWm5DLFNBQVMsRUFBVEEsU0FBUztVQUNURSxXQUFXLEVBQUVGLFNBQVMsSUFBSSxDQUFDN0Ysa0JBQWtCLENBQUM2RixTQUFTLENBQUMsR0FBRztZQUFDdUMsT0FBTyxFQUFFO1VBQWUsQ0FBQyxHQUFHO1FBQzFGLENBQUMsQ0FBQztNQUNKLENBQUM7TUFBQTNDLGVBQUEsQ0FBQVQsS0FBQSwyQkFFdUIsVUFBQzBCLEtBQTJDLEVBQUs7UUFDdkUxQixLQUFBLENBQUtnRCxRQUFRLENBQUM7VUFBQ2xDLFlBQVksRUFBRVksS0FBSyxDQUFDeUIsTUFBTSxDQUFDWDtRQUFLLENBQUMsQ0FBQztNQUNuRCxDQUFDO01BQUEvQixlQUFBLENBQUFULEtBQUEseUJBRXFCLFVBQUMwQixLQUE0QyxFQUFLO1FBQ3RFLElBQUlBLEtBQUssQ0FBQ3hDLEdBQUcsS0FBSyxPQUFPLEVBQUU7VUFDekJ3QyxLQUFLLENBQUMyQixjQUFjLENBQUMsQ0FBQztVQUN0QnJELEtBQUEsQ0FBS3NELHFCQUFxQixDQUFDLENBQUM7UUFDOUI7TUFDRixDQUFDO01BQUE3QyxlQUFBLENBQUFULEtBQUEsd0NBQUF1RCxpQkFBQSxjQUFBQyxtQkFBQSxDQUFBQyxJQUFBLENBRXVCLFNBQUFDLFFBQUE7UUFBQSxJQUFBQyxXQUFBLEVBQUE5QyxTQUFBLEVBQUFDLFlBQUEsRUFBQUMsV0FBQSxFQUFBNkMsSUFBQSxFQUFBQyxrQkFBQSxFQUFBQyxNQUFBLEVBQUFDLFFBQUEsRUFBQUMsV0FBQSxFQUFBQyxVQUFBLEVBQUExQixJQUFBO1FBQUEsT0FBQWlCLG1CQUFBLENBQUFVLElBQUEsVUFBQUMsU0FBQUMsUUFBQTtVQUFBLGtCQUFBQSxRQUFBLENBQUFDLElBQUEsR0FBQUQsUUFBQSxDQUFBRSxJQUFBO1lBQUE7Y0FBQVgsV0FBQSxHQUN5QjNELEtBQUEsQ0FBS3VFLEtBQUssRUFBbEQxRCxTQUFTLEdBQUE4QyxXQUFBLENBQVQ5QyxTQUFTLEVBQUVDLFlBQVksR0FBQTZDLFdBQUEsQ0FBWjdDLFlBQVksRUFBRUMsV0FBVyxHQUFBNEMsV0FBQSxDQUFYNUMsV0FBVztjQUNwQzZDLElBQUksR0FBSTVELEtBQUEsQ0FBS25FLEtBQUssQ0FBbEIrSCxJQUFJO2NBQ0xDLGtCQUFrQixHQUFHMUksb0JBQW9CLENBQUMsQ0FBQyxDQUFDcUosOEJBQThCO2NBQzFFVixNQUFNLEdBQUdELGtCQUFrQixJQUFJL0MsWUFBWSxLQUFLLE1BQU0sR0FBR0EsWUFBWSxHQUFHMkQsU0FBUztjQUFBLE1BQ25GLENBQUM1RCxTQUFTLElBQUlFLFdBQVcsSUFBSWYsS0FBQSxDQUFLdUUsS0FBSyxDQUFDdkQsYUFBYTtnQkFBQW9ELFFBQUEsQ0FBQUUsSUFBQTtnQkFBQTtjQUFBO2NBQ3ZELElBQUksQ0FBQ3pELFNBQVMsRUFBRTtnQkFDZGIsS0FBQSxDQUFLZ0QsUUFBUSxDQUFDO2tCQUFDakMsV0FBVyxFQUFFO29CQUFDcUMsT0FBTyxFQUFFO2tCQUFlO2dCQUFDLENBQUMsQ0FBQztjQUMxRDtjQUFDLE9BQUFnQixRQUFBLENBQUFNLE1BQUE7WUFBQTtjQUFBLElBR0UxSixrQkFBa0IsQ0FBQzZGLFNBQVMsQ0FBQztnQkFBQXVELFFBQUEsQ0FBQUUsSUFBQTtnQkFBQTtjQUFBO2NBQ2hDdEUsS0FBQSxDQUFLZ0QsUUFBUSxDQUFDO2dCQUFDakMsV0FBVyxFQUFFO2tCQUFDcUMsT0FBTyxFQUFFO2dCQUFlO2NBQUMsQ0FBQyxDQUFDO2NBQUMsT0FBQWdCLFFBQUEsQ0FBQU0sTUFBQTtZQUFBO2NBSXJEWCxRQUFRLEdBQUdoSix1QkFBdUIsQ0FBQzhGLFNBQVMsRUFBRWlELE1BQU0sQ0FBQztjQUNyREUsV0FBVyxHQUFHSixJQUFJLENBQUNlLGFBQWEsQ0FBQztnQkFBQ0MsRUFBRSxFQUFFO2NBQTBCLENBQUMsQ0FBQztjQUN4RTVFLEtBQUEsQ0FBS2dELFFBQVEsQ0FBQztnQkFDWmhDLGFBQWEsRUFBRSxJQUFJO2dCQUNuQkQsV0FBVyxFQUFFLElBQUk7Z0JBQ2pCckIsY0FBYyxFQUFBZSxlQUFBLEtBQ1hzRCxRQUFRLEVBQUc7a0JBQ1ZBLFFBQVEsRUFBUkEsUUFBUTtrQkFDUjFFLE9BQU8sRUFBRSxDQUFDO2tCQUNWK0QsT0FBTyxFQUFFWSxXQUFXO2tCQUNwQmEsS0FBSyxFQUFFO2dCQUNULENBQUM7Y0FFTCxDQUFDLENBQUM7Y0FBQ1QsUUFBQSxDQUFBQyxJQUFBO2NBR0dKLFVBQVUsR0FBRyxDQUFDO2NBQUFHLFFBQUEsQ0FBQUUsSUFBQTtjQUFBLE9BQ0N4SiwyQkFBMkIsQ0FBQytGLFNBQVMsRUFBRWlELE1BQU0sRUFBRSxVQUFBZ0IsS0FBQSxFQUFlO2dCQUFBLElBQWJ6RixPQUFPLEdBQUF5RixLQUFBLENBQVB6RixPQUFPO2dCQUN6RSxJQUFNMEYsR0FBRyxHQUFHQyxJQUFJLENBQUNELEdBQUcsQ0FBQyxDQUFDO2dCQUN0QixJQUFJMUYsT0FBTyxHQUFHLENBQUMsSUFBSTBGLEdBQUcsR0FBR2QsVUFBVSxHQUFHLEdBQUcsRUFBRTtrQkFDekM7Z0JBQ0Y7Z0JBQ0FBLFVBQVUsR0FBR2MsR0FBRztnQkFDaEIvRSxLQUFBLENBQUtnRCxRQUFRLENBQUMsVUFBQXFCLElBQUksRUFBSTtrQkFDcEIsSUFBTTNCLElBQUksR0FBRzVELE1BQU0sQ0FBQ0MsSUFBSSxDQUFDc0YsSUFBSSxDQUFDM0UsY0FBYyxDQUFDLENBQUMsQ0FBQyxDQUFDLElBQUlxRSxRQUFRO2tCQUM1RCxPQUFPO29CQUNMckUsY0FBYyxFQUFBZSxlQUFBLEtBQ1hpQyxJQUFJLEVBQUc7c0JBQ05xQixRQUFRLEVBQUVyQixJQUFJO3NCQUNkckQsT0FBTyxFQUFQQSxPQUFPO3NCQUNQK0QsT0FBTyxFQUFFWSxXQUFXO3NCQUNwQmEsS0FBSyxFQUFFO29CQUNULENBQUM7a0JBRUwsQ0FBQztnQkFDSCxDQUFDLENBQUM7Y0FDSixDQUFDLENBQUM7WUFBQTtjQW5CSXRDLElBQUksR0FBQTZCLFFBQUEsQ0FBQWEsSUFBQTtjQW9CVmpGLEtBQUEsQ0FBS2dELFFBQVEsQ0FDWDtnQkFDRXJDLEtBQUssRUFBRSxDQUFDNEIsSUFBSSxDQUFDO2dCQUNiM0IsVUFBVSxFQUFFLEVBQUU7Z0JBQ2RGLFFBQVEsRUFBRTtjQUNaLENBQUMsRUFDRDtnQkFBQSxPQUFNVixLQUFBLENBQUtuRSxLQUFLLENBQUNvSCxZQUFZLENBQUMsQ0FBQ1YsSUFBSSxDQUFDLENBQUM7Y0FBQSxDQUN2QyxDQUFDO2NBQUM2QixRQUFBLENBQUFFLElBQUE7Y0FBQTtZQUFBO2NBQUFGLFFBQUEsQ0FBQUMsSUFBQTtjQUFBRCxRQUFBLENBQUFjLEVBQUEsR0FBQWQsUUFBQTtjQUVGcEUsS0FBQSxDQUFLZ0QsUUFBUSxDQUFDO2dCQUNaaEMsYUFBYSxFQUFFLEtBQUs7Z0JBQ3BCdEIsY0FBYyxFQUFFLENBQUMsQ0FBQztnQkFDbEJxQixXQUFXLEVBQUU7a0JBQ1hxQyxPQUFPLEVBQUVnQixRQUFBLENBQUFjLEVBQUEsWUFBaUJDLEtBQUssR0FBR2YsUUFBQSxDQUFBYyxFQUFBLENBQU05QixPQUFPLHFCQUFBNUMsTUFBQSxDQUFxQkssU0FBUztnQkFDL0U7Y0FDRixDQUFDLENBQUM7WUFBQztZQUFBO2NBQUEsT0FBQXVELFFBQUEsQ0FBQWdCLElBQUE7VUFBQTtRQUFBLEdBQUExQixPQUFBO01BQUEsQ0FFTjtNQUFBLE9BQUExRCxLQUFBO0lBQUE7SUFBQXFGLFNBQUEsQ0FBQXZGLFVBQUEsRUFBQUMsVUFBQTtJQUFBLE9BQUF1RixZQUFBLENBQUF4RixVQUFBO01BQUFaLEdBQUE7TUFBQXNELEtBQUEsRUFFRCxTQUFBK0MsTUFBTUEsQ0FBQSxFQUFHO1FBQUEsSUFBQUMsTUFBQTtRQUNQLElBQUFDLFlBQUEsR0FTSSxJQUFJLENBQUNsQixLQUFLO1VBUlo3RCxRQUFRLEdBQUErRSxZQUFBLENBQVIvRSxRQUFRO1VBQ1JDLEtBQUssR0FBQThFLFlBQUEsQ0FBTDlFLEtBQUs7VUFDTEMsVUFBVSxHQUFBNkUsWUFBQSxDQUFWN0UsVUFBVTtVQUNWQyxTQUFTLEdBQUE0RSxZQUFBLENBQVQ1RSxTQUFTO1VBQ1RDLFlBQVksR0FBQTJFLFlBQUEsQ0FBWjNFLFlBQVk7VUFDWkMsV0FBVyxHQUFBMEUsWUFBQSxDQUFYMUUsV0FBVztVQUNYQyxhQUFhLEdBQUF5RSxZQUFBLENBQWJ6RSxhQUFhO1VBQ2J0QixjQUFjLEdBQUErRixZQUFBLENBQWQvRixjQUFjO1FBRWhCLElBQUFnRyxXQUFBLEdBQXdELElBQUksQ0FBQzdKLEtBQUs7VUFBM0QyRCxXQUFXLEdBQUFrRyxXQUFBLENBQVhsRyxXQUFXO1VBQUVDLG1CQUFtQixHQUFBaUcsV0FBQSxDQUFuQmpHLG1CQUFtQjtVQUFFM0QsS0FBSyxHQUFBNEosV0FBQSxDQUFMNUosS0FBSztVQUFFOEgsSUFBSSxHQUFBOEIsV0FBQSxDQUFKOUIsSUFBSTtRQUNwRCxJQUFBK0IsWUFBQSxHQUFvRCxJQUFJLENBQUM5SixLQUFLO1VBQUErSixxQkFBQSxHQUFBRCxZQUFBLENBQXZEeEUsY0FBYztVQUFkQSxjQUFjLEdBQUF5RSxxQkFBQSxjQUFHLEVBQUUsR0FBQUEscUJBQUE7VUFBQUMscUJBQUEsR0FBQUYsWUFBQSxDQUFFRyxlQUFlO1VBQWZBLGVBQWUsR0FBQUQscUJBQUEsY0FBRyxFQUFFLEdBQUFBLHFCQUFBO1FBQ2hELElBQU1oQyxrQkFBa0IsR0FBRzFJLG9CQUFvQixDQUFDLENBQUMsQ0FBQ3FKLDhCQUE4QjtRQUNoRixJQUFNdUIsa0JBQWtCLE1BQUF2RixNQUFBLENBQU1vRCxJQUFJLENBQUNlLGFBQWEsQ0FDOUM7VUFDRUMsRUFBRSxFQUFFO1FBQ04sQ0FBQyxFQUNEO1VBQ0VrQixlQUFlLEVBQUVBLGVBQWUsQ0FBQ0UsR0FBRyxDQUFDLFVBQUFsQyxNQUFNO1lBQUEsWUFBQXRELE1BQUEsQ0FBU3NELE1BQU07VUFBQSxDQUFJLENBQUMsQ0FBQ21DLElBQUksQ0FBQyxJQUFJO1FBQzNFLENBQ0YsQ0FBQyxPQUFBekYsTUFBQSxDQUFJN0Ysc0JBQXNCLE9BQUk7UUFDL0Isb0JBQ0VWLEtBQUEsQ0FBQWlNLGFBQUEsQ0FBQzdJLGdCQUFnQjtVQUFDOEksU0FBUyxFQUFDLGVBQWU7VUFBQ0MsR0FBRyxFQUFFLElBQUksQ0FBQ0M7UUFBTSxHQUN6RDNMLFFBQVEsZ0JBQ1BULEtBQUEsQ0FBQWlNLGFBQUEsQ0FBQ3hMLFFBQVE7VUFDUDJMLEtBQUssRUFBRSxJQUFJLENBQUNBLEtBQUssQ0FBQ0MsT0FBTyxJQUFJQyxRQUFTO1VBQ3RDQyxVQUFVLEVBQUUsU0FBWkEsVUFBVUEsQ0FBQTtZQUFBLE9BQVFoQixNQUFJLENBQUNpQixnQkFBZ0IsQ0FBQyxJQUFJLENBQUM7VUFBQSxDQUFDO1VBQzlDQyxXQUFXLEVBQUUsU0FBYkEsV0FBV0EsQ0FBQTtZQUFBLE9BQVFsQixNQUFJLENBQUNpQixnQkFBZ0IsQ0FBQyxLQUFLLENBQUM7VUFBQSxDQUFDO1VBQ2hERSxNQUFNLEVBQUUsSUFBSSxDQUFDQyxnQkFBaUI7VUFDOUJULFNBQVMsRUFBQztRQUEwQixnQkFFcENsTSxLQUFBLENBQUFpTSxhQUFBLENBQUN6SyxtQkFBbUI7VUFBQzBLLFNBQVMsRUFBQztRQUFzQixnQkFDbkRsTSxLQUFBLENBQUFpTSxhQUFBLENBQUM5SyxRQUFRO1VBQ1B5TCxPQUFPLEVBQUU7WUFDUEMsU0FBUyxFQUFFO2NBQ1RDLENBQUMsRUFBRTtnQkFDREMsU0FBUyxFQUFFekw7Y0FDYjtZQUNGO1VBQ0Y7UUFBRSxHQUVEd0ssa0JBQ08sQ0FDUyxDQUFDLGVBQ3RCOUwsS0FBQSxDQUFBaU0sYUFBQSxDQUFDNUosY0FBYztVQUFDRSxTQUFTLEVBQUVrRTtRQUFTLGdCQUNsQ3pHLEtBQUEsQ0FBQWlNLGFBQUEsQ0FBQ3ZKLGNBQWMscUJBQ2IxQyxLQUFBLENBQUFpTSxhQUFBLENBQUMvSSxpQkFBaUI7VUFBQ2dKLFNBQVMsRUFBQztRQUFlLEdBQ3pDaEYsY0FBYyxDQUFDNkUsR0FBRyxDQUFDLFVBQUExRSxHQUFHO1VBQUEsb0JBQ3JCckgsS0FBQSxDQUFBaU0sYUFBQSxDQUFDMUwsUUFBUTtZQUFDMEUsR0FBRyxFQUFFb0MsR0FBSTtZQUFDQSxHQUFHLEVBQUVBLEdBQUk7WUFBQzJGLE1BQU0sRUFBQyxNQUFNO1lBQUNDLFFBQVEsRUFBQztVQUFLLENBQUUsQ0FBQztRQUFBLENBQzlELENBQ2dCLENBQUMsRUFDbkIxSCxXQUFXLElBQUl3QixhQUFhLGdCQUMzQi9HLEtBQUEsQ0FBQWlNLGFBQUEsQ0FBQ3pMLGtCQUFrQjtVQUNqQmdGLG1CQUFtQixFQUFFSCx1QkFBdUIsQ0FBQztZQUMzQ0UsV0FBVyxFQUFYQSxXQUFXO1lBQ1hDLG1CQUFtQixFQUFuQkEsbUJBQW1CO1lBQ25CQyxjQUFjLEVBQWRBO1VBQ0YsQ0FBQyxDQUFFO1VBQ0g1RCxLQUFLLEVBQUVBO1FBQU0sQ0FDZCxDQUFDLGdCQUVGN0IsS0FBQSxDQUFBaU0sYUFBQSxDQUFBak0sS0FBQSxDQUFBa04sUUFBQSxxQkFDRWxOLEtBQUEsQ0FBQWlNLGFBQUEsQ0FBQ2pKLG1CQUFtQjtVQUNsQm1LLEtBQUssRUFBRTtZQUFDQyxPQUFPLEVBQUUzRyxRQUFRLEdBQUcsR0FBRyxHQUFHO1VBQUMsQ0FBRTtVQUNyQ3lGLFNBQVMsRUFBQztRQUE2QixnQkFFdkNsTSxLQUFBLENBQUFpTSxhQUFBLENBQUMzTCxTQUFTO1VBQUMwTSxNQUFNLEVBQUM7UUFBTSxDQUFFLENBQUMsRUFDMUJyRyxVQUFVLENBQUNoQixNQUFNLGdCQUNoQjNGLEtBQUEsQ0FBQWlNLGFBQUEsQ0FBQ2hLLFVBQVUscUJBQ1RqQyxLQUFBLENBQUFpTSxhQUFBLENBQUNyTCxnQkFBZ0I7VUFDZitKLEVBQUUsRUFBRSwrQkFBZ0M7VUFDcEMwQyxNQUFNLEVBQUU7WUFBQzFHLFVBQVUsRUFBRUEsVUFBVSxDQUFDcUYsSUFBSSxDQUFDLElBQUk7VUFBQztRQUFFLENBQzdDLENBQ1MsQ0FBQyxHQUNYLElBQ2UsQ0FBQyxFQUNyQixDQUFDdEYsS0FBSyxDQUFDZixNQUFNLGdCQUNaM0YsS0FBQSxDQUFBaU0sYUFBQSxDQUFDekkscUJBQXFCLHFCQUNwQnhELEtBQUEsQ0FBQWlNLGFBQUEsQ0FBQ3JKLGdCQUFnQixxQkFDZjVDLEtBQUEsQ0FBQWlNLGFBQUEsQ0FBQ3JMLGdCQUFnQjtVQUNmK0osRUFBRSxFQUFFLDBCQUEyQjtVQUMvQjBDLE1BQU0sRUFBRTtZQUNOQyxNQUFNLGVBQ0p0TixLQUFBLENBQUFpTSxhQUFBLENBQUM1TCxZQUFZO2NBQUM0RSxHQUFHLEVBQUMsUUFBUTtjQUFDc0ksUUFBUSxFQUFFLElBQUksQ0FBQ1o7WUFBaUIsR0FDeERoRCxJQUFJLENBQUNlLGFBQWEsQ0FBQztjQUFDQyxFQUFFLEVBQUU7WUFBMEIsQ0FBQyxDQUN4QztVQUVsQjtRQUFFLENBQ0gsQ0FDZSxDQUFDLGVBQ25CM0ssS0FBQSxDQUFBaU0sYUFBQSxDQUFDckksbUJBQW1CO1VBQ2xCc0ksU0FBUyxFQUFDLDJCQUEyQjtVQUNyQ3NCLE9BQU8sRUFBRSxTQUFUQSxPQUFPQSxDQUFFL0YsS0FBSztZQUFBLE9BQUlBLEtBQUssQ0FBQ0MsZUFBZSxDQUFDLENBQUM7VUFBQTtRQUFDLGdCQUUxQzFILEtBQUEsQ0FBQWlNLGFBQUEsQ0FBQ25JLGtCQUFrQixxQkFDakI5RCxLQUFBLENBQUFpTSxhQUFBLENBQUNqSSxvQkFBb0I7VUFDbkJ5SixJQUFJLEVBQUMsS0FBSztVQUNWbEYsS0FBSyxFQUFFM0IsU0FBVTtVQUNqQixjQUFZK0MsSUFBSSxDQUFDZSxhQUFhLENBQUM7WUFDN0JDLEVBQUUsRUFBRTtVQUNOLENBQUMsQ0FBRTtVQUNIK0MsV0FBVyxFQUFFL0QsSUFBSSxDQUFDZSxhQUFhLENBQUM7WUFDOUJDLEVBQUUsRUFBRTtVQUNOLENBQUMsQ0FBRTtVQUNIZ0QsUUFBUSxFQUFFLElBQUksQ0FBQ0Msa0JBQW1CO1VBQ2xDQyxTQUFTLEVBQUUsSUFBSSxDQUFDQyxtQkFBb0I7VUFDcENDLFFBQVEsRUFBRWhIO1FBQWMsQ0FDekIsQ0FBQyxFQUNENkMsa0JBQWtCLGdCQUNqQjVKLEtBQUEsQ0FBQWlNLGFBQUEsQ0FBQy9ILHdCQUF3QjtVQUN2QmdJLFNBQVMsRUFBQyw4QkFBOEI7VUFDeEMsY0FBWXZDLElBQUksQ0FBQ2UsYUFBYSxDQUFDO1lBQUNDLEVBQUUsRUFBRTtVQUFxQixDQUFDLENBQUU7VUFDNURwQyxLQUFLLEVBQUUxQixZQUFhO1VBQ3BCOEcsUUFBUSxFQUFFLElBQUksQ0FBQ0sscUJBQXNCO1VBQ3JDRCxRQUFRLEVBQUVoSDtRQUFjLEdBRXZCcEcsbUJBQW1CLENBQUNvTCxHQUFHLENBQUMsVUFBQWxDLE1BQU07VUFBQSxvQkFDN0I3SixLQUFBLENBQUFpTSxhQUFBO1lBQVFoSCxHQUFHLEVBQUU0RSxNQUFPO1lBQUN0QixLQUFLLEVBQUVzQjtVQUFPLEdBQ2hDQSxNQUFNLEtBQUssTUFBTSxHQUNkRixJQUFJLENBQUNlLGFBQWEsQ0FBQztZQUFDQyxFQUFFLEVBQUU7VUFBeUIsQ0FBQyxDQUFDLEdBQ25EZCxNQUFNLENBQUNvRSxXQUFXLENBQUMsQ0FDakIsQ0FBQztRQUFBLENBQ1YsQ0FDdUIsQ0FBQyxHQUN6QixJQUFJLGVBQ1JqTyxLQUFBLENBQUFpTSxhQUFBLENBQUMzSCx1QkFBdUI7VUFDdEJtSixJQUFJLEVBQUMsUUFBUTtVQUNiUyxHQUFHO1VBQ0hDLEtBQUs7VUFDTEosUUFBUSxFQUFFLENBQUNuSCxTQUFTLElBQUlHLGFBQWM7VUFDdEN5RyxPQUFPLEVBQUUsSUFBSSxDQUFDbkU7UUFBc0IsZ0JBRXBDckosS0FBQSxDQUFBaU0sYUFBQSxDQUFDckwsZ0JBQWdCO1VBQUMrSixFQUFFLEVBQUU7UUFBcUIsQ0FBRSxDQUN0QixDQUNQLENBQUMsRUFDcEI3RCxXQUFXLGdCQUFHOUcsS0FBQSxDQUFBaU0sYUFBQSxDQUFDaEssVUFBVSxRQUFFNkUsV0FBVyxDQUFDcUMsT0FBb0IsQ0FBQyxHQUFHLElBQzdDLENBQ0EsQ0FBQyxHQUN0QixJQUNKLENBRVUsQ0FBQyxFQUNoQjVELFdBQVcsSUFBSXdCLGFBQWEsR0FBRyxJQUFJLGdCQUNsQy9HLEtBQUEsQ0FBQWlNLGFBQUEsQ0FBQ3ZJLGdCQUFnQixxQkFDZjFELEtBQUEsQ0FBQWlNLGFBQUEsQ0FBQ3JMLGdCQUFnQjtVQUFDK0osRUFBRSxFQUFFO1FBQTBCLENBQUUsQ0FDbEMsQ0FFTixDQUNSLENBQUMsR0FDVCxJQUFJLGVBRVIzSyxLQUFBLENBQUFpTSxhQUFBLENBQUNoSyxVQUFVLFFBQ1JoQixRQUFRLENBQUMsQ0FBQyxnQkFBR2pCLEtBQUEsQ0FBQWlNLGFBQUEsQ0FBQ3JMLGdCQUFnQjtVQUFDK0osRUFBRSxFQUFFO1FBQTZCLENBQUUsQ0FBQyxHQUFHLEVBQzdELENBQ0ksQ0FBQztNQUV2QjtJQUFDO01BQUExRixHQUFBO01BQUFzRCxLQUFBLEVBaFRELFNBQU82Rix3QkFBd0JBLENBQUN4TSxLQUFLLEVBQUUwSSxLQUFLLEVBQUU7UUFDNUMsSUFBSUEsS0FBSyxDQUFDL0UsV0FBVyxJQUFJM0QsS0FBSyxDQUFDMkQsV0FBVyxLQUFLLEtBQUssSUFBSStFLEtBQUssQ0FBQzVELEtBQUssQ0FBQ2YsTUFBTSxFQUFFO1VBQzFFLE9BQU87WUFDTGUsS0FBSyxFQUFFLEVBQUU7WUFDVG5CLFdBQVcsRUFBRTNELEtBQUssQ0FBQzJELFdBQVc7WUFDOUJ3QixhQUFhLEVBQUUsS0FBSztZQUNwQnRCLGNBQWMsRUFBRSxDQUFDO1VBQ25CLENBQUM7UUFDSDtRQUNBLE9BQUFOLGFBQUE7VUFDRUksV0FBVyxFQUFFM0QsS0FBSyxDQUFDMkQ7UUFBVyxHQUMxQjNELEtBQUssQ0FBQzJELFdBQVcsR0FBRztVQUFDd0IsYUFBYSxFQUFFO1FBQUssQ0FBQyxHQUFHLENBQUMsQ0FBQztNQUV2RDtJQUFDO0VBQUEsRUExQnNCOUcsU0FBUztFQWdVbEMsT0FBT0csVUFBVSxDQUFDeUYsVUFBVSxDQUFDO0FBQy9CO0FBRUEsZUFBZUQsaUJBQWlCO0FBQ2hDLE9BQU8sSUFBTUMsVUFBVSxHQUFHRCxpQkFBaUIsQ0FBQyxDQUFDIiwiaWdub3JlTGlzdCI6W119
|