@sabstravtech/obtservices 0.0.3 → 0.0.19020100
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/angular/fetchers.d.ts +1 -0
- package/angular/lib/vendor/classes/helpers.d.ts +6 -3
- package/angular/lib/vendor/fetchers/conferma-office.fetcher.d.ts +6 -0
- package/angular/lib/vendor/fetchers/search-irl-stations.fetcher.d.ts +7 -0
- package/angular/lib/vendor/services/search.service.d.ts +5 -3
- package/angular/lib/vendor/types/graphql.angular.types.d.ts +268 -6
- package/angular/obtservices.module.d.ts +1 -1
- package/angular/sabstravtech-obtservices-angular.d.ts +6 -5
- package/angular/sabstravtech-obtservices-angular.metadata.json +1 -1
- package/base/fetchers.d.ts +2 -0
- package/base/lib/vendor/classes/base-enterprise.d.ts +4 -0
- package/base/lib/vendor/classes/bookable-basket.d.ts +1 -1
- package/base/lib/vendor/classes/cabhire-enterprise-search.d.ts +6 -1
- package/base/lib/vendor/classes/carhire-enterprise-search.d.ts +2 -1
- package/base/lib/vendor/classes/eurostar-enterprise-search.d.ts +21 -5
- package/base/lib/vendor/classes/flight-enterprise-search.d.ts +22 -75
- package/base/lib/vendor/classes/helpers.d.ts +3 -0
- package/base/lib/vendor/classes/hotel-enterprise-search.d.ts +1 -0
- package/base/lib/vendor/classes/irl-enterprise-search.d.ts +21 -10
- package/base/lib/vendor/classes/lounges-enterprise-search.d.ts +1 -0
- package/base/lib/vendor/classes/parking-enterprise-search.d.ts +1 -0
- package/base/lib/vendor/classes/rail-enterprise-search.d.ts +1 -0
- package/base/lib/vendor/fetchers/conferma-office.fetcher.d.ts +20 -0
- package/base/lib/vendor/fetchers/irl-quote-fetcher.d.ts +1 -1
- package/base/lib/vendor/fetchers/search-irl-stations.fetcher.d.ts +20 -0
- package/base/lib/vendor/interfaces/Icabhire-enterprise-search.d.ts +1 -0
- package/base/lib/vendor/interfaces/Ienterprise-basket.service.d.ts +1 -1
- package/base/lib/vendor/interfaces/Ieurostar-enterprise-search.d.ts +4 -35
- package/base/lib/vendor/interfaces/Iflight-enterprise-search.d.ts +4 -40
- package/base/lib/vendor/interfaces/Iirl-enterprise-search.d.ts +9 -2
- package/base/lib/vendor/interfaces/Isearch.service.d.ts +3 -1
- package/base/lib/vendor/interfaces/flight-filters.interface.d.ts +21 -25
- package/base/lib/vendor/interfaces/hotel-recent-search-args.interface.d.ts +23 -0
- package/base/lib/vendor/interfaces/value-display.d.ts +2 -2
- package/base/lib/vendor/models/traveller.object.d.ts +7 -0
- package/base/lib/vendor/services/enterprise-basket.service.d.ts +1 -1
- package/base/lib/vendor/services/search.service.d.ts +10 -3
- package/base/lib/vendor/types/graphql.types.d.ts +253 -6
- package/base/lib/vendor/types/types.d.ts +11 -2
- package/base/sabstravtech-obtservices-base.metadata.json +1 -1
- package/bundles/sabstravtech-obtservices-angular.umd.js +200 -64
- package/bundles/sabstravtech-obtservices-angular.umd.js.map +1 -1
- package/bundles/sabstravtech-obtservices-angular.umd.min.js +1 -1
- package/bundles/sabstravtech-obtservices-angular.umd.min.js.map +1 -1
- package/bundles/sabstravtech-obtservices-base.umd.js +1632 -1085
- package/bundles/sabstravtech-obtservices-base.umd.js.map +1 -1
- package/bundles/sabstravtech-obtservices-base.umd.min.js +2 -2
- package/bundles/sabstravtech-obtservices-base.umd.min.js.map +1 -1
- package/esm2015/angular/fetchers.js +2 -1
- package/esm2015/angular/lib/vendor/classes/helpers.js +25 -4
- package/esm2015/angular/lib/vendor/fetchers/conferma-office.fetcher.js +22 -0
- package/esm2015/angular/lib/vendor/fetchers/search-irl-stations.fetcher.js +25 -0
- package/esm2015/angular/lib/vendor/services/search.service.js +35 -29
- package/esm2015/angular/lib/vendor/types/graphql.angular.types.js +174 -6
- package/esm2015/angular/obtservices.module.js +3 -3
- package/esm2015/angular/sabstravtech-obtservices-angular.js +7 -6
- package/esm2015/base/fetchers.js +3 -1
- package/esm2015/base/lib/vendor/classes/base-enterprise.js +49 -2
- package/esm2015/base/lib/vendor/classes/bookable-basket.js +2 -2
- package/esm2015/base/lib/vendor/classes/cabhire-enterprise-search.js +95 -15
- package/esm2015/base/lib/vendor/classes/carhire-enterprise-search.js +2 -1
- package/esm2015/base/lib/vendor/classes/eurostar-enterprise-search.js +262 -52
- package/esm2015/base/lib/vendor/classes/flight-enterprise-search.js +439 -713
- package/esm2015/base/lib/vendor/classes/helpers.js +239 -24
- package/esm2015/base/lib/vendor/classes/hotel-enterprise-search.js +74 -70
- package/esm2015/base/lib/vendor/classes/irl-enterprise-search.js +153 -118
- package/esm2015/base/lib/vendor/classes/lounges-enterprise-search.js +2 -1
- package/esm2015/base/lib/vendor/classes/management-info-and-valid.js +58 -1
- package/esm2015/base/lib/vendor/classes/parking-enterprise-search.js +6 -3
- package/esm2015/base/lib/vendor/classes/rail-enterprise-search.js +2 -1
- package/esm2015/base/lib/vendor/fetchers/conferma-office.fetcher.js +11 -0
- package/esm2015/base/lib/vendor/fetchers/irl-quote-fetcher.js +2 -2
- package/esm2015/base/lib/vendor/fetchers/search-irl-stations.fetcher.js +11 -0
- package/esm2015/base/lib/vendor/interfaces/Icabhire-enterprise-search.js +1 -1
- package/esm2015/base/lib/vendor/interfaces/Ienterprise-basket.service.js +1 -1
- package/esm2015/base/lib/vendor/interfaces/Ieurostar-enterprise-search.js +1 -1
- package/esm2015/base/lib/vendor/interfaces/Iflight-enterprise-search.js +43 -2
- package/esm2015/base/lib/vendor/interfaces/Iirl-enterprise-search.js +1 -1
- package/esm2015/base/lib/vendor/interfaces/Isearch.service.js +1 -1
- package/esm2015/base/lib/vendor/interfaces/flight-filters.interface.js +2 -1
- package/esm2015/base/lib/vendor/interfaces/hotel-recent-search-args.interface.js +2 -0
- package/esm2015/base/lib/vendor/interfaces/value-display.js +1 -1
- package/esm2015/base/lib/vendor/models/traveller.object.js +8 -1
- package/esm2015/base/lib/vendor/services/enterprise-basket.service.js +3 -2
- package/esm2015/base/lib/vendor/services/search.service.js +67 -12
- package/esm2015/base/lib/vendor/types/graphql.types.js +13 -2
- package/esm2015/base/lib/vendor/types/types.js +1 -1
- package/fesm2015/sabstravtech-obtservices-angular.js +238 -16
- package/fesm2015/sabstravtech-obtservices-angular.js.map +1 -1
- package/fesm2015/sabstravtech-obtservices-base.js +1561 -1045
- package/fesm2015/sabstravtech-obtservices-base.js.map +1 -1
- package/package.json +4 -4
|
@@ -333,9 +333,10 @@ export var FlightCabinClass;
|
|
|
333
333
|
(function (FlightCabinClass) {
|
|
334
334
|
FlightCabinClass["Any"] = "Any";
|
|
335
335
|
FlightCabinClass["LiteEconomy"] = "LiteEconomy";
|
|
336
|
+
FlightCabinClass["Economy"] = "Economy";
|
|
336
337
|
FlightCabinClass["EconomyRestricted"] = "EconomyRestricted";
|
|
337
338
|
FlightCabinClass["EconomyNoBags"] = "EconomyNoBags";
|
|
338
|
-
FlightCabinClass["
|
|
339
|
+
FlightCabinClass["EconomyFlexi"] = "EconomyFlexi";
|
|
339
340
|
FlightCabinClass["PremiumEconomy"] = "PremiumEconomy";
|
|
340
341
|
FlightCabinClass["Business"] = "Business";
|
|
341
342
|
FlightCabinClass["PremiumBusiness"] = "PremiumBusiness";
|
|
@@ -371,6 +372,15 @@ export var IrlTravellerStatus;
|
|
|
371
372
|
IrlTravellerStatus["Placeholder"] = "placeholder";
|
|
372
373
|
IrlTravellerStatus["Complete"] = "complete";
|
|
373
374
|
})(IrlTravellerStatus || (IrlTravellerStatus = {}));
|
|
375
|
+
export var MessageTarget;
|
|
376
|
+
(function (MessageTarget) {
|
|
377
|
+
MessageTarget["Login"] = "LOGIN";
|
|
378
|
+
MessageTarget["SearchForm"] = "SEARCH_FORM";
|
|
379
|
+
MessageTarget["Results"] = "RESULTS";
|
|
380
|
+
MessageTarget["MiForm"] = "MI_FORM";
|
|
381
|
+
MessageTarget["BasketBeforeConfirm"] = "BASKET_BEFORE_CONFIRM";
|
|
382
|
+
MessageTarget["Dashboard"] = "DASHBOARD";
|
|
383
|
+
})(MessageTarget || (MessageTarget = {}));
|
|
374
384
|
export var PassengerType;
|
|
375
385
|
(function (PassengerType) {
|
|
376
386
|
PassengerType["Adult"] = "ADULT";
|
|
@@ -456,6 +466,7 @@ export var UiPresentation;
|
|
|
456
466
|
(function (UiPresentation) {
|
|
457
467
|
UiPresentation["FreeText"] = "FREE_TEXT";
|
|
458
468
|
UiPresentation["AutoSuggest"] = "AUTO_SUGGEST";
|
|
469
|
+
UiPresentation["Dropdown"] = "DROPDOWN";
|
|
459
470
|
UiPresentation["Hidden"] = "HIDDEN";
|
|
460
471
|
})(UiPresentation || (UiPresentation = {}));
|
|
461
472
|
export const OwnerFieldsFragmentDoc = gql `
|
|
@@ -655,15 +666,12 @@ export const GroupedFieldsFragmentDoc = gql `
|
|
|
655
666
|
minPrice
|
|
656
667
|
maxPrice
|
|
657
668
|
flights {
|
|
658
|
-
LiteEconomy
|
|
659
669
|
EconomyRestricted
|
|
660
670
|
EconomyNoBags
|
|
661
|
-
|
|
671
|
+
EconomyFlexi
|
|
662
672
|
PremiumEconomy
|
|
663
673
|
Business
|
|
664
|
-
PremiumBusiness
|
|
665
674
|
First
|
|
666
|
-
PremiumFirst
|
|
667
675
|
}
|
|
668
676
|
}
|
|
669
677
|
`;
|
|
@@ -2100,6 +2108,74 @@ GetCarHireDepotsGQL.decorators = [
|
|
|
2100
2108
|
GetCarHireDepotsGQL.ctorParameters = () => [
|
|
2101
2109
|
{ type: Apollo.Apollo }
|
|
2102
2110
|
];
|
|
2111
|
+
export const GetConfermaOfficeDocument = gql `
|
|
2112
|
+
query getConfermaOffice($officeId: Int!) {
|
|
2113
|
+
getConfermaOffice(officeId: $officeId) {
|
|
2114
|
+
results {
|
|
2115
|
+
id
|
|
2116
|
+
name
|
|
2117
|
+
address {
|
|
2118
|
+
addressName
|
|
2119
|
+
addressLine1
|
|
2120
|
+
addressLine2
|
|
2121
|
+
addressLine3
|
|
2122
|
+
postalCode
|
|
2123
|
+
city
|
|
2124
|
+
countryCode
|
|
2125
|
+
countryName
|
|
2126
|
+
telephoneNumber
|
|
2127
|
+
facsimileNumber
|
|
2128
|
+
emailAddress
|
|
2129
|
+
stateProvince
|
|
2130
|
+
mobileNumber
|
|
2131
|
+
}
|
|
2132
|
+
closestAirport
|
|
2133
|
+
closestTrainStation
|
|
2134
|
+
longitude
|
|
2135
|
+
latitude
|
|
2136
|
+
closestHotels {
|
|
2137
|
+
hotelId
|
|
2138
|
+
hotelName
|
|
2139
|
+
isPreferred
|
|
2140
|
+
}
|
|
2141
|
+
}
|
|
2142
|
+
errors {
|
|
2143
|
+
service {
|
|
2144
|
+
id
|
|
2145
|
+
type
|
|
2146
|
+
name
|
|
2147
|
+
description
|
|
2148
|
+
supplierUrl
|
|
2149
|
+
active
|
|
2150
|
+
apiEndpointUrl
|
|
2151
|
+
basketItemTtl
|
|
2152
|
+
cancellable
|
|
2153
|
+
amendable
|
|
2154
|
+
detailSchema
|
|
2155
|
+
searchQuerySchema
|
|
2156
|
+
}
|
|
2157
|
+
errorMessage
|
|
2158
|
+
errorCode
|
|
2159
|
+
}
|
|
2160
|
+
}
|
|
2161
|
+
}
|
|
2162
|
+
`;
|
|
2163
|
+
export class GetConfermaOfficeGQL extends Apollo.Query {
|
|
2164
|
+
constructor(apollo) {
|
|
2165
|
+
super(apollo);
|
|
2166
|
+
this.document = GetConfermaOfficeDocument;
|
|
2167
|
+
}
|
|
2168
|
+
}
|
|
2169
|
+
/** @nocollapse */ GetConfermaOfficeGQL.ɵprov = i0.ɵɵdefineInjectable({ factory: function GetConfermaOfficeGQL_Factory() { return new GetConfermaOfficeGQL(i0.ɵɵinject(i1.Apollo)); }, token: GetConfermaOfficeGQL, providedIn: "root" });
|
|
2170
|
+
GetConfermaOfficeGQL.decorators = [
|
|
2171
|
+
{ type: Injectable, args: [{
|
|
2172
|
+
providedIn: 'root'
|
|
2173
|
+
},] }
|
|
2174
|
+
];
|
|
2175
|
+
/** @nocollapse */
|
|
2176
|
+
GetConfermaOfficeGQL.ctorParameters = () => [
|
|
2177
|
+
{ type: Apollo.Apollo }
|
|
2178
|
+
];
|
|
2103
2179
|
export const GetConfermaOfficeNamesDocument = gql `
|
|
2104
2180
|
query getConfermaOfficeNames {
|
|
2105
2181
|
getConfermaOfficeNames {
|
|
@@ -2255,6 +2331,52 @@ GetConfermaQuicklistGQL.decorators = [
|
|
|
2255
2331
|
GetConfermaQuicklistGQL.ctorParameters = () => [
|
|
2256
2332
|
{ type: Apollo.Apollo }
|
|
2257
2333
|
];
|
|
2334
|
+
export const GetIrlSupplierStationDocument = gql `
|
|
2335
|
+
query getIRLSupplierStation($id: ID, $supplier: IRLSupplier, $code: String) {
|
|
2336
|
+
getIRLSupplierStation(id: $id, supplier: $supplier, code: $code) {
|
|
2337
|
+
id
|
|
2338
|
+
name
|
|
2339
|
+
supplier
|
|
2340
|
+
stationCode
|
|
2341
|
+
nlcCode
|
|
2342
|
+
trainlineCode
|
|
2343
|
+
trainlineUniqueCode
|
|
2344
|
+
locationDetails {
|
|
2345
|
+
continent
|
|
2346
|
+
country
|
|
2347
|
+
countryCode
|
|
2348
|
+
state
|
|
2349
|
+
city
|
|
2350
|
+
coordinates {
|
|
2351
|
+
latitude
|
|
2352
|
+
longitude
|
|
2353
|
+
altitude
|
|
2354
|
+
}
|
|
2355
|
+
postcode
|
|
2356
|
+
road
|
|
2357
|
+
gridReference
|
|
2358
|
+
northing
|
|
2359
|
+
easting
|
|
2360
|
+
}
|
|
2361
|
+
}
|
|
2362
|
+
}
|
|
2363
|
+
`;
|
|
2364
|
+
export class GetIrlSupplierStationGQL extends Apollo.Query {
|
|
2365
|
+
constructor(apollo) {
|
|
2366
|
+
super(apollo);
|
|
2367
|
+
this.document = GetIrlSupplierStationDocument;
|
|
2368
|
+
}
|
|
2369
|
+
}
|
|
2370
|
+
/** @nocollapse */ GetIrlSupplierStationGQL.ɵprov = i0.ɵɵdefineInjectable({ factory: function GetIrlSupplierStationGQL_Factory() { return new GetIrlSupplierStationGQL(i0.ɵɵinject(i1.Apollo)); }, token: GetIrlSupplierStationGQL, providedIn: "root" });
|
|
2371
|
+
GetIrlSupplierStationGQL.decorators = [
|
|
2372
|
+
{ type: Injectable, args: [{
|
|
2373
|
+
providedIn: 'root'
|
|
2374
|
+
},] }
|
|
2375
|
+
];
|
|
2376
|
+
/** @nocollapse */
|
|
2377
|
+
GetIrlSupplierStationGQL.ctorParameters = () => [
|
|
2378
|
+
{ type: Apollo.Apollo }
|
|
2379
|
+
];
|
|
2258
2380
|
export const GetRailStationDocument = gql `
|
|
2259
2381
|
query getRailStation($id: ID, $code: String) {
|
|
2260
2382
|
getRailStation(id: $id, code: $code) {
|
|
@@ -5206,6 +5328,52 @@ SearchIrlGQL.decorators = [
|
|
|
5206
5328
|
SearchIrlGQL.ctorParameters = () => [
|
|
5207
5329
|
{ type: Apollo.Apollo }
|
|
5208
5330
|
];
|
|
5331
|
+
export const SearchIrlSupplierStationsDocument = gql `
|
|
5332
|
+
query searchIRLSupplierStations($query: String!, $supplier: IRLSupplier) {
|
|
5333
|
+
searchIRLSupplierStations(query: $query, supplier: $supplier) {
|
|
5334
|
+
id
|
|
5335
|
+
name
|
|
5336
|
+
supplier
|
|
5337
|
+
stationCode
|
|
5338
|
+
nlcCode
|
|
5339
|
+
trainlineCode
|
|
5340
|
+
trainlineUniqueCode
|
|
5341
|
+
locationDetails {
|
|
5342
|
+
continent
|
|
5343
|
+
country
|
|
5344
|
+
countryCode
|
|
5345
|
+
state
|
|
5346
|
+
city
|
|
5347
|
+
coordinates {
|
|
5348
|
+
latitude
|
|
5349
|
+
longitude
|
|
5350
|
+
altitude
|
|
5351
|
+
}
|
|
5352
|
+
postcode
|
|
5353
|
+
road
|
|
5354
|
+
gridReference
|
|
5355
|
+
northing
|
|
5356
|
+
easting
|
|
5357
|
+
}
|
|
5358
|
+
}
|
|
5359
|
+
}
|
|
5360
|
+
`;
|
|
5361
|
+
export class SearchIrlSupplierStationsGQL extends Apollo.Query {
|
|
5362
|
+
constructor(apollo) {
|
|
5363
|
+
super(apollo);
|
|
5364
|
+
this.document = SearchIrlSupplierStationsDocument;
|
|
5365
|
+
}
|
|
5366
|
+
}
|
|
5367
|
+
/** @nocollapse */ SearchIrlSupplierStationsGQL.ɵprov = i0.ɵɵdefineInjectable({ factory: function SearchIrlSupplierStationsGQL_Factory() { return new SearchIrlSupplierStationsGQL(i0.ɵɵinject(i1.Apollo)); }, token: SearchIrlSupplierStationsGQL, providedIn: "root" });
|
|
5368
|
+
SearchIrlSupplierStationsGQL.decorators = [
|
|
5369
|
+
{ type: Injectable, args: [{
|
|
5370
|
+
providedIn: 'root'
|
|
5371
|
+
},] }
|
|
5372
|
+
];
|
|
5373
|
+
/** @nocollapse */
|
|
5374
|
+
SearchIrlSupplierStationsGQL.ctorParameters = () => [
|
|
5375
|
+
{ type: Apollo.Apollo }
|
|
5376
|
+
];
|
|
5209
5377
|
export const SearchPostcodesDocument = gql `
|
|
5210
5378
|
query searchPostcodes($postcode: String!) {
|
|
5211
5379
|
getPostcodeDetails(postcode: $postcode) {
|
|
@@ -5659,4 +5827,4 @@ ValidateUserMiFreeValueGQL.decorators = [
|
|
|
5659
5827
|
ValidateUserMiFreeValueGQL.ctorParameters = () => [
|
|
5660
5828
|
{ type: Apollo.Apollo }
|
|
5661
5829
|
];
|
|
5662
|
-
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZ3JhcGhxbC5hbmd1bGFyLnR5cGVzLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvb2J0c2VydmljZXMvYW5ndWxhci9zcmMvbGliL3ZlbmRvci90eXBlcy9ncmFwaHFsLmFuZ3VsYXIudHlwZXMudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFFLEdBQUcsRUFBRSxNQUFNLGdCQUFnQixDQUFDO0FBQ3JDLE9BQU8sRUFBRSxVQUFVLEVBQUUsTUFBTSxlQUFlLENBQUM7QUFDM0MsT0FBTyxLQUFLLE1BQU0sTUFBTSxnQkFBZ0IsQ0FBQzs7O0FBc0d6QyxNQUFNLENBQU4sSUFBWSxnQkFHWDtBQUhELFdBQVksZ0JBQWdCO0lBQzFCLGtEQUE4QixDQUFBO0lBQzlCLGdEQUE0QixDQUFBO0FBQzlCLENBQUMsRUFIVyxnQkFBZ0IsS0FBaEIsZ0JBQWdCLFFBRzNCO0FBd0JELE1BQU0sQ0FBTixJQUFZLFdBR1g7QUFIRCxXQUFZLFdBQVc7SUFDckIsa0NBQW1CLENBQUE7SUFDbkIsc0NBQXVCLENBQUE7QUFDekIsQ0FBQyxFQUhXLFdBQVcsS0FBWCxXQUFXLFFBR3RCO0FBaUVELE1BQU0sQ0FBTixJQUFZLGdCQUlYO0FBSkQsV0FBWSxnQkFBZ0I7SUFDMUIsaUNBQWEsQ0FBQTtJQUNiLHFDQUFpQixDQUFBO0lBQ2pCLG9EQUFnQyxDQUFBO0FBQ2xDLENBQUMsRUFKVyxnQkFBZ0IsS0FBaEIsZ0JBQWdCLFFBSTNCO0FBRUQsTUFBTSxDQUFOLElBQVksWUFRWDtBQVJELFdBQVksWUFBWTtJQUN0Qiw2QkFBYSxDQUFBO0lBQ2IsaUNBQWlCLENBQUE7SUFDakIsc0RBQXNDLENBQUE7SUFDdEMscUNBQXFCLENBQUE7SUFDckIsMkNBQTJCLENBQUE7SUFDM0Isb0RBQW9DLENBQUE7SUFDcEMsZ0RBQWdDLENBQUE7QUFDbEMsQ0FBQyxFQVJXLFlBQVksS0FBWixZQUFZLFFBUXZCO0FBU0Qs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QUFXLENBQUE7SUFDWCwyQkFBVyxDQUFBO0lBQ1gsMkJBQVcsQ0FBQTtJQUNYLDJCQUFXLENBQUE7SUFDWCwyQkFBVyxDQUFBO0lBQ1gsMkJBQVcsQ0FBQTtJQUNYLDJCQUFXLENBQUE7SUFDWCwyQkFBVyxDQUFBO0lBQ1gsMkJBQVcsQ0FBQTtJQUNYLDJCQUFXLENBQUE7SUFDWCwyQkFBVyxDQUFBO0lBQ1gsMkJBQVcsQ0FBQTtJQUNYLDJCQUFXLENBQUE7SUFDWCwyQkFBVyxDQUFBO0lBQ1gsMkJBQVcsQ0FBQTtJQUNYLDJCQUFXLENBQUE7SUFDWCwyQkFBVyxDQUFBO0lBQ1gsMkJBQVcsQ0FBQTtJQUNYLDJCQUFXLENBQUE7SUFDWCwyQkFBVyxDQUFBO0lBQ1gsMkJBQVcsQ0FBQTtJQUNYLDJCQUFXLENBQUE7SUFDWCwyQkFBVyxDQUFBO0lBQ1gsMkJBQVcsQ0FBQTtJQUNYLDJCQUFXLENBQUE7SUFDWCwyQkFBVyxDQUFBO0lBQ1gsMkJBQVcsQ0FBQTtJQUNYLDJCQUFXLENBQUE7SUFDWCwyQkFBVyxDQUFBO0lBQ1gsMkJBQVcsQ0FBQTtJQUNYLDJCQUFXLENBQUE7SUFDWCwyQkFBVyxDQUFBO0lBQ1gsMkJBQVcsQ0FBQTtJQUNYLDJCQUFXLENBQUE7SUFDWCwyQkFBVyxDQUFBO0lBQ1gsMkJBQVcsQ0FBQTtJQUNYLDJCQUFXLENBQUE7SUFDWCwyQkFBVyxDQUFBO0lBQ1gsMkJBQVcsQ0FBQTtJQUNYLDJCQUFXLENBQUE7SUFDWCwyQkFBVyxDQUFBO0lBQ1gsMkJBQVcsQ0FBQTtJQUNYLDJCQUFXLENBQUE7SUFDWCwyQkFBVyxDQUFBO0lBQ1gsMkJBQVcsQ0FBQTtJQUNYLDJCQUFXLENBQUE7SUFDWCwyQkFBVyxDQUFBO0lBQ1gsMkJBQVcsQ0FBQTtJQUNYLDJCQUFXLENBQUE7SUFDWCwyQkFBVyxDQUFBO0lBQ1gsMkJBQVcsQ0FBQTtJQUNYLDJCQUFXLENBQUE7SUFDWCwyQkFBVyxDQUFBO0lBQ1gsMkJBQVcsQ0FBQTtJQUNYLDJCQUFXLENBQUE7SUFDWCwyQkFBVyxDQUFBO0lBQ1gsMkJBQVcsQ0FBQTtJQUNYLDJCQUFXLENBQUE7SUFDWCwyQkFBVyxDQUFBO0lBQ1gsMkJBQVcsQ0FBQTtJQUNYLDJCQUFXLENBQUE7SUFDWCwyQkFBVyxDQUFBO0lBQ1gsMkJBQVcsQ0FBQTtJQUNYLDJCQUFXLENBQUE7SUFDWCwyQkFBVyxDQUFBO0lBQ1gsMkJBQVcsQ0FBQTtJQUNYLDJCQUFXLENBQUE7SUFDWCwyQkFBVyxDQUFBO0lBQ1gsMkJBQVcsQ0FBQTtJQUNYLDJCQUFXLENBQUE7SUFDWCwyQkFBVyxDQUFBO0lBQ1gsMkJBQVcsQ0FBQTtJQUNYLDJCQUFXLENBQUE7SUFDWCwyQkFBVyxDQUFBO0lBQ1gsMkJBQVcsQ0FBQTtJQUNYLDJCQUFXLENBQUE7SUFDWCwyQkFBVyxDQUFBO0lBQ1gsMkJBQVcsQ0FBQTtJQUNYLDJCQUFXLENBQUE7SUFDWCwyQkFBVyxDQUFBO0lBQ1gsMkJBQVcsQ0FBQTtJQUNYLDJCQUFXLENBQUE7SUFDWCwyQkFBVyxDQUFBO0lBQ1gsMkJBQVcsQ0FBQTtJQUNYLDJCQUFXLENBQUE7SUFDWCwyQkFBVyxDQUFBO0lBQ1gsMkJBQVcsQ0FBQTtJQUNYLDJCQUFXLENBQUE7SUFDWCwyQkFBVyxDQUFBO0lBQ1gsMkJBQVcsQ0FBQTtJQUNYLDJCQUFXLENBQUE7SUFDWCwyQkFBVyxDQUFBO0lBQ1gsMkJBQVcsQ0FBQTtJQUNYLDJCQUFXLENBQUE7SUFDWCwyQkFBVyxDQUFBO0lBQ1gsMkJBQVcsQ0FBQTtJQUNYLDJCQUFXLENBQUE7SUFDWCwyQkFBVyxDQUFBO0lBQ1gsMkJBQVcsQ0FBQTtJQUNYLDJCQUFXLENBQUE7SUFDWCwyQkFBVyxDQUFBO0lBQ1gsMkJBQVcsQ0FBQTtJQUNYLDJCQUFXLENBQUE7SUFDWCwyQkFBVyxDQUFBO0lBQ1gsMkJBQVcsQ0FBQTtJQUNYLDJCQUFXLENBQUE7SUFDWCwyQkFBVyxDQUFBO0lBQ1gsMkJBQVcsQ0FBQTtJQUNYLDJCQUFXLENBQUE7SUFDWCwyQkFBVyxDQUFBO0lBQ1gsMkJBQVcsQ0FBQTtJQUNYLDJCQUFXLENBQUE7SUFDWCwyQkFBVyxDQUFB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SUFJM0MsQ0FBQzs7OztZQVJGLFVBQVUsU0FBQztnQkFDVixVQUFVLEVBQUUsTUFBTTthQUNuQjs7OztZQS96VlMsTUFBTSxDQW0wVmEsTUFBTSIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IGdxbCB9IGZyb20gJ2Fwb2xsby1hbmd1bGFyJztcbmltcG9ydCB7IEluamVjdGFibGUgfSBmcm9tICdAYW5ndWxhci9jb3JlJztcbmltcG9ydCAqIGFzIEFwb2xsbyBmcm9tICdhcG9sbG8tYW5ndWxhcic7XG5leHBvcnQgdHlwZSBNYXliZTxUPiA9IFQgfCBudWxsO1xuZXhwb3J0IHR5cGUgRXhhY3Q8VCBleHRlbmRzIHsgW2tleTogc3RyaW5nXTogdW5rbm93biB9PiA9IHsgW0sgaW4ga2V5b2YgVF06IFRbS10gfTtcbmV4cG9ydCB0eXBlIE1ha2VPcHRpb25hbDxULCBLIGV4dGVuZHMga2V5b2YgVD4gPSBPbWl0PFQsIEs+ICYgeyBbU3ViS2V5IGluIEtdPzogTWF5YmU8VFtTdWJLZXldPiB9O1xuZXhwb3J0IHR5cGUgTWFrZU1heWJlPFQsIEsgZXh0ZW5kcyBrZXlvZiBUPiA9IE9taXQ8VCwgSz4gJiB7IFtTdWJLZXkgaW4gS106IE1heWJlPFRbU3ViS2V5XT4gfTtcbmV4cG9ydCB0eXBlIEZpZWxkV3JhcHBlcjxUPiA9IFQ7XG4vKiogQWxsIGJ1aWx0LWluIGFuZCBjdXN0b20gc2NhbGFycywgbWFwcGVkIHRvIHRoZWlyIGFjdHVhbCB2YWx1ZXMgKi9cbmV4cG9ydCB0eXBlIFNjYWxhcnMgPSB7XG4gIElEOiBzdHJpbmc7XG4gIFN0cmluZzogc3RyaW5nO1xuICBCb29sZWFuOiBib29sZWFuO1xuICBJbnQ6IG51bWJlcjtcbiAgRmxvYXQ6IG51bWJlcjtcbiAgRGF0ZTogYW55O1xuICBEYXRlVGltZTogYW55O1xuICBKU09OOiBhbnk7XG59O1xuXG5cblxuZXhwb3J0IHR5cGUgQWRkcmVzcyA9IHtcbiAgX190eXBlbmFtZT86ICdBZGRyZXNzJztcbiAgaWQ6IEZpZWxkV3JhcHBlcjxTY2FsYXJzWydJRCddPjtcbiAgZGVzY3JpcHRpb24/OiBNYXliZTxGaWVsZFdyYXBwZXI8U2NhbGFyc1snU3RyaW5nJ10+PjtcbiAgbnVtYmVyT3JOYW1lPzogTWF5YmU8RmllbGRXcmFwcGVyPFNjYWxhcnNbJ1N0cmluZyddPj47XG4gIHN0cmVldD86IE1heWJlPEZpZWxkV3JhcHBlcjxTY2FsYXJzWydTdHJpbmcnXT4+O1xuICB0b3duPzogTWF5YmU8RmllbGRXcmFwcGVyPFNjYWxhcnNbJ1N0cmluZyddPj47XG4gIGNvdW50eT86IE1heWJlPEZpZWxkV3JhcHBlcjxTY2FsYXJzWydTdHJpbmcnXT4+O1xuICBwb3N0Y29kZT86IE1heWJlPEZpZWxkV3JhcHBlcjxTY2FsYXJzWydTdHJpbmcnXT4+O1xuICBjb3VudHJ5Q29kZT86IE1heWJlPEZpZWxkV3JhcHBlcjxTY2FsYXJzWydTdHJpbmcnXT4+O1xuICB1c2VyUHJpbWFyeT86IE1heWJlPEZpZWxkV3JhcHBlcjxTY2FsYXJzWydCb29sZWFuJ10+PjtcbiAgb2ZmaWNlUHJpbWFyeT86IE1heWJlPEZpZWxkV3JhcHBlcjxTY2FsYXJzWydCb29sZWFuJ10+Pjtcbn07XG5cbmV4cG9ydCB0eXBlIEFmdGVyQ2FuY2VsbGF0aW9uSW5mbyA9IHtcbiAgX190eXBlbmFtZT86ICdBZnRlckNhbmNlbGxhdGlvbkluZm8nO1xuICBjYW5jZWxsZWQ6IEZpZWxkV3JhcHBlcjxTY2FsYXJzWydCb29sZWFuJ10+O1xuICBjYW5jZWxsYXRpb25GZWU6IEZpZWxkV3JhcHBlcjxTY2FsYXJzWydGbG9hdCddPjtcbn07XG5cbmV4cG9ydCB0eXBlIEFpcmxpbmVSZXN1bHQgPSB7XG4gIF9fdHlwZW5hbWU/OiAnQWlybGluZVJlc3VsdCc7XG4gIGlkOiBGaWVsZFdyYXBwZXI8U2NhbGFyc1snSUQnXT47XG4gIG5hbWU/OiBNYXliZTxGaWVsZFdyYXBwZXI8U2NhbGFyc1snU3RyaW5nJ10+PjtcbiAgaWF0YT86IE1heWJlPEZpZWxkV3JhcHBlcjxTY2FsYXJzWydTdHJpbmcnXT4+O1xuICBpY2FvPzogTWF5YmU8RmllbGRXcmFwcGVyPFNjYWxhcnNbJ1N0cmluZyddPj47XG4gIGFsaWFzPzogTWF5YmU8RmllbGRXcmFwcGVyPFNjYWxhcnNbJ1N0cmluZyddPj47XG4gIGNhbGxzaWduPzogTWF5YmU8RmllbGRXcmFwcGVyPFNjYWxhcnNbJ1N0cmluZyddPj47XG4gIGFjdGl2ZT86IE1heWJlPEZpZWxkV3JhcHBlcjxTY2FsYXJzWydCb29sZWFuJ10+PjtcbiAgY29udGluZW50PzogTWF5YmU8RmllbGRXcmFwcGVyPFNjYWxhcnNbJ1N0cmluZyddPj47XG4gIGNvdW50cnk/OiBNYXliZTxGaWVsZFdyYXBwZXI8U2NhbGFyc1snU3RyaW5nJ10+PjtcbiAgY291bnRyeUNvZGU/OiBNYXliZTxGaWVsZFdyYXBwZXI8U2NhbGFyc1snU3RyaW5nJ10+PjtcbiAgYmFubmVySW1hZ2U/OiBNYXliZTxGaWVsZFdyYXBwZXI8U2NhbGFyc1snU3RyaW5nJ10+PjtcbiAgbG9nb0ltYWdlPzogTWF5YmU8RmllbGRXcmFwcGVyPFNjYWxhcnNbJ1N0cmluZyddPj47XG59O1xuXG5leHBvcnQgdHlwZSBBaXJsaW5lUmVzdWx0cyA9IHtcbiAgX190eXBlbmFtZT86ICdBaXJsaW5lUmVzdWx0cyc7XG4gIGlhdGFNYXRjaD86IE1heWJlPEZpZWxkV3JhcHBlcjxBaXJsaW5lUmVzdWx0Pj47XG4gIGdlbmVyYWxNYXRjaGVzOiBBcnJheTxGaWVsZFdyYXBwZXI8QWlybGluZVJlc3VsdD4+O1xufTtcblxuZXhwb3J0IHR5cGUgQWlycG9ydCA9IHtcbiAgX190eXBlbmFtZT86ICdBaXJwb3J0JztcbiAgaWQ6IEZpZWxkV3JhcHBlcjxTY2FsYXJzWydJRCddPjtcbiAgbmFtZTogRmllbGRXcmFwcGVyPFNjYWxhcnNbJ1N0cmluZyddPjtcbiAgaWF0YT86IE1heWJlPEZpZWxkV3JhcHBlcjxTY2FsYXJzWydTdHJpbmcnXT4+O1xuICBpY2FvPzogTWF5YmU8RmllbGRXcmFwcGVyPFNjYWxhcnNbJ1N0cmluZyddPj47XG4gIHRlcm1pbmFsczogQXJyYXk8RmllbGRXcmFwcGVyPFNjYWxhcnNbJ1N0cmluZyddPj47XG4gIGhhc0xvdW5nZT86IE1heWJlPEZpZWxkV3JhcHBlcjxTY2FsYXJzWydCb29sZWFuJ10+PjtcbiAgaGFzUGFya2luZz86IE1heWJlPEZpZWxkV3JhcHBlcjxTY2FsYXJzWydCb29sZWFuJ10+PjtcbiAgaGFzRmFzdFRyYWNrPzogTWF5YmU8RmllbGRXcmFwcGVyPFNjYWxhcnNbJ0Jvb2xlYW4nXT4+O1xuICBoYXNQdWJsaWNUcmF2ZWw/OiBNYXliZTxGaWVsZFdyYXBwZXI8U2NhbGFyc1snQm9vbGVhbiddPj47XG4gIGxvY2F0aW9uRGV0YWlscz86IE1heWJlPEZpZWxkV3JhcHBlcjxMb2NhdGlvbkRldGFpbD4+O1xufTtcblxuZXhwb3J0IHR5cGUgQWlycG9ydERldGFpbCA9IHtcbiAgX190eXBlbmFtZT86ICdBaXJwb3J0RGV0YWlsJztcbiAgaWF0YT86IE1heWJlPEZpZWxkV3JhcHBlcjxTY2FsYXJzWydTdHJpbmcnXT4+O1xuICBpY2FvPzogTWF5YmU8RmllbGRXcmFwcGVyPFNjYWxhcnNbJ1N0cmluZyddPj47XG4gIGxhdGl0dWRlPzogTWF5YmU8RmllbGRXcmFwcGVyPFNjYWxhcnNbJ0Zsb2F0J10+PjtcbiAgbG9uZ2l0dWRlPzogTWF5YmU8RmllbGRXcmFwcGVyPFNjYWxhcnNbJ0Zsb2F0J10+PjtcbiAgYWx0aXR1ZGU/OiBNYXliZTxGaWVsZFdyYXBwZXI8U2NhbGFyc1snRmxvYXQnXT4+O1xuICBzdGF0ZT86IE1heWJlPEZpZWxkV3JhcHBlcjxTY2FsYXJzWydTdHJpbmcnXT4+O1xuICBjaXR5PzogTWF5YmU8RmllbGRXcmFwcGVyPFNjYWxhcnNbJ1N0cmluZyddPj47XG4gIHJvYWQ/OiBNYXliZTxGaWVsZFdyYXBwZXI8U2NhbGFyc1snU3RyaW5nJ10+PjtcbiAgcG9wdWxhcml0eT86IE1heWJlPEZpZWxkV3JhcHBlcjxTY2FsYXJzWydJbnQnXT4+O1xuICBhcmVhPzogTWF5YmU8RmllbGRXcmFwcGVyPFNjYWxhcnNbJ1N0cmluZyddPj47XG4gIGxvY2F0aW9uPzogTWF5YmU8RmllbGRXcmFwcGVyPFNjYWxhcnNbJ1N0cmluZyddPj47XG4gIG9mZnNldD86IE1heWJlPEZpZWxkV3JhcHBlcjxTY2FsYXJzWydTdHJpbmcnXT4+O1xuICBhaXJwb3J0TmFtZT86IE1heWJlPEZpZWxkV3JhcHBlcjxTY2FsYXJzWydTdHJpbmcnXT4+O1xuICBjb3VudHJ5TmFtZT86IE1heWJlPEZpZWxkV3JhcHBlcjxTY2FsYXJzWydTdHJpbmcnXT4+O1xuICBjb3VudHJ5Q29kZT86IE1heWJlPEZpZWxkV3JhcHBlcjxTY2FsYXJzWydTdHJpbmcnXT4+O1xuICBwb3N0Y29kZT86IE1heWJlPEZpZWxkV3JhcHBlcjxTY2FsYXJzWydTdHJpbmcnXT4+O1xufTtcblxuZXhwb3J0IHR5cGUgQWlycG9ydFJlc3VsdHMgPSB7XG4gIF9fdHlwZW5hbWU/OiAnQWlycG9ydFJlc3VsdHMnO1xuICBpYXRhTWF0Y2g/OiBNYXliZTxGaWVsZFdyYXBwZXI8QWlycG9ydD4+O1xuICBnZW5lcmFsTWF0Y2hlczogQXJyYXk8RmllbGRXcmFwcGVyPEFpcnBvcnQ+Pjtcbn07XG5cbmV4cG9ydCBlbnVtIEFwcGxpY2F0aW9uU3RhZ2Uge1xuICBCZWZvcmVTZWFyY2ggPSAnQkVGT1JFX1NFQVJDSCcsXG4gIEFmdGVyU2VhcmNoID0gJ0FGVEVSX1NFQVJDSCdcbn1cblxuZXhwb3J0IHR5cGUgQXBwcm92ZWUgPSB7XG4gIF9fdHlwZW5hbWU/OiAnQXBwcm92ZWUnO1xuICBhcHByb3ZlZTogRmllbGRXcmFwcGVyPFVzZXI+O1xuICBhY3RpdmU6IEZpZWxkV3JhcHBlcjxTY2FsYXJzWydCb29sZWFuJ10+O1xuICBwcmlvcml0eTogRmllbGRXcmFwcGVyPFNjYWxhcnNbJ0ludCddPjtcbn07XG5cbmV4cG9ydCB0eXBlIEFwcHJvdmVyID0ge1xuICBfX3R5cGVuYW1lPzogJ0FwcHJvdmVyJztcbiAgYXBwcm92ZXI6IEZpZWxkV3JhcHBlcjxVc2VyPjtcbiAgYWN0aXZlOiBGaWVsZFdyYXBwZXI8U2NhbGFyc1snQm9vbGVhbiddPjtcbiAgcHJpb3JpdHk6IEZpZWxkV3JhcHBlcjxTY2FsYXJzWydJbnQnXT47XG59O1xuXG5leHBvcnQgdHlwZSBCYWdnYWdlQWxsb3dhbmNlID0ge1xuICBfX3R5cGVuYW1lPzogJ0JhZ2dhZ2VBbGxvd2FuY2UnO1xuICB0eXBlOiBGaWVsZFdyYXBwZXI8QmFnZ2FnZVR5cGU+O1xuICBxdHk6IEZpZWxkV3JhcHBlcjxTY2FsYXJzWydJbnQnXT47XG4gIG1heEtHPzogTWF5YmU8RmllbGRXcmFwcGVyPFNjYWxhcnNbJ0Zsb2F0J10+PjtcbiAgbWF4TEJTPzogTWF5YmU8RmllbGRXcmFwcGVyPFNjYWxhcnNbJ0Zsb2F0J10+Pjtcbn07XG5cbmV4cG9ydCBlbnVtIEJhZ2dhZ2VUeXBlIHtcbiAgQ2hlY2tJbiA9ICdDaGVja0luJyxcbiAgSGFuZENhcnJ5ID0gJ0hhbmRDYXJyeSdcbn1cblxuZXhwb3J0IHR5cGUgQmFza2V0ID0ge1xuICBfX3R5cGVuYW1lPzogJ0Jhc2tldCc7XG4gIGlkOiBGaWVsZFdyYXBwZXI8U2NhbGFyc1snSUQnXT47XG4gIG93bmVyOiBGaWVsZFdyYXBwZXI8VXNlcj47XG4gIHJlZmVyZW5jZTogRmllbGRXcmFwcGVyPFNjYWxhcnNbJ1N0cmluZyddPjtcbiAgdGl0bGU6IEZpZWxkV3JhcHBlcjxTY2FsYXJzWydTdHJpbmcnXT47XG4gIG5vdGVzPzogTWF5YmU8RmllbGRXcmFwcGVyPFNjYWxhcnNbJ1N0cmluZyddPj47XG4gIGNyZWF0ZWRBdDogRmllbGRXcmFwcGVyPFNjYWxhcnNbJ0RhdGVUaW1lJ10+O1xuICB1cGRhdGVkQXQ6IEZpZWxkV3JhcHBlcjxTY2FsYXJzWydEYXRlVGltZSddPjtcbiAgYmFza2V0SXRlbXM6IEFycmF5PEZpZWxkV3JhcHBlcjxCYXNrZXRJdGVtPj47XG4gIHN0YXR1czogRmllbGRXcmFwcGVyPEJhc2tldFN0YXR1cz47XG4gIGNvbXBhbnlHcm91cD86IE1heWJlPEZpZWxkV3JhcHBlcjxDb21wYW55R3JvdXA+PjtcbiAgdmFsaWRhdGVkOiBGaWVsZFdyYXBwZXI8U2NhbGFyc1snQm9vbGVhbiddPjtcbiAgYm9va2VkQXQ/OiBNYXliZTxGaWVsZFdyYXBwZXI8U2NhbGFyc1snRGF0ZVRpbWUnXT4+O1xufTtcblxuZXhwb3J0IHR5cGUgQmFza2V0SXRlbSA9IHtcbiAgX190eXBlbmFtZT86ICdCYXNrZXRJdGVtJztcbiAgaWQ6IEZpZWxkV3JhcHBlcjxTY2FsYXJzWydJRCddPjtcbiAgYmFza2V0OiBGaWVsZFdyYXBwZXI8QmFza2V0PjtcbiAgYWR1bHRzOiBGaWVsZFdyYXBwZXI8U2NhbGFyc1snSW50J10+O1xuICBjaGlsZHJlbjogRmllbGRXcmFwcGVyPFNjYWxhcnNbJ0ludCddPjtcbiAgaW5mYW50czogRmllbGRXcmFwcGVyPFNjYWxhcnNbJ0ludCddPjtcbiAgZGV0YWlsOiBGaWVsZFdyYXBwZXI8U2NhbGFyc1snSlNPTiddPjtcbiAgZGV0YWlsSGFzaDogRmllbGRXcmFwcGVyPFNjYWxhcnNbJ1N0cmluZyddPjtcbiAgY3JlYXRlZEF0OiBGaWVsZFdyYXBwZXI8U2NhbGFyc1snRGF0ZVRpbWUnXT47XG4gIHVwZGF0ZWRBdDogRmllbGRXcmFwcGVyPFNjYWxhcnNbJ0RhdGVUaW1lJ10+O1xuICBleHBpcnk6IEZpZWxkV3JhcHBlcjxTY2FsYXJzWydEYXRlVGltZSddPjtcbiAgZXhwaXJlZDogRmllbGRXcmFwcGVyPFNjYWxhcnNbJ0Jvb2xlYW4nXT47XG4gIHVzZXJzOiBBcnJheTxGaWVsZFdyYXBwZXI8VXNlcj4+O1xuICB1c2VyUGFzc2VuZ2VyVHlwZXM6IEFycmF5PEZpZWxkV3JhcHBlcjxVc2VyUGFzc2VuZ2VyVHlwZT4+O1xuICBsZWFkUGFzc2VuZ2VyPzogTWF5YmU8RmllbGRXcmFwcGVyPFVzZXI+PjtcbiAgc2VydmljZTogRmllbGRXcmFwcGVyPFNlcnZpY2U+O1xuICBzZWFyY2hRdWVyeTogRmllbGRXcmFwcGVyPFNjYWxhcnNbJ0pTT04nXT47XG4gIHByaWNlOiBGaWVsZFdyYXBwZXI8U2NhbGFyc1snRmxvYXQnXT47XG4gIGN1cnJlbmN5OiBGaWVsZFdyYXBwZXI8Q3VycmVuY3lDb2RlPjtcbiAgbWlHcm91cHNBdmFpbGFibGU6IEFycmF5PEZpZWxkV3JhcHBlcjxTY2FsYXJzWydTdHJpbmcnXT4+O1xuICBtaUdyb3VwU2VsZWN0ZWQ/OiBNYXliZTxGaWVsZFdyYXBwZXI8U2NhbGFyc1snU3RyaW5nJ10+PjtcbiAgbWFuYWdlbWVudEluZm86IEFycmF5PEZpZWxkV3JhcHBlcjxNYW5hZ2VtZW50SW5mbz4+O1xuICB2YWxpZGF0ZWQ6IEZpZWxkV3JhcHBlcjxTY2FsYXJzWydCb29sZWFuJ10+O1xuICBsYXRlc3RWYWxpZGF0aW9uPzogTWF5YmU8RmllbGRXcmFwcGVyPFNjYWxhcnNbJ0RhdGVUaW1lJ10+PjtcbiAgbGF0ZXN0VmFsaWRhdGlvblByaWNlPzogTWF5YmU8RmllbGRXcmFwcGVyPFNjYWxhcnNbJ0ludCddPj47XG4gIGxhdGVzdFZhbGlkYXRpb25QcmljZURpZmZlcmVuY2U/OiBNYXliZTxGaWVsZFdyYXBwZXI8U2NhbGFyc1snSW50J10+PjtcbiAgbGF0ZXN0VmFsaWRhdGlvbkF2YWlsYWJsZT86IE1heWJlPEZpZWxkV3JhcHBlcjxTY2FsYXJzWydCb29sZWFuJ10+PjtcbiAgYm9va2luZ1RoaXJkUGFydHlSZWZlcmVuY2U/OiBNYXliZTxGaWVsZFdyYXBwZXI8U2NhbGFyc1snU3RyaW5nJ10+PjtcbiAgcG5yTG9jYXRvcj86IE1heWJlPEZpZWxkV3JhcHBlcjxTY2FsYXJzWydTdHJpbmcnXT4+O1xuICBzdGF0dXM6IEZpZWxkV3JhcHBlcjxCYXNrZXRJdGVtU3RhdHVzPjtcbiAgYXZhaWxhYmxlUGF5bWVudE1ldGhvZHM6IEFycmF5PEZpZWxkV3JhcHBlcjxQYXltZW50TWV0aG9kPj47XG4gIHNlbGVjdGVkUGF5bWVudE1ldGhvZD86IE1heWJlPEZpZWxkV3JhcHBlcjxQYXltZW50TWV0aG9kPj47XG4gIHBlckl0ZW1TdXBwbGVtZW50YXJ5Qm9va2luZ0luZm9TY2hlbWE6IEZpZWxkV3JhcHBlcjxTY2FsYXJzWydKU09OJ10+O1xuICBwZXJQYXNzZW5nZXJTdXBwbGVtZW50YXJ5Qm9va2luZ0luZm9TY2hlbWE6IEZpZWxkV3JhcHBlcjxTY2FsYXJzWydKU09OJ10+O1xuICBwZXJJdGVtQWRkcmVzczogRmllbGRXcmFwcGVyPFNjYWxhcnNbJ0Jvb2xlYW4nXT47XG4gIHBlckl0ZW1QaG9uZU51bWJlcjogRmllbGRXcmFwcGVyPFNjYWxhcnNbJ0Jvb2xlYW4nXT47XG4gIHBlclBhc3NlbmdlckFkZHJlc3M6IEZpZWxkV3JhcHBlcjxTY2FsYXJzWydCb29sZWFuJ10+O1xuICBwZXJQYXNzZW5nZXJQaG9uZU51bWJlcjogRmllbGRXcmFwcGVyPFNjYWxhcnNbJ0Jvb2xlYW4nXT47XG4gIGNhbmNlbGxhYmxlOiBGaWVsZFdyYXBwZXI8U2NhbGFyc1snQm9vbGVhbiddPjtcbiAgYW1lbmRhYmxlOiBGaWVsZFdyYXBwZXI8U2NhbGFyc1snQm9vbGVhbiddPjtcbiAgY28yUGVyUGFzc2VuZ2VyOiBGaWVsZFdyYXBwZXI8U2NhbGFyc1snRmxvYXQnXT47XG4gIGNvMlBlckl0ZW06IEZpZWxkV3JhcHBlcjxTY2FsYXJzWydGbG9hdCddPjtcbiAgb3V0Ym91bmREYXRlOiBGaWVsZFdyYXBwZXI8U2NhbGFyc1snRGF0ZVRpbWUnXT47XG4gIGluYm91bmREYXRlPzogTWF5YmU8RmllbGRXcmFwcGVyPFNjYWxhcnNbJ0RhdGVUaW1lJ10+Pjtcbn07XG5cbmV4cG9ydCBlbnVtIEJhc2tldEl0ZW1TdGF0dXMge1xuICBPcGVuID0gJ09QRU4nLFxuICBCb29rZWQgPSAnQk9PS0VEJyxcbiAgQm9va2luZ0ZhaWxlZCA9ICdCT09LSU5HX0ZBSUxFRCdcbn1cblxuZXhwb3J0IGVudW0gQmFza2V0U3RhdHVzIHtcbiAgT3BlbiA9ICdPUEVOJyxcbiAgQm9va2VkID0gJ0JPT0tFRCcsXG4gIEF3YWl0aW5nQXBwcm92YWwgPSAnQVdBSVRJTkdfQVBQUk9WQUwnLFxuICBBcHByb3ZlZCA9ICdBUFBST1ZFRCcsXG4gIERpc2FwcHJvdmVkID0gJ0RJU0FQUFJPVkVEJyxcbiAgUGFydGlhbGx5Qm9va2VkID0gJ1BBUlRJQUxMWV9CT09LRUQnLFxuICBCb29raW5nRmFpbGVkID0gJ0JPT0tJTkdfRkFJTEVEJ1xufVxuXG5leHBvcnQgdHlwZSBCZWZvcmVDYW5jZWxsYXRpb25JbmZvID0ge1xuICBfX3R5cGVuYW1lPzogJ0JlZm9yZUNhbmNlbGxhdGlvbkluZm8nO1xuICBjYW5jZWxsYWJsZTogRmllbGRXcmFwcGVyPFNjYWxhcnNbJ0Jvb2xlYW4nXT47XG4gIGluZm8/OiBNYXliZTxGaWVsZFdyYXBwZXI8U2NhbGFyc1snU3RyaW5nJ10+PjtcbiAgY2FuY2VsbGF0aW9uRmVlPzogTWF5YmU8RmllbGRXcmFwcGVyPFNjYWxhcnNbJ0Zsb2F0J10+Pjtcbn07XG5cbmV4cG9ydCBlbnVtIEJvb2tlclR5cGUge1xuICBSb290ID0gJ1JPT1QnLFxuICBUbWMgPSAnVE1DJyxcbiAgQ29tcGFueSA9ICdDT01QQU5ZJyxcbiAgT2ZmaWNlID0gJ09GRklDRScsXG4gIENvbXBhbnlHcm91cCA9ICdDT01QQU5ZX0dST1VQJyxcbiAgU2VsZkJvb2sgPSAnU0VMRl9CT09LJyxcbiAgQm9va2VyID0gJ0JPT0tFUicsXG4gIFRyYXZlbGxlciA9ICdUUkFWRUxMRVInLFxuICBCb29rZXJXaXRoU2VsZiA9ICdCT09LRVJfV0lUSF9TRUxGJ1xufVxuXG5leHBvcnQgdHlwZSBCb29raW5nQWRkcmVzcyA9IHtcbiAgbnVtYmVyT3JOYW1lOiBTY2FsYXJzWydTdHJpbmcnXTtcbiAgc3RyZWV0OiBTY2FsYXJzWydTdHJpbmcnXTtcbiAgdG93bjogU2NhbGFyc1snU3RyaW5nJ107XG4gIGNvdW50eTogU2NhbGFyc1snU3RyaW5nJ107XG4gIHBvc3Rjb2RlOiBTY2FsYXJzWydTdHJpbmcnXTtcbiAgY291bnRyeUNvZGU6IFNjYWxhcnNbJ1N0cmluZyddO1xufTtcblxuZXhwb3J0IHR5cGUgQm9va2luZ1Bob25lTnVtYmVyID0ge1xuICBjb3VudHJ5Q29kZTogU2NhbGFyc1snU3RyaW5nJ107XG4gIGFyZWFDb2RlOiBTY2FsYXJzWydTdHJpbmcnXTtcbiAgbnVtYmVyOiBTY2FsYXJzWydTdHJpbmcnXTtcbiAgZXh0ZW5zaW9uPzogTWF5YmU8U2NhbGFyc1snU3RyaW5nJ10+O1xufTtcblxuZXhwb3J0IHR5cGUgQ2FiSGlyZUxvY2F0aW9uID0ge1xuICBfX3R5cGVuYW1lPzogJ0NhYkhpcmVMb2NhdGlvbic7XG4gIGFkZHJlc3M6IEZpZWxkV3JhcHBlcjxTY2FsYXJzWydTdHJpbmcnXT47XG4gIHBvc3Rjb2RlOiBGaWVsZFdyYXBwZXI8U2NhbGFyc1snU3RyaW5nJ10+O1xuICBsYXRpdHVkZT86IE1heWJlPEZpZWxkV3JhcHBlcjxTY2FsYXJzWydGbG9hdCddPj47XG4gIGxvbmdpdHVkZT86IE1heWJlPEZpZWxkV3JhcHBlcjxTY2FsYXJzWydGbG9hdCddPj47XG59O1xuXG5leHBvcnQgdHlwZSBDYWJIaXJlTG9jYXRpb25JbnB1dCA9IHtcbiAgYWRkcmVzczogU2NhbGFyc1snU3RyaW5nJ107XG4gIHBvc3Rjb2RlOiBTY2FsYXJzWydTdHJpbmcnXTtcbn07XG5cbmV4cG9ydCB0eXBlIENhYkhpcmVRdW90ZSA9IHtcbiAgX190eXBlbmFtZT86ICdDYWJIaXJlUXVvdGUnO1xuICBpZDogRmllbGRXcmFwcGVyPFNjYWxhcnNbJ0lEJ10+O1xuICBzb3VyY2U6IEZpZWxkV3JhcHBlcjxTY2FsYXJzWydTdHJpbmcnXT47XG4gIHNvdXJjZUlkOiBGaWVsZFdyYXBwZXI8U2NhbGFyc1snSW50J10+O1xuICBzdXBwbGllck5hbWU6IEZpZWxkV3JhcHBlcjxTY2FsYXJzWydTdHJpbmcnXT47XG4gIGVzdGltYXRlZENPMjogRmllbGRXcmFwcGVyPFNjYWxhcnNbJ0Zsb2F0J10+O1xuICBjbzJQZXJQYXNzZW5nZXI6IEZpZWxkV3JhcHBlcjxTY2FsYXJzWydGbG9hdCddPjtcbiAgY28yUGVySXRlbTogRmllbGRXcmFwcGVyPFNjYWxhcnNbJ0Zsb2F0J10+O1xuICBwcmljZTogRmllbGRXcmFwcGVyPFNjYWxhcnNbJ0Zsb2F0J10+O1xuICBjdXJyZW5jeTogRmllbGRXcmFwcGVyPEN1cnJlbmN5Q29kZT47XG4gIHZlaGljbGVUeXBlOiBGaWVsZFdyYXBwZXI8Q2FiSGlyZVZlaGljbGVUeXBlPjtcbiAgdHJpcERpc3RhbmNlTWV0cmVzPzogTWF5YmU8RmllbGRXcmFwcGVyPFNjYWxhcnNbJ0ludCddPj47XG4gIHRyaXBEdXJhdGlvblNlY29uZHM/OiBNYXliZTxGaWVsZFdyYXBwZXI8U2NhbGFyc1snSW50J10+PjtcbiAgZGVwYXJ0czogRmllbGRXcmFwcGVyPFNjYWxhcnNbJ0RhdGVUaW1lJ10+O1xuICB0bWNQcmVmZXJyZWQ6IEZpZWxkV3JhcHBlcjxTY2FsYXJzWydCb29sZWFuJ10+O1xuICBjb21wYW55UHJlZmVycmVkOiBGaWVsZFdyYXBwZXI8U2NhbGFyc1snQm9vbGVhbiddPjtcbiAgb2ZmaWNlUHJlZmVycmVkOiBGaWVsZFdyYXBwZXI8U2NhbGFyc1snQm9vbGVhbiddPjtcbiAgdG1jUHJlZmVycmVkTWVzc2FnZT86IE1heWJlPEZpZWxkV3JhcHBlcjxTY2FsYXJzWydTdHJpbmcnXT4+O1xuICBjb21wYW55UHJlZmVycmVkTWVzc2FnZT86IE1heWJlPEZpZWxkV3JhcHBlcjxTY2FsYXJzWydTdHJpbmcnXT4+O1xuICBvZmZpY2VQcmVmZXJyZWRNZXNzYWdlPzogTWF5YmU8RmllbGRXcmFwcGVyPFNjYWxhcnNbJ1N0cmluZyddPj47XG4gIHVuYXZhaWxhYmxlOiBGaWVsZFdyYXBwZXI8U2NhbGFyc1snQm9vbGVhbiddPjtcbiAgdW5hdmFpbGFibGVNZXNzYWdlPzogTWF5YmU8RmllbGRXcmFwcGVyPFNjYWxhcnNbJ1N0cmluZyddPj47XG4gIGZyb21Mb2NhdGlvbjogRmllbGRXcmFwcGVyPENhYkhpcmVMb2NhdGlvbj47XG4gIHRvTG9jYXRpb246IEZpZWxkV3JhcHBlcjxDYWJIaXJlTG9jYXRpb24+O1xuICB2aWFzOiBBcnJheTxGaWVsZFdyYXBwZXI8Q2FiSGlyZUxvY2F0aW9uPj47XG59O1xuXG5leHBvcnQgdHlwZSBDYWJIaXJlUmVzdWx0ID0ge1xuICBfX3R5cGVuYW1lPzogJ0NhYkhpcmVSZXN1bHQnO1xuICByZXN1bHRzOiBBcnJheTxGaWVsZFdyYXBwZXI8Q2FiSGlyZVF1b3RlPj47XG4gIGVycm9yczogQXJyYXk8RmllbGRXcmFwcGVyPFNlYXJjaEVycm9yPj47XG59O1xuXG5leHBvcnQgZW51bSBDYWJIaXJlVmVoaWNsZVR5cGUge1xuICBBbnkgPSAnQW55JyxcbiAgRGRhQ2FyID0gJ0REQUNhcicsXG4gIENvYWNoTGFyZ2UgPSAnQ29hY2hMYXJnZScsXG4gIENvYWNoU21hbGwgPSAnQ29hY2hTbWFsbCcsXG4gIEVjb25vbXkgPSAnRWNvbm9teScsXG4gIEVjb25vbXlDb2FjaCA9ICdFY29ub215Q29hY2gnLFxuICBFY29ub215TXB2U21hbGwgPSAnRWNvbm9teU1QVlNtYWxsJyxcbiAgRWNvbm9teU1wdkxhcmdlID0gJ0Vjb25vbXlNUFZMYXJnZScsXG4gIEVjb25vbXlTdXYgPSAnRWNvbm9teVNVVicsXG4gIEV4ZWN1dGl2ZUNhciA9ICdFeGVjdXRpdmVDYXInLFxuICBFeGVjdXRpdmVTdXYgPSAnRXhlY3V0aXZlU1VWJyxcbiAgR3JlZW5DYXIgPSAnR3JlZW5DYXInLFxuICBHcmVlbkV4ZWN1dGl2ZSA9ICdHcmVlbkV4ZWN1dGl2ZScsXG4gIEdyZWVuU3V2ID0gJ0dyZWVuU1VWJyxcbiAgU21hbGxNcHYgPSAnU21hbGxNUFYnLFxuICBNZWRpdW1NcHYgPSAnTWVkaXVtTVBWJyxcbiAgTGFyZ2VNcHYgPSAnTGFyZ2VNUFYnLFxuICBTdGFuZGFyZENhciA9ICdTdGFuZGFyZENhcicsXG4gIFN1diA9ICdTVVYnLFxuICBCbGFja0NhYiA9ICdCbGFja0NhYicsXG4gIFRheGlTdXYgPSAnVGF4aVNVVidcbn1cblxuZXhwb3J0IHR5cGUgQ2FySGlyZUFkZGl0aW9uYWxJbmZvSXRlbSA9IHtcbiAgX190eXBlbmFtZT86ICdDYXJIaXJlQWRkaXRpb25hbEluZm9JdGVtJztcbiAgbmFtZT86IE1heWJlPEZpZWxkV3JhcHBlcjxTY2FsYXJzWydTdHJpbmcnXT4+O1xuICB0ZXh0PzogTWF5YmU8QXJyYXk8TWF5YmU8RmllbGRXcmFwcGVyPFNjYWxhcnNbJ1N0cmluZyddPj4+PjtcbiAganNvbj86IE1heWJlPEZpZWxkV3JhcHBlcjxTY2FsYXJzWydTdHJpbmcnXT4+O1xuICBjdXN0b20/OiBNYXliZTxBcnJheTxNYXliZTxGaWVsZFdyYXBwZXI8Q2FySGlyZUN1c3RvbT4+Pj47XG59O1xuXG5leHBvcnQgdHlwZSBDYXJIaXJlQWRkcmVzcyA9IHtcbiAgX190eXBlbmFtZT86ICdDYXJIaXJlQWRkcmVzcyc7XG4gIG5hbWU/OiBNYXliZTxGaWVsZFdyYXBwZXI8U2NhbGFyc1snU3RyaW5nJ10+PjtcbiAgdG9wTGluZT86IE1heWJlPEZpZWxkV3JhcHBlcjxTY2FsYXJzWydTdHJpbmcnXT4+O1xuICBjaXR5PzogTWF5YmU8RmllbGRXcmFwcGVyPFNjYWxhcnNbJ1N0cmluZyddPj47XG4gIHJlZ2lvbj86IE1heWJlPEZpZWxkV3JhcHBlcjxTY2FsYXJzWydTdHJpbmcnXT4+O1xuICBwb3N0Q29kZT86IE1heWJlPEZpZWxkV3JhcHBlcjxTY2FsYXJzWydTdHJpbmcnXT4+O1xuICBjb3VudHJ5PzogTWF5YmU8RmllbGRXcmFwcGVyPFNjYWxhcnNbJ1N0cmluZyddPj47XG4gIGNvdW50cnlDb2RlPzogTWF5YmU8RmllbGRXcmFwcGVyPFNjYWxhcnNbJ1N0cmluZyddPj47XG4gIHN0YXRlQ29kZT86IE1heWJlPEZpZWxkV3JhcHBlcjxTY2FsYXJzWydTdHJpbmcnXT4+O1xuICBsYXRpdHVkZT86IE1heWJlPEZpZWxkV3JhcHBlcjxTY2FsYXJzWydGbG9hdCddPj47XG4gIGxvbmdpdHVkZT86IE1heWJlPEZpZWxkV3JhcHBlcjxTY2FsYXJzWydGbG9hdCddPj47XG59O1xuXG5leHBvcnQgdHlwZSBDYXJIaXJlQWlycG9ydElucHV0ID0ge1xuICBwaWNrdXBDb2RlPzogTWF5YmU8U2NhbGFyc1snU3RyaW5nJ10+O1xuICBkcm9wb2ZmQ29kZT86IE1heWJlPFNjYWxhcnNbJ1N0cmluZyddPjtcbn07XG5cbmV4cG9ydCB0eXBlIENhckhpcmVDaGFyZ2UgPSB7XG4gIF9fdHlwZW5hbWU/OiAnQ2FySGlyZUNoYXJnZSc7XG4gIGxhYmVsPzogTWF5YmU8RmllbGRXcmFwcGVyPFNjYWxhcnNbJ1N0cmluZyddPj47XG4gIGFtb3VudD86IE1heWJlPEZpZWxkV3JhcHBlcjxTY2FsYXJzWydTdHJpbmcnXT4+O1xuICBjdXJyZW5jeUNvZGU/OiBNYXliZTxGaWVsZFdyYXBwZXI8U2NhbGFyc1snU3RyaW5nJ10+Pjtcbn07XG5cbmV4cG9ydCB0eXBlIENhckhpcmVDaXR5SW5wdXQgPSB7XG4gIHBpY2t1cENvdW50cnlDb2RlPzogTWF5YmU8U2NhbGFyc1snU3RyaW5nJ10+O1xuICBwaWNrdXBDaXR5PzogTWF5YmU8U2NhbGFyc1snU3RyaW5nJ10+O1xuICBkcm9wb2ZmQ291bnRyeUNvZGU/OiBNYXliZTxTY2FsYXJzWydTdHJpbmcnXT47XG4gIGRyb3BvZmZDaXR5PzogTWF5YmU8U2NhbGFyc1snU3RyaW5nJ10+O1xufTtcblxuZXhwb3J0IGVudW0gQ2FySGlyZUNsYXNzIHtcbiAgTWluaSA9ICdNaW5pJyxcbiAgTWluaUVsaXRlID0gJ01pbmlFbGl0ZScsXG4gIEVjb25vbXkgPSAnRWNvbm9teScsXG4gIEVjb25vbXlFbGl0ZSA9ICdFY29ub215RWxpdGUnLFxuICBDb21wYWN0ID0gJ0NvbXBhY3QnLFxuICBDb21wYWN0RWxpdGUgPSAnQ29tcGFjdEVsaXRlJyxcbiAgSW50ZXJtZWRpYXRlID0gJ0ludGVybWVkaWF0ZScsXG4gIEludGVybWVkaWF0ZUVsaXRlID0gJ0ludGVybWVkaWF0ZUVsaXRlJyxcbiAgU3RhbmRhcmQgPSAnU3RhbmRhcmQnLFxuICBTdGFuZGFyZEVsaXRlID0gJ1N0YW5kYXJkRWxpdGUnLFxuICBGdWxsc2l6ZSA9ICdGdWxsc2l6ZScsXG4gIEZ1bGxzaXplRWxpdGUgPSAnRnVsbHNpemVFbGl0ZScsXG4gIFByZW1pdW0gPSAnUHJlbWl1bScsXG4gIFByZW1pdW1FbGl0ZSA9ICdQcmVtaXVtRWxpdGUnLFxuICBMdXh1cnkgPSAnTHV4dXJ5JyxcbiAgTHV4dXJ5RWxpdGUgPSAnTHV4dXJ5RWxpdGUnLFxuICBPdmVyc2l6ZSA9ICdPdmVyc2l6ZScsXG4gIFNwZWNpYWwgPSAnU3BlY2lhbCdcbn1cblxuZXhwb3J0IHR5cGUgQ2FySGlyZUN1c3RvbSA9IHtcbiAgX190eXBlbmFtZT86ICdDYXJIaXJlQ3VzdG9tJztcbiAgbmFtZT86IE1heWJlPEZpZWxkV3JhcHBlcjxTY2FsYXJzWydTdHJpbmcnXT4+O1xuICB0ZXh0PzogTWF5YmU8QXJyYXk8TWF5YmU8RmllbGRXcmFwcGVyPFNjYWxhcnNbJ1N0cmluZyddPj4+Pjtcbn07XG5cbmV4cG9ydCB0eXBlIENhckhpcmVEZXBvdCA9IHtcbiAgX190eXBlbmFtZT86ICdDYXJIaXJlRGVwb3QnO1xuICBjb3VudHJ5Q29kZT86IE1heWJlPEZpZWxkV3JhcHBlcjxTY2FsYXJzWydTdHJpbmcnXT4+O1xuICBsb2NhdGlvbkNvZGU/OiBNYXliZTxGaWVsZFdyYXBwZXI8U2NhbGFyc1snU3RyaW5nJ10+PjtcbiAgZXh0ZW5kZWRMb2NhdGlvbkNvZGU/OiBNYXliZTxGaWVsZFdyYXBwZXI8U2NhbGFyc1snU3RyaW5nJ10+PjtcbiAgdmVuZG9yQ29kZT86IE1heWJlPEZpZWxkV3JhcHBlcjxTY2FsYXJzWydTdHJpbmcnXT4+O1xuICBsYXRpdHVkZT86IE1heWJlPEZpZWxkV3JhcHBlcjxTY2FsYXJzWydGbG9hdCddPj47XG4gIGxvbmdpdHVkZT86IE1heWJlPEZpZWxkV3JhcHBlcjxTY2FsYXJzWydGbG9hdCddPj47XG4gIHZlbmRvcj86IE1heWJlPEZpZWxkV3JhcHBlcjxTY2FsYXJzWydTdHJpbmcnXT4+O1xuICBhZGRyZXNzTGluZXM/OiBNYXliZTxBcnJheTxNYXliZTxGaWVsZFdyYXBwZXI8U2NhbGFyc1snU3RyaW5nJ10+Pj4+O1xuICBjaXR5TmFtZT86IE1heWJlPEZpZWxkV3JhcHBlcjxTY2FsYXJzWydTdHJpbmcnXT4+O1xufTtcblxuZXhwb3J0IHR5cGUgQ2FySGlyZURlcG90UmVzdWx0ID0ge1xuICBfX3R5cGVuYW1lPzogJ0NhckhpcmVEZXBvdFJlc3VsdCc7XG4gIHJlc3VsdHM6IEFycmF5PEZpZWxkV3JhcHBlcjxDYXJIaXJlRGVwb3Q+PjtcbiAgZXJyb3JzOiBBcnJheTxGaWVsZFdyYXBwZXI8U2VhcmNoRXJyb3I+Pjtcbn07XG5cbmV4cG9ydCB0eXBlIENhckhpcmVEZXRhaWxSZXF1ZXN0UmVzcG9uc2UgPSB7XG4gIF9fdHlwZW5hbWU/OiAnQ2FySGlyZURldGFpbFJlcXVlc3RSZXNwb25zZSc7XG4gIGlkZW50aWZpZXJzPzogTWF5YmU8RmllbGRXcmFwcGVyPENhckhpcmVJZGVudGlmaWVycz4+O1xuICB2ZW5kb3I/OiBNYXliZTxGaWVsZFdyYXBwZXI8Q2FySGlyZVZlbmRvcj4+O1xuICBhZGRyZXNzPzogTWF5YmU8RmllbGRXcmFwcGVyPENhckhpcmVBZGRyZXNzPj47XG4gIGFkZGl0aW9uYWxJbmZvPzogTWF5YmU8QXJyYXk8RmllbGRXcmFwcGVyPENhckhpcmVBZGRpdGlvbmFsSW5mb0l0ZW0+Pj47XG59O1xuXG5leHBvcnQgdHlwZSBDYXJIaXJlRGlzcGxheVJlY29yZCA9IHtcbiAgX190eXBlbmFtZT86ICdDYXJIaXJlRGlzcGxheVJlY29yZCc7XG4gIHN0YXR1cz86IE1heWJlPEZpZWxkV3JhcHBlcjxTY2FsYXJzWydTdHJpbmcnXT4+O1xuICBwaWNrdXA/OiBNYXliZTxGaWVsZFdyYXBwZXI8U2NhbGFyc1snU3RyaW5nJ10+PjtcbiAgZHJvcG9mZj86IE1heWJlPEZpZWxkV3JhcHBlcjxTY2FsYXJzWydTdHJpbmcnXT4+O1xuICB2ZW5kb3I/OiBNYXliZTxGaWVsZFdyYXBwZXI8Q2FySGlyZVZlbmRvcj4+O1xuICB2ZWhpY2xlPzogTWF5YmU8RmllbGRXcmFwcGVyPENhckhpcmVWZWhpY2xlPj47XG4gIGNoYXJnZXM/OiBNYXliZTxBcnJheTxNYXliZTxGaWVsZFdyYXBwZXI8Q2FySGlyZUNoYXJnZT4+Pj47XG4gIHBpY2t1cExvY2F0aW9uPzogTWF5YmU8RmllbGRXcmFwcGVyPENhckhpcmVBZGRyZXNzPj47XG4gIHJldHVybkxvY2F0aW9uPzogTWF5YmU8RmllbGRXcmFwcGVyPENhckhpcmVBZGRyZXNzPj47XG4gIGFkZGl0aW9uYWxJbmZvPzogTWF5YmU8QXJyYXk8TWF5YmU8RmllbGRXcmFwcGVyPENhckhpcmVBZGRpdGlvbmFsSW5mb0l0ZW0+Pj4+O1xufTtcblxuZXhwb3J0IHR5cGUgQ2FySGlyZUlkZW50aWZpZXJzID0ge1xuICBfX3R5cGVuYW1lPzogJ0NhckhpcmVJZGVudGlmaWVycyc7XG4gIGxvY2F0b3I/OiBNYXliZTxGaWVsZFdyYXBwZXI8U2NhbGFyc1snU3RyaW5nJ10+PjtcbiAgcnBoPzogTWF5YmU8RmllbGRXcmFwcGVyPFNjYWxhcnNbJ1N0cmluZyddPj47XG4gIHN0YXR1cz86IE1heWJlPEZpZWxkV3JhcHBlcjxTY2FsYXJzWydTdHJpbmcnXT4+O1xuICB2ZWhUeXBlPzogTWF5YmU8RmllbGRXcmFwcGVyPFNjYWxhcnNbJ1N0cmluZyddPj47XG4gIGxvY2F0aW9uQ29kZT86IE1heWJlPEZpZWxkV3JhcHBlcjxTY2FsYXJzWydTdHJpbmcnXT4+O1xuICBleHRlbmRlZExvY2F0aW9uQ29kZT86IE1heWJlPEZpZWxkV3JhcHBlcjxTY2FsYXJzWydTdHJpbmcnXT4+O1xuICBsb2NhdGlvbk5hbWU/OiBNYXliZTxGaWVsZFdyYXBwZXI8U2NhbGFyc1snU3RyaW5nJ10+PjtcbiAgZHJvcE9mZkxvY2F0aW9uPzogTWF5YmU8RmllbGRXcmFwcGVyPFNjYWxhcnNbJ1N0cmluZyddPj47XG4gIHBpY2t1cERhdGVUaW1lPzogTWF5YmU8RmllbGRXcmFwcGVyPFNjYWxhcnNbJ0RhdGVUaW1lJ10+PjtcbiAgZHJvcG9mZkRhdGVUaW1lPzogTWF5YmU8RmllbGRXcmFwcGVyPFNjYWxhcnNbJ0RhdGVUaW1lJ10+PjtcbiAgdmVuZG9yPzogTWF5YmU8RmllbGRXcmFwcGVyPFNjYWxhcnNbJ1N0cmluZyddPj47XG59O1xuXG5leHBvcnQgdHlwZSBDYXJIaXJlSW5wdXRJZGVudGlmaWVycyA9IHtcbiAgbG9jYXRvcj86IE1heWJlPFNjYWxhcnNbJ1N0cmluZyddPjtcbiAgcnBoPzogTWF5YmU8U2NhbGFyc1snU3RyaW5nJ10+O1xuICBzdGF0dXM/OiBNYXliZTxTY2FsYXJzWydTdHJpbmcnXT47XG4gIHZlaFR5cGU/OiBNYXliZTxTY2FsYXJzWydTdHJpbmcnXT47XG4gIGxvY2F0aW9uQ29kZT86IE1heWJlPFNjYWxhcnNbJ1N0cmluZyddPjtcbiAgZXh0ZW5kZWRMb2NhdGlvbkNvZGU/OiBNYXliZTxTY2FsYXJzWydTdHJpbmcnXT47XG4gIGxvY2F0aW9uTmFtZT86IE1heWJlPFNjYWxhcnNbJ1N0cmluZyddPjtcbiAgZHJvcE9mZkxvY2F0aW9uPzogTWF5YmU8U2NhbGFyc1snU3RyaW5nJ10+O1xuICBwaWNrdXBEYXRlVGltZT86IE1heWJlPFNjYWxhcnNbJ0RhdGVUaW1lJ10+O1xuICBkcm9wb2ZmRGF0ZVRpbWU/OiBNYXliZTxTY2FsYXJzWydEYXRlVGltZSddPjtcbiAgdmVuZG9yPzogTWF5YmU8U2NhbGFyc1snU3RyaW5nJ10+O1xufTtcblxuZXhwb3J0IHR5cGUgQ2FySGlyZUxvY2F0aW9uSW5wdXQgPSB7XG4gIHBpY2t1cENvdW50cnlDb2RlPzogTWF5YmU8U2NhbGFyc1snU3RyaW5nJ10+O1xuICBwaWNrdXBQb3N0YWxDb2RlPzogTWF5YmU8U2NhbGFyc1snU3RyaW5nJ10+O1xuICBkcm9wb2ZmQ291bnRyeUNvZGU/OiBNYXliZTxTY2FsYXJzWydTdHJpbmcnXT47XG4gIGRyb3BvZmZQb3N0YWxDb2RlPzogTWF5YmU8U2NhbGFyc1snU3RyaW5nJ10+O1xufTtcblxuZXhwb3J0IHR5cGUgQ2FySGlyZVJlc3VsdCA9IHtcbiAgX190eXBlbmFtZT86ICdDYXJIaXJlUmVzdWx0JztcbiAgcmVzdWx0czogQXJyYXk8RmllbGRXcmFwcGVyPENhckhpcmVWZWhpY2xlQXZhaWxpYmlsaXR5Pj47XG4gIGVycm9yczogQXJyYXk8RmllbGRXcmFwcGVyPFNlYXJjaEVycm9yPj47XG59O1xuXG5leHBvcnQgZW51bSBDYXJIaXJlVHJhbnNtaXNzaW9uIHtcbiAgTWFudWFsID0gJ01hbnVhbCcsXG4gIEF1dG8gPSAnQXV0bydcbn1cblxuZXhwb3J0IGVudW0gQ2FySGlyZVR5cGUge1xuICBUd29Ub1RocmVlRG9vciA9ICdUd29Ub1RocmVlRG9vcicsXG4gIFR3b09yRm91ckRvb3IgPSAnVHdvT3JGb3VyRG9vcicsXG4gIEZvdXJUb0ZpdmVEb29yID0gJ0ZvdXJUb0ZpdmVEb29yJyxcbiAgV2Fnb25PckVzdGF0ZSA9ICdXYWdvbk9yRXN0YXRlJyxcbiAgUGFzc2VuZ2VyVmFuID0gJ1Bhc3NlbmdlclZhbicsXG4gIExpbW91c2luZSA9ICdMaW1vdXNpbmUnLFxuICBTcG9ydCA9ICdTcG9ydCcsXG4gIENvbnZlcnRpYmxlID0gJ0NvbnZlcnRpYmxlJyxcbiAgU3V2ID0gJ1NVVicsXG4gIE9wZW5BaXJBbGxUZXJyYWluID0gJ09wZW5BaXJBbGxUZXJyYWluJyxcbiAgU3BlY2lhbCA9ICdTcGVjaWFsJyxcbiAgUGlja1VwUmVndWxhckNhYiA9ICdQaWNrVXBSZWd1bGFyQ2FiJyxcbiAgUGlja1VwRXh0ZW5kZWRDYWIgPSAnUGlja1VwRXh0ZW5kZWRDYWInLFxuICBTcGVjaWFsT2ZmZXJDYXIgPSAnU3BlY2lhbE9mZmVyQ2FyJyxcbiAgQ291cGUgPSAnQ291cGUnLFxuICBNb25vc3BhY2VFdXJvcGVhblVzZSA9ICdNb25vc3BhY2VFdXJvcGVhblVzZScsXG4gIE1vdG9ySG9tZSA9ICdNb3RvckhvbWUnLFxuICBUd29XaGVlbFZlaGljbGUgPSAnVHdvV2hlZWxWZWhpY2xlJyxcbiAgUm9hZHN0ZXIgPSAnUm9hZHN0ZXInXG59XG5cbmV4cG9ydCB0eXBlIENhckhpcmVWZWhpY2xlID0ge1xuICBfX3R5cGVuYW1lPzogJ0NhckhpcmVWZWhpY2xlJztcbiAgY2xhc3M/OiBNYXliZTxGaWVsZFdyYXBwZXI8U2NhbGFyc1snU3RyaW5nJ10+PjtcbiAgdHlwZT86IE1heWJlPEZpZWxkV3JhcHBlcjxTY2FsYXJzWydTdHJpbmcnXT4+O1xuICB0cmFuc21pc3Npb24/OiBNYXliZTxGaWVsZFdyYXBwZXI8U2NhbGFyc1snU3RyaW5nJ10+PjtcbiAgYWlyY29uPzogTWF5YmU8RmllbGRXcmFwcGVyPFNjYWxhcnNbJ0Jvb2xlYW4nXT4+O1xuICBkZXNjcmlwdGlvbj86IE1heWJlPEZpZWxkV3JhcHBlcjxTY2FsYXJzWydTdHJpbmcnXT4+O1xuICBpbWFnZXM/OiBNYXliZTxBcnJheTxNYXliZTxGaWVsZFdyYXBwZXI8U2NhbGFyc1snU3RyaW5nJ10+Pj4+O1xufTtcblxuZXhwb3J0IHR5cGUgQ2FySGlyZVZlaGljbGVBdmFpbGliaWxpdHkgPSB7XG4gIF9fdHlwZW5hbWU/OiAnQ2FySGlyZVZlaGljbGVBdmFpbGliaWxpdHknO1xuICBzb3VyY2U6IEZpZWxkV3JhcHBlcjxTY2FsYXJzWydTdHJpbmcnXT47XG4gIHNvdXJjZUlkOiBGaWVsZFdyYXBwZXI8U2NhbGFyc1snSW50J10+O1xuICBpZGVudGlmaWVycz86IE1heWJlPEZpZWxkV3JhcHBlcjxDYXJIaXJlSWRlbnRpZmllcnM+PjtcbiAgZGlzcGxheVJlY29yZD86IE1heWJlPEZpZWxkV3JhcHBlcjxDYXJIaXJlRGlzcGxheVJlY29yZD4+O1xuICB0bWNQcmVmZXJyZWQ6IEZpZWxkV3JhcHBlcjxTY2FsYXJzWydCb29sZWFuJ10+O1xuICBjb21wYW55UHJlZmVycmVkOiBGaWVsZFdyYXBwZXI8U2NhbGFyc1snQm9vbGVhbiddPjtcbiAgb2ZmaWNlUHJlZmVycmVkOiBGaWVsZFdyYXBwZXI8U2NhbGFyc1snQm9vbGVhbiddPjtcbiAgdG1jUHJlZmVycmVkTWVzc2FnZT86IE1heWJlPEZpZWxkV3JhcHBlcjxTY2FsYXJzWydTdHJpbmcnXT4+O1xuICBjb21wYW55UHJlZmVycmVkTWVzc2FnZT86IE1heWJlPEZpZWxkV3JhcHBlcjxTY2FsYXJzWydTdHJpbmcnXT4+O1xuICBvZmZpY2VQcmVmZXJyZWRNZXNzYWdlPzogTWF5YmU8RmllbGRXcmFwcGVyPFNjYWxhcnNbJ1N0cmluZyddPj47XG4gIHVuYXZhaWxhYmxlOiBGaWVsZFdyYXBwZXI8U2NhbGFyc1snQm9vbGVhbiddPjtcbiAgdW5hdmFpbGFibGVNZXNzYWdlPzogTWF5YmU8RmllbGRXcmFwcGVyPFNjYWxhcnNbJ1N0cmluZyddPj47XG4gIGNvMlBlclBhc3NlbmdlcjogRmllbGRXcmFwcGVyPFNjYWxhcnNbJ0Zsb2F0J10+O1xuICBjbzJQZXJJdGVtOiBGaWVsZFdyYXBwZXI8U2NhbGFyc1snRmxvYXQnXT47XG59O1xuXG5leHBvcnQgdHlwZSBDYXJIaXJlVmVuZG9yID0ge1xuICBfX3R5cGVuYW1lPzogJ0NhckhpcmVWZW5kb3InO1xuICBuYW1lPzogTWF5YmU8RmllbGRXcmFwcGVyPFNjYWxhcnNbJ1N0cmluZyddPj47XG4gIGxvZ28/OiBNYXliZTxGaWVsZFdyYXBwZXI8U2NhbGFyc1snU3RyaW5nJ10+Pjtcbn07XG5cbmV4cG9ydCB0eXBlIENhcmJvbkFsbG93YW5jZSA9IHtcbiAgX190eXBlbmFtZT86ICdDYXJib25BbGxvd2FuY2UnO1xuICBpZDogRmllbGRXcmFwcGVyPFNjYWxhcnNbJ0lEJ10+O1xuICBzdGFydE9mUGVyaW9kOiBGaWVsZFdyYXBwZXI8U2NhbGFyc1snRGF0ZVRpbWUnXT47XG4gIGVuZE9mUGVyaW9kOiBGaWVsZFdyYXBwZXI8U2NhbGFyc1snRGF0ZVRpbWUnXT47XG4gIHJlbWFpbmluZ0NvMjogRmllbGRXcmFwcGVyPFNjYWxhcnNbJ0Zsb2F0J10+O1xuICB0b3RhbENvMjogRmllbGRXcmFwcGVyPFNjYWxhcnNbJ0Zsb2F0J10+O1xuICBjYXJib25Qb2xpY3lTb3VyY2U6IEZpZWxkV3JhcHBlcjxDYXJib25Qb2xpY3lTb3VyY2U+O1xuICBwZXJpb2RDb25zdW1wdGlvbjogQXJyYXk8RmllbGRXcmFwcGVyPENhcmJvbkNvbnN1bXB0aW9uPj47XG4gIGNvbXBhbnk/OiBNYXliZTxGaWVsZFdyYXBwZXI8Q29tcGFueT4+O1xuICBvZmZpY2U/OiBNYXliZTxGaWVsZFdyYXBwZXI8T2ZmaWNlPj47XG4gIHVzZXI6IEZpZWxkV3JhcHBlcjxVc2VyPjtcbn07XG5cbmV4cG9ydCB0eXBlIENhcmJvbkNvbnN1bXB0aW9uID0ge1xuICBfX3R5cGVuYW1lPzogJ0NhcmJvbkNvbnN1bXB0aW9uJztcbiAgaWQ6IEZpZWxkV3JhcHBlcjxTY2FsYXJzWydJRCddPjtcbiAgY29uc3VtZWQ6IEZpZWxkV3JhcHBlcjxTY2FsYXJzWydGbG9hdCddPjtcbiAgZGF0ZXRpbWU6IEZpZWxkV3JhcHBlcjxTY2FsYXJzWydEYXRlVGltZSddPjtcbn07XG5cbmV4cG9ydCBlbnVtIENhcmJvblBvbGljeVNvdXJjZSB7XG4gIENvbXBhbnkgPSAnQ09NUEFOWScsXG4gIE9mZmljZSA9ICdPRkZJQ0UnLFxuICBVc2VyID0gJ1VTRVInXG59XG5cbmV4cG9ydCB0eXBlIENpdHkgPSB7XG4gIF9fdHlwZW5hbWU/OiAnQ2l0eSc7XG4gIGlkOiBGaWVsZFdyYXBwZXI8U2NhbGFyc1snSUQnXT47XG4gIG5hbWU6IEZpZWxkV3JhcHBlcjxTY2FsYXJzWydTdHJpbmcnXT47XG4gIGNvdW50cnk6IEZpZWxkV3JhcHBlcjxTY2FsYXJzWydTdHJpbmcnXT47XG4gIGNvdW50cnlDb2RlOiBGaWVsZFdyYXBwZXI8U2NhbGFyc1snU3RyaW5nJ10+O1xuICBjb29yZGluYXRlczogRmllbGRXcmFwcGVyPEdlb0Nvb3JkaW5hdGVzPjtcbiAgY29udGluZW50TmFtZTogRmllbGRXcmFwcGVyPFNjYWxhcnNbJ1N0cmluZyddPjtcbn07XG5cbmV4cG9ydCB0eXBlIENvbXBhbnkgPSB7XG4gIF9fdHlwZW5hbWU/OiAnQ29tcGFueSc7XG4gIGlkOiBGaWVsZFdyYXBwZXI8U2NhbGFyc1snSUQnXT47XG4gIG5hbWU6IEZpZWxkV3JhcHBlcjxTY2FsYXJzWydTdHJpbmcnXT47XG4gIHRtYzogRmllbGRXcmFwcGVyPFRtYz47XG4gIG9mZmljZXM6IEFycmF5PEZpZWxkV3JhcHBlcjxPZmZpY2U+PjtcbiAgY29tcGFueUdyb3VwczogQXJyYXk8RmllbGRXcmFwcGVyPENvbXBhbnlHcm91cD4+O1xuICBhZGRyZXNzZXM6IEFycmF5PEZpZWxkV3JhcHBlcjxBZGRyZXNzPj47XG4gIHBob25lTnVtYmVyczogQXJyYXk8RmllbGRXcmFwcGVyPFBob25lTnVtYmVyPj47XG4gIHN1cHBvcnRQaG9uZU51bWJlcj86IE1heWJlPEZpZWxkV3JhcHBlcjxQaG9uZU51bWJlcj4+O1xuICBjcmVhdGVkQXQ6IEZpZWxkV3JhcHBlcjxTY2FsYXJzWydEYXRlVGltZSddPjtcbiAgdXBkYXRlZEF0OiBGaWVsZFdyYXBwZXI8U2NhbGFyc1snRGF0ZVRpbWUnXT47XG4gIHN1cHBvcnRFbWFpbDogRmllbGRXcmFwcGVyPFNjYWxhcnNbJ1N0cmluZyddPjtcbiAgY28yQ29uc3VtcHRpb25Qb2xpY3k/OiBNYXliZTxGaWVsZFdyYXBwZXI8U2NhbGFyc1snU3RyaW5nJ10+PjtcbiAgY28yQWxsb3dhbmNlUGVyaW9kPzogTWF5YmU8RmllbGRXcmFwcGVyPFNjYWxhcnNbJ1N0cmluZyddPj47XG4gIGNvMkFsbG93YW5jZVBlclBlcmlvZD86IE1heWJlPEZpZWxkV3JhcHBlcjxTY2FsYXJzWydTdHJpbmcnXT4+O1xufTtcblxuZXhwb3J0IHR5cGUgQ29tcGFueUdyb3VwID0ge1xuICBfX3R5cGVuYW1lPzogJ0NvbXBhbnlHcm91cCc7XG4gIGlkOiBGaWVsZFdyYXBwZXI8U2NhbGFyc1snSUQnXT47XG4gIG5hbWU6IEZpZWxkV3JhcHBlcjxTY2FsYXJzWydTdHJpbmcnXT47XG4gIGRlc2NyaXB0aW9uOiBGaWVsZFdyYXBwZXI8U2NhbGFyc1snU3RyaW5nJ10+O1xuICBjb21wYW55OiBGaWVsZFdyYXBwZXI8Q29tcGFueT47XG4gIGNyZWF0ZWRBdDogRmllbGRXcmFwcGVyPFNjYWxhcnNbJ0RhdGVUaW1lJ10+O1xuICB1cGRhdGVkQXQ6IEZpZWxkV3JhcHBlcjxTY2FsYXJzWydEYXRlVGltZSddPjtcbn07XG5cbmV4cG9ydCB0eXBlIENvbmZlcm1hQmxvY2tlZEhvdGVsc1Jlc3VsdCA9IHtcbiAgX190eXBlbmFtZT86ICdDb25mZXJtYUJsb2NrZWRIb3RlbHNSZXN1bHQnO1xuICByZXN1bHRzOiBGaWVsZFdyYXBwZXI8U2NhbGFyc1snQm9vbGVhbiddPjtcbiAgZXJyb3JzOiBBcnJheTxGaWVsZFdyYXBwZXI8U2VhcmNoRXJyb3I+Pjtcbn07XG5cbmV4cG9ydCB0eXBlIENvbmZlcm1hQ2FyZCA9IHtcbiAgX190eXBlbmFtZT86ICdDb25mZXJtYUNhcmQnO1xuICBpZDogRmllbGRXcmFwcGVyPFNjYWxhcnNbJ0lEJ10+O1xuICBsYWJlbD86IE1heWJlPEZpZWxkV3JhcHBlcjxTY2FsYXJzWydTdHJpbmcnXT4+O1xuICB0b2tlbj86IE1heWJlPEZpZWxkV3JhcHBlcjxTY2FsYXJzWydTdHJpbmcnXT4+O1xuICB3ZWJJbnN0YW5jZUlkPzogTWF5YmU8RmllbGRXcmFwcGVyPFNjYWxhcnNbJ1N0cmluZyddPj47XG4gIGNvbXBhbnk/OiBNYXliZTxGaWVsZFdyYXBwZXI8U2NhbGFyc1snSUQnXT4+O1xuICBvZmZpY2U/OiBNYXliZTxGaWVsZFdyYXBwZXI8U2NhbGFyc1snSUQnXT4+O1xuICB1c2VyPzogTWF5YmU8RmllbGRXcmFwcGVyPFNjYWxhcnNbJ0lEJ10+PjtcbiAgc3RhdHVzOiBGaWVsZFdyYXBwZXI8Q29uZmVybWFDYXJkU3RhdHVzPjtcbiAgZXhwaXJlcz86IE1heWJlPEZpZWxkV3JhcHBlcjxTY2FsYXJzWydTdHJpbmcnXT4+O1xuICBjYXJkSG9sZGVyTmFtZT86IE1heWJlPEZpZWxkV3JhcHBlcjxTY2FsYXJzWydTdHJpbmcnXT4+O1xuICBjYXJkVHlwZT86IE1heWJlPEZpZWxkV3JhcHBlcjxTY2FsYXJzWydTdHJpbmcnXT4+O1xufTtcblxuZXhwb3J0IHR5cGUgQ29uZmVybWFDYXJkUmVzdWx0cyA9IHtcbiAgX190eXBlbmFtZT86ICdDb25mZXJtYUNhcmRSZXN1bHRzJztcbiAgaWQ6IEZpZWxkV3JhcHBlcjxTY2FsYXJzWydJRCddPjtcbiAgbGFiZWw/OiBNYXliZTxGaWVsZFdyYXBwZXI8U2NhbGFyc1snU3RyaW5nJ10+PjtcbiAgdG9rZW4/OiBNYXliZTxGaWVsZFdyYXBwZXI8U2NhbGFyc1snU3RyaW5nJ10+PjtcbiAgY2FyZEhvbGRlck5hbWU/OiBNYXliZTxGaWVsZFdyYXBwZXI8U2NhbGFyc1snU3RyaW5nJ10+PjtcbiAgY2FyZFR5cGU/OiBNYXliZTxGaWVsZFdyYXBwZXI8U2NhbGFyc1snU3RyaW5nJ10+PjtcbiAgZXhwaXJlcz86IE1heWJlPEZpZWxkV3JhcHBlcjxTY2FsYXJzWydEYXRlJ10+PjtcbiAgc3RhdHVzOiBGaWVsZFdyYXBwZXI8Q29uZmVybWFDYXJkU3RhdHVzPjtcbn07XG5cbmV4cG9ydCBlbnVtIENvbmZlcm1hQ2FyZFN0YXR1cyB7XG4gIFBlbmRpbmcgPSAnUGVuZGluZycsXG4gIEVuYWJsZWQgPSAnRW5hYmxlZCcsXG4gIERpc2FibGVkID0gJ0Rpc2FibGVkJ1xufVxuXG5leHBvcnQgdHlwZSBDb25mZXJtYUNpdHlMb2NhdGlvbiA9IHtcbiAgX190eXBlbmFtZT86ICdDb25mZXJtYUNpdHlMb2NhdGlvbic7XG4gIGZvdW5kRXhhY3Q6IEZpZWxkV3JhcHBlcjxTY2FsYXJzWydCb29sZWFuJ10+O1xuICBzdWdnZXN0aW9ucz86IE1heWJlPEFycmF5PE1heWJlPEZpZWxkV3JhcHBlcjxDb25mZXJtYUNpdHlMb2NhdGlvbk9wdGlvbnM+Pj4+O1xufTtcblxuZXhwb3J0IHR5cGUgQ29uZmVybWFDaXR5TG9jYXRpb25PcHRpb25zID0ge1xuICBfX3R5cGVuYW1lPzogJ0NvbmZlcm1hQ2l0eUxvY2F0aW9uT3B0aW9ucyc7XG4gIG5hbWU6IEZpZWxkV3JhcHBlcjxTY2FsYXJzWydTdHJpbmcnXT47XG4gIGNvdW50cnlDb2RlOiBGaWVsZFdyYXBwZXI8U2NhbGFyc1snU3RyaW5nJ10+O1xuICBsYXRpdHVkZT86IE1heWJlPEZpZWxkV3JhcHBlcjxTY2FsYXJzWydGbG9hdCddPj47XG4gIGxvbmdpdHVkZT86IE1heWJlPEZpZWxkV3JhcHBlcjxTY2FsYXJzWydGbG9hdCddPj47XG59O1xuXG5leHBvcnQgdHlwZSBDb25mZXJtYUNyZWF0ZUNhcmRSZXN1bHQgPSB7XG4gIF9fdHlwZW5hbWU/OiAnQ29uZmVybWFDcmVhdGVDYXJkUmVzdWx0JztcbiAgcmVzdWx0cz86IE1heWJlPEZpZWxkV3JhcHBlcjxTY2FsYXJzWydTdHJpbmcnXT4+O1xuICBlcnJvcnM6IEFycmF5PEZpZWxkV3JhcHBlcjxTZWFyY2hFcnJvcj4+O1xufTtcblxuZXhwb3J0IHR5cGUgQ29uZmVybWFPZmZpY2VBZGRyZXNzID0ge1xuICBfX3R5cGVuYW1lPzogJ0NvbmZlcm1hT2ZmaWNlQWRkcmVzcyc7XG4gIGFkZHJlc3NOYW1lPzogTWF5YmU8RmllbGRXcmFwcGVyPFNjYWxhcnNbJ1N0cmluZyddPj47XG4gIGFkZHJlc3NMaW5lMT86IE1heWJlPEZpZWxkV3JhcHBlcjxTY2FsYXJzWydTdHJpbmcnXT4+O1xuICBhZGRyZXNzTGluZTI/OiBNYXliZTxGaWVsZFdyYXBwZXI8U2NhbGFyc1snU3RyaW5nJ10+PjtcbiAgYWRkcmVzc0xpbmUzPzogTWF5YmU8RmllbGRXcmFwcGVyPFNjYWxhcnNbJ1N0cmluZyddPj47XG4gIHBvc3RhbENvZGU/OiBNYXliZTxGaWVsZFdyYXBwZXI8U2NhbGFyc1snU3RyaW5nJ10+PjtcbiAgY2l0eT86IE1heWJlPEZpZWxkV3JhcHBlcjxTY2FsYXJzWydTdHJpbmcnXT4+O1xuICBjb3VudHJ5Q29kZT86IE1heWJlPEZpZWxkV3JhcHBlcjxTY2FsYXJzWydTdHJpbmcnXT4+O1xuICBjb3VudHJ5TmFtZT86IE1heWJlPEZpZWxkV3JhcHBlcjxTY2FsYXJzWydTdHJpbmcnXT4+O1xuICB0ZWxlcGhvbmVOdW1iZXI/OiBNYXliZTxGaWVsZFdyYXBwZXI8U2NhbGFyc1snU3RyaW5nJ10+PjtcbiAgZmFjc2ltaWxlTnVtYmVyPzogTWF5YmU8RmllbGRXcmFwcGVyPFNjYWxhcnNbJ1N0cmluZyddPj47XG4gIGVtYWlsQWRkcmVzcz86IE1heWJlPEZpZWxkV3JhcHBlcjxTY2FsYXJzWydTdHJpbmcnXT4+O1xuICBzdGF0ZVByb3ZpbmNlPzogTWF5YmU8RmllbGRXcmFwcGVyPFNjYWxhcnNbJ1N0cmluZyddPj47XG4gIG1vYmlsZU51bWJlcj86IE1heWJlPEZpZWxkV3JhcHBlcjxTY2FsYXJzWydTdHJpbmcnXT4+O1xufTtcblxuZXhwb3J0IHR5cGUgQ29uZmVybWFPZmZpY2VIb3RlbHMgPSB7XG4gIF9fdHlwZW5hbWU/OiAnQ29uZmVybWFPZmZpY2VIb3RlbHMnO1xuICBob3RlbElkPzogTWF5YmU8RmllbGRXcmFwcGVyPFNjYWxhcnNbJ0ludCddPj47XG4gIGhvdGVsTmFtZT86IE1heWJlPEZpZWxkV3JhcHBlcjxTY2FsYXJzWydTdHJpbmcnXT4+O1xuICBpc1ByZWZlcnJlZD86IE1heWJlPEZpZWxkV3JhcHBlcjxTY2FsYXJzWydCb29sZWFuJ10+Pjtcbn07XG5cbmV4cG9ydCB0eXBlIENvbmZlcm1hT2ZmaWNlSW5mbyA9IHtcbiAgX190eXBlbmFtZT86ICdDb25mZXJtYU9mZmljZUluZm8nO1xuICBpZDogRmllbGRXcmFwcGVyPFNjYWxhcnNbJ0ludCddPjtcbiAgbmFtZT86IE1heWJlPEZpZWxkV3JhcHBlcjxTY2FsYXJzWydTdHJpbmcnXT4+O1xuICBhZGRyZXNzPzogTWF5YmU8RmllbGRXcmFwcGVyPENvbmZlcm1hT2ZmaWNlQWRkcmVzcz4+O1xuICBjbG9zZXN0QWlycG9ydD86IE1heWJlPEZpZWxkV3JhcHBlcjxTY2FsYXJzWydTdHJpbmcnXT4+O1xuICBjbG9zZXN0VHJhaW5TdGF0aW9uPzogTWF5YmU8RmllbGRXcmFwcGVyPFNjYWxhcnNbJ1N0cmluZyddPj47XG4gIGxvbmdpdHVkZT86IE1heWJlPEZpZWxkV3JhcHBlcjxTY2FsYXJzWydTdHJpbmcnXT4+O1xuICBsYXRpdHVkZT86IE1heWJlPEZpZWxkV3JhcHBlcjxTY2FsYXJzWydTdHJpbmcnXT4+O1xuICBjbG9zZXN0SG90ZWxzPzogTWF5YmU8QXJyYXk8TWF5YmU8RmllbGRXcmFwcGVyPENvbmZlcm1hT2ZmaWNlSG90ZWxzPj4+Pjtcbn07XG5cbmV4cG9ydCB0eXBlIENvbmZlcm1hT2ZmaWNlTmFtZXMgPSB7XG4gIF9fdHlwZW5hbWU/OiAnQ29uZmVybWFPZmZpY2VOYW1lcyc7XG4gIGlkOiBGaWVsZFdyYXBwZXI8U2NhbGFyc1snSW50J10+O1xuICBuYW1lOiBGaWVsZFdyYXBwZXI8U2NhbGFyc1snU3RyaW5nJ10+O1xufTtcblxuZXhwb3J0IHR5cGUgQ29uZmVybWFPZmZpY2VOYW1lc1Jlc3VsdCA9IHtcbiAgX190eXBlbmFtZT86ICdDb25mZXJtYU9mZmljZU5hbWVzUmVzdWx0JztcbiAgcmVzdWx0cz86IE1heWJlPEFycmF5PE1heWJlPEZpZWxkV3JhcHBlcjxDb25mZXJtYU9mZmljZU5hbWVzPj4+PjtcbiAgZXJyb3JzOiBBcnJheTxGaWVsZFdyYXBwZXI8U2VhcmNoRXJyb3I+Pjtcbn07XG5cbmV4cG9ydCB0eXBlIENvbmZlcm1hT2ZmaWNlUmVzdWx0ID0ge1xuICBfX3R5cGVuYW1lPzogJ0NvbmZlcm1hT2ZmaWNlUmVzdWx0JztcbiAgcmVzdWx0cz86IE1heWJlPEZpZWxkV3JhcHBlcjxDb25mZXJtYU9mZmljZUluZm8+PjtcbiAgZXJyb3JzOiBBcnJheTxGaWVsZFdyYXBwZXI8U2VhcmNoRXJyb3I+Pjtcbn07XG5cbmV4cG9ydCB0eXBlIENvdW50cnkgPSB7XG4gIF9fdHlwZW5hbWU/OiAnQ291bnRyeSc7XG4gIGlkOiBGaWVsZFdyYXBwZXI8U2NhbGFyc1snSUQnXT47XG4gIG5hbWU6IEZpZWxkV3JhcHBlcjxTY2FsYXJzWydTdHJpbmcnXT47XG4gIGNvZGU6IEZpZWxkV3JhcHBlcjxTY2FsYXJzWydTdHJpbmcnXT47XG4gIGRpYWxDb2RlPzogTWF5YmU8RmllbGRXcmFwcGVyPFNjYWxhcnNbJ1N0cmluZyddPj47XG59O1xuXG5leHBvcnQgZW51bSBDdXJyZW5jeUNvZGUge1xuICBBZWQgPSAnQUVEJyxcbiAgQWZuID0gJ0FGTicsXG4gIEFsbCA9ICdBTEwnLFxuICBBbWQgPSAnQU1EJyxcbiAgQW5nID0gJ0FORycsXG4gIEFvYSA9ICdBT0EnLFxuICBBcnMgPSAnQVJTJyxcbiAgQXVkID0gJ0FVRCcsXG4gIEF3ZyA9ICdBV0cnLFxuICBBem4gPSAnQVpOJyxcbiAgQmFtID0gJ0JBTScsXG4gIEJiZCA9ICdCQkQnLFxuICBCZHQgPSAnQkRUJyxcbiAgQmduID0gJ0JHTicsXG4gIEJoZCA9ICdCSEQnLFxuICBCaWYgPSAnQklGJyxcbiAgQm1kID0gJ0JNRCcsXG4gIEJuZCA9ICdCTkQnLFxuICBCb2IgPSAnQk9CJyxcbiAgQm92ID0gJ0JPVicsXG4gIEJybCA9ICdCUkwnLFxuICBCc2QgPSAnQlNEJyxcbiAgQnRuID0gJ0JUTicsXG4gIEJ3cCA9ICdCV1AnLFxuICBCeW4gPSAnQllOJyxcbiAgQnpkID0gJ0JaRCcsXG4gIENhZCA9ICdDQUQnLFxuICBDZGYgPSAnQ0RGJyxcbiAgQ2hlID0gJ0NIRScsXG4gIENoZiA9ICdDSEYnLFxuICBDaHcgPSAnQ0hXJyxcbiAgQ2xmID0gJ0NMRicsXG4gIENscCA9ICdDTFAnLFxuICBDbnkgPSAnQ05ZJyxcbiAgQ29wID0gJ0NPUCcsXG4gIENvdSA9ICdDT1UnLFxuICBDcmMgPSAnQ1JDJyxcbiAgQ3VjID0gJ0NVQycsXG4gIEN1cCA9ICdDVVAnLFxuICBDdmUgPSAnQ1ZFJyxcbiAgQ3prID0gJ0NaSycsXG4gIERqZiA9ICdESkYnLFxuICBEa2sgPSAnREtLJyxcbiAgRG9wID0gJ0RPUCcsXG4gIER6ZCA9ICdEWkQnLFxuICBFZ3AgPSAnRUdQJyxcbiAgRXJuID0gJ0VSTicsXG4gIEV0YiA9ICdFVEInLFxuICBFdXIgPSAnRVVSJyxcbiAgRmpkID0gJ0ZKRCcsXG4gIEZrcCA9ICdGS1AnLFxuICBHYnAgPSAnR0JQJyxcbiAgR2VsID0gJ0dFTCcsXG4gIEdocyA9ICdHSFMnLFxuICBHaXAgPSAnR0lQJyxcbiAgR21kID0gJ0dNRCcsXG4gIEduZiA9ICdHTkYnLFxuICBHdHEgPSAnR1RRJyxcbiAgR3lkID0gJ0dZRCcsXG4gIEhrZCA9ICdIS0QnLFxuICBIbmwgPSAnSE5MJyxcbiAgSHJrID0gJ0hSSycsXG4gIEh0ZyA9ICdIVEcnLFxuICBIdWYgPSAnSFVGJyxcbiAgSWRyID0gJ0lEUicsXG4gIElscyA9ICdJTFMnLFxuICBJbnIgPSAnSU5SJyxcbiAgSXFkID0gJ0lRRCcsXG4gIElyciA9ICdJUlInLFxuICBJc2sgPSAnSVNLJyxcbiAgSm1kID0gJ0pNRCcsXG4gIEpvZCA9ICdKT0QnLFxuICBKcHkgPSAnSlBZJyxcbiAgS2VzID0gJ0tFUycsXG4gIEtncyA9ICdLR1MnLFxuICBLaHIgPSAnS0hSJyxcbiAgS21mID0gJ0tNRicsXG4gIEtwdyA9ICdLUFcnLFxuICBLcncgPSAnS1JXJyxcbiAgS3dkID0gJ0tXRCcsXG4gIEt5ZCA9ICdLWUQnLFxuICBLenQgPSAnS1pUJyxcbiAgTGFrID0gJ0xBSycsXG4gIExicCA9ICdMQlAnLFxuICBMa3IgPSAnTEtSJyxcbiAgTHJkID0gJ0xSRCcsXG4gIExzbCA9ICdMU0wnLFxuICBMeWQgPSAnTFlEJyxcbiAgTWFkID0gJ01BRCcsXG4gIE1kbCA9ICdNREwnLFxuICBNZ2EgPSAnTUdBJyxcbiAgTWtkID0gJ01LRCcsXG4gIE1tayA9ICdNTUsnLFxuICBNbnQgPSAnTU5UJyxcbiAgTW9wID0gJ01PUCcsXG4gIE1ydSA9ICdNUlUnLFxuICBNdXIgPSAnTVVSJyxcbiAgTXZyID0gJ01WUicsXG4gIE13ayA9ICdNV0snLFxuICBNeG4gPSAnTVhOJyxcbiAgTXh2ID0gJ01YVicsXG4gIE15ciA9ICdNWVInLFxuICBNem4gPSAnTVpOJyxcbiAgTmFkID0gJ05BRCcsXG4gIE5nbiA9ICdOR04nLFxuICBOaW8gPSAnTklPJyxcbiAgTm9rID0gJ05PSycsXG4gIE5wciA9ICdOUFInLFxuICBOemQgPSAnTlpEJyxcbiAgT21yID0gJ09NUicsXG4gIFBhYiA9ICdQQUInLFxuICBQZW4gPSAnUEVOJyxcbiAgUGdrID0gJ1BHSycsXG4gIFBocCA9ICdQSFAnLFxuICBQa3IgPSAnUEtSJyxcbiAgUGxuID0gJ1BMTicsXG4gIFB5ZyA9ICdQWUcnLFxuICBRYXIgPSAnUUFSJyxcbiAgUm9uID0gJ1JPTicsXG4gIFJzZCA9ICdSU0QnLFxuICBSdWIgPSAnUlVCJyxcbiAgUndmID0gJ1JXRicsXG4gIFNhciA9ICdTQVInLFxuICBTYmQgPSAnU0JEJyxcbiAgU2NyID0gJ1NDUicsXG4gIFNkZyA9ICdTREcnLFxuICBTZWsgPSAnU0VLJyxcbiAgU2dkID0gJ1NHRCcsXG4gIFNocCA9ICdTSFAnLFxuICBTbGwgPSAnU0xMJyxcbiAgU29zID0gJ1NPUycsXG4gIFNyZCA9ICdTUkQnLFxuICBTc3AgPSAnU1NQJyxcbiAgU3RuID0gJ1NUTicsXG4gIFN2YyA9ICdTVkMnLFxuICBTeXAgPSAnU1lQJyxcbiAgU3psID0gJ1NaTCcsXG4gIFRoYiA9ICdUSEInLFxuICBUanMgPSAnVEpTJyxcbiAgVG10ID0gJ1RNVCcsXG4gIFRuZCA9ICdUTkQnLFxuICBUb3AgPSAnVE9QJyxcbiAgVHJ5ID0gJ1RSWScsXG4gIFR0ZCA9ICdUVEQnLFxuICBUd2QgPSAnVFdEJyxcbiAgVHpzID0gJ1RaUycsXG4gIFVhaCA9ICdVQUgnLFxuICBVZ3ggPSAnVUdYJyxcbiAgVXNkID0gJ1VTRCcsXG4gIFVzbiA9ICdVU04nLFxuICBVeWkgPSAnVVlJJyxcbiAgVXl1ID0gJ1VZVScsXG4gIFV6cyA9ICdVWlMnLFxuICBWZWYgPSAnVkVGJyxcbiAgVm5kID0gJ1ZORCcsXG4gIFZ1diA9ICdWVVYnLFxuICBXc3QgPSAnV1NUJyxcbiAgWGFmID0gJ1hBRicsXG4gIFhhZyA9ICdYQUcnLFxuICBYYXUgPSAnWEFVJyxcbiAgWGJhID0gJ1hCQScsXG4gIFhiYiA9ICdYQkInLFxuICBYYmMgPSAnWEJDJyxcbiAgWGJkID0gJ1hCRCcsXG4gIFhjZCA9ICdYQ0QnLFxuICBYZHIgPSAnWERSJyxcbiAgWG9mID0gJ1hPRicsXG4gIFhwZCA9ICdYUEQnLFxuICBYcGYgPSAnWFBGJyxcbiAgWHB0ID0gJ1hQVCcsXG4gIFhzdSA9ICdYU1UnLFxuICBYdHMgPSAnWFRTJyxcbiAgWHVhID0gJ1hVQScsXG4gIFh4eCA9ICdYWFgnLFxuICBZZXIgPSAnWUVSJyxcbiAgWmFyID0gJ1pBUicsXG4gIFptdyA9ICdaTVcnLFxuICBad2wgPSAnWldMJ1xufVxuXG5cblxuZXhwb3J0IHR5cGUgRGVzdGluYXRpb25FbnRyeSA9IHtcbiAgb3JpZzogU2NhbGFyc1snU3RyaW5nJ107XG4gIGRlc3Q6IFNjYWxhcnNbJ1N0cmluZyddO1xuICBkYXRlOiBTY2FsYXJzWydEYXRlJ107XG59O1xuXG5leHBvcnQgZW51bSBEaXN0YW5jZVR5cGVzIHtcbiAgSyA9ICdLJyxcbiAgTSA9ICdNJ1xufVxuXG5leHBvcnQgdHlwZSBEeW5hbWljQ29uZGl0aW9uID0ge1xuICBfX3R5cGVuYW1lPzogJ0R5bmFtaWNDb25kaXRpb24nO1xuICBuYW1lPzogTWF5YmU8RmllbGRXcmFwcGVyPFNjYWxhcnNbJ1N0cmluZyddPj47XG4gIGRlc2NyaXB0aW9uPzogTWF5YmU8RmllbGRXcmFwcGVyPFNjYWxhcnNbJ1N0cmluZyddPj47XG59O1xuXG5leHBvcnQgdHlwZSBGZUZsaWdodFNlYXJjaFJlc3VsdHMgPSB7XG4gIF9fdHlwZW5hbWU/OiAnRkVGbGlnaHRTZWFyY2hSZXN1bHRzJztcbiAgam91cm5leXM6IEFycmF5PEZpZWxkV3JhcHBlcjxGbGlnaHRJdGluZXJhcnk+PjtcbiAgbXVsdGk6IEFycmF5PEZpZWxkV3JhcHBlcjxJdGluZXJhcnlTdW1tYXJ5Pj47XG4gIGdyb3VwZWQ/OiBNYXliZTxBcnJheTxGaWVsZFdyYXBwZXI8R3JvdXBGbGlnaHRzPj4+O1xufTtcblxuZXhwb3J0IHR5cGUgRmFyZUNvbmRpdGlvbkVudHJ5ID0ge1xuICBfX3R5cGVuYW1lPzogJ0ZhcmVDb25kaXRpb25FbnRyeSc7XG4gIG5hbWU6IEZpZWxkV3JhcHBlcjxTY2FsYXJzWydTdHJpbmcnXT47XG4gIHR5cGU6IEZpZWxkV3JhcHBlcjxGYXJlUnVsZVR5cGU+O1xuICBjdXJyZW5jeTogRmllbGRXcmFwcGVyPFNjYWxhcnNbJ1N0cmluZyddPjtcbiAgYW1vdW50OiBGaWVsZFdyYXBwZXI8U2NhbGFyc1snRmxvYXQnXT47XG4gIHJlbWFyaz86IE1heWJlPEZpZWxkV3JhcHBlcjxTY2FsYXJzWydTdHJpbmcnXT4+O1xuICBjaGFuZ2VGZWVJbmQ6IEZpZWxkV3JhcHBlcjxTY2FsYXJzWydCb29sZWFuJ10+O1xuICBjYW5jZWxGZWVJbmQ6IEZpZWxkV3JhcHBlcjxTY2FsYXJzWydCb29sZWFuJ10+O1xuICByZWZ1bmRhYmxlSW5kOiBGaWVsZFdyYXBwZXI8U2NhbGFyc1snQm9vbGVhbiddPjtcbn07XG5cbmV4cG9ydCB0eXBlIEZhcmVDb25kaXRpb25zID0ge1xuICBfX3R5cGVuYW1lPzogJ0ZhcmVDb25kaXRpb25zJztcbiAgY2FuY2VsbGF0aW9uPzogTWF5YmU8QXJyYXk8TWF5YmU8RmllbGRXcmFwcGVyPEZhcmVDb25kaXRpb25FbnRyeT4+Pj47XG4gIGNoYW5nZT86IE1heWJlPEFycmF5PE1heWJlPEZpZWxkV3JhcHBlcjxGYXJlQ29uZGl0aW9uRW50cnk+Pj4+O1xuICBub1Nob3c/OiBNYXliZTxBcnJheTxNYXliZTxGaWVsZFdyYXBwZXI8RmFyZUNvbmRpdGlvbkVudHJ5Pj4+PjtcbiAgdXBncmFkZT86IE1heWJlPEFycmF5PE1heWJlPEZpZWxkV3JhcHBlcjxGYXJlQ29uZGl0aW9uRW50cnk+Pj4+O1xuICBvdGhlcj86IE1heWJlPEFycmF5PE1heWJlPEZpZWxkV3JhcHBlcjxGYXJlQ29uZGl0aW9uRW50cnk+Pj4+O1xufTtcblxuZXhwb3J0IGVudW0gRmFyZVJ1bGVUeXBlIHtcbiAgQ2FuY2VsbGF0aW9uID0gJ0NhbmNlbGxhdGlvbicsXG4gIENoYW5nZSA9ICdDaGFuZ2UnLFxuICBOb1Nob3cgPSAnTm9TaG93JyxcbiAgVXBncmFkZSA9ICdVcGdyYWRlJyxcbiAgT3RoZXIgPSAnT3RoZXInXG59XG5cbmV4cG9ydCBlbnVtIEZhcmVUeXBlIHtcbiAgRmxleGlibGUgPSAnRmxleGlibGUnLFxuICBMb3dlc3QgPSAnTG93ZXN0JyxcbiAgTmVnb3RpYXRlZCA9ICdOZWdvdGlhdGVkJyxcbiAgTm9uTmVnb3RpYXRlZCA9ICdOb25OZWdvdGlhdGVkJyxcbiAgTGVpc3VyZSA9ICdMZWlzdXJlJyxcbiAgUmVxdWVzdEZhcmVSdWxlcyA9ICdSZXF1ZXN0RmFyZVJ1bGVzJyxcbiAgU2VsZWN0QW5kUHJvID0gJ1NlbGVjdEFuZFBybydcbn1cblxuZXhwb3J0IHR5cGUgRmFzdFRyYWNrUXVvdGUgPSB7XG4gIF9fdHlwZW5hbWU/OiAnRmFzdFRyYWNrUXVvdGUnO1xuICBzb3VyY2U6IEZpZWxkV3JhcHBlcjxTY2FsYXJzWydTdHJpbmcnXT47XG4gIHNvdXJjZUlkOiBGaWVsZFdyYXBwZXI8U2NhbGFyc1snSW50J10+O1xuICBuYW1lOiBGaWVsZFdyYXBwZXI8U2NhbGFyc1snU3RyaW5nJ10+O1xuICBjb2RlOiBGaWVsZFdyYXBwZXI8U2NhbGFyc1snU3RyaW5nJ10+O1xuICBwcmljZTogRmllbGRXcmFwcGVyPFNjYWxhcnNbJ0Zsb2F0J10+O1xuICBjdXJyZW5jeTogRmllbGRXcmFwcGVyPFNjYWxhcnNbJ1N0cmluZyddPjtcbiAgcmVmdW5kYWJsZTogRmllbGRXcmFwcGVyPFNjYWxhcnNbJ0Jvb2xlYW4nXT47XG4gIHRlcm1pbmFsPzogTWF5YmU8RmllbGRXcmFwcGVyPFNjYWxhcnNbJ0ludCddPj47XG4gIGltYWdlczogQXJyYXk8RmllbGRXcmFwcGVyPFNjYWxhcnNbJ1N0cmluZyddPj47XG4gIGxvZ28/OiBNYXliZTxGaWVsZFdyYXBwZXI8U2NhbGFyc1snU3RyaW5nJ10+PjtcbiAgZGVzY3JpcHRpb24/OiBNYXliZTxGaWVsZFdyYXBwZXI8U2NhbGFyc1snU3RyaW5nJ10+PjtcbiAgaW1wb3J0YW50SW5mbz86IE1heWJlPEZpZWxkV3JhcHBlcjxTY2FsYXJzWydTdHJpbmcnXT4+O1xuICB0bWNQcmVmZXJyZWQ6IEZpZWxkV3JhcHBlcjxTY2FsYXJzWydCb29sZWFuJ10+O1xuICBjb21wYW55UHJlZmVycmVkOiBGaWVsZFdyYXBwZXI8U2NhbGFyc1snQm9vbGVhbiddPjtcbiAgb2ZmaWNlUHJlZmVycmVkOiBGaWVsZFdyYXBwZXI8U2NhbGFyc1snQm9vbGVhbiddPjtcbiAgdG1jUHJlZmVycmVkTWVzc2FnZT86IE1heWJlPEZpZWxkV3JhcHBlcjxTY2FsYXJzWydTdHJpbmcnXT4+O1xuICBjb21wYW55UHJlZmVycmVkTWVzc2FnZT86IE1heWJlPEZpZWxkV3JhcHBlcjxTY2FsYXJzWydTdHJpbmcnXT4+O1xuICBvZmZpY2VQcmVmZXJyZWRNZXNzYWdlPzogTWF5YmU8RmllbGRXcmFwcGVyPFNjYWxhcnNbJ1N0cmluZyddPj47XG4gIHVuYXZhaWxhYmxlOiBGaWVsZFdyYXBwZXI8U2NhbGFyc1snQm9vbGVhbiddPjtcbiAgdW5hdmFpbGFibGVNZXNzYWdlPzogTWF5YmU8RmllbGRXcmFwcGVyPFNjYWxhcnNbJ1N0cmluZyddPj47XG4gIGNvMlBlclBhc3NlbmdlcjogRmllbGRXcmFwcGVyPFNjYWxhcnNbJ0Zsb2F0J10+O1xuICBjbzJQZXJJdGVtOiBGaWVsZFdyYXBwZXI8U2NhbGFyc1snRmxvYXQnXT47XG59O1xuXG5leHBvcnQgdHlwZSBGYXN0VHJhY2tSZXN1bHQgPSB7XG4gIF9fdHlwZW5hbWU/OiAnRmFzdFRyYWNrUmVzdWx0JztcbiAgcmVzdWx0czogQXJyYXk8RmllbGRXcmFwcGVyPEZhc3RUcmFja1F1b3RlPj47XG4gIGVycm9yczogQXJyYXk8RmllbGRXcmFwcGVyPFNlYXJjaEVycm9yPj47XG59O1xuXG5leHBvcnQgdHlwZSBGbGlnaHRBbW91bnQgPSB7XG4gIF9fdHlwZW5hbWU/OiAnRmxpZ2h0QW1vdW50JztcbiAgZGVzY3JpcHRpb246IEZpZWxkV3JhcHBlcjxTY2FsYXJzWydTdHJpbmcnXT47XG4gIGFtb3VudDogRmllbGRXcmFwcGVyPFNjYWxhcnNbJ0Zsb2F0J10+O1xuICBjdXJyZW5jeTogRmllbGRXcmFwcGVyPFNjYWxhcnNbJ1N0cmluZyddPjtcbn07XG5cbmV4cG9ydCBlbnVtIEZsaWdodENhYmluQ2xhc3Mge1xuICBBbnkgPSAnQW55JyxcbiAgTGl0ZUVjb25vbXkgPSAnTGl0ZUVjb25vbXknLFxuICBFY29ub215UmVzdHJpY3RlZCA9ICdFY29ub215UmVzdHJpY3RlZCcsXG4gIEVjb25vbXlOb0JhZ3MgPSAnRWNvbm9teU5vQmFncycsXG4gIEVjb25vbXkgPSAnRWNvbm9teScsXG4gIFByZW1pdW1FY29ub215ID0gJ1ByZW1pdW1FY29ub215JyxcbiAgQnVzaW5lc3MgPSAnQnVzaW5lc3MnLFxuICBQcmVtaXVtQnVzaW5lc3MgPSAnUHJlbWl1bUJ1c2luZXNzJyxcbiAgRmlyc3QgPSAnRmlyc3QnLFxuICBQcmVtaXVtRmlyc3QgPSAnUHJlbWl1bUZpcnN0J1xufVxuXG5leHBvcnQgdHlwZSBGbGlnaHRDYXJib25FbWlzc2lvbnMgPSB7XG4gIF9fdHlwZW5hbWU/OiAnRmxpZ2h0Q2FyYm9uRW1pc3Npb25zJztcbiAgYW1vdW50PzogTWF5YmU8RmllbGRXcmFwcGVyPFNjYWxhcnNbJ0Zsb2F0J10+PjtcbiAgdW5pdDogRmllbGRXcmFwcGVyPFNjYWxhcnNbJ1N0cmluZyddPjtcbn07XG5cbmV4cG9ydCB0eXBlIEZsaWdodENhcnJpZXJEZXRhaWwgPSB7XG4gIF9fdHlwZW5hbWU/OiAnRmxpZ2h0Q2FycmllckRldGFpbCc7XG4gIG5hbWU/OiBNYXliZTxGaWVsZFdyYXBwZXI8U2NhbGFyc1snU3RyaW5nJ10+PjtcbiAgYWxpYXM/OiBNYXliZTxGaWVsZFdyYXBwZXI8U2NhbGFyc1snU3RyaW5nJ10+PjtcbiAgY2FsbHNpZ24/OiBNYXliZTxGaWVsZFdyYXBwZXI8U2NhbGFyc1snU3RyaW5nJ10+PjtcbiAgaWF0YT86IE1heWJlPEZpZWxkV3JhcHBlcjxTY2FsYXJzWydTdHJpbmcnXT4+O1xuICBpY2FvPzogTWF5YmU8RmllbGRXcmFwcGVyPFNjYWxhcnNbJ1N0cmluZyddPj47XG4gIGxvZ28/OiBNYXliZTxGaWVsZFdyYXBwZXI8U2NhbGFyc1snU3RyaW5nJ10+PjtcbiAgYmFubmVyPzogTWF5YmU8RmllbGRXcmFwcGVyPFNjYWxhcnNbJ1N0cmluZyddPj47XG4gIHBvcHVsYXJpdHk/OiBNYXliZTxGaWVsZFdyYXBwZXI8U2NhbGFyc1snSW50J10+Pjtcbn07XG5cbmV4cG9ydCB0eXBlIEZsaWdodEZhcmVUb3RhbCA9IHtcbiAgX190eXBlbmFtZT86ICdGbGlnaHRGYXJlVG90YWwnO1xuICBwcmljZTogRmllbGRXcmFwcGVyPFNjYWxhcnNbJ0Zsb2F0J10+O1xuICB0YXg/OiBNYXliZTxGaWVsZFdyYXBwZXI8U2NhbGFyc1snRmxvYXQnXT4+O1xuICBkaXNjb3VudD86IE1heWJlPEZpZWxkV3JhcHBlcjxTY2FsYXJzWydGbG9hdCddPj47XG4gIGN1cnJlbmN5OiBGaWVsZFdyYXBwZXI8Q3VycmVuY3lDb2RlPjtcbn07XG5cbmV4cG9ydCB0eXBlIEZsaWdodEl0aW5lcmFyeSA9IHtcbiAgX190eXBlbmFtZT86ICdGbGlnaHRJdGluZXJhcnknO1xuICB1aWQ6IEZpZWxkV3JhcHBlcjxTY2FsYXJzWydJbnQnXT47XG4gIHBhc3NlbmdlckNvdW50OiBGaWVsZFdyYXBwZXI8U2NhbGFyc1snSW50J10+O1xuICBvdXRib3VuZEZsaWdodHM6IEFycmF5PEZpZWxkV3JhcHBlcjxGbGlnaHRKb3VybmV5Pj47XG4gIGluYm91bmRGbGlnaHRzPzogTWF5YmU8QXJyYXk8TWF5YmU8RmllbGRXcmFwcGVyPEZsaWdodEpvdXJuZXk+Pj4+O1xuICBvdXRib3VuZFRvdGFsRHVyYXRpb246IEZpZWxkV3JhcHBlcjxTY2FsYXJzWydJbnQnXT47XG4gIG91dGJvdW5kQ2FyYm9uRW1pc3Npb25zPzogTWF5YmU8RmllbGRXcmFwcGVyPEZsaWdodENhcmJvbkVtaXNzaW9ucz4+O1xuICBpbmJvdW5kVG90YWxEdXJhdGlvbj86IE1heWJlPEZpZWxkV3JhcHBlcjxTY2FsYXJzWydJbnQnXT4+O1xuICBpbmJvdW5kQ2FyYm9uRW1pc3Npb25zPzogTWF5YmU8RmllbGRXcmFwcGVyPEZsaWdodENhcmJvbkVtaXNzaW9ucz4+O1xuICB0YXhlcz86IE1heWJlPEFycmF5PE1heWJlPEZpZWxkV3JhcHBlcjxGbGlnaHRBbW91bnQ+Pj4+O1xuICBkaXNjb3VudHM/OiBNYXliZTxBcnJheTxNYXliZTxGaWVsZFdyYXBwZXI8RmxpZ2h0QW1vdW50Pj4+PjtcbiAgdG90YWw6IEZpZWxkV3JhcHBlcjxGbGlnaHRGYXJlVG90YWw+O1xuICBmYXJlQ29uZGl0aW9ucz86IE1heWJlPEZpZWxkV3JhcHBlcjxGYXJlQ29uZGl0aW9ucz4+O1xuICBiYWdnYWdlQWxsb3dhbmNlPzogTWF5YmU8QXJyYXk8TWF5YmU8RmllbGRXcmFwcGVyPEJhZ2dhZ2VBbGxvd2FuY2U+Pj4+O1xuICBhZGRpdGlvbmFsPzogTWF5YmU8RmllbGRXcmFwcGVyPFNjYWxhcnNbJ0pTT04nXT4+O1xuICBzb3VyY2U6IEZpZWxkV3JhcHBlcjxTY2FsYXJzWydTdHJpbmcnXT47XG4gIHNvdXJjZUlkOiBGaWVsZFdyYXBwZXI8U2NhbGFyc1snSW50J10+O1xuICB2ZXJzaW9uOiBGaWVsZFdyYXBwZXI8U2NhbGFyc1snU3RyaW5nJ10+O1xuICB0bWNQcmVmZXJyZWQ6IEZpZWxkV3JhcHBlcjxTY2FsYXJzWydCb29sZWFuJ10+O1xuICBjb21wYW55UHJlZmVycmVkOiBGaWVsZFdyYXBwZXI8U2NhbGFyc1snQm9vbGVhbiddPjtcbiAgb2ZmaWNlUHJlZmVycmVkOiBGaWVsZFdyYXBwZXI8U2NhbGFyc1snQm9vbGVhbiddPjtcbiAgdG1jUHJlZmVycmVkTWVzc2FnZT86IE1heWJlPEZpZWxkV3JhcHBlcjxTY2FsYXJzWydTdHJpbmcnXT4+O1xuICBjb21wYW55UHJlZmVycmVkTWVzc2FnZT86IE1heWJlPEZpZWxkV3JhcHBlcjxTY2FsYXJzWydTdHJpbmcnXT4+O1xuICBvZmZpY2VQcmVmZXJyZWRNZXNzYWdlPzogTWF5YmU8RmllbGRXcmFwcGVyPFNjYWxhcnNbJ1N0cmluZyddPj47XG4gIHVuYXZhaWxhYmxlOiBGaWVsZFdyYXBwZXI8U2NhbGFyc1snQm9vbGVhbiddPjtcbiAgdW5hdmFpbGFibGVNZXNzYWdlPzogTWF5YmU8RmllbGRXcmFwcGVyPFNjYWxhcnNbJ1N0cmluZyddPj47XG4gIGNvMlBlckl0ZW06IEZpZWxkV3JhcHBlcjxTY2FsYXJzWydGbG9hdCddPjtcbiAgY28yUGVyUGFzc2VuZ2VyOiBGaWVsZFdyYXBwZXI8U2NhbGFyc1snRmxvYXQnXT47XG59O1xuXG5leHBvcnQgdHlwZSBGbGlnaHRKb3VybmV5ID0ge1xuICBfX3R5cGVuYW1lPzogJ0ZsaWdodEpvdXJuZXknO1xuICBmYXJlSW5mbz86IE1heWJlPEZpZWxkV3JhcHBlcjxGbGlnaHRTcGVjaWFsRmFyZUluZm8+PjtcbiAgb3JpZ2luQWlycG9ydDogRmllbGRXcmFwcGVyPFNjYWxhcnNbJ1N0cmluZyddPjtcbiAgb3JpZ2luVGVybWluYWw/OiBNYXliZTxGaWVsZFdyYXBwZXI8U2NhbGFyc1snU3RyaW5nJ10+PjtcbiAgb3JpZ2luQWlycG9ydE5hbWU/OiBNYXliZTxGaWVsZFdyYXBwZXI8U2NhbGFyc1snU3RyaW5nJ10+PjtcbiAgb3JpZ2luQWlycG9ydERldGFpbDogRmllbGRXcmFwcGVyPEFpcnBvcnREZXRhaWw+O1xuICBkZXN0aW5hdGlvbkFpcnBvcnQ6IEZpZWxkV3JhcHBlcjxTY2FsYXJzWydTdHJpbmcnXT47XG4gIGRlc3RpbmF0aW9uVGVybWluYWw/OiBNYXliZTxGaWVsZFdyYXBwZXI8U2NhbGFyc1snU3RyaW5nJ10+PjtcbiAgZGVzdGluYXRpb25BaXJwb3J0TmFtZT86IE1heWJlPEZpZWxkV3JhcHBlcjxTY2FsYXJzWydTdHJpbmcnXT4+O1xuICBkZXN0aW5hdGlvbkFpcnBvcnREZXRhaWw6IEZpZWxkV3JhcHBlcjxBaXJwb3J0RGV0YWlsPjtcbiAgZGF0ZVRpbWVEZXBhcnRpbmc6IEZpZWxkV3JhcHBlcjxTY2FsYXJzWydTdHJpbmcnXT47XG4gIGRhdGVUaW1lRGVwYXJ0aW5nVVRDOiBGaWVsZFdyYXBwZXI8U2NhbGFyc1snU3RyaW5nJ10+O1xuICBkYXRlVGltZUFycml2aW5nOiBGaWVsZFdyYXBwZXI8U2NhbGFyc1snU3RyaW5nJ10+O1xuICBkYXRlVGltZUFycml2aW5nVVRDOiBGaWVsZFdyYXBwZXI8U2NhbGFyc1snU3RyaW5nJ10+O1xuICBtYXJrZXRpbmdDYXJyaWVyOiBGaWVsZFdyYXBwZXI8U2NhbGFyc1snU3RyaW5nJ10+O1xuICBtYXJrZXRpbmdDYXJyaWVyTmFtZT86IE1heWJlPEZpZWxkV3JhcHBlcjxTY2FsYXJzWydTdHJpbmcnXT4+O1xuICBtYXJrZXRpbmdDYXJyaWVyRGV0YWlsOiBGaWVsZFdyYXBwZXI8RmxpZ2h0Q2FycmllckRldGFpbD47XG4gIG1hcmtldGluZ0ZsaWdodE51bWJlcjogRmllbGRXcmFwcGVyPFNjYWxhcnNbJ1N0cmluZyddPjtcbiAgb3BlcmF0aW5nQ2FycmllcjogRmllbGRXcmFwcGVyPFNjYWxhcnNbJ1N0cmluZyddPjtcbiAgb3BlcmF0aW5nQ2Fycmllck5hbWU/OiBNYXliZTxGaWVsZFdyYXBwZXI8U2NhbGFyc1snU3RyaW5nJ10+PjtcbiAgb3BlcmF0aW5nQ2FycmllckRldGFpbDogRmllbGRXcmFwcGVyPEZsaWdodENhcnJpZXJEZXRhaWw+O1xuICBvcGVyYXRpbmdGbGlnaHROdW1iZXI6IEZpZWxkV3JhcHBlcjxTY2FsYXJzWydTdHJpbmcnXT47XG4gIGVxdWlwbWVudENvZGU6IEZpZWxkV3JhcHBlcjxTY2FsYXJzWydTdHJpbmcnXT47XG4gIGVxdWlwbWVudE5hbWU6IEZpZWxkV3JhcHBlcjxTY2FsYXJzWydTdHJpbmcnXT47XG4gIHRvdGFsRHVyYXRpb246IEZpZWxkV3JhcHBlcjxTY2FsYXJzWydJbnQnXT47XG4gIHNlYXRzQXZhaWxhYmxlPzogTWF5YmU8RmllbGRXcmFwcGVyPFNjYWxhcnNbJ0ludCddPj47XG4gIGNhYmluQ29kZT86IE1heWJlPEZpZWxkV3JhcHBlcjxTY2FsYXJzWydTdHJpbmcnXT4+O1xuICBjYWJpbkNsYXNzPzogTWF5YmU8RmllbGRXcmFwcGVyPFNjYWxhcnNbJ1N0cmluZyddPj47XG4gIG1hcmtldGluZ05hbWVzPzogTWF5YmU8QXJyYXk8TWF5YmU8RmllbGRXcmFwcGVyPFNjYWxhcnNbJ1N0cmluZyddPj4+PjtcbiAgZmFyZUNvbmRpdGlvbnM6IEZpZWxkV3JhcHBlcjxGYXJlQ29uZGl0aW9ucz47XG4gIHZlbmRvckNvZGU/OiBNYXliZTxGaWVsZFdyYXBwZXI8U2NhbGFyc1snU3RyaW5nJ10+PjtcbiAgc3RvcHM/OiBNYXliZTxGaWVsZFdyYXBwZXI8U2NhbGFyc1snU3RyaW5nJ10+PjtcbiAgYm9va2luZ0NvZGU/OiBNYXliZTxGaWVsZFdyYXBwZXI8U2NhbGFyc1snU3RyaW5nJ10+PjtcbiAgbWFycmlhZ2VHcm91cD86IE1heWJlPEZpZWxkV3JhcHBlcjxTY2FsYXJzWydCb29sZWFuJ10+PjtcbiAgZmFyZUJhc2lzQ29kZT86IE1heWJlPEZpZWxkV3JhcHBlcjxTY2FsYXJzWydTdHJpbmcnXT4+O1xuICBhZGRpdGlvbmFsPzogTWF5YmU8RmllbGRXcmFwcGVyPFNjYWxhcnNbJ0pTT04nXT4+O1xufTtcblxuZXhwb3J0IHR5cGUgRmxpZ2h0UGFzc2VuZ2VyT2JqZWN0ID0ge1xuICB0eXBlOiBGbGlnaHRQYXNzZW5nZXJUeXBlO1xuICBmaXJzdE5hbWU/OiBNYXliZTxTY2FsYXJzWydTdHJpbmcnXT47XG4gIG1pZGRsZU5hbWU/OiBNYXliZTxTY2FsYXJzWydTdHJpbmcnXT47XG4gIHN1cm5hbWU/OiBNYXliZTxTY2FsYXJzWydTdHJpbmcnXT47XG4gIGRvYj86IE1heWJlPFNjYWxhcnNbJ0RhdGUnXT47XG59O1xuXG5leHBvcnQgZW51bSBGbGlnaHRQYXNzZW5nZXJUeXBlIHtcbiAgSW5mYW50ID0gJ0luZmFudCcsXG4gIENoaWxkID0gJ0NoaWxkJyxcbiAgQWR1bHQgPSAnQWR1bHQnLFxuICBTZW5pb3IgPSAnU2VuaW9yJ1xufVxuXG5leHBvcnQgdHlwZSBGbGlnaHRSZXZhbGlkYXRlUmVzcG9uc2UgPSB7XG4gIF9fdHlwZW5hbWU/OiAnRmxpZ2h0UmV2YWxpZGF0ZVJlc3BvbnNlJztcbiAgdmFsaWQ6IEZpZWxkV3JhcHBlcjxTY2FsYXJzWydCb29sZWFuJ10+O1xuICBhdmFpbGFibGU6IEZpZWxkV3JhcHBlcjxTY2FsYXJzWydCb29sZWFuJ10+O1xuICBwcmljZT86IE1heWJlPEZpZWxkV3JhcHBlcjxTY2FsYXJzWydGbG9hdCddPj47XG4gIHByaWNlRGlmZmVyZW5jZT86IE1heWJlPEZpZWxkV3JhcHBlcjxTY2FsYXJzWydGbG9hdCddPj47XG4gIGN1cnJlbmN5PzogTWF5YmU8RmllbGRXcmFwcGVyPFNjYWxhcnNbJ1N0cmluZyddPj47XG59O1xuXG5leHBvcnQgdHlwZSBGbGlnaHRTZWFyY2hSZXN1bHQgPSB7XG4gIF9fdHlwZW5hbWU/OiAnRmxpZ2h0U2VhcmNoUmVzdWx0JztcbiAgcmVzdWx0czogQXJyYXk8RmllbGRXcmFwcGVyPFNlYXJjaFJlc3VsdD4+O1xuICBlcnJvcnM6IEFycmF5PEZpZWxkV3JhcHBlcjxTZWFyY2hFcnJvcj4+O1xufTtcblxuZXhwb3J0IHR5cGUgRmxpZ2h0U2VhcmNoUmVzdWx0VjIgPSB7XG4gIF9fdHlwZW5hbWU/OiAnRmxpZ2h0U2VhcmNoUmVzdWx0VjInO1xuICByZXN1bHRzOiBGaWVsZFdyYXBwZXI8RmVGbGlnaHRTZWFyY2hSZXN1bHRzPjtcbiAgZXJyb3JzOiBBcnJheTxGaWVsZFdyYXBwZXI8U2VhcmNoRXJyb3I+Pjtcbn07XG5cbmV4cG9ydCB0eXBlIEZsaWdodFNwZWNpYWxGYXJlSW5mbyA9IHtcbiAgX190eXBlbmFtZT86ICdGbGlnaHRTcGVjaWFsRmFyZUluZm8nO1xuICB0aXRsZTogRmllbGRXcmFwcGVyPFNjYWxhcnNbJ1N0cmluZyddPjtcbiAgdHlwZTogRmllbGRXcmFwcGVyPFNjYWxhcnNbJ1N0cmluZyddPjtcbiAgY29kZT86IE1heWJlPEZpZWxkV3JhcHBlcjxTY2FsYXJzWydTdHJpbmcnXT4+O1xuICBzdXBwbGllckNvZGU/OiBNYXliZTxGaWVsZFdyYXBwZXI8U2NhbGFyc1snU3RyaW5nJ10+Pjtcbn07XG5cbmV4cG9ydCB0eXBlIEdlb0Nvb3JkaW5hdGVzID0ge1xuICBfX3R5cGVuYW1lPzogJ0dlb0Nvb3JkaW5hdGVzJztcbiAgbGF0aXR1ZGU/OiBNYXliZTxGaWVsZFdyYXBwZXI8U2NhbGFyc1snRmxvYXQnXT4+O1xuICBsb25naXR1ZGU/OiBNYXliZTxGaWVsZFdyYXBwZXI8U2NhbGFyc1snRmxvYXQnXT4+O1xuICBhbHRpdHVkZT86IE1heWJlPEZpZWxkV3JhcHBlcjxTY2FsYXJzWydGbG9hdCddPj47XG59O1xuXG5leHBvcnQgdHlwZSBHcm91cEZsaWdodHMgPSB7XG4gIF9fdHlwZW5hbWU/OiAnR3JvdXBGbGlnaHRzJztcbiAgcmVmZXJlbmNlSUQ6IEZpZWxkV3JhcHBlcjxTY2FsYXJzWydJbnQnXT47XG4gIGZsaWdodElEOiBGaWVsZFdyYXBwZXI8U2NhbGFyc1snU3RyaW5nJ10+O1xuICBib3VuZEluZGljYXRvcjogRmllbGRXcmFwcGVyPFNjYWxhcnNbJ0ludCddPjtcbiAgbWluUHJpY2U6IEZpZWxkV3JhcHBlcjxTY2FsYXJzWydGbG9hdCddPjtcbiAgbWF4UHJpY2U6IEZpZWxkV3JhcHBlcjxTY2FsYXJzWydGbG9hdCddPjtcbiAgZmxpZ2h0czogRmllbGRXcmFwcGVyPE1hdGNoaW5nRmxpZ2h0cz47XG59O1xuXG5leHBvcnQgdHlwZSBIb3RlbEFkZHJlc3MgPSB7XG4gIF9fdHlwZW5hbWU/OiAnSG90ZWxBZGRyZXNzJztcbiAgYWRkcmVzc0xpbmUxPzogTWF5YmU8RmllbGRXcmFwcGVyPFNjYWxhcnNbJ1N0cmluZyddPj47XG4gIGFkZHJlc3NMaW5lMj86IE1heWJlPEZpZWxkV3JhcHBlcjxTY2FsYXJzWydTdHJpbmcnXT4+O1xuICBhZGRyZXNzTGluZTM/OiBNYXliZTxGaWVsZFdyYXBwZXI8U2NhbGFyc1snU3RyaW5nJ10+PjtcbiAgcG9zdE9yWmlwQ29kZT86IE1heWJlPEZpZWxkV3JhcHBlcjxTY2FsYXJzWydTdHJpbmcnXT4+O1xuICBjb3VudHJ5Q29kZT86IE1heWJlPEZpZWxkV3JhcHBlcjxTY2FsYXJzWydTdHJpbmcnXT4+O1xuICB0ZWxlcGhvbmU/OiBNYXliZTxGaWVsZFdyYXBwZXI8U2NhbGFyc1snU3RyaW5nJ10+PjtcbiAgZmFjc2ltaWxlPzogTWF5YmU8RmllbGRXcmFwcGVyPFNjYWxhcnNbJ1N0cmluZyddPj47XG59O1xuXG5leHBvcnQgdHlwZSBIb3RlbEF2YWlsYWJpbGl0eSA9IHtcbiAgX190eXBlbmFtZT86ICdIb3RlbEF2YWlsYWJpbGl0eSc7XG4gIGhvdGVsSWQ6IEZpZWxkV3JhcHBlcjxTY2FsYXJzWydTdHJpbmcnXT47XG4gIGltYWdlVXJsOiBGaWVsZFdyYXBwZXI8U2NhbGFyc1snU3RyaW5nJ10+O1xuICByb29tcz86IE1heWJlPEFycmF5PE1heWJlPEZpZWxkV3JhcHBlcjxIb3RlbFJvb20+Pj4+O1xuICBwcnBuPzogTWF5YmU8RmllbGRXcmFwcGVyPFNjYWxhcnNbJ0Zsb2F0J10+PjtcbiAgY3VycmVuY3lDb2RlPzogTWF5YmU8RmllbGRXcmFwcGVyPFNjYWxhcnNbJ1N0cmluZyddPj47XG4gIGlzQnVzeT86IE1heWJlPEZpZWxkV3JhcHBlcjxTY2FsYXJzWydCb29sZWFuJ10+PjtcbiAgc291cmNlOiBGaWVsZFdyYXBwZXI8U2NhbGFyc1snU3RyaW5nJ10+O1xuICB2ZXJzaW9uOiBGaWVsZFdyYXBwZXI8U2NhbGFyc1snU3RyaW5nJ10+O1xufTtcblxuZXhwb3J0IHR5cGUgSG90ZWxBdmFpbGFiaWxpdHlSZXN1bHQgPSB7XG4gIF9fdHlwZW5hbWU/OiAnSG90ZWxBdmFpbGFiaWxpdHlSZXN1bHQnO1xuICByZXN1bHRzPzogTWF5YmU8RmllbGRXcmFwcGVyPEhvdGVsQXZhaWxhYmlsaXR5Pj47XG4gIGVycm9yczogQXJyYXk8RmllbGRXcmFwcGVyPFNlYXJjaEVycm9yPj47XG59O1xuXG5leHBvcnQgdHlwZSBIb3RlbENhcmQgPSB7XG4gIF9fdHlwZW5hbWU/OiAnSG90ZWxDYXJkJztcbiAgaWQ6IEZpZWxkV3JhcHBlcjxTY2FsYXJzWydTdHJpbmcnXT47XG4gIG5hbWU6IEZpZWxkV3JhcHBlcjxTY2FsYXJzWydTdHJpbmcnXT47XG59O1xuXG5leHBvcnQgdHlwZSBIb3RlbENvbnZlcnNpb24gPSB7XG4gIF9fdHlwZW5hbWU/OiAnSG90ZWxDb252ZXJzaW9uJztcbiAgcmF0ZTogRmllbGRXcmFwcGVyPFNjYWxhcnNbJ0Zsb2F0J10+O1xuICBsb2NhbENvZGU6IEZpZWxkV3JhcHBlcjxTY2FsYXJzWydTdHJpbmcnXT47XG4gIGxvY2FsVG90YWw6IEZpZWxkV3JhcHBlcjxTY2FsYXJzWydGbG9hdCddPjtcbiAgY29udmVydGVkQ29kZTogRmllbGRXcmFwcGVyPFNjYWxhcnNbJ1N0cmluZyddPjtcbiAgY29udmVydGVkVG90YWw6IEZpZWxkV3JhcHBlcjxTY2FsYXJzWydGbG9hdCddPjtcbn07XG5cbmV4cG9ydCB0eXBlIEhvdGVsRGVwb3NpdCA9IHtcbiAgX190eXBlbmFtZT86ICdIb3RlbERlcG9zaXQnO1xuICBhbW91bnQ6IEZpZWxkV3JhcHBlcjxTY2FsYXJzWydGbG9hdCddPjtcbiAgcG9saWN5PzogTWF5YmU8RmllbGRXcmFwcGVyPFNjYWxhcnNbJ1N0cmluZyddPj47XG4gIHJlcXVpcmVkOiBGaWVsZFdyYXBwZXI8U2NhbGFyc1snQm9vbGVhbiddPjtcbn07XG5cbmV4cG9ydCB0eXBlIEhvdGVsSXRpbmVyYXJ5ID0ge1xuICBfX3R5cGVuYW1lPzogJ0hvdGVsSXRpbmVyYXJ5JztcbiAgaWQ6IEZpZWxkV3JhcHBlcjxTY2FsYXJzWydTdHJpbmcnXT47XG4gIG5hbWU6IEZpZWxkV3JhcHBlcjxTY2FsYXJzWydTdHJpbmcnXT47XG4gIGltYWdlVXJsOiBGaWVsZFdyYXBwZXI8U2NhbGFyc1snU3RyaW5nJ10+O1xuICBncm91cDogRmllbGRXcmFwcGVyPFNjYWxhcnNbJ1N0cmluZyddPjtcbiAgbG9jYXRpb246IEZpZWxkV3JhcHBlcjxIb3RlbExvY2F0aW9uPjtcbiAgYWRkcmVzczogRmllbGRXcmFwcGVyPEhvdGVsQWRkcmVzcz47XG4gIHRyYW5zcG9ydHM/OiBNYXliZTxBcnJheTxNYXliZTxGaWVsZFdyYXBwZXI8SG90ZWxUcmFuc3BvcnQ+Pj4+O1xuICBwcmVmZXJyZWQ6IEZpZWxkV3JhcHBlcjxIb3RlbFByZWZlcnJlZD47XG4gIHRhZ3M/OiBNYXliZTxBcnJheTxNYXliZTxGaWVsZFdyYXBwZXI8SG90ZWxUYWc+Pj4+O1xuICBhdmFpbGFibGVSYXRlcz86IE1heWJlPEZpZWxkV3JhcHBlcjxIb3RlbEF2YWlsYWJpbGl0eT4+O1xuICBjbzJQZXJQYXNzZW5nZXI6IEZpZWxkV3JhcHBlcjxTY2FsYXJzWydGbG9hdCddPjtcbiAgY28yUGVySXRlbTogRmllbGRXcmFwcGVyPFNjYWxhcnNbJ0Zsb2F0J10+O1xuICBzb3VyY2U6IEZpZWxkV3JhcHBlcjxTY2FsYXJzWydTdHJpbmcnXT47XG4gIHNvdXJjZUlkOiBGaWVsZFdyYXBwZXI8U2NhbGFyc1snSW50J10+O1xuICB2ZXJzaW9uOiBGaWVsZFdyYXBwZXI8U2NhbGFyc1snU3RyaW5nJ10+O1xuICB0bWNQcmVmZXJyZWQ6IEZpZWxkV3JhcHBlcjxTY2FsYXJzWydCb29sZWFuJ10+O1xuICBjb21wYW55UHJlZmVycmVkOiBGaWVsZFdyYXBwZXI8U2NhbGFyc1snQm9vbGVhbiddPjtcbiAgb2ZmaWNlUHJlZmVycmVkOiBGaWVsZFdyYXBwZXI8U2NhbGFyc1snQm9vbGVhbiddPjtcbiAgdG1jUHJlZmVycmVkTWVzc2FnZT86IE1heWJlPEZpZWxkV3JhcHBlcjxTY2FsYXJzWydTdHJpbmcnXT4+O1xuICBjb21wYW55UHJlZmVycmVkTWVzc2FnZT86IE1heWJlPEZpZWxkV3JhcHBlcjxTY2FsYXJzWydTdHJpbmcnXT4+O1xuICBvZmZpY2VQcmVmZXJyZWRNZXNzYWdlPzogTWF5YmU8RmllbGRXcmFwcGVyPFNjYWxhcnNbJ1N0cmluZyddPj47XG4gIHVuYXZhaWxhYmxlOiBGaWVsZFdyYXBwZXI8U2NhbGFyc1snQm9vbGVhbiddPjtcbiAgdW5hdmFpbGFibGVNZXNzYWdlPzogTWF5YmU8RmllbGRXcmFwcGVyPFNjYWxhcnNbJ1N0cmluZyddPj47XG59O1xuXG5leHBvcnQgdHlwZSBIb3RlbExvY2F0aW9uID0ge1xuICBfX3R5cGVuYW1lPzogJ0hvdGVsTG9jYXRpb24nO1xuICBkaXN0YW5jZTogRmllbGRXcmFwcGVyPFNjYWxhcnNbJ0Zsb2F0J10+O1xuICBkaXN0YW5jZVR5cGU6IEZpZWxkV3JhcHBlcjxTY2FsYXJzWydTdHJpbmcnXT47XG4gIGxvbmdpdHVkZTogRmllbGRXcmFwcGVyPFNjYWxhcnNbJ0Zsb2F0J10+O1xuICBsYXRpdHVkZTogRmllbGRXcmFwcGVyPFNjYWxhcnNbJ0Zsb2F0J10+O1xufTtcblxuZXhwb3J0IHR5cGUgSG90ZWxNdWx0aUF2YWlsYWJpbGl0eVJlc3VsdCA9IHtcbiAgX190eXBlbmFtZT86ICdIb3RlbE11bHRpQXZhaWxhYmlsaXR5UmVzdWx0JztcbiAgcmVzdWx0cz86IE1heWJlPEFycmF5PE1heWJlPEZpZWxkV3JhcHBlcjxIb3RlbEF2YWlsYWJpbGl0eT4+Pj47XG4gIGVycm9yczogQXJyYXk8RmllbGRXcmFwcGVyPFNlYXJjaEVycm9yPj47XG59O1xuXG5leHBvcnQgdHlwZSBIb3RlbE5pZ2h0ID0ge1xuICBfX3R5cGVuYW1lPzogJ0hvdGVsTmlnaHQnO1xuICBuaWdodDogRmllbGRXcmFwcGVyPFNjYWxhcnNbJ0ludCddPjtcbiAgcmF0ZTogRmllbGRXcmFwcGVyPFNjYWxhcnNbJ0Zsb2F0J10+O1xuICBpbmZvPzogTWF5YmU8RmllbGRXcmFwcGVyPFNjYWxhcnNbJ1N0cmluZyddPj47XG4gIGRhdGU6IEZpZWxkV3JhcHBlcjxTY2FsYXJzWydEYXRlJ10+O1xufTtcblxuZXhwb3J0IHR5cGUgSG90ZWxQYXltZW50VHlwZSA9IHtcbiAgX190eXBlbmFtZT86ICdIb3RlbFBheW1lbnRUeXBlJztcbiAgdHlwZTogRmllbGRXcmFwcGVyPFNjYWxhcnNbJ1N0cmluZyddPjtcbiAgbmFtZT86IE1heWJlPEZpZWxkV3JhcHBlcjxTY2FsYXJzWydTdHJpbmcnXT4+O1xufTtcblxuZXhwb3J0IHR5cGUgSG90ZWxQb2xpY3kgPSB7XG4gIF9fdHlwZW5hbWU/OiAnSG90ZWxQb2xpY3knO1xuICBjYW5jZWxsYXRpb24/OiBNYXliZTxGaWVsZFdyYXBwZXI8U2NhbGFyc1snU3RyaW5nJ10+PjtcbiAgZGVwb3NpdD86IE1heWJlPEZpZWxkV3JhcHBlcjxTY2FsYXJzWydTdHJpbmcnXT4+O1xuICBkaXNhYmxlZEFjY2Vzcz86IE1heWJlPEZpZWxkV3JhcHBlcjxTY2FsYXJzWydCb29sZWFuJ10+PjtcbiAgZ2VuZXJhbD86IE1heWJlPEZpZWxkV3JhcHBlcjxTY2FsYXJzWydTdHJpbmcnXT4+O1xuICBndWFyYW50ZWU/OiBNYXliZTxGaWVsZFdyYXBwZXI8U2NhbGFyc1snU3RyaW5nJ10+PjtcbiAgcmVmdW5kQXZhaWxhYmxlPzogTWF5YmU8RmllbGRXcmFwcGVyPFNjYWxhcnNbJ0Jvb2xlYW4nXT4+O1xufTtcblxuZXhwb3J0IHR5cGUgSG90ZWxQcmVmZXJyZWQgPSB7XG4gIF9fdHlwZW5hbWU/OiAnSG90ZWxQcmVmZXJyZWQnO1xuICBjbGllbnQ6IEZpZWxkV3JhcHBlcjxTY2FsYXJzWydCb29sZWFuJ10+O1xuICBjb25zdW1lcjogRmllbGRXcmFwcGVyPFNjYWxhcnNbJ0Jvb2xlYW4nXT47XG59O1xuXG5leHBvcnQgdHlwZSBIb3RlbFJvb20gPSB7XG4gIF9fdHlwZW5hbWU/OiAnSG90ZWxSb29tJztcbiAgcm9vbUlkOiBGaWVsZFdyYXBwZXI8U2NhbGFyc1snU3RyaW5nJ10+O1xuICByb29tVHlwZT86IE1heWJlPEZpZWxkV3JhcHBlcjxTY2FsYXJzWydTdHJpbmcnXT4+O1xuICByb29tRGVzY3JpcHRpb24/OiBNYXliZTxGaWVsZFdyYXBwZXI8U2NhbGFyc1snU3RyaW5nJ10+PjtcbiAgcmF0ZUNvZGU/OiBNYXliZTxGaWVsZFdyYXBwZXI8U2NhbGFyc1snU3RyaW5nJ10+PjtcbiAgcmF0ZURlc2NyaXB0aW9uPzogTWF5YmU8RmllbGRXcmFwcGVyPFNjYWxhcnNbJ1N0cmluZyddPj47XG4gIHRvdGFsOiBGaWVsZFdyYXBwZXI8U2NhbGFyc1snRmxvYXQnXT47XG4gIGN1cnJlbmN5Q29kZTogRmllbGRXcmFwcGVyPFNjYWxhcnNbJ1N0cmluZyddPjtcbiAgY3VycmVuY3lDb252ZXJzaW9uPzogTWF5YmU8RmllbGRXcmFwcGVyPEhvdGVsQ29udmVyc2lvbj4+O1xuICBkZXBvc2l0PzogTWF5YmU8RmllbGRXcmFwcGVyPEhvdGVsRGVwb3NpdD4+O1xuICBuaWdodHM6IEFycmF5PEZpZWxkV3JhcHBlcjxIb3RlbE5pZ2h0Pj47XG4gIHBvbGljaWVzOiBGaWVsZFdyYXBwZXI8SG90ZWxQb2xpY3k+O1xuICB0YXg6IEZpZWxkV3JhcHBlcjxIb3RlbFRheD47XG4gIGFjY2VwdGVkQ2FyZHM/OiBNYXliZTxBcnJheTxNYXliZTxGaWVsZFdyYXBwZXI8SG90ZWxDYXJkPj4+PjtcbiAgcGF5bWVudFR5cGVzPzogTWF5YmU8QXJyYXk8TWF5YmU8RmllbGRXcmFwcGVyPEhvdGVsUGF5bWVudFR5cGU+Pj4+O1xufTtcblxuZXhwb3J0IHR5cGUgSG90ZWxTZWFyY2hSZXN1bHQgPSB7XG4gIF9fdHlwZW5hbWU/OiAnSG90ZWxTZWFyY2hSZXN1bHQnO1xuICByZXN1bHRzPzogTWF5YmU8QXJyYXk8TWF5YmU8RmllbGRXcmFwcGVyPEhvdGVsSXRpbmVyYXJ5Pj4+PjtcbiAgZXJyb3JzOiBBcnJheTxGaWVsZFdyYXBwZXI8U2VhcmNoRXJyb3I+Pjtcbn07XG5cbmV4cG9ydCB0eXBlIEhvdGVsVGFnID0ge1xuICBfX3R5cGVuYW1lPzogJ0hvdGVsVGFnJztcbiAgbmFtZTogRmllbGRXcmFwcGVyPFNjYWxhcnNbJ1N0cmluZyddPjtcbiAgZGlzcGxheT86IE1heWJlPEZpZWxkV3JhcHBlcjxTY2FsYXJzWydTdHJpbmcnXT4+O1xuICB0eXBlOiBGaWVsZFdyYXBwZXI8U2NhbGFyc1snU3RyaW5nJ10+O1xuICBpY29uOiBGaWVsZFdyYXBwZXI8U2NhbGFyc1snU3RyaW5nJ10+O1xufTtcblxuZXhwb3J0IHR5cGUgSG90ZWxUYXggPSB7XG4gIF9fdHlwZW5hbWU/OiAnSG90ZWxUYXgnO1xuICBpbmNsdWRlZDogRmllbGRXcmFwcGVyPFNjYWxhcnNbJ0Jvb2xlYW4nXT47XG4gIHJhdGU6IEZpZWxkV3JhcHBlcjxTY2FsYXJzWydGbG9hdCddPjtcbn07XG5cbmV4cG9ydCB0eXBlIEhvdGVsVHJhbnNwb3J0ID0ge1xuICBfX3R5cGVuYW1lPzogJ0hvdGVsVHJhbnNwb3J0JztcbiAgdHlwZTogRmllbGRXcmFwcGVyPFNjYWxhcnNbJ1N0cmluZyddPjtcbiAgbmFtZTogRmllbGRXcmFwcGVyPFNjYWxhcnNbJ1N0cmluZyddPjtcbiAgY29kZT86IE1heWJlPEZpZWxkV3JhcHBlcjxTY2FsYXJzWydTdHJpbmcnXT4+O1xuICBkaXN0YW5jZTogRmllbGRXcmFwcGVyPFNjYWxhcnNbJ0Zsb2F0J10+O1xuICBkaXN0YW5jZVR5cGU6IEZpZWxkV3JhcHBlcjxTY2FsYXJzWydTdHJpbmcnXT47XG4gIGxvbmdpdHVkZT86IE1heWJlPEZpZWxkV3JhcHBlcjxTY2FsYXJzWydGbG9hdCddPj47XG4gIGxhdGl0dWRlPzogTWF5YmU8RmllbGRXcmFwcGVyPFNjYWxhcnNbJ0Zsb2F0J10+Pjtcbn07XG5cbmV4cG9ydCBlbnVtIElybENsYXNzIHtcbiAgQWxsID0gJ0FsbCcsXG4gIEZpcnN0ID0gJ0ZpcnN0JyxcbiAgU3RhbmRhcmQgPSAnU3RhbmRhcmQnXG59XG5cbmV4cG9ydCB0eXBlIElybER5bmFtaWNDb25kaXRpb24gPSB7XG4gIF9fdHlwZW5hbWU/OiAnSVJMRHluYW1pY0NvbmRpdGlvbic7XG4gIG5hbWU/OiBNYXliZTxGaWVsZFdyYXBwZXI8U2NhbGFyc1snU3RyaW5nJ10+PjtcbiAgZGVzY3JpcHRpb24/OiBNYXliZTxGaWVsZFdyYXBwZXI8U2NhbGFyc1snU3RyaW5nJ10+Pjtcbn07XG5cbmV4cG9ydCB0eXBlIElybElkZW50aWZpZXJzID0ge1xuICBfX3R5cGVuYW1lPzogJ0lSTElkZW50aWZpZXJzJztcbiAgdHJhbnNhY3Rpb25JZGVudGlmaWVyPzogTWF5YmU8RmllbGRXcmFwcGVyPFNjYWxhcnNbJ1N0cmluZyddPj47XG4gIHNpZ25hdHVyZT86IE1heWJlPEZpZWxkV3JhcHBlcjxTY2FsYXJzWydTdHJpbmcnXT4+O1xuICBqb3VybmV5SWRlbnRpZmllcj86IE1heWJlPEZpZWxkV3JhcHBlcjxTY2FsYXJzWydTdHJpbmcnXT4+O1xuICBwcm92aWRlcj86IE1heWJlPEZpZWxkV3JhcHBlcjxTY2FsYXJzWydTdHJpbmcnXT4+O1xuICBmYXJlSWRlbnRpZmllcj86IE1heWJlPEZpZWxkV3JhcHBlcjxTY2FsYXJzWydTdHJpbmcnXT4+O1xuICBkaXJlY3Rpb24/OiBNYXliZTxGaWVsZFdyYXBwZXI8U2NhbGFyc1snU3RyaW5nJ10+PjtcbiAgYWxsb3dlZFdpdGg6IEFycmF5PEZpZWxkV3JhcHBlcjxJcmxJZGVudGlmaWVycz4+O1xuICBzaW5nbGVPclJldHVybj86IE1heWJlPEZpZWxkV3JhcHBlcjxTY2FsYXJzWydTdHJpbmcnXT4+O1xuICBib29raW5nUmVmPzogTWF5YmU8RmllbGRXcmFwcGVyPFNjYWxhcnNbJ1N0cmluZyddPj47XG59O1xuXG5leHBvcnQgdHlwZSBJcmxKb3VybmV5T3B0aW9uID0ge1xuICBfX3R5cGVuYW1lPzogJ0lSTEpvdXJuZXlPcHRpb24nO1xuICBpZGVudGlmaWVycz86IE1heWJlPEZpZWxkV3JhcHBlcjxJcmxJZGVudGlmaWVycz4+O1xuICB0cmF2ZWxsZXJzPzogTWF5YmU8QXJyYXk8RmllbGRXcmFwcGVyPElybFRyYXZlbGxlcj4+PjtcbiAgZnJvbT86IE1heWJlPEZpZWxkV3JhcHBlcjxTY2FsYXJzWydTdHJpbmcnXT4+O1xuICBmcm9tQ29kZT86IE1heWJlPEZpZWxkV3JhcHBlcjxTY2FsYXJzWydTdHJpbmcnXT4+O1xuICB0bz86IE1heWJlPEZpZWxkV3JhcHBlcjxTY2FsYXJzWydTdHJpbmcnXT4+O1xuICB0b0NvZGU/OiBNYXliZTxGaWVsZFdyYXBwZXI8U2NhbGFyc1snU3RyaW5nJ10+PjtcbiAgZGVwYXJ0RGF0ZVRpbWU/OiBNYXliZTxGaWVsZFdyYXBwZXI8U2NhbGFyc1snRGF0ZVRpbWUnXT4+O1xuICBhcnJpdmVEYXRlVGltZT86IE1heWJlPEZpZWxkV3JhcHBlcjxTY2FsYXJzWydEYXRlVGltZSddPj47XG4gIGNoYW5nZXM/OiBNYXliZTxGaWVsZFdyYXBwZXI8U2NhbGFyc1snU3RyaW5nJ10+PjtcbiAgc2VnbWVudHM/OiBNYXliZTxBcnJheTxGaWVsZFdyYXBwZXI8SXJsU2VnbWVudD4+PjtcbiAgcHJvdmlkZXJzPzogTWF5YmU8QXJyYXk8RmllbGRXcmFwcGVyPElybFByb3ZpZGVyPj4+O1xuICB1bnNlbGxhYmxlPzogTWF5YmU8RmllbGRXcmFwcGVyPFNjYWxhcnNbJ1N0cmluZyddPj47XG4gIHRpY2tldEV4dHJhcz86IE1heWJlPEFycmF5PEZpZWxkV3JhcHBlcjxJcmxUaWNrZXRFeHRyYT4+PjtcbiAgcGx1c0J1cz86IE1heWJlPEZpZWxkV3JhcHBlcjxJcmxQbHVzQnVzPj47XG59O1xuXG5leHBvcnQgdHlwZSBJcmxKb3VybmV5T3B0aW9ucyA9IHtcbiAgX190eXBlbmFtZT86ICdJUkxKb3VybmV5T3B0aW9ucyc7XG4gIHNvdXJjZTogRmllbGRXcmFwcGVyPFNjYWxhcnNbJ1N0cmluZyddPjtcbiAgc291cmNlSWQ6IEZpZWxkV3JhcHBlcjxTY2FsYXJzWydJbnQnXT47XG4gIG91dGJvdW5kPzogTWF5YmU8QXJyYXk8RmllbGRXcmFwcGVyPElybEpvdXJuZXlPcHRpb24+Pj47XG4gIHJldHVybj86IE1heWJlPEFycmF5PEZpZWxkV3JhcHBlcjxJcmxKb3VybmV5T3B0aW9uPj4+O1xufTtcblxuZXhwb3J0IGVudW0gSXJsSm91cm5leVR5cGUge1xuICBSZXR1cm5Kb3VybmV5ID0gJ1JldHVybkpvdXJuZXknLFxuICBTaW5nbGVKb3VybmV5ID0gJ1NpbmdsZUpvdXJuZXknXG59XG5cbmV4cG9ydCB0eXBlIElybFBsdXNCdXMgPSB7XG4gIF9fdHlwZW5hbWU/OiAnSVJMUGx1c0J1cyc7XG4gIG9yaWdpblBsdXNCdXNOTEM/OiBNYXliZTxGaWVsZFdyYXBwZXI8U2NhbGFyc1snU3RyaW5nJ10+PjtcbiAgb3JpZ2luU3RhdGlvbk5MQz86IE1heWJlPEZpZWxkV3JhcHBlcjxTY2FsYXJzWydTdHJpbmcnXT4+O1xuICBkZXN0aW5hdGlvblBsdXNCdXNOTEM/OiBNYXliZTxGaWVsZFdyYXBwZXI8U2NhbGFyc1snU3RyaW5nJ10+PjtcbiAgZGVzdGluYXRpb25TdGF0aW9uTkxDPzogTWF5YmU8RmllbGRXcmFwcGVyPFNjYWxhcnNbJ1N0cmluZyddPj47XG59O1xuXG5leHBvcnQgdHlwZSBJcmxQcm92aWRlciA9IHtcbiAgX190eXBlbmFtZT86ICdJUkxQcm92aWRlcic7XG4gIHByb3ZpZGVySWQ/OiBNYXliZTxGaWVsZFdyYXBwZXI8U2NhbGFyc1snU3RyaW5nJ10+PjtcbiAgbmFtZT86IE1heWJlPEZpZWxkV3JhcHBlcjxTY2FsYXJzWydTdHJpbmcnXT4+O1xuICBjaGVhcGVzdFRpY2tldD86IE1heWJlPEZpZWxkV3JhcHBlcjxJcmxUaWNrZXRPcHRpb24+PjtcbiAgdGlja2V0T3B0aW9ucz86IE1heWJlPEFycmF5PE1heWJlPEZpZWxkV3JhcHBlcjxJcmxUaWNrZXRPcHRpb24+Pj4+O1xuICBib29rZWRUaWNrZXQ/OiBNYXliZTxGaWVsZFdyYXBwZXI8SXJsVGlja2V0T3B0aW9uPj47XG59O1xuXG5leHBvcnQgdHlwZSBJcmxTZWFyY2hSZXN1bHQgPSB7XG4gIF9fdHlwZW5hbWU/OiAnSVJMU2VhcmNoUmVzdWx0JztcbiAgcmVzdWx0czogQXJyYXk8RmllbGRXcmFwcGVyPElybEpvdXJuZXlPcHRpb25zPj47XG4gIGVycm9yczogQXJyYXk8RmllbGRXcmFwcGVyPFNlYXJjaEVycm9yPj47XG59O1xuXG5leHBvcnQgdHlwZSBJcmxTZWF0ID0ge1xuICBfX3R5cGVuYW1lPzogJ0lSTFNlYXQnO1xuICBsb2NhdGlvbj86IE1heWJlPEZpZWxkV3JhcHBlcjxTY2FsYXJzWydTdHJpbmcnXT4+O1xuICBjb2FjaD86IE1heWJlPEZpZWxkV3JhcHBlcjxTY2FsYXJzWydTdHJpbmcnXT4+O1xuICBudW1iZXI/OiBNYXliZTxGaWVsZFdyYXBwZXI8U2NhbGFyc1snU3RyaW5nJ10+PjtcbiAgZGlyZWN0aW9uPzogTWF5YmU8RmllbGRXcmFwcGVyPFNjYWxhcnNbJ1N0cmluZyddPj47XG4gIHBvc2l0aW9uPzogTWF5YmU8RmllbGRXcmFwcGVyPFNjYWxhcnNbJ1N0cmluZyddPj47XG4gIGRlY2s/OiBNYXliZTxGaWVsZFdyYXBwZXI8U2NhbGFyc1snU3RyaW5nJ10+PjtcbiAgc2VhdFR5cGU/OiBNYXliZTxGaWVsZFdyYXBwZXI8U2NhbGFyc1snU3RyaW5nJ10+PjtcbiAgc2VhdFNlbGVjdGlvbj86IE1heWJlPEZpZWxkV3JhcHBlcjxTY2FsYXJzWydTdHJpbmcnXT4+O1xuICBmYWNpbGl0aWVzPzogTWF5YmU8QXJyYXk8TWF5YmU8RmllbGRXcmFwcGVyPFNjYWxhcnNbJ1N0cmluZyddPj4+PjtcbiAgbm90ZTogRmllbGRXcmFwcGVyPFNjYWxhcnNbJ1N0cmluZyddPjtcbn07XG5cbmV4cG9ydCB0eXBlIElybFNlYXRQcmVmZXJlbmNlVHlwZSA9IHtcbiAgX190eXBlbmFtZT86ICdJUkxTZWF0UHJlZmVyZW5jZVR5cGUnO1xuICBuYW1lPzogTWF5YmU8RmllbGRXcmFwcGVyPFNjYWxhcnNbJ1N0cmluZyddPj47XG4gIGFsbG93ZWRWYWx1ZXM/OiBNYXliZTxBcnJheTxNYXliZTxGaWVsZFdyYXBwZXI8U2NhbGFyc1snU3RyaW5nJ10+Pj4+O1xufTtcblxuZXhwb3J0IHR5cGUgSXJsU2VnbWVudCA9IHtcbiAgX190eXBlbmFtZT86ICdJUkxTZWdtZW50JztcbiAgaWQ/OiBNYXliZTxGaWVsZFdyYXBwZXI8U2NhbGFyc1snU3RyaW5nJ10+PjtcbiAgb3BlcmF0b3I/OiBNYXliZTxGaWVsZFdyYXBwZXI8U2NhbGFyc1snU3RyaW5nJ10+PjtcbiAgZGVwYXJ0PzogTWF5YmU8RmllbGRXcmFwcGVyPFNjYWxhcnNbJ1N0cmluZyddPj47XG4gIGRlcGFydERhdGVUaW1lPzogTWF5YmU8RmllbGRXcmFwcGVyPFNjYWxhcnNbJ0RhdGVUaW1lJ10+PjtcbiAgYXJyaXZlPzogTWF5YmU8RmllbGRXcmFwcGVyPFNjYWxhcnNbJ1N0cmluZyddPj47XG4gIGFycml2ZURhdGVUaW1lPzogTWF5YmU8RmllbGRXcmFwcGVyPFNjYWxhcnNbJ0RhdGVUaW1lJ10+PjtcbiAgcmVzZXJ2YWJsZVN0YXR1cz86IE1heWJlPEZpZWxkV3JhcHBlcjxTY2FsYXJzWydTdHJpbmcnXT4+O1xuICBzZWF0UHJlZmVyZW5jZVR5cGVzPzogTWF5YmU8QXJyYXk8RmllbGRXcmFwcGVyPElybFNlYXRQcmVmZXJlbmNlVHlwZT4+PjtcbiAgc2VhdFByZWZlcmVuY2VHcm91cD86IE1heWJlPEZpZWxkV3JhcHBlcjxTY2FsYXJzWydTdHJpbmcnXT4+O1xuICBzZWF0cz86IE1heWJlPEFycmF5PEZpZWxkV3JhcHBlcjxJcmxTZWF0Pj4+O1xufTtcblxuZXhwb3J0IGVudW0gSXJsU3VwcGxpZXIge1xuICBSZW5mZSA9ICdSZW5mZScsXG4gIEJlTmUgPSAnQmVOZScsXG4gIE50diA9ICdOdHYnXG59XG5cbmV4cG9ydCB0eXBlIElybFN1cHBsaWVyU3RhdGlvbiA9IHtcbiAgX190eXBlbmFtZT86ICdJUkxTdXBwbGllclN0YXRpb24nO1xuICBpZDogRmllbGRXcmFwcGVyPFNjYWxhcnNbJ0lEJ10+O1xuICBuYW1lOiBGaWVsZFdyYXBwZXI8U2NhbGFyc1snU3RyaW5nJ10+O1xuICBzdXBwbGllcjogRmllbGRXcmFwcGVyPFNjYWxhcnNbJ1N0cmluZyddPjtcbiAgc3RhdGlvbkNvZGU6IEZpZWxkV3JhcHBlcjxTY2FsYXJzWydTdHJpbmcnXT47XG4gIG5sY0NvZGU/OiBNYXliZTxGaWVsZFdyYXBwZXI8U2NhbGFyc1snSW50J10+PjtcbiAgdHJhaW5saW5lQ29kZT86IE1heWJlPEZpZWxkV3JhcHBlcjxTY2FsYXJzWydTdHJpbmcnXT4+O1xuICB0cmFpbmxpbmVVbmlxdWVDb2RlPzogTWF5YmU8RmllbGRXcmFwcGVyPFNjYWxhcnNbJ1N0cmluZyddPj47XG4gIGxvY2F0aW9uRGV0YWlscz86IE1heWJlPEZpZWxkV3JhcHBlcjxMb2NhdGlvbkRldGFpbD4+O1xufTtcblxuZXhwb3J0IHR5cGUgSXJsVGV4dFZhbHVlUGFpciA9IHtcbiAgX190eXBlbmFtZT86ICdJUkxUZXh0VmFsdWVQYWlyJztcbiAgdGV4dDogRmllbGRXcmFwcGVyPFNjYWxhcnNbJ1N0cmluZyddPjtcbiAgdmFsdWU/OiBNYXliZTxGaWVsZFdyYXBwZXI8U2NhbGFyc1snU3RyaW5nJ10+Pjtcbn07XG5cbmV4cG9ydCB0eXBlIElybFRpY2tldCA9IHtcbiAgX190eXBlbmFtZT86ICdJUkxUaWNrZXQnO1xuICBwcmljZT86IE1heWJlPEZpZWxkV3JhcHBlcjxTY2FsYXJzWydGbG9hdCddPj47XG4gIHR5cGU/OiBNYXliZTxGaWVsZFdyYXBwZXI8U2NhbGFyc1snU3RyaW5nJ10+PjtcbiAgcm91dGU/OiBNYXliZTxGaWVsZFdyYXBwZXI8U2NhbGFyc1snU3RyaW5nJ10+PjtcbiAgc2VnbWVudHM/OiBNYXliZTxBcnJheTxGaWVsZFdyYXBwZXI8SXJsU2VnbWVudD4+PjtcbiAgbnVtQ2hpbGRyZW4/OiBNYXliZTxGaWVsZFdyYXBwZXI8U2NhbGFyc1snSW50J10+PjtcbiAgbnVtQWR1bHRzPzogTWF5YmU8RmllbGRXcmFwcGVyPFNjYWxhcnNbJ0ludCddPj47XG59O1xuXG5leHBvcnQgdHlwZSBJcmxUaWNrZXRFeHRyYSA9IHtcbiAgX190eXBlbmFtZT86ICdJUkxUaWNrZXRFeHRyYSc7XG4gIGlkZW50aWZpZXJzPzogTWF5YmU8RmllbGRXcmFwcGVyPElybFRpY2tldEV4dHJhSWRlbnRpZmllcnM+PjtcbiAgdHlwZT86IE1heWJlPEZpZWxkV3JhcHBlcjxTY2FsYXJzWydTdHJpbmcnXT4+O1xuICBsb2NhdGlvbj86IE1heWJlPEZpZWxkV3JhcHBlcjxTY2FsYXJzWydTdHJpbmcnXT4+O1xuICBkYXRlPzogTWF5YmU8RmllbGRXcmFwcGVyPFNjYWxhcnNbJ0RhdGUnXT4+O1xuICBkZXNjcmlwdGlvbj86IE1heWJlPEZpZWxkV3JhcHBlcjxTY2FsYXJzWydTdHJpbmcnXT4+O1xuICBhbW91bnQ/OiBNYXliZTxGaWVsZFdyYXBwZXI8U2NhbGFyc1snRmxvYXQnXT4+O1xuICBhZHVsdEFtb3VudD86IE1heWJlPEZpZWxkV3JhcHBlcjxTY2FsYXJzWydGbG9hdCddPj47XG4gIGNoaWxkQW1vdW50PzogTWF5YmU8RmllbGRXcmFwcGVyPFNjYWxhcnNbJ0Zsb2F0J10+PjtcbiAgY3VycmVuY3k/OiBNYXliZTxGaWVsZFdyYXBwZXI8U2NhbGFyc1snU3RyaW5nJ10+Pjtcbn07XG5cbmV4cG9ydCB0eXBlIElybFRpY2tldEV4dHJhSWRlbnRpZmllcnMgPSB7XG4gIF9fdHlwZW5hbWU/OiAnSVJMVGlja2V0RXh0cmFJZGVudGlmaWVycyc7XG4gIHR5cGU/OiBNYXliZTxGaWVsZFdyYXBwZXI8U2NhbGFyc1snU3RyaW5nJ10+PjtcbiAgbG9jYXRpb24/OiBNYXliZTxGaWVsZFdyYXBwZXI8U2NhbGFyc1snU3RyaW5nJ10+PjtcbiAgZGF0ZT86IE1heWJlPEZpZWxkV3JhcHBlcjxTY2FsYXJzWydEYXRlJ10+PjtcbiAgam91cm5leUlkPzogTWF5YmU8RmllbGRXcmFwcGVyPFNjYWxhcnNbJ1N0cmluZyddPj47XG4gIGlzT3JpZ2luPzogTWF5YmU8RmllbGRXcmFwcGVyPFNjYWxhcnNbJ0Jvb2xlYW4nXT4+O1xufTtcblxuZXhwb3J0IHR5cGUgSXJsVGlja2V0T3B0aW9uID0ge1xuICBfX3R5cGVuYW1lPzogJ0lSTFRpY2tldE9wdGlvbic7XG4gIGlkZW50aWZpZXJzPzogTWF5YmU8RmllbGRXcmFwcGVyPElybElkZW50aWZpZXJzPj47XG4gIHR5cGU/OiBNYXliZTxGaWVsZFdyYXBwZXI8U2NhbGFyc1snU3RyaW5nJ10+PjtcbiAgY2xhc3M/OiBNYXliZTxGaWVsZFdyYXBwZXI8U2NhbGFyc1snU3RyaW5nJ10+PjtcbiAgc2luZ2xlT3JSZXR1cm4/OiBNYXliZTxGaWVsZFdyYXBwZXI8U2NhbGFyc1snU3RyaW5nJ10+PjtcbiAgcHJpY2U/OiBNYXliZTxGaWVsZFdyYXBwZXI8U2NhbGFyc1snRmxvYXQnXT4+O1xuICByZXNlcnZhYmxlU3RhdHVzPzogTWF5YmU8RmllbGRXcmFwcGVyPFNjYWxhcnNbJ1N0cmluZyddPj47XG4gIGN1cnJlbmN5PzogTWF5YmU8RmllbGRXcmFwcGVyPFNjYWxhcnNbJ1N0cmluZyddPj47XG4gIHJvdXRlPzogTWF5YmU8RmllbGRXcmFwcGVyPFNjYWxhcnNbJ1N0cmluZyddPj47XG4gIHJvdXRlQ29kZT86IE1heWJlPEZpZWxkV3JhcHBlcjxTY2FsYXJzWydTdHJpbmcnXT4+O1xuICB0aWNrZXRzPzogTWF5YmU8QXJyYXk8TWF5YmU8RmllbGRXcmFwcGVyPElybFRpY2tldD4+Pj47XG59O1xuXG5leHBvcnQgdHlwZSBJcmxUcmF2ZWxsZXIgPSB7XG4gIF9fdHlwZW5hbWU/OiAnSVJMVHJhdmVsbGVyJztcbiAgc3RhdHVzPzogTWF5YmU8RmllbGRXcmFwcGVyPElybFRyYXZlbGxlclN0YXR1cz4+O1xuICBpZD86IE1heWJlPEZpZWxkV3JhcHBlcjxTY2FsYXJzWydTdHJpbmcnXT4+O1xuICBkb2I/OiBNYXliZTxGaWVsZFdyYXBwZXI8U2NhbGFyc1snRGF0ZSddPj47XG4gIHJhaWxjYXJkPzogTWF5YmU8RmllbGRXcmFwcGVyPFNjYWxhcnNbJ1N0cmluZyddPj47XG4gIGdpdmVuTmFtZT86IE1heWJlPEZpZWxkV3JhcHBlcjxTY2FsYXJzWydTdHJpbmcnXT4+O1xuICBzdXJuYW1lPzogTWF5YmU8RmllbGRXcmFwcGVyPFNjYWxhcnNbJ1N0cmluZyddPj47XG4gIG5hbWVUaXRsZT86IE1heWJlPEZpZWxkV3JhcHBlcjxTY2FsYXJzWydTdHJpbmcnXT4+O1xuICBjb250YWN0SW5mbz86IE1heWJlPEZpZWxkV3JhcHBlcjxTY2FsYXJzWydTdHJpbmcnXT4+O1xuICBkZWxpdmVyeUVtYWlsQWRkcmVzcz86IE1heWJlPEZpZWxkV3JhcHBlcjxTY2FsYXJzWydTdHJpbmcnXT4+O1xuICBmYXJlPzogTWF5YmU8RmllbGRXcmFwcGVyPFNjYWxhcnNbJ1N0cmluZyddPj47XG59O1xuXG5leHBvcnQgZW51bSBJcmxUcmF2ZWxsZXJTdGF0dXMge1xuICBQbGFjZWhvbGRlciA9ICdwbGFjZWhvbGRlcicsXG4gIENvbXBsZXRlID0gJ2NvbXBsZXRlJ1xufVxuXG5leHBvcnQgdHlwZSBJbnB1dENhckhpcmVEZXBvdCA9IHtcbiAgdmVuZG9yQ29kZT86IE1heWJlPFNjYWxhcnNbJ1N0cmluZyddPjtcbiAgcGlja3VwTG9jYXRpb25Db2RlPzogTWF5YmU8U2NhbGFyc1snU3RyaW5nJ10+O1xuICBwaWNrdXBFeHRlbmRlZExvY2F0aW9uQ29kZT86IE1heWJlPFNjYWxhcnNbJ1N0cmluZyddPjtcbiAgZHJvcE9mZkxvY2F0aW9uQ29kZT86IE1heWJlPFNjYWxhcnNbJ1N0cmluZyddPjtcbiAgZHJvcE9mZkV4dGVuZGVkTG9jYXRpb25Db2RlPzogTWF5YmU8U2NhbGFyc1snU3RyaW5nJ10+O1xufTtcblxuZXhwb3J0IHR5cGUgSXRpbmVyYXJ5U3VtbWFyeSA9IHtcbiAgX190eXBlbmFtZT86ICdJdGluZXJhcnlTdW1tYXJ5JztcbiAgb3JkZXI6IEZpZWxkV3JhcHBlcjxTY2FsYXJzWydJbnQnXT47XG4gIG9yaWdpbjogRmllbGRXcmFwcGVyPFNjYWxhcnNbJ1N0cmluZyddPjtcbiAgZGVzdGluYXRpb246IEZpZWxkV3JhcHBlcjxTY2FsYXJzWydTdHJpbmcnXT47XG4gIHJlc3VsdHM6IEFycmF5PEZpZWxkV3JhcHBlcjxGbGlnaHRJdGluZXJhcnk+PjtcbiAgbWluUHJpY2U6IEZpZWxkV3JhcHBlcjxTY2FsYXJzWydGbG9hdCddPjtcbiAgbWF4UHJpY2U6IEZpZWxkV3JhcHBlcjxTY2FsYXJzWydGbG9hdCddPjtcbn07XG5cblxuZXhwb3J0IHR5cGUgTGFuZ3VhZ2UgPSB7XG4gIF9fdHlwZW5hbWU/OiAnTGFuZ3VhZ2UnO1xuICBpZDogRmllbGRXcmFwcGVyPFNjYWxhcnNbJ0lEJ10+O1xuICBuYW1lOiBGaWVsZFdyYXBwZXI8U2NhbGFyc1snU3RyaW5nJ10+O1xuICBpc29Db2RlOiBGaWVsZFdyYXBwZXI8U2NhbGFyc1snU3RyaW5nJ10+O1xufTtcblxuZXhwb3J0IHR5cGUgTG9jYXRpb25EZXRhaWwgPSB7XG4gIF9fdHlwZW5hbWU/OiAnTG9jYXRpb25EZXRhaWwnO1xuICBjb250aW5lbnQ/OiBNYXliZTxGaWVsZFdyYXBwZXI8U2NhbGFyc1snU3RyaW5nJ10+PjtcbiAgY291bnRyeT86IE1heWJlPEZpZWxkV3JhcHBlcjxTY2FsYXJzWydTdHJpbmcnXT4+O1xuICBjb3VudHJ5Q29kZT86IE1heWJlPEZpZWxkV3JhcHBlcjxTY2FsYXJzWydTdHJpbmcnXT4+O1xuICBzdGF0ZT86IE1heWJlPEZpZWxkV3JhcHBlcjxTY2FsYXJzWydTdHJpbmcnXT4+O1xuICBjaXR5PzogTWF5YmU8RmllbGRXcmFwcGVyPFNjYWxhcnNbJ1N0cmluZyddPj47XG4gIGNvb3JkaW5hdGVzPzogTWF5YmU8RmllbGRXcmFwcGVyPEdlb0Nvb3JkaW5hdGVzPj47XG4gIHBvc3Rjb2RlPzogTWF5YmU8RmllbGRXcmFwcGVyPFNjYWxhcnNbJ1N0cmluZyddPj47XG4gIHJvYWQ/OiBNYXliZTxGaWVsZFdyYXBwZXI8U2NhbGFyc1snU3RyaW5nJ10+PjtcbiAgZ3JpZFJlZmVyZW5jZT86IE1heWJlPEZpZWxkV3JhcHBlcjxTY2FsYXJzWydTdHJpbmcnXT4+O1xuICBub3J0aGluZz86IE1heWJlPEZpZWxkV3JhcHBlcjxTY2FsYXJzWydTdHJpbmcnXT4+O1xuICBlYXN0aW5nPzogTWF5YmU8RmllbGRXcmFwcGVyPFNjYWxhcnNbJ1N0cmluZyddPj47XG59O1xuXG5leHBvcnQgdHlwZSBMb3VuZ2VMb2NhdGlvbiA9IHtcbiAgX190eXBlbmFtZT86ICdMb3VuZ2VMb2NhdGlvbic7XG4gIGNvZGU6IEZpZWxkV3JhcHBlcjxTY2FsYXJzWydTdHJpbmcnXT47XG4gIG5hbWU6IEZpZWxkV3JhcHBlcjxTY2FsYXJzWydTdHJpbmcnXT47XG4gIGFpcnBvcnQ6IEZpZWxkV3JhcHBlcjxTY2FsYXJzWydTdHJpbmcnXT47XG4gIHRlcm1pbmFsPzogTWF5YmU8RmllbGRXcmFwcGVyPFNjYWxhcnNbJ0ludCddPj47XG4gIGFkZHJlc3M/OiBNYXliZTxGaWVsZFdyYXBwZXI8U2NhbGFyc1snU3RyaW5nJ10+PjtcbiAgdGVsZXBob25lPzogTWF5YmU8RmllbGRXcmFwcGVyPFNjYWxhcnNbJ1N0cmluZyddPj47XG4gIGZheD86IE1heWJlPEZpZWxkV3JhcHBlcjxTY2FsYXJzWydTdHJpbmcnXT4+O1xuICBkaXJlY3Rpb25zPzogTWF5YmU8RmllbGRXcmFwcGVyPFNjYWxhcnNbJ1N0cmluZyddPj47XG4gIGludHJvZHVjdGlvbj86IE1heWJlPEZpZWxkV3JhcHBlcjxTY2FsYXJzWydTdHJpbmcnXT4+O1xuICBsb2dvPzogTWF5YmU8RmllbGRXcmFwcGVyPFNjYWxhcnNbJ1N0cmluZyddPj47XG4gIG1vYmlsZUltYWdlPzogTWF5YmU8RmllbGRXcmFwcGVyPFNjYWxhcnNbJ1N0cmluZyddPj47XG4gIGZ1cnRoZXJJbWFnZXM/OiBNYXliZTxBcnJheTxNYXliZTxGaWVsZFdyYXBwZXI8U2NhbGFyc1snU3RyaW5nJ10+Pj4+O1xuICBhZHVsdEFnZT86IE1heWJlPEZpZWxkV3JhcHBlcjxTY2FsYXJzWydJbnQnXT4+O1xuICBjaGlsZEFnZT86IE1heWJlPEZpZWxkV3JhcHBlcjxTY2FsYXJzWydJbnQnXT4+O1xuICBpbmZhbnRBZ2U/OiBNYXliZTxGaWVsZFdyYXBwZXI8U2NhbGFyc1snSW50J10+PjtcbiAgbGFuZHNpZGU6IEZpZWxkV3JhcHBlcjxTY2FsYXJzWydCb29sZWFuJ10+O1xuICBhaXJzaWRlOiBGaWVsZFdyYXBwZXI8U2NhbGFyc1snQm9vbGVhbiddPjtcbiAgZmFjaWxpdGllcz86IE1heWJlPEFycmF5PE1heWJlPEZpZWxkV3JhcHBlcjxTY2FsYXJzWydTdHJpbmcnXT4+Pj47XG4gIG9wZW5UaW1lPzogTWF5YmU8RmllbGRXcmFwcGVyPFNjYWxhcnNbJ1N0cmluZyddPj47XG4gIGNsb3NlVGltZT86IE1heWJlPEZpZWxkV3JhcHBlcjxTY2FsYXJzWydTdHJpbmcnXT4+O1xuICB3aWZpPzogTWF5YmU8RmllbGRXcmFwcGVyPFNjYWxhcnNbJ0Jvb2xlYW4nXT4+O1xuICB0dj86IE1heWJlPEZpZWxkV3JhcHBlcjxTY2FsYXJzWydCb29sZWFuJ10+PjtcbiAgc25hY2tzPzogTWF5YmU8RmllbGRXcmFwcGVyPFNjYWxhcnNbJ0Jvb2xlYW4nXT4+O1xuICBwaG9uZT86IE1heWJlPEZpZWxkV3JhcHBlcjxTY2FsYXJzWydCb29sZWFuJ10+PjtcbiAgaW50ZXJuZXQ/OiBNYXliZTxGaWVsZFdyYXBwZXI8U2NhbGFyc1snQm9vbGVhbiddPj47XG4gIGNoaWxkcmVuQWxsb3dlZD86IE1heWJlPEZpZWxkV3JhcHBlcjxTY2FsYXJzWydCb29sZWFuJ10+PjtcbiAgZGlzYWJsZWRBY2Nlc3M/OiBNYXliZTxGaWVsZFdyYXBwZXI8U2NhbGFyc1snQm9vbGVhbiddPj47XG4gIGRyaW5rcz86IE1heWJlPEZpZWxkV3JhcHBlcjxTY2FsYXJzWydCb29sZWFuJ10+PjtcbiAgZnJlZURyaW5rcz86IE1heWJlPEZpZWxkV3JhcHBlcjxTY2FsYXJzWydCb29sZWFuJ10+PjtcbiAgZnJlZUZvb2Q/OiBNYXliZTxGaWVsZFdyYXBwZXI8U2NhbGFyc1snQm9vbGVhbiddPj47XG4gIHNtb2tpbmdQZXJtaXR0ZWQ/OiBNYXliZTxGaWVsZFdyYXBwZXI8U2NhbGFyc1snQm9vbGVhbiddPj47XG4gIG1hZ2F6aW5lcz86IE1heWJlPEZpZWxkV3JhcHBlcjxTY2FsYXJzWydCb29sZWFuJ10+PjtcbiAgaW5jbHVkZWREcmlua3M/OiBNYXliZTxBcnJheTxNYXliZTxGaWVsZFdyYXBwZXI8U2NhbGFyc1snU3RyaW5nJ10+Pj4+O1xuICBtZW51Rm9vZD86IE1heWJlPEZpZWxkV3JhcHBlcjxTY2FsYXJzWydTdHJpbmcnXT4+O1xuICBtZW51RHJpbmtzPzogTWF5YmU8RmllbGRXcmFwcGVyPFNjYWxhcnNbJ1N0cmluZyddPj47XG4gIG1lbnVFeHRyYXM/OiBNYXliZTxGaWVsZFdyYXBwZXI8U2NhbGFyc1snU3RyaW5nJ10+PjtcbiAgd2hhdHNJbmNsdWRlZERyaW5rcz86IE1heWJlPEZpZWxkV3JhcHBlcjxTY2FsYXJzWydTdHJpbmcnXT4+O1xuICB3aGF0c0luY2x1ZGVkRXh0cmFzPzogTWF5YmU8RmllbGRXcmFwcGVyPFNjYWxhcnNbJ1N0cmluZyddPj47XG4gIHdoYXRzSW5jbHVkZWRGb29kPzogTWF5YmU8RmllbGRXcmFwcGVyPFNjYWxhcnNbJ1N0cmluZyddPj47XG4gIGdyb3VwSW5mbz86IE1heWJlPEZpZWxkV3JhcHBlcjxTY2FsYXJzWydTdHJpbmcnXT4+O1xuICBjaGVja0luSW5mbz86IE1heWJlPEZpZWxkV3JhcHBlcjxTY2FsYXJzWydTdHJpbmcnXT4+O1xuICBkcmVzc0NvZGU/OiBNYXliZTxGaWVsZFdyYXBwZXI8U2NhbGFyc1snU3RyaW5nJ10+PjtcbiAgZmFjaWxpdGllc0luZm8/OiBNYXliZTxGaWVsZFdyYXBwZXI8U2NhbGFyc1snU3RyaW5nJ10+PjtcbiAgZm9vZEFuZEJldmVyYWdlPzogTWF5YmU8RmllbGRXcmFwcGVyPFNjYWxhcnNbJ1N0cmluZyddPj47XG4gIGNhbmNlbGxhdGlvbkluZm8/OiBNYXliZTxGaWVsZFdyYXBwZXI8U2NhbGFyc1snU3RyaW5nJ10+PjtcbiAgYW1lbmRtZW50c0luZm8/OiBNYXliZTxGaWVsZFdyYXBwZXI8U2NhbGFyc1snU3RyaW5nJ10+PjtcbiAgbWlzYz86IE1heWJlPEZpZWxkV3JhcHBlcjxTY2FsYXJzWydKU09OJ10+Pjtcbn07XG5cbmV4cG9ydCB0eXBlIExvdW5nZVF1b3RlID0ge1xuICBfX3R5cGVuYW1lPzogJ0xvdW5nZVF1b3RlJztcbiAgc291cmNlOiBGaWVsZFdyYXBwZXI8U2NhbGFyc1snU3RyaW5nJ10+O1xuICBzb3VyY2VJZDogRmllbGRXcmFwcGVyPFNjYWxhcnNbJ0ludCddPjtcbiAgbmFtZTogRmllbGRXcmFwcGVyPFNjYWxhcnNbJ1N0cmluZyddPjtcbiAgY29kZTogRmllbGRXcmFwcGVyPFNjYWxhcnNbJ1N0cmluZyddPjtcbiAgcHJpY2U6IEZpZWxkV3JhcHBlcjxTY2FsYXJzWydGbG9hdCddPjtcbiAgY3VycmVuY3k6IEZpZWxkV3JhcHBlcjxDdXJyZW5jeUNvZGU+O1xuICBsb3VuZ2U6IEZpZWxkV3JhcHBlcjxMb3VuZ2VMb2NhdGlvbj47XG4gIHRtY1ByZWZlcnJlZDogRmllbGRXcmFwcGVyPFNjYWxhcnNbJ0Jvb2xlYW4nXT47XG4gIGNvbXBhbnlQcmVmZXJyZWQ6IEZpZWxkV3JhcHBlcjxTY2FsYXJzWydCb29sZWFuJ10+O1xuICBvZmZpY2VQcmVmZXJyZWQ6IEZpZWxkV3JhcHBlcjxTY2FsYXJzWydCb29sZWFuJ10+O1xuICB0bWNQcmVmZXJyZWRNZXNzYWdlPzogTWF5YmU8RmllbGRXcmFwcGVyPFNjYWxhcnNbJ1N0cmluZyddPj47XG4gIGNvbXBhbnlQcmVmZXJyZWRNZXNzYWdlPzogTWF5YmU8RmllbGRXcmFwcGVyPFNjYWxhcnNbJ1N0cmluZyddPj47XG4gIG9mZmljZVByZWZlcnJlZE1lc3NhZ2U/OiBNYXliZTxGaWVsZFdyYXBwZXI8U2NhbGFyc1snU3RyaW5nJ10+PjtcbiAgdW5hdmFpbGFibGU6IEZpZWxkV3JhcHBlcjxTY2FsYXJzWydCb29sZWFuJ10+O1xuICB1bmF2YWlsYWJsZU1lc3NhZ2U/OiBNYXliZTxGaWVsZFdyYXBwZXI8U2NhbGFyc1snU3RyaW5nJ10+PjtcbiAgY28yUGVyUGFzc2VuZ2VyOiBGaWVsZFdyYXBwZXI8U2NhbGFyc1snRmxvYXQnXT47XG4gIGNvMlBlckl0ZW06IEZpZWxkV3JhcHBlcjxTY2FsYXJzWydGbG9hdCddPjtcbn07XG5cbmV4cG9ydCB0eXBlIExvdW5nZVNlYXJjaFJlc3VsdCA9IHtcbiAgX190eXBlbmFtZT86ICdMb3VuZ2VTZWFyY2hSZXN1bHQnO1xuICByZXN1bHRzOiBBcnJheTxGaWVsZFdyYXBwZXI8TG91bmdlUXVvdGU+PjtcbiAgZXJyb3JzOiBBcnJheTxGaWVsZFdyYXBwZXI8U2VhcmNoRXJyb3I+Pjtcbn07XG5cbmV4cG9ydCB0eXBlIE1hbmFnZW1lbnRJbmZvID0ge1xuICBfX3R5cGVuYW1lPzogJ01hbmFnZW1lbnRJbmZvJztcbiAgaWQ6IEZpZWxkV3JhcHBlcjxTY2FsYXJzWydJRCddPjtcbiAgZGJJZDogRmllbGRXcmFwcGVyPFNjYWxhcnNbJ0ludCddPjtcbiAgbmFtZTogRmllbGRXcmFwcGVyPFNjYWxhcnNbJ1N0cmluZyddPjtcbiAgZGVzY3JpcHRpb24/OiBNYXliZTxGaWVsZFdyYXBwZXI8U2NhbGFyc1snU3RyaW5nJ10+PjtcbiAgaGFuZG9mZjogRmllbGRXcmFwcGVyPFNjYWxhcnNbJ1N0cmluZyddPjtcbiAgdmFsdWVNYXNrPzogTWF5YmU8RmllbGRXcmFwcGVyPFNjYWxhcnNbJ1N0cmluZyddPj47XG4gIHNlcnZpY2U6IEZpZWxkV3JhcHBlcjxTZXJ2aWNlPjtcbiAgdWlQcmVzZW50YXRpb246IEZpZWxkV3JhcHBlcjxVaVByZXNlbnRhdGlvbj47XG4gIG1hbmRhdG9yeTogRmllbGRXcmFwcGVyPFNjYWxhcnNbJ0Jvb2xlYW4nXT47XG4gIHBlclBhc3NlbmdlcjogRmllbGRXcmFwcGVyPFNjYWxhcnNbJ0Jvb2xlYW4nXT47XG4gIHBlckJvb2tpbmc6IEZpZWxkV3JhcHBlcjxTY2FsYXJzWydCb29sZWFuJ10+O1xuICBhZ2VudE9ubHk6IEZpZWxkV3JhcHBlcjxTY2FsYXJzWydCb29sZWFuJ10+O1xuICBjcmVhdGVkQXQ6IEZpZWxkV3JhcHBlcjxTY2FsYXJzWydEYXRlVGltZSddPjtcbiAgdXBkYXRlZEF0OiBGaWVsZFdyYXBwZXI8U2NhbGFyc1snRGF0ZVRpbWUnXT47XG4gIGZpeGVkOiBGaWVsZFdyYXBwZXI8U2NhbGFyc1snQm9vbGVhbiddPjtcbiAgZml4ZWRWYWx1ZT86IE1heWJlPEZpZWxkV3JhcHBlcjxNYW5hZ2VtZW50SW5mb1ZhbHVlPj47XG4gIGRlZmF1bHRWYWx1ZT86IE1heWJlPEZpZWxkV3JhcHBlcjxNYW5hZ2VtZW50SW5mb1ZhbHVlPj47XG4gIHZhbHVlczogQXJyYXk8RmllbGRXcmFwcGVyPE1hbmFnZW1lbnRJbmZvVmFsdWU+PjtcbiAgZ3JvdXA/OiBNYXliZTxBcnJheTxNYXliZTxGaWVsZFdyYXBwZXI8U2NhbGFyc1snU3RyaW5nJ10+Pj4+O1xuICBzZWxlY3RlZFZhbHVlczogQXJyYXk8RmllbGRXcmFwcGVyPFNlbGVjdGVkTWFuYWdlbWVudEluZm9WYWx1ZT4+O1xufTtcblxuZXhwb3J0IHR5cGUgTWFuYWdlbWVudEluZm9WYWx1ZSA9IHtcbiAgX190eXBlbmFtZT86ICdNYW5hZ2VtZW50SW5mb1ZhbHVlJztcbiAgaWQ6IEZpZWxkV3JhcHBlcjxTY2FsYXJzWydJRCddPjtcbiAgbGFiZWw6IEZpZWxkV3JhcHBlcjxTY2FsYXJzWydTdHJpbmcnXT47XG4gIHZhbHVlOiBGaWVsZFdyYXBwZXI8U2NhbGFyc1snU3RyaW5nJ10+O1xuICBkZWZhdWx0OiBGaWVsZFdyYXBwZXI8U2NhbGFyc1snQm9vbGVhbiddPjtcbiAgZml4ZWQ6IEZpZWxkV3JhcHBlcjxTY2FsYXJzWydCb29sZWFuJ10+O1xuICBhZ2VudE9ubHk6IEZpZWxkV3JhcHBlcjxTY2FsYXJzWydCb29sZWFuJ10+O1xufTtcblxuZXhwb3J0IHR5cGUgTWF0Y2hpbmdGbGlnaHRzID0ge1xuICBfX3R5cGVuYW1lPzogJ01hdGNoaW5nRmxpZ2h0cyc7XG4gIExpdGVFY29ub215PzogTWF5YmU8QXJyYXk8TWF5YmU8RmllbGRXcmFwcGVyPFNjYWxhcnNbJ0ludCddPj4+PjtcbiAgRWNvbm9teVJlc3RyaWN0ZWQ/OiBNYXliZTxBcnJheTxNYXliZTxGaWVsZFdyYXBwZXI8U2NhbGFyc1snSW50J10+Pj4+O1xuICBFY29ub215Tm9CYWdzPzogTWF5YmU8QXJyYXk8TWF5YmU8RmllbGRXcmFwcGVyPFNjYWxhcnNbJ0ludCddPj4+PjtcbiAgRWNvbm9teT86IE1heWJlPEFycmF5PE1heWJlPEZpZWxkV3JhcHBlcjxTY2FsYXJzWydJbnQnXT4+Pj47XG4gIFByZW1pdW1FY29ub215PzogTWF5YmU8QXJyYXk8TWF5YmU8RmllbGRXcmFwcGVyPFNjYWxhcnNbJ0ludCddPj4+PjtcbiAgQnVzaW5lc3M/OiBNYXliZTxBcnJheTxNYXliZTxGaWVsZFdyYXBwZXI8U2NhbGFyc1snSW50J10+Pj4+O1xuICBQcmVtaXVtQnVzaW5lc3M/OiBNYXliZTxBcnJheTxNYXliZTxGaWVsZFdyYXBwZXI8U2NhbGFyc1snSW50J10+Pj4+O1xuICBGaXJzdD86IE1heWJlPEFycmF5PE1heWJlPEZpZWxkV3JhcHBlcjxTY2FsYXJzWydJbnQnXT4+Pj47XG4gIFByZW1pdW1GaXJzdD86IE1heWJlPEFycmF5PE1heWJlPEZpZWxkV3JhcHBlcjxTY2FsYXJzWydJbnQnXT4+Pj47XG59O1xuXG5leHBvcnQgdHlwZSBNZXNzYWdlID0ge1xuICBfX3R5cGVuYW1lPzogJ01lc3NhZ2UnO1xuICBpZDogRmllbGRXcmFwcGVyPFNjYWxhcnNbJ0lEJ10+O1xuICBuYW1lOiBGaWVsZFdyYXBwZXI8U2NhbGFyc1snU3RyaW5nJ10+O1xuICBkZXNjcmlwdGlvbj86IE1heWJlPEZpZWxkV3JhcHBlcjxTY2FsYXJzWydTdHJpbmcnXT4+O1xuICBjb25maWc6IEZpZWxkV3JhcHBlcjxTY2FsYXJzWydKU09OJ10+O1xuICB0YXJnZXQ6IEZpZWxkV3JhcHBlcjxTY2FsYXJzWydTdHJpbmcnXT47XG4gIGtleTogRmllbGRXcmFwcGVyPFNjYWxhcnNbJ1N0cmluZyddPjtcbn07XG5cbmV4cG9ydCB0eXBlIE11dGF0aW9uID0ge1xuICBfX3R5cGVuYW1lPzogJ011dGF0aW9uJztcbiAgc2F2ZVVzZXJBZGRyZXNzOiBGaWVsZFdyYXBwZXI8QWRkcmVzcz47XG4gIGRlbGV0ZVVzZXJBZGRyZXNzOiBGaWVsZFdyYXBwZXI8U2NhbGFyc1snQm9vbGVhbiddPjtcbiAgc2V0QWRkcmVzc0FzVXNlclByaW1hcnk6IEZpZWxkV3JhcHBlcjxBZGRyZXNzPjtcbiAgc2VuZEJhc2tldEZvckFwcHJvdmFsOiBGaWVsZFdyYXBwZXI8QmFza2V0PjtcbiAgY3JlYXRlQmFza2V0OiBGaWVsZFdyYXBwZXI8QmFza2V0PjtcbiAgZGVsZXRlQmFza2V0OiBGaWVsZFdyYXBwZXI8U2NhbGFyc1snQm9vbGVhbiddPjtcbiAgdXBkYXRlQmFza2V0VGl0bGU6IEZpZWxkV3JhcHBlcjxCYXNrZXQ+O1xuICB1cGRhdGVCYXNrZXROb3RlczogRmllbGRXcmFwcGVyPEJhc2tldD47XG4gIGFkZEl0ZW1Ub0Jhc2tldDogRmllbGRXcmFwcGVyPEJhc2tldD47XG4gIHJlbW92ZUl0ZW1Gcm9tQmFza2V0OiBGaWVsZFdyYXBwZXI8QmFza2V0PjtcbiAgcmVtb3ZlSXRlbXNGcm9tQmFza2V0OiBGaWVsZFdyYXBwZXI8QmFza2V0PjtcbiAgbW92ZUl0ZW1Ub0FEaWZmZXJlbnRCYXNrZXQ6IEZpZWxkV3JhcHBlcjxCYXNrZXQ+O1xuICBhZGRVc2Vyc1RvQmFza2V0SXRlbTogRmllbGRXcmFwcGVyPEJhc2tldD47XG4gIHJlbW92ZVVzZXJGcm9tQmFza2V0SXRlbTogRmllbGRXcmFwcGVyPEJhc2tldD47XG4gIHJlb3BlbkJhc2tldDogRmllbGRXcmFwcGVyPEJhc2tldD47XG4gIHNldEJhc2tldEl0ZW1MZWFkUGFzc2VuZ2VyOiBGaWVsZFdyYXBwZXI8QmFza2V0PjtcbiAgYm9va0Jhc2tldDogRmllbGRXcmFwcGVyPEJhc2tldD47XG4gIGNhbmNlbEJvb2tpbmc6IEZpZWxkV3JhcHBlcjxBZnRlckNhbmNlbGxhdGlvbkluZm8+O1xuICBjb25mZXJtYUNyZWF0ZUNhcmQ6IEZpZWxkV3JhcHBlcjxDb25mZXJtYUNyZWF0ZUNhcmRSZXN1bHQ+O1xuICBjb25mZXJtYURlbGV0ZUNhcmQ6IEZpZWxkV3JhcHBlcjxTY2FsYXJzWydCb29sZWFuJ10+O1xuICBzZXRCYXNrZXRJdGVtTUlHcm91cDogRmllbGRXcmFwcGVyPEJhc2tldD47XG4gIHNldE1JRGVmYXVsdFZhbHVlOiBGaWVsZFdyYXBwZXI8U2NhbGFyc1snQm9vbGVhbiddPjtcbiAgc2V0QmFza2V0SXRlbU1JVmFsdWU6IEZpZWxkV3JhcHBlcjxCYXNrZXQ+O1xuICBzZXRCYXNrZXRJdGVtUGF5bWVudE1ldGhvZDogRmllbGRXcmFwcGVyPEJhc2tldD47XG4gIHJldmFsaWRhdGVCYXNrZXQ6IEZpZWxkV3JhcHBlcjxCYXNrZXQ+O1xuICByZXZhbGlkYXRlQmFza2V0SXRlbTogRmllbGRXcmFwcGVyPEJhc2tldD47XG4gIGFjY2VwdE5ld1ByaWNlOiBGaWVsZFdyYXBwZXI8QmFza2V0PjtcbiAgc2F2ZUZhdm91cml0ZVNlYXJjaDogQXJyYXk8RmllbGRXcmFwcGVyPFNlYXJjaD4+O1xuICBzYXZlUmVjZW50U2VhcmNoOiBBcnJheTxGaWVsZFdyYXBwZXI8U2VhcmNoPj47XG4gIGRlbGV0ZUZhdm91cml0ZVNlYXJjaDogRmllbGRXcmFwcGVyPFNjYWxhcnNbJ0Jvb2xlYW4nXT47XG4gIGRlbGV0ZVJlY2VudFNlYXJjaDogRmllbGRXcmFwcGVyPFNjYWxhcnNbJ0Jvb2xlYW4nXT47XG4gIHNldFVzZXJMYW5ndWFnZTogRmllbGRXcmFwcGVyPFVzZXI+O1xufTtcblxuXG5leHBvcnQgdHlwZSBNdXRhdGlvblNhdmVVc2VyQWRkcmVzc0FyZ3MgPSB7XG4gIGRlc2NyaXB0aW9uOiBTY2FsYXJzWydTdHJpbmcnXTtcbiAgbnVtYmVyT3JOYW1lPzogTWF5YmU8U2NhbGFyc1snU3RyaW5nJ10+O1xuICBzdHJlZXQ/OiBNYXliZTxTY2FsYXJzWydTdHJpbmcnXT47XG4gIHRvd24/OiBNYXliZTxTY2FsYXJzWydTdHJpbmcnXT47XG4gIGNvdW50eT86IE1heWJlPFNjYWxhcnNbJ1N0cmluZyddPjtcbiAgcG9zdGNvZGU/OiBNYXliZTxTY2FsYXJzWydTdHJpbmcnXT47XG4gIGNvdW50cnlDb2RlPzogTWF5YmU8U2NhbGFyc1snU3RyaW5nJ10+O1xuICB1c2VyUHJpbWFyeT86IE1heWJlPFNjYWxhcnNbJ0Jvb2xlYW4nXT47XG59O1xuXG5cbmV4cG9ydCB0eXBlIE11dGF0aW9uRGVsZXRlVXNlckFkZHJlc3NBcmdzID0ge1xuICBpZDogU2NhbGFyc1snSUQnXTtcbn07XG5cblxuZXhwb3J0IHR5cGUgTXV0YXRpb25TZXRBZGRyZXNzQXNVc2VyUHJpbWFyeUFyZ3MgPSB7XG4gIGlkOiBTY2FsYXJzWydJRCddO1xufTtcblxuXG5leHBvcnQgdHlwZSBNdXRhdGlvblNlbmRCYXNrZXRGb3JBcHByb3ZhbEFyZ3MgPSB7XG4gIGJhc2tldDogU2NhbGFyc1snSUQnXTtcbn07XG5cblxuZXhwb3J0IHR5cGUgTXV0YXRpb25DcmVhdGVCYXNrZXRBcmdzID0ge1xuICB0aXRsZT86IE1heWJlPFNjYWxhcnNbJ1N0cmluZyddPjtcbn07XG5cblxuZXhwb3J0IHR5cGUgTXV0YXRpb25EZWxldGVCYXNrZXRBcmdzID0ge1xuICBpZD86IE1heWJlPFNjYWxhcnNbJ0lEJ10+O1xuICByZWZlcmVuY2U/OiBNYXliZTxTY2FsYXJzWydTdHJpbmcnXT47XG59O1xuXG5cbmV4cG9ydCB0eXBlIE11dGF0aW9uVXBkYXRlQmFza2V0VGl0bGVBcmdzID0ge1xuICBpZD86IE1heWJlPFNjYWxhcnNbJ0lEJ10+O1xuICByZWZlcmVuY2U/OiBNYXliZTxTY2FsYXJzWydTdHJpbmcnXT47XG4gIG5ld1RpdGxlOiBTY2FsYXJzWydTdHJpbmcnXTtcbn07XG5cblxuZXhwb3J0IHR5cGUgTXV0YXRpb25VcGRhdGVCYXNrZXROb3Rlc0FyZ3MgPSB7XG4gIGlkPzogTWF5YmU8U2NhbGFyc1snSUQnXT47XG4gIHJlZmVyZW5jZT86IE1heWJlPFNjYWxhcnNbJ1N0cmluZyddPjtcbiAgbm90ZXM6IFNjYWxhcnNbJ1N0cmluZyddO1xufTtcblxuXG5leHBvcnQgdHlwZSBNdXRhdGlvbkFkZEl0ZW1Ub0Jhc2tldEFyZ3MgPSB7XG4gIGJhc2tldD86IE1heWJlPFNjYWxhcnNbJ0lEJ10+O1xuICBzZXJ2aWNlOiBTY2FsYXJzWydJRCddO1xuICBkZXRhaWw6IFNjYWxhcnNbJ0pTT04nXTtcbiAgYWR1bHRzOiBTY2FsYXJzWydJbnQnXTtcbiAgY2hpbGRyZW4/OiBNYXliZTxTY2FsYXJzWydJbnQnXT47XG4gIGluZmFudHM/OiBNYXliZTxTY2FsYXJzWydJbnQnXT47XG4gIHByaWNlOiBTY2FsYXJzWydGbG9hdCddO1xuICBjdXJyZW5jeTogQ3VycmVuY3lDb2RlO1xuICBzZWFyY2hRdWVyeTogU2NhbGFyc1snSlNPTiddO1xuICBxdWlja0FkZD86IE1heWJlPFNjYWxhcnNbJ0Jvb2xlYW4nXT47XG4gIHVzZXJzPzogTWF5YmU8QXJyYXk8TWF5YmU8VXNlclBhc3NlbmdlclR5cGVJbnB1dD4+PjtcbiAgbGVhZFBhc3Nlbmdlcj86IE1heWJlPFNjYWxhcnNbJ0lEJ10+O1xuICBjbzJQZXJJdGVtPzogTWF5YmU8U2NhbGFyc1snRmxvYXQnXT47XG4gIGNvMlBlclBhc3Nlbmdlcj86IE1heWJlPFNjYWxhcnNbJ0Zsb2F0J10+O1xuICBvdXRib3VuZERhdGU6IFNjYWxhcnNbJ0RhdGVUaW1lJ107XG4gIGluYm91bmREYXRlPzogTWF5YmU8U2NhbGFyc1snRGF0ZVRpbWUnXT47XG59O1xuXG5cbmV4cG9ydCB0eXBlIE11dGF0aW9uUmVtb3ZlSXRlbUZyb21CYXNrZXRBcmdzID0ge1xuICBiYXNrZXRJdGVtOiBTY2FsYXJzWydJRCddO1xufTtcblxuXG5leHBvcnQgdHlwZSBNdXRhdGlvblJlbW92ZUl0ZW1zRnJvbUJhc2tldEFyZ3MgPSB7XG4gIGJhc2tldElkOiBTY2FsYXJzWydJRCddO1xuICBiYXNrZXRJdGVtczogQXJyYXk8U2NhbGFyc1snSUQnXT47XG59O1xuXG5cbmV4cG9ydCB0eXBlIE11dGF0aW9uTW92ZUl0ZW1Ub0FEaWZmZXJlbnRCYXNrZXRBcmdzID0ge1xuICBiYXNrZXRJdGVtOiBTY2FsYXJzWydJRCddO1xuICBuZXdCYXNrZXQ6IFNjYWxhcnNbJ0lEJ107XG59O1xuXG5cbmV4cG9ydCB0eXBlIE11dGF0aW9uQWRkVXNlcnNUb0Jhc2tldEl0ZW1BcmdzID0ge1xuICBiYXNrZXRJdGVtOiBTY2FsYXJzWydJRCddO1xuICB1c2VyczogQXJyYXk8VXNlclBhc3NlbmdlclR5cGVJbnB1dD47XG59O1xuXG5cbmV4cG9ydCB0eXBlIE11dGF0aW9uUmVtb3ZlVXNlckZyb21CYXNrZXRJdGVtQXJncyA9IHtcbiAgYmFza2V0SXRlbTogU2NhbGFyc1snSUQnXTtcbiAgdXNlcjogU2NhbGFyc1snSUQnXTtcbn07XG5cblxuZXhwb3J0IHR5cGUgTXV0YXRpb25SZW9wZW5CYXNrZXRBcmdzID0ge1xuICBpZDogU2NhbGFyc1snSUQnXTtcbn07XG5cblxuZXhwb3J0IHR5cGUgTXV0YXRpb25TZXRCYXNrZXRJdGVtTGVhZFBhc3NlbmdlckFyZ3MgPSB7XG4gIGlkOiBTY2FsYXJzWydJRCddO1xuICB1c2VyOiBTY2FsYXJzWydJRCddO1xufTtcblxuXG5leHBvcnQgdHlwZSBNdXRhdGlvbkJvb2tCYXNrZXRBcmdzID0ge1xuICBpZDogU2NhbGFyc1snSUQnXTtcbiAgc3VwcGxlbWVudGFyeUluZm86IEFycmF5PFN1cHBsZW1lbnRhcnlCb29raW5nSW5mbz47XG59O1xuXG5cbmV4cG9ydCB0eXBlIE11dGF0aW9uQ2FuY2VsQm9va2luZ0FyZ3MgPSB7XG4gIGJhc2tldEl0ZW06IFNjYWxhcnNbJ0lEJ107XG59O1xuXG5cbmV4cG9ydCB0eXBlIE11dGF0aW9uQ29uZmVybWFDcmVhdGVDYXJkQXJncyA9IHtcbiAgbGFiZWw6IFNjYWxhcnNbJ1N0cmluZyddO1xufTtcblxuXG5leHBvcnQgdHlwZSBNdXRhdGlvbkNvbmZlcm1hRGVsZXRlQ2FyZEFyZ3MgPSB7XG4gIGlkOiBTY2FsYXJzWydJRCddO1xufTtcblxuXG5leHBvcnQgdHlwZSBNdXRhdGlvblNldEJhc2tldEl0ZW1NaUdyb3VwQXJncyA9IHtcbiAgYmFza2V0SXRlbTogU2NhbGFyc1snSUQnXTtcbiAgZ3JvdXA/OiBNYXliZTxTY2FsYXJzWydTdHJpbmcnXT47XG59O1xuXG5cbmV4cG9ydCB0eXBlIE11dGF0aW9uU2V0TWlEZWZhdWx0VmFsdWVBcmdzID0ge1xuICBtaTogU2NhbGFyc1snSUQnXTtcbiAgdmFsdWU6IFNjYWxhcnNbJ0lEJ107XG59O1xuXG5cbmV4cG9ydCB0eXBlIE11dGF0aW9uU2V0QmFza2V0SXRlbU1pVmFsdWVBcmdzID0ge1xuICBtaTogU2NhbGFyc1snSUQnXTtcbiAgbWlWYWx1ZT86IE1heWJlPFNjYWxhcnNbJ0lEJ10+O1xuICBtaUZyZWVWYWx1ZT86IE1heWJlPFNjYWxhcnNbJ1N0cmluZyddPjtcbiAgdXNlcj86IE1heWJlPFNjYWxhcnNbJ0lEJ10+O1xufTtcblxuXG5leHBvcnQgdHlwZSBNdXRhdGlvblNldEJhc2tldEl0ZW1QYXltZW50TWV0aG9kQXJncyA9IHtcbiAgYmFza2V0SXRlbTogU2NhbGFyc1snSUQnXTtcbiAgcGF5bWVudE1ldGhvZDogU2NhbGFyc1snSUQnXTtcbn07XG5cblxuZXhwb3J0IHR5cGUgTXV0YXRpb25SZXZhbGlkYXRlQmFza2V0QXJncyA9IHtcbiAgaWQ6IFNjYWxhcnNbJ0lEJ107XG59O1xuXG5cbmV4cG9ydCB0eXBlIE11dGF0aW9uUmV2YWxpZGF0ZUJhc2tldEl0ZW1BcmdzID0ge1xuICBpZDogU2NhbGFyc1snSUQnXTtcbn07XG5cblxuZXhwb3J0IHR5cGUgTXV0YXRpb25BY2NlcHROZXdQcmljZUFyZ3MgPSB7XG4gIGlkOiBTY2FsYXJzWydJRCddO1xufTtcblxuXG5leHBvcnQgdHlwZSBNdXRhdGlvblNhdmVGYXZvdXJpdGVTZWFyY2hBcmdzID0ge1xuICBuYW1lOiBTY2FsYXJzWydTdHJpbmcnXTtcbiAgc2VydmljZVR5cGU6IFNlcnZpY2VUeXBlO1xuICBzZWFyY2hBcmdzOiBTY2FsYXJzWydKU09OJ107XG59O1xuXG5cbmV4cG9ydCB0eXBlIE11dGF0aW9uU2F2ZVJlY2VudFNlYXJjaEFyZ3MgPSB7XG4gIHNlcnZpY2VUeXBlOiBTZXJ2aWNlVHlwZTtcbiAgc2VhcmNoQXJnczogU2NhbGFyc1snSlNPTiddO1xuICB0cmF2ZWxEYXRlOiBTY2FsYXJzWydEYXRlVGltZSddO1xuICB0cmF2ZWxsZXJzPzogTWF5YmU8QXJyYXk8TWF5YmU8U2NhbGFyc1snSUQnXT4+Pjtcbn07XG5cblxuZXhwb3J0IHR5cGUgTXV0YXRpb25EZWxldGVGYXZvdXJpdGVTZWFyY2hBcmdzID0ge1xuICBpZDogU2NhbGFyc1snSUQnXTtcbn07XG5cblxuZXhwb3J0IHR5cGUgTXV0YXRpb25EZWxldGVSZWNlbnRTZWFyY2hBcmdzID0ge1xuICBpZDogU2NhbGFyc1snSUQnXTtcbn07XG5cblxuZXhwb3J0IHR5cGUgTXV0YXRpb25TZXRVc2VyTGFuZ3VhZ2VBcmdzID0ge1xuICBsYW5ndWFnZT86IE1heWJlPFNjYWxhcnNbJ0lEJ10+O1xufTtcblxuZXhwb3J0IHR5cGUgT2ZmaWNlID0ge1xuICBfX3R5cGVuYW1lPzogJ09mZmljZSc7XG4gIGlkOiBGaWVsZFdyYXBwZXI8U2NhbGFyc1snSUQnXT47XG4gIG5hbWU6IEZpZWxkV3JhcHBlcjxTY2FsYXJzWydTdHJpbmcnXT47XG4gIGNyZWF0ZWRBdDogRmllbGRXcmFwcGVyPFNjYWxhcnNbJ0RhdGVUaW1lJ10+O1xuICB1cGRhdGVkQXQ6IEZpZWxkV3JhcHBlcjxTY2FsYXJzWydEYXRlVGltZSddPjtcbiAgY29tcGFueTogRmllbGRXcmFwcGVyPENvbXBhbnk+O1xuICBhZGRyZXNzZXM6IEFycmF5PEZpZWxkV3JhcHBlcjxBZGRyZXNzPj47XG4gIHBob25lTnVtYmVyczogQXJyYXk8RmllbGRXcmFwcGVyPFBob25lTnVtYmVyPj47XG4gIGNvMkFsbG93YW5jZVBlcmlvZD86IE1heWJlPEZpZWxkV3JhcHBlcjxTY2FsYXJzWydTdHJpbmcnXT4+O1xuICBjbzJBbGxvd2FuY2VQZXJQZXJpb2Q/OiBNYXliZTxGaWVsZFdyYXBwZXI8U2NhbGFyc1snU3RyaW5nJ10+Pjtcbn07XG5cbmV4cG9ydCB0eXBlIFBhcmtpbmdMb2NhdGlvbiA9IHtcbiAgX190eXBlbmFtZT86ICdQYXJraW5nTG9jYXRpb24nO1xuICBjb2RlOiBGaWVsZFdyYXBwZXI8U2NhbGFyc1snU3RyaW5nJ10+O1xuICBuYW1lOiBGaWVsZFdyYXBwZXI8U2NhbGFyc1snU3RyaW5nJ10+O1xuICBhaXJwb3J0OiBGaWVsZFdyYXBwZXI8U2NhbGFyc1snU3RyaW5nJ10+O1xuICB0ZXJtaW5hbD86IE1heWJlPEZpZWxkV3JhcHBlcjxTY2FsYXJzWydJbnQnXT4+O1xuICBsYXRpdHVkZT86IE1heWJlPEZpZWxkV3JhcHBlcjxTY2FsYXJzWydGbG9hdCddPj47XG4gIGxvbmdpdHVkZT86IE1heWJlPEZpZWxkV3JhcHBlcjxTY2FsYXJzWydGbG9hdCddPj47XG4gIGFkZHJlc3M/OiBNYXliZTxGaWVsZFdyYXBwZXI8U2NhbGFyc1snU3RyaW5nJ10+PjtcbiAgZGlzdGFuY2VUb0FpcnBvcnQ/OiBNYXliZTxGaWVsZFdyYXBwZXI8U2NhbGFyc1snRmxvYXQnXT4+O1xuICBvbkFpcnBvcnQ/OiBNYXliZTxGaWVsZFdyYXBwZXI8U2NhbGFyc1snQm9vbGVhbiddPj47XG4gIGNhclBhcmtlZEZvcllvdT86IE1heWJlPEZpZWxkV3JhcHBlcjxTY2FsYXJzWydCb29sZWFuJ10+PjtcbiAgbWVldEFuZEdyZWV0PzogTWF5YmU8RmllbGRXcmFwcGVyPFNjYWxhcnNbJ0Jvb2xlYW4nXT4+O1xuICB0ZWxlcGhvbmU/OiBNYXliZTxGaWVsZFdyYXBwZXI8U2NhbGFyc1snU3RyaW5nJ10+PjtcbiAgZmF4PzogTWF5YmU8RmllbGRXcmFwcGVyPFNjYWxhcnNbJ1N0cmluZyddPj47XG4gIGRpcmVjdGlvbnM/OiBNYXliZTxGaWVsZFdyYXBwZXI8U2NhbGFyc1snU3RyaW5nJ10+PjtcbiAgYXJyaXZhbFByb2NlZHVyZT86IE1heWJlPEZpZWxkV3JhcHBlcjxTY2FsYXJzWydTdHJpbmcnXT4+O1xuICBkZXBhcnR1cmVQcm9jZWR1cmU/OiBNYXliZTxGaWVsZFdyYXBwZXI8U2NhbGFyc1snU3RyaW5nJ10+PjtcbiAgbWF4aW11bUNhclNpemU/OiBNYXliZTxGaWVsZFdyYXBwZXI8U2NhbGFyc1snU3RyaW5nJ10+PjtcbiAgaW50cm9kdWN0aW9uPzogTWF5YmU8RmllbGRXcmFwcGVyPFNjYWxhcnNbJ1N0cmluZyddPj47XG4gIGluZm9ybWF0aW9uPzogTWF5YmU8RmllbGRXcmFwcGVyPFNjYWxhcnNbJ1N0cmluZyddPj47XG4gIHRyYW5zZmVySW5mb3JtYXRpb24/OiBNYXliZTxGaWVsZFdyYXBwZXI8U2NhbGFyc1snU3RyaW5nJ10+PjtcbiAgdHJhbnNmZXJPcGVyYXRpbmdUaW1lcz86IE1heWJlPEZpZWxkV3JhcHBlcjxTY2FsYXJzWydTdHJpbmcnXT4+O1xuICB0cmFuc2ZlclRpbWU/OiBNYXliZTxGaWVsZFdyYXBwZXI8U2NhbGFyc1snRmxvYXQnXT4+O1xuICBsb2dvPzogTWF5YmU8RmllbGRXcmFwcGVyPFNjYWxhcnNbJ1N0cmluZyddPj47XG4gIGRlZmF1bHRJbWFnZT86IE1heWJlPEZpZWxkV3JhcHBlcjxTY2FsYXJzWydTdHJpbmcnXT4+O1xuICBicmFuZEltYWdlPzogTWF5YmU8RmllbGRXcmFwcGVyPFNjYWxhcnNbJ1N0cmluZyddPj47XG4gIG1vYmlsZUltYWdlPzogTWF5YmU8RmllbGRXcmFwcGVyPFNjYWxhcnNbJ1N0cmluZyddPj47XG4gIGZ1cnRoZXJJbWFnZXM/OiBNYXliZTxBcnJheTxNYXliZTxGaWVsZFdyYXBwZXI8U2NhbGFyc1snU3RyaW5nJ10+Pj4+O1xuICBtaXNjPzogTWF5YmU8RmllbGRXcmFwcGVyPFNjYWxhcnNbJ0pTT04nXT4+O1xufTtcblxuZXhwb3J0IHR5cGUgUGFya2luZ1F1b3RlID0ge1xuICBfX3R5cGVuYW1lPzogJ1BhcmtpbmdRdW90ZSc7XG4gIHNvdXJjZTogRmllbGRXcmFwcGVyPFNjYWxhcnNbJ1N0cmluZyddPjtcbiAgc291cmNlSWQ6IEZpZWxkV3JhcHBlcjxTY2FsYXJzWydJbnQnXT47XG4gIGNhclBhcms6IEZpZWxkV3JhcHBlcjxQYXJraW5nTG9jYXRpb24+O1xuICByZXF1aXJlZEluZm86IEFycmF5PEZpZWxkV3JhcHBlcjxTY2FsYXJzWydTdHJpbmcnXT4+O1xuICBwcmljZTogRmllbGRXcmFwcGVyPFNjYWxhcnNbJ0Zsb2F0J10+O1xuICBjdXJyZW5jeTogRmllbGRXcmFwcGVyPEN1cnJlbmN5Q29kZT47XG4gIG1pc2M/OiBNYXliZTxGaWVsZFdyYXBwZXI8U2NhbGFyc1snSlNPTiddPj47XG4gIHRtY1ByZWZlcnJlZDogRmllbGRXcmFwcGVyPFNjYWxhcnNbJ0Jvb2xlYW4nXT47XG4gIGNvbXBhbnlQcmVmZXJyZWQ6IEZpZWxkV3JhcHBlcjxTY2FsYXJzWydCb29sZWFuJ10+O1xuICBvZmZpY2VQcmVmZXJyZWQ6IEZpZWxkV3JhcHBlcjxTY2FsYXJzWydCb29sZWFuJ10+O1xuICB0bWNQcmVmZXJyZWRNZXNzYWdlPzogTWF5YmU8RmllbGRXcmFwcGVyPFNjYWxhcnNbJ1N0cmluZyddPj47XG4gIGNvbXBhbnlQcmVmZXJyZWRNZXNzYWdlPzogTWF5YmU8RmllbGRXcmFwcGVyPFNjYWxhcnNbJ1N0cmluZyddPj47XG4gIG9mZmljZVByZWZlcnJlZE1lc3NhZ2U/OiBNYXliZTxGaWVsZFdyYXBwZXI8U2NhbGFyc1snU3RyaW5nJ10+PjtcbiAgdW5hdmFpbGFibGU6IEZpZWxkV3JhcHBlcjxTY2FsYXJzWydCb29sZWFuJ10+O1xuICB1bmF2YWlsYWJsZU1lc3NhZ2U/OiBNYXliZTxGaWVsZFdyYXBwZXI8U2NhbGFyc1snU3RyaW5nJ10+PjtcbiAgY28yUGVyUGFzc2VuZ2VyOiBGaWVsZFdyYXBwZXI8U2NhbGFyc1snRmxvYXQnXT47XG4gIGNvMlBlckl0ZW06IEZpZWxkV3JhcHBlcjxTY2FsYXJzWydGbG9hdCddPjtcbn07XG5cbmV4cG9ydCB0eXBlIFBhcmtpbmdTZWFyY2hSZXN1bHQgPSB7XG4gIF9fdHlwZW5hbWU/OiAnUGFya2luZ1NlYXJjaFJlc3VsdCc7XG4gIHJlc3VsdHM6IEFycmF5PEZpZWxkV3JhcHBlcjxQYXJraW5nUXVvdGU+PjtcbiAgZXJyb3JzOiBBcnJheTxGaWVsZFdyYXBwZXI8U2VhcmNoRXJyb3I+Pjtcbn07XG5cbmV4cG9ydCBlbnVtIFBhc3NlbmdlclR5cGUge1xuICBBZHVsdCA9ICdBRFVMVCcsXG4gIENoaWxkID0gJ0NISUxEJyxcbiAgSW5mYW50ID0gJ0lORkFOVCdcbn1cblxuZXhwb3J0IHR5cGUgUGFzc3BvcnQgPSB7XG4gIF9fdHlwZW5hbWU/OiAnUGFzc3BvcnQnO1xuICBpZDogRmllbGRXcmFwcGVyPFNjYWxhcnNbJ0lEJ10+O1xuICBudW1iZXI6IEZpZWxkV3JhcHBlcjxTY2FsYXJzWydTdHJpbmcnXT47XG4gIGNvZGVPZklzc3VpbmdTdGF0ZTogRmllbGRXcmFwcGVyPFNjYWxhcnNbJ1N0cmluZyddPjtcbiAgbmF0aW9uYWxpdHk6IEZpZWxkV3JhcHBlcjxTY2FsYXJzWydTdHJpbmcnXT47XG4gIHNleDogRmllbGRXcmFwcGVyPFBhc3Nwb3J0U2V4PjtcbiAgZG9iOiBGaWVsZFdyYXBwZXI8U2NhbGFyc1snRGF0ZVRpbWUnXT47XG4gIHN1cm5hbWU6IEZpZWxkV3JhcHBlcjxTY2FsYXJzWydTdHJpbmcnXT47XG4gIGdpdmVuTmFtZXM6IEZpZWxkV3JhcHBlcjxTY2FsYXJzWydTdHJpbmcnXT47XG4gIGRhdGVPZklzc3VlOiBGaWVsZFdyYXBwZXI8U2NhbGFyc1snRGF0ZVRpbWUnXT47XG4gIHVzZXI6IEZpZWxkV3JhcHBlcjxVc2VyPjtcbiAgY3JlYXRlZEF0OiBGaWVsZFdyYXBwZXI8U2NhbGFyc1snRGF0ZVRpbWUnXT47XG4gIHVwZGF0ZWRBdDogRmllbGRXcmFwcGVyPFNjYWxhcnNbJ0RhdGVUaW1lJ10+O1xufTtcblxuZXhwb3J0IGVudW0gUGFzc3BvcnRTZXgge1xuICBNID0gJ00nLFxuICBGID0gJ0YnXG59XG5cbmV4cG9ydCB0eXBlIFBheW1lbnRDb25maWcgPSB7XG4gIGNzcFVybD86IE1heWJlPFNjYWxhcnNbJ1N0cmluZyddPjtcbiAgYWdlbnRJZD86IE1heWJlPFNjYWxhcnNbJ1N0cmluZyddPjtcbiAgYm9va2VySWQ/OiBNYXliZTxTY2FsYXJzWydTdHJpbmcnXT47XG4gIGFwaUtleT86IE1heWJlPFNjYWxhcnNbJ1N0cmluZyddPjtcbiAgcGFzc3dvcmQ/OiBNYXliZTxTY2FsYXJzWydTdHJpbmcnXT47XG4gIHNlcnZlcj86IE1heWJlPFNjYWxhcnNbJ1N0cmluZyddPjtcbiAgY29uc3VtZXI/OiBNYXliZTxTY2FsYXJzWydTdHJpbmcnXT47XG4gIGNsaWVudElkPzogTWF5YmU8U2NhbGFyc1snU3RyaW5nJ10+O1xuICBhY2NvdW50VHlwZT86IE1heWJlPFNjYWxhcnNbJ1N0cmluZyddPjtcbiAgYWNjb3VudFZhbHVlPzogTWF5YmU8U2NhbGFyc1snU3RyaW5nJ10+O1xuICB0b2tlblVybD86IE1heWJlPFNjYWxhcnNbJ1N0cmluZyddPjtcbiAgdG9rZW5JZD86IE1heWJlPFNjYWxhcnNbJ1N0cmluZyddPjtcbiAgY29uc3VtZXJJZD86IE1heWJlPFNjYWxhcnNbJ1N0cmluZyddPjtcbiAgdG9rZW5Vc2VybmFtZT86IE1heWJlPFNjYWxhcnNbJ1N0cmluZyddPjtcbiAgdG9rZW5QYXNzd29yZD86IE1heWJlPFNjYWxhcnNbJ1N0cmluZyddPjtcbn07XG5cbmV4cG9ydCB0eXBlIFBheW1lbnRNZXRob2QgPSB7XG4gIF9fdHlwZW5hbWU/OiAnUGF5bWVudE1ldGhvZCc7XG4gIGlkOiBGaWVsZFdyYXBwZXI8U2NhbGFyc1snSUQnXT47XG4gIG5hbWU6IEZpZWxkV3JhcHBlcjxTY2FsYXJzWydTdHJpbmcnXT47XG4gIGRlc2NyaXB0aW9uPzogTWF5YmU8RmllbGRXcmFwcGVyPFNjYWxhcnNbJ1N0cmluZyddPj47XG59O1xuXG5leHBvcnQgdHlwZSBQYXltZW50TWV0aG9kSW5wdXQgPSB7XG4gIGNvbmZpZz86IE1heWJlPFBheW1lbnRDb25maWc+O1xufTtcblxuZXhwb3J0IHR5cGUgUGhvbmVOdW1iZXIgPSB7XG4gIF9fdHlwZW5hbWU/OiAnUGhvbmVOdW1iZXInO1xuICBpZDogRmllbGRXcmFwcGVyPFNjYWxhcnNbJ0lEJ10+O1xuICBkZXNjcmlwdGlvbj86IE1heWJlPEZpZWxkV3JhcHBlcjxTY2FsYXJzWydTdHJpbmcnXT4+O1xuICBjb3VudHJ5Q29kZT86IE1heWJlPEZpZWxkV3JhcHBlcjxTY2FsYXJzWydTdHJpbmcnXT4+O1xuICBhcmVhQ29kZT86IE1heWJlPEZpZWxkV3JhcHBlcjxTY2FsYXJzWydTdHJpbmcnXT4+O1xuICBudW1iZXI/OiBNYXliZTxGaWVsZFdyYXBwZXI8U2NhbGFyc1snU3RyaW5nJ10+PjtcbiAgZXh0ZW5zaW9uPzogTWF5YmU8RmllbGRXcmFwcGVyPFNjYWxhcnNbJ1N0cmluZyddPj47XG4gIHR5cGU/OiBNYXliZTxGaWVsZFdyYXBwZXI8UGhvbmVUeXBlPj47XG4gIG9mZmljZVByaW1hcnk/OiBNYXliZTxGaWVsZFdyYXBwZXI8U2NhbGFyc1snQm9vbGVhbiddPj47XG4gIHVzZXJQcmltYXJ5PzogTWF5YmU8RmllbGRXcmFwcGVyPFNjYWxhcnNbJ0Jvb2xlYW4nXT4+O1xufTtcblxuZXhwb3J0IGVudW0gUGhvbmVUeXBlIHtcbiAgTW9iaWxlID0gJ01PQklMRScsXG4gIExhbmRsaW5lID0gJ0xBTkRMSU5FJyxcbiAgRmF4ID0gJ0ZBWCcsXG4gIE90aGVyID0gJ09USEVSJ1xufVxuXG5leHBvcnQgdHlwZSBQb3N0Y29kZURldGFpbHMgPSB7XG4gIF9fdHlwZW5hbWU/OiAnUG9zdGNvZGVEZXRhaWxzJztcbiAgcG9zdGNvZGU6IEZpZWxkV3JhcHBlcjxTY2FsYXJzWydTdHJpbmcnXT47XG4gIGxhdGl0dWRlPzogTWF5YmU8RmllbGRXcmFwcGVyPFNjYWxhcnNbJ0Zsb2F0J10+PjtcbiAgbG9uZ2l0dWRlPzogTWF5YmU8RmllbGRXcmFwcGVyPFNjYWxhcnNbJ0Zsb2F0J10+PjtcbiAgZWFzdGluZ3M/OiBNYXliZTxGaWVsZFdyYXBwZXI8U2NhbGFyc1snSW50J10+PjtcbiAgbm9ydGhpbmdzPzogTWF5YmU8RmllbGRXcmFwcGVyPFNjYWxhcnNbJ0ludCddPj47XG4gIGNvdW50cnk/OiBNYXliZTxGaWVsZFdyYXBwZXI8U2NhbGFyc1snU3RyaW5nJ10+PjtcbiAgZXVyb3BlYW5FbGVjdG9yYWxSZWdpb24/OiBNYXliZTxGaWVsZFdyYXBwZXI8U2NhbGFyc1snU3RyaW5nJ10+PjtcbiAgcHJpbWFyeUNhcmVUcnVzdD86IE1heWJlPEZpZWxkV3JhcHBlcjxTY2FsYXJzWydTdHJpbmcnXT4+O1xuICByZWdpb24/OiBNYXliZTxGaWVsZFdyYXBwZXI8U2NhbGFyc1snU3RyaW5nJ10+PjtcbiAgbHNvYT86IE1heWJlPEZpZWxkV3JhcHBlcjxTY2FsYXJzWydTdHJpbmcnXT4+O1xuICBtc29hPzogTWF5YmU8RmllbGRXcmFwcGVyPFNjYWxhcnNbJ1N0cmluZyddPj47XG4gIGluY29kZT86IE1heWJlPEZpZWxkV3JhcHBlcjxTY2FsYXJzWydTdHJpbmcnXT4+O1xuICBvdXRjb2RlPzogTWF5YmU8RmllbGRXcmFwcGVyPFNjYWxhcnNbJ1N0cmluZyddPj47XG4gIHBhcmxpYW1lbnRhcnlDb25zdGl0dWVuY3k/OiBNYXliZTxGaWVsZFdyYXBwZXI8U2NhbGFyc1snU3RyaW5nJ10+PjtcbiAgYWRtaW5EaXN0cmljdD86IE1heWJlPEZpZWxkV3JhcHBlcjxTY2FsYXJzWydTdHJpbmcnXT4+O1xuICBwYXJpc2g/OiBNYXliZTxGaWVsZFdyYXBwZXI8U2NhbGFyc1snU3RyaW5nJ10+PjtcbiAgYWRtaW5Db3VudHk/OiBNYXliZTxGaWVsZFdyYXBwZXI8U2NhbGFyc1snU3RyaW5nJ10+PjtcbiAgYWRtaW5XYXJkPzogTWF5YmU8RmllbGRXcmFwcGVyPFNjYWxhcnNbJ1N0cmluZyddPj47XG4gIGNlZD86IE1heWJlPEZpZWxkV3JhcHBlcjxTY2FsYXJzWydTdHJpbmcnXT4+O1xuICBjY2c/OiBNYXliZTxGaWVsZFdyYXBwZXI8U2NhbGFyc1snU3RyaW5nJ10+PjtcbiAgbnV0cz86IE1heWJlPEZpZWxkV3JhcHBlcjxTY2FsYXJzWydTdHJpbmcnXT4+O1xufTtcblxuZXhwb3J0IHR5cGUgUXVlcnkgPSB7XG4gIF9fdHlwZW5hbWU/OiAnUXVlcnknO1xuICBnZXRVc2VyQWRkcmVzc2VzOiBBcnJheTxGaWVsZFdyYXBwZXI8QWRkcmVzcz4+O1xuICBzZWFyY2hBaXJsaW5lczogRmllbGRXcmFwcGVyPEFpcmxpbmVSZXN1bHRzPjtcbiAgc2VhcmNoQWlycG9ydHM6IEZpZWxkV3JhcHBlcjxBaXJwb3J0UmVzdWx0cz47XG4gIGdldFVzZXJCYXNrZXQ6IEZpZWxkV3JhcHBlcjxCYXNrZXQ+O1xuICBnZXRVc2VyQmFza2V0czogQXJyYXk8RmllbGRXcmFwcGVyPEJhc2tldD4+O1xuICBzZWFyY2hDYWJIaXJlOiBGaWVsZFdyYXBwZXI8Q2FiSGlyZVJlc3VsdD47XG4gIHNlYXJjaFVzZXJDYW5Cb29rRm9yOiBBcnJheTxGaWVsZFdyYXBwZXI8VXNlcj4+O1xuICBnZXRDYW5jZWxsYXRpb25JbmZvOiBGaWVsZFdyYXBwZXI8QmVmb3JlQ2FuY2VsbGF0aW9uSW5mbz47XG4gIHNlYXJjaENhckhpcmU6IEZpZWxkV3JhcHBlcjxDYXJIaXJlUmVzdWx0PjtcbiAgZ2V0Q2FySGlyZURlcG90czogQXJyYXk8RmllbGRXcmFwcGVyPENhckhpcmVEZXBvdD4+O1xuICBjYXJIaXJlQXZhaWxhYmlsaXR5RGV0YWlsUmVxdWVzdDogRmllbGRXcmFwcGVyPENhckhpcmVEZXRhaWxSZXF1ZXN0UmVzcG9uc2U+O1xuICBnZXRVc2VyQ3VycmVudENhcmJvbkFsbG93YW5jZT86IE1heWJlPEZpZWxkV3JhcHBlcjxDYXJib25BbGxvd2FuY2U+PjtcbiAgc2VhcmNoQ2l0aWVzOiBBcnJheTxGaWVsZFdyYXBwZXI8Q2l0eT4+O1xuICBjb25mZXJtYUJsb2NrQ2xpZW50SG90ZWxzOiBGaWVsZFdyYXBwZXI8Q29uZmVybWFCbG9ja2VkSG90ZWxzUmVzdWx0PjtcbiAgY29uZmVybWFVbmJsb2NrQ2xpZW50SG90ZWxzOiBGaWVsZFdyYXBwZXI8Q29uZmVybWFCbG9ja2VkSG90ZWxzUmVzdWx0PjtcbiAgY29uZmVybWFCbG9ja0NvbnN1bWVySG90ZWxzOiBGaWVsZFdyYXBwZXI8Q29uZmVybWFCbG9ja2VkSG90ZWxzUmVzdWx0PjtcbiAgY29uZmVybWFVbmJsb2NrQ29uc3VtZXJIb3RlbHM6IEZpZWxkV3JhcHBlcjxDb25mZXJtYUJsb2NrZWRIb3RlbHNSZXN1bHQ+O1xuICBjb25mZXJtYUxpc3RDYXJkczogQXJyYXk8RmllbGRXcmFwcGVyPENvbmZlcm1hQ2FyZFJlc3VsdHM+PjtcbiAgc2VhcmNoQ29uZmVybWFDaXRpZXM6IEZpZWxkV3JhcHBlcjxDb25mZXJtYUNpdHlMb2NhdGlvbj47XG4gIGdldENvbmZlcm1hT2ZmaWNlOiBGaWVsZFdyYXBwZXI8Q29uZmVybWFPZmZpY2VSZXN1bHQ+O1xuICBnZXRDb25mZXJtYU9mZmljZU5hbWVzOiBGaWVsZFdyYXBwZXI8Q29uZmVybWFPZmZpY2VOYW1lc1Jlc3VsdD47XG4gIGdldENvbmZlcm1hUXVpY2tsaXN0OiBGaWVsZFdyYXBwZXI8SG90ZWxTZWFyY2hSZXN1bHQ+O1xuICBnZXRDb3VudHJpZXM6IEFycmF5PEZpZWxkV3JhcHBlcjxDb3VudHJ5Pj47XG4gIGdldENPVklETWljcm9zaXRlVG9rZW46IEZpZWxkV3JhcHBlcjxTY2FsYXJzWydTdHJpbmcnXT47XG4gIHNlYXJjaEZhc3RUcmFjazogRmllbGRXcmFwcGVyPEZhc3RUcmFja1Jlc3VsdD47XG4gIHNlYXJjaEZsaWdodHM6IEZpZWxkV3JhcHBlcjxGbGlnaHRTZWFyY2hSZXN1bHQ+O1xuICBzZWFyY2hGbGlnaHRzVjI6IEZpZWxkV3JhcHBlcjxGbGlnaHRTZWFyY2hSZXN1bHRWMj47XG4gIHNlYXJjaEV1cm9zdGFyOiBGaWVsZFdyYXBwZXI8RmxpZ2h0U2VhcmNoUmVzdWx0VjI+O1xuICBhbGl2ZTogRmllbGRXcmFwcGVyPFNjYWxhcnNbJ0Jvb2xlYW4nXT47XG4gIGdldEhvdGVsQ2hhaW5zOiBBcnJheTxGaWVsZFdyYXBwZXI8U2NhbGFyc1snU3RyaW5nJ10+PjtcbiAgc2VhcmNoSG90ZWxDaGFpbnM6IEFycmF5PEZpZWxkV3JhcHBlcjxTY2FsYXJzWydTdHJpbmcnXT4+O1xuICBzZWFyY2hIb3RlbHM6IEZpZWxkV3JhcHBlcjxIb3RlbFNlYXJjaFJlc3VsdD47XG4gIGdldEhvdGVsQXZhaWxhYmlsaXR5OiBGaWVsZFdyYXBwZXI8SG90ZWxBdmFpbGFiaWxpdHlSZXN1bHQ+O1xuICBnZXRNdWx0aXBsZUhvdGVsc0F2YWlsYWJpbGl0eTogRmllbGRXcmFwcGVyPEhvdGVsTXVsdGlBdmFpbGFiaWxpdHlSZXN1bHQ+O1xuICBnZXRJUkxTdXBwbGllclN0YXRpb24/OiBNYXliZTxGaWVsZFdyYXBwZXI8SXJsU3VwcGxpZXJTdGF0aW9uPj47XG4gIHNlYXJjaElSTFN1cHBsaWVyU3RhdGlvbnM6IEFycmF5PEZpZWxkV3JhcHBlcjxJcmxTdXBwbGllclN0YXRpb24+PjtcbiAgc2VhcmNoSVJMOiBGaWVsZFdyYXBwZXI8SXJsU2VhcmNoUmVzdWx0PjtcbiAgc2VhcmNoTG91bmdlczogRmllbGRXcmFwcGVyPExvdW5nZVNlYXJjaFJlc3VsdD47XG4gIGdldFVzZXJNSUF1dG9TdWdnZXN0VmFsdWVzOiBBcnJheTxGaWVsZFdyYXBwZXI8TWFuYWdlbWVudEluZm9WYWx1ZT4+O1xuICB2YWxpZGF0ZVVzZXJNSUZyZWVWYWx1ZTogRmllbGRXcmFwcGVyPFNjYWxhcnNbJ0Jvb2xlYW4nXT47XG4gIHZhbGlkYXRlQmFza2V0SXRlbU1JOiBGaWVsZFdyYXBwZXI8U2NhbGFyc1snQm9vbGVhbiddPjtcbiAgZ2V0VXNlck1lc3NhZ2VzOiBBcnJheTxGaWVsZFdyYXBwZXI8TWVzc2FnZT4+O1xuICBnZXRVc2VyQ29tcGFueU9mZmljZXM6IEFycmF5PEZpZWxkV3JhcHBlcjxPZmZpY2U+PjtcbiAgc2VhcmNoUGFya2luZzogRmllbGRXcmFwcGVyPFBhcmtpbmdTZWFyY2hSZXN1bHQ+O1xuICBnZXRVc2VyUGhvbmVOdW1iZXJzOiBBcnJheTxGaWVsZFdyYXBwZXI8UGhvbmVOdW1iZXI+PjtcbiAgZ2V0UG9zdGNvZGVEZXRhaWxzOiBGaWVsZFdyYXBwZXI8UG9zdGNvZGVEZXRhaWxzPjtcbiAgcG9zdGNvZGVBdXRvU3VnZ2VzdDogQXJyYXk8RmllbGRXcmFwcGVyPFNjYWxhcnNbJ1N0cmluZyddPj47XG4gIHNlYXJjaFBvc3Rjb2RlczogQXJyYXk8RmllbGRXcmFwcGVyPFBvc3Rjb2RlRGV0YWlscz4+O1xuICBpc1Bvc3Rjb2RlVmFsaWQ6IEZpZWxkV3JhcHBlcjxTY2FsYXJzWydCb29sZWFuJ10+O1xuICBnZXRSYWlsU3RhdGlvbjogRmllbGRXcmFwcGVyPFJhaWxTdGF0aW9uPjtcbiAgc2VhcmNoUmFpbFN0YXRpb25zOiBBcnJheTxGaWVsZFdyYXBwZXI8UmFpbFN0YXRpb24+PjtcbiAgc2VhcmNoUmFpbDogRmllbGRXcmFwcGVyPFJhaWxTZWFyY2hSZXN1bHQ+O1xuICBnZXRSYWlsY2FyZHM6IEFycmF5PEZpZWxkV3JhcHBlcjxSZWZlcmVuY2VSYWlsQ2FyZFF1YWxpZmllcj4+O1xuICBnZXRSaXNrQWxlcnRzOiBBcnJheTxGaWVsZFdyYXBwZXI8Umlza0FsZXJ0Pj47XG4gIGdldFVzZXJUcmF2ZWxSdWxlczogRmllbGRXcmFwcGVyPFRyYXZlbFJ1bGVzQ29sbGVjdGlvbj47XG4gIGdldFVzZXJSZWNlbnRTZWFyY2hlczogQXJyYXk8RmllbGRXcmFwcGVyPFNlYXJjaD4+O1xuICBnZXRVc2VyRmF2b3VyaXRlU2VhcmNoZXM6IEFycmF5PEZpZWxkV3JhcHBlcjxTZWFyY2g+PjtcbiAgZ2V0VXNlclNlcnZpY2VzOiBBcnJheTxGaWVsZFdyYXBwZXI8U2VydmljZT4+O1xuICBnZXRVc2VyVUlDb25maWdzOiBGaWVsZFdyYXBwZXI8VWlDb25maWdDb2xsZWN0aW9uPjtcbiAgZ2V0VXNlcjogRmllbGRXcmFwcGVyPFVzZXI+O1xufTtcblxuXG5leHBvcnQgdHlwZSBRdWVyeVNlYXJjaEFpcmxpbmVzQXJncyA9IHtcbiAgcXVlcnk6IFNjYWxhcnNbJ1N0cmluZyddO1xufTtcblxuXG5leHBvcnQgdHlwZSBRdWVyeVNlYXJjaEFpcnBvcnRzQXJncyA9IHtcbiAgcXVlcnk6IFNjYWxhcnNbJ1N0cmluZyddO1xuICBjb3VudHJ5Q29kZT86IE1heWJlPFNjYWxhcnNbJ1N0cmluZyddPjtcbiAgaGFzTG91bmdlPzogTWF5YmU8U2NhbGFyc1snQm9vbGVhbiddPjtcbiAgaGFzUGFya2luZz86IE1heWJlPFNjYWxhcnNbJ0Jvb2xlYW4nXT47XG4gIGhhc0Zhc3RUcmFjaz86IE1heWJlPFNjYWxhcnNbJ0Jvb2xlYW4nXT47XG4gIGV4Y2x1ZGVOb25QdWJsaWM/OiBNYXliZTxTY2FsYXJzWydCb29sZWFuJ10+O1xufTtcblxuXG5leHBvcnQgdHlwZSBRdWVyeUdldFVzZXJCYXNrZXRBcmdzID0ge1xuICBpZDogU2NhbGFyc1snSUQnXTtcbn07XG5cblxuZXhwb3J0IHR5cGUgUXVlcnlHZXRVc2VyQmFza2V0c0FyZ3MgPSB7XG4gIHVzZXI/OiBNYXliZTxTY2FsYXJzWydJRCddPjtcbiAgdHJhdmVsbGVyPzogTWF5YmU8U2NhbGFyc1snSUQnXT47XG4gIGJhc2tldFN0YXR1cz86IE1heWJlPEJhc2tldFN0YXR1cz47XG4gIGNyZWF0ZWRBZnRlcj86IE1heWJlPFNjYWxhcnNbJ0RhdGVUaW1lJ10+O1xuICBjcmVhdGVkQmVmb3JlPzogTWF5YmU8U2NhbGFyc1snRGF0ZVRpbWUnXT47XG4gIGJvb2tlZEFmdGVyPzogTWF5YmU8U2NhbGFyc1snRGF0ZVRpbWUnXT47XG4gIGJvb2tlZEJlZm9yZT86IE1heWJlPFNjYWxhcnNbJ0RhdGVUaW1lJ10+O1xuICBkYXRlT2ZUcmF2ZWxCZWZvcmU/OiBNYXliZTxTY2FsYXJzWydEYXRlVGltZSddPjtcbiAgZGF0ZU9mVHJhdmVsQWZ0ZXI/OiBNYXliZTxTY2FsYXJzWydEYXRlVGltZSddPjtcbiAgYmFza2V0SXRlbUJvb2tpbmdSZWZlcmVuY2U/OiBNYXliZTxTY2FsYXJzWydTdHJpbmcnXT47XG4gIGJhc2tldFJlZmVyZW5jZT86IE1heWJlPFNjYWxhcnNbJ1N0cmluZyddPjtcbiAgYmFza2V0VGl0bGU/OiBNYXliZTxTY2FsYXJzWydTdHJpbmcnXT47XG59O1xuXG5cbmV4cG9ydCB0eXBlIFF1ZXJ5U2VhcmNoQ2FiSGlyZUFyZ3MgPSB7XG4gIGRlcGFydHM6IFNjYWxhcnNbJ0RhdGVUaW1lJ107XG4gIGZyb21Mb2NhdGlvbjogQ2FiSGlyZUxvY2F0aW9uSW5wdXQ7XG4gIHRvTG9jYXRpb246IENhYkhpcmVMb2NhdGlvbklucHV0O1xuICBhZHVsdHM6IFNjYWxhcnNbJ0ludCddO1xuICBjaGlsZHJlbj86IE1heWJlPFNjYWxhcnNbJ0ludCddPjtcbiAgaW5mYW50cz86IE1heWJlPFNjYWxhcnNbJ0ludCddPjtcbiAgdmlhcz86IE1heWJlPEFycmF5PE1heWJlPENhYkhpcmVMb2NhdGlvbklucHV0Pj4+O1xuICB2ZWhpY2xlVHlwZT86IE1heWJlPENhYkhpcmVWZWhpY2xlVHlwZT47XG59O1xuXG5cbmV4cG9ydCB0eXBlIFF1ZXJ5U2VhcmNoVXNlckNhbkJvb2tGb3JBcmdzID0ge1xuICBlbWFpbD86IE1heWJlPFNjYWxhcnNbJ1N0cmluZyddPjtcbiAgdXNlck5hbWU/OiBNYXliZTxTY2FsYXJzWydTdHJpbmcnXT47XG4gIGVtcGxveWVlSWQ/OiBNYXliZTxTY2FsYXJzWydTdHJpbmcnXT47XG59O1xuXG5cbmV4cG9ydCB0eXBlIFF1ZXJ5R2V0Q2FuY2VsbGF0aW9uSW5mb0FyZ3MgPSB7XG4gIGJhc2tldEl0ZW06IFNjYWxhcnNbJ0lEJ107XG59O1xuXG5cbmV4cG9ydCB0eXBlIFF1ZXJ5U2VhcmNoQ2FySGlyZUFyZ3MgPSB7XG4gIGFpcnBvcnQ/OiBNYXliZTxDYXJIaXJlQWlycG9ydElucHV0PjtcbiAgY2l0eT86IE1heWJlPENhckhpcmVDaXR5SW5wdXQ+O1xuICBsb2NhdGlvbj86IE1heWJlPENhckhpcmVMb2NhdGlvbklucHV0PjtcbiAgZGVwb3Q/OiBNYXliZTxJbnB1dENhckhpcmVEZXBvdD47XG4gIHBpY2t1cERhdGVUaW1lOiBTY2FsYXJzWydEYXRlVGltZSddO1xuICBkcm9wb2ZmRGF0ZVRpbWU6IFNjYWxhcnNbJ0RhdGVUaW1lJ107XG4gIHZlbmRvcj86IE1heWJlPFNjYWxhcnNbJ1N0cmluZyddPjtcbiAgY2xhc3M/OiBNYXliZTxDYXJIaXJlQ2xhc3M+O1xuICB0eXBlPzogTWF5YmU8Q2FySGlyZVR5cGU+O1xuICB0cmFuc21pc3Npb24/OiBNYXliZTxDYXJIaXJlVHJhbnNtaXNzaW9uPjtcbiAgYWlyY29uPzogTWF5YmU8U2NhbGFyc1snQm9vbGVhbiddPjtcbiAgZXN0aW1hdGVkRGFpbHlEaXN0YW5jZT86IE1heWJlPFNjYWxhcnNbJ0Zsb2F0J10+O1xuICBlc3RpbWF0ZWREYWlseURpc3RhbmNlVW5pdHM/OiBNYXliZTxEaXN0YW5jZVR5cGVzPjtcbn07XG5cblxuZXhwb3J0IHR5cGUgUXVlcnlHZXRDYXJIaXJlRGVwb3RzQXJncyA9IHtcbiAgbGF0aXR1ZGU6IFNjYWxhcnNbJ0Zsb2F0J107XG4gIGxvbmdpdHVkZTogU2NhbGFyc1snRmxvYXQnXTtcbiAgdmVuZG9yQ29kZT86IE1heWJlPFNjYWxhcnNbJ1N0cmluZyddPjtcbn07XG5cblxuZXhwb3J0IHR5cGUgUXVlcnlDYXJIaXJlQXZhaWxhYmlsaXR5RGV0YWlsUmVxdWVzdEFyZ3MgPSB7XG4gIGxvY2F0aW9uRGV0YWlsczogQ2FySGlyZUlucHV0SWRlbnRpZmllcnM7XG59O1xuXG5cbmV4cG9ydCB0eXBlIFF1ZXJ5R2V0VXNlckN1cnJlbnRDYXJib25BbGxvd2FuY2VBcmdzID0ge1xuICB1c2VyPzogTWF5YmU8U2NhbGFyc1snSUQnXT47XG59O1xuXG5cbmV4cG9ydCB0eXBlIFF1ZXJ5U2VhcmNoQ2l0aWVzQXJncyA9IHtcbiAgcXVlcnk6IFNjYWxhcnNbJ1N0cmluZyddO1xuICBjb3VudHJ5Q29kZT86IE1heWJlPFNjYWxhcnNbJ1N0cmluZyddPjtcbn07XG5cblxuZXhwb3J0IHR5cGUgUXVlcnlDb25mZXJtYUJsb2NrQ2xpZW50SG90ZWxzQXJncyA9IHtcbiAgaG90ZWxJZHM6IEFycmF5PFNjYWxhcnNbJ1N0cmluZyddPjtcbiAgZ3JvdXBJZHM6IEFycmF5PFNjYWxhcnNbJ1N0cmluZyddPjtcbn07XG5cblxuZXhwb3J0IHR5cGUgUXVlcnlDb25mZXJtYVVuYmxvY2tDbGllbnRIb3RlbHNBcmdzID0ge1xuICBob3RlbElkczogQXJyYXk8U2NhbGFyc1snU3RyaW5nJ10+O1xuICBncm91cElkczogQXJyYXk8U2NhbGFyc1snU3RyaW5nJ10+O1xufTtcblxuXG5leHBvcnQgdHlwZSBRdWVyeUNvbmZlcm1hQmxvY2tDb25zdW1lckhvdGVsc0FyZ3MgPSB7XG4gIGhvdGVsSWRzOiBBcnJheTxTY2FsYXJzWydTdHJpbmcnXT47XG4gIGdyb3VwSWRzOiBBcnJheTxTY2FsYXJzWydTdHJpbmcnXT47XG59O1xuXG5cbmV4cG9ydCB0eXBlIFF1ZXJ5Q29uZmVybWFVbmJsb2NrQ29uc3VtZXJIb3RlbHNBcmdzID0ge1xuICBob3RlbElkczogQXJyYXk8U2NhbGFyc1snU3RyaW5nJ10+O1xuICBncm91cElkczogQXJyYXk8U2NhbGFyc1snU3RyaW5nJ10+O1xufTtcblxuXG5leHBvcnQgdHlwZSBRdWVyeUNvbmZlcm1hTGlzdENhcmRzQXJncyA9IHtcbiAgY29tcGFueUlkPzogTWF5YmU8U2NhbGFyc1snSUQnXT47XG4gIG9mZmljZUlkPzogTWF5YmU8U2NhbGFyc1snSUQnXT47XG59O1xuXG5cbmV4cG9ydCB0eXBlIFF1ZXJ5U2VhcmNoQ29uZmVybWFDaXRpZXNBcmdzID0ge1xuICBjaXR5TmFtZTogU2NhbGFyc1snU3RyaW5nJ107XG4gIGNvdW50cnlDb2RlOiBTY2FsYXJzWydTdHJpbmcnXTtcbn07XG5cblxuZXhwb3J0IHR5cGUgUXVlcnlHZXRDb25mZXJtYU9mZmljZUFyZ3MgPSB7XG4gIG9mZmljZUlkOiBTY2FsYXJzWydJbnQnXTtcbn07XG5cblxuZXhwb3J0IHR5cGUgUXVlcnlHZXRDb25mZXJtYVF1aWNrbGlzdEFyZ3MgPSB7XG4gIGNvdW50cnlDb2RlOiBTY2FsYXJzWydTdHJpbmcnXTtcbn07XG5cblxuZXhwb3J0IHR5cGUgUXVlcnlTZWFyY2hGYXN0VHJhY2tBcmdzID0ge1xuICBhcnJpdmFsRGF0ZXRpbWU6IFNjYWxhcnNbJ0RhdGVUaW1lJ107XG4gIGxvY2F0aW9uQ29kZTogU2NhbGFyc1snU3RyaW5nJ107XG4gIGFkdWx0czogU2NhbGFyc1snSW50J107XG4gIGNoaWxkcmVuPzogTWF5YmU8U2NhbGFyc1snSW50J10+O1xufTtcblxuXG5leHBvcnQgdHlwZSBRdWVyeVNlYXJjaEZsaWdodHNBcmdzID0ge1xuICBwYXNzZW5nZXJzOiBBcnJheTxGbGlnaHRQYXNzZW5nZXJPYmplY3Q+O1xuICBvcmlnaW5BaXJwb3J0PzogTWF5YmU8U2NhbGFyc1snU3RyaW5nJ10+O1xuICBkZXN0aW5hdGlvbkFpcnBvcnQ/OiBNYXliZTxTY2FsYXJzWydTdHJpbmcnXT47XG4gIG11bHRpRGVzdGluYXRpb24/OiBNYXliZTxBcnJheTxNYXliZTxEZXN0aW5hdGlvbkVudHJ5Pj4+O1xuICBvdXRib3VuZERhdGU/OiBNYXliZTxTY2FsYXJzWydEYXRlJ10+O1xuICBvdXRib3VuZERlcGFydHVyZVRpbWVXaW5kb3c/OiBNYXliZTxTY2FsYXJzWydTdHJpbmcnXT47XG4gIG91dGJvdW5kQXJyaXZhbFRpbWVXaW5kb3c/OiBNYXliZTxTY2FsYXJzWydTdHJpbmcnXT47XG4gIG91dGJvdW5kQ2FiaW5DbGFzcz86IE1heWJlPEFycmF5PE1heWJlPEZsaWdodENhYmluQ2xhc3M+Pj47XG4gIHJldHVyblRyaXA6IFNjYWxhcnNbJ0Jvb2xlYW4nXTtcbiAgcmV0dXJuRGF0ZT86IE1heWJlPFNjYWxhcnNbJ0RhdGUnXT47XG4gIHJldHVybkRlcGFydHVyZVRpbWVXaW5kb3c/OiBNYXliZTxTY2FsYXJzWydTdHJpbmcnXT47XG4gIHJldHVybkFycml2YWxUaW1lV2luZG93PzogTWF5YmU8U2NhbGFyc1snU3RyaW5nJ10+O1xuICByZXR1cm5DYWJpbkNsYXNzPzogTWF5YmU8QXJyYXk8TWF5YmU8RmxpZ2h0Q2FiaW5DbGFzcz4+PjtcbiAgZmFyZVR5cGU6IEZhcmVUeXBlO1xuICByZXF1aXJlRnJlZUJhZz86IE1heWJlPFNjYWxhcnNbJ0Jvb2xlYW4nXT47XG4gIG1heENvbm5lY3Rpb25zPzogTWF5YmU8U2NhbGFyc1snSW50J10+O1xuICBwcmVmZXJyZWRDYXJyaWVycz86IE1heWJlPEFycmF5PE1heWJlPFNjYWxhcnNbJ1N0cmluZyddPj4+O1xuICBpbmNsdWRlTmVhcmJ5QWlycG9ydHM/OiBNYXliZTxTY2FsYXJzWydCb29sZWFuJ10+O1xuICBhc1NpbmdsZXM/OiBNYXliZTxTY2FsYXJzWydCb29sZWFuJ10+O1xufTtcblxuXG5leHBvcnQgdHlwZSBRdWVyeVNlYXJjaEZsaWdodHNWMkFyZ3MgPSB7XG4gIHBhc3NlbmdlcnM6IEFycmF5PEZsaWdodFBhc3Nlbmdlck9iamVjdD47XG4gIG9yaWdpbkFpcnBvcnQ/OiBNYXliZTxTY2FsYXJzWydTdHJpbmcnXT47XG4gIGRlc3RpbmF0aW9uQWlycG9ydD86IE1heWJlPFNjYWxhcnNbJ1N0cmluZyddPjtcbiAgbXVsdGlEZXN0aW5hdGlvbj86IE1heWJlPEFycmF5PE1heWJlPERlc3RpbmF0aW9uRW50cnk+Pj47XG4gIG91dGJvdW5kRGF0ZT86IE1heWJlPFNjYWxhcnNbJ0RhdGUnXT47XG4gIG91dGJvdW5kRGVwYXJ0dXJlVGltZVdpbmRvdz86IE1heWJlPFNjYWxhcnNbJ1N0cmluZyddPjtcbiAgb3V0Ym91bmRBcnJpdmFsVGltZVdpbmRvdz86IE1heWJlPFNjYWxhcnNbJ1N0cmluZyddPjtcbiAgb3V0Ym91bmRDYWJpbkNsYXNzPzogTWF5YmU8QXJyYXk8TWF5YmU8RmxpZ2h0Q2FiaW5DbGFzcz4+PjtcbiAgcmV0dXJuVHJpcDogU2NhbGFyc1snQm9vbGVhbiddO1xuICByZXR1cm5EYXRlPzogTWF5YmU8U2NhbGFyc1snRGF0ZSddPjtcbiAgcmV0dXJuRGVwYXJ0dXJlVGltZVdpbmRvdz86IE1heWJlPFNjYWxhcnNbJ1N0cmluZyddPjtcbiAgcmV0dXJuQXJyaXZhbFRpbWVXaW5kb3c/OiBNYXliZTxTY2FsYXJzWydTdHJpbmcnXT47XG4gIHJldHVybkNhYmluQ2xhc3M/OiBNYXliZTxBcnJheTxNYXliZTxGbGlnaHRDYWJpbkNsYXNzPj4+O1xuICBmYXJlVHlwZTogRmFyZVR5cGU7XG4gIHJlcXVpcmVGcmVlQmFnPzogTWF5YmU8U2NhbGFyc1snQm9vbGVhbiddPjtcbiAgbWF4Q29ubmVjdGlvbnM/OiBNYXliZTxTY2FsYXJzWydJbnQnXT47XG4gIHByZWZlcnJlZENhcnJpZXJzPzogTWF5YmU8QXJyYXk8TWF5YmU8U2NhbGFyc1snU3RyaW5nJ10+Pj47XG4gIGluY2x1ZGVOZWFyYnlBaXJwb3J0cz86IE1heWJlPFNjYWxhcnNbJ0Jvb2xlYW4nXT47XG4gIGFzU2luZ2xlcz86IE1heWJlPFNjYWxhcnNbJ0Jvb2xlYW4nXT47XG59O1xuXG5cbmV4cG9ydCB0eXBlIFF1ZXJ5U2VhcmNoRXVyb3N0YXJBcmdzID0ge1xuICBwYXNzZW5nZXJzOiBBcnJheTxGbGlnaHRQYXNzZW5nZXJPYmplY3Q+O1xuICBvcmlnaW5BaXJwb3J0PzogTWF5YmU8U2NhbGFyc1snU3RyaW5nJ10+O1xuICBkZXN0aW5hdGlvbkFpcnBvcnQ/OiBNYXliZTxTY2FsYXJzWydTdHJpbmcnXT47XG4gIG11bHRpRGVzdGluYXRpb24/OiBNYXliZTxBcnJheTxNYXliZTxEZXN0aW5hdGlvbkVudHJ5Pj4+O1xuICBvdXRib3VuZERhdGU/OiBNYXliZTxTY2FsYXJzWydEYXRlJ10+O1xuICBvdXRib3VuZERlcGFydHVyZVRpbWVXaW5kb3c/OiBNYXliZTxTY2FsYXJzWydTdHJpbmcnXT47XG4gIG91dGJvdW5kQXJyaXZhbFRpbWVXaW5kb3c/OiBNYXliZTxTY2FsYXJzWydTdHJpbmcnXT47XG4gIG91dGJvdW5kQ2FiaW5DbGFzcz86IE1heWJlPEFycmF5PE1heWJlPEZsaWdodENhYmluQ2xhc3M+Pj47XG4gIHJldHVyblRyaXA6IFNjYWxhcnNbJ0Jvb2xlYW4nXTtcbiAgcmV0dXJuRGF0ZT86IE1heWJlPFNjYWxhcnNbJ0RhdGUnXT47XG4gIHJldHVybkRlcGFydHVyZVRpbWVXaW5kb3c/OiBNYXliZTxTY2FsYXJzWydTdHJpbmcnXT47XG4gIHJldHVybkFycml2YWxUaW1lV2luZG93PzogTWF5YmU8U2NhbGFyc1snU3RyaW5nJ10+O1xuICByZXR1cm5DYWJpbkNsYXNzPzogTWF5YmU8QXJyYXk8TWF5YmU8RmxpZ2h0Q2FiaW5DbGFzcz4+PjtcbiAgZmFyZVR5cGU6IEZhcmVUeXBlO1xuICByZXF1aXJlRnJlZUJhZz86IE1heWJlPFNjYWxhcnNbJ0Jvb2xlYW4nXT47XG4gIG1heENvbm5lY3Rpb25zPzogTWF5YmU8U2NhbGFyc1snSW50J10+O1xuICBwcmVmZXJyZWRDYXJyaWVycz86IE1heWJlPEFycmF5PE1heWJlPFNjYWxhcnNbJ1N0cmluZyddPj4+O1xuICBpbmNsdWRlTmVhcmJ5QWlycG9ydHM/OiBNYXliZTxTY2FsYXJzWydCb29sZWFuJ10+O1xuICBhc1NpbmdsZXM/OiBNYXliZTxTY2FsYXJzWydCb29sZWFuJ10+O1xufTtcblxuXG5leHBvcnQgdHlwZSBRdWVyeVNlYXJjaEhvdGVsQ2hhaW5zQXJncyA9IHtcbiAgcXVlcnk6IFNjYWxhcnNbJ1N0cmluZyddO1xufTtcblxuXG5leHBvcnQgdHlwZSBRdWVyeVNlYXJjaEhvdGVsc0FyZ3MgPSB7XG4gIHN0YXJ0RGF0ZTogU2NhbGFyc1snRGF0ZSddO1xuICBlbmREYXRlOiBTY2FsYXJzWydEYXRlJ107XG4gIGNpdHlOYW1lPzogTWF5YmU8U2NhbGFyc1snU3RyaW5nJ10+O1xuICBwb3N0T3JaaXBDb2RlPzogTWF5YmU8U2NhbGFyc1snU3RyaW5nJ10+O1xuICBjb3VudHJ5Q29kZT86IE1heWJlPFNjYWxhcnNbJ1N0cmluZyddPjtcbiAgbGF0aXR1ZGU/OiBNYXliZTxTY2FsYXJzWydGbG9hdCddPjtcbiAgbG9uZ2l0dWRlPzogTWF5YmU8U2NhbGFyc1snRmxvYXQnXT47XG4gIHRyYWluU3RhdGlvbkNvZGU/OiBNYXliZTxTY2FsYXJzWydTdHJpbmcnXT47XG4gIGlhdGE/OiBNYXliZTxTY2FsYXJzWydTdHJpbmcnXT47XG4gIG9mZmljZUlkPzogTWF5YmU8U2NhbGFyc1snSW50J10+O1xuICByb29tczogU2NhbGFyc1snSW50J107XG4gIGFkdWx0czogU2NhbGFyc1snSW50J107XG4gIGNoaWxkcmVuPzogTWF5YmU8U2NhbGFyc1snSW50J10+O1xuICBjdXJyZW5jeTogU2NhbGFyc1snU3RyaW5nJ107XG4gIGRpc3RhbmNlVHlwZTogRGlzdGFuY2VUeXBlcztcbiAgZGlzdGFuY2U6IFNjYWxhcnNbJ0ludCddO1xuICBtYXhSZXN1bHRzPzogTWF5YmU8U2NhbGFyc1snSW50J10+O1xuICBob3RlbE5hbWU/OiBNYXliZTxTY2FsYXJzWydTdHJpbmcnXT47XG4gIGdyb3VwTmFtZT86IE1heWJlPFNjYWxhcnNbJ1N0cmluZyddPjtcbn07XG5cblxuZXhwb3J0IHR5cGUgUXVlcnlHZXRIb3RlbEF2YWlsYWJpbGl0eUFyZ3MgPSB7XG4gIGhvdGVsOiBTY2FsYXJzWydTdHJpbmcnXTtcbiAgc3RhcnREYXRlOiBTY2FsYXJzWydEYXRlJ107XG4gIGVuZERhdGU6IFNjYWxhcnNbJ0RhdGUnXTtcbiAgY3VycmVuY3k6IFNjYWxhcnNbJ1N0cmluZyddO1xuICBvY2N1cGFudHM6IFNjYWxhcnNbJ0ludCddO1xuICByb29tcz86IE1heWJlPFNjYWxhcnNbJ0ludCddPjtcbn07XG5cblxuZXhwb3J0IHR5cGUgUXVlcnlHZXRNdWx0aXBsZUhvdGVsc0F2YWlsYWJpbGl0eUFyZ3MgPSB7XG4gIGhvdGVsOiBBcnJheTxTY2FsYXJzWydTdHJpbmcnXT47XG4gIHN0YXJ0RGF0ZTogU2NhbGFyc1snRGF0ZSddO1xuICBlbmREYXRlOiBTY2FsYXJzWydEYXRlJ107XG4gIGN1cnJlbmN5OiBTY2FsYXJzWydTdHJpbmcnXTtcbiAgb2NjdXBhbnRzOiBTY2FsYXJzWydJbnQnXTtcbiAgcm9vbXM/OiBNYXliZTxTY2FsYXJzWydJbnQnXT47XG59O1xuXG5cbmV4cG9ydCB0eXBlIFF1ZXJ5R2V0SXJsU3VwcGxpZXJTdGF0aW9uQXJncyA9IHtcbiAgaWQ/OiBNYXliZTxTY2FsYXJzWydJRCddPjtcbiAgc3VwcGxpZXI/OiBNYXliZTxJcmxTdXBwbGllcj47XG4gIGNvZGU/OiBNYXliZTxTY2FsYXJzWydTdHJpbmcnXT47XG59O1xuXG5cbmV4cG9ydCB0eXBlIFF1ZXJ5U2VhcmNoSXJsU3VwcGxpZXJTdGF0aW9uc0FyZ3MgPSB7XG4gIHF1ZXJ5OiBTY2FsYXJzWydTdHJpbmcnXTtcbiAgc3VwcGxpZXI6IElybFN1cHBsaWVyO1xufTtcblxuXG5leHBvcnQgdHlwZSBRdWVyeVNlYXJjaElybEFyZ3MgPSB7XG4gIHN1cHBsaWVyOiBJcmxTdXBwbGllcjtcbiAgY291bnRyeUNvZGU6IFNjYWxhcnNbJ1N0cmluZyddO1xuICBqb3VybmV5VHlwZTogSXJsSm91cm5leVR5cGU7XG4gIGNsYXNzPzogTWF5YmU8SXJsQ2xhc3M+O1xuICBvdXRib3VuZERlcGFydHVyZURhdGVUaW1lOiBTY2FsYXJzWydEYXRlVGltZSddO1xuICBkZXBhcnR1cmVMb2NhdGlvbklkOiBTY2FsYXJzWydJRCddO1xuICBhcnJpdmFsTG9jYXRpb25JZDogU2NhbGFyc1snSUQnXTtcbiAgYWR1bHRzOiBTY2FsYXJzWydJbnQnXTtcbiAgY2hpbGRyZW4/OiBNYXliZTxTY2FsYXJzWydJbnQnXT47XG4gIHJldHVybkRlcGFydHVyZURhdGVUaW1lPzogTWF5YmU8U2NhbGFyc1snRGF0ZVRpbWUnXT47XG59O1xuXG5cbmV4cG9ydCB0eXBlIFF1ZXJ5U2VhcmNoTG91bmdlc0FyZ3MgPSB7XG4gIGxvY2F0aW9uQ29kZTogU2NhbGFyc1snU3RyaW5nJ107XG4gIGFycml2YWxEYXRldGltZTogU2NhbGFyc1snRGF0ZVRpbWUnXTtcbiAgYWR1bHRzOiBTY2FsYXJzWydJbnQnXTtcbiAgY2hpbGRyZW4/OiBNYXliZTxTY2FsYXJzWydJbnQnXT47XG4gIGluZmFudHM/OiBNYXliZTxTY2FsYXJzWydJbnQnXT47XG4gIHRlcm1pbmFsPzogTWF5YmU8U2NhbGFyc1snU3RyaW5nJ10+O1xufTtcblxuXG5leHBvcnQgdHlwZSBRdWVyeUdldFVzZXJNaUF1dG9TdWdnZXN0VmFsdWVzQXJncyA9IHtcbiAgbWk6IFNjYWxhcnNbJ0lEJ107XG4gIHBhcnRpYWxMYWJlbDogU2NhbGFyc1snU3RyaW5nJ107XG59O1xuXG5cbmV4cG9ydCB0eXBlIFF1ZXJ5VmFsaWRhdGVVc2VyTWlGcmVlVmFsdWVBcmdzID0ge1xuICBtaTogU2NhbGFyc1snSUQnXTtcbiAgZnJlZVZhbHVlOiBTY2FsYXJzWydTdHJpbmcnXTtcbn07XG5cblxuZXhwb3J0IHR5cGUgUXVlcnlWYWxpZGF0ZUJhc2tldEl0ZW1NaUFyZ3MgPSB7XG4gIGJhc2tldEl0ZW06IFNjYWxhcnNbJ0lEJ107XG59O1xuXG5cbmV4cG9ydCB0eXBlIFF1ZXJ5R2V0VXNlck1lc3NhZ2VzQXJncyA9IHtcbiAgdGFyZ2V0PzogTWF5YmU8U2NhbGFyc1snU3RyaW5nJ10+O1xufTtcblxuXG5leHBvcnQgdHlwZSBRdWVyeVNlYXJjaFBhcmtpbmdBcmdzID0ge1xuICBhcnJpdmFsRGF0ZXRpbWU6IFNjYWxhcnNbJ0RhdGVUaW1lJ107XG4gIGRlcGFydERhdGV0aW1lOiBTY2FsYXJzWydEYXRlVGltZSddO1xuICBsb2NhdGlvbkNvZGU6IFNjYWxhcnNbJ1N0cmluZyddO1xuICBvdXRGbGlnaHROdW1iZXI/OiBNYXliZTxTY2FsYXJzWydTdHJpbmcnXT47XG4gIHJlY29tbWVuZGVkPzogTWF5YmU8U2NhbGFyc1snQm9vbGVhbiddPjtcbiAgb25BaXJwb3J0PzogTWF5YmU8U2NhbGFyc1snQm9vbGVhbiddPjtcbiAgbWVldEFuZEdyZWV0PzogTWF5YmU8U2NhbGFyc1snQm9vbGVhbiddPjtcbiAgcGFya0FuZFJpZGU/OiBNYXliZTxTY2FsYXJzWydCb29sZWFuJ10+O1xuICBwYXJrQW5kU3Ryb2xsPzogTWF5YmU8U2NhbGFyc1snQm9vbGVhbiddPjtcbiAgY2FyUGFya2VkRm9yWW91PzogTWF5YmU8U2NhbGFyc1snQm9vbGVhbiddPjtcbiAgdGVybWluYWw/OiBNYXliZTxTY2FsYXJzWydTdHJpbmcnXT47XG59O1xuXG5cbmV4cG9ydCB0eXBlIFF1ZXJ5R2V0UG9zdGNvZGVEZXRhaWxzQXJncyA9IHtcbiAgcG9zdGNvZGU6IFNjYWxhcnNbJ1N0cmluZyddO1xufTtcblxuXG5leHBvcnQgdHlwZSBRdWVyeVBvc3Rjb2RlQXV0b1N1Z2dlc3RBcmdzID0ge1xuICBwb3N0Y29kZTogU2NhbGFyc1snU3RyaW5nJ107XG59O1xuXG5cbmV4cG9ydCB0eXBlIFF1ZXJ5U2VhcmNoUG9zdGNvZGVzQXJncyA9IHtcbiAgcXVlcnk6IFNjYWxhcnNbJ1N0cmluZyddO1xufTtcblxuXG5leHBvcnQgdHlwZSBRdWVyeUlzUG9zdGNvZGVWYWxpZEFyZ3MgPSB7XG4gIHBvc3Rjb2RlOiBTY2FsYXJzWydTdHJpbmcnXTtcbn07XG5cblxuZXhwb3J0IHR5cGUgUXVlcnlHZXRSYWlsU3RhdGlvbkFyZ3MgPSB7XG4gIGlkPzogTWF5YmU8U2NhbGFyc1snSUQnXT47XG4gIGNvZGU/OiBNYXliZTxTY2FsYXJzWydTdHJpbmcnXT47XG59O1xuXG5cbmV4cG9ydCB0eXBlIFF1ZXJ5U2VhcmNoUmFpbFN0YXRpb25zQXJncyA9IHtcbiAgcXVlcnk6IFNjYWxhcnNbJ1N0cmluZyddO1xuICBjb3VudHJ5Q29kZT86IE1heWJlPFNjYWxhcnNbJ1N0cmluZyddPjtcbn07XG5cblxuZXhwb3J0IHR5cGUgUXVlcnlTZWFyY2hSYWlsQXJncyA9IHtcbiAgY291bnRyeUNvZGU6IFNjYWxhcnNbJ1N0cmluZyddO1xuICBqb3VybmV5VHlwZTogUmFpbEpvdXJuZXlUeXBlO1xuICBjbGFzcz86IE1heWJlPFJhaWxDbGFzcz47XG4gIG91dGJvdW5kQXJyaXZhbERhdGVUaW1lPzogTWF5YmU8U2NhbGFyc1snRGF0ZVRpbWUnXT47XG4gIG91dGJvdW5kRGVwYXJ0dXJlRGF0ZVRpbWU/OiBNYXliZTxTY2FsYXJzWydEYXRlVGltZSddPjtcbiAgZGVwYXJ0dXJlTG9jYXRpb25JZDogU2NhbGFyc1snSUQnXTtcbiAgYXJyaXZhbExvY2F0aW9uSWQ6IFNjYWxhcnNbJ0lEJ107XG4gIGFkdWx0czogU2NhbGFyc1snSW50J107XG4gIGNoaWxkcmVuPzogTWF5YmU8U2NhbGFyc1snSW50J10+O1xuICByZXR1cm5BcnJpdmFsRGF0ZVRpbWU/OiBNYXliZTxTY2FsYXJzWydEYXRlVGltZSddPjtcbiAgcmV0dXJuRGVwYXJ0dXJlRGF0ZVRpbWU/OiBNYXliZTxTY2FsYXJzWydEYXRlVGltZSddPjtcbiAgcmFpbENhcmRRdWFsaWZpZXJzPzogTWF5YmU8QXJyYXk8U2NhbGFyc1snU3RyaW5nJ10+PjtcbiAgdmlhTG9jYXRpb25JZD86IE1heWJlPFNjYWxhcnNbJ0lEJ10+O1xuICBleHRyYVRpbWVUb0NoYW5nZT86IE1heWJlPFNjYWxhcnNbJ0Jvb2xlYW4nXT47XG4gIHBsdXNCdXNPdXQ/OiBNYXliZTxSYWlsUGx1c0J1c0F2YWlsPjtcbiAgcGx1c0J1c1JldHVybj86IE1heWJlPFJhaWxQbHVzQnVzQXZhaWw+O1xufTtcblxuXG5leHBvcnQgdHlwZSBRdWVyeUdldFJpc2tBbGVydHNBcmdzID0ge1xuICBtaW5MZXZlbD86IE1heWJlPFJpc2tMZXZlbD47XG4gIG1heExldmVsPzogTWF5YmU8Umlza0xldmVsPjtcbiAgY291bnRyeUlzb0NvZGU/OiBNYXliZTxTY2FsYXJzWydTdHJpbmcnXT47XG4gIGFpcnBvcnQ/OiBNYXliZTxTY2FsYXJzWydJRCddPjtcbiAgcmFpbFN0YXRpb24/OiBNYXliZTxTY2FsYXJzWydJRCddPjtcbiAgYWlycG9ydElhdGE/OiBNYXliZTxTY2FsYXJzWydTdHJpbmcnXT47XG59O1xuXG5cbmV4cG9ydCB0eXBlIFF1ZXJ5R2V0VXNlclJlY2VudFNlYXJjaGVzQXJncyA9IHtcbiAgc2VydmljZVR5cGU/OiBNYXliZTxTZXJ2aWNlVHlwZT47XG59O1xuXG5cbmV4cG9ydCB0eXBlIFF1ZXJ5R2V0VXNlckZhdm91cml0ZVNlYXJjaGVzQXJncyA9IHtcbiAgc2VydmljZVR5cGU/OiBNYXliZTxTZXJ2aWNlVHlwZT47XG59O1xuXG5cbmV4cG9ydCB0eXBlIFF1ZXJ5R2V0VXNlclVpQ29uZmlnc0FyZ3MgPSB7XG4gIHRhcmdldD86IE1heWJlPFNjYWxhcnNbJ1N0cmluZyddPjtcbn07XG5cblxuZXhwb3J0IHR5cGUgUXVlcnlHZXRVc2VyQXJncyA9IHtcbiAgaWQ/OiBNYXliZTxTY2FsYXJzWydJRCddPjtcbn07XG5cbmV4cG9ydCB0eXBlIFJhaWxBY2NvdW50ID0ge1xuICBfX3R5cGVuYW1lPzogJ1JhaWxBY2NvdW50JztcbiAgaWQ/OiBNYXliZTxGaWVsZFdyYXBwZXI8U2NhbGFyc1snU3RyaW5nJ10+PjtcbiAgcmVmZXJlbmNlPzogTWF5YmU8RmllbGRXcmFwcGVyPFNjYWxhcnNbJ1N0cmluZyddPj47XG4gIGRlc2NyaXB0aW9uPzogTWF5YmU8RmllbGRXcmFwcGVyPFNjYWxhcnNbJ1N0cmluZyddPj47XG4gIGlzRGVmYXVsdD86IE1heWJlPEZpZWxkV3JhcHBlcjxTY2FsYXJzWydCb29sZWFuJ10+PjtcbiAgdHlwZT86IE1heWJlPEZpZWxkV3JhcHBlcjxTY2FsYXJzWydTdHJpbmcnXT4+O1xufTtcblxuZXhwb3J0IHR5cGUgUmFpbENhbGxpbmdQb2ludCA9IHtcbiAgX190eXBlbmFtZT86ICdSYWlsQ2FsbGluZ1BvaW50JztcbiAgc3RhdGlvbk5hbWU/OiBNYXliZTxGaWVsZFdyYXBwZXI8U2NhbGFyc1snU3RyaW5nJ10+PjtcbiAgc3RhdGlvbkNvZGU/OiBNYXliZTxGaWVsZFdyYXBwZXI8U2NhbGFyc1snU3RyaW5nJ10+PjtcbiAgYXJyaXZhbERhdGVUaW1lPzogTWF5YmU8RmllbGRXcmFwcGVyPFNjYWxhcnNbJ0RhdGVUaW1lJ10+PjtcbiAgZGVwYXJ0dXJlRGF0ZVRpbWU/OiBNYXliZTxGaWVsZFdyYXBwZXI8U2NhbGFyc1snRGF0ZVRpbWUnXT4+O1xuICBzY2hlZHVsZWRQbGF0Zm9ybT86IE1heWJlPEZpZWxkV3JhcHBlcjxTY2FsYXJzWydTdHJpbmcnXT4+O1xuICBzdGF0aW9uQ2xhc3NpZmljYXRpb24/OiBNYXliZTxGaWVsZFdyYXBwZXI8UmFpbFN0YXRpb25DbGFzc2lmaWNhdGlvbj4+O1xuICBzdG9wcGluZ1BhdHRlcm4/OiBNYXliZTxGaWVsZFdyYXBwZXI8UmFpbFN0b3BwaW5nUGF0dGVybj4+O1xufTtcblxuZXhwb3J0IGVudW0gUmFpbENsYXNzIHtcbiAgQWxsID0gJ0FsbCcsXG4gIEZpcnN0ID0gJ0ZpcnN0JyxcbiAgU3RhbmRhcmQgPSAnU3RhbmRhcmQnXG59XG5cbmV4cG9ydCB0eXBlIFJhaWxJZGVudGlmaWVycyA9IHtcbiAgX190eXBlbmFtZT86ICdSYWlsSWRlbnRpZmllcnMnO1xuICB0cmFuc2FjdGlvbklkZW50aWZpZXI/OiBNYXliZTxGaWVsZFdyYXBwZXI8U2NhbGFyc1snU3RyaW5nJ10+PjtcbiAgam91cm5leUlkZW50aWZpZXI/OiBNYXliZTxGaWVsZFdyYXBwZXI8U2NhbGFyc1snU3RyaW5nJ10+PjtcbiAgcHJvdmlkZXI/OiBNYXliZTxGaWVsZFdyYXBwZXI8U2NhbGFyc1snU3RyaW5nJ10+PjtcbiAgZmFyZUlkZW50aWZpZXI/OiBNYXliZTxGaWVsZFdyYXBwZXI8U2NhbGFyc1snU3RyaW5nJ10+PjtcbiAgZGlyZWN0aW9uPzogTWF5YmU8RmllbGRXcmFwcGVyPFNjYWxhcnNbJ1N0cmluZyddPj47XG4gIGFsbG93ZWRXaXRoOiBBcnJheTxGaWVsZFdyYXBwZXI8UmFpbElkZW50aWZpZXJzPj47XG4gIHNpbmdsZU9yUmV0dXJuPzogTWF5YmU8RmllbGRXcmFwcGVyPFNjYWxhcnNbJ1N0cmluZyddPj47XG4gIGJvb2tpbmdSZWY/OiBNYXliZTxGaWVsZFdyYXBwZXI8U2NhbGFyc1snU3RyaW5nJ10+Pjtcbn07XG5cbmV4cG9ydCB0eXBlIFJhaWxKb3VybmV5T3B0aW9uID0ge1xuICBfX3R5cGVuYW1lPzogJ1JhaWxKb3VybmV5T3B0aW9uJztcbiAgaWRlbnRpZmllcnM/OiBNYXliZTxGaWVsZFdyYXBwZXI8UmFpbElkZW50aWZpZXJzPj47XG4gIHRyYXZlbGxlcnM/OiBNYXliZTxBcnJheTxGaWVsZFdyYXBwZXI8UmFpbFRyYXZlbGxlcj4+PjtcbiAgY28yUGVySXRlbT86IE1heWJlPEZpZWxkV3JhcHBlcjxTY2FsYXJzWydGbG9hdCddPj47XG4gIGNvMlBlclBhc3Nlbmdlcj86IE1heWJlPEZpZWxkV3JhcHBlcjxTY2FsYXJzWydGbG9hdCddPj47XG4gIGZyb20/OiBNYXliZTxGaWVsZFdyYXBwZXI8U2NhbGFyc1snU3RyaW5nJ10+PjtcbiAgZnJvbUNvZGU/OiBNYXliZTxGaWVsZFdyYXBwZXI8U2NhbGFyc1snU3RyaW5nJ10+PjtcbiAgdG8/OiBNYXliZTxGaWVsZFdyYXBwZXI8U2NhbGFyc1snU3RyaW5nJ10+PjtcbiAgdG9Db2RlPzogTWF5YmU8RmllbGRXcmFwcGVyPFNjYWxhcnNbJ1N0cmluZyddPj47XG4gIGRlcGFydERhdGVUaW1lPzogTWF5YmU8RmllbGRXcmFwcGVyPFNjYWxhcnNbJ0RhdGVUaW1lJ10+PjtcbiAgYXJyaXZlRGF0ZVRpbWU/OiBNYXliZTxGaWVsZFdyYXBwZXI8U2NhbGFyc1snRGF0ZVRpbWUnXT4+O1xuICBjaGFuZ2VzPzogTWF5YmU8RmllbGRXcmFwcGVyPFNjYWxhcnNbJ1N0cmluZyddPj47XG4gIHNlZ21lbnRzPzogTWF5YmU8QXJyYXk8RmllbGRXcmFwcGVyPFJhaWxTZWdtZW50Pj4+O1xuICBwcm92aWRlcnM/OiBNYXliZTxBcnJheTxGaWVsZFdyYXBwZXI8UmFpbFByb3ZpZGVyPj4+O1xuICB1bnNlbGxhYmxlPzogTWF5YmU8RmllbGRXcmFwcGVyPFNjYWxhcnNbJ1N0cmluZyddPj47XG4gIHRpY2tldEV4dHJhcz86IE1heWJlPEFycmF5PEZpZWxkV3JhcHBlcjxSYWlsVGlja2V0RXh0cmE+Pj47XG4gIHBsdXNCdXM/OiBNYXliZTxGaWVsZFdyYXBwZXI8UmFpbFBsdXNCdXM+Pjtcbn07XG5cbmV4cG9ydCB0eXBlIFJhaWxKb3VybmV5T3B0aW9ucyA9IHtcbiAgX190eXBlbmFtZT86ICdSYWlsSm91cm5leU9wdGlvbnMnO1xuICBzb3VyY2U6IEZpZWxkV3JhcHBlcjxTY2FsYXJzWydTdHJpbmcnXT47XG4gIHNvdXJjZUlkOiBGaWVsZFdyYXBwZXI8U2NhbGFyc1snSW50J10+O1xuICBvdXRib3VuZD86IE1heWJlPEFycmF5PEZpZWxkV3JhcHBlcjxSYWlsSm91cm5leU9wdGlvbj4+PjtcbiAgcmV0dXJuPzogTWF5YmU8QXJyYXk8RmllbGRXcmFwcGVyPFJhaWxKb3VybmV5T3B0aW9uPj4+O1xufTtcblxuZXhwb3J0IGVudW0gUmFpbEpvdXJuZXlUeXBlIHtcbiAgUmV0dXJuSm91cm5leSA9ICdSZXR1cm5Kb3VybmV5JyxcbiAgU2luZ2xlSm91cm5leSA9ICdTaW5nbGVKb3VybmV5JyxcbiAgRHVhbFNpbmdsZUpvdXJuZXkgPSAnRHVhbFNpbmdsZUpvdXJuZXknLFxuICBPcGVuUmV0dXJuSm91cm5leSA9ICdPcGVuUmV0dXJuSm91cm5leSdcbn1cblxuZXhwb3J0IHR5cGUgUmFpbFBsdXNCdXMgPSB7XG4gIF9fdHlwZW5hbWU/OiAnUmFpbFBsdXNCdXMnO1xuICBvcmlnaW5QbHVzQnVzTkxDPzogTWF5YmU8RmllbGRXcmFwcGVyPFNjYWxhcnNbJ1N0cmluZyddPj47XG4gIG9yaWdpblN0YXRpb25OTEM/OiBNYXliZTxGaWVsZFdyYXBwZXI8U2NhbGFyc1snU3RyaW5nJ10+PjtcbiAgZGVzdGluYXRpb25QbHVzQnVzTkxDPzogTWF5YmU8RmllbGRXcmFwcGVyPFNjYWxhcnNbJ1N0cmluZyddPj47XG4gIGRlc3RpbmF0aW9uU3RhdGlvbk5MQz86IE1heWJlPEZpZWxkV3JhcHBlcjxTY2FsYXJzWydTdHJpbmcnXT4+O1xufTtcblxuZXhwb3J0IHR5cGUgUmFpbFBsdXNCdXNBdmFpbCA9IHtcbiAgb3JpZ2luPzogTWF5YmU8U2NhbGFyc1snQm9vbGVhbiddPjtcbiAgZGVzdGluYXRpb24/OiBNYXliZTxTY2FsYXJzWydCb29sZWFuJ10+O1xufTtcblxuZXhwb3J0IHR5cGUgUmFpbFByb3ZpZGVyID0ge1xuICBfX3R5cGVuYW1lPzogJ1JhaWxQcm92aWRlcic7XG4gIHByb3ZpZGVySWQ/OiBNYXliZTxGaWVsZFdyYXBwZXI8U2NhbGFyc1snU3RyaW5nJ10+PjtcbiAgbmFtZT86IE1heWJlPEZpZWxkV3JhcHBlcjxTY2FsYXJzWydTdHJpbmcnXT4+O1xuICBjaGVhcGVzdFRpY2tldD86IE1heWJlPEZpZWxkV3JhcHBlcjxSYWlsVGlja2V0T3B0aW9uPj47XG4gIHRpY2tldE9wdGlvbnM/OiBNYXliZTxBcnJheTxNYXliZTxGaWVsZFdyYXBwZXI8UmFpbFRpY2tldE9wdGlvbj4+Pj47XG4gIGJvb2tlZFRpY2tldD86IE1heWJlPEZpZWxkV3JhcHBlcjxSYWlsVGlja2V0T3B0aW9uPj47XG59O1xuXG5leHBvcnQgdHlwZSBSYWlsU2VhcmNoUmVzdWx0ID0ge1xuICBfX3R5cGVuYW1lPzogJ1JhaWxTZWFyY2hSZXN1bHQnO1xuICByZXN1bHRzOiBBcnJheTxGaWVsZFdyYXBwZXI8UmFpbEpvdXJuZXlPcHRpb25zPj47XG4gIGVycm9yczogQXJyYXk8RmllbGRXcmFwcGVyPFNlYXJjaEVycm9yPj47XG59O1xuXG5leHBvcnQgdHlwZSBSYWlsU2VhdCA9IHtcbiAgX190eXBlbmFtZT86ICdSYWlsU2VhdCc7XG4gIGxvY2F0aW9uPzogTWF5YmU8RmllbGRXcmFwcGVyPFNjYWxhcnNbJ1N0cmluZyddPj47XG4gIGNvYWNoPzogTWF5YmU8RmllbGRXcmFwcGVyPFNjYWxhcnNbJ1N0cmluZyddPj47XG4gIG51bWJlcj86IE1heWJlPEZpZWxkV3JhcHBlcjxTY2FsYXJzWydTdHJpbmcnXT4+O1xuICBkaXJlY3Rpb24/OiBNYXliZTxGaWVsZFdyYXBwZXI8U2NhbGFyc1snU3RyaW5nJ10+PjtcbiAgcG9zaXRpb24/OiBNYXliZTxGaWVsZFdyYXBwZXI8U2NhbGFyc1snU3RyaW5nJ10+PjtcbiAgZGVjaz86IE1heWJlPEZpZWxkV3JhcHBlcjxTY2FsYXJzWydTdHJpbmcnXT4+O1xuICBzZWF0VHlwZT86IE1heWJlPEZpZWxkV3JhcHBlcjxTY2FsYXJzWydTdHJpbmcnXT4+O1xuICBzZWF0U2VsZWN0aW9uPzogTWF5YmU8RmllbGRXcmFwcGVyPFNjYWxhcnNbJ1N0cmluZyddPj47XG4gIGZhY2lsaXRpZXM/OiBNYXliZTxBcnJheTxNYXliZTxGaWVsZFdyYXBwZXI8U2NhbGFyc1snU3RyaW5nJ10+Pj4+O1xuICBub3RlOiBGaWVsZFdyYXBwZXI8U2NhbGFyc1snU3RyaW5nJ10+O1xufTtcblxuZXhwb3J0IHR5cGUgUmFpbFNlYXRQcmVmZXJlbmNlVHlwZSA9IHtcbiAgX190eXBlbmFtZT86ICdSYWlsU2VhdFByZWZlcmVuY2VUeXBlJztcbiAgbmFtZT86IE1heWJlPEZpZWxkV3JhcHBlcjxTY2FsYXJzWydTdHJpbmcnXT4+O1xuICBhbGxvd2VkVmFsdWVzPzogTWF5YmU8QXJyYXk8TWF5YmU8RmllbGRXcmFwcGVyPFNjYWxhcnNbJ1N0cmluZyddPj4+Pjtcbn07XG5cbmV4cG9ydCB0eXBlIFJhaWxTZWdtZW50ID0ge1xuICBfX3R5cGVuYW1lPzogJ1JhaWxTZWdtZW50JztcbiAgaWQ/OiBNYXliZTxGaWVsZFdyYXBwZXI8U2NhbGFyc1snU3RyaW5nJ10+PjtcbiAgb3BlcmF0b3I/OiBNYXliZTxGaWVsZFdyYXBwZXI8U2NhbGFyc1snU3RyaW5nJ10+PjtcbiAgZGVwYXJ0PzogTWF5YmU8RmllbGRXcmFwcGVyPFNjYWxhcnNbJ1N0cmluZyddPj47XG4gIGRlcGFydERhdGVUaW1lPzogTWF5YmU8RmllbGRXcmFwcGVyPFNjYWxhcnNbJ0RhdGVUaW1lJ10+PjtcbiAgYXJyaXZlPzogTWF5YmU8RmllbGRXcmFwcGVyPFNjYWxhcnNbJ1N0cmluZyddPj47XG4gIGFycml2ZURhdGVUaW1lPzogTWF5YmU8RmllbGRXcmFwcGVyPFNjYWxhcnNbJ0RhdGVUaW1lJ10+PjtcbiAgcmVzZXJ2YWJsZVN0YXR1cz86IE1heWJlPEZpZWxkV3JhcHBlcjxTY2FsYXJzWydTdHJpbmcnXT4+O1xuICBzZWF0UHJlZmVyZW5jZVR5cGVzPzogTWF5YmU8QXJyYXk8RmllbGRXcmFwcGVyPFJhaWxTZWF0UHJlZmVyZW5jZVR5cGU+Pj47XG4gIHNlYXRQcmVmZXJlbmNlR3JvdXA/OiBNYXliZTxGaWVsZFdyYXBwZXI8U2NhbGFyc1snU3RyaW5nJ10+PjtcbiAgc2VhdHM/OiBNYXliZTxBcnJheTxGaWVsZFdyYXBwZXI8UmFpbFNlYXQ+Pj47XG4gIGNhbGxpbmdQb2ludHM/OiBNYXliZTxBcnJheTxGaWVsZFdyYXBwZXI8UmFpbENhbGxpbmdQb2ludD4+Pjtcbn07XG5cbmV4cG9ydCB0eXBlIFJhaWxTdGF0aW9uID0ge1xuICBfX3R5cGVuYW1lPzogJ1JhaWxTdGF0aW9uJztcbiAgaWQ6IEZpZWxkV3JhcHBlcjxTY2FsYXJzWydJRCddPjtcbiAgbmFtZTogRmllbGRXcmFwcGVyPFNjYWxhcnNbJ1N0cmluZyddPjtcbiAgc3RhdGlvbkNvZGU6IEZpZWxkV3JhcHBlcjxTY2FsYXJzWydTdHJpbmcnXT47XG4gIG5sY0NvZGU/OiBNYXliZTxGaWVsZFdyYXBwZXI8U2NhbGFyc1snSW50J10+PjtcbiAgdHJhaW5saW5lQ29kZT86IE1heWJlPEZpZWxkV3JhcHBlcjxTY2FsYXJzWydTdHJpbmcnXT4+O1xuICB0cmFpbmxpbmVVbmlxdWVDb2RlPzogTWF5YmU8RmllbGRXcmFwcGVyPFNjYWxhcnNbJ1N0cmluZyddPj47XG4gIGxvY2F0aW9uRGV0YWlscz86IE1heWJlPEZpZWxkV3JhcHBlcjxMb2NhdGlvbkRldGFpbD4+O1xufTtcblxuZXhwb3J0IGVudW0gUmFpbFN0YXRpb25DbGFzc2lmaWNhdGlvbiB7XG4gIE9yaWdpbiA9ICdPcmlnaW4nLFxuICBJbnRlcm1lZGlhdGUgPSAnSW50ZXJtZWRpYXRlJyxcbiAgRGVzdGluYXRpb24gPSAnRGVzdGluYXRpb24nLFxuICBVbmtub3duID0gJ1Vua25vd24nXG59XG5cbmV4cG9ydCBlbnVtIFJhaWxTdG9wcGluZ1BhdHRlcm4ge1xuICBSZXF1ZXN0U3RvcCA9ICdSZXF1ZXN0U3RvcCcsXG4gIFBpY2tVcE9ubHkgPSAnUGlja1VwT25seScsXG4gIFNldERvd25Pbmx5ID0gJ1NldERvd25Pbmx5JyxcbiAgTm9ybWFsID0gJ05vcm1hbCcsXG4gIFBhc3NpbmcgPSAnUGFzc2luZycsXG4gIFVua25vd24gPSAnVW5rbm93bidcbn1cblxuZXhwb3J0IHR5cGUgUmFpbFRleHRWYWx1ZVBhaXIgPSB7XG4gIF9fdHlwZW5hbWU/OiAnUmFpbFRleHRWYWx1ZVBhaXInO1xuICB0ZXh0OiBGaWVsZFdyYXBwZXI8U2NhbGFyc1snU3RyaW5nJ10+O1xuICB2YWx1ZT86IE1heWJlPEZpZWxkV3JhcHBlcjxTY2FsYXJzWydTdHJpbmcnXT4+O1xufTtcblxuZXhwb3J0IHR5cGUgUmFpbFRpY2tldCA9IHtcbiAgX190eXBlbmFtZT86ICdSYWlsVGlja2V0JztcbiAgcHJpY2U/OiBNYXliZTxGaWVsZFdyYXBwZXI8U2NhbGFyc1snRmxvYXQnXT4+O1xuICB0eXBlPzogTWF5YmU8RmllbGRXcmFwcGVyPFNjYWxhcnNbJ1N0cmluZyddPj47XG4gIHJvdXRlPzogTWF5YmU8RmllbGRXcmFwcGVyPFNjYWxhcnNbJ1N0cmluZyddPj47XG4gIHNlZ21lbnRzPzogTWF5YmU8QXJyYXk8RmllbGRXcmFwcGVyPFJhaWxTZWdtZW50Pj4+O1xuICBudW1DaGlsZHJlbj86IE1heWJlPEZpZWxkV3JhcHBlcjxTY2FsYXJzWydJbnQnXT4+O1xuICBudW1BZHVsdHM/OiBNYXliZTxGaWVsZFdyYXBwZXI8U2NhbGFyc1snSW50J10+Pjtcbn07XG5cbmV4cG9ydCB0eXBlIFJhaWxUaWNrZXRFeHRyYSA9IHtcbiAgX190eXBlbmFtZT86ICdSYWlsVGlja2V0RXh0cmEnO1xuICBpZGVudGlmaWVycz86IE1heWJlPEZpZWxkV3JhcHBlcjxSYWlsVGlja2V0RXh0cmFJZGVudGlmaWVycz4+O1xuICB0eXBlPzogTWF5YmU8RmllbGRXcmFwcGVyPFNjYWxhcnNbJ1N0cmluZyddPj47XG4gIGxvY2F0aW9uPzogTWF5YmU8RmllbGRXcmFwcGVyPFNjYWxhcnNbJ1N0cmluZyddPj47XG4gIGRhdGU/OiBNYXliZTxGaWVsZFdyYXBwZXI8U2NhbGFyc1snRGF0ZSddPj47XG4gIGRlc2NyaXB0aW9uPzogTWF5YmU8RmllbGRXcmFwcGVyPFNjYWxhcnNbJ1N0cmluZyddPj47XG4gIGFtb3VudD86IE1heWJlPEZpZWxkV3JhcHBlcjxTY2FsYXJzWydGbG9hdCddPj47XG4gIGFkdWx0QW1vdW50PzogTWF5YmU8RmllbGRXcmFwcGVyPFNjYWxhcnNbJ0Zsb2F0J10+PjtcbiAgY2hpbGRBbW91bnQ/OiBNYXliZTxGaWVsZFdyYXBwZXI8U2NhbGFyc1snRmxvYXQnXT4+O1xuICBjdXJyZW5jeT86IE1heWJlPEZpZWxkV3JhcHBlcjxTY2FsYXJzWydTdHJpbmcnXT4+O1xufTtcblxuZXhwb3J0IHR5cGUgUmFpbFRpY2tldEV4dHJhSWRlbnRpZmllcnMgPSB7XG4gIF9fdHlwZW5hbWU/OiAnUmFpbFRpY2tldEV4dHJhSWRlbnRpZmllcnMnO1xuICB0eXBlPzogTWF5YmU8RmllbGRXcmFwcGVyPFNjYWxhcnNbJ1N0cmluZyddPj47XG4gIGxvY2F0aW9uPzogTWF5YmU8RmllbGRXcmFwcGVyPFNjYWxhcnNbJ1N0cmluZyddPj47XG4gIGRhdGU/OiBNYXliZTxGaWVsZFdyYXBwZXI8U2NhbGFyc1snRGF0ZSddPj47XG4gIGpvdXJuZXlJZD86IE1heWJlPEZpZWxkV3JhcHBlcjxTY2FsYXJzWydTdHJpbmcnXT4+O1xuICBpc09yaWdpbj86IE1heWJlPEZpZWxkV3JhcHBlcjxTY2FsYXJzWydCb29sZWFuJ10+Pjtcbn07XG5cbmV4cG9ydCB0eXBlIFJhaWxUaWNrZXRPcHRpb24gPSB7XG4gIF9fdHlwZW5hbWU/OiAnUmFpbFRpY2tldE9wdGlvbic7XG4gIGlkZW50aWZpZXJzPzogTWF5YmU8RmllbGRXcmFwcGVyPFJhaWxJZGVudGlmaWVycz4+O1xuICB0eXBlPzogTWF5YmU8RmllbGRXcmFwcGVyPFNjYWxhcnNbJ1N0cmluZyddPj47XG4gIHRlcm1zPzogTWF5YmU8RmllbGRXcmFwcGVyPFJhaWxUaWNrZXRUZXJtcz4+O1xuICBjbGFzcz86IE1heWJlPEZpZWxkV3JhcHBlcjxTY2FsYXJzWydTdHJpbmcnXT4+O1xuICBzaW5nbGVPclJldHVybj86IE1heWJlPEZpZWxkV3JhcHBlcjxTY2FsYXJzWydTdHJpbmcnXT4+O1xuICBwcmljZT86IE1heWJlPEZpZWxkV3JhcHBlcjxTY2FsYXJzWydGbG9hdCddPj47XG4gIHJlc2VydmFibGVTdGF0dXM/OiBNYXliZTxGaWVsZFdyYXBwZXI8U2NhbGFyc1snU3RyaW5nJ10+PjtcbiAgY3VycmVuY3k/OiBNYXliZTxGaWVsZFdyYXBwZXI8U2NhbGFyc1snU3RyaW5nJ10+PjtcbiAgcm91dGU/OiBNYXliZTxGaWVsZFdyYXBwZXI8U2NhbGFyc1snU3RyaW5nJ10+PjtcbiAgcm91dGVDb2RlPzogTWF5YmU8RmllbGRXcmFwcGVyPFNjYWxhcnNbJ1N0cmluZyddPj47XG4gIGF2YWlsYWJsZVNlYXRzPzogTWF5YmU8RmllbGRXcmFwcGVyPFNjYWxhcnNbJ0ludCddPj47XG4gIHRpY2tldHM/OiBNYXliZTxBcnJheTxNYXliZTxGaWVsZFdyYXBwZXI8UmFpbFRpY2tldD4+Pj47XG4gIHRpY2tldFF1ZXVlTGlzdD86IE1heWJlPEFycmF5PE1heWJlPEZpZWxkV3JhcHBlcjxSYWlsVGlja2V0UXVldWU+Pj4+O1xuICBhY2NvdW50c0xpc3Q/OiBNYXliZTxBcnJheTxNYXliZTxGaWVsZFdyYXBwZXI8UmFpbEFjY291bnQ+Pj4+O1xufTtcblxuZXhwb3J0IHR5cGUgUmFpbFRpY2tldFF1ZXVlID0ge1xuICBfX3R5cGVuYW1lPzogJ1JhaWxUaWNrZXRRdWV1ZSc7XG4gIGlkPzogTWF5YmU8RmllbGRXcmFwcGVyPFNjYWxhcnNbJ1N0cmluZyddPj47XG4gIG5hbWU/OiBNYXliZTxGaWVsZFdyYXBwZXI8U2NhbGFyc1snU3RyaW5nJ10+PjtcbiAgdHlwZT86IE1heWJlPEZpZWxkV3JhcHBlcjxTY2FsYXJzWydTdHJpbmcnXT4+O1xufTtcblxuZXhwb3J0IHR5cGUgUmFpbFRpY2tldFRlcm1zID0ge1xuICBfX3R5cGVuYW1lPzogJ1JhaWxUaWNrZXRUZXJtcyc7XG4gIGVycm9yPzogTWF5YmU8RmllbGRXcmFwcGVyPFNjYWxhcnNbJ1N0cmluZyddPj47XG4gIHRpY2tldFR5cGVDb2RlPzogTWF5YmU8RmllbGRXcmFwcGVyPFNjYWxhcnNbJ1N0cmluZyddPj47XG4gIHRyYWluT3BlcmF0aW5nQ29tcGFueUNvZGU/OiBNYXliZTxGaWVsZFdyYXBwZXI8U2NhbGFyc1snU3RyaW5nJ10+PjtcbiAgdGlja2V0VHlwZU5hbWU/OiBNYXliZTxGaWVsZFdyYXBwZXI8U2NhbGFyc1snU3RyaW5nJ10+PjtcbiAgdGlja2V0VHlwZUFsdE5hbWU/OiBNYXliZTxGaWVsZFdyYXBwZXI8U2NhbGFyc1snU3RyaW5nJ10+PjtcbiAgdGlja2V0VHlwZUNsYXNzPzogTWF5YmU8RmllbGRXcmFwcGVyPFNjYWxhcnNbJ1N0cmluZyddPj47XG4gIHJlc2VydmF0aW9uUnVsZT86IE1heWJlPEZpZWxkV3JhcHBlcjxTY2FsYXJzWydTdHJpbmcnXT4+O1xuICBqb3VybmV5VHlwZT86IE1heWJlPEZpZWxkV3JhcHBlcjxTY2FsYXJzWydTdHJpbmcnXT4+O1xuICBwcmVCb29raW5nUmVxdWlyZW1lbnQ/OiBNYXliZTxGaWVsZFdyYXBwZXI8U2NhbGFyc1snU3RyaW5nJ10+PjtcbiAgZ2VuZXJhbFZhbGlkaXR5PzogTWF5YmU8RmllbGRXcmFwcGVyPFNjYWxhcnNbJ1N0cmluZyddPj47XG4gIHZhbGlkT3V0UnVsZT86IE1heWJlPEZpZWxkV3JhcHBlcjxTY2FsYXJzWydTdHJpbmcnXT4+O1xuICB2YWxpZFJldHVyblJ1bGU/OiBNYXliZTxGaWVsZFdyYXBwZXI8U2NhbGFyc1snU3RyaW5nJ10+PjtcbiAgZ2VuZXJhbERpc2NvdW50PzogTWF5YmU8RmllbGRXcmFwcGVyPFNjYWxhcnNbJ1N0cmluZyddPj47XG4gIGNoaWxkRGlzY291bnQ/OiBNYXliZTxGaWVsZFdyYXBwZXI8U2NhbGFyc1snU3RyaW5nJ10+PjtcbiAgcmFpbGNhcmREaXNjb3VudD86IE1heWJlPEZpZWxkV3JhcHBlcjxTY2FsYXJzWydTdHJpbmcnXT4+O1xuICByZWZ1bmRDYW5jZWxsYXRpb25SdWxlPzogTWF5YmU8RmllbGRXcmFwcGVyPFNjYWxhcnNbJ1N0cmluZyddPj47XG4gIGNoYW5nZVJ1bGU/OiBNYXliZTxGaWVsZFdyYXBwZXI8U2NhbGFyc1snU3RyaW5nJ10+PjtcbiAgdGlja2V0VHlwZUNvbmRpdGlvbnNEZXNjcmlwdGlvbj86IE1heWJlPEZpZWxkV3JhcHBlcjxTY2FsYXJzWydTdHJpbmcnXT4+O1xuICBqb3VybmV5QnJlYWtSdWxlPzogTWF5YmU8RmllbGRXcmFwcGVyPFNjYWxhcnNbJ1N0cmluZyddPj47XG4gIGF2YWlsYWJpbGl0eVJ1bGU/OiBNYXliZTxGaWVsZFdyYXBwZXI8U2NhbGFyc1snU3RyaW5nJ10+PjtcbiAgdG9kQXZhaWxhYmxlPzogTWF5YmU8RmllbGRXcmFwcGVyPFNjYWxhcnNbJ1N0cmluZyddPj47XG4gIGtpb3NrQXZhaWxhYmxlPzogTWF5YmU8RmllbGRXcmFwcGVyPFNjYWxhcnNbJ1N0cmluZyddPj47XG4gIHN0YXJ0RGF0ZT86IE1heWJlPEZpZWxkV3JhcHBlcjxTY2FsYXJzWydTdHJpbmcnXT4+O1xuICBlbmREYXRlPzogTWF5YmU8RmllbGRXcmFwcGVyPFNjYWxhcnNbJ1N0cmluZyddPj47XG4gIGR5bmFtaWNDb25kaXRpb25zPzogTWF5YmU8QXJyYXk8TWF5YmU8RmllbGRXcmFwcGVyPER5bmFtaWNDb25kaXRpb24+Pj4+O1xufTtcblxuZXhwb3J0IHR5cGUgUmFpbFRyYXZlbGxlciA9IHtcbiAgX190eXBlbmFtZT86ICdSYWlsVHJhdmVsbGVyJztcbiAgc3RhdHVzPzogTWF5YmU8RmllbGRXcmFwcGVyPFJhaWxUcmF2ZWxsZXJTdGF0dXM+PjtcbiAgaWQ/OiBNYXliZTxGaWVsZFdyYXBwZXI8U2NhbGFyc1snU3RyaW5nJ10+PjtcbiAgZG9iPzogTWF5YmU8RmllbGRXcmFwcGVyPFNjYWxhcnNbJ0RhdGUnXT4+O1xuICByYWlsY2FyZD86IE1heWJlPEZpZWxkV3JhcHBlcjxTY2FsYXJzWydTdHJpbmcnXT4+O1xuICBnaXZlbk5hbWU/OiBNYXliZTxGaWVsZFdyYXBwZXI8U2NhbGFyc1snU3RyaW5nJ10+PjtcbiAgc3VybmFtZT86IE1heWJlPEZpZWxkV3JhcHBlcjxTY2FsYXJzWydTdHJpbmcnXT4+O1xuICBuYW1lVGl0bGU/OiBNYXliZTxGaWVsZFdyYXBwZXI8U2NhbGFyc1snU3RyaW5nJ10+PjtcbiAgY29udGFjdEluZm8/OiBNYXliZTxGaWVsZFdyYXBwZXI8U2NhbGFyc1snU3RyaW5nJ10+PjtcbiAgZGVsaXZlcnlFbWFpbEFkZHJlc3M/OiBNYXliZTxGaWVsZFdyYXBwZXI8U2NhbGFyc1snU3RyaW5nJ10+PjtcbiAgZmFyZT86IE1heWJlPEZpZWxkV3JhcHBlcjxTY2FsYXJzWydTdHJpbmcnXT4+O1xufTtcblxuZXhwb3J0IGVudW0gUmFpbFRyYXZlbGxlclN0YXR1cyB7XG4gIFBsYWNlaG9sZGVyID0gJ3BsYWNlaG9sZGVyJyxcbiAgQ29tcGxldGUgPSAnY29tcGxldGUnXG59XG5cbmV4cG9ydCB0eXBlIFJlZmVyZW5jZVJhaWxDYXJkUXVhbGlmaWVyID0ge1xuICBfX3R5cGVuYW1lPzogJ1JlZmVyZW5jZVJhaWxDYXJkUXVhbGlmaWVyJztcbiAgbmFtZTogRmllbGRXcmFwcGVyPFNjYWxhcnNbJ1N0cmluZyddPjtcbiAgY29kZTogRmllbGRXcmFwcGVyPFNjYWxhcnNbJ1N0cmluZyddPjtcbn07XG5cbmV4cG9ydCB0eXBlIFJpc2tBbGVydCA9IHtcbiAgX190eXBlbmFtZT86ICdSaXNrQWxlcnQnO1xuICBpZDogRmllbGRXcmFwcGVyPFNjYWxhcnNbJ0lEJ10+O1xuICB0aXRsZTogRmllbGRXcmFwcGVyPFNjYWxhcnNbJ1N0cmluZyddPjtcbiAgZGVzY3JpcHRpb246IEZpZWxkV3JhcHBlcjxTY2FsYXJzWydTdHJpbmcnXT47XG4gIGJyZWFraW5nOiBGaWVsZFdyYXBwZXI8U2NhbGFyc1snQm9vbGVhbiddPjtcbiAgcmlzazogRmllbGRXcmFwcGVyPFJpc2tMZXZlbD47XG4gIGNhdGVnb3J5OiBGaWVsZFdyYXBwZXI8U2NhbGFyc1snU3RyaW5nJ10+O1xuICBjb3VudHJ5OiBGaWVsZFdyYXBwZXI8U2NhbGFyc1snU3RyaW5nJ10+O1xuICBsb2NhdGlvbj86IE1heWJlPEZpZWxkV3JhcHBlcjxTY2FsYXJzWydTdHJpbmcnXT4+O1xuICBsYXRpdHVkZT86IE1heWJlPEZpZWxkV3JhcHBlcjxTY2FsYXJzWydGbG9hdCddPj47XG4gIGxvbmdpdHVkZT86IE1heWJlPEZpZWxkV3JhcHBlcjxTY2FsYXJzWydGbG9hdCddPj47XG4gIHN0YXJ0RGF0ZTogRmllbGRXcmFwcGVyPFNjYWxhcnNbJ0RhdGVUaW1lJ10+O1xuICBlbmREYXRlOiBGaWVsZFdyYXBwZXI8U2NhbGFyc1snRGF0ZVRpbWUnXT47XG4gIHJlY2VpdmVkRGF0ZTogRmllbGRXcmFwcGVyPFNjYWxhcnNbJ0RhdGVUaW1lJ10+O1xufTtcblxuZXhwb3J0IGVudW0gUmlza0xldmVsIHtcbiAgTG93ID0gJ0xvdycsXG4gIE1vZGVyYXRlID0gJ01vZGVyYXRlJyxcbiAgTWVkaXVtID0gJ01lZGl1bScsXG4gIEhpZ2ggPSAnSGlnaCcsXG4gIEV4dHJlbWUgPSAnRXh0cmVtZSdcbn1cblxuZXhwb3J0IHR5cGUgU2VhcmNoID0ge1xuICBfX3R5cGVuYW1lPzogJ1NlYXJjaCc7XG4gIGlkOiBGaWVsZFdyYXBwZXI8U2NhbGFyc1snSUQnXT47XG4gIG5hbWU/OiBNYXliZTxGaWVsZFdyYXBwZXI8U2NhbGFyc1snU3RyaW5nJ10+PjtcbiAgc2VydmljZVR5cGU6IEZpZWxkV3JhcHBlcjxTZXJ2aWNlVHlwZT47XG4gIHNlYXJjaEFyZ3M6IEZpZWxkV3JhcHBlcjxTY2FsYXJzWydKU09OJ10+O1xuICBjcmVhdGVkQXQ6IEZpZWxkV3JhcHBlcjxTY2FsYXJzWydEYXRlVGltZSddPjtcbiAgdXBkYXRlZEF0OiBGaWVsZFdyYXBwZXI8U2NhbGFyc1snRGF0ZVRpbWUnXT47XG4gIHRyYXZlbERhdGU/OiBNYXliZTxGaWVsZFdyYXBwZXI8U2NhbGFyc1snRGF0ZVRpbWUnXT4+O1xuICB0cmF2ZWxsZXJzPzogTWF5YmU8QXJyYXk8RmllbGRXcmFwcGVyPFVzZXI+Pj47XG59O1xuXG5leHBvcnQgdHlwZSBTZWFyY2hFcnJvciA9IHtcbiAgX190eXBlbmFtZT86ICdTZWFyY2hFcnJvcic7XG4gIHNlcnZpY2U6IEZpZWxkV3JhcHBlcjxTZXJ2aWNlPjtcbiAgZXJyb3JNZXNzYWdlOiBGaWVsZFdyYXBwZXI8U2NhbGFyc1snU3RyaW5nJ10+O1xuICBlcnJvckNvZGU6IEZpZWxkV3JhcHBlcjxTY2FsYXJzWydTdHJpbmcnXT47XG59O1xuXG5leHBvcnQgdHlwZSBTZWFyY2hSZXN1bHQgPSBGbGlnaHRJdGluZXJhcnkgfCBJdGluZXJhcnlTdW1tYXJ5O1xuXG5leHBvcnQgdHlwZSBTZWxlY3RlZE1hbmFnZW1lbnRJbmZvVmFsdWUgPSB7XG4gIF9fdHlwZW5hbWU/OiAnU2VsZWN0ZWRNYW5hZ2VtZW50SW5mb1ZhbHVlJztcbiAgdmFsdWU/OiBNYXliZTxGaWVsZFdyYXBwZXI8TWFuYWdlbWVudEluZm9WYWx1ZT4+O1xuICBmcmVlVmFsdWU/OiBNYXliZTxGaWVsZFdyYXBwZXI8U2NhbGFyc1snU3RyaW5nJ10+PjtcbiAgYmFza2V0TGV2ZWxWYWx1ZTogRmllbGRXcmFwcGVyPFNjYWxhcnNbJ0Jvb2xlYW4nXT47XG4gIHVzZXJMZXZlbFZhbHVlOiBGaWVsZFdyYXBwZXI8U2NhbGFyc1snQm9vbGVhbiddPjtcbiAgdXNlcj86IE1heWJlPEZpZWxkV3JhcHBlcjxVc2VyPj47XG59O1xuXG5leHBvcnQgdHlwZSBTZXJ2aWNlID0ge1xuICBfX3R5cGVuYW1lPzogJ1NlcnZpY2UnO1xuICBpZDogRmllbGRXcmFwcGVyPFNjYWxhcnNbJ0lEJ10+O1xuICB0eXBlOiBGaWVsZFdyYXBwZXI8U2VydmljZVR5cGU+O1xuICBuYW1lOiBGaWVsZFdyYXBwZXI8U2NhbGFyc1snU3RyaW5nJ10+O1xuICBkZXNjcmlwdGlvbjogRmllbGRXcmFwcGVyPFNjYWxhcnNbJ1N0cmluZyddPjtcbiAgc3VwcGxpZXJVcmw6IEZpZWxkV3JhcHBlcjxTY2FsYXJzWydTdHJpbmcnXT47XG4gIGFjdGl2ZTogRmllbGRXcmFwcGVyPFNjYWxhcnNbJ0Jvb2xlYW4nXT47XG4gIGFwaUVuZHBvaW50VXJsOiBGaWVsZFdyYXBwZXI8U2NhbGFyc1snU3RyaW5nJ10+O1xuICBiYXNrZXRJdGVtVHRsOiBGaWVsZFdyYXBwZXI8U2NhbGFyc1snRmxvYXQnXT47XG4gIGNhbmNlbGxhYmxlOiBGaWVsZFdyYXBwZXI8U2NhbGFyc1snQm9vbGVhbiddPjtcbiAgYW1lbmRhYmxlOiBGaWVsZFdyYXBwZXI8U2NhbGFyc1snQm9vbGVhbiddPjtcbiAgZGV0YWlsU2NoZW1hOiBGaWVsZFdyYXBwZXI8U2NhbGFyc1snSlNPTiddPjtcbiAgc2VhcmNoUXVlcnlTY2hlbWE6IEZpZWxkV3JhcHBlcjxTY2FsYXJzWydKU09OJ10+O1xufTtcblxuZXhwb3J0IGVudW0gU2VydmljZVR5cGUge1xuICBGbGlnaHQgPSAnRkxJR0hUJyxcbiAgRXVyb3N0YXIgPSAnRVVST1NUQVInLFxuICBJbnRlcm5hdGlvbmFsUmFpbCA9ICdJTlRFUk5BVElPTkFMX1JBSUwnLFxuICBSYWlsID0gJ1JBSUwnLFxuICBIb3RlbCA9ICdIT1RFTCcsXG4gIENhciA9ICdDQVInLFxuICBMb3VuZ2UgPSAnTE9VTkdFJyxcbiAgRmFzdFRyYWNrID0gJ0ZBU1RfVFJBQ0snLFxuICBQYXJraW5nID0gJ1BBUktJTkcnLFxuICBDYWIgPSAnQ0FCJyxcbiAgQ29hY2ggPSAnQ09BQ0gnXG59XG5cbmV4cG9ydCB0eXBlIFN0YXRpb25TZWFyY2hSZXF1ZXN0UmVzcG9uc2UgPSB7XG4gIF9fdHlwZW5hbWU/OiAnU3RhdGlvblNlYXJjaFJlcXVlc3RSZXNwb25zZSc7XG4gIHRleHQ6IEZpZWxkV3JhcHBlcjxTY2FsYXJzWydTdHJpbmcnXT47XG4gIHZhbHVlOiBGaWVsZFdyYXBwZXI8U2NhbGFyc1snU3RyaW5nJ10+O1xufTtcblxuZXhwb3J0IHR5cGUgU3VwcGxlbWVudGFyeUJvb2tpbmdJbmZvID0ge1xuICBiYXNrZXRJdGVtOiBTY2FsYXJzWydJRCddO1xuICB1c2VySW5mbzogQXJyYXk8VXNlckluZm8+O1xuICBhZGRyZXNzPzogTWF5YmU8Qm9va2luZ0FkZHJlc3M+O1xuICBwaG9uZU51bWJlcj86IE1heWJlPEJvb2tpbmdQaG9uZU51bWJlcj47XG4gIHN1cHBsZW1lbnRhcnlJbmZvOiBTY2FsYXJzWydKU09OJ107XG4gIHBheW1lbnRNZXRob2REZXRhaWxzOiBTY2FsYXJzWydKU09OJ107XG59O1xuXG5leHBvcnQgdHlwZSBUbWMgPSB7XG4gIF9fdHlwZW5hbWU/OiAnVE1DJztcbiAgaWQ6IEZpZWxkV3JhcHBlcjxTY2FsYXJzWydJRCddPjtcbiAgbmFtZTogRmllbGRXcmFwcGVyPFNjYWxhcnNbJ1N0cmluZyddPjtcbn07XG5cbmV4cG9ydCB0eXBlIFRyYXZlbFJ1bGUgPSB7XG4gIF9fdHlwZW5hbWU/OiAnVHJhdmVsUnVsZSc7XG4gIGlkOiBGaWVsZFdyYXBwZXI8U2NhbGFyc1snSUQnXT47XG4gIG5hbWU6IEZpZWxkV3JhcHBlcjxTY2FsYXJzWydTdHJpbmcnXT47XG4gIGRlc2NyaXB0aW9uOiBGaWVsZFdyYXBwZXI8U2NhbGFyc1snU3RyaW5nJ10+O1xuICBhcHBsaWVzVG86IEZpZWxkV3JhcHBlcjxTZXJ2aWNlVHlwZT47XG4gIGFwcGxpY2F0aW9uU3RhZ2U6IEZpZWxkV3JhcHBlcjxBcHBsaWNhdGlvblN0YWdlPjtcbn07XG5cbmV4cG9ydCB0eXBlIFRyYXZlbFJ1bGVBcHBsaWVzVG8gPSB7XG4gIF9fdHlwZW5hbWU/OiAnVHJhdmVsUnVsZUFwcGxpZXNUbyc7XG4gIGZsaWdodD86IE1heWJlPEFycmF5PE1heWJlPEZpZWxkV3JhcHBlcjxUcmF2ZWxSdWxlPj4+PjtcbiAgcmFpbD86IE1heWJlPEFycmF5PE1heWJlPEZpZWxkV3JhcHBlcjxUcmF2ZWxSdWxlPj4+PjtcbiAgaG90ZWw/OiBNYXliZTxBcnJheTxNYXliZTxGaWVsZFdyYXBwZXI8VHJhdmVsUnVsZT4+Pj47XG4gIGNhcj86IE1heWJlPEFycmF5PE1heWJlPEZpZWxkV3JhcHBlcjxUcmF2ZWxSdWxlPj4+PjtcbiAgbG91bmdlPzogTWF5YmU8QXJyYXk8TWF5YmU8RmllbGRXcmFwcGVyPFRyYXZlbFJ1bGU+Pj4+O1xuICBmYXN0VHJhY2s/OiBNYXliZTxBcnJheTxNYXliZTxGaWVsZFdyYXBwZXI8VHJhdmVsUnVsZT4+Pj47XG4gIHBhcmtpbmc/OiBNYXliZTxBcnJheTxNYXliZTxGaWVsZFdyYXBwZXI8VHJhdmVsUnVsZT4+Pj47XG4gIGNhYj86IE1heWJlPEFycmF5PE1heWJlPEZpZWxkV3JhcHBlcjxUcmF2ZWxSdWxlPj4+PjtcbiAgY29hY2g/OiBNYXliZTxBcnJheTxNYXliZTxGaWVsZFdyYXBwZXI8VHJhdmVsUnVsZT4+Pj47XG59O1xuXG5leHBvcnQgdHlwZSBUcmF2ZWxSdWxlc0NvbGxlY3Rpb24gPSB7XG4gIF9fdHlwZW5hbWU/OiAnVHJhdmVsUnVsZXNDb2xsZWN0aW9uJztcbiAgdG1jOiBBcnJheTxGaWVsZFdyYXBwZXI8VHJhdmVsUnVsZT4+O1xuICBjb21wYW55OiBBcnJheTxGaWVsZFdyYXBwZXI8VHJhdmVsUnVsZT4+O1xuICBvZmZpY2VzOiBBcnJheTxGaWVsZFdyYXBwZXI8VHJhdmVsUnVsZT4+O1xuICBjb21wYW55R3JvdXBzOiBBcnJheTxGaWVsZFdyYXBwZXI8VHJhdmVsUnVsZT4+O1xuICB1c2VyOiBBcnJheTxGaWVsZFdyYXBwZXI8VHJhdmVsUnVsZT4+O1xuICBhbGw6IEFycmF5PEZpZWxkV3JhcHBlcjxUcmF2ZWxSdWxlPj47XG4gIGFwcGxpZXNUbz86IE1heWJlPEZpZWxkV3JhcHBlcjxUcmF2ZWxSdWxlQXBwbGllc1RvPj47XG59O1xuXG5leHBvcnQgdHlwZSBVaUNvbmZpZyA9IHtcbiAgX190eXBlbmFtZT86ICdVSUNvbmZpZyc7XG4gIGlkOiBGaWVsZFdyYXBwZXI8U2NhbGFyc1snSUQnXT47XG4gIG5hbWU6IEZpZWxkV3JhcHBlcjxTY2FsYXJzWydTdHJpbmcnXT47XG4gIHRhcmdldDogRmllbGRXcmFwcGVyPFVpQ29uZmlnVGFyZ2V0PjtcbiAgZGVzY3JpcHRpb24/OiBNYXliZTxGaWVsZFdyYXBwZXI8U2NhbGFyc1snU3RyaW5nJ10+PjtcbiAgY29uZmlnPzogTWF5YmU8RmllbGRXcmFwcGVyPFNjYWxhcnNbJ0pTT04nXT4+O1xuICBrZXk6IEZpZWxkV3JhcHBlcjxTY2FsYXJzWydTdHJpbmcnXT47XG59O1xuXG5leHBvcnQgdHlwZSBVaUNvbmZpZ0NvbGxlY3Rpb24gPSB7XG4gIF9fdHlwZW5hbWU/OiAnVUlDb25maWdDb2xsZWN0aW9uJztcbiAgdG1jOiBBcnJheTxGaWVsZFdyYXBwZXI8VWlDb25maWc+PjtcbiAgY29tcGFueTogQXJyYXk8RmllbGRXcmFwcGVyPFVpQ29uZmlnPj47XG4gIG9mZmljZTogQXJyYXk8RmllbGRXcmFwcGVyPFVpQ29uZmlnPj47XG4gIGNvbXBhbnlHcm91cDogQXJyYXk8RmllbGRXcmFwcGVyPFVpQ29uZmlnPj47XG4gIHVzZXI6IEFycmF5PEZpZWxkV3JhcHBlcjxVaUNvbmZpZz4+O1xuICBhbGw6IEFycmF5PEZpZWxkV3JhcHBlcjxVaUNvbmZpZz4+O1xufTtcblxuZXhwb3J0IGVudW0gVWlDb25maWdUYXJnZXQge1xuICBBbGwgPSAnQUxMJyxcbiAgTW9jayA9ICdNT0NLJyxcbiAgTGlnaHRuaW5nID0gJ0xJR0hUTklORycsXG4gIEFwcCA9ICdBUFAnXG59XG5cbmV4cG9ydCBlbnVtIFVpUHJlc2VudGF0aW9uIHtcbiAgRnJlZVRleHQgPSAnRlJFRV9URVhUJyxcbiAgQXV0b1N1Z2dlc3QgPSAnQVVUT19TVUdHRVNUJyxcbiAgSGlkZGVuID0gJ0hJRERFTidcbn1cblxuZXhwb3J0IHR5cGUgVXNlciA9IHtcbiAgX190eXBlbmFtZT86ICdVc2VyJztcbiAgaWQ6IEZpZWxkV3JhcHBlcjxTY2FsYXJzWydJRCddPjtcbiAgdGl0bGU6IEZpZWxkV3JhcHBlcjxTY2FsYXJzWydTdHJpbmcnXT47XG4gIGZvcmVuYW1lOiBGaWVsZFdyYXBwZXI8U2NhbGFyc1snU3RyaW5nJ10+O1xuICBzdXJuYW1lOiBGaWVsZFdyYXBwZXI8U2NhbGFyc1snU3RyaW5nJ10+O1xuICBlbWFpbDogRmllbGRXcmFwcGVyPFNjYWxhcnNbJ1N0cmluZyddPjtcbiAgdXNlcm5hbWU6IEZpZWxkV3JhcHBlcjxTY2FsYXJzWydTdHJpbmcnXT47XG4gIGVtcGxveWVlSWQ/OiBNYXliZTxGaWVsZFdyYXBwZXI8U2NhbGFyc1snU3RyaW5nJ10+PjtcbiAgY3JlYXRlZEF0OiBGaWVsZFdyYXBwZXI8U2NhbGFyc1snRGF0ZVRpbWUnXT47XG4gIHVwZGF0ZWRBdDogRmllbGRXcmFwcGVyPFNjYWxhcnNbJ0RhdGVUaW1lJ10+O1xuICBkb2I6IEZpZWxkV3JhcHBlcjxTY2FsYXJzWydEYXRlJ10+O1xuICBhZG1pbj86IE1heWJlPEZpZWxkV3JhcHBlcjxTY2FsYXJzWydCb29sZWFuJ10+PjtcbiAgdG1jQWRtaW4/OiBNYXliZTxGaWVsZFdyYXBwZXI8U2NhbGFyc1snQm9vbGVhbiddPj47XG4gIGNvbXBhbnlBZG1pbj86IE1heWJlPEZpZWxkV3JhcHBlcjxTY2FsYXJzWydCb29sZWFuJ10+PjtcbiAgYm9va2VyVHlwZTogRmllbGRXcmFwcGVyPEJvb2tlclR5cGU+O1xuICBhdXRoTWV0aG9kczogQXJyYXk8RmllbGRXcmFwcGVyPFNjYWxhcnNbJ1N0cmluZyddPj47XG4gIGFjdGl2ZTogRmllbGRXcmFwcGVyPFNjYWxhcnNbJ0Jvb2xlYW4nXT47XG4gIHBhc3N3b3JkTGFzdFVwZGF0ZWQ/OiBNYXliZTxGaWVsZFdyYXBwZXI8U2NhbGFyc1snRGF0ZVRpbWUnXT4+O1xuICBzZWxlY3RlZExhbmd1YWdlOiBGaWVsZFdyYXBwZXI8TGFuZ3VhZ2U+O1xuICBhdmFpbGFibGVMYW5ndWFnZXM6IEFycmF5PEZpZWxkV3JhcHBlcjxMYW5ndWFnZT4+O1xuICBwYXNzcG9ydHM6IEFycmF5PEZpZWxkV3JhcHBlcjxQYXNzcG9ydD4+O1xuICB0bWM6IEZpZWxkV3JhcHBlcjxUbWM+O1xuICBjb21wYW55OiBGaWVsZFdyYXBwZXI8Q29tcGFueT47XG4gIG9mZmljZTogRmllbGRXcmFwcGVyPE9mZmljZT47XG4gIGNvbXBhbnlHcm91cHM6IEFycmF5PEZpZWxkV3JhcHBlcjxDb21wYW55R3JvdXA+PjtcbiAgYWRkcmVzc2VzOiBBcnJheTxGaWVsZFdyYXBwZXI8QWRkcmVzcz4+O1xuICBwaG9uZU51bWJlcnM6IEFycmF5PEZpZWxkV3JhcHBlcjxQaG9uZU51bWJlcj4+O1xuICBhcHByb3ZlcnM6IEFycmF5PEZpZWxkV3JhcHBlcjxBcHByb3Zlcj4+O1xuICBhcHByb3ZlckZvcjogQXJyYXk8RmllbGRXcmFwcGVyPEFwcHJvdmVlPj47XG4gIGJvb2tlcnM6IEFycmF5PEZpZWxkV3JhcHBlcjxVc2VyPj47XG4gIGNhbkJvb2tGb3I6IEFycmF5PEZpZWxkV3JhcHBlcjxVc2VyPj47XG4gIGNvMkFsbG93YW5jZVBlcmlvZD86IE1heWJlPEZpZWxkV3JhcHBlcjxTY2FsYXJzWydTdHJpbmcnXT4+O1xuICBjbzJBbGxvd2FuY2VQZXJQZXJpb2Q/OiBNYXliZTxGaWVsZFdyYXBwZXI8U2NhbGFyc1snU3RyaW5nJ10+Pjtcbn07XG5cbmV4cG9ydCB0eXBlIFVzZXJJbmZvID0ge1xuICBpZDogU2NhbGFyc1snSUQnXTtcbiAgYWRkcmVzcz86IE1heWJlPEJvb2tpbmdBZGRyZXNzPjtcbiAgcGhvbmVOdW1iZXI/OiBNYXliZTxCb29raW5nUGhvbmVOdW1iZXI+O1xuICBzdXBwbGVtZW50YXJ5SW5mbzogU2NhbGFyc1snSlNPTiddO1xufTtcblxuZXhwb3J0IHR5cGUgVXNlclBhc3NlbmdlclR5cGUgPSB7XG4gIF9fdHlwZW5hbWU/OiAnVXNlclBhc3NlbmdlclR5cGUnO1xuICBpZDogRmllbGRXcmFwcGVyPFNjYWxhcnNbJ0lEJ10+O1xuICBwYXNzZW5nZXJUeXBlOiBGaWVsZFdyYXBwZXI8UGFzc2VuZ2VyVHlwZT47XG59O1xuXG5leHBvcnQgdHlwZSBVc2VyUGFzc2VuZ2VyVHlwZUlucHV0ID0ge1xuICBpZDogU2NhbGFyc1snSUQnXTtcbiAgcGFzc2VuZ2VyVHlwZTogUGFzc2VuZ2VyVHlwZTtcbn07XG5cbmV4cG9ydCB0eXBlIEFjY2VwdE5ld1ByaWNlTXV0YXRpb25WYXJpYWJsZXMgPSBFeGFjdDx7XG4gIGlkOiBTY2FsYXJzWydJRCddO1xuICB3aXRoU3VwcGxlbWVudGFsPzogTWF5YmU8U2NhbGFyc1snQm9vbGVhbiddPjtcbn0+O1xuXG5cbmV4cG9ydCB0eXBlIEFjY2VwdE5ld1ByaWNlTXV0YXRpb24gPSAoXG4gIHsgX190eXBlbmFtZT86ICdNdXRhdGlvbicgfVxuICAmIHsgYWNjZXB0TmV3UHJpY2U6IChcbiAgICB7IF9fdHlwZW5hbWU/OiAnQmFza2V0JyB9XG4gICAgJiBCYXNrZXRGaWVsZHNGcmFnbWVudFxuICApIH1cbik7XG5cbmV4cG9ydCB0eXBlIEFkZFVzZXJzVG9CYXNrZXRJdGVtTXV0YXRpb25WYXJpYWJsZXMgPSBFeGFjdDx7XG4gIGJhc2tldEl0ZW06IFNjYWxhcnNbJ0lEJ107XG4gIHVzZXJzOiBBcnJheTxVc2VyUGFzc2VuZ2VyVHlwZUlucHV0PiB8IFVzZXJQYXNzZW5nZXJUeXBlSW5wdXQ7XG4gIHdpdGhTdXBwbGVtZW50YWw6IFNjYWxhcnNbJ0Jvb2xlYW4nXTtcbn0+O1xuXG5cbmV4cG9ydCB0eXBlIEFkZFVzZXJzVG9CYXNrZXRJdGVtTXV0YXRpb24gPSAoXG4gIHsgX190eXBlbmFtZT86ICdNdXRhdGlvbicgfVxuICAmIHsgYWRkVXNlcnNUb0Jhc2tldEl0ZW06IChcbiAgICB7IF9fdHlwZW5hbWU/OiAnQmFza2V0JyB9XG4gICAgJiBCYXNrZXRGaWVsZHNGcmFnbWVudFxuICApIH1cbik7XG5cbmV4cG9ydCB0eXBlIFRyYXZlbGxlckZpZWxkc0ZyYWdtZW50ID0gKFxuICB7IF9fdHlwZW5hbWU/OiAnVXNlcicgfVxuICAmIFBpY2s8VXNlciwgJ2lkJyB8ICd0aXRsZScgfCAnZm9yZW5hbWUnIHwgJ3N1cm5hbWUnIHwgJ2VtYWlsJyB8ICd1c2VybmFtZScgfCAnZW1wbG95ZWVJZCc+XG4pO1xuXG5leHBvcnQgdHlwZSBPd25lckZpZWxkc0ZyYWdtZW50ID0gKFxuICB7IF9fdHlwZW5hbWU/OiAnVXNlcicgfVxuICAmIFBpY2s8VXNlciwgJ2lkJyB8ICd0aXRsZScgfCAnZm9yZW5hbWUnIHwgJ3N1cm5hbWUnIHwgJ2VtYWlsJz5cbik7XG5cbmV4cG9ydCB0eXBlIEJhc2tldEZpZWxkc0ZyYWdtZW50ID0gKFxuICB7IF9fdHlwZW5hbWU/OiAnQmFza2V0JyB9XG4gICYgUGljazxCYXNrZXQsICdpZCcgfCAncmVmZXJlbmNlJyB8ICd0aXRsZScgfCAnbm90ZXMnIHwgJ2NyZWF0ZWRBdCcgfCAndXBkYXRlZEF0JyB8ICdib29rZWRBdCcgfCAnc3RhdHVzJyB8ICd2YWxpZGF0ZWQnPlxuICAmIHsgb3duZXI6IChcbiAgICB7IF9fdHlwZW5hbWU/OiAnVXNlcicgfVxuICAgICYgT3duZXJGaWVsZHNGcmFnbWVudFxuICApLCBiYXNrZXRJdGVtczogQXJyYXk8KFxuICAgIHsgX190eXBlbmFtZT86ICdCYXNrZXRJdGVtJyB9XG4gICAgJiBNYWtlT3B0aW9uYWw8UGljazxCYXNrZXRJdGVtLCAnaWQnIHwgJ2FkdWx0cycgfCAnY2hpbGRyZW4nIHwgJ2luZmFudHMnIHwgJ2RldGFpbCcgfCAnZGV0YWlsSGFzaCcgfCAnY3JlYXRlZEF0JyB8ICd1cGRhdGVkQXQnIHwgJ2V4cGlyeScgfCAnZXhwaXJlZCcgfCAnc2VhcmNoUXVlcnknIHwgJ3ByaWNlJyB8ICdjdXJyZW5jeScgfCAnbWlHcm91cHNBdmFpbGFibGUnIHwgJ21pR3JvdXBTZWxlY3RlZCcgfCAndmFsaWRhdGVkJyB8ICdsYXRlc3RWYWxpZGF0aW9uJyB8ICdsYXRlc3RWYWxpZGF0aW9uUHJpY2UnIHwgJ2xhdGVzdFZhbGlkYXRpb25QcmljZURpZmZlcmVuY2UnIHwgJ2xhdGVzdFZhbGlkYXRpb25BdmFpbGFibGUnIHwgJ2Jvb2tpbmdUaGlyZFBhcnR5UmVmZXJlbmNlJyB8ICdwbnJMb2NhdG9yJyB8ICdzdGF0dXMnIHwgJ3Blckl0ZW1TdXBwbGVtZW50YXJ5Qm9va2luZ0luZm9TY2hlbWEnIHwgJ3BlclBhc3NlbmdlclN1cHBsZW1lbnRhcnlCb29raW5nSW5mb1NjaGVtYScgfCAncGVySXRlbUFkZHJlc3MnIHwgJ3Blckl0ZW1QaG9uZU51bWJlcicgfCAncGVyUGFzc2VuZ2VyQWRkcmVzcycgfCAncGVyUGFzc2VuZ2VyUGhvbmVOdW1iZXInIHwgJ2NhbmNlbGxhYmxlJyB8ICdhbWVuZGFibGUnIHwgJ2NvMlBlckl0ZW0nIHwgJ2NvMlBlclBhc3NlbmdlcicgfCAnb3V0Ym91bmREYXRlJyB8ICdpbmJvdW5kRGF0ZSc+LCAncGVySXRlbVN1cHBsZW1lbnRhcnlCb29raW5nSW5mb1NjaGVtYScgfCAncGVyUGFzc2VuZ2VyU3VwcGxlbWVudGFyeUJvb2tpbmdJbmZvU2NoZW1hJyB8ICdwZXJJdGVtQWRkcmVzcycgfCAncGVySXRlbVBob25lTnVtYmVyJyB8ICdwZXJQYXNzZW5nZXJBZGRyZXNzJyB8ICdwZXJQYXNzZW5nZXJQaG9uZU51bWJlcic+XG4gICAgJiB7IGF2YWlsYWJsZVBheW1lbnRNZXRob2RzOiBBcnJheTwoXG4gICAgICB7IF9fdHlwZW5hbWU/OiAnUGF5bWVudE1ldGhvZCcgfVxuICAgICAgJiBQaWNrPFBheW1lbnRNZXRob2QsICdpZCcgfCAnbmFtZScgfCAnZGVzY3JpcHRpb24nPlxuICAgICk+LCBzZWxlY3RlZFBheW1lbnRNZXRob2Q/OiBNYXliZTwoXG4gICAgICB7IF9fdHlwZW5hbWU/OiAnUGF5bWVudE1ldGhvZCcgfVxuICAgICAgJiBQaWNrPFBheW1lbnRNZXRob2QsICdpZCcgfCAnbmFtZScgfCAnZGVzY3JpcHRpb24nPlxuICAgICk+LCBzZXJ2aWNlOiAoXG4gICAgICB7IF9fdHlwZW5hbWU/OiAnU2VydmljZScgfVxuICAgICAgJiBQaWNrPFNlcnZpY2UsICdpZCcgfCAndHlwZSc+XG4gICAgKSwgdXNlcnM6IEFycmF5PChcbiAgICAgIHsgX190eXBlbmFtZT86ICdVc2VyJyB9XG4gICAgICAmIFRyYXZlbGxlckZpZWxkc0ZyYWdtZW50XG4gICAgKT4sIHVzZXJQYXNzZW5nZXJUeXBlczogQXJyYXk8KFxuICAgICAgeyBfX3R5cGVuYW1lPzogJ1VzZXJQYXNzZW5nZXJUeXBlJyB9XG4gICAgICAmIFBpY2s8VXNlclBhc3NlbmdlclR5cGUsICdpZCcgfCAncGFzc2VuZ2VyVHlwZSc+XG4gICAgKT4sIGxlYWRQYXNzZW5nZXI/OiBNYXliZTwoXG4gICAgICB7IF9fdHlwZW5hbWU/OiAnVXNlcicgfVxuICAgICAgJiBUcmF2ZWxsZXJGaWVsZHNGcmFnbWVudFxuICAgICk+LCBtYW5hZ2VtZW50SW5mbzogQXJyYXk8KFxuICAgICAgeyBfX3R5cGVuYW1lPzogJ01hbmFnZW1lbnRJbmZvJyB9XG4gICAgICAmIFBpY2s8TWFuYWdlbWVudEluZm8sICdpZCcgfCAnZGJJZCcgfCAnbmFtZScgfCAnZGVzY3JpcHRpb24nIHwgJ2hhbmRvZmYnIHwgJ3ZhbHVlTWFzaycgfCAndWlQcmVzZW50YXRpb24nIHwgJ21hbmRhdG9yeScgfCAncGVyUGFzc2VuZ2VyJyB8ICdwZXJCb29raW5nJyB8ICdhZ2VudE9ubHknIHwgJ2NyZWF0ZWRBdCcgfCAndXBkYXRlZEF0JyB8ICdmaXhlZCcgfCAnZ3JvdXAnPlxuICAgICAgJiB7IGZpeGVkVmFsdWU/OiBNYXliZTwoXG4gICAgICAgIHsgX190eXBlbmFtZT86ICdNYW5hZ2VtZW50SW5mb1ZhbHVlJyB9XG4gICAgICAgICYgUGljazxNYW5hZ2VtZW50SW5mb1ZhbHVlLCAnaWQnIHwgJ2xhYmVsJyB8ICd2YWx1ZScgfCAnZGVmYXVsdCcgfCAnZml4ZWQnIHwgJ2FnZW50T25seSc+XG4gICAgICApPiwgZGVmYXVsdFZhbHVlPzogTWF5YmU8KFxuICAgICAgICB7IF9fdHlwZW5hbWU/OiAnTWFuYWdlbWVudEluZm9WYWx1ZScgfVxuICAgICAgICAmIFBpY2s8TWFuYWdlbWVudEluZm9WYWx1ZSwgJ2lkJyB8ICdsYWJlbCcgfCAndmFsdWUnIHwgJ2RlZmF1bHQnIHwgJ2ZpeGVkJyB8ICdhZ2VudE9ubHknPlxuICAgICAgKT4sIHZhbHVlczogQXJyYXk8KFxuICAgICAgICB7IF9fdHlwZW5hbWU/OiAnTWFuYWdlbWVudEluZm9WYWx1ZScgfVxuICAgICAgICAmIFBpY2s8TWFuYWdlbWVudEluZm9WYWx1ZSwgJ2lkJyB8ICdsYWJlbCcgfCAndmFsdWUnIHwgJ2RlZmF1bHQnIHwgJ2ZpeGVkJyB8ICdhZ2VudE9ubHknPlxuICAgICAgKT4sIHNlbGVjdGVkVmFsdWVzOiBBcnJheTwoXG4gICAgICAgIHsgX190eXBlbmFtZT86ICdTZWxlY3RlZE1hbmFnZW1lbnRJbmZvVmFsdWUnIH1cbiAgICAgICAgJiBQaWNrPFNlbGVjdGVkTWFuYWdlbWVudEluZm9WYWx1ZSwgJ2ZyZWVWYWx1ZScgfCAnYmFza2V0TGV2ZWxWYWx1ZScgfCAndXNlckxldmVsVmFsdWUnPlxuICAgICAgICAmIHsgdmFsdWU/OiBNYXliZTwoXG4gICAgICAgICAgeyBfX3R5cGVuYW1lPzogJ01hbmFnZW1lbnRJbmZvVmFsdWUnIH1cbiAgICAgICAgICAmIFBpY2s8TWFuYWdlbWVudEluZm9WYWx1ZSwgJ2lkJyB8ICdsYWJlbCcgfCAndmFsdWUnIHwgJ2RlZmF1bHQnIHwgJ2ZpeGVkJyB8ICdhZ2VudE9ubHknPlxuICAgICAgICApPiwgdXNlcj86IE1heWJlPChcbiAgICAgICAgICB7IF9fdHlwZW5hbWU/OiAnVXNlcicgfVxuICAgICAgICAgICYgUGljazxVc2VyLCAnaWQnIHwgJ3RpdGxlJyB8ICdmb3JlbmFtZScgfCAnc3VybmFtZScgfCAnZW1haWwnIHwgJ3VzZXJuYW1lJyB8ICdlbXBsb3llZUlkJyB8ICdjcmVhdGVkQXQnIHwgJ3VwZGF0ZWRBdCcgfCAnZG9iJyB8ICdhZG1pbicgfCAnY29tcGFueUFkbWluJyB8ICdib29rZXJUeXBlJyB8ICdhdXRoTWV0aG9kcycgfCAnYWN0aXZlJyB8ICdwYXNzd29yZExhc3RVcGRhdGVkJz5cbiAgICAgICAgKT4gfVxuICAgICAgKT4gfVxuICAgICk+IH1cbiAgKT4sIGNvbXBhbnlHcm91cD86IE1heWJlPChcbiAgICB7IF9fdHlwZW5hbWU/OiAnQ29tcGFueUdyb3VwJyB9XG4gICAgJiBQaWNrPENvbXBhbnlHcm91cCwgJ2lkJyB8ICduYW1lJyB8ICdkZXNjcmlwdGlvbicgfCAnY3JlYXRlZEF0JyB8ICd1cGRhdGVkQXQnPlxuICApPiB9XG4pO1xuXG5leHBvcnQgdHlwZSBHZXRVc2VyQmFza2V0c1F1ZXJ5VmFyaWFibGVzID0gRXhhY3Q8e1xuICB1c2VyPzogTWF5YmU8U2NhbGFyc1snSUQnXT47XG4gIHRyYXZlbGxlcj86IE1heWJlPFNjYWxhcnNbJ0lEJ10+O1xuICBiYXNrZXRTdGF0dXM/OiBNYXliZTxCYXNrZXRTdGF0dXM+O1xuICBjcmVhdGVkQWZ0ZXI/OiBNYXliZTxTY2FsYXJzWydEYXRlVGltZSddPjtcbiAgY3JlYXRlZEJlZm9yZT86IE1heWJlPFNjYWxhcnNbJ0RhdGVUaW1lJ10+O1xuICBib29rZWRBZnRlcj86IE1heWJlPFNjYWxhcnNbJ0RhdGVUaW1lJ10+O1xuICBib29rZWRCZWZvcmU/OiBNYXliZTxTY2FsYXJzWydEYXRlVGltZSddPjtcbiAgZGF0ZU9mVHJhdmVsQmVmb3JlPzogTWF5YmU8U2NhbGFyc1snRGF0ZVRpbWUnXT47XG4gIGRhdGVPZlRyYXZlbEFmdGVyPzogTWF5YmU8U2NhbGFyc1snRGF0ZVRpbWUnXT47XG4gIGJhc2tldEl0ZW1Cb29raW5nUmVmZXJlbmNlPzogTWF5YmU8U2NhbGFyc1snU3RyaW5nJ10+O1xuICBiYXNrZXRSZWZlcmVuY2U/OiBNYXliZTxTY2FsYXJzWydTdHJpbmcnXT47XG4gIGJhc2tldFRpdGxlPzogTWF5YmU8U2NhbGFyc1snU3RyaW5nJ10+O1xuICB3aXRoU3VwcGxlbWVudGFsPzogTWF5YmU8U2NhbGFyc1snQm9vbGVhbiddPjtcbn0+O1xuXG5cbmV4cG9ydCB0eXBlIEdldFVzZXJCYXNrZXRzUXVlcnkgPSAoXG4gIHsgX190eXBlbmFtZT86ICdRdWVyeScgfVxuICAmIHsgZ2V0VXNlckJhc2tldHM6IEFycmF5PChcbiAgICB7IF9fdHlwZW5hbWU/OiAnQmFza2V0JyB9XG4gICAgJiBCYXNrZXRGaWVsZHNGcmFnbWVudFxuICApPiB9XG4pO1xuXG5leHBvcnQgdHlwZSBEZWxldGVCYXNrZXRNdXRhdGlvblZhcmlhYmxlcyA9IEV4YWN0PHtcbiAgaWQ/OiBNYXliZTxTY2FsYXJzWydJRCddPjtcbiAgcmVmZXJlbmNlPzogTWF5YmU8U2NhbGFyc1snU3RyaW5nJ10+O1xufT47XG5cblxuZXhwb3J0IHR5cGUgRGVsZXRlQmFza2V0TXV0YXRpb24gPSAoXG4gIHsgX190eXBlbmFtZT86ICdNdXRhdGlvbicgfVxuICAmIFBpY2s8TXV0YXRpb24sICdkZWxldGVCYXNrZXQnPlxuKTtcblxuZXhwb3J0IHR5cGUgQ3JlYXRlQmFza2V0TXV0YXRpb25WYXJpYWJsZXMgPSBFeGFjdDx7XG4gIHRpdGxlPzogTWF5YmU8U2NhbGFyc1snU3RyaW5nJ10+O1xuICB3aXRoU3VwcGxlbWVudGFsPzogTWF5YmU8U2NhbGFyc1snQm9vbGVhbiddPjtcbn0+O1xuXG5cbmV4cG9ydCB0eXBlIENyZWF0ZUJhc2tldE11dGF0aW9uID0gKFxuICB7IF9fdHlwZW5hbWU/OiAnTXV0YXRpb24nIH1cbiAgJiB7IGNyZWF0ZUJhc2tldDogKFxuICAgIHsgX190eXBlbmFtZT86ICdCYXNrZXQnIH1cbiAgICAmIEJhc2tldEZpZWxkc0ZyYWdtZW50XG4gICkgfVxuKTtcblxuZXhwb3J0IHR5cGUgUmVtb3ZlSXRlbUZyb21CYXNrZXRNdXRhdGlvblZhcmlhYmxlcyA9IEV4YWN0PHtcbiAgYmFza2V0SXRlbTogU2NhbGFyc1snSUQnXTtcbiAgd2l0aFN1cHBsZW1lbnRhbD86IE1heWJlPFNjYWxhcnNbJ0Jvb2xlYW4nXT47XG59PjtcblxuXG5leHBvcnQgdHlwZSBSZW1vdmVJdGVtRnJvbUJhc2tldE11dGF0aW9uID0gKFxuICB7IF9fdHlwZW5hbWU/OiAnTXV0YXRpb24nIH1cbiAgJiB7IHJlbW92ZUl0ZW1Gcm9tQmFza2V0OiAoXG4gICAgeyBfX3R5cGVuYW1lPzogJ0Jhc2tldCcgfVxuICAgICYgQmFza2V0RmllbGRzRnJhZ21lbnRcbiAgKSB9XG4pO1xuXG5leHBvcnQgdHlwZSBTZW5kQmFza2V0Rm9yQXBwcm92YWxNdXRhdGlvblZhcmlhYmxlcyA9IEV4YWN0PHtcbiAgYmFza2V0OiBTY2FsYXJzWydJRCddO1xuICB3aXRoU3VwcGxlbWVudGFsPzogTWF5YmU8U2NhbGFyc1snQm9vbGVhbiddPjtcbn0+O1xuXG5cbmV4cG9ydCB0eXBlIFNlbmRCYXNrZXRGb3JBcHByb3ZhbE11dGF0aW9uID0gKFxuICB7IF9fdHlwZW5hbWU/OiAnTXV0YXRpb24nIH1cbiAgJiB7IHNlbmRCYXNrZXRGb3JBcHByb3ZhbDogKFxuICAgIHsgX190eXBlbmFtZT86ICdCYXNrZXQnIH1cbiAgICAmIEJhc2tldEZpZWxkc0ZyYWdtZW50XG4gICkgfVxuKTtcblxuZXhwb3J0IHR5cGUgQWRkSXRlbVRvQmFza2V0TXV0YXRpb25WYXJpYWJsZXMgPSBFeGFjdDx7XG4gIGJhc2tldD86IE1heWJlPFNjYWxhcnNbJ0lEJ10+O1xuICBzZXJ2aWNlOiBTY2FsYXJzWydJRCddO1xuICBkZXRhaWw6IFNjYWxhcnNbJ0pTT04nXTtcbiAgYWR1bHRzOiBTY2FsYXJzWydJbnQnXTtcbiAgY2hpbGRyZW4/OiBNYXliZTxTY2FsYXJzWydJbnQnXT47XG4gIGluZmFudHM/OiBNYXliZTxTY2FsYXJzWydJbnQnXT47XG4gIHByaWNlOiBTY2FsYXJzWydGbG9hdCddO1xuICBjdXJyZW5jeTogQ3VycmVuY3lDb2RlO1xuICBzZWFyY2hRdWVyeTogU2NhbGFyc1snSlNPTiddO1xuICBxdWlja0FkZD86IE1heWJlPFNjYWxhcnNbJ0Jvb2xlYW4nXT47XG4gIHVzZXJzPzogTWF5YmU8QXJyYXk8TWF5YmU8VXNlclBhc3NlbmdlclR5cGVJbnB1dD4+IHwgTWF5YmU8VXNlclBhc3NlbmdlclR5cGVJbnB1dD4+O1xuICBsZWFkUGFzc2VuZ2VyPzogTWF5YmU8U2NhbGFyc1snSUQnXT47XG4gIGNvMlBlckl0ZW0/OiBNYXliZTxTY2FsYXJzWydGbG9hdCddPjtcbiAgY28yUGVyUGFzc2VuZ2VyPzogTWF5YmU8U2NhbGFyc1snRmxvYXQnXT47XG4gIG91dGJvdW5kRGF0ZTogU2NhbGFyc1snRGF0ZVRpbWUnXTtcbiAgaW5ib3VuZERhdGU/OiBNYXliZTxTY2FsYXJzWydEYXRlVGltZSddPjtcbiAgd2l0aFN1cHBsZW1lbnRhbD86IE1heWJlPFNjYWxhcnNbJ0Jvb2xlYW4nXT47XG59PjtcblxuXG5leHBvcnQgdHlwZSBBZGRJdGVtVG9CYXNrZXRNdXRhdGlvbiA9IChcbiAgeyBfX3R5cGVuYW1lPzogJ011dGF0aW9uJyB9XG4gICYgeyBhZGRJdGVtVG9CYXNrZXQ6IChcbiAgICB7IF9fdHlwZW5hbWU/OiAnQmFza2V0JyB9XG4gICAgJiBCYXNrZXRGaWVsZHNGcmFnbWVudFxuICApIH1cbik7XG5cbmV4cG9ydCB0eXBlIEdldFVzZXJCYXNrZXRRdWVyeVZhcmlhYmxlcyA9IEV4YWN0PHtcbiAgaWQ6IFNjYWxhcnNbJ0lEJ107XG4gIHdpdGhTdXBwbGVtZW50YWw/OiBNYXliZTxTY2FsYXJzWydCb29sZWFuJ10+O1xufT47XG5cblxuZXhwb3J0IHR5cGUgR2V0VXNlckJhc2tldFF1ZXJ5ID0gKFxuICB7IF9fdHlwZW5hbWU/OiAnUXVlcnknIH1cbiAgJiB7IGdldFVzZXJCYXNrZXQ6IChcbiAgICB7IF9fdHlwZW5hbWU/OiAnQmFza2V0JyB9XG4gICAgJiBCYXNrZXRGaWVsZHNGcmFnbWVudFxuICApIH1cbik7XG5cbmV4cG9ydCB0eXBlIFJldmFsaWRhdGVCYXNrZXRNdXRhdGlvblZhcmlhYmxlcyA9IEV4YWN0PHtcbiAgaWQ6IFNjYWxhcnNbJ0lEJ107XG4gIHdpdGhTdXBwbGVtZW50YWw/OiBNYXliZTxTY2FsYXJzWydCb29sZWFuJ10+O1xufT47XG5cblxuZXhwb3J0IHR5cGUgUmV2YWxpZGF0ZUJhc2tldE11dGF0aW9uID0gKFxuICB7IF9fdHlwZW5hbWU/OiAnTXV0YXRpb24nIH1cbiAgJiB7IHJldmFsaWRhdGVCYXNrZXQ6IChcbiAgICB7IF9fdHlwZW5hbWU/OiAnQmFza2V0JyB9XG4gICAgJiBCYXNrZXRGaWVsZHNGcmFnbWVudFxuICApIH1cbik7XG5cbmV4cG9ydCB0eXBlIEJvb2tCYXNrZXRNdXRhdGlvblZhcmlhYmxlcyA9IEV4YWN0PHtcbiAgaWQ6IFNjYWxhcnNbJ0lEJ107XG4gIHN1cHBsZW1lbnRhcnlJbmZvOiBBcnJheTxTdXBwbGVtZW50YXJ5Qm9va2luZ0luZm8+IHwgU3VwcGxlbWVudGFyeUJvb2tpbmdJbmZvO1xuICB3aXRoU3VwcGxlbWVudGFsPzogTWF5YmU8U2NhbGFyc1snQm9vbGVhbiddPjtcbn0+O1xuXG5cbmV4cG9ydCB0eXBlIEJvb2tCYXNrZXRNdXRhdGlvbiA9IChcbiAgeyBfX3R5cGVuYW1lPzogJ011dGF0aW9uJyB9XG4gICYgeyBib29rQmFza2V0OiAoXG4gICAgeyBfX3R5cGVuYW1lPzogJ0Jhc2tldCcgfVxuICAgICYgQmFza2V0RmllbGRzRnJhZ21lbnRcbiAgKSB9XG4pO1xuXG5leHBvcnQgdHlwZSBTZWFyY2hDYWJIaXJlUXVlcnlWYXJpYWJsZXMgPSBFeGFjdDx7XG4gIGRlcGFydHM6IFNjYWxhcnNbJ0RhdGVUaW1lJ107XG4gIGZyb21Mb2NhdGlvbjogQ2FiSGlyZUxvY2F0aW9uSW5wdXQ7XG4gIHRvTG9jYXRpb246IENhYkhpcmVMb2NhdGlvbklucHV0O1xuICBhZHVsdHM6IFNjYWxhcnNbJ0ludCddO1xuICBjaGlsZHJlbj86IE1heWJlPFNjYWxhcnNbJ0ludCddPjtcbiAgaW5mYW50cz86IE1heWJlPFNjYWxhcnNbJ0ludCddPjtcbiAgdmlhcz86IE1heWJlPEFycmF5PE1heWJlPENhYkhpcmVMb2NhdGlvbklucHV0Pj4gfCBNYXliZTxDYWJIaXJlTG9jYXRpb25JbnB1dD4+O1xuICB2ZWhpY2xlVHlwZT86IE1heWJlPENhYkhpcmVWZWhpY2xlVHlwZT47XG59PjtcblxuXG5leHBvcnQgdHlwZSBTZWFyY2hDYWJIaXJlUXVlcnkgPSAoXG4gIHsgX190eXBlbmFtZT86ICdRdWVyeScgfVxuICAmIHsgc2VhcmNoQ2FiSGlyZTogKFxuICAgIHsgX190eXBlbmFtZT86ICdDYWJIaXJlUmVzdWx0JyB9XG4gICAgJiB7IHJlc3VsdHM6IEFycmF5PChcbiAgICAgIHsgX190eXBlbmFtZT86ICdDYWJIaXJlUXVvdGUnIH1cbiAgICAgICYgUGljazxDYWJIaXJlUXVvdGUsICdpZCcgfCAnc291cmNlJyB8ICdzb3VyY2VJZCcgfCAnc3VwcGxpZXJOYW1lJyB8ICdlc3RpbWF0ZWRDTzInIHwgJ2NvMlBlckl0ZW0nIHwgJ2NvMlBlclBhc3NlbmdlcicgfCAncHJpY2UnIHwgJ2N1cnJlbmN5JyB8ICd2ZWhpY2xlVHlwZScgfCAndHJpcERpc3RhbmNlTWV0cmVzJyB8ICd0cmlwRHVyYXRpb25TZWNvbmRzJyB8ICdkZXBhcnRzJyB8ICd0bWNQcmVmZXJyZWQnIHwgJ2NvbXBhbnlQcmVmZXJyZWQnIHwgJ29mZmljZVByZWZlcnJlZCcgfCAndG1jUHJlZmVycmVkTWVzc2FnZScgfCAnY29tcGFueVByZWZlcnJlZE1lc3NhZ2UnIHwgJ29mZmljZVByZWZlcnJlZE1lc3NhZ2UnIHwgJ3VuYXZhaWxhYmxlJyB8ICd1bmF2YWlsYWJsZU1lc3NhZ2UnPlxuICAgICAgJiB7IGZyb21Mb2NhdGlvbjogKFxuICAgICAgICB7IF9fdHlwZW5hbWU/OiAnQ2FiSGlyZUxvY2F0aW9uJyB9XG4gICAgICAgICYgUGljazxDYWJIaXJlTG9jYXRpb24sICdhZGRyZXNzJyB8ICdwb3N0Y29kZScgfCAnbGF0aXR1ZGUnIHwgJ2xvbmdpdHVkZSc+XG4gICAgICApLCB0b0xvY2F0aW9uOiAoXG4gICAgICAgIHsgX190eXBlbmFtZT86ICdDYWJIaXJlTG9jYXRpb24nIH1cbiAgICAgICAgJiBQaWNrPENhYkhpcmVMb2NhdGlvbiwgJ2FkZHJlc3MnIHwgJ3Bvc3Rjb2RlJyB8ICdsYXRpdHVkZScgfCAnbG9uZ2l0dWRlJz5cbiAgICAgICksIHZpYXM6IEFycmF5PChcbiAgICAgICAgeyBfX3R5cGVuYW1lPzogJ0NhYkhpcmVMb2NhdGlvbicgfVxuICAgICAgICAmIFBpY2s8Q2FiSGlyZUxvY2F0aW9uLCAnYWRkcmVzcycgfCAncG9zdGNvZGUnIHwgJ2xhdGl0dWRlJyB8ICdsb25naXR1ZGUnPlxuICAgICAgKT4gfVxuICAgICk+LCBlcnJvcnM6IEFycmF5PChcbiAgICAgIHsgX190eXBlbmFtZT86ICdTZWFyY2hFcnJvcicgfVxuICAgICAgJiBFcnJvcnNGcmFnbWVudFxuICAgICk+IH1cbiAgKSB9XG4pO1xuXG5leHBvcnQgdHlwZSBDYXJIaXJlQXZhaWxhYmlsaXR5RGV0YWlsUmVxdWVzdFF1ZXJ5VmFyaWFibGVzID0gRXhhY3Q8e1xuICBsb2NhdGlvbkRldGFpbHM6IENhckhpcmVJbnB1dElkZW50aWZpZXJzO1xufT47XG5cblxuZXhwb3J0IHR5cGUgQ2FySGlyZUF2YWlsYWJpbGl0eURldGFpbFJlcXVlc3RRdWVyeSA9IChcbiAgeyBfX3R5cGVuYW1lPzogJ1F1ZXJ5JyB9XG4gICYgeyBjYXJIaXJlQXZhaWxhYmlsaXR5RGV0YWlsUmVxdWVzdDogKFxuICAgIHsgX190eXBlbmFtZT86ICdDYXJIaXJlRGV0YWlsUmVxdWVzdFJlc3BvbnNlJyB9XG4gICAgJiB7IGlkZW50aWZpZXJzPzogTWF5YmU8KFxuICAgICAgeyBfX3R5cGVuYW1lPzogJ0NhckhpcmVJZGVudGlmaWVycycgfVxuICAgICAgJiBQaWNrPENhckhpcmVJZGVudGlmaWVycywgJ2xvY2F0b3InIHwgJ3JwaCcgfCAnc3RhdHVzJyB8ICd2ZWhUeXBlJyB8ICdsb2NhdGlvbkNvZGUnIHwgJ2V4dGVuZGVkTG9jYXRpb25Db2RlJyB8ICdsb2NhdGlvbk5hbWUnIHwgJ2Ryb3BPZmZMb2NhdGlvbicgfCAncGlja3VwRGF0ZVRpbWUnIHwgJ2Ryb3BvZmZEYXRlVGltZScgfCAndmVuZG9yJz5cbiAgICApPiwgdmVuZG9yPzogTWF5YmU8KFxuICAgICAgeyBfX3R5cGVuYW1lPzogJ0NhckhpcmVWZW5kb3InIH1cbiAgICAgICYgUGljazxDYXJIaXJlVmVuZG9yLCAnbmFtZScgfCAnbG9nbyc+XG4gICAgKT4sIGFkZHJlc3M/OiBNYXliZTwoXG4gICAgICB7IF9fdHlwZW5hbWU/OiAnQ2FySGlyZUFkZHJlc3MnIH1cbiAgICAgICYgUGljazxDYXJIaXJlQWRkcmVzcywgJ25hbWUnIHwgJ3RvcExpbmUnIHwgJ2NpdHknIHwgJ3JlZ2lvbicgfCAncG9zdENvZGUnIHwgJ2NvdW50cnknIHwgJ2NvdW50cnlDb2RlJyB8ICdzdGF0ZUNvZGUnIHwgJ2xhdGl0dWRlJyB8ICdsb25naXR1ZGUnPlxuICAgICk+LCBhZGRpdGlvbmFsSW5mbz86IE1heWJlPEFycmF5PChcbiAgICAgIHsgX190eXBlbmFtZT86ICdDYXJIaXJlQWRkaXRpb25hbEluZm9JdGVtJyB9XG4gICAgICAmIFBpY2s8Q2FySGlyZUFkZGl0aW9uYWxJbmZvSXRlbSwgJ25hbWUnIHwgJ3RleHQnIHwgJ2pzb24nPlxuICAgICAgJiB7IGN1c3RvbT86IE1heWJlPEFycmF5PE1heWJlPChcbiAgICAgICAgeyBfX3R5cGVuYW1lPzogJ0NhckhpcmVDdXN0b20nIH1cbiAgICAgICAgJiBQaWNrPENhckhpcmVDdXN0b20sICduYW1lJyB8ICd0ZXh0Jz5cbiAgICAgICk+Pj4gfVxuICAgICk+PiB9XG4gICkgfVxuKTtcblxuZXhwb3J0IHR5cGUgU2VhcmNoQ2FySGlyZVF1ZXJ5VmFyaWFibGVzID0gRXhhY3Q8e1xuICBhaXJwb3J0PzogTWF5YmU8Q2FySGlyZUFpcnBvcnRJbnB1dD47XG4gIGNpdHk/OiBNYXliZTxDYXJIaXJlQ2l0eUlucHV0PjtcbiAgbG9jYXRpb24/OiBNYXliZTxDYXJIaXJlTG9jYXRpb25JbnB1dD47XG4gIGRlcG90PzogTWF5YmU8SW5wdXRDYXJIaXJlRGVwb3Q+O1xuICBwaWNrdXBEYXRlVGltZTogU2NhbGFyc1snRGF0ZVRpbWUnXTtcbiAgZHJvcG9mZkRhdGVUaW1lOiBTY2FsYXJzWydEYXRlVGltZSddO1xuICB2ZW5kb3I/OiBNYXliZTxTY2FsYXJzWydTdHJpbmcnXT47XG4gIGNsYXNzPzogTWF5YmU8Q2FySGlyZUNsYXNzPjtcbiAgdHlwZT86IE1heWJlPENhckhpcmVUeXBlPjtcbiAgdHJhbnNtaXNzaW9uPzogTWF5YmU8Q2FySGlyZVRyYW5zbWlzc2lvbj47XG4gIGFpcmNvbj86IE1heWJlPFNjYWxhcnNbJ0Jvb2xlYW4nXT47XG4gIGVzdGltYXRlZERhaWx5RGlzdGFuY2U/OiBNYXliZTxTY2FsYXJzWydGbG9hdCddPjtcbiAgZXN0aW1hdGVkRGFpbHlEaXN0YW5jZVVuaXRzPzogTWF5YmU8RGlzdGFuY2VUeXBlcz47XG59PjtcblxuXG5leHBvcnQgdHlwZSBTZWFyY2hDYXJIaXJlUXVlcnkgPSAoXG4gIHsgX190eXBlbmFtZT86ICdRdWVyeScgfVxuICAmIHsgc2VhcmNoQ2FySGlyZTogKFxuICAgIHsgX190eXBlbmFtZT86ICdDYXJIaXJlUmVzdWx0JyB9XG4gICAgJiB7IHJlc3VsdHM6IEFycmF5PChcbiAgICAgIHsgX190eXBlbmFtZT86ICdDYXJIaXJlVmVoaWNsZUF2YWlsaWJpbGl0eScgfVxuICAgICAgJiBQaWNrPENhckhpcmVWZWhpY2xlQXZhaWxpYmlsaXR5LCAnc291cmNlJyB8ICdzb3VyY2VJZCcgfCAndG1jUHJlZmVycmVkJyB8ICdjb21wYW55UHJlZmVycmVkJyB8ICdvZmZpY2VQcmVmZXJyZWQnIHwgJ3RtY1ByZWZlcnJlZE1lc3NhZ2UnIHwgJ2NvbXBhbnlQcmVmZXJyZWRNZXNzYWdlJyB8ICdvZmZpY2VQcmVmZXJyZWRNZXNzYWdlJyB8ICd1bmF2YWlsYWJsZScgfCAndW5hdmFpbGFibGVNZXNzYWdlJyB8ICdjbzJQZXJQYXNzZW5nZXInIHwgJ2NvMlBlckl0ZW0nPlxuICAgICAgJiB7IGlkZW50aWZpZXJzPzogTWF5YmU8KFxuICAgICAgICB7IF9fdHlwZW5hbWU/OiAnQ2FySGlyZUlkZW50aWZpZXJzJyB9XG4gICAgICAgICYgUGljazxDYXJIaXJlSWRlbnRpZmllcnMsICdsb2NhdG9yJyB8ICdycGgnIHwgJ3N0YXR1cycgfCAndmVoVHlwZScgfCAnbG9jYXRpb25Db2RlJyB8ICdleHRlbmRlZExvY2F0aW9uQ29kZScgfCAnbG9jYXRpb25OYW1lJyB8ICdkcm9wT2ZmTG9jYXRpb24nIHwgJ3BpY2t1cERhdGVUaW1lJyB8ICdkcm9wb2ZmRGF0ZVRpbWUnIHwgJ3ZlbmRvcic+XG4gICAgICApPiwgZGlzcGxheVJlY29yZD86IE1heWJlPChcbiAgICAgICAgeyBfX3R5cGVuYW1lPzogJ0NhckhpcmVEaXNwbGF5UmVjb3JkJyB9XG4gICAgICAgICYgUGljazxDYXJIaXJlRGlzcGxheVJlY29yZCwgJ3N0YXR1cycgfCAncGlja3VwJyB8ICdkcm9wb2ZmJz5cbiAgICAgICAgJiB7IHZlbmRvcj86IE1heWJlPChcbiAgICAgICAgICB7IF9fdHlwZW5hbWU/OiAnQ2FySGlyZVZlbmRvcicgfVxuICAgICAgICAgICYgUGljazxDYXJIaXJlVmVuZG9yLCAnbmFtZScgfCAnbG9nbyc+XG4gICAgICAgICk+LCB2ZWhpY2xlPzogTWF5YmU8KFxuICAgICAgICAgIHsgX190eXBlbmFtZT86ICdDYXJIaXJlVmVoaWNsZScgfVxuICAgICAgICAgICYgUGljazxDYXJIaXJlVmVoaWNsZSwgJ2NsYXNzJyB8ICd0eXBlJyB8ICd0cmFuc21pc3Npb24nIHwgJ2FpcmNvbicgfCAnZGVzY3JpcHRpb24nIHwgJ2ltYWdlcyc+XG4gICAgICAgICk+LCBjaGFyZ2VzPzogTWF5YmU8QXJyYXk8TWF5YmU8KFxuICAgICAgICAgIHsgX190eXBlbmFtZT86ICdDYXJIaXJlQ2hhcmdlJyB9XG4gICAgICAgICAgJiBQaWNrPENhckhpcmVDaGFyZ2UsICdsYWJlbCcgfCAnYW1vdW50JyB8ICdjdXJyZW5jeUNvZGUnPlxuICAgICAgICApPj4+LCBwaWNrdXBMb2NhdGlvbj86IE1heWJlPChcbiAgICAgICAgICB7IF9fdHlwZW5hbWU/OiAnQ2FySGlyZUFkZHJlc3MnIH1cbiAgICAgICAgICAmIFBpY2s8Q2FySGlyZUFkZHJlc3MsICduYW1lJyB8ICd0b3BMaW5lJyB8ICdjaXR5JyB8ICdyZWdpb24nIHwgJ3Bvc3RDb2RlJyB8ICdjb3VudHJ5JyB8ICdjb3VudHJ5Q29kZScgfCAnc3RhdGVDb2RlJyB8ICdsYXRpdHVkZScgfCAnbG9uZ2l0dWRlJz5cbiAgICAgICAgKT4sIHJldHVybkxvY2F0aW9uPzogTWF5YmU8KFxuICAgICAgICAgIHsgX190eXBlbmFtZT86ICdDYXJIaXJlQWRkcmVzcycgfVxuICAgICAgICAgICYgUGljazxDYXJIaXJlQWRkcmVzcywgJ25hbWUnIHwgJ3RvcExpbmUnIHwgJ2NpdHknIHwgJ3JlZ2lvbicgfCAncG9zdENvZGUnIHwgJ2NvdW50cnknIHwgJ2NvdW50cnlDb2RlJyB8ICdzdGF0ZUNvZGUnIHwgJ2xhdGl0dWRlJyB8ICdsb25naXR1ZGUnPlxuICAgICAgICApPiwgYWRkaXRpb25hbEluZm8/OiBNYXliZTxBcnJheTxNYXliZTwoXG4gICAgICAgICAgeyBfX3R5cGVuYW1lPzogJ0NhckhpcmVBZGRpdGlvbmFsSW5mb0l0ZW0nIH1cbiAgICAgICAgICAmIFBpY2s8Q2FySGlyZUFkZGl0aW9uYWxJbmZvSXRlbSwgJ25hbWUnIHwgJ3RleHQnIHwgJ2pzb24nPlxuICAgICAgICAgICYgeyBjdXN0b20/OiBNYXliZTxBcnJheTxNYXliZTwoXG4gICAgICAgICAgICB7IF9fdHlwZW5hbWU/OiAnQ2FySGlyZUN1c3RvbScgfVxuICAgICAgICAgICAgJiBQaWNrPENhckhpcmVDdXN0b20sICduYW1lJyB8ICd0ZXh0Jz5cbiAgICAgICAgICApPj4+IH1cbiAgICAgICAgKT4+PiB9XG4gICAgICApPiB9XG4gICAgKT4sIGVycm9yczogQXJyYXk8KFxuICAgICAgeyBfX3R5cGVuYW1lPzogJ1NlYXJjaEVycm9yJyB9XG4gICAgICAmIEVycm9yc0ZyYWdtZW50XG4gICAgKT4gfVxuICApIH1cbik7XG5cbmV4cG9ydCB0eXBlIERlbGV0ZVJlY2VudFNlYXJjaE11dGF0aW9uVmFyaWFibGVzID0gRXhhY3Q8e1xuICBpZDogU2NhbGFyc1snSUQnXTtcbn0+O1xuXG5cbmV4cG9ydCB0eXBlIERlbGV0ZVJlY2VudFNlYXJjaE11dGF0aW9uID0gKFxuICB7IF9fdHlwZW5hbWU/OiAnTXV0YXRpb24nIH1cbiAgJiBQaWNrPE11dGF0aW9uLCAnZGVsZXRlUmVjZW50U2VhcmNoJz5cbik7XG5cbmV4cG9ydCB0eXBlIERlbGV0ZVVzZXJBZGRyZXNzTXV0YXRpb25WYXJpYWJsZXMgPSBFeGFjdDx7XG4gIGlkOiBTY2FsYXJzWydJRCddO1xufT47XG5cblxuZXhwb3J0IHR5cGUgRGVsZXRlVXNlckFkZHJlc3NNdXRhdGlvbiA9IChcbiAgeyBfX3R5cGVuYW1lPzogJ011dGF0aW9uJyB9XG4gICYgUGljazxNdXRhdGlvbiwgJ2RlbGV0ZVVzZXJBZGRyZXNzJz5cbik7XG5cbmV4cG9ydCB0eXBlIEVycm9yc0ZyYWdtZW50ID0gKFxuICB7IF9fdHlwZW5hbWU/OiAnU2VhcmNoRXJyb3InIH1cbiAgJiBQaWNrPFNlYXJjaEVycm9yLCAnZXJyb3JNZXNzYWdlJyB8ICdlcnJvckNvZGUnPlxuICAmIHsgc2VydmljZTogKFxuICAgIHsgX190eXBlbmFtZT86ICdTZXJ2aWNlJyB9XG4gICAgJiBQaWNrPFNlcnZpY2UsICdpZCcgfCAndHlwZScgfCAnbmFtZScgfCAnZGVzY3JpcHRpb24nPlxuICApIH1cbik7XG5cbmV4cG9ydCB0eXBlIEdyb3VwZWRGaWVsZHNGcmFnbWVudCA9IChcbiAgeyBfX3R5cGVuYW1lPzogJ0dyb3VwRmxpZ2h0cycgfVxuICAmIFBpY2s8R3JvdXBGbGlnaHRzLCAncmVmZXJlbmNlSUQnIHwgJ2ZsaWdodElEJyB8ICdib3VuZEluZGljYXRvcicgfCAnbWluUHJpY2UnIHwgJ21heFByaWNlJz5cbiAgJiB7IGZsaWdodHM6IChcbiAgICB7IF9fdHlwZW5hbWU/OiAnTWF0Y2hpbmdGbGlnaHRzJyB9XG4gICAgJiBQaWNrPE1hdGNoaW5nRmxpZ2h0cywgJ0xpdGVFY29ub215JyB8ICdFY29ub215UmVzdHJpY3RlZCcgfCAnRWNvbm9teU5vQmFncycgfCAnRWNvbm9teScgfCAnUHJlbWl1bUVjb25vbXknIHwgJ0J1c2luZXNzJyB8ICdQcmVtaXVtQnVzaW5lc3MnIHwgJ0ZpcnN0JyB8ICdQcmVtaXVtRmlyc3QnPlxuICApIH1cbik7XG5cbmV4cG9ydCB0eXBlIFNlYXJjaEZsaWdodHNWMlF1ZXJ5VmFyaWFibGVzID0gRXhhY3Q8e1xuICBwYXNzZW5nZXJzOiBBcnJheTxGbGlnaHRQYXNzZW5nZXJPYmplY3Q+IHwgRmxpZ2h0UGFzc2VuZ2VyT2JqZWN0O1xuICBvcmlnaW5BaXJwb3J0PzogTWF5YmU8U2NhbGFyc1snU3RyaW5nJ10+O1xuICBkZXN0aW5hdGlvbkFpcnBvcnQ/OiBNYXliZTxTY2FsYXJzWydTdHJpbmcnXT47XG4gIG11bHRpRGVzdGluYXRpb24/OiBNYXliZTxBcnJheTxNYXliZTxEZXN0aW5hdGlvbkVudHJ5Pj4gfCBNYXliZTxEZXN0aW5hdGlvbkVudHJ5Pj47XG4gIG91dGJvdW5kRGF0ZT86IE1heWJlPFNjYWxhcnNbJ0RhdGUnXT47XG4gIG91dGJvdW5kRGVwYXJ0dXJlVGltZVdpbmRvdz86IE1heWJlPFNjYWxhcnNbJ1N0cmluZyddPjtcbiAgb3V0Ym91bmRBcnJpdmFsVGltZVdpbmRvdz86IE1heWJlPFNjYWxhcnNbJ1N0cmluZyddPjtcbiAgb3V0Ym91bmRDYWJpbkNsYXNzPzogTWF5YmU8QXJyYXk8TWF5YmU8RmxpZ2h0Q2FiaW5DbGFzcz4+IHwgTWF5YmU8RmxpZ2h0Q2FiaW5DbGFzcz4+O1xuICByZXR1cm5UcmlwOiBTY2FsYXJzWydCb29sZWFuJ107XG4gIHJldHVybkRhdGU/OiBNYXliZTxTY2FsYXJzWydEYXRlJ10+O1xuICByZXR1cm5EZXBhcnR1cmVUaW1lV2luZG93PzogTWF5YmU8U2NhbGFyc1snU3RyaW5nJ10+O1xuICByZXR1cm5BcnJpdmFsVGltZVdpbmRvdz86IE1heWJlPFNjYWxhcnNbJ1N0cmluZyddPjtcbiAgcmV0dXJuQ2FiaW5DbGFzcz86IE1heWJlPEFycmF5PE1heWJlPEZsaWdodENhYmluQ2xhc3M+PiB8IE1heWJlPEZsaWdodENhYmluQ2xhc3M+PjtcbiAgZmFyZVR5cGU6IEZhcmVUeXBlO1xuICByZXF1aXJlRnJlZUJhZz86IE1heWJlPFNjYWxhcnNbJ0Jvb2xlYW4nXT47XG4gIG1heENvbm5lY3Rpb25zPzogTWF5YmU8U2NhbGFyc1snSW50J10+O1xuICBwcmVmZXJyZWRDYXJyaWVycz86IE1heWJlPEFycmF5PE1heWJlPFNjYWxhcnNbJ1N0cmluZyddPj4gfCBNYXliZTxTY2FsYXJzWydTdHJpbmcnXT4+O1xuICBpbmNsdWRlTmVhcmJ5QWlycG9ydHM/OiBNYXliZTxTY2FsYXJzWydCb29sZWFuJ10+O1xuICBhc1NpbmdsZXM/OiBNYXliZTxTY2FsYXJzWydCb29sZWFuJ10+O1xuICB3aXRoR3JvdXBlZDogU2NhbGFyc1snQm9vbGVhbiddO1xufT47XG5cblxuZXhwb3J0IHR5cGUgU2VhcmNoRmxpZ2h0c1YyUXVlcnkgPSAoXG4gIHsgX190eXBlbmFtZT86ICdRdWVyeScgfVxuICAmIHsgc2VhcmNoRmxpZ2h0c1YyOiAoXG4gICAgeyBfX3R5cGVuYW1lPzogJ0ZsaWdodFNlYXJjaFJlc3VsdFYyJyB9XG4gICAgJiB7IHJlc3VsdHM6IChcbiAgICAgIHsgX190eXBlbmFtZT86ICdGRUZsaWdodFNlYXJjaFJlc3VsdHMnIH1cbiAgICAgICYgeyBqb3VybmV5czogQXJyYXk8KFxuICAgICAgICB7IF9fdHlwZW5hbWU/OiAnRmxpZ2h0SXRpbmVyYXJ5JyB9XG4gICAgICAgICYgUGljazxGbGlnaHRJdGluZXJhcnksICd1aWQnIHwgJ3Bhc3NlbmdlckNvdW50JyB8ICdvdXRib3VuZFRvdGFsRHVyYXRpb24nIHwgJ2luYm91bmRUb3RhbER1cmF0aW9uJyB8ICdhZGRpdGlvbmFsJyB8ICdzb3VyY2UnIHwgJ3NvdXJjZUlkJyB8ICd2ZXJzaW9uJyB8ICd0bWNQcmVmZXJyZWQnIHwgJ2NvbXBhbnlQcmVmZXJyZWQnIHwgJ29mZmljZVByZWZlcnJlZCcgfCAndG1jUHJlZmVycmVkTWVzc2FnZScgfCAnY29tcGFueVByZWZlcnJlZE1lc3NhZ2UnIHwgJ29mZmljZVByZWZlcnJlZE1lc3NhZ2UnIHwgJ3VuYXZhaWxhYmxlJyB8ICd1bmF2YWlsYWJsZU1lc3NhZ2UnIHwgJ2NvMlBlckl0ZW0nIHwgJ2NvMlBlclBhc3Nlbmdlcic+XG4gICAgICAgICYgeyBvdXRib3VuZEZsaWdodHM6IEFycmF5PChcbiAgICAgICAgICB7IF9fdHlwZW5hbWU/OiAnRmxpZ2h0Sm91cm5leScgfVxuICAgICAgICAgICYgUGljazxGbGlnaHRKb3VybmV5LCAnb3JpZ2luQWlycG9ydCcgfCAnb3JpZ2luVGVybWluYWwnIHwgJ29yaWdpbkFpcnBvcnROYW1lJyB8ICdkZXN0aW5hdGlvbkFpcnBvcnQnIHwgJ2Rlc3RpbmF0aW9uVGVybWluYWwnIHwgJ2Rlc3RpbmF0aW9uQWlycG9ydE5hbWUnIHwgJ2RhdGVUaW1lRGVwYXJ0aW5nJyB8ICdkYXRlVGltZURlcGFydGluZ1VUQycgfCAnZGF0ZVRpbWVBcnJpdmluZycgfCAnZGF0ZVRpbWVBcnJpdmluZ1VUQycgfCAnbWFya2V0aW5nQ2FycmllcicgfCAnbWFya2V0aW5nQ2Fycmllck5hbWUnIHwgJ21hcmtldGluZ0ZsaWdodE51bWJlcicgfCAnb3BlcmF0aW5nQ2FycmllcicgfCAnb3BlcmF0aW5nQ2Fycmllck5hbWUnIHwgJ29wZXJhdGluZ0ZsaWdodE51bWJlcicgfCAnZXF1aXBtZW50Q29kZScgfCAnZXF1aXBtZW50TmFtZScgfCAndG90YWxEdXJhdGlvbicgfCAnY2FiaW5DbGFzcycgfCAnbWFya2V0aW5nTmFtZXMnIHwgJ3ZlbmRvckNvZGUnIHwgJ3N0b3BzJyB8ICdib29raW5nQ29kZScgfCAnbWFycmlhZ2VHcm91cCcgfCAnZmFyZUJhc2lzQ29kZScgfCAnYWRkaXRpb25hbCc+XG4gICAgICAgICAgJiB7IG9yaWdpbkFpcnBvcnREZXRhaWw6IChcbiAgICAgICAgICAgIHsgX190eXBlbmFtZT86ICdBaXJwb3J0RGV0YWlsJyB9XG4gICAgICAgICAgICAmIFBpY2s8QWlycG9ydERldGFpbCwgJ2lhdGEnIHwgJ2ljYW8nIHwgJ2xhdGl0dWRlJyB8ICdsb25naXR1ZGUnIHwgJ2FsdGl0dWRlJyB8ICdzdGF0ZScgfCAnY2l0eScgfCAncm9hZCcgfCAncG9wdWxhcml0eScgfCAnYXJlYScgfCAnbG9jYXRpb24nIHwgJ29mZnNldCcgfCAnYWlycG9ydE5hbWUnIHwgJ2NvdW50cnlOYW1lJyB8ICdjb3VudHJ5Q29kZScgfCAncG9zdGNvZGUnPlxuICAgICAgICAgICksIGRlc3RpbmF0aW9uQWlycG9ydERldGFpbDogKFxuICAgICAgICAgICAgeyBfX3R5cGVuYW1lPzogJ0FpcnBvcnREZXRhaWwnIH1cbiAgICAgICAgICAgICYgUGljazxBaXJwb3J0RGV0YWlsLCAnaWF0YScgfCAnaWNhbycgfCAnbGF0aXR1ZGUnIHwgJ2xvbmdpdHVkZScgfCAnYWx0aXR1ZGUnIHwgJ3N0YXRlJyB8ICdjaXR5JyB8ICdyb2FkJyB8ICdwb3B1bGFyaXR5JyB8ICdhcmVhJyB8ICdsb2NhdGlvbicgfCAnb2Zmc2V0JyB8ICdhaXJwb3J0TmFtZScgfCAnY291bnRyeU5hbWUnIHwgJ2NvdW50cnlDb2RlJyB8ICdwb3N0Y29kZSc+XG4gICAgICAgICAgKSwgbWFya2V0aW5nQ2FycmllckRldGFpbDogKFxuICAgICAgICAgICAgeyBfX3R5cGVuYW1lPzogJ0ZsaWdodENhcnJpZXJEZXRhaWwnIH1cbiAgICAgICAgICAgICYgUGljazxGbGlnaHRDYXJyaWVyRGV0YWlsLCAnbmFtZScgfCAnYWxpYXMnIHwgJ2NhbGxzaWduJyB8ICdpYXRhJyB8ICdpY2FvJyB8ICdsb2dvJyB8ICdiYW5uZXInIHwgJ3BvcHVsYXJpdHknPlxuICAgICAgICAgICksIG9wZXJhdGluZ0NhcnJpZXJEZXRhaWw6IChcbiAgICAgICAgICAgIHsgX190eXBlbmFtZT86ICdGbGlnaHRDYXJyaWVyRGV0YWlsJyB9XG4gICAgICAgICAgICAmIFBpY2s8RmxpZ2h0Q2FycmllckRldGFpbCwgJ25hbWUnIHwgJ2FsaWFzJyB8ICdjYWxsc2lnbicgfCAnaWF0YScgfCAnaWNhbycgfCAnbG9nbycgfCAnYmFubmVyJyB8ICdwb3B1bGFyaXR5Jz5cbiAgICAgICAgICApLCBmYXJlQ29uZGl0aW9uczogKFxuICAgICAgICAgICAgeyBfX3R5cGVuYW1lPzogJ0ZhcmVDb25kaXRpb25zJyB9XG4gICAgICAgICAgICAmIHsgY2FuY2VsbGF0aW9uPzogTWF5YmU8QXJyYXk8TWF5YmU8KFxuICAgICAgICAgICAgICB7IF9fdHlwZW5hbWU/OiAnRmFyZUNvbmRpdGlvbkVudHJ5JyB9XG4gICAgICAgICAgICAgICYgUGljazxGYXJlQ29uZGl0aW9uRW50cnksICduYW1lJyB8ICd0eXBlJyB8ICdjdXJyZW5jeScgfCAnYW1vdW50JyB8ICdyZW1hcmsnIHwgJ2NoYW5nZUZlZUluZCcgfCAnY2FuY2VsRmVlSW5kJyB8ICdyZWZ1bmRhYmxlSW5kJz5cbiAgICAgICAgICAgICk+Pj4sIGNoYW5nZT86IE1heWJlPEFycmF5PE1heWJlPChcbiAgICAgICAgICAgICAgeyBfX3R5cGVuYW1lPzogJ0ZhcmVDb25kaXRpb25FbnRyeScgfVxuICAgICAgICAgICAgICAmIFBpY2s8RmFyZUNvbmRpdGlvbkVudHJ5LCAnbmFtZScgfCAndHlwZScgfCAnY3VycmVuY3knIHwgJ2Ftb3VudCcgfCAncmVtYXJrJyB8ICdjaGFuZ2VGZWVJbmQnIHwgJ2NhbmNlbEZlZUluZCcgfCAncmVmdW5kYWJsZUluZCc+XG4gICAgICAgICAgICApPj4+LCBub1Nob3c/OiBNYXliZTxBcnJheTxNYXliZTwoXG4gICAgICAgICAgICAgIHsgX190eXBlbmFtZT86ICdGYXJlQ29uZGl0aW9uRW50cnknIH1cbiAgICAgICAgICAgICAgJiBQaWNrPEZhcmVDb25kaXRpb25FbnRyeSwgJ25hbWUnIHwgJ3R5cGUnIHwgJ2N1cnJlbmN5JyB8ICdhbW91bnQnIHwgJ3JlbWFyaycgfCAnY2hhbmdlRmVlSW5kJyB8ICdjYW5jZWxGZWVJbmQnIHwgJ3JlZnVuZGFibGVJbmQnPlxuICAgICAgICAgICAgKT4+PiwgdXBncmFkZT86IE1heWJlPEFycmF5PE1heWJlPChcbiAgICAgICAgICAgICAgeyBfX3R5cGVuYW1lPzogJ0ZhcmVDb25kaXRpb25FbnRyeScgfVxuICAgICAgICAgICAgICAmIFBpY2s8RmFyZUNvbmRpdGlvbkVudHJ5LCAnbmFtZScgfCAndHlwZScgfCAnY3VycmVuY3knIHwgJ2Ftb3VudCcgfCAncmVtYXJrJyB8ICdjaGFuZ2VGZWVJbmQnIHwgJ2NhbmNlbEZlZUluZCcgfCAncmVmdW5kYWJsZUluZCc+XG4gICAgICAgICAgICApPj4+LCBvdGhlcj86IE1heWJlPEFycmF5PE1heWJlPChcbiAgICAgICAgICAgICAgeyBfX3R5cGVuYW1lPzogJ0ZhcmVDb25kaXRpb25FbnRyeScgfVxuICAgICAgICAgICAgICAmIFBpY2s8RmFyZUNvbmRpdGlvbkVudHJ5LCAnbmFtZScgfCAndHlwZScgfCAnY3VycmVuY3knIHwgJ2Ftb3VudCcgfCAncmVtYXJrJyB8ICdjaGFuZ2VGZWVJbmQnIHwgJ2NhbmNlbEZlZUluZCcgfCAncmVmdW5kYWJsZUluZCc+XG4gICAgICAgICAgICApPj4+IH1cbiAgICAgICAgICApIH1cbiAgICAgICAgKT4sIGluYm91bmRGbGlnaHRzPzogTWF5YmU8QXJyYXk8TWF5YmU8KFxuICAgICAgICAgIHsgX190eXBlbmFtZT86ICdGbGlnaHRKb3VybmV5JyB9XG4gICAgICAgICAgJiBQaWNrPEZsaWdodEpvdXJuZXksICdvcmlnaW5BaXJwb3J0JyB8ICdvcmlnaW5UZXJtaW5hbCcgfCAnb3JpZ2luQWlycG9ydE5hbWUnIHwgJ2Rlc3RpbmF0aW9uQWlycG9ydCcgfCAnZGVzdGluYXRpb25UZXJtaW5hbCcgfCAnZGVzdGluYXRpb25BaXJwb3J0TmFtZScgfCAnZGF0ZVRpbWVEZXBhcnRpbmcnIHwgJ2RhdGVUaW1lRGVwYXJ0aW5nVVRDJyB8ICdkYXRlVGltZUFycml2aW5nJyB8ICdkYXRlVGltZUFycml2aW5nVVRDJyB8ICdtYXJrZXRpbmdDYXJyaWVyJyB8ICdtYXJrZXRpbmdDYXJyaWVyTmFtZScgfCAnbWFya2V0aW5nRmxpZ2h0TnVtYmVyJyB8ICdvcGVyYXRpbmdDYXJyaWVyJyB8ICdvcGVyYXRpbmdDYXJyaWVyTmFtZScgfCAnb3BlcmF0aW5nRmxpZ2h0TnVtYmVyJyB8ICdlcXVpcG1lbnRDb2RlJyB8ICdlcXVpcG1lbnROYW1lJyB8ICd0b3RhbER1cmF0aW9uJyB8ICdjYWJpbkNsYXNzJyB8ICdtYXJrZXRpbmdOYW1lcycgfCAndmVuZG9yQ29kZScgfCAnc3RvcHMnIHwgJ2Jvb2tpbmdDb2RlJyB8ICdtYXJyaWFnZUdyb3VwJyB8ICdmYXJlQmFzaXNDb2RlJyB8ICdhZGRpdGlvbmFsJz5cbiAgICAgICAgICAmIHsgb3JpZ2luQWlycG9ydERldGFpbDogKFxuICAgICAgICAgICAgeyBfX3R5cGVuYW1lPzogJ0FpcnBvcnREZXRhaWwnIH1cbiAgICAgICAgICAgICYgUGljazxBaXJwb3J0RGV0YWlsLCAnaWF0YScgfCAnaWNhbycgfCAnbGF0aXR1ZGUnIHwgJ2xvbmdpdHVkZScgfCAnYWx0aXR1ZGUnIHwgJ3N0YXRlJyB8ICdjaXR5JyB8ICdyb2FkJyB8ICdwb3B1bGFyaXR5JyB8ICdhcmVhJyB8ICdsb2NhdGlvbicgfCAnb2Zmc2V0JyB8ICdhaXJwb3J0TmFtZScgfCAnY291bnRyeU5hbWUnIHwgJ2NvdW50cnlDb2RlJyB8ICdwb3N0Y29kZSc+XG4gICAgICAgICAgKSwgZGVzdGluYXRpb25BaXJwb3J0RGV0YWlsOiAoXG4gICAgICAgICAgICB7IF9fdHlwZW5hbWU/OiAnQWlycG9ydERldGFpbCcgfVxuICAgICAgICAgICAgJiBQaWNrPEFpcnBvcnREZXRhaWwsICdpYXRhJyB8ICdpY2FvJyB8ICdsYXRpdHVkZScgfCAnbG9uZ2l0dWRlJyB8ICdhbHRpdHVkZScgfCAnc3RhdGUnIHwgJ2NpdHknIHwgJ3JvYWQnIHwgJ3BvcHVsYXJpdHknIHwgJ2FyZWEnIHwgJ2xvY2F0aW9uJyB8ICdvZmZzZXQnIHwgJ2FpcnBvcnROYW1lJyB8ICdjb3VudHJ5TmFtZScgfCAnY291bnRyeUNvZGUnIHwgJ3Bvc3Rjb2RlJz5cbiAgICAgICAgICApLCBtYXJrZXRpbmdDYXJyaWVyRGV0YWlsOiAoXG4gICAgICAgICAgICB7IF9fdHlwZW5hbWU/OiAnRmxpZ2h0Q2FycmllckRldGFpbCcgfVxuICAgICAgICAgICAgJiBQaWNrPEZsaWdodENhcnJpZXJEZXRhaWwsICduYW1lJyB8ICdhbGlhcycgfCAnY2FsbHNpZ24nIHwgJ2lhdGEnIHwgJ2ljYW8nIHwgJ2xvZ28nIHwgJ2Jhbm5lcicgfCAncG9wdWxhcml0eSc+XG4gICAgICAgICAgKSwgb3BlcmF0aW5nQ2FycmllckRldGFpbDogKFxuICAgICAgICAgICAgeyBfX3R5cGVuYW1lPzogJ0ZsaWdodENhcnJpZXJEZXRhaWwnIH1cbiAgICAgICAgICAgICYgUGljazxGbGlnaHRDYXJyaWVyRGV0YWlsLCAnbmFtZScgfCAnYWxpYXMnIHwgJ2NhbGxzaWduJyB8ICdpYXRhJyB8ICdpY2FvJyB8ICdsb2dvJyB8ICdiYW5uZXInIHwgJ3BvcHVsYXJpdHknPlxuICAgICAgICAgICksIGZhcmVDb25kaXRpb25zOiAoXG4gICAgICAgICAgICB7IF9fdHlwZW5hbWU/OiAnRmFyZUNvbmRpdGlvbnMnIH1cbiAgICAgICAgICAgICYgeyBjYW5jZWxsYXRpb24/OiBNYXliZTxBcnJheTxNYXliZTwoXG4gICAgICAgICAgICAgIHsgX190eXBlbmFtZT86ICdGYXJlQ29uZGl0aW9uRW50cnknIH1cbiAgICAgICAgICAgICAgJiBQaWNrPEZhcmVDb25kaXRpb25FbnRyeSwgJ25hbWUnIHwgJ3R5cGUnIHwgJ2N1cnJlbmN5JyB8ICdhbW91bnQnIHwgJ3JlbWFyaycgfCAnY2hhbmdlRmVlSW5kJyB8ICdjYW5jZWxGZWVJbmQnIHwgJ3JlZnVuZGFibGVJbmQnPlxuICAgICAgICAgICAgKT4+PiwgY2hhbmdlPzogTWF5YmU8QXJyYXk8TWF5YmU8KFxuICAgICAgICAgICAgICB7IF9fdHlwZW5hbWU/OiAnRmFyZUNvbmRpdGlvbkVudHJ5JyB9XG4gICAgICAgICAgICAgICYgUGljazxGYXJlQ29uZGl0aW9uRW50cnksICduYW1lJyB8ICd0eXBlJyB8ICdjdXJyZW5jeScgfCAnYW1vdW50JyB8ICdyZW1hcmsnIHwgJ2NoYW5nZUZlZUluZCcgfCAnY2FuY2VsRmVlSW5kJyB8ICdyZWZ1bmRhYmxlSW5kJz5cbiAgICAgICAgICAgICk+Pj4sIG5vU2hvdz86IE1heWJlPEFycmF5PE1heWJlPChcbiAgICAgICAgICAgICAgeyBfX3R5cGVuYW1lPzogJ0ZhcmVDb25kaXRpb25FbnRyeScgfVxuICAgICAgICAgICAgICAmIFBpY2s8RmFyZUNvbmRpdGlvbkVudHJ5LCAnbmFtZScgfCAndHlwZScgfCAnY3VycmVuY3knIHwgJ2Ftb3VudCcgfCAncmVtYXJrJyB8ICdjaGFuZ2VGZWVJbmQnIHwgJ2NhbmNlbEZlZUluZCcgfCAncmVmdW5kYWJsZUluZCc+XG4gICAgICAgICAgICApPj4+LCB1cGdyYWRlPzogTWF5YmU8QXJyYXk8TWF5YmU8KFxuICAgICAgICAgICAgICB7IF9fdHlwZW5hbWU/OiAnRmFyZUNvbmRpdGlvbkVudHJ5JyB9XG4gICAgICAgICAgICAgICYgUGljazxGYXJlQ29uZGl0aW9uRW50cnksICduYW1lJyB8ICd0eXBlJyB8ICdjdXJyZW5jeScgfCAnYW1vdW50JyB8ICdyZW1hcmsnIHwgJ2NoYW5nZUZlZUluZCcgfCAnY2FuY2VsRmVlSW5kJyB8ICdyZWZ1bmRhYmxlSW5kJz5cbiAgICAgICAgICAgICk+Pj4sIG90aGVyPzogTWF5YmU8QXJyYXk8TWF5YmU8KFxuICAgICAgICAgICAgICB7IF9fdHlwZW5hbWU/OiAnRmFyZUNvbmRpdGlvbkVudHJ5JyB9XG4gICAgICAgICAgICAgICYgUGljazxGYXJlQ29uZGl0aW9uRW50cnksICduYW1lJyB8ICd0eXBlJyB8ICdjdXJyZW5jeScgfCAnYW1vdW50JyB8ICdyZW1hcmsnIHwgJ2NoYW5nZUZlZUluZCcgfCAnY2FuY2VsRmVlSW5kJyB8ICdyZWZ1bmRhYmxlSW5kJz5cbiAgICAgICAgICAgICk+Pj4gfVxuICAgICAgICAgICkgfVxuICAgICAgICApPj4+LCBvdXRib3VuZENhcmJvbkVtaXNzaW9ucz86IE1heWJlPChcbiAgICAgICAgICB7IF9fdHlwZW5hbWU/OiAnRmxpZ2h0Q2FyYm9uRW1pc3Npb25zJyB9XG4gICAgICAgICAgJiBQaWNrPEZsaWdodENhcmJvbkVtaXNzaW9ucywgJ2Ftb3VudCcgfCAndW5pdCc+XG4gICAgICAgICk+LCBpbmJvdW5kQ2FyYm9uRW1pc3Npb25zPzogTWF5YmU8KFxuICAgICAgICAgIHsgX190eXBlbmFtZT86ICdGbGlnaHRDYXJib25FbWlzc2lvbnMnIH1cbiAgICAgICAgICAmIFBpY2s8RmxpZ2h0Q2FyYm9uRW1pc3Npb25zLCAnYW1vdW50JyB8ICd1bml0Jz5cbiAgICAgICAgKT4sIHRheGVzPzogTWF5YmU8QXJyYXk8TWF5YmU8KFxuICAgICAgICAgIHsgX190eXBlbmFtZT86ICdGbGlnaHRBbW91bnQnIH1cbiAgICAgICAgICAmIFBpY2s8RmxpZ2h0QW1vdW50LCAnZGVzY3JpcHRpb24nIHwgJ2Ftb3VudCcgfCAnY3VycmVuY3knPlxuICAgICAgICApPj4+LCBkaXNjb3VudHM/OiBNYXliZTxBcnJheTxNYXliZTwoXG4gICAgICAgICAgeyBfX3R5cGVuYW1lPzogJ0ZsaWdodEFtb3VudCcgfVxuICAgICAgICAgICYgUGljazxGbGlnaHRBbW91bnQsICdkZXNjcmlwdGlvbicgfCAnYW1vdW50JyB8ICdjdXJyZW5jeSc+XG4gICAgICAgICk+Pj4sIHRvdGFsOiAoXG4gICAgICAgICAgeyBfX3R5cGVuYW1lPzogJ0ZsaWdodEZhcmVUb3RhbCcgfVxuICAgICAgICAgICYgUGljazxGbGlnaHRGYXJlVG90YWwsICdwcmljZScgfCAndGF4JyB8ICdkaXNjb3VudCcgfCAnY3VycmVuY3knPlxuICAgICAgICApLCBmYXJlQ29uZGl0aW9ucz86IE1heWJlPChcbiAgICAgICAgICB7IF9fdHlwZW5hbWU/OiAnRmFyZUNvbmRpdGlvbnMnIH1cbiAgICAgICAgICAmIHsgY2FuY2VsbGF0aW9uPzogTWF5YmU8QXJyYXk8TWF5YmU8KFxuICAgICAgICAgICAgeyBfX3R5cGVuYW1lPzogJ0ZhcmVDb25kaXRpb25FbnRyeScgfVxuICAgICAgICAgICAgJiBQaWNrPEZhcmVDb25kaXRpb25FbnRyeSwgJ25hbWUnIHwgJ3R5cGUnIHwgJ2N1cnJlbmN5JyB8ICdhbW91bnQnIHwgJ3JlbWFyaycgfCAnY2hhbmdlRmVlSW5kJyB8ICdjYW5jZWxGZWVJbmQnIHwgJ3JlZnVuZGFibGVJbmQnPlxuICAgICAgICAgICk+Pj4sIGNoYW5nZT86IE1heWJlPEFycmF5PE1heWJlPChcbiAgICAgICAgICAgIHsgX190eXBlbmFtZT86ICdGYXJlQ29uZGl0aW9uRW50cnknIH1cbiAgICAgICAgICAgICYgUGljazxGYXJlQ29uZGl0aW9uRW50cnksICduYW1lJyB8ICd0eXBlJyB8ICdjdXJyZW5jeScgfCAnYW1vdW50JyB8ICdyZW1hcmsnIHwgJ2NoYW5nZUZlZUluZCcgfCAnY2FuY2VsRmVlSW5kJyB8ICdyZWZ1bmRhYmxlSW5kJz5cbiAgICAgICAgICApPj4+LCBub1Nob3c/OiBNYXliZTxBcnJheTxNYXliZTwoXG4gICAgICAgICAgICB7IF9fdHlwZW5hbWU/OiAnRmFyZUNvbmRpdGlvbkVudHJ5JyB9XG4gICAgICAgICAgICAmIFBpY2s8RmFyZUNvbmRpdGlvbkVudHJ5LCAnbmFtZScgfCAndHlwZScgfCAnY3VycmVuY3knIHwgJ2Ftb3VudCcgfCAncmVtYXJrJyB8ICdjaGFuZ2VGZWVJbmQnIHwgJ2NhbmNlbEZlZUluZCcgfCAncmVmdW5kYWJsZUluZCc+XG4gICAgICAgICAgKT4+PiwgdXBncmFkZT86IE1heWJlPEFycmF5PE1heWJlPChcbiAgICAgICAgICAgIHsgX190eXBlbmFtZT86ICdGYXJlQ29uZGl0aW9uRW50cnknIH1cbiAgICAgICAgICAgICYgUGljazxGYXJlQ29uZGl0aW9uRW50cnksICduYW1lJyB8ICd0eXBlJyB8ICdjdXJyZW5jeScgfCAnYW1vdW50JyB8ICdyZW1hcmsnIHwgJ2NoYW5nZUZlZUluZCcgfCAnY2FuY2VsRmVlSW5kJyB8ICdyZWZ1bmRhYmxlSW5kJz5cbiAgICAgICAgICApPj4+LCBvdGhlcj86IE1heWJlPEFycmF5PE1heWJlPChcbiAgICAgICAgICAgIHsgX190eXBlbmFtZT86ICdGYXJlQ29uZGl0aW9uRW50cnknIH1cbiAgICAgICAgICAgICYgUGljazxGYXJlQ29uZGl0aW9uRW50cnksICduYW1lJyB8ICd0eXBlJyB8ICdjdXJyZW5jeScgfCAnYW1vdW50JyB8ICdyZW1hcmsnIHwgJ2NoYW5nZUZlZUluZCcgfCAnY2FuY2VsRmVlSW5kJyB8ICdyZWZ1bmRhYmxlSW5kJz5cbiAgICAgICAgICApPj4+IH1cbiAgICAgICAgKT4sIGJhZ2dhZ2VBbGxvd2FuY2U/OiBNYXliZTxBcnJheTxNYXliZTwoXG4gICAgICAgICAgeyBfX3R5cGVuYW1lPzogJ0JhZ2dhZ2VBbGxvd2FuY2UnIH1cbiAgICAgICAgICAmIFBpY2s8QmFnZ2FnZUFsbG93YW5jZSwgJ3R5cGUnIHwgJ3F0eScgfCAnbWF4S0cnIHwgJ21heExCUyc+XG4gICAgICAgICk+Pj4gfVxuICAgICAgKT4sIG11bHRpOiBBcnJheTwoXG4gICAgICAgIHsgX190eXBlbmFtZT86ICdJdGluZXJhcnlTdW1tYXJ5JyB9XG4gICAgICAgICYgUGljazxJdGluZXJhcnlTdW1tYXJ5LCAnb3JkZXInIHwgJ29yaWdpbicgfCAnZGVzdGluYXRpb24nIHwgJ21pblByaWNlJyB8ICdtYXhQcmljZSc+XG4gICAgICAgICYgeyByZXN1bHRzOiBBcnJheTwoXG4gICAgICAgICAgeyBfX3R5cGVuYW1lPzogJ0ZsaWdodEl0aW5lcmFyeScgfVxuICAgICAgICAgICYgUGljazxGbGlnaHRJdGluZXJhcnksICd1aWQnIHwgJ3Bhc3NlbmdlckNvdW50JyB8ICdvdXRib3VuZFRvdGFsRHVyYXRpb24nIHwgJ2luYm91bmRUb3RhbER1cmF0aW9uJyB8ICdhZGRpdGlvbmFsJyB8ICdzb3VyY2UnIHwgJ3NvdXJjZUlkJyB8ICd2ZXJzaW9uJyB8ICd0bWNQcmVmZXJyZWQnIHwgJ2NvbXBhbnlQcmVmZXJyZWQnIHwgJ29mZmljZVByZWZlcnJlZCcgfCAndG1jUHJlZmVycmVkTWVzc2FnZScgfCAnY29tcGFueVByZWZlcnJlZE1lc3NhZ2UnIHwgJ29mZmljZVByZWZlcnJlZE1lc3NhZ2UnIHwgJ3VuYXZhaWxhYmxlJyB8ICd1bmF2YWlsYWJsZU1lc3NhZ2UnIHwgJ2NvMlBlckl0ZW0nIHwgJ2NvMlBlclBhc3Nlbmdlcic+XG4gICAgICAgICAgJiB7IG91dGJvdW5kRmxpZ2h0czogQXJyYXk8KFxuICAgICAgICAgICAgeyBfX3R5cGVuYW1lPzogJ0ZsaWdodEpvdXJuZXknIH1cbiAgICAgICAgICAgICYgUGljazxGbGlnaHRKb3VybmV5LCAnb3JpZ2luQWlycG9ydCcgfCAnb3JpZ2luVGVybWluYWwnIHwgJ29yaWdpbkFpcnBvcnROYW1lJyB8ICdkZXN0aW5hdGlvbkFpcnBvcnQnIHwgJ2Rlc3RpbmF0aW9uVGVybWluYWwnIHwgJ2Rlc3RpbmF0aW9uQWlycG9ydE5hbWUnIHwgJ2RhdGVUaW1lRGVwYXJ0aW5nJyB8ICdkYXRlVGltZURlcGFydGluZ1VUQycgfCAnZGF0ZVRpbWVBcnJpdmluZycgfCAnZGF0ZVRpbWVBcnJpdmluZ1VUQycgfCAnbWFya2V0aW5nQ2FycmllcicgfCAnbWFya2V0aW5nQ2Fycmllck5hbWUnIHwgJ21hcmtldGluZ0ZsaWdodE51bWJlcicgfCAnb3BlcmF0aW5nQ2FycmllcicgfCAnb3BlcmF0aW5nQ2Fycmllck5hbWUnIHwgJ29wZXJhdGluZ0ZsaWdodE51bWJlcicgfCAnZXF1aXBtZW50Q29kZScgfCAnZXF1aXBtZW50TmFtZScgfCAndG90YWxEdXJhdGlvbicgfCAnY2FiaW5DbGFzcycgfCAnbWFya2V0aW5nTmFtZXMnIHwgJ3ZlbmRvckNvZGUnIHwgJ3N0b3BzJyB8ICdib29raW5nQ29kZScgfCAnbWFycmlhZ2VHcm91cCcgfCAnZmFyZUJhc2lzQ29kZScgfCAnYWRkaXRpb25hbCc+XG4gICAgICAgICAgICAmIHsgb3JpZ2luQWlycG9ydERldGFpbDogKFxuICAgICAgICAgICAgICB7IF9fdHlwZW5hbWU/OiAnQWlycG9ydERldGFpbCcgfVxuICAgICAgICAgICAgICAmIFBpY2s8QWlycG9ydERldGFpbCwgJ2lhdGEnIHwgJ2ljYW8nIHwgJ2xhdGl0dWRlJyB8ICdsb25naXR1ZGUnIHwgJ2FsdGl0dWRlJyB8ICdzdGF0ZScgfCAnY2l0eScgfCAncm9hZCcgfCAncG9wdWxhcml0eScgfCAnYXJlYScgfCAnbG9jYXRpb24nIHwgJ29mZnNldCcgfCAnYWlycG9ydE5hbWUnIHwgJ2NvdW50cnlOYW1lJyB8ICdjb3VudHJ5Q29kZScgfCAncG9zdGNvZGUnPlxuICAgICAgICAgICAgKSwgZGVzdGluYXRpb25BaXJwb3J0RGV0YWlsOiAoXG4gICAgICAgICAgICAgIHsgX190eXBlbmFtZT86ICdBaXJwb3J0RGV0YWlsJyB9XG4gICAgICAgICAgICAgICYgUGljazxBaXJwb3J0RGV0YWlsLCAnaWF0YScgfCAnaWNhbycgfCAnbGF0aXR1ZGUnIHwgJ2xvbmdpdHVkZScgfCAnYWx0aXR1ZGUnIHwgJ3N0YXRlJyB8ICdjaXR5JyB8ICdyb2FkJyB8ICdwb3B1bGFyaXR5JyB8ICdhcmVhJyB8ICdsb2NhdGlvbicgfCAnb2Zmc2V0JyB8ICdhaXJwb3J0TmFtZScgfCAnY291bnRyeU5hbWUnIHwgJ2NvdW50cnlDb2RlJyB8ICdwb3N0Y29kZSc+XG4gICAgICAgICAgICApLCBtYXJrZXRpbmdDYXJyaWVyRGV0YWlsOiAoXG4gICAgICAgICAgICAgIHsgX190eXBlbmFtZT86ICdGbGlnaHRDYXJyaWVyRGV0YWlsJyB9XG4gICAgICAgICAgICAgICYgUGljazxGbGlnaHRDYXJyaWVyRGV0YWlsLCAnbmFtZScgfCAnYWxpYXMnIHwgJ2NhbGxzaWduJyB8ICdpYXRhJyB8ICdpY2FvJyB8ICdsb2dvJyB8ICdiYW5uZXInIHwgJ3BvcHVsYXJpdHknPlxuICAgICAgICAgICAgKSwgb3BlcmF0aW5nQ2FycmllckRldGFpbDogKFxuICAgICAgICAgICAgICB7IF9fdHlwZW5hbWU/OiAnRmxpZ2h0Q2FycmllckRldGFpbCcgfVxuICAgICAgICAgICAgICAmIFBpY2s8RmxpZ2h0Q2FycmllckRldGFpbCwgJ25hbWUnIHwgJ2FsaWFzJyB8ICdjYWxsc2lnbicgfCAnaWF0YScgfCAnaWNhbycgfCAnbG9nbycgfCAnYmFubmVyJyB8ICdwb3B1bGFyaXR5Jz5cbiAgICAgICAgICAgICksIGZhcmVDb25kaXRpb25zOiAoXG4gICAgICAgICAgICAgIHsgX190eXBlbmFtZT86ICdGYXJlQ29uZGl0aW9ucycgfVxuICAgICAgICAgICAgICAmIHsgY2FuY2VsbGF0aW9uPzogTWF5YmU8QXJyYXk8TWF5YmU8KFxuICAgICAgICAgICAgICAgIHsgX190eXBlbmFtZT86ICdGYXJlQ29uZGl0aW9uRW50cnknIH1cbiAgICAgICAgICAgICAgICAmIFBpY2s8RmFyZUNvbmRpdGlvbkVudHJ5LCAnbmFtZScgfCAndHlwZScgfCAnY3VycmVuY3knIHwgJ2Ftb3VudCcgfCAncmVtYXJrJyB8ICdjaGFuZ2VGZWVJbmQnIHwgJ2NhbmNlbEZlZUluZCcgfCAncmVmdW5kYWJsZUluZCc+XG4gICAgICAgICAgICAgICk+Pj4sIGNoYW5nZT86IE1heWJlPEFycmF5PE1heWJlPChcbiAgICAgICAgICAgICAgICB7IF9fdHlwZW5hbWU/OiAnRmFyZUNvbmRpdGlvbkVudHJ5JyB9XG4gICAgICAgICAgICAgICAgJiBQaWNrPEZhcmVDb25kaXRpb25FbnRyeSwgJ25hbWUnIHwgJ3R5cGUnIHwgJ2N1cnJlbmN5JyB8ICdhbW91bnQnIHwgJ3JlbWFyaycgfCAnY2hhbmdlRmVlSW5kJyB8ICdjYW5jZWxGZWVJbmQnIHwgJ3JlZnVuZGFibGVJbmQnPlxuICAgICAgICAgICAgICApPj4+LCBub1Nob3c/OiBNYXliZTxBcnJheTxNYXliZTwoXG4gICAgICAgICAgICAgICAgeyBfX3R5cGVuYW1lPzogJ0ZhcmVDb25kaXRpb25FbnRyeScgfVxuICAgICAgICAgICAgICAgICYgUGljazxGYXJlQ29uZGl0aW9uRW50cnksICduYW1lJyB8ICd0eXBlJyB8ICdjdXJyZW5jeScgfCAnYW1vdW50JyB8ICdyZW1hcmsnIHwgJ2NoYW5nZUZlZUluZCcgfCAnY2FuY2VsRmVlSW5kJyB8ICdyZWZ1bmRhYmxlSW5kJz5cbiAgICAgICAgICAgICAgKT4+PiwgdXBncmFkZT86IE1heWJlPEFycmF5PE1heWJlPChcbiAgICAgICAgICAgICAgICB7IF9fdHlwZW5hbWU/OiAnRmFyZUNvbmRpdGlvbkVudHJ5JyB9XG4gICAgICAgICAgICAgICAgJiBQaWNrPEZhcmVDb25kaXRpb25FbnRyeSwgJ25hbWUnIHwgJ3R5cGUnIHwgJ2N1cnJlbmN5JyB8ICdhbW91bnQnIHwgJ3JlbWFyaycgfCAnY2hhbmdlRmVlSW5kJyB8ICdjYW5jZWxGZWVJbmQnIHwgJ3JlZnVuZGFibGVJbmQnPlxuICAgICAgICAgICAgICApPj4+LCBvdGhlcj86IE1heWJlPEFycmF5PE1heWJlPChcbiAgICAgICAgICAgICAgICB7IF9fdHlwZW5hbWU/OiAnRmFyZUNvbmRpdGlvbkVudHJ5JyB9XG4gICAgICAgICAgICAgICAgJiBQaWNrPEZhcmVDb25kaXRpb25FbnRyeSwgJ25hbWUnIHwgJ3R5cGUnIHwgJ2N1cnJlbmN5JyB8ICdhbW91bnQnIHwgJ3JlbWFyaycgfCAnY2hhbmdlRmVlSW5kJyB8ICdjYW5jZWxGZWVJbmQnIHwgJ3JlZnVuZGFibGVJbmQnPlxuICAgICAgICAgICAgICApPj4+IH1cbiAgICAgICAgICAgICkgfVxuICAgICAgICAgICk+LCBpbmJvdW5kRmxpZ2h0cz86IE1heWJlPEFycmF5PE1heWJlPChcbiAgICAgICAgICAgIHsgX190eXBlbmFtZT86ICdGbGlnaHRKb3VybmV5JyB9XG4gICAgICAgICAgICAmIFBpY2s8RmxpZ2h0Sm91cm5leSwgJ29yaWdpbkFpcnBvcnQnIHwgJ29yaWdpblRlcm1pbmFsJyB8ICdvcmlnaW5BaXJwb3J0TmFtZScgfCAnZGVzdGluYXRpb25BaXJwb3J0JyB8ICdkZXN0aW5hdGlvblRlcm1pbmFsJyB8ICdkZXN0aW5hdGlvbkFpcnBvcnROYW1lJyB8ICdkYXRlVGltZURlcGFydGluZycgfCAnZGF0ZVRpbWVEZXBhcnRpbmdVVEMnIHwgJ2RhdGVUaW1lQXJyaXZpbmcnIHwgJ2RhdGVUaW1lQXJyaXZpbmdVVEMnIHwgJ21hcmtldGluZ0NhcnJpZXInIHwgJ21hcmtldGluZ0NhcnJpZXJOYW1lJyB8ICdtYXJrZXRpbmdGbGlnaHROdW1iZXInIHwgJ29wZXJhdGluZ0NhcnJpZXInIHwgJ29wZXJhdGluZ0NhcnJpZXJOYW1lJyB8ICdvcGVyYXRpbmdGbGlnaHROdW1iZXInIHwgJ2VxdWlwbWVudENvZGUnIHwgJ2VxdWlwbWVudE5hbWUnIHwgJ3RvdGFsRHVyYXRpb24nIHwgJ2NhYmluQ2xhc3MnIHwgJ21hcmtldGluZ05hbWVzJyB8ICd2ZW5kb3JDb2RlJyB8ICdzdG9wcycgfCAnYm9va2luZ0NvZGUnIHwgJ21hcnJpYWdlR3JvdXAnIHwgJ2ZhcmVCYXNpc0NvZGUnIHwgJ2FkZGl0aW9uYWwnPlxuICAgICAgICAgICAgJiB7IG9yaWdpbkFpcnBvcnREZXRhaWw6IChcbiAgICAgICAgICAgICAgeyBfX3R5cGVuYW1lPzogJ0FpcnBvcnREZXRhaWwnIH1cbiAgICAgICAgICAgICAgJiBQaWNrPEFpcnBvcnREZXRhaWwsICdpYXRhJyB8ICdpY2FvJyB8ICdsYXRpdHVkZScgfCAnbG9uZ2l0dWRlJyB8ICdhbHRpdHVkZScgfCAnc3RhdGUnIHwgJ2NpdHknIHwgJ3JvYWQnIHwgJ3BvcHVsYXJpdHknIHwgJ2FyZWEnIHwgJ2xvY2F0aW9uJyB8ICdvZmZzZXQnIHwgJ2FpcnBvcnROYW1lJyB8ICdjb3VudHJ5TmFtZScgfCAnY291bnRyeUNvZGUnIHwgJ3Bvc3Rjb2RlJz5cbiAgICAgICAgICAgICksIGRlc3RpbmF0aW9uQWlycG9ydERldGFpbDogKFxuICAgICAgICAgICAgICB7IF9fdHlwZW5hbWU/OiAnQWlycG9ydERldGFpbCcgfVxuICAgICAgICAgICAgICAmIFBpY2s8QWlycG9ydERldGFpbCwgJ2lhdGEnIHwgJ2ljYW8nIHwgJ2xhdGl0dWRlJyB8ICdsb25naXR1ZGUnIHwgJ2FsdGl0dWRlJyB8ICdzdGF0ZScgfCAnY2l0eScgfCAncm9hZCcgfCAncG9wdWxhcml0eScgfCAnYXJlYScgfCAnbG9jYXRpb24nIHwgJ29mZnNldCcgfCAnYWlycG9ydE5hbWUnIHwgJ2NvdW50cnlOYW1lJyB8ICdjb3VudHJ5Q29kZScgfCAncG9zdGNvZGUnPlxuICAgICAgICAgICAgKSwgbWFya2V0aW5nQ2FycmllckRldGFpbDogKFxuICAgICAgICAgICAgICB7IF9fdHlwZW5hbWU/OiAnRmxpZ2h0Q2FycmllckRldGFpbCcgfVxuICAgICAgICAgICAgICAmIFBpY2s8RmxpZ2h0Q2FycmllckRldGFpbCwgJ25hbWUnIHwgJ2FsaWFzJyB8ICdjYWxsc2lnbicgfCAnaWF0YScgfCAnaWNhbycgfCAnbG9nbycgfCAnYmFubmVyJyB8ICdwb3B1bGFyaXR5Jz5cbiAgICAgICAgICAgICksIG9wZXJhdGluZ0NhcnJpZXJEZXRhaWw6IChcbiAgICAgICAgICAgICAgeyBfX3R5cGVuYW1lPzogJ0ZsaWdodENhcnJpZXJEZXRhaWwnIH1cbiAgICAgICAgICAgICAgJiBQaWNrPEZsaWdodENhcnJpZXJEZXRhaWwsICduYW1lJyB8ICdhbGlhcycgfCAnY2FsbHNpZ24nIHwgJ2lhdGEnIHwgJ2ljYW8nIHwgJ2xvZ28nIHwgJ2Jhbm5lcicgfCAncG9wdWxhcml0eSc+XG4gICAgICAgICAgICApLCBmYXJlQ29uZGl0aW9uczogKFxuICAgICAgICAgICAgICB7IF9fdHlwZW5hbWU/OiAnRmFyZUNvbmRpdGlvbnMnIH1cbiAgICAgICAgICAgICAgJiB7IGNhbmNlbGxhdGlvbj86IE1heWJlPEFycmF5PE1heWJlPChcbiAgICAgICAgICAgICAgICB7IF9fdHlwZW5hbWU/OiAnRmFyZUNvbmRpdGlvbkVudHJ5JyB9XG4gICAgICAgICAgICAgICAgJiBQaWNrPEZhcmVDb25kaXRpb25FbnRyeSwgJ25hbWUnIHwgJ3R5cGUnIHwgJ2N1cnJlbmN5JyB8ICdhbW91bnQnIHwgJ3JlbWFyaycgfCAnY2hhbmdlRmVlSW5kJyB8ICdjYW5jZWxGZWVJbmQnIHwgJ3JlZnVuZGFibGVJbmQnPlxuICAgICAgICAgICAgICApPj4+LCBjaGFuZ2U/OiBNYXliZTxBcnJheTxNYXliZTwoXG4gICAgICAgICAgICAgICAgeyBfX3R5cGVuYW1lPzogJ0ZhcmVDb25kaXRpb25FbnRyeScgfVxuICAgICAgICAgICAgICAgICYgUGljazxGYXJlQ29uZGl0aW9uRW50cnksICduYW1lJyB8ICd0eXBlJyB8ICdjdXJyZW5jeScgfCAnYW1vdW50JyB8ICdyZW1hcmsnIHwgJ2NoYW5nZUZlZUluZCcgfCAnY2FuY2VsRmVlSW5kJyB8ICdyZWZ1bmRhYmxlSW5kJz5cbiAgICAgICAgICAgICAgKT4+Piwgbm9TaG93PzogTWF5YmU8QXJyYXk8TWF5YmU8KFxuICAgICAgICAgICAgICAgIHsgX190eXBlbmFtZT86ICdGYXJlQ29uZGl0aW9uRW50cnknIH1cbiAgICAgICAgICAgICAgICAmIFBpY2s8RmFyZUNvbmRpdGlvbkVudHJ5LCAnbmFtZScgfCAndHlwZScgfCAnY3VycmVuY3knIHwgJ2Ftb3VudCcgfCAncmVtYXJrJyB8ICdjaGFuZ2VGZWVJbmQnIHwgJ2NhbmNlbEZlZUluZCcgfCAncmVmdW5kYWJsZUluZCc+XG4gICAgICAgICAgICAgICk+Pj4sIHVwZ3JhZGU/OiBNYXliZTxBcnJheTxNYXliZTwoXG4gICAgICAgICAgICAgICAgeyBfX3R5cGVuYW1lPzogJ0ZhcmVDb25kaXRpb25FbnRyeScgfVxuICAgICAgICAgICAgICAgICYgUGljazxGYXJlQ29uZGl0aW9uRW50cnksICduYW1lJyB8ICd0eXBlJyB8ICdjdXJyZW5jeScgfCAnYW1vdW50JyB8ICdyZW1hcmsnIHwgJ2NoYW5nZUZlZUluZCcgfCAnY2FuY2VsRmVlSW5kJyB8ICdyZWZ1bmRhYmxlSW5kJz5cbiAgICAgICAgICAgICAgKT4+Piwgb3RoZXI/OiBNYXliZTxBcnJheTxNYXliZTwoXG4gICAgICAgICAgICAgICAgeyBfX3R5cGVuYW1lPzogJ0ZhcmVDb25kaXRpb25FbnRyeScgfVxuICAgICAgICAgICAgICAgICYgUGljazxGYXJlQ29uZGl0aW9uRW50cnksICduYW1lJyB8ICd0eXBlJyB8ICdjdXJyZW5jeScgfCAnYW1vdW50JyB8ICdyZW1hcmsnIHwgJ2NoYW5nZUZlZUluZCcgfCAnY2FuY2VsRmVlSW5kJyB8ICdyZWZ1bmRhYmxlSW5kJz5cbiAgICAgICAgICAgICAgKT4+PiB9XG4gICAgICAgICAgICApIH1cbiAgICAgICAgICApPj4+LCBvdXRib3VuZENhcmJvbkVtaXNzaW9ucz86IE1heWJlPChcbiAgICAgICAgICAgIHsgX190eXBlbmFtZT86ICdGbGlnaHRDYXJib25FbWlzc2lvbnMnIH1cbiAgICAgICAgICAgICYgUGljazxGbGlnaHRDYXJib25FbWlzc2lvbnMsICdhbW91bnQnIHwgJ3VuaXQnPlxuICAgICAgICAgICk+LCBpbmJvdW5kQ2FyYm9uRW1pc3Npb25zPzogTWF5YmU8KFxuICAgICAgICAgICAgeyBfX3R5cGVuYW1lPzogJ0ZsaWdodENhcmJvbkVtaXNzaW9ucycgfVxuICAgICAgICAgICAgJiBQaWNrPEZsaWdodENhcmJvbkVtaXNzaW9ucywgJ2Ftb3VudCcgfCAndW5pdCc+XG4gICAgICAgICAgKT4sIHRheGVzPzogTWF5YmU8QXJyYXk8TWF5YmU8KFxuICAgICAgICAgICAgeyBfX3R5cGVuYW1lPzogJ0ZsaWdodEFtb3VudCcgfVxuICAgICAgICAgICAgJiBQaWNrPEZsaWdodEFtb3VudCwgJ2Rlc2NyaXB0aW9uJyB8ICdhbW91bnQnIHwgJ2N1cnJlbmN5Jz5cbiAgICAgICAgICApPj4+LCBkaXNjb3VudHM/OiBNYXliZTxBcnJheTxNYXliZTwoXG4gICAgICAgICAgICB7IF9fdHlwZW5hbWU/OiAnRmxpZ2h0QW1vdW50JyB9XG4gICAgICAgICAgICAmIFBpY2s8RmxpZ2h0QW1vdW50LCAnZGVzY3JpcHRpb24nIHwgJ2Ftb3VudCcgfCAnY3VycmVuY3knPlxuICAgICAgICAgICk+Pj4sIHRvdGFsOiAoXG4gICAgICAgICAgICB7IF9fdHlwZW5hbWU/OiAnRmxpZ2h0RmFyZVRvdGFsJyB9XG4gICAgICAgICAgICAmIFBpY2s8RmxpZ2h0RmFyZVRvdGFsLCAncHJpY2UnIHwgJ3RheCcgfCAnZGlzY291bnQnIHwgJ2N1cnJlbmN5Jz5cbiAgICAgICAgICApLCBmYXJlQ29uZGl0aW9ucz86IE1heWJlPChcbiAgICAgICAgICAgIHsgX190eXBlbmFtZT86ICdGYXJlQ29uZGl0aW9ucycgfVxuICAgICAgICAgICAgJiB7IGNhbmNlbGxhdGlvbj86IE1heWJlPEFycmF5PE1heWJlPChcbiAgICAgICAgICAgICAgeyBfX3R5cGVuYW1lPzogJ0ZhcmVDb25kaXRpb25FbnRyeScgfVxuICAgICAgICAgICAgICAmIFBpY2s8RmFyZUNvbmRpdGlvbkVudHJ5LCAnbmFtZScgfCAndHlwZScgfCAnY3VycmVuY3knIHwgJ2Ftb3VudCcgfCAncmVtYXJrJyB8ICdjaGFuZ2VGZWVJbmQnIHwgJ2NhbmNlbEZlZUluZCcgfCAncmVmdW5kYWJsZUluZCc+XG4gICAgICAgICAgICApPj4+LCBjaGFuZ2U/OiBNYXliZTxBcnJheTxNYXliZTwoXG4gICAgICAgICAgICAgIHsgX190eXBlbmFtZT86ICdGYXJlQ29uZGl0aW9uRW50cnknIH1cbiAgICAgICAgICAgICAgJiBQaWNrPEZhcmVDb25kaXRpb25FbnRyeSwgJ25hbWUnIHwgJ3R5cGUnIHwgJ2N1cnJlbmN5JyB8ICdhbW91bnQnIHwgJ3JlbWFyaycgfCAnY2hhbmdlRmVlSW5kJyB8ICdjYW5jZWxGZWVJbmQnIHwgJ3JlZnVuZGFibGVJbmQnPlxuICAgICAgICAgICAgKT4+Piwgbm9TaG93PzogTWF5YmU8QXJyYXk8TWF5YmU8KFxuICAgICAgICAgICAgICB7IF9fdHlwZW5hbWU/OiAnRmFyZUNvbmRpdGlvbkVudHJ5JyB9XG4gICAgICAgICAgICAgICYgUGljazxGYXJlQ29uZGl0aW9uRW50cnksICduYW1lJyB8ICd0eXBlJyB8ICdjdXJyZW5jeScgfCAnYW1vdW50JyB8ICdyZW1hcmsnIHwgJ2NoYW5nZUZlZUluZCcgfCAnY2FuY2VsRmVlSW5kJyB8ICdyZWZ1bmRhYmxlSW5kJz5cbiAgICAgICAgICAgICk+Pj4sIHVwZ3JhZGU/OiBNYXliZTxBcnJheTxNYXliZTwoXG4gICAgICAgICAgICAgIHsgX190eXBlbmFtZT86ICdGYXJlQ29uZGl0aW9uRW50cnknIH1cbiAgICAgICAgICAgICAgJiBQaWNrPEZhcmVDb25kaXRpb25FbnRyeSwgJ25hbWUnIHwgJ3R5cGUnIHwgJ2N1cnJlbmN5JyB8ICdhbW91bnQnIHwgJ3JlbWFyaycgfCAnY2hhbmdlRmVlSW5kJyB8ICdjYW5jZWxGZWVJbmQnIHwgJ3JlZnVuZGFibGVJbmQnPlxuICAgICAgICAgICAgKT4+Piwgb3RoZXI/OiBNYXliZTxBcnJheTxNYXliZTwoXG4gICAgICAgICAgICAgIHsgX190eXBlbmFtZT86ICdGYXJlQ29uZGl0aW9uRW50cnknIH1cbiAgICAgICAgICAgICAgJiBQaWNrPEZhcmVDb25kaXRpb25FbnRyeSwgJ25hbWUnIHwgJ3R5cGUnIHwgJ2N1cnJlbmN5JyB8ICdhbW91bnQnIHwgJ3JlbWFyaycgfCAnY2hhbmdlRmVlSW5kJyB8ICdjYW5jZWxGZWVJbmQnIHwgJ3JlZnVuZGFibGVJbmQnPlxuICAgICAgICAgICAgKT4+PiB9XG4gICAgICAgICAgKT4sIGJhZ2dhZ2VBbGxvd2FuY2U/OiBNYXliZTxBcnJheTxNYXliZTwoXG4gICAgICAgICAgICB7IF9fdHlwZW5hbWU/OiAnQmFnZ2FnZUFsbG93YW5jZScgfVxuICAgICAgICAgICAgJiBQaWNrPEJhZ2dhZ2VBbGxvd2FuY2UsICd0eXBlJyB8ICdxdHknIHwgJ21heEtHJyB8ICdtYXhMQlMnPlxuICAgICAgICAgICk+Pj4gfVxuICAgICAgICApPiB9XG4gICAgICApPiwgZ3JvdXBlZD86IE1heWJlPEFycmF5PChcbiAgICAgICAgeyBfX3R5cGVuYW1lPzogJ0dyb3VwRmxpZ2h0cycgfVxuICAgICAgICAmIEdyb3VwZWRGaWVsZHNGcmFnbWVudFxuICAgICAgKT4+IH1cbiAgICApLCBlcnJvcnM6IEFycmF5PChcbiAgICAgIHsgX190eXBlbmFtZT86ICdTZWFyY2hFcnJvcicgfVxuICAgICAgJiBFcnJvcnNGcmFnbWVudFxuICAgICk+IH1cbiAgKSB9XG4pO1xuXG5leHBvcnQgdHlwZSBHZXRDYXJIaXJlRGVwb3RzUXVlcnlWYXJpYWJsZXMgPSBFeGFjdDx7XG4gIGxhdGl0dWRlOiBTY2FsYXJzWydGbG9hdCddO1xuICBsb25naXR1ZGU6IFNjYWxhcnNbJ0Zsb2F0J107XG4gIHZlbmRvckNvZGU/OiBNYXliZTxTY2FsYXJzWydTdHJpbmcnXT47XG59PjtcblxuXG5leHBvcnQgdHlwZSBHZXRDYXJIaXJlRGVwb3RzUXVlcnkgPSAoXG4gIHsgX190eXBlbmFtZT86ICdRdWVyeScgfVxuICAmIHsgZ2V0Q2FySGlyZURlcG90czogQXJyYXk8KFxuICAgIHsgX190eXBlbmFtZT86ICdDYXJIaXJlRGVwb3QnIH1cbiAgICAmIFBpY2s8Q2FySGlyZURlcG90LCAnY291bnRyeUNvZGUnIHwgJ2xvY2F0aW9uQ29kZScgfCAnZXh0ZW5kZWRMb2NhdGlvbkNvZGUnIHwgJ3ZlbmRvckNvZGUnIHwgJ2xhdGl0dWRlJyB8ICdsb25naXR1ZGUnIHwgJ3ZlbmRvcicgfCAnYWRkcmVzc0xpbmVzJyB8ICdjaXR5TmFtZSc+XG4gICk+IH1cbik7XG5cbmV4cG9ydCB0eXBlIEdldENvbmZlcm1hT2ZmaWNlTmFtZXNRdWVyeVZhcmlhYmxlcyA9IEV4YWN0PHsgW2tleTogc3RyaW5nXTogbmV2ZXI7IH0+O1xuXG5cbmV4cG9ydCB0eXBlIEdldENvbmZlcm1hT2ZmaWNlTmFtZXNRdWVyeSA9IChcbiAgeyBfX3R5cGVuYW1lPzogJ1F1ZXJ5JyB9XG4gICYgeyBnZXRDb25mZXJtYU9mZmljZU5hbWVzOiAoXG4gICAgeyBfX3R5cGVuYW1lPzogJ0NvbmZlcm1hT2ZmaWNlTmFtZXNSZXN1bHQnIH1cbiAgICAmIHsgcmVzdWx0cz86IE1heWJlPEFycmF5PE1heWJlPChcbiAgICAgIHsgX190eXBlbmFtZT86ICdDb25mZXJtYU9mZmljZU5hbWVzJyB9XG4gICAgICAmIFBpY2s8Q29uZmVybWFPZmZpY2VOYW1lcywgJ2lkJyB8ICduYW1lJz5cbiAgICApPj4+LCBlcnJvcnM6IEFycmF5PChcbiAgICAgIHsgX190eXBlbmFtZT86ICdTZWFyY2hFcnJvcicgfVxuICAgICAgJiBFcnJvcnNGcmFnbWVudFxuICAgICk+IH1cbiAgKSB9XG4pO1xuXG5leHBvcnQgdHlwZSBHZXRDb25mZXJtYVF1aWNrbGlzdFF1ZXJ5VmFyaWFibGVzID0gRXhhY3Q8e1xuICBjb3VudHJ5Q29kZTogU2NhbGFyc1snU3RyaW5nJ107XG59PjtcblxuXG5leHBvcnQgdHlwZSBHZXRDb25mZXJtYVF1aWNrbGlzdFF1ZXJ5ID0gKFxuICB7IF9fdHlwZW5hbWU/OiAnUXVlcnknIH1cbiAgJiB7IGdldENvbmZlcm1hUXVpY2tsaXN0OiAoXG4gICAgeyBfX3R5cGVuYW1lPzogJ0hvdGVsU2VhcmNoUmVzdWx0JyB9XG4gICAgJiB7IHJlc3VsdHM/OiBNYXliZTxBcnJheTxNYXliZTwoXG4gICAgICB7IF9fdHlwZW5hbWU/OiAnSG90ZWxJdGluZXJhcnknIH1cbiAgICAgICYgUGljazxIb3RlbEl0aW5lcmFyeSwgJ2lkJyB8ICduYW1lJyB8ICdpbWFnZVVybCcgfCAnZ3JvdXAnIHwgJ3ZlcnNpb24nIHwgJ3RtY1ByZWZlcnJlZE1lc3NhZ2UnIHwgJ2NvbXBhbnlQcmVmZXJyZWRNZXNzYWdlJyB8ICdvZmZpY2VQcmVmZXJyZWRNZXNzYWdlJyB8ICd1bmF2YWlsYWJsZU1lc3NhZ2UnPlxuICAgICAgJiB7IGxvY2F0aW9uOiAoXG4gICAgICAgIHsgX190eXBlbmFtZT86ICdIb3RlbExvY2F0aW9uJyB9XG4gICAgICAgICYgUGljazxIb3RlbExvY2F0aW9uLCAnZGlzdGFuY2UnIHwgJ2Rpc3RhbmNlVHlwZScgfCAnbG9uZ2l0dWRlJyB8ICdsYXRpdHVkZSc+XG4gICAgICApLCBhZGRyZXNzOiAoXG4gICAgICAgIHsgX190eXBlbmFtZT86ICdIb3RlbEFkZHJlc3MnIH1cbiAgICAgICAgJiBQaWNrPEhvdGVsQWRkcmVzcywgJ2FkZHJlc3NMaW5lMScgfCAnYWRkcmVzc0xpbmUyJyB8ICdhZGRyZXNzTGluZTMnIHwgJ3Bvc3RPclppcENvZGUnIHwgJ2NvdW50cnlDb2RlJyB8ICd0ZWxlcGhvbmUnIHwgJ2ZhY3NpbWlsZSc+XG4gICAgICApLCB0cmFuc3BvcnRzPzogTWF5YmU8QXJyYXk8TWF5YmU8KFxuICAgICAgICB7IF9fdHlwZW5hbWU/OiAnSG90ZWxUcmFuc3BvcnQnIH1cbiAgICAgICAgJiBQaWNrPEhvdGVsVHJhbnNwb3J0LCAndHlwZScgfCAnbmFtZScgfCAnY29kZScgfCAnZGlzdGFuY2UnIHwgJ2Rpc3RhbmNlVHlwZScgfCAnbG9uZ2l0dWRlJyB8ICdsYXRpdHVkZSc+XG4gICAgICApPj4+LCBwcmVmZXJyZWQ6IChcbiAgICAgICAgeyBfX3R5cGVuYW1lPzogJ0hvdGVsUHJlZmVycmVkJyB9XG4gICAgICAgICYgUGljazxIb3RlbFByZWZlcnJlZCwgJ2NsaWVudCcgfCAnY29uc3VtZXInPlxuICAgICAgKSwgdGFncz86IE1heWJlPEFycmF5PE1heWJlPChcbiAgICAgICAgeyBfX3R5cGVuYW1lPzogJ0hvdGVsVGFnJyB9XG4gICAgICAgICYgUGljazxIb3RlbFRhZywgJ25hbWUnIHwgJ2Rpc3BsYXknIHwgJ3R5cGUnIHwgJ2ljb24nPlxuICAgICAgKT4+PiwgYXZhaWxhYmxlUmF0ZXM/OiBNYXliZTwoXG4gICAgICAgIHsgX190eXBlbmFtZT86ICdIb3RlbEF2YWlsYWJpbGl0eScgfVxuICAgICAgICAmIFBpY2s8SG90ZWxBdmFpbGFiaWxpdHksICdob3RlbElkJyB8ICdpbWFnZVVybCcgfCAncHJwbicgfCAnY3VycmVuY3lDb2RlJyB8ICdpc0J1c3knIHwgJ3NvdXJjZScgfCAndmVyc2lvbic+XG4gICAgICAgICYgeyByb29tcz86IE1heWJlPEFycmF5PE1heWJlPChcbiAgICAgICAgICB7IF9fdHlwZW5hbWU/OiAnSG90ZWxSb29tJyB9XG4gICAgICAgICAgJiBQaWNrPEhvdGVsUm9vbSwgJ3Jvb21JZCcgfCAncm9vbVR5cGUnIHwgJ3Jvb21EZXNjcmlwdGlvbicgfCAncmF0ZUNvZGUnIHwgJ3JhdGVEZXNjcmlwdGlvbicgfCAndG90YWwnIHwgJ2N1cnJlbmN5Q29kZSc+XG4gICAgICAgICAgJiB7IGN1cnJlbmN5Q29udmVyc2lvbj86IE1heWJlPChcbiAgICAgICAgICAgIHsgX190eXBlbmFtZT86ICdIb3RlbENvbnZlcnNpb24nIH1cbiAgICAgICAgICAgICYgUGljazxIb3RlbENvbnZlcnNpb24sICdyYXRlJyB8ICdsb2NhbENvZGUnIHwgJ2xvY2FsVG90YWwnIHwgJ2NvbnZlcnRlZENvZGUnIHwgJ2NvbnZlcnRlZFRvdGFsJz5cbiAgICAgICAgICApPiwgZGVwb3NpdD86IE1heWJlPChcbiAgICAgICAgICAgIHsgX190eXBlbmFtZT86ICdIb3RlbERlcG9zaXQnIH1cbiAgICAgICAgICAgICYgUGljazxIb3RlbERlcG9zaXQsICdhbW91bnQnIHwgJ3BvbGljeScgfCAncmVxdWlyZWQnPlxuICAgICAgICAgICk+LCBuaWdodHM6IEFycmF5PChcbiAgICAgICAgICAgIHsgX190eXBlbmFtZT86ICdIb3RlbE5pZ2h0JyB9XG4gICAgICAgICAgICAmIFBpY2s8SG90ZWxOaWdodCwgJ25pZ2h0JyB8ICdyYXRlJyB8ICdpbmZvJyB8ICdkYXRlJz5cbiAgICAgICAgICApPiwgcG9saWNpZXM6IChcbiAgICAgICAgICAgIHsgX190eXBlbmFtZT86ICdIb3RlbFBvbGljeScgfVxuICAgICAgICAgICAgJiBQaWNrPEhvdGVsUG9saWN5LCAnY2FuY2VsbGF0aW9uJyB8ICdkZXBvc2l0JyB8ICdkaXNhYmxlZEFjY2VzcycgfCAnZ2VuZXJhbCcgfCAnZ3VhcmFudGVlJyB8ICdyZWZ1bmRBdmFpbGFibGUnPlxuICAgICAgICAgICksIHRheDogKFxuICAgICAgICAgICAgeyBfX3R5cGVuYW1lPzogJ0hvdGVsVGF4JyB9XG4gICAgICAgICAgICAmIFBpY2s8SG90ZWxUYXgsICdpbmNsdWRlZCcgfCAncmF0ZSc+XG4gICAgICAgICAgKSwgYWNjZXB0ZWRDYXJkcz86IE1heWJlPEFycmF5PE1heWJlPChcbiAgICAgICAgICAgIHsgX190eXBlbmFtZT86ICdIb3RlbENhcmQnIH1cbiAgICAgICAgICAgICYgUGljazxIb3RlbENhcmQsICdpZCcgfCAnbmFtZSc+XG4gICAgICAgICAgKT4+PiwgcGF5bWVudFR5cGVzPzogTWF5YmU8QXJyYXk8TWF5YmU8KFxuICAgICAgICAgICAgeyBfX3R5cGVuYW1lPzogJ0hvdGVsUGF5bWVudFR5cGUnIH1cbiAgICAgICAgICAgICYgUGljazxIb3RlbFBheW1lbnRUeXBlLCAndHlwZScgfCAnbmFtZSc+XG4gICAgICAgICAgKT4+PiB9XG4gICAgICAgICk+Pj4gfVxuICAgICAgKT4gfVxuICAgICk+Pj4sIGVycm9yczogQXJyYXk8KFxuICAgICAgeyBfX3R5cGVuYW1lPzogJ1NlYXJjaEVycm9yJyB9XG4gICAgICAmIEVycm9yc0ZyYWdtZW50XG4gICAgKT4gfVxuICApIH1cbik7XG5cbmV4cG9ydCB0eXBlIEdldFJhaWxTdGF0aW9uUXVlcnlWYXJpYWJsZXMgPSBFeGFjdDx7XG4gIGlkPzogTWF5YmU8U2NhbGFyc1snSUQnXT47XG4gIGNvZGU/OiBNYXliZTxTY2FsYXJzWydTdHJpbmcnXT47XG59PjtcblxuXG5leHBvcnQgdHlwZSBHZXRSYWlsU3RhdGlvblF1ZXJ5ID0gKFxuICB7IF9fdHlwZW5hbWU/OiAnUXVlcnknIH1cbiAgJiB7IGdldFJhaWxTdGF0aW9uOiAoXG4gICAgeyBfX3R5cGVuYW1lPzogJ1JhaWxTdGF0aW9uJyB9XG4gICAgJiBQaWNrPFJhaWxTdGF0aW9uLCAnaWQnIHwgJ25hbWUnIHwgJ3N0YXRpb25Db2RlJyB8ICdubGNDb2RlJyB8ICd0cmFpbmxpbmVDb2RlJyB8ICd0cmFpbmxpbmVVbmlxdWVDb2RlJz5cbiAgICAmIHsgbG9jYXRpb25EZXRhaWxzPzogTWF5YmU8KFxuICAgICAgeyBfX3R5cGVuYW1lPzogJ0xvY2F0aW9uRGV0YWlsJyB9XG4gICAgICAmIFBpY2s8TG9jYXRpb25EZXRhaWwsICdjb250aW5lbnQnIHwgJ2NvdW50cnknIHwgJ2NvdW50cnlDb2RlJyB8ICdzdGF0ZScgfCAnY2l0eScgfCAncG9zdGNvZGUnIHwgJ3JvYWQnIHwgJ2dyaWRSZWZlcmVuY2UnIHwgJ25vcnRoaW5nJyB8ICdlYXN0aW5nJz5cbiAgICAgICYgeyBjb29yZGluYXRlcz86IE1heWJlPChcbiAgICAgICAgeyBfX3R5cGVuYW1lPzogJ0dlb0Nvb3JkaW5hdGVzJyB9XG4gICAgICAgICYgUGljazxHZW9Db29yZGluYXRlcywgJ2xhdGl0dWRlJyB8ICdsb25naXR1ZGUnIHwgJ2FsdGl0dWRlJz5cbiAgICAgICk+IH1cbiAgICApPiB9XG4gICkgfVxuKTtcblxuZXhwb3J0IHR5cGUgR2V0UmFpbGNhcmRzUXVlcnlWYXJpYWJsZXMgPSBFeGFjdDx7IFtrZXk6IHN0cmluZ106IG5ldmVyOyB9PjtcblxuXG5leHBvcnQgdHlwZSBHZXRSYWlsY2FyZHNRdWVyeSA9IChcbiAgeyBfX3R5cGVuYW1lPzogJ1F1ZXJ5JyB9XG4gICYgeyBnZXRSYWlsY2FyZHM6IEFycmF5PChcbiAgICB7IF9fdHlwZW5hbWU/OiAnUmVmZXJlbmNlUmFpbENhcmRRdWFsaWZpZXInIH1cbiAgICAmIFBpY2s8UmVmZXJlbmNlUmFpbENhcmRRdWFsaWZpZXIsICduYW1lJyB8ICdjb2RlJz5cbiAgKT4gfVxuKTtcblxuZXhwb3J0IHR5cGUgR2V0Umlza0FsZXJ0c1F1ZXJ5VmFyaWFibGVzID0gRXhhY3Q8e1xuICBtaW5MZXZlbDogUmlza0xldmVsO1xuICBtYXhMZXZlbDogUmlza0xldmVsO1xuICBjb3VudHJ5SXNvQ29kZT86IE1heWJlPFNjYWxhcnNbJ1N0cmluZyddPjtcbiAgYWlycG9ydD86IE1heWJlPFNjYWxhcnNbJ0lEJ10+O1xuICByYWlsU3RhdGlvbj86IE1heWJlPFNjYWxhcnNbJ0lEJ10+O1xuICBhaXJwb3J0SWF0YT86IE1heWJlPFNjYWxhcnNbJ1N0cmluZyddPjtcbn0+O1xuXG5cbmV4cG9ydCB0eXBlIEdldFJpc2tBbGVydHNRdWVyeSA9IChcbiAgeyBfX3R5cGVuYW1lPzogJ1F1ZXJ5JyB9XG4gICYgeyBnZXRSaXNrQWxlcnRzOiBBcnJheTwoXG4gICAgeyBfX3R5cGVuYW1lPzogJ1Jpc2tBbGVydCcgfVxuICAgICYgUGljazxSaXNrQWxlcnQsICdpZCcgfCAndGl0bGUnIHwgJ2Rlc2NyaXB0aW9uJyB8ICdicmVha2luZycgfCAncmlzaycgfCAnY2F0ZWdvcnknIHwgJ2NvdW50cnknIHwgJ2xvY2F0aW9uJyB8ICdsYXRpdHVkZScgfCAnbG9uZ2l0dWRlJyB8ICdzdGFydERhdGUnIHwgJ2VuZERhdGUnIHwgJ3JlY2VpdmVkRGF0ZSc+XG4gICk+IH1cbik7XG5cbmV4cG9ydCB0eXBlIEdldFVzZXJBZGRyZXNzZXNRdWVyeVZhcmlhYmxlcyA9IEV4YWN0PHsgW2tleTogc3RyaW5nXTogbmV2ZXI7IH0+O1xuXG5cbmV4cG9ydCB0eXBlIEdldFVzZXJBZGRyZXNzZXNRdWVyeSA9IChcbiAgeyBfX3R5cGVuYW1lPzogJ1F1ZXJ5JyB9XG4gICYgeyBnZXRVc2VyQWRkcmVzc2VzOiBBcnJheTwoXG4gICAgeyBfX3R5cGVuYW1lPzogJ0FkZHJlc3MnIH1cbiAgICAmIFBpY2s8QWRkcmVzcywgJ2lkJyB8ICdkZXNjcmlwdGlvbicgfCAnbnVtYmVyT3JOYW1lJyB8ICdzdHJlZXQnIHwgJ3Rvd24nIHwgJ2NvdW50eScgfCAncG9zdGNvZGUnIHwgJ2NvdW50cnlDb2RlJyB8ICd1c2VyUHJpbWFyeScgfCAnb2ZmaWNlUHJpbWFyeSc+XG4gICk+IH1cbik7XG5cbmV4cG9ydCB0eXBlIEdldFVzZXJDb21wYW55T2ZmaWNlc1F1ZXJ5VmFyaWFibGVzID0gRXhhY3Q8eyBba2V5OiBzdHJpbmddOiBuZXZlcjsgfT47XG5cblxuZXhwb3J0IHR5cGUgR2V0VXNlckNvbXBhbnlPZmZpY2VzUXVlcnkgPSAoXG4gIHsgX190eXBlbmFtZT86ICdRdWVyeScgfVxuICAmIHsgZ2V0VXNlckNvbXBhbnlPZmZpY2VzOiBBcnJheTwoXG4gICAgeyBfX3R5cGVuYW1lPzogJ09mZmljZScgfVxuICAgICYgUGljazxPZmZpY2UsICdpZCcgfCAnbmFtZSc+XG4gICAgJiB7IGFkZHJlc3NlczogQXJyYXk8KFxuICAgICAgeyBfX3R5cGVuYW1lPzogJ0FkZHJlc3MnIH1cbiAgICAgICYgUGljazxBZGRyZXNzLCAnaWQnIHwgJ2Rlc2NyaXB0aW9uJyB8ICdudW1iZXJPck5hbWUnIHwgJ3N0cmVldCcgfCAndG93bicgfCAnY291bnR5JyB8ICdwb3N0Y29kZScgfCAnY291bnRyeUNvZGUnIHwgJ3VzZXJQcmltYXJ5JyB8ICdvZmZpY2VQcmltYXJ5Jz5cbiAgICApPiB9XG4gICk+IH1cbik7XG5cbmV4cG9ydCB0eXBlIEdldFVzZXJDdXJyZW50Q2FyYm9uQWxsb3dhbmNlUXVlcnlWYXJpYWJsZXMgPSBFeGFjdDx7XG4gIHVzZXI/OiBNYXliZTxTY2FsYXJzWydJRCddPjtcbn0+O1xuXG5cbmV4cG9ydCB0eXBlIEdldFVzZXJDdXJyZW50Q2FyYm9uQWxsb3dhbmNlUXVlcnkgPSAoXG4gIHsgX190eXBlbmFtZT86ICdRdWVyeScgfVxuICAmIHsgZ2V0VXNlckN1cnJlbnRDYXJib25BbGxvd2FuY2U/OiBNYXliZTwoXG4gICAgeyBfX3R5cGVuYW1lPzogJ0NhcmJvbkFsbG93YW5jZScgfVxuICAgICYgUGljazxDYXJib25BbGxvd2FuY2UsICdpZCcgfCAnc3RhcnRPZlBlcmlvZCcgfCAnZW5kT2ZQZXJpb2QnIHwgJ3JlbWFpbmluZ0NvMicgfCAndG90YWxDbzInIHwgJ2NhcmJvblBvbGljeVNvdXJjZSc+XG4gICAgJiB7IGNvbXBhbnk/OiBNYXliZTwoXG4gICAgICB7IF9fdHlwZW5hbWU/OiAnQ29tcGFueScgfVxuICAgICAgJiBQaWNrPENvbXBhbnksICdpZCcgfCAnbmFtZSc+XG4gICAgKT4sIG9mZmljZT86IE1heWJlPChcbiAgICAgIHsgX190eXBlbmFtZT86ICdPZmZpY2UnIH1cbiAgICAgICYgUGljazxPZmZpY2UsICdpZCcgfCAnbmFtZSc+XG4gICAgKT4sIHVzZXI6IChcbiAgICAgIHsgX190eXBlbmFtZT86ICdVc2VyJyB9XG4gICAgICAmIFBpY2s8VXNlciwgJ2lkJyB8ICdmb3JlbmFtZScgfCAnc3VybmFtZScgfCAnZW1haWwnPlxuICAgICksIHBlcmlvZENvbnN1bXB0aW9uOiBBcnJheTwoXG4gICAgICB7IF9fdHlwZW5hbWU/OiAnQ2FyYm9uQ29uc3VtcHRpb24nIH1cbiAgICAgICYgUGljazxDYXJib25Db25zdW1wdGlvbiwgJ2lkJyB8ICdjb25zdW1lZCcgfCAnZGF0ZXRpbWUnPlxuICAgICk+IH1cbiAgKT4gfVxuKTtcblxuZXhwb3J0IHR5cGUgR2V0VXNlck1pQXV0b1N1Z2dlc3RWYWx1ZXNRdWVyeVZhcmlhYmxlcyA9IEV4YWN0PHtcbiAgbWk6IFNjYWxhcnNbJ0lEJ107XG4gIHBhcnRpYWxMYWJlbDogU2NhbGFyc1snU3RyaW5nJ107XG59PjtcblxuXG5leHBvcnQgdHlwZSBHZXRVc2VyTWlBdXRvU3VnZ2VzdFZhbHVlc1F1ZXJ5ID0gKFxuICB7IF9fdHlwZW5hbWU/OiAnUXVlcnknIH1cbiAgJiB7IGdldFVzZXJNSUF1dG9TdWdnZXN0VmFsdWVzOiBBcnJheTwoXG4gICAgeyBfX3R5cGVuYW1lPzogJ01hbmFnZW1lbnRJbmZvVmFsdWUnIH1cbiAgICAmIFBpY2s8TWFuYWdlbWVudEluZm9WYWx1ZSwgJ2lkJyB8ICdsYWJlbCcgfCAndmFsdWUnIHwgJ2RlZmF1bHQnIHwgJ2ZpeGVkJyB8ICdhZ2VudE9ubHknPlxuICApPiB9XG4pO1xuXG5leHBvcnQgdHlwZSBHZXRVc2VyUGhvbmVRdWVyeVZhcmlhYmxlcyA9IEV4YWN0PHsgW2tleTogc3RyaW5nXTogbmV2ZXI7IH0+O1xuXG5cbmV4cG9ydCB0eXBlIEdldFVzZXJQaG9uZVF1ZXJ5ID0gKFxuICB7IF9fdHlwZW5hbWU/OiAnUXVlcnknIH1cbiAgJiB7IGdldFVzZXJQaG9uZU51bWJlcnM6IEFycmF5PChcbiAgICB7IF9fdHlwZW5hbWU/OiAnUGhvbmVOdW1iZXInIH1cbiAgICAmIFBpY2s8UGhvbmVOdW1iZXIsICdpZCcgfCAnZGVzY3JpcHRpb24nIHwgJ2NvdW50cnlDb2RlJyB8ICdhcmVhQ29kZScgfCAnbnVtYmVyJyB8ICdleHRlbnNpb24nIHwgJ3R5cGUnIHwgJ29mZmljZVByaW1hcnknIHwgJ3VzZXJQcmltYXJ5Jz5cbiAgKT4gfVxuKTtcblxuZXhwb3J0IHR5cGUgR2V0VXNlclJlY2VudFNlYXJjaGVzUXVlcnlWYXJpYWJsZXMgPSBFeGFjdDx7XG4gIHNlcnZpY2VUeXBlPzogTWF5YmU8U2VydmljZVR5cGU+O1xufT47XG5cblxuZXhwb3J0IHR5cGUgR2V0VXNlclJlY2VudFNlYXJjaGVzUXVlcnkgPSAoXG4gIHsgX190eXBlbmFtZT86ICdRdWVyeScgfVxuICAmIHsgZ2V0VXNlclJlY2VudFNlYXJjaGVzOiBBcnJheTwoXG4gICAgeyBfX3R5cGVuYW1lPzogJ1NlYXJjaCcgfVxuICAgICYgUGljazxTZWFyY2gsICdpZCcgfCAnbmFtZScgfCAnc2VydmljZVR5cGUnIHwgJ3NlYXJjaEFyZ3MnIHwgJ2NyZWF0ZWRBdCcgfCAndXBkYXRlZEF0JyB8ICd0cmF2ZWxEYXRlJz5cbiAgICAmIHsgdHJhdmVsbGVycz86IE1heWJlPEFycmF5PChcbiAgICAgIHsgX190eXBlbmFtZT86ICdVc2VyJyB9XG4gICAgICAmIFBpY2s8VXNlciwgJ2lkJyB8ICd0aXRsZScgfCAnZm9yZW5hbWUnIHwgJ3N1cm5hbWUnIHwgJ2VtYWlsJyB8ICd1c2VybmFtZScgfCAnZG9iJz5cbiAgICApPj4gfVxuICApPiB9XG4pO1xuXG5leHBvcnQgdHlwZSBTZWFyY2hIb3RlbHNRdWVyeVZhcmlhYmxlcyA9IEV4YWN0PHtcbiAgc3RhcnREYXRlOiBTY2FsYXJzWydEYXRlJ107XG4gIGVuZERhdGU6IFNjYWxhcnNbJ0RhdGUnXTtcbiAgY2l0eU5hbWU/OiBNYXliZTxTY2FsYXJzWydTdHJpbmcnXT47XG4gIHBvc3RPclppcENvZGU/OiBNYXliZTxTY2FsYXJzWydTdHJpbmcnXT47XG4gIGNvdW50cnlDb2RlPzogTWF5YmU8U2NhbGFyc1snU3RyaW5nJ10+O1xuICBsYXRpdHVkZT86IE1heWJlPFNjYWxhcnNbJ0Zsb2F0J10+O1xuICBsb25naXR1ZGU/OiBNYXliZTxTY2FsYXJzWydGbG9hdCddPjtcbiAgdHJhaW5TdGF0aW9uQ29kZT86IE1heWJlPFNjYWxhcnNbJ1N0cmluZyddPjtcbiAgaWF0YT86IE1heWJlPFNjYWxhcnNbJ1N0cmluZyddPjtcbiAgb2ZmaWNlSWQ/OiBNYXliZTxTY2FsYXJzWydJbnQnXT47XG4gIHJvb21zOiBTY2FsYXJzWydJbnQnXTtcbiAgYWR1bHRzOiBTY2FsYXJzWydJbnQnXTtcbiAgY2hpbGRyZW4/OiBNYXliZTxTY2FsYXJzWydJbnQnXT47XG4gIGN1cnJlbmN5OiBTY2FsYXJzWydTdHJpbmcnXTtcbiAgZGlzdGFuY2VUeXBlOiBEaXN0YW5jZVR5cGVzO1xuICBkaXN0YW5jZTogU2NhbGFyc1snSW50J107XG4gIG1heFJlc3VsdHM/OiBNYXliZTxTY2FsYXJzWydJbnQnXT47XG4gIGhvdGVsTmFtZT86IE1heWJlPFNjYWxhcnNbJ1N0cmluZyddPjtcbiAgZ3JvdXBOYW1lPzogTWF5YmU8U2NhbGFyc1snU3RyaW5nJ10+O1xufT47XG5cblxuZXhwb3J0IHR5cGUgU2VhcmNoSG90ZWxzUXVlcnkgPSAoXG4gIHsgX190eXBlbmFtZT86ICdRdWVyeScgfVxuICAmIHsgc2VhcmNoSG90ZWxzOiAoXG4gICAgeyBfX3R5cGVuYW1lPzogJ0hvdGVsU2VhcmNoUmVzdWx0JyB9XG4gICAgJiB7IHJlc3VsdHM/OiBNYXliZTxBcnJheTxNYXliZTwoXG4gICAgICB7IF9fdHlwZW5hbWU/OiAnSG90ZWxJdGluZXJhcnknIH1cbiAgICAgICYgUGljazxIb3RlbEl0aW5lcmFyeSwgJ2lkJyB8ICduYW1lJyB8ICdpbWFnZVVybCcgfCAnZ3JvdXAnIHwgJ2NvMlBlclBhc3NlbmdlcicgfCAnY28yUGVySXRlbScgfCAnc291cmNlJyB8ICdzb3VyY2VJZCcgfCAndmVyc2lvbicgfCAndG1jUHJlZmVycmVkJyB8ICdjb21wYW55UHJlZmVycmVkJyB8ICdvZmZpY2VQcmVmZXJyZWQnIHwgJ3RtY1ByZWZlcnJlZE1lc3NhZ2UnIHwgJ2NvbXBhbnlQcmVmZXJyZWRNZXNzYWdlJyB8ICdvZmZpY2VQcmVmZXJyZWRNZXNzYWdlJyB8ICd1bmF2YWlsYWJsZScgfCAndW5hdmFpbGFibGVNZXNzYWdlJz5cbiAgICAgICYgeyBsb2NhdGlvbjogKFxuICAgICAgICB7IF9fdHlwZW5hbWU/OiAnSG90ZWxMb2NhdGlvbicgfVxuICAgICAgICAmIFBpY2s8SG90ZWxMb2NhdGlvbiwgJ2Rpc3RhbmNlJyB8ICdkaXN0YW5jZVR5cGUnIHwgJ2xvbmdpdHVkZScgfCAnbGF0aXR1ZGUnPlxuICAgICAgKSwgYWRkcmVzczogKFxuICAgICAgICB7IF9fdHlwZW5hbWU/OiAnSG90ZWxBZGRyZXNzJyB9XG4gICAgICAgICYgUGljazxIb3RlbEFkZHJlc3MsICdhZGRyZXNzTGluZTEnIHwgJ2FkZHJlc3NMaW5lMicgfCAnYWRkcmVzc0xpbmUzJyB8ICdwb3N0T3JaaXBDb2RlJyB8ICdjb3VudHJ5Q29kZScgfCAndGVsZXBob25lJyB8ICdmYWNzaW1pbGUnPlxuICAgICAgKSwgdHJhbnNwb3J0cz86IE1heWJlPEFycmF5PE1heWJlPChcbiAgICAgICAgeyBfX3R5cGVuYW1lPzogJ0hvdGVsVHJhbnNwb3J0JyB9XG4gICAgICAgICYgUGljazxIb3RlbFRyYW5zcG9ydCwgJ3R5cGUnIHwgJ25hbWUnIHwgJ2NvZGUnIHwgJ2Rpc3RhbmNlJyB8ICdkaXN0YW5jZVR5cGUnIHwgJ2xvbmdpdHVkZScgfCAnbGF0aXR1ZGUnPlxuICAgICAgKT4+PiwgcHJlZmVycmVkOiAoXG4gICAgICAgIHsgX190eXBlbmFtZT86ICdIb3RlbFByZWZlcnJlZCcgfVxuICAgICAgICAmIFBpY2s8SG90ZWxQcmVmZXJyZWQsICdjbGllbnQnIHwgJ2NvbnN1bWVyJz5cbiAgICAgICksIHRhZ3M/OiBNYXliZTxBcnJheTxNYXliZTwoXG4gICAgICAgIHsgX190eXBlbmFtZT86ICdIb3RlbFRhZycgfVxuICAgICAgICAmIFBpY2s8SG90ZWxUYWcsICduYW1lJyB8ICdkaXNwbGF5JyB8ICd0eXBlJyB8ICdpY29uJz5cbiAgICAgICk+Pj4sIGF2YWlsYWJsZVJhdGVzPzogTWF5YmU8KFxuICAgICAgICB7IF9fdHlwZW5hbWU/OiAnSG90ZWxBdmFpbGFiaWxpdHknIH1cbiAgICAgICAgJiBQaWNrPEhvdGVsQXZhaWxhYmlsaXR5LCAnaG90ZWxJZCcgfCAnaW1hZ2VVcmwnIHwgJ3BycG4nIHwgJ2N1cnJlbmN5Q29kZScgfCAnaXNCdXN5JyB8ICdzb3VyY2UnIHwgJ3ZlcnNpb24nPlxuICAgICAgICAmIHsgcm9vbXM/OiBNYXliZTxBcnJheTxNYXliZTwoXG4gICAgICAgICAgeyBfX3R5cGVuYW1lPzogJ0hvdGVsUm9vbScgfVxuICAgICAgICAgICYgUGljazxIb3RlbFJvb20sICdyb29tSWQnIHwgJ3Jvb21UeXBlJyB8ICdyb29tRGVzY3JpcHRpb24nIHwgJ3JhdGVDb2RlJyB8ICdyYXRlRGVzY3JpcHRpb24nIHwgJ3RvdGFsJyB8ICdjdXJyZW5jeUNvZGUnPlxuICAgICAgICAgICYgeyBjdXJyZW5jeUNvbnZlcnNpb24/OiBNYXliZTwoXG4gICAgICAgICAgICB7IF9fdHlwZW5hbWU/OiAnSG90ZWxDb252ZXJzaW9uJyB9XG4gICAgICAgICAgICAmIFBpY2s8SG90ZWxDb252ZXJzaW9uLCAncmF0ZScgfCAnbG9jYWxDb2RlJyB8ICdsb2NhbFRvdGFsJyB8ICdjb252ZXJ0ZWRDb2RlJyB8ICdjb252ZXJ0ZWRUb3RhbCc+XG4gICAgICAgICAgKT4sIGRlcG9zaXQ/OiBNYXliZTwoXG4gICAgICAgICAgICB7IF9fdHlwZW5hbWU/OiAnSG90ZWxEZXBvc2l0JyB9XG4gICAgICAgICAgICAmIFBpY2s8SG90ZWxEZXBvc2l0LCAnYW1vdW50JyB8ICdwb2xpY3knIHwgJ3JlcXVpcmVkJz5cbiAgICAgICAgICApPiwgbmlnaHRzOiBBcnJheTwoXG4gICAgICAgICAgICB7IF9fdHlwZW5hbWU/OiAnSG90ZWxOaWdodCcgfVxuICAgICAgICAgICAgJiBQaWNrPEhvdGVsTmlnaHQsICduaWdodCcgfCAncmF0ZScgfCAnaW5mbycgfCAnZGF0ZSc+XG4gICAgICAgICAgKT4sIHBvbGljaWVzOiAoXG4gICAgICAgICAgICB7IF9fdHlwZW5hbWU/OiAnSG90ZWxQb2xpY3knIH1cbiAgICAgICAgICAgICYgUGljazxIb3RlbFBvbGljeSwgJ2NhbmNlbGxhdGlvbicgfCAnZGVwb3NpdCcgfCAnZGlzYWJsZWRBY2Nlc3MnIHwgJ2dlbmVyYWwnIHwgJ2d1YXJhbnRlZScgfCAncmVmdW5kQXZhaWxhYmxlJz5cbiAgICAgICAgICApLCB0YXg6IChcbiAgICAgICAgICAgIHsgX190eXBlbmFtZT86ICdIb3RlbFRheCcgfVxuICAgICAgICAgICAgJiBQaWNrPEhvdGVsVGF4LCAnaW5jbHVkZWQnIHwgJ3JhdGUnPlxuICAgICAgICAgICksIGFjY2VwdGVkQ2FyZHM/OiBNYXliZTxBcnJheTxNYXliZTwoXG4gICAgICAgICAgICB7IF9fdHlwZW5hbWU/OiAnSG90ZWxDYXJkJyB9XG4gICAgICAgICAgICAmIFBpY2s8SG90ZWxDYXJkLCAnaWQnIHwgJ25hbWUnPlxuICAgICAgICAgICk+Pj4sIHBheW1lbnRUeXBlcz86IE1heWJlPEFycmF5PE1heWJlPChcbiAgICAgICAgICAgIHsgX190eXBlbmFtZT86ICdIb3RlbFBheW1lbnRUeXBlJyB9XG4gICAgICAgICAgICAmIFBpY2s8SG90ZWxQYXltZW50VHlwZSwgJ3R5cGUnIHwgJ25hbWUnPlxuICAgICAgICAgICk+Pj4gfVxuICAgICAgICApPj4+IH1cbiAgICAgICk+IH1cbiAgICApPj4+LCBlcnJvcnM6IEFycmF5PChcbiAgICAgIHsgX190eXBlbmFtZT86ICdTZWFyY2hFcnJvcicgfVxuICAgICAgJiBQaWNrPFNlYXJjaEVycm9yLCAnZXJyb3JNZXNzYWdlJyB8ICdlcnJvckNvZGUnPlxuICAgICAgJiB7IHNlcnZpY2U6IChcbiAgICAgICAgeyBfX3R5cGVuYW1lPzogJ1NlcnZpY2UnIH1cbiAgICAgICAgJiBQaWNrPFNlcnZpY2UsICdpZCcgfCAndHlwZScgfCAnbmFtZScgfCAnZGVzY3JpcHRpb24nIHwgJ2RldGFpbFNjaGVtYScgfCAnc2VhcmNoUXVlcnlTY2hlbWEnPlxuICAgICAgKSB9XG4gICAgKT4gfVxuICApIH1cbik7XG5cbmV4cG9ydCB0eXBlIEdldE11bHRpcGxlSG90ZWxzQXZhaWxhYmlsaXR5UXVlcnlWYXJpYWJsZXMgPSBFeGFjdDx7XG4gIGhvdGVsOiBBcnJheTxTY2FsYXJzWydTdHJpbmcnXT4gfCBTY2FsYXJzWydTdHJpbmcnXTtcbiAgc3RhcnREYXRlOiBTY2FsYXJzWydEYXRlJ107XG4gIGVuZERhdGU6IFNjYWxhcnNbJ0RhdGUnXTtcbiAgY3VycmVuY3k6IFNjYWxhcnNbJ1N0cmluZyddO1xuICBvY2N1cGFudHM6IFNjYWxhcnNbJ0ludCddO1xuICByb29tcz86IE1heWJlPFNjYWxhcnNbJ0ludCddPjtcbn0+O1xuXG5cbmV4cG9ydCB0eXBlIEdldE11bHRpcGxlSG90ZWxzQXZhaWxhYmlsaXR5UXVlcnkgPSAoXG4gIHsgX190eXBlbmFtZT86ICdRdWVyeScgfVxuICAmIHsgZ2V0TXVsdGlwbGVIb3RlbHNBdmFpbGFiaWxpdHk6IChcbiAgICB7IF9fdHlwZW5hbWU/OiAnSG90ZWxNdWx0aUF2YWlsYWJpbGl0eVJlc3VsdCcgfVxuICAgICYgeyByZXN1bHRzPzogTWF5YmU8QXJyYXk8TWF5YmU8KFxuICAgICAgeyBfX3R5cGVuYW1lPzogJ0hvdGVsQXZhaWxhYmlsaXR5JyB9XG4gICAgICAmIFBpY2s8SG90ZWxBdmFpbGFiaWxpdHksICdob3RlbElkJyB8ICdwcnBuJyB8ICdjdXJyZW5jeUNvZGUnIHwgJ2lzQnVzeScgfCAnc291cmNlJyB8ICd2ZXJzaW9uJz5cbiAgICAgICYgeyByb29tcz86IE1heWJlPEFycmF5PE1heWJlPChcbiAgICAgICAgeyBfX3R5cGVuYW1lPzogJ0hvdGVsUm9vbScgfVxuICAgICAgICAmIFBpY2s8SG90ZWxSb29tLCAncm9vbUlkJyB8ICdyb29tVHlwZScgfCAncm9vbURlc2NyaXB0aW9uJyB8ICdyYXRlQ29kZScgfCAncmF0ZURlc2NyaXB0aW9uJyB8ICd0b3RhbCcgfCAnY3VycmVuY3lDb2RlJz5cbiAgICAgICAgJiB7IGN1cnJlbmN5Q29udmVyc2lvbj86IE1heWJlPChcbiAgICAgICAgICB7IF9fdHlwZW5hbWU/OiAnSG90ZWxDb252ZXJzaW9uJyB9XG4gICAgICAgICAgJiBQaWNrPEhvdGVsQ29udmVyc2lvbiwgJ3JhdGUnIHwgJ2xvY2FsQ29kZScgfCAnbG9jYWxUb3RhbCcgfCAnY29udmVydGVkQ29kZScgfCAnY29udmVydGVkVG90YWwnPlxuICAgICAgICApPiwgZGVwb3NpdD86IE1heWJlPChcbiAgICAgICAgICB7IF9fdHlwZW5hbWU/OiAnSG90ZWxEZXBvc2l0JyB9XG4gICAgICAgICAgJiBQaWNrPEhvdGVsRGVwb3NpdCwgJ2Ftb3VudCcgfCAncG9saWN5JyB8ICdyZXF1aXJlZCc+XG4gICAgICAgICk+LCBuaWdodHM6IEFycmF5PChcbiAgICAgICAgICB7IF9fdHlwZW5hbWU/OiAnSG90ZWxOaWdodCcgfVxuICAgICAgICAgICYgUGljazxIb3RlbE5pZ2h0LCAnbmlnaHQnIHwgJ3JhdGUnIHwgJ2luZm8nIHwgJ2RhdGUnPlxuICAgICAgICApPiwgcG9saWNpZXM6IChcbiAgICAgICAgICB7IF9fdHlwZW5hbWU/OiAnSG90ZWxQb2xpY3knIH1cbiAgICAgICAgICAmIFBpY2s8SG90ZWxQb2xpY3ksICdjYW5jZWxsYXRpb24nIHwgJ2RlcG9zaXQnIHwgJ2Rpc2FibGVkQWNjZXNzJyB8ICdnZW5lcmFsJyB8ICdndWFyYW50ZWUnIHwgJ3JlZnVuZEF2YWlsYWJsZSc+XG4gICAgICAgICksIHRheDogKFxuICAgICAgICAgIHsgX190eXBlbmFtZT86ICdIb3RlbFRheCcgfVxuICAgICAgICAgICYgUGljazxIb3RlbFRheCwgJ2luY2x1ZGVkJyB8ICdyYXRlJz5cbiAgICAgICAgKSwgYWNjZXB0ZWRDYXJkcz86IE1heWJlPEFycmF5PE1heWJlPChcbiAgICAgICAgICB7IF9fdHlwZW5hbWU/OiAnSG90ZWxDYXJkJyB9XG4gICAgICAgICAgJiBQaWNrPEhvdGVsQ2FyZCwgJ2lkJyB8ICduYW1lJz5cbiAgICAgICAgKT4+PiwgcGF5bWVudFR5cGVzPzogTWF5YmU8QXJyYXk8TWF5YmU8KFxuICAgICAgICAgIHsgX190eXBlbmFtZT86ICdIb3RlbFBheW1lbnRUeXBlJyB9XG4gICAgICAgICAgJiBQaWNrPEhvdGVsUGF5bWVudFR5cGUsICd0eXBlJyB8ICduYW1lJz5cbiAgICAgICAgKT4+PiB9XG4gICAgICApPj4+IH1cbiAgICApPj4+LCBlcnJvcnM6IEFycmF5PChcbiAgICAgIHsgX190eXBlbmFtZT86ICdTZWFyY2hFcnJvcicgfVxuICAgICAgJiBFcnJvcnNGcmFnbWVudFxuICAgICk+IH1cbiAgKSB9XG4pO1xuXG5leHBvcnQgdHlwZSBJc1Bvc3Rjb2RlVmFsaWRRdWVyeVZhcmlhYmxlcyA9IEV4YWN0PHtcbiAgcG9zdGNvZGU6IFNjYWxhcnNbJ1N0cmluZyddO1xufT47XG5cblxuZXhwb3J0IHR5cGUgSXNQb3N0Y29kZVZhbGlkUXVlcnkgPSAoXG4gIHsgX190eXBlbmFtZT86ICdRdWVyeScgfVxuICAmIFBpY2s8UXVlcnksICdpc1Bvc3Rjb2RlVmFsaWQnPlxuKTtcblxuZXhwb3J0IHR5cGUgTG9jYXRpb25fRGV0YWlsRnJhZ21lbnQgPSAoXG4gIHsgX190eXBlbmFtZT86ICdMb2NhdGlvbkRldGFpbCcgfVxuICAmIFBpY2s8TG9jYXRpb25EZXRhaWwsICdjb250aW5lbnQnIHwgJ2NvdW50cnknIHwgJ2NvdW50cnlDb2RlJyB8ICdzdGF0ZScgfCAnY2l0eScgfCAncG9zdGNvZGUnIHwgJ3JvYWQnIHwgJ2dyaWRSZWZlcmVuY2UnIHwgJ25vcnRoaW5nJyB8ICdlYXN0aW5nJz5cbiAgJiB7IGNvb3JkaW5hdGVzPzogTWF5YmU8KFxuICAgIHsgX190eXBlbmFtZT86ICdHZW9Db29yZGluYXRlcycgfVxuICAgICYgUGljazxHZW9Db29yZGluYXRlcywgJ2xhdGl0dWRlJyB8ICdsb25naXR1ZGUnIHwgJ2FsdGl0dWRlJz5cbiAgKT4gfVxuKTtcblxuZXhwb3J0IHR5cGUgU2VhcmNoQWlycG9ydHNRdWVyeVZhcmlhYmxlcyA9IEV4YWN0PHtcbiAgcXVlcnk6IFNjYWxhcnNbJ1N0cmluZyddO1xuICBjb3VudHJ5Q29kZT86IE1heWJlPFNjYWxhcnNbJ1N0cmluZyddPjtcbiAgaGFzTG91bmdlPzogTWF5YmU8U2NhbGFyc1snQm9vbGVhbiddPjtcbiAgaGFzUGFya2luZz86IE1heWJlPFNjYWxhcnNbJ0Jvb2xlYW4nXT47XG4gIGhhc0Zhc3RUcmFjaz86IE1heWJlPFNjYWxhcnNbJ0Jvb2xlYW4nXT47XG59PjtcblxuXG5leHBvcnQgdHlwZSBTZWFyY2hBaXJwb3J0c1F1ZXJ5ID0gKFxuICB7IF9fdHlwZW5hbWU/OiAnUXVlcnknIH1cbiAgJiB7IHNlYXJjaEFpcnBvcnRzOiAoXG4gICAgeyBfX3R5cGVuYW1lPzogJ0FpcnBvcnRSZXN1bHRzJyB9XG4gICAgJiB7IGlhdGFNYXRjaD86IE1heWJlPChcbiAgICAgIHsgX190eXBlbmFtZT86ICdBaXJwb3J0JyB9XG4gICAgICAmIFBpY2s8QWlycG9ydCwgJ2lkJyB8ICduYW1lJyB8ICdpYXRhJyB8ICdpY2FvJyB8ICd0ZXJtaW5hbHMnPlxuICAgICAgJiB7IGxvY2F0aW9uRGV0YWlscz86IE1heWJlPChcbiAgICAgICAgeyBfX3R5cGVuYW1lPzogJ0xvY2F0aW9uRGV0YWlsJyB9XG4gICAgICAgICYgTG9jYXRpb25fRGV0YWlsRnJhZ21lbnRcbiAgICAgICk+IH1cbiAgICApPiwgZ2VuZXJhbE1hdGNoZXM6IEFycmF5PChcbiAgICAgIHsgX190eXBlbmFtZT86ICdBaXJwb3J0JyB9XG4gICAgICAmIFBpY2s8QWlycG9ydCwgJ2lkJyB8ICduYW1lJyB8ICdpYXRhJyB8ICdpY2FvJyB8ICd0ZXJtaW5hbHMnPlxuICAgICAgJiB7IGxvY2F0aW9uRGV0YWlscz86IE1heWJlPChcbiAgICAgICAgeyBfX3R5cGVuYW1lPzogJ0xvY2F0aW9uRGV0YWlsJyB9XG4gICAgICAgICYgTG9jYXRpb25fRGV0YWlsRnJhZ21lbnRcbiAgICAgICk+IH1cbiAgICApPiB9XG4gICkgfVxuKTtcblxuZXhwb3J0IHR5cGUgU2VhcmNoTG91bmdlc1F1ZXJ5VmFyaWFibGVzID0gRXhhY3Q8e1xuICBsb2NhdGlvbkNvZGU6IFNjYWxhcnNbJ1N0cmluZyddO1xuICBhcnJpdmFsRGF0ZXRpbWU6IFNjYWxhcnNbJ0RhdGVUaW1lJ107XG4gIGFkdWx0czogU2NhbGFyc1snSW50J107XG4gIGNoaWxkcmVuPzogTWF5YmU8U2NhbGFyc1snSW50J10+O1xuICBpbmZhbnRzPzogTWF5YmU8U2NhbGFyc1snSW50J10+O1xuICB0ZXJtaW5hbD86IE1heWJlPFNjYWxhcnNbJ1N0cmluZyddPjtcbn0+O1xuXG5cbmV4cG9ydCB0eXBlIFNlYXJjaExvdW5nZXNRdWVyeSA9IChcbiAgeyBfX3R5cGVuYW1lPzogJ1F1ZXJ5JyB9XG4gICYgeyBzZWFyY2hMb3VuZ2VzOiAoXG4gICAgeyBfX3R5cGVuYW1lPzogJ0xvdW5nZVNlYXJjaFJlc3VsdCcgfVxuICAgICYgeyByZXN1bHRzOiBBcnJheTwoXG4gICAgICB7IF9fdHlwZW5hbWU/OiAnTG91bmdlUXVvdGUnIH1cbiAgICAgICYgUGljazxMb3VuZ2VRdW90ZSwgJ3NvdXJjZScgfCAnc291cmNlSWQnIHwgJ25hbWUnIHwgJ2NvZGUnIHwgJ3ByaWNlJyB8ICdjdXJyZW5jeScgfCAndG1jUHJlZmVycmVkJyB8ICdjb21wYW55UHJlZmVycmVkJyB8ICdvZmZpY2VQcmVmZXJyZWQnIHwgJ3RtY1ByZWZlcnJlZE1lc3NhZ2UnIHwgJ2NvbXBhbnlQcmVmZXJyZWRNZXNzYWdlJyB8ICdvZmZpY2VQcmVmZXJyZWRNZXNzYWdlJyB8ICd1bmF2YWlsYWJsZScgfCAndW5hdmFpbGFibGVNZXNzYWdlJyB8ICdjbzJQZXJQYXNzZW5nZXInIHwgJ2NvMlBlckl0ZW0nPlxuICAgICAgJiB7IGxvdW5nZTogKFxuICAgICAgICB7IF9fdHlwZW5hbWU/OiAnTG91bmdlTG9jYXRpb24nIH1cbiAgICAgICAgJiBQaWNrPExvdW5nZUxvY2F0aW9uLCAnY29kZScgfCAnbmFtZScgfCAnYWlycG9ydCcgfCAndGVybWluYWwnIHwgJ2FkZHJlc3MnIHwgJ3RlbGVwaG9uZScgfCAnZmF4JyB8ICdkaXJlY3Rpb25zJyB8ICdpbnRyb2R1Y3Rpb24nIHwgJ2xvZ28nIHwgJ21vYmlsZUltYWdlJyB8ICdmdXJ0aGVySW1hZ2VzJyB8ICdhZHVsdEFnZScgfCAnY2hpbGRBZ2UnIHwgJ2luZmFudEFnZScgfCAnbGFuZHNpZGUnIHwgJ2FpcnNpZGUnIHwgJ2ZhY2lsaXRpZXMnIHwgJ29wZW5UaW1lJyB8ICdjbG9zZVRpbWUnIHwgJ3dpZmknIHwgJ3R2JyB8ICdzbmFja3MnIHwgJ3Bob25lJyB8ICdpbnRlcm5ldCcgfCAnY2hpbGRyZW5BbGxvd2VkJyB8ICdkaXNhYmxlZEFjY2VzcycgfCAnZHJpbmtzJyB8ICdmcmVlRHJpbmtzJyB8ICdmcmVlRm9vZCcgfCAnc21va2luZ1Blcm1pdHRlZCcgfCAnbWFnYXppbmVzJyB8ICdpbmNsdWRlZERyaW5rcycgfCAnbWVudUZvb2QnIHwgJ21lbnVEcmlua3MnIHwgJ21lbnVFeHRyYXMnIHwgJ3doYXRzSW5jbHVkZWREcmlua3MnIHwgJ3doYXRzSW5jbHVkZWRFeHRyYXMnIHwgJ3doYXRzSW5jbHVkZWRGb29kJyB8ICdncm91cEluZm8nIHwgJ2NoZWNrSW5JbmZvJyB8ICdkcmVzc0NvZGUnIHwgJ2ZhY2lsaXRpZXNJbmZvJyB8ICdmb29kQW5kQmV2ZXJhZ2UnIHwgJ2NhbmNlbGxhdGlvbkluZm8nIHwgJ2FtZW5kbWVudHNJbmZvJyB8ICdtaXNjJz5cbiAgICAgICkgfVxuICAgICk+LCBlcnJvcnM6IEFycmF5PChcbiAgICAgIHsgX190eXBlbmFtZT86ICdTZWFyY2hFcnJvcicgfVxuICAgICAgJiBFcnJvcnNGcmFnbWVudFxuICAgICk+IH1cbiAgKSB9XG4pO1xuXG5leHBvcnQgdHlwZSBNb3ZlSXRlbVRvQURpZmZlcmVudEJhc2tldE11dGF0aW9uVmFyaWFibGVzID0gRXhhY3Q8e1xuICBiYXNrZXRJdGVtOiBTY2FsYXJzWydJRCddO1xuICBuZXdCYXNrZXQ6IFNjYWxhcnNbJ0lEJ107XG4gIHdpdGhTdXBwbGVtZW50YWw/OiBNYXliZTxTY2FsYXJzWydCb29sZWFuJ10+O1xufT47XG5cblxuZXhwb3J0IHR5cGUgTW92ZUl0ZW1Ub0FEaWZmZXJlbnRCYXNrZXRNdXRhdGlvbiA9IChcbiAgeyBfX3R5cGVuYW1lPzogJ011dGF0aW9uJyB9XG4gICYgeyBtb3ZlSXRlbVRvQURpZmZlcmVudEJhc2tldDogKFxuICAgIHsgX190eXBlbmFtZT86ICdCYXNrZXQnIH1cbiAgICAmIEJhc2tldEZpZWxkc0ZyYWdtZW50XG4gICkgfVxuKTtcblxuZXhwb3J0IHR5cGUgU2VhcmNoUGFya2luZ1F1ZXJ5VmFyaWFibGVzID0gRXhhY3Q8e1xuICBhcnJpdmFsRGF0ZXRpbWU6IFNjYWxhcnNbJ0RhdGVUaW1lJ107XG4gIGRlcGFydERhdGV0aW1lOiBTY2FsYXJzWydEYXRlVGltZSddO1xuICBsb2NhdGlvbkNvZGU6IFNjYWxhcnNbJ1N0cmluZyddO1xuICBvdXRGbGlnaHROdW1iZXI/OiBNYXliZTxTY2FsYXJzWydTdHJpbmcnXT47XG4gIHJlY29tbWVuZGVkPzogTWF5YmU8U2NhbGFyc1snQm9vbGVhbiddPjtcbiAgb25BaXJwb3J0PzogTWF5YmU8U2NhbGFyc1snQm9vbGVhbiddPjtcbiAgbWVldEFuZEdyZWV0PzogTWF5YmU8U2NhbGFyc1snQm9vbGVhbiddPjtcbiAgcGFya0FuZFJpZGU/OiBNYXliZTxTY2FsYXJzWydCb29sZWFuJ10+O1xuICBwYXJrQW5kU3Ryb2xsPzogTWF5YmU8U2NhbGFyc1snQm9vbGVhbiddPjtcbiAgY2FyUGFya2VkRm9yWW91PzogTWF5YmU8U2NhbGFyc1snQm9vbGVhbiddPjtcbiAgdGVybWluYWw/OiBNYXliZTxTY2FsYXJzWydTdHJpbmcnXT47XG59PjtcblxuXG5leHBvcnQgdHlwZSBTZWFyY2hQYXJraW5nUXVlcnkgPSAoXG4gIHsgX190eXBlbmFtZT86ICdRdWVyeScgfVxuICAmIHsgc2VhcmNoUGFya2luZzogKFxuICAgIHsgX190eXBlbmFtZT86ICdQYXJraW5nU2VhcmNoUmVzdWx0JyB9XG4gICAgJiB7IHJlc3VsdHM6IEFycmF5PChcbiAgICAgIHsgX190eXBlbmFtZT86ICdQYXJraW5nUXVvdGUnIH1cbiAgICAgICYgUGljazxQYXJraW5nUXVvdGUsICdzb3VyY2UnIHwgJ3NvdXJjZUlkJyB8ICdyZXF1aXJlZEluZm8nIHwgJ3ByaWNlJyB8ICdjdXJyZW5jeScgfCAnbWlzYycgfCAndG1jUHJlZmVycmVkJyB8ICdjb21wYW55UHJlZmVycmVkJyB8ICdvZmZpY2VQcmVmZXJyZWQnIHwgJ3RtY1ByZWZlcnJlZE1lc3NhZ2UnIHwgJ2NvbXBhbnlQcmVmZXJyZWRNZXNzYWdlJyB8ICdvZmZpY2VQcmVmZXJyZWRNZXNzYWdlJyB8ICd1bmF2YWlsYWJsZScgfCAndW5hdmFpbGFibGVNZXNzYWdlJyB8ICdjbzJQZXJQYXNzZW5nZXInIHwgJ2NvMlBlckl0ZW0nPlxuICAgICAgJiB7IGNhclBhcms6IChcbiAgICAgICAgeyBfX3R5cGVuYW1lPzogJ1BhcmtpbmdMb2NhdGlvbicgfVxuICAgICAgICAmIFBpY2s8UGFya2luZ0xvY2F0aW9uLCAnY29kZScgfCAnbmFtZScgfCAnYWlycG9ydCcgfCAndGVybWluYWwnIHwgJ2xhdGl0dWRlJyB8ICdsb25naXR1ZGUnIHwgJ2FkZHJlc3MnIHwgJ2Rpc3RhbmNlVG9BaXJwb3J0JyB8ICdvbkFpcnBvcnQnIHwgJ2NhclBhcmtlZEZvcllvdScgfCAnbWVldEFuZEdyZWV0JyB8ICd0ZWxlcGhvbmUnIHwgJ2ZheCcgfCAnZGlyZWN0aW9ucycgfCAnYXJyaXZhbFByb2NlZHVyZScgfCAnZGVwYXJ0dXJlUHJvY2VkdXJlJyB8ICdtYXhpbXVtQ2FyU2l6ZScgfCAnaW50cm9kdWN0aW9uJyB8ICdpbmZvcm1hdGlvbicgfCAndHJhbnNmZXJJbmZvcm1hdGlvbicgfCAndHJhbnNmZXJPcGVyYXRpbmdUaW1lcycgfCAndHJhbnNmZXJUaW1lJyB8ICdsb2dvJyB8ICdkZWZhdWx0SW1hZ2UnIHwgJ2JyYW5kSW1hZ2UnIHwgJ21vYmlsZUltYWdlJyB8ICdmdXJ0aGVySW1hZ2VzJyB8ICdtaXNjJz5cbiAgICAgICkgfVxuICAgICk+LCBlcnJvcnM6IEFycmF5PChcbiAgICAgIHsgX190eXBlbmFtZT86ICdTZWFyY2hFcnJvcicgfVxuICAgICAgJiBFcnJvcnNGcmFnbWVudFxuICAgICk+IH1cbiAgKSB9XG4pO1xuXG5leHBvcnQgdHlwZSBTZWFyY2hSYWlsUXVlcnlWYXJpYWJsZXMgPSBFeGFjdDx7XG4gIGNvdW50cnlDb2RlOiBTY2FsYXJzWydTdHJpbmcnXTtcbiAgam91cm5leVR5cGU6IFJhaWxKb3VybmV5VHlwZTtcbiAgY2xhc3M/OiBNYXliZTxSYWlsQ2xhc3M+O1xuICBvdXRib3VuZEFycml2YWxEYXRlVGltZT86IE1heWJlPFNjYWxhcnNbJ0RhdGVUaW1lJ10+O1xuICBvdXRib3VuZERlcGFydHVyZURhdGVUaW1lPzogTWF5YmU8U2NhbGFyc1snRGF0ZVRpbWUnXT47XG4gIGRlcGFydHVyZUxvY2F0aW9uSWQ6IFNjYWxhcnNbJ0lEJ107XG4gIGFycml2YWxMb2NhdGlvbklkOiBTY2FsYXJzWydJRCddO1xuICBhZHVsdHM6IFNjYWxhcnNbJ0ludCddO1xuICBjaGlsZHJlbj86IE1heWJlPFNjYWxhcnNbJ0ludCddPjtcbiAgcmV0dXJuQXJyaXZhbERhdGVUaW1lPzogTWF5YmU8U2NhbGFyc1snRGF0ZVRpbWUnXT47XG4gIHJldHVybkRlcGFydHVyZURhdGVUaW1lPzogTWF5YmU8U2NhbGFyc1snRGF0ZVRpbWUnXT47XG4gIHJhaWxDYXJkUXVhbGlmaWVycz86IE1heWJlPEFycmF5PFNjYWxhcnNbJ1N0cmluZyddPiB8IFNjYWxhcnNbJ1N0cmluZyddPjtcbiAgdmlhTG9jYXRpb25JZD86IE1heWJlPFNjYWxhcnNbJ0lEJ10+O1xuICBleHRyYVRpbWVUb0NoYW5nZT86IE1heWJlPFNjYWxhcnNbJ0Jvb2xlYW4nXT47XG4gIHBsdXNCdXNPdXQ/OiBNYXliZTxSYWlsUGx1c0J1c0F2YWlsPjtcbiAgcGx1c0J1c1JldHVybj86IE1heWJlPFJhaWxQbHVzQnVzQXZhaWw+O1xufT47XG5cblxuZXhwb3J0IHR5cGUgU2VhcmNoUmFpbFF1ZXJ5ID0gKFxuICB7IF9fdHlwZW5hbWU/OiAnUXVlcnknIH1cbiAgJiB7IHNlYXJjaFJhaWw6IChcbiAgICB7IF9fdHlwZW5hbWU/OiAnUmFpbFNlYXJjaFJlc3VsdCcgfVxuICAgICYgeyByZXN1bHRzOiBBcnJheTwoXG4gICAgICB7IF9fdHlwZW5hbWU/OiAnUmFpbEpvdXJuZXlPcHRpb25zJyB9XG4gICAgICAmIFBpY2s8UmFpbEpvdXJuZXlPcHRpb25zLCAnc291cmNlJyB8ICdzb3VyY2VJZCc+XG4gICAgICAmIHsgb3V0Ym91bmQ/OiBNYXliZTxBcnJheTwoXG4gICAgICAgIHsgX190eXBlbmFtZT86ICdSYWlsSm91cm5leU9wdGlvbicgfVxuICAgICAgICAmIFBpY2s8UmFpbEpvdXJuZXlPcHRpb24sICdjbzJQZXJJdGVtJyB8ICdmcm9tJyB8ICdmcm9tQ29kZScgfCAndG8nIHwgJ3RvQ29kZScgfCAnY28yUGVyUGFzc2VuZ2VyJyB8ICdkZXBhcnREYXRlVGltZScgfCAnYXJyaXZlRGF0ZVRpbWUnIHwgJ2NoYW5nZXMnIHwgJ3Vuc2VsbGFibGUnPlxuICAgICAgICAmIHsgaWRlbnRpZmllcnM/OiBNYXliZTwoXG4gICAgICAgICAgeyBfX3R5cGVuYW1lPzogJ1JhaWxJZGVudGlmaWVycycgfVxuICAgICAgICAgICYgUGljazxSYWlsSWRlbnRpZmllcnMsICd0cmFuc2FjdGlvbklkZW50aWZpZXInIHwgJ2pvdXJuZXlJZGVudGlmaWVyJyB8ICdwcm92aWRlcicgfCAnZmFyZUlkZW50aWZpZXInIHwgJ2RpcmVjdGlvbicgfCAnc2luZ2xlT3JSZXR1cm4nIHwgJ2Jvb2tpbmdSZWYnPlxuICAgICAgICApPiwgdHJhdmVsbGVycz86IE1heWJlPEFycmF5PChcbiAgICAgICAgICB7IF9fdHlwZW5hbWU/OiAnUmFpbFRyYXZlbGxlcicgfVxuICAgICAgICAgICYgUGljazxSYWlsVHJhdmVsbGVyLCAnc3RhdHVzJyB8ICdpZCcgfCAnZG9iJyB8ICdyYWlsY2FyZCcgfCAnZ2l2ZW5OYW1lJyB8ICdzdXJuYW1lJyB8ICduYW1lVGl0bGUnIHwgJ2NvbnRhY3RJbmZvJyB8ICdkZWxpdmVyeUVtYWlsQWRkcmVzcycgfCAnZmFyZSc+XG4gICAgICAgICk+Piwgc2VnbWVudHM/OiBNYXliZTxBcnJheTwoXG4gICAgICAgICAgeyBfX3R5cGVuYW1lPzogJ1JhaWxTZWdtZW50JyB9XG4gICAgICAgICAgJiBQaWNrPFJhaWxTZWdtZW50LCAnaWQnIHwgJ29wZXJhdG9yJyB8ICdkZXBhcnQnIHwgJ2RlcGFydERhdGVUaW1lJyB8ICdhcnJpdmUnIHwgJ2Fycml2ZURhdGVUaW1lJyB8ICdyZXNlcnZhYmxlU3RhdHVzJyB8ICdzZWF0UHJlZmVyZW5jZUdyb3VwJz5cbiAgICAgICAgICAmIHsgc2VhdFByZWZlcmVuY2VUeXBlcz86IE1heWJlPEFycmF5PChcbiAgICAgICAgICAgIHsgX190eXBlbmFtZT86ICdSYWlsU2VhdFByZWZlcmVuY2VUeXBlJyB9XG4gICAgICAgICAgICAmIFBpY2s8UmFpbFNlYXRQcmVmZXJlbmNlVHlwZSwgJ25hbWUnIHwgJ2FsbG93ZWRWYWx1ZXMnPlxuICAgICAgICAgICk+Piwgc2VhdHM/OiBNYXliZTxBcnJheTwoXG4gICAgICAgICAgICB7IF9fdHlwZW5hbWU/OiAnUmFpbFNlYXQnIH1cbiAgICAgICAgICAgICYgUGljazxSYWlsU2VhdCwgJ2xvY2F0aW9uJyB8ICdjb2FjaCcgfCAnbnVtYmVyJyB8ICdkaXJlY3Rpb24nIHwgJ3Bvc2l0aW9uJyB8ICdkZWNrJyB8ICdzZWF0VHlwZScgfCAnc2VhdFNlbGVjdGlvbicgfCAnZmFjaWxpdGllcycgfCAnbm90ZSc+XG4gICAgICAgICAgKT4+LCBjYWxsaW5nUG9pbnRzPzogTWF5YmU8QXJyYXk8KFxuICAgICAgICAgICAgeyBfX3R5cGVuYW1lPzogJ1JhaWxDYWxsaW5nUG9pbnQnIH1cbiAgICAgICAgICAgICYgUGljazxSYWlsQ2FsbGluZ1BvaW50LCAnc3RhdGlvbk5hbWUnIHwgJ3N0YXRpb25Db2RlJyB8ICdhcnJpdmFsRGF0ZVRpbWUnIHwgJ2RlcGFydHVyZURhdGVUaW1lJyB8ICdzY2hlZHVsZWRQbGF0Zm9ybScgfCAnc3RhdGlvbkNsYXNzaWZpY2F0aW9uJyB8ICdzdG9wcGluZ1BhdHRlcm4nPlxuICAgICAgICAgICk+PiB9XG4gICAgICAgICk+PiwgcHJvdmlkZXJzPzogTWF5YmU8QXJyYXk8KFxuICAgICAgICAgIHsgX190eXBlbmFtZT86ICdSYWlsUHJvdmlkZXInIH1cbiAgICAgICAgICAmIFBpY2s8UmFpbFByb3ZpZGVyLCAncHJvdmlkZXJJZCcgfCAnbmFtZSc+XG4gICAgICAgICAgJiB7IGNoZWFwZXN0VGlja2V0PzogTWF5YmU8KFxuICAgICAgICAgICAgeyBfX3R5cGVuYW1lPzogJ1JhaWxUaWNrZXRPcHRpb24nIH1cbiAgICAgICAgICAgICYgUGljazxSYWlsVGlja2V0T3B0aW9uLCAndHlwZScgfCAnY2xhc3MnIHwgJ3NpbmdsZU9yUmV0dXJuJyB8ICdwcmljZScgfCAncmVzZXJ2YWJsZVN0YXR1cycgfCAnY3VycmVuY3knIHwgJ3JvdXRlJyB8ICdyb3V0ZUNvZGUnIHwgJ2F2YWlsYWJsZVNlYXRzJz5cbiAgICAgICAgICAgICYgeyBpZGVudGlmaWVycz86IE1heWJlPChcbiAgICAgICAgICAgICAgeyBfX3R5cGVuYW1lPzogJ1JhaWxJZGVudGlmaWVycycgfVxuICAgICAgICAgICAgICAmIFBpY2s8UmFpbElkZW50aWZpZXJzLCAndHJhbnNhY3Rpb25JZGVudGlmaWVyJyB8ICdqb3VybmV5SWRlbnRpZmllcicgfCAncHJvdmlkZXInIHwgJ2ZhcmVJZGVudGlmaWVyJyB8ICdkaXJlY3Rpb24nIHwgJ3NpbmdsZU9yUmV0dXJuJyB8ICdib29raW5nUmVmJz5cbiAgICAgICAgICAgICk+LCB0ZXJtcz86IE1heWJlPChcbiAgICAgICAgICAgICAgeyBfX3R5cGVuYW1lPzogJ1JhaWxUaWNrZXRUZXJtcycgfVxuICAgICAgICAgICAgICAmIFBpY2s8UmFpbFRpY2tldFRlcm1zLCAnZXJyb3InIHwgJ3RpY2tldFR5cGVDb2RlJyB8ICd0cmFpbk9wZXJhdGluZ0NvbXBhbnlDb2RlJyB8ICd0aWNrZXRUeXBlTmFtZScgfCAndGlja2V0VHlwZUFsdE5hbWUnIHwgJ3RpY2tldFR5cGVDbGFzcycgfCAncmVzZXJ2YXRpb25SdWxlJyB8ICdqb3VybmV5VHlwZScgfCAncHJlQm9va2luZ1JlcXVpcmVtZW50JyB8ICdnZW5lcmFsVmFsaWRpdHknIHwgJ3ZhbGlkT3V0UnVsZScgfCAndmFsaWRSZXR1cm5SdWxlJyB8ICdnZW5lcmFsRGlzY291bnQnIHwgJ2NoaWxkRGlzY291bnQnIHwgJ3JhaWxjYXJkRGlzY291bnQnIHwgJ3JlZnVuZENhbmNlbGxhdGlvblJ1bGUnIHwgJ2NoYW5nZVJ1bGUnIHwgJ3RpY2tldFR5cGVDb25kaXRpb25zRGVzY3JpcHRpb24nIHwgJ2pvdXJuZXlCcmVha1J1bGUnIHwgJ2F2YWlsYWJpbGl0eVJ1bGUnIHwgJ3RvZEF2YWlsYWJsZScgfCAna2lvc2tBdmFpbGFibGUnIHwgJ3N0YXJ0RGF0ZScgfCAnZW5kRGF0ZSc+XG4gICAgICAgICAgICAgICYgeyBkeW5hbWljQ29uZGl0aW9ucz86IE1heWJlPEFycmF5PE1heWJlPChcbiAgICAgICAgICAgICAgICB7IF9fdHlwZW5hbWU/OiAnRHluYW1pY0NvbmRpdGlvbicgfVxuICAgICAgICAgICAgICAgICYgUGljazxEeW5hbWljQ29uZGl0aW9uLCAnbmFtZScgfCAnZGVzY3JpcHRpb24nPlxuICAgICAgICAgICAgICApPj4+IH1cbiAgICAgICAgICAgICk+LCB0aWNrZXRzPzogTWF5YmU8QXJyYXk8TWF5YmU8KFxuICAgICAgICAgICAgICB7IF9fdHlwZW5hbWU/OiAnUmFpbFRpY2tldCcgfVxuICAgICAgICAgICAgICAmIFBpY2s8UmFpbFRpY2tldCwgJ3ByaWNlJyB8ICd0eXBlJyB8ICdyb3V0ZScgfCAnbnVtQ2hpbGRyZW4nIHwgJ251bUFkdWx0cyc+XG4gICAgICAgICAgICAgICYgeyBzZWdtZW50cz86IE1heWJlPEFycmF5PChcbiAgICAgICAgICAgICAgICB7IF9fdHlwZW5hbWU/OiAnUmFpbFNlZ21lbnQnIH1cbiAgICAgICAgICAgICAgICAmIFBpY2s8UmFpbFNlZ21lbnQsICdpZCcgfCAnb3BlcmF0b3InIHwgJ2RlcGFydCcgfCAnZGVwYXJ0RGF0ZVRpbWUnIHwgJ2Fycml2ZScgfCAnYXJyaXZlRGF0ZVRpbWUnIHwgJ3Jlc2VydmFibGVTdGF0dXMnIHwgJ3NlYXRQcmVmZXJlbmNlR3JvdXAnPlxuICAgICAgICAgICAgICApPj4gfVxuICAgICAgICAgICAgKT4+PiwgdGlja2V0UXVldWVMaXN0PzogTWF5YmU8QXJyYXk8TWF5YmU8KFxuICAgICAgICAgICAgICB7IF9fdHlwZW5hbWU/OiAnUmFpbFRpY2tldFF1ZXVlJyB9XG4gICAgICAgICAgICAgICYgUGljazxSYWlsVGlja2V0UXVldWUsICdpZCcgfCAnbmFtZScgfCAndHlwZSc+XG4gICAgICAgICAgICApPj4+LCBhY2NvdW50c0xpc3Q/OiBNYXliZTxBcnJheTxNYXliZTwoXG4gICAgICAgICAgICAgIHsgX190eXBlbmFtZT86ICdSYWlsQWNjb3VudCcgfVxuICAgICAgICAgICAgICAmIFBpY2s8UmFpbEFjY291bnQsICdpZCcgfCAncmVmZXJlbmNlJyB8ICdkZXNjcmlwdGlvbicgfCAnaXNEZWZhdWx0JyB8ICd0eXBlJz5cbiAgICAgICAgICAgICk+Pj4gfVxuICAgICAgICAgICk+LCB0aWNrZXRPcHRpb25zPzogTWF5YmU8QXJyYXk8TWF5YmU8KFxuICAgICAgICAgICAgeyBfX3R5cGVuYW1lPzogJ1JhaWxUaWNrZXRPcHRpb24nIH1cbiAgICAgICAgICAgICYgUGljazxSYWlsVGlja2V0T3B0aW9uLCAndHlwZScgfCAnY2xhc3MnIHwgJ3NpbmdsZU9yUmV0dXJuJyB8ICdwcmljZScgfCAncmVzZXJ2YWJsZVN0YXR1cycgfCAnY3VycmVuY3knIHwgJ3JvdXRlJyB8ICdyb3V0ZUNvZGUnIHwgJ2F2YWlsYWJsZVNlYXRzJz5cbiAgICAgICAgICAgICYgeyBpZGVudGlmaWVycz86IE1heWJlPChcbiAgICAgICAgICAgICAgeyBfX3R5cGVuYW1lPzogJ1JhaWxJZGVudGlmaWVycycgfVxuICAgICAgICAgICAgICAmIFBpY2s8UmFpbElkZW50aWZpZXJzLCAndHJhbnNhY3Rpb25JZGVudGlmaWVyJyB8ICdqb3VybmV5SWRlbnRpZmllcicgfCAncHJvdmlkZXInIHwgJ2ZhcmVJZGVudGlmaWVyJyB8ICdkaXJlY3Rpb24nIHwgJ3NpbmdsZU9yUmV0dXJuJyB8ICdib29raW5nUmVmJz5cbiAgICAgICAgICAgICAgJiB7IGFsbG93ZWRXaXRoOiBBcnJheTwoXG4gICAgICAgICAgICAgICAgeyBfX3R5cGVuYW1lPzogJ1JhaWxJZGVudGlmaWVycycgfVxuICAgICAgICAgICAgICAgICYgUGljazxSYWlsSWRlbnRpZmllcnMsICd0cmFuc2FjdGlvbklkZW50aWZpZXInIHwgJ2pvdXJuZXlJZGVudGlmaWVyJyB8ICdwcm92aWRlcicgfCAnZmFyZUlkZW50aWZpZXInIHwgJ2RpcmVjdGlvbicgfCAnc2luZ2xlT3JSZXR1cm4nIHwgJ2Jvb2tpbmdSZWYnPlxuICAgICAgICAgICAgICApPiB9XG4gICAgICAgICAgICApPiwgdGVybXM/OiBNYXliZTwoXG4gICAgICAgICAgICAgIHsgX190eXBlbmFtZT86ICdSYWlsVGlja2V0VGVybXMnIH1cbiAgICAgICAgICAgICAgJiBQaWNrPFJhaWxUaWNrZXRUZXJtcywgJ2Vycm9yJyB8ICd0aWNrZXRUeXBlQ29kZScgfCAndHJhaW5PcGVyYXRpbmdDb21wYW55Q29kZScgfCAndGlja2V0VHlwZU5hbWUnIHwgJ3RpY2tldFR5cGVBbHROYW1lJyB8ICd0aWNrZXRUeXBlQ2xhc3MnIHwgJ3Jlc2VydmF0aW9uUnVsZScgfCAnam91cm5leVR5cGUnIHwgJ3ByZUJvb2tpbmdSZXF1aXJlbWVudCcgfCAnZ2VuZXJhbFZhbGlkaXR5JyB8ICd2YWxpZE91dFJ1bGUnIHwgJ3ZhbGlkUmV0dXJuUnVsZScgfCAnZ2VuZXJhbERpc2NvdW50JyB8ICdjaGlsZERpc2NvdW50JyB8ICdyYWlsY2FyZERpc2NvdW50JyB8ICdyZWZ1bmRDYW5jZWxsYXRpb25SdWxlJyB8ICdjaGFuZ2VSdWxlJyB8ICd0aWNrZXRUeXBlQ29uZGl0aW9uc0Rlc2NyaXB0aW9uJyB8ICdqb3VybmV5QnJlYWtSdWxlJyB8ICdhdmFpbGFiaWxpdHlSdWxlJyB8ICd0b2RBdmFpbGFibGUnIHwgJ2tpb3NrQXZhaWxhYmxlJyB8ICdzdGFydERhdGUnIHwgJ2VuZERhdGUnPlxuICAgICAgICAgICAgKT4sIHRpY2tldHM/OiBNYXliZTxBcnJheTxNYXliZTwoXG4gICAgICAgICAgICAgIHsgX190eXBlbmFtZT86ICdSYWlsVGlja2V0JyB9XG4gICAgICAgICAgICAgICYgUGljazxSYWlsVGlja2V0LCAncHJpY2UnIHwgJ3R5cGUnIHwgJ3JvdXRlJyB8ICdudW1DaGlsZHJlbicgfCAnbnVtQWR1bHRzJz5cbiAgICAgICAgICAgICk+Pj4sIHRpY2tldFF1ZXVlTGlzdD86IE1heWJlPEFycmF5PE1heWJlPChcbiAgICAgICAgICAgICAgeyBfX3R5cGVuYW1lPzogJ1JhaWxUaWNrZXRRdWV1ZScgfVxuICAgICAgICAgICAgICAmIFBpY2s8UmFpbFRpY2tldFF1ZXVlLCAnaWQnIHwgJ25hbWUnIHwgJ3R5cGUnPlxuICAgICAgICAgICAgKT4+PiwgYWNjb3VudHNMaXN0PzogTWF5YmU8QXJyYXk8TWF5YmU8KFxuICAgICAgICAgICAgICB7IF9fdHlwZW5hbWU/OiAnUmFpbEFjY291bnQnIH1cbiAgICAgICAgICAgICAgJiBQaWNrPFJhaWxBY2NvdW50LCAnaWQnIHwgJ3JlZmVyZW5jZScgfCAnZGVzY3JpcHRpb24nIHwgJ2lzRGVmYXVsdCcgfCAndHlwZSc+XG4gICAgICAgICAgICApPj4+IH1cbiAgICAgICAgICApPj4+LCBib29rZWRUaWNrZXQ/OiBNYXliZTwoXG4gICAgICAgICAgICB7IF9fdHlwZW5hbWU/OiAnUmFpbFRpY2tldE9wdGlvbicgfVxuICAgICAgICAgICAgJiBQaWNrPFJhaWxUaWNrZXRPcHRpb24sICd0eXBlJyB8ICdjbGFzcycgfCAnc2luZ2xlT3JSZXR1cm4nIHwgJ3ByaWNlJyB8ICdyZXNlcnZhYmxlU3RhdHVzJyB8ICdjdXJyZW5jeScgfCAncm91dGUnIHwgJ3JvdXRlQ29kZSc+XG4gICAgICAgICAgICAmIHsgaWRlbnRpZmllcnM/OiBNYXliZTwoXG4gICAgICAgICAgICAgIHsgX190eXBlbmFtZT86ICdSYWlsSWRlbnRpZmllcnMnIH1cbiAgICAgICAgICAgICAgJiBQaWNrPFJhaWxJZGVudGlmaWVycywgJ3RyYW5zYWN0aW9uSWRlbnRpZmllcicgfCAnam91cm5leUlkZW50aWZpZXInIHwgJ3Byb3ZpZGVyJyB8ICdmYXJlSWRlbnRpZmllcicgfCAnZGlyZWN0aW9uJyB8ICdzaW5nbGVPclJldHVybicgfCAnYm9va2luZ1JlZic+XG4gICAgICAgICAgICApPiwgdGVybXM/OiBNYXliZTwoXG4gICAgICAgICAgICAgIHsgX190eXBlbmFtZT86ICdSYWlsVGlja2V0VGVybXMnIH1cbiAgICAgICAgICAgICAgJiBQaWNrPFJhaWxUaWNrZXRUZXJtcywgJ2Vycm9yJyB8ICd0aWNrZXRUeXBlQ29kZScgfCAndHJhaW5PcGVyYXRpbmdDb21wYW55Q29kZScgfCAndGlja2V0VHlwZU5hbWUnIHwgJ3RpY2tldFR5cGVBbHROYW1lJyB8ICd0aWNrZXRUeXBlQ2xhc3MnIHwgJ3Jlc2VydmF0aW9uUnVsZScgfCAnam91cm5leVR5cGUnIHwgJ3ByZUJvb2tpbmdSZXF1aXJlbWVudCcgfCAnZ2VuZXJhbFZhbGlkaXR5JyB8ICd2YWxpZE91dFJ1bGUnIHwgJ3ZhbGlkUmV0dXJuUnVsZScgfCAnZ2VuZXJhbERpc2NvdW50JyB8ICdjaGlsZERpc2NvdW50JyB8ICdyYWlsY2FyZERpc2NvdW50JyB8ICdyZWZ1bmRDYW5jZWxsYXRpb25SdWxlJyB8ICdjaGFuZ2VSdWxlJyB8ICd0aWNrZXRUeXBlQ29uZGl0aW9uc0Rlc2NyaXB0aW9uJyB8ICdqb3VybmV5QnJlYWtSdWxlJyB8ICdhdmFpbGFiaWxpdHlSdWxlJyB8ICd0b2RBdmFpbGFibGUnIHwgJ2tpb3NrQXZhaWxhYmxlJyB8ICdzdGFydERhdGUnIHwgJ2VuZERhdGUnPlxuICAgICAgICAgICAgKT4sIHRpY2tldHM/OiBNYXliZTxBcnJheTxNYXliZTwoXG4gICAgICAgICAgICAgIHsgX190eXBlbmFtZT86ICdSYWlsVGlja2V0JyB9XG4gICAgICAgICAgICAgICYgUGljazxSYWlsVGlja2V0LCAncHJpY2UnIHwgJ3R5cGUnIHwgJ3JvdXRlJyB8ICdudW1DaGlsZHJlbicgfCAnbnVtQWR1bHRzJz5cbiAgICAgICAgICAgICk+Pj4sIHRpY2tldFF1ZXVlTGlzdD86IE1heWJlPEFycmF5PE1heWJlPChcbiAgICAgICAgICAgICAgeyBfX3R5cGVuYW1lPzogJ1JhaWxUaWNrZXRRdWV1ZScgfVxuICAgICAgICAgICAgICAmIFBpY2s8UmFpbFRpY2tldFF1ZXVlLCAnaWQnIHwgJ25hbWUnIHwgJ3R5cGUnPlxuICAgICAgICAgICAgKT4+PiwgYWNjb3VudHNMaXN0PzogTWF5YmU8QXJyYXk8TWF5YmU8KFxuICAgICAgICAgICAgICB7IF9fdHlwZW5hbWU/OiAnUmFpbEFjY291bnQnIH1cbiAgICAgICAgICAgICAgJiBQaWNrPFJhaWxBY2NvdW50LCAnaWQnIHwgJ3JlZmVyZW5jZScgfCAnZGVzY3JpcHRpb24nIHwgJ2lzRGVmYXVsdCcgfCAndHlwZSc+XG4gICAgICAgICAgICApPj4+IH1cbiAgICAgICAgICApPiB9XG4gICAgICAgICk+PiwgdGlja2V0RXh0cmFzPzogTWF5YmU8QXJyYXk8KFxuICAgICAgICAgIHsgX190eXBlbmFtZT86ICdSYWlsVGlja2V0RXh0cmEnIH1cbiAgICAgICAgICAmIFBpY2s8UmFpbFRpY2tldEV4dHJhLCAndHlwZScgfCAnbG9jYXRpb24nIHwgJ2RhdGUnIHwgJ2Rlc2NyaXB0aW9uJyB8ICdhbW91bnQnIHwgJ2FkdWx0QW1vdW50JyB8ICdjaGlsZEFtb3VudCcgfCAnY3VycmVuY3knPlxuICAgICAgICAgICYgeyBpZGVudGlmaWVycz86IE1heWJlPChcbiAgICAgICAgICAgIHsgX190eXBlbmFtZT86ICdSYWlsVGlja2V0RXh0cmFJZGVudGlmaWVycycgfVxuICAgICAgICAgICAgJiBQaWNrPFJhaWxUaWNrZXRFeHRyYUlkZW50aWZpZXJzLCAndHlwZScgfCAnbG9jYXRpb24nIHwgJ2RhdGUnIHwgJ2pvdXJuZXlJZCcgfCAnaXNPcmlnaW4nPlxuICAgICAgICAgICk+IH1cbiAgICAgICAgKT4+LCBwbHVzQnVzPzogTWF5YmU8KFxuICAgICAgICAgIHsgX190eXBlbmFtZT86ICdSYWlsUGx1c0J1cycgfVxuICAgICAgICAgICYgUGljazxSYWlsUGx1c0J1cywgJ29yaWdpblBsdXNCdXNOTEMnIHwgJ29yaWdpblN0YXRpb25OTEMnIHwgJ2Rlc3RpbmF0aW9uUGx1c0J1c05MQycgfCAnZGVzdGluYXRpb25TdGF0aW9uTkxDJz5cbiAgICAgICAgKT4gfVxuICAgICAgKT4+LCByZXR1cm4/OiBNYXliZTxBcnJheTwoXG4gICAgICAgIHsgX190eXBlbmFtZT86ICdSYWlsSm91cm5leU9wdGlvbicgfVxuICAgICAgICAmIFBpY2s8UmFpbEpvdXJuZXlPcHRpb24sICdjbzJQZXJJdGVtJyB8ICdmcm9tJyB8ICdmcm9tQ29kZScgfCAndG8nIHwgJ3RvQ29kZScgfCAnZGVwYXJ0RGF0ZVRpbWUnIHwgJ2Fycml2ZURhdGVUaW1lJyB8ICdjaGFuZ2VzJyB8ICd1bnNlbGxhYmxlJz5cbiAgICAgICAgJiB7IGlkZW50aWZpZXJzPzogTWF5YmU8KFxuICAgICAgICAgIHsgX190eXBlbmFtZT86ICdSYWlsSWRlbnRpZmllcnMnIH1cbiAgICAgICAgICAmIFBpY2s8UmFpbElkZW50aWZpZXJzLCAndHJhbnNhY3Rpb25JZGVudGlmaWVyJyB8ICdqb3VybmV5SWRlbnRpZmllcicgfCAncHJvdmlkZXInIHwgJ2ZhcmVJZGVudGlmaWVyJyB8ICdkaXJlY3Rpb24nIHwgJ3NpbmdsZU9yUmV0dXJuJyB8ICdib29raW5nUmVmJz5cbiAgICAgICAgKT4sIHRyYXZlbGxlcnM/OiBNYXliZTxBcnJheTwoXG4gICAgICAgICAgeyBfX3R5cGVuYW1lPzogJ1JhaWxUcmF2ZWxsZXInIH1cbiAgICAgICAgICAmIFBpY2s8UmFpbFRyYXZlbGxlciwgJ3N0YXR1cycgfCAnaWQnIHwgJ2RvYicgfCAncmFpbGNhcmQnIHwgJ2dpdmVuTmFtZScgfCAnc3VybmFtZScgfCAnbmFtZVRpdGxlJyB8ICdjb250YWN0SW5mbycgfCAnZGVsaXZlcnlFbWFpbEFkZHJlc3MnIHwgJ2ZhcmUnPlxuICAgICAgICApPj4sIHNlZ21lbnRzPzogTWF5YmU8QXJyYXk8KFxuICAgICAgICAgIHsgX190eXBlbmFtZT86ICdSYWlsU2VnbWVudCcgfVxuICAgICAgICAgICYgUGljazxSYWlsU2VnbWVudCwgJ2lkJyB8ICdvcGVyYXRvcicgfCAnZGVwYXJ0JyB8ICdkZXBhcnREYXRlVGltZScgfCAnYXJyaXZlJyB8ICdhcnJpdmVEYXRlVGltZScgfCAncmVzZXJ2YWJsZVN0YXR1cycgfCAnc2VhdFByZWZlcmVuY2VHcm91cCc+XG4gICAgICAgICAgJiB7IGNhbGxpbmdQb2ludHM/OiBNYXliZTxBcnJheTwoXG4gICAgICAgICAgICB7IF9fdHlwZW5hbWU/OiAnUmFpbENhbGxpbmdQb2ludCcgfVxuICAgICAgICAgICAgJiBQaWNrPFJhaWxDYWxsaW5nUG9pbnQsICdzdGF0aW9uTmFtZScgfCAnc3RhdGlvbkNvZGUnIHwgJ2Fycml2YWxEYXRlVGltZScgfCAnZGVwYXJ0dXJlRGF0ZVRpbWUnIHwgJ3NjaGVkdWxlZFBsYXRmb3JtJyB8ICdzdGF0aW9uQ2xhc3NpZmljYXRpb24nIHwgJ3N0b3BwaW5nUGF0dGVybic+XG4gICAgICAgICAgKT4+IH1cbiAgICAgICAgKT4+LCBwcm92aWRlcnM/OiBNYXliZTxBcnJheTwoXG4gICAgICAgICAgeyBfX3R5cGVuYW1lPzogJ1JhaWxQcm92aWRlcicgfVxuICAgICAgICAgICYgUGljazxSYWlsUHJvdmlkZXIsICdwcm92aWRlcklkJyB8ICduYW1lJz5cbiAgICAgICAgICAmIHsgY2hlYXBlc3RUaWNrZXQ/OiBNYXliZTwoXG4gICAgICAgICAgICB7IF9fdHlwZW5hbWU/OiAnUmFpbFRpY2tldE9wdGlvbicgfVxuICAgICAgICAgICAgJiBQaWNrPFJhaWxUaWNrZXRPcHRpb24sICd0eXBlJyB8ICdjbGFzcycgfCAnc2luZ2xlT3JSZXR1cm4nIHwgJ3ByaWNlJyB8ICdyZXNlcnZhYmxlU3RhdHVzJyB8ICdjdXJyZW5jeScgfCAncm91dGUnIHwgJ3JvdXRlQ29kZScgfCAnYXZhaWxhYmxlU2VhdHMnPlxuICAgICAgICAgICAgJiB7IGlkZW50aWZpZXJzPzogTWF5YmU8KFxuICAgICAgICAgICAgICB7IF9fdHlwZW5hbWU/OiAnUmFpbElkZW50aWZpZXJzJyB9XG4gICAgICAgICAgICAgICYgUGljazxSYWlsSWRlbnRpZmllcnMsICd0cmFuc2FjdGlvbklkZW50aWZpZXInIHwgJ2pvdXJuZXlJZGVudGlmaWVyJyB8ICdwcm92aWRlcicgfCAnZmFyZUlkZW50aWZpZXInIHwgJ2RpcmVjdGlvbicgfCAnc2luZ2xlT3JSZXR1cm4nIHwgJ2Jvb2tpbmdSZWYnPlxuICAgICAgICAgICAgKT4sIHRlcm1zPzogTWF5YmU8KFxuICAgICAgICAgICAgICB7IF9fdHlwZW5hbWU/OiAnUmFpbFRpY2tldFRlcm1zJyB9XG4gICAgICAgICAgICAgICYgUGljazxSYWlsVGlja2V0VGVybXMsICdlcnJvcicgfCAndGlja2V0VHlwZUNvZGUnIHwgJ3RyYWluT3BlcmF0aW5nQ29tcGFueUNvZGUnIHwgJ3RpY2tldFR5cGVOYW1lJyB8ICd0aWNrZXRUeXBlQWx0TmFtZScgfCAndGlja2V0VHlwZUNsYXNzJyB8ICdyZXNlcnZhdGlvblJ1bGUnIHwgJ2pvdXJuZXlUeXBlJyB8ICdwcmVCb29raW5nUmVxdWlyZW1lbnQnIHwgJ2dlbmVyYWxWYWxpZGl0eScgfCAndmFsaWRPdXRSdWxlJyB8ICd2YWxpZFJldHVyblJ1bGUnIHwgJ2dlbmVyYWxEaXNjb3VudCcgfCAnY2hpbGREaXNjb3VudCcgfCAncmFpbGNhcmREaXNjb3VudCcgfCAncmVmdW5kQ2FuY2VsbGF0aW9uUnVsZScgfCAnY2hhbmdlUnVsZScgfCAndGlja2V0VHlwZUNvbmRpdGlvbnNEZXNjcmlwdGlvbicgfCAnam91cm5leUJyZWFrUnVsZScgfCAnYXZhaWxhYmlsaXR5UnVsZScgfCAndG9kQXZhaWxhYmxlJyB8ICdraW9za0F2YWlsYWJsZScgfCAnc3RhcnREYXRlJyB8ICdlbmREYXRlJz5cbiAgICAgICAgICAgICAgJiB7IGR5bmFtaWNDb25kaXRpb25zPzogTWF5YmU8QXJyYXk8TWF5YmU8KFxuICAgICAgICAgICAgICAgIHsgX190eXBlbmFtZT86ICdEeW5hbWljQ29uZGl0aW9uJyB9XG4gICAgICAgICAgICAgICAgJiBQaWNrPER5bmFtaWNDb25kaXRpb24sICduYW1lJyB8ICdkZXNjcmlwdGlvbic+XG4gICAgICAgICAgICAgICk+Pj4gfVxuICAgICAgICAgICAgKT4sIHRpY2tldHM/OiBNYXliZTxBcnJheTxNYXliZTwoXG4gICAgICAgICAgICAgIHsgX190eXBlbmFtZT86ICdSYWlsVGlja2V0JyB9XG4gICAgICAgICAgICAgICYgUGljazxSYWlsVGlja2V0LCAncHJpY2UnIHwgJ3R5cGUnIHwgJ3JvdXRlJyB8ICdudW1DaGlsZHJlbicgfCAnbnVtQWR1bHRzJz5cbiAgICAgICAgICAgICAgJiB7IHNlZ21lbnRzPzogTWF5YmU8QXJyYXk8KFxuICAgICAgICAgICAgICAgIHsgX190eXBlbmFtZT86ICdSYWlsU2VnbWVudCcgfVxuICAgICAgICAgICAgICAgICYgUGljazxSYWlsU2VnbWVudCwgJ2lkJyB8ICdvcGVyYXRvcicgfCAnZGVwYXJ0JyB8ICdkZXBhcnREYXRlVGltZScgfCAnYXJyaXZlJyB8ICdhcnJpdmVEYXRlVGltZScgfCAncmVzZXJ2YWJsZVN0YXR1cycgfCAnc2VhdFByZWZlcmVuY2VHcm91cCc+XG4gICAgICAgICAgICAgICk+PiB9XG4gICAgICAgICAgICApPj4+LCB0aWNrZXRRdWV1ZUxpc3Q/OiBNYXliZTxBcnJheTxNYXliZTwoXG4gICAgICAgICAgICAgIHsgX190eXBlbmFtZT86ICdSYWlsVGlja2V0UXVldWUnIH1cbiAgICAgICAgICAgICAgJiBQaWNrPFJhaWxUaWNrZXRRdWV1ZSwgJ2lkJyB8ICduYW1lJyB8ICd0eXBlJz5cbiAgICAgICAgICAgICk+Pj4sIGFjY291bnRzTGlzdD86IE1heWJlPEFycmF5PE1heWJlPChcbiAgICAgICAgICAgICAgeyBfX3R5cGVuYW1lPzogJ1JhaWxBY2NvdW50JyB9XG4gICAgICAgICAgICAgICYgUGljazxSYWlsQWNjb3VudCwgJ2lkJyB8ICdyZWZlcmVuY2UnIHwgJ2Rlc2NyaXB0aW9uJyB8ICdpc0RlZmF1bHQnIHwgJ3R5cGUnPlxuICAgICAgICAgICAgKT4+PiB9XG4gICAgICAgICAgKT4sIHRpY2tldE9wdGlvbnM/OiBNYXliZTxBcnJheTxNYXliZTwoXG4gICAgICAgICAgICB7IF9fdHlwZW5hbWU/OiAnUmFpbFRpY2tldE9wdGlvbicgfVxuICAgICAgICAgICAgJiBQaWNrPFJhaWxUaWNrZXRPcHRpb24sICd0eXBlJyB8ICdjbGFzcycgfCAnc2luZ2xlT3JSZXR1cm4nIHwgJ3ByaWNlJyB8ICdyZXNlcnZhYmxlU3RhdHVzJyB8ICdjdXJyZW5jeScgfCAncm91dGUnIHwgJ3JvdXRlQ29kZScgfCAnYXZhaWxhYmxlU2VhdHMnPlxuICAgICAgICAgICAgJiB7IGlkZW50aWZpZXJzPzogTWF5YmU8KFxuICAgICAgICAgICAgICB7IF9fdHlwZW5hbWU/OiAnUmFpbElkZW50aWZpZXJzJyB9XG4gICAgICAgICAgICAgICYgUGljazxSYWlsSWRlbnRpZmllcnMsICd0cmFuc2FjdGlvbklkZW50aWZpZXInIHwgJ2pvdXJuZXlJZGVudGlmaWVyJyB8ICdwcm92aWRlcicgfCAnZmFyZUlkZW50aWZpZXInIHwgJ2RpcmVjdGlvbicgfCAnc2luZ2xlT3JSZXR1cm4nIHwgJ2Jvb2tpbmdSZWYnPlxuICAgICAgICAgICAgICAmIHsgYWxsb3dlZFdpdGg6IEFycmF5PChcbiAgICAgICAgICAgICAgICB7IF9fdHlwZW5hbWU/OiAnUmFpbElkZW50aWZpZXJzJyB9XG4gICAgICAgICAgICAgICAgJiBQaWNrPFJhaWxJZGVudGlmaWVycywgJ3RyYW5zYWN0aW9uSWRlbnRpZmllcicgfCAnam91cm5leUlkZW50aWZpZXInIHwgJ3Byb3ZpZGVyJyB8ICdmYXJlSWRlbnRpZmllcicgfCAnZGlyZWN0aW9uJyB8ICdzaW5nbGVPclJldHVybicgfCAnYm9va2luZ1JlZic+XG4gICAgICAgICAgICAgICk+IH1cbiAgICAgICAgICAgICk+LCB0ZXJtcz86IE1heWJlPChcbiAgICAgICAgICAgICAgeyBfX3R5cGVuYW1lPzogJ1JhaWxUaWNrZXRUZXJtcycgfVxuICAgICAgICAgICAgICAmIFBpY2s8UmFpbFRpY2tldFRlcm1zLCAnZXJyb3InIHwgJ3RpY2tldFR5cGVDb2RlJyB8ICd0cmFpbk9wZXJhdGluZ0NvbXBhbnlDb2RlJyB8ICd0aWNrZXRUeXBlTmFtZScgfCAndGlja2V0VHlwZUFsdE5hbWUnIHwgJ3RpY2tldFR5cGVDbGFzcycgfCAncmVzZXJ2YXRpb25SdWxlJyB8ICdqb3VybmV5VHlwZScgfCAncHJlQm9va2luZ1JlcXVpcmVtZW50JyB8ICdnZW5lcmFsVmFsaWRpdHknIHwgJ3ZhbGlkT3V0UnVsZScgfCAndmFsaWRSZXR1cm5SdWxlJyB8ICdnZW5lcmFsRGlzY291bnQnIHwgJ2NoaWxkRGlzY291bnQnIHwgJ3JhaWxjYXJkRGlzY291bnQnIHwgJ3JlZnVuZENhbmNlbGxhdGlvblJ1bGUnIHwgJ2NoYW5nZVJ1bGUnIHwgJ3RpY2tldFR5cGVDb25kaXRpb25zRGVzY3JpcHRpb24nIHwgJ2pvdXJuZXlCcmVha1J1bGUnIHwgJ2F2YWlsYWJpbGl0eVJ1bGUnIHwgJ3RvZEF2YWlsYWJsZScgfCAna2lvc2tBdmFpbGFibGUnIHwgJ3N0YXJ0RGF0ZScgfCAnZW5kRGF0ZSc+XG4gICAgICAgICAgICApPiwgdGlja2V0cz86IE1heWJlPEFycmF5PE1heWJlPChcbiAgICAgICAgICAgICAgeyBfX3R5cGVuYW1lPzogJ1JhaWxUaWNrZXQnIH1cbiAgICAgICAgICAgICAgJiBQaWNrPFJhaWxUaWNrZXQsICdwcmljZScgfCAndHlwZScgfCAncm91dGUnIHwgJ251bUNoaWxkcmVuJyB8ICdudW1BZHVsdHMnPlxuICAgICAgICAgICAgKT4+PiwgdGlja2V0UXVldWVMaXN0PzogTWF5YmU8QXJyYXk8TWF5YmU8KFxuICAgICAgICAgICAgICB7IF9fdHlwZW5hbWU/OiAnUmFpbFRpY2tldFF1ZXVlJyB9XG4gICAgICAgICAgICAgICYgUGljazxSYWlsVGlja2V0UXVldWUsICdpZCcgfCAnbmFtZScgfCAndHlwZSc+XG4gICAgICAgICAgICApPj4+LCBhY2NvdW50c0xpc3Q/OiBNYXliZTxBcnJheTxNYXliZTwoXG4gICAgICAgICAgICAgIHsgX190eXBlbmFtZT86ICdSYWlsQWNjb3VudCcgfVxuICAgICAgICAgICAgICAmIFBpY2s8UmFpbEFjY291bnQsICdpZCcgfCAncmVmZXJlbmNlJyB8ICdkZXNjcmlwdGlvbicgfCAnaXNEZWZhdWx0JyB8ICd0eXBlJz5cbiAgICAgICAgICAgICk+Pj4gfVxuICAgICAgICAgICk+Pj4sIGJvb2tlZFRpY2tldD86IE1heWJlPChcbiAgICAgICAgICAgIHsgX190eXBlbmFtZT86ICdSYWlsVGlja2V0T3B0aW9uJyB9XG4gICAgICAgICAgICAmIFBpY2s8UmFpbFRpY2tldE9wdGlvbiwgJ3R5cGUnIHwgJ2NsYXNzJyB8ICdzaW5nbGVPclJldHVybicgfCAncHJpY2UnIHwgJ3Jlc2VydmFibGVTdGF0dXMnIHwgJ2N1cnJlbmN5JyB8ICdyb3V0ZScgfCAncm91dGVDb2RlJz5cbiAgICAgICAgICAgICYgeyBpZGVudGlmaWVycz86IE1heWJlPChcbiAgICAgICAgICAgICAgeyBfX3R5cGVuYW1lPzogJ1JhaWxJZGVudGlmaWVycycgfVxuICAgICAgICAgICAgICAmIFBpY2s8UmFpbElkZW50aWZpZXJzLCAndHJhbnNhY3Rpb25JZGVudGlmaWVyJyB8ICdqb3VybmV5SWRlbnRpZmllcicgfCAncHJvdmlkZXInIHwgJ2ZhcmVJZGVudGlmaWVyJyB8ICdkaXJlY3Rpb24nIHwgJ3NpbmdsZU9yUmV0dXJuJyB8ICdib29raW5nUmVmJz5cbiAgICAgICAgICAgICk+LCB0ZXJtcz86IE1heWJlPChcbiAgICAgICAgICAgICAgeyBfX3R5cGVuYW1lPzogJ1JhaWxUaWNrZXRUZXJtcycgfVxuICAgICAgICAgICAgICAmIFBpY2s8UmFpbFRpY2tldFRlcm1zLCAnZXJyb3InIHwgJ3RpY2tldFR5cGVDb2RlJyB8ICd0cmFpbk9wZXJhdGluZ0NvbXBhbnlDb2RlJyB8ICd0aWNrZXRUeXBlTmFtZScgfCAndGlja2V0VHlwZUFsdE5hbWUnIHwgJ3RpY2tldFR5cGVDbGFzcycgfCAncmVzZXJ2YXRpb25SdWxlJyB8ICdqb3VybmV5VHlwZScgfCAncHJlQm9va2luZ1JlcXVpcmVtZW50JyB8ICdnZW5lcmFsVmFsaWRpdHknIHwgJ3ZhbGlkT3V0UnVsZScgfCAndmFsaWRSZXR1cm5SdWxlJyB8ICdnZW5lcmFsRGlzY291bnQnIHwgJ2NoaWxkRGlzY291bnQnIHwgJ3JhaWxjYXJkRGlzY291bnQnIHwgJ3JlZnVuZENhbmNlbGxhdGlvblJ1bGUnIHwgJ2NoYW5nZVJ1bGUnIHwgJ3RpY2tldFR5cGVDb25kaXRpb25zRGVzY3JpcHRpb24nIHwgJ2pvdXJuZXlCcmVha1J1bGUnIHwgJ2F2YWlsYWJpbGl0eVJ1bGUnIHwgJ3RvZEF2YWlsYWJsZScgfCAna2lvc2tBdmFpbGFibGUnIHwgJ3N0YXJ0RGF0ZScgfCAnZW5kRGF0ZSc+XG4gICAgICAgICAgICApPiwgdGlja2V0cz86IE1heWJlPEFycmF5PE1heWJlPChcbiAgICAgICAgICAgICAgeyBfX3R5cGVuYW1lPzogJ1JhaWxUaWNrZXQnIH1cbiAgICAgICAgICAgICAgJiBQaWNrPFJhaWxUaWNrZXQsICdwcmljZScgfCAndHlwZScgfCAncm91dGUnIHwgJ251bUNoaWxkcmVuJyB8ICdudW1BZHVsdHMnPlxuICAgICAgICAgICAgKT4+PiwgdGlja2V0UXVldWVMaXN0PzogTWF5YmU8QXJyYXk8TWF5YmU8KFxuICAgICAgICAgICAgICB7IF9fdHlwZW5hbWU/OiAnUmFpbFRpY2tldFF1ZXVlJyB9XG4gICAgICAgICAgICAgICYgUGljazxSYWlsVGlja2V0UXVldWUsICdpZCcgfCAnbmFtZScgfCAndHlwZSc+XG4gICAgICAgICAgICApPj4+LCBhY2NvdW50c0xpc3Q/OiBNYXliZTxBcnJheTxNYXliZTwoXG4gICAgICAgICAgICAgIHsgX190eXBlbmFtZT86ICdSYWlsQWNjb3VudCcgfVxuICAgICAgICAgICAgICAmIFBpY2s8UmFpbEFjY291bnQsICdpZCcgfCAncmVmZXJlbmNlJyB8ICdkZXNjcmlwdGlvbicgfCAnaXNEZWZhdWx0JyB8ICd0eXBlJz5cbiAgICAgICAgICAgICk+Pj4gfVxuICAgICAgICAgICk+IH1cbiAgICAgICAgKT4+LCB0aWNrZXRFeHRyYXM/OiBNYXliZTxBcnJheTwoXG4gICAgICAgICAgeyBfX3R5cGVuYW1lPzogJ1JhaWxUaWNrZXRFeHRyYScgfVxuICAgICAgICAgICYgUGljazxSYWlsVGlja2V0RXh0cmEsICd0eXBlJyB8ICdsb2NhdGlvbicgfCAnZGF0ZScgfCAnZGVzY3JpcHRpb24nIHwgJ2Ftb3VudCcgfCAnYWR1bHRBbW91bnQnIHwgJ2NoaWxkQW1vdW50JyB8ICdjdXJyZW5jeSc+XG4gICAgICAgICk+PiwgcGx1c0J1cz86IE1heWJlPChcbiAgICAgICAgICB7IF9fdHlwZW5hbWU/OiAnUmFpbFBsdXNCdXMnIH1cbiAgICAgICAgICAmIFBpY2s8UmFpbFBsdXNCdXMsICdvcmlnaW5QbHVzQnVzTkxDJyB8ICdvcmlnaW5TdGF0aW9uTkxDJyB8ICdkZXN0aW5hdGlvblBsdXNCdXNOTEMnIHwgJ2Rlc3RpbmF0aW9uU3RhdGlvbk5MQyc+XG4gICAgICAgICk+IH1cbiAgICAgICk+PiB9XG4gICAgKT4sIGVycm9yczogQXJyYXk8KFxuICAgICAgeyBfX3R5cGVuYW1lPzogJ1NlYXJjaEVycm9yJyB9XG4gICAgICAmIEVycm9yc0ZyYWdtZW50XG4gICAgKT4gfVxuICApIH1cbik7XG5cbmV4cG9ydCB0eXBlIFNhdmVSZWNlbnRTZWFyY2hNdXRhdGlvblZhcmlhYmxlcyA9IEV4YWN0PHtcbiAgc2VydmljZVR5cGU6IFNlcnZpY2VUeXBlO1xuICBzZWFyY2hBcmdzOiBTY2FsYXJzWydKU09OJ107XG4gIHRyYXZlbERhdGU6IFNjYWxhcnNbJ0RhdGVUaW1lJ107XG4gIHRyYXZlbGxlcnM/OiBNYXliZTxBcnJheTxNYXliZTxTY2FsYXJzWydJRCddPj4gfCBNYXliZTxTY2FsYXJzWydJRCddPj47XG59PjtcblxuXG5leHBvcnQgdHlwZSBTYXZlUmVjZW50U2VhcmNoTXV0YXRpb24gPSAoXG4gIHsgX190eXBlbmFtZT86ICdNdXRhdGlvbicgfVxuICAmIHsgc2F2ZVJlY2VudFNlYXJjaDogQXJyYXk8KFxuICAgIHsgX190eXBlbmFtZT86ICdTZWFyY2gnIH1cbiAgICAmIFBpY2s8U2VhcmNoLCAnaWQnPlxuICApPiB9XG4pO1xuXG5leHBvcnQgdHlwZSBTYXZlVXNlckFkZHJlc3NNdXRhdGlvblZhcmlhYmxlcyA9IEV4YWN0PHtcbiAgZGVzY3JpcHRpb246IFNjYWxhcnNbJ1N0cmluZyddO1xuICBudW1iZXJPck5hbWU/OiBNYXliZTxTY2FsYXJzWydTdHJpbmcnXT47XG4gIHN0cmVldD86IE1heWJlPFNjYWxhcnNbJ1N0cmluZyddPjtcbiAgdG93bj86IE1heWJlPFNjYWxhcnNbJ1N0cmluZyddPjtcbiAgY291bnR5PzogTWF5YmU8U2NhbGFyc1snU3RyaW5nJ10+O1xuICBwb3N0Y29kZT86IE1heWJlPFNjYWxhcnNbJ1N0cmluZyddPjtcbiAgY291bnRyeUNvZGU/OiBNYXliZTxTY2FsYXJzWydTdHJpbmcnXT47XG4gIHVzZXJQcmltYXJ5PzogTWF5YmU8U2NhbGFyc1snQm9vbGVhbiddPjtcbn0+O1xuXG5cbmV4cG9ydCB0eXBlIFNhdmVVc2VyQWRkcmVzc011dGF0aW9uID0gKFxuICB7IF9fdHlwZW5hbWU/OiAnTXV0YXRpb24nIH1cbiAgJiB7IHNhdmVVc2VyQWRkcmVzczogKFxuICAgIHsgX190eXBlbmFtZT86ICdBZGRyZXNzJyB9XG4gICAgJiBQaWNrPEFkZHJlc3MsICdpZCcgfCAnZGVzY3JpcHRpb24nIHwgJ251bWJlck9yTmFtZScgfCAnc3RyZWV0JyB8ICd0b3duJyB8ICdjb3VudHknIHwgJ3Bvc3Rjb2RlJyB8ICdjb3VudHJ5Q29kZScgfCAndXNlclByaW1hcnknIHwgJ29mZmljZVByaW1hcnknPlxuICApIH1cbik7XG5cbmV4cG9ydCB0eXBlIFNlYXJjaEFpcmxpbmVzUXVlcnlWYXJpYWJsZXMgPSBFeGFjdDx7XG4gIHF1ZXJ5OiBTY2FsYXJzWydTdHJpbmcnXTtcbn0+O1xuXG5cbmV4cG9ydCB0eXBlIFNlYXJjaEFpcmxpbmVzUXVlcnkgPSAoXG4gIHsgX190eXBlbmFtZT86ICdRdWVyeScgfVxuICAmIHsgc2VhcmNoQWlybGluZXM6IChcbiAgICB7IF9fdHlwZW5hbWU/OiAnQWlybGluZVJlc3VsdHMnIH1cbiAgICAmIHsgaWF0YU1hdGNoPzogTWF5YmU8KFxuICAgICAgeyBfX3R5cGVuYW1lPzogJ0FpcmxpbmVSZXN1bHQnIH1cbiAgICAgICYgUGljazxBaXJsaW5lUmVzdWx0LCAnaWQnIHwgJ25hbWUnIHwgJ2lhdGEnIHwgJ2ljYW8nIHwgJ2FsaWFzJyB8ICdjYWxsc2lnbicgfCAnYWN0aXZlJyB8ICdjb250aW5lbnQnIHwgJ2NvdW50cnknIHwgJ2NvdW50cnlDb2RlJyB8ICdiYW5uZXJJbWFnZScgfCAnbG9nb0ltYWdlJz5cbiAgICApPiwgZ2VuZXJhbE1hdGNoZXM6IEFycmF5PChcbiAgICAgIHsgX190eXBlbmFtZT86ICdBaXJsaW5lUmVzdWx0JyB9XG4gICAgICAmIFBpY2s8QWlybGluZVJlc3VsdCwgJ2lkJyB8ICduYW1lJyB8ICdpYXRhJyB8ICdpY2FvJyB8ICdhbGlhcycgfCAnY2FsbHNpZ24nIHwgJ2FjdGl2ZScgfCAnY29udGluZW50JyB8ICdjb3VudHJ5JyB8ICdjb3VudHJ5Q29kZScgfCAnYmFubmVySW1hZ2UnIHwgJ2xvZ29JbWFnZSc+XG4gICAgKT4gfVxuICApIH1cbik7XG5cbmV4cG9ydCB0eXBlIFNlYXJjaENpdGllc1F1ZXJ5VmFyaWFibGVzID0gRXhhY3Q8e1xuICBxdWVyeTogU2NhbGFyc1snU3RyaW5nJ107XG4gIGNvdW50cnlDb2RlPzogTWF5YmU8U2NhbGFyc1snU3RyaW5nJ10+O1xufT47XG5cblxuZXhwb3J0IHR5cGUgU2VhcmNoQ2l0aWVzUXVlcnkgPSAoXG4gIHsgX190eXBlbmFtZT86ICdRdWVyeScgfVxuICAmIHsgc2VhcmNoQ2l0aWVzOiBBcnJheTwoXG4gICAgeyBfX3R5cGVuYW1lPzogJ0NpdHknIH1cbiAgICAmIFBpY2s8Q2l0eSwgJ2lkJyB8ICduYW1lJyB8ICdjb3VudHJ5JyB8ICdjb3VudHJ5Q29kZScgfCAnY29udGluZW50TmFtZSc+XG4gICAgJiB7IGNvb3JkaW5hdGVzOiAoXG4gICAgICB7IF9fdHlwZW5hbWU/OiAnR2VvQ29vcmRpbmF0ZXMnIH1cbiAgICAgICYgUGljazxHZW9Db29yZGluYXRlcywgJ2xhdGl0dWRlJyB8ICdsb25naXR1ZGUnIHwgJ2FsdGl0dWRlJz5cbiAgICApIH1cbiAgKT4gfVxuKTtcblxuZXhwb3J0IHR5cGUgU2VhcmNoQ29uZmVybWFDaXRpZXNRdWVyeVZhcmlhYmxlcyA9IEV4YWN0PHtcbiAgY2l0eU5hbWU6IFNjYWxhcnNbJ1N0cmluZyddO1xuICBjb3VudHJ5Q29kZTogU2NhbGFyc1snU3RyaW5nJ107XG59PjtcblxuXG5leHBvcnQgdHlwZSBTZWFyY2hDb25mZXJtYUNpdGllc1F1ZXJ5ID0gKFxuICB7IF9fdHlwZW5hbWU/OiAnUXVlcnknIH1cbiAgJiB7IHNlYXJjaENvbmZlcm1hQ2l0aWVzOiAoXG4gICAgeyBfX3R5cGVuYW1lPzogJ0NvbmZlcm1hQ2l0eUxvY2F0aW9uJyB9XG4gICAgJiBQaWNrPENvbmZlcm1hQ2l0eUxvY2F0aW9uLCAnZm91bmRFeGFjdCc+XG4gICAgJiB7IHN1Z2dlc3Rpb25zPzogTWF5YmU8QXJyYXk8TWF5YmU8KFxuICAgICAgeyBfX3R5cGVuYW1lPzogJ0NvbmZlcm1hQ2l0eUxvY2F0aW9uT3B0aW9ucycgfVxuICAgICAgJiBQaWNrPENvbmZlcm1hQ2l0eUxvY2F0aW9uT3B0aW9ucywgJ25hbWUnIHwgJ2NvdW50cnlDb2RlJyB8ICdsYXRpdHVkZScgfCAnbG9uZ2l0dWRlJz5cbiAgICApPj4+IH1cbiAgKSB9XG4pO1xuXG5leHBvcnQgdHlwZSBTZWFyY2hFdXJvc3RhclF1ZXJ5VmFyaWFibGVzID0gRXhhY3Q8e1xuICBwYXNzZW5nZXJzOiBBcnJheTxGbGlnaHRQYXNzZW5nZXJPYmplY3Q+IHwgRmxpZ2h0UGFzc2VuZ2VyT2JqZWN0O1xuICBvcmlnaW5BaXJwb3J0PzogTWF5YmU8U2NhbGFyc1snU3RyaW5nJ10+O1xuICBkZXN0aW5hdGlvbkFpcnBvcnQ/OiBNYXliZTxTY2FsYXJzWydTdHJpbmcnXT47XG4gIG11bHRpRGVzdGluYXRpb24/OiBNYXliZTxBcnJheTxNYXliZTxEZXN0aW5hdGlvbkVudHJ5Pj4gfCBNYXliZTxEZXN0aW5hdGlvbkVudHJ5Pj47XG4gIG91dGJvdW5kRGF0ZT86IE1heWJlPFNjYWxhcnNbJ0RhdGUnXT47XG4gIG91dGJvdW5kRGVwYXJ0dXJlVGltZVdpbmRvdz86IE1heWJlPFNjYWxhcnNbJ1N0cmluZyddPjtcbiAgb3V0Ym91bmRBcnJpdmFsVGltZVdpbmRvdz86IE1heWJlPFNjYWxhcnNbJ1N0cmluZyddPjtcbiAgb3V0Ym91bmRDYWJpbkNsYXNzPzogTWF5YmU8QXJyYXk8TWF5YmU8RmxpZ2h0Q2FiaW5DbGFzcz4+IHwgTWF5YmU8RmxpZ2h0Q2FiaW5DbGFzcz4+O1xuICByZXR1cm5UcmlwOiBTY2FsYXJzWydCb29sZWFuJ107XG4gIHJldHVybkRhdGU/OiBNYXliZTxTY2FsYXJzWydEYXRlJ10+O1xuICByZXR1cm5EZXBhcnR1cmVUaW1lV2luZG93PzogTWF5YmU8U2NhbGFyc1snU3RyaW5nJ10+O1xuICByZXR1cm5BcnJpdmFsVGltZVdpbmRvdz86IE1heWJlPFNjYWxhcnNbJ1N0cmluZyddPjtcbiAgcmV0dXJuQ2FiaW5DbGFzcz86IE1heWJlPEFycmF5PE1heWJlPEZsaWdodENhYmluQ2xhc3M+PiB8IE1heWJlPEZsaWdodENhYmluQ2xhc3M+PjtcbiAgZmFyZVR5cGU6IEZhcmVUeXBlO1xuICByZXF1aXJlRnJlZUJhZz86IE1heWJlPFNjYWxhcnNbJ0Jvb2xlYW4nXT47XG4gIG1heENvbm5lY3Rpb25zPzogTWF5YmU8U2NhbGFyc1snSW50J10+O1xuICBwcmVmZXJyZWRDYXJyaWVycz86IE1heWJlPEFycmF5PE1heWJlPFNjYWxhcnNbJ1N0cmluZyddPj4gfCBNYXliZTxTY2FsYXJzWydTdHJpbmcnXT4+O1xuICBpbmNsdWRlTmVhcmJ5QWlycG9ydHM/OiBNYXliZTxTY2FsYXJzWydCb29sZWFuJ10+O1xuICBhc1NpbmdsZXM/OiBNYXliZTxTY2FsYXJzWydCb29sZWFuJ10+O1xufT47XG5cblxuZXhwb3J0IHR5cGUgU2VhcmNoRXVyb3N0YXJRdWVyeSA9IChcbiAgeyBfX3R5cGVuYW1lPzogJ1F1ZXJ5JyB9XG4gICYgeyBzZWFyY2hFdXJvc3RhcjogKFxuICAgIHsgX190eXBlbmFtZT86ICdGbGlnaHRTZWFyY2hSZXN1bHRWMicgfVxuICAgICYgeyByZXN1bHRzOiAoXG4gICAgICB7IF9fdHlwZW5hbWU/OiAnRkVGbGlnaHRTZWFyY2hSZXN1bHRzJyB9XG4gICAgICAmIHsgam91cm5leXM6IEFycmF5PChcbiAgICAgICAgeyBfX3R5cGVuYW1lPzogJ0ZsaWdodEl0aW5lcmFyeScgfVxuICAgICAgICAmIFBpY2s8RmxpZ2h0SXRpbmVyYXJ5LCAndWlkJyB8ICdwYXNzZW5nZXJDb3VudCcgfCAnb3V0Ym91bmRUb3RhbER1cmF0aW9uJyB8ICdpbmJvdW5kVG90YWxEdXJhdGlvbicgfCAnYWRkaXRpb25hbCcgfCAnc291cmNlJyB8ICdzb3VyY2VJZCcgfCAndmVyc2lvbicgfCAndG1jUHJlZmVycmVkJyB8ICdjb21wYW55UHJlZmVycmVkJyB8ICdvZmZpY2VQcmVmZXJyZWQnIHwgJ3RtY1ByZWZlcnJlZE1lc3NhZ2UnIHwgJ2NvbXBhbnlQcmVmZXJyZWRNZXNzYWdlJyB8ICdvZmZpY2VQcmVmZXJyZWRNZXNzYWdlJyB8ICd1bmF2YWlsYWJsZScgfCAndW5hdmFpbGFibGVNZXNzYWdlJyB8ICdjbzJQZXJJdGVtJyB8ICdjbzJQZXJQYXNzZW5nZXInPlxuICAgICAgICAmIHsgb3V0Ym91bmRGbGlnaHRzOiBBcnJheTwoXG4gICAgICAgICAgeyBfX3R5cGVuYW1lPzogJ0ZsaWdodEpvdXJuZXknIH1cbiAgICAgICAgICAmIFBpY2s8RmxpZ2h0Sm91cm5leSwgJ29yaWdpbkFpcnBvcnQnIHwgJ29yaWdpblRlcm1pbmFsJyB8ICdvcmlnaW5BaXJwb3J0TmFtZScgfCAnZGVzdGluYXRpb25BaXJwb3J0JyB8ICdkZXN0aW5hdGlvblRlcm1pbmFsJyB8ICdkZXN0aW5hdGlvbkFpcnBvcnROYW1lJyB8ICdkYXRlVGltZURlcGFydGluZycgfCAnZGF0ZVRpbWVEZXBhcnRpbmdVVEMnIHwgJ2RhdGVUaW1lQXJyaXZpbmcnIHwgJ2RhdGVUaW1lQXJyaXZpbmdVVEMnIHwgJ21hcmtldGluZ0NhcnJpZXInIHwgJ21hcmtldGluZ0NhcnJpZXJOYW1lJyB8ICdtYXJrZXRpbmdGbGlnaHROdW1iZXInIHwgJ29wZXJhdGluZ0NhcnJpZXInIHwgJ29wZXJhdGluZ0NhcnJpZXJOYW1lJyB8ICdvcGVyYXRpbmdGbGlnaHROdW1iZXInIHwgJ2VxdWlwbWVudENvZGUnIHwgJ2VxdWlwbWVudE5hbWUnIHwgJ3RvdGFsRHVyYXRpb24nIHwgJ2NhYmluQ2xhc3MnIHwgJ21hcmtldGluZ05hbWVzJyB8ICd2ZW5kb3JDb2RlJyB8ICdzdG9wcycgfCAnYm9va2luZ0NvZGUnIHwgJ21hcnJpYWdlR3JvdXAnIHwgJ2ZhcmVCYXNpc0NvZGUnIHwgJ2FkZGl0aW9uYWwnPlxuICAgICAgICAgICYgeyBmYXJlSW5mbz86IE1heWJlPChcbiAgICAgICAgICAgIHsgX190eXBlbmFtZT86ICdGbGlnaHRTcGVjaWFsRmFyZUluZm8nIH1cbiAgICAgICAgICAgICYgUGljazxGbGlnaHRTcGVjaWFsRmFyZUluZm8sICd0aXRsZScgfCAndHlwZScgfCAnY29kZScgfCAnc3VwcGxpZXJDb2RlJz5cbiAgICAgICAgICApPiwgb3JpZ2luQWlycG9ydERldGFpbDogKFxuICAgICAgICAgICAgeyBfX3R5cGVuYW1lPzogJ0FpcnBvcnREZXRhaWwnIH1cbiAgICAgICAgICAgICYgUGljazxBaXJwb3J0RGV0YWlsLCAnaWF0YScgfCAnaWNhbycgfCAnbGF0aXR1ZGUnIHwgJ2xvbmdpdHVkZScgfCAnYWx0aXR1ZGUnIHwgJ3N0YXRlJyB8ICdjaXR5JyB8ICdyb2FkJyB8ICdwb3B1bGFyaXR5JyB8ICdhcmVhJyB8ICdsb2NhdGlvbicgfCAnb2Zmc2V0JyB8ICdhaXJwb3J0TmFtZScgfCAnY291bnRyeU5hbWUnIHwgJ2NvdW50cnlDb2RlJyB8ICdwb3N0Y29kZSc+XG4gICAgICAgICAgKSwgZGVzdGluYXRpb25BaXJwb3J0RGV0YWlsOiAoXG4gICAgICAgICAgICB7IF9fdHlwZW5hbWU/OiAnQWlycG9ydERldGFpbCcgfVxuICAgICAgICAgICAgJiBQaWNrPEFpcnBvcnREZXRhaWwsICdpYXRhJyB8ICdpY2FvJyB8ICdsYXRpdHVkZScgfCAnbG9uZ2l0dWRlJyB8ICdhbHRpdHVkZScgfCAnc3RhdGUnIHwgJ2NpdHknIHwgJ3JvYWQnIHwgJ3BvcHVsYXJpdHknIHwgJ2FyZWEnIHwgJ2xvY2F0aW9uJyB8ICdvZmZzZXQnIHwgJ2FpcnBvcnROYW1lJyB8ICdjb3VudHJ5TmFtZScgfCAnY291bnRyeUNvZGUnIHwgJ3Bvc3Rjb2RlJz5cbiAgICAgICAgICApLCBtYXJrZXRpbmdDYXJyaWVyRGV0YWlsOiAoXG4gICAgICAgICAgICB7IF9fdHlwZW5hbWU/OiAnRmxpZ2h0Q2FycmllckRldGFpbCcgfVxuICAgICAgICAgICAgJiBQaWNrPEZsaWdodENhcnJpZXJEZXRhaWwsICduYW1lJyB8ICdhbGlhcycgfCAnY2FsbHNpZ24nIHwgJ2lhdGEnIHwgJ2ljYW8nIHwgJ2xvZ28nIHwgJ2Jhbm5lcicgfCAncG9wdWxhcml0eSc+XG4gICAgICAgICAgKSwgb3BlcmF0aW5nQ2FycmllckRldGFpbDogKFxuICAgICAgICAgICAgeyBfX3R5cGVuYW1lPzogJ0ZsaWdodENhcnJpZXJEZXRhaWwnIH1cbiAgICAgICAgICAgICYgUGljazxGbGlnaHRDYXJyaWVyRGV0YWlsLCAnbmFtZScgfCAnYWxpYXMnIHwgJ2NhbGxzaWduJyB8ICdpYXRhJyB8ICdpY2FvJyB8ICdsb2dvJyB8ICdiYW5uZXInIHwgJ3BvcHVsYXJpdHknPlxuICAgICAgICAgICksIGZhcmVDb25kaXRpb25zOiAoXG4gICAgICAgICAgICB7IF9fdHlwZW5hbWU/OiAnRmFyZUNvbmRpdGlvbnMnIH1cbiAgICAgICAgICAgICYgeyBjYW5jZWxsYXRpb24/OiBNYXliZTxBcnJheTxNYXliZTwoXG4gICAgICAgICAgICAgIHsgX190eXBlbmFtZT86ICdGYXJlQ29uZGl0aW9uRW50cnknIH1cbiAgICAgICAgICAgICAgJiBQaWNrPEZhcmVDb25kaXRpb25FbnRyeSwgJ25hbWUnIHwgJ3R5cGUnIHwgJ2N1cnJlbmN5JyB8ICdhbW91bnQnIHwgJ3JlbWFyaycgfCAnY2hhbmdlRmVlSW5kJyB8ICdjYW5jZWxGZWVJbmQnIHwgJ3JlZnVuZGFibGVJbmQnPlxuICAgICAgICAgICAgKT4+PiwgY2hhbmdlPzogTWF5YmU8QXJyYXk8TWF5YmU8KFxuICAgICAgICAgICAgICB7IF9fdHlwZW5hbWU/OiAnRmFyZUNvbmRpdGlvbkVudHJ5JyB9XG4gICAgICAgICAgICAgICYgUGljazxGYXJlQ29uZGl0aW9uRW50cnksICduYW1lJyB8ICd0eXBlJyB8ICdjdXJyZW5jeScgfCAnYW1vdW50JyB8ICdyZW1hcmsnIHwgJ2NoYW5nZUZlZUluZCcgfCAnY2FuY2VsRmVlSW5kJyB8ICdyZWZ1bmRhYmxlSW5kJz5cbiAgICAgICAgICAgICk+Pj4sIG5vU2hvdz86IE1heWJlPEFycmF5PE1heWJlPChcbiAgICAgICAgICAgICAgeyBfX3R5cGVuYW1lPzogJ0ZhcmVDb25kaXRpb25FbnRyeScgfVxuICAgICAgICAgICAgICAmIFBpY2s8RmFyZUNvbmRpdGlvbkVudHJ5LCAnbmFtZScgfCAndHlwZScgfCAnY3VycmVuY3knIHwgJ2Ftb3VudCcgfCAncmVtYXJrJyB8ICdjaGFuZ2VGZWVJbmQnIHwgJ2NhbmNlbEZlZUluZCcgfCAncmVmdW5kYWJsZUluZCc+XG4gICAgICAgICAgICApPj4+LCB1cGdyYWRlPzogTWF5YmU8QXJyYXk8TWF5YmU8KFxuICAgICAgICAgICAgICB7IF9fdHlwZW5hbWU/OiAnRmFyZUNvbmRpdGlvbkVudHJ5JyB9XG4gICAgICAgICAgICAgICYgUGljazxGYXJlQ29uZGl0aW9uRW50cnksICduYW1lJyB8ICd0eXBlJyB8ICdjdXJyZW5jeScgfCAnYW1vdW50JyB8ICdyZW1hcmsnIHwgJ2NoYW5nZUZlZUluZCcgfCAnY2FuY2VsRmVlSW5kJyB8ICdyZWZ1bmRhYmxlSW5kJz5cbiAgICAgICAgICAgICk+Pj4sIG90aGVyPzogTWF5YmU8QXJyYXk8TWF5YmU8KFxuICAgICAgICAgICAgICB7IF9fdHlwZW5hbWU/OiAnRmFyZUNvbmRpdGlvbkVudHJ5JyB9XG4gICAgICAgICAgICAgICYgUGljazxGYXJlQ29uZGl0aW9uRW50cnksICduYW1lJyB8ICd0eXBlJyB8ICdjdXJyZW5jeScgfCAnYW1vdW50JyB8ICdyZW1hcmsnIHwgJ2NoYW5nZUZlZUluZCcgfCAnY2FuY2VsRmVlSW5kJyB8ICdyZWZ1bmRhYmxlSW5kJz5cbiAgICAgICAgICAgICk+Pj4gfVxuICAgICAgICAgICkgfVxuICAgICAgICApPiwgaW5ib3VuZEZsaWdodHM/OiBNYXliZTxBcnJheTxNYXliZTwoXG4gICAgICAgICAgeyBfX3R5cGVuYW1lPzogJ0ZsaWdodEpvdXJuZXknIH1cbiAgICAgICAgICAmIFBpY2s8RmxpZ2h0Sm91cm5leSwgJ29yaWdpbkFpcnBvcnQnIHwgJ29yaWdpblRlcm1pbmFsJyB8ICdvcmlnaW5BaXJwb3J0TmFtZScgfCAnZGVzdGluYXRpb25BaXJwb3J0JyB8ICdkZXN0aW5hdGlvblRlcm1pbmFsJyB8ICdkZXN0aW5hdGlvbkFpcnBvcnROYW1lJyB8ICdkYXRlVGltZURlcGFydGluZycgfCAnZGF0ZVRpbWVEZXBhcnRpbmdVVEMnIHwgJ2RhdGVUaW1lQXJyaXZpbmcnIHwgJ2RhdGVUaW1lQXJyaXZpbmdVVEMnIHwgJ21hcmtldGluZ0NhcnJpZXInIHwgJ21hcmtldGluZ0NhcnJpZXJOYW1lJyB8ICdtYXJrZXRpbmdGbGlnaHROdW1iZXInIHwgJ29wZXJhdGluZ0NhcnJpZXInIHwgJ29wZXJhdGluZ0NhcnJpZXJOYW1lJyB8ICdvcGVyYXRpbmdGbGlnaHROdW1iZXInIHwgJ2VxdWlwbWVudENvZGUnIHwgJ2VxdWlwbWVudE5hbWUnIHwgJ3RvdGFsRHVyYXRpb24nIHwgJ2NhYmluQ2xhc3MnIHwgJ21hcmtldGluZ05hbWVzJyB8ICd2ZW5kb3JDb2RlJyB8ICdzdG9wcycgfCAnYm9va2luZ0NvZGUnIHwgJ21hcnJpYWdlR3JvdXAnIHwgJ2ZhcmVCYXNpc0NvZGUnIHwgJ2FkZGl0aW9uYWwnPlxuICAgICAgICAgICYgeyBmYXJlSW5mbz86IE1heWJlPChcbiAgICAgICAgICAgIHsgX190eXBlbmFtZT86ICdGbGlnaHRTcGVjaWFsRmFyZUluZm8nIH1cbiAgICAgICAgICAgICYgUGljazxGbGlnaHRTcGVjaWFsRmFyZUluZm8sICd0aXRsZScgfCAndHlwZScgfCAnY29kZScgfCAnc3VwcGxpZXJDb2RlJz5cbiAgICAgICAgICApPiwgb3JpZ2luQWlycG9ydERldGFpbDogKFxuICAgICAgICAgICAgeyBfX3R5cGVuYW1lPzogJ0FpcnBvcnREZXRhaWwnIH1cbiAgICAgICAgICAgICYgUGljazxBaXJwb3J0RGV0YWlsLCAnaWF0YScgfCAnaWNhbycgfCAnbGF0aXR1ZGUnIHwgJ2xvbmdpdHVkZScgfCAnYWx0aXR1ZGUnIHwgJ3N0YXRlJyB8ICdjaXR5JyB8ICdyb2FkJyB8ICdwb3B1bGFyaXR5JyB8ICdhcmVhJyB8ICdsb2NhdGlvbicgfCAnb2Zmc2V0JyB8ICdhaXJwb3J0TmFtZScgfCAnY291bnRyeU5hbWUnIHwgJ2NvdW50cnlDb2RlJyB8ICdwb3N0Y29kZSc+XG4gICAgICAgICAgKSwgZGVzdGluYXRpb25BaXJwb3J0RGV0YWlsOiAoXG4gICAgICAgICAgICB7IF9fdHlwZW5hbWU/OiAnQWlycG9ydERldGFpbCcgfVxuICAgICAgICAgICAgJiBQaWNrPEFpcnBvcnREZXRhaWwsICdpYXRhJyB8ICdpY2FvJyB8ICdsYXRpdHVkZScgfCAnbG9uZ2l0dWRlJyB8ICdhbHRpdHVkZScgfCAnc3RhdGUnIHwgJ2NpdHknIHwgJ3JvYWQnIHwgJ3BvcHVsYXJpdHknIHwgJ2FyZWEnIHwgJ2xvY2F0aW9uJyB8ICdvZmZzZXQnIHwgJ2FpcnBvcnROYW1lJyB8ICdjb3VudHJ5TmFtZScgfCAnY291bnRyeUNvZGUnIHwgJ3Bvc3Rjb2RlJz5cbiAgICAgICAgICApLCBtYXJrZXRpbmdDYXJyaWVyRGV0YWlsOiAoXG4gICAgICAgICAgICB7IF9fdHlwZW5hbWU/OiAnRmxpZ2h0Q2FycmllckRldGFpbCcgfVxuICAgICAgICAgICAgJiBQaWNrPEZsaWdodENhcnJpZXJEZXRhaWwsICduYW1lJyB8ICdhbGlhcycgfCAnY2FsbHNpZ24nIHwgJ2lhdGEnIHwgJ2ljYW8nIHwgJ2xvZ28nIHwgJ2Jhbm5lcicgfCAncG9wdWxhcml0eSc+XG4gICAgICAgICAgKSwgb3BlcmF0aW5nQ2FycmllckRldGFpbDogKFxuICAgICAgICAgICAgeyBfX3R5cGVuYW1lPzogJ0ZsaWdodENhcnJpZXJEZXRhaWwnIH1cbiAgICAgICAgICAgICYgUGljazxGbGlnaHRDYXJyaWVyRGV0YWlsLCAnbmFtZScgfCAnYWxpYXMnIHwgJ2NhbGxzaWduJyB8ICdpYXRhJyB8ICdpY2FvJyB8ICdsb2dvJyB8ICdiYW5uZXInIHwgJ3BvcHVsYXJpdHknPlxuICAgICAgICAgICksIGZhcmVDb25kaXRpb25zOiAoXG4gICAgICAgICAgICB7IF9fdHlwZW5hbWU/OiAnRmFyZUNvbmRpdGlvbnMnIH1cbiAgICAgICAgICAgICYgeyBjYW5jZWxsYXRpb24/OiBNYXliZTxBcnJheTxNYXliZTwoXG4gICAgICAgICAgICAgIHsgX190eXBlbmFtZT86ICdGYXJlQ29uZGl0aW9uRW50cnknIH1cbiAgICAgICAgICAgICAgJiBQaWNrPEZhcmVDb25kaXRpb25FbnRyeSwgJ25hbWUnIHwgJ3R5cGUnIHwgJ2N1cnJlbmN5JyB8ICdhbW91bnQnIHwgJ3JlbWFyaycgfCAnY2hhbmdlRmVlSW5kJyB8ICdjYW5jZWxGZWVJbmQnIHwgJ3JlZnVuZGFibGVJbmQnPlxuICAgICAgICAgICAgKT4+PiwgY2hhbmdlPzogTWF5YmU8QXJyYXk8TWF5YmU8KFxuICAgICAgICAgICAgICB7IF9fdHlwZW5hbWU/OiAnRmFyZUNvbmRpdGlvbkVudHJ5JyB9XG4gICAgICAgICAgICAgICYgUGljazxGYXJlQ29uZGl0aW9uRW50cnksICduYW1lJyB8ICd0eXBlJyB8ICdjdXJyZW5jeScgfCAnYW1vdW50JyB8ICdyZW1hcmsnIHwgJ2NoYW5nZUZlZUluZCcgfCAnY2FuY2VsRmVlSW5kJyB8ICdyZWZ1bmRhYmxlSW5kJz5cbiAgICAgICAgICAgICk+Pj4sIG5vU2hvdz86IE1heWJlPEFycmF5PE1heWJlPChcbiAgICAgICAgICAgICAgeyBfX3R5cGVuYW1lPzogJ0ZhcmVDb25kaXRpb25FbnRyeScgfVxuICAgICAgICAgICAgICAmIFBpY2s8RmFyZUNvbmRpdGlvbkVudHJ5LCAnbmFtZScgfCAndHlwZScgfCAnY3VycmVuY3knIHwgJ2Ftb3VudCcgfCAncmVtYXJrJyB8ICdjaGFuZ2VGZWVJbmQnIHwgJ2NhbmNlbEZlZUluZCcgfCAncmVmdW5kYWJsZUluZCc+XG4gICAgICAgICAgICApPj4+LCB1cGdyYWRlPzogTWF5YmU8QXJyYXk8TWF5YmU8KFxuICAgICAgICAgICAgICB7IF9fdHlwZW5hbWU/OiAnRmFyZUNvbmRpdGlvbkVudHJ5JyB9XG4gICAgICAgICAgICAgICYgUGljazxGYXJlQ29uZGl0aW9uRW50cnksICduYW1lJyB8ICd0eXBlJyB8ICdjdXJyZW5jeScgfCAnYW1vdW50JyB8ICdyZW1hcmsnIHwgJ2NoYW5nZUZlZUluZCcgfCAnY2FuY2VsRmVlSW5kJyB8ICdyZWZ1bmRhYmxlSW5kJz5cbiAgICAgICAgICAgICk+Pj4sIG90aGVyPzogTWF5YmU8QXJyYXk8TWF5YmU8KFxuICAgICAgICAgICAgICB7IF9fdHlwZW5hbWU/OiAnRmFyZUNvbmRpdGlvbkVudHJ5JyB9XG4gICAgICAgICAgICAgICYgUGljazxGYXJlQ29uZGl0aW9uRW50cnksICduYW1lJyB8ICd0eXBlJyB8ICdjdXJyZW5jeScgfCAnYW1vdW50JyB8ICdyZW1hcmsnIHwgJ2NoYW5nZUZlZUluZCcgfCAnY2FuY2VsRmVlSW5kJyB8ICdyZWZ1bmRhYmxlSW5kJz5cbiAgICAgICAgICAgICk+Pj4gfVxuICAgICAgICAgICkgfVxuICAgICAgICApPj4+LCBvdXRib3VuZENhcmJvbkVtaXNzaW9ucz86IE1heWJlPChcbiAgICAgICAgICB7IF9fdHlwZW5hbWU/OiAnRmxpZ2h0Q2FyYm9uRW1pc3Npb25zJyB9XG4gICAgICAgICAgJiBQaWNrPEZsaWdodENhcmJvbkVtaXNzaW9ucywgJ2Ftb3VudCcgfCAndW5pdCc+XG4gICAgICAgICk+LCBpbmJvdW5kQ2FyYm9uRW1pc3Npb25zPzogTWF5YmU8KFxuICAgICAgICAgIHsgX190eXBlbmFtZT86ICdGbGlnaHRDYXJib25FbWlzc2lvbnMnIH1cbiAgICAgICAgICAmIFBpY2s8RmxpZ2h0Q2FyYm9uRW1pc3Npb25zLCAnYW1vdW50JyB8ICd1bml0Jz5cbiAgICAgICAgKT4sIHRheGVzPzogTWF5YmU8QXJyYXk8TWF5YmU8KFxuICAgICAgICAgIHsgX190eXBlbmFtZT86ICdGbGlnaHRBbW91bnQnIH1cbiAgICAgICAgICAmIFBpY2s8RmxpZ2h0QW1vdW50LCAnZGVzY3JpcHRpb24nIHwgJ2Ftb3VudCcgfCAnY3VycmVuY3knPlxuICAgICAgICApPj4+LCBkaXNjb3VudHM/OiBNYXliZTxBcnJheTxNYXliZTwoXG4gICAgICAgICAgeyBfX3R5cGVuYW1lPzogJ0ZsaWdodEFtb3VudCcgfVxuICAgICAgICAgICYgUGljazxGbGlnaHRBbW91bnQsICdkZXNjcmlwdGlvbicgfCAnYW1vdW50JyB8ICdjdXJyZW5jeSc+XG4gICAgICAgICk+Pj4sIHRvdGFsOiAoXG4gICAgICAgICAgeyBfX3R5cGVuYW1lPzogJ0ZsaWdodEZhcmVUb3RhbCcgfVxuICAgICAgICAgICYgUGljazxGbGlnaHRGYXJlVG90YWwsICdwcmljZScgfCAndGF4JyB8ICdkaXNjb3VudCcgfCAnY3VycmVuY3knPlxuICAgICAgICApLCBmYXJlQ29uZGl0aW9ucz86IE1heWJlPChcbiAgICAgICAgICB7IF9fdHlwZW5hbWU/OiAnRmFyZUNvbmRpdGlvbnMnIH1cbiAgICAgICAgICAmIHsgY2FuY2VsbGF0aW9uPzogTWF5YmU8QXJyYXk8TWF5YmU8KFxuICAgICAgICAgICAgeyBfX3R5cGVuYW1lPzogJ0ZhcmVDb25kaXRpb25FbnRyeScgfVxuICAgICAgICAgICAgJiBQaWNrPEZhcmVDb25kaXRpb25FbnRyeSwgJ25hbWUnIHwgJ3R5cGUnIHwgJ2N1cnJlbmN5JyB8ICdhbW91bnQnIHwgJ3JlbWFyaycgfCAnY2hhbmdlRmVlSW5kJyB8ICdjYW5jZWxGZWVJbmQnIHwgJ3JlZnVuZGFibGVJbmQnPlxuICAgICAgICAgICk+Pj4sIGNoYW5nZT86IE1heWJlPEFycmF5PE1heWJlPChcbiAgICAgICAgICAgIHsgX190eXBlbmFtZT86ICdGYXJlQ29uZGl0aW9uRW50cnknIH1cbiAgICAgICAgICAgICYgUGljazxGYXJlQ29uZGl0aW9uRW50cnksICduYW1lJyB8ICd0eXBlJyB8ICdjdXJyZW5jeScgfCAnYW1vdW50JyB8ICdyZW1hcmsnIHwgJ2NoYW5nZUZlZUluZCcgfCAnY2FuY2VsRmVlSW5kJyB8ICdyZWZ1bmRhYmxlSW5kJz5cbiAgICAgICAgICApPj4+LCBub1Nob3c/OiBNYXliZTxBcnJheTxNYXliZTwoXG4gICAgICAgICAgICB7IF9fdHlwZW5hbWU/OiAnRmFyZUNvbmRpdGlvbkVudHJ5JyB9XG4gICAgICAgICAgICAmIFBpY2s8RmFyZUNvbmRpdGlvbkVudHJ5LCAnbmFtZScgfCAndHlwZScgfCAnY3VycmVuY3knIHwgJ2Ftb3VudCcgfCAncmVtYXJrJyB8ICdjaGFuZ2VGZWVJbmQnIHwgJ2NhbmNlbEZlZUluZCcgfCAncmVmdW5kYWJsZUluZCc+XG4gICAgICAgICAgKT4+PiwgdXBncmFkZT86IE1heWJlPEFycmF5PE1heWJlPChcbiAgICAgICAgICAgIHsgX190eXBlbmFtZT86ICdGYXJlQ29uZGl0aW9uRW50cnknIH1cbiAgICAgICAgICAgICYgUGljazxGYXJlQ29uZGl0aW9uRW50cnksICduYW1lJyB8ICd0eXBlJyB8ICdjdXJyZW5jeScgfCAnYW1vdW50JyB8ICdyZW1hcmsnIHwgJ2NoYW5nZUZlZUluZCcgfCAnY2FuY2VsRmVlSW5kJyB8ICdyZWZ1bmRhYmxlSW5kJz5cbiAgICAgICAgICApPj4+LCBvdGhlcj86IE1heWJlPEFycmF5PE1heWJlPChcbiAgICAgICAgICAgIHsgX190eXBlbmFtZT86ICdGYXJlQ29uZGl0aW9uRW50cnknIH1cbiAgICAgICAgICAgICYgUGljazxGYXJlQ29uZGl0aW9uRW50cnksICduYW1lJyB8ICd0eXBlJyB8ICdjdXJyZW5jeScgfCAnYW1vdW50JyB8ICdyZW1hcmsnIHwgJ2NoYW5nZUZlZUluZCcgfCAnY2FuY2VsRmVlSW5kJyB8ICdyZWZ1bmRhYmxlSW5kJz5cbiAgICAgICAgICApPj4+IH1cbiAgICAgICAgKT4sIGJhZ2dhZ2VBbGxvd2FuY2U/OiBNYXliZTxBcnJheTxNYXliZTwoXG4gICAgICAgICAgeyBfX3R5cGVuYW1lPzogJ0JhZ2dhZ2VBbGxvd2FuY2UnIH1cbiAgICAgICAgICAmIFBpY2s8QmFnZ2FnZUFsbG93YW5jZSwgJ3R5cGUnIHwgJ3F0eScgfCAnbWF4S0cnIHwgJ21heExCUyc+XG4gICAgICAgICk+Pj4gfVxuICAgICAgKT4sIG11bHRpOiBBcnJheTwoXG4gICAgICAgIHsgX190eXBlbmFtZT86ICdJdGluZXJhcnlTdW1tYXJ5JyB9XG4gICAgICAgICYgUGljazxJdGluZXJhcnlTdW1tYXJ5LCAnb3JkZXInIHwgJ29yaWdpbicgfCAnZGVzdGluYXRpb24nIHwgJ21pblByaWNlJyB8ICdtYXhQcmljZSc+XG4gICAgICAgICYgeyByZXN1bHRzOiBBcnJheTwoXG4gICAgICAgICAgeyBfX3R5cGVuYW1lPzogJ0ZsaWdodEl0aW5lcmFyeScgfVxuICAgICAgICAgICYgUGljazxGbGlnaHRJdGluZXJhcnksICd1aWQnIHwgJ3Bhc3NlbmdlckNvdW50JyB8ICdvdXRib3VuZFRvdGFsRHVyYXRpb24nIHwgJ2luYm91bmRUb3RhbER1cmF0aW9uJyB8ICdhZGRpdGlvbmFsJyB8ICdzb3VyY2UnIHwgJ3NvdXJjZUlkJyB8ICd2ZXJzaW9uJyB8ICd0bWNQcmVmZXJyZWQnIHwgJ2NvbXBhbnlQcmVmZXJyZWQnIHwgJ29mZmljZVByZWZlcnJlZCcgfCAndG1jUHJlZmVycmVkTWVzc2FnZScgfCAnY29tcGFueVByZWZlcnJlZE1lc3NhZ2UnIHwgJ29mZmljZVByZWZlcnJlZE1lc3NhZ2UnIHwgJ3VuYXZhaWxhYmxlJyB8ICd1bmF2YWlsYWJsZU1lc3NhZ2UnIHwgJ2NvMlBlckl0ZW0nIHwgJ2NvMlBlclBhc3Nlbmdlcic+XG4gICAgICAgICAgJiB7IG91dGJvdW5kRmxpZ2h0czogQXJyYXk8KFxuICAgICAgICAgICAgeyBfX3R5cGVuYW1lPzogJ0ZsaWdodEpvdXJuZXknIH1cbiAgICAgICAgICAgICYgUGljazxGbGlnaHRKb3VybmV5LCAnb3JpZ2luQWlycG9ydCcgfCAnb3JpZ2luVGVybWluYWwnIHwgJ29yaWdpbkFpcnBvcnROYW1lJyB8ICdkZXN0aW5hdGlvbkFpcnBvcnQnIHwgJ2Rlc3RpbmF0aW9uVGVybWluYWwnIHwgJ2Rlc3RpbmF0aW9uQWlycG9ydE5hbWUnIHwgJ2RhdGVUaW1lRGVwYXJ0aW5nJyB8ICdkYXRlVGltZURlcGFydGluZ1VUQycgfCAnZGF0ZVRpbWVBcnJpdmluZycgfCAnZGF0ZVRpbWVBcnJpdmluZ1VUQycgfCAnbWFya2V0aW5nQ2FycmllcicgfCAnbWFya2V0aW5nQ2Fycmllck5hbWUnIHwgJ21hcmtldGluZ0ZsaWdodE51bWJlcicgfCAnb3BlcmF0aW5nQ2FycmllcicgfCAnb3BlcmF0aW5nQ2Fycmllck5hbWUnIHwgJ29wZXJhdGluZ0ZsaWdodE51bWJlcicgfCAnZXF1aXBtZW50Q29kZScgfCAnZXF1aXBtZW50TmFtZScgfCAndG90YWxEdXJhdGlvbicgfCAnY2FiaW5DbGFzcycgfCAnbWFya2V0aW5nTmFtZXMnIHwgJ3ZlbmRvckNvZGUnIHwgJ3N0b3BzJyB8ICdib29raW5nQ29kZScgfCAnbWFycmlhZ2VHcm91cCcgfCAnZmFyZUJhc2lzQ29kZScgfCAnYWRkaXRpb25hbCc+XG4gICAgICAgICAgICAmIHsgZmFyZUluZm8/OiBNYXliZTwoXG4gICAgICAgICAgICAgIHsgX190eXBlbmFtZT86ICdGbGlnaHRTcGVjaWFsRmFyZUluZm8nIH1cbiAgICAgICAgICAgICAgJiBQaWNrPEZsaWdodFNwZWNpYWxGYXJlSW5mbywgJ3RpdGxlJyB8ICd0eXBlJyB8ICdjb2RlJyB8ICdzdXBwbGllckNvZGUnPlxuICAgICAgICAgICAgKT4sIG9yaWdpbkFpcnBvcnREZXRhaWw6IChcbiAgICAgICAgICAgICAgeyBfX3R5cGVuYW1lPzogJ0FpcnBvcnREZXRhaWwnIH1cbiAgICAgICAgICAgICAgJiBQaWNrPEFpcnBvcnREZXRhaWwsICdpYXRhJyB8ICdpY2FvJyB8ICdsYXRpdHVkZScgfCAnbG9uZ2l0dWRlJyB8ICdhbHRpdHVkZScgfCAnc3RhdGUnIHwgJ2NpdHknIHwgJ3JvYWQnIHwgJ3BvcHVsYXJpdHknIHwgJ2FyZWEnIHwgJ2xvY2F0aW9uJyB8ICdvZmZzZXQnIHwgJ2FpcnBvcnROYW1lJyB8ICdjb3VudHJ5TmFtZScgfCAnY291bnRyeUNvZGUnIHwgJ3Bvc3Rjb2RlJz5cbiAgICAgICAgICAgICksIGRlc3RpbmF0aW9uQWlycG9ydERldGFpbDogKFxuICAgICAgICAgICAgICB7IF9fdHlwZW5hbWU/OiAnQWlycG9ydERldGFpbCcgfVxuICAgICAgICAgICAgICAmIFBpY2s8QWlycG9ydERldGFpbCwgJ2lhdGEnIHwgJ2ljYW8nIHwgJ2xhdGl0dWRlJyB8ICdsb25naXR1ZGUnIHwgJ2FsdGl0dWRlJyB8ICdzdGF0ZScgfCAnY2l0eScgfCAncm9hZCcgfCAncG9wdWxhcml0eScgfCAnYXJlYScgfCAnbG9jYXRpb24nIHwgJ29mZnNldCcgfCAnYWlycG9ydE5hbWUnIHwgJ2NvdW50cnlOYW1lJyB8ICdjb3VudHJ5Q29kZScgfCAncG9zdGNvZGUnPlxuICAgICAgICAgICAgKSwgbWFya2V0aW5nQ2FycmllckRldGFpbDogKFxuICAgICAgICAgICAgICB7IF9fdHlwZW5hbWU/OiAnRmxpZ2h0Q2FycmllckRldGFpbCcgfVxuICAgICAgICAgICAgICAmIFBpY2s8RmxpZ2h0Q2FycmllckRldGFpbCwgJ25hbWUnIHwgJ2FsaWFzJyB8ICdjYWxsc2lnbicgfCAnaWF0YScgfCAnaWNhbycgfCAnbG9nbycgfCAnYmFubmVyJyB8ICdwb3B1bGFyaXR5Jz5cbiAgICAgICAgICAgICksIG9wZXJhdGluZ0NhcnJpZXJEZXRhaWw6IChcbiAgICAgICAgICAgICAgeyBfX3R5cGVuYW1lPzogJ0ZsaWdodENhcnJpZXJEZXRhaWwnIH1cbiAgICAgICAgICAgICAgJiBQaWNrPEZsaWdodENhcnJpZXJEZXRhaWwsICduYW1lJyB8ICdhbGlhcycgfCAnY2FsbHNpZ24nIHwgJ2lhdGEnIHwgJ2ljYW8nIHwgJ2xvZ28nIHwgJ2Jhbm5lcicgfCAncG9wdWxhcml0eSc+XG4gICAgICAgICAgICApLCBmYXJlQ29uZGl0aW9uczogKFxuICAgICAgICAgICAgICB7IF9fdHlwZW5hbWU/OiAnRmFyZUNvbmRpdGlvbnMnIH1cbiAgICAgICAgICAgICAgJiB7IGNhbmNlbGxhdGlvbj86IE1heWJlPEFycmF5PE1heWJlPChcbiAgICAgICAgICAgICAgICB7IF9fdHlwZW5hbWU/OiAnRmFyZUNvbmRpdGlvbkVudHJ5JyB9XG4gICAgICAgICAgICAgICAgJiBQaWNrPEZhcmVDb25kaXRpb25FbnRyeSwgJ25hbWUnIHwgJ3R5cGUnIHwgJ2N1cnJlbmN5JyB8ICdhbW91bnQnIHwgJ3JlbWFyaycgfCAnY2hhbmdlRmVlSW5kJyB8ICdjYW5jZWxGZWVJbmQnIHwgJ3JlZnVuZGFibGVJbmQnPlxuICAgICAgICAgICAgICApPj4+LCBjaGFuZ2U/OiBNYXliZTxBcnJheTxNYXliZTwoXG4gICAgICAgICAgICAgICAgeyBfX3R5cGVuYW1lPzogJ0ZhcmVDb25kaXRpb25FbnRyeScgfVxuICAgICAgICAgICAgICAgICYgUGljazxGYXJlQ29uZGl0aW9uRW50cnksICduYW1lJyB8ICd0eXBlJyB8ICdjdXJyZW5jeScgfCAnYW1vdW50JyB8ICdyZW1hcmsnIHwgJ2NoYW5nZUZlZUluZCcgfCAnY2FuY2VsRmVlSW5kJyB8ICdyZWZ1bmRhYmxlSW5kJz5cbiAgICAgICAgICAgICAgKT4+Piwgbm9TaG93PzogTWF5YmU8QXJyYXk8TWF5YmU8KFxuICAgICAgICAgICAgICAgIHsgX190eXBlbmFtZT86ICdGYXJlQ29uZGl0aW9uRW50cnknIH1cbiAgICAgICAgICAgICAgICAmIFBpY2s8RmFyZUNvbmRpdGlvbkVudHJ5LCAnbmFtZScgfCAndHlwZScgfCAnY3VycmVuY3knIHwgJ2Ftb3VudCcgfCAncmVtYXJrJyB8ICdjaGFuZ2VGZWVJbmQnIHwgJ2NhbmNlbEZlZUluZCcgfCAncmVmdW5kYWJsZUluZCc+XG4gICAgICAgICAgICAgICk+Pj4sIHVwZ3JhZGU/OiBNYXliZTxBcnJheTxNYXliZTwoXG4gICAgICAgICAgICAgICAgeyBfX3R5cGVuYW1lPzogJ0ZhcmVDb25kaXRpb25FbnRyeScgfVxuICAgICAgICAgICAgICAgICYgUGljazxGYXJlQ29uZGl0aW9uRW50cnksICduYW1lJyB8ICd0eXBlJyB8ICdjdXJyZW5jeScgfCAnYW1vdW50JyB8ICdyZW1hcmsnIHwgJ2NoYW5nZUZlZUluZCcgfCAnY2FuY2VsRmVlSW5kJyB8ICdyZWZ1bmRhYmxlSW5kJz5cbiAgICAgICAgICAgICAgKT4+Piwgb3RoZXI/OiBNYXliZTxBcnJheTxNYXliZTwoXG4gICAgICAgICAgICAgICAgeyBfX3R5cGVuYW1lPzogJ0ZhcmVDb25kaXRpb25FbnRyeScgfVxuICAgICAgICAgICAgICAgICYgUGljazxGYXJlQ29uZGl0aW9uRW50cnksICduYW1lJyB8ICd0eXBlJyB8ICdjdXJyZW5jeScgfCAnYW1vdW50JyB8ICdyZW1hcmsnIHwgJ2NoYW5nZUZlZUluZCcgfCAnY2FuY2VsRmVlSW5kJyB8ICdyZWZ1bmRhYmxlSW5kJz5cbiAgICAgICAgICAgICAgKT4+PiB9XG4gICAgICAgICAgICApIH1cbiAgICAgICAgICApPiwgaW5ib3VuZEZsaWdodHM/OiBNYXliZTxBcnJheTxNYXliZTwoXG4gICAgICAgICAgICB7IF9fdHlwZW5hbWU/OiAnRmxpZ2h0Sm91cm5leScgfVxuICAgICAgICAgICAgJiBQaWNrPEZsaWdodEpvdXJuZXksICdvcmlnaW5BaXJwb3J0JyB8ICdvcmlnaW5UZXJtaW5hbCcgfCAnb3JpZ2luQWlycG9ydE5hbWUnIHwgJ2Rlc3RpbmF0aW9uQWlycG9ydCcgfCAnZGVzdGluYXRpb25UZXJtaW5hbCcgfCAnZGVzdGluYXRpb25BaXJwb3J0TmFtZScgfCAnZGF0ZVRpbWVEZXBhcnRpbmcnIHwgJ2RhdGVUaW1lRGVwYXJ0aW5nVVRDJyB8ICdkYXRlVGltZUFycml2aW5nJyB8ICdkYXRlVGltZUFycml2aW5nVVRDJyB8ICdtYXJrZXRpbmdDYXJyaWVyJyB8ICdtYXJrZXRpbmdDYXJyaWVyTmFtZScgfCAnbWFya2V0aW5nRmxpZ2h0TnVtYmVyJyB8ICdvcGVyYXRpbmdDYXJyaWVyJyB8ICdvcGVyYXRpbmdDYXJyaWVyTmFtZScgfCAnb3BlcmF0aW5nRmxpZ2h0TnVtYmVyJyB8ICdlcXVpcG1lbnRDb2RlJyB8ICdlcXVpcG1lbnROYW1lJyB8ICd0b3RhbER1cmF0aW9uJyB8ICdjYWJpbkNsYXNzJyB8ICdtYXJrZXRpbmdOYW1lcycgfCAndmVuZG9yQ29kZScgfCAnc3RvcHMnIHwgJ2Jvb2tpbmdDb2RlJyB8ICdtYXJyaWFnZUdyb3VwJyB8ICdmYXJlQmFzaXNDb2RlJyB8ICdhZGRpdGlvbmFsJz5cbiAgICAgICAgICAgICYgeyBmYXJlSW5mbz86IE1heWJlPChcbiAgICAgICAgICAgICAgeyBfX3R5cGVuYW1lPzogJ0ZsaWdodFNwZWNpYWxGYXJlSW5mbycgfVxuICAgICAgICAgICAgICAmIFBpY2s8RmxpZ2h0U3BlY2lhbEZhcmVJbmZvLCAndGl0bGUnIHwgJ3R5cGUnIHwgJ2NvZGUnIHwgJ3N1cHBsaWVyQ29kZSc+XG4gICAgICAgICAgICApPiwgb3JpZ2luQWlycG9ydERldGFpbDogKFxuICAgICAgICAgICAgICB7IF9fdHlwZW5hbWU/OiAnQWlycG9ydERldGFpbCcgfVxuICAgICAgICAgICAgICAmIFBpY2s8QWlycG9ydERldGFpbCwgJ2lhdGEnIHwgJ2ljYW8nIHwgJ2xhdGl0dWRlJyB8ICdsb25naXR1ZGUnIHwgJ2FsdGl0dWRlJyB8ICdzdGF0ZScgfCAnY2l0eScgfCAncm9hZCcgfCAncG9wdWxhcml0eScgfCAnYXJlYScgfCAnbG9jYXRpb24nIHwgJ29mZnNldCcgfCAnYWlycG9ydE5hbWUnIHwgJ2NvdW50cnlOYW1lJyB8ICdjb3VudHJ5Q29kZScgfCAncG9zdGNvZGUnPlxuICAgICAgICAgICAgKSwgZGVzdGluYXRpb25BaXJwb3J0RGV0YWlsOiAoXG4gICAgICAgICAgICAgIHsgX190eXBlbmFtZT86ICdBaXJwb3J0RGV0YWlsJyB9XG4gICAgICAgICAgICAgICYgUGljazxBaXJwb3J0RGV0YWlsLCAnaWF0YScgfCAnaWNhbycgfCAnbGF0aXR1ZGUnIHwgJ2xvbmdpdHVkZScgfCAnYWx0aXR1ZGUnIHwgJ3N0YXRlJyB8ICdjaXR5JyB8ICdyb2FkJyB8ICdwb3B1bGFyaXR5JyB8ICdhcmVhJyB8ICdsb2NhdGlvbicgfCAnb2Zmc2V0JyB8ICdhaXJwb3J0TmFtZScgfCAnY291bnRyeU5hbWUnIHwgJ2NvdW50cnlDb2RlJyB8ICdwb3N0Y29kZSc+XG4gICAgICAgICAgICApLCBtYXJrZXRpbmdDYXJyaWVyRGV0YWlsOiAoXG4gICAgICAgICAgICAgIHsgX190eXBlbmFtZT86ICdGbGlnaHRDYXJyaWVyRGV0YWlsJyB9XG4gICAgICAgICAgICAgICYgUGljazxGbGlnaHRDYXJyaWVyRGV0YWlsLCAnbmFtZScgfCAnYWxpYXMnIHwgJ2NhbGxzaWduJyB8ICdpYXRhJyB8ICdpY2FvJyB8ICdsb2dvJyB8ICdiYW5uZXInIHwgJ3BvcHVsYXJpdHknPlxuICAgICAgICAgICAgKSwgb3BlcmF0aW5nQ2FycmllckRldGFpbDogKFxuICAgICAgICAgICAgICB7IF9fdHlwZW5hbWU/OiAnRmxpZ2h0Q2FycmllckRldGFpbCcgfVxuICAgICAgICAgICAgICAmIFBpY2s8RmxpZ2h0Q2FycmllckRldGFpbCwgJ25hbWUnIHwgJ2FsaWFzJyB8ICdjYWxsc2lnbicgfCAnaWF0YScgfCAnaWNhbycgfCAnbG9nbycgfCAnYmFubmVyJyB8ICdwb3B1bGFyaXR5Jz5cbiAgICAgICAgICAgICksIGZhcmVDb25kaXRpb25zOiAoXG4gICAgICAgICAgICAgIHsgX190eXBlbmFtZT86ICdGYXJlQ29uZGl0aW9ucycgfVxuICAgICAgICAgICAgICAmIHsgY2FuY2VsbGF0aW9uPzogTWF5YmU8QXJyYXk8TWF5YmU8KFxuICAgICAgICAgICAgICAgIHsgX190eXBlbmFtZT86ICdGYXJlQ29uZGl0aW9uRW50cnknIH1cbiAgICAgICAgICAgICAgICAmIFBpY2s8RmFyZUNvbmRpdGlvbkVudHJ5LCAnbmFtZScgfCAndHlwZScgfCAnY3VycmVuY3knIHwgJ2Ftb3VudCcgfCAncmVtYXJrJyB8ICdjaGFuZ2VGZWVJbmQnIHwgJ2NhbmNlbEZlZUluZCcgfCAncmVmdW5kYWJsZUluZCc+XG4gICAgICAgICAgICAgICk+Pj4sIGNoYW5nZT86IE1heWJlPEFycmF5PE1heWJlPChcbiAgICAgICAgICAgICAgICB7IF9fdHlwZW5hbWU/OiAnRmFyZUNvbmRpdGlvbkVudHJ5JyB9XG4gICAgICAgICAgICAgICAgJiBQaWNrPEZhcmVDb25kaXRpb25FbnRyeSwgJ25hbWUnIHwgJ3R5cGUnIHwgJ2N1cnJlbmN5JyB8ICdhbW91bnQnIHwgJ3JlbWFyaycgfCAnY2hhbmdlRmVlSW5kJyB8ICdjYW5jZWxGZWVJbmQnIHwgJ3JlZnVuZGFibGVJbmQnPlxuICAgICAgICAgICAgICApPj4+LCBub1Nob3c/OiBNYXliZTxBcnJheTxNYXliZTwoXG4gICAgICAgICAgICAgICAgeyBfX3R5cGVuYW1lPzogJ0ZhcmVDb25kaXRpb25FbnRyeScgfVxuICAgICAgICAgICAgICAgICYgUGljazxGYXJlQ29uZGl0aW9uRW50cnksICduYW1lJyB8ICd0eXBlJyB8ICdjdXJyZW5jeScgfCAnYW1vdW50JyB8ICdyZW1hcmsnIHwgJ2NoYW5nZUZlZUluZCcgfCAnY2FuY2VsRmVlSW5kJyB8ICdyZWZ1bmRhYmxlSW5kJz5cbiAgICAgICAgICAgICAgKT4+PiwgdXBncmFkZT86IE1heWJlPEFycmF5PE1heWJlPChcbiAgICAgICAgICAgICAgICB7IF9fdHlwZW5hbWU/OiAnRmFyZUNvbmRpdGlvbkVudHJ5JyB9XG4gICAgICAgICAgICAgICAgJiBQaWNrPEZhcmVDb25kaXRpb25FbnRyeSwgJ25hbWUnIHwgJ3R5cGUnIHwgJ2N1cnJlbmN5JyB8ICdhbW91bnQnIHwgJ3JlbWFyaycgfCAnY2hhbmdlRmVlSW5kJyB8ICdjYW5jZWxGZWVJbmQnIHwgJ3JlZnVuZGFibGVJbmQnPlxuICAgICAgICAgICAgICApPj4+LCBvdGhlcj86IE1heWJlPEFycmF5PE1heWJlPChcbiAgICAgICAgICAgICAgICB7IF9fdHlwZW5hbWU/OiAnRmFyZUNvbmRpdGlvbkVudHJ5JyB9XG4gICAgICAgICAgICAgICAgJiBQaWNrPEZhcmVDb25kaXRpb25FbnRyeSwgJ25hbWUnIHwgJ3R5cGUnIHwgJ2N1cnJlbmN5JyB8ICdhbW91bnQnIHwgJ3JlbWFyaycgfCAnY2hhbmdlRmVlSW5kJyB8ICdjYW5jZWxGZWVJbmQnIHwgJ3JlZnVuZGFibGVJbmQnPlxuICAgICAgICAgICAgICApPj4+IH1cbiAgICAgICAgICAgICkgfVxuICAgICAgICAgICk+Pj4sIG91dGJvdW5kQ2FyYm9uRW1pc3Npb25zPzogTWF5YmU8KFxuICAgICAgICAgICAgeyBfX3R5cGVuYW1lPzogJ0ZsaWdodENhcmJvbkVtaXNzaW9ucycgfVxuICAgICAgICAgICAgJiBQaWNrPEZsaWdodENhcmJvbkVtaXNzaW9ucywgJ2Ftb3VudCcgfCAndW5pdCc+XG4gICAgICAgICAgKT4sIGluYm91bmRDYXJib25FbWlzc2lvbnM/OiBNYXliZTwoXG4gICAgICAgICAgICB7IF9fdHlwZW5hbWU/OiAnRmxpZ2h0Q2FyYm9uRW1pc3Npb25zJyB9XG4gICAgICAgICAgICAmIFBpY2s8RmxpZ2h0Q2FyYm9uRW1pc3Npb25zLCAnYW1vdW50JyB8ICd1bml0Jz5cbiAgICAgICAgICApPiwgdGF4ZXM/OiBNYXliZTxBcnJheTxNYXliZTwoXG4gICAgICAgICAgICB7IF9fdHlwZW5hbWU/OiAnRmxpZ2h0QW1vdW50JyB9XG4gICAgICAgICAgICAmIFBpY2s8RmxpZ2h0QW1vdW50LCAnZGVzY3JpcHRpb24nIHwgJ2Ftb3VudCcgfCAnY3VycmVuY3knPlxuICAgICAgICAgICk+Pj4sIGRpc2NvdW50cz86IE1heWJlPEFycmF5PE1heWJlPChcbiAgICAgICAgICAgIHsgX190eXBlbmFtZT86ICdGbGlnaHRBbW91bnQnIH1cbiAgICAgICAgICAgICYgUGljazxGbGlnaHRBbW91bnQsICdkZXNjcmlwdGlvbicgfCAnYW1vdW50JyB8ICdjdXJyZW5jeSc+XG4gICAgICAgICAgKT4+PiwgdG90YWw6IChcbiAgICAgICAgICAgIHsgX190eXBlbmFtZT86ICdGbGlnaHRGYXJlVG90YWwnIH1cbiAgICAgICAgICAgICYgUGljazxGbGlnaHRGYXJlVG90YWwsICdwcmljZScgfCAndGF4JyB8ICdkaXNjb3VudCcgfCAnY3VycmVuY3knPlxuICAgICAgICAgICksIGZhcmVDb25kaXRpb25zPzogTWF5YmU8KFxuICAgICAgICAgICAgeyBfX3R5cGVuYW1lPzogJ0ZhcmVDb25kaXRpb25zJyB9XG4gICAgICAgICAgICAmIHsgY2FuY2VsbGF0aW9uPzogTWF5YmU8QXJyYXk8TWF5YmU8KFxuICAgICAgICAgICAgICB7IF9fdHlwZW5hbWU/OiAnRmFyZUNvbmRpdGlvbkVudHJ5JyB9XG4gICAgICAgICAgICAgICYgUGljazxGYXJlQ29uZGl0aW9uRW50cnksICduYW1lJyB8ICd0eXBlJyB8ICdjdXJyZW5jeScgfCAnYW1vdW50JyB8ICdyZW1hcmsnIHwgJ2NoYW5nZUZlZUluZCcgfCAnY2FuY2VsRmVlSW5kJyB8ICdyZWZ1bmRhYmxlSW5kJz5cbiAgICAgICAgICAgICk+Pj4sIGNoYW5nZT86IE1heWJlPEFycmF5PE1heWJlPChcbiAgICAgICAgICAgICAgeyBfX3R5cGVuYW1lPzogJ0ZhcmVDb25kaXRpb25FbnRyeScgfVxuICAgICAgICAgICAgICAmIFBpY2s8RmFyZUNvbmRpdGlvbkVudHJ5LCAnbmFtZScgfCAndHlwZScgfCAnY3VycmVuY3knIHwgJ2Ftb3VudCcgfCAncmVtYXJrJyB8ICdjaGFuZ2VGZWVJbmQnIHwgJ2NhbmNlbEZlZUluZCcgfCAncmVmdW5kYWJsZUluZCc+XG4gICAgICAgICAgICApPj4+LCBub1Nob3c/OiBNYXliZTxBcnJheTxNYXliZTwoXG4gICAgICAgICAgICAgIHsgX190eXBlbmFtZT86ICdGYXJlQ29uZGl0aW9uRW50cnknIH1cbiAgICAgICAgICAgICAgJiBQaWNrPEZhcmVDb25kaXRpb25FbnRyeSwgJ25hbWUnIHwgJ3R5cGUnIHwgJ2N1cnJlbmN5JyB8ICdhbW91bnQnIHwgJ3JlbWFyaycgfCAnY2hhbmdlRmVlSW5kJyB8ICdjYW5jZWxGZWVJbmQnIHwgJ3JlZnVuZGFibGVJbmQnPlxuICAgICAgICAgICAgKT4+PiwgdXBncmFkZT86IE1heWJlPEFycmF5PE1heWJlPChcbiAgICAgICAgICAgICAgeyBfX3R5cGVuYW1lPzogJ0ZhcmVDb25kaXRpb25FbnRyeScgfVxuICAgICAgICAgICAgICAmIFBpY2s8RmFyZUNvbmRpdGlvbkVudHJ5LCAnbmFtZScgfCAndHlwZScgfCAnY3VycmVuY3knIHwgJ2Ftb3VudCcgfCAncmVtYXJrJyB8ICdjaGFuZ2VGZWVJbmQnIHwgJ2NhbmNlbEZlZUluZCcgfCAncmVmdW5kYWJsZUluZCc+XG4gICAgICAgICAgICApPj4+LCBvdGhlcj86IE1heWJlPEFycmF5PE1heWJlPChcbiAgICAgICAgICAgICAgeyBfX3R5cGVuYW1lPzogJ0ZhcmVDb25kaXRpb25FbnRyeScgfVxuICAgICAgICAgICAgICAmIFBpY2s8RmFyZUNvbmRpdGlvbkVudHJ5LCAnbmFtZScgfCAndHlwZScgfCAnY3VycmVuY3knIHwgJ2Ftb3VudCcgfCAncmVtYXJrJyB8ICdjaGFuZ2VGZWVJbmQnIHwgJ2NhbmNlbEZlZUluZCcgfCAncmVmdW5kYWJsZUluZCc+XG4gICAgICAgICAgICApPj4+IH1cbiAgICAgICAgICApPiwgYmFnZ2FnZUFsbG93YW5jZT86IE1heWJlPEFycmF5PE1heWJlPChcbiAgICAgICAgICAgIHsgX190eXBlbmFtZT86ICdCYWdnYWdlQWxsb3dhbmNlJyB9XG4gICAgICAgICAgICAmIFBpY2s8QmFnZ2FnZUFsbG93YW5jZSwgJ3R5cGUnIHwgJ3F0eScgfCAnbWF4S0cnIHwgJ21heExCUyc+XG4gICAgICAgICAgKT4+PiB9XG4gICAgICAgICk+IH1cbiAgICAgICk+LCBncm91cGVkPzogTWF5YmU8QXJyYXk8KFxuICAgICAgICB7IF9fdHlwZW5hbWU/OiAnR3JvdXBGbGlnaHRzJyB9XG4gICAgICAgICYgUGljazxHcm91cEZsaWdodHMsICdyZWZlcmVuY2VJRCcgfCAnZmxpZ2h0SUQnIHwgJ2JvdW5kSW5kaWNhdG9yJyB8ICdtaW5QcmljZScgfCAnbWF4UHJpY2UnPlxuICAgICAgICAmIHsgZmxpZ2h0czogKFxuICAgICAgICAgIHsgX190eXBlbmFtZT86ICdNYXRjaGluZ0ZsaWdodHMnIH1cbiAgICAgICAgICAmIFBpY2s8TWF0Y2hpbmdGbGlnaHRzLCAnTGl0ZUVjb25vbXknIHwgJ0Vjb25vbXlSZXN0cmljdGVkJyB8ICdFY29ub215Tm9CYWdzJyB8ICdFY29ub215JyB8ICdQcmVtaXVtRWNvbm9teScgfCAnQnVzaW5lc3MnIHwgJ1ByZW1pdW1CdXNpbmVzcycgfCAnRmlyc3QnIHwgJ1ByZW1pdW1GaXJzdCc+XG4gICAgICAgICkgfVxuICAgICAgKT4+IH1cbiAgICApLCBlcnJvcnM6IEFycmF5PChcbiAgICAgIHsgX190eXBlbmFtZT86ICdTZWFyY2hFcnJvcicgfVxuICAgICAgJiBFcnJvcnNGcmFnbWVudFxuICAgICk+IH1cbiAgKSB9XG4pO1xuXG5leHBvcnQgdHlwZSBTZWFyY2hIb3RlbENoYWluc1F1ZXJ5VmFyaWFibGVzID0gRXhhY3Q8e1xuICBxdWVyeTogU2NhbGFyc1snU3RyaW5nJ107XG59PjtcblxuXG5leHBvcnQgdHlwZSBTZWFyY2hIb3RlbENoYWluc1F1ZXJ5ID0gKFxuICB7IF9fdHlwZW5hbWU/OiAnUXVlcnknIH1cbiAgJiBQaWNrPFF1ZXJ5LCAnc2VhcmNoSG90ZWxDaGFpbnMnPlxuKTtcblxuZXhwb3J0IHR5cGUgU2VhcmNoSXJsUXVlcnlWYXJpYWJsZXMgPSBFeGFjdDx7XG4gIHN1cHBsaWVyOiBJcmxTdXBwbGllcjtcbiAgY291bnRyeUNvZGU6IFNjYWxhcnNbJ1N0cmluZyddO1xuICBqb3VybmV5VHlwZTogSXJsSm91cm5leVR5cGU7XG4gIGNsYXNzPzogTWF5YmU8SXJsQ2xhc3M+O1xuICBvdXRib3VuZERlcGFydHVyZURhdGVUaW1lOiBTY2FsYXJzWydEYXRlVGltZSddO1xuICBkZXBhcnR1cmVMb2NhdGlvbklkOiBTY2FsYXJzWydJRCddO1xuICBhcnJpdmFsTG9jYXRpb25JZDogU2NhbGFyc1snSUQnXTtcbiAgYWR1bHRzOiBTY2FsYXJzWydJbnQnXTtcbiAgY2hpbGRyZW4/OiBNYXliZTxTY2FsYXJzWydJbnQnXT47XG4gIHJldHVybkRlcGFydHVyZURhdGVUaW1lPzogTWF5YmU8U2NhbGFyc1snRGF0ZVRpbWUnXT47XG59PjtcblxuXG5leHBvcnQgdHlwZSBTZWFyY2hJcmxRdWVyeSA9IChcbiAgeyBfX3R5cGVuYW1lPzogJ1F1ZXJ5JyB9XG4gICYgeyBzZWFyY2hJUkw6IChcbiAgICB7IF9fdHlwZW5hbWU/OiAnSVJMU2VhcmNoUmVzdWx0JyB9XG4gICAgJiB7IHJlc3VsdHM6IEFycmF5PChcbiAgICAgIHsgX190eXBlbmFtZT86ICdJUkxKb3VybmV5T3B0aW9ucycgfVxuICAgICAgJiBQaWNrPElybEpvdXJuZXlPcHRpb25zLCAnc291cmNlJyB8ICdzb3VyY2VJZCc+XG4gICAgICAmIHsgb3V0Ym91bmQ/OiBNYXliZTxBcnJheTwoXG4gICAgICAgIHsgX190eXBlbmFtZT86ICdJUkxKb3VybmV5T3B0aW9uJyB9XG4gICAgICAgICYgUGljazxJcmxKb3VybmV5T3B0aW9uLCAnZnJvbScgfCAnZnJvbUNvZGUnIHwgJ3RvJyB8ICd0b0NvZGUnIHwgJ2RlcGFydERhdGVUaW1lJyB8ICdhcnJpdmVEYXRlVGltZScgfCAnY2hhbmdlcycgfCAndW5zZWxsYWJsZSc+XG4gICAgICAgICYgeyBpZGVudGlmaWVycz86IE1heWJlPChcbiAgICAgICAgICB7IF9fdHlwZW5hbWU/OiAnSVJMSWRlbnRpZmllcnMnIH1cbiAgICAgICAgICAmIFBpY2s8SXJsSWRlbnRpZmllcnMsICd0cmFuc2FjdGlvbklkZW50aWZpZXInIHwgJ3NpZ25hdHVyZScgfCAnam91cm5leUlkZW50aWZpZXInIHwgJ3Byb3ZpZGVyJyB8ICdmYXJlSWRlbnRpZmllcicgfCAnZGlyZWN0aW9uJyB8ICdzaW5nbGVPclJldHVybicgfCAnYm9va2luZ1JlZic+XG4gICAgICAgICk+LCB0cmF2ZWxsZXJzPzogTWF5YmU8QXJyYXk8KFxuICAgICAgICAgIHsgX190eXBlbmFtZT86ICdJUkxUcmF2ZWxsZXInIH1cbiAgICAgICAgICAmIFBpY2s8SXJsVHJhdmVsbGVyLCAnc3RhdHVzJyB8ICdpZCcgfCAnZG9iJyB8ICdyYWlsY2FyZCcgfCAnZ2l2ZW5OYW1lJyB8ICdzdXJuYW1lJyB8ICduYW1lVGl0bGUnIHwgJ2NvbnRhY3RJbmZvJyB8ICdkZWxpdmVyeUVtYWlsQWRkcmVzcycgfCAnZmFyZSc+XG4gICAgICAgICk+Piwgc2VnbWVudHM/OiBNYXliZTxBcnJheTwoXG4gICAgICAgICAgeyBfX3R5cGVuYW1lPzogJ0lSTFNlZ21lbnQnIH1cbiAgICAgICAgICAmIFBpY2s8SXJsU2VnbWVudCwgJ2lkJyB8ICdvcGVyYXRvcicgfCAnZGVwYXJ0JyB8ICdkZXBhcnREYXRlVGltZScgfCAnYXJyaXZlJyB8ICdhcnJpdmVEYXRlVGltZScgfCAncmVzZXJ2YWJsZVN0YXR1cycgfCAnc2VhdFByZWZlcmVuY2VHcm91cCc+XG4gICAgICAgICAgJiB7IHNlYXRQcmVmZXJlbmNlVHlwZXM/OiBNYXliZTxBcnJheTwoXG4gICAgICAgICAgICB7IF9fdHlwZW5hbWU/OiAnSVJMU2VhdFByZWZlcmVuY2VUeXBlJyB9XG4gICAgICAgICAgICAmIFBpY2s8SXJsU2VhdFByZWZlcmVuY2VUeXBlLCAnbmFtZScgfCAnYWxsb3dlZFZhbHVlcyc+XG4gICAgICAgICAgKT4+LCBzZWF0cz86IE1heWJlPEFycmF5PChcbiAgICAgICAgICAgIHsgX190eXBlbmFtZT86ICdJUkxTZWF0JyB9XG4gICAgICAgICAgICAmIFBpY2s8SXJsU2VhdCwgJ2xvY2F0aW9uJyB8ICdjb2FjaCcgfCAnbnVtYmVyJyB8ICdkaXJlY3Rpb24nIHwgJ3Bvc2l0aW9uJyB8ICdkZWNrJyB8ICdzZWF0VHlwZScgfCAnc2VhdFNlbGVjdGlvbicgfCAnZmFjaWxpdGllcycgfCAnbm90ZSc+XG4gICAgICAgICAgKT4+IH1cbiAgICAgICAgKT4+LCBwcm92aWRlcnM/OiBNYXliZTxBcnJheTwoXG4gICAgICAgICAgeyBfX3R5cGVuYW1lPzogJ0lSTFByb3ZpZGVyJyB9XG4gICAgICAgICAgJiBQaWNrPElybFByb3ZpZGVyLCAncHJvdmlkZXJJZCcgfCAnbmFtZSc+XG4gICAgICAgICAgJiB7IGNoZWFwZXN0VGlja2V0PzogTWF5YmU8KFxuICAgICAgICAgICAgeyBfX3R5cGVuYW1lPzogJ0lSTFRpY2tldE9wdGlvbicgfVxuICAgICAgICAgICAgJiBQaWNrPElybFRpY2tldE9wdGlvbiwgJ3R5cGUnIHwgJ2NsYXNzJyB8ICdzaW5nbGVPclJldHVybicgfCAncHJpY2UnIHwgJ3Jlc2VydmFibGVTdGF0dXMnIHwgJ2N1cnJlbmN5JyB8ICdyb3V0ZScgfCAncm91dGVDb2RlJz5cbiAgICAgICAgICAgICYgeyBpZGVudGlmaWVycz86IE1heWJlPChcbiAgICAgICAgICAgICAgeyBfX3R5cGVuYW1lPzogJ0lSTElkZW50aWZpZXJzJyB9XG4gICAgICAgICAgICAgICYgUGljazxJcmxJZGVudGlmaWVycywgJ3RyYW5zYWN0aW9uSWRlbnRpZmllcicgfCAnc2lnbmF0dXJlJyB8ICdqb3VybmV5SWRlbnRpZmllcicgfCAncHJvdmlkZXInIHwgJ2ZhcmVJZGVudGlmaWVyJyB8ICdkaXJlY3Rpb24nIHwgJ3NpbmdsZU9yUmV0dXJuJyB8ICdib29raW5nUmVmJz5cbiAgICAgICAgICAgICk+LCB0aWNrZXRzPzogTWF5YmU8QXJyYXk8TWF5YmU8KFxuICAgICAgICAgICAgICB7IF9fdHlwZW5hbWU/OiAnSVJMVGlja2V0JyB9XG4gICAgICAgICAgICAgICYgUGljazxJcmxUaWNrZXQsICdwcmljZScgfCAndHlwZScgfCAncm91dGUnIHwgJ251bUNoaWxkcmVuJyB8ICdudW1BZHVsdHMnPlxuICAgICAgICAgICAgICAmIHsgc2VnbWVudHM/OiBNYXliZTxBcnJheTwoXG4gICAgICAgICAgICAgICAgeyBfX3R5cGVuYW1lPzogJ0lSTFNlZ21lbnQnIH1cbiAgICAgICAgICAgICAgICAmIFBpY2s8SXJsU2VnbWVudCwgJ2lkJyB8ICdvcGVyYXRvcicgfCAnZGVwYXJ0JyB8ICdkZXBhcnREYXRlVGltZScgfCAnYXJyaXZlJyB8ICdhcnJpdmVEYXRlVGltZScgfCAncmVzZXJ2YWJsZVN0YXR1cycgfCAnc2VhdFByZWZlcmVuY2VHcm91cCc+XG4gICAgICAgICAgICAgICAgJiB7IHNlYXRQcmVmZXJlbmNlVHlwZXM/OiBNYXliZTxBcnJheTwoXG4gICAgICAgICAgICAgICAgICB7IF9fdHlwZW5hbWU/OiAnSVJMU2VhdFByZWZlcmVuY2VUeXBlJyB9XG4gICAgICAgICAgICAgICAgICAmIFBpY2s8SXJsU2VhdFByZWZlcmVuY2VUeXBlLCAnbmFtZScgfCAnYWxsb3dlZFZhbHVlcyc+XG4gICAgICAgICAgICAgICAgKT4+LCBzZWF0cz86IE1heWJlPEFycmF5PChcbiAgICAgICAgICAgICAgICAgIHsgX190eXBlbmFtZT86ICdJUkxTZWF0JyB9XG4gICAgICAgICAgICAgICAgICAmIFBpY2s8SXJsU2VhdCwgJ2xvY2F0aW9uJyB8ICdjb2FjaCcgfCAnbnVtYmVyJyB8ICdkaXJlY3Rpb24nIHwgJ3Bvc2l0aW9uJyB8ICdkZWNrJyB8ICdzZWF0VHlwZScgfCAnc2VhdFNlbGVjdGlvbicgfCAnZmFjaWxpdGllcycgfCAnbm90ZSc+XG4gICAgICAgICAgICAgICAgKT4+IH1cbiAgICAgICAgICAgICAgKT4+IH1cbiAgICAgICAgICAgICk+Pj4gfVxuICAgICAgICAgICk+LCB0aWNrZXRPcHRpb25zPzogTWF5YmU8QXJyYXk8TWF5YmU8KFxuICAgICAgICAgICAgeyBfX3R5cGVuYW1lPzogJ0lSTFRpY2tldE9wdGlvbicgfVxuICAgICAgICAgICAgJiBQaWNrPElybFRpY2tldE9wdGlvbiwgJ3R5cGUnIHwgJ2NsYXNzJyB8ICdzaW5nbGVPclJldHVybicgfCAncHJpY2UnIHwgJ3Jlc2VydmFibGVTdGF0dXMnIHwgJ2N1cnJlbmN5JyB8ICdyb3V0ZScgfCAncm91dGVDb2RlJz5cbiAgICAgICAgICAgICYgeyBpZGVudGlmaWVycz86IE1heWJlPChcbiAgICAgICAgICAgICAgeyBfX3R5cGVuYW1lPzogJ0lSTElkZW50aWZpZXJzJyB9XG4gICAgICAgICAgICAgICYgUGljazxJcmxJZGVudGlmaWVycywgJ3RyYW5zYWN0aW9uSWRlbnRpZmllcicgfCAnc2lnbmF0dXJlJyB8ICdqb3VybmV5SWRlbnRpZmllcicgfCAncHJvdmlkZXInIHwgJ2ZhcmVJZGVudGlmaWVyJyB8ICdkaXJlY3Rpb24nIHwgJ3NpbmdsZU9yUmV0dXJuJyB8ICdib29raW5nUmVmJz5cbiAgICAgICAgICAgICk+LCB0aWNrZXRzPzogTWF5YmU8QXJyYXk8TWF5YmU8KFxuICAgICAgICAgICAgICB7IF9fdHlwZW5hbWU/OiAnSVJMVGlja2V0JyB9XG4gICAgICAgICAgICAgICYgUGljazxJcmxUaWNrZXQsICdwcmljZScgfCAndHlwZScgfCAncm91dGUnIHwgJ251bUNoaWxkcmVuJyB8ICdudW1BZHVsdHMnPlxuICAgICAgICAgICAgICAmIHsgc2VnbWVudHM/OiBNYXliZTxBcnJheTwoXG4gICAgICAgICAgICAgICAgeyBfX3R5cGVuYW1lPzogJ0lSTFNlZ21lbnQnIH1cbiAgICAgICAgICAgICAgICAmIFBpY2s8SXJsU2VnbWVudCwgJ2lkJyB8ICdvcGVyYXRvcicgfCAnZGVwYXJ0JyB8ICdkZXBhcnREYXRlVGltZScgfCAnYXJyaXZlJyB8ICdhcnJpdmVEYXRlVGltZScgfCAncmVzZXJ2YWJsZVN0YXR1cycgfCAnc2VhdFByZWZlcmVuY2VHcm91cCc+XG4gICAgICAgICAgICAgICAgJiB7IHNlYXRQcmVmZXJlbmNlVHlwZXM/OiBNYXliZTxBcnJheTwoXG4gICAgICAgICAgICAgICAgICB7IF9fdHlwZW5hbWU/OiAnSVJMU2VhdFByZWZlcmVuY2VUeXBlJyB9XG4gICAgICAgICAgICAgICAgICAmIFBpY2s8SXJsU2VhdFByZWZlcmVuY2VUeXBlLCAnbmFtZScgfCAnYWxsb3dlZFZhbHVlcyc+XG4gICAgICAgICAgICAgICAgKT4+LCBzZWF0cz86IE1heWJlPEFycmF5PChcbiAgICAgICAgICAgICAgICAgIHsgX190eXBlbmFtZT86ICdJUkxTZWF0JyB9XG4gICAgICAgICAgICAgICAgICAmIFBpY2s8SXJsU2VhdCwgJ2xvY2F0aW9uJyB8ICdjb2FjaCcgfCAnbnVtYmVyJyB8ICdkaXJlY3Rpb24nIHwgJ3Bvc2l0aW9uJyB8ICdkZWNrJyB8ICdzZWF0VHlwZScgfCAnc2VhdFNlbGVjdGlvbicgfCAnZmFjaWxpdGllcycgfCAnbm90ZSc+XG4gICAgICAgICAgICAgICAgKT4+IH1cbiAgICAgICAgICAgICAgKT4+IH1cbiAgICAgICAgICAgICk+Pj4gfVxuICAgICAgICAgICk+Pj4sIGJvb2tlZFRpY2tldD86IE1heWJlPChcbiAgICAgICAgICAgIHsgX190eXBlbmFtZT86ICdJUkxUaWNrZXRPcHRpb24nIH1cbiAgICAgICAgICAgICYgUGljazxJcmxUaWNrZXRPcHRpb24sICd0eXBlJyB8ICdjbGFzcycgfCAnc2luZ2xlT3JSZXR1cm4nIHwgJ3ByaWNlJyB8ICdyZXNlcnZhYmxlU3RhdHVzJyB8ICdjdXJyZW5jeScgfCAncm91dGUnIHwgJ3JvdXRlQ29kZSc+XG4gICAgICAgICAgICAmIHsgaWRlbnRpZmllcnM/OiBNYXliZTwoXG4gICAgICAgICAgICAgIHsgX190eXBlbmFtZT86ICdJUkxJZGVudGlmaWVycycgfVxuICAgICAgICAgICAgICAmIFBpY2s8SXJsSWRlbnRpZmllcnMsICd0cmFuc2FjdGlvbklkZW50aWZpZXInIHwgJ3NpZ25hdHVyZScgfCAnam91cm5leUlkZW50aWZpZXInIHwgJ3Byb3ZpZGVyJyB8ICdmYXJlSWRlbnRpZmllcicgfCAnZGlyZWN0aW9uJyB8ICdzaW5nbGVPclJldHVybicgfCAnYm9va2luZ1JlZic+XG4gICAgICAgICAgICApPiwgdGlja2V0cz86IE1heWJlPEFycmF5PE1heWJlPChcbiAgICAgICAgICAgICAgeyBfX3R5cGVuYW1lPzogJ0lSTFRpY2tldCcgfVxuICAgICAgICAgICAgICAmIFBpY2s8SXJsVGlja2V0LCAncHJpY2UnIHwgJ3R5cGUnIHwgJ3JvdXRlJyB8ICdudW1DaGlsZHJlbicgfCAnbnVtQWR1bHRzJz5cbiAgICAgICAgICAgICAgJiB7IHNlZ21lbnRzPzogTWF5YmU8QXJyYXk8KFxuICAgICAgICAgICAgICAgIHsgX190eXBlbmFtZT86ICdJUkxTZWdtZW50JyB9XG4gICAgICAgICAgICAgICAgJiBQaWNrPElybFNlZ21lbnQsICdpZCcgfCAnb3BlcmF0b3InIHwgJ2RlcGFydCcgfCAnZGVwYXJ0RGF0ZVRpbWUnIHwgJ2Fycml2ZScgfCAnYXJyaXZlRGF0ZVRpbWUnIHwgJ3Jlc2VydmFibGVTdGF0dXMnIHwgJ3NlYXRQcmVmZXJlbmNlR3JvdXAnPlxuICAgICAgICAgICAgICAgICYgeyBzZWF0UHJlZmVyZW5jZVR5cGVzPzogTWF5YmU8QXJyYXk8KFxuICAgICAgICAgICAgICAgICAgeyBfX3R5cGVuYW1lPzogJ0lSTFNlYXRQcmVmZXJlbmNlVHlwZScgfVxuICAgICAgICAgICAgICAgICAgJiBQaWNrPElybFNlYXRQcmVmZXJlbmNlVHlwZSwgJ25hbWUnIHwgJ2FsbG93ZWRWYWx1ZXMnPlxuICAgICAgICAgICAgICAgICk+Piwgc2VhdHM/OiBNYXliZTxBcnJheTwoXG4gICAgICAgICAgICAgICAgICB7IF9fdHlwZW5hbWU/OiAnSVJMU2VhdCcgfVxuICAgICAgICAgICAgICAgICAgJiBQaWNrPElybFNlYXQsICdsb2NhdGlvbicgfCAnY29hY2gnIHwgJ251bWJlcicgfCAnZGlyZWN0aW9uJyB8ICdwb3NpdGlvbicgfCAnZGVjaycgfCAnc2VhdFR5cGUnIHwgJ3NlYXRTZWxlY3Rpb24nIHwgJ2ZhY2lsaXRpZXMnIHwgJ25vdGUnPlxuICAgICAgICAgICAgICAgICk+PiB9XG4gICAgICAgICAgICAgICk+PiB9XG4gICAgICAgICAgICApPj4+IH1cbiAgICAgICAgICApPiB9XG4gICAgICAgICk+PiwgdGlja2V0RXh0cmFzPzogTWF5YmU8QXJyYXk8KFxuICAgICAgICAgIHsgX190eXBlbmFtZT86ICdJUkxUaWNrZXRFeHRyYScgfVxuICAgICAgICAgICYgUGljazxJcmxUaWNrZXRFeHRyYSwgJ3R5cGUnIHwgJ2xvY2F0aW9uJyB8ICdkYXRlJyB8ICdkZXNjcmlwdGlvbicgfCAnYW1vdW50JyB8ICdhZHVsdEFtb3VudCcgfCAnY2hpbGRBbW91bnQnIHwgJ2N1cnJlbmN5Jz5cbiAgICAgICAgICAmIHsgaWRlbnRpZmllcnM/OiBNYXliZTwoXG4gICAgICAgICAgICB7IF9fdHlwZW5hbWU/OiAnSVJMVGlja2V0RXh0cmFJZGVudGlmaWVycycgfVxuICAgICAgICAgICAgJiBQaWNrPElybFRpY2tldEV4dHJhSWRlbnRpZmllcnMsICd0eXBlJyB8ICdsb2NhdGlvbicgfCAnZGF0ZScgfCAnam91cm5leUlkJyB8ICdpc09yaWdpbic+XG4gICAgICAgICAgKT4gfVxuICAgICAgICApPj4sIHBsdXNCdXM/OiBNYXliZTwoXG4gICAgICAgICAgeyBfX3R5cGVuYW1lPzogJ0lSTFBsdXNCdXMnIH1cbiAgICAgICAgICAmIFBpY2s8SXJsUGx1c0J1cywgJ29yaWdpblBsdXNCdXNOTEMnIHwgJ29yaWdpblN0YXRpb25OTEMnIHwgJ2Rlc3RpbmF0aW9uUGx1c0J1c05MQycgfCAnZGVzdGluYXRpb25TdGF0aW9uTkxDJz5cbiAgICAgICAgKT4gfVxuICAgICAgKT4+LCByZXR1cm4/OiBNYXliZTxBcnJheTwoXG4gICAgICAgIHsgX190eXBlbmFtZT86ICdJUkxKb3VybmV5T3B0aW9uJyB9XG4gICAgICAgICYgUGljazxJcmxKb3VybmV5T3B0aW9uLCAnZnJvbScgfCAnZnJvbUNvZGUnIHwgJ3RvJyB8ICd0b0NvZGUnIHwgJ2RlcGFydERhdGVUaW1lJyB8ICdhcnJpdmVEYXRlVGltZScgfCAnY2hhbmdlcycgfCAndW5zZWxsYWJsZSc+XG4gICAgICAgICYgeyBpZGVudGlmaWVycz86IE1heWJlPChcbiAgICAgICAgICB7IF9fdHlwZW5hbWU/OiAnSVJMSWRlbnRpZmllcnMnIH1cbiAgICAgICAgICAmIFBpY2s8SXJsSWRlbnRpZmllcnMsICd0cmFuc2FjdGlvbklkZW50aWZpZXInIHwgJ3NpZ25hdHVyZScgfCAnam91cm5leUlkZW50aWZpZXInIHwgJ3Byb3ZpZGVyJyB8ICdmYXJlSWRlbnRpZmllcicgfCAnZGlyZWN0aW9uJyB8ICdzaW5nbGVPclJldHVybicgfCAnYm9va2luZ1JlZic+XG4gICAgICAgICk+LCB0cmF2ZWxsZXJzPzogTWF5YmU8QXJyYXk8KFxuICAgICAgICAgIHsgX190eXBlbmFtZT86ICdJUkxUcmF2ZWxsZXInIH1cbiAgICAgICAgICAmIFBpY2s8SXJsVHJhdmVsbGVyLCAnc3RhdHVzJyB8ICdpZCcgfCAnZG9iJyB8ICdyYWlsY2FyZCcgfCAnZ2l2ZW5OYW1lJyB8ICdzdXJuYW1lJyB8ICduYW1lVGl0bGUnIHwgJ2NvbnRhY3RJbmZvJyB8ICdkZWxpdmVyeUVtYWlsQWRkcmVzcycgfCAnZmFyZSc+XG4gICAgICAgICk+Piwgc2VnbWVudHM/OiBNYXliZTxBcnJheTwoXG4gICAgICAgICAgeyBfX3R5cGVuYW1lPzogJ0lSTFNlZ21lbnQnIH1cbiAgICAgICAgICAmIFBpY2s8SXJsU2VnbWVudCwgJ2lkJyB8ICdvcGVyYXRvcicgfCAnZGVwYXJ0JyB8ICdkZXBhcnREYXRlVGltZScgfCAnYXJyaXZlJyB8ICdhcnJpdmVEYXRlVGltZScgfCAncmVzZXJ2YWJsZVN0YXR1cycgfCAnc2VhdFByZWZlcmVuY2VHcm91cCc+XG4gICAgICAgICAgJiB7IHNlYXRQcmVmZXJlbmNlVHlwZXM/OiBNYXliZTxBcnJheTwoXG4gICAgICAgICAgICB7IF9fdHlwZW5hbWU/OiAnSVJMU2VhdFByZWZlcmVuY2VUeXBlJyB9XG4gICAgICAgICAgICAmIFBpY2s8SXJsU2VhdFByZWZlcmVuY2VUeXBlLCAnbmFtZScgfCAnYWxsb3dlZFZhbHVlcyc+XG4gICAgICAgICAgKT4+LCBzZWF0cz86IE1heWJlPEFycmF5PChcbiAgICAgICAgICAgIHsgX190eXBlbmFtZT86ICdJUkxTZWF0JyB9XG4gICAgICAgICAgICAmIFBpY2s8SXJsU2VhdCwgJ2xvY2F0aW9uJyB8ICdjb2FjaCcgfCAnbnVtYmVyJyB8ICdkaXJlY3Rpb24nIHwgJ3Bvc2l0aW9uJyB8ICdkZWNrJyB8ICdzZWF0VHlwZScgfCAnc2VhdFNlbGVjdGlvbicgfCAnZmFjaWxpdGllcycgfCAnbm90ZSc+XG4gICAgICAgICAgKT4+IH1cbiAgICAgICAgKT4+LCBwcm92aWRlcnM/OiBNYXliZTxBcnJheTwoXG4gICAgICAgICAgeyBfX3R5cGVuYW1lPzogJ0lSTFByb3ZpZGVyJyB9XG4gICAgICAgICAgJiBQaWNrPElybFByb3ZpZGVyLCAncHJvdmlkZXJJZCcgfCAnbmFtZSc+XG4gICAgICAgICAgJiB7IGNoZWFwZXN0VGlja2V0PzogTWF5YmU8KFxuICAgICAgICAgICAgeyBfX3R5cGVuYW1lPzogJ0lSTFRpY2tldE9wdGlvbicgfVxuICAgICAgICAgICAgJiBQaWNrPElybFRpY2tldE9wdGlvbiwgJ3R5cGUnIHwgJ2NsYXNzJyB8ICdzaW5nbGVPclJldHVybicgfCAncHJpY2UnIHwgJ3Jlc2VydmFibGVTdGF0dXMnIHwgJ2N1cnJlbmN5JyB8ICdyb3V0ZScgfCAncm91dGVDb2RlJz5cbiAgICAgICAgICAgICYgeyBpZGVudGlmaWVycz86IE1heWJlPChcbiAgICAgICAgICAgICAgeyBfX3R5cGVuYW1lPzogJ0lSTElkZW50aWZpZXJzJyB9XG4gICAgICAgICAgICAgICYgUGljazxJcmxJZGVudGlmaWVycywgJ3RyYW5zYWN0aW9uSWRlbnRpZmllcicgfCAnc2lnbmF0dXJlJyB8ICdqb3VybmV5SWRlbnRpZmllcicgfCAncHJvdmlkZXInIHwgJ2ZhcmVJZGVudGlmaWVyJyB8ICdkaXJlY3Rpb24nIHwgJ3NpbmdsZU9yUmV0dXJuJyB8ICdib29raW5nUmVmJz5cbiAgICAgICAgICAgICk+LCB0aWNrZXRzPzogTWF5YmU8QXJyYXk8TWF5YmU8KFxuICAgICAgICAgICAgICB7IF9fdHlwZW5hbWU/OiAnSVJMVGlja2V0JyB9XG4gICAgICAgICAgICAgICYgUGljazxJcmxUaWNrZXQsICdwcmljZScgfCAndHlwZScgfCAncm91dGUnIHwgJ251bUNoaWxkcmVuJyB8ICdudW1BZHVsdHMnPlxuICAgICAgICAgICAgICAmIHsgc2VnbWVudHM/OiBNYXliZTxBcnJheTwoXG4gICAgICAgICAgICAgICAgeyBfX3R5cGVuYW1lPzogJ0lSTFNlZ21lbnQnIH1cbiAgICAgICAgICAgICAgICAmIFBpY2s8SXJsU2VnbWVudCwgJ2lkJyB8ICdvcGVyYXRvcicgfCAnZGVwYXJ0JyB8ICdkZXBhcnREYXRlVGltZScgfCAnYXJyaXZlJyB8ICdhcnJpdmVEYXRlVGltZScgfCAncmVzZXJ2YWJsZVN0YXR1cycgfCAnc2VhdFByZWZlcmVuY2VHcm91cCc+XG4gICAgICAgICAgICAgICAgJiB7IHNlYXRQcmVmZXJlbmNlVHlwZXM/OiBNYXliZTxBcnJheTwoXG4gICAgICAgICAgICAgICAgICB7IF9fdHlwZW5hbWU/OiAnSVJMU2VhdFByZWZlcmVuY2VUeXBlJyB9XG4gICAgICAgICAgICAgICAgICAmIFBpY2s8SXJsU2VhdFByZWZlcmVuY2VUeXBlLCAnbmFtZScgfCAnYWxsb3dlZFZhbHVlcyc+XG4gICAgICAgICAgICAgICAgKT4+LCBzZWF0cz86IE1heWJlPEFycmF5PChcbiAgICAgICAgICAgICAgICAgIHsgX190eXBlbmFtZT86ICdJUkxTZWF0JyB9XG4gICAgICAgICAgICAgICAgICAmIFBpY2s8SXJsU2VhdCwgJ2xvY2F0aW9uJyB8ICdjb2FjaCcgfCAnbnVtYmVyJyB8ICdkaXJlY3Rpb24nIHwgJ3Bvc2l0aW9uJyB8ICdkZWNrJyB8ICdzZWF0VHlwZScgfCAnc2VhdFNlbGVjdGlvbicgfCAnZmFjaWxpdGllcycgfCAnbm90ZSc+XG4gICAgICAgICAgICAgICAgKT4+IH1cbiAgICAgICAgICAgICAgKT4+IH1cbiAgICAgICAgICAgICk+Pj4gfVxuICAgICAgICAgICk+LCB0aWNrZXRPcHRpb25zPzogTWF5YmU8QXJyYXk8TWF5YmU8KFxuICAgICAgICAgICAgeyBfX3R5cGVuYW1lPzogJ0lSTFRpY2tldE9wdGlvbicgfVxuICAgICAgICAgICAgJiBQaWNrPElybFRpY2tldE9wdGlvbiwgJ3R5cGUnIHwgJ2NsYXNzJyB8ICdzaW5nbGVPclJldHVybicgfCAncHJpY2UnIHwgJ3Jlc2VydmFibGVTdGF0dXMnIHwgJ2N1cnJlbmN5JyB8ICdyb3V0ZScgfCAncm91dGVDb2RlJz5cbiAgICAgICAgICAgICYgeyBpZGVudGlmaWVycz86IE1heWJlPChcbiAgICAgICAgICAgICAgeyBfX3R5cGVuYW1lPzogJ0lSTElkZW50aWZpZXJzJyB9XG4gICAgICAgICAgICAgICYgUGljazxJcmxJZGVudGlmaWVycywgJ3RyYW5zYWN0aW9uSWRlbnRpZmllcicgfCAnc2lnbmF0dXJlJyB8ICdqb3VybmV5SWRlbnRpZmllcicgfCAncHJvdmlkZXInIHwgJ2ZhcmVJZGVudGlmaWVyJyB8ICdkaXJlY3Rpb24nIHwgJ3NpbmdsZU9yUmV0dXJuJyB8ICdib29raW5nUmVmJz5cbiAgICAgICAgICAgICk+LCB0aWNrZXRzPzogTWF5YmU8QXJyYXk8TWF5YmU8KFxuICAgICAgICAgICAgICB7IF9fdHlwZW5hbWU/OiAnSVJMVGlja2V0JyB9XG4gICAgICAgICAgICAgICYgUGljazxJcmxUaWNrZXQsICdwcmljZScgfCAndHlwZScgfCAncm91dGUnIHwgJ251bUNoaWxkcmVuJyB8ICdudW1BZHVsdHMnPlxuICAgICAgICAgICAgICAmIHsgc2VnbWVudHM/OiBNYXliZTxBcnJheTwoXG4gICAgICAgICAgICAgICAgeyBfX3R5cGVuYW1lPzogJ0lSTFNlZ21lbnQnIH1cbiAgICAgICAgICAgICAgICAmIFBpY2s8SXJsU2VnbWVudCwgJ2lkJyB8ICdvcGVyYXRvcicgfCAnZGVwYXJ0JyB8ICdkZXBhcnREYXRlVGltZScgfCAnYXJyaXZlJyB8ICdhcnJpdmVEYXRlVGltZScgfCAncmVzZXJ2YWJsZVN0YXR1cycgfCAnc2VhdFByZWZlcmVuY2VHcm91cCc+XG4gICAgICAgICAgICAgICAgJiB7IHNlYXRQcmVmZXJlbmNlVHlwZXM/OiBNYXliZTxBcnJheTwoXG4gICAgICAgICAgICAgICAgICB7IF9fdHlwZW5hbWU/OiAnSVJMU2VhdFByZWZlcmVuY2VUeXBlJyB9XG4gICAgICAgICAgICAgICAgICAmIFBpY2s8SXJsU2VhdFByZWZlcmVuY2VUeXBlLCAnbmFtZScgfCAnYWxsb3dlZFZhbHVlcyc+XG4gICAgICAgICAgICAgICAgKT4+LCBzZWF0cz86IE1heWJlPEFycmF5PChcbiAgICAgICAgICAgICAgICAgIHsgX190eXBlbmFtZT86ICdJUkxTZWF0JyB9XG4gICAgICAgICAgICAgICAgICAmIFBpY2s8SXJsU2VhdCwgJ2xvY2F0aW9uJyB8ICdjb2FjaCcgfCAnbnVtYmVyJyB8ICdkaXJlY3Rpb24nIHwgJ3Bvc2l0aW9uJyB8ICdkZWNrJyB8ICdzZWF0VHlwZScgfCAnc2VhdFNlbGVjdGlvbicgfCAnZmFjaWxpdGllcycgfCAnbm90ZSc+XG4gICAgICAgICAgICAgICAgKT4+IH1cbiAgICAgICAgICAgICAgKT4+IH1cbiAgICAgICAgICAgICk+Pj4gfVxuICAgICAgICAgICk+Pj4sIGJvb2tlZFRpY2tldD86IE1heWJlPChcbiAgICAgICAgICAgIHsgX190eXBlbmFtZT86ICdJUkxUaWNrZXRPcHRpb24nIH1cbiAgICAgICAgICAgICYgUGljazxJcmxUaWNrZXRPcHRpb24sICd0eXBlJyB8ICdjbGFzcycgfCAnc2luZ2xlT3JSZXR1cm4nIHwgJ3ByaWNlJyB8ICdyZXNlcnZhYmxlU3RhdHVzJyB8ICdjdXJyZW5jeScgfCAncm91dGUnIHwgJ3JvdXRlQ29kZSc+XG4gICAgICAgICAgICAmIHsgaWRlbnRpZmllcnM/OiBNYXliZTwoXG4gICAgICAgICAgICAgIHsgX190eXBlbmFtZT86ICdJUkxJZGVudGlmaWVycycgfVxuICAgICAgICAgICAgICAmIFBpY2s8SXJsSWRlbnRpZmllcnMsICd0cmFuc2FjdGlvbklkZW50aWZpZXInIHwgJ3NpZ25hdHVyZScgfCAnam91cm5leUlkZW50aWZpZXInIHwgJ3Byb3ZpZGVyJyB8ICdmYXJlSWRlbnRpZmllcicgfCAnZGlyZWN0aW9uJyB8ICdzaW5nbGVPclJldHVybicgfCAnYm9va2luZ1JlZic+XG4gICAgICAgICAgICApPiwgdGlja2V0cz86IE1heWJlPEFycmF5PE1heWJlPChcbiAgICAgICAgICAgICAgeyBfX3R5cGVuYW1lPzogJ0lSTFRpY2tldCcgfVxuICAgICAgICAgICAgICAmIFBpY2s8SXJsVGlja2V0LCAncHJpY2UnIHwgJ3R5cGUnIHwgJ3JvdXRlJyB8ICdudW1DaGlsZHJlbicgfCAnbnVtQWR1bHRzJz5cbiAgICAgICAgICAgICAgJiB7IHNlZ21lbnRzPzogTWF5YmU8QXJyYXk8KFxuICAgICAgICAgICAgICAgIHsgX190eXBlbmFtZT86ICdJUkxTZWdtZW50JyB9XG4gICAgICAgICAgICAgICAgJiBQaWNrPElybFNlZ21lbnQsICdpZCcgfCAnb3BlcmF0b3InIHwgJ2RlcGFydCcgfCAnZGVwYXJ0RGF0ZVRpbWUnIHwgJ2Fycml2ZScgfCAnYXJyaXZlRGF0ZVRpbWUnIHwgJ3Jlc2VydmFibGVTdGF0dXMnIHwgJ3NlYXRQcmVmZXJlbmNlR3JvdXAnPlxuICAgICAgICAgICAgICAgICYgeyBzZWF0UHJlZmVyZW5jZVR5cGVzPzogTWF5YmU8QXJyYXk8KFxuICAgICAgICAgICAgICAgICAgeyBfX3R5cGVuYW1lPzogJ0lSTFNlYXRQcmVmZXJlbmNlVHlwZScgfVxuICAgICAgICAgICAgICAgICAgJiBQaWNrPElybFNlYXRQcmVmZXJlbmNlVHlwZSwgJ25hbWUnIHwgJ2FsbG93ZWRWYWx1ZXMnPlxuICAgICAgICAgICAgICAgICk+Piwgc2VhdHM/OiBNYXliZTxBcnJheTwoXG4gICAgICAgICAgICAgICAgICB7IF9fdHlwZW5hbWU/OiAnSVJMU2VhdCcgfVxuICAgICAgICAgICAgICAgICAgJiBQaWNrPElybFNlYXQsICdsb2NhdGlvbicgfCAnY29hY2gnIHwgJ251bWJlcicgfCAnZGlyZWN0aW9uJyB8ICdwb3NpdGlvbicgfCAnZGVjaycgfCAnc2VhdFR5cGUnIHwgJ3NlYXRTZWxlY3Rpb24nIHwgJ2ZhY2lsaXRpZXMnIHwgJ25vdGUnPlxuICAgICAgICAgICAgICAgICk+PiB9XG4gICAgICAgICAgICAgICk+PiB9XG4gICAgICAgICAgICApPj4+IH1cbiAgICAgICAgICApPiB9XG4gICAgICAgICk+PiwgdGlja2V0RXh0cmFzPzogTWF5YmU8QXJyYXk8KFxuICAgICAgICAgIHsgX190eXBlbmFtZT86ICdJUkxUaWNrZXRFeHRyYScgfVxuICAgICAgICAgICYgUGljazxJcmxUaWNrZXRFeHRyYSwgJ3R5cGUnIHwgJ2xvY2F0aW9uJyB8ICdkYXRlJyB8ICdkZXNjcmlwdGlvbicgfCAnYW1vdW50JyB8ICdhZHVsdEFtb3VudCcgfCAnY2hpbGRBbW91bnQnIHwgJ2N1cnJlbmN5Jz5cbiAgICAgICAgICAmIHsgaWRlbnRpZmllcnM/OiBNYXliZTwoXG4gICAgICAgICAgICB7IF9fdHlwZW5hbWU/OiAnSVJMVGlja2V0RXh0cmFJZGVudGlmaWVycycgfVxuICAgICAgICAgICAgJiBQaWNrPElybFRpY2tldEV4dHJhSWRlbnRpZmllcnMsICd0eXBlJyB8ICdsb2NhdGlvbicgfCAnZGF0ZScgfCAnam91cm5leUlkJyB8ICdpc09yaWdpbic+XG4gICAgICAgICAgKT4gfVxuICAgICAgICApPj4sIHBsdXNCdXM/OiBNYXliZTwoXG4gICAgICAgICAgeyBfX3R5cGVuYW1lPzogJ0lSTFBsdXNCdXMnIH1cbiAgICAgICAgICAmIFBpY2s8SXJsUGx1c0J1cywgJ29yaWdpblBsdXNCdXNOTEMnIHwgJ29yaWdpblN0YXRpb25OTEMnIHwgJ2Rlc3RpbmF0aW9uUGx1c0J1c05MQycgfCAnZGVzdGluYXRpb25TdGF0aW9uTkxDJz5cbiAgICAgICAgKT4gfVxuICAgICAgKT4+IH1cbiAgICApPiwgZXJyb3JzOiBBcnJheTwoXG4gICAgICB7IF9fdHlwZW5hbWU/OiAnU2VhcmNoRXJyb3InIH1cbiAgICAgICYgRXJyb3JzRnJhZ21lbnRcbiAgICApPiB9XG4gICkgfVxuKTtcblxuZXhwb3J0IHR5cGUgU2VhcmNoUG9zdGNvZGVzUXVlcnlWYXJpYWJsZXMgPSBFeGFjdDx7XG4gIHBvc3Rjb2RlOiBTY2FsYXJzWydTdHJpbmcnXTtcbn0+O1xuXG5cbmV4cG9ydCB0eXBlIFNlYXJjaFBvc3Rjb2Rlc1F1ZXJ5ID0gKFxuICB7IF9fdHlwZW5hbWU/OiAnUXVlcnknIH1cbiAgJiB7IGdldFBvc3Rjb2RlRGV0YWlsczogKFxuICAgIHsgX190eXBlbmFtZT86ICdQb3N0Y29kZURldGFpbHMnIH1cbiAgICAmIFBpY2s8UG9zdGNvZGVEZXRhaWxzLCAncG9zdGNvZGUnIHwgJ2xhdGl0dWRlJyB8ICdsb25naXR1ZGUnPlxuICApIH1cbik7XG5cbmV4cG9ydCB0eXBlIFNlYXJjaFJhaWxTdGF0aW9uc1F1ZXJ5VmFyaWFibGVzID0gRXhhY3Q8e1xuICBxdWVyeTogU2NhbGFyc1snU3RyaW5nJ107XG4gIGNvdW50cnlDb2RlPzogTWF5YmU8U2NhbGFyc1snU3RyaW5nJ10+O1xufT47XG5cblxuZXhwb3J0IHR5cGUgU2VhcmNoUmFpbFN0YXRpb25zUXVlcnkgPSAoXG4gIHsgX190eXBlbmFtZT86ICdRdWVyeScgfVxuICAmIHsgc2VhcmNoUmFpbFN0YXRpb25zOiBBcnJheTwoXG4gICAgeyBfX3R5cGVuYW1lPzogJ1JhaWxTdGF0aW9uJyB9XG4gICAgJiBQaWNrPFJhaWxTdGF0aW9uLCAnaWQnIHwgJ25hbWUnIHwgJ3N0YXRpb25Db2RlJyB8ICdubGNDb2RlJyB8ICd0cmFpbmxpbmVDb2RlJyB8ICd0cmFpbmxpbmVVbmlxdWVDb2RlJz5cbiAgICAmIHsgbG9jYXRpb25EZXRhaWxzPzogTWF5YmU8KFxuICAgICAgeyBfX3R5cGVuYW1lPzogJ0xvY2F0aW9uRGV0YWlsJyB9XG4gICAgICAmIFBpY2s8TG9jYXRpb25EZXRhaWwsICdjb250aW5lbnQnIHwgJ2NvdW50cnknIHwgJ2NvdW50cnlDb2RlJyB8ICdzdGF0ZScgfCAnY2l0eScgfCAncG9zdGNvZGUnIHwgJ3JvYWQnIHwgJ2dyaWRSZWZlcmVuY2UnIHwgJ25vcnRoaW5nJyB8ICdlYXN0aW5nJz5cbiAgICAgICYgeyBjb29yZGluYXRlcz86IE1heWJlPChcbiAgICAgICAgeyBfX3R5cGVuYW1lPzogJ0dlb0Nvb3JkaW5hdGVzJyB9XG4gICAgICAgICYgUGljazxHZW9Db29yZGluYXRlcywgJ2xhdGl0dWRlJyB8ICdsb25naXR1ZGUnIHwgJ2FsdGl0dWRlJz5cbiAgICAgICk+IH1cbiAgICApPiB9XG4gICk+IH1cbik7XG5cbmV4cG9ydCB0eXBlIFNlYXJjaFVzZXJBZGRyZXNzUXVlcnlWYXJpYWJsZXMgPSBFeGFjdDx7IFtrZXk6IHN0cmluZ106IG5ldmVyOyB9PjtcblxuXG5leHBvcnQgdHlwZSBTZWFyY2hVc2VyQWRkcmVzc1F1ZXJ5ID0gKFxuICB7IF9fdHlwZW5hbWU/OiAnUXVlcnknIH1cbiAgJiB7IGdldFVzZXJBZGRyZXNzZXM6IEFycmF5PChcbiAgICB7IF9fdHlwZW5hbWU/OiAnQWRkcmVzcycgfVxuICAgICYgUGljazxBZGRyZXNzLCAnaWQnIHwgJ2Rlc2NyaXB0aW9uJyB8ICdudW1iZXJPck5hbWUnIHwgJ3N0cmVldCcgfCAndG93bicgfCAnY291bnR5JyB8ICdwb3N0Y29kZScgfCAnY291bnRyeUNvZGUnIHwgJ3VzZXJQcmltYXJ5JyB8ICdvZmZpY2VQcmltYXJ5Jz5cbiAgKT4gfVxuKTtcblxuZXhwb3J0IHR5cGUgU2V0QmFza2V0SXRlbU1pR3JvdXBNdXRhdGlvblZhcmlhYmxlcyA9IEV4YWN0PHtcbiAgYmFza2V0SXRlbTogU2NhbGFyc1snSUQnXTtcbiAgZ3JvdXA/OiBNYXliZTxTY2FsYXJzWydTdHJpbmcnXT47XG4gIHdpdGhTdXBwbGVtZW50YWw/OiBNYXliZTxTY2FsYXJzWydCb29sZWFuJ10+O1xufT47XG5cblxuZXhwb3J0IHR5cGUgU2V0QmFza2V0SXRlbU1pR3JvdXBNdXRhdGlvbiA9IChcbiAgeyBfX3R5cGVuYW1lPzogJ011dGF0aW9uJyB9XG4gICYgeyBzZXRCYXNrZXRJdGVtTUlHcm91cDogKFxuICAgIHsgX190eXBlbmFtZT86ICdCYXNrZXQnIH1cbiAgICAmIEJhc2tldEZpZWxkc0ZyYWdtZW50XG4gICkgfVxuKTtcblxuZXhwb3J0IHR5cGUgU2V0QmFza2V0SXRlbUxlYWRQYXNzZW5nZXJNdXRhdGlvblZhcmlhYmxlcyA9IEV4YWN0PHtcbiAgaWQ6IFNjYWxhcnNbJ0lEJ107XG4gIHVzZXI6IFNjYWxhcnNbJ0lEJ107XG4gIHdpdGhTdXBwbGVtZW50YWw6IFNjYWxhcnNbJ0Jvb2xlYW4nXTtcbn0+O1xuXG5cbmV4cG9ydCB0eXBlIFNldEJhc2tldEl0ZW1MZWFkUGFzc2VuZ2VyTXV0YXRpb24gPSAoXG4gIHsgX190eXBlbmFtZT86ICdNdXRhdGlvbicgfVxuICAmIHsgc2V0QmFza2V0SXRlbUxlYWRQYXNzZW5nZXI6IChcbiAgICB7IF9fdHlwZW5hbWU/OiAnQmFza2V0JyB9XG4gICAgJiBCYXNrZXRGaWVsZHNGcmFnbWVudFxuICApIH1cbik7XG5cbmV4cG9ydCB0eXBlIFNldEJhc2tldEl0ZW1NaVZhbHVlTXV0YXRpb25WYXJpYWJsZXMgPSBFeGFjdDx7XG4gIG1pOiBTY2FsYXJzWydJRCddO1xuICBtaVZhbHVlPzogTWF5YmU8U2NhbGFyc1snSUQnXT47XG4gIG1pRnJlZVZhbHVlPzogTWF5YmU8U2NhbGFyc1snU3RyaW5nJ10+O1xuICB1c2VyPzogTWF5YmU8U2NhbGFyc1snSUQnXT47XG4gIHdpdGhTdXBwbGVtZW50YWw/OiBNYXliZTxTY2FsYXJzWydCb29sZWFuJ10+O1xufT47XG5cblxuZXhwb3J0IHR5cGUgU2V0QmFza2V0SXRlbU1pVmFsdWVNdXRhdGlvbiA9IChcbiAgeyBfX3R5cGVuYW1lPzogJ011dGF0aW9uJyB9XG4gICYgeyBzZXRCYXNrZXRJdGVtTUlWYWx1ZTogKFxuICAgIHsgX190eXBlbmFtZT86ICdCYXNrZXQnIH1cbiAgICAmIEJhc2tldEZpZWxkc0ZyYWdtZW50XG4gICkgfVxuKTtcblxuZXhwb3J0IHR5cGUgU2V0QmFza2V0SXRlbVBheW1lbnRNZXRob2RNdXRhdGlvblZhcmlhYmxlcyA9IEV4YWN0PHtcbiAgYmFza2V0SXRlbTogU2NhbGFyc1snSUQnXTtcbiAgcGF5bWVudE1ldGhvZDogU2NhbGFyc1snSUQnXTtcbiAgd2l0aFN1cHBsZW1lbnRhbD86IE1heWJlPFNjYWxhcnNbJ0Jvb2xlYW4nXT47XG59PjtcblxuXG5leHBvcnQgdHlwZSBTZXRCYXNrZXRJdGVtUGF5bWVudE1ldGhvZE11dGF0aW9uID0gKFxuICB7IF9fdHlwZW5hbWU/OiAnTXV0YXRpb24nIH1cbiAgJiB7IHNldEJhc2tldEl0ZW1QYXltZW50TWV0aG9kOiAoXG4gICAgeyBfX3R5cGVuYW1lPzogJ0Jhc2tldCcgfVxuICAgICYgQmFza2V0RmllbGRzRnJhZ21lbnRcbiAgKSB9XG4pO1xuXG5leHBvcnQgdHlwZSBVcGRhdGVCYXNrZXROb3Rlc011dGF0aW9uVmFyaWFibGVzID0gRXhhY3Q8e1xuICBpZD86IE1heWJlPFNjYWxhcnNbJ0lEJ10+O1xuICByZWZlcmVuY2U/OiBNYXliZTxTY2FsYXJzWydTdHJpbmcnXT47XG4gIG5vdGVzOiBTY2FsYXJzWydTdHJpbmcnXTtcbiAgd2l0aFN1cHBsZW1lbnRhbD86IE1heWJlPFNjYWxhcnNbJ0Jvb2xlYW4nXT47XG59PjtcblxuXG5leHBvcnQgdHlwZSBVcGRhdGVCYXNrZXROb3Rlc011dGF0aW9uID0gKFxuICB7IF9fdHlwZW5hbWU/OiAnTXV0YXRpb24nIH1cbiAgJiB7IHVwZGF0ZUJhc2tldE5vdGVzOiAoXG4gICAgeyBfX3R5cGVuYW1lPzogJ0Jhc2tldCcgfVxuICAgICYgQmFza2V0RmllbGRzRnJhZ21lbnRcbiAgKSB9XG4pO1xuXG5leHBvcnQgdHlwZSBVcGRhdGVCYXNrZXRUaXRsZU11dGF0aW9uVmFyaWFibGVzID0gRXhhY3Q8e1xuICBpZD86IE1heWJlPFNjYWxhcnNbJ0lEJ10+O1xuICByZWZlcmVuY2U/OiBNYXliZTxTY2FsYXJzWydTdHJpbmcnXT47XG4gIG5ld1RpdGxlOiBTY2FsYXJzWydTdHJpbmcnXTtcbiAgd2l0aFN1cHBsZW1lbnRhbD86IE1heWJlPFNjYWxhcnNbJ0Jvb2xlYW4nXT47XG59PjtcblxuXG5leHBvcnQgdHlwZSBVcGRhdGVCYXNrZXRUaXRsZU11dGF0aW9uID0gKFxuICB7IF9fdHlwZW5hbWU/OiAnTXV0YXRpb24nIH1cbiAgJiB7IHVwZGF0ZUJhc2tldFRpdGxlOiAoXG4gICAgeyBfX3R5cGVuYW1lPzogJ0Jhc2tldCcgfVxuICAgICYgQmFza2V0RmllbGRzRnJhZ21lbnRcbiAgKSB9XG4pO1xuXG5leHBvcnQgdHlwZSBVc2VyRmllbGRzRnJhZ21lbnQgPSAoXG4gIHsgX190eXBlbmFtZT86ICdVc2VyJyB9XG4gICYgUGljazxVc2VyLCAnaWQnIHwgJ3RpdGxlJyB8ICdmb3JlbmFtZScgfCAnc3VybmFtZScgfCAnZW1haWwnIHwgJ3VzZXJuYW1lJyB8ICdlbXBsb3llZUlkJyB8ICdjcmVhdGVkQXQnIHwgJ3VwZGF0ZWRBdCcgfCAnZG9iJyB8ICdhZG1pbicgfCAndG1jQWRtaW4nIHwgJ2NvbXBhbnlBZG1pbicgfCAnYm9va2VyVHlwZScgfCAnYXV0aE1ldGhvZHMnIHwgJ2FjdGl2ZScgfCAncGFzc3dvcmRMYXN0VXBkYXRlZCc+XG4gICYgeyBzZWxlY3RlZExhbmd1YWdlOiAoXG4gICAgeyBfX3R5cGVuYW1lPzogJ0xhbmd1YWdlJyB9XG4gICAgJiBQaWNrPExhbmd1YWdlLCAnaWQnIHwgJ25hbWUnIHwgJ2lzb0NvZGUnPlxuICApLCBhdmFpbGFibGVMYW5ndWFnZXM6IEFycmF5PChcbiAgICB7IF9fdHlwZW5hbWU/OiAnTGFuZ3VhZ2UnIH1cbiAgICAmIFBpY2s8TGFuZ3VhZ2UsICdpZCcgfCAnbmFtZScgfCAnaXNvQ29kZSc+XG4gICk+LCBwYXNzcG9ydHM6IEFycmF5PChcbiAgICB7IF9fdHlwZW5hbWU/OiAnUGFzc3BvcnQnIH1cbiAgICAmIFBpY2s8UGFzc3BvcnQsICdpZCcgfCAnbnVtYmVyJyB8ICdjb2RlT2ZJc3N1aW5nU3RhdGUnIHwgJ25hdGlvbmFsaXR5JyB8ICdzZXgnIHwgJ2RvYicgfCAnc3VybmFtZScgfCAnZ2l2ZW5OYW1lcycgfCAnZGF0ZU9mSXNzdWUnIHwgJ2NyZWF0ZWRBdCcgfCAndXBkYXRlZEF0Jz5cbiAgKT4sIGFkZHJlc3NlczogQXJyYXk8KFxuICAgIHsgX190eXBlbmFtZT86ICdBZGRyZXNzJyB9XG4gICAgJiBQaWNrPEFkZHJlc3MsICdpZCcgfCAnZGVzY3JpcHRpb24nIHwgJ251bWJlck9yTmFtZScgfCAnc3RyZWV0JyB8ICd0b3duJyB8ICdjb3VudHknIHwgJ3Bvc3Rjb2RlJyB8ICdjb3VudHJ5Q29kZScgfCAndXNlclByaW1hcnknIHwgJ29mZmljZVByaW1hcnknPlxuICApPiwgcGhvbmVOdW1iZXJzOiBBcnJheTwoXG4gICAgeyBfX3R5cGVuYW1lPzogJ1Bob25lTnVtYmVyJyB9XG4gICAgJiBQaWNrPFBob25lTnVtYmVyLCAnaWQnIHwgJ2Rlc2NyaXB0aW9uJyB8ICdjb3VudHJ5Q29kZScgfCAnYXJlYUNvZGUnIHwgJ251bWJlcicgfCAnZXh0ZW5zaW9uJyB8ICd0eXBlJyB8ICdvZmZpY2VQcmltYXJ5JyB8ICd1c2VyUHJpbWFyeSc+XG4gICk+IH1cbik7XG5cbmV4cG9ydCB0eXBlIEdldFVzZXJTZXJ2aWNlc1F1ZXJ5VmFyaWFibGVzID0gRXhhY3Q8eyBba2V5OiBzdHJpbmddOiBuZXZlcjsgfT47XG5cblxuZXhwb3J0IHR5cGUgR2V0VXNlclNlcnZpY2VzUXVlcnkgPSAoXG4gIHsgX190eXBlbmFtZT86ICdRdWVyeScgfVxuICAmIHsgZ2V0VXNlclNlcnZpY2VzOiBBcnJheTwoXG4gICAgeyBfX3R5cGVuYW1lPzogJ1NlcnZpY2UnIH1cbiAgICAmIFBpY2s8U2VydmljZSwgJ2lkJyB8ICdjYW5jZWxsYWJsZScgfCAnYW1lbmRhYmxlJyB8ICd0eXBlJyB8ICduYW1lJyB8ICdkZXNjcmlwdGlvbicgfCAnZGV0YWlsU2NoZW1hJyB8ICdzZWFyY2hRdWVyeVNjaGVtYSc+XG4gICk+IH1cbik7XG5cbmV4cG9ydCB0eXBlIEdldFVzZXJVaUNvbmZpZ3NRdWVyeVZhcmlhYmxlcyA9IEV4YWN0PHsgW2tleTogc3RyaW5nXTogbmV2ZXI7IH0+O1xuXG5cbmV4cG9ydCB0eXBlIEdldFVzZXJVaUNvbmZpZ3NRdWVyeSA9IChcbiAgeyBfX3R5cGVuYW1lPzogJ1F1ZXJ5JyB9XG4gICYgeyBnZXRVc2VyVUlDb25maWdzOiAoXG4gICAgeyBfX3R5cGVuYW1lPzogJ1VJQ29uZmlnQ29sbGVjdGlvbicgfVxuICAgICYgeyBhbGw6IEFycmF5PChcbiAgICAgIHsgX190eXBlbmFtZT86ICdVSUNvbmZpZycgfVxuICAgICAgJiBQaWNrPFVpQ29uZmlnLCAnaWQnIHwgJ2NvbmZpZycgfCAna2V5Jz5cbiAgICApPiB9XG4gICkgfVxuKTtcblxuZXhwb3J0IHR5cGUgR2V0VXNlck1lc3NhZ2VzUXVlcnlWYXJpYWJsZXMgPSBFeGFjdDx7IFtrZXk6IHN0cmluZ106IG5ldmVyOyB9PjtcblxuXG5leHBvcnQgdHlwZSBHZXRVc2VyTWVzc2FnZXNRdWVyeSA9IChcbiAgeyBfX3R5cGVuYW1lPzogJ1F1ZXJ5JyB9XG4gICYgeyBnZXRVc2VyTWVzc2FnZXM6IEFycmF5PChcbiAgICB7IF9fdHlwZW5hbWU/OiAnTWVzc2FnZScgfVxuICAgICYgUGljazxNZXNzYWdlLCAnaWQnIHwgJ25hbWUnIHwgJ2Rlc2NyaXB0aW9uJyB8ICdjb25maWcnIHwgJ3RhcmdldCcgfCAna2V5Jz5cbiAgKT4gfVxuKTtcblxuZXhwb3J0IHR5cGUgR2V0VXNlclBob25lTnVtYmVyc1F1ZXJ5VmFyaWFibGVzID0gRXhhY3Q8eyBba2V5OiBzdHJpbmddOiBuZXZlcjsgfT47XG5cblxuZXhwb3J0IHR5cGUgR2V0VXNlclBob25lTnVtYmVyc1F1ZXJ5ID0gKFxuICB7IF9fdHlwZW5hbWU/OiAnUXVlcnknIH1cbiAgJiB7IGdldFVzZXJQaG9uZU51bWJlcnM6IEFycmF5PChcbiAgICB7IF9fdHlwZW5hbWU/OiAnUGhvbmVOdW1iZXInIH1cbiAgICAmIFBpY2s8UGhvbmVOdW1iZXIsICdpZCcgfCAnZGVzY3JpcHRpb24nIHwgJ2NvdW50cnlDb2RlJyB8ICdhcmVhQ29kZScgfCAnbnVtYmVyJyB8ICdleHRlbnNpb24nIHwgJ3R5cGUnIHwgJ29mZmljZVByaW1hcnknIHwgJ3VzZXJQcmltYXJ5Jz5cbiAgKT4gfVxuKTtcblxuZXhwb3J0IHR5cGUgU2V0VXNlckxhbmd1YWdlTXV0YXRpb25WYXJpYWJsZXMgPSBFeGFjdDx7XG4gIGxhbmd1YWdlPzogTWF5YmU8U2NhbGFyc1snSUQnXT47XG59PjtcblxuXG5leHBvcnQgdHlwZSBTZXRVc2VyTGFuZ3VhZ2VNdXRhdGlvbiA9IChcbiAgeyBfX3R5cGVuYW1lPzogJ011dGF0aW9uJyB9XG4gICYgeyBzZXRVc2VyTGFuZ3VhZ2U6IChcbiAgICB7IF9fdHlwZW5hbWU/OiAnVXNlcicgfVxuICAgICYgUGljazxVc2VyLCAnaWQnPlxuICAgICYgeyBzZWxlY3RlZExhbmd1YWdlOiAoXG4gICAgICB7IF9fdHlwZW5hbWU/OiAnTGFuZ3VhZ2UnIH1cbiAgICAgICYgUGljazxMYW5ndWFnZSwgJ2lkJyB8ICduYW1lJz5cbiAgICApIH1cbiAgKSB9XG4pO1xuXG5leHBvcnQgdHlwZSBHZXRVc2VyUXVlcnlWYXJpYWJsZXMgPSBFeGFjdDx7XG4gIGlkPzogTWF5YmU8U2NhbGFyc1snSUQnXT47XG59PjtcblxuXG5leHBvcnQgdHlwZSBHZXRVc2VyUXVlcnkgPSAoXG4gIHsgX190eXBlbmFtZT86ICdRdWVyeScgfVxuICAmIHsgZ2V0VXNlcjogKFxuICAgIHsgX190eXBlbmFtZT86ICdVc2VyJyB9XG4gICAgJiBVc2VyRmllbGRzRnJhZ21lbnRcbiAgKSB9XG4pO1xuXG5leHBvcnQgdHlwZSBTZWFyY2hVc2VyQ2FuQm9va0ZvclF1ZXJ5VmFyaWFibGVzID0gRXhhY3Q8e1xuICBlbWFpbD86IE1heWJlPFNjYWxhcnNbJ1N0cmluZyddPjtcbiAgdXNlck5hbWU/OiBNYXliZTxTY2FsYXJzWydTdHJpbmcnXT47XG4gIGVtcGxveWVlSWQ/OiBNYXliZTxTY2FsYXJzWydTdHJpbmcnXT47XG59PjtcblxuXG5leHBvcnQgdHlwZSBTZWFyY2hVc2VyQ2FuQm9va0ZvclF1ZXJ5ID0gKFxuICB7IF9fdHlwZW5hbWU/OiAnUXVlcnknIH1cbiAgJiB7IHNlYXJjaFVzZXJDYW5Cb29rRm9yOiBBcnJheTwoXG4gICAgeyBfX3R5cGVuYW1lPzogJ1VzZXInIH1cbiAgICAmIFBpY2s8VXNlciwgJ2lkJyB8ICdmb3JlbmFtZScgfCAnc3VybmFtZScgfCAnZW1haWwnPlxuICApPiB9XG4pO1xuXG5leHBvcnQgdHlwZSBWYWxpZGF0ZVVzZXJNaUZyZWVWYWx1ZVF1ZXJ5VmFyaWFibGVzID0gRXhhY3Q8e1xuICBtaTogU2NhbGFyc1snSUQnXTtcbiAgZnJlZVZhbHVlOiBTY2FsYXJzWydTdHJpbmcnXTtcbn0+O1xuXG5cbmV4cG9ydCB0eXBlIFZhbGlkYXRlVXNlck1pRnJlZVZhbHVlUXVlcnkgPSAoXG4gIHsgX190eXBlbmFtZT86ICdRdWVyeScgfVxuICAmIFBpY2s8UXVlcnksICd2YWxpZGF0ZVVzZXJNSUZyZWVWYWx1ZSc+XG4pO1xuXG5leHBvcnQgbmFtZXNwYWNlIEFjY2VwdE5ld1ByaWNlIHtcbiAgZXhwb3J0IHR5cGUgVmFyaWFibGVzID0gQWNjZXB0TmV3UHJpY2VNdXRhdGlvblZhcmlhYmxlcztcbiAgZXhwb3J0IHR5cGUgTXV0YXRpb24gPSBBY2NlcHROZXdQcmljZU11dGF0aW9uO1xuICBleHBvcnQgdHlwZSBBY2NlcHROZXdQcmljZSA9IEFjY2VwdE5ld1ByaWNlTXV0YXRpb25bJ2FjY2VwdE5ld1ByaWNlJ107XG59XG5cbmV4cG9ydCBuYW1lc3BhY2UgQWRkVXNlcnNUb0Jhc2tldEl0ZW0ge1xuICBleHBvcnQgdHlwZSBWYXJpYWJsZXMgPSBBZGRVc2Vyc1RvQmFza2V0SXRlbU11dGF0aW9uVmFyaWFibGVzO1xuICBleHBvcnQgdHlwZSBNdXRhdGlvbiA9IEFkZFVzZXJzVG9CYXNrZXRJdGVtTXV0YXRpb247XG4gIGV4cG9ydCB0eXBlIEFkZFVzZXJzVG9CYXNrZXRJdGVtID0gQWRkVXNlcnNUb0Jhc2tldEl0ZW1NdXRhdGlvblsnYWRkVXNlcnNUb0Jhc2tldEl0ZW0nXTtcbn1cblxuZXhwb3J0IG5hbWVzcGFjZSBUcmF2ZWxsZXJGaWVsZHMge1xuICBleHBvcnQgdHlwZSBGcmFnbWVudCA9IFRyYXZlbGxlckZpZWxkc0ZyYWdtZW50O1xufVxuXG5leHBvcnQgbmFtZXNwYWNlIE93bmVyRmllbGRzIHtcbiAgZXhwb3J0IHR5cGUgRnJhZ21lbnQgPSBPd25lckZpZWxkc0ZyYWdtZW50O1xufVxuXG5leHBvcnQgbmFtZXNwYWNlIEJhc2tldEZpZWxkcyB7XG4gIGV4cG9ydCB0eXBlIEZyYWdtZW50ID0gQmFza2V0RmllbGRzRnJhZ21lbnQ7XG4gIGV4cG9ydCB0eXBlIE93bmVyID0gQmFza2V0RmllbGRzRnJhZ21lbnRbJ293bmVyJ107XG4gIGV4cG9ydCB0eXBlIEJhc2tldEl0ZW1zID0gQmFza2V0RmllbGRzRnJhZ21lbnRbJ2Jhc2tldEl0ZW1zJ11bbnVtYmVyXTtcbiAgZXhwb3J0IHR5cGUgQXZhaWxhYmxlUGF5bWVudE1ldGhvZHMgPSBCYXNrZXRGaWVsZHNGcmFnbWVudFsnYmFza2V0SXRlbXMnXVtudW1iZXJdWydhdmFpbGFibGVQYXltZW50TWV0aG9kcyddW251bWJlcl07XG4gIGV4cG9ydCB0eXBlIFNlbGVjdGVkUGF5bWVudE1ldGhvZCA9IEJhc2tldEZpZWxkc0ZyYWdtZW50WydiYXNrZXRJdGVtcyddW251bWJlcl1bJ3NlbGVjdGVkUGF5bWVudE1ldGhvZCddO1xuICBleHBvcnQgdHlwZSBTZXJ2aWNlID0gQmFza2V0RmllbGRzRnJhZ21lbnRbJ2Jhc2tldEl0ZW1zJ11bbnVtYmVyXVsnc2VydmljZSddO1xuICBleHBvcnQgdHlwZSBVc2VycyA9IEJhc2tldEZpZWxkc0ZyYWdtZW50WydiYXNrZXRJdGVtcyddW251bWJlcl1bJ3VzZXJzJ11bbnVtYmVyXTtcbiAgZXhwb3J0IHR5cGUgVXNlclBhc3NlbmdlclR5cGVzID0gQmFza2V0RmllbGRzRnJhZ21lbnRbJ2Jhc2tldEl0ZW1zJ11bbnVtYmVyXVsndXNlclBhc3NlbmdlclR5cGVzJ11bbnVtYmVyXTtcbiAgZXhwb3J0IHR5cGUgTGVhZFBhc3NlbmdlciA9IEJhc2tldEZpZWxkc0ZyYWdtZW50WydiYXNrZXRJdGVtcyddW251bWJlcl1bJ2xlYWRQYXNzZW5nZXInXTtcbiAgZXhwb3J0IHR5cGUgTWFuYWdlbWVudEluZm8gPSBCYXNrZXRGaWVsZHNGcmFnbWVudFsnYmFza2V0SXRlbXMnXVtudW1iZXJdWydtYW5hZ2VtZW50SW5mbyddW251bWJlcl07XG4gIGV4cG9ydCB0eXBlIEZpeGVkVmFsdWUgPSBCYXNrZXRGaWVsZHNGcmFnbWVudFsnYmFza2V0SXRlbXMnXVtudW1iZXJdWydtYW5hZ2VtZW50SW5mbyddW251bWJlcl1bJ2ZpeGVkVmFsdWUnXTtcbiAgZXhwb3J0IHR5cGUgRGVmYXVsdFZhbHVlID0gQmFza2V0RmllbGRzRnJhZ21lbnRbJ2Jhc2tldEl0ZW1zJ11bbnVtYmVyXVsnbWFuYWdlbWVudEluZm8nXVtudW1iZXJdWydkZWZhdWx0VmFsdWUnXTtcbiAgZXhwb3J0IHR5cGUgVmFsdWVzID0gQmFza2V0RmllbGRzRnJhZ21lbnRbJ2Jhc2tldEl0ZW1zJ11bbnVtYmVyXVsnbWFuYWdlbWVudEluZm8nXVtudW1iZXJdWyd2YWx1ZXMnXVtudW1iZXJdO1xuICBleHBvcnQgdHlwZSBTZWxlY3RlZFZhbHVlcyA9IEJhc2tldEZpZWxkc0ZyYWdtZW50WydiYXNrZXRJdGVtcyddW251bWJlcl1bJ21hbmFnZW1lbnRJbmZvJ11bbnVtYmVyXVsnc2VsZWN0ZWRWYWx1ZXMnXVtudW1iZXJdO1xuICBleHBvcnQgdHlwZSBWYWx1ZSA9IEJhc2tldEZpZWxkc0ZyYWdtZW50WydiYXNrZXRJdGVtcyddW251bWJlcl1bJ21hbmFnZW1lbnRJbmZvJ11bbnVtYmVyXVsnc2VsZWN0ZWRWYWx1ZXMnXVtudW1iZXJdWyd2YWx1ZSddO1xuICBleHBvcnQgdHlwZSBVc2VyID0gQmFza2V0RmllbGRzRnJhZ21lbnRbJ2Jhc2tldEl0ZW1zJ11bbnVtYmVyXVsnbWFuYWdlbWVudEluZm8nXVtudW1iZXJdWydzZWxlY3RlZFZhbHVlcyddW251bWJlcl1bJ3VzZXInXTtcbiAgZXhwb3J0IHR5cGUgQ29tcGFueUdyb3VwID0gQmFza2V0RmllbGRzRnJhZ21lbnRbJ2NvbXBhbnlHcm91cCddO1xufVxuXG5leHBvcnQgbmFtZXNwYWNlIEdldFVzZXJCYXNrZXRzIHtcbiAgZXhwb3J0IHR5cGUgVmFyaWFibGVzID0gR2V0VXNlckJhc2tldHNRdWVyeVZhcmlhYmxlcztcbiAgZXhwb3J0IHR5cGUgUXVlcnkgPSBHZXRVc2VyQmFza2V0c1F1ZXJ5O1xuICBleHBvcnQgdHlwZSBHZXRVc2VyQmFza2V0cyA9IEdldFVzZXJCYXNrZXRzUXVlcnlbJ2dldFVzZXJCYXNrZXRzJ11bbnVtYmVyXTtcbn1cblxuZXhwb3J0IG5hbWVzcGFjZSBEZWxldGVCYXNrZXQge1xuICBleHBvcnQgdHlwZSBWYXJpYWJsZXMgPSBEZWxldGVCYXNrZXRNdXRhdGlvblZhcmlhYmxlcztcbiAgZXhwb3J0IHR5cGUgTXV0YXRpb24gPSBEZWxldGVCYXNrZXRNdXRhdGlvbjtcbn1cblxuZXhwb3J0IG5hbWVzcGFjZSBDcmVhdGVCYXNrZXQge1xuICBleHBvcnQgdHlwZSBWYXJpYWJsZXMgPSBDcmVhdGVCYXNrZXRNdXRhdGlvblZhcmlhYmxlcztcbiAgZXhwb3J0IHR5cGUgTXV0YXRpb24gPSBDcmVhdGVCYXNrZXRNdXRhdGlvbjtcbiAgZXhwb3J0IHR5cGUgQ3JlYXRlQmFza2V0ID0gQ3JlYXRlQmFza2V0TXV0YXRpb25bJ2NyZWF0ZUJhc2tldCddO1xufVxuXG5leHBvcnQgbmFtZXNwYWNlIFJlbW92ZUl0ZW1Gcm9tQmFza2V0IHtcbiAgZXhwb3J0IHR5cGUgVmFyaWFibGVzID0gUmVtb3ZlSXRlbUZyb21CYXNrZXRNdXRhdGlvblZhcmlhYmxlcztcbiAgZXhwb3J0IHR5cGUgTXV0YXRpb24gPSBSZW1vdmVJdGVtRnJvbUJhc2tldE11dGF0aW9uO1xuICBleHBvcnQgdHlwZSBSZW1vdmVJdGVtRnJvbUJhc2tldCA9IFJlbW92ZUl0ZW1Gcm9tQmFza2V0TXV0YXRpb25bJ3JlbW92ZUl0ZW1Gcm9tQmFza2V0J107XG59XG5cbmV4cG9ydCBuYW1lc3BhY2UgU2VuZEJhc2tldEZvckFwcHJvdmFsIHtcbiAgZXhwb3J0IHR5cGUgVmFyaWFibGVzID0gU2VuZEJhc2tldEZvckFwcHJvdmFsTXV0YXRpb25WYXJpYWJsZXM7XG4gIGV4cG9ydCB0eXBlIE11dGF0aW9uID0gU2VuZEJhc2tldEZvckFwcHJvdmFsTXV0YXRpb247XG4gIGV4cG9ydCB0eXBlIFNlbmRCYXNrZXRGb3JBcHByb3ZhbCA9IFNlbmRCYXNrZXRGb3JBcHByb3ZhbE11dGF0aW9uWydzZW5kQmFza2V0Rm9yQXBwcm92YWwnXTtcbn1cblxuZXhwb3J0IG5hbWVzcGFjZSBBZGRJdGVtVG9CYXNrZXQge1xuICBleHBvcnQgdHlwZSBWYXJpYWJsZXMgPSBBZGRJdGVtVG9CYXNrZXRNdXRhdGlvblZhcmlhYmxlcztcbiAgZXhwb3J0IHR5cGUgTXV0YXRpb24gPSBBZGRJdGVtVG9CYXNrZXRNdXRhdGlvbjtcbiAgZXhwb3J0IHR5cGUgQWRkSXRlbVRvQmFza2V0ID0gQWRkSXRlbVRvQmFza2V0TXV0YXRpb25bJ2FkZEl0ZW1Ub0Jhc2tldCddO1xufVxuXG5leHBvcnQgbmFtZXNwYWNlIEdldFVzZXJCYXNrZXQge1xuICBleHBvcnQgdHlwZSBWYXJpYWJsZXMgPSBHZXRVc2VyQmFza2V0UXVlcnlWYXJpYWJsZXM7XG4gIGV4cG9ydCB0eXBlIFF1ZXJ5ID0gR2V0VXNlckJhc2tldFF1ZXJ5O1xuICBleHBvcnQgdHlwZSBHZXRVc2VyQmFza2V0ID0gR2V0VXNlckJhc2tldFF1ZXJ5WydnZXRVc2VyQmFza2V0J107XG59XG5cbmV4cG9ydCBuYW1lc3BhY2UgUmV2YWxpZGF0ZUJhc2tldCB7XG4gIGV4cG9ydCB0eXBlIFZhcmlhYmxlcyA9IFJldmFsaWRhdGVCYXNrZXRNdXRhdGlvblZhcmlhYmxlcztcbiAgZXhwb3J0IHR5cGUgTXV0YXRpb24gPSBSZXZhbGlkYXRlQmFza2V0TXV0YXRpb247XG4gIGV4cG9ydCB0eXBlIFJldmFsaWRhdGVCYXNrZXQgPSBSZXZhbGlkYXRlQmFza2V0TXV0YXRpb25bJ3JldmFsaWRhdGVCYXNrZXQnXTtcbn1cblxuZXhwb3J0IG5hbWVzcGFjZSBCb29rQmFza2V0IHtcbiAgZXhwb3J0IHR5cGUgVmFyaWFibGVzID0gQm9va0Jhc2tldE11dGF0aW9uVmFyaWFibGVzO1xuICBleHBvcnQgdHlwZSBNdXRhdGlvbiA9IEJvb2tCYXNrZXRNdXRhdGlvbjtcbiAgZXhwb3J0IHR5cGUgQm9va0Jhc2tldCA9IEJvb2tCYXNrZXRNdXRhdGlvblsnYm9va0Jhc2tldCddO1xufVxuXG5leHBvcnQgbmFtZXNwYWNlIFNlYXJjaENhYkhpcmUge1xuICBleHBvcnQgdHlwZSBWYXJpYWJsZXMgPSBTZWFyY2hDYWJIaXJlUXVlcnlWYXJpYWJsZXM7XG4gIGV4cG9ydCB0eXBlIFF1ZXJ5ID0gU2VhcmNoQ2FiSGlyZVF1ZXJ5O1xuICBleHBvcnQgdHlwZSBTZWFyY2hDYWJIaXJlID0gU2VhcmNoQ2FiSGlyZVF1ZXJ5WydzZWFyY2hDYWJIaXJlJ107XG4gIGV4cG9ydCB0eXBlIFJlc3VsdHMgPSBTZWFyY2hDYWJIaXJlUXVlcnlbJ3NlYXJjaENhYkhpcmUnXVsncmVzdWx0cyddW251bWJlcl07XG4gIGV4cG9ydCB0eXBlIEZyb21Mb2NhdGlvbiA9IFNlYXJjaENhYkhpcmVRdWVyeVsnc2VhcmNoQ2FiSGlyZSddWydyZXN1bHRzJ11bbnVtYmVyXVsnZnJvbUxvY2F0aW9uJ107XG4gIGV4cG9ydCB0eXBlIFRvTG9jYXRpb24gPSBTZWFyY2hDYWJIaXJlUXVlcnlbJ3NlYXJjaENhYkhpcmUnXVsncmVzdWx0cyddW251bWJlcl1bJ3RvTG9jYXRpb24nXTtcbiAgZXhwb3J0IHR5cGUgVmlhcyA9IFNlYXJjaENhYkhpcmVRdWVyeVsnc2VhcmNoQ2FiSGlyZSddWydyZXN1bHRzJ11bbnVtYmVyXVsndmlhcyddW251bWJlcl07XG4gIGV4cG9ydCB0eXBlIEVycm9ycyA9IFNlYXJjaENhYkhpcmVRdWVyeVsnc2VhcmNoQ2FiSGlyZSddWydlcnJvcnMnXVtudW1iZXJdO1xufVxuXG5leHBvcnQgbmFtZXNwYWNlIENhckhpcmVBdmFpbGFiaWxpdHlEZXRhaWxSZXF1ZXN0IHtcbiAgZXhwb3J0IHR5cGUgVmFyaWFibGVzID0gQ2FySGlyZUF2YWlsYWJpbGl0eURldGFpbFJlcXVlc3RRdWVyeVZhcmlhYmxlcztcbiAgZXhwb3J0IHR5cGUgUXVlcnkgPSBDYXJIaXJlQXZhaWxhYmlsaXR5RGV0YWlsUmVxdWVzdFF1ZXJ5O1xuICBleHBvcnQgdHlwZSBDYXJIaXJlQXZhaWxhYmlsaXR5RGV0YWlsUmVxdWVzdCA9IENhckhpcmVBdmFpbGFiaWxpdHlEZXRhaWxSZXF1ZXN0UXVlcnlbJ2NhckhpcmVBdmFpbGFiaWxpdHlEZXRhaWxSZXF1ZXN0J107XG4gIGV4cG9ydCB0eXBlIElkZW50aWZpZXJzID0gQ2FySGlyZUF2YWlsYWJpbGl0eURldGFpbFJlcXVlc3RRdWVyeVsnY2FySGlyZUF2YWlsYWJpbGl0eURldGFpbFJlcXVlc3QnXVsnaWRlbnRpZmllcnMnXTtcbiAgZXhwb3J0IHR5cGUgVmVuZG9yID0gQ2FySGlyZUF2YWlsYWJpbGl0eURldGFpbFJlcXVlc3RRdWVyeVsnY2FySGlyZUF2YWlsYWJpbGl0eURldGFpbFJlcXVlc3QnXVsndmVuZG9yJ107XG4gIGV4cG9ydCB0eXBlIEFkZHJlc3MgPSBDYXJIaXJlQXZhaWxhYmlsaXR5RGV0YWlsUmVxdWVzdFF1ZXJ5WydjYXJIaXJlQXZhaWxhYmlsaXR5RGV0YWlsUmVxdWVzdCddWydhZGRyZXNzJ107XG4gIGV4cG9ydCB0eXBlIEFkZGl0aW9uYWxJbmZvID0gQ2FySGlyZUF2YWlsYWJpbGl0eURldGFpbFJlcXVlc3RRdWVyeVsnY2FySGlyZUF2YWlsYWJpbGl0eURldGFpbFJlcXVlc3QnXVsnYWRkaXRpb25hbEluZm8nXVtudW1iZXJdO1xuICBleHBvcnQgdHlwZSBDdXN0b20gPSBDYXJIaXJlQXZhaWxhYmlsaXR5RGV0YWlsUmVxdWVzdFF1ZXJ5WydjYXJIaXJlQXZhaWxhYmlsaXR5RGV0YWlsUmVxdWVzdCddWydhZGRpdGlvbmFsSW5mbyddW251bWJlcl1bJ2N1c3RvbSddW251bWJlcl07XG59XG5cbmV4cG9ydCBuYW1lc3BhY2UgU2VhcmNoQ2FySGlyZSB7XG4gIGV4cG9ydCB0eXBlIFZhcmlhYmxlcyA9IFNlYXJjaENhckhpcmVRdWVyeVZhcmlhYmxlcztcbiAgZXhwb3J0IHR5cGUgUXVlcnkgPSBTZWFyY2hDYXJIaXJlUXVlcnk7XG4gIGV4cG9ydCB0eXBlIFNlYXJjaENhckhpcmUgPSBTZWFyY2hDYXJIaXJlUXVlcnlbJ3NlYXJjaENhckhpcmUnXTtcbiAgZXhwb3J0IHR5cGUgUmVzdWx0cyA9IFNlYXJjaENhckhpcmVRdWVyeVsnc2VhcmNoQ2FySGlyZSddWydyZXN1bHRzJ11bbnVtYmVyXTtcbiAgZXhwb3J0IHR5cGUgSWRlbnRpZmllcnMgPSBTZWFyY2hDYXJIaXJlUXVlcnlbJ3NlYXJjaENhckhpcmUnXVsncmVzdWx0cyddW251bWJlcl1bJ2lkZW50aWZpZXJzJ107XG4gIGV4cG9ydCB0eXBlIERpc3BsYXlSZWNvcmQgPSBTZWFyY2hDYXJIaXJlUXVlcnlbJ3NlYXJjaENhckhpcmUnXVsncmVzdWx0cyddW251bWJlcl1bJ2Rpc3BsYXlSZWNvcmQnXTtcbiAgZXhwb3J0IHR5cGUgVmVuZG9yID0gU2VhcmNoQ2FySGlyZVF1ZXJ5WydzZWFyY2hDYXJIaXJlJ11bJ3Jlc3VsdHMnXVtudW1iZXJdWydkaXNwbGF5UmVjb3JkJ11bJ3ZlbmRvciddO1xuICBleHBvcnQgdHlwZSBWZWhpY2xlID0gU2VhcmNoQ2FySGlyZVF1ZXJ5WydzZWFyY2hDYXJIaXJlJ11bJ3Jlc3VsdHMnXVtudW1iZXJdWydkaXNwbGF5UmVjb3JkJ11bJ3ZlaGljbGUnXTtcbiAgZXhwb3J0IHR5cGUgQ2hhcmdlcyA9IFNlYXJjaENhckhpcmVRdWVyeVsnc2VhcmNoQ2FySGlyZSddWydyZXN1bHRzJ11bbnVtYmVyXVsnZGlzcGxheVJlY29yZCddWydjaGFyZ2VzJ11bbnVtYmVyXTtcbiAgZXhwb3J0IHR5cGUgUGlja3VwTG9jYXRpb24gPSBTZWFyY2hDYXJIaXJlUXVlcnlbJ3NlYXJjaENhckhpcmUnXVsncmVzdWx0cyddW251bWJlcl1bJ2Rpc3BsYXlSZWNvcmQnXVsncGlja3VwTG9jYXRpb24nXTtcbiAgZXhwb3J0IHR5cGUgUmV0dXJuTG9jYXRpb24gPSBTZWFyY2hDYXJIaXJlUXVlcnlbJ3NlYXJjaENhckhpcmUnXVsncmVzdWx0cyddW251bWJlcl1bJ2Rpc3BsYXlSZWNvcmQnXVsncmV0dXJuTG9jYXRpb24nXTtcbiAgZXhwb3J0IHR5cGUgQWRkaXRpb25hbEluZm8gPSBTZWFyY2hDYXJIaXJlUXVlcnlbJ3NlYXJjaENhckhpcmUnXVsncmVzdWx0cyddW251bWJlcl1bJ2Rpc3BsYXlSZWNvcmQnXVsnYWRkaXRpb25hbEluZm8nXVtudW1iZXJdO1xuICBleHBvcnQgdHlwZSBDdXN0b20gPSBTZWFyY2hDYXJIaXJlUXVlcnlbJ3NlYXJjaENhckhpcmUnXVsncmVzdWx0cyddW251bWJlcl1bJ2Rpc3BsYXlSZWNvcmQnXVsnYWRkaXRpb25hbEluZm8nXVtudW1iZXJdWydjdXN0b20nXVtudW1iZXJdO1xuICBleHBvcnQgdHlwZSBFcnJvcnMgPSBTZWFyY2hDYXJIaXJlUXVlcnlbJ3NlYXJjaENhckhpcmUnXVsnZXJyb3JzJ11bbnVtYmVyXTtcbn1cblxuZXhwb3J0IG5hbWVzcGFjZSBEZWxldGVSZWNlbnRTZWFyY2gge1xuICBleHBvcnQgdHlwZSBWYXJpYWJsZXMgPSBEZWxldGVSZWNlbnRTZWFyY2hNdXRhdGlvblZhcmlhYmxlcztcbiAgZXhwb3J0IHR5cGUgTXV0YXRpb24gPSBEZWxldGVSZWNlbnRTZWFyY2hNdXRhdGlvbjtcbn1cblxuZXhwb3J0IG5hbWVzcGFjZSBEZWxldGVVc2VyQWRkcmVzcyB7XG4gIGV4cG9ydCB0eXBlIFZhcmlhYmxlcyA9IERlbGV0ZVVzZXJBZGRyZXNzTXV0YXRpb25WYXJpYWJsZXM7XG4gIGV4cG9ydCB0eXBlIE11dGF0aW9uID0gRGVsZXRlVXNlckFkZHJlc3NNdXRhdGlvbjtcbn1cblxuZXhwb3J0IG5hbWVzcGFjZSBFcnJvcnMge1xuICBleHBvcnQgdHlwZSBGcmFnbWVudCA9IEVycm9yc0ZyYWdtZW50O1xuICBleHBvcnQgdHlwZSBTZXJ2aWNlID0gRXJyb3JzRnJhZ21lbnRbJ3NlcnZpY2UnXTtcbn1cblxuZXhwb3J0IG5hbWVzcGFjZSBHcm91cGVkRmllbGRzIHtcbiAgZXhwb3J0IHR5cGUgRnJhZ21lbnQgPSBHcm91cGVkRmllbGRzRnJhZ21lbnQ7XG4gIGV4cG9ydCB0eXBlIEZsaWdodHMgPSBHcm91cGVkRmllbGRzRnJhZ21lbnRbJ2ZsaWdodHMnXTtcbn1cblxuZXhwb3J0IG5hbWVzcGFjZSBTZWFyY2hGbGlnaHRzVjIge1xuICBleHBvcnQgdHlwZSBWYXJpYWJsZXMgPSBTZWFyY2hGbGlnaHRzVjJRdWVyeVZhcmlhYmxlcztcbiAgZXhwb3J0IHR5cGUgUXVlcnkgPSBTZWFyY2hGbGlnaHRzVjJRdWVyeTtcbiAgZXhwb3J0IHR5cGUgU2VhcmNoRmxpZ2h0c1YyID0gU2VhcmNoRmxpZ2h0c1YyUXVlcnlbJ3NlYXJjaEZsaWdodHNWMiddO1xuICBleHBvcnQgdHlwZSBSZXN1bHRzID0gU2VhcmNoRmxpZ2h0c1YyUXVlcnlbJ3NlYXJjaEZsaWdodHNWMiddWydyZXN1bHRzJ107XG4gIGV4cG9ydCB0eXBlIEpvdXJuZXlzID0gU2VhcmNoRmxpZ2h0c1YyUXVlcnlbJ3NlYXJjaEZsaWdodHNWMiddWydyZXN1bHRzJ11bJ2pvdXJuZXlzJ11bbnVtYmVyXTtcbiAgZXhwb3J0IHR5cGUgT3V0Ym91bmRGbGlnaHRzID0gU2VhcmNoRmxpZ2h0c1YyUXVlcnlbJ3NlYXJjaEZsaWdodHNWMiddWydyZXN1bHRzJ11bJ2pvdXJuZXlzJ11bbnVtYmVyXVsnb3V0Ym91bmRGbGlnaHRzJ11bbnVtYmVyXTtcbiAgZXhwb3J0IHR5cGUgT3JpZ2luQWlycG9ydERldGFpbCA9IFNlYXJjaEZsaWdodHNWMlF1ZXJ5WydzZWFyY2hGbGlnaHRzVjInXVsncmVzdWx0cyddWydqb3VybmV5cyddW251bWJlcl1bJ291dGJvdW5kRmxpZ2h0cyddW251bWJlcl1bJ29yaWdpbkFpcnBvcnREZXRhaWwnXTtcbiAgZXhwb3J0IHR5cGUgRGVzdGluYXRpb25BaXJwb3J0RGV0YWlsID0gU2VhcmNoRmxpZ2h0c1YyUXVlcnlbJ3NlYXJjaEZsaWdodHNWMiddWydyZXN1bHRzJ11bJ2pvdXJuZXlzJ11bbnVtYmVyXVsnb3V0Ym91bmRGbGlnaHRzJ11bbnVtYmVyXVsnZGVzdGluYXRpb25BaXJwb3J0RGV0YWlsJ107XG4gIGV4cG9ydCB0eXBlIE1hcmtldGluZ0NhcnJpZXJEZXRhaWwgPSBTZWFyY2hGbGlnaHRzVjJRdWVyeVsnc2VhcmNoRmxpZ2h0c1YyJ11bJ3Jlc3VsdHMnXVsnam91cm5leXMnXVtudW1iZXJdWydvdXRib3VuZEZsaWdodHMnXVtudW1iZXJdWydtYXJrZXRpbmdDYXJyaWVyRGV0YWlsJ107XG4gIGV4cG9ydCB0eXBlIE9wZXJhdGluZ0NhcnJpZXJEZXRhaWwgPSBTZWFyY2hGbGlnaHRzVjJRdWVyeVsnc2VhcmNoRmxpZ2h0c1YyJ11bJ3Jlc3VsdHMnXVsnam91cm5leXMnXVtudW1iZXJdWydvdXRib3VuZEZsaWdodHMnXVtudW1iZXJdWydvcGVyYXRpbmdDYXJyaWVyRGV0YWlsJ107XG4gIGV4cG9ydCB0eXBlIEZhcmVDb25kaXRpb25zID0gU2VhcmNoRmxpZ2h0c1YyUXVlcnlbJ3NlYXJjaEZsaWdodHNWMiddWydyZXN1bHRzJ11bJ2pvdXJuZXlzJ11bbnVtYmVyXVsnb3V0Ym91bmRGbGlnaHRzJ11bbnVtYmVyXVsnZmFyZUNvbmRpdGlvbnMnXTtcbiAgZXhwb3J0IHR5cGUgQ2FuY2VsbGF0aW9uID0gU2VhcmNoRmxpZ2h0c1YyUXVlcnlbJ3NlYXJjaEZsaWdodHNWMiddWydyZXN1bHRzJ11bJ2pvdXJuZXlzJ11bbnVtYmVyXVsnb3V0Ym91bmRGbGlnaHRzJ11bbnVtYmVyXVsnZmFyZUNvbmRpdGlvbnMnXVsnY2FuY2VsbGF0aW9uJ11bbnVtYmVyXTtcbiAgZXhwb3J0IHR5cGUgQ2hhbmdlID0gU2VhcmNoRmxpZ2h0c1YyUXVlcnlbJ3NlYXJjaEZsaWdodHNWMiddWydyZXN1bHRzJ11bJ2pvdXJuZXlzJ11bbnVtYmVyXVsnb3V0Ym91bmRGbGlnaHRzJ11bbnVtYmVyXVsnZmFyZUNvbmRpdGlvbnMnXVsnY2hhbmdlJ11bbnVtYmVyXTtcbiAgZXhwb3J0IHR5cGUgTm9TaG93ID0gU2VhcmNoRmxpZ2h0c1YyUXVlcnlbJ3NlYXJjaEZsaWdodHNWMiddWydyZXN1bHRzJ11bJ2pvdXJuZXlzJ11bbnVtYmVyXVsnb3V0Ym91bmRGbGlnaHRzJ11bbnVtYmVyXVsnZmFyZUNvbmRpdGlvbnMnXVsnbm9TaG93J11bbnVtYmVyXTtcbiAgZXhwb3J0IHR5cGUgVXBncmFkZSA9IFNlYXJjaEZsaWdodHNWMlF1ZXJ5WydzZWFyY2hGbGlnaHRzVjInXVsncmVzdWx0cyddWydqb3VybmV5cyddW251bWJlcl1bJ291dGJvdW5kRmxpZ2h0cyddW251bWJlcl1bJ2ZhcmVDb25kaXRpb25zJ11bJ3VwZ3JhZGUnXVtudW1iZXJdO1xuICBleHBvcnQgdHlwZSBPdGhlciA9IFNlYXJjaEZsaWdodHNWMlF1ZXJ5WydzZWFyY2hGbGlnaHRzVjInXVsncmVzdWx0cyddWydqb3VybmV5cyddW251bWJlcl1bJ291dGJvdW5kRmxpZ2h0cyddW251bWJlcl1bJ2ZhcmVDb25kaXRpb25zJ11bJ290aGVyJ11bbnVtYmVyXTtcbiAgZXhwb3J0IHR5cGUgSW5ib3VuZEZsaWdodHMgPSBTZWFyY2hGbGlnaHRzVjJRdWVyeVsnc2VhcmNoRmxpZ2h0c1YyJ11bJ3Jlc3VsdHMnXVsnam91cm5leXMnXVtudW1iZXJdWydpbmJvdW5kRmxpZ2h0cyddW251bWJlcl07XG4gIGV4cG9ydCB0eXBlIF9PcmlnaW5BaXJwb3J0RGV0YWlsID0gU2VhcmNoRmxpZ2h0c1YyUXVlcnlbJ3NlYXJjaEZsaWdodHNWMiddWydyZXN1bHRzJ11bJ2pvdXJuZXlzJ11bbnVtYmVyXVsnaW5ib3VuZEZsaWdodHMnXVtudW1iZXJdWydvcmlnaW5BaXJwb3J0RGV0YWlsJ107XG4gIGV4cG9ydCB0eXBlIF9EZXN0aW5hdGlvbkFpcnBvcnREZXRhaWwgPSBTZWFyY2hGbGlnaHRzVjJRdWVyeVsnc2VhcmNoRmxpZ2h0c1YyJ11bJ3Jlc3VsdHMnXVsnam91cm5leXMnXVtudW1iZXJdWydpbmJvdW5kRmxpZ2h0cyddW251bWJlcl1bJ2Rlc3RpbmF0aW9uQWlycG9ydERldGFpbCddO1xuICBleHBvcnQgdHlwZSBfTWFya2V0aW5nQ2FycmllckRldGFpbCA9IFNlYXJjaEZsaWdodHNWMlF1ZXJ5WydzZWFyY2hGbGlnaHRzVjInXVsncmVzdWx0cyddWydqb3VybmV5cyddW251bWJlcl1bJ2luYm91bmRGbGlnaHRzJ11bbnVtYmVyXVsnbWFya2V0aW5nQ2FycmllckRldGFpbCddO1xuICBleHBvcnQgdHlwZSBfT3BlcmF0aW5nQ2FycmllckRldGFpbCA9IFNlYXJjaEZsaWdodHNWMlF1ZXJ5WydzZWFyY2hGbGlnaHRzVjInXVsncmVzdWx0cyddWydqb3VybmV5cyddW251bWJlcl1bJ2luYm91bmRGbGlnaHRzJ11bbnVtYmVyXVsnb3BlcmF0aW5nQ2FycmllckRldGFpbCddO1xuICBleHBvcnQgdHlwZSBfRmFyZUNvbmRpdGlvbnMgPSBTZWFyY2hGbGlnaHRzVjJRdWVyeVsnc2VhcmNoRmxpZ2h0c1YyJ11bJ3Jlc3VsdHMnXVsnam91cm5leXMnXVtudW1iZXJdWydpbmJvdW5kRmxpZ2h0cyddW251bWJlcl1bJ2ZhcmVDb25kaXRpb25zJ107XG4gIGV4cG9ydCB0eXBlIF9DYW5jZWxsYXRpb24gPSBTZWFyY2hGbGlnaHRzVjJRdWVyeVsnc2VhcmNoRmxpZ2h0c1YyJ11bJ3Jlc3VsdHMnXVsnam91cm5leXMnXVtudW1iZXJdWydpbmJvdW5kRmxpZ2h0cyddW251bWJlcl1bJ2ZhcmVDb25kaXRpb25zJ11bJ2NhbmNlbGxhdGlvbiddW251bWJlcl07XG4gIGV4cG9ydCB0eXBlIF9DaGFuZ2UgPSBTZWFyY2hGbGlnaHRzVjJRdWVyeVsnc2VhcmNoRmxpZ2h0c1YyJ11bJ3Jlc3VsdHMnXVsnam91cm5leXMnXVtudW1iZXJdWydpbmJvdW5kRmxpZ2h0cyddW251bWJlcl1bJ2ZhcmVDb25kaXRpb25zJ11bJ2NoYW5nZSddW251bWJlcl07XG4gIGV4cG9ydCB0eXBlIF9Ob1Nob3cgPSBTZWFyY2hGbGlnaHRzVjJRdWVyeVsnc2VhcmNoRmxpZ2h0c1YyJ11bJ3Jlc3VsdHMnXVsnam91cm5leXMnXVtudW1iZXJdWydpbmJvdW5kRmxpZ2h0cyddW251bWJlcl1bJ2ZhcmVDb25kaXRpb25zJ11bJ25vU2hvdyddW251bWJlcl07XG4gIGV4cG9ydCB0eXBlIF9VcGdyYWRlID0gU2VhcmNoRmxpZ2h0c1YyUXVlcnlbJ3NlYXJjaEZsaWdodHNWMiddWydyZXN1bHRzJ11bJ2pvdXJuZXlzJ11bbnVtYmVyXVsnaW5ib3VuZEZsaWdodHMnXVtudW1iZXJdWydmYXJlQ29uZGl0aW9ucyddWyd1cGdyYWRlJ11bbnVtYmVyXTtcbiAgZXhwb3J0IHR5cGUgX090aGVyID0gU2VhcmNoRmxpZ2h0c1YyUXVlcnlbJ3NlYXJjaEZsaWdodHNWMiddWydyZXN1bHRzJ11bJ2pvdXJuZXlzJ11bbnVtYmVyXVsnaW5ib3VuZEZsaWdodHMnXVtudW1iZXJdWydmYXJlQ29uZGl0aW9ucyddWydvdGhlciddW251bWJlcl07XG4gIGV4cG9ydCB0eXBlIE91dGJvdW5kQ2FyYm9uRW1pc3Npb25zID0gU2VhcmNoRmxpZ2h0c1YyUXVlcnlbJ3NlYXJjaEZsaWdodHNWMiddWydyZXN1bHRzJ11bJ2pvdXJuZXlzJ11bbnVtYmVyXVsnb3V0Ym91bmRDYXJib25FbWlzc2lvbnMnXTtcbiAgZXhwb3J0IHR5cGUgSW5ib3VuZENhcmJvbkVtaXNzaW9ucyA9IFNlYXJjaEZsaWdodHNWMlF1ZXJ5WydzZWFyY2hGbGlnaHRzVjInXVsncmVzdWx0cyddWydqb3VybmV5cyddW251bWJlcl1bJ2luYm91bmRDYXJib25FbWlzc2lvbnMnXTtcbiAgZXhwb3J0IHR5cGUgVGF4ZXMgPSBTZWFyY2hGbGlnaHRzVjJRdWVyeVsnc2VhcmNoRmxpZ2h0c1YyJ11bJ3Jlc3VsdHMnXVsnam91cm5leXMnXVtudW1iZXJdWyd0YXhlcyddW251bWJlcl07XG4gIGV4cG9ydCB0eXBlIERpc2NvdW50cyA9IFNlYXJjaEZsaWdodHNWMlF1ZXJ5WydzZWFyY2hGbGlnaHRzVjInXVsncmVzdWx0cyddWydqb3VybmV5cyddW251bWJlcl1bJ2Rpc2NvdW50cyddW251bWJlcl07XG4gIGV4cG9ydCB0eXBlIFRvdGFsID0gU2VhcmNoRmxpZ2h0c1YyUXVlcnlbJ3NlYXJjaEZsaWdodHNWMiddWydyZXN1bHRzJ11bJ2pvdXJuZXlzJ11bbnVtYmVyXVsndG90YWwnXTtcbiAgZXhwb3J0IHR5cGUgX19GYXJlQ29uZGl0aW9ucyA9IFNlYXJjaEZsaWdodHNWMlF1ZXJ5WydzZWFyY2hGbGlnaHRzVjInXVsncmVzdWx0cyddWydqb3VybmV5cyddW251bWJlcl1bJ2ZhcmVDb25kaXRpb25zJ107XG4gIGV4cG9ydCB0eXBlIF9fQ2FuY2VsbGF0aW9uID0gU2VhcmNoRmxpZ2h0c1YyUXVlcnlbJ3NlYXJjaEZsaWdodHNWMiddWydyZXN1bHRzJ11bJ2pvdXJuZXlzJ11bbnVtYmVyXVsnZmFyZUNvbmRpdGlvbnMnXVsnY2FuY2VsbGF0aW9uJ11bbnVtYmVyXTtcbiAgZXhwb3J0IHR5cGUgX19DaGFuZ2UgPSBTZWFyY2hGbGlnaHRzVjJRdWVyeVsnc2VhcmNoRmxpZ2h0c1YyJ11bJ3Jlc3VsdHMnXVsnam91cm5leXMnXVtudW1iZXJdWydmYXJlQ29uZGl0aW9ucyddWydjaGFuZ2UnXVtudW1iZXJdO1xuICBleHBvcnQgdHlwZSBfX05vU2hvdyA9IFNlYXJjaEZsaWdodHNWMlF1ZXJ5WydzZWFyY2hGbGlnaHRzVjInXVsncmVzdWx0cyddWydqb3VybmV5cyddW251bWJlcl1bJ2ZhcmVDb25kaXRpb25zJ11bJ25vU2hvdyddW251bWJlcl07XG4gIGV4cG9ydCB0eXBlIF9fVXBncmFkZSA9IFNlYXJjaEZsaWdodHNWMlF1ZXJ5WydzZWFyY2hGbGlnaHRzVjInXVsncmVzdWx0cyddWydqb3VybmV5cyddW251bWJlcl1bJ2ZhcmVDb25kaXRpb25zJ11bJ3VwZ3JhZGUnXVtudW1iZXJdO1xuICBleHBvcnQgdHlwZSBfX090aGVyID0gU2VhcmNoRmxpZ2h0c1YyUXVlcnlbJ3NlYXJjaEZsaWdodHNWMiddWydyZXN1bHRzJ11bJ2pvdXJuZXlzJ11bbnVtYmVyXVsnZmFyZUNvbmRpdGlvbnMnXVsnb3RoZXInXVtudW1iZXJdO1xuICBleHBvcnQgdHlwZSBCYWdnYWdlQWxsb3dhbmNlID0gU2VhcmNoRmxpZ2h0c1YyUXVlcnlbJ3NlYXJjaEZsaWdodHNWMiddWydyZXN1bHRzJ11bJ2pvdXJuZXlzJ11bbnVtYmVyXVsnYmFnZ2FnZUFsbG93YW5jZSddW251bWJlcl07XG4gIGV4cG9ydCB0eXBlIE11bHRpID0gU2VhcmNoRmxpZ2h0c1YyUXVlcnlbJ3NlYXJjaEZsaWdodHNWMiddWydyZXN1bHRzJ11bJ211bHRpJ11bbnVtYmVyXTtcbiAgZXhwb3J0IHR5cGUgX1Jlc3VsdHMgPSBTZWFyY2hGbGlnaHRzVjJRdWVyeVsnc2VhcmNoRmxpZ2h0c1YyJ11bJ3Jlc3VsdHMnXVsnbXVsdGknXVtudW1iZXJdWydyZXN1bHRzJ11bbnVtYmVyXTtcbiAgZXhwb3J0IHR5cGUgX091dGJvdW5kRmxpZ2h0cyA9IFNlYXJjaEZsaWdodHNWMlF1ZXJ5WydzZWFyY2hGbGlnaHRzVjInXVsncmVzdWx0cyddWydtdWx0aSddW251bWJlcl1bJ3Jlc3VsdHMnXVtudW1iZXJdWydvdXRib3VuZEZsaWdodHMnXVtudW1iZXJdO1xuICBleHBvcnQgdHlwZSBfX09yaWdpbkFpcnBvcnREZXRhaWwgPSBTZWFyY2hGbGlnaHRzVjJRdWVyeVsnc2VhcmNoRmxpZ2h0c1YyJ11bJ3Jlc3VsdHMnXVsnbXVsdGknXVtudW1iZXJdWydyZXN1bHRzJ11bbnVtYmVyXVsnb3V0Ym91bmRGbGlnaHRzJ11bbnVtYmVyXVsnb3JpZ2luQWlycG9ydERldGFpbCddO1xuICBleHBvcnQgdHlwZSBfX0Rlc3RpbmF0aW9uQWlycG9ydERldGFpbCA9IFNlYXJjaEZsaWdodHNWMlF1ZXJ5WydzZWFyY2hGbGlnaHRzVjInXVsncmVzdWx0cyddWydtdWx0aSddW251bWJlcl1bJ3Jlc3VsdHMnXVtudW1iZXJdWydvdXRib3VuZEZsaWdodHMnXVtudW1iZXJdWydkZXN0aW5hdGlvbkFpcnBvcnREZXRhaWwnXTtcbiAgZXhwb3J0IHR5cGUgX19NYXJrZXRpbmdDYXJyaWVyRGV0YWlsID0gU2VhcmNoRmxpZ2h0c1YyUXVlcnlbJ3NlYXJjaEZsaWdodHNWMiddWydyZXN1bHRzJ11bJ211bHRpJ11bbnVtYmVyXVsncmVzdWx0cyddW251bWJlcl1bJ291dGJvdW5kRmxpZ2h0cyddW251bWJlcl1bJ21hcmtldGluZ0NhcnJpZXJEZXRhaWwnXTtcbiAgZXhwb3J0IHR5cGUgX19PcGVyYXRpbmdDYXJyaWVyRGV0YWlsID0gU2VhcmNoRmxpZ2h0c1YyUXVlcnlbJ3NlYXJjaEZsaWdodHNWMiddWydyZXN1bHRzJ11bJ211bHRpJ11bbnVtYmVyXVsncmVzdWx0cyddW251bWJlcl1bJ291dGJvdW5kRmxpZ2h0cyddW251bWJlcl1bJ29wZXJhdGluZ0NhcnJpZXJEZXRhaWwnXTtcbiAgZXhwb3J0IHR5cGUgX19fRmFyZUNvbmRpdGlvbnMgPSBTZWFyY2hGbGlnaHRzVjJRdWVyeVsnc2VhcmNoRmxpZ2h0c1YyJ11bJ3Jlc3VsdHMnXVsnbXVsdGknXVtudW1iZXJdWydyZXN1bHRzJ11bbnVtYmVyXVsnb3V0Ym91bmRGbGlnaHRzJ11bbnVtYmVyXVsnZmFyZUNvbmRpdGlvbnMnXTtcbiAgZXhwb3J0IHR5cGUgX19fQ2FuY2VsbGF0aW9uID0gU2VhcmNoRmxpZ2h0c1YyUXVlcnlbJ3NlYXJjaEZsaWdodHNWMiddWydyZXN1bHRzJ11bJ211bHRpJ11bbnVtYmVyXVsncmVzdWx0cyddW251bWJlcl1bJ291dGJvdW5kRmxpZ2h0cyddW251bWJlcl1bJ2ZhcmVDb25kaXRpb25zJ11bJ2NhbmNlbGxhdGlvbiddW251bWJlcl07XG4gIGV4cG9ydCB0eXBlIF9fX0NoYW5nZSA9IFNlYXJjaEZsaWdodHNWMlF1ZXJ5WydzZWFyY2hGbGlnaHRzVjInXVsncmVzdWx0cyddWydtdWx0aSddW251bWJlcl1bJ3Jlc3VsdHMnXVtudW1iZXJdWydvdXRib3VuZEZsaWdodHMnXVtudW1iZXJdWydmYXJlQ29uZGl0aW9ucyddWydjaGFuZ2UnXVtudW1iZXJdO1xuICBleHBvcnQgdHlwZSBfX19Ob1Nob3cgPSBTZWFyY2hGbGlnaHRzVjJRdWVyeVsnc2VhcmNoRmxpZ2h0c1YyJ11bJ3Jlc3VsdHMnXVsnbXVsdGknXVtudW1iZXJdWydyZXN1bHRzJ11bbnVtYmVyXVsnb3V0Ym91bmRGbGlnaHRzJ11bbnVtYmVyXVsnZmFyZUNvbmRpdGlvbnMnXVsnbm9TaG93J11bbnVtYmVyXTtcbiAgZXhwb3J0IHR5cGUgX19fVXBncmFkZSA9IFNlYXJjaEZsaWdodHNWMlF1ZXJ5WydzZWFyY2hGbGlnaHRzVjInXVsncmVzdWx0cyddWydtdWx0aSddW251bWJlcl1bJ3Jlc3VsdHMnXVtudW1iZXJdWydvdXRib3VuZEZsaWdodHMnXVtudW1iZXJdWydmYXJlQ29uZGl0aW9ucyddWyd1cGdyYWRlJ11bbnVtYmVyXTtcbiAgZXhwb3J0IHR5cGUgX19fT3RoZXIgPSBTZWFyY2hGbGlnaHRzVjJRdWVyeVsnc2VhcmNoRmxpZ2h0c1YyJ11bJ3Jlc3VsdHMnXVsnbXVsdGknXVtudW1iZXJdWydyZXN1bHRzJ11bbnVtYmVyXVsnb3V0Ym91bmRGbGlnaHRzJ11bbnVtYmVyXVsnZmFyZUNvbmRpdGlvbnMnXVsnb3RoZXInXVtudW1iZXJdO1xuICBleHBvcnQgdHlwZSBfSW5ib3VuZEZsaWdodHMgPSBTZWFyY2hGbGlnaHRzVjJRdWVyeVsnc2VhcmNoRmxpZ2h0c1YyJ11bJ3Jlc3VsdHMnXVsnbXVsdGknXVtudW1iZXJdWydyZXN1bHRzJ11bbnVtYmVyXVsnaW5ib3VuZEZsaWdodHMnXVtudW1iZXJdO1xuICBleHBvcnQgdHlwZSBfX19PcmlnaW5BaXJwb3J0RGV0YWlsID0gU2VhcmNoRmxpZ2h0c1YyUXVlcnlbJ3NlYXJjaEZsaWdodHNWMiddWydyZXN1bHRzJ11bJ211bHRpJ11bbnVtYmVyXVsncmVzdWx0cyddW251bWJlcl1bJ2luYm91bmRGbGlnaHRzJ11bbnVtYmVyXVsnb3JpZ2luQWlycG9ydERldGFpbCddO1xuICBleHBvcnQgdHlwZSBfX19EZXN0aW5hdGlvbkFpcnBvcnREZXRhaWwgPSBTZWFyY2hGbGlnaHRzVjJRdWVyeVsnc2VhcmNoRmxpZ2h0c1YyJ11bJ3Jlc3VsdHMnXVsnbXVsdGknXVtudW1iZXJdWydyZXN1bHRzJ11bbnVtYmVyXVsnaW5ib3VuZEZsaWdodHMnXVtudW1iZXJdWydkZXN0aW5hdGlvbkFpcnBvcnREZXRhaWwnXTtcbiAgZXhwb3J0IHR5cGUgX19fTWFya2V0aW5nQ2FycmllckRldGFpbCA9IFNlYXJjaEZsaWdodHNWMlF1ZXJ5WydzZWFyY2hGbGlnaHRzVjInXVsncmVzdWx0cyddWydtdWx0aSddW251bWJlcl1bJ3Jlc3VsdHMnXVtudW1iZXJdWydpbmJvdW5kRmxpZ2h0cyddW251bWJlcl1bJ21hcmtldGluZ0NhcnJpZXJEZXRhaWwnXTtcbiAgZXhwb3J0IHR5cGUgX19fT3BlcmF0aW5nQ2FycmllckRldGFpbCA9IFNlYXJjaEZsaWdodHNWMlF1ZXJ5WydzZWFyY2hGbGlnaHRzVjInXVsncmVzdWx0cyddWydtdWx0aSddW251bWJlcl1bJ3Jlc3VsdHMnXVtudW1iZXJdWydpbmJvdW5kRmxpZ2h0cyddW251bWJlcl1bJ29wZXJhdGluZ0NhcnJpZXJEZXRhaWwnXTtcbiAgZXhwb3J0IHR5cGUgX19fX0ZhcmVDb25kaXRpb25zID0gU2VhcmNoRmxpZ2h0c1YyUXVlcnlbJ3NlYXJjaEZsaWdodHNWMiddWydyZXN1bHRzJ11bJ211bHRpJ11bbnVtYmVyXVsncmVzdWx0cyddW251bWJlcl1bJ2luYm91bmRGbGlnaHRzJ11bbnVtYmVyXVsnZmFyZUNvbmRpdGlvbnMnXTtcbiAgZXhwb3J0IHR5cGUgX19fX0NhbmNlbGxhdGlvbiA9IFNlYXJjaEZsaWdodHNWMlF1ZXJ5WydzZWFyY2hGbGlnaHRzVjInXVsncmVzdWx0cyddWydtdWx0aSddW251bWJlcl1bJ3Jlc3VsdHMnXVtudW1iZXJdWydpbmJvdW5kRmxpZ2h0cyddW251bWJlcl1bJ2ZhcmVDb25kaXRpb25zJ11bJ2NhbmNlbGxhdGlvbiddW251bWJlcl07XG4gIGV4cG9ydCB0eXBlIF9fX19DaGFuZ2UgPSBTZWFyY2hGbGlnaHRzVjJRdWVyeVsnc2VhcmNoRmxpZ2h0c1YyJ11bJ3Jlc3VsdHMnXVsnbXVsdGknXVtudW1iZXJdWydyZXN1bHRzJ11bbnVtYmVyXVsnaW5ib3VuZEZsaWdodHMnXVtudW1iZXJdWydmYXJlQ29uZGl0aW9ucyddWydjaGFuZ2UnXVtudW1iZXJdO1xuICBleHBvcnQgdHlwZSBfX19fTm9TaG93ID0gU2VhcmNoRmxpZ2h0c1YyUXVlcnlbJ3NlYXJjaEZsaWdodHNWMiddWydyZXN1bHRzJ11bJ211bHRpJ11bbnVtYmVyXVsncmVzdWx0cyddW251bWJlcl1bJ2luYm91bmRGbGlnaHRzJ11bbnVtYmVyXVsnZmFyZUNvbmRpdGlvbnMnXVsnbm9TaG93J11bbnVtYmVyXTtcbiAgZXhwb3J0IHR5cGUgX19fX1VwZ3JhZGUgPSBTZWFyY2hGbGlnaHRzVjJRdWVyeVsnc2VhcmNoRmxpZ2h0c1YyJ11bJ3Jlc3VsdHMnXVsnbXVsdGknXVtudW1iZXJdWydyZXN1bHRzJ11bbnVtYmVyXVsnaW5ib3VuZEZsaWdodHMnXVtudW1iZXJdWydmYXJlQ29uZGl0aW9ucyddWyd1cGdyYWRlJ11bbnVtYmVyXTtcbiAgZXhwb3J0IHR5cGUgX19fX090aGVyID0gU2VhcmNoRmxpZ2h0c1YyUXVlcnlbJ3NlYXJjaEZsaWdodHNWMiddWydyZXN1bHRzJ11bJ211bHRpJ11bbnVtYmVyXVsncmVzdWx0cyddW251bWJlcl1bJ2luYm91bmRGbGlnaHRzJ11bbnVtYmVyXVsnZmFyZUNvbmRpdGlvbnMnXVsnb3RoZXInXVtudW1iZXJdO1xuICBleHBvcnQgdHlwZSBfT3V0Ym91bmRDYXJib25FbWlzc2lvbnMgPSBTZWFyY2hGbGlnaHRzVjJRdWVyeVsnc2VhcmNoRmxpZ2h0c1YyJ11bJ3Jlc3VsdHMnXVsnbXVsdGknXVtudW1iZXJdWydyZXN1bHRzJ11bbnVtYmVyXVsnb3V0Ym91bmRDYXJib25FbWlzc2lvbnMnXTtcbiAgZXhwb3J0IHR5cGUgX0luYm91bmRDYXJib25FbWlzc2lvbnMgPSBTZWFyY2hGbGlnaHRzVjJRdWVyeVsnc2VhcmNoRmxpZ2h0c1YyJ11bJ3Jlc3VsdHMnXVsnbXVsdGknXVtudW1iZXJdWydyZXN1bHRzJ11bbnVtYmVyXVsnaW5ib3VuZENhcmJvbkVtaXNzaW9ucyddO1xuICBleHBvcnQgdHlwZSBfVGF4ZXMgPSBTZWFyY2hGbGlnaHRzVjJRdWVyeVsnc2VhcmNoRmxpZ2h0c1YyJ11bJ3Jlc3VsdHMnXVsnbXVsdGknXVtudW1iZXJdWydyZXN1bHRzJ11bbnVtYmVyXVsndGF4ZXMnXVtudW1iZXJdO1xuICBleHBvcnQgdHlwZSBfRGlzY291bnRzID0gU2VhcmNoRmxpZ2h0c1YyUXVlcnlbJ3NlYXJjaEZsaWdodHNWMiddWydyZXN1bHRzJ11bJ211bHRpJ11bbnVtYmVyXVsncmVzdWx0cyddW251bWJlcl1bJ2Rpc2NvdW50cyddW251bWJlcl07XG4gIGV4cG9ydCB0eXBlIF9Ub3RhbCA9IFNlYXJjaEZsaWdodHNWMlF1ZXJ5WydzZWFyY2hGbGlnaHRzVjInXVsncmVzdWx0cyddWydtdWx0aSddW251bWJlcl1bJ3Jlc3VsdHMnXVtudW1iZXJdWyd0b3RhbCddO1xuICBleHBvcnQgdHlwZSBfX19fX0ZhcmVDb25kaXRpb25zID0gU2VhcmNoRmxpZ2h0c1YyUXVlcnlbJ3NlYXJjaEZsaWdodHNWMiddWydyZXN1bHRzJ11bJ211bHRpJ11bbnVtYmVyXVsncmVzdWx0cyddW251bWJlcl1bJ2ZhcmVDb25kaXRpb25zJ107XG4gIGV4cG9ydCB0eXBlIF9fX19fQ2FuY2VsbGF0aW9uID0gU2VhcmNoRmxpZ2h0c1YyUXVlcnlbJ3NlYXJjaEZsaWdodHNWMiddWydyZXN1bHRzJ11bJ211bHRpJ11bbnVtYmVyXVsncmVzdWx0cyddW251bWJlcl1bJ2ZhcmVDb25kaXRpb25zJ11bJ2NhbmNlbGxhdGlvbiddW251bWJlcl07XG4gIGV4cG9ydCB0eXBlIF9fX19fQ2hhbmdlID0gU2VhcmNoRmxpZ2h0c1YyUXVlcnlbJ3NlYXJjaEZsaWdodHNWMiddWydyZXN1bHRzJ11bJ211bHRpJ11bbnVtYmVyXVsncmVzdWx0cyddW251bWJlcl1bJ2ZhcmVDb25kaXRpb25zJ11bJ2NoYW5nZSddW251bWJlcl07XG4gIGV4cG9ydCB0eXBlIF9fX19fTm9TaG93ID0gU2VhcmNoRmxpZ2h0c1YyUXVlcnlbJ3NlYXJjaEZsaWdodHNWMiddWydyZXN1bHRzJ11bJ211bHRpJ11bbnVtYmVyXVsncmVzdWx0cyddW251bWJlcl1bJ2ZhcmVDb25kaXRpb25zJ11bJ25vU2hvdyddW251bWJlcl07XG4gIGV4cG9ydCB0eXBlIF9fX19fVXBncmFkZSA9IFNlYXJjaEZsaWdodHNWMlF1ZXJ5WydzZWFyY2hGbGlnaHRzVjInXVsncmVzdWx0cyddWydtdWx0aSddW251bWJlcl1bJ3Jlc3VsdHMnXVtudW1iZXJdWydmYXJlQ29uZGl0aW9ucyddWyd1cGdyYWRlJ11bbnVtYmVyXTtcbiAgZXhwb3J0IHR5cGUgX19fX19PdGhlciA9IFNlYXJjaEZsaWdodHNWMlF1ZXJ5WydzZWFyY2hGbGlnaHRzVjInXVsncmVzdWx0cyddWydtdWx0aSddW251bWJlcl1bJ3Jlc3VsdHMnXVtudW1iZXJdWydmYXJlQ29uZGl0aW9ucyddWydvdGhlciddW251bWJlcl07XG4gIGV4cG9ydCB0eXBlIF9CYWdnYWdlQWxsb3dhbmNlID0gU2VhcmNoRmxpZ2h0c1YyUXVlcnlbJ3NlYXJjaEZsaWdodHNWMiddWydyZXN1bHRzJ11bJ211bHRpJ11bbnVtYmVyXVsncmVzdWx0cyddW251bWJlcl1bJ2JhZ2dhZ2VBbGxvd2FuY2UnXVtudW1iZXJdO1xuICBleHBvcnQgdHlwZSBHcm91cGVkID0gU2VhcmNoRmxpZ2h0c1YyUXVlcnlbJ3NlYXJjaEZsaWdodHNWMiddWydyZXN1bHRzJ11bJ2dyb3VwZWQnXVtudW1iZXJdO1xuICBleHBvcnQgdHlwZSBFcnJvcnMgPSBTZWFyY2hGbGlnaHRzVjJRdWVyeVsnc2VhcmNoRmxpZ2h0c1YyJ11bJ2Vycm9ycyddW251bWJlcl07XG59XG5cbmV4cG9ydCBuYW1lc3BhY2UgR2V0Q2FySGlyZURlcG90cyB7XG4gIGV4cG9ydCB0eXBlIFZhcmlhYmxlcyA9IEdldENhckhpcmVEZXBvdHNRdWVyeVZhcmlhYmxlcztcbiAgZXhwb3J0IHR5cGUgUXVlcnkgPSBHZXRDYXJIaXJlRGVwb3RzUXVlcnk7XG4gIGV4cG9ydCB0eXBlIEdldENhckhpcmVEZXBvdHMgPSBHZXRDYXJIaXJlRGVwb3RzUXVlcnlbJ2dldENhckhpcmVEZXBvdHMnXVtudW1iZXJdO1xufVxuXG5leHBvcnQgbmFtZXNwYWNlIEdldENvbmZlcm1hT2ZmaWNlTmFtZXMge1xuICBleHBvcnQgdHlwZSBWYXJpYWJsZXMgPSBHZXRDb25mZXJtYU9mZmljZU5hbWVzUXVlcnlWYXJpYWJsZXM7XG4gIGV4cG9ydCB0eXBlIFF1ZXJ5ID0gR2V0Q29uZmVybWFPZmZpY2VOYW1lc1F1ZXJ5O1xuICBleHBvcnQgdHlwZSBHZXRDb25mZXJtYU9mZmljZU5hbWVzID0gR2V0Q29uZmVybWFPZmZpY2VOYW1lc1F1ZXJ5WydnZXRDb25mZXJtYU9mZmljZU5hbWVzJ107XG4gIGV4cG9ydCB0eXBlIFJlc3VsdHMgPSBHZXRDb25mZXJtYU9mZmljZU5hbWVzUXVlcnlbJ2dldENvbmZlcm1hT2ZmaWNlTmFtZXMnXVsncmVzdWx0cyddW251bWJlcl07XG4gIGV4cG9ydCB0eXBlIEVycm9ycyA9IEdldENvbmZlcm1hT2ZmaWNlTmFtZXNRdWVyeVsnZ2V0Q29uZmVybWFPZmZpY2VOYW1lcyddWydlcnJvcnMnXVtudW1iZXJdO1xufVxuXG5leHBvcnQgbmFtZXNwYWNlIEdldENvbmZlcm1hUXVpY2tsaXN0IHtcbiAgZXhwb3J0IHR5cGUgVmFyaWFibGVzID0gR2V0Q29uZmVybWFRdWlja2xpc3RRdWVyeVZhcmlhYmxlcztcbiAgZXhwb3J0IHR5cGUgUXVlcnkgPSBHZXRDb25mZXJtYVF1aWNrbGlzdFF1ZXJ5O1xuICBleHBvcnQgdHlwZSBHZXRDb25mZXJtYVF1aWNrbGlzdCA9IEdldENvbmZlcm1hUXVpY2tsaXN0UXVlcnlbJ2dldENvbmZlcm1hUXVpY2tsaXN0J107XG4gIGV4cG9ydCB0eXBlIFJlc3VsdHMgPSBHZXRDb25mZXJtYVF1aWNrbGlzdFF1ZXJ5WydnZXRDb25mZXJtYVF1aWNrbGlzdCddWydyZXN1bHRzJ11bbnVtYmVyXTtcbiAgZXhwb3J0IHR5cGUgTG9jYXRpb24gPSBHZXRDb25mZXJtYVF1aWNrbGlzdFF1ZXJ5WydnZXRDb25mZXJtYVF1aWNrbGlzdCddWydyZXN1bHRzJ11bbnVtYmVyXVsnbG9jYXRpb24nXTtcbiAgZXhwb3J0IHR5cGUgQWRkcmVzcyA9IEdldENvbmZlcm1hUXVpY2tsaXN0UXVlcnlbJ2dldENvbmZlcm1hUXVpY2tsaXN0J11bJ3Jlc3VsdHMnXVtudW1iZXJdWydhZGRyZXNzJ107XG4gIGV4cG9ydCB0eXBlIFRyYW5zcG9ydHMgPSBHZXRDb25mZXJtYVF1aWNrbGlzdFF1ZXJ5WydnZXRDb25mZXJtYVF1aWNrbGlzdCddWydyZXN1bHRzJ11bbnVtYmVyXVsndHJhbnNwb3J0cyddW251bWJlcl07XG4gIGV4cG9ydCB0eXBlIFByZWZlcnJlZCA9IEdldENvbmZlcm1hUXVpY2tsaXN0UXVlcnlbJ2dldENvbmZlcm1hUXVpY2tsaXN0J11bJ3Jlc3VsdHMnXVtudW1iZXJdWydwcmVmZXJyZWQnXTtcbiAgZXhwb3J0IHR5cGUgVGFncyA9IEdldENvbmZlcm1hUXVpY2tsaXN0UXVlcnlbJ2dldENvbmZlcm1hUXVpY2tsaXN0J11bJ3Jlc3VsdHMnXVtudW1iZXJdWyd0YWdzJ11bbnVtYmVyXTtcbiAgZXhwb3J0IHR5cGUgQXZhaWxhYmxlUmF0ZXMgPSBHZXRDb25mZXJtYVF1aWNrbGlzdFF1ZXJ5WydnZXRDb25mZXJtYVF1aWNrbGlzdCddWydyZXN1bHRzJ11bbnVtYmVyXVsnYXZhaWxhYmxlUmF0ZXMnXTtcbiAgZXhwb3J0IHR5cGUgUm9vbXMgPSBHZXRDb25mZXJtYVF1aWNrbGlzdFF1ZXJ5WydnZXRDb25mZXJtYVF1aWNrbGlzdCddWydyZXN1bHRzJ11bbnVtYmVyXVsnYXZhaWxhYmxlUmF0ZXMnXVsncm9vbXMnXVtudW1iZXJdO1xuICBleHBvcnQgdHlwZSBDdXJyZW5jeUNvbnZlcnNpb24gPSBHZXRDb25mZXJtYVF1aWNrbGlzdFF1ZXJ5WydnZXRDb25mZXJtYVF1aWNrbGlzdCddWydyZXN1bHRzJ11bbnVtYmVyXVsnYXZhaWxhYmxlUmF0ZXMnXVsncm9vbXMnXVtudW1iZXJdWydjdXJyZW5jeUNvbnZlcnNpb24nXTtcbiAgZXhwb3J0IHR5cGUgRGVwb3NpdCA9IEdldENvbmZlcm1hUXVpY2tsaXN0UXVlcnlbJ2dldENvbmZlcm1hUXVpY2tsaXN0J11bJ3Jlc3VsdHMnXVtudW1iZXJdWydhdmFpbGFibGVSYXRlcyddWydyb29tcyddW251bWJlcl1bJ2RlcG9zaXQnXTtcbiAgZXhwb3J0IHR5cGUgTmlnaHRzID0gR2V0Q29uZmVybWFRdWlja2xpc3RRdWVyeVsnZ2V0Q29uZmVybWFRdWlja2xpc3QnXVsncmVzdWx0cyddW251bWJlcl1bJ2F2YWlsYWJsZVJhdGVzJ11bJ3Jvb21zJ11bbnVtYmVyXVsnbmlnaHRzJ11bbnVtYmVyXTtcbiAgZXhwb3J0IHR5cGUgUG9saWNpZXMgPSBHZXRDb25mZXJtYVF1aWNrbGlzdFF1ZXJ5WydnZXRDb25mZXJtYVF1aWNrbGlzdCddWydyZXN1bHRzJ11bbnVtYmVyXVsnYXZhaWxhYmxlUmF0ZXMnXVsncm9vbXMnXVtudW1iZXJdWydwb2xpY2llcyddO1xuICBleHBvcnQgdHlwZSBUYXggPSBHZXRDb25mZXJtYVF1aWNrbGlzdFF1ZXJ5WydnZXRDb25mZXJtYVF1aWNrbGlzdCddWydyZXN1bHRzJ11bbnVtYmVyXVsnYXZhaWxhYmxlUmF0ZXMnXVsncm9vbXMnXVtudW1iZXJdWyd0YXgnXTtcbiAgZXhwb3J0IHR5cGUgQWNjZXB0ZWRDYXJkcyA9IEdldENvbmZlcm1hUXVpY2tsaXN0UXVlcnlbJ2dldENvbmZlcm1hUXVpY2tsaXN0J11bJ3Jlc3VsdHMnXVtudW1iZXJdWydhdmFpbGFibGVSYXRlcyddWydyb29tcyddW251bWJlcl1bJ2FjY2VwdGVkQ2FyZHMnXVtudW1iZXJdO1xuICBleHBvcnQgdHlwZSBQYXltZW50VHlwZXMgPSBHZXRDb25mZXJtYVF1aWNrbGlzdFF1ZXJ5WydnZXRDb25mZXJtYVF1aWNrbGlzdCddWydyZXN1bHRzJ11bbnVtYmVyXVsnYXZhaWxhYmxlUmF0ZXMnXVsncm9vbXMnXVtudW1iZXJdWydwYXltZW50VHlwZXMnXVtudW1iZXJdO1xuICBleHBvcnQgdHlwZSBFcnJvcnMgPSBHZXRDb25mZXJtYVF1aWNrbGlzdFF1ZXJ5WydnZXRDb25mZXJtYVF1aWNrbGlzdCddWydlcnJvcnMnXVtudW1iZXJdO1xufVxuXG5leHBvcnQgbmFtZXNwYWNlIEdldFJhaWxTdGF0aW9uIHtcbiAgZXhwb3J0IHR5cGUgVmFyaWFibGVzID0gR2V0UmFpbFN0YXRpb25RdWVyeVZhcmlhYmxlcztcbiAgZXhwb3J0IHR5cGUgUXVlcnkgPSBHZXRSYWlsU3RhdGlvblF1ZXJ5O1xuICBleHBvcnQgdHlwZSBHZXRSYWlsU3RhdGlvbiA9IEdldFJhaWxTdGF0aW9uUXVlcnlbJ2dldFJhaWxTdGF0aW9uJ107XG4gIGV4cG9ydCB0eXBlIExvY2F0aW9uRGV0YWlscyA9IEdldFJhaWxTdGF0aW9uUXVlcnlbJ2dldFJhaWxTdGF0aW9uJ11bJ2xvY2F0aW9uRGV0YWlscyddO1xuICBleHBvcnQgdHlwZSBDb29yZGluYXRlcyA9IEdldFJhaWxTdGF0aW9uUXVlcnlbJ2dldFJhaWxTdGF0aW9uJ11bJ2xvY2F0aW9uRGV0YWlscyddWydjb29yZGluYXRlcyddO1xufVxuXG5leHBvcnQgbmFtZXNwYWNlIEdldFJhaWxjYXJkcyB7XG4gIGV4cG9ydCB0eXBlIFZhcmlhYmxlcyA9IEdldFJhaWxjYXJkc1F1ZXJ5VmFyaWFibGVzO1xuICBleHBvcnQgdHlwZSBRdWVyeSA9IEdldFJhaWxjYXJkc1F1ZXJ5O1xuICBleHBvcnQgdHlwZSBHZXRSYWlsY2FyZHMgPSBHZXRSYWlsY2FyZHNRdWVyeVsnZ2V0UmFpbGNhcmRzJ11bbnVtYmVyXTtcbn1cblxuZXhwb3J0IG5hbWVzcGFjZSBHZXRSaXNrQWxlcnRzIHtcbiAgZXhwb3J0IHR5cGUgVmFyaWFibGVzID0gR2V0Umlza0FsZXJ0c1F1ZXJ5VmFyaWFibGVzO1xuICBleHBvcnQgdHlwZSBRdWVyeSA9IEdldFJpc2tBbGVydHNRdWVyeTtcbiAgZXhwb3J0IHR5cGUgR2V0Umlza0FsZXJ0cyA9IEdldFJpc2tBbGVydHNRdWVyeVsnZ2V0Umlza0FsZXJ0cyddW251bWJlcl07XG59XG5cbmV4cG9ydCBuYW1lc3BhY2UgR2V0VXNlckFkZHJlc3NlcyB7XG4gIGV4cG9ydCB0eXBlIFZhcmlhYmxlcyA9IEdldFVzZXJBZGRyZXNzZXNRdWVyeVZhcmlhYmxlcztcbiAgZXhwb3J0IHR5cGUgUXVlcnkgPSBHZXRVc2VyQWRkcmVzc2VzUXVlcnk7XG4gIGV4cG9ydCB0eXBlIEdldFVzZXJBZGRyZXNzZXMgPSBHZXRVc2VyQWRkcmVzc2VzUXVlcnlbJ2dldFVzZXJBZGRyZXNzZXMnXVtudW1iZXJdO1xufVxuXG5leHBvcnQgbmFtZXNwYWNlIEdldFVzZXJDb21wYW55T2ZmaWNlcyB7XG4gIGV4cG9ydCB0eXBlIFZhcmlhYmxlcyA9IEdldFVzZXJDb21wYW55T2ZmaWNlc1F1ZXJ5VmFyaWFibGVzO1xuICBleHBvcnQgdHlwZSBRdWVyeSA9IEdldFVzZXJDb21wYW55T2ZmaWNlc1F1ZXJ5O1xuICBleHBvcnQgdHlwZSBHZXRVc2VyQ29tcGFueU9mZmljZXMgPSBHZXRVc2VyQ29tcGFueU9mZmljZXNRdWVyeVsnZ2V0VXNlckNvbXBhbnlPZmZpY2VzJ11bbnVtYmVyXTtcbiAgZXhwb3J0IHR5cGUgQWRkcmVzc2VzID0gR2V0VXNlckNvbXBhbnlPZmZpY2VzUXVlcnlbJ2dldFVzZXJDb21wYW55T2ZmaWNlcyddW251bWJlcl1bJ2FkZHJlc3NlcyddW251bWJlcl07XG59XG5cbmV4cG9ydCBuYW1lc3BhY2UgR2V0VXNlckN1cnJlbnRDYXJib25BbGxvd2FuY2Uge1xuICBleHBvcnQgdHlwZSBWYXJpYWJsZXMgPSBHZXRVc2VyQ3VycmVudENhcmJvbkFsbG93YW5jZVF1ZXJ5VmFyaWFibGVzO1xuICBleHBvcnQgdHlwZSBRdWVyeSA9IEdldFVzZXJDdXJyZW50Q2FyYm9uQWxsb3dhbmNlUXVlcnk7XG4gIGV4cG9ydCB0eXBlIEdldFVzZXJDdXJyZW50Q2FyYm9uQWxsb3dhbmNlID0gR2V0VXNlckN1cnJlbnRDYXJib25BbGxvd2FuY2VRdWVyeVsnZ2V0VXNlckN1cnJlbnRDYXJib25BbGxvd2FuY2UnXTtcbiAgZXhwb3J0IHR5cGUgQ29tcGFueSA9IEdldFVzZXJDdXJyZW50Q2FyYm9uQWxsb3dhbmNlUXVlcnlbJ2dldFVzZXJDdXJyZW50Q2FyYm9uQWxsb3dhbmNlJ11bJ2NvbXBhbnknXTtcbiAgZXhwb3J0IHR5cGUgT2ZmaWNlID0gR2V0VXNlckN1cnJlbnRDYXJib25BbGxvd2FuY2VRdWVyeVsnZ2V0VXNlckN1cnJlbnRDYXJib25BbGxvd2FuY2UnXVsnb2ZmaWNlJ107XG4gIGV4cG9ydCB0eXBlIFVzZXIgPSBHZXRVc2VyQ3VycmVudENhcmJvbkFsbG93YW5jZVF1ZXJ5WydnZXRVc2VyQ3VycmVudENhcmJvbkFsbG93YW5jZSddWyd1c2VyJ107XG4gIGV4cG9ydCB0eXBlIFBlcmlvZENvbnN1bXB0aW9uID0gR2V0VXNlckN1cnJlbnRDYXJib25BbGxvd2FuY2VRdWVyeVsnZ2V0VXNlckN1cnJlbnRDYXJib25BbGxvd2FuY2UnXVsncGVyaW9kQ29uc3VtcHRpb24nXVtudW1iZXJdO1xufVxuXG5leHBvcnQgbmFtZXNwYWNlIEdldFVzZXJNaUF1dG9TdWdnZXN0VmFsdWVzIHtcbiAgZXhwb3J0IHR5cGUgVmFyaWFibGVzID0gR2V0VXNlck1pQXV0b1N1Z2dlc3RWYWx1ZXNRdWVyeVZhcmlhYmxlcztcbiAgZXhwb3J0IHR5cGUgUXVlcnkgPSBHZXRVc2VyTWlBdXRvU3VnZ2VzdFZhbHVlc1F1ZXJ5O1xuICBleHBvcnQgdHlwZSBHZXRVc2VyTWlBdXRvU3VnZ2VzdFZhbHVlcyA9IEdldFVzZXJNaUF1dG9TdWdnZXN0VmFsdWVzUXVlcnlbJ2dldFVzZXJNSUF1dG9TdWdnZXN0VmFsdWVzJ11bbnVtYmVyXTtcbn1cblxuZXhwb3J0IG5hbWVzcGFjZSBHZXRVc2VyUGhvbmUge1xuICBleHBvcnQgdHlwZSBWYXJpYWJsZXMgPSBHZXRVc2VyUGhvbmVRdWVyeVZhcmlhYmxlcztcbiAgZXhwb3J0IHR5cGUgUXVlcnkgPSBHZXRVc2VyUGhvbmVRdWVyeTtcbiAgZXhwb3J0IHR5cGUgR2V0VXNlclBob25lTnVtYmVycyA9IEdldFVzZXJQaG9uZVF1ZXJ5WydnZXRVc2VyUGhvbmVOdW1iZXJzJ11bbnVtYmVyXTtcbn1cblxuZXhwb3J0IG5hbWVzcGFjZSBHZXRVc2VyUmVjZW50U2VhcmNoZXMge1xuICBleHBvcnQgdHlwZSBWYXJpYWJsZXMgPSBHZXRVc2VyUmVjZW50U2VhcmNoZXNRdWVyeVZhcmlhYmxlcztcbiAgZXhwb3J0IHR5cGUgUXVlcnkgPSBHZXRVc2VyUmVjZW50U2VhcmNoZXNRdWVyeTtcbiAgZXhwb3J0IHR5cGUgR2V0VXNlclJlY2VudFNlYXJjaGVzID0gR2V0VXNlclJlY2VudFNlYXJjaGVzUXVlcnlbJ2dldFVzZXJSZWNlbnRTZWFyY2hlcyddW251bWJlcl07XG4gIGV4cG9ydCB0eXBlIFRyYXZlbGxlcnMgPSBHZXRVc2VyUmVjZW50U2VhcmNoZXNRdWVyeVsnZ2V0VXNlclJlY2VudFNlYXJjaGVzJ11bbnVtYmVyXVsndHJhdmVsbGVycyddW251bWJlcl07XG59XG5cbmV4cG9ydCBuYW1lc3BhY2UgU2VhcmNoSG90ZWxzIHtcbiAgZXhwb3J0IHR5cGUgVmFyaWFibGVzID0gU2VhcmNoSG90ZWxzUXVlcnlWYXJpYWJsZXM7XG4gIGV4cG9ydCB0eXBlIFF1ZXJ5ID0gU2VhcmNoSG90ZWxzUXVlcnk7XG4gIGV4cG9ydCB0eXBlIFNlYXJjaEhvdGVscyA9IFNlYXJjaEhvdGVsc1F1ZXJ5WydzZWFyY2hIb3RlbHMnXTtcbiAgZXhwb3J0IHR5cGUgUmVzdWx0cyA9IFNlYXJjaEhvdGVsc1F1ZXJ5WydzZWFyY2hIb3RlbHMnXVsncmVzdWx0cyddW251bWJlcl07XG4gIGV4cG9ydCB0eXBlIExvY2F0aW9uID0gU2VhcmNoSG90ZWxzUXVlcnlbJ3NlYXJjaEhvdGVscyddWydyZXN1bHRzJ11bbnVtYmVyXVsnbG9jYXRpb24nXTtcbiAgZXhwb3J0IHR5cGUgQWRkcmVzcyA9IFNlYXJjaEhvdGVsc1F1ZXJ5WydzZWFyY2hIb3RlbHMnXVsncmVzdWx0cyddW251bWJlcl1bJ2FkZHJlc3MnXTtcbiAgZXhwb3J0IHR5cGUgVHJhbnNwb3J0cyA9IFNlYXJjaEhvdGVsc1F1ZXJ5WydzZWFyY2hIb3RlbHMnXVsncmVzdWx0cyddW251bWJlcl1bJ3RyYW5zcG9ydHMnXVtudW1iZXJdO1xuICBleHBvcnQgdHlwZSBQcmVmZXJyZWQgPSBTZWFyY2hIb3RlbHNRdWVyeVsnc2VhcmNoSG90ZWxzJ11bJ3Jlc3VsdHMnXVtudW1iZXJdWydwcmVmZXJyZWQnXTtcbiAgZXhwb3J0IHR5cGUgVGFncyA9IFNlYXJjaEhvdGVsc1F1ZXJ5WydzZWFyY2hIb3RlbHMnXVsncmVzdWx0cyddW251bWJlcl1bJ3RhZ3MnXVtudW1iZXJdO1xuICBleHBvcnQgdHlwZSBBdmFpbGFibGVSYXRlcyA9IFNlYXJjaEhvdGVsc1F1ZXJ5WydzZWFyY2hIb3RlbHMnXVsncmVzdWx0cyddW251bWJlcl1bJ2F2YWlsYWJsZVJhdGVzJ107XG4gIGV4cG9ydCB0eXBlIFJvb21zID0gU2VhcmNoSG90ZWxzUXVlcnlbJ3NlYXJjaEhvdGVscyddWydyZXN1bHRzJ11bbnVtYmVyXVsnYXZhaWxhYmxlUmF0ZXMnXVsncm9vbXMnXVtudW1iZXJdO1xuICBleHBvcnQgdHlwZSBDdXJyZW5jeUNvbnZlcnNpb24gPSBTZWFyY2hIb3RlbHNRdWVyeVsnc2VhcmNoSG90ZWxzJ11bJ3Jlc3VsdHMnXVtudW1iZXJdWydhdmFpbGFibGVSYXRlcyddWydyb29tcyddW251bWJlcl1bJ2N1cnJlbmN5Q29udmVyc2lvbiddO1xuICBleHBvcnQgdHlwZSBEZXBvc2l0ID0gU2VhcmNoSG90ZWxzUXVlcnlbJ3NlYXJjaEhvdGVscyddWydyZXN1bHRzJ11bbnVtYmVyXVsnYXZhaWxhYmxlUmF0ZXMnXVsncm9vbXMnXVtudW1iZXJdWydkZXBvc2l0J107XG4gIGV4cG9ydCB0eXBlIE5pZ2h0cyA9IFNlYXJjaEhvdGVsc1F1ZXJ5WydzZWFyY2hIb3RlbHMnXVsncmVzdWx0cyddW251bWJlcl1bJ2F2YWlsYWJsZVJhdGVzJ11bJ3Jvb21zJ11bbnVtYmVyXVsnbmlnaHRzJ11bbnVtYmVyXTtcbiAgZXhwb3J0IHR5cGUgUG9saWNpZXMgPSBTZWFyY2hIb3RlbHNRdWVyeVsnc2VhcmNoSG90ZWxzJ11bJ3Jlc3VsdHMnXVtudW1iZXJdWydhdmFpbGFibGVSYXRlcyddWydyb29tcyddW251bWJlcl1bJ3BvbGljaWVzJ107XG4gIGV4cG9ydCB0eXBlIFRheCA9IFNlYXJjaEhvdGVsc1F1ZXJ5WydzZWFyY2hIb3RlbHMnXVsncmVzdWx0cyddW251bWJlcl1bJ2F2YWlsYWJsZVJhdGVzJ11bJ3Jvb21zJ11bbnVtYmVyXVsndGF4J107XG4gIGV4cG9ydCB0eXBlIEFjY2VwdGVkQ2FyZHMgPSBTZWFyY2hIb3RlbHNRdWVyeVsnc2VhcmNoSG90ZWxzJ11bJ3Jlc3VsdHMnXVtudW1iZXJdWydhdmFpbGFibGVSYXRlcyddWydyb29tcyddW251bWJlcl1bJ2FjY2VwdGVkQ2FyZHMnXVtudW1iZXJdO1xuICBleHBvcnQgdHlwZSBQYXltZW50VHlwZXMgPSBTZWFyY2hIb3RlbHNRdWVyeVsnc2VhcmNoSG90ZWxzJ11bJ3Jlc3VsdHMnXVtudW1iZXJdWydhdmFpbGFibGVSYXRlcyddWydyb29tcyddW251bWJlcl1bJ3BheW1lbnRUeXBlcyddW251bWJlcl07XG4gIGV4cG9ydCB0eXBlIEVycm9ycyA9IFNlYXJjaEhvdGVsc1F1ZXJ5WydzZWFyY2hIb3RlbHMnXVsnZXJyb3JzJ11bbnVtYmVyXTtcbiAgZXhwb3J0IHR5cGUgU2VydmljZSA9IFNlYXJjaEhvdGVsc1F1ZXJ5WydzZWFyY2hIb3RlbHMnXVsnZXJyb3JzJ11bbnVtYmVyXVsnc2VydmljZSddO1xufVxuXG5leHBvcnQgbmFtZXNwYWNlIEdldE11bHRpcGxlSG90ZWxzQXZhaWxhYmlsaXR5IHtcbiAgZXhwb3J0IHR5cGUgVmFyaWFibGVzID0gR2V0TXVsdGlwbGVIb3RlbHNBdmFpbGFiaWxpdHlRdWVyeVZhcmlhYmxlcztcbiAgZXhwb3J0IHR5cGUgUXVlcnkgPSBHZXRNdWx0aXBsZUhvdGVsc0F2YWlsYWJpbGl0eVF1ZXJ5O1xuICBleHBvcnQgdHlwZSBHZXRNdWx0aXBsZUhvdGVsc0F2YWlsYWJpbGl0eSA9IEdldE11bHRpcGxlSG90ZWxzQXZhaWxhYmlsaXR5UXVlcnlbJ2dldE11bHRpcGxlSG90ZWxzQXZhaWxhYmlsaXR5J107XG4gIGV4cG9ydCB0eXBlIFJlc3VsdHMgPSBHZXRNdWx0aXBsZUhvdGVsc0F2YWlsYWJpbGl0eVF1ZXJ5WydnZXRNdWx0aXBsZUhvdGVsc0F2YWlsYWJpbGl0eSddWydyZXN1bHRzJ11bbnVtYmVyXTtcbiAgZXhwb3J0IHR5cGUgUm9vbXMgPSBHZXRNdWx0aXBsZUhvdGVsc0F2YWlsYWJpbGl0eVF1ZXJ5WydnZXRNdWx0aXBsZUhvdGVsc0F2YWlsYWJpbGl0eSddWydyZXN1bHRzJ11bbnVtYmVyXVsncm9vbXMnXVtudW1iZXJdO1xuICBleHBvcnQgdHlwZSBDdXJyZW5jeUNvbnZlcnNpb24gPSBHZXRNdWx0aXBsZUhvdGVsc0F2YWlsYWJpbGl0eVF1ZXJ5WydnZXRNdWx0aXBsZUhvdGVsc0F2YWlsYWJpbGl0eSddWydyZXN1bHRzJ11bbnVtYmVyXVsncm9vbXMnXVtudW1iZXJdWydjdXJyZW5jeUNvbnZlcnNpb24nXTtcbiAgZXhwb3J0IHR5cGUgRGVwb3NpdCA9IEdldE11bHRpcGxlSG90ZWxzQXZhaWxhYmlsaXR5UXVlcnlbJ2dldE11bHRpcGxlSG90ZWxzQXZhaWxhYmlsaXR5J11bJ3Jlc3VsdHMnXVtudW1iZXJdWydyb29tcyddW251bWJlcl1bJ2RlcG9zaXQnXTtcbiAgZXhwb3J0IHR5cGUgTmlnaHRzID0gR2V0TXVsdGlwbGVIb3RlbHNBdmFpbGFiaWxpdHlRdWVyeVsnZ2V0TXVsdGlwbGVIb3RlbHNBdmFpbGFiaWxpdHknXVsncmVzdWx0cyddW251bWJlcl1bJ3Jvb21zJ11bbnVtYmVyXVsnbmlnaHRzJ11bbnVtYmVyXTtcbiAgZXhwb3J0IHR5cGUgUG9saWNpZXMgPSBHZXRNdWx0aXBsZUhvdGVsc0F2YWlsYWJpbGl0eVF1ZXJ5WydnZXRNdWx0aXBsZUhvdGVsc0F2YWlsYWJpbGl0eSddWydyZXN1bHRzJ11bbnVtYmVyXVsncm9vbXMnXVtudW1iZXJdWydwb2xpY2llcyddO1xuICBleHBvcnQgdHlwZSBUYXggPSBHZXRNdWx0aXBsZUhvdGVsc0F2YWlsYWJpbGl0eVF1ZXJ5WydnZXRNdWx0aXBsZUhvdGVsc0F2YWlsYWJpbGl0eSddWydyZXN1bHRzJ11bbnVtYmVyXVsncm9vbXMnXVtudW1iZXJdWyd0YXgnXTtcbiAgZXhwb3J0IHR5cGUgQWNjZXB0ZWRDYXJkcyA9IEdldE11bHRpcGxlSG90ZWxzQXZhaWxhYmlsaXR5UXVlcnlbJ2dldE11bHRpcGxlSG90ZWxzQXZhaWxhYmlsaXR5J11bJ3Jlc3VsdHMnXVtudW1iZXJdWydyb29tcyddW251bWJlcl1bJ2FjY2VwdGVkQ2FyZHMnXVtudW1iZXJdO1xuICBleHBvcnQgdHlwZSBQYXltZW50VHlwZXMgPSBHZXRNdWx0aXBsZUhvdGVsc0F2YWlsYWJpbGl0eVF1ZXJ5WydnZXRNdWx0aXBsZUhvdGVsc0F2YWlsYWJpbGl0eSddWydyZXN1bHRzJ11bbnVtYmVyXVsncm9vbXMnXVtudW1iZXJdWydwYXltZW50VHlwZXMnXVtudW1iZXJdO1xuICBleHBvcnQgdHlwZSBFcnJvcnMgPSBHZXRNdWx0aXBsZUhvdGVsc0F2YWlsYWJpbGl0eVF1ZXJ5WydnZXRNdWx0aXBsZUhvdGVsc0F2YWlsYWJpbGl0eSddWydlcnJvcnMnXVtudW1iZXJdO1xufVxuXG5leHBvcnQgbmFtZXNwYWNlIElzUG9zdGNvZGVWYWxpZCB7XG4gIGV4cG9ydCB0eXBlIFZhcmlhYmxlcyA9IElzUG9zdGNvZGVWYWxpZFF1ZXJ5VmFyaWFibGVzO1xuICBleHBvcnQgdHlwZSBRdWVyeSA9IElzUG9zdGNvZGVWYWxpZFF1ZXJ5O1xufVxuXG5leHBvcnQgbmFtZXNwYWNlIExvY2F0aW9uX0RldGFpbCB7XG4gIGV4cG9ydCB0eXBlIEZyYWdtZW50ID0gTG9jYXRpb25fRGV0YWlsRnJhZ21lbnQ7XG4gIGV4cG9ydCB0eXBlIENvb3JkaW5hdGVzID0gTG9jYXRpb25fRGV0YWlsRnJhZ21lbnRbJ2Nvb3JkaW5hdGVzJ107XG59XG5cbmV4cG9ydCBuYW1lc3BhY2UgU2VhcmNoQWlycG9ydHMge1xuICBleHBvcnQgdHlwZSBWYXJpYWJsZXMgPSBTZWFyY2hBaXJwb3J0c1F1ZXJ5VmFyaWFibGVzO1xuICBleHBvcnQgdHlwZSBRdWVyeSA9IFNlYXJjaEFpcnBvcnRzUXVlcnk7XG4gIGV4cG9ydCB0eXBlIFNlYXJjaEFpcnBvcnRzID0gU2VhcmNoQWlycG9ydHNRdWVyeVsnc2VhcmNoQWlycG9ydHMnXTtcbiAgZXhwb3J0IHR5cGUgSWF0YU1hdGNoID0gU2VhcmNoQWlycG9ydHNRdWVyeVsnc2VhcmNoQWlycG9ydHMnXVsnaWF0YU1hdGNoJ107XG4gIGV4cG9ydCB0eXBlIExvY2F0aW9uRGV0YWlscyA9IFNlYXJjaEFpcnBvcnRzUXVlcnlbJ3NlYXJjaEFpcnBvcnRzJ11bJ2lhdGFNYXRjaCddWydsb2NhdGlvbkRldGFpbHMnXTtcbiAgZXhwb3J0IHR5cGUgR2VuZXJhbE1hdGNoZXMgPSBTZWFyY2hBaXJwb3J0c1F1ZXJ5WydzZWFyY2hBaXJwb3J0cyddWydnZW5lcmFsTWF0Y2hlcyddW251bWJlcl07XG4gIGV4cG9ydCB0eXBlIF9Mb2NhdGlvbkRldGFpbHMgPSBTZWFyY2hBaXJwb3J0c1F1ZXJ5WydzZWFyY2hBaXJwb3J0cyddWydnZW5lcmFsTWF0Y2hlcyddW251bWJlcl1bJ2xvY2F0aW9uRGV0YWlscyddO1xufVxuXG5leHBvcnQgbmFtZXNwYWNlIFNlYXJjaExvdW5nZXMge1xuICBleHBvcnQgdHlwZSBWYXJpYWJsZXMgPSBTZWFyY2hMb3VuZ2VzUXVlcnlWYXJpYWJsZXM7XG4gIGV4cG9ydCB0eXBlIFF1ZXJ5ID0gU2VhcmNoTG91bmdlc1F1ZXJ5O1xuICBleHBvcnQgdHlwZSBTZWFyY2hMb3VuZ2VzID0gU2VhcmNoTG91bmdlc1F1ZXJ5WydzZWFyY2hMb3VuZ2VzJ107XG4gIGV4cG9ydCB0eXBlIFJlc3VsdHMgPSBTZWFyY2hMb3VuZ2VzUXVlcnlbJ3NlYXJjaExvdW5nZXMnXVsncmVzdWx0cyddW251bWJlcl07XG4gIGV4cG9ydCB0eXBlIExvdW5nZSA9IFNlYXJjaExvdW5nZXNRdWVyeVsnc2VhcmNoTG91bmdlcyddWydyZXN1bHRzJ11bbnVtYmVyXVsnbG91bmdlJ107XG4gIGV4cG9ydCB0eXBlIEVycm9ycyA9IFNlYXJjaExvdW5nZXNRdWVyeVsnc2VhcmNoTG91bmdlcyddWydlcnJvcnMnXVtudW1iZXJdO1xufVxuXG5leHBvcnQgbmFtZXNwYWNlIE1vdmVJdGVtVG9BRGlmZmVyZW50QmFza2V0IHtcbiAgZXhwb3J0IHR5cGUgVmFyaWFibGVzID0gTW92ZUl0ZW1Ub0FEaWZmZXJlbnRCYXNrZXRNdXRhdGlvblZhcmlhYmxlcztcbiAgZXhwb3J0IHR5cGUgTXV0YXRpb24gPSBNb3ZlSXRlbVRvQURpZmZlcmVudEJhc2tldE11dGF0aW9uO1xuICBleHBvcnQgdHlwZSBNb3ZlSXRlbVRvQURpZmZlcmVudEJhc2tldCA9IE1vdmVJdGVtVG9BRGlmZmVyZW50QmFza2V0TXV0YXRpb25bJ21vdmVJdGVtVG9BRGlmZmVyZW50QmFza2V0J107XG59XG5cbmV4cG9ydCBuYW1lc3BhY2UgU2VhcmNoUGFya2luZyB7XG4gIGV4cG9ydCB0eXBlIFZhcmlhYmxlcyA9IFNlYXJjaFBhcmtpbmdRdWVyeVZhcmlhYmxlcztcbiAgZXhwb3J0IHR5cGUgUXVlcnkgPSBTZWFyY2hQYXJraW5nUXVlcnk7XG4gIGV4cG9ydCB0eXBlIFNlYXJjaFBhcmtpbmcgPSBTZWFyY2hQYXJraW5nUXVlcnlbJ3NlYXJjaFBhcmtpbmcnXTtcbiAgZXhwb3J0IHR5cGUgUmVzdWx0cyA9IFNlYXJjaFBhcmtpbmdRdWVyeVsnc2VhcmNoUGFya2luZyddWydyZXN1bHRzJ11bbnVtYmVyXTtcbiAgZXhwb3J0IHR5cGUgQ2FyUGFyayA9IFNlYXJjaFBhcmtpbmdRdWVyeVsnc2VhcmNoUGFya2luZyddWydyZXN1bHRzJ11bbnVtYmVyXVsnY2FyUGFyayddO1xuICBleHBvcnQgdHlwZSBFcnJvcnMgPSBTZWFyY2hQYXJraW5nUXVlcnlbJ3NlYXJjaFBhcmtpbmcnXVsnZXJyb3JzJ11bbnVtYmVyXTtcbn1cblxuZXhwb3J0IG5hbWVzcGFjZSBTZWFyY2hSYWlsIHtcbiAgZXhwb3J0IHR5cGUgVmFyaWFibGVzID0gU2VhcmNoUmFpbFF1ZXJ5VmFyaWFibGVzO1xuICBleHBvcnQgdHlwZSBRdWVyeSA9IFNlYXJjaFJhaWxRdWVyeTtcbiAgZXhwb3J0IHR5cGUgU2VhcmNoUmFpbCA9IFNlYXJjaFJhaWxRdWVyeVsnc2VhcmNoUmFpbCddO1xuICBleHBvcnQgdHlwZSBSZXN1bHRzID0gU2VhcmNoUmFpbFF1ZXJ5WydzZWFyY2hSYWlsJ11bJ3Jlc3VsdHMnXVtudW1iZXJdO1xuICBleHBvcnQgdHlwZSBPdXRib3VuZCA9IFNlYXJjaFJhaWxRdWVyeVsnc2VhcmNoUmFpbCddWydyZXN1bHRzJ11bbnVtYmVyXVsnb3V0Ym91bmQnXVtudW1iZXJdO1xuICBleHBvcnQgdHlwZSBJZGVudGlmaWVycyA9IFNlYXJjaFJhaWxRdWVyeVsnc2VhcmNoUmFpbCddWydyZXN1bHRzJ11bbnVtYmVyXVsnb3V0Ym91bmQnXVtudW1iZXJdWydpZGVudGlmaWVycyddO1xuICBleHBvcnQgdHlwZSBUcmF2ZWxsZXJzID0gU2VhcmNoUmFpbFF1ZXJ5WydzZWFyY2hSYWlsJ11bJ3Jlc3VsdHMnXVtudW1iZXJdWydvdXRib3VuZCddW251bWJlcl1bJ3RyYXZlbGxlcnMnXVtudW1iZXJdO1xuICBleHBvcnQgdHlwZSBTZWdtZW50cyA9IFNlYXJjaFJhaWxRdWVyeVsnc2VhcmNoUmFpbCddWydyZXN1bHRzJ11bbnVtYmVyXVsnb3V0Ym91bmQnXVtudW1iZXJdWydzZWdtZW50cyddW251bWJlcl07XG4gIGV4cG9ydCB0eXBlIFNlYXRQcmVmZXJlbmNlVHlwZXMgPSBTZWFyY2hSYWlsUXVlcnlbJ3NlYXJjaFJhaWwnXVsncmVzdWx0cyddW251bWJlcl1bJ291dGJvdW5kJ11bbnVtYmVyXVsnc2VnbWVudHMnXVtudW1iZXJdWydzZWF0UHJlZmVyZW5jZVR5cGVzJ11bbnVtYmVyXTtcbiAgZXhwb3J0IHR5cGUgU2VhdHMgPSBTZWFyY2hSYWlsUXVlcnlbJ3NlYXJjaFJhaWwnXVsncmVzdWx0cyddW251bWJlcl1bJ291dGJvdW5kJ11bbnVtYmVyXVsnc2VnbWVudHMnXVtudW1iZXJdWydzZWF0cyddW251bWJlcl07XG4gIGV4cG9ydCB0eXBlIENhbGxpbmdQb2ludHMgPSBTZWFyY2hSYWlsUXVlcnlbJ3NlYXJjaFJhaWwnXVsncmVzdWx0cyddW251bWJlcl1bJ291dGJvdW5kJ11bbnVtYmVyXVsnc2VnbWVudHMnXVtudW1iZXJdWydjYWxsaW5nUG9pbnRzJ11bbnVtYmVyXTtcbiAgZXhwb3J0IHR5cGUgUHJvdmlkZXJzID0gU2VhcmNoUmFpbFF1ZXJ5WydzZWFyY2hSYWlsJ11bJ3Jlc3VsdHMnXVtudW1iZXJdWydvdXRib3VuZCddW251bWJlcl1bJ3Byb3ZpZGVycyddW251bWJlcl07XG4gIGV4cG9ydCB0eXBlIENoZWFwZXN0VGlja2V0ID0gU2VhcmNoUmFpbFF1ZXJ5WydzZWFyY2hSYWlsJ11bJ3Jlc3VsdHMnXVtudW1iZXJdWydvdXRib3VuZCddW251bWJlcl1bJ3Byb3ZpZGVycyddW251bWJlcl1bJ2NoZWFwZXN0VGlja2V0J107XG4gIGV4cG9ydCB0eXBlIF9JZGVudGlmaWVycyA9IFNlYXJjaFJhaWxRdWVyeVsnc2VhcmNoUmFpbCddWydyZXN1bHRzJ11bbnVtYmVyXVsnb3V0Ym91bmQnXVtudW1iZXJdWydwcm92aWRlcnMnXVtudW1iZXJdWydjaGVhcGVzdFRpY2tldCddWydpZGVudGlmaWVycyddO1xuICBleHBvcnQgdHlwZSBUZXJtcyA9IFNlYXJjaFJhaWxRdWVyeVsnc2VhcmNoUmFpbCddWydyZXN1bHRzJ11bbnVtYmVyXVsnb3V0Ym91bmQnXVtudW1iZXJdWydwcm92aWRlcnMnXVtudW1iZXJdWydjaGVhcGVzdFRpY2tldCddWyd0ZXJtcyddO1xuICBleHBvcnQgdHlwZSBEeW5hbWljQ29uZGl0aW9ucyA9IFNlYXJjaFJhaWxRdWVyeVsnc2VhcmNoUmFpbCddWydyZXN1bHRzJ11bbnVtYmVyXVsnb3V0Ym91bmQnXVtudW1iZXJdWydwcm92aWRlcnMnXVtudW1iZXJdWydjaGVhcGVzdFRpY2tldCddWyd0ZXJtcyddWydkeW5hbWljQ29uZGl0aW9ucyddW251bWJlcl07XG4gIGV4cG9ydCB0eXBlIFRpY2tldHMgPSBTZWFyY2hSYWlsUXVlcnlbJ3NlYXJjaFJhaWwnXVsncmVzdWx0cyddW251bWJlcl1bJ291dGJvdW5kJ11bbnVtYmVyXVsncHJvdmlkZXJzJ11bbnVtYmVyXVsnY2hlYXBlc3RUaWNrZXQnXVsndGlja2V0cyddW251bWJlcl07XG4gIGV4cG9ydCB0eXBlIF9TZWdtZW50cyA9IFNlYXJjaFJhaWxRdWVyeVsnc2VhcmNoUmFpbCddWydyZXN1bHRzJ11bbnVtYmVyXVsnb3V0Ym91bmQnXVtudW1iZXJdWydwcm92aWRlcnMnXVtudW1iZXJdWydjaGVhcGVzdFRpY2tldCddWyd0aWNrZXRzJ11bbnVtYmVyXVsnc2VnbWVudHMnXVtudW1iZXJdO1xuICBleHBvcnQgdHlwZSBUaWNrZXRRdWV1ZUxpc3QgPSBTZWFyY2hSYWlsUXVlcnlbJ3NlYXJjaFJhaWwnXVsncmVzdWx0cyddW251bWJlcl1bJ291dGJvdW5kJ11bbnVtYmVyXVsncHJvdmlkZXJzJ11bbnVtYmVyXVsnY2hlYXBlc3RUaWNrZXQnXVsndGlja2V0UXVldWVMaXN0J11bbnVtYmVyXTtcbiAgZXhwb3J0IHR5cGUgQWNjb3VudHNMaXN0ID0gU2VhcmNoUmFpbFF1ZXJ5WydzZWFyY2hSYWlsJ11bJ3Jlc3VsdHMnXVtudW1iZXJdWydvdXRib3VuZCddW251bWJlcl1bJ3Byb3ZpZGVycyddW251bWJlcl1bJ2NoZWFwZXN0VGlja2V0J11bJ2FjY291bnRzTGlzdCddW251bWJlcl07XG4gIGV4cG9ydCB0eXBlIFRpY2tldE9wdGlvbnMgPSBTZWFyY2hSYWlsUXVlcnlbJ3NlYXJjaFJhaWwnXVsncmVzdWx0cyddW251bWJlcl1bJ291dGJvdW5kJ11bbnVtYmVyXVsncHJvdmlkZXJzJ11bbnVtYmVyXVsndGlja2V0T3B0aW9ucyddW251bWJlcl07XG4gIGV4cG9ydCB0eXBlIF9fSWRlbnRpZmllcnMgPSBTZWFyY2hSYWlsUXVlcnlbJ3NlYXJjaFJhaWwnXVsncmVzdWx0cyddW251bWJlcl1bJ291dGJvdW5kJ11bbnVtYmVyXVsncHJvdmlkZXJzJ11bbnVtYmVyXVsndGlja2V0T3B0aW9ucyddW251bWJlcl1bJ2lkZW50aWZpZXJzJ107XG4gIGV4cG9ydCB0eXBlIEFsbG93ZWRXaXRoID0gU2VhcmNoUmFpbFF1ZXJ5WydzZWFyY2hSYWlsJ11bJ3Jlc3VsdHMnXVtudW1iZXJdWydvdXRib3VuZCddW251bWJlcl1bJ3Byb3ZpZGVycyddW251bWJlcl1bJ3RpY2tldE9wdGlvbnMnXVtudW1iZXJdWydpZGVudGlmaWVycyddWydhbGxvd2VkV2l0aCddW251bWJlcl07XG4gIGV4cG9ydCB0eXBlIF9UZXJtcyA9IFNlYXJjaFJhaWxRdWVyeVsnc2VhcmNoUmFpbCddWydyZXN1bHRzJ11bbnVtYmVyXVsnb3V0Ym91bmQnXVtudW1iZXJdWydwcm92aWRlcnMnXVtudW1iZXJdWyd0aWNrZXRPcHRpb25zJ11bbnVtYmVyXVsndGVybXMnXTtcbiAgZXhwb3J0IHR5cGUgX1RpY2tldHMgPSBTZWFyY2hSYWlsUXVlcnlbJ3NlYXJjaFJhaWwnXVsncmVzdWx0cyddW251bWJlcl1bJ291dGJvdW5kJ11bbnVtYmVyXVsncHJvdmlkZXJzJ11bbnVtYmVyXVsndGlja2V0T3B0aW9ucyddW251bWJlcl1bJ3RpY2tldHMnXVtudW1iZXJdO1xuICBleHBvcnQgdHlwZSBfVGlja2V0UXVldWVMaXN0ID0gU2VhcmNoUmFpbFF1ZXJ5WydzZWFyY2hSYWlsJ11bJ3Jlc3VsdHMnXVtudW1iZXJdWydvdXRib3VuZCddW251bWJlcl1bJ3Byb3ZpZGVycyddW251bWJlcl1bJ3RpY2tldE9wdGlvbnMnXVtudW1iZXJdWyd0aWNrZXRRdWV1ZUxpc3QnXVtudW1iZXJdO1xuICBleHBvcnQgdHlwZSBfQWNjb3VudHNMaXN0ID0gU2VhcmNoUmFpbFF1ZXJ5WydzZWFyY2hSYWlsJ11bJ3Jlc3VsdHMnXVtudW1iZXJdWydvdXRib3VuZCddW251bWJlcl1bJ3Byb3ZpZGVycyddW251bWJlcl1bJ3RpY2tldE9wdGlvbnMnXVtudW1iZXJdWydhY2NvdW50c0xpc3QnXVtudW1iZXJdO1xuICBleHBvcnQgdHlwZSBCb29rZWRUaWNrZXQgPSBTZWFyY2hSYWlsUXVlcnlbJ3NlYXJjaFJhaWwnXVsncmVzdWx0cyddW251bWJlcl1bJ291dGJvdW5kJ11bbnVtYmVyXVsncHJvdmlkZXJzJ11bbnVtYmVyXVsnYm9va2VkVGlja2V0J107XG4gIGV4cG9ydCB0eXBlIF9fX0lkZW50aWZpZXJzID0gU2VhcmNoUmFpbFF1ZXJ5WydzZWFyY2hSYWlsJ11bJ3Jlc3VsdHMnXVtudW1iZXJdWydvdXRib3VuZCddW251bWJlcl1bJ3Byb3ZpZGVycyddW251bWJlcl1bJ2Jvb2tlZFRpY2tldCddWydpZGVudGlmaWVycyddO1xuICBleHBvcnQgdHlwZSBfX1Rlcm1zID0gU2VhcmNoUmFpbFF1ZXJ5WydzZWFyY2hSYWlsJ11bJ3Jlc3VsdHMnXVtudW1iZXJdWydvdXRib3VuZCddW251bWJlcl1bJ3Byb3ZpZGVycyddW251bWJlcl1bJ2Jvb2tlZFRpY2tldCddWyd0ZXJtcyddO1xuICBleHBvcnQgdHlwZSBfX1RpY2tldHMgPSBTZWFyY2hSYWlsUXVlcnlbJ3NlYXJjaFJhaWwnXVsncmVzdWx0cyddW251bWJlcl1bJ291dGJvdW5kJ11bbnVtYmVyXVsncHJvdmlkZXJzJ11bbnVtYmVyXVsnYm9va2VkVGlja2V0J11bJ3RpY2tldHMnXVtudW1iZXJdO1xuICBleHBvcnQgdHlwZSBfX1RpY2tldFF1ZXVlTGlzdCA9IFNlYXJjaFJhaWxRdWVyeVsnc2VhcmNoUmFpbCddWydyZXN1bHRzJ11bbnVtYmVyXVsnb3V0Ym91bmQnXVtudW1iZXJdWydwcm92aWRlcnMnXVtudW1iZXJdWydib29rZWRUaWNrZXQnXVsndGlja2V0UXVldWVMaXN0J11bbnVtYmVyXTtcbiAgZXhwb3J0IHR5cGUgX19BY2NvdW50c0xpc3QgPSBTZWFyY2hSYWlsUXVlcnlbJ3NlYXJjaFJhaWwnXVsncmVzdWx0cyddW251bWJlcl1bJ291dGJvdW5kJ11bbnVtYmVyXVsncHJvdmlkZXJzJ11bbnVtYmVyXVsnYm9va2VkVGlja2V0J11bJ2FjY291bnRzTGlzdCddW251bWJlcl07XG4gIGV4cG9ydCB0eXBlIFRpY2tldEV4dHJhcyA9IFNlYXJjaFJhaWxRdWVyeVsnc2VhcmNoUmFpbCddWydyZXN1bHRzJ11bbnVtYmVyXVsnb3V0Ym91bmQnXVtudW1iZXJdWyd0aWNrZXRFeHRyYXMnXVtudW1iZXJdO1xuICBleHBvcnQgdHlwZSBfX19fSWRlbnRpZmllcnMgPSBTZWFyY2hSYWlsUXVlcnlbJ3NlYXJjaFJhaWwnXVsncmVzdWx0cyddW251bWJlcl1bJ291dGJvdW5kJ11bbnVtYmVyXVsndGlja2V0RXh0cmFzJ11bbnVtYmVyXVsnaWRlbnRpZmllcnMnXTtcbiAgZXhwb3J0IHR5cGUgUGx1c0J1cyA9IFNlYXJjaFJhaWxRdWVyeVsnc2VhcmNoUmFpbCddWydyZXN1bHRzJ11bbnVtYmVyXVsnb3V0Ym91bmQnXVtudW1iZXJdWydwbHVzQnVzJ107XG4gIGV4cG9ydCB0eXBlIFJldHVybiA9IFNlYXJjaFJhaWxRdWVyeVsnc2VhcmNoUmFpbCddWydyZXN1bHRzJ11bbnVtYmVyXVsncmV0dXJuJ11bbnVtYmVyXTtcbiAgZXhwb3J0IHR5cGUgX19fX19JZGVudGlmaWVycyA9IFNlYXJjaFJhaWxRdWVyeVsnc2VhcmNoUmFpbCddWydyZXN1bHRzJ11bbnVtYmVyXVsncmV0dXJuJ11bbnVtYmVyXVsnaWRlbnRpZmllcnMnXTtcbiAgZXhwb3J0IHR5cGUgX1RyYXZlbGxlcnMgPSBTZWFyY2hSYWlsUXVlcnlbJ3NlYXJjaFJhaWwnXVsncmVzdWx0cyddW251bWJlcl1bJ3JldHVybiddW251bWJlcl1bJ3RyYXZlbGxlcnMnXVtudW1iZXJdO1xuICBleHBvcnQgdHlwZSBfX1NlZ21lbnRzID0gU2VhcmNoUmFpbFF1ZXJ5WydzZWFyY2hSYWlsJ11bJ3Jlc3VsdHMnXVtudW1iZXJdWydyZXR1cm4nXVtudW1iZXJdWydzZWdtZW50cyddW251bWJlcl07XG4gIGV4cG9ydCB0eXBlIF9DYWxsaW5nUG9pbnRzID0gU2VhcmNoUmFpbFF1ZXJ5WydzZWFyY2hSYWlsJ11bJ3Jlc3VsdHMnXVtudW1iZXJdWydyZXR1cm4nXVtudW1iZXJdWydzZWdtZW50cyddW251bWJlcl1bJ2NhbGxpbmdQb2ludHMnXVtudW1iZXJdO1xuICBleHBvcnQgdHlwZSBfUHJvdmlkZXJzID0gU2VhcmNoUmFpbFF1ZXJ5WydzZWFyY2hSYWlsJ11bJ3Jlc3VsdHMnXVtudW1iZXJdWydyZXR1cm4nXVtudW1iZXJdWydwcm92aWRlcnMnXVtudW1iZXJdO1xuICBleHBvcnQgdHlwZSBfQ2hlYXBlc3RUaWNrZXQgPSBTZWFyY2hSYWlsUXVlcnlbJ3NlYXJjaFJhaWwnXVsncmVzdWx0cyddW251bWJlcl1bJ3JldHVybiddW251bWJlcl1bJ3Byb3ZpZGVycyddW251bWJlcl1bJ2NoZWFwZXN0VGlja2V0J107XG4gIGV4cG9ydCB0eXBlIF9fX19fX0lkZW50aWZpZXJzID0gU2VhcmNoUmFpbFF1ZXJ5WydzZWFyY2hSYWlsJ11bJ3Jlc3VsdHMnXVtudW1iZXJdWydyZXR1cm4nXVtudW1iZXJdWydwcm92aWRlcnMnXVtudW1iZXJdWydjaGVhcGVzdFRpY2tldCddWydpZGVudGlmaWVycyddO1xuICBleHBvcnQgdHlwZSBfX19UZXJtcyA9IFNlYXJjaFJhaWxRdWVyeVsnc2VhcmNoUmFpbCddWydyZXN1bHRzJ11bbnVtYmVyXVsncmV0dXJuJ11bbnVtYmVyXVsncHJvdmlkZXJzJ11bbnVtYmVyXVsnY2hlYXBlc3RUaWNrZXQnXVsndGVybXMnXTtcbiAgZXhwb3J0IHR5cGUgX0R5bmFtaWNDb25kaXRpb25zID0gU2VhcmNoUmFpbFF1ZXJ5WydzZWFyY2hSYWlsJ11bJ3Jlc3VsdHMnXVtudW1iZXJdWydyZXR1cm4nXVtudW1iZXJdWydwcm92aWRlcnMnXVtudW1iZXJdWydjaGVhcGVzdFRpY2tldCddWyd0ZXJtcyddWydkeW5hbWljQ29uZGl0aW9ucyddW251bWJlcl07XG4gIGV4cG9ydCB0eXBlIF9fX1RpY2tldHMgPSBTZWFyY2hSYWlsUXVlcnlbJ3NlYXJjaFJhaWwnXVsncmVzdWx0cyddW251bWJlcl1bJ3JldHVybiddW251bWJlcl1bJ3Byb3ZpZGVycyddW251bWJlcl1bJ2NoZWFwZXN0VGlja2V0J11bJ3RpY2tldHMnXVtudW1iZXJdO1xuICBleHBvcnQgdHlwZSBfX19TZWdtZW50cyA9IFNlYXJjaFJhaWxRdWVyeVsnc2VhcmNoUmFpbCddWydyZXN1bHRzJ11bbnVtYmVyXVsncmV0dXJuJ11bbnVtYmVyXVsncHJvdmlkZXJzJ11bbnVtYmVyXVsnY2hlYXBlc3RUaWNrZXQnXVsndGlja2V0cyddW251bWJlcl1bJ3NlZ21lbnRzJ11bbnVtYmVyXTtcbiAgZXhwb3J0IHR5cGUgX19fVGlja2V0UXVldWVMaXN0ID0gU2VhcmNoUmFpbFF1ZXJ5WydzZWFyY2hSYWlsJ11bJ3Jlc3VsdHMnXVtudW1iZXJdWydyZXR1cm4nXVtudW1iZXJdWydwcm92aWRlcnMnXVtudW1iZXJdWydjaGVhcGVzdFRpY2tldCddWyd0aWNrZXRRdWV1ZUxpc3QnXVtudW1iZXJdO1xuICBleHBvcnQgdHlwZSBfX19BY2NvdW50c0xpc3QgPSBTZWFyY2hSYWlsUXVlcnlbJ3NlYXJjaFJhaWwnXVsncmVzdWx0cyddW251bWJlcl1bJ3JldHVybiddW251bWJlcl1bJ3Byb3ZpZGVycyddW251bWJlcl1bJ2NoZWFwZXN0VGlja2V0J11bJ2FjY291bnRzTGlzdCddW251bWJlcl07XG4gIGV4cG9ydCB0eXBlIF9UaWNrZXRPcHRpb25zID0gU2VhcmNoUmFpbFF1ZXJ5WydzZWFyY2hSYWlsJ11bJ3Jlc3VsdHMnXVtudW1iZXJdWydyZXR1cm4nXVtudW1iZXJdWydwcm92aWRlcnMnXVtudW1iZXJdWyd0aWNrZXRPcHRpb25zJ11bbnVtYmVyXTtcbiAgZXhwb3J0IHR5cGUgX19fX19fX0lkZW50aWZpZXJzID0gU2VhcmNoUmFpbFF1ZXJ5WydzZWFyY2hSYWlsJ11bJ3Jlc3VsdHMnXVtudW1iZXJdWydyZXR1cm4nXVtudW1iZXJdWydwcm92aWRlcnMnXVtudW1iZXJdWyd0aWNrZXRPcHRpb25zJ11bbnVtYmVyXVsnaWRlbnRpZmllcnMnXTtcbiAgZXhwb3J0IHR5cGUgX0FsbG93ZWRXaXRoID0gU2VhcmNoUmFpbFF1ZXJ5WydzZWFyY2hSYWlsJ11bJ3Jlc3VsdHMnXVtudW1iZXJdWydyZXR1cm4nXVtudW1iZXJdWydwcm92aWRlcnMnXVtudW1iZXJdWyd0aWNrZXRPcHRpb25zJ11bbnVtYmVyXVsnaWRlbnRpZmllcnMnXVsnYWxsb3dlZFdpdGgnXVtudW1iZXJdO1xuICBleHBvcnQgdHlwZSBfX19fVGVybXMgPSBTZWFyY2hSYWlsUXVlcnlbJ3NlYXJjaFJhaWwnXVsncmVzdWx0cyddW251bWJlcl1bJ3JldHVybiddW251bWJlcl1bJ3Byb3ZpZGVycyddW251bWJlcl1bJ3RpY2tldE9wdGlvbnMnXVtudW1iZXJdWyd0ZXJtcyddO1xuICBleHBvcnQgdHlwZSBfX19fVGlja2V0cyA9IFNlYXJjaFJhaWxRdWVyeVsnc2VhcmNoUmFpbCddWydyZXN1bHRzJ11bbnVtYmVyXVsncmV0dXJuJ11bbnVtYmVyXVsncHJvdmlkZXJzJ11bbnVtYmVyXVsndGlja2V0T3B0aW9ucyddW251bWJlcl1bJ3RpY2tldHMnXVtudW1iZXJdO1xuICBleHBvcnQgdHlwZSBfX19fVGlja2V0UXVldWVMaXN0ID0gU2VhcmNoUmFpbFF1ZXJ5WydzZWFyY2hSYWlsJ11bJ3Jlc3VsdHMnXVtudW1iZXJdWydyZXR1cm4nXVtudW1iZXJdWydwcm92aWRlcnMnXVtudW1iZXJdWyd0aWNrZXRPcHRpb25zJ11bbnVtYmVyXVsndGlja2V0UXVldWVMaXN0J11bbnVtYmVyXTtcbiAgZXhwb3J0IHR5cGUgX19fX0FjY291bnRzTGlzdCA9IFNlYXJjaFJhaWxRdWVyeVsnc2VhcmNoUmFpbCddWydyZXN1bHRzJ11bbnVtYmVyXVsncmV0dXJuJ11bbnVtYmVyXVsncHJvdmlkZXJzJ11bbnVtYmVyXVsndGlja2V0T3B0aW9ucyddW251bWJlcl1bJ2FjY291bnRzTGlzdCddW251bWJlcl07XG4gIGV4cG9ydCB0eXBlIF9Cb29rZWRUaWNrZXQgPSBTZWFyY2hSYWlsUXVlcnlbJ3NlYXJjaFJhaWwnXVsncmVzdWx0cyddW251bWJlcl1bJ3JldHVybiddW251bWJlcl1bJ3Byb3ZpZGVycyddW251bWJlcl1bJ2Jvb2tlZFRpY2tldCddO1xuICBleHBvcnQgdHlwZSBfX19fX19fX0lkZW50aWZpZXJzID0gU2VhcmNoUmFpbFF1ZXJ5WydzZWFyY2hSYWlsJ11bJ3Jlc3VsdHMnXVtudW1iZXJdWydyZXR1cm4nXVtudW1iZXJdWydwcm92aWRlcnMnXVtudW1iZXJdWydib29rZWRUaWNrZXQnXVsnaWRlbnRpZmllcnMnXTtcbiAgZXhwb3J0IHR5cGUgX19fX19UZXJtcyA9IFNlYXJjaFJhaWxRdWVyeVsnc2VhcmNoUmFpbCddWydyZXN1bHRzJ11bbnVtYmVyXVsncmV0dXJuJ11bbnVtYmVyXVsncHJvdmlkZXJzJ11bbnVtYmVyXVsnYm9va2VkVGlja2V0J11bJ3Rlcm1zJ107XG4gIGV4cG9ydCB0eXBlIF9fX19fVGlja2V0cyA9IFNlYXJjaFJhaWxRdWVyeVsnc2VhcmNoUmFpbCddWydyZXN1bHRzJ11bbnVtYmVyXVsncmV0dXJuJ11bbnVtYmVyXVsncHJvdmlkZXJzJ11bbnVtYmVyXVsnYm9va2VkVGlja2V0J11bJ3RpY2tldHMnXVtudW1iZXJdO1xuICBleHBvcnQgdHlwZSBfX19fX1RpY2tldFF1ZXVlTGlzdCA9IFNlYXJjaFJhaWxRdWVyeVsnc2VhcmNoUmFpbCddWydyZXN1bHRzJ11bbnVtYmVyXVsncmV0dXJuJ11bbnVtYmVyXVsncHJvdmlkZXJzJ11bbnVtYmVyXVsnYm9va2VkVGlja2V0J11bJ3RpY2tldFF1ZXVlTGlzdCddW251bWJlcl07XG4gIGV4cG9ydCB0eXBlIF9fX19fQWNjb3VudHNMaXN0ID0gU2VhcmNoUmFpbFF1ZXJ5WydzZWFyY2hSYWlsJ11bJ3Jlc3VsdHMnXVtudW1iZXJdWydyZXR1cm4nXVtudW1iZXJdWydwcm92aWRlcnMnXVtudW1iZXJdWydib29rZWRUaWNrZXQnXVsnYWNjb3VudHNMaXN0J11bbnVtYmVyXTtcbiAgZXhwb3J0IHR5cGUgX1RpY2tldEV4dHJhcyA9IFNlYXJjaFJhaWxRdWVyeVsnc2VhcmNoUmFpbCddWydyZXN1bHRzJ11bbnVtYmVyXVsncmV0dXJuJ11bbnVtYmVyXVsndGlja2V0RXh0cmFzJ11bbnVtYmVyXTtcbiAgZXhwb3J0IHR5cGUgX1BsdXNCdXMgPSBTZWFyY2hSYWlsUXVlcnlbJ3NlYXJjaFJhaWwnXVsncmVzdWx0cyddW251bWJlcl1bJ3JldHVybiddW251bWJlcl1bJ3BsdXNCdXMnXTtcbiAgZXhwb3J0IHR5cGUgRXJyb3JzID0gU2VhcmNoUmFpbFF1ZXJ5WydzZWFyY2hSYWlsJ11bJ2Vycm9ycyddW251bWJlcl07XG59XG5cbmV4cG9ydCBuYW1lc3BhY2UgU2F2ZVJlY2VudFNlYXJjaCB7XG4gIGV4cG9ydCB0eXBlIFZhcmlhYmxlcyA9IFNhdmVSZWNlbnRTZWFyY2hNdXRhdGlvblZhcmlhYmxlcztcbiAgZXhwb3J0IHR5cGUgTXV0YXRpb24gPSBTYXZlUmVjZW50U2VhcmNoTXV0YXRpb247XG4gIGV4cG9ydCB0eXBlIFNhdmVSZWNlbnRTZWFyY2ggPSBTYXZlUmVjZW50U2VhcmNoTXV0YXRpb25bJ3NhdmVSZWNlbnRTZWFyY2gnXVtudW1iZXJdO1xufVxuXG5leHBvcnQgbmFtZXNwYWNlIFNhdmVVc2VyQWRkcmVzcyB7XG4gIGV4cG9ydCB0eXBlIFZhcmlhYmxlcyA9IFNhdmVVc2VyQWRkcmVzc011dGF0aW9uVmFyaWFibGVzO1xuICBleHBvcnQgdHlwZSBNdXRhdGlvbiA9IFNhdmVVc2VyQWRkcmVzc011dGF0aW9uO1xuICBleHBvcnQgdHlwZSBTYXZlVXNlckFkZHJlc3MgPSBTYXZlVXNlckFkZHJlc3NNdXRhdGlvblsnc2F2ZVVzZXJBZGRyZXNzJ107XG59XG5cbmV4cG9ydCBuYW1lc3BhY2UgU2VhcmNoQWlybGluZXMge1xuICBleHBvcnQgdHlwZSBWYXJpYWJsZXMgPSBTZWFyY2hBaXJsaW5lc1F1ZXJ5VmFyaWFibGVzO1xuICBleHBvcnQgdHlwZSBRdWVyeSA9IFNlYXJjaEFpcmxpbmVzUXVlcnk7XG4gIGV4cG9ydCB0eXBlIFNlYXJjaEFpcmxpbmVzID0gU2VhcmNoQWlybGluZXNRdWVyeVsnc2VhcmNoQWlybGluZXMnXTtcbiAgZXhwb3J0IHR5cGUgSWF0YU1hdGNoID0gU2VhcmNoQWlybGluZXNRdWVyeVsnc2VhcmNoQWlybGluZXMnXVsnaWF0YU1hdGNoJ107XG4gIGV4cG9ydCB0eXBlIEdlbmVyYWxNYXRjaGVzID0gU2VhcmNoQWlybGluZXNRdWVyeVsnc2VhcmNoQWlybGluZXMnXVsnZ2VuZXJhbE1hdGNoZXMnXVtudW1iZXJdO1xufVxuXG5leHBvcnQgbmFtZXNwYWNlIFNlYXJjaENpdGllcyB7XG4gIGV4cG9ydCB0eXBlIFZhcmlhYmxlcyA9IFNlYXJjaENpdGllc1F1ZXJ5VmFyaWFibGVzO1xuICBleHBvcnQgdHlwZSBRdWVyeSA9IFNlYXJjaENpdGllc1F1ZXJ5O1xuICBleHBvcnQgdHlwZSBTZWFyY2hDaXRpZXMgPSBTZWFyY2hDaXRpZXNRdWVyeVsnc2VhcmNoQ2l0aWVzJ11bbnVtYmVyXTtcbiAgZXhwb3J0IHR5cGUgQ29vcmRpbmF0ZXMgPSBTZWFyY2hDaXRpZXNRdWVyeVsnc2VhcmNoQ2l0aWVzJ11bbnVtYmVyXVsnY29vcmRpbmF0ZXMnXTtcbn1cblxuZXhwb3J0IG5hbWVzcGFjZSBTZWFyY2hDb25mZXJtYUNpdGllcyB7XG4gIGV4cG9ydCB0eXBlIFZhcmlhYmxlcyA9IFNlYXJjaENvbmZlcm1hQ2l0aWVzUXVlcnlWYXJpYWJsZXM7XG4gIGV4cG9ydCB0eXBlIFF1ZXJ5ID0gU2VhcmNoQ29uZmVybWFDaXRpZXNRdWVyeTtcbiAgZXhwb3J0IHR5cGUgU2VhcmNoQ29uZmVybWFDaXRpZXMgPSBTZWFyY2hDb25mZXJtYUNpdGllc1F1ZXJ5WydzZWFyY2hDb25mZXJtYUNpdGllcyddO1xuICBleHBvcnQgdHlwZSBTdWdnZXN0aW9ucyA9IFNlYXJjaENvbmZlcm1hQ2l0aWVzUXVlcnlbJ3NlYXJjaENvbmZlcm1hQ2l0aWVzJ11bJ3N1Z2dlc3Rpb25zJ11bbnVtYmVyXTtcbn1cblxuZXhwb3J0IG5hbWVzcGFjZSBTZWFyY2hFdXJvc3RhciB7XG4gIGV4cG9ydCB0eXBlIFZhcmlhYmxlcyA9IFNlYXJjaEV1cm9zdGFyUXVlcnlWYXJpYWJsZXM7XG4gIGV4cG9ydCB0eXBlIFF1ZXJ5ID0gU2VhcmNoRXVyb3N0YXJRdWVyeTtcbiAgZXhwb3J0IHR5cGUgU2VhcmNoRXVyb3N0YXIgPSBTZWFyY2hFdXJvc3RhclF1ZXJ5WydzZWFyY2hFdXJvc3RhciddO1xuICBleHBvcnQgdHlwZSBSZXN1bHRzID0gU2VhcmNoRXVyb3N0YXJRdWVyeVsnc2VhcmNoRXVyb3N0YXInXVsncmVzdWx0cyddO1xuICBleHBvcnQgdHlwZSBKb3VybmV5cyA9IFNlYXJjaEV1cm9zdGFyUXVlcnlbJ3NlYXJjaEV1cm9zdGFyJ11bJ3Jlc3VsdHMnXVsnam91cm5leXMnXVtudW1iZXJdO1xuICBleHBvcnQgdHlwZSBPdXRib3VuZEZsaWdodHMgPSBTZWFyY2hFdXJvc3RhclF1ZXJ5WydzZWFyY2hFdXJvc3RhciddWydyZXN1bHRzJ11bJ2pvdXJuZXlzJ11bbnVtYmVyXVsnb3V0Ym91bmRGbGlnaHRzJ11bbnVtYmVyXTtcbiAgZXhwb3J0IHR5cGUgRmFyZUluZm8gPSBTZWFyY2hFdXJvc3RhclF1ZXJ5WydzZWFyY2hFdXJvc3RhciddWydyZXN1bHRzJ11bJ2pvdXJuZXlzJ11bbnVtYmVyXVsnb3V0Ym91bmRGbGlnaHRzJ11bbnVtYmVyXVsnZmFyZUluZm8nXTtcbiAgZXhwb3J0IHR5cGUgT3JpZ2luQWlycG9ydERldGFpbCA9IFNlYXJjaEV1cm9zdGFyUXVlcnlbJ3NlYXJjaEV1cm9zdGFyJ11bJ3Jlc3VsdHMnXVsnam91cm5leXMnXVtudW1iZXJdWydvdXRib3VuZEZsaWdodHMnXVtudW1iZXJdWydvcmlnaW5BaXJwb3J0RGV0YWlsJ107XG4gIGV4cG9ydCB0eXBlIERlc3RpbmF0aW9uQWlycG9ydERldGFpbCA9IFNlYXJjaEV1cm9zdGFyUXVlcnlbJ3NlYXJjaEV1cm9zdGFyJ11bJ3Jlc3VsdHMnXVsnam91cm5leXMnXVtudW1iZXJdWydvdXRib3VuZEZsaWdodHMnXVtudW1iZXJdWydkZXN0aW5hdGlvbkFpcnBvcnREZXRhaWwnXTtcbiAgZXhwb3J0IHR5cGUgTWFya2V0aW5nQ2FycmllckRldGFpbCA9IFNlYXJjaEV1cm9zdGFyUXVlcnlbJ3NlYXJjaEV1cm9zdGFyJ11bJ3Jlc3VsdHMnXVsnam91cm5leXMnXVtudW1iZXJdWydvdXRib3VuZEZsaWdodHMnXVtudW1iZXJdWydtYXJrZXRpbmdDYXJyaWVyRGV0YWlsJ107XG4gIGV4cG9ydCB0eXBlIE9wZXJhdGluZ0NhcnJpZXJEZXRhaWwgPSBTZWFyY2hFdXJvc3RhclF1ZXJ5WydzZWFyY2hFdXJvc3RhciddWydyZXN1bHRzJ11bJ2pvdXJuZXlzJ11bbnVtYmVyXVsnb3V0Ym91bmRGbGlnaHRzJ11bbnVtYmVyXVsnb3BlcmF0aW5nQ2FycmllckRldGFpbCddO1xuICBleHBvcnQgdHlwZSBGYXJlQ29uZGl0aW9ucyA9IFNlYXJjaEV1cm9zdGFyUXVlcnlbJ3NlYXJjaEV1cm9zdGFyJ11bJ3Jlc3VsdHMnXVsnam91cm5leXMnXVtudW1iZXJdWydvdXRib3VuZEZsaWdodHMnXVtudW1iZXJdWydmYXJlQ29uZGl0aW9ucyddO1xuICBleHBvcnQgdHlwZSBDYW5jZWxsYXRpb24gPSBTZWFyY2hFdXJvc3RhclF1ZXJ5WydzZWFyY2hFdXJvc3RhciddWydyZXN1bHRzJ11bJ2pvdXJuZXlzJ11bbnVtYmVyXVsnb3V0Ym91bmRGbGlnaHRzJ11bbnVtYmVyXVsnZmFyZUNvbmRpdGlvbnMnXVsnY2FuY2VsbGF0aW9uJ11bbnVtYmVyXTtcbiAgZXhwb3J0IHR5cGUgQ2hhbmdlID0gU2VhcmNoRXVyb3N0YXJRdWVyeVsnc2VhcmNoRXVyb3N0YXInXVsncmVzdWx0cyddWydqb3VybmV5cyddW251bWJlcl1bJ291dGJvdW5kRmxpZ2h0cyddW251bWJlcl1bJ2ZhcmVDb25kaXRpb25zJ11bJ2NoYW5nZSddW251bWJlcl07XG4gIGV4cG9ydCB0eXBlIE5vU2hvdyA9IFNlYXJjaEV1cm9zdGFyUXVlcnlbJ3NlYXJjaEV1cm9zdGFyJ11bJ3Jlc3VsdHMnXVsnam91cm5leXMnXVtudW1iZXJdWydvdXRib3VuZEZsaWdodHMnXVtudW1iZXJdWydmYXJlQ29uZGl0aW9ucyddWydub1Nob3cnXVtudW1iZXJdO1xuICBleHBvcnQgdHlwZSBVcGdyYWRlID0gU2VhcmNoRXVyb3N0YXJRdWVyeVsnc2VhcmNoRXVyb3N0YXInXVsncmVzdWx0cyddWydqb3VybmV5cyddW251bWJlcl1bJ291dGJvdW5kRmxpZ2h0cyddW251bWJlcl1bJ2ZhcmVDb25kaXRpb25zJ11bJ3VwZ3JhZGUnXVtudW1iZXJdO1xuICBleHBvcnQgdHlwZSBPdGhlciA9IFNlYXJjaEV1cm9zdGFyUXVlcnlbJ3NlYXJjaEV1cm9zdGFyJ11bJ3Jlc3VsdHMnXVsnam91cm5leXMnXVtudW1iZXJdWydvdXRib3VuZEZsaWdodHMnXVtudW1iZXJdWydmYXJlQ29uZGl0aW9ucyddWydvdGhlciddW251bWJlcl07XG4gIGV4cG9ydCB0eXBlIEluYm91bmRGbGlnaHRzID0gU2VhcmNoRXVyb3N0YXJRdWVyeVsnc2VhcmNoRXVyb3N0YXInXVsncmVzdWx0cyddWydqb3VybmV5cyddW251bWJlcl1bJ2luYm91bmRGbGlnaHRzJ11bbnVtYmVyXTtcbiAgZXhwb3J0IHR5cGUgX0ZhcmVJbmZvID0gU2VhcmNoRXVyb3N0YXJRdWVyeVsnc2VhcmNoRXVyb3N0YXInXVsncmVzdWx0cyddWydqb3VybmV5cyddW251bWJlcl1bJ2luYm91bmRGbGlnaHRzJ11bbnVtYmVyXVsnZmFyZUluZm8nXTtcbiAgZXhwb3J0IHR5cGUgX09yaWdpbkFpcnBvcnREZXRhaWwgPSBTZWFyY2hFdXJvc3RhclF1ZXJ5WydzZWFyY2hFdXJvc3RhciddWydyZXN1bHRzJ11bJ2pvdXJuZXlzJ11bbnVtYmVyXVsnaW5ib3VuZEZsaWdodHMnXVtudW1iZXJdWydvcmlnaW5BaXJwb3J0RGV0YWlsJ107XG4gIGV4cG9ydCB0eXBlIF9EZXN0aW5hdGlvbkFpcnBvcnREZXRhaWwgPSBTZWFyY2hFdXJvc3RhclF1ZXJ5WydzZWFyY2hFdXJvc3RhciddWydyZXN1bHRzJ11bJ2pvdXJuZXlzJ11bbnVtYmVyXVsnaW5ib3VuZEZsaWdodHMnXVtudW1iZXJdWydkZXN0aW5hdGlvbkFpcnBvcnREZXRhaWwnXTtcbiAgZXhwb3J0IHR5cGUgX01hcmtldGluZ0NhcnJpZXJEZXRhaWwgPSBTZWFyY2hFdXJvc3RhclF1ZXJ5WydzZWFyY2hFdXJvc3RhciddWydyZXN1bHRzJ11bJ2pvdXJuZXlzJ11bbnVtYmVyXVsnaW5ib3VuZEZsaWdodHMnXVtudW1iZXJdWydtYXJrZXRpbmdDYXJyaWVyRGV0YWlsJ107XG4gIGV4cG9ydCB0eXBlIF9PcGVyYXRpbmdDYXJyaWVyRGV0YWlsID0gU2VhcmNoRXVyb3N0YXJRdWVyeVsnc2VhcmNoRXVyb3N0YXInXVsncmVzdWx0cyddWydqb3VybmV5cyddW251bWJlcl1bJ2luYm91bmRGbGlnaHRzJ11bbnVtYmVyXVsnb3BlcmF0aW5nQ2FycmllckRldGFpbCddO1xuICBleHBvcnQgdHlwZSBfRmFyZUNvbmRpdGlvbnMgPSBTZWFyY2hFdXJvc3RhclF1ZXJ5WydzZWFyY2hFdXJvc3RhciddWydyZXN1bHRzJ11bJ2pvdXJuZXlzJ11bbnVtYmVyXVsnaW5ib3VuZEZsaWdodHMnXVtudW1iZXJdWydmYXJlQ29uZGl0aW9ucyddO1xuICBleHBvcnQgdHlwZSBfQ2FuY2VsbGF0aW9uID0gU2VhcmNoRXVyb3N0YXJRdWVyeVsnc2VhcmNoRXVyb3N0YXInXVsncmVzdWx0cyddWydqb3VybmV5cyddW251bWJlcl1bJ2luYm91bmRGbGlnaHRzJ11bbnVtYmVyXVsnZmFyZUNvbmRpdGlvbnMnXVsnY2FuY2VsbGF0aW9uJ11bbnVtYmVyXTtcbiAgZXhwb3J0IHR5cGUgX0NoYW5nZSA9IFNlYXJjaEV1cm9zdGFyUXVlcnlbJ3NlYXJjaEV1cm9zdGFyJ11bJ3Jlc3VsdHMnXVsnam91cm5leXMnXVtudW1iZXJdWydpbmJvdW5kRmxpZ2h0cyddW251bWJlcl1bJ2ZhcmVDb25kaXRpb25zJ11bJ2NoYW5nZSddW251bWJlcl07XG4gIGV4cG9ydCB0eXBlIF9Ob1Nob3cgPSBTZWFyY2hFdXJvc3RhclF1ZXJ5WydzZWFyY2hFdXJvc3RhciddWydyZXN1bHRzJ11bJ2pvdXJuZXlzJ11bbnVtYmVyXVsnaW5ib3VuZEZsaWdodHMnXVtudW1iZXJdWydmYXJlQ29uZGl0aW9ucyddWydub1Nob3cnXVtudW1iZXJdO1xuICBleHBvcnQgdHlwZSBfVXBncmFkZSA9IFNlYXJjaEV1cm9zdGFyUXVlcnlbJ3NlYXJjaEV1cm9zdGFyJ11bJ3Jlc3VsdHMnXVsnam91cm5leXMnXVtudW1iZXJdWydpbmJvdW5kRmxpZ2h0cyddW251bWJlcl1bJ2ZhcmVDb25kaXRpb25zJ11bJ3VwZ3JhZGUnXVtudW1iZXJdO1xuICBleHBvcnQgdHlwZSBfT3RoZXIgPSBTZWFyY2hFdXJvc3RhclF1ZXJ5WydzZWFyY2hFdXJvc3RhciddWydyZXN1bHRzJ11bJ2pvdXJuZXlzJ11bbnVtYmVyXVsnaW5ib3VuZEZsaWdodHMnXVtudW1iZXJdWydmYXJlQ29uZGl0aW9ucyddWydvdGhlciddW251bWJlcl07XG4gIGV4cG9ydCB0eXBlIE91dGJvdW5kQ2FyYm9uRW1pc3Npb25zID0gU2VhcmNoRXVyb3N0YXJRdWVyeVsnc2VhcmNoRXVyb3N0YXInXVsncmVzdWx0cyddWydqb3VybmV5cyddW251bWJlcl1bJ291dGJvdW5kQ2FyYm9uRW1pc3Npb25zJ107XG4gIGV4cG9ydCB0eXBlIEluYm91bmRDYXJib25FbWlzc2lvbnMgPSBTZWFyY2hFdXJvc3RhclF1ZXJ5WydzZWFyY2hFdXJvc3RhciddWydyZXN1bHRzJ11bJ2pvdXJuZXlzJ11bbnVtYmVyXVsnaW5ib3VuZENhcmJvbkVtaXNzaW9ucyddO1xuICBleHBvcnQgdHlwZSBUYXhlcyA9IFNlYXJjaEV1cm9zdGFyUXVlcnlbJ3NlYXJjaEV1cm9zdGFyJ11bJ3Jlc3VsdHMnXVsnam91cm5leXMnXVtudW1iZXJdWyd0YXhlcyddW251bWJlcl07XG4gIGV4cG9ydCB0eXBlIERpc2NvdW50cyA9IFNlYXJjaEV1cm9zdGFyUXVlcnlbJ3NlYXJjaEV1cm9zdGFyJ11bJ3Jlc3VsdHMnXVsnam91cm5leXMnXVtudW1iZXJdWydkaXNjb3VudHMnXVtudW1iZXJdO1xuICBleHBvcnQgdHlwZSBUb3RhbCA9IFNlYXJjaEV1cm9zdGFyUXVlcnlbJ3NlYXJjaEV1cm9zdGFyJ11bJ3Jlc3VsdHMnXVsnam91cm5leXMnXVtudW1iZXJdWyd0b3RhbCddO1xuICBleHBvcnQgdHlwZSBfX0ZhcmVDb25kaXRpb25zID0gU2VhcmNoRXVyb3N0YXJRdWVyeVsnc2VhcmNoRXVyb3N0YXInXVsncmVzdWx0cyddWydqb3VybmV5cyddW251bWJlcl1bJ2ZhcmVDb25kaXRpb25zJ107XG4gIGV4cG9ydCB0eXBlIF9fQ2FuY2VsbGF0aW9uID0gU2VhcmNoRXVyb3N0YXJRdWVyeVsnc2VhcmNoRXVyb3N0YXInXVsncmVzdWx0cyddWydqb3VybmV5cyddW251bWJlcl1bJ2ZhcmVDb25kaXRpb25zJ11bJ2NhbmNlbGxhdGlvbiddW251bWJlcl07XG4gIGV4cG9ydCB0eXBlIF9fQ2hhbmdlID0gU2VhcmNoRXVyb3N0YXJRdWVyeVsnc2VhcmNoRXVyb3N0YXInXVsncmVzdWx0cyddWydqb3VybmV5cyddW251bWJlcl1bJ2ZhcmVDb25kaXRpb25zJ11bJ2NoYW5nZSddW251bWJlcl07XG4gIGV4cG9ydCB0eXBlIF9fTm9TaG93ID0gU2VhcmNoRXVyb3N0YXJRdWVyeVsnc2VhcmNoRXVyb3N0YXInXVsncmVzdWx0cyddWydqb3VybmV5cyddW251bWJlcl1bJ2ZhcmVDb25kaXRpb25zJ11bJ25vU2hvdyddW251bWJlcl07XG4gIGV4cG9ydCB0eXBlIF9fVXBncmFkZSA9IFNlYXJjaEV1cm9zdGFyUXVlcnlbJ3NlYXJjaEV1cm9zdGFyJ11bJ3Jlc3VsdHMnXVsnam91cm5leXMnXVtudW1iZXJdWydmYXJlQ29uZGl0aW9ucyddWyd1cGdyYWRlJ11bbnVtYmVyXTtcbiAgZXhwb3J0IHR5cGUgX19PdGhlciA9IFNlYXJjaEV1cm9zdGFyUXVlcnlbJ3NlYXJjaEV1cm9zdGFyJ11bJ3Jlc3VsdHMnXVsnam91cm5leXMnXVtudW1iZXJdWydmYXJlQ29uZGl0aW9ucyddWydvdGhlciddW251bWJlcl07XG4gIGV4cG9ydCB0eXBlIEJhZ2dhZ2VBbGxvd2FuY2UgPSBTZWFyY2hFdXJvc3RhclF1ZXJ5WydzZWFyY2hFdXJvc3RhciddWydyZXN1bHRzJ11bJ2pvdXJuZXlzJ11bbnVtYmVyXVsnYmFnZ2FnZUFsbG93YW5jZSddW251bWJlcl07XG4gIGV4cG9ydCB0eXBlIE11bHRpID0gU2VhcmNoRXVyb3N0YXJRdWVyeVsnc2VhcmNoRXVyb3N0YXInXVsncmVzdWx0cyddWydtdWx0aSddW251bWJlcl07XG4gIGV4cG9ydCB0eXBlIF9SZXN1bHRzID0gU2VhcmNoRXVyb3N0YXJRdWVyeVsnc2VhcmNoRXVyb3N0YXInXVsncmVzdWx0cyddWydtdWx0aSddW251bWJlcl1bJ3Jlc3VsdHMnXVtudW1iZXJdO1xuICBleHBvcnQgdHlwZSBfT3V0Ym91bmRGbGlnaHRzID0gU2VhcmNoRXVyb3N0YXJRdWVyeVsnc2VhcmNoRXVyb3N0YXInXVsncmVzdWx0cyddWydtdWx0aSddW251bWJlcl1bJ3Jlc3VsdHMnXVtudW1iZXJdWydvdXRib3VuZEZsaWdodHMnXVtudW1iZXJdO1xuICBleHBvcnQgdHlwZSBfX0ZhcmVJbmZvID0gU2VhcmNoRXVyb3N0YXJRdWVyeVsnc2VhcmNoRXVyb3N0YXInXVsncmVzdWx0cyddWydtdWx0aSddW251bWJlcl1bJ3Jlc3VsdHMnXVtudW1iZXJdWydvdXRib3VuZEZsaWdodHMnXVtudW1iZXJdWydmYXJlSW5mbyddO1xuICBleHBvcnQgdHlwZSBfX09yaWdpbkFpcnBvcnREZXRhaWwgPSBTZWFyY2hFdXJvc3RhclF1ZXJ5WydzZWFyY2hFdXJvc3RhciddWydyZXN1bHRzJ11bJ211bHRpJ11bbnVtYmVyXVsncmVzdWx0cyddW251bWJlcl1bJ291dGJvdW5kRmxpZ2h0cyddW251bWJlcl1bJ29yaWdpbkFpcnBvcnREZXRhaWwnXTtcbiAgZXhwb3J0IHR5cGUgX19EZXN0aW5hdGlvbkFpcnBvcnREZXRhaWwgPSBTZWFyY2hFdXJvc3RhclF1ZXJ5WydzZWFyY2hFdXJvc3RhciddWydyZXN1bHRzJ11bJ211bHRpJ11bbnVtYmVyXVsncmVzdWx0cyddW251bWJlcl1bJ291dGJvdW5kRmxpZ2h0cyddW251bWJlcl1bJ2Rlc3RpbmF0aW9uQWlycG9ydERldGFpbCddO1xuICBleHBvcnQgdHlwZSBfX01hcmtldGluZ0NhcnJpZXJEZXRhaWwgPSBTZWFyY2hFdXJvc3RhclF1ZXJ5WydzZWFyY2hFdXJvc3RhciddWydyZXN1bHRzJ11bJ211bHRpJ11bbnVtYmVyXVsncmVzdWx0cyddW251bWJlcl1bJ291dGJvdW5kRmxpZ2h0cyddW251bWJlcl1bJ21hcmtldGluZ0NhcnJpZXJEZXRhaWwnXTtcbiAgZXhwb3J0IHR5cGUgX19PcGVyYXRpbmdDYXJyaWVyRGV0YWlsID0gU2VhcmNoRXVyb3N0YXJRdWVyeVsnc2VhcmNoRXVyb3N0YXInXVsncmVzdWx0cyddWydtdWx0aSddW251bWJlcl1bJ3Jlc3VsdHMnXVtudW1iZXJdWydvdXRib3VuZEZsaWdodHMnXVtudW1iZXJdWydvcGVyYXRpbmdDYXJyaWVyRGV0YWlsJ107XG4gIGV4cG9ydCB0eXBlIF9fX0ZhcmVDb25kaXRpb25zID0gU2VhcmNoRXVyb3N0YXJRdWVyeVsnc2VhcmNoRXVyb3N0YXInXVsncmVzdWx0cyddWydtdWx0aSddW251bWJlcl1bJ3Jlc3VsdHMnXVtudW1iZXJdWydvdXRib3VuZEZsaWdodHMnXVtudW1iZXJdWydmYXJlQ29uZGl0aW9ucyddO1xuICBleHBvcnQgdHlwZSBfX19DYW5jZWxsYXRpb24gPSBTZWFyY2hFdXJvc3RhclF1ZXJ5WydzZWFyY2hFdXJvc3RhciddWydyZXN1bHRzJ11bJ211bHRpJ11bbnVtYmVyXVsncmVzdWx0cyddW251bWJlcl1bJ291dGJvdW5kRmxpZ2h0cyddW251bWJlcl1bJ2ZhcmVDb25kaXRpb25zJ11bJ2NhbmNlbGxhdGlvbiddW251bWJlcl07XG4gIGV4cG9ydCB0eXBlIF9fX0NoYW5nZSA9IFNlYXJjaEV1cm9zdGFyUXVlcnlbJ3NlYXJjaEV1cm9zdGFyJ11bJ3Jlc3VsdHMnXVsnbXVsdGknXVtudW1iZXJdWydyZXN1bHRzJ11bbnVtYmVyXVsnb3V0Ym91bmRGbGlnaHRzJ11bbnVtYmVyXVsnZmFyZUNvbmRpdGlvbnMnXVsnY2hhbmdlJ11bbnVtYmVyXTtcbiAgZXhwb3J0IHR5cGUgX19fTm9TaG93ID0gU2VhcmNoRXVyb3N0YXJRdWVyeVsnc2VhcmNoRXVyb3N0YXInXVsncmVzdWx0cyddWydtdWx0aSddW251bWJlcl1bJ3Jlc3VsdHMnXVtudW1iZXJdWydvdXRib3VuZEZsaWdodHMnXVtudW1iZXJdWydmYXJlQ29uZGl0aW9ucyddWydub1Nob3cnXVtudW1iZXJdO1xuICBleHBvcnQgdHlwZSBfX19VcGdyYWRlID0gU2VhcmNoRXVyb3N0YXJRdWVyeVsnc2VhcmNoRXVyb3N0YXInXVsncmVzdWx0cyddWydtdWx0aSddW251bWJlcl1bJ3Jlc3VsdHMnXVtudW1iZXJdWydvdXRib3VuZEZsaWdodHMnXVtudW1iZXJdWydmYXJlQ29uZGl0aW9ucyddWyd1cGdyYWRlJ11bbnVtYmVyXTtcbiAgZXhwb3J0IHR5cGUgX19fT3RoZXIgPSBTZWFyY2hFdXJvc3RhclF1ZXJ5WydzZWFyY2hFdXJvc3RhciddWydyZXN1bHRzJ11bJ211bHRpJ11bbnVtYmVyXVsncmVzdWx0cyddW251bWJlcl1bJ291dGJvdW5kRmxpZ2h0cyddW251bWJlcl1bJ2ZhcmVDb25kaXRpb25zJ11bJ290aGVyJ11bbnVtYmVyXTtcbiAgZXhwb3J0IHR5cGUgX0luYm91bmRGbGlnaHRzID0gU2VhcmNoRXVyb3N0YXJRdWVyeVsnc2VhcmNoRXVyb3N0YXInXVsncmVzdWx0cyddWydtdWx0aSddW251bWJlcl1bJ3Jlc3VsdHMnXVtudW1iZXJdWydpbmJvdW5kRmxpZ2h0cyddW251bWJlcl07XG4gIGV4cG9ydCB0eXBlIF9fX0ZhcmVJbmZvID0gU2VhcmNoRXVyb3N0YXJRdWVyeVsnc2VhcmNoRXVyb3N0YXInXVsncmVzdWx0cyddWydtdWx0aSddW251bWJlcl1bJ3Jlc3VsdHMnXVtudW1iZXJdWydpbmJvdW5kRmxpZ2h0cyddW251bWJlcl1bJ2ZhcmVJbmZvJ107XG4gIGV4cG9ydCB0eXBlIF9fX09yaWdpbkFpcnBvcnREZXRhaWwgPSBTZWFyY2hFdXJvc3RhclF1ZXJ5WydzZWFyY2hFdXJvc3RhciddWydyZXN1bHRzJ11bJ211bHRpJ11bbnVtYmVyXVsncmVzdWx0cyddW251bWJlcl1bJ2luYm91bmRGbGlnaHRzJ11bbnVtYmVyXVsnb3JpZ2luQWlycG9ydERldGFpbCddO1xuICBleHBvcnQgdHlwZSBfX19EZXN0aW5hdGlvbkFpcnBvcnREZXRhaWwgPSBTZWFyY2hFdXJvc3RhclF1ZXJ5WydzZWFyY2hFdXJvc3RhciddWydyZXN1bHRzJ11bJ211bHRpJ11bbnVtYmVyXVsncmVzdWx0cyddW251bWJlcl1bJ2luYm91bmRGbGlnaHRzJ11bbnVtYmVyXVsnZGVzdGluYXRpb25BaXJwb3J0RGV0YWlsJ107XG4gIGV4cG9ydCB0eXBlIF9fX01hcmtldGluZ0NhcnJpZXJEZXRhaWwgPSBTZWFyY2hFdXJvc3RhclF1ZXJ5WydzZWFyY2hFdXJvc3RhciddWydyZXN1bHRzJ11bJ211bHRpJ11bbnVtYmVyXVsncmVzdWx0cyddW251bWJlcl1bJ2luYm91bmRGbGlnaHRzJ11bbnVtYmVyXVsnbWFya2V0aW5nQ2FycmllckRldGFpbCddO1xuICBleHBvcnQgdHlwZSBfX19PcGVyYXRpbmdDYXJyaWVyRGV0YWlsID0gU2VhcmNoRXVyb3N0YXJRdWVyeVsnc2VhcmNoRXVyb3N0YXInXVsncmVzdWx0cyddWydtdWx0aSddW251bWJlcl1bJ3Jlc3VsdHMnXVtudW1iZXJdWydpbmJvdW5kRmxpZ2h0cyddW251bWJlcl1bJ29wZXJhdGluZ0NhcnJpZXJEZXRhaWwnXTtcbiAgZXhwb3J0IHR5cGUgX19fX0ZhcmVDb25kaXRpb25zID0gU2VhcmNoRXVyb3N0YXJRdWVyeVsnc2VhcmNoRXVyb3N0YXInXVsncmVzdWx0cyddWydtdWx0aSddW251bWJlcl1bJ3Jlc3VsdHMnXVtudW1iZXJdWydpbmJvdW5kRmxpZ2h0cyddW251bWJlcl1bJ2ZhcmVDb25kaXRpb25zJ107XG4gIGV4cG9ydCB0eXBlIF9fX19DYW5jZWxsYXRpb24gPSBTZWFyY2hFdXJvc3RhclF1ZXJ5WydzZWFyY2hFdXJvc3RhciddWydyZXN1bHRzJ11bJ211bHRpJ11bbnVtYmVyXVsncmVzdWx0cyddW251bWJlcl1bJ2luYm91bmRGbGlnaHRzJ11bbnVtYmVyXVsnZmFyZUNvbmRpdGlvbnMnXVsnY2FuY2VsbGF0aW9uJ11bbnVtYmVyXTtcbiAgZXhwb3J0IHR5cGUgX19fX0NoYW5nZSA9IFNlYXJjaEV1cm9zdGFyUXVlcnlbJ3NlYXJjaEV1cm9zdGFyJ11bJ3Jlc3VsdHMnXVsnbXVsdGknXVtudW1iZXJdWydyZXN1bHRzJ11bbnVtYmVyXVsnaW5ib3VuZEZsaWdodHMnXVtudW1iZXJdWydmYXJlQ29uZGl0aW9ucyddWydjaGFuZ2UnXVtudW1iZXJdO1xuICBleHBvcnQgdHlwZSBfX19fTm9TaG93ID0gU2VhcmNoRXVyb3N0YXJRdWVyeVsnc2VhcmNoRXVyb3N0YXInXVsncmVzdWx0cyddWydtdWx0aSddW251bWJlcl1bJ3Jlc3VsdHMnXVtudW1iZXJdWydpbmJvdW5kRmxpZ2h0cyddW251bWJlcl1bJ2ZhcmVDb25kaXRpb25zJ11bJ25vU2hvdyddW251bWJlcl07XG4gIGV4cG9ydCB0eXBlIF9fX19VcGdyYWRlID0gU2VhcmNoRXVyb3N0YXJRdWVyeVsnc2VhcmNoRXVyb3N0YXInXVsncmVzdWx0cyddWydtdWx0aSddW251bWJlcl1bJ3Jlc3VsdHMnXVtudW1iZXJdWydpbmJvdW5kRmxpZ2h0cyddW251bWJlcl1bJ2ZhcmVDb25kaXRpb25zJ11bJ3VwZ3JhZGUnXVtudW1iZXJdO1xuICBleHBvcnQgdHlwZSBfX19fT3RoZXIgPSBTZWFyY2hFdXJvc3RhclF1ZXJ5WydzZWFyY2hFdXJvc3RhciddWydyZXN1bHRzJ11bJ211bHRpJ11bbnVtYmVyXVsncmVzdWx0cyddW251bWJlcl1bJ2luYm91bmRGbGlnaHRzJ11bbnVtYmVyXVsnZmFyZUNvbmRpdGlvbnMnXVsnb3RoZXInXVtudW1iZXJdO1xuICBleHBvcnQgdHlwZSBfT3V0Ym91bmRDYXJib25FbWlzc2lvbnMgPSBTZWFyY2hFdXJvc3RhclF1ZXJ5WydzZWFyY2hFdXJvc3RhciddWydyZXN1bHRzJ11bJ211bHRpJ11bbnVtYmVyXVsncmVzdWx0cyddW251bWJlcl1bJ291dGJvdW5kQ2FyYm9uRW1pc3Npb25zJ107XG4gIGV4cG9ydCB0eXBlIF9JbmJvdW5kQ2FyYm9uRW1pc3Npb25zID0gU2VhcmNoRXVyb3N0YXJRdWVyeVsnc2VhcmNoRXVyb3N0YXInXVsncmVzdWx0cyddWydtdWx0aSddW251bWJlcl1bJ3Jlc3VsdHMnXVtudW1iZXJdWydpbmJvdW5kQ2FyYm9uRW1pc3Npb25zJ107XG4gIGV4cG9ydCB0eXBlIF9UYXhlcyA9IFNlYXJjaEV1cm9zdGFyUXVlcnlbJ3NlYXJjaEV1cm9zdGFyJ11bJ3Jlc3VsdHMnXVsnbXVsdGknXVtudW1iZXJdWydyZXN1bHRzJ11bbnVtYmVyXVsndGF4ZXMnXVtudW1iZXJdO1xuICBleHBvcnQgdHlwZSBfRGlzY291bnRzID0gU2VhcmNoRXVyb3N0YXJRdWVyeVsnc2VhcmNoRXVyb3N0YXInXVsncmVzdWx0cyddWydtdWx0aSddW251bWJlcl1bJ3Jlc3VsdHMnXVtudW1iZXJdWydkaXNjb3VudHMnXVtudW1iZXJdO1xuICBleHBvcnQgdHlwZSBfVG90YWwgPSBTZWFyY2hFdXJvc3RhclF1ZXJ5WydzZWFyY2hFdXJvc3RhciddWydyZXN1bHRzJ11bJ211bHRpJ11bbnVtYmVyXVsncmVzdWx0cyddW251bWJlcl1bJ3RvdGFsJ107XG4gIGV4cG9ydCB0eXBlIF9fX19fRmFyZUNvbmRpdGlvbnMgPSBTZWFyY2hFdXJvc3RhclF1ZXJ5WydzZWFyY2hFdXJvc3RhciddWydyZXN1bHRzJ11bJ211bHRpJ11bbnVtYmVyXVsncmVzdWx0cyddW251bWJlcl1bJ2ZhcmVDb25kaXRpb25zJ107XG4gIGV4cG9ydCB0eXBlIF9fX19fQ2FuY2VsbGF0aW9uID0gU2VhcmNoRXVyb3N0YXJRdWVyeVsnc2VhcmNoRXVyb3N0YXInXVsncmVzdWx0cyddWydtdWx0aSddW251bWJlcl1bJ3Jlc3VsdHMnXVtudW1iZXJdWydmYXJlQ29uZGl0aW9ucyddWydjYW5jZWxsYXRpb24nXVtudW1iZXJdO1xuICBleHBvcnQgdHlwZSBfX19fX0NoYW5nZSA9IFNlYXJjaEV1cm9zdGFyUXVlcnlbJ3NlYXJjaEV1cm9zdGFyJ11bJ3Jlc3VsdHMnXVsnbXVsdGknXVtudW1iZXJdWydyZXN1bHRzJ11bbnVtYmVyXVsnZmFyZUNvbmRpdGlvbnMnXVsnY2hhbmdlJ11bbnVtYmVyXTtcbiAgZXhwb3J0IHR5cGUgX19fX19Ob1Nob3cgPSBTZWFyY2hFdXJvc3RhclF1ZXJ5WydzZWFyY2hFdXJvc3RhciddWydyZXN1bHRzJ11bJ211bHRpJ11bbnVtYmVyXVsncmVzdWx0cyddW251bWJlcl1bJ2ZhcmVDb25kaXRpb25zJ11bJ25vU2hvdyddW251bWJlcl07XG4gIGV4cG9ydCB0eXBlIF9fX19fVXBncmFkZSA9IFNlYXJjaEV1cm9zdGFyUXVlcnlbJ3NlYXJjaEV1cm9zdGFyJ11bJ3Jlc3VsdHMnXVsnbXVsdGknXVtudW1iZXJdWydyZXN1bHRzJ11bbnVtYmVyXVsnZmFyZUNvbmRpdGlvbnMnXVsndXBncmFkZSddW251bWJlcl07XG4gIGV4cG9ydCB0eXBlIF9fX19fT3RoZXIgPSBTZWFyY2hFdXJvc3RhclF1ZXJ5WydzZWFyY2hFdXJvc3RhciddWydyZXN1bHRzJ11bJ211bHRpJ11bbnVtYmVyXVsncmVzdWx0cyddW251bWJlcl1bJ2ZhcmVDb25kaXRpb25zJ11bJ290aGVyJ11bbnVtYmVyXTtcbiAgZXhwb3J0IHR5cGUgX0JhZ2dhZ2VBbGxvd2FuY2UgPSBTZWFyY2hFdXJvc3RhclF1ZXJ5WydzZWFyY2hFdXJvc3RhciddWydyZXN1bHRzJ11bJ211bHRpJ11bbnVtYmVyXVsncmVzdWx0cyddW251bWJlcl1bJ2JhZ2dhZ2VBbGxvd2FuY2UnXVtudW1iZXJdO1xuICBleHBvcnQgdHlwZSBHcm91cGVkID0gU2VhcmNoRXVyb3N0YXJRdWVyeVsnc2VhcmNoRXVyb3N0YXInXVsncmVzdWx0cyddWydncm91cGVkJ11bbnVtYmVyXTtcbiAgZXhwb3J0IHR5cGUgRmxpZ2h0cyA9IFNlYXJjaEV1cm9zdGFyUXVlcnlbJ3NlYXJjaEV1cm9zdGFyJ11bJ3Jlc3VsdHMnXVsnZ3JvdXBlZCddW251bWJlcl1bJ2ZsaWdodHMnXTtcbiAgZXhwb3J0IHR5cGUgRXJyb3JzID0gU2VhcmNoRXVyb3N0YXJRdWVyeVsnc2VhcmNoRXVyb3N0YXInXVsnZXJyb3JzJ11bbnVtYmVyXTtcbn1cblxuZXhwb3J0IG5hbWVzcGFjZSBTZWFyY2hIb3RlbENoYWlucyB7XG4gIGV4cG9ydCB0eXBlIFZhcmlhYmxlcyA9IFNlYXJjaEhvdGVsQ2hhaW5zUXVlcnlWYXJpYWJsZXM7XG4gIGV4cG9ydCB0eXBlIFF1ZXJ5ID0gU2VhcmNoSG90ZWxDaGFpbnNRdWVyeTtcbn1cblxuZXhwb3J0IG5hbWVzcGFjZSBTZWFyY2hJcmwge1xuICBleHBvcnQgdHlwZSBWYXJpYWJsZXMgPSBTZWFyY2hJcmxRdWVyeVZhcmlhYmxlcztcbiAgZXhwb3J0IHR5cGUgUXVlcnkgPSBTZWFyY2hJcmxRdWVyeTtcbiAgZXhwb3J0IHR5cGUgU2VhcmNoSXJsID0gU2VhcmNoSXJsUXVlcnlbJ3NlYXJjaElSTCddO1xuICBleHBvcnQgdHlwZSBSZXN1bHRzID0gU2VhcmNoSXJsUXVlcnlbJ3NlYXJjaElSTCddWydyZXN1bHRzJ11bbnVtYmVyXTtcbiAgZXhwb3J0IHR5cGUgT3V0Ym91bmQgPSBTZWFyY2hJcmxRdWVyeVsnc2VhcmNoSVJMJ11bJ3Jlc3VsdHMnXVtudW1iZXJdWydvdXRib3VuZCddW251bWJlcl07XG4gIGV4cG9ydCB0eXBlIElkZW50aWZpZXJzID0gU2VhcmNoSXJsUXVlcnlbJ3NlYXJjaElSTCddWydyZXN1bHRzJ11bbnVtYmVyXVsnb3V0Ym91bmQnXVtudW1iZXJdWydpZGVudGlmaWVycyddO1xuICBleHBvcnQgdHlwZSBUcmF2ZWxsZXJzID0gU2VhcmNoSXJsUXVlcnlbJ3NlYXJjaElSTCddWydyZXN1bHRzJ11bbnVtYmVyXVsnb3V0Ym91bmQnXVtudW1iZXJdWyd0cmF2ZWxsZXJzJ11bbnVtYmVyXTtcbiAgZXhwb3J0IHR5cGUgU2VnbWVudHMgPSBTZWFyY2hJcmxRdWVyeVsnc2VhcmNoSVJMJ11bJ3Jlc3VsdHMnXVtudW1iZXJdWydvdXRib3VuZCddW251bWJlcl1bJ3NlZ21lbnRzJ11bbnVtYmVyXTtcbiAgZXhwb3J0IHR5cGUgU2VhdFByZWZlcmVuY2VUeXBlcyA9IFNlYXJjaElybFF1ZXJ5WydzZWFyY2hJUkwnXVsncmVzdWx0cyddW251bWJlcl1bJ291dGJvdW5kJ11bbnVtYmVyXVsnc2VnbWVudHMnXVtudW1iZXJdWydzZWF0UHJlZmVyZW5jZVR5cGVzJ11bbnVtYmVyXTtcbiAgZXhwb3J0IHR5cGUgU2VhdHMgPSBTZWFyY2hJcmxRdWVyeVsnc2VhcmNoSVJMJ11bJ3Jlc3VsdHMnXVtudW1iZXJdWydvdXRib3VuZCddW251bWJlcl1bJ3NlZ21lbnRzJ11bbnVtYmVyXVsnc2VhdHMnXVtudW1iZXJdO1xuICBleHBvcnQgdHlwZSBQcm92aWRlcnMgPSBTZWFyY2hJcmxRdWVyeVsnc2VhcmNoSVJMJ11bJ3Jlc3VsdHMnXVtudW1iZXJdWydvdXRib3VuZCddW251bWJlcl1bJ3Byb3ZpZGVycyddW251bWJlcl07XG4gIGV4cG9ydCB0eXBlIENoZWFwZXN0VGlja2V0ID0gU2VhcmNoSXJsUXVlcnlbJ3NlYXJjaElSTCddWydyZXN1bHRzJ11bbnVtYmVyXVsnb3V0Ym91bmQnXVtudW1iZXJdWydwcm92aWRlcnMnXVtudW1iZXJdWydjaGVhcGVzdFRpY2tldCddO1xuICBleHBvcnQgdHlwZSBfSWRlbnRpZmllcnMgPSBTZWFyY2hJcmxRdWVyeVsnc2VhcmNoSVJMJ11bJ3Jlc3VsdHMnXVtudW1iZXJdWydvdXRib3VuZCddW251bWJlcl1bJ3Byb3ZpZGVycyddW251bWJlcl1bJ2NoZWFwZXN0VGlja2V0J11bJ2lkZW50aWZpZXJzJ107XG4gIGV4cG9ydCB0eXBlIFRpY2tldHMgPSBTZWFyY2hJcmxRdWVyeVsnc2VhcmNoSVJMJ11bJ3Jlc3VsdHMnXVtudW1iZXJdWydvdXRib3VuZCddW251bWJlcl1bJ3Byb3ZpZGVycyddW251bWJlcl1bJ2NoZWFwZXN0VGlja2V0J11bJ3RpY2tldHMnXVtudW1iZXJdO1xuICBleHBvcnQgdHlwZSBfU2VnbWVudHMgPSBTZWFyY2hJcmxRdWVyeVsnc2VhcmNoSVJMJ11bJ3Jlc3VsdHMnXVtudW1iZXJdWydvdXRib3VuZCddW251bWJlcl1bJ3Byb3ZpZGVycyddW251bWJlcl1bJ2NoZWFwZXN0VGlja2V0J11bJ3RpY2tldHMnXVtudW1iZXJdWydzZWdtZW50cyddW251bWJlcl07XG4gIGV4cG9ydCB0eXBlIF9TZWF0UHJlZmVyZW5jZVR5cGVzID0gU2VhcmNoSXJsUXVlcnlbJ3NlYXJjaElSTCddWydyZXN1bHRzJ11bbnVtYmVyXVsnb3V0Ym91bmQnXVtudW1iZXJdWydwcm92aWRlcnMnXVtudW1iZXJdWydjaGVhcGVzdFRpY2tldCddWyd0aWNrZXRzJ11bbnVtYmVyXVsnc2VnbWVudHMnXVtudW1iZXJdWydzZWF0UHJlZmVyZW5jZVR5cGVzJ11bbnVtYmVyXTtcbiAgZXhwb3J0IHR5cGUgX1NlYXRzID0gU2VhcmNoSXJsUXVlcnlbJ3NlYXJjaElSTCddWydyZXN1bHRzJ11bbnVtYmVyXVsnb3V0Ym91bmQnXVtudW1iZXJdWydwcm92aWRlcnMnXVtudW1iZXJdWydjaGVhcGVzdFRpY2tldCddWyd0aWNrZXRzJ11bbnVtYmVyXVsnc2VnbWVudHMnXVtudW1iZXJdWydzZWF0cyddW251bWJlcl07XG4gIGV4cG9ydCB0eXBlIFRpY2tldE9wdGlvbnMgPSBTZWFyY2hJcmxRdWVyeVsnc2VhcmNoSVJMJ11bJ3Jlc3VsdHMnXVtudW1iZXJdWydvdXRib3VuZCddW251bWJlcl1bJ3Byb3ZpZGVycyddW251bWJlcl1bJ3RpY2tldE9wdGlvbnMnXVtudW1iZXJdO1xuICBleHBvcnQgdHlwZSBfX0lkZW50aWZpZXJzID0gU2VhcmNoSXJsUXVlcnlbJ3NlYXJjaElSTCddWydyZXN1bHRzJ11bbnVtYmVyXVsnb3V0Ym91bmQnXVtudW1iZXJdWydwcm92aWRlcnMnXVtudW1iZXJdWyd0aWNrZXRPcHRpb25zJ11bbnVtYmVyXVsnaWRlbnRpZmllcnMnXTtcbiAgZXhwb3J0IHR5cGUgX1RpY2tldHMgPSBTZWFyY2hJcmxRdWVyeVsnc2VhcmNoSVJMJ11bJ3Jlc3VsdHMnXVtudW1iZXJdWydvdXRib3VuZCddW251bWJlcl1bJ3Byb3ZpZGVycyddW251bWJlcl1bJ3RpY2tldE9wdGlvbnMnXVtudW1iZXJdWyd0aWNrZXRzJ11bbnVtYmVyXTtcbiAgZXhwb3J0IHR5cGUgX19TZWdtZW50cyA9IFNlYXJjaElybFF1ZXJ5WydzZWFyY2hJUkwnXVsncmVzdWx0cyddW251bWJlcl1bJ291dGJvdW5kJ11bbnVtYmVyXVsncHJvdmlkZXJzJ11bbnVtYmVyXVsndGlja2V0T3B0aW9ucyddW251bWJlcl1bJ3RpY2tldHMnXVtudW1iZXJdWydzZWdtZW50cyddW251bWJlcl07XG4gIGV4cG9ydCB0eXBlIF9fU2VhdFByZWZlcmVuY2VUeXBlcyA9IFNlYXJjaElybFF1ZXJ5WydzZWFyY2hJUkwnXVsncmVzdWx0cyddW251bWJlcl1bJ291dGJvdW5kJ11bbnVtYmVyXVsncHJvdmlkZXJzJ11bbnVtYmVyXVsndGlja2V0T3B0aW9ucyddW251bWJlcl1bJ3RpY2tldHMnXVtudW1iZXJdWydzZWdtZW50cyddW251bWJlcl1bJ3NlYXRQcmVmZXJlbmNlVHlwZXMnXVtudW1iZXJdO1xuICBleHBvcnQgdHlwZSBfX1NlYXRzID0gU2VhcmNoSXJsUXVlcnlbJ3NlYXJjaElSTCddWydyZXN1bHRzJ11bbnVtYmVyXVsnb3V0Ym91bmQnXVtudW1iZXJdWydwcm92aWRlcnMnXVtudW1iZXJdWyd0aWNrZXRPcHRpb25zJ11bbnVtYmVyXVsndGlja2V0cyddW251bWJlcl1bJ3NlZ21lbnRzJ11bbnVtYmVyXVsnc2VhdHMnXVtudW1iZXJdO1xuICBleHBvcnQgdHlwZSBCb29rZWRUaWNrZXQgPSBTZWFyY2hJcmxRdWVyeVsnc2VhcmNoSVJMJ11bJ3Jlc3VsdHMnXVtudW1iZXJdWydvdXRib3VuZCddW251bWJlcl1bJ3Byb3ZpZGVycyddW251bWJlcl1bJ2Jvb2tlZFRpY2tldCddO1xuICBleHBvcnQgdHlwZSBfX19JZGVudGlmaWVycyA9IFNlYXJjaElybFF1ZXJ5WydzZWFyY2hJUkwnXVsncmVzdWx0cyddW251bWJlcl1bJ291dGJvdW5kJ11bbnVtYmVyXVsncHJvdmlkZXJzJ11bbnVtYmVyXVsnYm9va2VkVGlja2V0J11bJ2lkZW50aWZpZXJzJ107XG4gIGV4cG9ydCB0eXBlIF9fVGlja2V0cyA9IFNlYXJjaElybFF1ZXJ5WydzZWFyY2hJUkwnXVsncmVzdWx0cyddW251bWJlcl1bJ291dGJvdW5kJ11bbnVtYmVyXVsncHJvdmlkZXJzJ11bbnVtYmVyXVsnYm9va2VkVGlja2V0J11bJ3RpY2tldHMnXVtudW1iZXJdO1xuICBleHBvcnQgdHlwZSBfX19TZWdtZW50cyA9IFNlYXJjaElybFF1ZXJ5WydzZWFyY2hJUkwnXVsncmVzdWx0cyddW251bWJlcl1bJ291dGJvdW5kJ11bbnVtYmVyXVsncHJvdmlkZXJzJ11bbnVtYmVyXVsnYm9va2VkVGlja2V0J11bJ3RpY2tldHMnXVtudW1iZXJdWydzZWdtZW50cyddW251bWJlcl07XG4gIGV4cG9ydCB0eXBlIF9fX1NlYXRQcmVmZXJlbmNlVHlwZXMgPSBTZWFyY2hJcmxRdWVyeVsnc2VhcmNoSVJMJ11bJ3Jlc3VsdHMnXVtudW1iZXJdWydvdXRib3VuZCddW251bWJlcl1bJ3Byb3ZpZGVycyddW251bWJlcl1bJ2Jvb2tlZFRpY2tldCddWyd0aWNrZXRzJ11bbnVtYmVyXVsnc2VnbWVudHMnXVtudW1iZXJdWydzZWF0UHJlZmVyZW5jZVR5cGVzJ11bbnVtYmVyXTtcbiAgZXhwb3J0IHR5cGUgX19fU2VhdHMgPSBTZWFyY2hJcmxRdWVyeVsnc2VhcmNoSVJMJ11bJ3Jlc3VsdHMnXVtudW1iZXJdWydvdXRib3VuZCddW251bWJlcl1bJ3Byb3ZpZGVycyddW251bWJlcl1bJ2Jvb2tlZFRpY2tldCddWyd0aWNrZXRzJ11bbnVtYmVyXVsnc2VnbWVudHMnXVtudW1iZXJdWydzZWF0cyddW251bWJlcl07XG4gIGV4cG9ydCB0eXBlIFRpY2tldEV4dHJhcyA9IFNlYXJjaElybFF1ZXJ5WydzZWFyY2hJUkwnXVsncmVzdWx0cyddW251bWJlcl1bJ291dGJvdW5kJ11bbnVtYmVyXVsndGlja2V0RXh0cmFzJ11bbnVtYmVyXTtcbiAgZXhwb3J0IHR5cGUgX19fX0lkZW50aWZpZXJzID0gU2VhcmNoSXJsUXVlcnlbJ3NlYXJjaElSTCddWydyZXN1bHRzJ11bbnVtYmVyXVsnb3V0Ym91bmQnXVtudW1iZXJdWyd0aWNrZXRFeHRyYXMnXVtudW1iZXJdWydpZGVudGlmaWVycyddO1xuICBleHBvcnQgdHlwZSBQbHVzQnVzID0gU2VhcmNoSXJsUXVlcnlbJ3NlYXJjaElSTCddWydyZXN1bHRzJ11bbnVtYmVyXVsnb3V0Ym91bmQnXVtudW1iZXJdWydwbHVzQnVzJ107XG4gIGV4cG9ydCB0eXBlIFJldHVybiA9IFNlYXJjaElybFF1ZXJ5WydzZWFyY2hJUkwnXVsncmVzdWx0cyddW251bWJlcl1bJ3JldHVybiddW251bWJlcl07XG4gIGV4cG9ydCB0eXBlIF9fX19fSWRlbnRpZmllcnMgPSBTZWFyY2hJcmxRdWVyeVsnc2VhcmNoSVJMJ11bJ3Jlc3VsdHMnXVtudW1iZXJdWydyZXR1cm4nXVtudW1iZXJdWydpZGVudGlmaWVycyddO1xuICBleHBvcnQgdHlwZSBfVHJhdmVsbGVycyA9IFNlYXJjaElybFF1ZXJ5WydzZWFyY2hJUkwnXVsncmVzdWx0cyddW251bWJlcl1bJ3JldHVybiddW251bWJlcl1bJ3RyYXZlbGxlcnMnXVtudW1iZXJdO1xuICBleHBvcnQgdHlwZSBfX19fU2VnbWVudHMgPSBTZWFyY2hJcmxRdWVyeVsnc2VhcmNoSVJMJ11bJ3Jlc3VsdHMnXVtudW1iZXJdWydyZXR1cm4nXVtudW1iZXJdWydzZWdtZW50cyddW251bWJlcl07XG4gIGV4cG9ydCB0eXBlIF9fX19TZWF0UHJlZmVyZW5jZVR5cGVzID0gU2VhcmNoSXJsUXVlcnlbJ3NlYXJjaElSTCddWydyZXN1bHRzJ11bbnVtYmVyXVsncmV0dXJuJ11bbnVtYmVyXVsnc2VnbWVudHMnXVtudW1iZXJdWydzZWF0UHJlZmVyZW5jZVR5cGVzJ11bbnVtYmVyXTtcbiAgZXhwb3J0IHR5cGUgX19fX1NlYXRzID0gU2VhcmNoSXJsUXVlcnlbJ3NlYXJjaElSTCddWydyZXN1bHRzJ11bbnVtYmVyXVsncmV0dXJuJ11bbnVtYmVyXVsnc2VnbWVudHMnXVtudW1iZXJdWydzZWF0cyddW251bWJlcl07XG4gIGV4cG9ydCB0eXBlIF9Qcm92aWRlcnMgPSBTZWFyY2hJcmxRdWVyeVsnc2VhcmNoSVJMJ11bJ3Jlc3VsdHMnXVtudW1iZXJdWydyZXR1cm4nXVtudW1iZXJdWydwcm92aWRlcnMnXVtudW1iZXJdO1xuICBleHBvcnQgdHlwZSBfQ2hlYXBlc3RUaWNrZXQgPSBTZWFyY2hJcmxRdWVyeVsnc2VhcmNoSVJMJ11bJ3Jlc3VsdHMnXVtudW1iZXJdWydyZXR1cm4nXVtudW1iZXJdWydwcm92aWRlcnMnXVtudW1iZXJdWydjaGVhcGVzdFRpY2tldCddO1xuICBleHBvcnQgdHlwZSBfX19fX19JZGVudGlmaWVycyA9IFNlYXJjaElybFF1ZXJ5WydzZWFyY2hJUkwnXVsncmVzdWx0cyddW251bWJlcl1bJ3JldHVybiddW251bWJlcl1bJ3Byb3ZpZGVycyddW251bWJlcl1bJ2NoZWFwZXN0VGlja2V0J11bJ2lkZW50aWZpZXJzJ107XG4gIGV4cG9ydCB0eXBlIF9fX1RpY2tldHMgPSBTZWFyY2hJcmxRdWVyeVsnc2VhcmNoSVJMJ11bJ3Jlc3VsdHMnXVtudW1iZXJdWydyZXR1cm4nXVtudW1iZXJdWydwcm92aWRlcnMnXVtudW1iZXJdWydjaGVhcGVzdFRpY2tldCddWyd0aWNrZXRzJ11bbnVtYmVyXTtcbiAgZXhwb3J0IHR5cGUgX19fX19TZWdtZW50cyA9IFNlYXJjaElybFF1ZXJ5WydzZWFyY2hJUkwnXVsncmVzdWx0cyddW251bWJlcl1bJ3JldHVybiddW251bWJlcl1bJ3Byb3ZpZGVycyddW251bWJlcl1bJ2NoZWFwZXN0VGlja2V0J11bJ3RpY2tldHMnXVtudW1iZXJdWydzZWdtZW50cyddW251bWJlcl07XG4gIGV4cG9ydCB0eXBlIF9fX19fU2VhdFByZWZlcmVuY2VUeXBlcyA9IFNlYXJjaElybFF1ZXJ5WydzZWFyY2hJUkwnXVsncmVzdWx0cyddW251bWJlcl1bJ3JldHVybiddW251bWJlcl1bJ3Byb3ZpZGVycyddW251bWJlcl1bJ2NoZWFwZXN0VGlja2V0J11bJ3RpY2tldHMnXVtudW1iZXJdWydzZWdtZW50cyddW251bWJlcl1bJ3NlYXRQcmVmZXJlbmNlVHlwZXMnXVtudW1iZXJdO1xuICBleHBvcnQgdHlwZSBfX19fX1NlYXRzID0gU2VhcmNoSXJsUXVlcnlbJ3NlYXJjaElSTCddWydyZXN1bHRzJ11bbnVtYmVyXVsncmV0dXJuJ11bbnVtYmVyXVsncHJvdmlkZXJzJ11bbnVtYmVyXVsnY2hlYXBlc3RUaWNrZXQnXVsndGlja2V0cyddW251bWJlcl1bJ3NlZ21lbnRzJ11bbnVtYmVyXVsnc2VhdHMnXVtudW1iZXJdO1xuICBleHBvcnQgdHlwZSBfVGlja2V0T3B0aW9ucyA9IFNlYXJjaElybFF1ZXJ5WydzZWFyY2hJUkwnXVsncmVzdWx0cyddW251bWJlcl1bJ3JldHVybiddW251bWJlcl1bJ3Byb3ZpZGVycyddW251bWJlcl1bJ3RpY2tldE9wdGlvbnMnXVtudW1iZXJdO1xuICBleHBvcnQgdHlwZSBfX19fX19fSWRlbnRpZmllcnMgPSBTZWFyY2hJcmxRdWVyeVsnc2VhcmNoSVJMJ11bJ3Jlc3VsdHMnXVtudW1iZXJdWydyZXR1cm4nXVtudW1iZXJdWydwcm92aWRlcnMnXVtudW1iZXJdWyd0aWNrZXRPcHRpb25zJ11bbnVtYmVyXVsnaWRlbnRpZmllcnMnXTtcbiAgZXhwb3J0IHR5cGUgX19fX1RpY2tldHMgPSBTZWFyY2hJcmxRdWVyeVsnc2VhcmNoSVJMJ11bJ3Jlc3VsdHMnXVtudW1iZXJdWydyZXR1cm4nXVtudW1iZXJdWydwcm92aWRlcnMnXVtudW1iZXJdWyd0aWNrZXRPcHRpb25zJ11bbnVtYmVyXVsndGlja2V0cyddW251bWJlcl07XG4gIGV4cG9ydCB0eXBlIF9fX19fX1NlZ21lbnRzID0gU2VhcmNoSXJsUXVlcnlbJ3NlYXJjaElSTCddWydyZXN1bHRzJ11bbnVtYmVyXVsncmV0dXJuJ11bbnVtYmVyXVsncHJvdmlkZXJzJ11bbnVtYmVyXVsndGlja2V0T3B0aW9ucyddW251bWJlcl1bJ3RpY2tldHMnXVtudW1iZXJdWydzZWdtZW50cyddW251bWJlcl07XG4gIGV4cG9ydCB0eXBlIF9fX19fX1NlYXRQcmVmZXJlbmNlVHlwZXMgPSBTZWFyY2hJcmxRdWVyeVsnc2VhcmNoSVJMJ11bJ3Jlc3VsdHMnXVtudW1iZXJdWydyZXR1cm4nXVtudW1iZXJdWydwcm92aWRlcnMnXVtudW1iZXJdWyd0aWNrZXRPcHRpb25zJ11bbnVtYmVyXVsndGlja2V0cyddW251bWJlcl1bJ3NlZ21lbnRzJ11bbnVtYmVyXVsnc2VhdFByZWZlcmVuY2VUeXBlcyddW251bWJlcl07XG4gIGV4cG9ydCB0eXBlIF9fX19fX1NlYXRzID0gU2VhcmNoSXJsUXVlcnlbJ3NlYXJjaElSTCddWydyZXN1bHRzJ11bbnVtYmVyXVsncmV0dXJuJ11bbnVtYmVyXVsncHJvdmlkZXJzJ11bbnVtYmVyXVsndGlja2V0T3B0aW9ucyddW251bWJlcl1bJ3RpY2tldHMnXVtudW1iZXJdWydzZWdtZW50cyddW251bWJlcl1bJ3NlYXRzJ11bbnVtYmVyXTtcbiAgZXhwb3J0IHR5cGUgX0Jvb2tlZFRpY2tldCA9IFNlYXJjaElybFF1ZXJ5WydzZWFyY2hJUkwnXVsncmVzdWx0cyddW251bWJlcl1bJ3JldHVybiddW251bWJlcl1bJ3Byb3ZpZGVycyddW251bWJlcl1bJ2Jvb2tlZFRpY2tldCddO1xuICBleHBvcnQgdHlwZSBfX19fX19fX0lkZW50aWZpZXJzID0gU2VhcmNoSXJsUXVlcnlbJ3NlYXJjaElSTCddWydyZXN1bHRzJ11bbnVtYmVyXVsncmV0dXJuJ11bbnVtYmVyXVsncHJvdmlkZXJzJ11bbnVtYmVyXVsnYm9va2VkVGlja2V0J11bJ2lkZW50aWZpZXJzJ107XG4gIGV4cG9ydCB0eXBlIF9fX19fVGlja2V0cyA9IFNlYXJjaElybFF1ZXJ5WydzZWFyY2hJUkwnXVsncmVzdWx0cyddW251bWJlcl1bJ3JldHVybiddW251bWJlcl1bJ3Byb3ZpZGVycyddW251bWJlcl1bJ2Jvb2tlZFRpY2tldCddWyd0aWNrZXRzJ11bbnVtYmVyXTtcbiAgZXhwb3J0IHR5cGUgX19fX19fX1NlZ21lbnRzID0gU2VhcmNoSXJsUXVlcnlbJ3NlYXJjaElSTCddWydyZXN1bHRzJ11bbnVtYmVyXVsncmV0dXJuJ11bbnVtYmVyXVsncHJvdmlkZXJzJ11bbnVtYmVyXVsnYm9va2VkVGlja2V0J11bJ3RpY2tldHMnXVtudW1iZXJdWydzZWdtZW50cyddW251bWJlcl07XG4gIGV4cG9ydCB0eXBlIF9fX19fX19TZWF0UHJlZmVyZW5jZVR5cGVzID0gU2VhcmNoSXJsUXVlcnlbJ3NlYXJjaElSTCddWydyZXN1bHRzJ11bbnVtYmVyXVsncmV0dXJuJ11bbnVtYmVyXVsncHJvdmlkZXJzJ11bbnVtYmVyXVsnYm9va2VkVGlja2V0J11bJ3RpY2tldHMnXVtudW1iZXJdWydzZWdtZW50cyddW251bWJlcl1bJ3NlYXRQcmVmZXJlbmNlVHlwZXMnXVtudW1iZXJdO1xuICBleHBvcnQgdHlwZSBfX19fX19fU2VhdHMgPSBTZWFyY2hJcmxRdWVyeVsnc2VhcmNoSVJMJ11bJ3Jlc3VsdHMnXVtudW1iZXJdWydyZXR1cm4nXVtudW1iZXJdWydwcm92aWRlcnMnXVtudW1iZXJdWydib29rZWRUaWNrZXQnXVsndGlja2V0cyddW251bWJlcl1bJ3NlZ21lbnRzJ11bbnVtYmVyXVsnc2VhdHMnXVtudW1iZXJdO1xuICBleHBvcnQgdHlwZSBfVGlja2V0RXh0cmFzID0gU2VhcmNoSXJsUXVlcnlbJ3NlYXJjaElSTCddWydyZXN1bHRzJ11bbnVtYmVyXVsncmV0dXJuJ11bbnVtYmVyXVsndGlja2V0RXh0cmFzJ11bbnVtYmVyXTtcbiAgZXhwb3J0IHR5cGUgX19fX19fX19fSWRlbnRpZmllcnMgPSBTZWFyY2hJcmxRdWVyeVsnc2VhcmNoSVJMJ11bJ3Jlc3VsdHMnXVtudW1iZXJdWydyZXR1cm4nXVtudW1iZXJdWyd0aWNrZXRFeHRyYXMnXVtudW1iZXJdWydpZGVudGlmaWVycyddO1xuICBleHBvcnQgdHlwZSBfUGx1c0J1cyA9IFNlYXJjaElybFF1ZXJ5WydzZWFyY2hJUkwnXVsncmVzdWx0cyddW251bWJlcl1bJ3JldHVybiddW251bWJlcl1bJ3BsdXNCdXMnXTtcbiAgZXhwb3J0IHR5cGUgRXJyb3JzID0gU2VhcmNoSXJsUXVlcnlbJ3NlYXJjaElSTCddWydlcnJvcnMnXVtudW1iZXJdO1xufVxuXG5leHBvcnQgbmFtZXNwYWNlIFNlYXJjaFBvc3Rjb2RlcyB7XG4gIGV4cG9ydCB0eXBlIFZhcmlhYmxlcyA9IFNlYXJjaFBvc3Rjb2Rlc1F1ZXJ5VmFyaWFibGVzO1xuICBleHBvcnQgdHlwZSBRdWVyeSA9IFNlYXJjaFBvc3Rjb2Rlc1F1ZXJ5O1xuICBleHBvcnQgdHlwZSBHZXRQb3N0Y29kZURldGFpbHMgPSBTZWFyY2hQb3N0Y29kZXNRdWVyeVsnZ2V0UG9zdGNvZGVEZXRhaWxzJ107XG59XG5cbmV4cG9ydCBuYW1lc3BhY2UgU2VhcmNoUmFpbFN0YXRpb25zIHtcbiAgZXhwb3J0IHR5cGUgVmFyaWFibGVzID0gU2VhcmNoUmFpbFN0YXRpb25zUXVlcnlWYXJpYWJsZXM7XG4gIGV4cG9ydCB0eXBlIFF1ZXJ5ID0gU2VhcmNoUmFpbFN0YXRpb25zUXVlcnk7XG4gIGV4cG9ydCB0eXBlIFNlYXJjaFJhaWxTdGF0aW9ucyA9IFNlYXJjaFJhaWxTdGF0aW9uc1F1ZXJ5WydzZWFyY2hSYWlsU3RhdGlvbnMnXVtudW1iZXJdO1xuICBleHBvcnQgdHlwZSBMb2NhdGlvbkRldGFpbHMgPSBTZWFyY2hSYWlsU3RhdGlvbnNRdWVyeVsnc2VhcmNoUmFpbFN0YXRpb25zJ11bbnVtYmVyXVsnbG9jYXRpb25EZXRhaWxzJ107XG4gIGV4cG9ydCB0eXBlIENvb3JkaW5hdGVzID0gU2VhcmNoUmFpbFN0YXRpb25zUXVlcnlbJ3NlYXJjaFJhaWxTdGF0aW9ucyddW251bWJlcl1bJ2xvY2F0aW9uRGV0YWlscyddWydjb29yZGluYXRlcyddO1xufVxuXG5leHBvcnQgbmFtZXNwYWNlIFNlYXJjaFVzZXJBZGRyZXNzIHtcbiAgZXhwb3J0IHR5cGUgVmFyaWFibGVzID0gU2VhcmNoVXNlckFkZHJlc3NRdWVyeVZhcmlhYmxlcztcbiAgZXhwb3J0IHR5cGUgUXVlcnkgPSBTZWFyY2hVc2VyQWRkcmVzc1F1ZXJ5O1xuICBleHBvcnQgdHlwZSBHZXRVc2VyQWRkcmVzc2VzID0gU2VhcmNoVXNlckFkZHJlc3NRdWVyeVsnZ2V0VXNlckFkZHJlc3NlcyddW251bWJlcl07XG59XG5cbmV4cG9ydCBuYW1lc3BhY2UgU2V0QmFza2V0SXRlbU1pR3JvdXAge1xuICBleHBvcnQgdHlwZSBWYXJpYWJsZXMgPSBTZXRCYXNrZXRJdGVtTWlHcm91cE11dGF0aW9uVmFyaWFibGVzO1xuICBleHBvcnQgdHlwZSBNdXRhdGlvbiA9IFNldEJhc2tldEl0ZW1NaUdyb3VwTXV0YXRpb247XG4gIGV4cG9ydCB0eXBlIFNldEJhc2tldEl0ZW1NaUdyb3VwID0gU2V0QmFza2V0SXRlbU1pR3JvdXBNdXRhdGlvblsnc2V0QmFza2V0SXRlbU1JR3JvdXAnXTtcbn1cblxuZXhwb3J0IG5hbWVzcGFjZSBTZXRCYXNrZXRJdGVtTGVhZFBhc3NlbmdlciB7XG4gIGV4cG9ydCB0eXBlIFZhcmlhYmxlcyA9IFNldEJhc2tldEl0ZW1MZWFkUGFzc2VuZ2VyTXV0YXRpb25WYXJpYWJsZXM7XG4gIGV4cG9ydCB0eXBlIE11dGF0aW9uID0gU2V0QmFza2V0SXRlbUxlYWRQYXNzZW5nZXJNdXRhdGlvbjtcbiAgZXhwb3J0IHR5cGUgU2V0QmFza2V0SXRlbUxlYWRQYXNzZW5nZXIgPSBTZXRCYXNrZXRJdGVtTGVhZFBhc3Nlbmdlck11dGF0aW9uWydzZXRCYXNrZXRJdGVtTGVhZFBhc3NlbmdlciddO1xufVxuXG5leHBvcnQgbmFtZXNwYWNlIFNldEJhc2tldEl0ZW1NaVZhbHVlIHtcbiAgZXhwb3J0IHR5cGUgVmFyaWFibGVzID0gU2V0QmFza2V0SXRlbU1pVmFsdWVNdXRhdGlvblZhcmlhYmxlcztcbiAgZXhwb3J0IHR5cGUgTXV0YXRpb24gPSBTZXRCYXNrZXRJdGVtTWlWYWx1ZU11dGF0aW9uO1xuICBleHBvcnQgdHlwZSBTZXRCYXNrZXRJdGVtTWlWYWx1ZSA9IFNldEJhc2tldEl0ZW1NaVZhbHVlTXV0YXRpb25bJ3NldEJhc2tldEl0ZW1NSVZhbHVlJ107XG59XG5cbmV4cG9ydCBuYW1lc3BhY2UgU2V0QmFza2V0SXRlbVBheW1lbnRNZXRob2Qge1xuICBleHBvcnQgdHlwZSBWYXJpYWJsZXMgPSBTZXRCYXNrZXRJdGVtUGF5bWVudE1ldGhvZE11dGF0aW9uVmFyaWFibGVzO1xuICBleHBvcnQgdHlwZSBNdXRhdGlvbiA9IFNldEJhc2tldEl0ZW1QYXltZW50TWV0aG9kTXV0YXRpb247XG4gIGV4cG9ydCB0eXBlIFNldEJhc2tldEl0ZW1QYXltZW50TWV0aG9kID0gU2V0QmFza2V0SXRlbVBheW1lbnRNZXRob2RNdXRhdGlvblsnc2V0QmFza2V0SXRlbVBheW1lbnRNZXRob2QnXTtcbn1cblxuZXhwb3J0IG5hbWVzcGFjZSBVcGRhdGVCYXNrZXROb3RlcyB7XG4gIGV4cG9ydCB0eXBlIFZhcmlhYmxlcyA9IFVwZGF0ZUJhc2tldE5vdGVzTXV0YXRpb25WYXJpYWJsZXM7XG4gIGV4cG9ydCB0eXBlIE11dGF0aW9uID0gVXBkYXRlQmFza2V0Tm90ZXNNdXRhdGlvbjtcbiAgZXhwb3J0IHR5cGUgVXBkYXRlQmFza2V0Tm90ZXMgPSBVcGRhdGVCYXNrZXROb3Rlc011dGF0aW9uWyd1cGRhdGVCYXNrZXROb3RlcyddO1xufVxuXG5leHBvcnQgbmFtZXNwYWNlIFVwZGF0ZUJhc2tldFRpdGxlIHtcbiAgZXhwb3J0IHR5cGUgVmFyaWFibGVzID0gVXBkYXRlQmFza2V0VGl0bGVNdXRhdGlvblZhcmlhYmxlcztcbiAgZXhwb3J0IHR5cGUgTXV0YXRpb24gPSBVcGRhdGVCYXNrZXRUaXRsZU11dGF0aW9uO1xuICBleHBvcnQgdHlwZSBVcGRhdGVCYXNrZXRUaXRsZSA9IFVwZGF0ZUJhc2tldFRpdGxlTXV0YXRpb25bJ3VwZGF0ZUJhc2tldFRpdGxlJ107XG59XG5cbmV4cG9ydCBuYW1lc3BhY2UgVXNlckZpZWxkcyB7XG4gIGV4cG9ydCB0eXBlIEZyYWdtZW50ID0gVXNlckZpZWxkc0ZyYWdtZW50O1xuICBleHBvcnQgdHlwZSBTZWxlY3RlZExhbmd1YWdlID0gVXNlckZpZWxkc0ZyYWdtZW50WydzZWxlY3RlZExhbmd1YWdlJ107XG4gIGV4cG9ydCB0eXBlIEF2YWlsYWJsZUxhbmd1YWdlcyA9IFVzZXJGaWVsZHNGcmFnbWVudFsnYXZhaWxhYmxlTGFuZ3VhZ2VzJ11bbnVtYmVyXTtcbiAgZXhwb3J0IHR5cGUgUGFzc3BvcnRzID0gVXNlckZpZWxkc0ZyYWdtZW50WydwYXNzcG9ydHMnXVtudW1iZXJdO1xuICBleHBvcnQgdHlwZSBBZGRyZXNzZXMgPSBVc2VyRmllbGRzRnJhZ21lbnRbJ2FkZHJlc3NlcyddW251bWJlcl07XG4gIGV4cG9ydCB0eXBlIFBob25lTnVtYmVycyA9IFVzZXJGaWVsZHNGcmFnbWVudFsncGhvbmVOdW1iZXJzJ11bbnVtYmVyXTtcbn1cblxuZXhwb3J0IG5hbWVzcGFjZSBHZXRVc2VyU2VydmljZXMge1xuICBleHBvcnQgdHlwZSBWYXJpYWJsZXMgPSBHZXRVc2VyU2VydmljZXNRdWVyeVZhcmlhYmxlcztcbiAgZXhwb3J0IHR5cGUgUXVlcnkgPSBHZXRVc2VyU2VydmljZXNRdWVyeTtcbiAgZXhwb3J0IHR5cGUgR2V0VXNlclNlcnZpY2VzID0gR2V0VXNlclNlcnZpY2VzUXVlcnlbJ2dldFVzZXJTZXJ2aWNlcyddW251bWJlcl07XG59XG5cbmV4cG9ydCBuYW1lc3BhY2UgR2V0VXNlclVpQ29uZmlncyB7XG4gIGV4cG9ydCB0eXBlIFZhcmlhYmxlcyA9IEdldFVzZXJVaUNvbmZpZ3NRdWVyeVZhcmlhYmxlcztcbiAgZXhwb3J0IHR5cGUgUXVlcnkgPSBHZXRVc2VyVWlDb25maWdzUXVlcnk7XG4gIGV4cG9ydCB0eXBlIEdldFVzZXJVaUNvbmZpZ3MgPSBHZXRVc2VyVWlDb25maWdzUXVlcnlbJ2dldFVzZXJVSUNvbmZpZ3MnXTtcbiAgZXhwb3J0IHR5cGUgQWxsID0gR2V0VXNlclVpQ29uZmlnc1F1ZXJ5WydnZXRVc2VyVUlDb25maWdzJ11bJ2FsbCddW251bWJlcl07XG59XG5cbmV4cG9ydCBuYW1lc3BhY2UgR2V0VXNlck1lc3NhZ2VzIHtcbiAgZXhwb3J0IHR5cGUgVmFyaWFibGVzID0gR2V0VXNlck1lc3NhZ2VzUXVlcnlWYXJpYWJsZXM7XG4gIGV4cG9ydCB0eXBlIFF1ZXJ5ID0gR2V0VXNlck1lc3NhZ2VzUXVlcnk7XG4gIGV4cG9ydCB0eXBlIEdldFVzZXJNZXNzYWdlcyA9IEdldFVzZXJNZXNzYWdlc1F1ZXJ5WydnZXRVc2VyTWVzc2FnZXMnXVtudW1iZXJdO1xufVxuXG5leHBvcnQgbmFtZXNwYWNlIEdldFVzZXJQaG9uZU51bWJlcnMge1xuICBleHBvcnQgdHlwZSBWYXJpYWJsZXMgPSBHZXRVc2VyUGhvbmVOdW1iZXJzUXVlcnlWYXJpYWJsZXM7XG4gIGV4cG9ydCB0eXBlIFF1ZXJ5ID0gR2V0VXNlclBob25lTnVtYmVyc1F1ZXJ5O1xuICBleHBvcnQgdHlwZSBHZXRVc2VyUGhvbmVOdW1iZXJzID0gR2V0VXNlclBob25lTnVtYmVyc1F1ZXJ5WydnZXRVc2VyUGhvbmVOdW1iZXJzJ11bbnVtYmVyXTtcbn1cblxuZXhwb3J0IG5hbWVzcGFjZSBTZXRVc2VyTGFuZ3VhZ2Uge1xuICBleHBvcnQgdHlwZSBWYXJpYWJsZXMgPSBTZXRVc2VyTGFuZ3VhZ2VNdXRhdGlvblZhcmlhYmxlcztcbiAgZXhwb3J0IHR5cGUgTXV0YXRpb24gPSBTZXRVc2VyTGFuZ3VhZ2VNdXRhdGlvbjtcbiAgZXhwb3J0IHR5cGUgU2V0VXNlckxhbmd1YWdlID0gU2V0VXNlckxhbmd1YWdlTXV0YXRpb25bJ3NldFVzZXJMYW5ndWFnZSddO1xuICBleHBvcnQgdHlwZSBTZWxlY3RlZExhbmd1YWdlID0gU2V0VXNlckxhbmd1YWdlTXV0YXRpb25bJ3NldFVzZXJMYW5ndWFnZSddWydzZWxlY3RlZExhbmd1YWdlJ107XG59XG5cbmV4cG9ydCBuYW1lc3BhY2UgR2V0VXNlciB7XG4gIGV4cG9ydCB0eXBlIFZhcmlhYmxlcyA9IEdldFVzZXJRdWVyeVZhcmlhYmxlcztcbiAgZXhwb3J0IHR5cGUgUXVlcnkgPSBHZXRVc2VyUXVlcnk7XG4gIGV4cG9ydCB0eXBlIEdldFVzZXIgPSBHZXRVc2VyUXVlcnlbJ2dldFVzZXInXTtcbn1cblxuZXhwb3J0IG5hbWVzcGFjZSBTZWFyY2hVc2VyQ2FuQm9va0ZvciB7XG4gIGV4cG9ydCB0eXBlIFZhcmlhYmxlcyA9IFNlYXJjaFVzZXJDYW5Cb29rRm9yUXVlcnlWYXJpYWJsZXM7XG4gIGV4cG9ydCB0eXBlIFF1ZXJ5ID0gU2VhcmNoVXNlckNhbkJvb2tGb3JRdWVyeTtcbiAgZXhwb3J0IHR5cGUgU2VhcmNoVXNlckNhbkJvb2tGb3IgPSBTZWFyY2hVc2VyQ2FuQm9va0ZvclF1ZXJ5WydzZWFyY2hVc2VyQ2FuQm9va0ZvciddW251bWJlcl07XG59XG5cbmV4cG9ydCBuYW1lc3BhY2UgVmFsaWRhdGVVc2VyTWlGcmVlVmFsdWUge1xuICBleHBvcnQgdHlwZSBWYXJpYWJsZXMgPSBWYWxpZGF0ZVVzZXJNaUZyZWVWYWx1ZVF1ZXJ5VmFyaWFibGVzO1xuICBleHBvcnQgdHlwZSBRdWVyeSA9IFZhbGlkYXRlVXNlck1pRnJlZVZhbHVlUXVlcnk7XG59XG5cbmV4cG9ydCBjb25zdCBPd25lckZpZWxkc0ZyYWdtZW50RG9jID0gZ3FsYFxuICAgIGZyYWdtZW50IE93bmVyRmllbGRzIG9uIFVzZXIge1xuICBpZFxuICB0aXRsZVxuICBmb3JlbmFtZVxuICBzdXJuYW1lXG4gIGVtYWlsXG59XG4gICAgYDtcbmV4cG9ydCBjb25zdCBUcmF2ZWxsZXJGaWVsZHNGcmFnbWVudERvYyA9IGdxbGBcbiAgICBmcmFnbWVudCBUcmF2ZWxsZXJGaWVsZHMgb24gVXNlciB7XG4gIGlkXG4gIHRpdGxlXG4gIGZvcmVuYW1lXG4gIHN1cm5hbWVcbiAgZW1haWxcbiAgdXNlcm5hbWVcbiAgZW1wbG95ZWVJZFxufVxuICAgIGA7XG5leHBvcnQgY29uc3QgQmFza2V0RmllbGRzRnJhZ21lbnREb2MgPSBncWxgXG4gICAgZnJhZ21lbnQgQmFza2V0RmllbGRzIG9uIEJhc2tldCB7XG4gIGlkXG4gIG93bmVyIHtcbiAgICAuLi5Pd25lckZpZWxkc1xuICB9XG4gIHJlZmVyZW5jZVxuICB0aXRsZVxuICBub3Rlc1xuICBjcmVhdGVkQXRcbiAgdXBkYXRlZEF0XG4gIGJvb2tlZEF0XG4gIGJhc2tldEl0ZW1zIHtcbiAgICBpZFxuICAgIGFkdWx0c1xuICAgIGNoaWxkcmVuXG4gICAgaW5mYW50c1xuICAgIGRldGFpbFxuICAgIGRldGFpbEhhc2hcbiAgICBjcmVhdGVkQXRcbiAgICB1cGRhdGVkQXRcbiAgICBleHBpcnlcbiAgICBleHBpcmVkXG4gICAgc2VhcmNoUXVlcnlcbiAgICBwcmljZVxuICAgIGN1cnJlbmN5XG4gICAgbWlHcm91cHNBdmFpbGFibGVcbiAgICBtaUdyb3VwU2VsZWN0ZWRcbiAgICB2YWxpZGF0ZWRcbiAgICBsYXRlc3RWYWxpZGF0aW9uXG4gICAgbGF0ZXN0VmFsaWRhdGlvblByaWNlXG4gICAgbGF0ZXN0VmFsaWRhdGlvblByaWNlRGlmZmVyZW5jZVxuICAgIGxhdGVzdFZhbGlkYXRpb25BdmFpbGFibGVcbiAgICBib29raW5nVGhpcmRQYXJ0eVJlZmVyZW5jZVxuICAgIHBuckxvY2F0b3JcbiAgICBzdGF0dXNcbiAgICBhdmFpbGFibGVQYXltZW50TWV0aG9kcyB7XG4gICAgICBpZFxuICAgICAgbmFtZVxuICAgICAgZGVzY3JpcHRpb25cbiAgICB9XG4gICAgc2VsZWN0ZWRQYXltZW50TWV0aG9kIHtcbiAgICAgIGlkXG4gICAgICBuYW1lXG4gICAgICBkZXNjcmlwdGlvblxuICAgIH1cbiAgICBwZXJJdGVtU3VwcGxlbWVudGFyeUJvb2tpbmdJbmZvU2NoZW1hIEBpbmNsdWRlKGlmOiAkd2l0aFN1cHBsZW1lbnRhbClcbiAgICBwZXJQYXNzZW5nZXJTdXBwbGVtZW50YXJ5Qm9va2luZ0luZm9TY2hlbWEgQGluY2x1ZGUoaWY6ICR3aXRoU3VwcGxlbWVudGFsKVxuICAgIHBlckl0ZW1BZGRyZXNzIEBpbmNsdWRlKGlmOiAkd2l0aFN1cHBsZW1lbnRhbClcbiAgICBwZXJJdGVtUGhvbmVOdW1iZXIgQGluY2x1ZGUoaWY6ICR3aXRoU3VwcGxlbWVudGFsKVxuICAgIHBlclBhc3NlbmdlckFkZHJlc3MgQGluY2x1ZGUoaWY6ICR3aXRoU3VwcGxlbWVudGFsKVxuICAgIHBlclBhc3NlbmdlclBob25lTnVtYmVyIEBpbmNsdWRlKGlmOiAkd2l0aFN1cHBsZW1lbnRhbClcbiAgICBjYW5jZWxsYWJsZVxuICAgIGFtZW5kYWJsZVxuICAgIGNvMlBlckl0ZW1cbiAgICBjbzJQZXJQYXNzZW5nZXJcbiAgICBvdXRib3VuZERhdGVcbiAgICBpbmJvdW5kRGF0ZVxuICAgIHNlcnZpY2Uge1xuICAgICAgaWRcbiAgICAgIHR5cGVcbiAgICB9XG4gICAgdXNlcnMge1xuICAgICAgLi4uVHJhdmVsbGVyRmllbGRzXG4gICAgfVxuICAgIHVzZXJQYXNzZW5nZXJUeXBlcyB7XG4gICAgICBpZFxuICAgICAgcGFzc2VuZ2VyVHlwZVxuICAgIH1cbiAgICBsZWFkUGFzc2VuZ2VyIHtcbiAgICAgIC4uLlRyYXZlbGxlckZpZWxkc1xuICAgIH1cbiAgICBtYW5hZ2VtZW50SW5mbyB7XG4gICAgICBpZFxuICAgICAgZGJJZFxuICAgICAgbmFtZVxuICAgICAgZGVzY3JpcHRpb25cbiAgICAgIGhhbmRvZmZcbiAgICAgIHZhbHVlTWFza1xuICAgICAgdWlQcmVzZW50YXRpb25cbiAgICAgIG1hbmRhdG9yeVxuICAgICAgcGVyUGFzc2VuZ2VyXG4gICAgICBwZXJCb29raW5nXG4gICAgICBhZ2VudE9ubHlcbiAgICAgIGNyZWF0ZWRBdFxuICAgICAgdXBkYXRlZEF0XG4gICAgICBmaXhlZFxuICAgICAgZml4ZWRWYWx1ZSB7XG4gICAgICAgIGlkXG4gICAgICAgIGxhYmVsXG4gICAgICAgIHZhbHVlXG4gICAgICAgIGRlZmF1bHRcbiAgICAgICAgZml4ZWRcbiAgICAgICAgYWdlbnRPbmx5XG4gICAgICB9XG4gICAgICBkZWZhdWx0VmFsdWUge1xuICAgICAgICBpZFxuICAgICAgICBsYWJlbFxuICAgICAgICB2YWx1ZVxuICAgICAgICBkZWZhdWx0XG4gICAgICAgIGZpeGVkXG4gICAgICAgIGFnZW50T25seVxuICAgICAgfVxuICAgICAgdmFsdWVzIHtcbiAgICAgICAgaWRcbiAgICAgICAgbGFiZWxcbiAgICAgICAgdmFsdWVcbiAgICAgICAgZGVmYXVsdFxuICAgICAgICBmaXhlZFxuICAgICAgICBhZ2VudE9ubHlcbiAgICAgIH1cbiAgICAgIGdyb3VwXG4gICAgICBzZWxlY3RlZFZhbHVlcyB7XG4gICAgICAgIHZhbHVlIHtcbiAgICAgICAgICBpZFxuICAgICAgICAgIGxhYmVsXG4gICAgICAgICAgdmFsdWVcbiAgICAgICAgICBkZWZhdWx0XG4gICAgICAgICAgZml4ZWRcbiAgICAgICAgICBhZ2VudE9ubHlcbiAgICAgICAgfVxuICAgICAgICBmcmVlVmFsdWVcbiAgICAgICAgYmFza2V0TGV2ZWxWYWx1ZVxuICAgICAgICB1c2VyTGV2ZWxWYWx1ZVxuICAgICAgICB1c2VyIHtcbiAgICAgICAgICBpZFxuICAgICAgICAgIHRpdGxlXG4gICAgICAgICAgZm9yZW5hbWVcbiAgICAgICAgICBzdXJuYW1lXG4gICAgICAgICAgZW1haWxcbiAgICAgICAgICB1c2VybmFtZVxuICAgICAgICAgIGVtcGxveWVlSWRcbiAgICAgICAgICBjcmVhdGVkQXRcbiAgICAgICAgICB1cGRhdGVkQXRcbiAgICAgICAgICBkb2JcbiAgICAgICAgICBhZG1pblxuICAgICAgICAgIGNvbXBhbnlBZG1pblxuICAgICAgICAgIGJvb2tlclR5cGVcbiAgICAgICAgICBhdXRoTWV0aG9kc1xuICAgICAgICAgIGFjdGl2ZVxuICAgICAgICAgIHBhc3N3b3JkTGFzdFVwZGF0ZWRcbiAgICAgICAgfVxuICAgICAgfVxuICAgIH1cbiAgfVxuICBzdGF0dXNcbiAgY29tcGFueUdyb3VwIHtcbiAgICBpZFxuICAgIG5hbWVcbiAgICBkZXNjcmlwdGlvblxuICAgIGNyZWF0ZWRBdFxuICAgIHVwZGF0ZWRBdFxuICB9XG4gIHZhbGlkYXRlZFxufVxuICAgICR7T3duZXJGaWVsZHNGcmFnbWVudERvY31cbiR7VHJhdmVsbGVyRmllbGRzRnJhZ21lbnREb2N9YDtcbmV4cG9ydCBjb25zdCBFcnJvcnNGcmFnbWVudERvYyA9IGdxbGBcbiAgICBmcmFnbWVudCBFcnJvcnMgb24gU2VhcmNoRXJyb3Ige1xuICBzZXJ2aWNlIHtcbiAgICBpZFxuICAgIHR5cGVcbiAgICBuYW1lXG4gICAgZGVzY3JpcHRpb25cbiAgfVxuICBlcnJvck1lc3NhZ2VcbiAgZXJyb3JDb2RlXG59XG4gICAgYDtcbmV4cG9ydCBjb25zdCBHcm91cGVkRmllbGRzRnJhZ21lbnREb2MgPSBncWxgXG4gICAgZnJhZ21lbnQgR3JvdXBlZEZpZWxkcyBvbiBHcm91cEZsaWdodHMge1xuICByZWZlcmVuY2VJRFxuICBmbGlnaHRJRFxuICBib3VuZEluZGljYXRvclxuICBtaW5QcmljZVxuICBtYXhQcmljZVxuICBmbGlnaHRzIHtcbiAgICBMaXRlRWNvbm9teVxuICAgIEVjb25vbXlSZXN0cmljdGVkXG4gICAgRWNvbm9teU5vQmFnc1xuICAgIEVjb25vbXlcbiAgICBQcmVtaXVtRWNvbm9teVxuICAgIEJ1c2luZXNzXG4gICAgUHJlbWl1bUJ1c2luZXNzXG4gICAgRmlyc3RcbiAgICBQcmVtaXVtRmlyc3RcbiAgfVxufVxuICAgIGA7XG5leHBvcnQgY29uc3QgTG9jYXRpb25fRGV0YWlsRnJhZ21lbnREb2MgPSBncWxgXG4gICAgZnJhZ21lbnQgTE9DQVRJT05fREVUQUlMIG9uIExvY2F0aW9uRGV0YWlsIHtcbiAgY29udGluZW50XG4gIGNvdW50cnlcbiAgY291bnRyeUNvZGVcbiAgc3RhdGVcbiAgY2l0eVxuICBjb29yZGluYXRlcyB7XG4gICAgbGF0aXR1ZGVcbiAgICBsb25naXR1ZGVcbiAgICBhbHRpdHVkZVxuICB9XG4gIHBvc3Rjb2RlXG4gIHJvYWRcbiAgZ3JpZFJlZmVyZW5jZVxuICBub3J0aGluZ1xuICBlYXN0aW5nXG59XG4gICAgYDtcbmV4cG9ydCBjb25zdCBVc2VyRmllbGRzRnJhZ21lbnREb2MgPSBncWxgXG4gICAgZnJhZ21lbnQgVXNlckZpZWxkcyBvbiBVc2VyIHtcbiAgaWRcbiAgdGl0bGVcbiAgZm9yZW5hbWVcbiAgc3VybmFtZVxuICBlbWFpbFxuICB1c2VybmFtZVxuICBlbXBsb3llZUlkXG4gIGNyZWF0ZWRBdFxuICB1cGRhdGVkQXRcbiAgZG9iXG4gIGFkbWluXG4gIHRtY0FkbWluXG4gIGNvbXBhbnlBZG1pblxuICBib29rZXJUeXBlXG4gIGF1dGhNZXRob2RzXG4gIGFjdGl2ZVxuICBwYXNzd29yZExhc3RVcGRhdGVkXG4gIHNlbGVjdGVkTGFuZ3VhZ2Uge1xuICAgIGlkXG4gICAgbmFtZVxuICAgIGlzb0NvZGVcbiAgfVxuICBhdmFpbGFibGVMYW5ndWFnZXMge1xuICAgIGlkXG4gICAgbmFtZVxuICAgIGlzb0NvZGVcbiAgfVxuICBwYXNzcG9ydHMge1xuICAgIGlkXG4gICAgbnVtYmVyXG4gICAgY29kZU9mSXNzdWluZ1N0YXRlXG4gICAgbmF0aW9uYWxpdHlcbiAgICBzZXhcbiAgICBkb2JcbiAgICBzdXJuYW1lXG4gICAgZ2l2ZW5OYW1lc1xuICAgIGRhdGVPZklzc3VlXG4gICAgY3JlYXRlZEF0XG4gICAgdXBkYXRlZEF0XG4gIH1cbiAgYWRkcmVzc2VzIHtcbiAgICBpZFxuICAgIGRlc2NyaXB0aW9uXG4gICAgbnVtYmVyT3JOYW1lXG4gICAgc3RyZWV0XG4gICAgdG93blxuICAgIGNvdW50eVxuICAgIHBvc3Rjb2RlXG4gICAgY291bnRyeUNvZGVcbiAgICB1c2VyUHJpbWFyeVxuICAgIG9mZmljZVByaW1hcnlcbiAgfVxuICBwaG9uZU51bWJlcnMge1xuICAgIGlkXG4gICAgZGVzY3JpcHRpb25cbiAgICBjb3VudHJ5Q29kZVxuICAgIGFyZWFDb2RlXG4gICAgbnVtYmVyXG4gICAgZXh0ZW5zaW9uXG4gICAgdHlwZVxuICAgIG9mZmljZVByaW1hcnlcbiAgICB1c2VyUHJpbWFyeVxuICB9XG59XG4gICAgYDtcbmV4cG9ydCBjb25zdCBBY2NlcHROZXdQcmljZURvY3VtZW50ID0gZ3FsYFxuICAgIG11dGF0aW9uIGFjY2VwdE5ld1ByaWNlKCRpZDogSUQhLCAkd2l0aFN1cHBsZW1lbnRhbDogQm9vbGVhbiA9IGZhbHNlKSB7XG4gIGFjY2VwdE5ld1ByaWNlKGlkOiAkaWQpIHtcbiAgICAuLi5CYXNrZXRGaWVsZHNcbiAgfVxufVxuICAgICR7QmFza2V0RmllbGRzRnJhZ21lbnREb2N9YDtcblxuICBASW5qZWN0YWJsZSh7XG4gICAgcHJvdmlkZWRJbjogJ3Jvb3QnXG4gIH0pXG4gIGV4cG9ydCBjbGFzcyBBY2NlcHROZXdQcmljZUdRTCBleHRlbmRzIEFwb2xsby5NdXRhdGlvbjxBY2NlcHROZXdQcmljZU11dGF0aW9uLCBBY2NlcHROZXdQcmljZU11dGF0aW9uVmFyaWFibGVzPiB7XG4gICAgZG9jdW1lbnQgPSBBY2NlcHROZXdQcmljZURvY3VtZW50O1xuICAgIFxuICAgIGNvbnN0cnVjdG9yKGFwb2xsbzogQXBvbGxvLkFwb2xsbykge1xuICAgICAgc3VwZXIoYXBvbGxvKTtcbiAgICB9XG4gIH1cbmV4cG9ydCBjb25zdCBBZGRVc2Vyc1RvQmFza2V0SXRlbURvY3VtZW50ID0gZ3FsYFxuICAgIG11dGF0aW9uIGFkZFVzZXJzVG9CYXNrZXRJdGVtKCRiYXNrZXRJdGVtOiBJRCEsICR1c2VyczogW1VzZXJQYXNzZW5nZXJUeXBlSW5wdXQhXSEsICR3aXRoU3VwcGxlbWVudGFsOiBCb29sZWFuISkge1xuICBhZGRVc2Vyc1RvQmFza2V0SXRlbShiYXNrZXRJdGVtOiAkYmFza2V0SXRlbSwgdXNlcnM6ICR1c2Vycykge1xuICAgIC4uLkJhc2tldEZpZWxkc1xuICB9XG59XG4gICAgJHtCYXNrZXRGaWVsZHNGcmFnbWVudERvY31gO1xuXG4gIEBJbmplY3RhYmxlKHtcbiAgICBwcm92aWRlZEluOiAncm9vdCdcbiAgfSlcbiAgZXhwb3J0IGNsYXNzIEFkZFVzZXJzVG9CYXNrZXRJdGVtR1FMIGV4dGVuZHMgQXBvbGxvLk11dGF0aW9uPEFkZFVzZXJzVG9CYXNrZXRJdGVtTXV0YXRpb24sIEFkZFVzZXJzVG9CYXNrZXRJdGVtTXV0YXRpb25WYXJpYWJsZXM+IHtcbiAgICBkb2N1bWVudCA9IEFkZFVzZXJzVG9CYXNrZXRJdGVtRG9jdW1lbnQ7XG4gICAgXG4gICAgY29uc3RydWN0b3IoYXBvbGxvOiBBcG9sbG8uQXBvbGxvKSB7XG4gICAgICBzdXBlcihhcG9sbG8pO1xuICAgIH1cbiAgfVxuZXhwb3J0IGNvbnN0IEdldFVzZXJCYXNrZXRzRG9jdW1lbnQgPSBncWxgXG4gICAgcXVlcnkgZ2V0VXNlckJhc2tldHMoJHVzZXI6IElELCAkdHJhdmVsbGVyOiBJRCwgJGJhc2tldFN0YXR1czogQmFza2V0U3RhdHVzLCAkY3JlYXRlZEFmdGVyOiBEYXRlVGltZSwgJGNyZWF0ZWRCZWZvcmU6IERhdGVUaW1lLCAkYm9va2VkQWZ0ZXI6IERhdGVUaW1lLCAkYm9va2VkQmVmb3JlOiBEYXRlVGltZSwgJGRhdGVPZlRyYXZlbEJlZm9yZTogRGF0ZVRpbWUsICRkYXRlT2ZUcmF2ZWxBZnRlcjogRGF0ZVRpbWUsICRiYXNrZXRJdGVtQm9va2luZ1JlZmVyZW5jZTogU3RyaW5nLCAkYmFza2V0UmVmZXJlbmNlOiBTdHJpbmcsICRiYXNrZXRUaXRsZTogU3RyaW5nLCAkd2l0aFN1cHBsZW1lbnRhbDogQm9vbGVhbiA9IGZhbHNlKSB7XG4gIGdldFVzZXJCYXNrZXRzKHVzZXI6ICR1c2VyLCB0cmF2ZWxsZXI6ICR0cmF2ZWxsZXIsIGJhc2tldFN0YXR1czogJGJhc2tldFN0YXR1cywgY3JlYXRlZEFmdGVyOiAkY3JlYXRlZEFmdGVyLCBjcmVhdGVkQmVmb3JlOiAkY3JlYXRlZEJlZm9yZSwgYm9va2VkQWZ0ZXI6ICRib29rZWRBZnRlciwgYm9va2VkQmVmb3JlOiAkYm9va2VkQmVmb3JlLCBkYXRlT2ZUcmF2ZWxCZWZvcmU6ICRkYXRlT2ZUcmF2ZWxCZWZvcmUsIGRhdGVPZlRyYXZlbEFmdGVyOiAkZGF0ZU9mVHJhdmVsQWZ0ZXIsIGJhc2tldEl0ZW1Cb29raW5nUmVmZXJlbmNlOiAkYmFza2V0SXRlbUJvb2tpbmdSZWZlcmVuY2UsIGJhc2tldFJlZmVyZW5jZTogJGJhc2tldFJlZmVyZW5jZSwgYmFza2V0VGl0bGU6ICRiYXNrZXRUaXRsZSkge1xuICAgIC4uLkJhc2tldEZpZWxkc1xuICB9XG59XG4gICAgJHtCYXNrZXRGaWVsZHNGcmFnbWVudERvY31gO1xuXG4gIEBJbmplY3RhYmxlKHtcbiAgICBwcm92aWRlZEluOiAncm9vdCdcbiAgfSlcbiAgZXhwb3J0IGNsYXNzIEdldFVzZXJCYXNrZXRzR1FMIGV4dGVuZHMgQXBvbGxvLlF1ZXJ5PEdldFVzZXJCYXNrZXRzUXVlcnksIEdldFVzZXJCYXNrZXRzUXVlcnlWYXJpYWJsZXM+IHtcbiAgICBkb2N1bWVudCA9IEdldFVzZXJCYXNrZXRzRG9jdW1lbnQ7XG4gICAgXG4gICAgY29uc3RydWN0b3IoYXBvbGxvOiBBcG9sbG8uQXBvbGxvKSB7XG4gICAgICBzdXBlcihhcG9sbG8pO1xuICAgIH1cbiAgfVxuZXhwb3J0IGNvbnN0IERlbGV0ZUJhc2tldERvY3VtZW50ID0gZ3FsYFxuICAgIG11dGF0aW9uIGRlbGV0ZUJhc2tldCgkaWQ6IElELCAkcmVmZXJlbmNlOiBTdHJpbmcpIHtcbiAgZGVsZXRlQmFza2V0KGlkOiAkaWQsIHJlZmVyZW5jZTogJHJlZmVyZW5jZSlcbn1cbiAgICBgO1xuXG4gIEBJbmplY3RhYmxlKHtcbiAgICBwcm92aWRlZEluOiAncm9vdCdcbiAgfSlcbiAgZXhwb3J0IGNsYXNzIERlbGV0ZUJhc2tldEdRTCBleHRlbmRzIEFwb2xsby5NdXRhdGlvbjxEZWxldGVCYXNrZXRNdXRhdGlvbiwgRGVsZXRlQmFza2V0TXV0YXRpb25WYXJpYWJsZXM+IHtcbiAgICBkb2N1bWVudCA9IERlbGV0ZUJhc2tldERvY3VtZW50O1xuICAgIFxuICAgIGNvbnN0cnVjdG9yKGFwb2xsbzogQXBvbGxvLkFwb2xsbykge1xuICAgICAgc3VwZXIoYXBvbGxvKTtcbiAgICB9XG4gIH1cbmV4cG9ydCBjb25zdCBDcmVhdGVCYXNrZXREb2N1bWVudCA9IGdxbGBcbiAgICBtdXRhdGlvbiBjcmVhdGVCYXNrZXQoJHRpdGxlOiBTdHJpbmcsICR3aXRoU3VwcGxlbWVudGFsOiBCb29sZWFuID0gZmFsc2UpIHtcbiAgY3JlYXRlQmFza2V0KHRpdGxlOiAkdGl0bGUpIHtcbiAgICAuLi5CYXNrZXRGaWVsZHNcbiAgfVxufVxuICAgICR7QmFza2V0RmllbGRzRnJhZ21lbnREb2N9YDtcblxuICBASW5qZWN0YWJsZSh7XG4gICAgcHJvdmlkZWRJbjogJ3Jvb3QnXG4gIH0pXG4gIGV4cG9ydCBjbGFzcyBDcmVhdGVCYXNrZXRHUUwgZXh0ZW5kcyBBcG9sbG8uTXV0YXRpb248Q3JlYXRlQmFza2V0TXV0YXRpb24sIENyZWF0ZUJhc2tldE11dGF0aW9uVmFyaWFibGVzPiB7XG4gICAgZG9jdW1lbnQgPSBDcmVhdGVCYXNrZXREb2N1bWVudDtcbiAgICBcbiAgICBjb25zdHJ1Y3RvcihhcG9sbG86IEFwb2xsby5BcG9sbG8pIHtcbiAgICAgIHN1cGVyKGFwb2xsbyk7XG4gICAgfVxuICB9XG5leHBvcnQgY29uc3QgUmVtb3ZlSXRlbUZyb21CYXNrZXREb2N1bWVudCA9IGdxbGBcbiAgICBtdXRhdGlvbiByZW1vdmVJdGVtRnJvbUJhc2tldCgkYmFza2V0SXRlbTogSUQhLCAkd2l0aFN1cHBsZW1lbnRhbDogQm9vbGVhbiA9IGZhbHNlKSB7XG4gIHJlbW92ZUl0ZW1Gcm9tQmFza2V0KGJhc2tldEl0ZW06ICRiYXNrZXRJdGVtKSB7XG4gICAgLi4uQmFza2V0RmllbGRzXG4gIH1cbn1cbiAgICAke0Jhc2tldEZpZWxkc0ZyYWdtZW50RG9jfWA7XG5cbiAgQEluamVjdGFibGUoe1xuICAgIHByb3ZpZGVkSW46ICdyb290J1xuICB9KVxuICBleHBvcnQgY2xhc3MgUmVtb3ZlSXRlbUZyb21CYXNrZXRHUUwgZXh0ZW5kcyBBcG9sbG8uTXV0YXRpb248UmVtb3ZlSXRlbUZyb21CYXNrZXRNdXRhdGlvbiwgUmVtb3ZlSXRlbUZyb21CYXNrZXRNdXRhdGlvblZhcmlhYmxlcz4ge1xuICAgIGRvY3VtZW50ID0gUmVtb3ZlSXRlbUZyb21CYXNrZXREb2N1bWVudDtcbiAgICBcbiAgICBjb25zdHJ1Y3RvcihhcG9sbG86IEFwb2xsby5BcG9sbG8pIHtcbiAgICAgIHN1cGVyKGFwb2xsbyk7XG4gICAgfVxuICB9XG5leHBvcnQgY29uc3QgU2VuZEJhc2tldEZvckFwcHJvdmFsRG9jdW1lbnQgPSBncWxgXG4gICAgbXV0YXRpb24gc2VuZEJhc2tldEZvckFwcHJvdmFsKCRiYXNrZXQ6IElEISwgJHdpdGhTdXBwbGVtZW50YWw6IEJvb2xlYW4gPSB0cnVlKSB7XG4gIHNlbmRCYXNrZXRGb3JBcHByb3ZhbChiYXNrZXQ6ICRiYXNrZXQpIHtcbiAgICAuLi5CYXNrZXRGaWVsZHNcbiAgfVxufVxuICAgICR7QmFza2V0RmllbGRzRnJhZ21lbnREb2N9YDtcblxuICBASW5qZWN0YWJsZSh7XG4gICAgcHJvdmlkZWRJbjogJ3Jvb3QnXG4gIH0pXG4gIGV4cG9ydCBjbGFzcyBTZW5kQmFza2V0Rm9yQXBwcm92YWxHUUwgZXh0ZW5kcyBBcG9sbG8uTXV0YXRpb248U2VuZEJhc2tldEZvckFwcHJvdmFsTXV0YXRpb24sIFNlbmRCYXNrZXRGb3JBcHByb3ZhbE11dGF0aW9uVmFyaWFibGVzPiB7XG4gICAgZG9jdW1lbnQgPSBTZW5kQmFza2V0Rm9yQXBwcm92YWxEb2N1bWVudDtcbiAgICBcbiAgICBjb25zdHJ1Y3RvcihhcG9sbG86IEFwb2xsby5BcG9sbG8pIHtcbiAgICAgIHN1cGVyKGFwb2xsbyk7XG4gICAgfVxuICB9XG5leHBvcnQgY29uc3QgQWRkSXRlbVRvQmFza2V0RG9jdW1lbnQgPSBncWxgXG4gICAgbXV0YXRpb24gYWRkSXRlbVRvQmFza2V0KCRiYXNrZXQ6IElELCAkc2VydmljZTogSUQhLCAkZGV0YWlsOiBKU09OISwgJGFkdWx0czogSW50ISwgJGNoaWxkcmVuOiBJbnQsICRpbmZhbnRzOiBJbnQsICRwcmljZTogRmxvYXQhLCAkY3VycmVuY3k6IEN1cnJlbmN5Q29kZSEsICRzZWFyY2hRdWVyeTogSlNPTiEsICRxdWlja0FkZDogQm9vbGVhbiwgJHVzZXJzOiBbVXNlclBhc3NlbmdlclR5cGVJbnB1dF0sICRsZWFkUGFzc2VuZ2VyOiBJRCwgJGNvMlBlckl0ZW06IEZsb2F0LCAkY28yUGVyUGFzc2VuZ2VyOiBGbG9hdCwgJG91dGJvdW5kRGF0ZTogRGF0ZVRpbWUhLCAkaW5ib3VuZERhdGU6IERhdGVUaW1lLCAkd2l0aFN1cHBsZW1lbnRhbDogQm9vbGVhbiA9IGZhbHNlKSB7XG4gIGFkZEl0ZW1Ub0Jhc2tldChiYXNrZXQ6ICRiYXNrZXQsIHNlcnZpY2U6ICRzZXJ2aWNlLCBkZXRhaWw6ICRkZXRhaWwsIGFkdWx0czogJGFkdWx0cywgY2hpbGRyZW46ICRjaGlsZHJlbiwgaW5mYW50czogJGluZmFudHMsIHByaWNlOiAkcHJpY2UsIGN1cnJlbmN5OiAkY3VycmVuY3ksIHNlYXJjaFF1ZXJ5OiAkc2VhcmNoUXVlcnksIHF1aWNrQWRkOiAkcXVpY2tBZGQsIHVzZXJzOiAkdXNlcnMsIGxlYWRQYXNzZW5nZXI6ICRsZWFkUGFzc2VuZ2VyLCBjbzJQZXJJdGVtOiAkY28yUGVySXRlbSwgY28yUGVyUGFzc2VuZ2VyOiAkY28yUGVyUGFzc2VuZ2VyLCBvdXRib3VuZERhdGU6ICRvdXRib3VuZERhdGUsIGluYm91bmREYXRlOiAkaW5ib3VuZERhdGUpIHtcbiAgICAuLi5CYXNrZXRGaWVsZHNcbiAgfVxufVxuICAgICR7QmFza2V0RmllbGRzRnJhZ21lbnREb2N9YDtcblxuICBASW5qZWN0YWJsZSh7XG4gICAgcHJvdmlkZWRJbjogJ3Jvb3QnXG4gIH0pXG4gIGV4cG9ydCBjbGFzcyBBZGRJdGVtVG9CYXNrZXRHUUwgZXh0ZW5kcyBBcG9sbG8uTXV0YXRpb248QWRkSXRlbVRvQmFza2V0TXV0YXRpb24sIEFkZEl0ZW1Ub0Jhc2tldE11dGF0aW9uVmFyaWFibGVzPiB7XG4gICAgZG9jdW1lbnQgPSBBZGRJdGVtVG9CYXNrZXREb2N1bWVudDtcbiAgICBcbiAgICBjb25zdHJ1Y3RvcihhcG9sbG86IEFwb2xsby5BcG9sbG8pIHtcbiAgICAgIHN1cGVyKGFwb2xsbyk7XG4gICAgfVxuICB9XG5leHBvcnQgY29uc3QgR2V0VXNlckJhc2tldERvY3VtZW50ID0gZ3FsYFxuICAgIHF1ZXJ5IGdldFVzZXJCYXNrZXQoJGlkOiBJRCEsICR3aXRoU3VwcGxlbWVudGFsOiBCb29sZWFuID0gZmFsc2UpIHtcbiAgZ2V0VXNlckJhc2tldChpZDogJGlkKSB7XG4gICAgLi4uQmFza2V0RmllbGRzXG4gIH1cbn1cbiAgICAke0Jhc2tldEZpZWxkc0ZyYWdtZW50RG9jfWA7XG5cbiAgQEluamVjdGFibGUoe1xuICAgIHByb3ZpZGVkSW46ICdyb290J1xuICB9KVxuICBleHBvcnQgY2xhc3MgR2V0VXNlckJhc2tldEdRTCBleHRlbmRzIEFwb2xsby5RdWVyeTxHZXRVc2VyQmFza2V0UXVlcnksIEdldFVzZXJCYXNrZXRRdWVyeVZhcmlhYmxlcz4ge1xuICAgIGRvY3VtZW50ID0gR2V0VXNlckJhc2tldERvY3VtZW50O1xuICAgIFxuICAgIGNvbnN0cnVjdG9yKGFwb2xsbzogQXBvbGxvLkFwb2xsbykge1xuICAgICAgc3VwZXIoYXBvbGxvKTtcbiAgICB9XG4gIH1cbmV4cG9ydCBjb25zdCBSZXZhbGlkYXRlQmFza2V0RG9jdW1lbnQgPSBncWxgXG4gICAgbXV0YXRpb24gcmV2YWxpZGF0ZUJhc2tldCgkaWQ6IElEISwgJHdpdGhTdXBwbGVtZW50YWw6IEJvb2xlYW4gPSBmYWxzZSkge1xuICByZXZhbGlkYXRlQmFza2V0KGlkOiAkaWQpIHtcbiAgICAuLi5CYXNrZXRGaWVsZHNcbiAgfVxufVxuICAgICR7QmFza2V0RmllbGRzRnJhZ21lbnREb2N9YDtcblxuICBASW5qZWN0YWJsZSh7XG4gICAgcHJvdmlkZWRJbjogJ3Jvb3QnXG4gIH0pXG4gIGV4cG9ydCBjbGFzcyBSZXZhbGlkYXRlQmFza2V0R1FMIGV4dGVuZHMgQXBvbGxvLk11dGF0aW9uPFJldmFsaWRhdGVCYXNrZXRNdXRhdGlvbiwgUmV2YWxpZGF0ZUJhc2tldE11dGF0aW9uVmFyaWFibGVzPiB7XG4gICAgZG9jdW1lbnQgPSBSZXZhbGlkYXRlQmFza2V0RG9jdW1lbnQ7XG4gICAgXG4gICAgY29uc3RydWN0b3IoYXBvbGxvOiBBcG9sbG8uQXBvbGxvKSB7XG4gICAgICBzdXBlcihhcG9sbG8pO1xuICAgIH1cbiAgfVxuZXhwb3J0IGNvbnN0IEJvb2tCYXNrZXREb2N1bWVudCA9IGdxbGBcbiAgICBtdXRhdGlvbiBib29rQmFza2V0KCRpZDogSUQhLCAkc3VwcGxlbWVudGFyeUluZm86IFtTdXBwbGVtZW50YXJ5Qm9va2luZ0luZm8hXSEsICR3aXRoU3VwcGxlbWVudGFsOiBCb29sZWFuID0gZmFsc2UpIHtcbiAgYm9va0Jhc2tldChpZDogJGlkLCBzdXBwbGVtZW50YXJ5SW5mbzogJHN1cHBsZW1lbnRhcnlJbmZvKSB7XG4gICAgLi4uQmFza2V0RmllbGRzXG4gIH1cbn1cbiAgICAke0Jhc2tldEZpZWxkc0ZyYWdtZW50RG9jfWA7XG5cbiAgQEluamVjdGFibGUoe1xuICAgIHByb3ZpZGVkSW46ICdyb290J1xuICB9KVxuICBleHBvcnQgY2xhc3MgQm9va0Jhc2tldEdRTCBleHRlbmRzIEFwb2xsby5NdXRhdGlvbjxCb29rQmFza2V0TXV0YXRpb24sIEJvb2tCYXNrZXRNdXRhdGlvblZhcmlhYmxlcz4ge1xuICAgIGRvY3VtZW50ID0gQm9va0Jhc2tldERvY3VtZW50O1xuICAgIFxuICAgIGNvbnN0cnVjdG9yKGFwb2xsbzogQXBvbGxvLkFwb2xsbykge1xuICAgICAgc3VwZXIoYXBvbGxvKTtcbiAgICB9XG4gIH1cbmV4cG9ydCBjb25zdCBTZWFyY2hDYWJIaXJlRG9jdW1lbnQgPSBncWxgXG4gICAgcXVlcnkgc2VhcmNoQ2FiSGlyZSgkZGVwYXJ0czogRGF0ZVRpbWUhLCAkZnJvbUxvY2F0aW9uOiBDYWJIaXJlTG9jYXRpb25JbnB1dCEsICR0b0xvY2F0aW9uOiBDYWJIaXJlTG9jYXRpb25JbnB1dCEsICRhZHVsdHM6IEludCEsICRjaGlsZHJlbjogSW50LCAkaW5mYW50czogSW50LCAkdmlhczogW0NhYkhpcmVMb2NhdGlvbklucHV0XSwgJHZlaGljbGVUeXBlOiBDYWJIaXJlVmVoaWNsZVR5cGUpIHtcbiAgc2VhcmNoQ2FiSGlyZShkZXBhcnRzOiAkZGVwYXJ0cywgZnJvbUxvY2F0aW9uOiAkZnJvbUxvY2F0aW9uLCB0b0xvY2F0aW9uOiAkdG9Mb2NhdGlvbiwgYWR1bHRzOiAkYWR1bHRzLCBjaGlsZHJlbjogJGNoaWxkcmVuLCBpbmZhbnRzOiAkaW5mYW50cywgdmlhczogJHZpYXMsIHZlaGljbGVUeXBlOiAkdmVoaWNsZVR5cGUpIHtcbiAgICByZXN1bHRzIHtcbiAgICAgIGlkXG4gICAgICBzb3VyY2VcbiAgICAgIHNvdXJjZUlkXG4gICAgICBzdXBwbGllck5hbWVcbiAgICAgIGVzdGltYXRlZENPMlxuICAgICAgY28yUGVySXRlbVxuICAgICAgY28yUGVyUGFzc2VuZ2VyXG4gICAgICBwcmljZVxuICAgICAgY3VycmVuY3lcbiAgICAgIHZlaGljbGVUeXBlXG4gICAgICB0cmlwRGlzdGFuY2VNZXRyZXNcbiAgICAgIHRyaXBEdXJhdGlvblNlY29uZHNcbiAgICAgIGRlcGFydHNcbiAgICAgIHRtY1ByZWZlcnJlZFxuICAgICAgY29tcGFueVByZWZlcnJlZFxuICAgICAgb2ZmaWNlUHJlZmVycmVkXG4gICAgICB0bWNQcmVmZXJyZWRNZXNzYWdlXG4gICAgICBjb21wYW55UHJlZmVycmVkTWVzc2FnZVxuICAgICAgb2ZmaWNlUHJlZmVycmVkTWVzc2FnZVxuICAgICAgdW5hdmFpbGFibGVcbiAgICAgIHVuYXZhaWxhYmxlTWVzc2FnZVxuICAgICAgZnJvbUxvY2F0aW9uIHtcbiAgICAgICAgYWRkcmVzc1xuICAgICAgICBwb3N0Y29kZVxuICAgICAgICBsYXRpdHVkZVxuICAgICAgICBsb25naXR1ZGVcbiAgICAgIH1cbiAgICAgIHRvTG9jYXRpb24ge1xuICAgICAgICBhZGRyZXNzXG4gICAgICAgIHBvc3Rjb2RlXG4gICAgICAgIGxhdGl0dWRlXG4gICAgICAgIGxvbmdpdHVkZVxuICAgICAgfVxuICAgICAgdmlhcyB7XG4gICAgICAgIGFkZHJlc3NcbiAgICAgICAgcG9zdGNvZGVcbiAgICAgICAgbGF0aXR1ZGVcbiAgICAgICAgbG9uZ2l0dWRlXG4gICAgICB9XG4gICAgfVxuICAgIGVycm9ycyB7XG4gICAgICAuLi5FcnJvcnNcbiAgICB9XG4gIH1cbn1cbiAgICAke0Vycm9yc0ZyYWdtZW50RG9jfWA7XG5cbiAgQEluamVjdGFibGUoe1xuICAgIHByb3ZpZGVkSW46ICdyb290J1xuICB9KVxuICBleHBvcnQgY2xhc3MgU2VhcmNoQ2FiSGlyZUdRTCBleHRlbmRzIEFwb2xsby5RdWVyeTxTZWFyY2hDYWJIaXJlUXVlcnksIFNlYXJjaENhYkhpcmVRdWVyeVZhcmlhYmxlcz4ge1xuICAgIGRvY3VtZW50ID0gU2VhcmNoQ2FiSGlyZURvY3VtZW50O1xuICAgIFxuICAgIGNvbnN0cnVjdG9yKGFwb2xsbzogQXBvbGxvLkFwb2xsbykge1xuICAgICAgc3VwZXIoYXBvbGxvKTtcbiAgICB9XG4gIH1cbmV4cG9ydCBjb25zdCBDYXJIaXJlQXZhaWxhYmlsaXR5RGV0YWlsUmVxdWVzdERvY3VtZW50ID0gZ3FsYFxuICAgIHF1ZXJ5IGNhckhpcmVBdmFpbGFiaWxpdHlEZXRhaWxSZXF1ZXN0KCRsb2NhdGlvbkRldGFpbHM6IENhckhpcmVJbnB1dElkZW50aWZpZXJzISkge1xuICBjYXJIaXJlQXZhaWxhYmlsaXR5RGV0YWlsUmVxdWVzdChsb2NhdGlvbkRldGFpbHM6ICRsb2NhdGlvbkRldGFpbHMpIHtcbiAgICBpZGVudGlmaWVycyB7XG4gICAgICBsb2NhdG9yXG4gICAgICBycGhcbiAgICAgIHN0YXR1c1xuICAgICAgdmVoVHlwZVxuICAgICAgbG9jYXRpb25Db2RlXG4gICAgICBleHRlbmRlZExvY2F0aW9uQ29kZVxuICAgICAgbG9jYXRpb25OYW1lXG4gICAgICBkcm9wT2ZmTG9jYXRpb25cbiAgICAgIHBpY2t1cERhdGVUaW1lXG4gICAgICBkcm9wb2ZmRGF0ZVRpbWVcbiAgICAgIHZlbmRvclxuICAgIH1cbiAgICB2ZW5kb3Ige1xuICAgICAgbmFtZVxuICAgICAgbG9nb1xuICAgIH1cbiAgICBhZGRyZXNzIHtcbiAgICAgIG5hbWVcbiAgICAgIHRvcExpbmVcbiAgICAgIGNpdHlcbiAgICAgIHJlZ2lvblxuICAgICAgcG9zdENvZGVcbiAgICAgIGNvdW50cnlcbiAgICAgIGNvdW50cnlDb2RlXG4gICAgICBzdGF0ZUNvZGVcbiAgICAgIGxhdGl0dWRlXG4gICAgICBsb25naXR1ZGVcbiAgICB9XG4gICAgYWRkaXRpb25hbEluZm8ge1xuICAgICAgbmFtZVxuICAgICAgdGV4dFxuICAgICAganNvblxuICAgICAgY3VzdG9tIHtcbiAgICAgICAgbmFtZVxuICAgICAgICB0ZXh0XG4gICAgICB9XG4gICAgfVxuICB9XG59XG4gICAgYDtcblxuICBASW5qZWN0YWJsZSh7XG4gICAgcHJvdmlkZWRJbjogJ3Jvb3QnXG4gIH0pXG4gIGV4cG9ydCBjbGFzcyBDYXJIaXJlQXZhaWxhYmlsaXR5RGV0YWlsUmVxdWVzdEdRTCBleHRlbmRzIEFwb2xsby5RdWVyeTxDYXJIaXJlQXZhaWxhYmlsaXR5RGV0YWlsUmVxdWVzdFF1ZXJ5LCBDYXJIaXJlQXZhaWxhYmlsaXR5RGV0YWlsUmVxdWVzdFF1ZXJ5VmFyaWFibGVzPiB7XG4gICAgZG9jdW1lbnQgPSBDYXJIaXJlQXZhaWxhYmlsaXR5RGV0YWlsUmVxdWVzdERvY3VtZW50O1xuICAgIFxuICAgIGNvbnN0cnVjdG9yKGFwb2xsbzogQXBvbGxvLkFwb2xsbykge1xuICAgICAgc3VwZXIoYXBvbGxvKTtcbiAgICB9XG4gIH1cbmV4cG9ydCBjb25zdCBTZWFyY2hDYXJIaXJlRG9jdW1lbnQgPSBncWxgXG4gICAgcXVlcnkgc2VhcmNoQ2FySGlyZSgkYWlycG9ydDogQ2FySGlyZUFpcnBvcnRJbnB1dCwgJGNpdHk6IENhckhpcmVDaXR5SW5wdXQsICRsb2NhdGlvbjogQ2FySGlyZUxvY2F0aW9uSW5wdXQsICRkZXBvdDogSW5wdXRDYXJIaXJlRGVwb3QsICRwaWNrdXBEYXRlVGltZTogRGF0ZVRpbWUhLCAkZHJvcG9mZkRhdGVUaW1lOiBEYXRlVGltZSEsICR2ZW5kb3I6IFN0cmluZywgJGNsYXNzOiBDYXJIaXJlQ2xhc3MsICR0eXBlOiBDYXJIaXJlVHlwZSwgJHRyYW5zbWlzc2lvbjogQ2FySGlyZVRyYW5zbWlzc2lvbiwgJGFpcmNvbjogQm9vbGVhbiwgJGVzdGltYXRlZERhaWx5RGlzdGFuY2U6IEZsb2F0LCAkZXN0aW1hdGVkRGFpbHlEaXN0YW5jZVVuaXRzOiBEaXN0YW5jZVR5cGVzKSB7XG4gIHNlYXJjaENhckhpcmUoYWlycG9ydDogJGFpcnBvcnQsIGNpdHk6ICRjaXR5LCBsb2NhdGlvbjogJGxvY2F0aW9uLCBkZXBvdDogJGRlcG90LCBwaWNrdXBEYXRlVGltZTogJHBpY2t1cERhdGVUaW1lLCBkcm9wb2ZmRGF0ZVRpbWU6ICRkcm9wb2ZmRGF0ZVRpbWUsIHZlbmRvcjogJHZlbmRvciwgY2xhc3M6ICRjbGFzcywgdHlwZTogJHR5cGUsIHRyYW5zbWlzc2lvbjogJHRyYW5zbWlzc2lvbiwgYWlyY29uOiAkYWlyY29uLCBlc3RpbWF0ZWREYWlseURpc3RhbmNlOiAkZXN0aW1hdGVkRGFpbHlEaXN0YW5jZSwgZXN0aW1hdGVkRGFpbHlEaXN0YW5jZVVuaXRzOiAkZXN0aW1hdGVkRGFpbHlEaXN0YW5jZVVuaXRzKSB7XG4gICAgcmVzdWx0cyB7XG4gICAgICBzb3VyY2VcbiAgICAgIHNvdXJjZUlkXG4gICAgICBpZGVudGlmaWVycyB7XG4gICAgICAgIGxvY2F0b3JcbiAgICAgICAgcnBoXG4gICAgICAgIHN0YXR1c1xuICAgICAgICB2ZWhUeXBlXG4gICAgICAgIGxvY2F0aW9uQ29kZVxuICAgICAgICBleHRlbmRlZExvY2F0aW9uQ29kZVxuICAgICAgICBsb2NhdGlvbk5hbWVcbiAgICAgICAgZHJvcE9mZkxvY2F0aW9uXG4gICAgICAgIHBpY2t1cERhdGVUaW1lXG4gICAgICAgIGRyb3BvZmZEYXRlVGltZVxuICAgICAgICB2ZW5kb3JcbiAgICAgIH1cbiAgICAgIGRpc3BsYXlSZWNvcmQge1xuICAgICAgICBzdGF0dXNcbiAgICAgICAgcGlja3VwXG4gICAgICAgIGRyb3BvZmZcbiAgICAgICAgdmVuZG9yIHtcbiAgICAgICAgICBuYW1lXG4gICAgICAgICAgbG9nb1xuICAgICAgICB9XG4gICAgICAgIHZlaGljbGUge1xuICAgICAgICAgIGNsYXNzXG4gICAgICAgICAgdHlwZVxuICAgICAgICAgIHRyYW5zbWlzc2lvblxuICAgICAgICAgIGFpcmNvblxuICAgICAgICAgIGRlc2NyaXB0aW9uXG4gICAgICAgICAgaW1hZ2VzXG4gICAgICAgIH1cbiAgICAgICAgY2hhcmdlcyB7XG4gICAgICAgICAgbGFiZWxcbiAgICAgICAgICBhbW91bnRcbiAgICAgICAgICBjdXJyZW5jeUNvZGVcbiAgICAgICAgfVxuICAgICAgICBwaWNrdXBMb2NhdGlvbiB7XG4gICAgICAgICAgbmFtZVxuICAgICAgICAgIHRvcExpbmVcbiAgICAgICAgICBjaXR5XG4gICAgICAgICAgcmVnaW9uXG4gICAgICAgICAgcG9zdENvZGVcbiAgICAgICAgICBjb3VudHJ5XG4gICAgICAgICAgY291bnRyeUNvZGVcbiAgICAgICAgICBzdGF0ZUNvZGVcbiAgICAgICAgICBsYXRpdHVkZVxuICAgICAgICAgIGxvbmdpdHVkZVxuICAgICAgICB9XG4gICAgICAgIHJldHVybkxvY2F0aW9uIHtcbiAgICAgICAgICBuYW1lXG4gICAgICAgICAgdG9wTGluZVxuICAgICAgICAgIGNpdHlcbiAgICAgICAgICByZWdpb25cbiAgICAgICAgICBwb3N0Q29kZVxuICAgICAgICAgIGNvdW50cnlcbiAgICAgICAgICBjb3VudHJ5Q29kZVxuICAgICAgICAgIHN0YXRlQ29kZVxuICAgICAgICAgIGxhdGl0dWRlXG4gICAgICAgICAgbG9uZ2l0dWRlXG4gICAgICAgIH1cbiAgICAgICAgYWRkaXRpb25hbEluZm8ge1xuICAgICAgICAgIG5hbWVcbiAgICAgICAgICB0ZXh0XG4gICAgICAgICAganNvblxuICAgICAgICAgIGN1c3RvbSB7XG4gICAgICAgICAgICBuYW1lXG4gICAgICAgICAgICB0ZXh0XG4gICAgICAgICAgfVxuICAgICAgICB9XG4gICAgICB9XG4gICAgICB0bWNQcmVmZXJyZWRcbiAgICAgIGNvbXBhbnlQcmVmZXJyZWRcbiAgICAgIG9mZmljZVByZWZlcnJlZFxuICAgICAgdG1jUHJlZmVycmVkTWVzc2FnZVxuICAgICAgY29tcGFueVByZWZlcnJlZE1lc3NhZ2VcbiAgICAgIG9mZmljZVByZWZlcnJlZE1lc3NhZ2VcbiAgICAgIHVuYXZhaWxhYmxlXG4gICAgICB1bmF2YWlsYWJsZU1lc3NhZ2VcbiAgICAgIGNvMlBlclBhc3NlbmdlclxuICAgICAgY28yUGVySXRlbVxuICAgIH1cbiAgICBlcnJvcnMge1xuICAgICAgLi4uRXJyb3JzXG4gICAgfVxuICB9XG59XG4gICAgJHtFcnJvcnNGcmFnbWVudERvY31gO1xuXG4gIEBJbmplY3RhYmxlKHtcbiAgICBwcm92aWRlZEluOiAncm9vdCdcbiAgfSlcbiAgZXhwb3J0IGNsYXNzIFNlYXJjaENhckhpcmVHUUwgZXh0ZW5kcyBBcG9sbG8uUXVlcnk8U2VhcmNoQ2FySGlyZVF1ZXJ5LCBTZWFyY2hDYXJIaXJlUXVlcnlWYXJpYWJsZXM+IHtcbiAgICBkb2N1bWVudCA9IFNlYXJjaENhckhpcmVEb2N1bWVudDtcbiAgICBcbiAgICBjb25zdHJ1Y3RvcihhcG9sbG86IEFwb2xsby5BcG9sbG8pIHtcbiAgICAgIHN1cGVyKGFwb2xsbyk7XG4gICAgfVxuICB9XG5leHBvcnQgY29uc3QgRGVsZXRlUmVjZW50U2VhcmNoRG9jdW1lbnQgPSBncWxgXG4gICAgbXV0YXRpb24gZGVsZXRlUmVjZW50U2VhcmNoKCRpZDogSUQhKSB7XG4gIGRlbGV0ZVJlY2VudFNlYXJjaChpZDogJGlkKVxufVxuICAgIGA7XG5cbiAgQEluamVjdGFibGUoe1xuICAgIHByb3ZpZGVkSW46ICdyb290J1xuICB9KVxuICBleHBvcnQgY2xhc3MgRGVsZXRlUmVjZW50U2VhcmNoR1FMIGV4dGVuZHMgQXBvbGxvLk11dGF0aW9uPERlbGV0ZVJlY2VudFNlYXJjaE11dGF0aW9uLCBEZWxldGVSZWNlbnRTZWFyY2hNdXRhdGlvblZhcmlhYmxlcz4ge1xuICAgIGRvY3VtZW50ID0gRGVsZXRlUmVjZW50U2VhcmNoRG9jdW1lbnQ7XG4gICAgXG4gICAgY29uc3RydWN0b3IoYXBvbGxvOiBBcG9sbG8uQXBvbGxvKSB7XG4gICAgICBzdXBlcihhcG9sbG8pO1xuICAgIH1cbiAgfVxuZXhwb3J0IGNvbnN0IERlbGV0ZVVzZXJBZGRyZXNzRG9jdW1lbnQgPSBncWxgXG4gICAgbXV0YXRpb24gZGVsZXRlVXNlckFkZHJlc3MoJGlkOiBJRCEpIHtcbiAgZGVsZXRlVXNlckFkZHJlc3MoaWQ6ICRpZClcbn1cbiAgICBgO1xuXG4gIEBJbmplY3RhYmxlKHtcbiAgICBwcm92aWRlZEluOiAncm9vdCdcbiAgfSlcbiAgZXhwb3J0IGNsYXNzIERlbGV0ZVVzZXJBZGRyZXNzR1FMIGV4dGVuZHMgQXBvbGxvLk11dGF0aW9uPERlbGV0ZVVzZXJBZGRyZXNzTXV0YXRpb24sIERlbGV0ZVVzZXJBZGRyZXNzTXV0YXRpb25WYXJpYWJsZXM+IHtcbiAgICBkb2N1bWVudCA9IERlbGV0ZVVzZXJBZGRyZXNzRG9jdW1lbnQ7XG4gICAgXG4gICAgY29uc3RydWN0b3IoYXBvbGxvOiBBcG9sbG8uQXBvbGxvKSB7XG4gICAgICBzdXBlcihhcG9sbG8pO1xuICAgIH1cbiAgfVxuZXhwb3J0IGNvbnN0IFNlYXJjaEZsaWdodHNWMkRvY3VtZW50ID0gZ3FsYFxuICAgIHF1ZXJ5IHNlYXJjaEZsaWdodHNWMigkcGFzc2VuZ2VyczogW0ZsaWdodFBhc3Nlbmdlck9iamVjdCFdISwgJG9yaWdpbkFpcnBvcnQ6IFN0cmluZywgJGRlc3RpbmF0aW9uQWlycG9ydDogU3RyaW5nLCAkbXVsdGlEZXN0aW5hdGlvbjogW0Rlc3RpbmF0aW9uRW50cnldLCAkb3V0Ym91bmREYXRlOiBEYXRlLCAkb3V0Ym91bmREZXBhcnR1cmVUaW1lV2luZG93OiBTdHJpbmcsICRvdXRib3VuZEFycml2YWxUaW1lV2luZG93OiBTdHJpbmcsICRvdXRib3VuZENhYmluQ2xhc3M6IFtGbGlnaHRDYWJpbkNsYXNzXSwgJHJldHVyblRyaXA6IEJvb2xlYW4hLCAkcmV0dXJuRGF0ZTogRGF0ZSwgJHJldHVybkRlcGFydHVyZVRpbWVXaW5kb3c6IFN0cmluZywgJHJldHVybkFycml2YWxUaW1lV2luZG93OiBTdHJpbmcsICRyZXR1cm5DYWJpbkNsYXNzOiBbRmxpZ2h0Q2FiaW5DbGFzc10sICRmYXJlVHlwZTogRmFyZVR5cGUhLCAkcmVxdWlyZUZyZWVCYWc6IEJvb2xlYW4sICRtYXhDb25uZWN0aW9uczogSW50LCAkcHJlZmVycmVkQ2FycmllcnM6IFtTdHJpbmddLCAkaW5jbHVkZU5lYXJieUFpcnBvcnRzOiBCb29sZWFuLCAkYXNTaW5nbGVzOiBCb29sZWFuLCAkd2l0aEdyb3VwZWQ6IEJvb2xlYW4hKSB7XG4gIHNlYXJjaEZsaWdodHNWMihwYXNzZW5nZXJzOiAkcGFzc2VuZ2Vycywgb3JpZ2luQWlycG9ydDogJG9yaWdpbkFpcnBvcnQsIGRlc3RpbmF0aW9uQWlycG9ydDogJGRlc3RpbmF0aW9uQWlycG9ydCwgbXVsdGlEZXN0aW5hdGlvbjogJG11bHRpRGVzdGluYXRpb24sIG91dGJvdW5kRGF0ZTogJG91dGJvdW5kRGF0ZSwgb3V0Ym91bmREZXBhcnR1cmVUaW1lV2luZG93OiAkb3V0Ym91bmREZXBhcnR1cmVUaW1lV2luZG93LCBvdXRib3VuZEFycml2YWxUaW1lV2luZG93OiAkb3V0Ym91bmRBcnJpdmFsVGltZVdpbmRvdywgb3V0Ym91bmRDYWJpbkNsYXNzOiAkb3V0Ym91bmRDYWJpbkNsYXNzLCByZXR1cm5UcmlwOiAkcmV0dXJuVHJpcCwgcmV0dXJuRGF0ZTogJHJldHVybkRhdGUsIHJldHVybkRlcGFydHVyZVRpbWVXaW5kb3c6ICRyZXR1cm5EZXBhcnR1cmVUaW1lV2luZG93LCByZXR1cm5BcnJpdmFsVGltZVdpbmRvdzogJHJldHVybkFycml2YWxUaW1lV2luZG93LCByZXR1cm5DYWJpbkNsYXNzOiAkcmV0dXJuQ2FiaW5DbGFzcywgZmFyZVR5cGU6ICRmYXJlVHlwZSwgcmVxdWlyZUZyZWVCYWc6ICRyZXF1aXJlRnJlZUJhZywgbWF4Q29ubmVjdGlvbnM6ICRtYXhDb25uZWN0aW9ucywgcHJlZmVycmVkQ2FycmllcnM6ICRwcmVmZXJyZWRDYXJyaWVycywgaW5jbHVkZU5lYXJieUFpcnBvcnRzOiAkaW5jbHVkZU5lYXJieUFpcnBvcnRzLCBhc1NpbmdsZXM6ICRhc1NpbmdsZXMpIHtcbiAgICByZXN1bHRzIHtcbiAgICAgIGpvdXJuZXlzIHtcbiAgICAgICAgdWlkXG4gICAgICAgIHBhc3NlbmdlckNvdW50XG4gICAgICAgIG91dGJvdW5kRmxpZ2h0cyB7XG4gICAgICAgICAgb3JpZ2luQWlycG9ydFxuICAgICAgICAgIG9yaWdpblRlcm1pbmFsXG4gICAgICAgICAgb3JpZ2luQWlycG9ydE5hbWVcbiAgICAgICAgICBvcmlnaW5BaXJwb3J0RGV0YWlsIHtcbiAgICAgICAgICAgIGlhdGFcbiAgICAgICAgICAgIGljYW9cbiAgICAgICAgICAgIGxhdGl0dWRlXG4gICAgICAgICAgICBsb25naXR1ZGVcbiAgICAgICAgICAgIGFsdGl0dWRlXG4gICAgICAgICAgICBzdGF0ZVxuICAgICAgICAgICAgY2l0eVxuICAgICAgICAgICAgcm9hZFxuICAgICAgICAgICAgcG9wdWxhcml0eVxuICAgICAgICAgICAgYXJlYVxuICAgICAgICAgICAgbG9jYXRpb25cbiAgICAgICAgICAgIG9mZnNldFxuICAgICAgICAgICAgYWlycG9ydE5hbWVcbiAgICAgICAgICAgIGNvdW50cnlOYW1lXG4gICAgICAgICAgICBjb3VudHJ5Q29kZVxuICAgICAgICAgICAgcG9zdGNvZGVcbiAgICAgICAgICB9XG4gICAgICAgICAgZGVzdGluYXRpb25BaXJwb3J0XG4gICAgICAgICAgZGVzdGluYXRpb25UZXJtaW5hbFxuICAgICAgICAgIGRlc3RpbmF0aW9uQWlycG9ydE5hbWVcbiAgICAgICAgICBkZXN0aW5hdGlvbkFpcnBvcnREZXRhaWwge1xuICAgICAgICAgICAgaWF0YVxuICAgICAgICAgICAgaWNhb1xuICAgICAgICAgICAgbGF0aXR1ZGVcbiAgICAgICAgICAgIGxvbmdpdHVkZVxuICAgICAgICAgICAgYWx0aXR1ZGVcbiAgICAgICAgICAgIHN0YXRlXG4gICAgICAgICAgICBjaXR5XG4gICAgICAgICAgICByb2FkXG4gICAgICAgICAgICBwb3B1bGFyaXR5XG4gICAgICAgICAgICBhcmVhXG4gICAgICAgICAgICBsb2NhdGlvblxuICAgICAgICAgICAgb2Zmc2V0XG4gICAgICAgICAgICBhaXJwb3J0TmFtZVxuICAgICAgICAgICAgY291bnRyeU5hbWVcbiAgICAgICAgICAgIGNvdW50cnlDb2RlXG4gICAgICAgICAgICBwb3N0Y29kZVxuICAgICAgICAgIH1cbiAgICAgICAgICBkYXRlVGltZURlcGFydGluZ1xuICAgICAgICAgIGRhdGVUaW1lRGVwYXJ0aW5nVVRDXG4gICAgICAgICAgZGF0ZVRpbWVBcnJpdmluZ1xuICAgICAgICAgIGRhdGVUaW1lQXJyaXZpbmdVVENcbiAgICAgICAgICBtYXJrZXRpbmdDYXJyaWVyXG4gICAgICAgICAgbWFya2V0aW5nQ2Fycmllck5hbWVcbiAgICAgICAgICBtYXJrZXRpbmdDYXJyaWVyRGV0YWlsIHtcbiAgICAgICAgICAgIG5hbWVcbiAgICAgICAgICAgIGFsaWFzXG4gICAgICAgICAgICBjYWxsc2lnblxuICAgICAgICAgICAgaWF0YVxuICAgICAgICAgICAgaWNhb1xuICAgICAgICAgICAgbG9nb1xuICAgICAgICAgICAgYmFubmVyXG4gICAgICAgICAgICBwb3B1bGFyaXR5XG4gICAgICAgICAgfVxuICAgICAgICAgIG1hcmtldGluZ0ZsaWdodE51bWJlclxuICAgICAgICAgIG9wZXJhdGluZ0NhcnJpZXJcbiAgICAgICAgICBvcGVyYXRpbmdDYXJyaWVyTmFtZVxuICAgICAgICAgIG9wZXJhdGluZ0NhcnJpZXJEZXRhaWwge1xuICAgICAgICAgICAgbmFtZVxuICAgICAgICAgICAgYWxpYXNcbiAgICAgICAgICAgIGNhbGxzaWduXG4gICAgICAgICAgICBpYXRhXG4gICAgICAgICAgICBpY2FvXG4gICAgICAgICAgICBsb2dvXG4gICAgICAgICAgICBiYW5uZXJcbiAgICAgICAgICAgIHBvcHVsYXJpdHlcbiAgICAgICAgICB9XG4gICAgICAgICAgb3BlcmF0aW5nRmxpZ2h0TnVtYmVyXG4gICAgICAgICAgZXF1aXBtZW50Q29kZVxuICAgICAgICAgIGVxdWlwbWVudE5hbWVcbiAgICAgICAgICB0b3RhbER1cmF0aW9uXG4gICAgICAgICAgY2FiaW5DbGFzc1xuICAgICAgICAgIG1hcmtldGluZ05hbWVzXG4gICAgICAgICAgZmFyZUNvbmRpdGlvbnMge1xuICAgICAgICAgICAgY2FuY2VsbGF0aW9uIHtcbiAgICAgICAgICAgICAgbmFtZVxuICAgICAgICAgICAgICB0eXBlXG4gICAgICAgICAgICAgIGN1cnJlbmN5XG4gICAgICAgICAgICAgIGFtb3VudFxuICAgICAgICAgICAgICByZW1hcmtcbiAgICAgICAgICAgICAgY2hhbmdlRmVlSW5kXG4gICAgICAgICAgICAgIGNhbmNlbEZlZUluZFxuICAgICAgICAgICAgICByZWZ1bmRhYmxlSW5kXG4gICAgICAgICAgICB9XG4gICAgICAgICAgICBjaGFuZ2Uge1xuICAgICAgICAgICAgICBuYW1lXG4gICAgICAgICAgICAgIHR5cGVcbiAgICAgICAgICAgICAgY3VycmVuY3lcbiAgICAgICAgICAgICAgYW1vdW50XG4gICAgICAgICAgICAgIHJlbWFya1xuICAgICAgICAgICAgICBjaGFuZ2VGZWVJbmRcbiAgICAgICAgICAgICAgY2FuY2VsRmVlSW5kXG4gICAgICAgICAgICAgIHJlZnVuZGFibGVJbmRcbiAgICAgICAgICAgIH1cbiAgICAgICAgICAgIG5vU2hvdyB7XG4gICAgICAgICAgICAgIG5hbWVcbiAgICAgICAgICAgICAgdHlwZVxuICAgICAgICAgICAgICBjdXJyZW5jeVxuICAgICAgICAgICAgICBhbW91bnRcbiAgICAgICAgICAgICAgcmVtYXJrXG4gICAgICAgICAgICAgIGNoYW5nZUZlZUluZFxuICAgICAgICAgICAgICBjYW5jZWxGZWVJbmRcbiAgICAgICAgICAgICAgcmVmdW5kYWJsZUluZFxuICAgICAgICAgICAgfVxuICAgICAgICAgICAgdXBncmFkZSB7XG4gICAgICAgICAgICAgIG5hbWVcbiAgICAgICAgICAgICAgdHlwZVxuICAgICAgICAgICAgICBjdXJyZW5jeVxuICAgICAgICAgICAgICBhbW91bnRcbiAgICAgICAgICAgICAgcmVtYXJrXG4gICAgICAgICAgICAgIGNoYW5nZUZlZUluZFxuICAgICAgICAgICAgICBjYW5jZWxGZWVJbmRcbiAgICAgICAgICAgICAgcmVmdW5kYWJsZUluZFxuICAgICAgICAgICAgfVxuICAgICAgICAgICAgb3RoZXIge1xuICAgICAgICAgICAgICBuYW1lXG4gICAgICAgICAgICAgIHR5cGVcbiAgICAgICAgICAgICAgY3VycmVuY3lcbiAgICAgICAgICAgICAgYW1vdW50XG4gICAgICAgICAgICAgIHJlbWFya1xuICAgICAgICAgICAgICBjaGFuZ2VGZWVJbmRcbiAgICAgICAgICAgICAgY2FuY2VsRmVlSW5kXG4gICAgICAgICAgICAgIHJlZnVuZGFibGVJbmRcbiAgICAgICAgICAgIH1cbiAgICAgICAgICB9XG4gICAgICAgICAgdmVuZG9yQ29kZVxuICAgICAgICAgIHN0b3BzXG4gICAgICAgICAgYm9va2luZ0NvZGVcbiAgICAgICAgICBtYXJyaWFnZUdyb3VwXG4gICAgICAgICAgZmFyZUJhc2lzQ29kZVxuICAgICAgICAgIGFkZGl0aW9uYWxcbiAgICAgICAgfVxuICAgICAgICBpbmJvdW5kRmxpZ2h0cyB7XG4gICAgICAgICAgb3JpZ2luQWlycG9ydFxuICAgICAgICAgIG9yaWdpblRlcm1pbmFsXG4gICAgICAgICAgb3JpZ2luQWlycG9ydE5hbWVcbiAgICAgICAgICBvcmlnaW5BaXJwb3J0RGV0YWlsIHtcbiAgICAgICAgICAgIGlhdGFcbiAgICAgICAgICAgIGljYW9cbiAgICAgICAgICAgIGxhdGl0dWRlXG4gICAgICAgICAgICBsb25naXR1ZGVcbiAgICAgICAgICAgIGFsdGl0dWRlXG4gICAgICAgICAgICBzdGF0ZVxuICAgICAgICAgICAgY2l0eVxuICAgICAgICAgICAgcm9hZFxuICAgICAgICAgICAgcG9wdWxhcml0eVxuICAgICAgICAgICAgYXJlYVxuICAgICAgICAgICAgbG9jYXRpb25cbiAgICAgICAgICAgIG9mZnNldFxuICAgICAgICAgICAgYWlycG9ydE5hbWVcbiAgICAgICAgICAgIGNvdW50cnlOYW1lXG4gICAgICAgICAgICBjb3VudHJ5Q29kZVxuICAgICAgICAgICAgcG9zdGNvZGVcbiAgICAgICAgICB9XG4gICAgICAgICAgZGVzdGluYXRpb25BaXJwb3J0XG4gICAgICAgICAgZGVzdGluYXRpb25UZXJtaW5hbFxuICAgICAgICAgIGRlc3RpbmF0aW9uQWlycG9ydE5hbWVcbiAgICAgICAgICBkZXN0aW5hdGlvbkFpcnBvcnREZXRhaWwge1xuICAgICAgICAgICAgaWF0YVxuICAgICAgICAgICAgaWNhb1xuICAgICAgICAgICAgbGF0aXR1ZGVcbiAgICAgICAgICAgIGxvbmdpdHVkZVxuICAgICAgICAgICAgYWx0aXR1ZGVcbiAgICAgICAgICAgIHN0YXRlXG4gICAgICAgICAgICBjaXR5XG4gICAgICAgICAgICByb2FkXG4gICAgICAgICAgICBwb3B1bGFyaXR5XG4gICAgICAgICAgICBhcmVhXG4gICAgICAgICAgICBsb2NhdGlvblxuICAgICAgICAgICAgb2Zmc2V0XG4gICAgICAgICAgICBhaXJwb3J0TmFtZVxuICAgICAgICAgICAgY291bnRyeU5hbWVcbiAgICAgICAgICAgIGNvdW50cnlDb2RlXG4gICAgICAgICAgICBwb3N0Y29kZVxuICAgICAgICAgIH1cbiAgICAgICAgICBkYXRlVGltZURlcGFydGluZ1xuICAgICAgICAgIGRhdGVUaW1lRGVwYXJ0aW5nVVRDXG4gICAgICAgICAgZGF0ZVRpbWVBcnJpdmluZ1xuICAgICAgICAgIGRhdGVUaW1lQXJyaXZpbmdVVENcbiAgICAgICAgICBtYXJrZXRpbmdDYXJyaWVyXG4gICAgICAgICAgbWFya2V0aW5nQ2Fycmllck5hbWVcbiAgICAgICAgICBtYXJrZXRpbmdDYXJyaWVyRGV0YWlsIHtcbiAgICAgICAgICAgIG5hbWVcbiAgICAgICAgICAgIGFsaWFzXG4gICAgICAgICAgICBjYWxsc2lnblxuICAgICAgICAgICAgaWF0YVxuICAgICAgICAgICAgaWNhb1xuICAgICAgICAgICAgbG9nb1xuICAgICAgICAgICAgYmFubmVyXG4gICAgICAgICAgICBwb3B1bGFyaXR5XG4gICAgICAgICAgfVxuICAgICAgICAgIG1hcmtldGluZ0ZsaWdodE51bWJlclxuICAgICAgICAgIG9wZXJhdGluZ0NhcnJpZXJcbiAgICAgICAgICBvcGVyYXRpbmdDYXJyaWVyTmFtZVxuICAgICAgICAgIG9wZXJhdGluZ0NhcnJpZXJEZXRhaWwge1xuICAgICAgICAgICAgbmFtZVxuICAgICAgICAgICAgYWxpYXNcbiAgICAgICAgICAgIGNhbGxzaWduXG4gICAgICAgICAgICBpYXRhXG4gICAgICAgICAgICBpY2FvXG4gICAgICAgICAgICBsb2dvXG4gICAgICAgICAgICBiYW5uZXJcbiAgICAgICAgICAgIHBvcHVsYXJpdHlcbiAgICAgICAgICB9XG4gICAgICAgICAgb3BlcmF0aW5nRmxpZ2h0TnVtYmVyXG4gICAgICAgICAgZXF1aXBtZW50Q29kZVxuICAgICAgICAgIGVxdWlwbWVudE5hbWVcbiAgICAgICAgICB0b3RhbER1cmF0aW9uXG4gICAgICAgICAgY2FiaW5DbGFzc1xuICAgICAgICAgIG1hcmtldGluZ05hbWVzXG4gICAgICAgICAgZmFyZUNvbmRpdGlvbnMge1xuICAgICAgICAgICAgY2FuY2VsbGF0aW9uIHtcbiAgICAgICAgICAgICAgbmFtZVxuICAgICAgICAgICAgICB0eXBlXG4gICAgICAgICAgICAgIGN1cnJlbmN5XG4gICAgICAgICAgICAgIGFtb3VudFxuICAgICAgICAgICAgICByZW1hcmtcbiAgICAgICAgICAgICAgY2hhbmdlRmVlSW5kXG4gICAgICAgICAgICAgIGNhbmNlbEZlZUluZFxuICAgICAgICAgICAgICByZWZ1bmRhYmxlSW5kXG4gICAgICAgICAgICB9XG4gICAgICAgICAgICBjaGFuZ2Uge1xuICAgICAgICAgICAgICBuYW1lXG4gICAgICAgICAgICAgIHR5cGVcbiAgICAgICAgICAgICAgY3VycmVuY3lcbiAgICAgICAgICAgICAgYW1vdW50XG4gICAgICAgICAgICAgIHJlbWFya1xuICAgICAgICAgICAgICBjaGFuZ2VGZWVJbmRcbiAgICAgICAgICAgICAgY2FuY2VsRmVlSW5kXG4gICAgICAgICAgICAgIHJlZnVuZGFibGVJbmRcbiAgICAgICAgICAgIH1cbiAgICAgICAgICAgIG5vU2hvdyB7XG4gICAgICAgICAgICAgIG5hbWVcbiAgICAgICAgICAgICAgdHlwZVxuICAgICAgICAgICAgICBjdXJyZW5jeVxuICAgICAgICAgICAgICBhbW91bnRcbiAgICAgICAgICAgICAgcmVtYXJrXG4gICAgICAgICAgICAgIGNoYW5nZUZlZUluZFxuICAgICAgICAgICAgICBjYW5jZWxGZWVJbmRcbiAgICAgICAgICAgICAgcmVmdW5kYWJsZUluZFxuICAgICAgICAgICAgfVxuICAgICAgICAgICAgdXBncmFkZSB7XG4gICAgICAgICAgICAgIG5hbWVcbiAgICAgICAgICAgICAgdHlwZVxuICAgICAgICAgICAgICBjdXJyZW5jeVxuICAgICAgICAgICAgICBhbW91bnRcbiAgICAgICAgICAgICAgcmVtYXJrXG4gICAgICAgICAgICAgIGNoYW5nZUZlZUluZFxuICAgICAgICAgICAgICBjYW5jZWxGZWVJbmRcbiAgICAgICAgICAgICAgcmVmdW5kYWJsZUluZFxuICAgICAgICAgICAgfVxuICAgICAgICAgICAgb3RoZXIge1xuICAgICAgICAgICAgICBuYW1lXG4gICAgICAgICAgICAgIHR5cGVcbiAgICAgICAgICAgICAgY3VycmVuY3lcbiAgICAgICAgICAgICAgYW1vdW50XG4gICAgICAgICAgICAgIHJlbWFya1xuICAgICAgICAgICAgICBjaGFuZ2VGZWVJbmRcbiAgICAgICAgICAgICAgY2FuY2VsRmVlSW5kXG4gICAgICAgICAgICAgIHJlZnVuZGFibGVJbmRcbiAgICAgICAgICAgIH1cbiAgICAgICAgICB9XG4gICAgICAgICAgdmVuZG9yQ29kZVxuICAgICAgICAgIHN0b3BzXG4gICAgICAgICAgYm9va2luZ0NvZGVcbiAgICAgICAgICBtYXJyaWFnZUdyb3VwXG4gICAgICAgICAgZmFyZUJhc2lzQ29kZVxuICAgICAgICAgIGFkZGl0aW9uYWxcbiAgICAgICAgfVxuICAgICAgICBvdXRib3VuZFRvdGFsRHVyYXRpb25cbiAgICAgICAgb3V0Ym91bmRDYXJib25FbWlzc2lvbnMge1xuICAgICAgICAgIGFtb3VudFxuICAgICAgICAgIHVuaXRcbiAgICAgICAgfVxuICAgICAgICBpbmJvdW5kVG90YWxEdXJhdGlvblxuICAgICAgICBpbmJvdW5kQ2FyYm9uRW1pc3Npb25zIHtcbiAgICAgICAgICBhbW91bnRcbiAgICAgICAgICB1bml0XG4gICAgICAgIH1cbiAgICAgICAgdGF4ZXMge1xuICAgICAgICAgIGRlc2NyaXB0aW9uXG4gICAgICAgICAgYW1vdW50XG4gICAgICAgICAgY3VycmVuY3lcbiAgICAgICAgfVxuICAgICAgICBkaXNjb3VudHMge1xuICAgICAgICAgIGRlc2NyaXB0aW9uXG4gICAgICAgICAgYW1vdW50XG4gICAgICAgICAgY3VycmVuY3lcbiAgICAgICAgfVxuICAgICAgICB0b3RhbCB7XG4gICAgICAgICAgcHJpY2VcbiAgICAgICAgICB0YXhcbiAgICAgICAgICBkaXNjb3VudFxuICAgICAgICAgIGN1cnJlbmN5XG4gICAgICAgIH1cbiAgICAgICAgZmFyZUNvbmRpdGlvbnMge1xuICAgICAgICAgIGNhbmNlbGxhdGlvbiB7XG4gICAgICAgICAgICBuYW1lXG4gICAgICAgICAgICB0eXBlXG4gICAgICAgICAgICBjdXJyZW5jeVxuICAgICAgICAgICAgYW1vdW50XG4gICAgICAgICAgICByZW1hcmtcbiAgICAgICAgICAgIGNoYW5nZUZlZUluZFxuICAgICAgICAgICAgY2FuY2VsRmVlSW5kXG4gICAgICAgICAgICByZWZ1bmRhYmxlSW5kXG4gICAgICAgICAgfVxuICAgICAgICAgIGNoYW5nZSB7XG4gICAgICAgICAgICBuYW1lXG4gICAgICAgICAgICB0eXBlXG4gICAgICAgICAgICBjdXJyZW5jeVxuICAgICAgICAgICAgYW1vdW50XG4gICAgICAgICAgICByZW1hcmtcbiAgICAgICAgICAgIGNoYW5nZUZlZUluZFxuICAgICAgICAgICAgY2FuY2VsRmVlSW5kXG4gICAgICAgICAgICByZWZ1bmRhYmxlSW5kXG4gICAgICAgICAgfVxuICAgICAgICAgIG5vU2hvdyB7XG4gICAgICAgICAgICBuYW1lXG4gICAgICAgICAgICB0eXBlXG4gICAgICAgICAgICBjdXJyZW5jeVxuICAgICAgICAgICAgYW1vdW50XG4gICAgICAgICAgICByZW1hcmtcbiAgICAgICAgICAgIGNoYW5nZUZlZUluZFxuICAgICAgICAgICAgY2FuY2VsRmVlSW5kXG4gICAgICAgICAgICByZWZ1bmRhYmxlSW5kXG4gICAgICAgICAgfVxuICAgICAgICAgIHVwZ3JhZGUge1xuICAgICAgICAgICAgbmFtZVxuICAgICAgICAgICAgdHlwZVxuICAgICAgICAgICAgY3VycmVuY3lcbiAgICAgICAgICAgIGFtb3VudFxuICAgICAgICAgICAgcmVtYXJrXG4gICAgICAgICAgICBjaGFuZ2VGZWVJbmRcbiAgICAgICAgICAgIGNhbmNlbEZlZUluZFxuICAgICAgICAgICAgcmVmdW5kYWJsZUluZFxuICAgICAgICAgIH1cbiAgICAgICAgICBvdGhlciB7XG4gICAgICAgICAgICBuYW1lXG4gICAgICAgICAgICB0eXBlXG4gICAgICAgICAgICBjdXJyZW5jeVxuICAgICAgICAgICAgYW1vdW50XG4gICAgICAgICAgICByZW1hcmtcbiAgICAgICAgICAgIGNoYW5nZUZlZUluZFxuICAgICAgICAgICAgY2FuY2VsRmVlSW5kXG4gICAgICAgICAgICByZWZ1bmRhYmxlSW5kXG4gICAgICAgICAgfVxuICAgICAgICB9XG4gICAgICAgIGJhZ2dhZ2VBbGxvd2FuY2Uge1xuICAgICAgICAgIHR5cGVcbiAgICAgICAgICBxdHlcbiAgICAgICAgICBtYXhLR1xuICAgICAgICAgIG1heExCU1xuICAgICAgICB9XG4gICAgICAgIGFkZGl0aW9uYWxcbiAgICAgICAgc291cmNlXG4gICAgICAgIHNvdXJjZUlkXG4gICAgICAgIHZlcnNpb25cbiAgICAgICAgdG1jUHJlZmVycmVkXG4gICAgICAgIGNvbXBhbnlQcmVmZXJyZWRcbiAgICAgICAgb2ZmaWNlUHJlZmVycmVkXG4gICAgICAgIHRtY1ByZWZlcnJlZE1lc3NhZ2VcbiAgICAgICAgY29tcGFueVByZWZlcnJlZE1lc3NhZ2VcbiAgICAgICAgb2ZmaWNlUHJlZmVycmVkTWVzc2FnZVxuICAgICAgICB1bmF2YWlsYWJsZVxuICAgICAgICB1bmF2YWlsYWJsZU1lc3NhZ2VcbiAgICAgICAgY28yUGVySXRlbVxuICAgICAgICBjbzJQZXJQYXNzZW5nZXJcbiAgICAgIH1cbiAgICAgIG11bHRpIHtcbiAgICAgICAgb3JkZXJcbiAgICAgICAgb3JpZ2luXG4gICAgICAgIGRlc3RpbmF0aW9uXG4gICAgICAgIHJlc3VsdHMge1xuICAgICAgICAgIHVpZFxuICAgICAgICAgIHBhc3NlbmdlckNvdW50XG4gICAgICAgICAgb3V0Ym91bmRGbGlnaHRzIHtcbiAgICAgICAgICAgIG9yaWdpbkFpcnBvcnRcbiAgICAgICAgICAgIG9yaWdpblRlcm1pbmFsXG4gICAgICAgICAgICBvcmlnaW5BaXJwb3J0TmFtZVxuICAgICAgICAgICAgb3JpZ2luQWlycG9ydERldGFpbCB7XG4gICAgICAgICAgICAgIGlhdGFcbiAgICAgICAgICAgICAgaWNhb1xuICAgICAgICAgICAgICBsYXRpdHVkZVxuICAgICAgICAgICAgICBsb25naXR1ZGVcbiAgICAgICAgICAgICAgYWx0aXR1ZGVcbiAgICAgICAgICAgICAgc3RhdGVcbiAgICAgICAgICAgICAgY2l0eVxuICAgICAgICAgICAgICByb2FkXG4gICAgICAgICAgICAgIHBvcHVsYXJpdHlcbiAgICAgICAgICAgICAgYXJlYVxuICAgICAgICAgICAgICBsb2NhdGlvblxuICAgICAgICAgICAgICBvZmZzZXRcbiAgICAgICAgICAgICAgYWlycG9ydE5hbWVcbiAgICAgICAgICAgICAgY291bnRyeU5hbWVcbiAgICAgICAgICAgICAgY291bnRyeUNvZGVcbiAgICAgICAgICAgICAgcG9zdGNvZGVcbiAgICAgICAgICAgIH1cbiAgICAgICAgICAgIGRlc3RpbmF0aW9uQWlycG9ydFxuICAgICAgICAgICAgZGVzdGluYXRpb25UZXJtaW5hbFxuICAgICAgICAgICAgZGVzdGluYXRpb25BaXJwb3J0TmFtZVxuICAgICAgICAgICAgZGVzdGluYXRpb25BaXJwb3J0RGV0YWlsIHtcbiAgICAgICAgICAgICAgaWF0YVxuICAgICAgICAgICAgICBpY2FvXG4gICAgICAgICAgICAgIGxhdGl0dWRlXG4gICAgICAgICAgICAgIGxvbmdpdHVkZVxuICAgICAgICAgICAgICBhbHRpdHVkZVxuICAgICAgICAgICAgICBzdGF0ZVxuICAgICAgICAgICAgICBjaXR5XG4gICAgICAgICAgICAgIHJvYWRcbiAgICAgICAgICAgICAgcG9wdWxhcml0eVxuICAgICAgICAgICAgICBhcmVhXG4gICAgICAgICAgICAgIGxvY2F0aW9uXG4gICAgICAgICAgICAgIG9mZnNldFxuICAgICAgICAgICAgICBhaXJwb3J0TmFtZVxuICAgICAgICAgICAgICBjb3VudHJ5TmFtZVxuICAgICAgICAgICAgICBjb3VudHJ5Q29kZVxuICAgICAgICAgICAgICBwb3N0Y29kZVxuICAgICAgICAgICAgfVxuICAgICAgICAgICAgZGF0ZVRpbWVEZXBhcnRpbmdcbiAgICAgICAgICAgIGRhdGVUaW1lRGVwYXJ0aW5nVVRDXG4gICAgICAgICAgICBkYXRlVGltZUFycml2aW5nXG4gICAgICAgICAgICBkYXRlVGltZUFycml2aW5nVVRDXG4gICAgICAgICAgICBtYXJrZXRpbmdDYXJyaWVyXG4gICAgICAgICAgICBtYXJrZXRpbmdDYXJyaWVyTmFtZVxuICAgICAgICAgICAgbWFya2V0aW5nQ2FycmllckRldGFpbCB7XG4gICAgICAgICAgICAgIG5hbWVcbiAgICAgICAgICAgICAgYWxpYXNcbiAgICAgICAgICAgICAgY2FsbHNpZ25cbiAgICAgICAgICAgICAgaWF0YVxuICAgICAgICAgICAgICBpY2FvXG4gICAgICAgICAgICAgIGxvZ29cbiAgICAgICAgICAgICAgYmFubmVyXG4gICAgICAgICAgICAgIHBvcHVsYXJpdHlcbiAgICAgICAgICAgIH1cbiAgICAgICAgICAgIG1hcmtldGluZ0ZsaWdodE51bWJlclxuICAgICAgICAgICAgb3BlcmF0aW5nQ2FycmllclxuICAgICAgICAgICAgb3BlcmF0aW5nQ2Fycmllck5hbWVcbiAgICAgICAgICAgIG9wZXJhdGluZ0NhcnJpZXJEZXRhaWwge1xuICAgICAgICAgICAgICBuYW1lXG4gICAgICAgICAgICAgIGFsaWFzXG4gICAgICAgICAgICAgIGNhbGxzaWduXG4gICAgICAgICAgICAgIGlhdGFcbiAgICAgICAgICAgICAgaWNhb1xuICAgICAgICAgICAgICBsb2dvXG4gICAgICAgICAgICAgIGJhbm5lclxuICAgICAgICAgICAgICBwb3B1bGFyaXR5XG4gICAgICAgICAgICB9XG4gICAgICAgICAgICBvcGVyYXRpbmdGbGlnaHROdW1iZXJcbiAgICAgICAgICAgIGVxdWlwbWVudENvZGVcbiAgICAgICAgICAgIGVxdWlwbWVudE5hbWVcbiAgICAgICAgICAgIHRvdGFsRHVyYXRpb25cbiAgICAgICAgICAgIGNhYmluQ2xhc3NcbiAgICAgICAgICAgIG1hcmtldGluZ05hbWVzXG4gICAgICAgICAgICBmYXJlQ29uZGl0aW9ucyB7XG4gICAgICAgICAgICAgIGNhbmNlbGxhdGlvbiB7XG4gICAgICAgICAgICAgICAgbmFtZVxuICAgICAgICAgICAgICAgIHR5cGVcbiAgICAgICAgICAgICAgICBjdXJyZW5jeVxuICAgICAgICAgICAgICAgIGFtb3VudFxuICAgICAgICAgICAgICAgIHJlbWFya1xuICAgICAgICAgICAgICAgIGNoYW5nZUZlZUluZFxuICAgICAgICAgICAgICAgIGNhbmNlbEZlZUluZFxuICAgICAgICAgICAgICAgIHJlZnVuZGFibGVJbmRcbiAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgICBjaGFuZ2Uge1xuICAgICAgICAgICAgICAgIG5hbWVcbiAgICAgICAgICAgICAgICB0eXBlXG4gICAgICAgICAgICAgICAgY3VycmVuY3lcbiAgICAgICAgICAgICAgICBhbW91bnRcbiAgICAgICAgICAgICAgICByZW1hcmtcbiAgICAgICAgICAgICAgICBjaGFuZ2VGZWVJbmRcbiAgICAgICAgICAgICAgICBjYW5jZWxGZWVJbmRcbiAgICAgICAgICAgICAgICByZWZ1bmRhYmxlSW5kXG4gICAgICAgICAgICAgIH1cbiAgICAgICAgICAgICAgbm9TaG93IHtcbiAgICAgICAgICAgICAgICBuYW1lXG4gICAgICAgICAgICAgICAgdHlwZVxuICAgICAgICAgICAgICAgIGN1cnJlbmN5XG4gICAgICAgICAgICAgICAgYW1vdW50XG4gICAgICAgICAgICAgICAgcmVtYXJrXG4gICAgICAgICAgICAgICAgY2hhbmdlRmVlSW5kXG4gICAgICAgICAgICAgICAgY2FuY2VsRmVlSW5kXG4gICAgICAgICAgICAgICAgcmVmdW5kYWJsZUluZFxuICAgICAgICAgICAgICB9XG4gICAgICAgICAgICAgIHVwZ3JhZGUge1xuICAgICAgICAgICAgICAgIG5hbWVcbiAgICAgICAgICAgICAgICB0eXBlXG4gICAgICAgICAgICAgICAgY3VycmVuY3lcbiAgICAgICAgICAgICAgICBhbW91bnRcbiAgICAgICAgICAgICAgICByZW1hcmtcbiAgICAgICAgICAgICAgICBjaGFuZ2VGZWVJbmRcbiAgICAgICAgICAgICAgICBjYW5jZWxGZWVJbmRcbiAgICAgICAgICAgICAgICByZWZ1bmRhYmxlSW5kXG4gICAgICAgICAgICAgIH1cbiAgICAgICAgICAgICAgb3RoZXIge1xuICAgICAgICAgICAgICAgIG5hbWVcbiAgICAgICAgICAgICAgICB0eXBlXG4gICAgICAgICAgICAgICAgY3VycmVuY3lcbiAgICAgICAgICAgICAgICBhbW91bnRcbiAgICAgICAgICAgICAgICByZW1hcmtcbiAgICAgICAgICAgICAgICBjaGFuZ2VGZWVJbmRcbiAgICAgICAgICAgICAgICBjYW5jZWxGZWVJbmRcbiAgICAgICAgICAgICAgICByZWZ1bmRhYmxlSW5kXG4gICAgICAgICAgICAgIH1cbiAgICAgICAgICAgIH1cbiAgICAgICAgICAgIHZlbmRvckNvZGVcbiAgICAgICAgICAgIHN0b3BzXG4gICAgICAgICAgICBib29raW5nQ29kZVxuICAgICAgICAgICAgbWFycmlhZ2VHcm91cFxuICAgICAgICAgICAgZmFyZUJhc2lzQ29kZVxuICAgICAgICAgICAgYWRkaXRpb25hbFxuICAgICAgICAgIH1cbiAgICAgICAgICBpbmJvdW5kRmxpZ2h0cyB7XG4gICAgICAgICAgICBvcmlnaW5BaXJwb3J0XG4gICAgICAgICAgICBvcmlnaW5UZXJtaW5hbFxuICAgICAgICAgICAgb3JpZ2luQWlycG9ydE5hbWVcbiAgICAgICAgICAgIG9yaWdpbkFpcnBvcnREZXRhaWwge1xuICAgICAgICAgICAgICBpYXRhXG4gICAgICAgICAgICAgIGljYW9cbiAgICAgICAgICAgICAgbGF0aXR1ZGVcbiAgICAgICAgICAgICAgbG9uZ2l0dWRlXG4gICAgICAgICAgICAgIGFsdGl0dWRlXG4gICAgICAgICAgICAgIHN0YXRlXG4gICAgICAgICAgICAgIGNpdHlcbiAgICAgICAgICAgICAgcm9hZFxuICAgICAgICAgICAgICBwb3B1bGFyaXR5XG4gICAgICAgICAgICAgIGFyZWFcbiAgICAgICAgICAgICAgbG9jYXRpb25cbiAgICAgICAgICAgICAgb2Zmc2V0XG4gICAgICAgICAgICAgIGFpcnBvcnROYW1lXG4gICAgICAgICAgICAgIGNvdW50cnlOYW1lXG4gICAgICAgICAgICAgIGNvdW50cnlDb2RlXG4gICAgICAgICAgICAgIHBvc3Rjb2RlXG4gICAgICAgICAgICB9XG4gICAgICAgICAgICBkZXN0aW5hdGlvbkFpcnBvcnRcbiAgICAgICAgICAgIGRlc3RpbmF0aW9uVGVybWluYWxcbiAgICAgICAgICAgIGRlc3RpbmF0aW9uQWlycG9ydE5hbWVcbiAgICAgICAgICAgIGRlc3RpbmF0aW9uQWlycG9ydERldGFpbCB7XG4gICAgICAgICAgICAgIGlhdGFcbiAgICAgICAgICAgICAgaWNhb1xuICAgICAgICAgICAgICBsYXRpdHVkZVxuICAgICAgICAgICAgICBsb25naXR1ZGVcbiAgICAgICAgICAgICAgYWx0aXR1ZGVcbiAgICAgICAgICAgICAgc3RhdGVcbiAgICAgICAgICAgICAgY2l0eVxuICAgICAgICAgICAgICByb2FkXG4gICAgICAgICAgICAgIHBvcHVsYXJpdHlcbiAgICAgICAgICAgICAgYXJlYVxuICAgICAgICAgICAgICBsb2NhdGlvblxuICAgICAgICAgICAgICBvZmZzZXRcbiAgICAgICAgICAgICAgYWlycG9ydE5hbWVcbiAgICAgICAgICAgICAgY291bnRyeU5hbWVcbiAgICAgICAgICAgICAgY291bnRyeUNvZGVcbiAgICAgICAgICAgICAgcG9zdGNvZGVcbiAgICAgICAgICAgIH1cbiAgICAgICAgICAgIGRhdGVUaW1lRGVwYXJ0aW5nXG4gICAgICAgICAgICBkYXRlVGltZURlcGFydGluZ1VUQ1xuICAgICAgICAgICAgZGF0ZVRpbWVBcnJpdmluZ1xuICAgICAgICAgICAgZGF0ZVRpbWVBcnJpdmluZ1VUQ1xuICAgICAgICAgICAgbWFya2V0aW5nQ2FycmllclxuICAgICAgICAgICAgbWFya2V0aW5nQ2Fycmllck5hbWVcbiAgICAgICAgICAgIG1hcmtldGluZ0NhcnJpZXJEZXRhaWwge1xuICAgICAgICAgICAgICBuYW1lXG4gICAgICAgICAgICAgIGFsaWFzXG4gICAgICAgICAgICAgIGNhbGxzaWduXG4gICAgICAgICAgICAgIGlhdGFcbiAgICAgICAgICAgICAgaWNhb1xuICAgICAgICAgICAgICBsb2dvXG4gICAgICAgICAgICAgIGJhbm5lclxuICAgICAgICAgICAgICBwb3B1bGFyaXR5XG4gICAgICAgICAgICB9XG4gICAgICAgICAgICBtYXJrZXRpbmdGbGlnaHROdW1iZXJcbiAgICAgICAgICAgIG9wZXJhdGluZ0NhcnJpZXJcbiAgICAgICAgICAgIG9wZXJhdGluZ0NhcnJpZXJOYW1lXG4gICAgICAgICAgICBvcGVyYXRpbmdDYXJyaWVyRGV0YWlsIHtcbiAgICAgICAgICAgICAgbmFtZVxuICAgICAgICAgICAgICBhbGlhc1xuICAgICAgICAgICAgICBjYWxsc2lnblxuICAgICAgICAgICAgICBpYXRhXG4gICAgICAgICAgICAgIGljYW9cbiAgICAgICAgICAgICAgbG9nb1xuICAgICAgICAgICAgICBiYW5uZXJcbiAgICAgICAgICAgICAgcG9wdWxhcml0eVxuICAgICAgICAgICAgfVxuICAgICAgICAgICAgb3BlcmF0aW5nRmxpZ2h0TnVtYmVyXG4gICAgICAgICAgICBlcXVpcG1lbnRDb2RlXG4gICAgICAgICAgICBlcXVpcG1lbnROYW1lXG4gICAgICAgICAgICB0b3RhbER1cmF0aW9uXG4gICAgICAgICAgICBjYWJpbkNsYXNzXG4gICAgICAgICAgICBtYXJrZXRpbmdOYW1lc1xuICAgICAgICAgICAgZmFyZUNvbmRpdGlvbnMge1xuICAgICAgICAgICAgICBjYW5jZWxsYXRpb24ge1xuICAgICAgICAgICAgICAgIG5hbWVcbiAgICAgICAgICAgICAgICB0eXBlXG4gICAgICAgICAgICAgICAgY3VycmVuY3lcbiAgICAgICAgICAgICAgICBhbW91bnRcbiAgICAgICAgICAgICAgICByZW1hcmtcbiAgICAgICAgICAgICAgICBjaGFuZ2VGZWVJbmRcbiAgICAgICAgICAgICAgICBjYW5jZWxGZWVJbmRcbiAgICAgICAgICAgICAgICByZWZ1bmRhYmxlSW5kXG4gICAgICAgICAgICAgIH1cbiAgICAgICAgICAgICAgY2hhbmdlIHtcbiAgICAgICAgICAgICAgICBuYW1lXG4gICAgICAgICAgICAgICAgdHlwZVxuICAgICAgICAgICAgICAgIGN1cnJlbmN5XG4gICAgICAgICAgICAgICAgYW1vdW50XG4gICAgICAgICAgICAgICAgcmVtYXJrXG4gICAgICAgICAgICAgICAgY2hhbmdlRmVlSW5kXG4gICAgICAgICAgICAgICAgY2FuY2VsRmVlSW5kXG4gICAgICAgICAgICAgICAgcmVmdW5kYWJsZUluZFxuICAgICAgICAgICAgICB9XG4gICAgICAgICAgICAgIG5vU2hvdyB7XG4gICAgICAgICAgICAgICAgbmFtZVxuICAgICAgICAgICAgICAgIHR5cGVcbiAgICAgICAgICAgICAgICBjdXJyZW5jeVxuICAgICAgICAgICAgICAgIGFtb3VudFxuICAgICAgICAgICAgICAgIHJlbWFya1xuICAgICAgICAgICAgICAgIGNoYW5nZUZlZUluZFxuICAgICAgICAgICAgICAgIGNhbmNlbEZlZUluZFxuICAgICAgICAgICAgICAgIHJlZnVuZGFibGVJbmRcbiAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgICB1cGdyYWRlIHtcbiAgICAgICAgICAgICAgICBuYW1lXG4gICAgICAgICAgICAgICAgdHlwZVxuICAgICAgICAgICAgICAgIGN1cnJlbmN5XG4gICAgICAgICAgICAgICAgYW1vdW50XG4gICAgICAgICAgICAgICAgcmVtYXJrXG4gICAgICAgICAgICAgICAgY2hhbmdlRmVlSW5kXG4gICAgICAgICAgICAgICAgY2FuY2VsRmVlSW5kXG4gICAgICAgICAgICAgICAgcmVmdW5kYWJsZUluZFxuICAgICAgICAgICAgICB9XG4gICAgICAgICAgICAgIG90aGVyIHtcbiAgICAgICAgICAgICAgICBuYW1lXG4gICAgICAgICAgICAgICAgdHlwZVxuICAgICAgICAgICAgICAgIGN1cnJlbmN5XG4gICAgICAgICAgICAgICAgYW1vdW50XG4gICAgICAgICAgICAgICAgcmVtYXJrXG4gICAgICAgICAgICAgICAgY2hhbmdlRmVlSW5kXG4gICAgICAgICAgICAgICAgY2FuY2VsRmVlSW5kXG4gICAgICAgICAgICAgICAgcmVmdW5kYWJsZUluZFxuICAgICAgICAgICAgICB9XG4gICAgICAgICAgICB9XG4gICAgICAgICAgICB2ZW5kb3JDb2RlXG4gICAgICAgICAgICBzdG9wc1xuICAgICAgICAgICAgYm9va2luZ0NvZGVcbiAgICAgICAgICAgIG1hcnJpYWdlR3JvdXBcbiAgICAgICAgICAgIGZhcmVCYXNpc0NvZGVcbiAgICAgICAgICAgIGFkZGl0aW9uYWxcbiAgICAgICAgICB9XG4gICAgICAgICAgb3V0Ym91bmRUb3RhbER1cmF0aW9uXG4gICAgICAgICAgb3V0Ym91bmRDYXJib25FbWlzc2lvbnMge1xuICAgICAgICAgICAgYW1vdW50XG4gICAgICAgICAgICB1bml0XG4gICAgICAgICAgfVxuICAgICAgICAgIGluYm91bmRUb3RhbER1cmF0aW9uXG4gICAgICAgICAgaW5ib3VuZENhcmJvbkVtaXNzaW9ucyB7XG4gICAgICAgICAgICBhbW91bnRcbiAgICAgICAgICAgIHVuaXRcbiAgICAgICAgICB9XG4gICAgICAgICAgdGF4ZXMge1xuICAgICAgICAgICAgZGVzY3JpcHRpb25cbiAgICAgICAgICAgIGFtb3VudFxuICAgICAgICAgICAgY3VycmVuY3lcbiAgICAgICAgICB9XG4gICAgICAgICAgZGlzY291bnRzIHtcbiAgICAgICAgICAgIGRlc2NyaXB0aW9uXG4gICAgICAgICAgICBhbW91bnRcbiAgICAgICAgICAgIGN1cnJlbmN5XG4gICAgICAgICAgfVxuICAgICAgICAgIHRvdGFsIHtcbiAgICAgICAgICAgIHByaWNlXG4gICAgICAgICAgICB0YXhcbiAgICAgICAgICAgIGRpc2NvdW50XG4gICAgICAgICAgICBjdXJyZW5jeVxuICAgICAgICAgIH1cbiAgICAgICAgICBmYXJlQ29uZGl0aW9ucyB7XG4gICAgICAgICAgICBjYW5jZWxsYXRpb24ge1xuICAgICAgICAgICAgICBuYW1lXG4gICAgICAgICAgICAgIHR5cGVcbiAgICAgICAgICAgICAgY3VycmVuY3lcbiAgICAgICAgICAgICAgYW1vdW50XG4gICAgICAgICAgICAgIHJlbWFya1xuICAgICAgICAgICAgICBjaGFuZ2VGZWVJbmRcbiAgICAgICAgICAgICAgY2FuY2VsRmVlSW5kXG4gICAgICAgICAgICAgIHJlZnVuZGFibGVJbmRcbiAgICAgICAgICAgIH1cbiAgICAgICAgICAgIGNoYW5nZSB7XG4gICAgICAgICAgICAgIG5hbWVcbiAgICAgICAgICAgICAgdHlwZVxuICAgICAgICAgICAgICBjdXJyZW5jeVxuICAgICAgICAgICAgICBhbW91bnRcbiAgICAgICAgICAgICAgcmVtYXJrXG4gICAgICAgICAgICAgIGNoYW5nZUZlZUluZFxuICAgICAgICAgICAgICBjYW5jZWxGZWVJbmRcbiAgICAgICAgICAgICAgcmVmdW5kYWJsZUluZFxuICAgICAgICAgICAgfVxuICAgICAgICAgICAgbm9TaG93IHtcbiAgICAgICAgICAgICAgbmFtZVxuICAgICAgICAgICAgICB0eXBlXG4gICAgICAgICAgICAgIGN1cnJlbmN5XG4gICAgICAgICAgICAgIGFtb3VudFxuICAgICAgICAgICAgICByZW1hcmtcbiAgICAgICAgICAgICAgY2hhbmdlRmVlSW5kXG4gICAgICAgICAgICAgIGNhbmNlbEZlZUluZFxuICAgICAgICAgICAgICByZWZ1bmRhYmxlSW5kXG4gICAgICAgICAgICB9XG4gICAgICAgICAgICB1cGdyYWRlIHtcbiAgICAgICAgICAgICAgbmFtZVxuICAgICAgICAgICAgICB0eXBlXG4gICAgICAgICAgICAgIGN1cnJlbmN5XG4gICAgICAgICAgICAgIGFtb3VudFxuICAgICAgICAgICAgICByZW1hcmtcbiAgICAgICAgICAgICAgY2hhbmdlRmVlSW5kXG4gICAgICAgICAgICAgIGNhbmNlbEZlZUluZFxuICAgICAgICAgICAgICByZWZ1bmRhYmxlSW5kXG4gICAgICAgICAgICB9XG4gICAgICAgICAgICBvdGhlciB7XG4gICAgICAgICAgICAgIG5hbWVcbiAgICAgICAgICAgICAgdHlwZVxuICAgICAgICAgICAgICBjdXJyZW5jeVxuICAgICAgICAgICAgICBhbW91bnRcbiAgICAgICAgICAgICAgcmVtYXJrXG4gICAgICAgICAgICAgIGNoYW5nZUZlZUluZFxuICAgICAgICAgICAgICBjYW5jZWxGZWVJbmRcbiAgICAgICAgICAgICAgcmVmdW5kYWJsZUluZFxuICAgICAgICAgICAgfVxuICAgICAgICAgIH1cbiAgICAgICAgICBiYWdnYWdlQWxsb3dhbmNlIHtcbiAgICAgICAgICAgIHR5cGVcbiAgICAgICAgICAgIHF0eVxuICAgICAgICAgICAgbWF4S0dcbiAgICAgICAgICAgIG1heExCU1xuICAgICAgICAgIH1cbiAgICAgICAgICBhZGRpdGlvbmFsXG4gICAgICAgICAgc291cmNlXG4gICAgICAgICAgc291cmNlSWRcbiAgICAgICAgICB2ZXJzaW9uXG4gICAgICAgICAgdG1jUHJlZmVycmVkXG4gICAgICAgICAgY29tcGFueVByZWZlcnJlZFxuICAgICAgICAgIG9mZmljZVByZWZlcnJlZFxuICAgICAgICAgIHRtY1ByZWZlcnJlZE1lc3NhZ2VcbiAgICAgICAgICBjb21wYW55UHJlZmVycmVkTWVzc2FnZVxuICAgICAgICAgIG9mZmljZVByZWZlcnJlZE1lc3NhZ2VcbiAgICAgICAgICB1bmF2YWlsYWJsZVxuICAgICAgICAgIHVuYXZhaWxhYmxlTWVzc2FnZVxuICAgICAgICAgIGNvMlBlckl0ZW1cbiAgICAgICAgICBjbzJQZXJQYXNzZW5nZXJcbiAgICAgICAgfVxuICAgICAgICBtaW5QcmljZVxuICAgICAgICBtYXhQcmljZVxuICAgICAgfVxuICAgICAgZ3JvdXBlZCB7XG4gICAgICAgIC4uLkdyb3VwZWRGaWVsZHMgQGluY2x1ZGUoaWY6ICR3aXRoR3JvdXBlZClcbiAgICAgIH1cbiAgICB9XG4gICAgZXJyb3JzIHtcbiAgICAgIC4uLkVycm9yc1xuICAgIH1cbiAgfVxufVxuICAgICR7R3JvdXBlZEZpZWxkc0ZyYWdtZW50RG9jfVxuJHtFcnJvcnNGcmFnbWVudERvY31gO1xuXG4gIEBJbmplY3RhYmxlKHtcbiAgICBwcm92aWRlZEluOiAncm9vdCdcbiAgfSlcbiAgZXhwb3J0IGNsYXNzIFNlYXJjaEZsaWdodHNWMkdRTCBleHRlbmRzIEFwb2xsby5RdWVyeTxTZWFyY2hGbGlnaHRzVjJRdWVyeSwgU2VhcmNoRmxpZ2h0c1YyUXVlcnlWYXJpYWJsZXM+IHtcbiAgICBkb2N1bWVudCA9IFNlYXJjaEZsaWdodHNWMkRvY3VtZW50O1xuICAgIFxuICAgIGNvbnN0cnVjdG9yKGFwb2xsbzogQXBvbGxvLkFwb2xsbykge1xuICAgICAgc3VwZXIoYXBvbGxvKTtcbiAgICB9XG4gIH1cbmV4cG9ydCBjb25zdCBHZXRDYXJIaXJlRGVwb3RzRG9jdW1lbnQgPSBncWxgXG4gICAgcXVlcnkgZ2V0Q2FySGlyZURlcG90cygkbGF0aXR1ZGU6IEZsb2F0ISwgJGxvbmdpdHVkZTogRmxvYXQhLCAkdmVuZG9yQ29kZTogU3RyaW5nKSB7XG4gIGdldENhckhpcmVEZXBvdHMobGF0aXR1ZGU6ICRsYXRpdHVkZSwgbG9uZ2l0dWRlOiAkbG9uZ2l0dWRlLCB2ZW5kb3JDb2RlOiAkdmVuZG9yQ29kZSkge1xuICAgIGNvdW50cnlDb2RlXG4gICAgbG9jYXRpb25Db2RlXG4gICAgZXh0ZW5kZWRMb2NhdGlvbkNvZGVcbiAgICB2ZW5kb3JDb2RlXG4gICAgbGF0aXR1ZGVcbiAgICBsb25naXR1ZGVcbiAgICB2ZW5kb3JcbiAgICBhZGRyZXNzTGluZXNcbiAgICBjaXR5TmFtZVxuICB9XG59XG4gICAgYDtcblxuICBASW5qZWN0YWJsZSh7XG4gICAgcHJvdmlkZWRJbjogJ3Jvb3QnXG4gIH0pXG4gIGV4cG9ydCBjbGFzcyBHZXRDYXJIaXJlRGVwb3RzR1FMIGV4dGVuZHMgQXBvbGxvLlF1ZXJ5PEdldENhckhpcmVEZXBvdHNRdWVyeSwgR2V0Q2FySGlyZURlcG90c1F1ZXJ5VmFyaWFibGVzPiB7XG4gICAgZG9jdW1lbnQgPSBHZXRDYXJIaXJlRGVwb3RzRG9jdW1lbnQ7XG4gICAgXG4gICAgY29uc3RydWN0b3IoYXBvbGxvOiBBcG9sbG8uQXBvbGxvKSB7XG4gICAgICBzdXBlcihhcG9sbG8pO1xuICAgIH1cbiAgfVxuZXhwb3J0IGNvbnN0IEdldENvbmZlcm1hT2ZmaWNlTmFtZXNEb2N1bWVudCA9IGdxbGBcbiAgICBxdWVyeSBnZXRDb25mZXJtYU9mZmljZU5hbWVzIHtcbiAgZ2V0Q29uZmVybWFPZmZpY2VOYW1lcyB7XG4gICAgcmVzdWx0cyB7XG4gICAgICBpZFxuICAgICAgbmFtZVxuICAgIH1cbiAgICBlcnJvcnMge1xuICAgICAgLi4uRXJyb3JzXG4gICAgfVxuICB9XG59XG4gICAgJHtFcnJvcnNGcmFnbWVudERvY31gO1xuXG4gIEBJbmplY3RhYmxlKHtcbiAgICBwcm92aWRlZEluOiAncm9vdCdcbiAgfSlcbiAgZXhwb3J0IGNsYXNzIEdldENvbmZlcm1hT2ZmaWNlTmFtZXNHUUwgZXh0ZW5kcyBBcG9sbG8uUXVlcnk8R2V0Q29uZmVybWFPZmZpY2VOYW1lc1F1ZXJ5LCBHZXRDb25mZXJtYU9mZmljZU5hbWVzUXVlcnlWYXJpYWJsZXM+IHtcbiAgICBkb2N1bWVudCA9IEdldENvbmZlcm1hT2ZmaWNlTmFtZXNEb2N1bWVudDtcbiAgICBcbiAgICBjb25zdHJ1Y3RvcihhcG9sbG86IEFwb2xsby5BcG9sbG8pIHtcbiAgICAgIHN1cGVyKGFwb2xsbyk7XG4gICAgfVxuICB9XG5leHBvcnQgY29uc3QgR2V0Q29uZmVybWFRdWlja2xpc3REb2N1bWVudCA9IGdxbGBcbiAgICBxdWVyeSBnZXRDb25mZXJtYVF1aWNrbGlzdCgkY291bnRyeUNvZGU6IFN0cmluZyEpIHtcbiAgZ2V0Q29uZmVybWFRdWlja2xpc3QoY291bnRyeUNvZGU6ICRjb3VudHJ5Q29kZSkge1xuICAgIHJlc3VsdHMge1xuICAgICAgaWRcbiAgICAgIG5hbWVcbiAgICAgIGltYWdlVXJsXG4gICAgICBncm91cFxuICAgICAgbG9jYXRpb24ge1xuICAgICAgICBkaXN0YW5jZVxuICAgICAgICBkaXN0YW5jZVR5cGVcbiAgICAgICAgbG9uZ2l0dWRlXG4gICAgICAgIGxhdGl0dWRlXG4gICAgICB9XG4gICAgICBhZGRyZXNzIHtcbiAgICAgICAgYWRkcmVzc0xpbmUxXG4gICAgICAgIGFkZHJlc3NMaW5lMlxuICAgICAgICBhZGRyZXNzTGluZTNcbiAgICAgICAgcG9zdE9yWmlwQ29kZVxuICAgICAgICBjb3VudHJ5Q29kZVxuICAgICAgICB0ZWxlcGhvbmVcbiAgICAgICAgZmFjc2ltaWxlXG4gICAgICB9XG4gICAgICB0cmFuc3BvcnRzIHtcbiAgICAgICAgdHlwZVxuICAgICAgICBuYW1lXG4gICAgICAgIGNvZGVcbiAgICAgICAgZGlzdGFuY2VcbiAgICAgICAgZGlzdGFuY2VUeXBlXG4gICAgICAgIGxvbmdpdHVkZVxuICAgICAgICBsYXRpdHVkZVxuICAgICAgfVxuICAgICAgcHJlZmVycmVkIHtcbiAgICAgICAgY2xpZW50XG4gICAgICAgIGNvbnN1bWVyXG4gICAgICB9XG4gICAgICB0YWdzIHtcbiAgICAgICAgbmFtZVxuICAgICAgICBkaXNwbGF5XG4gICAgICAgIHR5cGVcbiAgICAgICAgaWNvblxuICAgICAgfVxuICAgICAgYXZhaWxhYmxlUmF0ZXMge1xuICAgICAgICBob3RlbElkXG4gICAgICAgIGltYWdlVXJsXG4gICAgICAgIHJvb21zIHtcbiAgICAgICAgICByb29tSWRcbiAgICAgICAgICByb29tVHlwZVxuICAgICAgICAgIHJvb21EZXNjcmlwdGlvblxuICAgICAgICAgIHJhdGVDb2RlXG4gICAgICAgICAgcmF0ZURlc2NyaXB0aW9uXG4gICAgICAgICAgdG90YWxcbiAgICAgICAgICBjdXJyZW5jeUNvZGVcbiAgICAgICAgICBjdXJyZW5jeUNvbnZlcnNpb24ge1xuICAgICAgICAgICAgcmF0ZVxuICAgICAgICAgICAgbG9jYWxDb2RlXG4gICAgICAgICAgICBsb2NhbFRvdGFsXG4gICAgICAgICAgICBjb252ZXJ0ZWRDb2RlXG4gICAgICAgICAgICBjb252ZXJ0ZWRUb3RhbFxuICAgICAgICAgIH1cbiAgICAgICAgICBkZXBvc2l0IHtcbiAgICAgICAgICAgIGFtb3VudFxuICAgICAgICAgICAgcG9saWN5XG4gICAgICAgICAgICByZXF1aXJlZFxuICAgICAgICAgIH1cbiAgICAgICAgICBuaWdodHMge1xuICAgICAgICAgICAgbmlnaHRcbiAgICAgICAgICAgIHJhdGVcbiAgICAgICAgICAgIGluZm9cbiAgICAgICAgICAgIGRhdGVcbiAgICAgICAgICB9XG4gICAgICAgICAgcG9saWNpZXMge1xuICAgICAgICAgICAgY2FuY2VsbGF0aW9uXG4gICAgICAgICAgICBkZXBvc2l0XG4gICAgICAgICAgICBkaXNhYmxlZEFjY2Vzc1xuICAgICAgICAgICAgZ2VuZXJhbFxuICAgICAgICAgICAgZ3VhcmFudGVlXG4gICAgICAgICAgICByZWZ1bmRBdmFpbGFibGVcbiAgICAgICAgICB9XG4gICAgICAgICAgdGF4IHtcbiAgICAgICAgICAgIGluY2x1ZGVkXG4gICAgICAgICAgICByYXRlXG4gICAgICAgICAgfVxuICAgICAgICAgIGFjY2VwdGVkQ2FyZHMge1xuICAgICAgICAgICAgaWRcbiAgICAgICAgICAgIG5hbWVcbiAgICAgICAgICB9XG4gICAgICAgICAgcGF5bWVudFR5cGVzIHtcbiAgICAgICAgICAgIHR5cGVcbiAgICAgICAgICAgIG5hbWVcbiAgICAgICAgICB9XG4gICAgICAgIH1cbiAgICAgICAgcHJwblxuICAgICAgICBjdXJyZW5jeUNvZGVcbiAgICAgICAgaXNCdXN5XG4gICAgICAgIHNvdXJjZVxuICAgICAgICB2ZXJzaW9uXG4gICAgICB9XG4gICAgICB2ZXJzaW9uXG4gICAgICB0bWNQcmVmZXJyZWRNZXNzYWdlXG4gICAgICBjb21wYW55UHJlZmVycmVkTWVzc2FnZVxuICAgICAgb2ZmaWNlUHJlZmVycmVkTWVzc2FnZVxuICAgICAgdW5hdmFpbGFibGVNZXNzYWdlXG4gICAgfVxuICAgIGVycm9ycyB7XG4gICAgICAuLi5FcnJvcnNcbiAgICB9XG4gIH1cbn1cbiAgICAke0Vycm9yc0ZyYWdtZW50RG9jfWA7XG5cbiAgQEluamVjdGFibGUoe1xuICAgIHByb3ZpZGVkSW46ICdyb290J1xuICB9KVxuICBleHBvcnQgY2xhc3MgR2V0Q29uZmVybWFRdWlja2xpc3RHUUwgZXh0ZW5kcyBBcG9sbG8uUXVlcnk8R2V0Q29uZmVybWFRdWlja2xpc3RRdWVyeSwgR2V0Q29uZmVybWFRdWlja2xpc3RRdWVyeVZhcmlhYmxlcz4ge1xuICAgIGRvY3VtZW50ID0gR2V0Q29uZmVybWFRdWlja2xpc3REb2N1bWVudDtcbiAgICBcbiAgICBjb25zdHJ1Y3RvcihhcG9sbG86IEFwb2xsby5BcG9sbG8pIHtcbiAgICAgIHN1cGVyKGFwb2xsbyk7XG4gICAgfVxuICB9XG5leHBvcnQgY29uc3QgR2V0UmFpbFN0YXRpb25Eb2N1bWVudCA9IGdxbGBcbiAgICBxdWVyeSBnZXRSYWlsU3RhdGlvbigkaWQ6IElELCAkY29kZTogU3RyaW5nKSB7XG4gIGdldFJhaWxTdGF0aW9uKGlkOiAkaWQsIGNvZGU6ICRjb2RlKSB7XG4gICAgaWRcbiAgICBuYW1lXG4gICAgc3RhdGlvbkNvZGVcbiAgICBubGNDb2RlXG4gICAgdHJhaW5saW5lQ29kZVxuICAgIHRyYWlubGluZVVuaXF1ZUNvZGVcbiAgICBsb2NhdGlvbkRldGFpbHMge1xuICAgICAgY29udGluZW50XG4gICAgICBjb3VudHJ5XG4gICAgICBjb3VudHJ5Q29kZVxuICAgICAgc3RhdGVcbiAgICAgIGNpdHlcbiAgICAgIGNvb3JkaW5hdGVzIHtcbiAgICAgICAgbGF0aXR1ZGVcbiAgICAgICAgbG9uZ2l0dWRlXG4gICAgICAgIGFsdGl0dWRlXG4gICAgICB9XG4gICAgICBwb3N0Y29kZVxuICAgICAgcm9hZFxuICAgICAgZ3JpZFJlZmVyZW5jZVxuICAgICAgbm9ydGhpbmdcbiAgICAgIGVhc3RpbmdcbiAgICB9XG4gIH1cbn1cbiAgICBgO1xuXG4gIEBJbmplY3RhYmxlKHtcbiAgICBwcm92aWRlZEluOiAncm9vdCdcbiAgfSlcbiAgZXhwb3J0IGNsYXNzIEdldFJhaWxTdGF0aW9uR1FMIGV4dGVuZHMgQXBvbGxvLlF1ZXJ5PEdldFJhaWxTdGF0aW9uUXVlcnksIEdldFJhaWxTdGF0aW9uUXVlcnlWYXJpYWJsZXM+IHtcbiAgICBkb2N1bWVudCA9IEdldFJhaWxTdGF0aW9uRG9jdW1lbnQ7XG4gICAgXG4gICAgY29uc3RydWN0b3IoYXBvbGxvOiBBcG9sbG8uQXBvbGxvKSB7XG4gICAgICBzdXBlcihhcG9sbG8pO1xuICAgIH1cbiAgfVxuZXhwb3J0IGNvbnN0IEdldFJhaWxjYXJkc0RvY3VtZW50ID0gZ3FsYFxuICAgIHF1ZXJ5IGdldFJhaWxjYXJkcyB7XG4gIGdldFJhaWxjYXJkcyB7XG4gICAgbmFtZVxuICAgIGNvZGVcbiAgfVxufVxuICAgIGA7XG5cbiAgQEluamVjdGFibGUoe1xuICAgIHByb3ZpZGVkSW46ICdyb290J1xuICB9KVxuICBleHBvcnQgY2xhc3MgR2V0UmFpbGNhcmRzR1FMIGV4dGVuZHMgQXBvbGxvLlF1ZXJ5PEdldFJhaWxjYXJkc1F1ZXJ5LCBHZXRSYWlsY2FyZHNRdWVyeVZhcmlhYmxlcz4ge1xuICAgIGRvY3VtZW50ID0gR2V0UmFpbGNhcmRzRG9jdW1lbnQ7XG4gICAgXG4gICAgY29uc3RydWN0b3IoYXBvbGxvOiBBcG9sbG8uQXBvbGxvKSB7XG4gICAgICBzdXBlcihhcG9sbG8pO1xuICAgIH1cbiAgfVxuZXhwb3J0IGNvbnN0IEdldFJpc2tBbGVydHNEb2N1bWVudCA9IGdxbGBcbiAgICBxdWVyeSBnZXRSaXNrQWxlcnRzKCRtaW5MZXZlbDogUmlza0xldmVsISwgJG1heExldmVsOiBSaXNrTGV2ZWwhLCAkY291bnRyeUlzb0NvZGU6IFN0cmluZywgJGFpcnBvcnQ6IElELCAkcmFpbFN0YXRpb246IElELCAkYWlycG9ydElhdGE6IFN0cmluZykge1xuICBnZXRSaXNrQWxlcnRzKG1pbkxldmVsOiAkbWluTGV2ZWwsIG1heExldmVsOiAkbWF4TGV2ZWwsIGNvdW50cnlJc29Db2RlOiAkY291bnRyeUlzb0NvZGUsIGFpcnBvcnQ6ICRhaXJwb3J0LCByYWlsU3RhdGlvbjogJHJhaWxTdGF0aW9uLCBhaXJwb3J0SWF0YTogJGFpcnBvcnRJYXRhKSB7XG4gICAgaWRcbiAgICB0aXRsZVxuICAgIGRlc2NyaXB0aW9uXG4gICAgYnJlYWtpbmdcbiAgICByaXNrXG4gICAgY2F0ZWdvcnlcbiAgICBjb3VudHJ5XG4gICAgbG9jYXRpb25cbiAgICBsYXRpdHVkZVxuICAgIGxvbmdpdHVkZVxuICAgIHN0YXJ0RGF0ZVxuICAgIGVuZERhdGVcbiAgICByZWNlaXZlZERhdGVcbiAgfVxufVxuICAgIGA7XG5cbiAgQEluamVjdGFibGUoe1xuICAgIHByb3ZpZGVkSW46ICdyb290J1xuICB9KVxuICBleHBvcnQgY2xhc3MgR2V0Umlza0FsZXJ0c0dRTCBleHRlbmRzIEFwb2xsby5RdWVyeTxHZXRSaXNrQWxlcnRzUXVlcnksIEdldFJpc2tBbGVydHNRdWVyeVZhcmlhYmxlcz4ge1xuICAgIGRvY3VtZW50ID0gR2V0Umlza0FsZXJ0c0RvY3VtZW50O1xuICAgIFxuICAgIGNvbnN0cnVjdG9yKGFwb2xsbzogQXBvbGxvLkFwb2xsbykge1xuICAgICAgc3VwZXIoYXBvbGxvKTtcbiAgICB9XG4gIH1cbmV4cG9ydCBjb25zdCBHZXRVc2VyQWRkcmVzc2VzRG9jdW1lbnQgPSBncWxgXG4gICAgcXVlcnkgZ2V0VXNlckFkZHJlc3NlcyB7XG4gIGdldFVzZXJBZGRyZXNzZXMge1xuICAgIGlkXG4gICAgZGVzY3JpcHRpb25cbiAgICBudW1iZXJPck5hbWVcbiAgICBzdHJlZXRcbiAgICB0b3duXG4gICAgY291bnR5XG4gICAgcG9zdGNvZGVcbiAgICBjb3VudHJ5Q29kZVxuICAgIHVzZXJQcmltYXJ5XG4gICAgb2ZmaWNlUHJpbWFyeVxuICB9XG59XG4gICAgYDtcblxuICBASW5qZWN0YWJsZSh7XG4gICAgcHJvdmlkZWRJbjogJ3Jvb3QnXG4gIH0pXG4gIGV4cG9ydCBjbGFzcyBHZXRVc2VyQWRkcmVzc2VzR1FMIGV4dGVuZHMgQXBvbGxvLlF1ZXJ5PEdldFVzZXJBZGRyZXNzZXNRdWVyeSwgR2V0VXNlckFkZHJlc3Nlc1F1ZXJ5VmFyaWFibGVzPiB7XG4gICAgZG9jdW1lbnQgPSBHZXRVc2VyQWRkcmVzc2VzRG9jdW1lbnQ7XG4gICAgXG4gICAgY29uc3RydWN0b3IoYXBvbGxvOiBBcG9sbG8uQXBvbGxvKSB7XG4gICAgICBzdXBlcihhcG9sbG8pO1xuICAgIH1cbiAgfVxuZXhwb3J0IGNvbnN0IEdldFVzZXJDb21wYW55T2ZmaWNlc0RvY3VtZW50ID0gZ3FsYFxuICAgIHF1ZXJ5IGdldFVzZXJDb21wYW55T2ZmaWNlcyB7XG4gIGdldFVzZXJDb21wYW55T2ZmaWNlcyB7XG4gICAgaWRcbiAgICBuYW1lXG4gICAgYWRkcmVzc2VzIHtcbiAgICAgIGlkXG4gICAgICBkZXNjcmlwdGlvblxuICAgICAgbnVtYmVyT3JOYW1lXG4gICAgICBzdHJlZXRcbiAgICAgIHRvd25cbiAgICAgIGNvdW50eVxuICAgICAgcG9zdGNvZGVcbiAgICAgIGNvdW50cnlDb2RlXG4gICAgICB1c2VyUHJpbWFyeVxuICAgICAgb2ZmaWNlUHJpbWFyeVxuICAgIH1cbiAgfVxufVxuICAgIGA7XG5cbiAgQEluamVjdGFibGUoe1xuICAgIHByb3ZpZGVkSW46ICdyb290J1xuICB9KVxuICBleHBvcnQgY2xhc3MgR2V0VXNlckNvbXBhbnlPZmZpY2VzR1FMIGV4dGVuZHMgQXBvbGxvLlF1ZXJ5PEdldFVzZXJDb21wYW55T2ZmaWNlc1F1ZXJ5LCBHZXRVc2VyQ29tcGFueU9mZmljZXNRdWVyeVZhcmlhYmxlcz4ge1xuICAgIGRvY3VtZW50ID0gR2V0VXNlckNvbXBhbnlPZmZpY2VzRG9jdW1lbnQ7XG4gICAgXG4gICAgY29uc3RydWN0b3IoYXBvbGxvOiBBcG9sbG8uQXBvbGxvKSB7XG4gICAgICBzdXBlcihhcG9sbG8pO1xuICAgIH1cbiAgfVxuZXhwb3J0IGNvbnN0IEdldFVzZXJDdXJyZW50Q2FyYm9uQWxsb3dhbmNlRG9jdW1lbnQgPSBncWxgXG4gICAgcXVlcnkgZ2V0VXNlckN1cnJlbnRDYXJib25BbGxvd2FuY2UoJHVzZXI6IElEKSB7XG4gIGdldFVzZXJDdXJyZW50Q2FyYm9uQWxsb3dhbmNlKHVzZXI6ICR1c2VyKSB7XG4gICAgaWRcbiAgICBzdGFydE9mUGVyaW9kXG4gICAgZW5kT2ZQZXJpb2RcbiAgICByZW1haW5pbmdDbzJcbiAgICB0b3RhbENvMlxuICAgIGNhcmJvblBvbGljeVNvdXJjZVxuICAgIGNvbXBhbnkge1xuICAgICAgaWRcbiAgICAgIG5hbWVcbiAgICB9XG4gICAgb2ZmaWNlIHtcbiAgICAgIGlkXG4gICAgICBuYW1lXG4gICAgfVxuICAgIHVzZXIge1xuICAgICAgaWRcbiAgICAgIGZvcmVuYW1lXG4gICAgICBzdXJuYW1lXG4gICAgICBlbWFpbFxuICAgIH1cbiAgICBwZXJpb2RDb25zdW1wdGlvbiB7XG4gICAgICBpZFxuICAgICAgY29uc3VtZWRcbiAgICAgIGRhdGV0aW1lXG4gICAgfVxuICB9XG59XG4gICAgYDtcblxuICBASW5qZWN0YWJsZSh7XG4gICAgcHJvdmlkZWRJbjogJ3Jvb3QnXG4gIH0pXG4gIGV4cG9ydCBjbGFzcyBHZXRVc2VyQ3VycmVudENhcmJvbkFsbG93YW5jZUdRTCBleHRlbmRzIEFwb2xsby5RdWVyeTxHZXRVc2VyQ3VycmVudENhcmJvbkFsbG93YW5jZVF1ZXJ5LCBHZXRVc2VyQ3VycmVudENhcmJvbkFsbG93YW5jZVF1ZXJ5VmFyaWFibGVzPiB7XG4gICAgZG9jdW1lbnQgPSBHZXRVc2VyQ3VycmVudENhcmJvbkFsbG93YW5jZURvY3VtZW50O1xuICAgIFxuICAgIGNvbnN0cnVjdG9yKGFwb2xsbzogQXBvbGxvLkFwb2xsbykge1xuICAgICAgc3VwZXIoYXBvbGxvKTtcbiAgICB9XG4gIH1cbmV4cG9ydCBjb25zdCBHZXRVc2VyTWlBdXRvU3VnZ2VzdFZhbHVlc0RvY3VtZW50ID0gZ3FsYFxuICAgIHF1ZXJ5IGdldFVzZXJNSUF1dG9TdWdnZXN0VmFsdWVzKCRtaTogSUQhLCAkcGFydGlhbExhYmVsOiBTdHJpbmchKSB7XG4gIGdldFVzZXJNSUF1dG9TdWdnZXN0VmFsdWVzKG1pOiAkbWksIHBhcnRpYWxMYWJlbDogJHBhcnRpYWxMYWJlbCkge1xuICAgIGlkXG4gICAgbGFiZWxcbiAgICB2YWx1ZVxuICAgIGRlZmF1bHRcbiAgICBmaXhlZFxuICAgIGFnZW50T25seVxuICB9XG59XG4gICAgYDtcblxuICBASW5qZWN0YWJsZSh7XG4gICAgcHJvdmlkZWRJbjogJ3Jvb3QnXG4gIH0pXG4gIGV4cG9ydCBjbGFzcyBHZXRVc2VyTWlBdXRvU3VnZ2VzdFZhbHVlc0dRTCBleHRlbmRzIEFwb2xsby5RdWVyeTxHZXRVc2VyTWlBdXRvU3VnZ2VzdFZhbHVlc1F1ZXJ5LCBHZXRVc2VyTWlBdXRvU3VnZ2VzdFZhbHVlc1F1ZXJ5VmFyaWFibGVzPiB7XG4gICAgZG9jdW1lbnQgPSBHZXRVc2VyTWlBdXRvU3VnZ2VzdFZhbHVlc0RvY3VtZW50O1xuICAgIFxuICAgIGNvbnN0cnVjdG9yKGFwb2xsbzogQXBvbGxvLkFwb2xsbykge1xuICAgICAgc3VwZXIoYXBvbGxvKTtcbiAgICB9XG4gIH1cbmV4cG9ydCBjb25zdCBHZXRVc2VyUGhvbmVEb2N1bWVudCA9IGdxbGBcbiAgICBxdWVyeSBnZXRVc2VyUGhvbmUge1xuICBnZXRVc2VyUGhvbmVOdW1iZXJzIHtcbiAgICBpZFxuICAgIGRlc2NyaXB0aW9uXG4gICAgY291bnRyeUNvZGVcbiAgICBhcmVhQ29kZVxuICAgIG51bWJlclxuICAgIGV4dGVuc2lvblxuICAgIHR5cGVcbiAgICBvZmZpY2VQcmltYXJ5XG4gICAgdXNlclByaW1hcnlcbiAgfVxufVxuICAgIGA7XG5cbiAgQEluamVjdGFibGUoe1xuICAgIHByb3ZpZGVkSW46ICdyb290J1xuICB9KVxuICBleHBvcnQgY2xhc3MgR2V0VXNlclBob25lR1FMIGV4dGVuZHMgQXBvbGxvLlF1ZXJ5PEdldFVzZXJQaG9uZVF1ZXJ5LCBHZXRVc2VyUGhvbmVRdWVyeVZhcmlhYmxlcz4ge1xuICAgIGRvY3VtZW50ID0gR2V0VXNlclBob25lRG9jdW1lbnQ7XG4gICAgXG4gICAgY29uc3RydWN0b3IoYXBvbGxvOiBBcG9sbG8uQXBvbGxvKSB7XG4gICAgICBzdXBlcihhcG9sbG8pO1xuICAgIH1cbiAgfVxuZXhwb3J0IGNvbnN0IEdldFVzZXJSZWNlbnRTZWFyY2hlc0RvY3VtZW50ID0gZ3FsYFxuICAgIHF1ZXJ5IGdldFVzZXJSZWNlbnRTZWFyY2hlcygkc2VydmljZVR5cGU6IFNlcnZpY2VUeXBlKSB7XG4gIGdldFVzZXJSZWNlbnRTZWFyY2hlcyhzZXJ2aWNlVHlwZTogJHNlcnZpY2VUeXBlKSB7XG4gICAgaWRcbiAgICBuYW1lXG4gICAgc2VydmljZVR5cGVcbiAgICBzZWFyY2hBcmdzXG4gICAgY3JlYXRlZEF0XG4gICAgdXBkYXRlZEF0XG4gICAgdHJhdmVsRGF0ZVxuICAgIHRyYXZlbGxlcnMge1xuICAgICAgaWRcbiAgICAgIHRpdGxlXG4gICAgICBmb3JlbmFtZVxuICAgICAgc3VybmFtZVxuICAgICAgZW1haWxcbiAgICAgIHVzZXJuYW1lXG4gICAgICBkb2JcbiAgICB9XG4gIH1cbn1cbiAgICBgO1xuXG4gIEBJbmplY3RhYmxlKHtcbiAgICBwcm92aWRlZEluOiAncm9vdCdcbiAgfSlcbiAgZXhwb3J0IGNsYXNzIEdldFVzZXJSZWNlbnRTZWFyY2hlc0dRTCBleHRlbmRzIEFwb2xsby5RdWVyeTxHZXRVc2VyUmVjZW50U2VhcmNoZXNRdWVyeSwgR2V0VXNlclJlY2VudFNlYXJjaGVzUXVlcnlWYXJpYWJsZXM+IHtcbiAgICBkb2N1bWVudCA9IEdldFVzZXJSZWNlbnRTZWFyY2hlc0RvY3VtZW50O1xuICAgIFxuICAgIGNvbnN0cnVjdG9yKGFwb2xsbzogQXBvbGxvLkFwb2xsbykge1xuICAgICAgc3VwZXIoYXBvbGxvKTtcbiAgICB9XG4gIH1cbmV4cG9ydCBjb25zdCBTZWFyY2hIb3RlbHNEb2N1bWVudCA9IGdxbGBcbiAgICBxdWVyeSBzZWFyY2hIb3RlbHMoJHN0YXJ0RGF0ZTogRGF0ZSEsICRlbmREYXRlOiBEYXRlISwgJGNpdHlOYW1lOiBTdHJpbmcsICRwb3N0T3JaaXBDb2RlOiBTdHJpbmcsICRjb3VudHJ5Q29kZTogU3RyaW5nLCAkbGF0aXR1ZGU6IEZsb2F0LCAkbG9uZ2l0dWRlOiBGbG9hdCwgJHRyYWluU3RhdGlvbkNvZGU6IFN0cmluZywgJGlhdGE6IFN0cmluZywgJG9mZmljZUlkOiBJbnQsICRyb29tczogSW50ISwgJGFkdWx0czogSW50ISwgJGNoaWxkcmVuOiBJbnQsICRjdXJyZW5jeTogU3RyaW5nISwgJGRpc3RhbmNlVHlwZTogRGlzdGFuY2VUeXBlcyEsICRkaXN0YW5jZTogSW50ISwgJG1heFJlc3VsdHM6IEludCwgJGhvdGVsTmFtZTogU3RyaW5nLCAkZ3JvdXBOYW1lOiBTdHJpbmcpIHtcbiAgc2VhcmNoSG90ZWxzKHN0YXJ0RGF0ZTogJHN0YXJ0RGF0ZSwgZW5kRGF0ZTogJGVuZERhdGUsIGNpdHlOYW1lOiAkY2l0eU5hbWUsIHBvc3RPclppcENvZGU6ICRwb3N0T3JaaXBDb2RlLCBjb3VudHJ5Q29kZTogJGNvdW50cnlDb2RlLCBsYXRpdHVkZTogJGxhdGl0dWRlLCBsb25naXR1ZGU6ICRsb25naXR1ZGUsIHRyYWluU3RhdGlvbkNvZGU6ICR0cmFpblN0YXRpb25Db2RlLCBpYXRhOiAkaWF0YSwgb2ZmaWNlSWQ6ICRvZmZpY2VJZCwgcm9vbXM6ICRyb29tcywgYWR1bHRzOiAkYWR1bHRzLCBjaGlsZHJlbjogJGNoaWxkcmVuLCBjdXJyZW5jeTogJGN1cnJlbmN5LCBkaXN0YW5jZVR5cGU6ICRkaXN0YW5jZVR5cGUsIGRpc3RhbmNlOiAkZGlzdGFuY2UsIG1heFJlc3VsdHM6ICRtYXhSZXN1bHRzLCBob3RlbE5hbWU6ICRob3RlbE5hbWUsIGdyb3VwTmFtZTogJGdyb3VwTmFtZSkge1xuICAgIHJlc3VsdHMge1xuICAgICAgaWRcbiAgICAgIG5hbWVcbiAgICAgIGltYWdlVXJsXG4gICAgICBncm91cFxuICAgICAgbG9jYXRpb24ge1xuICAgICAgICBkaXN0YW5jZVxuICAgICAgICBkaXN0YW5jZVR5cGVcbiAgICAgICAgbG9uZ2l0dWRlXG4gICAgICAgIGxhdGl0dWRlXG4gICAgICB9XG4gICAgICBhZGRyZXNzIHtcbiAgICAgICAgYWRkcmVzc0xpbmUxXG4gICAgICAgIGFkZHJlc3NMaW5lMlxuICAgICAgICBhZGRyZXNzTGluZTNcbiAgICAgICAgcG9zdE9yWmlwQ29kZVxuICAgICAgICBjb3VudHJ5Q29kZVxuICAgICAgICB0ZWxlcGhvbmVcbiAgICAgICAgZmFjc2ltaWxlXG4gICAgICB9XG4gICAgICB0cmFuc3BvcnRzIHtcbiAgICAgICAgdHlwZVxuICAgICAgICBuYW1lXG4gICAgICAgIGNvZGVcbiAgICAgICAgZGlzdGFuY2VcbiAgICAgICAgZGlzdGFuY2VUeXBlXG4gICAgICAgIGxvbmdpdHVkZVxuICAgICAgICBsYXRpdHVkZVxuICAgICAgfVxuICAgICAgcHJlZmVycmVkIHtcbiAgICAgICAgY2xpZW50XG4gICAgICAgIGNvbnN1bWVyXG4gICAgICB9XG4gICAgICB0YWdzIHtcbiAgICAgICAgbmFtZVxuICAgICAgICBkaXNwbGF5XG4gICAgICAgIHR5cGVcbiAgICAgICAgaWNvblxuICAgICAgfVxuICAgICAgYXZhaWxhYmxlUmF0ZXMge1xuICAgICAgICBob3RlbElkXG4gICAgICAgIGltYWdlVXJsXG4gICAgICAgIHJvb21zIHtcbiAgICAgICAgICByb29tSWRcbiAgICAgICAgICByb29tVHlwZVxuICAgICAgICAgIHJvb21EZXNjcmlwdGlvblxuICAgICAgICAgIHJhdGVDb2RlXG4gICAgICAgICAgcmF0ZURlc2NyaXB0aW9uXG4gICAgICAgICAgdG90YWxcbiAgICAgICAgICBjdXJyZW5jeUNvZGVcbiAgICAgICAgICBjdXJyZW5jeUNvbnZlcnNpb24ge1xuICAgICAgICAgICAgcmF0ZVxuICAgICAgICAgICAgbG9jYWxDb2RlXG4gICAgICAgICAgICBsb2NhbFRvdGFsXG4gICAgICAgICAgICBjb252ZXJ0ZWRDb2RlXG4gICAgICAgICAgICBjb252ZXJ0ZWRUb3RhbFxuICAgICAgICAgIH1cbiAgICAgICAgICBkZXBvc2l0IHtcbiAgICAgICAgICAgIGFtb3VudFxuICAgICAgICAgICAgcG9saWN5XG4gICAgICAgICAgICByZXF1aXJlZFxuICAgICAgICAgIH1cbiAgICAgICAgICBuaWdodHMge1xuICAgICAgICAgICAgbmlnaHRcbiAgICAgICAgICAgIHJhdGVcbiAgICAgICAgICAgIGluZm9cbiAgICAgICAgICAgIGRhdGVcbiAgICAgICAgICB9XG4gICAgICAgICAgcG9saWNpZXMge1xuICAgICAgICAgICAgY2FuY2VsbGF0aW9uXG4gICAgICAgICAgICBkZXBvc2l0XG4gICAgICAgICAgICBkaXNhYmxlZEFjY2Vzc1xuICAgICAgICAgICAgZ2VuZXJhbFxuICAgICAgICAgICAgZ3VhcmFudGVlXG4gICAgICAgICAgICByZWZ1bmRBdmFpbGFibGVcbiAgICAgICAgICB9XG4gICAgICAgICAgdGF4IHtcbiAgICAgICAgICAgIGluY2x1ZGVkXG4gICAgICAgICAgICByYXRlXG4gICAgICAgICAgfVxuICAgICAgICAgIGFjY2VwdGVkQ2FyZHMge1xuICAgICAgICAgICAgaWRcbiAgICAgICAgICAgIG5hbWVcbiAgICAgICAgICB9XG4gICAgICAgICAgcGF5bWVudFR5cGVzIHtcbiAgICAgICAgICAgIHR5cGVcbiAgICAgICAgICAgIG5hbWVcbiAgICAgICAgICB9XG4gICAgICAgIH1cbiAgICAgICAgcHJwblxuICAgICAgICBjdXJyZW5jeUNvZGVcbiAgICAgICAgaXNCdXN5XG4gICAgICAgIHNvdXJjZVxuICAgICAgICB2ZXJzaW9uXG4gICAgICB9XG4gICAgICBjbzJQZXJQYXNzZW5nZXJcbiAgICAgIGNvMlBlckl0ZW1cbiAgICAgIHNvdXJjZVxuICAgICAgc291cmNlSWRcbiAgICAgIHZlcnNpb25cbiAgICAgIHRtY1ByZWZlcnJlZFxuICAgICAgY29tcGFueVByZWZlcnJlZFxuICAgICAgb2ZmaWNlUHJlZmVycmVkXG4gICAgICB0bWNQcmVmZXJyZWRNZXNzYWdlXG4gICAgICBjb21wYW55UHJlZmVycmVkTWVzc2FnZVxuICAgICAgb2ZmaWNlUHJlZmVycmVkTWVzc2FnZVxuICAgICAgdW5hdmFpbGFibGVcbiAgICAgIHVuYXZhaWxhYmxlTWVzc2FnZVxuICAgIH1cbiAgICBlcnJvcnMge1xuICAgICAgc2VydmljZSB7XG4gICAgICAgIGlkXG4gICAgICAgIHR5cGVcbiAgICAgICAgbmFtZVxuICAgICAgICBkZXNjcmlwdGlvblxuICAgICAgICBkZXRhaWxTY2hlbWFcbiAgICAgICAgc2VhcmNoUXVlcnlTY2hlbWFcbiAgICAgIH1cbiAgICAgIGVycm9yTWVzc2FnZVxuICAgICAgZXJyb3JDb2RlXG4gICAgfVxuICB9XG59XG4gICAgYDtcblxuICBASW5qZWN0YWJsZSh7XG4gICAgcHJvdmlkZWRJbjogJ3Jvb3QnXG4gIH0pXG4gIGV4cG9ydCBjbGFzcyBTZWFyY2hIb3RlbHNHUUwgZXh0ZW5kcyBBcG9sbG8uUXVlcnk8U2VhcmNoSG90ZWxzUXVlcnksIFNlYXJjaEhvdGVsc1F1ZXJ5VmFyaWFibGVzPiB7XG4gICAgZG9jdW1lbnQgPSBTZWFyY2hIb3RlbHNEb2N1bWVudDtcbiAgICBcbiAgICBjb25zdHJ1Y3RvcihhcG9sbG86IEFwb2xsby5BcG9sbG8pIHtcbiAgICAgIHN1cGVyKGFwb2xsbyk7XG4gICAgfVxuICB9XG5leHBvcnQgY29uc3QgR2V0TXVsdGlwbGVIb3RlbHNBdmFpbGFiaWxpdHlEb2N1bWVudCA9IGdxbGBcbiAgICBxdWVyeSBnZXRNdWx0aXBsZUhvdGVsc0F2YWlsYWJpbGl0eSgkaG90ZWw6IFtTdHJpbmchXSEsICRzdGFydERhdGU6IERhdGUhLCAkZW5kRGF0ZTogRGF0ZSEsICRjdXJyZW5jeTogU3RyaW5nISwgJG9jY3VwYW50czogSW50ISwgJHJvb21zOiBJbnQpIHtcbiAgZ2V0TXVsdGlwbGVIb3RlbHNBdmFpbGFiaWxpdHkoaG90ZWw6ICRob3RlbCwgc3RhcnREYXRlOiAkc3RhcnREYXRlLCBlbmREYXRlOiAkZW5kRGF0ZSwgY3VycmVuY3k6ICRjdXJyZW5jeSwgb2NjdXBhbnRzOiAkb2NjdXBhbnRzLCByb29tczogJHJvb21zKSB7XG4gICAgcmVzdWx0cyB7XG4gICAgICBob3RlbElkXG4gICAgICByb29tcyB7XG4gICAgICAgIHJvb21JZFxuICAgICAgICByb29tVHlwZVxuICAgICAgICByb29tRGVzY3JpcHRpb25cbiAgICAgICAgcmF0ZUNvZGVcbiAgICAgICAgcmF0ZURlc2NyaXB0aW9uXG4gICAgICAgIHRvdGFsXG4gICAgICAgIGN1cnJlbmN5Q29kZVxuICAgICAgICBjdXJyZW5jeUNvbnZlcnNpb24ge1xuICAgICAgICAgIHJhdGVcbiAgICAgICAgICBsb2NhbENvZGVcbiAgICAgICAgICBsb2NhbFRvdGFsXG4gICAgICAgICAgY29udmVydGVkQ29kZVxuICAgICAgICAgIGNvbnZlcnRlZFRvdGFsXG4gICAgICAgIH1cbiAgICAgICAgZGVwb3NpdCB7XG4gICAgICAgICAgYW1vdW50XG4gICAgICAgICAgcG9saWN5XG4gICAgICAgICAgcmVxdWlyZWRcbiAgICAgICAgfVxuICAgICAgICBuaWdodHMge1xuICAgICAgICAgIG5pZ2h0XG4gICAgICAgICAgcmF0ZVxuICAgICAgICAgIGluZm9cbiAgICAgICAgICBkYXRlXG4gICAgICAgIH1cbiAgICAgICAgcG9saWNpZXMge1xuICAgICAgICAgIGNhbmNlbGxhdGlvblxuICAgICAgICAgIGRlcG9zaXRcbiAgICAgICAgICBkaXNhYmxlZEFjY2Vzc1xuICAgICAgICAgIGdlbmVyYWxcbiAgICAgICAgICBndWFyYW50ZWVcbiAgICAgICAgICByZWZ1bmRBdmFpbGFibGVcbiAgICAgICAgfVxuICAgICAgICB0YXgge1xuICAgICAgICAgIGluY2x1ZGVkXG4gICAgICAgICAgcmF0ZVxuICAgICAgICB9XG4gICAgICAgIGFjY2VwdGVkQ2FyZHMge1xuICAgICAgICAgIGlkXG4gICAgICAgICAgbmFtZVxuICAgICAgICB9XG4gICAgICAgIHBheW1lbnRUeXBlcyB7XG4gICAgICAgICAgdHlwZVxuICAgICAgICAgIG5hbWVcbiAgICAgICAgfVxuICAgICAgfVxuICAgICAgcHJwblxuICAgICAgY3VycmVuY3lDb2RlXG4gICAgICBpc0J1c3lcbiAgICAgIHNvdXJjZVxuICAgICAgdmVyc2lvblxuICAgIH1cbiAgICBlcnJvcnMge1xuICAgICAgLi4uRXJyb3JzXG4gICAgfVxuICB9XG59XG4gICAgJHtFcnJvcnNGcmFnbWVudERvY31gO1xuXG4gIEBJbmplY3RhYmxlKHtcbiAgICBwcm92aWRlZEluOiAncm9vdCdcbiAgfSlcbiAgZXhwb3J0IGNsYXNzIEdldE11bHRpcGxlSG90ZWxzQXZhaWxhYmlsaXR5R1FMIGV4dGVuZHMgQXBvbGxvLlF1ZXJ5PEdldE11bHRpcGxlSG90ZWxzQXZhaWxhYmlsaXR5UXVlcnksIEdldE11bHRpcGxlSG90ZWxzQXZhaWxhYmlsaXR5UXVlcnlWYXJpYWJsZXM+IHtcbiAgICBkb2N1bWVudCA9IEdldE11bHRpcGxlSG90ZWxzQXZhaWxhYmlsaXR5RG9jdW1lbnQ7XG4gICAgXG4gICAgY29uc3RydWN0b3IoYXBvbGxvOiBBcG9sbG8uQXBvbGxvKSB7XG4gICAgICBzdXBlcihhcG9sbG8pO1xuICAgIH1cbiAgfVxuZXhwb3J0IGNvbnN0IElzUG9zdGNvZGVWYWxpZERvY3VtZW50ID0gZ3FsYFxuICAgIHF1ZXJ5IGlzUG9zdGNvZGVWYWxpZCgkcG9zdGNvZGU6IFN0cmluZyEpIHtcbiAgaXNQb3N0Y29kZVZhbGlkKHBvc3Rjb2RlOiAkcG9zdGNvZGUpXG59XG4gICAgYDtcblxuICBASW5qZWN0YWJsZSh7XG4gICAgcHJvdmlkZWRJbjogJ3Jvb3QnXG4gIH0pXG4gIGV4cG9ydCBjbGFzcyBJc1Bvc3Rjb2RlVmFsaWRHUUwgZXh0ZW5kcyBBcG9sbG8uUXVlcnk8SXNQb3N0Y29kZVZhbGlkUXVlcnksIElzUG9zdGNvZGVWYWxpZFF1ZXJ5VmFyaWFibGVzPiB7XG4gICAgZG9jdW1lbnQgPSBJc1Bvc3Rjb2RlVmFsaWREb2N1bWVudDtcbiAgICBcbiAgICBjb25zdHJ1Y3RvcihhcG9sbG86IEFwb2xsby5BcG9sbG8pIHtcbiAgICAgIHN1cGVyKGFwb2xsbyk7XG4gICAgfVxuICB9XG5leHBvcnQgY29uc3QgU2VhcmNoQWlycG9ydHNEb2N1bWVudCA9IGdxbGBcbiAgICBxdWVyeSBzZWFyY2hBaXJwb3J0cygkcXVlcnk6IFN0cmluZyEsICRjb3VudHJ5Q29kZTogU3RyaW5nLCAkaGFzTG91bmdlOiBCb29sZWFuLCAkaGFzUGFya2luZzogQm9vbGVhbiwgJGhhc0Zhc3RUcmFjazogQm9vbGVhbikge1xuICBzZWFyY2hBaXJwb3J0cyhxdWVyeTogJHF1ZXJ5LCBjb3VudHJ5Q29kZTogJGNvdW50cnlDb2RlLCBoYXNMb3VuZ2U6ICRoYXNMb3VuZ2UsIGhhc1Bhcmtpbmc6ICRoYXNQYXJraW5nLCBoYXNGYXN0VHJhY2s6ICRoYXNGYXN0VHJhY2spIHtcbiAgICBpYXRhTWF0Y2gge1xuICAgICAgaWRcbiAgICAgIG5hbWVcbiAgICAgIGlhdGFcbiAgICAgIGljYW9cbiAgICAgIHRlcm1pbmFsc1xuICAgICAgbG9jYXRpb25EZXRhaWxzIHtcbiAgICAgICAgLi4uTE9DQVRJT05fREVUQUlMXG4gICAgICB9XG4gICAgfVxuICAgIGdlbmVyYWxNYXRjaGVzIHtcbiAgICAgIGlkXG4gICAgICBuYW1lXG4gICAgICBpYXRhXG4gICAgICBpY2FvXG4gICAgICB0ZXJtaW5hbHNcbiAgICAgIGxvY2F0aW9uRGV0YWlscyB7XG4gICAgICAgIC4uLkxPQ0FUSU9OX0RFVEFJTFxuICAgICAgfVxuICAgIH1cbiAgfVxufVxuICAgICR7TG9jYXRpb25fRGV0YWlsRnJhZ21lbnREb2N9YDtcblxuICBASW5qZWN0YWJsZSh7XG4gICAgcHJvdmlkZWRJbjogJ3Jvb3QnXG4gIH0pXG4gIGV4cG9ydCBjbGFzcyBTZWFyY2hBaXJwb3J0c0dRTCBleHRlbmRzIEFwb2xsby5RdWVyeTxTZWFyY2hBaXJwb3J0c1F1ZXJ5LCBTZWFyY2hBaXJwb3J0c1F1ZXJ5VmFyaWFibGVzPiB7XG4gICAgZG9jdW1lbnQgPSBTZWFyY2hBaXJwb3J0c0RvY3VtZW50O1xuICAgIFxuICAgIGNvbnN0cnVjdG9yKGFwb2xsbzogQXBvbGxvLkFwb2xsbykge1xuICAgICAgc3VwZXIoYXBvbGxvKTtcbiAgICB9XG4gIH1cbmV4cG9ydCBjb25zdCBTZWFyY2hMb3VuZ2VzRG9jdW1lbnQgPSBncWxgXG4gICAgcXVlcnkgc2VhcmNoTG91bmdlcygkbG9jYXRpb25Db2RlOiBTdHJpbmchLCAkYXJyaXZhbERhdGV0aW1lOiBEYXRlVGltZSEsICRhZHVsdHM6IEludCEsICRjaGlsZHJlbjogSW50LCAkaW5mYW50czogSW50LCAkdGVybWluYWw6IFN0cmluZykge1xuICBzZWFyY2hMb3VuZ2VzKGxvY2F0aW9uQ29kZTogJGxvY2F0aW9uQ29kZSwgYXJyaXZhbERhdGV0aW1lOiAkYXJyaXZhbERhdGV0aW1lLCBhZHVsdHM6ICRhZHVsdHMsIGNoaWxkcmVuOiAkY2hpbGRyZW4sIGluZmFudHM6ICRpbmZhbnRzLCB0ZXJtaW5hbDogJHRlcm1pbmFsKSB7XG4gICAgcmVzdWx0cyB7XG4gICAgICBzb3VyY2VcbiAgICAgIHNvdXJjZUlkXG4gICAgICBuYW1lXG4gICAgICBjb2RlXG4gICAgICBwcmljZVxuICAgICAgY3VycmVuY3lcbiAgICAgIGxvdW5nZSB7XG4gICAgICAgIGNvZGVcbiAgICAgICAgbmFtZVxuICAgICAgICBhaXJwb3J0XG4gICAgICAgIHRlcm1pbmFsXG4gICAgICAgIGFkZHJlc3NcbiAgICAgICAgdGVsZXBob25lXG4gICAgICAgIGZheFxuICAgICAgICBkaXJlY3Rpb25zXG4gICAgICAgIGludHJvZHVjdGlvblxuICAgICAgICBsb2dvXG4gICAgICAgIG1vYmlsZUltYWdlXG4gICAgICAgIGZ1cnRoZXJJbWFnZXNcbiAgICAgICAgYWR1bHRBZ2VcbiAgICAgICAgY2hpbGRBZ2VcbiAgICAgICAgaW5mYW50QWdlXG4gICAgICAgIGxhbmRzaWRlXG4gICAgICAgIGFpcnNpZGVcbiAgICAgICAgZmFjaWxpdGllc1xuICAgICAgICBvcGVuVGltZVxuICAgICAgICBjbG9zZVRpbWVcbiAgICAgICAgd2lmaVxuICAgICAgICB0dlxuICAgICAgICBzbmFja3NcbiAgICAgICAgcGhvbmVcbiAgICAgICAgaW50ZXJuZXRcbiAgICAgICAgY2hpbGRyZW5BbGxvd2VkXG4gICAgICAgIGRpc2FibGVkQWNjZXNzXG4gICAgICAgIGRyaW5rc1xuICAgICAgICBmcmVlRHJpbmtzXG4gICAgICAgIGZyZWVGb29kXG4gICAgICAgIHNtb2tpbmdQZXJtaXR0ZWRcbiAgICAgICAgbWFnYXppbmVzXG4gICAgICAgIGluY2x1ZGVkRHJpbmtzXG4gICAgICAgIG1lbnVGb29kXG4gICAgICAgIG1lbnVEcmlua3NcbiAgICAgICAgbWVudUV4dHJhc1xuICAgICAgICB3aGF0c0luY2x1ZGVkRHJpbmtzXG4gICAgICAgIHdoYXRzSW5jbHVkZWRFeHRyYXNcbiAgICAgICAgd2hhdHNJbmNsdWRlZEZvb2RcbiAgICAgICAgZ3JvdXBJbmZvXG4gICAgICAgIGNoZWNrSW5JbmZvXG4gICAgICAgIGRyZXNzQ29kZVxuICAgICAgICBmYWNpbGl0aWVzSW5mb1xuICAgICAgICBmb29kQW5kQmV2ZXJhZ2VcbiAgICAgICAgY2FuY2VsbGF0aW9uSW5mb1xuICAgICAgICBhbWVuZG1lbnRzSW5mb1xuICAgICAgICBtaXNjXG4gICAgICB9XG4gICAgICB0bWNQcmVmZXJyZWRcbiAgICAgIGNvbXBhbnlQcmVmZXJyZWRcbiAgICAgIG9mZmljZVByZWZlcnJlZFxuICAgICAgdG1jUHJlZmVycmVkTWVzc2FnZVxuICAgICAgY29tcGFueVByZWZlcnJlZE1lc3NhZ2VcbiAgICAgIG9mZmljZVByZWZlcnJlZE1lc3NhZ2VcbiAgICAgIHVuYXZhaWxhYmxlXG4gICAgICB1bmF2YWlsYWJsZU1lc3NhZ2VcbiAgICAgIGNvMlBlclBhc3NlbmdlclxuICAgICAgY28yUGVySXRlbVxuICAgIH1cbiAgICBlcnJvcnMge1xuICAgICAgLi4uRXJyb3JzXG4gICAgfVxuICB9XG59XG4gICAgJHtFcnJvcnNGcmFnbWVudERvY31gO1xuXG4gIEBJbmplY3RhYmxlKHtcbiAgICBwcm92aWRlZEluOiAncm9vdCdcbiAgfSlcbiAgZXhwb3J0IGNsYXNzIFNlYXJjaExvdW5nZXNHUUwgZXh0ZW5kcyBBcG9sbG8uUXVlcnk8U2VhcmNoTG91bmdlc1F1ZXJ5LCBTZWFyY2hMb3VuZ2VzUXVlcnlWYXJpYWJsZXM+IHtcbiAgICBkb2N1bWVudCA9IFNlYXJjaExvdW5nZXNEb2N1bWVudDtcbiAgICBcbiAgICBjb25zdHJ1Y3RvcihhcG9sbG86IEFwb2xsby5BcG9sbG8pIHtcbiAgICAgIHN1cGVyKGFwb2xsbyk7XG4gICAgfVxuICB9XG5leHBvcnQgY29uc3QgTW92ZUl0ZW1Ub0FEaWZmZXJlbnRCYXNrZXREb2N1bWVudCA9IGdxbGBcbiAgICBtdXRhdGlvbiBtb3ZlSXRlbVRvQURpZmZlcmVudEJhc2tldCgkYmFza2V0SXRlbTogSUQhLCAkbmV3QmFza2V0OiBJRCEsICR3aXRoU3VwcGxlbWVudGFsOiBCb29sZWFuID0gZmFsc2UpIHtcbiAgbW92ZUl0ZW1Ub0FEaWZmZXJlbnRCYXNrZXQoYmFza2V0SXRlbTogJGJhc2tldEl0ZW0sIG5ld0Jhc2tldDogJG5ld0Jhc2tldCkge1xuICAgIC4uLkJhc2tldEZpZWxkc1xuICB9XG59XG4gICAgJHtCYXNrZXRGaWVsZHNGcmFnbWVudERvY31gO1xuXG4gIEBJbmplY3RhYmxlKHtcbiAgICBwcm92aWRlZEluOiAncm9vdCdcbiAgfSlcbiAgZXhwb3J0IGNsYXNzIE1vdmVJdGVtVG9BRGlmZmVyZW50QmFza2V0R1FMIGV4dGVuZHMgQXBvbGxvLk11dGF0aW9uPE1vdmVJdGVtVG9BRGlmZmVyZW50QmFza2V0TXV0YXRpb24sIE1vdmVJdGVtVG9BRGlmZmVyZW50QmFza2V0TXV0YXRpb25WYXJpYWJsZXM+IHtcbiAgICBkb2N1bWVudCA9IE1vdmVJdGVtVG9BRGlmZmVyZW50QmFza2V0RG9jdW1lbnQ7XG4gICAgXG4gICAgY29uc3RydWN0b3IoYXBvbGxvOiBBcG9sbG8uQXBvbGxvKSB7XG4gICAgICBzdXBlcihhcG9sbG8pO1xuICAgIH1cbiAgfVxuZXhwb3J0IGNvbnN0IFNlYXJjaFBhcmtpbmdEb2N1bWVudCA9IGdxbGBcbiAgICBxdWVyeSBzZWFyY2hQYXJraW5nKCRhcnJpdmFsRGF0ZXRpbWU6IERhdGVUaW1lISwgJGRlcGFydERhdGV0aW1lOiBEYXRlVGltZSEsICRsb2NhdGlvbkNvZGU6IFN0cmluZyEsICRvdXRGbGlnaHROdW1iZXI6IFN0cmluZywgJHJlY29tbWVuZGVkOiBCb29sZWFuLCAkb25BaXJwb3J0OiBCb29sZWFuLCAkbWVldEFuZEdyZWV0OiBCb29sZWFuLCAkcGFya0FuZFJpZGU6IEJvb2xlYW4sICRwYXJrQW5kU3Ryb2xsOiBCb29sZWFuLCAkY2FyUGFya2VkRm9yWW91OiBCb29sZWFuLCAkdGVybWluYWw6IFN0cmluZykge1xuICBzZWFyY2hQYXJraW5nKGFycml2YWxEYXRldGltZTogJGFycml2YWxEYXRldGltZSwgZGVwYXJ0RGF0ZXRpbWU6ICRkZXBhcnREYXRldGltZSwgbG9jYXRpb25Db2RlOiAkbG9jYXRpb25Db2RlLCBvdXRGbGlnaHROdW1iZXI6ICRvdXRGbGlnaHROdW1iZXIsIHJlY29tbWVuZGVkOiAkcmVjb21tZW5kZWQsIG9uQWlycG9ydDogJG9uQWlycG9ydCwgbWVldEFuZEdyZWV0OiAkbWVldEFuZEdyZWV0LCBwYXJrQW5kUmlkZTogJHBhcmtBbmRSaWRlLCBwYXJrQW5kU3Ryb2xsOiAkcGFya0FuZFN0cm9sbCwgY2FyUGFya2VkRm9yWW91OiAkY2FyUGFya2VkRm9yWW91LCB0ZXJtaW5hbDogJHRlcm1pbmFsKSB7XG4gICAgcmVzdWx0cyB7XG4gICAgICBzb3VyY2VcbiAgICAgIHNvdXJjZUlkXG4gICAgICBjYXJQYXJrIHtcbiAgICAgICAgY29kZVxuICAgICAgICBuYW1lXG4gICAgICAgIGFpcnBvcnRcbiAgICAgICAgdGVybWluYWxcbiAgICAgICAgbGF0aXR1ZGVcbiAgICAgICAgbG9uZ2l0dWRlXG4gICAgICAgIGFkZHJlc3NcbiAgICAgICAgZGlzdGFuY2VUb0FpcnBvcnRcbiAgICAgICAgb25BaXJwb3J0XG4gICAgICAgIGNhclBhcmtlZEZvcllvdVxuICAgICAgICBtZWV0QW5kR3JlZXRcbiAgICAgICAgdGVsZXBob25lXG4gICAgICAgIGZheFxuICAgICAgICBkaXJlY3Rpb25zXG4gICAgICAgIGFycml2YWxQcm9jZWR1cmVcbiAgICAgICAgZGVwYXJ0dXJlUHJvY2VkdXJlXG4gICAgICAgIG1heGltdW1DYXJTaXplXG4gICAgICAgIGludHJvZHVjdGlvblxuICAgICAgICBpbmZvcm1hdGlvblxuICAgICAgICB0cmFuc2ZlckluZm9ybWF0aW9uXG4gICAgICAgIHRyYW5zZmVyT3BlcmF0aW5nVGltZXNcbiAgICAgICAgdHJhbnNmZXJUaW1lXG4gICAgICAgIGxvZ29cbiAgICAgICAgZGVmYXVsdEltYWdlXG4gICAgICAgIGJyYW5kSW1hZ2VcbiAgICAgICAgbW9iaWxlSW1hZ2VcbiAgICAgICAgZnVydGhlckltYWdlc1xuICAgICAgICBtaXNjXG4gICAgICB9XG4gICAgICByZXF1aXJlZEluZm9cbiAgICAgIHByaWNlXG4gICAgICBjdXJyZW5jeVxuICAgICAgbWlzY1xuICAgICAgdG1jUHJlZmVycmVkXG4gICAgICBjb21wYW55UHJlZmVycmVkXG4gICAgICBvZmZpY2VQcmVmZXJyZWRcbiAgICAgIHRtY1ByZWZlcnJlZE1lc3NhZ2VcbiAgICAgIGNvbXBhbnlQcmVmZXJyZWRNZXNzYWdlXG4gICAgICBvZmZpY2VQcmVmZXJyZWRNZXNzYWdlXG4gICAgICB1bmF2YWlsYWJsZVxuICAgICAgdW5hdmFpbGFibGVNZXNzYWdlXG4gICAgICBjbzJQZXJQYXNzZW5nZXJcbiAgICAgIGNvMlBlckl0ZW1cbiAgICB9XG4gICAgZXJyb3JzIHtcbiAgICAgIC4uLkVycm9yc1xuICAgIH1cbiAgfVxufVxuICAgICR7RXJyb3JzRnJhZ21lbnREb2N9YDtcblxuICBASW5qZWN0YWJsZSh7XG4gICAgcHJvdmlkZWRJbjogJ3Jvb3QnXG4gIH0pXG4gIGV4cG9ydCBjbGFzcyBTZWFyY2hQYXJraW5nR1FMIGV4dGVuZHMgQXBvbGxvLlF1ZXJ5PFNlYXJjaFBhcmtpbmdRdWVyeSwgU2VhcmNoUGFya2luZ1F1ZXJ5VmFyaWFibGVzPiB7XG4gICAgZG9jdW1lbnQgPSBTZWFyY2hQYXJraW5nRG9jdW1lbnQ7XG4gICAgXG4gICAgY29uc3RydWN0b3IoYXBvbGxvOiBBcG9sbG8uQXBvbGxvKSB7XG4gICAgICBzdXBlcihhcG9sbG8pO1xuICAgIH1cbiAgfVxuZXhwb3J0IGNvbnN0IFNlYXJjaFJhaWxEb2N1bWVudCA9IGdxbGBcbiAgICBxdWVyeSBzZWFyY2hSYWlsKCRjb3VudHJ5Q29kZTogU3RyaW5nISwgJGpvdXJuZXlUeXBlOiBSYWlsSm91cm5leVR5cGUhLCAkY2xhc3M6IFJhaWxDbGFzcywgJG91dGJvdW5kQXJyaXZhbERhdGVUaW1lOiBEYXRlVGltZSwgJG91dGJvdW5kRGVwYXJ0dXJlRGF0ZVRpbWU6IERhdGVUaW1lLCAkZGVwYXJ0dXJlTG9jYXRpb25JZDogSUQhLCAkYXJyaXZhbExvY2F0aW9uSWQ6IElEISwgJGFkdWx0czogSW50ISwgJGNoaWxkcmVuOiBJbnQsICRyZXR1cm5BcnJpdmFsRGF0ZVRpbWU6IERhdGVUaW1lLCAkcmV0dXJuRGVwYXJ0dXJlRGF0ZVRpbWU6IERhdGVUaW1lLCAkcmFpbENhcmRRdWFsaWZpZXJzOiBbU3RyaW5nIV0sICR2aWFMb2NhdGlvbklkOiBJRCwgJGV4dHJhVGltZVRvQ2hhbmdlOiBCb29sZWFuLCAkcGx1c0J1c091dDogUmFpbFBsdXNCdXNBdmFpbCwgJHBsdXNCdXNSZXR1cm46IFJhaWxQbHVzQnVzQXZhaWwpIHtcbiAgc2VhcmNoUmFpbChjb3VudHJ5Q29kZTogJGNvdW50cnlDb2RlLCBqb3VybmV5VHlwZTogJGpvdXJuZXlUeXBlLCBjbGFzczogJGNsYXNzLCBvdXRib3VuZEFycml2YWxEYXRlVGltZTogJG91dGJvdW5kQXJyaXZhbERhdGVUaW1lLCBvdXRib3VuZERlcGFydHVyZURhdGVUaW1lOiAkb3V0Ym91bmREZXBhcnR1cmVEYXRlVGltZSwgZGVwYXJ0dXJlTG9jYXRpb25JZDogJGRlcGFydHVyZUxvY2F0aW9uSWQsIGFycml2YWxMb2NhdGlvbklkOiAkYXJyaXZhbExvY2F0aW9uSWQsIGFkdWx0czogJGFkdWx0cywgY2hpbGRyZW46ICRjaGlsZHJlbiwgcmV0dXJuQXJyaXZhbERhdGVUaW1lOiAkcmV0dXJuQXJyaXZhbERhdGVUaW1lLCByZXR1cm5EZXBhcnR1cmVEYXRlVGltZTogJHJldHVybkRlcGFydHVyZURhdGVUaW1lLCByYWlsQ2FyZFF1YWxpZmllcnM6ICRyYWlsQ2FyZFF1YWxpZmllcnMsIHZpYUxvY2F0aW9uSWQ6ICR2aWFMb2NhdGlvbklkLCBleHRyYVRpbWVUb0NoYW5nZTogJGV4dHJhVGltZVRvQ2hhbmdlLCBwbHVzQnVzT3V0OiAkcGx1c0J1c091dCwgcGx1c0J1c1JldHVybjogJHBsdXNCdXNSZXR1cm4pIHtcbiAgICByZXN1bHRzIHtcbiAgICAgIHNvdXJjZVxuICAgICAgc291cmNlSWRcbiAgICAgIG91dGJvdW5kIHtcbiAgICAgICAgaWRlbnRpZmllcnMge1xuICAgICAgICAgIHRyYW5zYWN0aW9uSWRlbnRpZmllclxuICAgICAgICAgIGpvdXJuZXlJZGVudGlmaWVyXG4gICAgICAgICAgcHJvdmlkZXJcbiAgICAgICAgICBmYXJlSWRlbnRpZmllclxuICAgICAgICAgIGRpcmVjdGlvblxuICAgICAgICAgIHNpbmdsZU9yUmV0dXJuXG4gICAgICAgICAgYm9va2luZ1JlZlxuICAgICAgICB9XG4gICAgICAgIHRyYXZlbGxlcnMge1xuICAgICAgICAgIHN0YXR1c1xuICAgICAgICAgIGlkXG4gICAgICAgICAgZG9iXG4gICAgICAgICAgcmFpbGNhcmRcbiAgICAgICAgICBnaXZlbk5hbWVcbiAgICAgICAgICBzdXJuYW1lXG4gICAgICAgICAgbmFtZVRpdGxlXG4gICAgICAgICAgY29udGFjdEluZm9cbiAgICAgICAgICBkZWxpdmVyeUVtYWlsQWRkcmVzc1xuICAgICAgICAgIGZhcmVcbiAgICAgICAgfVxuICAgICAgICBjbzJQZXJJdGVtXG4gICAgICAgIGZyb21cbiAgICAgICAgZnJvbUNvZGVcbiAgICAgICAgdG9cbiAgICAgICAgdG9Db2RlXG4gICAgICAgIGNvMlBlclBhc3NlbmdlclxuICAgICAgICBkZXBhcnREYXRlVGltZVxuICAgICAgICBhcnJpdmVEYXRlVGltZVxuICAgICAgICBjaGFuZ2VzXG4gICAgICAgIHNlZ21lbnRzIHtcbiAgICAgICAgICBpZFxuICAgICAgICAgIG9wZXJhdG9yXG4gICAgICAgICAgZGVwYXJ0XG4gICAgICAgICAgZGVwYXJ0RGF0ZVRpbWVcbiAgICAgICAgICBhcnJpdmVcbiAgICAgICAgICBhcnJpdmVEYXRlVGltZVxuICAgICAgICAgIHJlc2VydmFibGVTdGF0dXNcbiAgICAgICAgICBzZWF0UHJlZmVyZW5jZVR5cGVzIHtcbiAgICAgICAgICAgIG5hbWVcbiAgICAgICAgICAgIGFsbG93ZWRWYWx1ZXNcbiAgICAgICAgICB9XG4gICAgICAgICAgc2VhdFByZWZlcmVuY2VHcm91cFxuICAgICAgICAgIHNlYXRzIHtcbiAgICAgICAgICAgIGxvY2F0aW9uXG4gICAgICAgICAgICBjb2FjaFxuICAgICAgICAgICAgbnVtYmVyXG4gICAgICAgICAgICBkaXJlY3Rpb25cbiAgICAgICAgICAgIHBvc2l0aW9uXG4gICAgICAgICAgICBkZWNrXG4gICAgICAgICAgICBzZWF0VHlwZVxuICAgICAgICAgICAgc2VhdFNlbGVjdGlvblxuICAgICAgICAgICAgZmFjaWxpdGllc1xuICAgICAgICAgICAgbm90ZVxuICAgICAgICAgIH1cbiAgICAgICAgICBjYWxsaW5nUG9pbnRzIHtcbiAgICAgICAgICAgIHN0YXRpb25OYW1lXG4gICAgICAgICAgICBzdGF0aW9uQ29kZVxuICAgICAgICAgICAgYXJyaXZhbERhdGVUaW1lXG4gICAgICAgICAgICBkZXBhcnR1cmVEYXRlVGltZVxuICAgICAgICAgICAgc2NoZWR1bGVkUGxhdGZvcm1cbiAgICAgICAgICAgIHN0YXRpb25DbGFzc2lmaWNhdGlvblxuICAgICAgICAgICAgc3RvcHBpbmdQYXR0ZXJuXG4gICAgICAgICAgfVxuICAgICAgICB9XG4gICAgICAgIHByb3ZpZGVycyB7XG4gICAgICAgICAgcHJvdmlkZXJJZFxuICAgICAgICAgIG5hbWVcbiAgICAgICAgICBjaGVhcGVzdFRpY2tldCB7XG4gICAgICAgICAgICBpZGVudGlmaWVycyB7XG4gICAgICAgICAgICAgIHRyYW5zYWN0aW9uSWRlbnRpZmllclxuICAgICAgICAgICAgICBqb3VybmV5SWRlbnRpZmllclxuICAgICAgICAgICAgICBwcm92aWRlclxuICAgICAgICAgICAgICBmYXJlSWRlbnRpZmllclxuICAgICAgICAgICAgICBkaXJlY3Rpb25cbiAgICAgICAgICAgICAgc2luZ2xlT3JSZXR1cm5cbiAgICAgICAgICAgICAgYm9va2luZ1JlZlxuICAgICAgICAgICAgfVxuICAgICAgICAgICAgdHlwZVxuICAgICAgICAgICAgdGVybXMge1xuICAgICAgICAgICAgICBlcnJvclxuICAgICAgICAgICAgICB0aWNrZXRUeXBlQ29kZVxuICAgICAgICAgICAgICB0cmFpbk9wZXJhdGluZ0NvbXBhbnlDb2RlXG4gICAgICAgICAgICAgIHRpY2tldFR5cGVOYW1lXG4gICAgICAgICAgICAgIHRpY2tldFR5cGVBbHROYW1lXG4gICAgICAgICAgICAgIHRpY2tldFR5cGVDbGFzc1xuICAgICAgICAgICAgICByZXNlcnZhdGlvblJ1bGVcbiAgICAgICAgICAgICAgam91cm5leVR5cGVcbiAgICAgICAgICAgICAgcHJlQm9va2luZ1JlcXVpcmVtZW50XG4gICAgICAgICAgICAgIGdlbmVyYWxWYWxpZGl0eVxuICAgICAgICAgICAgICB2YWxpZE91dFJ1bGVcbiAgICAgICAgICAgICAgdmFsaWRSZXR1cm5SdWxlXG4gICAgICAgICAgICAgIGdlbmVyYWxEaXNjb3VudFxuICAgICAgICAgICAgICBjaGlsZERpc2NvdW50XG4gICAgICAgICAgICAgIHJhaWxjYXJkRGlzY291bnRcbiAgICAgICAgICAgICAgcmVmdW5kQ2FuY2VsbGF0aW9uUnVsZVxuICAgICAgICAgICAgICBjaGFuZ2VSdWxlXG4gICAgICAgICAgICAgIHRpY2tldFR5cGVDb25kaXRpb25zRGVzY3JpcHRpb25cbiAgICAgICAgICAgICAgam91cm5leUJyZWFrUnVsZVxuICAgICAgICAgICAgICBhdmFpbGFiaWxpdHlSdWxlXG4gICAgICAgICAgICAgIHRvZEF2YWlsYWJsZVxuICAgICAgICAgICAgICBraW9za0F2YWlsYWJsZVxuICAgICAgICAgICAgICBzdGFydERhdGVcbiAgICAgICAgICAgICAgZW5kRGF0ZVxuICAgICAgICAgICAgICBkeW5hbWljQ29uZGl0aW9ucyB7XG4gICAgICAgICAgICAgICAgbmFtZVxuICAgICAgICAgICAgICAgIGRlc2NyaXB0aW9uXG4gICAgICAgICAgICAgIH1cbiAgICAgICAgICAgIH1cbiAgICAgICAgICAgIGNsYXNzXG4gICAgICAgICAgICBzaW5nbGVPclJldHVyblxuICAgICAgICAgICAgcHJpY2VcbiAgICAgICAgICAgIHJlc2VydmFibGVTdGF0dXNcbiAgICAgICAgICAgIGN1cnJlbmN5XG4gICAgICAgICAgICByb3V0ZVxuICAgICAgICAgICAgcm91dGVDb2RlXG4gICAgICAgICAgICB0aWNrZXRzIHtcbiAgICAgICAgICAgICAgcHJpY2VcbiAgICAgICAgICAgICAgdHlwZVxuICAgICAgICAgICAgICByb3V0ZVxuICAgICAgICAgICAgICBzZWdtZW50cyB7XG4gICAgICAgICAgICAgICAgaWRcbiAgICAgICAgICAgICAgICBvcGVyYXRvclxuICAgICAgICAgICAgICAgIGRlcGFydFxuICAgICAgICAgICAgICAgIGRlcGFydERhdGVUaW1lXG4gICAgICAgICAgICAgICAgYXJyaXZlXG4gICAgICAgICAgICAgICAgYXJyaXZlRGF0ZVRpbWVcbiAgICAgICAgICAgICAgICByZXNlcnZhYmxlU3RhdHVzXG4gICAgICAgICAgICAgICAgc2VhdFByZWZlcmVuY2VHcm91cFxuICAgICAgICAgICAgICB9XG4gICAgICAgICAgICAgIG51bUNoaWxkcmVuXG4gICAgICAgICAgICAgIG51bUFkdWx0c1xuICAgICAgICAgICAgfVxuICAgICAgICAgICAgYXZhaWxhYmxlU2VhdHNcbiAgICAgICAgICAgIHRpY2tldFF1ZXVlTGlzdCB7XG4gICAgICAgICAgICAgIGlkXG4gICAgICAgICAgICAgIG5hbWVcbiAgICAgICAgICAgICAgdHlwZVxuICAgICAgICAgICAgfVxuICAgICAgICAgICAgYWNjb3VudHNMaXN0IHtcbiAgICAgICAgICAgICAgaWRcbiAgICAgICAgICAgICAgcmVmZXJlbmNlXG4gICAgICAgICAgICAgIGRlc2NyaXB0aW9uXG4gICAgICAgICAgICAgIGlzRGVmYXVsdFxuICAgICAgICAgICAgICB0eXBlXG4gICAgICAgICAgICB9XG4gICAgICAgICAgfVxuICAgICAgICAgIHRpY2tldE9wdGlvbnMge1xuICAgICAgICAgICAgaWRlbnRpZmllcnMge1xuICAgICAgICAgICAgICB0cmFuc2FjdGlvbklkZW50aWZpZXJcbiAgICAgICAgICAgICAgam91cm5leUlkZW50aWZpZXJcbiAgICAgICAgICAgICAgcHJvdmlkZXJcbiAgICAgICAgICAgICAgZmFyZUlkZW50aWZpZXJcbiAgICAgICAgICAgICAgZGlyZWN0aW9uXG4gICAgICAgICAgICAgIHNpbmdsZU9yUmV0dXJuXG4gICAgICAgICAgICAgIGJvb2tpbmdSZWZcbiAgICAgICAgICAgICAgYWxsb3dlZFdpdGgge1xuICAgICAgICAgICAgICAgIHRyYW5zYWN0aW9uSWRlbnRpZmllclxuICAgICAgICAgICAgICAgIGpvdXJuZXlJZGVudGlmaWVyXG4gICAgICAgICAgICAgICAgcHJvdmlkZXJcbiAgICAgICAgICAgICAgICBmYXJlSWRlbnRpZmllclxuICAgICAgICAgICAgICAgIGRpcmVjdGlvblxuICAgICAgICAgICAgICAgIHNpbmdsZU9yUmV0dXJuXG4gICAgICAgICAgICAgICAgYm9va2luZ1JlZlxuICAgICAgICAgICAgICB9XG4gICAgICAgICAgICB9XG4gICAgICAgICAgICB0eXBlXG4gICAgICAgICAgICB0ZXJtcyB7XG4gICAgICAgICAgICAgIGVycm9yXG4gICAgICAgICAgICAgIHRpY2tldFR5cGVDb2RlXG4gICAgICAgICAgICAgIHRyYWluT3BlcmF0aW5nQ29tcGFueUNvZGVcbiAgICAgICAgICAgICAgdGlja2V0VHlwZU5hbWVcbiAgICAgICAgICAgICAgdGlja2V0VHlwZUFsdE5hbWVcbiAgICAgICAgICAgICAgdGlja2V0VHlwZUNsYXNzXG4gICAgICAgICAgICAgIHJlc2VydmF0aW9uUnVsZVxuICAgICAgICAgICAgICBqb3VybmV5VHlwZVxuICAgICAgICAgICAgICBwcmVCb29raW5nUmVxdWlyZW1lbnRcbiAgICAgICAgICAgICAgZ2VuZXJhbFZhbGlkaXR5XG4gICAgICAgICAgICAgIHZhbGlkT3V0UnVsZVxuICAgICAgICAgICAgICB2YWxpZFJldHVyblJ1bGVcbiAgICAgICAgICAgICAgZ2VuZXJhbERpc2NvdW50XG4gICAgICAgICAgICAgIGNoaWxkRGlzY291bnRcbiAgICAgICAgICAgICAgcmFpbGNhcmREaXNjb3VudFxuICAgICAgICAgICAgICByZWZ1bmRDYW5jZWxsYXRpb25SdWxlXG4gICAgICAgICAgICAgIGNoYW5nZVJ1bGVcbiAgICAgICAgICAgICAgdGlja2V0VHlwZUNvbmRpdGlvbnNEZXNjcmlwdGlvblxuICAgICAgICAgICAgICBqb3VybmV5QnJlYWtSdWxlXG4gICAgICAgICAgICAgIGF2YWlsYWJpbGl0eVJ1bGVcbiAgICAgICAgICAgICAgdG9kQXZhaWxhYmxlXG4gICAgICAgICAgICAgIGtpb3NrQXZhaWxhYmxlXG4gICAgICAgICAgICAgIHN0YXJ0RGF0ZVxuICAgICAgICAgICAgICBlbmREYXRlXG4gICAgICAgICAgICB9XG4gICAgICAgICAgICBjbGFzc1xuICAgICAgICAgICAgc2luZ2xlT3JSZXR1cm5cbiAgICAgICAgICAgIHByaWNlXG4gICAgICAgICAgICByZXNlcnZhYmxlU3RhdHVzXG4gICAgICAgICAgICBjdXJyZW5jeVxuICAgICAgICAgICAgcm91dGVcbiAgICAgICAgICAgIHJvdXRlQ29kZVxuICAgICAgICAgICAgdGlja2V0cyB7XG4gICAgICAgICAgICAgIHByaWNlXG4gICAgICAgICAgICAgIHR5cGVcbiAgICAgICAgICAgICAgcm91dGVcbiAgICAgICAgICAgICAgbnVtQ2hpbGRyZW5cbiAgICAgICAgICAgICAgbnVtQWR1bHRzXG4gICAgICAgICAgICB9XG4gICAgICAgICAgICBhdmFpbGFibGVTZWF0c1xuICAgICAgICAgICAgdGlja2V0UXVldWVMaXN0IHtcbiAgICAgICAgICAgICAgaWRcbiAgICAgICAgICAgICAgbmFtZVxuICAgICAgICAgICAgICB0eXBlXG4gICAgICAgICAgICB9XG4gICAgICAgICAgICBhY2NvdW50c0xpc3Qge1xuICAgICAgICAgICAgICBpZFxuICAgICAgICAgICAgICByZWZlcmVuY2VcbiAgICAgICAgICAgICAgZGVzY3JpcHRpb25cbiAgICAgICAgICAgICAgaXNEZWZhdWx0XG4gICAgICAgICAgICAgIHR5cGVcbiAgICAgICAgICAgIH1cbiAgICAgICAgICB9XG4gICAgICAgICAgYm9va2VkVGlja2V0IHtcbiAgICAgICAgICAgIGlkZW50aWZpZXJzIHtcbiAgICAgICAgICAgICAgdHJhbnNhY3Rpb25JZGVudGlmaWVyXG4gICAgICAgICAgICAgIGpvdXJuZXlJZGVudGlmaWVyXG4gICAgICAgICAgICAgIHByb3ZpZGVyXG4gICAgICAgICAgICAgIGZhcmVJZGVudGlmaWVyXG4gICAgICAgICAgICAgIGRpcmVjdGlvblxuICAgICAgICAgICAgICBzaW5nbGVPclJldHVyblxuICAgICAgICAgICAgICBib29raW5nUmVmXG4gICAgICAgICAgICB9XG4gICAgICAgICAgICB0eXBlXG4gICAgICAgICAgICB0ZXJtcyB7XG4gICAgICAgICAgICAgIGVycm9yXG4gICAgICAgICAgICAgIHRpY2tldFR5cGVDb2RlXG4gICAgICAgICAgICAgIHRyYWluT3BlcmF0aW5nQ29tcGFueUNvZGVcbiAgICAgICAgICAgICAgdGlja2V0VHlwZU5hbWVcbiAgICAgICAgICAgICAgdGlja2V0VHlwZUFsdE5hbWVcbiAgICAgICAgICAgICAgdGlja2V0VHlwZUNsYXNzXG4gICAgICAgICAgICAgIHJlc2VydmF0aW9uUnVsZVxuICAgICAgICAgICAgICBqb3VybmV5VHlwZVxuICAgICAgICAgICAgICBwcmVCb29raW5nUmVxdWlyZW1lbnRcbiAgICAgICAgICAgICAgZ2VuZXJhbFZhbGlkaXR5XG4gICAgICAgICAgICAgIHZhbGlkT3V0UnVsZVxuICAgICAgICAgICAgICB2YWxpZFJldHVyblJ1bGVcbiAgICAgICAgICAgICAgZ2VuZXJhbERpc2NvdW50XG4gICAgICAgICAgICAgIGNoaWxkRGlzY291bnRcbiAgICAgICAgICAgICAgcmFpbGNhcmREaXNjb3VudFxuICAgICAgICAgICAgICByZWZ1bmRDYW5jZWxsYXRpb25SdWxlXG4gICAgICAgICAgICAgIGNoYW5nZVJ1bGVcbiAgICAgICAgICAgICAgdGlja2V0VHlwZUNvbmRpdGlvbnNEZXNjcmlwdGlvblxuICAgICAgICAgICAgICBqb3VybmV5QnJlYWtSdWxlXG4gICAgICAgICAgICAgIGF2YWlsYWJpbGl0eVJ1bGVcbiAgICAgICAgICAgICAgdG9kQXZhaWxhYmxlXG4gICAgICAgICAgICAgIGtpb3NrQXZhaWxhYmxlXG4gICAgICAgICAgICAgIHN0YXJ0RGF0ZVxuICAgICAgICAgICAgICBlbmREYXRlXG4gICAgICAgICAgICB9XG4gICAgICAgICAgICBjbGFzc1xuICAgICAgICAgICAgc2luZ2xlT3JSZXR1cm5cbiAgICAgICAgICAgIHByaWNlXG4gICAgICAgICAgICByZXNlcnZhYmxlU3RhdHVzXG4gICAgICAgICAgICBjdXJyZW5jeVxuICAgICAgICAgICAgcm91dGVcbiAgICAgICAgICAgIHJvdXRlQ29kZVxuICAgICAgICAgICAgdGlja2V0cyB7XG4gICAgICAgICAgICAgIHByaWNlXG4gICAgICAgICAgICAgIHR5cGVcbiAgICAgICAgICAgICAgcm91dGVcbiAgICAgICAgICAgICAgbnVtQ2hpbGRyZW5cbiAgICAgICAgICAgICAgbnVtQWR1bHRzXG4gICAgICAgICAgICB9XG4gICAgICAgICAgICB0aWNrZXRRdWV1ZUxpc3Qge1xuICAgICAgICAgICAgICBpZFxuICAgICAgICAgICAgICBuYW1lXG4gICAgICAgICAgICAgIHR5cGVcbiAgICAgICAgICAgIH1cbiAgICAgICAgICAgIGFjY291bnRzTGlzdCB7XG4gICAgICAgICAgICAgIGlkXG4gICAgICAgICAgICAgIHJlZmVyZW5jZVxuICAgICAgICAgICAgICBkZXNjcmlwdGlvblxuICAgICAgICAgICAgICBpc0RlZmF1bHRcbiAgICAgICAgICAgICAgdHlwZVxuICAgICAgICAgICAgfVxuICAgICAgICAgIH1cbiAgICAgICAgfVxuICAgICAgICB1bnNlbGxhYmxlXG4gICAgICAgIHRpY2tldEV4dHJhcyB7XG4gICAgICAgICAgaWRlbnRpZmllcnMge1xuICAgICAgICAgICAgdHlwZVxuICAgICAgICAgICAgbG9jYXRpb25cbiAgICAgICAgICAgIGRhdGVcbiAgICAgICAgICAgIGpvdXJuZXlJZFxuICAgICAgICAgICAgaXNPcmlnaW5cbiAgICAgICAgICB9XG4gICAgICAgICAgdHlwZVxuICAgICAgICAgIGxvY2F0aW9uXG4gICAgICAgICAgZGF0ZVxuICAgICAgICAgIGRlc2NyaXB0aW9uXG4gICAgICAgICAgYW1vdW50XG4gICAgICAgICAgYWR1bHRBbW91bnRcbiAgICAgICAgICBjaGlsZEFtb3VudFxuICAgICAgICAgIGN1cnJlbmN5XG4gICAgICAgIH1cbiAgICAgICAgcGx1c0J1cyB7XG4gICAgICAgICAgb3JpZ2luUGx1c0J1c05MQ1xuICAgICAgICAgIG9yaWdpblN0YXRpb25OTENcbiAgICAgICAgICBkZXN0aW5hdGlvblBsdXNCdXNOTENcbiAgICAgICAgICBkZXN0aW5hdGlvblN0YXRpb25OTENcbiAgICAgICAgfVxuICAgICAgfVxuICAgICAgcmV0dXJuIHtcbiAgICAgICAgaWRlbnRpZmllcnMge1xuICAgICAgICAgIHRyYW5zYWN0aW9uSWRlbnRpZmllclxuICAgICAgICAgIGpvdXJuZXlJZGVudGlmaWVyXG4gICAgICAgICAgcHJvdmlkZXJcbiAgICAgICAgICBmYXJlSWRlbnRpZmllclxuICAgICAgICAgIGRpcmVjdGlvblxuICAgICAgICAgIHNpbmdsZU9yUmV0dXJuXG4gICAgICAgICAgYm9va2luZ1JlZlxuICAgICAgICB9XG4gICAgICAgIHRyYXZlbGxlcnMge1xuICAgICAgICAgIHN0YXR1c1xuICAgICAgICAgIGlkXG4gICAgICAgICAgZG9iXG4gICAgICAgICAgcmFpbGNhcmRcbiAgICAgICAgICBnaXZlbk5hbWVcbiAgICAgICAgICBzdXJuYW1lXG4gICAgICAgICAgbmFtZVRpdGxlXG4gICAgICAgICAgY29udGFjdEluZm9cbiAgICAgICAgICBkZWxpdmVyeUVtYWlsQWRkcmVzc1xuICAgICAgICAgIGZhcmVcbiAgICAgICAgfVxuICAgICAgICBjbzJQZXJJdGVtXG4gICAgICAgIGZyb21cbiAgICAgICAgZnJvbUNvZGVcbiAgICAgICAgdG9cbiAgICAgICAgdG9Db2RlXG4gICAgICAgIGRlcGFydERhdGVUaW1lXG4gICAgICAgIGFycml2ZURhdGVUaW1lXG4gICAgICAgIGNoYW5nZXNcbiAgICAgICAgc2VnbWVudHMge1xuICAgICAgICAgIGlkXG4gICAgICAgICAgb3BlcmF0b3JcbiAgICAgICAgICBkZXBhcnRcbiAgICAgICAgICBkZXBhcnREYXRlVGltZVxuICAgICAgICAgIGFycml2ZVxuICAgICAgICAgIGFycml2ZURhdGVUaW1lXG4gICAgICAgICAgcmVzZXJ2YWJsZVN0YXR1c1xuICAgICAgICAgIHNlYXRQcmVmZXJlbmNlR3JvdXBcbiAgICAgICAgICBjYWxsaW5nUG9pbnRzIHtcbiAgICAgICAgICAgIHN0YXRpb25OYW1lXG4gICAgICAgICAgICBzdGF0aW9uQ29kZVxuICAgICAgICAgICAgYXJyaXZhbERhdGVUaW1lXG4gICAgICAgICAgICBkZXBhcnR1cmVEYXRlVGltZVxuICAgICAgICAgICAgc2NoZWR1bGVkUGxhdGZvcm1cbiAgICAgICAgICAgIHN0YXRpb25DbGFzc2lmaWNhdGlvblxuICAgICAgICAgICAgc3RvcHBpbmdQYXR0ZXJuXG4gICAgICAgICAgfVxuICAgICAgICB9XG4gICAgICAgIHByb3ZpZGVycyB7XG4gICAgICAgICAgcHJvdmlkZXJJZFxuICAgICAgICAgIG5hbWVcbiAgICAgICAgICBjaGVhcGVzdFRpY2tldCB7XG4gICAgICAgICAgICBpZGVudGlmaWVycyB7XG4gICAgICAgICAgICAgIHRyYW5zYWN0aW9uSWRlbnRpZmllclxuICAgICAgICAgICAgICBqb3VybmV5SWRlbnRpZmllclxuICAgICAgICAgICAgICBwcm92aWRlclxuICAgICAgICAgICAgICBmYXJlSWRlbnRpZmllclxuICAgICAgICAgICAgICBkaXJlY3Rpb25cbiAgICAgICAgICAgICAgc2luZ2xlT3JSZXR1cm5cbiAgICAgICAgICAgICAgYm9va2luZ1JlZlxuICAgICAgICAgICAgfVxuICAgICAgICAgICAgdHlwZVxuICAgICAgICAgICAgdGVybXMge1xuICAgICAgICAgICAgICBlcnJvclxuICAgICAgICAgICAgICB0aWNrZXRUeXBlQ29kZVxuICAgICAgICAgICAgICB0cmFpbk9wZXJhdGluZ0NvbXBhbnlDb2RlXG4gICAgICAgICAgICAgIHRpY2tldFR5cGVOYW1lXG4gICAgICAgICAgICAgIHRpY2tldFR5cGVBbHROYW1lXG4gICAgICAgICAgICAgIHRpY2tldFR5cGVDbGFzc1xuICAgICAgICAgICAgICByZXNlcnZhdGlvblJ1bGVcbiAgICAgICAgICAgICAgam91cm5leVR5cGVcbiAgICAgICAgICAgICAgcHJlQm9va2luZ1JlcXVpcmVtZW50XG4gICAgICAgICAgICAgIGdlbmVyYWxWYWxpZGl0eVxuICAgICAgICAgICAgICB2YWxpZE91dFJ1bGVcbiAgICAgICAgICAgICAgdmFsaWRSZXR1cm5SdWxlXG4gICAgICAgICAgICAgIGdlbmVyYWxEaXNjb3VudFxuICAgICAgICAgICAgICBjaGlsZERpc2NvdW50XG4gICAgICAgICAgICAgIHJhaWxjYXJkRGlzY291bnRcbiAgICAgICAgICAgICAgcmVmdW5kQ2FuY2VsbGF0aW9uUnVsZVxuICAgICAgICAgICAgICBjaGFuZ2VSdWxlXG4gICAgICAgICAgICAgIHRpY2tldFR5cGVDb25kaXRpb25zRGVzY3JpcHRpb25cbiAgICAgICAgICAgICAgam91cm5leUJyZWFrUnVsZVxuICAgICAgICAgICAgICBhdmFpbGFiaWxpdHlSdWxlXG4gICAgICAgICAgICAgIHRvZEF2YWlsYWJsZVxuICAgICAgICAgICAgICBraW9za0F2YWlsYWJsZVxuICAgICAgICAgICAgICBzdGFydERhdGVcbiAgICAgICAgICAgICAgZW5kRGF0ZVxuICAgICAgICAgICAgICBkeW5hbWljQ29uZGl0aW9ucyB7XG4gICAgICAgICAgICAgICAgbmFtZVxuICAgICAgICAgICAgICAgIGRlc2NyaXB0aW9uXG4gICAgICAgICAgICAgIH1cbiAgICAgICAgICAgIH1cbiAgICAgICAgICAgIGNsYXNzXG4gICAgICAgICAgICBzaW5nbGVPclJldHVyblxuICAgICAgICAgICAgcHJpY2VcbiAgICAgICAgICAgIHJlc2VydmFibGVTdGF0dXNcbiAgICAgICAgICAgIGN1cnJlbmN5XG4gICAgICAgICAgICByb3V0ZVxuICAgICAgICAgICAgcm91dGVDb2RlXG4gICAgICAgICAgICB0aWNrZXRzIHtcbiAgICAgICAgICAgICAgcHJpY2VcbiAgICAgICAgICAgICAgdHlwZVxuICAgICAgICAgICAgICByb3V0ZVxuICAgICAgICAgICAgICBzZWdtZW50cyB7XG4gICAgICAgICAgICAgICAgaWRcbiAgICAgICAgICAgICAgICBvcGVyYXRvclxuICAgICAgICAgICAgICAgIGRlcGFydFxuICAgICAgICAgICAgICAgIGRlcGFydERhdGVUaW1lXG4gICAgICAgICAgICAgICAgYXJyaXZlXG4gICAgICAgICAgICAgICAgYXJyaXZlRGF0ZVRpbWVcbiAgICAgICAgICAgICAgICByZXNlcnZhYmxlU3RhdHVzXG4gICAgICAgICAgICAgICAgc2VhdFByZWZlcmVuY2VHcm91cFxuICAgICAgICAgICAgICB9XG4gICAgICAgICAgICAgIG51bUNoaWxkcmVuXG4gICAgICAgICAgICAgIG51bUFkdWx0c1xuICAgICAgICAgICAgfVxuICAgICAgICAgICAgYXZhaWxhYmxlU2VhdHNcbiAgICAgICAgICAgIHRpY2tldFF1ZXVlTGlzdCB7XG4gICAgICAgICAgICAgIGlkXG4gICAgICAgICAgICAgIG5hbWVcbiAgICAgICAgICAgICAgdHlwZVxuICAgICAgICAgICAgfVxuICAgICAgICAgICAgYWNjb3VudHNMaXN0IHtcbiAgICAgICAgICAgICAgaWRcbiAgICAgICAgICAgICAgcmVmZXJlbmNlXG4gICAgICAgICAgICAgIGRlc2NyaXB0aW9uXG4gICAgICAgICAgICAgIGlzRGVmYXVsdFxuICAgICAgICAgICAgICB0eXBlXG4gICAgICAgICAgICB9XG4gICAgICAgICAgfVxuICAgICAgICAgIHRpY2tldE9wdGlvbnMge1xuICAgICAgICAgICAgaWRlbnRpZmllcnMge1xuICAgICAgICAgICAgICB0cmFuc2FjdGlvbklkZW50aWZpZXJcbiAgICAgICAgICAgICAgam91cm5leUlkZW50aWZpZXJcbiAgICAgICAgICAgICAgcHJvdmlkZXJcbiAgICAgICAgICAgICAgZmFyZUlkZW50aWZpZXJcbiAgICAgICAgICAgICAgZGlyZWN0aW9uXG4gICAgICAgICAgICAgIHNpbmdsZU9yUmV0dXJuXG4gICAgICAgICAgICAgIGJvb2tpbmdSZWZcbiAgICAgICAgICAgICAgYWxsb3dlZFdpdGgge1xuICAgICAgICAgICAgICAgIHRyYW5zYWN0aW9uSWRlbnRpZmllclxuICAgICAgICAgICAgICAgIGpvdXJuZXlJZGVudGlmaWVyXG4gICAgICAgICAgICAgICAgcHJvdmlkZXJcbiAgICAgICAgICAgICAgICBmYXJlSWRlbnRpZmllclxuICAgICAgICAgICAgICAgIGRpcmVjdGlvblxuICAgICAgICAgICAgICAgIHNpbmdsZU9yUmV0dXJuXG4gICAgICAgICAgICAgICAgYm9va2luZ1JlZlxuICAgICAgICAgICAgICB9XG4gICAgICAgICAgICB9XG4gICAgICAgICAgICB0eXBlXG4gICAgICAgICAgICB0ZXJtcyB7XG4gICAgICAgICAgICAgIGVycm9yXG4gICAgICAgICAgICAgIHRpY2tldFR5cGVDb2RlXG4gICAgICAgICAgICAgIHRyYWluT3BlcmF0aW5nQ29tcGFueUNvZGVcbiAgICAgICAgICAgICAgdGlja2V0VHlwZU5hbWVcbiAgICAgICAgICAgICAgdGlja2V0VHlwZUFsdE5hbWVcbiAgICAgICAgICAgICAgdGlja2V0VHlwZUNsYXNzXG4gICAgICAgICAgICAgIHJlc2VydmF0aW9uUnVsZVxuICAgICAgICAgICAgICBqb3VybmV5VHlwZVxuICAgICAgICAgICAgICBwcmVCb29raW5nUmVxdWlyZW1lbnRcbiAgICAgICAgICAgICAgZ2VuZXJhbFZhbGlkaXR5XG4gICAgICAgICAgICAgIHZhbGlkT3V0UnVsZVxuICAgICAgICAgICAgICB2YWxpZFJldHVyblJ1bGVcbiAgICAgICAgICAgICAgZ2VuZXJhbERpc2NvdW50XG4gICAgICAgICAgICAgIGNoaWxkRGlzY291bnRcbiAgICAgICAgICAgICAgcmFpbGNhcmREaXNjb3VudFxuICAgICAgICAgICAgICByZWZ1bmRDYW5jZWxsYXRpb25SdWxlXG4gICAgICAgICAgICAgIGNoYW5nZVJ1bGVcbiAgICAgICAgICAgICAgdGlja2V0VHlwZUNvbmRpdGlvbnNEZXNjcmlwdGlvblxuICAgICAgICAgICAgICBqb3VybmV5QnJlYWtSdWxlXG4gICAgICAgICAgICAgIGF2YWlsYWJpbGl0eVJ1bGVcbiAgICAgICAgICAgICAgdG9kQXZhaWxhYmxlXG4gICAgICAgICAgICAgIGtpb3NrQXZhaWxhYmxlXG4gICAgICAgICAgICAgIHN0YXJ0RGF0ZVxuICAgICAgICAgICAgICBlbmREYXRlXG4gICAgICAgICAgICB9XG4gICAgICAgICAgICBjbGFzc1xuICAgICAgICAgICAgc2luZ2xlT3JSZXR1cm5cbiAgICAgICAgICAgIHByaWNlXG4gICAgICAgICAgICByZXNlcnZhYmxlU3RhdHVzXG4gICAgICAgICAgICBjdXJyZW5jeVxuICAgICAgICAgICAgcm91dGVcbiAgICAgICAgICAgIHJvdXRlQ29kZVxuICAgICAgICAgICAgdGlja2V0cyB7XG4gICAgICAgICAgICAgIHByaWNlXG4gICAgICAgICAgICAgIHR5cGVcbiAgICAgICAgICAgICAgcm91dGVcbiAgICAgICAgICAgICAgbnVtQ2hpbGRyZW5cbiAgICAgICAgICAgICAgbnVtQWR1bHRzXG4gICAgICAgICAgICB9XG4gICAgICAgICAgICBhdmFpbGFibGVTZWF0c1xuICAgICAgICAgICAgdGlja2V0UXVldWVMaXN0IHtcbiAgICAgICAgICAgICAgaWRcbiAgICAgICAgICAgICAgbmFtZVxuICAgICAgICAgICAgICB0eXBlXG4gICAgICAgICAgICB9XG4gICAgICAgICAgICBhY2NvdW50c0xpc3Qge1xuICAgICAgICAgICAgICBpZFxuICAgICAgICAgICAgICByZWZlcmVuY2VcbiAgICAgICAgICAgICAgZGVzY3JpcHRpb25cbiAgICAgICAgICAgICAgaXNEZWZhdWx0XG4gICAgICAgICAgICAgIHR5cGVcbiAgICAgICAgICAgIH1cbiAgICAgICAgICB9XG4gICAgICAgICAgYm9va2VkVGlja2V0IHtcbiAgICAgICAgICAgIGlkZW50aWZpZXJzIHtcbiAgICAgICAgICAgICAgdHJhbnNhY3Rpb25JZGVudGlmaWVyXG4gICAgICAgICAgICAgIGpvdXJuZXlJZGVudGlmaWVyXG4gICAgICAgICAgICAgIHByb3ZpZGVyXG4gICAgICAgICAgICAgIGZhcmVJZGVudGlmaWVyXG4gICAgICAgICAgICAgIGRpcmVjdGlvblxuICAgICAgICAgICAgICBzaW5nbGVPclJldHVyblxuICAgICAgICAgICAgICBib29raW5nUmVmXG4gICAgICAgICAgICB9XG4gICAgICAgICAgICB0eXBlXG4gICAgICAgICAgICB0ZXJtcyB7XG4gICAgICAgICAgICAgIGVycm9yXG4gICAgICAgICAgICAgIHRpY2tldFR5cGVDb2RlXG4gICAgICAgICAgICAgIHRyYWluT3BlcmF0aW5nQ29tcGFueUNvZGVcbiAgICAgICAgICAgICAgdGlja2V0VHlwZU5hbWVcbiAgICAgICAgICAgICAgdGlja2V0VHlwZUFsdE5hbWVcbiAgICAgICAgICAgICAgdGlja2V0VHlwZUNsYXNzXG4gICAgICAgICAgICAgIHJlc2VydmF0aW9uUnVsZVxuICAgICAgICAgICAgICBqb3VybmV5VHlwZVxuICAgICAgICAgICAgICBwcmVCb29raW5nUmVxdWlyZW1lbnRcbiAgICAgICAgICAgICAgZ2VuZXJhbFZhbGlkaXR5XG4gICAgICAgICAgICAgIHZhbGlkT3V0UnVsZVxuICAgICAgICAgICAgICB2YWxpZFJldHVyblJ1bGVcbiAgICAgICAgICAgICAgZ2VuZXJhbERpc2NvdW50XG4gICAgICAgICAgICAgIGNoaWxkRGlzY291bnRcbiAgICAgICAgICAgICAgcmFpbGNhcmREaXNjb3VudFxuICAgICAgICAgICAgICByZWZ1bmRDYW5jZWxsYXRpb25SdWxlXG4gICAgICAgICAgICAgIGNoYW5nZVJ1bGVcbiAgICAgICAgICAgICAgdGlja2V0VHlwZUNvbmRpdGlvbnNEZXNjcmlwdGlvblxuICAgICAgICAgICAgICBqb3VybmV5QnJlYWtSdWxlXG4gICAgICAgICAgICAgIGF2YWlsYWJpbGl0eVJ1bGVcbiAgICAgICAgICAgICAgdG9kQXZhaWxhYmxlXG4gICAgICAgICAgICAgIGtpb3NrQXZhaWxhYmxlXG4gICAgICAgICAgICAgIHN0YXJ0RGF0ZVxuICAgICAgICAgICAgICBlbmREYXRlXG4gICAgICAgICAgICB9XG4gICAgICAgICAgICBjbGFzc1xuICAgICAgICAgICAgc2luZ2xlT3JSZXR1cm5cbiAgICAgICAgICAgIHByaWNlXG4gICAgICAgICAgICByZXNlcnZhYmxlU3RhdHVzXG4gICAgICAgICAgICBjdXJyZW5jeVxuICAgICAgICAgICAgcm91dGVcbiAgICAgICAgICAgIHJvdXRlQ29kZVxuICAgICAgICAgICAgdGlja2V0cyB7XG4gICAgICAgICAgICAgIHByaWNlXG4gICAgICAgICAgICAgIHR5cGVcbiAgICAgICAgICAgICAgcm91dGVcbiAgICAgICAgICAgICAgbnVtQ2hpbGRyZW5cbiAgICAgICAgICAgICAgbnVtQWR1bHRzXG4gICAgICAgICAgICB9XG4gICAgICAgICAgICB0aWNrZXRRdWV1ZUxpc3Qge1xuICAgICAgICAgICAgICBpZFxuICAgICAgICAgICAgICBuYW1lXG4gICAgICAgICAgICAgIHR5cGVcbiAgICAgICAgICAgIH1cbiAgICAgICAgICAgIGFjY291bnRzTGlzdCB7XG4gICAgICAgICAgICAgIGlkXG4gICAgICAgICAgICAgIHJlZmVyZW5jZVxuICAgICAgICAgICAgICBkZXNjcmlwdGlvblxuICAgICAgICAgICAgICBpc0RlZmF1bHRcbiAgICAgICAgICAgICAgdHlwZVxuICAgICAgICAgICAgfVxuICAgICAgICAgIH1cbiAgICAgICAgfVxuICAgICAgICB1bnNlbGxhYmxlXG4gICAgICAgIHRpY2tldEV4dHJhcyB7XG4gICAgICAgICAgdHlwZVxuICAgICAgICAgIGxvY2F0aW9uXG4gICAgICAgICAgZGF0ZVxuICAgICAgICAgIGRlc2NyaXB0aW9uXG4gICAgICAgICAgYW1vdW50XG4gICAgICAgICAgYWR1bHRBbW91bnRcbiAgICAgICAgICBjaGlsZEFtb3VudFxuICAgICAgICAgIGN1cnJlbmN5XG4gICAgICAgIH1cbiAgICAgICAgcGx1c0J1cyB7XG4gICAgICAgICAgb3JpZ2luUGx1c0J1c05MQ1xuICAgICAgICAgIG9yaWdpblN0YXRpb25OTENcbiAgICAgICAgICBkZXN0aW5hdGlvblBsdXNCdXNOTENcbiAgICAgICAgICBkZXN0aW5hdGlvblN0YXRpb25OTENcbiAgICAgICAgfVxuICAgICAgfVxuICAgIH1cbiAgICBlcnJvcnMge1xuICAgICAgLi4uRXJyb3JzXG4gICAgfVxuICB9XG59XG4gICAgJHtFcnJvcnNGcmFnbWVudERvY31gO1xuXG4gIEBJbmplY3RhYmxlKHtcbiAgICBwcm92aWRlZEluOiAncm9vdCdcbiAgfSlcbiAgZXhwb3J0IGNsYXNzIFNlYXJjaFJhaWxHUUwgZXh0ZW5kcyBBcG9sbG8uUXVlcnk8U2VhcmNoUmFpbFF1ZXJ5LCBTZWFyY2hSYWlsUXVlcnlWYXJpYWJsZXM+IHtcbiAgICBkb2N1bWVudCA9IFNlYXJjaFJhaWxEb2N1bWVudDtcbiAgICBcbiAgICBjb25zdHJ1Y3RvcihhcG9sbG86IEFwb2xsby5BcG9sbG8pIHtcbiAgICAgIHN1cGVyKGFwb2xsbyk7XG4gICAgfVxuICB9XG5leHBvcnQgY29uc3QgU2F2ZVJlY2VudFNlYXJjaERvY3VtZW50ID0gZ3FsYFxuICAgIG11dGF0aW9uIHNhdmVSZWNlbnRTZWFyY2goJHNlcnZpY2VUeXBlOiBTZXJ2aWNlVHlwZSEsICRzZWFyY2hBcmdzOiBKU09OISwgJHRyYXZlbERhdGU6IERhdGVUaW1lISwgJHRyYXZlbGxlcnM6IFtJRF0pIHtcbiAgc2F2ZVJlY2VudFNlYXJjaChzZXJ2aWNlVHlwZTogJHNlcnZpY2VUeXBlLCBzZWFyY2hBcmdzOiAkc2VhcmNoQXJncywgdHJhdmVsRGF0ZTogJHRyYXZlbERhdGUsIHRyYXZlbGxlcnM6ICR0cmF2ZWxsZXJzKSB7XG4gICAgaWRcbiAgfVxufVxuICAgIGA7XG5cbiAgQEluamVjdGFibGUoe1xuICAgIHByb3ZpZGVkSW46ICdyb290J1xuICB9KVxuICBleHBvcnQgY2xhc3MgU2F2ZVJlY2VudFNlYXJjaEdRTCBleHRlbmRzIEFwb2xsby5NdXRhdGlvbjxTYXZlUmVjZW50U2VhcmNoTXV0YXRpb24sIFNhdmVSZWNlbnRTZWFyY2hNdXRhdGlvblZhcmlhYmxlcz4ge1xuICAgIGRvY3VtZW50ID0gU2F2ZVJlY2VudFNlYXJjaERvY3VtZW50O1xuICAgIFxuICAgIGNvbnN0cnVjdG9yKGFwb2xsbzogQXBvbGxvLkFwb2xsbykge1xuICAgICAgc3VwZXIoYXBvbGxvKTtcbiAgICB9XG4gIH1cbmV4cG9ydCBjb25zdCBTYXZlVXNlckFkZHJlc3NEb2N1bWVudCA9IGdxbGBcbiAgICBtdXRhdGlvbiBzYXZlVXNlckFkZHJlc3MoJGRlc2NyaXB0aW9uOiBTdHJpbmchLCAkbnVtYmVyT3JOYW1lOiBTdHJpbmcsICRzdHJlZXQ6IFN0cmluZywgJHRvd246IFN0cmluZywgJGNvdW50eTogU3RyaW5nLCAkcG9zdGNvZGU6IFN0cmluZywgJGNvdW50cnlDb2RlOiBTdHJpbmcsICR1c2VyUHJpbWFyeTogQm9vbGVhbikge1xuICBzYXZlVXNlckFkZHJlc3MoZGVzY3JpcHRpb246ICRkZXNjcmlwdGlvbiwgbnVtYmVyT3JOYW1lOiAkbnVtYmVyT3JOYW1lLCBzdHJlZXQ6ICRzdHJlZXQsIHRvd246ICR0b3duLCBjb3VudHk6ICRjb3VudHksIHBvc3Rjb2RlOiAkcG9zdGNvZGUsIGNvdW50cnlDb2RlOiAkY291bnRyeUNvZGUsIHVzZXJQcmltYXJ5OiAkdXNlclByaW1hcnkpIHtcbiAgICBpZFxuICAgIGRlc2NyaXB0aW9uXG4gICAgbnVtYmVyT3JOYW1lXG4gICAgc3RyZWV0XG4gICAgdG93blxuICAgIGNvdW50eVxuICAgIHBvc3Rjb2RlXG4gICAgY291bnRyeUNvZGVcbiAgICB1c2VyUHJpbWFyeVxuICAgIG9mZmljZVByaW1hcnlcbiAgfVxufVxuICAgIGA7XG5cbiAgQEluamVjdGFibGUoe1xuICAgIHByb3ZpZGVkSW46ICdyb290J1xuICB9KVxuICBleHBvcnQgY2xhc3MgU2F2ZVVzZXJBZGRyZXNzR1FMIGV4dGVuZHMgQXBvbGxvLk11dGF0aW9uPFNhdmVVc2VyQWRkcmVzc011dGF0aW9uLCBTYXZlVXNlckFkZHJlc3NNdXRhdGlvblZhcmlhYmxlcz4ge1xuICAgIGRvY3VtZW50ID0gU2F2ZVVzZXJBZGRyZXNzRG9jdW1lbnQ7XG4gICAgXG4gICAgY29uc3RydWN0b3IoYXBvbGxvOiBBcG9sbG8uQXBvbGxvKSB7XG4gICAgICBzdXBlcihhcG9sbG8pO1xuICAgIH1cbiAgfVxuZXhwb3J0IGNvbnN0IFNlYXJjaEFpcmxpbmVzRG9jdW1lbnQgPSBncWxgXG4gICAgcXVlcnkgc2VhcmNoQWlybGluZXMoJHF1ZXJ5OiBTdHJpbmchKSB7XG4gIHNlYXJjaEFpcmxpbmVzKHF1ZXJ5OiAkcXVlcnkpIHtcbiAgICBpYXRhTWF0Y2gge1xuICAgICAgaWRcbiAgICAgIG5hbWVcbiAgICAgIGlhdGFcbiAgICAgIGljYW9cbiAgICAgIGFsaWFzXG4gICAgICBjYWxsc2lnblxuICAgICAgYWN0aXZlXG4gICAgICBjb250aW5lbnRcbiAgICAgIGNvdW50cnlcbiAgICAgIGNvdW50cnlDb2RlXG4gICAgICBiYW5uZXJJbWFnZVxuICAgICAgbG9nb0ltYWdlXG4gICAgfVxuICAgIGdlbmVyYWxNYXRjaGVzIHtcbiAgICAgIGlkXG4gICAgICBuYW1lXG4gICAgICBpYXRhXG4gICAgICBpY2FvXG4gICAgICBhbGlhc1xuICAgICAgY2FsbHNpZ25cbiAgICAgIGFjdGl2ZVxuICAgICAgY29udGluZW50XG4gICAgICBjb3VudHJ5XG4gICAgICBjb3VudHJ5Q29kZVxuICAgICAgYmFubmVySW1hZ2VcbiAgICAgIGxvZ29JbWFnZVxuICAgIH1cbiAgfVxufVxuICAgIGA7XG5cbiAgQEluamVjdGFibGUoe1xuICAgIHByb3ZpZGVkSW46ICdyb290J1xuICB9KVxuICBleHBvcnQgY2xhc3MgU2VhcmNoQWlybGluZXNHUUwgZXh0ZW5kcyBBcG9sbG8uUXVlcnk8U2VhcmNoQWlybGluZXNRdWVyeSwgU2VhcmNoQWlybGluZXNRdWVyeVZhcmlhYmxlcz4ge1xuICAgIGRvY3VtZW50ID0gU2VhcmNoQWlybGluZXNEb2N1bWVudDtcbiAgICBcbiAgICBjb25zdHJ1Y3RvcihhcG9sbG86IEFwb2xsby5BcG9sbG8pIHtcbiAgICAgIHN1cGVyKGFwb2xsbyk7XG4gICAgfVxuICB9XG5leHBvcnQgY29uc3QgU2VhcmNoQ2l0aWVzRG9jdW1lbnQgPSBncWxgXG4gICAgcXVlcnkgc2VhcmNoQ2l0aWVzKCRxdWVyeTogU3RyaW5nISwgJGNvdW50cnlDb2RlOiBTdHJpbmcpIHtcbiAgc2VhcmNoQ2l0aWVzKHF1ZXJ5OiAkcXVlcnksIGNvdW50cnlDb2RlOiAkY291bnRyeUNvZGUpIHtcbiAgICBpZFxuICAgIG5hbWVcbiAgICBjb3VudHJ5XG4gICAgY291bnRyeUNvZGVcbiAgICBjb29yZGluYXRlcyB7XG4gICAgICBsYXRpdHVkZVxuICAgICAgbG9uZ2l0dWRlXG4gICAgICBhbHRpdHVkZVxuICAgIH1cbiAgICBjb250aW5lbnROYW1lXG4gIH1cbn1cbiAgICBgO1xuXG4gIEBJbmplY3RhYmxlKHtcbiAgICBwcm92aWRlZEluOiAncm9vdCdcbiAgfSlcbiAgZXhwb3J0IGNsYXNzIFNlYXJjaENpdGllc0dRTCBleHRlbmRzIEFwb2xsby5RdWVyeTxTZWFyY2hDaXRpZXNRdWVyeSwgU2VhcmNoQ2l0aWVzUXVlcnlWYXJpYWJsZXM+IHtcbiAgICBkb2N1bWVudCA9IFNlYXJjaENpdGllc0RvY3VtZW50O1xuICAgIFxuICAgIGNvbnN0cnVjdG9yKGFwb2xsbzogQXBvbGxvLkFwb2xsbykge1xuICAgICAgc3VwZXIoYXBvbGxvKTtcbiAgICB9XG4gIH1cbmV4cG9ydCBjb25zdCBTZWFyY2hDb25mZXJtYUNpdGllc0RvY3VtZW50ID0gZ3FsYFxuICAgIHF1ZXJ5IHNlYXJjaENvbmZlcm1hQ2l0aWVzKCRjaXR5TmFtZTogU3RyaW5nISwgJGNvdW50cnlDb2RlOiBTdHJpbmchKSB7XG4gIHNlYXJjaENvbmZlcm1hQ2l0aWVzKGNpdHlOYW1lOiAkY2l0eU5hbWUsIGNvdW50cnlDb2RlOiAkY291bnRyeUNvZGUpIHtcbiAgICBmb3VuZEV4YWN0XG4gICAgc3VnZ2VzdGlvbnMge1xuICAgICAgbmFtZVxuICAgICAgY291bnRyeUNvZGVcbiAgICAgIGxhdGl0dWRlXG4gICAgICBsb25naXR1ZGVcbiAgICB9XG4gIH1cbn1cbiAgICBgO1xuXG4gIEBJbmplY3RhYmxlKHtcbiAgICBwcm92aWRlZEluOiAncm9vdCdcbiAgfSlcbiAgZXhwb3J0IGNsYXNzIFNlYXJjaENvbmZlcm1hQ2l0aWVzR1FMIGV4dGVuZHMgQXBvbGxvLlF1ZXJ5PFNlYXJjaENvbmZlcm1hQ2l0aWVzUXVlcnksIFNlYXJjaENvbmZlcm1hQ2l0aWVzUXVlcnlWYXJpYWJsZXM+IHtcbiAgICBkb2N1bWVudCA9IFNlYXJjaENvbmZlcm1hQ2l0aWVzRG9jdW1lbnQ7XG4gICAgXG4gICAgY29uc3RydWN0b3IoYXBvbGxvOiBBcG9sbG8uQXBvbGxvKSB7XG4gICAgICBzdXBlcihhcG9sbG8pO1xuICAgIH1cbiAgfVxuZXhwb3J0IGNvbnN0IFNlYXJjaEV1cm9zdGFyRG9jdW1lbnQgPSBncWxgXG4gICAgcXVlcnkgc2VhcmNoRXVyb3N0YXIoJHBhc3NlbmdlcnM6IFtGbGlnaHRQYXNzZW5nZXJPYmplY3QhXSEsICRvcmlnaW5BaXJwb3J0OiBTdHJpbmcsICRkZXN0aW5hdGlvbkFpcnBvcnQ6IFN0cmluZywgJG11bHRpRGVzdGluYXRpb246IFtEZXN0aW5hdGlvbkVudHJ5XSwgJG91dGJvdW5kRGF0ZTogRGF0ZSwgJG91dGJvdW5kRGVwYXJ0dXJlVGltZVdpbmRvdzogU3RyaW5nLCAkb3V0Ym91bmRBcnJpdmFsVGltZVdpbmRvdzogU3RyaW5nLCAkb3V0Ym91bmRDYWJpbkNsYXNzOiBbRmxpZ2h0Q2FiaW5DbGFzc10sICRyZXR1cm5UcmlwOiBCb29sZWFuISwgJHJldHVybkRhdGU6IERhdGUsICRyZXR1cm5EZXBhcnR1cmVUaW1lV2luZG93OiBTdHJpbmcsICRyZXR1cm5BcnJpdmFsVGltZVdpbmRvdzogU3RyaW5nLCAkcmV0dXJuQ2FiaW5DbGFzczogW0ZsaWdodENhYmluQ2xhc3NdLCAkZmFyZVR5cGU6IEZhcmVUeXBlISwgJHJlcXVpcmVGcmVlQmFnOiBCb29sZWFuLCAkbWF4Q29ubmVjdGlvbnM6IEludCwgJHByZWZlcnJlZENhcnJpZXJzOiBbU3RyaW5nXSwgJGluY2x1ZGVOZWFyYnlBaXJwb3J0czogQm9vbGVhbiwgJGFzU2luZ2xlczogQm9vbGVhbikge1xuICBzZWFyY2hFdXJvc3RhcihwYXNzZW5nZXJzOiAkcGFzc2VuZ2Vycywgb3JpZ2luQWlycG9ydDogJG9yaWdpbkFpcnBvcnQsIGRlc3RpbmF0aW9uQWlycG9ydDogJGRlc3RpbmF0aW9uQWlycG9ydCwgbXVsdGlEZXN0aW5hdGlvbjogJG11bHRpRGVzdGluYXRpb24sIG91dGJvdW5kRGF0ZTogJG91dGJvdW5kRGF0ZSwgb3V0Ym91bmREZXBhcnR1cmVUaW1lV2luZG93OiAkb3V0Ym91bmREZXBhcnR1cmVUaW1lV2luZG93LCBvdXRib3VuZEFycml2YWxUaW1lV2luZG93OiAkb3V0Ym91bmRBcnJpdmFsVGltZVdpbmRvdywgb3V0Ym91bmRDYWJpbkNsYXNzOiAkb3V0Ym91bmRDYWJpbkNsYXNzLCByZXR1cm5UcmlwOiAkcmV0dXJuVHJpcCwgcmV0dXJuRGF0ZTogJHJldHVybkRhdGUsIHJldHVybkRlcGFydHVyZVRpbWVXaW5kb3c6ICRyZXR1cm5EZXBhcnR1cmVUaW1lV2luZG93LCByZXR1cm5BcnJpdmFsVGltZVdpbmRvdzogJHJldHVybkFycml2YWxUaW1lV2luZG93LCByZXR1cm5DYWJpbkNsYXNzOiAkcmV0dXJuQ2FiaW5DbGFzcywgZmFyZVR5cGU6ICRmYXJlVHlwZSwgcmVxdWlyZUZyZWVCYWc6ICRyZXF1aXJlRnJlZUJhZywgbWF4Q29ubmVjdGlvbnM6ICRtYXhDb25uZWN0aW9ucywgcHJlZmVycmVkQ2FycmllcnM6ICRwcmVmZXJyZWRDYXJyaWVycywgaW5jbHVkZU5lYXJieUFpcnBvcnRzOiAkaW5jbHVkZU5lYXJieUFpcnBvcnRzLCBhc1NpbmdsZXM6ICRhc1NpbmdsZXMpIHtcbiAgICByZXN1bHRzIHtcbiAgICAgIGpvdXJuZXlzIHtcbiAgICAgICAgdWlkXG4gICAgICAgIHBhc3NlbmdlckNvdW50XG4gICAgICAgIG91dGJvdW5kRmxpZ2h0cyB7XG4gICAgICAgICAgZmFyZUluZm8ge1xuICAgICAgICAgICAgdGl0bGVcbiAgICAgICAgICAgIHR5cGVcbiAgICAgICAgICAgIGNvZGVcbiAgICAgICAgICAgIHN1cHBsaWVyQ29kZVxuICAgICAgICAgIH1cbiAgICAgICAgICBvcmlnaW5BaXJwb3J0XG4gICAgICAgICAgb3JpZ2luVGVybWluYWxcbiAgICAgICAgICBvcmlnaW5BaXJwb3J0TmFtZVxuICAgICAgICAgIG9yaWdpbkFpcnBvcnREZXRhaWwge1xuICAgICAgICAgICAgaWF0YVxuICAgICAgICAgICAgaWNhb1xuICAgICAgICAgICAgbGF0aXR1ZGVcbiAgICAgICAgICAgIGxvbmdpdHVkZVxuICAgICAgICAgICAgYWx0aXR1ZGVcbiAgICAgICAgICAgIHN0YXRlXG4gICAgICAgICAgICBjaXR5XG4gICAgICAgICAgICByb2FkXG4gICAgICAgICAgICBwb3B1bGFyaXR5XG4gICAgICAgICAgICBhcmVhXG4gICAgICAgICAgICBsb2NhdGlvblxuICAgICAgICAgICAgb2Zmc2V0XG4gICAgICAgICAgICBhaXJwb3J0TmFtZVxuICAgICAgICAgICAgY291bnRyeU5hbWVcbiAgICAgICAgICAgIGNvdW50cnlDb2RlXG4gICAgICAgICAgICBwb3N0Y29kZVxuICAgICAgICAgIH1cbiAgICAgICAgICBkZXN0aW5hdGlvbkFpcnBvcnRcbiAgICAgICAgICBkZXN0aW5hdGlvblRlcm1pbmFsXG4gICAgICAgICAgZGVzdGluYXRpb25BaXJwb3J0TmFtZVxuICAgICAgICAgIGRlc3RpbmF0aW9uQWlycG9ydERldGFpbCB7XG4gICAgICAgICAgICBpYXRhXG4gICAgICAgICAgICBpY2FvXG4gICAgICAgICAgICBsYXRpdHVkZVxuICAgICAgICAgICAgbG9uZ2l0dWRlXG4gICAgICAgICAgICBhbHRpdHVkZVxuICAgICAgICAgICAgc3RhdGVcbiAgICAgICAgICAgIGNpdHlcbiAgICAgICAgICAgIHJvYWRcbiAgICAgICAgICAgIHBvcHVsYXJpdHlcbiAgICAgICAgICAgIGFyZWFcbiAgICAgICAgICAgIGxvY2F0aW9uXG4gICAgICAgICAgICBvZmZzZXRcbiAgICAgICAgICAgIGFpcnBvcnROYW1lXG4gICAgICAgICAgICBjb3VudHJ5TmFtZVxuICAgICAgICAgICAgY291bnRyeUNvZGVcbiAgICAgICAgICAgIHBvc3Rjb2RlXG4gICAgICAgICAgfVxuICAgICAgICAgIGRhdGVUaW1lRGVwYXJ0aW5nXG4gICAgICAgICAgZGF0ZVRpbWVEZXBhcnRpbmdVVENcbiAgICAgICAgICBkYXRlVGltZUFycml2aW5nXG4gICAgICAgICAgZGF0ZVRpbWVBcnJpdmluZ1VUQ1xuICAgICAgICAgIG1hcmtldGluZ0NhcnJpZXJcbiAgICAgICAgICBtYXJrZXRpbmdDYXJyaWVyTmFtZVxuICAgICAgICAgIG1hcmtldGluZ0NhcnJpZXJEZXRhaWwge1xuICAgICAgICAgICAgbmFtZVxuICAgICAgICAgICAgYWxpYXNcbiAgICAgICAgICAgIGNhbGxzaWduXG4gICAgICAgICAgICBpYXRhXG4gICAgICAgICAgICBpY2FvXG4gICAgICAgICAgICBsb2dvXG4gICAgICAgICAgICBiYW5uZXJcbiAgICAgICAgICAgIHBvcHVsYXJpdHlcbiAgICAgICAgICB9XG4gICAgICAgICAgbWFya2V0aW5nRmxpZ2h0TnVtYmVyXG4gICAgICAgICAgb3BlcmF0aW5nQ2FycmllclxuICAgICAgICAgIG9wZXJhdGluZ0NhcnJpZXJOYW1lXG4gICAgICAgICAgb3BlcmF0aW5nQ2FycmllckRldGFpbCB7XG4gICAgICAgICAgICBuYW1lXG4gICAgICAgICAgICBhbGlhc1xuICAgICAgICAgICAgY2FsbHNpZ25cbiAgICAgICAgICAgIGlhdGFcbiAgICAgICAgICAgIGljYW9cbiAgICAgICAgICAgIGxvZ29cbiAgICAgICAgICAgIGJhbm5lclxuICAgICAgICAgICAgcG9wdWxhcml0eVxuICAgICAgICAgIH1cbiAgICAgICAgICBvcGVyYXRpbmdGbGlnaHROdW1iZXJcbiAgICAgICAgICBlcXVpcG1lbnRDb2RlXG4gICAgICAgICAgZXF1aXBtZW50TmFtZVxuICAgICAgICAgIHRvdGFsRHVyYXRpb25cbiAgICAgICAgICBjYWJpbkNsYXNzXG4gICAgICAgICAgbWFya2V0aW5nTmFtZXNcbiAgICAgICAgICBmYXJlQ29uZGl0aW9ucyB7XG4gICAgICAgICAgICBjYW5jZWxsYXRpb24ge1xuICAgICAgICAgICAgICBuYW1lXG4gICAgICAgICAgICAgIHR5cGVcbiAgICAgICAgICAgICAgY3VycmVuY3lcbiAgICAgICAgICAgICAgYW1vdW50XG4gICAgICAgICAgICAgIHJlbWFya1xuICAgICAgICAgICAgICBjaGFuZ2VGZWVJbmRcbiAgICAgICAgICAgICAgY2FuY2VsRmVlSW5kXG4gICAgICAgICAgICAgIHJlZnVuZGFibGVJbmRcbiAgICAgICAgICAgIH1cbiAgICAgICAgICAgIGNoYW5nZSB7XG4gICAgICAgICAgICAgIG5hbWVcbiAgICAgICAgICAgICAgdHlwZVxuICAgICAgICAgICAgICBjdXJyZW5jeVxuICAgICAgICAgICAgICBhbW91bnRcbiAgICAgICAgICAgICAgcmVtYXJrXG4gICAgICAgICAgICAgIGNoYW5nZUZlZUluZFxuICAgICAgICAgICAgICBjYW5jZWxGZWVJbmRcbiAgICAgICAgICAgICAgcmVmdW5kYWJsZUluZFxuICAgICAgICAgICAgfVxuICAgICAgICAgICAgbm9TaG93IHtcbiAgICAgICAgICAgICAgbmFtZVxuICAgICAgICAgICAgICB0eXBlXG4gICAgICAgICAgICAgIGN1cnJlbmN5XG4gICAgICAgICAgICAgIGFtb3VudFxuICAgICAgICAgICAgICByZW1hcmtcbiAgICAgICAgICAgICAgY2hhbmdlRmVlSW5kXG4gICAgICAgICAgICAgIGNhbmNlbEZlZUluZFxuICAgICAgICAgICAgICByZWZ1bmRhYmxlSW5kXG4gICAgICAgICAgICB9XG4gICAgICAgICAgICB1cGdyYWRlIHtcbiAgICAgICAgICAgICAgbmFtZVxuICAgICAgICAgICAgICB0eXBlXG4gICAgICAgICAgICAgIGN1cnJlbmN5XG4gICAgICAgICAgICAgIGFtb3VudFxuICAgICAgICAgICAgICByZW1hcmtcbiAgICAgICAgICAgICAgY2hhbmdlRmVlSW5kXG4gICAgICAgICAgICAgIGNhbmNlbEZlZUluZFxuICAgICAgICAgICAgICByZWZ1bmRhYmxlSW5kXG4gICAgICAgICAgICB9XG4gICAgICAgICAgICBvdGhlciB7XG4gICAgICAgICAgICAgIG5hbWVcbiAgICAgICAgICAgICAgdHlwZVxuICAgICAgICAgICAgICBjdXJyZW5jeVxuICAgICAgICAgICAgICBhbW91bnRcbiAgICAgICAgICAgICAgcmVtYXJrXG4gICAgICAgICAgICAgIGNoYW5nZUZlZUluZFxuICAgICAgICAgICAgICBjYW5jZWxGZWVJbmRcbiAgICAgICAgICAgICAgcmVmdW5kYWJsZUluZFxuICAgICAgICAgICAgfVxuICAgICAgICAgIH1cbiAgICAgICAgICB2ZW5kb3JDb2RlXG4gICAgICAgICAgc3RvcHNcbiAgICAgICAgICBib29raW5nQ29kZVxuICAgICAgICAgIG1hcnJpYWdlR3JvdXBcbiAgICAgICAgICBmYXJlQmFzaXNDb2RlXG4gICAgICAgICAgYWRkaXRpb25hbFxuICAgICAgICB9XG4gICAgICAgIGluYm91bmRGbGlnaHRzIHtcbiAgICAgICAgICBmYXJlSW5mbyB7XG4gICAgICAgICAgICB0aXRsZVxuICAgICAgICAgICAgdHlwZVxuICAgICAgICAgICAgY29kZVxuICAgICAgICAgICAgc3VwcGxpZXJDb2RlXG4gICAgICAgICAgfVxuICAgICAgICAgIG9yaWdpbkFpcnBvcnRcbiAgICAgICAgICBvcmlnaW5UZXJtaW5hbFxuICAgICAgICAgIG9yaWdpbkFpcnBvcnROYW1lXG4gICAgICAgICAgb3JpZ2luQWlycG9ydERldGFpbCB7XG4gICAgICAgICAgICBpYXRhXG4gICAgICAgICAgICBpY2FvXG4gICAgICAgICAgICBsYXRpdHVkZVxuICAgICAgICAgICAgbG9uZ2l0dWRlXG4gICAgICAgICAgICBhbHRpdHVkZVxuICAgICAgICAgICAgc3RhdGVcbiAgICAgICAgICAgIGNpdHlcbiAgICAgICAgICAgIHJvYWRcbiAgICAgICAgICAgIHBvcHVsYXJpdHlcbiAgICAgICAgICAgIGFyZWFcbiAgICAgICAgICAgIGxvY2F0aW9uXG4gICAgICAgICAgICBvZmZzZXRcbiAgICAgICAgICAgIGFpcnBvcnROYW1lXG4gICAgICAgICAgICBjb3VudHJ5TmFtZVxuICAgICAgICAgICAgY291bnRyeUNvZGVcbiAgICAgICAgICAgIHBvc3Rjb2RlXG4gICAgICAgICAgfVxuICAgICAgICAgIGRlc3RpbmF0aW9uQWlycG9ydFxuICAgICAgICAgIGRlc3RpbmF0aW9uVGVybWluYWxcbiAgICAgICAgICBkZXN0aW5hdGlvbkFpcnBvcnROYW1lXG4gICAgICAgICAgZGVzdGluYXRpb25BaXJwb3J0RGV0YWlsIHtcbiAgICAgICAgICAgIGlhdGFcbiAgICAgICAgICAgIGljYW9cbiAgICAgICAgICAgIGxhdGl0dWRlXG4gICAgICAgICAgICBsb25naXR1ZGVcbiAgICAgICAgICAgIGFsdGl0dWRlXG4gICAgICAgICAgICBzdGF0ZVxuICAgICAgICAgICAgY2l0eVxuICAgICAgICAgICAgcm9hZFxuICAgICAgICAgICAgcG9wdWxhcml0eVxuICAgICAgICAgICAgYXJlYVxuICAgICAgICAgICAgbG9jYXRpb25cbiAgICAgICAgICAgIG9mZnNldFxuICAgICAgICAgICAgYWlycG9ydE5hbWVcbiAgICAgICAgICAgIGNvdW50cnlOYW1lXG4gICAgICAgICAgICBjb3VudHJ5Q29kZVxuICAgICAgICAgICAgcG9zdGNvZGVcbiAgICAgICAgICB9XG4gICAgICAgICAgZGF0ZVRpbWVEZXBhcnRpbmdcbiAgICAgICAgICBkYXRlVGltZURlcGFydGluZ1VUQ1xuICAgICAgICAgIGRhdGVUaW1lQXJyaXZpbmdcbiAgICAgICAgICBkYXRlVGltZUFycml2aW5nVVRDXG4gICAgICAgICAgbWFya2V0aW5nQ2FycmllclxuICAgICAgICAgIG1hcmtldGluZ0NhcnJpZXJOYW1lXG4gICAgICAgICAgbWFya2V0aW5nQ2FycmllckRldGFpbCB7XG4gICAgICAgICAgICBuYW1lXG4gICAgICAgICAgICBhbGlhc1xuICAgICAgICAgICAgY2FsbHNpZ25cbiAgICAgICAgICAgIGlhdGFcbiAgICAgICAgICAgIGljYW9cbiAgICAgICAgICAgIGxvZ29cbiAgICAgICAgICAgIGJhbm5lclxuICAgICAgICAgICAgcG9wdWxhcml0eVxuICAgICAgICAgIH1cbiAgICAgICAgICBtYXJrZXRpbmdGbGlnaHROdW1iZXJcbiAgICAgICAgICBvcGVyYXRpbmdDYXJyaWVyXG4gICAgICAgICAgb3BlcmF0aW5nQ2Fycmllck5hbWVcbiAgICAgICAgICBvcGVyYXRpbmdDYXJyaWVyRGV0YWlsIHtcbiAgICAgICAgICAgIG5hbWVcbiAgICAgICAgICAgIGFsaWFzXG4gICAgICAgICAgICBjYWxsc2lnblxuICAgICAgICAgICAgaWF0YVxuICAgICAgICAgICAgaWNhb1xuICAgICAgICAgICAgbG9nb1xuICAgICAgICAgICAgYmFubmVyXG4gICAgICAgICAgICBwb3B1bGFyaXR5XG4gICAgICAgICAgfVxuICAgICAgICAgIG9wZXJhdGluZ0ZsaWdodE51bWJlclxuICAgICAgICAgIGVxdWlwbWVudENvZGVcbiAgICAgICAgICBlcXVpcG1lbnROYW1lXG4gICAgICAgICAgdG90YWxEdXJhdGlvblxuICAgICAgICAgIGNhYmluQ2xhc3NcbiAgICAgICAgICBtYXJrZXRpbmdOYW1lc1xuICAgICAgICAgIGZhcmVDb25kaXRpb25zIHtcbiAgICAgICAgICAgIGNhbmNlbGxhdGlvbiB7XG4gICAgICAgICAgICAgIG5hbWVcbiAgICAgICAgICAgICAgdHlwZVxuICAgICAgICAgICAgICBjdXJyZW5jeVxuICAgICAgICAgICAgICBhbW91bnRcbiAgICAgICAgICAgICAgcmVtYXJrXG4gICAgICAgICAgICAgIGNoYW5nZUZlZUluZFxuICAgICAgICAgICAgICBjYW5jZWxGZWVJbmRcbiAgICAgICAgICAgICAgcmVmdW5kYWJsZUluZFxuICAgICAgICAgICAgfVxuICAgICAgICAgICAgY2hhbmdlIHtcbiAgICAgICAgICAgICAgbmFtZVxuICAgICAgICAgICAgICB0eXBlXG4gICAgICAgICAgICAgIGN1cnJlbmN5XG4gICAgICAgICAgICAgIGFtb3VudFxuICAgICAgICAgICAgICByZW1hcmtcbiAgICAgICAgICAgICAgY2hhbmdlRmVlSW5kXG4gICAgICAgICAgICAgIGNhbmNlbEZlZUluZFxuICAgICAgICAgICAgICByZWZ1bmRhYmxlSW5kXG4gICAgICAgICAgICB9XG4gICAgICAgICAgICBub1Nob3cge1xuICAgICAgICAgICAgICBuYW1lXG4gICAgICAgICAgICAgIHR5cGVcbiAgICAgICAgICAgICAgY3VycmVuY3lcbiAgICAgICAgICAgICAgYW1vdW50XG4gICAgICAgICAgICAgIHJlbWFya1xuICAgICAgICAgICAgICBjaGFuZ2VGZWVJbmRcbiAgICAgICAgICAgICAgY2FuY2VsRmVlSW5kXG4gICAgICAgICAgICAgIHJlZnVuZGFibGVJbmRcbiAgICAgICAgICAgIH1cbiAgICAgICAgICAgIHVwZ3JhZGUge1xuICAgICAgICAgICAgICBuYW1lXG4gICAgICAgICAgICAgIHR5cGVcbiAgICAgICAgICAgICAgY3VycmVuY3lcbiAgICAgICAgICAgICAgYW1vdW50XG4gICAgICAgICAgICAgIHJlbWFya1xuICAgICAgICAgICAgICBjaGFuZ2VGZWVJbmRcbiAgICAgICAgICAgICAgY2FuY2VsRmVlSW5kXG4gICAgICAgICAgICAgIHJlZnVuZGFibGVJbmRcbiAgICAgICAgICAgIH1cbiAgICAgICAgICAgIG90aGVyIHtcbiAgICAgICAgICAgICAgbmFtZVxuICAgICAgICAgICAgICB0eXBlXG4gICAgICAgICAgICAgIGN1cnJlbmN5XG4gICAgICAgICAgICAgIGFtb3VudFxuICAgICAgICAgICAgICByZW1hcmtcbiAgICAgICAgICAgICAgY2hhbmdlRmVlSW5kXG4gICAgICAgICAgICAgIGNhbmNlbEZlZUluZFxuICAgICAgICAgICAgICByZWZ1bmRhYmxlSW5kXG4gICAgICAgICAgICB9XG4gICAgICAgICAgfVxuICAgICAgICAgIHZlbmRvckNvZGVcbiAgICAgICAgICBzdG9wc1xuICAgICAgICAgIGJvb2tpbmdDb2RlXG4gICAgICAgICAgbWFycmlhZ2VHcm91cFxuICAgICAgICAgIGZhcmVCYXNpc0NvZGVcbiAgICAgICAgICBhZGRpdGlvbmFsXG4gICAgICAgIH1cbiAgICAgICAgb3V0Ym91bmRUb3RhbER1cmF0aW9uXG4gICAgICAgIG91dGJvdW5kQ2FyYm9uRW1pc3Npb25zIHtcbiAgICAgICAgICBhbW91bnRcbiAgICAgICAgICB1bml0XG4gICAgICAgIH1cbiAgICAgICAgaW5ib3VuZFRvdGFsRHVyYXRpb25cbiAgICAgICAgaW5ib3VuZENhcmJvbkVtaXNzaW9ucyB7XG4gICAgICAgICAgYW1vdW50XG4gICAgICAgICAgdW5pdFxuICAgICAgICB9XG4gICAgICAgIHRheGVzIHtcbiAgICAgICAgICBkZXNjcmlwdGlvblxuICAgICAgICAgIGFtb3VudFxuICAgICAgICAgIGN1cnJlbmN5XG4gICAgICAgIH1cbiAgICAgICAgZGlzY291bnRzIHtcbiAgICAgICAgICBkZXNjcmlwdGlvblxuICAgICAgICAgIGFtb3VudFxuICAgICAgICAgIGN1cnJlbmN5XG4gICAgICAgIH1cbiAgICAgICAgdG90YWwge1xuICAgICAgICAgIHByaWNlXG4gICAgICAgICAgdGF4XG4gICAgICAgICAgZGlzY291bnRcbiAgICAgICAgICBjdXJyZW5jeVxuICAgICAgICB9XG4gICAgICAgIGZhcmVDb25kaXRpb25zIHtcbiAgICAgICAgICBjYW5jZWxsYXRpb24ge1xuICAgICAgICAgICAgbmFtZVxuICAgICAgICAgICAgdHlwZVxuICAgICAgICAgICAgY3VycmVuY3lcbiAgICAgICAgICAgIGFtb3VudFxuICAgICAgICAgICAgcmVtYXJrXG4gICAgICAgICAgICBjaGFuZ2VGZWVJbmRcbiAgICAgICAgICAgIGNhbmNlbEZlZUluZFxuICAgICAgICAgICAgcmVmdW5kYWJsZUluZFxuICAgICAgICAgIH1cbiAgICAgICAgICBjaGFuZ2Uge1xuICAgICAgICAgICAgbmFtZVxuICAgICAgICAgICAgdHlwZVxuICAgICAgICAgICAgY3VycmVuY3lcbiAgICAgICAgICAgIGFtb3VudFxuICAgICAgICAgICAgcmVtYXJrXG4gICAgICAgICAgICBjaGFuZ2VGZWVJbmRcbiAgICAgICAgICAgIGNhbmNlbEZlZUluZFxuICAgICAgICAgICAgcmVmdW5kYWJsZUluZFxuICAgICAgICAgIH1cbiAgICAgICAgICBub1Nob3cge1xuICAgICAgICAgICAgbmFtZVxuICAgICAgICAgICAgdHlwZVxuICAgICAgICAgICAgY3VycmVuY3lcbiAgICAgICAgICAgIGFtb3VudFxuICAgICAgICAgICAgcmVtYXJrXG4gICAgICAgICAgICBjaGFuZ2VGZWVJbmRcbiAgICAgICAgICAgIGNhbmNlbEZlZUluZFxuICAgICAgICAgICAgcmVmdW5kYWJsZUluZFxuICAgICAgICAgIH1cbiAgICAgICAgICB1cGdyYWRlIHtcbiAgICAgICAgICAgIG5hbWVcbiAgICAgICAgICAgIHR5cGVcbiAgICAgICAgICAgIGN1cnJlbmN5XG4gICAgICAgICAgICBhbW91bnRcbiAgICAgICAgICAgIHJlbWFya1xuICAgICAgICAgICAgY2hhbmdlRmVlSW5kXG4gICAgICAgICAgICBjYW5jZWxGZWVJbmRcbiAgICAgICAgICAgIHJlZnVuZGFibGVJbmRcbiAgICAgICAgICB9XG4gICAgICAgICAgb3RoZXIge1xuICAgICAgICAgICAgbmFtZVxuICAgICAgICAgICAgdHlwZVxuICAgICAgICAgICAgY3VycmVuY3lcbiAgICAgICAgICAgIGFtb3VudFxuICAgICAgICAgICAgcmVtYXJrXG4gICAgICAgICAgICBjaGFuZ2VGZWVJbmRcbiAgICAgICAgICAgIGNhbmNlbEZlZUluZFxuICAgICAgICAgICAgcmVmdW5kYWJsZUluZFxuICAgICAgICAgIH1cbiAgICAgICAgfVxuICAgICAgICBiYWdnYWdlQWxsb3dhbmNlIHtcbiAgICAgICAgICB0eXBlXG4gICAgICAgICAgcXR5XG4gICAgICAgICAgbWF4S0dcbiAgICAgICAgICBtYXhMQlNcbiAgICAgICAgfVxuICAgICAgICBhZGRpdGlvbmFsXG4gICAgICAgIHNvdXJjZVxuICAgICAgICBzb3VyY2VJZFxuICAgICAgICB2ZXJzaW9uXG4gICAgICAgIHRtY1ByZWZlcnJlZFxuICAgICAgICBjb21wYW55UHJlZmVycmVkXG4gICAgICAgIG9mZmljZVByZWZlcnJlZFxuICAgICAgICB0bWNQcmVmZXJyZWRNZXNzYWdlXG4gICAgICAgIGNvbXBhbnlQcmVmZXJyZWRNZXNzYWdlXG4gICAgICAgIG9mZmljZVByZWZlcnJlZE1lc3NhZ2VcbiAgICAgICAgdW5hdmFpbGFibGVcbiAgICAgICAgdW5hdmFpbGFibGVNZXNzYWdlXG4gICAgICAgIGNvMlBlckl0ZW1cbiAgICAgICAgY28yUGVyUGFzc2VuZ2VyXG4gICAgICB9XG4gICAgICBtdWx0aSB7XG4gICAgICAgIG9yZGVyXG4gICAgICAgIG9yaWdpblxuICAgICAgICBkZXN0aW5hdGlvblxuICAgICAgICByZXN1bHRzIHtcbiAgICAgICAgICB1aWRcbiAgICAgICAgICBwYXNzZW5nZXJDb3VudFxuICAgICAgICAgIG91dGJvdW5kRmxpZ2h0cyB7XG4gICAgICAgICAgICBmYXJlSW5mbyB7XG4gICAgICAgICAgICAgIHRpdGxlXG4gICAgICAgICAgICAgIHR5cGVcbiAgICAgICAgICAgICAgY29kZVxuICAgICAgICAgICAgICBzdXBwbGllckNvZGVcbiAgICAgICAgICAgIH1cbiAgICAgICAgICAgIG9yaWdpbkFpcnBvcnRcbiAgICAgICAgICAgIG9yaWdpblRlcm1pbmFsXG4gICAgICAgICAgICBvcmlnaW5BaXJwb3J0TmFtZVxuICAgICAgICAgICAgb3JpZ2luQWlycG9ydERldGFpbCB7XG4gICAgICAgICAgICAgIGlhdGFcbiAgICAgICAgICAgICAgaWNhb1xuICAgICAgICAgICAgICBsYXRpdHVkZVxuICAgICAgICAgICAgICBsb25naXR1ZGVcbiAgICAgICAgICAgICAgYWx0aXR1ZGVcbiAgICAgICAgICAgICAgc3RhdGVcbiAgICAgICAgICAgICAgY2l0eVxuICAgICAgICAgICAgICByb2FkXG4gICAgICAgICAgICAgIHBvcHVsYXJpdHlcbiAgICAgICAgICAgICAgYXJlYVxuICAgICAgICAgICAgICBsb2NhdGlvblxuICAgICAgICAgICAgICBvZmZzZXRcbiAgICAgICAgICAgICAgYWlycG9ydE5hbWVcbiAgICAgICAgICAgICAgY291bnRyeU5hbWVcbiAgICAgICAgICAgICAgY291bnRyeUNvZGVcbiAgICAgICAgICAgICAgcG9zdGNvZGVcbiAgICAgICAgICAgIH1cbiAgICAgICAgICAgIGRlc3RpbmF0aW9uQWlycG9ydFxuICAgICAgICAgICAgZGVzdGluYXRpb25UZXJtaW5hbFxuICAgICAgICAgICAgZGVzdGluYXRpb25BaXJwb3J0TmFtZVxuICAgICAgICAgICAgZGVzdGluYXRpb25BaXJwb3J0RGV0YWlsIHtcbiAgICAgICAgICAgICAgaWF0YVxuICAgICAgICAgICAgICBpY2FvXG4gICAgICAgICAgICAgIGxhdGl0dWRlXG4gICAgICAgICAgICAgIGxvbmdpdHVkZVxuICAgICAgICAgICAgICBhbHRpdHVkZVxuICAgICAgICAgICAgICBzdGF0ZVxuICAgICAgICAgICAgICBjaXR5XG4gICAgICAgICAgICAgIHJvYWRcbiAgICAgICAgICAgICAgcG9wdWxhcml0eVxuICAgICAgICAgICAgICBhcmVhXG4gICAgICAgICAgICAgIGxvY2F0aW9uXG4gICAgICAgICAgICAgIG9mZnNldFxuICAgICAgICAgICAgICBhaXJwb3J0TmFtZVxuICAgICAgICAgICAgICBjb3VudHJ5TmFtZVxuICAgICAgICAgICAgICBjb3VudHJ5Q29kZVxuICAgICAgICAgICAgICBwb3N0Y29kZVxuICAgICAgICAgICAgfVxuICAgICAgICAgICAgZGF0ZVRpbWVEZXBhcnRpbmdcbiAgICAgICAgICAgIGRhdGVUaW1lRGVwYXJ0aW5nVVRDXG4gICAgICAgICAgICBkYXRlVGltZUFycml2aW5nXG4gICAgICAgICAgICBkYXRlVGltZUFycml2aW5nVVRDXG4gICAgICAgICAgICBtYXJrZXRpbmdDYXJyaWVyXG4gICAgICAgICAgICBtYXJrZXRpbmdDYXJyaWVyTmFtZVxuICAgICAgICAgICAgbWFya2V0aW5nQ2FycmllckRldGFpbCB7XG4gICAgICAgICAgICAgIG5hbWVcbiAgICAgICAgICAgICAgYWxpYXNcbiAgICAgICAgICAgICAgY2FsbHNpZ25cbiAgICAgICAgICAgICAgaWF0YVxuICAgICAgICAgICAgICBpY2FvXG4gICAgICAgICAgICAgIGxvZ29cbiAgICAgICAgICAgICAgYmFubmVyXG4gICAgICAgICAgICAgIHBvcHVsYXJpdHlcbiAgICAgICAgICAgIH1cbiAgICAgICAgICAgIG1hcmtldGluZ0ZsaWdodE51bWJlclxuICAgICAgICAgICAgb3BlcmF0aW5nQ2FycmllclxuICAgICAgICAgICAgb3BlcmF0aW5nQ2Fycmllck5hbWVcbiAgICAgICAgICAgIG9wZXJhdGluZ0NhcnJpZXJEZXRhaWwge1xuICAgICAgICAgICAgICBuYW1lXG4gICAgICAgICAgICAgIGFsaWFzXG4gICAgICAgICAgICAgIGNhbGxzaWduXG4gICAgICAgICAgICAgIGlhdGFcbiAgICAgICAgICAgICAgaWNhb1xuICAgICAgICAgICAgICBsb2dvXG4gICAgICAgICAgICAgIGJhbm5lclxuICAgICAgICAgICAgICBwb3B1bGFyaXR5XG4gICAgICAgICAgICB9XG4gICAgICAgICAgICBvcGVyYXRpbmdGbGlnaHROdW1iZXJcbiAgICAgICAgICAgIGVxdWlwbWVudENvZGVcbiAgICAgICAgICAgIGVxdWlwbWVudE5hbWVcbiAgICAgICAgICAgIHRvdGFsRHVyYXRpb25cbiAgICAgICAgICAgIGNhYmluQ2xhc3NcbiAgICAgICAgICAgIG1hcmtldGluZ05hbWVzXG4gICAgICAgICAgICBmYXJlQ29uZGl0aW9ucyB7XG4gICAgICAgICAgICAgIGNhbmNlbGxhdGlvbiB7XG4gICAgICAgICAgICAgICAgbmFtZVxuICAgICAgICAgICAgICAgIHR5cGVcbiAgICAgICAgICAgICAgICBjdXJyZW5jeVxuICAgICAgICAgICAgICAgIGFtb3VudFxuICAgICAgICAgICAgICAgIHJlbWFya1xuICAgICAgICAgICAgICAgIGNoYW5nZUZlZUluZFxuICAgICAgICAgICAgICAgIGNhbmNlbEZlZUluZFxuICAgICAgICAgICAgICAgIHJlZnVuZGFibGVJbmRcbiAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgICBjaGFuZ2Uge1xuICAgICAgICAgICAgICAgIG5hbWVcbiAgICAgICAgICAgICAgICB0eXBlXG4gICAgICAgICAgICAgICAgY3VycmVuY3lcbiAgICAgICAgICAgICAgICBhbW91bnRcbiAgICAgICAgICAgICAgICByZW1hcmtcbiAgICAgICAgICAgICAgICBjaGFuZ2VGZWVJbmRcbiAgICAgICAgICAgICAgICBjYW5jZWxGZWVJbmRcbiAgICAgICAgICAgICAgICByZWZ1bmRhYmxlSW5kXG4gICAgICAgICAgICAgIH1cbiAgICAgICAgICAgICAgbm9TaG93IHtcbiAgICAgICAgICAgICAgICBuYW1lXG4gICAgICAgICAgICAgICAgdHlwZVxuICAgICAgICAgICAgICAgIGN1cnJlbmN5XG4gICAgICAgICAgICAgICAgYW1vdW50XG4gICAgICAgICAgICAgICAgcmVtYXJrXG4gICAgICAgICAgICAgICAgY2hhbmdlRmVlSW5kXG4gICAgICAgICAgICAgICAgY2FuY2VsRmVlSW5kXG4gICAgICAgICAgICAgICAgcmVmdW5kYWJsZUluZFxuICAgICAgICAgICAgICB9XG4gICAgICAgICAgICAgIHVwZ3JhZGUge1xuICAgICAgICAgICAgICAgIG5hbWVcbiAgICAgICAgICAgICAgICB0eXBlXG4gICAgICAgICAgICAgICAgY3VycmVuY3lcbiAgICAgICAgICAgICAgICBhbW91bnRcbiAgICAgICAgICAgICAgICByZW1hcmtcbiAgICAgICAgICAgICAgICBjaGFuZ2VGZWVJbmRcbiAgICAgICAgICAgICAgICBjYW5jZWxGZWVJbmRcbiAgICAgICAgICAgICAgICByZWZ1bmRhYmxlSW5kXG4gICAgICAgICAgICAgIH1cbiAgICAgICAgICAgICAgb3RoZXIge1xuICAgICAgICAgICAgICAgIG5hbWVcbiAgICAgICAgICAgICAgICB0eXBlXG4gICAgICAgICAgICAgICAgY3VycmVuY3lcbiAgICAgICAgICAgICAgICBhbW91bnRcbiAgICAgICAgICAgICAgICByZW1hcmtcbiAgICAgICAgICAgICAgICBjaGFuZ2VGZWVJbmRcbiAgICAgICAgICAgICAgICBjYW5jZWxGZWVJbmRcbiAgICAgICAgICAgICAgICByZWZ1bmRhYmxlSW5kXG4gICAgICAgICAgICAgIH1cbiAgICAgICAgICAgIH1cbiAgICAgICAgICAgIHZlbmRvckNvZGVcbiAgICAgICAgICAgIHN0b3BzXG4gICAgICAgICAgICBib29raW5nQ29kZVxuICAgICAgICAgICAgbWFycmlhZ2VHcm91cFxuICAgICAgICAgICAgZmFyZUJhc2lzQ29kZVxuICAgICAgICAgICAgYWRkaXRpb25hbFxuICAgICAgICAgIH1cbiAgICAgICAgICBpbmJvdW5kRmxpZ2h0cyB7XG4gICAgICAgICAgICBmYXJlSW5mbyB7XG4gICAgICAgICAgICAgIHRpdGxlXG4gICAgICAgICAgICAgIHR5cGVcbiAgICAgICAgICAgICAgY29kZVxuICAgICAgICAgICAgICBzdXBwbGllckNvZGVcbiAgICAgICAgICAgIH1cbiAgICAgICAgICAgIG9yaWdpbkFpcnBvcnRcbiAgICAgICAgICAgIG9yaWdpblRlcm1pbmFsXG4gICAgICAgICAgICBvcmlnaW5BaXJwb3J0TmFtZVxuICAgICAgICAgICAgb3JpZ2luQWlycG9ydERldGFpbCB7XG4gICAgICAgICAgICAgIGlhdGFcbiAgICAgICAgICAgICAgaWNhb1xuICAgICAgICAgICAgICBsYXRpdHVkZVxuICAgICAgICAgICAgICBsb25naXR1ZGVcbiAgICAgICAgICAgICAgYWx0aXR1ZGVcbiAgICAgICAgICAgICAgc3RhdGVcbiAgICAgICAgICAgICAgY2l0eVxuICAgICAgICAgICAgICByb2FkXG4gICAgICAgICAgICAgIHBvcHVsYXJpdHlcbiAgICAgICAgICAgICAgYXJlYVxuICAgICAgICAgICAgICBsb2NhdGlvblxuICAgICAgICAgICAgICBvZmZzZXRcbiAgICAgICAgICAgICAgYWlycG9ydE5hbWVcbiAgICAgICAgICAgICAgY291bnRyeU5hbWVcbiAgICAgICAgICAgICAgY291bnRyeUNvZGVcbiAgICAgICAgICAgICAgcG9zdGNvZGVcbiAgICAgICAgICAgIH1cbiAgICAgICAgICAgIGRlc3RpbmF0aW9uQWlycG9ydFxuICAgICAgICAgICAgZGVzdGluYXRpb25UZXJtaW5hbFxuICAgICAgICAgICAgZGVzdGluYXRpb25BaXJwb3J0TmFtZVxuICAgICAgICAgICAgZGVzdGluYXRpb25BaXJwb3J0RGV0YWlsIHtcbiAgICAgICAgICAgICAgaWF0YVxuICAgICAgICAgICAgICBpY2FvXG4gICAgICAgICAgICAgIGxhdGl0dWRlXG4gICAgICAgICAgICAgIGxvbmdpdHVkZVxuICAgICAgICAgICAgICBhbHRpdHVkZVxuICAgICAgICAgICAgICBzdGF0ZVxuICAgICAgICAgICAgICBjaXR5XG4gICAgICAgICAgICAgIHJvYWRcbiAgICAgICAgICAgICAgcG9wdWxhcml0eVxuICAgICAgICAgICAgICBhcmVhXG4gICAgICAgICAgICAgIGxvY2F0aW9uXG4gICAgICAgICAgICAgIG9mZnNldFxuICAgICAgICAgICAgICBhaXJwb3J0TmFtZVxuICAgICAgICAgICAgICBjb3VudHJ5TmFtZVxuICAgICAgICAgICAgICBjb3VudHJ5Q29kZVxuICAgICAgICAgICAgICBwb3N0Y29kZVxuICAgICAgICAgICAgfVxuICAgICAgICAgICAgZGF0ZVRpbWVEZXBhcnRpbmdcbiAgICAgICAgICAgIGRhdGVUaW1lRGVwYXJ0aW5nVVRDXG4gICAgICAgICAgICBkYXRlVGltZUFycml2aW5nXG4gICAgICAgICAgICBkYXRlVGltZUFycml2aW5nVVRDXG4gICAgICAgICAgICBtYXJrZXRpbmdDYXJyaWVyXG4gICAgICAgICAgICBtYXJrZXRpbmdDYXJyaWVyTmFtZVxuICAgICAgICAgICAgbWFya2V0aW5nQ2FycmllckRldGFpbCB7XG4gICAgICAgICAgICAgIG5hbWVcbiAgICAgICAgICAgICAgYWxpYXNcbiAgICAgICAgICAgICAgY2FsbHNpZ25cbiAgICAgICAgICAgICAgaWF0YVxuICAgICAgICAgICAgICBpY2FvXG4gICAgICAgICAgICAgIGxvZ29cbiAgICAgICAgICAgICAgYmFubmVyXG4gICAgICAgICAgICAgIHBvcHVsYXJpdHlcbiAgICAgICAgICAgIH1cbiAgICAgICAgICAgIG1hcmtldGluZ0ZsaWdodE51bWJlclxuICAgICAgICAgICAgb3BlcmF0aW5nQ2FycmllclxuICAgICAgICAgICAgb3BlcmF0aW5nQ2Fycmllck5hbWVcbiAgICAgICAgICAgIG9wZXJhdGluZ0NhcnJpZXJEZXRhaWwge1xuICAgICAgICAgICAgICBuYW1lXG4gICAgICAgICAgICAgIGFsaWFzXG4gICAgICAgICAgICAgIGNhbGxzaWduXG4gICAgICAgICAgICAgIGlhdGFcbiAgICAgICAgICAgICAgaWNhb1xuICAgICAgICAgICAgICBsb2dvXG4gICAgICAgICAgICAgIGJhbm5lclxuICAgICAgICAgICAgICBwb3B1bGFyaXR5XG4gICAgICAgICAgICB9XG4gICAgICAgICAgICBvcGVyYXRpbmdGbGlnaHROdW1iZXJcbiAgICAgICAgICAgIGVxdWlwbWVudENvZGVcbiAgICAgICAgICAgIGVxdWlwbWVudE5hbWVcbiAgICAgICAgICAgIHRvdGFsRHVyYXRpb25cbiAgICAgICAgICAgIGNhYmluQ2xhc3NcbiAgICAgICAgICAgIG1hcmtldGluZ05hbWVzXG4gICAgICAgICAgICBmYXJlQ29uZGl0aW9ucyB7XG4gICAgICAgICAgICAgIGNhbmNlbGxhdGlvbiB7XG4gICAgICAgICAgICAgICAgbmFtZVxuICAgICAgICAgICAgICAgIHR5cGVcbiAgICAgICAgICAgICAgICBjdXJyZW5jeVxuICAgICAgICAgICAgICAgIGFtb3VudFxuICAgICAgICAgICAgICAgIHJlbWFya1xuICAgICAgICAgICAgICAgIGNoYW5nZUZlZUluZFxuICAgICAgICAgICAgICAgIGNhbmNlbEZlZUluZFxuICAgICAgICAgICAgICAgIHJlZnVuZGFibGVJbmRcbiAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgICBjaGFuZ2Uge1xuICAgICAgICAgICAgICAgIG5hbWVcbiAgICAgICAgICAgICAgICB0eXBlXG4gICAgICAgICAgICAgICAgY3VycmVuY3lcbiAgICAgICAgICAgICAgICBhbW91bnRcbiAgICAgICAgICAgICAgICByZW1hcmtcbiAgICAgICAgICAgICAgICBjaGFuZ2VGZWVJbmRcbiAgICAgICAgICAgICAgICBjYW5jZWxGZWVJbmRcbiAgICAgICAgICAgICAgICByZWZ1bmRhYmxlSW5kXG4gICAgICAgICAgICAgIH1cbiAgICAgICAgICAgICAgbm9TaG93IHtcbiAgICAgICAgICAgICAgICBuYW1lXG4gICAgICAgICAgICAgICAgdHlwZVxuICAgICAgICAgICAgICAgIGN1cnJlbmN5XG4gICAgICAgICAgICAgICAgYW1vdW50XG4gICAgICAgICAgICAgICAgcmVtYXJrXG4gICAgICAgICAgICAgICAgY2hhbmdlRmVlSW5kXG4gICAgICAgICAgICAgICAgY2FuY2VsRmVlSW5kXG4gICAgICAgICAgICAgICAgcmVmdW5kYWJsZUluZFxuICAgICAgICAgICAgICB9XG4gICAgICAgICAgICAgIHVwZ3JhZGUge1xuICAgICAgICAgICAgICAgIG5hbWVcbiAgICAgICAgICAgICAgICB0eXBlXG4gICAgICAgICAgICAgICAgY3VycmVuY3lcbiAgICAgICAgICAgICAgICBhbW91bnRcbiAgICAgICAgICAgICAgICByZW1hcmtcbiAgICAgICAgICAgICAgICBjaGFuZ2VGZWVJbmRcbiAgICAgICAgICAgICAgICBjYW5jZWxGZWVJbmRcbiAgICAgICAgICAgICAgICByZWZ1bmRhYmxlSW5kXG4gICAgICAgICAgICAgIH1cbiAgICAgICAgICAgICAgb3RoZXIge1xuICAgICAgICAgICAgICAgIG5hbWVcbiAgICAgICAgICAgICAgICB0eXBlXG4gICAgICAgICAgICAgICAgY3VycmVuY3lcbiAgICAgICAgICAgICAgICBhbW91bnRcbiAgICAgICAgICAgICAgICByZW1hcmtcbiAgICAgICAgICAgICAgICBjaGFuZ2VGZWVJbmRcbiAgICAgICAgICAgICAgICBjYW5jZWxGZWVJbmRcbiAgICAgICAgICAgICAgICByZWZ1bmRhYmxlSW5kXG4gICAgICAgICAgICAgIH1cbiAgICAgICAgICAgIH1cbiAgICAgICAgICAgIHZlbmRvckNvZGVcbiAgICAgICAgICAgIHN0b3BzXG4gICAgICAgICAgICBib29raW5nQ29kZVxuICAgICAgICAgICAgbWFycmlhZ2VHcm91cFxuICAgICAgICAgICAgZmFyZUJhc2lzQ29kZVxuICAgICAgICAgICAgYWRkaXRpb25hbFxuICAgICAgICAgIH1cbiAgICAgICAgICBvdXRib3VuZFRvdGFsRHVyYXRpb25cbiAgICAgICAgICBvdXRib3VuZENhcmJvbkVtaXNzaW9ucyB7XG4gICAgICAgICAgICBhbW91bnRcbiAgICAgICAgICAgIHVuaXRcbiAgICAgICAgICB9XG4gICAgICAgICAgaW5ib3VuZFRvdGFsRHVyYXRpb25cbiAgICAgICAgICBpbmJvdW5kQ2FyYm9uRW1pc3Npb25zIHtcbiAgICAgICAgICAgIGFtb3VudFxuICAgICAgICAgICAgdW5pdFxuICAgICAgICAgIH1cbiAgICAgICAgICB0YXhlcyB7XG4gICAgICAgICAgICBkZXNjcmlwdGlvblxuICAgICAgICAgICAgYW1vdW50XG4gICAgICAgICAgICBjdXJyZW5jeVxuICAgICAgICAgIH1cbiAgICAgICAgICBkaXNjb3VudHMge1xuICAgICAgICAgICAgZGVzY3JpcHRpb25cbiAgICAgICAgICAgIGFtb3VudFxuICAgICAgICAgICAgY3VycmVuY3lcbiAgICAgICAgICB9XG4gICAgICAgICAgdG90YWwge1xuICAgICAgICAgICAgcHJpY2VcbiAgICAgICAgICAgIHRheFxuICAgICAgICAgICAgZGlzY291bnRcbiAgICAgICAgICAgIGN1cnJlbmN5XG4gICAgICAgICAgfVxuICAgICAgICAgIGZhcmVDb25kaXRpb25zIHtcbiAgICAgICAgICAgIGNhbmNlbGxhdGlvbiB7XG4gICAgICAgICAgICAgIG5hbWVcbiAgICAgICAgICAgICAgdHlwZVxuICAgICAgICAgICAgICBjdXJyZW5jeVxuICAgICAgICAgICAgICBhbW91bnRcbiAgICAgICAgICAgICAgcmVtYXJrXG4gICAgICAgICAgICAgIGNoYW5nZUZlZUluZFxuICAgICAgICAgICAgICBjYW5jZWxGZWVJbmRcbiAgICAgICAgICAgICAgcmVmdW5kYWJsZUluZFxuICAgICAgICAgICAgfVxuICAgICAgICAgICAgY2hhbmdlIHtcbiAgICAgICAgICAgICAgbmFtZVxuICAgICAgICAgICAgICB0eXBlXG4gICAgICAgICAgICAgIGN1cnJlbmN5XG4gICAgICAgICAgICAgIGFtb3VudFxuICAgICAgICAgICAgICByZW1hcmtcbiAgICAgICAgICAgICAgY2hhbmdlRmVlSW5kXG4gICAgICAgICAgICAgIGNhbmNlbEZlZUluZFxuICAgICAgICAgICAgICByZWZ1bmRhYmxlSW5kXG4gICAgICAgICAgICB9XG4gICAgICAgICAgICBub1Nob3cge1xuICAgICAgICAgICAgICBuYW1lXG4gICAgICAgICAgICAgIHR5cGVcbiAgICAgICAgICAgICAgY3VycmVuY3lcbiAgICAgICAgICAgICAgYW1vdW50XG4gICAgICAgICAgICAgIHJlbWFya1xuICAgICAgICAgICAgICBjaGFuZ2VGZWVJbmRcbiAgICAgICAgICAgICAgY2FuY2VsRmVlSW5kXG4gICAgICAgICAgICAgIHJlZnVuZGFibGVJbmRcbiAgICAgICAgICAgIH1cbiAgICAgICAgICAgIHVwZ3JhZGUge1xuICAgICAgICAgICAgICBuYW1lXG4gICAgICAgICAgICAgIHR5cGVcbiAgICAgICAgICAgICAgY3VycmVuY3lcbiAgICAgICAgICAgICAgYW1vdW50XG4gICAgICAgICAgICAgIHJlbWFya1xuICAgICAgICAgICAgICBjaGFuZ2VGZWVJbmRcbiAgICAgICAgICAgICAgY2FuY2VsRmVlSW5kXG4gICAgICAgICAgICAgIHJlZnVuZGFibGVJbmRcbiAgICAgICAgICAgIH1cbiAgICAgICAgICAgIG90aGVyIHtcbiAgICAgICAgICAgICAgbmFtZVxuICAgICAgICAgICAgICB0eXBlXG4gICAgICAgICAgICAgIGN1cnJlbmN5XG4gICAgICAgICAgICAgIGFtb3VudFxuICAgICAgICAgICAgICByZW1hcmtcbiAgICAgICAgICAgICAgY2hhbmdlRmVlSW5kXG4gICAgICAgICAgICAgIGNhbmNlbEZlZUluZFxuICAgICAgICAgICAgICByZWZ1bmRhYmxlSW5kXG4gICAgICAgICAgICB9XG4gICAgICAgICAgfVxuICAgICAgICAgIGJhZ2dhZ2VBbGxvd2FuY2Uge1xuICAgICAgICAgICAgdHlwZVxuICAgICAgICAgICAgcXR5XG4gICAgICAgICAgICBtYXhLR1xuICAgICAgICAgICAgbWF4TEJTXG4gICAgICAgICAgfVxuICAgICAgICAgIGFkZGl0aW9uYWxcbiAgICAgICAgICBzb3VyY2VcbiAgICAgICAgICBzb3VyY2VJZFxuICAgICAgICAgIHZlcnNpb25cbiAgICAgICAgICB0bWNQcmVmZXJyZWRcbiAgICAgICAgICBjb21wYW55UHJlZmVycmVkXG4gICAgICAgICAgb2ZmaWNlUHJlZmVycmVkXG4gICAgICAgICAgdG1jUHJlZmVycmVkTWVzc2FnZVxuICAgICAgICAgIGNvbXBhbnlQcmVmZXJyZWRNZXNzYWdlXG4gICAgICAgICAgb2ZmaWNlUHJlZmVycmVkTWVzc2FnZVxuICAgICAgICAgIHVuYXZhaWxhYmxlXG4gICAgICAgICAgdW5hdmFpbGFibGVNZXNzYWdlXG4gICAgICAgICAgY28yUGVySXRlbVxuICAgICAgICAgIGNvMlBlclBhc3NlbmdlclxuICAgICAgICB9XG4gICAgICAgIG1pblByaWNlXG4gICAgICAgIG1heFByaWNlXG4gICAgICB9XG4gICAgICBncm91cGVkIHtcbiAgICAgICAgcmVmZXJlbmNlSURcbiAgICAgICAgZmxpZ2h0SURcbiAgICAgICAgYm91bmRJbmRpY2F0b3JcbiAgICAgICAgbWluUHJpY2VcbiAgICAgICAgbWF4UHJpY2VcbiAgICAgICAgZmxpZ2h0cyB7XG4gICAgICAgICAgTGl0ZUVjb25vbXlcbiAgICAgICAgICBFY29ub215UmVzdHJpY3RlZFxuICAgICAgICAgIEVjb25vbXlOb0JhZ3NcbiAgICAgICAgICBFY29ub215XG4gICAgICAgICAgUHJlbWl1bUVjb25vbXlcbiAgICAgICAgICBCdXNpbmVzc1xuICAgICAgICAgIFByZW1pdW1CdXNpbmVzc1xuICAgICAgICAgIEZpcnN0XG4gICAgICAgICAgUHJlbWl1bUZpcnN0XG4gICAgICAgIH1cbiAgICAgIH1cbiAgICB9XG4gICAgZXJyb3JzIHtcbiAgICAgIC4uLkVycm9yc1xuICAgIH1cbiAgfVxufVxuICAgICR7RXJyb3JzRnJhZ21lbnREb2N9YDtcblxuICBASW5qZWN0YWJsZSh7XG4gICAgcHJvdmlkZWRJbjogJ3Jvb3QnXG4gIH0pXG4gIGV4cG9ydCBjbGFzcyBTZWFyY2hFdXJvc3RhckdRTCBleHRlbmRzIEFwb2xsby5RdWVyeTxTZWFyY2hFdXJvc3RhclF1ZXJ5LCBTZWFyY2hFdXJvc3RhclF1ZXJ5VmFyaWFibGVzPiB7XG4gICAgZG9jdW1lbnQgPSBTZWFyY2hFdXJvc3RhckRvY3VtZW50O1xuICAgIFxuICAgIGNvbnN0cnVjdG9yKGFwb2xsbzogQXBvbGxvLkFwb2xsbykge1xuICAgICAgc3VwZXIoYXBvbGxvKTtcbiAgICB9XG4gIH1cbmV4cG9ydCBjb25zdCBTZWFyY2hIb3RlbENoYWluc0RvY3VtZW50ID0gZ3FsYFxuICAgIHF1ZXJ5IHNlYXJjaEhvdGVsQ2hhaW5zKCRxdWVyeTogU3RyaW5nISkge1xuICBzZWFyY2hIb3RlbENoYWlucyhxdWVyeTogJHF1ZXJ5KVxufVxuICAgIGA7XG5cbiAgQEluamVjdGFibGUoe1xuICAgIHByb3ZpZGVkSW46ICdyb290J1xuICB9KVxuICBleHBvcnQgY2xhc3MgU2VhcmNoSG90ZWxDaGFpbnNHUUwgZXh0ZW5kcyBBcG9sbG8uUXVlcnk8U2VhcmNoSG90ZWxDaGFpbnNRdWVyeSwgU2VhcmNoSG90ZWxDaGFpbnNRdWVyeVZhcmlhYmxlcz4ge1xuICAgIGRvY3VtZW50ID0gU2VhcmNoSG90ZWxDaGFpbnNEb2N1bWVudDtcbiAgICBcbiAgICBjb25zdHJ1Y3RvcihhcG9sbG86IEFwb2xsby5BcG9sbG8pIHtcbiAgICAgIHN1cGVyKGFwb2xsbyk7XG4gICAgfVxuICB9XG5leHBvcnQgY29uc3QgU2VhcmNoSXJsRG9jdW1lbnQgPSBncWxgXG4gICAgcXVlcnkgc2VhcmNoSVJMKCRzdXBwbGllcjogSVJMU3VwcGxpZXIhLCAkY291bnRyeUNvZGU6IFN0cmluZyEsICRqb3VybmV5VHlwZTogSVJMSm91cm5leVR5cGUhLCAkY2xhc3M6IElSTENsYXNzLCAkb3V0Ym91bmREZXBhcnR1cmVEYXRlVGltZTogRGF0ZVRpbWUhLCAkZGVwYXJ0dXJlTG9jYXRpb25JZDogSUQhLCAkYXJyaXZhbExvY2F0aW9uSWQ6IElEISwgJGFkdWx0czogSW50ISwgJGNoaWxkcmVuOiBJbnQsICRyZXR1cm5EZXBhcnR1cmVEYXRlVGltZTogRGF0ZVRpbWUpIHtcbiAgc2VhcmNoSVJMKHN1cHBsaWVyOiAkc3VwcGxpZXIsIGNvdW50cnlDb2RlOiAkY291bnRyeUNvZGUsIGpvdXJuZXlUeXBlOiAkam91cm5leVR5cGUsIGNsYXNzOiAkY2xhc3MsIG91dGJvdW5kRGVwYXJ0dXJlRGF0ZVRpbWU6ICRvdXRib3VuZERlcGFydHVyZURhdGVUaW1lLCBkZXBhcnR1cmVMb2NhdGlvbklkOiAkZGVwYXJ0dXJlTG9jYXRpb25JZCwgYXJyaXZhbExvY2F0aW9uSWQ6ICRhcnJpdmFsTG9jYXRpb25JZCwgYWR1bHRzOiAkYWR1bHRzLCBjaGlsZHJlbjogJGNoaWxkcmVuLCByZXR1cm5EZXBhcnR1cmVEYXRlVGltZTogJHJldHVybkRlcGFydHVyZURhdGVUaW1lKSB7XG4gICAgcmVzdWx0cyB7XG4gICAgICBzb3VyY2VcbiAgICAgIHNvdXJjZUlkXG4gICAgICBvdXRib3VuZCB7XG4gICAgICAgIGlkZW50aWZpZXJzIHtcbiAgICAgICAgICB0cmFuc2FjdGlvbklkZW50aWZpZXJcbiAgICAgICAgICBzaWduYXR1cmVcbiAgICAgICAgICBqb3VybmV5SWRlbnRpZmllclxuICAgICAgICAgIHByb3ZpZGVyXG4gICAgICAgICAgZmFyZUlkZW50aWZpZXJcbiAgICAgICAgICBkaXJlY3Rpb25cbiAgICAgICAgICBzaW5nbGVPclJldHVyblxuICAgICAgICAgIGJvb2tpbmdSZWZcbiAgICAgICAgfVxuICAgICAgICB0cmF2ZWxsZXJzIHtcbiAgICAgICAgICBzdGF0dXNcbiAgICAgICAgICBpZFxuICAgICAgICAgIGRvYlxuICAgICAgICAgIHJhaWxjYXJkXG4gICAgICAgICAgZ2l2ZW5OYW1lXG4gICAgICAgICAgc3VybmFtZVxuICAgICAgICAgIG5hbWVUaXRsZVxuICAgICAgICAgIGNvbnRhY3RJbmZvXG4gICAgICAgICAgZGVsaXZlcnlFbWFpbEFkZHJlc3NcbiAgICAgICAgICBmYXJlXG4gICAgICAgIH1cbiAgICAgICAgZnJvbVxuICAgICAgICBmcm9tQ29kZVxuICAgICAgICB0b1xuICAgICAgICB0b0NvZGVcbiAgICAgICAgZGVwYXJ0RGF0ZVRpbWVcbiAgICAgICAgYXJyaXZlRGF0ZVRpbWVcbiAgICAgICAgY2hhbmdlc1xuICAgICAgICBzZWdtZW50cyB7XG4gICAgICAgICAgaWRcbiAgICAgICAgICBvcGVyYXRvclxuICAgICAgICAgIGRlcGFydFxuICAgICAgICAgIGRlcGFydERhdGVUaW1lXG4gICAgICAgICAgYXJyaXZlXG4gICAgICAgICAgYXJyaXZlRGF0ZVRpbWVcbiAgICAgICAgICByZXNlcnZhYmxlU3RhdHVzXG4gICAgICAgICAgc2VhdFByZWZlcmVuY2VUeXBlcyB7XG4gICAgICAgICAgICBuYW1lXG4gICAgICAgICAgICBhbGxvd2VkVmFsdWVzXG4gICAgICAgICAgfVxuICAgICAgICAgIHNlYXRQcmVmZXJlbmNlR3JvdXBcbiAgICAgICAgICBzZWF0cyB7XG4gICAgICAgICAgICBsb2NhdGlvblxuICAgICAgICAgICAgY29hY2hcbiAgICAgICAgICAgIG51bWJlclxuICAgICAgICAgICAgZGlyZWN0aW9uXG4gICAgICAgICAgICBwb3NpdGlvblxuICAgICAgICAgICAgZGVja1xuICAgICAgICAgICAgc2VhdFR5cGVcbiAgICAgICAgICAgIHNlYXRTZWxlY3Rpb25cbiAgICAgICAgICAgIGZhY2lsaXRpZXNcbiAgICAgICAgICAgIG5vdGVcbiAgICAgICAgICB9XG4gICAgICAgIH1cbiAgICAgICAgcHJvdmlkZXJzIHtcbiAgICAgICAgICBwcm92aWRlcklkXG4gICAgICAgICAgbmFtZVxuICAgICAgICAgIGNoZWFwZXN0VGlja2V0IHtcbiAgICAgICAgICAgIGlkZW50aWZpZXJzIHtcbiAgICAgICAgICAgICAgdHJhbnNhY3Rpb25JZGVudGlmaWVyXG4gICAgICAgICAgICAgIHNpZ25hdHVyZVxuICAgICAgICAgICAgICBqb3VybmV5SWRlbnRpZmllclxuICAgICAgICAgICAgICBwcm92aWRlclxuICAgICAgICAgICAgICBmYXJlSWRlbnRpZmllclxuICAgICAgICAgICAgICBkaXJlY3Rpb25cbiAgICAgICAgICAgICAgc2luZ2xlT3JSZXR1cm5cbiAgICAgICAgICAgICAgYm9va2luZ1JlZlxuICAgICAgICAgICAgfVxuICAgICAgICAgICAgdHlwZVxuICAgICAgICAgICAgY2xhc3NcbiAgICAgICAgICAgIHNpbmdsZU9yUmV0dXJuXG4gICAgICAgICAgICBwcmljZVxuICAgICAgICAgICAgcmVzZXJ2YWJsZVN0YXR1c1xuICAgICAgICAgICAgY3VycmVuY3lcbiAgICAgICAgICAgIHJvdXRlXG4gICAgICAgICAgICByb3V0ZUNvZGVcbiAgICAgICAgICAgIHRpY2tldHMge1xuICAgICAgICAgICAgICBwcmljZVxuICAgICAgICAgICAgICB0eXBlXG4gICAgICAgICAgICAgIHJvdXRlXG4gICAgICAgICAgICAgIHNlZ21lbnRzIHtcbiAgICAgICAgICAgICAgICBpZFxuICAgICAgICAgICAgICAgIG9wZXJhdG9yXG4gICAgICAgICAgICAgICAgZGVwYXJ0XG4gICAgICAgICAgICAgICAgZGVwYXJ0RGF0ZVRpbWVcbiAgICAgICAgICAgICAgICBhcnJpdmVcbiAgICAgICAgICAgICAgICBhcnJpdmVEYXRlVGltZVxuICAgICAgICAgICAgICAgIHJlc2VydmFibGVTdGF0dXNcbiAgICAgICAgICAgICAgICBzZWF0UHJlZmVyZW5jZVR5cGVzIHtcbiAgICAgICAgICAgICAgICAgIG5hbWVcbiAgICAgICAgICAgICAgICAgIGFsbG93ZWRWYWx1ZXNcbiAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICAgICAgc2VhdFByZWZlcmVuY2VHcm91cFxuICAgICAgICAgICAgICAgIHNlYXRzIHtcbiAgICAgICAgICAgICAgICAgIGxvY2F0aW9uXG4gICAgICAgICAgICAgICAgICBjb2FjaFxuICAgICAgICAgICAgICAgICAgbnVtYmVyXG4gICAgICAgICAgICAgICAgICBkaXJlY3Rpb25cbiAgICAgICAgICAgICAgICAgIHBvc2l0aW9uXG4gICAgICAgICAgICAgICAgICBkZWNrXG4gICAgICAgICAgICAgICAgICBzZWF0VHlwZVxuICAgICAgICAgICAgICAgICAgc2VhdFNlbGVjdGlvblxuICAgICAgICAgICAgICAgICAgZmFjaWxpdGllc1xuICAgICAgICAgICAgICAgICAgbm90ZVxuICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgICBudW1DaGlsZHJlblxuICAgICAgICAgICAgICBudW1BZHVsdHNcbiAgICAgICAgICAgIH1cbiAgICAgICAgICB9XG4gICAgICAgICAgdGlja2V0T3B0aW9ucyB7XG4gICAgICAgICAgICBpZGVudGlmaWVycyB7XG4gICAgICAgICAgICAgIHRyYW5zYWN0aW9uSWRlbnRpZmllclxuICAgICAgICAgICAgICBzaWduYXR1cmVcbiAgICAgICAgICAgICAgam91cm5leUlkZW50aWZpZXJcbiAgICAgICAgICAgICAgcHJvdmlkZXJcbiAgICAgICAgICAgICAgZmFyZUlkZW50aWZpZXJcbiAgICAgICAgICAgICAgZGlyZWN0aW9uXG4gICAgICAgICAgICAgIHNpbmdsZU9yUmV0dXJuXG4gICAgICAgICAgICAgIGJvb2tpbmdSZWZcbiAgICAgICAgICAgIH1cbiAgICAgICAgICAgIHR5cGVcbiAgICAgICAgICAgIGNsYXNzXG4gICAgICAgICAgICBzaW5nbGVPclJldHVyblxuICAgICAgICAgICAgcHJpY2VcbiAgICAgICAgICAgIHJlc2VydmFibGVTdGF0dXNcbiAgICAgICAgICAgIGN1cnJlbmN5XG4gICAgICAgICAgICByb3V0ZVxuICAgICAgICAgICAgcm91dGVDb2RlXG4gICAgICAgICAgICB0aWNrZXRzIHtcbiAgICAgICAgICAgICAgcHJpY2VcbiAgICAgICAgICAgICAgdHlwZVxuICAgICAgICAgICAgICByb3V0ZVxuICAgICAgICAgICAgICBzZWdtZW50cyB7XG4gICAgICAgICAgICAgICAgaWRcbiAgICAgICAgICAgICAgICBvcGVyYXRvclxuICAgICAgICAgICAgICAgIGRlcGFydFxuICAgICAgICAgICAgICAgIGRlcGFydERhdGVUaW1lXG4gICAgICAgICAgICAgICAgYXJyaXZlXG4gICAgICAgICAgICAgICAgYXJyaXZlRGF0ZVRpbWVcbiAgICAgICAgICAgICAgICByZXNlcnZhYmxlU3RhdHVzXG4gICAgICAgICAgICAgICAgc2VhdFByZWZlcmVuY2VUeXBlcyB7XG4gICAgICAgICAgICAgICAgICBuYW1lXG4gICAgICAgICAgICAgICAgICBhbGxvd2VkVmFsdWVzXG4gICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgICAgIHNlYXRQcmVmZXJlbmNlR3JvdXBcbiAgICAgICAgICAgICAgICBzZWF0cyB7XG4gICAgICAgICAgICAgICAgICBsb2NhdGlvblxuICAgICAgICAgICAgICAgICAgY29hY2hcbiAgICAgICAgICAgICAgICAgIG51bWJlclxuICAgICAgICAgICAgICAgICAgZGlyZWN0aW9uXG4gICAgICAgICAgICAgICAgICBwb3NpdGlvblxuICAgICAgICAgICAgICAgICAgZGVja1xuICAgICAgICAgICAgICAgICAgc2VhdFR5cGVcbiAgICAgICAgICAgICAgICAgIHNlYXRTZWxlY3Rpb25cbiAgICAgICAgICAgICAgICAgIGZhY2lsaXRpZXNcbiAgICAgICAgICAgICAgICAgIG5vdGVcbiAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICAgIH1cbiAgICAgICAgICAgICAgbnVtQ2hpbGRyZW5cbiAgICAgICAgICAgICAgbnVtQWR1bHRzXG4gICAgICAgICAgICB9XG4gICAgICAgICAgfVxuICAgICAgICAgIGJvb2tlZFRpY2tldCB7XG4gICAgICAgICAgICBpZGVudGlmaWVycyB7XG4gICAgICAgICAgICAgIHRyYW5zYWN0aW9uSWRlbnRpZmllclxuICAgICAgICAgICAgICBzaWduYXR1cmVcbiAgICAgICAgICAgICAgam91cm5leUlkZW50aWZpZXJcbiAgICAgICAgICAgICAgcHJvdmlkZXJcbiAgICAgICAgICAgICAgZmFyZUlkZW50aWZpZXJcbiAgICAgICAgICAgICAgZGlyZWN0aW9uXG4gICAgICAgICAgICAgIHNpbmdsZU9yUmV0dXJuXG4gICAgICAgICAgICAgIGJvb2tpbmdSZWZcbiAgICAgICAgICAgIH1cbiAgICAgICAgICAgIHR5cGVcbiAgICAgICAgICAgIGNsYXNzXG4gICAgICAgICAgICBzaW5nbGVPclJldHVyblxuICAgICAgICAgICAgcHJpY2VcbiAgICAgICAgICAgIHJlc2VydmFibGVTdGF0dXNcbiAgICAgICAgICAgIGN1cnJlbmN5XG4gICAgICAgICAgICByb3V0ZVxuICAgICAgICAgICAgcm91dGVDb2RlXG4gICAgICAgICAgICB0aWNrZXRzIHtcbiAgICAgICAgICAgICAgcHJpY2VcbiAgICAgICAgICAgICAgdHlwZVxuICAgICAgICAgICAgICByb3V0ZVxuICAgICAgICAgICAgICBzZWdtZW50cyB7XG4gICAgICAgICAgICAgICAgaWRcbiAgICAgICAgICAgICAgICBvcGVyYXRvclxuICAgICAgICAgICAgICAgIGRlcGFydFxuICAgICAgICAgICAgICAgIGRlcGFydERhdGVUaW1lXG4gICAgICAgICAgICAgICAgYXJyaXZlXG4gICAgICAgICAgICAgICAgYXJyaXZlRGF0ZVRpbWVcbiAgICAgICAgICAgICAgICByZXNlcnZhYmxlU3RhdHVzXG4gICAgICAgICAgICAgICAgc2VhdFByZWZlcmVuY2VUeXBlcyB7XG4gICAgICAgICAgICAgICAgICBuYW1lXG4gICAgICAgICAgICAgICAgICBhbGxvd2VkVmFsdWVzXG4gICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgICAgIHNlYXRQcmVmZXJlbmNlR3JvdXBcbiAgICAgICAgICAgICAgICBzZWF0cyB7XG4gICAgICAgICAgICAgICAgICBsb2NhdGlvblxuICAgICAgICAgICAgICAgICAgY29hY2hcbiAgICAgICAgICAgICAgICAgIG51bWJlclxuICAgICAgICAgICAgICAgICAgZGlyZWN0aW9uXG4gICAgICAgICAgICAgICAgICBwb3NpdGlvblxuICAgICAgICAgICAgICAgICAgZGVja1xuICAgICAgICAgICAgICAgICAgc2VhdFR5cGVcbiAgICAgICAgICAgICAgICAgIHNlYXRTZWxlY3Rpb25cbiAgICAgICAgICAgICAgICAgIGZhY2lsaXRpZXNcbiAgICAgICAgICAgICAgICAgIG5vdGVcbiAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICAgIH1cbiAgICAgICAgICAgICAgbnVtQ2hpbGRyZW5cbiAgICAgICAgICAgICAgbnVtQWR1bHRzXG4gICAgICAgICAgICB9XG4gICAgICAgICAgfVxuICAgICAgICB9XG4gICAgICAgIHVuc2VsbGFibGVcbiAgICAgICAgdGlja2V0RXh0cmFzIHtcbiAgICAgICAgICBpZGVudGlmaWVycyB7XG4gICAgICAgICAgICB0eXBlXG4gICAgICAgICAgICBsb2NhdGlvblxuICAgICAgICAgICAgZGF0ZVxuICAgICAgICAgICAgam91cm5leUlkXG4gICAgICAgICAgICBpc09yaWdpblxuICAgICAgICAgIH1cbiAgICAgICAgICB0eXBlXG4gICAgICAgICAgbG9jYXRpb25cbiAgICAgICAgICBkYXRlXG4gICAgICAgICAgZGVzY3JpcHRpb25cbiAgICAgICAgICBhbW91bnRcbiAgICAgICAgICBhZHVsdEFtb3VudFxuICAgICAgICAgIGNoaWxkQW1vdW50XG4gICAgICAgICAgY3VycmVuY3lcbiAgICAgICAgfVxuICAgICAgICBwbHVzQnVzIHtcbiAgICAgICAgICBvcmlnaW5QbHVzQnVzTkxDXG4gICAgICAgICAgb3JpZ2luU3RhdGlvbk5MQ1xuICAgICAgICAgIGRlc3RpbmF0aW9uUGx1c0J1c05MQ1xuICAgICAgICAgIGRlc3RpbmF0aW9uU3RhdGlvbk5MQ1xuICAgICAgICB9XG4gICAgICB9XG4gICAgICByZXR1cm4ge1xuICAgICAgICBpZGVudGlmaWVycyB7XG4gICAgICAgICAgdHJhbnNhY3Rpb25JZGVudGlmaWVyXG4gICAgICAgICAgc2lnbmF0dXJlXG4gICAgICAgICAgam91cm5leUlkZW50aWZpZXJcbiAgICAgICAgICBwcm92aWRlclxuICAgICAgICAgIGZhcmVJZGVudGlmaWVyXG4gICAgICAgICAgZGlyZWN0aW9uXG4gICAgICAgICAgc2luZ2xlT3JSZXR1cm5cbiAgICAgICAgICBib29raW5nUmVmXG4gICAgICAgIH1cbiAgICAgICAgdHJhdmVsbGVycyB7XG4gICAgICAgICAgc3RhdHVzXG4gICAgICAgICAgaWRcbiAgICAgICAgICBkb2JcbiAgICAgICAgICByYWlsY2FyZFxuICAgICAgICAgIGdpdmVuTmFtZVxuICAgICAgICAgIHN1cm5hbWVcbiAgICAgICAgICBuYW1lVGl0bGVcbiAgICAgICAgICBjb250YWN0SW5mb1xuICAgICAgICAgIGRlbGl2ZXJ5RW1haWxBZGRyZXNzXG4gICAgICAgICAgZmFyZVxuICAgICAgICB9XG4gICAgICAgIGZyb21cbiAgICAgICAgZnJvbUNvZGVcbiAgICAgICAgdG9cbiAgICAgICAgdG9Db2RlXG4gICAgICAgIGRlcGFydERhdGVUaW1lXG4gICAgICAgIGFycml2ZURhdGVUaW1lXG4gICAgICAgIGNoYW5nZXNcbiAgICAgICAgc2VnbWVudHMge1xuICAgICAgICAgIGlkXG4gICAgICAgICAgb3BlcmF0b3JcbiAgICAgICAgICBkZXBhcnRcbiAgICAgICAgICBkZXBhcnREYXRlVGltZVxuICAgICAgICAgIGFycml2ZVxuICAgICAgICAgIGFycml2ZURhdGVUaW1lXG4gICAgICAgICAgcmVzZXJ2YWJsZVN0YXR1c1xuICAgICAgICAgIHNlYXRQcmVmZXJlbmNlVHlwZXMge1xuICAgICAgICAgICAgbmFtZVxuICAgICAgICAgICAgYWxsb3dlZFZhbHVlc1xuICAgICAgICAgIH1cbiAgICAgICAgICBzZWF0UHJlZmVyZW5jZUdyb3VwXG4gICAgICAgICAgc2VhdHMge1xuICAgICAgICAgICAgbG9jYXRpb25cbiAgICAgICAgICAgIGNvYWNoXG4gICAgICAgICAgICBudW1iZXJcbiAgICAgICAgICAgIGRpcmVjdGlvblxuICAgICAgICAgICAgcG9zaXRpb25cbiAgICAgICAgICAgIGRlY2tcbiAgICAgICAgICAgIHNlYXRUeXBlXG4gICAgICAgICAgICBzZWF0U2VsZWN0aW9uXG4gICAgICAgICAgICBmYWNpbGl0aWVzXG4gICAgICAgICAgICBub3RlXG4gICAgICAgICAgfVxuICAgICAgICB9XG4gICAgICAgIHByb3ZpZGVycyB7XG4gICAgICAgICAgcHJvdmlkZXJJZFxuICAgICAgICAgIG5hbWVcbiAgICAgICAgICBjaGVhcGVzdFRpY2tldCB7XG4gICAgICAgICAgICBpZGVudGlmaWVycyB7XG4gICAgICAgICAgICAgIHRyYW5zYWN0aW9uSWRlbnRpZmllclxuICAgICAgICAgICAgICBzaWduYXR1cmVcbiAgICAgICAgICAgICAgam91cm5leUlkZW50aWZpZXJcbiAgICAgICAgICAgICAgcHJvdmlkZXJcbiAgICAgICAgICAgICAgZmFyZUlkZW50aWZpZXJcbiAgICAgICAgICAgICAgZGlyZWN0aW9uXG4gICAgICAgICAgICAgIHNpbmdsZU9yUmV0dXJuXG4gICAgICAgICAgICAgIGJvb2tpbmdSZWZcbiAgICAgICAgICAgIH1cbiAgICAgICAgICAgIHR5cGVcbiAgICAgICAgICAgIGNsYXNzXG4gICAgICAgICAgICBzaW5nbGVPclJldHVyblxuICAgICAgICAgICAgcHJpY2VcbiAgICAgICAgICAgIHJlc2VydmFibGVTdGF0dXNcbiAgICAgICAgICAgIGN1cnJlbmN5XG4gICAgICAgICAgICByb3V0ZVxuICAgICAgICAgICAgcm91dGVDb2RlXG4gICAgICAgICAgICB0aWNrZXRzIHtcbiAgICAgICAgICAgICAgcHJpY2VcbiAgICAgICAgICAgICAgdHlwZVxuICAgICAgICAgICAgICByb3V0ZVxuICAgICAgICAgICAgICBzZWdtZW50cyB7XG4gICAgICAgICAgICAgICAgaWRcbiAgICAgICAgICAgICAgICBvcGVyYXRvclxuICAgICAgICAgICAgICAgIGRlcGFydFxuICAgICAgICAgICAgICAgIGRlcGFydERhdGVUaW1lXG4gICAgICAgICAgICAgICAgYXJyaXZlXG4gICAgICAgICAgICAgICAgYXJyaXZlRGF0ZVRpbWVcbiAgICAgICAgICAgICAgICByZXNlcnZhYmxlU3RhdHVzXG4gICAgICAgICAgICAgICAgc2VhdFByZWZlcmVuY2VUeXBlcyB7XG4gICAgICAgICAgICAgICAgICBuYW1lXG4gICAgICAgICAgICAgICAgICBhbGxvd2VkVmFsdWVzXG4gICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgICAgIHNlYXRQcmVmZXJlbmNlR3JvdXBcbiAgICAgICAgICAgICAgICBzZWF0cyB7XG4gICAgICAgICAgICAgICAgICBsb2NhdGlvblxuICAgICAgICAgICAgICAgICAgY29hY2hcbiAgICAgICAgICAgICAgICAgIG51bWJlclxuICAgICAgICAgICAgICAgICAgZGlyZWN0aW9uXG4gICAgICAgICAgICAgICAgICBwb3NpdGlvblxuICAgICAgICAgICAgICAgICAgZGVja1xuICAgICAgICAgICAgICAgICAgc2VhdFR5cGVcbiAgICAgICAgICAgICAgICAgIHNlYXRTZWxlY3Rpb25cbiAgICAgICAgICAgICAgICAgIGZhY2lsaXRpZXNcbiAgICAgICAgICAgICAgICAgIG5vdGVcbiAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICAgIH1cbiAgICAgICAgICAgICAgbnVtQ2hpbGRyZW5cbiAgICAgICAgICAgICAgbnVtQWR1bHRzXG4gICAgICAgICAgICB9XG4gICAgICAgICAgfVxuICAgICAgICAgIHRpY2tldE9wdGlvbnMge1xuICAgICAgICAgICAgaWRlbnRpZmllcnMge1xuICAgICAgICAgICAgICB0cmFuc2FjdGlvbklkZW50aWZpZXJcbiAgICAgICAgICAgICAgc2lnbmF0dXJlXG4gICAgICAgICAgICAgIGpvdXJuZXlJZGVudGlmaWVyXG4gICAgICAgICAgICAgIHByb3ZpZGVyXG4gICAgICAgICAgICAgIGZhcmVJZGVudGlmaWVyXG4gICAgICAgICAgICAgIGRpcmVjdGlvblxuICAgICAgICAgICAgICBzaW5nbGVPclJldHVyblxuICAgICAgICAgICAgICBib29raW5nUmVmXG4gICAgICAgICAgICB9XG4gICAgICAgICAgICB0eXBlXG4gICAgICAgICAgICBjbGFzc1xuICAgICAgICAgICAgc2luZ2xlT3JSZXR1cm5cbiAgICAgICAgICAgIHByaWNlXG4gICAgICAgICAgICByZXNlcnZhYmxlU3RhdHVzXG4gICAgICAgICAgICBjdXJyZW5jeVxuICAgICAgICAgICAgcm91dGVcbiAgICAgICAgICAgIHJvdXRlQ29kZVxuICAgICAgICAgICAgdGlja2V0cyB7XG4gICAgICAgICAgICAgIHByaWNlXG4gICAgICAgICAgICAgIHR5cGVcbiAgICAgICAgICAgICAgcm91dGVcbiAgICAgICAgICAgICAgc2VnbWVudHMge1xuICAgICAgICAgICAgICAgIGlkXG4gICAgICAgICAgICAgICAgb3BlcmF0b3JcbiAgICAgICAgICAgICAgICBkZXBhcnRcbiAgICAgICAgICAgICAgICBkZXBhcnREYXRlVGltZVxuICAgICAgICAgICAgICAgIGFycml2ZVxuICAgICAgICAgICAgICAgIGFycml2ZURhdGVUaW1lXG4gICAgICAgICAgICAgICAgcmVzZXJ2YWJsZVN0YXR1c1xuICAgICAgICAgICAgICAgIHNlYXRQcmVmZXJlbmNlVHlwZXMge1xuICAgICAgICAgICAgICAgICAgbmFtZVxuICAgICAgICAgICAgICAgICAgYWxsb3dlZFZhbHVlc1xuICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgICAgICBzZWF0UHJlZmVyZW5jZUdyb3VwXG4gICAgICAgICAgICAgICAgc2VhdHMge1xuICAgICAgICAgICAgICAgICAgbG9jYXRpb25cbiAgICAgICAgICAgICAgICAgIGNvYWNoXG4gICAgICAgICAgICAgICAgICBudW1iZXJcbiAgICAgICAgICAgICAgICAgIGRpcmVjdGlvblxuICAgICAgICAgICAgICAgICAgcG9zaXRpb25cbiAgICAgICAgICAgICAgICAgIGRlY2tcbiAgICAgICAgICAgICAgICAgIHNlYXRUeXBlXG4gICAgICAgICAgICAgICAgICBzZWF0U2VsZWN0aW9uXG4gICAgICAgICAgICAgICAgICBmYWNpbGl0aWVzXG4gICAgICAgICAgICAgICAgICBub3RlXG4gICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgICB9XG4gICAgICAgICAgICAgIG51bUNoaWxkcmVuXG4gICAgICAgICAgICAgIG51bUFkdWx0c1xuICAgICAgICAgICAgfVxuICAgICAgICAgIH1cbiAgICAgICAgICBib29rZWRUaWNrZXQge1xuICAgICAgICAgICAgaWRlbnRpZmllcnMge1xuICAgICAgICAgICAgICB0cmFuc2FjdGlvbklkZW50aWZpZXJcbiAgICAgICAgICAgICAgc2lnbmF0dXJlXG4gICAgICAgICAgICAgIGpvdXJuZXlJZGVudGlmaWVyXG4gICAgICAgICAgICAgIHByb3ZpZGVyXG4gICAgICAgICAgICAgIGZhcmVJZGVudGlmaWVyXG4gICAgICAgICAgICAgIGRpcmVjdGlvblxuICAgICAgICAgICAgICBzaW5nbGVPclJldHVyblxuICAgICAgICAgICAgICBib29raW5nUmVmXG4gICAgICAgICAgICB9XG4gICAgICAgICAgICB0eXBlXG4gICAgICAgICAgICBjbGFzc1xuICAgICAgICAgICAgc2luZ2xlT3JSZXR1cm5cbiAgICAgICAgICAgIHByaWNlXG4gICAgICAgICAgICByZXNlcnZhYmxlU3RhdHVzXG4gICAgICAgICAgICBjdXJyZW5jeVxuICAgICAgICAgICAgcm91dGVcbiAgICAgICAgICAgIHJvdXRlQ29kZVxuICAgICAgICAgICAgdGlja2V0cyB7XG4gICAgICAgICAgICAgIHByaWNlXG4gICAgICAgICAgICAgIHR5cGVcbiAgICAgICAgICAgICAgcm91dGVcbiAgICAgICAgICAgICAgc2VnbWVudHMge1xuICAgICAgICAgICAgICAgIGlkXG4gICAgICAgICAgICAgICAgb3BlcmF0b3JcbiAgICAgICAgICAgICAgICBkZXBhcnRcbiAgICAgICAgICAgICAgICBkZXBhcnREYXRlVGltZVxuICAgICAgICAgICAgICAgIGFycml2ZVxuICAgICAgICAgICAgICAgIGFycml2ZURhdGVUaW1lXG4gICAgICAgICAgICAgICAgcmVzZXJ2YWJsZVN0YXR1c1xuICAgICAgICAgICAgICAgIHNlYXRQcmVmZXJlbmNlVHlwZXMge1xuICAgICAgICAgICAgICAgICAgbmFtZVxuICAgICAgICAgICAgICAgICAgYWxsb3dlZFZhbHVlc1xuICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgICAgICBzZWF0UHJlZmVyZW5jZUdyb3VwXG4gICAgICAgICAgICAgICAgc2VhdHMge1xuICAgICAgICAgICAgICAgICAgbG9jYXRpb25cbiAgICAgICAgICAgICAgICAgIGNvYWNoXG4gICAgICAgICAgICAgICAgICBudW1iZXJcbiAgICAgICAgICAgICAgICAgIGRpcmVjdGlvblxuICAgICAgICAgICAgICAgICAgcG9zaXRpb25cbiAgICAgICAgICAgICAgICAgIGRlY2tcbiAgICAgICAgICAgICAgICAgIHNlYXRUeXBlXG4gICAgICAgICAgICAgICAgICBzZWF0U2VsZWN0aW9uXG4gICAgICAgICAgICAgICAgICBmYWNpbGl0aWVzXG4gICAgICAgICAgICAgICAgICBub3RlXG4gICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgICB9XG4gICAgICAgICAgICAgIG51bUNoaWxkcmVuXG4gICAgICAgICAgICAgIG51bUFkdWx0c1xuICAgICAgICAgICAgfVxuICAgICAgICAgIH1cbiAgICAgICAgfVxuICAgICAgICB1bnNlbGxhYmxlXG4gICAgICAgIHRpY2tldEV4dHJhcyB7XG4gICAgICAgICAgaWRlbnRpZmllcnMge1xuICAgICAgICAgICAgdHlwZVxuICAgICAgICAgICAgbG9jYXRpb25cbiAgICAgICAgICAgIGRhdGVcbiAgICAgICAgICAgIGpvdXJuZXlJZFxuICAgICAgICAgICAgaXNPcmlnaW5cbiAgICAgICAgICB9XG4gICAgICAgICAgdHlwZVxuICAgICAgICAgIGxvY2F0aW9uXG4gICAgICAgICAgZGF0ZVxuICAgICAgICAgIGRlc2NyaXB0aW9uXG4gICAgICAgICAgYW1vdW50XG4gICAgICAgICAgYWR1bHRBbW91bnRcbiAgICAgICAgICBjaGlsZEFtb3VudFxuICAgICAgICAgIGN1cnJlbmN5XG4gICAgICAgIH1cbiAgICAgICAgcGx1c0J1cyB7XG4gICAgICAgICAgb3JpZ2luUGx1c0J1c05MQ1xuICAgICAgICAgIG9yaWdpblN0YXRpb25OTENcbiAgICAgICAgICBkZXN0aW5hdGlvblBsdXNCdXNOTENcbiAgICAgICAgICBkZXN0aW5hdGlvblN0YXRpb25OTENcbiAgICAgICAgfVxuICAgICAgfVxuICAgIH1cbiAgICBlcnJvcnMge1xuICAgICAgLi4uRXJyb3JzXG4gICAgfVxuICB9XG59XG4gICAgJHtFcnJvcnNGcmFnbWVudERvY31gO1xuXG4gIEBJbmplY3RhYmxlKHtcbiAgICBwcm92aWRlZEluOiAncm9vdCdcbiAgfSlcbiAgZXhwb3J0IGNsYXNzIFNlYXJjaElybEdRTCBleHRlbmRzIEFwb2xsby5RdWVyeTxTZWFyY2hJcmxRdWVyeSwgU2VhcmNoSXJsUXVlcnlWYXJpYWJsZXM+IHtcbiAgICBkb2N1bWVudCA9IFNlYXJjaElybERvY3VtZW50O1xuICAgIFxuICAgIGNvbnN0cnVjdG9yKGFwb2xsbzogQXBvbGxvLkFwb2xsbykge1xuICAgICAgc3VwZXIoYXBvbGxvKTtcbiAgICB9XG4gIH1cbmV4cG9ydCBjb25zdCBTZWFyY2hQb3N0Y29kZXNEb2N1bWVudCA9IGdxbGBcbiAgICBxdWVyeSBzZWFyY2hQb3N0Y29kZXMoJHBvc3Rjb2RlOiBTdHJpbmchKSB7XG4gIGdldFBvc3Rjb2RlRGV0YWlscyhwb3N0Y29kZTogJHBvc3Rjb2RlKSB7XG4gICAgcG9zdGNvZGVcbiAgICBsYXRpdHVkZVxuICAgIGxvbmdpdHVkZVxuICB9XG59XG4gICAgYDtcblxuICBASW5qZWN0YWJsZSh7XG4gICAgcHJvdmlkZWRJbjogJ3Jvb3QnXG4gIH0pXG4gIGV4cG9ydCBjbGFzcyBTZWFyY2hQb3N0Y29kZXNHUUwgZXh0ZW5kcyBBcG9sbG8uUXVlcnk8U2VhcmNoUG9zdGNvZGVzUXVlcnksIFNlYXJjaFBvc3Rjb2Rlc1F1ZXJ5VmFyaWFibGVzPiB7XG4gICAgZG9jdW1lbnQgPSBTZWFyY2hQb3N0Y29kZXNEb2N1bWVudDtcbiAgICBcbiAgICBjb25zdHJ1Y3RvcihhcG9sbG86IEFwb2xsby5BcG9sbG8pIHtcbiAgICAgIHN1cGVyKGFwb2xsbyk7XG4gICAgfVxuICB9XG5leHBvcnQgY29uc3QgU2VhcmNoUmFpbFN0YXRpb25zRG9jdW1lbnQgPSBncWxgXG4gICAgcXVlcnkgc2VhcmNoUmFpbFN0YXRpb25zKCRxdWVyeTogU3RyaW5nISwgJGNvdW50cnlDb2RlOiBTdHJpbmcpIHtcbiAgc2VhcmNoUmFpbFN0YXRpb25zKHF1ZXJ5OiAkcXVlcnksIGNvdW50cnlDb2RlOiAkY291bnRyeUNvZGUpIHtcbiAgICBpZFxuICAgIG5hbWVcbiAgICBzdGF0aW9uQ29kZVxuICAgIG5sY0NvZGVcbiAgICB0cmFpbmxpbmVDb2RlXG4gICAgdHJhaW5saW5lVW5pcXVlQ29kZVxuICAgIGxvY2F0aW9uRGV0YWlscyB7XG4gICAgICBjb250aW5lbnRcbiAgICAgIGNvdW50cnlcbiAgICAgIGNvdW50cnlDb2RlXG4gICAgICBzdGF0ZVxuICAgICAgY2l0eVxuICAgICAgY29vcmRpbmF0ZXMge1xuICAgICAgICBsYXRpdHVkZVxuICAgICAgICBsb25naXR1ZGVcbiAgICAgICAgYWx0aXR1ZGVcbiAgICAgIH1cbiAgICAgIHBvc3Rjb2RlXG4gICAgICByb2FkXG4gICAgICBncmlkUmVmZXJlbmNlXG4gICAgICBub3J0aGluZ1xuICAgICAgZWFzdGluZ1xuICAgIH1cbiAgfVxufVxuICAgIGA7XG5cbiAgQEluamVjdGFibGUoe1xuICAgIHByb3ZpZGVkSW46ICdyb290J1xuICB9KVxuICBleHBvcnQgY2xhc3MgU2VhcmNoUmFpbFN0YXRpb25zR1FMIGV4dGVuZHMgQXBvbGxvLlF1ZXJ5PFNlYXJjaFJhaWxTdGF0aW9uc1F1ZXJ5LCBTZWFyY2hSYWlsU3RhdGlvbnNRdWVyeVZhcmlhYmxlcz4ge1xuICAgIGRvY3VtZW50ID0gU2VhcmNoUmFpbFN0YXRpb25zRG9jdW1lbnQ7XG4gICAgXG4gICAgY29uc3RydWN0b3IoYXBvbGxvOiBBcG9sbG8uQXBvbGxvKSB7XG4gICAgICBzdXBlcihhcG9sbG8pO1xuICAgIH1cbiAgfVxuZXhwb3J0IGNvbnN0IFNlYXJjaFVzZXJBZGRyZXNzRG9jdW1lbnQgPSBncWxgXG4gICAgcXVlcnkgc2VhcmNoVXNlckFkZHJlc3Mge1xuICBnZXRVc2VyQWRkcmVzc2VzIHtcbiAgICBpZFxuICAgIGRlc2NyaXB0aW9uXG4gICAgbnVtYmVyT3JOYW1lXG4gICAgc3RyZWV0XG4gICAgdG93blxuICAgIGNvdW50eVxuICAgIHBvc3Rjb2RlXG4gICAgY291bnRyeUNvZGVcbiAgICB1c2VyUHJpbWFyeVxuICAgIG9mZmljZVByaW1hcnlcbiAgfVxufVxuICAgIGA7XG5cbiAgQEluamVjdGFibGUoe1xuICAgIHByb3ZpZGVkSW46ICdyb290J1xuICB9KVxuICBleHBvcnQgY2xhc3MgU2VhcmNoVXNlckFkZHJlc3NHUUwgZXh0ZW5kcyBBcG9sbG8uUXVlcnk8U2VhcmNoVXNlckFkZHJlc3NRdWVyeSwgU2VhcmNoVXNlckFkZHJlc3NRdWVyeVZhcmlhYmxlcz4ge1xuICAgIGRvY3VtZW50ID0gU2VhcmNoVXNlckFkZHJlc3NEb2N1bWVudDtcbiAgICBcbiAgICBjb25zdHJ1Y3RvcihhcG9sbG86IEFwb2xsby5BcG9sbG8pIHtcbiAgICAgIHN1cGVyKGFwb2xsbyk7XG4gICAgfVxuICB9XG5leHBvcnQgY29uc3QgU2V0QmFza2V0SXRlbU1pR3JvdXBEb2N1bWVudCA9IGdxbGBcbiAgICBtdXRhdGlvbiBzZXRCYXNrZXRJdGVtTUlHcm91cCgkYmFza2V0SXRlbTogSUQhLCAkZ3JvdXA6IFN0cmluZywgJHdpdGhTdXBwbGVtZW50YWw6IEJvb2xlYW4gPSBmYWxzZSkge1xuICBzZXRCYXNrZXRJdGVtTUlHcm91cChiYXNrZXRJdGVtOiAkYmFza2V0SXRlbSwgZ3JvdXA6ICRncm91cCkge1xuICAgIC4uLkJhc2tldEZpZWxkc1xuICB9XG59XG4gICAgJHtCYXNrZXRGaWVsZHNGcmFnbWVudERvY31gO1xuXG4gIEBJbmplY3RhYmxlKHtcbiAgICBwcm92aWRlZEluOiAncm9vdCdcbiAgfSlcbiAgZXhwb3J0IGNsYXNzIFNldEJhc2tldEl0ZW1NaUdyb3VwR1FMIGV4dGVuZHMgQXBvbGxvLk11dGF0aW9uPFNldEJhc2tldEl0ZW1NaUdyb3VwTXV0YXRpb24sIFNldEJhc2tldEl0ZW1NaUdyb3VwTXV0YXRpb25WYXJpYWJsZXM+IHtcbiAgICBkb2N1bWVudCA9IFNldEJhc2tldEl0ZW1NaUdyb3VwRG9jdW1lbnQ7XG4gICAgXG4gICAgY29uc3RydWN0b3IoYXBvbGxvOiBBcG9sbG8uQXBvbGxvKSB7XG4gICAgICBzdXBlcihhcG9sbG8pO1xuICAgIH1cbiAgfVxuZXhwb3J0IGNvbnN0IFNldEJhc2tldEl0ZW1MZWFkUGFzc2VuZ2VyRG9jdW1lbnQgPSBncWxgXG4gICAgbXV0YXRpb24gc2V0QmFza2V0SXRlbUxlYWRQYXNzZW5nZXIoJGlkOiBJRCEsICR1c2VyOiBJRCEsICR3aXRoU3VwcGxlbWVudGFsOiBCb29sZWFuISkge1xuICBzZXRCYXNrZXRJdGVtTGVhZFBhc3NlbmdlcihpZDogJGlkLCB1c2VyOiAkdXNlcikge1xuICAgIC4uLkJhc2tldEZpZWxkc1xuICB9XG59XG4gICAgJHtCYXNrZXRGaWVsZHNGcmFnbWVudERvY31gO1xuXG4gIEBJbmplY3RhYmxlKHtcbiAgICBwcm92aWRlZEluOiAncm9vdCdcbiAgfSlcbiAgZXhwb3J0IGNsYXNzIFNldEJhc2tldEl0ZW1MZWFkUGFzc2VuZ2VyR1FMIGV4dGVuZHMgQXBvbGxvLk11dGF0aW9uPFNldEJhc2tldEl0ZW1MZWFkUGFzc2VuZ2VyTXV0YXRpb24sIFNldEJhc2tldEl0ZW1MZWFkUGFzc2VuZ2VyTXV0YXRpb25WYXJpYWJsZXM+IHtcbiAgICBkb2N1bWVudCA9IFNldEJhc2tldEl0ZW1MZWFkUGFzc2VuZ2VyRG9jdW1lbnQ7XG4gICAgXG4gICAgY29uc3RydWN0b3IoYXBvbGxvOiBBcG9sbG8uQXBvbGxvKSB7XG4gICAgICBzdXBlcihhcG9sbG8pO1xuICAgIH1cbiAgfVxuZXhwb3J0IGNvbnN0IFNldEJhc2tldEl0ZW1NaVZhbHVlRG9jdW1lbnQgPSBncWxgXG4gICAgbXV0YXRpb24gc2V0QmFza2V0SXRlbU1JVmFsdWUoJG1pOiBJRCEsICRtaVZhbHVlOiBJRCwgJG1pRnJlZVZhbHVlOiBTdHJpbmcsICR1c2VyOiBJRCwgJHdpdGhTdXBwbGVtZW50YWw6IEJvb2xlYW4gPSBmYWxzZSkge1xuICBzZXRCYXNrZXRJdGVtTUlWYWx1ZShtaTogJG1pLCBtaVZhbHVlOiAkbWlWYWx1ZSwgbWlGcmVlVmFsdWU6ICRtaUZyZWVWYWx1ZSwgdXNlcjogJHVzZXIpIHtcbiAgICAuLi5CYXNrZXRGaWVsZHNcbiAgfVxufVxuICAgICR7QmFza2V0RmllbGRzRnJhZ21lbnREb2N9YDtcblxuICBASW5qZWN0YWJsZSh7XG4gICAgcHJvdmlkZWRJbjogJ3Jvb3QnXG4gIH0pXG4gIGV4cG9ydCBjbGFzcyBTZXRCYXNrZXRJdGVtTWlWYWx1ZUdRTCBleHRlbmRzIEFwb2xsby5NdXRhdGlvbjxTZXRCYXNrZXRJdGVtTWlWYWx1ZU11dGF0aW9uLCBTZXRCYXNrZXRJdGVtTWlWYWx1ZU11dGF0aW9uVmFyaWFibGVzPiB7XG4gICAgZG9jdW1lbnQgPSBTZXRCYXNrZXRJdGVtTWlWYWx1ZURvY3VtZW50O1xuICAgIFxuICAgIGNvbnN0cnVjdG9yKGFwb2xsbzogQXBvbGxvLkFwb2xsbykge1xuICAgICAgc3VwZXIoYXBvbGxvKTtcbiAgICB9XG4gIH1cbmV4cG9ydCBjb25zdCBTZXRCYXNrZXRJdGVtUGF5bWVudE1ldGhvZERvY3VtZW50ID0gZ3FsYFxuICAgIG11dGF0aW9uIHNldEJhc2tldEl0ZW1QYXltZW50TWV0aG9kKCRiYXNrZXRJdGVtOiBJRCEsICRwYXltZW50TWV0aG9kOiBJRCEsICR3aXRoU3VwcGxlbWVudGFsOiBCb29sZWFuID0gZmFsc2UpIHtcbiAgc2V0QmFza2V0SXRlbVBheW1lbnRNZXRob2QoYmFza2V0SXRlbTogJGJhc2tldEl0ZW0sIHBheW1lbnRNZXRob2Q6ICRwYXltZW50TWV0aG9kKSB7XG4gICAgLi4uQmFza2V0RmllbGRzXG4gIH1cbn1cbiAgICAke0Jhc2tldEZpZWxkc0ZyYWdtZW50RG9jfWA7XG5cbiAgQEluamVjdGFibGUoe1xuICAgIHByb3ZpZGVkSW46ICdyb290J1xuICB9KVxuICBleHBvcnQgY2xhc3MgU2V0QmFza2V0SXRlbVBheW1lbnRNZXRob2RHUUwgZXh0ZW5kcyBBcG9sbG8uTXV0YXRpb248U2V0QmFza2V0SXRlbVBheW1lbnRNZXRob2RNdXRhdGlvbiwgU2V0QmFza2V0SXRlbVBheW1lbnRNZXRob2RNdXRhdGlvblZhcmlhYmxlcz4ge1xuICAgIGRvY3VtZW50ID0gU2V0QmFza2V0SXRlbVBheW1lbnRNZXRob2REb2N1bWVudDtcbiAgICBcbiAgICBjb25zdHJ1Y3RvcihhcG9sbG86IEFwb2xsby5BcG9sbG8pIHtcbiAgICAgIHN1cGVyKGFwb2xsbyk7XG4gICAgfVxuICB9XG5leHBvcnQgY29uc3QgVXBkYXRlQmFza2V0Tm90ZXNEb2N1bWVudCA9IGdxbGBcbiAgICBtdXRhdGlvbiB1cGRhdGVCYXNrZXROb3RlcygkaWQ6IElELCAkcmVmZXJlbmNlOiBTdHJpbmcsICRub3RlczogU3RyaW5nISwgJHdpdGhTdXBwbGVtZW50YWw6IEJvb2xlYW4gPSBmYWxzZSkge1xuICB1cGRhdGVCYXNrZXROb3RlcyhpZDogJGlkLCByZWZlcmVuY2U6ICRyZWZlcmVuY2UsIG5vdGVzOiAkbm90ZXMpIHtcbiAgICAuLi5CYXNrZXRGaWVsZHNcbiAgfVxufVxuICAgICR7QmFza2V0RmllbGRzRnJhZ21lbnREb2N9YDtcblxuICBASW5qZWN0YWJsZSh7XG4gICAgcHJvdmlkZWRJbjogJ3Jvb3QnXG4gIH0pXG4gIGV4cG9ydCBjbGFzcyBVcGRhdGVCYXNrZXROb3Rlc0dRTCBleHRlbmRzIEFwb2xsby5NdXRhdGlvbjxVcGRhdGVCYXNrZXROb3Rlc011dGF0aW9uLCBVcGRhdGVCYXNrZXROb3Rlc011dGF0aW9uVmFyaWFibGVzPiB7XG4gICAgZG9jdW1lbnQgPSBVcGRhdGVCYXNrZXROb3Rlc0RvY3VtZW50O1xuICAgIFxuICAgIGNvbnN0cnVjdG9yKGFwb2xsbzogQXBvbGxvLkFwb2xsbykge1xuICAgICAgc3VwZXIoYXBvbGxvKTtcbiAgICB9XG4gIH1cbmV4cG9ydCBjb25zdCBVcGRhdGVCYXNrZXRUaXRsZURvY3VtZW50ID0gZ3FsYFxuICAgIG11dGF0aW9uIHVwZGF0ZUJhc2tldFRpdGxlKCRpZDogSUQsICRyZWZlcmVuY2U6IFN0cmluZywgJG5ld1RpdGxlOiBTdHJpbmchLCAkd2l0aFN1cHBsZW1lbnRhbDogQm9vbGVhbiA9IGZhbHNlKSB7XG4gIHVwZGF0ZUJhc2tldFRpdGxlKGlkOiAkaWQsIHJlZmVyZW5jZTogJHJlZmVyZW5jZSwgbmV3VGl0bGU6ICRuZXdUaXRsZSkge1xuICAgIC4uLkJhc2tldEZpZWxkc1xuICB9XG59XG4gICAgJHtCYXNrZXRGaWVsZHNGcmFnbWVudERvY31gO1xuXG4gIEBJbmplY3RhYmxlKHtcbiAgICBwcm92aWRlZEluOiAncm9vdCdcbiAgfSlcbiAgZXhwb3J0IGNsYXNzIFVwZGF0ZUJhc2tldFRpdGxlR1FMIGV4dGVuZHMgQXBvbGxvLk11dGF0aW9uPFVwZGF0ZUJhc2tldFRpdGxlTXV0YXRpb24sIFVwZGF0ZUJhc2tldFRpdGxlTXV0YXRpb25WYXJpYWJsZXM+IHtcbiAgICBkb2N1bWVudCA9IFVwZGF0ZUJhc2tldFRpdGxlRG9jdW1lbnQ7XG4gICAgXG4gICAgY29uc3RydWN0b3IoYXBvbGxvOiBBcG9sbG8uQXBvbGxvKSB7XG4gICAgICBzdXBlcihhcG9sbG8pO1xuICAgIH1cbiAgfVxuZXhwb3J0IGNvbnN0IEdldFVzZXJTZXJ2aWNlc0RvY3VtZW50ID0gZ3FsYFxuICAgIHF1ZXJ5IGdldFVzZXJTZXJ2aWNlcyB7XG4gIGdldFVzZXJTZXJ2aWNlcyB7XG4gICAgaWRcbiAgICBjYW5jZWxsYWJsZVxuICAgIGFtZW5kYWJsZVxuICAgIHR5cGVcbiAgICBuYW1lXG4gICAgZGVzY3JpcHRpb25cbiAgICBkZXRhaWxTY2hlbWFcbiAgICBzZWFyY2hRdWVyeVNjaGVtYVxuICB9XG59XG4gICAgYDtcblxuICBASW5qZWN0YWJsZSh7XG4gICAgcHJvdmlkZWRJbjogJ3Jvb3QnXG4gIH0pXG4gIGV4cG9ydCBjbGFzcyBHZXRVc2VyU2VydmljZXNHUUwgZXh0ZW5kcyBBcG9sbG8uUXVlcnk8R2V0VXNlclNlcnZpY2VzUXVlcnksIEdldFVzZXJTZXJ2aWNlc1F1ZXJ5VmFyaWFibGVzPiB7XG4gICAgZG9jdW1lbnQgPSBHZXRVc2VyU2VydmljZXNEb2N1bWVudDtcbiAgICBcbiAgICBjb25zdHJ1Y3RvcihhcG9sbG86IEFwb2xsby5BcG9sbG8pIHtcbiAgICAgIHN1cGVyKGFwb2xsbyk7XG4gICAgfVxuICB9XG5leHBvcnQgY29uc3QgR2V0VXNlclVpQ29uZmlnc0RvY3VtZW50ID0gZ3FsYFxuICAgIHF1ZXJ5IGdldFVzZXJVSUNvbmZpZ3Mge1xuICBnZXRVc2VyVUlDb25maWdzIHtcbiAgICBhbGwge1xuICAgICAgaWRcbiAgICAgIGNvbmZpZ1xuICAgICAga2V5XG4gICAgfVxuICB9XG59XG4gICAgYDtcblxuICBASW5qZWN0YWJsZSh7XG4gICAgcHJvdmlkZWRJbjogJ3Jvb3QnXG4gIH0pXG4gIGV4cG9ydCBjbGFzcyBHZXRVc2VyVWlDb25maWdzR1FMIGV4dGVuZHMgQXBvbGxvLlF1ZXJ5PEdldFVzZXJVaUNvbmZpZ3NRdWVyeSwgR2V0VXNlclVpQ29uZmlnc1F1ZXJ5VmFyaWFibGVzPiB7XG4gICAgZG9jdW1lbnQgPSBHZXRVc2VyVWlDb25maWdzRG9jdW1lbnQ7XG4gICAgXG4gICAgY29uc3RydWN0b3IoYXBvbGxvOiBBcG9sbG8uQXBvbGxvKSB7XG4gICAgICBzdXBlcihhcG9sbG8pO1xuICAgIH1cbiAgfVxuZXhwb3J0IGNvbnN0IEdldFVzZXJNZXNzYWdlc0RvY3VtZW50ID0gZ3FsYFxuICAgIHF1ZXJ5IGdldFVzZXJNZXNzYWdlcyB7XG4gIGdldFVzZXJNZXNzYWdlcyB7XG4gICAgaWRcbiAgICBuYW1lXG4gICAgZGVzY3JpcHRpb25cbiAgICBjb25maWdcbiAgICB0YXJnZXRcbiAgICBrZXlcbiAgfVxufVxuICAgIGA7XG5cbiAgQEluamVjdGFibGUoe1xuICAgIHByb3ZpZGVkSW46ICdyb290J1xuICB9KVxuICBleHBvcnQgY2xhc3MgR2V0VXNlck1lc3NhZ2VzR1FMIGV4dGVuZHMgQXBvbGxvLlF1ZXJ5PEdldFVzZXJNZXNzYWdlc1F1ZXJ5LCBHZXRVc2VyTWVzc2FnZXNRdWVyeVZhcmlhYmxlcz4ge1xuICAgIGRvY3VtZW50ID0gR2V0VXNlck1lc3NhZ2VzRG9jdW1lbnQ7XG4gICAgXG4gICAgY29uc3RydWN0b3IoYXBvbGxvOiBBcG9sbG8uQXBvbGxvKSB7XG4gICAgICBzdXBlcihhcG9sbG8pO1xuICAgIH1cbiAgfVxuZXhwb3J0IGNvbnN0IEdldFVzZXJQaG9uZU51bWJlcnNEb2N1bWVudCA9IGdxbGBcbiAgICBxdWVyeSBnZXRVc2VyUGhvbmVOdW1iZXJzIHtcbiAgZ2V0VXNlclBob25lTnVtYmVycyB7XG4gICAgaWRcbiAgICBkZXNjcmlwdGlvblxuICAgIGNvdW50cnlDb2RlXG4gICAgYXJlYUNvZGVcbiAgICBudW1iZXJcbiAgICBleHRlbnNpb25cbiAgICB0eXBlXG4gICAgb2ZmaWNlUHJpbWFyeVxuICAgIHVzZXJQcmltYXJ5XG4gIH1cbn1cbiAgICBgO1xuXG4gIEBJbmplY3RhYmxlKHtcbiAgICBwcm92aWRlZEluOiAncm9vdCdcbiAgfSlcbiAgZXhwb3J0IGNsYXNzIEdldFVzZXJQaG9uZU51bWJlcnNHUUwgZXh0ZW5kcyBBcG9sbG8uUXVlcnk8R2V0VXNlclBob25lTnVtYmVyc1F1ZXJ5LCBHZXRVc2VyUGhvbmVOdW1iZXJzUXVlcnlWYXJpYWJsZXM+IHtcbiAgICBkb2N1bWVudCA9IEdldFVzZXJQaG9uZU51bWJlcnNEb2N1bWVudDtcbiAgICBcbiAgICBjb25zdHJ1Y3RvcihhcG9sbG86IEFwb2xsby5BcG9sbG8pIHtcbiAgICAgIHN1cGVyKGFwb2xsbyk7XG4gICAgfVxuICB9XG5leHBvcnQgY29uc3QgU2V0VXNlckxhbmd1YWdlRG9jdW1lbnQgPSBncWxgXG4gICAgbXV0YXRpb24gc2V0VXNlckxhbmd1YWdlKCRsYW5ndWFnZTogSUQpIHtcbiAgc2V0VXNlckxhbmd1YWdlKGxhbmd1YWdlOiAkbGFuZ3VhZ2UpIHtcbiAgICBpZFxuICAgIHNlbGVjdGVkTGFuZ3VhZ2Uge1xuICAgICAgaWRcbiAgICAgIG5hbWVcbiAgICB9XG4gIH1cbn1cbiAgICBgO1xuXG4gIEBJbmplY3RhYmxlKHtcbiAgICBwcm92aWRlZEluOiAncm9vdCdcbiAgfSlcbiAgZXhwb3J0IGNsYXNzIFNldFVzZXJMYW5ndWFnZUdRTCBleHRlbmRzIEFwb2xsby5NdXRhdGlvbjxTZXRVc2VyTGFuZ3VhZ2VNdXRhdGlvbiwgU2V0VXNlckxhbmd1YWdlTXV0YXRpb25WYXJpYWJsZXM+IHtcbiAgICBkb2N1bWVudCA9IFNldFVzZXJMYW5ndWFnZURvY3VtZW50O1xuICAgIFxuICAgIGNvbnN0cnVjdG9yKGFwb2xsbzogQXBvbGxvLkFwb2xsbykge1xuICAgICAgc3VwZXIoYXBvbGxvKTtcbiAgICB9XG4gIH1cbmV4cG9ydCBjb25zdCBHZXRVc2VyRG9jdW1lbnQgPSBncWxgXG4gICAgcXVlcnkgZ2V0VXNlcigkaWQ6IElEKSB7XG4gIGdldFVzZXIoaWQ6ICRpZCkge1xuICAgIC4uLlVzZXJGaWVsZHNcbiAgfVxufVxuICAgICR7VXNlckZpZWxkc0ZyYWdtZW50RG9jfWA7XG5cbiAgQEluamVjdGFibGUoe1xuICAgIHByb3ZpZGVkSW46ICdyb290J1xuICB9KVxuICBleHBvcnQgY2xhc3MgR2V0VXNlckdRTCBleHRlbmRzIEFwb2xsby5RdWVyeTxHZXRVc2VyUXVlcnksIEdldFVzZXJRdWVyeVZhcmlhYmxlcz4ge1xuICAgIGRvY3VtZW50ID0gR2V0VXNlckRvY3VtZW50O1xuICAgIFxuICAgIGNvbnN0cnVjdG9yKGFwb2xsbzogQXBvbGxvLkFwb2xsbykge1xuICAgICAgc3VwZXIoYXBvbGxvKTtcbiAgICB9XG4gIH1cbmV4cG9ydCBjb25zdCBTZWFyY2hVc2VyQ2FuQm9va0ZvckRvY3VtZW50ID0gZ3FsYFxuICAgIHF1ZXJ5IHNlYXJjaFVzZXJDYW5Cb29rRm9yKCRlbWFpbDogU3RyaW5nLCAkdXNlck5hbWU6IFN0cmluZywgJGVtcGxveWVlSWQ6IFN0cmluZykge1xuICBzZWFyY2hVc2VyQ2FuQm9va0ZvcihlbWFpbDogJGVtYWlsLCB1c2VyTmFtZTogJHVzZXJOYW1lLCBlbXBsb3llZUlkOiAkZW1wbG95ZWVJZCkge1xuICAgIGlkXG4gICAgZm9yZW5hbWVcbiAgICBzdXJuYW1lXG4gICAgZW1haWxcbiAgfVxufVxuICAgIGA7XG5cbiAgQEluamVjdGFibGUoe1xuICAgIHByb3ZpZGVkSW46ICdyb290J1xuICB9KVxuICBleHBvcnQgY2xhc3MgU2VhcmNoVXNlckNhbkJvb2tGb3JHUUwgZXh0ZW5kcyBBcG9sbG8uUXVlcnk8U2VhcmNoVXNlckNhbkJvb2tGb3JRdWVyeSwgU2VhcmNoVXNlckNhbkJvb2tGb3JRdWVyeVZhcmlhYmxlcz4ge1xuICAgIGRvY3VtZW50ID0gU2VhcmNoVXNlckNhbkJvb2tGb3JEb2N1bWVudDtcbiAgICBcbiAgICBjb25zdHJ1Y3RvcihhcG9sbG86IEFwb2xsby5BcG9sbG8pIHtcbiAgICAgIHN1cGVyKGFwb2xsbyk7XG4gICAgfVxuICB9XG5leHBvcnQgY29uc3QgVmFsaWRhdGVVc2VyTWlGcmVlVmFsdWVEb2N1bWVudCA9IGdxbGBcbiAgICBxdWVyeSB2YWxpZGF0ZVVzZXJNSUZyZWVWYWx1ZSgkbWk6IElEISwgJGZyZWVWYWx1ZTogU3RyaW5nISkge1xuICB2YWxpZGF0ZVVzZXJNSUZyZWVWYWx1ZShtaTogJG1pLCBmcmVlVmFsdWU6ICRmcmVlVmFsdWUpXG59XG4gICAgYDtcblxuICBASW5qZWN0YWJsZSh7XG4gICAgcHJvdmlkZWRJbjogJ3Jvb3QnXG4gIH0pXG4gIGV4cG9ydCBjbGFzcyBWYWxpZGF0ZVVzZXJNaUZyZWVWYWx1ZUdRTCBleHRlbmRzIEFwb2xsby5RdWVyeTxWYWxpZGF0ZVVzZXJNaUZyZWVWYWx1ZVF1ZXJ5LCBWYWxpZGF0ZVVzZXJNaUZyZWVWYWx1ZVF1ZXJ5VmFyaWFibGVzPiB7XG4gICAgZG9jdW1lbnQgPSBWYWxpZGF0ZVVzZXJNaUZyZWVWYWx1ZURvY3VtZW50O1xuICAgIFxuICAgIGNvbnN0cnVjdG9yKGFwb2xsbzogQXBvbGxvLkFwb2xsbykge1xuICAgICAgc3VwZXIoYXBvbGxvKTtcbiAgICB9XG4gIH0iXX0=
|
|
5830
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZ3JhcGhxbC5hbmd1bGFyLnR5cGVzLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvb2J0c2VydmljZXMvYW5ndWxhci9zcmMvbGliL3ZlbmRvci90eXBlcy9ncmFwaHFsLmFuZ3VsYXIudHlwZXMudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFFLEdBQUcsRUFBRSxNQUFNLGdCQUFnQixDQUFDO0FBQ3JDLE9BQU8sRUFBRSxVQUFVLEVBQUUsTUFBTSxlQUFlLENBQUM7QUFDM0MsT0FBTyxLQUFLLE1BQU0sTUFBTSxnQkFBZ0IsQ0FBQzs7O0FBc0d6QyxNQUFNLENBQU4sSUFBWSxnQkFHWDtBQUhELFdBQVksZ0JBQWdCO0lBQzFCLGtEQUE4QixDQUFBO0lBQzlCLGdEQUE0QixDQUFBO0FBQzlCLENBQUMsRUFIVyxnQkFBZ0IsS0FBaEIsZ0JBQWdCLFFBRzNCO0FBdUNELE1BQU0sQ0FBTixJQUFZLFdBR1g7QUFIRCxXQUFZLFdBQVc7SUFDckIsa0NBQW1CLENBQUE7SUFDbkIsc0NBQXVCLENBQUE7QUFDekIsQ0FBQyxFQUhXLFdBQVcsS0FBWCxXQUFXLFFBR3RCO0FBaUVELE1BQU0sQ0FBTixJQUFZLGdCQUlYO0FBSkQsV0FBWSxnQkFBZ0I7SUFDMUIsaUNBQWEsQ0FBQTtJQUNiLHFDQUFpQixDQUFBO0lBQ2pCLG9EQUFnQyxDQUFBO0FBQ2xDLENBQUMsRUFKVyxnQkFBZ0IsS0FBaEIsZ0JBQWdCLFFBSTNCO0FBRUQsTUFBTSxDQUFOLElBQVksWUFRWDtBQVJELFdBQVksWUFBWTtJQUN0Qiw2QkFBYSxDQUFBO0lBQ2IsaUNBQWlCLENBQUE7SUFDakIsc0RBQXNDLENBQUE7SUFDdEMscUNBQXFCLENBQUE7SUFDckIsMkNBQTJCLENBQUE7SUFDM0Isb0RBQW9DLENBQUE7SUFDcEMsZ0RBQWdDLENBQUE7QUFDbEMsQ0FBQyxFQVJXLFlBQVksS0FBWixZQUFZLFFBUXZCO0FBU0Qs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QUFXLENBQUE7SUFDWCwyQkFBVyxDQUFBO0lBQ1gsMkJBQVcsQ0FBQTtJQUNYLDJCQUFXLENBQUE7SUFDWCwyQkFBVyxDQUFBO0lBQ1gsMkJBQVcsQ0FBQTtJQUNYLDJCQUFXLENBQUE7SUFDWCwyQkFBVyxDQUFBO0lBQ1gsMkJBQVcsQ0FBQTtJQUNYLDJCQUFXLENBQUE7SUFDWCwyQkFBVyxDQUFBO0lBQ1gsMkJBQVcsQ0FBQTtJQUNYLDJCQUFXLENBQUE7SUFDWCwyQkFBVyxDQUFBO0lBQ1gsMkJBQVcsQ0FBQTtJQUNYLDJCQUFXLENBQUE7SUFDWCwyQkFBVyxDQUFBO0lBQ1gsMkJBQVcsQ0FBQTtJQUNYLDJCQUFXLENBQUE7SUFDWCwyQkFBVyxDQUFBO0lBQ1gsMkJBQVcsQ0FBQTtJQUNYLDJCQUFXLENBQUE7SUFDWCwyQkFBVyxDQUFBO0lBQ1gsMkJBQVcsQ0FBQTtJQUNYLDJCQUFXLENBQUE7SUFDWCwyQkFBVyxDQUFBO0lBQ1gsMkJBQVcsQ0FBQTtJQUNYLDJCQUFXLENBQUE7SUFDWCwyQkFBVyxDQUFBO0lBQ1gsMkJBQVcsQ0FBQTtJQUNYLDJCQUFXLENBQUE7SUFDWCwyQkFBVyxDQUFBO0lBQ1gsMkJBQVcsQ0FBQTtJQUNYLDJCQUFXLENBQUE7SUFDWCwyQkFBVyxDQUFBO0lBQ1gsMkJBQVcsQ0FBQTtJQUNYLDJCQUFXLENBQUE7SUFDWCwyQkFBVyxDQUFBO0lBQ1gsMkJBQVcsQ0FBQTtJQUNYLDJCQUFXLENBQUE7SUFDWCwyQkFBVyxDQUFBO0lBQ1gsMkJBQVcsQ0FBQTtJQUNYLDJCQUFXLENBQUE7SUFDWCwyQkFBVyxDQUFBO0lBQ1gsMkJBQVcsQ0FBQTtJQUNYLDJCQUFXLENBQUE7SUFDWCwyQkFBVyxDQUFBO0lBQ1gsMkJBQVcsQ0FBQTtJQUNYLDJCQUFXLENBQUE7SUFDWCwyQkFBVyxDQUFBO0lBQ1gsMkJBQVcsQ0FBQTtJQUNYLDJCQUFXLENBQUE7SUFDWCwyQkFBVyxDQUFBO0lBQ1gsMkJBQVcsQ0FBQTtJQUNYLDJCQUFXLENBQUE7SUFDWCwyQkFBVyxDQUFBO0lBQ1gsMkJBQVcsQ0FBQTtJQUNYLDJCQUFXLENBQUE7SUFDWCwyQkFBVyxDQUFBO0lBQ1gsMkJBQVcsQ0FBQTtJQUNYLDJCQUFXLENBQUE7SUFDWCwyQkFBVyxDQUFBO0lBQ1gsMkJBQVcsQ0FBQTtJQUNYLDJCQUFXLENBQUE7SUFDWCwyQkFBVyxDQUFBO0lBQ1gsMkJBQVcsQ0FBQTtJQUNYLDJCQUFXLENBQUE7SUFDWCwyQkFBVyxDQUFBO0lBQ1gsMkJBQVcsQ0FBQTtJQUNYLDJCQUFXLENBQUE7SUFDWCwyQkFBVyxDQUFBO0lBQ1gsMkJBQVcsQ0FBQTtJQUNYLDJCQUFXLENBQUE7SUFDWCwyQkFBVyxDQUFBO0lBQ1gsMkJBQVcsQ0FBQTtJQUNYLDJCQUFXLENBQUE7SUFDWCwyQkFBVyxDQUFBO0lBQ1gsMkJBQVcsQ0FBQTtJQUNYLDJCQUFXLENBQUE7SUFDWCwyQkFBVyxDQUFBO0lBQ1gsMkJBQVcsQ0FBQTtJQUNYLDJCQUFXLENBQUE7SUFDWCwyQkFBVyxDQUFBO0lBQ1gsMkJBQVcsQ0FBQTtJQUNYLDJCQUFXLENBQUE7SUFDWCwyQkFBVyxDQUFBO0lBQ1gsMkJBQVcsQ0FBQTtJQUNYLDJCQUFXLENBQUE7SUFDWCwyQkFBVyxDQUFBO0lBQ1gsMkJBQVcsQ0FBQTtJQUNYLDJCQUFXLENBQUE7SUFDWCwyQkFBVyxDQUFBO0lBQ1gsMkJBQVcsQ0FBQTtJQUNYLDJCQUFXLENBQUE7SUFDWCwyQkFBVyxDQUFBO0lBQ1gsMkJBQVcsQ0FBQTtJQUNYLDJCQUFXLENBQUE7SUFDWCwyQkFBVyxDQUFBO0lBQ1gsMkJBQVcsQ0FBQTtJQUNYLDJCQUFXLENBQUE7SUFDWCwyQkFBVyxDQUFBO0lBQ1gsMkJBQVcsQ0FBQTtJQUNYLDJCQUFXLENBQUE7SUFDWCwyQkFBVyxDQUFBO0lBQ1gsMkJBQVcsQ0FBQTtJQUNYLDJCQUFXLENBQUE7SUFDWCwyQkFBVyxDQUFBO0lBQ1gsMkJBQVcsQ0FBQTtJQUNYLDJCQUFXLENBQUE7SUFDWCwyQkFBVyxDQUFBO0lBQ1gsMkJBQVcsQ0FBQTtJQUNYLDJCQUFXLENBQUE7SUFDWCwyQkFBVyxDQUFB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QXVCLEdBQUcsR0FBRyxDQUFBOzs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7O01Bb3dCcEMsd0JBQXdCO0VBQzVCLGlCQUFpQixFQUFFLENBQUM7QUFLcEIsTUFBTSxPQUFPLGtCQUFtQixTQUFRLE1BQU0sQ0FBQyxLQUEwRDtJQUd2RyxZQUFZLE1BQXFCO1FBQy9CLEtBQUss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dFdTLE1BQU0sQ0F1dFdhLE1BQU07O0FBSXJDLE1BQU0sQ0FBQyxNQUFNLCtCQUErQixHQUFHLEdBQUcsQ0FBQTs7OztLQUk3QyxDQUFDO0FBS0osTUFBTSxPQUFPLDBCQUEyQixTQUFRLE1BQU0sQ0FBQyxLQUEwRTtJQUcvSCxZQUFZLE1BQXFCO1FBQy9CLEtBQUssQ0FBQyxNQUFNLENBQUMsQ0FBQztRQUhoQixhQUFRLEdBQUcsK0JBQStCLENBQUM7SUFJM0MsQ0FBQzs7OztZQVJGLFVBQVUsU0FBQztnQkFDVixVQUFVLEVBQUUsTUFBTTthQUNuQjs7OztZQW51V1MsTUFBTSxDQXV1V2EsTUFBTSIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IGdxbCB9IGZyb20gJ2Fwb2xsby1hbmd1bGFyJztcbmltcG9ydCB7IEluamVjdGFibGUgfSBmcm9tICdAYW5ndWxhci9jb3JlJztcbmltcG9ydCAqIGFzIEFwb2xsbyBmcm9tICdhcG9sbG8tYW5ndWxhcic7XG5leHBvcnQgdHlwZSBNYXliZTxUPiA9IFQgfCBudWxsO1xuZXhwb3J0IHR5cGUgRXhhY3Q8VCBleHRlbmRzIHsgW2tleTogc3RyaW5nXTogdW5rbm93biB9PiA9IHsgW0sgaW4ga2V5b2YgVF06IFRbS10gfTtcbmV4cG9ydCB0eXBlIE1ha2VPcHRpb25hbDxULCBLIGV4dGVuZHMga2V5b2YgVD4gPSBPbWl0PFQsIEs+ICYgeyBbU3ViS2V5IGluIEtdPzogTWF5YmU8VFtTdWJLZXldPiB9O1xuZXhwb3J0IHR5cGUgTWFrZU1heWJlPFQsIEsgZXh0ZW5kcyBrZXlvZiBUPiA9IE9taXQ8VCwgSz4gJiB7IFtTdWJLZXkgaW4gS106IE1heWJlPFRbU3ViS2V5XT4gfTtcbmV4cG9ydCB0eXBlIEZpZWxkV3JhcHBlcjxUPiA9IFQ7XG4vKiogQWxsIGJ1aWx0LWluIGFuZCBjdXN0b20gc2NhbGFycywgbWFwcGVkIHRvIHRoZWlyIGFjdHVhbCB2YWx1ZXMgKi9cbmV4cG9ydCB0eXBlIFNjYWxhcnMgPSB7XG4gIElEOiBzdHJpbmc7XG4gIFN0cmluZzogc3RyaW5nO1xuICBCb29sZWFuOiBib29sZWFuO1xuICBJbnQ6IG51bWJlcjtcbiAgRmxvYXQ6IG51bWJlcjtcbiAgRGF0ZTogYW55O1xuICBEYXRlVGltZTogYW55O1xuICBKU09OOiBhbnk7XG59O1xuXG5cblxuZXhwb3J0IHR5cGUgQWRkcmVzcyA9IHtcbiAgX190eXBlbmFtZT86ICdBZGRyZXNzJztcbiAgaWQ6IEZpZWxkV3JhcHBlcjxTY2FsYXJzWydJRCddPjtcbiAgZGVzY3JpcHRpb24/OiBNYXliZTxGaWVsZFdyYXBwZXI8U2NhbGFyc1snU3RyaW5nJ10+PjtcbiAgbnVtYmVyT3JOYW1lPzogTWF5YmU8RmllbGRXcmFwcGVyPFNjYWxhcnNbJ1N0cmluZyddPj47XG4gIHN0cmVldD86IE1heWJlPEZpZWxkV3JhcHBlcjxTY2FsYXJzWydTdHJpbmcnXT4+O1xuICB0b3duPzogTWF5YmU8RmllbGRXcmFwcGVyPFNjYWxhcnNbJ1N0cmluZyddPj47XG4gIGNvdW50eT86IE1heWJlPEZpZWxkV3JhcHBlcjxTY2FsYXJzWydTdHJpbmcnXT4+O1xuICBwb3N0Y29kZT86IE1heWJlPEZpZWxkV3JhcHBlcjxTY2FsYXJzWydTdHJpbmcnXT4+O1xuICBjb3VudHJ5Q29kZT86IE1heWJlPEZpZWxkV3JhcHBlcjxTY2FsYXJzWydTdHJpbmcnXT4+O1xuICB1c2VyUHJpbWFyeT86IE1heWJlPEZpZWxkV3JhcHBlcjxTY2FsYXJzWydCb29sZWFuJ10+PjtcbiAgb2ZmaWNlUHJpbWFyeT86IE1heWJlPEZpZWxkV3JhcHBlcjxTY2FsYXJzWydCb29sZWFuJ10+Pjtcbn07XG5cbmV4cG9ydCB0eXBlIEFmdGVyQ2FuY2VsbGF0aW9uSW5mbyA9IHtcbiAgX190eXBlbmFtZT86ICdBZnRlckNhbmNlbGxhdGlvbkluZm8nO1xuICBjYW5jZWxsZWQ6IEZpZWxkV3JhcHBlcjxTY2FsYXJzWydCb29sZWFuJ10+O1xuICBjYW5jZWxsYXRpb25GZWU6IEZpZWxkV3JhcHBlcjxTY2FsYXJzWydGbG9hdCddPjtcbn07XG5cbmV4cG9ydCB0eXBlIEFpcmxpbmVSZXN1bHQgPSB7XG4gIF9fdHlwZW5hbWU/OiAnQWlybGluZVJlc3VsdCc7XG4gIGlkOiBGaWVsZFdyYXBwZXI8U2NhbGFyc1snSUQnXT47XG4gIG5hbWU/OiBNYXliZTxGaWVsZFdyYXBwZXI8U2NhbGFyc1snU3RyaW5nJ10+PjtcbiAgaWF0YT86IE1heWJlPEZpZWxkV3JhcHBlcjxTY2FsYXJzWydTdHJpbmcnXT4+O1xuICBpY2FvPzogTWF5YmU8RmllbGRXcmFwcGVyPFNjYWxhcnNbJ1N0cmluZyddPj47XG4gIGFsaWFzPzogTWF5YmU8RmllbGRXcmFwcGVyPFNjYWxhcnNbJ1N0cmluZyddPj47XG4gIGNhbGxzaWduPzogTWF5YmU8RmllbGRXcmFwcGVyPFNjYWxhcnNbJ1N0cmluZyddPj47XG4gIGFjdGl2ZT86IE1heWJlPEZpZWxkV3JhcHBlcjxTY2FsYXJzWydCb29sZWFuJ10+PjtcbiAgY29udGluZW50PzogTWF5YmU8RmllbGRXcmFwcGVyPFNjYWxhcnNbJ1N0cmluZyddPj47XG4gIGNvdW50cnk/OiBNYXliZTxGaWVsZFdyYXBwZXI8U2NhbGFyc1snU3RyaW5nJ10+PjtcbiAgY291bnRyeUNvZGU/OiBNYXliZTxGaWVsZFdyYXBwZXI8U2NhbGFyc1snU3RyaW5nJ10+PjtcbiAgYmFubmVySW1hZ2U/OiBNYXliZTxGaWVsZFdyYXBwZXI8U2NhbGFyc1snU3RyaW5nJ10+PjtcbiAgbG9nb0ltYWdlPzogTWF5YmU8RmllbGRXcmFwcGVyPFNjYWxhcnNbJ1N0cmluZyddPj47XG59O1xuXG5leHBvcnQgdHlwZSBBaXJsaW5lUmVzdWx0cyA9IHtcbiAgX190eXBlbmFtZT86ICdBaXJsaW5lUmVzdWx0cyc7XG4gIGlhdGFNYXRjaD86IE1heWJlPEZpZWxkV3JhcHBlcjxBaXJsaW5lUmVzdWx0Pj47XG4gIGdlbmVyYWxNYXRjaGVzOiBBcnJheTxGaWVsZFdyYXBwZXI8QWlybGluZVJlc3VsdD4+O1xufTtcblxuZXhwb3J0IHR5cGUgQWlycG9ydCA9IHtcbiAgX190eXBlbmFtZT86ICdBaXJwb3J0JztcbiAgaWQ6IEZpZWxkV3JhcHBlcjxTY2FsYXJzWydJRCddPjtcbiAgbmFtZTogRmllbGRXcmFwcGVyPFNjYWxhcnNbJ1N0cmluZyddPjtcbiAgaWF0YT86IE1heWJlPEZpZWxkV3JhcHBlcjxTY2FsYXJzWydTdHJpbmcnXT4+O1xuICBpY2FvPzogTWF5YmU8RmllbGRXcmFwcGVyPFNjYWxhcnNbJ1N0cmluZyddPj47XG4gIHRlcm1pbmFsczogQXJyYXk8RmllbGRXcmFwcGVyPFNjYWxhcnNbJ1N0cmluZyddPj47XG4gIGhhc0xvdW5nZT86IE1heWJlPEZpZWxkV3JhcHBlcjxTY2FsYXJzWydCb29sZWFuJ10+PjtcbiAgaGFzUGFya2luZz86IE1heWJlPEZpZWxkV3JhcHBlcjxTY2FsYXJzWydCb29sZWFuJ10+PjtcbiAgaGFzRmFzdFRyYWNrPzogTWF5YmU8RmllbGRXcmFwcGVyPFNjYWxhcnNbJ0Jvb2xlYW4nXT4+O1xuICBoYXNQdWJsaWNUcmF2ZWw/OiBNYXliZTxGaWVsZFdyYXBwZXI8U2NhbGFyc1snQm9vbGVhbiddPj47XG4gIGxvY2F0aW9uRGV0YWlscz86IE1heWJlPEZpZWxkV3JhcHBlcjxMb2NhdGlvbkRldGFpbD4+O1xufTtcblxuZXhwb3J0IHR5cGUgQWlycG9ydERldGFpbCA9IHtcbiAgX190eXBlbmFtZT86ICdBaXJwb3J0RGV0YWlsJztcbiAgaWF0YT86IE1heWJlPEZpZWxkV3JhcHBlcjxTY2FsYXJzWydTdHJpbmcnXT4+O1xuICBpY2FvPzogTWF5YmU8RmllbGRXcmFwcGVyPFNjYWxhcnNbJ1N0cmluZyddPj47XG4gIGxhdGl0dWRlPzogTWF5YmU8RmllbGRXcmFwcGVyPFNjYWxhcnNbJ0Zsb2F0J10+PjtcbiAgbG9uZ2l0dWRlPzogTWF5YmU8RmllbGRXcmFwcGVyPFNjYWxhcnNbJ0Zsb2F0J10+PjtcbiAgYWx0aXR1ZGU/OiBNYXliZTxGaWVsZFdyYXBwZXI8U2NhbGFyc1snRmxvYXQnXT4+O1xuICBzdGF0ZT86IE1heWJlPEZpZWxkV3JhcHBlcjxTY2FsYXJzWydTdHJpbmcnXT4+O1xuICBjaXR5PzogTWF5YmU8RmllbGRXcmFwcGVyPFNjYWxhcnNbJ1N0cmluZyddPj47XG4gIHJvYWQ/OiBNYXliZTxGaWVsZFdyYXBwZXI8U2NhbGFyc1snU3RyaW5nJ10+PjtcbiAgcG9wdWxhcml0eT86IE1heWJlPEZpZWxkV3JhcHBlcjxTY2FsYXJzWydJbnQnXT4+O1xuICBhcmVhPzogTWF5YmU8RmllbGRXcmFwcGVyPFNjYWxhcnNbJ1N0cmluZyddPj47XG4gIGxvY2F0aW9uPzogTWF5YmU8RmllbGRXcmFwcGVyPFNjYWxhcnNbJ1N0cmluZyddPj47XG4gIG9mZnNldD86IE1heWJlPEZpZWxkV3JhcHBlcjxTY2FsYXJzWydTdHJpbmcnXT4+O1xuICBhaXJwb3J0TmFtZT86IE1heWJlPEZpZWxkV3JhcHBlcjxTY2FsYXJzWydTdHJpbmcnXT4+O1xuICBjb3VudHJ5TmFtZT86IE1heWJlPEZpZWxkV3JhcHBlcjxTY2FsYXJzWydTdHJpbmcnXT4+O1xuICBjb3VudHJ5Q29kZT86IE1heWJlPEZpZWxkV3JhcHBlcjxTY2FsYXJzWydTdHJpbmcnXT4+O1xuICBwb3N0Y29kZT86IE1heWJlPEZpZWxkV3JhcHBlcjxTY2FsYXJzWydTdHJpbmcnXT4+O1xufTtcblxuZXhwb3J0IHR5cGUgQWlycG9ydFJlc3VsdHMgPSB7XG4gIF9fdHlwZW5hbWU/OiAnQWlycG9ydFJlc3VsdHMnO1xuICBpYXRhTWF0Y2g/OiBNYXliZTxGaWVsZFdyYXBwZXI8QWlycG9ydD4+O1xuICBnZW5lcmFsTWF0Y2hlczogQXJyYXk8RmllbGRXcmFwcGVyPEFpcnBvcnQ+Pjtcbn07XG5cbmV4cG9ydCBlbnVtIEFwcGxpY2F0aW9uU3RhZ2Uge1xuICBCZWZvcmVTZWFyY2ggPSAnQkVGT1JFX1NFQVJDSCcsXG4gIEFmdGVyU2VhcmNoID0gJ0FGVEVSX1NFQVJDSCdcbn1cblxuZXhwb3J0IHR5cGUgQXBwcm92ZWUgPSB7XG4gIF9fdHlwZW5hbWU/OiAnQXBwcm92ZWUnO1xuICBhcHByb3ZlZTogRmllbGRXcmFwcGVyPFVzZXI+O1xuICBhY3RpdmU6IEZpZWxkV3JhcHBlcjxTY2FsYXJzWydCb29sZWFuJ10+O1xuICBwcmlvcml0eTogRmllbGRXcmFwcGVyPFNjYWxhcnNbJ0ludCddPjtcbn07XG5cbmV4cG9ydCB0eXBlIEFwcHJvdmVyID0ge1xuICBfX3R5cGVuYW1lPzogJ0FwcHJvdmVyJztcbiAgYXBwcm92ZXI6IEZpZWxkV3JhcHBlcjxVc2VyPjtcbiAgYWN0aXZlOiBGaWVsZFdyYXBwZXI8U2NhbGFyc1snQm9vbGVhbiddPjtcbiAgcHJpb3JpdHk6IEZpZWxkV3JhcHBlcjxTY2FsYXJzWydJbnQnXT47XG59O1xuXG5leHBvcnQgdHlwZSBBc3NvY2lhdGlvbiA9IHtcbiAgX190eXBlbmFtZT86ICdBc3NvY2lhdGlvbic7XG4gIGNhdGVnb3J5PzogTWF5YmU8RmllbGRXcmFwcGVyPFNjYWxhcnNbJ1N0cmluZyddPj47XG4gIHJpZD86IE1heWJlPEZpZWxkV3JhcHBlcjxTY2FsYXJzWydTdHJpbmcnXT4+O1xuICB1aWQ/OiBNYXliZTxGaWVsZFdyYXBwZXI8U2NhbGFyc1snU3RyaW5nJ10+PjtcbiAgdHJhaW5pZD86IE1heWJlPEZpZWxkV3JhcHBlcjxTY2FsYXJzWydTdHJpbmcnXT4+O1xuICBzZGQ/OiBNYXliZTxGaWVsZFdyYXBwZXI8U2NhbGFyc1snU3RyaW5nJ10+PjtcbiAgb3JpZ2luPzogTWF5YmU8RmllbGRXcmFwcGVyPFNjYWxhcnNbJ1N0cmluZyddPj47XG4gIG9yaWdpbkNSUz86IE1heWJlPEZpZWxkV3JhcHBlcjxTY2FsYXJzWydTdHJpbmcnXT4+O1xuICBvcmlnaW5UaXBsb2M/OiBNYXliZTxGaWVsZFdyYXBwZXI8U2NhbGFyc1snU3RyaW5nJ10+PjtcbiAgZGVzdGluYXRpb24/OiBNYXliZTxGaWVsZFdyYXBwZXI8U2NhbGFyc1snU3RyaW5nJ10+PjtcbiAgZGVzdENSUz86IE1heWJlPEZpZWxkV3JhcHBlcjxTY2FsYXJzWydTdHJpbmcnXT4+O1xuICBkZXN0VGlwbG9jPzogTWF5YmU8RmllbGRXcmFwcGVyPFNjYWxhcnNbJ1N0cmluZyddPj47XG59O1xuXG5leHBvcnQgdHlwZSBCYWdnYWdlQWxsb3dhbmNlID0ge1xuICBfX3R5cGVuYW1lPzogJ0JhZ2dhZ2VBbGxvd2FuY2UnO1xuICB0eXBlOiBGaWVsZFdyYXBwZXI8QmFnZ2FnZVR5cGU+O1xuICBxdHk6IEZpZWxkV3JhcHBlcjxTY2FsYXJzWydJbnQnXT47XG4gIG1heEtHPzogTWF5YmU8RmllbGRXcmFwcGVyPFNjYWxhcnNbJ0Zsb2F0J10+PjtcbiAgbWF4TEJTPzogTWF5YmU8RmllbGRXcmFwcGVyPFNjYWxhcnNbJ0Zsb2F0J10+Pjtcbn07XG5cbmV4cG9ydCBlbnVtIEJhZ2dhZ2VUeXBlIHtcbiAgQ2hlY2tJbiA9ICdDaGVja0luJyxcbiAgSGFuZENhcnJ5ID0gJ0hhbmRDYXJyeSdcbn1cblxuZXhwb3J0IHR5cGUgQmFza2V0ID0ge1xuICBfX3R5cGVuYW1lPzogJ0Jhc2tldCc7XG4gIGlkOiBGaWVsZFdyYXBwZXI8U2NhbGFyc1snSUQnXT47XG4gIG93bmVyOiBGaWVsZFdyYXBwZXI8VXNlcj47XG4gIHJlZmVyZW5jZTogRmllbGRXcmFwcGVyPFNjYWxhcnNbJ1N0cmluZyddPjtcbiAgdGl0bGU6IEZpZWxkV3JhcHBlcjxTY2FsYXJzWydTdHJpbmcnXT47XG4gIG5vdGVzPzogTWF5YmU8RmllbGRXcmFwcGVyPFNjYWxhcnNbJ1N0cmluZyddPj47XG4gIGNyZWF0ZWRBdDogRmllbGRXcmFwcGVyPFNjYWxhcnNbJ0RhdGVUaW1lJ10+O1xuICB1cGRhdGVkQXQ6IEZpZWxkV3JhcHBlcjxTY2FsYXJzWydEYXRlVGltZSddPjtcbiAgYmFza2V0SXRlbXM6IEFycmF5PEZpZWxkV3JhcHBlcjxCYXNrZXRJdGVtPj47XG4gIHN0YXR1czogRmllbGRXcmFwcGVyPEJhc2tldFN0YXR1cz47XG4gIGNvbXBhbnlHcm91cD86IE1heWJlPEZpZWxkV3JhcHBlcjxDb21wYW55R3JvdXA+PjtcbiAgdmFsaWRhdGVkOiBGaWVsZFdyYXBwZXI8U2NhbGFyc1snQm9vbGVhbiddPjtcbiAgYm9va2VkQXQ/OiBNYXliZTxGaWVsZFdyYXBwZXI8U2NhbGFyc1snRGF0ZVRpbWUnXT4+O1xufTtcblxuZXhwb3J0IHR5cGUgQmFza2V0SXRlbSA9IHtcbiAgX190eXBlbmFtZT86ICdCYXNrZXRJdGVtJztcbiAgaWQ6IEZpZWxkV3JhcHBlcjxTY2FsYXJzWydJRCddPjtcbiAgYmFza2V0OiBGaWVsZFdyYXBwZXI8QmFza2V0PjtcbiAgYWR1bHRzOiBGaWVsZFdyYXBwZXI8U2NhbGFyc1snSW50J10+O1xuICBjaGlsZHJlbjogRmllbGRXcmFwcGVyPFNjYWxhcnNbJ0ludCddPjtcbiAgaW5mYW50czogRmllbGRXcmFwcGVyPFNjYWxhcnNbJ0ludCddPjtcbiAgZGV0YWlsOiBGaWVsZFdyYXBwZXI8U2NhbGFyc1snSlNPTiddPjtcbiAgZGV0YWlsSGFzaDogRmllbGRXcmFwcGVyPFNjYWxhcnNbJ1N0cmluZyddPjtcbiAgY3JlYXRlZEF0OiBGaWVsZFdyYXBwZXI8U2NhbGFyc1snRGF0ZVRpbWUnXT47XG4gIHVwZGF0ZWRBdDogRmllbGRXcmFwcGVyPFNjYWxhcnNbJ0RhdGVUaW1lJ10+O1xuICBleHBpcnk6IEZpZWxkV3JhcHBlcjxTY2FsYXJzWydEYXRlVGltZSddPjtcbiAgZXhwaXJlZDogRmllbGRXcmFwcGVyPFNjYWxhcnNbJ0Jvb2xlYW4nXT47XG4gIHVzZXJzOiBBcnJheTxGaWVsZFdyYXBwZXI8VXNlcj4+O1xuICB1c2VyUGFzc2VuZ2VyVHlwZXM6IEFycmF5PEZpZWxkV3JhcHBlcjxVc2VyUGFzc2VuZ2VyVHlwZT4+O1xuICBsZWFkUGFzc2VuZ2VyPzogTWF5YmU8RmllbGRXcmFwcGVyPFVzZXI+PjtcbiAgc2VydmljZTogRmllbGRXcmFwcGVyPFNlcnZpY2U+O1xuICBzZWFyY2hRdWVyeTogRmllbGRXcmFwcGVyPFNjYWxhcnNbJ0pTT04nXT47XG4gIHByaWNlOiBGaWVsZFdyYXBwZXI8U2NhbGFyc1snRmxvYXQnXT47XG4gIGN1cnJlbmN5OiBGaWVsZFdyYXBwZXI8Q3VycmVuY3lDb2RlPjtcbiAgbWlHcm91cHNBdmFpbGFibGU6IEFycmF5PEZpZWxkV3JhcHBlcjxTY2FsYXJzWydTdHJpbmcnXT4+O1xuICBtaUdyb3VwU2VsZWN0ZWQ/OiBNYXliZTxGaWVsZFdyYXBwZXI8U2NhbGFyc1snU3RyaW5nJ10+PjtcbiAgbWFuYWdlbWVudEluZm86IEFycmF5PEZpZWxkV3JhcHBlcjxNYW5hZ2VtZW50SW5mbz4+O1xuICB2YWxpZGF0ZWQ6IEZpZWxkV3JhcHBlcjxTY2FsYXJzWydCb29sZWFuJ10+O1xuICBsYXRlc3RWYWxpZGF0aW9uPzogTWF5YmU8RmllbGRXcmFwcGVyPFNjYWxhcnNbJ0RhdGVUaW1lJ10+PjtcbiAgbGF0ZXN0VmFsaWRhdGlvblByaWNlPzogTWF5YmU8RmllbGRXcmFwcGVyPFNjYWxhcnNbJ0ludCddPj47XG4gIGxhdGVzdFZhbGlkYXRpb25QcmljZURpZmZlcmVuY2U/OiBNYXliZTxGaWVsZFdyYXBwZXI8U2NhbGFyc1snSW50J10+PjtcbiAgbGF0ZXN0VmFsaWRhdGlvbkF2YWlsYWJsZT86IE1heWJlPEZpZWxkV3JhcHBlcjxTY2FsYXJzWydCb29sZWFuJ10+PjtcbiAgYm9va2luZ1RoaXJkUGFydHlSZWZlcmVuY2U/OiBNYXliZTxGaWVsZFdyYXBwZXI8U2NhbGFyc1snU3RyaW5nJ10+PjtcbiAgcG5yTG9jYXRvcj86IE1heWJlPEZpZWxkV3JhcHBlcjxTY2FsYXJzWydTdHJpbmcnXT4+O1xuICBzdGF0dXM6IEZpZWxkV3JhcHBlcjxCYXNrZXRJdGVtU3RhdHVzPjtcbiAgYXZhaWxhYmxlUGF5bWVudE1ldGhvZHM6IEFycmF5PEZpZWxkV3JhcHBlcjxQYXltZW50TWV0aG9kPj47XG4gIHNlbGVjdGVkUGF5bWVudE1ldGhvZD86IE1heWJlPEZpZWxkV3JhcHBlcjxQYXltZW50TWV0aG9kPj47XG4gIHBlckl0ZW1TdXBwbGVtZW50YXJ5Qm9va2luZ0luZm9TY2hlbWE6IEZpZWxkV3JhcHBlcjxTY2FsYXJzWydKU09OJ10+O1xuICBwZXJQYXNzZW5nZXJTdXBwbGVtZW50YXJ5Qm9va2luZ0luZm9TY2hlbWE6IEZpZWxkV3JhcHBlcjxTY2FsYXJzWydKU09OJ10+O1xuICBwZXJJdGVtQWRkcmVzczogRmllbGRXcmFwcGVyPFNjYWxhcnNbJ0Jvb2xlYW4nXT47XG4gIHBlckl0ZW1QaG9uZU51bWJlcjogRmllbGRXcmFwcGVyPFNjYWxhcnNbJ0Jvb2xlYW4nXT47XG4gIHBlclBhc3NlbmdlckFkZHJlc3M6IEZpZWxkV3JhcHBlcjxTY2FsYXJzWydCb29sZWFuJ10+O1xuICBwZXJQYXNzZW5nZXJQaG9uZU51bWJlcjogRmllbGRXcmFwcGVyPFNjYWxhcnNbJ0Jvb2xlYW4nXT47XG4gIGNhbmNlbGxhYmxlOiBGaWVsZFdyYXBwZXI8U2NhbGFyc1snQm9vbGVhbiddPjtcbiAgYW1lbmRhYmxlOiBGaWVsZFdyYXBwZXI8U2NhbGFyc1snQm9vbGVhbiddPjtcbiAgY28yUGVyUGFzc2VuZ2VyOiBGaWVsZFdyYXBwZXI8U2NhbGFyc1snRmxvYXQnXT47XG4gIGNvMlBlckl0ZW06IEZpZWxkV3JhcHBlcjxTY2FsYXJzWydGbG9hdCddPjtcbiAgb3V0Ym91bmREYXRlOiBGaWVsZFdyYXBwZXI8U2NhbGFyc1snRGF0ZVRpbWUnXT47XG4gIGluYm91bmREYXRlPzogTWF5YmU8RmllbGRXcmFwcGVyPFNjYWxhcnNbJ0RhdGVUaW1lJ10+Pjtcbn07XG5cbmV4cG9ydCBlbnVtIEJhc2tldEl0ZW1TdGF0dXMge1xuICBPcGVuID0gJ09QRU4nLFxuICBCb29rZWQgPSAnQk9PS0VEJyxcbiAgQm9va2luZ0ZhaWxlZCA9ICdCT09LSU5HX0ZBSUxFRCdcbn1cblxuZXhwb3J0IGVudW0gQmFza2V0U3RhdHVzIHtcbiAgT3BlbiA9ICdPUEVOJyxcbiAgQm9va2VkID0gJ0JPT0tFRCcsXG4gIEF3YWl0aW5nQXBwcm92YWwgPSAnQVdBSVRJTkdfQVBQUk9WQUwnLFxuICBBcHByb3ZlZCA9ICdBUFBST1ZFRCcsXG4gIERpc2FwcHJvdmVkID0gJ0RJU0FQUFJPVkVEJyxcbiAgUGFydGlhbGx5Qm9va2VkID0gJ1BBUlRJQUxMWV9CT09LRUQnLFxuICBCb29raW5nRmFpbGVkID0gJ0JPT0tJTkdfRkFJTEVEJ1xufVxuXG5leHBvcnQgdHlwZSBCZWZvcmVDYW5jZWxsYXRpb25JbmZvID0ge1xuICBfX3R5cGVuYW1lPzogJ0JlZm9yZUNhbmNlbGxhdGlvbkluZm8nO1xuICBjYW5jZWxsYWJsZTogRmllbGRXcmFwcGVyPFNjYWxhcnNbJ0Jvb2xlYW4nXT47XG4gIGluZm8/OiBNYXliZTxGaWVsZFdyYXBwZXI8U2NhbGFyc1snU3RyaW5nJ10+PjtcbiAgY2FuY2VsbGF0aW9uRmVlPzogTWF5YmU8RmllbGRXcmFwcGVyPFNjYWxhcnNbJ0Zsb2F0J10+Pjtcbn07XG5cbmV4cG9ydCBlbnVtIEJvb2tlclR5cGUge1xuICBSb290ID0gJ1JPT1QnLFxuICBUbWMgPSAnVE1DJyxcbiAgQ29tcGFueSA9ICdDT01QQU5ZJyxcbiAgT2ZmaWNlID0gJ09GRklDRScsXG4gIENvbXBhbnlHcm91cCA9ICdDT01QQU5ZX0dST1VQJyxcbiAgU2VsZkJvb2sgPSAnU0VMRl9CT09LJyxcbiAgQm9va2VyID0gJ0JPT0tFUicsXG4gIFRyYXZlbGxlciA9ICdUUkFWRUxMRVInLFxuICBCb29rZXJXaXRoU2VsZiA9ICdCT09LRVJfV0lUSF9TRUxGJ1xufVxuXG5leHBvcnQgdHlwZSBCb29raW5nQWRkcmVzcyA9IHtcbiAgbnVtYmVyT3JOYW1lOiBTY2FsYXJzWydTdHJpbmcnXTtcbiAgc3RyZWV0OiBTY2FsYXJzWydTdHJpbmcnXTtcbiAgdG93bjogU2NhbGFyc1snU3RyaW5nJ107XG4gIGNvdW50eTogU2NhbGFyc1snU3RyaW5nJ107XG4gIHBvc3Rjb2RlOiBTY2FsYXJzWydTdHJpbmcnXTtcbiAgY291bnRyeUNvZGU6IFNjYWxhcnNbJ1N0cmluZyddO1xufTtcblxuZXhwb3J0IHR5cGUgQm9va2luZ1Bob25lTnVtYmVyID0ge1xuICBjb3VudHJ5Q29kZTogU2NhbGFyc1snU3RyaW5nJ107XG4gIGFyZWFDb2RlOiBTY2FsYXJzWydTdHJpbmcnXTtcbiAgbnVtYmVyOiBTY2FsYXJzWydTdHJpbmcnXTtcbiAgZXh0ZW5zaW9uPzogTWF5YmU8U2NhbGFyc1snU3RyaW5nJ10+O1xufTtcblxuZXhwb3J0IHR5cGUgQ2FiSGlyZUxvY2F0aW9uID0ge1xuICBfX3R5cGVuYW1lPzogJ0NhYkhpcmVMb2NhdGlvbic7XG4gIGFkZHJlc3M6IEZpZWxkV3JhcHBlcjxTY2FsYXJzWydTdHJpbmcnXT47XG4gIHBvc3Rjb2RlOiBGaWVsZFdyYXBwZXI8U2NhbGFyc1snU3RyaW5nJ10+O1xuICBsYXRpdHVkZT86IE1heWJlPEZpZWxkV3JhcHBlcjxTY2FsYXJzWydGbG9hdCddPj47XG4gIGxvbmdpdHVkZT86IE1heWJlPEZpZWxkV3JhcHBlcjxTY2FsYXJzWydGbG9hdCddPj47XG59O1xuXG5leHBvcnQgdHlwZSBDYWJIaXJlTG9jYXRpb25JbnB1dCA9IHtcbiAgYWRkcmVzczogU2NhbGFyc1snU3RyaW5nJ107XG4gIHBvc3Rjb2RlOiBTY2FsYXJzWydTdHJpbmcnXTtcbn07XG5cbmV4cG9ydCB0eXBlIENhYkhpcmVRdW90ZSA9IHtcbiAgX190eXBlbmFtZT86ICdDYWJIaXJlUXVvdGUnO1xuICBpZDogRmllbGRXcmFwcGVyPFNjYWxhcnNbJ0lEJ10+O1xuICBzb3VyY2U6IEZpZWxkV3JhcHBlcjxTY2FsYXJzWydTdHJpbmcnXT47XG4gIHNvdXJjZUlkOiBGaWVsZFdyYXBwZXI8U2NhbGFyc1snSW50J10+O1xuICBzdXBwbGllck5hbWU6IEZpZWxkV3JhcHBlcjxTY2FsYXJzWydTdHJpbmcnXT47XG4gIGVzdGltYXRlZENPMjogRmllbGRXcmFwcGVyPFNjYWxhcnNbJ0Zsb2F0J10+O1xuICBjbzJQZXJQYXNzZW5nZXI6IEZpZWxkV3JhcHBlcjxTY2FsYXJzWydGbG9hdCddPjtcbiAgY28yUGVySXRlbTogRmllbGRXcmFwcGVyPFNjYWxhcnNbJ0Zsb2F0J10+O1xuICBwcmljZTogRmllbGRXcmFwcGVyPFNjYWxhcnNbJ0Zsb2F0J10+O1xuICBjdXJyZW5jeTogRmllbGRXcmFwcGVyPEN1cnJlbmN5Q29kZT47XG4gIHZlaGljbGVUeXBlOiBGaWVsZFdyYXBwZXI8Q2FiSGlyZVZlaGljbGVUeXBlPjtcbiAgdHJpcERpc3RhbmNlTWV0cmVzPzogTWF5YmU8RmllbGRXcmFwcGVyPFNjYWxhcnNbJ0ludCddPj47XG4gIHRyaXBEdXJhdGlvblNlY29uZHM/OiBNYXliZTxGaWVsZFdyYXBwZXI8U2NhbGFyc1snSW50J10+PjtcbiAgZGVwYXJ0czogRmllbGRXcmFwcGVyPFNjYWxhcnNbJ0RhdGVUaW1lJ10+O1xuICB0bWNQcmVmZXJyZWQ6IEZpZWxkV3JhcHBlcjxTY2FsYXJzWydCb29sZWFuJ10+O1xuICBjb21wYW55UHJlZmVycmVkOiBGaWVsZFdyYXBwZXI8U2NhbGFyc1snQm9vbGVhbiddPjtcbiAgb2ZmaWNlUHJlZmVycmVkOiBGaWVsZFdyYXBwZXI8U2NhbGFyc1snQm9vbGVhbiddPjtcbiAgdG1jUHJlZmVycmVkTWVzc2FnZT86IE1heWJlPEZpZWxkV3JhcHBlcjxTY2FsYXJzWydTdHJpbmcnXT4+O1xuICBjb21wYW55UHJlZmVycmVkTWVzc2FnZT86IE1heWJlPEZpZWxkV3JhcHBlcjxTY2FsYXJzWydTdHJpbmcnXT4+O1xuICBvZmZpY2VQcmVmZXJyZWRNZXNzYWdlPzogTWF5YmU8RmllbGRXcmFwcGVyPFNjYWxhcnNbJ1N0cmluZyddPj47XG4gIHVuYXZhaWxhYmxlOiBGaWVsZFdyYXBwZXI8U2NhbGFyc1snQm9vbGVhbiddPjtcbiAgdW5hdmFpbGFibGVNZXNzYWdlPzogTWF5YmU8RmllbGRXcmFwcGVyPFNjYWxhcnNbJ1N0cmluZyddPj47XG4gIGZyb21Mb2NhdGlvbjogRmllbGRXcmFwcGVyPENhYkhpcmVMb2NhdGlvbj47XG4gIHRvTG9jYXRpb246IEZpZWxkV3JhcHBlcjxDYWJIaXJlTG9jYXRpb24+O1xuICB2aWFzOiBBcnJheTxGaWVsZFdyYXBwZXI8Q2FiSGlyZUxvY2F0aW9uPj47XG59O1xuXG5leHBvcnQgdHlwZSBDYWJIaXJlUmVzdWx0ID0ge1xuICBfX3R5cGVuYW1lPzogJ0NhYkhpcmVSZXN1bHQnO1xuICByZXN1bHRzOiBBcnJheTxGaWVsZFdyYXBwZXI8Q2FiSGlyZVF1b3RlPj47XG4gIGVycm9yczogQXJyYXk8RmllbGRXcmFwcGVyPFNlYXJjaEVycm9yPj47XG59O1xuXG5leHBvcnQgZW51bSBDYWJIaXJlVmVoaWNsZVR5cGUge1xuICBBbnkgPSAnQW55JyxcbiAgRGRhQ2FyID0gJ0REQUNhcicsXG4gIENvYWNoTGFyZ2UgPSAnQ29hY2hMYXJnZScsXG4gIENvYWNoU21hbGwgPSAnQ29hY2hTbWFsbCcsXG4gIEVjb25vbXkgPSAnRWNvbm9teScsXG4gIEVjb25vbXlDb2FjaCA9ICdFY29ub215Q29hY2gnLFxuICBFY29ub215TXB2U21hbGwgPSAnRWNvbm9teU1QVlNtYWxsJyxcbiAgRWNvbm9teU1wdkxhcmdlID0gJ0Vjb25vbXlNUFZMYXJnZScsXG4gIEVjb25vbXlTdXYgPSAnRWNvbm9teVNVVicsXG4gIEV4ZWN1dGl2ZUNhciA9ICdFeGVjdXRpdmVDYXInLFxuICBFeGVjdXRpdmVTdXYgPSAnRXhlY3V0aXZlU1VWJyxcbiAgR3JlZW5DYXIgPSAnR3JlZW5DYXInLFxuICBHcmVlbkV4ZWN1dGl2ZSA9ICdHcmVlbkV4ZWN1dGl2ZScsXG4gIEdyZWVuU3V2ID0gJ0dyZWVuU1VWJyxcbiAgU21hbGxNcHYgPSAnU21hbGxNUFYnLFxuICBNZWRpdW1NcHYgPSAnTWVkaXVtTVBWJyxcbiAgTGFyZ2VNcHYgPSAnTGFyZ2VNUFYnLFxuICBTdGFuZGFyZENhciA9ICdTdGFuZGFyZENhcicsXG4gIFN1diA9ICdTVVYnLFxuICBCbGFja0NhYiA9ICdCbGFja0NhYicsXG4gIFRheGlTdXYgPSAnVGF4aVNVVidcbn1cblxuZXhwb3J0IHR5cGUgQ2FySGlyZUFkZGl0aW9uYWxJbmZvSXRlbSA9IHtcbiAgX190eXBlbmFtZT86ICdDYXJIaXJlQWRkaXRpb25hbEluZm9JdGVtJztcbiAgbmFtZT86IE1heWJlPEZpZWxkV3JhcHBlcjxTY2FsYXJzWydTdHJpbmcnXT4+O1xuICB0ZXh0PzogTWF5YmU8QXJyYXk8TWF5YmU8RmllbGRXcmFwcGVyPFNjYWxhcnNbJ1N0cmluZyddPj4+PjtcbiAganNvbj86IE1heWJlPEZpZWxkV3JhcHBlcjxTY2FsYXJzWydTdHJpbmcnXT4+O1xuICBjdXN0b20/OiBNYXliZTxBcnJheTxNYXliZTxGaWVsZFdyYXBwZXI8Q2FySGlyZUN1c3RvbT4+Pj47XG59O1xuXG5leHBvcnQgdHlwZSBDYXJIaXJlQWRkcmVzcyA9IHtcbiAgX190eXBlbmFtZT86ICdDYXJIaXJlQWRkcmVzcyc7XG4gIG5hbWU/OiBNYXliZTxGaWVsZFdyYXBwZXI8U2NhbGFyc1snU3RyaW5nJ10+PjtcbiAgdG9wTGluZT86IE1heWJlPEZpZWxkV3JhcHBlcjxTY2FsYXJzWydTdHJpbmcnXT4+O1xuICBjaXR5PzogTWF5YmU8RmllbGRXcmFwcGVyPFNjYWxhcnNbJ1N0cmluZyddPj47XG4gIHJlZ2lvbj86IE1heWJlPEZpZWxkV3JhcHBlcjxTY2FsYXJzWydTdHJpbmcnXT4+O1xuICBwb3N0Q29kZT86IE1heWJlPEZpZWxkV3JhcHBlcjxTY2FsYXJzWydTdHJpbmcnXT4+O1xuICBjb3VudHJ5PzogTWF5YmU8RmllbGRXcmFwcGVyPFNjYWxhcnNbJ1N0cmluZyddPj47XG4gIGNvdW50cnlDb2RlPzogTWF5YmU8RmllbGRXcmFwcGVyPFNjYWxhcnNbJ1N0cmluZyddPj47XG4gIHN0YXRlQ29kZT86IE1heWJlPEZpZWxkV3JhcHBlcjxTY2FsYXJzWydTdHJpbmcnXT4+O1xuICBsYXRpdHVkZT86IE1heWJlPEZpZWxkV3JhcHBlcjxTY2FsYXJzWydGbG9hdCddPj47XG4gIGxvbmdpdHVkZT86IE1heWJlPEZpZWxkV3JhcHBlcjxTY2FsYXJzWydGbG9hdCddPj47XG59O1xuXG5leHBvcnQgdHlwZSBDYXJIaXJlQWlycG9ydElucHV0ID0ge1xuICBwaWNrdXBDb2RlPzogTWF5YmU8U2NhbGFyc1snU3RyaW5nJ10+O1xuICBkcm9wb2ZmQ29kZT86IE1heWJlPFNjYWxhcnNbJ1N0cmluZyddPjtcbn07XG5cbmV4cG9ydCB0eXBlIENhckhpcmVDaGFyZ2UgPSB7XG4gIF9fdHlwZW5hbWU/OiAnQ2FySGlyZUNoYXJnZSc7XG4gIGxhYmVsPzogTWF5YmU8RmllbGRXcmFwcGVyPFNjYWxhcnNbJ1N0cmluZyddPj47XG4gIGFtb3VudD86IE1heWJlPEZpZWxkV3JhcHBlcjxTY2FsYXJzWydTdHJpbmcnXT4+O1xuICBjdXJyZW5jeUNvZGU/OiBNYXliZTxGaWVsZFdyYXBwZXI8U2NhbGFyc1snU3RyaW5nJ10+Pjtcbn07XG5cbmV4cG9ydCB0eXBlIENhckhpcmVDaXR5SW5wdXQgPSB7XG4gIHBpY2t1cENvdW50cnlDb2RlPzogTWF5YmU8U2NhbGFyc1snU3RyaW5nJ10+O1xuICBwaWNrdXBDaXR5PzogTWF5YmU8U2NhbGFyc1snU3RyaW5nJ10+O1xuICBkcm9wb2ZmQ291bnRyeUNvZGU/OiBNYXliZTxTY2FsYXJzWydTdHJpbmcnXT47XG4gIGRyb3BvZmZDaXR5PzogTWF5YmU8U2NhbGFyc1snU3RyaW5nJ10+O1xufTtcblxuZXhwb3J0IGVudW0gQ2FySGlyZUNsYXNzIHtcbiAgTWluaSA9ICdNaW5pJyxcbiAgTWluaUVsaXRlID0gJ01pbmlFbGl0ZScsXG4gIEVjb25vbXkgPSAnRWNvbm9teScsXG4gIEVjb25vbXlFbGl0ZSA9ICdFY29ub215RWxpdGUnLFxuICBDb21wYWN0ID0gJ0NvbXBhY3QnLFxuICBDb21wYWN0RWxpdGUgPSAnQ29tcGFjdEVsaXRlJyxcbiAgSW50ZXJtZWRpYXRlID0gJ0ludGVybWVkaWF0ZScsXG4gIEludGVybWVkaWF0ZUVsaXRlID0gJ0ludGVybWVkaWF0ZUVsaXRlJyxcbiAgU3RhbmRhcmQgPSAnU3RhbmRhcmQnLFxuICBTdGFuZGFyZEVsaXRlID0gJ1N0YW5kYXJkRWxpdGUnLFxuICBGdWxsc2l6ZSA9ICdGdWxsc2l6ZScsXG4gIEZ1bGxzaXplRWxpdGUgPSAnRnVsbHNpemVFbGl0ZScsXG4gIFByZW1pdW0gPSAnUHJlbWl1bScsXG4gIFByZW1pdW1FbGl0ZSA9ICdQcmVtaXVtRWxpdGUnLFxuICBMdXh1cnkgPSAnTHV4dXJ5JyxcbiAgTHV4dXJ5RWxpdGUgPSAnTHV4dXJ5RWxpdGUnLFxuICBPdmVyc2l6ZSA9ICdPdmVyc2l6ZScsXG4gIFNwZWNpYWwgPSAnU3BlY2lhbCdcbn1cblxuZXhwb3J0IHR5cGUgQ2FySGlyZUN1c3RvbSA9IHtcbiAgX190eXBlbmFtZT86ICdDYXJIaXJlQ3VzdG9tJztcbiAgbmFtZT86IE1heWJlPEZpZWxkV3JhcHBlcjxTY2FsYXJzWydTdHJpbmcnXT4+O1xuICB0ZXh0PzogTWF5YmU8QXJyYXk8TWF5YmU8RmllbGRXcmFwcGVyPFNjYWxhcnNbJ1N0cmluZyddPj4+Pjtcbn07XG5cbmV4cG9ydCB0eXBlIENhckhpcmVEZXBvdCA9IHtcbiAgX190eXBlbmFtZT86ICdDYXJIaXJlRGVwb3QnO1xuICBjb3VudHJ5Q29kZT86IE1heWJlPEZpZWxkV3JhcHBlcjxTY2FsYXJzWydTdHJpbmcnXT4+O1xuICBsb2NhdGlvbkNvZGU/OiBNYXliZTxGaWVsZFdyYXBwZXI8U2NhbGFyc1snU3RyaW5nJ10+PjtcbiAgZXh0ZW5kZWRMb2NhdGlvbkNvZGU/OiBNYXliZTxGaWVsZFdyYXBwZXI8U2NhbGFyc1snU3RyaW5nJ10+PjtcbiAgdmVuZG9yQ29kZT86IE1heWJlPEZpZWxkV3JhcHBlcjxTY2FsYXJzWydTdHJpbmcnXT4+O1xuICBsYXRpdHVkZT86IE1heWJlPEZpZWxkV3JhcHBlcjxTY2FsYXJzWydGbG9hdCddPj47XG4gIGxvbmdpdHVkZT86IE1heWJlPEZpZWxkV3JhcHBlcjxTY2FsYXJzWydGbG9hdCddPj47XG4gIHZlbmRvcj86IE1heWJlPEZpZWxkV3JhcHBlcjxTY2FsYXJzWydTdHJpbmcnXT4+O1xuICBhZGRyZXNzTGluZXM/OiBNYXliZTxBcnJheTxNYXliZTxGaWVsZFdyYXBwZXI8U2NhbGFyc1snU3RyaW5nJ10+Pj4+O1xuICBjaXR5TmFtZT86IE1heWJlPEZpZWxkV3JhcHBlcjxTY2FsYXJzWydTdHJpbmcnXT4+O1xufTtcblxuZXhwb3J0IHR5cGUgQ2FySGlyZURlcG90UmVzdWx0ID0ge1xuICBfX3R5cGVuYW1lPzogJ0NhckhpcmVEZXBvdFJlc3VsdCc7XG4gIHJlc3VsdHM6IEFycmF5PEZpZWxkV3JhcHBlcjxDYXJIaXJlRGVwb3Q+PjtcbiAgZXJyb3JzOiBBcnJheTxGaWVsZFdyYXBwZXI8U2VhcmNoRXJyb3I+Pjtcbn07XG5cbmV4cG9ydCB0eXBlIENhckhpcmVEZXRhaWxSZXF1ZXN0UmVzcG9uc2UgPSB7XG4gIF9fdHlwZW5hbWU/OiAnQ2FySGlyZURldGFpbFJlcXVlc3RSZXNwb25zZSc7XG4gIGlkZW50aWZpZXJzPzogTWF5YmU8RmllbGRXcmFwcGVyPENhckhpcmVJZGVudGlmaWVycz4+O1xuICB2ZW5kb3I/OiBNYXliZTxGaWVsZFdyYXBwZXI8Q2FySGlyZVZlbmRvcj4+O1xuICBhZGRyZXNzPzogTWF5YmU8RmllbGRXcmFwcGVyPENhckhpcmVBZGRyZXNzPj47XG4gIGFkZGl0aW9uYWxJbmZvPzogTWF5YmU8QXJyYXk8RmllbGRXcmFwcGVyPENhckhpcmVBZGRpdGlvbmFsSW5mb0l0ZW0+Pj47XG59O1xuXG5leHBvcnQgdHlwZSBDYXJIaXJlRGlzcGxheVJlY29yZCA9IHtcbiAgX190eXBlbmFtZT86ICdDYXJIaXJlRGlzcGxheVJlY29yZCc7XG4gIHN0YXR1cz86IE1heWJlPEZpZWxkV3JhcHBlcjxTY2FsYXJzWydTdHJpbmcnXT4+O1xuICBwaWNrdXA/OiBNYXliZTxGaWVsZFdyYXBwZXI8U2NhbGFyc1snU3RyaW5nJ10+PjtcbiAgZHJvcG9mZj86IE1heWJlPEZpZWxkV3JhcHBlcjxTY2FsYXJzWydTdHJpbmcnXT4+O1xuICB2ZW5kb3I/OiBNYXliZTxGaWVsZFdyYXBwZXI8Q2FySGlyZVZlbmRvcj4+O1xuICB2ZWhpY2xlPzogTWF5YmU8RmllbGRXcmFwcGVyPENhckhpcmVWZWhpY2xlPj47XG4gIGNoYXJnZXM/OiBNYXliZTxBcnJheTxNYXliZTxGaWVsZFdyYXBwZXI8Q2FySGlyZUNoYXJnZT4+Pj47XG4gIHBpY2t1cExvY2F0aW9uPzogTWF5YmU8RmllbGRXcmFwcGVyPENhckhpcmVBZGRyZXNzPj47XG4gIHJldHVybkxvY2F0aW9uPzogTWF5YmU8RmllbGRXcmFwcGVyPENhckhpcmVBZGRyZXNzPj47XG4gIGFkZGl0aW9uYWxJbmZvPzogTWF5YmU8QXJyYXk8TWF5YmU8RmllbGRXcmFwcGVyPENhckhpcmVBZGRpdGlvbmFsSW5mb0l0ZW0+Pj4+O1xufTtcblxuZXhwb3J0IHR5cGUgQ2FySGlyZUlkZW50aWZpZXJzID0ge1xuICBfX3R5cGVuYW1lPzogJ0NhckhpcmVJZGVudGlmaWVycyc7XG4gIGxvY2F0b3I/OiBNYXliZTxGaWVsZFdyYXBwZXI8U2NhbGFyc1snU3RyaW5nJ10+PjtcbiAgcnBoPzogTWF5YmU8RmllbGRXcmFwcGVyPFNjYWxhcnNbJ1N0cmluZyddPj47XG4gIHN0YXR1cz86IE1heWJlPEZpZWxkV3JhcHBlcjxTY2FsYXJzWydTdHJpbmcnXT4+O1xuICB2ZWhUeXBlPzogTWF5YmU8RmllbGRXcmFwcGVyPFNjYWxhcnNbJ1N0cmluZyddPj47XG4gIGxvY2F0aW9uQ29kZT86IE1heWJlPEZpZWxkV3JhcHBlcjxTY2FsYXJzWydTdHJpbmcnXT4+O1xuICBleHRlbmRlZExvY2F0aW9uQ29kZT86IE1heWJlPEZpZWxkV3JhcHBlcjxTY2FsYXJzWydTdHJpbmcnXT4+O1xuICBsb2NhdGlvbk5hbWU/OiBNYXliZTxGaWVsZFdyYXBwZXI8U2NhbGFyc1snU3RyaW5nJ10+PjtcbiAgZHJvcE9mZkxvY2F0aW9uPzogTWF5YmU8RmllbGRXcmFwcGVyPFNjYWxhcnNbJ1N0cmluZyddPj47XG4gIHBpY2t1cERhdGVUaW1lPzogTWF5YmU8RmllbGRXcmFwcGVyPFNjYWxhcnNbJ0RhdGVUaW1lJ10+PjtcbiAgZHJvcG9mZkRhdGVUaW1lPzogTWF5YmU8RmllbGRXcmFwcGVyPFNjYWxhcnNbJ0RhdGVUaW1lJ10+PjtcbiAgdmVuZG9yPzogTWF5YmU8RmllbGRXcmFwcGVyPFNjYWxhcnNbJ1N0cmluZyddPj47XG59O1xuXG5leHBvcnQgdHlwZSBDYXJIaXJlSW5wdXRJZGVudGlmaWVycyA9IHtcbiAgbG9jYXRvcj86IE1heWJlPFNjYWxhcnNbJ1N0cmluZyddPjtcbiAgcnBoPzogTWF5YmU8U2NhbGFyc1snU3RyaW5nJ10+O1xuICBzdGF0dXM/OiBNYXliZTxTY2FsYXJzWydTdHJpbmcnXT47XG4gIHZlaFR5cGU/OiBNYXliZTxTY2FsYXJzWydTdHJpbmcnXT47XG4gIGxvY2F0aW9uQ29kZT86IE1heWJlPFNjYWxhcnNbJ1N0cmluZyddPjtcbiAgZXh0ZW5kZWRMb2NhdGlvbkNvZGU/OiBNYXliZTxTY2FsYXJzWydTdHJpbmcnXT47XG4gIGxvY2F0aW9uTmFtZT86IE1heWJlPFNjYWxhcnNbJ1N0cmluZyddPjtcbiAgZHJvcE9mZkxvY2F0aW9uPzogTWF5YmU8U2NhbGFyc1snU3RyaW5nJ10+O1xuICBwaWNrdXBEYXRlVGltZT86IE1heWJlPFNjYWxhcnNbJ0RhdGVUaW1lJ10+O1xuICBkcm9wb2ZmRGF0ZVRpbWU/OiBNYXliZTxTY2FsYXJzWydEYXRlVGltZSddPjtcbiAgdmVuZG9yPzogTWF5YmU8U2NhbGFyc1snU3RyaW5nJ10+O1xufTtcblxuZXhwb3J0IHR5cGUgQ2FySGlyZUxvY2F0aW9uSW5wdXQgPSB7XG4gIHBpY2t1cENvdW50cnlDb2RlPzogTWF5YmU8U2NhbGFyc1snU3RyaW5nJ10+O1xuICBwaWNrdXBQb3N0YWxDb2RlPzogTWF5YmU8U2NhbGFyc1snU3RyaW5nJ10+O1xuICBkcm9wb2ZmQ291bnRyeUNvZGU/OiBNYXliZTxTY2FsYXJzWydTdHJpbmcnXT47XG4gIGRyb3BvZmZQb3N0YWxDb2RlPzogTWF5YmU8U2NhbGFyc1snU3RyaW5nJ10+O1xufTtcblxuZXhwb3J0IHR5cGUgQ2FySGlyZVJlc3VsdCA9IHtcbiAgX190eXBlbmFtZT86ICdDYXJIaXJlUmVzdWx0JztcbiAgcmVzdWx0czogQXJyYXk8RmllbGRXcmFwcGVyPENhckhpcmVWZWhpY2xlQXZhaWxpYmlsaXR5Pj47XG4gIGVycm9yczogQXJyYXk8RmllbGRXcmFwcGVyPFNlYXJjaEVycm9yPj47XG59O1xuXG5leHBvcnQgZW51bSBDYXJIaXJlVHJhbnNtaXNzaW9uIHtcbiAgTWFudWFsID0gJ01hbnVhbCcsXG4gIEF1dG8gPSAnQXV0bydcbn1cblxuZXhwb3J0IGVudW0gQ2FySGlyZVR5cGUge1xuICBUd29Ub1RocmVlRG9vciA9ICdUd29Ub1RocmVlRG9vcicsXG4gIFR3b09yRm91ckRvb3IgPSAnVHdvT3JGb3VyRG9vcicsXG4gIEZvdXJUb0ZpdmVEb29yID0gJ0ZvdXJUb0ZpdmVEb29yJyxcbiAgV2Fnb25PckVzdGF0ZSA9ICdXYWdvbk9yRXN0YXRlJyxcbiAgUGFzc2VuZ2VyVmFuID0gJ1Bhc3NlbmdlclZhbicsXG4gIExpbW91c2luZSA9ICdMaW1vdXNpbmUnLFxuICBTcG9ydCA9ICdTcG9ydCcsXG4gIENvbnZlcnRpYmxlID0gJ0NvbnZlcnRpYmxlJyxcbiAgU3V2ID0gJ1NVVicsXG4gIE9wZW5BaXJBbGxUZXJyYWluID0gJ09wZW5BaXJBbGxUZXJyYWluJyxcbiAgU3BlY2lhbCA9ICdTcGVjaWFsJyxcbiAgUGlja1VwUmVndWxhckNhYiA9ICdQaWNrVXBSZWd1bGFyQ2FiJyxcbiAgUGlja1VwRXh0ZW5kZWRDYWIgPSAnUGlja1VwRXh0ZW5kZWRDYWInLFxuICBTcGVjaWFsT2ZmZXJDYXIgPSAnU3BlY2lhbE9mZmVyQ2FyJyxcbiAgQ291cGUgPSAnQ291cGUnLFxuICBNb25vc3BhY2VFdXJvcGVhblVzZSA9ICdNb25vc3BhY2VFdXJvcGVhblVzZScsXG4gIE1vdG9ySG9tZSA9ICdNb3RvckhvbWUnLFxuICBUd29XaGVlbFZlaGljbGUgPSAnVHdvV2hlZWxWZWhpY2xlJyxcbiAgUm9hZHN0ZXIgPSAnUm9hZHN0ZXInXG59XG5cbmV4cG9ydCB0eXBlIENhckhpcmVWZWhpY2xlID0ge1xuICBfX3R5cGVuYW1lPzogJ0NhckhpcmVWZWhpY2xlJztcbiAgY2xhc3M/OiBNYXliZTxGaWVsZFdyYXBwZXI8U2NhbGFyc1snU3RyaW5nJ10+PjtcbiAgdHlwZT86IE1heWJlPEZpZWxkV3JhcHBlcjxTY2FsYXJzWydTdHJpbmcnXT4+O1xuICB0cmFuc21pc3Npb24/OiBNYXliZTxGaWVsZFdyYXBwZXI8U2NhbGFyc1snU3RyaW5nJ10+PjtcbiAgYWlyY29uPzogTWF5YmU8RmllbGRXcmFwcGVyPFNjYWxhcnNbJ0Jvb2xlYW4nXT4+O1xuICBkZXNjcmlwdGlvbj86IE1heWJlPEZpZWxkV3JhcHBlcjxTY2FsYXJzWydTdHJpbmcnXT4+O1xuICBpbWFnZXM/OiBNYXliZTxBcnJheTxNYXliZTxGaWVsZFdyYXBwZXI8U2NhbGFyc1snU3RyaW5nJ10+Pj4+O1xufTtcblxuZXhwb3J0IHR5cGUgQ2FySGlyZVZlaGljbGVBdmFpbGliaWxpdHkgPSB7XG4gIF9fdHlwZW5hbWU/OiAnQ2FySGlyZVZlaGljbGVBdmFpbGliaWxpdHknO1xuICBzb3VyY2U6IEZpZWxkV3JhcHBlcjxTY2FsYXJzWydTdHJpbmcnXT47XG4gIHNvdXJjZUlkOiBGaWVsZFdyYXBwZXI8U2NhbGFyc1snSW50J10+O1xuICBpZGVudGlmaWVycz86IE1heWJlPEZpZWxkV3JhcHBlcjxDYXJIaXJlSWRlbnRpZmllcnM+PjtcbiAgZGlzcGxheVJlY29yZD86IE1heWJlPEZpZWxkV3JhcHBlcjxDYXJIaXJlRGlzcGxheVJlY29yZD4+O1xuICB0bWNQcmVmZXJyZWQ6IEZpZWxkV3JhcHBlcjxTY2FsYXJzWydCb29sZWFuJ10+O1xuICBjb21wYW55UHJlZmVycmVkOiBGaWVsZFdyYXBwZXI8U2NhbGFyc1snQm9vbGVhbiddPjtcbiAgb2ZmaWNlUHJlZmVycmVkOiBGaWVsZFdyYXBwZXI8U2NhbGFyc1snQm9vbGVhbiddPjtcbiAgdG1jUHJlZmVycmVkTWVzc2FnZT86IE1heWJlPEZpZWxkV3JhcHBlcjxTY2FsYXJzWydTdHJpbmcnXT4+O1xuICBjb21wYW55UHJlZmVycmVkTWVzc2FnZT86IE1heWJlPEZpZWxkV3JhcHBlcjxTY2FsYXJzWydTdHJpbmcnXT4+O1xuICBvZmZpY2VQcmVmZXJyZWRNZXNzYWdlPzogTWF5YmU8RmllbGRXcmFwcGVyPFNjYWxhcnNbJ1N0cmluZyddPj47XG4gIHVuYXZhaWxhYmxlOiBGaWVsZFdyYXBwZXI8U2NhbGFyc1snQm9vbGVhbiddPjtcbiAgdW5hdmFpbGFibGVNZXNzYWdlPzogTWF5YmU8RmllbGRXcmFwcGVyPFNjYWxhcnNbJ1N0cmluZyddPj47XG4gIGNvMlBlclBhc3NlbmdlcjogRmllbGRXcmFwcGVyPFNjYWxhcnNbJ0Zsb2F0J10+O1xuICBjbzJQZXJJdGVtOiBGaWVsZFdyYXBwZXI8U2NhbGFyc1snRmxvYXQnXT47XG59O1xuXG5leHBvcnQgdHlwZSBDYXJIaXJlVmVuZG9yID0ge1xuICBfX3R5cGVuYW1lPzogJ0NhckhpcmVWZW5kb3InO1xuICBuYW1lPzogTWF5YmU8RmllbGRXcmFwcGVyPFNjYWxhcnNbJ1N0cmluZyddPj47XG4gIGxvZ28/OiBNYXliZTxGaWVsZFdyYXBwZXI8U2NhbGFyc1snU3RyaW5nJ10+Pjtcbn07XG5cbmV4cG9ydCB0eXBlIENhcmJvbkFsbG93YW5jZSA9IHtcbiAgX190eXBlbmFtZT86ICdDYXJib25BbGxvd2FuY2UnO1xuICBpZDogRmllbGRXcmFwcGVyPFNjYWxhcnNbJ0lEJ10+O1xuICBzdGFydE9mUGVyaW9kOiBGaWVsZFdyYXBwZXI8U2NhbGFyc1snRGF0ZVRpbWUnXT47XG4gIGVuZE9mUGVyaW9kOiBGaWVsZFdyYXBwZXI8U2NhbGFyc1snRGF0ZVRpbWUnXT47XG4gIHJlbWFpbmluZ0NvMjogRmllbGRXcmFwcGVyPFNjYWxhcnNbJ0Zsb2F0J10+O1xuICB0b3RhbENvMjogRmllbGRXcmFwcGVyPFNjYWxhcnNbJ0Zsb2F0J10+O1xuICBjYXJib25Qb2xpY3lTb3VyY2U6IEZpZWxkV3JhcHBlcjxDYXJib25Qb2xpY3lTb3VyY2U+O1xuICBwZXJpb2RDb25zdW1wdGlvbjogQXJyYXk8RmllbGRXcmFwcGVyPENhcmJvbkNvbnN1bXB0aW9uPj47XG4gIGNvbXBhbnk/OiBNYXliZTxGaWVsZFdyYXBwZXI8Q29tcGFueT4+O1xuICBvZmZpY2U/OiBNYXliZTxGaWVsZFdyYXBwZXI8T2ZmaWNlPj47XG4gIHVzZXI6IEZpZWxkV3JhcHBlcjxVc2VyPjtcbn07XG5cbmV4cG9ydCB0eXBlIENhcmJvbkNvbnN1bXB0aW9uID0ge1xuICBfX3R5cGVuYW1lPzogJ0NhcmJvbkNvbnN1bXB0aW9uJztcbiAgaWQ6IEZpZWxkV3JhcHBlcjxTY2FsYXJzWydJRCddPjtcbiAgY29uc3VtZWQ6IEZpZWxkV3JhcHBlcjxTY2FsYXJzWydGbG9hdCddPjtcbiAgZGF0ZXRpbWU6IEZpZWxkV3JhcHBlcjxTY2FsYXJzWydEYXRlVGltZSddPjtcbn07XG5cbmV4cG9ydCBlbnVtIENhcmJvblBvbGljeVNvdXJjZSB7XG4gIENvbXBhbnkgPSAnQ09NUEFOWScsXG4gIE9mZmljZSA9ICdPRkZJQ0UnLFxuICBVc2VyID0gJ1VTRVInXG59XG5cbmV4cG9ydCB0eXBlIENpdHkgPSB7XG4gIF9fdHlwZW5hbWU/OiAnQ2l0eSc7XG4gIGlkOiBGaWVsZFdyYXBwZXI8U2NhbGFyc1snSUQnXT47XG4gIG5hbWU6IEZpZWxkV3JhcHBlcjxTY2FsYXJzWydTdHJpbmcnXT47XG4gIGNvdW50cnk6IEZpZWxkV3JhcHBlcjxTY2FsYXJzWydTdHJpbmcnXT47XG4gIGNvdW50cnlDb2RlOiBGaWVsZFdyYXBwZXI8U2NhbGFyc1snU3RyaW5nJ10+O1xuICBjb29yZGluYXRlczogRmllbGRXcmFwcGVyPEdlb0Nvb3JkaW5hdGVzPjtcbiAgY29udGluZW50TmFtZTogRmllbGRXcmFwcGVyPFNjYWxhcnNbJ1N0cmluZyddPjtcbn07XG5cbmV4cG9ydCB0eXBlIENvbXBhbnkgPSB7XG4gIF9fdHlwZW5hbWU/OiAnQ29tcGFueSc7XG4gIGlkOiBGaWVsZFdyYXBwZXI8U2NhbGFyc1snSUQnXT47XG4gIG5hbWU6IEZpZWxkV3JhcHBlcjxTY2FsYXJzWydTdHJpbmcnXT47XG4gIHRtYzogRmllbGRXcmFwcGVyPFRtYz47XG4gIG9mZmljZXM6IEFycmF5PEZpZWxkV3JhcHBlcjxPZmZpY2U+PjtcbiAgY29tcGFueUdyb3VwczogQXJyYXk8RmllbGRXcmFwcGVyPENvbXBhbnlHcm91cD4+O1xuICBhZGRyZXNzZXM6IEFycmF5PEZpZWxkV3JhcHBlcjxBZGRyZXNzPj47XG4gIHBob25lTnVtYmVyczogQXJyYXk8RmllbGRXcmFwcGVyPFBob25lTnVtYmVyPj47XG4gIHN1cHBvcnRQaG9uZU51bWJlcj86IE1heWJlPEZpZWxkV3JhcHBlcjxQaG9uZU51bWJlcj4+O1xuICBjcmVhdGVkQXQ6IEZpZWxkV3JhcHBlcjxTY2FsYXJzWydEYXRlVGltZSddPjtcbiAgdXBkYXRlZEF0OiBGaWVsZFdyYXBwZXI8U2NhbGFyc1snRGF0ZVRpbWUnXT47XG4gIHN1cHBvcnRFbWFpbDogRmllbGRXcmFwcGVyPFNjYWxhcnNbJ1N0cmluZyddPjtcbiAgY28yQ29uc3VtcHRpb25Qb2xpY3k/OiBNYXliZTxGaWVsZFdyYXBwZXI8U2NhbGFyc1snU3RyaW5nJ10+PjtcbiAgY28yQWxsb3dhbmNlUGVyaW9kPzogTWF5YmU8RmllbGRXcmFwcGVyPFNjYWxhcnNbJ1N0cmluZyddPj47XG4gIGNvMkFsbG93YW5jZVBlclBlcmlvZD86IE1heWJlPEZpZWxkV3JhcHBlcjxTY2FsYXJzWydTdHJpbmcnXT4+O1xufTtcblxuZXhwb3J0IHR5cGUgQ29tcGFueUdyb3VwID0ge1xuICBfX3R5cGVuYW1lPzogJ0NvbXBhbnlHcm91cCc7XG4gIGlkOiBGaWVsZFdyYXBwZXI8U2NhbGFyc1snSUQnXT47XG4gIG5hbWU6IEZpZWxkV3JhcHBlcjxTY2FsYXJzWydTdHJpbmcnXT47XG4gIGRlc2NyaXB0aW9uOiBGaWVsZFdyYXBwZXI8U2NhbGFyc1snU3RyaW5nJ10+O1xuICBjb21wYW55OiBGaWVsZFdyYXBwZXI8Q29tcGFueT47XG4gIGNyZWF0ZWRBdDogRmllbGRXcmFwcGVyPFNjYWxhcnNbJ0RhdGVUaW1lJ10+O1xuICB1cGRhdGVkQXQ6IEZpZWxkV3JhcHBlcjxTY2FsYXJzWydEYXRlVGltZSddPjtcbn07XG5cbmV4cG9ydCB0eXBlIENvbmZlcm1hQmxvY2tlZEhvdGVsc1Jlc3VsdCA9IHtcbiAgX190eXBlbmFtZT86ICdDb25mZXJtYUJsb2NrZWRIb3RlbHNSZXN1bHQnO1xuICByZXN1bHRzOiBGaWVsZFdyYXBwZXI8U2NhbGFyc1snQm9vbGVhbiddPjtcbiAgZXJyb3JzOiBBcnJheTxGaWVsZFdyYXBwZXI8U2VhcmNoRXJyb3I+Pjtcbn07XG5cbmV4cG9ydCB0eXBlIENvbmZlcm1hQ2FyZCA9IHtcbiAgX190eXBlbmFtZT86ICdDb25mZXJtYUNhcmQnO1xuICBpZDogRmllbGRXcmFwcGVyPFNjYWxhcnNbJ0lEJ10+O1xuICBsYWJlbD86IE1heWJlPEZpZWxkV3JhcHBlcjxTY2FsYXJzWydTdHJpbmcnXT4+O1xuICB0b2tlbj86IE1heWJlPEZpZWxkV3JhcHBlcjxTY2FsYXJzWydTdHJpbmcnXT4+O1xuICB3ZWJJbnN0YW5jZUlkPzogTWF5YmU8RmllbGRXcmFwcGVyPFNjYWxhcnNbJ1N0cmluZyddPj47XG4gIGNvbXBhbnk/OiBNYXliZTxGaWVsZFdyYXBwZXI8U2NhbGFyc1snSUQnXT4+O1xuICBvZmZpY2U/OiBNYXliZTxGaWVsZFdyYXBwZXI8U2NhbGFyc1snSUQnXT4+O1xuICB1c2VyPzogTWF5YmU8RmllbGRXcmFwcGVyPFNjYWxhcnNbJ0lEJ10+PjtcbiAgc3RhdHVzOiBGaWVsZFdyYXBwZXI8Q29uZmVybWFDYXJkU3RhdHVzPjtcbiAgZXhwaXJlcz86IE1heWJlPEZpZWxkV3JhcHBlcjxTY2FsYXJzWydTdHJpbmcnXT4+O1xuICBjYXJkSG9sZGVyTmFtZT86IE1heWJlPEZpZWxkV3JhcHBlcjxTY2FsYXJzWydTdHJpbmcnXT4+O1xuICBjYXJkVHlwZT86IE1heWJlPEZpZWxkV3JhcHBlcjxTY2FsYXJzWydTdHJpbmcnXT4+O1xufTtcblxuZXhwb3J0IHR5cGUgQ29uZmVybWFDYXJkUmVzdWx0cyA9IHtcbiAgX190eXBlbmFtZT86ICdDb25mZXJtYUNhcmRSZXN1bHRzJztcbiAgaWQ6IEZpZWxkV3JhcHBlcjxTY2FsYXJzWydJRCddPjtcbiAgbGFiZWw/OiBNYXliZTxGaWVsZFdyYXBwZXI8U2NhbGFyc1snU3RyaW5nJ10+PjtcbiAgdG9rZW4/OiBNYXliZTxGaWVsZFdyYXBwZXI8U2NhbGFyc1snU3RyaW5nJ10+PjtcbiAgY2FyZEhvbGRlck5hbWU/OiBNYXliZTxGaWVsZFdyYXBwZXI8U2NhbGFyc1snU3RyaW5nJ10+PjtcbiAgY2FyZFR5cGU/OiBNYXliZTxGaWVsZFdyYXBwZXI8U2NhbGFyc1snU3RyaW5nJ10+PjtcbiAgZXhwaXJlcz86IE1heWJlPEZpZWxkV3JhcHBlcjxTY2FsYXJzWydEYXRlJ10+PjtcbiAgc3RhdHVzOiBGaWVsZFdyYXBwZXI8Q29uZmVybWFDYXJkU3RhdHVzPjtcbn07XG5cbmV4cG9ydCBlbnVtIENvbmZlcm1hQ2FyZFN0YXR1cyB7XG4gIFBlbmRpbmcgPSAnUGVuZGluZycsXG4gIEVuYWJsZWQgPSAnRW5hYmxlZCcsXG4gIERpc2FibGVkID0gJ0Rpc2FibGVkJ1xufVxuXG5leHBvcnQgdHlwZSBDb25mZXJtYUNpdHlMb2NhdGlvbiA9IHtcbiAgX190eXBlbmFtZT86ICdDb25mZXJtYUNpdHlMb2NhdGlvbic7XG4gIGZvdW5kRXhhY3Q6IEZpZWxkV3JhcHBlcjxTY2FsYXJzWydCb29sZWFuJ10+O1xuICBzdWdnZXN0aW9ucz86IE1heWJlPEFycmF5PE1heWJlPEZpZWxkV3JhcHBlcjxDb25mZXJtYUNpdHlMb2NhdGlvbk9wdGlvbnM+Pj4+O1xufTtcblxuZXhwb3J0IHR5cGUgQ29uZmVybWFDaXR5TG9jYXRpb25PcHRpb25zID0ge1xuICBfX3R5cGVuYW1lPzogJ0NvbmZlcm1hQ2l0eUxvY2F0aW9uT3B0aW9ucyc7XG4gIG5hbWU6IEZpZWxkV3JhcHBlcjxTY2FsYXJzWydTdHJpbmcnXT47XG4gIGNvdW50cnlDb2RlOiBGaWVsZFdyYXBwZXI8U2NhbGFyc1snU3RyaW5nJ10+O1xuICBsYXRpdHVkZT86IE1heWJlPEZpZWxkV3JhcHBlcjxTY2FsYXJzWydGbG9hdCddPj47XG4gIGxvbmdpdHVkZT86IE1heWJlPEZpZWxkV3JhcHBlcjxTY2FsYXJzWydGbG9hdCddPj47XG59O1xuXG5leHBvcnQgdHlwZSBDb25mZXJtYUNyZWF0ZUNhcmRSZXN1bHQgPSB7XG4gIF9fdHlwZW5hbWU/OiAnQ29uZmVybWFDcmVhdGVDYXJkUmVzdWx0JztcbiAgcmVzdWx0cz86IE1heWJlPEZpZWxkV3JhcHBlcjxTY2FsYXJzWydTdHJpbmcnXT4+O1xuICBlcnJvcnM6IEFycmF5PEZpZWxkV3JhcHBlcjxTZWFyY2hFcnJvcj4+O1xufTtcblxuZXhwb3J0IHR5cGUgQ29uZmVybWFPZmZpY2VBZGRyZXNzID0ge1xuICBfX3R5cGVuYW1lPzogJ0NvbmZlcm1hT2ZmaWNlQWRkcmVzcyc7XG4gIGFkZHJlc3NOYW1lPzogTWF5YmU8RmllbGRXcmFwcGVyPFNjYWxhcnNbJ1N0cmluZyddPj47XG4gIGFkZHJlc3NMaW5lMT86IE1heWJlPEZpZWxkV3JhcHBlcjxTY2FsYXJzWydTdHJpbmcnXT4+O1xuICBhZGRyZXNzTGluZTI/OiBNYXliZTxGaWVsZFdyYXBwZXI8U2NhbGFyc1snU3RyaW5nJ10+PjtcbiAgYWRkcmVzc0xpbmUzPzogTWF5YmU8RmllbGRXcmFwcGVyPFNjYWxhcnNbJ1N0cmluZyddPj47XG4gIHBvc3RhbENvZGU/OiBNYXliZTxGaWVsZFdyYXBwZXI8U2NhbGFyc1snU3RyaW5nJ10+PjtcbiAgY2l0eT86IE1heWJlPEZpZWxkV3JhcHBlcjxTY2FsYXJzWydTdHJpbmcnXT4+O1xuICBjb3VudHJ5Q29kZT86IE1heWJlPEZpZWxkV3JhcHBlcjxTY2FsYXJzWydTdHJpbmcnXT4+O1xuICBjb3VudHJ5TmFtZT86IE1heWJlPEZpZWxkV3JhcHBlcjxTY2FsYXJzWydTdHJpbmcnXT4+O1xuICB0ZWxlcGhvbmVOdW1iZXI/OiBNYXliZTxGaWVsZFdyYXBwZXI8U2NhbGFyc1snU3RyaW5nJ10+PjtcbiAgZmFjc2ltaWxlTnVtYmVyPzogTWF5YmU8RmllbGRXcmFwcGVyPFNjYWxhcnNbJ1N0cmluZyddPj47XG4gIGVtYWlsQWRkcmVzcz86IE1heWJlPEZpZWxkV3JhcHBlcjxTY2FsYXJzWydTdHJpbmcnXT4+O1xuICBzdGF0ZVByb3ZpbmNlPzogTWF5YmU8RmllbGRXcmFwcGVyPFNjYWxhcnNbJ1N0cmluZyddPj47XG4gIG1vYmlsZU51bWJlcj86IE1heWJlPEZpZWxkV3JhcHBlcjxTY2FsYXJzWydTdHJpbmcnXT4+O1xufTtcblxuZXhwb3J0IHR5cGUgQ29uZmVybWFPZmZpY2VIb3RlbHMgPSB7XG4gIF9fdHlwZW5hbWU/OiAnQ29uZmVybWFPZmZpY2VIb3RlbHMnO1xuICBob3RlbElkPzogTWF5YmU8RmllbGRXcmFwcGVyPFNjYWxhcnNbJ0ludCddPj47XG4gIGhvdGVsTmFtZT86IE1heWJlPEZpZWxkV3JhcHBlcjxTY2FsYXJzWydTdHJpbmcnXT4+O1xuICBpc1ByZWZlcnJlZD86IE1heWJlPEZpZWxkV3JhcHBlcjxTY2FsYXJzWydCb29sZWFuJ10+Pjtcbn07XG5cbmV4cG9ydCB0eXBlIENvbmZlcm1hT2ZmaWNlSW5mbyA9IHtcbiAgX190eXBlbmFtZT86ICdDb25mZXJtYU9mZmljZUluZm8nO1xuICBpZDogRmllbGRXcmFwcGVyPFNjYWxhcnNbJ0ludCddPjtcbiAgbmFtZT86IE1heWJlPEZpZWxkV3JhcHBlcjxTY2FsYXJzWydTdHJpbmcnXT4+O1xuICBhZGRyZXNzPzogTWF5YmU8RmllbGRXcmFwcGVyPENvbmZlcm1hT2ZmaWNlQWRkcmVzcz4+O1xuICBjbG9zZXN0QWlycG9ydD86IE1heWJlPEZpZWxkV3JhcHBlcjxTY2FsYXJzWydTdHJpbmcnXT4+O1xuICBjbG9zZXN0VHJhaW5TdGF0aW9uPzogTWF5YmU8RmllbGRXcmFwcGVyPFNjYWxhcnNbJ1N0cmluZyddPj47XG4gIGxvbmdpdHVkZT86IE1heWJlPEZpZWxkV3JhcHBlcjxTY2FsYXJzWydTdHJpbmcnXT4+O1xuICBsYXRpdHVkZT86IE1heWJlPEZpZWxkV3JhcHBlcjxTY2FsYXJzWydTdHJpbmcnXT4+O1xuICBjbG9zZXN0SG90ZWxzPzogTWF5YmU8QXJyYXk8TWF5YmU8RmllbGRXcmFwcGVyPENvbmZlcm1hT2ZmaWNlSG90ZWxzPj4+Pjtcbn07XG5cbmV4cG9ydCB0eXBlIENvbmZlcm1hT2ZmaWNlTmFtZXMgPSB7XG4gIF9fdHlwZW5hbWU/OiAnQ29uZmVybWFPZmZpY2VOYW1lcyc7XG4gIGlkOiBGaWVsZFdyYXBwZXI8U2NhbGFyc1snSW50J10+O1xuICBuYW1lOiBGaWVsZFdyYXBwZXI8U2NhbGFyc1snU3RyaW5nJ10+O1xufTtcblxuZXhwb3J0IHR5cGUgQ29uZmVybWFPZmZpY2VOYW1lc1Jlc3VsdCA9IHtcbiAgX190eXBlbmFtZT86ICdDb25mZXJtYU9mZmljZU5hbWVzUmVzdWx0JztcbiAgcmVzdWx0cz86IE1heWJlPEFycmF5PE1heWJlPEZpZWxkV3JhcHBlcjxDb25mZXJtYU9mZmljZU5hbWVzPj4+PjtcbiAgZXJyb3JzOiBBcnJheTxGaWVsZFdyYXBwZXI8U2VhcmNoRXJyb3I+Pjtcbn07XG5cbmV4cG9ydCB0eXBlIENvbmZlcm1hT2ZmaWNlUmVzdWx0ID0ge1xuICBfX3R5cGVuYW1lPzogJ0NvbmZlcm1hT2ZmaWNlUmVzdWx0JztcbiAgcmVzdWx0cz86IE1heWJlPEZpZWxkV3JhcHBlcjxDb25mZXJtYU9mZmljZUluZm8+PjtcbiAgZXJyb3JzOiBBcnJheTxGaWVsZFdyYXBwZXI8U2VhcmNoRXJyb3I+Pjtcbn07XG5cbmV4cG9ydCB0eXBlIENvdW50cnkgPSB7XG4gIF9fdHlwZW5hbWU/OiAnQ291bnRyeSc7XG4gIGlkOiBGaWVsZFdyYXBwZXI8U2NhbGFyc1snSUQnXT47XG4gIG5hbWU6IEZpZWxkV3JhcHBlcjxTY2FsYXJzWydTdHJpbmcnXT47XG4gIGNvZGU6IEZpZWxkV3JhcHBlcjxTY2FsYXJzWydTdHJpbmcnXT47XG4gIGRpYWxDb2RlPzogTWF5YmU8RmllbGRXcmFwcGVyPFNjYWxhcnNbJ1N0cmluZyddPj47XG59O1xuXG5leHBvcnQgZW51bSBDdXJyZW5jeUNvZGUge1xuICBBZWQgPSAnQUVEJyxcbiAgQWZuID0gJ0FGTicsXG4gIEFsbCA9ICdBTEwnLFxuICBBbWQgPSAnQU1EJyxcbiAgQW5nID0gJ0FORycsXG4gIEFvYSA9ICdBT0EnLFxuICBBcnMgPSAnQVJTJyxcbiAgQXVkID0gJ0FVRCcsXG4gIEF3ZyA9ICdBV0cnLFxuICBBem4gPSAnQVpOJyxcbiAgQmFtID0gJ0JBTScsXG4gIEJiZCA9ICdCQkQnLFxuICBCZHQgPSAnQkRUJyxcbiAgQmduID0gJ0JHTicsXG4gIEJoZCA9ICdCSEQnLFxuICBCaWYgPSAnQklGJyxcbiAgQm1kID0gJ0JNRCcsXG4gIEJuZCA9ICdCTkQnLFxuICBCb2IgPSAnQk9CJyxcbiAgQm92ID0gJ0JPVicsXG4gIEJybCA9ICdCUkwnLFxuICBCc2QgPSAnQlNEJyxcbiAgQnRuID0gJ0JUTicsXG4gIEJ3cCA9ICdCV1AnLFxuICBCeW4gPSAnQllOJyxcbiAgQnpkID0gJ0JaRCcsXG4gIENhZCA9ICdDQUQnLFxuICBDZGYgPSAnQ0RGJyxcbiAgQ2hlID0gJ0NIRScsXG4gIENoZiA9ICdDSEYnLFxuICBDaHcgPSAnQ0hXJyxcbiAgQ2xmID0gJ0NMRicsXG4gIENscCA9ICdDTFAnLFxuICBDbnkgPSAnQ05ZJyxcbiAgQ29wID0gJ0NPUCcsXG4gIENvdSA9ICdDT1UnLFxuICBDcmMgPSAnQ1JDJyxcbiAgQ3VjID0gJ0NVQycsXG4gIEN1cCA9ICdDVVAnLFxuICBDdmUgPSAnQ1ZFJyxcbiAgQ3prID0gJ0NaSycsXG4gIERqZiA9ICdESkYnLFxuICBEa2sgPSAnREtLJyxcbiAgRG9wID0gJ0RPUCcsXG4gIER6ZCA9ICdEWkQnLFxuICBFZ3AgPSAnRUdQJyxcbiAgRXJuID0gJ0VSTicsXG4gIEV0YiA9ICdFVEInLFxuICBFdXIgPSAnRVVSJyxcbiAgRmpkID0gJ0ZKRCcsXG4gIEZrcCA9ICdGS1AnLFxuICBHYnAgPSAnR0JQJyxcbiAgR2VsID0gJ0dFTCcsXG4gIEdocyA9ICdHSFMnLFxuICBHaXAgPSAnR0lQJyxcbiAgR21kID0gJ0dNRCcsXG4gIEduZiA9ICdHTkYnLFxuICBHdHEgPSAnR1RRJyxcbiAgR3lkID0gJ0dZRCcsXG4gIEhrZCA9ICdIS0QnLFxuICBIbmwgPSAnSE5MJyxcbiAgSHJrID0gJ0hSSycsXG4gIEh0ZyA9ICdIVEcnLFxuICBIdWYgPSAnSFVGJyxcbiAgSWRyID0gJ0lEUicsXG4gIElscyA9ICdJTFMnLFxuICBJbnIgPSAnSU5SJyxcbiAgSXFkID0gJ0lRRCcsXG4gIElyciA9ICdJUlInLFxuICBJc2sgPSAnSVNLJyxcbiAgSm1kID0gJ0pNRCcsXG4gIEpvZCA9ICdKT0QnLFxuICBKcHkgPSAnSlBZJyxcbiAgS2VzID0gJ0tFUycsXG4gIEtncyA9ICdLR1MnLFxuICBLaHIgPSAnS0hSJyxcbiAgS21mID0gJ0tNRicsXG4gIEtwdyA9ICdLUFcnLFxuICBLcncgPSAnS1JXJyxcbiAgS3dkID0gJ0tXRCcsXG4gIEt5ZCA9ICdLWUQnLFxuICBLenQgPSAnS1pUJyxcbiAgTGFrID0gJ0xBSycsXG4gIExicCA9ICdMQlAnLFxuICBMa3IgPSAnTEtSJyxcbiAgTHJkID0gJ0xSRCcsXG4gIExzbCA9ICdMU0wnLFxuICBMeWQgPSAnTFlEJyxcbiAgTWFkID0gJ01BRCcsXG4gIE1kbCA9ICdNREwnLFxuICBNZ2EgPSAnTUdBJyxcbiAgTWtkID0gJ01LRCcsXG4gIE1tayA9ICdNTUsnLFxuICBNbnQgPSAnTU5UJyxcbiAgTW9wID0gJ01PUCcsXG4gIE1ydSA9ICdNUlUnLFxuICBNdXIgPSAnTVVSJyxcbiAgTXZyID0gJ01WUicsXG4gIE13ayA9ICdNV0snLFxuICBNeG4gPSAnTVhOJyxcbiAgTXh2ID0gJ01YVicsXG4gIE15ciA9ICdNWVInLFxuICBNem4gPSAnTVpOJyxcbiAgTmFkID0gJ05BRCcsXG4gIE5nbiA9ICdOR04nLFxuICBOaW8gPSAnTklPJyxcbiAgTm9rID0gJ05PSycsXG4gIE5wciA9ICdOUFInLFxuICBOemQgPSAnTlpEJyxcbiAgT21yID0gJ09NUicsXG4gIFBhYiA9ICdQQUInLFxuICBQZW4gPSAnUEVOJyxcbiAgUGdrID0gJ1BHSycsXG4gIFBocCA9ICdQSFAnLFxuICBQa3IgPSAnUEtSJyxcbiAgUGxuID0gJ1BMTicsXG4gIFB5ZyA9ICdQWUcnLFxuICBRYXIgPSAnUUFSJyxcbiAgUm9uID0gJ1JPTicsXG4gIFJzZCA9ICdSU0QnLFxuICBSdWIgPSAnUlVCJyxcbiAgUndmID0gJ1JXRicsXG4gIFNhciA9ICdTQVInLFxuICBTYmQgPSAnU0JEJyxcbiAgU2NyID0gJ1NDUicsXG4gIFNkZyA9ICdTREcnLFxuICBTZWsgPSAnU0VLJyxcbiAgU2dkID0gJ1NHRCcsXG4gIFNocCA9ICdTSFAnLFxuICBTbGwgPSAnU0xMJyxcbiAgU29zID0gJ1NPUycsXG4gIFNyZCA9ICdTUkQnLFxuICBTc3AgPSAnU1NQJyxcbiAgU3RuID0gJ1NUTicsXG4gIFN2YyA9ICdTVkMnLFxuICBTeXAgPSAnU1lQJyxcbiAgU3psID0gJ1NaTCcsXG4gIFRoYiA9ICdUSEInLFxuICBUanMgPSAnVEpTJyxcbiAgVG10ID0gJ1RNVCcsXG4gIFRuZCA9ICdUTkQnLFxuICBUb3AgPSAnVE9QJyxcbiAgVHJ5ID0gJ1RSWScsXG4gIFR0ZCA9ICdUVEQnLFxuICBUd2QgPSAnVFdEJyxcbiAgVHpzID0gJ1RaUycsXG4gIFVhaCA9ICdVQUgnLFxuICBVZ3ggPSAnVUdYJyxcbiAgVXNkID0gJ1VTRCcsXG4gIFVzbiA9ICdVU04nLFxuICBVeWkgPSAnVVlJJyxcbiAgVXl1ID0gJ1VZVScsXG4gIFV6cyA9ICdVWlMnLFxuICBWZWYgPSAnVkVGJyxcbiAgVm5kID0gJ1ZORCcsXG4gIFZ1diA9ICdWVVYnLFxuICBXc3QgPSAnV1NUJyxcbiAgWGFmID0gJ1hBRicsXG4gIFhhZyA9ICdYQUcnLFxuICBYYXUgPSAnWEFVJyxcbiAgWGJhID0gJ1hCQScsXG4gIFhiYiA9ICdYQkInLFxuICBYYmMgPSAnWEJDJyxcbiAgWGJkID0gJ1hCRCcsXG4gIFhjZCA9ICdYQ0QnLFxuICBYZHIgPSAnWERSJyxcbiAgWG9mID0gJ1hPRicsXG4gIFhwZCA9ICdYUEQnLFxuICBYcGYgPSAnWFBGJyxcbiAgWHB0ID0gJ1hQVCcsXG4gIFhzdSA9ICdYU1UnLFxuICBYdHMgPSAnWFRTJyxcbiAgWHVhID0gJ1hVQScsXG4gIFh4eCA9ICdYWFgnLFxuICBZZXIgPSAnWUVSJyxcbiAgWmFyID0gJ1pBUicsXG4gIFptdyA9ICdaTVcnLFxuICBad2wgPSAnWldMJ1xufVxuXG5cblxuZXhwb3J0IHR5cGUgRGVwYXJ0dXJlQm9hcmRTZXJ2aWNlID0ge1xuICBfX3R5cGVuYW1lPzogJ0RlcGFydHVyZUJvYXJkU2VydmljZSc7XG4gIHJpZD86IE1heWJlPEZpZWxkV3JhcHBlcjxTY2FsYXJzWydTdHJpbmcnXT4+O1xuICB1aWQ/OiBNYXliZTxGaWVsZFdyYXBwZXI8U2NhbGFyc1snU3RyaW5nJ10+PjtcbiAgdHJhaW5pZD86IE1heWJlPEZpZWxkV3JhcHBlcjxTY2FsYXJzWydTdHJpbmcnXT4+O1xuICBzZGQ/OiBNYXliZTxGaWVsZFdyYXBwZXI8U2NhbGFyc1snU3RyaW5nJ10+PjtcbiAgb3BlcmF0b3I/OiBNYXliZTxGaWVsZFdyYXBwZXI8U2NhbGFyc1snU3RyaW5nJ10+PjtcbiAgb3BlcmF0b3JDb2RlPzogTWF5YmU8RmllbGRXcmFwcGVyPFNjYWxhcnNbJ1N0cmluZyddPj47XG4gIHN0ZD86IE1heWJlPEZpZWxkV3JhcHBlcjxTY2FsYXJzWydTdHJpbmcnXT4+O1xuICBldGQ/OiBNYXliZTxGaWVsZFdyYXBwZXI8U2NhbGFyc1snU3RyaW5nJ10+PjtcbiAgZGVwYXJ0dXJlVHlwZT86IE1heWJlPEZpZWxkV3JhcHBlcjxTY2FsYXJzWydTdHJpbmcnXT4+O1xuICBkZXBhcnR1cmVTb3VyY2U/OiBNYXliZTxGaWVsZFdyYXBwZXI8U2NhbGFyc1snU3RyaW5nJ10+PjtcbiAgcGxhdGZvcm0/OiBNYXliZTxGaWVsZFdyYXBwZXI8U2NhbGFyc1snU3RyaW5nJ10+PjtcbiAgcGxhdGZvcm1Jc0hpZGRlbjogRmllbGRXcmFwcGVyPFNjYWxhcnNbJ0Jvb2xlYW4nXT47XG4gIG9yaWdpbj86IE1heWJlPEZpZWxkV3JhcHBlcjxMb2NhdGlvbj4+O1xuICBkZXN0aW5hdGlvbj86IE1heWJlPEZpZWxkV3JhcHBlcjxMb2NhdGlvbj4+O1xuICBzdWJzZXF1ZW50TG9jYXRpb25zPzogTWF5YmU8QXJyYXk8TWF5YmU8RmllbGRXcmFwcGVyPFN1YnNlcXVlbnRMb2NhdGlvbnM+Pj4+O1xufTtcblxuZXhwb3J0IHR5cGUgRGVzdGluYXRpb25FbnRyeSA9IHtcbiAgb3JpZzogU2NhbGFyc1snU3RyaW5nJ107XG4gIGRlc3Q6IFNjYWxhcnNbJ1N0cmluZyddO1xuICBkYXRlOiBTY2FsYXJzWydEYXRlJ107XG59O1xuXG5leHBvcnQgZW51bSBEaXN0YW5jZVR5cGVzIHtcbiAgSyA9ICdLJyxcbiAgTSA9ICdNJ1xufVxuXG5leHBvcnQgdHlwZSBEeW5hbWljQ29uZGl0aW9uID0ge1xuICBfX3R5cGVuYW1lPzogJ0R5bmFtaWNDb25kaXRpb24nO1xuICBuYW1lPzogTWF5YmU8RmllbGRXcmFwcGVyPFNjYWxhcnNbJ1N0cmluZyddPj47XG4gIGRlc2NyaXB0aW9uPzogTWF5YmU8RmllbGRXcmFwcGVyPFNjYWxhcnNbJ1N0cmluZyddPj47XG59O1xuXG5leHBvcnQgdHlwZSBGZUZsaWdodFNlYXJjaFJlc3VsdHMgPSB7XG4gIF9fdHlwZW5hbWU/OiAnRkVGbGlnaHRTZWFyY2hSZXN1bHRzJztcbiAgam91cm5leXM6IEFycmF5PEZpZWxkV3JhcHBlcjxGbGlnaHRJdGluZXJhcnk+PjtcbiAgbXVsdGk6IEFycmF5PEZpZWxkV3JhcHBlcjxJdGluZXJhcnlTdW1tYXJ5Pj47XG4gIGdyb3VwZWQ/OiBNYXliZTxBcnJheTxGaWVsZFdyYXBwZXI8R3JvdXBGbGlnaHRzPj4+O1xufTtcblxuZXhwb3J0IHR5cGUgRmFyZUNvbmRpdGlvbkVudHJ5ID0ge1xuICBfX3R5cGVuYW1lPzogJ0ZhcmVDb25kaXRpb25FbnRyeSc7XG4gIG5hbWU6IEZpZWxkV3JhcHBlcjxTY2FsYXJzWydTdHJpbmcnXT47XG4gIHR5cGU6IEZpZWxkV3JhcHBlcjxGYXJlUnVsZVR5cGU+O1xuICBjdXJyZW5jeTogRmllbGRXcmFwcGVyPFNjYWxhcnNbJ1N0cmluZyddPjtcbiAgYW1vdW50OiBGaWVsZFdyYXBwZXI8U2NhbGFyc1snRmxvYXQnXT47XG4gIHJlbWFyaz86IE1heWJlPEZpZWxkV3JhcHBlcjxTY2FsYXJzWydTdHJpbmcnXT4+O1xuICBjaGFuZ2VGZWVJbmQ6IEZpZWxkV3JhcHBlcjxTY2FsYXJzWydCb29sZWFuJ10+O1xuICBjYW5jZWxGZWVJbmQ6IEZpZWxkV3JhcHBlcjxTY2FsYXJzWydCb29sZWFuJ10+O1xuICByZWZ1bmRhYmxlSW5kOiBGaWVsZFdyYXBwZXI8U2NhbGFyc1snQm9vbGVhbiddPjtcbn07XG5cbmV4cG9ydCB0eXBlIEZhcmVDb25kaXRpb25zID0ge1xuICBfX3R5cGVuYW1lPzogJ0ZhcmVDb25kaXRpb25zJztcbiAgY2FuY2VsbGF0aW9uPzogTWF5YmU8QXJyYXk8TWF5YmU8RmllbGRXcmFwcGVyPEZhcmVDb25kaXRpb25FbnRyeT4+Pj47XG4gIGNoYW5nZT86IE1heWJlPEFycmF5PE1heWJlPEZpZWxkV3JhcHBlcjxGYXJlQ29uZGl0aW9uRW50cnk+Pj4+O1xuICBub1Nob3c/OiBNYXliZTxBcnJheTxNYXliZTxGaWVsZFdyYXBwZXI8RmFyZUNvbmRpdGlvbkVudHJ5Pj4+PjtcbiAgdXBncmFkZT86IE1heWJlPEFycmF5PE1heWJlPEZpZWxkV3JhcHBlcjxGYXJlQ29uZGl0aW9uRW50cnk+Pj4+O1xuICBvdGhlcj86IE1heWJlPEFycmF5PE1heWJlPEZpZWxkV3JhcHBlcjxGYXJlQ29uZGl0aW9uRW50cnk+Pj4+O1xufTtcblxuZXhwb3J0IGVudW0gRmFyZVJ1bGVUeXBlIHtcbiAgQ2FuY2VsbGF0aW9uID0gJ0NhbmNlbGxhdGlvbicsXG4gIENoYW5nZSA9ICdDaGFuZ2UnLFxuICBOb1Nob3cgPSAnTm9TaG93JyxcbiAgVXBncmFkZSA9ICdVcGdyYWRlJyxcbiAgT3RoZXIgPSAnT3RoZXInXG59XG5cbmV4cG9ydCBlbnVtIEZhcmVUeXBlIHtcbiAgRmxleGlibGUgPSAnRmxleGlibGUnLFxuICBMb3dlc3QgPSAnTG93ZXN0JyxcbiAgTmVnb3RpYXRlZCA9ICdOZWdvdGlhdGVkJyxcbiAgTm9uTmVnb3RpYXRlZCA9ICdOb25OZWdvdGlhdGVkJyxcbiAgTGVpc3VyZSA9ICdMZWlzdXJlJyxcbiAgUmVxdWVzdEZhcmVSdWxlcyA9ICdSZXF1ZXN0RmFyZVJ1bGVzJyxcbiAgU2VsZWN0QW5kUHJvID0gJ1NlbGVjdEFuZFBybydcbn1cblxuZXhwb3J0IHR5cGUgRmFzdFRyYWNrUXVvdGUgPSB7XG4gIF9fdHlwZW5hbWU/OiAnRmFzdFRyYWNrUXVvdGUnO1xuICBzb3VyY2U6IEZpZWxkV3JhcHBlcjxTY2FsYXJzWydTdHJpbmcnXT47XG4gIHNvdXJjZUlkOiBGaWVsZFdyYXBwZXI8U2NhbGFyc1snSW50J10+O1xuICBuYW1lOiBGaWVsZFdyYXBwZXI8U2NhbGFyc1snU3RyaW5nJ10+O1xuICBjb2RlOiBGaWVsZFdyYXBwZXI8U2NhbGFyc1snU3RyaW5nJ10+O1xuICBwcmljZTogRmllbGRXcmFwcGVyPFNjYWxhcnNbJ0Zsb2F0J10+O1xuICBjdXJyZW5jeTogRmllbGRXcmFwcGVyPFNjYWxhcnNbJ1N0cmluZyddPjtcbiAgcmVmdW5kYWJsZTogRmllbGRXcmFwcGVyPFNjYWxhcnNbJ0Jvb2xlYW4nXT47XG4gIHRlcm1pbmFsPzogTWF5YmU8RmllbGRXcmFwcGVyPFNjYWxhcnNbJ0ludCddPj47XG4gIGltYWdlczogQXJyYXk8RmllbGRXcmFwcGVyPFNjYWxhcnNbJ1N0cmluZyddPj47XG4gIGxvZ28/OiBNYXliZTxGaWVsZFdyYXBwZXI8U2NhbGFyc1snU3RyaW5nJ10+PjtcbiAgZGVzY3JpcHRpb24/OiBNYXliZTxGaWVsZFdyYXBwZXI8U2NhbGFyc1snU3RyaW5nJ10+PjtcbiAgaW1wb3J0YW50SW5mbz86IE1heWJlPEZpZWxkV3JhcHBlcjxTY2FsYXJzWydTdHJpbmcnXT4+O1xuICB0bWNQcmVmZXJyZWQ6IEZpZWxkV3JhcHBlcjxTY2FsYXJzWydCb29sZWFuJ10+O1xuICBjb21wYW55UHJlZmVycmVkOiBGaWVsZFdyYXBwZXI8U2NhbGFyc1snQm9vbGVhbiddPjtcbiAgb2ZmaWNlUHJlZmVycmVkOiBGaWVsZFdyYXBwZXI8U2NhbGFyc1snQm9vbGVhbiddPjtcbiAgdG1jUHJlZmVycmVkTWVzc2FnZT86IE1heWJlPEZpZWxkV3JhcHBlcjxTY2FsYXJzWydTdHJpbmcnXT4+O1xuICBjb21wYW55UHJlZmVycmVkTWVzc2FnZT86IE1heWJlPEZpZWxkV3JhcHBlcjxTY2FsYXJzWydTdHJpbmcnXT4+O1xuICBvZmZpY2VQcmVmZXJyZWRNZXNzYWdlPzogTWF5YmU8RmllbGRXcmFwcGVyPFNjYWxhcnNbJ1N0cmluZyddPj47XG4gIHVuYXZhaWxhYmxlOiBGaWVsZFdyYXBwZXI8U2NhbGFyc1snQm9vbGVhbiddPjtcbiAgdW5hdmFpbGFibGVNZXNzYWdlPzogTWF5YmU8RmllbGRXcmFwcGVyPFNjYWxhcnNbJ1N0cmluZyddPj47XG4gIGNvMlBlclBhc3NlbmdlcjogRmllbGRXcmFwcGVyPFNjYWxhcnNbJ0Zsb2F0J10+O1xuICBjbzJQZXJJdGVtOiBGaWVsZFdyYXBwZXI8U2NhbGFyc1snRmxvYXQnXT47XG59O1xuXG5leHBvcnQgdHlwZSBGYXN0VHJhY2tSZXN1bHQgPSB7XG4gIF9fdHlwZW5hbWU/OiAnRmFzdFRyYWNrUmVzdWx0JztcbiAgcmVzdWx0czogQXJyYXk8RmllbGRXcmFwcGVyPEZhc3RUcmFja1F1b3RlPj47XG4gIGVycm9yczogQXJyYXk8RmllbGRXcmFwcGVyPFNlYXJjaEVycm9yPj47XG59O1xuXG5leHBvcnQgdHlwZSBGbGlnaHRBbW91bnQgPSB7XG4gIF9fdHlwZW5hbWU/OiAnRmxpZ2h0QW1vdW50JztcbiAgZGVzY3JpcHRpb246IEZpZWxkV3JhcHBlcjxTY2FsYXJzWydTdHJpbmcnXT47XG4gIGFtb3VudDogRmllbGRXcmFwcGVyPFNjYWxhcnNbJ0Zsb2F0J10+O1xuICBjdXJyZW5jeTogRmllbGRXcmFwcGVyPFNjYWxhcnNbJ1N0cmluZyddPjtcbn07XG5cbmV4cG9ydCBlbnVtIEZsaWdodENhYmluQ2xhc3Mge1xuICBBbnkgPSAnQW55JyxcbiAgTGl0ZUVjb25vbXkgPSAnTGl0ZUVjb25vbXknLFxuICBFY29ub215ID0gJ0Vjb25vbXknLFxuICBFY29ub215UmVzdHJpY3RlZCA9ICdFY29ub215UmVzdHJpY3RlZCcsXG4gIEVjb25vbXlOb0JhZ3MgPSAnRWNvbm9teU5vQmFncycsXG4gIEVjb25vbXlGbGV4aSA9ICdFY29ub215RmxleGknLFxuICBQcmVtaXVtRWNvbm9teSA9ICdQcmVtaXVtRWNvbm9teScsXG4gIEJ1c2luZXNzID0gJ0J1c2luZXNzJyxcbiAgUHJlbWl1bUJ1c2luZXNzID0gJ1ByZW1pdW1CdXNpbmVzcycsXG4gIEZpcnN0ID0gJ0ZpcnN0JyxcbiAgUHJlbWl1bUZpcnN0ID0gJ1ByZW1pdW1GaXJzdCdcbn1cblxuZXhwb3J0IHR5cGUgRmxpZ2h0Q2FyYm9uRW1pc3Npb25zID0ge1xuICBfX3R5cGVuYW1lPzogJ0ZsaWdodENhcmJvbkVtaXNzaW9ucyc7XG4gIGFtb3VudD86IE1heWJlPEZpZWxkV3JhcHBlcjxTY2FsYXJzWydGbG9hdCddPj47XG4gIHVuaXQ6IEZpZWxkV3JhcHBlcjxTY2FsYXJzWydTdHJpbmcnXT47XG59O1xuXG5leHBvcnQgdHlwZSBGbGlnaHRDYXJyaWVyRGV0YWlsID0ge1xuICBfX3R5cGVuYW1lPzogJ0ZsaWdodENhcnJpZXJEZXRhaWwnO1xuICBuYW1lPzogTWF5YmU8RmllbGRXcmFwcGVyPFNjYWxhcnNbJ1N0cmluZyddPj47XG4gIGFsaWFzPzogTWF5YmU8RmllbGRXcmFwcGVyPFNjYWxhcnNbJ1N0cmluZyddPj47XG4gIGNhbGxzaWduPzogTWF5YmU8RmllbGRXcmFwcGVyPFNjYWxhcnNbJ1N0cmluZyddPj47XG4gIGlhdGE/OiBNYXliZTxGaWVsZFdyYXBwZXI8U2NhbGFyc1snU3RyaW5nJ10+PjtcbiAgaWNhbz86IE1heWJlPEZpZWxkV3JhcHBlcjxTY2FsYXJzWydTdHJpbmcnXT4+O1xuICBsb2dvPzogTWF5YmU8RmllbGRXcmFwcGVyPFNjYWxhcnNbJ1N0cmluZyddPj47XG4gIGJhbm5lcj86IE1heWJlPEZpZWxkV3JhcHBlcjxTY2FsYXJzWydTdHJpbmcnXT4+O1xuICBwb3B1bGFyaXR5PzogTWF5YmU8RmllbGRXcmFwcGVyPFNjYWxhcnNbJ0ludCddPj47XG59O1xuXG5leHBvcnQgdHlwZSBGbGlnaHRGYXJlVG90YWwgPSB7XG4gIF9fdHlwZW5hbWU/OiAnRmxpZ2h0RmFyZVRvdGFsJztcbiAgcHJpY2U6IEZpZWxkV3JhcHBlcjxTY2FsYXJzWydGbG9hdCddPjtcbiAgdGF4PzogTWF5YmU8RmllbGRXcmFwcGVyPFNjYWxhcnNbJ0Zsb2F0J10+PjtcbiAgZGlzY291bnQ/OiBNYXliZTxGaWVsZFdyYXBwZXI8U2NhbGFyc1snRmxvYXQnXT4+O1xuICBjdXJyZW5jeTogRmllbGRXcmFwcGVyPEN1cnJlbmN5Q29kZT47XG59O1xuXG5leHBvcnQgdHlwZSBGbGlnaHRJdGluZXJhcnkgPSB7XG4gIF9fdHlwZW5hbWU/OiAnRmxpZ2h0SXRpbmVyYXJ5JztcbiAgdWlkOiBGaWVsZFdyYXBwZXI8U2NhbGFyc1snSW50J10+O1xuICBwYXNzZW5nZXJDb3VudDogRmllbGRXcmFwcGVyPFNjYWxhcnNbJ0ludCddPjtcbiAgb3V0Ym91bmRGbGlnaHRzOiBBcnJheTxGaWVsZFdyYXBwZXI8RmxpZ2h0Sm91cm5leT4+O1xuICBpbmJvdW5kRmxpZ2h0cz86IE1heWJlPEFycmF5PE1heWJlPEZpZWxkV3JhcHBlcjxGbGlnaHRKb3VybmV5Pj4+PjtcbiAgb3V0Ym91bmRUb3RhbER1cmF0aW9uOiBGaWVsZFdyYXBwZXI8U2NhbGFyc1snSW50J10+O1xuICBvdXRib3VuZENhcmJvbkVtaXNzaW9ucz86IE1heWJlPEZpZWxkV3JhcHBlcjxGbGlnaHRDYXJib25FbWlzc2lvbnM+PjtcbiAgaW5ib3VuZFRvdGFsRHVyYXRpb24/OiBNYXliZTxGaWVsZFdyYXBwZXI8U2NhbGFyc1snSW50J10+PjtcbiAgaW5ib3VuZENhcmJvbkVtaXNzaW9ucz86IE1heWJlPEZpZWxkV3JhcHBlcjxGbGlnaHRDYXJib25FbWlzc2lvbnM+PjtcbiAgdGF4ZXM/OiBNYXliZTxBcnJheTxNYXliZTxGaWVsZFdyYXBwZXI8RmxpZ2h0QW1vdW50Pj4+PjtcbiAgZGlzY291bnRzPzogTWF5YmU8QXJyYXk8TWF5YmU8RmllbGRXcmFwcGVyPEZsaWdodEFtb3VudD4+Pj47XG4gIHRvdGFsOiBGaWVsZFdyYXBwZXI8RmxpZ2h0RmFyZVRvdGFsPjtcbiAgZmFyZUNvbmRpdGlvbnM/OiBNYXliZTxGaWVsZFdyYXBwZXI8RmFyZUNvbmRpdGlvbnM+PjtcbiAgYmFnZ2FnZUFsbG93YW5jZT86IE1heWJlPEFycmF5PE1heWJlPEZpZWxkV3JhcHBlcjxCYWdnYWdlQWxsb3dhbmNlPj4+PjtcbiAgYWRkaXRpb25hbD86IE1heWJlPEZpZWxkV3JhcHBlcjxTY2FsYXJzWydKU09OJ10+PjtcbiAgc291cmNlOiBGaWVsZFdyYXBwZXI8U2NhbGFyc1snU3RyaW5nJ10+O1xuICBzb3VyY2VJZDogRmllbGRXcmFwcGVyPFNjYWxhcnNbJ0ludCddPjtcbiAgdmVyc2lvbjogRmllbGRXcmFwcGVyPFNjYWxhcnNbJ1N0cmluZyddPjtcbiAgdG1jUHJlZmVycmVkOiBGaWVsZFdyYXBwZXI8U2NhbGFyc1snQm9vbGVhbiddPjtcbiAgY29tcGFueVByZWZlcnJlZDogRmllbGRXcmFwcGVyPFNjYWxhcnNbJ0Jvb2xlYW4nXT47XG4gIG9mZmljZVByZWZlcnJlZDogRmllbGRXcmFwcGVyPFNjYWxhcnNbJ0Jvb2xlYW4nXT47XG4gIHRtY1ByZWZlcnJlZE1lc3NhZ2U/OiBNYXliZTxGaWVsZFdyYXBwZXI8U2NhbGFyc1snU3RyaW5nJ10+PjtcbiAgY29tcGFueVByZWZlcnJlZE1lc3NhZ2U/OiBNYXliZTxGaWVsZFdyYXBwZXI8U2NhbGFyc1snU3RyaW5nJ10+PjtcbiAgb2ZmaWNlUHJlZmVycmVkTWVzc2FnZT86IE1heWJlPEZpZWxkV3JhcHBlcjxTY2FsYXJzWydTdHJpbmcnXT4+O1xuICB1bmF2YWlsYWJsZTogRmllbGRXcmFwcGVyPFNjYWxhcnNbJ0Jvb2xlYW4nXT47XG4gIHVuYXZhaWxhYmxlTWVzc2FnZT86IE1heWJlPEZpZWxkV3JhcHBlcjxTY2FsYXJzWydTdHJpbmcnXT4+O1xuICBjbzJQZXJJdGVtOiBGaWVsZFdyYXBwZXI8U2NhbGFyc1snRmxvYXQnXT47XG4gIGNvMlBlclBhc3NlbmdlcjogRmllbGRXcmFwcGVyPFNjYWxhcnNbJ0Zsb2F0J10+O1xufTtcblxuZXhwb3J0IHR5cGUgRmxpZ2h0Sm91cm5leSA9IHtcbiAgX190eXBlbmFtZT86ICdGbGlnaHRKb3VybmV5JztcbiAgZmFyZUluZm8/OiBNYXliZTxGaWVsZFdyYXBwZXI8RmxpZ2h0U3BlY2lhbEZhcmVJbmZvPj47XG4gIG9yaWdpbkFpcnBvcnQ6IEZpZWxkV3JhcHBlcjxTY2FsYXJzWydTdHJpbmcnXT47XG4gIG9yaWdpblRlcm1pbmFsPzogTWF5YmU8RmllbGRXcmFwcGVyPFNjYWxhcnNbJ1N0cmluZyddPj47XG4gIG9yaWdpbkFpcnBvcnROYW1lPzogTWF5YmU8RmllbGRXcmFwcGVyPFNjYWxhcnNbJ1N0cmluZyddPj47XG4gIG9yaWdpbkFpcnBvcnREZXRhaWw6IEZpZWxkV3JhcHBlcjxBaXJwb3J0RGV0YWlsPjtcbiAgZGVzdGluYXRpb25BaXJwb3J0OiBGaWVsZFdyYXBwZXI8U2NhbGFyc1snU3RyaW5nJ10+O1xuICBkZXN0aW5hdGlvblRlcm1pbmFsPzogTWF5YmU8RmllbGRXcmFwcGVyPFNjYWxhcnNbJ1N0cmluZyddPj47XG4gIGRlc3RpbmF0aW9uQWlycG9ydE5hbWU/OiBNYXliZTxGaWVsZFdyYXBwZXI8U2NhbGFyc1snU3RyaW5nJ10+PjtcbiAgZGVzdGluYXRpb25BaXJwb3J0RGV0YWlsOiBGaWVsZFdyYXBwZXI8QWlycG9ydERldGFpbD47XG4gIGRhdGVUaW1lRGVwYXJ0aW5nOiBGaWVsZFdyYXBwZXI8U2NhbGFyc1snU3RyaW5nJ10+O1xuICBkYXRlVGltZURlcGFydGluZ1VUQzogRmllbGRXcmFwcGVyPFNjYWxhcnNbJ1N0cmluZyddPjtcbiAgZGF0ZVRpbWVBcnJpdmluZzogRmllbGRXcmFwcGVyPFNjYWxhcnNbJ1N0cmluZyddPjtcbiAgZGF0ZVRpbWVBcnJpdmluZ1VUQzogRmllbGRXcmFwcGVyPFNjYWxhcnNbJ1N0cmluZyddPjtcbiAgbWFya2V0aW5nQ2FycmllcjogRmllbGRXcmFwcGVyPFNjYWxhcnNbJ1N0cmluZyddPjtcbiAgbWFya2V0aW5nQ2Fycmllck5hbWU/OiBNYXliZTxGaWVsZFdyYXBwZXI8U2NhbGFyc1snU3RyaW5nJ10+PjtcbiAgbWFya2V0aW5nQ2FycmllckRldGFpbDogRmllbGRXcmFwcGVyPEZsaWdodENhcnJpZXJEZXRhaWw+O1xuICBtYXJrZXRpbmdGbGlnaHROdW1iZXI6IEZpZWxkV3JhcHBlcjxTY2FsYXJzWydTdHJpbmcnXT47XG4gIG9wZXJhdGluZ0NhcnJpZXI6IEZpZWxkV3JhcHBlcjxTY2FsYXJzWydTdHJpbmcnXT47XG4gIG9wZXJhdGluZ0NhcnJpZXJOYW1lPzogTWF5YmU8RmllbGRXcmFwcGVyPFNjYWxhcnNbJ1N0cmluZyddPj47XG4gIG9wZXJhdGluZ0NhcnJpZXJEZXRhaWw6IEZpZWxkV3JhcHBlcjxGbGlnaHRDYXJyaWVyRGV0YWlsPjtcbiAgb3BlcmF0aW5nRmxpZ2h0TnVtYmVyOiBGaWVsZFdyYXBwZXI8U2NhbGFyc1snU3RyaW5nJ10+O1xuICBlcXVpcG1lbnRDb2RlOiBGaWVsZFdyYXBwZXI8U2NhbGFyc1snU3RyaW5nJ10+O1xuICBlcXVpcG1lbnROYW1lOiBGaWVsZFdyYXBwZXI8U2NhbGFyc1snU3RyaW5nJ10+O1xuICB0b3RhbER1cmF0aW9uOiBGaWVsZFdyYXBwZXI8U2NhbGFyc1snSW50J10+O1xuICBzZWF0c0F2YWlsYWJsZT86IE1heWJlPEZpZWxkV3JhcHBlcjxTY2FsYXJzWydJbnQnXT4+O1xuICBjYWJpbkNvZGU/OiBNYXliZTxGaWVsZFdyYXBwZXI8U2NhbGFyc1snU3RyaW5nJ10+PjtcbiAgY2FiaW5DbGFzcz86IE1heWJlPEZpZWxkV3JhcHBlcjxTY2FsYXJzWydTdHJpbmcnXT4+O1xuICBtYXJrZXRpbmdOYW1lcz86IE1heWJlPEFycmF5PE1heWJlPEZpZWxkV3JhcHBlcjxTY2FsYXJzWydTdHJpbmcnXT4+Pj47XG4gIGZhcmVDb25kaXRpb25zOiBGaWVsZFdyYXBwZXI8RmFyZUNvbmRpdGlvbnM+O1xuICB2ZW5kb3JDb2RlPzogTWF5YmU8RmllbGRXcmFwcGVyPFNjYWxhcnNbJ1N0cmluZyddPj47XG4gIHN0b3BzPzogTWF5YmU8RmllbGRXcmFwcGVyPFNjYWxhcnNbJ1N0cmluZyddPj47XG4gIGJvb2tpbmdDb2RlPzogTWF5YmU8RmllbGRXcmFwcGVyPFNjYWxhcnNbJ1N0cmluZyddPj47XG4gIG1hcnJpYWdlR3JvdXA/OiBNYXliZTxGaWVsZFdyYXBwZXI8U2NhbGFyc1snQm9vbGVhbiddPj47XG4gIGZhcmVCYXNpc0NvZGU/OiBNYXliZTxGaWVsZFdyYXBwZXI8U2NhbGFyc1snU3RyaW5nJ10+PjtcbiAgYWRkaXRpb25hbD86IE1heWJlPEZpZWxkV3JhcHBlcjxTY2FsYXJzWydKU09OJ10+Pjtcbn07XG5cbmV4cG9ydCB0eXBlIEZsaWdodFBhc3Nlbmdlck9iamVjdCA9IHtcbiAgdHlwZTogRmxpZ2h0UGFzc2VuZ2VyVHlwZTtcbiAgZmlyc3ROYW1lPzogTWF5YmU8U2NhbGFyc1snU3RyaW5nJ10+O1xuICBtaWRkbGVOYW1lPzogTWF5YmU8U2NhbGFyc1snU3RyaW5nJ10+O1xuICBzdXJuYW1lPzogTWF5YmU8U2NhbGFyc1snU3RyaW5nJ10+O1xuICBkb2I/OiBNYXliZTxTY2FsYXJzWydEYXRlJ10+O1xufTtcblxuZXhwb3J0IGVudW0gRmxpZ2h0UGFzc2VuZ2VyVHlwZSB7XG4gIEluZmFudCA9ICdJbmZhbnQnLFxuICBDaGlsZCA9ICdDaGlsZCcsXG4gIEFkdWx0ID0gJ0FkdWx0JyxcbiAgU2VuaW9yID0gJ1Nlbmlvcidcbn1cblxuZXhwb3J0IHR5cGUgRmxpZ2h0UmV2YWxpZGF0ZVJlc3BvbnNlID0ge1xuICBfX3R5cGVuYW1lPzogJ0ZsaWdodFJldmFsaWRhdGVSZXNwb25zZSc7XG4gIHZhbGlkOiBGaWVsZFdyYXBwZXI8U2NhbGFyc1snQm9vbGVhbiddPjtcbiAgYXZhaWxhYmxlOiBGaWVsZFdyYXBwZXI8U2NhbGFyc1snQm9vbGVhbiddPjtcbiAgcHJpY2U/OiBNYXliZTxGaWVsZFdyYXBwZXI8U2NhbGFyc1snRmxvYXQnXT4+O1xuICBwcmljZURpZmZlcmVuY2U/OiBNYXliZTxGaWVsZFdyYXBwZXI8U2NhbGFyc1snRmxvYXQnXT4+O1xuICBjdXJyZW5jeT86IE1heWJlPEZpZWxkV3JhcHBlcjxTY2FsYXJzWydTdHJpbmcnXT4+O1xufTtcblxuZXhwb3J0IHR5cGUgRmxpZ2h0U2VhcmNoUmVzdWx0ID0ge1xuICBfX3R5cGVuYW1lPzogJ0ZsaWdodFNlYXJjaFJlc3VsdCc7XG4gIHJlc3VsdHM6IEFycmF5PEZpZWxkV3JhcHBlcjxTZWFyY2hSZXN1bHQ+PjtcbiAgZXJyb3JzOiBBcnJheTxGaWVsZFdyYXBwZXI8U2VhcmNoRXJyb3I+Pjtcbn07XG5cbmV4cG9ydCB0eXBlIEZsaWdodFNlYXJjaFJlc3VsdFYyID0ge1xuICBfX3R5cGVuYW1lPzogJ0ZsaWdodFNlYXJjaFJlc3VsdFYyJztcbiAgcmVzdWx0czogRmllbGRXcmFwcGVyPEZlRmxpZ2h0U2VhcmNoUmVzdWx0cz47XG4gIGVycm9yczogQXJyYXk8RmllbGRXcmFwcGVyPFNlYXJjaEVycm9yPj47XG59O1xuXG5leHBvcnQgdHlwZSBGbGlnaHRTZWF0TWFwQWlyY3JhZnQgPSB7XG4gIF9fdHlwZW5hbWU/OiAnRmxpZ2h0U2VhdE1hcEFpcmNyYWZ0JztcbiAgY2FycmllcjogRmllbGRXcmFwcGVyPFNjYWxhcnNbJ1N0cmluZyddPjtcbiAgbnVtYmVyOiBGaWVsZFdyYXBwZXI8U2NhbGFyc1snU3RyaW5nJ10+O1xuICB0eXBlPzogTWF5YmU8RmllbGRXcmFwcGVyPFNjYWxhcnNbJ1N0cmluZyddPj47XG59O1xuXG5leHBvcnQgdHlwZSBGbGlnaHRTZWF0TWFwUmVzcG9uc2UgPSB7XG4gIF9fdHlwZW5hbWU/OiAnRmxpZ2h0U2VhdE1hcFJlc3BvbnNlJztcbiAgYWlyY3JhZnQ6IEZpZWxkV3JhcHBlcjxGbGlnaHRTZWF0TWFwQWlyY3JhZnQ+O1xuICBzZWF0czogQXJyYXk8RmllbGRXcmFwcGVyPEZsaWdodFNlYXRNYXBTZWF0cz4+O1xuICBzb3VyY2U6IEZpZWxkV3JhcHBlcjxTY2FsYXJzWydTdHJpbmcnXT47XG4gIHNvdXJjZUlkOiBGaWVsZFdyYXBwZXI8U2NhbGFyc1snSW50J10+O1xufTtcblxuZXhwb3J0IHR5cGUgRmxpZ2h0U2VhdE1hcFJlc3VsdCA9IHtcbiAgX190eXBlbmFtZT86ICdGbGlnaHRTZWF0TWFwUmVzdWx0JztcbiAgcmVzdWx0czogQXJyYXk8RmllbGRXcmFwcGVyPEZsaWdodFNlYXRNYXBSZXNwb25zZT4+O1xuICBlcnJvcnM6IEFycmF5PEZpZWxkV3JhcHBlcjxTZWFyY2hFcnJvcj4+O1xufTtcblxuZXhwb3J0IHR5cGUgRmxpZ2h0U2VhdE1hcFNlYXRBdHRyaWJ1dGVzID0ge1xuICBfX3R5cGVuYW1lPzogJ0ZsaWdodFNlYXRNYXBTZWF0QXR0cmlidXRlcyc7XG4gIGNvZGU6IEZpZWxkV3JhcHBlcjxTY2FsYXJzWydTdHJpbmcnXT47XG4gIGRlc2NyaXB0aW9uOiBGaWVsZFdyYXBwZXI8U2NhbGFyc1snU3RyaW5nJ10+O1xufTtcblxuZXhwb3J0IHR5cGUgRmxpZ2h0U2VhdE1hcFNlYXRzID0ge1xuICBfX3R5cGVuYW1lPzogJ0ZsaWdodFNlYXRNYXBTZWF0cyc7XG4gIHJvdzogRmllbGRXcmFwcGVyPFNjYWxhcnNbJ1N0cmluZyddPjtcbiAgY29sdW1uOiBGaWVsZFdyYXBwZXI8U2NhbGFyc1snU3RyaW5nJ10+O1xuICBhdHRyaWJ1dGVzOiBBcnJheTxGaWVsZFdyYXBwZXI8RmxpZ2h0U2VhdE1hcFNlYXRBdHRyaWJ1dGVzPj47XG4gIHByaWNlPzogTWF5YmU8RmllbGRXcmFwcGVyPFNjYWxhcnNbJ0Zsb2F0J10+PjtcbiAgY3VycmVuY3k/OiBNYXliZTxGaWVsZFdyYXBwZXI8U2NhbGFyc1snU3RyaW5nJ10+Pjtcbn07XG5cbmV4cG9ydCB0eXBlIEZsaWdodFNwZWNpYWxGYXJlSW5mbyA9IHtcbiAgX190eXBlbmFtZT86ICdGbGlnaHRTcGVjaWFsRmFyZUluZm8nO1xuICB0aXRsZTogRmllbGRXcmFwcGVyPFNjYWxhcnNbJ1N0cmluZyddPjtcbiAgdHlwZTogRmllbGRXcmFwcGVyPFNjYWxhcnNbJ1N0cmluZyddPjtcbiAgY29kZT86IE1heWJlPEZpZWxkV3JhcHBlcjxTY2FsYXJzWydTdHJpbmcnXT4+O1xuICBzdXBwbGllckNvZGU/OiBNYXliZTxGaWVsZFdyYXBwZXI8U2NhbGFyc1snU3RyaW5nJ10+Pjtcbn07XG5cbmV4cG9ydCB0eXBlIEdlb0Nvb3JkaW5hdGVzID0ge1xuICBfX3R5cGVuYW1lPzogJ0dlb0Nvb3JkaW5hdGVzJztcbiAgbGF0aXR1ZGU/OiBNYXliZTxGaWVsZFdyYXBwZXI8U2NhbGFyc1snRmxvYXQnXT4+O1xuICBsb25naXR1ZGU/OiBNYXliZTxGaWVsZFdyYXBwZXI8U2NhbGFyc1snRmxvYXQnXT4+O1xuICBhbHRpdHVkZT86IE1heWJlPEZpZWxkV3JhcHBlcjxTY2FsYXJzWydGbG9hdCddPj47XG59O1xuXG5leHBvcnQgdHlwZSBHcm91cEZsaWdodHMgPSB7XG4gIF9fdHlwZW5hbWU/OiAnR3JvdXBGbGlnaHRzJztcbiAgcmVmZXJlbmNlSUQ6IEZpZWxkV3JhcHBlcjxTY2FsYXJzWydJbnQnXT47XG4gIGZsaWdodElEOiBGaWVsZFdyYXBwZXI8U2NhbGFyc1snU3RyaW5nJ10+O1xuICBib3VuZEluZGljYXRvcjogRmllbGRXcmFwcGVyPFNjYWxhcnNbJ0ludCddPjtcbiAgbWluUHJpY2U6IEZpZWxkV3JhcHBlcjxTY2FsYXJzWydGbG9hdCddPjtcbiAgbWF4UHJpY2U6IEZpZWxkV3JhcHBlcjxTY2FsYXJzWydGbG9hdCddPjtcbiAgZmxpZ2h0czogRmllbGRXcmFwcGVyPE1hdGNoaW5nRmxpZ2h0cz47XG59O1xuXG5leHBvcnQgdHlwZSBIb3RlbEFkZHJlc3MgPSB7XG4gIF9fdHlwZW5hbWU/OiAnSG90ZWxBZGRyZXNzJztcbiAgYWRkcmVzc0xpbmUxPzogTWF5YmU8RmllbGRXcmFwcGVyPFNjYWxhcnNbJ1N0cmluZyddPj47XG4gIGFkZHJlc3NMaW5lMj86IE1heWJlPEZpZWxkV3JhcHBlcjxTY2FsYXJzWydTdHJpbmcnXT4+O1xuICBhZGRyZXNzTGluZTM/OiBNYXliZTxGaWVsZFdyYXBwZXI8U2NhbGFyc1snU3RyaW5nJ10+PjtcbiAgY2l0eT86IE1heWJlPEZpZWxkV3JhcHBlcjxTY2FsYXJzWydTdHJpbmcnXT4+O1xuICBwb3N0T3JaaXBDb2RlPzogTWF5YmU8RmllbGRXcmFwcGVyPFNjYWxhcnNbJ1N0cmluZyddPj47XG4gIGNvdW50cnlDb2RlPzogTWF5YmU8RmllbGRXcmFwcGVyPFNjYWxhcnNbJ1N0cmluZyddPj47XG4gIHRlbGVwaG9uZT86IE1heWJlPEZpZWxkV3JhcHBlcjxTY2FsYXJzWydTdHJpbmcnXT4+O1xuICBmYWNzaW1pbGU/OiBNYXliZTxGaWVsZFdyYXBwZXI8U2NhbGFyc1snU3RyaW5nJ10+Pjtcbn07XG5cbmV4cG9ydCB0eXBlIEhvdGVsQXZhaWxhYmlsaXR5ID0ge1xuICBfX3R5cGVuYW1lPzogJ0hvdGVsQXZhaWxhYmlsaXR5JztcbiAgaG90ZWxJZDogRmllbGRXcmFwcGVyPFNjYWxhcnNbJ1N0cmluZyddPjtcbiAgaW1hZ2VVcmw6IEZpZWxkV3JhcHBlcjxTY2FsYXJzWydTdHJpbmcnXT47XG4gIHJvb21zPzogTWF5YmU8QXJyYXk8TWF5YmU8RmllbGRXcmFwcGVyPEhvdGVsUm9vbT4+Pj47XG4gIHBycG4/OiBNYXliZTxGaWVsZFdyYXBwZXI8U2NhbGFyc1snRmxvYXQnXT4+O1xuICBjdXJyZW5jeUNvZGU/OiBNYXliZTxGaWVsZFdyYXBwZXI8U2NhbGFyc1snU3RyaW5nJ10+PjtcbiAgaXNCdXN5PzogTWF5YmU8RmllbGRXcmFwcGVyPFNjYWxhcnNbJ0Jvb2xlYW4nXT4+O1xuICBzb3VyY2U6IEZpZWxkV3JhcHBlcjxTY2FsYXJzWydTdHJpbmcnXT47XG4gIHZlcnNpb246IEZpZWxkV3JhcHBlcjxTY2FsYXJzWydTdHJpbmcnXT47XG59O1xuXG5leHBvcnQgdHlwZSBIb3RlbEF2YWlsYWJpbGl0eVJlc3VsdCA9IHtcbiAgX190eXBlbmFtZT86ICdIb3RlbEF2YWlsYWJpbGl0eVJlc3VsdCc7XG4gIHJlc3VsdHM/OiBNYXliZTxGaWVsZFdyYXBwZXI8SG90ZWxBdmFpbGFiaWxpdHk+PjtcbiAgZXJyb3JzOiBBcnJheTxGaWVsZFdyYXBwZXI8U2VhcmNoRXJyb3I+Pjtcbn07XG5cbmV4cG9ydCB0eXBlIEhvdGVsQ2FyZCA9IHtcbiAgX190eXBlbmFtZT86ICdIb3RlbENhcmQnO1xuICBpZDogRmllbGRXcmFwcGVyPFNjYWxhcnNbJ1N0cmluZyddPjtcbiAgbmFtZTogRmllbGRXcmFwcGVyPFNjYWxhcnNbJ1N0cmluZyddPjtcbn07XG5cbmV4cG9ydCB0eXBlIEhvdGVsQ29udmVyc2lvbiA9IHtcbiAgX190eXBlbmFtZT86ICdIb3RlbENvbnZlcnNpb24nO1xuICByYXRlOiBGaWVsZFdyYXBwZXI8U2NhbGFyc1snRmxvYXQnXT47XG4gIGxvY2FsQ29kZTogRmllbGRXcmFwcGVyPFNjYWxhcnNbJ1N0cmluZyddPjtcbiAgbG9jYWxUb3RhbDogRmllbGRXcmFwcGVyPFNjYWxhcnNbJ0Zsb2F0J10+O1xuICBjb252ZXJ0ZWRDb2RlOiBGaWVsZFdyYXBwZXI8U2NhbGFyc1snU3RyaW5nJ10+O1xuICBjb252ZXJ0ZWRUb3RhbDogRmllbGRXcmFwcGVyPFNjYWxhcnNbJ0Zsb2F0J10+O1xufTtcblxuZXhwb3J0IHR5cGUgSG90ZWxEZXBvc2l0ID0ge1xuICBfX3R5cGVuYW1lPzogJ0hvdGVsRGVwb3NpdCc7XG4gIGFtb3VudDogRmllbGRXcmFwcGVyPFNjYWxhcnNbJ0Zsb2F0J10+O1xuICBwb2xpY3k/OiBNYXliZTxGaWVsZFdyYXBwZXI8U2NhbGFyc1snU3RyaW5nJ10+PjtcbiAgcmVxdWlyZWQ6IEZpZWxkV3JhcHBlcjxTY2FsYXJzWydCb29sZWFuJ10+O1xufTtcblxuZXhwb3J0IHR5cGUgSG90ZWxJdGluZXJhcnkgPSB7XG4gIF9fdHlwZW5hbWU/OiAnSG90ZWxJdGluZXJhcnknO1xuICBpZDogRmllbGRXcmFwcGVyPFNjYWxhcnNbJ1N0cmluZyddPjtcbiAgbmFtZTogRmllbGRXcmFwcGVyPFNjYWxhcnNbJ1N0cmluZyddPjtcbiAgaW1hZ2VVcmw6IEZpZWxkV3JhcHBlcjxTY2FsYXJzWydTdHJpbmcnXT47XG4gIGdyb3VwOiBGaWVsZFdyYXBwZXI8U2NhbGFyc1snU3RyaW5nJ10+O1xuICBsb2NhdGlvbjogRmllbGRXcmFwcGVyPEhvdGVsTG9jYXRpb24+O1xuICBhZGRyZXNzOiBGaWVsZFdyYXBwZXI8SG90ZWxBZGRyZXNzPjtcbiAgdHJhbnNwb3J0cz86IE1heWJlPEFycmF5PE1heWJlPEZpZWxkV3JhcHBlcjxIb3RlbFRyYW5zcG9ydD4+Pj47XG4gIHByZWZlcnJlZDogRmllbGRXcmFwcGVyPEhvdGVsUHJlZmVycmVkPjtcbiAgdGFncz86IE1heWJlPEFycmF5PE1heWJlPEZpZWxkV3JhcHBlcjxIb3RlbFRhZz4+Pj47XG4gIGF2YWlsYWJsZVJhdGVzPzogTWF5YmU8RmllbGRXcmFwcGVyPEhvdGVsQXZhaWxhYmlsaXR5Pj47XG4gIHN0YXJzPzogTWF5YmU8RmllbGRXcmFwcGVyPFNjYWxhcnNbJ0Zsb2F0J10+PjtcbiAgY28yUGVyUGFzc2VuZ2VyOiBGaWVsZFdyYXBwZXI8U2NhbGFyc1snRmxvYXQnXT47XG4gIGNvMlBlckl0ZW06IEZpZWxkV3JhcHBlcjxTY2FsYXJzWydGbG9hdCddPjtcbiAgc291cmNlOiBGaWVsZFdyYXBwZXI8U2NhbGFyc1snU3RyaW5nJ10+O1xuICBzb3VyY2VJZDogRmllbGRXcmFwcGVyPFNjYWxhcnNbJ0ludCddPjtcbiAgdmVyc2lvbjogRmllbGRXcmFwcGVyPFNjYWxhcnNbJ1N0cmluZyddPjtcbiAgdG1jUHJlZmVycmVkOiBGaWVsZFdyYXBwZXI8U2NhbGFyc1snQm9vbGVhbiddPjtcbiAgY29tcGFueVByZWZlcnJlZDogRmllbGRXcmFwcGVyPFNjYWxhcnNbJ0Jvb2xlYW4nXT47XG4gIG9mZmljZVByZWZlcnJlZDogRmllbGRXcmFwcGVyPFNjYWxhcnNbJ0Jvb2xlYW4nXT47XG4gIHRtY1ByZWZlcnJlZE1lc3NhZ2U/OiBNYXliZTxGaWVsZFdyYXBwZXI8U2NhbGFyc1snU3RyaW5nJ10+PjtcbiAgY29tcGFueVByZWZlcnJlZE1lc3NhZ2U/OiBNYXliZTxGaWVsZFdyYXBwZXI8U2NhbGFyc1snU3RyaW5nJ10+PjtcbiAgb2ZmaWNlUHJlZmVycmVkTWVzc2FnZT86IE1heWJlPEZpZWxkV3JhcHBlcjxTY2FsYXJzWydTdHJpbmcnXT4+O1xuICB1bmF2YWlsYWJsZTogRmllbGRXcmFwcGVyPFNjYWxhcnNbJ0Jvb2xlYW4nXT47XG4gIHVuYXZhaWxhYmxlTWVzc2FnZT86IE1heWJlPEZpZWxkV3JhcHBlcjxTY2FsYXJzWydTdHJpbmcnXT4+O1xufTtcblxuZXhwb3J0IHR5cGUgSG90ZWxMb2NhdGlvbiA9IHtcbiAgX190eXBlbmFtZT86ICdIb3RlbExvY2F0aW9uJztcbiAgZGlzdGFuY2U6IEZpZWxkV3JhcHBlcjxTY2FsYXJzWydGbG9hdCddPjtcbiAgZGlzdGFuY2VUeXBlOiBGaWVsZFdyYXBwZXI8U2NhbGFyc1snU3RyaW5nJ10+O1xuICBsb25naXR1ZGU6IEZpZWxkV3JhcHBlcjxTY2FsYXJzWydGbG9hdCddPjtcbiAgbGF0aXR1ZGU6IEZpZWxkV3JhcHBlcjxTY2FsYXJzWydGbG9hdCddPjtcbn07XG5cbmV4cG9ydCB0eXBlIEhvdGVsTXVsdGlBdmFpbGFiaWxpdHlSZXN1bHQgPSB7XG4gIF9fdHlwZW5hbWU/OiAnSG90ZWxNdWx0aUF2YWlsYWJpbGl0eVJlc3VsdCc7XG4gIHJlc3VsdHM/OiBNYXliZTxBcnJheTxNYXliZTxGaWVsZFdyYXBwZXI8SG90ZWxBdmFpbGFiaWxpdHk+Pj4+O1xuICBlcnJvcnM6IEFycmF5PEZpZWxkV3JhcHBlcjxTZWFyY2hFcnJvcj4+O1xufTtcblxuZXhwb3J0IHR5cGUgSG90ZWxOaWdodCA9IHtcbiAgX190eXBlbmFtZT86ICdIb3RlbE5pZ2h0JztcbiAgbmlnaHQ6IEZpZWxkV3JhcHBlcjxTY2FsYXJzWydJbnQnXT47XG4gIHJhdGU6IEZpZWxkV3JhcHBlcjxTY2FsYXJzWydGbG9hdCddPjtcbiAgaW5mbz86IE1heWJlPEZpZWxkV3JhcHBlcjxTY2FsYXJzWydTdHJpbmcnXT4+O1xuICBkYXRlOiBGaWVsZFdyYXBwZXI8U2NhbGFyc1snRGF0ZSddPjtcbn07XG5cbmV4cG9ydCB0eXBlIEhvdGVsUGF5bWVudFR5cGUgPSB7XG4gIF9fdHlwZW5hbWU/OiAnSG90ZWxQYXltZW50VHlwZSc7XG4gIHR5cGU6IEZpZWxkV3JhcHBlcjxTY2FsYXJzWydTdHJpbmcnXT47XG4gIG5hbWU/OiBNYXliZTxGaWVsZFdyYXBwZXI8U2NhbGFyc1snU3RyaW5nJ10+Pjtcbn07XG5cbmV4cG9ydCB0eXBlIEhvdGVsUG9saWN5ID0ge1xuICBfX3R5cGVuYW1lPzogJ0hvdGVsUG9saWN5JztcbiAgY2FuY2VsbGF0aW9uPzogTWF5YmU8RmllbGRXcmFwcGVyPFNjYWxhcnNbJ1N0cmluZyddPj47XG4gIGRlcG9zaXQ/OiBNYXliZTxGaWVsZFdyYXBwZXI8U2NhbGFyc1snU3RyaW5nJ10+PjtcbiAgZGlzYWJsZWRBY2Nlc3M/OiBNYXliZTxGaWVsZFdyYXBwZXI8U2NhbGFyc1snQm9vbGVhbiddPj47XG4gIGdlbmVyYWw/OiBNYXliZTxGaWVsZFdyYXBwZXI8U2NhbGFyc1snU3RyaW5nJ10+PjtcbiAgZ3VhcmFudGVlPzogTWF5YmU8RmllbGRXcmFwcGVyPFNjYWxhcnNbJ1N0cmluZyddPj47XG4gIHJlZnVuZEF2YWlsYWJsZT86IE1heWJlPEZpZWxkV3JhcHBlcjxTY2FsYXJzWydCb29sZWFuJ10+Pjtcbn07XG5cbmV4cG9ydCB0eXBlIEhvdGVsUHJlZmVycmVkID0ge1xuICBfX3R5cGVuYW1lPzogJ0hvdGVsUHJlZmVycmVkJztcbiAgY2xpZW50OiBGaWVsZFdyYXBwZXI8U2NhbGFyc1snQm9vbGVhbiddPjtcbiAgY29uc3VtZXI6IEZpZWxkV3JhcHBlcjxTY2FsYXJzWydCb29sZWFuJ10+O1xufTtcblxuZXhwb3J0IHR5cGUgSG90ZWxSb29tID0ge1xuICBfX3R5cGVuYW1lPzogJ0hvdGVsUm9vbSc7XG4gIHJvb21JZDogRmllbGRXcmFwcGVyPFNjYWxhcnNbJ1N0cmluZyddPjtcbiAgcm9vbVR5cGU/OiBNYXliZTxGaWVsZFdyYXBwZXI8U2NhbGFyc1snU3RyaW5nJ10+PjtcbiAgcm9vbURlc2NyaXB0aW9uPzogTWF5YmU8RmllbGRXcmFwcGVyPFNjYWxhcnNbJ1N0cmluZyddPj47XG4gIHJhdGVDb2RlPzogTWF5YmU8RmllbGRXcmFwcGVyPFNjYWxhcnNbJ1N0cmluZyddPj47XG4gIHJhdGVEZXNjcmlwdGlvbj86IE1heWJlPEZpZWxkV3JhcHBlcjxTY2FsYXJzWydTdHJpbmcnXT4+O1xuICB0b3RhbDogRmllbGRXcmFwcGVyPFNjYWxhcnNbJ0Zsb2F0J10+O1xuICBjdXJyZW5jeUNvZGU6IEZpZWxkV3JhcHBlcjxTY2FsYXJzWydTdHJpbmcnXT47XG4gIGN1cnJlbmN5Q29udmVyc2lvbj86IE1heWJlPEZpZWxkV3JhcHBlcjxIb3RlbENvbnZlcnNpb24+PjtcbiAgZGVwb3NpdD86IE1heWJlPEZpZWxkV3JhcHBlcjxIb3RlbERlcG9zaXQ+PjtcbiAgbmlnaHRzOiBBcnJheTxGaWVsZFdyYXBwZXI8SG90ZWxOaWdodD4+O1xuICBwb2xpY2llczogRmllbGRXcmFwcGVyPEhvdGVsUG9saWN5PjtcbiAgdGF4OiBGaWVsZFdyYXBwZXI8SG90ZWxUYXg+O1xuICBhY2NlcHRlZENhcmRzPzogTWF5YmU8QXJyYXk8TWF5YmU8RmllbGRXcmFwcGVyPEhvdGVsQ2FyZD4+Pj47XG4gIHBheW1lbnRUeXBlcz86IE1heWJlPEFycmF5PE1heWJlPEZpZWxkV3JhcHBlcjxIb3RlbFBheW1lbnRUeXBlPj4+Pjtcbn07XG5cbmV4cG9ydCB0eXBlIEhvdGVsU2VhcmNoUmVzdWx0ID0ge1xuICBfX3R5cGVuYW1lPzogJ0hvdGVsU2VhcmNoUmVzdWx0JztcbiAgcmVzdWx0cz86IE1heWJlPEFycmF5PE1heWJlPEZpZWxkV3JhcHBlcjxIb3RlbEl0aW5lcmFyeT4+Pj47XG4gIGVycm9yczogQXJyYXk8RmllbGRXcmFwcGVyPFNlYXJjaEVycm9yPj47XG59O1xuXG5leHBvcnQgdHlwZSBIb3RlbFRhZyA9IHtcbiAgX190eXBlbmFtZT86ICdIb3RlbFRhZyc7XG4gIG5hbWU6IEZpZWxkV3JhcHBlcjxTY2FsYXJzWydTdHJpbmcnXT47XG4gIGRpc3BsYXk/OiBNYXliZTxGaWVsZFdyYXBwZXI8U2NhbGFyc1snU3RyaW5nJ10+PjtcbiAgdHlwZTogRmllbGRXcmFwcGVyPFNjYWxhcnNbJ1N0cmluZyddPjtcbiAgaWNvbjogRmllbGRXcmFwcGVyPFNjYWxhcnNbJ1N0cmluZyddPjtcbn07XG5cbmV4cG9ydCB0eXBlIEhvdGVsVGF4ID0ge1xuICBfX3R5cGVuYW1lPzogJ0hvdGVsVGF4JztcbiAgaW5jbHVkZWQ6IEZpZWxkV3JhcHBlcjxTY2FsYXJzWydCb29sZWFuJ10+O1xuICByYXRlOiBGaWVsZFdyYXBwZXI8U2NhbGFyc1snRmxvYXQnXT47XG59O1xuXG5leHBvcnQgdHlwZSBIb3RlbFRyYW5zcG9ydCA9IHtcbiAgX190eXBlbmFtZT86ICdIb3RlbFRyYW5zcG9ydCc7XG4gIHR5cGU6IEZpZWxkV3JhcHBlcjxTY2FsYXJzWydTdHJpbmcnXT47XG4gIG5hbWU6IEZpZWxkV3JhcHBlcjxTY2FsYXJzWydTdHJpbmcnXT47XG4gIGNvZGU/OiBNYXliZTxGaWVsZFdyYXBwZXI8U2NhbGFyc1snU3RyaW5nJ10+PjtcbiAgZGlzdGFuY2U6IEZpZWxkV3JhcHBlcjxTY2FsYXJzWydGbG9hdCddPjtcbiAgZGlzdGFuY2VUeXBlOiBGaWVsZFdyYXBwZXI8U2NhbGFyc1snU3RyaW5nJ10+O1xuICBsb25naXR1ZGU/OiBNYXliZTxGaWVsZFdyYXBwZXI8U2NhbGFyc1snRmxvYXQnXT4+O1xuICBsYXRpdHVkZT86IE1heWJlPEZpZWxkV3JhcHBlcjxTY2FsYXJzWydGbG9hdCddPj47XG59O1xuXG5leHBvcnQgZW51bSBJcmxDbGFzcyB7XG4gIEFsbCA9ICdBbGwnLFxuICBGaXJzdCA9ICdGaXJzdCcsXG4gIFN0YW5kYXJkID0gJ1N0YW5kYXJkJ1xufVxuXG5leHBvcnQgdHlwZSBJcmxEeW5hbWljQ29uZGl0aW9uID0ge1xuICBfX3R5cGVuYW1lPzogJ0lSTER5bmFtaWNDb25kaXRpb24nO1xuICBuYW1lPzogTWF5YmU8RmllbGRXcmFwcGVyPFNjYWxhcnNbJ1N0cmluZyddPj47XG4gIGRlc2NyaXB0aW9uPzogTWF5YmU8RmllbGRXcmFwcGVyPFNjYWxhcnNbJ1N0cmluZyddPj47XG59O1xuXG5leHBvcnQgdHlwZSBJcmxJZGVudGlmaWVycyA9IHtcbiAgX190eXBlbmFtZT86ICdJUkxJZGVudGlmaWVycyc7XG4gIHRyYW5zYWN0aW9uSWRlbnRpZmllcj86IE1heWJlPEZpZWxkV3JhcHBlcjxTY2FsYXJzWydTdHJpbmcnXT4+O1xuICBzaWduYXR1cmU/OiBNYXliZTxGaWVsZFdyYXBwZXI8U2NhbGFyc1snU3RyaW5nJ10+PjtcbiAgam91cm5leUlkZW50aWZpZXI/OiBNYXliZTxGaWVsZFdyYXBwZXI8U2NhbGFyc1snU3RyaW5nJ10+PjtcbiAgcHJvdmlkZXI/OiBNYXliZTxGaWVsZFdyYXBwZXI8U2NhbGFyc1snU3RyaW5nJ10+PjtcbiAgZmFyZUlkZW50aWZpZXI/OiBNYXliZTxGaWVsZFdyYXBwZXI8U2NhbGFyc1snU3RyaW5nJ10+PjtcbiAgZGlyZWN0aW9uPzogTWF5YmU8RmllbGRXcmFwcGVyPFNjYWxhcnNbJ1N0cmluZyddPj47XG4gIGFsbG93ZWRXaXRoOiBBcnJheTxGaWVsZFdyYXBwZXI8SXJsSWRlbnRpZmllcnM+PjtcbiAgc2luZ2xlT3JSZXR1cm4/OiBNYXliZTxGaWVsZFdyYXBwZXI8U2NhbGFyc1snU3RyaW5nJ10+PjtcbiAgYm9va2luZ1JlZj86IE1heWJlPEZpZWxkV3JhcHBlcjxTY2FsYXJzWydTdHJpbmcnXT4+O1xufTtcblxuZXhwb3J0IHR5cGUgSXJsSm91cm5leU9wdGlvbiA9IHtcbiAgX190eXBlbmFtZT86ICdJUkxKb3VybmV5T3B0aW9uJztcbiAgaWRlbnRpZmllcnM/OiBNYXliZTxGaWVsZFdyYXBwZXI8SXJsSWRlbnRpZmllcnM+PjtcbiAgdHJhdmVsbGVycz86IE1heWJlPEFycmF5PEZpZWxkV3JhcHBlcjxJcmxUcmF2ZWxsZXI+Pj47XG4gIGZyb20/OiBNYXliZTxGaWVsZFdyYXBwZXI8U2NhbGFyc1snU3RyaW5nJ10+PjtcbiAgZnJvbUNvZGU/OiBNYXliZTxGaWVsZFdyYXBwZXI8U2NhbGFyc1snU3RyaW5nJ10+PjtcbiAgdG8/OiBNYXliZTxGaWVsZFdyYXBwZXI8U2NhbGFyc1snU3RyaW5nJ10+PjtcbiAgdG9Db2RlPzogTWF5YmU8RmllbGRXcmFwcGVyPFNjYWxhcnNbJ1N0cmluZyddPj47XG4gIGRlcGFydERhdGVUaW1lPzogTWF5YmU8RmllbGRXcmFwcGVyPFNjYWxhcnNbJ0RhdGVUaW1lJ10+PjtcbiAgYXJyaXZlRGF0ZVRpbWU/OiBNYXliZTxGaWVsZFdyYXBwZXI8U2NhbGFyc1snRGF0ZVRpbWUnXT4+O1xuICBjaGFuZ2VzPzogTWF5YmU8RmllbGRXcmFwcGVyPFNjYWxhcnNbJ1N0cmluZyddPj47XG4gIHNlZ21lbnRzPzogTWF5YmU8QXJyYXk8RmllbGRXcmFwcGVyPElybFNlZ21lbnQ+Pj47XG4gIHByb3ZpZGVycz86IE1heWJlPEFycmF5PEZpZWxkV3JhcHBlcjxJcmxQcm92aWRlcj4+PjtcbiAgdW5zZWxsYWJsZT86IE1heWJlPEZpZWxkV3JhcHBlcjxTY2FsYXJzWydTdHJpbmcnXT4+O1xuICB0aWNrZXRFeHRyYXM/OiBNYXliZTxBcnJheTxGaWVsZFdyYXBwZXI8SXJsVGlja2V0RXh0cmE+Pj47XG4gIHBsdXNCdXM/OiBNYXliZTxGaWVsZFdyYXBwZXI8SXJsUGx1c0J1cz4+O1xufTtcblxuZXhwb3J0IHR5cGUgSXJsSm91cm5leU9wdGlvbnMgPSB7XG4gIF9fdHlwZW5hbWU/OiAnSVJMSm91cm5leU9wdGlvbnMnO1xuICBzb3VyY2U6IEZpZWxkV3JhcHBlcjxTY2FsYXJzWydTdHJpbmcnXT47XG4gIHNvdXJjZUlkOiBGaWVsZFdyYXBwZXI8U2NhbGFyc1snSW50J10+O1xuICBvdXRib3VuZD86IE1heWJlPEFycmF5PEZpZWxkV3JhcHBlcjxJcmxKb3VybmV5T3B0aW9uPj4+O1xuICByZXR1cm4/OiBNYXliZTxBcnJheTxGaWVsZFdyYXBwZXI8SXJsSm91cm5leU9wdGlvbj4+Pjtcbn07XG5cbmV4cG9ydCBlbnVtIElybEpvdXJuZXlUeXBlIHtcbiAgUmV0dXJuSm91cm5leSA9ICdSZXR1cm5Kb3VybmV5JyxcbiAgU2luZ2xlSm91cm5leSA9ICdTaW5nbGVKb3VybmV5J1xufVxuXG5leHBvcnQgdHlwZSBJcmxQbHVzQnVzID0ge1xuICBfX3R5cGVuYW1lPzogJ0lSTFBsdXNCdXMnO1xuICBvcmlnaW5QbHVzQnVzTkxDPzogTWF5YmU8RmllbGRXcmFwcGVyPFNjYWxhcnNbJ1N0cmluZyddPj47XG4gIG9yaWdpblN0YXRpb25OTEM/OiBNYXliZTxGaWVsZFdyYXBwZXI8U2NhbGFyc1snU3RyaW5nJ10+PjtcbiAgZGVzdGluYXRpb25QbHVzQnVzTkxDPzogTWF5YmU8RmllbGRXcmFwcGVyPFNjYWxhcnNbJ1N0cmluZyddPj47XG4gIGRlc3RpbmF0aW9uU3RhdGlvbk5MQz86IE1heWJlPEZpZWxkV3JhcHBlcjxTY2FsYXJzWydTdHJpbmcnXT4+O1xufTtcblxuZXhwb3J0IHR5cGUgSXJsUHJvdmlkZXIgPSB7XG4gIF9fdHlwZW5hbWU/OiAnSVJMUHJvdmlkZXInO1xuICBwcm92aWRlcklkPzogTWF5YmU8RmllbGRXcmFwcGVyPFNjYWxhcnNbJ1N0cmluZyddPj47XG4gIG5hbWU/OiBNYXliZTxGaWVsZFdyYXBwZXI8U2NhbGFyc1snU3RyaW5nJ10+PjtcbiAgY2hlYXBlc3RUaWNrZXQ/OiBNYXliZTxGaWVsZFdyYXBwZXI8SXJsVGlja2V0T3B0aW9uPj47XG4gIHRpY2tldE9wdGlvbnM/OiBNYXliZTxBcnJheTxNYXliZTxGaWVsZFdyYXBwZXI8SXJsVGlja2V0T3B0aW9uPj4+PjtcbiAgYm9va2VkVGlja2V0PzogTWF5YmU8RmllbGRXcmFwcGVyPElybFRpY2tldE9wdGlvbj4+O1xufTtcblxuZXhwb3J0IHR5cGUgSXJsU2VhcmNoUmVzdWx0ID0ge1xuICBfX3R5cGVuYW1lPzogJ0lSTFNlYXJjaFJlc3VsdCc7XG4gIHJlc3VsdHM6IEFycmF5PEZpZWxkV3JhcHBlcjxJcmxKb3VybmV5T3B0aW9ucz4+O1xuICBlcnJvcnM6IEFycmF5PEZpZWxkV3JhcHBlcjxTZWFyY2hFcnJvcj4+O1xufTtcblxuZXhwb3J0IHR5cGUgSXJsU2VhdCA9IHtcbiAgX190eXBlbmFtZT86ICdJUkxTZWF0JztcbiAgbG9jYXRpb24/OiBNYXliZTxGaWVsZFdyYXBwZXI8U2NhbGFyc1snU3RyaW5nJ10+PjtcbiAgY29hY2g/OiBNYXliZTxGaWVsZFdyYXBwZXI8U2NhbGFyc1snU3RyaW5nJ10+PjtcbiAgbnVtYmVyPzogTWF5YmU8RmllbGRXcmFwcGVyPFNjYWxhcnNbJ1N0cmluZyddPj47XG4gIGRpcmVjdGlvbj86IE1heWJlPEZpZWxkV3JhcHBlcjxTY2FsYXJzWydTdHJpbmcnXT4+O1xuICBwb3NpdGlvbj86IE1heWJlPEZpZWxkV3JhcHBlcjxTY2FsYXJzWydTdHJpbmcnXT4+O1xuICBkZWNrPzogTWF5YmU8RmllbGRXcmFwcGVyPFNjYWxhcnNbJ1N0cmluZyddPj47XG4gIHNlYXRUeXBlPzogTWF5YmU8RmllbGRXcmFwcGVyPFNjYWxhcnNbJ1N0cmluZyddPj47XG4gIHNlYXRTZWxlY3Rpb24/OiBNYXliZTxGaWVsZFdyYXBwZXI8U2NhbGFyc1snU3RyaW5nJ10+PjtcbiAgZmFjaWxpdGllcz86IE1heWJlPEFycmF5PE1heWJlPEZpZWxkV3JhcHBlcjxTY2FsYXJzWydTdHJpbmcnXT4+Pj47XG4gIG5vdGU6IEZpZWxkV3JhcHBlcjxTY2FsYXJzWydTdHJpbmcnXT47XG59O1xuXG5leHBvcnQgdHlwZSBJcmxTZWF0UHJlZmVyZW5jZVR5cGUgPSB7XG4gIF9fdHlwZW5hbWU/OiAnSVJMU2VhdFByZWZlcmVuY2VUeXBlJztcbiAgbmFtZT86IE1heWJlPEZpZWxkV3JhcHBlcjxTY2FsYXJzWydTdHJpbmcnXT4+O1xuICBhbGxvd2VkVmFsdWVzPzogTWF5YmU8QXJyYXk8TWF5YmU8RmllbGRXcmFwcGVyPFNjYWxhcnNbJ1N0cmluZyddPj4+Pjtcbn07XG5cbmV4cG9ydCB0eXBlIElybFNlZ21lbnQgPSB7XG4gIF9fdHlwZW5hbWU/OiAnSVJMU2VnbWVudCc7XG4gIGlkPzogTWF5YmU8RmllbGRXcmFwcGVyPFNjYWxhcnNbJ1N0cmluZyddPj47XG4gIG9wZXJhdG9yPzogTWF5YmU8RmllbGRXcmFwcGVyPFNjYWxhcnNbJ1N0cmluZyddPj47XG4gIGRlcGFydD86IE1heWJlPEZpZWxkV3JhcHBlcjxTY2FsYXJzWydTdHJpbmcnXT4+O1xuICBkZXBhcnREYXRlVGltZT86IE1heWJlPEZpZWxkV3JhcHBlcjxTY2FsYXJzWydEYXRlVGltZSddPj47XG4gIGFycml2ZT86IE1heWJlPEZpZWxkV3JhcHBlcjxTY2FsYXJzWydTdHJpbmcnXT4+O1xuICBhcnJpdmVEYXRlVGltZT86IE1heWJlPEZpZWxkV3JhcHBlcjxTY2FsYXJzWydEYXRlVGltZSddPj47XG4gIHJlc2VydmFibGVTdGF0dXM/OiBNYXliZTxGaWVsZFdyYXBwZXI8U2NhbGFyc1snU3RyaW5nJ10+PjtcbiAgc2VhdFByZWZlcmVuY2VUeXBlcz86IE1heWJlPEFycmF5PEZpZWxkV3JhcHBlcjxJcmxTZWF0UHJlZmVyZW5jZVR5cGU+Pj47XG4gIHNlYXRQcmVmZXJlbmNlR3JvdXA/OiBNYXliZTxGaWVsZFdyYXBwZXI8U2NhbGFyc1snU3RyaW5nJ10+PjtcbiAgc2VhdHM/OiBNYXliZTxBcnJheTxGaWVsZFdyYXBwZXI8SXJsU2VhdD4+Pjtcbn07XG5cbmV4cG9ydCBlbnVtIElybFN1cHBsaWVyIHtcbiAgUmVuZmUgPSAnUmVuZmUnLFxuICBCZU5lID0gJ0JlTmUnLFxuICBOdHYgPSAnTnR2J1xufVxuXG5leHBvcnQgdHlwZSBJcmxTdXBwbGllclN0YXRpb24gPSB7XG4gIF9fdHlwZW5hbWU/OiAnSVJMU3VwcGxpZXJTdGF0aW9uJztcbiAgaWQ6IEZpZWxkV3JhcHBlcjxTY2FsYXJzWydJRCddPjtcbiAgbmFtZTogRmllbGRXcmFwcGVyPFNjYWxhcnNbJ1N0cmluZyddPjtcbiAgc3VwcGxpZXI6IEZpZWxkV3JhcHBlcjxTY2FsYXJzWydTdHJpbmcnXT47XG4gIHN0YXRpb25Db2RlOiBGaWVsZFdyYXBwZXI8U2NhbGFyc1snU3RyaW5nJ10+O1xuICBubGNDb2RlPzogTWF5YmU8RmllbGRXcmFwcGVyPFNjYWxhcnNbJ0ludCddPj47XG4gIHRyYWlubGluZUNvZGU/OiBNYXliZTxGaWVsZFdyYXBwZXI8U2NhbGFyc1snU3RyaW5nJ10+PjtcbiAgdHJhaW5saW5lVW5pcXVlQ29kZT86IE1heWJlPEZpZWxkV3JhcHBlcjxTY2FsYXJzWydTdHJpbmcnXT4+O1xuICBsb2NhdGlvbkRldGFpbHM/OiBNYXliZTxGaWVsZFdyYXBwZXI8TG9jYXRpb25EZXRhaWw+Pjtcbn07XG5cbmV4cG9ydCB0eXBlIElybFRleHRWYWx1ZVBhaXIgPSB7XG4gIF9fdHlwZW5hbWU/OiAnSVJMVGV4dFZhbHVlUGFpcic7XG4gIHRleHQ6IEZpZWxkV3JhcHBlcjxTY2FsYXJzWydTdHJpbmcnXT47XG4gIHZhbHVlPzogTWF5YmU8RmllbGRXcmFwcGVyPFNjYWxhcnNbJ1N0cmluZyddPj47XG59O1xuXG5leHBvcnQgdHlwZSBJcmxUaWNrZXQgPSB7XG4gIF9fdHlwZW5hbWU/OiAnSVJMVGlja2V0JztcbiAgcHJpY2U/OiBNYXliZTxGaWVsZFdyYXBwZXI8U2NhbGFyc1snRmxvYXQnXT4+O1xuICB0eXBlPzogTWF5YmU8RmllbGRXcmFwcGVyPFNjYWxhcnNbJ1N0cmluZyddPj47XG4gIHJvdXRlPzogTWF5YmU8RmllbGRXcmFwcGVyPFNjYWxhcnNbJ1N0cmluZyddPj47XG4gIHNlZ21lbnRzPzogTWF5YmU8QXJyYXk8RmllbGRXcmFwcGVyPElybFNlZ21lbnQ+Pj47XG4gIG51bUNoaWxkcmVuPzogTWF5YmU8RmllbGRXcmFwcGVyPFNjYWxhcnNbJ0ludCddPj47XG4gIG51bUFkdWx0cz86IE1heWJlPEZpZWxkV3JhcHBlcjxTY2FsYXJzWydJbnQnXT4+O1xufTtcblxuZXhwb3J0IHR5cGUgSXJsVGlja2V0RXh0cmEgPSB7XG4gIF9fdHlwZW5hbWU/OiAnSVJMVGlja2V0RXh0cmEnO1xuICBpZGVudGlmaWVycz86IE1heWJlPEZpZWxkV3JhcHBlcjxJcmxUaWNrZXRFeHRyYUlkZW50aWZpZXJzPj47XG4gIHR5cGU/OiBNYXliZTxGaWVsZFdyYXBwZXI8U2NhbGFyc1snU3RyaW5nJ10+PjtcbiAgbG9jYXRpb24/OiBNYXliZTxGaWVsZFdyYXBwZXI8U2NhbGFyc1snU3RyaW5nJ10+PjtcbiAgZGF0ZT86IE1heWJlPEZpZWxkV3JhcHBlcjxTY2FsYXJzWydEYXRlJ10+PjtcbiAgZGVzY3JpcHRpb24/OiBNYXliZTxGaWVsZFdyYXBwZXI8U2NhbGFyc1snU3RyaW5nJ10+PjtcbiAgYW1vdW50PzogTWF5YmU8RmllbGRXcmFwcGVyPFNjYWxhcnNbJ0Zsb2F0J10+PjtcbiAgYWR1bHRBbW91bnQ/OiBNYXliZTxGaWVsZFdyYXBwZXI8U2NhbGFyc1snRmxvYXQnXT4+O1xuICBjaGlsZEFtb3VudD86IE1heWJlPEZpZWxkV3JhcHBlcjxTY2FsYXJzWydGbG9hdCddPj47XG4gIGN1cnJlbmN5PzogTWF5YmU8RmllbGRXcmFwcGVyPFNjYWxhcnNbJ1N0cmluZyddPj47XG59O1xuXG5leHBvcnQgdHlwZSBJcmxUaWNrZXRFeHRyYUlkZW50aWZpZXJzID0ge1xuICBfX3R5cGVuYW1lPzogJ0lSTFRpY2tldEV4dHJhSWRlbnRpZmllcnMnO1xuICB0eXBlPzogTWF5YmU8RmllbGRXcmFwcGVyPFNjYWxhcnNbJ1N0cmluZyddPj47XG4gIGxvY2F0aW9uPzogTWF5YmU8RmllbGRXcmFwcGVyPFNjYWxhcnNbJ1N0cmluZyddPj47XG4gIGRhdGU/OiBNYXliZTxGaWVsZFdyYXBwZXI8U2NhbGFyc1snRGF0ZSddPj47XG4gIGpvdXJuZXlJZD86IE1heWJlPEZpZWxkV3JhcHBlcjxTY2FsYXJzWydTdHJpbmcnXT4+O1xuICBpc09yaWdpbj86IE1heWJlPEZpZWxkV3JhcHBlcjxTY2FsYXJzWydCb29sZWFuJ10+Pjtcbn07XG5cbmV4cG9ydCB0eXBlIElybFRpY2tldE9wdGlvbiA9IHtcbiAgX190eXBlbmFtZT86ICdJUkxUaWNrZXRPcHRpb24nO1xuICBpZGVudGlmaWVycz86IE1heWJlPEZpZWxkV3JhcHBlcjxJcmxJZGVudGlmaWVycz4+O1xuICB0eXBlPzogTWF5YmU8RmllbGRXcmFwcGVyPFNjYWxhcnNbJ1N0cmluZyddPj47XG4gIGNsYXNzPzogTWF5YmU8RmllbGRXcmFwcGVyPFNjYWxhcnNbJ1N0cmluZyddPj47XG4gIHNpbmdsZU9yUmV0dXJuPzogTWF5YmU8RmllbGRXcmFwcGVyPFNjYWxhcnNbJ1N0cmluZyddPj47XG4gIHByaWNlPzogTWF5YmU8RmllbGRXcmFwcGVyPFNjYWxhcnNbJ0Zsb2F0J10+PjtcbiAgcmVzZXJ2YWJsZVN0YXR1cz86IE1heWJlPEZpZWxkV3JhcHBlcjxTY2FsYXJzWydTdHJpbmcnXT4+O1xuICBjdXJyZW5jeT86IE1heWJlPEZpZWxkV3JhcHBlcjxTY2FsYXJzWydTdHJpbmcnXT4+O1xuICByb3V0ZT86IE1heWJlPEZpZWxkV3JhcHBlcjxTY2FsYXJzWydTdHJpbmcnXT4+O1xuICByb3V0ZUNvZGU/OiBNYXliZTxGaWVsZFdyYXBwZXI8U2NhbGFyc1snU3RyaW5nJ10+PjtcbiAgdGlja2V0cz86IE1heWJlPEFycmF5PE1heWJlPEZpZWxkV3JhcHBlcjxJcmxUaWNrZXQ+Pj4+O1xufTtcblxuZXhwb3J0IHR5cGUgSXJsVHJhdmVsbGVyID0ge1xuICBfX3R5cGVuYW1lPzogJ0lSTFRyYXZlbGxlcic7XG4gIHN0YXR1cz86IE1heWJlPEZpZWxkV3JhcHBlcjxJcmxUcmF2ZWxsZXJTdGF0dXM+PjtcbiAgaWQ/OiBNYXliZTxGaWVsZFdyYXBwZXI8U2NhbGFyc1snU3RyaW5nJ10+PjtcbiAgZG9iPzogTWF5YmU8RmllbGRXcmFwcGVyPFNjYWxhcnNbJ0RhdGUnXT4+O1xuICByYWlsY2FyZD86IE1heWJlPEZpZWxkV3JhcHBlcjxTY2FsYXJzWydTdHJpbmcnXT4+O1xuICBnaXZlbk5hbWU/OiBNYXliZTxGaWVsZFdyYXBwZXI8U2NhbGFyc1snU3RyaW5nJ10+PjtcbiAgc3VybmFtZT86IE1heWJlPEZpZWxkV3JhcHBlcjxTY2FsYXJzWydTdHJpbmcnXT4+O1xuICBuYW1lVGl0bGU/OiBNYXliZTxGaWVsZFdyYXBwZXI8U2NhbGFyc1snU3RyaW5nJ10+PjtcbiAgY29udGFjdEluZm8/OiBNYXliZTxGaWVsZFdyYXBwZXI8U2NhbGFyc1snU3RyaW5nJ10+PjtcbiAgZGVsaXZlcnlFbWFpbEFkZHJlc3M/OiBNYXliZTxGaWVsZFdyYXBwZXI8U2NhbGFyc1snU3RyaW5nJ10+PjtcbiAgZmFyZT86IE1heWJlPEZpZWxkV3JhcHBlcjxTY2FsYXJzWydTdHJpbmcnXT4+O1xufTtcblxuZXhwb3J0IGVudW0gSXJsVHJhdmVsbGVyU3RhdHVzIHtcbiAgUGxhY2Vob2xkZXIgPSAncGxhY2Vob2xkZXInLFxuICBDb21wbGV0ZSA9ICdjb21wbGV0ZSdcbn1cblxuZXhwb3J0IHR5cGUgSW5wdXRDYXJIaXJlRGVwb3QgPSB7XG4gIHZlbmRvckNvZGU/OiBNYXliZTxTY2FsYXJzWydTdHJpbmcnXT47XG4gIHBpY2t1cExvY2F0aW9uQ29kZT86IE1heWJlPFNjYWxhcnNbJ1N0cmluZyddPjtcbiAgcGlja3VwRXh0ZW5kZWRMb2NhdGlvbkNvZGU/OiBNYXliZTxTY2FsYXJzWydTdHJpbmcnXT47XG4gIGRyb3BPZmZMb2NhdGlvbkNvZGU/OiBNYXliZTxTY2FsYXJzWydTdHJpbmcnXT47XG4gIGRyb3BPZmZFeHRlbmRlZExvY2F0aW9uQ29kZT86IE1heWJlPFNjYWxhcnNbJ1N0cmluZyddPjtcbn07XG5cbmV4cG9ydCB0eXBlIElucHV0RmxpZ2h0Sm91cm5leSA9IHtcbiAgZmFyZUluZm8/OiBNYXliZTxTY2FsYXJzWydKU09OJ10+O1xuICBvcmlnaW5BaXJwb3J0OiBTY2FsYXJzWydTdHJpbmcnXTtcbiAgb3JpZ2luVGVybWluYWw/OiBNYXliZTxTY2FsYXJzWydTdHJpbmcnXT47XG4gIGRlc3RpbmF0aW9uQWlycG9ydDogU2NhbGFyc1snU3RyaW5nJ107XG4gIGRlc3RpbmF0aW9uVGVybWluYWw/OiBNYXliZTxTY2FsYXJzWydTdHJpbmcnXT47XG4gIGRhdGVUaW1lRGVwYXJ0aW5nOiBTY2FsYXJzWydTdHJpbmcnXTtcbiAgZGF0ZVRpbWVEZXBhcnRpbmdVVEM6IFNjYWxhcnNbJ1N0cmluZyddO1xuICBkYXRlVGltZUFycml2aW5nOiBTY2FsYXJzWydTdHJpbmcnXTtcbiAgZGF0ZVRpbWVBcnJpdmluZ1VUQzogU2NhbGFyc1snU3RyaW5nJ107XG4gIG1hcmtldGluZ0NhcnJpZXI6IFNjYWxhcnNbJ1N0cmluZyddO1xuICBtYXJrZXRpbmdDYXJyaWVyTmFtZT86IE1heWJlPFNjYWxhcnNbJ1N0cmluZyddPjtcbiAgbWFya2V0aW5nRmxpZ2h0TnVtYmVyOiBTY2FsYXJzWydTdHJpbmcnXTtcbiAgb3BlcmF0aW5nQ2FycmllcjogU2NhbGFyc1snU3RyaW5nJ107XG4gIG9wZXJhdGluZ0NhcnJpZXJOYW1lPzogTWF5YmU8U2NhbGFyc1snU3RyaW5nJ10+O1xuICBvcGVyYXRpbmdGbGlnaHROdW1iZXI6IFNjYWxhcnNbJ1N0cmluZyddO1xuICBlcXVpcG1lbnRDb2RlOiBTY2FsYXJzWydTdHJpbmcnXTtcbiAgZXF1aXBtZW50TmFtZTogU2NhbGFyc1snU3RyaW5nJ107XG4gIHRvdGFsRHVyYXRpb246IFNjYWxhcnNbJ0ludCddO1xuICBzZWF0c0F2YWlsYWJsZT86IE1heWJlPFNjYWxhcnNbJ0ludCddPjtcbiAgY2FiaW5Db2RlPzogTWF5YmU8U2NhbGFyc1snU3RyaW5nJ10+O1xuICBjYWJpbkNsYXNzPzogTWF5YmU8U2NhbGFyc1snU3RyaW5nJ10+O1xuICBtYXJrZXRpbmdOYW1lcz86IE1heWJlPEFycmF5PE1heWJlPFNjYWxhcnNbJ1N0cmluZyddPj4+O1xuICBmYXJlQ29uZGl0aW9uczogU2NhbGFyc1snSlNPTiddO1xuICB2ZW5kb3JDb2RlPzogTWF5YmU8U2NhbGFyc1snU3RyaW5nJ10+O1xuICBzdG9wcz86IE1heWJlPFNjYWxhcnNbJ1N0cmluZyddPjtcbiAgYm9va2luZ0NvZGU/OiBNYXliZTxTY2FsYXJzWydTdHJpbmcnXT47XG4gIG1hcnJpYWdlR3JvdXA/OiBNYXliZTxTY2FsYXJzWydCb29sZWFuJ10+O1xuICBmYXJlQmFzaXNDb2RlPzogTWF5YmU8U2NhbGFyc1snU3RyaW5nJ10+O1xuICBhZGRpdGlvbmFsPzogTWF5YmU8U2NhbGFyc1snSlNPTiddPjtcbn07XG5cbmV4cG9ydCB0eXBlIEl0aW5lcmFyeVN1bW1hcnkgPSB7XG4gIF9fdHlwZW5hbWU/OiAnSXRpbmVyYXJ5U3VtbWFyeSc7XG4gIG9yZGVyOiBGaWVsZFdyYXBwZXI8U2NhbGFyc1snSW50J10+O1xuICBvcmlnaW46IEZpZWxkV3JhcHBlcjxTY2FsYXJzWydTdHJpbmcnXT47XG4gIGRlc3RpbmF0aW9uOiBGaWVsZFdyYXBwZXI8U2NhbGFyc1snU3RyaW5nJ10+O1xuICByZXN1bHRzOiBBcnJheTxGaWVsZFdyYXBwZXI8RmxpZ2h0SXRpbmVyYXJ5Pj47XG4gIG1pblByaWNlOiBGaWVsZFdyYXBwZXI8U2NhbGFyc1snRmxvYXQnXT47XG4gIG1heFByaWNlOiBGaWVsZFdyYXBwZXI8U2NhbGFyc1snRmxvYXQnXT47XG59O1xuXG5cbmV4cG9ydCB0eXBlIExhbmd1YWdlID0ge1xuICBfX3R5cGVuYW1lPzogJ0xhbmd1YWdlJztcbiAgaWQ6IEZpZWxkV3JhcHBlcjxTY2FsYXJzWydJRCddPjtcbiAgbmFtZTogRmllbGRXcmFwcGVyPFNjYWxhcnNbJ1N0cmluZyddPjtcbiAgaXNvQ29kZTogRmllbGRXcmFwcGVyPFNjYWxhcnNbJ1N0cmluZyddPjtcbn07XG5cbmV4cG9ydCB0eXBlIExpdmVEZXBCb2FyZFJlc3VsdCA9IHtcbiAgX190eXBlbmFtZT86ICdMaXZlRGVwQm9hcmRSZXN1bHQnO1xuICBzZXJ2aWNlcz86IE1heWJlPEFycmF5PE1heWJlPEZpZWxkV3JhcHBlcjxEZXBhcnR1cmVCb2FyZFNlcnZpY2U+Pj4+O1xufTtcblxuZXhwb3J0IHR5cGUgTG9jYXRpb24gPSB7XG4gIF9fdHlwZW5hbWU/OiAnTG9jYXRpb24nO1xuICBsb2NhdGlvbk5hbWU/OiBNYXliZTxGaWVsZFdyYXBwZXI8U2NhbGFyc1snU3RyaW5nJ10+PjtcbiAgdGlwbG9jPzogTWF5YmU8RmllbGRXcmFwcGVyPFNjYWxhcnNbJ1N0cmluZyddPj47XG4gIGNycz86IE1heWJlPEZpZWxkV3JhcHBlcjxTY2FsYXJzWydTdHJpbmcnXT4+O1xufTtcblxuZXhwb3J0IHR5cGUgTG9jYXRpb25EZXRhaWwgPSB7XG4gIF9fdHlwZW5hbWU/OiAnTG9jYXRpb25EZXRhaWwnO1xuICBjb250aW5lbnQ/OiBNYXliZTxGaWVsZFdyYXBwZXI8U2NhbGFyc1snU3RyaW5nJ10+PjtcbiAgY291bnRyeT86IE1heWJlPEZpZWxkV3JhcHBlcjxTY2FsYXJzWydTdHJpbmcnXT4+O1xuICBjb3VudHJ5Q29kZT86IE1heWJlPEZpZWxkV3JhcHBlcjxTY2FsYXJzWydTdHJpbmcnXT4+O1xuICBzdGF0ZT86IE1heWJlPEZpZWxkV3JhcHBlcjxTY2FsYXJzWydTdHJpbmcnXT4+O1xuICBjaXR5PzogTWF5YmU8RmllbGRXcmFwcGVyPFNjYWxhcnNbJ1N0cmluZyddPj47XG4gIGNvb3JkaW5hdGVzPzogTWF5YmU8RmllbGRXcmFwcGVyPEdlb0Nvb3JkaW5hdGVzPj47XG4gIHBvc3Rjb2RlPzogTWF5YmU8RmllbGRXcmFwcGVyPFNjYWxhcnNbJ1N0cmluZyddPj47XG4gIHJvYWQ/OiBNYXliZTxGaWVsZFdyYXBwZXI8U2NhbGFyc1snU3RyaW5nJ10+PjtcbiAgZ3JpZFJlZmVyZW5jZT86IE1heWJlPEZpZWxkV3JhcHBlcjxTY2FsYXJzWydTdHJpbmcnXT4+O1xuICBub3J0aGluZz86IE1heWJlPEZpZWxkV3JhcHBlcjxTY2FsYXJzWydTdHJpbmcnXT4+O1xuICBlYXN0aW5nPzogTWF5YmU8RmllbGRXcmFwcGVyPFNjYWxhcnNbJ1N0cmluZyddPj47XG59O1xuXG5leHBvcnQgdHlwZSBMb3VuZ2VMb2NhdGlvbiA9IHtcbiAgX190eXBlbmFtZT86ICdMb3VuZ2VMb2NhdGlvbic7XG4gIGNvZGU6IEZpZWxkV3JhcHBlcjxTY2FsYXJzWydTdHJpbmcnXT47XG4gIG5hbWU6IEZpZWxkV3JhcHBlcjxTY2FsYXJzWydTdHJpbmcnXT47XG4gIGFpcnBvcnQ6IEZpZWxkV3JhcHBlcjxTY2FsYXJzWydTdHJpbmcnXT47XG4gIHRlcm1pbmFsPzogTWF5YmU8RmllbGRXcmFwcGVyPFNjYWxhcnNbJ0ludCddPj47XG4gIGFkZHJlc3M/OiBNYXliZTxGaWVsZFdyYXBwZXI8U2NhbGFyc1snU3RyaW5nJ10+PjtcbiAgdGVsZXBob25lPzogTWF5YmU8RmllbGRXcmFwcGVyPFNjYWxhcnNbJ1N0cmluZyddPj47XG4gIGZheD86IE1heWJlPEZpZWxkV3JhcHBlcjxTY2FsYXJzWydTdHJpbmcnXT4+O1xuICBkaXJlY3Rpb25zPzogTWF5YmU8RmllbGRXcmFwcGVyPFNjYWxhcnNbJ1N0cmluZyddPj47XG4gIGludHJvZHVjdGlvbj86IE1heWJlPEZpZWxkV3JhcHBlcjxTY2FsYXJzWydTdHJpbmcnXT4+O1xuICBsb2dvPzogTWF5YmU8RmllbGRXcmFwcGVyPFNjYWxhcnNbJ1N0cmluZyddPj47XG4gIG1vYmlsZUltYWdlPzogTWF5YmU8RmllbGRXcmFwcGVyPFNjYWxhcnNbJ1N0cmluZyddPj47XG4gIGZ1cnRoZXJJbWFnZXM/OiBNYXliZTxBcnJheTxNYXliZTxGaWVsZFdyYXBwZXI8U2NhbGFyc1snU3RyaW5nJ10+Pj4+O1xuICBhZHVsdEFnZT86IE1heWJlPEZpZWxkV3JhcHBlcjxTY2FsYXJzWydJbnQnXT4+O1xuICBjaGlsZEFnZT86IE1heWJlPEZpZWxkV3JhcHBlcjxTY2FsYXJzWydJbnQnXT4+O1xuICBpbmZhbnRBZ2U/OiBNYXliZTxGaWVsZFdyYXBwZXI8U2NhbGFyc1snSW50J10+PjtcbiAgbGFuZHNpZGU6IEZpZWxkV3JhcHBlcjxTY2FsYXJzWydCb29sZWFuJ10+O1xuICBhaXJzaWRlOiBGaWVsZFdyYXBwZXI8U2NhbGFyc1snQm9vbGVhbiddPjtcbiAgZmFjaWxpdGllcz86IE1heWJlPEFycmF5PE1heWJlPEZpZWxkV3JhcHBlcjxTY2FsYXJzWydTdHJpbmcnXT4+Pj47XG4gIG9wZW5UaW1lPzogTWF5YmU8RmllbGRXcmFwcGVyPFNjYWxhcnNbJ1N0cmluZyddPj47XG4gIGNsb3NlVGltZT86IE1heWJlPEZpZWxkV3JhcHBlcjxTY2FsYXJzWydTdHJpbmcnXT4+O1xuICB3aWZpPzogTWF5YmU8RmllbGRXcmFwcGVyPFNjYWxhcnNbJ0Jvb2xlYW4nXT4+O1xuICB0dj86IE1heWJlPEZpZWxkV3JhcHBlcjxTY2FsYXJzWydCb29sZWFuJ10+PjtcbiAgc25hY2tzPzogTWF5YmU8RmllbGRXcmFwcGVyPFNjYWxhcnNbJ0Jvb2xlYW4nXT4+O1xuICBwaG9uZT86IE1heWJlPEZpZWxkV3JhcHBlcjxTY2FsYXJzWydCb29sZWFuJ10+PjtcbiAgaW50ZXJuZXQ/OiBNYXliZTxGaWVsZFdyYXBwZXI8U2NhbGFyc1snQm9vbGVhbiddPj47XG4gIGNoaWxkcmVuQWxsb3dlZD86IE1heWJlPEZpZWxkV3JhcHBlcjxTY2FsYXJzWydCb29sZWFuJ10+PjtcbiAgZGlzYWJsZWRBY2Nlc3M/OiBNYXliZTxGaWVsZFdyYXBwZXI8U2NhbGFyc1snQm9vbGVhbiddPj47XG4gIGRyaW5rcz86IE1heWJlPEZpZWxkV3JhcHBlcjxTY2FsYXJzWydCb29sZWFuJ10+PjtcbiAgZnJlZURyaW5rcz86IE1heWJlPEZpZWxkV3JhcHBlcjxTY2FsYXJzWydCb29sZWFuJ10+PjtcbiAgZnJlZUZvb2Q/OiBNYXliZTxGaWVsZFdyYXBwZXI8U2NhbGFyc1snQm9vbGVhbiddPj47XG4gIHNtb2tpbmdQZXJtaXR0ZWQ/OiBNYXliZTxGaWVsZFdyYXBwZXI8U2NhbGFyc1snQm9vbGVhbiddPj47XG4gIG1hZ2F6aW5lcz86IE1heWJlPEZpZWxkV3JhcHBlcjxTY2FsYXJzWydCb29sZWFuJ10+PjtcbiAgaW5jbHVkZWREcmlua3M/OiBNYXliZTxBcnJheTxNYXliZTxGaWVsZFdyYXBwZXI8U2NhbGFyc1snU3RyaW5nJ10+Pj4+O1xuICBtZW51Rm9vZD86IE1heWJlPEZpZWxkV3JhcHBlcjxTY2FsYXJzWydTdHJpbmcnXT4+O1xuICBtZW51RHJpbmtzPzogTWF5YmU8RmllbGRXcmFwcGVyPFNjYWxhcnNbJ1N0cmluZyddPj47XG4gIG1lbnVFeHRyYXM/OiBNYXliZTxGaWVsZFdyYXBwZXI8U2NhbGFyc1snU3RyaW5nJ10+PjtcbiAgd2hhdHNJbmNsdWRlZERyaW5rcz86IE1heWJlPEZpZWxkV3JhcHBlcjxTY2FsYXJzWydTdHJpbmcnXT4+O1xuICB3aGF0c0luY2x1ZGVkRXh0cmFzPzogTWF5YmU8RmllbGRXcmFwcGVyPFNjYWxhcnNbJ1N0cmluZyddPj47XG4gIHdoYXRzSW5jbHVkZWRGb29kPzogTWF5YmU8RmllbGRXcmFwcGVyPFNjYWxhcnNbJ1N0cmluZyddPj47XG4gIGdyb3VwSW5mbz86IE1heWJlPEZpZWxkV3JhcHBlcjxTY2FsYXJzWydTdHJpbmcnXT4+O1xuICBjaGVja0luSW5mbz86IE1heWJlPEZpZWxkV3JhcHBlcjxTY2FsYXJzWydTdHJpbmcnXT4+O1xuICBkcmVzc0NvZGU/OiBNYXliZTxGaWVsZFdyYXBwZXI8U2NhbGFyc1snU3RyaW5nJ10+PjtcbiAgZmFjaWxpdGllc0luZm8/OiBNYXliZTxGaWVsZFdyYXBwZXI8U2NhbGFyc1snU3RyaW5nJ10+PjtcbiAgZm9vZEFuZEJldmVyYWdlPzogTWF5YmU8RmllbGRXcmFwcGVyPFNjYWxhcnNbJ1N0cmluZyddPj47XG4gIGNhbmNlbGxhdGlvbkluZm8/OiBNYXliZTxGaWVsZFdyYXBwZXI8U2NhbGFyc1snU3RyaW5nJ10+PjtcbiAgYW1lbmRtZW50c0luZm8/OiBNYXliZTxGaWVsZFdyYXBwZXI8U2NhbGFyc1snU3RyaW5nJ10+PjtcbiAgbWlzYz86IE1heWJlPEZpZWxkV3JhcHBlcjxTY2FsYXJzWydKU09OJ10+Pjtcbn07XG5cbmV4cG9ydCB0eXBlIExvdW5nZVF1b3RlID0ge1xuICBfX3R5cGVuYW1lPzogJ0xvdW5nZVF1b3RlJztcbiAgc291cmNlOiBGaWVsZFdyYXBwZXI8U2NhbGFyc1snU3RyaW5nJ10+O1xuICBzb3VyY2VJZDogRmllbGRXcmFwcGVyPFNjYWxhcnNbJ0ludCddPjtcbiAgbmFtZTogRmllbGRXcmFwcGVyPFNjYWxhcnNbJ1N0cmluZyddPjtcbiAgY29kZTogRmllbGRXcmFwcGVyPFNjYWxhcnNbJ1N0cmluZyddPjtcbiAgcHJpY2U6IEZpZWxkV3JhcHBlcjxTY2FsYXJzWydGbG9hdCddPjtcbiAgY3VycmVuY3k6IEZpZWxkV3JhcHBlcjxDdXJyZW5jeUNvZGU+O1xuICBsb3VuZ2U6IEZpZWxkV3JhcHBlcjxMb3VuZ2VMb2NhdGlvbj47XG4gIHRtY1ByZWZlcnJlZDogRmllbGRXcmFwcGVyPFNjYWxhcnNbJ0Jvb2xlYW4nXT47XG4gIGNvbXBhbnlQcmVmZXJyZWQ6IEZpZWxkV3JhcHBlcjxTY2FsYXJzWydCb29sZWFuJ10+O1xuICBvZmZpY2VQcmVmZXJyZWQ6IEZpZWxkV3JhcHBlcjxTY2FsYXJzWydCb29sZWFuJ10+O1xuICB0bWNQcmVmZXJyZWRNZXNzYWdlPzogTWF5YmU8RmllbGRXcmFwcGVyPFNjYWxhcnNbJ1N0cmluZyddPj47XG4gIGNvbXBhbnlQcmVmZXJyZWRNZXNzYWdlPzogTWF5YmU8RmllbGRXcmFwcGVyPFNjYWxhcnNbJ1N0cmluZyddPj47XG4gIG9mZmljZVByZWZlcnJlZE1lc3NhZ2U/OiBNYXliZTxGaWVsZFdyYXBwZXI8U2NhbGFyc1snU3RyaW5nJ10+PjtcbiAgdW5hdmFpbGFibGU6IEZpZWxkV3JhcHBlcjxTY2FsYXJzWydCb29sZWFuJ10+O1xuICB1bmF2YWlsYWJsZU1lc3NhZ2U/OiBNYXliZTxGaWVsZFdyYXBwZXI8U2NhbGFyc1snU3RyaW5nJ10+PjtcbiAgY28yUGVyUGFzc2VuZ2VyOiBGaWVsZFdyYXBwZXI8U2NhbGFyc1snRmxvYXQnXT47XG4gIGNvMlBlckl0ZW06IEZpZWxkV3JhcHBlcjxTY2FsYXJzWydGbG9hdCddPjtcbn07XG5cbmV4cG9ydCB0eXBlIExvdW5nZVNlYXJjaFJlc3VsdCA9IHtcbiAgX190eXBlbmFtZT86ICdMb3VuZ2VTZWFyY2hSZXN1bHQnO1xuICByZXN1bHRzOiBBcnJheTxGaWVsZFdyYXBwZXI8TG91bmdlUXVvdGU+PjtcbiAgZXJyb3JzOiBBcnJheTxGaWVsZFdyYXBwZXI8U2VhcmNoRXJyb3I+Pjtcbn07XG5cbmV4cG9ydCB0eXBlIE1hbmFnZW1lbnRJbmZvID0ge1xuICBfX3R5cGVuYW1lPzogJ01hbmFnZW1lbnRJbmZvJztcbiAgaWQ6IEZpZWxkV3JhcHBlcjxTY2FsYXJzWydJRCddPjtcbiAgZGJJZDogRmllbGRXcmFwcGVyPFNjYWxhcnNbJ0ludCddPjtcbiAgbmFtZTogRmllbGRXcmFwcGVyPFNjYWxhcnNbJ1N0cmluZyddPjtcbiAgZGVzY3JpcHRpb24/OiBNYXliZTxGaWVsZFdyYXBwZXI8U2NhbGFyc1snU3RyaW5nJ10+PjtcbiAgaGFuZG9mZjogRmllbGRXcmFwcGVyPFNjYWxhcnNbJ1N0cmluZyddPjtcbiAgdmFsdWVNYXNrPzogTWF5YmU8RmllbGRXcmFwcGVyPFNjYWxhcnNbJ1N0cmluZyddPj47XG4gIHNlcnZpY2U6IEZpZWxkV3JhcHBlcjxTZXJ2aWNlPjtcbiAgdWlQcmVzZW50YXRpb246IEZpZWxkV3JhcHBlcjxVaVByZXNlbnRhdGlvbj47XG4gIG1hbmRhdG9yeTogRmllbGRXcmFwcGVyPFNjYWxhcnNbJ0Jvb2xlYW4nXT47XG4gIHBlclBhc3NlbmdlcjogRmllbGRXcmFwcGVyPFNjYWxhcnNbJ0Jvb2xlYW4nXT47XG4gIHBlckJvb2tpbmc6IEZpZWxkV3JhcHBlcjxTY2FsYXJzWydCb29sZWFuJ10+O1xuICBhZ2VudE9ubHk6IEZpZWxkV3JhcHBlcjxTY2FsYXJzWydCb29sZWFuJ10+O1xuICBjcmVhdGVkQXQ6IEZpZWxkV3JhcHBlcjxTY2FsYXJzWydEYXRlVGltZSddPjtcbiAgdXBkYXRlZEF0OiBGaWVsZFdyYXBwZXI8U2NhbGFyc1snRGF0ZVRpbWUnXT47XG4gIGZpeGVkOiBGaWVsZFdyYXBwZXI8U2NhbGFyc1snQm9vbGVhbiddPjtcbiAgZml4ZWRWYWx1ZT86IE1heWJlPEZpZWxkV3JhcHBlcjxNYW5hZ2VtZW50SW5mb1ZhbHVlPj47XG4gIGRlZmF1bHRWYWx1ZT86IE1heWJlPEZpZWxkV3JhcHBlcjxNYW5hZ2VtZW50SW5mb1ZhbHVlPj47XG4gIHZhbHVlczogQXJyYXk8RmllbGRXcmFwcGVyPE1hbmFnZW1lbnRJbmZvVmFsdWU+PjtcbiAgZ3JvdXA/OiBNYXliZTxBcnJheTxNYXliZTxGaWVsZFdyYXBwZXI8U2NhbGFyc1snU3RyaW5nJ10+Pj4+O1xuICBzZWxlY3RlZFZhbHVlczogQXJyYXk8RmllbGRXcmFwcGVyPFNlbGVjdGVkTWFuYWdlbWVudEluZm9WYWx1ZT4+O1xufTtcblxuZXhwb3J0IHR5cGUgTWFuYWdlbWVudEluZm9WYWx1ZSA9IHtcbiAgX190eXBlbmFtZT86ICdNYW5hZ2VtZW50SW5mb1ZhbHVlJztcbiAgaWQ6IEZpZWxkV3JhcHBlcjxTY2FsYXJzWydJRCddPjtcbiAgbGFiZWw6IEZpZWxkV3JhcHBlcjxTY2FsYXJzWydTdHJpbmcnXT47XG4gIHZhbHVlOiBGaWVsZFdyYXBwZXI8U2NhbGFyc1snU3RyaW5nJ10+O1xuICBkZWZhdWx0OiBGaWVsZFdyYXBwZXI8U2NhbGFyc1snQm9vbGVhbiddPjtcbiAgZml4ZWQ6IEZpZWxkV3JhcHBlcjxTY2FsYXJzWydCb29sZWFuJ10+O1xuICBhZ2VudE9ubHk6IEZpZWxkV3JhcHBlcjxTY2FsYXJzWydCb29sZWFuJ10+O1xufTtcblxuZXhwb3J0IHR5cGUgTWF0Y2hpbmdGbGlnaHRzID0ge1xuICBfX3R5cGVuYW1lPzogJ01hdGNoaW5nRmxpZ2h0cyc7XG4gIExpdGVFY29ub215PzogTWF5YmU8QXJyYXk8TWF5YmU8RmllbGRXcmFwcGVyPFNjYWxhcnNbJ0ludCddPj4+PjtcbiAgRWNvbm9teVJlc3RyaWN0ZWQ/OiBNYXliZTxBcnJheTxNYXliZTxGaWVsZFdyYXBwZXI8U2NhbGFyc1snSW50J10+Pj4+O1xuICBFY29ub215Tm9CYWdzPzogTWF5YmU8QXJyYXk8TWF5YmU8RmllbGRXcmFwcGVyPFNjYWxhcnNbJ0ludCddPj4+PjtcbiAgRWNvbm9teUZsZXhpPzogTWF5YmU8QXJyYXk8TWF5YmU8RmllbGRXcmFwcGVyPFNjYWxhcnNbJ0ludCddPj4+PjtcbiAgRWNvbm9teT86IE1heWJlPEFycmF5PE1heWJlPEZpZWxkV3JhcHBlcjxTY2FsYXJzWydJbnQnXT4+Pj47XG4gIFByZW1pdW1FY29ub215PzogTWF5YmU8QXJyYXk8TWF5YmU8RmllbGRXcmFwcGVyPFNjYWxhcnNbJ0ludCddPj4+PjtcbiAgQnVzaW5lc3M/OiBNYXliZTxBcnJheTxNYXliZTxGaWVsZFdyYXBwZXI8U2NhbGFyc1snSW50J10+Pj4+O1xuICBQcmVtaXVtQnVzaW5lc3M/OiBNYXliZTxBcnJheTxNYXliZTxGaWVsZFdyYXBwZXI8U2NhbGFyc1snSW50J10+Pj4+O1xuICBGaXJzdD86IE1heWJlPEFycmF5PE1heWJlPEZpZWxkV3JhcHBlcjxTY2FsYXJzWydJbnQnXT4+Pj47XG4gIFByZW1pdW1GaXJzdD86IE1heWJlPEFycmF5PE1heWJlPEZpZWxkV3JhcHBlcjxTY2FsYXJzWydJbnQnXT4+Pj47XG59O1xuXG5leHBvcnQgdHlwZSBNZXNzYWdlID0ge1xuICBfX3R5cGVuYW1lPzogJ01lc3NhZ2UnO1xuICBpZDogRmllbGRXcmFwcGVyPFNjYWxhcnNbJ0lEJ10+O1xuICBuYW1lOiBGaWVsZFdyYXBwZXI8U2NhbGFyc1snU3RyaW5nJ10+O1xuICBkZXNjcmlwdGlvbj86IE1heWJlPEZpZWxkV3JhcHBlcjxTY2FsYXJzWydTdHJpbmcnXT4+O1xuICBjb25maWc6IEZpZWxkV3JhcHBlcjxTY2FsYXJzWydKU09OJ10+O1xuICB0YXJnZXQ6IEZpZWxkV3JhcHBlcjxTY2FsYXJzWydTdHJpbmcnXT47XG4gIGtleTogRmllbGRXcmFwcGVyPFNjYWxhcnNbJ1N0cmluZyddPjtcbiAgZGlzcGxheVRhcmdldDogRmllbGRXcmFwcGVyPE1lc3NhZ2VUYXJnZXQ+O1xuICBhZ2VudE9ubHk6IEZpZWxkV3JhcHBlcjxTY2FsYXJzWydCb29sZWFuJ10+O1xuICBjbGlja1RvQ29uZmlybTogRmllbGRXcmFwcGVyPFNjYWxhcnNbJ0Jvb2xlYW4nXT47XG4gIHZhbGlkRnJvbT86IE1heWJlPEZpZWxkV3JhcHBlcjxTY2FsYXJzWydEYXRlVGltZSddPj47XG4gIHZhbGlkVG8/OiBNYXliZTxGaWVsZFdyYXBwZXI8U2NhbGFyc1snRGF0ZVRpbWUnXT4+O1xufTtcblxuZXhwb3J0IGVudW0gTWVzc2FnZVRhcmdldCB7XG4gIExvZ2luID0gJ0xPR0lOJyxcbiAgU2VhcmNoRm9ybSA9ICdTRUFSQ0hfRk9STScsXG4gIFJlc3VsdHMgPSAnUkVTVUxUUycsXG4gIE1pRm9ybSA9ICdNSV9GT1JNJyxcbiAgQmFza2V0QmVmb3JlQ29uZmlybSA9ICdCQVNLRVRfQkVGT1JFX0NPTkZJUk0nLFxuICBEYXNoYm9hcmQgPSAnREFTSEJPQVJEJ1xufVxuXG5leHBvcnQgdHlwZSBNdXRhdGlvbiA9IHtcbiAgX190eXBlbmFtZT86ICdNdXRhdGlvbic7XG4gIHNhdmVVc2VyQWRkcmVzczogRmllbGRXcmFwcGVyPEFkZHJlc3M+O1xuICBkZWxldGVVc2VyQWRkcmVzczogRmllbGRXcmFwcGVyPFNjYWxhcnNbJ0Jvb2xlYW4nXT47XG4gIHNldEFkZHJlc3NBc1VzZXJQcmltYXJ5OiBGaWVsZFdyYXBwZXI8QWRkcmVzcz47XG4gIHNlbmRCYXNrZXRGb3JBcHByb3ZhbDogRmllbGRXcmFwcGVyPEJhc2tldD47XG4gIGNyZWF0ZUJhc2tldDogRmllbGRXcmFwcGVyPEJhc2tldD47XG4gIGRlbGV0ZUJhc2tldDogRmllbGRXcmFwcGVyPFNjYWxhcnNbJ0Jvb2xlYW4nXT47XG4gIHVwZGF0ZUJhc2tldFRpdGxlOiBGaWVsZFdyYXBwZXI8QmFza2V0PjtcbiAgdXBkYXRlQmFza2V0Tm90ZXM6IEZpZWxkV3JhcHBlcjxCYXNrZXQ+O1xuICBhZGRJdGVtVG9CYXNrZXQ6IEZpZWxkV3JhcHBlcjxCYXNrZXQ+O1xuICByZW1vdmVJdGVtRnJvbUJhc2tldDogRmllbGRXcmFwcGVyPEJhc2tldD47XG4gIHJlbW92ZUl0ZW1zRnJvbUJhc2tldDogRmllbGRXcmFwcGVyPEJhc2tldD47XG4gIG1vdmVJdGVtVG9BRGlmZmVyZW50QmFza2V0OiBGaWVsZFdyYXBwZXI8QmFza2V0PjtcbiAgYWRkVXNlcnNUb0Jhc2tldEl0ZW06IEZpZWxkV3JhcHBlcjxCYXNrZXQ+O1xuICByZW1vdmVVc2VyRnJvbUJhc2tldEl0ZW06IEZpZWxkV3JhcHBlcjxCYXNrZXQ+O1xuICByZW9wZW5CYXNrZXQ6IEZpZWxkV3JhcHBlcjxCYXNrZXQ+O1xuICBzZXRCYXNrZXRJdGVtTGVhZFBhc3NlbmdlcjogRmllbGRXcmFwcGVyPEJhc2tldD47XG4gIGJvb2tCYXNrZXQ6IEZpZWxkV3JhcHBlcjxCYXNrZXQ+O1xuICBjYW5jZWxCb29raW5nOiBGaWVsZFdyYXBwZXI8QWZ0ZXJDYW5jZWxsYXRpb25JbmZvPjtcbiAgY29uZmVybWFDcmVhdGVDYXJkOiBGaWVsZFdyYXBwZXI8Q29uZmVybWFDcmVhdGVDYXJkUmVzdWx0PjtcbiAgY29uZmVybWFEZWxldGVDYXJkOiBGaWVsZFdyYXBwZXI8U2NhbGFyc1snQm9vbGVhbiddPjtcbiAgc2V0QmFza2V0SXRlbU1JR3JvdXA6IEZpZWxkV3JhcHBlcjxCYXNrZXQ+O1xuICBzZXRNSURlZmF1bHRWYWx1ZTogRmllbGRXcmFwcGVyPFNjYWxhcnNbJ0Jvb2xlYW4nXT47XG4gIHNldEJhc2tldEl0ZW1NSVZhbHVlOiBGaWVsZFdyYXBwZXI8QmFza2V0PjtcbiAgY29uZmlybU1lc3NhZ2U6IEZpZWxkV3JhcHBlcjxTY2FsYXJzWydCb29sZWFuJ10+O1xuICBzZXRCYXNrZXRJdGVtUGF5bWVudE1ldGhvZDogRmllbGRXcmFwcGVyPEJhc2tldD47XG4gIHJldmFsaWRhdGVCYXNrZXQ6IEZpZWxkV3JhcHBlcjxCYXNrZXQ+O1xuICByZXZhbGlkYXRlQmFza2V0SXRlbTogRmllbGRXcmFwcGVyPEJhc2tldD47XG4gIGFjY2VwdE5ld1ByaWNlOiBGaWVsZFdyYXBwZXI8QmFza2V0PjtcbiAgc2F2ZUZhdm91cml0ZVNlYXJjaDogQXJyYXk8RmllbGRXcmFwcGVyPFNlYXJjaD4+O1xuICBzYXZlUmVjZW50U2VhcmNoOiBBcnJheTxGaWVsZFdyYXBwZXI8U2VhcmNoPj47XG4gIGRlbGV0ZUZhdm91cml0ZVNlYXJjaDogRmllbGRXcmFwcGVyPFNjYWxhcnNbJ0Jvb2xlYW4nXT47XG4gIGRlbGV0ZVJlY2VudFNlYXJjaDogRmllbGRXcmFwcGVyPFNjYWxhcnNbJ0Jvb2xlYW4nXT47XG4gIHNldFVzZXJMYW5ndWFnZTogRmllbGRXcmFwcGVyPFVzZXI+O1xufTtcblxuXG5leHBvcnQgdHlwZSBNdXRhdGlvblNhdmVVc2VyQWRkcmVzc0FyZ3MgPSB7XG4gIGRlc2NyaXB0aW9uOiBTY2FsYXJzWydTdHJpbmcnXTtcbiAgbnVtYmVyT3JOYW1lPzogTWF5YmU8U2NhbGFyc1snU3RyaW5nJ10+O1xuICBzdHJlZXQ/OiBNYXliZTxTY2FsYXJzWydTdHJpbmcnXT47XG4gIHRvd24/OiBNYXliZTxTY2FsYXJzWydTdHJpbmcnXT47XG4gIGNvdW50eT86IE1heWJlPFNjYWxhcnNbJ1N0cmluZyddPjtcbiAgcG9zdGNvZGU/OiBNYXliZTxTY2FsYXJzWydTdHJpbmcnXT47XG4gIGNvdW50cnlDb2RlPzogTWF5YmU8U2NhbGFyc1snU3RyaW5nJ10+O1xuICB1c2VyUHJpbWFyeT86IE1heWJlPFNjYWxhcnNbJ0Jvb2xlYW4nXT47XG59O1xuXG5cbmV4cG9ydCB0eXBlIE11dGF0aW9uRGVsZXRlVXNlckFkZHJlc3NBcmdzID0ge1xuICBpZDogU2NhbGFyc1snSUQnXTtcbn07XG5cblxuZXhwb3J0IHR5cGUgTXV0YXRpb25TZXRBZGRyZXNzQXNVc2VyUHJpbWFyeUFyZ3MgPSB7XG4gIGlkOiBTY2FsYXJzWydJRCddO1xufTtcblxuXG5leHBvcnQgdHlwZSBNdXRhdGlvblNlbmRCYXNrZXRGb3JBcHByb3ZhbEFyZ3MgPSB7XG4gIGJhc2tldDogU2NhbGFyc1snSUQnXTtcbn07XG5cblxuZXhwb3J0IHR5cGUgTXV0YXRpb25DcmVhdGVCYXNrZXRBcmdzID0ge1xuICB0aXRsZT86IE1heWJlPFNjYWxhcnNbJ1N0cmluZyddPjtcbn07XG5cblxuZXhwb3J0IHR5cGUgTXV0YXRpb25EZWxldGVCYXNrZXRBcmdzID0ge1xuICBpZD86IE1heWJlPFNjYWxhcnNbJ0lEJ10+O1xuICByZWZlcmVuY2U/OiBNYXliZTxTY2FsYXJzWydTdHJpbmcnXT47XG59O1xuXG5cbmV4cG9ydCB0eXBlIE11dGF0aW9uVXBkYXRlQmFza2V0VGl0bGVBcmdzID0ge1xuICBpZD86IE1heWJlPFNjYWxhcnNbJ0lEJ10+O1xuICByZWZlcmVuY2U/OiBNYXliZTxTY2FsYXJzWydTdHJpbmcnXT47XG4gIG5ld1RpdGxlOiBTY2FsYXJzWydTdHJpbmcnXTtcbn07XG5cblxuZXhwb3J0IHR5cGUgTXV0YXRpb25VcGRhdGVCYXNrZXROb3Rlc0FyZ3MgPSB7XG4gIGlkPzogTWF5YmU8U2NhbGFyc1snSUQnXT47XG4gIHJlZmVyZW5jZT86IE1heWJlPFNjYWxhcnNbJ1N0cmluZyddPjtcbiAgbm90ZXM6IFNjYWxhcnNbJ1N0cmluZyddO1xufTtcblxuXG5leHBvcnQgdHlwZSBNdXRhdGlvbkFkZEl0ZW1Ub0Jhc2tldEFyZ3MgPSB7XG4gIGJhc2tldD86IE1heWJlPFNjYWxhcnNbJ0lEJ10+O1xuICBzZXJ2aWNlOiBTY2FsYXJzWydJRCddO1xuICBkZXRhaWw6IFNjYWxhcnNbJ0pTT04nXTtcbiAgYWR1bHRzOiBTY2FsYXJzWydJbnQnXTtcbiAgY2hpbGRyZW4/OiBNYXliZTxTY2FsYXJzWydJbnQnXT47XG4gIGluZmFudHM/OiBNYXliZTxTY2FsYXJzWydJbnQnXT47XG4gIHByaWNlOiBTY2FsYXJzWydGbG9hdCddO1xuICBjdXJyZW5jeTogQ3VycmVuY3lDb2RlO1xuICBzZWFyY2hRdWVyeTogU2NhbGFyc1snSlNPTiddO1xuICBxdWlja0FkZD86IE1heWJlPFNjYWxhcnNbJ0Jvb2xlYW4nXT47XG4gIHVzZXJzPzogTWF5YmU8QXJyYXk8TWF5YmU8VXNlclBhc3NlbmdlclR5cGVJbnB1dD4+PjtcbiAgbGVhZFBhc3Nlbmdlcj86IE1heWJlPFNjYWxhcnNbJ0lEJ10+O1xuICBjbzJQZXJJdGVtPzogTWF5YmU8U2NhbGFyc1snRmxvYXQnXT47XG4gIGNvMlBlclBhc3Nlbmdlcj86IE1heWJlPFNjYWxhcnNbJ0Zsb2F0J10+O1xuICBvdXRib3VuZERhdGU6IFNjYWxhcnNbJ0RhdGVUaW1lJ107XG4gIGluYm91bmREYXRlPzogTWF5YmU8U2NhbGFyc1snRGF0ZVRpbWUnXT47XG59O1xuXG5cbmV4cG9ydCB0eXBlIE11dGF0aW9uUmVtb3ZlSXRlbUZyb21CYXNrZXRBcmdzID0ge1xuICBiYXNrZXRJdGVtOiBTY2FsYXJzWydJRCddO1xufTtcblxuXG5leHBvcnQgdHlwZSBNdXRhdGlvblJlbW92ZUl0ZW1zRnJvbUJhc2tldEFyZ3MgPSB7XG4gIGJhc2tldElkOiBTY2FsYXJzWydJRCddO1xuICBiYXNrZXRJdGVtczogQXJyYXk8U2NhbGFyc1snSUQnXT47XG59O1xuXG5cbmV4cG9ydCB0eXBlIE11dGF0aW9uTW92ZUl0ZW1Ub0FEaWZmZXJlbnRCYXNrZXRBcmdzID0ge1xuICBiYXNrZXRJdGVtOiBTY2FsYXJzWydJRCddO1xuICBuZXdCYXNrZXQ6IFNjYWxhcnNbJ0lEJ107XG59O1xuXG5cbmV4cG9ydCB0eXBlIE11dGF0aW9uQWRkVXNlcnNUb0Jhc2tldEl0ZW1BcmdzID0ge1xuICBiYXNrZXRJdGVtOiBTY2FsYXJzWydJRCddO1xuICB1c2VyczogQXJyYXk8VXNlclBhc3NlbmdlclR5cGVJbnB1dD47XG59O1xuXG5cbmV4cG9ydCB0eXBlIE11dGF0aW9uUmVtb3ZlVXNlckZyb21CYXNrZXRJdGVtQXJncyA9IHtcbiAgYmFza2V0SXRlbTogU2NhbGFyc1snSUQnXTtcbiAgdXNlcjogU2NhbGFyc1snSUQnXTtcbn07XG5cblxuZXhwb3J0IHR5cGUgTXV0YXRpb25SZW9wZW5CYXNrZXRBcmdzID0ge1xuICBpZDogU2NhbGFyc1snSUQnXTtcbn07XG5cblxuZXhwb3J0IHR5cGUgTXV0YXRpb25TZXRCYXNrZXRJdGVtTGVhZFBhc3NlbmdlckFyZ3MgPSB7XG4gIGlkOiBTY2FsYXJzWydJRCddO1xuICB1c2VyOiBTY2FsYXJzWydJRCddO1xufTtcblxuXG5leHBvcnQgdHlwZSBNdXRhdGlvbkJvb2tCYXNrZXRBcmdzID0ge1xuICBpZDogU2NhbGFyc1snSUQnXTtcbiAgc3VwcGxlbWVudGFyeUluZm86IEFycmF5PFN1cHBsZW1lbnRhcnlCb29raW5nSW5mbz47XG59O1xuXG5cbmV4cG9ydCB0eXBlIE11dGF0aW9uQ2FuY2VsQm9va2luZ0FyZ3MgPSB7XG4gIGJhc2tldEl0ZW06IFNjYWxhcnNbJ0lEJ107XG59O1xuXG5cbmV4cG9ydCB0eXBlIE11dGF0aW9uQ29uZmVybWFDcmVhdGVDYXJkQXJncyA9IHtcbiAgbGFiZWw6IFNjYWxhcnNbJ1N0cmluZyddO1xufTtcblxuXG5leHBvcnQgdHlwZSBNdXRhdGlvbkNvbmZlcm1hRGVsZXRlQ2FyZEFyZ3MgPSB7XG4gIGlkOiBTY2FsYXJzWydJRCddO1xufTtcblxuXG5leHBvcnQgdHlwZSBNdXRhdGlvblNldEJhc2tldEl0ZW1NaUdyb3VwQXJncyA9IHtcbiAgYmFza2V0SXRlbTogU2NhbGFyc1snSUQnXTtcbiAgZ3JvdXA/OiBNYXliZTxTY2FsYXJzWydTdHJpbmcnXT47XG59O1xuXG5cbmV4cG9ydCB0eXBlIE11dGF0aW9uU2V0TWlEZWZhdWx0VmFsdWVBcmdzID0ge1xuICBtaTogU2NhbGFyc1snSUQnXTtcbiAgdmFsdWU6IFNjYWxhcnNbJ0lEJ107XG59O1xuXG5cbmV4cG9ydCB0eXBlIE11dGF0aW9uU2V0QmFza2V0SXRlbU1pVmFsdWVBcmdzID0ge1xuICBtaTogU2NhbGFyc1snSUQnXTtcbiAgbWlWYWx1ZT86IE1heWJlPFNjYWxhcnNbJ0lEJ10+O1xuICBtaUZyZWVWYWx1ZT86IE1heWJlPFNjYWxhcnNbJ1N0cmluZyddPjtcbiAgdXNlcj86IE1heWJlPFNjYWxhcnNbJ0lEJ10+O1xufTtcblxuXG5leHBvcnQgdHlwZSBNdXRhdGlvbkNvbmZpcm1NZXNzYWdlQXJncyA9IHtcbiAgbWVzc2FnZTogU2NhbGFyc1snU3RyaW5nJ107XG59O1xuXG5cbmV4cG9ydCB0eXBlIE11dGF0aW9uU2V0QmFza2V0SXRlbVBheW1lbnRNZXRob2RBcmdzID0ge1xuICBiYXNrZXRJdGVtOiBTY2FsYXJzWydJRCddO1xuICBwYXltZW50TWV0aG9kOiBTY2FsYXJzWydJRCddO1xufTtcblxuXG5leHBvcnQgdHlwZSBNdXRhdGlvblJldmFsaWRhdGVCYXNrZXRBcmdzID0ge1xuICBpZDogU2NhbGFyc1snSUQnXTtcbn07XG5cblxuZXhwb3J0IHR5cGUgTXV0YXRpb25SZXZhbGlkYXRlQmFza2V0SXRlbUFyZ3MgPSB7XG4gIGlkOiBTY2FsYXJzWydJRCddO1xufTtcblxuXG5leHBvcnQgdHlwZSBNdXRhdGlvbkFjY2VwdE5ld1ByaWNlQXJncyA9IHtcbiAgaWQ6IFNjYWxhcnNbJ0lEJ107XG59O1xuXG5cbmV4cG9ydCB0eXBlIE11dGF0aW9uU2F2ZUZhdm91cml0ZVNlYXJjaEFyZ3MgPSB7XG4gIG5hbWU6IFNjYWxhcnNbJ1N0cmluZyddO1xuICBzZXJ2aWNlVHlwZTogU2VydmljZVR5cGU7XG4gIHNlYXJjaEFyZ3M6IFNjYWxhcnNbJ0pTT04nXTtcbn07XG5cblxuZXhwb3J0IHR5cGUgTXV0YXRpb25TYXZlUmVjZW50U2VhcmNoQXJncyA9IHtcbiAgc2VydmljZVR5cGU6IFNlcnZpY2VUeXBlO1xuICBzZWFyY2hBcmdzOiBTY2FsYXJzWydKU09OJ107XG4gIHRyYXZlbERhdGU6IFNjYWxhcnNbJ0RhdGVUaW1lJ107XG4gIHRyYXZlbGxlcnM/OiBNYXliZTxBcnJheTxNYXliZTxTY2FsYXJzWydJRCddPj4+O1xufTtcblxuXG5leHBvcnQgdHlwZSBNdXRhdGlvbkRlbGV0ZUZhdm91cml0ZVNlYXJjaEFyZ3MgPSB7XG4gIGlkOiBTY2FsYXJzWydJRCddO1xufTtcblxuXG5leHBvcnQgdHlwZSBNdXRhdGlvbkRlbGV0ZVJlY2VudFNlYXJjaEFyZ3MgPSB7XG4gIGlkOiBTY2FsYXJzWydJRCddO1xufTtcblxuXG5leHBvcnQgdHlwZSBNdXRhdGlvblNldFVzZXJMYW5ndWFnZUFyZ3MgPSB7XG4gIGxhbmd1YWdlPzogTWF5YmU8U2NhbGFyc1snSUQnXT47XG59O1xuXG5leHBvcnQgdHlwZSBPZmZpY2UgPSB7XG4gIF9fdHlwZW5hbWU/OiAnT2ZmaWNlJztcbiAgaWQ6IEZpZWxkV3JhcHBlcjxTY2FsYXJzWydJRCddPjtcbiAgbmFtZTogRmllbGRXcmFwcGVyPFNjYWxhcnNbJ1N0cmluZyddPjtcbiAgY3JlYXRlZEF0OiBGaWVsZFdyYXBwZXI8U2NhbGFyc1snRGF0ZVRpbWUnXT47XG4gIHVwZGF0ZWRBdDogRmllbGRXcmFwcGVyPFNjYWxhcnNbJ0RhdGVUaW1lJ10+O1xuICBjb21wYW55OiBGaWVsZFdyYXBwZXI8Q29tcGFueT47XG4gIGFkZHJlc3NlczogQXJyYXk8RmllbGRXcmFwcGVyPEFkZHJlc3M+PjtcbiAgcGhvbmVOdW1iZXJzOiBBcnJheTxGaWVsZFdyYXBwZXI8UGhvbmVOdW1iZXI+PjtcbiAgY28yQWxsb3dhbmNlUGVyaW9kPzogTWF5YmU8RmllbGRXcmFwcGVyPFNjYWxhcnNbJ1N0cmluZyddPj47XG4gIGNvMkFsbG93YW5jZVBlclBlcmlvZD86IE1heWJlPEZpZWxkV3JhcHBlcjxTY2FsYXJzWydTdHJpbmcnXT4+O1xufTtcblxuZXhwb3J0IHR5cGUgUGFya2luZ0xvY2F0aW9uID0ge1xuICBfX3R5cGVuYW1lPzogJ1BhcmtpbmdMb2NhdGlvbic7XG4gIGNvZGU6IEZpZWxkV3JhcHBlcjxTY2FsYXJzWydTdHJpbmcnXT47XG4gIG5hbWU6IEZpZWxkV3JhcHBlcjxTY2FsYXJzWydTdHJpbmcnXT47XG4gIGFpcnBvcnQ6IEZpZWxkV3JhcHBlcjxTY2FsYXJzWydTdHJpbmcnXT47XG4gIHRlcm1pbmFsPzogTWF5YmU8RmllbGRXcmFwcGVyPFNjYWxhcnNbJ0ludCddPj47XG4gIGxhdGl0dWRlPzogTWF5YmU8RmllbGRXcmFwcGVyPFNjYWxhcnNbJ0Zsb2F0J10+PjtcbiAgbG9uZ2l0dWRlPzogTWF5YmU8RmllbGRXcmFwcGVyPFNjYWxhcnNbJ0Zsb2F0J10+PjtcbiAgYWRkcmVzcz86IE1heWJlPEZpZWxkV3JhcHBlcjxTY2FsYXJzWydTdHJpbmcnXT4+O1xuICBkaXN0YW5jZVRvQWlycG9ydD86IE1heWJlPEZpZWxkV3JhcHBlcjxTY2FsYXJzWydGbG9hdCddPj47XG4gIG9uQWlycG9ydD86IE1heWJlPEZpZWxkV3JhcHBlcjxTY2FsYXJzWydCb29sZWFuJ10+PjtcbiAgY2FyUGFya2VkRm9yWW91PzogTWF5YmU8RmllbGRXcmFwcGVyPFNjYWxhcnNbJ0Jvb2xlYW4nXT4+O1xuICBtZWV0QW5kR3JlZXQ/OiBNYXliZTxGaWVsZFdyYXBwZXI8U2NhbGFyc1snQm9vbGVhbiddPj47XG4gIHRlbGVwaG9uZT86IE1heWJlPEZpZWxkV3JhcHBlcjxTY2FsYXJzWydTdHJpbmcnXT4+O1xuICBmYXg/OiBNYXliZTxGaWVsZFdyYXBwZXI8U2NhbGFyc1snU3RyaW5nJ10+PjtcbiAgZGlyZWN0aW9ucz86IE1heWJlPEZpZWxkV3JhcHBlcjxTY2FsYXJzWydTdHJpbmcnXT4+O1xuICBhcnJpdmFsUHJvY2VkdXJlPzogTWF5YmU8RmllbGRXcmFwcGVyPFNjYWxhcnNbJ1N0cmluZyddPj47XG4gIGRlcGFydHVyZVByb2NlZHVyZT86IE1heWJlPEZpZWxkV3JhcHBlcjxTY2FsYXJzWydTdHJpbmcnXT4+O1xuICBtYXhpbXVtQ2FyU2l6ZT86IE1heWJlPEZpZWxkV3JhcHBlcjxTY2FsYXJzWydTdHJpbmcnXT4+O1xuICBpbnRyb2R1Y3Rpb24/OiBNYXliZTxGaWVsZFdyYXBwZXI8U2NhbGFyc1snU3RyaW5nJ10+PjtcbiAgaW5mb3JtYXRpb24/OiBNYXliZTxGaWVsZFdyYXBwZXI8U2NhbGFyc1snU3RyaW5nJ10+PjtcbiAgdHJhbnNmZXJJbmZvcm1hdGlvbj86IE1heWJlPEZpZWxkV3JhcHBlcjxTY2FsYXJzWydTdHJpbmcnXT4+O1xuICB0cmFuc2Zlck9wZXJhdGluZ1RpbWVzPzogTWF5YmU8RmllbGRXcmFwcGVyPFNjYWxhcnNbJ1N0cmluZyddPj47XG4gIHRyYW5zZmVyVGltZT86IE1heWJlPEZpZWxkV3JhcHBlcjxTY2FsYXJzWydGbG9hdCddPj47XG4gIGxvZ28/OiBNYXliZTxGaWVsZFdyYXBwZXI8U2NhbGFyc1snU3RyaW5nJ10+PjtcbiAgZGVmYXVsdEltYWdlPzogTWF5YmU8RmllbGRXcmFwcGVyPFNjYWxhcnNbJ1N0cmluZyddPj47XG4gIGJyYW5kSW1hZ2U/OiBNYXliZTxGaWVsZFdyYXBwZXI8U2NhbGFyc1snU3RyaW5nJ10+PjtcbiAgbW9iaWxlSW1hZ2U/OiBNYXliZTxGaWVsZFdyYXBwZXI8U2NhbGFyc1snU3RyaW5nJ10+PjtcbiAgZnVydGhlckltYWdlcz86IE1heWJlPEFycmF5PE1heWJlPEZpZWxkV3JhcHBlcjxTY2FsYXJzWydTdHJpbmcnXT4+Pj47XG4gIG1pc2M/OiBNYXliZTxGaWVsZFdyYXBwZXI8U2NhbGFyc1snSlNPTiddPj47XG59O1xuXG5leHBvcnQgdHlwZSBQYXJraW5nUXVvdGUgPSB7XG4gIF9fdHlwZW5hbWU/OiAnUGFya2luZ1F1b3RlJztcbiAgc291cmNlOiBGaWVsZFdyYXBwZXI8U2NhbGFyc1snU3RyaW5nJ10+O1xuICBzb3VyY2VJZDogRmllbGRXcmFwcGVyPFNjYWxhcnNbJ0ludCddPjtcbiAgY2FyUGFyazogRmllbGRXcmFwcGVyPFBhcmtpbmdMb2NhdGlvbj47XG4gIHJlcXVpcmVkSW5mbzogQXJyYXk8RmllbGRXcmFwcGVyPFNjYWxhcnNbJ1N0cmluZyddPj47XG4gIHByaWNlOiBGaWVsZFdyYXBwZXI8U2NhbGFyc1snRmxvYXQnXT47XG4gIGN1cnJlbmN5OiBGaWVsZFdyYXBwZXI8Q3VycmVuY3lDb2RlPjtcbiAgbWlzYz86IE1heWJlPEZpZWxkV3JhcHBlcjxTY2FsYXJzWydKU09OJ10+PjtcbiAgdG1jUHJlZmVycmVkOiBGaWVsZFdyYXBwZXI8U2NhbGFyc1snQm9vbGVhbiddPjtcbiAgY29tcGFueVByZWZlcnJlZDogRmllbGRXcmFwcGVyPFNjYWxhcnNbJ0Jvb2xlYW4nXT47XG4gIG9mZmljZVByZWZlcnJlZDogRmllbGRXcmFwcGVyPFNjYWxhcnNbJ0Jvb2xlYW4nXT47XG4gIHRtY1ByZWZlcnJlZE1lc3NhZ2U/OiBNYXliZTxGaWVsZFdyYXBwZXI8U2NhbGFyc1snU3RyaW5nJ10+PjtcbiAgY29tcGFueVByZWZlcnJlZE1lc3NhZ2U/OiBNYXliZTxGaWVsZFdyYXBwZXI8U2NhbGFyc1snU3RyaW5nJ10+PjtcbiAgb2ZmaWNlUHJlZmVycmVkTWVzc2FnZT86IE1heWJlPEZpZWxkV3JhcHBlcjxTY2FsYXJzWydTdHJpbmcnXT4+O1xuICB1bmF2YWlsYWJsZTogRmllbGRXcmFwcGVyPFNjYWxhcnNbJ0Jvb2xlYW4nXT47XG4gIHVuYXZhaWxhYmxlTWVzc2FnZT86IE1heWJlPEZpZWxkV3JhcHBlcjxTY2FsYXJzWydTdHJpbmcnXT4+O1xuICBjbzJQZXJQYXNzZW5nZXI6IEZpZWxkV3JhcHBlcjxTY2FsYXJzWydGbG9hdCddPjtcbiAgY28yUGVySXRlbTogRmllbGRXcmFwcGVyPFNjYWxhcnNbJ0Zsb2F0J10+O1xufTtcblxuZXhwb3J0IHR5cGUgUGFya2luZ1NlYXJjaFJlc3VsdCA9IHtcbiAgX190eXBlbmFtZT86ICdQYXJraW5nU2VhcmNoUmVzdWx0JztcbiAgcmVzdWx0czogQXJyYXk8RmllbGRXcmFwcGVyPFBhcmtpbmdRdW90ZT4+O1xuICBlcnJvcnM6IEFycmF5PEZpZWxkV3JhcHBlcjxTZWFyY2hFcnJvcj4+O1xufTtcblxuZXhwb3J0IGVudW0gUGFzc2VuZ2VyVHlwZSB7XG4gIEFkdWx0ID0gJ0FEVUxUJyxcbiAgQ2hpbGQgPSAnQ0hJTEQnLFxuICBJbmZhbnQgPSAnSU5GQU5UJ1xufVxuXG5leHBvcnQgdHlwZSBQYXNzcG9ydCA9IHtcbiAgX190eXBlbmFtZT86ICdQYXNzcG9ydCc7XG4gIGlkOiBGaWVsZFdyYXBwZXI8U2NhbGFyc1snSUQnXT47XG4gIG51bWJlcjogRmllbGRXcmFwcGVyPFNjYWxhcnNbJ1N0cmluZyddPjtcbiAgY29kZU9mSXNzdWluZ1N0YXRlOiBGaWVsZFdyYXBwZXI8U2NhbGFyc1snU3RyaW5nJ10+O1xuICBuYXRpb25hbGl0eTogRmllbGRXcmFwcGVyPFNjYWxhcnNbJ1N0cmluZyddPjtcbiAgc2V4OiBGaWVsZFdyYXBwZXI8UGFzc3BvcnRTZXg+O1xuICBkb2I6IEZpZWxkV3JhcHBlcjxTY2FsYXJzWydEYXRlVGltZSddPjtcbiAgc3VybmFtZTogRmllbGRXcmFwcGVyPFNjYWxhcnNbJ1N0cmluZyddPjtcbiAgZ2l2ZW5OYW1lczogRmllbGRXcmFwcGVyPFNjYWxhcnNbJ1N0cmluZyddPjtcbiAgZGF0ZU9mSXNzdWU6IEZpZWxkV3JhcHBlcjxTY2FsYXJzWydEYXRlVGltZSddPjtcbiAgdXNlcjogRmllbGRXcmFwcGVyPFVzZXI+O1xuICBjcmVhdGVkQXQ6IEZpZWxkV3JhcHBlcjxTY2FsYXJzWydEYXRlVGltZSddPjtcbiAgdXBkYXRlZEF0OiBGaWVsZFdyYXBwZXI8U2NhbGFyc1snRGF0ZVRpbWUnXT47XG59O1xuXG5leHBvcnQgZW51bSBQYXNzcG9ydFNleCB7XG4gIE0gPSAnTScsXG4gIEYgPSAnRidcbn1cblxuZXhwb3J0IHR5cGUgUGF5bWVudENvbmZpZyA9IHtcbiAgY3NwVXJsPzogTWF5YmU8U2NhbGFyc1snU3RyaW5nJ10+O1xuICBhZ2VudElkPzogTWF5YmU8U2NhbGFyc1snU3RyaW5nJ10+O1xuICBib29rZXJJZD86IE1heWJlPFNjYWxhcnNbJ1N0cmluZyddPjtcbiAgYXBpS2V5PzogTWF5YmU8U2NhbGFyc1snU3RyaW5nJ10+O1xuICBwYXNzd29yZD86IE1heWJlPFNjYWxhcnNbJ1N0cmluZyddPjtcbiAgc2VydmVyPzogTWF5YmU8U2NhbGFyc1snU3RyaW5nJ10+O1xuICBjb25zdW1lcj86IE1heWJlPFNjYWxhcnNbJ1N0cmluZyddPjtcbiAgY2xpZW50SWQ/OiBNYXliZTxTY2FsYXJzWydTdHJpbmcnXT47XG4gIGFjY291bnRUeXBlPzogTWF5YmU8U2NhbGFyc1snU3RyaW5nJ10+O1xuICBhY2NvdW50VmFsdWU/OiBNYXliZTxTY2FsYXJzWydTdHJpbmcnXT47XG4gIHRva2VuVXJsPzogTWF5YmU8U2NhbGFyc1snU3RyaW5nJ10+O1xuICB0b2tlbklkPzogTWF5YmU8U2NhbGFyc1snU3RyaW5nJ10+O1xuICBjb25zdW1lcklkPzogTWF5YmU8U2NhbGFyc1snU3RyaW5nJ10+O1xuICB0b2tlblVzZXJuYW1lPzogTWF5YmU8U2NhbGFyc1snU3RyaW5nJ10+O1xuICB0b2tlblBhc3N3b3JkPzogTWF5YmU8U2NhbGFyc1snU3RyaW5nJ10+O1xufTtcblxuZXhwb3J0IHR5cGUgUGF5bWVudE1ldGhvZCA9IHtcbiAgX190eXBlbmFtZT86ICdQYXltZW50TWV0aG9kJztcbiAgaWQ6IEZpZWxkV3JhcHBlcjxTY2FsYXJzWydJRCddPjtcbiAgbmFtZTogRmllbGRXcmFwcGVyPFNjYWxhcnNbJ1N0cmluZyddPjtcbiAgZGVzY3JpcHRpb24/OiBNYXliZTxGaWVsZFdyYXBwZXI8U2NhbGFyc1snU3RyaW5nJ10+Pjtcbn07XG5cbmV4cG9ydCB0eXBlIFBheW1lbnRNZXRob2RJbnB1dCA9IHtcbiAgY29uZmlnPzogTWF5YmU8UGF5bWVudENvbmZpZz47XG59O1xuXG5leHBvcnQgdHlwZSBQaG9uZU51bWJlciA9IHtcbiAgX190eXBlbmFtZT86ICdQaG9uZU51bWJlcic7XG4gIGlkOiBGaWVsZFdyYXBwZXI8U2NhbGFyc1snSUQnXT47XG4gIGRlc2NyaXB0aW9uPzogTWF5YmU8RmllbGRXcmFwcGVyPFNjYWxhcnNbJ1N0cmluZyddPj47XG4gIGNvdW50cnlDb2RlPzogTWF5YmU8RmllbGRXcmFwcGVyPFNjYWxhcnNbJ1N0cmluZyddPj47XG4gIGFyZWFDb2RlPzogTWF5YmU8RmllbGRXcmFwcGVyPFNjYWxhcnNbJ1N0cmluZyddPj47XG4gIG51bWJlcj86IE1heWJlPEZpZWxkV3JhcHBlcjxTY2FsYXJzWydTdHJpbmcnXT4+O1xuICBleHRlbnNpb24/OiBNYXliZTxGaWVsZFdyYXBwZXI8U2NhbGFyc1snU3RyaW5nJ10+PjtcbiAgdHlwZT86IE1heWJlPEZpZWxkV3JhcHBlcjxQaG9uZVR5cGU+PjtcbiAgb2ZmaWNlUHJpbWFyeT86IE1heWJlPEZpZWxkV3JhcHBlcjxTY2FsYXJzWydCb29sZWFuJ10+PjtcbiAgdXNlclByaW1hcnk/OiBNYXliZTxGaWVsZFdyYXBwZXI8U2NhbGFyc1snQm9vbGVhbiddPj47XG59O1xuXG5leHBvcnQgZW51bSBQaG9uZVR5cGUge1xuICBNb2JpbGUgPSAnTU9CSUxFJyxcbiAgTGFuZGxpbmUgPSAnTEFORExJTkUnLFxuICBGYXggPSAnRkFYJyxcbiAgT3RoZXIgPSAnT1RIRVInXG59XG5cbmV4cG9ydCB0eXBlIFBvc3Rjb2RlRGV0YWlscyA9IHtcbiAgX190eXBlbmFtZT86ICdQb3N0Y29kZURldGFpbHMnO1xuICBwb3N0Y29kZTogRmllbGRXcmFwcGVyPFNjYWxhcnNbJ1N0cmluZyddPjtcbiAgbGF0aXR1ZGU/OiBNYXliZTxGaWVsZFdyYXBwZXI8U2NhbGFyc1snRmxvYXQnXT4+O1xuICBsb25naXR1ZGU/OiBNYXliZTxGaWVsZFdyYXBwZXI8U2NhbGFyc1snRmxvYXQnXT4+O1xuICBlYXN0aW5ncz86IE1heWJlPEZpZWxkV3JhcHBlcjxTY2FsYXJzWydJbnQnXT4+O1xuICBub3J0aGluZ3M/OiBNYXliZTxGaWVsZFdyYXBwZXI8U2NhbGFyc1snSW50J10+PjtcbiAgY291bnRyeT86IE1heWJlPEZpZWxkV3JhcHBlcjxTY2FsYXJzWydTdHJpbmcnXT4+O1xuICBldXJvcGVhbkVsZWN0b3JhbFJlZ2lvbj86IE1heWJlPEZpZWxkV3JhcHBlcjxTY2FsYXJzWydTdHJpbmcnXT4+O1xuICBwcmltYXJ5Q2FyZVRydXN0PzogTWF5YmU8RmllbGRXcmFwcGVyPFNjYWxhcnNbJ1N0cmluZyddPj47XG4gIHJlZ2lvbj86IE1heWJlPEZpZWxkV3JhcHBlcjxTY2FsYXJzWydTdHJpbmcnXT4+O1xuICBsc29hPzogTWF5YmU8RmllbGRXcmFwcGVyPFNjYWxhcnNbJ1N0cmluZyddPj47XG4gIG1zb2E/OiBNYXliZTxGaWVsZFdyYXBwZXI8U2NhbGFyc1snU3RyaW5nJ10+PjtcbiAgaW5jb2RlPzogTWF5YmU8RmllbGRXcmFwcGVyPFNjYWxhcnNbJ1N0cmluZyddPj47XG4gIG91dGNvZGU/OiBNYXliZTxGaWVsZFdyYXBwZXI8U2NhbGFyc1snU3RyaW5nJ10+PjtcbiAgcGFybGlhbWVudGFyeUNvbnN0aXR1ZW5jeT86IE1heWJlPEZpZWxkV3JhcHBlcjxTY2FsYXJzWydTdHJpbmcnXT4+O1xuICBhZG1pbkRpc3RyaWN0PzogTWF5YmU8RmllbGRXcmFwcGVyPFNjYWxhcnNbJ1N0cmluZyddPj47XG4gIHBhcmlzaD86IE1heWJlPEZpZWxkV3JhcHBlcjxTY2FsYXJzWydTdHJpbmcnXT4+O1xuICBhZG1pbkNvdW50eT86IE1heWJlPEZpZWxkV3JhcHBlcjxTY2FsYXJzWydTdHJpbmcnXT4+O1xuICBhZG1pbldhcmQ/OiBNYXliZTxGaWVsZFdyYXBwZXI8U2NhbGFyc1snU3RyaW5nJ10+PjtcbiAgY2VkPzogTWF5YmU8RmllbGRXcmFwcGVyPFNjYWxhcnNbJ1N0cmluZyddPj47XG4gIGNjZz86IE1heWJlPEZpZWxkV3JhcHBlcjxTY2FsYXJzWydTdHJpbmcnXT4+O1xuICBudXRzPzogTWF5YmU8RmllbGRXcmFwcGVyPFNjYWxhcnNbJ1N0cmluZyddPj47XG59O1xuXG5leHBvcnQgdHlwZSBRdWVyeSA9IHtcbiAgX190eXBlbmFtZT86ICdRdWVyeSc7XG4gIGdldFVzZXJBZGRyZXNzZXM6IEFycmF5PEZpZWxkV3JhcHBlcjxBZGRyZXNzPj47XG4gIHNlYXJjaEFpcmxpbmVzOiBGaWVsZFdyYXBwZXI8QWlybGluZVJlc3VsdHM+O1xuICBzZWFyY2hBaXJwb3J0czogRmllbGRXcmFwcGVyPEFpcnBvcnRSZXN1bHRzPjtcbiAgZ2V0VXNlckJhc2tldDogRmllbGRXcmFwcGVyPEJhc2tldD47XG4gIGdldFVzZXJCYXNrZXRzOiBBcnJheTxGaWVsZFdyYXBwZXI8QmFza2V0Pj47XG4gIHNlYXJjaENhYkhpcmU6IEZpZWxkV3JhcHBlcjxDYWJIaXJlUmVzdWx0PjtcbiAgc2VhcmNoVXNlckNhbkJvb2tGb3I6IEFycmF5PEZpZWxkV3JhcHBlcjxVc2VyPj47XG4gIGdldENhbmNlbGxhdGlvbkluZm86IEZpZWxkV3JhcHBlcjxCZWZvcmVDYW5jZWxsYXRpb25JbmZvPjtcbiAgc2VhcmNoQ2FySGlyZTogRmllbGRXcmFwcGVyPENhckhpcmVSZXN1bHQ+O1xuICBnZXRDYXJIaXJlRGVwb3RzOiBBcnJheTxGaWVsZFdyYXBwZXI8Q2FySGlyZURlcG90Pj47XG4gIGNhckhpcmVBdmFpbGFiaWxpdHlEZXRhaWxSZXF1ZXN0OiBGaWVsZFdyYXBwZXI8Q2FySGlyZURldGFpbFJlcXVlc3RSZXNwb25zZT47XG4gIGdldFVzZXJDdXJyZW50Q2FyYm9uQWxsb3dhbmNlPzogTWF5YmU8RmllbGRXcmFwcGVyPENhcmJvbkFsbG93YW5jZT4+O1xuICBzZWFyY2hDaXRpZXM6IEFycmF5PEZpZWxkV3JhcHBlcjxDaXR5Pj47XG4gIGNvbmZlcm1hQmxvY2tDbGllbnRIb3RlbHM6IEZpZWxkV3JhcHBlcjxDb25mZXJtYUJsb2NrZWRIb3RlbHNSZXN1bHQ+O1xuICBjb25mZXJtYVVuYmxvY2tDbGllbnRIb3RlbHM6IEZpZWxkV3JhcHBlcjxDb25mZXJtYUJsb2NrZWRIb3RlbHNSZXN1bHQ+O1xuICBjb25mZXJtYUJsb2NrQ29uc3VtZXJIb3RlbHM6IEZpZWxkV3JhcHBlcjxDb25mZXJtYUJsb2NrZWRIb3RlbHNSZXN1bHQ+O1xuICBjb25mZXJtYVVuYmxvY2tDb25zdW1lckhvdGVsczogRmllbGRXcmFwcGVyPENvbmZlcm1hQmxvY2tlZEhvdGVsc1Jlc3VsdD47XG4gIGNvbmZlcm1hTGlzdENhcmRzOiBBcnJheTxGaWVsZFdyYXBwZXI8Q29uZmVybWFDYXJkUmVzdWx0cz4+O1xuICBzZWFyY2hDb25mZXJtYUNpdGllczogRmllbGRXcmFwcGVyPENvbmZlcm1hQ2l0eUxvY2F0aW9uPjtcbiAgZ2V0Q29uZmVybWFPZmZpY2U6IEZpZWxkV3JhcHBlcjxDb25mZXJtYU9mZmljZVJlc3VsdD47XG4gIGdldENvbmZlcm1hT2ZmaWNlTmFtZXM6IEZpZWxkV3JhcHBlcjxDb25mZXJtYU9mZmljZU5hbWVzUmVzdWx0PjtcbiAgZ2V0Q29uZmVybWFRdWlja2xpc3Q6IEZpZWxkV3JhcHBlcjxIb3RlbFNlYXJjaFJlc3VsdD47XG4gIGdldENvdW50cmllczogQXJyYXk8RmllbGRXcmFwcGVyPENvdW50cnk+PjtcbiAgZ2V0Q09WSURNaWNyb3NpdGVUb2tlbjogRmllbGRXcmFwcGVyPFNjYWxhcnNbJ1N0cmluZyddPjtcbiAgc2VhcmNoRmFzdFRyYWNrOiBGaWVsZFdyYXBwZXI8RmFzdFRyYWNrUmVzdWx0PjtcbiAgc2VhcmNoRmxpZ2h0czogRmllbGRXcmFwcGVyPEZsaWdodFNlYXJjaFJlc3VsdD47XG4gIHNlYXJjaEZsaWdodHNWMjogRmllbGRXcmFwcGVyPEZsaWdodFNlYXJjaFJlc3VsdFYyPjtcbiAgc2VhcmNoRXVyb3N0YXI6IEZpZWxkV3JhcHBlcjxGbGlnaHRTZWFyY2hSZXN1bHRWMj47XG4gIGFsaXZlOiBGaWVsZFdyYXBwZXI8U2NhbGFyc1snQm9vbGVhbiddPjtcbiAgZ2V0SG90ZWxDaGFpbnM6IEFycmF5PEZpZWxkV3JhcHBlcjxTY2FsYXJzWydTdHJpbmcnXT4+O1xuICBzZWFyY2hIb3RlbENoYWluczogQXJyYXk8RmllbGRXcmFwcGVyPFNjYWxhcnNbJ1N0cmluZyddPj47XG4gIHNlYXJjaEhvdGVsczogRmllbGRXcmFwcGVyPEhvdGVsU2VhcmNoUmVzdWx0PjtcbiAgZ2V0SG90ZWxBdmFpbGFiaWxpdHk6IEZpZWxkV3JhcHBlcjxIb3RlbEF2YWlsYWJpbGl0eVJlc3VsdD47XG4gIGdldE11bHRpcGxlSG90ZWxzQXZhaWxhYmlsaXR5OiBGaWVsZFdyYXBwZXI8SG90ZWxNdWx0aUF2YWlsYWJpbGl0eVJlc3VsdD47XG4gIGdldElSTFN1cHBsaWVyU3RhdGlvbj86IE1heWJlPEZpZWxkV3JhcHBlcjxJcmxTdXBwbGllclN0YXRpb24+PjtcbiAgc2VhcmNoSVJMU3VwcGxpZXJTdGF0aW9uczogQXJyYXk8RmllbGRXcmFwcGVyPElybFN1cHBsaWVyU3RhdGlvbj4+O1xuICBzZWFyY2hJUkw6IEZpZWxkV3JhcHBlcjxJcmxTZWFyY2hSZXN1bHQ+O1xuICBnZXRSYWlsTGl2ZURlcGFydHVyZXM6IEZpZWxkV3JhcHBlcjxMaXZlRGVwQm9hcmRSZXN1bHQ+O1xuICBzZWFyY2hMb3VuZ2VzOiBGaWVsZFdyYXBwZXI8TG91bmdlU2VhcmNoUmVzdWx0PjtcbiAgZ2V0VXNlck1JQXV0b1N1Z2dlc3RWYWx1ZXM6IEFycmF5PEZpZWxkV3JhcHBlcjxNYW5hZ2VtZW50SW5mb1ZhbHVlPj47XG4gIHZhbGlkYXRlVXNlck1JRnJlZVZhbHVlOiBGaWVsZFdyYXBwZXI8U2NhbGFyc1snQm9vbGVhbiddPjtcbiAgdmFsaWRhdGVCYXNrZXRJdGVtTUk6IEZpZWxkV3JhcHBlcjxTY2FsYXJzWydCb29sZWFuJ10+O1xuICBnZXRVc2VyTWVzc2FnZXM6IEFycmF5PEZpZWxkV3JhcHBlcjxNZXNzYWdlPj47XG4gIGdldFVzZXJDb21wYW55T2ZmaWNlczogQXJyYXk8RmllbGRXcmFwcGVyPE9mZmljZT4+O1xuICBzZWFyY2hQYXJraW5nOiBGaWVsZFdyYXBwZXI8UGFya2luZ1NlYXJjaFJlc3VsdD47XG4gIGdldEJhc2tldEl0ZW1QYXltZW50U3VwcGxtZW50YXJ5SW5mb1NjaGVtYTogRmllbGRXcmFwcGVyPFNjYWxhcnNbJ0pTT04nXT47XG4gIGdldFVzZXJQaG9uZU51bWJlcnM6IEFycmF5PEZpZWxkV3JhcHBlcjxQaG9uZU51bWJlcj4+O1xuICBnZXRQb3N0Y29kZURldGFpbHM6IEZpZWxkV3JhcHBlcjxQb3N0Y29kZURldGFpbHM+O1xuICBwb3N0Y29kZUF1dG9TdWdnZXN0OiBBcnJheTxGaWVsZFdyYXBwZXI8U2NhbGFyc1snU3RyaW5nJ10+PjtcbiAgc2VhcmNoUG9zdGNvZGVzOiBBcnJheTxGaWVsZFdyYXBwZXI8UG9zdGNvZGVEZXRhaWxzPj47XG4gIGlzUG9zdGNvZGVWYWxpZDogRmllbGRXcmFwcGVyPFNjYWxhcnNbJ0Jvb2xlYW4nXT47XG4gIGdldFJhaWxTdGF0aW9uOiBGaWVsZFdyYXBwZXI8UmFpbFN0YXRpb24+O1xuICBzZWFyY2hSYWlsU3RhdGlvbnM6IEFycmF5PEZpZWxkV3JhcHBlcjxSYWlsU3RhdGlvbj4+O1xuICBzZWFyY2hSYWlsOiBGaWVsZFdyYXBwZXI8UmFpbFNlYXJjaFJlc3VsdD47XG4gIGdldFJhaWxjYXJkczogQXJyYXk8RmllbGRXcmFwcGVyPFJlZmVyZW5jZVJhaWxDYXJkUXVhbGlmaWVyPj47XG4gIGdldFJpc2tBbGVydHM6IEFycmF5PEZpZWxkV3JhcHBlcjxSaXNrQWxlcnQ+PjtcbiAgZ2V0VXNlclRyYXZlbFJ1bGVzOiBGaWVsZFdyYXBwZXI8VHJhdmVsUnVsZXNDb2xsZWN0aW9uPjtcbiAgZ2V0VXNlclJlY2VudFNlYXJjaGVzOiBBcnJheTxGaWVsZFdyYXBwZXI8U2VhcmNoPj47XG4gIGdldFVzZXJGYXZvdXJpdGVTZWFyY2hlczogQXJyYXk8RmllbGRXcmFwcGVyPFNlYXJjaD4+O1xuICBnZXRGbGlnaHRTZWF0TWFwOiBGaWVsZFdyYXBwZXI8RmxpZ2h0U2VhdE1hcFJlc3VsdD47XG4gIGdldFVzZXJTZXJ2aWNlczogQXJyYXk8RmllbGRXcmFwcGVyPFNlcnZpY2U+PjtcbiAgZ2V0VXNlclVJQ29uZmlnczogRmllbGRXcmFwcGVyPFVpQ29uZmlnQ29sbGVjdGlvbj47XG4gIGdldFVzZXI6IEZpZWxkV3JhcHBlcjxVc2VyPjtcbn07XG5cblxuZXhwb3J0IHR5cGUgUXVlcnlTZWFyY2hBaXJsaW5lc0FyZ3MgPSB7XG4gIHF1ZXJ5OiBTY2FsYXJzWydTdHJpbmcnXTtcbn07XG5cblxuZXhwb3J0IHR5cGUgUXVlcnlTZWFyY2hBaXJwb3J0c0FyZ3MgPSB7XG4gIHF1ZXJ5OiBTY2FsYXJzWydTdHJpbmcnXTtcbiAgY291bnRyeUNvZGU/OiBNYXliZTxTY2FsYXJzWydTdHJpbmcnXT47XG4gIGhhc0xvdW5nZT86IE1heWJlPFNjYWxhcnNbJ0Jvb2xlYW4nXT47XG4gIGhhc1Bhcmtpbmc/OiBNYXliZTxTY2FsYXJzWydCb29sZWFuJ10+O1xuICBoYXNGYXN0VHJhY2s/OiBNYXliZTxTY2FsYXJzWydCb29sZWFuJ10+O1xuICBleGNsdWRlTm9uUHVibGljPzogTWF5YmU8U2NhbGFyc1snQm9vbGVhbiddPjtcbn07XG5cblxuZXhwb3J0IHR5cGUgUXVlcnlHZXRVc2VyQmFza2V0QXJncyA9IHtcbiAgaWQ6IFNjYWxhcnNbJ0lEJ107XG59O1xuXG5cbmV4cG9ydCB0eXBlIFF1ZXJ5R2V0VXNlckJhc2tldHNBcmdzID0ge1xuICB1c2VyPzogTWF5YmU8U2NhbGFyc1snSUQnXT47XG4gIHRyYXZlbGxlcj86IE1heWJlPFNjYWxhcnNbJ0lEJ10+O1xuICBiYXNrZXRTdGF0dXM/OiBNYXliZTxCYXNrZXRTdGF0dXM+O1xuICBjcmVhdGVkQWZ0ZXI/OiBNYXliZTxTY2FsYXJzWydEYXRlVGltZSddPjtcbiAgY3JlYXRlZEJlZm9yZT86IE1heWJlPFNjYWxhcnNbJ0RhdGVUaW1lJ10+O1xuICBib29rZWRBZnRlcj86IE1heWJlPFNjYWxhcnNbJ0RhdGVUaW1lJ10+O1xuICBib29rZWRCZWZvcmU/OiBNYXliZTxTY2FsYXJzWydEYXRlVGltZSddPjtcbiAgZGF0ZU9mVHJhdmVsQmVmb3JlPzogTWF5YmU8U2NhbGFyc1snRGF0ZVRpbWUnXT47XG4gIGRhdGVPZlRyYXZlbEFmdGVyPzogTWF5YmU8U2NhbGFyc1snRGF0ZVRpbWUnXT47XG4gIGJhc2tldEl0ZW1Cb29raW5nUmVmZXJlbmNlPzogTWF5YmU8U2NhbGFyc1snU3RyaW5nJ10+O1xuICBiYXNrZXRSZWZlcmVuY2U/OiBNYXliZTxTY2FsYXJzWydTdHJpbmcnXT47XG4gIGJhc2tldFRpdGxlPzogTWF5YmU8U2NhbGFyc1snU3RyaW5nJ10+O1xufTtcblxuXG5leHBvcnQgdHlwZSBRdWVyeVNlYXJjaENhYkhpcmVBcmdzID0ge1xuICBkZXBhcnRzOiBTY2FsYXJzWydEYXRlVGltZSddO1xuICBmcm9tTG9jYXRpb246IENhYkhpcmVMb2NhdGlvbklucHV0O1xuICB0b0xvY2F0aW9uOiBDYWJIaXJlTG9jYXRpb25JbnB1dDtcbiAgYWR1bHRzOiBTY2FsYXJzWydJbnQnXTtcbiAgY2hpbGRyZW4/OiBNYXliZTxTY2FsYXJzWydJbnQnXT47XG4gIGluZmFudHM/OiBNYXliZTxTY2FsYXJzWydJbnQnXT47XG4gIHZpYXM/OiBNYXliZTxBcnJheTxNYXliZTxDYWJIaXJlTG9jYXRpb25JbnB1dD4+PjtcbiAgdmVoaWNsZVR5cGU/OiBNYXliZTxDYWJIaXJlVmVoaWNsZVR5cGU+O1xufTtcblxuXG5leHBvcnQgdHlwZSBRdWVyeVNlYXJjaFVzZXJDYW5Cb29rRm9yQXJncyA9IHtcbiAgZW1haWw/OiBNYXliZTxTY2FsYXJzWydTdHJpbmcnXT47XG4gIHVzZXJOYW1lPzogTWF5YmU8U2NhbGFyc1snU3RyaW5nJ10+O1xuICBlbXBsb3llZUlkPzogTWF5YmU8U2NhbGFyc1snU3RyaW5nJ10+O1xufTtcblxuXG5leHBvcnQgdHlwZSBRdWVyeUdldENhbmNlbGxhdGlvbkluZm9BcmdzID0ge1xuICBiYXNrZXRJdGVtOiBTY2FsYXJzWydJRCddO1xufTtcblxuXG5leHBvcnQgdHlwZSBRdWVyeVNlYXJjaENhckhpcmVBcmdzID0ge1xuICBhaXJwb3J0PzogTWF5YmU8Q2FySGlyZUFpcnBvcnRJbnB1dD47XG4gIGNpdHk/OiBNYXliZTxDYXJIaXJlQ2l0eUlucHV0PjtcbiAgbG9jYXRpb24/OiBNYXliZTxDYXJIaXJlTG9jYXRpb25JbnB1dD47XG4gIGRlcG90PzogTWF5YmU8SW5wdXRDYXJIaXJlRGVwb3Q+O1xuICBwaWNrdXBEYXRlVGltZTogU2NhbGFyc1snRGF0ZVRpbWUnXTtcbiAgZHJvcG9mZkRhdGVUaW1lOiBTY2FsYXJzWydEYXRlVGltZSddO1xuICB2ZW5kb3I/OiBNYXliZTxTY2FsYXJzWydTdHJpbmcnXT47XG4gIGNsYXNzPzogTWF5YmU8Q2FySGlyZUNsYXNzPjtcbiAgdHlwZT86IE1heWJlPENhckhpcmVUeXBlPjtcbiAgdHJhbnNtaXNzaW9uPzogTWF5YmU8Q2FySGlyZVRyYW5zbWlzc2lvbj47XG4gIGFpcmNvbj86IE1heWJlPFNjYWxhcnNbJ0Jvb2xlYW4nXT47XG4gIGVzdGltYXRlZERhaWx5RGlzdGFuY2U/OiBNYXliZTxTY2FsYXJzWydGbG9hdCddPjtcbiAgZXN0aW1hdGVkRGFpbHlEaXN0YW5jZVVuaXRzPzogTWF5YmU8RGlzdGFuY2VUeXBlcz47XG59O1xuXG5cbmV4cG9ydCB0eXBlIFF1ZXJ5R2V0Q2FySGlyZURlcG90c0FyZ3MgPSB7XG4gIGxhdGl0dWRlOiBTY2FsYXJzWydGbG9hdCddO1xuICBsb25naXR1ZGU6IFNjYWxhcnNbJ0Zsb2F0J107XG4gIHZlbmRvckNvZGU/OiBNYXliZTxTY2FsYXJzWydTdHJpbmcnXT47XG59O1xuXG5cbmV4cG9ydCB0eXBlIFF1ZXJ5Q2FySGlyZUF2YWlsYWJpbGl0eURldGFpbFJlcXVlc3RBcmdzID0ge1xuICBsb2NhdGlvbkRldGFpbHM6IENhckhpcmVJbnB1dElkZW50aWZpZXJzO1xufTtcblxuXG5leHBvcnQgdHlwZSBRdWVyeUdldFVzZXJDdXJyZW50Q2FyYm9uQWxsb3dhbmNlQXJncyA9IHtcbiAgdXNlcj86IE1heWJlPFNjYWxhcnNbJ0lEJ10+O1xufTtcblxuXG5leHBvcnQgdHlwZSBRdWVyeVNlYXJjaENpdGllc0FyZ3MgPSB7XG4gIHF1ZXJ5OiBTY2FsYXJzWydTdHJpbmcnXTtcbiAgY291bnRyeUNvZGU/OiBNYXliZTxTY2FsYXJzWydTdHJpbmcnXT47XG59O1xuXG5cbmV4cG9ydCB0eXBlIFF1ZXJ5Q29uZmVybWFCbG9ja0NsaWVudEhvdGVsc0FyZ3MgPSB7XG4gIGhvdGVsSWRzOiBBcnJheTxTY2FsYXJzWydTdHJpbmcnXT47XG4gIGdyb3VwSWRzOiBBcnJheTxTY2FsYXJzWydTdHJpbmcnXT47XG59O1xuXG5cbmV4cG9ydCB0eXBlIFF1ZXJ5Q29uZmVybWFVbmJsb2NrQ2xpZW50SG90ZWxzQXJncyA9IHtcbiAgaG90ZWxJZHM6IEFycmF5PFNjYWxhcnNbJ1N0cmluZyddPjtcbiAgZ3JvdXBJZHM6IEFycmF5PFNjYWxhcnNbJ1N0cmluZyddPjtcbn07XG5cblxuZXhwb3J0IHR5cGUgUXVlcnlDb25mZXJtYUJsb2NrQ29uc3VtZXJIb3RlbHNBcmdzID0ge1xuICBob3RlbElkczogQXJyYXk8U2NhbGFyc1snU3RyaW5nJ10+O1xuICBncm91cElkczogQXJyYXk8U2NhbGFyc1snU3RyaW5nJ10+O1xufTtcblxuXG5leHBvcnQgdHlwZSBRdWVyeUNvbmZlcm1hVW5ibG9ja0NvbnN1bWVySG90ZWxzQXJncyA9IHtcbiAgaG90ZWxJZHM6IEFycmF5PFNjYWxhcnNbJ1N0cmluZyddPjtcbiAgZ3JvdXBJZHM6IEFycmF5PFNjYWxhcnNbJ1N0cmluZyddPjtcbn07XG5cblxuZXhwb3J0IHR5cGUgUXVlcnlDb25mZXJtYUxpc3RDYXJkc0FyZ3MgPSB7XG4gIGNvbXBhbnlJZD86IE1heWJlPFNjYWxhcnNbJ0lEJ10+O1xuICBvZmZpY2VJZD86IE1heWJlPFNjYWxhcnNbJ0lEJ10+O1xufTtcblxuXG5leHBvcnQgdHlwZSBRdWVyeVNlYXJjaENvbmZlcm1hQ2l0aWVzQXJncyA9IHtcbiAgY2l0eU5hbWU6IFNjYWxhcnNbJ1N0cmluZyddO1xuICBjb3VudHJ5Q29kZTogU2NhbGFyc1snU3RyaW5nJ107XG59O1xuXG5cbmV4cG9ydCB0eXBlIFF1ZXJ5R2V0Q29uZmVybWFPZmZpY2VBcmdzID0ge1xuICBvZmZpY2VJZDogU2NhbGFyc1snSW50J107XG59O1xuXG5cbmV4cG9ydCB0eXBlIFF1ZXJ5R2V0Q29uZmVybWFRdWlja2xpc3RBcmdzID0ge1xuICBjb3VudHJ5Q29kZTogU2NhbGFyc1snU3RyaW5nJ107XG59O1xuXG5cbmV4cG9ydCB0eXBlIFF1ZXJ5U2VhcmNoRmFzdFRyYWNrQXJncyA9IHtcbiAgYXJyaXZhbERhdGV0aW1lOiBTY2FsYXJzWydEYXRlVGltZSddO1xuICBsb2NhdGlvbkNvZGU6IFNjYWxhcnNbJ1N0cmluZyddO1xuICBhZHVsdHM6IFNjYWxhcnNbJ0ludCddO1xuICBjaGlsZHJlbj86IE1heWJlPFNjYWxhcnNbJ0ludCddPjtcbn07XG5cblxuZXhwb3J0IHR5cGUgUXVlcnlTZWFyY2hGbGlnaHRzQXJncyA9IHtcbiAgcGFzc2VuZ2VyczogQXJyYXk8RmxpZ2h0UGFzc2VuZ2VyT2JqZWN0PjtcbiAgb3JpZ2luQWlycG9ydD86IE1heWJlPFNjYWxhcnNbJ1N0cmluZyddPjtcbiAgZGVzdGluYXRpb25BaXJwb3J0PzogTWF5YmU8U2NhbGFyc1snU3RyaW5nJ10+O1xuICBtdWx0aURlc3RpbmF0aW9uPzogTWF5YmU8QXJyYXk8TWF5YmU8RGVzdGluYXRpb25FbnRyeT4+PjtcbiAgb3V0Ym91bmREYXRlPzogTWF5YmU8U2NhbGFyc1snRGF0ZSddPjtcbiAgb3V0Ym91bmREZXBhcnR1cmVUaW1lV2luZG93PzogTWF5YmU8U2NhbGFyc1snU3RyaW5nJ10+O1xuICBvdXRib3VuZEFycml2YWxUaW1lV2luZG93PzogTWF5YmU8U2NhbGFyc1snU3RyaW5nJ10+O1xuICBvdXRib3VuZENhYmluQ2xhc3M/OiBNYXliZTxBcnJheTxNYXliZTxGbGlnaHRDYWJpbkNsYXNzPj4+O1xuICByZXR1cm5UcmlwOiBTY2FsYXJzWydCb29sZWFuJ107XG4gIHJldHVybkRhdGU/OiBNYXliZTxTY2FsYXJzWydEYXRlJ10+O1xuICByZXR1cm5EZXBhcnR1cmVUaW1lV2luZG93PzogTWF5YmU8U2NhbGFyc1snU3RyaW5nJ10+O1xuICByZXR1cm5BcnJpdmFsVGltZVdpbmRvdz86IE1heWJlPFNjYWxhcnNbJ1N0cmluZyddPjtcbiAgcmV0dXJuQ2FiaW5DbGFzcz86IE1heWJlPEFycmF5PE1heWJlPEZsaWdodENhYmluQ2xhc3M+Pj47XG4gIGZhcmVUeXBlOiBGYXJlVHlwZTtcbiAgcmVxdWlyZUZyZWVCYWc/OiBNYXliZTxTY2FsYXJzWydCb29sZWFuJ10+O1xuICBtYXhDb25uZWN0aW9ucz86IE1heWJlPFNjYWxhcnNbJ0ludCddPjtcbiAgcHJlZmVycmVkQ2FycmllcnM/OiBNYXliZTxBcnJheTxNYXliZTxTY2FsYXJzWydTdHJpbmcnXT4+PjtcbiAgaW5jbHVkZU5lYXJieUFpcnBvcnRzPzogTWF5YmU8U2NhbGFyc1snQm9vbGVhbiddPjtcbiAgYXNTaW5nbGVzPzogTWF5YmU8U2NhbGFyc1snQm9vbGVhbiddPjtcbn07XG5cblxuZXhwb3J0IHR5cGUgUXVlcnlTZWFyY2hGbGlnaHRzVjJBcmdzID0ge1xuICBwYXNzZW5nZXJzOiBBcnJheTxGbGlnaHRQYXNzZW5nZXJPYmplY3Q+O1xuICBvcmlnaW5BaXJwb3J0PzogTWF5YmU8U2NhbGFyc1snU3RyaW5nJ10+O1xuICBkZXN0aW5hdGlvbkFpcnBvcnQ/OiBNYXliZTxTY2FsYXJzWydTdHJpbmcnXT47XG4gIG11bHRpRGVzdGluYXRpb24/OiBNYXliZTxBcnJheTxNYXliZTxEZXN0aW5hdGlvbkVudHJ5Pj4+O1xuICBvdXRib3VuZERhdGU/OiBNYXliZTxTY2FsYXJzWydEYXRlJ10+O1xuICBvdXRib3VuZERlcGFydHVyZVRpbWVXaW5kb3c/OiBNYXliZTxTY2FsYXJzWydTdHJpbmcnXT47XG4gIG91dGJvdW5kQXJyaXZhbFRpbWVXaW5kb3c/OiBNYXliZTxTY2FsYXJzWydTdHJpbmcnXT47XG4gIG91dGJvdW5kQ2FiaW5DbGFzcz86IE1heWJlPEFycmF5PE1heWJlPEZsaWdodENhYmluQ2xhc3M+Pj47XG4gIHJldHVyblRyaXA6IFNjYWxhcnNbJ0Jvb2xlYW4nXTtcbiAgcmV0dXJuRGF0ZT86IE1heWJlPFNjYWxhcnNbJ0RhdGUnXT47XG4gIHJldHVybkRlcGFydHVyZVRpbWVXaW5kb3c/OiBNYXliZTxTY2FsYXJzWydTdHJpbmcnXT47XG4gIHJldHVybkFycml2YWxUaW1lV2luZG93PzogTWF5YmU8U2NhbGFyc1snU3RyaW5nJ10+O1xuICByZXR1cm5DYWJpbkNsYXNzPzogTWF5YmU8QXJyYXk8TWF5YmU8RmxpZ2h0Q2FiaW5DbGFzcz4+PjtcbiAgZmFyZVR5cGU6IEZhcmVUeXBlO1xuICByZXF1aXJlRnJlZUJhZz86IE1heWJlPFNjYWxhcnNbJ0Jvb2xlYW4nXT47XG4gIG1heENvbm5lY3Rpb25zPzogTWF5YmU8U2NhbGFyc1snSW50J10+O1xuICBwcmVmZXJyZWRDYXJyaWVycz86IE1heWJlPEFycmF5PE1heWJlPFNjYWxhcnNbJ1N0cmluZyddPj4+O1xuICBpbmNsdWRlTmVhcmJ5QWlycG9ydHM/OiBNYXliZTxTY2FsYXJzWydCb29sZWFuJ10+O1xuICBhc1NpbmdsZXM/OiBNYXliZTxTY2FsYXJzWydCb29sZWFuJ10+O1xufTtcblxuXG5leHBvcnQgdHlwZSBRdWVyeVNlYXJjaEV1cm9zdGFyQXJncyA9IHtcbiAgcGFzc2VuZ2VyczogQXJyYXk8RmxpZ2h0UGFzc2VuZ2VyT2JqZWN0PjtcbiAgb3JpZ2luQWlycG9ydD86IE1heWJlPFNjYWxhcnNbJ1N0cmluZyddPjtcbiAgZGVzdGluYXRpb25BaXJwb3J0PzogTWF5YmU8U2NhbGFyc1snU3RyaW5nJ10+O1xuICBtdWx0aURlc3RpbmF0aW9uPzogTWF5YmU8QXJyYXk8TWF5YmU8RGVzdGluYXRpb25FbnRyeT4+PjtcbiAgb3V0Ym91bmREYXRlPzogTWF5YmU8U2NhbGFyc1snRGF0ZSddPjtcbiAgb3V0Ym91bmREZXBhcnR1cmVUaW1lV2luZG93PzogTWF5YmU8U2NhbGFyc1snU3RyaW5nJ10+O1xuICBvdXRib3VuZEFycml2YWxUaW1lV2luZG93PzogTWF5YmU8U2NhbGFyc1snU3RyaW5nJ10+O1xuICBvdXRib3VuZENhYmluQ2xhc3M/OiBNYXliZTxBcnJheTxNYXliZTxGbGlnaHRDYWJpbkNsYXNzPj4+O1xuICByZXR1cm5UcmlwOiBTY2FsYXJzWydCb29sZWFuJ107XG4gIHJldHVybkRhdGU/OiBNYXliZTxTY2FsYXJzWydEYXRlJ10+O1xuICByZXR1cm5EZXBhcnR1cmVUaW1lV2luZG93PzogTWF5YmU8U2NhbGFyc1snU3RyaW5nJ10+O1xuICByZXR1cm5BcnJpdmFsVGltZVdpbmRvdz86IE1heWJlPFNjYWxhcnNbJ1N0cmluZyddPjtcbiAgcmV0dXJuQ2FiaW5DbGFzcz86IE1heWJlPEFycmF5PE1heWJlPEZsaWdodENhYmluQ2xhc3M+Pj47XG4gIGZhcmVUeXBlOiBGYXJlVHlwZTtcbiAgcmVxdWlyZUZyZWVCYWc/OiBNYXliZTxTY2FsYXJzWydCb29sZWFuJ10+O1xuICBtYXhDb25uZWN0aW9ucz86IE1heWJlPFNjYWxhcnNbJ0ludCddPjtcbiAgcHJlZmVycmVkQ2FycmllcnM/OiBNYXliZTxBcnJheTxNYXliZTxTY2FsYXJzWydTdHJpbmcnXT4+PjtcbiAgaW5jbHVkZU5lYXJieUFpcnBvcnRzPzogTWF5YmU8U2NhbGFyc1snQm9vbGVhbiddPjtcbiAgYXNTaW5nbGVzPzogTWF5YmU8U2NhbGFyc1snQm9vbGVhbiddPjtcbn07XG5cblxuZXhwb3J0IHR5cGUgUXVlcnlTZWFyY2hIb3RlbENoYWluc0FyZ3MgPSB7XG4gIHF1ZXJ5OiBTY2FsYXJzWydTdHJpbmcnXTtcbn07XG5cblxuZXhwb3J0IHR5cGUgUXVlcnlTZWFyY2hIb3RlbHNBcmdzID0ge1xuICBzdGFydERhdGU6IFNjYWxhcnNbJ0RhdGUnXTtcbiAgZW5kRGF0ZTogU2NhbGFyc1snRGF0ZSddO1xuICBjaXR5TmFtZT86IE1heWJlPFNjYWxhcnNbJ1N0cmluZyddPjtcbiAgcG9zdE9yWmlwQ29kZT86IE1heWJlPFNjYWxhcnNbJ1N0cmluZyddPjtcbiAgY291bnRyeUNvZGU/OiBNYXliZTxTY2FsYXJzWydTdHJpbmcnXT47XG4gIGxhdGl0dWRlPzogTWF5YmU8U2NhbGFyc1snRmxvYXQnXT47XG4gIGxvbmdpdHVkZT86IE1heWJlPFNjYWxhcnNbJ0Zsb2F0J10+O1xuICB0cmFpblN0YXRpb25Db2RlPzogTWF5YmU8U2NhbGFyc1snU3RyaW5nJ10+O1xuICBpYXRhPzogTWF5YmU8U2NhbGFyc1snU3RyaW5nJ10+O1xuICBvZmZpY2VJZD86IE1heWJlPFNjYWxhcnNbJ0ludCddPjtcbiAgcm9vbXM6IFNjYWxhcnNbJ0ludCddO1xuICBhZHVsdHM6IFNjYWxhcnNbJ0ludCddO1xuICBjaGlsZHJlbj86IE1heWJlPFNjYWxhcnNbJ0ludCddPjtcbiAgY3VycmVuY3k6IFNjYWxhcnNbJ1N0cmluZyddO1xuICBkaXN0YW5jZVR5cGU6IERpc3RhbmNlVHlwZXM7XG4gIGRpc3RhbmNlOiBTY2FsYXJzWydJbnQnXTtcbiAgbWF4UmVzdWx0cz86IE1heWJlPFNjYWxhcnNbJ0ludCddPjtcbiAgaG90ZWxOYW1lPzogTWF5YmU8U2NhbGFyc1snU3RyaW5nJ10+O1xuICBncm91cE5hbWU/OiBNYXliZTxTY2FsYXJzWydTdHJpbmcnXT47XG59O1xuXG5cbmV4cG9ydCB0eXBlIFF1ZXJ5R2V0SG90ZWxBdmFpbGFiaWxpdHlBcmdzID0ge1xuICBob3RlbDogU2NhbGFyc1snU3RyaW5nJ107XG4gIHN0YXJ0RGF0ZTogU2NhbGFyc1snRGF0ZSddO1xuICBlbmREYXRlOiBTY2FsYXJzWydEYXRlJ107XG4gIGN1cnJlbmN5OiBTY2FsYXJzWydTdHJpbmcnXTtcbiAgb2NjdXBhbnRzOiBTY2FsYXJzWydJbnQnXTtcbiAgcm9vbXM/OiBNYXliZTxTY2FsYXJzWydJbnQnXT47XG59O1xuXG5cbmV4cG9ydCB0eXBlIFF1ZXJ5R2V0TXVsdGlwbGVIb3RlbHNBdmFpbGFiaWxpdHlBcmdzID0ge1xuICBob3RlbDogQXJyYXk8U2NhbGFyc1snU3RyaW5nJ10+O1xuICBzdGFydERhdGU6IFNjYWxhcnNbJ0RhdGUnXTtcbiAgZW5kRGF0ZTogU2NhbGFyc1snRGF0ZSddO1xuICBjdXJyZW5jeTogU2NhbGFyc1snU3RyaW5nJ107XG4gIG9jY3VwYW50czogU2NhbGFyc1snSW50J107XG4gIHJvb21zPzogTWF5YmU8U2NhbGFyc1snSW50J10+O1xufTtcblxuXG5leHBvcnQgdHlwZSBRdWVyeUdldElybFN1cHBsaWVyU3RhdGlvbkFyZ3MgPSB7XG4gIGlkPzogTWF5YmU8U2NhbGFyc1snSUQnXT47XG4gIHN1cHBsaWVyPzogTWF5YmU8SXJsU3VwcGxpZXI+O1xuICBjb2RlPzogTWF5YmU8U2NhbGFyc1snU3RyaW5nJ10+O1xufTtcblxuXG5leHBvcnQgdHlwZSBRdWVyeVNlYXJjaElybFN1cHBsaWVyU3RhdGlvbnNBcmdzID0ge1xuICBxdWVyeTogU2NhbGFyc1snU3RyaW5nJ107XG4gIHN1cHBsaWVyPzogTWF5YmU8SXJsU3VwcGxpZXI+O1xufTtcblxuXG5leHBvcnQgdHlwZSBRdWVyeVNlYXJjaElybEFyZ3MgPSB7XG4gIHN1cHBsaWVyOiBJcmxTdXBwbGllcjtcbiAgY291bnRyeUNvZGU6IFNjYWxhcnNbJ1N0cmluZyddO1xuICBqb3VybmV5VHlwZTogSXJsSm91cm5leVR5cGU7XG4gIGNsYXNzPzogTWF5YmU8SXJsQ2xhc3M+O1xuICBvdXRib3VuZERlcGFydHVyZURhdGVUaW1lOiBTY2FsYXJzWydEYXRlVGltZSddO1xuICBkZXBhcnR1cmVMb2NhdGlvbklkOiBTY2FsYXJzWydJRCddO1xuICBhcnJpdmFsTG9jYXRpb25JZDogU2NhbGFyc1snSUQnXTtcbiAgYWR1bHRzOiBTY2FsYXJzWydJbnQnXTtcbiAgY2hpbGRyZW4/OiBNYXliZTxTY2FsYXJzWydJbnQnXT47XG4gIHJldHVybkRlcGFydHVyZURhdGVUaW1lPzogTWF5YmU8U2NhbGFyc1snRGF0ZVRpbWUnXT47XG59O1xuXG5cbmV4cG9ydCB0eXBlIFF1ZXJ5R2V0UmFpbExpdmVEZXBhcnR1cmVzQXJncyA9IHtcbiAgc3RhdGlvbkNvZGU6IFNjYWxhcnNbJ1N0cmluZyddO1xufTtcblxuXG5leHBvcnQgdHlwZSBRdWVyeVNlYXJjaExvdW5nZXNBcmdzID0ge1xuICBsb2NhdGlvbkNvZGU6IFNjYWxhcnNbJ1N0cmluZyddO1xuICBhcnJpdmFsRGF0ZXRpbWU6IFNjYWxhcnNbJ0RhdGVUaW1lJ107XG4gIGFkdWx0czogU2NhbGFyc1snSW50J107XG4gIGNoaWxkcmVuPzogTWF5YmU8U2NhbGFyc1snSW50J10+O1xuICBpbmZhbnRzPzogTWF5YmU8U2NhbGFyc1snSW50J10+O1xuICB0ZXJtaW5hbD86IE1heWJlPFNjYWxhcnNbJ1N0cmluZyddPjtcbn07XG5cblxuZXhwb3J0IHR5cGUgUXVlcnlHZXRVc2VyTWlBdXRvU3VnZ2VzdFZhbHVlc0FyZ3MgPSB7XG4gIG1pOiBTY2FsYXJzWydJRCddO1xuICBwYXJ0aWFsTGFiZWw6IFNjYWxhcnNbJ1N0cmluZyddO1xufTtcblxuXG5leHBvcnQgdHlwZSBRdWVyeVZhbGlkYXRlVXNlck1pRnJlZVZhbHVlQXJncyA9IHtcbiAgbWk6IFNjYWxhcnNbJ0lEJ107XG4gIGZyZWVWYWx1ZTogU2NhbGFyc1snU3RyaW5nJ107XG59O1xuXG5cbmV4cG9ydCB0eXBlIFF1ZXJ5VmFsaWRhdGVCYXNrZXRJdGVtTWlBcmdzID0ge1xuICBiYXNrZXRJdGVtOiBTY2FsYXJzWydJRCddO1xufTtcblxuXG5leHBvcnQgdHlwZSBRdWVyeUdldFVzZXJNZXNzYWdlc0FyZ3MgPSB7XG4gIGVudmlyb25tZW50PzogTWF5YmU8U2NhbGFyc1snU3RyaW5nJ10+O1xuICBkaXNwbGF5VGFyZ2V0PzogTWF5YmU8U2NhbGFyc1snU3RyaW5nJ10+O1xufTtcblxuXG5leHBvcnQgdHlwZSBRdWVyeVNlYXJjaFBhcmtpbmdBcmdzID0ge1xuICBhcnJpdmFsRGF0ZXRpbWU6IFNjYWxhcnNbJ0RhdGVUaW1lJ107XG4gIGRlcGFydERhdGV0aW1lOiBTY2FsYXJzWydEYXRlVGltZSddO1xuICBsb2NhdGlvbkNvZGU6IFNjYWxhcnNbJ1N0cmluZyddO1xuICBvdXRGbGlnaHROdW1iZXI/OiBNYXliZTxTY2FsYXJzWydTdHJpbmcnXT47XG4gIHJlY29tbWVuZGVkPzogTWF5YmU8U2NhbGFyc1snQm9vbGVhbiddPjtcbiAgb25BaXJwb3J0PzogTWF5YmU8U2NhbGFyc1snQm9vbGVhbiddPjtcbiAgbWVldEFuZEdyZWV0PzogTWF5YmU8U2NhbGFyc1snQm9vbGVhbiddPjtcbiAgcGFya0FuZFJpZGU/OiBNYXliZTxTY2FsYXJzWydCb29sZWFuJ10+O1xuICBwYXJrQW5kU3Ryb2xsPzogTWF5YmU8U2NhbGFyc1snQm9vbGVhbiddPjtcbiAgY2FyUGFya2VkRm9yWW91PzogTWF5YmU8U2NhbGFyc1snQm9vbGVhbiddPjtcbiAgdGVybWluYWw/OiBNYXliZTxTY2FsYXJzWydTdHJpbmcnXT47XG59O1xuXG5cbmV4cG9ydCB0eXBlIFF1ZXJ5R2V0QmFza2V0SXRlbVBheW1lbnRTdXBwbG1lbnRhcnlJbmZvU2NoZW1hQXJncyA9IHtcbiAgYmFza2V0SXRlbTogU2NhbGFyc1snSUQnXTtcbn07XG5cblxuZXhwb3J0IHR5cGUgUXVlcnlHZXRQb3N0Y29kZURldGFpbHNBcmdzID0ge1xuICBwb3N0Y29kZTogU2NhbGFyc1snU3RyaW5nJ107XG59O1xuXG5cbmV4cG9ydCB0eXBlIFF1ZXJ5UG9zdGNvZGVBdXRvU3VnZ2VzdEFyZ3MgPSB7XG4gIHBvc3Rjb2RlOiBTY2FsYXJzWydTdHJpbmcnXTtcbn07XG5cblxuZXhwb3J0IHR5cGUgUXVlcnlTZWFyY2hQb3N0Y29kZXNBcmdzID0ge1xuICBxdWVyeTogU2NhbGFyc1snU3RyaW5nJ107XG59O1xuXG5cbmV4cG9ydCB0eXBlIFF1ZXJ5SXNQb3N0Y29kZVZhbGlkQXJncyA9IHtcbiAgcG9zdGNvZGU6IFNjYWxhcnNbJ1N0cmluZyddO1xufTtcblxuXG5leHBvcnQgdHlwZSBRdWVyeUdldFJhaWxTdGF0aW9uQXJncyA9IHtcbiAgaWQ/OiBNYXliZTxTY2FsYXJzWydJRCddPjtcbiAgY29kZT86IE1heWJlPFNjYWxhcnNbJ1N0cmluZyddPjtcbn07XG5cblxuZXhwb3J0IHR5cGUgUXVlcnlTZWFyY2hSYWlsU3RhdGlvbnNBcmdzID0ge1xuICBxdWVyeTogU2NhbGFyc1snU3RyaW5nJ107XG4gIGNvdW50cnlDb2RlPzogTWF5YmU8U2NhbGFyc1snU3RyaW5nJ10+O1xufTtcblxuXG5leHBvcnQgdHlwZSBRdWVyeVNlYXJjaFJhaWxBcmdzID0ge1xuICBjb3VudHJ5Q29kZTogU2NhbGFyc1snU3RyaW5nJ107XG4gIGpvdXJuZXlUeXBlOiBSYWlsSm91cm5leVR5cGU7XG4gIGNsYXNzPzogTWF5YmU8UmFpbENsYXNzPjtcbiAgb3V0Ym91bmRBcnJpdmFsRGF0ZVRpbWU/OiBNYXliZTxTY2FsYXJzWydEYXRlVGltZSddPjtcbiAgb3V0Ym91bmREZXBhcnR1cmVEYXRlVGltZT86IE1heWJlPFNjYWxhcnNbJ0RhdGVUaW1lJ10+O1xuICBkZXBhcnR1cmVMb2NhdGlvbklkOiBTY2FsYXJzWydJRCddO1xuICBhcnJpdmFsTG9jYXRpb25JZDogU2NhbGFyc1snSUQnXTtcbiAgYWR1bHRzOiBTY2FsYXJzWydJbnQnXTtcbiAgY2hpbGRyZW4/OiBNYXliZTxTY2FsYXJzWydJbnQnXT47XG4gIHJldHVybkFycml2YWxEYXRlVGltZT86IE1heWJlPFNjYWxhcnNbJ0RhdGVUaW1lJ10+O1xuICByZXR1cm5EZXBhcnR1cmVEYXRlVGltZT86IE1heWJlPFNjYWxhcnNbJ0RhdGVUaW1lJ10+O1xuICByYWlsQ2FyZFF1YWxpZmllcnM/OiBNYXliZTxBcnJheTxTY2FsYXJzWydTdHJpbmcnXT4+O1xuICB2aWFMb2NhdGlvbklkPzogTWF5YmU8U2NhbGFyc1snSUQnXT47XG4gIGV4dHJhVGltZVRvQ2hhbmdlPzogTWF5YmU8U2NhbGFyc1snQm9vbGVhbiddPjtcbiAgcGx1c0J1c091dD86IE1heWJlPFJhaWxQbHVzQnVzQXZhaWw+O1xuICBwbHVzQnVzUmV0dXJuPzogTWF5YmU8UmFpbFBsdXNCdXNBdmFpbD47XG59O1xuXG5cbmV4cG9ydCB0eXBlIFF1ZXJ5R2V0Umlza0FsZXJ0c0FyZ3MgPSB7XG4gIG1pbkxldmVsPzogTWF5YmU8Umlza0xldmVsPjtcbiAgbWF4TGV2ZWw/OiBNYXliZTxSaXNrTGV2ZWw+O1xuICBjb3VudHJ5SXNvQ29kZT86IE1heWJlPFNjYWxhcnNbJ1N0cmluZyddPjtcbiAgYWlycG9ydD86IE1heWJlPFNjYWxhcnNbJ0lEJ10+O1xuICByYWlsU3RhdGlvbj86IE1heWJlPFNjYWxhcnNbJ0lEJ10+O1xuICBhaXJwb3J0SWF0YT86IE1heWJlPFNjYWxhcnNbJ1N0cmluZyddPjtcbn07XG5cblxuZXhwb3J0IHR5cGUgUXVlcnlHZXRVc2VyUmVjZW50U2VhcmNoZXNBcmdzID0ge1xuICBzZXJ2aWNlVHlwZT86IE1heWJlPFNlcnZpY2VUeXBlPjtcbn07XG5cblxuZXhwb3J0IHR5cGUgUXVlcnlHZXRVc2VyRmF2b3VyaXRlU2VhcmNoZXNBcmdzID0ge1xuICBzZXJ2aWNlVHlwZT86IE1heWJlPFNlcnZpY2VUeXBlPjtcbn07XG5cblxuZXhwb3J0IHR5cGUgUXVlcnlHZXRGbGlnaHRTZWF0TWFwQXJncyA9IHtcbiAgZmxpZ2h0OiBJbnB1dEZsaWdodEpvdXJuZXk7XG59O1xuXG5cbmV4cG9ydCB0eXBlIFF1ZXJ5R2V0VXNlclVpQ29uZmlnc0FyZ3MgPSB7XG4gIHRhcmdldD86IE1heWJlPFNjYWxhcnNbJ1N0cmluZyddPjtcbn07XG5cblxuZXhwb3J0IHR5cGUgUXVlcnlHZXRVc2VyQXJncyA9IHtcbiAgaWQ/OiBNYXliZTxTY2FsYXJzWydJRCddPjtcbn07XG5cbmV4cG9ydCB0eXBlIFJhaWxBY2NvdW50ID0ge1xuICBfX3R5cGVuYW1lPzogJ1JhaWxBY2NvdW50JztcbiAgaWQ/OiBNYXliZTxGaWVsZFdyYXBwZXI8U2NhbGFyc1snU3RyaW5nJ10+PjtcbiAgcmVmZXJlbmNlPzogTWF5YmU8RmllbGRXcmFwcGVyPFNjYWxhcnNbJ1N0cmluZyddPj47XG4gIGRlc2NyaXB0aW9uPzogTWF5YmU8RmllbGRXcmFwcGVyPFNjYWxhcnNbJ1N0cmluZyddPj47XG4gIGlzRGVmYXVsdD86IE1heWJlPEZpZWxkV3JhcHBlcjxTY2FsYXJzWydCb29sZWFuJ10+PjtcbiAgdHlwZT86IE1heWJlPEZpZWxkV3JhcHBlcjxTY2FsYXJzWydTdHJpbmcnXT4+O1xufTtcblxuZXhwb3J0IHR5cGUgUmFpbENhbGxpbmdQb2ludCA9IHtcbiAgX190eXBlbmFtZT86ICdSYWlsQ2FsbGluZ1BvaW50JztcbiAgc3RhdGlvbk5hbWU/OiBNYXliZTxGaWVsZFdyYXBwZXI8U2NhbGFyc1snU3RyaW5nJ10+PjtcbiAgc3RhdGlvbkNvZGU/OiBNYXliZTxGaWVsZFdyYXBwZXI8U2NhbGFyc1snU3RyaW5nJ10+PjtcbiAgYXJyaXZhbERhdGVUaW1lPzogTWF5YmU8RmllbGRXcmFwcGVyPFNjYWxhcnNbJ0RhdGVUaW1lJ10+PjtcbiAgZGVwYXJ0dXJlRGF0ZVRpbWU/OiBNYXliZTxGaWVsZFdyYXBwZXI8U2NhbGFyc1snRGF0ZVRpbWUnXT4+O1xuICBzY2hlZHVsZWRQbGF0Zm9ybT86IE1heWJlPEZpZWxkV3JhcHBlcjxTY2FsYXJzWydTdHJpbmcnXT4+O1xuICBzdGF0aW9uQ2xhc3NpZmljYXRpb24/OiBNYXliZTxGaWVsZFdyYXBwZXI8UmFpbFN0YXRpb25DbGFzc2lmaWNhdGlvbj4+O1xuICBzdG9wcGluZ1BhdHRlcm4/OiBNYXliZTxGaWVsZFdyYXBwZXI8UmFpbFN0b3BwaW5nUGF0dGVybj4+O1xufTtcblxuZXhwb3J0IGVudW0gUmFpbENsYXNzIHtcbiAgQWxsID0gJ0FsbCcsXG4gIEZpcnN0ID0gJ0ZpcnN0JyxcbiAgU3RhbmRhcmQgPSAnU3RhbmRhcmQnXG59XG5cbmV4cG9ydCB0eXBlIFJhaWxJZGVudGlmaWVycyA9IHtcbiAgX190eXBlbmFtZT86ICdSYWlsSWRlbnRpZmllcnMnO1xuICB0cmFuc2FjdGlvbklkZW50aWZpZXI/OiBNYXliZTxGaWVsZFdyYXBwZXI8U2NhbGFyc1snU3RyaW5nJ10+PjtcbiAgam91cm5leUlkZW50aWZpZXI/OiBNYXliZTxGaWVsZFdyYXBwZXI8U2NhbGFyc1snU3RyaW5nJ10+PjtcbiAgcHJvdmlkZXI/OiBNYXliZTxGaWVsZFdyYXBwZXI8U2NhbGFyc1snU3RyaW5nJ10+PjtcbiAgZmFyZUlkZW50aWZpZXI/OiBNYXliZTxGaWVsZFdyYXBwZXI8U2NhbGFyc1snU3RyaW5nJ10+PjtcbiAgZGlyZWN0aW9uPzogTWF5YmU8RmllbGRXcmFwcGVyPFNjYWxhcnNbJ1N0cmluZyddPj47XG4gIGFsbG93ZWRXaXRoOiBBcnJheTxGaWVsZFdyYXBwZXI8UmFpbElkZW50aWZpZXJzPj47XG4gIHNpbmdsZU9yUmV0dXJuPzogTWF5YmU8RmllbGRXcmFwcGVyPFNjYWxhcnNbJ1N0cmluZyddPj47XG4gIGJvb2tpbmdSZWY/OiBNYXliZTxGaWVsZFdyYXBwZXI8U2NhbGFyc1snU3RyaW5nJ10+Pjtcbn07XG5cbmV4cG9ydCB0eXBlIFJhaWxKb3VybmV5T3B0aW9uID0ge1xuICBfX3R5cGVuYW1lPzogJ1JhaWxKb3VybmV5T3B0aW9uJztcbiAgaWRlbnRpZmllcnM/OiBNYXliZTxGaWVsZFdyYXBwZXI8UmFpbElkZW50aWZpZXJzPj47XG4gIHRyYXZlbGxlcnM/OiBNYXliZTxBcnJheTxGaWVsZFdyYXBwZXI8UmFpbFRyYXZlbGxlcj4+PjtcbiAgY28yUGVySXRlbT86IE1heWJlPEZpZWxkV3JhcHBlcjxTY2FsYXJzWydGbG9hdCddPj47XG4gIGNvMlBlclBhc3Nlbmdlcj86IE1heWJlPEZpZWxkV3JhcHBlcjxTY2FsYXJzWydGbG9hdCddPj47XG4gIGZyb20/OiBNYXliZTxGaWVsZFdyYXBwZXI8U2NhbGFyc1snU3RyaW5nJ10+PjtcbiAgZnJvbUNvZGU/OiBNYXliZTxGaWVsZFdyYXBwZXI8U2NhbGFyc1snU3RyaW5nJ10+PjtcbiAgdG8/OiBNYXliZTxGaWVsZFdyYXBwZXI8U2NhbGFyc1snU3RyaW5nJ10+PjtcbiAgdG9Db2RlPzogTWF5YmU8RmllbGRXcmFwcGVyPFNjYWxhcnNbJ1N0cmluZyddPj47XG4gIGRlcGFydERhdGVUaW1lPzogTWF5YmU8RmllbGRXcmFwcGVyPFNjYWxhcnNbJ0RhdGVUaW1lJ10+PjtcbiAgYXJyaXZlRGF0ZVRpbWU/OiBNYXliZTxGaWVsZFdyYXBwZXI8U2NhbGFyc1snRGF0ZVRpbWUnXT4+O1xuICBjaGFuZ2VzPzogTWF5YmU8RmllbGRXcmFwcGVyPFNjYWxhcnNbJ1N0cmluZyddPj47XG4gIHNlZ21lbnRzPzogTWF5YmU8QXJyYXk8RmllbGRXcmFwcGVyPFJhaWxTZWdtZW50Pj4+O1xuICBwcm92aWRlcnM/OiBNYXliZTxBcnJheTxGaWVsZFdyYXBwZXI8UmFpbFByb3ZpZGVyPj4+O1xuICB1bnNlbGxhYmxlPzogTWF5YmU8RmllbGRXcmFwcGVyPFNjYWxhcnNbJ1N0cmluZyddPj47XG4gIHRpY2tldEV4dHJhcz86IE1heWJlPEFycmF5PEZpZWxkV3JhcHBlcjxSYWlsVGlja2V0RXh0cmE+Pj47XG4gIHBsdXNCdXM/OiBNYXliZTxGaWVsZFdyYXBwZXI8UmFpbFBsdXNCdXM+Pjtcbn07XG5cbmV4cG9ydCB0eXBlIFJhaWxKb3VybmV5T3B0aW9ucyA9IHtcbiAgX190eXBlbmFtZT86ICdSYWlsSm91cm5leU9wdGlvbnMnO1xuICBzb3VyY2U6IEZpZWxkV3JhcHBlcjxTY2FsYXJzWydTdHJpbmcnXT47XG4gIHNvdXJjZUlkOiBGaWVsZFdyYXBwZXI8U2NhbGFyc1snSW50J10+O1xuICBvdXRib3VuZD86IE1heWJlPEFycmF5PEZpZWxkV3JhcHBlcjxSYWlsSm91cm5leU9wdGlvbj4+PjtcbiAgcmV0dXJuPzogTWF5YmU8QXJyYXk8RmllbGRXcmFwcGVyPFJhaWxKb3VybmV5T3B0aW9uPj4+O1xufTtcblxuZXhwb3J0IGVudW0gUmFpbEpvdXJuZXlUeXBlIHtcbiAgUmV0dXJuSm91cm5leSA9ICdSZXR1cm5Kb3VybmV5JyxcbiAgU2luZ2xlSm91cm5leSA9ICdTaW5nbGVKb3VybmV5JyxcbiAgRHVhbFNpbmdsZUpvdXJuZXkgPSAnRHVhbFNpbmdsZUpvdXJuZXknLFxuICBPcGVuUmV0dXJuSm91cm5leSA9ICdPcGVuUmV0dXJuSm91cm5leSdcbn1cblxuZXhwb3J0IHR5cGUgUmFpbFBsdXNCdXMgPSB7XG4gIF9fdHlwZW5hbWU/OiAnUmFpbFBsdXNCdXMnO1xuICBvcmlnaW5QbHVzQnVzTkxDPzogTWF5YmU8RmllbGRXcmFwcGVyPFNjYWxhcnNbJ1N0cmluZyddPj47XG4gIG9yaWdpblN0YXRpb25OTEM/OiBNYXliZTxGaWVsZFdyYXBwZXI8U2NhbGFyc1snU3RyaW5nJ10+PjtcbiAgZGVzdGluYXRpb25QbHVzQnVzTkxDPzogTWF5YmU8RmllbGRXcmFwcGVyPFNjYWxhcnNbJ1N0cmluZyddPj47XG4gIGRlc3RpbmF0aW9uU3RhdGlvbk5MQz86IE1heWJlPEZpZWxkV3JhcHBlcjxTY2FsYXJzWydTdHJpbmcnXT4+O1xufTtcblxuZXhwb3J0IHR5cGUgUmFpbFBsdXNCdXNBdmFpbCA9IHtcbiAgb3JpZ2luPzogTWF5YmU8U2NhbGFyc1snQm9vbGVhbiddPjtcbiAgZGVzdGluYXRpb24/OiBNYXliZTxTY2FsYXJzWydCb29sZWFuJ10+O1xufTtcblxuZXhwb3J0IHR5cGUgUmFpbFByb3ZpZGVyID0ge1xuICBfX3R5cGVuYW1lPzogJ1JhaWxQcm92aWRlcic7XG4gIHByb3ZpZGVySWQ/OiBNYXliZTxGaWVsZFdyYXBwZXI8U2NhbGFyc1snU3RyaW5nJ10+PjtcbiAgbmFtZT86IE1heWJlPEZpZWxkV3JhcHBlcjxTY2FsYXJzWydTdHJpbmcnXT4+O1xuICBjaGVhcGVzdFRpY2tldD86IE1heWJlPEZpZWxkV3JhcHBlcjxSYWlsVGlja2V0T3B0aW9uPj47XG4gIHRpY2tldE9wdGlvbnM/OiBNYXliZTxBcnJheTxNYXliZTxGaWVsZFdyYXBwZXI8UmFpbFRpY2tldE9wdGlvbj4+Pj47XG4gIGJvb2tlZFRpY2tldD86IE1heWJlPEZpZWxkV3JhcHBlcjxSYWlsVGlja2V0T3B0aW9uPj47XG59O1xuXG5leHBvcnQgdHlwZSBSYWlsU2VhcmNoUmVzdWx0ID0ge1xuICBfX3R5cGVuYW1lPzogJ1JhaWxTZWFyY2hSZXN1bHQnO1xuICByZXN1bHRzOiBBcnJheTxGaWVsZFdyYXBwZXI8UmFpbEpvdXJuZXlPcHRpb25zPj47XG4gIGVycm9yczogQXJyYXk8RmllbGRXcmFwcGVyPFNlYXJjaEVycm9yPj47XG59O1xuXG5leHBvcnQgdHlwZSBSYWlsU2VhdCA9IHtcbiAgX190eXBlbmFtZT86ICdSYWlsU2VhdCc7XG4gIGxvY2F0aW9uPzogTWF5YmU8RmllbGRXcmFwcGVyPFNjYWxhcnNbJ1N0cmluZyddPj47XG4gIGNvYWNoPzogTWF5YmU8RmllbGRXcmFwcGVyPFNjYWxhcnNbJ1N0cmluZyddPj47XG4gIG51bWJlcj86IE1heWJlPEZpZWxkV3JhcHBlcjxTY2FsYXJzWydTdHJpbmcnXT4+O1xuICBkaXJlY3Rpb24/OiBNYXliZTxGaWVsZFdyYXBwZXI8U2NhbGFyc1snU3RyaW5nJ10+PjtcbiAgcG9zaXRpb24/OiBNYXliZTxGaWVsZFdyYXBwZXI8U2NhbGFyc1snU3RyaW5nJ10+PjtcbiAgZGVjaz86IE1heWJlPEZpZWxkV3JhcHBlcjxTY2FsYXJzWydTdHJpbmcnXT4+O1xuICBzZWF0VHlwZT86IE1heWJlPEZpZWxkV3JhcHBlcjxTY2FsYXJzWydTdHJpbmcnXT4+O1xuICBzZWF0U2VsZWN0aW9uPzogTWF5YmU8RmllbGRXcmFwcGVyPFNjYWxhcnNbJ1N0cmluZyddPj47XG4gIGZhY2lsaXRpZXM/OiBNYXliZTxBcnJheTxNYXliZTxGaWVsZFdyYXBwZXI8U2NhbGFyc1snU3RyaW5nJ10+Pj4+O1xuICBub3RlOiBGaWVsZFdyYXBwZXI8U2NhbGFyc1snU3RyaW5nJ10+O1xufTtcblxuZXhwb3J0IHR5cGUgUmFpbFNlYXRQcmVmZXJlbmNlVHlwZSA9IHtcbiAgX190eXBlbmFtZT86ICdSYWlsU2VhdFByZWZlcmVuY2VUeXBlJztcbiAgbmFtZT86IE1heWJlPEZpZWxkV3JhcHBlcjxTY2FsYXJzWydTdHJpbmcnXT4+O1xuICBhbGxvd2VkVmFsdWVzPzogTWF5YmU8QXJyYXk8TWF5YmU8RmllbGRXcmFwcGVyPFNjYWxhcnNbJ1N0cmluZyddPj4+Pjtcbn07XG5cbmV4cG9ydCB0eXBlIFJhaWxTZWdtZW50ID0ge1xuICBfX3R5cGVuYW1lPzogJ1JhaWxTZWdtZW50JztcbiAgaWQ/OiBNYXliZTxGaWVsZFdyYXBwZXI8U2NhbGFyc1snU3RyaW5nJ10+PjtcbiAgb3BlcmF0b3I/OiBNYXliZTxGaWVsZFdyYXBwZXI8U2NhbGFyc1snU3RyaW5nJ10+PjtcbiAgZGVwYXJ0PzogTWF5YmU8RmllbGRXcmFwcGVyPFNjYWxhcnNbJ1N0cmluZyddPj47XG4gIGRlcGFydERhdGVUaW1lPzogTWF5YmU8RmllbGRXcmFwcGVyPFNjYWxhcnNbJ0RhdGVUaW1lJ10+PjtcbiAgYXJyaXZlPzogTWF5YmU8RmllbGRXcmFwcGVyPFNjYWxhcnNbJ1N0cmluZyddPj47XG4gIGFycml2ZURhdGVUaW1lPzogTWF5YmU8RmllbGRXcmFwcGVyPFNjYWxhcnNbJ0RhdGVUaW1lJ10+PjtcbiAgcmVzZXJ2YWJsZVN0YXR1cz86IE1heWJlPEZpZWxkV3JhcHBlcjxTY2FsYXJzWydTdHJpbmcnXT4+O1xuICBzZWF0UHJlZmVyZW5jZVR5cGVzPzogTWF5YmU8QXJyYXk8RmllbGRXcmFwcGVyPFJhaWxTZWF0UHJlZmVyZW5jZVR5cGU+Pj47XG4gIHNlYXRQcmVmZXJlbmNlR3JvdXA/OiBNYXliZTxGaWVsZFdyYXBwZXI8U2NhbGFyc1snU3RyaW5nJ10+PjtcbiAgc2VhdHM/OiBNYXliZTxBcnJheTxGaWVsZFdyYXBwZXI8UmFpbFNlYXQ+Pj47XG4gIGNhbGxpbmdQb2ludHM/OiBNYXliZTxBcnJheTxGaWVsZFdyYXBwZXI8UmFpbENhbGxpbmdQb2ludD4+Pjtcbn07XG5cbmV4cG9ydCB0eXBlIFJhaWxTdGF0aW9uID0ge1xuICBfX3R5cGVuYW1lPzogJ1JhaWxTdGF0aW9uJztcbiAgaWQ6IEZpZWxkV3JhcHBlcjxTY2FsYXJzWydJRCddPjtcbiAgbmFtZTogRmllbGRXcmFwcGVyPFNjYWxhcnNbJ1N0cmluZyddPjtcbiAgc3RhdGlvbkNvZGU6IEZpZWxkV3JhcHBlcjxTY2FsYXJzWydTdHJpbmcnXT47XG4gIG5sY0NvZGU/OiBNYXliZTxGaWVsZFdyYXBwZXI8U2NhbGFyc1snSW50J10+PjtcbiAgdHJhaW5saW5lQ29kZT86IE1heWJlPEZpZWxkV3JhcHBlcjxTY2FsYXJzWydTdHJpbmcnXT4+O1xuICB0cmFpbmxpbmVVbmlxdWVDb2RlPzogTWF5YmU8RmllbGRXcmFwcGVyPFNjYWxhcnNbJ1N0cmluZyddPj47XG4gIGxvY2F0aW9uRGV0YWlscz86IE1heWJlPEZpZWxkV3JhcHBlcjxMb2NhdGlvbkRldGFpbD4+O1xufTtcblxuZXhwb3J0IGVudW0gUmFpbFN0YXRpb25DbGFzc2lmaWNhdGlvbiB7XG4gIE9yaWdpbiA9ICdPcmlnaW4nLFxuICBJbnRlcm1lZGlhdGUgPSAnSW50ZXJtZWRpYXRlJyxcbiAgRGVzdGluYXRpb24gPSAnRGVzdGluYXRpb24nLFxuICBVbmtub3duID0gJ1Vua25vd24nXG59XG5cbmV4cG9ydCBlbnVtIFJhaWxTdG9wcGluZ1BhdHRlcm4ge1xuICBSZXF1ZXN0U3RvcCA9ICdSZXF1ZXN0U3RvcCcsXG4gIFBpY2tVcE9ubHkgPSAnUGlja1VwT25seScsXG4gIFNldERvd25Pbmx5ID0gJ1NldERvd25Pbmx5JyxcbiAgTm9ybWFsID0gJ05vcm1hbCcsXG4gIFBhc3NpbmcgPSAnUGFzc2luZycsXG4gIFVua25vd24gPSAnVW5rbm93bidcbn1cblxuZXhwb3J0IHR5cGUgUmFpbFRleHRWYWx1ZVBhaXIgPSB7XG4gIF9fdHlwZW5hbWU/OiAnUmFpbFRleHRWYWx1ZVBhaXInO1xuICB0ZXh0OiBGaWVsZFdyYXBwZXI8U2NhbGFyc1snU3RyaW5nJ10+O1xuICB2YWx1ZT86IE1heWJlPEZpZWxkV3JhcHBlcjxTY2FsYXJzWydTdHJpbmcnXT4+O1xufTtcblxuZXhwb3J0IHR5cGUgUmFpbFRpY2tldCA9IHtcbiAgX190eXBlbmFtZT86ICdSYWlsVGlja2V0JztcbiAgcHJpY2U/OiBNYXliZTxGaWVsZFdyYXBwZXI8U2NhbGFyc1snRmxvYXQnXT4+O1xuICB0eXBlPzogTWF5YmU8RmllbGRXcmFwcGVyPFNjYWxhcnNbJ1N0cmluZyddPj47XG4gIHJvdXRlPzogTWF5YmU8RmllbGRXcmFwcGVyPFNjYWxhcnNbJ1N0cmluZyddPj47XG4gIHNlZ21lbnRzPzogTWF5YmU8QXJyYXk8RmllbGRXcmFwcGVyPFJhaWxTZWdtZW50Pj4+O1xuICBudW1DaGlsZHJlbj86IE1heWJlPEZpZWxkV3JhcHBlcjxTY2FsYXJzWydJbnQnXT4+O1xuICBudW1BZHVsdHM/OiBNYXliZTxGaWVsZFdyYXBwZXI8U2NhbGFyc1snSW50J10+Pjtcbn07XG5cbmV4cG9ydCB0eXBlIFJhaWxUaWNrZXRFeHRyYSA9IHtcbiAgX190eXBlbmFtZT86ICdSYWlsVGlja2V0RXh0cmEnO1xuICBpZGVudGlmaWVycz86IE1heWJlPEZpZWxkV3JhcHBlcjxSYWlsVGlja2V0RXh0cmFJZGVudGlmaWVycz4+O1xuICB0eXBlPzogTWF5YmU8RmllbGRXcmFwcGVyPFNjYWxhcnNbJ1N0cmluZyddPj47XG4gIGxvY2F0aW9uPzogTWF5YmU8RmllbGRXcmFwcGVyPFNjYWxhcnNbJ1N0cmluZyddPj47XG4gIGRhdGU/OiBNYXliZTxGaWVsZFdyYXBwZXI8U2NhbGFyc1snRGF0ZSddPj47XG4gIGRlc2NyaXB0aW9uPzogTWF5YmU8RmllbGRXcmFwcGVyPFNjYWxhcnNbJ1N0cmluZyddPj47XG4gIGFtb3VudD86IE1heWJlPEZpZWxkV3JhcHBlcjxTY2FsYXJzWydGbG9hdCddPj47XG4gIGFkdWx0QW1vdW50PzogTWF5YmU8RmllbGRXcmFwcGVyPFNjYWxhcnNbJ0Zsb2F0J10+PjtcbiAgY2hpbGRBbW91bnQ/OiBNYXliZTxGaWVsZFdyYXBwZXI8U2NhbGFyc1snRmxvYXQnXT4+O1xuICBjdXJyZW5jeT86IE1heWJlPEZpZWxkV3JhcHBlcjxTY2FsYXJzWydTdHJpbmcnXT4+O1xufTtcblxuZXhwb3J0IHR5cGUgUmFpbFRpY2tldEV4dHJhSWRlbnRpZmllcnMgPSB7XG4gIF9fdHlwZW5hbWU/OiAnUmFpbFRpY2tldEV4dHJhSWRlbnRpZmllcnMnO1xuICB0eXBlPzogTWF5YmU8RmllbGRXcmFwcGVyPFNjYWxhcnNbJ1N0cmluZyddPj47XG4gIGxvY2F0aW9uPzogTWF5YmU8RmllbGRXcmFwcGVyPFNjYWxhcnNbJ1N0cmluZyddPj47XG4gIGRhdGU/OiBNYXliZTxGaWVsZFdyYXBwZXI8U2NhbGFyc1snRGF0ZSddPj47XG4gIGpvdXJuZXlJZD86IE1heWJlPEZpZWxkV3JhcHBlcjxTY2FsYXJzWydTdHJpbmcnXT4+O1xuICBpc09yaWdpbj86IE1heWJlPEZpZWxkV3JhcHBlcjxTY2FsYXJzWydCb29sZWFuJ10+Pjtcbn07XG5cbmV4cG9ydCB0eXBlIFJhaWxUaWNrZXRPcHRpb24gPSB7XG4gIF9fdHlwZW5hbWU/OiAnUmFpbFRpY2tldE9wdGlvbic7XG4gIGlkZW50aWZpZXJzPzogTWF5YmU8RmllbGRXcmFwcGVyPFJhaWxJZGVudGlmaWVycz4+O1xuICB0eXBlPzogTWF5YmU8RmllbGRXcmFwcGVyPFNjYWxhcnNbJ1N0cmluZyddPj47XG4gIHRlcm1zPzogTWF5YmU8RmllbGRXcmFwcGVyPFJhaWxUaWNrZXRUZXJtcz4+O1xuICBjbGFzcz86IE1heWJlPEZpZWxkV3JhcHBlcjxTY2FsYXJzWydTdHJpbmcnXT4+O1xuICBzaW5nbGVPclJldHVybj86IE1heWJlPEZpZWxkV3JhcHBlcjxTY2FsYXJzWydTdHJpbmcnXT4+O1xuICBwcmljZT86IE1heWJlPEZpZWxkV3JhcHBlcjxTY2FsYXJzWydGbG9hdCddPj47XG4gIHJlc2VydmFibGVTdGF0dXM/OiBNYXliZTxGaWVsZFdyYXBwZXI8U2NhbGFyc1snU3RyaW5nJ10+PjtcbiAgY3VycmVuY3k/OiBNYXliZTxGaWVsZFdyYXBwZXI8U2NhbGFyc1snU3RyaW5nJ10+PjtcbiAgcm91dGU/OiBNYXliZTxGaWVsZFdyYXBwZXI8U2NhbGFyc1snU3RyaW5nJ10+PjtcbiAgcm91dGVDb2RlPzogTWF5YmU8RmllbGRXcmFwcGVyPFNjYWxhcnNbJ1N0cmluZyddPj47XG4gIGF2YWlsYWJsZVNlYXRzPzogTWF5YmU8RmllbGRXcmFwcGVyPFNjYWxhcnNbJ0ludCddPj47XG4gIHRpY2tldHM/OiBNYXliZTxBcnJheTxNYXliZTxGaWVsZFdyYXBwZXI8UmFpbFRpY2tldD4+Pj47XG4gIHRpY2tldFF1ZXVlTGlzdD86IE1heWJlPEFycmF5PE1heWJlPEZpZWxkV3JhcHBlcjxSYWlsVGlja2V0UXVldWU+Pj4+O1xuICBhY2NvdW50c0xpc3Q/OiBNYXliZTxBcnJheTxNYXliZTxGaWVsZFdyYXBwZXI8UmFpbEFjY291bnQ+Pj4+O1xufTtcblxuZXhwb3J0IHR5cGUgUmFpbFRpY2tldFF1ZXVlID0ge1xuICBfX3R5cGVuYW1lPzogJ1JhaWxUaWNrZXRRdWV1ZSc7XG4gIGlkPzogTWF5YmU8RmllbGRXcmFwcGVyPFNjYWxhcnNbJ1N0cmluZyddPj47XG4gIG5hbWU/OiBNYXliZTxGaWVsZFdyYXBwZXI8U2NhbGFyc1snU3RyaW5nJ10+PjtcbiAgdHlwZT86IE1heWJlPEZpZWxkV3JhcHBlcjxTY2FsYXJzWydTdHJpbmcnXT4+O1xufTtcblxuZXhwb3J0IHR5cGUgUmFpbFRpY2tldFRlcm1zID0ge1xuICBfX3R5cGVuYW1lPzogJ1JhaWxUaWNrZXRUZXJtcyc7XG4gIGVycm9yPzogTWF5YmU8RmllbGRXcmFwcGVyPFNjYWxhcnNbJ1N0cmluZyddPj47XG4gIHRpY2tldFR5cGVDb2RlPzogTWF5YmU8RmllbGRXcmFwcGVyPFNjYWxhcnNbJ1N0cmluZyddPj47XG4gIHRyYWluT3BlcmF0aW5nQ29tcGFueUNvZGU/OiBNYXliZTxGaWVsZFdyYXBwZXI8U2NhbGFyc1snU3RyaW5nJ10+PjtcbiAgdGlja2V0VHlwZU5hbWU/OiBNYXliZTxGaWVsZFdyYXBwZXI8U2NhbGFyc1snU3RyaW5nJ10+PjtcbiAgdGlja2V0VHlwZUFsdE5hbWU/OiBNYXliZTxGaWVsZFdyYXBwZXI8U2NhbGFyc1snU3RyaW5nJ10+PjtcbiAgdGlja2V0VHlwZUNsYXNzPzogTWF5YmU8RmllbGRXcmFwcGVyPFNjYWxhcnNbJ1N0cmluZyddPj47XG4gIHJlc2VydmF0aW9uUnVsZT86IE1heWJlPEZpZWxkV3JhcHBlcjxTY2FsYXJzWydTdHJpbmcnXT4+O1xuICBqb3VybmV5VHlwZT86IE1heWJlPEZpZWxkV3JhcHBlcjxTY2FsYXJzWydTdHJpbmcnXT4+O1xuICBwcmVCb29raW5nUmVxdWlyZW1lbnQ/OiBNYXliZTxGaWVsZFdyYXBwZXI8U2NhbGFyc1snU3RyaW5nJ10+PjtcbiAgZ2VuZXJhbFZhbGlkaXR5PzogTWF5YmU8RmllbGRXcmFwcGVyPFNjYWxhcnNbJ1N0cmluZyddPj47XG4gIHZhbGlkT3V0UnVsZT86IE1heWJlPEZpZWxkV3JhcHBlcjxTY2FsYXJzWydTdHJpbmcnXT4+O1xuICB2YWxpZFJldHVyblJ1bGU/OiBNYXliZTxGaWVsZFdyYXBwZXI8U2NhbGFyc1snU3RyaW5nJ10+PjtcbiAgZ2VuZXJhbERpc2NvdW50PzogTWF5YmU8RmllbGRXcmFwcGVyPFNjYWxhcnNbJ1N0cmluZyddPj47XG4gIGNoaWxkRGlzY291bnQ/OiBNYXliZTxGaWVsZFdyYXBwZXI8U2NhbGFyc1snU3RyaW5nJ10+PjtcbiAgcmFpbGNhcmREaXNjb3VudD86IE1heWJlPEZpZWxkV3JhcHBlcjxTY2FsYXJzWydTdHJpbmcnXT4+O1xuICByZWZ1bmRDYW5jZWxsYXRpb25SdWxlPzogTWF5YmU8RmllbGRXcmFwcGVyPFNjYWxhcnNbJ1N0cmluZyddPj47XG4gIGNoYW5nZVJ1bGU/OiBNYXliZTxGaWVsZFdyYXBwZXI8U2NhbGFyc1snU3RyaW5nJ10+PjtcbiAgdGlja2V0VHlwZUNvbmRpdGlvbnNEZXNjcmlwdGlvbj86IE1heWJlPEZpZWxkV3JhcHBlcjxTY2FsYXJzWydTdHJpbmcnXT4+O1xuICBqb3VybmV5QnJlYWtSdWxlPzogTWF5YmU8RmllbGRXcmFwcGVyPFNjYWxhcnNbJ1N0cmluZyddPj47XG4gIGF2YWlsYWJpbGl0eVJ1bGU/OiBNYXliZTxGaWVsZFdyYXBwZXI8U2NhbGFyc1snU3RyaW5nJ10+PjtcbiAgdG9kQXZhaWxhYmxlPzogTWF5YmU8RmllbGRXcmFwcGVyPFNjYWxhcnNbJ1N0cmluZyddPj47XG4gIGtpb3NrQXZhaWxhYmxlPzogTWF5YmU8RmllbGRXcmFwcGVyPFNjYWxhcnNbJ1N0cmluZyddPj47XG4gIHN0YXJ0RGF0ZT86IE1heWJlPEZpZWxkV3JhcHBlcjxTY2FsYXJzWydTdHJpbmcnXT4+O1xuICBlbmREYXRlPzogTWF5YmU8RmllbGRXcmFwcGVyPFNjYWxhcnNbJ1N0cmluZyddPj47XG4gIGR5bmFtaWNDb25kaXRpb25zPzogTWF5YmU8QXJyYXk8TWF5YmU8RmllbGRXcmFwcGVyPER5bmFtaWNDb25kaXRpb24+Pj4+O1xufTtcblxuZXhwb3J0IHR5cGUgUmFpbFRyYXZlbGxlciA9IHtcbiAgX190eXBlbmFtZT86ICdSYWlsVHJhdmVsbGVyJztcbiAgc3RhdHVzPzogTWF5YmU8RmllbGRXcmFwcGVyPFJhaWxUcmF2ZWxsZXJTdGF0dXM+PjtcbiAgaWQ/OiBNYXliZTxGaWVsZFdyYXBwZXI8U2NhbGFyc1snU3RyaW5nJ10+PjtcbiAgZG9iPzogTWF5YmU8RmllbGRXcmFwcGVyPFNjYWxhcnNbJ0RhdGUnXT4+O1xuICByYWlsY2FyZD86IE1heWJlPEZpZWxkV3JhcHBlcjxTY2FsYXJzWydTdHJpbmcnXT4+O1xuICBnaXZlbk5hbWU/OiBNYXliZTxGaWVsZFdyYXBwZXI8U2NhbGFyc1snU3RyaW5nJ10+PjtcbiAgc3VybmFtZT86IE1heWJlPEZpZWxkV3JhcHBlcjxTY2FsYXJzWydTdHJpbmcnXT4+O1xuICBuYW1lVGl0bGU/OiBNYXliZTxGaWVsZFdyYXBwZXI8U2NhbGFyc1snU3RyaW5nJ10+PjtcbiAgY29udGFjdEluZm8/OiBNYXliZTxGaWVsZFdyYXBwZXI8U2NhbGFyc1snU3RyaW5nJ10+PjtcbiAgZGVsaXZlcnlFbWFpbEFkZHJlc3M/OiBNYXliZTxGaWVsZFdyYXBwZXI8U2NhbGFyc1snU3RyaW5nJ10+PjtcbiAgZmFyZT86IE1heWJlPEZpZWxkV3JhcHBlcjxTY2FsYXJzWydTdHJpbmcnXT4+O1xufTtcblxuZXhwb3J0IGVudW0gUmFpbFRyYXZlbGxlclN0YXR1cyB7XG4gIFBsYWNlaG9sZGVyID0gJ3BsYWNlaG9sZGVyJyxcbiAgQ29tcGxldGUgPSAnY29tcGxldGUnXG59XG5cbmV4cG9ydCB0eXBlIFJlZmVyZW5jZVJhaWxDYXJkUXVhbGlmaWVyID0ge1xuICBfX3R5cGVuYW1lPzogJ1JlZmVyZW5jZVJhaWxDYXJkUXVhbGlmaWVyJztcbiAgbmFtZTogRmllbGRXcmFwcGVyPFNjYWxhcnNbJ1N0cmluZyddPjtcbiAgY29kZTogRmllbGRXcmFwcGVyPFNjYWxhcnNbJ1N0cmluZyddPjtcbn07XG5cbmV4cG9ydCB0eXBlIFJpc2tBbGVydCA9IHtcbiAgX190eXBlbmFtZT86ICdSaXNrQWxlcnQnO1xuICBpZDogRmllbGRXcmFwcGVyPFNjYWxhcnNbJ0lEJ10+O1xuICB0aXRsZTogRmllbGRXcmFwcGVyPFNjYWxhcnNbJ1N0cmluZyddPjtcbiAgZGVzY3JpcHRpb246IEZpZWxkV3JhcHBlcjxTY2FsYXJzWydTdHJpbmcnXT47XG4gIGJyZWFraW5nOiBGaWVsZFdyYXBwZXI8U2NhbGFyc1snQm9vbGVhbiddPjtcbiAgcmlzazogRmllbGRXcmFwcGVyPFJpc2tMZXZlbD47XG4gIGNhdGVnb3J5OiBGaWVsZFdyYXBwZXI8U2NhbGFyc1snU3RyaW5nJ10+O1xuICBjb3VudHJ5OiBGaWVsZFdyYXBwZXI8U2NhbGFyc1snU3RyaW5nJ10+O1xuICBsb2NhdGlvbj86IE1heWJlPEZpZWxkV3JhcHBlcjxTY2FsYXJzWydTdHJpbmcnXT4+O1xuICBsYXRpdHVkZT86IE1heWJlPEZpZWxkV3JhcHBlcjxTY2FsYXJzWydGbG9hdCddPj47XG4gIGxvbmdpdHVkZT86IE1heWJlPEZpZWxkV3JhcHBlcjxTY2FsYXJzWydGbG9hdCddPj47XG4gIHN0YXJ0RGF0ZTogRmllbGRXcmFwcGVyPFNjYWxhcnNbJ0RhdGVUaW1lJ10+O1xuICBlbmREYXRlOiBGaWVsZFdyYXBwZXI8U2NhbGFyc1snRGF0ZVRpbWUnXT47XG4gIHJlY2VpdmVkRGF0ZTogRmllbGRXcmFwcGVyPFNjYWxhcnNbJ0RhdGVUaW1lJ10+O1xufTtcblxuZXhwb3J0IGVudW0gUmlza0xldmVsIHtcbiAgTG93ID0gJ0xvdycsXG4gIE1vZGVyYXRlID0gJ01vZGVyYXRlJyxcbiAgTWVkaXVtID0gJ01lZGl1bScsXG4gIEhpZ2ggPSAnSGlnaCcsXG4gIEV4dHJlbWUgPSAnRXh0cmVtZSdcbn1cblxuZXhwb3J0IHR5cGUgU2VhcmNoID0ge1xuICBfX3R5cGVuYW1lPzogJ1NlYXJjaCc7XG4gIGlkOiBGaWVsZFdyYXBwZXI8U2NhbGFyc1snSUQnXT47XG4gIG5hbWU/OiBNYXliZTxGaWVsZFdyYXBwZXI8U2NhbGFyc1snU3RyaW5nJ10+PjtcbiAgc2VydmljZVR5cGU6IEZpZWxkV3JhcHBlcjxTZXJ2aWNlVHlwZT47XG4gIHNlYXJjaEFyZ3M6IEZpZWxkV3JhcHBlcjxTY2FsYXJzWydKU09OJ10+O1xuICBjcmVhdGVkQXQ6IEZpZWxkV3JhcHBlcjxTY2FsYXJzWydEYXRlVGltZSddPjtcbiAgdXBkYXRlZEF0OiBGaWVsZFdyYXBwZXI8U2NhbGFyc1snRGF0ZVRpbWUnXT47XG4gIHRyYXZlbERhdGU/OiBNYXliZTxGaWVsZFdyYXBwZXI8U2NhbGFyc1snRGF0ZVRpbWUnXT4+O1xuICB0cmF2ZWxsZXJzPzogTWF5YmU8QXJyYXk8RmllbGRXcmFwcGVyPFVzZXI+Pj47XG59O1xuXG5leHBvcnQgdHlwZSBTZWFyY2hFcnJvciA9IHtcbiAgX190eXBlbmFtZT86ICdTZWFyY2hFcnJvcic7XG4gIHNlcnZpY2U6IEZpZWxkV3JhcHBlcjxTZXJ2aWNlPjtcbiAgZXJyb3JNZXNzYWdlOiBGaWVsZFdyYXBwZXI8U2NhbGFyc1snU3RyaW5nJ10+O1xuICBlcnJvckNvZGU6IEZpZWxkV3JhcHBlcjxTY2FsYXJzWydTdHJpbmcnXT47XG59O1xuXG5leHBvcnQgdHlwZSBTZWFyY2hSZXN1bHQgPSBGbGlnaHRJdGluZXJhcnkgfCBJdGluZXJhcnlTdW1tYXJ5O1xuXG5leHBvcnQgdHlwZSBTZWxlY3RlZE1hbmFnZW1lbnRJbmZvVmFsdWUgPSB7XG4gIF9fdHlwZW5hbWU/OiAnU2VsZWN0ZWRNYW5hZ2VtZW50SW5mb1ZhbHVlJztcbiAgdmFsdWU/OiBNYXliZTxGaWVsZFdyYXBwZXI8TWFuYWdlbWVudEluZm9WYWx1ZT4+O1xuICBmcmVlVmFsdWU/OiBNYXliZTxGaWVsZFdyYXBwZXI8U2NhbGFyc1snU3RyaW5nJ10+PjtcbiAgYmFza2V0TGV2ZWxWYWx1ZTogRmllbGRXcmFwcGVyPFNjYWxhcnNbJ0Jvb2xlYW4nXT47XG4gIHVzZXJMZXZlbFZhbHVlOiBGaWVsZFdyYXBwZXI8U2NhbGFyc1snQm9vbGVhbiddPjtcbiAgdXNlcj86IE1heWJlPEZpZWxkV3JhcHBlcjxVc2VyPj47XG59O1xuXG5leHBvcnQgdHlwZSBTZXJ2aWNlID0ge1xuICBfX3R5cGVuYW1lPzogJ1NlcnZpY2UnO1xuICBpZDogRmllbGRXcmFwcGVyPFNjYWxhcnNbJ0lEJ10+O1xuICB0eXBlOiBGaWVsZFdyYXBwZXI8U2VydmljZVR5cGU+O1xuICBuYW1lOiBGaWVsZFdyYXBwZXI8U2NhbGFyc1snU3RyaW5nJ10+O1xuICBkZXNjcmlwdGlvbjogRmllbGRXcmFwcGVyPFNjYWxhcnNbJ1N0cmluZyddPjtcbiAgc3VwcGxpZXJVcmw6IEZpZWxkV3JhcHBlcjxTY2FsYXJzWydTdHJpbmcnXT47XG4gIGFjdGl2ZTogRmllbGRXcmFwcGVyPFNjYWxhcnNbJ0Jvb2xlYW4nXT47XG4gIGFwaUVuZHBvaW50VXJsOiBGaWVsZFdyYXBwZXI8U2NhbGFyc1snU3RyaW5nJ10+O1xuICBiYXNrZXRJdGVtVHRsOiBGaWVsZFdyYXBwZXI8U2NhbGFyc1snRmxvYXQnXT47XG4gIGNhbmNlbGxhYmxlOiBGaWVsZFdyYXBwZXI8U2NhbGFyc1snQm9vbGVhbiddPjtcbiAgYW1lbmRhYmxlOiBGaWVsZFdyYXBwZXI8U2NhbGFyc1snQm9vbGVhbiddPjtcbiAgZGV0YWlsU2NoZW1hOiBGaWVsZFdyYXBwZXI8U2NhbGFyc1snSlNPTiddPjtcbiAgc2VhcmNoUXVlcnlTY2hlbWE6IEZpZWxkV3JhcHBlcjxTY2FsYXJzWydKU09OJ10+O1xufTtcblxuZXhwb3J0IGVudW0gU2VydmljZVR5cGUge1xuICBGbGlnaHQgPSAnRkxJR0hUJyxcbiAgRXVyb3N0YXIgPSAnRVVST1NUQVInLFxuICBJbnRlcm5hdGlvbmFsUmFpbCA9ICdJTlRFUk5BVElPTkFMX1JBSUwnLFxuICBSYWlsID0gJ1JBSUwnLFxuICBIb3RlbCA9ICdIT1RFTCcsXG4gIENhciA9ICdDQVInLFxuICBMb3VuZ2UgPSAnTE9VTkdFJyxcbiAgRmFzdFRyYWNrID0gJ0ZBU1RfVFJBQ0snLFxuICBQYXJraW5nID0gJ1BBUktJTkcnLFxuICBDYWIgPSAnQ0FCJyxcbiAgQ29hY2ggPSAnQ09BQ0gnXG59XG5cbmV4cG9ydCB0eXBlIFN0YXRpb25TZWFyY2hSZXF1ZXN0UmVzcG9uc2UgPSB7XG4gIF9fdHlwZW5hbWU/OiAnU3RhdGlvblNlYXJjaFJlcXVlc3RSZXNwb25zZSc7XG4gIHRleHQ6IEZpZWxkV3JhcHBlcjxTY2FsYXJzWydTdHJpbmcnXT47XG4gIHZhbHVlOiBGaWVsZFdyYXBwZXI8U2NhbGFyc1snU3RyaW5nJ10+O1xufTtcblxuZXhwb3J0IHR5cGUgU3VwcGxlbWVudGFyeUJvb2tpbmdJbmZvID0ge1xuICBiYXNrZXRJdGVtOiBTY2FsYXJzWydJRCddO1xuICB1c2VySW5mbzogQXJyYXk8VXNlckluZm8+O1xuICBhZGRyZXNzPzogTWF5YmU8Qm9va2luZ0FkZHJlc3M+O1xuICBwaG9uZU51bWJlcj86IE1heWJlPEJvb2tpbmdQaG9uZU51bWJlcj47XG4gIHN1cHBsZW1lbnRhcnlJbmZvOiBTY2FsYXJzWydKU09OJ107XG4gIHBheW1lbnRNZXRob2REZXRhaWxzPzogTWF5YmU8U2NhbGFyc1snSlNPTiddPjtcbn07XG5cbmV4cG9ydCB0eXBlIFRtYyA9IHtcbiAgX190eXBlbmFtZT86ICdUTUMnO1xuICBpZDogRmllbGRXcmFwcGVyPFNjYWxhcnNbJ0lEJ10+O1xuICBuYW1lOiBGaWVsZFdyYXBwZXI8U2NhbGFyc1snU3RyaW5nJ10+O1xufTtcblxuZXhwb3J0IHR5cGUgVHJhdmVsUnVsZSA9IHtcbiAgX190eXBlbmFtZT86ICdUcmF2ZWxSdWxlJztcbiAgaWQ6IEZpZWxkV3JhcHBlcjxTY2FsYXJzWydJRCddPjtcbiAgbmFtZTogRmllbGRXcmFwcGVyPFNjYWxhcnNbJ1N0cmluZyddPjtcbiAgZGVzY3JpcHRpb246IEZpZWxkV3JhcHBlcjxTY2FsYXJzWydTdHJpbmcnXT47XG4gIGFwcGxpZXNUbzogRmllbGRXcmFwcGVyPFNlcnZpY2VUeXBlPjtcbiAgYXBwbGljYXRpb25TdGFnZTogRmllbGRXcmFwcGVyPEFwcGxpY2F0aW9uU3RhZ2U+O1xufTtcblxuZXhwb3J0IHR5cGUgVHJhdmVsUnVsZUFwcGxpZXNUbyA9IHtcbiAgX190eXBlbmFtZT86ICdUcmF2ZWxSdWxlQXBwbGllc1RvJztcbiAgZmxpZ2h0PzogTWF5YmU8QXJyYXk8TWF5YmU8RmllbGRXcmFwcGVyPFRyYXZlbFJ1bGU+Pj4+O1xuICByYWlsPzogTWF5YmU8QXJyYXk8TWF5YmU8RmllbGRXcmFwcGVyPFRyYXZlbFJ1bGU+Pj4+O1xuICBob3RlbD86IE1heWJlPEFycmF5PE1heWJlPEZpZWxkV3JhcHBlcjxUcmF2ZWxSdWxlPj4+PjtcbiAgY2FyPzogTWF5YmU8QXJyYXk8TWF5YmU8RmllbGRXcmFwcGVyPFRyYXZlbFJ1bGU+Pj4+O1xuICBsb3VuZ2U/OiBNYXliZTxBcnJheTxNYXliZTxGaWVsZFdyYXBwZXI8VHJhdmVsUnVsZT4+Pj47XG4gIGZhc3RUcmFjaz86IE1heWJlPEFycmF5PE1heWJlPEZpZWxkV3JhcHBlcjxUcmF2ZWxSdWxlPj4+PjtcbiAgcGFya2luZz86IE1heWJlPEFycmF5PE1heWJlPEZpZWxkV3JhcHBlcjxUcmF2ZWxSdWxlPj4+PjtcbiAgY2FiPzogTWF5YmU8QXJyYXk8TWF5YmU8RmllbGRXcmFwcGVyPFRyYXZlbFJ1bGU+Pj4+O1xuICBjb2FjaD86IE1heWJlPEFycmF5PE1heWJlPEZpZWxkV3JhcHBlcjxUcmF2ZWxSdWxlPj4+Pjtcbn07XG5cbmV4cG9ydCB0eXBlIFRyYXZlbFJ1bGVzQ29sbGVjdGlvbiA9IHtcbiAgX190eXBlbmFtZT86ICdUcmF2ZWxSdWxlc0NvbGxlY3Rpb24nO1xuICB0bWM6IEFycmF5PEZpZWxkV3JhcHBlcjxUcmF2ZWxSdWxlPj47XG4gIGNvbXBhbnk6IEFycmF5PEZpZWxkV3JhcHBlcjxUcmF2ZWxSdWxlPj47XG4gIG9mZmljZXM6IEFycmF5PEZpZWxkV3JhcHBlcjxUcmF2ZWxSdWxlPj47XG4gIGNvbXBhbnlHcm91cHM6IEFycmF5PEZpZWxkV3JhcHBlcjxUcmF2ZWxSdWxlPj47XG4gIHVzZXI6IEFycmF5PEZpZWxkV3JhcHBlcjxUcmF2ZWxSdWxlPj47XG4gIGFsbDogQXJyYXk8RmllbGRXcmFwcGVyPFRyYXZlbFJ1bGU+PjtcbiAgYXBwbGllc1RvPzogTWF5YmU8RmllbGRXcmFwcGVyPFRyYXZlbFJ1bGVBcHBsaWVzVG8+Pjtcbn07XG5cbmV4cG9ydCB0eXBlIFVpQ29uZmlnID0ge1xuICBfX3R5cGVuYW1lPzogJ1VJQ29uZmlnJztcbiAgaWQ6IEZpZWxkV3JhcHBlcjxTY2FsYXJzWydJRCddPjtcbiAgbmFtZTogRmllbGRXcmFwcGVyPFNjYWxhcnNbJ1N0cmluZyddPjtcbiAgdGFyZ2V0OiBGaWVsZFdyYXBwZXI8VWlDb25maWdUYXJnZXQ+O1xuICBkZXNjcmlwdGlvbj86IE1heWJlPEZpZWxkV3JhcHBlcjxTY2FsYXJzWydTdHJpbmcnXT4+O1xuICBjb25maWc/OiBNYXliZTxGaWVsZFdyYXBwZXI8U2NhbGFyc1snSlNPTiddPj47XG4gIGtleTogRmllbGRXcmFwcGVyPFNjYWxhcnNbJ1N0cmluZyddPjtcbn07XG5cbmV4cG9ydCB0eXBlIFVpQ29uZmlnQ29sbGVjdGlvbiA9IHtcbiAgX190eXBlbmFtZT86ICdVSUNvbmZpZ0NvbGxlY3Rpb24nO1xuICB0bWM6IEFycmF5PEZpZWxkV3JhcHBlcjxVaUNvbmZpZz4+O1xuICBjb21wYW55OiBBcnJheTxGaWVsZFdyYXBwZXI8VWlDb25maWc+PjtcbiAgb2ZmaWNlOiBBcnJheTxGaWVsZFdyYXBwZXI8VWlDb25maWc+PjtcbiAgY29tcGFueUdyb3VwOiBBcnJheTxGaWVsZFdyYXBwZXI8VWlDb25maWc+PjtcbiAgdXNlcjogQXJyYXk8RmllbGRXcmFwcGVyPFVpQ29uZmlnPj47XG4gIGFsbDogQXJyYXk8RmllbGRXcmFwcGVyPFVpQ29uZmlnPj47XG59O1xuXG5leHBvcnQgZW51bSBVaUNvbmZpZ1RhcmdldCB7XG4gIEFsbCA9ICdBTEwnLFxuICBNb2NrID0gJ01PQ0snLFxuICBMaWdodG5pbmcgPSAnTElHSFROSU5HJyxcbiAgQXBwID0gJ0FQUCdcbn1cblxuZXhwb3J0IGVudW0gVWlQcmVzZW50YXRpb24ge1xuICBGcmVlVGV4dCA9ICdGUkVFX1RFWFQnLFxuICBBdXRvU3VnZ2VzdCA9ICdBVVRPX1NVR0dFU1QnLFxuICBEcm9wZG93biA9ICdEUk9QRE9XTicsXG4gIEhpZGRlbiA9ICdISURERU4nXG59XG5cbmV4cG9ydCB0eXBlIFVzZXIgPSB7XG4gIF9fdHlwZW5hbWU/OiAnVXNlcic7XG4gIGlkOiBGaWVsZFdyYXBwZXI8U2NhbGFyc1snSUQnXT47XG4gIHRpdGxlOiBGaWVsZFdyYXBwZXI8U2NhbGFyc1snU3RyaW5nJ10+O1xuICBmb3JlbmFtZTogRmllbGRXcmFwcGVyPFNjYWxhcnNbJ1N0cmluZyddPjtcbiAgc3VybmFtZTogRmllbGRXcmFwcGVyPFNjYWxhcnNbJ1N0cmluZyddPjtcbiAgZW1haWw6IEZpZWxkV3JhcHBlcjxTY2FsYXJzWydTdHJpbmcnXT47XG4gIHVzZXJuYW1lOiBGaWVsZFdyYXBwZXI8U2NhbGFyc1snU3RyaW5nJ10+O1xuICBlbXBsb3llZUlkPzogTWF5YmU8RmllbGRXcmFwcGVyPFNjYWxhcnNbJ1N0cmluZyddPj47XG4gIGNyZWF0ZWRBdDogRmllbGRXcmFwcGVyPFNjYWxhcnNbJ0RhdGVUaW1lJ10+O1xuICB1cGRhdGVkQXQ6IEZpZWxkV3JhcHBlcjxTY2FsYXJzWydEYXRlVGltZSddPjtcbiAgZG9iOiBGaWVsZFdyYXBwZXI8U2NhbGFyc1snRGF0ZSddPjtcbiAgYWRtaW4/OiBNYXliZTxGaWVsZFdyYXBwZXI8U2NhbGFyc1snQm9vbGVhbiddPj47XG4gIHRtY0FkbWluPzogTWF5YmU8RmllbGRXcmFwcGVyPFNjYWxhcnNbJ0Jvb2xlYW4nXT4+O1xuICBjb21wYW55QWRtaW4/OiBNYXliZTxGaWVsZFdyYXBwZXI8U2NhbGFyc1snQm9vbGVhbiddPj47XG4gIGJvb2tlclR5cGU6IEZpZWxkV3JhcHBlcjxCb29rZXJUeXBlPjtcbiAgYXV0aE1ldGhvZHM6IEFycmF5PEZpZWxkV3JhcHBlcjxTY2FsYXJzWydTdHJpbmcnXT4+O1xuICBhY3RpdmU6IEZpZWxkV3JhcHBlcjxTY2FsYXJzWydCb29sZWFuJ10+O1xuICBwYXNzd29yZExhc3RVcGRhdGVkPzogTWF5YmU8RmllbGRXcmFwcGVyPFNjYWxhcnNbJ0RhdGVUaW1lJ10+PjtcbiAgc2VsZWN0ZWRMYW5ndWFnZTogRmllbGRXcmFwcGVyPExhbmd1YWdlPjtcbiAgYXZhaWxhYmxlTGFuZ3VhZ2VzOiBBcnJheTxGaWVsZFdyYXBwZXI8TGFuZ3VhZ2U+PjtcbiAgcGFzc3BvcnRzOiBBcnJheTxGaWVsZFdyYXBwZXI8UGFzc3BvcnQ+PjtcbiAgdG1jOiBGaWVsZFdyYXBwZXI8VG1jPjtcbiAgY29tcGFueTogRmllbGRXcmFwcGVyPENvbXBhbnk+O1xuICBvZmZpY2U6IEZpZWxkV3JhcHBlcjxPZmZpY2U+O1xuICBjb21wYW55R3JvdXBzOiBBcnJheTxGaWVsZFdyYXBwZXI8Q29tcGFueUdyb3VwPj47XG4gIGFkZHJlc3NlczogQXJyYXk8RmllbGRXcmFwcGVyPEFkZHJlc3M+PjtcbiAgcGhvbmVOdW1iZXJzOiBBcnJheTxGaWVsZFdyYXBwZXI8UGhvbmVOdW1iZXI+PjtcbiAgYXBwcm92ZXJzOiBBcnJheTxGaWVsZFdyYXBwZXI8QXBwcm92ZXI+PjtcbiAgYXBwcm92ZXJGb3I6IEFycmF5PEZpZWxkV3JhcHBlcjxBcHByb3ZlZT4+O1xuICBib29rZXJzOiBBcnJheTxGaWVsZFdyYXBwZXI8VXNlcj4+O1xuICBjYW5Cb29rRm9yOiBBcnJheTxGaWVsZFdyYXBwZXI8VXNlcj4+O1xuICBjbzJBbGxvd2FuY2VQZXJpb2Q/OiBNYXliZTxGaWVsZFdyYXBwZXI8U2NhbGFyc1snU3RyaW5nJ10+PjtcbiAgY28yQWxsb3dhbmNlUGVyUGVyaW9kPzogTWF5YmU8RmllbGRXcmFwcGVyPFNjYWxhcnNbJ1N0cmluZyddPj47XG59O1xuXG5leHBvcnQgdHlwZSBVc2VySW5mbyA9IHtcbiAgaWQ6IFNjYWxhcnNbJ0lEJ107XG4gIGFkZHJlc3M/OiBNYXliZTxCb29raW5nQWRkcmVzcz47XG4gIHBob25lTnVtYmVyPzogTWF5YmU8Qm9va2luZ1Bob25lTnVtYmVyPjtcbiAgc3VwcGxlbWVudGFyeUluZm86IFNjYWxhcnNbJ0pTT04nXTtcbn07XG5cbmV4cG9ydCB0eXBlIFVzZXJQYXNzZW5nZXJUeXBlID0ge1xuICBfX3R5cGVuYW1lPzogJ1VzZXJQYXNzZW5nZXJUeXBlJztcbiAgaWQ6IEZpZWxkV3JhcHBlcjxTY2FsYXJzWydJRCddPjtcbiAgcGFzc2VuZ2VyVHlwZTogRmllbGRXcmFwcGVyPFBhc3NlbmdlclR5cGU+O1xufTtcblxuZXhwb3J0IHR5cGUgVXNlclBhc3NlbmdlclR5cGVJbnB1dCA9IHtcbiAgaWQ6IFNjYWxhcnNbJ0lEJ107XG4gIHBhc3NlbmdlclR5cGU6IFBhc3NlbmdlclR5cGU7XG59O1xuXG5leHBvcnQgdHlwZSBTdWJzZXF1ZW50TG9jYXRpb25zID0ge1xuICBfX3R5cGVuYW1lPzogJ3N1YnNlcXVlbnRMb2NhdGlvbnMnO1xuICBsb2NhdGlvbk5hbWU/OiBNYXliZTxGaWVsZFdyYXBwZXI8U2NhbGFyc1snU3RyaW5nJ10+PjtcbiAgdGlwbG9jPzogTWF5YmU8RmllbGRXcmFwcGVyPFNjYWxhcnNbJ1N0cmluZyddPj47XG4gIGNycz86IE1heWJlPEZpZWxkV3JhcHBlcjxTY2FsYXJzWydTdHJpbmcnXT4+O1xuICBwbGF0Zm9ybT86IE1heWJlPEZpZWxkV3JhcHBlcjxTY2FsYXJzWydTdHJpbmcnXT4+O1xuICBwbGF0Zm9ybUlzSGlkZGVuPzogTWF5YmU8RmllbGRXcmFwcGVyPFNjYWxhcnNbJ1N0cmluZyddPj47XG4gIHN0YT86IE1heWJlPEZpZWxkV3JhcHBlcjxTY2FsYXJzWydTdHJpbmcnXT4+O1xuICBldGE/OiBNYXliZTxGaWVsZFdyYXBwZXI8U2NhbGFyc1snU3RyaW5nJ10+PjtcbiAgYXJyaXZhbFR5cGU/OiBNYXliZTxGaWVsZFdyYXBwZXI8U2NhbGFyc1snU3RyaW5nJ10+PjtcbiAgYXJyaXZhbFNvdXJjZT86IE1heWJlPEZpZWxkV3JhcHBlcjxTY2FsYXJzWydTdHJpbmcnXT4+O1xuICBzdGQ/OiBNYXliZTxGaWVsZFdyYXBwZXI8U2NhbGFyc1snU3RyaW5nJ10+PjtcbiAgZXRkPzogTWF5YmU8RmllbGRXcmFwcGVyPFNjYWxhcnNbJ1N0cmluZyddPj47XG4gIGRlcGFydHVyZVR5cGU/OiBNYXliZTxGaWVsZFdyYXBwZXI8U2NhbGFyc1snU3RyaW5nJ10+PjtcbiAgZGVwYXJ0dXJlU291cmNlPzogTWF5YmU8RmllbGRXcmFwcGVyPFNjYWxhcnNbJ1N0cmluZyddPj47XG4gIGFzc29jaWF0aW9ucz86IE1heWJlPEFycmF5PE1heWJlPEZpZWxkV3JhcHBlcjxBc3NvY2lhdGlvbj4+Pj47XG59O1xuXG5leHBvcnQgdHlwZSBBY2NlcHROZXdQcmljZU11dGF0aW9uVmFyaWFibGVzID0gRXhhY3Q8e1xuICBpZDogU2NhbGFyc1snSUQnXTtcbiAgd2l0aFN1cHBsZW1lbnRhbD86IE1heWJlPFNjYWxhcnNbJ0Jvb2xlYW4nXT47XG59PjtcblxuXG5leHBvcnQgdHlwZSBBY2NlcHROZXdQcmljZU11dGF0aW9uID0gKFxuICB7IF9fdHlwZW5hbWU/OiAnTXV0YXRpb24nIH1cbiAgJiB7IGFjY2VwdE5ld1ByaWNlOiAoXG4gICAgeyBfX3R5cGVuYW1lPzogJ0Jhc2tldCcgfVxuICAgICYgQmFza2V0RmllbGRzRnJhZ21lbnRcbiAgKSB9XG4pO1xuXG5leHBvcnQgdHlwZSBBZGRVc2Vyc1RvQmFza2V0SXRlbU11dGF0aW9uVmFyaWFibGVzID0gRXhhY3Q8e1xuICBiYXNrZXRJdGVtOiBTY2FsYXJzWydJRCddO1xuICB1c2VyczogQXJyYXk8VXNlclBhc3NlbmdlclR5cGVJbnB1dD4gfCBVc2VyUGFzc2VuZ2VyVHlwZUlucHV0O1xuICB3aXRoU3VwcGxlbWVudGFsOiBTY2FsYXJzWydCb29sZWFuJ107XG59PjtcblxuXG5leHBvcnQgdHlwZSBBZGRVc2Vyc1RvQmFza2V0SXRlbU11dGF0aW9uID0gKFxuICB7IF9fdHlwZW5hbWU/OiAnTXV0YXRpb24nIH1cbiAgJiB7IGFkZFVzZXJzVG9CYXNrZXRJdGVtOiAoXG4gICAgeyBfX3R5cGVuYW1lPzogJ0Jhc2tldCcgfVxuICAgICYgQmFza2V0RmllbGRzRnJhZ21lbnRcbiAgKSB9XG4pO1xuXG5leHBvcnQgdHlwZSBUcmF2ZWxsZXJGaWVsZHNGcmFnbWVudCA9IChcbiAgeyBfX3R5cGVuYW1lPzogJ1VzZXInIH1cbiAgJiBQaWNrPFVzZXIsICdpZCcgfCAndGl0bGUnIHwgJ2ZvcmVuYW1lJyB8ICdzdXJuYW1lJyB8ICdlbWFpbCcgfCAndXNlcm5hbWUnIHwgJ2VtcGxveWVlSWQnPlxuKTtcblxuZXhwb3J0IHR5cGUgT3duZXJGaWVsZHNGcmFnbWVudCA9IChcbiAgeyBfX3R5cGVuYW1lPzogJ1VzZXInIH1cbiAgJiBQaWNrPFVzZXIsICdpZCcgfCAndGl0bGUnIHwgJ2ZvcmVuYW1lJyB8ICdzdXJuYW1lJyB8ICdlbWFpbCc+XG4pO1xuXG5leHBvcnQgdHlwZSBCYXNrZXRGaWVsZHNGcmFnbWVudCA9IChcbiAgeyBfX3R5cGVuYW1lPzogJ0Jhc2tldCcgfVxuICAmIFBpY2s8QmFza2V0LCAnaWQnIHwgJ3JlZmVyZW5jZScgfCAndGl0bGUnIHwgJ25vdGVzJyB8ICdjcmVhdGVkQXQnIHwgJ3VwZGF0ZWRBdCcgfCAnYm9va2VkQXQnIHwgJ3N0YXR1cycgfCAndmFsaWRhdGVkJz5cbiAgJiB7IG93bmVyOiAoXG4gICAgeyBfX3R5cGVuYW1lPzogJ1VzZXInIH1cbiAgICAmIE93bmVyRmllbGRzRnJhZ21lbnRcbiAgKSwgYmFza2V0SXRlbXM6IEFycmF5PChcbiAgICB7IF9fdHlwZW5hbWU/OiAnQmFza2V0SXRlbScgfVxuICAgICYgTWFrZU9wdGlvbmFsPFBpY2s8QmFza2V0SXRlbSwgJ2lkJyB8ICdhZHVsdHMnIHwgJ2NoaWxkcmVuJyB8ICdpbmZhbnRzJyB8ICdkZXRhaWwnIHwgJ2RldGFpbEhhc2gnIHwgJ2NyZWF0ZWRBdCcgfCAndXBkYXRlZEF0JyB8ICdleHBpcnknIHwgJ2V4cGlyZWQnIHwgJ3NlYXJjaFF1ZXJ5JyB8ICdwcmljZScgfCAnY3VycmVuY3knIHwgJ21pR3JvdXBzQXZhaWxhYmxlJyB8ICdtaUdyb3VwU2VsZWN0ZWQnIHwgJ3ZhbGlkYXRlZCcgfCAnbGF0ZXN0VmFsaWRhdGlvbicgfCAnbGF0ZXN0VmFsaWRhdGlvblByaWNlJyB8ICdsYXRlc3RWYWxpZGF0aW9uUHJpY2VEaWZmZXJlbmNlJyB8ICdsYXRlc3RWYWxpZGF0aW9uQXZhaWxhYmxlJyB8ICdib29raW5nVGhpcmRQYXJ0eVJlZmVyZW5jZScgfCAncG5yTG9jYXRvcicgfCAnc3RhdHVzJyB8ICdwZXJJdGVtU3VwcGxlbWVudGFyeUJvb2tpbmdJbmZvU2NoZW1hJyB8ICdwZXJQYXNzZW5nZXJTdXBwbGVtZW50YXJ5Qm9va2luZ0luZm9TY2hlbWEnIHwgJ3Blckl0ZW1BZGRyZXNzJyB8ICdwZXJJdGVtUGhvbmVOdW1iZXInIHwgJ3BlclBhc3NlbmdlckFkZHJlc3MnIHwgJ3BlclBhc3NlbmdlclBob25lTnVtYmVyJyB8ICdjYW5jZWxsYWJsZScgfCAnYW1lbmRhYmxlJyB8ICdjbzJQZXJJdGVtJyB8ICdjbzJQZXJQYXNzZW5nZXInIHwgJ291dGJvdW5kRGF0ZScgfCAnaW5ib3VuZERhdGUnPiwgJ3Blckl0ZW1TdXBwbGVtZW50YXJ5Qm9va2luZ0luZm9TY2hlbWEnIHwgJ3BlclBhc3NlbmdlclN1cHBsZW1lbnRhcnlCb29raW5nSW5mb1NjaGVtYScgfCAncGVySXRlbUFkZHJlc3MnIHwgJ3Blckl0ZW1QaG9uZU51bWJlcicgfCAncGVyUGFzc2VuZ2VyQWRkcmVzcycgfCAncGVyUGFzc2VuZ2VyUGhvbmVOdW1iZXInPlxuICAgICYgeyBhdmFpbGFibGVQYXltZW50TWV0aG9kczogQXJyYXk8KFxuICAgICAgeyBfX3R5cGVuYW1lPzogJ1BheW1lbnRNZXRob2QnIH1cbiAgICAgICYgUGljazxQYXltZW50TWV0aG9kLCAnaWQnIHwgJ25hbWUnIHwgJ2Rlc2NyaXB0aW9uJz5cbiAgICApPiwgc2VsZWN0ZWRQYXltZW50TWV0aG9kPzogTWF5YmU8KFxuICAgICAgeyBfX3R5cGVuYW1lPzogJ1BheW1lbnRNZXRob2QnIH1cbiAgICAgICYgUGljazxQYXltZW50TWV0aG9kLCAnaWQnIHwgJ25hbWUnIHwgJ2Rlc2NyaXB0aW9uJz5cbiAgICApPiwgc2VydmljZTogKFxuICAgICAgeyBfX3R5cGVuYW1lPzogJ1NlcnZpY2UnIH1cbiAgICAgICYgUGljazxTZXJ2aWNlLCAnaWQnIHwgJ3R5cGUnPlxuICAgICksIHVzZXJzOiBBcnJheTwoXG4gICAgICB7IF9fdHlwZW5hbWU/OiAnVXNlcicgfVxuICAgICAgJiBUcmF2ZWxsZXJGaWVsZHNGcmFnbWVudFxuICAgICk+LCB1c2VyUGFzc2VuZ2VyVHlwZXM6IEFycmF5PChcbiAgICAgIHsgX190eXBlbmFtZT86ICdVc2VyUGFzc2VuZ2VyVHlwZScgfVxuICAgICAgJiBQaWNrPFVzZXJQYXNzZW5nZXJUeXBlLCAnaWQnIHwgJ3Bhc3NlbmdlclR5cGUnPlxuICAgICk+LCBsZWFkUGFzc2VuZ2VyPzogTWF5YmU8KFxuICAgICAgeyBfX3R5cGVuYW1lPzogJ1VzZXInIH1cbiAgICAgICYgVHJhdmVsbGVyRmllbGRzRnJhZ21lbnRcbiAgICApPiwgbWFuYWdlbWVudEluZm86IEFycmF5PChcbiAgICAgIHsgX190eXBlbmFtZT86ICdNYW5hZ2VtZW50SW5mbycgfVxuICAgICAgJiBQaWNrPE1hbmFnZW1lbnRJbmZvLCAnaWQnIHwgJ2RiSWQnIHwgJ25hbWUnIHwgJ2Rlc2NyaXB0aW9uJyB8ICdoYW5kb2ZmJyB8ICd2YWx1ZU1hc2snIHwgJ3VpUHJlc2VudGF0aW9uJyB8ICdtYW5kYXRvcnknIHwgJ3BlclBhc3NlbmdlcicgfCAncGVyQm9va2luZycgfCAnYWdlbnRPbmx5JyB8ICdjcmVhdGVkQXQnIHwgJ3VwZGF0ZWRBdCcgfCAnZml4ZWQnIHwgJ2dyb3VwJz5cbiAgICAgICYgeyBmaXhlZFZhbHVlPzogTWF5YmU8KFxuICAgICAgICB7IF9fdHlwZW5hbWU/OiAnTWFuYWdlbWVudEluZm9WYWx1ZScgfVxuICAgICAgICAmIFBpY2s8TWFuYWdlbWVudEluZm9WYWx1ZSwgJ2lkJyB8ICdsYWJlbCcgfCAndmFsdWUnIHwgJ2RlZmF1bHQnIHwgJ2ZpeGVkJyB8ICdhZ2VudE9ubHknPlxuICAgICAgKT4sIGRlZmF1bHRWYWx1ZT86IE1heWJlPChcbiAgICAgICAgeyBfX3R5cGVuYW1lPzogJ01hbmFnZW1lbnRJbmZvVmFsdWUnIH1cbiAgICAgICAgJiBQaWNrPE1hbmFnZW1lbnRJbmZvVmFsdWUsICdpZCcgfCAnbGFiZWwnIHwgJ3ZhbHVlJyB8ICdkZWZhdWx0JyB8ICdmaXhlZCcgfCAnYWdlbnRPbmx5Jz5cbiAgICAgICk+LCB2YWx1ZXM6IEFycmF5PChcbiAgICAgICAgeyBfX3R5cGVuYW1lPzogJ01hbmFnZW1lbnRJbmZvVmFsdWUnIH1cbiAgICAgICAgJiBQaWNrPE1hbmFnZW1lbnRJbmZvVmFsdWUsICdpZCcgfCAnbGFiZWwnIHwgJ3ZhbHVlJyB8ICdkZWZhdWx0JyB8ICdmaXhlZCcgfCAnYWdlbnRPbmx5Jz5cbiAgICAgICk+LCBzZWxlY3RlZFZhbHVlczogQXJyYXk8KFxuICAgICAgICB7IF9fdHlwZW5hbWU/OiAnU2VsZWN0ZWRNYW5hZ2VtZW50SW5mb1ZhbHVlJyB9XG4gICAgICAgICYgUGljazxTZWxlY3RlZE1hbmFnZW1lbnRJbmZvVmFsdWUsICdmcmVlVmFsdWUnIHwgJ2Jhc2tldExldmVsVmFsdWUnIHwgJ3VzZXJMZXZlbFZhbHVlJz5cbiAgICAgICAgJiB7IHZhbHVlPzogTWF5YmU8KFxuICAgICAgICAgIHsgX190eXBlbmFtZT86ICdNYW5hZ2VtZW50SW5mb1ZhbHVlJyB9XG4gICAgICAgICAgJiBQaWNrPE1hbmFnZW1lbnRJbmZvVmFsdWUsICdpZCcgfCAnbGFiZWwnIHwgJ3ZhbHVlJyB8ICdkZWZhdWx0JyB8ICdmaXhlZCcgfCAnYWdlbnRPbmx5Jz5cbiAgICAgICAgKT4sIHVzZXI/OiBNYXliZTwoXG4gICAgICAgICAgeyBfX3R5cGVuYW1lPzogJ1VzZXInIH1cbiAgICAgICAgICAmIFBpY2s8VXNlciwgJ2lkJyB8ICd0aXRsZScgfCAnZm9yZW5hbWUnIHwgJ3N1cm5hbWUnIHwgJ2VtYWlsJyB8ICd1c2VybmFtZScgfCAnZW1wbG95ZWVJZCcgfCAnY3JlYXRlZEF0JyB8ICd1cGRhdGVkQXQnIHwgJ2RvYicgfCAnYWRtaW4nIHwgJ2NvbXBhbnlBZG1pbicgfCAnYm9va2VyVHlwZScgfCAnYXV0aE1ldGhvZHMnIHwgJ2FjdGl2ZScgfCAncGFzc3dvcmRMYXN0VXBkYXRlZCc+XG4gICAgICAgICk+IH1cbiAgICAgICk+IH1cbiAgICApPiB9XG4gICk+LCBjb21wYW55R3JvdXA/OiBNYXliZTwoXG4gICAgeyBfX3R5cGVuYW1lPzogJ0NvbXBhbnlHcm91cCcgfVxuICAgICYgUGljazxDb21wYW55R3JvdXAsICdpZCcgfCAnbmFtZScgfCAnZGVzY3JpcHRpb24nIHwgJ2NyZWF0ZWRBdCcgfCAndXBkYXRlZEF0Jz5cbiAgKT4gfVxuKTtcblxuZXhwb3J0IHR5cGUgR2V0VXNlckJhc2tldHNRdWVyeVZhcmlhYmxlcyA9IEV4YWN0PHtcbiAgdXNlcj86IE1heWJlPFNjYWxhcnNbJ0lEJ10+O1xuICB0cmF2ZWxsZXI/OiBNYXliZTxTY2FsYXJzWydJRCddPjtcbiAgYmFza2V0U3RhdHVzPzogTWF5YmU8QmFza2V0U3RhdHVzPjtcbiAgY3JlYXRlZEFmdGVyPzogTWF5YmU8U2NhbGFyc1snRGF0ZVRpbWUnXT47XG4gIGNyZWF0ZWRCZWZvcmU/OiBNYXliZTxTY2FsYXJzWydEYXRlVGltZSddPjtcbiAgYm9va2VkQWZ0ZXI/OiBNYXliZTxTY2FsYXJzWydEYXRlVGltZSddPjtcbiAgYm9va2VkQmVmb3JlPzogTWF5YmU8U2NhbGFyc1snRGF0ZVRpbWUnXT47XG4gIGRhdGVPZlRyYXZlbEJlZm9yZT86IE1heWJlPFNjYWxhcnNbJ0RhdGVUaW1lJ10+O1xuICBkYXRlT2ZUcmF2ZWxBZnRlcj86IE1heWJlPFNjYWxhcnNbJ0RhdGVUaW1lJ10+O1xuICBiYXNrZXRJdGVtQm9va2luZ1JlZmVyZW5jZT86IE1heWJlPFNjYWxhcnNbJ1N0cmluZyddPjtcbiAgYmFza2V0UmVmZXJlbmNlPzogTWF5YmU8U2NhbGFyc1snU3RyaW5nJ10+O1xuICBiYXNrZXRUaXRsZT86IE1heWJlPFNjYWxhcnNbJ1N0cmluZyddPjtcbiAgd2l0aFN1cHBsZW1lbnRhbD86IE1heWJlPFNjYWxhcnNbJ0Jvb2xlYW4nXT47XG59PjtcblxuXG5leHBvcnQgdHlwZSBHZXRVc2VyQmFza2V0c1F1ZXJ5ID0gKFxuICB7IF9fdHlwZW5hbWU/OiAnUXVlcnknIH1cbiAgJiB7IGdldFVzZXJCYXNrZXRzOiBBcnJheTwoXG4gICAgeyBfX3R5cGVuYW1lPzogJ0Jhc2tldCcgfVxuICAgICYgQmFza2V0RmllbGRzRnJhZ21lbnRcbiAgKT4gfVxuKTtcblxuZXhwb3J0IHR5cGUgRGVsZXRlQmFza2V0TXV0YXRpb25WYXJpYWJsZXMgPSBFeGFjdDx7XG4gIGlkPzogTWF5YmU8U2NhbGFyc1snSUQnXT47XG4gIHJlZmVyZW5jZT86IE1heWJlPFNjYWxhcnNbJ1N0cmluZyddPjtcbn0+O1xuXG5cbmV4cG9ydCB0eXBlIERlbGV0ZUJhc2tldE11dGF0aW9uID0gKFxuICB7IF9fdHlwZW5hbWU/OiAnTXV0YXRpb24nIH1cbiAgJiBQaWNrPE11dGF0aW9uLCAnZGVsZXRlQmFza2V0Jz5cbik7XG5cbmV4cG9ydCB0eXBlIENyZWF0ZUJhc2tldE11dGF0aW9uVmFyaWFibGVzID0gRXhhY3Q8e1xuICB0aXRsZT86IE1heWJlPFNjYWxhcnNbJ1N0cmluZyddPjtcbiAgd2l0aFN1cHBsZW1lbnRhbD86IE1heWJlPFNjYWxhcnNbJ0Jvb2xlYW4nXT47XG59PjtcblxuXG5leHBvcnQgdHlwZSBDcmVhdGVCYXNrZXRNdXRhdGlvbiA9IChcbiAgeyBfX3R5cGVuYW1lPzogJ011dGF0aW9uJyB9XG4gICYgeyBjcmVhdGVCYXNrZXQ6IChcbiAgICB7IF9fdHlwZW5hbWU/OiAnQmFza2V0JyB9XG4gICAgJiBCYXNrZXRGaWVsZHNGcmFnbWVudFxuICApIH1cbik7XG5cbmV4cG9ydCB0eXBlIFJlbW92ZUl0ZW1Gcm9tQmFza2V0TXV0YXRpb25WYXJpYWJsZXMgPSBFeGFjdDx7XG4gIGJhc2tldEl0ZW06IFNjYWxhcnNbJ0lEJ107XG4gIHdpdGhTdXBwbGVtZW50YWw/OiBNYXliZTxTY2FsYXJzWydCb29sZWFuJ10+O1xufT47XG5cblxuZXhwb3J0IHR5cGUgUmVtb3ZlSXRlbUZyb21CYXNrZXRNdXRhdGlvbiA9IChcbiAgeyBfX3R5cGVuYW1lPzogJ011dGF0aW9uJyB9XG4gICYgeyByZW1vdmVJdGVtRnJvbUJhc2tldDogKFxuICAgIHsgX190eXBlbmFtZT86ICdCYXNrZXQnIH1cbiAgICAmIEJhc2tldEZpZWxkc0ZyYWdtZW50XG4gICkgfVxuKTtcblxuZXhwb3J0IHR5cGUgU2VuZEJhc2tldEZvckFwcHJvdmFsTXV0YXRpb25WYXJpYWJsZXMgPSBFeGFjdDx7XG4gIGJhc2tldDogU2NhbGFyc1snSUQnXTtcbiAgd2l0aFN1cHBsZW1lbnRhbD86IE1heWJlPFNjYWxhcnNbJ0Jvb2xlYW4nXT47XG59PjtcblxuXG5leHBvcnQgdHlwZSBTZW5kQmFza2V0Rm9yQXBwcm92YWxNdXRhdGlvbiA9IChcbiAgeyBfX3R5cGVuYW1lPzogJ011dGF0aW9uJyB9XG4gICYgeyBzZW5kQmFza2V0Rm9yQXBwcm92YWw6IChcbiAgICB7IF9fdHlwZW5hbWU/OiAnQmFza2V0JyB9XG4gICAgJiBCYXNrZXRGaWVsZHNGcmFnbWVudFxuICApIH1cbik7XG5cbmV4cG9ydCB0eXBlIEFkZEl0ZW1Ub0Jhc2tldE11dGF0aW9uVmFyaWFibGVzID0gRXhhY3Q8e1xuICBiYXNrZXQ/OiBNYXliZTxTY2FsYXJzWydJRCddPjtcbiAgc2VydmljZTogU2NhbGFyc1snSUQnXTtcbiAgZGV0YWlsOiBTY2FsYXJzWydKU09OJ107XG4gIGFkdWx0czogU2NhbGFyc1snSW50J107XG4gIGNoaWxkcmVuPzogTWF5YmU8U2NhbGFyc1snSW50J10+O1xuICBpbmZhbnRzPzogTWF5YmU8U2NhbGFyc1snSW50J10+O1xuICBwcmljZTogU2NhbGFyc1snRmxvYXQnXTtcbiAgY3VycmVuY3k6IEN1cnJlbmN5Q29kZTtcbiAgc2VhcmNoUXVlcnk6IFNjYWxhcnNbJ0pTT04nXTtcbiAgcXVpY2tBZGQ/OiBNYXliZTxTY2FsYXJzWydCb29sZWFuJ10+O1xuICB1c2Vycz86IE1heWJlPEFycmF5PE1heWJlPFVzZXJQYXNzZW5nZXJUeXBlSW5wdXQ+PiB8IE1heWJlPFVzZXJQYXNzZW5nZXJUeXBlSW5wdXQ+PjtcbiAgbGVhZFBhc3Nlbmdlcj86IE1heWJlPFNjYWxhcnNbJ0lEJ10+O1xuICBjbzJQZXJJdGVtPzogTWF5YmU8U2NhbGFyc1snRmxvYXQnXT47XG4gIGNvMlBlclBhc3Nlbmdlcj86IE1heWJlPFNjYWxhcnNbJ0Zsb2F0J10+O1xuICBvdXRib3VuZERhdGU6IFNjYWxhcnNbJ0RhdGVUaW1lJ107XG4gIGluYm91bmREYXRlPzogTWF5YmU8U2NhbGFyc1snRGF0ZVRpbWUnXT47XG4gIHdpdGhTdXBwbGVtZW50YWw/OiBNYXliZTxTY2FsYXJzWydCb29sZWFuJ10+O1xufT47XG5cblxuZXhwb3J0IHR5cGUgQWRkSXRlbVRvQmFza2V0TXV0YXRpb24gPSAoXG4gIHsgX190eXBlbmFtZT86ICdNdXRhdGlvbicgfVxuICAmIHsgYWRkSXRlbVRvQmFza2V0OiAoXG4gICAgeyBfX3R5cGVuYW1lPzogJ0Jhc2tldCcgfVxuICAgICYgQmFza2V0RmllbGRzRnJhZ21lbnRcbiAgKSB9XG4pO1xuXG5leHBvcnQgdHlwZSBHZXRVc2VyQmFza2V0UXVlcnlWYXJpYWJsZXMgPSBFeGFjdDx7XG4gIGlkOiBTY2FsYXJzWydJRCddO1xuICB3aXRoU3VwcGxlbWVudGFsPzogTWF5YmU8U2NhbGFyc1snQm9vbGVhbiddPjtcbn0+O1xuXG5cbmV4cG9ydCB0eXBlIEdldFVzZXJCYXNrZXRRdWVyeSA9IChcbiAgeyBfX3R5cGVuYW1lPzogJ1F1ZXJ5JyB9XG4gICYgeyBnZXRVc2VyQmFza2V0OiAoXG4gICAgeyBfX3R5cGVuYW1lPzogJ0Jhc2tldCcgfVxuICAgICYgQmFza2V0RmllbGRzRnJhZ21lbnRcbiAgKSB9XG4pO1xuXG5leHBvcnQgdHlwZSBSZXZhbGlkYXRlQmFza2V0TXV0YXRpb25WYXJpYWJsZXMgPSBFeGFjdDx7XG4gIGlkOiBTY2FsYXJzWydJRCddO1xuICB3aXRoU3VwcGxlbWVudGFsPzogTWF5YmU8U2NhbGFyc1snQm9vbGVhbiddPjtcbn0+O1xuXG5cbmV4cG9ydCB0eXBlIFJldmFsaWRhdGVCYXNrZXRNdXRhdGlvbiA9IChcbiAgeyBfX3R5cGVuYW1lPzogJ011dGF0aW9uJyB9XG4gICYgeyByZXZhbGlkYXRlQmFza2V0OiAoXG4gICAgeyBfX3R5cGVuYW1lPzogJ0Jhc2tldCcgfVxuICAgICYgQmFza2V0RmllbGRzRnJhZ21lbnRcbiAgKSB9XG4pO1xuXG5leHBvcnQgdHlwZSBCb29rQmFza2V0TXV0YXRpb25WYXJpYWJsZXMgPSBFeGFjdDx7XG4gIGlkOiBTY2FsYXJzWydJRCddO1xuICBzdXBwbGVtZW50YXJ5SW5mbzogQXJyYXk8U3VwcGxlbWVudGFyeUJvb2tpbmdJbmZvPiB8IFN1cHBsZW1lbnRhcnlCb29raW5nSW5mbztcbiAgd2l0aFN1cHBsZW1lbnRhbD86IE1heWJlPFNjYWxhcnNbJ0Jvb2xlYW4nXT47XG59PjtcblxuXG5leHBvcnQgdHlwZSBCb29rQmFza2V0TXV0YXRpb24gPSAoXG4gIHsgX190eXBlbmFtZT86ICdNdXRhdGlvbicgfVxuICAmIHsgYm9va0Jhc2tldDogKFxuICAgIHsgX190eXBlbmFtZT86ICdCYXNrZXQnIH1cbiAgICAmIEJhc2tldEZpZWxkc0ZyYWdtZW50XG4gICkgfVxuKTtcblxuZXhwb3J0IHR5cGUgU2VhcmNoQ2FiSGlyZVF1ZXJ5VmFyaWFibGVzID0gRXhhY3Q8e1xuICBkZXBhcnRzOiBTY2FsYXJzWydEYXRlVGltZSddO1xuICBmcm9tTG9jYXRpb246IENhYkhpcmVMb2NhdGlvbklucHV0O1xuICB0b0xvY2F0aW9uOiBDYWJIaXJlTG9jYXRpb25JbnB1dDtcbiAgYWR1bHRzOiBTY2FsYXJzWydJbnQnXTtcbiAgY2hpbGRyZW4/OiBNYXliZTxTY2FsYXJzWydJbnQnXT47XG4gIGluZmFudHM/OiBNYXliZTxTY2FsYXJzWydJbnQnXT47XG4gIHZpYXM/OiBNYXliZTxBcnJheTxNYXliZTxDYWJIaXJlTG9jYXRpb25JbnB1dD4+IHwgTWF5YmU8Q2FiSGlyZUxvY2F0aW9uSW5wdXQ+PjtcbiAgdmVoaWNsZVR5cGU/OiBNYXliZTxDYWJIaXJlVmVoaWNsZVR5cGU+O1xufT47XG5cblxuZXhwb3J0IHR5cGUgU2VhcmNoQ2FiSGlyZVF1ZXJ5ID0gKFxuICB7IF9fdHlwZW5hbWU/OiAnUXVlcnknIH1cbiAgJiB7IHNlYXJjaENhYkhpcmU6IChcbiAgICB7IF9fdHlwZW5hbWU/OiAnQ2FiSGlyZVJlc3VsdCcgfVxuICAgICYgeyByZXN1bHRzOiBBcnJheTwoXG4gICAgICB7IF9fdHlwZW5hbWU/OiAnQ2FiSGlyZVF1b3RlJyB9XG4gICAgICAmIFBpY2s8Q2FiSGlyZVF1b3RlLCAnaWQnIHwgJ3NvdXJjZScgfCAnc291cmNlSWQnIHwgJ3N1cHBsaWVyTmFtZScgfCAnZXN0aW1hdGVkQ08yJyB8ICdjbzJQZXJJdGVtJyB8ICdjbzJQZXJQYXNzZW5nZXInIHwgJ3ByaWNlJyB8ICdjdXJyZW5jeScgfCAndmVoaWNsZVR5cGUnIHwgJ3RyaXBEaXN0YW5jZU1ldHJlcycgfCAndHJpcER1cmF0aW9uU2Vjb25kcycgfCAnZGVwYXJ0cycgfCAndG1jUHJlZmVycmVkJyB8ICdjb21wYW55UHJlZmVycmVkJyB8ICdvZmZpY2VQcmVmZXJyZWQnIHwgJ3RtY1ByZWZlcnJlZE1lc3NhZ2UnIHwgJ2NvbXBhbnlQcmVmZXJyZWRNZXNzYWdlJyB8ICdvZmZpY2VQcmVmZXJyZWRNZXNzYWdlJyB8ICd1bmF2YWlsYWJsZScgfCAndW5hdmFpbGFibGVNZXNzYWdlJz5cbiAgICAgICYgeyBmcm9tTG9jYXRpb246IChcbiAgICAgICAgeyBfX3R5cGVuYW1lPzogJ0NhYkhpcmVMb2NhdGlvbicgfVxuICAgICAgICAmIFBpY2s8Q2FiSGlyZUxvY2F0aW9uLCAnYWRkcmVzcycgfCAncG9zdGNvZGUnIHwgJ2xhdGl0dWRlJyB8ICdsb25naXR1ZGUnPlxuICAgICAgKSwgdG9Mb2NhdGlvbjogKFxuICAgICAgICB7IF9fdHlwZW5hbWU/OiAnQ2FiSGlyZUxvY2F0aW9uJyB9XG4gICAgICAgICYgUGljazxDYWJIaXJlTG9jYXRpb24sICdhZGRyZXNzJyB8ICdwb3N0Y29kZScgfCAnbGF0aXR1ZGUnIHwgJ2xvbmdpdHVkZSc+XG4gICAgICApLCB2aWFzOiBBcnJheTwoXG4gICAgICAgIHsgX190eXBlbmFtZT86ICdDYWJIaXJlTG9jYXRpb24nIH1cbiAgICAgICAgJiBQaWNrPENhYkhpcmVMb2NhdGlvbiwgJ2FkZHJlc3MnIHwgJ3Bvc3Rjb2RlJyB8ICdsYXRpdHVkZScgfCAnbG9uZ2l0dWRlJz5cbiAgICAgICk+IH1cbiAgICApPiwgZXJyb3JzOiBBcnJheTwoXG4gICAgICB7IF9fdHlwZW5hbWU/OiAnU2VhcmNoRXJyb3InIH1cbiAgICAgICYgRXJyb3JzRnJhZ21lbnRcbiAgICApPiB9XG4gICkgfVxuKTtcblxuZXhwb3J0IHR5cGUgQ2FySGlyZUF2YWlsYWJpbGl0eURldGFpbFJlcXVlc3RRdWVyeVZhcmlhYmxlcyA9IEV4YWN0PHtcbiAgbG9jYXRpb25EZXRhaWxzOiBDYXJIaXJlSW5wdXRJZGVudGlmaWVycztcbn0+O1xuXG5cbmV4cG9ydCB0eXBlIENhckhpcmVBdmFpbGFiaWxpdHlEZXRhaWxSZXF1ZXN0UXVlcnkgPSAoXG4gIHsgX190eXBlbmFtZT86ICdRdWVyeScgfVxuICAmIHsgY2FySGlyZUF2YWlsYWJpbGl0eURldGFpbFJlcXVlc3Q6IChcbiAgICB7IF9fdHlwZW5hbWU/OiAnQ2FySGlyZURldGFpbFJlcXVlc3RSZXNwb25zZScgfVxuICAgICYgeyBpZGVudGlmaWVycz86IE1heWJlPChcbiAgICAgIHsgX190eXBlbmFtZT86ICdDYXJIaXJlSWRlbnRpZmllcnMnIH1cbiAgICAgICYgUGljazxDYXJIaXJlSWRlbnRpZmllcnMsICdsb2NhdG9yJyB8ICdycGgnIHwgJ3N0YXR1cycgfCAndmVoVHlwZScgfCAnbG9jYXRpb25Db2RlJyB8ICdleHRlbmRlZExvY2F0aW9uQ29kZScgfCAnbG9jYXRpb25OYW1lJyB8ICdkcm9wT2ZmTG9jYXRpb24nIHwgJ3BpY2t1cERhdGVUaW1lJyB8ICdkcm9wb2ZmRGF0ZVRpbWUnIHwgJ3ZlbmRvcic+XG4gICAgKT4sIHZlbmRvcj86IE1heWJlPChcbiAgICAgIHsgX190eXBlbmFtZT86ICdDYXJIaXJlVmVuZG9yJyB9XG4gICAgICAmIFBpY2s8Q2FySGlyZVZlbmRvciwgJ25hbWUnIHwgJ2xvZ28nPlxuICAgICk+LCBhZGRyZXNzPzogTWF5YmU8KFxuICAgICAgeyBfX3R5cGVuYW1lPzogJ0NhckhpcmVBZGRyZXNzJyB9XG4gICAgICAmIFBpY2s8Q2FySGlyZUFkZHJlc3MsICduYW1lJyB8ICd0b3BMaW5lJyB8ICdjaXR5JyB8ICdyZWdpb24nIHwgJ3Bvc3RDb2RlJyB8ICdjb3VudHJ5JyB8ICdjb3VudHJ5Q29kZScgfCAnc3RhdGVDb2RlJyB8ICdsYXRpdHVkZScgfCAnbG9uZ2l0dWRlJz5cbiAgICApPiwgYWRkaXRpb25hbEluZm8/OiBNYXliZTxBcnJheTwoXG4gICAgICB7IF9fdHlwZW5hbWU/OiAnQ2FySGlyZUFkZGl0aW9uYWxJbmZvSXRlbScgfVxuICAgICAgJiBQaWNrPENhckhpcmVBZGRpdGlvbmFsSW5mb0l0ZW0sICduYW1lJyB8ICd0ZXh0JyB8ICdqc29uJz5cbiAgICAgICYgeyBjdXN0b20/OiBNYXliZTxBcnJheTxNYXliZTwoXG4gICAgICAgIHsgX190eXBlbmFtZT86ICdDYXJIaXJlQ3VzdG9tJyB9XG4gICAgICAgICYgUGljazxDYXJIaXJlQ3VzdG9tLCAnbmFtZScgfCAndGV4dCc+XG4gICAgICApPj4+IH1cbiAgICApPj4gfVxuICApIH1cbik7XG5cbmV4cG9ydCB0eXBlIFNlYXJjaENhckhpcmVRdWVyeVZhcmlhYmxlcyA9IEV4YWN0PHtcbiAgYWlycG9ydD86IE1heWJlPENhckhpcmVBaXJwb3J0SW5wdXQ+O1xuICBjaXR5PzogTWF5YmU8Q2FySGlyZUNpdHlJbnB1dD47XG4gIGxvY2F0aW9uPzogTWF5YmU8Q2FySGlyZUxvY2F0aW9uSW5wdXQ+O1xuICBkZXBvdD86IE1heWJlPElucHV0Q2FySGlyZURlcG90PjtcbiAgcGlja3VwRGF0ZVRpbWU6IFNjYWxhcnNbJ0RhdGVUaW1lJ107XG4gIGRyb3BvZmZEYXRlVGltZTogU2NhbGFyc1snRGF0ZVRpbWUnXTtcbiAgdmVuZG9yPzogTWF5YmU8U2NhbGFyc1snU3RyaW5nJ10+O1xuICBjbGFzcz86IE1heWJlPENhckhpcmVDbGFzcz47XG4gIHR5cGU/OiBNYXliZTxDYXJIaXJlVHlwZT47XG4gIHRyYW5zbWlzc2lvbj86IE1heWJlPENhckhpcmVUcmFuc21pc3Npb24+O1xuICBhaXJjb24/OiBNYXliZTxTY2FsYXJzWydCb29sZWFuJ10+O1xuICBlc3RpbWF0ZWREYWlseURpc3RhbmNlPzogTWF5YmU8U2NhbGFyc1snRmxvYXQnXT47XG4gIGVzdGltYXRlZERhaWx5RGlzdGFuY2VVbml0cz86IE1heWJlPERpc3RhbmNlVHlwZXM+O1xufT47XG5cblxuZXhwb3J0IHR5cGUgU2VhcmNoQ2FySGlyZVF1ZXJ5ID0gKFxuICB7IF9fdHlwZW5hbWU/OiAnUXVlcnknIH1cbiAgJiB7IHNlYXJjaENhckhpcmU6IChcbiAgICB7IF9fdHlwZW5hbWU/OiAnQ2FySGlyZVJlc3VsdCcgfVxuICAgICYgeyByZXN1bHRzOiBBcnJheTwoXG4gICAgICB7IF9fdHlwZW5hbWU/OiAnQ2FySGlyZVZlaGljbGVBdmFpbGliaWxpdHknIH1cbiAgICAgICYgUGljazxDYXJIaXJlVmVoaWNsZUF2YWlsaWJpbGl0eSwgJ3NvdXJjZScgfCAnc291cmNlSWQnIHwgJ3RtY1ByZWZlcnJlZCcgfCAnY29tcGFueVByZWZlcnJlZCcgfCAnb2ZmaWNlUHJlZmVycmVkJyB8ICd0bWNQcmVmZXJyZWRNZXNzYWdlJyB8ICdjb21wYW55UHJlZmVycmVkTWVzc2FnZScgfCAnb2ZmaWNlUHJlZmVycmVkTWVzc2FnZScgfCAndW5hdmFpbGFibGUnIHwgJ3VuYXZhaWxhYmxlTWVzc2FnZScgfCAnY28yUGVyUGFzc2VuZ2VyJyB8ICdjbzJQZXJJdGVtJz5cbiAgICAgICYgeyBpZGVudGlmaWVycz86IE1heWJlPChcbiAgICAgICAgeyBfX3R5cGVuYW1lPzogJ0NhckhpcmVJZGVudGlmaWVycycgfVxuICAgICAgICAmIFBpY2s8Q2FySGlyZUlkZW50aWZpZXJzLCAnbG9jYXRvcicgfCAncnBoJyB8ICdzdGF0dXMnIHwgJ3ZlaFR5cGUnIHwgJ2xvY2F0aW9uQ29kZScgfCAnZXh0ZW5kZWRMb2NhdGlvbkNvZGUnIHwgJ2xvY2F0aW9uTmFtZScgfCAnZHJvcE9mZkxvY2F0aW9uJyB8ICdwaWNrdXBEYXRlVGltZScgfCAnZHJvcG9mZkRhdGVUaW1lJyB8ICd2ZW5kb3InPlxuICAgICAgKT4sIGRpc3BsYXlSZWNvcmQ/OiBNYXliZTwoXG4gICAgICAgIHsgX190eXBlbmFtZT86ICdDYXJIaXJlRGlzcGxheVJlY29yZCcgfVxuICAgICAgICAmIFBpY2s8Q2FySGlyZURpc3BsYXlSZWNvcmQsICdzdGF0dXMnIHwgJ3BpY2t1cCcgfCAnZHJvcG9mZic+XG4gICAgICAgICYgeyB2ZW5kb3I/OiBNYXliZTwoXG4gICAgICAgICAgeyBfX3R5cGVuYW1lPzogJ0NhckhpcmVWZW5kb3InIH1cbiAgICAgICAgICAmIFBpY2s8Q2FySGlyZVZlbmRvciwgJ25hbWUnIHwgJ2xvZ28nPlxuICAgICAgICApPiwgdmVoaWNsZT86IE1heWJlPChcbiAgICAgICAgICB7IF9fdHlwZW5hbWU/OiAnQ2FySGlyZVZlaGljbGUnIH1cbiAgICAgICAgICAmIFBpY2s8Q2FySGlyZVZlaGljbGUsICdjbGFzcycgfCAndHlwZScgfCAndHJhbnNtaXNzaW9uJyB8ICdhaXJjb24nIHwgJ2Rlc2NyaXB0aW9uJyB8ICdpbWFnZXMnPlxuICAgICAgICApPiwgY2hhcmdlcz86IE1heWJlPEFycmF5PE1heWJlPChcbiAgICAgICAgICB7IF9fdHlwZW5hbWU/OiAnQ2FySGlyZUNoYXJnZScgfVxuICAgICAgICAgICYgUGljazxDYXJIaXJlQ2hhcmdlLCAnbGFiZWwnIHwgJ2Ftb3VudCcgfCAnY3VycmVuY3lDb2RlJz5cbiAgICAgICAgKT4+PiwgcGlja3VwTG9jYXRpb24/OiBNYXliZTwoXG4gICAgICAgICAgeyBfX3R5cGVuYW1lPzogJ0NhckhpcmVBZGRyZXNzJyB9XG4gICAgICAgICAgJiBQaWNrPENhckhpcmVBZGRyZXNzLCAnbmFtZScgfCAndG9wTGluZScgfCAnY2l0eScgfCAncmVnaW9uJyB8ICdwb3N0Q29kZScgfCAnY291bnRyeScgfCAnY291bnRyeUNvZGUnIHwgJ3N0YXRlQ29kZScgfCAnbGF0aXR1ZGUnIHwgJ2xvbmdpdHVkZSc+XG4gICAgICAgICk+LCByZXR1cm5Mb2NhdGlvbj86IE1heWJlPChcbiAgICAgICAgICB7IF9fdHlwZW5hbWU/OiAnQ2FySGlyZUFkZHJlc3MnIH1cbiAgICAgICAgICAmIFBpY2s8Q2FySGlyZUFkZHJlc3MsICduYW1lJyB8ICd0b3BMaW5lJyB8ICdjaXR5JyB8ICdyZWdpb24nIHwgJ3Bvc3RDb2RlJyB8ICdjb3VudHJ5JyB8ICdjb3VudHJ5Q29kZScgfCAnc3RhdGVDb2RlJyB8ICdsYXRpdHVkZScgfCAnbG9uZ2l0dWRlJz5cbiAgICAgICAgKT4sIGFkZGl0aW9uYWxJbmZvPzogTWF5YmU8QXJyYXk8TWF5YmU8KFxuICAgICAgICAgIHsgX190eXBlbmFtZT86ICdDYXJIaXJlQWRkaXRpb25hbEluZm9JdGVtJyB9XG4gICAgICAgICAgJiBQaWNrPENhckhpcmVBZGRpdGlvbmFsSW5mb0l0ZW0sICduYW1lJyB8ICd0ZXh0JyB8ICdqc29uJz5cbiAgICAgICAgICAmIHsgY3VzdG9tPzogTWF5YmU8QXJyYXk8TWF5YmU8KFxuICAgICAgICAgICAgeyBfX3R5cGVuYW1lPzogJ0NhckhpcmVDdXN0b20nIH1cbiAgICAgICAgICAgICYgUGljazxDYXJIaXJlQ3VzdG9tLCAnbmFtZScgfCAndGV4dCc+XG4gICAgICAgICAgKT4+PiB9XG4gICAgICAgICk+Pj4gfVxuICAgICAgKT4gfVxuICAgICk+LCBlcnJvcnM6IEFycmF5PChcbiAgICAgIHsgX190eXBlbmFtZT86ICdTZWFyY2hFcnJvcicgfVxuICAgICAgJiBFcnJvcnNGcmFnbWVudFxuICAgICk+IH1cbiAgKSB9XG4pO1xuXG5leHBvcnQgdHlwZSBEZWxldGVSZWNlbnRTZWFyY2hNdXRhdGlvblZhcmlhYmxlcyA9IEV4YWN0PHtcbiAgaWQ6IFNjYWxhcnNbJ0lEJ107XG59PjtcblxuXG5leHBvcnQgdHlwZSBEZWxldGVSZWNlbnRTZWFyY2hNdXRhdGlvbiA9IChcbiAgeyBfX3R5cGVuYW1lPzogJ011dGF0aW9uJyB9XG4gICYgUGljazxNdXRhdGlvbiwgJ2RlbGV0ZVJlY2VudFNlYXJjaCc+XG4pO1xuXG5leHBvcnQgdHlwZSBEZWxldGVVc2VyQWRkcmVzc011dGF0aW9uVmFyaWFibGVzID0gRXhhY3Q8e1xuICBpZDogU2NhbGFyc1snSUQnXTtcbn0+O1xuXG5cbmV4cG9ydCB0eXBlIERlbGV0ZVVzZXJBZGRyZXNzTXV0YXRpb24gPSAoXG4gIHsgX190eXBlbmFtZT86ICdNdXRhdGlvbicgfVxuICAmIFBpY2s8TXV0YXRpb24sICdkZWxldGVVc2VyQWRkcmVzcyc+XG4pO1xuXG5leHBvcnQgdHlwZSBFcnJvcnNGcmFnbWVudCA9IChcbiAgeyBfX3R5cGVuYW1lPzogJ1NlYXJjaEVycm9yJyB9XG4gICYgUGljazxTZWFyY2hFcnJvciwgJ2Vycm9yTWVzc2FnZScgfCAnZXJyb3JDb2RlJz5cbiAgJiB7IHNlcnZpY2U6IChcbiAgICB7IF9fdHlwZW5hbWU/OiAnU2VydmljZScgfVxuICAgICYgUGljazxTZXJ2aWNlLCAnaWQnIHwgJ3R5cGUnIHwgJ25hbWUnIHwgJ2Rlc2NyaXB0aW9uJz5cbiAgKSB9XG4pO1xuXG5leHBvcnQgdHlwZSBHcm91cGVkRmllbGRzRnJhZ21lbnQgPSAoXG4gIHsgX190eXBlbmFtZT86ICdHcm91cEZsaWdodHMnIH1cbiAgJiBQaWNrPEdyb3VwRmxpZ2h0cywgJ3JlZmVyZW5jZUlEJyB8ICdmbGlnaHRJRCcgfCAnYm91bmRJbmRpY2F0b3InIHwgJ21pblByaWNlJyB8ICdtYXhQcmljZSc+XG4gICYgeyBmbGlnaHRzOiAoXG4gICAgeyBfX3R5cGVuYW1lPzogJ01hdGNoaW5nRmxpZ2h0cycgfVxuICAgICYgUGljazxNYXRjaGluZ0ZsaWdodHMsICdFY29ub215UmVzdHJpY3RlZCcgfCAnRWNvbm9teU5vQmFncycgfCAnRWNvbm9teUZsZXhpJyB8ICdQcmVtaXVtRWNvbm9teScgfCAnQnVzaW5lc3MnIHwgJ0ZpcnN0Jz5cbiAgKSB9XG4pO1xuXG5leHBvcnQgdHlwZSBTZWFyY2hGbGlnaHRzVjJRdWVyeVZhcmlhYmxlcyA9IEV4YWN0PHtcbiAgcGFzc2VuZ2VyczogQXJyYXk8RmxpZ2h0UGFzc2VuZ2VyT2JqZWN0PiB8IEZsaWdodFBhc3Nlbmdlck9iamVjdDtcbiAgb3JpZ2luQWlycG9ydD86IE1heWJlPFNjYWxhcnNbJ1N0cmluZyddPjtcbiAgZGVzdGluYXRpb25BaXJwb3J0PzogTWF5YmU8U2NhbGFyc1snU3RyaW5nJ10+O1xuICBtdWx0aURlc3RpbmF0aW9uPzogTWF5YmU8QXJyYXk8TWF5YmU8RGVzdGluYXRpb25FbnRyeT4+IHwgTWF5YmU8RGVzdGluYXRpb25FbnRyeT4+O1xuICBvdXRib3VuZERhdGU/OiBNYXliZTxTY2FsYXJzWydEYXRlJ10+O1xuICBvdXRib3VuZERlcGFydHVyZVRpbWVXaW5kb3c/OiBNYXliZTxTY2FsYXJzWydTdHJpbmcnXT47XG4gIG91dGJvdW5kQXJyaXZhbFRpbWVXaW5kb3c/OiBNYXliZTxTY2FsYXJzWydTdHJpbmcnXT47XG4gIG91dGJvdW5kQ2FiaW5DbGFzcz86IE1heWJlPEFycmF5PE1heWJlPEZsaWdodENhYmluQ2xhc3M+PiB8IE1heWJlPEZsaWdodENhYmluQ2xhc3M+PjtcbiAgcmV0dXJuVHJpcDogU2NhbGFyc1snQm9vbGVhbiddO1xuICByZXR1cm5EYXRlPzogTWF5YmU8U2NhbGFyc1snRGF0ZSddPjtcbiAgcmV0dXJuRGVwYXJ0dXJlVGltZVdpbmRvdz86IE1heWJlPFNjYWxhcnNbJ1N0cmluZyddPjtcbiAgcmV0dXJuQXJyaXZhbFRpbWVXaW5kb3c/OiBNYXliZTxTY2FsYXJzWydTdHJpbmcnXT47XG4gIHJldHVybkNhYmluQ2xhc3M/OiBNYXliZTxBcnJheTxNYXliZTxGbGlnaHRDYWJpbkNsYXNzPj4gfCBNYXliZTxGbGlnaHRDYWJpbkNsYXNzPj47XG4gIGZhcmVUeXBlOiBGYXJlVHlwZTtcbiAgcmVxdWlyZUZyZWVCYWc/OiBNYXliZTxTY2FsYXJzWydCb29sZWFuJ10+O1xuICBtYXhDb25uZWN0aW9ucz86IE1heWJlPFNjYWxhcnNbJ0ludCddPjtcbiAgcHJlZmVycmVkQ2FycmllcnM/OiBNYXliZTxBcnJheTxNYXliZTxTY2FsYXJzWydTdHJpbmcnXT4+IHwgTWF5YmU8U2NhbGFyc1snU3RyaW5nJ10+PjtcbiAgaW5jbHVkZU5lYXJieUFpcnBvcnRzPzogTWF5YmU8U2NhbGFyc1snQm9vbGVhbiddPjtcbiAgYXNTaW5nbGVzPzogTWF5YmU8U2NhbGFyc1snQm9vbGVhbiddPjtcbiAgd2l0aEdyb3VwZWQ6IFNjYWxhcnNbJ0Jvb2xlYW4nXTtcbn0+O1xuXG5cbmV4cG9ydCB0eXBlIFNlYXJjaEZsaWdodHNWMlF1ZXJ5ID0gKFxuICB7IF9fdHlwZW5hbWU/OiAnUXVlcnknIH1cbiAgJiB7IHNlYXJjaEZsaWdodHNWMjogKFxuICAgIHsgX190eXBlbmFtZT86ICdGbGlnaHRTZWFyY2hSZXN1bHRWMicgfVxuICAgICYgeyByZXN1bHRzOiAoXG4gICAgICB7IF9fdHlwZW5hbWU/OiAnRkVGbGlnaHRTZWFyY2hSZXN1bHRzJyB9XG4gICAgICAmIHsgam91cm5leXM6IEFycmF5PChcbiAgICAgICAgeyBfX3R5cGVuYW1lPzogJ0ZsaWdodEl0aW5lcmFyeScgfVxuICAgICAgICAmIFBpY2s8RmxpZ2h0SXRpbmVyYXJ5LCAndWlkJyB8ICdwYXNzZW5nZXJDb3VudCcgfCAnb3V0Ym91bmRUb3RhbER1cmF0aW9uJyB8ICdpbmJvdW5kVG90YWxEdXJhdGlvbicgfCAnYWRkaXRpb25hbCcgfCAnc291cmNlJyB8ICdzb3VyY2VJZCcgfCAndmVyc2lvbicgfCAndG1jUHJlZmVycmVkJyB8ICdjb21wYW55UHJlZmVycmVkJyB8ICdvZmZpY2VQcmVmZXJyZWQnIHwgJ3RtY1ByZWZlcnJlZE1lc3NhZ2UnIHwgJ2NvbXBhbnlQcmVmZXJyZWRNZXNzYWdlJyB8ICdvZmZpY2VQcmVmZXJyZWRNZXNzYWdlJyB8ICd1bmF2YWlsYWJsZScgfCAndW5hdmFpbGFibGVNZXNzYWdlJyB8ICdjbzJQZXJJdGVtJyB8ICdjbzJQZXJQYXNzZW5nZXInPlxuICAgICAgICAmIHsgb3V0Ym91bmRGbGlnaHRzOiBBcnJheTwoXG4gICAgICAgICAgeyBfX3R5cGVuYW1lPzogJ0ZsaWdodEpvdXJuZXknIH1cbiAgICAgICAgICAmIFBpY2s8RmxpZ2h0Sm91cm5leSwgJ29yaWdpbkFpcnBvcnQnIHwgJ29yaWdpblRlcm1pbmFsJyB8ICdvcmlnaW5BaXJwb3J0TmFtZScgfCAnZGVzdGluYXRpb25BaXJwb3J0JyB8ICdkZXN0aW5hdGlvblRlcm1pbmFsJyB8ICdkZXN0aW5hdGlvbkFpcnBvcnROYW1lJyB8ICdkYXRlVGltZURlcGFydGluZycgfCAnZGF0ZVRpbWVEZXBhcnRpbmdVVEMnIHwgJ2RhdGVUaW1lQXJyaXZpbmcnIHwgJ2RhdGVUaW1lQXJyaXZpbmdVVEMnIHwgJ21hcmtldGluZ0NhcnJpZXInIHwgJ21hcmtldGluZ0NhcnJpZXJOYW1lJyB8ICdtYXJrZXRpbmdGbGlnaHROdW1iZXInIHwgJ29wZXJhdGluZ0NhcnJpZXInIHwgJ29wZXJhdGluZ0NhcnJpZXJOYW1lJyB8ICdvcGVyYXRpbmdGbGlnaHROdW1iZXInIHwgJ2VxdWlwbWVudENvZGUnIHwgJ2VxdWlwbWVudE5hbWUnIHwgJ3RvdGFsRHVyYXRpb24nIHwgJ2NhYmluQ2xhc3MnIHwgJ21hcmtldGluZ05hbWVzJyB8ICd2ZW5kb3JDb2RlJyB8ICdzdG9wcycgfCAnYm9va2luZ0NvZGUnIHwgJ21hcnJpYWdlR3JvdXAnIHwgJ2ZhcmVCYXNpc0NvZGUnIHwgJ2FkZGl0aW9uYWwnPlxuICAgICAgICAgICYgeyBvcmlnaW5BaXJwb3J0RGV0YWlsOiAoXG4gICAgICAgICAgICB7IF9fdHlwZW5hbWU/OiAnQWlycG9ydERldGFpbCcgfVxuICAgICAgICAgICAgJiBQaWNrPEFpcnBvcnREZXRhaWwsICdpYXRhJyB8ICdpY2FvJyB8ICdsYXRpdHVkZScgfCAnbG9uZ2l0dWRlJyB8ICdhbHRpdHVkZScgfCAnc3RhdGUnIHwgJ2NpdHknIHwgJ3JvYWQnIHwgJ3BvcHVsYXJpdHknIHwgJ2FyZWEnIHwgJ2xvY2F0aW9uJyB8ICdvZmZzZXQnIHwgJ2FpcnBvcnROYW1lJyB8ICdjb3VudHJ5TmFtZScgfCAnY291bnRyeUNvZGUnIHwgJ3Bvc3Rjb2RlJz5cbiAgICAgICAgICApLCBkZXN0aW5hdGlvbkFpcnBvcnREZXRhaWw6IChcbiAgICAgICAgICAgIHsgX190eXBlbmFtZT86ICdBaXJwb3J0RGV0YWlsJyB9XG4gICAgICAgICAgICAmIFBpY2s8QWlycG9ydERldGFpbCwgJ2lhdGEnIHwgJ2ljYW8nIHwgJ2xhdGl0dWRlJyB8ICdsb25naXR1ZGUnIHwgJ2FsdGl0dWRlJyB8ICdzdGF0ZScgfCAnY2l0eScgfCAncm9hZCcgfCAncG9wdWxhcml0eScgfCAnYXJlYScgfCAnbG9jYXRpb24nIHwgJ29mZnNldCcgfCAnYWlycG9ydE5hbWUnIHwgJ2NvdW50cnlOYW1lJyB8ICdjb3VudHJ5Q29kZScgfCAncG9zdGNvZGUnPlxuICAgICAgICAgICksIG1hcmtldGluZ0NhcnJpZXJEZXRhaWw6IChcbiAgICAgICAgICAgIHsgX190eXBlbmFtZT86ICdGbGlnaHRDYXJyaWVyRGV0YWlsJyB9XG4gICAgICAgICAgICAmIFBpY2s8RmxpZ2h0Q2FycmllckRldGFpbCwgJ25hbWUnIHwgJ2FsaWFzJyB8ICdjYWxsc2lnbicgfCAnaWF0YScgfCAnaWNhbycgfCAnbG9nbycgfCAnYmFubmVyJyB8ICdwb3B1bGFyaXR5Jz5cbiAgICAgICAgICApLCBvcGVyYXRpbmdDYXJyaWVyRGV0YWlsOiAoXG4gICAgICAgICAgICB7IF9fdHlwZW5hbWU/OiAnRmxpZ2h0Q2FycmllckRldGFpbCcgfVxuICAgICAgICAgICAgJiBQaWNrPEZsaWdodENhcnJpZXJEZXRhaWwsICduYW1lJyB8ICdhbGlhcycgfCAnY2FsbHNpZ24nIHwgJ2lhdGEnIHwgJ2ljYW8nIHwgJ2xvZ28nIHwgJ2Jhbm5lcicgfCAncG9wdWxhcml0eSc+XG4gICAgICAgICAgKSwgZmFyZUNvbmRpdGlvbnM6IChcbiAgICAgICAgICAgIHsgX190eXBlbmFtZT86ICdGYXJlQ29uZGl0aW9ucycgfVxuICAgICAgICAgICAgJiB7IGNhbmNlbGxhdGlvbj86IE1heWJlPEFycmF5PE1heWJlPChcbiAgICAgICAgICAgICAgeyBfX3R5cGVuYW1lPzogJ0ZhcmVDb25kaXRpb25FbnRyeScgfVxuICAgICAgICAgICAgICAmIFBpY2s8RmFyZUNvbmRpdGlvbkVudHJ5LCAnbmFtZScgfCAndHlwZScgfCAnY3VycmVuY3knIHwgJ2Ftb3VudCcgfCAncmVtYXJrJyB8ICdjaGFuZ2VGZWVJbmQnIHwgJ2NhbmNlbEZlZUluZCcgfCAncmVmdW5kYWJsZUluZCc+XG4gICAgICAgICAgICApPj4+LCBjaGFuZ2U/OiBNYXliZTxBcnJheTxNYXliZTwoXG4gICAgICAgICAgICAgIHsgX190eXBlbmFtZT86ICdGYXJlQ29uZGl0aW9uRW50cnknIH1cbiAgICAgICAgICAgICAgJiBQaWNrPEZhcmVDb25kaXRpb25FbnRyeSwgJ25hbWUnIHwgJ3R5cGUnIHwgJ2N1cnJlbmN5JyB8ICdhbW91bnQnIHwgJ3JlbWFyaycgfCAnY2hhbmdlRmVlSW5kJyB8ICdjYW5jZWxGZWVJbmQnIHwgJ3JlZnVuZGFibGVJbmQnPlxuICAgICAgICAgICAgKT4+Piwgbm9TaG93PzogTWF5YmU8QXJyYXk8TWF5YmU8KFxuICAgICAgICAgICAgICB7IF9fdHlwZW5hbWU/OiAnRmFyZUNvbmRpdGlvbkVudHJ5JyB9XG4gICAgICAgICAgICAgICYgUGljazxGYXJlQ29uZGl0aW9uRW50cnksICduYW1lJyB8ICd0eXBlJyB8ICdjdXJyZW5jeScgfCAnYW1vdW50JyB8ICdyZW1hcmsnIHwgJ2NoYW5nZUZlZUluZCcgfCAnY2FuY2VsRmVlSW5kJyB8ICdyZWZ1bmRhYmxlSW5kJz5cbiAgICAgICAgICAgICk+Pj4sIHVwZ3JhZGU/OiBNYXliZTxBcnJheTxNYXliZTwoXG4gICAgICAgICAgICAgIHsgX190eXBlbmFtZT86ICdGYXJlQ29uZGl0aW9uRW50cnknIH1cbiAgICAgICAgICAgICAgJiBQaWNrPEZhcmVDb25kaXRpb25FbnRyeSwgJ25hbWUnIHwgJ3R5cGUnIHwgJ2N1cnJlbmN5JyB8ICdhbW91bnQnIHwgJ3JlbWFyaycgfCAnY2hhbmdlRmVlSW5kJyB8ICdjYW5jZWxGZWVJbmQnIHwgJ3JlZnVuZGFibGVJbmQnPlxuICAgICAgICAgICAgKT4+Piwgb3RoZXI/OiBNYXliZTxBcnJheTxNYXliZTwoXG4gICAgICAgICAgICAgIHsgX190eXBlbmFtZT86ICdGYXJlQ29uZGl0aW9uRW50cnknIH1cbiAgICAgICAgICAgICAgJiBQaWNrPEZhcmVDb25kaXRpb25FbnRyeSwgJ25hbWUnIHwgJ3R5cGUnIHwgJ2N1cnJlbmN5JyB8ICdhbW91bnQnIHwgJ3JlbWFyaycgfCAnY2hhbmdlRmVlSW5kJyB8ICdjYW5jZWxGZWVJbmQnIHwgJ3JlZnVuZGFibGVJbmQnPlxuICAgICAgICAgICAgKT4+PiB9XG4gICAgICAgICAgKSB9XG4gICAgICAgICk+LCBpbmJvdW5kRmxpZ2h0cz86IE1heWJlPEFycmF5PE1heWJlPChcbiAgICAgICAgICB7IF9fdHlwZW5hbWU/OiAnRmxpZ2h0Sm91cm5leScgfVxuICAgICAgICAgICYgUGljazxGbGlnaHRKb3VybmV5LCAnb3JpZ2luQWlycG9ydCcgfCAnb3JpZ2luVGVybWluYWwnIHwgJ29yaWdpbkFpcnBvcnROYW1lJyB8ICdkZXN0aW5hdGlvbkFpcnBvcnQnIHwgJ2Rlc3RpbmF0aW9uVGVybWluYWwnIHwgJ2Rlc3RpbmF0aW9uQWlycG9ydE5hbWUnIHwgJ2RhdGVUaW1lRGVwYXJ0aW5nJyB8ICdkYXRlVGltZURlcGFydGluZ1VUQycgfCAnZGF0ZVRpbWVBcnJpdmluZycgfCAnZGF0ZVRpbWVBcnJpdmluZ1VUQycgfCAnbWFya2V0aW5nQ2FycmllcicgfCAnbWFya2V0aW5nQ2Fycmllck5hbWUnIHwgJ21hcmtldGluZ0ZsaWdodE51bWJlcicgfCAnb3BlcmF0aW5nQ2FycmllcicgfCAnb3BlcmF0aW5nQ2Fycmllck5hbWUnIHwgJ29wZXJhdGluZ0ZsaWdodE51bWJlcicgfCAnZXF1aXBtZW50Q29kZScgfCAnZXF1aXBtZW50TmFtZScgfCAndG90YWxEdXJhdGlvbicgfCAnY2FiaW5DbGFzcycgfCAnbWFya2V0aW5nTmFtZXMnIHwgJ3ZlbmRvckNvZGUnIHwgJ3N0b3BzJyB8ICdib29raW5nQ29kZScgfCAnbWFycmlhZ2VHcm91cCcgfCAnZmFyZUJhc2lzQ29kZScgfCAnYWRkaXRpb25hbCc+XG4gICAgICAgICAgJiB7IG9yaWdpbkFpcnBvcnREZXRhaWw6IChcbiAgICAgICAgICAgIHsgX190eXBlbmFtZT86ICdBaXJwb3J0RGV0YWlsJyB9XG4gICAgICAgICAgICAmIFBpY2s8QWlycG9ydERldGFpbCwgJ2lhdGEnIHwgJ2ljYW8nIHwgJ2xhdGl0dWRlJyB8ICdsb25naXR1ZGUnIHwgJ2FsdGl0dWRlJyB8ICdzdGF0ZScgfCAnY2l0eScgfCAncm9hZCcgfCAncG9wdWxhcml0eScgfCAnYXJlYScgfCAnbG9jYXRpb24nIHwgJ29mZnNldCcgfCAnYWlycG9ydE5hbWUnIHwgJ2NvdW50cnlOYW1lJyB8ICdjb3VudHJ5Q29kZScgfCAncG9zdGNvZGUnPlxuICAgICAgICAgICksIGRlc3RpbmF0aW9uQWlycG9ydERldGFpbDogKFxuICAgICAgICAgICAgeyBfX3R5cGVuYW1lPzogJ0FpcnBvcnREZXRhaWwnIH1cbiAgICAgICAgICAgICYgUGljazxBaXJwb3J0RGV0YWlsLCAnaWF0YScgfCAnaWNhbycgfCAnbGF0aXR1ZGUnIHwgJ2xvbmdpdHVkZScgfCAnYWx0aXR1ZGUnIHwgJ3N0YXRlJyB8ICdjaXR5JyB8ICdyb2FkJyB8ICdwb3B1bGFyaXR5JyB8ICdhcmVhJyB8ICdsb2NhdGlvbicgfCAnb2Zmc2V0JyB8ICdhaXJwb3J0TmFtZScgfCAnY291bnRyeU5hbWUnIHwgJ2NvdW50cnlDb2RlJyB8ICdwb3N0Y29kZSc+XG4gICAgICAgICAgKSwgbWFya2V0aW5nQ2FycmllckRldGFpbDogKFxuICAgICAgICAgICAgeyBfX3R5cGVuYW1lPzogJ0ZsaWdodENhcnJpZXJEZXRhaWwnIH1cbiAgICAgICAgICAgICYgUGljazxGbGlnaHRDYXJyaWVyRGV0YWlsLCAnbmFtZScgfCAnYWxpYXMnIHwgJ2NhbGxzaWduJyB8ICdpYXRhJyB8ICdpY2FvJyB8ICdsb2dvJyB8ICdiYW5uZXInIHwgJ3BvcHVsYXJpdHknPlxuICAgICAgICAgICksIG9wZXJhdGluZ0NhcnJpZXJEZXRhaWw6IChcbiAgICAgICAgICAgIHsgX190eXBlbmFtZT86ICdGbGlnaHRDYXJyaWVyRGV0YWlsJyB9XG4gICAgICAgICAgICAmIFBpY2s8RmxpZ2h0Q2FycmllckRldGFpbCwgJ25hbWUnIHwgJ2FsaWFzJyB8ICdjYWxsc2lnbicgfCAnaWF0YScgfCAnaWNhbycgfCAnbG9nbycgfCAnYmFubmVyJyB8ICdwb3B1bGFyaXR5Jz5cbiAgICAgICAgICApLCBmYXJlQ29uZGl0aW9uczogKFxuICAgICAgICAgICAgeyBfX3R5cGVuYW1lPzogJ0ZhcmVDb25kaXRpb25zJyB9XG4gICAgICAgICAgICAmIHsgY2FuY2VsbGF0aW9uPzogTWF5YmU8QXJyYXk8TWF5YmU8KFxuICAgICAgICAgICAgICB7IF9fdHlwZW5hbWU/OiAnRmFyZUNvbmRpdGlvbkVudHJ5JyB9XG4gICAgICAgICAgICAgICYgUGljazxGYXJlQ29uZGl0aW9uRW50cnksICduYW1lJyB8ICd0eXBlJyB8ICdjdXJyZW5jeScgfCAnYW1vdW50JyB8ICdyZW1hcmsnIHwgJ2NoYW5nZUZlZUluZCcgfCAnY2FuY2VsRmVlSW5kJyB8ICdyZWZ1bmRhYmxlSW5kJz5cbiAgICAgICAgICAgICk+Pj4sIGNoYW5nZT86IE1heWJlPEFycmF5PE1heWJlPChcbiAgICAgICAgICAgICAgeyBfX3R5cGVuYW1lPzogJ0ZhcmVDb25kaXRpb25FbnRyeScgfVxuICAgICAgICAgICAgICAmIFBpY2s8RmFyZUNvbmRpdGlvbkVudHJ5LCAnbmFtZScgfCAndHlwZScgfCAnY3VycmVuY3knIHwgJ2Ftb3VudCcgfCAncmVtYXJrJyB8ICdjaGFuZ2VGZWVJbmQnIHwgJ2NhbmNlbEZlZUluZCcgfCAncmVmdW5kYWJsZUluZCc+XG4gICAgICAgICAgICApPj4+LCBub1Nob3c/OiBNYXliZTxBcnJheTxNYXliZTwoXG4gICAgICAgICAgICAgIHsgX190eXBlbmFtZT86ICdGYXJlQ29uZGl0aW9uRW50cnknIH1cbiAgICAgICAgICAgICAgJiBQaWNrPEZhcmVDb25kaXRpb25FbnRyeSwgJ25hbWUnIHwgJ3R5cGUnIHwgJ2N1cnJlbmN5JyB8ICdhbW91bnQnIHwgJ3JlbWFyaycgfCAnY2hhbmdlRmVlSW5kJyB8ICdjYW5jZWxGZWVJbmQnIHwgJ3JlZnVuZGFibGVJbmQnPlxuICAgICAgICAgICAgKT4+PiwgdXBncmFkZT86IE1heWJlPEFycmF5PE1heWJlPChcbiAgICAgICAgICAgICAgeyBfX3R5cGVuYW1lPzogJ0ZhcmVDb25kaXRpb25FbnRyeScgfVxuICAgICAgICAgICAgICAmIFBpY2s8RmFyZUNvbmRpdGlvbkVudHJ5LCAnbmFtZScgfCAndHlwZScgfCAnY3VycmVuY3knIHwgJ2Ftb3VudCcgfCAncmVtYXJrJyB8ICdjaGFuZ2VGZWVJbmQnIHwgJ2NhbmNlbEZlZUluZCcgfCAncmVmdW5kYWJsZUluZCc+XG4gICAgICAgICAgICApPj4+LCBvdGhlcj86IE1heWJlPEFycmF5PE1heWJlPChcbiAgICAgICAgICAgICAgeyBfX3R5cGVuYW1lPzogJ0ZhcmVDb25kaXRpb25FbnRyeScgfVxuICAgICAgICAgICAgICAmIFBpY2s8RmFyZUNvbmRpdGlvbkVudHJ5LCAnbmFtZScgfCAndHlwZScgfCAnY3VycmVuY3knIHwgJ2Ftb3VudCcgfCAncmVtYXJrJyB8ICdjaGFuZ2VGZWVJbmQnIHwgJ2NhbmNlbEZlZUluZCcgfCAncmVmdW5kYWJsZUluZCc+XG4gICAgICAgICAgICApPj4+IH1cbiAgICAgICAgICApIH1cbiAgICAgICAgKT4+Piwgb3V0Ym91bmRDYXJib25FbWlzc2lvbnM/OiBNYXliZTwoXG4gICAgICAgICAgeyBfX3R5cGVuYW1lPzogJ0ZsaWdodENhcmJvbkVtaXNzaW9ucycgfVxuICAgICAgICAgICYgUGljazxGbGlnaHRDYXJib25FbWlzc2lvbnMsICdhbW91bnQnIHwgJ3VuaXQnPlxuICAgICAgICApPiwgaW5ib3VuZENhcmJvbkVtaXNzaW9ucz86IE1heWJlPChcbiAgICAgICAgICB7IF9fdHlwZW5hbWU/OiAnRmxpZ2h0Q2FyYm9uRW1pc3Npb25zJyB9XG4gICAgICAgICAgJiBQaWNrPEZsaWdodENhcmJvbkVtaXNzaW9ucywgJ2Ftb3VudCcgfCAndW5pdCc+XG4gICAgICAgICk+LCB0YXhlcz86IE1heWJlPEFycmF5PE1heWJlPChcbiAgICAgICAgICB7IF9fdHlwZW5hbWU/OiAnRmxpZ2h0QW1vdW50JyB9XG4gICAgICAgICAgJiBQaWNrPEZsaWdodEFtb3VudCwgJ2Rlc2NyaXB0aW9uJyB8ICdhbW91bnQnIHwgJ2N1cnJlbmN5Jz5cbiAgICAgICAgKT4+PiwgZGlzY291bnRzPzogTWF5YmU8QXJyYXk8TWF5YmU8KFxuICAgICAgICAgIHsgX190eXBlbmFtZT86ICdGbGlnaHRBbW91bnQnIH1cbiAgICAgICAgICAmIFBpY2s8RmxpZ2h0QW1vdW50LCAnZGVzY3JpcHRpb24nIHwgJ2Ftb3VudCcgfCAnY3VycmVuY3knPlxuICAgICAgICApPj4+LCB0b3RhbDogKFxuICAgICAgICAgIHsgX190eXBlbmFtZT86ICdGbGlnaHRGYXJlVG90YWwnIH1cbiAgICAgICAgICAmIFBpY2s8RmxpZ2h0RmFyZVRvdGFsLCAncHJpY2UnIHwgJ3RheCcgfCAnZGlzY291bnQnIHwgJ2N1cnJlbmN5Jz5cbiAgICAgICAgKSwgZmFyZUNvbmRpdGlvbnM/OiBNYXliZTwoXG4gICAgICAgICAgeyBfX3R5cGVuYW1lPzogJ0ZhcmVDb25kaXRpb25zJyB9XG4gICAgICAgICAgJiB7IGNhbmNlbGxhdGlvbj86IE1heWJlPEFycmF5PE1heWJlPChcbiAgICAgICAgICAgIHsgX190eXBlbmFtZT86ICdGYXJlQ29uZGl0aW9uRW50cnknIH1cbiAgICAgICAgICAgICYgUGljazxGYXJlQ29uZGl0aW9uRW50cnksICduYW1lJyB8ICd0eXBlJyB8ICdjdXJyZW5jeScgfCAnYW1vdW50JyB8ICdyZW1hcmsnIHwgJ2NoYW5nZUZlZUluZCcgfCAnY2FuY2VsRmVlSW5kJyB8ICdyZWZ1bmRhYmxlSW5kJz5cbiAgICAgICAgICApPj4+LCBjaGFuZ2U/OiBNYXliZTxBcnJheTxNYXliZTwoXG4gICAgICAgICAgICB7IF9fdHlwZW5hbWU/OiAnRmFyZUNvbmRpdGlvbkVudHJ5JyB9XG4gICAgICAgICAgICAmIFBpY2s8RmFyZUNvbmRpdGlvbkVudHJ5LCAnbmFtZScgfCAndHlwZScgfCAnY3VycmVuY3knIHwgJ2Ftb3VudCcgfCAncmVtYXJrJyB8ICdjaGFuZ2VGZWVJbmQnIHwgJ2NhbmNlbEZlZUluZCcgfCAncmVmdW5kYWJsZUluZCc+XG4gICAgICAgICAgKT4+Piwgbm9TaG93PzogTWF5YmU8QXJyYXk8TWF5YmU8KFxuICAgICAgICAgICAgeyBfX3R5cGVuYW1lPzogJ0ZhcmVDb25kaXRpb25FbnRyeScgfVxuICAgICAgICAgICAgJiBQaWNrPEZhcmVDb25kaXRpb25FbnRyeSwgJ25hbWUnIHwgJ3R5cGUnIHwgJ2N1cnJlbmN5JyB8ICdhbW91bnQnIHwgJ3JlbWFyaycgfCAnY2hhbmdlRmVlSW5kJyB8ICdjYW5jZWxGZWVJbmQnIHwgJ3JlZnVuZGFibGVJbmQnPlxuICAgICAgICAgICk+Pj4sIHVwZ3JhZGU/OiBNYXliZTxBcnJheTxNYXliZTwoXG4gICAgICAgICAgICB7IF9fdHlwZW5hbWU/OiAnRmFyZUNvbmRpdGlvbkVudHJ5JyB9XG4gICAgICAgICAgICAmIFBpY2s8RmFyZUNvbmRpdGlvbkVudHJ5LCAnbmFtZScgfCAndHlwZScgfCAnY3VycmVuY3knIHwgJ2Ftb3VudCcgfCAncmVtYXJrJyB8ICdjaGFuZ2VGZWVJbmQnIHwgJ2NhbmNlbEZlZUluZCcgfCAncmVmdW5kYWJsZUluZCc+XG4gICAgICAgICAgKT4+Piwgb3RoZXI/OiBNYXliZTxBcnJheTxNYXliZTwoXG4gICAgICAgICAgICB7IF9fdHlwZW5hbWU/OiAnRmFyZUNvbmRpdGlvbkVudHJ5JyB9XG4gICAgICAgICAgICAmIFBpY2s8RmFyZUNvbmRpdGlvbkVudHJ5LCAnbmFtZScgfCAndHlwZScgfCAnY3VycmVuY3knIHwgJ2Ftb3VudCcgfCAncmVtYXJrJyB8ICdjaGFuZ2VGZWVJbmQnIHwgJ2NhbmNlbEZlZUluZCcgfCAncmVmdW5kYWJsZUluZCc+XG4gICAgICAgICAgKT4+PiB9XG4gICAgICAgICk+LCBiYWdnYWdlQWxsb3dhbmNlPzogTWF5YmU8QXJyYXk8TWF5YmU8KFxuICAgICAgICAgIHsgX190eXBlbmFtZT86ICdCYWdnYWdlQWxsb3dhbmNlJyB9XG4gICAgICAgICAgJiBQaWNrPEJhZ2dhZ2VBbGxvd2FuY2UsICd0eXBlJyB8ICdxdHknIHwgJ21heEtHJyB8ICdtYXhMQlMnPlxuICAgICAgICApPj4+IH1cbiAgICAgICk+LCBtdWx0aTogQXJyYXk8KFxuICAgICAgICB7IF9fdHlwZW5hbWU/OiAnSXRpbmVyYXJ5U3VtbWFyeScgfVxuICAgICAgICAmIFBpY2s8SXRpbmVyYXJ5U3VtbWFyeSwgJ29yZGVyJyB8ICdvcmlnaW4nIHwgJ2Rlc3RpbmF0aW9uJyB8ICdtaW5QcmljZScgfCAnbWF4UHJpY2UnPlxuICAgICAgICAmIHsgcmVzdWx0czogQXJyYXk8KFxuICAgICAgICAgIHsgX190eXBlbmFtZT86ICdGbGlnaHRJdGluZXJhcnknIH1cbiAgICAgICAgICAmIFBpY2s8RmxpZ2h0SXRpbmVyYXJ5LCAndWlkJyB8ICdwYXNzZW5nZXJDb3VudCcgfCAnb3V0Ym91bmRUb3RhbER1cmF0aW9uJyB8ICdpbmJvdW5kVG90YWxEdXJhdGlvbicgfCAnYWRkaXRpb25hbCcgfCAnc291cmNlJyB8ICdzb3VyY2VJZCcgfCAndmVyc2lvbicgfCAndG1jUHJlZmVycmVkJyB8ICdjb21wYW55UHJlZmVycmVkJyB8ICdvZmZpY2VQcmVmZXJyZWQnIHwgJ3RtY1ByZWZlcnJlZE1lc3NhZ2UnIHwgJ2NvbXBhbnlQcmVmZXJyZWRNZXNzYWdlJyB8ICdvZmZpY2VQcmVmZXJyZWRNZXNzYWdlJyB8ICd1bmF2YWlsYWJsZScgfCAndW5hdmFpbGFibGVNZXNzYWdlJyB8ICdjbzJQZXJJdGVtJyB8ICdjbzJQZXJQYXNzZW5nZXInPlxuICAgICAgICAgICYgeyBvdXRib3VuZEZsaWdodHM6IEFycmF5PChcbiAgICAgICAgICAgIHsgX190eXBlbmFtZT86ICdGbGlnaHRKb3VybmV5JyB9XG4gICAgICAgICAgICAmIFBpY2s8RmxpZ2h0Sm91cm5leSwgJ29yaWdpbkFpcnBvcnQnIHwgJ29yaWdpblRlcm1pbmFsJyB8ICdvcmlnaW5BaXJwb3J0TmFtZScgfCAnZGVzdGluYXRpb25BaXJwb3J0JyB8ICdkZXN0aW5hdGlvblRlcm1pbmFsJyB8ICdkZXN0aW5hdGlvbkFpcnBvcnROYW1lJyB8ICdkYXRlVGltZURlcGFydGluZycgfCAnZGF0ZVRpbWVEZXBhcnRpbmdVVEMnIHwgJ2RhdGVUaW1lQXJyaXZpbmcnIHwgJ2RhdGVUaW1lQXJyaXZpbmdVVEMnIHwgJ21hcmtldGluZ0NhcnJpZXInIHwgJ21hcmtldGluZ0NhcnJpZXJOYW1lJyB8ICdtYXJrZXRpbmdGbGlnaHROdW1iZXInIHwgJ29wZXJhdGluZ0NhcnJpZXInIHwgJ29wZXJhdGluZ0NhcnJpZXJOYW1lJyB8ICdvcGVyYXRpbmdGbGlnaHROdW1iZXInIHwgJ2VxdWlwbWVudENvZGUnIHwgJ2VxdWlwbWVudE5hbWUnIHwgJ3RvdGFsRHVyYXRpb24nIHwgJ2NhYmluQ2xhc3MnIHwgJ21hcmtldGluZ05hbWVzJyB8ICd2ZW5kb3JDb2RlJyB8ICdzdG9wcycgfCAnYm9va2luZ0NvZGUnIHwgJ21hcnJpYWdlR3JvdXAnIHwgJ2ZhcmVCYXNpc0NvZGUnIHwgJ2FkZGl0aW9uYWwnPlxuICAgICAgICAgICAgJiB7IG9yaWdpbkFpcnBvcnREZXRhaWw6IChcbiAgICAgICAgICAgICAgeyBfX3R5cGVuYW1lPzogJ0FpcnBvcnREZXRhaWwnIH1cbiAgICAgICAgICAgICAgJiBQaWNrPEFpcnBvcnREZXRhaWwsICdpYXRhJyB8ICdpY2FvJyB8ICdsYXRpdHVkZScgfCAnbG9uZ2l0dWRlJyB8ICdhbHRpdHVkZScgfCAnc3RhdGUnIHwgJ2NpdHknIHwgJ3JvYWQnIHwgJ3BvcHVsYXJpdHknIHwgJ2FyZWEnIHwgJ2xvY2F0aW9uJyB8ICdvZmZzZXQnIHwgJ2FpcnBvcnROYW1lJyB8ICdjb3VudHJ5TmFtZScgfCAnY291bnRyeUNvZGUnIHwgJ3Bvc3Rjb2RlJz5cbiAgICAgICAgICAgICksIGRlc3RpbmF0aW9uQWlycG9ydERldGFpbDogKFxuICAgICAgICAgICAgICB7IF9fdHlwZW5hbWU/OiAnQWlycG9ydERldGFpbCcgfVxuICAgICAgICAgICAgICAmIFBpY2s8QWlycG9ydERldGFpbCwgJ2lhdGEnIHwgJ2ljYW8nIHwgJ2xhdGl0dWRlJyB8ICdsb25naXR1ZGUnIHwgJ2FsdGl0dWRlJyB8ICdzdGF0ZScgfCAnY2l0eScgfCAncm9hZCcgfCAncG9wdWxhcml0eScgfCAnYXJlYScgfCAnbG9jYXRpb24nIHwgJ29mZnNldCcgfCAnYWlycG9ydE5hbWUnIHwgJ2NvdW50cnlOYW1lJyB8ICdjb3VudHJ5Q29kZScgfCAncG9zdGNvZGUnPlxuICAgICAgICAgICAgKSwgbWFya2V0aW5nQ2FycmllckRldGFpbDogKFxuICAgICAgICAgICAgICB7IF9fdHlwZW5hbWU/OiAnRmxpZ2h0Q2FycmllckRldGFpbCcgfVxuICAgICAgICAgICAgICAmIFBpY2s8RmxpZ2h0Q2FycmllckRldGFpbCwgJ25hbWUnIHwgJ2FsaWFzJyB8ICdjYWxsc2lnbicgfCAnaWF0YScgfCAnaWNhbycgfCAnbG9nbycgfCAnYmFubmVyJyB8ICdwb3B1bGFyaXR5Jz5cbiAgICAgICAgICAgICksIG9wZXJhdGluZ0NhcnJpZXJEZXRhaWw6IChcbiAgICAgICAgICAgICAgeyBfX3R5cGVuYW1lPzogJ0ZsaWdodENhcnJpZXJEZXRhaWwnIH1cbiAgICAgICAgICAgICAgJiBQaWNrPEZsaWdodENhcnJpZXJEZXRhaWwsICduYW1lJyB8ICdhbGlhcycgfCAnY2FsbHNpZ24nIHwgJ2lhdGEnIHwgJ2ljYW8nIHwgJ2xvZ28nIHwgJ2Jhbm5lcicgfCAncG9wdWxhcml0eSc+XG4gICAgICAgICAgICApLCBmYXJlQ29uZGl0aW9uczogKFxuICAgICAgICAgICAgICB7IF9fdHlwZW5hbWU/OiAnRmFyZUNvbmRpdGlvbnMnIH1cbiAgICAgICAgICAgICAgJiB7IGNhbmNlbGxhdGlvbj86IE1heWJlPEFycmF5PE1heWJlPChcbiAgICAgICAgICAgICAgICB7IF9fdHlwZW5hbWU/OiAnRmFyZUNvbmRpdGlvbkVudHJ5JyB9XG4gICAgICAgICAgICAgICAgJiBQaWNrPEZhcmVDb25kaXRpb25FbnRyeSwgJ25hbWUnIHwgJ3R5cGUnIHwgJ2N1cnJlbmN5JyB8ICdhbW91bnQnIHwgJ3JlbWFyaycgfCAnY2hhbmdlRmVlSW5kJyB8ICdjYW5jZWxGZWVJbmQnIHwgJ3JlZnVuZGFibGVJbmQnPlxuICAgICAgICAgICAgICApPj4+LCBjaGFuZ2U/OiBNYXliZTxBcnJheTxNYXliZTwoXG4gICAgICAgICAgICAgICAgeyBfX3R5cGVuYW1lPzogJ0ZhcmVDb25kaXRpb25FbnRyeScgfVxuICAgICAgICAgICAgICAgICYgUGljazxGYXJlQ29uZGl0aW9uRW50cnksICduYW1lJyB8ICd0eXBlJyB8ICdjdXJyZW5jeScgfCAnYW1vdW50JyB8ICdyZW1hcmsnIHwgJ2NoYW5nZUZlZUluZCcgfCAnY2FuY2VsRmVlSW5kJyB8ICdyZWZ1bmRhYmxlSW5kJz5cbiAgICAgICAgICAgICAgKT4+Piwgbm9TaG93PzogTWF5YmU8QXJyYXk8TWF5YmU8KFxuICAgICAgICAgICAgICAgIHsgX190eXBlbmFtZT86ICdGYXJlQ29uZGl0aW9uRW50cnknIH1cbiAgICAgICAgICAgICAgICAmIFBpY2s8RmFyZUNvbmRpdGlvbkVudHJ5LCAnbmFtZScgfCAndHlwZScgfCAnY3VycmVuY3knIHwgJ2Ftb3VudCcgfCAncmVtYXJrJyB8ICdjaGFuZ2VGZWVJbmQnIHwgJ2NhbmNlbEZlZUluZCcgfCAncmVmdW5kYWJsZUluZCc+XG4gICAgICAgICAgICAgICk+Pj4sIHVwZ3JhZGU/OiBNYXliZTxBcnJheTxNYXliZTwoXG4gICAgICAgICAgICAgICAgeyBfX3R5cGVuYW1lPzogJ0ZhcmVDb25kaXRpb25FbnRyeScgfVxuICAgICAgICAgICAgICAgICYgUGljazxGYXJlQ29uZGl0aW9uRW50cnksICduYW1lJyB8ICd0eXBlJyB8ICdjdXJyZW5jeScgfCAnYW1vdW50JyB8ICdyZW1hcmsnIHwgJ2NoYW5nZUZlZUluZCcgfCAnY2FuY2VsRmVlSW5kJyB8ICdyZWZ1bmRhYmxlSW5kJz5cbiAgICAgICAgICAgICAgKT4+Piwgb3RoZXI/OiBNYXliZTxBcnJheTxNYXliZTwoXG4gICAgICAgICAgICAgICAgeyBfX3R5cGVuYW1lPzogJ0ZhcmVDb25kaXRpb25FbnRyeScgfVxuICAgICAgICAgICAgICAgICYgUGljazxGYXJlQ29uZGl0aW9uRW50cnksICduYW1lJyB8ICd0eXBlJyB8ICdjdXJyZW5jeScgfCAnYW1vdW50JyB8ICdyZW1hcmsnIHwgJ2NoYW5nZUZlZUluZCcgfCAnY2FuY2VsRmVlSW5kJyB8ICdyZWZ1bmRhYmxlSW5kJz5cbiAgICAgICAgICAgICAgKT4+PiB9XG4gICAgICAgICAgICApIH1cbiAgICAgICAgICApPiwgaW5ib3VuZEZsaWdodHM/OiBNYXliZTxBcnJheTxNYXliZTwoXG4gICAgICAgICAgICB7IF9fdHlwZW5hbWU/OiAnRmxpZ2h0Sm91cm5leScgfVxuICAgICAgICAgICAgJiBQaWNrPEZsaWdodEpvdXJuZXksICdvcmlnaW5BaXJwb3J0JyB8ICdvcmlnaW5UZXJtaW5hbCcgfCAnb3JpZ2luQWlycG9ydE5hbWUnIHwgJ2Rlc3RpbmF0aW9uQWlycG9ydCcgfCAnZGVzdGluYXRpb25UZXJtaW5hbCcgfCAnZGVzdGluYXRpb25BaXJwb3J0TmFtZScgfCAnZGF0ZVRpbWVEZXBhcnRpbmcnIHwgJ2RhdGVUaW1lRGVwYXJ0aW5nVVRDJyB8ICdkYXRlVGltZUFycml2aW5nJyB8ICdkYXRlVGltZUFycml2aW5nVVRDJyB8ICdtYXJrZXRpbmdDYXJyaWVyJyB8ICdtYXJrZXRpbmdDYXJyaWVyTmFtZScgfCAnbWFya2V0aW5nRmxpZ2h0TnVtYmVyJyB8ICdvcGVyYXRpbmdDYXJyaWVyJyB8ICdvcGVyYXRpbmdDYXJyaWVyTmFtZScgfCAnb3BlcmF0aW5nRmxpZ2h0TnVtYmVyJyB8ICdlcXVpcG1lbnRDb2RlJyB8ICdlcXVpcG1lbnROYW1lJyB8ICd0b3RhbER1cmF0aW9uJyB8ICdjYWJpbkNsYXNzJyB8ICdtYXJrZXRpbmdOYW1lcycgfCAndmVuZG9yQ29kZScgfCAnc3RvcHMnIHwgJ2Jvb2tpbmdDb2RlJyB8ICdtYXJyaWFnZUdyb3VwJyB8ICdmYXJlQmFzaXNDb2RlJyB8ICdhZGRpdGlvbmFsJz5cbiAgICAgICAgICAgICYgeyBvcmlnaW5BaXJwb3J0RGV0YWlsOiAoXG4gICAgICAgICAgICAgIHsgX190eXBlbmFtZT86ICdBaXJwb3J0RGV0YWlsJyB9XG4gICAgICAgICAgICAgICYgUGljazxBaXJwb3J0RGV0YWlsLCAnaWF0YScgfCAnaWNhbycgfCAnbGF0aXR1ZGUnIHwgJ2xvbmdpdHVkZScgfCAnYWx0aXR1ZGUnIHwgJ3N0YXRlJyB8ICdjaXR5JyB8ICdyb2FkJyB8ICdwb3B1bGFyaXR5JyB8ICdhcmVhJyB8ICdsb2NhdGlvbicgfCAnb2Zmc2V0JyB8ICdhaXJwb3J0TmFtZScgfCAnY291bnRyeU5hbWUnIHwgJ2NvdW50cnlDb2RlJyB8ICdwb3N0Y29kZSc+XG4gICAgICAgICAgICApLCBkZXN0aW5hdGlvbkFpcnBvcnREZXRhaWw6IChcbiAgICAgICAgICAgICAgeyBfX3R5cGVuYW1lPzogJ0FpcnBvcnREZXRhaWwnIH1cbiAgICAgICAgICAgICAgJiBQaWNrPEFpcnBvcnREZXRhaWwsICdpYXRhJyB8ICdpY2FvJyB8ICdsYXRpdHVkZScgfCAnbG9uZ2l0dWRlJyB8ICdhbHRpdHVkZScgfCAnc3RhdGUnIHwgJ2NpdHknIHwgJ3JvYWQnIHwgJ3BvcHVsYXJpdHknIHwgJ2FyZWEnIHwgJ2xvY2F0aW9uJyB8ICdvZmZzZXQnIHwgJ2FpcnBvcnROYW1lJyB8ICdjb3VudHJ5TmFtZScgfCAnY291bnRyeUNvZGUnIHwgJ3Bvc3Rjb2RlJz5cbiAgICAgICAgICAgICksIG1hcmtldGluZ0NhcnJpZXJEZXRhaWw6IChcbiAgICAgICAgICAgICAgeyBfX3R5cGVuYW1lPzogJ0ZsaWdodENhcnJpZXJEZXRhaWwnIH1cbiAgICAgICAgICAgICAgJiBQaWNrPEZsaWdodENhcnJpZXJEZXRhaWwsICduYW1lJyB8ICdhbGlhcycgfCAnY2FsbHNpZ24nIHwgJ2lhdGEnIHwgJ2ljYW8nIHwgJ2xvZ28nIHwgJ2Jhbm5lcicgfCAncG9wdWxhcml0eSc+XG4gICAgICAgICAgICApLCBvcGVyYXRpbmdDYXJyaWVyRGV0YWlsOiAoXG4gICAgICAgICAgICAgIHsgX190eXBlbmFtZT86ICdGbGlnaHRDYXJyaWVyRGV0YWlsJyB9XG4gICAgICAgICAgICAgICYgUGljazxGbGlnaHRDYXJyaWVyRGV0YWlsLCAnbmFtZScgfCAnYWxpYXMnIHwgJ2NhbGxzaWduJyB8ICdpYXRhJyB8ICdpY2FvJyB8ICdsb2dvJyB8ICdiYW5uZXInIHwgJ3BvcHVsYXJpdHknPlxuICAgICAgICAgICAgKSwgZmFyZUNvbmRpdGlvbnM6IChcbiAgICAgICAgICAgICAgeyBfX3R5cGVuYW1lPzogJ0ZhcmVDb25kaXRpb25zJyB9XG4gICAgICAgICAgICAgICYgeyBjYW5jZWxsYXRpb24/OiBNYXliZTxBcnJheTxNYXliZTwoXG4gICAgICAgICAgICAgICAgeyBfX3R5cGVuYW1lPzogJ0ZhcmVDb25kaXRpb25FbnRyeScgfVxuICAgICAgICAgICAgICAgICYgUGljazxGYXJlQ29uZGl0aW9uRW50cnksICduYW1lJyB8ICd0eXBlJyB8ICdjdXJyZW5jeScgfCAnYW1vdW50JyB8ICdyZW1hcmsnIHwgJ2NoYW5nZUZlZUluZCcgfCAnY2FuY2VsRmVlSW5kJyB8ICdyZWZ1bmRhYmxlSW5kJz5cbiAgICAgICAgICAgICAgKT4+PiwgY2hhbmdlPzogTWF5YmU8QXJyYXk8TWF5YmU8KFxuICAgICAgICAgICAgICAgIHsgX190eXBlbmFtZT86ICdGYXJlQ29uZGl0aW9uRW50cnknIH1cbiAgICAgICAgICAgICAgICAmIFBpY2s8RmFyZUNvbmRpdGlvbkVudHJ5LCAnbmFtZScgfCAndHlwZScgfCAnY3VycmVuY3knIHwgJ2Ftb3VudCcgfCAncmVtYXJrJyB8ICdjaGFuZ2VGZWVJbmQnIHwgJ2NhbmNlbEZlZUluZCcgfCAncmVmdW5kYWJsZUluZCc+XG4gICAgICAgICAgICAgICk+Pj4sIG5vU2hvdz86IE1heWJlPEFycmF5PE1heWJlPChcbiAgICAgICAgICAgICAgICB7IF9fdHlwZW5hbWU/OiAnRmFyZUNvbmRpdGlvbkVudHJ5JyB9XG4gICAgICAgICAgICAgICAgJiBQaWNrPEZhcmVDb25kaXRpb25FbnRyeSwgJ25hbWUnIHwgJ3R5cGUnIHwgJ2N1cnJlbmN5JyB8ICdhbW91bnQnIHwgJ3JlbWFyaycgfCAnY2hhbmdlRmVlSW5kJyB8ICdjYW5jZWxGZWVJbmQnIHwgJ3JlZnVuZGFibGVJbmQnPlxuICAgICAgICAgICAgICApPj4+LCB1cGdyYWRlPzogTWF5YmU8QXJyYXk8TWF5YmU8KFxuICAgICAgICAgICAgICAgIHsgX190eXBlbmFtZT86ICdGYXJlQ29uZGl0aW9uRW50cnknIH1cbiAgICAgICAgICAgICAgICAmIFBpY2s8RmFyZUNvbmRpdGlvbkVudHJ5LCAnbmFtZScgfCAndHlwZScgfCAnY3VycmVuY3knIHwgJ2Ftb3VudCcgfCAncmVtYXJrJyB8ICdjaGFuZ2VGZWVJbmQnIHwgJ2NhbmNlbEZlZUluZCcgfCAncmVmdW5kYWJsZUluZCc+XG4gICAgICAgICAgICAgICk+Pj4sIG90aGVyPzogTWF5YmU8QXJyYXk8TWF5YmU8KFxuICAgICAgICAgICAgICAgIHsgX190eXBlbmFtZT86ICdGYXJlQ29uZGl0aW9uRW50cnknIH1cbiAgICAgICAgICAgICAgICAmIFBpY2s8RmFyZUNvbmRpdGlvbkVudHJ5LCAnbmFtZScgfCAndHlwZScgfCAnY3VycmVuY3knIHwgJ2Ftb3VudCcgfCAncmVtYXJrJyB8ICdjaGFuZ2VGZWVJbmQnIHwgJ2NhbmNlbEZlZUluZCcgfCAncmVmdW5kYWJsZUluZCc+XG4gICAgICAgICAgICAgICk+Pj4gfVxuICAgICAgICAgICAgKSB9XG4gICAgICAgICAgKT4+Piwgb3V0Ym91bmRDYXJib25FbWlzc2lvbnM/OiBNYXliZTwoXG4gICAgICAgICAgICB7IF9fdHlwZW5hbWU/OiAnRmxpZ2h0Q2FyYm9uRW1pc3Npb25zJyB9XG4gICAgICAgICAgICAmIFBpY2s8RmxpZ2h0Q2FyYm9uRW1pc3Npb25zLCAnYW1vdW50JyB8ICd1bml0Jz5cbiAgICAgICAgICApPiwgaW5ib3VuZENhcmJvbkVtaXNzaW9ucz86IE1heWJlPChcbiAgICAgICAgICAgIHsgX190eXBlbmFtZT86ICdGbGlnaHRDYXJib25FbWlzc2lvbnMnIH1cbiAgICAgICAgICAgICYgUGljazxGbGlnaHRDYXJib25FbWlzc2lvbnMsICdhbW91bnQnIHwgJ3VuaXQnPlxuICAgICAgICAgICk+LCB0YXhlcz86IE1heWJlPEFycmF5PE1heWJlPChcbiAgICAgICAgICAgIHsgX190eXBlbmFtZT86ICdGbGlnaHRBbW91bnQnIH1cbiAgICAgICAgICAgICYgUGljazxGbGlnaHRBbW91bnQsICdkZXNjcmlwdGlvbicgfCAnYW1vdW50JyB8ICdjdXJyZW5jeSc+XG4gICAgICAgICAgKT4+PiwgZGlzY291bnRzPzogTWF5YmU8QXJyYXk8TWF5YmU8KFxuICAgICAgICAgICAgeyBfX3R5cGVuYW1lPzogJ0ZsaWdodEFtb3VudCcgfVxuICAgICAgICAgICAgJiBQaWNrPEZsaWdodEFtb3VudCwgJ2Rlc2NyaXB0aW9uJyB8ICdhbW91bnQnIHwgJ2N1cnJlbmN5Jz5cbiAgICAgICAgICApPj4+LCB0b3RhbDogKFxuICAgICAgICAgICAgeyBfX3R5cGVuYW1lPzogJ0ZsaWdodEZhcmVUb3RhbCcgfVxuICAgICAgICAgICAgJiBQaWNrPEZsaWdodEZhcmVUb3RhbCwgJ3ByaWNlJyB8ICd0YXgnIHwgJ2Rpc2NvdW50JyB8ICdjdXJyZW5jeSc+XG4gICAgICAgICAgKSwgZmFyZUNvbmRpdGlvbnM/OiBNYXliZTwoXG4gICAgICAgICAgICB7IF9fdHlwZW5hbWU/OiAnRmFyZUNvbmRpdGlvbnMnIH1cbiAgICAgICAgICAgICYgeyBjYW5jZWxsYXRpb24/OiBNYXliZTxBcnJheTxNYXliZTwoXG4gICAgICAgICAgICAgIHsgX190eXBlbmFtZT86ICdGYXJlQ29uZGl0aW9uRW50cnknIH1cbiAgICAgICAgICAgICAgJiBQaWNrPEZhcmVDb25kaXRpb25FbnRyeSwgJ25hbWUnIHwgJ3R5cGUnIHwgJ2N1cnJlbmN5JyB8ICdhbW91bnQnIHwgJ3JlbWFyaycgfCAnY2hhbmdlRmVlSW5kJyB8ICdjYW5jZWxGZWVJbmQnIHwgJ3JlZnVuZGFibGVJbmQnPlxuICAgICAgICAgICAgKT4+PiwgY2hhbmdlPzogTWF5YmU8QXJyYXk8TWF5YmU8KFxuICAgICAgICAgICAgICB7IF9fdHlwZW5hbWU/OiAnRmFyZUNvbmRpdGlvbkVudHJ5JyB9XG4gICAgICAgICAgICAgICYgUGljazxGYXJlQ29uZGl0aW9uRW50cnksICduYW1lJyB8ICd0eXBlJyB8ICdjdXJyZW5jeScgfCAnYW1vdW50JyB8ICdyZW1hcmsnIHwgJ2NoYW5nZUZlZUluZCcgfCAnY2FuY2VsRmVlSW5kJyB8ICdyZWZ1bmRhYmxlSW5kJz5cbiAgICAgICAgICAgICk+Pj4sIG5vU2hvdz86IE1heWJlPEFycmF5PE1heWJlPChcbiAgICAgICAgICAgICAgeyBfX3R5cGVuYW1lPzogJ0ZhcmVDb25kaXRpb25FbnRyeScgfVxuICAgICAgICAgICAgICAmIFBpY2s8RmFyZUNvbmRpdGlvbkVudHJ5LCAnbmFtZScgfCAndHlwZScgfCAnY3VycmVuY3knIHwgJ2Ftb3VudCcgfCAncmVtYXJrJyB8ICdjaGFuZ2VGZWVJbmQnIHwgJ2NhbmNlbEZlZUluZCcgfCAncmVmdW5kYWJsZUluZCc+XG4gICAgICAgICAgICApPj4+LCB1cGdyYWRlPzogTWF5YmU8QXJyYXk8TWF5YmU8KFxuICAgICAgICAgICAgICB7IF9fdHlwZW5hbWU/OiAnRmFyZUNvbmRpdGlvbkVudHJ5JyB9XG4gICAgICAgICAgICAgICYgUGljazxGYXJlQ29uZGl0aW9uRW50cnksICduYW1lJyB8ICd0eXBlJyB8ICdjdXJyZW5jeScgfCAnYW1vdW50JyB8ICdyZW1hcmsnIHwgJ2NoYW5nZUZlZUluZCcgfCAnY2FuY2VsRmVlSW5kJyB8ICdyZWZ1bmRhYmxlSW5kJz5cbiAgICAgICAgICAgICk+Pj4sIG90aGVyPzogTWF5YmU8QXJyYXk8TWF5YmU8KFxuICAgICAgICAgICAgICB7IF9fdHlwZW5hbWU/OiAnRmFyZUNvbmRpdGlvbkVudHJ5JyB9XG4gICAgICAgICAgICAgICYgUGljazxGYXJlQ29uZGl0aW9uRW50cnksICduYW1lJyB8ICd0eXBlJyB8ICdjdXJyZW5jeScgfCAnYW1vdW50JyB8ICdyZW1hcmsnIHwgJ2NoYW5nZUZlZUluZCcgfCAnY2FuY2VsRmVlSW5kJyB8ICdyZWZ1bmRhYmxlSW5kJz5cbiAgICAgICAgICAgICk+Pj4gfVxuICAgICAgICAgICk+LCBiYWdnYWdlQWxsb3dhbmNlPzogTWF5YmU8QXJyYXk8TWF5YmU8KFxuICAgICAgICAgICAgeyBfX3R5cGVuYW1lPzogJ0JhZ2dhZ2VBbGxvd2FuY2UnIH1cbiAgICAgICAgICAgICYgUGljazxCYWdnYWdlQWxsb3dhbmNlLCAndHlwZScgfCAncXR5JyB8ICdtYXhLRycgfCAnbWF4TEJTJz5cbiAgICAgICAgICApPj4+IH1cbiAgICAgICAgKT4gfVxuICAgICAgKT4sIGdyb3VwZWQ/OiBNYXliZTxBcnJheTwoXG4gICAgICAgIHsgX190eXBlbmFtZT86ICdHcm91cEZsaWdodHMnIH1cbiAgICAgICAgJiBHcm91cGVkRmllbGRzRnJhZ21lbnRcbiAgICAgICk+PiB9XG4gICAgKSwgZXJyb3JzOiBBcnJheTwoXG4gICAgICB7IF9fdHlwZW5hbWU/OiAnU2VhcmNoRXJyb3InIH1cbiAgICAgICYgRXJyb3JzRnJhZ21lbnRcbiAgICApPiB9XG4gICkgfVxuKTtcblxuZXhwb3J0IHR5cGUgR2V0Q2FySGlyZURlcG90c1F1ZXJ5VmFyaWFibGVzID0gRXhhY3Q8e1xuICBsYXRpdHVkZTogU2NhbGFyc1snRmxvYXQnXTtcbiAgbG9uZ2l0dWRlOiBTY2FsYXJzWydGbG9hdCddO1xuICB2ZW5kb3JDb2RlPzogTWF5YmU8U2NhbGFyc1snU3RyaW5nJ10+O1xufT47XG5cblxuZXhwb3J0IHR5cGUgR2V0Q2FySGlyZURlcG90c1F1ZXJ5ID0gKFxuICB7IF9fdHlwZW5hbWU/OiAnUXVlcnknIH1cbiAgJiB7IGdldENhckhpcmVEZXBvdHM6IEFycmF5PChcbiAgICB7IF9fdHlwZW5hbWU/OiAnQ2FySGlyZURlcG90JyB9XG4gICAgJiBQaWNrPENhckhpcmVEZXBvdCwgJ2NvdW50cnlDb2RlJyB8ICdsb2NhdGlvbkNvZGUnIHwgJ2V4dGVuZGVkTG9jYXRpb25Db2RlJyB8ICd2ZW5kb3JDb2RlJyB8ICdsYXRpdHVkZScgfCAnbG9uZ2l0dWRlJyB8ICd2ZW5kb3InIHwgJ2FkZHJlc3NMaW5lcycgfCAnY2l0eU5hbWUnPlxuICApPiB9XG4pO1xuXG5leHBvcnQgdHlwZSBHZXRDb25mZXJtYU9mZmljZVF1ZXJ5VmFyaWFibGVzID0gRXhhY3Q8e1xuICBvZmZpY2VJZDogU2NhbGFyc1snSW50J107XG59PjtcblxuXG5leHBvcnQgdHlwZSBHZXRDb25mZXJtYU9mZmljZVF1ZXJ5ID0gKFxuICB7IF9fdHlwZW5hbWU/OiAnUXVlcnknIH1cbiAgJiB7IGdldENvbmZlcm1hT2ZmaWNlOiAoXG4gICAgeyBfX3R5cGVuYW1lPzogJ0NvbmZlcm1hT2ZmaWNlUmVzdWx0JyB9XG4gICAgJiB7IHJlc3VsdHM/OiBNYXliZTwoXG4gICAgICB7IF9fdHlwZW5hbWU/OiAnQ29uZmVybWFPZmZpY2VJbmZvJyB9XG4gICAgICAmIFBpY2s8Q29uZmVybWFPZmZpY2VJbmZvLCAnaWQnIHwgJ25hbWUnIHwgJ2Nsb3Nlc3RBaXJwb3J0JyB8ICdjbG9zZXN0VHJhaW5TdGF0aW9uJyB8ICdsb25naXR1ZGUnIHwgJ2xhdGl0dWRlJz5cbiAgICAgICYgeyBhZGRyZXNzPzogTWF5YmU8KFxuICAgICAgICB7IF9fdHlwZW5hbWU/OiAnQ29uZmVybWFPZmZpY2VBZGRyZXNzJyB9XG4gICAgICAgICYgUGljazxDb25mZXJtYU9mZmljZUFkZHJlc3MsICdhZGRyZXNzTmFtZScgfCAnYWRkcmVzc0xpbmUxJyB8ICdhZGRyZXNzTGluZTInIHwgJ2FkZHJlc3NMaW5lMycgfCAncG9zdGFsQ29kZScgfCAnY2l0eScgfCAnY291bnRyeUNvZGUnIHwgJ2NvdW50cnlOYW1lJyB8ICd0ZWxlcGhvbmVOdW1iZXInIHwgJ2ZhY3NpbWlsZU51bWJlcicgfCAnZW1haWxBZGRyZXNzJyB8ICdzdGF0ZVByb3ZpbmNlJyB8ICdtb2JpbGVOdW1iZXInPlxuICAgICAgKT4sIGNsb3Nlc3RIb3RlbHM/OiBNYXliZTxBcnJheTxNYXliZTwoXG4gICAgICAgIHsgX190eXBlbmFtZT86ICdDb25mZXJtYU9mZmljZUhvdGVscycgfVxuICAgICAgICAmIFBpY2s8Q29uZmVybWFPZmZpY2VIb3RlbHMsICdob3RlbElkJyB8ICdob3RlbE5hbWUnIHwgJ2lzUHJlZmVycmVkJz5cbiAgICAgICk+Pj4gfVxuICAgICk+LCBlcnJvcnM6IEFycmF5PChcbiAgICAgIHsgX190eXBlbmFtZT86ICdTZWFyY2hFcnJvcicgfVxuICAgICAgJiBQaWNrPFNlYXJjaEVycm9yLCAnZXJyb3JNZXNzYWdlJyB8ICdlcnJvckNvZGUnPlxuICAgICAgJiB7IHNlcnZpY2U6IChcbiAgICAgICAgeyBfX3R5cGVuYW1lPzogJ1NlcnZpY2UnIH1cbiAgICAgICAgJiBQaWNrPFNlcnZpY2UsICdpZCcgfCAndHlwZScgfCAnbmFtZScgfCAnZGVzY3JpcHRpb24nIHwgJ3N1cHBsaWVyVXJsJyB8ICdhY3RpdmUnIHwgJ2FwaUVuZHBvaW50VXJsJyB8ICdiYXNrZXRJdGVtVHRsJyB8ICdjYW5jZWxsYWJsZScgfCAnYW1lbmRhYmxlJyB8ICdkZXRhaWxTY2hlbWEnIHwgJ3NlYXJjaFF1ZXJ5U2NoZW1hJz5cbiAgICAgICkgfVxuICAgICk+IH1cbiAgKSB9XG4pO1xuXG5leHBvcnQgdHlwZSBHZXRDb25mZXJtYU9mZmljZU5hbWVzUXVlcnlWYXJpYWJsZXMgPSBFeGFjdDx7IFtrZXk6IHN0cmluZ106IG5ldmVyOyB9PjtcblxuXG5leHBvcnQgdHlwZSBHZXRDb25mZXJtYU9mZmljZU5hbWVzUXVlcnkgPSAoXG4gIHsgX190eXBlbmFtZT86ICdRdWVyeScgfVxuICAmIHsgZ2V0Q29uZmVybWFPZmZpY2VOYW1lczogKFxuICAgIHsgX190eXBlbmFtZT86ICdDb25mZXJtYU9mZmljZU5hbWVzUmVzdWx0JyB9XG4gICAgJiB7IHJlc3VsdHM/OiBNYXliZTxBcnJheTxNYXliZTwoXG4gICAgICB7IF9fdHlwZW5hbWU/OiAnQ29uZmVybWFPZmZpY2VOYW1lcycgfVxuICAgICAgJiBQaWNrPENvbmZlcm1hT2ZmaWNlTmFtZXMsICdpZCcgfCAnbmFtZSc+XG4gICAgKT4+PiwgZXJyb3JzOiBBcnJheTwoXG4gICAgICB7IF9fdHlwZW5hbWU/OiAnU2VhcmNoRXJyb3InIH1cbiAgICAgICYgRXJyb3JzRnJhZ21lbnRcbiAgICApPiB9XG4gICkgfVxuKTtcblxuZXhwb3J0IHR5cGUgR2V0Q29uZmVybWFRdWlja2xpc3RRdWVyeVZhcmlhYmxlcyA9IEV4YWN0PHtcbiAgY291bnRyeUNvZGU6IFNjYWxhcnNbJ1N0cmluZyddO1xufT47XG5cblxuZXhwb3J0IHR5cGUgR2V0Q29uZmVybWFRdWlja2xpc3RRdWVyeSA9IChcbiAgeyBfX3R5cGVuYW1lPzogJ1F1ZXJ5JyB9XG4gICYgeyBnZXRDb25mZXJtYVF1aWNrbGlzdDogKFxuICAgIHsgX190eXBlbmFtZT86ICdIb3RlbFNlYXJjaFJlc3VsdCcgfVxuICAgICYgeyByZXN1bHRzPzogTWF5YmU8QXJyYXk8TWF5YmU8KFxuICAgICAgeyBfX3R5cGVuYW1lPzogJ0hvdGVsSXRpbmVyYXJ5JyB9XG4gICAgICAmIFBpY2s8SG90ZWxJdGluZXJhcnksICdpZCcgfCAnbmFtZScgfCAnaW1hZ2VVcmwnIHwgJ2dyb3VwJyB8ICd2ZXJzaW9uJyB8ICd0bWNQcmVmZXJyZWRNZXNzYWdlJyB8ICdjb21wYW55UHJlZmVycmVkTWVzc2FnZScgfCAnb2ZmaWNlUHJlZmVycmVkTWVzc2FnZScgfCAndW5hdmFpbGFibGVNZXNzYWdlJz5cbiAgICAgICYgeyBsb2NhdGlvbjogKFxuICAgICAgICB7IF9fdHlwZW5hbWU/OiAnSG90ZWxMb2NhdGlvbicgfVxuICAgICAgICAmIFBpY2s8SG90ZWxMb2NhdGlvbiwgJ2Rpc3RhbmNlJyB8ICdkaXN0YW5jZVR5cGUnIHwgJ2xvbmdpdHVkZScgfCAnbGF0aXR1ZGUnPlxuICAgICAgKSwgYWRkcmVzczogKFxuICAgICAgICB7IF9fdHlwZW5hbWU/OiAnSG90ZWxBZGRyZXNzJyB9XG4gICAgICAgICYgUGljazxIb3RlbEFkZHJlc3MsICdhZGRyZXNzTGluZTEnIHwgJ2FkZHJlc3NMaW5lMicgfCAnYWRkcmVzc0xpbmUzJyB8ICdwb3N0T3JaaXBDb2RlJyB8ICdjb3VudHJ5Q29kZScgfCAndGVsZXBob25lJyB8ICdmYWNzaW1pbGUnPlxuICAgICAgKSwgdHJhbnNwb3J0cz86IE1heWJlPEFycmF5PE1heWJlPChcbiAgICAgICAgeyBfX3R5cGVuYW1lPzogJ0hvdGVsVHJhbnNwb3J0JyB9XG4gICAgICAgICYgUGljazxIb3RlbFRyYW5zcG9ydCwgJ3R5cGUnIHwgJ25hbWUnIHwgJ2NvZGUnIHwgJ2Rpc3RhbmNlJyB8ICdkaXN0YW5jZVR5cGUnIHwgJ2xvbmdpdHVkZScgfCAnbGF0aXR1ZGUnPlxuICAgICAgKT4+PiwgcHJlZmVycmVkOiAoXG4gICAgICAgIHsgX190eXBlbmFtZT86ICdIb3RlbFByZWZlcnJlZCcgfVxuICAgICAgICAmIFBpY2s8SG90ZWxQcmVmZXJyZWQsICdjbGllbnQnIHwgJ2NvbnN1bWVyJz5cbiAgICAgICksIHRhZ3M/OiBNYXliZTxBcnJheTxNYXliZTwoXG4gICAgICAgIHsgX190eXBlbmFtZT86ICdIb3RlbFRhZycgfVxuICAgICAgICAmIFBpY2s8SG90ZWxUYWcsICduYW1lJyB8ICdkaXNwbGF5JyB8ICd0eXBlJyB8ICdpY29uJz5cbiAgICAgICk+Pj4sIGF2YWlsYWJsZVJhdGVzPzogTWF5YmU8KFxuICAgICAgICB7IF9fdHlwZW5hbWU/OiAnSG90ZWxBdmFpbGFiaWxpdHknIH1cbiAgICAgICAgJiBQaWNrPEhvdGVsQXZhaWxhYmlsaXR5LCAnaG90ZWxJZCcgfCAnaW1hZ2VVcmwnIHwgJ3BycG4nIHwgJ2N1cnJlbmN5Q29kZScgfCAnaXNCdXN5JyB8ICdzb3VyY2UnIHwgJ3ZlcnNpb24nPlxuICAgICAgICAmIHsgcm9vbXM/OiBNYXliZTxBcnJheTxNYXliZTwoXG4gICAgICAgICAgeyBfX3R5cGVuYW1lPzogJ0hvdGVsUm9vbScgfVxuICAgICAgICAgICYgUGljazxIb3RlbFJvb20sICdyb29tSWQnIHwgJ3Jvb21UeXBlJyB8ICdyb29tRGVzY3JpcHRpb24nIHwgJ3JhdGVDb2RlJyB8ICdyYXRlRGVzY3JpcHRpb24nIHwgJ3RvdGFsJyB8ICdjdXJyZW5jeUNvZGUnPlxuICAgICAgICAgICYgeyBjdXJyZW5jeUNvbnZlcnNpb24/OiBNYXliZTwoXG4gICAgICAgICAgICB7IF9fdHlwZW5hbWU/OiAnSG90ZWxDb252ZXJzaW9uJyB9XG4gICAgICAgICAgICAmIFBpY2s8SG90ZWxDb252ZXJzaW9uLCAncmF0ZScgfCAnbG9jYWxDb2RlJyB8ICdsb2NhbFRvdGFsJyB8ICdjb252ZXJ0ZWRDb2RlJyB8ICdjb252ZXJ0ZWRUb3RhbCc+XG4gICAgICAgICAgKT4sIGRlcG9zaXQ/OiBNYXliZTwoXG4gICAgICAgICAgICB7IF9fdHlwZW5hbWU/OiAnSG90ZWxEZXBvc2l0JyB9XG4gICAgICAgICAgICAmIFBpY2s8SG90ZWxEZXBvc2l0LCAnYW1vdW50JyB8ICdwb2xpY3knIHwgJ3JlcXVpcmVkJz5cbiAgICAgICAgICApPiwgbmlnaHRzOiBBcnJheTwoXG4gICAgICAgICAgICB7IF9fdHlwZW5hbWU/OiAnSG90ZWxOaWdodCcgfVxuICAgICAgICAgICAgJiBQaWNrPEhvdGVsTmlnaHQsICduaWdodCcgfCAncmF0ZScgfCAnaW5mbycgfCAnZGF0ZSc+XG4gICAgICAgICAgKT4sIHBvbGljaWVzOiAoXG4gICAgICAgICAgICB7IF9fdHlwZW5hbWU/OiAnSG90ZWxQb2xpY3knIH1cbiAgICAgICAgICAgICYgUGljazxIb3RlbFBvbGljeSwgJ2NhbmNlbGxhdGlvbicgfCAnZGVwb3NpdCcgfCAnZGlzYWJsZWRBY2Nlc3MnIHwgJ2dlbmVyYWwnIHwgJ2d1YXJhbnRlZScgfCAncmVmdW5kQXZhaWxhYmxlJz5cbiAgICAgICAgICApLCB0YXg6IChcbiAgICAgICAgICAgIHsgX190eXBlbmFtZT86ICdIb3RlbFRheCcgfVxuICAgICAgICAgICAgJiBQaWNrPEhvdGVsVGF4LCAnaW5jbHVkZWQnIHwgJ3JhdGUnPlxuICAgICAgICAgICksIGFjY2VwdGVkQ2FyZHM/OiBNYXliZTxBcnJheTxNYXliZTwoXG4gICAgICAgICAgICB7IF9fdHlwZW5hbWU/OiAnSG90ZWxDYXJkJyB9XG4gICAgICAgICAgICAmIFBpY2s8SG90ZWxDYXJkLCAnaWQnIHwgJ25hbWUnPlxuICAgICAgICAgICk+Pj4sIHBheW1lbnRUeXBlcz86IE1heWJlPEFycmF5PE1heWJlPChcbiAgICAgICAgICAgIHsgX190eXBlbmFtZT86ICdIb3RlbFBheW1lbnRUeXBlJyB9XG4gICAgICAgICAgICAmIFBpY2s8SG90ZWxQYXltZW50VHlwZSwgJ3R5cGUnIHwgJ25hbWUnPlxuICAgICAgICAgICk+Pj4gfVxuICAgICAgICApPj4+IH1cbiAgICAgICk+IH1cbiAgICApPj4+LCBlcnJvcnM6IEFycmF5PChcbiAgICAgIHsgX190eXBlbmFtZT86ICdTZWFyY2hFcnJvcicgfVxuICAgICAgJiBFcnJvcnNGcmFnbWVudFxuICAgICk+IH1cbiAgKSB9XG4pO1xuXG5leHBvcnQgdHlwZSBHZXRJcmxTdXBwbGllclN0YXRpb25RdWVyeVZhcmlhYmxlcyA9IEV4YWN0PHtcbiAgaWQ/OiBNYXliZTxTY2FsYXJzWydJRCddPjtcbiAgc3VwcGxpZXI/OiBNYXliZTxJcmxTdXBwbGllcj47XG4gIGNvZGU/OiBNYXliZTxTY2FsYXJzWydTdHJpbmcnXT47XG59PjtcblxuXG5leHBvcnQgdHlwZSBHZXRJcmxTdXBwbGllclN0YXRpb25RdWVyeSA9IChcbiAgeyBfX3R5cGVuYW1lPzogJ1F1ZXJ5JyB9XG4gICYgeyBnZXRJUkxTdXBwbGllclN0YXRpb24/OiBNYXliZTwoXG4gICAgeyBfX3R5cGVuYW1lPzogJ0lSTFN1cHBsaWVyU3RhdGlvbicgfVxuICAgICYgUGljazxJcmxTdXBwbGllclN0YXRpb24sICdpZCcgfCAnbmFtZScgfCAnc3VwcGxpZXInIHwgJ3N0YXRpb25Db2RlJyB8ICdubGNDb2RlJyB8ICd0cmFpbmxpbmVDb2RlJyB8ICd0cmFpbmxpbmVVbmlxdWVDb2RlJz5cbiAgICAmIHsgbG9jYXRpb25EZXRhaWxzPzogTWF5YmU8KFxuICAgICAgeyBfX3R5cGVuYW1lPzogJ0xvY2F0aW9uRGV0YWlsJyB9XG4gICAgICAmIFBpY2s8TG9jYXRpb25EZXRhaWwsICdjb250aW5lbnQnIHwgJ2NvdW50cnknIHwgJ2NvdW50cnlDb2RlJyB8ICdzdGF0ZScgfCAnY2l0eScgfCAncG9zdGNvZGUnIHwgJ3JvYWQnIHwgJ2dyaWRSZWZlcmVuY2UnIHwgJ25vcnRoaW5nJyB8ICdlYXN0aW5nJz5cbiAgICAgICYgeyBjb29yZGluYXRlcz86IE1heWJlPChcbiAgICAgICAgeyBfX3R5cGVuYW1lPzogJ0dlb0Nvb3JkaW5hdGVzJyB9XG4gICAgICAgICYgUGljazxHZW9Db29yZGluYXRlcywgJ2xhdGl0dWRlJyB8ICdsb25naXR1ZGUnIHwgJ2FsdGl0dWRlJz5cbiAgICAgICk+IH1cbiAgICApPiB9XG4gICk+IH1cbik7XG5cbmV4cG9ydCB0eXBlIEdldFJhaWxTdGF0aW9uUXVlcnlWYXJpYWJsZXMgPSBFeGFjdDx7XG4gIGlkPzogTWF5YmU8U2NhbGFyc1snSUQnXT47XG4gIGNvZGU/OiBNYXliZTxTY2FsYXJzWydTdHJpbmcnXT47XG59PjtcblxuXG5leHBvcnQgdHlwZSBHZXRSYWlsU3RhdGlvblF1ZXJ5ID0gKFxuICB7IF9fdHlwZW5hbWU/OiAnUXVlcnknIH1cbiAgJiB7IGdldFJhaWxTdGF0aW9uOiAoXG4gICAgeyBfX3R5cGVuYW1lPzogJ1JhaWxTdGF0aW9uJyB9XG4gICAgJiBQaWNrPFJhaWxTdGF0aW9uLCAnaWQnIHwgJ25hbWUnIHwgJ3N0YXRpb25Db2RlJyB8ICdubGNDb2RlJyB8ICd0cmFpbmxpbmVDb2RlJyB8ICd0cmFpbmxpbmVVbmlxdWVDb2RlJz5cbiAgICAmIHsgbG9jYXRpb25EZXRhaWxzPzogTWF5YmU8KFxuICAgICAgeyBfX3R5cGVuYW1lPzogJ0xvY2F0aW9uRGV0YWlsJyB9XG4gICAgICAmIFBpY2s8TG9jYXRpb25EZXRhaWwsICdjb250aW5lbnQnIHwgJ2NvdW50cnknIHwgJ2NvdW50cnlDb2RlJyB8ICdzdGF0ZScgfCAnY2l0eScgfCAncG9zdGNvZGUnIHwgJ3JvYWQnIHwgJ2dyaWRSZWZlcmVuY2UnIHwgJ25vcnRoaW5nJyB8ICdlYXN0aW5nJz5cbiAgICAgICYgeyBjb29yZGluYXRlcz86IE1heWJlPChcbiAgICAgICAgeyBfX3R5cGVuYW1lPzogJ0dlb0Nvb3JkaW5hdGVzJyB9XG4gICAgICAgICYgUGljazxHZW9Db29yZGluYXRlcywgJ2xhdGl0dWRlJyB8ICdsb25naXR1ZGUnIHwgJ2FsdGl0dWRlJz5cbiAgICAgICk+IH1cbiAgICApPiB9XG4gICkgfVxuKTtcblxuZXhwb3J0IHR5cGUgR2V0UmFpbGNhcmRzUXVlcnlWYXJpYWJsZXMgPSBFeGFjdDx7IFtrZXk6IHN0cmluZ106IG5ldmVyOyB9PjtcblxuXG5leHBvcnQgdHlwZSBHZXRSYWlsY2FyZHNRdWVyeSA9IChcbiAgeyBfX3R5cGVuYW1lPzogJ1F1ZXJ5JyB9XG4gICYgeyBnZXRSYWlsY2FyZHM6IEFycmF5PChcbiAgICB7IF9fdHlwZW5hbWU/OiAnUmVmZXJlbmNlUmFpbENhcmRRdWFsaWZpZXInIH1cbiAgICAmIFBpY2s8UmVmZXJlbmNlUmFpbENhcmRRdWFsaWZpZXIsICduYW1lJyB8ICdjb2RlJz5cbiAgKT4gfVxuKTtcblxuZXhwb3J0IHR5cGUgR2V0Umlza0FsZXJ0c1F1ZXJ5VmFyaWFibGVzID0gRXhhY3Q8e1xuICBtaW5MZXZlbDogUmlza0xldmVsO1xuICBtYXhMZXZlbDogUmlza0xldmVsO1xuICBjb3VudHJ5SXNvQ29kZT86IE1heWJlPFNjYWxhcnNbJ1N0cmluZyddPjtcbiAgYWlycG9ydD86IE1heWJlPFNjYWxhcnNbJ0lEJ10+O1xuICByYWlsU3RhdGlvbj86IE1heWJlPFNjYWxhcnNbJ0lEJ10+O1xuICBhaXJwb3J0SWF0YT86IE1heWJlPFNjYWxhcnNbJ1N0cmluZyddPjtcbn0+O1xuXG5cbmV4cG9ydCB0eXBlIEdldFJpc2tBbGVydHNRdWVyeSA9IChcbiAgeyBfX3R5cGVuYW1lPzogJ1F1ZXJ5JyB9XG4gICYgeyBnZXRSaXNrQWxlcnRzOiBBcnJheTwoXG4gICAgeyBfX3R5cGVuYW1lPzogJ1Jpc2tBbGVydCcgfVxuICAgICYgUGljazxSaXNrQWxlcnQsICdpZCcgfCAndGl0bGUnIHwgJ2Rlc2NyaXB0aW9uJyB8ICdicmVha2luZycgfCAncmlzaycgfCAnY2F0ZWdvcnknIHwgJ2NvdW50cnknIHwgJ2xvY2F0aW9uJyB8ICdsYXRpdHVkZScgfCAnbG9uZ2l0dWRlJyB8ICdzdGFydERhdGUnIHwgJ2VuZERhdGUnIHwgJ3JlY2VpdmVkRGF0ZSc+XG4gICk+IH1cbik7XG5cbmV4cG9ydCB0eXBlIEdldFVzZXJBZGRyZXNzZXNRdWVyeVZhcmlhYmxlcyA9IEV4YWN0PHsgW2tleTogc3RyaW5nXTogbmV2ZXI7IH0+O1xuXG5cbmV4cG9ydCB0eXBlIEdldFVzZXJBZGRyZXNzZXNRdWVyeSA9IChcbiAgeyBfX3R5cGVuYW1lPzogJ1F1ZXJ5JyB9XG4gICYgeyBnZXRVc2VyQWRkcmVzc2VzOiBBcnJheTwoXG4gICAgeyBfX3R5cGVuYW1lPzogJ0FkZHJlc3MnIH1cbiAgICAmIFBpY2s8QWRkcmVzcywgJ2lkJyB8ICdkZXNjcmlwdGlvbicgfCAnbnVtYmVyT3JOYW1lJyB8ICdzdHJlZXQnIHwgJ3Rvd24nIHwgJ2NvdW50eScgfCAncG9zdGNvZGUnIHwgJ2NvdW50cnlDb2RlJyB8ICd1c2VyUHJpbWFyeScgfCAnb2ZmaWNlUHJpbWFyeSc+XG4gICk+IH1cbik7XG5cbmV4cG9ydCB0eXBlIEdldFVzZXJDb21wYW55T2ZmaWNlc1F1ZXJ5VmFyaWFibGVzID0gRXhhY3Q8eyBba2V5OiBzdHJpbmddOiBuZXZlcjsgfT47XG5cblxuZXhwb3J0IHR5cGUgR2V0VXNlckNvbXBhbnlPZmZpY2VzUXVlcnkgPSAoXG4gIHsgX190eXBlbmFtZT86ICdRdWVyeScgfVxuICAmIHsgZ2V0VXNlckNvbXBhbnlPZmZpY2VzOiBBcnJheTwoXG4gICAgeyBfX3R5cGVuYW1lPzogJ09mZmljZScgfVxuICAgICYgUGljazxPZmZpY2UsICdpZCcgfCAnbmFtZSc+XG4gICAgJiB7IGFkZHJlc3NlczogQXJyYXk8KFxuICAgICAgeyBfX3R5cGVuYW1lPzogJ0FkZHJlc3MnIH1cbiAgICAgICYgUGljazxBZGRyZXNzLCAnaWQnIHwgJ2Rlc2NyaXB0aW9uJyB8ICdudW1iZXJPck5hbWUnIHwgJ3N0cmVldCcgfCAndG93bicgfCAnY291bnR5JyB8ICdwb3N0Y29kZScgfCAnY291bnRyeUNvZGUnIHwgJ3VzZXJQcmltYXJ5JyB8ICdvZmZpY2VQcmltYXJ5Jz5cbiAgICApPiB9XG4gICk+IH1cbik7XG5cbmV4cG9ydCB0eXBlIEdldFVzZXJDdXJyZW50Q2FyYm9uQWxsb3dhbmNlUXVlcnlWYXJpYWJsZXMgPSBFeGFjdDx7XG4gIHVzZXI/OiBNYXliZTxTY2FsYXJzWydJRCddPjtcbn0+O1xuXG5cbmV4cG9ydCB0eXBlIEdldFVzZXJDdXJyZW50Q2FyYm9uQWxsb3dhbmNlUXVlcnkgPSAoXG4gIHsgX190eXBlbmFtZT86ICdRdWVyeScgfVxuICAmIHsgZ2V0VXNlckN1cnJlbnRDYXJib25BbGxvd2FuY2U/OiBNYXliZTwoXG4gICAgeyBfX3R5cGVuYW1lPzogJ0NhcmJvbkFsbG93YW5jZScgfVxuICAgICYgUGljazxDYXJib25BbGxvd2FuY2UsICdpZCcgfCAnc3RhcnRPZlBlcmlvZCcgfCAnZW5kT2ZQZXJpb2QnIHwgJ3JlbWFpbmluZ0NvMicgfCAndG90YWxDbzInIHwgJ2NhcmJvblBvbGljeVNvdXJjZSc+XG4gICAgJiB7IGNvbXBhbnk/OiBNYXliZTwoXG4gICAgICB7IF9fdHlwZW5hbWU/OiAnQ29tcGFueScgfVxuICAgICAgJiBQaWNrPENvbXBhbnksICdpZCcgfCAnbmFtZSc+XG4gICAgKT4sIG9mZmljZT86IE1heWJlPChcbiAgICAgIHsgX190eXBlbmFtZT86ICdPZmZpY2UnIH1cbiAgICAgICYgUGljazxPZmZpY2UsICdpZCcgfCAnbmFtZSc+XG4gICAgKT4sIHVzZXI6IChcbiAgICAgIHsgX190eXBlbmFtZT86ICdVc2VyJyB9XG4gICAgICAmIFBpY2s8VXNlciwgJ2lkJyB8ICdmb3JlbmFtZScgfCAnc3VybmFtZScgfCAnZW1haWwnPlxuICAgICksIHBlcmlvZENvbnN1bXB0aW9uOiBBcnJheTwoXG4gICAgICB7IF9fdHlwZW5hbWU/OiAnQ2FyYm9uQ29uc3VtcHRpb24nIH1cbiAgICAgICYgUGljazxDYXJib25Db25zdW1wdGlvbiwgJ2lkJyB8ICdjb25zdW1lZCcgfCAnZGF0ZXRpbWUnPlxuICAgICk+IH1cbiAgKT4gfVxuKTtcblxuZXhwb3J0IHR5cGUgR2V0VXNlck1pQXV0b1N1Z2dlc3RWYWx1ZXNRdWVyeVZhcmlhYmxlcyA9IEV4YWN0PHtcbiAgbWk6IFNjYWxhcnNbJ0lEJ107XG4gIHBhcnRpYWxMYWJlbDogU2NhbGFyc1snU3RyaW5nJ107XG59PjtcblxuXG5leHBvcnQgdHlwZSBHZXRVc2VyTWlBdXRvU3VnZ2VzdFZhbHVlc1F1ZXJ5ID0gKFxuICB7IF9fdHlwZW5hbWU/OiAnUXVlcnknIH1cbiAgJiB7IGdldFVzZXJNSUF1dG9TdWdnZXN0VmFsdWVzOiBBcnJheTwoXG4gICAgeyBfX3R5cGVuYW1lPzogJ01hbmFnZW1lbnRJbmZvVmFsdWUnIH1cbiAgICAmIFBpY2s8TWFuYWdlbWVudEluZm9WYWx1ZSwgJ2lkJyB8ICdsYWJlbCcgfCAndmFsdWUnIHwgJ2RlZmF1bHQnIHwgJ2ZpeGVkJyB8ICdhZ2VudE9ubHknPlxuICApPiB9XG4pO1xuXG5leHBvcnQgdHlwZSBHZXRVc2VyUGhvbmVRdWVyeVZhcmlhYmxlcyA9IEV4YWN0PHsgW2tleTogc3RyaW5nXTogbmV2ZXI7IH0+O1xuXG5cbmV4cG9ydCB0eXBlIEdldFVzZXJQaG9uZVF1ZXJ5ID0gKFxuICB7IF9fdHlwZW5hbWU/OiAnUXVlcnknIH1cbiAgJiB7IGdldFVzZXJQaG9uZU51bWJlcnM6IEFycmF5PChcbiAgICB7IF9fdHlwZW5hbWU/OiAnUGhvbmVOdW1iZXInIH1cbiAgICAmIFBpY2s8UGhvbmVOdW1iZXIsICdpZCcgfCAnZGVzY3JpcHRpb24nIHwgJ2NvdW50cnlDb2RlJyB8ICdhcmVhQ29kZScgfCAnbnVtYmVyJyB8ICdleHRlbnNpb24nIHwgJ3R5cGUnIHwgJ29mZmljZVByaW1hcnknIHwgJ3VzZXJQcmltYXJ5Jz5cbiAgKT4gfVxuKTtcblxuZXhwb3J0IHR5cGUgR2V0VXNlclJlY2VudFNlYXJjaGVzUXVlcnlWYXJpYWJsZXMgPSBFeGFjdDx7XG4gIHNlcnZpY2VUeXBlPzogTWF5YmU8U2VydmljZVR5cGU+O1xufT47XG5cblxuZXhwb3J0IHR5cGUgR2V0VXNlclJlY2VudFNlYXJjaGVzUXVlcnkgPSAoXG4gIHsgX190eXBlbmFtZT86ICdRdWVyeScgfVxuICAmIHsgZ2V0VXNlclJlY2VudFNlYXJjaGVzOiBBcnJheTwoXG4gICAgeyBfX3R5cGVuYW1lPzogJ1NlYXJjaCcgfVxuICAgICYgUGljazxTZWFyY2gsICdpZCcgfCAnbmFtZScgfCAnc2VydmljZVR5cGUnIHwgJ3NlYXJjaEFyZ3MnIHwgJ2NyZWF0ZWRBdCcgfCAndXBkYXRlZEF0JyB8ICd0cmF2ZWxEYXRlJz5cbiAgICAmIHsgdHJhdmVsbGVycz86IE1heWJlPEFycmF5PChcbiAgICAgIHsgX190eXBlbmFtZT86ICdVc2VyJyB9XG4gICAgICAmIFBpY2s8VXNlciwgJ2lkJyB8ICd0aXRsZScgfCAnZm9yZW5hbWUnIHwgJ3N1cm5hbWUnIHwgJ2VtYWlsJyB8ICd1c2VybmFtZScgfCAnZG9iJz5cbiAgICApPj4gfVxuICApPiB9XG4pO1xuXG5leHBvcnQgdHlwZSBTZWFyY2hIb3RlbHNRdWVyeVZhcmlhYmxlcyA9IEV4YWN0PHtcbiAgc3RhcnREYXRlOiBTY2FsYXJzWydEYXRlJ107XG4gIGVuZERhdGU6IFNjYWxhcnNbJ0RhdGUnXTtcbiAgY2l0eU5hbWU/OiBNYXliZTxTY2FsYXJzWydTdHJpbmcnXT47XG4gIHBvc3RPclppcENvZGU/OiBNYXliZTxTY2FsYXJzWydTdHJpbmcnXT47XG4gIGNvdW50cnlDb2RlPzogTWF5YmU8U2NhbGFyc1snU3RyaW5nJ10+O1xuICBsYXRpdHVkZT86IE1heWJlPFNjYWxhcnNbJ0Zsb2F0J10+O1xuICBsb25naXR1ZGU/OiBNYXliZTxTY2FsYXJzWydGbG9hdCddPjtcbiAgdHJhaW5TdGF0aW9uQ29kZT86IE1heWJlPFNjYWxhcnNbJ1N0cmluZyddPjtcbiAgaWF0YT86IE1heWJlPFNjYWxhcnNbJ1N0cmluZyddPjtcbiAgb2ZmaWNlSWQ/OiBNYXliZTxTY2FsYXJzWydJbnQnXT47XG4gIHJvb21zOiBTY2FsYXJzWydJbnQnXTtcbiAgYWR1bHRzOiBTY2FsYXJzWydJbnQnXTtcbiAgY2hpbGRyZW4/OiBNYXliZTxTY2FsYXJzWydJbnQnXT47XG4gIGN1cnJlbmN5OiBTY2FsYXJzWydTdHJpbmcnXTtcbiAgZGlzdGFuY2VUeXBlOiBEaXN0YW5jZVR5cGVzO1xuICBkaXN0YW5jZTogU2NhbGFyc1snSW50J107XG4gIG1heFJlc3VsdHM/OiBNYXliZTxTY2FsYXJzWydJbnQnXT47XG4gIGhvdGVsTmFtZT86IE1heWJlPFNjYWxhcnNbJ1N0cmluZyddPjtcbiAgZ3JvdXBOYW1lPzogTWF5YmU8U2NhbGFyc1snU3RyaW5nJ10+O1xufT47XG5cblxuZXhwb3J0IHR5cGUgU2VhcmNoSG90ZWxzUXVlcnkgPSAoXG4gIHsgX190eXBlbmFtZT86ICdRdWVyeScgfVxuICAmIHsgc2VhcmNoSG90ZWxzOiAoXG4gICAgeyBfX3R5cGVuYW1lPzogJ0hvdGVsU2VhcmNoUmVzdWx0JyB9XG4gICAgJiB7IHJlc3VsdHM/OiBNYXliZTxBcnJheTxNYXliZTwoXG4gICAgICB7IF9fdHlwZW5hbWU/OiAnSG90ZWxJdGluZXJhcnknIH1cbiAgICAgICYgUGljazxIb3RlbEl0aW5lcmFyeSwgJ2lkJyB8ICduYW1lJyB8ICdpbWFnZVVybCcgfCAnZ3JvdXAnIHwgJ2NvMlBlclBhc3NlbmdlcicgfCAnY28yUGVySXRlbScgfCAnc291cmNlJyB8ICdzb3VyY2VJZCcgfCAndmVyc2lvbicgfCAndG1jUHJlZmVycmVkJyB8ICdjb21wYW55UHJlZmVycmVkJyB8ICdvZmZpY2VQcmVmZXJyZWQnIHwgJ3RtY1ByZWZlcnJlZE1lc3NhZ2UnIHwgJ2NvbXBhbnlQcmVmZXJyZWRNZXNzYWdlJyB8ICdvZmZpY2VQcmVmZXJyZWRNZXNzYWdlJyB8ICd1bmF2YWlsYWJsZScgfCAndW5hdmFpbGFibGVNZXNzYWdlJz5cbiAgICAgICYgeyBsb2NhdGlvbjogKFxuICAgICAgICB7IF9fdHlwZW5hbWU/OiAnSG90ZWxMb2NhdGlvbicgfVxuICAgICAgICAmIFBpY2s8SG90ZWxMb2NhdGlvbiwgJ2Rpc3RhbmNlJyB8ICdkaXN0YW5jZVR5cGUnIHwgJ2xvbmdpdHVkZScgfCAnbGF0aXR1ZGUnPlxuICAgICAgKSwgYWRkcmVzczogKFxuICAgICAgICB7IF9fdHlwZW5hbWU/OiAnSG90ZWxBZGRyZXNzJyB9XG4gICAgICAgICYgUGljazxIb3RlbEFkZHJlc3MsICdhZGRyZXNzTGluZTEnIHwgJ2FkZHJlc3NMaW5lMicgfCAnYWRkcmVzc0xpbmUzJyB8ICdwb3N0T3JaaXBDb2RlJyB8ICdjb3VudHJ5Q29kZScgfCAndGVsZXBob25lJyB8ICdmYWNzaW1pbGUnPlxuICAgICAgKSwgdHJhbnNwb3J0cz86IE1heWJlPEFycmF5PE1heWJlPChcbiAgICAgICAgeyBfX3R5cGVuYW1lPzogJ0hvdGVsVHJhbnNwb3J0JyB9XG4gICAgICAgICYgUGljazxIb3RlbFRyYW5zcG9ydCwgJ3R5cGUnIHwgJ25hbWUnIHwgJ2NvZGUnIHwgJ2Rpc3RhbmNlJyB8ICdkaXN0YW5jZVR5cGUnIHwgJ2xvbmdpdHVkZScgfCAnbGF0aXR1ZGUnPlxuICAgICAgKT4+PiwgcHJlZmVycmVkOiAoXG4gICAgICAgIHsgX190eXBlbmFtZT86ICdIb3RlbFByZWZlcnJlZCcgfVxuICAgICAgICAmIFBpY2s8SG90ZWxQcmVmZXJyZWQsICdjbGllbnQnIHwgJ2NvbnN1bWVyJz5cbiAgICAgICksIHRhZ3M/OiBNYXliZTxBcnJheTxNYXliZTwoXG4gICAgICAgIHsgX190eXBlbmFtZT86ICdIb3RlbFRhZycgfVxuICAgICAgICAmIFBpY2s8SG90ZWxUYWcsICduYW1lJyB8ICdkaXNwbGF5JyB8ICd0eXBlJyB8ICdpY29uJz5cbiAgICAgICk+Pj4sIGF2YWlsYWJsZVJhdGVzPzogTWF5YmU8KFxuICAgICAgICB7IF9fdHlwZW5hbWU/OiAnSG90ZWxBdmFpbGFiaWxpdHknIH1cbiAgICAgICAgJiBQaWNrPEhvdGVsQXZhaWxhYmlsaXR5LCAnaG90ZWxJZCcgfCAnaW1hZ2VVcmwnIHwgJ3BycG4nIHwgJ2N1cnJlbmN5Q29kZScgfCAnaXNCdXN5JyB8ICdzb3VyY2UnIHwgJ3ZlcnNpb24nPlxuICAgICAgICAmIHsgcm9vbXM/OiBNYXliZTxBcnJheTxNYXliZTwoXG4gICAgICAgICAgeyBfX3R5cGVuYW1lPzogJ0hvdGVsUm9vbScgfVxuICAgICAgICAgICYgUGljazxIb3RlbFJvb20sICdyb29tSWQnIHwgJ3Jvb21UeXBlJyB8ICdyb29tRGVzY3JpcHRpb24nIHwgJ3JhdGVDb2RlJyB8ICdyYXRlRGVzY3JpcHRpb24nIHwgJ3RvdGFsJyB8ICdjdXJyZW5jeUNvZGUnPlxuICAgICAgICAgICYgeyBjdXJyZW5jeUNvbnZlcnNpb24/OiBNYXliZTwoXG4gICAgICAgICAgICB7IF9fdHlwZW5hbWU/OiAnSG90ZWxDb252ZXJzaW9uJyB9XG4gICAgICAgICAgICAmIFBpY2s8SG90ZWxDb252ZXJzaW9uLCAncmF0ZScgfCAnbG9jYWxDb2RlJyB8ICdsb2NhbFRvdGFsJyB8ICdjb252ZXJ0ZWRDb2RlJyB8ICdjb252ZXJ0ZWRUb3RhbCc+XG4gICAgICAgICAgKT4sIGRlcG9zaXQ/OiBNYXliZTwoXG4gICAgICAgICAgICB7IF9fdHlwZW5hbWU/OiAnSG90ZWxEZXBvc2l0JyB9XG4gICAgICAgICAgICAmIFBpY2s8SG90ZWxEZXBvc2l0LCAnYW1vdW50JyB8ICdwb2xpY3knIHwgJ3JlcXVpcmVkJz5cbiAgICAgICAgICApPiwgbmlnaHRzOiBBcnJheTwoXG4gICAgICAgICAgICB7IF9fdHlwZW5hbWU/OiAnSG90ZWxOaWdodCcgfVxuICAgICAgICAgICAgJiBQaWNrPEhvdGVsTmlnaHQsICduaWdodCcgfCAncmF0ZScgfCAnaW5mbycgfCAnZGF0ZSc+XG4gICAgICAgICAgKT4sIHBvbGljaWVzOiAoXG4gICAgICAgICAgICB7IF9fdHlwZW5hbWU/OiAnSG90ZWxQb2xpY3knIH1cbiAgICAgICAgICAgICYgUGljazxIb3RlbFBvbGljeSwgJ2NhbmNlbGxhdGlvbicgfCAnZGVwb3NpdCcgfCAnZGlzYWJsZWRBY2Nlc3MnIHwgJ2dlbmVyYWwnIHwgJ2d1YXJhbnRlZScgfCAncmVmdW5kQXZhaWxhYmxlJz5cbiAgICAgICAgICApLCB0YXg6IChcbiAgICAgICAgICAgIHsgX190eXBlbmFtZT86ICdIb3RlbFRheCcgfVxuICAgICAgICAgICAgJiBQaWNrPEhvdGVsVGF4LCAnaW5jbHVkZWQnIHwgJ3JhdGUnPlxuICAgICAgICAgICksIGFjY2VwdGVkQ2FyZHM/OiBNYXliZTxBcnJheTxNYXliZTwoXG4gICAgICAgICAgICB7IF9fdHlwZW5hbWU/OiAnSG90ZWxDYXJkJyB9XG4gICAgICAgICAgICAmIFBpY2s8SG90ZWxDYXJkLCAnaWQnIHwgJ25hbWUnPlxuICAgICAgICAgICk+Pj4sIHBheW1lbnRUeXBlcz86IE1heWJlPEFycmF5PE1heWJlPChcbiAgICAgICAgICAgIHsgX190eXBlbmFtZT86ICdIb3RlbFBheW1lbnRUeXBlJyB9XG4gICAgICAgICAgICAmIFBpY2s8SG90ZWxQYXltZW50VHlwZSwgJ3R5cGUnIHwgJ25hbWUnPlxuICAgICAgICAgICk+Pj4gfVxuICAgICAgICApPj4+IH1cbiAgICAgICk+IH1cbiAgICApPj4+LCBlcnJvcnM6IEFycmF5PChcbiAgICAgIHsgX190eXBlbmFtZT86ICdTZWFyY2hFcnJvcicgfVxuICAgICAgJiBQaWNrPFNlYXJjaEVycm9yLCAnZXJyb3JNZXNzYWdlJyB8ICdlcnJvckNvZGUnPlxuICAgICAgJiB7IHNlcnZpY2U6IChcbiAgICAgICAgeyBfX3R5cGVuYW1lPzogJ1NlcnZpY2UnIH1cbiAgICAgICAgJiBQaWNrPFNlcnZpY2UsICdpZCcgfCAndHlwZScgfCAnbmFtZScgfCAnZGVzY3JpcHRpb24nIHwgJ2RldGFpbFNjaGVtYScgfCAnc2VhcmNoUXVlcnlTY2hlbWEnPlxuICAgICAgKSB9XG4gICAgKT4gfVxuICApIH1cbik7XG5cbmV4cG9ydCB0eXBlIEdldE11bHRpcGxlSG90ZWxzQXZhaWxhYmlsaXR5UXVlcnlWYXJpYWJsZXMgPSBFeGFjdDx7XG4gIGhvdGVsOiBBcnJheTxTY2FsYXJzWydTdHJpbmcnXT4gfCBTY2FsYXJzWydTdHJpbmcnXTtcbiAgc3RhcnREYXRlOiBTY2FsYXJzWydEYXRlJ107XG4gIGVuZERhdGU6IFNjYWxhcnNbJ0RhdGUnXTtcbiAgY3VycmVuY3k6IFNjYWxhcnNbJ1N0cmluZyddO1xuICBvY2N1cGFudHM6IFNjYWxhcnNbJ0ludCddO1xuICByb29tcz86IE1heWJlPFNjYWxhcnNbJ0ludCddPjtcbn0+O1xuXG5cbmV4cG9ydCB0eXBlIEdldE11bHRpcGxlSG90ZWxzQXZhaWxhYmlsaXR5UXVlcnkgPSAoXG4gIHsgX190eXBlbmFtZT86ICdRdWVyeScgfVxuICAmIHsgZ2V0TXVsdGlwbGVIb3RlbHNBdmFpbGFiaWxpdHk6IChcbiAgICB7IF9fdHlwZW5hbWU/OiAnSG90ZWxNdWx0aUF2YWlsYWJpbGl0eVJlc3VsdCcgfVxuICAgICYgeyByZXN1bHRzPzogTWF5YmU8QXJyYXk8TWF5YmU8KFxuICAgICAgeyBfX3R5cGVuYW1lPzogJ0hvdGVsQXZhaWxhYmlsaXR5JyB9XG4gICAgICAmIFBpY2s8SG90ZWxBdmFpbGFiaWxpdHksICdob3RlbElkJyB8ICdwcnBuJyB8ICdjdXJyZW5jeUNvZGUnIHwgJ2lzQnVzeScgfCAnc291cmNlJyB8ICd2ZXJzaW9uJz5cbiAgICAgICYgeyByb29tcz86IE1heWJlPEFycmF5PE1heWJlPChcbiAgICAgICAgeyBfX3R5cGVuYW1lPzogJ0hvdGVsUm9vbScgfVxuICAgICAgICAmIFBpY2s8SG90ZWxSb29tLCAncm9vbUlkJyB8ICdyb29tVHlwZScgfCAncm9vbURlc2NyaXB0aW9uJyB8ICdyYXRlQ29kZScgfCAncmF0ZURlc2NyaXB0aW9uJyB8ICd0b3RhbCcgfCAnY3VycmVuY3lDb2RlJz5cbiAgICAgICAgJiB7IGN1cnJlbmN5Q29udmVyc2lvbj86IE1heWJlPChcbiAgICAgICAgICB7IF9fdHlwZW5hbWU/OiAnSG90ZWxDb252ZXJzaW9uJyB9XG4gICAgICAgICAgJiBQaWNrPEhvdGVsQ29udmVyc2lvbiwgJ3JhdGUnIHwgJ2xvY2FsQ29kZScgfCAnbG9jYWxUb3RhbCcgfCAnY29udmVydGVkQ29kZScgfCAnY29udmVydGVkVG90YWwnPlxuICAgICAgICApPiwgZGVwb3NpdD86IE1heWJlPChcbiAgICAgICAgICB7IF9fdHlwZW5hbWU/OiAnSG90ZWxEZXBvc2l0JyB9XG4gICAgICAgICAgJiBQaWNrPEhvdGVsRGVwb3NpdCwgJ2Ftb3VudCcgfCAncG9saWN5JyB8ICdyZXF1aXJlZCc+XG4gICAgICAgICk+LCBuaWdodHM6IEFycmF5PChcbiAgICAgICAgICB7IF9fdHlwZW5hbWU/OiAnSG90ZWxOaWdodCcgfVxuICAgICAgICAgICYgUGljazxIb3RlbE5pZ2h0LCAnbmlnaHQnIHwgJ3JhdGUnIHwgJ2luZm8nIHwgJ2RhdGUnPlxuICAgICAgICApPiwgcG9saWNpZXM6IChcbiAgICAgICAgICB7IF9fdHlwZW5hbWU/OiAnSG90ZWxQb2xpY3knIH1cbiAgICAgICAgICAmIFBpY2s8SG90ZWxQb2xpY3ksICdjYW5jZWxsYXRpb24nIHwgJ2RlcG9zaXQnIHwgJ2Rpc2FibGVkQWNjZXNzJyB8ICdnZW5lcmFsJyB8ICdndWFyYW50ZWUnIHwgJ3JlZnVuZEF2YWlsYWJsZSc+XG4gICAgICAgICksIHRheDogKFxuICAgICAgICAgIHsgX190eXBlbmFtZT86ICdIb3RlbFRheCcgfVxuICAgICAgICAgICYgUGljazxIb3RlbFRheCwgJ2luY2x1ZGVkJyB8ICdyYXRlJz5cbiAgICAgICAgKSwgYWNjZXB0ZWRDYXJkcz86IE1heWJlPEFycmF5PE1heWJlPChcbiAgICAgICAgICB7IF9fdHlwZW5hbWU/OiAnSG90ZWxDYXJkJyB9XG4gICAgICAgICAgJiBQaWNrPEhvdGVsQ2FyZCwgJ2lkJyB8ICduYW1lJz5cbiAgICAgICAgKT4+PiwgcGF5bWVudFR5cGVzPzogTWF5YmU8QXJyYXk8TWF5YmU8KFxuICAgICAgICAgIHsgX190eXBlbmFtZT86ICdIb3RlbFBheW1lbnRUeXBlJyB9XG4gICAgICAgICAgJiBQaWNrPEhvdGVsUGF5bWVudFR5cGUsICd0eXBlJyB8ICduYW1lJz5cbiAgICAgICAgKT4+PiB9XG4gICAgICApPj4+IH1cbiAgICApPj4+LCBlcnJvcnM6IEFycmF5PChcbiAgICAgIHsgX190eXBlbmFtZT86ICdTZWFyY2hFcnJvcicgfVxuICAgICAgJiBFcnJvcnNGcmFnbWVudFxuICAgICk+IH1cbiAgKSB9XG4pO1xuXG5leHBvcnQgdHlwZSBJc1Bvc3Rjb2RlVmFsaWRRdWVyeVZhcmlhYmxlcyA9IEV4YWN0PHtcbiAgcG9zdGNvZGU6IFNjYWxhcnNbJ1N0cmluZyddO1xufT47XG5cblxuZXhwb3J0IHR5cGUgSXNQb3N0Y29kZVZhbGlkUXVlcnkgPSAoXG4gIHsgX190eXBlbmFtZT86ICdRdWVyeScgfVxuICAmIFBpY2s8UXVlcnksICdpc1Bvc3Rjb2RlVmFsaWQnPlxuKTtcblxuZXhwb3J0IHR5cGUgTG9jYXRpb25fRGV0YWlsRnJhZ21lbnQgPSAoXG4gIHsgX190eXBlbmFtZT86ICdMb2NhdGlvbkRldGFpbCcgfVxuICAmIFBpY2s8TG9jYXRpb25EZXRhaWwsICdjb250aW5lbnQnIHwgJ2NvdW50cnknIHwgJ2NvdW50cnlDb2RlJyB8ICdzdGF0ZScgfCAnY2l0eScgfCAncG9zdGNvZGUnIHwgJ3JvYWQnIHwgJ2dyaWRSZWZlcmVuY2UnIHwgJ25vcnRoaW5nJyB8ICdlYXN0aW5nJz5cbiAgJiB7IGNvb3JkaW5hdGVzPzogTWF5YmU8KFxuICAgIHsgX190eXBlbmFtZT86ICdHZW9Db29yZGluYXRlcycgfVxuICAgICYgUGljazxHZW9Db29yZGluYXRlcywgJ2xhdGl0dWRlJyB8ICdsb25naXR1ZGUnIHwgJ2FsdGl0dWRlJz5cbiAgKT4gfVxuKTtcblxuZXhwb3J0IHR5cGUgU2VhcmNoQWlycG9ydHNRdWVyeVZhcmlhYmxlcyA9IEV4YWN0PHtcbiAgcXVlcnk6IFNjYWxhcnNbJ1N0cmluZyddO1xuICBjb3VudHJ5Q29kZT86IE1heWJlPFNjYWxhcnNbJ1N0cmluZyddPjtcbiAgaGFzTG91bmdlPzogTWF5YmU8U2NhbGFyc1snQm9vbGVhbiddPjtcbiAgaGFzUGFya2luZz86IE1heWJlPFNjYWxhcnNbJ0Jvb2xlYW4nXT47XG4gIGhhc0Zhc3RUcmFjaz86IE1heWJlPFNjYWxhcnNbJ0Jvb2xlYW4nXT47XG59PjtcblxuXG5leHBvcnQgdHlwZSBTZWFyY2hBaXJwb3J0c1F1ZXJ5ID0gKFxuICB7IF9fdHlwZW5hbWU/OiAnUXVlcnknIH1cbiAgJiB7IHNlYXJjaEFpcnBvcnRzOiAoXG4gICAgeyBfX3R5cGVuYW1lPzogJ0FpcnBvcnRSZXN1bHRzJyB9XG4gICAgJiB7IGlhdGFNYXRjaD86IE1heWJlPChcbiAgICAgIHsgX190eXBlbmFtZT86ICdBaXJwb3J0JyB9XG4gICAgICAmIFBpY2s8QWlycG9ydCwgJ2lkJyB8ICduYW1lJyB8ICdpYXRhJyB8ICdpY2FvJyB8ICd0ZXJtaW5hbHMnPlxuICAgICAgJiB7IGxvY2F0aW9uRGV0YWlscz86IE1heWJlPChcbiAgICAgICAgeyBfX3R5cGVuYW1lPzogJ0xvY2F0aW9uRGV0YWlsJyB9XG4gICAgICAgICYgTG9jYXRpb25fRGV0YWlsRnJhZ21lbnRcbiAgICAgICk+IH1cbiAgICApPiwgZ2VuZXJhbE1hdGNoZXM6IEFycmF5PChcbiAgICAgIHsgX190eXBlbmFtZT86ICdBaXJwb3J0JyB9XG4gICAgICAmIFBpY2s8QWlycG9ydCwgJ2lkJyB8ICduYW1lJyB8ICdpYXRhJyB8ICdpY2FvJyB8ICd0ZXJtaW5hbHMnPlxuICAgICAgJiB7IGxvY2F0aW9uRGV0YWlscz86IE1heWJlPChcbiAgICAgICAgeyBfX3R5cGVuYW1lPzogJ0xvY2F0aW9uRGV0YWlsJyB9XG4gICAgICAgICYgTG9jYXRpb25fRGV0YWlsRnJhZ21lbnRcbiAgICAgICk+IH1cbiAgICApPiB9XG4gICkgfVxuKTtcblxuZXhwb3J0IHR5cGUgU2VhcmNoTG91bmdlc1F1ZXJ5VmFyaWFibGVzID0gRXhhY3Q8e1xuICBsb2NhdGlvbkNvZGU6IFNjYWxhcnNbJ1N0cmluZyddO1xuICBhcnJpdmFsRGF0ZXRpbWU6IFNjYWxhcnNbJ0RhdGVUaW1lJ107XG4gIGFkdWx0czogU2NhbGFyc1snSW50J107XG4gIGNoaWxkcmVuPzogTWF5YmU8U2NhbGFyc1snSW50J10+O1xuICBpbmZhbnRzPzogTWF5YmU8U2NhbGFyc1snSW50J10+O1xuICB0ZXJtaW5hbD86IE1heWJlPFNjYWxhcnNbJ1N0cmluZyddPjtcbn0+O1xuXG5cbmV4cG9ydCB0eXBlIFNlYXJjaExvdW5nZXNRdWVyeSA9IChcbiAgeyBfX3R5cGVuYW1lPzogJ1F1ZXJ5JyB9XG4gICYgeyBzZWFyY2hMb3VuZ2VzOiAoXG4gICAgeyBfX3R5cGVuYW1lPzogJ0xvdW5nZVNlYXJjaFJlc3VsdCcgfVxuICAgICYgeyByZXN1bHRzOiBBcnJheTwoXG4gICAgICB7IF9fdHlwZW5hbWU/OiAnTG91bmdlUXVvdGUnIH1cbiAgICAgICYgUGljazxMb3VuZ2VRdW90ZSwgJ3NvdXJjZScgfCAnc291cmNlSWQnIHwgJ25hbWUnIHwgJ2NvZGUnIHwgJ3ByaWNlJyB8ICdjdXJyZW5jeScgfCAndG1jUHJlZmVycmVkJyB8ICdjb21wYW55UHJlZmVycmVkJyB8ICdvZmZpY2VQcmVmZXJyZWQnIHwgJ3RtY1ByZWZlcnJlZE1lc3NhZ2UnIHwgJ2NvbXBhbnlQcmVmZXJyZWRNZXNzYWdlJyB8ICdvZmZpY2VQcmVmZXJyZWRNZXNzYWdlJyB8ICd1bmF2YWlsYWJsZScgfCAndW5hdmFpbGFibGVNZXNzYWdlJyB8ICdjbzJQZXJQYXNzZW5nZXInIHwgJ2NvMlBlckl0ZW0nPlxuICAgICAgJiB7IGxvdW5nZTogKFxuICAgICAgICB7IF9fdHlwZW5hbWU/OiAnTG91bmdlTG9jYXRpb24nIH1cbiAgICAgICAgJiBQaWNrPExvdW5nZUxvY2F0aW9uLCAnY29kZScgfCAnbmFtZScgfCAnYWlycG9ydCcgfCAndGVybWluYWwnIHwgJ2FkZHJlc3MnIHwgJ3RlbGVwaG9uZScgfCAnZmF4JyB8ICdkaXJlY3Rpb25zJyB8ICdpbnRyb2R1Y3Rpb24nIHwgJ2xvZ28nIHwgJ21vYmlsZUltYWdlJyB8ICdmdXJ0aGVySW1hZ2VzJyB8ICdhZHVsdEFnZScgfCAnY2hpbGRBZ2UnIHwgJ2luZmFudEFnZScgfCAnbGFuZHNpZGUnIHwgJ2FpcnNpZGUnIHwgJ2ZhY2lsaXRpZXMnIHwgJ29wZW5UaW1lJyB8ICdjbG9zZVRpbWUnIHwgJ3dpZmknIHwgJ3R2JyB8ICdzbmFja3MnIHwgJ3Bob25lJyB8ICdpbnRlcm5ldCcgfCAnY2hpbGRyZW5BbGxvd2VkJyB8ICdkaXNhYmxlZEFjY2VzcycgfCAnZHJpbmtzJyB8ICdmcmVlRHJpbmtzJyB8ICdmcmVlRm9vZCcgfCAnc21va2luZ1Blcm1pdHRlZCcgfCAnbWFnYXppbmVzJyB8ICdpbmNsdWRlZERyaW5rcycgfCAnbWVudUZvb2QnIHwgJ21lbnVEcmlua3MnIHwgJ21lbnVFeHRyYXMnIHwgJ3doYXRzSW5jbHVkZWREcmlua3MnIHwgJ3doYXRzSW5jbHVkZWRFeHRyYXMnIHwgJ3doYXRzSW5jbHVkZWRGb29kJyB8ICdncm91cEluZm8nIHwgJ2NoZWNrSW5JbmZvJyB8ICdkcmVzc0NvZGUnIHwgJ2ZhY2lsaXRpZXNJbmZvJyB8ICdmb29kQW5kQmV2ZXJhZ2UnIHwgJ2NhbmNlbGxhdGlvbkluZm8nIHwgJ2FtZW5kbWVudHNJbmZvJyB8ICdtaXNjJz5cbiAgICAgICkgfVxuICAgICk+LCBlcnJvcnM6IEFycmF5PChcbiAgICAgIHsgX190eXBlbmFtZT86ICdTZWFyY2hFcnJvcicgfVxuICAgICAgJiBFcnJvcnNGcmFnbWVudFxuICAgICk+IH1cbiAgKSB9XG4pO1xuXG5leHBvcnQgdHlwZSBNb3ZlSXRlbVRvQURpZmZlcmVudEJhc2tldE11dGF0aW9uVmFyaWFibGVzID0gRXhhY3Q8e1xuICBiYXNrZXRJdGVtOiBTY2FsYXJzWydJRCddO1xuICBuZXdCYXNrZXQ6IFNjYWxhcnNbJ0lEJ107XG4gIHdpdGhTdXBwbGVtZW50YWw/OiBNYXliZTxTY2FsYXJzWydCb29sZWFuJ10+O1xufT47XG5cblxuZXhwb3J0IHR5cGUgTW92ZUl0ZW1Ub0FEaWZmZXJlbnRCYXNrZXRNdXRhdGlvbiA9IChcbiAgeyBfX3R5cGVuYW1lPzogJ011dGF0aW9uJyB9XG4gICYgeyBtb3ZlSXRlbVRvQURpZmZlcmVudEJhc2tldDogKFxuICAgIHsgX190eXBlbmFtZT86ICdCYXNrZXQnIH1cbiAgICAmIEJhc2tldEZpZWxkc0ZyYWdtZW50XG4gICkgfVxuKTtcblxuZXhwb3J0IHR5cGUgU2VhcmNoUGFya2luZ1F1ZXJ5VmFyaWFibGVzID0gRXhhY3Q8e1xuICBhcnJpdmFsRGF0ZXRpbWU6IFNjYWxhcnNbJ0RhdGVUaW1lJ107XG4gIGRlcGFydERhdGV0aW1lOiBTY2FsYXJzWydEYXRlVGltZSddO1xuICBsb2NhdGlvbkNvZGU6IFNjYWxhcnNbJ1N0cmluZyddO1xuICBvdXRGbGlnaHROdW1iZXI/OiBNYXliZTxTY2FsYXJzWydTdHJpbmcnXT47XG4gIHJlY29tbWVuZGVkPzogTWF5YmU8U2NhbGFyc1snQm9vbGVhbiddPjtcbiAgb25BaXJwb3J0PzogTWF5YmU8U2NhbGFyc1snQm9vbGVhbiddPjtcbiAgbWVldEFuZEdyZWV0PzogTWF5YmU8U2NhbGFyc1snQm9vbGVhbiddPjtcbiAgcGFya0FuZFJpZGU/OiBNYXliZTxTY2FsYXJzWydCb29sZWFuJ10+O1xuICBwYXJrQW5kU3Ryb2xsPzogTWF5YmU8U2NhbGFyc1snQm9vbGVhbiddPjtcbiAgY2FyUGFya2VkRm9yWW91PzogTWF5YmU8U2NhbGFyc1snQm9vbGVhbiddPjtcbiAgdGVybWluYWw/OiBNYXliZTxTY2FsYXJzWydTdHJpbmcnXT47XG59PjtcblxuXG5leHBvcnQgdHlwZSBTZWFyY2hQYXJraW5nUXVlcnkgPSAoXG4gIHsgX190eXBlbmFtZT86ICdRdWVyeScgfVxuICAmIHsgc2VhcmNoUGFya2luZzogKFxuICAgIHsgX190eXBlbmFtZT86ICdQYXJraW5nU2VhcmNoUmVzdWx0JyB9XG4gICAgJiB7IHJlc3VsdHM6IEFycmF5PChcbiAgICAgIHsgX190eXBlbmFtZT86ICdQYXJraW5nUXVvdGUnIH1cbiAgICAgICYgUGljazxQYXJraW5nUXVvdGUsICdzb3VyY2UnIHwgJ3NvdXJjZUlkJyB8ICdyZXF1aXJlZEluZm8nIHwgJ3ByaWNlJyB8ICdjdXJyZW5jeScgfCAnbWlzYycgfCAndG1jUHJlZmVycmVkJyB8ICdjb21wYW55UHJlZmVycmVkJyB8ICdvZmZpY2VQcmVmZXJyZWQnIHwgJ3RtY1ByZWZlcnJlZE1lc3NhZ2UnIHwgJ2NvbXBhbnlQcmVmZXJyZWRNZXNzYWdlJyB8ICdvZmZpY2VQcmVmZXJyZWRNZXNzYWdlJyB8ICd1bmF2YWlsYWJsZScgfCAndW5hdmFpbGFibGVNZXNzYWdlJyB8ICdjbzJQZXJQYXNzZW5nZXInIHwgJ2NvMlBlckl0ZW0nPlxuICAgICAgJiB7IGNhclBhcms6IChcbiAgICAgICAgeyBfX3R5cGVuYW1lPzogJ1BhcmtpbmdMb2NhdGlvbicgfVxuICAgICAgICAmIFBpY2s8UGFya2luZ0xvY2F0aW9uLCAnY29kZScgfCAnbmFtZScgfCAnYWlycG9ydCcgfCAndGVybWluYWwnIHwgJ2xhdGl0dWRlJyB8ICdsb25naXR1ZGUnIHwgJ2FkZHJlc3MnIHwgJ2Rpc3RhbmNlVG9BaXJwb3J0JyB8ICdvbkFpcnBvcnQnIHwgJ2NhclBhcmtlZEZvcllvdScgfCAnbWVldEFuZEdyZWV0JyB8ICd0ZWxlcGhvbmUnIHwgJ2ZheCcgfCAnZGlyZWN0aW9ucycgfCAnYXJyaXZhbFByb2NlZHVyZScgfCAnZGVwYXJ0dXJlUHJvY2VkdXJlJyB8ICdtYXhpbXVtQ2FyU2l6ZScgfCAnaW50cm9kdWN0aW9uJyB8ICdpbmZvcm1hdGlvbicgfCAndHJhbnNmZXJJbmZvcm1hdGlvbicgfCAndHJhbnNmZXJPcGVyYXRpbmdUaW1lcycgfCAndHJhbnNmZXJUaW1lJyB8ICdsb2dvJyB8ICdkZWZhdWx0SW1hZ2UnIHwgJ2JyYW5kSW1hZ2UnIHwgJ21vYmlsZUltYWdlJyB8ICdmdXJ0aGVySW1hZ2VzJyB8ICdtaXNjJz5cbiAgICAgICkgfVxuICAgICk+LCBlcnJvcnM6IEFycmF5PChcbiAgICAgIHsgX190eXBlbmFtZT86ICdTZWFyY2hFcnJvcicgfVxuICAgICAgJiBFcnJvcnNGcmFnbWVudFxuICAgICk+IH1cbiAgKSB9XG4pO1xuXG5leHBvcnQgdHlwZSBTZWFyY2hSYWlsUXVlcnlWYXJpYWJsZXMgPSBFeGFjdDx7XG4gIGNvdW50cnlDb2RlOiBTY2FsYXJzWydTdHJpbmcnXTtcbiAgam91cm5leVR5cGU6IFJhaWxKb3VybmV5VHlwZTtcbiAgY2xhc3M/OiBNYXliZTxSYWlsQ2xhc3M+O1xuICBvdXRib3VuZEFycml2YWxEYXRlVGltZT86IE1heWJlPFNjYWxhcnNbJ0RhdGVUaW1lJ10+O1xuICBvdXRib3VuZERlcGFydHVyZURhdGVUaW1lPzogTWF5YmU8U2NhbGFyc1snRGF0ZVRpbWUnXT47XG4gIGRlcGFydHVyZUxvY2F0aW9uSWQ6IFNjYWxhcnNbJ0lEJ107XG4gIGFycml2YWxMb2NhdGlvbklkOiBTY2FsYXJzWydJRCddO1xuICBhZHVsdHM6IFNjYWxhcnNbJ0ludCddO1xuICBjaGlsZHJlbj86IE1heWJlPFNjYWxhcnNbJ0ludCddPjtcbiAgcmV0dXJuQXJyaXZhbERhdGVUaW1lPzogTWF5YmU8U2NhbGFyc1snRGF0ZVRpbWUnXT47XG4gIHJldHVybkRlcGFydHVyZURhdGVUaW1lPzogTWF5YmU8U2NhbGFyc1snRGF0ZVRpbWUnXT47XG4gIHJhaWxDYXJkUXVhbGlmaWVycz86IE1heWJlPEFycmF5PFNjYWxhcnNbJ1N0cmluZyddPiB8IFNjYWxhcnNbJ1N0cmluZyddPjtcbiAgdmlhTG9jYXRpb25JZD86IE1heWJlPFNjYWxhcnNbJ0lEJ10+O1xuICBleHRyYVRpbWVUb0NoYW5nZT86IE1heWJlPFNjYWxhcnNbJ0Jvb2xlYW4nXT47XG4gIHBsdXNCdXNPdXQ/OiBNYXliZTxSYWlsUGx1c0J1c0F2YWlsPjtcbiAgcGx1c0J1c1JldHVybj86IE1heWJlPFJhaWxQbHVzQnVzQXZhaWw+O1xufT47XG5cblxuZXhwb3J0IHR5cGUgU2VhcmNoUmFpbFF1ZXJ5ID0gKFxuICB7IF9fdHlwZW5hbWU/OiAnUXVlcnknIH1cbiAgJiB7IHNlYXJjaFJhaWw6IChcbiAgICB7IF9fdHlwZW5hbWU/OiAnUmFpbFNlYXJjaFJlc3VsdCcgfVxuICAgICYgeyByZXN1bHRzOiBBcnJheTwoXG4gICAgICB7IF9fdHlwZW5hbWU/OiAnUmFpbEpvdXJuZXlPcHRpb25zJyB9XG4gICAgICAmIFBpY2s8UmFpbEpvdXJuZXlPcHRpb25zLCAnc291cmNlJyB8ICdzb3VyY2VJZCc+XG4gICAgICAmIHsgb3V0Ym91bmQ/OiBNYXliZTxBcnJheTwoXG4gICAgICAgIHsgX190eXBlbmFtZT86ICdSYWlsSm91cm5leU9wdGlvbicgfVxuICAgICAgICAmIFBpY2s8UmFpbEpvdXJuZXlPcHRpb24sICdjbzJQZXJJdGVtJyB8ICdmcm9tJyB8ICdmcm9tQ29kZScgfCAndG8nIHwgJ3RvQ29kZScgfCAnY28yUGVyUGFzc2VuZ2VyJyB8ICdkZXBhcnREYXRlVGltZScgfCAnYXJyaXZlRGF0ZVRpbWUnIHwgJ2NoYW5nZXMnIHwgJ3Vuc2VsbGFibGUnPlxuICAgICAgICAmIHsgaWRlbnRpZmllcnM/OiBNYXliZTwoXG4gICAgICAgICAgeyBfX3R5cGVuYW1lPzogJ1JhaWxJZGVudGlmaWVycycgfVxuICAgICAgICAgICYgUGljazxSYWlsSWRlbnRpZmllcnMsICd0cmFuc2FjdGlvbklkZW50aWZpZXInIHwgJ2pvdXJuZXlJZGVudGlmaWVyJyB8ICdwcm92aWRlcicgfCAnZmFyZUlkZW50aWZpZXInIHwgJ2RpcmVjdGlvbicgfCAnc2luZ2xlT3JSZXR1cm4nIHwgJ2Jvb2tpbmdSZWYnPlxuICAgICAgICApPiwgdHJhdmVsbGVycz86IE1heWJlPEFycmF5PChcbiAgICAgICAgICB7IF9fdHlwZW5hbWU/OiAnUmFpbFRyYXZlbGxlcicgfVxuICAgICAgICAgICYgUGljazxSYWlsVHJhdmVsbGVyLCAnc3RhdHVzJyB8ICdpZCcgfCAnZG9iJyB8ICdyYWlsY2FyZCcgfCAnZ2l2ZW5OYW1lJyB8ICdzdXJuYW1lJyB8ICduYW1lVGl0bGUnIHwgJ2NvbnRhY3RJbmZvJyB8ICdkZWxpdmVyeUVtYWlsQWRkcmVzcycgfCAnZmFyZSc+XG4gICAgICAgICk+Piwgc2VnbWVudHM/OiBNYXliZTxBcnJheTwoXG4gICAgICAgICAgeyBfX3R5cGVuYW1lPzogJ1JhaWxTZWdtZW50JyB9XG4gICAgICAgICAgJiBQaWNrPFJhaWxTZWdtZW50LCAnaWQnIHwgJ29wZXJhdG9yJyB8ICdkZXBhcnQnIHwgJ2RlcGFydERhdGVUaW1lJyB8ICdhcnJpdmUnIHwgJ2Fycml2ZURhdGVUaW1lJyB8ICdyZXNlcnZhYmxlU3RhdHVzJyB8ICdzZWF0UHJlZmVyZW5jZUdyb3VwJz5cbiAgICAgICAgICAmIHsgc2VhdFByZWZlcmVuY2VUeXBlcz86IE1heWJlPEFycmF5PChcbiAgICAgICAgICAgIHsgX190eXBlbmFtZT86ICdSYWlsU2VhdFByZWZlcmVuY2VUeXBlJyB9XG4gICAgICAgICAgICAmIFBpY2s8UmFpbFNlYXRQcmVmZXJlbmNlVHlwZSwgJ25hbWUnIHwgJ2FsbG93ZWRWYWx1ZXMnPlxuICAgICAgICAgICk+Piwgc2VhdHM/OiBNYXliZTxBcnJheTwoXG4gICAgICAgICAgICB7IF9fdHlwZW5hbWU/OiAnUmFpbFNlYXQnIH1cbiAgICAgICAgICAgICYgUGljazxSYWlsU2VhdCwgJ2xvY2F0aW9uJyB8ICdjb2FjaCcgfCAnbnVtYmVyJyB8ICdkaXJlY3Rpb24nIHwgJ3Bvc2l0aW9uJyB8ICdkZWNrJyB8ICdzZWF0VHlwZScgfCAnc2VhdFNlbGVjdGlvbicgfCAnZmFjaWxpdGllcycgfCAnbm90ZSc+XG4gICAgICAgICAgKT4+LCBjYWxsaW5nUG9pbnRzPzogTWF5YmU8QXJyYXk8KFxuICAgICAgICAgICAgeyBfX3R5cGVuYW1lPzogJ1JhaWxDYWxsaW5nUG9pbnQnIH1cbiAgICAgICAgICAgICYgUGljazxSYWlsQ2FsbGluZ1BvaW50LCAnc3RhdGlvbk5hbWUnIHwgJ3N0YXRpb25Db2RlJyB8ICdhcnJpdmFsRGF0ZVRpbWUnIHwgJ2RlcGFydHVyZURhdGVUaW1lJyB8ICdzY2hlZHVsZWRQbGF0Zm9ybScgfCAnc3RhdGlvbkNsYXNzaWZpY2F0aW9uJyB8ICdzdG9wcGluZ1BhdHRlcm4nPlxuICAgICAgICAgICk+PiB9XG4gICAgICAgICk+PiwgcHJvdmlkZXJzPzogTWF5YmU8QXJyYXk8KFxuICAgICAgICAgIHsgX190eXBlbmFtZT86ICdSYWlsUHJvdmlkZXInIH1cbiAgICAgICAgICAmIFBpY2s8UmFpbFByb3ZpZGVyLCAncHJvdmlkZXJJZCcgfCAnbmFtZSc+XG4gICAgICAgICAgJiB7IGNoZWFwZXN0VGlja2V0PzogTWF5YmU8KFxuICAgICAgICAgICAgeyBfX3R5cGVuYW1lPzogJ1JhaWxUaWNrZXRPcHRpb24nIH1cbiAgICAgICAgICAgICYgUGljazxSYWlsVGlja2V0T3B0aW9uLCAndHlwZScgfCAnY2xhc3MnIHwgJ3NpbmdsZU9yUmV0dXJuJyB8ICdwcmljZScgfCAncmVzZXJ2YWJsZVN0YXR1cycgfCAnY3VycmVuY3knIHwgJ3JvdXRlJyB8ICdyb3V0ZUNvZGUnIHwgJ2F2YWlsYWJsZVNlYXRzJz5cbiAgICAgICAgICAgICYgeyBpZGVudGlmaWVycz86IE1heWJlPChcbiAgICAgICAgICAgICAgeyBfX3R5cGVuYW1lPzogJ1JhaWxJZGVudGlmaWVycycgfVxuICAgICAgICAgICAgICAmIFBpY2s8UmFpbElkZW50aWZpZXJzLCAndHJhbnNhY3Rpb25JZGVudGlmaWVyJyB8ICdqb3VybmV5SWRlbnRpZmllcicgfCAncHJvdmlkZXInIHwgJ2ZhcmVJZGVudGlmaWVyJyB8ICdkaXJlY3Rpb24nIHwgJ3NpbmdsZU9yUmV0dXJuJyB8ICdib29raW5nUmVmJz5cbiAgICAgICAgICAgICk+LCB0ZXJtcz86IE1heWJlPChcbiAgICAgICAgICAgICAgeyBfX3R5cGVuYW1lPzogJ1JhaWxUaWNrZXRUZXJtcycgfVxuICAgICAgICAgICAgICAmIFBpY2s8UmFpbFRpY2tldFRlcm1zLCAnZXJyb3InIHwgJ3RpY2tldFR5cGVDb2RlJyB8ICd0cmFpbk9wZXJhdGluZ0NvbXBhbnlDb2RlJyB8ICd0aWNrZXRUeXBlTmFtZScgfCAndGlja2V0VHlwZUFsdE5hbWUnIHwgJ3RpY2tldFR5cGVDbGFzcycgfCAncmVzZXJ2YXRpb25SdWxlJyB8ICdqb3VybmV5VHlwZScgfCAncHJlQm9va2luZ1JlcXVpcmVtZW50JyB8ICdnZW5lcmFsVmFsaWRpdHknIHwgJ3ZhbGlkT3V0UnVsZScgfCAndmFsaWRSZXR1cm5SdWxlJyB8ICdnZW5lcmFsRGlzY291bnQnIHwgJ2NoaWxkRGlzY291bnQnIHwgJ3JhaWxjYXJkRGlzY291bnQnIHwgJ3JlZnVuZENhbmNlbGxhdGlvblJ1bGUnIHwgJ2NoYW5nZVJ1bGUnIHwgJ3RpY2tldFR5cGVDb25kaXRpb25zRGVzY3JpcHRpb24nIHwgJ2pvdXJuZXlCcmVha1J1bGUnIHwgJ2F2YWlsYWJpbGl0eVJ1bGUnIHwgJ3RvZEF2YWlsYWJsZScgfCAna2lvc2tBdmFpbGFibGUnIHwgJ3N0YXJ0RGF0ZScgfCAnZW5kRGF0ZSc+XG4gICAgICAgICAgICAgICYgeyBkeW5hbWljQ29uZGl0aW9ucz86IE1heWJlPEFycmF5PE1heWJlPChcbiAgICAgICAgICAgICAgICB7IF9fdHlwZW5hbWU/OiAnRHluYW1pY0NvbmRpdGlvbicgfVxuICAgICAgICAgICAgICAgICYgUGljazxEeW5hbWljQ29uZGl0aW9uLCAnbmFtZScgfCAnZGVzY3JpcHRpb24nPlxuICAgICAgICAgICAgICApPj4+IH1cbiAgICAgICAgICAgICk+LCB0aWNrZXRzPzogTWF5YmU8QXJyYXk8TWF5YmU8KFxuICAgICAgICAgICAgICB7IF9fdHlwZW5hbWU/OiAnUmFpbFRpY2tldCcgfVxuICAgICAgICAgICAgICAmIFBpY2s8UmFpbFRpY2tldCwgJ3ByaWNlJyB8ICd0eXBlJyB8ICdyb3V0ZScgfCAnbnVtQ2hpbGRyZW4nIHwgJ251bUFkdWx0cyc+XG4gICAgICAgICAgICAgICYgeyBzZWdtZW50cz86IE1heWJlPEFycmF5PChcbiAgICAgICAgICAgICAgICB7IF9fdHlwZW5hbWU/OiAnUmFpbFNlZ21lbnQnIH1cbiAgICAgICAgICAgICAgICAmIFBpY2s8UmFpbFNlZ21lbnQsICdpZCcgfCAnb3BlcmF0b3InIHwgJ2RlcGFydCcgfCAnZGVwYXJ0RGF0ZVRpbWUnIHwgJ2Fycml2ZScgfCAnYXJyaXZlRGF0ZVRpbWUnIHwgJ3Jlc2VydmFibGVTdGF0dXMnIHwgJ3NlYXRQcmVmZXJlbmNlR3JvdXAnPlxuICAgICAgICAgICAgICApPj4gfVxuICAgICAgICAgICAgKT4+PiwgdGlja2V0UXVldWVMaXN0PzogTWF5YmU8QXJyYXk8TWF5YmU8KFxuICAgICAgICAgICAgICB7IF9fdHlwZW5hbWU/OiAnUmFpbFRpY2tldFF1ZXVlJyB9XG4gICAgICAgICAgICAgICYgUGljazxSYWlsVGlja2V0UXVldWUsICdpZCcgfCAnbmFtZScgfCAndHlwZSc+XG4gICAgICAgICAgICApPj4+LCBhY2NvdW50c0xpc3Q/OiBNYXliZTxBcnJheTxNYXliZTwoXG4gICAgICAgICAgICAgIHsgX190eXBlbmFtZT86ICdSYWlsQWNjb3VudCcgfVxuICAgICAgICAgICAgICAmIFBpY2s8UmFpbEFjY291bnQsICdpZCcgfCAncmVmZXJlbmNlJyB8ICdkZXNjcmlwdGlvbicgfCAnaXNEZWZhdWx0JyB8ICd0eXBlJz5cbiAgICAgICAgICAgICk+Pj4gfVxuICAgICAgICAgICk+LCB0aWNrZXRPcHRpb25zPzogTWF5YmU8QXJyYXk8TWF5YmU8KFxuICAgICAgICAgICAgeyBfX3R5cGVuYW1lPzogJ1JhaWxUaWNrZXRPcHRpb24nIH1cbiAgICAgICAgICAgICYgUGljazxSYWlsVGlja2V0T3B0aW9uLCAndHlwZScgfCAnY2xhc3MnIHwgJ3NpbmdsZU9yUmV0dXJuJyB8ICdwcmljZScgfCAncmVzZXJ2YWJsZVN0YXR1cycgfCAnY3VycmVuY3knIHwgJ3JvdXRlJyB8ICdyb3V0ZUNvZGUnIHwgJ2F2YWlsYWJsZVNlYXRzJz5cbiAgICAgICAgICAgICYgeyBpZGVudGlmaWVycz86IE1heWJlPChcbiAgICAgICAgICAgICAgeyBfX3R5cGVuYW1lPzogJ1JhaWxJZGVudGlmaWVycycgfVxuICAgICAgICAgICAgICAmIFBpY2s8UmFpbElkZW50aWZpZXJzLCAndHJhbnNhY3Rpb25JZGVudGlmaWVyJyB8ICdqb3VybmV5SWRlbnRpZmllcicgfCAncHJvdmlkZXInIHwgJ2ZhcmVJZGVudGlmaWVyJyB8ICdkaXJlY3Rpb24nIHwgJ3NpbmdsZU9yUmV0dXJuJyB8ICdib29raW5nUmVmJz5cbiAgICAgICAgICAgICAgJiB7IGFsbG93ZWRXaXRoOiBBcnJheTwoXG4gICAgICAgICAgICAgICAgeyBfX3R5cGVuYW1lPzogJ1JhaWxJZGVudGlmaWVycycgfVxuICAgICAgICAgICAgICAgICYgUGljazxSYWlsSWRlbnRpZmllcnMsICd0cmFuc2FjdGlvbklkZW50aWZpZXInIHwgJ2pvdXJuZXlJZGVudGlmaWVyJyB8ICdwcm92aWRlcicgfCAnZmFyZUlkZW50aWZpZXInIHwgJ2RpcmVjdGlvbicgfCAnc2luZ2xlT3JSZXR1cm4nIHwgJ2Jvb2tpbmdSZWYnPlxuICAgICAgICAgICAgICApPiB9XG4gICAgICAgICAgICApPiwgdGVybXM/OiBNYXliZTwoXG4gICAgICAgICAgICAgIHsgX190eXBlbmFtZT86ICdSYWlsVGlja2V0VGVybXMnIH1cbiAgICAgICAgICAgICAgJiBQaWNrPFJhaWxUaWNrZXRUZXJtcywgJ2Vycm9yJyB8ICd0aWNrZXRUeXBlQ29kZScgfCAndHJhaW5PcGVyYXRpbmdDb21wYW55Q29kZScgfCAndGlja2V0VHlwZU5hbWUnIHwgJ3RpY2tldFR5cGVBbHROYW1lJyB8ICd0aWNrZXRUeXBlQ2xhc3MnIHwgJ3Jlc2VydmF0aW9uUnVsZScgfCAnam91cm5leVR5cGUnIHwgJ3ByZUJvb2tpbmdSZXF1aXJlbWVudCcgfCAnZ2VuZXJhbFZhbGlkaXR5JyB8ICd2YWxpZE91dFJ1bGUnIHwgJ3ZhbGlkUmV0dXJuUnVsZScgfCAnZ2VuZXJhbERpc2NvdW50JyB8ICdjaGlsZERpc2NvdW50JyB8ICdyYWlsY2FyZERpc2NvdW50JyB8ICdyZWZ1bmRDYW5jZWxsYXRpb25SdWxlJyB8ICdjaGFuZ2VSdWxlJyB8ICd0aWNrZXRUeXBlQ29uZGl0aW9uc0Rlc2NyaXB0aW9uJyB8ICdqb3VybmV5QnJlYWtSdWxlJyB8ICdhdmFpbGFiaWxpdHlSdWxlJyB8ICd0b2RBdmFpbGFibGUnIHwgJ2tpb3NrQXZhaWxhYmxlJyB8ICdzdGFydERhdGUnIHwgJ2VuZERhdGUnPlxuICAgICAgICAgICAgKT4sIHRpY2tldHM/OiBNYXliZTxBcnJheTxNYXliZTwoXG4gICAgICAgICAgICAgIHsgX190eXBlbmFtZT86ICdSYWlsVGlja2V0JyB9XG4gICAgICAgICAgICAgICYgUGljazxSYWlsVGlja2V0LCAncHJpY2UnIHwgJ3R5cGUnIHwgJ3JvdXRlJyB8ICdudW1DaGlsZHJlbicgfCAnbnVtQWR1bHRzJz5cbiAgICAgICAgICAgICk+Pj4sIHRpY2tldFF1ZXVlTGlzdD86IE1heWJlPEFycmF5PE1heWJlPChcbiAgICAgICAgICAgICAgeyBfX3R5cGVuYW1lPzogJ1JhaWxUaWNrZXRRdWV1ZScgfVxuICAgICAgICAgICAgICAmIFBpY2s8UmFpbFRpY2tldFF1ZXVlLCAnaWQnIHwgJ25hbWUnIHwgJ3R5cGUnPlxuICAgICAgICAgICAgKT4+PiwgYWNjb3VudHNMaXN0PzogTWF5YmU8QXJyYXk8TWF5YmU8KFxuICAgICAgICAgICAgICB7IF9fdHlwZW5hbWU/OiAnUmFpbEFjY291bnQnIH1cbiAgICAgICAgICAgICAgJiBQaWNrPFJhaWxBY2NvdW50LCAnaWQnIHwgJ3JlZmVyZW5jZScgfCAnZGVzY3JpcHRpb24nIHwgJ2lzRGVmYXVsdCcgfCAndHlwZSc+XG4gICAgICAgICAgICApPj4+IH1cbiAgICAgICAgICApPj4+LCBib29rZWRUaWNrZXQ/OiBNYXliZTwoXG4gICAgICAgICAgICB7IF9fdHlwZW5hbWU/OiAnUmFpbFRpY2tldE9wdGlvbicgfVxuICAgICAgICAgICAgJiBQaWNrPFJhaWxUaWNrZXRPcHRpb24sICd0eXBlJyB8ICdjbGFzcycgfCAnc2luZ2xlT3JSZXR1cm4nIHwgJ3ByaWNlJyB8ICdyZXNlcnZhYmxlU3RhdHVzJyB8ICdjdXJyZW5jeScgfCAncm91dGUnIHwgJ3JvdXRlQ29kZSc+XG4gICAgICAgICAgICAmIHsgaWRlbnRpZmllcnM/OiBNYXliZTwoXG4gICAgICAgICAgICAgIHsgX190eXBlbmFtZT86ICdSYWlsSWRlbnRpZmllcnMnIH1cbiAgICAgICAgICAgICAgJiBQaWNrPFJhaWxJZGVudGlmaWVycywgJ3RyYW5zYWN0aW9uSWRlbnRpZmllcicgfCAnam91cm5leUlkZW50aWZpZXInIHwgJ3Byb3ZpZGVyJyB8ICdmYXJlSWRlbnRpZmllcicgfCAnZGlyZWN0aW9uJyB8ICdzaW5nbGVPclJldHVybicgfCAnYm9va2luZ1JlZic+XG4gICAgICAgICAgICApPiwgdGVybXM/OiBNYXliZTwoXG4gICAgICAgICAgICAgIHsgX190eXBlbmFtZT86ICdSYWlsVGlja2V0VGVybXMnIH1cbiAgICAgICAgICAgICAgJiBQaWNrPFJhaWxUaWNrZXRUZXJtcywgJ2Vycm9yJyB8ICd0aWNrZXRUeXBlQ29kZScgfCAndHJhaW5PcGVyYXRpbmdDb21wYW55Q29kZScgfCAndGlja2V0VHlwZU5hbWUnIHwgJ3RpY2tldFR5cGVBbHROYW1lJyB8ICd0aWNrZXRUeXBlQ2xhc3MnIHwgJ3Jlc2VydmF0aW9uUnVsZScgfCAnam91cm5leVR5cGUnIHwgJ3ByZUJvb2tpbmdSZXF1aXJlbWVudCcgfCAnZ2VuZXJhbFZhbGlkaXR5JyB8ICd2YWxpZE91dFJ1bGUnIHwgJ3ZhbGlkUmV0dXJuUnVsZScgfCAnZ2VuZXJhbERpc2NvdW50JyB8ICdjaGlsZERpc2NvdW50JyB8ICdyYWlsY2FyZERpc2NvdW50JyB8ICdyZWZ1bmRDYW5jZWxsYXRpb25SdWxlJyB8ICdjaGFuZ2VSdWxlJyB8ICd0aWNrZXRUeXBlQ29uZGl0aW9uc0Rlc2NyaXB0aW9uJyB8ICdqb3VybmV5QnJlYWtSdWxlJyB8ICdhdmFpbGFiaWxpdHlSdWxlJyB8ICd0b2RBdmFpbGFibGUnIHwgJ2tpb3NrQXZhaWxhYmxlJyB8ICdzdGFydERhdGUnIHwgJ2VuZERhdGUnPlxuICAgICAgICAgICAgKT4sIHRpY2tldHM/OiBNYXliZTxBcnJheTxNYXliZTwoXG4gICAgICAgICAgICAgIHsgX190eXBlbmFtZT86ICdSYWlsVGlja2V0JyB9XG4gICAgICAgICAgICAgICYgUGljazxSYWlsVGlja2V0LCAncHJpY2UnIHwgJ3R5cGUnIHwgJ3JvdXRlJyB8ICdudW1DaGlsZHJlbicgfCAnbnVtQWR1bHRzJz5cbiAgICAgICAgICAgICk+Pj4sIHRpY2tldFF1ZXVlTGlzdD86IE1heWJlPEFycmF5PE1heWJlPChcbiAgICAgICAgICAgICAgeyBfX3R5cGVuYW1lPzogJ1JhaWxUaWNrZXRRdWV1ZScgfVxuICAgICAgICAgICAgICAmIFBpY2s8UmFpbFRpY2tldFF1ZXVlLCAnaWQnIHwgJ25hbWUnIHwgJ3R5cGUnPlxuICAgICAgICAgICAgKT4+PiwgYWNjb3VudHNMaXN0PzogTWF5YmU8QXJyYXk8TWF5YmU8KFxuICAgICAgICAgICAgICB7IF9fdHlwZW5hbWU/OiAnUmFpbEFjY291bnQnIH1cbiAgICAgICAgICAgICAgJiBQaWNrPFJhaWxBY2NvdW50LCAnaWQnIHwgJ3JlZmVyZW5jZScgfCAnZGVzY3JpcHRpb24nIHwgJ2lzRGVmYXVsdCcgfCAndHlwZSc+XG4gICAgICAgICAgICApPj4+IH1cbiAgICAgICAgICApPiB9XG4gICAgICAgICk+PiwgdGlja2V0RXh0cmFzPzogTWF5YmU8QXJyYXk8KFxuICAgICAgICAgIHsgX190eXBlbmFtZT86ICdSYWlsVGlja2V0RXh0cmEnIH1cbiAgICAgICAgICAmIFBpY2s8UmFpbFRpY2tldEV4dHJhLCAndHlwZScgfCAnbG9jYXRpb24nIHwgJ2RhdGUnIHwgJ2Rlc2NyaXB0aW9uJyB8ICdhbW91bnQnIHwgJ2FkdWx0QW1vdW50JyB8ICdjaGlsZEFtb3VudCcgfCAnY3VycmVuY3knPlxuICAgICAgICAgICYgeyBpZGVudGlmaWVycz86IE1heWJlPChcbiAgICAgICAgICAgIHsgX190eXBlbmFtZT86ICdSYWlsVGlja2V0RXh0cmFJZGVudGlmaWVycycgfVxuICAgICAgICAgICAgJiBQaWNrPFJhaWxUaWNrZXRFeHRyYUlkZW50aWZpZXJzLCAndHlwZScgfCAnbG9jYXRpb24nIHwgJ2RhdGUnIHwgJ2pvdXJuZXlJZCcgfCAnaXNPcmlnaW4nPlxuICAgICAgICAgICk+IH1cbiAgICAgICAgKT4+LCBwbHVzQnVzPzogTWF5YmU8KFxuICAgICAgICAgIHsgX190eXBlbmFtZT86ICdSYWlsUGx1c0J1cycgfVxuICAgICAgICAgICYgUGljazxSYWlsUGx1c0J1cywgJ29yaWdpblBsdXNCdXNOTEMnIHwgJ29yaWdpblN0YXRpb25OTEMnIHwgJ2Rlc3RpbmF0aW9uUGx1c0J1c05MQycgfCAnZGVzdGluYXRpb25TdGF0aW9uTkxDJz5cbiAgICAgICAgKT4gfVxuICAgICAgKT4+LCByZXR1cm4/OiBNYXliZTxBcnJheTwoXG4gICAgICAgIHsgX190eXBlbmFtZT86ICdSYWlsSm91cm5leU9wdGlvbicgfVxuICAgICAgICAmIFBpY2s8UmFpbEpvdXJuZXlPcHRpb24sICdjbzJQZXJJdGVtJyB8ICdmcm9tJyB8ICdmcm9tQ29kZScgfCAndG8nIHwgJ3RvQ29kZScgfCAnZGVwYXJ0RGF0ZVRpbWUnIHwgJ2Fycml2ZURhdGVUaW1lJyB8ICdjaGFuZ2VzJyB8ICd1bnNlbGxhYmxlJz5cbiAgICAgICAgJiB7IGlkZW50aWZpZXJzPzogTWF5YmU8KFxuICAgICAgICAgIHsgX190eXBlbmFtZT86ICdSYWlsSWRlbnRpZmllcnMnIH1cbiAgICAgICAgICAmIFBpY2s8UmFpbElkZW50aWZpZXJzLCAndHJhbnNhY3Rpb25JZGVudGlmaWVyJyB8ICdqb3VybmV5SWRlbnRpZmllcicgfCAncHJvdmlkZXInIHwgJ2ZhcmVJZGVudGlmaWVyJyB8ICdkaXJlY3Rpb24nIHwgJ3NpbmdsZU9yUmV0dXJuJyB8ICdib29raW5nUmVmJz5cbiAgICAgICAgKT4sIHRyYXZlbGxlcnM/OiBNYXliZTxBcnJheTwoXG4gICAgICAgICAgeyBfX3R5cGVuYW1lPzogJ1JhaWxUcmF2ZWxsZXInIH1cbiAgICAgICAgICAmIFBpY2s8UmFpbFRyYXZlbGxlciwgJ3N0YXR1cycgfCAnaWQnIHwgJ2RvYicgfCAncmFpbGNhcmQnIHwgJ2dpdmVuTmFtZScgfCAnc3VybmFtZScgfCAnbmFtZVRpdGxlJyB8ICdjb250YWN0SW5mbycgfCAnZGVsaXZlcnlFbWFpbEFkZHJlc3MnIHwgJ2ZhcmUnPlxuICAgICAgICApPj4sIHNlZ21lbnRzPzogTWF5YmU8QXJyYXk8KFxuICAgICAgICAgIHsgX190eXBlbmFtZT86ICdSYWlsU2VnbWVudCcgfVxuICAgICAgICAgICYgUGljazxSYWlsU2VnbWVudCwgJ2lkJyB8ICdvcGVyYXRvcicgfCAnZGVwYXJ0JyB8ICdkZXBhcnREYXRlVGltZScgfCAnYXJyaXZlJyB8ICdhcnJpdmVEYXRlVGltZScgfCAncmVzZXJ2YWJsZVN0YXR1cycgfCAnc2VhdFByZWZlcmVuY2VHcm91cCc+XG4gICAgICAgICAgJiB7IGNhbGxpbmdQb2ludHM/OiBNYXliZTxBcnJheTwoXG4gICAgICAgICAgICB7IF9fdHlwZW5hbWU/OiAnUmFpbENhbGxpbmdQb2ludCcgfVxuICAgICAgICAgICAgJiBQaWNrPFJhaWxDYWxsaW5nUG9pbnQsICdzdGF0aW9uTmFtZScgfCAnc3RhdGlvbkNvZGUnIHwgJ2Fycml2YWxEYXRlVGltZScgfCAnZGVwYXJ0dXJlRGF0ZVRpbWUnIHwgJ3NjaGVkdWxlZFBsYXRmb3JtJyB8ICdzdGF0aW9uQ2xhc3NpZmljYXRpb24nIHwgJ3N0b3BwaW5nUGF0dGVybic+XG4gICAgICAgICAgKT4+IH1cbiAgICAgICAgKT4+LCBwcm92aWRlcnM/OiBNYXliZTxBcnJheTwoXG4gICAgICAgICAgeyBfX3R5cGVuYW1lPzogJ1JhaWxQcm92aWRlcicgfVxuICAgICAgICAgICYgUGljazxSYWlsUHJvdmlkZXIsICdwcm92aWRlcklkJyB8ICduYW1lJz5cbiAgICAgICAgICAmIHsgY2hlYXBlc3RUaWNrZXQ/OiBNYXliZTwoXG4gICAgICAgICAgICB7IF9fdHlwZW5hbWU/OiAnUmFpbFRpY2tldE9wdGlvbicgfVxuICAgICAgICAgICAgJiBQaWNrPFJhaWxUaWNrZXRPcHRpb24sICd0eXBlJyB8ICdjbGFzcycgfCAnc2luZ2xlT3JSZXR1cm4nIHwgJ3ByaWNlJyB8ICdyZXNlcnZhYmxlU3RhdHVzJyB8ICdjdXJyZW5jeScgfCAncm91dGUnIHwgJ3JvdXRlQ29kZScgfCAnYXZhaWxhYmxlU2VhdHMnPlxuICAgICAgICAgICAgJiB7IGlkZW50aWZpZXJzPzogTWF5YmU8KFxuICAgICAgICAgICAgICB7IF9fdHlwZW5hbWU/OiAnUmFpbElkZW50aWZpZXJzJyB9XG4gICAgICAgICAgICAgICYgUGljazxSYWlsSWRlbnRpZmllcnMsICd0cmFuc2FjdGlvbklkZW50aWZpZXInIHwgJ2pvdXJuZXlJZGVudGlmaWVyJyB8ICdwcm92aWRlcicgfCAnZmFyZUlkZW50aWZpZXInIHwgJ2RpcmVjdGlvbicgfCAnc2luZ2xlT3JSZXR1cm4nIHwgJ2Jvb2tpbmdSZWYnPlxuICAgICAgICAgICAgKT4sIHRlcm1zPzogTWF5YmU8KFxuICAgICAgICAgICAgICB7IF9fdHlwZW5hbWU/OiAnUmFpbFRpY2tldFRlcm1zJyB9XG4gICAgICAgICAgICAgICYgUGljazxSYWlsVGlja2V0VGVybXMsICdlcnJvcicgfCAndGlja2V0VHlwZUNvZGUnIHwgJ3RyYWluT3BlcmF0aW5nQ29tcGFueUNvZGUnIHwgJ3RpY2tldFR5cGVOYW1lJyB8ICd0aWNrZXRUeXBlQWx0TmFtZScgfCAndGlja2V0VHlwZUNsYXNzJyB8ICdyZXNlcnZhdGlvblJ1bGUnIHwgJ2pvdXJuZXlUeXBlJyB8ICdwcmVCb29raW5nUmVxdWlyZW1lbnQnIHwgJ2dlbmVyYWxWYWxpZGl0eScgfCAndmFsaWRPdXRSdWxlJyB8ICd2YWxpZFJldHVyblJ1bGUnIHwgJ2dlbmVyYWxEaXNjb3VudCcgfCAnY2hpbGREaXNjb3VudCcgfCAncmFpbGNhcmREaXNjb3VudCcgfCAncmVmdW5kQ2FuY2VsbGF0aW9uUnVsZScgfCAnY2hhbmdlUnVsZScgfCAndGlja2V0VHlwZUNvbmRpdGlvbnNEZXNjcmlwdGlvbicgfCAnam91cm5leUJyZWFrUnVsZScgfCAnYXZhaWxhYmlsaXR5UnVsZScgfCAndG9kQXZhaWxhYmxlJyB8ICdraW9za0F2YWlsYWJsZScgfCAnc3RhcnREYXRlJyB8ICdlbmREYXRlJz5cbiAgICAgICAgICAgICAgJiB7IGR5bmFtaWNDb25kaXRpb25zPzogTWF5YmU8QXJyYXk8TWF5YmU8KFxuICAgICAgICAgICAgICAgIHsgX190eXBlbmFtZT86ICdEeW5hbWljQ29uZGl0aW9uJyB9XG4gICAgICAgICAgICAgICAgJiBQaWNrPER5bmFtaWNDb25kaXRpb24sICduYW1lJyB8ICdkZXNjcmlwdGlvbic+XG4gICAgICAgICAgICAgICk+Pj4gfVxuICAgICAgICAgICAgKT4sIHRpY2tldHM/OiBNYXliZTxBcnJheTxNYXliZTwoXG4gICAgICAgICAgICAgIHsgX190eXBlbmFtZT86ICdSYWlsVGlja2V0JyB9XG4gICAgICAgICAgICAgICYgUGljazxSYWlsVGlja2V0LCAncHJpY2UnIHwgJ3R5cGUnIHwgJ3JvdXRlJyB8ICdudW1DaGlsZHJlbicgfCAnbnVtQWR1bHRzJz5cbiAgICAgICAgICAgICAgJiB7IHNlZ21lbnRzPzogTWF5YmU8QXJyYXk8KFxuICAgICAgICAgICAgICAgIHsgX190eXBlbmFtZT86ICdSYWlsU2VnbWVudCcgfVxuICAgICAgICAgICAgICAgICYgUGljazxSYWlsU2VnbWVudCwgJ2lkJyB8ICdvcGVyYXRvcicgfCAnZGVwYXJ0JyB8ICdkZXBhcnREYXRlVGltZScgfCAnYXJyaXZlJyB8ICdhcnJpdmVEYXRlVGltZScgfCAncmVzZXJ2YWJsZVN0YXR1cycgfCAnc2VhdFByZWZlcmVuY2VHcm91cCc+XG4gICAgICAgICAgICAgICk+PiB9XG4gICAgICAgICAgICApPj4+LCB0aWNrZXRRdWV1ZUxpc3Q/OiBNYXliZTxBcnJheTxNYXliZTwoXG4gICAgICAgICAgICAgIHsgX190eXBlbmFtZT86ICdSYWlsVGlja2V0UXVldWUnIH1cbiAgICAgICAgICAgICAgJiBQaWNrPFJhaWxUaWNrZXRRdWV1ZSwgJ2lkJyB8ICduYW1lJyB8ICd0eXBlJz5cbiAgICAgICAgICAgICk+Pj4sIGFjY291bnRzTGlzdD86IE1heWJlPEFycmF5PE1heWJlPChcbiAgICAgICAgICAgICAgeyBfX3R5cGVuYW1lPzogJ1JhaWxBY2NvdW50JyB9XG4gICAgICAgICAgICAgICYgUGljazxSYWlsQWNjb3VudCwgJ2lkJyB8ICdyZWZlcmVuY2UnIHwgJ2Rlc2NyaXB0aW9uJyB8ICdpc0RlZmF1bHQnIHwgJ3R5cGUnPlxuICAgICAgICAgICAgKT4+PiB9XG4gICAgICAgICAgKT4sIHRpY2tldE9wdGlvbnM/OiBNYXliZTxBcnJheTxNYXliZTwoXG4gICAgICAgICAgICB7IF9fdHlwZW5hbWU/OiAnUmFpbFRpY2tldE9wdGlvbicgfVxuICAgICAgICAgICAgJiBQaWNrPFJhaWxUaWNrZXRPcHRpb24sICd0eXBlJyB8ICdjbGFzcycgfCAnc2luZ2xlT3JSZXR1cm4nIHwgJ3ByaWNlJyB8ICdyZXNlcnZhYmxlU3RhdHVzJyB8ICdjdXJyZW5jeScgfCAncm91dGUnIHwgJ3JvdXRlQ29kZScgfCAnYXZhaWxhYmxlU2VhdHMnPlxuICAgICAgICAgICAgJiB7IGlkZW50aWZpZXJzPzogTWF5YmU8KFxuICAgICAgICAgICAgICB7IF9fdHlwZW5hbWU/OiAnUmFpbElkZW50aWZpZXJzJyB9XG4gICAgICAgICAgICAgICYgUGljazxSYWlsSWRlbnRpZmllcnMsICd0cmFuc2FjdGlvbklkZW50aWZpZXInIHwgJ2pvdXJuZXlJZGVudGlmaWVyJyB8ICdwcm92aWRlcicgfCAnZmFyZUlkZW50aWZpZXInIHwgJ2RpcmVjdGlvbicgfCAnc2luZ2xlT3JSZXR1cm4nIHwgJ2Jvb2tpbmdSZWYnPlxuICAgICAgICAgICAgICAmIHsgYWxsb3dlZFdpdGg6IEFycmF5PChcbiAgICAgICAgICAgICAgICB7IF9fdHlwZW5hbWU/OiAnUmFpbElkZW50aWZpZXJzJyB9XG4gICAgICAgICAgICAgICAgJiBQaWNrPFJhaWxJZGVudGlmaWVycywgJ3RyYW5zYWN0aW9uSWRlbnRpZmllcicgfCAnam91cm5leUlkZW50aWZpZXInIHwgJ3Byb3ZpZGVyJyB8ICdmYXJlSWRlbnRpZmllcicgfCAnZGlyZWN0aW9uJyB8ICdzaW5nbGVPclJldHVybicgfCAnYm9va2luZ1JlZic+XG4gICAgICAgICAgICAgICk+IH1cbiAgICAgICAgICAgICk+LCB0ZXJtcz86IE1heWJlPChcbiAgICAgICAgICAgICAgeyBfX3R5cGVuYW1lPzogJ1JhaWxUaWNrZXRUZXJtcycgfVxuICAgICAgICAgICAgICAmIFBpY2s8UmFpbFRpY2tldFRlcm1zLCAnZXJyb3InIHwgJ3RpY2tldFR5cGVDb2RlJyB8ICd0cmFpbk9wZXJhdGluZ0NvbXBhbnlDb2RlJyB8ICd0aWNrZXRUeXBlTmFtZScgfCAndGlja2V0VHlwZUFsdE5hbWUnIHwgJ3RpY2tldFR5cGVDbGFzcycgfCAncmVzZXJ2YXRpb25SdWxlJyB8ICdqb3VybmV5VHlwZScgfCAncHJlQm9va2luZ1JlcXVpcmVtZW50JyB8ICdnZW5lcmFsVmFsaWRpdHknIHwgJ3ZhbGlkT3V0UnVsZScgfCAndmFsaWRSZXR1cm5SdWxlJyB8ICdnZW5lcmFsRGlzY291bnQnIHwgJ2NoaWxkRGlzY291bnQnIHwgJ3JhaWxjYXJkRGlzY291bnQnIHwgJ3JlZnVuZENhbmNlbGxhdGlvblJ1bGUnIHwgJ2NoYW5nZVJ1bGUnIHwgJ3RpY2tldFR5cGVDb25kaXRpb25zRGVzY3JpcHRpb24nIHwgJ2pvdXJuZXlCcmVha1J1bGUnIHwgJ2F2YWlsYWJpbGl0eVJ1bGUnIHwgJ3RvZEF2YWlsYWJsZScgfCAna2lvc2tBdmFpbGFibGUnIHwgJ3N0YXJ0RGF0ZScgfCAnZW5kRGF0ZSc+XG4gICAgICAgICAgICApPiwgdGlja2V0cz86IE1heWJlPEFycmF5PE1heWJlPChcbiAgICAgICAgICAgICAgeyBfX3R5cGVuYW1lPzogJ1JhaWxUaWNrZXQnIH1cbiAgICAgICAgICAgICAgJiBQaWNrPFJhaWxUaWNrZXQsICdwcmljZScgfCAndHlwZScgfCAncm91dGUnIHwgJ251bUNoaWxkcmVuJyB8ICdudW1BZHVsdHMnPlxuICAgICAgICAgICAgKT4+PiwgdGlja2V0UXVldWVMaXN0PzogTWF5YmU8QXJyYXk8TWF5YmU8KFxuICAgICAgICAgICAgICB7IF9fdHlwZW5hbWU/OiAnUmFpbFRpY2tldFF1ZXVlJyB9XG4gICAgICAgICAgICAgICYgUGljazxSYWlsVGlja2V0UXVldWUsICdpZCcgfCAnbmFtZScgfCAndHlwZSc+XG4gICAgICAgICAgICApPj4+LCBhY2NvdW50c0xpc3Q/OiBNYXliZTxBcnJheTxNYXliZTwoXG4gICAgICAgICAgICAgIHsgX190eXBlbmFtZT86ICdSYWlsQWNjb3VudCcgfVxuICAgICAgICAgICAgICAmIFBpY2s8UmFpbEFjY291bnQsICdpZCcgfCAncmVmZXJlbmNlJyB8ICdkZXNjcmlwdGlvbicgfCAnaXNEZWZhdWx0JyB8ICd0eXBlJz5cbiAgICAgICAgICAgICk+Pj4gfVxuICAgICAgICAgICk+Pj4sIGJvb2tlZFRpY2tldD86IE1heWJlPChcbiAgICAgICAgICAgIHsgX190eXBlbmFtZT86ICdSYWlsVGlja2V0T3B0aW9uJyB9XG4gICAgICAgICAgICAmIFBpY2s8UmFpbFRpY2tldE9wdGlvbiwgJ3R5cGUnIHwgJ2NsYXNzJyB8ICdzaW5nbGVPclJldHVybicgfCAncHJpY2UnIHwgJ3Jlc2VydmFibGVTdGF0dXMnIHwgJ2N1cnJlbmN5JyB8ICdyb3V0ZScgfCAncm91dGVDb2RlJz5cbiAgICAgICAgICAgICYgeyBpZGVudGlmaWVycz86IE1heWJlPChcbiAgICAgICAgICAgICAgeyBfX3R5cGVuYW1lPzogJ1JhaWxJZGVudGlmaWVycycgfVxuICAgICAgICAgICAgICAmIFBpY2s8UmFpbElkZW50aWZpZXJzLCAndHJhbnNhY3Rpb25JZGVudGlmaWVyJyB8ICdqb3VybmV5SWRlbnRpZmllcicgfCAncHJvdmlkZXInIHwgJ2ZhcmVJZGVudGlmaWVyJyB8ICdkaXJlY3Rpb24nIHwgJ3NpbmdsZU9yUmV0dXJuJyB8ICdib29raW5nUmVmJz5cbiAgICAgICAgICAgICk+LCB0ZXJtcz86IE1heWJlPChcbiAgICAgICAgICAgICAgeyBfX3R5cGVuYW1lPzogJ1JhaWxUaWNrZXRUZXJtcycgfVxuICAgICAgICAgICAgICAmIFBpY2s8UmFpbFRpY2tldFRlcm1zLCAnZXJyb3InIHwgJ3RpY2tldFR5cGVDb2RlJyB8ICd0cmFpbk9wZXJhdGluZ0NvbXBhbnlDb2RlJyB8ICd0aWNrZXRUeXBlTmFtZScgfCAndGlja2V0VHlwZUFsdE5hbWUnIHwgJ3RpY2tldFR5cGVDbGFzcycgfCAncmVzZXJ2YXRpb25SdWxlJyB8ICdqb3VybmV5VHlwZScgfCAncHJlQm9va2luZ1JlcXVpcmVtZW50JyB8ICdnZW5lcmFsVmFsaWRpdHknIHwgJ3ZhbGlkT3V0UnVsZScgfCAndmFsaWRSZXR1cm5SdWxlJyB8ICdnZW5lcmFsRGlzY291bnQnIHwgJ2NoaWxkRGlzY291bnQnIHwgJ3JhaWxjYXJkRGlzY291bnQnIHwgJ3JlZnVuZENhbmNlbGxhdGlvblJ1bGUnIHwgJ2NoYW5nZVJ1bGUnIHwgJ3RpY2tldFR5cGVDb25kaXRpb25zRGVzY3JpcHRpb24nIHwgJ2pvdXJuZXlCcmVha1J1bGUnIHwgJ2F2YWlsYWJpbGl0eVJ1bGUnIHwgJ3RvZEF2YWlsYWJsZScgfCAna2lvc2tBdmFpbGFibGUnIHwgJ3N0YXJ0RGF0ZScgfCAnZW5kRGF0ZSc+XG4gICAgICAgICAgICApPiwgdGlja2V0cz86IE1heWJlPEFycmF5PE1heWJlPChcbiAgICAgICAgICAgICAgeyBfX3R5cGVuYW1lPzogJ1JhaWxUaWNrZXQnIH1cbiAgICAgICAgICAgICAgJiBQaWNrPFJhaWxUaWNrZXQsICdwcmljZScgfCAndHlwZScgfCAncm91dGUnIHwgJ251bUNoaWxkcmVuJyB8ICdudW1BZHVsdHMnPlxuICAgICAgICAgICAgKT4+PiwgdGlja2V0UXVldWVMaXN0PzogTWF5YmU8QXJyYXk8TWF5YmU8KFxuICAgICAgICAgICAgICB7IF9fdHlwZW5hbWU/OiAnUmFpbFRpY2tldFF1ZXVlJyB9XG4gICAgICAgICAgICAgICYgUGljazxSYWlsVGlja2V0UXVldWUsICdpZCcgfCAnbmFtZScgfCAndHlwZSc+XG4gICAgICAgICAgICApPj4+LCBhY2NvdW50c0xpc3Q/OiBNYXliZTxBcnJheTxNYXliZTwoXG4gICAgICAgICAgICAgIHsgX190eXBlbmFtZT86ICdSYWlsQWNjb3VudCcgfVxuICAgICAgICAgICAgICAmIFBpY2s8UmFpbEFjY291bnQsICdpZCcgfCAncmVmZXJlbmNlJyB8ICdkZXNjcmlwdGlvbicgfCAnaXNEZWZhdWx0JyB8ICd0eXBlJz5cbiAgICAgICAgICAgICk+Pj4gfVxuICAgICAgICAgICk+IH1cbiAgICAgICAgKT4+LCB0aWNrZXRFeHRyYXM/OiBNYXliZTxBcnJheTwoXG4gICAgICAgICAgeyBfX3R5cGVuYW1lPzogJ1JhaWxUaWNrZXRFeHRyYScgfVxuICAgICAgICAgICYgUGljazxSYWlsVGlja2V0RXh0cmEsICd0eXBlJyB8ICdsb2NhdGlvbicgfCAnZGF0ZScgfCAnZGVzY3JpcHRpb24nIHwgJ2Ftb3VudCcgfCAnYWR1bHRBbW91bnQnIHwgJ2NoaWxkQW1vdW50JyB8ICdjdXJyZW5jeSc+XG4gICAgICAgICk+PiwgcGx1c0J1cz86IE1heWJlPChcbiAgICAgICAgICB7IF9fdHlwZW5hbWU/OiAnUmFpbFBsdXNCdXMnIH1cbiAgICAgICAgICAmIFBpY2s8UmFpbFBsdXNCdXMsICdvcmlnaW5QbHVzQnVzTkxDJyB8ICdvcmlnaW5TdGF0aW9uTkxDJyB8ICdkZXN0aW5hdGlvblBsdXNCdXNOTEMnIHwgJ2Rlc3RpbmF0aW9uU3RhdGlvbk5MQyc+XG4gICAgICAgICk+IH1cbiAgICAgICk+PiB9XG4gICAgKT4sIGVycm9yczogQXJyYXk8KFxuICAgICAgeyBfX3R5cGVuYW1lPzogJ1NlYXJjaEVycm9yJyB9XG4gICAgICAmIEVycm9yc0ZyYWdtZW50XG4gICAgKT4gfVxuICApIH1cbik7XG5cbmV4cG9ydCB0eXBlIFNhdmVSZWNlbnRTZWFyY2hNdXRhdGlvblZhcmlhYmxlcyA9IEV4YWN0PHtcbiAgc2VydmljZVR5cGU6IFNlcnZpY2VUeXBlO1xuICBzZWFyY2hBcmdzOiBTY2FsYXJzWydKU09OJ107XG4gIHRyYXZlbERhdGU6IFNjYWxhcnNbJ0RhdGVUaW1lJ107XG4gIHRyYXZlbGxlcnM/OiBNYXliZTxBcnJheTxNYXliZTxTY2FsYXJzWydJRCddPj4gfCBNYXliZTxTY2FsYXJzWydJRCddPj47XG59PjtcblxuXG5leHBvcnQgdHlwZSBTYXZlUmVjZW50U2VhcmNoTXV0YXRpb24gPSAoXG4gIHsgX190eXBlbmFtZT86ICdNdXRhdGlvbicgfVxuICAmIHsgc2F2ZVJlY2VudFNlYXJjaDogQXJyYXk8KFxuICAgIHsgX190eXBlbmFtZT86ICdTZWFyY2gnIH1cbiAgICAmIFBpY2s8U2VhcmNoLCAnaWQnPlxuICApPiB9XG4pO1xuXG5leHBvcnQgdHlwZSBTYXZlVXNlckFkZHJlc3NNdXRhdGlvblZhcmlhYmxlcyA9IEV4YWN0PHtcbiAgZGVzY3JpcHRpb246IFNjYWxhcnNbJ1N0cmluZyddO1xuICBudW1iZXJPck5hbWU/OiBNYXliZTxTY2FsYXJzWydTdHJpbmcnXT47XG4gIHN0cmVldD86IE1heWJlPFNjYWxhcnNbJ1N0cmluZyddPjtcbiAgdG93bj86IE1heWJlPFNjYWxhcnNbJ1N0cmluZyddPjtcbiAgY291bnR5PzogTWF5YmU8U2NhbGFyc1snU3RyaW5nJ10+O1xuICBwb3N0Y29kZT86IE1heWJlPFNjYWxhcnNbJ1N0cmluZyddPjtcbiAgY291bnRyeUNvZGU/OiBNYXliZTxTY2FsYXJzWydTdHJpbmcnXT47XG4gIHVzZXJQcmltYXJ5PzogTWF5YmU8U2NhbGFyc1snQm9vbGVhbiddPjtcbn0+O1xuXG5cbmV4cG9ydCB0eXBlIFNhdmVVc2VyQWRkcmVzc011dGF0aW9uID0gKFxuICB7IF9fdHlwZW5hbWU/OiAnTXV0YXRpb24nIH1cbiAgJiB7IHNhdmVVc2VyQWRkcmVzczogKFxuICAgIHsgX190eXBlbmFtZT86ICdBZGRyZXNzJyB9XG4gICAgJiBQaWNrPEFkZHJlc3MsICdpZCcgfCAnZGVzY3JpcHRpb24nIHwgJ251bWJlck9yTmFtZScgfCAnc3RyZWV0JyB8ICd0b3duJyB8ICdjb3VudHknIHwgJ3Bvc3Rjb2RlJyB8ICdjb3VudHJ5Q29kZScgfCAndXNlclByaW1hcnknIHwgJ29mZmljZVByaW1hcnknPlxuICApIH1cbik7XG5cbmV4cG9ydCB0eXBlIFNlYXJjaEFpcmxpbmVzUXVlcnlWYXJpYWJsZXMgPSBFeGFjdDx7XG4gIHF1ZXJ5OiBTY2FsYXJzWydTdHJpbmcnXTtcbn0+O1xuXG5cbmV4cG9ydCB0eXBlIFNlYXJjaEFpcmxpbmVzUXVlcnkgPSAoXG4gIHsgX190eXBlbmFtZT86ICdRdWVyeScgfVxuICAmIHsgc2VhcmNoQWlybGluZXM6IChcbiAgICB7IF9fdHlwZW5hbWU/OiAnQWlybGluZVJlc3VsdHMnIH1cbiAgICAmIHsgaWF0YU1hdGNoPzogTWF5YmU8KFxuICAgICAgeyBfX3R5cGVuYW1lPzogJ0FpcmxpbmVSZXN1bHQnIH1cbiAgICAgICYgUGljazxBaXJsaW5lUmVzdWx0LCAnaWQnIHwgJ25hbWUnIHwgJ2lhdGEnIHwgJ2ljYW8nIHwgJ2FsaWFzJyB8ICdjYWxsc2lnbicgfCAnYWN0aXZlJyB8ICdjb250aW5lbnQnIHwgJ2NvdW50cnknIHwgJ2NvdW50cnlDb2RlJyB8ICdiYW5uZXJJbWFnZScgfCAnbG9nb0ltYWdlJz5cbiAgICApPiwgZ2VuZXJhbE1hdGNoZXM6IEFycmF5PChcbiAgICAgIHsgX190eXBlbmFtZT86ICdBaXJsaW5lUmVzdWx0JyB9XG4gICAgICAmIFBpY2s8QWlybGluZVJlc3VsdCwgJ2lkJyB8ICduYW1lJyB8ICdpYXRhJyB8ICdpY2FvJyB8ICdhbGlhcycgfCAnY2FsbHNpZ24nIHwgJ2FjdGl2ZScgfCAnY29udGluZW50JyB8ICdjb3VudHJ5JyB8ICdjb3VudHJ5Q29kZScgfCAnYmFubmVySW1hZ2UnIHwgJ2xvZ29JbWFnZSc+XG4gICAgKT4gfVxuICApIH1cbik7XG5cbmV4cG9ydCB0eXBlIFNlYXJjaENpdGllc1F1ZXJ5VmFyaWFibGVzID0gRXhhY3Q8e1xuICBxdWVyeTogU2NhbGFyc1snU3RyaW5nJ107XG4gIGNvdW50cnlDb2RlPzogTWF5YmU8U2NhbGFyc1snU3RyaW5nJ10+O1xufT47XG5cblxuZXhwb3J0IHR5cGUgU2VhcmNoQ2l0aWVzUXVlcnkgPSAoXG4gIHsgX190eXBlbmFtZT86ICdRdWVyeScgfVxuICAmIHsgc2VhcmNoQ2l0aWVzOiBBcnJheTwoXG4gICAgeyBfX3R5cGVuYW1lPzogJ0NpdHknIH1cbiAgICAmIFBpY2s8Q2l0eSwgJ2lkJyB8ICduYW1lJyB8ICdjb3VudHJ5JyB8ICdjb3VudHJ5Q29kZScgfCAnY29udGluZW50TmFtZSc+XG4gICAgJiB7IGNvb3JkaW5hdGVzOiAoXG4gICAgICB7IF9fdHlwZW5hbWU/OiAnR2VvQ29vcmRpbmF0ZXMnIH1cbiAgICAgICYgUGljazxHZW9Db29yZGluYXRlcywgJ2xhdGl0dWRlJyB8ICdsb25naXR1ZGUnIHwgJ2FsdGl0dWRlJz5cbiAgICApIH1cbiAgKT4gfVxuKTtcblxuZXhwb3J0IHR5cGUgU2VhcmNoQ29uZmVybWFDaXRpZXNRdWVyeVZhcmlhYmxlcyA9IEV4YWN0PHtcbiAgY2l0eU5hbWU6IFNjYWxhcnNbJ1N0cmluZyddO1xuICBjb3VudHJ5Q29kZTogU2NhbGFyc1snU3RyaW5nJ107XG59PjtcblxuXG5leHBvcnQgdHlwZSBTZWFyY2hDb25mZXJtYUNpdGllc1F1ZXJ5ID0gKFxuICB7IF9fdHlwZW5hbWU/OiAnUXVlcnknIH1cbiAgJiB7IHNlYXJjaENvbmZlcm1hQ2l0aWVzOiAoXG4gICAgeyBfX3R5cGVuYW1lPzogJ0NvbmZlcm1hQ2l0eUxvY2F0aW9uJyB9XG4gICAgJiBQaWNrPENvbmZlcm1hQ2l0eUxvY2F0aW9uLCAnZm91bmRFeGFjdCc+XG4gICAgJiB7IHN1Z2dlc3Rpb25zPzogTWF5YmU8QXJyYXk8TWF5YmU8KFxuICAgICAgeyBfX3R5cGVuYW1lPzogJ0NvbmZlcm1hQ2l0eUxvY2F0aW9uT3B0aW9ucycgfVxuICAgICAgJiBQaWNrPENvbmZlcm1hQ2l0eUxvY2F0aW9uT3B0aW9ucywgJ25hbWUnIHwgJ2NvdW50cnlDb2RlJyB8ICdsYXRpdHVkZScgfCAnbG9uZ2l0dWRlJz5cbiAgICApPj4+IH1cbiAgKSB9XG4pO1xuXG5leHBvcnQgdHlwZSBTZWFyY2hFdXJvc3RhclF1ZXJ5VmFyaWFibGVzID0gRXhhY3Q8e1xuICBwYXNzZW5nZXJzOiBBcnJheTxGbGlnaHRQYXNzZW5nZXJPYmplY3Q+IHwgRmxpZ2h0UGFzc2VuZ2VyT2JqZWN0O1xuICBvcmlnaW5BaXJwb3J0PzogTWF5YmU8U2NhbGFyc1snU3RyaW5nJ10+O1xuICBkZXN0aW5hdGlvbkFpcnBvcnQ/OiBNYXliZTxTY2FsYXJzWydTdHJpbmcnXT47XG4gIG11bHRpRGVzdGluYXRpb24/OiBNYXliZTxBcnJheTxNYXliZTxEZXN0aW5hdGlvbkVudHJ5Pj4gfCBNYXliZTxEZXN0aW5hdGlvbkVudHJ5Pj47XG4gIG91dGJvdW5kRGF0ZT86IE1heWJlPFNjYWxhcnNbJ0RhdGUnXT47XG4gIG91dGJvdW5kRGVwYXJ0dXJlVGltZVdpbmRvdz86IE1heWJlPFNjYWxhcnNbJ1N0cmluZyddPjtcbiAgb3V0Ym91bmRBcnJpdmFsVGltZVdpbmRvdz86IE1heWJlPFNjYWxhcnNbJ1N0cmluZyddPjtcbiAgb3V0Ym91bmRDYWJpbkNsYXNzPzogTWF5YmU8QXJyYXk8TWF5YmU8RmxpZ2h0Q2FiaW5DbGFzcz4+IHwgTWF5YmU8RmxpZ2h0Q2FiaW5DbGFzcz4+O1xuICByZXR1cm5UcmlwOiBTY2FsYXJzWydCb29sZWFuJ107XG4gIHJldHVybkRhdGU/OiBNYXliZTxTY2FsYXJzWydEYXRlJ10+O1xuICByZXR1cm5EZXBhcnR1cmVUaW1lV2luZG93PzogTWF5YmU8U2NhbGFyc1snU3RyaW5nJ10+O1xuICByZXR1cm5BcnJpdmFsVGltZVdpbmRvdz86IE1heWJlPFNjYWxhcnNbJ1N0cmluZyddPjtcbiAgcmV0dXJuQ2FiaW5DbGFzcz86IE1heWJlPEFycmF5PE1heWJlPEZsaWdodENhYmluQ2xhc3M+PiB8IE1heWJlPEZsaWdodENhYmluQ2xhc3M+PjtcbiAgZmFyZVR5cGU6IEZhcmVUeXBlO1xuICByZXF1aXJlRnJlZUJhZz86IE1heWJlPFNjYWxhcnNbJ0Jvb2xlYW4nXT47XG4gIG1heENvbm5lY3Rpb25zPzogTWF5YmU8U2NhbGFyc1snSW50J10+O1xuICBwcmVmZXJyZWRDYXJyaWVycz86IE1heWJlPEFycmF5PE1heWJlPFNjYWxhcnNbJ1N0cmluZyddPj4gfCBNYXliZTxTY2FsYXJzWydTdHJpbmcnXT4+O1xuICBpbmNsdWRlTmVhcmJ5QWlycG9ydHM/OiBNYXliZTxTY2FsYXJzWydCb29sZWFuJ10+O1xuICBhc1NpbmdsZXM/OiBNYXliZTxTY2FsYXJzWydCb29sZWFuJ10+O1xufT47XG5cblxuZXhwb3J0IHR5cGUgU2VhcmNoRXVyb3N0YXJRdWVyeSA9IChcbiAgeyBfX3R5cGVuYW1lPzogJ1F1ZXJ5JyB9XG4gICYgeyBzZWFyY2hFdXJvc3RhcjogKFxuICAgIHsgX190eXBlbmFtZT86ICdGbGlnaHRTZWFyY2hSZXN1bHRWMicgfVxuICAgICYgeyByZXN1bHRzOiAoXG4gICAgICB7IF9fdHlwZW5hbWU/OiAnRkVGbGlnaHRTZWFyY2hSZXN1bHRzJyB9XG4gICAgICAmIHsgam91cm5leXM6IEFycmF5PChcbiAgICAgICAgeyBfX3R5cGVuYW1lPzogJ0ZsaWdodEl0aW5lcmFyeScgfVxuICAgICAgICAmIFBpY2s8RmxpZ2h0SXRpbmVyYXJ5LCAndWlkJyB8ICdwYXNzZW5nZXJDb3VudCcgfCAnb3V0Ym91bmRUb3RhbER1cmF0aW9uJyB8ICdpbmJvdW5kVG90YWxEdXJhdGlvbicgfCAnYWRkaXRpb25hbCcgfCAnc291cmNlJyB8ICdzb3VyY2VJZCcgfCAndmVyc2lvbicgfCAndG1jUHJlZmVycmVkJyB8ICdjb21wYW55UHJlZmVycmVkJyB8ICdvZmZpY2VQcmVmZXJyZWQnIHwgJ3RtY1ByZWZlcnJlZE1lc3NhZ2UnIHwgJ2NvbXBhbnlQcmVmZXJyZWRNZXNzYWdlJyB8ICdvZmZpY2VQcmVmZXJyZWRNZXNzYWdlJyB8ICd1bmF2YWlsYWJsZScgfCAndW5hdmFpbGFibGVNZXNzYWdlJyB8ICdjbzJQZXJJdGVtJyB8ICdjbzJQZXJQYXNzZW5nZXInPlxuICAgICAgICAmIHsgb3V0Ym91bmRGbGlnaHRzOiBBcnJheTwoXG4gICAgICAgICAgeyBfX3R5cGVuYW1lPzogJ0ZsaWdodEpvdXJuZXknIH1cbiAgICAgICAgICAmIFBpY2s8RmxpZ2h0Sm91cm5leSwgJ29yaWdpbkFpcnBvcnQnIHwgJ29yaWdpblRlcm1pbmFsJyB8ICdvcmlnaW5BaXJwb3J0TmFtZScgfCAnZGVzdGluYXRpb25BaXJwb3J0JyB8ICdkZXN0aW5hdGlvblRlcm1pbmFsJyB8ICdkZXN0aW5hdGlvbkFpcnBvcnROYW1lJyB8ICdkYXRlVGltZURlcGFydGluZycgfCAnZGF0ZVRpbWVEZXBhcnRpbmdVVEMnIHwgJ2RhdGVUaW1lQXJyaXZpbmcnIHwgJ2RhdGVUaW1lQXJyaXZpbmdVVEMnIHwgJ21hcmtldGluZ0NhcnJpZXInIHwgJ21hcmtldGluZ0NhcnJpZXJOYW1lJyB8ICdtYXJrZXRpbmdGbGlnaHROdW1iZXInIHwgJ29wZXJhdGluZ0NhcnJpZXInIHwgJ29wZXJhdGluZ0NhcnJpZXJOYW1lJyB8ICdvcGVyYXRpbmdGbGlnaHROdW1iZXInIHwgJ2VxdWlwbWVudENvZGUnIHwgJ2VxdWlwbWVudE5hbWUnIHwgJ3RvdGFsRHVyYXRpb24nIHwgJ2NhYmluQ2xhc3MnIHwgJ21hcmtldGluZ05hbWVzJyB8ICd2ZW5kb3JDb2RlJyB8ICdzdG9wcycgfCAnYm9va2luZ0NvZGUnIHwgJ21hcnJpYWdlR3JvdXAnIHwgJ2ZhcmVCYXNpc0NvZGUnIHwgJ2FkZGl0aW9uYWwnPlxuICAgICAgICAgICYgeyBmYXJlSW5mbz86IE1heWJlPChcbiAgICAgICAgICAgIHsgX190eXBlbmFtZT86ICdGbGlnaHRTcGVjaWFsRmFyZUluZm8nIH1cbiAgICAgICAgICAgICYgUGljazxGbGlnaHRTcGVjaWFsRmFyZUluZm8sICd0aXRsZScgfCAndHlwZScgfCAnY29kZScgfCAnc3VwcGxpZXJDb2RlJz5cbiAgICAgICAgICApPiwgb3JpZ2luQWlycG9ydERldGFpbDogKFxuICAgICAgICAgICAgeyBfX3R5cGVuYW1lPzogJ0FpcnBvcnREZXRhaWwnIH1cbiAgICAgICAgICAgICYgUGljazxBaXJwb3J0RGV0YWlsLCAnaWF0YScgfCAnaWNhbycgfCAnbGF0aXR1ZGUnIHwgJ2xvbmdpdHVkZScgfCAnYWx0aXR1ZGUnIHwgJ3N0YXRlJyB8ICdjaXR5JyB8ICdyb2FkJyB8ICdwb3B1bGFyaXR5JyB8ICdhcmVhJyB8ICdsb2NhdGlvbicgfCAnb2Zmc2V0JyB8ICdhaXJwb3J0TmFtZScgfCAnY291bnRyeU5hbWUnIHwgJ2NvdW50cnlDb2RlJyB8ICdwb3N0Y29kZSc+XG4gICAgICAgICAgKSwgZGVzdGluYXRpb25BaXJwb3J0RGV0YWlsOiAoXG4gICAgICAgICAgICB7IF9fdHlwZW5hbWU/OiAnQWlycG9ydERldGFpbCcgfVxuICAgICAgICAgICAgJiBQaWNrPEFpcnBvcnREZXRhaWwsICdpYXRhJyB8ICdpY2FvJyB8ICdsYXRpdHVkZScgfCAnbG9uZ2l0dWRlJyB8ICdhbHRpdHVkZScgfCAnc3RhdGUnIHwgJ2NpdHknIHwgJ3JvYWQnIHwgJ3BvcHVsYXJpdHknIHwgJ2FyZWEnIHwgJ2xvY2F0aW9uJyB8ICdvZmZzZXQnIHwgJ2FpcnBvcnROYW1lJyB8ICdjb3VudHJ5TmFtZScgfCAnY291bnRyeUNvZGUnIHwgJ3Bvc3Rjb2RlJz5cbiAgICAgICAgICApLCBtYXJrZXRpbmdDYXJyaWVyRGV0YWlsOiAoXG4gICAgICAgICAgICB7IF9fdHlwZW5hbWU/OiAnRmxpZ2h0Q2FycmllckRldGFpbCcgfVxuICAgICAgICAgICAgJiBQaWNrPEZsaWdodENhcnJpZXJEZXRhaWwsICduYW1lJyB8ICdhbGlhcycgfCAnY2FsbHNpZ24nIHwgJ2lhdGEnIHwgJ2ljYW8nIHwgJ2xvZ28nIHwgJ2Jhbm5lcicgfCAncG9wdWxhcml0eSc+XG4gICAgICAgICAgKSwgb3BlcmF0aW5nQ2FycmllckRldGFpbDogKFxuICAgICAgICAgICAgeyBfX3R5cGVuYW1lPzogJ0ZsaWdodENhcnJpZXJEZXRhaWwnIH1cbiAgICAgICAgICAgICYgUGljazxGbGlnaHRDYXJyaWVyRGV0YWlsLCAnbmFtZScgfCAnYWxpYXMnIHwgJ2NhbGxzaWduJyB8ICdpYXRhJyB8ICdpY2FvJyB8ICdsb2dvJyB8ICdiYW5uZXInIHwgJ3BvcHVsYXJpdHknPlxuICAgICAgICAgICksIGZhcmVDb25kaXRpb25zOiAoXG4gICAgICAgICAgICB7IF9fdHlwZW5hbWU/OiAnRmFyZUNvbmRpdGlvbnMnIH1cbiAgICAgICAgICAgICYgeyBjYW5jZWxsYXRpb24/OiBNYXliZTxBcnJheTxNYXliZTwoXG4gICAgICAgICAgICAgIHsgX190eXBlbmFtZT86ICdGYXJlQ29uZGl0aW9uRW50cnknIH1cbiAgICAgICAgICAgICAgJiBQaWNrPEZhcmVDb25kaXRpb25FbnRyeSwgJ25hbWUnIHwgJ3R5cGUnIHwgJ2N1cnJlbmN5JyB8ICdhbW91bnQnIHwgJ3JlbWFyaycgfCAnY2hhbmdlRmVlSW5kJyB8ICdjYW5jZWxGZWVJbmQnIHwgJ3JlZnVuZGFibGVJbmQnPlxuICAgICAgICAgICAgKT4+PiwgY2hhbmdlPzogTWF5YmU8QXJyYXk8TWF5YmU8KFxuICAgICAgICAgICAgICB7IF9fdHlwZW5hbWU/OiAnRmFyZUNvbmRpdGlvbkVudHJ5JyB9XG4gICAgICAgICAgICAgICYgUGljazxGYXJlQ29uZGl0aW9uRW50cnksICduYW1lJyB8ICd0eXBlJyB8ICdjdXJyZW5jeScgfCAnYW1vdW50JyB8ICdyZW1hcmsnIHwgJ2NoYW5nZUZlZUluZCcgfCAnY2FuY2VsRmVlSW5kJyB8ICdyZWZ1bmRhYmxlSW5kJz5cbiAgICAgICAgICAgICk+Pj4sIG5vU2hvdz86IE1heWJlPEFycmF5PE1heWJlPChcbiAgICAgICAgICAgICAgeyBfX3R5cGVuYW1lPzogJ0ZhcmVDb25kaXRpb25FbnRyeScgfVxuICAgICAgICAgICAgICAmIFBpY2s8RmFyZUNvbmRpdGlvbkVudHJ5LCAnbmFtZScgfCAndHlwZScgfCAnY3VycmVuY3knIHwgJ2Ftb3VudCcgfCAncmVtYXJrJyB8ICdjaGFuZ2VGZWVJbmQnIHwgJ2NhbmNlbEZlZUluZCcgfCAncmVmdW5kYWJsZUluZCc+XG4gICAgICAgICAgICApPj4+LCB1cGdyYWRlPzogTWF5YmU8QXJyYXk8TWF5YmU8KFxuICAgICAgICAgICAgICB7IF9fdHlwZW5hbWU/OiAnRmFyZUNvbmRpdGlvbkVudHJ5JyB9XG4gICAgICAgICAgICAgICYgUGljazxGYXJlQ29uZGl0aW9uRW50cnksICduYW1lJyB8ICd0eXBlJyB8ICdjdXJyZW5jeScgfCAnYW1vdW50JyB8ICdyZW1hcmsnIHwgJ2NoYW5nZUZlZUluZCcgfCAnY2FuY2VsRmVlSW5kJyB8ICdyZWZ1bmRhYmxlSW5kJz5cbiAgICAgICAgICAgICk+Pj4sIG90aGVyPzogTWF5YmU8QXJyYXk8TWF5YmU8KFxuICAgICAgICAgICAgICB7IF9fdHlwZW5hbWU/OiAnRmFyZUNvbmRpdGlvbkVudHJ5JyB9XG4gICAgICAgICAgICAgICYgUGljazxGYXJlQ29uZGl0aW9uRW50cnksICduYW1lJyB8ICd0eXBlJyB8ICdjdXJyZW5jeScgfCAnYW1vdW50JyB8ICdyZW1hcmsnIHwgJ2NoYW5nZUZlZUluZCcgfCAnY2FuY2VsRmVlSW5kJyB8ICdyZWZ1bmRhYmxlSW5kJz5cbiAgICAgICAgICAgICk+Pj4gfVxuICAgICAgICAgICkgfVxuICAgICAgICApPiwgaW5ib3VuZEZsaWdodHM/OiBNYXliZTxBcnJheTxNYXliZTwoXG4gICAgICAgICAgeyBfX3R5cGVuYW1lPzogJ0ZsaWdodEpvdXJuZXknIH1cbiAgICAgICAgICAmIFBpY2s8RmxpZ2h0Sm91cm5leSwgJ29yaWdpbkFpcnBvcnQnIHwgJ29yaWdpblRlcm1pbmFsJyB8ICdvcmlnaW5BaXJwb3J0TmFtZScgfCAnZGVzdGluYXRpb25BaXJwb3J0JyB8ICdkZXN0aW5hdGlvblRlcm1pbmFsJyB8ICdkZXN0aW5hdGlvbkFpcnBvcnROYW1lJyB8ICdkYXRlVGltZURlcGFydGluZycgfCAnZGF0ZVRpbWVEZXBhcnRpbmdVVEMnIHwgJ2RhdGVUaW1lQXJyaXZpbmcnIHwgJ2RhdGVUaW1lQXJyaXZpbmdVVEMnIHwgJ21hcmtldGluZ0NhcnJpZXInIHwgJ21hcmtldGluZ0NhcnJpZXJOYW1lJyB8ICdtYXJrZXRpbmdGbGlnaHROdW1iZXInIHwgJ29wZXJhdGluZ0NhcnJpZXInIHwgJ29wZXJhdGluZ0NhcnJpZXJOYW1lJyB8ICdvcGVyYXRpbmdGbGlnaHROdW1iZXInIHwgJ2VxdWlwbWVudENvZGUnIHwgJ2VxdWlwbWVudE5hbWUnIHwgJ3RvdGFsRHVyYXRpb24nIHwgJ2NhYmluQ2xhc3MnIHwgJ21hcmtldGluZ05hbWVzJyB8ICd2ZW5kb3JDb2RlJyB8ICdzdG9wcycgfCAnYm9va2luZ0NvZGUnIHwgJ21hcnJpYWdlR3JvdXAnIHwgJ2ZhcmVCYXNpc0NvZGUnIHwgJ2FkZGl0aW9uYWwnPlxuICAgICAgICAgICYgeyBmYXJlSW5mbz86IE1heWJlPChcbiAgICAgICAgICAgIHsgX190eXBlbmFtZT86ICdGbGlnaHRTcGVjaWFsRmFyZUluZm8nIH1cbiAgICAgICAgICAgICYgUGljazxGbGlnaHRTcGVjaWFsRmFyZUluZm8sICd0aXRsZScgfCAndHlwZScgfCAnY29kZScgfCAnc3VwcGxpZXJDb2RlJz5cbiAgICAgICAgICApPiwgb3JpZ2luQWlycG9ydERldGFpbDogKFxuICAgICAgICAgICAgeyBfX3R5cGVuYW1lPzogJ0FpcnBvcnREZXRhaWwnIH1cbiAgICAgICAgICAgICYgUGljazxBaXJwb3J0RGV0YWlsLCAnaWF0YScgfCAnaWNhbycgfCAnbGF0aXR1ZGUnIHwgJ2xvbmdpdHVkZScgfCAnYWx0aXR1ZGUnIHwgJ3N0YXRlJyB8ICdjaXR5JyB8ICdyb2FkJyB8ICdwb3B1bGFyaXR5JyB8ICdhcmVhJyB8ICdsb2NhdGlvbicgfCAnb2Zmc2V0JyB8ICdhaXJwb3J0TmFtZScgfCAnY291bnRyeU5hbWUnIHwgJ2NvdW50cnlDb2RlJyB8ICdwb3N0Y29kZSc+XG4gICAgICAgICAgKSwgZGVzdGluYXRpb25BaXJwb3J0RGV0YWlsOiAoXG4gICAgICAgICAgICB7IF9fdHlwZW5hbWU/OiAnQWlycG9ydERldGFpbCcgfVxuICAgICAgICAgICAgJiBQaWNrPEFpcnBvcnREZXRhaWwsICdpYXRhJyB8ICdpY2FvJyB8ICdsYXRpdHVkZScgfCAnbG9uZ2l0dWRlJyB8ICdhbHRpdHVkZScgfCAnc3RhdGUnIHwgJ2NpdHknIHwgJ3JvYWQnIHwgJ3BvcHVsYXJpdHknIHwgJ2FyZWEnIHwgJ2xvY2F0aW9uJyB8ICdvZmZzZXQnIHwgJ2FpcnBvcnROYW1lJyB8ICdjb3VudHJ5TmFtZScgfCAnY291bnRyeUNvZGUnIHwgJ3Bvc3Rjb2RlJz5cbiAgICAgICAgICApLCBtYXJrZXRpbmdDYXJyaWVyRGV0YWlsOiAoXG4gICAgICAgICAgICB7IF9fdHlwZW5hbWU/OiAnRmxpZ2h0Q2FycmllckRldGFpbCcgfVxuICAgICAgICAgICAgJiBQaWNrPEZsaWdodENhcnJpZXJEZXRhaWwsICduYW1lJyB8ICdhbGlhcycgfCAnY2FsbHNpZ24nIHwgJ2lhdGEnIHwgJ2ljYW8nIHwgJ2xvZ28nIHwgJ2Jhbm5lcicgfCAncG9wdWxhcml0eSc+XG4gICAgICAgICAgKSwgb3BlcmF0aW5nQ2FycmllckRldGFpbDogKFxuICAgICAgICAgICAgeyBfX3R5cGVuYW1lPzogJ0ZsaWdodENhcnJpZXJEZXRhaWwnIH1cbiAgICAgICAgICAgICYgUGljazxGbGlnaHRDYXJyaWVyRGV0YWlsLCAnbmFtZScgfCAnYWxpYXMnIHwgJ2NhbGxzaWduJyB8ICdpYXRhJyB8ICdpY2FvJyB8ICdsb2dvJyB8ICdiYW5uZXInIHwgJ3BvcHVsYXJpdHknPlxuICAgICAgICAgICksIGZhcmVDb25kaXRpb25zOiAoXG4gICAgICAgICAgICB7IF9fdHlwZW5hbWU/OiAnRmFyZUNvbmRpdGlvbnMnIH1cbiAgICAgICAgICAgICYgeyBjYW5jZWxsYXRpb24/OiBNYXliZTxBcnJheTxNYXliZTwoXG4gICAgICAgICAgICAgIHsgX190eXBlbmFtZT86ICdGYXJlQ29uZGl0aW9uRW50cnknIH1cbiAgICAgICAgICAgICAgJiBQaWNrPEZhcmVDb25kaXRpb25FbnRyeSwgJ25hbWUnIHwgJ3R5cGUnIHwgJ2N1cnJlbmN5JyB8ICdhbW91bnQnIHwgJ3JlbWFyaycgfCAnY2hhbmdlRmVlSW5kJyB8ICdjYW5jZWxGZWVJbmQnIHwgJ3JlZnVuZGFibGVJbmQnPlxuICAgICAgICAgICAgKT4+PiwgY2hhbmdlPzogTWF5YmU8QXJyYXk8TWF5YmU8KFxuICAgICAgICAgICAgICB7IF9fdHlwZW5hbWU/OiAnRmFyZUNvbmRpdGlvbkVudHJ5JyB9XG4gICAgICAgICAgICAgICYgUGljazxGYXJlQ29uZGl0aW9uRW50cnksICduYW1lJyB8ICd0eXBlJyB8ICdjdXJyZW5jeScgfCAnYW1vdW50JyB8ICdyZW1hcmsnIHwgJ2NoYW5nZUZlZUluZCcgfCAnY2FuY2VsRmVlSW5kJyB8ICdyZWZ1bmRhYmxlSW5kJz5cbiAgICAgICAgICAgICk+Pj4sIG5vU2hvdz86IE1heWJlPEFycmF5PE1heWJlPChcbiAgICAgICAgICAgICAgeyBfX3R5cGVuYW1lPzogJ0ZhcmVDb25kaXRpb25FbnRyeScgfVxuICAgICAgICAgICAgICAmIFBpY2s8RmFyZUNvbmRpdGlvbkVudHJ5LCAnbmFtZScgfCAndHlwZScgfCAnY3VycmVuY3knIHwgJ2Ftb3VudCcgfCAncmVtYXJrJyB8ICdjaGFuZ2VGZWVJbmQnIHwgJ2NhbmNlbEZlZUluZCcgfCAncmVmdW5kYWJsZUluZCc+XG4gICAgICAgICAgICApPj4+LCB1cGdyYWRlPzogTWF5YmU8QXJyYXk8TWF5YmU8KFxuICAgICAgICAgICAgICB7IF9fdHlwZW5hbWU/OiAnRmFyZUNvbmRpdGlvbkVudHJ5JyB9XG4gICAgICAgICAgICAgICYgUGljazxGYXJlQ29uZGl0aW9uRW50cnksICduYW1lJyB8ICd0eXBlJyB8ICdjdXJyZW5jeScgfCAnYW1vdW50JyB8ICdyZW1hcmsnIHwgJ2NoYW5nZUZlZUluZCcgfCAnY2FuY2VsRmVlSW5kJyB8ICdyZWZ1bmRhYmxlSW5kJz5cbiAgICAgICAgICAgICk+Pj4sIG90aGVyPzogTWF5YmU8QXJyYXk8TWF5YmU8KFxuICAgICAgICAgICAgICB7IF9fdHlwZW5hbWU/OiAnRmFyZUNvbmRpdGlvbkVudHJ5JyB9XG4gICAgICAgICAgICAgICYgUGljazxGYXJlQ29uZGl0aW9uRW50cnksICduYW1lJyB8ICd0eXBlJyB8ICdjdXJyZW5jeScgfCAnYW1vdW50JyB8ICdyZW1hcmsnIHwgJ2NoYW5nZUZlZUluZCcgfCAnY2FuY2VsRmVlSW5kJyB8ICdyZWZ1bmRhYmxlSW5kJz5cbiAgICAgICAgICAgICk+Pj4gfVxuICAgICAgICAgICkgfVxuICAgICAgICApPj4+LCBvdXRib3VuZENhcmJvbkVtaXNzaW9ucz86IE1heWJlPChcbiAgICAgICAgICB7IF9fdHlwZW5hbWU/OiAnRmxpZ2h0Q2FyYm9uRW1pc3Npb25zJyB9XG4gICAgICAgICAgJiBQaWNrPEZsaWdodENhcmJvbkVtaXNzaW9ucywgJ2Ftb3VudCcgfCAndW5pdCc+XG4gICAgICAgICk+LCBpbmJvdW5kQ2FyYm9uRW1pc3Npb25zPzogTWF5YmU8KFxuICAgICAgICAgIHsgX190eXBlbmFtZT86ICdGbGlnaHRDYXJib25FbWlzc2lvbnMnIH1cbiAgICAgICAgICAmIFBpY2s8RmxpZ2h0Q2FyYm9uRW1pc3Npb25zLCAnYW1vdW50JyB8ICd1bml0Jz5cbiAgICAgICAgKT4sIHRheGVzPzogTWF5YmU8QXJyYXk8TWF5YmU8KFxuICAgICAgICAgIHsgX190eXBlbmFtZT86ICdGbGlnaHRBbW91bnQnIH1cbiAgICAgICAgICAmIFBpY2s8RmxpZ2h0QW1vdW50LCAnZGVzY3JpcHRpb24nIHwgJ2Ftb3VudCcgfCAnY3VycmVuY3knPlxuICAgICAgICApPj4+LCBkaXNjb3VudHM/OiBNYXliZTxBcnJheTxNYXliZTwoXG4gICAgICAgICAgeyBfX3R5cGVuYW1lPzogJ0ZsaWdodEFtb3VudCcgfVxuICAgICAgICAgICYgUGljazxGbGlnaHRBbW91bnQsICdkZXNjcmlwdGlvbicgfCAnYW1vdW50JyB8ICdjdXJyZW5jeSc+XG4gICAgICAgICk+Pj4sIHRvdGFsOiAoXG4gICAgICAgICAgeyBfX3R5cGVuYW1lPzogJ0ZsaWdodEZhcmVUb3RhbCcgfVxuICAgICAgICAgICYgUGljazxGbGlnaHRGYXJlVG90YWwsICdwcmljZScgfCAndGF4JyB8ICdkaXNjb3VudCcgfCAnY3VycmVuY3knPlxuICAgICAgICApLCBmYXJlQ29uZGl0aW9ucz86IE1heWJlPChcbiAgICAgICAgICB7IF9fdHlwZW5hbWU/OiAnRmFyZUNvbmRpdGlvbnMnIH1cbiAgICAgICAgICAmIHsgY2FuY2VsbGF0aW9uPzogTWF5YmU8QXJyYXk8TWF5YmU8KFxuICAgICAgICAgICAgeyBfX3R5cGVuYW1lPzogJ0ZhcmVDb25kaXRpb25FbnRyeScgfVxuICAgICAgICAgICAgJiBQaWNrPEZhcmVDb25kaXRpb25FbnRyeSwgJ25hbWUnIHwgJ3R5cGUnIHwgJ2N1cnJlbmN5JyB8ICdhbW91bnQnIHwgJ3JlbWFyaycgfCAnY2hhbmdlRmVlSW5kJyB8ICdjYW5jZWxGZWVJbmQnIHwgJ3JlZnVuZGFibGVJbmQnPlxuICAgICAgICAgICk+Pj4sIGNoYW5nZT86IE1heWJlPEFycmF5PE1heWJlPChcbiAgICAgICAgICAgIHsgX190eXBlbmFtZT86ICdGYXJlQ29uZGl0aW9uRW50cnknIH1cbiAgICAgICAgICAgICYgUGljazxGYXJlQ29uZGl0aW9uRW50cnksICduYW1lJyB8ICd0eXBlJyB8ICdjdXJyZW5jeScgfCAnYW1vdW50JyB8ICdyZW1hcmsnIHwgJ2NoYW5nZUZlZUluZCcgfCAnY2FuY2VsRmVlSW5kJyB8ICdyZWZ1bmRhYmxlSW5kJz5cbiAgICAgICAgICApPj4+LCBub1Nob3c/OiBNYXliZTxBcnJheTxNYXliZTwoXG4gICAgICAgICAgICB7IF9fdHlwZW5hbWU/OiAnRmFyZUNvbmRpdGlvbkVudHJ5JyB9XG4gICAgICAgICAgICAmIFBpY2s8RmFyZUNvbmRpdGlvbkVudHJ5LCAnbmFtZScgfCAndHlwZScgfCAnY3VycmVuY3knIHwgJ2Ftb3VudCcgfCAncmVtYXJrJyB8ICdjaGFuZ2VGZWVJbmQnIHwgJ2NhbmNlbEZlZUluZCcgfCAncmVmdW5kYWJsZUluZCc+XG4gICAgICAgICAgKT4+PiwgdXBncmFkZT86IE1heWJlPEFycmF5PE1heWJlPChcbiAgICAgICAgICAgIHsgX190eXBlbmFtZT86ICdGYXJlQ29uZGl0aW9uRW50cnknIH1cbiAgICAgICAgICAgICYgUGljazxGYXJlQ29uZGl0aW9uRW50cnksICduYW1lJyB8ICd0eXBlJyB8ICdjdXJyZW5jeScgfCAnYW1vdW50JyB8ICdyZW1hcmsnIHwgJ2NoYW5nZUZlZUluZCcgfCAnY2FuY2VsRmVlSW5kJyB8ICdyZWZ1bmRhYmxlSW5kJz5cbiAgICAgICAgICApPj4+LCBvdGhlcj86IE1heWJlPEFycmF5PE1heWJlPChcbiAgICAgICAgICAgIHsgX190eXBlbmFtZT86ICdGYXJlQ29uZGl0aW9uRW50cnknIH1cbiAgICAgICAgICAgICYgUGljazxGYXJlQ29uZGl0aW9uRW50cnksICduYW1lJyB8ICd0eXBlJyB8ICdjdXJyZW5jeScgfCAnYW1vdW50JyB8ICdyZW1hcmsnIHwgJ2NoYW5nZUZlZUluZCcgfCAnY2FuY2VsRmVlSW5kJyB8ICdyZWZ1bmRhYmxlSW5kJz5cbiAgICAgICAgICApPj4+IH1cbiAgICAgICAgKT4sIGJhZ2dhZ2VBbGxvd2FuY2U/OiBNYXliZTxBcnJheTxNYXliZTwoXG4gICAgICAgICAgeyBfX3R5cGVuYW1lPzogJ0JhZ2dhZ2VBbGxvd2FuY2UnIH1cbiAgICAgICAgICAmIFBpY2s8QmFnZ2FnZUFsbG93YW5jZSwgJ3R5cGUnIHwgJ3F0eScgfCAnbWF4S0cnIHwgJ21heExCUyc+XG4gICAgICAgICk+Pj4gfVxuICAgICAgKT4sIG11bHRpOiBBcnJheTwoXG4gICAgICAgIHsgX190eXBlbmFtZT86ICdJdGluZXJhcnlTdW1tYXJ5JyB9XG4gICAgICAgICYgUGljazxJdGluZXJhcnlTdW1tYXJ5LCAnb3JkZXInIHwgJ29yaWdpbicgfCAnZGVzdGluYXRpb24nIHwgJ21pblByaWNlJyB8ICdtYXhQcmljZSc+XG4gICAgICAgICYgeyByZXN1bHRzOiBBcnJheTwoXG4gICAgICAgICAgeyBfX3R5cGVuYW1lPzogJ0ZsaWdodEl0aW5lcmFyeScgfVxuICAgICAgICAgICYgUGljazxGbGlnaHRJdGluZXJhcnksICd1aWQnIHwgJ3Bhc3NlbmdlckNvdW50JyB8ICdvdXRib3VuZFRvdGFsRHVyYXRpb24nIHwgJ2luYm91bmRUb3RhbER1cmF0aW9uJyB8ICdhZGRpdGlvbmFsJyB8ICdzb3VyY2UnIHwgJ3NvdXJjZUlkJyB8ICd2ZXJzaW9uJyB8ICd0bWNQcmVmZXJyZWQnIHwgJ2NvbXBhbnlQcmVmZXJyZWQnIHwgJ29mZmljZVByZWZlcnJlZCcgfCAndG1jUHJlZmVycmVkTWVzc2FnZScgfCAnY29tcGFueVByZWZlcnJlZE1lc3NhZ2UnIHwgJ29mZmljZVByZWZlcnJlZE1lc3NhZ2UnIHwgJ3VuYXZhaWxhYmxlJyB8ICd1bmF2YWlsYWJsZU1lc3NhZ2UnIHwgJ2NvMlBlckl0ZW0nIHwgJ2NvMlBlclBhc3Nlbmdlcic+XG4gICAgICAgICAgJiB7IG91dGJvdW5kRmxpZ2h0czogQXJyYXk8KFxuICAgICAgICAgICAgeyBfX3R5cGVuYW1lPzogJ0ZsaWdodEpvdXJuZXknIH1cbiAgICAgICAgICAgICYgUGljazxGbGlnaHRKb3VybmV5LCAnb3JpZ2luQWlycG9ydCcgfCAnb3JpZ2luVGVybWluYWwnIHwgJ29yaWdpbkFpcnBvcnROYW1lJyB8ICdkZXN0aW5hdGlvbkFpcnBvcnQnIHwgJ2Rlc3RpbmF0aW9uVGVybWluYWwnIHwgJ2Rlc3RpbmF0aW9uQWlycG9ydE5hbWUnIHwgJ2RhdGVUaW1lRGVwYXJ0aW5nJyB8ICdkYXRlVGltZURlcGFydGluZ1VUQycgfCAnZGF0ZVRpbWVBcnJpdmluZycgfCAnZGF0ZVRpbWVBcnJpdmluZ1VUQycgfCAnbWFya2V0aW5nQ2FycmllcicgfCAnbWFya2V0aW5nQ2Fycmllck5hbWUnIHwgJ21hcmtldGluZ0ZsaWdodE51bWJlcicgfCAnb3BlcmF0aW5nQ2FycmllcicgfCAnb3BlcmF0aW5nQ2Fycmllck5hbWUnIHwgJ29wZXJhdGluZ0ZsaWdodE51bWJlcicgfCAnZXF1aXBtZW50Q29kZScgfCAnZXF1aXBtZW50TmFtZScgfCAndG90YWxEdXJhdGlvbicgfCAnY2FiaW5DbGFzcycgfCAnbWFya2V0aW5nTmFtZXMnIHwgJ3ZlbmRvckNvZGUnIHwgJ3N0b3BzJyB8ICdib29raW5nQ29kZScgfCAnbWFycmlhZ2VHcm91cCcgfCAnZmFyZUJhc2lzQ29kZScgfCAnYWRkaXRpb25hbCc+XG4gICAgICAgICAgICAmIHsgZmFyZUluZm8/OiBNYXliZTwoXG4gICAgICAgICAgICAgIHsgX190eXBlbmFtZT86ICdGbGlnaHRTcGVjaWFsRmFyZUluZm8nIH1cbiAgICAgICAgICAgICAgJiBQaWNrPEZsaWdodFNwZWNpYWxGYXJlSW5mbywgJ3RpdGxlJyB8ICd0eXBlJyB8ICdjb2RlJyB8ICdzdXBwbGllckNvZGUnPlxuICAgICAgICAgICAgKT4sIG9yaWdpbkFpcnBvcnREZXRhaWw6IChcbiAgICAgICAgICAgICAgeyBfX3R5cGVuYW1lPzogJ0FpcnBvcnREZXRhaWwnIH1cbiAgICAgICAgICAgICAgJiBQaWNrPEFpcnBvcnREZXRhaWwsICdpYXRhJyB8ICdpY2FvJyB8ICdsYXRpdHVkZScgfCAnbG9uZ2l0dWRlJyB8ICdhbHRpdHVkZScgfCAnc3RhdGUnIHwgJ2NpdHknIHwgJ3JvYWQnIHwgJ3BvcHVsYXJpdHknIHwgJ2FyZWEnIHwgJ2xvY2F0aW9uJyB8ICdvZmZzZXQnIHwgJ2FpcnBvcnROYW1lJyB8ICdjb3VudHJ5TmFtZScgfCAnY291bnRyeUNvZGUnIHwgJ3Bvc3Rjb2RlJz5cbiAgICAgICAgICAgICksIGRlc3RpbmF0aW9uQWlycG9ydERldGFpbDogKFxuICAgICAgICAgICAgICB7IF9fdHlwZW5hbWU/OiAnQWlycG9ydERldGFpbCcgfVxuICAgICAgICAgICAgICAmIFBpY2s8QWlycG9ydERldGFpbCwgJ2lhdGEnIHwgJ2ljYW8nIHwgJ2xhdGl0dWRlJyB8ICdsb25naXR1ZGUnIHwgJ2FsdGl0dWRlJyB8ICdzdGF0ZScgfCAnY2l0eScgfCAncm9hZCcgfCAncG9wdWxhcml0eScgfCAnYXJlYScgfCAnbG9jYXRpb24nIHwgJ29mZnNldCcgfCAnYWlycG9ydE5hbWUnIHwgJ2NvdW50cnlOYW1lJyB8ICdjb3VudHJ5Q29kZScgfCAncG9zdGNvZGUnPlxuICAgICAgICAgICAgKSwgbWFya2V0aW5nQ2FycmllckRldGFpbDogKFxuICAgICAgICAgICAgICB7IF9fdHlwZW5hbWU/OiAnRmxpZ2h0Q2FycmllckRldGFpbCcgfVxuICAgICAgICAgICAgICAmIFBpY2s8RmxpZ2h0Q2FycmllckRldGFpbCwgJ25hbWUnIHwgJ2FsaWFzJyB8ICdjYWxsc2lnbicgfCAnaWF0YScgfCAnaWNhbycgfCAnbG9nbycgfCAnYmFubmVyJyB8ICdwb3B1bGFyaXR5Jz5cbiAgICAgICAgICAgICksIG9wZXJhdGluZ0NhcnJpZXJEZXRhaWw6IChcbiAgICAgICAgICAgICAgeyBfX3R5cGVuYW1lPzogJ0ZsaWdodENhcnJpZXJEZXRhaWwnIH1cbiAgICAgICAgICAgICAgJiBQaWNrPEZsaWdodENhcnJpZXJEZXRhaWwsICduYW1lJyB8ICdhbGlhcycgfCAnY2FsbHNpZ24nIHwgJ2lhdGEnIHwgJ2ljYW8nIHwgJ2xvZ28nIHwgJ2Jhbm5lcicgfCAncG9wdWxhcml0eSc+XG4gICAgICAgICAgICApLCBmYXJlQ29uZGl0aW9uczogKFxuICAgICAgICAgICAgICB7IF9fdHlwZW5hbWU/OiAnRmFyZUNvbmRpdGlvbnMnIH1cbiAgICAgICAgICAgICAgJiB7IGNhbmNlbGxhdGlvbj86IE1heWJlPEFycmF5PE1heWJlPChcbiAgICAgICAgICAgICAgICB7IF9fdHlwZW5hbWU/OiAnRmFyZUNvbmRpdGlvbkVudHJ5JyB9XG4gICAgICAgICAgICAgICAgJiBQaWNrPEZhcmVDb25kaXRpb25FbnRyeSwgJ25hbWUnIHwgJ3R5cGUnIHwgJ2N1cnJlbmN5JyB8ICdhbW91bnQnIHwgJ3JlbWFyaycgfCAnY2hhbmdlRmVlSW5kJyB8ICdjYW5jZWxGZWVJbmQnIHwgJ3JlZnVuZGFibGVJbmQnPlxuICAgICAgICAgICAgICApPj4+LCBjaGFuZ2U/OiBNYXliZTxBcnJheTxNYXliZTwoXG4gICAgICAgICAgICAgICAgeyBfX3R5cGVuYW1lPzogJ0ZhcmVDb25kaXRpb25FbnRyeScgfVxuICAgICAgICAgICAgICAgICYgUGljazxGYXJlQ29uZGl0aW9uRW50cnksICduYW1lJyB8ICd0eXBlJyB8ICdjdXJyZW5jeScgfCAnYW1vdW50JyB8ICdyZW1hcmsnIHwgJ2NoYW5nZUZlZUluZCcgfCAnY2FuY2VsRmVlSW5kJyB8ICdyZWZ1bmRhYmxlSW5kJz5cbiAgICAgICAgICAgICAgKT4+Piwgbm9TaG93PzogTWF5YmU8QXJyYXk8TWF5YmU8KFxuICAgICAgICAgICAgICAgIHsgX190eXBlbmFtZT86ICdGYXJlQ29uZGl0aW9uRW50cnknIH1cbiAgICAgICAgICAgICAgICAmIFBpY2s8RmFyZUNvbmRpdGlvbkVudHJ5LCAnbmFtZScgfCAndHlwZScgfCAnY3VycmVuY3knIHwgJ2Ftb3VudCcgfCAncmVtYXJrJyB8ICdjaGFuZ2VGZWVJbmQnIHwgJ2NhbmNlbEZlZUluZCcgfCAncmVmdW5kYWJsZUluZCc+XG4gICAgICAgICAgICAgICk+Pj4sIHVwZ3JhZGU/OiBNYXliZTxBcnJheTxNYXliZTwoXG4gICAgICAgICAgICAgICAgeyBfX3R5cGVuYW1lPzogJ0ZhcmVDb25kaXRpb25FbnRyeScgfVxuICAgICAgICAgICAgICAgICYgUGljazxGYXJlQ29uZGl0aW9uRW50cnksICduYW1lJyB8ICd0eXBlJyB8ICdjdXJyZW5jeScgfCAnYW1vdW50JyB8ICdyZW1hcmsnIHwgJ2NoYW5nZUZlZUluZCcgfCAnY2FuY2VsRmVlSW5kJyB8ICdyZWZ1bmRhYmxlSW5kJz5cbiAgICAgICAgICAgICAgKT4+Piwgb3RoZXI/OiBNYXliZTxBcnJheTxNYXliZTwoXG4gICAgICAgICAgICAgICAgeyBfX3R5cGVuYW1lPzogJ0ZhcmVDb25kaXRpb25FbnRyeScgfVxuICAgICAgICAgICAgICAgICYgUGljazxGYXJlQ29uZGl0aW9uRW50cnksICduYW1lJyB8ICd0eXBlJyB8ICdjdXJyZW5jeScgfCAnYW1vdW50JyB8ICdyZW1hcmsnIHwgJ2NoYW5nZUZlZUluZCcgfCAnY2FuY2VsRmVlSW5kJyB8ICdyZWZ1bmRhYmxlSW5kJz5cbiAgICAgICAgICAgICAgKT4+PiB9XG4gICAgICAgICAgICApIH1cbiAgICAgICAgICApPiwgaW5ib3VuZEZsaWdodHM/OiBNYXliZTxBcnJheTxNYXliZTwoXG4gICAgICAgICAgICB7IF9fdHlwZW5hbWU/OiAnRmxpZ2h0Sm91cm5leScgfVxuICAgICAgICAgICAgJiBQaWNrPEZsaWdodEpvdXJuZXksICdvcmlnaW5BaXJwb3J0JyB8ICdvcmlnaW5UZXJtaW5hbCcgfCAnb3JpZ2luQWlycG9ydE5hbWUnIHwgJ2Rlc3RpbmF0aW9uQWlycG9ydCcgfCAnZGVzdGluYXRpb25UZXJtaW5hbCcgfCAnZGVzdGluYXRpb25BaXJwb3J0TmFtZScgfCAnZGF0ZVRpbWVEZXBhcnRpbmcnIHwgJ2RhdGVUaW1lRGVwYXJ0aW5nVVRDJyB8ICdkYXRlVGltZUFycml2aW5nJyB8ICdkYXRlVGltZUFycml2aW5nVVRDJyB8ICdtYXJrZXRpbmdDYXJyaWVyJyB8ICdtYXJrZXRpbmdDYXJyaWVyTmFtZScgfCAnbWFya2V0aW5nRmxpZ2h0TnVtYmVyJyB8ICdvcGVyYXRpbmdDYXJyaWVyJyB8ICdvcGVyYXRpbmdDYXJyaWVyTmFtZScgfCAnb3BlcmF0aW5nRmxpZ2h0TnVtYmVyJyB8ICdlcXVpcG1lbnRDb2RlJyB8ICdlcXVpcG1lbnROYW1lJyB8ICd0b3RhbER1cmF0aW9uJyB8ICdjYWJpbkNsYXNzJyB8ICdtYXJrZXRpbmdOYW1lcycgfCAndmVuZG9yQ29kZScgfCAnc3RvcHMnIHwgJ2Jvb2tpbmdDb2RlJyB8ICdtYXJyaWFnZUdyb3VwJyB8ICdmYXJlQmFzaXNDb2RlJyB8ICdhZGRpdGlvbmFsJz5cbiAgICAgICAgICAgICYgeyBmYXJlSW5mbz86IE1heWJlPChcbiAgICAgICAgICAgICAgeyBfX3R5cGVuYW1lPzogJ0ZsaWdodFNwZWNpYWxGYXJlSW5mbycgfVxuICAgICAgICAgICAgICAmIFBpY2s8RmxpZ2h0U3BlY2lhbEZhcmVJbmZvLCAndGl0bGUnIHwgJ3R5cGUnIHwgJ2NvZGUnIHwgJ3N1cHBsaWVyQ29kZSc+XG4gICAgICAgICAgICApPiwgb3JpZ2luQWlycG9ydERldGFpbDogKFxuICAgICAgICAgICAgICB7IF9fdHlwZW5hbWU/OiAnQWlycG9ydERldGFpbCcgfVxuICAgICAgICAgICAgICAmIFBpY2s8QWlycG9ydERldGFpbCwgJ2lhdGEnIHwgJ2ljYW8nIHwgJ2xhdGl0dWRlJyB8ICdsb25naXR1ZGUnIHwgJ2FsdGl0dWRlJyB8ICdzdGF0ZScgfCAnY2l0eScgfCAncm9hZCcgfCAncG9wdWxhcml0eScgfCAnYXJlYScgfCAnbG9jYXRpb24nIHwgJ29mZnNldCcgfCAnYWlycG9ydE5hbWUnIHwgJ2NvdW50cnlOYW1lJyB8ICdjb3VudHJ5Q29kZScgfCAncG9zdGNvZGUnPlxuICAgICAgICAgICAgKSwgZGVzdGluYXRpb25BaXJwb3J0RGV0YWlsOiAoXG4gICAgICAgICAgICAgIHsgX190eXBlbmFtZT86ICdBaXJwb3J0RGV0YWlsJyB9XG4gICAgICAgICAgICAgICYgUGljazxBaXJwb3J0RGV0YWlsLCAnaWF0YScgfCAnaWNhbycgfCAnbGF0aXR1ZGUnIHwgJ2xvbmdpdHVkZScgfCAnYWx0aXR1ZGUnIHwgJ3N0YXRlJyB8ICdjaXR5JyB8ICdyb2FkJyB8ICdwb3B1bGFyaXR5JyB8ICdhcmVhJyB8ICdsb2NhdGlvbicgfCAnb2Zmc2V0JyB8ICdhaXJwb3J0TmFtZScgfCAnY291bnRyeU5hbWUnIHwgJ2NvdW50cnlDb2RlJyB8ICdwb3N0Y29kZSc+XG4gICAgICAgICAgICApLCBtYXJrZXRpbmdDYXJyaWVyRGV0YWlsOiAoXG4gICAgICAgICAgICAgIHsgX190eXBlbmFtZT86ICdGbGlnaHRDYXJyaWVyRGV0YWlsJyB9XG4gICAgICAgICAgICAgICYgUGljazxGbGlnaHRDYXJyaWVyRGV0YWlsLCAnbmFtZScgfCAnYWxpYXMnIHwgJ2NhbGxzaWduJyB8ICdpYXRhJyB8ICdpY2FvJyB8ICdsb2dvJyB8ICdiYW5uZXInIHwgJ3BvcHVsYXJpdHknPlxuICAgICAgICAgICAgKSwgb3BlcmF0aW5nQ2FycmllckRldGFpbDogKFxuICAgICAgICAgICAgICB7IF9fdHlwZW5hbWU/OiAnRmxpZ2h0Q2FycmllckRldGFpbCcgfVxuICAgICAgICAgICAgICAmIFBpY2s8RmxpZ2h0Q2FycmllckRldGFpbCwgJ25hbWUnIHwgJ2FsaWFzJyB8ICdjYWxsc2lnbicgfCAnaWF0YScgfCAnaWNhbycgfCAnbG9nbycgfCAnYmFubmVyJyB8ICdwb3B1bGFyaXR5Jz5cbiAgICAgICAgICAgICksIGZhcmVDb25kaXRpb25zOiAoXG4gICAgICAgICAgICAgIHsgX190eXBlbmFtZT86ICdGYXJlQ29uZGl0aW9ucycgfVxuICAgICAgICAgICAgICAmIHsgY2FuY2VsbGF0aW9uPzogTWF5YmU8QXJyYXk8TWF5YmU8KFxuICAgICAgICAgICAgICAgIHsgX190eXBlbmFtZT86ICdGYXJlQ29uZGl0aW9uRW50cnknIH1cbiAgICAgICAgICAgICAgICAmIFBpY2s8RmFyZUNvbmRpdGlvbkVudHJ5LCAnbmFtZScgfCAndHlwZScgfCAnY3VycmVuY3knIHwgJ2Ftb3VudCcgfCAncmVtYXJrJyB8ICdjaGFuZ2VGZWVJbmQnIHwgJ2NhbmNlbEZlZUluZCcgfCAncmVmdW5kYWJsZUluZCc+XG4gICAgICAgICAgICAgICk+Pj4sIGNoYW5nZT86IE1heWJlPEFycmF5PE1heWJlPChcbiAgICAgICAgICAgICAgICB7IF9fdHlwZW5hbWU/OiAnRmFyZUNvbmRpdGlvbkVudHJ5JyB9XG4gICAgICAgICAgICAgICAgJiBQaWNrPEZhcmVDb25kaXRpb25FbnRyeSwgJ25hbWUnIHwgJ3R5cGUnIHwgJ2N1cnJlbmN5JyB8ICdhbW91bnQnIHwgJ3JlbWFyaycgfCAnY2hhbmdlRmVlSW5kJyB8ICdjYW5jZWxGZWVJbmQnIHwgJ3JlZnVuZGFibGVJbmQnPlxuICAgICAgICAgICAgICApPj4+LCBub1Nob3c/OiBNYXliZTxBcnJheTxNYXliZTwoXG4gICAgICAgICAgICAgICAgeyBfX3R5cGVuYW1lPzogJ0ZhcmVDb25kaXRpb25FbnRyeScgfVxuICAgICAgICAgICAgICAgICYgUGljazxGYXJlQ29uZGl0aW9uRW50cnksICduYW1lJyB8ICd0eXBlJyB8ICdjdXJyZW5jeScgfCAnYW1vdW50JyB8ICdyZW1hcmsnIHwgJ2NoYW5nZUZlZUluZCcgfCAnY2FuY2VsRmVlSW5kJyB8ICdyZWZ1bmRhYmxlSW5kJz5cbiAgICAgICAgICAgICAgKT4+PiwgdXBncmFkZT86IE1heWJlPEFycmF5PE1heWJlPChcbiAgICAgICAgICAgICAgICB7IF9fdHlwZW5hbWU/OiAnRmFyZUNvbmRpdGlvbkVudHJ5JyB9XG4gICAgICAgICAgICAgICAgJiBQaWNrPEZhcmVDb25kaXRpb25FbnRyeSwgJ25hbWUnIHwgJ3R5cGUnIHwgJ2N1cnJlbmN5JyB8ICdhbW91bnQnIHwgJ3JlbWFyaycgfCAnY2hhbmdlRmVlSW5kJyB8ICdjYW5jZWxGZWVJbmQnIHwgJ3JlZnVuZGFibGVJbmQnPlxuICAgICAgICAgICAgICApPj4+LCBvdGhlcj86IE1heWJlPEFycmF5PE1heWJlPChcbiAgICAgICAgICAgICAgICB7IF9fdHlwZW5hbWU/OiAnRmFyZUNvbmRpdGlvbkVudHJ5JyB9XG4gICAgICAgICAgICAgICAgJiBQaWNrPEZhcmVDb25kaXRpb25FbnRyeSwgJ25hbWUnIHwgJ3R5cGUnIHwgJ2N1cnJlbmN5JyB8ICdhbW91bnQnIHwgJ3JlbWFyaycgfCAnY2hhbmdlRmVlSW5kJyB8ICdjYW5jZWxGZWVJbmQnIHwgJ3JlZnVuZGFibGVJbmQnPlxuICAgICAgICAgICAgICApPj4+IH1cbiAgICAgICAgICAgICkgfVxuICAgICAgICAgICk+Pj4sIG91dGJvdW5kQ2FyYm9uRW1pc3Npb25zPzogTWF5YmU8KFxuICAgICAgICAgICAgeyBfX3R5cGVuYW1lPzogJ0ZsaWdodENhcmJvbkVtaXNzaW9ucycgfVxuICAgICAgICAgICAgJiBQaWNrPEZsaWdodENhcmJvbkVtaXNzaW9ucywgJ2Ftb3VudCcgfCAndW5pdCc+XG4gICAgICAgICAgKT4sIGluYm91bmRDYXJib25FbWlzc2lvbnM/OiBNYXliZTwoXG4gICAgICAgICAgICB7IF9fdHlwZW5hbWU/OiAnRmxpZ2h0Q2FyYm9uRW1pc3Npb25zJyB9XG4gICAgICAgICAgICAmIFBpY2s8RmxpZ2h0Q2FyYm9uRW1pc3Npb25zLCAnYW1vdW50JyB8ICd1bml0Jz5cbiAgICAgICAgICApPiwgdGF4ZXM/OiBNYXliZTxBcnJheTxNYXliZTwoXG4gICAgICAgICAgICB7IF9fdHlwZW5hbWU/OiAnRmxpZ2h0QW1vdW50JyB9XG4gICAgICAgICAgICAmIFBpY2s8RmxpZ2h0QW1vdW50LCAnZGVzY3JpcHRpb24nIHwgJ2Ftb3VudCcgfCAnY3VycmVuY3knPlxuICAgICAgICAgICk+Pj4sIGRpc2NvdW50cz86IE1heWJlPEFycmF5PE1heWJlPChcbiAgICAgICAgICAgIHsgX190eXBlbmFtZT86ICdGbGlnaHRBbW91bnQnIH1cbiAgICAgICAgICAgICYgUGljazxGbGlnaHRBbW91bnQsICdkZXNjcmlwdGlvbicgfCAnYW1vdW50JyB8ICdjdXJyZW5jeSc+XG4gICAgICAgICAgKT4+PiwgdG90YWw6IChcbiAgICAgICAgICAgIHsgX190eXBlbmFtZT86ICdGbGlnaHRGYXJlVG90YWwnIH1cbiAgICAgICAgICAgICYgUGljazxGbGlnaHRGYXJlVG90YWwsICdwcmljZScgfCAndGF4JyB8ICdkaXNjb3VudCcgfCAnY3VycmVuY3knPlxuICAgICAgICAgICksIGZhcmVDb25kaXRpb25zPzogTWF5YmU8KFxuICAgICAgICAgICAgeyBfX3R5cGVuYW1lPzogJ0ZhcmVDb25kaXRpb25zJyB9XG4gICAgICAgICAgICAmIHsgY2FuY2VsbGF0aW9uPzogTWF5YmU8QXJyYXk8TWF5YmU8KFxuICAgICAgICAgICAgICB7IF9fdHlwZW5hbWU/OiAnRmFyZUNvbmRpdGlvbkVudHJ5JyB9XG4gICAgICAgICAgICAgICYgUGljazxGYXJlQ29uZGl0aW9uRW50cnksICduYW1lJyB8ICd0eXBlJyB8ICdjdXJyZW5jeScgfCAnYW1vdW50JyB8ICdyZW1hcmsnIHwgJ2NoYW5nZUZlZUluZCcgfCAnY2FuY2VsRmVlSW5kJyB8ICdyZWZ1bmRhYmxlSW5kJz5cbiAgICAgICAgICAgICk+Pj4sIGNoYW5nZT86IE1heWJlPEFycmF5PE1heWJlPChcbiAgICAgICAgICAgICAgeyBfX3R5cGVuYW1lPzogJ0ZhcmVDb25kaXRpb25FbnRyeScgfVxuICAgICAgICAgICAgICAmIFBpY2s8RmFyZUNvbmRpdGlvbkVudHJ5LCAnbmFtZScgfCAndHlwZScgfCAnY3VycmVuY3knIHwgJ2Ftb3VudCcgfCAncmVtYXJrJyB8ICdjaGFuZ2VGZWVJbmQnIHwgJ2NhbmNlbEZlZUluZCcgfCAncmVmdW5kYWJsZUluZCc+XG4gICAgICAgICAgICApPj4+LCBub1Nob3c/OiBNYXliZTxBcnJheTxNYXliZTwoXG4gICAgICAgICAgICAgIHsgX190eXBlbmFtZT86ICdGYXJlQ29uZGl0aW9uRW50cnknIH1cbiAgICAgICAgICAgICAgJiBQaWNrPEZhcmVDb25kaXRpb25FbnRyeSwgJ25hbWUnIHwgJ3R5cGUnIHwgJ2N1cnJlbmN5JyB8ICdhbW91bnQnIHwgJ3JlbWFyaycgfCAnY2hhbmdlRmVlSW5kJyB8ICdjYW5jZWxGZWVJbmQnIHwgJ3JlZnVuZGFibGVJbmQnPlxuICAgICAgICAgICAgKT4+PiwgdXBncmFkZT86IE1heWJlPEFycmF5PE1heWJlPChcbiAgICAgICAgICAgICAgeyBfX3R5cGVuYW1lPzogJ0ZhcmVDb25kaXRpb25FbnRyeScgfVxuICAgICAgICAgICAgICAmIFBpY2s8RmFyZUNvbmRpdGlvbkVudHJ5LCAnbmFtZScgfCAndHlwZScgfCAnY3VycmVuY3knIHwgJ2Ftb3VudCcgfCAncmVtYXJrJyB8ICdjaGFuZ2VGZWVJbmQnIHwgJ2NhbmNlbEZlZUluZCcgfCAncmVmdW5kYWJsZUluZCc+XG4gICAgICAgICAgICApPj4+LCBvdGhlcj86IE1heWJlPEFycmF5PE1heWJlPChcbiAgICAgICAgICAgICAgeyBfX3R5cGVuYW1lPzogJ0ZhcmVDb25kaXRpb25FbnRyeScgfVxuICAgICAgICAgICAgICAmIFBpY2s8RmFyZUNvbmRpdGlvbkVudHJ5LCAnbmFtZScgfCAndHlwZScgfCAnY3VycmVuY3knIHwgJ2Ftb3VudCcgfCAncmVtYXJrJyB8ICdjaGFuZ2VGZWVJbmQnIHwgJ2NhbmNlbEZlZUluZCcgfCAncmVmdW5kYWJsZUluZCc+XG4gICAgICAgICAgICApPj4+IH1cbiAgICAgICAgICApPiwgYmFnZ2FnZUFsbG93YW5jZT86IE1heWJlPEFycmF5PE1heWJlPChcbiAgICAgICAgICAgIHsgX190eXBlbmFtZT86ICdCYWdnYWdlQWxsb3dhbmNlJyB9XG4gICAgICAgICAgICAmIFBpY2s8QmFnZ2FnZUFsbG93YW5jZSwgJ3R5cGUnIHwgJ3F0eScgfCAnbWF4S0cnIHwgJ21heExCUyc+XG4gICAgICAgICAgKT4+PiB9XG4gICAgICAgICk+IH1cbiAgICAgICk+LCBncm91cGVkPzogTWF5YmU8QXJyYXk8KFxuICAgICAgICB7IF9fdHlwZW5hbWU/OiAnR3JvdXBGbGlnaHRzJyB9XG4gICAgICAgICYgUGljazxHcm91cEZsaWdodHMsICdyZWZlcmVuY2VJRCcgfCAnZmxpZ2h0SUQnIHwgJ2JvdW5kSW5kaWNhdG9yJyB8ICdtaW5QcmljZScgfCAnbWF4UHJpY2UnPlxuICAgICAgICAmIHsgZmxpZ2h0czogKFxuICAgICAgICAgIHsgX190eXBlbmFtZT86ICdNYXRjaGluZ0ZsaWdodHMnIH1cbiAgICAgICAgICAmIFBpY2s8TWF0Y2hpbmdGbGlnaHRzLCAnTGl0ZUVjb25vbXknIHwgJ0Vjb25vbXlSZXN0cmljdGVkJyB8ICdFY29ub215Tm9CYWdzJyB8ICdFY29ub215JyB8ICdQcmVtaXVtRWNvbm9teScgfCAnQnVzaW5lc3MnIHwgJ1ByZW1pdW1CdXNpbmVzcycgfCAnRmlyc3QnIHwgJ1ByZW1pdW1GaXJzdCc+XG4gICAgICAgICkgfVxuICAgICAgKT4+IH1cbiAgICApLCBlcnJvcnM6IEFycmF5PChcbiAgICAgIHsgX190eXBlbmFtZT86ICdTZWFyY2hFcnJvcicgfVxuICAgICAgJiBFcnJvcnNGcmFnbWVudFxuICAgICk+IH1cbiAgKSB9XG4pO1xuXG5leHBvcnQgdHlwZSBTZWFyY2hIb3RlbENoYWluc1F1ZXJ5VmFyaWFibGVzID0gRXhhY3Q8e1xuICBxdWVyeTogU2NhbGFyc1snU3RyaW5nJ107XG59PjtcblxuXG5leHBvcnQgdHlwZSBTZWFyY2hIb3RlbENoYWluc1F1ZXJ5ID0gKFxuICB7IF9fdHlwZW5hbWU/OiAnUXVlcnknIH1cbiAgJiBQaWNrPFF1ZXJ5LCAnc2VhcmNoSG90ZWxDaGFpbnMnPlxuKTtcblxuZXhwb3J0IHR5cGUgU2VhcmNoSXJsUXVlcnlWYXJpYWJsZXMgPSBFeGFjdDx7XG4gIHN1cHBsaWVyOiBJcmxTdXBwbGllcjtcbiAgY291bnRyeUNvZGU6IFNjYWxhcnNbJ1N0cmluZyddO1xuICBqb3VybmV5VHlwZTogSXJsSm91cm5leVR5cGU7XG4gIGNsYXNzPzogTWF5YmU8SXJsQ2xhc3M+O1xuICBvdXRib3VuZERlcGFydHVyZURhdGVUaW1lOiBTY2FsYXJzWydEYXRlVGltZSddO1xuICBkZXBhcnR1cmVMb2NhdGlvbklkOiBTY2FsYXJzWydJRCddO1xuICBhcnJpdmFsTG9jYXRpb25JZDogU2NhbGFyc1snSUQnXTtcbiAgYWR1bHRzOiBTY2FsYXJzWydJbnQnXTtcbiAgY2hpbGRyZW4/OiBNYXliZTxTY2FsYXJzWydJbnQnXT47XG4gIHJldHVybkRlcGFydHVyZURhdGVUaW1lPzogTWF5YmU8U2NhbGFyc1snRGF0ZVRpbWUnXT47XG59PjtcblxuXG5leHBvcnQgdHlwZSBTZWFyY2hJcmxRdWVyeSA9IChcbiAgeyBfX3R5cGVuYW1lPzogJ1F1ZXJ5JyB9XG4gICYgeyBzZWFyY2hJUkw6IChcbiAgICB7IF9fdHlwZW5hbWU/OiAnSVJMU2VhcmNoUmVzdWx0JyB9XG4gICAgJiB7IHJlc3VsdHM6IEFycmF5PChcbiAgICAgIHsgX190eXBlbmFtZT86ICdJUkxKb3VybmV5T3B0aW9ucycgfVxuICAgICAgJiBQaWNrPElybEpvdXJuZXlPcHRpb25zLCAnc291cmNlJyB8ICdzb3VyY2VJZCc+XG4gICAgICAmIHsgb3V0Ym91bmQ/OiBNYXliZTxBcnJheTwoXG4gICAgICAgIHsgX190eXBlbmFtZT86ICdJUkxKb3VybmV5T3B0aW9uJyB9XG4gICAgICAgICYgUGljazxJcmxKb3VybmV5T3B0aW9uLCAnZnJvbScgfCAnZnJvbUNvZGUnIHwgJ3RvJyB8ICd0b0NvZGUnIHwgJ2RlcGFydERhdGVUaW1lJyB8ICdhcnJpdmVEYXRlVGltZScgfCAnY2hhbmdlcycgfCAndW5zZWxsYWJsZSc+XG4gICAgICAgICYgeyBpZGVudGlmaWVycz86IE1heWJlPChcbiAgICAgICAgICB7IF9fdHlwZW5hbWU/OiAnSVJMSWRlbnRpZmllcnMnIH1cbiAgICAgICAgICAmIFBpY2s8SXJsSWRlbnRpZmllcnMsICd0cmFuc2FjdGlvbklkZW50aWZpZXInIHwgJ3NpZ25hdHVyZScgfCAnam91cm5leUlkZW50aWZpZXInIHwgJ3Byb3ZpZGVyJyB8ICdmYXJlSWRlbnRpZmllcicgfCAnZGlyZWN0aW9uJyB8ICdzaW5nbGVPclJldHVybicgfCAnYm9va2luZ1JlZic+XG4gICAgICAgICk+LCB0cmF2ZWxsZXJzPzogTWF5YmU8QXJyYXk8KFxuICAgICAgICAgIHsgX190eXBlbmFtZT86ICdJUkxUcmF2ZWxsZXInIH1cbiAgICAgICAgICAmIFBpY2s8SXJsVHJhdmVsbGVyLCAnc3RhdHVzJyB8ICdpZCcgfCAnZG9iJyB8ICdyYWlsY2FyZCcgfCAnZ2l2ZW5OYW1lJyB8ICdzdXJuYW1lJyB8ICduYW1lVGl0bGUnIHwgJ2NvbnRhY3RJbmZvJyB8ICdkZWxpdmVyeUVtYWlsQWRkcmVzcycgfCAnZmFyZSc+XG4gICAgICAgICk+Piwgc2VnbWVudHM/OiBNYXliZTxBcnJheTwoXG4gICAgICAgICAgeyBfX3R5cGVuYW1lPzogJ0lSTFNlZ21lbnQnIH1cbiAgICAgICAgICAmIFBpY2s8SXJsU2VnbWVudCwgJ2lkJyB8ICdvcGVyYXRvcicgfCAnZGVwYXJ0JyB8ICdkZXBhcnREYXRlVGltZScgfCAnYXJyaXZlJyB8ICdhcnJpdmVEYXRlVGltZScgfCAncmVzZXJ2YWJsZVN0YXR1cycgfCAnc2VhdFByZWZlcmVuY2VHcm91cCc+XG4gICAgICAgICAgJiB7IHNlYXRQcmVmZXJlbmNlVHlwZXM/OiBNYXliZTxBcnJheTwoXG4gICAgICAgICAgICB7IF9fdHlwZW5hbWU/OiAnSVJMU2VhdFByZWZlcmVuY2VUeXBlJyB9XG4gICAgICAgICAgICAmIFBpY2s8SXJsU2VhdFByZWZlcmVuY2VUeXBlLCAnbmFtZScgfCAnYWxsb3dlZFZhbHVlcyc+XG4gICAgICAgICAgKT4+LCBzZWF0cz86IE1heWJlPEFycmF5PChcbiAgICAgICAgICAgIHsgX190eXBlbmFtZT86ICdJUkxTZWF0JyB9XG4gICAgICAgICAgICAmIFBpY2s8SXJsU2VhdCwgJ2xvY2F0aW9uJyB8ICdjb2FjaCcgfCAnbnVtYmVyJyB8ICdkaXJlY3Rpb24nIHwgJ3Bvc2l0aW9uJyB8ICdkZWNrJyB8ICdzZWF0VHlwZScgfCAnc2VhdFNlbGVjdGlvbicgfCAnZmFjaWxpdGllcycgfCAnbm90ZSc+XG4gICAgICAgICAgKT4+IH1cbiAgICAgICAgKT4+LCBwcm92aWRlcnM/OiBNYXliZTxBcnJheTwoXG4gICAgICAgICAgeyBfX3R5cGVuYW1lPzogJ0lSTFByb3ZpZGVyJyB9XG4gICAgICAgICAgJiBQaWNrPElybFByb3ZpZGVyLCAncHJvdmlkZXJJZCcgfCAnbmFtZSc+XG4gICAgICAgICAgJiB7IGNoZWFwZXN0VGlja2V0PzogTWF5YmU8KFxuICAgICAgICAgICAgeyBfX3R5cGVuYW1lPzogJ0lSTFRpY2tldE9wdGlvbicgfVxuICAgICAgICAgICAgJiBQaWNrPElybFRpY2tldE9wdGlvbiwgJ3R5cGUnIHwgJ2NsYXNzJyB8ICdzaW5nbGVPclJldHVybicgfCAncHJpY2UnIHwgJ3Jlc2VydmFibGVTdGF0dXMnIHwgJ2N1cnJlbmN5JyB8ICdyb3V0ZScgfCAncm91dGVDb2RlJz5cbiAgICAgICAgICAgICYgeyBpZGVudGlmaWVycz86IE1heWJlPChcbiAgICAgICAgICAgICAgeyBfX3R5cGVuYW1lPzogJ0lSTElkZW50aWZpZXJzJyB9XG4gICAgICAgICAgICAgICYgUGljazxJcmxJZGVudGlmaWVycywgJ3RyYW5zYWN0aW9uSWRlbnRpZmllcicgfCAnc2lnbmF0dXJlJyB8ICdqb3VybmV5SWRlbnRpZmllcicgfCAncHJvdmlkZXInIHwgJ2ZhcmVJZGVudGlmaWVyJyB8ICdkaXJlY3Rpb24nIHwgJ3NpbmdsZU9yUmV0dXJuJyB8ICdib29raW5nUmVmJz5cbiAgICAgICAgICAgICk+LCB0aWNrZXRzPzogTWF5YmU8QXJyYXk8TWF5YmU8KFxuICAgICAgICAgICAgICB7IF9fdHlwZW5hbWU/OiAnSVJMVGlja2V0JyB9XG4gICAgICAgICAgICAgICYgUGljazxJcmxUaWNrZXQsICdwcmljZScgfCAndHlwZScgfCAncm91dGUnIHwgJ251bUNoaWxkcmVuJyB8ICdudW1BZHVsdHMnPlxuICAgICAgICAgICAgICAmIHsgc2VnbWVudHM/OiBNYXliZTxBcnJheTwoXG4gICAgICAgICAgICAgICAgeyBfX3R5cGVuYW1lPzogJ0lSTFNlZ21lbnQnIH1cbiAgICAgICAgICAgICAgICAmIFBpY2s8SXJsU2VnbWVudCwgJ2lkJyB8ICdvcGVyYXRvcicgfCAnZGVwYXJ0JyB8ICdkZXBhcnREYXRlVGltZScgfCAnYXJyaXZlJyB8ICdhcnJpdmVEYXRlVGltZScgfCAncmVzZXJ2YWJsZVN0YXR1cycgfCAnc2VhdFByZWZlcmVuY2VHcm91cCc+XG4gICAgICAgICAgICAgICAgJiB7IHNlYXRQcmVmZXJlbmNlVHlwZXM/OiBNYXliZTxBcnJheTwoXG4gICAgICAgICAgICAgICAgICB7IF9fdHlwZW5hbWU/OiAnSVJMU2VhdFByZWZlcmVuY2VUeXBlJyB9XG4gICAgICAgICAgICAgICAgICAmIFBpY2s8SXJsU2VhdFByZWZlcmVuY2VUeXBlLCAnbmFtZScgfCAnYWxsb3dlZFZhbHVlcyc+XG4gICAgICAgICAgICAgICAgKT4+LCBzZWF0cz86IE1heWJlPEFycmF5PChcbiAgICAgICAgICAgICAgICAgIHsgX190eXBlbmFtZT86ICdJUkxTZWF0JyB9XG4gICAgICAgICAgICAgICAgICAmIFBpY2s8SXJsU2VhdCwgJ2xvY2F0aW9uJyB8ICdjb2FjaCcgfCAnbnVtYmVyJyB8ICdkaXJlY3Rpb24nIHwgJ3Bvc2l0aW9uJyB8ICdkZWNrJyB8ICdzZWF0VHlwZScgfCAnc2VhdFNlbGVjdGlvbicgfCAnZmFjaWxpdGllcycgfCAnbm90ZSc+XG4gICAgICAgICAgICAgICAgKT4+IH1cbiAgICAgICAgICAgICAgKT4+IH1cbiAgICAgICAgICAgICk+Pj4gfVxuICAgICAgICAgICk+LCB0aWNrZXRPcHRpb25zPzogTWF5YmU8QXJyYXk8TWF5YmU8KFxuICAgICAgICAgICAgeyBfX3R5cGVuYW1lPzogJ0lSTFRpY2tldE9wdGlvbicgfVxuICAgICAgICAgICAgJiBQaWNrPElybFRpY2tldE9wdGlvbiwgJ3R5cGUnIHwgJ2NsYXNzJyB8ICdzaW5nbGVPclJldHVybicgfCAncHJpY2UnIHwgJ3Jlc2VydmFibGVTdGF0dXMnIHwgJ2N1cnJlbmN5JyB8ICdyb3V0ZScgfCAncm91dGVDb2RlJz5cbiAgICAgICAgICAgICYgeyBpZGVudGlmaWVycz86IE1heWJlPChcbiAgICAgICAgICAgICAgeyBfX3R5cGVuYW1lPzogJ0lSTElkZW50aWZpZXJzJyB9XG4gICAgICAgICAgICAgICYgUGljazxJcmxJZGVudGlmaWVycywgJ3RyYW5zYWN0aW9uSWRlbnRpZmllcicgfCAnc2lnbmF0dXJlJyB8ICdqb3VybmV5SWRlbnRpZmllcicgfCAncHJvdmlkZXInIHwgJ2ZhcmVJZGVudGlmaWVyJyB8ICdkaXJlY3Rpb24nIHwgJ3NpbmdsZU9yUmV0dXJuJyB8ICdib29raW5nUmVmJz5cbiAgICAgICAgICAgICk+LCB0aWNrZXRzPzogTWF5YmU8QXJyYXk8TWF5YmU8KFxuICAgICAgICAgICAgICB7IF9fdHlwZW5hbWU/OiAnSVJMVGlja2V0JyB9XG4gICAgICAgICAgICAgICYgUGljazxJcmxUaWNrZXQsICdwcmljZScgfCAndHlwZScgfCAncm91dGUnIHwgJ251bUNoaWxkcmVuJyB8ICdudW1BZHVsdHMnPlxuICAgICAgICAgICAgICAmIHsgc2VnbWVudHM/OiBNYXliZTxBcnJheTwoXG4gICAgICAgICAgICAgICAgeyBfX3R5cGVuYW1lPzogJ0lSTFNlZ21lbnQnIH1cbiAgICAgICAgICAgICAgICAmIFBpY2s8SXJsU2VnbWVudCwgJ2lkJyB8ICdvcGVyYXRvcicgfCAnZGVwYXJ0JyB8ICdkZXBhcnREYXRlVGltZScgfCAnYXJyaXZlJyB8ICdhcnJpdmVEYXRlVGltZScgfCAncmVzZXJ2YWJsZVN0YXR1cycgfCAnc2VhdFByZWZlcmVuY2VHcm91cCc+XG4gICAgICAgICAgICAgICAgJiB7IHNlYXRQcmVmZXJlbmNlVHlwZXM/OiBNYXliZTxBcnJheTwoXG4gICAgICAgICAgICAgICAgICB7IF9fdHlwZW5hbWU/OiAnSVJMU2VhdFByZWZlcmVuY2VUeXBlJyB9XG4gICAgICAgICAgICAgICAgICAmIFBpY2s8SXJsU2VhdFByZWZlcmVuY2VUeXBlLCAnbmFtZScgfCAnYWxsb3dlZFZhbHVlcyc+XG4gICAgICAgICAgICAgICAgKT4+LCBzZWF0cz86IE1heWJlPEFycmF5PChcbiAgICAgICAgICAgICAgICAgIHsgX190eXBlbmFtZT86ICdJUkxTZWF0JyB9XG4gICAgICAgICAgICAgICAgICAmIFBpY2s8SXJsU2VhdCwgJ2xvY2F0aW9uJyB8ICdjb2FjaCcgfCAnbnVtYmVyJyB8ICdkaXJlY3Rpb24nIHwgJ3Bvc2l0aW9uJyB8ICdkZWNrJyB8ICdzZWF0VHlwZScgfCAnc2VhdFNlbGVjdGlvbicgfCAnZmFjaWxpdGllcycgfCAnbm90ZSc+XG4gICAgICAgICAgICAgICAgKT4+IH1cbiAgICAgICAgICAgICAgKT4+IH1cbiAgICAgICAgICAgICk+Pj4gfVxuICAgICAgICAgICk+Pj4sIGJvb2tlZFRpY2tldD86IE1heWJlPChcbiAgICAgICAgICAgIHsgX190eXBlbmFtZT86ICdJUkxUaWNrZXRPcHRpb24nIH1cbiAgICAgICAgICAgICYgUGljazxJcmxUaWNrZXRPcHRpb24sICd0eXBlJyB8ICdjbGFzcycgfCAnc2luZ2xlT3JSZXR1cm4nIHwgJ3ByaWNlJyB8ICdyZXNlcnZhYmxlU3RhdHVzJyB8ICdjdXJyZW5jeScgfCAncm91dGUnIHwgJ3JvdXRlQ29kZSc+XG4gICAgICAgICAgICAmIHsgaWRlbnRpZmllcnM/OiBNYXliZTwoXG4gICAgICAgICAgICAgIHsgX190eXBlbmFtZT86ICdJUkxJZGVudGlmaWVycycgfVxuICAgICAgICAgICAgICAmIFBpY2s8SXJsSWRlbnRpZmllcnMsICd0cmFuc2FjdGlvbklkZW50aWZpZXInIHwgJ3NpZ25hdHVyZScgfCAnam91cm5leUlkZW50aWZpZXInIHwgJ3Byb3ZpZGVyJyB8ICdmYXJlSWRlbnRpZmllcicgfCAnZGlyZWN0aW9uJyB8ICdzaW5nbGVPclJldHVybicgfCAnYm9va2luZ1JlZic+XG4gICAgICAgICAgICApPiwgdGlja2V0cz86IE1heWJlPEFycmF5PE1heWJlPChcbiAgICAgICAgICAgICAgeyBfX3R5cGVuYW1lPzogJ0lSTFRpY2tldCcgfVxuICAgICAgICAgICAgICAmIFBpY2s8SXJsVGlja2V0LCAncHJpY2UnIHwgJ3R5cGUnIHwgJ3JvdXRlJyB8ICdudW1DaGlsZHJlbicgfCAnbnVtQWR1bHRzJz5cbiAgICAgICAgICAgICAgJiB7IHNlZ21lbnRzPzogTWF5YmU8QXJyYXk8KFxuICAgICAgICAgICAgICAgIHsgX190eXBlbmFtZT86ICdJUkxTZWdtZW50JyB9XG4gICAgICAgICAgICAgICAgJiBQaWNrPElybFNlZ21lbnQsICdpZCcgfCAnb3BlcmF0b3InIHwgJ2RlcGFydCcgfCAnZGVwYXJ0RGF0ZVRpbWUnIHwgJ2Fycml2ZScgfCAnYXJyaXZlRGF0ZVRpbWUnIHwgJ3Jlc2VydmFibGVTdGF0dXMnIHwgJ3NlYXRQcmVmZXJlbmNlR3JvdXAnPlxuICAgICAgICAgICAgICAgICYgeyBzZWF0UHJlZmVyZW5jZVR5cGVzPzogTWF5YmU8QXJyYXk8KFxuICAgICAgICAgICAgICAgICAgeyBfX3R5cGVuYW1lPzogJ0lSTFNlYXRQcmVmZXJlbmNlVHlwZScgfVxuICAgICAgICAgICAgICAgICAgJiBQaWNrPElybFNlYXRQcmVmZXJlbmNlVHlwZSwgJ25hbWUnIHwgJ2FsbG93ZWRWYWx1ZXMnPlxuICAgICAgICAgICAgICAgICk+Piwgc2VhdHM/OiBNYXliZTxBcnJheTwoXG4gICAgICAgICAgICAgICAgICB7IF9fdHlwZW5hbWU/OiAnSVJMU2VhdCcgfVxuICAgICAgICAgICAgICAgICAgJiBQaWNrPElybFNlYXQsICdsb2NhdGlvbicgfCAnY29hY2gnIHwgJ251bWJlcicgfCAnZGlyZWN0aW9uJyB8ICdwb3NpdGlvbicgfCAnZGVjaycgfCAnc2VhdFR5cGUnIHwgJ3NlYXRTZWxlY3Rpb24nIHwgJ2ZhY2lsaXRpZXMnIHwgJ25vdGUnPlxuICAgICAgICAgICAgICAgICk+PiB9XG4gICAgICAgICAgICAgICk+PiB9XG4gICAgICAgICAgICApPj4+IH1cbiAgICAgICAgICApPiB9XG4gICAgICAgICk+PiwgdGlja2V0RXh0cmFzPzogTWF5YmU8QXJyYXk8KFxuICAgICAgICAgIHsgX190eXBlbmFtZT86ICdJUkxUaWNrZXRFeHRyYScgfVxuICAgICAgICAgICYgUGljazxJcmxUaWNrZXRFeHRyYSwgJ3R5cGUnIHwgJ2xvY2F0aW9uJyB8ICdkYXRlJyB8ICdkZXNjcmlwdGlvbicgfCAnYW1vdW50JyB8ICdhZHVsdEFtb3VudCcgfCAnY2hpbGRBbW91bnQnIHwgJ2N1cnJlbmN5Jz5cbiAgICAgICAgICAmIHsgaWRlbnRpZmllcnM/OiBNYXliZTwoXG4gICAgICAgICAgICB7IF9fdHlwZW5hbWU/OiAnSVJMVGlja2V0RXh0cmFJZGVudGlmaWVycycgfVxuICAgICAgICAgICAgJiBQaWNrPElybFRpY2tldEV4dHJhSWRlbnRpZmllcnMsICd0eXBlJyB8ICdsb2NhdGlvbicgfCAnZGF0ZScgfCAnam91cm5leUlkJyB8ICdpc09yaWdpbic+XG4gICAgICAgICAgKT4gfVxuICAgICAgICApPj4sIHBsdXNCdXM/OiBNYXliZTwoXG4gICAgICAgICAgeyBfX3R5cGVuYW1lPzogJ0lSTFBsdXNCdXMnIH1cbiAgICAgICAgICAmIFBpY2s8SXJsUGx1c0J1cywgJ29yaWdpblBsdXNCdXNOTEMnIHwgJ29yaWdpblN0YXRpb25OTEMnIHwgJ2Rlc3RpbmF0aW9uUGx1c0J1c05MQycgfCAnZGVzdGluYXRpb25TdGF0aW9uTkxDJz5cbiAgICAgICAgKT4gfVxuICAgICAgKT4+LCByZXR1cm4/OiBNYXliZTxBcnJheTwoXG4gICAgICAgIHsgX190eXBlbmFtZT86ICdJUkxKb3VybmV5T3B0aW9uJyB9XG4gICAgICAgICYgUGljazxJcmxKb3VybmV5T3B0aW9uLCAnZnJvbScgfCAnZnJvbUNvZGUnIHwgJ3RvJyB8ICd0b0NvZGUnIHwgJ2RlcGFydERhdGVUaW1lJyB8ICdhcnJpdmVEYXRlVGltZScgfCAnY2hhbmdlcycgfCAndW5zZWxsYWJsZSc+XG4gICAgICAgICYgeyBpZGVudGlmaWVycz86IE1heWJlPChcbiAgICAgICAgICB7IF9fdHlwZW5hbWU/OiAnSVJMSWRlbnRpZmllcnMnIH1cbiAgICAgICAgICAmIFBpY2s8SXJsSWRlbnRpZmllcnMsICd0cmFuc2FjdGlvbklkZW50aWZpZXInIHwgJ3NpZ25hdHVyZScgfCAnam91cm5leUlkZW50aWZpZXInIHwgJ3Byb3ZpZGVyJyB8ICdmYXJlSWRlbnRpZmllcicgfCAnZGlyZWN0aW9uJyB8ICdzaW5nbGVPclJldHVybicgfCAnYm9va2luZ1JlZic+XG4gICAgICAgICk+LCB0cmF2ZWxsZXJzPzogTWF5YmU8QXJyYXk8KFxuICAgICAgICAgIHsgX190eXBlbmFtZT86ICdJUkxUcmF2ZWxsZXInIH1cbiAgICAgICAgICAmIFBpY2s8SXJsVHJhdmVsbGVyLCAnc3RhdHVzJyB8ICdpZCcgfCAnZG9iJyB8ICdyYWlsY2FyZCcgfCAnZ2l2ZW5OYW1lJyB8ICdzdXJuYW1lJyB8ICduYW1lVGl0bGUnIHwgJ2NvbnRhY3RJbmZvJyB8ICdkZWxpdmVyeUVtYWlsQWRkcmVzcycgfCAnZmFyZSc+XG4gICAgICAgICk+Piwgc2VnbWVudHM/OiBNYXliZTxBcnJheTwoXG4gICAgICAgICAgeyBfX3R5cGVuYW1lPzogJ0lSTFNlZ21lbnQnIH1cbiAgICAgICAgICAmIFBpY2s8SXJsU2VnbWVudCwgJ2lkJyB8ICdvcGVyYXRvcicgfCAnZGVwYXJ0JyB8ICdkZXBhcnREYXRlVGltZScgfCAnYXJyaXZlJyB8ICdhcnJpdmVEYXRlVGltZScgfCAncmVzZXJ2YWJsZVN0YXR1cycgfCAnc2VhdFByZWZlcmVuY2VHcm91cCc+XG4gICAgICAgICAgJiB7IHNlYXRQcmVmZXJlbmNlVHlwZXM/OiBNYXliZTxBcnJheTwoXG4gICAgICAgICAgICB7IF9fdHlwZW5hbWU/OiAnSVJMU2VhdFByZWZlcmVuY2VUeXBlJyB9XG4gICAgICAgICAgICAmIFBpY2s8SXJsU2VhdFByZWZlcmVuY2VUeXBlLCAnbmFtZScgfCAnYWxsb3dlZFZhbHVlcyc+XG4gICAgICAgICAgKT4+LCBzZWF0cz86IE1heWJlPEFycmF5PChcbiAgICAgICAgICAgIHsgX190eXBlbmFtZT86ICdJUkxTZWF0JyB9XG4gICAgICAgICAgICAmIFBpY2s8SXJsU2VhdCwgJ2xvY2F0aW9uJyB8ICdjb2FjaCcgfCAnbnVtYmVyJyB8ICdkaXJlY3Rpb24nIHwgJ3Bvc2l0aW9uJyB8ICdkZWNrJyB8ICdzZWF0VHlwZScgfCAnc2VhdFNlbGVjdGlvbicgfCAnZmFjaWxpdGllcycgfCAnbm90ZSc+XG4gICAgICAgICAgKT4+IH1cbiAgICAgICAgKT4+LCBwcm92aWRlcnM/OiBNYXliZTxBcnJheTwoXG4gICAgICAgICAgeyBfX3R5cGVuYW1lPzogJ0lSTFByb3ZpZGVyJyB9XG4gICAgICAgICAgJiBQaWNrPElybFByb3ZpZGVyLCAncHJvdmlkZXJJZCcgfCAnbmFtZSc+XG4gICAgICAgICAgJiB7IGNoZWFwZXN0VGlja2V0PzogTWF5YmU8KFxuICAgICAgICAgICAgeyBfX3R5cGVuYW1lPzogJ0lSTFRpY2tldE9wdGlvbicgfVxuICAgICAgICAgICAgJiBQaWNrPElybFRpY2tldE9wdGlvbiwgJ3R5cGUnIHwgJ2NsYXNzJyB8ICdzaW5nbGVPclJldHVybicgfCAncHJpY2UnIHwgJ3Jlc2VydmFibGVTdGF0dXMnIHwgJ2N1cnJlbmN5JyB8ICdyb3V0ZScgfCAncm91dGVDb2RlJz5cbiAgICAgICAgICAgICYgeyBpZGVudGlmaWVycz86IE1heWJlPChcbiAgICAgICAgICAgICAgeyBfX3R5cGVuYW1lPzogJ0lSTElkZW50aWZpZXJzJyB9XG4gICAgICAgICAgICAgICYgUGljazxJcmxJZGVudGlmaWVycywgJ3RyYW5zYWN0aW9uSWRlbnRpZmllcicgfCAnc2lnbmF0dXJlJyB8ICdqb3VybmV5SWRlbnRpZmllcicgfCAncHJvdmlkZXInIHwgJ2ZhcmVJZGVudGlmaWVyJyB8ICdkaXJlY3Rpb24nIHwgJ3NpbmdsZU9yUmV0dXJuJyB8ICdib29raW5nUmVmJz5cbiAgICAgICAgICAgICk+LCB0aWNrZXRzPzogTWF5YmU8QXJyYXk8TWF5YmU8KFxuICAgICAgICAgICAgICB7IF9fdHlwZW5hbWU/OiAnSVJMVGlja2V0JyB9XG4gICAgICAgICAgICAgICYgUGljazxJcmxUaWNrZXQsICdwcmljZScgfCAndHlwZScgfCAncm91dGUnIHwgJ251bUNoaWxkcmVuJyB8ICdudW1BZHVsdHMnPlxuICAgICAgICAgICAgICAmIHsgc2VnbWVudHM/OiBNYXliZTxBcnJheTwoXG4gICAgICAgICAgICAgICAgeyBfX3R5cGVuYW1lPzogJ0lSTFNlZ21lbnQnIH1cbiAgICAgICAgICAgICAgICAmIFBpY2s8SXJsU2VnbWVudCwgJ2lkJyB8ICdvcGVyYXRvcicgfCAnZGVwYXJ0JyB8ICdkZXBhcnREYXRlVGltZScgfCAnYXJyaXZlJyB8ICdhcnJpdmVEYXRlVGltZScgfCAncmVzZXJ2YWJsZVN0YXR1cycgfCAnc2VhdFByZWZlcmVuY2VHcm91cCc+XG4gICAgICAgICAgICAgICAgJiB7IHNlYXRQcmVmZXJlbmNlVHlwZXM/OiBNYXliZTxBcnJheTwoXG4gICAgICAgICAgICAgICAgICB7IF9fdHlwZW5hbWU/OiAnSVJMU2VhdFByZWZlcmVuY2VUeXBlJyB9XG4gICAgICAgICAgICAgICAgICAmIFBpY2s8SXJsU2VhdFByZWZlcmVuY2VUeXBlLCAnbmFtZScgfCAnYWxsb3dlZFZhbHVlcyc+XG4gICAgICAgICAgICAgICAgKT4+LCBzZWF0cz86IE1heWJlPEFycmF5PChcbiAgICAgICAgICAgICAgICAgIHsgX190eXBlbmFtZT86ICdJUkxTZWF0JyB9XG4gICAgICAgICAgICAgICAgICAmIFBpY2s8SXJsU2VhdCwgJ2xvY2F0aW9uJyB8ICdjb2FjaCcgfCAnbnVtYmVyJyB8ICdkaXJlY3Rpb24nIHwgJ3Bvc2l0aW9uJyB8ICdkZWNrJyB8ICdzZWF0VHlwZScgfCAnc2VhdFNlbGVjdGlvbicgfCAnZmFjaWxpdGllcycgfCAnbm90ZSc+XG4gICAgICAgICAgICAgICAgKT4+IH1cbiAgICAgICAgICAgICAgKT4+IH1cbiAgICAgICAgICAgICk+Pj4gfVxuICAgICAgICAgICk+LCB0aWNrZXRPcHRpb25zPzogTWF5YmU8QXJyYXk8TWF5YmU8KFxuICAgICAgICAgICAgeyBfX3R5cGVuYW1lPzogJ0lSTFRpY2tldE9wdGlvbicgfVxuICAgICAgICAgICAgJiBQaWNrPElybFRpY2tldE9wdGlvbiwgJ3R5cGUnIHwgJ2NsYXNzJyB8ICdzaW5nbGVPclJldHVybicgfCAncHJpY2UnIHwgJ3Jlc2VydmFibGVTdGF0dXMnIHwgJ2N1cnJlbmN5JyB8ICdyb3V0ZScgfCAncm91dGVDb2RlJz5cbiAgICAgICAgICAgICYgeyBpZGVudGlmaWVycz86IE1heWJlPChcbiAgICAgICAgICAgICAgeyBfX3R5cGVuYW1lPzogJ0lSTElkZW50aWZpZXJzJyB9XG4gICAgICAgICAgICAgICYgUGljazxJcmxJZGVudGlmaWVycywgJ3RyYW5zYWN0aW9uSWRlbnRpZmllcicgfCAnc2lnbmF0dXJlJyB8ICdqb3VybmV5SWRlbnRpZmllcicgfCAncHJvdmlkZXInIHwgJ2ZhcmVJZGVudGlmaWVyJyB8ICdkaXJlY3Rpb24nIHwgJ3NpbmdsZU9yUmV0dXJuJyB8ICdib29raW5nUmVmJz5cbiAgICAgICAgICAgICk+LCB0aWNrZXRzPzogTWF5YmU8QXJyYXk8TWF5YmU8KFxuICAgICAgICAgICAgICB7IF9fdHlwZW5hbWU/OiAnSVJMVGlja2V0JyB9XG4gICAgICAgICAgICAgICYgUGljazxJcmxUaWNrZXQsICdwcmljZScgfCAndHlwZScgfCAncm91dGUnIHwgJ251bUNoaWxkcmVuJyB8ICdudW1BZHVsdHMnPlxuICAgICAgICAgICAgICAmIHsgc2VnbWVudHM/OiBNYXliZTxBcnJheTwoXG4gICAgICAgICAgICAgICAgeyBfX3R5cGVuYW1lPzogJ0lSTFNlZ21lbnQnIH1cbiAgICAgICAgICAgICAgICAmIFBpY2s8SXJsU2VnbWVudCwgJ2lkJyB8ICdvcGVyYXRvcicgfCAnZGVwYXJ0JyB8ICdkZXBhcnREYXRlVGltZScgfCAnYXJyaXZlJyB8ICdhcnJpdmVEYXRlVGltZScgfCAncmVzZXJ2YWJsZVN0YXR1cycgfCAnc2VhdFByZWZlcmVuY2VHcm91cCc+XG4gICAgICAgICAgICAgICAgJiB7IHNlYXRQcmVmZXJlbmNlVHlwZXM/OiBNYXliZTxBcnJheTwoXG4gICAgICAgICAgICAgICAgICB7IF9fdHlwZW5hbWU/OiAnSVJMU2VhdFByZWZlcmVuY2VUeXBlJyB9XG4gICAgICAgICAgICAgICAgICAmIFBpY2s8SXJsU2VhdFByZWZlcmVuY2VUeXBlLCAnbmFtZScgfCAnYWxsb3dlZFZhbHVlcyc+XG4gICAgICAgICAgICAgICAgKT4+LCBzZWF0cz86IE1heWJlPEFycmF5PChcbiAgICAgICAgICAgICAgICAgIHsgX190eXBlbmFtZT86ICdJUkxTZWF0JyB9XG4gICAgICAgICAgICAgICAgICAmIFBpY2s8SXJsU2VhdCwgJ2xvY2F0aW9uJyB8ICdjb2FjaCcgfCAnbnVtYmVyJyB8ICdkaXJlY3Rpb24nIHwgJ3Bvc2l0aW9uJyB8ICdkZWNrJyB8ICdzZWF0VHlwZScgfCAnc2VhdFNlbGVjdGlvbicgfCAnZmFjaWxpdGllcycgfCAnbm90ZSc+XG4gICAgICAgICAgICAgICAgKT4+IH1cbiAgICAgICAgICAgICAgKT4+IH1cbiAgICAgICAgICAgICk+Pj4gfVxuICAgICAgICAgICk+Pj4sIGJvb2tlZFRpY2tldD86IE1heWJlPChcbiAgICAgICAgICAgIHsgX190eXBlbmFtZT86ICdJUkxUaWNrZXRPcHRpb24nIH1cbiAgICAgICAgICAgICYgUGljazxJcmxUaWNrZXRPcHRpb24sICd0eXBlJyB8ICdjbGFzcycgfCAnc2luZ2xlT3JSZXR1cm4nIHwgJ3ByaWNlJyB8ICdyZXNlcnZhYmxlU3RhdHVzJyB8ICdjdXJyZW5jeScgfCAncm91dGUnIHwgJ3JvdXRlQ29kZSc+XG4gICAgICAgICAgICAmIHsgaWRlbnRpZmllcnM/OiBNYXliZTwoXG4gICAgICAgICAgICAgIHsgX190eXBlbmFtZT86ICdJUkxJZGVudGlmaWVycycgfVxuICAgICAgICAgICAgICAmIFBpY2s8SXJsSWRlbnRpZmllcnMsICd0cmFuc2FjdGlvbklkZW50aWZpZXInIHwgJ3NpZ25hdHVyZScgfCAnam91cm5leUlkZW50aWZpZXInIHwgJ3Byb3ZpZGVyJyB8ICdmYXJlSWRlbnRpZmllcicgfCAnZGlyZWN0aW9uJyB8ICdzaW5nbGVPclJldHVybicgfCAnYm9va2luZ1JlZic+XG4gICAgICAgICAgICApPiwgdGlja2V0cz86IE1heWJlPEFycmF5PE1heWJlPChcbiAgICAgICAgICAgICAgeyBfX3R5cGVuYW1lPzogJ0lSTFRpY2tldCcgfVxuICAgICAgICAgICAgICAmIFBpY2s8SXJsVGlja2V0LCAncHJpY2UnIHwgJ3R5cGUnIHwgJ3JvdXRlJyB8ICdudW1DaGlsZHJlbicgfCAnbnVtQWR1bHRzJz5cbiAgICAgICAgICAgICAgJiB7IHNlZ21lbnRzPzogTWF5YmU8QXJyYXk8KFxuICAgICAgICAgICAgICAgIHsgX190eXBlbmFtZT86ICdJUkxTZWdtZW50JyB9XG4gICAgICAgICAgICAgICAgJiBQaWNrPElybFNlZ21lbnQsICdpZCcgfCAnb3BlcmF0b3InIHwgJ2RlcGFydCcgfCAnZGVwYXJ0RGF0ZVRpbWUnIHwgJ2Fycml2ZScgfCAnYXJyaXZlRGF0ZVRpbWUnIHwgJ3Jlc2VydmFibGVTdGF0dXMnIHwgJ3NlYXRQcmVmZXJlbmNlR3JvdXAnPlxuICAgICAgICAgICAgICAgICYgeyBzZWF0UHJlZmVyZW5jZVR5cGVzPzogTWF5YmU8QXJyYXk8KFxuICAgICAgICAgICAgICAgICAgeyBfX3R5cGVuYW1lPzogJ0lSTFNlYXRQcmVmZXJlbmNlVHlwZScgfVxuICAgICAgICAgICAgICAgICAgJiBQaWNrPElybFNlYXRQcmVmZXJlbmNlVHlwZSwgJ25hbWUnIHwgJ2FsbG93ZWRWYWx1ZXMnPlxuICAgICAgICAgICAgICAgICk+Piwgc2VhdHM/OiBNYXliZTxBcnJheTwoXG4gICAgICAgICAgICAgICAgICB7IF9fdHlwZW5hbWU/OiAnSVJMU2VhdCcgfVxuICAgICAgICAgICAgICAgICAgJiBQaWNrPElybFNlYXQsICdsb2NhdGlvbicgfCAnY29hY2gnIHwgJ251bWJlcicgfCAnZGlyZWN0aW9uJyB8ICdwb3NpdGlvbicgfCAnZGVjaycgfCAnc2VhdFR5cGUnIHwgJ3NlYXRTZWxlY3Rpb24nIHwgJ2ZhY2lsaXRpZXMnIHwgJ25vdGUnPlxuICAgICAgICAgICAgICAgICk+PiB9XG4gICAgICAgICAgICAgICk+PiB9XG4gICAgICAgICAgICApPj4+IH1cbiAgICAgICAgICApPiB9XG4gICAgICAgICk+PiwgdGlja2V0RXh0cmFzPzogTWF5YmU8QXJyYXk8KFxuICAgICAgICAgIHsgX190eXBlbmFtZT86ICdJUkxUaWNrZXRFeHRyYScgfVxuICAgICAgICAgICYgUGljazxJcmxUaWNrZXRFeHRyYSwgJ3R5cGUnIHwgJ2xvY2F0aW9uJyB8ICdkYXRlJyB8ICdkZXNjcmlwdGlvbicgfCAnYW1vdW50JyB8ICdhZHVsdEFtb3VudCcgfCAnY2hpbGRBbW91bnQnIHwgJ2N1cnJlbmN5Jz5cbiAgICAgICAgICAmIHsgaWRlbnRpZmllcnM/OiBNYXliZTwoXG4gICAgICAgICAgICB7IF9fdHlwZW5hbWU/OiAnSVJMVGlja2V0RXh0cmFJZGVudGlmaWVycycgfVxuICAgICAgICAgICAgJiBQaWNrPElybFRpY2tldEV4dHJhSWRlbnRpZmllcnMsICd0eXBlJyB8ICdsb2NhdGlvbicgfCAnZGF0ZScgfCAnam91cm5leUlkJyB8ICdpc09yaWdpbic+XG4gICAgICAgICAgKT4gfVxuICAgICAgICApPj4sIHBsdXNCdXM/OiBNYXliZTwoXG4gICAgICAgICAgeyBfX3R5cGVuYW1lPzogJ0lSTFBsdXNCdXMnIH1cbiAgICAgICAgICAmIFBpY2s8SXJsUGx1c0J1cywgJ29yaWdpblBsdXNCdXNOTEMnIHwgJ29yaWdpblN0YXRpb25OTEMnIHwgJ2Rlc3RpbmF0aW9uUGx1c0J1c05MQycgfCAnZGVzdGluYXRpb25TdGF0aW9uTkxDJz5cbiAgICAgICAgKT4gfVxuICAgICAgKT4+IH1cbiAgICApPiwgZXJyb3JzOiBBcnJheTwoXG4gICAgICB7IF9fdHlwZW5hbWU/OiAnU2VhcmNoRXJyb3InIH1cbiAgICAgICYgRXJyb3JzRnJhZ21lbnRcbiAgICApPiB9XG4gICkgfVxuKTtcblxuZXhwb3J0IHR5cGUgU2VhcmNoSXJsU3VwcGxpZXJTdGF0aW9uc1F1ZXJ5VmFyaWFibGVzID0gRXhhY3Q8e1xuICBxdWVyeTogU2NhbGFyc1snU3RyaW5nJ107XG4gIHN1cHBsaWVyPzogTWF5YmU8SXJsU3VwcGxpZXI+O1xufT47XG5cblxuZXhwb3J0IHR5cGUgU2VhcmNoSXJsU3VwcGxpZXJTdGF0aW9uc1F1ZXJ5ID0gKFxuICB7IF9fdHlwZW5hbWU/OiAnUXVlcnknIH1cbiAgJiB7IHNlYXJjaElSTFN1cHBsaWVyU3RhdGlvbnM6IEFycmF5PChcbiAgICB7IF9fdHlwZW5hbWU/OiAnSVJMU3VwcGxpZXJTdGF0aW9uJyB9XG4gICAgJiBQaWNrPElybFN1cHBsaWVyU3RhdGlvbiwgJ2lkJyB8ICduYW1lJyB8ICdzdXBwbGllcicgfCAnc3RhdGlvbkNvZGUnIHwgJ25sY0NvZGUnIHwgJ3RyYWlubGluZUNvZGUnIHwgJ3RyYWlubGluZVVuaXF1ZUNvZGUnPlxuICAgICYgeyBsb2NhdGlvbkRldGFpbHM/OiBNYXliZTwoXG4gICAgICB7IF9fdHlwZW5hbWU/OiAnTG9jYXRpb25EZXRhaWwnIH1cbiAgICAgICYgUGljazxMb2NhdGlvbkRldGFpbCwgJ2NvbnRpbmVudCcgfCAnY291bnRyeScgfCAnY291bnRyeUNvZGUnIHwgJ3N0YXRlJyB8ICdjaXR5JyB8ICdwb3N0Y29kZScgfCAncm9hZCcgfCAnZ3JpZFJlZmVyZW5jZScgfCAnbm9ydGhpbmcnIHwgJ2Vhc3RpbmcnPlxuICAgICAgJiB7IGNvb3JkaW5hdGVzPzogTWF5YmU8KFxuICAgICAgICB7IF9fdHlwZW5hbWU/OiAnR2VvQ29vcmRpbmF0ZXMnIH1cbiAgICAgICAgJiBQaWNrPEdlb0Nvb3JkaW5hdGVzLCAnbGF0aXR1ZGUnIHwgJ2xvbmdpdHVkZScgfCAnYWx0aXR1ZGUnPlxuICAgICAgKT4gfVxuICAgICk+IH1cbiAgKT4gfVxuKTtcblxuZXhwb3J0IHR5cGUgU2VhcmNoUG9zdGNvZGVzUXVlcnlWYXJpYWJsZXMgPSBFeGFjdDx7XG4gIHBvc3Rjb2RlOiBTY2FsYXJzWydTdHJpbmcnXTtcbn0+O1xuXG5cbmV4cG9ydCB0eXBlIFNlYXJjaFBvc3Rjb2Rlc1F1ZXJ5ID0gKFxuICB7IF9fdHlwZW5hbWU/OiAnUXVlcnknIH1cbiAgJiB7IGdldFBvc3Rjb2RlRGV0YWlsczogKFxuICAgIHsgX190eXBlbmFtZT86ICdQb3N0Y29kZURldGFpbHMnIH1cbiAgICAmIFBpY2s8UG9zdGNvZGVEZXRhaWxzLCAncG9zdGNvZGUnIHwgJ2xhdGl0dWRlJyB8ICdsb25naXR1ZGUnPlxuICApIH1cbik7XG5cbmV4cG9ydCB0eXBlIFNlYXJjaFJhaWxTdGF0aW9uc1F1ZXJ5VmFyaWFibGVzID0gRXhhY3Q8e1xuICBxdWVyeTogU2NhbGFyc1snU3RyaW5nJ107XG4gIGNvdW50cnlDb2RlPzogTWF5YmU8U2NhbGFyc1snU3RyaW5nJ10+O1xufT47XG5cblxuZXhwb3J0IHR5cGUgU2VhcmNoUmFpbFN0YXRpb25zUXVlcnkgPSAoXG4gIHsgX190eXBlbmFtZT86ICdRdWVyeScgfVxuICAmIHsgc2VhcmNoUmFpbFN0YXRpb25zOiBBcnJheTwoXG4gICAgeyBfX3R5cGVuYW1lPzogJ1JhaWxTdGF0aW9uJyB9XG4gICAgJiBQaWNrPFJhaWxTdGF0aW9uLCAnaWQnIHwgJ25hbWUnIHwgJ3N0YXRpb25Db2RlJyB8ICdubGNDb2RlJyB8ICd0cmFpbmxpbmVDb2RlJyB8ICd0cmFpbmxpbmVVbmlxdWVDb2RlJz5cbiAgICAmIHsgbG9jYXRpb25EZXRhaWxzPzogTWF5YmU8KFxuICAgICAgeyBfX3R5cGVuYW1lPzogJ0xvY2F0aW9uRGV0YWlsJyB9XG4gICAgICAmIFBpY2s8TG9jYXRpb25EZXRhaWwsICdjb250aW5lbnQnIHwgJ2NvdW50cnknIHwgJ2NvdW50cnlDb2RlJyB8ICdzdGF0ZScgfCAnY2l0eScgfCAncG9zdGNvZGUnIHwgJ3JvYWQnIHwgJ2dyaWRSZWZlcmVuY2UnIHwgJ25vcnRoaW5nJyB8ICdlYXN0aW5nJz5cbiAgICAgICYgeyBjb29yZGluYXRlcz86IE1heWJlPChcbiAgICAgICAgeyBfX3R5cGVuYW1lPzogJ0dlb0Nvb3JkaW5hdGVzJyB9XG4gICAgICAgICYgUGljazxHZW9Db29yZGluYXRlcywgJ2xhdGl0dWRlJyB8ICdsb25naXR1ZGUnIHwgJ2FsdGl0dWRlJz5cbiAgICAgICk+IH1cbiAgICApPiB9XG4gICk+IH1cbik7XG5cbmV4cG9ydCB0eXBlIFNlYXJjaFVzZXJBZGRyZXNzUXVlcnlWYXJpYWJsZXMgPSBFeGFjdDx7IFtrZXk6IHN0cmluZ106IG5ldmVyOyB9PjtcblxuXG5leHBvcnQgdHlwZSBTZWFyY2hVc2VyQWRkcmVzc1F1ZXJ5ID0gKFxuICB7IF9fdHlwZW5hbWU/OiAnUXVlcnknIH1cbiAgJiB7IGdldFVzZXJBZGRyZXNzZXM6IEFycmF5PChcbiAgICB7IF9fdHlwZW5hbWU/OiAnQWRkcmVzcycgfVxuICAgICYgUGljazxBZGRyZXNzLCAnaWQnIHwgJ2Rlc2NyaXB0aW9uJyB8ICdudW1iZXJPck5hbWUnIHwgJ3N0cmVldCcgfCAndG93bicgfCAnY291bnR5JyB8ICdwb3N0Y29kZScgfCAnY291bnRyeUNvZGUnIHwgJ3VzZXJQcmltYXJ5JyB8ICdvZmZpY2VQcmltYXJ5Jz5cbiAgKT4gfVxuKTtcblxuZXhwb3J0IHR5cGUgU2V0QmFza2V0SXRlbU1pR3JvdXBNdXRhdGlvblZhcmlhYmxlcyA9IEV4YWN0PHtcbiAgYmFza2V0SXRlbTogU2NhbGFyc1snSUQnXTtcbiAgZ3JvdXA/OiBNYXliZTxTY2FsYXJzWydTdHJpbmcnXT47XG4gIHdpdGhTdXBwbGVtZW50YWw/OiBNYXliZTxTY2FsYXJzWydCb29sZWFuJ10+O1xufT47XG5cblxuZXhwb3J0IHR5cGUgU2V0QmFza2V0SXRlbU1pR3JvdXBNdXRhdGlvbiA9IChcbiAgeyBfX3R5cGVuYW1lPzogJ011dGF0aW9uJyB9XG4gICYgeyBzZXRCYXNrZXRJdGVtTUlHcm91cDogKFxuICAgIHsgX190eXBlbmFtZT86ICdCYXNrZXQnIH1cbiAgICAmIEJhc2tldEZpZWxkc0ZyYWdtZW50XG4gICkgfVxuKTtcblxuZXhwb3J0IHR5cGUgU2V0QmFza2V0SXRlbUxlYWRQYXNzZW5nZXJNdXRhdGlvblZhcmlhYmxlcyA9IEV4YWN0PHtcbiAgaWQ6IFNjYWxhcnNbJ0lEJ107XG4gIHVzZXI6IFNjYWxhcnNbJ0lEJ107XG4gIHdpdGhTdXBwbGVtZW50YWw6IFNjYWxhcnNbJ0Jvb2xlYW4nXTtcbn0+O1xuXG5cbmV4cG9ydCB0eXBlIFNldEJhc2tldEl0ZW1MZWFkUGFzc2VuZ2VyTXV0YXRpb24gPSAoXG4gIHsgX190eXBlbmFtZT86ICdNdXRhdGlvbicgfVxuICAmIHsgc2V0QmFza2V0SXRlbUxlYWRQYXNzZW5nZXI6IChcbiAgICB7IF9fdHlwZW5hbWU/OiAnQmFza2V0JyB9XG4gICAgJiBCYXNrZXRGaWVsZHNGcmFnbWVudFxuICApIH1cbik7XG5cbmV4cG9ydCB0eXBlIFNldEJhc2tldEl0ZW1NaVZhbHVlTXV0YXRpb25WYXJpYWJsZXMgPSBFeGFjdDx7XG4gIG1pOiBTY2FsYXJzWydJRCddO1xuICBtaVZhbHVlPzogTWF5YmU8U2NhbGFyc1snSUQnXT47XG4gIG1pRnJlZVZhbHVlPzogTWF5YmU8U2NhbGFyc1snU3RyaW5nJ10+O1xuICB1c2VyPzogTWF5YmU8U2NhbGFyc1snSUQnXT47XG4gIHdpdGhTdXBwbGVtZW50YWw/OiBNYXliZTxTY2FsYXJzWydCb29sZWFuJ10+O1xufT47XG5cblxuZXhwb3J0IHR5cGUgU2V0QmFza2V0SXRlbU1pVmFsdWVNdXRhdGlvbiA9IChcbiAgeyBfX3R5cGVuYW1lPzogJ011dGF0aW9uJyB9XG4gICYgeyBzZXRCYXNrZXRJdGVtTUlWYWx1ZTogKFxuICAgIHsgX190eXBlbmFtZT86ICdCYXNrZXQnIH1cbiAgICAmIEJhc2tldEZpZWxkc0ZyYWdtZW50XG4gICkgfVxuKTtcblxuZXhwb3J0IHR5cGUgU2V0QmFza2V0SXRlbVBheW1lbnRNZXRob2RNdXRhdGlvblZhcmlhYmxlcyA9IEV4YWN0PHtcbiAgYmFza2V0SXRlbTogU2NhbGFyc1snSUQnXTtcbiAgcGF5bWVudE1ldGhvZDogU2NhbGFyc1snSUQnXTtcbiAgd2l0aFN1cHBsZW1lbnRhbD86IE1heWJlPFNjYWxhcnNbJ0Jvb2xlYW4nXT47XG59PjtcblxuXG5leHBvcnQgdHlwZSBTZXRCYXNrZXRJdGVtUGF5bWVudE1ldGhvZE11dGF0aW9uID0gKFxuICB7IF9fdHlwZW5hbWU/OiAnTXV0YXRpb24nIH1cbiAgJiB7IHNldEJhc2tldEl0ZW1QYXltZW50TWV0aG9kOiAoXG4gICAgeyBfX3R5cGVuYW1lPzogJ0Jhc2tldCcgfVxuICAgICYgQmFza2V0RmllbGRzRnJhZ21lbnRcbiAgKSB9XG4pO1xuXG5leHBvcnQgdHlwZSBVcGRhdGVCYXNrZXROb3Rlc011dGF0aW9uVmFyaWFibGVzID0gRXhhY3Q8e1xuICBpZD86IE1heWJlPFNjYWxhcnNbJ0lEJ10+O1xuICByZWZlcmVuY2U/OiBNYXliZTxTY2FsYXJzWydTdHJpbmcnXT47XG4gIG5vdGVzOiBTY2FsYXJzWydTdHJpbmcnXTtcbiAgd2l0aFN1cHBsZW1lbnRhbD86IE1heWJlPFNjYWxhcnNbJ0Jvb2xlYW4nXT47XG59PjtcblxuXG5leHBvcnQgdHlwZSBVcGRhdGVCYXNrZXROb3Rlc011dGF0aW9uID0gKFxuICB7IF9fdHlwZW5hbWU/OiAnTXV0YXRpb24nIH1cbiAgJiB7IHVwZGF0ZUJhc2tldE5vdGVzOiAoXG4gICAgeyBfX3R5cGVuYW1lPzogJ0Jhc2tldCcgfVxuICAgICYgQmFza2V0RmllbGRzRnJhZ21lbnRcbiAgKSB9XG4pO1xuXG5leHBvcnQgdHlwZSBVcGRhdGVCYXNrZXRUaXRsZU11dGF0aW9uVmFyaWFibGVzID0gRXhhY3Q8e1xuICBpZD86IE1heWJlPFNjYWxhcnNbJ0lEJ10+O1xuICByZWZlcmVuY2U/OiBNYXliZTxTY2FsYXJzWydTdHJpbmcnXT47XG4gIG5ld1RpdGxlOiBTY2FsYXJzWydTdHJpbmcnXTtcbiAgd2l0aFN1cHBsZW1lbnRhbD86IE1heWJlPFNjYWxhcnNbJ0Jvb2xlYW4nXT47XG59PjtcblxuXG5leHBvcnQgdHlwZSBVcGRhdGVCYXNrZXRUaXRsZU11dGF0aW9uID0gKFxuICB7IF9fdHlwZW5hbWU/OiAnTXV0YXRpb24nIH1cbiAgJiB7IHVwZGF0ZUJhc2tldFRpdGxlOiAoXG4gICAgeyBfX3R5cGVuYW1lPzogJ0Jhc2tldCcgfVxuICAgICYgQmFza2V0RmllbGRzRnJhZ21lbnRcbiAgKSB9XG4pO1xuXG5leHBvcnQgdHlwZSBVc2VyRmllbGRzRnJhZ21lbnQgPSAoXG4gIHsgX190eXBlbmFtZT86ICdVc2VyJyB9XG4gICYgUGljazxVc2VyLCAnaWQnIHwgJ3RpdGxlJyB8ICdmb3JlbmFtZScgfCAnc3VybmFtZScgfCAnZW1haWwnIHwgJ3VzZXJuYW1lJyB8ICdlbXBsb3llZUlkJyB8ICdjcmVhdGVkQXQnIHwgJ3VwZGF0ZWRBdCcgfCAnZG9iJyB8ICdhZG1pbicgfCAndG1jQWRtaW4nIHwgJ2NvbXBhbnlBZG1pbicgfCAnYm9va2VyVHlwZScgfCAnYXV0aE1ldGhvZHMnIHwgJ2FjdGl2ZScgfCAncGFzc3dvcmRMYXN0VXBkYXRlZCc+XG4gICYgeyBzZWxlY3RlZExhbmd1YWdlOiAoXG4gICAgeyBfX3R5cGVuYW1lPzogJ0xhbmd1YWdlJyB9XG4gICAgJiBQaWNrPExhbmd1YWdlLCAnaWQnIHwgJ25hbWUnIHwgJ2lzb0NvZGUnPlxuICApLCBhdmFpbGFibGVMYW5ndWFnZXM6IEFycmF5PChcbiAgICB7IF9fdHlwZW5hbWU/OiAnTGFuZ3VhZ2UnIH1cbiAgICAmIFBpY2s8TGFuZ3VhZ2UsICdpZCcgfCAnbmFtZScgfCAnaXNvQ29kZSc+XG4gICk+LCBwYXNzcG9ydHM6IEFycmF5PChcbiAgICB7IF9fdHlwZW5hbWU/OiAnUGFzc3BvcnQnIH1cbiAgICAmIFBpY2s8UGFzc3BvcnQsICdpZCcgfCAnbnVtYmVyJyB8ICdjb2RlT2ZJc3N1aW5nU3RhdGUnIHwgJ25hdGlvbmFsaXR5JyB8ICdzZXgnIHwgJ2RvYicgfCAnc3VybmFtZScgfCAnZ2l2ZW5OYW1lcycgfCAnZGF0ZU9mSXNzdWUnIHwgJ2NyZWF0ZWRBdCcgfCAndXBkYXRlZEF0Jz5cbiAgKT4sIGFkZHJlc3NlczogQXJyYXk8KFxuICAgIHsgX190eXBlbmFtZT86ICdBZGRyZXNzJyB9XG4gICAgJiBQaWNrPEFkZHJlc3MsICdpZCcgfCAnZGVzY3JpcHRpb24nIHwgJ251bWJlck9yTmFtZScgfCAnc3RyZWV0JyB8ICd0b3duJyB8ICdjb3VudHknIHwgJ3Bvc3Rjb2RlJyB8ICdjb3VudHJ5Q29kZScgfCAndXNlclByaW1hcnknIHwgJ29mZmljZVByaW1hcnknPlxuICApPiwgcGhvbmVOdW1iZXJzOiBBcnJheTwoXG4gICAgeyBfX3R5cGVuYW1lPzogJ1Bob25lTnVtYmVyJyB9XG4gICAgJiBQaWNrPFBob25lTnVtYmVyLCAnaWQnIHwgJ2Rlc2NyaXB0aW9uJyB8ICdjb3VudHJ5Q29kZScgfCAnYXJlYUNvZGUnIHwgJ251bWJlcicgfCAnZXh0ZW5zaW9uJyB8ICd0eXBlJyB8ICdvZmZpY2VQcmltYXJ5JyB8ICd1c2VyUHJpbWFyeSc+XG4gICk+IH1cbik7XG5cbmV4cG9ydCB0eXBlIEdldFVzZXJTZXJ2aWNlc1F1ZXJ5VmFyaWFibGVzID0gRXhhY3Q8eyBba2V5OiBzdHJpbmddOiBuZXZlcjsgfT47XG5cblxuZXhwb3J0IHR5cGUgR2V0VXNlclNlcnZpY2VzUXVlcnkgPSAoXG4gIHsgX190eXBlbmFtZT86ICdRdWVyeScgfVxuICAmIHsgZ2V0VXNlclNlcnZpY2VzOiBBcnJheTwoXG4gICAgeyBfX3R5cGVuYW1lPzogJ1NlcnZpY2UnIH1cbiAgICAmIFBpY2s8U2VydmljZSwgJ2lkJyB8ICdjYW5jZWxsYWJsZScgfCAnYW1lbmRhYmxlJyB8ICd0eXBlJyB8ICduYW1lJyB8ICdkZXNjcmlwdGlvbicgfCAnZGV0YWlsU2NoZW1hJyB8ICdzZWFyY2hRdWVyeVNjaGVtYSc+XG4gICk+IH1cbik7XG5cbmV4cG9ydCB0eXBlIEdldFVzZXJVaUNvbmZpZ3NRdWVyeVZhcmlhYmxlcyA9IEV4YWN0PHsgW2tleTogc3RyaW5nXTogbmV2ZXI7IH0+O1xuXG5cbmV4cG9ydCB0eXBlIEdldFVzZXJVaUNvbmZpZ3NRdWVyeSA9IChcbiAgeyBfX3R5cGVuYW1lPzogJ1F1ZXJ5JyB9XG4gICYgeyBnZXRVc2VyVUlDb25maWdzOiAoXG4gICAgeyBfX3R5cGVuYW1lPzogJ1VJQ29uZmlnQ29sbGVjdGlvbicgfVxuICAgICYgeyBhbGw6IEFycmF5PChcbiAgICAgIHsgX190eXBlbmFtZT86ICdVSUNvbmZpZycgfVxuICAgICAgJiBQaWNrPFVpQ29uZmlnLCAnaWQnIHwgJ2NvbmZpZycgfCAna2V5Jz5cbiAgICApPiB9XG4gICkgfVxuKTtcblxuZXhwb3J0IHR5cGUgR2V0VXNlck1lc3NhZ2VzUXVlcnlWYXJpYWJsZXMgPSBFeGFjdDx7IFtrZXk6IHN0cmluZ106IG5ldmVyOyB9PjtcblxuXG5leHBvcnQgdHlwZSBHZXRVc2VyTWVzc2FnZXNRdWVyeSA9IChcbiAgeyBfX3R5cGVuYW1lPzogJ1F1ZXJ5JyB9XG4gICYgeyBnZXRVc2VyTWVzc2FnZXM6IEFycmF5PChcbiAgICB7IF9fdHlwZW5hbWU/OiAnTWVzc2FnZScgfVxuICAgICYgUGljazxNZXNzYWdlLCAnaWQnIHwgJ25hbWUnIHwgJ2Rlc2NyaXB0aW9uJyB8ICdjb25maWcnIHwgJ3RhcmdldCcgfCAna2V5Jz5cbiAgKT4gfVxuKTtcblxuZXhwb3J0IHR5cGUgR2V0VXNlclBob25lTnVtYmVyc1F1ZXJ5VmFyaWFibGVzID0gRXhhY3Q8eyBba2V5OiBzdHJpbmddOiBuZXZlcjsgfT47XG5cblxuZXhwb3J0IHR5cGUgR2V0VXNlclBob25lTnVtYmVyc1F1ZXJ5ID0gKFxuICB7IF9fdHlwZW5hbWU/OiAnUXVlcnknIH1cbiAgJiB7IGdldFVzZXJQaG9uZU51bWJlcnM6IEFycmF5PChcbiAgICB7IF9fdHlwZW5hbWU/OiAnUGhvbmVOdW1iZXInIH1cbiAgICAmIFBpY2s8UGhvbmVOdW1iZXIsICdpZCcgfCAnZGVzY3JpcHRpb24nIHwgJ2NvdW50cnlDb2RlJyB8ICdhcmVhQ29kZScgfCAnbnVtYmVyJyB8ICdleHRlbnNpb24nIHwgJ3R5cGUnIHwgJ29mZmljZVByaW1hcnknIHwgJ3VzZXJQcmltYXJ5Jz5cbiAgKT4gfVxuKTtcblxuZXhwb3J0IHR5cGUgU2V0VXNlckxhbmd1YWdlTXV0YXRpb25WYXJpYWJsZXMgPSBFeGFjdDx7XG4gIGxhbmd1YWdlPzogTWF5YmU8U2NhbGFyc1snSUQnXT47XG59PjtcblxuXG5leHBvcnQgdHlwZSBTZXRVc2VyTGFuZ3VhZ2VNdXRhdGlvbiA9IChcbiAgeyBfX3R5cGVuYW1lPzogJ011dGF0aW9uJyB9XG4gICYgeyBzZXRVc2VyTGFuZ3VhZ2U6IChcbiAgICB7IF9fdHlwZW5hbWU/OiAnVXNlcicgfVxuICAgICYgUGljazxVc2VyLCAnaWQnPlxuICAgICYgeyBzZWxlY3RlZExhbmd1YWdlOiAoXG4gICAgICB7IF9fdHlwZW5hbWU/OiAnTGFuZ3VhZ2UnIH1cbiAgICAgICYgUGljazxMYW5ndWFnZSwgJ2lkJyB8ICduYW1lJz5cbiAgICApIH1cbiAgKSB9XG4pO1xuXG5leHBvcnQgdHlwZSBHZXRVc2VyUXVlcnlWYXJpYWJsZXMgPSBFeGFjdDx7XG4gIGlkPzogTWF5YmU8U2NhbGFyc1snSUQnXT47XG59PjtcblxuXG5leHBvcnQgdHlwZSBHZXRVc2VyUXVlcnkgPSAoXG4gIHsgX190eXBlbmFtZT86ICdRdWVyeScgfVxuICAmIHsgZ2V0VXNlcjogKFxuICAgIHsgX190eXBlbmFtZT86ICdVc2VyJyB9XG4gICAgJiBVc2VyRmllbGRzRnJhZ21lbnRcbiAgKSB9XG4pO1xuXG5leHBvcnQgdHlwZSBTZWFyY2hVc2VyQ2FuQm9va0ZvclF1ZXJ5VmFyaWFibGVzID0gRXhhY3Q8e1xuICBlbWFpbD86IE1heWJlPFNjYWxhcnNbJ1N0cmluZyddPjtcbiAgdXNlck5hbWU/OiBNYXliZTxTY2FsYXJzWydTdHJpbmcnXT47XG4gIGVtcGxveWVlSWQ/OiBNYXliZTxTY2FsYXJzWydTdHJpbmcnXT47XG59PjtcblxuXG5leHBvcnQgdHlwZSBTZWFyY2hVc2VyQ2FuQm9va0ZvclF1ZXJ5ID0gKFxuICB7IF9fdHlwZW5hbWU/OiAnUXVlcnknIH1cbiAgJiB7IHNlYXJjaFVzZXJDYW5Cb29rRm9yOiBBcnJheTwoXG4gICAgeyBfX3R5cGVuYW1lPzogJ1VzZXInIH1cbiAgICAmIFBpY2s8VXNlciwgJ2lkJyB8ICdmb3JlbmFtZScgfCAnc3VybmFtZScgfCAnZW1haWwnPlxuICApPiB9XG4pO1xuXG5leHBvcnQgdHlwZSBWYWxpZGF0ZVVzZXJNaUZyZWVWYWx1ZVF1ZXJ5VmFyaWFibGVzID0gRXhhY3Q8e1xuICBtaTogU2NhbGFyc1snSUQnXTtcbiAgZnJlZVZhbHVlOiBTY2FsYXJzWydTdHJpbmcnXTtcbn0+O1xuXG5cbmV4cG9ydCB0eXBlIFZhbGlkYXRlVXNlck1pRnJlZVZhbHVlUXVlcnkgPSAoXG4gIHsgX190eXBlbmFtZT86ICdRdWVyeScgfVxuICAmIFBpY2s8UXVlcnksICd2YWxpZGF0ZVVzZXJNSUZyZWVWYWx1ZSc+XG4pO1xuXG5leHBvcnQgbmFtZXNwYWNlIEFjY2VwdE5ld1ByaWNlIHtcbiAgZXhwb3J0IHR5cGUgVmFyaWFibGVzID0gQWNjZXB0TmV3UHJpY2VNdXRhdGlvblZhcmlhYmxlcztcbiAgZXhwb3J0IHR5cGUgTXV0YXRpb24gPSBBY2NlcHROZXdQcmljZU11dGF0aW9uO1xuICBleHBvcnQgdHlwZSBBY2NlcHROZXdQcmljZSA9IEFjY2VwdE5ld1ByaWNlTXV0YXRpb25bJ2FjY2VwdE5ld1ByaWNlJ107XG59XG5cbmV4cG9ydCBuYW1lc3BhY2UgQWRkVXNlcnNUb0Jhc2tldEl0ZW0ge1xuICBleHBvcnQgdHlwZSBWYXJpYWJsZXMgPSBBZGRVc2Vyc1RvQmFza2V0SXRlbU11dGF0aW9uVmFyaWFibGVzO1xuICBleHBvcnQgdHlwZSBNdXRhdGlvbiA9IEFkZFVzZXJzVG9CYXNrZXRJdGVtTXV0YXRpb247XG4gIGV4cG9ydCB0eXBlIEFkZFVzZXJzVG9CYXNrZXRJdGVtID0gQWRkVXNlcnNUb0Jhc2tldEl0ZW1NdXRhdGlvblsnYWRkVXNlcnNUb0Jhc2tldEl0ZW0nXTtcbn1cblxuZXhwb3J0IG5hbWVzcGFjZSBUcmF2ZWxsZXJGaWVsZHMge1xuICBleHBvcnQgdHlwZSBGcmFnbWVudCA9IFRyYXZlbGxlckZpZWxkc0ZyYWdtZW50O1xufVxuXG5leHBvcnQgbmFtZXNwYWNlIE93bmVyRmllbGRzIHtcbiAgZXhwb3J0IHR5cGUgRnJhZ21lbnQgPSBPd25lckZpZWxkc0ZyYWdtZW50O1xufVxuXG5leHBvcnQgbmFtZXNwYWNlIEJhc2tldEZpZWxkcyB7XG4gIGV4cG9ydCB0eXBlIEZyYWdtZW50ID0gQmFza2V0RmllbGRzRnJhZ21lbnQ7XG4gIGV4cG9ydCB0eXBlIE93bmVyID0gQmFza2V0RmllbGRzRnJhZ21lbnRbJ293bmVyJ107XG4gIGV4cG9ydCB0eXBlIEJhc2tldEl0ZW1zID0gQmFza2V0RmllbGRzRnJhZ21lbnRbJ2Jhc2tldEl0ZW1zJ11bbnVtYmVyXTtcbiAgZXhwb3J0IHR5cGUgQXZhaWxhYmxlUGF5bWVudE1ldGhvZHMgPSBCYXNrZXRGaWVsZHNGcmFnbWVudFsnYmFza2V0SXRlbXMnXVtudW1iZXJdWydhdmFpbGFibGVQYXltZW50TWV0aG9kcyddW251bWJlcl07XG4gIGV4cG9ydCB0eXBlIFNlbGVjdGVkUGF5bWVudE1ldGhvZCA9IEJhc2tldEZpZWxkc0ZyYWdtZW50WydiYXNrZXRJdGVtcyddW251bWJlcl1bJ3NlbGVjdGVkUGF5bWVudE1ldGhvZCddO1xuICBleHBvcnQgdHlwZSBTZXJ2aWNlID0gQmFza2V0RmllbGRzRnJhZ21lbnRbJ2Jhc2tldEl0ZW1zJ11bbnVtYmVyXVsnc2VydmljZSddO1xuICBleHBvcnQgdHlwZSBVc2VycyA9IEJhc2tldEZpZWxkc0ZyYWdtZW50WydiYXNrZXRJdGVtcyddW251bWJlcl1bJ3VzZXJzJ11bbnVtYmVyXTtcbiAgZXhwb3J0IHR5cGUgVXNlclBhc3NlbmdlclR5cGVzID0gQmFza2V0RmllbGRzRnJhZ21lbnRbJ2Jhc2tldEl0ZW1zJ11bbnVtYmVyXVsndXNlclBhc3NlbmdlclR5cGVzJ11bbnVtYmVyXTtcbiAgZXhwb3J0IHR5cGUgTGVhZFBhc3NlbmdlciA9IEJhc2tldEZpZWxkc0ZyYWdtZW50WydiYXNrZXRJdGVtcyddW251bWJlcl1bJ2xlYWRQYXNzZW5nZXInXTtcbiAgZXhwb3J0IHR5cGUgTWFuYWdlbWVudEluZm8gPSBCYXNrZXRGaWVsZHNGcmFnbWVudFsnYmFza2V0SXRlbXMnXVtudW1iZXJdWydtYW5hZ2VtZW50SW5mbyddW251bWJlcl07XG4gIGV4cG9ydCB0eXBlIEZpeGVkVmFsdWUgPSBCYXNrZXRGaWVsZHNGcmFnbWVudFsnYmFza2V0SXRlbXMnXVtudW1iZXJdWydtYW5hZ2VtZW50SW5mbyddW251bWJlcl1bJ2ZpeGVkVmFsdWUnXTtcbiAgZXhwb3J0IHR5cGUgRGVmYXVsdFZhbHVlID0gQmFza2V0RmllbGRzRnJhZ21lbnRbJ2Jhc2tldEl0ZW1zJ11bbnVtYmVyXVsnbWFuYWdlbWVudEluZm8nXVtudW1iZXJdWydkZWZhdWx0VmFsdWUnXTtcbiAgZXhwb3J0IHR5cGUgVmFsdWVzID0gQmFza2V0RmllbGRzRnJhZ21lbnRbJ2Jhc2tldEl0ZW1zJ11bbnVtYmVyXVsnbWFuYWdlbWVudEluZm8nXVtudW1iZXJdWyd2YWx1ZXMnXVtudW1iZXJdO1xuICBleHBvcnQgdHlwZSBTZWxlY3RlZFZhbHVlcyA9IEJhc2tldEZpZWxkc0ZyYWdtZW50WydiYXNrZXRJdGVtcyddW251bWJlcl1bJ21hbmFnZW1lbnRJbmZvJ11bbnVtYmVyXVsnc2VsZWN0ZWRWYWx1ZXMnXVtudW1iZXJdO1xuICBleHBvcnQgdHlwZSBWYWx1ZSA9IEJhc2tldEZpZWxkc0ZyYWdtZW50WydiYXNrZXRJdGVtcyddW251bWJlcl1bJ21hbmFnZW1lbnRJbmZvJ11bbnVtYmVyXVsnc2VsZWN0ZWRWYWx1ZXMnXVtudW1iZXJdWyd2YWx1ZSddO1xuICBleHBvcnQgdHlwZSBVc2VyID0gQmFza2V0RmllbGRzRnJhZ21lbnRbJ2Jhc2tldEl0ZW1zJ11bbnVtYmVyXVsnbWFuYWdlbWVudEluZm8nXVtudW1iZXJdWydzZWxlY3RlZFZhbHVlcyddW251bWJlcl1bJ3VzZXInXTtcbiAgZXhwb3J0IHR5cGUgQ29tcGFueUdyb3VwID0gQmFza2V0RmllbGRzRnJhZ21lbnRbJ2NvbXBhbnlHcm91cCddO1xufVxuXG5leHBvcnQgbmFtZXNwYWNlIEdldFVzZXJCYXNrZXRzIHtcbiAgZXhwb3J0IHR5cGUgVmFyaWFibGVzID0gR2V0VXNlckJhc2tldHNRdWVyeVZhcmlhYmxlcztcbiAgZXhwb3J0IHR5cGUgUXVlcnkgPSBHZXRVc2VyQmFza2V0c1F1ZXJ5O1xuICBleHBvcnQgdHlwZSBHZXRVc2VyQmFza2V0cyA9IEdldFVzZXJCYXNrZXRzUXVlcnlbJ2dldFVzZXJCYXNrZXRzJ11bbnVtYmVyXTtcbn1cblxuZXhwb3J0IG5hbWVzcGFjZSBEZWxldGVCYXNrZXQge1xuICBleHBvcnQgdHlwZSBWYXJpYWJsZXMgPSBEZWxldGVCYXNrZXRNdXRhdGlvblZhcmlhYmxlcztcbiAgZXhwb3J0IHR5cGUgTXV0YXRpb24gPSBEZWxldGVCYXNrZXRNdXRhdGlvbjtcbn1cblxuZXhwb3J0IG5hbWVzcGFjZSBDcmVhdGVCYXNrZXQge1xuICBleHBvcnQgdHlwZSBWYXJpYWJsZXMgPSBDcmVhdGVCYXNrZXRNdXRhdGlvblZhcmlhYmxlcztcbiAgZXhwb3J0IHR5cGUgTXV0YXRpb24gPSBDcmVhdGVCYXNrZXRNdXRhdGlvbjtcbiAgZXhwb3J0IHR5cGUgQ3JlYXRlQmFza2V0ID0gQ3JlYXRlQmFza2V0TXV0YXRpb25bJ2NyZWF0ZUJhc2tldCddO1xufVxuXG5leHBvcnQgbmFtZXNwYWNlIFJlbW92ZUl0ZW1Gcm9tQmFza2V0IHtcbiAgZXhwb3J0IHR5cGUgVmFyaWFibGVzID0gUmVtb3ZlSXRlbUZyb21CYXNrZXRNdXRhdGlvblZhcmlhYmxlcztcbiAgZXhwb3J0IHR5cGUgTXV0YXRpb24gPSBSZW1vdmVJdGVtRnJvbUJhc2tldE11dGF0aW9uO1xuICBleHBvcnQgdHlwZSBSZW1vdmVJdGVtRnJvbUJhc2tldCA9IFJlbW92ZUl0ZW1Gcm9tQmFza2V0TXV0YXRpb25bJ3JlbW92ZUl0ZW1Gcm9tQmFza2V0J107XG59XG5cbmV4cG9ydCBuYW1lc3BhY2UgU2VuZEJhc2tldEZvckFwcHJvdmFsIHtcbiAgZXhwb3J0IHR5cGUgVmFyaWFibGVzID0gU2VuZEJhc2tldEZvckFwcHJvdmFsTXV0YXRpb25WYXJpYWJsZXM7XG4gIGV4cG9ydCB0eXBlIE11dGF0aW9uID0gU2VuZEJhc2tldEZvckFwcHJvdmFsTXV0YXRpb247XG4gIGV4cG9ydCB0eXBlIFNlbmRCYXNrZXRGb3JBcHByb3ZhbCA9IFNlbmRCYXNrZXRGb3JBcHByb3ZhbE11dGF0aW9uWydzZW5kQmFza2V0Rm9yQXBwcm92YWwnXTtcbn1cblxuZXhwb3J0IG5hbWVzcGFjZSBBZGRJdGVtVG9CYXNrZXQge1xuICBleHBvcnQgdHlwZSBWYXJpYWJsZXMgPSBBZGRJdGVtVG9CYXNrZXRNdXRhdGlvblZhcmlhYmxlcztcbiAgZXhwb3J0IHR5cGUgTXV0YXRpb24gPSBBZGRJdGVtVG9CYXNrZXRNdXRhdGlvbjtcbiAgZXhwb3J0IHR5cGUgQWRkSXRlbVRvQmFza2V0ID0gQWRkSXRlbVRvQmFza2V0TXV0YXRpb25bJ2FkZEl0ZW1Ub0Jhc2tldCddO1xufVxuXG5leHBvcnQgbmFtZXNwYWNlIEdldFVzZXJCYXNrZXQge1xuICBleHBvcnQgdHlwZSBWYXJpYWJsZXMgPSBHZXRVc2VyQmFza2V0UXVlcnlWYXJpYWJsZXM7XG4gIGV4cG9ydCB0eXBlIFF1ZXJ5ID0gR2V0VXNlckJhc2tldFF1ZXJ5O1xuICBleHBvcnQgdHlwZSBHZXRVc2VyQmFza2V0ID0gR2V0VXNlckJhc2tldFF1ZXJ5WydnZXRVc2VyQmFza2V0J107XG59XG5cbmV4cG9ydCBuYW1lc3BhY2UgUmV2YWxpZGF0ZUJhc2tldCB7XG4gIGV4cG9ydCB0eXBlIFZhcmlhYmxlcyA9IFJldmFsaWRhdGVCYXNrZXRNdXRhdGlvblZhcmlhYmxlcztcbiAgZXhwb3J0IHR5cGUgTXV0YXRpb24gPSBSZXZhbGlkYXRlQmFza2V0TXV0YXRpb247XG4gIGV4cG9ydCB0eXBlIFJldmFsaWRhdGVCYXNrZXQgPSBSZXZhbGlkYXRlQmFza2V0TXV0YXRpb25bJ3JldmFsaWRhdGVCYXNrZXQnXTtcbn1cblxuZXhwb3J0IG5hbWVzcGFjZSBCb29rQmFza2V0IHtcbiAgZXhwb3J0IHR5cGUgVmFyaWFibGVzID0gQm9va0Jhc2tldE11dGF0aW9uVmFyaWFibGVzO1xuICBleHBvcnQgdHlwZSBNdXRhdGlvbiA9IEJvb2tCYXNrZXRNdXRhdGlvbjtcbiAgZXhwb3J0IHR5cGUgQm9va0Jhc2tldCA9IEJvb2tCYXNrZXRNdXRhdGlvblsnYm9va0Jhc2tldCddO1xufVxuXG5leHBvcnQgbmFtZXNwYWNlIFNlYXJjaENhYkhpcmUge1xuICBleHBvcnQgdHlwZSBWYXJpYWJsZXMgPSBTZWFyY2hDYWJIaXJlUXVlcnlWYXJpYWJsZXM7XG4gIGV4cG9ydCB0eXBlIFF1ZXJ5ID0gU2VhcmNoQ2FiSGlyZVF1ZXJ5O1xuICBleHBvcnQgdHlwZSBTZWFyY2hDYWJIaXJlID0gU2VhcmNoQ2FiSGlyZVF1ZXJ5WydzZWFyY2hDYWJIaXJlJ107XG4gIGV4cG9ydCB0eXBlIFJlc3VsdHMgPSBTZWFyY2hDYWJIaXJlUXVlcnlbJ3NlYXJjaENhYkhpcmUnXVsncmVzdWx0cyddW251bWJlcl07XG4gIGV4cG9ydCB0eXBlIEZyb21Mb2NhdGlvbiA9IFNlYXJjaENhYkhpcmVRdWVyeVsnc2VhcmNoQ2FiSGlyZSddWydyZXN1bHRzJ11bbnVtYmVyXVsnZnJvbUxvY2F0aW9uJ107XG4gIGV4cG9ydCB0eXBlIFRvTG9jYXRpb24gPSBTZWFyY2hDYWJIaXJlUXVlcnlbJ3NlYXJjaENhYkhpcmUnXVsncmVzdWx0cyddW251bWJlcl1bJ3RvTG9jYXRpb24nXTtcbiAgZXhwb3J0IHR5cGUgVmlhcyA9IFNlYXJjaENhYkhpcmVRdWVyeVsnc2VhcmNoQ2FiSGlyZSddWydyZXN1bHRzJ11bbnVtYmVyXVsndmlhcyddW251bWJlcl07XG4gIGV4cG9ydCB0eXBlIEVycm9ycyA9IFNlYXJjaENhYkhpcmVRdWVyeVsnc2VhcmNoQ2FiSGlyZSddWydlcnJvcnMnXVtudW1iZXJdO1xufVxuXG5leHBvcnQgbmFtZXNwYWNlIENhckhpcmVBdmFpbGFiaWxpdHlEZXRhaWxSZXF1ZXN0IHtcbiAgZXhwb3J0IHR5cGUgVmFyaWFibGVzID0gQ2FySGlyZUF2YWlsYWJpbGl0eURldGFpbFJlcXVlc3RRdWVyeVZhcmlhYmxlcztcbiAgZXhwb3J0IHR5cGUgUXVlcnkgPSBDYXJIaXJlQXZhaWxhYmlsaXR5RGV0YWlsUmVxdWVzdFF1ZXJ5O1xuICBleHBvcnQgdHlwZSBDYXJIaXJlQXZhaWxhYmlsaXR5RGV0YWlsUmVxdWVzdCA9IENhckhpcmVBdmFpbGFiaWxpdHlEZXRhaWxSZXF1ZXN0UXVlcnlbJ2NhckhpcmVBdmFpbGFiaWxpdHlEZXRhaWxSZXF1ZXN0J107XG4gIGV4cG9ydCB0eXBlIElkZW50aWZpZXJzID0gQ2FySGlyZUF2YWlsYWJpbGl0eURldGFpbFJlcXVlc3RRdWVyeVsnY2FySGlyZUF2YWlsYWJpbGl0eURldGFpbFJlcXVlc3QnXVsnaWRlbnRpZmllcnMnXTtcbiAgZXhwb3J0IHR5cGUgVmVuZG9yID0gQ2FySGlyZUF2YWlsYWJpbGl0eURldGFpbFJlcXVlc3RRdWVyeVsnY2FySGlyZUF2YWlsYWJpbGl0eURldGFpbFJlcXVlc3QnXVsndmVuZG9yJ107XG4gIGV4cG9ydCB0eXBlIEFkZHJlc3MgPSBDYXJIaXJlQXZhaWxhYmlsaXR5RGV0YWlsUmVxdWVzdFF1ZXJ5WydjYXJIaXJlQXZhaWxhYmlsaXR5RGV0YWlsUmVxdWVzdCddWydhZGRyZXNzJ107XG4gIGV4cG9ydCB0eXBlIEFkZGl0aW9uYWxJbmZvID0gQ2FySGlyZUF2YWlsYWJpbGl0eURldGFpbFJlcXVlc3RRdWVyeVsnY2FySGlyZUF2YWlsYWJpbGl0eURldGFpbFJlcXVlc3QnXVsnYWRkaXRpb25hbEluZm8nXVtudW1iZXJdO1xuICBleHBvcnQgdHlwZSBDdXN0b20gPSBDYXJIaXJlQXZhaWxhYmlsaXR5RGV0YWlsUmVxdWVzdFF1ZXJ5WydjYXJIaXJlQXZhaWxhYmlsaXR5RGV0YWlsUmVxdWVzdCddWydhZGRpdGlvbmFsSW5mbyddW251bWJlcl1bJ2N1c3RvbSddW251bWJlcl07XG59XG5cbmV4cG9ydCBuYW1lc3BhY2UgU2VhcmNoQ2FySGlyZSB7XG4gIGV4cG9ydCB0eXBlIFZhcmlhYmxlcyA9IFNlYXJjaENhckhpcmVRdWVyeVZhcmlhYmxlcztcbiAgZXhwb3J0IHR5cGUgUXVlcnkgPSBTZWFyY2hDYXJIaXJlUXVlcnk7XG4gIGV4cG9ydCB0eXBlIFNlYXJjaENhckhpcmUgPSBTZWFyY2hDYXJIaXJlUXVlcnlbJ3NlYXJjaENhckhpcmUnXTtcbiAgZXhwb3J0IHR5cGUgUmVzdWx0cyA9IFNlYXJjaENhckhpcmVRdWVyeVsnc2VhcmNoQ2FySGlyZSddWydyZXN1bHRzJ11bbnVtYmVyXTtcbiAgZXhwb3J0IHR5cGUgSWRlbnRpZmllcnMgPSBTZWFyY2hDYXJIaXJlUXVlcnlbJ3NlYXJjaENhckhpcmUnXVsncmVzdWx0cyddW251bWJlcl1bJ2lkZW50aWZpZXJzJ107XG4gIGV4cG9ydCB0eXBlIERpc3BsYXlSZWNvcmQgPSBTZWFyY2hDYXJIaXJlUXVlcnlbJ3NlYXJjaENhckhpcmUnXVsncmVzdWx0cyddW251bWJlcl1bJ2Rpc3BsYXlSZWNvcmQnXTtcbiAgZXhwb3J0IHR5cGUgVmVuZG9yID0gU2VhcmNoQ2FySGlyZVF1ZXJ5WydzZWFyY2hDYXJIaXJlJ11bJ3Jlc3VsdHMnXVtudW1iZXJdWydkaXNwbGF5UmVjb3JkJ11bJ3ZlbmRvciddO1xuICBleHBvcnQgdHlwZSBWZWhpY2xlID0gU2VhcmNoQ2FySGlyZVF1ZXJ5WydzZWFyY2hDYXJIaXJlJ11bJ3Jlc3VsdHMnXVtudW1iZXJdWydkaXNwbGF5UmVjb3JkJ11bJ3ZlaGljbGUnXTtcbiAgZXhwb3J0IHR5cGUgQ2hhcmdlcyA9IFNlYXJjaENhckhpcmVRdWVyeVsnc2VhcmNoQ2FySGlyZSddWydyZXN1bHRzJ11bbnVtYmVyXVsnZGlzcGxheVJlY29yZCddWydjaGFyZ2VzJ11bbnVtYmVyXTtcbiAgZXhwb3J0IHR5cGUgUGlja3VwTG9jYXRpb24gPSBTZWFyY2hDYXJIaXJlUXVlcnlbJ3NlYXJjaENhckhpcmUnXVsncmVzdWx0cyddW251bWJlcl1bJ2Rpc3BsYXlSZWNvcmQnXVsncGlja3VwTG9jYXRpb24nXTtcbiAgZXhwb3J0IHR5cGUgUmV0dXJuTG9jYXRpb24gPSBTZWFyY2hDYXJIaXJlUXVlcnlbJ3NlYXJjaENhckhpcmUnXVsncmVzdWx0cyddW251bWJlcl1bJ2Rpc3BsYXlSZWNvcmQnXVsncmV0dXJuTG9jYXRpb24nXTtcbiAgZXhwb3J0IHR5cGUgQWRkaXRpb25hbEluZm8gPSBTZWFyY2hDYXJIaXJlUXVlcnlbJ3NlYXJjaENhckhpcmUnXVsncmVzdWx0cyddW251bWJlcl1bJ2Rpc3BsYXlSZWNvcmQnXVsnYWRkaXRpb25hbEluZm8nXVtudW1iZXJdO1xuICBleHBvcnQgdHlwZSBDdXN0b20gPSBTZWFyY2hDYXJIaXJlUXVlcnlbJ3NlYXJjaENhckhpcmUnXVsncmVzdWx0cyddW251bWJlcl1bJ2Rpc3BsYXlSZWNvcmQnXVsnYWRkaXRpb25hbEluZm8nXVtudW1iZXJdWydjdXN0b20nXVtudW1iZXJdO1xuICBleHBvcnQgdHlwZSBFcnJvcnMgPSBTZWFyY2hDYXJIaXJlUXVlcnlbJ3NlYXJjaENhckhpcmUnXVsnZXJyb3JzJ11bbnVtYmVyXTtcbn1cblxuZXhwb3J0IG5hbWVzcGFjZSBEZWxldGVSZWNlbnRTZWFyY2gge1xuICBleHBvcnQgdHlwZSBWYXJpYWJsZXMgPSBEZWxldGVSZWNlbnRTZWFyY2hNdXRhdGlvblZhcmlhYmxlcztcbiAgZXhwb3J0IHR5cGUgTXV0YXRpb24gPSBEZWxldGVSZWNlbnRTZWFyY2hNdXRhdGlvbjtcbn1cblxuZXhwb3J0IG5hbWVzcGFjZSBEZWxldGVVc2VyQWRkcmVzcyB7XG4gIGV4cG9ydCB0eXBlIFZhcmlhYmxlcyA9IERlbGV0ZVVzZXJBZGRyZXNzTXV0YXRpb25WYXJpYWJsZXM7XG4gIGV4cG9ydCB0eXBlIE11dGF0aW9uID0gRGVsZXRlVXNlckFkZHJlc3NNdXRhdGlvbjtcbn1cblxuZXhwb3J0IG5hbWVzcGFjZSBFcnJvcnMge1xuICBleHBvcnQgdHlwZSBGcmFnbWVudCA9IEVycm9yc0ZyYWdtZW50O1xuICBleHBvcnQgdHlwZSBTZXJ2aWNlID0gRXJyb3JzRnJhZ21lbnRbJ3NlcnZpY2UnXTtcbn1cblxuZXhwb3J0IG5hbWVzcGFjZSBHcm91cGVkRmllbGRzIHtcbiAgZXhwb3J0IHR5cGUgRnJhZ21lbnQgPSBHcm91cGVkRmllbGRzRnJhZ21lbnQ7XG4gIGV4cG9ydCB0eXBlIEZsaWdodHMgPSBHcm91cGVkRmllbGRzRnJhZ21lbnRbJ2ZsaWdodHMnXTtcbn1cblxuZXhwb3J0IG5hbWVzcGFjZSBTZWFyY2hGbGlnaHRzVjIge1xuICBleHBvcnQgdHlwZSBWYXJpYWJsZXMgPSBTZWFyY2hGbGlnaHRzVjJRdWVyeVZhcmlhYmxlcztcbiAgZXhwb3J0IHR5cGUgUXVlcnkgPSBTZWFyY2hGbGlnaHRzVjJRdWVyeTtcbiAgZXhwb3J0IHR5cGUgU2VhcmNoRmxpZ2h0c1YyID0gU2VhcmNoRmxpZ2h0c1YyUXVlcnlbJ3NlYXJjaEZsaWdodHNWMiddO1xuICBleHBvcnQgdHlwZSBSZXN1bHRzID0gU2VhcmNoRmxpZ2h0c1YyUXVlcnlbJ3NlYXJjaEZsaWdodHNWMiddWydyZXN1bHRzJ107XG4gIGV4cG9ydCB0eXBlIEpvdXJuZXlzID0gU2VhcmNoRmxpZ2h0c1YyUXVlcnlbJ3NlYXJjaEZsaWdodHNWMiddWydyZXN1bHRzJ11bJ2pvdXJuZXlzJ11bbnVtYmVyXTtcbiAgZXhwb3J0IHR5cGUgT3V0Ym91bmRGbGlnaHRzID0gU2VhcmNoRmxpZ2h0c1YyUXVlcnlbJ3NlYXJjaEZsaWdodHNWMiddWydyZXN1bHRzJ11bJ2pvdXJuZXlzJ11bbnVtYmVyXVsnb3V0Ym91bmRGbGlnaHRzJ11bbnVtYmVyXTtcbiAgZXhwb3J0IHR5cGUgT3JpZ2luQWlycG9ydERldGFpbCA9IFNlYXJjaEZsaWdodHNWMlF1ZXJ5WydzZWFyY2hGbGlnaHRzVjInXVsncmVzdWx0cyddWydqb3VybmV5cyddW251bWJlcl1bJ291dGJvdW5kRmxpZ2h0cyddW251bWJlcl1bJ29yaWdpbkFpcnBvcnREZXRhaWwnXTtcbiAgZXhwb3J0IHR5cGUgRGVzdGluYXRpb25BaXJwb3J0RGV0YWlsID0gU2VhcmNoRmxpZ2h0c1YyUXVlcnlbJ3NlYXJjaEZsaWdodHNWMiddWydyZXN1bHRzJ11bJ2pvdXJuZXlzJ11bbnVtYmVyXVsnb3V0Ym91bmRGbGlnaHRzJ11bbnVtYmVyXVsnZGVzdGluYXRpb25BaXJwb3J0RGV0YWlsJ107XG4gIGV4cG9ydCB0eXBlIE1hcmtldGluZ0NhcnJpZXJEZXRhaWwgPSBTZWFyY2hGbGlnaHRzVjJRdWVyeVsnc2VhcmNoRmxpZ2h0c1YyJ11bJ3Jlc3VsdHMnXVsnam91cm5leXMnXVtudW1iZXJdWydvdXRib3VuZEZsaWdodHMnXVtudW1iZXJdWydtYXJrZXRpbmdDYXJyaWVyRGV0YWlsJ107XG4gIGV4cG9ydCB0eXBlIE9wZXJhdGluZ0NhcnJpZXJEZXRhaWwgPSBTZWFyY2hGbGlnaHRzVjJRdWVyeVsnc2VhcmNoRmxpZ2h0c1YyJ11bJ3Jlc3VsdHMnXVsnam91cm5leXMnXVtudW1iZXJdWydvdXRib3VuZEZsaWdodHMnXVtudW1iZXJdWydvcGVyYXRpbmdDYXJyaWVyRGV0YWlsJ107XG4gIGV4cG9ydCB0eXBlIEZhcmVDb25kaXRpb25zID0gU2VhcmNoRmxpZ2h0c1YyUXVlcnlbJ3NlYXJjaEZsaWdodHNWMiddWydyZXN1bHRzJ11bJ2pvdXJuZXlzJ11bbnVtYmVyXVsnb3V0Ym91bmRGbGlnaHRzJ11bbnVtYmVyXVsnZmFyZUNvbmRpdGlvbnMnXTtcbiAgZXhwb3J0IHR5cGUgQ2FuY2VsbGF0aW9uID0gU2VhcmNoRmxpZ2h0c1YyUXVlcnlbJ3NlYXJjaEZsaWdodHNWMiddWydyZXN1bHRzJ11bJ2pvdXJuZXlzJ11bbnVtYmVyXVsnb3V0Ym91bmRGbGlnaHRzJ11bbnVtYmVyXVsnZmFyZUNvbmRpdGlvbnMnXVsnY2FuY2VsbGF0aW9uJ11bbnVtYmVyXTtcbiAgZXhwb3J0IHR5cGUgQ2hhbmdlID0gU2VhcmNoRmxpZ2h0c1YyUXVlcnlbJ3NlYXJjaEZsaWdodHNWMiddWydyZXN1bHRzJ11bJ2pvdXJuZXlzJ11bbnVtYmVyXVsnb3V0Ym91bmRGbGlnaHRzJ11bbnVtYmVyXVsnZmFyZUNvbmRpdGlvbnMnXVsnY2hhbmdlJ11bbnVtYmVyXTtcbiAgZXhwb3J0IHR5cGUgTm9TaG93ID0gU2VhcmNoRmxpZ2h0c1YyUXVlcnlbJ3NlYXJjaEZsaWdodHNWMiddWydyZXN1bHRzJ11bJ2pvdXJuZXlzJ11bbnVtYmVyXVsnb3V0Ym91bmRGbGlnaHRzJ11bbnVtYmVyXVsnZmFyZUNvbmRpdGlvbnMnXVsnbm9TaG93J11bbnVtYmVyXTtcbiAgZXhwb3J0IHR5cGUgVXBncmFkZSA9IFNlYXJjaEZsaWdodHNWMlF1ZXJ5WydzZWFyY2hGbGlnaHRzVjInXVsncmVzdWx0cyddWydqb3VybmV5cyddW251bWJlcl1bJ291dGJvdW5kRmxpZ2h0cyddW251bWJlcl1bJ2ZhcmVDb25kaXRpb25zJ11bJ3VwZ3JhZGUnXVtudW1iZXJdO1xuICBleHBvcnQgdHlwZSBPdGhlciA9IFNlYXJjaEZsaWdodHNWMlF1ZXJ5WydzZWFyY2hGbGlnaHRzVjInXVsncmVzdWx0cyddWydqb3VybmV5cyddW251bWJlcl1bJ291dGJvdW5kRmxpZ2h0cyddW251bWJlcl1bJ2ZhcmVDb25kaXRpb25zJ11bJ290aGVyJ11bbnVtYmVyXTtcbiAgZXhwb3J0IHR5cGUgSW5ib3VuZEZsaWdodHMgPSBTZWFyY2hGbGlnaHRzVjJRdWVyeVsnc2VhcmNoRmxpZ2h0c1YyJ11bJ3Jlc3VsdHMnXVsnam91cm5leXMnXVtudW1iZXJdWydpbmJvdW5kRmxpZ2h0cyddW251bWJlcl07XG4gIGV4cG9ydCB0eXBlIF9PcmlnaW5BaXJwb3J0RGV0YWlsID0gU2VhcmNoRmxpZ2h0c1YyUXVlcnlbJ3NlYXJjaEZsaWdodHNWMiddWydyZXN1bHRzJ11bJ2pvdXJuZXlzJ11bbnVtYmVyXVsnaW5ib3VuZEZsaWdodHMnXVtudW1iZXJdWydvcmlnaW5BaXJwb3J0RGV0YWlsJ107XG4gIGV4cG9ydCB0eXBlIF9EZXN0aW5hdGlvbkFpcnBvcnREZXRhaWwgPSBTZWFyY2hGbGlnaHRzVjJRdWVyeVsnc2VhcmNoRmxpZ2h0c1YyJ11bJ3Jlc3VsdHMnXVsnam91cm5leXMnXVtudW1iZXJdWydpbmJvdW5kRmxpZ2h0cyddW251bWJlcl1bJ2Rlc3RpbmF0aW9uQWlycG9ydERldGFpbCddO1xuICBleHBvcnQgdHlwZSBfTWFya2V0aW5nQ2FycmllckRldGFpbCA9IFNlYXJjaEZsaWdodHNWMlF1ZXJ5WydzZWFyY2hGbGlnaHRzVjInXVsncmVzdWx0cyddWydqb3VybmV5cyddW251bWJlcl1bJ2luYm91bmRGbGlnaHRzJ11bbnVtYmVyXVsnbWFya2V0aW5nQ2FycmllckRldGFpbCddO1xuICBleHBvcnQgdHlwZSBfT3BlcmF0aW5nQ2FycmllckRldGFpbCA9IFNlYXJjaEZsaWdodHNWMlF1ZXJ5WydzZWFyY2hGbGlnaHRzVjInXVsncmVzdWx0cyddWydqb3VybmV5cyddW251bWJlcl1bJ2luYm91bmRGbGlnaHRzJ11bbnVtYmVyXVsnb3BlcmF0aW5nQ2FycmllckRldGFpbCddO1xuICBleHBvcnQgdHlwZSBfRmFyZUNvbmRpdGlvbnMgPSBTZWFyY2hGbGlnaHRzVjJRdWVyeVsnc2VhcmNoRmxpZ2h0c1YyJ11bJ3Jlc3VsdHMnXVsnam91cm5leXMnXVtudW1iZXJdWydpbmJvdW5kRmxpZ2h0cyddW251bWJlcl1bJ2ZhcmVDb25kaXRpb25zJ107XG4gIGV4cG9ydCB0eXBlIF9DYW5jZWxsYXRpb24gPSBTZWFyY2hGbGlnaHRzVjJRdWVyeVsnc2VhcmNoRmxpZ2h0c1YyJ11bJ3Jlc3VsdHMnXVsnam91cm5leXMnXVtudW1iZXJdWydpbmJvdW5kRmxpZ2h0cyddW251bWJlcl1bJ2ZhcmVDb25kaXRpb25zJ11bJ2NhbmNlbGxhdGlvbiddW251bWJlcl07XG4gIGV4cG9ydCB0eXBlIF9DaGFuZ2UgPSBTZWFyY2hGbGlnaHRzVjJRdWVyeVsnc2VhcmNoRmxpZ2h0c1YyJ11bJ3Jlc3VsdHMnXVsnam91cm5leXMnXVtudW1iZXJdWydpbmJvdW5kRmxpZ2h0cyddW251bWJlcl1bJ2ZhcmVDb25kaXRpb25zJ11bJ2NoYW5nZSddW251bWJlcl07XG4gIGV4cG9ydCB0eXBlIF9Ob1Nob3cgPSBTZWFyY2hGbGlnaHRzVjJRdWVyeVsnc2VhcmNoRmxpZ2h0c1YyJ11bJ3Jlc3VsdHMnXVsnam91cm5leXMnXVtudW1iZXJdWydpbmJvdW5kRmxpZ2h0cyddW251bWJlcl1bJ2ZhcmVDb25kaXRpb25zJ11bJ25vU2hvdyddW251bWJlcl07XG4gIGV4cG9ydCB0eXBlIF9VcGdyYWRlID0gU2VhcmNoRmxpZ2h0c1YyUXVlcnlbJ3NlYXJjaEZsaWdodHNWMiddWydyZXN1bHRzJ11bJ2pvdXJuZXlzJ11bbnVtYmVyXVsnaW5ib3VuZEZsaWdodHMnXVtudW1iZXJdWydmYXJlQ29uZGl0aW9ucyddWyd1cGdyYWRlJ11bbnVtYmVyXTtcbiAgZXhwb3J0IHR5cGUgX090aGVyID0gU2VhcmNoRmxpZ2h0c1YyUXVlcnlbJ3NlYXJjaEZsaWdodHNWMiddWydyZXN1bHRzJ11bJ2pvdXJuZXlzJ11bbnVtYmVyXVsnaW5ib3VuZEZsaWdodHMnXVtudW1iZXJdWydmYXJlQ29uZGl0aW9ucyddWydvdGhlciddW251bWJlcl07XG4gIGV4cG9ydCB0eXBlIE91dGJvdW5kQ2FyYm9uRW1pc3Npb25zID0gU2VhcmNoRmxpZ2h0c1YyUXVlcnlbJ3NlYXJjaEZsaWdodHNWMiddWydyZXN1bHRzJ11bJ2pvdXJuZXlzJ11bbnVtYmVyXVsnb3V0Ym91bmRDYXJib25FbWlzc2lvbnMnXTtcbiAgZXhwb3J0IHR5cGUgSW5ib3VuZENhcmJvbkVtaXNzaW9ucyA9IFNlYXJjaEZsaWdodHNWMlF1ZXJ5WydzZWFyY2hGbGlnaHRzVjInXVsncmVzdWx0cyddWydqb3VybmV5cyddW251bWJlcl1bJ2luYm91bmRDYXJib25FbWlzc2lvbnMnXTtcbiAgZXhwb3J0IHR5cGUgVGF4ZXMgPSBTZWFyY2hGbGlnaHRzVjJRdWVyeVsnc2VhcmNoRmxpZ2h0c1YyJ11bJ3Jlc3VsdHMnXVsnam91cm5leXMnXVtudW1iZXJdWyd0YXhlcyddW251bWJlcl07XG4gIGV4cG9ydCB0eXBlIERpc2NvdW50cyA9IFNlYXJjaEZsaWdodHNWMlF1ZXJ5WydzZWFyY2hGbGlnaHRzVjInXVsncmVzdWx0cyddWydqb3VybmV5cyddW251bWJlcl1bJ2Rpc2NvdW50cyddW251bWJlcl07XG4gIGV4cG9ydCB0eXBlIFRvdGFsID0gU2VhcmNoRmxpZ2h0c1YyUXVlcnlbJ3NlYXJjaEZsaWdodHNWMiddWydyZXN1bHRzJ11bJ2pvdXJuZXlzJ11bbnVtYmVyXVsndG90YWwnXTtcbiAgZXhwb3J0IHR5cGUgX19GYXJlQ29uZGl0aW9ucyA9IFNlYXJjaEZsaWdodHNWMlF1ZXJ5WydzZWFyY2hGbGlnaHRzVjInXVsncmVzdWx0cyddWydqb3VybmV5cyddW251bWJlcl1bJ2ZhcmVDb25kaXRpb25zJ107XG4gIGV4cG9ydCB0eXBlIF9fQ2FuY2VsbGF0aW9uID0gU2VhcmNoRmxpZ2h0c1YyUXVlcnlbJ3NlYXJjaEZsaWdodHNWMiddWydyZXN1bHRzJ11bJ2pvdXJuZXlzJ11bbnVtYmVyXVsnZmFyZUNvbmRpdGlvbnMnXVsnY2FuY2VsbGF0aW9uJ11bbnVtYmVyXTtcbiAgZXhwb3J0IHR5cGUgX19DaGFuZ2UgPSBTZWFyY2hGbGlnaHRzVjJRdWVyeVsnc2VhcmNoRmxpZ2h0c1YyJ11bJ3Jlc3VsdHMnXVsnam91cm5leXMnXVtudW1iZXJdWydmYXJlQ29uZGl0aW9ucyddWydjaGFuZ2UnXVtudW1iZXJdO1xuICBleHBvcnQgdHlwZSBfX05vU2hvdyA9IFNlYXJjaEZsaWdodHNWMlF1ZXJ5WydzZWFyY2hGbGlnaHRzVjInXVsncmVzdWx0cyddWydqb3VybmV5cyddW251bWJlcl1bJ2ZhcmVDb25kaXRpb25zJ11bJ25vU2hvdyddW251bWJlcl07XG4gIGV4cG9ydCB0eXBlIF9fVXBncmFkZSA9IFNlYXJjaEZsaWdodHNWMlF1ZXJ5WydzZWFyY2hGbGlnaHRzVjInXVsncmVzdWx0cyddWydqb3VybmV5cyddW251bWJlcl1bJ2ZhcmVDb25kaXRpb25zJ11bJ3VwZ3JhZGUnXVtudW1iZXJdO1xuICBleHBvcnQgdHlwZSBfX090aGVyID0gU2VhcmNoRmxpZ2h0c1YyUXVlcnlbJ3NlYXJjaEZsaWdodHNWMiddWydyZXN1bHRzJ11bJ2pvdXJuZXlzJ11bbnVtYmVyXVsnZmFyZUNvbmRpdGlvbnMnXVsnb3RoZXInXVtudW1iZXJdO1xuICBleHBvcnQgdHlwZSBCYWdnYWdlQWxsb3dhbmNlID0gU2VhcmNoRmxpZ2h0c1YyUXVlcnlbJ3NlYXJjaEZsaWdodHNWMiddWydyZXN1bHRzJ11bJ2pvdXJuZXlzJ11bbnVtYmVyXVsnYmFnZ2FnZUFsbG93YW5jZSddW251bWJlcl07XG4gIGV4cG9ydCB0eXBlIE11bHRpID0gU2VhcmNoRmxpZ2h0c1YyUXVlcnlbJ3NlYXJjaEZsaWdodHNWMiddWydyZXN1bHRzJ11bJ211bHRpJ11bbnVtYmVyXTtcbiAgZXhwb3J0IHR5cGUgX1Jlc3VsdHMgPSBTZWFyY2hGbGlnaHRzVjJRdWVyeVsnc2VhcmNoRmxpZ2h0c1YyJ11bJ3Jlc3VsdHMnXVsnbXVsdGknXVtudW1iZXJdWydyZXN1bHRzJ11bbnVtYmVyXTtcbiAgZXhwb3J0IHR5cGUgX091dGJvdW5kRmxpZ2h0cyA9IFNlYXJjaEZsaWdodHNWMlF1ZXJ5WydzZWFyY2hGbGlnaHRzVjInXVsncmVzdWx0cyddWydtdWx0aSddW251bWJlcl1bJ3Jlc3VsdHMnXVtudW1iZXJdWydvdXRib3VuZEZsaWdodHMnXVtudW1iZXJdO1xuICBleHBvcnQgdHlwZSBfX09yaWdpbkFpcnBvcnREZXRhaWwgPSBTZWFyY2hGbGlnaHRzVjJRdWVyeVsnc2VhcmNoRmxpZ2h0c1YyJ11bJ3Jlc3VsdHMnXVsnbXVsdGknXVtudW1iZXJdWydyZXN1bHRzJ11bbnVtYmVyXVsnb3V0Ym91bmRGbGlnaHRzJ11bbnVtYmVyXVsnb3JpZ2luQWlycG9ydERldGFpbCddO1xuICBleHBvcnQgdHlwZSBfX0Rlc3RpbmF0aW9uQWlycG9ydERldGFpbCA9IFNlYXJjaEZsaWdodHNWMlF1ZXJ5WydzZWFyY2hGbGlnaHRzVjInXVsncmVzdWx0cyddWydtdWx0aSddW251bWJlcl1bJ3Jlc3VsdHMnXVtudW1iZXJdWydvdXRib3VuZEZsaWdodHMnXVtudW1iZXJdWydkZXN0aW5hdGlvbkFpcnBvcnREZXRhaWwnXTtcbiAgZXhwb3J0IHR5cGUgX19NYXJrZXRpbmdDYXJyaWVyRGV0YWlsID0gU2VhcmNoRmxpZ2h0c1YyUXVlcnlbJ3NlYXJjaEZsaWdodHNWMiddWydyZXN1bHRzJ11bJ211bHRpJ11bbnVtYmVyXVsncmVzdWx0cyddW251bWJlcl1bJ291dGJvdW5kRmxpZ2h0cyddW251bWJlcl1bJ21hcmtldGluZ0NhcnJpZXJEZXRhaWwnXTtcbiAgZXhwb3J0IHR5cGUgX19PcGVyYXRpbmdDYXJyaWVyRGV0YWlsID0gU2VhcmNoRmxpZ2h0c1YyUXVlcnlbJ3NlYXJjaEZsaWdodHNWMiddWydyZXN1bHRzJ11bJ211bHRpJ11bbnVtYmVyXVsncmVzdWx0cyddW251bWJlcl1bJ291dGJvdW5kRmxpZ2h0cyddW251bWJlcl1bJ29wZXJhdGluZ0NhcnJpZXJEZXRhaWwnXTtcbiAgZXhwb3J0IHR5cGUgX19fRmFyZUNvbmRpdGlvbnMgPSBTZWFyY2hGbGlnaHRzVjJRdWVyeVsnc2VhcmNoRmxpZ2h0c1YyJ11bJ3Jlc3VsdHMnXVsnbXVsdGknXVtudW1iZXJdWydyZXN1bHRzJ11bbnVtYmVyXVsnb3V0Ym91bmRGbGlnaHRzJ11bbnVtYmVyXVsnZmFyZUNvbmRpdGlvbnMnXTtcbiAgZXhwb3J0IHR5cGUgX19fQ2FuY2VsbGF0aW9uID0gU2VhcmNoRmxpZ2h0c1YyUXVlcnlbJ3NlYXJjaEZsaWdodHNWMiddWydyZXN1bHRzJ11bJ211bHRpJ11bbnVtYmVyXVsncmVzdWx0cyddW251bWJlcl1bJ291dGJvdW5kRmxpZ2h0cyddW251bWJlcl1bJ2ZhcmVDb25kaXRpb25zJ11bJ2NhbmNlbGxhdGlvbiddW251bWJlcl07XG4gIGV4cG9ydCB0eXBlIF9fX0NoYW5nZSA9IFNlYXJjaEZsaWdodHNWMlF1ZXJ5WydzZWFyY2hGbGlnaHRzVjInXVsncmVzdWx0cyddWydtdWx0aSddW251bWJlcl1bJ3Jlc3VsdHMnXVtudW1iZXJdWydvdXRib3VuZEZsaWdodHMnXVtudW1iZXJdWydmYXJlQ29uZGl0aW9ucyddWydjaGFuZ2UnXVtudW1iZXJdO1xuICBleHBvcnQgdHlwZSBfX19Ob1Nob3cgPSBTZWFyY2hGbGlnaHRzVjJRdWVyeVsnc2VhcmNoRmxpZ2h0c1YyJ11bJ3Jlc3VsdHMnXVsnbXVsdGknXVtudW1iZXJdWydyZXN1bHRzJ11bbnVtYmVyXVsnb3V0Ym91bmRGbGlnaHRzJ11bbnVtYmVyXVsnZmFyZUNvbmRpdGlvbnMnXVsnbm9TaG93J11bbnVtYmVyXTtcbiAgZXhwb3J0IHR5cGUgX19fVXBncmFkZSA9IFNlYXJjaEZsaWdodHNWMlF1ZXJ5WydzZWFyY2hGbGlnaHRzVjInXVsncmVzdWx0cyddWydtdWx0aSddW251bWJlcl1bJ3Jlc3VsdHMnXVtudW1iZXJdWydvdXRib3VuZEZsaWdodHMnXVtudW1iZXJdWydmYXJlQ29uZGl0aW9ucyddWyd1cGdyYWRlJ11bbnVtYmVyXTtcbiAgZXhwb3J0IHR5cGUgX19fT3RoZXIgPSBTZWFyY2hGbGlnaHRzVjJRdWVyeVsnc2VhcmNoRmxpZ2h0c1YyJ11bJ3Jlc3VsdHMnXVsnbXVsdGknXVtudW1iZXJdWydyZXN1bHRzJ11bbnVtYmVyXVsnb3V0Ym91bmRGbGlnaHRzJ11bbnVtYmVyXVsnZmFyZUNvbmRpdGlvbnMnXVsnb3RoZXInXVtudW1iZXJdO1xuICBleHBvcnQgdHlwZSBfSW5ib3VuZEZsaWdodHMgPSBTZWFyY2hGbGlnaHRzVjJRdWVyeVsnc2VhcmNoRmxpZ2h0c1YyJ11bJ3Jlc3VsdHMnXVsnbXVsdGknXVtudW1iZXJdWydyZXN1bHRzJ11bbnVtYmVyXVsnaW5ib3VuZEZsaWdodHMnXVtudW1iZXJdO1xuICBleHBvcnQgdHlwZSBfX19PcmlnaW5BaXJwb3J0RGV0YWlsID0gU2VhcmNoRmxpZ2h0c1YyUXVlcnlbJ3NlYXJjaEZsaWdodHNWMiddWydyZXN1bHRzJ11bJ211bHRpJ11bbnVtYmVyXVsncmVzdWx0cyddW251bWJlcl1bJ2luYm91bmRGbGlnaHRzJ11bbnVtYmVyXVsnb3JpZ2luQWlycG9ydERldGFpbCddO1xuICBleHBvcnQgdHlwZSBfX19EZXN0aW5hdGlvbkFpcnBvcnREZXRhaWwgPSBTZWFyY2hGbGlnaHRzVjJRdWVyeVsnc2VhcmNoRmxpZ2h0c1YyJ11bJ3Jlc3VsdHMnXVsnbXVsdGknXVtudW1iZXJdWydyZXN1bHRzJ11bbnVtYmVyXVsnaW5ib3VuZEZsaWdodHMnXVtudW1iZXJdWydkZXN0aW5hdGlvbkFpcnBvcnREZXRhaWwnXTtcbiAgZXhwb3J0IHR5cGUgX19fTWFya2V0aW5nQ2FycmllckRldGFpbCA9IFNlYXJjaEZsaWdodHNWMlF1ZXJ5WydzZWFyY2hGbGlnaHRzVjInXVsncmVzdWx0cyddWydtdWx0aSddW251bWJlcl1bJ3Jlc3VsdHMnXVtudW1iZXJdWydpbmJvdW5kRmxpZ2h0cyddW251bWJlcl1bJ21hcmtldGluZ0NhcnJpZXJEZXRhaWwnXTtcbiAgZXhwb3J0IHR5cGUgX19fT3BlcmF0aW5nQ2FycmllckRldGFpbCA9IFNlYXJjaEZsaWdodHNWMlF1ZXJ5WydzZWFyY2hGbGlnaHRzVjInXVsncmVzdWx0cyddWydtdWx0aSddW251bWJlcl1bJ3Jlc3VsdHMnXVtudW1iZXJdWydpbmJvdW5kRmxpZ2h0cyddW251bWJlcl1bJ29wZXJhdGluZ0NhcnJpZXJEZXRhaWwnXTtcbiAgZXhwb3J0IHR5cGUgX19fX0ZhcmVDb25kaXRpb25zID0gU2VhcmNoRmxpZ2h0c1YyUXVlcnlbJ3NlYXJjaEZsaWdodHNWMiddWydyZXN1bHRzJ11bJ211bHRpJ11bbnVtYmVyXVsncmVzdWx0cyddW251bWJlcl1bJ2luYm91bmRGbGlnaHRzJ11bbnVtYmVyXVsnZmFyZUNvbmRpdGlvbnMnXTtcbiAgZXhwb3J0IHR5cGUgX19fX0NhbmNlbGxhdGlvbiA9IFNlYXJjaEZsaWdodHNWMlF1ZXJ5WydzZWFyY2hGbGlnaHRzVjInXVsncmVzdWx0cyddWydtdWx0aSddW251bWJlcl1bJ3Jlc3VsdHMnXVtudW1iZXJdWydpbmJvdW5kRmxpZ2h0cyddW251bWJlcl1bJ2ZhcmVDb25kaXRpb25zJ11bJ2NhbmNlbGxhdGlvbiddW251bWJlcl07XG4gIGV4cG9ydCB0eXBlIF9fX19DaGFuZ2UgPSBTZWFyY2hGbGlnaHRzVjJRdWVyeVsnc2VhcmNoRmxpZ2h0c1YyJ11bJ3Jlc3VsdHMnXVsnbXVsdGknXVtudW1iZXJdWydyZXN1bHRzJ11bbnVtYmVyXVsnaW5ib3VuZEZsaWdodHMnXVtudW1iZXJdWydmYXJlQ29uZGl0aW9ucyddWydjaGFuZ2UnXVtudW1iZXJdO1xuICBleHBvcnQgdHlwZSBfX19fTm9TaG93ID0gU2VhcmNoRmxpZ2h0c1YyUXVlcnlbJ3NlYXJjaEZsaWdodHNWMiddWydyZXN1bHRzJ11bJ211bHRpJ11bbnVtYmVyXVsncmVzdWx0cyddW251bWJlcl1bJ2luYm91bmRGbGlnaHRzJ11bbnVtYmVyXVsnZmFyZUNvbmRpdGlvbnMnXVsnbm9TaG93J11bbnVtYmVyXTtcbiAgZXhwb3J0IHR5cGUgX19fX1VwZ3JhZGUgPSBTZWFyY2hGbGlnaHRzVjJRdWVyeVsnc2VhcmNoRmxpZ2h0c1YyJ11bJ3Jlc3VsdHMnXVsnbXVsdGknXVtudW1iZXJdWydyZXN1bHRzJ11bbnVtYmVyXVsnaW5ib3VuZEZsaWdodHMnXVtudW1iZXJdWydmYXJlQ29uZGl0aW9ucyddWyd1cGdyYWRlJ11bbnVtYmVyXTtcbiAgZXhwb3J0IHR5cGUgX19fX090aGVyID0gU2VhcmNoRmxpZ2h0c1YyUXVlcnlbJ3NlYXJjaEZsaWdodHNWMiddWydyZXN1bHRzJ11bJ211bHRpJ11bbnVtYmVyXVsncmVzdWx0cyddW251bWJlcl1bJ2luYm91bmRGbGlnaHRzJ11bbnVtYmVyXVsnZmFyZUNvbmRpdGlvbnMnXVsnb3RoZXInXVtudW1iZXJdO1xuICBleHBvcnQgdHlwZSBfT3V0Ym91bmRDYXJib25FbWlzc2lvbnMgPSBTZWFyY2hGbGlnaHRzVjJRdWVyeVsnc2VhcmNoRmxpZ2h0c1YyJ11bJ3Jlc3VsdHMnXVsnbXVsdGknXVtudW1iZXJdWydyZXN1bHRzJ11bbnVtYmVyXVsnb3V0Ym91bmRDYXJib25FbWlzc2lvbnMnXTtcbiAgZXhwb3J0IHR5cGUgX0luYm91bmRDYXJib25FbWlzc2lvbnMgPSBTZWFyY2hGbGlnaHRzVjJRdWVyeVsnc2VhcmNoRmxpZ2h0c1YyJ11bJ3Jlc3VsdHMnXVsnbXVsdGknXVtudW1iZXJdWydyZXN1bHRzJ11bbnVtYmVyXVsnaW5ib3VuZENhcmJvbkVtaXNzaW9ucyddO1xuICBleHBvcnQgdHlwZSBfVGF4ZXMgPSBTZWFyY2hGbGlnaHRzVjJRdWVyeVsnc2VhcmNoRmxpZ2h0c1YyJ11bJ3Jlc3VsdHMnXVsnbXVsdGknXVtudW1iZXJdWydyZXN1bHRzJ11bbnVtYmVyXVsndGF4ZXMnXVtudW1iZXJdO1xuICBleHBvcnQgdHlwZSBfRGlzY291bnRzID0gU2VhcmNoRmxpZ2h0c1YyUXVlcnlbJ3NlYXJjaEZsaWdodHNWMiddWydyZXN1bHRzJ11bJ211bHRpJ11bbnVtYmVyXVsncmVzdWx0cyddW251bWJlcl1bJ2Rpc2NvdW50cyddW251bWJlcl07XG4gIGV4cG9ydCB0eXBlIF9Ub3RhbCA9IFNlYXJjaEZsaWdodHNWMlF1ZXJ5WydzZWFyY2hGbGlnaHRzVjInXVsncmVzdWx0cyddWydtdWx0aSddW251bWJlcl1bJ3Jlc3VsdHMnXVtudW1iZXJdWyd0b3RhbCddO1xuICBleHBvcnQgdHlwZSBfX19fX0ZhcmVDb25kaXRpb25zID0gU2VhcmNoRmxpZ2h0c1YyUXVlcnlbJ3NlYXJjaEZsaWdodHNWMiddWydyZXN1bHRzJ11bJ211bHRpJ11bbnVtYmVyXVsncmVzdWx0cyddW251bWJlcl1bJ2ZhcmVDb25kaXRpb25zJ107XG4gIGV4cG9ydCB0eXBlIF9fX19fQ2FuY2VsbGF0aW9uID0gU2VhcmNoRmxpZ2h0c1YyUXVlcnlbJ3NlYXJjaEZsaWdodHNWMiddWydyZXN1bHRzJ11bJ211bHRpJ11bbnVtYmVyXVsncmVzdWx0cyddW251bWJlcl1bJ2ZhcmVDb25kaXRpb25zJ11bJ2NhbmNlbGxhdGlvbiddW251bWJlcl07XG4gIGV4cG9ydCB0eXBlIF9fX19fQ2hhbmdlID0gU2VhcmNoRmxpZ2h0c1YyUXVlcnlbJ3NlYXJjaEZsaWdodHNWMiddWydyZXN1bHRzJ11bJ211bHRpJ11bbnVtYmVyXVsncmVzdWx0cyddW251bWJlcl1bJ2ZhcmVDb25kaXRpb25zJ11bJ2NoYW5nZSddW251bWJlcl07XG4gIGV4cG9ydCB0eXBlIF9fX19fTm9TaG93ID0gU2VhcmNoRmxpZ2h0c1YyUXVlcnlbJ3NlYXJjaEZsaWdodHNWMiddWydyZXN1bHRzJ11bJ211bHRpJ11bbnVtYmVyXVsncmVzdWx0cyddW251bWJlcl1bJ2ZhcmVDb25kaXRpb25zJ11bJ25vU2hvdyddW251bWJlcl07XG4gIGV4cG9ydCB0eXBlIF9fX19fVXBncmFkZSA9IFNlYXJjaEZsaWdodHNWMlF1ZXJ5WydzZWFyY2hGbGlnaHRzVjInXVsncmVzdWx0cyddWydtdWx0aSddW251bWJlcl1bJ3Jlc3VsdHMnXVtudW1iZXJdWydmYXJlQ29uZGl0aW9ucyddWyd1cGdyYWRlJ11bbnVtYmVyXTtcbiAgZXhwb3J0IHR5cGUgX19fX19PdGhlciA9IFNlYXJjaEZsaWdodHNWMlF1ZXJ5WydzZWFyY2hGbGlnaHRzVjInXVsncmVzdWx0cyddWydtdWx0aSddW251bWJlcl1bJ3Jlc3VsdHMnXVtudW1iZXJdWydmYXJlQ29uZGl0aW9ucyddWydvdGhlciddW251bWJlcl07XG4gIGV4cG9ydCB0eXBlIF9CYWdnYWdlQWxsb3dhbmNlID0gU2VhcmNoRmxpZ2h0c1YyUXVlcnlbJ3NlYXJjaEZsaWdodHNWMiddWydyZXN1bHRzJ11bJ211bHRpJ11bbnVtYmVyXVsncmVzdWx0cyddW251bWJlcl1bJ2JhZ2dhZ2VBbGxvd2FuY2UnXVtudW1iZXJdO1xuICBleHBvcnQgdHlwZSBHcm91cGVkID0gU2VhcmNoRmxpZ2h0c1YyUXVlcnlbJ3NlYXJjaEZsaWdodHNWMiddWydyZXN1bHRzJ11bJ2dyb3VwZWQnXVtudW1iZXJdO1xuICBleHBvcnQgdHlwZSBFcnJvcnMgPSBTZWFyY2hGbGlnaHRzVjJRdWVyeVsnc2VhcmNoRmxpZ2h0c1YyJ11bJ2Vycm9ycyddW251bWJlcl07XG59XG5cbmV4cG9ydCBuYW1lc3BhY2UgR2V0Q2FySGlyZURlcG90cyB7XG4gIGV4cG9ydCB0eXBlIFZhcmlhYmxlcyA9IEdldENhckhpcmVEZXBvdHNRdWVyeVZhcmlhYmxlcztcbiAgZXhwb3J0IHR5cGUgUXVlcnkgPSBHZXRDYXJIaXJlRGVwb3RzUXVlcnk7XG4gIGV4cG9ydCB0eXBlIEdldENhckhpcmVEZXBvdHMgPSBHZXRDYXJIaXJlRGVwb3RzUXVlcnlbJ2dldENhckhpcmVEZXBvdHMnXVtudW1iZXJdO1xufVxuXG5leHBvcnQgbmFtZXNwYWNlIEdldENvbmZlcm1hT2ZmaWNlIHtcbiAgZXhwb3J0IHR5cGUgVmFyaWFibGVzID0gR2V0Q29uZmVybWFPZmZpY2VRdWVyeVZhcmlhYmxlcztcbiAgZXhwb3J0IHR5cGUgUXVlcnkgPSBHZXRDb25mZXJtYU9mZmljZVF1ZXJ5O1xuICBleHBvcnQgdHlwZSBHZXRDb25mZXJtYU9mZmljZSA9IEdldENvbmZlcm1hT2ZmaWNlUXVlcnlbJ2dldENvbmZlcm1hT2ZmaWNlJ107XG4gIGV4cG9ydCB0eXBlIFJlc3VsdHMgPSBHZXRDb25mZXJtYU9mZmljZVF1ZXJ5WydnZXRDb25mZXJtYU9mZmljZSddWydyZXN1bHRzJ107XG4gIGV4cG9ydCB0eXBlIEFkZHJlc3MgPSBHZXRDb25mZXJtYU9mZmljZVF1ZXJ5WydnZXRDb25mZXJtYU9mZmljZSddWydyZXN1bHRzJ11bJ2FkZHJlc3MnXTtcbiAgZXhwb3J0IHR5cGUgQ2xvc2VzdEhvdGVscyA9IEdldENvbmZlcm1hT2ZmaWNlUXVlcnlbJ2dldENvbmZlcm1hT2ZmaWNlJ11bJ3Jlc3VsdHMnXVsnY2xvc2VzdEhvdGVscyddW251bWJlcl07XG4gIGV4cG9ydCB0eXBlIEVycm9ycyA9IEdldENvbmZlcm1hT2ZmaWNlUXVlcnlbJ2dldENvbmZlcm1hT2ZmaWNlJ11bJ2Vycm9ycyddW251bWJlcl07XG4gIGV4cG9ydCB0eXBlIFNlcnZpY2UgPSBHZXRDb25mZXJtYU9mZmljZVF1ZXJ5WydnZXRDb25mZXJtYU9mZmljZSddWydlcnJvcnMnXVtudW1iZXJdWydzZXJ2aWNlJ107XG59XG5cbmV4cG9ydCBuYW1lc3BhY2UgR2V0Q29uZmVybWFPZmZpY2VOYW1lcyB7XG4gIGV4cG9ydCB0eXBlIFZhcmlhYmxlcyA9IEdldENvbmZlcm1hT2ZmaWNlTmFtZXNRdWVyeVZhcmlhYmxlcztcbiAgZXhwb3J0IHR5cGUgUXVlcnkgPSBHZXRDb25mZXJtYU9mZmljZU5hbWVzUXVlcnk7XG4gIGV4cG9ydCB0eXBlIEdldENvbmZlcm1hT2ZmaWNlTmFtZXMgPSBHZXRDb25mZXJtYU9mZmljZU5hbWVzUXVlcnlbJ2dldENvbmZlcm1hT2ZmaWNlTmFtZXMnXTtcbiAgZXhwb3J0IHR5cGUgUmVzdWx0cyA9IEdldENvbmZlcm1hT2ZmaWNlTmFtZXNRdWVyeVsnZ2V0Q29uZmVybWFPZmZpY2VOYW1lcyddWydyZXN1bHRzJ11bbnVtYmVyXTtcbiAgZXhwb3J0IHR5cGUgRXJyb3JzID0gR2V0Q29uZmVybWFPZmZpY2VOYW1lc1F1ZXJ5WydnZXRDb25mZXJtYU9mZmljZU5hbWVzJ11bJ2Vycm9ycyddW251bWJlcl07XG59XG5cbmV4cG9ydCBuYW1lc3BhY2UgR2V0Q29uZmVybWFRdWlja2xpc3Qge1xuICBleHBvcnQgdHlwZSBWYXJpYWJsZXMgPSBHZXRDb25mZXJtYVF1aWNrbGlzdFF1ZXJ5VmFyaWFibGVzO1xuICBleHBvcnQgdHlwZSBRdWVyeSA9IEdldENvbmZlcm1hUXVpY2tsaXN0UXVlcnk7XG4gIGV4cG9ydCB0eXBlIEdldENvbmZlcm1hUXVpY2tsaXN0ID0gR2V0Q29uZmVybWFRdWlja2xpc3RRdWVyeVsnZ2V0Q29uZmVybWFRdWlja2xpc3QnXTtcbiAgZXhwb3J0IHR5cGUgUmVzdWx0cyA9IEdldENvbmZlcm1hUXVpY2tsaXN0UXVlcnlbJ2dldENvbmZlcm1hUXVpY2tsaXN0J11bJ3Jlc3VsdHMnXVtudW1iZXJdO1xuICBleHBvcnQgdHlwZSBMb2NhdGlvbiA9IEdldENvbmZlcm1hUXVpY2tsaXN0UXVlcnlbJ2dldENvbmZlcm1hUXVpY2tsaXN0J11bJ3Jlc3VsdHMnXVtudW1iZXJdWydsb2NhdGlvbiddO1xuICBleHBvcnQgdHlwZSBBZGRyZXNzID0gR2V0Q29uZmVybWFRdWlja2xpc3RRdWVyeVsnZ2V0Q29uZmVybWFRdWlja2xpc3QnXVsncmVzdWx0cyddW251bWJlcl1bJ2FkZHJlc3MnXTtcbiAgZXhwb3J0IHR5cGUgVHJhbnNwb3J0cyA9IEdldENvbmZlcm1hUXVpY2tsaXN0UXVlcnlbJ2dldENvbmZlcm1hUXVpY2tsaXN0J11bJ3Jlc3VsdHMnXVtudW1iZXJdWyd0cmFuc3BvcnRzJ11bbnVtYmVyXTtcbiAgZXhwb3J0IHR5cGUgUHJlZmVycmVkID0gR2V0Q29uZmVybWFRdWlja2xpc3RRdWVyeVsnZ2V0Q29uZmVybWFRdWlja2xpc3QnXVsncmVzdWx0cyddW251bWJlcl1bJ3ByZWZlcnJlZCddO1xuICBleHBvcnQgdHlwZSBUYWdzID0gR2V0Q29uZmVybWFRdWlja2xpc3RRdWVyeVsnZ2V0Q29uZmVybWFRdWlja2xpc3QnXVsncmVzdWx0cyddW251bWJlcl1bJ3RhZ3MnXVtudW1iZXJdO1xuICBleHBvcnQgdHlwZSBBdmFpbGFibGVSYXRlcyA9IEdldENvbmZlcm1hUXVpY2tsaXN0UXVlcnlbJ2dldENvbmZlcm1hUXVpY2tsaXN0J11bJ3Jlc3VsdHMnXVtudW1iZXJdWydhdmFpbGFibGVSYXRlcyddO1xuICBleHBvcnQgdHlwZSBSb29tcyA9IEdldENvbmZlcm1hUXVpY2tsaXN0UXVlcnlbJ2dldENvbmZlcm1hUXVpY2tsaXN0J11bJ3Jlc3VsdHMnXVtudW1iZXJdWydhdmFpbGFibGVSYXRlcyddWydyb29tcyddW251bWJlcl07XG4gIGV4cG9ydCB0eXBlIEN1cnJlbmN5Q29udmVyc2lvbiA9IEdldENvbmZlcm1hUXVpY2tsaXN0UXVlcnlbJ2dldENvbmZlcm1hUXVpY2tsaXN0J11bJ3Jlc3VsdHMnXVtudW1iZXJdWydhdmFpbGFibGVSYXRlcyddWydyb29tcyddW251bWJlcl1bJ2N1cnJlbmN5Q29udmVyc2lvbiddO1xuICBleHBvcnQgdHlwZSBEZXBvc2l0ID0gR2V0Q29uZmVybWFRdWlja2xpc3RRdWVyeVsnZ2V0Q29uZmVybWFRdWlja2xpc3QnXVsncmVzdWx0cyddW251bWJlcl1bJ2F2YWlsYWJsZVJhdGVzJ11bJ3Jvb21zJ11bbnVtYmVyXVsnZGVwb3NpdCddO1xuICBleHBvcnQgdHlwZSBOaWdodHMgPSBHZXRDb25mZXJtYVF1aWNrbGlzdFF1ZXJ5WydnZXRDb25mZXJtYVF1aWNrbGlzdCddWydyZXN1bHRzJ11bbnVtYmVyXVsnYXZhaWxhYmxlUmF0ZXMnXVsncm9vbXMnXVtudW1iZXJdWyduaWdodHMnXVtudW1iZXJdO1xuICBleHBvcnQgdHlwZSBQb2xpY2llcyA9IEdldENvbmZlcm1hUXVpY2tsaXN0UXVlcnlbJ2dldENvbmZlcm1hUXVpY2tsaXN0J11bJ3Jlc3VsdHMnXVtudW1iZXJdWydhdmFpbGFibGVSYXRlcyddWydyb29tcyddW251bWJlcl1bJ3BvbGljaWVzJ107XG4gIGV4cG9ydCB0eXBlIFRheCA9IEdldENvbmZlcm1hUXVpY2tsaXN0UXVlcnlbJ2dldENvbmZlcm1hUXVpY2tsaXN0J11bJ3Jlc3VsdHMnXVtudW1iZXJdWydhdmFpbGFibGVSYXRlcyddWydyb29tcyddW251bWJlcl1bJ3RheCddO1xuICBleHBvcnQgdHlwZSBBY2NlcHRlZENhcmRzID0gR2V0Q29uZmVybWFRdWlja2xpc3RRdWVyeVsnZ2V0Q29uZmVybWFRdWlja2xpc3QnXVsncmVzdWx0cyddW251bWJlcl1bJ2F2YWlsYWJsZVJhdGVzJ11bJ3Jvb21zJ11bbnVtYmVyXVsnYWNjZXB0ZWRDYXJkcyddW251bWJlcl07XG4gIGV4cG9ydCB0eXBlIFBheW1lbnRUeXBlcyA9IEdldENvbmZlcm1hUXVpY2tsaXN0UXVlcnlbJ2dldENvbmZlcm1hUXVpY2tsaXN0J11bJ3Jlc3VsdHMnXVtudW1iZXJdWydhdmFpbGFibGVSYXRlcyddWydyb29tcyddW251bWJlcl1bJ3BheW1lbnRUeXBlcyddW251bWJlcl07XG4gIGV4cG9ydCB0eXBlIEVycm9ycyA9IEdldENvbmZlcm1hUXVpY2tsaXN0UXVlcnlbJ2dldENvbmZlcm1hUXVpY2tsaXN0J11bJ2Vycm9ycyddW251bWJlcl07XG59XG5cbmV4cG9ydCBuYW1lc3BhY2UgR2V0SXJsU3VwcGxpZXJTdGF0aW9uIHtcbiAgZXhwb3J0IHR5cGUgVmFyaWFibGVzID0gR2V0SXJsU3VwcGxpZXJTdGF0aW9uUXVlcnlWYXJpYWJsZXM7XG4gIGV4cG9ydCB0eXBlIFF1ZXJ5ID0gR2V0SXJsU3VwcGxpZXJTdGF0aW9uUXVlcnk7XG4gIGV4cG9ydCB0eXBlIEdldElybFN1cHBsaWVyU3RhdGlvbiA9IEdldElybFN1cHBsaWVyU3RhdGlvblF1ZXJ5WydnZXRJUkxTdXBwbGllclN0YXRpb24nXTtcbiAgZXhwb3J0IHR5cGUgTG9jYXRpb25EZXRhaWxzID0gR2V0SXJsU3VwcGxpZXJTdGF0aW9uUXVlcnlbJ2dldElSTFN1cHBsaWVyU3RhdGlvbiddWydsb2NhdGlvbkRldGFpbHMnXTtcbiAgZXhwb3J0IHR5cGUgQ29vcmRpbmF0ZXMgPSBHZXRJcmxTdXBwbGllclN0YXRpb25RdWVyeVsnZ2V0SVJMU3VwcGxpZXJTdGF0aW9uJ11bJ2xvY2F0aW9uRGV0YWlscyddWydjb29yZGluYXRlcyddO1xufVxuXG5leHBvcnQgbmFtZXNwYWNlIEdldFJhaWxTdGF0aW9uIHtcbiAgZXhwb3J0IHR5cGUgVmFyaWFibGVzID0gR2V0UmFpbFN0YXRpb25RdWVyeVZhcmlhYmxlcztcbiAgZXhwb3J0IHR5cGUgUXVlcnkgPSBHZXRSYWlsU3RhdGlvblF1ZXJ5O1xuICBleHBvcnQgdHlwZSBHZXRSYWlsU3RhdGlvbiA9IEdldFJhaWxTdGF0aW9uUXVlcnlbJ2dldFJhaWxTdGF0aW9uJ107XG4gIGV4cG9ydCB0eXBlIExvY2F0aW9uRGV0YWlscyA9IEdldFJhaWxTdGF0aW9uUXVlcnlbJ2dldFJhaWxTdGF0aW9uJ11bJ2xvY2F0aW9uRGV0YWlscyddO1xuICBleHBvcnQgdHlwZSBDb29yZGluYXRlcyA9IEdldFJhaWxTdGF0aW9uUXVlcnlbJ2dldFJhaWxTdGF0aW9uJ11bJ2xvY2F0aW9uRGV0YWlscyddWydjb29yZGluYXRlcyddO1xufVxuXG5leHBvcnQgbmFtZXNwYWNlIEdldFJhaWxjYXJkcyB7XG4gIGV4cG9ydCB0eXBlIFZhcmlhYmxlcyA9IEdldFJhaWxjYXJkc1F1ZXJ5VmFyaWFibGVzO1xuICBleHBvcnQgdHlwZSBRdWVyeSA9IEdldFJhaWxjYXJkc1F1ZXJ5O1xuICBleHBvcnQgdHlwZSBHZXRSYWlsY2FyZHMgPSBHZXRSYWlsY2FyZHNRdWVyeVsnZ2V0UmFpbGNhcmRzJ11bbnVtYmVyXTtcbn1cblxuZXhwb3J0IG5hbWVzcGFjZSBHZXRSaXNrQWxlcnRzIHtcbiAgZXhwb3J0IHR5cGUgVmFyaWFibGVzID0gR2V0Umlza0FsZXJ0c1F1ZXJ5VmFyaWFibGVzO1xuICBleHBvcnQgdHlwZSBRdWVyeSA9IEdldFJpc2tBbGVydHNRdWVyeTtcbiAgZXhwb3J0IHR5cGUgR2V0Umlza0FsZXJ0cyA9IEdldFJpc2tBbGVydHNRdWVyeVsnZ2V0Umlza0FsZXJ0cyddW251bWJlcl07XG59XG5cbmV4cG9ydCBuYW1lc3BhY2UgR2V0VXNlckFkZHJlc3NlcyB7XG4gIGV4cG9ydCB0eXBlIFZhcmlhYmxlcyA9IEdldFVzZXJBZGRyZXNzZXNRdWVyeVZhcmlhYmxlcztcbiAgZXhwb3J0IHR5cGUgUXVlcnkgPSBHZXRVc2VyQWRkcmVzc2VzUXVlcnk7XG4gIGV4cG9ydCB0eXBlIEdldFVzZXJBZGRyZXNzZXMgPSBHZXRVc2VyQWRkcmVzc2VzUXVlcnlbJ2dldFVzZXJBZGRyZXNzZXMnXVtudW1iZXJdO1xufVxuXG5leHBvcnQgbmFtZXNwYWNlIEdldFVzZXJDb21wYW55T2ZmaWNlcyB7XG4gIGV4cG9ydCB0eXBlIFZhcmlhYmxlcyA9IEdldFVzZXJDb21wYW55T2ZmaWNlc1F1ZXJ5VmFyaWFibGVzO1xuICBleHBvcnQgdHlwZSBRdWVyeSA9IEdldFVzZXJDb21wYW55T2ZmaWNlc1F1ZXJ5O1xuICBleHBvcnQgdHlwZSBHZXRVc2VyQ29tcGFueU9mZmljZXMgPSBHZXRVc2VyQ29tcGFueU9mZmljZXNRdWVyeVsnZ2V0VXNlckNvbXBhbnlPZmZpY2VzJ11bbnVtYmVyXTtcbiAgZXhwb3J0IHR5cGUgQWRkcmVzc2VzID0gR2V0VXNlckNvbXBhbnlPZmZpY2VzUXVlcnlbJ2dldFVzZXJDb21wYW55T2ZmaWNlcyddW251bWJlcl1bJ2FkZHJlc3NlcyddW251bWJlcl07XG59XG5cbmV4cG9ydCBuYW1lc3BhY2UgR2V0VXNlckN1cnJlbnRDYXJib25BbGxvd2FuY2Uge1xuICBleHBvcnQgdHlwZSBWYXJpYWJsZXMgPSBHZXRVc2VyQ3VycmVudENhcmJvbkFsbG93YW5jZVF1ZXJ5VmFyaWFibGVzO1xuICBleHBvcnQgdHlwZSBRdWVyeSA9IEdldFVzZXJDdXJyZW50Q2FyYm9uQWxsb3dhbmNlUXVlcnk7XG4gIGV4cG9ydCB0eXBlIEdldFVzZXJDdXJyZW50Q2FyYm9uQWxsb3dhbmNlID0gR2V0VXNlckN1cnJlbnRDYXJib25BbGxvd2FuY2VRdWVyeVsnZ2V0VXNlckN1cnJlbnRDYXJib25BbGxvd2FuY2UnXTtcbiAgZXhwb3J0IHR5cGUgQ29tcGFueSA9IEdldFVzZXJDdXJyZW50Q2FyYm9uQWxsb3dhbmNlUXVlcnlbJ2dldFVzZXJDdXJyZW50Q2FyYm9uQWxsb3dhbmNlJ11bJ2NvbXBhbnknXTtcbiAgZXhwb3J0IHR5cGUgT2ZmaWNlID0gR2V0VXNlckN1cnJlbnRDYXJib25BbGxvd2FuY2VRdWVyeVsnZ2V0VXNlckN1cnJlbnRDYXJib25BbGxvd2FuY2UnXVsnb2ZmaWNlJ107XG4gIGV4cG9ydCB0eXBlIFVzZXIgPSBHZXRVc2VyQ3VycmVudENhcmJvbkFsbG93YW5jZVF1ZXJ5WydnZXRVc2VyQ3VycmVudENhcmJvbkFsbG93YW5jZSddWyd1c2VyJ107XG4gIGV4cG9ydCB0eXBlIFBlcmlvZENvbnN1bXB0aW9uID0gR2V0VXNlckN1cnJlbnRDYXJib25BbGxvd2FuY2VRdWVyeVsnZ2V0VXNlckN1cnJlbnRDYXJib25BbGxvd2FuY2UnXVsncGVyaW9kQ29uc3VtcHRpb24nXVtudW1iZXJdO1xufVxuXG5leHBvcnQgbmFtZXNwYWNlIEdldFVzZXJNaUF1dG9TdWdnZXN0VmFsdWVzIHtcbiAgZXhwb3J0IHR5cGUgVmFyaWFibGVzID0gR2V0VXNlck1pQXV0b1N1Z2dlc3RWYWx1ZXNRdWVyeVZhcmlhYmxlcztcbiAgZXhwb3J0IHR5cGUgUXVlcnkgPSBHZXRVc2VyTWlBdXRvU3VnZ2VzdFZhbHVlc1F1ZXJ5O1xuICBleHBvcnQgdHlwZSBHZXRVc2VyTWlBdXRvU3VnZ2VzdFZhbHVlcyA9IEdldFVzZXJNaUF1dG9TdWdnZXN0VmFsdWVzUXVlcnlbJ2dldFVzZXJNSUF1dG9TdWdnZXN0VmFsdWVzJ11bbnVtYmVyXTtcbn1cblxuZXhwb3J0IG5hbWVzcGFjZSBHZXRVc2VyUGhvbmUge1xuICBleHBvcnQgdHlwZSBWYXJpYWJsZXMgPSBHZXRVc2VyUGhvbmVRdWVyeVZhcmlhYmxlcztcbiAgZXhwb3J0IHR5cGUgUXVlcnkgPSBHZXRVc2VyUGhvbmVRdWVyeTtcbiAgZXhwb3J0IHR5cGUgR2V0VXNlclBob25lTnVtYmVycyA9IEdldFVzZXJQaG9uZVF1ZXJ5WydnZXRVc2VyUGhvbmVOdW1iZXJzJ11bbnVtYmVyXTtcbn1cblxuZXhwb3J0IG5hbWVzcGFjZSBHZXRVc2VyUmVjZW50U2VhcmNoZXMge1xuICBleHBvcnQgdHlwZSBWYXJpYWJsZXMgPSBHZXRVc2VyUmVjZW50U2VhcmNoZXNRdWVyeVZhcmlhYmxlcztcbiAgZXhwb3J0IHR5cGUgUXVlcnkgPSBHZXRVc2VyUmVjZW50U2VhcmNoZXNRdWVyeTtcbiAgZXhwb3J0IHR5cGUgR2V0VXNlclJlY2VudFNlYXJjaGVzID0gR2V0VXNlclJlY2VudFNlYXJjaGVzUXVlcnlbJ2dldFVzZXJSZWNlbnRTZWFyY2hlcyddW251bWJlcl07XG4gIGV4cG9ydCB0eXBlIFRyYXZlbGxlcnMgPSBHZXRVc2VyUmVjZW50U2VhcmNoZXNRdWVyeVsnZ2V0VXNlclJlY2VudFNlYXJjaGVzJ11bbnVtYmVyXVsndHJhdmVsbGVycyddW251bWJlcl07XG59XG5cbmV4cG9ydCBuYW1lc3BhY2UgU2VhcmNoSG90ZWxzIHtcbiAgZXhwb3J0IHR5cGUgVmFyaWFibGVzID0gU2VhcmNoSG90ZWxzUXVlcnlWYXJpYWJsZXM7XG4gIGV4cG9ydCB0eXBlIFF1ZXJ5ID0gU2VhcmNoSG90ZWxzUXVlcnk7XG4gIGV4cG9ydCB0eXBlIFNlYXJjaEhvdGVscyA9IFNlYXJjaEhvdGVsc1F1ZXJ5WydzZWFyY2hIb3RlbHMnXTtcbiAgZXhwb3J0IHR5cGUgUmVzdWx0cyA9IFNlYXJjaEhvdGVsc1F1ZXJ5WydzZWFyY2hIb3RlbHMnXVsncmVzdWx0cyddW251bWJlcl07XG4gIGV4cG9ydCB0eXBlIExvY2F0aW9uID0gU2VhcmNoSG90ZWxzUXVlcnlbJ3NlYXJjaEhvdGVscyddWydyZXN1bHRzJ11bbnVtYmVyXVsnbG9jYXRpb24nXTtcbiAgZXhwb3J0IHR5cGUgQWRkcmVzcyA9IFNlYXJjaEhvdGVsc1F1ZXJ5WydzZWFyY2hIb3RlbHMnXVsncmVzdWx0cyddW251bWJlcl1bJ2FkZHJlc3MnXTtcbiAgZXhwb3J0IHR5cGUgVHJhbnNwb3J0cyA9IFNlYXJjaEhvdGVsc1F1ZXJ5WydzZWFyY2hIb3RlbHMnXVsncmVzdWx0cyddW251bWJlcl1bJ3RyYW5zcG9ydHMnXVtudW1iZXJdO1xuICBleHBvcnQgdHlwZSBQcmVmZXJyZWQgPSBTZWFyY2hIb3RlbHNRdWVyeVsnc2VhcmNoSG90ZWxzJ11bJ3Jlc3VsdHMnXVtudW1iZXJdWydwcmVmZXJyZWQnXTtcbiAgZXhwb3J0IHR5cGUgVGFncyA9IFNlYXJjaEhvdGVsc1F1ZXJ5WydzZWFyY2hIb3RlbHMnXVsncmVzdWx0cyddW251bWJlcl1bJ3RhZ3MnXVtudW1iZXJdO1xuICBleHBvcnQgdHlwZSBBdmFpbGFibGVSYXRlcyA9IFNlYXJjaEhvdGVsc1F1ZXJ5WydzZWFyY2hIb3RlbHMnXVsncmVzdWx0cyddW251bWJlcl1bJ2F2YWlsYWJsZVJhdGVzJ107XG4gIGV4cG9ydCB0eXBlIFJvb21zID0gU2VhcmNoSG90ZWxzUXVlcnlbJ3NlYXJjaEhvdGVscyddWydyZXN1bHRzJ11bbnVtYmVyXVsnYXZhaWxhYmxlUmF0ZXMnXVsncm9vbXMnXVtudW1iZXJdO1xuICBleHBvcnQgdHlwZSBDdXJyZW5jeUNvbnZlcnNpb24gPSBTZWFyY2hIb3RlbHNRdWVyeVsnc2VhcmNoSG90ZWxzJ11bJ3Jlc3VsdHMnXVtudW1iZXJdWydhdmFpbGFibGVSYXRlcyddWydyb29tcyddW251bWJlcl1bJ2N1cnJlbmN5Q29udmVyc2lvbiddO1xuICBleHBvcnQgdHlwZSBEZXBvc2l0ID0gU2VhcmNoSG90ZWxzUXVlcnlbJ3NlYXJjaEhvdGVscyddWydyZXN1bHRzJ11bbnVtYmVyXVsnYXZhaWxhYmxlUmF0ZXMnXVsncm9vbXMnXVtudW1iZXJdWydkZXBvc2l0J107XG4gIGV4cG9ydCB0eXBlIE5pZ2h0cyA9IFNlYXJjaEhvdGVsc1F1ZXJ5WydzZWFyY2hIb3RlbHMnXVsncmVzdWx0cyddW251bWJlcl1bJ2F2YWlsYWJsZVJhdGVzJ11bJ3Jvb21zJ11bbnVtYmVyXVsnbmlnaHRzJ11bbnVtYmVyXTtcbiAgZXhwb3J0IHR5cGUgUG9saWNpZXMgPSBTZWFyY2hIb3RlbHNRdWVyeVsnc2VhcmNoSG90ZWxzJ11bJ3Jlc3VsdHMnXVtudW1iZXJdWydhdmFpbGFibGVSYXRlcyddWydyb29tcyddW251bWJlcl1bJ3BvbGljaWVzJ107XG4gIGV4cG9ydCB0eXBlIFRheCA9IFNlYXJjaEhvdGVsc1F1ZXJ5WydzZWFyY2hIb3RlbHMnXVsncmVzdWx0cyddW251bWJlcl1bJ2F2YWlsYWJsZVJhdGVzJ11bJ3Jvb21zJ11bbnVtYmVyXVsndGF4J107XG4gIGV4cG9ydCB0eXBlIEFjY2VwdGVkQ2FyZHMgPSBTZWFyY2hIb3RlbHNRdWVyeVsnc2VhcmNoSG90ZWxzJ11bJ3Jlc3VsdHMnXVtudW1iZXJdWydhdmFpbGFibGVSYXRlcyddWydyb29tcyddW251bWJlcl1bJ2FjY2VwdGVkQ2FyZHMnXVtudW1iZXJdO1xuICBleHBvcnQgdHlwZSBQYXltZW50VHlwZXMgPSBTZWFyY2hIb3RlbHNRdWVyeVsnc2VhcmNoSG90ZWxzJ11bJ3Jlc3VsdHMnXVtudW1iZXJdWydhdmFpbGFibGVSYXRlcyddWydyb29tcyddW251bWJlcl1bJ3BheW1lbnRUeXBlcyddW251bWJlcl07XG4gIGV4cG9ydCB0eXBlIEVycm9ycyA9IFNlYXJjaEhvdGVsc1F1ZXJ5WydzZWFyY2hIb3RlbHMnXVsnZXJyb3JzJ11bbnVtYmVyXTtcbiAgZXhwb3J0IHR5cGUgU2VydmljZSA9IFNlYXJjaEhvdGVsc1F1ZXJ5WydzZWFyY2hIb3RlbHMnXVsnZXJyb3JzJ11bbnVtYmVyXVsnc2VydmljZSddO1xufVxuXG5leHBvcnQgbmFtZXNwYWNlIEdldE11bHRpcGxlSG90ZWxzQXZhaWxhYmlsaXR5IHtcbiAgZXhwb3J0IHR5cGUgVmFyaWFibGVzID0gR2V0TXVsdGlwbGVIb3RlbHNBdmFpbGFiaWxpdHlRdWVyeVZhcmlhYmxlcztcbiAgZXhwb3J0IHR5cGUgUXVlcnkgPSBHZXRNdWx0aXBsZUhvdGVsc0F2YWlsYWJpbGl0eVF1ZXJ5O1xuICBleHBvcnQgdHlwZSBHZXRNdWx0aXBsZUhvdGVsc0F2YWlsYWJpbGl0eSA9IEdldE11bHRpcGxlSG90ZWxzQXZhaWxhYmlsaXR5UXVlcnlbJ2dldE11bHRpcGxlSG90ZWxzQXZhaWxhYmlsaXR5J107XG4gIGV4cG9ydCB0eXBlIFJlc3VsdHMgPSBHZXRNdWx0aXBsZUhvdGVsc0F2YWlsYWJpbGl0eVF1ZXJ5WydnZXRNdWx0aXBsZUhvdGVsc0F2YWlsYWJpbGl0eSddWydyZXN1bHRzJ11bbnVtYmVyXTtcbiAgZXhwb3J0IHR5cGUgUm9vbXMgPSBHZXRNdWx0aXBsZUhvdGVsc0F2YWlsYWJpbGl0eVF1ZXJ5WydnZXRNdWx0aXBsZUhvdGVsc0F2YWlsYWJpbGl0eSddWydyZXN1bHRzJ11bbnVtYmVyXVsncm9vbXMnXVtudW1iZXJdO1xuICBleHBvcnQgdHlwZSBDdXJyZW5jeUNvbnZlcnNpb24gPSBHZXRNdWx0aXBsZUhvdGVsc0F2YWlsYWJpbGl0eVF1ZXJ5WydnZXRNdWx0aXBsZUhvdGVsc0F2YWlsYWJpbGl0eSddWydyZXN1bHRzJ11bbnVtYmVyXVsncm9vbXMnXVtudW1iZXJdWydjdXJyZW5jeUNvbnZlcnNpb24nXTtcbiAgZXhwb3J0IHR5cGUgRGVwb3NpdCA9IEdldE11bHRpcGxlSG90ZWxzQXZhaWxhYmlsaXR5UXVlcnlbJ2dldE11bHRpcGxlSG90ZWxzQXZhaWxhYmlsaXR5J11bJ3Jlc3VsdHMnXVtudW1iZXJdWydyb29tcyddW251bWJlcl1bJ2RlcG9zaXQnXTtcbiAgZXhwb3J0IHR5cGUgTmlnaHRzID0gR2V0TXVsdGlwbGVIb3RlbHNBdmFpbGFiaWxpdHlRdWVyeVsnZ2V0TXVsdGlwbGVIb3RlbHNBdmFpbGFiaWxpdHknXVsncmVzdWx0cyddW251bWJlcl1bJ3Jvb21zJ11bbnVtYmVyXVsnbmlnaHRzJ11bbnVtYmVyXTtcbiAgZXhwb3J0IHR5cGUgUG9saWNpZXMgPSBHZXRNdWx0aXBsZUhvdGVsc0F2YWlsYWJpbGl0eVF1ZXJ5WydnZXRNdWx0aXBsZUhvdGVsc0F2YWlsYWJpbGl0eSddWydyZXN1bHRzJ11bbnVtYmVyXVsncm9vbXMnXVtudW1iZXJdWydwb2xpY2llcyddO1xuICBleHBvcnQgdHlwZSBUYXggPSBHZXRNdWx0aXBsZUhvdGVsc0F2YWlsYWJpbGl0eVF1ZXJ5WydnZXRNdWx0aXBsZUhvdGVsc0F2YWlsYWJpbGl0eSddWydyZXN1bHRzJ11bbnVtYmVyXVsncm9vbXMnXVtudW1iZXJdWyd0YXgnXTtcbiAgZXhwb3J0IHR5cGUgQWNjZXB0ZWRDYXJkcyA9IEdldE11bHRpcGxlSG90ZWxzQXZhaWxhYmlsaXR5UXVlcnlbJ2dldE11bHRpcGxlSG90ZWxzQXZhaWxhYmlsaXR5J11bJ3Jlc3VsdHMnXVtudW1iZXJdWydyb29tcyddW251bWJlcl1bJ2FjY2VwdGVkQ2FyZHMnXVtudW1iZXJdO1xuICBleHBvcnQgdHlwZSBQYXltZW50VHlwZXMgPSBHZXRNdWx0aXBsZUhvdGVsc0F2YWlsYWJpbGl0eVF1ZXJ5WydnZXRNdWx0aXBsZUhvdGVsc0F2YWlsYWJpbGl0eSddWydyZXN1bHRzJ11bbnVtYmVyXVsncm9vbXMnXVtudW1iZXJdWydwYXltZW50VHlwZXMnXVtudW1iZXJdO1xuICBleHBvcnQgdHlwZSBFcnJvcnMgPSBHZXRNdWx0aXBsZUhvdGVsc0F2YWlsYWJpbGl0eVF1ZXJ5WydnZXRNdWx0aXBsZUhvdGVsc0F2YWlsYWJpbGl0eSddWydlcnJvcnMnXVtudW1iZXJdO1xufVxuXG5leHBvcnQgbmFtZXNwYWNlIElzUG9zdGNvZGVWYWxpZCB7XG4gIGV4cG9ydCB0eXBlIFZhcmlhYmxlcyA9IElzUG9zdGNvZGVWYWxpZFF1ZXJ5VmFyaWFibGVzO1xuICBleHBvcnQgdHlwZSBRdWVyeSA9IElzUG9zdGNvZGVWYWxpZFF1ZXJ5O1xufVxuXG5leHBvcnQgbmFtZXNwYWNlIExvY2F0aW9uX0RldGFpbCB7XG4gIGV4cG9ydCB0eXBlIEZyYWdtZW50ID0gTG9jYXRpb25fRGV0YWlsRnJhZ21lbnQ7XG4gIGV4cG9ydCB0eXBlIENvb3JkaW5hdGVzID0gTG9jYXRpb25fRGV0YWlsRnJhZ21lbnRbJ2Nvb3JkaW5hdGVzJ107XG59XG5cbmV4cG9ydCBuYW1lc3BhY2UgU2VhcmNoQWlycG9ydHMge1xuICBleHBvcnQgdHlwZSBWYXJpYWJsZXMgPSBTZWFyY2hBaXJwb3J0c1F1ZXJ5VmFyaWFibGVzO1xuICBleHBvcnQgdHlwZSBRdWVyeSA9IFNlYXJjaEFpcnBvcnRzUXVlcnk7XG4gIGV4cG9ydCB0eXBlIFNlYXJjaEFpcnBvcnRzID0gU2VhcmNoQWlycG9ydHNRdWVyeVsnc2VhcmNoQWlycG9ydHMnXTtcbiAgZXhwb3J0IHR5cGUgSWF0YU1hdGNoID0gU2VhcmNoQWlycG9ydHNRdWVyeVsnc2VhcmNoQWlycG9ydHMnXVsnaWF0YU1hdGNoJ107XG4gIGV4cG9ydCB0eXBlIExvY2F0aW9uRGV0YWlscyA9IFNlYXJjaEFpcnBvcnRzUXVlcnlbJ3NlYXJjaEFpcnBvcnRzJ11bJ2lhdGFNYXRjaCddWydsb2NhdGlvbkRldGFpbHMnXTtcbiAgZXhwb3J0IHR5cGUgR2VuZXJhbE1hdGNoZXMgPSBTZWFyY2hBaXJwb3J0c1F1ZXJ5WydzZWFyY2hBaXJwb3J0cyddWydnZW5lcmFsTWF0Y2hlcyddW251bWJlcl07XG4gIGV4cG9ydCB0eXBlIF9Mb2NhdGlvbkRldGFpbHMgPSBTZWFyY2hBaXJwb3J0c1F1ZXJ5WydzZWFyY2hBaXJwb3J0cyddWydnZW5lcmFsTWF0Y2hlcyddW251bWJlcl1bJ2xvY2F0aW9uRGV0YWlscyddO1xufVxuXG5leHBvcnQgbmFtZXNwYWNlIFNlYXJjaExvdW5nZXMge1xuICBleHBvcnQgdHlwZSBWYXJpYWJsZXMgPSBTZWFyY2hMb3VuZ2VzUXVlcnlWYXJpYWJsZXM7XG4gIGV4cG9ydCB0eXBlIFF1ZXJ5ID0gU2VhcmNoTG91bmdlc1F1ZXJ5O1xuICBleHBvcnQgdHlwZSBTZWFyY2hMb3VuZ2VzID0gU2VhcmNoTG91bmdlc1F1ZXJ5WydzZWFyY2hMb3VuZ2VzJ107XG4gIGV4cG9ydCB0eXBlIFJlc3VsdHMgPSBTZWFyY2hMb3VuZ2VzUXVlcnlbJ3NlYXJjaExvdW5nZXMnXVsncmVzdWx0cyddW251bWJlcl07XG4gIGV4cG9ydCB0eXBlIExvdW5nZSA9IFNlYXJjaExvdW5nZXNRdWVyeVsnc2VhcmNoTG91bmdlcyddWydyZXN1bHRzJ11bbnVtYmVyXVsnbG91bmdlJ107XG4gIGV4cG9ydCB0eXBlIEVycm9ycyA9IFNlYXJjaExvdW5nZXNRdWVyeVsnc2VhcmNoTG91bmdlcyddWydlcnJvcnMnXVtudW1iZXJdO1xufVxuXG5leHBvcnQgbmFtZXNwYWNlIE1vdmVJdGVtVG9BRGlmZmVyZW50QmFza2V0IHtcbiAgZXhwb3J0IHR5cGUgVmFyaWFibGVzID0gTW92ZUl0ZW1Ub0FEaWZmZXJlbnRCYXNrZXRNdXRhdGlvblZhcmlhYmxlcztcbiAgZXhwb3J0IHR5cGUgTXV0YXRpb24gPSBNb3ZlSXRlbVRvQURpZmZlcmVudEJhc2tldE11dGF0aW9uO1xuICBleHBvcnQgdHlwZSBNb3ZlSXRlbVRvQURpZmZlcmVudEJhc2tldCA9IE1vdmVJdGVtVG9BRGlmZmVyZW50QmFza2V0TXV0YXRpb25bJ21vdmVJdGVtVG9BRGlmZmVyZW50QmFza2V0J107XG59XG5cbmV4cG9ydCBuYW1lc3BhY2UgU2VhcmNoUGFya2luZyB7XG4gIGV4cG9ydCB0eXBlIFZhcmlhYmxlcyA9IFNlYXJjaFBhcmtpbmdRdWVyeVZhcmlhYmxlcztcbiAgZXhwb3J0IHR5cGUgUXVlcnkgPSBTZWFyY2hQYXJraW5nUXVlcnk7XG4gIGV4cG9ydCB0eXBlIFNlYXJjaFBhcmtpbmcgPSBTZWFyY2hQYXJraW5nUXVlcnlbJ3NlYXJjaFBhcmtpbmcnXTtcbiAgZXhwb3J0IHR5cGUgUmVzdWx0cyA9IFNlYXJjaFBhcmtpbmdRdWVyeVsnc2VhcmNoUGFya2luZyddWydyZXN1bHRzJ11bbnVtYmVyXTtcbiAgZXhwb3J0IHR5cGUgQ2FyUGFyayA9IFNlYXJjaFBhcmtpbmdRdWVyeVsnc2VhcmNoUGFya2luZyddWydyZXN1bHRzJ11bbnVtYmVyXVsnY2FyUGFyayddO1xuICBleHBvcnQgdHlwZSBFcnJvcnMgPSBTZWFyY2hQYXJraW5nUXVlcnlbJ3NlYXJjaFBhcmtpbmcnXVsnZXJyb3JzJ11bbnVtYmVyXTtcbn1cblxuZXhwb3J0IG5hbWVzcGFjZSBTZWFyY2hSYWlsIHtcbiAgZXhwb3J0IHR5cGUgVmFyaWFibGVzID0gU2VhcmNoUmFpbFF1ZXJ5VmFyaWFibGVzO1xuICBleHBvcnQgdHlwZSBRdWVyeSA9IFNlYXJjaFJhaWxRdWVyeTtcbiAgZXhwb3J0IHR5cGUgU2VhcmNoUmFpbCA9IFNlYXJjaFJhaWxRdWVyeVsnc2VhcmNoUmFpbCddO1xuICBleHBvcnQgdHlwZSBSZXN1bHRzID0gU2VhcmNoUmFpbFF1ZXJ5WydzZWFyY2hSYWlsJ11bJ3Jlc3VsdHMnXVtudW1iZXJdO1xuICBleHBvcnQgdHlwZSBPdXRib3VuZCA9IFNlYXJjaFJhaWxRdWVyeVsnc2VhcmNoUmFpbCddWydyZXN1bHRzJ11bbnVtYmVyXVsnb3V0Ym91bmQnXVtudW1iZXJdO1xuICBleHBvcnQgdHlwZSBJZGVudGlmaWVycyA9IFNlYXJjaFJhaWxRdWVyeVsnc2VhcmNoUmFpbCddWydyZXN1bHRzJ11bbnVtYmVyXVsnb3V0Ym91bmQnXVtudW1iZXJdWydpZGVudGlmaWVycyddO1xuICBleHBvcnQgdHlwZSBUcmF2ZWxsZXJzID0gU2VhcmNoUmFpbFF1ZXJ5WydzZWFyY2hSYWlsJ11bJ3Jlc3VsdHMnXVtudW1iZXJdWydvdXRib3VuZCddW251bWJlcl1bJ3RyYXZlbGxlcnMnXVtudW1iZXJdO1xuICBleHBvcnQgdHlwZSBTZWdtZW50cyA9IFNlYXJjaFJhaWxRdWVyeVsnc2VhcmNoUmFpbCddWydyZXN1bHRzJ11bbnVtYmVyXVsnb3V0Ym91bmQnXVtudW1iZXJdWydzZWdtZW50cyddW251bWJlcl07XG4gIGV4cG9ydCB0eXBlIFNlYXRQcmVmZXJlbmNlVHlwZXMgPSBTZWFyY2hSYWlsUXVlcnlbJ3NlYXJjaFJhaWwnXVsncmVzdWx0cyddW251bWJlcl1bJ291dGJvdW5kJ11bbnVtYmVyXVsnc2VnbWVudHMnXVtudW1iZXJdWydzZWF0UHJlZmVyZW5jZVR5cGVzJ11bbnVtYmVyXTtcbiAgZXhwb3J0IHR5cGUgU2VhdHMgPSBTZWFyY2hSYWlsUXVlcnlbJ3NlYXJjaFJhaWwnXVsncmVzdWx0cyddW251bWJlcl1bJ291dGJvdW5kJ11bbnVtYmVyXVsnc2VnbWVudHMnXVtudW1iZXJdWydzZWF0cyddW251bWJlcl07XG4gIGV4cG9ydCB0eXBlIENhbGxpbmdQb2ludHMgPSBTZWFyY2hSYWlsUXVlcnlbJ3NlYXJjaFJhaWwnXVsncmVzdWx0cyddW251bWJlcl1bJ291dGJvdW5kJ11bbnVtYmVyXVsnc2VnbWVudHMnXVtudW1iZXJdWydjYWxsaW5nUG9pbnRzJ11bbnVtYmVyXTtcbiAgZXhwb3J0IHR5cGUgUHJvdmlkZXJzID0gU2VhcmNoUmFpbFF1ZXJ5WydzZWFyY2hSYWlsJ11bJ3Jlc3VsdHMnXVtudW1iZXJdWydvdXRib3VuZCddW251bWJlcl1bJ3Byb3ZpZGVycyddW251bWJlcl07XG4gIGV4cG9ydCB0eXBlIENoZWFwZXN0VGlja2V0ID0gU2VhcmNoUmFpbFF1ZXJ5WydzZWFyY2hSYWlsJ11bJ3Jlc3VsdHMnXVtudW1iZXJdWydvdXRib3VuZCddW251bWJlcl1bJ3Byb3ZpZGVycyddW251bWJlcl1bJ2NoZWFwZXN0VGlja2V0J107XG4gIGV4cG9ydCB0eXBlIF9JZGVudGlmaWVycyA9IFNlYXJjaFJhaWxRdWVyeVsnc2VhcmNoUmFpbCddWydyZXN1bHRzJ11bbnVtYmVyXVsnb3V0Ym91bmQnXVtudW1iZXJdWydwcm92aWRlcnMnXVtudW1iZXJdWydjaGVhcGVzdFRpY2tldCddWydpZGVudGlmaWVycyddO1xuICBleHBvcnQgdHlwZSBUZXJtcyA9IFNlYXJjaFJhaWxRdWVyeVsnc2VhcmNoUmFpbCddWydyZXN1bHRzJ11bbnVtYmVyXVsnb3V0Ym91bmQnXVtudW1iZXJdWydwcm92aWRlcnMnXVtudW1iZXJdWydjaGVhcGVzdFRpY2tldCddWyd0ZXJtcyddO1xuICBleHBvcnQgdHlwZSBEeW5hbWljQ29uZGl0aW9ucyA9IFNlYXJjaFJhaWxRdWVyeVsnc2VhcmNoUmFpbCddWydyZXN1bHRzJ11bbnVtYmVyXVsnb3V0Ym91bmQnXVtudW1iZXJdWydwcm92aWRlcnMnXVtudW1iZXJdWydjaGVhcGVzdFRpY2tldCddWyd0ZXJtcyddWydkeW5hbWljQ29uZGl0aW9ucyddW251bWJlcl07XG4gIGV4cG9ydCB0eXBlIFRpY2tldHMgPSBTZWFyY2hSYWlsUXVlcnlbJ3NlYXJjaFJhaWwnXVsncmVzdWx0cyddW251bWJlcl1bJ291dGJvdW5kJ11bbnVtYmVyXVsncHJvdmlkZXJzJ11bbnVtYmVyXVsnY2hlYXBlc3RUaWNrZXQnXVsndGlja2V0cyddW251bWJlcl07XG4gIGV4cG9ydCB0eXBlIF9TZWdtZW50cyA9IFNlYXJjaFJhaWxRdWVyeVsnc2VhcmNoUmFpbCddWydyZXN1bHRzJ11bbnVtYmVyXVsnb3V0Ym91bmQnXVtudW1iZXJdWydwcm92aWRlcnMnXVtudW1iZXJdWydjaGVhcGVzdFRpY2tldCddWyd0aWNrZXRzJ11bbnVtYmVyXVsnc2VnbWVudHMnXVtudW1iZXJdO1xuICBleHBvcnQgdHlwZSBUaWNrZXRRdWV1ZUxpc3QgPSBTZWFyY2hSYWlsUXVlcnlbJ3NlYXJjaFJhaWwnXVsncmVzdWx0cyddW251bWJlcl1bJ291dGJvdW5kJ11bbnVtYmVyXVsncHJvdmlkZXJzJ11bbnVtYmVyXVsnY2hlYXBlc3RUaWNrZXQnXVsndGlja2V0UXVldWVMaXN0J11bbnVtYmVyXTtcbiAgZXhwb3J0IHR5cGUgQWNjb3VudHNMaXN0ID0gU2VhcmNoUmFpbFF1ZXJ5WydzZWFyY2hSYWlsJ11bJ3Jlc3VsdHMnXVtudW1iZXJdWydvdXRib3VuZCddW251bWJlcl1bJ3Byb3ZpZGVycyddW251bWJlcl1bJ2NoZWFwZXN0VGlja2V0J11bJ2FjY291bnRzTGlzdCddW251bWJlcl07XG4gIGV4cG9ydCB0eXBlIFRpY2tldE9wdGlvbnMgPSBTZWFyY2hSYWlsUXVlcnlbJ3NlYXJjaFJhaWwnXVsncmVzdWx0cyddW251bWJlcl1bJ291dGJvdW5kJ11bbnVtYmVyXVsncHJvdmlkZXJzJ11bbnVtYmVyXVsndGlja2V0T3B0aW9ucyddW251bWJlcl07XG4gIGV4cG9ydCB0eXBlIF9fSWRlbnRpZmllcnMgPSBTZWFyY2hSYWlsUXVlcnlbJ3NlYXJjaFJhaWwnXVsncmVzdWx0cyddW251bWJlcl1bJ291dGJvdW5kJ11bbnVtYmVyXVsncHJvdmlkZXJzJ11bbnVtYmVyXVsndGlja2V0T3B0aW9ucyddW251bWJlcl1bJ2lkZW50aWZpZXJzJ107XG4gIGV4cG9ydCB0eXBlIEFsbG93ZWRXaXRoID0gU2VhcmNoUmFpbFF1ZXJ5WydzZWFyY2hSYWlsJ11bJ3Jlc3VsdHMnXVtudW1iZXJdWydvdXRib3VuZCddW251bWJlcl1bJ3Byb3ZpZGVycyddW251bWJlcl1bJ3RpY2tldE9wdGlvbnMnXVtudW1iZXJdWydpZGVudGlmaWVycyddWydhbGxvd2VkV2l0aCddW251bWJlcl07XG4gIGV4cG9ydCB0eXBlIF9UZXJtcyA9IFNlYXJjaFJhaWxRdWVyeVsnc2VhcmNoUmFpbCddWydyZXN1bHRzJ11bbnVtYmVyXVsnb3V0Ym91bmQnXVtudW1iZXJdWydwcm92aWRlcnMnXVtudW1iZXJdWyd0aWNrZXRPcHRpb25zJ11bbnVtYmVyXVsndGVybXMnXTtcbiAgZXhwb3J0IHR5cGUgX1RpY2tldHMgPSBTZWFyY2hSYWlsUXVlcnlbJ3NlYXJjaFJhaWwnXVsncmVzdWx0cyddW251bWJlcl1bJ291dGJvdW5kJ11bbnVtYmVyXVsncHJvdmlkZXJzJ11bbnVtYmVyXVsndGlja2V0T3B0aW9ucyddW251bWJlcl1bJ3RpY2tldHMnXVtudW1iZXJdO1xuICBleHBvcnQgdHlwZSBfVGlja2V0UXVldWVMaXN0ID0gU2VhcmNoUmFpbFF1ZXJ5WydzZWFyY2hSYWlsJ11bJ3Jlc3VsdHMnXVtudW1iZXJdWydvdXRib3VuZCddW251bWJlcl1bJ3Byb3ZpZGVycyddW251bWJlcl1bJ3RpY2tldE9wdGlvbnMnXVtudW1iZXJdWyd0aWNrZXRRdWV1ZUxpc3QnXVtudW1iZXJdO1xuICBleHBvcnQgdHlwZSBfQWNjb3VudHNMaXN0ID0gU2VhcmNoUmFpbFF1ZXJ5WydzZWFyY2hSYWlsJ11bJ3Jlc3VsdHMnXVtudW1iZXJdWydvdXRib3VuZCddW251bWJlcl1bJ3Byb3ZpZGVycyddW251bWJlcl1bJ3RpY2tldE9wdGlvbnMnXVtudW1iZXJdWydhY2NvdW50c0xpc3QnXVtudW1iZXJdO1xuICBleHBvcnQgdHlwZSBCb29rZWRUaWNrZXQgPSBTZWFyY2hSYWlsUXVlcnlbJ3NlYXJjaFJhaWwnXVsncmVzdWx0cyddW251bWJlcl1bJ291dGJvdW5kJ11bbnVtYmVyXVsncHJvdmlkZXJzJ11bbnVtYmVyXVsnYm9va2VkVGlja2V0J107XG4gIGV4cG9ydCB0eXBlIF9fX0lkZW50aWZpZXJzID0gU2VhcmNoUmFpbFF1ZXJ5WydzZWFyY2hSYWlsJ11bJ3Jlc3VsdHMnXVtudW1iZXJdWydvdXRib3VuZCddW251bWJlcl1bJ3Byb3ZpZGVycyddW251bWJlcl1bJ2Jvb2tlZFRpY2tldCddWydpZGVudGlmaWVycyddO1xuICBleHBvcnQgdHlwZSBfX1Rlcm1zID0gU2VhcmNoUmFpbFF1ZXJ5WydzZWFyY2hSYWlsJ11bJ3Jlc3VsdHMnXVtudW1iZXJdWydvdXRib3VuZCddW251bWJlcl1bJ3Byb3ZpZGVycyddW251bWJlcl1bJ2Jvb2tlZFRpY2tldCddWyd0ZXJtcyddO1xuICBleHBvcnQgdHlwZSBfX1RpY2tldHMgPSBTZWFyY2hSYWlsUXVlcnlbJ3NlYXJjaFJhaWwnXVsncmVzdWx0cyddW251bWJlcl1bJ291dGJvdW5kJ11bbnVtYmVyXVsncHJvdmlkZXJzJ11bbnVtYmVyXVsnYm9va2VkVGlja2V0J11bJ3RpY2tldHMnXVtudW1iZXJdO1xuICBleHBvcnQgdHlwZSBfX1RpY2tldFF1ZXVlTGlzdCA9IFNlYXJjaFJhaWxRdWVyeVsnc2VhcmNoUmFpbCddWydyZXN1bHRzJ11bbnVtYmVyXVsnb3V0Ym91bmQnXVtudW1iZXJdWydwcm92aWRlcnMnXVtudW1iZXJdWydib29rZWRUaWNrZXQnXVsndGlja2V0UXVldWVMaXN0J11bbnVtYmVyXTtcbiAgZXhwb3J0IHR5cGUgX19BY2NvdW50c0xpc3QgPSBTZWFyY2hSYWlsUXVlcnlbJ3NlYXJjaFJhaWwnXVsncmVzdWx0cyddW251bWJlcl1bJ291dGJvdW5kJ11bbnVtYmVyXVsncHJvdmlkZXJzJ11bbnVtYmVyXVsnYm9va2VkVGlja2V0J11bJ2FjY291bnRzTGlzdCddW251bWJlcl07XG4gIGV4cG9ydCB0eXBlIFRpY2tldEV4dHJhcyA9IFNlYXJjaFJhaWxRdWVyeVsnc2VhcmNoUmFpbCddWydyZXN1bHRzJ11bbnVtYmVyXVsnb3V0Ym91bmQnXVtudW1iZXJdWyd0aWNrZXRFeHRyYXMnXVtudW1iZXJdO1xuICBleHBvcnQgdHlwZSBfX19fSWRlbnRpZmllcnMgPSBTZWFyY2hSYWlsUXVlcnlbJ3NlYXJjaFJhaWwnXVsncmVzdWx0cyddW251bWJlcl1bJ291dGJvdW5kJ11bbnVtYmVyXVsndGlja2V0RXh0cmFzJ11bbnVtYmVyXVsnaWRlbnRpZmllcnMnXTtcbiAgZXhwb3J0IHR5cGUgUGx1c0J1cyA9IFNlYXJjaFJhaWxRdWVyeVsnc2VhcmNoUmFpbCddWydyZXN1bHRzJ11bbnVtYmVyXVsnb3V0Ym91bmQnXVtudW1iZXJdWydwbHVzQnVzJ107XG4gIGV4cG9ydCB0eXBlIFJldHVybiA9IFNlYXJjaFJhaWxRdWVyeVsnc2VhcmNoUmFpbCddWydyZXN1bHRzJ11bbnVtYmVyXVsncmV0dXJuJ11bbnVtYmVyXTtcbiAgZXhwb3J0IHR5cGUgX19fX19JZGVudGlmaWVycyA9IFNlYXJjaFJhaWxRdWVyeVsnc2VhcmNoUmFpbCddWydyZXN1bHRzJ11bbnVtYmVyXVsncmV0dXJuJ11bbnVtYmVyXVsnaWRlbnRpZmllcnMnXTtcbiAgZXhwb3J0IHR5cGUgX1RyYXZlbGxlcnMgPSBTZWFyY2hSYWlsUXVlcnlbJ3NlYXJjaFJhaWwnXVsncmVzdWx0cyddW251bWJlcl1bJ3JldHVybiddW251bWJlcl1bJ3RyYXZlbGxlcnMnXVtudW1iZXJdO1xuICBleHBvcnQgdHlwZSBfX1NlZ21lbnRzID0gU2VhcmNoUmFpbFF1ZXJ5WydzZWFyY2hSYWlsJ11bJ3Jlc3VsdHMnXVtudW1iZXJdWydyZXR1cm4nXVtudW1iZXJdWydzZWdtZW50cyddW251bWJlcl07XG4gIGV4cG9ydCB0eXBlIF9DYWxsaW5nUG9pbnRzID0gU2VhcmNoUmFpbFF1ZXJ5WydzZWFyY2hSYWlsJ11bJ3Jlc3VsdHMnXVtudW1iZXJdWydyZXR1cm4nXVtudW1iZXJdWydzZWdtZW50cyddW251bWJlcl1bJ2NhbGxpbmdQb2ludHMnXVtudW1iZXJdO1xuICBleHBvcnQgdHlwZSBfUHJvdmlkZXJzID0gU2VhcmNoUmFpbFF1ZXJ5WydzZWFyY2hSYWlsJ11bJ3Jlc3VsdHMnXVtudW1iZXJdWydyZXR1cm4nXVtudW1iZXJdWydwcm92aWRlcnMnXVtudW1iZXJdO1xuICBleHBvcnQgdHlwZSBfQ2hlYXBlc3RUaWNrZXQgPSBTZWFyY2hSYWlsUXVlcnlbJ3NlYXJjaFJhaWwnXVsncmVzdWx0cyddW251bWJlcl1bJ3JldHVybiddW251bWJlcl1bJ3Byb3ZpZGVycyddW251bWJlcl1bJ2NoZWFwZXN0VGlja2V0J107XG4gIGV4cG9ydCB0eXBlIF9fX19fX0lkZW50aWZpZXJzID0gU2VhcmNoUmFpbFF1ZXJ5WydzZWFyY2hSYWlsJ11bJ3Jlc3VsdHMnXVtudW1iZXJdWydyZXR1cm4nXVtudW1iZXJdWydwcm92aWRlcnMnXVtudW1iZXJdWydjaGVhcGVzdFRpY2tldCddWydpZGVudGlmaWVycyddO1xuICBleHBvcnQgdHlwZSBfX19UZXJtcyA9IFNlYXJjaFJhaWxRdWVyeVsnc2VhcmNoUmFpbCddWydyZXN1bHRzJ11bbnVtYmVyXVsncmV0dXJuJ11bbnVtYmVyXVsncHJvdmlkZXJzJ11bbnVtYmVyXVsnY2hlYXBlc3RUaWNrZXQnXVsndGVybXMnXTtcbiAgZXhwb3J0IHR5cGUgX0R5bmFtaWNDb25kaXRpb25zID0gU2VhcmNoUmFpbFF1ZXJ5WydzZWFyY2hSYWlsJ11bJ3Jlc3VsdHMnXVtudW1iZXJdWydyZXR1cm4nXVtudW1iZXJdWydwcm92aWRlcnMnXVtudW1iZXJdWydjaGVhcGVzdFRpY2tldCddWyd0ZXJtcyddWydkeW5hbWljQ29uZGl0aW9ucyddW251bWJlcl07XG4gIGV4cG9ydCB0eXBlIF9fX1RpY2tldHMgPSBTZWFyY2hSYWlsUXVlcnlbJ3NlYXJjaFJhaWwnXVsncmVzdWx0cyddW251bWJlcl1bJ3JldHVybiddW251bWJlcl1bJ3Byb3ZpZGVycyddW251bWJlcl1bJ2NoZWFwZXN0VGlja2V0J11bJ3RpY2tldHMnXVtudW1iZXJdO1xuICBleHBvcnQgdHlwZSBfX19TZWdtZW50cyA9IFNlYXJjaFJhaWxRdWVyeVsnc2VhcmNoUmFpbCddWydyZXN1bHRzJ11bbnVtYmVyXVsncmV0dXJuJ11bbnVtYmVyXVsncHJvdmlkZXJzJ11bbnVtYmVyXVsnY2hlYXBlc3RUaWNrZXQnXVsndGlja2V0cyddW251bWJlcl1bJ3NlZ21lbnRzJ11bbnVtYmVyXTtcbiAgZXhwb3J0IHR5cGUgX19fVGlja2V0UXVldWVMaXN0ID0gU2VhcmNoUmFpbFF1ZXJ5WydzZWFyY2hSYWlsJ11bJ3Jlc3VsdHMnXVtudW1iZXJdWydyZXR1cm4nXVtudW1iZXJdWydwcm92aWRlcnMnXVtudW1iZXJdWydjaGVhcGVzdFRpY2tldCddWyd0aWNrZXRRdWV1ZUxpc3QnXVtudW1iZXJdO1xuICBleHBvcnQgdHlwZSBfX19BY2NvdW50c0xpc3QgPSBTZWFyY2hSYWlsUXVlcnlbJ3NlYXJjaFJhaWwnXVsncmVzdWx0cyddW251bWJlcl1bJ3JldHVybiddW251bWJlcl1bJ3Byb3ZpZGVycyddW251bWJlcl1bJ2NoZWFwZXN0VGlja2V0J11bJ2FjY291bnRzTGlzdCddW251bWJlcl07XG4gIGV4cG9ydCB0eXBlIF9UaWNrZXRPcHRpb25zID0gU2VhcmNoUmFpbFF1ZXJ5WydzZWFyY2hSYWlsJ11bJ3Jlc3VsdHMnXVtudW1iZXJdWydyZXR1cm4nXVtudW1iZXJdWydwcm92aWRlcnMnXVtudW1iZXJdWyd0aWNrZXRPcHRpb25zJ11bbnVtYmVyXTtcbiAgZXhwb3J0IHR5cGUgX19fX19fX0lkZW50aWZpZXJzID0gU2VhcmNoUmFpbFF1ZXJ5WydzZWFyY2hSYWlsJ11bJ3Jlc3VsdHMnXVtudW1iZXJdWydyZXR1cm4nXVtudW1iZXJdWydwcm92aWRlcnMnXVtudW1iZXJdWyd0aWNrZXRPcHRpb25zJ11bbnVtYmVyXVsnaWRlbnRpZmllcnMnXTtcbiAgZXhwb3J0IHR5cGUgX0FsbG93ZWRXaXRoID0gU2VhcmNoUmFpbFF1ZXJ5WydzZWFyY2hSYWlsJ11bJ3Jlc3VsdHMnXVtudW1iZXJdWydyZXR1cm4nXVtudW1iZXJdWydwcm92aWRlcnMnXVtudW1iZXJdWyd0aWNrZXRPcHRpb25zJ11bbnVtYmVyXVsnaWRlbnRpZmllcnMnXVsnYWxsb3dlZFdpdGgnXVtudW1iZXJdO1xuICBleHBvcnQgdHlwZSBfX19fVGVybXMgPSBTZWFyY2hSYWlsUXVlcnlbJ3NlYXJjaFJhaWwnXVsncmVzdWx0cyddW251bWJlcl1bJ3JldHVybiddW251bWJlcl1bJ3Byb3ZpZGVycyddW251bWJlcl1bJ3RpY2tldE9wdGlvbnMnXVtudW1iZXJdWyd0ZXJtcyddO1xuICBleHBvcnQgdHlwZSBfX19fVGlja2V0cyA9IFNlYXJjaFJhaWxRdWVyeVsnc2VhcmNoUmFpbCddWydyZXN1bHRzJ11bbnVtYmVyXVsncmV0dXJuJ11bbnVtYmVyXVsncHJvdmlkZXJzJ11bbnVtYmVyXVsndGlja2V0T3B0aW9ucyddW251bWJlcl1bJ3RpY2tldHMnXVtudW1iZXJdO1xuICBleHBvcnQgdHlwZSBfX19fVGlja2V0UXVldWVMaXN0ID0gU2VhcmNoUmFpbFF1ZXJ5WydzZWFyY2hSYWlsJ11bJ3Jlc3VsdHMnXVtudW1iZXJdWydyZXR1cm4nXVtudW1iZXJdWydwcm92aWRlcnMnXVtudW1iZXJdWyd0aWNrZXRPcHRpb25zJ11bbnVtYmVyXVsndGlja2V0UXVldWVMaXN0J11bbnVtYmVyXTtcbiAgZXhwb3J0IHR5cGUgX19fX0FjY291bnRzTGlzdCA9IFNlYXJjaFJhaWxRdWVyeVsnc2VhcmNoUmFpbCddWydyZXN1bHRzJ11bbnVtYmVyXVsncmV0dXJuJ11bbnVtYmVyXVsncHJvdmlkZXJzJ11bbnVtYmVyXVsndGlja2V0T3B0aW9ucyddW251bWJlcl1bJ2FjY291bnRzTGlzdCddW251bWJlcl07XG4gIGV4cG9ydCB0eXBlIF9Cb29rZWRUaWNrZXQgPSBTZWFyY2hSYWlsUXVlcnlbJ3NlYXJjaFJhaWwnXVsncmVzdWx0cyddW251bWJlcl1bJ3JldHVybiddW251bWJlcl1bJ3Byb3ZpZGVycyddW251bWJlcl1bJ2Jvb2tlZFRpY2tldCddO1xuICBleHBvcnQgdHlwZSBfX19fX19fX0lkZW50aWZpZXJzID0gU2VhcmNoUmFpbFF1ZXJ5WydzZWFyY2hSYWlsJ11bJ3Jlc3VsdHMnXVtudW1iZXJdWydyZXR1cm4nXVtudW1iZXJdWydwcm92aWRlcnMnXVtudW1iZXJdWydib29rZWRUaWNrZXQnXVsnaWRlbnRpZmllcnMnXTtcbiAgZXhwb3J0IHR5cGUgX19fX19UZXJtcyA9IFNlYXJjaFJhaWxRdWVyeVsnc2VhcmNoUmFpbCddWydyZXN1bHRzJ11bbnVtYmVyXVsncmV0dXJuJ11bbnVtYmVyXVsncHJvdmlkZXJzJ11bbnVtYmVyXVsnYm9va2VkVGlja2V0J11bJ3Rlcm1zJ107XG4gIGV4cG9ydCB0eXBlIF9fX19fVGlja2V0cyA9IFNlYXJjaFJhaWxRdWVyeVsnc2VhcmNoUmFpbCddWydyZXN1bHRzJ11bbnVtYmVyXVsncmV0dXJuJ11bbnVtYmVyXVsncHJvdmlkZXJzJ11bbnVtYmVyXVsnYm9va2VkVGlja2V0J11bJ3RpY2tldHMnXVtudW1iZXJdO1xuICBleHBvcnQgdHlwZSBfX19fX1RpY2tldFF1ZXVlTGlzdCA9IFNlYXJjaFJhaWxRdWVyeVsnc2VhcmNoUmFpbCddWydyZXN1bHRzJ11bbnVtYmVyXVsncmV0dXJuJ11bbnVtYmVyXVsncHJvdmlkZXJzJ11bbnVtYmVyXVsnYm9va2VkVGlja2V0J11bJ3RpY2tldFF1ZXVlTGlzdCddW251bWJlcl07XG4gIGV4cG9ydCB0eXBlIF9fX19fQWNjb3VudHNMaXN0ID0gU2VhcmNoUmFpbFF1ZXJ5WydzZWFyY2hSYWlsJ11bJ3Jlc3VsdHMnXVtudW1iZXJdWydyZXR1cm4nXVtudW1iZXJdWydwcm92aWRlcnMnXVtudW1iZXJdWydib29rZWRUaWNrZXQnXVsnYWNjb3VudHNMaXN0J11bbnVtYmVyXTtcbiAgZXhwb3J0IHR5cGUgX1RpY2tldEV4dHJhcyA9IFNlYXJjaFJhaWxRdWVyeVsnc2VhcmNoUmFpbCddWydyZXN1bHRzJ11bbnVtYmVyXVsncmV0dXJuJ11bbnVtYmVyXVsndGlja2V0RXh0cmFzJ11bbnVtYmVyXTtcbiAgZXhwb3J0IHR5cGUgX1BsdXNCdXMgPSBTZWFyY2hSYWlsUXVlcnlbJ3NlYXJjaFJhaWwnXVsncmVzdWx0cyddW251bWJlcl1bJ3JldHVybiddW251bWJlcl1bJ3BsdXNCdXMnXTtcbiAgZXhwb3J0IHR5cGUgRXJyb3JzID0gU2VhcmNoUmFpbFF1ZXJ5WydzZWFyY2hSYWlsJ11bJ2Vycm9ycyddW251bWJlcl07XG59XG5cbmV4cG9ydCBuYW1lc3BhY2UgU2F2ZVJlY2VudFNlYXJjaCB7XG4gIGV4cG9ydCB0eXBlIFZhcmlhYmxlcyA9IFNhdmVSZWNlbnRTZWFyY2hNdXRhdGlvblZhcmlhYmxlcztcbiAgZXhwb3J0IHR5cGUgTXV0YXRpb24gPSBTYXZlUmVjZW50U2VhcmNoTXV0YXRpb247XG4gIGV4cG9ydCB0eXBlIFNhdmVSZWNlbnRTZWFyY2ggPSBTYXZlUmVjZW50U2VhcmNoTXV0YXRpb25bJ3NhdmVSZWNlbnRTZWFyY2gnXVtudW1iZXJdO1xufVxuXG5leHBvcnQgbmFtZXNwYWNlIFNhdmVVc2VyQWRkcmVzcyB7XG4gIGV4cG9ydCB0eXBlIFZhcmlhYmxlcyA9IFNhdmVVc2VyQWRkcmVzc011dGF0aW9uVmFyaWFibGVzO1xuICBleHBvcnQgdHlwZSBNdXRhdGlvbiA9IFNhdmVVc2VyQWRkcmVzc011dGF0aW9uO1xuICBleHBvcnQgdHlwZSBTYXZlVXNlckFkZHJlc3MgPSBTYXZlVXNlckFkZHJlc3NNdXRhdGlvblsnc2F2ZVVzZXJBZGRyZXNzJ107XG59XG5cbmV4cG9ydCBuYW1lc3BhY2UgU2VhcmNoQWlybGluZXMge1xuICBleHBvcnQgdHlwZSBWYXJpYWJsZXMgPSBTZWFyY2hBaXJsaW5lc1F1ZXJ5VmFyaWFibGVzO1xuICBleHBvcnQgdHlwZSBRdWVyeSA9IFNlYXJjaEFpcmxpbmVzUXVlcnk7XG4gIGV4cG9ydCB0eXBlIFNlYXJjaEFpcmxpbmVzID0gU2VhcmNoQWlybGluZXNRdWVyeVsnc2VhcmNoQWlybGluZXMnXTtcbiAgZXhwb3J0IHR5cGUgSWF0YU1hdGNoID0gU2VhcmNoQWlybGluZXNRdWVyeVsnc2VhcmNoQWlybGluZXMnXVsnaWF0YU1hdGNoJ107XG4gIGV4cG9ydCB0eXBlIEdlbmVyYWxNYXRjaGVzID0gU2VhcmNoQWlybGluZXNRdWVyeVsnc2VhcmNoQWlybGluZXMnXVsnZ2VuZXJhbE1hdGNoZXMnXVtudW1iZXJdO1xufVxuXG5leHBvcnQgbmFtZXNwYWNlIFNlYXJjaENpdGllcyB7XG4gIGV4cG9ydCB0eXBlIFZhcmlhYmxlcyA9IFNlYXJjaENpdGllc1F1ZXJ5VmFyaWFibGVzO1xuICBleHBvcnQgdHlwZSBRdWVyeSA9IFNlYXJjaENpdGllc1F1ZXJ5O1xuICBleHBvcnQgdHlwZSBTZWFyY2hDaXRpZXMgPSBTZWFyY2hDaXRpZXNRdWVyeVsnc2VhcmNoQ2l0aWVzJ11bbnVtYmVyXTtcbiAgZXhwb3J0IHR5cGUgQ29vcmRpbmF0ZXMgPSBTZWFyY2hDaXRpZXNRdWVyeVsnc2VhcmNoQ2l0aWVzJ11bbnVtYmVyXVsnY29vcmRpbmF0ZXMnXTtcbn1cblxuZXhwb3J0IG5hbWVzcGFjZSBTZWFyY2hDb25mZXJtYUNpdGllcyB7XG4gIGV4cG9ydCB0eXBlIFZhcmlhYmxlcyA9IFNlYXJjaENvbmZlcm1hQ2l0aWVzUXVlcnlWYXJpYWJsZXM7XG4gIGV4cG9ydCB0eXBlIFF1ZXJ5ID0gU2VhcmNoQ29uZmVybWFDaXRpZXNRdWVyeTtcbiAgZXhwb3J0IHR5cGUgU2VhcmNoQ29uZmVybWFDaXRpZXMgPSBTZWFyY2hDb25mZXJtYUNpdGllc1F1ZXJ5WydzZWFyY2hDb25mZXJtYUNpdGllcyddO1xuICBleHBvcnQgdHlwZSBTdWdnZXN0aW9ucyA9IFNlYXJjaENvbmZlcm1hQ2l0aWVzUXVlcnlbJ3NlYXJjaENvbmZlcm1hQ2l0aWVzJ11bJ3N1Z2dlc3Rpb25zJ11bbnVtYmVyXTtcbn1cblxuZXhwb3J0IG5hbWVzcGFjZSBTZWFyY2hFdXJvc3RhciB7XG4gIGV4cG9ydCB0eXBlIFZhcmlhYmxlcyA9IFNlYXJjaEV1cm9zdGFyUXVlcnlWYXJpYWJsZXM7XG4gIGV4cG9ydCB0eXBlIFF1ZXJ5ID0gU2VhcmNoRXVyb3N0YXJRdWVyeTtcbiAgZXhwb3J0IHR5cGUgU2VhcmNoRXVyb3N0YXIgPSBTZWFyY2hFdXJvc3RhclF1ZXJ5WydzZWFyY2hFdXJvc3RhciddO1xuICBleHBvcnQgdHlwZSBSZXN1bHRzID0gU2VhcmNoRXVyb3N0YXJRdWVyeVsnc2VhcmNoRXVyb3N0YXInXVsncmVzdWx0cyddO1xuICBleHBvcnQgdHlwZSBKb3VybmV5cyA9IFNlYXJjaEV1cm9zdGFyUXVlcnlbJ3NlYXJjaEV1cm9zdGFyJ11bJ3Jlc3VsdHMnXVsnam91cm5leXMnXVtudW1iZXJdO1xuICBleHBvcnQgdHlwZSBPdXRib3VuZEZsaWdodHMgPSBTZWFyY2hFdXJvc3RhclF1ZXJ5WydzZWFyY2hFdXJvc3RhciddWydyZXN1bHRzJ11bJ2pvdXJuZXlzJ11bbnVtYmVyXVsnb3V0Ym91bmRGbGlnaHRzJ11bbnVtYmVyXTtcbiAgZXhwb3J0IHR5cGUgRmFyZUluZm8gPSBTZWFyY2hFdXJvc3RhclF1ZXJ5WydzZWFyY2hFdXJvc3RhciddWydyZXN1bHRzJ11bJ2pvdXJuZXlzJ11bbnVtYmVyXVsnb3V0Ym91bmRGbGlnaHRzJ11bbnVtYmVyXVsnZmFyZUluZm8nXTtcbiAgZXhwb3J0IHR5cGUgT3JpZ2luQWlycG9ydERldGFpbCA9IFNlYXJjaEV1cm9zdGFyUXVlcnlbJ3NlYXJjaEV1cm9zdGFyJ11bJ3Jlc3VsdHMnXVsnam91cm5leXMnXVtudW1iZXJdWydvdXRib3VuZEZsaWdodHMnXVtudW1iZXJdWydvcmlnaW5BaXJwb3J0RGV0YWlsJ107XG4gIGV4cG9ydCB0eXBlIERlc3RpbmF0aW9uQWlycG9ydERldGFpbCA9IFNlYXJjaEV1cm9zdGFyUXVlcnlbJ3NlYXJjaEV1cm9zdGFyJ11bJ3Jlc3VsdHMnXVsnam91cm5leXMnXVtudW1iZXJdWydvdXRib3VuZEZsaWdodHMnXVtudW1iZXJdWydkZXN0aW5hdGlvbkFpcnBvcnREZXRhaWwnXTtcbiAgZXhwb3J0IHR5cGUgTWFya2V0aW5nQ2FycmllckRldGFpbCA9IFNlYXJjaEV1cm9zdGFyUXVlcnlbJ3NlYXJjaEV1cm9zdGFyJ11bJ3Jlc3VsdHMnXVsnam91cm5leXMnXVtudW1iZXJdWydvdXRib3VuZEZsaWdodHMnXVtudW1iZXJdWydtYXJrZXRpbmdDYXJyaWVyRGV0YWlsJ107XG4gIGV4cG9ydCB0eXBlIE9wZXJhdGluZ0NhcnJpZXJEZXRhaWwgPSBTZWFyY2hFdXJvc3RhclF1ZXJ5WydzZWFyY2hFdXJvc3RhciddWydyZXN1bHRzJ11bJ2pvdXJuZXlzJ11bbnVtYmVyXVsnb3V0Ym91bmRGbGlnaHRzJ11bbnVtYmVyXVsnb3BlcmF0aW5nQ2FycmllckRldGFpbCddO1xuICBleHBvcnQgdHlwZSBGYXJlQ29uZGl0aW9ucyA9IFNlYXJjaEV1cm9zdGFyUXVlcnlbJ3NlYXJjaEV1cm9zdGFyJ11bJ3Jlc3VsdHMnXVsnam91cm5leXMnXVtudW1iZXJdWydvdXRib3VuZEZsaWdodHMnXVtudW1iZXJdWydmYXJlQ29uZGl0aW9ucyddO1xuICBleHBvcnQgdHlwZSBDYW5jZWxsYXRpb24gPSBTZWFyY2hFdXJvc3RhclF1ZXJ5WydzZWFyY2hFdXJvc3RhciddWydyZXN1bHRzJ11bJ2pvdXJuZXlzJ11bbnVtYmVyXVsnb3V0Ym91bmRGbGlnaHRzJ11bbnVtYmVyXVsnZmFyZUNvbmRpdGlvbnMnXVsnY2FuY2VsbGF0aW9uJ11bbnVtYmVyXTtcbiAgZXhwb3J0IHR5cGUgQ2hhbmdlID0gU2VhcmNoRXVyb3N0YXJRdWVyeVsnc2VhcmNoRXVyb3N0YXInXVsncmVzdWx0cyddWydqb3VybmV5cyddW251bWJlcl1bJ291dGJvdW5kRmxpZ2h0cyddW251bWJlcl1bJ2ZhcmVDb25kaXRpb25zJ11bJ2NoYW5nZSddW251bWJlcl07XG4gIGV4cG9ydCB0eXBlIE5vU2hvdyA9IFNlYXJjaEV1cm9zdGFyUXVlcnlbJ3NlYXJjaEV1cm9zdGFyJ11bJ3Jlc3VsdHMnXVsnam91cm5leXMnXVtudW1iZXJdWydvdXRib3VuZEZsaWdodHMnXVtudW1iZXJdWydmYXJlQ29uZGl0aW9ucyddWydub1Nob3cnXVtudW1iZXJdO1xuICBleHBvcnQgdHlwZSBVcGdyYWRlID0gU2VhcmNoRXVyb3N0YXJRdWVyeVsnc2VhcmNoRXVyb3N0YXInXVsncmVzdWx0cyddWydqb3VybmV5cyddW251bWJlcl1bJ291dGJvdW5kRmxpZ2h0cyddW251bWJlcl1bJ2ZhcmVDb25kaXRpb25zJ11bJ3VwZ3JhZGUnXVtudW1iZXJdO1xuICBleHBvcnQgdHlwZSBPdGhlciA9IFNlYXJjaEV1cm9zdGFyUXVlcnlbJ3NlYXJjaEV1cm9zdGFyJ11bJ3Jlc3VsdHMnXVsnam91cm5leXMnXVtudW1iZXJdWydvdXRib3VuZEZsaWdodHMnXVtudW1iZXJdWydmYXJlQ29uZGl0aW9ucyddWydvdGhlciddW251bWJlcl07XG4gIGV4cG9ydCB0eXBlIEluYm91bmRGbGlnaHRzID0gU2VhcmNoRXVyb3N0YXJRdWVyeVsnc2VhcmNoRXVyb3N0YXInXVsncmVzdWx0cyddWydqb3VybmV5cyddW251bWJlcl1bJ2luYm91bmRGbGlnaHRzJ11bbnVtYmVyXTtcbiAgZXhwb3J0IHR5cGUgX0ZhcmVJbmZvID0gU2VhcmNoRXVyb3N0YXJRdWVyeVsnc2VhcmNoRXVyb3N0YXInXVsncmVzdWx0cyddWydqb3VybmV5cyddW251bWJlcl1bJ2luYm91bmRGbGlnaHRzJ11bbnVtYmVyXVsnZmFyZUluZm8nXTtcbiAgZXhwb3J0IHR5cGUgX09yaWdpbkFpcnBvcnREZXRhaWwgPSBTZWFyY2hFdXJvc3RhclF1ZXJ5WydzZWFyY2hFdXJvc3RhciddWydyZXN1bHRzJ11bJ2pvdXJuZXlzJ11bbnVtYmVyXVsnaW5ib3VuZEZsaWdodHMnXVtudW1iZXJdWydvcmlnaW5BaXJwb3J0RGV0YWlsJ107XG4gIGV4cG9ydCB0eXBlIF9EZXN0aW5hdGlvbkFpcnBvcnREZXRhaWwgPSBTZWFyY2hFdXJvc3RhclF1ZXJ5WydzZWFyY2hFdXJvc3RhciddWydyZXN1bHRzJ11bJ2pvdXJuZXlzJ11bbnVtYmVyXVsnaW5ib3VuZEZsaWdodHMnXVtudW1iZXJdWydkZXN0aW5hdGlvbkFpcnBvcnREZXRhaWwnXTtcbiAgZXhwb3J0IHR5cGUgX01hcmtldGluZ0NhcnJpZXJEZXRhaWwgPSBTZWFyY2hFdXJvc3RhclF1ZXJ5WydzZWFyY2hFdXJvc3RhciddWydyZXN1bHRzJ11bJ2pvdXJuZXlzJ11bbnVtYmVyXVsnaW5ib3VuZEZsaWdodHMnXVtudW1iZXJdWydtYXJrZXRpbmdDYXJyaWVyRGV0YWlsJ107XG4gIGV4cG9ydCB0eXBlIF9PcGVyYXRpbmdDYXJyaWVyRGV0YWlsID0gU2VhcmNoRXVyb3N0YXJRdWVyeVsnc2VhcmNoRXVyb3N0YXInXVsncmVzdWx0cyddWydqb3VybmV5cyddW251bWJlcl1bJ2luYm91bmRGbGlnaHRzJ11bbnVtYmVyXVsnb3BlcmF0aW5nQ2FycmllckRldGFpbCddO1xuICBleHBvcnQgdHlwZSBfRmFyZUNvbmRpdGlvbnMgPSBTZWFyY2hFdXJvc3RhclF1ZXJ5WydzZWFyY2hFdXJvc3RhciddWydyZXN1bHRzJ11bJ2pvdXJuZXlzJ11bbnVtYmVyXVsnaW5ib3VuZEZsaWdodHMnXVtudW1iZXJdWydmYXJlQ29uZGl0aW9ucyddO1xuICBleHBvcnQgdHlwZSBfQ2FuY2VsbGF0aW9uID0gU2VhcmNoRXVyb3N0YXJRdWVyeVsnc2VhcmNoRXVyb3N0YXInXVsncmVzdWx0cyddWydqb3VybmV5cyddW251bWJlcl1bJ2luYm91bmRGbGlnaHRzJ11bbnVtYmVyXVsnZmFyZUNvbmRpdGlvbnMnXVsnY2FuY2VsbGF0aW9uJ11bbnVtYmVyXTtcbiAgZXhwb3J0IHR5cGUgX0NoYW5nZSA9IFNlYXJjaEV1cm9zdGFyUXVlcnlbJ3NlYXJjaEV1cm9zdGFyJ11bJ3Jlc3VsdHMnXVsnam91cm5leXMnXVtudW1iZXJdWydpbmJvdW5kRmxpZ2h0cyddW251bWJlcl1bJ2ZhcmVDb25kaXRpb25zJ11bJ2NoYW5nZSddW251bWJlcl07XG4gIGV4cG9ydCB0eXBlIF9Ob1Nob3cgPSBTZWFyY2hFdXJvc3RhclF1ZXJ5WydzZWFyY2hFdXJvc3RhciddWydyZXN1bHRzJ11bJ2pvdXJuZXlzJ11bbnVtYmVyXVsnaW5ib3VuZEZsaWdodHMnXVtudW1iZXJdWydmYXJlQ29uZGl0aW9ucyddWydub1Nob3cnXVtudW1iZXJdO1xuICBleHBvcnQgdHlwZSBfVXBncmFkZSA9IFNlYXJjaEV1cm9zdGFyUXVlcnlbJ3NlYXJjaEV1cm9zdGFyJ11bJ3Jlc3VsdHMnXVsnam91cm5leXMnXVtudW1iZXJdWydpbmJvdW5kRmxpZ2h0cyddW251bWJlcl1bJ2ZhcmVDb25kaXRpb25zJ11bJ3VwZ3JhZGUnXVtudW1iZXJdO1xuICBleHBvcnQgdHlwZSBfT3RoZXIgPSBTZWFyY2hFdXJvc3RhclF1ZXJ5WydzZWFyY2hFdXJvc3RhciddWydyZXN1bHRzJ11bJ2pvdXJuZXlzJ11bbnVtYmVyXVsnaW5ib3VuZEZsaWdodHMnXVtudW1iZXJdWydmYXJlQ29uZGl0aW9ucyddWydvdGhlciddW251bWJlcl07XG4gIGV4cG9ydCB0eXBlIE91dGJvdW5kQ2FyYm9uRW1pc3Npb25zID0gU2VhcmNoRXVyb3N0YXJRdWVyeVsnc2VhcmNoRXVyb3N0YXInXVsncmVzdWx0cyddWydqb3VybmV5cyddW251bWJlcl1bJ291dGJvdW5kQ2FyYm9uRW1pc3Npb25zJ107XG4gIGV4cG9ydCB0eXBlIEluYm91bmRDYXJib25FbWlzc2lvbnMgPSBTZWFyY2hFdXJvc3RhclF1ZXJ5WydzZWFyY2hFdXJvc3RhciddWydyZXN1bHRzJ11bJ2pvdXJuZXlzJ11bbnVtYmVyXVsnaW5ib3VuZENhcmJvbkVtaXNzaW9ucyddO1xuICBleHBvcnQgdHlwZSBUYXhlcyA9IFNlYXJjaEV1cm9zdGFyUXVlcnlbJ3NlYXJjaEV1cm9zdGFyJ11bJ3Jlc3VsdHMnXVsnam91cm5leXMnXVtudW1iZXJdWyd0YXhlcyddW251bWJlcl07XG4gIGV4cG9ydCB0eXBlIERpc2NvdW50cyA9IFNlYXJjaEV1cm9zdGFyUXVlcnlbJ3NlYXJjaEV1cm9zdGFyJ11bJ3Jlc3VsdHMnXVsnam91cm5leXMnXVtudW1iZXJdWydkaXNjb3VudHMnXVtudW1iZXJdO1xuICBleHBvcnQgdHlwZSBUb3RhbCA9IFNlYXJjaEV1cm9zdGFyUXVlcnlbJ3NlYXJjaEV1cm9zdGFyJ11bJ3Jlc3VsdHMnXVsnam91cm5leXMnXVtudW1iZXJdWyd0b3RhbCddO1xuICBleHBvcnQgdHlwZSBfX0ZhcmVDb25kaXRpb25zID0gU2VhcmNoRXVyb3N0YXJRdWVyeVsnc2VhcmNoRXVyb3N0YXInXVsncmVzdWx0cyddWydqb3VybmV5cyddW251bWJlcl1bJ2ZhcmVDb25kaXRpb25zJ107XG4gIGV4cG9ydCB0eXBlIF9fQ2FuY2VsbGF0aW9uID0gU2VhcmNoRXVyb3N0YXJRdWVyeVsnc2VhcmNoRXVyb3N0YXInXVsncmVzdWx0cyddWydqb3VybmV5cyddW251bWJlcl1bJ2ZhcmVDb25kaXRpb25zJ11bJ2NhbmNlbGxhdGlvbiddW251bWJlcl07XG4gIGV4cG9ydCB0eXBlIF9fQ2hhbmdlID0gU2VhcmNoRXVyb3N0YXJRdWVyeVsnc2VhcmNoRXVyb3N0YXInXVsncmVzdWx0cyddWydqb3VybmV5cyddW251bWJlcl1bJ2ZhcmVDb25kaXRpb25zJ11bJ2NoYW5nZSddW251bWJlcl07XG4gIGV4cG9ydCB0eXBlIF9fTm9TaG93ID0gU2VhcmNoRXVyb3N0YXJRdWVyeVsnc2VhcmNoRXVyb3N0YXInXVsncmVzdWx0cyddWydqb3VybmV5cyddW251bWJlcl1bJ2ZhcmVDb25kaXRpb25zJ11bJ25vU2hvdyddW251bWJlcl07XG4gIGV4cG9ydCB0eXBlIF9fVXBncmFkZSA9IFNlYXJjaEV1cm9zdGFyUXVlcnlbJ3NlYXJjaEV1cm9zdGFyJ11bJ3Jlc3VsdHMnXVsnam91cm5leXMnXVtudW1iZXJdWydmYXJlQ29uZGl0aW9ucyddWyd1cGdyYWRlJ11bbnVtYmVyXTtcbiAgZXhwb3J0IHR5cGUgX19PdGhlciA9IFNlYXJjaEV1cm9zdGFyUXVlcnlbJ3NlYXJjaEV1cm9zdGFyJ11bJ3Jlc3VsdHMnXVsnam91cm5leXMnXVtudW1iZXJdWydmYXJlQ29uZGl0aW9ucyddWydvdGhlciddW251bWJlcl07XG4gIGV4cG9ydCB0eXBlIEJhZ2dhZ2VBbGxvd2FuY2UgPSBTZWFyY2hFdXJvc3RhclF1ZXJ5WydzZWFyY2hFdXJvc3RhciddWydyZXN1bHRzJ11bJ2pvdXJuZXlzJ11bbnVtYmVyXVsnYmFnZ2FnZUFsbG93YW5jZSddW251bWJlcl07XG4gIGV4cG9ydCB0eXBlIE11bHRpID0gU2VhcmNoRXVyb3N0YXJRdWVyeVsnc2VhcmNoRXVyb3N0YXInXVsncmVzdWx0cyddWydtdWx0aSddW251bWJlcl07XG4gIGV4cG9ydCB0eXBlIF9SZXN1bHRzID0gU2VhcmNoRXVyb3N0YXJRdWVyeVsnc2VhcmNoRXVyb3N0YXInXVsncmVzdWx0cyddWydtdWx0aSddW251bWJlcl1bJ3Jlc3VsdHMnXVtudW1iZXJdO1xuICBleHBvcnQgdHlwZSBfT3V0Ym91bmRGbGlnaHRzID0gU2VhcmNoRXVyb3N0YXJRdWVyeVsnc2VhcmNoRXVyb3N0YXInXVsncmVzdWx0cyddWydtdWx0aSddW251bWJlcl1bJ3Jlc3VsdHMnXVtudW1iZXJdWydvdXRib3VuZEZsaWdodHMnXVtudW1iZXJdO1xuICBleHBvcnQgdHlwZSBfX0ZhcmVJbmZvID0gU2VhcmNoRXVyb3N0YXJRdWVyeVsnc2VhcmNoRXVyb3N0YXInXVsncmVzdWx0cyddWydtdWx0aSddW251bWJlcl1bJ3Jlc3VsdHMnXVtudW1iZXJdWydvdXRib3VuZEZsaWdodHMnXVtudW1iZXJdWydmYXJlSW5mbyddO1xuICBleHBvcnQgdHlwZSBfX09yaWdpbkFpcnBvcnREZXRhaWwgPSBTZWFyY2hFdXJvc3RhclF1ZXJ5WydzZWFyY2hFdXJvc3RhciddWydyZXN1bHRzJ11bJ211bHRpJ11bbnVtYmVyXVsncmVzdWx0cyddW251bWJlcl1bJ291dGJvdW5kRmxpZ2h0cyddW251bWJlcl1bJ29yaWdpbkFpcnBvcnREZXRhaWwnXTtcbiAgZXhwb3J0IHR5cGUgX19EZXN0aW5hdGlvbkFpcnBvcnREZXRhaWwgPSBTZWFyY2hFdXJvc3RhclF1ZXJ5WydzZWFyY2hFdXJvc3RhciddWydyZXN1bHRzJ11bJ211bHRpJ11bbnVtYmVyXVsncmVzdWx0cyddW251bWJlcl1bJ291dGJvdW5kRmxpZ2h0cyddW251bWJlcl1bJ2Rlc3RpbmF0aW9uQWlycG9ydERldGFpbCddO1xuICBleHBvcnQgdHlwZSBfX01hcmtldGluZ0NhcnJpZXJEZXRhaWwgPSBTZWFyY2hFdXJvc3RhclF1ZXJ5WydzZWFyY2hFdXJvc3RhciddWydyZXN1bHRzJ11bJ211bHRpJ11bbnVtYmVyXVsncmVzdWx0cyddW251bWJlcl1bJ291dGJvdW5kRmxpZ2h0cyddW251bWJlcl1bJ21hcmtldGluZ0NhcnJpZXJEZXRhaWwnXTtcbiAgZXhwb3J0IHR5cGUgX19PcGVyYXRpbmdDYXJyaWVyRGV0YWlsID0gU2VhcmNoRXVyb3N0YXJRdWVyeVsnc2VhcmNoRXVyb3N0YXInXVsncmVzdWx0cyddWydtdWx0aSddW251bWJlcl1bJ3Jlc3VsdHMnXVtudW1iZXJdWydvdXRib3VuZEZsaWdodHMnXVtudW1iZXJdWydvcGVyYXRpbmdDYXJyaWVyRGV0YWlsJ107XG4gIGV4cG9ydCB0eXBlIF9fX0ZhcmVDb25kaXRpb25zID0gU2VhcmNoRXVyb3N0YXJRdWVyeVsnc2VhcmNoRXVyb3N0YXInXVsncmVzdWx0cyddWydtdWx0aSddW251bWJlcl1bJ3Jlc3VsdHMnXVtudW1iZXJdWydvdXRib3VuZEZsaWdodHMnXVtudW1iZXJdWydmYXJlQ29uZGl0aW9ucyddO1xuICBleHBvcnQgdHlwZSBfX19DYW5jZWxsYXRpb24gPSBTZWFyY2hFdXJvc3RhclF1ZXJ5WydzZWFyY2hFdXJvc3RhciddWydyZXN1bHRzJ11bJ211bHRpJ11bbnVtYmVyXVsncmVzdWx0cyddW251bWJlcl1bJ291dGJvdW5kRmxpZ2h0cyddW251bWJlcl1bJ2ZhcmVDb25kaXRpb25zJ11bJ2NhbmNlbGxhdGlvbiddW251bWJlcl07XG4gIGV4cG9ydCB0eXBlIF9fX0NoYW5nZSA9IFNlYXJjaEV1cm9zdGFyUXVlcnlbJ3NlYXJjaEV1cm9zdGFyJ11bJ3Jlc3VsdHMnXVsnbXVsdGknXVtudW1iZXJdWydyZXN1bHRzJ11bbnVtYmVyXVsnb3V0Ym91bmRGbGlnaHRzJ11bbnVtYmVyXVsnZmFyZUNvbmRpdGlvbnMnXVsnY2hhbmdlJ11bbnVtYmVyXTtcbiAgZXhwb3J0IHR5cGUgX19fTm9TaG93ID0gU2VhcmNoRXVyb3N0YXJRdWVyeVsnc2VhcmNoRXVyb3N0YXInXVsncmVzdWx0cyddWydtdWx0aSddW251bWJlcl1bJ3Jlc3VsdHMnXVtudW1iZXJdWydvdXRib3VuZEZsaWdodHMnXVtudW1iZXJdWydmYXJlQ29uZGl0aW9ucyddWydub1Nob3cnXVtudW1iZXJdO1xuICBleHBvcnQgdHlwZSBfX19VcGdyYWRlID0gU2VhcmNoRXVyb3N0YXJRdWVyeVsnc2VhcmNoRXVyb3N0YXInXVsncmVzdWx0cyddWydtdWx0aSddW251bWJlcl1bJ3Jlc3VsdHMnXVtudW1iZXJdWydvdXRib3VuZEZsaWdodHMnXVtudW1iZXJdWydmYXJlQ29uZGl0aW9ucyddWyd1cGdyYWRlJ11bbnVtYmVyXTtcbiAgZXhwb3J0IHR5cGUgX19fT3RoZXIgPSBTZWFyY2hFdXJvc3RhclF1ZXJ5WydzZWFyY2hFdXJvc3RhciddWydyZXN1bHRzJ11bJ211bHRpJ11bbnVtYmVyXVsncmVzdWx0cyddW251bWJlcl1bJ291dGJvdW5kRmxpZ2h0cyddW251bWJlcl1bJ2ZhcmVDb25kaXRpb25zJ11bJ290aGVyJ11bbnVtYmVyXTtcbiAgZXhwb3J0IHR5cGUgX0luYm91bmRGbGlnaHRzID0gU2VhcmNoRXVyb3N0YXJRdWVyeVsnc2VhcmNoRXVyb3N0YXInXVsncmVzdWx0cyddWydtdWx0aSddW251bWJlcl1bJ3Jlc3VsdHMnXVtudW1iZXJdWydpbmJvdW5kRmxpZ2h0cyddW251bWJlcl07XG4gIGV4cG9ydCB0eXBlIF9fX0ZhcmVJbmZvID0gU2VhcmNoRXVyb3N0YXJRdWVyeVsnc2VhcmNoRXVyb3N0YXInXVsncmVzdWx0cyddWydtdWx0aSddW251bWJlcl1bJ3Jlc3VsdHMnXVtudW1iZXJdWydpbmJvdW5kRmxpZ2h0cyddW251bWJlcl1bJ2ZhcmVJbmZvJ107XG4gIGV4cG9ydCB0eXBlIF9fX09yaWdpbkFpcnBvcnREZXRhaWwgPSBTZWFyY2hFdXJvc3RhclF1ZXJ5WydzZWFyY2hFdXJvc3RhciddWydyZXN1bHRzJ11bJ211bHRpJ11bbnVtYmVyXVsncmVzdWx0cyddW251bWJlcl1bJ2luYm91bmRGbGlnaHRzJ11bbnVtYmVyXVsnb3JpZ2luQWlycG9ydERldGFpbCddO1xuICBleHBvcnQgdHlwZSBfX19EZXN0aW5hdGlvbkFpcnBvcnREZXRhaWwgPSBTZWFyY2hFdXJvc3RhclF1ZXJ5WydzZWFyY2hFdXJvc3RhciddWydyZXN1bHRzJ11bJ211bHRpJ11bbnVtYmVyXVsncmVzdWx0cyddW251bWJlcl1bJ2luYm91bmRGbGlnaHRzJ11bbnVtYmVyXVsnZGVzdGluYXRpb25BaXJwb3J0RGV0YWlsJ107XG4gIGV4cG9ydCB0eXBlIF9fX01hcmtldGluZ0NhcnJpZXJEZXRhaWwgPSBTZWFyY2hFdXJvc3RhclF1ZXJ5WydzZWFyY2hFdXJvc3RhciddWydyZXN1bHRzJ11bJ211bHRpJ11bbnVtYmVyXVsncmVzdWx0cyddW251bWJlcl1bJ2luYm91bmRGbGlnaHRzJ11bbnVtYmVyXVsnbWFya2V0aW5nQ2FycmllckRldGFpbCddO1xuICBleHBvcnQgdHlwZSBfX19PcGVyYXRpbmdDYXJyaWVyRGV0YWlsID0gU2VhcmNoRXVyb3N0YXJRdWVyeVsnc2VhcmNoRXVyb3N0YXInXVsncmVzdWx0cyddWydtdWx0aSddW251bWJlcl1bJ3Jlc3VsdHMnXVtudW1iZXJdWydpbmJvdW5kRmxpZ2h0cyddW251bWJlcl1bJ29wZXJhdGluZ0NhcnJpZXJEZXRhaWwnXTtcbiAgZXhwb3J0IHR5cGUgX19fX0ZhcmVDb25kaXRpb25zID0gU2VhcmNoRXVyb3N0YXJRdWVyeVsnc2VhcmNoRXVyb3N0YXInXVsncmVzdWx0cyddWydtdWx0aSddW251bWJlcl1bJ3Jlc3VsdHMnXVtudW1iZXJdWydpbmJvdW5kRmxpZ2h0cyddW251bWJlcl1bJ2ZhcmVDb25kaXRpb25zJ107XG4gIGV4cG9ydCB0eXBlIF9fX19DYW5jZWxsYXRpb24gPSBTZWFyY2hFdXJvc3RhclF1ZXJ5WydzZWFyY2hFdXJvc3RhciddWydyZXN1bHRzJ11bJ211bHRpJ11bbnVtYmVyXVsncmVzdWx0cyddW251bWJlcl1bJ2luYm91bmRGbGlnaHRzJ11bbnVtYmVyXVsnZmFyZUNvbmRpdGlvbnMnXVsnY2FuY2VsbGF0aW9uJ11bbnVtYmVyXTtcbiAgZXhwb3J0IHR5cGUgX19fX0NoYW5nZSA9IFNlYXJjaEV1cm9zdGFyUXVlcnlbJ3NlYXJjaEV1cm9zdGFyJ11bJ3Jlc3VsdHMnXVsnbXVsdGknXVtudW1iZXJdWydyZXN1bHRzJ11bbnVtYmVyXVsnaW5ib3VuZEZsaWdodHMnXVtudW1iZXJdWydmYXJlQ29uZGl0aW9ucyddWydjaGFuZ2UnXVtudW1iZXJdO1xuICBleHBvcnQgdHlwZSBfX19fTm9TaG93ID0gU2VhcmNoRXVyb3N0YXJRdWVyeVsnc2VhcmNoRXVyb3N0YXInXVsncmVzdWx0cyddWydtdWx0aSddW251bWJlcl1bJ3Jlc3VsdHMnXVtudW1iZXJdWydpbmJvdW5kRmxpZ2h0cyddW251bWJlcl1bJ2ZhcmVDb25kaXRpb25zJ11bJ25vU2hvdyddW251bWJlcl07XG4gIGV4cG9ydCB0eXBlIF9fX19VcGdyYWRlID0gU2VhcmNoRXVyb3N0YXJRdWVyeVsnc2VhcmNoRXVyb3N0YXInXVsncmVzdWx0cyddWydtdWx0aSddW251bWJlcl1bJ3Jlc3VsdHMnXVtudW1iZXJdWydpbmJvdW5kRmxpZ2h0cyddW251bWJlcl1bJ2ZhcmVDb25kaXRpb25zJ11bJ3VwZ3JhZGUnXVtudW1iZXJdO1xuICBleHBvcnQgdHlwZSBfX19fT3RoZXIgPSBTZWFyY2hFdXJvc3RhclF1ZXJ5WydzZWFyY2hFdXJvc3RhciddWydyZXN1bHRzJ11bJ211bHRpJ11bbnVtYmVyXVsncmVzdWx0cyddW251bWJlcl1bJ2luYm91bmRGbGlnaHRzJ11bbnVtYmVyXVsnZmFyZUNvbmRpdGlvbnMnXVsnb3RoZXInXVtudW1iZXJdO1xuICBleHBvcnQgdHlwZSBfT3V0Ym91bmRDYXJib25FbWlzc2lvbnMgPSBTZWFyY2hFdXJvc3RhclF1ZXJ5WydzZWFyY2hFdXJvc3RhciddWydyZXN1bHRzJ11bJ211bHRpJ11bbnVtYmVyXVsncmVzdWx0cyddW251bWJlcl1bJ291dGJvdW5kQ2FyYm9uRW1pc3Npb25zJ107XG4gIGV4cG9ydCB0eXBlIF9JbmJvdW5kQ2FyYm9uRW1pc3Npb25zID0gU2VhcmNoRXVyb3N0YXJRdWVyeVsnc2VhcmNoRXVyb3N0YXInXVsncmVzdWx0cyddWydtdWx0aSddW251bWJlcl1bJ3Jlc3VsdHMnXVtudW1iZXJdWydpbmJvdW5kQ2FyYm9uRW1pc3Npb25zJ107XG4gIGV4cG9ydCB0eXBlIF9UYXhlcyA9IFNlYXJjaEV1cm9zdGFyUXVlcnlbJ3NlYXJjaEV1cm9zdGFyJ11bJ3Jlc3VsdHMnXVsnbXVsdGknXVtudW1iZXJdWydyZXN1bHRzJ11bbnVtYmVyXVsndGF4ZXMnXVtudW1iZXJdO1xuICBleHBvcnQgdHlwZSBfRGlzY291bnRzID0gU2VhcmNoRXVyb3N0YXJRdWVyeVsnc2VhcmNoRXVyb3N0YXInXVsncmVzdWx0cyddWydtdWx0aSddW251bWJlcl1bJ3Jlc3VsdHMnXVtudW1iZXJdWydkaXNjb3VudHMnXVtudW1iZXJdO1xuICBleHBvcnQgdHlwZSBfVG90YWwgPSBTZWFyY2hFdXJvc3RhclF1ZXJ5WydzZWFyY2hFdXJvc3RhciddWydyZXN1bHRzJ11bJ211bHRpJ11bbnVtYmVyXVsncmVzdWx0cyddW251bWJlcl1bJ3RvdGFsJ107XG4gIGV4cG9ydCB0eXBlIF9fX19fRmFyZUNvbmRpdGlvbnMgPSBTZWFyY2hFdXJvc3RhclF1ZXJ5WydzZWFyY2hFdXJvc3RhciddWydyZXN1bHRzJ11bJ211bHRpJ11bbnVtYmVyXVsncmVzdWx0cyddW251bWJlcl1bJ2ZhcmVDb25kaXRpb25zJ107XG4gIGV4cG9ydCB0eXBlIF9fX19fQ2FuY2VsbGF0aW9uID0gU2VhcmNoRXVyb3N0YXJRdWVyeVsnc2VhcmNoRXVyb3N0YXInXVsncmVzdWx0cyddWydtdWx0aSddW251bWJlcl1bJ3Jlc3VsdHMnXVtudW1iZXJdWydmYXJlQ29uZGl0aW9ucyddWydjYW5jZWxsYXRpb24nXVtudW1iZXJdO1xuICBleHBvcnQgdHlwZSBfX19fX0NoYW5nZSA9IFNlYXJjaEV1cm9zdGFyUXVlcnlbJ3NlYXJjaEV1cm9zdGFyJ11bJ3Jlc3VsdHMnXVsnbXVsdGknXVtudW1iZXJdWydyZXN1bHRzJ11bbnVtYmVyXVsnZmFyZUNvbmRpdGlvbnMnXVsnY2hhbmdlJ11bbnVtYmVyXTtcbiAgZXhwb3J0IHR5cGUgX19fX19Ob1Nob3cgPSBTZWFyY2hFdXJvc3RhclF1ZXJ5WydzZWFyY2hFdXJvc3RhciddWydyZXN1bHRzJ11bJ211bHRpJ11bbnVtYmVyXVsncmVzdWx0cyddW251bWJlcl1bJ2ZhcmVDb25kaXRpb25zJ11bJ25vU2hvdyddW251bWJlcl07XG4gIGV4cG9ydCB0eXBlIF9fX19fVXBncmFkZSA9IFNlYXJjaEV1cm9zdGFyUXVlcnlbJ3NlYXJjaEV1cm9zdGFyJ11bJ3Jlc3VsdHMnXVsnbXVsdGknXVtudW1iZXJdWydyZXN1bHRzJ11bbnVtYmVyXVsnZmFyZUNvbmRpdGlvbnMnXVsndXBncmFkZSddW251bWJlcl07XG4gIGV4cG9ydCB0eXBlIF9fX19fT3RoZXIgPSBTZWFyY2hFdXJvc3RhclF1ZXJ5WydzZWFyY2hFdXJvc3RhciddWydyZXN1bHRzJ11bJ211bHRpJ11bbnVtYmVyXVsncmVzdWx0cyddW251bWJlcl1bJ2ZhcmVDb25kaXRpb25zJ11bJ290aGVyJ11bbnVtYmVyXTtcbiAgZXhwb3J0IHR5cGUgX0JhZ2dhZ2VBbGxvd2FuY2UgPSBTZWFyY2hFdXJvc3RhclF1ZXJ5WydzZWFyY2hFdXJvc3RhciddWydyZXN1bHRzJ11bJ211bHRpJ11bbnVtYmVyXVsncmVzdWx0cyddW251bWJlcl1bJ2JhZ2dhZ2VBbGxvd2FuY2UnXVtudW1iZXJdO1xuICBleHBvcnQgdHlwZSBHcm91cGVkID0gU2VhcmNoRXVyb3N0YXJRdWVyeVsnc2VhcmNoRXVyb3N0YXInXVsncmVzdWx0cyddWydncm91cGVkJ11bbnVtYmVyXTtcbiAgZXhwb3J0IHR5cGUgRmxpZ2h0cyA9IFNlYXJjaEV1cm9zdGFyUXVlcnlbJ3NlYXJjaEV1cm9zdGFyJ11bJ3Jlc3VsdHMnXVsnZ3JvdXBlZCddW251bWJlcl1bJ2ZsaWdodHMnXTtcbiAgZXhwb3J0IHR5cGUgRXJyb3JzID0gU2VhcmNoRXVyb3N0YXJRdWVyeVsnc2VhcmNoRXVyb3N0YXInXVsnZXJyb3JzJ11bbnVtYmVyXTtcbn1cblxuZXhwb3J0IG5hbWVzcGFjZSBTZWFyY2hIb3RlbENoYWlucyB7XG4gIGV4cG9ydCB0eXBlIFZhcmlhYmxlcyA9IFNlYXJjaEhvdGVsQ2hhaW5zUXVlcnlWYXJpYWJsZXM7XG4gIGV4cG9ydCB0eXBlIFF1ZXJ5ID0gU2VhcmNoSG90ZWxDaGFpbnNRdWVyeTtcbn1cblxuZXhwb3J0IG5hbWVzcGFjZSBTZWFyY2hJcmwge1xuICBleHBvcnQgdHlwZSBWYXJpYWJsZXMgPSBTZWFyY2hJcmxRdWVyeVZhcmlhYmxlcztcbiAgZXhwb3J0IHR5cGUgUXVlcnkgPSBTZWFyY2hJcmxRdWVyeTtcbiAgZXhwb3J0IHR5cGUgU2VhcmNoSXJsID0gU2VhcmNoSXJsUXVlcnlbJ3NlYXJjaElSTCddO1xuICBleHBvcnQgdHlwZSBSZXN1bHRzID0gU2VhcmNoSXJsUXVlcnlbJ3NlYXJjaElSTCddWydyZXN1bHRzJ11bbnVtYmVyXTtcbiAgZXhwb3J0IHR5cGUgT3V0Ym91bmQgPSBTZWFyY2hJcmxRdWVyeVsnc2VhcmNoSVJMJ11bJ3Jlc3VsdHMnXVtudW1iZXJdWydvdXRib3VuZCddW251bWJlcl07XG4gIGV4cG9ydCB0eXBlIElkZW50aWZpZXJzID0gU2VhcmNoSXJsUXVlcnlbJ3NlYXJjaElSTCddWydyZXN1bHRzJ11bbnVtYmVyXVsnb3V0Ym91bmQnXVtudW1iZXJdWydpZGVudGlmaWVycyddO1xuICBleHBvcnQgdHlwZSBUcmF2ZWxsZXJzID0gU2VhcmNoSXJsUXVlcnlbJ3NlYXJjaElSTCddWydyZXN1bHRzJ11bbnVtYmVyXVsnb3V0Ym91bmQnXVtudW1iZXJdWyd0cmF2ZWxsZXJzJ11bbnVtYmVyXTtcbiAgZXhwb3J0IHR5cGUgU2VnbWVudHMgPSBTZWFyY2hJcmxRdWVyeVsnc2VhcmNoSVJMJ11bJ3Jlc3VsdHMnXVtudW1iZXJdWydvdXRib3VuZCddW251bWJlcl1bJ3NlZ21lbnRzJ11bbnVtYmVyXTtcbiAgZXhwb3J0IHR5cGUgU2VhdFByZWZlcmVuY2VUeXBlcyA9IFNlYXJjaElybFF1ZXJ5WydzZWFyY2hJUkwnXVsncmVzdWx0cyddW251bWJlcl1bJ291dGJvdW5kJ11bbnVtYmVyXVsnc2VnbWVudHMnXVtudW1iZXJdWydzZWF0UHJlZmVyZW5jZVR5cGVzJ11bbnVtYmVyXTtcbiAgZXhwb3J0IHR5cGUgU2VhdHMgPSBTZWFyY2hJcmxRdWVyeVsnc2VhcmNoSVJMJ11bJ3Jlc3VsdHMnXVtudW1iZXJdWydvdXRib3VuZCddW251bWJlcl1bJ3NlZ21lbnRzJ11bbnVtYmVyXVsnc2VhdHMnXVtudW1iZXJdO1xuICBleHBvcnQgdHlwZSBQcm92aWRlcnMgPSBTZWFyY2hJcmxRdWVyeVsnc2VhcmNoSVJMJ11bJ3Jlc3VsdHMnXVtudW1iZXJdWydvdXRib3VuZCddW251bWJlcl1bJ3Byb3ZpZGVycyddW251bWJlcl07XG4gIGV4cG9ydCB0eXBlIENoZWFwZXN0VGlja2V0ID0gU2VhcmNoSXJsUXVlcnlbJ3NlYXJjaElSTCddWydyZXN1bHRzJ11bbnVtYmVyXVsnb3V0Ym91bmQnXVtudW1iZXJdWydwcm92aWRlcnMnXVtudW1iZXJdWydjaGVhcGVzdFRpY2tldCddO1xuICBleHBvcnQgdHlwZSBfSWRlbnRpZmllcnMgPSBTZWFyY2hJcmxRdWVyeVsnc2VhcmNoSVJMJ11bJ3Jlc3VsdHMnXVtudW1iZXJdWydvdXRib3VuZCddW251bWJlcl1bJ3Byb3ZpZGVycyddW251bWJlcl1bJ2NoZWFwZXN0VGlja2V0J11bJ2lkZW50aWZpZXJzJ107XG4gIGV4cG9ydCB0eXBlIFRpY2tldHMgPSBTZWFyY2hJcmxRdWVyeVsnc2VhcmNoSVJMJ11bJ3Jlc3VsdHMnXVtudW1iZXJdWydvdXRib3VuZCddW251bWJlcl1bJ3Byb3ZpZGVycyddW251bWJlcl1bJ2NoZWFwZXN0VGlja2V0J11bJ3RpY2tldHMnXVtudW1iZXJdO1xuICBleHBvcnQgdHlwZSBfU2VnbWVudHMgPSBTZWFyY2hJcmxRdWVyeVsnc2VhcmNoSVJMJ11bJ3Jlc3VsdHMnXVtudW1iZXJdWydvdXRib3VuZCddW251bWJlcl1bJ3Byb3ZpZGVycyddW251bWJlcl1bJ2NoZWFwZXN0VGlja2V0J11bJ3RpY2tldHMnXVtudW1iZXJdWydzZWdtZW50cyddW251bWJlcl07XG4gIGV4cG9ydCB0eXBlIF9TZWF0UHJlZmVyZW5jZVR5cGVzID0gU2VhcmNoSXJsUXVlcnlbJ3NlYXJjaElSTCddWydyZXN1bHRzJ11bbnVtYmVyXVsnb3V0Ym91bmQnXVtudW1iZXJdWydwcm92aWRlcnMnXVtudW1iZXJdWydjaGVhcGVzdFRpY2tldCddWyd0aWNrZXRzJ11bbnVtYmVyXVsnc2VnbWVudHMnXVtudW1iZXJdWydzZWF0UHJlZmVyZW5jZVR5cGVzJ11bbnVtYmVyXTtcbiAgZXhwb3J0IHR5cGUgX1NlYXRzID0gU2VhcmNoSXJsUXVlcnlbJ3NlYXJjaElSTCddWydyZXN1bHRzJ11bbnVtYmVyXVsnb3V0Ym91bmQnXVtudW1iZXJdWydwcm92aWRlcnMnXVtudW1iZXJdWydjaGVhcGVzdFRpY2tldCddWyd0aWNrZXRzJ11bbnVtYmVyXVsnc2VnbWVudHMnXVtudW1iZXJdWydzZWF0cyddW251bWJlcl07XG4gIGV4cG9ydCB0eXBlIFRpY2tldE9wdGlvbnMgPSBTZWFyY2hJcmxRdWVyeVsnc2VhcmNoSVJMJ11bJ3Jlc3VsdHMnXVtudW1iZXJdWydvdXRib3VuZCddW251bWJlcl1bJ3Byb3ZpZGVycyddW251bWJlcl1bJ3RpY2tldE9wdGlvbnMnXVtudW1iZXJdO1xuICBleHBvcnQgdHlwZSBfX0lkZW50aWZpZXJzID0gU2VhcmNoSXJsUXVlcnlbJ3NlYXJjaElSTCddWydyZXN1bHRzJ11bbnVtYmVyXVsnb3V0Ym91bmQnXVtudW1iZXJdWydwcm92aWRlcnMnXVtudW1iZXJdWyd0aWNrZXRPcHRpb25zJ11bbnVtYmVyXVsnaWRlbnRpZmllcnMnXTtcbiAgZXhwb3J0IHR5cGUgX1RpY2tldHMgPSBTZWFyY2hJcmxRdWVyeVsnc2VhcmNoSVJMJ11bJ3Jlc3VsdHMnXVtudW1iZXJdWydvdXRib3VuZCddW251bWJlcl1bJ3Byb3ZpZGVycyddW251bWJlcl1bJ3RpY2tldE9wdGlvbnMnXVtudW1iZXJdWyd0aWNrZXRzJ11bbnVtYmVyXTtcbiAgZXhwb3J0IHR5cGUgX19TZWdtZW50cyA9IFNlYXJjaElybFF1ZXJ5WydzZWFyY2hJUkwnXVsncmVzdWx0cyddW251bWJlcl1bJ291dGJvdW5kJ11bbnVtYmVyXVsncHJvdmlkZXJzJ11bbnVtYmVyXVsndGlja2V0T3B0aW9ucyddW251bWJlcl1bJ3RpY2tldHMnXVtudW1iZXJdWydzZWdtZW50cyddW251bWJlcl07XG4gIGV4cG9ydCB0eXBlIF9fU2VhdFByZWZlcmVuY2VUeXBlcyA9IFNlYXJjaElybFF1ZXJ5WydzZWFyY2hJUkwnXVsncmVzdWx0cyddW251bWJlcl1bJ291dGJvdW5kJ11bbnVtYmVyXVsncHJvdmlkZXJzJ11bbnVtYmVyXVsndGlja2V0T3B0aW9ucyddW251bWJlcl1bJ3RpY2tldHMnXVtudW1iZXJdWydzZWdtZW50cyddW251bWJlcl1bJ3NlYXRQcmVmZXJlbmNlVHlwZXMnXVtudW1iZXJdO1xuICBleHBvcnQgdHlwZSBfX1NlYXRzID0gU2VhcmNoSXJsUXVlcnlbJ3NlYXJjaElSTCddWydyZXN1bHRzJ11bbnVtYmVyXVsnb3V0Ym91bmQnXVtudW1iZXJdWydwcm92aWRlcnMnXVtudW1iZXJdWyd0aWNrZXRPcHRpb25zJ11bbnVtYmVyXVsndGlja2V0cyddW251bWJlcl1bJ3NlZ21lbnRzJ11bbnVtYmVyXVsnc2VhdHMnXVtudW1iZXJdO1xuICBleHBvcnQgdHlwZSBCb29rZWRUaWNrZXQgPSBTZWFyY2hJcmxRdWVyeVsnc2VhcmNoSVJMJ11bJ3Jlc3VsdHMnXVtudW1iZXJdWydvdXRib3VuZCddW251bWJlcl1bJ3Byb3ZpZGVycyddW251bWJlcl1bJ2Jvb2tlZFRpY2tldCddO1xuICBleHBvcnQgdHlwZSBfX19JZGVudGlmaWVycyA9IFNlYXJjaElybFF1ZXJ5WydzZWFyY2hJUkwnXVsncmVzdWx0cyddW251bWJlcl1bJ291dGJvdW5kJ11bbnVtYmVyXVsncHJvdmlkZXJzJ11bbnVtYmVyXVsnYm9va2VkVGlja2V0J11bJ2lkZW50aWZpZXJzJ107XG4gIGV4cG9ydCB0eXBlIF9fVGlja2V0cyA9IFNlYXJjaElybFF1ZXJ5WydzZWFyY2hJUkwnXVsncmVzdWx0cyddW251bWJlcl1bJ291dGJvdW5kJ11bbnVtYmVyXVsncHJvdmlkZXJzJ11bbnVtYmVyXVsnYm9va2VkVGlja2V0J11bJ3RpY2tldHMnXVtudW1iZXJdO1xuICBleHBvcnQgdHlwZSBfX19TZWdtZW50cyA9IFNlYXJjaElybFF1ZXJ5WydzZWFyY2hJUkwnXVsncmVzdWx0cyddW251bWJlcl1bJ291dGJvdW5kJ11bbnVtYmVyXVsncHJvdmlkZXJzJ11bbnVtYmVyXVsnYm9va2VkVGlja2V0J11bJ3RpY2tldHMnXVtudW1iZXJdWydzZWdtZW50cyddW251bWJlcl07XG4gIGV4cG9ydCB0eXBlIF9fX1NlYXRQcmVmZXJlbmNlVHlwZXMgPSBTZWFyY2hJcmxRdWVyeVsnc2VhcmNoSVJMJ11bJ3Jlc3VsdHMnXVtudW1iZXJdWydvdXRib3VuZCddW251bWJlcl1bJ3Byb3ZpZGVycyddW251bWJlcl1bJ2Jvb2tlZFRpY2tldCddWyd0aWNrZXRzJ11bbnVtYmVyXVsnc2VnbWVudHMnXVtudW1iZXJdWydzZWF0UHJlZmVyZW5jZVR5cGVzJ11bbnVtYmVyXTtcbiAgZXhwb3J0IHR5cGUgX19fU2VhdHMgPSBTZWFyY2hJcmxRdWVyeVsnc2VhcmNoSVJMJ11bJ3Jlc3VsdHMnXVtudW1iZXJdWydvdXRib3VuZCddW251bWJlcl1bJ3Byb3ZpZGVycyddW251bWJlcl1bJ2Jvb2tlZFRpY2tldCddWyd0aWNrZXRzJ11bbnVtYmVyXVsnc2VnbWVudHMnXVtudW1iZXJdWydzZWF0cyddW251bWJlcl07XG4gIGV4cG9ydCB0eXBlIFRpY2tldEV4dHJhcyA9IFNlYXJjaElybFF1ZXJ5WydzZWFyY2hJUkwnXVsncmVzdWx0cyddW251bWJlcl1bJ291dGJvdW5kJ11bbnVtYmVyXVsndGlja2V0RXh0cmFzJ11bbnVtYmVyXTtcbiAgZXhwb3J0IHR5cGUgX19fX0lkZW50aWZpZXJzID0gU2VhcmNoSXJsUXVlcnlbJ3NlYXJjaElSTCddWydyZXN1bHRzJ11bbnVtYmVyXVsnb3V0Ym91bmQnXVtudW1iZXJdWyd0aWNrZXRFeHRyYXMnXVtudW1iZXJdWydpZGVudGlmaWVycyddO1xuICBleHBvcnQgdHlwZSBQbHVzQnVzID0gU2VhcmNoSXJsUXVlcnlbJ3NlYXJjaElSTCddWydyZXN1bHRzJ11bbnVtYmVyXVsnb3V0Ym91bmQnXVtudW1iZXJdWydwbHVzQnVzJ107XG4gIGV4cG9ydCB0eXBlIFJldHVybiA9IFNlYXJjaElybFF1ZXJ5WydzZWFyY2hJUkwnXVsncmVzdWx0cyddW251bWJlcl1bJ3JldHVybiddW251bWJlcl07XG4gIGV4cG9ydCB0eXBlIF9fX19fSWRlbnRpZmllcnMgPSBTZWFyY2hJcmxRdWVyeVsnc2VhcmNoSVJMJ11bJ3Jlc3VsdHMnXVtudW1iZXJdWydyZXR1cm4nXVtudW1iZXJdWydpZGVudGlmaWVycyddO1xuICBleHBvcnQgdHlwZSBfVHJhdmVsbGVycyA9IFNlYXJjaElybFF1ZXJ5WydzZWFyY2hJUkwnXVsncmVzdWx0cyddW251bWJlcl1bJ3JldHVybiddW251bWJlcl1bJ3RyYXZlbGxlcnMnXVtudW1iZXJdO1xuICBleHBvcnQgdHlwZSBfX19fU2VnbWVudHMgPSBTZWFyY2hJcmxRdWVyeVsnc2VhcmNoSVJMJ11bJ3Jlc3VsdHMnXVtudW1iZXJdWydyZXR1cm4nXVtudW1iZXJdWydzZWdtZW50cyddW251bWJlcl07XG4gIGV4cG9ydCB0eXBlIF9fX19TZWF0UHJlZmVyZW5jZVR5cGVzID0gU2VhcmNoSXJsUXVlcnlbJ3NlYXJjaElSTCddWydyZXN1bHRzJ11bbnVtYmVyXVsncmV0dXJuJ11bbnVtYmVyXVsnc2VnbWVudHMnXVtudW1iZXJdWydzZWF0UHJlZmVyZW5jZVR5cGVzJ11bbnVtYmVyXTtcbiAgZXhwb3J0IHR5cGUgX19fX1NlYXRzID0gU2VhcmNoSXJsUXVlcnlbJ3NlYXJjaElSTCddWydyZXN1bHRzJ11bbnVtYmVyXVsncmV0dXJuJ11bbnVtYmVyXVsnc2VnbWVudHMnXVtudW1iZXJdWydzZWF0cyddW251bWJlcl07XG4gIGV4cG9ydCB0eXBlIF9Qcm92aWRlcnMgPSBTZWFyY2hJcmxRdWVyeVsnc2VhcmNoSVJMJ11bJ3Jlc3VsdHMnXVtudW1iZXJdWydyZXR1cm4nXVtudW1iZXJdWydwcm92aWRlcnMnXVtudW1iZXJdO1xuICBleHBvcnQgdHlwZSBfQ2hlYXBlc3RUaWNrZXQgPSBTZWFyY2hJcmxRdWVyeVsnc2VhcmNoSVJMJ11bJ3Jlc3VsdHMnXVtudW1iZXJdWydyZXR1cm4nXVtudW1iZXJdWydwcm92aWRlcnMnXVtudW1iZXJdWydjaGVhcGVzdFRpY2tldCddO1xuICBleHBvcnQgdHlwZSBfX19fX19JZGVudGlmaWVycyA9IFNlYXJjaElybFF1ZXJ5WydzZWFyY2hJUkwnXVsncmVzdWx0cyddW251bWJlcl1bJ3JldHVybiddW251bWJlcl1bJ3Byb3ZpZGVycyddW251bWJlcl1bJ2NoZWFwZXN0VGlja2V0J11bJ2lkZW50aWZpZXJzJ107XG4gIGV4cG9ydCB0eXBlIF9fX1RpY2tldHMgPSBTZWFyY2hJcmxRdWVyeVsnc2VhcmNoSVJMJ11bJ3Jlc3VsdHMnXVtudW1iZXJdWydyZXR1cm4nXVtudW1iZXJdWydwcm92aWRlcnMnXVtudW1iZXJdWydjaGVhcGVzdFRpY2tldCddWyd0aWNrZXRzJ11bbnVtYmVyXTtcbiAgZXhwb3J0IHR5cGUgX19fX19TZWdtZW50cyA9IFNlYXJjaElybFF1ZXJ5WydzZWFyY2hJUkwnXVsncmVzdWx0cyddW251bWJlcl1bJ3JldHVybiddW251bWJlcl1bJ3Byb3ZpZGVycyddW251bWJlcl1bJ2NoZWFwZXN0VGlja2V0J11bJ3RpY2tldHMnXVtudW1iZXJdWydzZWdtZW50cyddW251bWJlcl07XG4gIGV4cG9ydCB0eXBlIF9fX19fU2VhdFByZWZlcmVuY2VUeXBlcyA9IFNlYXJjaElybFF1ZXJ5WydzZWFyY2hJUkwnXVsncmVzdWx0cyddW251bWJlcl1bJ3JldHVybiddW251bWJlcl1bJ3Byb3ZpZGVycyddW251bWJlcl1bJ2NoZWFwZXN0VGlja2V0J11bJ3RpY2tldHMnXVtudW1iZXJdWydzZWdtZW50cyddW251bWJlcl1bJ3NlYXRQcmVmZXJlbmNlVHlwZXMnXVtudW1iZXJdO1xuICBleHBvcnQgdHlwZSBfX19fX1NlYXRzID0gU2VhcmNoSXJsUXVlcnlbJ3NlYXJjaElSTCddWydyZXN1bHRzJ11bbnVtYmVyXVsncmV0dXJuJ11bbnVtYmVyXVsncHJvdmlkZXJzJ11bbnVtYmVyXVsnY2hlYXBlc3RUaWNrZXQnXVsndGlja2V0cyddW251bWJlcl1bJ3NlZ21lbnRzJ11bbnVtYmVyXVsnc2VhdHMnXVtudW1iZXJdO1xuICBleHBvcnQgdHlwZSBfVGlja2V0T3B0aW9ucyA9IFNlYXJjaElybFF1ZXJ5WydzZWFyY2hJUkwnXVsncmVzdWx0cyddW251bWJlcl1bJ3JldHVybiddW251bWJlcl1bJ3Byb3ZpZGVycyddW251bWJlcl1bJ3RpY2tldE9wdGlvbnMnXVtudW1iZXJdO1xuICBleHBvcnQgdHlwZSBfX19fX19fSWRlbnRpZmllcnMgPSBTZWFyY2hJcmxRdWVyeVsnc2VhcmNoSVJMJ11bJ3Jlc3VsdHMnXVtudW1iZXJdWydyZXR1cm4nXVtudW1iZXJdWydwcm92aWRlcnMnXVtudW1iZXJdWyd0aWNrZXRPcHRpb25zJ11bbnVtYmVyXVsnaWRlbnRpZmllcnMnXTtcbiAgZXhwb3J0IHR5cGUgX19fX1RpY2tldHMgPSBTZWFyY2hJcmxRdWVyeVsnc2VhcmNoSVJMJ11bJ3Jlc3VsdHMnXVtudW1iZXJdWydyZXR1cm4nXVtudW1iZXJdWydwcm92aWRlcnMnXVtudW1iZXJdWyd0aWNrZXRPcHRpb25zJ11bbnVtYmVyXVsndGlja2V0cyddW251bWJlcl07XG4gIGV4cG9ydCB0eXBlIF9fX19fX1NlZ21lbnRzID0gU2VhcmNoSXJsUXVlcnlbJ3NlYXJjaElSTCddWydyZXN1bHRzJ11bbnVtYmVyXVsncmV0dXJuJ11bbnVtYmVyXVsncHJvdmlkZXJzJ11bbnVtYmVyXVsndGlja2V0T3B0aW9ucyddW251bWJlcl1bJ3RpY2tldHMnXVtudW1iZXJdWydzZWdtZW50cyddW251bWJlcl07XG4gIGV4cG9ydCB0eXBlIF9fX19fX1NlYXRQcmVmZXJlbmNlVHlwZXMgPSBTZWFyY2hJcmxRdWVyeVsnc2VhcmNoSVJMJ11bJ3Jlc3VsdHMnXVtudW1iZXJdWydyZXR1cm4nXVtudW1iZXJdWydwcm92aWRlcnMnXVtudW1iZXJdWyd0aWNrZXRPcHRpb25zJ11bbnVtYmVyXVsndGlja2V0cyddW251bWJlcl1bJ3NlZ21lbnRzJ11bbnVtYmVyXVsnc2VhdFByZWZlcmVuY2VUeXBlcyddW251bWJlcl07XG4gIGV4cG9ydCB0eXBlIF9fX19fX1NlYXRzID0gU2VhcmNoSXJsUXVlcnlbJ3NlYXJjaElSTCddWydyZXN1bHRzJ11bbnVtYmVyXVsncmV0dXJuJ11bbnVtYmVyXVsncHJvdmlkZXJzJ11bbnVtYmVyXVsndGlja2V0T3B0aW9ucyddW251bWJlcl1bJ3RpY2tldHMnXVtudW1iZXJdWydzZWdtZW50cyddW251bWJlcl1bJ3NlYXRzJ11bbnVtYmVyXTtcbiAgZXhwb3J0IHR5cGUgX0Jvb2tlZFRpY2tldCA9IFNlYXJjaElybFF1ZXJ5WydzZWFyY2hJUkwnXVsncmVzdWx0cyddW251bWJlcl1bJ3JldHVybiddW251bWJlcl1bJ3Byb3ZpZGVycyddW251bWJlcl1bJ2Jvb2tlZFRpY2tldCddO1xuICBleHBvcnQgdHlwZSBfX19fX19fX0lkZW50aWZpZXJzID0gU2VhcmNoSXJsUXVlcnlbJ3NlYXJjaElSTCddWydyZXN1bHRzJ11bbnVtYmVyXVsncmV0dXJuJ11bbnVtYmVyXVsncHJvdmlkZXJzJ11bbnVtYmVyXVsnYm9va2VkVGlja2V0J11bJ2lkZW50aWZpZXJzJ107XG4gIGV4cG9ydCB0eXBlIF9fX19fVGlja2V0cyA9IFNlYXJjaElybFF1ZXJ5WydzZWFyY2hJUkwnXVsncmVzdWx0cyddW251bWJlcl1bJ3JldHVybiddW251bWJlcl1bJ3Byb3ZpZGVycyddW251bWJlcl1bJ2Jvb2tlZFRpY2tldCddWyd0aWNrZXRzJ11bbnVtYmVyXTtcbiAgZXhwb3J0IHR5cGUgX19fX19fX1NlZ21lbnRzID0gU2VhcmNoSXJsUXVlcnlbJ3NlYXJjaElSTCddWydyZXN1bHRzJ11bbnVtYmVyXVsncmV0dXJuJ11bbnVtYmVyXVsncHJvdmlkZXJzJ11bbnVtYmVyXVsnYm9va2VkVGlja2V0J11bJ3RpY2tldHMnXVtudW1iZXJdWydzZWdtZW50cyddW251bWJlcl07XG4gIGV4cG9ydCB0eXBlIF9fX19fX19TZWF0UHJlZmVyZW5jZVR5cGVzID0gU2VhcmNoSXJsUXVlcnlbJ3NlYXJjaElSTCddWydyZXN1bHRzJ11bbnVtYmVyXVsncmV0dXJuJ11bbnVtYmVyXVsncHJvdmlkZXJzJ11bbnVtYmVyXVsnYm9va2VkVGlja2V0J11bJ3RpY2tldHMnXVtudW1iZXJdWydzZWdtZW50cyddW251bWJlcl1bJ3NlYXRQcmVmZXJlbmNlVHlwZXMnXVtudW1iZXJdO1xuICBleHBvcnQgdHlwZSBfX19fX19fU2VhdHMgPSBTZWFyY2hJcmxRdWVyeVsnc2VhcmNoSVJMJ11bJ3Jlc3VsdHMnXVtudW1iZXJdWydyZXR1cm4nXVtudW1iZXJdWydwcm92aWRlcnMnXVtudW1iZXJdWydib29rZWRUaWNrZXQnXVsndGlja2V0cyddW251bWJlcl1bJ3NlZ21lbnRzJ11bbnVtYmVyXVsnc2VhdHMnXVtudW1iZXJdO1xuICBleHBvcnQgdHlwZSBfVGlja2V0RXh0cmFzID0gU2VhcmNoSXJsUXVlcnlbJ3NlYXJjaElSTCddWydyZXN1bHRzJ11bbnVtYmVyXVsncmV0dXJuJ11bbnVtYmVyXVsndGlja2V0RXh0cmFzJ11bbnVtYmVyXTtcbiAgZXhwb3J0IHR5cGUgX19fX19fX19fSWRlbnRpZmllcnMgPSBTZWFyY2hJcmxRdWVyeVsnc2VhcmNoSVJMJ11bJ3Jlc3VsdHMnXVtudW1iZXJdWydyZXR1cm4nXVtudW1iZXJdWyd0aWNrZXRFeHRyYXMnXVtudW1iZXJdWydpZGVudGlmaWVycyddO1xuICBleHBvcnQgdHlwZSBfUGx1c0J1cyA9IFNlYXJjaElybFF1ZXJ5WydzZWFyY2hJUkwnXVsncmVzdWx0cyddW251bWJlcl1bJ3JldHVybiddW251bWJlcl1bJ3BsdXNCdXMnXTtcbiAgZXhwb3J0IHR5cGUgRXJyb3JzID0gU2VhcmNoSXJsUXVlcnlbJ3NlYXJjaElSTCddWydlcnJvcnMnXVtudW1iZXJdO1xufVxuXG5leHBvcnQgbmFtZXNwYWNlIFNlYXJjaElybFN1cHBsaWVyU3RhdGlvbnMge1xuICBleHBvcnQgdHlwZSBWYXJpYWJsZXMgPSBTZWFyY2hJcmxTdXBwbGllclN0YXRpb25zUXVlcnlWYXJpYWJsZXM7XG4gIGV4cG9ydCB0eXBlIFF1ZXJ5ID0gU2VhcmNoSXJsU3VwcGxpZXJTdGF0aW9uc1F1ZXJ5O1xuICBleHBvcnQgdHlwZSBTZWFyY2hJcmxTdXBwbGllclN0YXRpb25zID0gU2VhcmNoSXJsU3VwcGxpZXJTdGF0aW9uc1F1ZXJ5WydzZWFyY2hJUkxTdXBwbGllclN0YXRpb25zJ11bbnVtYmVyXTtcbiAgZXhwb3J0IHR5cGUgTG9jYXRpb25EZXRhaWxzID0gU2VhcmNoSXJsU3VwcGxpZXJTdGF0aW9uc1F1ZXJ5WydzZWFyY2hJUkxTdXBwbGllclN0YXRpb25zJ11bbnVtYmVyXVsnbG9jYXRpb25EZXRhaWxzJ107XG4gIGV4cG9ydCB0eXBlIENvb3JkaW5hdGVzID0gU2VhcmNoSXJsU3VwcGxpZXJTdGF0aW9uc1F1ZXJ5WydzZWFyY2hJUkxTdXBwbGllclN0YXRpb25zJ11bbnVtYmVyXVsnbG9jYXRpb25EZXRhaWxzJ11bJ2Nvb3JkaW5hdGVzJ107XG59XG5cbmV4cG9ydCBuYW1lc3BhY2UgU2VhcmNoUG9zdGNvZGVzIHtcbiAgZXhwb3J0IHR5cGUgVmFyaWFibGVzID0gU2VhcmNoUG9zdGNvZGVzUXVlcnlWYXJpYWJsZXM7XG4gIGV4cG9ydCB0eXBlIFF1ZXJ5ID0gU2VhcmNoUG9zdGNvZGVzUXVlcnk7XG4gIGV4cG9ydCB0eXBlIEdldFBvc3Rjb2RlRGV0YWlscyA9IFNlYXJjaFBvc3Rjb2Rlc1F1ZXJ5WydnZXRQb3N0Y29kZURldGFpbHMnXTtcbn1cblxuZXhwb3J0IG5hbWVzcGFjZSBTZWFyY2hSYWlsU3RhdGlvbnMge1xuICBleHBvcnQgdHlwZSBWYXJpYWJsZXMgPSBTZWFyY2hSYWlsU3RhdGlvbnNRdWVyeVZhcmlhYmxlcztcbiAgZXhwb3J0IHR5cGUgUXVlcnkgPSBTZWFyY2hSYWlsU3RhdGlvbnNRdWVyeTtcbiAgZXhwb3J0IHR5cGUgU2VhcmNoUmFpbFN0YXRpb25zID0gU2VhcmNoUmFpbFN0YXRpb25zUXVlcnlbJ3NlYXJjaFJhaWxTdGF0aW9ucyddW251bWJlcl07XG4gIGV4cG9ydCB0eXBlIExvY2F0aW9uRGV0YWlscyA9IFNlYXJjaFJhaWxTdGF0aW9uc1F1ZXJ5WydzZWFyY2hSYWlsU3RhdGlvbnMnXVtudW1iZXJdWydsb2NhdGlvbkRldGFpbHMnXTtcbiAgZXhwb3J0IHR5cGUgQ29vcmRpbmF0ZXMgPSBTZWFyY2hSYWlsU3RhdGlvbnNRdWVyeVsnc2VhcmNoUmFpbFN0YXRpb25zJ11bbnVtYmVyXVsnbG9jYXRpb25EZXRhaWxzJ11bJ2Nvb3JkaW5hdGVzJ107XG59XG5cbmV4cG9ydCBuYW1lc3BhY2UgU2VhcmNoVXNlckFkZHJlc3Mge1xuICBleHBvcnQgdHlwZSBWYXJpYWJsZXMgPSBTZWFyY2hVc2VyQWRkcmVzc1F1ZXJ5VmFyaWFibGVzO1xuICBleHBvcnQgdHlwZSBRdWVyeSA9IFNlYXJjaFVzZXJBZGRyZXNzUXVlcnk7XG4gIGV4cG9ydCB0eXBlIEdldFVzZXJBZGRyZXNzZXMgPSBTZWFyY2hVc2VyQWRkcmVzc1F1ZXJ5WydnZXRVc2VyQWRkcmVzc2VzJ11bbnVtYmVyXTtcbn1cblxuZXhwb3J0IG5hbWVzcGFjZSBTZXRCYXNrZXRJdGVtTWlHcm91cCB7XG4gIGV4cG9ydCB0eXBlIFZhcmlhYmxlcyA9IFNldEJhc2tldEl0ZW1NaUdyb3VwTXV0YXRpb25WYXJpYWJsZXM7XG4gIGV4cG9ydCB0eXBlIE11dGF0aW9uID0gU2V0QmFza2V0SXRlbU1pR3JvdXBNdXRhdGlvbjtcbiAgZXhwb3J0IHR5cGUgU2V0QmFza2V0SXRlbU1pR3JvdXAgPSBTZXRCYXNrZXRJdGVtTWlHcm91cE11dGF0aW9uWydzZXRCYXNrZXRJdGVtTUlHcm91cCddO1xufVxuXG5leHBvcnQgbmFtZXNwYWNlIFNldEJhc2tldEl0ZW1MZWFkUGFzc2VuZ2VyIHtcbiAgZXhwb3J0IHR5cGUgVmFyaWFibGVzID0gU2V0QmFza2V0SXRlbUxlYWRQYXNzZW5nZXJNdXRhdGlvblZhcmlhYmxlcztcbiAgZXhwb3J0IHR5cGUgTXV0YXRpb24gPSBTZXRCYXNrZXRJdGVtTGVhZFBhc3Nlbmdlck11dGF0aW9uO1xuICBleHBvcnQgdHlwZSBTZXRCYXNrZXRJdGVtTGVhZFBhc3NlbmdlciA9IFNldEJhc2tldEl0ZW1MZWFkUGFzc2VuZ2VyTXV0YXRpb25bJ3NldEJhc2tldEl0ZW1MZWFkUGFzc2VuZ2VyJ107XG59XG5cbmV4cG9ydCBuYW1lc3BhY2UgU2V0QmFza2V0SXRlbU1pVmFsdWUge1xuICBleHBvcnQgdHlwZSBWYXJpYWJsZXMgPSBTZXRCYXNrZXRJdGVtTWlWYWx1ZU11dGF0aW9uVmFyaWFibGVzO1xuICBleHBvcnQgdHlwZSBNdXRhdGlvbiA9IFNldEJhc2tldEl0ZW1NaVZhbHVlTXV0YXRpb247XG4gIGV4cG9ydCB0eXBlIFNldEJhc2tldEl0ZW1NaVZhbHVlID0gU2V0QmFza2V0SXRlbU1pVmFsdWVNdXRhdGlvblsnc2V0QmFza2V0SXRlbU1JVmFsdWUnXTtcbn1cblxuZXhwb3J0IG5hbWVzcGFjZSBTZXRCYXNrZXRJdGVtUGF5bWVudE1ldGhvZCB7XG4gIGV4cG9ydCB0eXBlIFZhcmlhYmxlcyA9IFNldEJhc2tldEl0ZW1QYXltZW50TWV0aG9kTXV0YXRpb25WYXJpYWJsZXM7XG4gIGV4cG9ydCB0eXBlIE11dGF0aW9uID0gU2V0QmFza2V0SXRlbVBheW1lbnRNZXRob2RNdXRhdGlvbjtcbiAgZXhwb3J0IHR5cGUgU2V0QmFza2V0SXRlbVBheW1lbnRNZXRob2QgPSBTZXRCYXNrZXRJdGVtUGF5bWVudE1ldGhvZE11dGF0aW9uWydzZXRCYXNrZXRJdGVtUGF5bWVudE1ldGhvZCddO1xufVxuXG5leHBvcnQgbmFtZXNwYWNlIFVwZGF0ZUJhc2tldE5vdGVzIHtcbiAgZXhwb3J0IHR5cGUgVmFyaWFibGVzID0gVXBkYXRlQmFza2V0Tm90ZXNNdXRhdGlvblZhcmlhYmxlcztcbiAgZXhwb3J0IHR5cGUgTXV0YXRpb24gPSBVcGRhdGVCYXNrZXROb3Rlc011dGF0aW9uO1xuICBleHBvcnQgdHlwZSBVcGRhdGVCYXNrZXROb3RlcyA9IFVwZGF0ZUJhc2tldE5vdGVzTXV0YXRpb25bJ3VwZGF0ZUJhc2tldE5vdGVzJ107XG59XG5cbmV4cG9ydCBuYW1lc3BhY2UgVXBkYXRlQmFza2V0VGl0bGUge1xuICBleHBvcnQgdHlwZSBWYXJpYWJsZXMgPSBVcGRhdGVCYXNrZXRUaXRsZU11dGF0aW9uVmFyaWFibGVzO1xuICBleHBvcnQgdHlwZSBNdXRhdGlvbiA9IFVwZGF0ZUJhc2tldFRpdGxlTXV0YXRpb247XG4gIGV4cG9ydCB0eXBlIFVwZGF0ZUJhc2tldFRpdGxlID0gVXBkYXRlQmFza2V0VGl0bGVNdXRhdGlvblsndXBkYXRlQmFza2V0VGl0bGUnXTtcbn1cblxuZXhwb3J0IG5hbWVzcGFjZSBVc2VyRmllbGRzIHtcbiAgZXhwb3J0IHR5cGUgRnJhZ21lbnQgPSBVc2VyRmllbGRzRnJhZ21lbnQ7XG4gIGV4cG9ydCB0eXBlIFNlbGVjdGVkTGFuZ3VhZ2UgPSBVc2VyRmllbGRzRnJhZ21lbnRbJ3NlbGVjdGVkTGFuZ3VhZ2UnXTtcbiAgZXhwb3J0IHR5cGUgQXZhaWxhYmxlTGFuZ3VhZ2VzID0gVXNlckZpZWxkc0ZyYWdtZW50WydhdmFpbGFibGVMYW5ndWFnZXMnXVtudW1iZXJdO1xuICBleHBvcnQgdHlwZSBQYXNzcG9ydHMgPSBVc2VyRmllbGRzRnJhZ21lbnRbJ3Bhc3Nwb3J0cyddW251bWJlcl07XG4gIGV4cG9ydCB0eXBlIEFkZHJlc3NlcyA9IFVzZXJGaWVsZHNGcmFnbWVudFsnYWRkcmVzc2VzJ11bbnVtYmVyXTtcbiAgZXhwb3J0IHR5cGUgUGhvbmVOdW1iZXJzID0gVXNlckZpZWxkc0ZyYWdtZW50WydwaG9uZU51bWJlcnMnXVtudW1iZXJdO1xufVxuXG5leHBvcnQgbmFtZXNwYWNlIEdldFVzZXJTZXJ2aWNlcyB7XG4gIGV4cG9ydCB0eXBlIFZhcmlhYmxlcyA9IEdldFVzZXJTZXJ2aWNlc1F1ZXJ5VmFyaWFibGVzO1xuICBleHBvcnQgdHlwZSBRdWVyeSA9IEdldFVzZXJTZXJ2aWNlc1F1ZXJ5O1xuICBleHBvcnQgdHlwZSBHZXRVc2VyU2VydmljZXMgPSBHZXRVc2VyU2VydmljZXNRdWVyeVsnZ2V0VXNlclNlcnZpY2VzJ11bbnVtYmVyXTtcbn1cblxuZXhwb3J0IG5hbWVzcGFjZSBHZXRVc2VyVWlDb25maWdzIHtcbiAgZXhwb3J0IHR5cGUgVmFyaWFibGVzID0gR2V0VXNlclVpQ29uZmlnc1F1ZXJ5VmFyaWFibGVzO1xuICBleHBvcnQgdHlwZSBRdWVyeSA9IEdldFVzZXJVaUNvbmZpZ3NRdWVyeTtcbiAgZXhwb3J0IHR5cGUgR2V0VXNlclVpQ29uZmlncyA9IEdldFVzZXJVaUNvbmZpZ3NRdWVyeVsnZ2V0VXNlclVJQ29uZmlncyddO1xuICBleHBvcnQgdHlwZSBBbGwgPSBHZXRVc2VyVWlDb25maWdzUXVlcnlbJ2dldFVzZXJVSUNvbmZpZ3MnXVsnYWxsJ11bbnVtYmVyXTtcbn1cblxuZXhwb3J0IG5hbWVzcGFjZSBHZXRVc2VyTWVzc2FnZXMge1xuICBleHBvcnQgdHlwZSBWYXJpYWJsZXMgPSBHZXRVc2VyTWVzc2FnZXNRdWVyeVZhcmlhYmxlcztcbiAgZXhwb3J0IHR5cGUgUXVlcnkgPSBHZXRVc2VyTWVzc2FnZXNRdWVyeTtcbiAgZXhwb3J0IHR5cGUgR2V0VXNlck1lc3NhZ2VzID0gR2V0VXNlck1lc3NhZ2VzUXVlcnlbJ2dldFVzZXJNZXNzYWdlcyddW251bWJlcl07XG59XG5cbmV4cG9ydCBuYW1lc3BhY2UgR2V0VXNlclBob25lTnVtYmVycyB7XG4gIGV4cG9ydCB0eXBlIFZhcmlhYmxlcyA9IEdldFVzZXJQaG9uZU51bWJlcnNRdWVyeVZhcmlhYmxlcztcbiAgZXhwb3J0IHR5cGUgUXVlcnkgPSBHZXRVc2VyUGhvbmVOdW1iZXJzUXVlcnk7XG4gIGV4cG9ydCB0eXBlIEdldFVzZXJQaG9uZU51bWJlcnMgPSBHZXRVc2VyUGhvbmVOdW1iZXJzUXVlcnlbJ2dldFVzZXJQaG9uZU51bWJlcnMnXVtudW1iZXJdO1xufVxuXG5leHBvcnQgbmFtZXNwYWNlIFNldFVzZXJMYW5ndWFnZSB7XG4gIGV4cG9ydCB0eXBlIFZhcmlhYmxlcyA9IFNldFVzZXJMYW5ndWFnZU11dGF0aW9uVmFyaWFibGVzO1xuICBleHBvcnQgdHlwZSBNdXRhdGlvbiA9IFNldFVzZXJMYW5ndWFnZU11dGF0aW9uO1xuICBleHBvcnQgdHlwZSBTZXRVc2VyTGFuZ3VhZ2UgPSBTZXRVc2VyTGFuZ3VhZ2VNdXRhdGlvblsnc2V0VXNlckxhbmd1YWdlJ107XG4gIGV4cG9ydCB0eXBlIFNlbGVjdGVkTGFuZ3VhZ2UgPSBTZXRVc2VyTGFuZ3VhZ2VNdXRhdGlvblsnc2V0VXNlckxhbmd1YWdlJ11bJ3NlbGVjdGVkTGFuZ3VhZ2UnXTtcbn1cblxuZXhwb3J0IG5hbWVzcGFjZSBHZXRVc2VyIHtcbiAgZXhwb3J0IHR5cGUgVmFyaWFibGVzID0gR2V0VXNlclF1ZXJ5VmFyaWFibGVzO1xuICBleHBvcnQgdHlwZSBRdWVyeSA9IEdldFVzZXJRdWVyeTtcbiAgZXhwb3J0IHR5cGUgR2V0VXNlciA9IEdldFVzZXJRdWVyeVsnZ2V0VXNlciddO1xufVxuXG5leHBvcnQgbmFtZXNwYWNlIFNlYXJjaFVzZXJDYW5Cb29rRm9yIHtcbiAgZXhwb3J0IHR5cGUgVmFyaWFibGVzID0gU2VhcmNoVXNlckNhbkJvb2tGb3JRdWVyeVZhcmlhYmxlcztcbiAgZXhwb3J0IHR5cGUgUXVlcnkgPSBTZWFyY2hVc2VyQ2FuQm9va0ZvclF1ZXJ5O1xuICBleHBvcnQgdHlwZSBTZWFyY2hVc2VyQ2FuQm9va0ZvciA9IFNlYXJjaFVzZXJDYW5Cb29rRm9yUXVlcnlbJ3NlYXJjaFVzZXJDYW5Cb29rRm9yJ11bbnVtYmVyXTtcbn1cblxuZXhwb3J0IG5hbWVzcGFjZSBWYWxpZGF0ZVVzZXJNaUZyZWVWYWx1ZSB7XG4gIGV4cG9ydCB0eXBlIFZhcmlhYmxlcyA9IFZhbGlkYXRlVXNlck1pRnJlZVZhbHVlUXVlcnlWYXJpYWJsZXM7XG4gIGV4cG9ydCB0eXBlIFF1ZXJ5ID0gVmFsaWRhdGVVc2VyTWlGcmVlVmFsdWVRdWVyeTtcbn1cblxuZXhwb3J0IGNvbnN0IE93bmVyRmllbGRzRnJhZ21lbnREb2MgPSBncWxgXG4gICAgZnJhZ21lbnQgT3duZXJGaWVsZHMgb24gVXNlciB7XG4gIGlkXG4gIHRpdGxlXG4gIGZvcmVuYW1lXG4gIHN1cm5hbWVcbiAgZW1haWxcbn1cbiAgICBgO1xuZXhwb3J0IGNvbnN0IFRyYXZlbGxlckZpZWxkc0ZyYWdtZW50RG9jID0gZ3FsYFxuICAgIGZyYWdtZW50IFRyYXZlbGxlckZpZWxkcyBvbiBVc2VyIHtcbiAgaWRcbiAgdGl0bGVcbiAgZm9yZW5hbWVcbiAgc3VybmFtZVxuICBlbWFpbFxuICB1c2VybmFtZVxuICBlbXBsb3llZUlkXG59XG4gICAgYDtcbmV4cG9ydCBjb25zdCBCYXNrZXRGaWVsZHNGcmFnbWVudERvYyA9IGdxbGBcbiAgICBmcmFnbWVudCBCYXNrZXRGaWVsZHMgb24gQmFza2V0IHtcbiAgaWRcbiAgb3duZXIge1xuICAgIC4uLk93bmVyRmllbGRzXG4gIH1cbiAgcmVmZXJlbmNlXG4gIHRpdGxlXG4gIG5vdGVzXG4gIGNyZWF0ZWRBdFxuICB1cGRhdGVkQXRcbiAgYm9va2VkQXRcbiAgYmFza2V0SXRlbXMge1xuICAgIGlkXG4gICAgYWR1bHRzXG4gICAgY2hpbGRyZW5cbiAgICBpbmZhbnRzXG4gICAgZGV0YWlsXG4gICAgZGV0YWlsSGFzaFxuICAgIGNyZWF0ZWRBdFxuICAgIHVwZGF0ZWRBdFxuICAgIGV4cGlyeVxuICAgIGV4cGlyZWRcbiAgICBzZWFyY2hRdWVyeVxuICAgIHByaWNlXG4gICAgY3VycmVuY3lcbiAgICBtaUdyb3Vwc0F2YWlsYWJsZVxuICAgIG1pR3JvdXBTZWxlY3RlZFxuICAgIHZhbGlkYXRlZFxuICAgIGxhdGVzdFZhbGlkYXRpb25cbiAgICBsYXRlc3RWYWxpZGF0aW9uUHJpY2VcbiAgICBsYXRlc3RWYWxpZGF0aW9uUHJpY2VEaWZmZXJlbmNlXG4gICAgbGF0ZXN0VmFsaWRhdGlvbkF2YWlsYWJsZVxuICAgIGJvb2tpbmdUaGlyZFBhcnR5UmVmZXJlbmNlXG4gICAgcG5yTG9jYXRvclxuICAgIHN0YXR1c1xuICAgIGF2YWlsYWJsZVBheW1lbnRNZXRob2RzIHtcbiAgICAgIGlkXG4gICAgICBuYW1lXG4gICAgICBkZXNjcmlwdGlvblxuICAgIH1cbiAgICBzZWxlY3RlZFBheW1lbnRNZXRob2Qge1xuICAgICAgaWRcbiAgICAgIG5hbWVcbiAgICAgIGRlc2NyaXB0aW9uXG4gICAgfVxuICAgIHBlckl0ZW1TdXBwbGVtZW50YXJ5Qm9va2luZ0luZm9TY2hlbWEgQGluY2x1ZGUoaWY6ICR3aXRoU3VwcGxlbWVudGFsKVxuICAgIHBlclBhc3NlbmdlclN1cHBsZW1lbnRhcnlCb29raW5nSW5mb1NjaGVtYSBAaW5jbHVkZShpZjogJHdpdGhTdXBwbGVtZW50YWwpXG4gICAgcGVySXRlbUFkZHJlc3MgQGluY2x1ZGUoaWY6ICR3aXRoU3VwcGxlbWVudGFsKVxuICAgIHBlckl0ZW1QaG9uZU51bWJlciBAaW5jbHVkZShpZjogJHdpdGhTdXBwbGVtZW50YWwpXG4gICAgcGVyUGFzc2VuZ2VyQWRkcmVzcyBAaW5jbHVkZShpZjogJHdpdGhTdXBwbGVtZW50YWwpXG4gICAgcGVyUGFzc2VuZ2VyUGhvbmVOdW1iZXIgQGluY2x1ZGUoaWY6ICR3aXRoU3VwcGxlbWVudGFsKVxuICAgIGNhbmNlbGxhYmxlXG4gICAgYW1lbmRhYmxlXG4gICAgY28yUGVySXRlbVxuICAgIGNvMlBlclBhc3NlbmdlclxuICAgIG91dGJvdW5kRGF0ZVxuICAgIGluYm91bmREYXRlXG4gICAgc2VydmljZSB7XG4gICAgICBpZFxuICAgICAgdHlwZVxuICAgIH1cbiAgICB1c2VycyB7XG4gICAgICAuLi5UcmF2ZWxsZXJGaWVsZHNcbiAgICB9XG4gICAgdXNlclBhc3NlbmdlclR5cGVzIHtcbiAgICAgIGlkXG4gICAgICBwYXNzZW5nZXJUeXBlXG4gICAgfVxuICAgIGxlYWRQYXNzZW5nZXIge1xuICAgICAgLi4uVHJhdmVsbGVyRmllbGRzXG4gICAgfVxuICAgIG1hbmFnZW1lbnRJbmZvIHtcbiAgICAgIGlkXG4gICAgICBkYklkXG4gICAgICBuYW1lXG4gICAgICBkZXNjcmlwdGlvblxuICAgICAgaGFuZG9mZlxuICAgICAgdmFsdWVNYXNrXG4gICAgICB1aVByZXNlbnRhdGlvblxuICAgICAgbWFuZGF0b3J5XG4gICAgICBwZXJQYXNzZW5nZXJcbiAgICAgIHBlckJvb2tpbmdcbiAgICAgIGFnZW50T25seVxuICAgICAgY3JlYXRlZEF0XG4gICAgICB1cGRhdGVkQXRcbiAgICAgIGZpeGVkXG4gICAgICBmaXhlZFZhbHVlIHtcbiAgICAgICAgaWRcbiAgICAgICAgbGFiZWxcbiAgICAgICAgdmFsdWVcbiAgICAgICAgZGVmYXVsdFxuICAgICAgICBmaXhlZFxuICAgICAgICBhZ2VudE9ubHlcbiAgICAgIH1cbiAgICAgIGRlZmF1bHRWYWx1ZSB7XG4gICAgICAgIGlkXG4gICAgICAgIGxhYmVsXG4gICAgICAgIHZhbHVlXG4gICAgICAgIGRlZmF1bHRcbiAgICAgICAgZml4ZWRcbiAgICAgICAgYWdlbnRPbmx5XG4gICAgICB9XG4gICAgICB2YWx1ZXMge1xuICAgICAgICBpZFxuICAgICAgICBsYWJlbFxuICAgICAgICB2YWx1ZVxuICAgICAgICBkZWZhdWx0XG4gICAgICAgIGZpeGVkXG4gICAgICAgIGFnZW50T25seVxuICAgICAgfVxuICAgICAgZ3JvdXBcbiAgICAgIHNlbGVjdGVkVmFsdWVzIHtcbiAgICAgICAgdmFsdWUge1xuICAgICAgICAgIGlkXG4gICAgICAgICAgbGFiZWxcbiAgICAgICAgICB2YWx1ZVxuICAgICAgICAgIGRlZmF1bHRcbiAgICAgICAgICBmaXhlZFxuICAgICAgICAgIGFnZW50T25seVxuICAgICAgICB9XG4gICAgICAgIGZyZWVWYWx1ZVxuICAgICAgICBiYXNrZXRMZXZlbFZhbHVlXG4gICAgICAgIHVzZXJMZXZlbFZhbHVlXG4gICAgICAgIHVzZXIge1xuICAgICAgICAgIGlkXG4gICAgICAgICAgdGl0bGVcbiAgICAgICAgICBmb3JlbmFtZVxuICAgICAgICAgIHN1cm5hbWVcbiAgICAgICAgICBlbWFpbFxuICAgICAgICAgIHVzZXJuYW1lXG4gICAgICAgICAgZW1wbG95ZWVJZFxuICAgICAgICAgIGNyZWF0ZWRBdFxuICAgICAgICAgIHVwZGF0ZWRBdFxuICAgICAgICAgIGRvYlxuICAgICAgICAgIGFkbWluXG4gICAgICAgICAgY29tcGFueUFkbWluXG4gICAgICAgICAgYm9va2VyVHlwZVxuICAgICAgICAgIGF1dGhNZXRob2RzXG4gICAgICAgICAgYWN0aXZlXG4gICAgICAgICAgcGFzc3dvcmRMYXN0VXBkYXRlZFxuICAgICAgICB9XG4gICAgICB9XG4gICAgfVxuICB9XG4gIHN0YXR1c1xuICBjb21wYW55R3JvdXAge1xuICAgIGlkXG4gICAgbmFtZVxuICAgIGRlc2NyaXB0aW9uXG4gICAgY3JlYXRlZEF0XG4gICAgdXBkYXRlZEF0XG4gIH1cbiAgdmFsaWRhdGVkXG59XG4gICAgJHtPd25lckZpZWxkc0ZyYWdtZW50RG9jfVxuJHtUcmF2ZWxsZXJGaWVsZHNGcmFnbWVudERvY31gO1xuZXhwb3J0IGNvbnN0IEVycm9yc0ZyYWdtZW50RG9jID0gZ3FsYFxuICAgIGZyYWdtZW50IEVycm9ycyBvbiBTZWFyY2hFcnJvciB7XG4gIHNlcnZpY2Uge1xuICAgIGlkXG4gICAgdHlwZVxuICAgIG5hbWVcbiAgICBkZXNjcmlwdGlvblxuICB9XG4gIGVycm9yTWVzc2FnZVxuICBlcnJvckNvZGVcbn1cbiAgICBgO1xuZXhwb3J0IGNvbnN0IEdyb3VwZWRGaWVsZHNGcmFnbWVudERvYyA9IGdxbGBcbiAgICBmcmFnbWVudCBHcm91cGVkRmllbGRzIG9uIEdyb3VwRmxpZ2h0cyB7XG4gIHJlZmVyZW5jZUlEXG4gIGZsaWdodElEXG4gIGJvdW5kSW5kaWNhdG9yXG4gIG1pblByaWNlXG4gIG1heFByaWNlXG4gIGZsaWdodHMge1xuICAgIEVjb25vbXlSZXN0cmljdGVkXG4gICAgRWNvbm9teU5vQmFnc1xuICAgIEVjb25vbXlGbGV4aVxuICAgIFByZW1pdW1FY29ub215XG4gICAgQnVzaW5lc3NcbiAgICBGaXJzdFxuICB9XG59XG4gICAgYDtcbmV4cG9ydCBjb25zdCBMb2NhdGlvbl9EZXRhaWxGcmFnbWVudERvYyA9IGdxbGBcbiAgICBmcmFnbWVudCBMT0NBVElPTl9ERVRBSUwgb24gTG9jYXRpb25EZXRhaWwge1xuICBjb250aW5lbnRcbiAgY291bnRyeVxuICBjb3VudHJ5Q29kZVxuICBzdGF0ZVxuICBjaXR5XG4gIGNvb3JkaW5hdGVzIHtcbiAgICBsYXRpdHVkZVxuICAgIGxvbmdpdHVkZVxuICAgIGFsdGl0dWRlXG4gIH1cbiAgcG9zdGNvZGVcbiAgcm9hZFxuICBncmlkUmVmZXJlbmNlXG4gIG5vcnRoaW5nXG4gIGVhc3Rpbmdcbn1cbiAgICBgO1xuZXhwb3J0IGNvbnN0IFVzZXJGaWVsZHNGcmFnbWVudERvYyA9IGdxbGBcbiAgICBmcmFnbWVudCBVc2VyRmllbGRzIG9uIFVzZXIge1xuICBpZFxuICB0aXRsZVxuICBmb3JlbmFtZVxuICBzdXJuYW1lXG4gIGVtYWlsXG4gIHVzZXJuYW1lXG4gIGVtcGxveWVlSWRcbiAgY3JlYXRlZEF0XG4gIHVwZGF0ZWRBdFxuICBkb2JcbiAgYWRtaW5cbiAgdG1jQWRtaW5cbiAgY29tcGFueUFkbWluXG4gIGJvb2tlclR5cGVcbiAgYXV0aE1ldGhvZHNcbiAgYWN0aXZlXG4gIHBhc3N3b3JkTGFzdFVwZGF0ZWRcbiAgc2VsZWN0ZWRMYW5ndWFnZSB7XG4gICAgaWRcbiAgICBuYW1lXG4gICAgaXNvQ29kZVxuICB9XG4gIGF2YWlsYWJsZUxhbmd1YWdlcyB7XG4gICAgaWRcbiAgICBuYW1lXG4gICAgaXNvQ29kZVxuICB9XG4gIHBhc3Nwb3J0cyB7XG4gICAgaWRcbiAgICBudW1iZXJcbiAgICBjb2RlT2ZJc3N1aW5nU3RhdGVcbiAgICBuYXRpb25hbGl0eVxuICAgIHNleFxuICAgIGRvYlxuICAgIHN1cm5hbWVcbiAgICBnaXZlbk5hbWVzXG4gICAgZGF0ZU9mSXNzdWVcbiAgICBjcmVhdGVkQXRcbiAgICB1cGRhdGVkQXRcbiAgfVxuICBhZGRyZXNzZXMge1xuICAgIGlkXG4gICAgZGVzY3JpcHRpb25cbiAgICBudW1iZXJPck5hbWVcbiAgICBzdHJlZXRcbiAgICB0b3duXG4gICAgY291bnR5XG4gICAgcG9zdGNvZGVcbiAgICBjb3VudHJ5Q29kZVxuICAgIHVzZXJQcmltYXJ5XG4gICAgb2ZmaWNlUHJpbWFyeVxuICB9XG4gIHBob25lTnVtYmVycyB7XG4gICAgaWRcbiAgICBkZXNjcmlwdGlvblxuICAgIGNvdW50cnlDb2RlXG4gICAgYXJlYUNvZGVcbiAgICBudW1iZXJcbiAgICBleHRlbnNpb25cbiAgICB0eXBlXG4gICAgb2ZmaWNlUHJpbWFyeVxuICAgIHVzZXJQcmltYXJ5XG4gIH1cbn1cbiAgICBgO1xuZXhwb3J0IGNvbnN0IEFjY2VwdE5ld1ByaWNlRG9jdW1lbnQgPSBncWxgXG4gICAgbXV0YXRpb24gYWNjZXB0TmV3UHJpY2UoJGlkOiBJRCEsICR3aXRoU3VwcGxlbWVudGFsOiBCb29sZWFuID0gZmFsc2UpIHtcbiAgYWNjZXB0TmV3UHJpY2UoaWQ6ICRpZCkge1xuICAgIC4uLkJhc2tldEZpZWxkc1xuICB9XG59XG4gICAgJHtCYXNrZXRGaWVsZHNGcmFnbWVudERvY31gO1xuXG4gIEBJbmplY3RhYmxlKHtcbiAgICBwcm92aWRlZEluOiAncm9vdCdcbiAgfSlcbiAgZXhwb3J0IGNsYXNzIEFjY2VwdE5ld1ByaWNlR1FMIGV4dGVuZHMgQXBvbGxvLk11dGF0aW9uPEFjY2VwdE5ld1ByaWNlTXV0YXRpb24sIEFjY2VwdE5ld1ByaWNlTXV0YXRpb25WYXJpYWJsZXM+IHtcbiAgICBkb2N1bWVudCA9IEFjY2VwdE5ld1ByaWNlRG9jdW1lbnQ7XG4gICAgXG4gICAgY29uc3RydWN0b3IoYXBvbGxvOiBBcG9sbG8uQXBvbGxvKSB7XG4gICAgICBzdXBlcihhcG9sbG8pO1xuICAgIH1cbiAgfVxuZXhwb3J0IGNvbnN0IEFkZFVzZXJzVG9CYXNrZXRJdGVtRG9jdW1lbnQgPSBncWxgXG4gICAgbXV0YXRpb24gYWRkVXNlcnNUb0Jhc2tldEl0ZW0oJGJhc2tldEl0ZW06IElEISwgJHVzZXJzOiBbVXNlclBhc3NlbmdlclR5cGVJbnB1dCFdISwgJHdpdGhTdXBwbGVtZW50YWw6IEJvb2xlYW4hKSB7XG4gIGFkZFVzZXJzVG9CYXNrZXRJdGVtKGJhc2tldEl0ZW06ICRiYXNrZXRJdGVtLCB1c2VyczogJHVzZXJzKSB7XG4gICAgLi4uQmFza2V0RmllbGRzXG4gIH1cbn1cbiAgICAke0Jhc2tldEZpZWxkc0ZyYWdtZW50RG9jfWA7XG5cbiAgQEluamVjdGFibGUoe1xuICAgIHByb3ZpZGVkSW46ICdyb290J1xuICB9KVxuICBleHBvcnQgY2xhc3MgQWRkVXNlcnNUb0Jhc2tldEl0ZW1HUUwgZXh0ZW5kcyBBcG9sbG8uTXV0YXRpb248QWRkVXNlcnNUb0Jhc2tldEl0ZW1NdXRhdGlvbiwgQWRkVXNlcnNUb0Jhc2tldEl0ZW1NdXRhdGlvblZhcmlhYmxlcz4ge1xuICAgIGRvY3VtZW50ID0gQWRkVXNlcnNUb0Jhc2tldEl0ZW1Eb2N1bWVudDtcbiAgICBcbiAgICBjb25zdHJ1Y3RvcihhcG9sbG86IEFwb2xsby5BcG9sbG8pIHtcbiAgICAgIHN1cGVyKGFwb2xsbyk7XG4gICAgfVxuICB9XG5leHBvcnQgY29uc3QgR2V0VXNlckJhc2tldHNEb2N1bWVudCA9IGdxbGBcbiAgICBxdWVyeSBnZXRVc2VyQmFza2V0cygkdXNlcjogSUQsICR0cmF2ZWxsZXI6IElELCAkYmFza2V0U3RhdHVzOiBCYXNrZXRTdGF0dXMsICRjcmVhdGVkQWZ0ZXI6IERhdGVUaW1lLCAkY3JlYXRlZEJlZm9yZTogRGF0ZVRpbWUsICRib29rZWRBZnRlcjogRGF0ZVRpbWUsICRib29rZWRCZWZvcmU6IERhdGVUaW1lLCAkZGF0ZU9mVHJhdmVsQmVmb3JlOiBEYXRlVGltZSwgJGRhdGVPZlRyYXZlbEFmdGVyOiBEYXRlVGltZSwgJGJhc2tldEl0ZW1Cb29raW5nUmVmZXJlbmNlOiBTdHJpbmcsICRiYXNrZXRSZWZlcmVuY2U6IFN0cmluZywgJGJhc2tldFRpdGxlOiBTdHJpbmcsICR3aXRoU3VwcGxlbWVudGFsOiBCb29sZWFuID0gZmFsc2UpIHtcbiAgZ2V0VXNlckJhc2tldHModXNlcjogJHVzZXIsIHRyYXZlbGxlcjogJHRyYXZlbGxlciwgYmFza2V0U3RhdHVzOiAkYmFza2V0U3RhdHVzLCBjcmVhdGVkQWZ0ZXI6ICRjcmVhdGVkQWZ0ZXIsIGNyZWF0ZWRCZWZvcmU6ICRjcmVhdGVkQmVmb3JlLCBib29rZWRBZnRlcjogJGJvb2tlZEFmdGVyLCBib29rZWRCZWZvcmU6ICRib29rZWRCZWZvcmUsIGRhdGVPZlRyYXZlbEJlZm9yZTogJGRhdGVPZlRyYXZlbEJlZm9yZSwgZGF0ZU9mVHJhdmVsQWZ0ZXI6ICRkYXRlT2ZUcmF2ZWxBZnRlciwgYmFza2V0SXRlbUJvb2tpbmdSZWZlcmVuY2U6ICRiYXNrZXRJdGVtQm9va2luZ1JlZmVyZW5jZSwgYmFza2V0UmVmZXJlbmNlOiAkYmFza2V0UmVmZXJlbmNlLCBiYXNrZXRUaXRsZTogJGJhc2tldFRpdGxlKSB7XG4gICAgLi4uQmFza2V0RmllbGRzXG4gIH1cbn1cbiAgICAke0Jhc2tldEZpZWxkc0ZyYWdtZW50RG9jfWA7XG5cbiAgQEluamVjdGFibGUoe1xuICAgIHByb3ZpZGVkSW46ICdyb290J1xuICB9KVxuICBleHBvcnQgY2xhc3MgR2V0VXNlckJhc2tldHNHUUwgZXh0ZW5kcyBBcG9sbG8uUXVlcnk8R2V0VXNlckJhc2tldHNRdWVyeSwgR2V0VXNlckJhc2tldHNRdWVyeVZhcmlhYmxlcz4ge1xuICAgIGRvY3VtZW50ID0gR2V0VXNlckJhc2tldHNEb2N1bWVudDtcbiAgICBcbiAgICBjb25zdHJ1Y3RvcihhcG9sbG86IEFwb2xsby5BcG9sbG8pIHtcbiAgICAgIHN1cGVyKGFwb2xsbyk7XG4gICAgfVxuICB9XG5leHBvcnQgY29uc3QgRGVsZXRlQmFza2V0RG9jdW1lbnQgPSBncWxgXG4gICAgbXV0YXRpb24gZGVsZXRlQmFza2V0KCRpZDogSUQsICRyZWZlcmVuY2U6IFN0cmluZykge1xuICBkZWxldGVCYXNrZXQoaWQ6ICRpZCwgcmVmZXJlbmNlOiAkcmVmZXJlbmNlKVxufVxuICAgIGA7XG5cbiAgQEluamVjdGFibGUoe1xuICAgIHByb3ZpZGVkSW46ICdyb290J1xuICB9KVxuICBleHBvcnQgY2xhc3MgRGVsZXRlQmFza2V0R1FMIGV4dGVuZHMgQXBvbGxvLk11dGF0aW9uPERlbGV0ZUJhc2tldE11dGF0aW9uLCBEZWxldGVCYXNrZXRNdXRhdGlvblZhcmlhYmxlcz4ge1xuICAgIGRvY3VtZW50ID0gRGVsZXRlQmFza2V0RG9jdW1lbnQ7XG4gICAgXG4gICAgY29uc3RydWN0b3IoYXBvbGxvOiBBcG9sbG8uQXBvbGxvKSB7XG4gICAgICBzdXBlcihhcG9sbG8pO1xuICAgIH1cbiAgfVxuZXhwb3J0IGNvbnN0IENyZWF0ZUJhc2tldERvY3VtZW50ID0gZ3FsYFxuICAgIG11dGF0aW9uIGNyZWF0ZUJhc2tldCgkdGl0bGU6IFN0cmluZywgJHdpdGhTdXBwbGVtZW50YWw6IEJvb2xlYW4gPSBmYWxzZSkge1xuICBjcmVhdGVCYXNrZXQodGl0bGU6ICR0aXRsZSkge1xuICAgIC4uLkJhc2tldEZpZWxkc1xuICB9XG59XG4gICAgJHtCYXNrZXRGaWVsZHNGcmFnbWVudERvY31gO1xuXG4gIEBJbmplY3RhYmxlKHtcbiAgICBwcm92aWRlZEluOiAncm9vdCdcbiAgfSlcbiAgZXhwb3J0IGNsYXNzIENyZWF0ZUJhc2tldEdRTCBleHRlbmRzIEFwb2xsby5NdXRhdGlvbjxDcmVhdGVCYXNrZXRNdXRhdGlvbiwgQ3JlYXRlQmFza2V0TXV0YXRpb25WYXJpYWJsZXM+IHtcbiAgICBkb2N1bWVudCA9IENyZWF0ZUJhc2tldERvY3VtZW50O1xuICAgIFxuICAgIGNvbnN0cnVjdG9yKGFwb2xsbzogQXBvbGxvLkFwb2xsbykge1xuICAgICAgc3VwZXIoYXBvbGxvKTtcbiAgICB9XG4gIH1cbmV4cG9ydCBjb25zdCBSZW1vdmVJdGVtRnJvbUJhc2tldERvY3VtZW50ID0gZ3FsYFxuICAgIG11dGF0aW9uIHJlbW92ZUl0ZW1Gcm9tQmFza2V0KCRiYXNrZXRJdGVtOiBJRCEsICR3aXRoU3VwcGxlbWVudGFsOiBCb29sZWFuID0gZmFsc2UpIHtcbiAgcmVtb3ZlSXRlbUZyb21CYXNrZXQoYmFza2V0SXRlbTogJGJhc2tldEl0ZW0pIHtcbiAgICAuLi5CYXNrZXRGaWVsZHNcbiAgfVxufVxuICAgICR7QmFza2V0RmllbGRzRnJhZ21lbnREb2N9YDtcblxuICBASW5qZWN0YWJsZSh7XG4gICAgcHJvdmlkZWRJbjogJ3Jvb3QnXG4gIH0pXG4gIGV4cG9ydCBjbGFzcyBSZW1vdmVJdGVtRnJvbUJhc2tldEdRTCBleHRlbmRzIEFwb2xsby5NdXRhdGlvbjxSZW1vdmVJdGVtRnJvbUJhc2tldE11dGF0aW9uLCBSZW1vdmVJdGVtRnJvbUJhc2tldE11dGF0aW9uVmFyaWFibGVzPiB7XG4gICAgZG9jdW1lbnQgPSBSZW1vdmVJdGVtRnJvbUJhc2tldERvY3VtZW50O1xuICAgIFxuICAgIGNvbnN0cnVjdG9yKGFwb2xsbzogQXBvbGxvLkFwb2xsbykge1xuICAgICAgc3VwZXIoYXBvbGxvKTtcbiAgICB9XG4gIH1cbmV4cG9ydCBjb25zdCBTZW5kQmFza2V0Rm9yQXBwcm92YWxEb2N1bWVudCA9IGdxbGBcbiAgICBtdXRhdGlvbiBzZW5kQmFza2V0Rm9yQXBwcm92YWwoJGJhc2tldDogSUQhLCAkd2l0aFN1cHBsZW1lbnRhbDogQm9vbGVhbiA9IHRydWUpIHtcbiAgc2VuZEJhc2tldEZvckFwcHJvdmFsKGJhc2tldDogJGJhc2tldCkge1xuICAgIC4uLkJhc2tldEZpZWxkc1xuICB9XG59XG4gICAgJHtCYXNrZXRGaWVsZHNGcmFnbWVudERvY31gO1xuXG4gIEBJbmplY3RhYmxlKHtcbiAgICBwcm92aWRlZEluOiAncm9vdCdcbiAgfSlcbiAgZXhwb3J0IGNsYXNzIFNlbmRCYXNrZXRGb3JBcHByb3ZhbEdRTCBleHRlbmRzIEFwb2xsby5NdXRhdGlvbjxTZW5kQmFza2V0Rm9yQXBwcm92YWxNdXRhdGlvbiwgU2VuZEJhc2tldEZvckFwcHJvdmFsTXV0YXRpb25WYXJpYWJsZXM+IHtcbiAgICBkb2N1bWVudCA9IFNlbmRCYXNrZXRGb3JBcHByb3ZhbERvY3VtZW50O1xuICAgIFxuICAgIGNvbnN0cnVjdG9yKGFwb2xsbzogQXBvbGxvLkFwb2xsbykge1xuICAgICAgc3VwZXIoYXBvbGxvKTtcbiAgICB9XG4gIH1cbmV4cG9ydCBjb25zdCBBZGRJdGVtVG9CYXNrZXREb2N1bWVudCA9IGdxbGBcbiAgICBtdXRhdGlvbiBhZGRJdGVtVG9CYXNrZXQoJGJhc2tldDogSUQsICRzZXJ2aWNlOiBJRCEsICRkZXRhaWw6IEpTT04hLCAkYWR1bHRzOiBJbnQhLCAkY2hpbGRyZW46IEludCwgJGluZmFudHM6IEludCwgJHByaWNlOiBGbG9hdCEsICRjdXJyZW5jeTogQ3VycmVuY3lDb2RlISwgJHNlYXJjaFF1ZXJ5OiBKU09OISwgJHF1aWNrQWRkOiBCb29sZWFuLCAkdXNlcnM6IFtVc2VyUGFzc2VuZ2VyVHlwZUlucHV0XSwgJGxlYWRQYXNzZW5nZXI6IElELCAkY28yUGVySXRlbTogRmxvYXQsICRjbzJQZXJQYXNzZW5nZXI6IEZsb2F0LCAkb3V0Ym91bmREYXRlOiBEYXRlVGltZSEsICRpbmJvdW5kRGF0ZTogRGF0ZVRpbWUsICR3aXRoU3VwcGxlbWVudGFsOiBCb29sZWFuID0gZmFsc2UpIHtcbiAgYWRkSXRlbVRvQmFza2V0KGJhc2tldDogJGJhc2tldCwgc2VydmljZTogJHNlcnZpY2UsIGRldGFpbDogJGRldGFpbCwgYWR1bHRzOiAkYWR1bHRzLCBjaGlsZHJlbjogJGNoaWxkcmVuLCBpbmZhbnRzOiAkaW5mYW50cywgcHJpY2U6ICRwcmljZSwgY3VycmVuY3k6ICRjdXJyZW5jeSwgc2VhcmNoUXVlcnk6ICRzZWFyY2hRdWVyeSwgcXVpY2tBZGQ6ICRxdWlja0FkZCwgdXNlcnM6ICR1c2VycywgbGVhZFBhc3NlbmdlcjogJGxlYWRQYXNzZW5nZXIsIGNvMlBlckl0ZW06ICRjbzJQZXJJdGVtLCBjbzJQZXJQYXNzZW5nZXI6ICRjbzJQZXJQYXNzZW5nZXIsIG91dGJvdW5kRGF0ZTogJG91dGJvdW5kRGF0ZSwgaW5ib3VuZERhdGU6ICRpbmJvdW5kRGF0ZSkge1xuICAgIC4uLkJhc2tldEZpZWxkc1xuICB9XG59XG4gICAgJHtCYXNrZXRGaWVsZHNGcmFnbWVudERvY31gO1xuXG4gIEBJbmplY3RhYmxlKHtcbiAgICBwcm92aWRlZEluOiAncm9vdCdcbiAgfSlcbiAgZXhwb3J0IGNsYXNzIEFkZEl0ZW1Ub0Jhc2tldEdRTCBleHRlbmRzIEFwb2xsby5NdXRhdGlvbjxBZGRJdGVtVG9CYXNrZXRNdXRhdGlvbiwgQWRkSXRlbVRvQmFza2V0TXV0YXRpb25WYXJpYWJsZXM+IHtcbiAgICBkb2N1bWVudCA9IEFkZEl0ZW1Ub0Jhc2tldERvY3VtZW50O1xuICAgIFxuICAgIGNvbnN0cnVjdG9yKGFwb2xsbzogQXBvbGxvLkFwb2xsbykge1xuICAgICAgc3VwZXIoYXBvbGxvKTtcbiAgICB9XG4gIH1cbmV4cG9ydCBjb25zdCBHZXRVc2VyQmFza2V0RG9jdW1lbnQgPSBncWxgXG4gICAgcXVlcnkgZ2V0VXNlckJhc2tldCgkaWQ6IElEISwgJHdpdGhTdXBwbGVtZW50YWw6IEJvb2xlYW4gPSBmYWxzZSkge1xuICBnZXRVc2VyQmFza2V0KGlkOiAkaWQpIHtcbiAgICAuLi5CYXNrZXRGaWVsZHNcbiAgfVxufVxuICAgICR7QmFza2V0RmllbGRzRnJhZ21lbnREb2N9YDtcblxuICBASW5qZWN0YWJsZSh7XG4gICAgcHJvdmlkZWRJbjogJ3Jvb3QnXG4gIH0pXG4gIGV4cG9ydCBjbGFzcyBHZXRVc2VyQmFza2V0R1FMIGV4dGVuZHMgQXBvbGxvLlF1ZXJ5PEdldFVzZXJCYXNrZXRRdWVyeSwgR2V0VXNlckJhc2tldFF1ZXJ5VmFyaWFibGVzPiB7XG4gICAgZG9jdW1lbnQgPSBHZXRVc2VyQmFza2V0RG9jdW1lbnQ7XG4gICAgXG4gICAgY29uc3RydWN0b3IoYXBvbGxvOiBBcG9sbG8uQXBvbGxvKSB7XG4gICAgICBzdXBlcihhcG9sbG8pO1xuICAgIH1cbiAgfVxuZXhwb3J0IGNvbnN0IFJldmFsaWRhdGVCYXNrZXREb2N1bWVudCA9IGdxbGBcbiAgICBtdXRhdGlvbiByZXZhbGlkYXRlQmFza2V0KCRpZDogSUQhLCAkd2l0aFN1cHBsZW1lbnRhbDogQm9vbGVhbiA9IGZhbHNlKSB7XG4gIHJldmFsaWRhdGVCYXNrZXQoaWQ6ICRpZCkge1xuICAgIC4uLkJhc2tldEZpZWxkc1xuICB9XG59XG4gICAgJHtCYXNrZXRGaWVsZHNGcmFnbWVudERvY31gO1xuXG4gIEBJbmplY3RhYmxlKHtcbiAgICBwcm92aWRlZEluOiAncm9vdCdcbiAgfSlcbiAgZXhwb3J0IGNsYXNzIFJldmFsaWRhdGVCYXNrZXRHUUwgZXh0ZW5kcyBBcG9sbG8uTXV0YXRpb248UmV2YWxpZGF0ZUJhc2tldE11dGF0aW9uLCBSZXZhbGlkYXRlQmFza2V0TXV0YXRpb25WYXJpYWJsZXM+IHtcbiAgICBkb2N1bWVudCA9IFJldmFsaWRhdGVCYXNrZXREb2N1bWVudDtcbiAgICBcbiAgICBjb25zdHJ1Y3RvcihhcG9sbG86IEFwb2xsby5BcG9sbG8pIHtcbiAgICAgIHN1cGVyKGFwb2xsbyk7XG4gICAgfVxuICB9XG5leHBvcnQgY29uc3QgQm9va0Jhc2tldERvY3VtZW50ID0gZ3FsYFxuICAgIG11dGF0aW9uIGJvb2tCYXNrZXQoJGlkOiBJRCEsICRzdXBwbGVtZW50YXJ5SW5mbzogW1N1cHBsZW1lbnRhcnlCb29raW5nSW5mbyFdISwgJHdpdGhTdXBwbGVtZW50YWw6IEJvb2xlYW4gPSBmYWxzZSkge1xuICBib29rQmFza2V0KGlkOiAkaWQsIHN1cHBsZW1lbnRhcnlJbmZvOiAkc3VwcGxlbWVudGFyeUluZm8pIHtcbiAgICAuLi5CYXNrZXRGaWVsZHNcbiAgfVxufVxuICAgICR7QmFza2V0RmllbGRzRnJhZ21lbnREb2N9YDtcblxuICBASW5qZWN0YWJsZSh7XG4gICAgcHJvdmlkZWRJbjogJ3Jvb3QnXG4gIH0pXG4gIGV4cG9ydCBjbGFzcyBCb29rQmFza2V0R1FMIGV4dGVuZHMgQXBvbGxvLk11dGF0aW9uPEJvb2tCYXNrZXRNdXRhdGlvbiwgQm9va0Jhc2tldE11dGF0aW9uVmFyaWFibGVzPiB7XG4gICAgZG9jdW1lbnQgPSBCb29rQmFza2V0RG9jdW1lbnQ7XG4gICAgXG4gICAgY29uc3RydWN0b3IoYXBvbGxvOiBBcG9sbG8uQXBvbGxvKSB7XG4gICAgICBzdXBlcihhcG9sbG8pO1xuICAgIH1cbiAgfVxuZXhwb3J0IGNvbnN0IFNlYXJjaENhYkhpcmVEb2N1bWVudCA9IGdxbGBcbiAgICBxdWVyeSBzZWFyY2hDYWJIaXJlKCRkZXBhcnRzOiBEYXRlVGltZSEsICRmcm9tTG9jYXRpb246IENhYkhpcmVMb2NhdGlvbklucHV0ISwgJHRvTG9jYXRpb246IENhYkhpcmVMb2NhdGlvbklucHV0ISwgJGFkdWx0czogSW50ISwgJGNoaWxkcmVuOiBJbnQsICRpbmZhbnRzOiBJbnQsICR2aWFzOiBbQ2FiSGlyZUxvY2F0aW9uSW5wdXRdLCAkdmVoaWNsZVR5cGU6IENhYkhpcmVWZWhpY2xlVHlwZSkge1xuICBzZWFyY2hDYWJIaXJlKGRlcGFydHM6ICRkZXBhcnRzLCBmcm9tTG9jYXRpb246ICRmcm9tTG9jYXRpb24sIHRvTG9jYXRpb246ICR0b0xvY2F0aW9uLCBhZHVsdHM6ICRhZHVsdHMsIGNoaWxkcmVuOiAkY2hpbGRyZW4sIGluZmFudHM6ICRpbmZhbnRzLCB2aWFzOiAkdmlhcywgdmVoaWNsZVR5cGU6ICR2ZWhpY2xlVHlwZSkge1xuICAgIHJlc3VsdHMge1xuICAgICAgaWRcbiAgICAgIHNvdXJjZVxuICAgICAgc291cmNlSWRcbiAgICAgIHN1cHBsaWVyTmFtZVxuICAgICAgZXN0aW1hdGVkQ08yXG4gICAgICBjbzJQZXJJdGVtXG4gICAgICBjbzJQZXJQYXNzZW5nZXJcbiAgICAgIHByaWNlXG4gICAgICBjdXJyZW5jeVxuICAgICAgdmVoaWNsZVR5cGVcbiAgICAgIHRyaXBEaXN0YW5jZU1ldHJlc1xuICAgICAgdHJpcER1cmF0aW9uU2Vjb25kc1xuICAgICAgZGVwYXJ0c1xuICAgICAgdG1jUHJlZmVycmVkXG4gICAgICBjb21wYW55UHJlZmVycmVkXG4gICAgICBvZmZpY2VQcmVmZXJyZWRcbiAgICAgIHRtY1ByZWZlcnJlZE1lc3NhZ2VcbiAgICAgIGNvbXBhbnlQcmVmZXJyZWRNZXNzYWdlXG4gICAgICBvZmZpY2VQcmVmZXJyZWRNZXNzYWdlXG4gICAgICB1bmF2YWlsYWJsZVxuICAgICAgdW5hdmFpbGFibGVNZXNzYWdlXG4gICAgICBmcm9tTG9jYXRpb24ge1xuICAgICAgICBhZGRyZXNzXG4gICAgICAgIHBvc3Rjb2RlXG4gICAgICAgIGxhdGl0dWRlXG4gICAgICAgIGxvbmdpdHVkZVxuICAgICAgfVxuICAgICAgdG9Mb2NhdGlvbiB7XG4gICAgICAgIGFkZHJlc3NcbiAgICAgICAgcG9zdGNvZGVcbiAgICAgICAgbGF0aXR1ZGVcbiAgICAgICAgbG9uZ2l0dWRlXG4gICAgICB9XG4gICAgICB2aWFzIHtcbiAgICAgICAgYWRkcmVzc1xuICAgICAgICBwb3N0Y29kZVxuICAgICAgICBsYXRpdHVkZVxuICAgICAgICBsb25naXR1ZGVcbiAgICAgIH1cbiAgICB9XG4gICAgZXJyb3JzIHtcbiAgICAgIC4uLkVycm9yc1xuICAgIH1cbiAgfVxufVxuICAgICR7RXJyb3JzRnJhZ21lbnREb2N9YDtcblxuICBASW5qZWN0YWJsZSh7XG4gICAgcHJvdmlkZWRJbjogJ3Jvb3QnXG4gIH0pXG4gIGV4cG9ydCBjbGFzcyBTZWFyY2hDYWJIaXJlR1FMIGV4dGVuZHMgQXBvbGxvLlF1ZXJ5PFNlYXJjaENhYkhpcmVRdWVyeSwgU2VhcmNoQ2FiSGlyZVF1ZXJ5VmFyaWFibGVzPiB7XG4gICAgZG9jdW1lbnQgPSBTZWFyY2hDYWJIaXJlRG9jdW1lbnQ7XG4gICAgXG4gICAgY29uc3RydWN0b3IoYXBvbGxvOiBBcG9sbG8uQXBvbGxvKSB7XG4gICAgICBzdXBlcihhcG9sbG8pO1xuICAgIH1cbiAgfVxuZXhwb3J0IGNvbnN0IENhckhpcmVBdmFpbGFiaWxpdHlEZXRhaWxSZXF1ZXN0RG9jdW1lbnQgPSBncWxgXG4gICAgcXVlcnkgY2FySGlyZUF2YWlsYWJpbGl0eURldGFpbFJlcXVlc3QoJGxvY2F0aW9uRGV0YWlsczogQ2FySGlyZUlucHV0SWRlbnRpZmllcnMhKSB7XG4gIGNhckhpcmVBdmFpbGFiaWxpdHlEZXRhaWxSZXF1ZXN0KGxvY2F0aW9uRGV0YWlsczogJGxvY2F0aW9uRGV0YWlscykge1xuICAgIGlkZW50aWZpZXJzIHtcbiAgICAgIGxvY2F0b3JcbiAgICAgIHJwaFxuICAgICAgc3RhdHVzXG4gICAgICB2ZWhUeXBlXG4gICAgICBsb2NhdGlvbkNvZGVcbiAgICAgIGV4dGVuZGVkTG9jYXRpb25Db2RlXG4gICAgICBsb2NhdGlvbk5hbWVcbiAgICAgIGRyb3BPZmZMb2NhdGlvblxuICAgICAgcGlja3VwRGF0ZVRpbWVcbiAgICAgIGRyb3BvZmZEYXRlVGltZVxuICAgICAgdmVuZG9yXG4gICAgfVxuICAgIHZlbmRvciB7XG4gICAgICBuYW1lXG4gICAgICBsb2dvXG4gICAgfVxuICAgIGFkZHJlc3Mge1xuICAgICAgbmFtZVxuICAgICAgdG9wTGluZVxuICAgICAgY2l0eVxuICAgICAgcmVnaW9uXG4gICAgICBwb3N0Q29kZVxuICAgICAgY291bnRyeVxuICAgICAgY291bnRyeUNvZGVcbiAgICAgIHN0YXRlQ29kZVxuICAgICAgbGF0aXR1ZGVcbiAgICAgIGxvbmdpdHVkZVxuICAgIH1cbiAgICBhZGRpdGlvbmFsSW5mbyB7XG4gICAgICBuYW1lXG4gICAgICB0ZXh0XG4gICAgICBqc29uXG4gICAgICBjdXN0b20ge1xuICAgICAgICBuYW1lXG4gICAgICAgIHRleHRcbiAgICAgIH1cbiAgICB9XG4gIH1cbn1cbiAgICBgO1xuXG4gIEBJbmplY3RhYmxlKHtcbiAgICBwcm92aWRlZEluOiAncm9vdCdcbiAgfSlcbiAgZXhwb3J0IGNsYXNzIENhckhpcmVBdmFpbGFiaWxpdHlEZXRhaWxSZXF1ZXN0R1FMIGV4dGVuZHMgQXBvbGxvLlF1ZXJ5PENhckhpcmVBdmFpbGFiaWxpdHlEZXRhaWxSZXF1ZXN0UXVlcnksIENhckhpcmVBdmFpbGFiaWxpdHlEZXRhaWxSZXF1ZXN0UXVlcnlWYXJpYWJsZXM+IHtcbiAgICBkb2N1bWVudCA9IENhckhpcmVBdmFpbGFiaWxpdHlEZXRhaWxSZXF1ZXN0RG9jdW1lbnQ7XG4gICAgXG4gICAgY29uc3RydWN0b3IoYXBvbGxvOiBBcG9sbG8uQXBvbGxvKSB7XG4gICAgICBzdXBlcihhcG9sbG8pO1xuICAgIH1cbiAgfVxuZXhwb3J0IGNvbnN0IFNlYXJjaENhckhpcmVEb2N1bWVudCA9IGdxbGBcbiAgICBxdWVyeSBzZWFyY2hDYXJIaXJlKCRhaXJwb3J0OiBDYXJIaXJlQWlycG9ydElucHV0LCAkY2l0eTogQ2FySGlyZUNpdHlJbnB1dCwgJGxvY2F0aW9uOiBDYXJIaXJlTG9jYXRpb25JbnB1dCwgJGRlcG90OiBJbnB1dENhckhpcmVEZXBvdCwgJHBpY2t1cERhdGVUaW1lOiBEYXRlVGltZSEsICRkcm9wb2ZmRGF0ZVRpbWU6IERhdGVUaW1lISwgJHZlbmRvcjogU3RyaW5nLCAkY2xhc3M6IENhckhpcmVDbGFzcywgJHR5cGU6IENhckhpcmVUeXBlLCAkdHJhbnNtaXNzaW9uOiBDYXJIaXJlVHJhbnNtaXNzaW9uLCAkYWlyY29uOiBCb29sZWFuLCAkZXN0aW1hdGVkRGFpbHlEaXN0YW5jZTogRmxvYXQsICRlc3RpbWF0ZWREYWlseURpc3RhbmNlVW5pdHM6IERpc3RhbmNlVHlwZXMpIHtcbiAgc2VhcmNoQ2FySGlyZShhaXJwb3J0OiAkYWlycG9ydCwgY2l0eTogJGNpdHksIGxvY2F0aW9uOiAkbG9jYXRpb24sIGRlcG90OiAkZGVwb3QsIHBpY2t1cERhdGVUaW1lOiAkcGlja3VwRGF0ZVRpbWUsIGRyb3BvZmZEYXRlVGltZTogJGRyb3BvZmZEYXRlVGltZSwgdmVuZG9yOiAkdmVuZG9yLCBjbGFzczogJGNsYXNzLCB0eXBlOiAkdHlwZSwgdHJhbnNtaXNzaW9uOiAkdHJhbnNtaXNzaW9uLCBhaXJjb246ICRhaXJjb24sIGVzdGltYXRlZERhaWx5RGlzdGFuY2U6ICRlc3RpbWF0ZWREYWlseURpc3RhbmNlLCBlc3RpbWF0ZWREYWlseURpc3RhbmNlVW5pdHM6ICRlc3RpbWF0ZWREYWlseURpc3RhbmNlVW5pdHMpIHtcbiAgICByZXN1bHRzIHtcbiAgICAgIHNvdXJjZVxuICAgICAgc291cmNlSWRcbiAgICAgIGlkZW50aWZpZXJzIHtcbiAgICAgICAgbG9jYXRvclxuICAgICAgICBycGhcbiAgICAgICAgc3RhdHVzXG4gICAgICAgIHZlaFR5cGVcbiAgICAgICAgbG9jYXRpb25Db2RlXG4gICAgICAgIGV4dGVuZGVkTG9jYXRpb25Db2RlXG4gICAgICAgIGxvY2F0aW9uTmFtZVxuICAgICAgICBkcm9wT2ZmTG9jYXRpb25cbiAgICAgICAgcGlja3VwRGF0ZVRpbWVcbiAgICAgICAgZHJvcG9mZkRhdGVUaW1lXG4gICAgICAgIHZlbmRvclxuICAgICAgfVxuICAgICAgZGlzcGxheVJlY29yZCB7XG4gICAgICAgIHN0YXR1c1xuICAgICAgICBwaWNrdXBcbiAgICAgICAgZHJvcG9mZlxuICAgICAgICB2ZW5kb3Ige1xuICAgICAgICAgIG5hbWVcbiAgICAgICAgICBsb2dvXG4gICAgICAgIH1cbiAgICAgICAgdmVoaWNsZSB7XG4gICAgICAgICAgY2xhc3NcbiAgICAgICAgICB0eXBlXG4gICAgICAgICAgdHJhbnNtaXNzaW9uXG4gICAgICAgICAgYWlyY29uXG4gICAgICAgICAgZGVzY3JpcHRpb25cbiAgICAgICAgICBpbWFnZXNcbiAgICAgICAgfVxuICAgICAgICBjaGFyZ2VzIHtcbiAgICAgICAgICBsYWJlbFxuICAgICAgICAgIGFtb3VudFxuICAgICAgICAgIGN1cnJlbmN5Q29kZVxuICAgICAgICB9XG4gICAgICAgIHBpY2t1cExvY2F0aW9uIHtcbiAgICAgICAgICBuYW1lXG4gICAgICAgICAgdG9wTGluZVxuICAgICAgICAgIGNpdHlcbiAgICAgICAgICByZWdpb25cbiAgICAgICAgICBwb3N0Q29kZVxuICAgICAgICAgIGNvdW50cnlcbiAgICAgICAgICBjb3VudHJ5Q29kZVxuICAgICAgICAgIHN0YXRlQ29kZVxuICAgICAgICAgIGxhdGl0dWRlXG4gICAgICAgICAgbG9uZ2l0dWRlXG4gICAgICAgIH1cbiAgICAgICAgcmV0dXJuTG9jYXRpb24ge1xuICAgICAgICAgIG5hbWVcbiAgICAgICAgICB0b3BMaW5lXG4gICAgICAgICAgY2l0eVxuICAgICAgICAgIHJlZ2lvblxuICAgICAgICAgIHBvc3RDb2RlXG4gICAgICAgICAgY291bnRyeVxuICAgICAgICAgIGNvdW50cnlDb2RlXG4gICAgICAgICAgc3RhdGVDb2RlXG4gICAgICAgICAgbGF0aXR1ZGVcbiAgICAgICAgICBsb25naXR1ZGVcbiAgICAgICAgfVxuICAgICAgICBhZGRpdGlvbmFsSW5mbyB7XG4gICAgICAgICAgbmFtZVxuICAgICAgICAgIHRleHRcbiAgICAgICAgICBqc29uXG4gICAgICAgICAgY3VzdG9tIHtcbiAgICAgICAgICAgIG5hbWVcbiAgICAgICAgICAgIHRleHRcbiAgICAgICAgICB9XG4gICAgICAgIH1cbiAgICAgIH1cbiAgICAgIHRtY1ByZWZlcnJlZFxuICAgICAgY29tcGFueVByZWZlcnJlZFxuICAgICAgb2ZmaWNlUHJlZmVycmVkXG4gICAgICB0bWNQcmVmZXJyZWRNZXNzYWdlXG4gICAgICBjb21wYW55UHJlZmVycmVkTWVzc2FnZVxuICAgICAgb2ZmaWNlUHJlZmVycmVkTWVzc2FnZVxuICAgICAgdW5hdmFpbGFibGVcbiAgICAgIHVuYXZhaWxhYmxlTWVzc2FnZVxuICAgICAgY28yUGVyUGFzc2VuZ2VyXG4gICAgICBjbzJQZXJJdGVtXG4gICAgfVxuICAgIGVycm9ycyB7XG4gICAgICAuLi5FcnJvcnNcbiAgICB9XG4gIH1cbn1cbiAgICAke0Vycm9yc0ZyYWdtZW50RG9jfWA7XG5cbiAgQEluamVjdGFibGUoe1xuICAgIHByb3ZpZGVkSW46ICdyb290J1xuICB9KVxuICBleHBvcnQgY2xhc3MgU2VhcmNoQ2FySGlyZUdRTCBleHRlbmRzIEFwb2xsby5RdWVyeTxTZWFyY2hDYXJIaXJlUXVlcnksIFNlYXJjaENhckhpcmVRdWVyeVZhcmlhYmxlcz4ge1xuICAgIGRvY3VtZW50ID0gU2VhcmNoQ2FySGlyZURvY3VtZW50O1xuICAgIFxuICAgIGNvbnN0cnVjdG9yKGFwb2xsbzogQXBvbGxvLkFwb2xsbykge1xuICAgICAgc3VwZXIoYXBvbGxvKTtcbiAgICB9XG4gIH1cbmV4cG9ydCBjb25zdCBEZWxldGVSZWNlbnRTZWFyY2hEb2N1bWVudCA9IGdxbGBcbiAgICBtdXRhdGlvbiBkZWxldGVSZWNlbnRTZWFyY2goJGlkOiBJRCEpIHtcbiAgZGVsZXRlUmVjZW50U2VhcmNoKGlkOiAkaWQpXG59XG4gICAgYDtcblxuICBASW5qZWN0YWJsZSh7XG4gICAgcHJvdmlkZWRJbjogJ3Jvb3QnXG4gIH0pXG4gIGV4cG9ydCBjbGFzcyBEZWxldGVSZWNlbnRTZWFyY2hHUUwgZXh0ZW5kcyBBcG9sbG8uTXV0YXRpb248RGVsZXRlUmVjZW50U2VhcmNoTXV0YXRpb24sIERlbGV0ZVJlY2VudFNlYXJjaE11dGF0aW9uVmFyaWFibGVzPiB7XG4gICAgZG9jdW1lbnQgPSBEZWxldGVSZWNlbnRTZWFyY2hEb2N1bWVudDtcbiAgICBcbiAgICBjb25zdHJ1Y3RvcihhcG9sbG86IEFwb2xsby5BcG9sbG8pIHtcbiAgICAgIHN1cGVyKGFwb2xsbyk7XG4gICAgfVxuICB9XG5leHBvcnQgY29uc3QgRGVsZXRlVXNlckFkZHJlc3NEb2N1bWVudCA9IGdxbGBcbiAgICBtdXRhdGlvbiBkZWxldGVVc2VyQWRkcmVzcygkaWQ6IElEISkge1xuICBkZWxldGVVc2VyQWRkcmVzcyhpZDogJGlkKVxufVxuICAgIGA7XG5cbiAgQEluamVjdGFibGUoe1xuICAgIHByb3ZpZGVkSW46ICdyb290J1xuICB9KVxuICBleHBvcnQgY2xhc3MgRGVsZXRlVXNlckFkZHJlc3NHUUwgZXh0ZW5kcyBBcG9sbG8uTXV0YXRpb248RGVsZXRlVXNlckFkZHJlc3NNdXRhdGlvbiwgRGVsZXRlVXNlckFkZHJlc3NNdXRhdGlvblZhcmlhYmxlcz4ge1xuICAgIGRvY3VtZW50ID0gRGVsZXRlVXNlckFkZHJlc3NEb2N1bWVudDtcbiAgICBcbiAgICBjb25zdHJ1Y3RvcihhcG9sbG86IEFwb2xsby5BcG9sbG8pIHtcbiAgICAgIHN1cGVyKGFwb2xsbyk7XG4gICAgfVxuICB9XG5leHBvcnQgY29uc3QgU2VhcmNoRmxpZ2h0c1YyRG9jdW1lbnQgPSBncWxgXG4gICAgcXVlcnkgc2VhcmNoRmxpZ2h0c1YyKCRwYXNzZW5nZXJzOiBbRmxpZ2h0UGFzc2VuZ2VyT2JqZWN0IV0hLCAkb3JpZ2luQWlycG9ydDogU3RyaW5nLCAkZGVzdGluYXRpb25BaXJwb3J0OiBTdHJpbmcsICRtdWx0aURlc3RpbmF0aW9uOiBbRGVzdGluYXRpb25FbnRyeV0sICRvdXRib3VuZERhdGU6IERhdGUsICRvdXRib3VuZERlcGFydHVyZVRpbWVXaW5kb3c6IFN0cmluZywgJG91dGJvdW5kQXJyaXZhbFRpbWVXaW5kb3c6IFN0cmluZywgJG91dGJvdW5kQ2FiaW5DbGFzczogW0ZsaWdodENhYmluQ2xhc3NdLCAkcmV0dXJuVHJpcDogQm9vbGVhbiEsICRyZXR1cm5EYXRlOiBEYXRlLCAkcmV0dXJuRGVwYXJ0dXJlVGltZVdpbmRvdzogU3RyaW5nLCAkcmV0dXJuQXJyaXZhbFRpbWVXaW5kb3c6IFN0cmluZywgJHJldHVybkNhYmluQ2xhc3M6IFtGbGlnaHRDYWJpbkNsYXNzXSwgJGZhcmVUeXBlOiBGYXJlVHlwZSEsICRyZXF1aXJlRnJlZUJhZzogQm9vbGVhbiwgJG1heENvbm5lY3Rpb25zOiBJbnQsICRwcmVmZXJyZWRDYXJyaWVyczogW1N0cmluZ10sICRpbmNsdWRlTmVhcmJ5QWlycG9ydHM6IEJvb2xlYW4sICRhc1NpbmdsZXM6IEJvb2xlYW4sICR3aXRoR3JvdXBlZDogQm9vbGVhbiEpIHtcbiAgc2VhcmNoRmxpZ2h0c1YyKHBhc3NlbmdlcnM6ICRwYXNzZW5nZXJzLCBvcmlnaW5BaXJwb3J0OiAkb3JpZ2luQWlycG9ydCwgZGVzdGluYXRpb25BaXJwb3J0OiAkZGVzdGluYXRpb25BaXJwb3J0LCBtdWx0aURlc3RpbmF0aW9uOiAkbXVsdGlEZXN0aW5hdGlvbiwgb3V0Ym91bmREYXRlOiAkb3V0Ym91bmREYXRlLCBvdXRib3VuZERlcGFydHVyZVRpbWVXaW5kb3c6ICRvdXRib3VuZERlcGFydHVyZVRpbWVXaW5kb3csIG91dGJvdW5kQXJyaXZhbFRpbWVXaW5kb3c6ICRvdXRib3VuZEFycml2YWxUaW1lV2luZG93LCBvdXRib3VuZENhYmluQ2xhc3M6ICRvdXRib3VuZENhYmluQ2xhc3MsIHJldHVyblRyaXA6ICRyZXR1cm5UcmlwLCByZXR1cm5EYXRlOiAkcmV0dXJuRGF0ZSwgcmV0dXJuRGVwYXJ0dXJlVGltZVdpbmRvdzogJHJldHVybkRlcGFydHVyZVRpbWVXaW5kb3csIHJldHVybkFycml2YWxUaW1lV2luZG93OiAkcmV0dXJuQXJyaXZhbFRpbWVXaW5kb3csIHJldHVybkNhYmluQ2xhc3M6ICRyZXR1cm5DYWJpbkNsYXNzLCBmYXJlVHlwZTogJGZhcmVUeXBlLCByZXF1aXJlRnJlZUJhZzogJHJlcXVpcmVGcmVlQmFnLCBtYXhDb25uZWN0aW9uczogJG1heENvbm5lY3Rpb25zLCBwcmVmZXJyZWRDYXJyaWVyczogJHByZWZlcnJlZENhcnJpZXJzLCBpbmNsdWRlTmVhcmJ5QWlycG9ydHM6ICRpbmNsdWRlTmVhcmJ5QWlycG9ydHMsIGFzU2luZ2xlczogJGFzU2luZ2xlcykge1xuICAgIHJlc3VsdHMge1xuICAgICAgam91cm5leXMge1xuICAgICAgICB1aWRcbiAgICAgICAgcGFzc2VuZ2VyQ291bnRcbiAgICAgICAgb3V0Ym91bmRGbGlnaHRzIHtcbiAgICAgICAgICBvcmlnaW5BaXJwb3J0XG4gICAgICAgICAgb3JpZ2luVGVybWluYWxcbiAgICAgICAgICBvcmlnaW5BaXJwb3J0TmFtZVxuICAgICAgICAgIG9yaWdpbkFpcnBvcnREZXRhaWwge1xuICAgICAgICAgICAgaWF0YVxuICAgICAgICAgICAgaWNhb1xuICAgICAgICAgICAgbGF0aXR1ZGVcbiAgICAgICAgICAgIGxvbmdpdHVkZVxuICAgICAgICAgICAgYWx0aXR1ZGVcbiAgICAgICAgICAgIHN0YXRlXG4gICAgICAgICAgICBjaXR5XG4gICAgICAgICAgICByb2FkXG4gICAgICAgICAgICBwb3B1bGFyaXR5XG4gICAgICAgICAgICBhcmVhXG4gICAgICAgICAgICBsb2NhdGlvblxuICAgICAgICAgICAgb2Zmc2V0XG4gICAgICAgICAgICBhaXJwb3J0TmFtZVxuICAgICAgICAgICAgY291bnRyeU5hbWVcbiAgICAgICAgICAgIGNvdW50cnlDb2RlXG4gICAgICAgICAgICBwb3N0Y29kZVxuICAgICAgICAgIH1cbiAgICAgICAgICBkZXN0aW5hdGlvbkFpcnBvcnRcbiAgICAgICAgICBkZXN0aW5hdGlvblRlcm1pbmFsXG4gICAgICAgICAgZGVzdGluYXRpb25BaXJwb3J0TmFtZVxuICAgICAgICAgIGRlc3RpbmF0aW9uQWlycG9ydERldGFpbCB7XG4gICAgICAgICAgICBpYXRhXG4gICAgICAgICAgICBpY2FvXG4gICAgICAgICAgICBsYXRpdHVkZVxuICAgICAgICAgICAgbG9uZ2l0dWRlXG4gICAgICAgICAgICBhbHRpdHVkZVxuICAgICAgICAgICAgc3RhdGVcbiAgICAgICAgICAgIGNpdHlcbiAgICAgICAgICAgIHJvYWRcbiAgICAgICAgICAgIHBvcHVsYXJpdHlcbiAgICAgICAgICAgIGFyZWFcbiAgICAgICAgICAgIGxvY2F0aW9uXG4gICAgICAgICAgICBvZmZzZXRcbiAgICAgICAgICAgIGFpcnBvcnROYW1lXG4gICAgICAgICAgICBjb3VudHJ5TmFtZVxuICAgICAgICAgICAgY291bnRyeUNvZGVcbiAgICAgICAgICAgIHBvc3Rjb2RlXG4gICAgICAgICAgfVxuICAgICAgICAgIGRhdGVUaW1lRGVwYXJ0aW5nXG4gICAgICAgICAgZGF0ZVRpbWVEZXBhcnRpbmdVVENcbiAgICAgICAgICBkYXRlVGltZUFycml2aW5nXG4gICAgICAgICAgZGF0ZVRpbWVBcnJpdmluZ1VUQ1xuICAgICAgICAgIG1hcmtldGluZ0NhcnJpZXJcbiAgICAgICAgICBtYXJrZXRpbmdDYXJyaWVyTmFtZVxuICAgICAgICAgIG1hcmtldGluZ0NhcnJpZXJEZXRhaWwge1xuICAgICAgICAgICAgbmFtZVxuICAgICAgICAgICAgYWxpYXNcbiAgICAgICAgICAgIGNhbGxzaWduXG4gICAgICAgICAgICBpYXRhXG4gICAgICAgICAgICBpY2FvXG4gICAgICAgICAgICBsb2dvXG4gICAgICAgICAgICBiYW5uZXJcbiAgICAgICAgICAgIHBvcHVsYXJpdHlcbiAgICAgICAgICB9XG4gICAgICAgICAgbWFya2V0aW5nRmxpZ2h0TnVtYmVyXG4gICAgICAgICAgb3BlcmF0aW5nQ2FycmllclxuICAgICAgICAgIG9wZXJhdGluZ0NhcnJpZXJOYW1lXG4gICAgICAgICAgb3BlcmF0aW5nQ2FycmllckRldGFpbCB7XG4gICAgICAgICAgICBuYW1lXG4gICAgICAgICAgICBhbGlhc1xuICAgICAgICAgICAgY2FsbHNpZ25cbiAgICAgICAgICAgIGlhdGFcbiAgICAgICAgICAgIGljYW9cbiAgICAgICAgICAgIGxvZ29cbiAgICAgICAgICAgIGJhbm5lclxuICAgICAgICAgICAgcG9wdWxhcml0eVxuICAgICAgICAgIH1cbiAgICAgICAgICBvcGVyYXRpbmdGbGlnaHROdW1iZXJcbiAgICAgICAgICBlcXVpcG1lbnRDb2RlXG4gICAgICAgICAgZXF1aXBtZW50TmFtZVxuICAgICAgICAgIHRvdGFsRHVyYXRpb25cbiAgICAgICAgICBjYWJpbkNsYXNzXG4gICAgICAgICAgbWFya2V0aW5nTmFtZXNcbiAgICAgICAgICBmYXJlQ29uZGl0aW9ucyB7XG4gICAgICAgICAgICBjYW5jZWxsYXRpb24ge1xuICAgICAgICAgICAgICBuYW1lXG4gICAgICAgICAgICAgIHR5cGVcbiAgICAgICAgICAgICAgY3VycmVuY3lcbiAgICAgICAgICAgICAgYW1vdW50XG4gICAgICAgICAgICAgIHJlbWFya1xuICAgICAgICAgICAgICBjaGFuZ2VGZWVJbmRcbiAgICAgICAgICAgICAgY2FuY2VsRmVlSW5kXG4gICAgICAgICAgICAgIHJlZnVuZGFibGVJbmRcbiAgICAgICAgICAgIH1cbiAgICAgICAgICAgIGNoYW5nZSB7XG4gICAgICAgICAgICAgIG5hbWVcbiAgICAgICAgICAgICAgdHlwZVxuICAgICAgICAgICAgICBjdXJyZW5jeVxuICAgICAgICAgICAgICBhbW91bnRcbiAgICAgICAgICAgICAgcmVtYXJrXG4gICAgICAgICAgICAgIGNoYW5nZUZlZUluZFxuICAgICAgICAgICAgICBjYW5jZWxGZWVJbmRcbiAgICAgICAgICAgICAgcmVmdW5kYWJsZUluZFxuICAgICAgICAgICAgfVxuICAgICAgICAgICAgbm9TaG93IHtcbiAgICAgICAgICAgICAgbmFtZVxuICAgICAgICAgICAgICB0eXBlXG4gICAgICAgICAgICAgIGN1cnJlbmN5XG4gICAgICAgICAgICAgIGFtb3VudFxuICAgICAgICAgICAgICByZW1hcmtcbiAgICAgICAgICAgICAgY2hhbmdlRmVlSW5kXG4gICAgICAgICAgICAgIGNhbmNlbEZlZUluZFxuICAgICAgICAgICAgICByZWZ1bmRhYmxlSW5kXG4gICAgICAgICAgICB9XG4gICAgICAgICAgICB1cGdyYWRlIHtcbiAgICAgICAgICAgICAgbmFtZVxuICAgICAgICAgICAgICB0eXBlXG4gICAgICAgICAgICAgIGN1cnJlbmN5XG4gICAgICAgICAgICAgIGFtb3VudFxuICAgICAgICAgICAgICByZW1hcmtcbiAgICAgICAgICAgICAgY2hhbmdlRmVlSW5kXG4gICAgICAgICAgICAgIGNhbmNlbEZlZUluZFxuICAgICAgICAgICAgICByZWZ1bmRhYmxlSW5kXG4gICAgICAgICAgICB9XG4gICAgICAgICAgICBvdGhlciB7XG4gICAgICAgICAgICAgIG5hbWVcbiAgICAgICAgICAgICAgdHlwZVxuICAgICAgICAgICAgICBjdXJyZW5jeVxuICAgICAgICAgICAgICBhbW91bnRcbiAgICAgICAgICAgICAgcmVtYXJrXG4gICAgICAgICAgICAgIGNoYW5nZUZlZUluZFxuICAgICAgICAgICAgICBjYW5jZWxGZWVJbmRcbiAgICAgICAgICAgICAgcmVmdW5kYWJsZUluZFxuICAgICAgICAgICAgfVxuICAgICAgICAgIH1cbiAgICAgICAgICB2ZW5kb3JDb2RlXG4gICAgICAgICAgc3RvcHNcbiAgICAgICAgICBib29raW5nQ29kZVxuICAgICAgICAgIG1hcnJpYWdlR3JvdXBcbiAgICAgICAgICBmYXJlQmFzaXNDb2RlXG4gICAgICAgICAgYWRkaXRpb25hbFxuICAgICAgICB9XG4gICAgICAgIGluYm91bmRGbGlnaHRzIHtcbiAgICAgICAgICBvcmlnaW5BaXJwb3J0XG4gICAgICAgICAgb3JpZ2luVGVybWluYWxcbiAgICAgICAgICBvcmlnaW5BaXJwb3J0TmFtZVxuICAgICAgICAgIG9yaWdpbkFpcnBvcnREZXRhaWwge1xuICAgICAgICAgICAgaWF0YVxuICAgICAgICAgICAgaWNhb1xuICAgICAgICAgICAgbGF0aXR1ZGVcbiAgICAgICAgICAgIGxvbmdpdHVkZVxuICAgICAgICAgICAgYWx0aXR1ZGVcbiAgICAgICAgICAgIHN0YXRlXG4gICAgICAgICAgICBjaXR5XG4gICAgICAgICAgICByb2FkXG4gICAgICAgICAgICBwb3B1bGFyaXR5XG4gICAgICAgICAgICBhcmVhXG4gICAgICAgICAgICBsb2NhdGlvblxuICAgICAgICAgICAgb2Zmc2V0XG4gICAgICAgICAgICBhaXJwb3J0TmFtZVxuICAgICAgICAgICAgY291bnRyeU5hbWVcbiAgICAgICAgICAgIGNvdW50cnlDb2RlXG4gICAgICAgICAgICBwb3N0Y29kZVxuICAgICAgICAgIH1cbiAgICAgICAgICBkZXN0aW5hdGlvbkFpcnBvcnRcbiAgICAgICAgICBkZXN0aW5hdGlvblRlcm1pbmFsXG4gICAgICAgICAgZGVzdGluYXRpb25BaXJwb3J0TmFtZVxuICAgICAgICAgIGRlc3RpbmF0aW9uQWlycG9ydERldGFpbCB7XG4gICAgICAgICAgICBpYXRhXG4gICAgICAgICAgICBpY2FvXG4gICAgICAgICAgICBsYXRpdHVkZVxuICAgICAgICAgICAgbG9uZ2l0dWRlXG4gICAgICAgICAgICBhbHRpdHVkZVxuICAgICAgICAgICAgc3RhdGVcbiAgICAgICAgICAgIGNpdHlcbiAgICAgICAgICAgIHJvYWRcbiAgICAgICAgICAgIHBvcHVsYXJpdHlcbiAgICAgICAgICAgIGFyZWFcbiAgICAgICAgICAgIGxvY2F0aW9uXG4gICAgICAgICAgICBvZmZzZXRcbiAgICAgICAgICAgIGFpcnBvcnROYW1lXG4gICAgICAgICAgICBjb3VudHJ5TmFtZVxuICAgICAgICAgICAgY291bnRyeUNvZGVcbiAgICAgICAgICAgIHBvc3Rjb2RlXG4gICAgICAgICAgfVxuICAgICAgICAgIGRhdGVUaW1lRGVwYXJ0aW5nXG4gICAgICAgICAgZGF0ZVRpbWVEZXBhcnRpbmdVVENcbiAgICAgICAgICBkYXRlVGltZUFycml2aW5nXG4gICAgICAgICAgZGF0ZVRpbWVBcnJpdmluZ1VUQ1xuICAgICAgICAgIG1hcmtldGluZ0NhcnJpZXJcbiAgICAgICAgICBtYXJrZXRpbmdDYXJyaWVyTmFtZVxuICAgICAgICAgIG1hcmtldGluZ0NhcnJpZXJEZXRhaWwge1xuICAgICAgICAgICAgbmFtZVxuICAgICAgICAgICAgYWxpYXNcbiAgICAgICAgICAgIGNhbGxzaWduXG4gICAgICAgICAgICBpYXRhXG4gICAgICAgICAgICBpY2FvXG4gICAgICAgICAgICBsb2dvXG4gICAgICAgICAgICBiYW5uZXJcbiAgICAgICAgICAgIHBvcHVsYXJpdHlcbiAgICAgICAgICB9XG4gICAgICAgICAgbWFya2V0aW5nRmxpZ2h0TnVtYmVyXG4gICAgICAgICAgb3BlcmF0aW5nQ2FycmllclxuICAgICAgICAgIG9wZXJhdGluZ0NhcnJpZXJOYW1lXG4gICAgICAgICAgb3BlcmF0aW5nQ2FycmllckRldGFpbCB7XG4gICAgICAgICAgICBuYW1lXG4gICAgICAgICAgICBhbGlhc1xuICAgICAgICAgICAgY2FsbHNpZ25cbiAgICAgICAgICAgIGlhdGFcbiAgICAgICAgICAgIGljYW9cbiAgICAgICAgICAgIGxvZ29cbiAgICAgICAgICAgIGJhbm5lclxuICAgICAgICAgICAgcG9wdWxhcml0eVxuICAgICAgICAgIH1cbiAgICAgICAgICBvcGVyYXRpbmdGbGlnaHROdW1iZXJcbiAgICAgICAgICBlcXVpcG1lbnRDb2RlXG4gICAgICAgICAgZXF1aXBtZW50TmFtZVxuICAgICAgICAgIHRvdGFsRHVyYXRpb25cbiAgICAgICAgICBjYWJpbkNsYXNzXG4gICAgICAgICAgbWFya2V0aW5nTmFtZXNcbiAgICAgICAgICBmYXJlQ29uZGl0aW9ucyB7XG4gICAgICAgICAgICBjYW5jZWxsYXRpb24ge1xuICAgICAgICAgICAgICBuYW1lXG4gICAgICAgICAgICAgIHR5cGVcbiAgICAgICAgICAgICAgY3VycmVuY3lcbiAgICAgICAgICAgICAgYW1vdW50XG4gICAgICAgICAgICAgIHJlbWFya1xuICAgICAgICAgICAgICBjaGFuZ2VGZWVJbmRcbiAgICAgICAgICAgICAgY2FuY2VsRmVlSW5kXG4gICAgICAgICAgICAgIHJlZnVuZGFibGVJbmRcbiAgICAgICAgICAgIH1cbiAgICAgICAgICAgIGNoYW5nZSB7XG4gICAgICAgICAgICAgIG5hbWVcbiAgICAgICAgICAgICAgdHlwZVxuICAgICAgICAgICAgICBjdXJyZW5jeVxuICAgICAgICAgICAgICBhbW91bnRcbiAgICAgICAgICAgICAgcmVtYXJrXG4gICAgICAgICAgICAgIGNoYW5nZUZlZUluZFxuICAgICAgICAgICAgICBjYW5jZWxGZWVJbmRcbiAgICAgICAgICAgICAgcmVmdW5kYWJsZUluZFxuICAgICAgICAgICAgfVxuICAgICAgICAgICAgbm9TaG93IHtcbiAgICAgICAgICAgICAgbmFtZVxuICAgICAgICAgICAgICB0eXBlXG4gICAgICAgICAgICAgIGN1cnJlbmN5XG4gICAgICAgICAgICAgIGFtb3VudFxuICAgICAgICAgICAgICByZW1hcmtcbiAgICAgICAgICAgICAgY2hhbmdlRmVlSW5kXG4gICAgICAgICAgICAgIGNhbmNlbEZlZUluZFxuICAgICAgICAgICAgICByZWZ1bmRhYmxlSW5kXG4gICAgICAgICAgICB9XG4gICAgICAgICAgICB1cGdyYWRlIHtcbiAgICAgICAgICAgICAgbmFtZVxuICAgICAgICAgICAgICB0eXBlXG4gICAgICAgICAgICAgIGN1cnJlbmN5XG4gICAgICAgICAgICAgIGFtb3VudFxuICAgICAgICAgICAgICByZW1hcmtcbiAgICAgICAgICAgICAgY2hhbmdlRmVlSW5kXG4gICAgICAgICAgICAgIGNhbmNlbEZlZUluZFxuICAgICAgICAgICAgICByZWZ1bmRhYmxlSW5kXG4gICAgICAgICAgICB9XG4gICAgICAgICAgICBvdGhlciB7XG4gICAgICAgICAgICAgIG5hbWVcbiAgICAgICAgICAgICAgdHlwZVxuICAgICAgICAgICAgICBjdXJyZW5jeVxuICAgICAgICAgICAgICBhbW91bnRcbiAgICAgICAgICAgICAgcmVtYXJrXG4gICAgICAgICAgICAgIGNoYW5nZUZlZUluZFxuICAgICAgICAgICAgICBjYW5jZWxGZWVJbmRcbiAgICAgICAgICAgICAgcmVmdW5kYWJsZUluZFxuICAgICAgICAgICAgfVxuICAgICAgICAgIH1cbiAgICAgICAgICB2ZW5kb3JDb2RlXG4gICAgICAgICAgc3RvcHNcbiAgICAgICAgICBib29raW5nQ29kZVxuICAgICAgICAgIG1hcnJpYWdlR3JvdXBcbiAgICAgICAgICBmYXJlQmFzaXNDb2RlXG4gICAgICAgICAgYWRkaXRpb25hbFxuICAgICAgICB9XG4gICAgICAgIG91dGJvdW5kVG90YWxEdXJhdGlvblxuICAgICAgICBvdXRib3VuZENhcmJvbkVtaXNzaW9ucyB7XG4gICAgICAgICAgYW1vdW50XG4gICAgICAgICAgdW5pdFxuICAgICAgICB9XG4gICAgICAgIGluYm91bmRUb3RhbER1cmF0aW9uXG4gICAgICAgIGluYm91bmRDYXJib25FbWlzc2lvbnMge1xuICAgICAgICAgIGFtb3VudFxuICAgICAgICAgIHVuaXRcbiAgICAgICAgfVxuICAgICAgICB0YXhlcyB7XG4gICAgICAgICAgZGVzY3JpcHRpb25cbiAgICAgICAgICBhbW91bnRcbiAgICAgICAgICBjdXJyZW5jeVxuICAgICAgICB9XG4gICAgICAgIGRpc2NvdW50cyB7XG4gICAgICAgICAgZGVzY3JpcHRpb25cbiAgICAgICAgICBhbW91bnRcbiAgICAgICAgICBjdXJyZW5jeVxuICAgICAgICB9XG4gICAgICAgIHRvdGFsIHtcbiAgICAgICAgICBwcmljZVxuICAgICAgICAgIHRheFxuICAgICAgICAgIGRpc2NvdW50XG4gICAgICAgICAgY3VycmVuY3lcbiAgICAgICAgfVxuICAgICAgICBmYXJlQ29uZGl0aW9ucyB7XG4gICAgICAgICAgY2FuY2VsbGF0aW9uIHtcbiAgICAgICAgICAgIG5hbWVcbiAgICAgICAgICAgIHR5cGVcbiAgICAgICAgICAgIGN1cnJlbmN5XG4gICAgICAgICAgICBhbW91bnRcbiAgICAgICAgICAgIHJlbWFya1xuICAgICAgICAgICAgY2hhbmdlRmVlSW5kXG4gICAgICAgICAgICBjYW5jZWxGZWVJbmRcbiAgICAgICAgICAgIHJlZnVuZGFibGVJbmRcbiAgICAgICAgICB9XG4gICAgICAgICAgY2hhbmdlIHtcbiAgICAgICAgICAgIG5hbWVcbiAgICAgICAgICAgIHR5cGVcbiAgICAgICAgICAgIGN1cnJlbmN5XG4gICAgICAgICAgICBhbW91bnRcbiAgICAgICAgICAgIHJlbWFya1xuICAgICAgICAgICAgY2hhbmdlRmVlSW5kXG4gICAgICAgICAgICBjYW5jZWxGZWVJbmRcbiAgICAgICAgICAgIHJlZnVuZGFibGVJbmRcbiAgICAgICAgICB9XG4gICAgICAgICAgbm9TaG93IHtcbiAgICAgICAgICAgIG5hbWVcbiAgICAgICAgICAgIHR5cGVcbiAgICAgICAgICAgIGN1cnJlbmN5XG4gICAgICAgICAgICBhbW91bnRcbiAgICAgICAgICAgIHJlbWFya1xuICAgICAgICAgICAgY2hhbmdlRmVlSW5kXG4gICAgICAgICAgICBjYW5jZWxGZWVJbmRcbiAgICAgICAgICAgIHJlZnVuZGFibGVJbmRcbiAgICAgICAgICB9XG4gICAgICAgICAgdXBncmFkZSB7XG4gICAgICAgICAgICBuYW1lXG4gICAgICAgICAgICB0eXBlXG4gICAgICAgICAgICBjdXJyZW5jeVxuICAgICAgICAgICAgYW1vdW50XG4gICAgICAgICAgICByZW1hcmtcbiAgICAgICAgICAgIGNoYW5nZUZlZUluZFxuICAgICAgICAgICAgY2FuY2VsRmVlSW5kXG4gICAgICAgICAgICByZWZ1bmRhYmxlSW5kXG4gICAgICAgICAgfVxuICAgICAgICAgIG90aGVyIHtcbiAgICAgICAgICAgIG5hbWVcbiAgICAgICAgICAgIHR5cGVcbiAgICAgICAgICAgIGN1cnJlbmN5XG4gICAgICAgICAgICBhbW91bnRcbiAgICAgICAgICAgIHJlbWFya1xuICAgICAgICAgICAgY2hhbmdlRmVlSW5kXG4gICAgICAgICAgICBjYW5jZWxGZWVJbmRcbiAgICAgICAgICAgIHJlZnVuZGFibGVJbmRcbiAgICAgICAgICB9XG4gICAgICAgIH1cbiAgICAgICAgYmFnZ2FnZUFsbG93YW5jZSB7XG4gICAgICAgICAgdHlwZVxuICAgICAgICAgIHF0eVxuICAgICAgICAgIG1heEtHXG4gICAgICAgICAgbWF4TEJTXG4gICAgICAgIH1cbiAgICAgICAgYWRkaXRpb25hbFxuICAgICAgICBzb3VyY2VcbiAgICAgICAgc291cmNlSWRcbiAgICAgICAgdmVyc2lvblxuICAgICAgICB0bWNQcmVmZXJyZWRcbiAgICAgICAgY29tcGFueVByZWZlcnJlZFxuICAgICAgICBvZmZpY2VQcmVmZXJyZWRcbiAgICAgICAgdG1jUHJlZmVycmVkTWVzc2FnZVxuICAgICAgICBjb21wYW55UHJlZmVycmVkTWVzc2FnZVxuICAgICAgICBvZmZpY2VQcmVmZXJyZWRNZXNzYWdlXG4gICAgICAgIHVuYXZhaWxhYmxlXG4gICAgICAgIHVuYXZhaWxhYmxlTWVzc2FnZVxuICAgICAgICBjbzJQZXJJdGVtXG4gICAgICAgIGNvMlBlclBhc3NlbmdlclxuICAgICAgfVxuICAgICAgbXVsdGkge1xuICAgICAgICBvcmRlclxuICAgICAgICBvcmlnaW5cbiAgICAgICAgZGVzdGluYXRpb25cbiAgICAgICAgcmVzdWx0cyB7XG4gICAgICAgICAgdWlkXG4gICAgICAgICAgcGFzc2VuZ2VyQ291bnRcbiAgICAgICAgICBvdXRib3VuZEZsaWdodHMge1xuICAgICAgICAgICAgb3JpZ2luQWlycG9ydFxuICAgICAgICAgICAgb3JpZ2luVGVybWluYWxcbiAgICAgICAgICAgIG9yaWdpbkFpcnBvcnROYW1lXG4gICAgICAgICAgICBvcmlnaW5BaXJwb3J0RGV0YWlsIHtcbiAgICAgICAgICAgICAgaWF0YVxuICAgICAgICAgICAgICBpY2FvXG4gICAgICAgICAgICAgIGxhdGl0dWRlXG4gICAgICAgICAgICAgIGxvbmdpdHVkZVxuICAgICAgICAgICAgICBhbHRpdHVkZVxuICAgICAgICAgICAgICBzdGF0ZVxuICAgICAgICAgICAgICBjaXR5XG4gICAgICAgICAgICAgIHJvYWRcbiAgICAgICAgICAgICAgcG9wdWxhcml0eVxuICAgICAgICAgICAgICBhcmVhXG4gICAgICAgICAgICAgIGxvY2F0aW9uXG4gICAgICAgICAgICAgIG9mZnNldFxuICAgICAgICAgICAgICBhaXJwb3J0TmFtZVxuICAgICAgICAgICAgICBjb3VudHJ5TmFtZVxuICAgICAgICAgICAgICBjb3VudHJ5Q29kZVxuICAgICAgICAgICAgICBwb3N0Y29kZVxuICAgICAgICAgICAgfVxuICAgICAgICAgICAgZGVzdGluYXRpb25BaXJwb3J0XG4gICAgICAgICAgICBkZXN0aW5hdGlvblRlcm1pbmFsXG4gICAgICAgICAgICBkZXN0aW5hdGlvbkFpcnBvcnROYW1lXG4gICAgICAgICAgICBkZXN0aW5hdGlvbkFpcnBvcnREZXRhaWwge1xuICAgICAgICAgICAgICBpYXRhXG4gICAgICAgICAgICAgIGljYW9cbiAgICAgICAgICAgICAgbGF0aXR1ZGVcbiAgICAgICAgICAgICAgbG9uZ2l0dWRlXG4gICAgICAgICAgICAgIGFsdGl0dWRlXG4gICAgICAgICAgICAgIHN0YXRlXG4gICAgICAgICAgICAgIGNpdHlcbiAgICAgICAgICAgICAgcm9hZFxuICAgICAgICAgICAgICBwb3B1bGFyaXR5XG4gICAgICAgICAgICAgIGFyZWFcbiAgICAgICAgICAgICAgbG9jYXRpb25cbiAgICAgICAgICAgICAgb2Zmc2V0XG4gICAgICAgICAgICAgIGFpcnBvcnROYW1lXG4gICAgICAgICAgICAgIGNvdW50cnlOYW1lXG4gICAgICAgICAgICAgIGNvdW50cnlDb2RlXG4gICAgICAgICAgICAgIHBvc3Rjb2RlXG4gICAgICAgICAgICB9XG4gICAgICAgICAgICBkYXRlVGltZURlcGFydGluZ1xuICAgICAgICAgICAgZGF0ZVRpbWVEZXBhcnRpbmdVVENcbiAgICAgICAgICAgIGRhdGVUaW1lQXJyaXZpbmdcbiAgICAgICAgICAgIGRhdGVUaW1lQXJyaXZpbmdVVENcbiAgICAgICAgICAgIG1hcmtldGluZ0NhcnJpZXJcbiAgICAgICAgICAgIG1hcmtldGluZ0NhcnJpZXJOYW1lXG4gICAgICAgICAgICBtYXJrZXRpbmdDYXJyaWVyRGV0YWlsIHtcbiAgICAgICAgICAgICAgbmFtZVxuICAgICAgICAgICAgICBhbGlhc1xuICAgICAgICAgICAgICBjYWxsc2lnblxuICAgICAgICAgICAgICBpYXRhXG4gICAgICAgICAgICAgIGljYW9cbiAgICAgICAgICAgICAgbG9nb1xuICAgICAgICAgICAgICBiYW5uZXJcbiAgICAgICAgICAgICAgcG9wdWxhcml0eVxuICAgICAgICAgICAgfVxuICAgICAgICAgICAgbWFya2V0aW5nRmxpZ2h0TnVtYmVyXG4gICAgICAgICAgICBvcGVyYXRpbmdDYXJyaWVyXG4gICAgICAgICAgICBvcGVyYXRpbmdDYXJyaWVyTmFtZVxuICAgICAgICAgICAgb3BlcmF0aW5nQ2FycmllckRldGFpbCB7XG4gICAgICAgICAgICAgIG5hbWVcbiAgICAgICAgICAgICAgYWxpYXNcbiAgICAgICAgICAgICAgY2FsbHNpZ25cbiAgICAgICAgICAgICAgaWF0YVxuICAgICAgICAgICAgICBpY2FvXG4gICAgICAgICAgICAgIGxvZ29cbiAgICAgICAgICAgICAgYmFubmVyXG4gICAgICAgICAgICAgIHBvcHVsYXJpdHlcbiAgICAgICAgICAgIH1cbiAgICAgICAgICAgIG9wZXJhdGluZ0ZsaWdodE51bWJlclxuICAgICAgICAgICAgZXF1aXBtZW50Q29kZVxuICAgICAgICAgICAgZXF1aXBtZW50TmFtZVxuICAgICAgICAgICAgdG90YWxEdXJhdGlvblxuICAgICAgICAgICAgY2FiaW5DbGFzc1xuICAgICAgICAgICAgbWFya2V0aW5nTmFtZXNcbiAgICAgICAgICAgIGZhcmVDb25kaXRpb25zIHtcbiAgICAgICAgICAgICAgY2FuY2VsbGF0aW9uIHtcbiAgICAgICAgICAgICAgICBuYW1lXG4gICAgICAgICAgICAgICAgdHlwZVxuICAgICAgICAgICAgICAgIGN1cnJlbmN5XG4gICAgICAgICAgICAgICAgYW1vdW50XG4gICAgICAgICAgICAgICAgcmVtYXJrXG4gICAgICAgICAgICAgICAgY2hhbmdlRmVlSW5kXG4gICAgICAgICAgICAgICAgY2FuY2VsRmVlSW5kXG4gICAgICAgICAgICAgICAgcmVmdW5kYWJsZUluZFxuICAgICAgICAgICAgICB9XG4gICAgICAgICAgICAgIGNoYW5nZSB7XG4gICAgICAgICAgICAgICAgbmFtZVxuICAgICAgICAgICAgICAgIHR5cGVcbiAgICAgICAgICAgICAgICBjdXJyZW5jeVxuICAgICAgICAgICAgICAgIGFtb3VudFxuICAgICAgICAgICAgICAgIHJlbWFya1xuICAgICAgICAgICAgICAgIGNoYW5nZUZlZUluZFxuICAgICAgICAgICAgICAgIGNhbmNlbEZlZUluZFxuICAgICAgICAgICAgICAgIHJlZnVuZGFibGVJbmRcbiAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgICBub1Nob3cge1xuICAgICAgICAgICAgICAgIG5hbWVcbiAgICAgICAgICAgICAgICB0eXBlXG4gICAgICAgICAgICAgICAgY3VycmVuY3lcbiAgICAgICAgICAgICAgICBhbW91bnRcbiAgICAgICAgICAgICAgICByZW1hcmtcbiAgICAgICAgICAgICAgICBjaGFuZ2VGZWVJbmRcbiAgICAgICAgICAgICAgICBjYW5jZWxGZWVJbmRcbiAgICAgICAgICAgICAgICByZWZ1bmRhYmxlSW5kXG4gICAgICAgICAgICAgIH1cbiAgICAgICAgICAgICAgdXBncmFkZSB7XG4gICAgICAgICAgICAgICAgbmFtZVxuICAgICAgICAgICAgICAgIHR5cGVcbiAgICAgICAgICAgICAgICBjdXJyZW5jeVxuICAgICAgICAgICAgICAgIGFtb3VudFxuICAgICAgICAgICAgICAgIHJlbWFya1xuICAgICAgICAgICAgICAgIGNoYW5nZUZlZUluZFxuICAgICAgICAgICAgICAgIGNhbmNlbEZlZUluZFxuICAgICAgICAgICAgICAgIHJlZnVuZGFibGVJbmRcbiAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgICBvdGhlciB7XG4gICAgICAgICAgICAgICAgbmFtZVxuICAgICAgICAgICAgICAgIHR5cGVcbiAgICAgICAgICAgICAgICBjdXJyZW5jeVxuICAgICAgICAgICAgICAgIGFtb3VudFxuICAgICAgICAgICAgICAgIHJlbWFya1xuICAgICAgICAgICAgICAgIGNoYW5nZUZlZUluZFxuICAgICAgICAgICAgICAgIGNhbmNlbEZlZUluZFxuICAgICAgICAgICAgICAgIHJlZnVuZGFibGVJbmRcbiAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgfVxuICAgICAgICAgICAgdmVuZG9yQ29kZVxuICAgICAgICAgICAgc3RvcHNcbiAgICAgICAgICAgIGJvb2tpbmdDb2RlXG4gICAgICAgICAgICBtYXJyaWFnZUdyb3VwXG4gICAgICAgICAgICBmYXJlQmFzaXNDb2RlXG4gICAgICAgICAgICBhZGRpdGlvbmFsXG4gICAgICAgICAgfVxuICAgICAgICAgIGluYm91bmRGbGlnaHRzIHtcbiAgICAgICAgICAgIG9yaWdpbkFpcnBvcnRcbiAgICAgICAgICAgIG9yaWdpblRlcm1pbmFsXG4gICAgICAgICAgICBvcmlnaW5BaXJwb3J0TmFtZVxuICAgICAgICAgICAgb3JpZ2luQWlycG9ydERldGFpbCB7XG4gICAgICAgICAgICAgIGlhdGFcbiAgICAgICAgICAgICAgaWNhb1xuICAgICAgICAgICAgICBsYXRpdHVkZVxuICAgICAgICAgICAgICBsb25naXR1ZGVcbiAgICAgICAgICAgICAgYWx0aXR1ZGVcbiAgICAgICAgICAgICAgc3RhdGVcbiAgICAgICAgICAgICAgY2l0eVxuICAgICAgICAgICAgICByb2FkXG4gICAgICAgICAgICAgIHBvcHVsYXJpdHlcbiAgICAgICAgICAgICAgYXJlYVxuICAgICAgICAgICAgICBsb2NhdGlvblxuICAgICAgICAgICAgICBvZmZzZXRcbiAgICAgICAgICAgICAgYWlycG9ydE5hbWVcbiAgICAgICAgICAgICAgY291bnRyeU5hbWVcbiAgICAgICAgICAgICAgY291bnRyeUNvZGVcbiAgICAgICAgICAgICAgcG9zdGNvZGVcbiAgICAgICAgICAgIH1cbiAgICAgICAgICAgIGRlc3RpbmF0aW9uQWlycG9ydFxuICAgICAgICAgICAgZGVzdGluYXRpb25UZXJtaW5hbFxuICAgICAgICAgICAgZGVzdGluYXRpb25BaXJwb3J0TmFtZVxuICAgICAgICAgICAgZGVzdGluYXRpb25BaXJwb3J0RGV0YWlsIHtcbiAgICAgICAgICAgICAgaWF0YVxuICAgICAgICAgICAgICBpY2FvXG4gICAgICAgICAgICAgIGxhdGl0dWRlXG4gICAgICAgICAgICAgIGxvbmdpdHVkZVxuICAgICAgICAgICAgICBhbHRpdHVkZVxuICAgICAgICAgICAgICBzdGF0ZVxuICAgICAgICAgICAgICBjaXR5XG4gICAgICAgICAgICAgIHJvYWRcbiAgICAgICAgICAgICAgcG9wdWxhcml0eVxuICAgICAgICAgICAgICBhcmVhXG4gICAgICAgICAgICAgIGxvY2F0aW9uXG4gICAgICAgICAgICAgIG9mZnNldFxuICAgICAgICAgICAgICBhaXJwb3J0TmFtZVxuICAgICAgICAgICAgICBjb3VudHJ5TmFtZVxuICAgICAgICAgICAgICBjb3VudHJ5Q29kZVxuICAgICAgICAgICAgICBwb3N0Y29kZVxuICAgICAgICAgICAgfVxuICAgICAgICAgICAgZGF0ZVRpbWVEZXBhcnRpbmdcbiAgICAgICAgICAgIGRhdGVUaW1lRGVwYXJ0aW5nVVRDXG4gICAgICAgICAgICBkYXRlVGltZUFycml2aW5nXG4gICAgICAgICAgICBkYXRlVGltZUFycml2aW5nVVRDXG4gICAgICAgICAgICBtYXJrZXRpbmdDYXJyaWVyXG4gICAgICAgICAgICBtYXJrZXRpbmdDYXJyaWVyTmFtZVxuICAgICAgICAgICAgbWFya2V0aW5nQ2FycmllckRldGFpbCB7XG4gICAgICAgICAgICAgIG5hbWVcbiAgICAgICAgICAgICAgYWxpYXNcbiAgICAgICAgICAgICAgY2FsbHNpZ25cbiAgICAgICAgICAgICAgaWF0YVxuICAgICAgICAgICAgICBpY2FvXG4gICAgICAgICAgICAgIGxvZ29cbiAgICAgICAgICAgICAgYmFubmVyXG4gICAgICAgICAgICAgIHBvcHVsYXJpdHlcbiAgICAgICAgICAgIH1cbiAgICAgICAgICAgIG1hcmtldGluZ0ZsaWdodE51bWJlclxuICAgICAgICAgICAgb3BlcmF0aW5nQ2FycmllclxuICAgICAgICAgICAgb3BlcmF0aW5nQ2Fycmllck5hbWVcbiAgICAgICAgICAgIG9wZXJhdGluZ0NhcnJpZXJEZXRhaWwge1xuICAgICAgICAgICAgICBuYW1lXG4gICAgICAgICAgICAgIGFsaWFzXG4gICAgICAgICAgICAgIGNhbGxzaWduXG4gICAgICAgICAgICAgIGlhdGFcbiAgICAgICAgICAgICAgaWNhb1xuICAgICAgICAgICAgICBsb2dvXG4gICAgICAgICAgICAgIGJhbm5lclxuICAgICAgICAgICAgICBwb3B1bGFyaXR5XG4gICAgICAgICAgICB9XG4gICAgICAgICAgICBvcGVyYXRpbmdGbGlnaHROdW1iZXJcbiAgICAgICAgICAgIGVxdWlwbWVudENvZGVcbiAgICAgICAgICAgIGVxdWlwbWVudE5hbWVcbiAgICAgICAgICAgIHRvdGFsRHVyYXRpb25cbiAgICAgICAgICAgIGNhYmluQ2xhc3NcbiAgICAgICAgICAgIG1hcmtldGluZ05hbWVzXG4gICAgICAgICAgICBmYXJlQ29uZGl0aW9ucyB7XG4gICAgICAgICAgICAgIGNhbmNlbGxhdGlvbiB7XG4gICAgICAgICAgICAgICAgbmFtZVxuICAgICAgICAgICAgICAgIHR5cGVcbiAgICAgICAgICAgICAgICBjdXJyZW5jeVxuICAgICAgICAgICAgICAgIGFtb3VudFxuICAgICAgICAgICAgICAgIHJlbWFya1xuICAgICAgICAgICAgICAgIGNoYW5nZUZlZUluZFxuICAgICAgICAgICAgICAgIGNhbmNlbEZlZUluZFxuICAgICAgICAgICAgICAgIHJlZnVuZGFibGVJbmRcbiAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgICBjaGFuZ2Uge1xuICAgICAgICAgICAgICAgIG5hbWVcbiAgICAgICAgICAgICAgICB0eXBlXG4gICAgICAgICAgICAgICAgY3VycmVuY3lcbiAgICAgICAgICAgICAgICBhbW91bnRcbiAgICAgICAgICAgICAgICByZW1hcmtcbiAgICAgICAgICAgICAgICBjaGFuZ2VGZWVJbmRcbiAgICAgICAgICAgICAgICBjYW5jZWxGZWVJbmRcbiAgICAgICAgICAgICAgICByZWZ1bmRhYmxlSW5kXG4gICAgICAgICAgICAgIH1cbiAgICAgICAgICAgICAgbm9TaG93IHtcbiAgICAgICAgICAgICAgICBuYW1lXG4gICAgICAgICAgICAgICAgdHlwZVxuICAgICAgICAgICAgICAgIGN1cnJlbmN5XG4gICAgICAgICAgICAgICAgYW1vdW50XG4gICAgICAgICAgICAgICAgcmVtYXJrXG4gICAgICAgICAgICAgICAgY2hhbmdlRmVlSW5kXG4gICAgICAgICAgICAgICAgY2FuY2VsRmVlSW5kXG4gICAgICAgICAgICAgICAgcmVmdW5kYWJsZUluZFxuICAgICAgICAgICAgICB9XG4gICAgICAgICAgICAgIHVwZ3JhZGUge1xuICAgICAgICAgICAgICAgIG5hbWVcbiAgICAgICAgICAgICAgICB0eXBlXG4gICAgICAgICAgICAgICAgY3VycmVuY3lcbiAgICAgICAgICAgICAgICBhbW91bnRcbiAgICAgICAgICAgICAgICByZW1hcmtcbiAgICAgICAgICAgICAgICBjaGFuZ2VGZWVJbmRcbiAgICAgICAgICAgICAgICBjYW5jZWxGZWVJbmRcbiAgICAgICAgICAgICAgICByZWZ1bmRhYmxlSW5kXG4gICAgICAgICAgICAgIH1cbiAgICAgICAgICAgICAgb3RoZXIge1xuICAgICAgICAgICAgICAgIG5hbWVcbiAgICAgICAgICAgICAgICB0eXBlXG4gICAgICAgICAgICAgICAgY3VycmVuY3lcbiAgICAgICAgICAgICAgICBhbW91bnRcbiAgICAgICAgICAgICAgICByZW1hcmtcbiAgICAgICAgICAgICAgICBjaGFuZ2VGZWVJbmRcbiAgICAgICAgICAgICAgICBjYW5jZWxGZWVJbmRcbiAgICAgICAgICAgICAgICByZWZ1bmRhYmxlSW5kXG4gICAgICAgICAgICAgIH1cbiAgICAgICAgICAgIH1cbiAgICAgICAgICAgIHZlbmRvckNvZGVcbiAgICAgICAgICAgIHN0b3BzXG4gICAgICAgICAgICBib29raW5nQ29kZVxuICAgICAgICAgICAgbWFycmlhZ2VHcm91cFxuICAgICAgICAgICAgZmFyZUJhc2lzQ29kZVxuICAgICAgICAgICAgYWRkaXRpb25hbFxuICAgICAgICAgIH1cbiAgICAgICAgICBvdXRib3VuZFRvdGFsRHVyYXRpb25cbiAgICAgICAgICBvdXRib3VuZENhcmJvbkVtaXNzaW9ucyB7XG4gICAgICAgICAgICBhbW91bnRcbiAgICAgICAgICAgIHVuaXRcbiAgICAgICAgICB9XG4gICAgICAgICAgaW5ib3VuZFRvdGFsRHVyYXRpb25cbiAgICAgICAgICBpbmJvdW5kQ2FyYm9uRW1pc3Npb25zIHtcbiAgICAgICAgICAgIGFtb3VudFxuICAgICAgICAgICAgdW5pdFxuICAgICAgICAgIH1cbiAgICAgICAgICB0YXhlcyB7XG4gICAgICAgICAgICBkZXNjcmlwdGlvblxuICAgICAgICAgICAgYW1vdW50XG4gICAgICAgICAgICBjdXJyZW5jeVxuICAgICAgICAgIH1cbiAgICAgICAgICBkaXNjb3VudHMge1xuICAgICAgICAgICAgZGVzY3JpcHRpb25cbiAgICAgICAgICAgIGFtb3VudFxuICAgICAgICAgICAgY3VycmVuY3lcbiAgICAgICAgICB9XG4gICAgICAgICAgdG90YWwge1xuICAgICAgICAgICAgcHJpY2VcbiAgICAgICAgICAgIHRheFxuICAgICAgICAgICAgZGlzY291bnRcbiAgICAgICAgICAgIGN1cnJlbmN5XG4gICAgICAgICAgfVxuICAgICAgICAgIGZhcmVDb25kaXRpb25zIHtcbiAgICAgICAgICAgIGNhbmNlbGxhdGlvbiB7XG4gICAgICAgICAgICAgIG5hbWVcbiAgICAgICAgICAgICAgdHlwZVxuICAgICAgICAgICAgICBjdXJyZW5jeVxuICAgICAgICAgICAgICBhbW91bnRcbiAgICAgICAgICAgICAgcmVtYXJrXG4gICAgICAgICAgICAgIGNoYW5nZUZlZUluZFxuICAgICAgICAgICAgICBjYW5jZWxGZWVJbmRcbiAgICAgICAgICAgICAgcmVmdW5kYWJsZUluZFxuICAgICAgICAgICAgfVxuICAgICAgICAgICAgY2hhbmdlIHtcbiAgICAgICAgICAgICAgbmFtZVxuICAgICAgICAgICAgICB0eXBlXG4gICAgICAgICAgICAgIGN1cnJlbmN5XG4gICAgICAgICAgICAgIGFtb3VudFxuICAgICAgICAgICAgICByZW1hcmtcbiAgICAgICAgICAgICAgY2hhbmdlRmVlSW5kXG4gICAgICAgICAgICAgIGNhbmNlbEZlZUluZFxuICAgICAgICAgICAgICByZWZ1bmRhYmxlSW5kXG4gICAgICAgICAgICB9XG4gICAgICAgICAgICBub1Nob3cge1xuICAgICAgICAgICAgICBuYW1lXG4gICAgICAgICAgICAgIHR5cGVcbiAgICAgICAgICAgICAgY3VycmVuY3lcbiAgICAgICAgICAgICAgYW1vdW50XG4gICAgICAgICAgICAgIHJlbWFya1xuICAgICAgICAgICAgICBjaGFuZ2VGZWVJbmRcbiAgICAgICAgICAgICAgY2FuY2VsRmVlSW5kXG4gICAgICAgICAgICAgIHJlZnVuZGFibGVJbmRcbiAgICAgICAgICAgIH1cbiAgICAgICAgICAgIHVwZ3JhZGUge1xuICAgICAgICAgICAgICBuYW1lXG4gICAgICAgICAgICAgIHR5cGVcbiAgICAgICAgICAgICAgY3VycmVuY3lcbiAgICAgICAgICAgICAgYW1vdW50XG4gICAgICAgICAgICAgIHJlbWFya1xuICAgICAgICAgICAgICBjaGFuZ2VGZWVJbmRcbiAgICAgICAgICAgICAgY2FuY2VsRmVlSW5kXG4gICAgICAgICAgICAgIHJlZnVuZGFibGVJbmRcbiAgICAgICAgICAgIH1cbiAgICAgICAgICAgIG90aGVyIHtcbiAgICAgICAgICAgICAgbmFtZVxuICAgICAgICAgICAgICB0eXBlXG4gICAgICAgICAgICAgIGN1cnJlbmN5XG4gICAgICAgICAgICAgIGFtb3VudFxuICAgICAgICAgICAgICByZW1hcmtcbiAgICAgICAgICAgICAgY2hhbmdlRmVlSW5kXG4gICAgICAgICAgICAgIGNhbmNlbEZlZUluZFxuICAgICAgICAgICAgICByZWZ1bmRhYmxlSW5kXG4gICAgICAgICAgICB9XG4gICAgICAgICAgfVxuICAgICAgICAgIGJhZ2dhZ2VBbGxvd2FuY2Uge1xuICAgICAgICAgICAgdHlwZVxuICAgICAgICAgICAgcXR5XG4gICAgICAgICAgICBtYXhLR1xuICAgICAgICAgICAgbWF4TEJTXG4gICAgICAgICAgfVxuICAgICAgICAgIGFkZGl0aW9uYWxcbiAgICAgICAgICBzb3VyY2VcbiAgICAgICAgICBzb3VyY2VJZFxuICAgICAgICAgIHZlcnNpb25cbiAgICAgICAgICB0bWNQcmVmZXJyZWRcbiAgICAgICAgICBjb21wYW55UHJlZmVycmVkXG4gICAgICAgICAgb2ZmaWNlUHJlZmVycmVkXG4gICAgICAgICAgdG1jUHJlZmVycmVkTWVzc2FnZVxuICAgICAgICAgIGNvbXBhbnlQcmVmZXJyZWRNZXNzYWdlXG4gICAgICAgICAgb2ZmaWNlUHJlZmVycmVkTWVzc2FnZVxuICAgICAgICAgIHVuYXZhaWxhYmxlXG4gICAgICAgICAgdW5hdmFpbGFibGVNZXNzYWdlXG4gICAgICAgICAgY28yUGVySXRlbVxuICAgICAgICAgIGNvMlBlclBhc3NlbmdlclxuICAgICAgICB9XG4gICAgICAgIG1pblByaWNlXG4gICAgICAgIG1heFByaWNlXG4gICAgICB9XG4gICAgICBncm91cGVkIHtcbiAgICAgICAgLi4uR3JvdXBlZEZpZWxkcyBAaW5jbHVkZShpZjogJHdpdGhHcm91cGVkKVxuICAgICAgfVxuICAgIH1cbiAgICBlcnJvcnMge1xuICAgICAgLi4uRXJyb3JzXG4gICAgfVxuICB9XG59XG4gICAgJHtHcm91cGVkRmllbGRzRnJhZ21lbnREb2N9XG4ke0Vycm9yc0ZyYWdtZW50RG9jfWA7XG5cbiAgQEluamVjdGFibGUoe1xuICAgIHByb3ZpZGVkSW46ICdyb290J1xuICB9KVxuICBleHBvcnQgY2xhc3MgU2VhcmNoRmxpZ2h0c1YyR1FMIGV4dGVuZHMgQXBvbGxvLlF1ZXJ5PFNlYXJjaEZsaWdodHNWMlF1ZXJ5LCBTZWFyY2hGbGlnaHRzVjJRdWVyeVZhcmlhYmxlcz4ge1xuICAgIGRvY3VtZW50ID0gU2VhcmNoRmxpZ2h0c1YyRG9jdW1lbnQ7XG4gICAgXG4gICAgY29uc3RydWN0b3IoYXBvbGxvOiBBcG9sbG8uQXBvbGxvKSB7XG4gICAgICBzdXBlcihhcG9sbG8pO1xuICAgIH1cbiAgfVxuZXhwb3J0IGNvbnN0IEdldENhckhpcmVEZXBvdHNEb2N1bWVudCA9IGdxbGBcbiAgICBxdWVyeSBnZXRDYXJIaXJlRGVwb3RzKCRsYXRpdHVkZTogRmxvYXQhLCAkbG9uZ2l0dWRlOiBGbG9hdCEsICR2ZW5kb3JDb2RlOiBTdHJpbmcpIHtcbiAgZ2V0Q2FySGlyZURlcG90cyhsYXRpdHVkZTogJGxhdGl0dWRlLCBsb25naXR1ZGU6ICRsb25naXR1ZGUsIHZlbmRvckNvZGU6ICR2ZW5kb3JDb2RlKSB7XG4gICAgY291bnRyeUNvZGVcbiAgICBsb2NhdGlvbkNvZGVcbiAgICBleHRlbmRlZExvY2F0aW9uQ29kZVxuICAgIHZlbmRvckNvZGVcbiAgICBsYXRpdHVkZVxuICAgIGxvbmdpdHVkZVxuICAgIHZlbmRvclxuICAgIGFkZHJlc3NMaW5lc1xuICAgIGNpdHlOYW1lXG4gIH1cbn1cbiAgICBgO1xuXG4gIEBJbmplY3RhYmxlKHtcbiAgICBwcm92aWRlZEluOiAncm9vdCdcbiAgfSlcbiAgZXhwb3J0IGNsYXNzIEdldENhckhpcmVEZXBvdHNHUUwgZXh0ZW5kcyBBcG9sbG8uUXVlcnk8R2V0Q2FySGlyZURlcG90c1F1ZXJ5LCBHZXRDYXJIaXJlRGVwb3RzUXVlcnlWYXJpYWJsZXM+IHtcbiAgICBkb2N1bWVudCA9IEdldENhckhpcmVEZXBvdHNEb2N1bWVudDtcbiAgICBcbiAgICBjb25zdHJ1Y3RvcihhcG9sbG86IEFwb2xsby5BcG9sbG8pIHtcbiAgICAgIHN1cGVyKGFwb2xsbyk7XG4gICAgfVxuICB9XG5leHBvcnQgY29uc3QgR2V0Q29uZmVybWFPZmZpY2VEb2N1bWVudCA9IGdxbGBcbiAgICBxdWVyeSBnZXRDb25mZXJtYU9mZmljZSgkb2ZmaWNlSWQ6IEludCEpIHtcbiAgZ2V0Q29uZmVybWFPZmZpY2Uob2ZmaWNlSWQ6ICRvZmZpY2VJZCkge1xuICAgIHJlc3VsdHMge1xuICAgICAgaWRcbiAgICAgIG5hbWVcbiAgICAgIGFkZHJlc3Mge1xuICAgICAgICBhZGRyZXNzTmFtZVxuICAgICAgICBhZGRyZXNzTGluZTFcbiAgICAgICAgYWRkcmVzc0xpbmUyXG4gICAgICAgIGFkZHJlc3NMaW5lM1xuICAgICAgICBwb3N0YWxDb2RlXG4gICAgICAgIGNpdHlcbiAgICAgICAgY291bnRyeUNvZGVcbiAgICAgICAgY291bnRyeU5hbWVcbiAgICAgICAgdGVsZXBob25lTnVtYmVyXG4gICAgICAgIGZhY3NpbWlsZU51bWJlclxuICAgICAgICBlbWFpbEFkZHJlc3NcbiAgICAgICAgc3RhdGVQcm92aW5jZVxuICAgICAgICBtb2JpbGVOdW1iZXJcbiAgICAgIH1cbiAgICAgIGNsb3Nlc3RBaXJwb3J0XG4gICAgICBjbG9zZXN0VHJhaW5TdGF0aW9uXG4gICAgICBsb25naXR1ZGVcbiAgICAgIGxhdGl0dWRlXG4gICAgICBjbG9zZXN0SG90ZWxzIHtcbiAgICAgICAgaG90ZWxJZFxuICAgICAgICBob3RlbE5hbWVcbiAgICAgICAgaXNQcmVmZXJyZWRcbiAgICAgIH1cbiAgICB9XG4gICAgZXJyb3JzIHtcbiAgICAgIHNlcnZpY2Uge1xuICAgICAgICBpZFxuICAgICAgICB0eXBlXG4gICAgICAgIG5hbWVcbiAgICAgICAgZGVzY3JpcHRpb25cbiAgICAgICAgc3VwcGxpZXJVcmxcbiAgICAgICAgYWN0aXZlXG4gICAgICAgIGFwaUVuZHBvaW50VXJsXG4gICAgICAgIGJhc2tldEl0ZW1UdGxcbiAgICAgICAgY2FuY2VsbGFibGVcbiAgICAgICAgYW1lbmRhYmxlXG4gICAgICAgIGRldGFpbFNjaGVtYVxuICAgICAgICBzZWFyY2hRdWVyeVNjaGVtYVxuICAgICAgfVxuICAgICAgZXJyb3JNZXNzYWdlXG4gICAgICBlcnJvckNvZGVcbiAgICB9XG4gIH1cbn1cbiAgICBgO1xuXG4gIEBJbmplY3RhYmxlKHtcbiAgICBwcm92aWRlZEluOiAncm9vdCdcbiAgfSlcbiAgZXhwb3J0IGNsYXNzIEdldENvbmZlcm1hT2ZmaWNlR1FMIGV4dGVuZHMgQXBvbGxvLlF1ZXJ5PEdldENvbmZlcm1hT2ZmaWNlUXVlcnksIEdldENvbmZlcm1hT2ZmaWNlUXVlcnlWYXJpYWJsZXM+IHtcbiAgICBkb2N1bWVudCA9IEdldENvbmZlcm1hT2ZmaWNlRG9jdW1lbnQ7XG4gICAgXG4gICAgY29uc3RydWN0b3IoYXBvbGxvOiBBcG9sbG8uQXBvbGxvKSB7XG4gICAgICBzdXBlcihhcG9sbG8pO1xuICAgIH1cbiAgfVxuZXhwb3J0IGNvbnN0IEdldENvbmZlcm1hT2ZmaWNlTmFtZXNEb2N1bWVudCA9IGdxbGBcbiAgICBxdWVyeSBnZXRDb25mZXJtYU9mZmljZU5hbWVzIHtcbiAgZ2V0Q29uZmVybWFPZmZpY2VOYW1lcyB7XG4gICAgcmVzdWx0cyB7XG4gICAgICBpZFxuICAgICAgbmFtZVxuICAgIH1cbiAgICBlcnJvcnMge1xuICAgICAgLi4uRXJyb3JzXG4gICAgfVxuICB9XG59XG4gICAgJHtFcnJvcnNGcmFnbWVudERvY31gO1xuXG4gIEBJbmplY3RhYmxlKHtcbiAgICBwcm92aWRlZEluOiAncm9vdCdcbiAgfSlcbiAgZXhwb3J0IGNsYXNzIEdldENvbmZlcm1hT2ZmaWNlTmFtZXNHUUwgZXh0ZW5kcyBBcG9sbG8uUXVlcnk8R2V0Q29uZmVybWFPZmZpY2VOYW1lc1F1ZXJ5LCBHZXRDb25mZXJtYU9mZmljZU5hbWVzUXVlcnlWYXJpYWJsZXM+IHtcbiAgICBkb2N1bWVudCA9IEdldENvbmZlcm1hT2ZmaWNlTmFtZXNEb2N1bWVudDtcbiAgICBcbiAgICBjb25zdHJ1Y3RvcihhcG9sbG86IEFwb2xsby5BcG9sbG8pIHtcbiAgICAgIHN1cGVyKGFwb2xsbyk7XG4gICAgfVxuICB9XG5leHBvcnQgY29uc3QgR2V0Q29uZmVybWFRdWlja2xpc3REb2N1bWVudCA9IGdxbGBcbiAgICBxdWVyeSBnZXRDb25mZXJtYVF1aWNrbGlzdCgkY291bnRyeUNvZGU6IFN0cmluZyEpIHtcbiAgZ2V0Q29uZmVybWFRdWlja2xpc3QoY291bnRyeUNvZGU6ICRjb3VudHJ5Q29kZSkge1xuICAgIHJlc3VsdHMge1xuICAgICAgaWRcbiAgICAgIG5hbWVcbiAgICAgIGltYWdlVXJsXG4gICAgICBncm91cFxuICAgICAgbG9jYXRpb24ge1xuICAgICAgICBkaXN0YW5jZVxuICAgICAgICBkaXN0YW5jZVR5cGVcbiAgICAgICAgbG9uZ2l0dWRlXG4gICAgICAgIGxhdGl0dWRlXG4gICAgICB9XG4gICAgICBhZGRyZXNzIHtcbiAgICAgICAgYWRkcmVzc0xpbmUxXG4gICAgICAgIGFkZHJlc3NMaW5lMlxuICAgICAgICBhZGRyZXNzTGluZTNcbiAgICAgICAgcG9zdE9yWmlwQ29kZVxuICAgICAgICBjb3VudHJ5Q29kZVxuICAgICAgICB0ZWxlcGhvbmVcbiAgICAgICAgZmFjc2ltaWxlXG4gICAgICB9XG4gICAgICB0cmFuc3BvcnRzIHtcbiAgICAgICAgdHlwZVxuICAgICAgICBuYW1lXG4gICAgICAgIGNvZGVcbiAgICAgICAgZGlzdGFuY2VcbiAgICAgICAgZGlzdGFuY2VUeXBlXG4gICAgICAgIGxvbmdpdHVkZVxuICAgICAgICBsYXRpdHVkZVxuICAgICAgfVxuICAgICAgcHJlZmVycmVkIHtcbiAgICAgICAgY2xpZW50XG4gICAgICAgIGNvbnN1bWVyXG4gICAgICB9XG4gICAgICB0YWdzIHtcbiAgICAgICAgbmFtZVxuICAgICAgICBkaXNwbGF5XG4gICAgICAgIHR5cGVcbiAgICAgICAgaWNvblxuICAgICAgfVxuICAgICAgYXZhaWxhYmxlUmF0ZXMge1xuICAgICAgICBob3RlbElkXG4gICAgICAgIGltYWdlVXJsXG4gICAgICAgIHJvb21zIHtcbiAgICAgICAgICByb29tSWRcbiAgICAgICAgICByb29tVHlwZVxuICAgICAgICAgIHJvb21EZXNjcmlwdGlvblxuICAgICAgICAgIHJhdGVDb2RlXG4gICAgICAgICAgcmF0ZURlc2NyaXB0aW9uXG4gICAgICAgICAgdG90YWxcbiAgICAgICAgICBjdXJyZW5jeUNvZGVcbiAgICAgICAgICBjdXJyZW5jeUNvbnZlcnNpb24ge1xuICAgICAgICAgICAgcmF0ZVxuICAgICAgICAgICAgbG9jYWxDb2RlXG4gICAgICAgICAgICBsb2NhbFRvdGFsXG4gICAgICAgICAgICBjb252ZXJ0ZWRDb2RlXG4gICAgICAgICAgICBjb252ZXJ0ZWRUb3RhbFxuICAgICAgICAgIH1cbiAgICAgICAgICBkZXBvc2l0IHtcbiAgICAgICAgICAgIGFtb3VudFxuICAgICAgICAgICAgcG9saWN5XG4gICAgICAgICAgICByZXF1aXJlZFxuICAgICAgICAgIH1cbiAgICAgICAgICBuaWdodHMge1xuICAgICAgICAgICAgbmlnaHRcbiAgICAgICAgICAgIHJhdGVcbiAgICAgICAgICAgIGluZm9cbiAgICAgICAgICAgIGRhdGVcbiAgICAgICAgICB9XG4gICAgICAgICAgcG9saWNpZXMge1xuICAgICAgICAgICAgY2FuY2VsbGF0aW9uXG4gICAgICAgICAgICBkZXBvc2l0XG4gICAgICAgICAgICBkaXNhYmxlZEFjY2Vzc1xuICAgICAgICAgICAgZ2VuZXJhbFxuICAgICAgICAgICAgZ3VhcmFudGVlXG4gICAgICAgICAgICByZWZ1bmRBdmFpbGFibGVcbiAgICAgICAgICB9XG4gICAgICAgICAgdGF4IHtcbiAgICAgICAgICAgIGluY2x1ZGVkXG4gICAgICAgICAgICByYXRlXG4gICAgICAgICAgfVxuICAgICAgICAgIGFjY2VwdGVkQ2FyZHMge1xuICAgICAgICAgICAgaWRcbiAgICAgICAgICAgIG5hbWVcbiAgICAgICAgICB9XG4gICAgICAgICAgcGF5bWVudFR5cGVzIHtcbiAgICAgICAgICAgIHR5cGVcbiAgICAgICAgICAgIG5hbWVcbiAgICAgICAgICB9XG4gICAgICAgIH1cbiAgICAgICAgcHJwblxuICAgICAgICBjdXJyZW5jeUNvZGVcbiAgICAgICAgaXNCdXN5XG4gICAgICAgIHNvdXJjZVxuICAgICAgICB2ZXJzaW9uXG4gICAgICB9XG4gICAgICB2ZXJzaW9uXG4gICAgICB0bWNQcmVmZXJyZWRNZXNzYWdlXG4gICAgICBjb21wYW55UHJlZmVycmVkTWVzc2FnZVxuICAgICAgb2ZmaWNlUHJlZmVycmVkTWVzc2FnZVxuICAgICAgdW5hdmFpbGFibGVNZXNzYWdlXG4gICAgfVxuICAgIGVycm9ycyB7XG4gICAgICAuLi5FcnJvcnNcbiAgICB9XG4gIH1cbn1cbiAgICAke0Vycm9yc0ZyYWdtZW50RG9jfWA7XG5cbiAgQEluamVjdGFibGUoe1xuICAgIHByb3ZpZGVkSW46ICdyb290J1xuICB9KVxuICBleHBvcnQgY2xhc3MgR2V0Q29uZmVybWFRdWlja2xpc3RHUUwgZXh0ZW5kcyBBcG9sbG8uUXVlcnk8R2V0Q29uZmVybWFRdWlja2xpc3RRdWVyeSwgR2V0Q29uZmVybWFRdWlja2xpc3RRdWVyeVZhcmlhYmxlcz4ge1xuICAgIGRvY3VtZW50ID0gR2V0Q29uZmVybWFRdWlja2xpc3REb2N1bWVudDtcbiAgICBcbiAgICBjb25zdHJ1Y3RvcihhcG9sbG86IEFwb2xsby5BcG9sbG8pIHtcbiAgICAgIHN1cGVyKGFwb2xsbyk7XG4gICAgfVxuICB9XG5leHBvcnQgY29uc3QgR2V0SXJsU3VwcGxpZXJTdGF0aW9uRG9jdW1lbnQgPSBncWxgXG4gICAgcXVlcnkgZ2V0SVJMU3VwcGxpZXJTdGF0aW9uKCRpZDogSUQsICRzdXBwbGllcjogSVJMU3VwcGxpZXIsICRjb2RlOiBTdHJpbmcpIHtcbiAgZ2V0SVJMU3VwcGxpZXJTdGF0aW9uKGlkOiAkaWQsIHN1cHBsaWVyOiAkc3VwcGxpZXIsIGNvZGU6ICRjb2RlKSB7XG4gICAgaWRcbiAgICBuYW1lXG4gICAgc3VwcGxpZXJcbiAgICBzdGF0aW9uQ29kZVxuICAgIG5sY0NvZGVcbiAgICB0cmFpbmxpbmVDb2RlXG4gICAgdHJhaW5saW5lVW5pcXVlQ29kZVxuICAgIGxvY2F0aW9uRGV0YWlscyB7XG4gICAgICBjb250aW5lbnRcbiAgICAgIGNvdW50cnlcbiAgICAgIGNvdW50cnlDb2RlXG4gICAgICBzdGF0ZVxuICAgICAgY2l0eVxuICAgICAgY29vcmRpbmF0ZXMge1xuICAgICAgICBsYXRpdHVkZVxuICAgICAgICBsb25naXR1ZGVcbiAgICAgICAgYWx0aXR1ZGVcbiAgICAgIH1cbiAgICAgIHBvc3Rjb2RlXG4gICAgICByb2FkXG4gICAgICBncmlkUmVmZXJlbmNlXG4gICAgICBub3J0aGluZ1xuICAgICAgZWFzdGluZ1xuICAgIH1cbiAgfVxufVxuICAgIGA7XG5cbiAgQEluamVjdGFibGUoe1xuICAgIHByb3ZpZGVkSW46ICdyb290J1xuICB9KVxuICBleHBvcnQgY2xhc3MgR2V0SXJsU3VwcGxpZXJTdGF0aW9uR1FMIGV4dGVuZHMgQXBvbGxvLlF1ZXJ5PEdldElybFN1cHBsaWVyU3RhdGlvblF1ZXJ5LCBHZXRJcmxTdXBwbGllclN0YXRpb25RdWVyeVZhcmlhYmxlcz4ge1xuICAgIGRvY3VtZW50ID0gR2V0SXJsU3VwcGxpZXJTdGF0aW9uRG9jdW1lbnQ7XG4gICAgXG4gICAgY29uc3RydWN0b3IoYXBvbGxvOiBBcG9sbG8uQXBvbGxvKSB7XG4gICAgICBzdXBlcihhcG9sbG8pO1xuICAgIH1cbiAgfVxuZXhwb3J0IGNvbnN0IEdldFJhaWxTdGF0aW9uRG9jdW1lbnQgPSBncWxgXG4gICAgcXVlcnkgZ2V0UmFpbFN0YXRpb24oJGlkOiBJRCwgJGNvZGU6IFN0cmluZykge1xuICBnZXRSYWlsU3RhdGlvbihpZDogJGlkLCBjb2RlOiAkY29kZSkge1xuICAgIGlkXG4gICAgbmFtZVxuICAgIHN0YXRpb25Db2RlXG4gICAgbmxjQ29kZVxuICAgIHRyYWlubGluZUNvZGVcbiAgICB0cmFpbmxpbmVVbmlxdWVDb2RlXG4gICAgbG9jYXRpb25EZXRhaWxzIHtcbiAgICAgIGNvbnRpbmVudFxuICAgICAgY291bnRyeVxuICAgICAgY291bnRyeUNvZGVcbiAgICAgIHN0YXRlXG4gICAgICBjaXR5XG4gICAgICBjb29yZGluYXRlcyB7XG4gICAgICAgIGxhdGl0dWRlXG4gICAgICAgIGxvbmdpdHVkZVxuICAgICAgICBhbHRpdHVkZVxuICAgICAgfVxuICAgICAgcG9zdGNvZGVcbiAgICAgIHJvYWRcbiAgICAgIGdyaWRSZWZlcmVuY2VcbiAgICAgIG5vcnRoaW5nXG4gICAgICBlYXN0aW5nXG4gICAgfVxuICB9XG59XG4gICAgYDtcblxuICBASW5qZWN0YWJsZSh7XG4gICAgcHJvdmlkZWRJbjogJ3Jvb3QnXG4gIH0pXG4gIGV4cG9ydCBjbGFzcyBHZXRSYWlsU3RhdGlvbkdRTCBleHRlbmRzIEFwb2xsby5RdWVyeTxHZXRSYWlsU3RhdGlvblF1ZXJ5LCBHZXRSYWlsU3RhdGlvblF1ZXJ5VmFyaWFibGVzPiB7XG4gICAgZG9jdW1lbnQgPSBHZXRSYWlsU3RhdGlvbkRvY3VtZW50O1xuICAgIFxuICAgIGNvbnN0cnVjdG9yKGFwb2xsbzogQXBvbGxvLkFwb2xsbykge1xuICAgICAgc3VwZXIoYXBvbGxvKTtcbiAgICB9XG4gIH1cbmV4cG9ydCBjb25zdCBHZXRSYWlsY2FyZHNEb2N1bWVudCA9IGdxbGBcbiAgICBxdWVyeSBnZXRSYWlsY2FyZHMge1xuICBnZXRSYWlsY2FyZHMge1xuICAgIG5hbWVcbiAgICBjb2RlXG4gIH1cbn1cbiAgICBgO1xuXG4gIEBJbmplY3RhYmxlKHtcbiAgICBwcm92aWRlZEluOiAncm9vdCdcbiAgfSlcbiAgZXhwb3J0IGNsYXNzIEdldFJhaWxjYXJkc0dRTCBleHRlbmRzIEFwb2xsby5RdWVyeTxHZXRSYWlsY2FyZHNRdWVyeSwgR2V0UmFpbGNhcmRzUXVlcnlWYXJpYWJsZXM+IHtcbiAgICBkb2N1bWVudCA9IEdldFJhaWxjYXJkc0RvY3VtZW50O1xuICAgIFxuICAgIGNvbnN0cnVjdG9yKGFwb2xsbzogQXBvbGxvLkFwb2xsbykge1xuICAgICAgc3VwZXIoYXBvbGxvKTtcbiAgICB9XG4gIH1cbmV4cG9ydCBjb25zdCBHZXRSaXNrQWxlcnRzRG9jdW1lbnQgPSBncWxgXG4gICAgcXVlcnkgZ2V0Umlza0FsZXJ0cygkbWluTGV2ZWw6IFJpc2tMZXZlbCEsICRtYXhMZXZlbDogUmlza0xldmVsISwgJGNvdW50cnlJc29Db2RlOiBTdHJpbmcsICRhaXJwb3J0OiBJRCwgJHJhaWxTdGF0aW9uOiBJRCwgJGFpcnBvcnRJYXRhOiBTdHJpbmcpIHtcbiAgZ2V0Umlza0FsZXJ0cyhtaW5MZXZlbDogJG1pbkxldmVsLCBtYXhMZXZlbDogJG1heExldmVsLCBjb3VudHJ5SXNvQ29kZTogJGNvdW50cnlJc29Db2RlLCBhaXJwb3J0OiAkYWlycG9ydCwgcmFpbFN0YXRpb246ICRyYWlsU3RhdGlvbiwgYWlycG9ydElhdGE6ICRhaXJwb3J0SWF0YSkge1xuICAgIGlkXG4gICAgdGl0bGVcbiAgICBkZXNjcmlwdGlvblxuICAgIGJyZWFraW5nXG4gICAgcmlza1xuICAgIGNhdGVnb3J5XG4gICAgY291bnRyeVxuICAgIGxvY2F0aW9uXG4gICAgbGF0aXR1ZGVcbiAgICBsb25naXR1ZGVcbiAgICBzdGFydERhdGVcbiAgICBlbmREYXRlXG4gICAgcmVjZWl2ZWREYXRlXG4gIH1cbn1cbiAgICBgO1xuXG4gIEBJbmplY3RhYmxlKHtcbiAgICBwcm92aWRlZEluOiAncm9vdCdcbiAgfSlcbiAgZXhwb3J0IGNsYXNzIEdldFJpc2tBbGVydHNHUUwgZXh0ZW5kcyBBcG9sbG8uUXVlcnk8R2V0Umlza0FsZXJ0c1F1ZXJ5LCBHZXRSaXNrQWxlcnRzUXVlcnlWYXJpYWJsZXM+IHtcbiAgICBkb2N1bWVudCA9IEdldFJpc2tBbGVydHNEb2N1bWVudDtcbiAgICBcbiAgICBjb25zdHJ1Y3RvcihhcG9sbG86IEFwb2xsby5BcG9sbG8pIHtcbiAgICAgIHN1cGVyKGFwb2xsbyk7XG4gICAgfVxuICB9XG5leHBvcnQgY29uc3QgR2V0VXNlckFkZHJlc3Nlc0RvY3VtZW50ID0gZ3FsYFxuICAgIHF1ZXJ5IGdldFVzZXJBZGRyZXNzZXMge1xuICBnZXRVc2VyQWRkcmVzc2VzIHtcbiAgICBpZFxuICAgIGRlc2NyaXB0aW9uXG4gICAgbnVtYmVyT3JOYW1lXG4gICAgc3RyZWV0XG4gICAgdG93blxuICAgIGNvdW50eVxuICAgIHBvc3Rjb2RlXG4gICAgY291bnRyeUNvZGVcbiAgICB1c2VyUHJpbWFyeVxuICAgIG9mZmljZVByaW1hcnlcbiAgfVxufVxuICAgIGA7XG5cbiAgQEluamVjdGFibGUoe1xuICAgIHByb3ZpZGVkSW46ICdyb290J1xuICB9KVxuICBleHBvcnQgY2xhc3MgR2V0VXNlckFkZHJlc3Nlc0dRTCBleHRlbmRzIEFwb2xsby5RdWVyeTxHZXRVc2VyQWRkcmVzc2VzUXVlcnksIEdldFVzZXJBZGRyZXNzZXNRdWVyeVZhcmlhYmxlcz4ge1xuICAgIGRvY3VtZW50ID0gR2V0VXNlckFkZHJlc3Nlc0RvY3VtZW50O1xuICAgIFxuICAgIGNvbnN0cnVjdG9yKGFwb2xsbzogQXBvbGxvLkFwb2xsbykge1xuICAgICAgc3VwZXIoYXBvbGxvKTtcbiAgICB9XG4gIH1cbmV4cG9ydCBjb25zdCBHZXRVc2VyQ29tcGFueU9mZmljZXNEb2N1bWVudCA9IGdxbGBcbiAgICBxdWVyeSBnZXRVc2VyQ29tcGFueU9mZmljZXMge1xuICBnZXRVc2VyQ29tcGFueU9mZmljZXMge1xuICAgIGlkXG4gICAgbmFtZVxuICAgIGFkZHJlc3NlcyB7XG4gICAgICBpZFxuICAgICAgZGVzY3JpcHRpb25cbiAgICAgIG51bWJlck9yTmFtZVxuICAgICAgc3RyZWV0XG4gICAgICB0b3duXG4gICAgICBjb3VudHlcbiAgICAgIHBvc3Rjb2RlXG4gICAgICBjb3VudHJ5Q29kZVxuICAgICAgdXNlclByaW1hcnlcbiAgICAgIG9mZmljZVByaW1hcnlcbiAgICB9XG4gIH1cbn1cbiAgICBgO1xuXG4gIEBJbmplY3RhYmxlKHtcbiAgICBwcm92aWRlZEluOiAncm9vdCdcbiAgfSlcbiAgZXhwb3J0IGNsYXNzIEdldFVzZXJDb21wYW55T2ZmaWNlc0dRTCBleHRlbmRzIEFwb2xsby5RdWVyeTxHZXRVc2VyQ29tcGFueU9mZmljZXNRdWVyeSwgR2V0VXNlckNvbXBhbnlPZmZpY2VzUXVlcnlWYXJpYWJsZXM+IHtcbiAgICBkb2N1bWVudCA9IEdldFVzZXJDb21wYW55T2ZmaWNlc0RvY3VtZW50O1xuICAgIFxuICAgIGNvbnN0cnVjdG9yKGFwb2xsbzogQXBvbGxvLkFwb2xsbykge1xuICAgICAgc3VwZXIoYXBvbGxvKTtcbiAgICB9XG4gIH1cbmV4cG9ydCBjb25zdCBHZXRVc2VyQ3VycmVudENhcmJvbkFsbG93YW5jZURvY3VtZW50ID0gZ3FsYFxuICAgIHF1ZXJ5IGdldFVzZXJDdXJyZW50Q2FyYm9uQWxsb3dhbmNlKCR1c2VyOiBJRCkge1xuICBnZXRVc2VyQ3VycmVudENhcmJvbkFsbG93YW5jZSh1c2VyOiAkdXNlcikge1xuICAgIGlkXG4gICAgc3RhcnRPZlBlcmlvZFxuICAgIGVuZE9mUGVyaW9kXG4gICAgcmVtYWluaW5nQ28yXG4gICAgdG90YWxDbzJcbiAgICBjYXJib25Qb2xpY3lTb3VyY2VcbiAgICBjb21wYW55IHtcbiAgICAgIGlkXG4gICAgICBuYW1lXG4gICAgfVxuICAgIG9mZmljZSB7XG4gICAgICBpZFxuICAgICAgbmFtZVxuICAgIH1cbiAgICB1c2VyIHtcbiAgICAgIGlkXG4gICAgICBmb3JlbmFtZVxuICAgICAgc3VybmFtZVxuICAgICAgZW1haWxcbiAgICB9XG4gICAgcGVyaW9kQ29uc3VtcHRpb24ge1xuICAgICAgaWRcbiAgICAgIGNvbnN1bWVkXG4gICAgICBkYXRldGltZVxuICAgIH1cbiAgfVxufVxuICAgIGA7XG5cbiAgQEluamVjdGFibGUoe1xuICAgIHByb3ZpZGVkSW46ICdyb290J1xuICB9KVxuICBleHBvcnQgY2xhc3MgR2V0VXNlckN1cnJlbnRDYXJib25BbGxvd2FuY2VHUUwgZXh0ZW5kcyBBcG9sbG8uUXVlcnk8R2V0VXNlckN1cnJlbnRDYXJib25BbGxvd2FuY2VRdWVyeSwgR2V0VXNlckN1cnJlbnRDYXJib25BbGxvd2FuY2VRdWVyeVZhcmlhYmxlcz4ge1xuICAgIGRvY3VtZW50ID0gR2V0VXNlckN1cnJlbnRDYXJib25BbGxvd2FuY2VEb2N1bWVudDtcbiAgICBcbiAgICBjb25zdHJ1Y3RvcihhcG9sbG86IEFwb2xsby5BcG9sbG8pIHtcbiAgICAgIHN1cGVyKGFwb2xsbyk7XG4gICAgfVxuICB9XG5leHBvcnQgY29uc3QgR2V0VXNlck1pQXV0b1N1Z2dlc3RWYWx1ZXNEb2N1bWVudCA9IGdxbGBcbiAgICBxdWVyeSBnZXRVc2VyTUlBdXRvU3VnZ2VzdFZhbHVlcygkbWk6IElEISwgJHBhcnRpYWxMYWJlbDogU3RyaW5nISkge1xuICBnZXRVc2VyTUlBdXRvU3VnZ2VzdFZhbHVlcyhtaTogJG1pLCBwYXJ0aWFsTGFiZWw6ICRwYXJ0aWFsTGFiZWwpIHtcbiAgICBpZFxuICAgIGxhYmVsXG4gICAgdmFsdWVcbiAgICBkZWZhdWx0XG4gICAgZml4ZWRcbiAgICBhZ2VudE9ubHlcbiAgfVxufVxuICAgIGA7XG5cbiAgQEluamVjdGFibGUoe1xuICAgIHByb3ZpZGVkSW46ICdyb290J1xuICB9KVxuICBleHBvcnQgY2xhc3MgR2V0VXNlck1pQXV0b1N1Z2dlc3RWYWx1ZXNHUUwgZXh0ZW5kcyBBcG9sbG8uUXVlcnk8R2V0VXNlck1pQXV0b1N1Z2dlc3RWYWx1ZXNRdWVyeSwgR2V0VXNlck1pQXV0b1N1Z2dlc3RWYWx1ZXNRdWVyeVZhcmlhYmxlcz4ge1xuICAgIGRvY3VtZW50ID0gR2V0VXNlck1pQXV0b1N1Z2dlc3RWYWx1ZXNEb2N1bWVudDtcbiAgICBcbiAgICBjb25zdHJ1Y3RvcihhcG9sbG86IEFwb2xsby5BcG9sbG8pIHtcbiAgICAgIHN1cGVyKGFwb2xsbyk7XG4gICAgfVxuICB9XG5leHBvcnQgY29uc3QgR2V0VXNlclBob25lRG9jdW1lbnQgPSBncWxgXG4gICAgcXVlcnkgZ2V0VXNlclBob25lIHtcbiAgZ2V0VXNlclBob25lTnVtYmVycyB7XG4gICAgaWRcbiAgICBkZXNjcmlwdGlvblxuICAgIGNvdW50cnlDb2RlXG4gICAgYXJlYUNvZGVcbiAgICBudW1iZXJcbiAgICBleHRlbnNpb25cbiAgICB0eXBlXG4gICAgb2ZmaWNlUHJpbWFyeVxuICAgIHVzZXJQcmltYXJ5XG4gIH1cbn1cbiAgICBgO1xuXG4gIEBJbmplY3RhYmxlKHtcbiAgICBwcm92aWRlZEluOiAncm9vdCdcbiAgfSlcbiAgZXhwb3J0IGNsYXNzIEdldFVzZXJQaG9uZUdRTCBleHRlbmRzIEFwb2xsby5RdWVyeTxHZXRVc2VyUGhvbmVRdWVyeSwgR2V0VXNlclBob25lUXVlcnlWYXJpYWJsZXM+IHtcbiAgICBkb2N1bWVudCA9IEdldFVzZXJQaG9uZURvY3VtZW50O1xuICAgIFxuICAgIGNvbnN0cnVjdG9yKGFwb2xsbzogQXBvbGxvLkFwb2xsbykge1xuICAgICAgc3VwZXIoYXBvbGxvKTtcbiAgICB9XG4gIH1cbmV4cG9ydCBjb25zdCBHZXRVc2VyUmVjZW50U2VhcmNoZXNEb2N1bWVudCA9IGdxbGBcbiAgICBxdWVyeSBnZXRVc2VyUmVjZW50U2VhcmNoZXMoJHNlcnZpY2VUeXBlOiBTZXJ2aWNlVHlwZSkge1xuICBnZXRVc2VyUmVjZW50U2VhcmNoZXMoc2VydmljZVR5cGU6ICRzZXJ2aWNlVHlwZSkge1xuICAgIGlkXG4gICAgbmFtZVxuICAgIHNlcnZpY2VUeXBlXG4gICAgc2VhcmNoQXJnc1xuICAgIGNyZWF0ZWRBdFxuICAgIHVwZGF0ZWRBdFxuICAgIHRyYXZlbERhdGVcbiAgICB0cmF2ZWxsZXJzIHtcbiAgICAgIGlkXG4gICAgICB0aXRsZVxuICAgICAgZm9yZW5hbWVcbiAgICAgIHN1cm5hbWVcbiAgICAgIGVtYWlsXG4gICAgICB1c2VybmFtZVxuICAgICAgZG9iXG4gICAgfVxuICB9XG59XG4gICAgYDtcblxuICBASW5qZWN0YWJsZSh7XG4gICAgcHJvdmlkZWRJbjogJ3Jvb3QnXG4gIH0pXG4gIGV4cG9ydCBjbGFzcyBHZXRVc2VyUmVjZW50U2VhcmNoZXNHUUwgZXh0ZW5kcyBBcG9sbG8uUXVlcnk8R2V0VXNlclJlY2VudFNlYXJjaGVzUXVlcnksIEdldFVzZXJSZWNlbnRTZWFyY2hlc1F1ZXJ5VmFyaWFibGVzPiB7XG4gICAgZG9jdW1lbnQgPSBHZXRVc2VyUmVjZW50U2VhcmNoZXNEb2N1bWVudDtcbiAgICBcbiAgICBjb25zdHJ1Y3RvcihhcG9sbG86IEFwb2xsby5BcG9sbG8pIHtcbiAgICAgIHN1cGVyKGFwb2xsbyk7XG4gICAgfVxuICB9XG5leHBvcnQgY29uc3QgU2VhcmNoSG90ZWxzRG9jdW1lbnQgPSBncWxgXG4gICAgcXVlcnkgc2VhcmNoSG90ZWxzKCRzdGFydERhdGU6IERhdGUhLCAkZW5kRGF0ZTogRGF0ZSEsICRjaXR5TmFtZTogU3RyaW5nLCAkcG9zdE9yWmlwQ29kZTogU3RyaW5nLCAkY291bnRyeUNvZGU6IFN0cmluZywgJGxhdGl0dWRlOiBGbG9hdCwgJGxvbmdpdHVkZTogRmxvYXQsICR0cmFpblN0YXRpb25Db2RlOiBTdHJpbmcsICRpYXRhOiBTdHJpbmcsICRvZmZpY2VJZDogSW50LCAkcm9vbXM6IEludCEsICRhZHVsdHM6IEludCEsICRjaGlsZHJlbjogSW50LCAkY3VycmVuY3k6IFN0cmluZyEsICRkaXN0YW5jZVR5cGU6IERpc3RhbmNlVHlwZXMhLCAkZGlzdGFuY2U6IEludCEsICRtYXhSZXN1bHRzOiBJbnQsICRob3RlbE5hbWU6IFN0cmluZywgJGdyb3VwTmFtZTogU3RyaW5nKSB7XG4gIHNlYXJjaEhvdGVscyhzdGFydERhdGU6ICRzdGFydERhdGUsIGVuZERhdGU6ICRlbmREYXRlLCBjaXR5TmFtZTogJGNpdHlOYW1lLCBwb3N0T3JaaXBDb2RlOiAkcG9zdE9yWmlwQ29kZSwgY291bnRyeUNvZGU6ICRjb3VudHJ5Q29kZSwgbGF0aXR1ZGU6ICRsYXRpdHVkZSwgbG9uZ2l0dWRlOiAkbG9uZ2l0dWRlLCB0cmFpblN0YXRpb25Db2RlOiAkdHJhaW5TdGF0aW9uQ29kZSwgaWF0YTogJGlhdGEsIG9mZmljZUlkOiAkb2ZmaWNlSWQsIHJvb21zOiAkcm9vbXMsIGFkdWx0czogJGFkdWx0cywgY2hpbGRyZW46ICRjaGlsZHJlbiwgY3VycmVuY3k6ICRjdXJyZW5jeSwgZGlzdGFuY2VUeXBlOiAkZGlzdGFuY2VUeXBlLCBkaXN0YW5jZTogJGRpc3RhbmNlLCBtYXhSZXN1bHRzOiAkbWF4UmVzdWx0cywgaG90ZWxOYW1lOiAkaG90ZWxOYW1lLCBncm91cE5hbWU6ICRncm91cE5hbWUpIHtcbiAgICByZXN1bHRzIHtcbiAgICAgIGlkXG4gICAgICBuYW1lXG4gICAgICBpbWFnZVVybFxuICAgICAgZ3JvdXBcbiAgICAgIGxvY2F0aW9uIHtcbiAgICAgICAgZGlzdGFuY2VcbiAgICAgICAgZGlzdGFuY2VUeXBlXG4gICAgICAgIGxvbmdpdHVkZVxuICAgICAgICBsYXRpdHVkZVxuICAgICAgfVxuICAgICAgYWRkcmVzcyB7XG4gICAgICAgIGFkZHJlc3NMaW5lMVxuICAgICAgICBhZGRyZXNzTGluZTJcbiAgICAgICAgYWRkcmVzc0xpbmUzXG4gICAgICAgIHBvc3RPclppcENvZGVcbiAgICAgICAgY291bnRyeUNvZGVcbiAgICAgICAgdGVsZXBob25lXG4gICAgICAgIGZhY3NpbWlsZVxuICAgICAgfVxuICAgICAgdHJhbnNwb3J0cyB7XG4gICAgICAgIHR5cGVcbiAgICAgICAgbmFtZVxuICAgICAgICBjb2RlXG4gICAgICAgIGRpc3RhbmNlXG4gICAgICAgIGRpc3RhbmNlVHlwZVxuICAgICAgICBsb25naXR1ZGVcbiAgICAgICAgbGF0aXR1ZGVcbiAgICAgIH1cbiAgICAgIHByZWZlcnJlZCB7XG4gICAgICAgIGNsaWVudFxuICAgICAgICBjb25zdW1lclxuICAgICAgfVxuICAgICAgdGFncyB7XG4gICAgICAgIG5hbWVcbiAgICAgICAgZGlzcGxheVxuICAgICAgICB0eXBlXG4gICAgICAgIGljb25cbiAgICAgIH1cbiAgICAgIGF2YWlsYWJsZVJhdGVzIHtcbiAgICAgICAgaG90ZWxJZFxuICAgICAgICBpbWFnZVVybFxuICAgICAgICByb29tcyB7XG4gICAgICAgICAgcm9vbUlkXG4gICAgICAgICAgcm9vbVR5cGVcbiAgICAgICAgICByb29tRGVzY3JpcHRpb25cbiAgICAgICAgICByYXRlQ29kZVxuICAgICAgICAgIHJhdGVEZXNjcmlwdGlvblxuICAgICAgICAgIHRvdGFsXG4gICAgICAgICAgY3VycmVuY3lDb2RlXG4gICAgICAgICAgY3VycmVuY3lDb252ZXJzaW9uIHtcbiAgICAgICAgICAgIHJhdGVcbiAgICAgICAgICAgIGxvY2FsQ29kZVxuICAgICAgICAgICAgbG9jYWxUb3RhbFxuICAgICAgICAgICAgY29udmVydGVkQ29kZVxuICAgICAgICAgICAgY29udmVydGVkVG90YWxcbiAgICAgICAgICB9XG4gICAgICAgICAgZGVwb3NpdCB7XG4gICAgICAgICAgICBhbW91bnRcbiAgICAgICAgICAgIHBvbGljeVxuICAgICAgICAgICAgcmVxdWlyZWRcbiAgICAgICAgICB9XG4gICAgICAgICAgbmlnaHRzIHtcbiAgICAgICAgICAgIG5pZ2h0XG4gICAgICAgICAgICByYXRlXG4gICAgICAgICAgICBpbmZvXG4gICAgICAgICAgICBkYXRlXG4gICAgICAgICAgfVxuICAgICAgICAgIHBvbGljaWVzIHtcbiAgICAgICAgICAgIGNhbmNlbGxhdGlvblxuICAgICAgICAgICAgZGVwb3NpdFxuICAgICAgICAgICAgZGlzYWJsZWRBY2Nlc3NcbiAgICAgICAgICAgIGdlbmVyYWxcbiAgICAgICAgICAgIGd1YXJhbnRlZVxuICAgICAgICAgICAgcmVmdW5kQXZhaWxhYmxlXG4gICAgICAgICAgfVxuICAgICAgICAgIHRheCB7XG4gICAgICAgICAgICBpbmNsdWRlZFxuICAgICAgICAgICAgcmF0ZVxuICAgICAgICAgIH1cbiAgICAgICAgICBhY2NlcHRlZENhcmRzIHtcbiAgICAgICAgICAgIGlkXG4gICAgICAgICAgICBuYW1lXG4gICAgICAgICAgfVxuICAgICAgICAgIHBheW1lbnRUeXBlcyB7XG4gICAgICAgICAgICB0eXBlXG4gICAgICAgICAgICBuYW1lXG4gICAgICAgICAgfVxuICAgICAgICB9XG4gICAgICAgIHBycG5cbiAgICAgICAgY3VycmVuY3lDb2RlXG4gICAgICAgIGlzQnVzeVxuICAgICAgICBzb3VyY2VcbiAgICAgICAgdmVyc2lvblxuICAgICAgfVxuICAgICAgY28yUGVyUGFzc2VuZ2VyXG4gICAgICBjbzJQZXJJdGVtXG4gICAgICBzb3VyY2VcbiAgICAgIHNvdXJjZUlkXG4gICAgICB2ZXJzaW9uXG4gICAgICB0bWNQcmVmZXJyZWRcbiAgICAgIGNvbXBhbnlQcmVmZXJyZWRcbiAgICAgIG9mZmljZVByZWZlcnJlZFxuICAgICAgdG1jUHJlZmVycmVkTWVzc2FnZVxuICAgICAgY29tcGFueVByZWZlcnJlZE1lc3NhZ2VcbiAgICAgIG9mZmljZVByZWZlcnJlZE1lc3NhZ2VcbiAgICAgIHVuYXZhaWxhYmxlXG4gICAgICB1bmF2YWlsYWJsZU1lc3NhZ2VcbiAgICB9XG4gICAgZXJyb3JzIHtcbiAgICAgIHNlcnZpY2Uge1xuICAgICAgICBpZFxuICAgICAgICB0eXBlXG4gICAgICAgIG5hbWVcbiAgICAgICAgZGVzY3JpcHRpb25cbiAgICAgICAgZGV0YWlsU2NoZW1hXG4gICAgICAgIHNlYXJjaFF1ZXJ5U2NoZW1hXG4gICAgICB9XG4gICAgICBlcnJvck1lc3NhZ2VcbiAgICAgIGVycm9yQ29kZVxuICAgIH1cbiAgfVxufVxuICAgIGA7XG5cbiAgQEluamVjdGFibGUoe1xuICAgIHByb3ZpZGVkSW46ICdyb290J1xuICB9KVxuICBleHBvcnQgY2xhc3MgU2VhcmNoSG90ZWxzR1FMIGV4dGVuZHMgQXBvbGxvLlF1ZXJ5PFNlYXJjaEhvdGVsc1F1ZXJ5LCBTZWFyY2hIb3RlbHNRdWVyeVZhcmlhYmxlcz4ge1xuICAgIGRvY3VtZW50ID0gU2VhcmNoSG90ZWxzRG9jdW1lbnQ7XG4gICAgXG4gICAgY29uc3RydWN0b3IoYXBvbGxvOiBBcG9sbG8uQXBvbGxvKSB7XG4gICAgICBzdXBlcihhcG9sbG8pO1xuICAgIH1cbiAgfVxuZXhwb3J0IGNvbnN0IEdldE11bHRpcGxlSG90ZWxzQXZhaWxhYmlsaXR5RG9jdW1lbnQgPSBncWxgXG4gICAgcXVlcnkgZ2V0TXVsdGlwbGVIb3RlbHNBdmFpbGFiaWxpdHkoJGhvdGVsOiBbU3RyaW5nIV0hLCAkc3RhcnREYXRlOiBEYXRlISwgJGVuZERhdGU6IERhdGUhLCAkY3VycmVuY3k6IFN0cmluZyEsICRvY2N1cGFudHM6IEludCEsICRyb29tczogSW50KSB7XG4gIGdldE11bHRpcGxlSG90ZWxzQXZhaWxhYmlsaXR5KGhvdGVsOiAkaG90ZWwsIHN0YXJ0RGF0ZTogJHN0YXJ0RGF0ZSwgZW5kRGF0ZTogJGVuZERhdGUsIGN1cnJlbmN5OiAkY3VycmVuY3ksIG9jY3VwYW50czogJG9jY3VwYW50cywgcm9vbXM6ICRyb29tcykge1xuICAgIHJlc3VsdHMge1xuICAgICAgaG90ZWxJZFxuICAgICAgcm9vbXMge1xuICAgICAgICByb29tSWRcbiAgICAgICAgcm9vbVR5cGVcbiAgICAgICAgcm9vbURlc2NyaXB0aW9uXG4gICAgICAgIHJhdGVDb2RlXG4gICAgICAgIHJhdGVEZXNjcmlwdGlvblxuICAgICAgICB0b3RhbFxuICAgICAgICBjdXJyZW5jeUNvZGVcbiAgICAgICAgY3VycmVuY3lDb252ZXJzaW9uIHtcbiAgICAgICAgICByYXRlXG4gICAgICAgICAgbG9jYWxDb2RlXG4gICAgICAgICAgbG9jYWxUb3RhbFxuICAgICAgICAgIGNvbnZlcnRlZENvZGVcbiAgICAgICAgICBjb252ZXJ0ZWRUb3RhbFxuICAgICAgICB9XG4gICAgICAgIGRlcG9zaXQge1xuICAgICAgICAgIGFtb3VudFxuICAgICAgICAgIHBvbGljeVxuICAgICAgICAgIHJlcXVpcmVkXG4gICAgICAgIH1cbiAgICAgICAgbmlnaHRzIHtcbiAgICAgICAgICBuaWdodFxuICAgICAgICAgIHJhdGVcbiAgICAgICAgICBpbmZvXG4gICAgICAgICAgZGF0ZVxuICAgICAgICB9XG4gICAgICAgIHBvbGljaWVzIHtcbiAgICAgICAgICBjYW5jZWxsYXRpb25cbiAgICAgICAgICBkZXBvc2l0XG4gICAgICAgICAgZGlzYWJsZWRBY2Nlc3NcbiAgICAgICAgICBnZW5lcmFsXG4gICAgICAgICAgZ3VhcmFudGVlXG4gICAgICAgICAgcmVmdW5kQXZhaWxhYmxlXG4gICAgICAgIH1cbiAgICAgICAgdGF4IHtcbiAgICAgICAgICBpbmNsdWRlZFxuICAgICAgICAgIHJhdGVcbiAgICAgICAgfVxuICAgICAgICBhY2NlcHRlZENhcmRzIHtcbiAgICAgICAgICBpZFxuICAgICAgICAgIG5hbWVcbiAgICAgICAgfVxuICAgICAgICBwYXltZW50VHlwZXMge1xuICAgICAgICAgIHR5cGVcbiAgICAgICAgICBuYW1lXG4gICAgICAgIH1cbiAgICAgIH1cbiAgICAgIHBycG5cbiAgICAgIGN1cnJlbmN5Q29kZVxuICAgICAgaXNCdXN5XG4gICAgICBzb3VyY2VcbiAgICAgIHZlcnNpb25cbiAgICB9XG4gICAgZXJyb3JzIHtcbiAgICAgIC4uLkVycm9yc1xuICAgIH1cbiAgfVxufVxuICAgICR7RXJyb3JzRnJhZ21lbnREb2N9YDtcblxuICBASW5qZWN0YWJsZSh7XG4gICAgcHJvdmlkZWRJbjogJ3Jvb3QnXG4gIH0pXG4gIGV4cG9ydCBjbGFzcyBHZXRNdWx0aXBsZUhvdGVsc0F2YWlsYWJpbGl0eUdRTCBleHRlbmRzIEFwb2xsby5RdWVyeTxHZXRNdWx0aXBsZUhvdGVsc0F2YWlsYWJpbGl0eVF1ZXJ5LCBHZXRNdWx0aXBsZUhvdGVsc0F2YWlsYWJpbGl0eVF1ZXJ5VmFyaWFibGVzPiB7XG4gICAgZG9jdW1lbnQgPSBHZXRNdWx0aXBsZUhvdGVsc0F2YWlsYWJpbGl0eURvY3VtZW50O1xuICAgIFxuICAgIGNvbnN0cnVjdG9yKGFwb2xsbzogQXBvbGxvLkFwb2xsbykge1xuICAgICAgc3VwZXIoYXBvbGxvKTtcbiAgICB9XG4gIH1cbmV4cG9ydCBjb25zdCBJc1Bvc3Rjb2RlVmFsaWREb2N1bWVudCA9IGdxbGBcbiAgICBxdWVyeSBpc1Bvc3Rjb2RlVmFsaWQoJHBvc3Rjb2RlOiBTdHJpbmchKSB7XG4gIGlzUG9zdGNvZGVWYWxpZChwb3N0Y29kZTogJHBvc3Rjb2RlKVxufVxuICAgIGA7XG5cbiAgQEluamVjdGFibGUoe1xuICAgIHByb3ZpZGVkSW46ICdyb290J1xuICB9KVxuICBleHBvcnQgY2xhc3MgSXNQb3N0Y29kZVZhbGlkR1FMIGV4dGVuZHMgQXBvbGxvLlF1ZXJ5PElzUG9zdGNvZGVWYWxpZFF1ZXJ5LCBJc1Bvc3Rjb2RlVmFsaWRRdWVyeVZhcmlhYmxlcz4ge1xuICAgIGRvY3VtZW50ID0gSXNQb3N0Y29kZVZhbGlkRG9jdW1lbnQ7XG4gICAgXG4gICAgY29uc3RydWN0b3IoYXBvbGxvOiBBcG9sbG8uQXBvbGxvKSB7XG4gICAgICBzdXBlcihhcG9sbG8pO1xuICAgIH1cbiAgfVxuZXhwb3J0IGNvbnN0IFNlYXJjaEFpcnBvcnRzRG9jdW1lbnQgPSBncWxgXG4gICAgcXVlcnkgc2VhcmNoQWlycG9ydHMoJHF1ZXJ5OiBTdHJpbmchLCAkY291bnRyeUNvZGU6IFN0cmluZywgJGhhc0xvdW5nZTogQm9vbGVhbiwgJGhhc1Bhcmtpbmc6IEJvb2xlYW4sICRoYXNGYXN0VHJhY2s6IEJvb2xlYW4pIHtcbiAgc2VhcmNoQWlycG9ydHMocXVlcnk6ICRxdWVyeSwgY291bnRyeUNvZGU6ICRjb3VudHJ5Q29kZSwgaGFzTG91bmdlOiAkaGFzTG91bmdlLCBoYXNQYXJraW5nOiAkaGFzUGFya2luZywgaGFzRmFzdFRyYWNrOiAkaGFzRmFzdFRyYWNrKSB7XG4gICAgaWF0YU1hdGNoIHtcbiAgICAgIGlkXG4gICAgICBuYW1lXG4gICAgICBpYXRhXG4gICAgICBpY2FvXG4gICAgICB0ZXJtaW5hbHNcbiAgICAgIGxvY2F0aW9uRGV0YWlscyB7XG4gICAgICAgIC4uLkxPQ0FUSU9OX0RFVEFJTFxuICAgICAgfVxuICAgIH1cbiAgICBnZW5lcmFsTWF0Y2hlcyB7XG4gICAgICBpZFxuICAgICAgbmFtZVxuICAgICAgaWF0YVxuICAgICAgaWNhb1xuICAgICAgdGVybWluYWxzXG4gICAgICBsb2NhdGlvbkRldGFpbHMge1xuICAgICAgICAuLi5MT0NBVElPTl9ERVRBSUxcbiAgICAgIH1cbiAgICB9XG4gIH1cbn1cbiAgICAke0xvY2F0aW9uX0RldGFpbEZyYWdtZW50RG9jfWA7XG5cbiAgQEluamVjdGFibGUoe1xuICAgIHByb3ZpZGVkSW46ICdyb290J1xuICB9KVxuICBleHBvcnQgY2xhc3MgU2VhcmNoQWlycG9ydHNHUUwgZXh0ZW5kcyBBcG9sbG8uUXVlcnk8U2VhcmNoQWlycG9ydHNRdWVyeSwgU2VhcmNoQWlycG9ydHNRdWVyeVZhcmlhYmxlcz4ge1xuICAgIGRvY3VtZW50ID0gU2VhcmNoQWlycG9ydHNEb2N1bWVudDtcbiAgICBcbiAgICBjb25zdHJ1Y3RvcihhcG9sbG86IEFwb2xsby5BcG9sbG8pIHtcbiAgICAgIHN1cGVyKGFwb2xsbyk7XG4gICAgfVxuICB9XG5leHBvcnQgY29uc3QgU2VhcmNoTG91bmdlc0RvY3VtZW50ID0gZ3FsYFxuICAgIHF1ZXJ5IHNlYXJjaExvdW5nZXMoJGxvY2F0aW9uQ29kZTogU3RyaW5nISwgJGFycml2YWxEYXRldGltZTogRGF0ZVRpbWUhLCAkYWR1bHRzOiBJbnQhLCAkY2hpbGRyZW46IEludCwgJGluZmFudHM6IEludCwgJHRlcm1pbmFsOiBTdHJpbmcpIHtcbiAgc2VhcmNoTG91bmdlcyhsb2NhdGlvbkNvZGU6ICRsb2NhdGlvbkNvZGUsIGFycml2YWxEYXRldGltZTogJGFycml2YWxEYXRldGltZSwgYWR1bHRzOiAkYWR1bHRzLCBjaGlsZHJlbjogJGNoaWxkcmVuLCBpbmZhbnRzOiAkaW5mYW50cywgdGVybWluYWw6ICR0ZXJtaW5hbCkge1xuICAgIHJlc3VsdHMge1xuICAgICAgc291cmNlXG4gICAgICBzb3VyY2VJZFxuICAgICAgbmFtZVxuICAgICAgY29kZVxuICAgICAgcHJpY2VcbiAgICAgIGN1cnJlbmN5XG4gICAgICBsb3VuZ2Uge1xuICAgICAgICBjb2RlXG4gICAgICAgIG5hbWVcbiAgICAgICAgYWlycG9ydFxuICAgICAgICB0ZXJtaW5hbFxuICAgICAgICBhZGRyZXNzXG4gICAgICAgIHRlbGVwaG9uZVxuICAgICAgICBmYXhcbiAgICAgICAgZGlyZWN0aW9uc1xuICAgICAgICBpbnRyb2R1Y3Rpb25cbiAgICAgICAgbG9nb1xuICAgICAgICBtb2JpbGVJbWFnZVxuICAgICAgICBmdXJ0aGVySW1hZ2VzXG4gICAgICAgIGFkdWx0QWdlXG4gICAgICAgIGNoaWxkQWdlXG4gICAgICAgIGluZmFudEFnZVxuICAgICAgICBsYW5kc2lkZVxuICAgICAgICBhaXJzaWRlXG4gICAgICAgIGZhY2lsaXRpZXNcbiAgICAgICAgb3BlblRpbWVcbiAgICAgICAgY2xvc2VUaW1lXG4gICAgICAgIHdpZmlcbiAgICAgICAgdHZcbiAgICAgICAgc25hY2tzXG4gICAgICAgIHBob25lXG4gICAgICAgIGludGVybmV0XG4gICAgICAgIGNoaWxkcmVuQWxsb3dlZFxuICAgICAgICBkaXNhYmxlZEFjY2Vzc1xuICAgICAgICBkcmlua3NcbiAgICAgICAgZnJlZURyaW5rc1xuICAgICAgICBmcmVlRm9vZFxuICAgICAgICBzbW9raW5nUGVybWl0dGVkXG4gICAgICAgIG1hZ2F6aW5lc1xuICAgICAgICBpbmNsdWRlZERyaW5rc1xuICAgICAgICBtZW51Rm9vZFxuICAgICAgICBtZW51RHJpbmtzXG4gICAgICAgIG1lbnVFeHRyYXNcbiAgICAgICAgd2hhdHNJbmNsdWRlZERyaW5rc1xuICAgICAgICB3aGF0c0luY2x1ZGVkRXh0cmFzXG4gICAgICAgIHdoYXRzSW5jbHVkZWRGb29kXG4gICAgICAgIGdyb3VwSW5mb1xuICAgICAgICBjaGVja0luSW5mb1xuICAgICAgICBkcmVzc0NvZGVcbiAgICAgICAgZmFjaWxpdGllc0luZm9cbiAgICAgICAgZm9vZEFuZEJldmVyYWdlXG4gICAgICAgIGNhbmNlbGxhdGlvbkluZm9cbiAgICAgICAgYW1lbmRtZW50c0luZm9cbiAgICAgICAgbWlzY1xuICAgICAgfVxuICAgICAgdG1jUHJlZmVycmVkXG4gICAgICBjb21wYW55UHJlZmVycmVkXG4gICAgICBvZmZpY2VQcmVmZXJyZWRcbiAgICAgIHRtY1ByZWZlcnJlZE1lc3NhZ2VcbiAgICAgIGNvbXBhbnlQcmVmZXJyZWRNZXNzYWdlXG4gICAgICBvZmZpY2VQcmVmZXJyZWRNZXNzYWdlXG4gICAgICB1bmF2YWlsYWJsZVxuICAgICAgdW5hdmFpbGFibGVNZXNzYWdlXG4gICAgICBjbzJQZXJQYXNzZW5nZXJcbiAgICAgIGNvMlBlckl0ZW1cbiAgICB9XG4gICAgZXJyb3JzIHtcbiAgICAgIC4uLkVycm9yc1xuICAgIH1cbiAgfVxufVxuICAgICR7RXJyb3JzRnJhZ21lbnREb2N9YDtcblxuICBASW5qZWN0YWJsZSh7XG4gICAgcHJvdmlkZWRJbjogJ3Jvb3QnXG4gIH0pXG4gIGV4cG9ydCBjbGFzcyBTZWFyY2hMb3VuZ2VzR1FMIGV4dGVuZHMgQXBvbGxvLlF1ZXJ5PFNlYXJjaExvdW5nZXNRdWVyeSwgU2VhcmNoTG91bmdlc1F1ZXJ5VmFyaWFibGVzPiB7XG4gICAgZG9jdW1lbnQgPSBTZWFyY2hMb3VuZ2VzRG9jdW1lbnQ7XG4gICAgXG4gICAgY29uc3RydWN0b3IoYXBvbGxvOiBBcG9sbG8uQXBvbGxvKSB7XG4gICAgICBzdXBlcihhcG9sbG8pO1xuICAgIH1cbiAgfVxuZXhwb3J0IGNvbnN0IE1vdmVJdGVtVG9BRGlmZmVyZW50QmFza2V0RG9jdW1lbnQgPSBncWxgXG4gICAgbXV0YXRpb24gbW92ZUl0ZW1Ub0FEaWZmZXJlbnRCYXNrZXQoJGJhc2tldEl0ZW06IElEISwgJG5ld0Jhc2tldDogSUQhLCAkd2l0aFN1cHBsZW1lbnRhbDogQm9vbGVhbiA9IGZhbHNlKSB7XG4gIG1vdmVJdGVtVG9BRGlmZmVyZW50QmFza2V0KGJhc2tldEl0ZW06ICRiYXNrZXRJdGVtLCBuZXdCYXNrZXQ6ICRuZXdCYXNrZXQpIHtcbiAgICAuLi5CYXNrZXRGaWVsZHNcbiAgfVxufVxuICAgICR7QmFza2V0RmllbGRzRnJhZ21lbnREb2N9YDtcblxuICBASW5qZWN0YWJsZSh7XG4gICAgcHJvdmlkZWRJbjogJ3Jvb3QnXG4gIH0pXG4gIGV4cG9ydCBjbGFzcyBNb3ZlSXRlbVRvQURpZmZlcmVudEJhc2tldEdRTCBleHRlbmRzIEFwb2xsby5NdXRhdGlvbjxNb3ZlSXRlbVRvQURpZmZlcmVudEJhc2tldE11dGF0aW9uLCBNb3ZlSXRlbVRvQURpZmZlcmVudEJhc2tldE11dGF0aW9uVmFyaWFibGVzPiB7XG4gICAgZG9jdW1lbnQgPSBNb3ZlSXRlbVRvQURpZmZlcmVudEJhc2tldERvY3VtZW50O1xuICAgIFxuICAgIGNvbnN0cnVjdG9yKGFwb2xsbzogQXBvbGxvLkFwb2xsbykge1xuICAgICAgc3VwZXIoYXBvbGxvKTtcbiAgICB9XG4gIH1cbmV4cG9ydCBjb25zdCBTZWFyY2hQYXJraW5nRG9jdW1lbnQgPSBncWxgXG4gICAgcXVlcnkgc2VhcmNoUGFya2luZygkYXJyaXZhbERhdGV0aW1lOiBEYXRlVGltZSEsICRkZXBhcnREYXRldGltZTogRGF0ZVRpbWUhLCAkbG9jYXRpb25Db2RlOiBTdHJpbmchLCAkb3V0RmxpZ2h0TnVtYmVyOiBTdHJpbmcsICRyZWNvbW1lbmRlZDogQm9vbGVhbiwgJG9uQWlycG9ydDogQm9vbGVhbiwgJG1lZXRBbmRHcmVldDogQm9vbGVhbiwgJHBhcmtBbmRSaWRlOiBCb29sZWFuLCAkcGFya0FuZFN0cm9sbDogQm9vbGVhbiwgJGNhclBhcmtlZEZvcllvdTogQm9vbGVhbiwgJHRlcm1pbmFsOiBTdHJpbmcpIHtcbiAgc2VhcmNoUGFya2luZyhhcnJpdmFsRGF0ZXRpbWU6ICRhcnJpdmFsRGF0ZXRpbWUsIGRlcGFydERhdGV0aW1lOiAkZGVwYXJ0RGF0ZXRpbWUsIGxvY2F0aW9uQ29kZTogJGxvY2F0aW9uQ29kZSwgb3V0RmxpZ2h0TnVtYmVyOiAkb3V0RmxpZ2h0TnVtYmVyLCByZWNvbW1lbmRlZDogJHJlY29tbWVuZGVkLCBvbkFpcnBvcnQ6ICRvbkFpcnBvcnQsIG1lZXRBbmRHcmVldDogJG1lZXRBbmRHcmVldCwgcGFya0FuZFJpZGU6ICRwYXJrQW5kUmlkZSwgcGFya0FuZFN0cm9sbDogJHBhcmtBbmRTdHJvbGwsIGNhclBhcmtlZEZvcllvdTogJGNhclBhcmtlZEZvcllvdSwgdGVybWluYWw6ICR0ZXJtaW5hbCkge1xuICAgIHJlc3VsdHMge1xuICAgICAgc291cmNlXG4gICAgICBzb3VyY2VJZFxuICAgICAgY2FyUGFyayB7XG4gICAgICAgIGNvZGVcbiAgICAgICAgbmFtZVxuICAgICAgICBhaXJwb3J0XG4gICAgICAgIHRlcm1pbmFsXG4gICAgICAgIGxhdGl0dWRlXG4gICAgICAgIGxvbmdpdHVkZVxuICAgICAgICBhZGRyZXNzXG4gICAgICAgIGRpc3RhbmNlVG9BaXJwb3J0XG4gICAgICAgIG9uQWlycG9ydFxuICAgICAgICBjYXJQYXJrZWRGb3JZb3VcbiAgICAgICAgbWVldEFuZEdyZWV0XG4gICAgICAgIHRlbGVwaG9uZVxuICAgICAgICBmYXhcbiAgICAgICAgZGlyZWN0aW9uc1xuICAgICAgICBhcnJpdmFsUHJvY2VkdXJlXG4gICAgICAgIGRlcGFydHVyZVByb2NlZHVyZVxuICAgICAgICBtYXhpbXVtQ2FyU2l6ZVxuICAgICAgICBpbnRyb2R1Y3Rpb25cbiAgICAgICAgaW5mb3JtYXRpb25cbiAgICAgICAgdHJhbnNmZXJJbmZvcm1hdGlvblxuICAgICAgICB0cmFuc2Zlck9wZXJhdGluZ1RpbWVzXG4gICAgICAgIHRyYW5zZmVyVGltZVxuICAgICAgICBsb2dvXG4gICAgICAgIGRlZmF1bHRJbWFnZVxuICAgICAgICBicmFuZEltYWdlXG4gICAgICAgIG1vYmlsZUltYWdlXG4gICAgICAgIGZ1cnRoZXJJbWFnZXNcbiAgICAgICAgbWlzY1xuICAgICAgfVxuICAgICAgcmVxdWlyZWRJbmZvXG4gICAgICBwcmljZVxuICAgICAgY3VycmVuY3lcbiAgICAgIG1pc2NcbiAgICAgIHRtY1ByZWZlcnJlZFxuICAgICAgY29tcGFueVByZWZlcnJlZFxuICAgICAgb2ZmaWNlUHJlZmVycmVkXG4gICAgICB0bWNQcmVmZXJyZWRNZXNzYWdlXG4gICAgICBjb21wYW55UHJlZmVycmVkTWVzc2FnZVxuICAgICAgb2ZmaWNlUHJlZmVycmVkTWVzc2FnZVxuICAgICAgdW5hdmFpbGFibGVcbiAgICAgIHVuYXZhaWxhYmxlTWVzc2FnZVxuICAgICAgY28yUGVyUGFzc2VuZ2VyXG4gICAgICBjbzJQZXJJdGVtXG4gICAgfVxuICAgIGVycm9ycyB7XG4gICAgICAuLi5FcnJvcnNcbiAgICB9XG4gIH1cbn1cbiAgICAke0Vycm9yc0ZyYWdtZW50RG9jfWA7XG5cbiAgQEluamVjdGFibGUoe1xuICAgIHByb3ZpZGVkSW46ICdyb290J1xuICB9KVxuICBleHBvcnQgY2xhc3MgU2VhcmNoUGFya2luZ0dRTCBleHRlbmRzIEFwb2xsby5RdWVyeTxTZWFyY2hQYXJraW5nUXVlcnksIFNlYXJjaFBhcmtpbmdRdWVyeVZhcmlhYmxlcz4ge1xuICAgIGRvY3VtZW50ID0gU2VhcmNoUGFya2luZ0RvY3VtZW50O1xuICAgIFxuICAgIGNvbnN0cnVjdG9yKGFwb2xsbzogQXBvbGxvLkFwb2xsbykge1xuICAgICAgc3VwZXIoYXBvbGxvKTtcbiAgICB9XG4gIH1cbmV4cG9ydCBjb25zdCBTZWFyY2hSYWlsRG9jdW1lbnQgPSBncWxgXG4gICAgcXVlcnkgc2VhcmNoUmFpbCgkY291bnRyeUNvZGU6IFN0cmluZyEsICRqb3VybmV5VHlwZTogUmFpbEpvdXJuZXlUeXBlISwgJGNsYXNzOiBSYWlsQ2xhc3MsICRvdXRib3VuZEFycml2YWxEYXRlVGltZTogRGF0ZVRpbWUsICRvdXRib3VuZERlcGFydHVyZURhdGVUaW1lOiBEYXRlVGltZSwgJGRlcGFydHVyZUxvY2F0aW9uSWQ6IElEISwgJGFycml2YWxMb2NhdGlvbklkOiBJRCEsICRhZHVsdHM6IEludCEsICRjaGlsZHJlbjogSW50LCAkcmV0dXJuQXJyaXZhbERhdGVUaW1lOiBEYXRlVGltZSwgJHJldHVybkRlcGFydHVyZURhdGVUaW1lOiBEYXRlVGltZSwgJHJhaWxDYXJkUXVhbGlmaWVyczogW1N0cmluZyFdLCAkdmlhTG9jYXRpb25JZDogSUQsICRleHRyYVRpbWVUb0NoYW5nZTogQm9vbGVhbiwgJHBsdXNCdXNPdXQ6IFJhaWxQbHVzQnVzQXZhaWwsICRwbHVzQnVzUmV0dXJuOiBSYWlsUGx1c0J1c0F2YWlsKSB7XG4gIHNlYXJjaFJhaWwoY291bnRyeUNvZGU6ICRjb3VudHJ5Q29kZSwgam91cm5leVR5cGU6ICRqb3VybmV5VHlwZSwgY2xhc3M6ICRjbGFzcywgb3V0Ym91bmRBcnJpdmFsRGF0ZVRpbWU6ICRvdXRib3VuZEFycml2YWxEYXRlVGltZSwgb3V0Ym91bmREZXBhcnR1cmVEYXRlVGltZTogJG91dGJvdW5kRGVwYXJ0dXJlRGF0ZVRpbWUsIGRlcGFydHVyZUxvY2F0aW9uSWQ6ICRkZXBhcnR1cmVMb2NhdGlvbklkLCBhcnJpdmFsTG9jYXRpb25JZDogJGFycml2YWxMb2NhdGlvbklkLCBhZHVsdHM6ICRhZHVsdHMsIGNoaWxkcmVuOiAkY2hpbGRyZW4sIHJldHVybkFycml2YWxEYXRlVGltZTogJHJldHVybkFycml2YWxEYXRlVGltZSwgcmV0dXJuRGVwYXJ0dXJlRGF0ZVRpbWU6ICRyZXR1cm5EZXBhcnR1cmVEYXRlVGltZSwgcmFpbENhcmRRdWFsaWZpZXJzOiAkcmFpbENhcmRRdWFsaWZpZXJzLCB2aWFMb2NhdGlvbklkOiAkdmlhTG9jYXRpb25JZCwgZXh0cmFUaW1lVG9DaGFuZ2U6ICRleHRyYVRpbWVUb0NoYW5nZSwgcGx1c0J1c091dDogJHBsdXNCdXNPdXQsIHBsdXNCdXNSZXR1cm46ICRwbHVzQnVzUmV0dXJuKSB7XG4gICAgcmVzdWx0cyB7XG4gICAgICBzb3VyY2VcbiAgICAgIHNvdXJjZUlkXG4gICAgICBvdXRib3VuZCB7XG4gICAgICAgIGlkZW50aWZpZXJzIHtcbiAgICAgICAgICB0cmFuc2FjdGlvbklkZW50aWZpZXJcbiAgICAgICAgICBqb3VybmV5SWRlbnRpZmllclxuICAgICAgICAgIHByb3ZpZGVyXG4gICAgICAgICAgZmFyZUlkZW50aWZpZXJcbiAgICAgICAgICBkaXJlY3Rpb25cbiAgICAgICAgICBzaW5nbGVPclJldHVyblxuICAgICAgICAgIGJvb2tpbmdSZWZcbiAgICAgICAgfVxuICAgICAgICB0cmF2ZWxsZXJzIHtcbiAgICAgICAgICBzdGF0dXNcbiAgICAgICAgICBpZFxuICAgICAgICAgIGRvYlxuICAgICAgICAgIHJhaWxjYXJkXG4gICAgICAgICAgZ2l2ZW5OYW1lXG4gICAgICAgICAgc3VybmFtZVxuICAgICAgICAgIG5hbWVUaXRsZVxuICAgICAgICAgIGNvbnRhY3RJbmZvXG4gICAgICAgICAgZGVsaXZlcnlFbWFpbEFkZHJlc3NcbiAgICAgICAgICBmYXJlXG4gICAgICAgIH1cbiAgICAgICAgY28yUGVySXRlbVxuICAgICAgICBmcm9tXG4gICAgICAgIGZyb21Db2RlXG4gICAgICAgIHRvXG4gICAgICAgIHRvQ29kZVxuICAgICAgICBjbzJQZXJQYXNzZW5nZXJcbiAgICAgICAgZGVwYXJ0RGF0ZVRpbWVcbiAgICAgICAgYXJyaXZlRGF0ZVRpbWVcbiAgICAgICAgY2hhbmdlc1xuICAgICAgICBzZWdtZW50cyB7XG4gICAgICAgICAgaWRcbiAgICAgICAgICBvcGVyYXRvclxuICAgICAgICAgIGRlcGFydFxuICAgICAgICAgIGRlcGFydERhdGVUaW1lXG4gICAgICAgICAgYXJyaXZlXG4gICAgICAgICAgYXJyaXZlRGF0ZVRpbWVcbiAgICAgICAgICByZXNlcnZhYmxlU3RhdHVzXG4gICAgICAgICAgc2VhdFByZWZlcmVuY2VUeXBlcyB7XG4gICAgICAgICAgICBuYW1lXG4gICAgICAgICAgICBhbGxvd2VkVmFsdWVzXG4gICAgICAgICAgfVxuICAgICAgICAgIHNlYXRQcmVmZXJlbmNlR3JvdXBcbiAgICAgICAgICBzZWF0cyB7XG4gICAgICAgICAgICBsb2NhdGlvblxuICAgICAgICAgICAgY29hY2hcbiAgICAgICAgICAgIG51bWJlclxuICAgICAgICAgICAgZGlyZWN0aW9uXG4gICAgICAgICAgICBwb3NpdGlvblxuICAgICAgICAgICAgZGVja1xuICAgICAgICAgICAgc2VhdFR5cGVcbiAgICAgICAgICAgIHNlYXRTZWxlY3Rpb25cbiAgICAgICAgICAgIGZhY2lsaXRpZXNcbiAgICAgICAgICAgIG5vdGVcbiAgICAgICAgICB9XG4gICAgICAgICAgY2FsbGluZ1BvaW50cyB7XG4gICAgICAgICAgICBzdGF0aW9uTmFtZVxuICAgICAgICAgICAgc3RhdGlvbkNvZGVcbiAgICAgICAgICAgIGFycml2YWxEYXRlVGltZVxuICAgICAgICAgICAgZGVwYXJ0dXJlRGF0ZVRpbWVcbiAgICAgICAgICAgIHNjaGVkdWxlZFBsYXRmb3JtXG4gICAgICAgICAgICBzdGF0aW9uQ2xhc3NpZmljYXRpb25cbiAgICAgICAgICAgIHN0b3BwaW5nUGF0dGVyblxuICAgICAgICAgIH1cbiAgICAgICAgfVxuICAgICAgICBwcm92aWRlcnMge1xuICAgICAgICAgIHByb3ZpZGVySWRcbiAgICAgICAgICBuYW1lXG4gICAgICAgICAgY2hlYXBlc3RUaWNrZXQge1xuICAgICAgICAgICAgaWRlbnRpZmllcnMge1xuICAgICAgICAgICAgICB0cmFuc2FjdGlvbklkZW50aWZpZXJcbiAgICAgICAgICAgICAgam91cm5leUlkZW50aWZpZXJcbiAgICAgICAgICAgICAgcHJvdmlkZXJcbiAgICAgICAgICAgICAgZmFyZUlkZW50aWZpZXJcbiAgICAgICAgICAgICAgZGlyZWN0aW9uXG4gICAgICAgICAgICAgIHNpbmdsZU9yUmV0dXJuXG4gICAgICAgICAgICAgIGJvb2tpbmdSZWZcbiAgICAgICAgICAgIH1cbiAgICAgICAgICAgIHR5cGVcbiAgICAgICAgICAgIHRlcm1zIHtcbiAgICAgICAgICAgICAgZXJyb3JcbiAgICAgICAgICAgICAgdGlja2V0VHlwZUNvZGVcbiAgICAgICAgICAgICAgdHJhaW5PcGVyYXRpbmdDb21wYW55Q29kZVxuICAgICAgICAgICAgICB0aWNrZXRUeXBlTmFtZVxuICAgICAgICAgICAgICB0aWNrZXRUeXBlQWx0TmFtZVxuICAgICAgICAgICAgICB0aWNrZXRUeXBlQ2xhc3NcbiAgICAgICAgICAgICAgcmVzZXJ2YXRpb25SdWxlXG4gICAgICAgICAgICAgIGpvdXJuZXlUeXBlXG4gICAgICAgICAgICAgIHByZUJvb2tpbmdSZXF1aXJlbWVudFxuICAgICAgICAgICAgICBnZW5lcmFsVmFsaWRpdHlcbiAgICAgICAgICAgICAgdmFsaWRPdXRSdWxlXG4gICAgICAgICAgICAgIHZhbGlkUmV0dXJuUnVsZVxuICAgICAgICAgICAgICBnZW5lcmFsRGlzY291bnRcbiAgICAgICAgICAgICAgY2hpbGREaXNjb3VudFxuICAgICAgICAgICAgICByYWlsY2FyZERpc2NvdW50XG4gICAgICAgICAgICAgIHJlZnVuZENhbmNlbGxhdGlvblJ1bGVcbiAgICAgICAgICAgICAgY2hhbmdlUnVsZVxuICAgICAgICAgICAgICB0aWNrZXRUeXBlQ29uZGl0aW9uc0Rlc2NyaXB0aW9uXG4gICAgICAgICAgICAgIGpvdXJuZXlCcmVha1J1bGVcbiAgICAgICAgICAgICAgYXZhaWxhYmlsaXR5UnVsZVxuICAgICAgICAgICAgICB0b2RBdmFpbGFibGVcbiAgICAgICAgICAgICAga2lvc2tBdmFpbGFibGVcbiAgICAgICAgICAgICAgc3RhcnREYXRlXG4gICAgICAgICAgICAgIGVuZERhdGVcbiAgICAgICAgICAgICAgZHluYW1pY0NvbmRpdGlvbnMge1xuICAgICAgICAgICAgICAgIG5hbWVcbiAgICAgICAgICAgICAgICBkZXNjcmlwdGlvblxuICAgICAgICAgICAgICB9XG4gICAgICAgICAgICB9XG4gICAgICAgICAgICBjbGFzc1xuICAgICAgICAgICAgc2luZ2xlT3JSZXR1cm5cbiAgICAgICAgICAgIHByaWNlXG4gICAgICAgICAgICByZXNlcnZhYmxlU3RhdHVzXG4gICAgICAgICAgICBjdXJyZW5jeVxuICAgICAgICAgICAgcm91dGVcbiAgICAgICAgICAgIHJvdXRlQ29kZVxuICAgICAgICAgICAgdGlja2V0cyB7XG4gICAgICAgICAgICAgIHByaWNlXG4gICAgICAgICAgICAgIHR5cGVcbiAgICAgICAgICAgICAgcm91dGVcbiAgICAgICAgICAgICAgc2VnbWVudHMge1xuICAgICAgICAgICAgICAgIGlkXG4gICAgICAgICAgICAgICAgb3BlcmF0b3JcbiAgICAgICAgICAgICAgICBkZXBhcnRcbiAgICAgICAgICAgICAgICBkZXBhcnREYXRlVGltZVxuICAgICAgICAgICAgICAgIGFycml2ZVxuICAgICAgICAgICAgICAgIGFycml2ZURhdGVUaW1lXG4gICAgICAgICAgICAgICAgcmVzZXJ2YWJsZVN0YXR1c1xuICAgICAgICAgICAgICAgIHNlYXRQcmVmZXJlbmNlR3JvdXBcbiAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgICBudW1DaGlsZHJlblxuICAgICAgICAgICAgICBudW1BZHVsdHNcbiAgICAgICAgICAgIH1cbiAgICAgICAgICAgIGF2YWlsYWJsZVNlYXRzXG4gICAgICAgICAgICB0aWNrZXRRdWV1ZUxpc3Qge1xuICAgICAgICAgICAgICBpZFxuICAgICAgICAgICAgICBuYW1lXG4gICAgICAgICAgICAgIHR5cGVcbiAgICAgICAgICAgIH1cbiAgICAgICAgICAgIGFjY291bnRzTGlzdCB7XG4gICAgICAgICAgICAgIGlkXG4gICAgICAgICAgICAgIHJlZmVyZW5jZVxuICAgICAgICAgICAgICBkZXNjcmlwdGlvblxuICAgICAgICAgICAgICBpc0RlZmF1bHRcbiAgICAgICAgICAgICAgdHlwZVxuICAgICAgICAgICAgfVxuICAgICAgICAgIH1cbiAgICAgICAgICB0aWNrZXRPcHRpb25zIHtcbiAgICAgICAgICAgIGlkZW50aWZpZXJzIHtcbiAgICAgICAgICAgICAgdHJhbnNhY3Rpb25JZGVudGlmaWVyXG4gICAgICAgICAgICAgIGpvdXJuZXlJZGVudGlmaWVyXG4gICAgICAgICAgICAgIHByb3ZpZGVyXG4gICAgICAgICAgICAgIGZhcmVJZGVudGlmaWVyXG4gICAgICAgICAgICAgIGRpcmVjdGlvblxuICAgICAgICAgICAgICBzaW5nbGVPclJldHVyblxuICAgICAgICAgICAgICBib29raW5nUmVmXG4gICAgICAgICAgICAgIGFsbG93ZWRXaXRoIHtcbiAgICAgICAgICAgICAgICB0cmFuc2FjdGlvbklkZW50aWZpZXJcbiAgICAgICAgICAgICAgICBqb3VybmV5SWRlbnRpZmllclxuICAgICAgICAgICAgICAgIHByb3ZpZGVyXG4gICAgICAgICAgICAgICAgZmFyZUlkZW50aWZpZXJcbiAgICAgICAgICAgICAgICBkaXJlY3Rpb25cbiAgICAgICAgICAgICAgICBzaW5nbGVPclJldHVyblxuICAgICAgICAgICAgICAgIGJvb2tpbmdSZWZcbiAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgfVxuICAgICAgICAgICAgdHlwZVxuICAgICAgICAgICAgdGVybXMge1xuICAgICAgICAgICAgICBlcnJvclxuICAgICAgICAgICAgICB0aWNrZXRUeXBlQ29kZVxuICAgICAgICAgICAgICB0cmFpbk9wZXJhdGluZ0NvbXBhbnlDb2RlXG4gICAgICAgICAgICAgIHRpY2tldFR5cGVOYW1lXG4gICAgICAgICAgICAgIHRpY2tldFR5cGVBbHROYW1lXG4gICAgICAgICAgICAgIHRpY2tldFR5cGVDbGFzc1xuICAgICAgICAgICAgICByZXNlcnZhdGlvblJ1bGVcbiAgICAgICAgICAgICAgam91cm5leVR5cGVcbiAgICAgICAgICAgICAgcHJlQm9va2luZ1JlcXVpcmVtZW50XG4gICAgICAgICAgICAgIGdlbmVyYWxWYWxpZGl0eVxuICAgICAgICAgICAgICB2YWxpZE91dFJ1bGVcbiAgICAgICAgICAgICAgdmFsaWRSZXR1cm5SdWxlXG4gICAgICAgICAgICAgIGdlbmVyYWxEaXNjb3VudFxuICAgICAgICAgICAgICBjaGlsZERpc2NvdW50XG4gICAgICAgICAgICAgIHJhaWxjYXJkRGlzY291bnRcbiAgICAgICAgICAgICAgcmVmdW5kQ2FuY2VsbGF0aW9uUnVsZVxuICAgICAgICAgICAgICBjaGFuZ2VSdWxlXG4gICAgICAgICAgICAgIHRpY2tldFR5cGVDb25kaXRpb25zRGVzY3JpcHRpb25cbiAgICAgICAgICAgICAgam91cm5leUJyZWFrUnVsZVxuICAgICAgICAgICAgICBhdmFpbGFiaWxpdHlSdWxlXG4gICAgICAgICAgICAgIHRvZEF2YWlsYWJsZVxuICAgICAgICAgICAgICBraW9za0F2YWlsYWJsZVxuICAgICAgICAgICAgICBzdGFydERhdGVcbiAgICAgICAgICAgICAgZW5kRGF0ZVxuICAgICAgICAgICAgfVxuICAgICAgICAgICAgY2xhc3NcbiAgICAgICAgICAgIHNpbmdsZU9yUmV0dXJuXG4gICAgICAgICAgICBwcmljZVxuICAgICAgICAgICAgcmVzZXJ2YWJsZVN0YXR1c1xuICAgICAgICAgICAgY3VycmVuY3lcbiAgICAgICAgICAgIHJvdXRlXG4gICAgICAgICAgICByb3V0ZUNvZGVcbiAgICAgICAgICAgIHRpY2tldHMge1xuICAgICAgICAgICAgICBwcmljZVxuICAgICAgICAgICAgICB0eXBlXG4gICAgICAgICAgICAgIHJvdXRlXG4gICAgICAgICAgICAgIG51bUNoaWxkcmVuXG4gICAgICAgICAgICAgIG51bUFkdWx0c1xuICAgICAgICAgICAgfVxuICAgICAgICAgICAgYXZhaWxhYmxlU2VhdHNcbiAgICAgICAgICAgIHRpY2tldFF1ZXVlTGlzdCB7XG4gICAgICAgICAgICAgIGlkXG4gICAgICAgICAgICAgIG5hbWVcbiAgICAgICAgICAgICAgdHlwZVxuICAgICAgICAgICAgfVxuICAgICAgICAgICAgYWNjb3VudHNMaXN0IHtcbiAgICAgICAgICAgICAgaWRcbiAgICAgICAgICAgICAgcmVmZXJlbmNlXG4gICAgICAgICAgICAgIGRlc2NyaXB0aW9uXG4gICAgICAgICAgICAgIGlzRGVmYXVsdFxuICAgICAgICAgICAgICB0eXBlXG4gICAgICAgICAgICB9XG4gICAgICAgICAgfVxuICAgICAgICAgIGJvb2tlZFRpY2tldCB7XG4gICAgICAgICAgICBpZGVudGlmaWVycyB7XG4gICAgICAgICAgICAgIHRyYW5zYWN0aW9uSWRlbnRpZmllclxuICAgICAgICAgICAgICBqb3VybmV5SWRlbnRpZmllclxuICAgICAgICAgICAgICBwcm92aWRlclxuICAgICAgICAgICAgICBmYXJlSWRlbnRpZmllclxuICAgICAgICAgICAgICBkaXJlY3Rpb25cbiAgICAgICAgICAgICAgc2luZ2xlT3JSZXR1cm5cbiAgICAgICAgICAgICAgYm9va2luZ1JlZlxuICAgICAgICAgICAgfVxuICAgICAgICAgICAgdHlwZVxuICAgICAgICAgICAgdGVybXMge1xuICAgICAgICAgICAgICBlcnJvclxuICAgICAgICAgICAgICB0aWNrZXRUeXBlQ29kZVxuICAgICAgICAgICAgICB0cmFpbk9wZXJhdGluZ0NvbXBhbnlDb2RlXG4gICAgICAgICAgICAgIHRpY2tldFR5cGVOYW1lXG4gICAgICAgICAgICAgIHRpY2tldFR5cGVBbHROYW1lXG4gICAgICAgICAgICAgIHRpY2tldFR5cGVDbGFzc1xuICAgICAgICAgICAgICByZXNlcnZhdGlvblJ1bGVcbiAgICAgICAgICAgICAgam91cm5leVR5cGVcbiAgICAgICAgICAgICAgcHJlQm9va2luZ1JlcXVpcmVtZW50XG4gICAgICAgICAgICAgIGdlbmVyYWxWYWxpZGl0eVxuICAgICAgICAgICAgICB2YWxpZE91dFJ1bGVcbiAgICAgICAgICAgICAgdmFsaWRSZXR1cm5SdWxlXG4gICAgICAgICAgICAgIGdlbmVyYWxEaXNjb3VudFxuICAgICAgICAgICAgICBjaGlsZERpc2NvdW50XG4gICAgICAgICAgICAgIHJhaWxjYXJkRGlzY291bnRcbiAgICAgICAgICAgICAgcmVmdW5kQ2FuY2VsbGF0aW9uUnVsZVxuICAgICAgICAgICAgICBjaGFuZ2VSdWxlXG4gICAgICAgICAgICAgIHRpY2tldFR5cGVDb25kaXRpb25zRGVzY3JpcHRpb25cbiAgICAgICAgICAgICAgam91cm5leUJyZWFrUnVsZVxuICAgICAgICAgICAgICBhdmFpbGFiaWxpdHlSdWxlXG4gICAgICAgICAgICAgIHRvZEF2YWlsYWJsZVxuICAgICAgICAgICAgICBraW9za0F2YWlsYWJsZVxuICAgICAgICAgICAgICBzdGFydERhdGVcbiAgICAgICAgICAgICAgZW5kRGF0ZVxuICAgICAgICAgICAgfVxuICAgICAgICAgICAgY2xhc3NcbiAgICAgICAgICAgIHNpbmdsZU9yUmV0dXJuXG4gICAgICAgICAgICBwcmljZVxuICAgICAgICAgICAgcmVzZXJ2YWJsZVN0YXR1c1xuICAgICAgICAgICAgY3VycmVuY3lcbiAgICAgICAgICAgIHJvdXRlXG4gICAgICAgICAgICByb3V0ZUNvZGVcbiAgICAgICAgICAgIHRpY2tldHMge1xuICAgICAgICAgICAgICBwcmljZVxuICAgICAgICAgICAgICB0eXBlXG4gICAgICAgICAgICAgIHJvdXRlXG4gICAgICAgICAgICAgIG51bUNoaWxkcmVuXG4gICAgICAgICAgICAgIG51bUFkdWx0c1xuICAgICAgICAgICAgfVxuICAgICAgICAgICAgdGlja2V0UXVldWVMaXN0IHtcbiAgICAgICAgICAgICAgaWRcbiAgICAgICAgICAgICAgbmFtZVxuICAgICAgICAgICAgICB0eXBlXG4gICAgICAgICAgICB9XG4gICAgICAgICAgICBhY2NvdW50c0xpc3Qge1xuICAgICAgICAgICAgICBpZFxuICAgICAgICAgICAgICByZWZlcmVuY2VcbiAgICAgICAgICAgICAgZGVzY3JpcHRpb25cbiAgICAgICAgICAgICAgaXNEZWZhdWx0XG4gICAgICAgICAgICAgIHR5cGVcbiAgICAgICAgICAgIH1cbiAgICAgICAgICB9XG4gICAgICAgIH1cbiAgICAgICAgdW5zZWxsYWJsZVxuICAgICAgICB0aWNrZXRFeHRyYXMge1xuICAgICAgICAgIGlkZW50aWZpZXJzIHtcbiAgICAgICAgICAgIHR5cGVcbiAgICAgICAgICAgIGxvY2F0aW9uXG4gICAgICAgICAgICBkYXRlXG4gICAgICAgICAgICBqb3VybmV5SWRcbiAgICAgICAgICAgIGlzT3JpZ2luXG4gICAgICAgICAgfVxuICAgICAgICAgIHR5cGVcbiAgICAgICAgICBsb2NhdGlvblxuICAgICAgICAgIGRhdGVcbiAgICAgICAgICBkZXNjcmlwdGlvblxuICAgICAgICAgIGFtb3VudFxuICAgICAgICAgIGFkdWx0QW1vdW50XG4gICAgICAgICAgY2hpbGRBbW91bnRcbiAgICAgICAgICBjdXJyZW5jeVxuICAgICAgICB9XG4gICAgICAgIHBsdXNCdXMge1xuICAgICAgICAgIG9yaWdpblBsdXNCdXNOTENcbiAgICAgICAgICBvcmlnaW5TdGF0aW9uTkxDXG4gICAgICAgICAgZGVzdGluYXRpb25QbHVzQnVzTkxDXG4gICAgICAgICAgZGVzdGluYXRpb25TdGF0aW9uTkxDXG4gICAgICAgIH1cbiAgICAgIH1cbiAgICAgIHJldHVybiB7XG4gICAgICAgIGlkZW50aWZpZXJzIHtcbiAgICAgICAgICB0cmFuc2FjdGlvbklkZW50aWZpZXJcbiAgICAgICAgICBqb3VybmV5SWRlbnRpZmllclxuICAgICAgICAgIHByb3ZpZGVyXG4gICAgICAgICAgZmFyZUlkZW50aWZpZXJcbiAgICAgICAgICBkaXJlY3Rpb25cbiAgICAgICAgICBzaW5nbGVPclJldHVyblxuICAgICAgICAgIGJvb2tpbmdSZWZcbiAgICAgICAgfVxuICAgICAgICB0cmF2ZWxsZXJzIHtcbiAgICAgICAgICBzdGF0dXNcbiAgICAgICAgICBpZFxuICAgICAgICAgIGRvYlxuICAgICAgICAgIHJhaWxjYXJkXG4gICAgICAgICAgZ2l2ZW5OYW1lXG4gICAgICAgICAgc3VybmFtZVxuICAgICAgICAgIG5hbWVUaXRsZVxuICAgICAgICAgIGNvbnRhY3RJbmZvXG4gICAgICAgICAgZGVsaXZlcnlFbWFpbEFkZHJlc3NcbiAgICAgICAgICBmYXJlXG4gICAgICAgIH1cbiAgICAgICAgY28yUGVySXRlbVxuICAgICAgICBmcm9tXG4gICAgICAgIGZyb21Db2RlXG4gICAgICAgIHRvXG4gICAgICAgIHRvQ29kZVxuICAgICAgICBkZXBhcnREYXRlVGltZVxuICAgICAgICBhcnJpdmVEYXRlVGltZVxuICAgICAgICBjaGFuZ2VzXG4gICAgICAgIHNlZ21lbnRzIHtcbiAgICAgICAgICBpZFxuICAgICAgICAgIG9wZXJhdG9yXG4gICAgICAgICAgZGVwYXJ0XG4gICAgICAgICAgZGVwYXJ0RGF0ZVRpbWVcbiAgICAgICAgICBhcnJpdmVcbiAgICAgICAgICBhcnJpdmVEYXRlVGltZVxuICAgICAgICAgIHJlc2VydmFibGVTdGF0dXNcbiAgICAgICAgICBzZWF0UHJlZmVyZW5jZUdyb3VwXG4gICAgICAgICAgY2FsbGluZ1BvaW50cyB7XG4gICAgICAgICAgICBzdGF0aW9uTmFtZVxuICAgICAgICAgICAgc3RhdGlvbkNvZGVcbiAgICAgICAgICAgIGFycml2YWxEYXRlVGltZVxuICAgICAgICAgICAgZGVwYXJ0dXJlRGF0ZVRpbWVcbiAgICAgICAgICAgIHNjaGVkdWxlZFBsYXRmb3JtXG4gICAgICAgICAgICBzdGF0aW9uQ2xhc3NpZmljYXRpb25cbiAgICAgICAgICAgIHN0b3BwaW5nUGF0dGVyblxuICAgICAgICAgIH1cbiAgICAgICAgfVxuICAgICAgICBwcm92aWRlcnMge1xuICAgICAgICAgIHByb3ZpZGVySWRcbiAgICAgICAgICBuYW1lXG4gICAgICAgICAgY2hlYXBlc3RUaWNrZXQge1xuICAgICAgICAgICAgaWRlbnRpZmllcnMge1xuICAgICAgICAgICAgICB0cmFuc2FjdGlvbklkZW50aWZpZXJcbiAgICAgICAgICAgICAgam91cm5leUlkZW50aWZpZXJcbiAgICAgICAgICAgICAgcHJvdmlkZXJcbiAgICAgICAgICAgICAgZmFyZUlkZW50aWZpZXJcbiAgICAgICAgICAgICAgZGlyZWN0aW9uXG4gICAgICAgICAgICAgIHNpbmdsZU9yUmV0dXJuXG4gICAgICAgICAgICAgIGJvb2tpbmdSZWZcbiAgICAgICAgICAgIH1cbiAgICAgICAgICAgIHR5cGVcbiAgICAgICAgICAgIHRlcm1zIHtcbiAgICAgICAgICAgICAgZXJyb3JcbiAgICAgICAgICAgICAgdGlja2V0VHlwZUNvZGVcbiAgICAgICAgICAgICAgdHJhaW5PcGVyYXRpbmdDb21wYW55Q29kZVxuICAgICAgICAgICAgICB0aWNrZXRUeXBlTmFtZVxuICAgICAgICAgICAgICB0aWNrZXRUeXBlQWx0TmFtZVxuICAgICAgICAgICAgICB0aWNrZXRUeXBlQ2xhc3NcbiAgICAgICAgICAgICAgcmVzZXJ2YXRpb25SdWxlXG4gICAgICAgICAgICAgIGpvdXJuZXlUeXBlXG4gICAgICAgICAgICAgIHByZUJvb2tpbmdSZXF1aXJlbWVudFxuICAgICAgICAgICAgICBnZW5lcmFsVmFsaWRpdHlcbiAgICAgICAgICAgICAgdmFsaWRPdXRSdWxlXG4gICAgICAgICAgICAgIHZhbGlkUmV0dXJuUnVsZVxuICAgICAgICAgICAgICBnZW5lcmFsRGlzY291bnRcbiAgICAgICAgICAgICAgY2hpbGREaXNjb3VudFxuICAgICAgICAgICAgICByYWlsY2FyZERpc2NvdW50XG4gICAgICAgICAgICAgIHJlZnVuZENhbmNlbGxhdGlvblJ1bGVcbiAgICAgICAgICAgICAgY2hhbmdlUnVsZVxuICAgICAgICAgICAgICB0aWNrZXRUeXBlQ29uZGl0aW9uc0Rlc2NyaXB0aW9uXG4gICAgICAgICAgICAgIGpvdXJuZXlCcmVha1J1bGVcbiAgICAgICAgICAgICAgYXZhaWxhYmlsaXR5UnVsZVxuICAgICAgICAgICAgICB0b2RBdmFpbGFibGVcbiAgICAgICAgICAgICAga2lvc2tBdmFpbGFibGVcbiAgICAgICAgICAgICAgc3RhcnREYXRlXG4gICAgICAgICAgICAgIGVuZERhdGVcbiAgICAgICAgICAgICAgZHluYW1pY0NvbmRpdGlvbnMge1xuICAgICAgICAgICAgICAgIG5hbWVcbiAgICAgICAgICAgICAgICBkZXNjcmlwdGlvblxuICAgICAgICAgICAgICB9XG4gICAgICAgICAgICB9XG4gICAgICAgICAgICBjbGFzc1xuICAgICAgICAgICAgc2luZ2xlT3JSZXR1cm5cbiAgICAgICAgICAgIHByaWNlXG4gICAgICAgICAgICByZXNlcnZhYmxlU3RhdHVzXG4gICAgICAgICAgICBjdXJyZW5jeVxuICAgICAgICAgICAgcm91dGVcbiAgICAgICAgICAgIHJvdXRlQ29kZVxuICAgICAgICAgICAgdGlja2V0cyB7XG4gICAgICAgICAgICAgIHByaWNlXG4gICAgICAgICAgICAgIHR5cGVcbiAgICAgICAgICAgICAgcm91dGVcbiAgICAgICAgICAgICAgc2VnbWVudHMge1xuICAgICAgICAgICAgICAgIGlkXG4gICAgICAgICAgICAgICAgb3BlcmF0b3JcbiAgICAgICAgICAgICAgICBkZXBhcnRcbiAgICAgICAgICAgICAgICBkZXBhcnREYXRlVGltZVxuICAgICAgICAgICAgICAgIGFycml2ZVxuICAgICAgICAgICAgICAgIGFycml2ZURhdGVUaW1lXG4gICAgICAgICAgICAgICAgcmVzZXJ2YWJsZVN0YXR1c1xuICAgICAgICAgICAgICAgIHNlYXRQcmVmZXJlbmNlR3JvdXBcbiAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgICBudW1DaGlsZHJlblxuICAgICAgICAgICAgICBudW1BZHVsdHNcbiAgICAgICAgICAgIH1cbiAgICAgICAgICAgIGF2YWlsYWJsZVNlYXRzXG4gICAgICAgICAgICB0aWNrZXRRdWV1ZUxpc3Qge1xuICAgICAgICAgICAgICBpZFxuICAgICAgICAgICAgICBuYW1lXG4gICAgICAgICAgICAgIHR5cGVcbiAgICAgICAgICAgIH1cbiAgICAgICAgICAgIGFjY291bnRzTGlzdCB7XG4gICAgICAgICAgICAgIGlkXG4gICAgICAgICAgICAgIHJlZmVyZW5jZVxuICAgICAgICAgICAgICBkZXNjcmlwdGlvblxuICAgICAgICAgICAgICBpc0RlZmF1bHRcbiAgICAgICAgICAgICAgdHlwZVxuICAgICAgICAgICAgfVxuICAgICAgICAgIH1cbiAgICAgICAgICB0aWNrZXRPcHRpb25zIHtcbiAgICAgICAgICAgIGlkZW50aWZpZXJzIHtcbiAgICAgICAgICAgICAgdHJhbnNhY3Rpb25JZGVudGlmaWVyXG4gICAgICAgICAgICAgIGpvdXJuZXlJZGVudGlmaWVyXG4gICAgICAgICAgICAgIHByb3ZpZGVyXG4gICAgICAgICAgICAgIGZhcmVJZGVudGlmaWVyXG4gICAgICAgICAgICAgIGRpcmVjdGlvblxuICAgICAgICAgICAgICBzaW5nbGVPclJldHVyblxuICAgICAgICAgICAgICBib29raW5nUmVmXG4gICAgICAgICAgICAgIGFsbG93ZWRXaXRoIHtcbiAgICAgICAgICAgICAgICB0cmFuc2FjdGlvbklkZW50aWZpZXJcbiAgICAgICAgICAgICAgICBqb3VybmV5SWRlbnRpZmllclxuICAgICAgICAgICAgICAgIHByb3ZpZGVyXG4gICAgICAgICAgICAgICAgZmFyZUlkZW50aWZpZXJcbiAgICAgICAgICAgICAgICBkaXJlY3Rpb25cbiAgICAgICAgICAgICAgICBzaW5nbGVPclJldHVyblxuICAgICAgICAgICAgICAgIGJvb2tpbmdSZWZcbiAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgfVxuICAgICAgICAgICAgdHlwZVxuICAgICAgICAgICAgdGVybXMge1xuICAgICAgICAgICAgICBlcnJvclxuICAgICAgICAgICAgICB0aWNrZXRUeXBlQ29kZVxuICAgICAgICAgICAgICB0cmFpbk9wZXJhdGluZ0NvbXBhbnlDb2RlXG4gICAgICAgICAgICAgIHRpY2tldFR5cGVOYW1lXG4gICAgICAgICAgICAgIHRpY2tldFR5cGVBbHROYW1lXG4gICAgICAgICAgICAgIHRpY2tldFR5cGVDbGFzc1xuICAgICAgICAgICAgICByZXNlcnZhdGlvblJ1bGVcbiAgICAgICAgICAgICAgam91cm5leVR5cGVcbiAgICAgICAgICAgICAgcHJlQm9va2luZ1JlcXVpcmVtZW50XG4gICAgICAgICAgICAgIGdlbmVyYWxWYWxpZGl0eVxuICAgICAgICAgICAgICB2YWxpZE91dFJ1bGVcbiAgICAgICAgICAgICAgdmFsaWRSZXR1cm5SdWxlXG4gICAgICAgICAgICAgIGdlbmVyYWxEaXNjb3VudFxuICAgICAgICAgICAgICBjaGlsZERpc2NvdW50XG4gICAgICAgICAgICAgIHJhaWxjYXJkRGlzY291bnRcbiAgICAgICAgICAgICAgcmVmdW5kQ2FuY2VsbGF0aW9uUnVsZVxuICAgICAgICAgICAgICBjaGFuZ2VSdWxlXG4gICAgICAgICAgICAgIHRpY2tldFR5cGVDb25kaXRpb25zRGVzY3JpcHRpb25cbiAgICAgICAgICAgICAgam91cm5leUJyZWFrUnVsZVxuICAgICAgICAgICAgICBhdmFpbGFiaWxpdHlSdWxlXG4gICAgICAgICAgICAgIHRvZEF2YWlsYWJsZVxuICAgICAgICAgICAgICBraW9za0F2YWlsYWJsZVxuICAgICAgICAgICAgICBzdGFydERhdGVcbiAgICAgICAgICAgICAgZW5kRGF0ZVxuICAgICAgICAgICAgfVxuICAgICAgICAgICAgY2xhc3NcbiAgICAgICAgICAgIHNpbmdsZU9yUmV0dXJuXG4gICAgICAgICAgICBwcmljZVxuICAgICAgICAgICAgcmVzZXJ2YWJsZVN0YXR1c1xuICAgICAgICAgICAgY3VycmVuY3lcbiAgICAgICAgICAgIHJvdXRlXG4gICAgICAgICAgICByb3V0ZUNvZGVcbiAgICAgICAgICAgIHRpY2tldHMge1xuICAgICAgICAgICAgICBwcmljZVxuICAgICAgICAgICAgICB0eXBlXG4gICAgICAgICAgICAgIHJvdXRlXG4gICAgICAgICAgICAgIG51bUNoaWxkcmVuXG4gICAgICAgICAgICAgIG51bUFkdWx0c1xuICAgICAgICAgICAgfVxuICAgICAgICAgICAgYXZhaWxhYmxlU2VhdHNcbiAgICAgICAgICAgIHRpY2tldFF1ZXVlTGlzdCB7XG4gICAgICAgICAgICAgIGlkXG4gICAgICAgICAgICAgIG5hbWVcbiAgICAgICAgICAgICAgdHlwZVxuICAgICAgICAgICAgfVxuICAgICAgICAgICAgYWNjb3VudHNMaXN0IHtcbiAgICAgICAgICAgICAgaWRcbiAgICAgICAgICAgICAgcmVmZXJlbmNlXG4gICAgICAgICAgICAgIGRlc2NyaXB0aW9uXG4gICAgICAgICAgICAgIGlzRGVmYXVsdFxuICAgICAgICAgICAgICB0eXBlXG4gICAgICAgICAgICB9XG4gICAgICAgICAgfVxuICAgICAgICAgIGJvb2tlZFRpY2tldCB7XG4gICAgICAgICAgICBpZGVudGlmaWVycyB7XG4gICAgICAgICAgICAgIHRyYW5zYWN0aW9uSWRlbnRpZmllclxuICAgICAgICAgICAgICBqb3VybmV5SWRlbnRpZmllclxuICAgICAgICAgICAgICBwcm92aWRlclxuICAgICAgICAgICAgICBmYXJlSWRlbnRpZmllclxuICAgICAgICAgICAgICBkaXJlY3Rpb25cbiAgICAgICAgICAgICAgc2luZ2xlT3JSZXR1cm5cbiAgICAgICAgICAgICAgYm9va2luZ1JlZlxuICAgICAgICAgICAgfVxuICAgICAgICAgICAgdHlwZVxuICAgICAgICAgICAgdGVybXMge1xuICAgICAgICAgICAgICBlcnJvclxuICAgICAgICAgICAgICB0aWNrZXRUeXBlQ29kZVxuICAgICAgICAgICAgICB0cmFpbk9wZXJhdGluZ0NvbXBhbnlDb2RlXG4gICAgICAgICAgICAgIHRpY2tldFR5cGVOYW1lXG4gICAgICAgICAgICAgIHRpY2tldFR5cGVBbHROYW1lXG4gICAgICAgICAgICAgIHRpY2tldFR5cGVDbGFzc1xuICAgICAgICAgICAgICByZXNlcnZhdGlvblJ1bGVcbiAgICAgICAgICAgICAgam91cm5leVR5cGVcbiAgICAgICAgICAgICAgcHJlQm9va2luZ1JlcXVpcmVtZW50XG4gICAgICAgICAgICAgIGdlbmVyYWxWYWxpZGl0eVxuICAgICAgICAgICAgICB2YWxpZE91dFJ1bGVcbiAgICAgICAgICAgICAgdmFsaWRSZXR1cm5SdWxlXG4gICAgICAgICAgICAgIGdlbmVyYWxEaXNjb3VudFxuICAgICAgICAgICAgICBjaGlsZERpc2NvdW50XG4gICAgICAgICAgICAgIHJhaWxjYXJkRGlzY291bnRcbiAgICAgICAgICAgICAgcmVmdW5kQ2FuY2VsbGF0aW9uUnVsZVxuICAgICAgICAgICAgICBjaGFuZ2VSdWxlXG4gICAgICAgICAgICAgIHRpY2tldFR5cGVDb25kaXRpb25zRGVzY3JpcHRpb25cbiAgICAgICAgICAgICAgam91cm5leUJyZWFrUnVsZVxuICAgICAgICAgICAgICBhdmFpbGFiaWxpdHlSdWxlXG4gICAgICAgICAgICAgIHRvZEF2YWlsYWJsZVxuICAgICAgICAgICAgICBraW9za0F2YWlsYWJsZVxuICAgICAgICAgICAgICBzdGFydERhdGVcbiAgICAgICAgICAgICAgZW5kRGF0ZVxuICAgICAgICAgICAgfVxuICAgICAgICAgICAgY2xhc3NcbiAgICAgICAgICAgIHNpbmdsZU9yUmV0dXJuXG4gICAgICAgICAgICBwcmljZVxuICAgICAgICAgICAgcmVzZXJ2YWJsZVN0YXR1c1xuICAgICAgICAgICAgY3VycmVuY3lcbiAgICAgICAgICAgIHJvdXRlXG4gICAgICAgICAgICByb3V0ZUNvZGVcbiAgICAgICAgICAgIHRpY2tldHMge1xuICAgICAgICAgICAgICBwcmljZVxuICAgICAgICAgICAgICB0eXBlXG4gICAgICAgICAgICAgIHJvdXRlXG4gICAgICAgICAgICAgIG51bUNoaWxkcmVuXG4gICAgICAgICAgICAgIG51bUFkdWx0c1xuICAgICAgICAgICAgfVxuICAgICAgICAgICAgdGlja2V0UXVldWVMaXN0IHtcbiAgICAgICAgICAgICAgaWRcbiAgICAgICAgICAgICAgbmFtZVxuICAgICAgICAgICAgICB0eXBlXG4gICAgICAgICAgICB9XG4gICAgICAgICAgICBhY2NvdW50c0xpc3Qge1xuICAgICAgICAgICAgICBpZFxuICAgICAgICAgICAgICByZWZlcmVuY2VcbiAgICAgICAgICAgICAgZGVzY3JpcHRpb25cbiAgICAgICAgICAgICAgaXNEZWZhdWx0XG4gICAgICAgICAgICAgIHR5cGVcbiAgICAgICAgICAgIH1cbiAgICAgICAgICB9XG4gICAgICAgIH1cbiAgICAgICAgdW5zZWxsYWJsZVxuICAgICAgICB0aWNrZXRFeHRyYXMge1xuICAgICAgICAgIHR5cGVcbiAgICAgICAgICBsb2NhdGlvblxuICAgICAgICAgIGRhdGVcbiAgICAgICAgICBkZXNjcmlwdGlvblxuICAgICAgICAgIGFtb3VudFxuICAgICAgICAgIGFkdWx0QW1vdW50XG4gICAgICAgICAgY2hpbGRBbW91bnRcbiAgICAgICAgICBjdXJyZW5jeVxuICAgICAgICB9XG4gICAgICAgIHBsdXNCdXMge1xuICAgICAgICAgIG9yaWdpblBsdXNCdXNOTENcbiAgICAgICAgICBvcmlnaW5TdGF0aW9uTkxDXG4gICAgICAgICAgZGVzdGluYXRpb25QbHVzQnVzTkxDXG4gICAgICAgICAgZGVzdGluYXRpb25TdGF0aW9uTkxDXG4gICAgICAgIH1cbiAgICAgIH1cbiAgICB9XG4gICAgZXJyb3JzIHtcbiAgICAgIC4uLkVycm9yc1xuICAgIH1cbiAgfVxufVxuICAgICR7RXJyb3JzRnJhZ21lbnREb2N9YDtcblxuICBASW5qZWN0YWJsZSh7XG4gICAgcHJvdmlkZWRJbjogJ3Jvb3QnXG4gIH0pXG4gIGV4cG9ydCBjbGFzcyBTZWFyY2hSYWlsR1FMIGV4dGVuZHMgQXBvbGxvLlF1ZXJ5PFNlYXJjaFJhaWxRdWVyeSwgU2VhcmNoUmFpbFF1ZXJ5VmFyaWFibGVzPiB7XG4gICAgZG9jdW1lbnQgPSBTZWFyY2hSYWlsRG9jdW1lbnQ7XG4gICAgXG4gICAgY29uc3RydWN0b3IoYXBvbGxvOiBBcG9sbG8uQXBvbGxvKSB7XG4gICAgICBzdXBlcihhcG9sbG8pO1xuICAgIH1cbiAgfVxuZXhwb3J0IGNvbnN0IFNhdmVSZWNlbnRTZWFyY2hEb2N1bWVudCA9IGdxbGBcbiAgICBtdXRhdGlvbiBzYXZlUmVjZW50U2VhcmNoKCRzZXJ2aWNlVHlwZTogU2VydmljZVR5cGUhLCAkc2VhcmNoQXJnczogSlNPTiEsICR0cmF2ZWxEYXRlOiBEYXRlVGltZSEsICR0cmF2ZWxsZXJzOiBbSURdKSB7XG4gIHNhdmVSZWNlbnRTZWFyY2goc2VydmljZVR5cGU6ICRzZXJ2aWNlVHlwZSwgc2VhcmNoQXJnczogJHNlYXJjaEFyZ3MsIHRyYXZlbERhdGU6ICR0cmF2ZWxEYXRlLCB0cmF2ZWxsZXJzOiAkdHJhdmVsbGVycykge1xuICAgIGlkXG4gIH1cbn1cbiAgICBgO1xuXG4gIEBJbmplY3RhYmxlKHtcbiAgICBwcm92aWRlZEluOiAncm9vdCdcbiAgfSlcbiAgZXhwb3J0IGNsYXNzIFNhdmVSZWNlbnRTZWFyY2hHUUwgZXh0ZW5kcyBBcG9sbG8uTXV0YXRpb248U2F2ZVJlY2VudFNlYXJjaE11dGF0aW9uLCBTYXZlUmVjZW50U2VhcmNoTXV0YXRpb25WYXJpYWJsZXM+IHtcbiAgICBkb2N1bWVudCA9IFNhdmVSZWNlbnRTZWFyY2hEb2N1bWVudDtcbiAgICBcbiAgICBjb25zdHJ1Y3RvcihhcG9sbG86IEFwb2xsby5BcG9sbG8pIHtcbiAgICAgIHN1cGVyKGFwb2xsbyk7XG4gICAgfVxuICB9XG5leHBvcnQgY29uc3QgU2F2ZVVzZXJBZGRyZXNzRG9jdW1lbnQgPSBncWxgXG4gICAgbXV0YXRpb24gc2F2ZVVzZXJBZGRyZXNzKCRkZXNjcmlwdGlvbjogU3RyaW5nISwgJG51bWJlck9yTmFtZTogU3RyaW5nLCAkc3RyZWV0OiBTdHJpbmcsICR0b3duOiBTdHJpbmcsICRjb3VudHk6IFN0cmluZywgJHBvc3Rjb2RlOiBTdHJpbmcsICRjb3VudHJ5Q29kZTogU3RyaW5nLCAkdXNlclByaW1hcnk6IEJvb2xlYW4pIHtcbiAgc2F2ZVVzZXJBZGRyZXNzKGRlc2NyaXB0aW9uOiAkZGVzY3JpcHRpb24sIG51bWJlck9yTmFtZTogJG51bWJlck9yTmFtZSwgc3RyZWV0OiAkc3RyZWV0LCB0b3duOiAkdG93biwgY291bnR5OiAkY291bnR5LCBwb3N0Y29kZTogJHBvc3Rjb2RlLCBjb3VudHJ5Q29kZTogJGNvdW50cnlDb2RlLCB1c2VyUHJpbWFyeTogJHVzZXJQcmltYXJ5KSB7XG4gICAgaWRcbiAgICBkZXNjcmlwdGlvblxuICAgIG51bWJlck9yTmFtZVxuICAgIHN0cmVldFxuICAgIHRvd25cbiAgICBjb3VudHlcbiAgICBwb3N0Y29kZVxuICAgIGNvdW50cnlDb2RlXG4gICAgdXNlclByaW1hcnlcbiAgICBvZmZpY2VQcmltYXJ5XG4gIH1cbn1cbiAgICBgO1xuXG4gIEBJbmplY3RhYmxlKHtcbiAgICBwcm92aWRlZEluOiAncm9vdCdcbiAgfSlcbiAgZXhwb3J0IGNsYXNzIFNhdmVVc2VyQWRkcmVzc0dRTCBleHRlbmRzIEFwb2xsby5NdXRhdGlvbjxTYXZlVXNlckFkZHJlc3NNdXRhdGlvbiwgU2F2ZVVzZXJBZGRyZXNzTXV0YXRpb25WYXJpYWJsZXM+IHtcbiAgICBkb2N1bWVudCA9IFNhdmVVc2VyQWRkcmVzc0RvY3VtZW50O1xuICAgIFxuICAgIGNvbnN0cnVjdG9yKGFwb2xsbzogQXBvbGxvLkFwb2xsbykge1xuICAgICAgc3VwZXIoYXBvbGxvKTtcbiAgICB9XG4gIH1cbmV4cG9ydCBjb25zdCBTZWFyY2hBaXJsaW5lc0RvY3VtZW50ID0gZ3FsYFxuICAgIHF1ZXJ5IHNlYXJjaEFpcmxpbmVzKCRxdWVyeTogU3RyaW5nISkge1xuICBzZWFyY2hBaXJsaW5lcyhxdWVyeTogJHF1ZXJ5KSB7XG4gICAgaWF0YU1hdGNoIHtcbiAgICAgIGlkXG4gICAgICBuYW1lXG4gICAgICBpYXRhXG4gICAgICBpY2FvXG4gICAgICBhbGlhc1xuICAgICAgY2FsbHNpZ25cbiAgICAgIGFjdGl2ZVxuICAgICAgY29udGluZW50XG4gICAgICBjb3VudHJ5XG4gICAgICBjb3VudHJ5Q29kZVxuICAgICAgYmFubmVySW1hZ2VcbiAgICAgIGxvZ29JbWFnZVxuICAgIH1cbiAgICBnZW5lcmFsTWF0Y2hlcyB7XG4gICAgICBpZFxuICAgICAgbmFtZVxuICAgICAgaWF0YVxuICAgICAgaWNhb1xuICAgICAgYWxpYXNcbiAgICAgIGNhbGxzaWduXG4gICAgICBhY3RpdmVcbiAgICAgIGNvbnRpbmVudFxuICAgICAgY291bnRyeVxuICAgICAgY291bnRyeUNvZGVcbiAgICAgIGJhbm5lckltYWdlXG4gICAgICBsb2dvSW1hZ2VcbiAgICB9XG4gIH1cbn1cbiAgICBgO1xuXG4gIEBJbmplY3RhYmxlKHtcbiAgICBwcm92aWRlZEluOiAncm9vdCdcbiAgfSlcbiAgZXhwb3J0IGNsYXNzIFNlYXJjaEFpcmxpbmVzR1FMIGV4dGVuZHMgQXBvbGxvLlF1ZXJ5PFNlYXJjaEFpcmxpbmVzUXVlcnksIFNlYXJjaEFpcmxpbmVzUXVlcnlWYXJpYWJsZXM+IHtcbiAgICBkb2N1bWVudCA9IFNlYXJjaEFpcmxpbmVzRG9jdW1lbnQ7XG4gICAgXG4gICAgY29uc3RydWN0b3IoYXBvbGxvOiBBcG9sbG8uQXBvbGxvKSB7XG4gICAgICBzdXBlcihhcG9sbG8pO1xuICAgIH1cbiAgfVxuZXhwb3J0IGNvbnN0IFNlYXJjaENpdGllc0RvY3VtZW50ID0gZ3FsYFxuICAgIHF1ZXJ5IHNlYXJjaENpdGllcygkcXVlcnk6IFN0cmluZyEsICRjb3VudHJ5Q29kZTogU3RyaW5nKSB7XG4gIHNlYXJjaENpdGllcyhxdWVyeTogJHF1ZXJ5LCBjb3VudHJ5Q29kZTogJGNvdW50cnlDb2RlKSB7XG4gICAgaWRcbiAgICBuYW1lXG4gICAgY291bnRyeVxuICAgIGNvdW50cnlDb2RlXG4gICAgY29vcmRpbmF0ZXMge1xuICAgICAgbGF0aXR1ZGVcbiAgICAgIGxvbmdpdHVkZVxuICAgICAgYWx0aXR1ZGVcbiAgICB9XG4gICAgY29udGluZW50TmFtZVxuICB9XG59XG4gICAgYDtcblxuICBASW5qZWN0YWJsZSh7XG4gICAgcHJvdmlkZWRJbjogJ3Jvb3QnXG4gIH0pXG4gIGV4cG9ydCBjbGFzcyBTZWFyY2hDaXRpZXNHUUwgZXh0ZW5kcyBBcG9sbG8uUXVlcnk8U2VhcmNoQ2l0aWVzUXVlcnksIFNlYXJjaENpdGllc1F1ZXJ5VmFyaWFibGVzPiB7XG4gICAgZG9jdW1lbnQgPSBTZWFyY2hDaXRpZXNEb2N1bWVudDtcbiAgICBcbiAgICBjb25zdHJ1Y3RvcihhcG9sbG86IEFwb2xsby5BcG9sbG8pIHtcbiAgICAgIHN1cGVyKGFwb2xsbyk7XG4gICAgfVxuICB9XG5leHBvcnQgY29uc3QgU2VhcmNoQ29uZmVybWFDaXRpZXNEb2N1bWVudCA9IGdxbGBcbiAgICBxdWVyeSBzZWFyY2hDb25mZXJtYUNpdGllcygkY2l0eU5hbWU6IFN0cmluZyEsICRjb3VudHJ5Q29kZTogU3RyaW5nISkge1xuICBzZWFyY2hDb25mZXJtYUNpdGllcyhjaXR5TmFtZTogJGNpdHlOYW1lLCBjb3VudHJ5Q29kZTogJGNvdW50cnlDb2RlKSB7XG4gICAgZm91bmRFeGFjdFxuICAgIHN1Z2dlc3Rpb25zIHtcbiAgICAgIG5hbWVcbiAgICAgIGNvdW50cnlDb2RlXG4gICAgICBsYXRpdHVkZVxuICAgICAgbG9uZ2l0dWRlXG4gICAgfVxuICB9XG59XG4gICAgYDtcblxuICBASW5qZWN0YWJsZSh7XG4gICAgcHJvdmlkZWRJbjogJ3Jvb3QnXG4gIH0pXG4gIGV4cG9ydCBjbGFzcyBTZWFyY2hDb25mZXJtYUNpdGllc0dRTCBleHRlbmRzIEFwb2xsby5RdWVyeTxTZWFyY2hDb25mZXJtYUNpdGllc1F1ZXJ5LCBTZWFyY2hDb25mZXJtYUNpdGllc1F1ZXJ5VmFyaWFibGVzPiB7XG4gICAgZG9jdW1lbnQgPSBTZWFyY2hDb25mZXJtYUNpdGllc0RvY3VtZW50O1xuICAgIFxuICAgIGNvbnN0cnVjdG9yKGFwb2xsbzogQXBvbGxvLkFwb2xsbykge1xuICAgICAgc3VwZXIoYXBvbGxvKTtcbiAgICB9XG4gIH1cbmV4cG9ydCBjb25zdCBTZWFyY2hFdXJvc3RhckRvY3VtZW50ID0gZ3FsYFxuICAgIHF1ZXJ5IHNlYXJjaEV1cm9zdGFyKCRwYXNzZW5nZXJzOiBbRmxpZ2h0UGFzc2VuZ2VyT2JqZWN0IV0hLCAkb3JpZ2luQWlycG9ydDogU3RyaW5nLCAkZGVzdGluYXRpb25BaXJwb3J0OiBTdHJpbmcsICRtdWx0aURlc3RpbmF0aW9uOiBbRGVzdGluYXRpb25FbnRyeV0sICRvdXRib3VuZERhdGU6IERhdGUsICRvdXRib3VuZERlcGFydHVyZVRpbWVXaW5kb3c6IFN0cmluZywgJG91dGJvdW5kQXJyaXZhbFRpbWVXaW5kb3c6IFN0cmluZywgJG91dGJvdW5kQ2FiaW5DbGFzczogW0ZsaWdodENhYmluQ2xhc3NdLCAkcmV0dXJuVHJpcDogQm9vbGVhbiEsICRyZXR1cm5EYXRlOiBEYXRlLCAkcmV0dXJuRGVwYXJ0dXJlVGltZVdpbmRvdzogU3RyaW5nLCAkcmV0dXJuQXJyaXZhbFRpbWVXaW5kb3c6IFN0cmluZywgJHJldHVybkNhYmluQ2xhc3M6IFtGbGlnaHRDYWJpbkNsYXNzXSwgJGZhcmVUeXBlOiBGYXJlVHlwZSEsICRyZXF1aXJlRnJlZUJhZzogQm9vbGVhbiwgJG1heENvbm5lY3Rpb25zOiBJbnQsICRwcmVmZXJyZWRDYXJyaWVyczogW1N0cmluZ10sICRpbmNsdWRlTmVhcmJ5QWlycG9ydHM6IEJvb2xlYW4sICRhc1NpbmdsZXM6IEJvb2xlYW4pIHtcbiAgc2VhcmNoRXVyb3N0YXIocGFzc2VuZ2VyczogJHBhc3NlbmdlcnMsIG9yaWdpbkFpcnBvcnQ6ICRvcmlnaW5BaXJwb3J0LCBkZXN0aW5hdGlvbkFpcnBvcnQ6ICRkZXN0aW5hdGlvbkFpcnBvcnQsIG11bHRpRGVzdGluYXRpb246ICRtdWx0aURlc3RpbmF0aW9uLCBvdXRib3VuZERhdGU6ICRvdXRib3VuZERhdGUsIG91dGJvdW5kRGVwYXJ0dXJlVGltZVdpbmRvdzogJG91dGJvdW5kRGVwYXJ0dXJlVGltZVdpbmRvdywgb3V0Ym91bmRBcnJpdmFsVGltZVdpbmRvdzogJG91dGJvdW5kQXJyaXZhbFRpbWVXaW5kb3csIG91dGJvdW5kQ2FiaW5DbGFzczogJG91dGJvdW5kQ2FiaW5DbGFzcywgcmV0dXJuVHJpcDogJHJldHVyblRyaXAsIHJldHVybkRhdGU6ICRyZXR1cm5EYXRlLCByZXR1cm5EZXBhcnR1cmVUaW1lV2luZG93OiAkcmV0dXJuRGVwYXJ0dXJlVGltZVdpbmRvdywgcmV0dXJuQXJyaXZhbFRpbWVXaW5kb3c6ICRyZXR1cm5BcnJpdmFsVGltZVdpbmRvdywgcmV0dXJuQ2FiaW5DbGFzczogJHJldHVybkNhYmluQ2xhc3MsIGZhcmVUeXBlOiAkZmFyZVR5cGUsIHJlcXVpcmVGcmVlQmFnOiAkcmVxdWlyZUZyZWVCYWcsIG1heENvbm5lY3Rpb25zOiAkbWF4Q29ubmVjdGlvbnMsIHByZWZlcnJlZENhcnJpZXJzOiAkcHJlZmVycmVkQ2FycmllcnMsIGluY2x1ZGVOZWFyYnlBaXJwb3J0czogJGluY2x1ZGVOZWFyYnlBaXJwb3J0cywgYXNTaW5nbGVzOiAkYXNTaW5nbGVzKSB7XG4gICAgcmVzdWx0cyB7XG4gICAgICBqb3VybmV5cyB7XG4gICAgICAgIHVpZFxuICAgICAgICBwYXNzZW5nZXJDb3VudFxuICAgICAgICBvdXRib3VuZEZsaWdodHMge1xuICAgICAgICAgIGZhcmVJbmZvIHtcbiAgICAgICAgICAgIHRpdGxlXG4gICAgICAgICAgICB0eXBlXG4gICAgICAgICAgICBjb2RlXG4gICAgICAgICAgICBzdXBwbGllckNvZGVcbiAgICAgICAgICB9XG4gICAgICAgICAgb3JpZ2luQWlycG9ydFxuICAgICAgICAgIG9yaWdpblRlcm1pbmFsXG4gICAgICAgICAgb3JpZ2luQWlycG9ydE5hbWVcbiAgICAgICAgICBvcmlnaW5BaXJwb3J0RGV0YWlsIHtcbiAgICAgICAgICAgIGlhdGFcbiAgICAgICAgICAgIGljYW9cbiAgICAgICAgICAgIGxhdGl0dWRlXG4gICAgICAgICAgICBsb25naXR1ZGVcbiAgICAgICAgICAgIGFsdGl0dWRlXG4gICAgICAgICAgICBzdGF0ZVxuICAgICAgICAgICAgY2l0eVxuICAgICAgICAgICAgcm9hZFxuICAgICAgICAgICAgcG9wdWxhcml0eVxuICAgICAgICAgICAgYXJlYVxuICAgICAgICAgICAgbG9jYXRpb25cbiAgICAgICAgICAgIG9mZnNldFxuICAgICAgICAgICAgYWlycG9ydE5hbWVcbiAgICAgICAgICAgIGNvdW50cnlOYW1lXG4gICAgICAgICAgICBjb3VudHJ5Q29kZVxuICAgICAgICAgICAgcG9zdGNvZGVcbiAgICAgICAgICB9XG4gICAgICAgICAgZGVzdGluYXRpb25BaXJwb3J0XG4gICAgICAgICAgZGVzdGluYXRpb25UZXJtaW5hbFxuICAgICAgICAgIGRlc3RpbmF0aW9uQWlycG9ydE5hbWVcbiAgICAgICAgICBkZXN0aW5hdGlvbkFpcnBvcnREZXRhaWwge1xuICAgICAgICAgICAgaWF0YVxuICAgICAgICAgICAgaWNhb1xuICAgICAgICAgICAgbGF0aXR1ZGVcbiAgICAgICAgICAgIGxvbmdpdHVkZVxuICAgICAgICAgICAgYWx0aXR1ZGVcbiAgICAgICAgICAgIHN0YXRlXG4gICAgICAgICAgICBjaXR5XG4gICAgICAgICAgICByb2FkXG4gICAgICAgICAgICBwb3B1bGFyaXR5XG4gICAgICAgICAgICBhcmVhXG4gICAgICAgICAgICBsb2NhdGlvblxuICAgICAgICAgICAgb2Zmc2V0XG4gICAgICAgICAgICBhaXJwb3J0TmFtZVxuICAgICAgICAgICAgY291bnRyeU5hbWVcbiAgICAgICAgICAgIGNvdW50cnlDb2RlXG4gICAgICAgICAgICBwb3N0Y29kZVxuICAgICAgICAgIH1cbiAgICAgICAgICBkYXRlVGltZURlcGFydGluZ1xuICAgICAgICAgIGRhdGVUaW1lRGVwYXJ0aW5nVVRDXG4gICAgICAgICAgZGF0ZVRpbWVBcnJpdmluZ1xuICAgICAgICAgIGRhdGVUaW1lQXJyaXZpbmdVVENcbiAgICAgICAgICBtYXJrZXRpbmdDYXJyaWVyXG4gICAgICAgICAgbWFya2V0aW5nQ2Fycmllck5hbWVcbiAgICAgICAgICBtYXJrZXRpbmdDYXJyaWVyRGV0YWlsIHtcbiAgICAgICAgICAgIG5hbWVcbiAgICAgICAgICAgIGFsaWFzXG4gICAgICAgICAgICBjYWxsc2lnblxuICAgICAgICAgICAgaWF0YVxuICAgICAgICAgICAgaWNhb1xuICAgICAgICAgICAgbG9nb1xuICAgICAgICAgICAgYmFubmVyXG4gICAgICAgICAgICBwb3B1bGFyaXR5XG4gICAgICAgICAgfVxuICAgICAgICAgIG1hcmtldGluZ0ZsaWdodE51bWJlclxuICAgICAgICAgIG9wZXJhdGluZ0NhcnJpZXJcbiAgICAgICAgICBvcGVyYXRpbmdDYXJyaWVyTmFtZVxuICAgICAgICAgIG9wZXJhdGluZ0NhcnJpZXJEZXRhaWwge1xuICAgICAgICAgICAgbmFtZVxuICAgICAgICAgICAgYWxpYXNcbiAgICAgICAgICAgIGNhbGxzaWduXG4gICAgICAgICAgICBpYXRhXG4gICAgICAgICAgICBpY2FvXG4gICAgICAgICAgICBsb2dvXG4gICAgICAgICAgICBiYW5uZXJcbiAgICAgICAgICAgIHBvcHVsYXJpdHlcbiAgICAgICAgICB9XG4gICAgICAgICAgb3BlcmF0aW5nRmxpZ2h0TnVtYmVyXG4gICAgICAgICAgZXF1aXBtZW50Q29kZVxuICAgICAgICAgIGVxdWlwbWVudE5hbWVcbiAgICAgICAgICB0b3RhbER1cmF0aW9uXG4gICAgICAgICAgY2FiaW5DbGFzc1xuICAgICAgICAgIG1hcmtldGluZ05hbWVzXG4gICAgICAgICAgZmFyZUNvbmRpdGlvbnMge1xuICAgICAgICAgICAgY2FuY2VsbGF0aW9uIHtcbiAgICAgICAgICAgICAgbmFtZVxuICAgICAgICAgICAgICB0eXBlXG4gICAgICAgICAgICAgIGN1cnJlbmN5XG4gICAgICAgICAgICAgIGFtb3VudFxuICAgICAgICAgICAgICByZW1hcmtcbiAgICAgICAgICAgICAgY2hhbmdlRmVlSW5kXG4gICAgICAgICAgICAgIGNhbmNlbEZlZUluZFxuICAgICAgICAgICAgICByZWZ1bmRhYmxlSW5kXG4gICAgICAgICAgICB9XG4gICAgICAgICAgICBjaGFuZ2Uge1xuICAgICAgICAgICAgICBuYW1lXG4gICAgICAgICAgICAgIHR5cGVcbiAgICAgICAgICAgICAgY3VycmVuY3lcbiAgICAgICAgICAgICAgYW1vdW50XG4gICAgICAgICAgICAgIHJlbWFya1xuICAgICAgICAgICAgICBjaGFuZ2VGZWVJbmRcbiAgICAgICAgICAgICAgY2FuY2VsRmVlSW5kXG4gICAgICAgICAgICAgIHJlZnVuZGFibGVJbmRcbiAgICAgICAgICAgIH1cbiAgICAgICAgICAgIG5vU2hvdyB7XG4gICAgICAgICAgICAgIG5hbWVcbiAgICAgICAgICAgICAgdHlwZVxuICAgICAgICAgICAgICBjdXJyZW5jeVxuICAgICAgICAgICAgICBhbW91bnRcbiAgICAgICAgICAgICAgcmVtYXJrXG4gICAgICAgICAgICAgIGNoYW5nZUZlZUluZFxuICAgICAgICAgICAgICBjYW5jZWxGZWVJbmRcbiAgICAgICAgICAgICAgcmVmdW5kYWJsZUluZFxuICAgICAgICAgICAgfVxuICAgICAgICAgICAgdXBncmFkZSB7XG4gICAgICAgICAgICAgIG5hbWVcbiAgICAgICAgICAgICAgdHlwZVxuICAgICAgICAgICAgICBjdXJyZW5jeVxuICAgICAgICAgICAgICBhbW91bnRcbiAgICAgICAgICAgICAgcmVtYXJrXG4gICAgICAgICAgICAgIGNoYW5nZUZlZUluZFxuICAgICAgICAgICAgICBjYW5jZWxGZWVJbmRcbiAgICAgICAgICAgICAgcmVmdW5kYWJsZUluZFxuICAgICAgICAgICAgfVxuICAgICAgICAgICAgb3RoZXIge1xuICAgICAgICAgICAgICBuYW1lXG4gICAgICAgICAgICAgIHR5cGVcbiAgICAgICAgICAgICAgY3VycmVuY3lcbiAgICAgICAgICAgICAgYW1vdW50XG4gICAgICAgICAgICAgIHJlbWFya1xuICAgICAgICAgICAgICBjaGFuZ2VGZWVJbmRcbiAgICAgICAgICAgICAgY2FuY2VsRmVlSW5kXG4gICAgICAgICAgICAgIHJlZnVuZGFibGVJbmRcbiAgICAgICAgICAgIH1cbiAgICAgICAgICB9XG4gICAgICAgICAgdmVuZG9yQ29kZVxuICAgICAgICAgIHN0b3BzXG4gICAgICAgICAgYm9va2luZ0NvZGVcbiAgICAgICAgICBtYXJyaWFnZUdyb3VwXG4gICAgICAgICAgZmFyZUJhc2lzQ29kZVxuICAgICAgICAgIGFkZGl0aW9uYWxcbiAgICAgICAgfVxuICAgICAgICBpbmJvdW5kRmxpZ2h0cyB7XG4gICAgICAgICAgZmFyZUluZm8ge1xuICAgICAgICAgICAgdGl0bGVcbiAgICAgICAgICAgIHR5cGVcbiAgICAgICAgICAgIGNvZGVcbiAgICAgICAgICAgIHN1cHBsaWVyQ29kZVxuICAgICAgICAgIH1cbiAgICAgICAgICBvcmlnaW5BaXJwb3J0XG4gICAgICAgICAgb3JpZ2luVGVybWluYWxcbiAgICAgICAgICBvcmlnaW5BaXJwb3J0TmFtZVxuICAgICAgICAgIG9yaWdpbkFpcnBvcnREZXRhaWwge1xuICAgICAgICAgICAgaWF0YVxuICAgICAgICAgICAgaWNhb1xuICAgICAgICAgICAgbGF0aXR1ZGVcbiAgICAgICAgICAgIGxvbmdpdHVkZVxuICAgICAgICAgICAgYWx0aXR1ZGVcbiAgICAgICAgICAgIHN0YXRlXG4gICAgICAgICAgICBjaXR5XG4gICAgICAgICAgICByb2FkXG4gICAgICAgICAgICBwb3B1bGFyaXR5XG4gICAgICAgICAgICBhcmVhXG4gICAgICAgICAgICBsb2NhdGlvblxuICAgICAgICAgICAgb2Zmc2V0XG4gICAgICAgICAgICBhaXJwb3J0TmFtZVxuICAgICAgICAgICAgY291bnRyeU5hbWVcbiAgICAgICAgICAgIGNvdW50cnlDb2RlXG4gICAgICAgICAgICBwb3N0Y29kZVxuICAgICAgICAgIH1cbiAgICAgICAgICBkZXN0aW5hdGlvbkFpcnBvcnRcbiAgICAgICAgICBkZXN0aW5hdGlvblRlcm1pbmFsXG4gICAgICAgICAgZGVzdGluYXRpb25BaXJwb3J0TmFtZVxuICAgICAgICAgIGRlc3RpbmF0aW9uQWlycG9ydERldGFpbCB7XG4gICAgICAgICAgICBpYXRhXG4gICAgICAgICAgICBpY2FvXG4gICAgICAgICAgICBsYXRpdHVkZVxuICAgICAgICAgICAgbG9uZ2l0dWRlXG4gICAgICAgICAgICBhbHRpdHVkZVxuICAgICAgICAgICAgc3RhdGVcbiAgICAgICAgICAgIGNpdHlcbiAgICAgICAgICAgIHJvYWRcbiAgICAgICAgICAgIHBvcHVsYXJpdHlcbiAgICAgICAgICAgIGFyZWFcbiAgICAgICAgICAgIGxvY2F0aW9uXG4gICAgICAgICAgICBvZmZzZXRcbiAgICAgICAgICAgIGFpcnBvcnROYW1lXG4gICAgICAgICAgICBjb3VudHJ5TmFtZVxuICAgICAgICAgICAgY291bnRyeUNvZGVcbiAgICAgICAgICAgIHBvc3Rjb2RlXG4gICAgICAgICAgfVxuICAgICAgICAgIGRhdGVUaW1lRGVwYXJ0aW5nXG4gICAgICAgICAgZGF0ZVRpbWVEZXBhcnRpbmdVVENcbiAgICAgICAgICBkYXRlVGltZUFycml2aW5nXG4gICAgICAgICAgZGF0ZVRpbWVBcnJpdmluZ1VUQ1xuICAgICAgICAgIG1hcmtldGluZ0NhcnJpZXJcbiAgICAgICAgICBtYXJrZXRpbmdDYXJyaWVyTmFtZVxuICAgICAgICAgIG1hcmtldGluZ0NhcnJpZXJEZXRhaWwge1xuICAgICAgICAgICAgbmFtZVxuICAgICAgICAgICAgYWxpYXNcbiAgICAgICAgICAgIGNhbGxzaWduXG4gICAgICAgICAgICBpYXRhXG4gICAgICAgICAgICBpY2FvXG4gICAgICAgICAgICBsb2dvXG4gICAgICAgICAgICBiYW5uZXJcbiAgICAgICAgICAgIHBvcHVsYXJpdHlcbiAgICAgICAgICB9XG4gICAgICAgICAgbWFya2V0aW5nRmxpZ2h0TnVtYmVyXG4gICAgICAgICAgb3BlcmF0aW5nQ2FycmllclxuICAgICAgICAgIG9wZXJhdGluZ0NhcnJpZXJOYW1lXG4gICAgICAgICAgb3BlcmF0aW5nQ2FycmllckRldGFpbCB7XG4gICAgICAgICAgICBuYW1lXG4gICAgICAgICAgICBhbGlhc1xuICAgICAgICAgICAgY2FsbHNpZ25cbiAgICAgICAgICAgIGlhdGFcbiAgICAgICAgICAgIGljYW9cbiAgICAgICAgICAgIGxvZ29cbiAgICAgICAgICAgIGJhbm5lclxuICAgICAgICAgICAgcG9wdWxhcml0eVxuICAgICAgICAgIH1cbiAgICAgICAgICBvcGVyYXRpbmdGbGlnaHROdW1iZXJcbiAgICAgICAgICBlcXVpcG1lbnRDb2RlXG4gICAgICAgICAgZXF1aXBtZW50TmFtZVxuICAgICAgICAgIHRvdGFsRHVyYXRpb25cbiAgICAgICAgICBjYWJpbkNsYXNzXG4gICAgICAgICAgbWFya2V0aW5nTmFtZXNcbiAgICAgICAgICBmYXJlQ29uZGl0aW9ucyB7XG4gICAgICAgICAgICBjYW5jZWxsYXRpb24ge1xuICAgICAgICAgICAgICBuYW1lXG4gICAgICAgICAgICAgIHR5cGVcbiAgICAgICAgICAgICAgY3VycmVuY3lcbiAgICAgICAgICAgICAgYW1vdW50XG4gICAgICAgICAgICAgIHJlbWFya1xuICAgICAgICAgICAgICBjaGFuZ2VGZWVJbmRcbiAgICAgICAgICAgICAgY2FuY2VsRmVlSW5kXG4gICAgICAgICAgICAgIHJlZnVuZGFibGVJbmRcbiAgICAgICAgICAgIH1cbiAgICAgICAgICAgIGNoYW5nZSB7XG4gICAgICAgICAgICAgIG5hbWVcbiAgICAgICAgICAgICAgdHlwZVxuICAgICAgICAgICAgICBjdXJyZW5jeVxuICAgICAgICAgICAgICBhbW91bnRcbiAgICAgICAgICAgICAgcmVtYXJrXG4gICAgICAgICAgICAgIGNoYW5nZUZlZUluZFxuICAgICAgICAgICAgICBjYW5jZWxGZWVJbmRcbiAgICAgICAgICAgICAgcmVmdW5kYWJsZUluZFxuICAgICAgICAgICAgfVxuICAgICAgICAgICAgbm9TaG93IHtcbiAgICAgICAgICAgICAgbmFtZVxuICAgICAgICAgICAgICB0eXBlXG4gICAgICAgICAgICAgIGN1cnJlbmN5XG4gICAgICAgICAgICAgIGFtb3VudFxuICAgICAgICAgICAgICByZW1hcmtcbiAgICAgICAgICAgICAgY2hhbmdlRmVlSW5kXG4gICAgICAgICAgICAgIGNhbmNlbEZlZUluZFxuICAgICAgICAgICAgICByZWZ1bmRhYmxlSW5kXG4gICAgICAgICAgICB9XG4gICAgICAgICAgICB1cGdyYWRlIHtcbiAgICAgICAgICAgICAgbmFtZVxuICAgICAgICAgICAgICB0eXBlXG4gICAgICAgICAgICAgIGN1cnJlbmN5XG4gICAgICAgICAgICAgIGFtb3VudFxuICAgICAgICAgICAgICByZW1hcmtcbiAgICAgICAgICAgICAgY2hhbmdlRmVlSW5kXG4gICAgICAgICAgICAgIGNhbmNlbEZlZUluZFxuICAgICAgICAgICAgICByZWZ1bmRhYmxlSW5kXG4gICAgICAgICAgICB9XG4gICAgICAgICAgICBvdGhlciB7XG4gICAgICAgICAgICAgIG5hbWVcbiAgICAgICAgICAgICAgdHlwZVxuICAgICAgICAgICAgICBjdXJyZW5jeVxuICAgICAgICAgICAgICBhbW91bnRcbiAgICAgICAgICAgICAgcmVtYXJrXG4gICAgICAgICAgICAgIGNoYW5nZUZlZUluZFxuICAgICAgICAgICAgICBjYW5jZWxGZWVJbmRcbiAgICAgICAgICAgICAgcmVmdW5kYWJsZUluZFxuICAgICAgICAgICAgfVxuICAgICAgICAgIH1cbiAgICAgICAgICB2ZW5kb3JDb2RlXG4gICAgICAgICAgc3RvcHNcbiAgICAgICAgICBib29raW5nQ29kZVxuICAgICAgICAgIG1hcnJpYWdlR3JvdXBcbiAgICAgICAgICBmYXJlQmFzaXNDb2RlXG4gICAgICAgICAgYWRkaXRpb25hbFxuICAgICAgICB9XG4gICAgICAgIG91dGJvdW5kVG90YWxEdXJhdGlvblxuICAgICAgICBvdXRib3VuZENhcmJvbkVtaXNzaW9ucyB7XG4gICAgICAgICAgYW1vdW50XG4gICAgICAgICAgdW5pdFxuICAgICAgICB9XG4gICAgICAgIGluYm91bmRUb3RhbER1cmF0aW9uXG4gICAgICAgIGluYm91bmRDYXJib25FbWlzc2lvbnMge1xuICAgICAgICAgIGFtb3VudFxuICAgICAgICAgIHVuaXRcbiAgICAgICAgfVxuICAgICAgICB0YXhlcyB7XG4gICAgICAgICAgZGVzY3JpcHRpb25cbiAgICAgICAgICBhbW91bnRcbiAgICAgICAgICBjdXJyZW5jeVxuICAgICAgICB9XG4gICAgICAgIGRpc2NvdW50cyB7XG4gICAgICAgICAgZGVzY3JpcHRpb25cbiAgICAgICAgICBhbW91bnRcbiAgICAgICAgICBjdXJyZW5jeVxuICAgICAgICB9XG4gICAgICAgIHRvdGFsIHtcbiAgICAgICAgICBwcmljZVxuICAgICAgICAgIHRheFxuICAgICAgICAgIGRpc2NvdW50XG4gICAgICAgICAgY3VycmVuY3lcbiAgICAgICAgfVxuICAgICAgICBmYXJlQ29uZGl0aW9ucyB7XG4gICAgICAgICAgY2FuY2VsbGF0aW9uIHtcbiAgICAgICAgICAgIG5hbWVcbiAgICAgICAgICAgIHR5cGVcbiAgICAgICAgICAgIGN1cnJlbmN5XG4gICAgICAgICAgICBhbW91bnRcbiAgICAgICAgICAgIHJlbWFya1xuICAgICAgICAgICAgY2hhbmdlRmVlSW5kXG4gICAgICAgICAgICBjYW5jZWxGZWVJbmRcbiAgICAgICAgICAgIHJlZnVuZGFibGVJbmRcbiAgICAgICAgICB9XG4gICAgICAgICAgY2hhbmdlIHtcbiAgICAgICAgICAgIG5hbWVcbiAgICAgICAgICAgIHR5cGVcbiAgICAgICAgICAgIGN1cnJlbmN5XG4gICAgICAgICAgICBhbW91bnRcbiAgICAgICAgICAgIHJlbWFya1xuICAgICAgICAgICAgY2hhbmdlRmVlSW5kXG4gICAgICAgICAgICBjYW5jZWxGZWVJbmRcbiAgICAgICAgICAgIHJlZnVuZGFibGVJbmRcbiAgICAgICAgICB9XG4gICAgICAgICAgbm9TaG93IHtcbiAgICAgICAgICAgIG5hbWVcbiAgICAgICAgICAgIHR5cGVcbiAgICAgICAgICAgIGN1cnJlbmN5XG4gICAgICAgICAgICBhbW91bnRcbiAgICAgICAgICAgIHJlbWFya1xuICAgICAgICAgICAgY2hhbmdlRmVlSW5kXG4gICAgICAgICAgICBjYW5jZWxGZWVJbmRcbiAgICAgICAgICAgIHJlZnVuZGFibGVJbmRcbiAgICAgICAgICB9XG4gICAgICAgICAgdXBncmFkZSB7XG4gICAgICAgICAgICBuYW1lXG4gICAgICAgICAgICB0eXBlXG4gICAgICAgICAgICBjdXJyZW5jeVxuICAgICAgICAgICAgYW1vdW50XG4gICAgICAgICAgICByZW1hcmtcbiAgICAgICAgICAgIGNoYW5nZUZlZUluZFxuICAgICAgICAgICAgY2FuY2VsRmVlSW5kXG4gICAgICAgICAgICByZWZ1bmRhYmxlSW5kXG4gICAgICAgICAgfVxuICAgICAgICAgIG90aGVyIHtcbiAgICAgICAgICAgIG5hbWVcbiAgICAgICAgICAgIHR5cGVcbiAgICAgICAgICAgIGN1cnJlbmN5XG4gICAgICAgICAgICBhbW91bnRcbiAgICAgICAgICAgIHJlbWFya1xuICAgICAgICAgICAgY2hhbmdlRmVlSW5kXG4gICAgICAgICAgICBjYW5jZWxGZWVJbmRcbiAgICAgICAgICAgIHJlZnVuZGFibGVJbmRcbiAgICAgICAgICB9XG4gICAgICAgIH1cbiAgICAgICAgYmFnZ2FnZUFsbG93YW5jZSB7XG4gICAgICAgICAgdHlwZVxuICAgICAgICAgIHF0eVxuICAgICAgICAgIG1heEtHXG4gICAgICAgICAgbWF4TEJTXG4gICAgICAgIH1cbiAgICAgICAgYWRkaXRpb25hbFxuICAgICAgICBzb3VyY2VcbiAgICAgICAgc291cmNlSWRcbiAgICAgICAgdmVyc2lvblxuICAgICAgICB0bWNQcmVmZXJyZWRcbiAgICAgICAgY29tcGFueVByZWZlcnJlZFxuICAgICAgICBvZmZpY2VQcmVmZXJyZWRcbiAgICAgICAgdG1jUHJlZmVycmVkTWVzc2FnZVxuICAgICAgICBjb21wYW55UHJlZmVycmVkTWVzc2FnZVxuICAgICAgICBvZmZpY2VQcmVmZXJyZWRNZXNzYWdlXG4gICAgICAgIHVuYXZhaWxhYmxlXG4gICAgICAgIHVuYXZhaWxhYmxlTWVzc2FnZVxuICAgICAgICBjbzJQZXJJdGVtXG4gICAgICAgIGNvMlBlclBhc3NlbmdlclxuICAgICAgfVxuICAgICAgbXVsdGkge1xuICAgICAgICBvcmRlclxuICAgICAgICBvcmlnaW5cbiAgICAgICAgZGVzdGluYXRpb25cbiAgICAgICAgcmVzdWx0cyB7XG4gICAgICAgICAgdWlkXG4gICAgICAgICAgcGFzc2VuZ2VyQ291bnRcbiAgICAgICAgICBvdXRib3VuZEZsaWdodHMge1xuICAgICAgICAgICAgZmFyZUluZm8ge1xuICAgICAgICAgICAgICB0aXRsZVxuICAgICAgICAgICAgICB0eXBlXG4gICAgICAgICAgICAgIGNvZGVcbiAgICAgICAgICAgICAgc3VwcGxpZXJDb2RlXG4gICAgICAgICAgICB9XG4gICAgICAgICAgICBvcmlnaW5BaXJwb3J0XG4gICAgICAgICAgICBvcmlnaW5UZXJtaW5hbFxuICAgICAgICAgICAgb3JpZ2luQWlycG9ydE5hbWVcbiAgICAgICAgICAgIG9yaWdpbkFpcnBvcnREZXRhaWwge1xuICAgICAgICAgICAgICBpYXRhXG4gICAgICAgICAgICAgIGljYW9cbiAgICAgICAgICAgICAgbGF0aXR1ZGVcbiAgICAgICAgICAgICAgbG9uZ2l0dWRlXG4gICAgICAgICAgICAgIGFsdGl0dWRlXG4gICAgICAgICAgICAgIHN0YXRlXG4gICAgICAgICAgICAgIGNpdHlcbiAgICAgICAgICAgICAgcm9hZFxuICAgICAgICAgICAgICBwb3B1bGFyaXR5XG4gICAgICAgICAgICAgIGFyZWFcbiAgICAgICAgICAgICAgbG9jYXRpb25cbiAgICAgICAgICAgICAgb2Zmc2V0XG4gICAgICAgICAgICAgIGFpcnBvcnROYW1lXG4gICAgICAgICAgICAgIGNvdW50cnlOYW1lXG4gICAgICAgICAgICAgIGNvdW50cnlDb2RlXG4gICAgICAgICAgICAgIHBvc3Rjb2RlXG4gICAgICAgICAgICB9XG4gICAgICAgICAgICBkZXN0aW5hdGlvbkFpcnBvcnRcbiAgICAgICAgICAgIGRlc3RpbmF0aW9uVGVybWluYWxcbiAgICAgICAgICAgIGRlc3RpbmF0aW9uQWlycG9ydE5hbWVcbiAgICAgICAgICAgIGRlc3RpbmF0aW9uQWlycG9ydERldGFpbCB7XG4gICAgICAgICAgICAgIGlhdGFcbiAgICAgICAgICAgICAgaWNhb1xuICAgICAgICAgICAgICBsYXRpdHVkZVxuICAgICAgICAgICAgICBsb25naXR1ZGVcbiAgICAgICAgICAgICAgYWx0aXR1ZGVcbiAgICAgICAgICAgICAgc3RhdGVcbiAgICAgICAgICAgICAgY2l0eVxuICAgICAgICAgICAgICByb2FkXG4gICAgICAgICAgICAgIHBvcHVsYXJpdHlcbiAgICAgICAgICAgICAgYXJlYVxuICAgICAgICAgICAgICBsb2NhdGlvblxuICAgICAgICAgICAgICBvZmZzZXRcbiAgICAgICAgICAgICAgYWlycG9ydE5hbWVcbiAgICAgICAgICAgICAgY291bnRyeU5hbWVcbiAgICAgICAgICAgICAgY291bnRyeUNvZGVcbiAgICAgICAgICAgICAgcG9zdGNvZGVcbiAgICAgICAgICAgIH1cbiAgICAgICAgICAgIGRhdGVUaW1lRGVwYXJ0aW5nXG4gICAgICAgICAgICBkYXRlVGltZURlcGFydGluZ1VUQ1xuICAgICAgICAgICAgZGF0ZVRpbWVBcnJpdmluZ1xuICAgICAgICAgICAgZGF0ZVRpbWVBcnJpdmluZ1VUQ1xuICAgICAgICAgICAgbWFya2V0aW5nQ2FycmllclxuICAgICAgICAgICAgbWFya2V0aW5nQ2Fycmllck5hbWVcbiAgICAgICAgICAgIG1hcmtldGluZ0NhcnJpZXJEZXRhaWwge1xuICAgICAgICAgICAgICBuYW1lXG4gICAgICAgICAgICAgIGFsaWFzXG4gICAgICAgICAgICAgIGNhbGxzaWduXG4gICAgICAgICAgICAgIGlhdGFcbiAgICAgICAgICAgICAgaWNhb1xuICAgICAgICAgICAgICBsb2dvXG4gICAgICAgICAgICAgIGJhbm5lclxuICAgICAgICAgICAgICBwb3B1bGFyaXR5XG4gICAgICAgICAgICB9XG4gICAgICAgICAgICBtYXJrZXRpbmdGbGlnaHROdW1iZXJcbiAgICAgICAgICAgIG9wZXJhdGluZ0NhcnJpZXJcbiAgICAgICAgICAgIG9wZXJhdGluZ0NhcnJpZXJOYW1lXG4gICAgICAgICAgICBvcGVyYXRpbmdDYXJyaWVyRGV0YWlsIHtcbiAgICAgICAgICAgICAgbmFtZVxuICAgICAgICAgICAgICBhbGlhc1xuICAgICAgICAgICAgICBjYWxsc2lnblxuICAgICAgICAgICAgICBpYXRhXG4gICAgICAgICAgICAgIGljYW9cbiAgICAgICAgICAgICAgbG9nb1xuICAgICAgICAgICAgICBiYW5uZXJcbiAgICAgICAgICAgICAgcG9wdWxhcml0eVxuICAgICAgICAgICAgfVxuICAgICAgICAgICAgb3BlcmF0aW5nRmxpZ2h0TnVtYmVyXG4gICAgICAgICAgICBlcXVpcG1lbnRDb2RlXG4gICAgICAgICAgICBlcXVpcG1lbnROYW1lXG4gICAgICAgICAgICB0b3RhbER1cmF0aW9uXG4gICAgICAgICAgICBjYWJpbkNsYXNzXG4gICAgICAgICAgICBtYXJrZXRpbmdOYW1lc1xuICAgICAgICAgICAgZmFyZUNvbmRpdGlvbnMge1xuICAgICAgICAgICAgICBjYW5jZWxsYXRpb24ge1xuICAgICAgICAgICAgICAgIG5hbWVcbiAgICAgICAgICAgICAgICB0eXBlXG4gICAgICAgICAgICAgICAgY3VycmVuY3lcbiAgICAgICAgICAgICAgICBhbW91bnRcbiAgICAgICAgICAgICAgICByZW1hcmtcbiAgICAgICAgICAgICAgICBjaGFuZ2VGZWVJbmRcbiAgICAgICAgICAgICAgICBjYW5jZWxGZWVJbmRcbiAgICAgICAgICAgICAgICByZWZ1bmRhYmxlSW5kXG4gICAgICAgICAgICAgIH1cbiAgICAgICAgICAgICAgY2hhbmdlIHtcbiAgICAgICAgICAgICAgICBuYW1lXG4gICAgICAgICAgICAgICAgdHlwZVxuICAgICAgICAgICAgICAgIGN1cnJlbmN5XG4gICAgICAgICAgICAgICAgYW1vdW50XG4gICAgICAgICAgICAgICAgcmVtYXJrXG4gICAgICAgICAgICAgICAgY2hhbmdlRmVlSW5kXG4gICAgICAgICAgICAgICAgY2FuY2VsRmVlSW5kXG4gICAgICAgICAgICAgICAgcmVmdW5kYWJsZUluZFxuICAgICAgICAgICAgICB9XG4gICAgICAgICAgICAgIG5vU2hvdyB7XG4gICAgICAgICAgICAgICAgbmFtZVxuICAgICAgICAgICAgICAgIHR5cGVcbiAgICAgICAgICAgICAgICBjdXJyZW5jeVxuICAgICAgICAgICAgICAgIGFtb3VudFxuICAgICAgICAgICAgICAgIHJlbWFya1xuICAgICAgICAgICAgICAgIGNoYW5nZUZlZUluZFxuICAgICAgICAgICAgICAgIGNhbmNlbEZlZUluZFxuICAgICAgICAgICAgICAgIHJlZnVuZGFibGVJbmRcbiAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgICB1cGdyYWRlIHtcbiAgICAgICAgICAgICAgICBuYW1lXG4gICAgICAgICAgICAgICAgdHlwZVxuICAgICAgICAgICAgICAgIGN1cnJlbmN5XG4gICAgICAgICAgICAgICAgYW1vdW50XG4gICAgICAgICAgICAgICAgcmVtYXJrXG4gICAgICAgICAgICAgICAgY2hhbmdlRmVlSW5kXG4gICAgICAgICAgICAgICAgY2FuY2VsRmVlSW5kXG4gICAgICAgICAgICAgICAgcmVmdW5kYWJsZUluZFxuICAgICAgICAgICAgICB9XG4gICAgICAgICAgICAgIG90aGVyIHtcbiAgICAgICAgICAgICAgICBuYW1lXG4gICAgICAgICAgICAgICAgdHlwZVxuICAgICAgICAgICAgICAgIGN1cnJlbmN5XG4gICAgICAgICAgICAgICAgYW1vdW50XG4gICAgICAgICAgICAgICAgcmVtYXJrXG4gICAgICAgICAgICAgICAgY2hhbmdlRmVlSW5kXG4gICAgICAgICAgICAgICAgY2FuY2VsRmVlSW5kXG4gICAgICAgICAgICAgICAgcmVmdW5kYWJsZUluZFxuICAgICAgICAgICAgICB9XG4gICAgICAgICAgICB9XG4gICAgICAgICAgICB2ZW5kb3JDb2RlXG4gICAgICAgICAgICBzdG9wc1xuICAgICAgICAgICAgYm9va2luZ0NvZGVcbiAgICAgICAgICAgIG1hcnJpYWdlR3JvdXBcbiAgICAgICAgICAgIGZhcmVCYXNpc0NvZGVcbiAgICAgICAgICAgIGFkZGl0aW9uYWxcbiAgICAgICAgICB9XG4gICAgICAgICAgaW5ib3VuZEZsaWdodHMge1xuICAgICAgICAgICAgZmFyZUluZm8ge1xuICAgICAgICAgICAgICB0aXRsZVxuICAgICAgICAgICAgICB0eXBlXG4gICAgICAgICAgICAgIGNvZGVcbiAgICAgICAgICAgICAgc3VwcGxpZXJDb2RlXG4gICAgICAgICAgICB9XG4gICAgICAgICAgICBvcmlnaW5BaXJwb3J0XG4gICAgICAgICAgICBvcmlnaW5UZXJtaW5hbFxuICAgICAgICAgICAgb3JpZ2luQWlycG9ydE5hbWVcbiAgICAgICAgICAgIG9yaWdpbkFpcnBvcnREZXRhaWwge1xuICAgICAgICAgICAgICBpYXRhXG4gICAgICAgICAgICAgIGljYW9cbiAgICAgICAgICAgICAgbGF0aXR1ZGVcbiAgICAgICAgICAgICAgbG9uZ2l0dWRlXG4gICAgICAgICAgICAgIGFsdGl0dWRlXG4gICAgICAgICAgICAgIHN0YXRlXG4gICAgICAgICAgICAgIGNpdHlcbiAgICAgICAgICAgICAgcm9hZFxuICAgICAgICAgICAgICBwb3B1bGFyaXR5XG4gICAgICAgICAgICAgIGFyZWFcbiAgICAgICAgICAgICAgbG9jYXRpb25cbiAgICAgICAgICAgICAgb2Zmc2V0XG4gICAgICAgICAgICAgIGFpcnBvcnROYW1lXG4gICAgICAgICAgICAgIGNvdW50cnlOYW1lXG4gICAgICAgICAgICAgIGNvdW50cnlDb2RlXG4gICAgICAgICAgICAgIHBvc3Rjb2RlXG4gICAgICAgICAgICB9XG4gICAgICAgICAgICBkZXN0aW5hdGlvbkFpcnBvcnRcbiAgICAgICAgICAgIGRlc3RpbmF0aW9uVGVybWluYWxcbiAgICAgICAgICAgIGRlc3RpbmF0aW9uQWlycG9ydE5hbWVcbiAgICAgICAgICAgIGRlc3RpbmF0aW9uQWlycG9ydERldGFpbCB7XG4gICAgICAgICAgICAgIGlhdGFcbiAgICAgICAgICAgICAgaWNhb1xuICAgICAgICAgICAgICBsYXRpdHVkZVxuICAgICAgICAgICAgICBsb25naXR1ZGVcbiAgICAgICAgICAgICAgYWx0aXR1ZGVcbiAgICAgICAgICAgICAgc3RhdGVcbiAgICAgICAgICAgICAgY2l0eVxuICAgICAgICAgICAgICByb2FkXG4gICAgICAgICAgICAgIHBvcHVsYXJpdHlcbiAgICAgICAgICAgICAgYXJlYVxuICAgICAgICAgICAgICBsb2NhdGlvblxuICAgICAgICAgICAgICBvZmZzZXRcbiAgICAgICAgICAgICAgYWlycG9ydE5hbWVcbiAgICAgICAgICAgICAgY291bnRyeU5hbWVcbiAgICAgICAgICAgICAgY291bnRyeUNvZGVcbiAgICAgICAgICAgICAgcG9zdGNvZGVcbiAgICAgICAgICAgIH1cbiAgICAgICAgICAgIGRhdGVUaW1lRGVwYXJ0aW5nXG4gICAgICAgICAgICBkYXRlVGltZURlcGFydGluZ1VUQ1xuICAgICAgICAgICAgZGF0ZVRpbWVBcnJpdmluZ1xuICAgICAgICAgICAgZGF0ZVRpbWVBcnJpdmluZ1VUQ1xuICAgICAgICAgICAgbWFya2V0aW5nQ2FycmllclxuICAgICAgICAgICAgbWFya2V0aW5nQ2Fycmllck5hbWVcbiAgICAgICAgICAgIG1hcmtldGluZ0NhcnJpZXJEZXRhaWwge1xuICAgICAgICAgICAgICBuYW1lXG4gICAgICAgICAgICAgIGFsaWFzXG4gICAgICAgICAgICAgIGNhbGxzaWduXG4gICAgICAgICAgICAgIGlhdGFcbiAgICAgICAgICAgICAgaWNhb1xuICAgICAgICAgICAgICBsb2dvXG4gICAgICAgICAgICAgIGJhbm5lclxuICAgICAgICAgICAgICBwb3B1bGFyaXR5XG4gICAgICAgICAgICB9XG4gICAgICAgICAgICBtYXJrZXRpbmdGbGlnaHROdW1iZXJcbiAgICAgICAgICAgIG9wZXJhdGluZ0NhcnJpZXJcbiAgICAgICAgICAgIG9wZXJhdGluZ0NhcnJpZXJOYW1lXG4gICAgICAgICAgICBvcGVyYXRpbmdDYXJyaWVyRGV0YWlsIHtcbiAgICAgICAgICAgICAgbmFtZVxuICAgICAgICAgICAgICBhbGlhc1xuICAgICAgICAgICAgICBjYWxsc2lnblxuICAgICAgICAgICAgICBpYXRhXG4gICAgICAgICAgICAgIGljYW9cbiAgICAgICAgICAgICAgbG9nb1xuICAgICAgICAgICAgICBiYW5uZXJcbiAgICAgICAgICAgICAgcG9wdWxhcml0eVxuICAgICAgICAgICAgfVxuICAgICAgICAgICAgb3BlcmF0aW5nRmxpZ2h0TnVtYmVyXG4gICAgICAgICAgICBlcXVpcG1lbnRDb2RlXG4gICAgICAgICAgICBlcXVpcG1lbnROYW1lXG4gICAgICAgICAgICB0b3RhbER1cmF0aW9uXG4gICAgICAgICAgICBjYWJpbkNsYXNzXG4gICAgICAgICAgICBtYXJrZXRpbmdOYW1lc1xuICAgICAgICAgICAgZmFyZUNvbmRpdGlvbnMge1xuICAgICAgICAgICAgICBjYW5jZWxsYXRpb24ge1xuICAgICAgICAgICAgICAgIG5hbWVcbiAgICAgICAgICAgICAgICB0eXBlXG4gICAgICAgICAgICAgICAgY3VycmVuY3lcbiAgICAgICAgICAgICAgICBhbW91bnRcbiAgICAgICAgICAgICAgICByZW1hcmtcbiAgICAgICAgICAgICAgICBjaGFuZ2VGZWVJbmRcbiAgICAgICAgICAgICAgICBjYW5jZWxGZWVJbmRcbiAgICAgICAgICAgICAgICByZWZ1bmRhYmxlSW5kXG4gICAgICAgICAgICAgIH1cbiAgICAgICAgICAgICAgY2hhbmdlIHtcbiAgICAgICAgICAgICAgICBuYW1lXG4gICAgICAgICAgICAgICAgdHlwZVxuICAgICAgICAgICAgICAgIGN1cnJlbmN5XG4gICAgICAgICAgICAgICAgYW1vdW50XG4gICAgICAgICAgICAgICAgcmVtYXJrXG4gICAgICAgICAgICAgICAgY2hhbmdlRmVlSW5kXG4gICAgICAgICAgICAgICAgY2FuY2VsRmVlSW5kXG4gICAgICAgICAgICAgICAgcmVmdW5kYWJsZUluZFxuICAgICAgICAgICAgICB9XG4gICAgICAgICAgICAgIG5vU2hvdyB7XG4gICAgICAgICAgICAgICAgbmFtZVxuICAgICAgICAgICAgICAgIHR5cGVcbiAgICAgICAgICAgICAgICBjdXJyZW5jeVxuICAgICAgICAgICAgICAgIGFtb3VudFxuICAgICAgICAgICAgICAgIHJlbWFya1xuICAgICAgICAgICAgICAgIGNoYW5nZUZlZUluZFxuICAgICAgICAgICAgICAgIGNhbmNlbEZlZUluZFxuICAgICAgICAgICAgICAgIHJlZnVuZGFibGVJbmRcbiAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgICB1cGdyYWRlIHtcbiAgICAgICAgICAgICAgICBuYW1lXG4gICAgICAgICAgICAgICAgdHlwZVxuICAgICAgICAgICAgICAgIGN1cnJlbmN5XG4gICAgICAgICAgICAgICAgYW1vdW50XG4gICAgICAgICAgICAgICAgcmVtYXJrXG4gICAgICAgICAgICAgICAgY2hhbmdlRmVlSW5kXG4gICAgICAgICAgICAgICAgY2FuY2VsRmVlSW5kXG4gICAgICAgICAgICAgICAgcmVmdW5kYWJsZUluZFxuICAgICAgICAgICAgICB9XG4gICAgICAgICAgICAgIG90aGVyIHtcbiAgICAgICAgICAgICAgICBuYW1lXG4gICAgICAgICAgICAgICAgdHlwZVxuICAgICAgICAgICAgICAgIGN1cnJlbmN5XG4gICAgICAgICAgICAgICAgYW1vdW50XG4gICAgICAgICAgICAgICAgcmVtYXJrXG4gICAgICAgICAgICAgICAgY2hhbmdlRmVlSW5kXG4gICAgICAgICAgICAgICAgY2FuY2VsRmVlSW5kXG4gICAgICAgICAgICAgICAgcmVmdW5kYWJsZUluZFxuICAgICAgICAgICAgICB9XG4gICAgICAgICAgICB9XG4gICAgICAgICAgICB2ZW5kb3JDb2RlXG4gICAgICAgICAgICBzdG9wc1xuICAgICAgICAgICAgYm9va2luZ0NvZGVcbiAgICAgICAgICAgIG1hcnJpYWdlR3JvdXBcbiAgICAgICAgICAgIGZhcmVCYXNpc0NvZGVcbiAgICAgICAgICAgIGFkZGl0aW9uYWxcbiAgICAgICAgICB9XG4gICAgICAgICAgb3V0Ym91bmRUb3RhbER1cmF0aW9uXG4gICAgICAgICAgb3V0Ym91bmRDYXJib25FbWlzc2lvbnMge1xuICAgICAgICAgICAgYW1vdW50XG4gICAgICAgICAgICB1bml0XG4gICAgICAgICAgfVxuICAgICAgICAgIGluYm91bmRUb3RhbER1cmF0aW9uXG4gICAgICAgICAgaW5ib3VuZENhcmJvbkVtaXNzaW9ucyB7XG4gICAgICAgICAgICBhbW91bnRcbiAgICAgICAgICAgIHVuaXRcbiAgICAgICAgICB9XG4gICAgICAgICAgdGF4ZXMge1xuICAgICAgICAgICAgZGVzY3JpcHRpb25cbiAgICAgICAgICAgIGFtb3VudFxuICAgICAgICAgICAgY3VycmVuY3lcbiAgICAgICAgICB9XG4gICAgICAgICAgZGlzY291bnRzIHtcbiAgICAgICAgICAgIGRlc2NyaXB0aW9uXG4gICAgICAgICAgICBhbW91bnRcbiAgICAgICAgICAgIGN1cnJlbmN5XG4gICAgICAgICAgfVxuICAgICAgICAgIHRvdGFsIHtcbiAgICAgICAgICAgIHByaWNlXG4gICAgICAgICAgICB0YXhcbiAgICAgICAgICAgIGRpc2NvdW50XG4gICAgICAgICAgICBjdXJyZW5jeVxuICAgICAgICAgIH1cbiAgICAgICAgICBmYXJlQ29uZGl0aW9ucyB7XG4gICAgICAgICAgICBjYW5jZWxsYXRpb24ge1xuICAgICAgICAgICAgICBuYW1lXG4gICAgICAgICAgICAgIHR5cGVcbiAgICAgICAgICAgICAgY3VycmVuY3lcbiAgICAgICAgICAgICAgYW1vdW50XG4gICAgICAgICAgICAgIHJlbWFya1xuICAgICAgICAgICAgICBjaGFuZ2VGZWVJbmRcbiAgICAgICAgICAgICAgY2FuY2VsRmVlSW5kXG4gICAgICAgICAgICAgIHJlZnVuZGFibGVJbmRcbiAgICAgICAgICAgIH1cbiAgICAgICAgICAgIGNoYW5nZSB7XG4gICAgICAgICAgICAgIG5hbWVcbiAgICAgICAgICAgICAgdHlwZVxuICAgICAgICAgICAgICBjdXJyZW5jeVxuICAgICAgICAgICAgICBhbW91bnRcbiAgICAgICAgICAgICAgcmVtYXJrXG4gICAgICAgICAgICAgIGNoYW5nZUZlZUluZFxuICAgICAgICAgICAgICBjYW5jZWxGZWVJbmRcbiAgICAgICAgICAgICAgcmVmdW5kYWJsZUluZFxuICAgICAgICAgICAgfVxuICAgICAgICAgICAgbm9TaG93IHtcbiAgICAgICAgICAgICAgbmFtZVxuICAgICAgICAgICAgICB0eXBlXG4gICAgICAgICAgICAgIGN1cnJlbmN5XG4gICAgICAgICAgICAgIGFtb3VudFxuICAgICAgICAgICAgICByZW1hcmtcbiAgICAgICAgICAgICAgY2hhbmdlRmVlSW5kXG4gICAgICAgICAgICAgIGNhbmNlbEZlZUluZFxuICAgICAgICAgICAgICByZWZ1bmRhYmxlSW5kXG4gICAgICAgICAgICB9XG4gICAgICAgICAgICB1cGdyYWRlIHtcbiAgICAgICAgICAgICAgbmFtZVxuICAgICAgICAgICAgICB0eXBlXG4gICAgICAgICAgICAgIGN1cnJlbmN5XG4gICAgICAgICAgICAgIGFtb3VudFxuICAgICAgICAgICAgICByZW1hcmtcbiAgICAgICAgICAgICAgY2hhbmdlRmVlSW5kXG4gICAgICAgICAgICAgIGNhbmNlbEZlZUluZFxuICAgICAgICAgICAgICByZWZ1bmRhYmxlSW5kXG4gICAgICAgICAgICB9XG4gICAgICAgICAgICBvdGhlciB7XG4gICAgICAgICAgICAgIG5hbWVcbiAgICAgICAgICAgICAgdHlwZVxuICAgICAgICAgICAgICBjdXJyZW5jeVxuICAgICAgICAgICAgICBhbW91bnRcbiAgICAgICAgICAgICAgcmVtYXJrXG4gICAgICAgICAgICAgIGNoYW5nZUZlZUluZFxuICAgICAgICAgICAgICBjYW5jZWxGZWVJbmRcbiAgICAgICAgICAgICAgcmVmdW5kYWJsZUluZFxuICAgICAgICAgICAgfVxuICAgICAgICAgIH1cbiAgICAgICAgICBiYWdnYWdlQWxsb3dhbmNlIHtcbiAgICAgICAgICAgIHR5cGVcbiAgICAgICAgICAgIHF0eVxuICAgICAgICAgICAgbWF4S0dcbiAgICAgICAgICAgIG1heExCU1xuICAgICAgICAgIH1cbiAgICAgICAgICBhZGRpdGlvbmFsXG4gICAgICAgICAgc291cmNlXG4gICAgICAgICAgc291cmNlSWRcbiAgICAgICAgICB2ZXJzaW9uXG4gICAgICAgICAgdG1jUHJlZmVycmVkXG4gICAgICAgICAgY29tcGFueVByZWZlcnJlZFxuICAgICAgICAgIG9mZmljZVByZWZlcnJlZFxuICAgICAgICAgIHRtY1ByZWZlcnJlZE1lc3NhZ2VcbiAgICAgICAgICBjb21wYW55UHJlZmVycmVkTWVzc2FnZVxuICAgICAgICAgIG9mZmljZVByZWZlcnJlZE1lc3NhZ2VcbiAgICAgICAgICB1bmF2YWlsYWJsZVxuICAgICAgICAgIHVuYXZhaWxhYmxlTWVzc2FnZVxuICAgICAgICAgIGNvMlBlckl0ZW1cbiAgICAgICAgICBjbzJQZXJQYXNzZW5nZXJcbiAgICAgICAgfVxuICAgICAgICBtaW5QcmljZVxuICAgICAgICBtYXhQcmljZVxuICAgICAgfVxuICAgICAgZ3JvdXBlZCB7XG4gICAgICAgIHJlZmVyZW5jZUlEXG4gICAgICAgIGZsaWdodElEXG4gICAgICAgIGJvdW5kSW5kaWNhdG9yXG4gICAgICAgIG1pblByaWNlXG4gICAgICAgIG1heFByaWNlXG4gICAgICAgIGZsaWdodHMge1xuICAgICAgICAgIExpdGVFY29ub215XG4gICAgICAgICAgRWNvbm9teVJlc3RyaWN0ZWRcbiAgICAgICAgICBFY29ub215Tm9CYWdzXG4gICAgICAgICAgRWNvbm9teVxuICAgICAgICAgIFByZW1pdW1FY29ub215XG4gICAgICAgICAgQnVzaW5lc3NcbiAgICAgICAgICBQcmVtaXVtQnVzaW5lc3NcbiAgICAgICAgICBGaXJzdFxuICAgICAgICAgIFByZW1pdW1GaXJzdFxuICAgICAgICB9XG4gICAgICB9XG4gICAgfVxuICAgIGVycm9ycyB7XG4gICAgICAuLi5FcnJvcnNcbiAgICB9XG4gIH1cbn1cbiAgICAke0Vycm9yc0ZyYWdtZW50RG9jfWA7XG5cbiAgQEluamVjdGFibGUoe1xuICAgIHByb3ZpZGVkSW46ICdyb290J1xuICB9KVxuICBleHBvcnQgY2xhc3MgU2VhcmNoRXVyb3N0YXJHUUwgZXh0ZW5kcyBBcG9sbG8uUXVlcnk8U2VhcmNoRXVyb3N0YXJRdWVyeSwgU2VhcmNoRXVyb3N0YXJRdWVyeVZhcmlhYmxlcz4ge1xuICAgIGRvY3VtZW50ID0gU2VhcmNoRXVyb3N0YXJEb2N1bWVudDtcbiAgICBcbiAgICBjb25zdHJ1Y3RvcihhcG9sbG86IEFwb2xsby5BcG9sbG8pIHtcbiAgICAgIHN1cGVyKGFwb2xsbyk7XG4gICAgfVxuICB9XG5leHBvcnQgY29uc3QgU2VhcmNoSG90ZWxDaGFpbnNEb2N1bWVudCA9IGdxbGBcbiAgICBxdWVyeSBzZWFyY2hIb3RlbENoYWlucygkcXVlcnk6IFN0cmluZyEpIHtcbiAgc2VhcmNoSG90ZWxDaGFpbnMocXVlcnk6ICRxdWVyeSlcbn1cbiAgICBgO1xuXG4gIEBJbmplY3RhYmxlKHtcbiAgICBwcm92aWRlZEluOiAncm9vdCdcbiAgfSlcbiAgZXhwb3J0IGNsYXNzIFNlYXJjaEhvdGVsQ2hhaW5zR1FMIGV4dGVuZHMgQXBvbGxvLlF1ZXJ5PFNlYXJjaEhvdGVsQ2hhaW5zUXVlcnksIFNlYXJjaEhvdGVsQ2hhaW5zUXVlcnlWYXJpYWJsZXM+IHtcbiAgICBkb2N1bWVudCA9IFNlYXJjaEhvdGVsQ2hhaW5zRG9jdW1lbnQ7XG4gICAgXG4gICAgY29uc3RydWN0b3IoYXBvbGxvOiBBcG9sbG8uQXBvbGxvKSB7XG4gICAgICBzdXBlcihhcG9sbG8pO1xuICAgIH1cbiAgfVxuZXhwb3J0IGNvbnN0IFNlYXJjaElybERvY3VtZW50ID0gZ3FsYFxuICAgIHF1ZXJ5IHNlYXJjaElSTCgkc3VwcGxpZXI6IElSTFN1cHBsaWVyISwgJGNvdW50cnlDb2RlOiBTdHJpbmchLCAkam91cm5leVR5cGU6IElSTEpvdXJuZXlUeXBlISwgJGNsYXNzOiBJUkxDbGFzcywgJG91dGJvdW5kRGVwYXJ0dXJlRGF0ZVRpbWU6IERhdGVUaW1lISwgJGRlcGFydHVyZUxvY2F0aW9uSWQ6IElEISwgJGFycml2YWxMb2NhdGlvbklkOiBJRCEsICRhZHVsdHM6IEludCEsICRjaGlsZHJlbjogSW50LCAkcmV0dXJuRGVwYXJ0dXJlRGF0ZVRpbWU6IERhdGVUaW1lKSB7XG4gIHNlYXJjaElSTChzdXBwbGllcjogJHN1cHBsaWVyLCBjb3VudHJ5Q29kZTogJGNvdW50cnlDb2RlLCBqb3VybmV5VHlwZTogJGpvdXJuZXlUeXBlLCBjbGFzczogJGNsYXNzLCBvdXRib3VuZERlcGFydHVyZURhdGVUaW1lOiAkb3V0Ym91bmREZXBhcnR1cmVEYXRlVGltZSwgZGVwYXJ0dXJlTG9jYXRpb25JZDogJGRlcGFydHVyZUxvY2F0aW9uSWQsIGFycml2YWxMb2NhdGlvbklkOiAkYXJyaXZhbExvY2F0aW9uSWQsIGFkdWx0czogJGFkdWx0cywgY2hpbGRyZW46ICRjaGlsZHJlbiwgcmV0dXJuRGVwYXJ0dXJlRGF0ZVRpbWU6ICRyZXR1cm5EZXBhcnR1cmVEYXRlVGltZSkge1xuICAgIHJlc3VsdHMge1xuICAgICAgc291cmNlXG4gICAgICBzb3VyY2VJZFxuICAgICAgb3V0Ym91bmQge1xuICAgICAgICBpZGVudGlmaWVycyB7XG4gICAgICAgICAgdHJhbnNhY3Rpb25JZGVudGlmaWVyXG4gICAgICAgICAgc2lnbmF0dXJlXG4gICAgICAgICAgam91cm5leUlkZW50aWZpZXJcbiAgICAgICAgICBwcm92aWRlclxuICAgICAgICAgIGZhcmVJZGVudGlmaWVyXG4gICAgICAgICAgZGlyZWN0aW9uXG4gICAgICAgICAgc2luZ2xlT3JSZXR1cm5cbiAgICAgICAgICBib29raW5nUmVmXG4gICAgICAgIH1cbiAgICAgICAgdHJhdmVsbGVycyB7XG4gICAgICAgICAgc3RhdHVzXG4gICAgICAgICAgaWRcbiAgICAgICAgICBkb2JcbiAgICAgICAgICByYWlsY2FyZFxuICAgICAgICAgIGdpdmVuTmFtZVxuICAgICAgICAgIHN1cm5hbWVcbiAgICAgICAgICBuYW1lVGl0bGVcbiAgICAgICAgICBjb250YWN0SW5mb1xuICAgICAgICAgIGRlbGl2ZXJ5RW1haWxBZGRyZXNzXG4gICAgICAgICAgZmFyZVxuICAgICAgICB9XG4gICAgICAgIGZyb21cbiAgICAgICAgZnJvbUNvZGVcbiAgICAgICAgdG9cbiAgICAgICAgdG9Db2RlXG4gICAgICAgIGRlcGFydERhdGVUaW1lXG4gICAgICAgIGFycml2ZURhdGVUaW1lXG4gICAgICAgIGNoYW5nZXNcbiAgICAgICAgc2VnbWVudHMge1xuICAgICAgICAgIGlkXG4gICAgICAgICAgb3BlcmF0b3JcbiAgICAgICAgICBkZXBhcnRcbiAgICAgICAgICBkZXBhcnREYXRlVGltZVxuICAgICAgICAgIGFycml2ZVxuICAgICAgICAgIGFycml2ZURhdGVUaW1lXG4gICAgICAgICAgcmVzZXJ2YWJsZVN0YXR1c1xuICAgICAgICAgIHNlYXRQcmVmZXJlbmNlVHlwZXMge1xuICAgICAgICAgICAgbmFtZVxuICAgICAgICAgICAgYWxsb3dlZFZhbHVlc1xuICAgICAgICAgIH1cbiAgICAgICAgICBzZWF0UHJlZmVyZW5jZUdyb3VwXG4gICAgICAgICAgc2VhdHMge1xuICAgICAgICAgICAgbG9jYXRpb25cbiAgICAgICAgICAgIGNvYWNoXG4gICAgICAgICAgICBudW1iZXJcbiAgICAgICAgICAgIGRpcmVjdGlvblxuICAgICAgICAgICAgcG9zaXRpb25cbiAgICAgICAgICAgIGRlY2tcbiAgICAgICAgICAgIHNlYXRUeXBlXG4gICAgICAgICAgICBzZWF0U2VsZWN0aW9uXG4gICAgICAgICAgICBmYWNpbGl0aWVzXG4gICAgICAgICAgICBub3RlXG4gICAgICAgICAgfVxuICAgICAgICB9XG4gICAgICAgIHByb3ZpZGVycyB7XG4gICAgICAgICAgcHJvdmlkZXJJZFxuICAgICAgICAgIG5hbWVcbiAgICAgICAgICBjaGVhcGVzdFRpY2tldCB7XG4gICAgICAgICAgICBpZGVudGlmaWVycyB7XG4gICAgICAgICAgICAgIHRyYW5zYWN0aW9uSWRlbnRpZmllclxuICAgICAgICAgICAgICBzaWduYXR1cmVcbiAgICAgICAgICAgICAgam91cm5leUlkZW50aWZpZXJcbiAgICAgICAgICAgICAgcHJvdmlkZXJcbiAgICAgICAgICAgICAgZmFyZUlkZW50aWZpZXJcbiAgICAgICAgICAgICAgZGlyZWN0aW9uXG4gICAgICAgICAgICAgIHNpbmdsZU9yUmV0dXJuXG4gICAgICAgICAgICAgIGJvb2tpbmdSZWZcbiAgICAgICAgICAgIH1cbiAgICAgICAgICAgIHR5cGVcbiAgICAgICAgICAgIGNsYXNzXG4gICAgICAgICAgICBzaW5nbGVPclJldHVyblxuICAgICAgICAgICAgcHJpY2VcbiAgICAgICAgICAgIHJlc2VydmFibGVTdGF0dXNcbiAgICAgICAgICAgIGN1cnJlbmN5XG4gICAgICAgICAgICByb3V0ZVxuICAgICAgICAgICAgcm91dGVDb2RlXG4gICAgICAgICAgICB0aWNrZXRzIHtcbiAgICAgICAgICAgICAgcHJpY2VcbiAgICAgICAgICAgICAgdHlwZVxuICAgICAgICAgICAgICByb3V0ZVxuICAgICAgICAgICAgICBzZWdtZW50cyB7XG4gICAgICAgICAgICAgICAgaWRcbiAgICAgICAgICAgICAgICBvcGVyYXRvclxuICAgICAgICAgICAgICAgIGRlcGFydFxuICAgICAgICAgICAgICAgIGRlcGFydERhdGVUaW1lXG4gICAgICAgICAgICAgICAgYXJyaXZlXG4gICAgICAgICAgICAgICAgYXJyaXZlRGF0ZVRpbWVcbiAgICAgICAgICAgICAgICByZXNlcnZhYmxlU3RhdHVzXG4gICAgICAgICAgICAgICAgc2VhdFByZWZlcmVuY2VUeXBlcyB7XG4gICAgICAgICAgICAgICAgICBuYW1lXG4gICAgICAgICAgICAgICAgICBhbGxvd2VkVmFsdWVzXG4gICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgICAgIHNlYXRQcmVmZXJlbmNlR3JvdXBcbiAgICAgICAgICAgICAgICBzZWF0cyB7XG4gICAgICAgICAgICAgICAgICBsb2NhdGlvblxuICAgICAgICAgICAgICAgICAgY29hY2hcbiAgICAgICAgICAgICAgICAgIG51bWJlclxuICAgICAgICAgICAgICAgICAgZGlyZWN0aW9uXG4gICAgICAgICAgICAgICAgICBwb3NpdGlvblxuICAgICAgICAgICAgICAgICAgZGVja1xuICAgICAgICAgICAgICAgICAgc2VhdFR5cGVcbiAgICAgICAgICAgICAgICAgIHNlYXRTZWxlY3Rpb25cbiAgICAgICAgICAgICAgICAgIGZhY2lsaXRpZXNcbiAgICAgICAgICAgICAgICAgIG5vdGVcbiAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICAgIH1cbiAgICAgICAgICAgICAgbnVtQ2hpbGRyZW5cbiAgICAgICAgICAgICAgbnVtQWR1bHRzXG4gICAgICAgICAgICB9XG4gICAgICAgICAgfVxuICAgICAgICAgIHRpY2tldE9wdGlvbnMge1xuICAgICAgICAgICAgaWRlbnRpZmllcnMge1xuICAgICAgICAgICAgICB0cmFuc2FjdGlvbklkZW50aWZpZXJcbiAgICAgICAgICAgICAgc2lnbmF0dXJlXG4gICAgICAgICAgICAgIGpvdXJuZXlJZGVudGlmaWVyXG4gICAgICAgICAgICAgIHByb3ZpZGVyXG4gICAgICAgICAgICAgIGZhcmVJZGVudGlmaWVyXG4gICAgICAgICAgICAgIGRpcmVjdGlvblxuICAgICAgICAgICAgICBzaW5nbGVPclJldHVyblxuICAgICAgICAgICAgICBib29raW5nUmVmXG4gICAgICAgICAgICB9XG4gICAgICAgICAgICB0eXBlXG4gICAgICAgICAgICBjbGFzc1xuICAgICAgICAgICAgc2luZ2xlT3JSZXR1cm5cbiAgICAgICAgICAgIHByaWNlXG4gICAgICAgICAgICByZXNlcnZhYmxlU3RhdHVzXG4gICAgICAgICAgICBjdXJyZW5jeVxuICAgICAgICAgICAgcm91dGVcbiAgICAgICAgICAgIHJvdXRlQ29kZVxuICAgICAgICAgICAgdGlja2V0cyB7XG4gICAgICAgICAgICAgIHByaWNlXG4gICAgICAgICAgICAgIHR5cGVcbiAgICAgICAgICAgICAgcm91dGVcbiAgICAgICAgICAgICAgc2VnbWVudHMge1xuICAgICAgICAgICAgICAgIGlkXG4gICAgICAgICAgICAgICAgb3BlcmF0b3JcbiAgICAgICAgICAgICAgICBkZXBhcnRcbiAgICAgICAgICAgICAgICBkZXBhcnREYXRlVGltZVxuICAgICAgICAgICAgICAgIGFycml2ZVxuICAgICAgICAgICAgICAgIGFycml2ZURhdGVUaW1lXG4gICAgICAgICAgICAgICAgcmVzZXJ2YWJsZVN0YXR1c1xuICAgICAgICAgICAgICAgIHNlYXRQcmVmZXJlbmNlVHlwZXMge1xuICAgICAgICAgICAgICAgICAgbmFtZVxuICAgICAgICAgICAgICAgICAgYWxsb3dlZFZhbHVlc1xuICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgICAgICBzZWF0UHJlZmVyZW5jZUdyb3VwXG4gICAgICAgICAgICAgICAgc2VhdHMge1xuICAgICAgICAgICAgICAgICAgbG9jYXRpb25cbiAgICAgICAgICAgICAgICAgIGNvYWNoXG4gICAgICAgICAgICAgICAgICBudW1iZXJcbiAgICAgICAgICAgICAgICAgIGRpcmVjdGlvblxuICAgICAgICAgICAgICAgICAgcG9zaXRpb25cbiAgICAgICAgICAgICAgICAgIGRlY2tcbiAgICAgICAgICAgICAgICAgIHNlYXRUeXBlXG4gICAgICAgICAgICAgICAgICBzZWF0U2VsZWN0aW9uXG4gICAgICAgICAgICAgICAgICBmYWNpbGl0aWVzXG4gICAgICAgICAgICAgICAgICBub3RlXG4gICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgICB9XG4gICAgICAgICAgICAgIG51bUNoaWxkcmVuXG4gICAgICAgICAgICAgIG51bUFkdWx0c1xuICAgICAgICAgICAgfVxuICAgICAgICAgIH1cbiAgICAgICAgICBib29rZWRUaWNrZXQge1xuICAgICAgICAgICAgaWRlbnRpZmllcnMge1xuICAgICAgICAgICAgICB0cmFuc2FjdGlvbklkZW50aWZpZXJcbiAgICAgICAgICAgICAgc2lnbmF0dXJlXG4gICAgICAgICAgICAgIGpvdXJuZXlJZGVudGlmaWVyXG4gICAgICAgICAgICAgIHByb3ZpZGVyXG4gICAgICAgICAgICAgIGZhcmVJZGVudGlmaWVyXG4gICAgICAgICAgICAgIGRpcmVjdGlvblxuICAgICAgICAgICAgICBzaW5nbGVPclJldHVyblxuICAgICAgICAgICAgICBib29raW5nUmVmXG4gICAgICAgICAgICB9XG4gICAgICAgICAgICB0eXBlXG4gICAgICAgICAgICBjbGFzc1xuICAgICAgICAgICAgc2luZ2xlT3JSZXR1cm5cbiAgICAgICAgICAgIHByaWNlXG4gICAgICAgICAgICByZXNlcnZhYmxlU3RhdHVzXG4gICAgICAgICAgICBjdXJyZW5jeVxuICAgICAgICAgICAgcm91dGVcbiAgICAgICAgICAgIHJvdXRlQ29kZVxuICAgICAgICAgICAgdGlja2V0cyB7XG4gICAgICAgICAgICAgIHByaWNlXG4gICAgICAgICAgICAgIHR5cGVcbiAgICAgICAgICAgICAgcm91dGVcbiAgICAgICAgICAgICAgc2VnbWVudHMge1xuICAgICAgICAgICAgICAgIGlkXG4gICAgICAgICAgICAgICAgb3BlcmF0b3JcbiAgICAgICAgICAgICAgICBkZXBhcnRcbiAgICAgICAgICAgICAgICBkZXBhcnREYXRlVGltZVxuICAgICAgICAgICAgICAgIGFycml2ZVxuICAgICAgICAgICAgICAgIGFycml2ZURhdGVUaW1lXG4gICAgICAgICAgICAgICAgcmVzZXJ2YWJsZVN0YXR1c1xuICAgICAgICAgICAgICAgIHNlYXRQcmVmZXJlbmNlVHlwZXMge1xuICAgICAgICAgICAgICAgICAgbmFtZVxuICAgICAgICAgICAgICAgICAgYWxsb3dlZFZhbHVlc1xuICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgICAgICBzZWF0UHJlZmVyZW5jZUdyb3VwXG4gICAgICAgICAgICAgICAgc2VhdHMge1xuICAgICAgICAgICAgICAgICAgbG9jYXRpb25cbiAgICAgICAgICAgICAgICAgIGNvYWNoXG4gICAgICAgICAgICAgICAgICBudW1iZXJcbiAgICAgICAgICAgICAgICAgIGRpcmVjdGlvblxuICAgICAgICAgICAgICAgICAgcG9zaXRpb25cbiAgICAgICAgICAgICAgICAgIGRlY2tcbiAgICAgICAgICAgICAgICAgIHNlYXRUeXBlXG4gICAgICAgICAgICAgICAgICBzZWF0U2VsZWN0aW9uXG4gICAgICAgICAgICAgICAgICBmYWNpbGl0aWVzXG4gICAgICAgICAgICAgICAgICBub3RlXG4gICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgICB9XG4gICAgICAgICAgICAgIG51bUNoaWxkcmVuXG4gICAgICAgICAgICAgIG51bUFkdWx0c1xuICAgICAgICAgICAgfVxuICAgICAgICAgIH1cbiAgICAgICAgfVxuICAgICAgICB1bnNlbGxhYmxlXG4gICAgICAgIHRpY2tldEV4dHJhcyB7XG4gICAgICAgICAgaWRlbnRpZmllcnMge1xuICAgICAgICAgICAgdHlwZVxuICAgICAgICAgICAgbG9jYXRpb25cbiAgICAgICAgICAgIGRhdGVcbiAgICAgICAgICAgIGpvdXJuZXlJZFxuICAgICAgICAgICAgaXNPcmlnaW5cbiAgICAgICAgICB9XG4gICAgICAgICAgdHlwZVxuICAgICAgICAgIGxvY2F0aW9uXG4gICAgICAgICAgZGF0ZVxuICAgICAgICAgIGRlc2NyaXB0aW9uXG4gICAgICAgICAgYW1vdW50XG4gICAgICAgICAgYWR1bHRBbW91bnRcbiAgICAgICAgICBjaGlsZEFtb3VudFxuICAgICAgICAgIGN1cnJlbmN5XG4gICAgICAgIH1cbiAgICAgICAgcGx1c0J1cyB7XG4gICAgICAgICAgb3JpZ2luUGx1c0J1c05MQ1xuICAgICAgICAgIG9yaWdpblN0YXRpb25OTENcbiAgICAgICAgICBkZXN0aW5hdGlvblBsdXNCdXNOTENcbiAgICAgICAgICBkZXN0aW5hdGlvblN0YXRpb25OTENcbiAgICAgICAgfVxuICAgICAgfVxuICAgICAgcmV0dXJuIHtcbiAgICAgICAgaWRlbnRpZmllcnMge1xuICAgICAgICAgIHRyYW5zYWN0aW9uSWRlbnRpZmllclxuICAgICAgICAgIHNpZ25hdHVyZVxuICAgICAgICAgIGpvdXJuZXlJZGVudGlmaWVyXG4gICAgICAgICAgcHJvdmlkZXJcbiAgICAgICAgICBmYXJlSWRlbnRpZmllclxuICAgICAgICAgIGRpcmVjdGlvblxuICAgICAgICAgIHNpbmdsZU9yUmV0dXJuXG4gICAgICAgICAgYm9va2luZ1JlZlxuICAgICAgICB9XG4gICAgICAgIHRyYXZlbGxlcnMge1xuICAgICAgICAgIHN0YXR1c1xuICAgICAgICAgIGlkXG4gICAgICAgICAgZG9iXG4gICAgICAgICAgcmFpbGNhcmRcbiAgICAgICAgICBnaXZlbk5hbWVcbiAgICAgICAgICBzdXJuYW1lXG4gICAgICAgICAgbmFtZVRpdGxlXG4gICAgICAgICAgY29udGFjdEluZm9cbiAgICAgICAgICBkZWxpdmVyeUVtYWlsQWRkcmVzc1xuICAgICAgICAgIGZhcmVcbiAgICAgICAgfVxuICAgICAgICBmcm9tXG4gICAgICAgIGZyb21Db2RlXG4gICAgICAgIHRvXG4gICAgICAgIHRvQ29kZVxuICAgICAgICBkZXBhcnREYXRlVGltZVxuICAgICAgICBhcnJpdmVEYXRlVGltZVxuICAgICAgICBjaGFuZ2VzXG4gICAgICAgIHNlZ21lbnRzIHtcbiAgICAgICAgICBpZFxuICAgICAgICAgIG9wZXJhdG9yXG4gICAgICAgICAgZGVwYXJ0XG4gICAgICAgICAgZGVwYXJ0RGF0ZVRpbWVcbiAgICAgICAgICBhcnJpdmVcbiAgICAgICAgICBhcnJpdmVEYXRlVGltZVxuICAgICAgICAgIHJlc2VydmFibGVTdGF0dXNcbiAgICAgICAgICBzZWF0UHJlZmVyZW5jZVR5cGVzIHtcbiAgICAgICAgICAgIG5hbWVcbiAgICAgICAgICAgIGFsbG93ZWRWYWx1ZXNcbiAgICAgICAgICB9XG4gICAgICAgICAgc2VhdFByZWZlcmVuY2VHcm91cFxuICAgICAgICAgIHNlYXRzIHtcbiAgICAgICAgICAgIGxvY2F0aW9uXG4gICAgICAgICAgICBjb2FjaFxuICAgICAgICAgICAgbnVtYmVyXG4gICAgICAgICAgICBkaXJlY3Rpb25cbiAgICAgICAgICAgIHBvc2l0aW9uXG4gICAgICAgICAgICBkZWNrXG4gICAgICAgICAgICBzZWF0VHlwZVxuICAgICAgICAgICAgc2VhdFNlbGVjdGlvblxuICAgICAgICAgICAgZmFjaWxpdGllc1xuICAgICAgICAgICAgbm90ZVxuICAgICAgICAgIH1cbiAgICAgICAgfVxuICAgICAgICBwcm92aWRlcnMge1xuICAgICAgICAgIHByb3ZpZGVySWRcbiAgICAgICAgICBuYW1lXG4gICAgICAgICAgY2hlYXBlc3RUaWNrZXQge1xuICAgICAgICAgICAgaWRlbnRpZmllcnMge1xuICAgICAgICAgICAgICB0cmFuc2FjdGlvbklkZW50aWZpZXJcbiAgICAgICAgICAgICAgc2lnbmF0dXJlXG4gICAgICAgICAgICAgIGpvdXJuZXlJZGVudGlmaWVyXG4gICAgICAgICAgICAgIHByb3ZpZGVyXG4gICAgICAgICAgICAgIGZhcmVJZGVudGlmaWVyXG4gICAgICAgICAgICAgIGRpcmVjdGlvblxuICAgICAgICAgICAgICBzaW5nbGVPclJldHVyblxuICAgICAgICAgICAgICBib29raW5nUmVmXG4gICAgICAgICAgICB9XG4gICAgICAgICAgICB0eXBlXG4gICAgICAgICAgICBjbGFzc1xuICAgICAgICAgICAgc2luZ2xlT3JSZXR1cm5cbiAgICAgICAgICAgIHByaWNlXG4gICAgICAgICAgICByZXNlcnZhYmxlU3RhdHVzXG4gICAgICAgICAgICBjdXJyZW5jeVxuICAgICAgICAgICAgcm91dGVcbiAgICAgICAgICAgIHJvdXRlQ29kZVxuICAgICAgICAgICAgdGlja2V0cyB7XG4gICAgICAgICAgICAgIHByaWNlXG4gICAgICAgICAgICAgIHR5cGVcbiAgICAgICAgICAgICAgcm91dGVcbiAgICAgICAgICAgICAgc2VnbWVudHMge1xuICAgICAgICAgICAgICAgIGlkXG4gICAgICAgICAgICAgICAgb3BlcmF0b3JcbiAgICAgICAgICAgICAgICBkZXBhcnRcbiAgICAgICAgICAgICAgICBkZXBhcnREYXRlVGltZVxuICAgICAgICAgICAgICAgIGFycml2ZVxuICAgICAgICAgICAgICAgIGFycml2ZURhdGVUaW1lXG4gICAgICAgICAgICAgICAgcmVzZXJ2YWJsZVN0YXR1c1xuICAgICAgICAgICAgICAgIHNlYXRQcmVmZXJlbmNlVHlwZXMge1xuICAgICAgICAgICAgICAgICAgbmFtZVxuICAgICAgICAgICAgICAgICAgYWxsb3dlZFZhbHVlc1xuICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgICAgICBzZWF0UHJlZmVyZW5jZUdyb3VwXG4gICAgICAgICAgICAgICAgc2VhdHMge1xuICAgICAgICAgICAgICAgICAgbG9jYXRpb25cbiAgICAgICAgICAgICAgICAgIGNvYWNoXG4gICAgICAgICAgICAgICAgICBudW1iZXJcbiAgICAgICAgICAgICAgICAgIGRpcmVjdGlvblxuICAgICAgICAgICAgICAgICAgcG9zaXRpb25cbiAgICAgICAgICAgICAgICAgIGRlY2tcbiAgICAgICAgICAgICAgICAgIHNlYXRUeXBlXG4gICAgICAgICAgICAgICAgICBzZWF0U2VsZWN0aW9uXG4gICAgICAgICAgICAgICAgICBmYWNpbGl0aWVzXG4gICAgICAgICAgICAgICAgICBub3RlXG4gICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgICB9XG4gICAgICAgICAgICAgIG51bUNoaWxkcmVuXG4gICAgICAgICAgICAgIG51bUFkdWx0c1xuICAgICAgICAgICAgfVxuICAgICAgICAgIH1cbiAgICAgICAgICB0aWNrZXRPcHRpb25zIHtcbiAgICAgICAgICAgIGlkZW50aWZpZXJzIHtcbiAgICAgICAgICAgICAgdHJhbnNhY3Rpb25JZGVudGlmaWVyXG4gICAgICAgICAgICAgIHNpZ25hdHVyZVxuICAgICAgICAgICAgICBqb3VybmV5SWRlbnRpZmllclxuICAgICAgICAgICAgICBwcm92aWRlclxuICAgICAgICAgICAgICBmYXJlSWRlbnRpZmllclxuICAgICAgICAgICAgICBkaXJlY3Rpb25cbiAgICAgICAgICAgICAgc2luZ2xlT3JSZXR1cm5cbiAgICAgICAgICAgICAgYm9va2luZ1JlZlxuICAgICAgICAgICAgfVxuICAgICAgICAgICAgdHlwZVxuICAgICAgICAgICAgY2xhc3NcbiAgICAgICAgICAgIHNpbmdsZU9yUmV0dXJuXG4gICAgICAgICAgICBwcmljZVxuICAgICAgICAgICAgcmVzZXJ2YWJsZVN0YXR1c1xuICAgICAgICAgICAgY3VycmVuY3lcbiAgICAgICAgICAgIHJvdXRlXG4gICAgICAgICAgICByb3V0ZUNvZGVcbiAgICAgICAgICAgIHRpY2tldHMge1xuICAgICAgICAgICAgICBwcmljZVxuICAgICAgICAgICAgICB0eXBlXG4gICAgICAgICAgICAgIHJvdXRlXG4gICAgICAgICAgICAgIHNlZ21lbnRzIHtcbiAgICAgICAgICAgICAgICBpZFxuICAgICAgICAgICAgICAgIG9wZXJhdG9yXG4gICAgICAgICAgICAgICAgZGVwYXJ0XG4gICAgICAgICAgICAgICAgZGVwYXJ0RGF0ZVRpbWVcbiAgICAgICAgICAgICAgICBhcnJpdmVcbiAgICAgICAgICAgICAgICBhcnJpdmVEYXRlVGltZVxuICAgICAgICAgICAgICAgIHJlc2VydmFibGVTdGF0dXNcbiAgICAgICAgICAgICAgICBzZWF0UHJlZmVyZW5jZVR5cGVzIHtcbiAgICAgICAgICAgICAgICAgIG5hbWVcbiAgICAgICAgICAgICAgICAgIGFsbG93ZWRWYWx1ZXNcbiAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICAgICAgc2VhdFByZWZlcmVuY2VHcm91cFxuICAgICAgICAgICAgICAgIHNlYXRzIHtcbiAgICAgICAgICAgICAgICAgIGxvY2F0aW9uXG4gICAgICAgICAgICAgICAgICBjb2FjaFxuICAgICAgICAgICAgICAgICAgbnVtYmVyXG4gICAgICAgICAgICAgICAgICBkaXJlY3Rpb25cbiAgICAgICAgICAgICAgICAgIHBvc2l0aW9uXG4gICAgICAgICAgICAgICAgICBkZWNrXG4gICAgICAgICAgICAgICAgICBzZWF0VHlwZVxuICAgICAgICAgICAgICAgICAgc2VhdFNlbGVjdGlvblxuICAgICAgICAgICAgICAgICAgZmFjaWxpdGllc1xuICAgICAgICAgICAgICAgICAgbm90ZVxuICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgICBudW1DaGlsZHJlblxuICAgICAgICAgICAgICBudW1BZHVsdHNcbiAgICAgICAgICAgIH1cbiAgICAgICAgICB9XG4gICAgICAgICAgYm9va2VkVGlja2V0IHtcbiAgICAgICAgICAgIGlkZW50aWZpZXJzIHtcbiAgICAgICAgICAgICAgdHJhbnNhY3Rpb25JZGVudGlmaWVyXG4gICAgICAgICAgICAgIHNpZ25hdHVyZVxuICAgICAgICAgICAgICBqb3VybmV5SWRlbnRpZmllclxuICAgICAgICAgICAgICBwcm92aWRlclxuICAgICAgICAgICAgICBmYXJlSWRlbnRpZmllclxuICAgICAgICAgICAgICBkaXJlY3Rpb25cbiAgICAgICAgICAgICAgc2luZ2xlT3JSZXR1cm5cbiAgICAgICAgICAgICAgYm9va2luZ1JlZlxuICAgICAgICAgICAgfVxuICAgICAgICAgICAgdHlwZVxuICAgICAgICAgICAgY2xhc3NcbiAgICAgICAgICAgIHNpbmdsZU9yUmV0dXJuXG4gICAgICAgICAgICBwcmljZVxuICAgICAgICAgICAgcmVzZXJ2YWJsZVN0YXR1c1xuICAgICAgICAgICAgY3VycmVuY3lcbiAgICAgICAgICAgIHJvdXRlXG4gICAgICAgICAgICByb3V0ZUNvZGVcbiAgICAgICAgICAgIHRpY2tldHMge1xuICAgICAgICAgICAgICBwcmljZVxuICAgICAgICAgICAgICB0eXBlXG4gICAgICAgICAgICAgIHJvdXRlXG4gICAgICAgICAgICAgIHNlZ21lbnRzIHtcbiAgICAgICAgICAgICAgICBpZFxuICAgICAgICAgICAgICAgIG9wZXJhdG9yXG4gICAgICAgICAgICAgICAgZGVwYXJ0XG4gICAgICAgICAgICAgICAgZGVwYXJ0RGF0ZVRpbWVcbiAgICAgICAgICAgICAgICBhcnJpdmVcbiAgICAgICAgICAgICAgICBhcnJpdmVEYXRlVGltZVxuICAgICAgICAgICAgICAgIHJlc2VydmFibGVTdGF0dXNcbiAgICAgICAgICAgICAgICBzZWF0UHJlZmVyZW5jZVR5cGVzIHtcbiAgICAgICAgICAgICAgICAgIG5hbWVcbiAgICAgICAgICAgICAgICAgIGFsbG93ZWRWYWx1ZXNcbiAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICAgICAgc2VhdFByZWZlcmVuY2VHcm91cFxuICAgICAgICAgICAgICAgIHNlYXRzIHtcbiAgICAgICAgICAgICAgICAgIGxvY2F0aW9uXG4gICAgICAgICAgICAgICAgICBjb2FjaFxuICAgICAgICAgICAgICAgICAgbnVtYmVyXG4gICAgICAgICAgICAgICAgICBkaXJlY3Rpb25cbiAgICAgICAgICAgICAgICAgIHBvc2l0aW9uXG4gICAgICAgICAgICAgICAgICBkZWNrXG4gICAgICAgICAgICAgICAgICBzZWF0VHlwZVxuICAgICAgICAgICAgICAgICAgc2VhdFNlbGVjdGlvblxuICAgICAgICAgICAgICAgICAgZmFjaWxpdGllc1xuICAgICAgICAgICAgICAgICAgbm90ZVxuICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgICBudW1DaGlsZHJlblxuICAgICAgICAgICAgICBudW1BZHVsdHNcbiAgICAgICAgICAgIH1cbiAgICAgICAgICB9XG4gICAgICAgIH1cbiAgICAgICAgdW5zZWxsYWJsZVxuICAgICAgICB0aWNrZXRFeHRyYXMge1xuICAgICAgICAgIGlkZW50aWZpZXJzIHtcbiAgICAgICAgICAgIHR5cGVcbiAgICAgICAgICAgIGxvY2F0aW9uXG4gICAgICAgICAgICBkYXRlXG4gICAgICAgICAgICBqb3VybmV5SWRcbiAgICAgICAgICAgIGlzT3JpZ2luXG4gICAgICAgICAgfVxuICAgICAgICAgIHR5cGVcbiAgICAgICAgICBsb2NhdGlvblxuICAgICAgICAgIGRhdGVcbiAgICAgICAgICBkZXNjcmlwdGlvblxuICAgICAgICAgIGFtb3VudFxuICAgICAgICAgIGFkdWx0QW1vdW50XG4gICAgICAgICAgY2hpbGRBbW91bnRcbiAgICAgICAgICBjdXJyZW5jeVxuICAgICAgICB9XG4gICAgICAgIHBsdXNCdXMge1xuICAgICAgICAgIG9yaWdpblBsdXNCdXNOTENcbiAgICAgICAgICBvcmlnaW5TdGF0aW9uTkxDXG4gICAgICAgICAgZGVzdGluYXRpb25QbHVzQnVzTkxDXG4gICAgICAgICAgZGVzdGluYXRpb25TdGF0aW9uTkxDXG4gICAgICAgIH1cbiAgICAgIH1cbiAgICB9XG4gICAgZXJyb3JzIHtcbiAgICAgIC4uLkVycm9yc1xuICAgIH1cbiAgfVxufVxuICAgICR7RXJyb3JzRnJhZ21lbnREb2N9YDtcblxuICBASW5qZWN0YWJsZSh7XG4gICAgcHJvdmlkZWRJbjogJ3Jvb3QnXG4gIH0pXG4gIGV4cG9ydCBjbGFzcyBTZWFyY2hJcmxHUUwgZXh0ZW5kcyBBcG9sbG8uUXVlcnk8U2VhcmNoSXJsUXVlcnksIFNlYXJjaElybFF1ZXJ5VmFyaWFibGVzPiB7XG4gICAgZG9jdW1lbnQgPSBTZWFyY2hJcmxEb2N1bWVudDtcbiAgICBcbiAgICBjb25zdHJ1Y3RvcihhcG9sbG86IEFwb2xsby5BcG9sbG8pIHtcbiAgICAgIHN1cGVyKGFwb2xsbyk7XG4gICAgfVxuICB9XG5leHBvcnQgY29uc3QgU2VhcmNoSXJsU3VwcGxpZXJTdGF0aW9uc0RvY3VtZW50ID0gZ3FsYFxuICAgIHF1ZXJ5IHNlYXJjaElSTFN1cHBsaWVyU3RhdGlvbnMoJHF1ZXJ5OiBTdHJpbmchLCAkc3VwcGxpZXI6IElSTFN1cHBsaWVyKSB7XG4gIHNlYXJjaElSTFN1cHBsaWVyU3RhdGlvbnMocXVlcnk6ICRxdWVyeSwgc3VwcGxpZXI6ICRzdXBwbGllcikge1xuICAgIGlkXG4gICAgbmFtZVxuICAgIHN1cHBsaWVyXG4gICAgc3RhdGlvbkNvZGVcbiAgICBubGNDb2RlXG4gICAgdHJhaW5saW5lQ29kZVxuICAgIHRyYWlubGluZVVuaXF1ZUNvZGVcbiAgICBsb2NhdGlvbkRldGFpbHMge1xuICAgICAgY29udGluZW50XG4gICAgICBjb3VudHJ5XG4gICAgICBjb3VudHJ5Q29kZVxuICAgICAgc3RhdGVcbiAgICAgIGNpdHlcbiAgICAgIGNvb3JkaW5hdGVzIHtcbiAgICAgICAgbGF0aXR1ZGVcbiAgICAgICAgbG9uZ2l0dWRlXG4gICAgICAgIGFsdGl0dWRlXG4gICAgICB9XG4gICAgICBwb3N0Y29kZVxuICAgICAgcm9hZFxuICAgICAgZ3JpZFJlZmVyZW5jZVxuICAgICAgbm9ydGhpbmdcbiAgICAgIGVhc3RpbmdcbiAgICB9XG4gIH1cbn1cbiAgICBgO1xuXG4gIEBJbmplY3RhYmxlKHtcbiAgICBwcm92aWRlZEluOiAncm9vdCdcbiAgfSlcbiAgZXhwb3J0IGNsYXNzIFNlYXJjaElybFN1cHBsaWVyU3RhdGlvbnNHUUwgZXh0ZW5kcyBBcG9sbG8uUXVlcnk8U2VhcmNoSXJsU3VwcGxpZXJTdGF0aW9uc1F1ZXJ5LCBTZWFyY2hJcmxTdXBwbGllclN0YXRpb25zUXVlcnlWYXJpYWJsZXM+IHtcbiAgICBkb2N1bWVudCA9IFNlYXJjaElybFN1cHBsaWVyU3RhdGlvbnNEb2N1bWVudDtcbiAgICBcbiAgICBjb25zdHJ1Y3RvcihhcG9sbG86IEFwb2xsby5BcG9sbG8pIHtcbiAgICAgIHN1cGVyKGFwb2xsbyk7XG4gICAgfVxuICB9XG5leHBvcnQgY29uc3QgU2VhcmNoUG9zdGNvZGVzRG9jdW1lbnQgPSBncWxgXG4gICAgcXVlcnkgc2VhcmNoUG9zdGNvZGVzKCRwb3N0Y29kZTogU3RyaW5nISkge1xuICBnZXRQb3N0Y29kZURldGFpbHMocG9zdGNvZGU6ICRwb3N0Y29kZSkge1xuICAgIHBvc3Rjb2RlXG4gICAgbGF0aXR1ZGVcbiAgICBsb25naXR1ZGVcbiAgfVxufVxuICAgIGA7XG5cbiAgQEluamVjdGFibGUoe1xuICAgIHByb3ZpZGVkSW46ICdyb290J1xuICB9KVxuICBleHBvcnQgY2xhc3MgU2VhcmNoUG9zdGNvZGVzR1FMIGV4dGVuZHMgQXBvbGxvLlF1ZXJ5PFNlYXJjaFBvc3Rjb2Rlc1F1ZXJ5LCBTZWFyY2hQb3N0Y29kZXNRdWVyeVZhcmlhYmxlcz4ge1xuICAgIGRvY3VtZW50ID0gU2VhcmNoUG9zdGNvZGVzRG9jdW1lbnQ7XG4gICAgXG4gICAgY29uc3RydWN0b3IoYXBvbGxvOiBBcG9sbG8uQXBvbGxvKSB7XG4gICAgICBzdXBlcihhcG9sbG8pO1xuICAgIH1cbiAgfVxuZXhwb3J0IGNvbnN0IFNlYXJjaFJhaWxTdGF0aW9uc0RvY3VtZW50ID0gZ3FsYFxuICAgIHF1ZXJ5IHNlYXJjaFJhaWxTdGF0aW9ucygkcXVlcnk6IFN0cmluZyEsICRjb3VudHJ5Q29kZTogU3RyaW5nKSB7XG4gIHNlYXJjaFJhaWxTdGF0aW9ucyhxdWVyeTogJHF1ZXJ5LCBjb3VudHJ5Q29kZTogJGNvdW50cnlDb2RlKSB7XG4gICAgaWRcbiAgICBuYW1lXG4gICAgc3RhdGlvbkNvZGVcbiAgICBubGNDb2RlXG4gICAgdHJhaW5saW5lQ29kZVxuICAgIHRyYWlubGluZVVuaXF1ZUNvZGVcbiAgICBsb2NhdGlvbkRldGFpbHMge1xuICAgICAgY29udGluZW50XG4gICAgICBjb3VudHJ5XG4gICAgICBjb3VudHJ5Q29kZVxuICAgICAgc3RhdGVcbiAgICAgIGNpdHlcbiAgICAgIGNvb3JkaW5hdGVzIHtcbiAgICAgICAgbGF0aXR1ZGVcbiAgICAgICAgbG9uZ2l0dWRlXG4gICAgICAgIGFsdGl0dWRlXG4gICAgICB9XG4gICAgICBwb3N0Y29kZVxuICAgICAgcm9hZFxuICAgICAgZ3JpZFJlZmVyZW5jZVxuICAgICAgbm9ydGhpbmdcbiAgICAgIGVhc3RpbmdcbiAgICB9XG4gIH1cbn1cbiAgICBgO1xuXG4gIEBJbmplY3RhYmxlKHtcbiAgICBwcm92aWRlZEluOiAncm9vdCdcbiAgfSlcbiAgZXhwb3J0IGNsYXNzIFNlYXJjaFJhaWxTdGF0aW9uc0dRTCBleHRlbmRzIEFwb2xsby5RdWVyeTxTZWFyY2hSYWlsU3RhdGlvbnNRdWVyeSwgU2VhcmNoUmFpbFN0YXRpb25zUXVlcnlWYXJpYWJsZXM+IHtcbiAgICBkb2N1bWVudCA9IFNlYXJjaFJhaWxTdGF0aW9uc0RvY3VtZW50O1xuICAgIFxuICAgIGNvbnN0cnVjdG9yKGFwb2xsbzogQXBvbGxvLkFwb2xsbykge1xuICAgICAgc3VwZXIoYXBvbGxvKTtcbiAgICB9XG4gIH1cbmV4cG9ydCBjb25zdCBTZWFyY2hVc2VyQWRkcmVzc0RvY3VtZW50ID0gZ3FsYFxuICAgIHF1ZXJ5IHNlYXJjaFVzZXJBZGRyZXNzIHtcbiAgZ2V0VXNlckFkZHJlc3NlcyB7XG4gICAgaWRcbiAgICBkZXNjcmlwdGlvblxuICAgIG51bWJlck9yTmFtZVxuICAgIHN0cmVldFxuICAgIHRvd25cbiAgICBjb3VudHlcbiAgICBwb3N0Y29kZVxuICAgIGNvdW50cnlDb2RlXG4gICAgdXNlclByaW1hcnlcbiAgICBvZmZpY2VQcmltYXJ5XG4gIH1cbn1cbiAgICBgO1xuXG4gIEBJbmplY3RhYmxlKHtcbiAgICBwcm92aWRlZEluOiAncm9vdCdcbiAgfSlcbiAgZXhwb3J0IGNsYXNzIFNlYXJjaFVzZXJBZGRyZXNzR1FMIGV4dGVuZHMgQXBvbGxvLlF1ZXJ5PFNlYXJjaFVzZXJBZGRyZXNzUXVlcnksIFNlYXJjaFVzZXJBZGRyZXNzUXVlcnlWYXJpYWJsZXM+IHtcbiAgICBkb2N1bWVudCA9IFNlYXJjaFVzZXJBZGRyZXNzRG9jdW1lbnQ7XG4gICAgXG4gICAgY29uc3RydWN0b3IoYXBvbGxvOiBBcG9sbG8uQXBvbGxvKSB7XG4gICAgICBzdXBlcihhcG9sbG8pO1xuICAgIH1cbiAgfVxuZXhwb3J0IGNvbnN0IFNldEJhc2tldEl0ZW1NaUdyb3VwRG9jdW1lbnQgPSBncWxgXG4gICAgbXV0YXRpb24gc2V0QmFza2V0SXRlbU1JR3JvdXAoJGJhc2tldEl0ZW06IElEISwgJGdyb3VwOiBTdHJpbmcsICR3aXRoU3VwcGxlbWVudGFsOiBCb29sZWFuID0gZmFsc2UpIHtcbiAgc2V0QmFza2V0SXRlbU1JR3JvdXAoYmFza2V0SXRlbTogJGJhc2tldEl0ZW0sIGdyb3VwOiAkZ3JvdXApIHtcbiAgICAuLi5CYXNrZXRGaWVsZHNcbiAgfVxufVxuICAgICR7QmFza2V0RmllbGRzRnJhZ21lbnREb2N9YDtcblxuICBASW5qZWN0YWJsZSh7XG4gICAgcHJvdmlkZWRJbjogJ3Jvb3QnXG4gIH0pXG4gIGV4cG9ydCBjbGFzcyBTZXRCYXNrZXRJdGVtTWlHcm91cEdRTCBleHRlbmRzIEFwb2xsby5NdXRhdGlvbjxTZXRCYXNrZXRJdGVtTWlHcm91cE11dGF0aW9uLCBTZXRCYXNrZXRJdGVtTWlHcm91cE11dGF0aW9uVmFyaWFibGVzPiB7XG4gICAgZG9jdW1lbnQgPSBTZXRCYXNrZXRJdGVtTWlHcm91cERvY3VtZW50O1xuICAgIFxuICAgIGNvbnN0cnVjdG9yKGFwb2xsbzogQXBvbGxvLkFwb2xsbykge1xuICAgICAgc3VwZXIoYXBvbGxvKTtcbiAgICB9XG4gIH1cbmV4cG9ydCBjb25zdCBTZXRCYXNrZXRJdGVtTGVhZFBhc3NlbmdlckRvY3VtZW50ID0gZ3FsYFxuICAgIG11dGF0aW9uIHNldEJhc2tldEl0ZW1MZWFkUGFzc2VuZ2VyKCRpZDogSUQhLCAkdXNlcjogSUQhLCAkd2l0aFN1cHBsZW1lbnRhbDogQm9vbGVhbiEpIHtcbiAgc2V0QmFza2V0SXRlbUxlYWRQYXNzZW5nZXIoaWQ6ICRpZCwgdXNlcjogJHVzZXIpIHtcbiAgICAuLi5CYXNrZXRGaWVsZHNcbiAgfVxufVxuICAgICR7QmFza2V0RmllbGRzRnJhZ21lbnREb2N9YDtcblxuICBASW5qZWN0YWJsZSh7XG4gICAgcHJvdmlkZWRJbjogJ3Jvb3QnXG4gIH0pXG4gIGV4cG9ydCBjbGFzcyBTZXRCYXNrZXRJdGVtTGVhZFBhc3NlbmdlckdRTCBleHRlbmRzIEFwb2xsby5NdXRhdGlvbjxTZXRCYXNrZXRJdGVtTGVhZFBhc3Nlbmdlck11dGF0aW9uLCBTZXRCYXNrZXRJdGVtTGVhZFBhc3Nlbmdlck11dGF0aW9uVmFyaWFibGVzPiB7XG4gICAgZG9jdW1lbnQgPSBTZXRCYXNrZXRJdGVtTGVhZFBhc3NlbmdlckRvY3VtZW50O1xuICAgIFxuICAgIGNvbnN0cnVjdG9yKGFwb2xsbzogQXBvbGxvLkFwb2xsbykge1xuICAgICAgc3VwZXIoYXBvbGxvKTtcbiAgICB9XG4gIH1cbmV4cG9ydCBjb25zdCBTZXRCYXNrZXRJdGVtTWlWYWx1ZURvY3VtZW50ID0gZ3FsYFxuICAgIG11dGF0aW9uIHNldEJhc2tldEl0ZW1NSVZhbHVlKCRtaTogSUQhLCAkbWlWYWx1ZTogSUQsICRtaUZyZWVWYWx1ZTogU3RyaW5nLCAkdXNlcjogSUQsICR3aXRoU3VwcGxlbWVudGFsOiBCb29sZWFuID0gZmFsc2UpIHtcbiAgc2V0QmFza2V0SXRlbU1JVmFsdWUobWk6ICRtaSwgbWlWYWx1ZTogJG1pVmFsdWUsIG1pRnJlZVZhbHVlOiAkbWlGcmVlVmFsdWUsIHVzZXI6ICR1c2VyKSB7XG4gICAgLi4uQmFza2V0RmllbGRzXG4gIH1cbn1cbiAgICAke0Jhc2tldEZpZWxkc0ZyYWdtZW50RG9jfWA7XG5cbiAgQEluamVjdGFibGUoe1xuICAgIHByb3ZpZGVkSW46ICdyb290J1xuICB9KVxuICBleHBvcnQgY2xhc3MgU2V0QmFza2V0SXRlbU1pVmFsdWVHUUwgZXh0ZW5kcyBBcG9sbG8uTXV0YXRpb248U2V0QmFza2V0SXRlbU1pVmFsdWVNdXRhdGlvbiwgU2V0QmFza2V0SXRlbU1pVmFsdWVNdXRhdGlvblZhcmlhYmxlcz4ge1xuICAgIGRvY3VtZW50ID0gU2V0QmFza2V0SXRlbU1pVmFsdWVEb2N1bWVudDtcbiAgICBcbiAgICBjb25zdHJ1Y3RvcihhcG9sbG86IEFwb2xsby5BcG9sbG8pIHtcbiAgICAgIHN1cGVyKGFwb2xsbyk7XG4gICAgfVxuICB9XG5leHBvcnQgY29uc3QgU2V0QmFza2V0SXRlbVBheW1lbnRNZXRob2REb2N1bWVudCA9IGdxbGBcbiAgICBtdXRhdGlvbiBzZXRCYXNrZXRJdGVtUGF5bWVudE1ldGhvZCgkYmFza2V0SXRlbTogSUQhLCAkcGF5bWVudE1ldGhvZDogSUQhLCAkd2l0aFN1cHBsZW1lbnRhbDogQm9vbGVhbiA9IGZhbHNlKSB7XG4gIHNldEJhc2tldEl0ZW1QYXltZW50TWV0aG9kKGJhc2tldEl0ZW06ICRiYXNrZXRJdGVtLCBwYXltZW50TWV0aG9kOiAkcGF5bWVudE1ldGhvZCkge1xuICAgIC4uLkJhc2tldEZpZWxkc1xuICB9XG59XG4gICAgJHtCYXNrZXRGaWVsZHNGcmFnbWVudERvY31gO1xuXG4gIEBJbmplY3RhYmxlKHtcbiAgICBwcm92aWRlZEluOiAncm9vdCdcbiAgfSlcbiAgZXhwb3J0IGNsYXNzIFNldEJhc2tldEl0ZW1QYXltZW50TWV0aG9kR1FMIGV4dGVuZHMgQXBvbGxvLk11dGF0aW9uPFNldEJhc2tldEl0ZW1QYXltZW50TWV0aG9kTXV0YXRpb24sIFNldEJhc2tldEl0ZW1QYXltZW50TWV0aG9kTXV0YXRpb25WYXJpYWJsZXM+IHtcbiAgICBkb2N1bWVudCA9IFNldEJhc2tldEl0ZW1QYXltZW50TWV0aG9kRG9jdW1lbnQ7XG4gICAgXG4gICAgY29uc3RydWN0b3IoYXBvbGxvOiBBcG9sbG8uQXBvbGxvKSB7XG4gICAgICBzdXBlcihhcG9sbG8pO1xuICAgIH1cbiAgfVxuZXhwb3J0IGNvbnN0IFVwZGF0ZUJhc2tldE5vdGVzRG9jdW1lbnQgPSBncWxgXG4gICAgbXV0YXRpb24gdXBkYXRlQmFza2V0Tm90ZXMoJGlkOiBJRCwgJHJlZmVyZW5jZTogU3RyaW5nLCAkbm90ZXM6IFN0cmluZyEsICR3aXRoU3VwcGxlbWVudGFsOiBCb29sZWFuID0gZmFsc2UpIHtcbiAgdXBkYXRlQmFza2V0Tm90ZXMoaWQ6ICRpZCwgcmVmZXJlbmNlOiAkcmVmZXJlbmNlLCBub3RlczogJG5vdGVzKSB7XG4gICAgLi4uQmFza2V0RmllbGRzXG4gIH1cbn1cbiAgICAke0Jhc2tldEZpZWxkc0ZyYWdtZW50RG9jfWA7XG5cbiAgQEluamVjdGFibGUoe1xuICAgIHByb3ZpZGVkSW46ICdyb290J1xuICB9KVxuICBleHBvcnQgY2xhc3MgVXBkYXRlQmFza2V0Tm90ZXNHUUwgZXh0ZW5kcyBBcG9sbG8uTXV0YXRpb248VXBkYXRlQmFza2V0Tm90ZXNNdXRhdGlvbiwgVXBkYXRlQmFza2V0Tm90ZXNNdXRhdGlvblZhcmlhYmxlcz4ge1xuICAgIGRvY3VtZW50ID0gVXBkYXRlQmFza2V0Tm90ZXNEb2N1bWVudDtcbiAgICBcbiAgICBjb25zdHJ1Y3RvcihhcG9sbG86IEFwb2xsby5BcG9sbG8pIHtcbiAgICAgIHN1cGVyKGFwb2xsbyk7XG4gICAgfVxuICB9XG5leHBvcnQgY29uc3QgVXBkYXRlQmFza2V0VGl0bGVEb2N1bWVudCA9IGdxbGBcbiAgICBtdXRhdGlvbiB1cGRhdGVCYXNrZXRUaXRsZSgkaWQ6IElELCAkcmVmZXJlbmNlOiBTdHJpbmcsICRuZXdUaXRsZTogU3RyaW5nISwgJHdpdGhTdXBwbGVtZW50YWw6IEJvb2xlYW4gPSBmYWxzZSkge1xuICB1cGRhdGVCYXNrZXRUaXRsZShpZDogJGlkLCByZWZlcmVuY2U6ICRyZWZlcmVuY2UsIG5ld1RpdGxlOiAkbmV3VGl0bGUpIHtcbiAgICAuLi5CYXNrZXRGaWVsZHNcbiAgfVxufVxuICAgICR7QmFza2V0RmllbGRzRnJhZ21lbnREb2N9YDtcblxuICBASW5qZWN0YWJsZSh7XG4gICAgcHJvdmlkZWRJbjogJ3Jvb3QnXG4gIH0pXG4gIGV4cG9ydCBjbGFzcyBVcGRhdGVCYXNrZXRUaXRsZUdRTCBleHRlbmRzIEFwb2xsby5NdXRhdGlvbjxVcGRhdGVCYXNrZXRUaXRsZU11dGF0aW9uLCBVcGRhdGVCYXNrZXRUaXRsZU11dGF0aW9uVmFyaWFibGVzPiB7XG4gICAgZG9jdW1lbnQgPSBVcGRhdGVCYXNrZXRUaXRsZURvY3VtZW50O1xuICAgIFxuICAgIGNvbnN0cnVjdG9yKGFwb2xsbzogQXBvbGxvLkFwb2xsbykge1xuICAgICAgc3VwZXIoYXBvbGxvKTtcbiAgICB9XG4gIH1cbmV4cG9ydCBjb25zdCBHZXRVc2VyU2VydmljZXNEb2N1bWVudCA9IGdxbGBcbiAgICBxdWVyeSBnZXRVc2VyU2VydmljZXMge1xuICBnZXRVc2VyU2VydmljZXMge1xuICAgIGlkXG4gICAgY2FuY2VsbGFibGVcbiAgICBhbWVuZGFibGVcbiAgICB0eXBlXG4gICAgbmFtZVxuICAgIGRlc2NyaXB0aW9uXG4gICAgZGV0YWlsU2NoZW1hXG4gICAgc2VhcmNoUXVlcnlTY2hlbWFcbiAgfVxufVxuICAgIGA7XG5cbiAgQEluamVjdGFibGUoe1xuICAgIHByb3ZpZGVkSW46ICdyb290J1xuICB9KVxuICBleHBvcnQgY2xhc3MgR2V0VXNlclNlcnZpY2VzR1FMIGV4dGVuZHMgQXBvbGxvLlF1ZXJ5PEdldFVzZXJTZXJ2aWNlc1F1ZXJ5LCBHZXRVc2VyU2VydmljZXNRdWVyeVZhcmlhYmxlcz4ge1xuICAgIGRvY3VtZW50ID0gR2V0VXNlclNlcnZpY2VzRG9jdW1lbnQ7XG4gICAgXG4gICAgY29uc3RydWN0b3IoYXBvbGxvOiBBcG9sbG8uQXBvbGxvKSB7XG4gICAgICBzdXBlcihhcG9sbG8pO1xuICAgIH1cbiAgfVxuZXhwb3J0IGNvbnN0IEdldFVzZXJVaUNvbmZpZ3NEb2N1bWVudCA9IGdxbGBcbiAgICBxdWVyeSBnZXRVc2VyVUlDb25maWdzIHtcbiAgZ2V0VXNlclVJQ29uZmlncyB7XG4gICAgYWxsIHtcbiAgICAgIGlkXG4gICAgICBjb25maWdcbiAgICAgIGtleVxuICAgIH1cbiAgfVxufVxuICAgIGA7XG5cbiAgQEluamVjdGFibGUoe1xuICAgIHByb3ZpZGVkSW46ICdyb290J1xuICB9KVxuICBleHBvcnQgY2xhc3MgR2V0VXNlclVpQ29uZmlnc0dRTCBleHRlbmRzIEFwb2xsby5RdWVyeTxHZXRVc2VyVWlDb25maWdzUXVlcnksIEdldFVzZXJVaUNvbmZpZ3NRdWVyeVZhcmlhYmxlcz4ge1xuICAgIGRvY3VtZW50ID0gR2V0VXNlclVpQ29uZmlnc0RvY3VtZW50O1xuICAgIFxuICAgIGNvbnN0cnVjdG9yKGFwb2xsbzogQXBvbGxvLkFwb2xsbykge1xuICAgICAgc3VwZXIoYXBvbGxvKTtcbiAgICB9XG4gIH1cbmV4cG9ydCBjb25zdCBHZXRVc2VyTWVzc2FnZXNEb2N1bWVudCA9IGdxbGBcbiAgICBxdWVyeSBnZXRVc2VyTWVzc2FnZXMge1xuICBnZXRVc2VyTWVzc2FnZXMge1xuICAgIGlkXG4gICAgbmFtZVxuICAgIGRlc2NyaXB0aW9uXG4gICAgY29uZmlnXG4gICAgdGFyZ2V0XG4gICAga2V5XG4gIH1cbn1cbiAgICBgO1xuXG4gIEBJbmplY3RhYmxlKHtcbiAgICBwcm92aWRlZEluOiAncm9vdCdcbiAgfSlcbiAgZXhwb3J0IGNsYXNzIEdldFVzZXJNZXNzYWdlc0dRTCBleHRlbmRzIEFwb2xsby5RdWVyeTxHZXRVc2VyTWVzc2FnZXNRdWVyeSwgR2V0VXNlck1lc3NhZ2VzUXVlcnlWYXJpYWJsZXM+IHtcbiAgICBkb2N1bWVudCA9IEdldFVzZXJNZXNzYWdlc0RvY3VtZW50O1xuICAgIFxuICAgIGNvbnN0cnVjdG9yKGFwb2xsbzogQXBvbGxvLkFwb2xsbykge1xuICAgICAgc3VwZXIoYXBvbGxvKTtcbiAgICB9XG4gIH1cbmV4cG9ydCBjb25zdCBHZXRVc2VyUGhvbmVOdW1iZXJzRG9jdW1lbnQgPSBncWxgXG4gICAgcXVlcnkgZ2V0VXNlclBob25lTnVtYmVycyB7XG4gIGdldFVzZXJQaG9uZU51bWJlcnMge1xuICAgIGlkXG4gICAgZGVzY3JpcHRpb25cbiAgICBjb3VudHJ5Q29kZVxuICAgIGFyZWFDb2RlXG4gICAgbnVtYmVyXG4gICAgZXh0ZW5zaW9uXG4gICAgdHlwZVxuICAgIG9mZmljZVByaW1hcnlcbiAgICB1c2VyUHJpbWFyeVxuICB9XG59XG4gICAgYDtcblxuICBASW5qZWN0YWJsZSh7XG4gICAgcHJvdmlkZWRJbjogJ3Jvb3QnXG4gIH0pXG4gIGV4cG9ydCBjbGFzcyBHZXRVc2VyUGhvbmVOdW1iZXJzR1FMIGV4dGVuZHMgQXBvbGxvLlF1ZXJ5PEdldFVzZXJQaG9uZU51bWJlcnNRdWVyeSwgR2V0VXNlclBob25lTnVtYmVyc1F1ZXJ5VmFyaWFibGVzPiB7XG4gICAgZG9jdW1lbnQgPSBHZXRVc2VyUGhvbmVOdW1iZXJzRG9jdW1lbnQ7XG4gICAgXG4gICAgY29uc3RydWN0b3IoYXBvbGxvOiBBcG9sbG8uQXBvbGxvKSB7XG4gICAgICBzdXBlcihhcG9sbG8pO1xuICAgIH1cbiAgfVxuZXhwb3J0IGNvbnN0IFNldFVzZXJMYW5ndWFnZURvY3VtZW50ID0gZ3FsYFxuICAgIG11dGF0aW9uIHNldFVzZXJMYW5ndWFnZSgkbGFuZ3VhZ2U6IElEKSB7XG4gIHNldFVzZXJMYW5ndWFnZShsYW5ndWFnZTogJGxhbmd1YWdlKSB7XG4gICAgaWRcbiAgICBzZWxlY3RlZExhbmd1YWdlIHtcbiAgICAgIGlkXG4gICAgICBuYW1lXG4gICAgfVxuICB9XG59XG4gICAgYDtcblxuICBASW5qZWN0YWJsZSh7XG4gICAgcHJvdmlkZWRJbjogJ3Jvb3QnXG4gIH0pXG4gIGV4cG9ydCBjbGFzcyBTZXRVc2VyTGFuZ3VhZ2VHUUwgZXh0ZW5kcyBBcG9sbG8uTXV0YXRpb248U2V0VXNlckxhbmd1YWdlTXV0YXRpb24sIFNldFVzZXJMYW5ndWFnZU11dGF0aW9uVmFyaWFibGVzPiB7XG4gICAgZG9jdW1lbnQgPSBTZXRVc2VyTGFuZ3VhZ2VEb2N1bWVudDtcbiAgICBcbiAgICBjb25zdHJ1Y3RvcihhcG9sbG86IEFwb2xsby5BcG9sbG8pIHtcbiAgICAgIHN1cGVyKGFwb2xsbyk7XG4gICAgfVxuICB9XG5leHBvcnQgY29uc3QgR2V0VXNlckRvY3VtZW50ID0gZ3FsYFxuICAgIHF1ZXJ5IGdldFVzZXIoJGlkOiBJRCkge1xuICBnZXRVc2VyKGlkOiAkaWQpIHtcbiAgICAuLi5Vc2VyRmllbGRzXG4gIH1cbn1cbiAgICAke1VzZXJGaWVsZHNGcmFnbWVudERvY31gO1xuXG4gIEBJbmplY3RhYmxlKHtcbiAgICBwcm92aWRlZEluOiAncm9vdCdcbiAgfSlcbiAgZXhwb3J0IGNsYXNzIEdldFVzZXJHUUwgZXh0ZW5kcyBBcG9sbG8uUXVlcnk8R2V0VXNlclF1ZXJ5LCBHZXRVc2VyUXVlcnlWYXJpYWJsZXM+IHtcbiAgICBkb2N1bWVudCA9IEdldFVzZXJEb2N1bWVudDtcbiAgICBcbiAgICBjb25zdHJ1Y3RvcihhcG9sbG86IEFwb2xsby5BcG9sbG8pIHtcbiAgICAgIHN1cGVyKGFwb2xsbyk7XG4gICAgfVxuICB9XG5leHBvcnQgY29uc3QgU2VhcmNoVXNlckNhbkJvb2tGb3JEb2N1bWVudCA9IGdxbGBcbiAgICBxdWVyeSBzZWFyY2hVc2VyQ2FuQm9va0ZvcigkZW1haWw6IFN0cmluZywgJHVzZXJOYW1lOiBTdHJpbmcsICRlbXBsb3llZUlkOiBTdHJpbmcpIHtcbiAgc2VhcmNoVXNlckNhbkJvb2tGb3IoZW1haWw6ICRlbWFpbCwgdXNlck5hbWU6ICR1c2VyTmFtZSwgZW1wbG95ZWVJZDogJGVtcGxveWVlSWQpIHtcbiAgICBpZFxuICAgIGZvcmVuYW1lXG4gICAgc3VybmFtZVxuICAgIGVtYWlsXG4gIH1cbn1cbiAgICBgO1xuXG4gIEBJbmplY3RhYmxlKHtcbiAgICBwcm92aWRlZEluOiAncm9vdCdcbiAgfSlcbiAgZXhwb3J0IGNsYXNzIFNlYXJjaFVzZXJDYW5Cb29rRm9yR1FMIGV4dGVuZHMgQXBvbGxvLlF1ZXJ5PFNlYXJjaFVzZXJDYW5Cb29rRm9yUXVlcnksIFNlYXJjaFVzZXJDYW5Cb29rRm9yUXVlcnlWYXJpYWJsZXM+IHtcbiAgICBkb2N1bWVudCA9IFNlYXJjaFVzZXJDYW5Cb29rRm9yRG9jdW1lbnQ7XG4gICAgXG4gICAgY29uc3RydWN0b3IoYXBvbGxvOiBBcG9sbG8uQXBvbGxvKSB7XG4gICAgICBzdXBlcihhcG9sbG8pO1xuICAgIH1cbiAgfVxuZXhwb3J0IGNvbnN0IFZhbGlkYXRlVXNlck1pRnJlZVZhbHVlRG9jdW1lbnQgPSBncWxgXG4gICAgcXVlcnkgdmFsaWRhdGVVc2VyTUlGcmVlVmFsdWUoJG1pOiBJRCEsICRmcmVlVmFsdWU6IFN0cmluZyEpIHtcbiAgdmFsaWRhdGVVc2VyTUlGcmVlVmFsdWUobWk6ICRtaSwgZnJlZVZhbHVlOiAkZnJlZVZhbHVlKVxufVxuICAgIGA7XG5cbiAgQEluamVjdGFibGUoe1xuICAgIHByb3ZpZGVkSW46ICdyb290J1xuICB9KVxuICBleHBvcnQgY2xhc3MgVmFsaWRhdGVVc2VyTWlGcmVlVmFsdWVHUUwgZXh0ZW5kcyBBcG9sbG8uUXVlcnk8VmFsaWRhdGVVc2VyTWlGcmVlVmFsdWVRdWVyeSwgVmFsaWRhdGVVc2VyTWlGcmVlVmFsdWVRdWVyeVZhcmlhYmxlcz4ge1xuICAgIGRvY3VtZW50ID0gVmFsaWRhdGVVc2VyTWlGcmVlVmFsdWVEb2N1bWVudDtcbiAgICBcbiAgICBjb25zdHJ1Y3RvcihhcG9sbG86IEFwb2xsby5BcG9sbG8pIHtcbiAgICAgIHN1cGVyKGFwb2xsbyk7XG4gICAgfVxuICB9Il19
|