@kepler.gl/constants 3.2.5 → 3.3.0-alpha.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
@@ -4,8 +4,8 @@ var _interopRequireDefault = require("@babel/runtime/helpers/interopRequireDefau
4
4
  Object.defineProperty(exports, "__esModule", {
5
5
  value: true
6
6
  });
7
- exports.MAP_THUMBNAIL_DIMENSION = exports.MAP_LIB_OPTIONS = exports.MAP_INFO_CHARACTER = exports.MAP_CONTROLS = exports.LOADING_METHODS = exports.LOADERS_CDN_VERSION = exports.LOADERS_CDN_URL = exports.LIGHT_AND_SHADOW_EFFECT_TIME_MODES = exports.LIGHT_AND_SHADOW_EFFECT = exports.LAYER_BLENDINGS = exports.KEPLER_UNFOLDED_BUCKET = exports.KEPLER_GL_WEBSITE = exports.KEPLER_GL_VERSION = exports.KEPLER_GL_NAME = exports.INIT_FILTER_ITEMS_IN_DROPDOWN = exports.ICON_FIELDS = exports.HIGHLIGH_COLOR_3D = exports.GEOJSON_FIELDS = exports.GEOCODER_LAYER_ID = exports.GEOCODER_ICON_SIZE = exports.GEOCODER_ICON_COLOR = exports.GEOCODER_GEO_OFFSET = exports.GEOCODER_DATASET_NAME = exports.GEOARROW_METADATA_KEY = exports.GEOARROW_EXTENSIONS = exports.FourByThreeRatioOption = exports.FPS = exports.FILTER_VIEW_TYPES = exports.FILTER_TYPES = exports.FIELD_TYPE_DISPLAY = exports.FIELD_OPTS = exports.FIELD_COLORS = exports.EXPORT_MAP_ID = exports.EXPORT_MAP_FORMAT_OPTIONS = exports.EXPORT_MAP_FORMATS = exports.EXPORT_IMG_RESOLUTION_OPTIONS = exports.EXPORT_IMG_RATIO_OPTIONS = exports.EXPORT_IMG_RATIOS = exports.EXPORT_IMAGE_ID = exports.EXPORT_HTML_MAP_MODE_OPTIONS = exports.EXPORT_HTML_MAP_MODES = exports.EXPORT_DATA_TYPE_OPTIONS = exports.EXPORT_DATA_TYPE = exports.EXPORT_DATA_ID = exports.EMPTY_MAPBOX_STYLE = exports.EFFECT_DESCRIPTIONS = exports.EDITOR_MODES = exports.EDITOR_LAYER_PICKING_RADIUS = exports.EDITOR_LAYER_ID = exports.DIMENSIONS = exports.DELETE_DATA_ID = exports.DEFAULT_UUID_COUNT = exports.DEFAULT_TOOLTIP_FIELDS = exports.DEFAULT_TIME_FORMAT = exports.DEFAULT_TIMEZONE = exports.DEFAULT_SHADOW_INTENSITY = exports.DEFAULT_SHADOW_COLOR = exports.DEFAULT_POST_PROCESSING_EFFECT_TYPE = exports.DEFAULT_PICKING_RADIUS = exports.DEFAULT_NO_BASEMAP_STYLE = exports.DEFAULT_NOTIFICATION_TYPES = exports.DEFAULT_NOTIFICATION_TOPICS = exports.DEFAULT_NOTIFICATION_MESSAGE = exports.DEFAULT_MAP_STYLES = exports.DEFAULT_MAPLIBRE_STYLES = exports.DEFAULT_MAPBOX_STYLES = exports.DEFAULT_MAPBOX_SATELITE_STYLES = exports.DEFAULT_MAPBOX_API_URL = exports.DEFAULT_LIGHT_INTENSITY = exports.DEFAULT_LIGHT_COLOR = exports.DEFAULT_LIGHT_AND_SHADOW_PROPS = exports.DEFAULT_LAYER_GROUPS = exports.DEFAULT_LAYER_COLOR_PALETTE_STEPS = exports.DEFAULT_LAYER_COLOR_PALETTE = exports.DEFAULT_LAYER_COLOR = exports.DEFAULT_FILTER_VIEW_TYPE = exports.DEFAULT_FEATURE_FLAGS = exports.DEFAULT_BLDG_COLOR = exports.DEFAULT_BASE_MAP_STYLE = exports.DEFAULT_BACKGROUND_COLOR = exports.DEFAULT_AGGREGATION = exports.DATA_TABLE_ID = exports.DATASET_FORMATS = exports.CustomRatioOption = exports.CHANNEL_SCALE_SUPPORTED_FIELDS = exports.CHANNEL_SCALES = exports.BASE_SPEED = exports.BASE_MAP_COLOR_MODES = exports.BASE_MAP_BACKGROUND_LAYER_IDS = exports.BASEMAP_ICON_PREFIX = exports.BACKGROUND_LAYER_GROUP_SLUG = exports.BACKGROUND_LAYER_GROUP = exports.ANIMATION_WINDOW = exports.ALTITUDE_FIELDS = exports.ALL_FIELD_TYPES = exports.AGGREGATION_TYPE_OPTIONS = exports.AGGREGATION_TYPES = exports.ADD_MAP_STYLE_ID = exports.ADD_DATA_ID = exports.ACTION_PREFIX = void 0;
8
- exports.dataTestIds = exports.TwoXResolutionOption = exports.TRIP_POINT_FIELDS = exports.TRIP_ARC_FIELDS = exports.TRANSITION_DURATION = exports.THROTTLE_NOTIFICATION_TIME = exports.THREE_D_BUILDING_LAYER_GROUP_SLUG = exports.THEME = exports.TEXT_OUTLINE_MULTIPLIER = exports.TABLE_OPTION_LIST = exports.TABLE_OPTION = exports.SixteenByNineRatioOption = exports.ScreenRatioOption = exports.SYNC_TIMELINE_MODES = exports.SPEED_CONTROL_STEP = exports.SPEED_CONTROL_RANGE = exports.SORT_ORDER = exports.SIDEBAR_PANELS = exports.SHARE_MAP_ID = exports.SCALE_TYPE_NAMES = exports.SCALE_TYPES = exports.SCALE_FUNC = exports.SAVE_MAP_ID = exports.RESOLUTIONS = exports.PROJECTED_PIXEL_SIZE_MULTIPLIER = exports.POSTPROCESSING_EFFECTS = exports.PLOT_TYPES = exports.PANEL_VIEW_TOGGLES = exports.PANELS = exports.OneXResolutionOption = exports.OVERWRITE_MAP_ID = exports.OVERLAY_BLENDINGS = exports.NO_VALUE_COLOR = exports.NO_MAP_ID = exports.NO_BASEMAP_ICON = exports.MAX_GPU_FILTERS = exports.MAX_DEFAULT_TOOLTIPS = void 0;
7
+ exports.MAP_LIB_OPTIONS = exports.MAP_INFO_CHARACTER = exports.MAP_CONTROLS = exports.LOADING_METHODS = exports.LOADERS_CDN_VERSION = exports.LOADERS_CDN_URL = exports.LIGHT_AND_SHADOW_EFFECT_TIME_MODES = exports.LIGHT_AND_SHADOW_EFFECT = exports.LAYER_BLENDINGS = exports.KEPLER_UNFOLDED_BUCKET = exports.KEPLER_GL_WEBSITE = exports.KEPLER_GL_VERSION = exports.KEPLER_GL_NAME = exports.INIT_FILTER_ITEMS_IN_DROPDOWN = exports.ICON_FIELDS = exports.HIGHLIGH_COLOR_3D = exports.GEOJSON_FIELDS = exports.GEOCODER_LAYER_ID = exports.GEOCODER_ICON_SIZE = exports.GEOCODER_ICON_COLOR = exports.GEOCODER_GEO_OFFSET = exports.GEOCODER_DATASET_NAME = exports.GEOARROW_METADATA_KEY = exports.GEOARROW_EXTENSIONS = exports.FourByThreeRatioOption = exports.FPS = exports.FILTER_VIEW_TYPES = exports.FILTER_TYPES = exports.FIELD_TYPE_DISPLAY = exports.FIELD_OPTS = exports.FIELD_COLORS = exports.EXPORT_MAP_ID = exports.EXPORT_MAP_FORMAT_OPTIONS = exports.EXPORT_MAP_FORMATS = exports.EXPORT_IMG_RESOLUTION_OPTIONS = exports.EXPORT_IMG_RATIO_OPTIONS = exports.EXPORT_IMG_RATIOS = exports.EXPORT_IMAGE_ID = exports.EXPORT_HTML_MAP_MODE_OPTIONS = exports.EXPORT_HTML_MAP_MODES = exports.EXPORT_DATA_TYPE_OPTIONS = exports.EXPORT_DATA_TYPE = exports.EXPORT_DATA_ID = exports.EMPTY_MAPBOX_STYLE = exports.EFFECT_DESCRIPTIONS = exports.EDITOR_MODES = exports.EDITOR_LAYER_PICKING_RADIUS = exports.EDITOR_LAYER_ID = exports.DISTANCE_FOG_TYPE = exports.DIMENSIONS = exports.DELETE_DATA_ID = exports.DEFAULT_UUID_COUNT = exports.DEFAULT_TOOLTIP_FIELDS = exports.DEFAULT_TIME_FORMAT = exports.DEFAULT_TIMEZONE = exports.DEFAULT_SHADOW_INTENSITY = exports.DEFAULT_SHADOW_COLOR = exports.DEFAULT_POST_PROCESSING_EFFECT_TYPE = exports.DEFAULT_PICKING_RADIUS = exports.DEFAULT_NO_BASEMAP_STYLE = exports.DEFAULT_NOTIFICATION_TYPES = exports.DEFAULT_NOTIFICATION_TOPICS = exports.DEFAULT_NOTIFICATION_MESSAGE = exports.DEFAULT_MAP_STYLES = exports.DEFAULT_MAPLIBRE_STYLES = exports.DEFAULT_MAPBOX_STYLES = exports.DEFAULT_MAPBOX_SATELITE_STYLES = exports.DEFAULT_MAPBOX_API_URL = exports.DEFAULT_LIGHT_INTENSITY = exports.DEFAULT_LIGHT_COLOR = exports.DEFAULT_LIGHT_AND_SHADOW_PROPS = exports.DEFAULT_LAYER_GROUPS = exports.DEFAULT_LAYER_COLOR_PALETTE_STEPS = exports.DEFAULT_LAYER_COLOR_PALETTE = exports.DEFAULT_LAYER_COLOR = exports.DEFAULT_FILTER_VIEW_TYPE = exports.DEFAULT_FEATURE_FLAGS = exports.DEFAULT_BLDG_COLOR = exports.DEFAULT_BASE_MAP_STYLE = exports.DEFAULT_BACKGROUND_COLOR = exports.DEFAULT_AGGREGATION = exports.DATA_TABLE_ID = exports.DATASET_FORMATS = exports.CustomRatioOption = exports.CHANNEL_SCALE_SUPPORTED_FIELDS = exports.CHANNEL_SCALES = exports.BASE_SPEED = exports.BASE_MAP_COLOR_MODES = exports.BASE_MAP_BACKGROUND_LAYER_IDS = exports.BASEMAP_ICON_PREFIX = exports.BACKGROUND_LAYER_GROUP_SLUG = exports.BACKGROUND_LAYER_GROUP = exports.ANIMATION_WINDOW = exports.ALTITUDE_FIELDS = exports.ALL_FIELD_TYPES = exports.AGGREGATION_TYPE_OPTIONS = exports.AGGREGATION_TYPES = exports.ADD_MAP_STYLE_ID = exports.ADD_DATA_ID = exports.ACTION_PREFIX = void 0;
8
+ exports.dataTestIds = exports.TwoXResolutionOption = exports.TRIP_POINT_FIELDS = exports.TRIP_ARC_FIELDS = exports.TRANSITION_DURATION = exports.THROTTLE_NOTIFICATION_TIME = exports.THREE_D_BUILDING_LAYER_GROUP_SLUG = exports.THEME = exports.TEXT_OUTLINE_MULTIPLIER = exports.TABLE_OPTION_LIST = exports.TABLE_OPTION = exports.SixteenByNineRatioOption = exports.ScreenRatioOption = exports.SYNC_TIMELINE_MODES = exports.SURFACE_FOG_TYPE = exports.SPEED_CONTROL_STEP = exports.SPEED_CONTROL_RANGE = exports.SORT_ORDER = exports.SIDEBAR_PANELS = exports.SHARE_MAP_ID = exports.SCALE_TYPE_NAMES = exports.SCALE_TYPES = exports.SCALE_FUNC = exports.SAVE_MAP_ID = exports.Resolution2560x1440Option = exports.Resolution1920x1440Option = exports.Resolution1920x1080Option = exports.Resolution1600x900Option = exports.Resolution1600x1200Option = exports.Resolution1280x960Option = exports.Resolution1280x720Option = exports.Resolution1024x768Option = exports.RESOLUTIONS = exports.PROJECTED_PIXEL_SIZE_MULTIPLIER = exports.POSTPROCESSING_EFFECTS = exports.PLOT_TYPES = exports.PANEL_VIEW_TOGGLES = exports.PANELS = exports.OneXResolutionOption = exports.OVERWRITE_MAP_ID = exports.OVERLAY_BLENDINGS = exports.NO_VALUE_COLOR = exports.NO_MAP_ID = exports.NO_BASEMAP_ICON = exports.MAX_GPU_FILTERS = exports.MAX_DEFAULT_TOOLTIPS = exports.MAP_THUMBNAIL_DIMENSION = void 0;
9
9
  exports.getHTMLMapModeTileUrl = getHTMLMapModeTileUrl;
10
10
  exports.ordinalFieldScaleFunctions = exports.ordinalFieldAggrScaleFunctions = exports.notSupportedScaleOpts = exports.notSupportAggrOpts = exports.linearFieldScaleFunctions = exports.linearFieldAggrScaleFunctions = exports.getLoaderOptions = void 0;
11
11
  var _toConsumableArray2 = _interopRequireDefault(require("@babel/runtime/helpers/toConsumableArray"));
@@ -101,7 +101,7 @@ var KEPLER_GL_NAME = exports.KEPLER_GL_NAME = 'kepler.gl';
101
101
  // Since we are injecting this during the build process with babel
102
102
  // while developing VERSION is not defined, we capture the exception and return
103
103
  // an empty string which will allow us to retrieve the latest umd version
104
- var KEPLER_GL_VERSION = exports.KEPLER_GL_VERSION = "3.2.5";
104
+ var KEPLER_GL_VERSION = exports.KEPLER_GL_VERSION = "3.3.0-alpha.0";
105
105
  var KEPLER_GL_WEBSITE = exports.KEPLER_GL_WEBSITE = 'http://kepler.gl/';
106
106
  var DIMENSIONS = exports.DIMENSIONS = {
107
107
  sidePanel: {
@@ -788,7 +788,7 @@ var SixteenByNineRatioOption = exports.SixteenByNineRatioOption = {
788
788
  };
789
789
  }
790
790
  };
791
- var EXPORT_IMG_RATIO_OPTIONS = exports.EXPORT_IMG_RATIO_OPTIONS = [ScreenRatioOption, CustomRatioOption, FourByThreeRatioOption, SixteenByNineRatioOption];
791
+ var EXPORT_IMG_RATIO_OPTIONS = exports.EXPORT_IMG_RATIO_OPTIONS = [ScreenRatioOption, FourByThreeRatioOption, SixteenByNineRatioOption, CustomRatioOption];
792
792
  var OneXResolutionOption = exports.OneXResolutionOption = {
793
793
  id: RESOLUTIONS.ONE_X,
794
794
  label: '1x',
@@ -813,7 +813,97 @@ var TwoXResolutionOption = exports.TwoXResolutionOption = {
813
813
  };
814
814
  }
815
815
  };
816
- var EXPORT_IMG_RESOLUTION_OPTIONS = exports.EXPORT_IMG_RESOLUTION_OPTIONS = [OneXResolutionOption, TwoXResolutionOption];
816
+
817
+ // Fixed dimension options
818
+ var Resolution1920x1080Option = exports.Resolution1920x1080Option = {
819
+ id: '1920x1080',
820
+ label: '1920 × 1080 (16:9)',
821
+ available: true,
822
+ getSize: function getSize() {
823
+ return {
824
+ width: 1920,
825
+ height: 1080
826
+ };
827
+ }
828
+ };
829
+ var Resolution1280x720Option = exports.Resolution1280x720Option = {
830
+ id: '1280x720',
831
+ label: '1280 × 720 (16:9)',
832
+ available: true,
833
+ getSize: function getSize() {
834
+ return {
835
+ width: 1280,
836
+ height: 720
837
+ };
838
+ }
839
+ };
840
+ var Resolution2560x1440Option = exports.Resolution2560x1440Option = {
841
+ id: '2560x1440',
842
+ label: '2560 × 1440 (16:9)',
843
+ available: true,
844
+ getSize: function getSize() {
845
+ return {
846
+ width: 2560,
847
+ height: 1440
848
+ };
849
+ }
850
+ };
851
+ var Resolution1600x900Option = exports.Resolution1600x900Option = {
852
+ id: '1600x900',
853
+ label: '1600 × 900 (16:9)',
854
+ available: true,
855
+ getSize: function getSize() {
856
+ return {
857
+ width: 1600,
858
+ height: 900
859
+ };
860
+ }
861
+ };
862
+ var Resolution1024x768Option = exports.Resolution1024x768Option = {
863
+ id: '1024x768',
864
+ label: '1024 × 768 (4:3)',
865
+ available: true,
866
+ getSize: function getSize() {
867
+ return {
868
+ width: 1024,
869
+ height: 768
870
+ };
871
+ }
872
+ };
873
+ var Resolution1280x960Option = exports.Resolution1280x960Option = {
874
+ id: '1280x960',
875
+ label: '1280 × 960 (4:3)',
876
+ available: true,
877
+ getSize: function getSize() {
878
+ return {
879
+ width: 1280,
880
+ height: 960
881
+ };
882
+ }
883
+ };
884
+ var Resolution1600x1200Option = exports.Resolution1600x1200Option = {
885
+ id: '1600x1200',
886
+ label: '1600 × 1200 (4:3)',
887
+ available: true,
888
+ getSize: function getSize() {
889
+ return {
890
+ width: 1600,
891
+ height: 1200
892
+ };
893
+ }
894
+ };
895
+ var Resolution1920x1440Option = exports.Resolution1920x1440Option = {
896
+ id: '1920x1440',
897
+ label: '1920 × 1440 (4:3)',
898
+ available: true,
899
+ getSize: function getSize() {
900
+ return {
901
+ width: 1920,
902
+ height: 1440
903
+ };
904
+ }
905
+ };
906
+ var EXPORT_IMG_RESOLUTION_OPTIONS = exports.EXPORT_IMG_RESOLUTION_OPTIONS = [OneXResolutionOption, TwoXResolutionOption, Resolution1280x720Option, Resolution1920x1080Option, Resolution2560x1440Option, Resolution1600x900Option, Resolution1024x768Option, Resolution1280x960Option, Resolution1600x1200Option, Resolution1920x1440Option];
817
907
  var EXPORT_DATA_TYPE = exports.EXPORT_DATA_TYPE = (0, _keymirror["default"])({
818
908
  CSV: null
819
909
  // SHAPEFILE: null,
@@ -1087,6 +1177,8 @@ var LIGHT_AND_SHADOW_EFFECT = exports.LIGHT_AND_SHADOW_EFFECT = {
1087
1177
  defaultValue: DEFAULT_LIGHT_COLOR
1088
1178
  }]
1089
1179
  };
1180
+ var DISTANCE_FOG_TYPE = exports.DISTANCE_FOG_TYPE = 'distanceFog';
1181
+ var SURFACE_FOG_TYPE = exports.SURFACE_FOG_TYPE = 'surfaceFog';
1090
1182
  var POSTPROCESSING_EFFECTS = exports.POSTPROCESSING_EFFECTS = {
1091
1183
  ink: {
1092
1184
  type: 'ink',
@@ -1305,6 +1397,62 @@ var POSTPROCESSING_EFFECTS = exports.POSTPROCESSING_EFFECTS = {
1305
1397
  min: 1,
1306
1398
  max: 50
1307
1399
  }]
1400
+ },
1401
+ distanceFog: {
1402
+ type: DISTANCE_FOG_TYPE,
1403
+ name: 'Distance Fog',
1404
+ parameters: [{
1405
+ name: 'density',
1406
+ defaultValue: 0.5,
1407
+ min: 0,
1408
+ max: 1
1409
+ }, {
1410
+ name: 'fogStart',
1411
+ label: 'Start',
1412
+ defaultValue: 0.3,
1413
+ min: 0,
1414
+ max: 1
1415
+ }, {
1416
+ name: 'fogRange',
1417
+ label: 'Range',
1418
+ defaultValue: 0.5,
1419
+ min: 0.01,
1420
+ max: 1
1421
+ }, {
1422
+ name: 'fogColor',
1423
+ type: 'color',
1424
+ min: 0,
1425
+ max: 255,
1426
+ defaultValue: [217, 222, 230]
1427
+ }]
1428
+ },
1429
+ surfaceFog: {
1430
+ type: SURFACE_FOG_TYPE,
1431
+ name: 'Surface Fog',
1432
+ parameters: [{
1433
+ name: 'density',
1434
+ defaultValue: 0.6,
1435
+ min: 0,
1436
+ max: 1
1437
+ }, {
1438
+ name: 'height',
1439
+ label: 'Elevation (m)',
1440
+ defaultValue: 100,
1441
+ min: -200,
1442
+ max: 3000
1443
+ }, {
1444
+ name: 'thickness',
1445
+ label: 'Transition (m)',
1446
+ defaultValue: 200,
1447
+ min: 0,
1448
+ max: 1000
1449
+ }, {
1450
+ name: 'fogColor',
1451
+ type: 'color',
1452
+ min: 0,
1453
+ max: 255,
1454
+ defaultValue: [230, 235, 242]
1455
+ }]
1308
1456
  }
1309
1457
  };
1310
1458
  var EFFECT_DESCRIPTIONS = exports.EFFECT_DESCRIPTIONS = [LIGHT_AND_SHADOW_EFFECT].concat((0, _toConsumableArray2["default"])(Object.keys(POSTPROCESSING_EFFECTS).map(function (keyName) {
@@ -1344,4 +1492,4 @@ var getLoaderOptions = exports.getLoaderOptions = function getLoaderOptions() {
1344
1492
  }
1345
1493
  };
1346
1494
  };
1347
- //# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJuYW1lcyI6WyJfa2V5bWlycm9yIiwiX2ludGVyb3BSZXF1aXJlRGVmYXVsdCIsInJlcXVpcmUiLCJfZDNTY2FsZSIsIl90b29sdGlwIiwiX0ZJRUxEX1RZUEVfRElTUExBWSIsIl9GSUVMRF9PUFRTIiwib3duS2V5cyIsImUiLCJyIiwidCIsIk9iamVjdCIsImtleXMiLCJnZXRPd25Qcm9wZXJ0eVN5bWJvbHMiLCJvIiwiZmlsdGVyIiwiZ2V0T3duUHJvcGVydHlEZXNjcmlwdG9yIiwiZW51bWVyYWJsZSIsInB1c2giLCJhcHBseSIsIl9vYmplY3RTcHJlYWQiLCJhcmd1bWVudHMiLCJsZW5ndGgiLCJmb3JFYWNoIiwiX2RlZmluZVByb3BlcnR5MiIsImdldE93blByb3BlcnR5RGVzY3JpcHRvcnMiLCJkZWZpbmVQcm9wZXJ0aWVzIiwiZGVmaW5lUHJvcGVydHkiLCJBQ1RJT05fUFJFRklYIiwiZXhwb3J0cyIsIktFUExFUl9VTkZPTERFRF9CVUNLRVQiLCJCQVNFTUFQX0lDT05fUFJFRklYIiwiREVGQVVMVF9NQVBCT1hfQVBJX1VSTCIsIlRSQU5TSVRJT05fRFVSQVRJT04iLCJEQVRBX1RBQkxFX0lEIiwiREVMRVRFX0RBVEFfSUQiLCJBRERfREFUQV9JRCIsIkVYUE9SVF9JTUFHRV9JRCIsIkVYUE9SVF9EQVRBX0lEIiwiQUREX01BUF9TVFlMRV9JRCIsIkVYUE9SVF9NQVBfSUQiLCJTQVZFX01BUF9JRCIsIk9WRVJXUklURV9NQVBfSUQiLCJTSEFSRV9NQVBfSUQiLCJLRVBMRVJfR0xfTkFNRSIsIktFUExFUl9HTF9WRVJTSU9OIiwiS0VQTEVSX0dMX1dFQlNJVEUiLCJESU1FTlNJT05TIiwic2lkZVBhbmVsIiwid2lkdGgiLCJtYXJnaW4iLCJ0b3AiLCJsZWZ0IiwiYm90dG9tIiwicmlnaHQiLCJoZWFkZXJIZWlnaHQiLCJtYXBDb250cm9sIiwicGFkZGluZyIsIm1hcExlZ2VuZCIsInBpbm5lZCIsIlRIRU1FIiwia2V5TWlycm9yIiwibGlnaHQiLCJkYXJrIiwiYmFzZSIsIlNJREVCQVJfUEFORUxTIiwiaWQiLCJsYWJlbCIsIm9uQ2xpY2siLCJQQU5FTF9WSUVXX1RPR0dMRVMiLCJsaXN0IiwiYnlEYXRhc2V0IiwiUEFORUxTIiwiREVGQVVMVF9CTERHX0NPTE9SIiwiREVGQVVMVF9CQUNLR1JPVU5EX0NPTE9SIiwiQkFTRV9NQVBfQkFDS0dST1VORF9MQVlFUl9JRFMiLCJCQUNLR1JPVU5EX0xBWUVSX0dST1VQX1NMVUciLCJUSFJFRV9EX0JVSUxESU5HX0xBWUVSX0dST1VQX1NMVUciLCJCQUNLR1JPVU5EX0xBWUVSX0dST1VQIiwic2x1ZyIsImRlZmF1bHRWaXNpYmlsaXR5IiwiaXNWaXNpYmlsaXR5VG9nZ2xlQXZhaWxhYmxlIiwiaXNNb3ZlVG9Ub3BBdmFpbGFibGUiLCJpc0NvbG9yUGlja2VyQXZhaWxhYmxlIiwiREVGQVVMVF9MQVlFUl9HUk9VUFMiLCJfcmVmIiwidHlwZSIsIm1hdGNoIiwiX3JlZjIiLCJfcmVmMyIsIl9yZWY0IiwiX3JlZjUiLCJfcmVmNiIsIkJBU0VfTUFQX0NPTE9SX01PREVTIiwiTk9ORSIsIkRBUksiLCJMSUdIVCIsIk5PX01BUF9JRCIsIkVNUFRZX01BUEJPWF9TVFlMRSIsInZlcnNpb24iLCJzb3VyY2VzIiwibGF5ZXJzIiwiTUFQX0xJQl9PUFRJT05TIiwiTUFQQk9YIiwiTUFQTElCUkUiLCJOT19CQVNFTUFQX0lDT04iLCJjb25jYXQiLCJERUZBVUxUX0JBU0VfTUFQX1NUWUxFIiwiREVGQVVMVF9OT19CQVNFTUFQX1NUWUxFIiwidXJsIiwiaWNvbiIsImxheWVyR3JvdXBzIiwiY29sb3JNb2RlIiwic3R5bGUiLCJERUZBVUxUX01BUEJPWF9TVFlMRVMiLCJjb21wbGltZW50YXJ5U3R5bGVJZCIsIkRFRkFVTFRfTUFQQk9YX1NBVEVMSVRFX1NUWUxFUyIsIkRFRkFVTFRfTUFQTElCUkVfU1RZTEVTIiwiREVGQVVMVF9NQVBfU1RZTEVTIiwiR0VPSlNPTl9GSUVMRFMiLCJnZW9qc29uIiwiSUNPTl9GSUVMRFMiLCJUUklQX1BPSU5UX0ZJRUxEUyIsIkFMVElUVURFX0ZJRUxEUyIsIlRSSVBfQVJDX0ZJRUxEUyIsImxhdDAiLCJsbmcwIiwibGF0MSIsImxuZzEiLCJGSUxURVJfVFlQRVMiLCJyYW5nZSIsInNlbGVjdCIsImlucHV0IiwidGltZVJhbmdlIiwibXVsdGlTZWxlY3QiLCJwb2x5Z29uIiwiRklMVEVSX1ZJRVdfVFlQRVMiLCJzaWRlIiwiZW5sYXJnZWQiLCJtaW5pZmllZCIsIkRFRkFVTFRfRklMVEVSX1ZJRVdfVFlQRSIsIlNDQUxFX1RZUEVTIiwib3JkaW5hbCIsInF1YW50aWxlIiwicXVhbnRpemUiLCJsaW5lYXIiLCJzcXJ0IiwibG9nIiwidGhyZXNob2xkIiwiY3VzdG9tIiwiY3VzdG9tT3JkaW5hbCIsInBvaW50IiwiU0NBTEVfVFlQRV9OQU1FUyIsIlNDQUxFX0ZVTkMiLCJzY2FsZUxpbmVhciIsInNjYWxlUXVhbnRpemUiLCJzY2FsZVF1YW50aWxlIiwic2NhbGVPcmRpbmFsIiwic2NhbGVTcXJ0Iiwic2NhbGVMb2ciLCJzY2FsZVBvaW50Iiwic2NhbGVUaHJlc2hvbGQiLCJBTExfRklFTERfVFlQRVMiLCJkYXRlIiwiaW50ZWdlciIsInJlYWwiLCJzdHJpbmciLCJ0aW1lc3RhbXAiLCJhcnJheSIsIm9iamVjdCIsImdlb2Fycm93IiwiaDMiLCJTT1JUX09SREVSIiwiQVNDRU5ESU5HIiwiREVTQ0VORElORyIsIlVOU09SVCIsIlRBQkxFX09QVElPTiIsIlNPUlRfQVNDIiwiU09SVF9ERVMiLCJQSU4iLCJVTlBJTiIsIkNPUFkiLCJGT1JNQVRfQ09MVU1OIiwiVEFCTEVfT1BUSU9OX0xJU1QiLCJ2YWx1ZSIsImRpc3BsYXkiLCJjb25kaXRpb24iLCJwcm9wcyIsInNvcnRUYWJsZUNvbHVtbiIsInNvcnRNb2RlIiwiaXNTb3J0ZWQiLCJpc1Bpbm5lZCIsInNldERpc3BsYXlGb3JtYXQiLCJZRUxMT1ciLCJQSU5LIiwiUFVSUExFIiwiQkxVRSIsIkJMVUUyIiwiQkxVRTMiLCJHUkVFTiIsIkdSRUVOMiIsIlJFRCIsIk9SQU5HRSIsIkZJRUxEX1RZUEVfRElTUExBWSIsImNvbG9yIiwiRklFTERfQ09MT1JTIiwiSElHSExJR0hfQ09MT1JfM0QiLCJDSEFOTkVMX1NDQUxFUyIsInJhZGl1cyIsInNpemUiLCJjb2xvckFnZ3IiLCJzaXplQWdnciIsIkFHR1JFR0FUSU9OX1RZUEVTIiwiY291bnQiLCJhdmVyYWdlIiwibWF4aW11bSIsIm1pbmltdW0iLCJtZWRpYW4iLCJzdGRldiIsInN1bSIsInZhcmlhbmNlIiwibW9kZSIsImNvdW50VW5pcXVlIiwiQUdHUkVHQVRJT05fVFlQRV9PUFRJT05TIiwiZW50cmllcyIsIm1hcCIsIl9yZWY3IiwiX3JlZjgiLCJfc2xpY2VkVG9BcnJheTIiLCJrZXkiLCJjaGFyQXQiLCJ0b1VwcGVyQ2FzZSIsInNsaWNlIiwibGluZWFyRmllbGRTY2FsZUZ1bmN0aW9ucyIsIkRFRkFVTFRfQUdHUkVHQVRJT05fQ09MT1JfU0NBTEVTIiwibGluZWFyRmllbGRBZ2dyU2NhbGVGdW5jdGlvbnMiLCJyZWR1Y2UiLCJwcmV2IiwiY3VyIiwib3JkaW5hbEZpZWxkU2NhbGVGdW5jdGlvbnMiLCJvcmRpbmFsRmllbGRBZ2dyU2NhbGVGdW5jdGlvbnMiLCJub3RTdXBwb3J0ZWRTY2FsZU9wdHMiLCJub3RTdXBwb3J0QWdnck9wdHMiLCJERUZBVUxUX0FHR1JFR0FUSU9OIiwiRklFTERfT1BUUyIsInNjYWxlIiwiZm9ybWF0IiwibGVnZW5kIiwiZCIsInRvb2x0aXAiLCJUT09MVElQX0ZPUk1BVF9UWVBFUyIsIkRFQ0lNQUwiLCJQRVJDRU5UQUdFIiwiREFURSIsIkRBVEVfVElNRSIsIl90b0NvbnN1bWFibGVBcnJheTIiLCJCT09MRUFOIiwiQ0hBTk5FTF9TQ0FMRV9TVVBQT1JURURfRklFTERTIiwiYWNjdSIsImZ0IiwiREVGQVVMVF9MQVlFUl9DT0xPUiIsInRyaXBBcmMiLCJiZWdpbnRyaXBfbGF0IiwiZHJvcG9mZl9sYXQiLCJyZXF1ZXN0X2xhdCIsIkRFRkFVTFRfTEFZRVJfQ09MT1JfUEFMRVRURSIsIkRFRkFVTFRfTEFZRVJfQ09MT1JfUEFMRVRURV9TVEVQUyIsIkRFRkFVTFRfVE9PTFRJUF9GSUVMRFMiLCJOT19WQUxVRV9DT0xPUiIsIkRFRkFVTFRfUElDS0lOR19SQURJVVMiLCJPVkVSTEFZX0JMRU5ESU5HUyIsIm5vcm1hbCIsInNjcmVlbiIsImRhcmtlbiIsIkxBWUVSX0JMRU5ESU5HUyIsImFkZGl0aXZlIiwiYmxlbmRGdW5jIiwiYmxlbmRFcXVhdGlvbiIsInN1YnRyYWN0aXZlIiwiTUFYX0RFRkFVTFRfVE9PTFRJUFMiLCJSRVNPTFVUSU9OUyIsIk9ORV9YIiwiVFdPX1giLCJFWFBPUlRfSU1HX1JBVElPUyIsIlNDUkVFTiIsIkZPVVJfQllfVEhSRUUiLCJTSVhURUVOX0JZX05JTkUiLCJDVVNUT00iLCJTY3JlZW5SYXRpb09wdGlvbiIsImdldFNpemUiLCJzY3JlZW5XIiwic2NyZWVuSCIsImhlaWdodCIsIkN1c3RvbVJhdGlvT3B0aW9uIiwiaGlkZGVuIiwibWFwVyIsIm1hcEgiLCJGb3VyQnlUaHJlZVJhdGlvT3B0aW9uIiwiTWF0aCIsInJvdW5kIiwiU2l4dGVlbkJ5TmluZVJhdGlvT3B0aW9uIiwiRVhQT1JUX0lNR19SQVRJT19PUFRJT05TIiwiT25lWFJlc29sdXRpb25PcHRpb24iLCJhdmFpbGFibGUiLCJUd29YUmVzb2x1dGlvbk9wdGlvbiIsIkVYUE9SVF9JTUdfUkVTT0xVVElPTl9PUFRJT05TIiwiRVhQT1JUX0RBVEFfVFlQRSIsIkNTViIsIkVYUE9SVF9EQVRBX1RZUEVfT1BUSU9OUyIsInRvTG93ZXJDYXNlIiwiRVhQT1JUX01BUF9GT1JNQVRTIiwiSFRNTCIsIkpTT04iLCJFWFBPUlRfSFRNTF9NQVBfTU9ERVMiLCJSRUFEIiwiRURJVCIsIkVYUE9SVF9NQVBfRk9STUFUX09QVElPTlMiLCJlbnRyeSIsImdldEhUTUxNYXBNb2RlVGlsZVVybCIsIkVYUE9SVF9IVE1MX01BUF9NT0RFX09QVElPTlMiLCJERUZBVUxUX1VVSURfQ09VTlQiLCJERUZBVUxUX05PVElGSUNBVElPTl9NRVNTQUdFIiwiREVGQVVMVF9OT1RJRklDQVRJT05fVFlQRVMiLCJpbmZvIiwiZXJyb3IiLCJ3YXJuaW5nIiwic3VjY2VzcyIsIkRFRkFVTFRfTk9USUZJQ0FUSU9OX1RPUElDUyIsImdsb2JhbCIsImZpbGUiLCJUSFJPVFRMRV9OT1RJRklDQVRJT05fVElNRSIsIkJBU0VfU1BFRUQiLCJGUFMiLCJBTklNQVRJT05fV0lORE9XIiwiZnJlZSIsImluY3JlbWVudGFsIiwiaW50ZXJ2YWwiLCJERUZBVUxUX1RJTUVfRk9STUFUIiwiU1BFRURfQ09OVFJPTF9SQU5HRSIsIlNQRUVEX0NPTlRST0xfU1RFUCIsIkdFT0NPREVSX0RBVEFTRVRfTkFNRSIsIkdFT0NPREVSX0xBWUVSX0lEIiwiR0VPQ09ERVJfR0VPX09GRlNFVCIsIkdFT0NPREVSX0lDT05fQ09MT1IiLCJHRU9DT0RFUl9JQ09OX1NJWkUiLCJFRElUT1JfTEFZRVJfSUQiLCJFRElUT1JfTEFZRVJfUElDS0lOR19SQURJVVMiLCJFRElUT1JfTU9ERVMiLCJEUkFXX1BPTFlHT04iLCJEUkFXX1JFQ1RBTkdMRSIsIlBMT1RfVFlQRVMiLCJoaXN0b2dyYW0iLCJsaW5lQ2hhcnQiLCJJTklUX0ZJTFRFUl9JVEVNU19JTl9EUk9QRE9XTiIsIk1BWF9HUFVfRklMVEVSUyIsIk1BUF9USFVNQk5BSUxfRElNRU5TSU9OIiwiTUFQX0lORk9fQ0hBUkFDVEVSIiwidGl0bGUiLCJkZXNjcmlwdGlvbiIsIkxPQURJTkdfTUVUSE9EUyIsInVwbG9hZCIsInN0b3JhZ2UiLCJ0aWxlc2V0IiwiREVGQVVMVF9GRUFUVVJFX0ZMQUdTIiwiREFUQVNFVF9GT1JNQVRTIiwicm93IiwiY3N2Iiwia2VwbGVyZ2wiLCJhcnJvdyIsImR1Y2tkYiIsIk1BUF9DT05UUk9MUyIsInZpc2libGVMYXllcnMiLCJ0b2dnbGUzZCIsInNwbGl0TWFwIiwibWFwRHJhdyIsIm1hcExvY2FsZSIsImVmZmVjdCIsImFpQXNzaXN0YW50IiwiUFJPSkVDVEVEX1BJWEVMX1NJWkVfTVVMVElQTElFUiIsIlRFWFRfT1VUTElORV9NVUxUSVBMSUVSIiwiZGF0YVRlc3RJZHMiLCJpbmZvSWNvbiIsIndhcm5pbmdJY29uIiwiZXJyb3JJY29uIiwic3VjY2Vzc0ljb24iLCJjaGVja21hcmtJY29uIiwic29ydGFibGVMYXllckl0ZW0iLCJzdGF0aWNMYXllckl0ZW0iLCJsYXllclRpdGxlRWRpdG9yIiwicmVtb3ZlTGF5ZXJBY3Rpb24iLCJsYXllclBhbmVsIiwic29ydGFibGVFZmZlY3RJdGVtIiwic3RhdGljRWZmZWN0SXRlbSIsInByb3ZpZGVyTG9hZGluZyIsInByb3ZpZGVyTWFwSW5mb1BhbmVsIiwicHJvdmlkZXJTZWxlY3QiLCJjbG91ZEhlYWRlciIsInByb3ZpZGVyU2hhcmVNYXAiLCJERUZBVUxUX1RJTUVaT05FIiwiREVGQVVMVF9QT1NUX1BST0NFU1NJTkdfRUZGRUNUX1RZUEUiLCJERUZBVUxUX0xJR0hUX0NPTE9SIiwiREVGQVVMVF9MSUdIVF9JTlRFTlNJVFkiLCJERUZBVUxUX1NIQURPV19JTlRFTlNJVFkiLCJERUZBVUxUX1NIQURPV19DT0xPUiIsIkxJR0hUX0FORF9TSEFET1dfRUZGRUNUX1RJTUVfTU9ERVMiLCJwaWNrIiwiY3VycmVudCIsImFuaW1hdGlvbiIsIkRFRkFVTFRfTElHSFRfQU5EX1NIQURPV19QUk9QUyIsIkRhdGUiLCJub3ciLCJ0aW1lTW9kZSIsInNoYWRvd0ludGVuc2l0eSIsInNoYWRvd0NvbG9yIiwic3VuTGlnaHRDb2xvciIsInN1bkxpZ2h0SW50ZW5zaXR5IiwiYW1iaWVudExpZ2h0Q29sb3IiLCJhbWJpZW50TGlnaHRJbnRlbnNpdHkiLCJMSUdIVF9BTkRfU0hBRE9XX0VGRkVDVCIsIm5hbWUiLCJwYXJhbWV0ZXJzIiwibWluIiwibWF4IiwiTnVtYmVyIiwiTUFYX1NBRkVfSU5URUdFUiIsImRlZmF1bHRWYWx1ZSIsIlBPU1RQUk9DRVNTSU5HX0VGRkVDVFMiLCJpbmsiLCJicmlnaHRuZXNzQ29udHJhc3QiLCJodWVTYXR1cmF0aW9uIiwidmlicmFuY2UiLCJzZXBpYSIsImRvdFNjcmVlbiIsIlBJIiwiY29sb3JIYWxmdG9uZSIsIm5vaXNlIiwidHJpYW5nbGVCbHVyIiwiem9vbUJsdXIiLCJ0aWx0U2hpZnQiLCJlZGdlV29yayIsInZpZ25ldHRlIiwibWFnbmlmeSIsImhleGFnb25hbFBpeGVsYXRlIiwiRUZGRUNUX0RFU0NSSVBUSU9OUyIsImtleU5hbWUiLCJTWU5DX1RJTUVMSU5FX01PREVTIiwic3RhcnQiLCJlbmQiLCJHRU9BUlJPV19NRVRBREFUQV9LRVkiLCJHRU9BUlJPV19FWFRFTlNJT05TIiwiTE9BREVSU19DRE5fVkVSU0lPTiIsIkxPQURFUlNfQ0ROX1VSTCIsImdldExvYWRlck9wdGlvbnMiLCJtdnQiLCJ3b3JrZXJVcmwiLCJucHkiXSwic291cmNlcyI6WyIuLi9zcmMvZGVmYXVsdC1zZXR0aW5ncy50cyJdLCJzb3VyY2VzQ29udGVudCI6WyIvLyBTUERYLUxpY2Vuc2UtSWRlbnRpZmllcjogTUlUXG4vLyBDb3B5cmlnaHQgY29udHJpYnV0b3JzIHRvIHRoZSBrZXBsZXIuZ2wgcHJvamVjdFxuXG5pbXBvcnQga2V5TWlycm9yIGZyb20gJ2tleW1pcnJvcic7XG5cbmltcG9ydCB7XG4gIEJhc2VNYXBTdHlsZSxcbiAgRWZmZWN0RGVzY3JpcHRpb24sXG4gIFJHQkFDb2xvcixcbiAgU3luY1RpbWVsaW5lTW9kZSxcbiAgQmFzZU1hcENvbG9yTW9kZXMsXG4gIE1lcmdlXG59IGZyb20gJ0BrZXBsZXIuZ2wvdHlwZXMnO1xuaW1wb3J0IHtcbiAgc2NhbGVMaW5lYXIsXG4gIHNjYWxlTG9nLFxuICBzY2FsZU9yZGluYWwsXG4gIHNjYWxlUG9pbnQsXG4gIHNjYWxlUXVhbnRpbGUsXG4gIHNjYWxlUXVhbnRpemUsXG4gIHNjYWxlU3FydCxcbiAgc2NhbGVUaHJlc2hvbGRcbn0gZnJvbSAnZDMtc2NhbGUnO1xuaW1wb3J0IHtUT09MVElQX0ZPUk1BVF9UWVBFU30gZnJvbSAnLi90b29sdGlwJztcblxuZXhwb3J0IGNvbnN0IEFDVElPTl9QUkVGSVggPSAnQEBrZXBsZXIuZ2wvJztcbmV4cG9ydCBjb25zdCBLRVBMRVJfVU5GT0xERURfQlVDS0VUID0gJ2h0dHBzOi8vc3R1ZGlvLXB1YmxpYy1kYXRhLmZvdXJzcXVhcmUuY29tL3N0YXRpY3Mva2VwbGVyZ2wnO1xuZXhwb3J0IGNvbnN0IEJBU0VNQVBfSUNPTl9QUkVGSVggPSBgZ2VvZHVkZWA7XG5leHBvcnQgY29uc3QgREVGQVVMVF9NQVBCT1hfQVBJX1VSTCA9ICdodHRwczovL2FwaS5tYXBib3guY29tJztcbmV4cG9ydCBjb25zdCBUUkFOU0lUSU9OX0RVUkFUSU9OID0gMDtcblxuLy8gTW9kYWwgSWRzXG4vKipcbiAqIE1vZGFsIGlkOiBkYXRhIHRhYmxlXG4gKiBAY29uc3RhbnRcbiAqIEB0eXBlIHtzdHJpbmd9XG4gKiBAcHVibGljXG4gKi9cbmV4cG9ydCBjb25zdCBEQVRBX1RBQkxFX0lEID0gJ2RhdGFUYWJsZSc7XG4vKipcbiAqIE1vZGFsIGlkOiBkZWxldGUgZGF0YXNldCBjb25maXJtIGRpYWxvZ1xuICogQGNvbnN0YW50XG4gKiBAdHlwZSB7c3RyaW5nfVxuICogQHB1YmxpY1xuICovXG5leHBvcnQgY29uc3QgREVMRVRFX0RBVEFfSUQgPSAnZGVsZXRlRGF0YSc7XG4vKipcbiAqIE1vZGFsIGlkOiBhZGQgZGF0YSBtb2RhbFxuICogQGNvbnN0YW50XG4gKiBAdHlwZSB7c3RyaW5nfVxuICogQHB1YmxpY1xuICovXG5leHBvcnQgY29uc3QgQUREX0RBVEFfSUQgPSAnYWRkRGF0YSc7XG4vKipcbiAqIE1vZGFsIGlkOiBleHBvcnQgaW1hZ2UgbW9kYWxcbiAqIEBjb25zdGFudFxuICogQHR5cGUge3N0cmluZ31cbiAqIEBwdWJsaWNcbiAqL1xuZXhwb3J0IGNvbnN0IEVYUE9SVF9JTUFHRV9JRCA9ICdleHBvcnRJbWFnZSc7XG4vKipcbiAqIE1vZGFsIGlkOiBleHBvcnQgZGF0YSBtb2RhbFxuICogQGNvbnN0YW50XG4gKiBAdHlwZSB7c3RyaW5nfVxuICogQHB1YmxpY1xuICovXG5leHBvcnQgY29uc3QgRVhQT1JUX0RBVEFfSUQgPSAnZXhwb3J0RGF0YSc7XG4vKipcbiAqIE1vZGFsIGlkOiBhZGQgY3VzdG9tIG1hcCBzdHlsZSBtb2RhbFxuICogQGNvbnN0YW50XG4gKiBAdHlwZSB7c3RyaW5nfVxuICogQHB1YmxpY1xuICovXG5leHBvcnQgY29uc3QgQUREX01BUF9TVFlMRV9JRCA9ICdhZGRNYXBTdHlsZSc7XG4vKipcbiAqIE1vZGFsIGlkOiBleHBvcnQgbWFwIG1vZGFsXG4gKiBAY29uc3RhbnRcbiAqIEB0eXBlIHtzdHJpbmd9XG4gKiBAcHVibGljXG4gKi9cbmV4cG9ydCBjb25zdCBFWFBPUlRfTUFQX0lEID0gJ2V4cG9ydE1hcCc7XG4vKipcbiAqIE1vZGFsIGlkOiBzYXZlIG1hcCBtb2RhbFxuICogQGNvbnN0YW50XG4gKiBAdHlwZSB7c3RyaW5nfVxuICogQHB1YmxpY1xuICovXG5leHBvcnQgY29uc3QgU0FWRV9NQVBfSUQgPSAnc2F2ZU1hcCc7XG4vKipcbiAqIE1vZGFsIGlkOiBjb25maXJtIHRvIG92ZXJ3cml0ZSBzYXZlZCBtYXBcbiAqIEBjb25zdGFudFxuICogQHR5cGUge3N0cmluZ31cbiAqIEBwdWJsaWNcbiAqL1xuZXhwb3J0IGNvbnN0IE9WRVJXUklURV9NQVBfSUQgPSAnb3ZlcndyaXRlTWFwJztcbi8qKlxuICogTW9kYWwgaWQ6IHNoYXJlIG1hcCB1cmwgbW9kYWxcbiAqIEBjb25zdGFudFxuICogQHR5cGUge3N0cmluZ31cbiAqIEBwdWJsaWNcbiAqL1xuZXhwb3J0IGNvbnN0IFNIQVJFX01BUF9JRCA9ICdzaGFyZU1hcCc7XG5cbmV4cG9ydCBjb25zdCBLRVBMRVJfR0xfTkFNRSA9ICdrZXBsZXIuZ2wnO1xuXG4vLyBfX1BBQ0tBR0VfVkVSU0lPTl9fIGlzIGF1dG9tYXRpY2FsbHkgaW5qZWN0ZWQgYnkgQmFiZWwvRXNidWlsZCBkdXJpbmcgdGhlIGJ1aWxkIHByb2Nlc3Ncbi8vIFNpbmNlIHdlIGFyZSBpbmplY3RpbmcgdGhpcyBkdXJpbmcgdGhlIGJ1aWxkIHByb2Nlc3Mgd2l0aCBiYWJlbFxuLy8gd2hpbGUgZGV2ZWxvcGluZyBWRVJTSU9OIGlzIG5vdCBkZWZpbmVkLCB3ZSBjYXB0dXJlIHRoZSBleGNlcHRpb24gYW5kIHJldHVyblxuLy8gYW4gZW1wdHkgc3RyaW5nIHdoaWNoIHdpbGwgYWxsb3cgdXMgdG8gcmV0cmlldmUgdGhlIGxhdGVzdCB1bWQgdmVyc2lvblxuZXhwb3J0IGNvbnN0IEtFUExFUl9HTF9WRVJTSU9OID0gJ19fUEFDS0FHRV9WRVJTSU9OX18nO1xuZXhwb3J0IGNvbnN0IEtFUExFUl9HTF9XRUJTSVRFID0gJ2h0dHA6Ly9rZXBsZXIuZ2wvJztcblxuZXhwb3J0IGNvbnN0IERJTUVOU0lPTlMgPSB7XG4gIHNpZGVQYW5lbDoge1xuICAgIHdpZHRoOiAzMDAsXG4gICAgbWFyZ2luOiB7dG9wOiAxMiwgbGVmdDogMTIsIGJvdHRvbTogMTIsIHJpZ2h0OiAyMH0sXG4gICAgaGVhZGVySGVpZ2h0OiA5NlxuICB9LFxuICBtYXBDb250cm9sOiB7XG4gICAgd2lkdGg6IDE4NCxcbiAgICBwYWRkaW5nOiAxMixcbiAgICBtYXBMZWdlbmQ6IHtcbiAgICAgIHBpbm5lZDoge1xuICAgICAgICBib3R0b206IDIyLFxuICAgICAgICByaWdodDogMTJcbiAgICAgIH1cbiAgICB9XG4gIH1cbn07XG5cbi8qKlxuICogVGhlbWUgbmFtZSB0aGF0IGNhbiBiZSBwYXNzZWQgdG8gYEtlcGxlckdsYCBgcHJvcC50aGVtZWAuXG4gKiBBdmFpbGFibGUgdGhlbWVzIGFyZSBgVEhFTUUubGlnaHRgIGFuZCBgVEhFTUUuZGFya2AuIERlZmF1bHQgdGhlbWUgaXMgYFRIRU1FLmRhcmtgXG4gKiBAY29uc3RhbnRcbiAqIEB0eXBlIHtvYmplY3R9XG4gKiBAcHVibGljXG4gKiBAZXhhbXBsZVxuICogYGBganNcbiAqIGNvbnN0IE1hcCA9ICgpID0+IDxLZXBsZXJHbCB0aGVtZT17VEhFTUUubGlnaHR9IGlkPVwibWFwXCIvPlxuICogYGBgXG4gKi9cbmV4cG9ydCBjb25zdCBUSEVNRSA9IGtleU1pcnJvcih7XG4gIGxpZ2h0OiBudWxsLFxuICBkYXJrOiBudWxsLFxuICBiYXNlOiBudWxsXG59KTtcblxuZXhwb3J0IGNvbnN0IFNJREVCQVJfUEFORUxTID0gW1xuICB7XG4gICAgaWQ6ICdsYXllcicsXG4gICAgbGFiZWw6ICdzaWRlYmFyLnBhbmVscy5sYXllcicsXG4gICAgb25DbGljazogbnVsbFxuICB9LFxuICB7XG4gICAgaWQ6ICdmaWx0ZXInLFxuICAgIGxhYmVsOiAnc2lkZWJhci5wYW5lbHMuZmlsdGVyJyxcbiAgICBvbkNsaWNrOiBudWxsXG4gIH0sXG4gIHtcbiAgICBpZDogJ2ludGVyYWN0aW9uJyxcbiAgICBsYWJlbDogJ3NpZGViYXIucGFuZWxzLmludGVyYWN0aW9uJyxcbiAgICBvbkNsaWNrOiBudWxsXG4gIH0sXG4gIHtcbiAgICBpZDogJ21hcCcsXG4gICAgbGFiZWw6ICdzaWRlYmFyLnBhbmVscy5iYXNlbWFwJyxcbiAgICBvbkNsaWNrOiBudWxsXG4gIH1cbl07XG5cbmV4cG9ydCBjb25zdCBQQU5FTF9WSUVXX1RPR0dMRVMgPSBrZXlNaXJyb3Ioe1xuICBsaXN0OiBudWxsLFxuICBieURhdGFzZXQ6IG51bGxcbn0pO1xuXG4vLyBiYWNrd2FyZCBjb21wYXRpYmlsaXR5XG5leHBvcnQgY29uc3QgUEFORUxTID0gU0lERUJBUl9QQU5FTFM7XG5cbi8vIE1BUCBTVFlMRVNcblxuZXhwb3J0IGNvbnN0IERFRkFVTFRfQkxER19DT0xPUiA9ICcjRDFDRUM3JztcblxuZXhwb3J0IGNvbnN0IERFRkFVTFRfQkFDS0dST1VORF9DT0xPUiA9ICcjMDAwMDAwJztcblxuLy8gYXNzaXN0cyBpbiBpZGVudGlmeWluZyBiYXNlbWFwIGJhY2tncm91bmQgbGF5ZXJzIHdoZW4gYXV0by1kZXRlcm1pbmluZyB0aGUgYmFja2dyb3VuZENvbG9yXG5leHBvcnQgY29uc3QgQkFTRV9NQVBfQkFDS0dST1VORF9MQVlFUl9JRFMgPSBbJ2JhY2tncm91bmQnLCAnYmcnLCAnbGFuZCcsICd3YXRlciddO1xuXG5leHBvcnQgY29uc3QgQkFDS0dST1VORF9MQVlFUl9HUk9VUF9TTFVHID0gJ0JhY2tncm91bmQnO1xuXG5leHBvcnQgY29uc3QgVEhSRUVfRF9CVUlMRElOR19MQVlFUl9HUk9VUF9TTFVHID0gJzNkIGJ1aWxkaW5nJztcblxuZXhwb3J0IHR5cGUgREVGQVVMVF9MQVlFUl9HUk9VUCA9IHtcbiAgc2x1Zzogc3RyaW5nO1xuICBmaWx0ZXI6ICh2YWx1ZSkgPT4gYm9vbGVhbjtcbiAgZGVmYXVsdFZpc2liaWxpdHk6IGJvb2xlYW47XG4gIGlzVmlzaWJpbGl0eVRvZ2dsZUF2YWlsYWJsZT86IGJvb2xlYW47XG4gIGlzTW92ZVRvVG9wQXZhaWxhYmxlPzogYm9vbGVhbjtcbiAgaXNDb2xvclBpY2tlckF2YWlsYWJsZT86IGJvb2xlYW47XG59O1xuXG5leHBvcnQgY29uc3QgQkFDS0dST1VORF9MQVlFUl9HUk9VUDogREVGQVVMVF9MQVlFUl9HUk9VUCA9IHtcbiAgc2x1ZzogQkFDS0dST1VORF9MQVlFUl9HUk9VUF9TTFVHLFxuICBmaWx0ZXI6ICgpID0+IGZhbHNlLFxuICBkZWZhdWx0VmlzaWJpbGl0eTogZmFsc2UsXG4gIGlzVmlzaWJpbGl0eVRvZ2dsZUF2YWlsYWJsZTogZmFsc2UsXG4gIGlzTW92ZVRvVG9wQXZhaWxhYmxlOiBmYWxzZSxcbiAgaXNDb2xvclBpY2tlckF2YWlsYWJsZTogdHJ1ZVxufTtcblxuZXhwb3J0IGNvbnN0IERFRkFVTFRfTEFZRVJfR1JPVVBTOiBERUZBVUxUX0xBWUVSX0dST1VQW10gPSBbXG4gIHtcbiAgICBzbHVnOiAnbGFiZWwnLFxuICAgIGZpbHRlcjogKHtpZCwgdHlwZX0pID0+IGlkLm1hdGNoKC8oPz0obGFiZWx8cGxhY2UtfHBvaS0pKS8pIHx8IHR5cGU/Lm1hdGNoKC8oPz0oc3ltYm9sKSkvKSxcbiAgICBkZWZhdWx0VmlzaWJpbGl0eTogdHJ1ZSxcbiAgICBpc1Zpc2liaWxpdHlUb2dnbGVBdmFpbGFibGU6IHRydWUsXG4gICAgaXNNb3ZlVG9Ub3BBdmFpbGFibGU6IHRydWUsXG4gICAgaXNDb2xvclBpY2tlckF2YWlsYWJsZTogZmFsc2VcbiAgfSxcbiAge1xuICAgIHNsdWc6ICdyb2FkJyxcbiAgICBmaWx0ZXI6ICh7aWR9KSA9PiBpZC5tYXRjaCgvKD89KHJvYWR8cmFpbHdheXx0dW5uZWx8c3RyZWV0fGJyaWRnZSkpKD8hLipsYWJlbCkvKSxcbiAgICBkZWZhdWx0VmlzaWJpbGl0eTogdHJ1ZSxcbiAgICBpc1Zpc2liaWxpdHlUb2dnbGVBdmFpbGFibGU6IHRydWUsXG4gICAgaXNNb3ZlVG9Ub3BBdmFpbGFibGU6IHRydWUsXG4gICAgaXNDb2xvclBpY2tlckF2YWlsYWJsZTogZmFsc2VcbiAgfSxcbiAge1xuICAgIHNsdWc6ICdib3JkZXInLFxuICAgIGZpbHRlcjogKHtpZH0pID0+IGlkLm1hdGNoKC9ib3JkZXJ8Ym91bmRhcmllc3xib3VuZGFyeS8pLFxuICAgIGRlZmF1bHRWaXNpYmlsaXR5OiBmYWxzZSxcbiAgICBpc1Zpc2liaWxpdHlUb2dnbGVBdmFpbGFibGU6IHRydWUsXG4gICAgaXNNb3ZlVG9Ub3BBdmFpbGFibGU6IHRydWUsXG4gICAgaXNDb2xvclBpY2tlckF2YWlsYWJsZTogZmFsc2VcbiAgfSxcbiAge1xuICAgIHNsdWc6ICdidWlsZGluZycsXG4gICAgZmlsdGVyOiAoe2lkfSkgPT4gaWQubWF0Y2goL2J1aWxkaW5nLyksXG4gICAgZGVmYXVsdFZpc2liaWxpdHk6IHRydWUsXG4gICAgaXNWaXNpYmlsaXR5VG9nZ2xlQXZhaWxhYmxlOiB0cnVlLFxuICAgIGlzTW92ZVRvVG9wQXZhaWxhYmxlOiB0cnVlLFxuICAgIGlzQ29sb3JQaWNrZXJBdmFpbGFibGU6IGZhbHNlXG4gIH0sXG4gIHtcbiAgICBzbHVnOiAnd2F0ZXInLFxuICAgIGZpbHRlcjogKHtpZH0pID0+IGlkLm1hdGNoKC8oPz0od2F0ZXJ8c3RyZWFtfGZlcnJ5KSkvKSxcbiAgICBkZWZhdWx0VmlzaWJpbGl0eTogdHJ1ZSxcbiAgICBpc1Zpc2liaWxpdHlUb2dnbGVBdmFpbGFibGU6IHRydWUsXG4gICAgaXNNb3ZlVG9Ub3BBdmFpbGFibGU6IHRydWUsXG4gICAgaXNDb2xvclBpY2tlckF2YWlsYWJsZTogZmFsc2VcbiAgfSxcbiAge1xuICAgIHNsdWc6ICdsYW5kJyxcbiAgICBmaWx0ZXI6ICh7aWR9KSA9PiBpZC5tYXRjaCgvKD89KHBhcmtzfGxhbmRjb3ZlcnxpbmR1c3RyaWFsfHNhbmR8aGlsbHNoYWRlKSkvKSxcbiAgICBkZWZhdWx0VmlzaWJpbGl0eTogdHJ1ZSxcbiAgICBpc1Zpc2liaWxpdHlUb2dnbGVBdmFpbGFibGU6IHRydWUsXG4gICAgaXNNb3ZlVG9Ub3BBdmFpbGFibGU6IHRydWUsXG4gICAgaXNDb2xvclBpY2tlckF2YWlsYWJsZTogZmFsc2VcbiAgfSxcbiAge1xuICAgIHNsdWc6IFRIUkVFX0RfQlVJTERJTkdfTEFZRVJfR1JPVVBfU0xVRyxcbiAgICBmaWx0ZXI6ICgpID0+IGZhbHNlLFxuICAgIGRlZmF1bHRWaXNpYmlsaXR5OiBmYWxzZSxcbiAgICBpc1Zpc2liaWxpdHlUb2dnbGVBdmFpbGFibGU6IHRydWUsXG4gICAgaXNNb3ZlVG9Ub3BBdmFpbGFibGU6IHRydWUsXG4gICAgaXNDb2xvclBpY2tlckF2YWlsYWJsZTogdHJ1ZVxuICB9XG5dO1xuXG5leHBvcnQgY29uc3QgQkFTRV9NQVBfQ09MT1JfTU9ERVMgPSBrZXlNaXJyb3Ioe1xuICBOT05FOiBudWxsLFxuICBEQVJLOiBudWxsLFxuICBMSUdIVDogbnVsbFxufSk7XG5cbmV4cG9ydCBjb25zdCBOT19NQVBfSUQgPSAnbm9fbWFwJztcblxuLy8gRmFsbGJhY2sgc3R5bGUgdG8gdXNlIHdoZW4gc3R5bGVzIGFyZSBiZWluZyBmZXRjaGVkLCBvciB3aGVuXG4vLyBhIHN0eWxlIGZhaWxzIHRvIGZldGNoXG5leHBvcnQgY29uc3QgRU1QVFlfTUFQQk9YX1NUWUxFID0ge1xuICB2ZXJzaW9uOiA4LFxuICBzb3VyY2VzOiB7fSxcbiAgbGF5ZXJzOiBbXVxufTtcblxuZXhwb3J0IGNvbnN0IE1BUF9MSUJfT1BUSU9OUyA9IHtcbiAgTUFQQk9YOiAnbWFwYm94JyBhcyBjb25zdCxcbiAgTUFQTElCUkU6ICdtYXBsaWJyZScgYXMgY29uc3Rcbn07XG5cbmV4cG9ydCB0eXBlIEJhc2VNYXBMaWJyYXJ5VHlwZSA9ICdtYXBib3gnIHwgJ21hcGxpYnJlJztcblxuZXhwb3J0IGNvbnN0IE5PX0JBU0VNQVBfSUNPTiA9IGAke0JBU0VNQVBfSUNPTl9QUkVGSVh9L05PX0JBU0VNQVAucG5nYDtcblxuZXhwb3J0IGNvbnN0IERFRkFVTFRfQkFTRV9NQVBfU1RZTEUgPSAnZGFyay1tYXR0ZXInO1xuXG50eXBlIERlZmF1bHRCYXNlTWFwU3R5bGUgPSBNZXJnZTxcbiAgQmFzZU1hcFN0eWxlLFxuICB7XG4gICAgY29sb3JNb2RlOiBCYXNlTWFwQ29sb3JNb2RlcztcbiAgfVxuPjtcblxuZXhwb3J0IGNvbnN0IERFRkFVTFRfTk9fQkFTRU1BUF9TVFlMRTogRGVmYXVsdEJhc2VNYXBTdHlsZSA9IHtcbiAgaWQ6IE5PX01BUF9JRCxcbiAgbGFiZWw6ICdObyBCYXNlbWFwJyxcbiAgdXJsOiAnJyxcbiAgaWNvbjogTk9fQkFTRU1BUF9JQ09OLFxuICBsYXllckdyb3VwczogW0JBQ0tHUk9VTkRfTEFZRVJfR1JPVVBdLFxuICBjb2xvck1vZGU6IEJBU0VfTUFQX0NPTE9SX01PREVTLk5PTkUsXG4gIHN0eWxlOiBFTVBUWV9NQVBCT1hfU1RZTEVcbn07XG5cbmV4cG9ydCBjb25zdCBERUZBVUxUX01BUEJPWF9TVFlMRVM6IERlZmF1bHRCYXNlTWFwU3R5bGVbXSA9IFtcbiAge1xuICAgIGlkOiAnZGFyaycsXG4gICAgbGFiZWw6ICdEYXJrJyxcbiAgICB1cmw6ICdtYXBib3g6Ly9zdHlsZXMvdWJlcmRhdGEvY2pvcWJiZjZsOWszMDJzbDk2dHl2a2EwOScsXG4gICAgaWNvbjogYCR7QkFTRU1BUF9JQ09OX1BSRUZJWH0vVUJFUl9EQVJLX1YyLnBuZ2AsXG4gICAgbGF5ZXJHcm91cHM6IERFRkFVTFRfTEFZRVJfR1JPVVBTLFxuICAgIGNvbG9yTW9kZTogQkFTRV9NQVBfQ09MT1JfTU9ERVMuREFSSyxcbiAgICBjb21wbGltZW50YXJ5U3R5bGVJZDogJ2xpZ2h0J1xuICB9LFxuICB7XG4gICAgaWQ6ICdsaWdodCcsXG4gICAgbGFiZWw6ICdMaWdodCcsXG4gICAgdXJsOiAnbWFwYm94Oi8vc3R5bGVzL3ViZXJkYXRhL2Nqb3FiOWozMzlrMWYyc2w5dDVpYzVibjQnLFxuICAgIGljb246IGAke0JBU0VNQVBfSUNPTl9QUkVGSVh9L1VCRVJfTElHSFRfVjIucG5nYCxcbiAgICBsYXllckdyb3VwczogREVGQVVMVF9MQVlFUl9HUk9VUFMsXG4gICAgY29sb3JNb2RlOiBCQVNFX01BUF9DT0xPUl9NT0RFUy5MSUdIVCxcbiAgICBjb21wbGltZW50YXJ5U3R5bGVJZDogJ2RhcmsnXG4gIH0sXG4gIHtcbiAgICBpZDogJ211dGVkJyxcbiAgICBsYWJlbDogJ011dGVkIExpZ2h0JyxcbiAgICB1cmw6ICdtYXBib3g6Ly9zdHlsZXMvdWJlcmRhdGEvY2pmeWwwM2twMXR1bDJzbWY1djJ0YmRkNCcsXG4gICAgaWNvbjogYCR7QkFTRU1BUF9JQ09OX1BSRUZJWH0vVUJFUl9NVVRFRF9MSUdIVC5wbmdgLFxuICAgIGxheWVyR3JvdXBzOiBERUZBVUxUX0xBWUVSX0dST1VQUyxcbiAgICBjb2xvck1vZGU6IEJBU0VfTUFQX0NPTE9SX01PREVTLkxJR0hULFxuICAgIGNvbXBsaW1lbnRhcnlTdHlsZUlkOiAnbXV0ZWRfbmlnaHQnXG4gIH0sXG4gIHtcbiAgICBpZDogJ211dGVkX25pZ2h0JyxcbiAgICBsYWJlbDogJ011dGVkIE5pZ2h0JyxcbiAgICB1cmw6ICdtYXBib3g6Ly9zdHlsZXMvdWJlcmRhdGEvY2pmeGhsaWttYWoxYjJzb3l6ZXZueXdncycsXG4gICAgaWNvbjogYCR7QkFTRU1BUF9JQ09OX1BSRUZJWH0vVUJFUl9NVVRFRF9OSUdIVC5wbmdgLFxuICAgIGxheWVyR3JvdXBzOiBERUZBVUxUX0xBWUVSX0dST1VQUyxcbiAgICBjb2xvck1vZGU6IEJBU0VfTUFQX0NPTE9SX01PREVTLkRBUkssXG4gICAgY29tcGxpbWVudGFyeVN0eWxlSWQ6ICdtdXRlZCdcbiAgfVxuXTtcblxuZXhwb3J0IGNvbnN0IERFRkFVTFRfTUFQQk9YX1NBVEVMSVRFX1NUWUxFUzogRGVmYXVsdEJhc2VNYXBTdHlsZVtdID0gW1xuICB7XG4gICAgaWQ6ICdzYXRlbGxpdGUnLFxuICAgIGxhYmVsOiAnU2F0ZWxsaXRlIHdpdGggc3RyZWV0cycsXG4gICAgdXJsOiBgbWFwYm94Oi8vc3R5bGVzL21hcGJveC9zYXRlbGxpdGUtc3RyZWV0cy12MTFgLFxuICAgIGljb246IGAke0JBU0VNQVBfSUNPTl9QUkVGSVh9L1VCRVJfU0FURUxMSVRFLnBuZ2AsXG4gICAgbGF5ZXJHcm91cHM6IERFRkFVTFRfTEFZRVJfR1JPVVBTLFxuICAgIGNvbG9yTW9kZTogQkFTRV9NQVBfQ09MT1JfTU9ERVMuTk9ORVxuICB9XG5dO1xuXG5leHBvcnQgY29uc3QgREVGQVVMVF9NQVBMSUJSRV9TVFlMRVM6IERlZmF1bHRCYXNlTWFwU3R5bGVbXSA9IFtcbiAge1xuICAgIGlkOiAnZGFyay1tYXR0ZXInLFxuICAgIGxhYmVsOiAnRGFya01hdHRlcicsXG4gICAgdXJsOiAnaHR0cHM6Ly9iYXNlbWFwcy5jYXJ0b2Nkbi5jb20vZ2wvZGFyay1tYXR0ZXItZ2wtc3R5bGUvc3R5bGUuanNvbicsXG4gICAgaWNvbjogYCR7QkFTRU1BUF9JQ09OX1BSRUZJWH0vREFSS01BVFRFUi5wbmdgLFxuICAgIGxheWVyR3JvdXBzOiBERUZBVUxUX0xBWUVSX0dST1VQUyxcbiAgICBjb2xvck1vZGU6IEJBU0VfTUFQX0NPTE9SX01PREVTLkRBUkssXG4gICAgY29tcGxpbWVudGFyeVN0eWxlSWQ6ICdwb3NpdHJvbidcbiAgfSxcbiAge1xuICAgIGlkOiAncG9zaXRyb24nLFxuICAgIGxhYmVsOiAnUG9zaXRyb24nLFxuICAgIHVybDogJ2h0dHBzOi8vYmFzZW1hcHMuY2FydG9jZG4uY29tL2dsL3Bvc2l0cm9uLWdsLXN0eWxlL3N0eWxlLmpzb24nLFxuICAgIGljb246IGAke0JBU0VNQVBfSUNPTl9QUkVGSVh9L1BPU0lUUk9OLnBuZ2AsXG4gICAgbGF5ZXJHcm91cHM6IERFRkFVTFRfTEFZRVJfR1JPVVBTLFxuICAgIGNvbG9yTW9kZTogQkFTRV9NQVBfQ09MT1JfTU9ERVMuTElHSFQsXG4gICAgY29tcGxpbWVudGFyeVN0eWxlSWQ6ICdkYXJrLW1hdHRlcidcbiAgfSxcbiAge1xuICAgIGlkOiAndm95YWdlcicsXG4gICAgbGFiZWw6ICdWb3lhZ2VyJyxcbiAgICB1cmw6ICdodHRwczovL2Jhc2VtYXBzLmNhcnRvY2RuLmNvbS9nbC92b3lhZ2VyLWdsLXN0eWxlL3N0eWxlLmpzb24nLFxuICAgIGljb246IGAke0JBU0VNQVBfSUNPTl9QUkVGSVh9L1ZPWUFHRVIucG5nYCxcbiAgICBsYXllckdyb3VwczogREVGQVVMVF9MQVlFUl9HUk9VUFMsXG4gICAgY29sb3JNb2RlOiBCQVNFX01BUF9DT0xPUl9NT0RFUy5MSUdIVCxcbiAgICBjb21wbGltZW50YXJ5U3R5bGVJZDogJ2RhcmstbWF0dGVyJ1xuICB9XG5dO1xuXG5leHBvcnQgY29uc3QgREVGQVVMVF9NQVBfU1RZTEVTID0gW1xuICBERUZBVUxUX05PX0JBU0VNQVBfU1RZTEUsXG4gIC4uLkRFRkFVTFRfTUFQTElCUkVfU1RZTEVTLFxuICAuLi5ERUZBVUxUX01BUEJPWF9TQVRFTElURV9TVFlMRVMsXG4gIC4uLkRFRkFVTFRfTUFQQk9YX1NUWUxFU1xuXTtcblxuZXhwb3J0IGNvbnN0IEdFT0pTT05fRklFTERTID0ge1xuICBnZW9qc29uOiBbJ19nZW9qc29uJywgJ2FsbF9wb2ludHMnLCAnZ2VvanNvbiddXG59O1xuXG5leHBvcnQgY29uc3QgSUNPTl9GSUVMRFMgPSB7XG4gIGljb246IFsnaWNvbiddXG59O1xuXG5leHBvcnQgY29uc3QgVFJJUF9QT0lOVF9GSUVMRFM6IFtzdHJpbmcsIHN0cmluZ11bXSA9IFtcbiAgWydsYXQnLCAnbG5nJ10sXG4gIFsnbGF0JywgJ2xvbiddLFxuICBbJ2xhdCcsICdsb25nJ10sXG4gIFsnbGF0aXR1ZGUnLCAnbG9uZ2l0dWRlJ11cbl07XG5cbmV4cG9ydCBjb25zdCBBTFRJVFVERV9GSUVMRFMgPSBbJ2FsdCcsICdhbHRpdHVkZSddO1xuZXhwb3J0IGNvbnN0IFRSSVBfQVJDX0ZJRUxEUyA9IHtcbiAgbGF0MDogJ2JlZ2ludHJpcCcsXG4gIGxuZzA6ICdiZWdpbnRyaXAnLFxuICBsYXQxOiAnZHJvcG9mZicsXG4gIGxuZzE6ICdkcm9wb2ZmJ1xufTtcblxuZXhwb3J0IGNvbnN0IEZJTFRFUl9UWVBFUyA9IGtleU1pcnJvcih7XG4gIHJhbmdlOiBudWxsLFxuICBzZWxlY3Q6IG51bGwsXG4gIGlucHV0OiBudWxsLFxuICB0aW1lUmFuZ2U6IG51bGwsXG4gIG11bHRpU2VsZWN0OiBudWxsLFxuICBwb2x5Z29uOiBudWxsXG59KTtcblxuZXhwb3J0IGNvbnN0IEZJTFRFUl9WSUVXX1RZUEVTID0ga2V5TWlycm9yKHtcbiAgc2lkZTogbnVsbCxcbiAgZW5sYXJnZWQ6IG51bGwsXG4gIG1pbmlmaWVkOiBudWxsXG59KTtcblxuZXhwb3J0IGNvbnN0IERFRkFVTFRfRklMVEVSX1ZJRVdfVFlQRSA9IEZJTFRFUl9WSUVXX1RZUEVTLnNpZGU7XG5cbmV4cG9ydCB0eXBlIFNDQUxFX1RZUEVTX0RFRiA9IHtcbiAgb3JkaW5hbDogJ29yZGluYWwnO1xuICBxdWFudGlsZTogJ3F1YW50aWxlJztcbiAgcXVhbnRpemU6ICdxdWFudGl6ZSc7XG4gIGxpbmVhcjogJ2xpbmVhcic7XG4gIHNxcnQ6ICdzcXJ0JztcbiAgbG9nOiAnbG9nJztcbiAgcG9pbnQ6ICdwb2ludCc7XG4gIHRocmVzaG9sZDogJ3RocmVzaG9sZCc7XG4gIGN1c3RvbTogJ2N1c3RvbSc7XG4gIGN1c3RvbU9yZGluYWw6ICdjdXN0b21PcmRpbmFsJztcbn07XG5cbmV4cG9ydCBjb25zdCBTQ0FMRV9UWVBFUzogU0NBTEVfVFlQRVNfREVGID0ga2V5TWlycm9yKHtcbiAgb3JkaW5hbDogbnVsbCxcbiAgcXVhbnRpbGU6IG51bGwsXG4gIHF1YW50aXplOiBudWxsLFxuICBsaW5lYXI6IG51bGwsXG4gIHNxcnQ6IG51bGwsXG4gIGxvZzogbnVsbCxcbiAgdGhyZXNob2xkOiBudWxsLFxuICBjdXN0b206IG51bGwsXG4gIGN1c3RvbU9yZGluYWw6IG51bGwsXG4gIC8vIG9yZGluYWwgZG9tYWluIHRvIGxpbmVhciByYW5nZVxuICBwb2ludDogbnVsbFxufSk7XG5leHBvcnQgY29uc3QgU0NBTEVfVFlQRV9OQU1FUzoge1trZXkgaW4ga2V5b2YgU0NBTEVfVFlQRVNfREVGXTogc3RyaW5nfSA9IHtcbiAgb3JkaW5hbDogJ09yZGluYWwnLFxuICBxdWFudGlsZTogJ1F1YW50aWxlJyxcbiAgcXVhbnRpemU6ICdRdWFudGl6ZScsXG4gIGxpbmVhcjogJ0xpbmVhcicsXG4gIHNxcnQ6ICdTcXJ0JyxcbiAgbG9nOiAnTG9nJyxcbiAgdGhyZXNob2xkOiAnVGhyZXNob2xkJyxcbiAgY3VzdG9tOiAnQ3VzdG9tIEJyZWFrcycsXG4gIGN1c3RvbU9yZGluYWw6ICdDdXN0b20gT3JkaW5hbCcsXG4gIHBvaW50OiAnUG9pbnQnXG59O1xuXG5leHBvcnQgdHlwZSBTQ0FMRV9GVU5DX1RZUEUgPSB7XG4gIFtrZXkgaW4ga2V5b2YgU0NBTEVfVFlQRVNfREVGXTogKCkgPT4gbnVtYmVyO1xufTtcblxuZXhwb3J0IGNvbnN0IFNDQUxFX0ZVTkMgPSB7XG4gIFtTQ0FMRV9UWVBFUy5saW5lYXJdOiBzY2FsZUxpbmVhcixcbiAgW1NDQUxFX1RZUEVTLnF1YW50aXplXTogc2NhbGVRdWFudGl6ZSxcbiAgW1NDQUxFX1RZUEVTLnF1YW50aWxlXTogc2NhbGVRdWFudGlsZSxcbiAgW1NDQUxFX1RZUEVTLm9yZGluYWxdOiBzY2FsZU9yZGluYWwsXG4gIFtTQ0FMRV9UWVBFUy5zcXJ0XTogc2NhbGVTcXJ0LFxuICBbU0NBTEVfVFlQRVMubG9nXTogc2NhbGVMb2csXG4gIFtTQ0FMRV9UWVBFUy5wb2ludF06IHNjYWxlUG9pbnQsXG4gIFtTQ0FMRV9UWVBFUy50aHJlc2hvbGRdOiBzY2FsZVRocmVzaG9sZCxcbiAgW1NDQUxFX1RZUEVTLmN1c3RvbV06IHNjYWxlVGhyZXNob2xkLFxuICBbU0NBTEVfVFlQRVMuY3VzdG9tT3JkaW5hbF06IHNjYWxlT3JkaW5hbFxufTtcblxuZXhwb3J0IGNvbnN0IEFMTF9GSUVMRF9UWVBFUyA9IGtleU1pcnJvcih7XG4gIGJvb2xlYW46IG51bGwsXG4gIGRhdGU6IG51bGwsXG4gIGdlb2pzb246IG51bGwsXG4gIGludGVnZXI6IG51bGwsXG4gIHJlYWw6IG51bGwsXG4gIHN0cmluZzogbnVsbCxcbiAgdGltZXN0YW1wOiBudWxsLFxuICBwb2ludDogbnVsbCxcbiAgYXJyYXk6IG51bGwsXG4gIG9iamVjdDogbnVsbCxcbiAgZ2VvYXJyb3c6IG51bGwsXG4gIGgzOiBudWxsXG59KTtcblxuLy8gRGF0YSBUYWJsZVxuZXhwb3J0IGNvbnN0IFNPUlRfT1JERVIgPSBrZXlNaXJyb3Ioe1xuICBBU0NFTkRJTkc6IG51bGwsXG4gIERFU0NFTkRJTkc6IG51bGwsXG4gIFVOU09SVDogbnVsbFxufSk7XG5cbmV4cG9ydCBjb25zdCBUQUJMRV9PUFRJT04gPSBrZXlNaXJyb3Ioe1xuICBTT1JUX0FTQzogbnVsbCxcbiAgU09SVF9ERVM6IG51bGwsXG4gIFVOU09SVDogbnVsbCxcbiAgUElOOiBudWxsLFxuICBVTlBJTjogbnVsbCxcbiAgQ09QWTogbnVsbCxcbiAgRk9STUFUX0NPTFVNTjogbnVsbFxufSk7XG5cbmV4cG9ydCB0eXBlIFRhYmxlT3B0aW9uID0ge1xuICB2YWx1ZTogJ1NPUlRfQVNDJyB8ICdTT1JUX0RFUycgfCAnVU5TT1JUJyB8ICdQSU4nIHwgJ1VOUElOJyB8ICdDT1BZJyB8ICdGT1JNQVRfQ09MVU1OJztcbiAgZGlzcGxheTogc3RyaW5nO1xuICBpY29uOiBzdHJpbmc7XG4gIGNvbmRpdGlvbj86IChwcm9wczogYW55KSA9PiBib29sZWFuO1xufTtcbmV4cG9ydCBjb25zdCBUQUJMRV9PUFRJT05fTElTVDogVGFibGVPcHRpb25bXSA9IFtcbiAge1xuICAgIHZhbHVlOiBUQUJMRV9PUFRJT04uU09SVF9BU0MsXG4gICAgZGlzcGxheTogJ1NvcnQgQXNjZW5kaW5nJyxcbiAgICBpY29uOiAnQXJyb3dVcCcsXG4gICAgY29uZGl0aW9uOiBwcm9wcyA9PiBwcm9wcy5zb3J0VGFibGVDb2x1bW4gJiYgcHJvcHMuc29ydE1vZGUgIT09IFNPUlRfT1JERVIuQVNDRU5ESU5HXG4gIH0sXG4gIHtcbiAgICB2YWx1ZTogVEFCTEVfT1BUSU9OLlNPUlRfREVTLFxuICAgIGRpc3BsYXk6ICdTb3J0IERlc2NlbmRpbmcnLFxuICAgIGljb246ICdBcnJvd0Rvd24nLFxuICAgIGNvbmRpdGlvbjogcHJvcHMgPT4gcHJvcHMuc29ydFRhYmxlQ29sdW1uICYmIHByb3BzLnNvcnRNb2RlICE9PSBTT1JUX09SREVSLkRFU0NFTkRJTkdcbiAgfSxcbiAge1xuICAgIHZhbHVlOiBUQUJMRV9PUFRJT04uVU5TT1JULFxuICAgIGRpc3BsYXk6ICdVbnNvcnQgQ29sdW1uJyxcbiAgICBpY29uOiAnQ2FuY2VsJyxcbiAgICBjb25kaXRpb246IHByb3BzID0+IHByb3BzLmlzU29ydGVkXG4gIH0sXG4gIHtcbiAgICB2YWx1ZTogVEFCTEVfT1BUSU9OLlBJTixcbiAgICBkaXNwbGF5OiAnUGluIENvbHVtbicsXG4gICAgaWNvbjogJ1BpbicsXG4gICAgY29uZGl0aW9uOiBwcm9wcyA9PiAhcHJvcHMuaXNQaW5uZWRcbiAgfSxcbiAge1xuICAgIHZhbHVlOiBUQUJMRV9PUFRJT04uVU5QSU4sXG4gICAgZGlzcGxheTogJ1VucGluIENvbHVtbicsXG4gICAgaWNvbjogJ0NhbmNlbCcsXG4gICAgY29uZGl0aW9uOiBwcm9wcyA9PiBwcm9wcy5pc1Bpbm5lZFxuICB9LFxuICB7dmFsdWU6IFRBQkxFX09QVElPTi5DT1BZLCBkaXNwbGF5OiAnQ29weSBDb2x1bW4nLCBpY29uOiAnQ2xpcGJvYXJkJ30sXG4gIHtcbiAgICB2YWx1ZTogVEFCTEVfT1BUSU9OLkZPUk1BVF9DT0xVTU4sXG4gICAgZGlzcGxheTogJ0Zvcm1hdCBDb2x1bW4nLFxuICAgIGljb246ICdIYXNoJyxcbiAgICBjb25kaXRpb246IHByb3BzID0+IHByb3BzLnNldERpc3BsYXlGb3JtYXRcbiAgfVxuXTtcblxuY29uc3QgWUVMTE9XID0gJzI0OCwgMTk0LCAyOCc7XG5jb25zdCBQSU5LID0gJzI0MiwgMTUyLCAxNjMnO1xuY29uc3QgUFVSUExFID0gJzE2MCwgMTA2LCAyMDYnO1xuY29uc3QgQkxVRSA9ICcxNDAsIDIxMCwgMjA1JztcbmNvbnN0IEJMVUUyID0gJzEwNiwgMTYwLCAyMDYnO1xuY29uc3QgQkxVRTMgPSAnMCwgMTcyLCAyMzcnO1xuY29uc3QgR1JFRU4gPSAnMTA2LCAxNjAsIDU2JztcbmNvbnN0IEdSRUVOMiA9ICc3NCwgMTY1LCAxNTAnO1xuY29uc3QgUkVEID0gJzIzNywgODgsIDEwNic7XG5jb25zdCBPUkFOR0UgPSAnMjMxLCAxMTAsIDU4JztcblxuZXhwb3J0IGNvbnN0IEZJRUxEX1RZUEVfRElTUExBWSA9IHtcbiAgW0FMTF9GSUVMRF9UWVBFUy5ib29sZWFuXToge1xuICAgIGxhYmVsOiAnYm9vbCcsXG4gICAgY29sb3I6IFBJTktcbiAgfSxcbiAgW0FMTF9GSUVMRF9UWVBFUy5kYXRlXToge1xuICAgIGxhYmVsOiAnZGF0ZScsXG4gICAgY29sb3I6IFBVUlBMRVxuICB9LFxuICBbQUxMX0ZJRUxEX1RZUEVTLmdlb2pzb25dOiB7XG4gICAgbGFiZWw6ICdnZW8nLFxuICAgIGNvbG9yOiBCTFVFMlxuICB9LFxuICBbQUxMX0ZJRUxEX1RZUEVTLmdlb2Fycm93XToge1xuICAgIGxhYmVsOiAnZ2VvJyxcbiAgICBjb2xvcjogQkxVRTJcbiAgfSxcbiAgW0FMTF9GSUVMRF9UWVBFUy5pbnRlZ2VyXToge1xuICAgIGxhYmVsOiAnaW50JyxcbiAgICBjb2xvcjogWUVMTE9XXG4gIH0sXG4gIFtBTExfRklFTERfVFlQRVMucmVhbF06IHtcbiAgICBsYWJlbDogJ2Zsb2F0JyxcbiAgICBjb2xvcjogWUVMTE9XXG4gIH0sXG4gIFtBTExfRklFTERfVFlQRVMuc3RyaW5nXToge1xuICAgIGxhYmVsOiAnc3RyaW5nJyxcbiAgICBjb2xvcjogQkxVRVxuICB9LFxuICBbQUxMX0ZJRUxEX1RZUEVTLnRpbWVzdGFtcF06IHtcbiAgICBsYWJlbDogJ3RpbWUnLFxuICAgIGNvbG9yOiBHUkVFTlxuICB9LFxuICAvLyBmaWVsZCBwYWlyc1xuICBbQUxMX0ZJRUxEX1RZUEVTLnBvaW50XToge1xuICAgIGxhYmVsOiAncG9pbnQnLFxuICAgIGNvbG9yOiBCTFVFM1xuICB9LFxuICBbQUxMX0ZJRUxEX1RZUEVTLmFycmF5XToge1xuICAgIGxhYmVsOiAnYXJyYXknLFxuICAgIGNvbG9yOiBPUkFOR0VcbiAgfSxcbiAgW0FMTF9GSUVMRF9UWVBFUy5vYmplY3RdOiB7XG4gICAgbGFiZWw6ICdvYmplY3QnLFxuICAgIGNvbG9yOiBHUkVFTjJcbiAgfSxcbiAgW0FMTF9GSUVMRF9UWVBFUy5oM106IHtcbiAgICBsYWJlbDogJ2gzJyxcbiAgICBjb2xvcjogQkxVRVxuICB9XG59O1xuXG5leHBvcnQgY29uc3QgRklFTERfQ09MT1JTID0ge1xuICBkZWZhdWx0OiBSRURcbn07XG5leHBvcnQgY29uc3QgSElHSExJR0hfQ09MT1JfM0Q6IFJHQkFDb2xvciA9IFsyNTUsIDI1NSwgMjU1LCA2MF07XG5leHBvcnQgY29uc3QgQ0hBTk5FTF9TQ0FMRVMgPSBrZXlNaXJyb3Ioe1xuICBjb2xvcjogbnVsbCxcbiAgcmFkaXVzOiBudWxsLFxuICBzaXplOiBudWxsLFxuICBjb2xvckFnZ3I6IG51bGwsXG4gIHNpemVBZ2dyOiBudWxsXG59KTtcblxuZXhwb3J0IGNvbnN0IEFHR1JFR0FUSU9OX1RZUEVTOiB7XG4gIC8vIGRlZmF1bHRcbiAgY291bnQ6ICdjb3VudCc7XG4gIC8vIGxpbmVhclxuICBhdmVyYWdlOiAnYXZlcmFnZSc7XG4gIG1heGltdW06ICdtYXhpbXVtJztcbiAgbWluaW11bTogJ21pbmltdW0nO1xuICBtZWRpYW46ICdtZWRpYW4nO1xuICBzdGRldjogJ3N0ZGV2JztcbiAgc3VtOiAnc3VtJztcbiAgdmFyaWFuY2U6ICd2YXJpYW5jZSc7XG4gIC8vIG9yZGluYWxcbiAgbW9kZTogJ21vZGUnO1xuICBjb3VudFVuaXF1ZTogJ2NvdW50VW5pcXVlJztcbn0gPSB7XG4gIC8vIGRlZmF1bHRcbiAgY291bnQ6ICdjb3VudCcsXG4gIC8vIGxpbmVhclxuICBhdmVyYWdlOiAnYXZlcmFnZScsXG4gIG1heGltdW06ICdtYXhpbXVtJyxcbiAgbWluaW11bTogJ21pbmltdW0nLFxuICBtZWRpYW46ICdtZWRpYW4nLFxuICBzdGRldjogJ3N0ZGV2JyxcbiAgc3VtOiAnc3VtJyxcbiAgdmFyaWFuY2U6ICd2YXJpYW5jZScsXG4gIC8vIG9yZGluYWxcbiAgbW9kZTogJ21vZGUnLFxuICBjb3VudFVuaXF1ZTogJ2NvdW50VW5pcXVlJ1xufTtcblxuZXhwb3J0IGNvbnN0IEFHR1JFR0FUSU9OX1RZUEVfT1BUSU9OUzoge2lkOiBzdHJpbmc7IGxhYmVsOiBzdHJpbmd9W10gPSBPYmplY3QuZW50cmllcyhcbiAgQUdHUkVHQVRJT05fVFlQRVNcbikubWFwKChba2V5LCB2YWx1ZV0pID0+ICh7XG4gIGlkOiBrZXksXG4gIGxhYmVsOlxuICAgIGtleSA9PT0gJ3N0ZGV2J1xuICAgICAgPyAnU3RkIERldmlhdGlvbidcbiAgICAgIDoga2V5ID09PSAnY291bnRVbmlxdWUnXG4gICAgICA/ICdDb3VudCBVbmlxdWUnXG4gICAgICA6IHR5cGVvZiB2YWx1ZSA9PT0gJ3N0cmluZydcbiAgICAgID8gdmFsdWUuY2hhckF0KDApLnRvVXBwZXJDYXNlKCkgKyB2YWx1ZS5zbGljZSgxKVxuICAgICAgOiB2YWx1ZVxufSkpO1xuXG5leHBvcnQgY29uc3QgbGluZWFyRmllbGRTY2FsZUZ1bmN0aW9ucyA9IHtcbiAgW0NIQU5ORUxfU0NBTEVTLmNvbG9yXTogW1NDQUxFX1RZUEVTLnF1YW50aXplLCBTQ0FMRV9UWVBFUy5xdWFudGlsZSwgU0NBTEVfVFlQRVMuY3VzdG9tXSxcbiAgW0NIQU5ORUxfU0NBTEVTLnJhZGl1c106IFtTQ0FMRV9UWVBFUy5zcXJ0XSxcbiAgW0NIQU5ORUxfU0NBTEVTLnNpemVdOiBbU0NBTEVfVFlQRVMubGluZWFyLCBTQ0FMRV9UWVBFUy5zcXJ0LCBTQ0FMRV9UWVBFUy5sb2ddXG59O1xuXG5jb25zdCBERUZBVUxUX0FHR1JFR0FUSU9OX0NPTE9SX1NDQUxFUyA9IFtcbiAgU0NBTEVfVFlQRVMucXVhbnRpemUsXG4gIFNDQUxFX1RZUEVTLnF1YW50aWxlLFxuICBTQ0FMRV9UWVBFUy5jdXN0b21cbl07XG5cbmV4cG9ydCBjb25zdCBsaW5lYXJGaWVsZEFnZ3JTY2FsZUZ1bmN0aW9ucyA9IHtcbiAgW0NIQU5ORUxfU0NBTEVTLmNvbG9yQWdncl06IFtcbiAgICBBR0dSRUdBVElPTl9UWVBFUy5hdmVyYWdlLFxuICAgIEFHR1JFR0FUSU9OX1RZUEVTLm1heGltdW0sXG4gICAgQUdHUkVHQVRJT05fVFlQRVMubWluaW11bSxcbiAgICBBR0dSRUdBVElPTl9UWVBFUy5tZWRpYW4sXG4gICAgQUdHUkVHQVRJT05fVFlQRVMuc3RkZXYsXG4gICAgQUdHUkVHQVRJT05fVFlQRVMuc3VtLFxuICAgIEFHR1JFR0FUSU9OX1RZUEVTLnZhcmlhbmNlLFxuICAgIEFHR1JFR0FUSU9OX1RZUEVTLmNvdW50XG4gIF0ucmVkdWNlKChwcmV2LCBjdXIpID0+IHtcbiAgICBwcmV2W2N1cl0gPSBERUZBVUxUX0FHR1JFR0FUSU9OX0NPTE9SX1NDQUxFUztcbiAgICByZXR1cm4gcHJldjtcbiAgfSwge30pLFxuXG4gIFtDSEFOTkVMX1NDQUxFUy5zaXplQWdncl06IHtcbiAgICBbQUdHUkVHQVRJT05fVFlQRVMuYXZlcmFnZV06IFtTQ0FMRV9UWVBFUy5saW5lYXIsIFNDQUxFX1RZUEVTLnNxcnQsIFNDQUxFX1RZUEVTLmxvZ10sXG4gICAgW0FHR1JFR0FUSU9OX1RZUEVTLm1heGltdW1dOiBbU0NBTEVfVFlQRVMubGluZWFyLCBTQ0FMRV9UWVBFUy5zcXJ0LCBTQ0FMRV9UWVBFUy5sb2ddLFxuICAgIFtBR0dSRUdBVElPTl9UWVBFUy5taW5pbXVtXTogW1NDQUxFX1RZUEVTLmxpbmVhciwgU0NBTEVfVFlQRVMuc3FydCwgU0NBTEVfVFlQRVMubG9nXSxcbiAgICBbQUdHUkVHQVRJT05fVFlQRVMubWVkaWFuXTogW1NDQUxFX1RZUEVTLmxpbmVhciwgU0NBTEVfVFlQRVMuc3FydCwgU0NBTEVfVFlQRVMubG9nXSxcbiAgICBbQUdHUkVHQVRJT05fVFlQRVMuc3RkZXZdOiBbU0NBTEVfVFlQRVMubGluZWFyLCBTQ0FMRV9UWVBFUy5zcXJ0LCBTQ0FMRV9UWVBFUy5sb2ddLFxuICAgIFtBR0dSRUdBVElPTl9UWVBFUy5zdW1dOiBbU0NBTEVfVFlQRVMubGluZWFyLCBTQ0FMRV9UWVBFUy5zcXJ0LCBTQ0FMRV9UWVBFUy5sb2ddLFxuICAgIFtBR0dSRUdBVElPTl9UWVBFUy52YXJpYW5jZV06IFtTQ0FMRV9UWVBFUy5saW5lYXIsIFNDQUxFX1RZUEVTLnNxcnQsIFNDQUxFX1RZUEVTLmxvZ11cbiAgfVxufTtcblxuZXhwb3J0IGNvbnN0IG9yZGluYWxGaWVsZFNjYWxlRnVuY3Rpb25zID0ge1xuICBbQ0hBTk5FTF9TQ0FMRVMuY29sb3JdOiBbU0NBTEVfVFlQRVMub3JkaW5hbCwgU0NBTEVfVFlQRVMuY3VzdG9tT3JkaW5hbF0sXG4gIFtDSEFOTkVMX1NDQUxFUy5yYWRpdXNdOiBbU0NBTEVfVFlQRVMucG9pbnRdLFxuICBbQ0hBTk5FTF9TQ0FMRVMuc2l6ZV06IFtTQ0FMRV9UWVBFUy5wb2ludF1cbn07XG5cbmV4cG9ydCBjb25zdCBvcmRpbmFsRmllbGRBZ2dyU2NhbGVGdW5jdGlvbnMgPSB7XG4gIC8vIFtDSEFOTkVMX1NDQUxFUy5jb2xvckFnZ3JdOiBbU0NBTEVfVFlQRVMub3JkaW5hbCwgU0NBTEVfVFlQRVMubGluZWFyXSxcbiAgW0NIQU5ORUxfU0NBTEVTLmNvbG9yQWdncl06IHtcbiAgICBbQUdHUkVHQVRJT05fVFlQRVMubW9kZV06IFtTQ0FMRV9UWVBFUy5vcmRpbmFsXSxcbiAgICBbQUdHUkVHQVRJT05fVFlQRVMuY291bnRVbmlxdWVdOiBbU0NBTEVfVFlQRVMucXVhbnRpemUsIFNDQUxFX1RZUEVTLnF1YW50aWxlXVxuICB9LFxuXG4gIC8vIEN1cnJlbnRseSBkb2Vzbid0IHN1cHBvcnQgeWV0XG4gIFtDSEFOTkVMX1NDQUxFUy5zaXplQWdncl06IHt9XG59O1xuXG5leHBvcnQgY29uc3Qgbm90U3VwcG9ydGVkU2NhbGVPcHRzID0ge1xuICBbQ0hBTk5FTF9TQ0FMRVMuY29sb3JdOiBbXSxcbiAgW0NIQU5ORUxfU0NBTEVTLnJhZGl1c106IFtdLFxuICBbQ0hBTk5FTF9TQ0FMRVMuc2l6ZV06IFtdXG59O1xuXG5leHBvcnQgY29uc3Qgbm90U3VwcG9ydEFnZ3JPcHRzID0ge1xuICBbQ0hBTk5FTF9TQ0FMRVMuY29sb3JBZ2dyXToge30sXG4gIFtDSEFOTkVMX1NDQUxFUy5zaXplQWdncl06IHt9XG59O1xuXG4vKipcbiAqIERlZmF1bHQgYWdncmVnYXRpb24gYXJlIGJhc2VkIG9uIG9jdW50XG4gKi9cbmV4cG9ydCBjb25zdCBERUZBVUxUX0FHR1JFR0FUSU9OID0ge1xuICBbQ0hBTk5FTF9TQ0FMRVMuY29sb3JBZ2dyXToge1xuICAgIFtBR0dSRUdBVElPTl9UWVBFUy5jb3VudF06IERFRkFVTFRfQUdHUkVHQVRJT05fQ09MT1JfU0NBTEVTXG4gIH0sXG4gIFtDSEFOTkVMX1NDQUxFUy5zaXplQWdncl06IHtcbiAgICBbQUdHUkVHQVRJT05fVFlQRVMuY291bnRdOiBbU0NBTEVfVFlQRVMubGluZWFyLCBTQ0FMRV9UWVBFUy5zcXJ0LCBTQ0FMRV9UWVBFUy5sb2ddXG4gIH1cbn07XG5cbi8qKlxuICogRGVmaW5lIHdoYXQgdHlwZSBvZiBzY2FsZSBvcGVyYXRpb24gaXMgYWxsb3dlZCBvbiBlYWNoIHR5cGUgb2YgZmllbGRzXG4gKi9cbmV4cG9ydCBjb25zdCBGSUVMRF9PUFRTID0ge1xuICBbQUxMX0ZJRUxEX1RZUEVTLnN0cmluZ106IHtcbiAgICB0eXBlOiAnY2F0ZWdvcmljYWwnLFxuICAgIHNjYWxlOiB7XG4gICAgICAuLi5vcmRpbmFsRmllbGRTY2FsZUZ1bmN0aW9ucyxcbiAgICAgIC4uLm9yZGluYWxGaWVsZEFnZ3JTY2FsZUZ1bmN0aW9uc1xuICAgIH0sXG4gICAgZm9ybWF0OiB7XG4gICAgICBsZWdlbmQ6IGQgPT4gZCxcbiAgICAgIHRvb2x0aXA6IFtdXG4gICAgfVxuICB9LFxuICBbQUxMX0ZJRUxEX1RZUEVTLnJlYWxdOiB7XG4gICAgdHlwZTogJ251bWVyaWNhbCcsXG4gICAgc2NhbGU6IHtcbiAgICAgIC4uLmxpbmVhckZpZWxkU2NhbGVGdW5jdGlvbnMsXG4gICAgICAuLi5saW5lYXJGaWVsZEFnZ3JTY2FsZUZ1bmN0aW9uc1xuICAgIH0sXG4gICAgZm9ybWF0OiB7XG4gICAgICBsZWdlbmQ6IGQgPT4gZCxcbiAgICAgIHRvb2x0aXA6IFtcbiAgICAgICAgVE9PTFRJUF9GT1JNQVRfVFlQRVMuTk9ORSxcbiAgICAgICAgVE9PTFRJUF9GT1JNQVRfVFlQRVMuREVDSU1BTCxcbiAgICAgICAgVE9PTFRJUF9GT1JNQVRfVFlQRVMuUEVSQ0VOVEFHRVxuICAgICAgXVxuICAgIH1cbiAgfSxcbiAgW0FMTF9GSUVMRF9UWVBFUy50aW1lc3RhbXBdOiB7XG4gICAgdHlwZTogJ3RpbWUnLFxuICAgIHNjYWxlOiB7XG4gICAgICAuLi5saW5lYXJGaWVsZFNjYWxlRnVuY3Rpb25zLFxuICAgICAgLi4ubm90U3VwcG9ydEFnZ3JPcHRzXG4gICAgfSxcbiAgICBmb3JtYXQ6IHtcbiAgICAgIGxlZ2VuZDogZCA9PiBkLFxuICAgICAgdG9vbHRpcDogW1xuICAgICAgICBUT09MVElQX0ZPUk1BVF9UWVBFUy5OT05FLFxuICAgICAgICBUT09MVElQX0ZPUk1BVF9UWVBFUy5EQVRFLFxuICAgICAgICBUT09MVElQX0ZPUk1BVF9UWVBFUy5EQVRFX1RJTUVcbiAgICAgIF1cbiAgICB9XG4gIH0sXG4gIFtBTExfRklFTERfVFlQRVMuaW50ZWdlcl06IHtcbiAgICB0eXBlOiAnbnVtZXJpY2FsJyxcbiAgICBzY2FsZToge1xuICAgICAgLi4ue1xuICAgICAgICAuLi5saW5lYXJGaWVsZFNjYWxlRnVuY3Rpb25zLFxuICAgICAgICBbQ0hBTk5FTF9TQ0FMRVMuY29sb3JdOiBbXG4gICAgICAgICAgLi4ubGluZWFyRmllbGRTY2FsZUZ1bmN0aW9uc1tDSEFOTkVMX1NDQUxFUy5jb2xvcl0sXG4gICAgICAgICAgU0NBTEVfVFlQRVMuY3VzdG9tT3JkaW5hbFxuICAgICAgICBdXG4gICAgICB9LFxuICAgICAgLi4ubGluZWFyRmllbGRBZ2dyU2NhbGVGdW5jdGlvbnNcbiAgICB9LFxuICAgIGZvcm1hdDoge1xuICAgICAgbGVnZW5kOiBkID0+IGQsXG4gICAgICB0b29sdGlwOiBbXG4gICAgICAgIFRPT0xUSVBfRk9STUFUX1RZUEVTLk5PTkUsXG4gICAgICAgIFRPT0xUSVBfRk9STUFUX1RZUEVTLkRFQ0lNQUwsXG4gICAgICAgIFRPT0xUSVBfRk9STUFUX1RZUEVTLlBFUkNFTlRBR0VcbiAgICAgIF1cbiAgICB9XG4gIH0sXG4gIFtBTExfRklFTERfVFlQRVMuYm9vbGVhbl06IHtcbiAgICB0eXBlOiAnYm9vbGVhbicsXG4gICAgc2NhbGU6IHtcbiAgICAgIC4uLm9yZGluYWxGaWVsZFNjYWxlRnVuY3Rpb25zLFxuICAgICAgLi4ub3JkaW5hbEZpZWxkQWdnclNjYWxlRnVuY3Rpb25zXG4gICAgfSxcbiAgICBmb3JtYXQ6IHtcbiAgICAgIGxlZ2VuZDogZCA9PiBkLFxuICAgICAgdG9vbHRpcDogW1RPT0xUSVBfRk9STUFUX1RZUEVTLk5PTkUsIFRPT0xUSVBfRk9STUFUX1RZUEVTLkJPT0xFQU5dXG4gICAgfVxuICB9LFxuICBbQUxMX0ZJRUxEX1RZUEVTLmRhdGVdOiB7XG4gICAgdHlwZTogJ3RpbWUnLFxuICAgIHNjYWxlOiB7XG4gICAgICAuLi5vcmRpbmFsRmllbGRTY2FsZUZ1bmN0aW9ucyxcbiAgICAgIC4uLm9yZGluYWxGaWVsZEFnZ3JTY2FsZUZ1bmN0aW9uc1xuICAgIH0sXG4gICAgZm9ybWF0OiB7XG4gICAgICBsZWdlbmQ6IGQgPT4gZCxcbiAgICAgIHRvb2x0aXA6IFtUT09MVElQX0ZPUk1BVF9UWVBFUy5OT05FLCBUT09MVElQX0ZPUk1BVF9UWVBFUy5EQVRFXVxuICAgIH1cbiAgfSxcbiAgW0FMTF9GSUVMRF9UWVBFUy5nZW9qc29uXToge1xuICAgIHR5cGU6ICdnZW9tZXRyeScsXG4gICAgc2NhbGU6IHtcbiAgICAgIC4uLm5vdFN1cHBvcnRlZFNjYWxlT3B0cyxcbiAgICAgIC4uLm5vdFN1cHBvcnRBZ2dyT3B0c1xuICAgIH0sXG4gICAgZm9ybWF0OiB7XG4gICAgICBsZWdlbmQ6ICgpID0+ICcuLi4nLFxuICAgICAgdG9vbHRpcDogW11cbiAgICB9XG4gIH0sXG4gIFtBTExfRklFTERfVFlQRVMuZ2VvYXJyb3ddOiB7XG4gICAgdHlwZTogJ2dlb21ldHJ5JyxcbiAgICBzY2FsZToge1xuICAgICAgLi4ubm90U3VwcG9ydGVkU2NhbGVPcHRzLFxuICAgICAgLi4ubm90U3VwcG9ydEFnZ3JPcHRzXG4gICAgfSxcbiAgICBmb3JtYXQ6IHtcbiAgICAgIGxlZ2VuZDogKCkgPT4gJy4uLicsXG4gICAgICB0b29sdGlwOiBbXVxuICAgIH1cbiAgfSxcbiAgW0FMTF9GSUVMRF9UWVBFUy5vYmplY3RdOiB7XG4gICAgdHlwZTogJ251bWVyaWNhbCcsXG4gICAgc2NhbGU6IHt9LFxuICAgIGZvcm1hdDoge1xuICAgICAgbGVnZW5kOiAoKSA9PiAnLi4uJyxcbiAgICAgIHRvb2x0aXA6IFtdXG4gICAgfVxuICB9LFxuICBbQUxMX0ZJRUxEX1RZUEVTLmFycmF5XToge1xuICAgIHR5cGU6ICdudW1lcmljYWwnLFxuICAgIHNjYWxlOiB7fSxcbiAgICBmb3JtYXQ6IHtcbiAgICAgIGxlZ2VuZDogKCkgPT4gJy4uLicsXG4gICAgICB0b29sdGlwOiBbXVxuICAgIH1cbiAgfSxcbiAgW0FMTF9GSUVMRF9UWVBFUy5oM106IHtcbiAgICB0eXBlOiAnaDMnLFxuICAgIHNjYWxlOiB7XG4gICAgICAuLi5ub3RTdXBwb3J0ZWRTY2FsZU9wdHMsXG4gICAgICAuLi5ub3RTdXBwb3J0QWdnck9wdHNcbiAgICB9LFxuICAgIGZvcm1hdDoge1xuICAgICAgbGVnZW5kOiAoKSA9PiAnLi4uJyxcbiAgICAgIHRvb2x0aXA6IFtdXG4gICAgfVxuICB9XG59O1xuXG5leHBvcnQgY29uc3QgQ0hBTk5FTF9TQ0FMRV9TVVBQT1JURURfRklFTERTID0gT2JqZWN0LmtleXMoQ0hBTk5FTF9TQ0FMRVMpLnJlZHVjZShcbiAgKGFjY3UsIGtleSkgPT4gKHtcbiAgICAuLi5hY2N1LFxuICAgIFtrZXldOiBPYmplY3Qua2V5cyhGSUVMRF9PUFRTKS5maWx0ZXIoXG4gICAgICBmdCA9PiBGSUVMRF9PUFRTW2Z0XS5zY2FsZVtrZXldICYmIE9iamVjdC5rZXlzKEZJRUxEX09QVFNbZnRdLnNjYWxlW2tleV0pLmxlbmd0aFxuICAgIClcbiAgfSksXG4gIHt9IGFzIHtbaWQ6IHN0cmluZ106IHN0cmluZ1tdfVxuKTtcblxuZXhwb3J0IGNvbnN0IERFRkFVTFRfTEFZRVJfQ09MT1IgPSB7XG4gIHRyaXBBcmM6ICcjOTIyNkM2JyxcbiAgYmVnaW50cmlwX2xhdDogJyMxRTk2QkUnLFxuICBkcm9wb2ZmX2xhdDogJyNGRjk5MUYnLFxuICByZXF1ZXN0X2xhdDogJyM1MkEzNTMnXG59O1xuXG5leHBvcnQgY29uc3QgREVGQVVMVF9MQVlFUl9DT0xPUl9QQUxFVFRFID0gJ0dsb2JhbCBXYXJtaW5nJztcbmV4cG9ydCBjb25zdCBERUZBVUxUX0xBWUVSX0NPTE9SX1BBTEVUVEVfU1RFUFMgPSA2O1xuXG4vLyBsZXQgdXNlciBwYXNzIGluIGRlZmF1bHQgdG9vbHRpcCBmaWVsZHNcbmV4cG9ydCBjb25zdCBERUZBVUxUX1RPT0xUSVBfRklFTERTOiBhbnlbXSA9IFtdO1xuXG5leHBvcnQgY29uc3QgTk9fVkFMVUVfQ09MT1I6IFJHQkFDb2xvciA9IFswLCAwLCAwLCAwXTtcblxuZXhwb3J0IGNvbnN0IERFRkFVTFRfUElDS0lOR19SQURJVVMgPSAzO1xuXG5leHBvcnQgY29uc3QgT1ZFUkxBWV9CTEVORElOR1MgPSB7XG4gIG5vcm1hbDoge1xuICAgIGxhYmVsOiAnb3ZlcmxheUJsZW5kaW5nLm5vcm1hbCcsXG4gICAgdmFsdWU6ICdub3JtYWwnXG4gIH0sXG4gIHNjcmVlbjoge1xuICAgIGxhYmVsOiAnb3ZlcmxheUJsZW5kaW5nLnNjcmVlbicsXG4gICAgdmFsdWU6ICdzY3JlZW4nXG4gIH0sXG4gIGRhcmtlbjoge1xuICAgIGxhYmVsOiAnb3ZlcmxheUJsZW5kaW5nLmRhcmtlbicsXG4gICAgdmFsdWU6ICdkYXJrZW4nXG4gIH1cbn07XG5cbmV4cG9ydCBjb25zdCBMQVlFUl9CTEVORElOR1MgPSB7XG4gIGFkZGl0aXZlOiB7XG4gICAgbGFiZWw6ICdsYXllckJsZW5kaW5nLmFkZGl0aXZlJyxcbiAgICBibGVuZEZ1bmM6IFsnU1JDX0FMUEhBJywgJ0RTVF9BTFBIQSddLFxuICAgIGJsZW5kRXF1YXRpb246ICdGVU5DX0FERCdcbiAgfSxcbiAgbm9ybWFsOiB7XG4gICAgLy8gcmVmZXJlbmNlIHRvXG4gICAgLy8gaHR0cHM6Ly9saW1udS5jb20vd2ViZ2wtYmxlbmRpbmcteW91cmUtcHJvYmFibHktd3JvbmcvXG4gICAgbGFiZWw6ICdsYXllckJsZW5kaW5nLm5vcm1hbCcsXG4gICAgYmxlbmRGdW5jOiBbJ1NSQ19BTFBIQScsICdPTkVfTUlOVVNfU1JDX0FMUEhBJywgJ09ORScsICdPTkVfTUlOVVNfU1JDX0FMUEhBJ10sXG4gICAgYmxlbmRFcXVhdGlvbjogWydGVU5DX0FERCcsICdGVU5DX0FERCddXG4gIH0sXG4gIHN1YnRyYWN0aXZlOiB7XG4gICAgbGFiZWw6ICdsYXllckJsZW5kaW5nLnN1YnRyYWN0aXZlJyxcbiAgICBibGVuZEZ1bmM6IFsnT05FJywgJ09ORV9NSU5VU19EU1RfQ09MT1InLCAnU1JDX0FMUEhBJywgJ0RTVF9BTFBIQSddLFxuICAgIGJsZW5kRXF1YXRpb246IFsnRlVOQ19TVUJUUkFDVCcsICdGVU5DX0FERCddXG4gIH1cbn07XG5cbmV4cG9ydCBjb25zdCBNQVhfREVGQVVMVF9UT09MVElQUyA9IDU7XG5cbmV4cG9ydCBjb25zdCBSRVNPTFVUSU9OUyA9IGtleU1pcnJvcih7XG4gIE9ORV9YOiBudWxsLFxuICBUV09fWDogbnVsbFxufSk7XG5cbmV4cG9ydCBjb25zdCBFWFBPUlRfSU1HX1JBVElPUyA9IGtleU1pcnJvcih7XG4gIFNDUkVFTjogbnVsbCxcbiAgRk9VUl9CWV9USFJFRTogbnVsbCxcbiAgU0lYVEVFTl9CWV9OSU5FOiBudWxsLFxuICBDVVNUT006IG51bGxcbn0pO1xuXG5leHBvcnQgdHlwZSBJbWFnZVJhdGlvT3B0aW9uID0ge1xuICBpZDoga2V5b2YgdHlwZW9mIEVYUE9SVF9JTUdfUkFUSU9TO1xuICBsYWJlbDogc3RyaW5nO1xuICBoaWRkZW4/OiBib29sZWFuO1xuICBnZXRTaXplOiAoc2NyZWVuVzogbnVtYmVyLCBzY3JlZW5IOiBudW1iZXIpID0+IHt3aWR0aDogbnVtYmVyOyBoZWlnaHQ6IG51bWJlcn07XG59O1xuXG5leHBvcnQgY29uc3QgU2NyZWVuUmF0aW9PcHRpb246IEltYWdlUmF0aW9PcHRpb24gPSB7XG4gIGlkOiBFWFBPUlRfSU1HX1JBVElPUy5TQ1JFRU4sXG4gIGxhYmVsOiAnbW9kYWwuZXhwb3J0SW1hZ2UucmF0aW9PcmlnaW5hbFNjcmVlbicsXG4gIGdldFNpemU6IChzY3JlZW5XLCBzY3JlZW5IKSA9PiAoe3dpZHRoOiBzY3JlZW5XLCBoZWlnaHQ6IHNjcmVlbkh9KVxufTtcbmV4cG9ydCBjb25zdCBDdXN0b21SYXRpb09wdGlvbjogSW1hZ2VSYXRpb09wdGlvbiA9IHtcbiAgaWQ6IEVYUE9SVF9JTUdfUkFUSU9TLkNVU1RPTSxcbiAgaGlkZGVuOiB0cnVlLFxuICBsYWJlbDogJ21vZGFsLmV4cG9ydEltYWdlLnJhdGlvQ3VzdG9tJyxcbiAgZ2V0U2l6ZTogKG1hcFcsIG1hcEgpID0+ICh7d2lkdGg6IG1hcFcsIGhlaWdodDogbWFwSH0pXG59O1xuZXhwb3J0IGNvbnN0IEZvdXJCeVRocmVlUmF0aW9PcHRpb246IEltYWdlUmF0aW9PcHRpb24gPSB7XG4gIGlkOiBFWFBPUlRfSU1HX1JBVElPUy5GT1VSX0JZX1RIUkVFLFxuICBsYWJlbDogJ21vZGFsLmV4cG9ydEltYWdlLnJhdGlvNF8zJyxcbiAgZ2V0U2l6ZTogc2NyZWVuVyA9PiAoe1xuICAgIHdpZHRoOiBzY3JlZW5XLFxuICAgIGhlaWdodDogTWF0aC5yb3VuZChzY3JlZW5XICogMC43NSlcbiAgfSlcbn07XG5leHBvcnQgY29uc3QgU2l4dGVlbkJ5TmluZVJhdGlvT3B0aW9uOiBJbWFnZVJhdGlvT3B0aW9uID0ge1xuICBpZDogRVhQT1JUX0lNR19SQVRJT1MuU0lYVEVFTl9CWV9OSU5FLFxuICBsYWJlbDogJ21vZGFsLmV4cG9ydEltYWdlLnJhdGlvMTZfOScsXG4gIGdldFNpemU6IHNjcmVlblcgPT4gKHtcbiAgICB3aWR0aDogc2NyZWVuVyxcbiAgICBoZWlnaHQ6IE1hdGgucm91bmQoc2NyZWVuVyAqIDAuNTYyNSlcbiAgfSlcbn07XG5cbmV4cG9ydCBjb25zdCBFWFBPUlRfSU1HX1JBVElPX09QVElPTlM6IFJlYWRvbmx5QXJyYXk8SW1hZ2VSYXRpb09wdGlvbj4gPSBbXG4gIFNjcmVlblJhdGlvT3B0aW9uLFxuICBDdXN0b21SYXRpb09wdGlvbixcbiAgRm91ckJ5VGhyZWVSYXRpb09wdGlvbixcbiAgU2l4dGVlbkJ5TmluZVJhdGlvT3B0aW9uXG5dO1xuXG5leHBvcnQgdHlwZSBJbWFnZVJlc29sdXRpb25PcHRpb24gPSB7XG4gIGlkOiBrZXlvZiB0eXBlb2YgUkVTT0xVVElPTlM7XG4gIGxhYmVsOiBzdHJpbmc7XG4gIGF2YWlsYWJsZTogYm9vbGVhbjtcbiAgc2NhbGU6IG51bWJlcjtcbiAgZ2V0U2l6ZTogKHNjcmVlblc6IG51bWJlciwgc2NyZWVuSDogbnVtYmVyKSA9PiB7d2lkdGg6IG51bWJlcjsgaGVpZ2h0OiBudW1iZXJ9O1xufTtcblxuZXhwb3J0IGNvbnN0IE9uZVhSZXNvbHV0aW9uT3B0aW9uOiBJbWFnZVJlc29sdXRpb25PcHRpb24gPSB7XG4gIGlkOiBSRVNPTFVUSU9OUy5PTkVfWCxcbiAgbGFiZWw6ICcxeCcsXG4gIGF2YWlsYWJsZTogdHJ1ZSxcbiAgc2NhbGU6IDEsXG4gIGdldFNpemU6IChzY3JlZW5XLCBzY3JlZW5IKSA9PiAoe1xuICAgIHdpZHRoOiBzY3JlZW5XLFxuICAgIGhlaWdodDogc2NyZWVuSFxuICB9KVxufTtcblxuZXhwb3J0IGNvbnN0IFR3b1hSZXNvbHV0aW9uT3B0aW9uOiBJbWFnZVJlc29sdXRpb25PcHRpb24gPSB7XG4gIGlkOiBSRVNPTFVUSU9OUy5UV09fWCxcbiAgbGFiZWw6ICcyeCcsXG4gIGF2YWlsYWJsZTogdHJ1ZSxcbiAgc2NhbGU6IDIsXG4gIGdldFNpemU6IChzY3JlZW5XLCBzY3JlZW5IKSA9PiAoe1xuICAgIHdpZHRoOiBzY3JlZW5XICogMixcbiAgICBoZWlnaHQ6IHNjcmVlbkggKiAyXG4gIH0pXG59O1xuXG5leHBvcnQgY29uc3QgRVhQT1JUX0lNR19SRVNPTFVUSU9OX09QVElPTlM6IFJlYWRvbmx5QXJyYXk8SW1hZ2VSZXNvbHV0aW9uT3B0aW9uPiA9IFtcbiAgT25lWFJlc29sdXRpb25PcHRpb24sXG4gIFR3b1hSZXNvbHV0aW9uT3B0aW9uXG5dO1xuXG5leHBvcnQgY29uc3QgRVhQT1JUX0RBVEFfVFlQRSA9IGtleU1pcnJvcih7XG4gIENTVjogbnVsbFxuICAvLyBTSEFQRUZJTEU6IG51bGwsXG4gIC8vIEpTT046IG51bGwsXG4gIC8vIEdFT0pTT046IG51bGwsXG4gIC8vIFRPUE9KU09OOiBudWxsXG59KTtcblxuZXhwb3J0IGNvbnN0IEVYUE9SVF9EQVRBX1RZUEVfT1BUSU9OUyA9IFtcbiAge1xuICAgIGlkOiBFWFBPUlRfREFUQV9UWVBFLkNTVixcbiAgICBsYWJlbDogRVhQT1JUX0RBVEFfVFlQRS5DU1YudG9Mb3dlckNhc2UoKSxcbiAgICBhdmFpbGFibGU6IHRydWVcbiAgfVxuICAvLyB7XG4gIC8vICAgaWQ6IEVYUE9SVF9EQVRBX1RZUEUuU0hBUEVGSUxFLFxuICAvLyAgIGxhYmVsOiAnc2hhcGVmaWxlJyxcbiAgLy8gICBhdmFpbGFibGU6IGZhbHNlXG4gIC8vIH0sXG4gIC8vIHtcbiAgLy8gICBpZDogRVhQT1JUX0RBVEFfVFlQRS5KU09OLFxuICAvLyAgIGxhYmVsOiAnanNvbicsXG4gIC8vICAgYXZhaWxhYmxlOiBmYWxzZVxuICAvLyB9LFxuICAvLyB7XG4gIC8vICAgaWQ6IEVYUE9SVF9EQVRBX1RZUEUuR0VPSlNPTixcbiAgLy8gICBsYWJlbDogJ2dlb2pzb24nLFxuICAvLyAgIGF2YWlsYWJsZTogZmFsc2VcbiAgLy8gfSxcbiAgLy8ge1xuICAvLyAgIGlkOiBFWFBPUlRfREFUQV9UWVBFLlRPUE9KU09OLFxuICAvLyAgIGxhYmVsOiAndG9wb2pzb24nLFxuICAvLyAgIGF2YWlsYWJsZTogZmFsc2VcbiAgLy8gfVxuXTtcblxuLy8gRXhwb3J0IG1hcCB0eXBlc1xuZXhwb3J0IGNvbnN0IEVYUE9SVF9NQVBfRk9STUFUUyA9IGtleU1pcnJvcih7XG4gIEhUTUw6IG51bGwsXG4gIEpTT046IG51bGxcbn0pO1xuXG5leHBvcnQgY29uc3QgRVhQT1JUX0hUTUxfTUFQX01PREVTID0ga2V5TWlycm9yKHtcbiAgUkVBRDogbnVsbCxcbiAgRURJVDogbnVsbFxufSk7XG5cbi8vIEV4cG9ydCBtYXAgb3B0aW9uc1xuZXhwb3J0IGNvbnN0IEVYUE9SVF9NQVBfRk9STUFUX09QVElPTlMgPSBPYmplY3QuZW50cmllcyhFWFBPUlRfTUFQX0ZPUk1BVFMpLm1hcChcbiAgKGVudHJ5OiBbc3RyaW5nLCBhbnldKSA9PiAoe1xuICAgIGlkOiBlbnRyeVswXSxcbiAgICBsYWJlbDogZW50cnlbMV0udG9Mb3dlckNhc2UoKSxcbiAgICBhdmFpbGFibGU6IHRydWVcbiAgfSlcbik7XG5cbmV4cG9ydCBmdW5jdGlvbiBnZXRIVE1MTWFwTW9kZVRpbGVVcmwobW9kZTogc3RyaW5nKTogc3RyaW5nIHtcbiAgcmV0dXJuIGBodHRwczovL2QxYTNmNHNwYXp6cnA0LmNsb3VkZnJvbnQubmV0L2tlcGxlci5nbC9kb2N1bWVudGF0aW9uL21hcC0ke21vZGUudG9Mb3dlckNhc2UoKX0tbW9kZS5wbmdgO1xufVxuXG5leHBvcnQgY29uc3QgRVhQT1JUX0hUTUxfTUFQX01PREVfT1BUSU9OUyA9IE9iamVjdC5lbnRyaWVzKEVYUE9SVF9IVE1MX01BUF9NT0RFUykubWFwKFxuICAoZW50cnk6IFtzdHJpbmcsIGFueV0pID0+ICh7XG4gICAgaWQ6IGVudHJ5WzBdLFxuICAgIGxhYmVsOiBgbW9kYWwuZXhwb3J0TWFwLmh0bWwuJHtlbnRyeVsxXS50b0xvd2VyQ2FzZSgpfWAsXG4gICAgYXZhaWxhYmxlOiB0cnVlLFxuICAgIHVybDogZ2V0SFRNTE1hcE1vZGVUaWxlVXJsKGVudHJ5WzFdKVxuICB9KVxuKTtcblxuZXhwb3J0IGNvbnN0IERFRkFVTFRfVVVJRF9DT1VOVCA9IDY7XG5cbmV4cG9ydCBjb25zdCBERUZBVUxUX05PVElGSUNBVElPTl9NRVNTQUdFID0gJ01FU1NBR0VfTk9UX1BST1ZJREVEJztcblxuZXhwb3J0IGNvbnN0IERFRkFVTFRfTk9USUZJQ0FUSU9OX1RZUEVTID0ga2V5TWlycm9yKHtcbiAgaW5mbzogbnVsbCxcbiAgZXJyb3I6IG51bGwsXG4gIHdhcm5pbmc6IG51bGwsXG4gIHN1Y2Nlc3M6IG51bGxcbn0pO1xuXG5leHBvcnQgY29uc3QgREVGQVVMVF9OT1RJRklDQVRJT05fVE9QSUNTID0ga2V5TWlycm9yKHtcbiAgZ2xvYmFsOiBudWxsLFxuICBmaWxlOiBudWxsXG59KTtcblxuLy8gTWluaW11bSB0aW1lIGJldHdlZW4gaWRlbnRpY2FsIG5vdGlmaWNhdGlvbnMgYWJvdXQgZGVjay5nbCBlcnJvcnNcbmV4cG9ydCBjb25zdCBUSFJPVFRMRV9OT1RJRklDQVRJT05fVElNRSA9IDMzMDtcblxuLy8gQW5pbWF0aW9uXG5leHBvcnQgY29uc3QgQkFTRV9TUEVFRCA9IDYwMDtcbmV4cG9ydCBjb25zdCBGUFMgPSA2MDtcblxuLyoqXG4gKiA0IEFuaW1hdGlvbiBXaW5kb3cgVHlwZXNcbiAqIDEuIGZyZWVcbiAqICB8LT4gIHwtPlxuICogQ3VycmVudCB0aW1lIGlzIGEgZml4ZWQgcmFuZ2UsIGFuaW1hdGlvbiBjb250cm9sbGVyIGNhbGxzIG5leHQgYW5pbWF0aW9uIGZyYW1lcyBjb250aW51b3VzbHkgdG8gYW5pbWF0aW9uIGEgbW92aW5nIHdpbmRvd1xuICogVGhlIGluY3JlbWVudCBpZCBiYXNlZCBvbiBkb21haW4gLyBCQVNFX1NQRUVEICogU1BFRURcbiAqXG4gKiAyLiBpbmNyZW1lbnRhbFxuICogfCAgICB8LT5cbiAqIFNhbWUgYXMgZnJlZSwgY3VycmVudCB0aW1lIGlzIGEgZ3Jvd2luZyByYW5nZSwgb25seSB0aGUgbWF4IHZhbHVlIG9mIHJhbmdlIGluY3JlbWVudCBkdXJpbmcgYW5pbWF0aW9uLlxuICogVGhlIGluY3JlbWVudCBpcyBhbHNvIGJhc2VkIG9uIGRvbWFpbiAvIEJBU0VfU1BFRUQgKiBTUEVFRFxuICpcbiAqIDMuIHBvaW50XG4gKiBvIC0+IG9cbiAqIEN1cnJlbnQgdGltZSBpcyBhIHBvaW50LCBhbmltYXRpb24gY29udHJvbGxlciBjYWxscyBuZXh0IGFuaW1hdGlvbiBmcmFtZSBjb250aW51b3VzbHkgdG8gYW5pbWF0aW9uIGEgbW92aW5nIHBvaW50XG4gKiBUaGUgaW5jcmVtZW50IGlzIGJhc2VkIG9uIGRvbWFpbiAvIEJBU0VfU1BFRUQgKiBTUEVFRFxuICpcbiAqIDQuIGludGVydmFsXG4gKiBvIH4+IG9cbiAqIEN1cnJlbnQgdGltZSBpcyBhIHBvaW50LiBBbiBhcnJheSBvZiBzb3J0ZWQgdGltZSBzdGVwcyBuZWVkIHRvIGJlIHByb3ZpZGVkLlxuICogYW5pbWF0aW9uIGNvbnRyb2xsZXIgY2FsbHMgbmV4dCBhbmltYXRpb24gYXQgYSBpbnRlcnZhbCB3aGVuIHRoZSBwb2ludCBqdW1wcyB0byB0aGUgbmV4dCBzdGVwXG4gKi9cbmV4cG9ydCBjb25zdCBBTklNQVRJT05fV0lORE9XID0ga2V5TWlycm9yKHtcbiAgZnJlZTogbnVsbCxcbiAgaW5jcmVtZW50YWw6IG51bGwsXG4gIHBvaW50OiBudWxsLFxuICBpbnRlcnZhbDogbnVsbFxufSk7XG5leHBvcnQgY29uc3QgREVGQVVMVF9USU1FX0ZPUk1BVCA9ICdNTS9ERC9ZWSBISDptbTpzc2EnO1xuZXhwb3J0IGNvbnN0IFNQRUVEX0NPTlRST0xfUkFOR0U6IFtudW1iZXIsIG51bWJlcl0gPSBbMCwgMTBdO1xuZXhwb3J0IGNvbnN0IFNQRUVEX0NPTlRST0xfU1RFUCA9IDAuMDAxO1xuXG4vLyBHZW9jb2RlclxuZXhwb3J0IGNvbnN0IEdFT0NPREVSX0RBVEFTRVRfTkFNRSA9ICdnZW9jb2Rlcl9kYXRhc2V0JztcbmV4cG9ydCBjb25zdCBHRU9DT0RFUl9MQVlFUl9JRCA9ICdnZW9jb2Rlcl9sYXllcic7XG5leHBvcnQgY29uc3QgR0VPQ09ERVJfR0VPX09GRlNFVCA9IDAuMDU7XG5leHBvcnQgY29uc3QgR0VPQ09ERVJfSUNPTl9DT0xPUjogW251bWJlciwgbnVtYmVyLCBudW1iZXJdID0gWzI1NSwgMCwgMF07XG5leHBvcnQgY29uc3QgR0VPQ09ERVJfSUNPTl9TSVpFID0gODA7XG5cbi8vIEVkaXRvclxuZXhwb3J0IGNvbnN0IEVESVRPUl9MQVlFUl9JRCA9ICdrZXBsZXJfZWRpdG9yX2xheWVyJztcbmV4cG9ydCBjb25zdCBFRElUT1JfTEFZRVJfUElDS0lOR19SQURJVVMgPSA2O1xuZXhwb3J0IGNvbnN0IEVESVRPUl9NT0RFUyA9IHtcbiAgRFJBV19QT0xZR09OOiAnRFJBV19QT0xZR09OJyxcbiAgRFJBV19SRUNUQU5HTEU6ICdEUkFXX1JFQ1RBTkdMRScsXG4gIEVESVQ6ICdFRElUX1ZFUlRFWCdcbn07XG5cbmV4cG9ydCBjb25zdCBQTE9UX1RZUEVTID0ga2V5TWlycm9yKHtcbiAgaGlzdG9ncmFtOiBudWxsLFxuICBsaW5lQ2hhcnQ6IG51bGxcbn0pO1xuXG4vLyBGaWx0ZXJcbmV4cG9ydCBjb25zdCBJTklUX0ZJTFRFUl9JVEVNU19JTl9EUk9QRE9XTiA9IDEwMDtcblxuLy8gR1BVIEZpbHRlcmluZ1xuLyoqXG4gKiBNYXggbnVtYmVyIG9mIGZpbHRlciB2YWx1ZSBidWZmZXJzIHRoYXQgZGVjay5nbCBwcm92aWRlc1xuICovXG5leHBvcnQgY29uc3QgTUFYX0dQVV9GSUxURVJTID0gNDtcbmV4cG9ydCBjb25zdCBNQVBfVEhVTUJOQUlMX0RJTUVOU0lPTiA9IHtcbiAgd2lkdGg6IDMwMCxcbiAgaGVpZ2h0OiAyMDBcbn07XG5cbmV4cG9ydCBjb25zdCBNQVBfSU5GT19DSEFSQUNURVIgPSB7XG4gIHRpdGxlOiAxMDAsXG4gIGRlc2NyaXB0aW9uOiAxMDBcbn07XG5cbi8vIExvYWQgZGF0YVxuZXhwb3J0IGNvbnN0IExPQURJTkdfTUVUSE9EUyA9IGtleU1pcnJvcih7XG4gIHVwbG9hZDogbnVsbCxcbiAgc3RvcmFnZTogbnVsbCxcbiAgdGlsZXNldDogbnVsbFxufSk7XG5cbmV4cG9ydCBjb25zdCBERUZBVUxUX0ZFQVRVUkVfRkxBR1MgPSB7fTtcblxuZXhwb3J0IGNvbnN0IERBVEFTRVRfRk9STUFUUyA9IGtleU1pcnJvcih7XG4gIHJvdzogbnVsbCxcbiAgZ2VvanNvbjogbnVsbCxcbiAgY3N2OiBudWxsLFxuICBrZXBsZXJnbDogbnVsbCxcbiAgYXJyb3c6IG51bGwsXG4gIGR1Y2tkYjogbnVsbFxufSk7XG5cbmV4cG9ydCBjb25zdCBNQVBfQ09OVFJPTFMgPSBrZXlNaXJyb3Ioe1xuICB2aXNpYmxlTGF5ZXJzOiBudWxsLFxuICBtYXBMZWdlbmQ6IG51bGwsXG4gIHRvZ2dsZTNkOiBudWxsLFxuICBzcGxpdE1hcDogbnVsbCxcbiAgbWFwRHJhdzogbnVsbCxcbiAgbWFwTG9jYWxlOiBudWxsLFxuICBlZmZlY3Q6IG51bGwsXG4gIGFpQXNzaXN0YW50OiBudWxsXG59KTtcblxuLyoqXG4gKiBBIG11bHRpcGxpZXIgZm9yIHNjcmVlbi1zcGFjZSB3aWR0aC9zY2FsZSBmb3IgQXJjLCBMaW5lLCBJY29uIGFuZCBUZXh0IGxheWVycy5cbiAqIFJlcXVpcmVkIGluIG9yZGVyIHRvIG1haW50YWluIHRoZSBzYW1lIGFwcGVhcmFuY2UgYWZ0ZXIgdXBncmFkaW5nIHRvIGRlY2suZ2wgdjguNS5cbiAqIGh0dHBzOi8vZ2l0aHViLmNvbS92aXNnbC9kZWNrLmdsL2Jsb2IvbWFzdGVyL2RvY3MvdXBncmFkZS1ndWlkZS5tZFxuICovXG5leHBvcnQgY29uc3QgUFJPSkVDVEVEX1BJWEVMX1NJWkVfTVVMVElQTElFUiA9IDIgLyAzO1xuXG4vKipcbiAqIE1heGltdW0gdmFsdWUgZm9yIHRleHQgb3V0bGluZSB3aWR0aFxuICovXG5leHBvcnQgY29uc3QgVEVYVF9PVVRMSU5FX01VTFRJUExJRVIgPSA1O1xuXG5leHBvcnQgY29uc3QgZGF0YVRlc3RJZHM6IFJlY29yZDxzdHJpbmcsIHN0cmluZz4gPSB7XG4gIGluZm9JY29uOiAnaW5mby1pY29uJyxcbiAgd2FybmluZ0ljb246ICd3YXJuaW5nLWljb24nLFxuICBlcnJvckljb246ICdlcnJvci1pY29uJyxcbiAgc3VjY2Vzc0ljb246ICdzdWNjZXNzLWljb24nLFxuICBjaGVja21hcmtJY29uOiAnY2hlY2ttYXJrLWljb24nLFxuICBzb3J0YWJsZUxheWVySXRlbTogJ3NvcnRhYmxlLWxheWVyLWl0ZW0nLFxuICBzdGF0aWNMYXllckl0ZW06ICdzdGF0aWMtbGF5ZXItaXRlbScsXG4gIGxheWVyVGl0bGVFZGl0b3I6ICdsYXllcl9fdGl0bGVfX2VkaXRvcicsXG4gIHJlbW92ZUxheWVyQWN0aW9uOiAncmVtb3ZlLWxheWVyLWFjdGlvbicsXG4gIGxheWVyUGFuZWw6ICdsYXllci1wYW5lbCcsXG4gIHNvcnRhYmxlRWZmZWN0SXRlbTogJ3NvcnRhYmxlLWVmZmVjdC1pdGVtJyxcbiAgc3RhdGljRWZmZWN0SXRlbTogJ3N0YXRpYy1lZmZlY3QtaXRlbScsXG4gIHByb3ZpZGVyTG9hZGluZzogJ3Byb3ZpZGVyLWxvYWRpbmcnLFxuICBwcm92aWRlck1hcEluZm9QYW5lbDogJ3Byb3ZpZGVyLW1hcC1pbmZvLXBhbmVsJyxcbiAgcHJvdmlkZXJTZWxlY3Q6ICdwcm92aWRlci1zZWxlY3QnLFxuICBjbG91ZEhlYWRlcjogJ2Nsb3VkLWhlYWRlcicsXG4gIHByb3ZpZGVyU2hhcmVNYXA6ICdwcm92aWRlci1zaGFyZS1tYXAnXG59O1xuXG4vLyBFZmZlY3RzXG5leHBvcnQgY29uc3QgREVGQVVMVF9USU1FWk9ORSA9ICdVVEMnO1xuZXhwb3J0IGNvbnN0IERFRkFVTFRfUE9TVF9QUk9DRVNTSU5HX0VGRkVDVF9UWVBFID0gJ2luayc7XG5cbmV4cG9ydCBjb25zdCBERUZBVUxUX0xJR0hUX0NPTE9SOiBbbnVtYmVyLCBudW1iZXIsIG51bWJlcl0gPSBbMjU1LCAyNTUsIDI1NV07XG5leHBvcnQgY29uc3QgREVGQVVMVF9MSUdIVF9JTlRFTlNJVFkgPSAxO1xuZXhwb3J0IGNvbnN0IERFRkFVTFRfU0hBRE9XX0lOVEVOU0lUWSA9IDAuNTtcbmV4cG9ydCBjb25zdCBERUZBVUxUX1NIQURPV19DT0xPUjogW251bWJlciwgbnVtYmVyLCBudW1iZXJdID0gWzAsIDAsIDBdO1xuXG5leHBvcnQgY29uc3QgTElHSFRfQU5EX1NIQURPV19FRkZFQ1RfVElNRV9NT0RFUyA9IHtcbiAgcGljazogJ3BpY2snIGFzIGNvbnN0LFxuICBjdXJyZW50OiAnY3VycmVudCcgYXMgY29uc3QsXG4gIGFuaW1hdGlvbjogJ2FuaW1hdGlvbicgYXMgY29uc3Rcbn07XG5leHBvcnQgdHlwZSBMaWdodEFuZFNoYWRvd0VmZmVjdFRpbWVNb2RlID0gJ3BpY2snIHwgJ2N1cnJlbnQnIHwgJ2FuaW1hdGlvbic7XG5leHBvcnQgY29uc3QgREVGQVVMVF9MSUdIVF9BTkRfU0hBRE9XX1BST1BTOiB7XG4gIHRpbWVzdGFtcDogbnVtYmVyO1xuICB0aW1lTW9kZTogTGlnaHRBbmRTaGFkb3dFZmZlY3RUaW1lTW9kZTtcbiAgc2hhZG93SW50ZW5zaXR5OiBudW1iZXI7XG4gIHNoYWRvd0NvbG9yOiBbbnVtYmVyLCBudW1iZXIsIG51bWJlcl07XG4gIHN1bkxpZ2h0Q29sb3I6IFtudW1iZXIsIG51bWJlciwgbnVtYmVyXTtcbiAgc3VuTGlnaHRJbnRlbnNpdHk6IG51bWJlcjtcbiAgYW1iaWVudExpZ2h0Q29sb3I6IFtudW1iZXIsIG51bWJlciwgbnVtYmVyXTtcbiAgYW1iaWVudExpZ2h0SW50ZW5zaXR5OiBudW1iZXI7XG59ID0ge1xuICB0aW1lc3RhbXA6IERhdGUubm93KCksXG4gIHRpbWVNb2RlOiBMSUdIVF9BTkRfU0hBRE9XX0VGRkVDVF9USU1FX01PREVTLnBpY2sgYXMgTGlnaHRBbmRTaGFkb3dFZmZlY3RUaW1lTW9kZSxcbiAgc2hhZG93SW50ZW5zaXR5OiBERUZBVUxUX1NIQURPV19JTlRFTlNJVFksXG4gIHNoYWRvd0NvbG9yOiBbLi4uREVGQVVMVF9TSEFET1dfQ09MT1JdIGFzIFtudW1iZXIsIG51bWJlciwgbnVtYmVyXSxcbiAgc3VuTGlnaHRDb2xvcjogWy4uLkRFRkFVTFRfTElHSFRfQ09MT1JdIGFzIFtudW1iZXIsIG51bWJlciwgbnVtYmVyXSxcbiAgc3VuTGlnaHRJbnRlbnNpdHk6IERFRkFVTFRfTElHSFRfSU5URU5TSVRZLFxuICBhbWJpZW50TGlnaHRDb2xvcjogWy4uLkRFRkFVTFRfTElHSFRfQ09MT1JdIGFzIFtudW1iZXIsIG51bWJlciwgbnVtYmVyXSxcbiAgYW1iaWVudExpZ2h0SW50ZW5zaXR5OiBERUZBVUxUX0xJR0hUX0lOVEVOU0lUWVxufTtcblxuZXhwb3J0IGNvbnN0IExJR0hUX0FORF9TSEFET1dfRUZGRUNUOiBFZmZlY3REZXNjcmlwdGlvbiA9IHtcbiAgdHlwZTogJ2xpZ2h0QW5kU2hhZG93JyxcbiAgbmFtZTogJ0xpZ2h0ICYgU2hhZG93JyxcbiAgcGFyYW1ldGVyczogW1xuICAgIHtuYW1lOiAndGltZXN0YW1wJywgbWluOiAwLCBtYXg6IE51bWJlci5NQVhfU0FGRV9JTlRFR0VSfSxcbiAgICB7bmFtZTogJ3NoYWRvd0ludGVuc2l0eScsIG1pbjogMCwgbWF4OiAxLCBkZWZhdWx0VmFsdWU6IERFRkFVTFRfU0hBRE9XX0lOVEVOU0lUWX0sXG4gICAge25hbWU6ICdzdW5MaWdodEludGVuc2l0eScsIG1pbjogMCwgbWF4OiAxLCBkZWZhdWx0VmFsdWU6IERFRkFVTFRfTElHSFRfSU5URU5TSVRZfSxcbiAgICB7bmFtZTogJ2FtYmllbnRMaWdodEludGVuc2l0eScsIG1pbjogMCwgbWF4OiAxLCBkZWZhdWx0VmFsdWU6IERFRkFVTFRfTElHSFRfSU5URU5TSVRZfSxcbiAgICB7bmFtZTogJ3NoYWRvd0NvbG9yJywgdHlwZTogJ2NvbG9yJywgbWluOiAwLCBtYXg6IDI1NSwgZGVmYXVsdFZhbHVlOiBERUZBVUxUX1NIQURPV19DT0xPUn0sXG4gICAge25hbWU6ICdzdW5MaWdodENvbG9yJywgdHlwZTogJ2NvbG9yJywgbWluOiAwLCBtYXg6IDI1NSwgZGVmYXVsdFZhbHVlOiBERUZBVUxUX0xJR0hUX0NPTE9SfSxcbiAgICB7bmFtZTogJ2FtYmllbnRMaWdodENvbG9yJywgdHlwZTogJ2NvbG9yJywgbWluOiAwLCBtYXg6IDI1NSwgZGVmYXVsdFZhbHVlOiBERUZBVUxUX0xJR0hUX0NPTE9SfVxuICBdXG59O1xuXG5leHBvcnQgY29uc3QgUE9TVFBST0NFU1NJTkdfRUZGRUNUUzoge1trZXk6IHN0cmluZ106IEVmZmVjdERlc2NyaXB0aW9ufSA9IHtcbiAgaW5rOiB7XG4gICAgdHlwZTogJ2luaycsXG4gICAgbmFtZTogJ0luaycsXG4gICAgcGFyYW1ldGVyczogW3tuYW1lOiAnc3RyZW5ndGgnLCBtaW46IDAsIG1heDogMX1dXG4gIH0sXG4gIGJyaWdodG5lc3NDb250cmFzdDoge1xuICAgIHR5cGU6ICdicmlnaHRuZXNzQ29udHJhc3QnLFxuICAgIG5hbWU6ICdCcmlnaHRuZXNzICYgQ29udHJhc3QnLFxuICAgIHBhcmFtZXRlcnM6IFtcbiAgICAgIHtuYW1lOiAnYnJpZ2h0bmVzcycsIG1pbjogLTEsIG1heDogMX0sXG4gICAgICB7bmFtZTogJ2NvbnRyYXN0JywgbWluOiAtMSwgbWF4OiAxfVxuICAgIF1cbiAgfSxcbiAgaHVlU2F0dXJhdGlvbjoge1xuICAgIHR5cGU6ICdodWVTYXR1cmF0aW9uJyxcbiAgICBuYW1lOiAnSHVlICYgU2F0dXJhdGlvbicsXG4gICAgcGFyYW1ldGVyczogW1xuICAgICAge25hbWU6ICdodWUnLCBtaW46IC0xLCBtYXg6IDF9LFxuICAgICAge25hbWU6ICdzYXR1cmF0aW9uJywgZGVmYXVsdFZhbHVlOiAwLjI1LCBtaW46IC0xLCBtYXg6IDF9XG4gICAgXVxuICB9LFxuICB2aWJyYW5jZToge1xuICAgIHR5cGU6ICd2aWJyYW5jZScsXG4gICAgbmFtZTogJ1ZpYnJhbmNlJyxcbiAgICBwYXJhbWV0ZXJzOiBbe25hbWU6ICdhbW91bnQnLCBkZWZhdWx0VmFsdWU6IDAuNSwgbWluOiAtMSwgbWF4OiAxfV1cbiAgfSxcbiAgc2VwaWE6IHtcbiAgICB0eXBlOiAnc2VwaWEnLFxuICAgIG5hbWU6ICdTZXBpYScsXG4gICAgcGFyYW1ldGVyczogW3tuYW1lOiAnYW1vdW50JywgbWluOiAwLCBtYXg6IDF9XVxuICB9LFxuICBkb3RTY3JlZW46IHtcbiAgICB0eXBlOiAnZG90U2NyZWVuJyxcbiAgICBuYW1lOiAnRG90IFNjcmVlbicsXG4gICAgcGFyYW1ldGVyczogW1xuICAgICAge1xuICAgICAgICBuYW1lOiAnYW5nbGUnLFxuICAgICAgICBtaW46IDAsXG4gICAgICAgIG1heDogTWF0aC5QSSAvIDJcbiAgICAgIH0sXG4gICAgICB7XG4gICAgICAgIG5hbWU6ICdzaXplJyxcbiAgICAgICAgbWluOiAxLFxuICAgICAgICBtYXg6IDIwXG4gICAgICB9LFxuICAgICAge1xuICAgICAgICBuYW1lOiAnY2VudGVyJyxcbiAgICAgICAgdHlwZTogJ2FycmF5JyxcbiAgICAgICAgbGFiZWw6IFsnQ2VudGVyIFgnLCAnQ2VudGVyIFknXSxcbiAgICAgICAgZGVmYXVsdFZhbHVlOiBbMC41LCAwLjVdLFxuICAgICAgICBtaW46IDAsXG4gICAgICAgIG1heDogMVxuICAgICAgfVxuICAgIF1cbiAgfSxcbiAgY29sb3JIYWxmdG9uZToge1xuICAgIHR5cGU6ICdjb2xvckhhbGZ0b25lJyxcbiAgICBuYW1lOiAnQ29sb3IgSGFsZnRvbmUnLFxuICAgIHBhcmFtZXRlcnM6IFtcbiAgICAgIHtcbiAgICAgICAgbmFtZTogJ2FuZ2xlJyxcbiAgICAgICAgbWluOiAwLFxuICAgICAgICBtYXg6IE1hdGguUEkgLyAyXG4gICAgICB9LFxuICAgICAge1xuICAgICAgICBuYW1lOiAnc2l6ZScsXG4gICAgICAgIG1pbjogMSxcbiAgICAgICAgbWF4OiAyMFxuICAgICAgfSxcbiAgICAgIHtcbiAgICAgICAgbmFtZTogJ2NlbnRlcicsXG4gICAgICAgIHR5cGU6ICdhcnJheScsXG4gICAgICAgIGxhYmVsOiBbJ0NlbnRlciBYJywgJ0NlbnRlciBZJ10sXG4gICAgICAgIGRlZmF1bHRWYWx1ZTogWzAuNSwgMC41XSxcbiAgICAgICAgbWluOiAwLFxuICAgICAgICBtYXg6IDFcbiAgICAgIH1cbiAgICBdXG4gIH0sXG4gIG5vaXNlOiB7XG4gICAgdHlwZTogJ25vaXNlJyxcbiAgICBuYW1lOiAnTm9pc2UnLFxuICAgIHBhcmFtZXRlcnM6IFt7bmFtZTogJ2Ftb3VudCcsIG1pbjogMCwgbWF4OiAxfV1cbiAgfSxcbiAgdHJpYW5nbGVCbHVyOiB7XG4gICAgdHlwZTogJ3RyaWFuZ2xlQmx1cicsXG4gICAgbmFtZTogJ0JsdXIgKFRyaWFuZ2xlKScsXG4gICAgcGFyYW1ldGVyczogW3tuYW1lOiAncmFkaXVzJywgbWluOiAwLCBtYXg6IDEwMH1dXG4gIH0sXG4gIHpvb21CbHVyOiB7XG4gICAgdHlwZTogJ3pvb21CbHVyJyxcbiAgICBuYW1lOiAnQmx1ciAoWm9vbSknLFxuICAgIHBhcmFtZXRlcnM6IFtcbiAgICAgIHtcbiAgICAgICAgbmFtZTogJ3N0cmVuZ3RoJyxcbiAgICAgICAgZGVmYXVsdFZhbHVlOiAwLjA1LFxuICAgICAgICBtaW46IDAsXG4gICAgICAgIG1heDogMVxuICAgICAgfSxcbiAgICAgIHtcbiAgICAgICAgbmFtZTogJ2NlbnRlcicsXG4gICAgICAgIHR5cGU6ICdhcnJheScsXG4gICAgICAgIGxhYmVsOiBbJ0NlbnRlciBYJywgJ0NlbnRlciBZJ10sXG4gICAgICAgIGRlZmF1bHRWYWx1ZTogWzAuNSwgMC41XSxcbiAgICAgICAgbWluOiAwLFxuICAgICAgICBtYXg6IDFcbiAgICAgIH1cbiAgICBdXG4gIH0sXG4gIHRpbHRTaGlmdDoge1xuICAgIHR5cGU6ICd0aWx0U2hpZnQnLFxuICAgIG5hbWU6ICdCbHVyIChUaWx0IFNoaWZ0KScsXG4gICAgcGFyYW1ldGVyczogW1xuICAgICAge1xuICAgICAgICBuYW1lOiAnYmx1clJhZGl1cycsXG4gICAgICAgIGxhYmVsOiAnQmx1cicsXG4gICAgICAgIG1pbjogMCxcbiAgICAgICAgbWF4OiA1MFxuICAgICAgfSxcbiAgICAgIHtcbiAgICAgICAgbmFtZTogJ2dyYWRpZW50UmFkaXVzJyxcbiAgICAgICAgbGFiZWw6ICdHcmFkaWVudCcsXG4gICAgICAgIG1pbjogMCxcbiAgICAgICAgbWF4OiA0MDBcbiAgICAgIH0sXG4gICAgICB7XG4gICAgICAgIG5hbWU6ICdzdGFydCcsXG4gICAgICAgIHR5cGU6ICdhcnJheScsXG4gICAgICAgIGxhYmVsOiBbJ1N0YXJ0JywgZmFsc2VdLFxuICAgICAgICBkZWZhdWx0VmFsdWU6IFswLjAsIDAuMF0sXG4gICAgICAgIG1pbjogMCxcbiAgICAgICAgbWF4OiAxXG4gICAgICB9LFxuICAgICAge1xuICAgICAgICBuYW1lOiAnZW5kJyxcbiAgICAgICAgdHlwZTogJ2FycmF5JyxcbiAgICAgICAgbGFiZWw6IFsnRW5kJywgZmFsc2VdLFxuICAgICAgICBkZWZhdWx0VmFsdWU6IFsxLCAxXSxcbiAgICAgICAgbWluOiAwLFxuICAgICAgICBtYXg6IDFcbiAgICAgIH1cbiAgICBdXG4gIH0sXG4gIGVkZ2VXb3JrOiB7XG4gICAgdHlwZTogJ2VkZ2VXb3JrJyxcbiAgICBuYW1lOiAnRWRnZSB3b3JrJyxcbiAgICBwYXJhbWV0ZXJzOiBbe25hbWU6ICdyYWRpdXMnLCBtaW46IDEsIG1heDogNTB9XVxuICB9LFxuICB2aWduZXR0ZToge1xuICAgIHR5cGU6ICd2aWduZXR0ZScsXG4gICAgbmFtZTogJ1ZpZ25ldHRlJyxcbiAgICBwYXJhbWV0ZXJzOiBbXG4gICAgICB7bmFtZTogJ2Ftb3VudCcsIG1pbjogMCwgbWF4OiAxfSxcbiAgICAgIHtuYW1lOiAncmFkaXVzJywgbWluOiAwLCBtYXg6IDF9XG4gICAgXVxuICB9LFxuICBtYWduaWZ5OiB7XG4gICAgdHlwZTogJ21hZ25pZnknLFxuICAgIG5hbWU6ICdNYWduaWZ5JyxcbiAgICBwYXJhbWV0ZXJzOiBbXG4gICAgICB7XG4gICAgICAgIG5hbWU6ICdzY3JlZW5YWScsXG4gICAgICAgIHR5cGU6ICdhcnJheScsXG4gICAgICAgIGxhYmVsOiBbJ1Bvc2l0aW9uIFgnLCAnUG9zaXRpb24gWSddLFxuICAgICAgICBkZWZhdWx0VmFsdWU6IFswLjUsIDAuNV0sXG4gICAgICAgIG1pbjogMCxcbiAgICAgICAgbWF4OiAxXG4gICAgICB9LFxuICAgICAge1xuICAgICAgICBuYW1lOiAncmFkaXVzUGl4ZWxzJyxcbiAgICAgICAgbGFiZWw6ICdTaXplJyxcbiAgICAgICAgbWluOiAxMCxcbiAgICAgICAgbWF4OiA1MDBcbiAgICAgIH0sXG4gICAgICB7XG4gICAgICAgIG5hbWU6ICd6b29tJyxcbiAgICAgICAgbWluOiAwLjUsXG4gICAgICAgIG1heDogNTBcbiAgICAgIH0sXG4gICAgICB7XG4gICAgICAgIG5hbWU6ICdib3JkZXJXaWR0aFBpeGVscycsXG4gICAgICAgIGxhYmVsOiAnQm9yZGVyIFdpZHRoJyxcbiAgICAgICAgZGVmYXVsdFZhbHVlOiAzLFxuICAgICAgICBtaW46IDAsXG4gICAgICAgIG1heDogNTBcbiAgICAgIH1cbiAgICBdXG4gIH0sXG4gIGhleGFnb25hbFBpeGVsYXRlOiB7XG4gICAgdHlwZTogJ2hleGFnb25hbFBpeGVsYXRlJyxcbiAgICBuYW1lOiAnSGV4YWdvbmFsIFBpeGVsYXRlJyxcbiAgICBwYXJhbWV0ZXJzOiBbe25hbWU6ICdzY2FsZScsIGRlZmF1bHRWYWx1ZTogMjAsIG1pbjogMSwgbWF4OiA1MH1dXG4gIH1cbn07XG5cbmV4cG9ydCBjb25zdCBFRkZFQ1RfREVTQ1JJUFRJT05TOiBFZmZlY3REZXNjcmlwdGlvbltdID0gW1xuICBMSUdIVF9BTkRfU0hBRE9XX0VGRkVDVCxcbiAgLi4uT2JqZWN0LmtleXMoUE9TVFBST0NFU1NJTkdfRUZGRUNUUykubWFwKGtleU5hbWUgPT4gUE9TVFBST0NFU1NJTkdfRUZGRUNUU1trZXlOYW1lXSlcbl07XG5cbmV4cG9ydCB0eXBlIEVmZmVjdFR5cGUgPVxuICB8ICdpbmsnXG4gIHwgJ2JyaWdodG5lc3NDb250cmFzdCdcbiAgfCAnaHVlU2F0dXJhdGlvbidcbiAgfCAndmlicmFuY2UnXG4gIHwgJ3NlcGlhJ1xuICB8ICdkb3RTY3JlZW4nXG4gIHwgJ2NvbG9ySGFsZnRvbmUnXG4gIHwgJ25vaXNlJ1xuICB8ICd0cmlhbmdsZUJsdXInXG4gIHwgJ3pvb21CbHVyJ1xuICB8ICd0aWx0U2hpZnQnXG4gIHwgJ2VkZ2VXb3JrJ1xuICB8ICd2aWduZXR0ZSdcbiAgfCAnbWFnbmlmeSdcbiAgfCAnaGV4YWdvbmFsUGl4ZWxhdGUnXG4gIHwgJ2xpZ2h0QW5kU2hhZG93JztcblxuZXhwb3J0IGNvbnN0IFNZTkNfVElNRUxJTkVfTU9ERVM6IFJlY29yZDxzdHJpbmcsIFN5bmNUaW1lbGluZU1vZGU+ID0ge1xuICBzdGFydDogMCxcbiAgZW5kOiAxXG59O1xuXG5leHBvcnQgY29uc3QgR0VPQVJST1dfTUVUQURBVEFfS0VZID0gJ0FSUk9XOmV4dGVuc2lvbjpuYW1lJztcblxuLyoqXG4gKiBFbnVtIGhvbGRpbmcgR2VvQXJyb3cgZXh0ZW5zaW9uIHR5cGUgbmFtZXNcbiAqL1xuZXhwb3J0IGVudW0gR0VPQVJST1dfRVhURU5TSU9OUyB7XG4gIFBPSU5UID0gJ2dlb2Fycm93LnBvaW50JyxcbiAgTElORVNUUklORyA9ICdnZW9hcnJvdy5saW5lc3RyaW5nJyxcbiAgUE9MWUdPTiA9ICdnZW9hcnJvdy5wb2x5Z29uJyxcbiAgTVVMVElQT0lOVCA9ICdnZW9hcnJvdy5tdWx0aXBvaW50JyxcbiAgTVVMVElMSU5FU1RSSU5HID0gJ2dlb2Fycm93Lm11bHRpbGluZXN0cmluZycsXG4gIE1VTFRJUE9MWUdPTiA9ICdnZW9hcnJvdy5tdWx0aXBvbHlnb24nLFxuICBXS0IgPSAnZ2VvYXJyb3cud2tiJ1xufVxuXG5leHBvcnQgY29uc3QgTE9BREVSU19DRE5fVkVSU0lPTiA9ICc0LjMuMic7XG5leHBvcnQgY29uc3QgTE9BREVSU19DRE5fVVJMID0gJ2h0dHBzOi8vdW5wa2cuY29tL0Bsb2FkZXJzLmdsJztcblxuZXhwb3J0IGNvbnN0IGdldExvYWRlck9wdGlvbnMgPSAoKSA9PiB7XG4gIHJldHVybiB7XG4gICAgbXZ0OiB7XG4gICAgICB3b3JrZXJVcmw6IGAke0xPQURFUlNfQ0ROX1VSTH0vbXZ0QCR7TE9BREVSU19DRE5fVkVSU0lPTn0vZGlzdC9tdnQtd29ya2VyLmpzYFxuICAgIH0sXG4gICAgJ3F1YW50aXplZC1tZXNoJzoge1xuICAgICAgd29ya2VyVXJsOiBgJHtMT0FERVJTX0NETl9VUkx9L3RlcnJhaW5AJHtMT0FERVJTX0NETl9WRVJTSU9OfS9kaXN0L3F1YW50aXplZC1tZXNoLXdvcmtlci5qc2BcbiAgICB9LFxuICAgIG5weToge1xuICAgICAgd29ya2VyVXJsOiBgJHtMT0FERVJTX0NETl9VUkx9L3RleHR1cmVzQCR7TE9BREVSU19DRE5fVkVSU0lPTn0vZGlzdC9ucHktd29ya2VyLmpzYFxuICAgIH1cbiAgfTtcbn07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
1495
+ //# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJuYW1lcyI6WyJfa2V5bWlycm9yIiwiX2ludGVyb3BSZXF1aXJlRGVmYXVsdCIsInJlcXVpcmUiLCJfZDNTY2FsZSIsIl90b29sdGlwIiwiX0ZJRUxEX1RZUEVfRElTUExBWSIsIl9GSUVMRF9PUFRTIiwib3duS2V5cyIsImUiLCJyIiwidCIsIk9iamVjdCIsImtleXMiLCJnZXRPd25Qcm9wZXJ0eVN5bWJvbHMiLCJvIiwiZmlsdGVyIiwiZ2V0T3duUHJvcGVydHlEZXNjcmlwdG9yIiwiZW51bWVyYWJsZSIsInB1c2giLCJhcHBseSIsIl9vYmplY3RTcHJlYWQiLCJhcmd1bWVudHMiLCJsZW5ndGgiLCJmb3JFYWNoIiwiX2RlZmluZVByb3BlcnR5MiIsImdldE93blByb3BlcnR5RGVzY3JpcHRvcnMiLCJkZWZpbmVQcm9wZXJ0aWVzIiwiZGVmaW5lUHJvcGVydHkiLCJBQ1RJT05fUFJFRklYIiwiZXhwb3J0cyIsIktFUExFUl9VTkZPTERFRF9CVUNLRVQiLCJCQVNFTUFQX0lDT05fUFJFRklYIiwiREVGQVVMVF9NQVBCT1hfQVBJX1VSTCIsIlRSQU5TSVRJT05fRFVSQVRJT04iLCJEQVRBX1RBQkxFX0lEIiwiREVMRVRFX0RBVEFfSUQiLCJBRERfREFUQV9JRCIsIkVYUE9SVF9JTUFHRV9JRCIsIkVYUE9SVF9EQVRBX0lEIiwiQUREX01BUF9TVFlMRV9JRCIsIkVYUE9SVF9NQVBfSUQiLCJTQVZFX01BUF9JRCIsIk9WRVJXUklURV9NQVBfSUQiLCJTSEFSRV9NQVBfSUQiLCJLRVBMRVJfR0xfTkFNRSIsIktFUExFUl9HTF9WRVJTSU9OIiwiS0VQTEVSX0dMX1dFQlNJVEUiLCJESU1FTlNJT05TIiwic2lkZVBhbmVsIiwid2lkdGgiLCJtYXJnaW4iLCJ0b3AiLCJsZWZ0IiwiYm90dG9tIiwicmlnaHQiLCJoZWFkZXJIZWlnaHQiLCJtYXBDb250cm9sIiwicGFkZGluZyIsIm1hcExlZ2VuZCIsInBpbm5lZCIsIlRIRU1FIiwia2V5TWlycm9yIiwibGlnaHQiLCJkYXJrIiwiYmFzZSIsIlNJREVCQVJfUEFORUxTIiwiaWQiLCJsYWJlbCIsIm9uQ2xpY2siLCJQQU5FTF9WSUVXX1RPR0dMRVMiLCJsaXN0IiwiYnlEYXRhc2V0IiwiUEFORUxTIiwiREVGQVVMVF9CTERHX0NPTE9SIiwiREVGQVVMVF9CQUNLR1JPVU5EX0NPTE9SIiwiQkFTRV9NQVBfQkFDS0dST1VORF9MQVlFUl9JRFMiLCJCQUNLR1JPVU5EX0xBWUVSX0dST1VQX1NMVUciLCJUSFJFRV9EX0JVSUxESU5HX0xBWUVSX0dST1VQX1NMVUciLCJCQUNLR1JPVU5EX0xBWUVSX0dST1VQIiwic2x1ZyIsImRlZmF1bHRWaXNpYmlsaXR5IiwiaXNWaXNpYmlsaXR5VG9nZ2xlQXZhaWxhYmxlIiwiaXNNb3ZlVG9Ub3BBdmFpbGFibGUiLCJpc0NvbG9yUGlja2VyQXZhaWxhYmxlIiwiREVGQVVMVF9MQVlFUl9HUk9VUFMiLCJfcmVmIiwidHlwZSIsIm1hdGNoIiwiX3JlZjIiLCJfcmVmMyIsIl9yZWY0IiwiX3JlZjUiLCJfcmVmNiIsIkJBU0VfTUFQX0NPTE9SX01PREVTIiwiTk9ORSIsIkRBUksiLCJMSUdIVCIsIk5PX01BUF9JRCIsIkVNUFRZX01BUEJPWF9TVFlMRSIsInZlcnNpb24iLCJzb3VyY2VzIiwibGF5ZXJzIiwiTUFQX0xJQl9PUFRJT05TIiwiTUFQQk9YIiwiTUFQTElCUkUiLCJOT19CQVNFTUFQX0lDT04iLCJjb25jYXQiLCJERUZBVUxUX0JBU0VfTUFQX1NUWUxFIiwiREVGQVVMVF9OT19CQVNFTUFQX1NUWUxFIiwidXJsIiwiaWNvbiIsImxheWVyR3JvdXBzIiwiY29sb3JNb2RlIiwic3R5bGUiLCJERUZBVUxUX01BUEJPWF9TVFlMRVMiLCJjb21wbGltZW50YXJ5U3R5bGVJZCIsIkRFRkFVTFRfTUFQQk9YX1NBVEVMSVRFX1NUWUxFUyIsIkRFRkFVTFRfTUFQTElCUkVfU1RZTEVTIiwiREVGQVVMVF9NQVBfU1RZTEVTIiwiR0VPSlNPTl9GSUVMRFMiLCJnZW9qc29uIiwiSUNPTl9GSUVMRFMiLCJUUklQX1BPSU5UX0ZJRUxEUyIsIkFMVElUVURFX0ZJRUxEUyIsIlRSSVBfQVJDX0ZJRUxEUyIsImxhdDAiLCJsbmcwIiwibGF0MSIsImxuZzEiLCJGSUxURVJfVFlQRVMiLCJyYW5nZSIsInNlbGVjdCIsImlucHV0IiwidGltZVJhbmdlIiwibXVsdGlTZWxlY3QiLCJwb2x5Z29uIiwiRklMVEVSX1ZJRVdfVFlQRVMiLCJzaWRlIiwiZW5sYXJnZWQiLCJtaW5pZmllZCIsIkRFRkFVTFRfRklMVEVSX1ZJRVdfVFlQRSIsIlNDQUxFX1RZUEVTIiwib3JkaW5hbCIsInF1YW50aWxlIiwicXVhbnRpemUiLCJsaW5lYXIiLCJzcXJ0IiwibG9nIiwidGhyZXNob2xkIiwiY3VzdG9tIiwiY3VzdG9tT3JkaW5hbCIsInBvaW50IiwiU0NBTEVfVFlQRV9OQU1FUyIsIlNDQUxFX0ZVTkMiLCJzY2FsZUxpbmVhciIsInNjYWxlUXVhbnRpemUiLCJzY2FsZVF1YW50aWxlIiwic2NhbGVPcmRpbmFsIiwic2NhbGVTcXJ0Iiwic2NhbGVMb2ciLCJzY2FsZVBvaW50Iiwic2NhbGVUaHJlc2hvbGQiLCJBTExfRklFTERfVFlQRVMiLCJkYXRlIiwiaW50ZWdlciIsInJlYWwiLCJzdHJpbmciLCJ0aW1lc3RhbXAiLCJhcnJheSIsIm9iamVjdCIsImdlb2Fycm93IiwiaDMiLCJTT1JUX09SREVSIiwiQVNDRU5ESU5HIiwiREVTQ0VORElORyIsIlVOU09SVCIsIlRBQkxFX09QVElPTiIsIlNPUlRfQVNDIiwiU09SVF9ERVMiLCJQSU4iLCJVTlBJTiIsIkNPUFkiLCJGT1JNQVRfQ09MVU1OIiwiVEFCTEVfT1BUSU9OX0xJU1QiLCJ2YWx1ZSIsImRpc3BsYXkiLCJjb25kaXRpb24iLCJwcm9wcyIsInNvcnRUYWJsZUNvbHVtbiIsInNvcnRNb2RlIiwiaXNTb3J0ZWQiLCJpc1Bpbm5lZCIsInNldERpc3BsYXlGb3JtYXQiLCJZRUxMT1ciLCJQSU5LIiwiUFVSUExFIiwiQkxVRSIsIkJMVUUyIiwiQkxVRTMiLCJHUkVFTiIsIkdSRUVOMiIsIlJFRCIsIk9SQU5HRSIsIkZJRUxEX1RZUEVfRElTUExBWSIsImNvbG9yIiwiRklFTERfQ09MT1JTIiwiSElHSExJR0hfQ09MT1JfM0QiLCJDSEFOTkVMX1NDQUxFUyIsInJhZGl1cyIsInNpemUiLCJjb2xvckFnZ3IiLCJzaXplQWdnciIsIkFHR1JFR0FUSU9OX1RZUEVTIiwiY291bnQiLCJhdmVyYWdlIiwibWF4aW11bSIsIm1pbmltdW0iLCJtZWRpYW4iLCJzdGRldiIsInN1bSIsInZhcmlhbmNlIiwibW9kZSIsImNvdW50VW5pcXVlIiwiQUdHUkVHQVRJT05fVFlQRV9PUFRJT05TIiwiZW50cmllcyIsIm1hcCIsIl9yZWY3IiwiX3JlZjgiLCJfc2xpY2VkVG9BcnJheTIiLCJrZXkiLCJjaGFyQXQiLCJ0b1VwcGVyQ2FzZSIsInNsaWNlIiwibGluZWFyRmllbGRTY2FsZUZ1bmN0aW9ucyIsIkRFRkFVTFRfQUdHUkVHQVRJT05fQ09MT1JfU0NBTEVTIiwibGluZWFyRmllbGRBZ2dyU2NhbGVGdW5jdGlvbnMiLCJyZWR1Y2UiLCJwcmV2IiwiY3VyIiwib3JkaW5hbEZpZWxkU2NhbGVGdW5jdGlvbnMiLCJvcmRpbmFsRmllbGRBZ2dyU2NhbGVGdW5jdGlvbnMiLCJub3RTdXBwb3J0ZWRTY2FsZU9wdHMiLCJub3RTdXBwb3J0QWdnck9wdHMiLCJERUZBVUxUX0FHR1JFR0FUSU9OIiwiRklFTERfT1BUUyIsInNjYWxlIiwiZm9ybWF0IiwibGVnZW5kIiwiZCIsInRvb2x0aXAiLCJUT09MVElQX0ZPUk1BVF9UWVBFUyIsIkRFQ0lNQUwiLCJQRVJDRU5UQUdFIiwiREFURSIsIkRBVEVfVElNRSIsIl90b0NvbnN1bWFibGVBcnJheTIiLCJCT09MRUFOIiwiQ0hBTk5FTF9TQ0FMRV9TVVBQT1JURURfRklFTERTIiwiYWNjdSIsImZ0IiwiREVGQVVMVF9MQVlFUl9DT0xPUiIsInRyaXBBcmMiLCJiZWdpbnRyaXBfbGF0IiwiZHJvcG9mZl9sYXQiLCJyZXF1ZXN0X2xhdCIsIkRFRkFVTFRfTEFZRVJfQ09MT1JfUEFMRVRURSIsIkRFRkFVTFRfTEFZRVJfQ09MT1JfUEFMRVRURV9TVEVQUyIsIkRFRkFVTFRfVE9PTFRJUF9GSUVMRFMiLCJOT19WQUxVRV9DT0xPUiIsIkRFRkFVTFRfUElDS0lOR19SQURJVVMiLCJPVkVSTEFZX0JMRU5ESU5HUyIsIm5vcm1hbCIsInNjcmVlbiIsImRhcmtlbiIsIkxBWUVSX0JMRU5ESU5HUyIsImFkZGl0aXZlIiwiYmxlbmRGdW5jIiwiYmxlbmRFcXVhdGlvbiIsInN1YnRyYWN0aXZlIiwiTUFYX0RFRkFVTFRfVE9PTFRJUFMiLCJSRVNPTFVUSU9OUyIsIk9ORV9YIiwiVFdPX1giLCJFWFBPUlRfSU1HX1JBVElPUyIsIlNDUkVFTiIsIkZPVVJfQllfVEhSRUUiLCJTSVhURUVOX0JZX05JTkUiLCJDVVNUT00iLCJTY3JlZW5SYXRpb09wdGlvbiIsImdldFNpemUiLCJzY3JlZW5XIiwic2NyZWVuSCIsImhlaWdodCIsIkN1c3RvbVJhdGlvT3B0aW9uIiwiaGlkZGVuIiwibWFwVyIsIm1hcEgiLCJGb3VyQnlUaHJlZVJhdGlvT3B0aW9uIiwiTWF0aCIsInJvdW5kIiwiU2l4dGVlbkJ5TmluZVJhdGlvT3B0aW9uIiwiRVhQT1JUX0lNR19SQVRJT19PUFRJT05TIiwiT25lWFJlc29sdXRpb25PcHRpb24iLCJhdmFpbGFibGUiLCJUd29YUmVzb2x1dGlvbk9wdGlvbiIsIlJlc29sdXRpb24xOTIweDEwODBPcHRpb24iLCJSZXNvbHV0aW9uMTI4MHg3MjBPcHRpb24iLCJSZXNvbHV0aW9uMjU2MHgxNDQwT3B0aW9uIiwiUmVzb2x1dGlvbjE2MDB4OTAwT3B0aW9uIiwiUmVzb2x1dGlvbjEwMjR4NzY4T3B0aW9uIiwiUmVzb2x1dGlvbjEyODB4OTYwT3B0aW9uIiwiUmVzb2x1dGlvbjE2MDB4MTIwME9wdGlvbiIsIlJlc29sdXRpb24xOTIweDE0NDBPcHRpb24iLCJFWFBPUlRfSU1HX1JFU09MVVRJT05fT1BUSU9OUyIsIkVYUE9SVF9EQVRBX1RZUEUiLCJDU1YiLCJFWFBPUlRfREFUQV9UWVBFX09QVElPTlMiLCJ0b0xvd2VyQ2FzZSIsIkVYUE9SVF9NQVBfRk9STUFUUyIsIkhUTUwiLCJKU09OIiwiRVhQT1JUX0hUTUxfTUFQX01PREVTIiwiUkVBRCIsIkVESVQiLCJFWFBPUlRfTUFQX0ZPUk1BVF9PUFRJT05TIiwiZW50cnkiLCJnZXRIVE1MTWFwTW9kZVRpbGVVcmwiLCJFWFBPUlRfSFRNTF9NQVBfTU9ERV9PUFRJT05TIiwiREVGQVVMVF9VVUlEX0NPVU5UIiwiREVGQVVMVF9OT1RJRklDQVRJT05fTUVTU0FHRSIsIkRFRkFVTFRfTk9USUZJQ0FUSU9OX1RZUEVTIiwiaW5mbyIsImVycm9yIiwid2FybmluZyIsInN1Y2Nlc3MiLCJERUZBVUxUX05PVElGSUNBVElPTl9UT1BJQ1MiLCJnbG9iYWwiLCJmaWxlIiwiVEhST1RUTEVfTk9USUZJQ0FUSU9OX1RJTUUiLCJCQVNFX1NQRUVEIiwiRlBTIiwiQU5JTUFUSU9OX1dJTkRPVyIsImZyZWUiLCJpbmNyZW1lbnRhbCIsImludGVydmFsIiwiREVGQVVMVF9USU1FX0ZPUk1BVCIsIlNQRUVEX0NPTlRST0xfUkFOR0UiLCJTUEVFRF9DT05UUk9MX1NURVAiLCJHRU9DT0RFUl9EQVRBU0VUX05BTUUiLCJHRU9DT0RFUl9MQVlFUl9JRCIsIkdFT0NPREVSX0dFT19PRkZTRVQiLCJHRU9DT0RFUl9JQ09OX0NPTE9SIiwiR0VPQ09ERVJfSUNPTl9TSVpFIiwiRURJVE9SX0xBWUVSX0lEIiwiRURJVE9SX0xBWUVSX1BJQ0tJTkdfUkFESVVTIiwiRURJVE9SX01PREVTIiwiRFJBV19QT0xZR09OIiwiRFJBV19SRUNUQU5HTEUiLCJQTE9UX1RZUEVTIiwiaGlzdG9ncmFtIiwibGluZUNoYXJ0IiwiSU5JVF9GSUxURVJfSVRFTVNfSU5fRFJPUERPV04iLCJNQVhfR1BVX0ZJTFRFUlMiLCJNQVBfVEhVTUJOQUlMX0RJTUVOU0lPTiIsIk1BUF9JTkZPX0NIQVJBQ1RFUiIsInRpdGxlIiwiZGVzY3JpcHRpb24iLCJMT0FESU5HX01FVEhPRFMiLCJ1cGxvYWQiLCJzdG9yYWdlIiwidGlsZXNldCIsIkRFRkFVTFRfRkVBVFVSRV9GTEFHUyIsIkRBVEFTRVRfRk9STUFUUyIsInJvdyIsImNzdiIsImtlcGxlcmdsIiwiYXJyb3ciLCJkdWNrZGIiLCJNQVBfQ09OVFJPTFMiLCJ2aXNpYmxlTGF5ZXJzIiwidG9nZ2xlM2QiLCJzcGxpdE1hcCIsIm1hcERyYXciLCJtYXBMb2NhbGUiLCJlZmZlY3QiLCJhaUFzc2lzdGFudCIsIlBST0pFQ1RFRF9QSVhFTF9TSVpFX01VTFRJUExJRVIiLCJURVhUX09VVExJTkVfTVVMVElQTElFUiIsImRhdGFUZXN0SWRzIiwiaW5mb0ljb24iLCJ3YXJuaW5nSWNvbiIsImVycm9ySWNvbiIsInN1Y2Nlc3NJY29uIiwiY2hlY2ttYXJrSWNvbiIsInNvcnRhYmxlTGF5ZXJJdGVtIiwic3RhdGljTGF5ZXJJdGVtIiwibGF5ZXJUaXRsZUVkaXRvciIsInJlbW92ZUxheWVyQWN0aW9uIiwibGF5ZXJQYW5lbCIsInNvcnRhYmxlRWZmZWN0SXRlbSIsInN0YXRpY0VmZmVjdEl0ZW0iLCJwcm92aWRlckxvYWRpbmciLCJwcm92aWRlck1hcEluZm9QYW5lbCIsInByb3ZpZGVyU2VsZWN0IiwiY2xvdWRIZWFkZXIiLCJwcm92aWRlclNoYXJlTWFwIiwiREVGQVVMVF9USU1FWk9ORSIsIkRFRkFVTFRfUE9TVF9QUk9DRVNTSU5HX0VGRkVDVF9UWVBFIiwiREVGQVVMVF9MSUdIVF9DT0xPUiIsIkRFRkFVTFRfTElHSFRfSU5URU5TSVRZIiwiREVGQVVMVF9TSEFET1dfSU5URU5TSVRZIiwiREVGQVVMVF9TSEFET1dfQ09MT1IiLCJMSUdIVF9BTkRfU0hBRE9XX0VGRkVDVF9USU1FX01PREVTIiwicGljayIsImN1cnJlbnQiLCJhbmltYXRpb24iLCJERUZBVUxUX0xJR0hUX0FORF9TSEFET1dfUFJPUFMiLCJEYXRlIiwibm93IiwidGltZU1vZGUiLCJzaGFkb3dJbnRlbnNpdHkiLCJzaGFkb3dDb2xvciIsInN1bkxpZ2h0Q29sb3IiLCJzdW5MaWdodEludGVuc2l0eSIsImFtYmllbnRMaWdodENvbG9yIiwiYW1iaWVudExpZ2h0SW50ZW5zaXR5IiwiTElHSFRfQU5EX1NIQURPV19FRkZFQ1QiLCJuYW1lIiwicGFyYW1ldGVycyIsIm1pbiIsIm1heCIsIk51bWJlciIsIk1BWF9TQUZFX0lOVEVHRVIiLCJkZWZhdWx0VmFsdWUiLCJESVNUQU5DRV9GT0dfVFlQRSIsIlNVUkZBQ0VfRk9HX1RZUEUiLCJQT1NUUFJPQ0VTU0lOR19FRkZFQ1RTIiwiaW5rIiwiYnJpZ2h0bmVzc0NvbnRyYXN0IiwiaHVlU2F0dXJhdGlvbiIsInZpYnJhbmNlIiwic2VwaWEiLCJkb3RTY3JlZW4iLCJQSSIsImNvbG9ySGFsZnRvbmUiLCJub2lzZSIsInRyaWFuZ2xlQmx1ciIsInpvb21CbHVyIiwidGlsdFNoaWZ0IiwiZWRnZVdvcmsiLCJ2aWduZXR0ZSIsIm1hZ25pZnkiLCJoZXhhZ29uYWxQaXhlbGF0ZSIsImRpc3RhbmNlRm9nIiwic3VyZmFjZUZvZyIsIkVGRkVDVF9ERVNDUklQVElPTlMiLCJrZXlOYW1lIiwiU1lOQ19USU1FTElORV9NT0RFUyIsInN0YXJ0IiwiZW5kIiwiR0VPQVJST1dfTUVUQURBVEFfS0VZIiwiR0VPQVJST1dfRVhURU5TSU9OUyIsIkxPQURFUlNfQ0ROX1ZFUlNJT04iLCJMT0FERVJTX0NETl9VUkwiLCJnZXRMb2FkZXJPcHRpb25zIiwibXZ0Iiwid29ya2VyVXJsIiwibnB5Il0sInNvdXJjZXMiOlsiLi4vc3JjL2RlZmF1bHQtc2V0dGluZ3MudHMiXSwic291cmNlc0NvbnRlbnQiOlsiLy8gU1BEWC1MaWNlbnNlLUlkZW50aWZpZXI6IE1JVFxuLy8gQ29weXJpZ2h0IGNvbnRyaWJ1dG9ycyB0byB0aGUga2VwbGVyLmdsIHByb2plY3RcblxuaW1wb3J0IGtleU1pcnJvciBmcm9tICdrZXltaXJyb3InO1xuXG5pbXBvcnQge1xuICBCYXNlTWFwU3R5bGUsXG4gIEVmZmVjdERlc2NyaXB0aW9uLFxuICBSR0JBQ29sb3IsXG4gIFN5bmNUaW1lbGluZU1vZGUsXG4gIEJhc2VNYXBDb2xvck1vZGVzLFxuICBNZXJnZVxufSBmcm9tICdAa2VwbGVyLmdsL3R5cGVzJztcbmltcG9ydCB7XG4gIHNjYWxlTGluZWFyLFxuICBzY2FsZUxvZyxcbiAgc2NhbGVPcmRpbmFsLFxuICBzY2FsZVBvaW50LFxuICBzY2FsZVF1YW50aWxlLFxuICBzY2FsZVF1YW50aXplLFxuICBzY2FsZVNxcnQsXG4gIHNjYWxlVGhyZXNob2xkXG59IGZyb20gJ2QzLXNjYWxlJztcbmltcG9ydCB7VE9PTFRJUF9GT1JNQVRfVFlQRVN9IGZyb20gJy4vdG9vbHRpcCc7XG5cbmV4cG9ydCBjb25zdCBBQ1RJT05fUFJFRklYID0gJ0BAa2VwbGVyLmdsLyc7XG5leHBvcnQgY29uc3QgS0VQTEVSX1VORk9MREVEX0JVQ0tFVCA9ICdodHRwczovL3N0dWRpby1wdWJsaWMtZGF0YS5mb3Vyc3F1YXJlLmNvbS9zdGF0aWNzL2tlcGxlcmdsJztcbmV4cG9ydCBjb25zdCBCQVNFTUFQX0lDT05fUFJFRklYID0gYGdlb2R1ZGVgO1xuZXhwb3J0IGNvbnN0IERFRkFVTFRfTUFQQk9YX0FQSV9VUkwgPSAnaHR0cHM6Ly9hcGkubWFwYm94LmNvbSc7XG5leHBvcnQgY29uc3QgVFJBTlNJVElPTl9EVVJBVElPTiA9IDA7XG5cbi8vIE1vZGFsIElkc1xuLyoqXG4gKiBNb2RhbCBpZDogZGF0YSB0YWJsZVxuICogQGNvbnN0YW50XG4gKiBAdHlwZSB7c3RyaW5nfVxuICogQHB1YmxpY1xuICovXG5leHBvcnQgY29uc3QgREFUQV9UQUJMRV9JRCA9ICdkYXRhVGFibGUnO1xuLyoqXG4gKiBNb2RhbCBpZDogZGVsZXRlIGRhdGFzZXQgY29uZmlybSBkaWFsb2dcbiAqIEBjb25zdGFudFxuICogQHR5cGUge3N0cmluZ31cbiAqIEBwdWJsaWNcbiAqL1xuZXhwb3J0IGNvbnN0IERFTEVURV9EQVRBX0lEID0gJ2RlbGV0ZURhdGEnO1xuLyoqXG4gKiBNb2RhbCBpZDogYWRkIGRhdGEgbW9kYWxcbiAqIEBjb25zdGFudFxuICogQHR5cGUge3N0cmluZ31cbiAqIEBwdWJsaWNcbiAqL1xuZXhwb3J0IGNvbnN0IEFERF9EQVRBX0lEID0gJ2FkZERhdGEnO1xuLyoqXG4gKiBNb2RhbCBpZDogZXhwb3J0IGltYWdlIG1vZGFsXG4gKiBAY29uc3RhbnRcbiAqIEB0eXBlIHtzdHJpbmd9XG4gKiBAcHVibGljXG4gKi9cbmV4cG9ydCBjb25zdCBFWFBPUlRfSU1BR0VfSUQgPSAnZXhwb3J0SW1hZ2UnO1xuLyoqXG4gKiBNb2RhbCBpZDogZXhwb3J0IGRhdGEgbW9kYWxcbiAqIEBjb25zdGFudFxuICogQHR5cGUge3N0cmluZ31cbiAqIEBwdWJsaWNcbiAqL1xuZXhwb3J0IGNvbnN0IEVYUE9SVF9EQVRBX0lEID0gJ2V4cG9ydERhdGEnO1xuLyoqXG4gKiBNb2RhbCBpZDogYWRkIGN1c3RvbSBtYXAgc3R5bGUgbW9kYWxcbiAqIEBjb25zdGFudFxuICogQHR5cGUge3N0cmluZ31cbiAqIEBwdWJsaWNcbiAqL1xuZXhwb3J0IGNvbnN0IEFERF9NQVBfU1RZTEVfSUQgPSAnYWRkTWFwU3R5bGUnO1xuLyoqXG4gKiBNb2RhbCBpZDogZXhwb3J0IG1hcCBtb2RhbFxuICogQGNvbnN0YW50XG4gKiBAdHlwZSB7c3RyaW5nfVxuICogQHB1YmxpY1xuICovXG5leHBvcnQgY29uc3QgRVhQT1JUX01BUF9JRCA9ICdleHBvcnRNYXAnO1xuLyoqXG4gKiBNb2RhbCBpZDogc2F2ZSBtYXAgbW9kYWxcbiAqIEBjb25zdGFudFxuICogQHR5cGUge3N0cmluZ31cbiAqIEBwdWJsaWNcbiAqL1xuZXhwb3J0IGNvbnN0IFNBVkVfTUFQX0lEID0gJ3NhdmVNYXAnO1xuLyoqXG4gKiBNb2RhbCBpZDogY29uZmlybSB0byBvdmVyd3JpdGUgc2F2ZWQgbWFwXG4gKiBAY29uc3RhbnRcbiAqIEB0eXBlIHtzdHJpbmd9XG4gKiBAcHVibGljXG4gKi9cbmV4cG9ydCBjb25zdCBPVkVSV1JJVEVfTUFQX0lEID0gJ292ZXJ3cml0ZU1hcCc7XG4vKipcbiAqIE1vZGFsIGlkOiBzaGFyZSBtYXAgdXJsIG1vZGFsXG4gKiBAY29uc3RhbnRcbiAqIEB0eXBlIHtzdHJpbmd9XG4gKiBAcHVibGljXG4gKi9cbmV4cG9ydCBjb25zdCBTSEFSRV9NQVBfSUQgPSAnc2hhcmVNYXAnO1xuXG5leHBvcnQgY29uc3QgS0VQTEVSX0dMX05BTUUgPSAna2VwbGVyLmdsJztcblxuLy8gX19QQUNLQUdFX1ZFUlNJT05fXyBpcyBhdXRvbWF0aWNhbGx5IGluamVjdGVkIGJ5IEJhYmVsL0VzYnVpbGQgZHVyaW5nIHRoZSBidWlsZCBwcm9jZXNzXG4vLyBTaW5jZSB3ZSBhcmUgaW5qZWN0aW5nIHRoaXMgZHVyaW5nIHRoZSBidWlsZCBwcm9jZXNzIHdpdGggYmFiZWxcbi8vIHdoaWxlIGRldmVsb3BpbmcgVkVSU0lPTiBpcyBub3QgZGVmaW5lZCwgd2UgY2FwdHVyZSB0aGUgZXhjZXB0aW9uIGFuZCByZXR1cm5cbi8vIGFuIGVtcHR5IHN0cmluZyB3aGljaCB3aWxsIGFsbG93IHVzIHRvIHJldHJpZXZlIHRoZSBsYXRlc3QgdW1kIHZlcnNpb25cbmV4cG9ydCBjb25zdCBLRVBMRVJfR0xfVkVSU0lPTiA9ICdfX1BBQ0tBR0VfVkVSU0lPTl9fJztcbmV4cG9ydCBjb25zdCBLRVBMRVJfR0xfV0VCU0lURSA9ICdodHRwOi8va2VwbGVyLmdsLyc7XG5cbmV4cG9ydCBjb25zdCBESU1FTlNJT05TID0ge1xuICBzaWRlUGFuZWw6IHtcbiAgICB3aWR0aDogMzAwLFxuICAgIG1hcmdpbjoge3RvcDogMTIsIGxlZnQ6IDEyLCBib3R0b206IDEyLCByaWdodDogMjB9LFxuICAgIGhlYWRlckhlaWdodDogOTZcbiAgfSxcbiAgbWFwQ29udHJvbDoge1xuICAgIHdpZHRoOiAxODQsXG4gICAgcGFkZGluZzogMTIsXG4gICAgbWFwTGVnZW5kOiB7XG4gICAgICBwaW5uZWQ6IHtcbiAgICAgICAgYm90dG9tOiAyMixcbiAgICAgICAgcmlnaHQ6IDEyXG4gICAgICB9XG4gICAgfVxuICB9XG59O1xuXG4vKipcbiAqIFRoZW1lIG5hbWUgdGhhdCBjYW4gYmUgcGFzc2VkIHRvIGBLZXBsZXJHbGAgYHByb3AudGhlbWVgLlxuICogQXZhaWxhYmxlIHRoZW1lcyBhcmUgYFRIRU1FLmxpZ2h0YCBhbmQgYFRIRU1FLmRhcmtgLiBEZWZhdWx0IHRoZW1lIGlzIGBUSEVNRS5kYXJrYFxuICogQGNvbnN0YW50XG4gKiBAdHlwZSB7b2JqZWN0fVxuICogQHB1YmxpY1xuICogQGV4YW1wbGVcbiAqIGBgYGpzXG4gKiBjb25zdCBNYXAgPSAoKSA9PiA8S2VwbGVyR2wgdGhlbWU9e1RIRU1FLmxpZ2h0fSBpZD1cIm1hcFwiLz5cbiAqIGBgYFxuICovXG5leHBvcnQgY29uc3QgVEhFTUUgPSBrZXlNaXJyb3Ioe1xuICBsaWdodDogbnVsbCxcbiAgZGFyazogbnVsbCxcbiAgYmFzZTogbnVsbFxufSk7XG5cbmV4cG9ydCBjb25zdCBTSURFQkFSX1BBTkVMUyA9IFtcbiAge1xuICAgIGlkOiAnbGF5ZXInLFxuICAgIGxhYmVsOiAnc2lkZWJhci5wYW5lbHMubGF5ZXInLFxuICAgIG9uQ2xpY2s6IG51bGxcbiAgfSxcbiAge1xuICAgIGlkOiAnZmlsdGVyJyxcbiAgICBsYWJlbDogJ3NpZGViYXIucGFuZWxzLmZpbHRlcicsXG4gICAgb25DbGljazogbnVsbFxuICB9LFxuICB7XG4gICAgaWQ6ICdpbnRlcmFjdGlvbicsXG4gICAgbGFiZWw6ICdzaWRlYmFyLnBhbmVscy5pbnRlcmFjdGlvbicsXG4gICAgb25DbGljazogbnVsbFxuICB9LFxuICB7XG4gICAgaWQ6ICdtYXAnLFxuICAgIGxhYmVsOiAnc2lkZWJhci5wYW5lbHMuYmFzZW1hcCcsXG4gICAgb25DbGljazogbnVsbFxuICB9XG5dO1xuXG5leHBvcnQgY29uc3QgUEFORUxfVklFV19UT0dHTEVTID0ga2V5TWlycm9yKHtcbiAgbGlzdDogbnVsbCxcbiAgYnlEYXRhc2V0OiBudWxsXG59KTtcblxuLy8gYmFja3dhcmQgY29tcGF0aWJpbGl0eVxuZXhwb3J0IGNvbnN0IFBBTkVMUyA9IFNJREVCQVJfUEFORUxTO1xuXG4vLyBNQVAgU1RZTEVTXG5cbmV4cG9ydCBjb25zdCBERUZBVUxUX0JMREdfQ09MT1IgPSAnI0QxQ0VDNyc7XG5cbmV4cG9ydCBjb25zdCBERUZBVUxUX0JBQ0tHUk9VTkRfQ09MT1IgPSAnIzAwMDAwMCc7XG5cbi8vIGFzc2lzdHMgaW4gaWRlbnRpZnlpbmcgYmFzZW1hcCBiYWNrZ3JvdW5kIGxheWVycyB3aGVuIGF1dG8tZGV0ZXJtaW5pbmcgdGhlIGJhY2tncm91bmRDb2xvclxuZXhwb3J0IGNvbnN0IEJBU0VfTUFQX0JBQ0tHUk9VTkRfTEFZRVJfSURTID0gWydiYWNrZ3JvdW5kJywgJ2JnJywgJ2xhbmQnLCAnd2F0ZXInXTtcblxuZXhwb3J0IGNvbnN0IEJBQ0tHUk9VTkRfTEFZRVJfR1JPVVBfU0xVRyA9ICdCYWNrZ3JvdW5kJztcblxuZXhwb3J0IGNvbnN0IFRIUkVFX0RfQlVJTERJTkdfTEFZRVJfR1JPVVBfU0xVRyA9ICczZCBidWlsZGluZyc7XG5cbmV4cG9ydCB0eXBlIERFRkFVTFRfTEFZRVJfR1JPVVAgPSB7XG4gIHNsdWc6IHN0cmluZztcbiAgZmlsdGVyOiAodmFsdWUpID0+IGJvb2xlYW47XG4gIGRlZmF1bHRWaXNpYmlsaXR5OiBib29sZWFuO1xuICBpc1Zpc2liaWxpdHlUb2dnbGVBdmFpbGFibGU/OiBib29sZWFuO1xuICBpc01vdmVUb1RvcEF2YWlsYWJsZT86IGJvb2xlYW47XG4gIGlzQ29sb3JQaWNrZXJBdmFpbGFibGU/OiBib29sZWFuO1xufTtcblxuZXhwb3J0IGNvbnN0IEJBQ0tHUk9VTkRfTEFZRVJfR1JPVVA6IERFRkFVTFRfTEFZRVJfR1JPVVAgPSB7XG4gIHNsdWc6IEJBQ0tHUk9VTkRfTEFZRVJfR1JPVVBfU0xVRyxcbiAgZmlsdGVyOiAoKSA9PiBmYWxzZSxcbiAgZGVmYXVsdFZpc2liaWxpdHk6IGZhbHNlLFxuICBpc1Zpc2liaWxpdHlUb2dnbGVBdmFpbGFibGU6IGZhbHNlLFxuICBpc01vdmVUb1RvcEF2YWlsYWJsZTogZmFsc2UsXG4gIGlzQ29sb3JQaWNrZXJBdmFpbGFibGU6IHRydWVcbn07XG5cbmV4cG9ydCBjb25zdCBERUZBVUxUX0xBWUVSX0dST1VQUzogREVGQVVMVF9MQVlFUl9HUk9VUFtdID0gW1xuICB7XG4gICAgc2x1ZzogJ2xhYmVsJyxcbiAgICBmaWx0ZXI6ICh7aWQsIHR5cGV9KSA9PiBpZC5tYXRjaCgvKD89KGxhYmVsfHBsYWNlLXxwb2ktKSkvKSB8fCB0eXBlPy5tYXRjaCgvKD89KHN5bWJvbCkpLyksXG4gICAgZGVmYXVsdFZpc2liaWxpdHk6IHRydWUsXG4gICAgaXNWaXNpYmlsaXR5VG9nZ2xlQXZhaWxhYmxlOiB0cnVlLFxuICAgIGlzTW92ZVRvVG9wQXZhaWxhYmxlOiB0cnVlLFxuICAgIGlzQ29sb3JQaWNrZXJBdmFpbGFibGU6IGZhbHNlXG4gIH0sXG4gIHtcbiAgICBzbHVnOiAncm9hZCcsXG4gICAgZmlsdGVyOiAoe2lkfSkgPT4gaWQubWF0Y2goLyg/PShyb2FkfHJhaWx3YXl8dHVubmVsfHN0cmVldHxicmlkZ2UpKSg/IS4qbGFiZWwpLyksXG4gICAgZGVmYXVsdFZpc2liaWxpdHk6IHRydWUsXG4gICAgaXNWaXNpYmlsaXR5VG9nZ2xlQXZhaWxhYmxlOiB0cnVlLFxuICAgIGlzTW92ZVRvVG9wQXZhaWxhYmxlOiB0cnVlLFxuICAgIGlzQ29sb3JQaWNrZXJBdmFpbGFibGU6IGZhbHNlXG4gIH0sXG4gIHtcbiAgICBzbHVnOiAnYm9yZGVyJyxcbiAgICBmaWx0ZXI6ICh7aWR9KSA9PiBpZC5tYXRjaCgvYm9yZGVyfGJvdW5kYXJpZXN8Ym91bmRhcnkvKSxcbiAgICBkZWZhdWx0VmlzaWJpbGl0eTogZmFsc2UsXG4gICAgaXNWaXNpYmlsaXR5VG9nZ2xlQXZhaWxhYmxlOiB0cnVlLFxuICAgIGlzTW92ZVRvVG9wQXZhaWxhYmxlOiB0cnVlLFxuICAgIGlzQ29sb3JQaWNrZXJBdmFpbGFibGU6IGZhbHNlXG4gIH0sXG4gIHtcbiAgICBzbHVnOiAnYnVpbGRpbmcnLFxuICAgIGZpbHRlcjogKHtpZH0pID0+IGlkLm1hdGNoKC9idWlsZGluZy8pLFxuICAgIGRlZmF1bHRWaXNpYmlsaXR5OiB0cnVlLFxuICAgIGlzVmlzaWJpbGl0eVRvZ2dsZUF2YWlsYWJsZTogdHJ1ZSxcbiAgICBpc01vdmVUb1RvcEF2YWlsYWJsZTogdHJ1ZSxcbiAgICBpc0NvbG9yUGlja2VyQXZhaWxhYmxlOiBmYWxzZVxuICB9LFxuICB7XG4gICAgc2x1ZzogJ3dhdGVyJyxcbiAgICBmaWx0ZXI6ICh7aWR9KSA9PiBpZC5tYXRjaCgvKD89KHdhdGVyfHN0cmVhbXxmZXJyeSkpLyksXG4gICAgZGVmYXVsdFZpc2liaWxpdHk6IHRydWUsXG4gICAgaXNWaXNpYmlsaXR5VG9nZ2xlQXZhaWxhYmxlOiB0cnVlLFxuICAgIGlzTW92ZVRvVG9wQXZhaWxhYmxlOiB0cnVlLFxuICAgIGlzQ29sb3JQaWNrZXJBdmFpbGFibGU6IGZhbHNlXG4gIH0sXG4gIHtcbiAgICBzbHVnOiAnbGFuZCcsXG4gICAgZmlsdGVyOiAoe2lkfSkgPT4gaWQubWF0Y2goLyg/PShwYXJrc3xsYW5kY292ZXJ8aW5kdXN0cmlhbHxzYW5kfGhpbGxzaGFkZSkpLyksXG4gICAgZGVmYXVsdFZpc2liaWxpdHk6IHRydWUsXG4gICAgaXNWaXNpYmlsaXR5VG9nZ2xlQXZhaWxhYmxlOiB0cnVlLFxuICAgIGlzTW92ZVRvVG9wQXZhaWxhYmxlOiB0cnVlLFxuICAgIGlzQ29sb3JQaWNrZXJBdmFpbGFibGU6IGZhbHNlXG4gIH0sXG4gIHtcbiAgICBzbHVnOiBUSFJFRV9EX0JVSUxESU5HX0xBWUVSX0dST1VQX1NMVUcsXG4gICAgZmlsdGVyOiAoKSA9PiBmYWxzZSxcbiAgICBkZWZhdWx0VmlzaWJpbGl0eTogZmFsc2UsXG4gICAgaXNWaXNpYmlsaXR5VG9nZ2xlQXZhaWxhYmxlOiB0cnVlLFxuICAgIGlzTW92ZVRvVG9wQXZhaWxhYmxlOiB0cnVlLFxuICAgIGlzQ29sb3JQaWNrZXJBdmFpbGFibGU6IHRydWVcbiAgfVxuXTtcblxuZXhwb3J0IGNvbnN0IEJBU0VfTUFQX0NPTE9SX01PREVTID0ga2V5TWlycm9yKHtcbiAgTk9ORTogbnVsbCxcbiAgREFSSzogbnVsbCxcbiAgTElHSFQ6IG51bGxcbn0pO1xuXG5leHBvcnQgY29uc3QgTk9fTUFQX0lEID0gJ25vX21hcCc7XG5cbi8vIEZhbGxiYWNrIHN0eWxlIHRvIHVzZSB3aGVuIHN0eWxlcyBhcmUgYmVpbmcgZmV0Y2hlZCwgb3Igd2hlblxuLy8gYSBzdHlsZSBmYWlscyB0byBmZXRjaFxuZXhwb3J0IGNvbnN0IEVNUFRZX01BUEJPWF9TVFlMRSA9IHtcbiAgdmVyc2lvbjogOCxcbiAgc291cmNlczoge30sXG4gIGxheWVyczogW11cbn07XG5cbmV4cG9ydCBjb25zdCBNQVBfTElCX09QVElPTlMgPSB7XG4gIE1BUEJPWDogJ21hcGJveCcgYXMgY29uc3QsXG4gIE1BUExJQlJFOiAnbWFwbGlicmUnIGFzIGNvbnN0XG59O1xuXG5leHBvcnQgdHlwZSBCYXNlTWFwTGlicmFyeVR5cGUgPSAnbWFwYm94JyB8ICdtYXBsaWJyZSc7XG5cbmV4cG9ydCBjb25zdCBOT19CQVNFTUFQX0lDT04gPSBgJHtCQVNFTUFQX0lDT05fUFJFRklYfS9OT19CQVNFTUFQLnBuZ2A7XG5cbmV4cG9ydCBjb25zdCBERUZBVUxUX0JBU0VfTUFQX1NUWUxFID0gJ2RhcmstbWF0dGVyJztcblxudHlwZSBEZWZhdWx0QmFzZU1hcFN0eWxlID0gTWVyZ2U8XG4gIEJhc2VNYXBTdHlsZSxcbiAge1xuICAgIGNvbG9yTW9kZTogQmFzZU1hcENvbG9yTW9kZXM7XG4gIH1cbj47XG5cbmV4cG9ydCBjb25zdCBERUZBVUxUX05PX0JBU0VNQVBfU1RZTEU6IERlZmF1bHRCYXNlTWFwU3R5bGUgPSB7XG4gIGlkOiBOT19NQVBfSUQsXG4gIGxhYmVsOiAnTm8gQmFzZW1hcCcsXG4gIHVybDogJycsXG4gIGljb246IE5PX0JBU0VNQVBfSUNPTixcbiAgbGF5ZXJHcm91cHM6IFtCQUNLR1JPVU5EX0xBWUVSX0dST1VQXSxcbiAgY29sb3JNb2RlOiBCQVNFX01BUF9DT0xPUl9NT0RFUy5OT05FLFxuICBzdHlsZTogRU1QVFlfTUFQQk9YX1NUWUxFXG59O1xuXG5leHBvcnQgY29uc3QgREVGQVVMVF9NQVBCT1hfU1RZTEVTOiBEZWZhdWx0QmFzZU1hcFN0eWxlW10gPSBbXG4gIHtcbiAgICBpZDogJ2RhcmsnLFxuICAgIGxhYmVsOiAnRGFyaycsXG4gICAgdXJsOiAnbWFwYm94Oi8vc3R5bGVzL3ViZXJkYXRhL2Nqb3FiYmY2bDlrMzAyc2w5NnR5dmthMDknLFxuICAgIGljb246IGAke0JBU0VNQVBfSUNPTl9QUkVGSVh9L1VCRVJfREFSS19WMi5wbmdgLFxuICAgIGxheWVyR3JvdXBzOiBERUZBVUxUX0xBWUVSX0dST1VQUyxcbiAgICBjb2xvck1vZGU6IEJBU0VfTUFQX0NPTE9SX01PREVTLkRBUkssXG4gICAgY29tcGxpbWVudGFyeVN0eWxlSWQ6ICdsaWdodCdcbiAgfSxcbiAge1xuICAgIGlkOiAnbGlnaHQnLFxuICAgIGxhYmVsOiAnTGlnaHQnLFxuICAgIHVybDogJ21hcGJveDovL3N0eWxlcy91YmVyZGF0YS9jam9xYjlqMzM5azFmMnNsOXQ1aWM1Ym40JyxcbiAgICBpY29uOiBgJHtCQVNFTUFQX0lDT05fUFJFRklYfS9VQkVSX0xJR0hUX1YyLnBuZ2AsXG4gICAgbGF5ZXJHcm91cHM6IERFRkFVTFRfTEFZRVJfR1JPVVBTLFxuICAgIGNvbG9yTW9kZTogQkFTRV9NQVBfQ09MT1JfTU9ERVMuTElHSFQsXG4gICAgY29tcGxpbWVudGFyeVN0eWxlSWQ6ICdkYXJrJ1xuICB9LFxuICB7XG4gICAgaWQ6ICdtdXRlZCcsXG4gICAgbGFiZWw6ICdNdXRlZCBMaWdodCcsXG4gICAgdXJsOiAnbWFwYm94Oi8vc3R5bGVzL3ViZXJkYXRhL2NqZnlsMDNrcDF0dWwyc21mNXYydGJkZDQnLFxuICAgIGljb246IGAke0JBU0VNQVBfSUNPTl9QUkVGSVh9L1VCRVJfTVVURURfTElHSFQucG5nYCxcbiAgICBsYXllckdyb3VwczogREVGQVVMVF9MQVlFUl9HUk9VUFMsXG4gICAgY29sb3JNb2RlOiBCQVNFX01BUF9DT0xPUl9NT0RFUy5MSUdIVCxcbiAgICBjb21wbGltZW50YXJ5U3R5bGVJZDogJ211dGVkX25pZ2h0J1xuICB9LFxuICB7XG4gICAgaWQ6ICdtdXRlZF9uaWdodCcsXG4gICAgbGFiZWw6ICdNdXRlZCBOaWdodCcsXG4gICAgdXJsOiAnbWFwYm94Oi8vc3R5bGVzL3ViZXJkYXRhL2NqZnhobGlrbWFqMWIyc295emV2bnl3Z3MnLFxuICAgIGljb246IGAke0JBU0VNQVBfSUNPTl9QUkVGSVh9L1VCRVJfTVVURURfTklHSFQucG5nYCxcbiAgICBsYXllckdyb3VwczogREVGQVVMVF9MQVlFUl9HUk9VUFMsXG4gICAgY29sb3JNb2RlOiBCQVNFX01BUF9DT0xPUl9NT0RFUy5EQVJLLFxuICAgIGNvbXBsaW1lbnRhcnlTdHlsZUlkOiAnbXV0ZWQnXG4gIH1cbl07XG5cbmV4cG9ydCBjb25zdCBERUZBVUxUX01BUEJPWF9TQVRFTElURV9TVFlMRVM6IERlZmF1bHRCYXNlTWFwU3R5bGVbXSA9IFtcbiAge1xuICAgIGlkOiAnc2F0ZWxsaXRlJyxcbiAgICBsYWJlbDogJ1NhdGVsbGl0ZSB3aXRoIHN0cmVldHMnLFxuICAgIHVybDogYG1hcGJveDovL3N0eWxlcy9tYXBib3gvc2F0ZWxsaXRlLXN0cmVldHMtdjExYCxcbiAgICBpY29uOiBgJHtCQVNFTUFQX0lDT05fUFJFRklYfS9VQkVSX1NBVEVMTElURS5wbmdgLFxuICAgIGxheWVyR3JvdXBzOiBERUZBVUxUX0xBWUVSX0dST1VQUyxcbiAgICBjb2xvck1vZGU6IEJBU0VfTUFQX0NPTE9SX01PREVTLk5PTkVcbiAgfVxuXTtcblxuZXhwb3J0IGNvbnN0IERFRkFVTFRfTUFQTElCUkVfU1RZTEVTOiBEZWZhdWx0QmFzZU1hcFN0eWxlW10gPSBbXG4gIHtcbiAgICBpZDogJ2RhcmstbWF0dGVyJyxcbiAgICBsYWJlbDogJ0RhcmtNYXR0ZXInLFxuICAgIHVybDogJ2h0dHBzOi8vYmFzZW1hcHMuY2FydG9jZG4uY29tL2dsL2RhcmstbWF0dGVyLWdsLXN0eWxlL3N0eWxlLmpzb24nLFxuICAgIGljb246IGAke0JBU0VNQVBfSUNPTl9QUkVGSVh9L0RBUktNQVRURVIucG5nYCxcbiAgICBsYXllckdyb3VwczogREVGQVVMVF9MQVlFUl9HUk9VUFMsXG4gICAgY29sb3JNb2RlOiBCQVNFX01BUF9DT0xPUl9NT0RFUy5EQVJLLFxuICAgIGNvbXBsaW1lbnRhcnlTdHlsZUlkOiAncG9zaXRyb24nXG4gIH0sXG4gIHtcbiAgICBpZDogJ3Bvc2l0cm9uJyxcbiAgICBsYWJlbDogJ1Bvc2l0cm9uJyxcbiAgICB1cmw6ICdodHRwczovL2Jhc2VtYXBzLmNhcnRvY2RuLmNvbS9nbC9wb3NpdHJvbi1nbC1zdHlsZS9zdHlsZS5qc29uJyxcbiAgICBpY29uOiBgJHtCQVNFTUFQX0lDT05fUFJFRklYfS9QT1NJVFJPTi5wbmdgLFxuICAgIGxheWVyR3JvdXBzOiBERUZBVUxUX0xBWUVSX0dST1VQUyxcbiAgICBjb2xvck1vZGU6IEJBU0VfTUFQX0NPTE9SX01PREVTLkxJR0hULFxuICAgIGNvbXBsaW1lbnRhcnlTdHlsZUlkOiAnZGFyay1tYXR0ZXInXG4gIH0sXG4gIHtcbiAgICBpZDogJ3ZveWFnZXInLFxuICAgIGxhYmVsOiAnVm95YWdlcicsXG4gICAgdXJsOiAnaHR0cHM6Ly9iYXNlbWFwcy5jYXJ0b2Nkbi5jb20vZ2wvdm95YWdlci1nbC1zdHlsZS9zdHlsZS5qc29uJyxcbiAgICBpY29uOiBgJHtCQVNFTUFQX0lDT05fUFJFRklYfS9WT1lBR0VSLnBuZ2AsXG4gICAgbGF5ZXJHcm91cHM6IERFRkFVTFRfTEFZRVJfR1JPVVBTLFxuICAgIGNvbG9yTW9kZTogQkFTRV9NQVBfQ09MT1JfTU9ERVMuTElHSFQsXG4gICAgY29tcGxpbWVudGFyeVN0eWxlSWQ6ICdkYXJrLW1hdHRlcidcbiAgfVxuXTtcblxuZXhwb3J0IGNvbnN0IERFRkFVTFRfTUFQX1NUWUxFUyA9IFtcbiAgREVGQVVMVF9OT19CQVNFTUFQX1NUWUxFLFxuICAuLi5ERUZBVUxUX01BUExJQlJFX1NUWUxFUyxcbiAgLi4uREVGQVVMVF9NQVBCT1hfU0FURUxJVEVfU1RZTEVTLFxuICAuLi5ERUZBVUxUX01BUEJPWF9TVFlMRVNcbl07XG5cbmV4cG9ydCBjb25zdCBHRU9KU09OX0ZJRUxEUyA9IHtcbiAgZ2VvanNvbjogWydfZ2VvanNvbicsICdhbGxfcG9pbnRzJywgJ2dlb2pzb24nXVxufTtcblxuZXhwb3J0IGNvbnN0IElDT05fRklFTERTID0ge1xuICBpY29uOiBbJ2ljb24nXVxufTtcblxuZXhwb3J0IGNvbnN0IFRSSVBfUE9JTlRfRklFTERTOiBbc3RyaW5nLCBzdHJpbmddW10gPSBbXG4gIFsnbGF0JywgJ2xuZyddLFxuICBbJ2xhdCcsICdsb24nXSxcbiAgWydsYXQnLCAnbG9uZyddLFxuICBbJ2xhdGl0dWRlJywgJ2xvbmdpdHVkZSddXG5dO1xuXG5leHBvcnQgY29uc3QgQUxUSVRVREVfRklFTERTID0gWydhbHQnLCAnYWx0aXR1ZGUnXTtcbmV4cG9ydCBjb25zdCBUUklQX0FSQ19GSUVMRFMgPSB7XG4gIGxhdDA6ICdiZWdpbnRyaXAnLFxuICBsbmcwOiAnYmVnaW50cmlwJyxcbiAgbGF0MTogJ2Ryb3BvZmYnLFxuICBsbmcxOiAnZHJvcG9mZidcbn07XG5cbmV4cG9ydCBjb25zdCBGSUxURVJfVFlQRVMgPSBrZXlNaXJyb3Ioe1xuICByYW5nZTogbnVsbCxcbiAgc2VsZWN0OiBudWxsLFxuICBpbnB1dDogbnVsbCxcbiAgdGltZVJhbmdlOiBudWxsLFxuICBtdWx0aVNlbGVjdDogbnVsbCxcbiAgcG9seWdvbjogbnVsbFxufSk7XG5cbmV4cG9ydCBjb25zdCBGSUxURVJfVklFV19UWVBFUyA9IGtleU1pcnJvcih7XG4gIHNpZGU6IG51bGwsXG4gIGVubGFyZ2VkOiBudWxsLFxuICBtaW5pZmllZDogbnVsbFxufSk7XG5cbmV4cG9ydCBjb25zdCBERUZBVUxUX0ZJTFRFUl9WSUVXX1RZUEUgPSBGSUxURVJfVklFV19UWVBFUy5zaWRlO1xuXG5leHBvcnQgdHlwZSBTQ0FMRV9UWVBFU19ERUYgPSB7XG4gIG9yZGluYWw6ICdvcmRpbmFsJztcbiAgcXVhbnRpbGU6ICdxdWFudGlsZSc7XG4gIHF1YW50aXplOiAncXVhbnRpemUnO1xuICBsaW5lYXI6ICdsaW5lYXInO1xuICBzcXJ0OiAnc3FydCc7XG4gIGxvZzogJ2xvZyc7XG4gIHBvaW50OiAncG9pbnQnO1xuICB0aHJlc2hvbGQ6ICd0aHJlc2hvbGQnO1xuICBjdXN0b206ICdjdXN0b20nO1xuICBjdXN0b21PcmRpbmFsOiAnY3VzdG9tT3JkaW5hbCc7XG59O1xuXG5leHBvcnQgY29uc3QgU0NBTEVfVFlQRVM6IFNDQUxFX1RZUEVTX0RFRiA9IGtleU1pcnJvcih7XG4gIG9yZGluYWw6IG51bGwsXG4gIHF1YW50aWxlOiBudWxsLFxuICBxdWFudGl6ZTogbnVsbCxcbiAgbGluZWFyOiBudWxsLFxuICBzcXJ0OiBudWxsLFxuICBsb2c6IG51bGwsXG4gIHRocmVzaG9sZDogbnVsbCxcbiAgY3VzdG9tOiBudWxsLFxuICBjdXN0b21PcmRpbmFsOiBudWxsLFxuICAvLyBvcmRpbmFsIGRvbWFpbiB0byBsaW5lYXIgcmFuZ2VcbiAgcG9pbnQ6IG51bGxcbn0pO1xuZXhwb3J0IGNvbnN0IFNDQUxFX1RZUEVfTkFNRVM6IHtba2V5IGluIGtleW9mIFNDQUxFX1RZUEVTX0RFRl06IHN0cmluZ30gPSB7XG4gIG9yZGluYWw6ICdPcmRpbmFsJyxcbiAgcXVhbnRpbGU6ICdRdWFudGlsZScsXG4gIHF1YW50aXplOiAnUXVhbnRpemUnLFxuICBsaW5lYXI6ICdMaW5lYXInLFxuICBzcXJ0OiAnU3FydCcsXG4gIGxvZzogJ0xvZycsXG4gIHRocmVzaG9sZDogJ1RocmVzaG9sZCcsXG4gIGN1c3RvbTogJ0N1c3RvbSBCcmVha3MnLFxuICBjdXN0b21PcmRpbmFsOiAnQ3VzdG9tIE9yZGluYWwnLFxuICBwb2ludDogJ1BvaW50J1xufTtcblxuZXhwb3J0IHR5cGUgU0NBTEVfRlVOQ19UWVBFID0ge1xuICBba2V5IGluIGtleW9mIFNDQUxFX1RZUEVTX0RFRl06ICgpID0+IG51bWJlcjtcbn07XG5cbmV4cG9ydCBjb25zdCBTQ0FMRV9GVU5DID0ge1xuICBbU0NBTEVfVFlQRVMubGluZWFyXTogc2NhbGVMaW5lYXIsXG4gIFtTQ0FMRV9UWVBFUy5xdWFudGl6ZV06IHNjYWxlUXVhbnRpemUsXG4gIFtTQ0FMRV9UWVBFUy5xdWFudGlsZV06IHNjYWxlUXVhbnRpbGUsXG4gIFtTQ0FMRV9UWVBFUy5vcmRpbmFsXTogc2NhbGVPcmRpbmFsLFxuICBbU0NBTEVfVFlQRVMuc3FydF06IHNjYWxlU3FydCxcbiAgW1NDQUxFX1RZUEVTLmxvZ106IHNjYWxlTG9nLFxuICBbU0NBTEVfVFlQRVMucG9pbnRdOiBzY2FsZVBvaW50LFxuICBbU0NBTEVfVFlQRVMudGhyZXNob2xkXTogc2NhbGVUaHJlc2hvbGQsXG4gIFtTQ0FMRV9UWVBFUy5jdXN0b21dOiBzY2FsZVRocmVzaG9sZCxcbiAgW1NDQUxFX1RZUEVTLmN1c3RvbU9yZGluYWxdOiBzY2FsZU9yZGluYWxcbn07XG5cbmV4cG9ydCBjb25zdCBBTExfRklFTERfVFlQRVMgPSBrZXlNaXJyb3Ioe1xuICBib29sZWFuOiBudWxsLFxuICBkYXRlOiBudWxsLFxuICBnZW9qc29uOiBudWxsLFxuICBpbnRlZ2VyOiBudWxsLFxuICByZWFsOiBudWxsLFxuICBzdHJpbmc6IG51bGwsXG4gIHRpbWVzdGFtcDogbnVsbCxcbiAgcG9pbnQ6IG51bGwsXG4gIGFycmF5OiBudWxsLFxuICBvYmplY3Q6IG51bGwsXG4gIGdlb2Fycm93OiBudWxsLFxuICBoMzogbnVsbFxufSk7XG5cbi8vIERhdGEgVGFibGVcbmV4cG9ydCBjb25zdCBTT1JUX09SREVSID0ga2V5TWlycm9yKHtcbiAgQVNDRU5ESU5HOiBudWxsLFxuICBERVNDRU5ESU5HOiBudWxsLFxuICBVTlNPUlQ6IG51bGxcbn0pO1xuXG5leHBvcnQgY29uc3QgVEFCTEVfT1BUSU9OID0ga2V5TWlycm9yKHtcbiAgU09SVF9BU0M6IG51bGwsXG4gIFNPUlRfREVTOiBudWxsLFxuICBVTlNPUlQ6IG51bGwsXG4gIFBJTjogbnVsbCxcbiAgVU5QSU46IG51bGwsXG4gIENPUFk6IG51bGwsXG4gIEZPUk1BVF9DT0xVTU46IG51bGxcbn0pO1xuXG5leHBvcnQgdHlwZSBUYWJsZU9wdGlvbiA9IHtcbiAgdmFsdWU6ICdTT1JUX0FTQycgfCAnU09SVF9ERVMnIHwgJ1VOU09SVCcgfCAnUElOJyB8ICdVTlBJTicgfCAnQ09QWScgfCAnRk9STUFUX0NPTFVNTic7XG4gIGRpc3BsYXk6IHN0cmluZztcbiAgaWNvbjogc3RyaW5nO1xuICBjb25kaXRpb24/OiAocHJvcHM6IGFueSkgPT4gYm9vbGVhbjtcbn07XG5leHBvcnQgY29uc3QgVEFCTEVfT1BUSU9OX0xJU1Q6IFRhYmxlT3B0aW9uW10gPSBbXG4gIHtcbiAgICB2YWx1ZTogVEFCTEVfT1BUSU9OLlNPUlRfQVNDLFxuICAgIGRpc3BsYXk6ICdTb3J0IEFzY2VuZGluZycsXG4gICAgaWNvbjogJ0Fycm93VXAnLFxuICAgIGNvbmRpdGlvbjogcHJvcHMgPT4gcHJvcHMuc29ydFRhYmxlQ29sdW1uICYmIHByb3BzLnNvcnRNb2RlICE9PSBTT1JUX09SREVSLkFTQ0VORElOR1xuICB9LFxuICB7XG4gICAgdmFsdWU6IFRBQkxFX09QVElPTi5TT1JUX0RFUyxcbiAgICBkaXNwbGF5OiAnU29ydCBEZXNjZW5kaW5nJyxcbiAgICBpY29uOiAnQXJyb3dEb3duJyxcbiAgICBjb25kaXRpb246IHByb3BzID0+IHByb3BzLnNvcnRUYWJsZUNvbHVtbiAmJiBwcm9wcy5zb3J0TW9kZSAhPT0gU09SVF9PUkRFUi5ERVNDRU5ESU5HXG4gIH0sXG4gIHtcbiAgICB2YWx1ZTogVEFCTEVfT1BUSU9OLlVOU09SVCxcbiAgICBkaXNwbGF5OiAnVW5zb3J0IENvbHVtbicsXG4gICAgaWNvbjogJ0NhbmNlbCcsXG4gICAgY29uZGl0aW9uOiBwcm9wcyA9PiBwcm9wcy5pc1NvcnRlZFxuICB9LFxuICB7XG4gICAgdmFsdWU6IFRBQkxFX09QVElPTi5QSU4sXG4gICAgZGlzcGxheTogJ1BpbiBDb2x1bW4nLFxuICAgIGljb246ICdQaW4nLFxuICAgIGNvbmRpdGlvbjogcHJvcHMgPT4gIXByb3BzLmlzUGlubmVkXG4gIH0sXG4gIHtcbiAgICB2YWx1ZTogVEFCTEVfT1BUSU9OLlVOUElOLFxuICAgIGRpc3BsYXk6ICdVbnBpbiBDb2x1bW4nLFxuICAgIGljb246ICdDYW5jZWwnLFxuICAgIGNvbmRpdGlvbjogcHJvcHMgPT4gcHJvcHMuaXNQaW5uZWRcbiAgfSxcbiAge3ZhbHVlOiBUQUJMRV9PUFRJT04uQ09QWSwgZGlzcGxheTogJ0NvcHkgQ29sdW1uJywgaWNvbjogJ0NsaXBib2FyZCd9LFxuICB7XG4gICAgdmFsdWU6IFRBQkxFX09QVElPTi5GT1JNQVRfQ09MVU1OLFxuICAgIGRpc3BsYXk6ICdGb3JtYXQgQ29sdW1uJyxcbiAgICBpY29uOiAnSGFzaCcsXG4gICAgY29uZGl0aW9uOiBwcm9wcyA9PiBwcm9wcy5zZXREaXNwbGF5Rm9ybWF0XG4gIH1cbl07XG5cbmNvbnN0IFlFTExPVyA9ICcyNDgsIDE5NCwgMjgnO1xuY29uc3QgUElOSyA9ICcyNDIsIDE1MiwgMTYzJztcbmNvbnN0IFBVUlBMRSA9ICcxNjAsIDEwNiwgMjA2JztcbmNvbnN0IEJMVUUgPSAnMTQwLCAyMTAsIDIwNSc7XG5jb25zdCBCTFVFMiA9ICcxMDYsIDE2MCwgMjA2JztcbmNvbnN0IEJMVUUzID0gJzAsIDE3MiwgMjM3JztcbmNvbnN0IEdSRUVOID0gJzEwNiwgMTYwLCA1Nic7XG5jb25zdCBHUkVFTjIgPSAnNzQsIDE2NSwgMTUwJztcbmNvbnN0IFJFRCA9ICcyMzcsIDg4LCAxMDYnO1xuY29uc3QgT1JBTkdFID0gJzIzMSwgMTEwLCA1OCc7XG5cbmV4cG9ydCBjb25zdCBGSUVMRF9UWVBFX0RJU1BMQVkgPSB7XG4gIFtBTExfRklFTERfVFlQRVMuYm9vbGVhbl06IHtcbiAgICBsYWJlbDogJ2Jvb2wnLFxuICAgIGNvbG9yOiBQSU5LXG4gIH0sXG4gIFtBTExfRklFTERfVFlQRVMuZGF0ZV06IHtcbiAgICBsYWJlbDogJ2RhdGUnLFxuICAgIGNvbG9yOiBQVVJQTEVcbiAgfSxcbiAgW0FMTF9GSUVMRF9UWVBFUy5nZW9qc29uXToge1xuICAgIGxhYmVsOiAnZ2VvJyxcbiAgICBjb2xvcjogQkxVRTJcbiAgfSxcbiAgW0FMTF9GSUVMRF9UWVBFUy5nZW9hcnJvd106IHtcbiAgICBsYWJlbDogJ2dlbycsXG4gICAgY29sb3I6IEJMVUUyXG4gIH0sXG4gIFtBTExfRklFTERfVFlQRVMuaW50ZWdlcl06IHtcbiAgICBsYWJlbDogJ2ludCcsXG4gICAgY29sb3I6IFlFTExPV1xuICB9LFxuICBbQUxMX0ZJRUxEX1RZUEVTLnJlYWxdOiB7XG4gICAgbGFiZWw6ICdmbG9hdCcsXG4gICAgY29sb3I6IFlFTExPV1xuICB9LFxuICBbQUxMX0ZJRUxEX1RZUEVTLnN0cmluZ106IHtcbiAgICBsYWJlbDogJ3N0cmluZycsXG4gICAgY29sb3I6IEJMVUVcbiAgfSxcbiAgW0FMTF9GSUVMRF9UWVBFUy50aW1lc3RhbXBdOiB7XG4gICAgbGFiZWw6ICd0aW1lJyxcbiAgICBjb2xvcjogR1JFRU5cbiAgfSxcbiAgLy8gZmllbGQgcGFpcnNcbiAgW0FMTF9GSUVMRF9UWVBFUy5wb2ludF06IHtcbiAgICBsYWJlbDogJ3BvaW50JyxcbiAgICBjb2xvcjogQkxVRTNcbiAgfSxcbiAgW0FMTF9GSUVMRF9UWVBFUy5hcnJheV06IHtcbiAgICBsYWJlbDogJ2FycmF5JyxcbiAgICBjb2xvcjogT1JBTkdFXG4gIH0sXG4gIFtBTExfRklFTERfVFlQRVMub2JqZWN0XToge1xuICAgIGxhYmVsOiAnb2JqZWN0JyxcbiAgICBjb2xvcjogR1JFRU4yXG4gIH0sXG4gIFtBTExfRklFTERfVFlQRVMuaDNdOiB7XG4gICAgbGFiZWw6ICdoMycsXG4gICAgY29sb3I6IEJMVUVcbiAgfVxufTtcblxuZXhwb3J0IGNvbnN0IEZJRUxEX0NPTE9SUyA9IHtcbiAgZGVmYXVsdDogUkVEXG59O1xuZXhwb3J0IGNvbnN0IEhJR0hMSUdIX0NPTE9SXzNEOiBSR0JBQ29sb3IgPSBbMjU1LCAyNTUsIDI1NSwgNjBdO1xuZXhwb3J0IGNvbnN0IENIQU5ORUxfU0NBTEVTID0ga2V5TWlycm9yKHtcbiAgY29sb3I6IG51bGwsXG4gIHJhZGl1czogbnVsbCxcbiAgc2l6ZTogbnVsbCxcbiAgY29sb3JBZ2dyOiBudWxsLFxuICBzaXplQWdncjogbnVsbFxufSk7XG5cbmV4cG9ydCBjb25zdCBBR0dSRUdBVElPTl9UWVBFUzoge1xuICAvLyBkZWZhdWx0XG4gIGNvdW50OiAnY291bnQnO1xuICAvLyBsaW5lYXJcbiAgYXZlcmFnZTogJ2F2ZXJhZ2UnO1xuICBtYXhpbXVtOiAnbWF4aW11bSc7XG4gIG1pbmltdW06ICdtaW5pbXVtJztcbiAgbWVkaWFuOiAnbWVkaWFuJztcbiAgc3RkZXY6ICdzdGRldic7XG4gIHN1bTogJ3N1bSc7XG4gIHZhcmlhbmNlOiAndmFyaWFuY2UnO1xuICAvLyBvcmRpbmFsXG4gIG1vZGU6ICdtb2RlJztcbiAgY291bnRVbmlxdWU6ICdjb3VudFVuaXF1ZSc7XG59ID0ge1xuICAvLyBkZWZhdWx0XG4gIGNvdW50OiAnY291bnQnLFxuICAvLyBsaW5lYXJcbiAgYXZlcmFnZTogJ2F2ZXJhZ2UnLFxuICBtYXhpbXVtOiAnbWF4aW11bScsXG4gIG1pbmltdW06ICdtaW5pbXVtJyxcbiAgbWVkaWFuOiAnbWVkaWFuJyxcbiAgc3RkZXY6ICdzdGRldicsXG4gIHN1bTogJ3N1bScsXG4gIHZhcmlhbmNlOiAndmFyaWFuY2UnLFxuICAvLyBvcmRpbmFsXG4gIG1vZGU6ICdtb2RlJyxcbiAgY291bnRVbmlxdWU6ICdjb3VudFVuaXF1ZSdcbn07XG5cbmV4cG9ydCBjb25zdCBBR0dSRUdBVElPTl9UWVBFX09QVElPTlM6IHtpZDogc3RyaW5nOyBsYWJlbDogc3RyaW5nfVtdID0gT2JqZWN0LmVudHJpZXMoXG4gIEFHR1JFR0FUSU9OX1RZUEVTXG4pLm1hcCgoW2tleSwgdmFsdWVdKSA9PiAoe1xuICBpZDoga2V5LFxuICBsYWJlbDpcbiAgICBrZXkgPT09ICdzdGRldidcbiAgICAgID8gJ1N0ZCBEZXZpYXRpb24nXG4gICAgICA6IGtleSA9PT0gJ2NvdW50VW5pcXVlJ1xuICAgICAgPyAnQ291bnQgVW5pcXVlJ1xuICAgICAgOiB0eXBlb2YgdmFsdWUgPT09ICdzdHJpbmcnXG4gICAgICA/IHZhbHVlLmNoYXJBdCgwKS50b1VwcGVyQ2FzZSgpICsgdmFsdWUuc2xpY2UoMSlcbiAgICAgIDogdmFsdWVcbn0pKTtcblxuZXhwb3J0IGNvbnN0IGxpbmVhckZpZWxkU2NhbGVGdW5jdGlvbnMgPSB7XG4gIFtDSEFOTkVMX1NDQUxFUy5jb2xvcl06IFtTQ0FMRV9UWVBFUy5xdWFudGl6ZSwgU0NBTEVfVFlQRVMucXVhbnRpbGUsIFNDQUxFX1RZUEVTLmN1c3RvbV0sXG4gIFtDSEFOTkVMX1NDQUxFUy5yYWRpdXNdOiBbU0NBTEVfVFlQRVMuc3FydF0sXG4gIFtDSEFOTkVMX1NDQUxFUy5zaXplXTogW1NDQUxFX1RZUEVTLmxpbmVhciwgU0NBTEVfVFlQRVMuc3FydCwgU0NBTEVfVFlQRVMubG9nXVxufTtcblxuY29uc3QgREVGQVVMVF9BR0dSRUdBVElPTl9DT0xPUl9TQ0FMRVMgPSBbXG4gIFNDQUxFX1RZUEVTLnF1YW50aXplLFxuICBTQ0FMRV9UWVBFUy5xdWFudGlsZSxcbiAgU0NBTEVfVFlQRVMuY3VzdG9tXG5dO1xuXG5leHBvcnQgY29uc3QgbGluZWFyRmllbGRBZ2dyU2NhbGVGdW5jdGlvbnMgPSB7XG4gIFtDSEFOTkVMX1NDQUxFUy5jb2xvckFnZ3JdOiBbXG4gICAgQUdHUkVHQVRJT05fVFlQRVMuYXZlcmFnZSxcbiAgICBBR0dSRUdBVElPTl9UWVBFUy5tYXhpbXVtLFxuICAgIEFHR1JFR0FUSU9OX1RZUEVTLm1pbmltdW0sXG4gICAgQUdHUkVHQVRJT05fVFlQRVMubWVkaWFuLFxuICAgIEFHR1JFR0FUSU9OX1RZUEVTLnN0ZGV2LFxuICAgIEFHR1JFR0FUSU9OX1RZUEVTLnN1bSxcbiAgICBBR0dSRUdBVElPTl9UWVBFUy52YXJpYW5jZSxcbiAgICBBR0dSRUdBVElPTl9UWVBFUy5jb3VudFxuICBdLnJlZHVjZSgocHJldiwgY3VyKSA9PiB7XG4gICAgcHJldltjdXJdID0gREVGQVVMVF9BR0dSRUdBVElPTl9DT0xPUl9TQ0FMRVM7XG4gICAgcmV0dXJuIHByZXY7XG4gIH0sIHt9KSxcblxuICBbQ0hBTk5FTF9TQ0FMRVMuc2l6ZUFnZ3JdOiB7XG4gICAgW0FHR1JFR0FUSU9OX1RZUEVTLmF2ZXJhZ2VdOiBbU0NBTEVfVFlQRVMubGluZWFyLCBTQ0FMRV9UWVBFUy5zcXJ0LCBTQ0FMRV9UWVBFUy5sb2ddLFxuICAgIFtBR0dSRUdBVElPTl9UWVBFUy5tYXhpbXVtXTogW1NDQUxFX1RZUEVTLmxpbmVhciwgU0NBTEVfVFlQRVMuc3FydCwgU0NBTEVfVFlQRVMubG9nXSxcbiAgICBbQUdHUkVHQVRJT05fVFlQRVMubWluaW11bV06IFtTQ0FMRV9UWVBFUy5saW5lYXIsIFNDQUxFX1RZUEVTLnNxcnQsIFNDQUxFX1RZUEVTLmxvZ10sXG4gICAgW0FHR1JFR0FUSU9OX1RZUEVTLm1lZGlhbl06IFtTQ0FMRV9UWVBFUy5saW5lYXIsIFNDQUxFX1RZUEVTLnNxcnQsIFNDQUxFX1RZUEVTLmxvZ10sXG4gICAgW0FHR1JFR0FUSU9OX1RZUEVTLnN0ZGV2XTogW1NDQUxFX1RZUEVTLmxpbmVhciwgU0NBTEVfVFlQRVMuc3FydCwgU0NBTEVfVFlQRVMubG9nXSxcbiAgICBbQUdHUkVHQVRJT05fVFlQRVMuc3VtXTogW1NDQUxFX1RZUEVTLmxpbmVhciwgU0NBTEVfVFlQRVMuc3FydCwgU0NBTEVfVFlQRVMubG9nXSxcbiAgICBbQUdHUkVHQVRJT05fVFlQRVMudmFyaWFuY2VdOiBbU0NBTEVfVFlQRVMubGluZWFyLCBTQ0FMRV9UWVBFUy5zcXJ0LCBTQ0FMRV9UWVBFUy5sb2ddXG4gIH1cbn07XG5cbmV4cG9ydCBjb25zdCBvcmRpbmFsRmllbGRTY2FsZUZ1bmN0aW9ucyA9IHtcbiAgW0NIQU5ORUxfU0NBTEVTLmNvbG9yXTogW1NDQUxFX1RZUEVTLm9yZGluYWwsIFNDQUxFX1RZUEVTLmN1c3RvbU9yZGluYWxdLFxuICBbQ0hBTk5FTF9TQ0FMRVMucmFkaXVzXTogW1NDQUxFX1RZUEVTLnBvaW50XSxcbiAgW0NIQU5ORUxfU0NBTEVTLnNpemVdOiBbU0NBTEVfVFlQRVMucG9pbnRdXG59O1xuXG5leHBvcnQgY29uc3Qgb3JkaW5hbEZpZWxkQWdnclNjYWxlRnVuY3Rpb25zID0ge1xuICAvLyBbQ0hBTk5FTF9TQ0FMRVMuY29sb3JBZ2dyXTogW1NDQUxFX1RZUEVTLm9yZGluYWwsIFNDQUxFX1RZUEVTLmxpbmVhcl0sXG4gIFtDSEFOTkVMX1NDQUxFUy5jb2xvckFnZ3JdOiB7XG4gICAgW0FHR1JFR0FUSU9OX1RZUEVTLm1vZGVdOiBbU0NBTEVfVFlQRVMub3JkaW5hbF0sXG4gICAgW0FHR1JFR0FUSU9OX1RZUEVTLmNvdW50VW5pcXVlXTogW1NDQUxFX1RZUEVTLnF1YW50aXplLCBTQ0FMRV9UWVBFUy5xdWFudGlsZV1cbiAgfSxcblxuICAvLyBDdXJyZW50bHkgZG9lc24ndCBzdXBwb3J0IHlldFxuICBbQ0hBTk5FTF9TQ0FMRVMuc2l6ZUFnZ3JdOiB7fVxufTtcblxuZXhwb3J0IGNvbnN0IG5vdFN1cHBvcnRlZFNjYWxlT3B0cyA9IHtcbiAgW0NIQU5ORUxfU0NBTEVTLmNvbG9yXTogW10sXG4gIFtDSEFOTkVMX1NDQUxFUy5yYWRpdXNdOiBbXSxcbiAgW0NIQU5ORUxfU0NBTEVTLnNpemVdOiBbXVxufTtcblxuZXhwb3J0IGNvbnN0IG5vdFN1cHBvcnRBZ2dyT3B0cyA9IHtcbiAgW0NIQU5ORUxfU0NBTEVTLmNvbG9yQWdncl06IHt9LFxuICBbQ0hBTk5FTF9TQ0FMRVMuc2l6ZUFnZ3JdOiB7fVxufTtcblxuLyoqXG4gKiBEZWZhdWx0IGFnZ3JlZ2F0aW9uIGFyZSBiYXNlZCBvbiBvY3VudFxuICovXG5leHBvcnQgY29uc3QgREVGQVVMVF9BR0dSRUdBVElPTiA9IHtcbiAgW0NIQU5ORUxfU0NBTEVTLmNvbG9yQWdncl06IHtcbiAgICBbQUdHUkVHQVRJT05fVFlQRVMuY291bnRdOiBERUZBVUxUX0FHR1JFR0FUSU9OX0NPTE9SX1NDQUxFU1xuICB9LFxuICBbQ0hBTk5FTF9TQ0FMRVMuc2l6ZUFnZ3JdOiB7XG4gICAgW0FHR1JFR0FUSU9OX1RZUEVTLmNvdW50XTogW1NDQUxFX1RZUEVTLmxpbmVhciwgU0NBTEVfVFlQRVMuc3FydCwgU0NBTEVfVFlQRVMubG9nXVxuICB9XG59O1xuXG4vKipcbiAqIERlZmluZSB3aGF0IHR5cGUgb2Ygc2NhbGUgb3BlcmF0aW9uIGlzIGFsbG93ZWQgb24gZWFjaCB0eXBlIG9mIGZpZWxkc1xuICovXG5leHBvcnQgY29uc3QgRklFTERfT1BUUyA9IHtcbiAgW0FMTF9GSUVMRF9UWVBFUy5zdHJpbmddOiB7XG4gICAgdHlwZTogJ2NhdGVnb3JpY2FsJyxcbiAgICBzY2FsZToge1xuICAgICAgLi4ub3JkaW5hbEZpZWxkU2NhbGVGdW5jdGlvbnMsXG4gICAgICAuLi5vcmRpbmFsRmllbGRBZ2dyU2NhbGVGdW5jdGlvbnNcbiAgICB9LFxuICAgIGZvcm1hdDoge1xuICAgICAgbGVnZW5kOiBkID0+IGQsXG4gICAgICB0b29sdGlwOiBbXVxuICAgIH1cbiAgfSxcbiAgW0FMTF9GSUVMRF9UWVBFUy5yZWFsXToge1xuICAgIHR5cGU6ICdudW1lcmljYWwnLFxuICAgIHNjYWxlOiB7XG4gICAgICAuLi5saW5lYXJGaWVsZFNjYWxlRnVuY3Rpb25zLFxuICAgICAgLi4ubGluZWFyRmllbGRBZ2dyU2NhbGVGdW5jdGlvbnNcbiAgICB9LFxuICAgIGZvcm1hdDoge1xuICAgICAgbGVnZW5kOiBkID0+IGQsXG4gICAgICB0b29sdGlwOiBbXG4gICAgICAgIFRPT0xUSVBfRk9STUFUX1RZUEVTLk5PTkUsXG4gICAgICAgIFRPT0xUSVBfRk9STUFUX1RZUEVTLkRFQ0lNQUwsXG4gICAgICAgIFRPT0xUSVBfRk9STUFUX1RZUEVTLlBFUkNFTlRBR0VcbiAgICAgIF1cbiAgICB9XG4gIH0sXG4gIFtBTExfRklFTERfVFlQRVMudGltZXN0YW1wXToge1xuICAgIHR5cGU6ICd0aW1lJyxcbiAgICBzY2FsZToge1xuICAgICAgLi4ubGluZWFyRmllbGRTY2FsZUZ1bmN0aW9ucyxcbiAgICAgIC4uLm5vdFN1cHBvcnRBZ2dyT3B0c1xuICAgIH0sXG4gICAgZm9ybWF0OiB7XG4gICAgICBsZWdlbmQ6IGQgPT4gZCxcbiAgICAgIHRvb2x0aXA6IFtcbiAgICAgICAgVE9PTFRJUF9GT1JNQVRfVFlQRVMuTk9ORSxcbiAgICAgICAgVE9PTFRJUF9GT1JNQVRfVFlQRVMuREFURSxcbiAgICAgICAgVE9PTFRJUF9GT1JNQVRfVFlQRVMuREFURV9USU1FXG4gICAgICBdXG4gICAgfVxuICB9LFxuICBbQUxMX0ZJRUxEX1RZUEVTLmludGVnZXJdOiB7XG4gICAgdHlwZTogJ251bWVyaWNhbCcsXG4gICAgc2NhbGU6IHtcbiAgICAgIC4uLntcbiAgICAgICAgLi4ubGluZWFyRmllbGRTY2FsZUZ1bmN0aW9ucyxcbiAgICAgICAgW0NIQU5ORUxfU0NBTEVTLmNvbG9yXTogW1xuICAgICAgICAgIC4uLmxpbmVhckZpZWxkU2NhbGVGdW5jdGlvbnNbQ0hBTk5FTF9TQ0FMRVMuY29sb3JdLFxuICAgICAgICAgIFNDQUxFX1RZUEVTLmN1c3RvbU9yZGluYWxcbiAgICAgICAgXVxuICAgICAgfSxcbiAgICAgIC4uLmxpbmVhckZpZWxkQWdnclNjYWxlRnVuY3Rpb25zXG4gICAgfSxcbiAgICBmb3JtYXQ6IHtcbiAgICAgIGxlZ2VuZDogZCA9PiBkLFxuICAgICAgdG9vbHRpcDogW1xuICAgICAgICBUT09MVElQX0ZPUk1BVF9UWVBFUy5OT05FLFxuICAgICAgICBUT09MVElQX0ZPUk1BVF9UWVBFUy5ERUNJTUFMLFxuICAgICAgICBUT09MVElQX0ZPUk1BVF9UWVBFUy5QRVJDRU5UQUdFXG4gICAgICBdXG4gICAgfVxuICB9LFxuICBbQUxMX0ZJRUxEX1RZUEVTLmJvb2xlYW5dOiB7XG4gICAgdHlwZTogJ2Jvb2xlYW4nLFxuICAgIHNjYWxlOiB7XG4gICAgICAuLi5vcmRpbmFsRmllbGRTY2FsZUZ1bmN0aW9ucyxcbiAgICAgIC4uLm9yZGluYWxGaWVsZEFnZ3JTY2FsZUZ1bmN0aW9uc1xuICAgIH0sXG4gICAgZm9ybWF0OiB7XG4gICAgICBsZWdlbmQ6IGQgPT4gZCxcbiAgICAgIHRvb2x0aXA6IFtUT09MVElQX0ZPUk1BVF9UWVBFUy5OT05FLCBUT09MVElQX0ZPUk1BVF9UWVBFUy5CT09MRUFOXVxuICAgIH1cbiAgfSxcbiAgW0FMTF9GSUVMRF9UWVBFUy5kYXRlXToge1xuICAgIHR5cGU6ICd0aW1lJyxcbiAgICBzY2FsZToge1xuICAgICAgLi4ub3JkaW5hbEZpZWxkU2NhbGVGdW5jdGlvbnMsXG4gICAgICAuLi5vcmRpbmFsRmllbGRBZ2dyU2NhbGVGdW5jdGlvbnNcbiAgICB9LFxuICAgIGZvcm1hdDoge1xuICAgICAgbGVnZW5kOiBkID0+IGQsXG4gICAgICB0b29sdGlwOiBbVE9PTFRJUF9GT1JNQVRfVFlQRVMuTk9ORSwgVE9PTFRJUF9GT1JNQVRfVFlQRVMuREFURV1cbiAgICB9XG4gIH0sXG4gIFtBTExfRklFTERfVFlQRVMuZ2VvanNvbl06IHtcbiAgICB0eXBlOiAnZ2VvbWV0cnknLFxuICAgIHNjYWxlOiB7XG4gICAgICAuLi5ub3RTdXBwb3J0ZWRTY2FsZU9wdHMsXG4gICAgICAuLi5ub3RTdXBwb3J0QWdnck9wdHNcbiAgICB9LFxuICAgIGZvcm1hdDoge1xuICAgICAgbGVnZW5kOiAoKSA9PiAnLi4uJyxcbiAgICAgIHRvb2x0aXA6IFtdXG4gICAgfVxuICB9LFxuICBbQUxMX0ZJRUxEX1RZUEVTLmdlb2Fycm93XToge1xuICAgIHR5cGU6ICdnZW9tZXRyeScsXG4gICAgc2NhbGU6IHtcbiAgICAgIC4uLm5vdFN1cHBvcnRlZFNjYWxlT3B0cyxcbiAgICAgIC4uLm5vdFN1cHBvcnRBZ2dyT3B0c1xuICAgIH0sXG4gICAgZm9ybWF0OiB7XG4gICAgICBsZWdlbmQ6ICgpID0+ICcuLi4nLFxuICAgICAgdG9vbHRpcDogW11cbiAgICB9XG4gIH0sXG4gIFtBTExfRklFTERfVFlQRVMub2JqZWN0XToge1xuICAgIHR5cGU6ICdudW1lcmljYWwnLFxuICAgIHNjYWxlOiB7fSxcbiAgICBmb3JtYXQ6IHtcbiAgICAgIGxlZ2VuZDogKCkgPT4gJy4uLicsXG4gICAgICB0b29sdGlwOiBbXVxuICAgIH1cbiAgfSxcbiAgW0FMTF9GSUVMRF9UWVBFUy5hcnJheV06IHtcbiAgICB0eXBlOiAnbnVtZXJpY2FsJyxcbiAgICBzY2FsZToge30sXG4gICAgZm9ybWF0OiB7XG4gICAgICBsZWdlbmQ6ICgpID0+ICcuLi4nLFxuICAgICAgdG9vbHRpcDogW11cbiAgICB9XG4gIH0sXG4gIFtBTExfRklFTERfVFlQRVMuaDNdOiB7XG4gICAgdHlwZTogJ2gzJyxcbiAgICBzY2FsZToge1xuICAgICAgLi4ubm90U3VwcG9ydGVkU2NhbGVPcHRzLFxuICAgICAgLi4ubm90U3VwcG9ydEFnZ3JPcHRzXG4gICAgfSxcbiAgICBmb3JtYXQ6IHtcbiAgICAgIGxlZ2VuZDogKCkgPT4gJy4uLicsXG4gICAgICB0b29sdGlwOiBbXVxuICAgIH1cbiAgfVxufTtcblxuZXhwb3J0IGNvbnN0IENIQU5ORUxfU0NBTEVfU1VQUE9SVEVEX0ZJRUxEUyA9IE9iamVjdC5rZXlzKENIQU5ORUxfU0NBTEVTKS5yZWR1Y2UoXG4gIChhY2N1LCBrZXkpID0+ICh7XG4gICAgLi4uYWNjdSxcbiAgICBba2V5XTogT2JqZWN0LmtleXMoRklFTERfT1BUUykuZmlsdGVyKFxuICAgICAgZnQgPT4gRklFTERfT1BUU1tmdF0uc2NhbGVba2V5XSAmJiBPYmplY3Qua2V5cyhGSUVMRF9PUFRTW2Z0XS5zY2FsZVtrZXldKS5sZW5ndGhcbiAgICApXG4gIH0pLFxuICB7fSBhcyB7W2lkOiBzdHJpbmddOiBzdHJpbmdbXX1cbik7XG5cbmV4cG9ydCBjb25zdCBERUZBVUxUX0xBWUVSX0NPTE9SID0ge1xuICB0cmlwQXJjOiAnIzkyMjZDNicsXG4gIGJlZ2ludHJpcF9sYXQ6ICcjMUU5NkJFJyxcbiAgZHJvcG9mZl9sYXQ6ICcjRkY5OTFGJyxcbiAgcmVxdWVzdF9sYXQ6ICcjNTJBMzUzJ1xufTtcblxuZXhwb3J0IGNvbnN0IERFRkFVTFRfTEFZRVJfQ09MT1JfUEFMRVRURSA9ICdHbG9iYWwgV2FybWluZyc7XG5leHBvcnQgY29uc3QgREVGQVVMVF9MQVlFUl9DT0xPUl9QQUxFVFRFX1NURVBTID0gNjtcblxuLy8gbGV0IHVzZXIgcGFzcyBpbiBkZWZhdWx0IHRvb2x0aXAgZmllbGRzXG5leHBvcnQgY29uc3QgREVGQVVMVF9UT09MVElQX0ZJRUxEUzogYW55W10gPSBbXTtcblxuZXhwb3J0IGNvbnN0IE5PX1ZBTFVFX0NPTE9SOiBSR0JBQ29sb3IgPSBbMCwgMCwgMCwgMF07XG5cbmV4cG9ydCBjb25zdCBERUZBVUxUX1BJQ0tJTkdfUkFESVVTID0gMztcblxuZXhwb3J0IGNvbnN0IE9WRVJMQVlfQkxFTkRJTkdTID0ge1xuICBub3JtYWw6IHtcbiAgICBsYWJlbDogJ292ZXJsYXlCbGVuZGluZy5ub3JtYWwnLFxuICAgIHZhbHVlOiAnbm9ybWFsJ1xuICB9LFxuICBzY3JlZW46IHtcbiAgICBsYWJlbDogJ292ZXJsYXlCbGVuZGluZy5zY3JlZW4nLFxuICAgIHZhbHVlOiAnc2NyZWVuJ1xuICB9LFxuICBkYXJrZW46IHtcbiAgICBsYWJlbDogJ292ZXJsYXlCbGVuZGluZy5kYXJrZW4nLFxuICAgIHZhbHVlOiAnZGFya2VuJ1xuICB9XG59O1xuXG5leHBvcnQgY29uc3QgTEFZRVJfQkxFTkRJTkdTID0ge1xuICBhZGRpdGl2ZToge1xuICAgIGxhYmVsOiAnbGF5ZXJCbGVuZGluZy5hZGRpdGl2ZScsXG4gICAgYmxlbmRGdW5jOiBbJ1NSQ19BTFBIQScsICdEU1RfQUxQSEEnXSxcbiAgICBibGVuZEVxdWF0aW9uOiAnRlVOQ19BREQnXG4gIH0sXG4gIG5vcm1hbDoge1xuICAgIC8vIHJlZmVyZW5jZSB0b1xuICAgIC8vIGh0dHBzOi8vbGltbnUuY29tL3dlYmdsLWJsZW5kaW5nLXlvdXJlLXByb2JhYmx5LXdyb25nL1xuICAgIGxhYmVsOiAnbGF5ZXJCbGVuZGluZy5ub3JtYWwnLFxuICAgIGJsZW5kRnVuYzogWydTUkNfQUxQSEEnLCAnT05FX01JTlVTX1NSQ19BTFBIQScsICdPTkUnLCAnT05FX01JTlVTX1NSQ19BTFBIQSddLFxuICAgIGJsZW5kRXF1YXRpb246IFsnRlVOQ19BREQnLCAnRlVOQ19BREQnXVxuICB9LFxuICBzdWJ0cmFjdGl2ZToge1xuICAgIGxhYmVsOiAnbGF5ZXJCbGVuZGluZy5zdWJ0cmFjdGl2ZScsXG4gICAgYmxlbmRGdW5jOiBbJ09ORScsICdPTkVfTUlOVVNfRFNUX0NPTE9SJywgJ1NSQ19BTFBIQScsICdEU1RfQUxQSEEnXSxcbiAgICBibGVuZEVxdWF0aW9uOiBbJ0ZVTkNfU1VCVFJBQ1QnLCAnRlVOQ19BREQnXVxuICB9XG59O1xuXG5leHBvcnQgY29uc3QgTUFYX0RFRkFVTFRfVE9PTFRJUFMgPSA1O1xuXG5leHBvcnQgY29uc3QgUkVTT0xVVElPTlMgPSBrZXlNaXJyb3Ioe1xuICBPTkVfWDogbnVsbCxcbiAgVFdPX1g6IG51bGxcbn0pO1xuXG5leHBvcnQgY29uc3QgRVhQT1JUX0lNR19SQVRJT1MgPSBrZXlNaXJyb3Ioe1xuICBTQ1JFRU46IG51bGwsXG4gIEZPVVJfQllfVEhSRUU6IG51bGwsXG4gIFNJWFRFRU5fQllfTklORTogbnVsbCxcbiAgQ1VTVE9NOiBudWxsXG59KTtcblxuZXhwb3J0IHR5cGUgSW1hZ2VSYXRpb09wdGlvbiA9IHtcbiAgaWQ6IGtleW9mIHR5cGVvZiBFWFBPUlRfSU1HX1JBVElPUztcbiAgbGFiZWw6IHN0cmluZztcbiAgaGlkZGVuPzogYm9vbGVhbjtcbiAgZ2V0U2l6ZTogKHNjcmVlblc6IG51bWJlciwgc2NyZWVuSDogbnVtYmVyKSA9PiB7d2lkdGg6IG51bWJlcjsgaGVpZ2h0OiBudW1iZXJ9O1xufTtcblxuZXhwb3J0IGNvbnN0IFNjcmVlblJhdGlvT3B0aW9uOiBJbWFnZVJhdGlvT3B0aW9uID0ge1xuICBpZDogRVhQT1JUX0lNR19SQVRJT1MuU0NSRUVOLFxuICBsYWJlbDogJ21vZGFsLmV4cG9ydEltYWdlLnJhdGlvT3JpZ2luYWxTY3JlZW4nLFxuICBnZXRTaXplOiAoc2NyZWVuVywgc2NyZWVuSCkgPT4gKHt3aWR0aDogc2NyZWVuVywgaGVpZ2h0OiBzY3JlZW5IfSlcbn07XG5leHBvcnQgY29uc3QgQ3VzdG9tUmF0aW9PcHRpb246IEltYWdlUmF0aW9PcHRpb24gPSB7XG4gIGlkOiBFWFBPUlRfSU1HX1JBVElPUy5DVVNUT00sXG4gIGhpZGRlbjogdHJ1ZSxcbiAgbGFiZWw6ICdtb2RhbC5leHBvcnRJbWFnZS5yYXRpb0N1c3RvbScsXG4gIGdldFNpemU6IChtYXBXLCBtYXBIKSA9PiAoe3dpZHRoOiBtYXBXLCBoZWlnaHQ6IG1hcEh9KVxufTtcbmV4cG9ydCBjb25zdCBGb3VyQnlUaHJlZVJhdGlvT3B0aW9uOiBJbWFnZVJhdGlvT3B0aW9uID0ge1xuICBpZDogRVhQT1JUX0lNR19SQVRJT1MuRk9VUl9CWV9USFJFRSxcbiAgbGFiZWw6ICdtb2RhbC5leHBvcnRJbWFnZS5yYXRpbzRfMycsXG4gIGdldFNpemU6IHNjcmVlblcgPT4gKHtcbiAgICB3aWR0aDogc2NyZWVuVyxcbiAgICBoZWlnaHQ6IE1hdGgucm91bmQoc2NyZWVuVyAqIDAuNzUpXG4gIH0pXG59O1xuZXhwb3J0IGNvbnN0IFNpeHRlZW5CeU5pbmVSYXRpb09wdGlvbjogSW1hZ2VSYXRpb09wdGlvbiA9IHtcbiAgaWQ6IEVYUE9SVF9JTUdfUkFUSU9TLlNJWFRFRU5fQllfTklORSxcbiAgbGFiZWw6ICdtb2RhbC5leHBvcnRJbWFnZS5yYXRpbzE2XzknLFxuICBnZXRTaXplOiBzY3JlZW5XID0+ICh7XG4gICAgd2lkdGg6IHNjcmVlblcsXG4gICAgaGVpZ2h0OiBNYXRoLnJvdW5kKHNjcmVlblcgKiAwLjU2MjUpXG4gIH0pXG59O1xuXG5leHBvcnQgY29uc3QgRVhQT1JUX0lNR19SQVRJT19PUFRJT05TOiBSZWFkb25seUFycmF5PEltYWdlUmF0aW9PcHRpb24+ID0gW1xuICBTY3JlZW5SYXRpb09wdGlvbixcbiAgRm91ckJ5VGhyZWVSYXRpb09wdGlvbixcbiAgU2l4dGVlbkJ5TmluZVJhdGlvT3B0aW9uLFxuICBDdXN0b21SYXRpb09wdGlvblxuXTtcblxuZXhwb3J0IHR5cGUgRXhwb3J0UmVzb2x1dGlvbk9wdGlvbiA9XG4gIHwga2V5b2YgdHlwZW9mIFJFU09MVVRJT05TXG4gIHwgJzEyODB4NzIwJ1xuICB8ICcxOTIweDEwODAnXG4gIHwgJzI1NjB4MTQ0MCdcbiAgfCAnMTYwMHg5MDAnXG4gIHwgJzEwMjR4NzY4J1xuICB8ICcxMjgweDk2MCdcbiAgfCAnMTYwMHgxMjAwJ1xuICB8ICcxOTIweDE0NDAnO1xuXG5leHBvcnQgdHlwZSBJbWFnZVJlc29sdXRpb25PcHRpb24gPSB7XG4gIGlkOiBFeHBvcnRSZXNvbHV0aW9uT3B0aW9uO1xuICBsYWJlbDogc3RyaW5nO1xuICBhdmFpbGFibGU6IGJvb2xlYW47XG4gIHNjYWxlPzogbnVtYmVyO1xuICBnZXRTaXplOiAoc2NyZWVuVzogbnVtYmVyLCBzY3JlZW5IOiBudW1iZXIpID0+IHt3aWR0aDogbnVtYmVyOyBoZWlnaHQ6IG51bWJlcn07XG59O1xuXG5leHBvcnQgY29uc3QgT25lWFJlc29sdXRpb25PcHRpb246IEltYWdlUmVzb2x1dGlvbk9wdGlvbiA9IHtcbiAgaWQ6IFJFU09MVVRJT05TLk9ORV9YLFxuICBsYWJlbDogJzF4JyxcbiAgYXZhaWxhYmxlOiB0cnVlLFxuICBzY2FsZTogMSxcbiAgZ2V0U2l6ZTogKHNjcmVlblcsIHNjcmVlbkgpID0+ICh7XG4gICAgd2lkdGg6IHNjcmVlblcsXG4gICAgaGVpZ2h0OiBzY3JlZW5IXG4gIH0pXG59O1xuXG5leHBvcnQgY29uc3QgVHdvWFJlc29sdXRpb25PcHRpb246IEltYWdlUmVzb2x1dGlvbk9wdGlvbiA9IHtcbiAgaWQ6IFJFU09MVVRJT05TLlRXT19YLFxuICBsYWJlbDogJzJ4JyxcbiAgYXZhaWxhYmxlOiB0cnVlLFxuICBzY2FsZTogMixcbiAgZ2V0U2l6ZTogKHNjcmVlblcsIHNjcmVlbkgpID0+ICh7XG4gICAgd2lkdGg6IHNjcmVlblcgKiAyLFxuICAgIGhlaWdodDogc2NyZWVuSCAqIDJcbiAgfSlcbn07XG5cbi8vIEZpeGVkIGRpbWVuc2lvbiBvcHRpb25zXG5leHBvcnQgY29uc3QgUmVzb2x1dGlvbjE5MjB4MTA4ME9wdGlvbjogSW1hZ2VSZXNvbHV0aW9uT3B0aW9uID0ge1xuICBpZDogJzE5MjB4MTA4MCcsXG4gIGxhYmVsOiAnMTkyMCDDlyAxMDgwICgxNjo5KScsXG4gIGF2YWlsYWJsZTogdHJ1ZSxcbiAgZ2V0U2l6ZTogKCkgPT4gKHt3aWR0aDogMTkyMCwgaGVpZ2h0OiAxMDgwfSlcbn07XG5cbmV4cG9ydCBjb25zdCBSZXNvbHV0aW9uMTI4MHg3MjBPcHRpb246IEltYWdlUmVzb2x1dGlvbk9wdGlvbiA9IHtcbiAgaWQ6ICcxMjgweDcyMCcsXG4gIGxhYmVsOiAnMTI4MCDDlyA3MjAgKDE2OjkpJyxcbiAgYXZhaWxhYmxlOiB0cnVlLFxuICBnZXRTaXplOiAoKSA9PiAoe3dpZHRoOiAxMjgwLCBoZWlnaHQ6IDcyMH0pXG59O1xuXG5leHBvcnQgY29uc3QgUmVzb2x1dGlvbjI1NjB4MTQ0ME9wdGlvbjogSW1hZ2VSZXNvbHV0aW9uT3B0aW9uID0ge1xuICBpZDogJzI1NjB4MTQ0MCcsXG4gIGxhYmVsOiAnMjU2MCDDlyAxNDQwICgxNjo5KScsXG4gIGF2YWlsYWJsZTogdHJ1ZSxcbiAgZ2V0U2l6ZTogKCkgPT4gKHt3aWR0aDogMjU2MCwgaGVpZ2h0OiAxNDQwfSlcbn07XG5cbmV4cG9ydCBjb25zdCBSZXNvbHV0aW9uMTYwMHg5MDBPcHRpb246IEltYWdlUmVzb2x1dGlvbk9wdGlvbiA9IHtcbiAgaWQ6ICcxNjAweDkwMCcsXG4gIGxhYmVsOiAnMTYwMCDDlyA5MDAgKDE2OjkpJyxcbiAgYXZhaWxhYmxlOiB0cnVlLFxuICBnZXRTaXplOiAoKSA9PiAoe3dpZHRoOiAxNjAwLCBoZWlnaHQ6IDkwMH0pXG59O1xuXG5leHBvcnQgY29uc3QgUmVzb2x1dGlvbjEwMjR4NzY4T3B0aW9uOiBJbWFnZVJlc29sdXRpb25PcHRpb24gPSB7XG4gIGlkOiAnMTAyNHg3NjgnLFxuICBsYWJlbDogJzEwMjQgw5cgNzY4ICg0OjMpJyxcbiAgYXZhaWxhYmxlOiB0cnVlLFxuICBnZXRTaXplOiAoKSA9PiAoe3dpZHRoOiAxMDI0LCBoZWlnaHQ6IDc2OH0pXG59O1xuXG5leHBvcnQgY29uc3QgUmVzb2x1dGlvbjEyODB4OTYwT3B0aW9uOiBJbWFnZVJlc29sdXRpb25PcHRpb24gPSB7XG4gIGlkOiAnMTI4MHg5NjAnLFxuICBsYWJlbDogJzEyODAgw5cgOTYwICg0OjMpJyxcbiAgYXZhaWxhYmxlOiB0cnVlLFxuICBnZXRTaXplOiAoKSA9PiAoe3dpZHRoOiAxMjgwLCBoZWlnaHQ6IDk2MH0pXG59O1xuXG5leHBvcnQgY29uc3QgUmVzb2x1dGlvbjE2MDB4MTIwME9wdGlvbjogSW1hZ2VSZXNvbHV0aW9uT3B0aW9uID0ge1xuICBpZDogJzE2MDB4MTIwMCcsXG4gIGxhYmVsOiAnMTYwMCDDlyAxMjAwICg0OjMpJyxcbiAgYXZhaWxhYmxlOiB0cnVlLFxuICBnZXRTaXplOiAoKSA9PiAoe3dpZHRoOiAxNjAwLCBoZWlnaHQ6IDEyMDB9KVxufTtcblxuZXhwb3J0IGNvbnN0IFJlc29sdXRpb24xOTIweDE0NDBPcHRpb246IEltYWdlUmVzb2x1dGlvbk9wdGlvbiA9IHtcbiAgaWQ6ICcxOTIweDE0NDAnLFxuICBsYWJlbDogJzE5MjAgw5cgMTQ0MCAoNDozKScsXG4gIGF2YWlsYWJsZTogdHJ1ZSxcbiAgZ2V0U2l6ZTogKCkgPT4gKHt3aWR0aDogMTkyMCwgaGVpZ2h0OiAxNDQwfSlcbn07XG5cbmV4cG9ydCBjb25zdCBFWFBPUlRfSU1HX1JFU09MVVRJT05fT1BUSU9OUzogUmVhZG9ubHlBcnJheTxJbWFnZVJlc29sdXRpb25PcHRpb24+ID0gW1xuICBPbmVYUmVzb2x1dGlvbk9wdGlvbixcbiAgVHdvWFJlc29sdXRpb25PcHRpb24sXG4gIFJlc29sdXRpb24xMjgweDcyME9wdGlvbixcbiAgUmVzb2x1dGlvbjE5MjB4MTA4ME9wdGlvbixcbiAgUmVzb2x1dGlvbjI1NjB4MTQ0ME9wdGlvbixcbiAgUmVzb2x1dGlvbjE2MDB4OTAwT3B0aW9uLFxuICBSZXNvbHV0aW9uMTAyNHg3NjhPcHRpb24sXG4gIFJlc29sdXRpb24xMjgweDk2ME9wdGlvbixcbiAgUmVzb2x1dGlvbjE2MDB4MTIwME9wdGlvbixcbiAgUmVzb2x1dGlvbjE5MjB4MTQ0ME9wdGlvblxuXTtcblxuZXhwb3J0IGNvbnN0IEVYUE9SVF9EQVRBX1RZUEUgPSBrZXlNaXJyb3Ioe1xuICBDU1Y6IG51bGxcbiAgLy8gU0hBUEVGSUxFOiBudWxsLFxuICAvLyBKU09OOiBudWxsLFxuICAvLyBHRU9KU09OOiBudWxsLFxuICAvLyBUT1BPSlNPTjogbnVsbFxufSk7XG5cbmV4cG9ydCBjb25zdCBFWFBPUlRfREFUQV9UWVBFX09QVElPTlMgPSBbXG4gIHtcbiAgICBpZDogRVhQT1JUX0RBVEFfVFlQRS5DU1YsXG4gICAgbGFiZWw6IEVYUE9SVF9EQVRBX1RZUEUuQ1NWLnRvTG93ZXJDYXNlKCksXG4gICAgYXZhaWxhYmxlOiB0cnVlXG4gIH1cbiAgLy8ge1xuICAvLyAgIGlkOiBFWFBPUlRfREFUQV9UWVBFLlNIQVBFRklMRSxcbiAgLy8gICBsYWJlbDogJ3NoYXBlZmlsZScsXG4gIC8vICAgYXZhaWxhYmxlOiBmYWxzZVxuICAvLyB9LFxuICAvLyB7XG4gIC8vICAgaWQ6IEVYUE9SVF9EQVRBX1RZUEUuSlNPTixcbiAgLy8gICBsYWJlbDogJ2pzb24nLFxuICAvLyAgIGF2YWlsYWJsZTogZmFsc2VcbiAgLy8gfSxcbiAgLy8ge1xuICAvLyAgIGlkOiBFWFBPUlRfREFUQV9UWVBFLkdFT0pTT04sXG4gIC8vICAgbGFiZWw6ICdnZW9qc29uJyxcbiAgLy8gICBhdmFpbGFibGU6IGZhbHNlXG4gIC8vIH0sXG4gIC8vIHtcbiAgLy8gICBpZDogRVhQT1JUX0RBVEFfVFlQRS5UT1BPSlNPTixcbiAgLy8gICBsYWJlbDogJ3RvcG9qc29uJyxcbiAgLy8gICBhdmFpbGFibGU6IGZhbHNlXG4gIC8vIH1cbl07XG5cbi8vIEV4cG9ydCBtYXAgdHlwZXNcbmV4cG9ydCBjb25zdCBFWFBPUlRfTUFQX0ZPUk1BVFMgPSBrZXlNaXJyb3Ioe1xuICBIVE1MOiBudWxsLFxuICBKU09OOiBudWxsXG59KTtcblxuZXhwb3J0IGNvbnN0IEVYUE9SVF9IVE1MX01BUF9NT0RFUyA9IGtleU1pcnJvcih7XG4gIFJFQUQ6IG51bGwsXG4gIEVESVQ6IG51bGxcbn0pO1xuXG4vLyBFeHBvcnQgbWFwIG9wdGlvbnNcbmV4cG9ydCBjb25zdCBFWFBPUlRfTUFQX0ZPUk1BVF9PUFRJT05TID0gT2JqZWN0LmVudHJpZXMoRVhQT1JUX01BUF9GT1JNQVRTKS5tYXAoXG4gIChlbnRyeTogW3N0cmluZywgYW55XSkgPT4gKHtcbiAgICBpZDogZW50cnlbMF0sXG4gICAgbGFiZWw6IGVudHJ5WzFdLnRvTG93ZXJDYXNlKCksXG4gICAgYXZhaWxhYmxlOiB0cnVlXG4gIH0pXG4pO1xuXG5leHBvcnQgZnVuY3Rpb24gZ2V0SFRNTE1hcE1vZGVUaWxlVXJsKG1vZGU6IHN0cmluZyk6IHN0cmluZyB7XG4gIHJldHVybiBgaHR0cHM6Ly9kMWEzZjRzcGF6enJwNC5jbG91ZGZyb250Lm5ldC9rZXBsZXIuZ2wvZG9jdW1lbnRhdGlvbi9tYXAtJHttb2RlLnRvTG93ZXJDYXNlKCl9LW1vZGUucG5nYDtcbn1cblxuZXhwb3J0IGNvbnN0IEVYUE9SVF9IVE1MX01BUF9NT0RFX09QVElPTlMgPSBPYmplY3QuZW50cmllcyhFWFBPUlRfSFRNTF9NQVBfTU9ERVMpLm1hcChcbiAgKGVudHJ5OiBbc3RyaW5nLCBhbnldKSA9PiAoe1xuICAgIGlkOiBlbnRyeVswXSxcbiAgICBsYWJlbDogYG1vZGFsLmV4cG9ydE1hcC5odG1sLiR7ZW50cnlbMV0udG9Mb3dlckNhc2UoKX1gLFxuICAgIGF2YWlsYWJsZTogdHJ1ZSxcbiAgICB1cmw6IGdldEhUTUxNYXBNb2RlVGlsZVVybChlbnRyeVsxXSlcbiAgfSlcbik7XG5cbmV4cG9ydCBjb25zdCBERUZBVUxUX1VVSURfQ09VTlQgPSA2O1xuXG5leHBvcnQgY29uc3QgREVGQVVMVF9OT1RJRklDQVRJT05fTUVTU0FHRSA9ICdNRVNTQUdFX05PVF9QUk9WSURFRCc7XG5cbmV4cG9ydCBjb25zdCBERUZBVUxUX05PVElGSUNBVElPTl9UWVBFUyA9IGtleU1pcnJvcih7XG4gIGluZm86IG51bGwsXG4gIGVycm9yOiBudWxsLFxuICB3YXJuaW5nOiBudWxsLFxuICBzdWNjZXNzOiBudWxsXG59KTtcblxuZXhwb3J0IGNvbnN0IERFRkFVTFRfTk9USUZJQ0FUSU9OX1RPUElDUyA9IGtleU1pcnJvcih7XG4gIGdsb2JhbDogbnVsbCxcbiAgZmlsZTogbnVsbFxufSk7XG5cbi8vIE1pbmltdW0gdGltZSBiZXR3ZWVuIGlkZW50aWNhbCBub3RpZmljYXRpb25zIGFib3V0IGRlY2suZ2wgZXJyb3JzXG5leHBvcnQgY29uc3QgVEhST1RUTEVfTk9USUZJQ0FUSU9OX1RJTUUgPSAzMzA7XG5cbi8vIEFuaW1hdGlvblxuZXhwb3J0IGNvbnN0IEJBU0VfU1BFRUQgPSA2MDA7XG5leHBvcnQgY29uc3QgRlBTID0gNjA7XG5cbi8qKlxuICogNCBBbmltYXRpb24gV2luZG93IFR5cGVzXG4gKiAxLiBmcmVlXG4gKiAgfC0+ICB8LT5cbiAqIEN1cnJlbnQgdGltZSBpcyBhIGZpeGVkIHJhbmdlLCBhbmltYXRpb24gY29udHJvbGxlciBjYWxscyBuZXh0IGFuaW1hdGlvbiBmcmFtZXMgY29udGludW91c2x5IHRvIGFuaW1hdGlvbiBhIG1vdmluZyB3aW5kb3dcbiAqIFRoZSBpbmNyZW1lbnQgaWQgYmFzZWQgb24gZG9tYWluIC8gQkFTRV9TUEVFRCAqIFNQRUVEXG4gKlxuICogMi4gaW5jcmVtZW50YWxcbiAqIHwgICAgfC0+XG4gKiBTYW1lIGFzIGZyZWUsIGN1cnJlbnQgdGltZSBpcyBhIGdyb3dpbmcgcmFuZ2UsIG9ubHkgdGhlIG1heCB2YWx1ZSBvZiByYW5nZSBpbmNyZW1lbnQgZHVyaW5nIGFuaW1hdGlvbi5cbiAqIFRoZSBpbmNyZW1lbnQgaXMgYWxzbyBiYXNlZCBvbiBkb21haW4gLyBCQVNFX1NQRUVEICogU1BFRURcbiAqXG4gKiAzLiBwb2ludFxuICogbyAtPiBvXG4gKiBDdXJyZW50IHRpbWUgaXMgYSBwb2ludCwgYW5pbWF0aW9uIGNvbnRyb2xsZXIgY2FsbHMgbmV4dCBhbmltYXRpb24gZnJhbWUgY29udGludW91c2x5IHRvIGFuaW1hdGlvbiBhIG1vdmluZyBwb2ludFxuICogVGhlIGluY3JlbWVudCBpcyBiYXNlZCBvbiBkb21haW4gLyBCQVNFX1NQRUVEICogU1BFRURcbiAqXG4gKiA0LiBpbnRlcnZhbFxuICogbyB+PiBvXG4gKiBDdXJyZW50IHRpbWUgaXMgYSBwb2ludC4gQW4gYXJyYXkgb2Ygc29ydGVkIHRpbWUgc3RlcHMgbmVlZCB0byBiZSBwcm92aWRlZC5cbiAqIGFuaW1hdGlvbiBjb250cm9sbGVyIGNhbGxzIG5leHQgYW5pbWF0aW9uIGF0IGEgaW50ZXJ2YWwgd2hlbiB0aGUgcG9pbnQganVtcHMgdG8gdGhlIG5leHQgc3RlcFxuICovXG5leHBvcnQgY29uc3QgQU5JTUFUSU9OX1dJTkRPVyA9IGtleU1pcnJvcih7XG4gIGZyZWU6IG51bGwsXG4gIGluY3JlbWVudGFsOiBudWxsLFxuICBwb2ludDogbnVsbCxcbiAgaW50ZXJ2YWw6IG51bGxcbn0pO1xuZXhwb3J0IGNvbnN0IERFRkFVTFRfVElNRV9GT1JNQVQgPSAnTU0vREQvWVkgSEg6bW06c3NhJztcbmV4cG9ydCBjb25zdCBTUEVFRF9DT05UUk9MX1JBTkdFOiBbbnVtYmVyLCBudW1iZXJdID0gWzAsIDEwXTtcbmV4cG9ydCBjb25zdCBTUEVFRF9DT05UUk9MX1NURVAgPSAwLjAwMTtcblxuLy8gR2VvY29kZXJcbmV4cG9ydCBjb25zdCBHRU9DT0RFUl9EQVRBU0VUX05BTUUgPSAnZ2VvY29kZXJfZGF0YXNldCc7XG5leHBvcnQgY29uc3QgR0VPQ09ERVJfTEFZRVJfSUQgPSAnZ2VvY29kZXJfbGF5ZXInO1xuZXhwb3J0IGNvbnN0IEdFT0NPREVSX0dFT19PRkZTRVQgPSAwLjA1O1xuZXhwb3J0IGNvbnN0IEdFT0NPREVSX0lDT05fQ09MT1I6IFtudW1iZXIsIG51bWJlciwgbnVtYmVyXSA9IFsyNTUsIDAsIDBdO1xuZXhwb3J0IGNvbnN0IEdFT0NPREVSX0lDT05fU0laRSA9IDgwO1xuXG4vLyBFZGl0b3JcbmV4cG9ydCBjb25zdCBFRElUT1JfTEFZRVJfSUQgPSAna2VwbGVyX2VkaXRvcl9sYXllcic7XG5leHBvcnQgY29uc3QgRURJVE9SX0xBWUVSX1BJQ0tJTkdfUkFESVVTID0gNjtcbmV4cG9ydCBjb25zdCBFRElUT1JfTU9ERVMgPSB7XG4gIERSQVdfUE9MWUdPTjogJ0RSQVdfUE9MWUdPTicsXG4gIERSQVdfUkVDVEFOR0xFOiAnRFJBV19SRUNUQU5HTEUnLFxuICBFRElUOiAnRURJVF9WRVJURVgnXG59O1xuXG5leHBvcnQgY29uc3QgUExPVF9UWVBFUyA9IGtleU1pcnJvcih7XG4gIGhpc3RvZ3JhbTogbnVsbCxcbiAgbGluZUNoYXJ0OiBudWxsXG59KTtcblxuLy8gRmlsdGVyXG5leHBvcnQgY29uc3QgSU5JVF9GSUxURVJfSVRFTVNfSU5fRFJPUERPV04gPSAxMDA7XG5cbi8vIEdQVSBGaWx0ZXJpbmdcbi8qKlxuICogTWF4IG51bWJlciBvZiBmaWx0ZXIgdmFsdWUgYnVmZmVycyB0aGF0IGRlY2suZ2wgcHJvdmlkZXNcbiAqL1xuZXhwb3J0IGNvbnN0IE1BWF9HUFVfRklMVEVSUyA9IDQ7XG5leHBvcnQgY29uc3QgTUFQX1RIVU1CTkFJTF9ESU1FTlNJT04gPSB7XG4gIHdpZHRoOiAzMDAsXG4gIGhlaWdodDogMjAwXG59O1xuXG5leHBvcnQgY29uc3QgTUFQX0lORk9fQ0hBUkFDVEVSID0ge1xuICB0aXRsZTogMTAwLFxuICBkZXNjcmlwdGlvbjogMTAwXG59O1xuXG4vLyBMb2FkIGRhdGFcbmV4cG9ydCBjb25zdCBMT0FESU5HX01FVEhPRFMgPSBrZXlNaXJyb3Ioe1xuICB1cGxvYWQ6IG51bGwsXG4gIHN0b3JhZ2U6IG51bGwsXG4gIHRpbGVzZXQ6IG51bGxcbn0pO1xuXG5leHBvcnQgY29uc3QgREVGQVVMVF9GRUFUVVJFX0ZMQUdTID0ge307XG5cbmV4cG9ydCBjb25zdCBEQVRBU0VUX0ZPUk1BVFMgPSBrZXlNaXJyb3Ioe1xuICByb3c6IG51bGwsXG4gIGdlb2pzb246IG51bGwsXG4gIGNzdjogbnVsbCxcbiAga2VwbGVyZ2w6IG51bGwsXG4gIGFycm93OiBudWxsLFxuICBkdWNrZGI6IG51bGxcbn0pO1xuXG5leHBvcnQgY29uc3QgTUFQX0NPTlRST0xTID0ga2V5TWlycm9yKHtcbiAgdmlzaWJsZUxheWVyczogbnVsbCxcbiAgbWFwTGVnZW5kOiBudWxsLFxuICB0b2dnbGUzZDogbnVsbCxcbiAgc3BsaXRNYXA6IG51bGwsXG4gIG1hcERyYXc6IG51bGwsXG4gIG1hcExvY2FsZTogbnVsbCxcbiAgZWZmZWN0OiBudWxsLFxuICBhaUFzc2lzdGFudDogbnVsbFxufSk7XG5cbi8qKlxuICogQSBtdWx0aXBsaWVyIGZvciBzY3JlZW4tc3BhY2Ugd2lkdGgvc2NhbGUgZm9yIEFyYywgTGluZSwgSWNvbiBhbmQgVGV4dCBsYXllcnMuXG4gKiBSZXF1aXJlZCBpbiBvcmRlciB0byBtYWludGFpbiB0aGUgc2FtZSBhcHBlYXJhbmNlIGFmdGVyIHVwZ3JhZGluZyB0byBkZWNrLmdsIHY4LjUuXG4gKiBodHRwczovL2dpdGh1Yi5jb20vdmlzZ2wvZGVjay5nbC9ibG9iL21hc3Rlci9kb2NzL3VwZ3JhZGUtZ3VpZGUubWRcbiAqL1xuZXhwb3J0IGNvbnN0IFBST0pFQ1RFRF9QSVhFTF9TSVpFX01VTFRJUExJRVIgPSAyIC8gMztcblxuLyoqXG4gKiBNYXhpbXVtIHZhbHVlIGZvciB0ZXh0IG91dGxpbmUgd2lkdGhcbiAqL1xuZXhwb3J0IGNvbnN0IFRFWFRfT1VUTElORV9NVUxUSVBMSUVSID0gNTtcblxuZXhwb3J0IGNvbnN0IGRhdGFUZXN0SWRzOiBSZWNvcmQ8c3RyaW5nLCBzdHJpbmc+ID0ge1xuICBpbmZvSWNvbjogJ2luZm8taWNvbicsXG4gIHdhcm5pbmdJY29uOiAnd2FybmluZy1pY29uJyxcbiAgZXJyb3JJY29uOiAnZXJyb3ItaWNvbicsXG4gIHN1Y2Nlc3NJY29uOiAnc3VjY2Vzcy1pY29uJyxcbiAgY2hlY2ttYXJrSWNvbjogJ2NoZWNrbWFyay1pY29uJyxcbiAgc29ydGFibGVMYXllckl0ZW06ICdzb3J0YWJsZS1sYXllci1pdGVtJyxcbiAgc3RhdGljTGF5ZXJJdGVtOiAnc3RhdGljLWxheWVyLWl0ZW0nLFxuICBsYXllclRpdGxlRWRpdG9yOiAnbGF5ZXJfX3RpdGxlX19lZGl0b3InLFxuICByZW1vdmVMYXllckFjdGlvbjogJ3JlbW92ZS1sYXllci1hY3Rpb24nLFxuICBsYXllclBhbmVsOiAnbGF5ZXItcGFuZWwnLFxuICBzb3J0YWJsZUVmZmVjdEl0ZW06ICdzb3J0YWJsZS1lZmZlY3QtaXRlbScsXG4gIHN0YXRpY0VmZmVjdEl0ZW06ICdzdGF0aWMtZWZmZWN0LWl0ZW0nLFxuICBwcm92aWRlckxvYWRpbmc6ICdwcm92aWRlci1sb2FkaW5nJyxcbiAgcHJvdmlkZXJNYXBJbmZvUGFuZWw6ICdwcm92aWRlci1tYXAtaW5mby1wYW5lbCcsXG4gIHByb3ZpZGVyU2VsZWN0OiAncHJvdmlkZXItc2VsZWN0JyxcbiAgY2xvdWRIZWFkZXI6ICdjbG91ZC1oZWFkZXInLFxuICBwcm92aWRlclNoYXJlTWFwOiAncHJvdmlkZXItc2hhcmUtbWFwJ1xufTtcblxuLy8gRWZmZWN0c1xuZXhwb3J0IGNvbnN0IERFRkFVTFRfVElNRVpPTkUgPSAnVVRDJztcbmV4cG9ydCBjb25zdCBERUZBVUxUX1BPU1RfUFJPQ0VTU0lOR19FRkZFQ1RfVFlQRSA9ICdpbmsnO1xuXG5leHBvcnQgY29uc3QgREVGQVVMVF9MSUdIVF9DT0xPUjogW251bWJlciwgbnVtYmVyLCBudW1iZXJdID0gWzI1NSwgMjU1LCAyNTVdO1xuZXhwb3J0IGNvbnN0IERFRkFVTFRfTElHSFRfSU5URU5TSVRZID0gMTtcbmV4cG9ydCBjb25zdCBERUZBVUxUX1NIQURPV19JTlRFTlNJVFkgPSAwLjU7XG5leHBvcnQgY29uc3QgREVGQVVMVF9TSEFET1dfQ09MT1I6IFtudW1iZXIsIG51bWJlciwgbnVtYmVyXSA9IFswLCAwLCAwXTtcblxuZXhwb3J0IGNvbnN0IExJR0hUX0FORF9TSEFET1dfRUZGRUNUX1RJTUVfTU9ERVMgPSB7XG4gIHBpY2s6ICdwaWNrJyBhcyBjb25zdCxcbiAgY3VycmVudDogJ2N1cnJlbnQnIGFzIGNvbnN0LFxuICBhbmltYXRpb246ICdhbmltYXRpb24nIGFzIGNvbnN0XG59O1xuZXhwb3J0IHR5cGUgTGlnaHRBbmRTaGFkb3dFZmZlY3RUaW1lTW9kZSA9ICdwaWNrJyB8ICdjdXJyZW50JyB8ICdhbmltYXRpb24nO1xuZXhwb3J0IGNvbnN0IERFRkFVTFRfTElHSFRfQU5EX1NIQURPV19QUk9QUzoge1xuICB0aW1lc3RhbXA6IG51bWJlcjtcbiAgdGltZU1vZGU6IExpZ2h0QW5kU2hhZG93RWZmZWN0VGltZU1vZGU7XG4gIHNoYWRvd0ludGVuc2l0eTogbnVtYmVyO1xuICBzaGFkb3dDb2xvcjogW251bWJlciwgbnVtYmVyLCBudW1iZXJdO1xuICBzdW5MaWdodENvbG9yOiBbbnVtYmVyLCBudW1iZXIsIG51bWJlcl07XG4gIHN1bkxpZ2h0SW50ZW5zaXR5OiBudW1iZXI7XG4gIGFtYmllbnRMaWdodENvbG9yOiBbbnVtYmVyLCBudW1iZXIsIG51bWJlcl07XG4gIGFtYmllbnRMaWdodEludGVuc2l0eTogbnVtYmVyO1xufSA9IHtcbiAgdGltZXN0YW1wOiBEYXRlLm5vdygpLFxuICB0aW1lTW9kZTogTElHSFRfQU5EX1NIQURPV19FRkZFQ1RfVElNRV9NT0RFUy5waWNrIGFzIExpZ2h0QW5kU2hhZG93RWZmZWN0VGltZU1vZGUsXG4gIHNoYWRvd0ludGVuc2l0eTogREVGQVVMVF9TSEFET1dfSU5URU5TSVRZLFxuICBzaGFkb3dDb2xvcjogWy4uLkRFRkFVTFRfU0hBRE9XX0NPTE9SXSBhcyBbbnVtYmVyLCBudW1iZXIsIG51bWJlcl0sXG4gIHN1bkxpZ2h0Q29sb3I6IFsuLi5ERUZBVUxUX0xJR0hUX0NPTE9SXSBhcyBbbnVtYmVyLCBudW1iZXIsIG51bWJlcl0sXG4gIHN1bkxpZ2h0SW50ZW5zaXR5OiBERUZBVUxUX0xJR0hUX0lOVEVOU0lUWSxcbiAgYW1iaWVudExpZ2h0Q29sb3I6IFsuLi5ERUZBVUxUX0xJR0hUX0NPTE9SXSBhcyBbbnVtYmVyLCBudW1iZXIsIG51bWJlcl0sXG4gIGFtYmllbnRMaWdodEludGVuc2l0eTogREVGQVVMVF9MSUdIVF9JTlRFTlNJVFlcbn07XG5cbmV4cG9ydCBjb25zdCBMSUdIVF9BTkRfU0hBRE9XX0VGRkVDVDogRWZmZWN0RGVzY3JpcHRpb24gPSB7XG4gIHR5cGU6ICdsaWdodEFuZFNoYWRvdycsXG4gIG5hbWU6ICdMaWdodCAmIFNoYWRvdycsXG4gIHBhcmFtZXRlcnM6IFtcbiAgICB7bmFtZTogJ3RpbWVzdGFtcCcsIG1pbjogMCwgbWF4OiBOdW1iZXIuTUFYX1NBRkVfSU5URUdFUn0sXG4gICAge25hbWU6ICdzaGFkb3dJbnRlbnNpdHknLCBtaW46IDAsIG1heDogMSwgZGVmYXVsdFZhbHVlOiBERUZBVUxUX1NIQURPV19JTlRFTlNJVFl9LFxuICAgIHtuYW1lOiAnc3VuTGlnaHRJbnRlbnNpdHknLCBtaW46IDAsIG1heDogMSwgZGVmYXVsdFZhbHVlOiBERUZBVUxUX0xJR0hUX0lOVEVOU0lUWX0sXG4gICAge25hbWU6ICdhbWJpZW50TGlnaHRJbnRlbnNpdHknLCBtaW46IDAsIG1heDogMSwgZGVmYXVsdFZhbHVlOiBERUZBVUxUX0xJR0hUX0lOVEVOU0lUWX0sXG4gICAge25hbWU6ICdzaGFkb3dDb2xvcicsIHR5cGU6ICdjb2xvcicsIG1pbjogMCwgbWF4OiAyNTUsIGRlZmF1bHRWYWx1ZTogREVGQVVMVF9TSEFET1dfQ09MT1J9LFxuICAgIHtuYW1lOiAnc3VuTGlnaHRDb2xvcicsIHR5cGU6ICdjb2xvcicsIG1pbjogMCwgbWF4OiAyNTUsIGRlZmF1bHRWYWx1ZTogREVGQVVMVF9MSUdIVF9DT0xPUn0sXG4gICAge25hbWU6ICdhbWJpZW50TGlnaHRDb2xvcicsIHR5cGU6ICdjb2xvcicsIG1pbjogMCwgbWF4OiAyNTUsIGRlZmF1bHRWYWx1ZTogREVGQVVMVF9MSUdIVF9DT0xPUn1cbiAgXVxufTtcblxuZXhwb3J0IGNvbnN0IERJU1RBTkNFX0ZPR19UWVBFID0gJ2Rpc3RhbmNlRm9nJztcbmV4cG9ydCBjb25zdCBTVVJGQUNFX0ZPR19UWVBFID0gJ3N1cmZhY2VGb2cnO1xuXG5leHBvcnQgY29uc3QgUE9TVFBST0NFU1NJTkdfRUZGRUNUUzoge1trZXk6IHN0cmluZ106IEVmZmVjdERlc2NyaXB0aW9ufSA9IHtcbiAgaW5rOiB7XG4gICAgdHlwZTogJ2luaycsXG4gICAgbmFtZTogJ0luaycsXG4gICAgcGFyYW1ldGVyczogW3tuYW1lOiAnc3RyZW5ndGgnLCBtaW46IDAsIG1heDogMX1dXG4gIH0sXG4gIGJyaWdodG5lc3NDb250cmFzdDoge1xuICAgIHR5cGU6ICdicmlnaHRuZXNzQ29udHJhc3QnLFxuICAgIG5hbWU6ICdCcmlnaHRuZXNzICYgQ29udHJhc3QnLFxuICAgIHBhcmFtZXRlcnM6IFtcbiAgICAgIHtuYW1lOiAnYnJpZ2h0bmVzcycsIG1pbjogLTEsIG1heDogMX0sXG4gICAgICB7bmFtZTogJ2NvbnRyYXN0JywgbWluOiAtMSwgbWF4OiAxfVxuICAgIF1cbiAgfSxcbiAgaHVlU2F0dXJhdGlvbjoge1xuICAgIHR5cGU6ICdodWVTYXR1cmF0aW9uJyxcbiAgICBuYW1lOiAnSHVlICYgU2F0dXJhdGlvbicsXG4gICAgcGFyYW1ldGVyczogW1xuICAgICAge25hbWU6ICdodWUnLCBtaW46IC0xLCBtYXg6IDF9LFxuICAgICAge25hbWU6ICdzYXR1cmF0aW9uJywgZGVmYXVsdFZhbHVlOiAwLjI1LCBtaW46IC0xLCBtYXg6IDF9XG4gICAgXVxuICB9LFxuICB2aWJyYW5jZToge1xuICAgIHR5cGU6ICd2aWJyYW5jZScsXG4gICAgbmFtZTogJ1ZpYnJhbmNlJyxcbiAgICBwYXJhbWV0ZXJzOiBbe25hbWU6ICdhbW91bnQnLCBkZWZhdWx0VmFsdWU6IDAuNSwgbWluOiAtMSwgbWF4OiAxfV1cbiAgfSxcbiAgc2VwaWE6IHtcbiAgICB0eXBlOiAnc2VwaWEnLFxuICAgIG5hbWU6ICdTZXBpYScsXG4gICAgcGFyYW1ldGVyczogW3tuYW1lOiAnYW1vdW50JywgbWluOiAwLCBtYXg6IDF9XVxuICB9LFxuICBkb3RTY3JlZW46IHtcbiAgICB0eXBlOiAnZG90U2NyZWVuJyxcbiAgICBuYW1lOiAnRG90IFNjcmVlbicsXG4gICAgcGFyYW1ldGVyczogW1xuICAgICAge1xuICAgICAgICBuYW1lOiAnYW5nbGUnLFxuICAgICAgICBtaW46IDAsXG4gICAgICAgIG1heDogTWF0aC5QSSAvIDJcbiAgICAgIH0sXG4gICAgICB7XG4gICAgICAgIG5hbWU6ICdzaXplJyxcbiAgICAgICAgbWluOiAxLFxuICAgICAgICBtYXg6IDIwXG4gICAgICB9LFxuICAgICAge1xuICAgICAgICBuYW1lOiAnY2VudGVyJyxcbiAgICAgICAgdHlwZTogJ2FycmF5JyxcbiAgICAgICAgbGFiZWw6IFsnQ2VudGVyIFgnLCAnQ2VudGVyIFknXSxcbiAgICAgICAgZGVmYXVsdFZhbHVlOiBbMC41LCAwLjVdLFxuICAgICAgICBtaW46IDAsXG4gICAgICAgIG1heDogMVxuICAgICAgfVxuICAgIF1cbiAgfSxcbiAgY29sb3JIYWxmdG9uZToge1xuICAgIHR5cGU6ICdjb2xvckhhbGZ0b25lJyxcbiAgICBuYW1lOiAnQ29sb3IgSGFsZnRvbmUnLFxuICAgIHBhcmFtZXRlcnM6IFtcbiAgICAgIHtcbiAgICAgICAgbmFtZTogJ2FuZ2xlJyxcbiAgICAgICAgbWluOiAwLFxuICAgICAgICBtYXg6IE1hdGguUEkgLyAyXG4gICAgICB9LFxuICAgICAge1xuICAgICAgICBuYW1lOiAnc2l6ZScsXG4gICAgICAgIG1pbjogMSxcbiAgICAgICAgbWF4OiAyMFxuICAgICAgfSxcbiAgICAgIHtcbiAgICAgICAgbmFtZTogJ2NlbnRlcicsXG4gICAgICAgIHR5cGU6ICdhcnJheScsXG4gICAgICAgIGxhYmVsOiBbJ0NlbnRlciBYJywgJ0NlbnRlciBZJ10sXG4gICAgICAgIGRlZmF1bHRWYWx1ZTogWzAuNSwgMC41XSxcbiAgICAgICAgbWluOiAwLFxuICAgICAgICBtYXg6IDFcbiAgICAgIH1cbiAgICBdXG4gIH0sXG4gIG5vaXNlOiB7XG4gICAgdHlwZTogJ25vaXNlJyxcbiAgICBuYW1lOiAnTm9pc2UnLFxuICAgIHBhcmFtZXRlcnM6IFt7bmFtZTogJ2Ftb3VudCcsIG1pbjogMCwgbWF4OiAxfV1cbiAgfSxcbiAgdHJpYW5nbGVCbHVyOiB7XG4gICAgdHlwZTogJ3RyaWFuZ2xlQmx1cicsXG4gICAgbmFtZTogJ0JsdXIgKFRyaWFuZ2xlKScsXG4gICAgcGFyYW1ldGVyczogW3tuYW1lOiAncmFkaXVzJywgbWluOiAwLCBtYXg6IDEwMH1dXG4gIH0sXG4gIHpvb21CbHVyOiB7XG4gICAgdHlwZTogJ3pvb21CbHVyJyxcbiAgICBuYW1lOiAnQmx1ciAoWm9vbSknLFxuICAgIHBhcmFtZXRlcnM6IFtcbiAgICAgIHtcbiAgICAgICAgbmFtZTogJ3N0cmVuZ3RoJyxcbiAgICAgICAgZGVmYXVsdFZhbHVlOiAwLjA1LFxuICAgICAgICBtaW46IDAsXG4gICAgICAgIG1heDogMVxuICAgICAgfSxcbiAgICAgIHtcbiAgICAgICAgbmFtZTogJ2NlbnRlcicsXG4gICAgICAgIHR5cGU6ICdhcnJheScsXG4gICAgICAgIGxhYmVsOiBbJ0NlbnRlciBYJywgJ0NlbnRlciBZJ10sXG4gICAgICAgIGRlZmF1bHRWYWx1ZTogWzAuNSwgMC41XSxcbiAgICAgICAgbWluOiAwLFxuICAgICAgICBtYXg6IDFcbiAgICAgIH1cbiAgICBdXG4gIH0sXG4gIHRpbHRTaGlmdDoge1xuICAgIHR5cGU6ICd0aWx0U2hpZnQnLFxuICAgIG5hbWU6ICdCbHVyIChUaWx0IFNoaWZ0KScsXG4gICAgcGFyYW1ldGVyczogW1xuICAgICAge1xuICAgICAgICBuYW1lOiAnYmx1clJhZGl1cycsXG4gICAgICAgIGxhYmVsOiAnQmx1cicsXG4gICAgICAgIG1pbjogMCxcbiAgICAgICAgbWF4OiA1MFxuICAgICAgfSxcbiAgICAgIHtcbiAgICAgICAgbmFtZTogJ2dyYWRpZW50UmFkaXVzJyxcbiAgICAgICAgbGFiZWw6ICdHcmFkaWVudCcsXG4gICAgICAgIG1pbjogMCxcbiAgICAgICAgbWF4OiA0MDBcbiAgICAgIH0sXG4gICAgICB7XG4gICAgICAgIG5hbWU6ICdzdGFydCcsXG4gICAgICAgIHR5cGU6ICdhcnJheScsXG4gICAgICAgIGxhYmVsOiBbJ1N0YXJ0JywgZmFsc2VdLFxuICAgICAgICBkZWZhdWx0VmFsdWU6IFswLjAsIDAuMF0sXG4gICAgICAgIG1pbjogMCxcbiAgICAgICAgbWF4OiAxXG4gICAgICB9LFxuICAgICAge1xuICAgICAgICBuYW1lOiAnZW5kJyxcbiAgICAgICAgdHlwZTogJ2FycmF5JyxcbiAgICAgICAgbGFiZWw6IFsnRW5kJywgZmFsc2VdLFxuICAgICAgICBkZWZhdWx0VmFsdWU6IFsxLCAxXSxcbiAgICAgICAgbWluOiAwLFxuICAgICAgICBtYXg6IDFcbiAgICAgIH1cbiAgICBdXG4gIH0sXG4gIGVkZ2VXb3JrOiB7XG4gICAgdHlwZTogJ2VkZ2VXb3JrJyxcbiAgICBuYW1lOiAnRWRnZSB3b3JrJyxcbiAgICBwYXJhbWV0ZXJzOiBbe25hbWU6ICdyYWRpdXMnLCBtaW46IDEsIG1heDogNTB9XVxuICB9LFxuICB2aWduZXR0ZToge1xuICAgIHR5cGU6ICd2aWduZXR0ZScsXG4gICAgbmFtZTogJ1ZpZ25ldHRlJyxcbiAgICBwYXJhbWV0ZXJzOiBbXG4gICAgICB7bmFtZTogJ2Ftb3VudCcsIG1pbjogMCwgbWF4OiAxfSxcbiAgICAgIHtuYW1lOiAncmFkaXVzJywgbWluOiAwLCBtYXg6IDF9XG4gICAgXVxuICB9LFxuICBtYWduaWZ5OiB7XG4gICAgdHlwZTogJ21hZ25pZnknLFxuICAgIG5hbWU6ICdNYWduaWZ5JyxcbiAgICBwYXJhbWV0ZXJzOiBbXG4gICAgICB7XG4gICAgICAgIG5hbWU6ICdzY3JlZW5YWScsXG4gICAgICAgIHR5cGU6ICdhcnJheScsXG4gICAgICAgIGxhYmVsOiBbJ1Bvc2l0aW9uIFgnLCAnUG9zaXRpb24gWSddLFxuICAgICAgICBkZWZhdWx0VmFsdWU6IFswLjUsIDAuNV0sXG4gICAgICAgIG1pbjogMCxcbiAgICAgICAgbWF4OiAxXG4gICAgICB9LFxuICAgICAge1xuICAgICAgICBuYW1lOiAncmFkaXVzUGl4ZWxzJyxcbiAgICAgICAgbGFiZWw6ICdTaXplJyxcbiAgICAgICAgbWluOiAxMCxcbiAgICAgICAgbWF4OiA1MDBcbiAgICAgIH0sXG4gICAgICB7XG4gICAgICAgIG5hbWU6ICd6b29tJyxcbiAgICAgICAgbWluOiAwLjUsXG4gICAgICAgIG1heDogNTBcbiAgICAgIH0sXG4gICAgICB7XG4gICAgICAgIG5hbWU6ICdib3JkZXJXaWR0aFBpeGVscycsXG4gICAgICAgIGxhYmVsOiAnQm9yZGVyIFdpZHRoJyxcbiAgICAgICAgZGVmYXVsdFZhbHVlOiAzLFxuICAgICAgICBtaW46IDAsXG4gICAgICAgIG1heDogNTBcbiAgICAgIH1cbiAgICBdXG4gIH0sXG4gIGhleGFnb25hbFBpeGVsYXRlOiB7XG4gICAgdHlwZTogJ2hleGFnb25hbFBpeGVsYXRlJyxcbiAgICBuYW1lOiAnSGV4YWdvbmFsIFBpeGVsYXRlJyxcbiAgICBwYXJhbWV0ZXJzOiBbe25hbWU6ICdzY2FsZScsIGRlZmF1bHRWYWx1ZTogMjAsIG1pbjogMSwgbWF4OiA1MH1dXG4gIH0sXG4gIGRpc3RhbmNlRm9nOiB7XG4gICAgdHlwZTogRElTVEFOQ0VfRk9HX1RZUEUsXG4gICAgbmFtZTogJ0Rpc3RhbmNlIEZvZycsXG4gICAgcGFyYW1ldGVyczogW1xuICAgICAge25hbWU6ICdkZW5zaXR5JywgZGVmYXVsdFZhbHVlOiAwLjUsIG1pbjogMCwgbWF4OiAxfSxcbiAgICAgIHtuYW1lOiAnZm9nU3RhcnQnLCBsYWJlbDogJ1N0YXJ0JywgZGVmYXVsdFZhbHVlOiAwLjMsIG1pbjogMCwgbWF4OiAxfSxcbiAgICAgIHtuYW1lOiAnZm9nUmFuZ2UnLCBsYWJlbDogJ1JhbmdlJywgZGVmYXVsdFZhbHVlOiAwLjUsIG1pbjogMC4wMSwgbWF4OiAxfSxcbiAgICAgIHtuYW1lOiAnZm9nQ29sb3InLCB0eXBlOiAnY29sb3InLCBtaW46IDAsIG1heDogMjU1LCBkZWZhdWx0VmFsdWU6IFsyMTcsIDIyMiwgMjMwXX1cbiAgICBdXG4gIH0sXG4gIHN1cmZhY2VGb2c6IHtcbiAgICB0eXBlOiBTVVJGQUNFX0ZPR19UWVBFLFxuICAgIG5hbWU6ICdTdXJmYWNlIEZvZycsXG4gICAgcGFyYW1ldGVyczogW1xuICAgICAge25hbWU6ICdkZW5zaXR5JywgZGVmYXVsdFZhbHVlOiAwLjYsIG1pbjogMCwgbWF4OiAxfSxcbiAgICAgIHtuYW1lOiAnaGVpZ2h0JywgbGFiZWw6ICdFbGV2YXRpb24gKG0pJywgZGVmYXVsdFZhbHVlOiAxMDAsIG1pbjogLTIwMCwgbWF4OiAzMDAwfSxcbiAgICAgIHtuYW1lOiAndGhpY2tuZXNzJywgbGFiZWw6ICdUcmFuc2l0aW9uIChtKScsIGRlZmF1bHRWYWx1ZTogMjAwLCBtaW46IDAsIG1heDogMTAwMH0sXG4gICAgICB7bmFtZTogJ2ZvZ0NvbG9yJywgdHlwZTogJ2NvbG9yJywgbWluOiAwLCBtYXg6IDI1NSwgZGVmYXVsdFZhbHVlOiBbMjMwLCAyMzUsIDI0Ml19XG4gICAgXVxuICB9XG59O1xuXG5leHBvcnQgY29uc3QgRUZGRUNUX0RFU0NSSVBUSU9OUzogRWZmZWN0RGVzY3JpcHRpb25bXSA9IFtcbiAgTElHSFRfQU5EX1NIQURPV19FRkZFQ1QsXG4gIC4uLk9iamVjdC5rZXlzKFBPU1RQUk9DRVNTSU5HX0VGRkVDVFMpLm1hcChrZXlOYW1lID0+IFBPU1RQUk9DRVNTSU5HX0VGRkVDVFNba2V5TmFtZV0pXG5dO1xuXG5leHBvcnQgdHlwZSBFZmZlY3RUeXBlID1cbiAgfCAnaW5rJ1xuICB8ICdicmlnaHRuZXNzQ29udHJhc3QnXG4gIHwgJ2h1ZVNhdHVyYXRpb24nXG4gIHwgJ3ZpYnJhbmNlJ1xuICB8ICdzZXBpYSdcbiAgfCAnZG90U2NyZWVuJ1xuICB8ICdjb2xvckhhbGZ0b25lJ1xuICB8ICdub2lzZSdcbiAgfCAndHJpYW5nbGVCbHVyJ1xuICB8ICd6b29tQmx1cidcbiAgfCAndGlsdFNoaWZ0J1xuICB8ICdlZGdlV29yaydcbiAgfCAndmlnbmV0dGUnXG4gIHwgJ21hZ25pZnknXG4gIHwgJ2hleGFnb25hbFBpeGVsYXRlJ1xuICB8ICdkaXN0YW5jZUZvZydcbiAgfCAnc3VyZmFjZUZvZydcbiAgfCAnbGlnaHRBbmRTaGFkb3cnO1xuXG5leHBvcnQgY29uc3QgU1lOQ19USU1FTElORV9NT0RFUzogUmVjb3JkPHN0cmluZywgU3luY1RpbWVsaW5lTW9kZT4gPSB7XG4gIHN0YXJ0OiAwLFxuICBlbmQ6IDFcbn07XG5cbmV4cG9ydCBjb25zdCBHRU9BUlJPV19NRVRBREFUQV9LRVkgPSAnQVJST1c6ZXh0ZW5zaW9uOm5hbWUnO1xuXG4vKipcbiAqIEVudW0gaG9sZGluZyBHZW9BcnJvdyBleHRlbnNpb24gdHlwZSBuYW1lc1xuICovXG5leHBvcnQgZW51bSBHRU9BUlJPV19FWFRFTlNJT05TIHtcbiAgUE9JTlQgPSAnZ2VvYXJyb3cucG9pbnQnLFxuICBMSU5FU1RSSU5HID0gJ2dlb2Fycm93LmxpbmVzdHJpbmcnLFxuICBQT0xZR09OID0gJ2dlb2Fycm93LnBvbHlnb24nLFxuICBNVUxUSVBPSU5UID0gJ2dlb2Fycm93Lm11bHRpcG9pbnQnLFxuICBNVUxUSUxJTkVTVFJJTkcgPSAnZ2VvYXJyb3cubXVsdGlsaW5lc3RyaW5nJyxcbiAgTVVMVElQT0xZR09OID0gJ2dlb2Fycm93Lm11bHRpcG9seWdvbicsXG4gIFdLQiA9ICdnZW9hcnJvdy53a2InXG59XG5cbmV4cG9ydCBjb25zdCBMT0FERVJTX0NETl9WRVJTSU9OID0gJzQuMy4yJztcbmV4cG9ydCBjb25zdCBMT0FERVJTX0NETl9VUkwgPSAnaHR0cHM6Ly91bnBrZy5jb20vQGxvYWRlcnMuZ2wnO1xuXG5leHBvcnQgY29uc3QgZ2V0TG9hZGVyT3B0aW9ucyA9ICgpID0+IHtcbiAgcmV0dXJuIHtcbiAgICBtdnQ6IHtcbiAgICAgIHdvcmtlclVybDogYCR7TE9BREVSU19DRE5fVVJMfS9tdnRAJHtMT0FERVJTX0NETl9WRVJTSU9OfS9kaXN0L212dC13b3JrZXIuanNgXG4gICAgfSxcbiAgICAncXVhbnRpemVkLW1lc2gnOiB7XG4gICAgICB3b3JrZXJVcmw6IGAke0xPQURFUlNfQ0ROX1VSTH0vdGVycmFpbkAke0xPQURFUlNfQ0ROX1ZFUlNJT059L2Rpc3QvcXVhbnRpemVkLW1lc2gtd29ya2VyLmpzYFxuICAgIH0sXG4gICAgbnB5OiB7XG4gICAgICB3b3JrZXJVcmw6IGAke0xPQURFUlNfQ0ROX1VSTH0vdGV4dHVyZXNAJHtMT0FERVJTX0NETl9WRVJTSU9OfS9kaXN0L25weS13b3JrZXIuanNgXG4gICAgfVxuICB9O1xufTtcbiJdLCJtYXBwaW5ncyI6Ijs7Ozs7Ozs7Ozs7OztBQUdBLElBQUFBLFVBQUEsR0FBQUMsc0JBQUEsQ0FBQUMsT0FBQTtBQVVBLElBQUFDLFFBQUEsR0FBQUQsT0FBQTtBQVVBLElBQUFFLFFBQUEsR0FBQUYsT0FBQTtBQUErQyxJQUFBRyxtQkFBQSxFQUFBQyxXQUFBLEVBdkIvQztBQUNBO0FBQUEsU0FBQUMsUUFBQUMsQ0FBQSxFQUFBQyxDQUFBLFFBQUFDLENBQUEsR0FBQUMsTUFBQSxDQUFBQyxJQUFBLENBQUFKLENBQUEsT0FBQUcsTUFBQSxDQUFBRSxxQkFBQSxRQUFBQyxDQUFBLEdBQUFILE1BQUEsQ0FBQUUscUJBQUEsQ0FBQUwsQ0FBQSxHQUFBQyxDQUFBLEtBQUFLLENB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