tango-app-ui-analyse-traffic 3.4.0-beta.78 → 3.4.0-beta.79
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/esm2022/lib/components/traffic-analysis/traffic-analysis.component.mjs +20 -13
- package/fesm2022/tango-app-ui-analyse-traffic.mjs +19 -12
- package/fesm2022/tango-app-ui-analyse-traffic.mjs.map +1 -1
- package/lib/components/traffic-analysis/traffic-analysis.component.d.ts +1 -0
- package/package.json +1 -1
|
@@ -2561,10 +2561,12 @@ line-height: 13px;">
|
|
|
2561
2561
|
buyersNoData = false;
|
|
2562
2562
|
buyersloading = false;
|
|
2563
2563
|
datasetsCard = [];
|
|
2564
|
+
processTypeNew;
|
|
2564
2565
|
selectedTabs(type) {
|
|
2565
2566
|
this.detailedCharts = false;
|
|
2566
2567
|
this.selectedTab = type;
|
|
2567
2568
|
this.objDataTraffic.processType = type;
|
|
2569
|
+
this.processTypeNew = type;
|
|
2568
2570
|
this.objDataTraffic.valueType = this.valueType;
|
|
2569
2571
|
this.objDataTraffic.storeId = this.headerData.stores.filter((store) => store.checked).map((store) => store.storeId);
|
|
2570
2572
|
if (this.selectedTab === 'traffic') {
|
|
@@ -2782,18 +2784,23 @@ line-height: 13px;">
|
|
|
2782
2784
|
value: Number(item.count),
|
|
2783
2785
|
storeId: item.storeId
|
|
2784
2786
|
}));
|
|
2785
|
-
if (this.
|
|
2786
|
-
this.objDataTraffic.processType
|
|
2787
|
-
|
|
2788
|
-
|
|
2789
|
-
this.objDataTraffic.processType
|
|
2790
|
-
|
|
2791
|
-
|
|
2792
|
-
this.
|
|
2793
|
-
|
|
2787
|
+
if (this.headerData.client === '452') {
|
|
2788
|
+
if (this.objDataTraffic.processType === "conversion") {
|
|
2789
|
+
this.processTypeNew = this.headerData?.client === '452' ? `More than ${this.featureConfig?.conversion.value} mins ` : 'Conversion';
|
|
2790
|
+
}
|
|
2791
|
+
if (this.objDataTraffic.processType === "engagers") {
|
|
2792
|
+
this.processTypeNew = this.headerData?.client === '452' ? `More than ${this.featureConfig?.bouncedLimit.value} mins` : 'Engagers';
|
|
2793
|
+
}
|
|
2794
|
+
if (this.objDataTraffic.processType === "bounced") {
|
|
2795
|
+
this.footfallValue = "bounced";
|
|
2796
|
+
this.processTypeNew = this.headerData?.client === '452' ? `Less than ${this.featureConfig?.bouncedLimit.value} mins` : 'Bounced';
|
|
2797
|
+
}
|
|
2798
|
+
if (this.objDataTraffic.processType === "missedOpportunity") {
|
|
2799
|
+
this.processTypeNew = this.headerData?.client === '452' ? `${this.featureConfig?.missedOpportunityFrom.value}-${this.featureConfig?.missedOpportunityTo.value} mins` : 'Missed Opportunity';
|
|
2800
|
+
}
|
|
2794
2801
|
}
|
|
2795
|
-
|
|
2796
|
-
this.
|
|
2802
|
+
else {
|
|
2803
|
+
this.processTypeNew = this.objDataTraffic.processType;
|
|
2797
2804
|
}
|
|
2798
2805
|
// Create series
|
|
2799
2806
|
this.series = this.chart.series.push(am5xy.ColumnSeries.new(this.root, {
|
|
@@ -2803,7 +2810,7 @@ line-height: 13px;">
|
|
|
2803
2810
|
valueYField: "value",
|
|
2804
2811
|
categoryXField: "storeName",
|
|
2805
2812
|
tooltip: am5.Tooltip.new(this.root, {
|
|
2806
|
-
labelText: `${(this.
|
|
2813
|
+
labelText: `${(this.processTypeNew)}, {fullStoreName}: {valueY}`,
|
|
2807
2814
|
}),
|
|
2808
2815
|
}));
|
|
2809
2816
|
xAxis.data.setAll(data);
|
|
@@ -3858,4 +3865,4 @@ function getDaysBetweenDates(fromDate, toDate) {
|
|
|
3858
3865
|
const differenceInDays = Math.floor(differenceInMs / millisecondsPerDay);
|
|
3859
3866
|
return differenceInDays;
|
|
3860
3867
|
}
|
|
3861
|
-
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidHJhZmZpYy1hbmFseXNpcy5jb21wb25lbnQuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy90YW5nby1hbmFseXNlLXRyYWZmaWMvc3JjL2xpYi9jb21wb25lbnRzL3RyYWZmaWMtYW5hbHlzaXMvdHJhZmZpYy1hbmFseXNpcy5jb21wb25lbnQudHMiLCIuLi8uLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy90YW5nby1hbmFseXNlLXRyYWZmaWMvc3JjL2xpYi9jb21wb25lbnRzL3RyYWZmaWMtYW5hbHlzaXMvdHJhZmZpYy1hbmFseXNpcy5jb21wb25lbnQuaHRtbCJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQ0wsU0FBUyxFQU1ULFNBQVMsRUFFVCxZQUFZLEVBQ2IsTUFBTSxlQUFlLENBQUM7QUFDdkIsT0FBTyxLQUFLLEdBQUcsTUFBTSxxQkFBcUIsQ0FBQztBQUMzQyxPQUFPLEtBQUssS0FBSyxNQUFNLHdCQUF3QixDQUFDO0FBQ2hELE9BQU8sa0JBQWtCLE1BQU0scUNBQXFDLENBQUM7QUFDckUsT0FBTyxvQkFBb0IsTUFBTSx1Q0FBdUMsQ0FBQztBQUN6RSxPQUFPLEtBQUssVUFBVSxNQUFNLDZCQUE2QixDQUFDO0FBRTFELE9BQU8sRUFBRSxPQUFPLEVBQWdCLFNBQVMsRUFBVSxNQUFNLE1BQU0sQ0FBQztBQUdoRSxPQUFPLEVBQUUsWUFBWSxFQUFFLE1BQU0sZ0JBQWdCLENBQUM7QUFHOUMsT0FBTyxLQUFLLFFBQVEsTUFBTSxXQUFXLENBQUM7QUFFdEMsT0FBTyxFQUFFLGlCQUFpQixFQUFFLE1BQU0sa0NBQWtDLENBQUM7QUFDckUsT0FBTyxLQUFLLFNBQVMsTUFBTSxXQUFXLENBQUM7QUFDdkMsT0FBTyxFQUFlLFdBQVcsRUFBRSxNQUFNLGdCQUFnQixDQUFDO0FBQzFELE9BQU8sS0FBSyxNQUFNLE9BQU8sQ0FBQzs7Ozs7Ozs7Ozs7O0FBTzFCLE1BQU0sT0FBTyx3QkFB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QyxDQUFDO0lBQ2pDLE1BQU0sR0FBRyxHQUFHLElBQUksSUFBSSxDQUFDLE1BQU0sQ0FBQyxDQUFDO0lBRTdCLDJDQUEyQztJQUMzQyxNQUFNLGNBQWMsR0FBRyxHQUFHLENBQUMsT0FBTyxFQUFFLEdBQUcsS0FBSyxDQUFDLE9BQU8sRUFBRSxDQUFDO0lBRXZELCtEQUErRDtJQUMvRCxNQUFNLGtCQUFrQixHQUFHLFFBQVEsQ0FBQztJQUNwQyxNQUFNLGdCQUFnQixHQUFHLElBQUksQ0FBQyxLQUFLLENBQUMsY0FBYyxHQUFHLGtCQUFrQixDQUFDLENBQUM7SUFFekUsT0FBTyxnQkFBZ0IsQ0FBQztBQUMxQixDQUFDIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHtcclxuICBDb21wb25lbnQsXHJcbiAgT25Jbml0LFxyXG4gIE9uRGVzdHJveSxcclxuICBOZ1pvbmUsXHJcbiAgRWxlbWVudFJlZixcclxuICBSZW5kZXJlcjIsXHJcbiAgVmlld0NoaWxkLFxyXG4gIENoYW5nZURldGVjdG9yUmVmLFxyXG4gIEhvc3RMaXN0ZW5lciwgQWZ0ZXJWaWV3SW5pdFxyXG59IGZyb20gXCJAYW5ndWxhci9jb3JlXCI7XHJcbmltcG9ydCAqIGFzIGFtNSBmcm9tIFwiQGFtY2hhcnRzL2FtY2hhcnRzNVwiO1xyXG5pbXBvcnQgKiBhcyBhbTV4eSBmcm9tIFwiQGFtY2hhcnRzL2FtY2hhcnRzNS94eVwiO1xyXG5pbXBvcnQgYW01dGhlbWVzX0FuaW1hdGVkIGZyb20gXCJAYW1jaGFydHMvYW1jaGFydHM1L3RoZW1lcy9BbmltYXRlZFwiO1xyXG5pbXBvcnQgYW01dGhlbWVzX1Jlc3BvbnNpdmUgZnJvbSBcIkBhbWNoYXJ0cy9hbWNoYXJ0czUvdGhlbWVzL1Jlc3BvbnNpdmVcIjtcclxuaW1wb3J0ICogYXMgYW01cGVyY2VudCBmcm9tIFwiQGFtY2hhcnRzL2FtY2hhcnRzNS9wZXJjZW50XCI7XHJcbmltcG9ydCB7IFRyYWZmaWNTZXJ2aWNlIH0gZnJvbSBcIi4uLy4uL3NlcnZpY2VzL3RyYWZmaWMuc2VydmljZVwiO1xyXG5pbXBvcnQgeyBTdWJqZWN0LCBTdWJzY3JpcHRpb24sIHRha2VVbnRpbCwgZmlsdGVyIH0gZnJvbSAncnhqcyc7XHJcbmltcG9ydCB7IE5nYk1vZGFsLCBOZ2JUb29sdGlwIH0gZnJvbSBcIkBuZy1ib290c3RyYXAvbmctYm9vdHN0cmFwXCI7XHJcbmltcG9ydCB7IEdsb2JhbFN0YXRlU2VydmljZSB9IGZyb20gXCJ0YW5nby1hcHAtdWktZ2xvYmFsXCI7XHJcbmltcG9ydCB7IGRlYm91bmNlVGltZSB9IGZyb20gJ3J4anMvb3BlcmF0b3JzJztcclxuaW1wb3J0IHsgUm91dGVyIH0gZnJvbSBcIkBhbmd1bGFyL3JvdXRlclwiO1xyXG5pbXBvcnQgeyBFeGNlbFNlcnZpY2UgfSBmcm9tIFwiLi4vLi4vc2VydmljZXMvZXhjZWwuc2VydmljZVwiO1xyXG5pbXBvcnQgKiBhcyBtYXBib3hnbCBmcm9tICdtYXBib3gtZ2wnO1xyXG5pbXBvcnQgeyBUb2FzdFNlcnZpY2UgfSBmcm9tIFwidGFuZ28tYXBwLXVpLXNoYXJlZFwiO1xyXG5pbXBvcnQgeyBWaWRlb1VybENvbXBvbmVudCB9IGZyb20gXCIuLi92aWRlby11cmwvdmlkZW8tdXJsLmNvbXBvbmVudFwiO1xyXG5pbXBvcnQgKiBhcyBib290c3RyYXAgZnJvbSBcImJvb3RzdHJhcFwiO1xyXG5pbXBvcnQgeyBGb3JtQnVpbGRlciwgRm9ybUNvbnRyb2wgfSBmcm9tIFwiQGFuZ3VsYXIvZm9ybXNcIjtcclxuaW1wb3J0IGRheWpzIGZyb20gJ2RheWpzJztcclxuXHJcbkBDb21wb25lbnQoe1xyXG4gIHNlbGVjdG9yOiBcImxpYi10cmFmZmljLWFuYWx5c2lzXCIsXHJcbiAgdGVtcGxhdGVVcmw6IFwiLi90cmFmZmljLWFuYWx5c2lzLmNvbXBvbmVudC5odG1sXCIsXHJcbiAgc3R5bGVVcmw6IFwiLi90cmFmZmljLWFuYWx5c2lzLmNvbXBvbmVudC5zY3NzXCIsXHJcbn0pXHJcbmV4cG9ydCBjbGFzcyBUcmFmZmljQW5hbHlzaXNDb21wb25lbnQgaW1wbGVtZW50cyBPbkluaXQsIE9uRGVzdHJveSwgQWZ0ZXJWaWV3SW5pdCB7XHJcbiAgcHJpdmF0ZSBsaW5lcm9vdDogYW01LlJvb3Q7XHJcbiAgcHJpdmF0ZSBib3VuY2VkbGluZXJvb3Q6IGFtNS5Sb290O1xyXG4gIHByaXZhdGUgcG90ZW50aWFsQnV5ZXJzbGluZXJvb3Q6IGFtNS5Sb290O1xyXG4gIHByaXZhdGUgZW5nYWdlcnNsaW5lcm9vdDogYW01LlJvb3Q7XHJcbiAgc29ydGVkQ29sdW1uOiBhbnk7XHJcbiAgc29ydERpcmVjdGlvbjogYW55O1xyXG4gIHByaXZhdGUgY2hhcnQ6IGFueTtcclxuICBwcml2YXRlIHRvb2x0aXBFbGVtZW50OiBIVE1MRWxlbWVudDtcclxuICBwcml2YXRlIHJlYWRvbmx5IGRlc3Ryb3kkID0gbmV3IFN1YmplY3QoKTtcclxuICBnZXRDYXJkRGF0YTogYW55ID0gW107XHJcbiAgaGVhdE1hcERhdGE6IGFueSA9IFtdO1xyXG4gIGdldENhcmRHcmFwaERhdGE6IGFueTtcclxuICBnZXRTdW1tYXJ5VGFibGVEYXRhOiBhbnk7XHJcbiAgaXRlbXNQZXJQYWdlID0gMTA7XHJcbiAgY3VycmVudFBhZ2UgPSAxO1xyXG4gIHRvdGFsSXRlbXMgPSAxO1xyXG4gIHBhZ2luYXRpb25TaXplczphbnlbXSA9IFtdO1xyXG4gIHBhZ2VTaXplID0gMTA7XHJcbiAgb2Zmc2V0OiBudW1iZXIgPSAwO1xyXG4gIGxpbWl0OiBudW1iZXIgPSAxMDtcclxuICBnZXRSZWNhcFZpZGVvRGF0YTogYW55O1xyXG4gIHRhYmxlb2JqOiBhbnk7XHJcbiAgaGVhdE1hcHJvb3Q6IGFtNS5Sb290O1xyXG4gIHZhbHVlVHlwZT1cImFjdHVhbFwiXHJcbiAgZGF0ZVR5cGU9XCJ3ZWVrbHlcIjtcclxuICBwb2ludHM6YW55ID0gW107XHJcbiAgaGVhZGVyRGF0YTogYW55O1xyXG4gIHR5cGVWYWx1ZTogYW55ID0nc3VtJztcclxuICB2YWx1ZUNvbnZlcnNpb25SYXRlOiBhbnk7XHJcbiAgY29udmVyc2lvblZhbHVlOiBhbnk9Jyc7XHJcbiAgc2VhcmNoVmFsdWU6IGFueTtcclxuICBsb2FkaW5nOiBib29sZWFuID10cnVlO1xyXG4gIG5vRGF0YTogYm9vbGVhbiA9ZmFsc2U7XHJcbiAgY2FyZGxvYWRpbmc6IGJvb2xlYW4gPXRydWU7XHJcbiAgY2FyZE5vZGF0YTogYm9vbGVhbiA9ZmFsc2U7XHJcbiAgaGVhdGxvYWRpbmcgPSB0cnVlXHJcbiAgaGVhdG5vRGF0YSA9IGZhbHNlXHJcbiAgc3RvcmVJZGFycmF5OiBhbnkgPVtdO1xyXG4gIGdldFJlY2FwRGF0YTogYW55PVtdO1xyXG4gIGZvcm06IGFueTtcclxuICBkYXRlTGVuZ3RoOiBudW1iZXI7XHJcbiAgcGVyZm9ybWFuY2Vub0RhdGE6IGJvb2xlYW4gPWZhbHNlO1xyXG4gIHBlcmZvcm1hbmNlTG9hZGluZzogYm9vbGVhbiA9dHJ1ZTtcclxuICB6b25lRHdlbGxUaW1lU3BsaXREYXRhOiBhbnk9W107XHJcbiAgc3RvcmVPcGVyYXRpb25EYXRhOiBhbnk9W107XHJcbiAgZm9vdGZhbGxOYW1lOiBzdHJpbmc9J0FjdHVhbCBGb290ZmFsbCc7XHJcbiAgYm91bmNlTGFiZWw6IGFueTtcclxuICBmb290ZmFsbExhYmVsOiBhbnk7XHJcbiAgY29sVmFsdWU6IGFueTtcclxuICByZWNhcGxhb2Rpbmc6IGJvb2xlYW47XHJcbiAgcmVjYXBub0RhdGE6IGJvb2xlYW47XHJcbiAgcmVjYXBzR3JvdXBlZDogYW55W109W107XHJcbiAgaXNBdmVyYWdlOiBib29sZWFuID0gZmFsc2U7IC8vIFRvZ2dsZSBzdGF0ZSBmb3IgdGhlIHN3aXRjaFxyXG4gIGlzRGlzYWJsZWQ6IGJvb2xlYW4gPWZhbHNlO1xyXG4gIHpvbmVMb2FkaW5nID0gdHJ1ZTtcclxuIHpvbmVOb0RhdGEgPSBmYWxzZTtcclxuICBjbGllbnREYXRhOiBhbnk7XHJcbiAgZmVhdHVyZUNvbmZpZzogYW55O1xyXG4gIG5vYjogYm9vbGVhbjtcclxuICBmb3JlY2FzdDogYW55O1xyXG4gIG1heEZvb3RmYWxsOiBhbnk7XHJcbiAgbWluRm9vdGZhbGw6IGFueTtcclxuICBpc0NvbnZlcnNpb24gOiBib29sZWFuID0gZmFsc2U7XHJcbiAgQEhvc3RMaXN0ZW5lcignZG9jdW1lbnQ6Y2xpY2snLCBbJyRldmVudCddKVxyXG4gIGhhbmRsZUNsaWNrT3V0c2lkZShldmVudDogTW91c2VFdmVudCkge1xyXG4gICAgY29uc3QgY2xpY2tlZEluc2lkZSA9IChldmVudC50YXJnZXQgYXMgSFRNTEVsZW1lbnQpLmNsb3Nlc3QoJy50b29sdGlwLXBvcHVwLCAubGFiZWwnKTtcclxuICAgIGlmICghY2xpY2tlZEluc2lkZSkge1xyXG4gICAgICB0aGlzLmFjdGl2ZVRvb2x0aXAgPSBudWxsO1xyXG4gICAgfVxyXG4gIH1cclxuICBhY3RpdmVUb29sdGlwOiBzdHJpbmcgfCBudWxsID0gbnVsbDtcclxuXHJcbiAgYXVMb2NhdGlvbnM6IGFueVtdID0gW107XHJcbiAgbWFwT3B0aW9uczogZ29vZ2xlLm1hcHMuTWFwT3B0aW9ucyA9IHtcclxuICAgIG1hcElkOiBcIkRFTU9fTUFQX0lEXCIsXHJcbiAgICBjZW50ZXI6IHsgbGF0OiAwLCBsbmc6IDAgfSwgIC8vIEluaXRpYWwgY2VudGVyXHJcbiAgICB6b29tOiAxLFxyXG4gIH07XHJcblxyXG4gIHBlcmZvcm1hbmNlRGF0YTphbnkgPSBbXTtcclxuICBtcGFsb2FkaW5nID10cnVlO1xyXG4gIG1hcG5vRGF0YSA9IGZhbHNlO1xyXG4gIGZvb3RmYWxsZGF0YXNldHMgPSBbXHJcbiAgICB7IHZhbHVlOiAnZm9vdGZhbGwnLCBsYWJlbDogJ0Zvb3RmYWxsJyB9LFxyXG4gICAgeyB2YWx1ZTogJ2JvdW5jZWQnLCBsYWJlbDogJ0JvdW5jZWQgRm9vdGZhbGwnIH0sXHJcbiAgICB7IHZhbHVlOiAnZW5nYWdlcicsIGxhYmVsOiAnRW5nYWdlcnMnIH0sXHJcbiAgICB7IHZhbHVlOiAnbWlzc2VkT3Bwb3J0dW5pdHknLCBsYWJlbDogJ01pc3NlZCBPcHBvcnR1bml0eScgfSxcclxuICAgIHsgdmFsdWU6ICdwb3RlbnRpYWxCdXllcicsIGxhYmVsOiAnUG90ZW50aWFsIEJ1eWVyJyB9LFxyXG4gICAgeyB2YWx1ZTogJ2NvbnZlcnNpb24nLCBsYWJlbDogJ0NvbnZlcnNpb24nIH1cclxuICBdO1xyXG4gIGJvdW5jZWRhdGFzZXRzID0gW1xyXG4gICAgeyB2YWx1ZTogJ2Zvb3RmYWxsJywgbGFiZWw6ICdGb290ZmFsbCcgfSxcclxuICAgIHsgdmFsdWU6ICdib3VuY2VkJywgbGFiZWw6ICdCb3VuY2VkIEZvb3RmYWxsJyB9LFxyXG4gICAgeyB2YWx1ZTogJ2VuZ2FnZXInLCBsYWJlbDogJ0VuZ2FnZXJzJyB9LFxyXG4gICAgeyB2YWx1ZTogJ21pc3NlZE9wcG9ydHVuaXR5JywgbGFiZWw6ICdNaXNzZWQgT3Bwb3J0dW5pdHknIH0sXHJcbiAgICB7IHZhbHVlOiAncG90ZW50aWFsQnV5ZXInLCBsYWJlbDogJ1BvdGVudGlhbCBCdXllcicgfSxcclxuICAgIHsgdmFsdWU6ICdjb252ZXJzaW9uJywgbGFiZWw6ICdDb252ZXJzaW9uJyB9XHJcbiAgXTtcclxuXHJcbiAgY29uc3RydWN0b3IoXHJcbiAgICBwcml2YXRlIHpvbmU6IE5nWm9uZSxcclxuICAgIHByaXZhdGUgZWw6IEVsZW1lbnRSZWYsXHJcbiAgICBwcml2YXRlIHJlbmRlcmVyOiBSZW5kZXJlcjIscHJpdmF0ZSByb3V0ZXI6Um91dGVyLHByaXZhdGUgZXhjZWxTZXJ2aWNlOiBFeGNlbFNlcnZpY2UsXHJcbiAgICBwcml2YXRlIHNlcnZpY2U6IFRyYWZmaWNTZXJ2aWNlLHB1YmxpYyBnczogR2xvYmFsU3RhdGVTZXJ2aWNlLCBwcml2YXRlIGZiOkZvcm1CdWlsZGVyLFxyXG4gICAgcHJpdmF0ZSBjZDogQ2hhbmdlRGV0ZWN0b3JSZWYscHJpdmF0ZSB0b2FzdDpUb2FzdFNlcnZpY2UsIHByaXZhdGUgbW9kYWxTZXJ2aWNlOiBOZ2JNb2RhbCxcclxuICApIHtcclxuIFxyXG4gICAgICAgICB0aGlzLmZvcm0gPSB0aGlzLmZiLmdyb3VwKHtcclxuICAgICAgICAgICBzZWxlY3RWYWx1ZTogbmV3IEZvcm1Db250cm9sKCcnKSAvLyBJbml0aWFsaXplIGFzIEZvcm1Db250cm9sXHJcbiAgICAgICAgIH0pO1xyXG4gIH1cclxuICBAVmlld0NoaWxkKFwidFwiLCB7IHN0YXRpYzogZmFsc2UgfSkgdG9vbHRpcDogTmdiVG9vbHRpcDtcclxuICB0b29sdGlwVmFsdWU6IHN0cmluZztcclxuICBib3VuY2VWYWx1ZTE6YW55O1xyXG4gIGNsaWVudEFQSURhdGE6YW55O1xyXG4gIHVzZXJzOmFueTtcclxuICAgc3ViMjpTdWJzY3JpcHRpb24gfCB1bmRlZmluZWRcclxuICAgcHJpdmF0ZSBpc0luaXRpYWxpemVkOiBib29sZWFuID0gZmFsc2U7XHJcbiAgIHByb2Nlc3NUeXBlPVwibWlzc2Vkb3Bwb3J0dW5pdGllc1wiXHJcbiAgIHRyZW5kdHlwZVZhbHVlOiBhbnkgPSdhdmVyYWdlJztcclxuICAgbm9ybWFsaXplOmFueTtcclxuICBuZ09uSW5pdCgpOiB2b2lkIHtcclxuICAgIChtYXBib3hnbCBhcyBhbnkpLmFjY2Vzc1Rva2VuID0gJ3BrLmV5SjFJam9pWW1Gc1lXcHBkR0Z1WjI4aUxDSmhJam9pWTIwd1oyeGllbTU1TURGeFlUSjNiMjF6YjNGak5IZHdheUo5Lm5uSUl6dDdPZVlsWUh1ZkdFOGxGV1EnO1xyXG4gICAgdGhpcy5vZmZzZXQgPSAwO1xyXG4gICAgdGhpcy5saW1pdD0xMDtcclxuICAgIGNvbnN0IHVzZXJEYXRhOiBhbnkgPSBKU09OLnBhcnNlKGxvY2FsU3RvcmFnZS5nZXRJdGVtKFwidXNlci1pbmZvXCIpIHx8IFwie31cIik7XHJcbiAgICB0aGlzLnVzZXJzID0gdXNlckRhdGE7XHJcbiAgXHJcbiAgICAvLyBjb25zdCBjbGllbnREYXRhOmFueSA9IEpTT04ucGFyc2UobG9jYWxTdG9yYWdlLmdldEl0ZW0oXCJjbGllbnQtZGV0YWlsc1wiKSB8fCBcInt9XCIpO1xyXG4gICAgLy8gdGhpcy5jbGllbnREYXRhID0gY2xpZW50RGF0YVxyXG4gICAgLy8gY29uc3QgY2xpZW50QVBJRGF0YTphbnkgPSBKU09OLnBhcnNlKGxvY2FsU3RvcmFnZS5nZXRJdGVtKFwiY2xpZW50QVBJLWRldGFpbHNcIikgfHwgXCJ7fVwiKTtcclxuICAgIC8vIHRoaXMuY2xpZW50QVBJRGF0YSA9IGNsaWVudEFQSURhdGFcclxuICAgICAgXHJcbi8vICBjb25zb2xlLmxvZyggdGhpcy5jbGllbnREYXRhLHRoaXMuY2xpZW50QVBJRGF0YSx0aGlzLm5vYilcclxuXHJcbiAgICB0aGlzLmdzPy5kYXRhUmFuZ2VWYWx1ZVxyXG4gICAgICA/LnBpcGUodGFrZVVudGlsKHRoaXMuZGVzdHJveSQpLGRlYm91bmNlVGltZSgzMDApLClcclxuICAgICAgLnN1YnNjcmliZSgoZGF0YTogYW55KSA9PiB7XHJcbiAgICAgICAgaWYoZGF0YSl7XHJcbiAgICAgICAgICB0aGlzLmhlYWRlckRhdGEgPSBkYXRhO1xyXG4gICAgICAgICAgdGhpcy52YWx1ZUNvbnZlcnNpb25SYXRlPScnO1xyXG4gICAgICAgICAgdGhpcy5kYXRlTGVuZ3RoID0gZ2V0RGF5c0JldHdlZW5EYXRlcyhkYXRhPy5kYXRlLnN0YXJ0RGF0ZSwgZGF0YT8uZGF0ZS5lbmREYXRlKTtcclxuICAgICAgICAgIGlmICh0aGlzLmRhdGVMZW5ndGggPiAyOClcclxuICAgICAgICAgICAgdGhpcy5kYXRlVHlwZSA9IFwibW9udGhseVwiO1xyXG4gICAgICAgICAgZWxzZSBpZiAodGhpcy5kYXRlTGVuZ3RoID4gNSlcclxuICAgICAgICAgICAgdGhpcy5kYXRlVHlwZSA9IFwid2Vla2x5XCI7XHJcbiAgICAgICAgICBlbHNlIGlmKHRoaXMuZGF0ZUxlbmd0aCA9PT0gMClcclxuICAgICAgICAgICAgdGhpcy5kYXRlVHlwZSA9IFwid2Vla2x5XCI7XHJcbiAgICAgICAgICB0aGlzLnZhbHVlVHlwZT1cImFjdHVhbFwiO1xyXG4gICAgICAgICAgdGhpcy50eXBlVmFsdWU9XCJzdW1cIlxyXG4gICAgICAgICAgdGhpcy5pc0F2ZXJhZ2UgPSBmYWxzZVxyXG4gICAgICAgICAgdGhpcy5zdWIyID0gIHRoaXMuc2VydmljZT8uZ2V0QnJhbmREZXRhaWxzKHRoaXMudXNlcnM/LmNsaWVudElkID8gdGhpcy51c2Vycz8uY2xpZW50SWQ6ZGF0YT8uY2xpZW50KS5waXBlKHRha2VVbnRpbCh0aGlzLmRlc3Ryb3kkKSkuc3Vic2NyaWJlKHtcclxuICAgICAgICAgICAgbmV4dDogKHJlczphbnkpID0+IHtcclxuICAgICAgICAgICAgICBpZihyZXMgJiYgcmVzLmNvZGUgPT09IDIwMCl7XHJcbiAgICAgICAgICAgICAgICB0aGlzLmNsaWVudERhdGEgPSByZXM/LmRhdGE7XHJcbiAgICAgICAgICAgICAgICB0aGlzLmZlYXR1cmVDb25maWcgPSB0aGlzLmNsaWVudERhdGEuZmVhdHVyZUNvbmZpZ3M7XHJcbiAgICAgICAgICAgICAgdGhpcy5ub3JtYWxpemUgPSB0aGlzLmNsaWVudERhdGE/LmZlYXR1cmVDb25maWdzPy5pc05vcm1hbGl6ZWQ7XHJcbiAgICAgICAgICAgICAgdGhpcy5zdG9yZUlkYXJyYXkgPSB0aGlzLmhlYWRlckRhdGE/LnN0b3Jlcy5maWx0ZXIoKHN0b3JlOiBhbnkpID0+IHN0b3JlLmNoZWNrZWQpLm1hcCgoc3RvcmU6IGFueSkgPT4gc3RvcmUuc3RvcmVJZClcclxuICAgICAgICAgICAgICB0aGlzLnRhYmxlb2JqID0ge1xyXG4gICAgICAgICAgICAgICAgZnJvbURhdGU6IGRhdGE/LmRhdGUuc3RhcnREYXRlLFxyXG4gICAgICAgICAgICAgICAgdG9EYXRlOiBkYXRhPy5kYXRlLmVuZERhdGUsXHJcbiAgICAgICAgICAgICAgICBzdG9yZUlkOiBkYXRhPy5zdG9yZXMuZmlsdGVyKChzdG9yZTogYW55KSA9PiBzdG9yZS5jaGVja2VkKS5tYXAoKHN0b3JlOiBhbnkpID0+IHN0b3JlLnN0b3JlSWQpLFxyXG4gICAgICAgICAgICAgICAgY2xpZW50SWQ6IGRhdGE/LmNsaWVudCA/IGRhdGE/LmNsaWVudCA6JycsXHJcbiAgICAgICAgICAgICAgICB2YWx1ZVR5cGU6IHRoaXMudmFsdWVUeXBlLFxyXG4gICAgICAgICAgICAgICAgbm9iOnRoaXMuY2xpZW50RGF0YS5mZWF0dXJlQ29uZmlncy5pc05PQixcclxuICAgICAgICAgICAgICAgIGRhdGVUeXBlOiB0aGlzLmRhdGVUeXBlLFxyXG4gICAgICAgICAgICAgICAgbm9ybWFsaXplOiB0aGlzLm5vcm1hbGl6ZVxyXG4gICAgICAgICAgICAgICAgfTtcclxuICAgICAgICAgICAgICAgIHRoaXMuZ2V0Vmx1ZXMoKTtcclxuXHJcbiAgICAgICAgICAgICAgaWYgKCF0aGlzLmlzSW5pdGlhbGl6ZWQpIHtcclxuICAgICAgICAgICAgICAgIHRoaXMuaXNJbml0aWFsaXplZCA9IHRydWU7XHJcbiAgICAgICAgICAgICAgICAgIHRoaXMuaXNDb252ZXJzaW9uID10aGlzLmNsaWVudERhdGEuZmVhdHVyZUNvbmZpZ3MuaXNOT0JcclxuICAgICAgICAgICAgXHJcbiAgICAgICAgICAgICAgICB0aGlzLnNlcnZpY2U/LnRvZ2dsZW5vYih0aGlzLmNsaWVudERhdGEuZmVhdHVyZUNvbmZpZ3MuaXNOT0IpO1xyXG4gICAgICAgICAgICAgICAgdGhpcy5zZXJ2aWNlPy50b2dnbGVBdmVyYWdlKGZhbHNlKTtcclxuICAgICAgICAgICAgICB9XHJcbiAgICAgICAgICAgICAgLy8gdGhpcy5jb252ZXJzaW9uVmFsdWUgPSB0aGlzLmNsaWVudERhdGEuZmVhdHVyZUNvbmZpZ3MuaXNOT0IgJiYgdGhpcy5jbGllbnREYXRhPy5mZWF0dXJlQ29uZmlncz8uY29udmVyc2lvbkNhbGN1bGF0aW9uID09PSdmb290ZmFsbC1jb3VudCdcclxuICAgICAgICAgICAgICAvLyA/IFwiZm9vdGZhbGxcIlxyXG4gICAgICAgICAgICAgIC8vIDogdGhpcy5jbGllbnREYXRhLmZlYXR1cmVDb25maWdzLmlzTk9CICYmIHRoaXMuY2xpZW50RGF0YT8uZmVhdHVyZUNvbmZpZ3NcclxuICAgICAgICAgICAgICAvLyAgICAgPy5jb252ZXJzaW9uQ2FsY3VsYXRpb24gPT09ICdlbmdhZ2Vycy1jb3VudCdcclxuICAgICAgICAgICAgICAvLyA/IFwiZW5nYWdlcnNcIlxyXG4gICAgICAgICAgICAgIC8vIDogdGhpcy5jbGllbnREYXRhLmZlYXR1cmVDb25maWdzLmlzTk9CICYmIHRoaXMuY2xpZW50RGF0YT8uZmVhdHVyZUNvbmZpZ3NcclxuICAgICAgICAgICAgICAvLyAgICAgPy5jb252ZXJzaW9uQ2FsY3VsYXRpb24gPT09ICdiaWxsYWJsZS1lbnRpdGllcyc/IFwiUG90ZW50aWFsIEJ1eWVyc1wiOiBcImZvb3RmYWxsXCI7XHJcbiAgICAgICAgICAgICAgdGhpcy5jb252ZXJzaW9uVmFsdWUgPSB0aGlzLmNsaWVudERhdGEuZmVhdHVyZUNvbmZpZ3MuaXNOT0JcclxuICAgICAgICAgICAgICA/IFwiTm9CIERlcml2ZWRcIlxyXG4gICAgICAgICAgICAgIDogdGhpcy5jbGllbnREYXRhPy5mZWF0dXJlQ29uZmlnc1xyXG4gICAgICAgICAgICAgICAgICA/Lm1pc3NlZE9wcG9ydHVuaXR5Q2FsY3VsYXRpb24gPT09ICdlbmdhZ2Vycy1jb252ZXJzaW9uJ1xyXG4gICAgICAgICAgICAgID8gXCJlbmdhZ2Vyc1wiXHJcbiAgICAgICAgICAgICAgOiBcImZvb3RmYWxsXCI7XHJcbiAgICAgICAgICAgICAgdGhpcy5nZXRGdW5uYWwoKTtcclxuICAgICAgICAgICAgICB0aGlzLmdldFRhYmxlKCk7XHJcbiAgICAgICAgICAgICAgdGhpcy5wZXJmb3JtYW5jZSgpO1xyXG4gICAgICAgICAgICAgIGlmKHRoaXMubm9ybWFsaXplID09PSB0cnVlKXsgIFxyXG4gICAgICAgICAgICAgICAgdGhpcy56b25lRHdlbGxUaW1lU3BsaXREYXRhID1bXTtcclxuICAgICAgICAgICAgICAgIHRoaXMuem9uZUxvYWRpbmcgPSBmYWxzZTtcclxuICAgICAgICAgICAgICAgIHRoaXMuem9uZU5vRGF0YSA9IHRydWU7XHJcbiAgICAgICAgICAgICAgICB0aGlzLnN0b3JlT3BlcmF0aW9uRGF0YSA9W107XHJcbiAgICAgICAgICAgICAgICB0aGlzLmF1TG9jYXRpb25zID1bXTtcclxuICAgICAgICAgICAgICAgIHRoaXMubXBhbG9hZGluZyA9ZmFsc2U7XHJcbiAgICAgICAgICAgICAgICB0aGlzLm1hcG5vRGF0YT0gdHJ1ZTtcclxuICAgICAgICAgICAgICB9IGVsc2V7XHJcbiAgICAgICAgICAgICAgdGhpcy5nZXRab25lKCk7XHJcbiAgICAgICAgICAgICAgdGhpcy5nZXRab25lVmFsdWUoKTtcclxuICAgICAgICAgICAgICB0aGlzLmdldE1hcCgpO1xyXG4gICAgICAgICAgICAgIH1cclxuICAgICAgICAgICAgICB0aGlzLmdldEludGlhbCgpO1xyXG4gICAgICAgICAgICAgXHJcbiAgICAgICAgICAgICAgXHJcbiAgICAgICAgICAgICAgdGhpcy5ub2IgPSAhIXRoaXMuY2xpZW50RGF0YT8uZmVhdHVyZUNvbmZpZ3M/LmlzTk9CO1xyXG4gICAgICAgICAgXHJcbiAgICAgICAgICAgICAgLy8gdGhpcy5jb252ZXJzaW9uVmFsdWUgPSB0aGlzLm5vYiA/ICdOb0IgRGVyaXZlZCcgOiB0aGlzLmNsaWVudERhdGE/LmZlYXR1cmVDb25maWdzPy5taXNzZWRPcHBvcnR1bml0eUNhbGN1bGF0aW9uID09PSdcImVuZ2FnZXJzLWNvbnZlcnNpb25cIicgPyAnY29udmVyc2lvbic6ICdmb290ZmFsbCcgO1xyXG4gICAgICAgICAgICAgIC8vIHRoaXMuY29udmVyc2lvblZhbHVlID0gdGhpcy5ub2IgPyAnTm9CIERlcml2ZWQnIDogJ2Zvb3RmYWxsJztcclxuICAgICAgICAgICBcclxuICAgICAgICAgICAgICAgdGhpcy5vYmpEYXRhID0ge1xyXG4gICAgICAgICAgICAgICAgICAgICAgICBmcm9tRGF0ZTogdGhpcy5oZWFkZXJEYXRhPy5kYXRlPy5zdGFydERhdGUsXHJcbiAgICAgICAgICAgICAgICAgICAgICAgIHRvRGF0ZTogdGhpcy5oZWFkZXJEYXRhPy5kYXRlPy5lbmREYXRlLFxyXG4gICAgICAgICAgICAgICAgICAgICAgICBzdG9yZUlkOiB0aGlzLmhlYWRlckRhdGE/LnN0b3Jlcy5maWx0ZXIoKHN0b3JlOiBhbnkpID0+IHN0b3JlLmNoZWNrZWQpLm1hcCgoc3RvcmU6IGFueSkgPT4gc3RvcmUuc3RvcmVJZCksXHJcbiAgICAgICAgICAgICAgICAgICAgICAgIGNsaWVudElkOiB0aGlzLmhlYWRlckRhdGE/LmNsaWVudCxcclxuICAgICAgICAgICAgICAgICAgICAgICAgcHJvY2Vzc1R5cGU6IHRoaXMucHJvY2Vzc1R5cGUsXHJcbiAgICAgICAgICAgICAgICAgICAgICAgIGRhdGVUeXBlOiB0aGlzLnR5cGUsXHJcbiAgICAgICAgICAgICAgICAgICAgICAgIGZpbHRlckJ5OiB0aGlzLnRyZW5kdHlwZVZhbHVlLFxyXG4gICAgICAgICAgICAgICAgICAgICAgICBsaW1pdDogMzEsXHJcbiAgICAgICAgICAgICAgICAgICAgICAgIG9mZnNldDogMCxcclxuICAgICAgICAgICAgICAgICAgICAgICAgdmFsdWVUeXBlOiB0aGlzLnZhbHVlVHlwZSxcclxuICAgICAgICAgICAgICAgICAgICAgICAgbm9iOnRoaXMubm9iLFxyXG4gICAgICAgICAgICAgICAgICAgICAgICBub3JtYWxpemU6IHRoaXMubm9ybWFsaXplXHJcbiAgICAgICAgICAgICAgICAgICAgICB9O1xyXG4gICAgICAgICAgICAgICAgICAgICAgaWYgKHRoaXMuc3RvcmVJZGFycmF5Py5sZW5ndGggPT09IDEpIHtcclxuICAgICAgICAgICAgICAgICAgICAgICAgaWYodGhpcy5ub3JtYWxpemUgPT09IHRydWUpe1xyXG4gICAgICAgICAgICAgICAgICAgICAgICAgIHRoaXMuZ2V0UmVjYXBWaWRlb0RhdGEgPVtdXHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgdGhpcy5yZWNhcGxhb2RpbmcgPWZhbHNlO1xyXG4gICAgICAgICAgICAgICAgICAgICAgICAgIHRoaXMucmVjYXBub0RhdGEgPXRydWU7XHJcbiAgICAgICAgICAgICAgICAgICAgICAgIH0gZWxzZSB7XHJcbiAgICAgICAgICAgICAgICB0aGlzLmdldFJlY2FwKCk7XHJcbiAgICAgICAgICAgICAgICAgICAgICAgIH1cclxuICAgICAgICAgICAgICAgICAgICAgICAgdGhpcy50cmVuZHR5cGVWYWx1ZSA9ICdhY3R1YWwnO1xyXG4gICAgICAgICAgICAgICAgICAgICAgICB0aGlzLnNlcnZpY2U/LnRvZ2dsZW5vcm1hbGl6ZSh0aGlzLm5vcm1hbGl6ZSk7XHJcbiAgICAgICAgICAgICAgICAgICAgICB9IGVsc2Uge1xyXG4gICAgICAgICAgICAgICAgICAgICAgICB0aGlzLnRyZW5kdHlwZVZhbHVlID0gJ2F2ZXJhZ2UnO1xyXG4gICAgICAgICAgICAgICAgICAgICAgfVxyXG4gICAgICAgICAgICAgICAgICAgICAgLy8gQ2FsbCB0aGUgQVBJIGFmdGVyIG9iakRhdGEgaXMgZnVsbHkgcHJlcGFyZWRcclxuICAgICAgICAgICAgICAgICAgICAgIHRoaXMuZm9vdGZhbGxUcmVuZCgpO1xyXG4gICAgICAgICAgICAgICAgICAgIFxyXG4gICAgICAgICAgICAgICAgICAgIHRoaXMuZGF0ZUxlbmd0aCA9IGdldERheXNCZXR3ZWVuRGF0ZXMoZGF0YT8uZGF0ZS5zdGFydERhdGUsIGRhdGE/LmRhdGUuZW5kRGF0ZSk7XHJcbiAgICAgICAgICAgICAgICAgICAgaWYgKHRoaXMuaGVhZGVyRGF0YT8uY2xpZW50ID09PSAnNDUyJykge1xyXG4gICAgICAgICAgICAgICAgICAgICAgdGhpcy5kYXRhc2V0cyA9IHRoaXMuZGF0YXNldHMuZmlsdGVyKGl0ZW0gPT4gaXRlbS52YWx1ZSAhPT0gJ3BvdGVudGlhbEJ1eWVyJyk7XHJcbiAgICAgICAgICAgICAgICAgICAgXHJcbiAgICAgICAgICAgICAgICAgICAgICBjb25zdCBjb252ZXJzaW9uSXRlbSA9IHRoaXMuZGF0YXNldHMuZmluZChpdGVtID0+IGl0ZW0udmFsdWUgPT09ICdjb252ZXJzaW9uJyk7XHJcbiAgICAgICAgICAgICAgICAgICAgICBpZiAoY29udmVyc2lvbkl0ZW0pIHtcclxuICAgICAgICAgICAgICAgICAgICAgICAgY29uc3QgY29udlZhbHVlID0gdGhpcy5jbGllbnREYXRhPy5mZWF0dXJlQ29uZmlncz8uY29udmVyc2lvbj8udmFsdWUgPz8gJ1gnO1xyXG4gICAgICAgICAgICAgICAgICAgICAgICBjb252ZXJzaW9uSXRlbS5sYWJlbCA9IGBNb3JlIHRoYW4gJHtjb252VmFsdWV9IG1pbnNgO1xyXG4gICAgICAgICAgICAgICAgICAgICAgfVxyXG4gICAgICAgICAgICAgICAgICAgIFxyXG4gICAgICAgICAgICAgICAgICAgICAgY29uc3QgbWlzc2VkSXRlbSA9IHRoaXMuZGF0YXNldHMuZmluZChpdGVtID0+IGl0ZW0udmFsdWUgPT09ICdtaXNzZWRvcHBvcnR1bml0aWVzJyk7XHJcbiAgICAgICAgICAgICAgICAgICAgICBpZiAobWlzc2VkSXRlbSkge1xyXG4gICAgICAgICAgICAgICAgICAgICAgICBjb25zdCBmcm9tID0gdGhpcy5jbGllbnREYXRhPy5mZWF0dXJlQ29uZmlncz8ubWlzc2VkT3Bwb3J0dW5pdHlGcm9tPy52YWx1ZSA/PyAnWCc7XHJcbiAgICAgICAgICAgICAgICAgICAgICAgIGNvbnN0IHRvID0gdGhpcy5jbGllbnREYXRhPy5mZWF0dXJlQ29uZmlncz8ubWlzc2VkT3Bwb3J0dW5pdHlUbz8udmFsdWUgPz8gJ1knO1xyXG4gICAgICAgICAgICAgICAgICAgICAgICBtaXNzZWRJdGVtLmxhYmVsID0gYCR7ZnJvbX0gLSAke3RvfSBtaW5zYDtcclxuICAgICAgICAgICAgICAgICAgICAgIH1cclxuICAgICAgICAgICAgICAgICAgICB9XHJcbiAgICAgICAgICAgICAgICAgICAgXHJcbiAgICAgICAgICAgICAgICAgICAgY29uc3QgaW5pdGlhbFZhbHVlID0gdGhpcy5nZXRJbml0aWFsVmFsdWUoKTtcclxuICAgICAgICAgICAgICAgICAgICB0aGlzLmZvcm0uZ2V0KCdzZWxlY3RWYWx1ZScpPy5zZXRWYWx1ZShpbml0aWFsVmFsdWUpO1xyXG4gICAgICAgICAgICAgICAgICAgICAgdGhpcy5kZXRhaWxlZENoYXJ0cz0gZmFsc2U7XHJcbiAgICAgICAgICAgICAgICAgICAgICAvLyBpZih0aGlzLmhlYWRlckRhdGE/LmNsaWVudCA9PT0nNDU5Jyl7XHJcbiAgICAgICAgICAgICAgICAgICAgICAvLyAgIHRoaXMuc2VsZWN0ZWRUYWIgPSBcImZvb3RmYWxsXCJcclxuICAgICAgICAgICAgICAgICAgICAgIC8vICAgdGhpcy5mb290ZmFsbFZhbHVlID0gXCJmb290ZmFsbFwiO1xyXG4gICAgICAgICAgICAgICAgICAgICAgLy8gICB0aGlzLnNlbGN0ZWRWYWx1ZSA9J0Zvb3RmYWxsIEFuYWx5c2lzJztcclxuICAgICAgICAgICAgICAgICAgICAgIC8vICAgdGhpcy5zZWxlY3RlZFRhYnMoJ2Zvb3RmYWxsJyk7XHJcbiAgICAgICAgICAgICAgICAgICAgICAvLyAgIHRoaXMuY2QuZGV0ZWN0Q2hhbmdlcygpO1xyXG4gICAgICAgICAgICAgICAgICAgICAgLy8gfSBlbHNlIHtcclxuICAgICAgICAgICAgICAgICAgICAgIC8vICAgdGhpcy5zZWxlY3RlZFRhYiA9IFwidHJhZmZpY1wiXHJcbiAgICAgICAgICAgICAgICAgICAgICAvLyAgIHRoaXMuZm9vdGZhbGxWYWx1ZSA9IFwidHJhZmZpY1wiO1xyXG4gICAgICAgICAgICAgICAgICAgICAgLy8gICB0aGlzLnNlbGN0ZWRWYWx1ZSA9J1RyYWZmaWMgQW5hbHlzaXMnO1xyXG4gICAgICAgICAgICAgICAgICAgICAgLy8gICB0aGlzLnNlbGVjdGVkVGFicygndHJhZmZpYycpO1xyXG4gICAgICAgICAgICAgICAgICAgICAgLy8gfVxyXG4gICAgICAgICAgICAgICAgICAgIHRoaXMuZGF0YXNldHNDYXJkID0gW1xyXG4gICAgICAgICAgICAgICAgICAgICAgeyB2YWx1ZTogdGhpcy5mb290ZmFsbFZhbHVlLCBsYWJlbDogdGhpcy5zZWxjdGVkVmFsdWUgfSxcclxuICAgICAgICAgICAgICAgICAgICAgIHsgdmFsdWU6IFwiZGVtb2dyYXBoaWNcIiwgbGFiZWw6IFwiRGVtb2dyYXBoaWMgQW5hbHlzaXNcIiB9LFxyXG4gICAgICAgICAgICAgICAgICAgICAgeyB2YWx1ZTogXCJidXllclwiLCBsYWJlbDogXCJCdXllciBBbmFseXNpc1wiIH0sXHJcbiAgICAgICAgICAgICAgICAgICAgXTtcclxuICAgICAgICAgICAgICAgICAgICB0aGlzLnRyYWZmaWNEYXRhID0gW1xyXG4gICAgICAgICAgICAgICAgICAgICAgeyB2YWx1ZTogNywgbGFiZWw6IFwiTGFzdCA3IERheXNcIiB9LFxyXG4gICAgICAgICAgICAgICAgICAgICAgeyB2YWx1ZTogMzAsIGxhYmVsOiBcIkxhc3QgMzAgRGF5c1wiIH0sXHJcbiAgICAgICAgICAgICAgICAgICAgXTtcclxuICAgICAgICAgICAgICAgICAgICB0aGlzLmZvb3RmYWxsRGF0ZSA9dGhpcy50cmFmZmljRGF0YVswXS52YWx1ZVxyXG4gICAgICAgICAgICAgICAgICAgIHRoaXMub2JqRGF0YVRyYWZmaWMgPSB7XHJcbiAgICAgICAgICAgICAgICAgICAgICBmcm9tRGF0ZTogdGhpcy5oZWFkZXJEYXRhPy5kYXRlPy5zdGFydERhdGUsXHJcbiAgICAgICAgICAgICAgICAgICAgICB0b0RhdGU6IHRoaXMuaGVhZGVyRGF0YT8uZGF0ZT8uZW5kRGF0ZSxcclxuICAgICAgICAgICAgICAgICAgICAgIHN0b3JlSWQ6IHRoaXMuaGVhZGVyRGF0YT8uc3RvcmVzLmZpbHRlcigoc3RvcmU6YW55KSA9PiBzdG9yZS5jaGVja2VkKS5tYXAoKHN0b3JlOmFueSkgPT4gc3RvcmUuc3RvcmVJZCksXHJcbiAgICAgICAgICAgICAgICAgICAgICBjbGllbnRJZDp0aGlzLmhlYWRlckRhdGE/LmNsaWVudCxcclxuICAgICAgICAgICAgICAgICAgICAgIHByb2Nlc3NUeXBlOiAnZm9vdGZhbGwnLFxyXG4gICAgICAgICAgICAgICAgICAgICAgbm9ybWFsaXplZERhdGE6IGZhbHNlLFxyXG4gICAgICAgICAgICAgICAgICAgICAgdmFsdWVUeXBlIDp0aGlzLnZhbHVlVHlwZSxcclxuICAgICAgICAgICAgICAgICAgICAgIG5vYjp0aGlzLm5vYixcclxuICAgICAgICAgICAgICAgICAgICAgIG5vcm1hbGl6ZTogdGhpcy5ub3JtYWxpemVcclxuICAgICAgICAgICAgICAgICAgICB9O1xyXG4gICAgICAgICAgICAgICAgICAgIGlmKHRoaXMuaGVhZGVyRGF0YT8uY2xpZW50ID09PSc0NTknKXtcclxuICAgICAgICAgICAgICAgICAgICAgIHRoaXMuc2VsZWN0ZWRUYWIgPSBcImZvb3RmYWxsXCJcclxuICAgICAgICAgICAgICAgICAgICAgIHRoaXMuZm9vdGZhbGxWYWx1ZSA9IFwiZm9vdGZhbGxcIjtcclxuICAgICAgICAgICAgICAgICAgICAgIHRoaXMuc2VsY3RlZFZhbHVlID0nRm9vdGZhbGwgQW5hbHlzaXMnO1xyXG4gICAgICAgICAgICAgICAgICAgICAgdGhpcy5zZWxlY3RlZFRhYnMoJ2Zvb3RmYWxsJyk7XHJcbiAgICAgICAgICAgICAgICAgICAgfSBlbHNlIHtcclxuICAgICAgICAgICAgICAgICAgICAgIHRoaXMuc2VsZWN0ZWRUYWIgPSBcInRyYWZmaWNcIlxyXG4gICAgICAgICAgICAgICAgICAgICAgdGhpcy5mb290ZmFsbFZhbHVlID0gXCJ0cmFmZmljXCI7XHJcbiAgICAgICAgICAgICAgICAgICAgICB0aGlzLnNlbGN0ZWRWYWx1ZSA9J1RyYWZmaWMgQW5hbHlzaXMnO1xyXG4gICAgICAgICAgICAgICAgICAgICAgdGhpcy5zZWxlY3RlZFRhYnMoJ3RyYWZmaWMnKTtcclxuICAgICAgICAgICAgICAgICAgICB9XHJcbiAgICAgICAgICAgICAgICAgICAgXHJcbiAgICAgICAgICAgICAgICAgICAgdGhpcy5jaGFydE5vRGF0YSA9IGZhbHNlO1xyXG4gICAgICAgICAgICAgICAgICAgIHRoaXMuY2hhcnRsb2FkaW5nID0gdHJ1ZTtcclxuICAgICAgICAgICAgICAgICAgICBcclxuICAgICAgICAgICAgICAgICAgICB0aGlzLmNkLmRldGVjdENoYW5nZXMoKTtcclxuICAgICAgICAgICAgICAvLyBsb2NhbFN0b3JhZ2Uuc2V0SXRlbShcImNsaWVudEFQSS1kZXRhaWxzXCIsIEpTT04uc3RyaW5naWZ5KHRoaXMuY2xpZW50RGF0YT8uY2xpZW50QXBpKSk7XHJcbiAgICAgICAgICAgICAgfVxyXG4gICAgICAgICAgICAgIHRoaXMuc3ViMj8udW5zdWJzY3JpYmUoKVxyXG4gICAgICAgICAgICB9LFxyXG4gICAgICAgICAgICBlcnJvcjogKGVycm9yKSA9PiB7XHJcbiAgICAgICAgICAgICAgdGhpcy5zdWIyPy51bnN1YnNjcmliZSgpXHJcbiAgICAgICAgICAgIH1cclxuICAgICAgICAgIH0pXHJcbiAgICAgICAgICB0aGlzLmNkLmRldGVjdENoYW5nZXMoKTtcclxuICAgICAgICAvLyBPbmx5IHByb2Nlc3MgdGhlIGxhdGVzdCBkYXRhIGFmdGVyIGRlYm91bmNlIHRpbWVcclxuICAgICBcclxuICAgICAgIFxyXG4gICAgICAgIC8vIHRoaXMuaW5pdE1hcCgpO1xyXG4gICAgICAgIHRoaXMudG9vbHRpcFZhbHVlID0gXCJEZWZhdWx0IFRvb2x0aXAgVGV4dFwiO1xyXG5cclxuICAgICAgICAgIGlmICh0aGlzLnN0b3JlSWRhcnJheT8ubGVuZ3RoID09PSAxICYmIHRoaXMuaGVhZGVyRGF0YT8uZGF0ZT8uc3RhcnREYXRlID09PSB0aGlzLmhlYWRlckRhdGE/LmRhdGU/LmVuZERhdGUpIHtcclxuICAgICAgICAgICAgdGhpcy5pc0Rpc2FibGVkID0gdHJ1ZVxyXG4gICAgICAgICAgfSBlbHNlIHtcclxuICAgICAgICAgICAgdGhpcy5pc0Rpc2FibGVkID0gZmFsc2VcclxuICAgICAgICAgIH1cclxuICAgICAgICAgIFxyXG4gICAgICAgIH1cclxuICAgICAgfSk7XHJcbiAgICBcclxuICB9XHJcbiAgaXNSZWxldmFudENvbnZlcnNpb24odmFsdWU6IHN0cmluZyk6IGJvb2xlYW4ge1xyXG4gICAgcmV0dXJuIFsnZm9vdGZhbGwnLCAnZW5nYWdlcnMnLCAnUG90ZW50aWFsIEJ1eWVycycsICdOb0IgRGVyaXZlZCddLmluY2x1ZGVzKHZhbHVlKTtcclxuICB9XHJcbiAgZ2V0Vmx1ZXMoKSB7XHJcbiAgICBpZiAodGhpcy5oZWFkZXJEYXRhPy5jbGllbnQgPT09ICc0NTInKSB7XHJcbiAgICAgIHRoaXMuZm9vdGZhbGxkYXRhc2V0cyA9IFtcclxuICAgICAgICB7IHZhbHVlOiAnZm9vdGZhbGwnLCBsYWJlbDogJ0Zvb3RmYWxsJyB9LFxyXG4gICAgICAgIHsgdmFsdWU6ICdib3VuY2VkJywgbGFiZWw6IGBMZXNzIHRoYW4gJHt0aGlzLmZlYXR1cmVDb25maWc/LmJvdW5jZWRMaW1pdC52YWx1ZX0gbWlucyBGb290ZmFsbGAgfSxcclxuICAgICAgICB7IHZhbHVlOiAnZW5nYWdlcicsIGxhYmVsOiBgTW9yZSB0aGFuICR7dGhpcy5mZWF0dXJlQ29uZmlnPy5ib3VuY2VkTGltaXQudmFsdWV9IG1pbnNgIH0sXHJcbiAgICAgICAgeyB2YWx1ZTogJ21pc3NlZE9wcG9ydHVuaXR5JywgbGFiZWw6IGAke3RoaXMuZmVhdHVyZUNvbmZpZz8ubWlzc2VkT3Bwb3J0dW5pdHlGcm9tLnZhbHVlfSAtICR7dGhpcy5mZWF0dXJlQ29uZmlnPy5taXNzZWRPcHBvcnR1bml0eVRvLnZhbHVlfSBtaW5zYCB9LFxyXG4gICAgICAgIHsgdmFsdWU6ICdjb252ZXJzaW9uJywgbGFiZWw6IGBNb3JlIHRoYW4gJHt0aGlzLmZlYXR1cmVDb25maWc/LmNvbnZlcnNpb24udmFsdWV9IG1pbnNgIH1cclxuICAgICAgXTtcclxuICAgICAgdGhpcy5ib3VuY2VkYXRhc2V0cyA9IFtcclxuICAgICAgICB7IHZhbHVlOiAnZm9vdGZhbGwnLCBsYWJlbDogJ0Zvb3RmYWxsJyB9LFxyXG4gICAgICAgIHsgdmFsdWU6ICdib3VuY2VkJywgbGFiZWw6IGBMZXNzIHRoYW4gJHt0aGlzLmZlYXR1cmVDb25maWc/LmJvdW5jZWRMaW1pdC52YWx1ZX0gbWlucyBGb290ZmFsbGAgfSxcclxuICAgICAgICB7IHZhbHVlOiAnZW5nYWdlcicsIGxhYmVsOiBgTW9yZSB0aGFuICR7dGhpcy5mZWF0dXJlQ29uZmlnPy5ib3VuY2VkTGltaXQudmFsdWV9IG1pbnNgIH0sXHJcbiAgICAgICAgeyB2YWx1ZTogJ21pc3NlZE9wcG9ydHVuaXR5JywgbGFiZWw6IGAke3RoaXMuZmVhdHVyZUNvbmZpZz8ubWlzc2VkT3Bwb3J0dW5pdHlGcm9tLnZhbHVlfS0ke3RoaXMuZmVhdHVyZUNvbmZpZz8ubWlzc2VkT3Bwb3J0dW5pdHlUby52YWx1ZX0gbWluc2AgfSxcclxuICAgICAgICB7IHZhbHVlOiAnY29udmVyc2lvbicsIGxhYmVsOiBgTW9yZSB0aGFuICR7dGhpcy5mZWF0dXJlQ29uZmlnPy5jb252ZXJzaW9uLnZhbHVlfSBtaW5zYCB9XHJcbiAgICAgIF07XHJcbiAgICB9IFxyXG5cclxuICAgIHRoaXMuZm9vdGZhbGxWYWx1ZTEgPSB0aGlzLmZvb3RmYWxsZGF0YXNldHNbMF0udmFsdWU7XHJcbiAgICB0aGlzLmJvdW5jZVZhbHVlMSA9IHRoaXMuYm91bmNlZGF0YXNldHNbMV0udmFsdWU7XHJcbiAgICB0aGlzLmZvb3RmYWxsTGFiZWwgPSB0aGlzLmZvb3RmYWxsZGF0YXNldHNbMF0ubGFiZWw7XHJcbiAgICB0aGlzLmJvdW5jZUxhYmVsID0gdGhpcy5ib3VuY2VkYXRhc2V0c1sxXS5sYWJlbDtcclxuICB9XHJcblxyXG4gIG5nQWZ0ZXJWaWV3SW5pdCgpIHtcclxuICAgIC8vIEluaXRpYWxpemUgdG9vbHRpcHMgYWZ0ZXIgdGhlIHZpZXcgaXMgaW5pdGlhbGl6ZWRcclxuICAgIGNvbnN0IHRvb2x0aXBUcmlnZ2VyTGlzdCA9IFtdLnNsaWNlLmNhbGwoZG9jdW1lbnQucXVlcnlTZWxlY3RvckFsbCgnW2RhdGEtYnMtdG9nZ2xlPVwidG9vbHRpcFwiXScpKTtcclxuICAgIHRvb2x0aXBUcmlnZ2VyTGlzdC5mb3JFYWNoKGZ1bmN0aW9uICh0b29sdGlwVHJpZ2dlckVsKSB7XHJcbiAgICAgIG5ldyBib290c3RyYXAuVG9vbHRpcCh0b29sdGlwVHJpZ2dlckVsKTtcclxuICAgIH0pO1xyXG4gIH1cclxuICBnZXRGaWx0ZXJlZEJvdW5jZURhdGFzZXRzKCkge1xyXG4gICAgcmV0dXJuIHRoaXMuYm91bmNlZGF0YXNldHMuZmlsdGVyKGRhdGFzZXQgPT4gZGF0YXNldC52YWx1ZSAhPT0gdGhpcy5mb290ZmFsbFZhbHVlMSk7XHJcbiAgfVxyXG4gIFxyXG4gIC8vIEZpbHRlciB0aGUgZm9vdGZhbGwgb3B0aW9ucyB3aGVuIHRoZSBib3VuY2VWYWx1ZSBjaGFuZ2VzXHJcbiAgZ2V0RmlsdGVyZWRGb290ZmFsbERhdGFzZXRzKCkge1xyXG4gICAgcmV0dXJuIHRoaXMuZm9vdGZhbGxkYXRhc2V0cy5maWx0ZXIoZGF0YXNldCA9PiBkYXRhc2V0LnZhbHVlICE9PSB0aGlzLmJvdW5jZVZhbHVlMSk7XHJcbiAgfVxyXG4gIGZvb3RmYWxsVmFsdWUxPSdmb290ZmFsbCdcclxuICBvblZhbHVlQ2hhbmdlKGV2dDogYW55KSB7XHJcbiAgICB0aGlzLmZvb3RmYWxsVmFsdWUxID0gZXZ0LnRhcmdldC52YWx1ZTtcclxuaWYoZXZ0LnRhcmdldC52YWx1ZSA9PSAnZm9vdGZhbGwnKVxyXG4gIHRoaXMuZm9vdGZhbGxMYWJlbCA9ICdGb290ZmFsbCdcclxuZWxzZSBpZihldnQudGFyZ2V0LnZhbHVlID09ICdib3VuY2VkJylcclxuICB0aGlzLmZvb3RmYWxsTGFiZWwgPSB0aGlzLmhlYWRlckRhdGE/LmNsaWVudCA9PT0gJzQ1Mic/YExlc3MgdGhhbiAke3RoaXMuZmVhdHVyZUNvbmZpZz8uYm91bmNlZExpbWl0LnZhbHVlfSBtaW5zIEZvb3RmYWxsYDogJ0JvdW5jZWQgRm9vdGZhbGwnXHJcbmVsc2UgaWYoZXZ0LnRhcmdldC52YWx1ZSA9PSAnZW5nYWdlcicpXHJcbiAgdGhpcy5mb290ZmFsbExhYmVsID0gdGhpcy5oZWFkZXJEYXRhPy5jbGllbnQgPT09ICc0NTInP2BNb3JlIHRoYW4gJHt0aGlzLmZlYXR1cmVDb25maWc/LmJvdW5jZWRMaW1pdC52YWx1ZX0gbWluc2A6ICdFbmdhZ2VycydcclxuZWxzZSBpZihldnQudGFyZ2V0LnZhbHVlID09ICdtaXNzZWRPcHBvcnR1bml0eScpXHJcbiAgdGhpcy5mb290ZmFsbExhYmVsID0gdGhpcy5oZWFkZXJEYXRhPy5jbGllbnQgPT09ICc0NTInP2Ake3RoaXMuZmVhdHVyZUNvbmZpZz8ubWlzc2VkT3Bwb3J0dW5pdHlGcm9tLnZhbHVlfS0ke3RoaXMuZmVhdHVyZUNvbmZpZz8ubWlzc2VkT3Bwb3J0dW5pdHlUby52YWx1ZX0gbWluc2A6ICdNaXNzZWQgT3Bwb3J0dW5pdHknXHJcbmVsc2UgaWYoZXZ0LnRhcmdldC52YWx1ZSA9PSAncG90ZW50aWFsQnV5ZXInKVxyXG4gIHRoaXMuZm9vdGZhbGxMYWJlbCA9ICdQb3RlbnRpYWwgQnV5ZXInXHJcbmVsc2UgaWYoZXZ0LnRhcmdldC52YWx1ZSA9PSAnY29udmVyc2lvbicpXHJcbiAgdGhpcy5mb290ZmFsbExhYmVsID0gdGhpcy5oZWFkZXJEYXRhPy5jbGllbnQgPT09ICc0NTInP2BNb3JlIHRoYW4gJHt0aGlzLmZlYXR1cmVDb25maWc/LmNvbnZlcnNpb24udmFsdWV9IG1pbnNgOiAnY29udmVyc2lvbidcclxuICAgIGlmKHRoaXMuZm9vdGZhbGxWYWx1ZTEgIT09IHRoaXMuYm91bmNlVmFsdWUxKVxyXG4gICAgICB0aGlzLnBlcmZvcm1hbmNlKCk7XHJcbiAgICBlbHNlIFxyXG4gICAgdGhpcy50b2FzdC5nZXRFcnJvclRvYXN0KCdTYW1lIHZhbHVlIG5vdCBmaWx0ZXJlZCcpXHJcbiAgfVxyXG4gIG9uQm91bmNlQ2hhbmdlKGV2dDogYW55KSB7XHJcbiAgICB0aGlzLmJvdW5jZVZhbHVlMSA9IGV2dC50YXJnZXQudmFsdWU7XHJcbiAgICBpZihldnQudGFyZ2V0LnZhbHVlID09ICdmb290ZmFsbCcpXHJcbiAgICAgIHRoaXMuYm91bmNlTGFiZWwgPSAnRm9vdGZhbGwnXHJcbiAgICBlbHNlIGlmKGV2dC50YXJnZXQudmFsdWUgPT0gJ2JvdW5jZWQnKVxyXG4gICAgICB0aGlzLmJvdW5jZUxhYmVsID0gdGhpcy5oZWFkZXJEYXRhPy5jbGllbnQgPT09ICc0NTInP2BMZXNzIHRoYW4gJHt0aGlzLmZlYXR1cmVDb25maWc/LmJvdW5jZWRMaW1pdC52YWx1ZX0gbWlucyBGb290ZmFsbGA6ICdCb3VuY2VkIEZvb3RmYWxsJ1xyXG4gICAgZWxzZSBpZihldnQudGFyZ2V0LnZhbHVlID09ICdlbmdhZ2VyJylcclxuICAgICAgdGhpcy5ib3VuY2VMYWJlbCA9IHRoaXMuaGVhZGVyRGF0YT8uY2xpZW50ID09PSAnNDUyJz9gTW9yZSB0aGFuICR7dGhpcy5mZWF0dXJlQ29uZmlnPy5ib3VuY2VkTGltaXQudmFsdWV9IG1pbnNgOiAnRW5nYWdlcnMnXHJcbiAgICBlbHNlIGlmKGV2dC50YXJnZXQudmFsdWUgPT0gJ21pc3NlZE9wcG9ydHVuaXR5JylcclxuICAgICAgdGhpcy5ib3VuY2VMYWJlbCA9IHRoaXMuaGVhZGVyRGF0YT8uY2xpZW50ID09PSAnNDUyJz9gJHt0aGlzLmZlYXR1cmVDb25maWc/Lm1pc3NlZE9wcG9ydHVuaXR5RnJvbS52YWx1ZX0tJHt0aGlzLmZlYXR1cmVDb25maWc/Lm1pc3NlZE9wcG9ydHVuaXR5VG8udmFsdWV9IG1pbnNgOiAnTWlzc2VkIE9wcG9ydHVuaXR5J1xyXG4gICAgZWxzZSBpZihldnQudGFyZ2V0LnZhbHVlID09ICdwb3RlbnRpYWxCdXllcicpXHJcbiAgICAgIHRoaXMuYm91bmNlTGFiZWwgPSAnUG90ZW50aWFsIEJ1eWVyJ1xyXG4gICAgZWxzZSBpZihldnQudGFyZ2V0LnZhbHVlID09ICdjb252ZXJzaW9uJylcclxuICAgICAgdGhpcy5ib3VuY2VMYWJlbCA9IHRoaXMuaGVhZGVyRGF0YT8uY2xpZW50ID09PSAnNDUyJyA/IGBNb3JlIHRoYW4gJHt0aGlzLmZlYXR1cmVDb25maWc/LmNvbnZlcnNpb24udmFsdWV9IG1pbnNgIDogJ2NvbnZlcnNpb24nXHJcbiAgICBpZih0aGlzLmZvb3RmYWxsVmFsdWUxICE9PSB0aGlzLmJvdW5jZVZhbHVlMSlcclxuICAgIHRoaXMucGVyZm9ybWFuY2UoKTtcclxuICBlbHNlIFxyXG4gIHRoaXMudG9hc3QuZ2V0RXJyb3JUb2FzdCgnU2FtZSB2YWx1ZSBub3QgZmlsdGVyZWQnKVxyXG4gIH1cclxuICBjb252ZXJ0UGVyY2VudFRvUGl4ZWxzKHBlcmNlbnQ6IHN0cmluZywgbWF4UGVyY2VudDogbnVtYmVyLCBiYXNlRGltZW5zaW9uOiBudW1iZXIpOiBudW1iZXIge1xyXG4gICAgLy8gUmVtb3ZlIHRoZSAnJScgc2lnbiBhbmQgcGFyc2UgdGhlIHZhbHVlXHJcbiAgICBjb25zdCB2YWx1ZSA9IHBhcnNlRmxvYXQocGVyY2VudC5yZXBsYWNlKCclJywgJycpKTtcclxuICAgIGlmIChpc05hTih2YWx1ZSkpIHJldHVybiAwO1xyXG4gIFxyXG4gICAgLy8gQ2FsY3VsYXRlIHBpeGVsIHZhbHVlIGJhc2VkIG9uIHRoZSBtYXhpbXVtIHBlcmNlbnRhZ2UgYW5kIGJhc2UgZGltZW5zaW9uXHJcbiAgICByZXR1cm4gKHZhbHVlIC8gbWF4UGVyY2VudCkgKiBiYXNlRGltZW5zaW9uO1xyXG4gIH1cclxuICBcclxuXHJcbiAgZ2V0TWF4UGVyY2VudGFnZShkYXRhOiBhbnlbXSwgZmllbGQ6IHN0cmluZyk6IG51bWJlciB7XHJcbiAgICAvLyBFeHRyYWN0IGFuZCByZXR1cm4gdGhlIG1heGltdW0gcGVyY2VudGFnZSB2YWx1ZSBmcm9tIHRoZSBmaWVsZFxyXG4gICAgcmV0dXJuIE1hdGgubWF4KC4uLmRhdGEubWFwKGl0ZW0gPT4gcGFyc2VGbG9hdChpdGVtW2ZpZWxkXSkgfHwgMCkpO1xyXG4gIH1cclxuICBcclxuICAvLyBub3JtYWxpemVEYXRhKGRhdGE6IGFueVtdKTogYW55W10ge1xyXG4gIC8vICAgY29uc3QgbWF4VG9wUGVyY2VudCA9IE1hdGgubWF4KC4uLmRhdGEubWFwKGl0ZW0gPT4gcGFyc2VGbG9hdChpdGVtLnRvcC5yZXBsYWNlKCclJywgJycpKSkpO1xyXG4gIC8vICAgY29uc3QgbWF4TGVmdFBlcmNlbnQgPSBNYXRoLm1heCguLi5kYXRhLm1hcChpdGVtID0+IHBhcnNlRmxvYXQoaXRlbS5sZWZ0LnJlcGxhY2UoJyUnLCAnJykpKSk7XHJcbiAgXHJcbiAgLy8gICByZXR1cm4gZGF0YS5tYXAoaXRlbSA9PiAoe1xyXG4gIC8vICAgICAuLi5pdGVtLFxyXG4gIC8vICAgICB0b3A6IHRoaXMuc2NhbGVQZXJjZW50KGl0ZW0udG9wLCBtYXhUb3BQZXJjZW50KSArICclJyxcclxuICAvLyAgICAgbGVmdDogdGhpcy5zY2FsZVBlcmNlbnQoaXRlbS5sZWZ0LCBtYXhMZWZ0UGVyY2VudCkgKyAnJSdcclxuICAvLyAgIH0pKTtcclxuICAvLyB9XHJcbiAgXHJcbiAgc2NhbGVQZXJjZW50KHBlcmNlbnQ6IHN0cmluZywgbWF4UGVyY2VudDogbnVtYmVyKTogc3RyaW5nIHtcclxuICAgIGNvbnN0IHBlcmNlbnRWYWx1ZSA9IHBhcnNlRmxvYXQocGVyY2VudC5yZXBsYWNlKCclJywgJycpKTtcclxuICAgIHJldHVybiAoKHBlcmNlbnRWYWx1ZSAvIG1heFBlcmNlbnQpICogMTAwKS50b0ZpeGVkKDIpO1xyXG4gIH1cclxuLy8gVG9nZ2xlIHRoZSB0b29sdGlwIGRpc3BsYXlcclxudG9nZ2xlVG9vbHRpcChwb2ludE5hbWU6IHN0cmluZykge1xyXG4gIHRoaXMuYWN0aXZlVG9vbHRpcCA9IHRoaXMuYWN0aXZlVG9vbHRpcCA9PT0gcG9pbnROYW1lID8gbnVsbCA6IHBvaW50TmFtZTtcclxufVxyXG5cclxucGVyZm9ybWFuY2UoKXtcclxuICB0aGlzLnBlcmZvcm1hbmNlTG9hZGluZyA9IHRydWU7XHJcbiAgdGhpcy5wZXJmb3JtYW5jZW5vRGF0YSA9IGZhbHNlO1xyXG4gIGxldCBvYmogPSB7XHJcbiAgICBjbGllbnRJZDp0aGlzLmhlYWRlckRhdGE/LmNsaWVudCxcclxuICAgIGZyb21EYXRlOiB0aGlzLmhlYWRlckRhdGE/LmRhdGUuc3RhcnREYXRlLFxyXG4gICAgdG9EYXRlOiB0aGlzLmhlYWRlckRhdGE/LmRhdGUuZW5kRGF0ZSxcclxuICAgIG5vcm1hbGl6ZTogdGhpcy5ub3JtYWxpemUsXHJcbiAgICBzdG9yZUlkOiB0aGlzLmhlYWRlckRhdGE/LnN0b3Jlcy5maWx0ZXIoKHN0b3JlOmFueSkgPT4gc3RvcmUuY2hlY2tlZCkubWFwKChzdG9yZTphbnkpID0+IHN0b3JlLnN0b3JlSWQpLFxyXG4gICBwcm9jZXNzdHlwZTE6IHRoaXMuZm9vdGZhbGxWYWx1ZTEsXHJcbiAgIHByb2Nlc3N0eXBlMiA6IHRoaXMuYm91bmNlVmFsdWUxXHJcbiAgfTtcclxuICB0aGlzLnNlcnZpY2UucGVyZm9ybWFuY2VNYXRyaXgob2JqKS5waXBlKHRha2VVbnRpbCh0aGlzLmRlc3Ryb3kkKSlcclxuICA/LnN1YnNjcmliZSh7XHJcbiAgICBuZXh0OiAocmVzOiBhbnkpID0+IHtcclxuICAgICAgaWYgKHJlcyAmJiByZXMuY29kZSA9PT0gMjAwKSB7XHJcbiAgICAgICAgdGhpcy5wZXJmb3JtYW5jZURhdGEgPSByZXM/LmRhdGE/LnBlcmZvcm1hbmNlRGF0YVxyXG4gICAgICAgIC8vIHRoaXMucGVyZm9ybWFuY2VEYXRhID0gdGhpcy5ub3JtYWxpemVEYXRhKHRoaXMucGVyZm9ybWFuY2VEYXRhKTtcclxuICAgICAgICAvLyBDYWxjdWxhdGUgbWF4aW11bSBwZXJjZW50YWdlc1xyXG4gICAgICAgIC8vIGNvbnN0IG1heFRvcCA9IE1hdGgubWF4KC4uLnRoaXMucGVyZm9ybWFuY2VEYXRhLm1hcCgoaXRlbTphbnkpID0+IHBhcnNlRmxvYXQoaXRlbS50b3AucmVwbGFjZSgnJScsICcnKSkpKTtcclxuICAgICAgICAvLyBjb25zdCBtYXhMZWZ0ID0gTWF0aC5tYXgoLi4udGhpcy5wZXJmb3JtYW5jZURhdGEubWFwKChpdGVtOmFueSkgPT4gcGFyc2VGbG9hdChpdGVtLmxlZnQucmVwbGFjZSgnJScsICcnKSkpKTtcclxuICAgICAgICBcclxuICAgICAgICAvLyBDb252ZXJ0IHBlcmZvcm1hbmNlIGRhdGEgdG8gcGl4ZWwgdmFsdWVzXHJcbiAgICAgICAgdGhpcy5wb2ludHMgPSB0aGlzLnBlcmZvcm1hbmNlRGF0YS5tYXAoKGRhdGE6IGFueSkgPT4gKHtcclxuICAgICAgICAgIG5hbWU6IGRhdGEuc3RvcmVOYW1lLFxyXG4gICAgICAgICAgc3RvcmVJZDogZGF0YS5zdG9yZUlkLFxyXG4gICAgICAgICAgYXZnRm9vdGZhbGw6IGRhdGEuYXZnLFxyXG4gICAgICAgICAgb3BlblRpbWU6IGRhdGEuYXZnT3BlblRpbWUsXHJcbiAgICAgICAgICBjbG9zZVRpbWU6IGRhdGEuYXZnQ2xvc2VUaW1lLFxyXG4gICAgICAgICAgdG9wOiBkYXRhLnRvcCwgLy8gQXNzdW1pbmcgNTAwcHggYXMgdGhlIGJhc2UgaGVpZ2h0XHJcbiAgICAgICAgICBsZWZ0OiBkYXRhLmxlZnQgIC8vIEFzc3VtaW5nIDEwMDBweCBhcyB0aGUgYmFzZSB3aWR0aFxyXG4gICAgICAgIH0pKTsgXHJcbiAgICAgICAgdGhpcy5wZXJmb3JtYW5jZUxvYWRpbmcgPSBmYWxzZTtcclxuICAgICAgICB0aGlzLnBlcmZvcm1hbmNlbm9EYXRhID0gZmFsc2U7XHJcbiAgICAgIH0gZWxzZSB7XHJcbiAgICAgICAgdGhpcy5wZXJmb3JtYW5jZUxvYWRpbmcgPSBmYWxzZTtcclxuICAgICAgICB0aGlzLnBlcmZvcm1hbmNlbm9EYXRhID0gdHJ1ZTtcclxuICAgICAgfVxyXG4gICAgICB9XHJcbiAgICB9KVxyXG4gIH1cclxuXHJcbiAgZ2V0VG9vbHRpcFRleHQoKTogc3RyaW5nIHtcclxuICAgIC8vIExvZ2ljIHRvIGRldGVybWluZSB0aGUgdG9vbHRpcCB0ZXh0XHJcbiAgICByZXR1cm4gXCJEeW5hbWljIFRvb2x0aXAgVGV4dCBcIiArIG5ldyBEYXRlKCkudG9Mb2NhbGVUaW1lU3RyaW5nKCk7XHJcbiAgfVxyXG5cclxuICBnZXRGdW5uYWwoKXtcclxuICAgIHRoaXMudGFibGVvYmoudmFsdWVUeXBlPSB0aGlzLnZhbHVlVHlwZSxcclxuICAgICB0aGlzLnRhYmxlb2JqLmZyb21EYXRlID0gdGhpcy5oZWFkZXJEYXRhPy5kYXRlLnN0YXJ0RGF0ZTtcclxuICAgICB0aGlzLnRhYmxlb2JqLnRvRGF0ZSA9IHRoaXMuaGVhZGVyRGF0YT8uZGF0ZS5lbmREYXRlO1xyXG4gICAgIGlmKHRoaXMuY29udmVyc2lvblZhbHVlID09PSAnZm9vdGZhbGwnKXtcclxuICAgICAgdGhpcy50YWJsZW9iai5jb252ZXJzaW9udHlwZSA9ICdmb290ZmFsbC1jb3VudCc7XHJcbiAgICAgfSBpZiAodGhpcy5jb252ZXJzaW9uVmFsdWUgPT09ICdlbmdhZ2Vycycpe1xyXG4gICAgICB0aGlzLnRhYmxlb2JqLmNvbnZlcnNpb250eXBlID0gJ2VuZ2FnZXJzLWNvdW50JztcclxuICAgICB9aWYgKHRoaXMuY29udmVyc2lvblZhbHVlID09PSAnUG90ZW50aWFsIEJ1eWVycycpe1xyXG4gICAgICB0aGlzLnRhYmxlb2JqLmNvbnZlcnNpb250eXBlID0gJ2JpbGxhYmxlLWNvdW50JztcclxuICAgICB9IGlmICh0aGlzLmNvbnZlcnNpb25WYWx1ZSA9PT0gJ05vQiBEZXJpdmVkJyl7XHJcbiAgICAgIHRoaXMudGFibGVvYmouY29udmVyc2lvbnR5cGUgPSAnbm9iJztcclxuICAgICB9XHJcbiAgICAgXHJcbiAgICBkZWxldGUgdGhpcy50YWJsZW9iai5vZmZzZXQ7XHJcbiAgICBkZWxldGUgdGhpcy50YWJsZW9iai5yZWNhcFZpZGVvRGF0ZTtcclxuICAgIGRlbGV0ZSB0aGlzLnRhYmxlb2JqLmxpbWl0OyBcclxuICAgIGRlbGV0ZSB0aGlzLnRhYmxlb2JqLmV4cG9ydDtcclxuICAgIGRlbGV0ZSB0aGlzLnRhYmxlb2JqLnNvcnQ7XHJcbiAgICBkZWxldGUgdGhpcy50YWJsZW9iai5zb3J0Qnk7XHJcbiAgICB0aGlzLmhlYXRsb2FkaW5nID0gdHJ1ZTtcclxuICAgIHRoaXMuaGVhdG5vRGF0YSA9IGZhbHNlO1xyXG4gICBkZWxldGUgdGhpcy50YWJsZW9iai5kYXRlVHlwZVxyXG4gICAgdGhpcy5zZXJ2aWNlXHJcbiAgICAgIC5nZXRGdW5uZWxDYXJkcyh0aGlzLnRhYmxlb2JqKVxyXG4gICAgICAucGlwZSh0YWtlVW50aWwodGhpcy5kZXN0cm95JCkpXHJcbiAgICAgID8uc3Vic2NyaWJlKHtcclxuICAgICAgICBuZXh0OiAocmVzOiBhbnkpID0+IHtcclxuICAgICAgICAgIGlmIChyZXMgJiYgcmVzLmNvZGUgPT09IDIwMCkge1xyXG4gICAgICAgICAgICAvLyB0aGlzLmdldENhcmREYXRhID0gcmVzPy5kYXRhPy5jYXJkO1xyXG4gICAgICAgICAgICB0aGlzLmhlYXRNYXBEYXRhID0gcmVzPy5kYXRhPy5mdW5uZWxDaGFydDtcclxuICAgICAgICAgICBcclxuICAgICAgICAgICAgdGhpcy5oZWF0TWFwKCk7XHJcbiAgICAgICAgICAgIHRoaXMuY2QuZGV0ZWN0Q2hhbmdlcygpO1xyXG4gICAgICAgICAgfSBlbHNlIHtcclxuICAgICAgICAgICAgdGhpcy5nZXRDYXJkRGF0YSA9W107XHJcbiAgICAgICAgICAgIHRoaXMuaGVhdE1hcERhdGEgPVtdO1xyXG4gICAgICAgICAgdGhpcy5oZWF0bG9hZGluZyA9IGZhbHNlXHJcbiAgICAgICAgICB0aGlzLmhlYXRub0RhdGEgPSB0cnVlXHJcbiAgICAgICAgICB9XHJcbiAgICAgICAgfSxcclxuICAgICAgICBlcnJvcjogKGVycjogYW55KSA9PiB7XHJcbiAgICAgICAgICB0aGlzLmdldENhcmREYXRhID1bXTtcclxuICAgICAgICAgIHRoaXMuaGVhdE1hcERhdGEgPVtdO1xyXG4gICAgICAgICAgdGhpcy5jZC5kZXRlY3RDaGFuZ2VzKCk7XHJcbiAgICAgICAgfSxcclxuICAgICAgICBjb21wbGV0ZTogKCkgPT4ge30sXHJcbiAgICAgIH0pO1xyXG4gIH1cclxuICBnZXRGb290ZmFsbENhcmREYXRhOmFueT1bXTtcclxuICBnZXRDb252ZXJzaW9uQ2FyZERhdGE6YW55PVtdO1xyXG4gIGdldEJvdW5jZWRDYXJkRGF0YTphbnkgPVtdO1xyXG4gIGdldEVuZ2FnZXJzQ2FyZERhdGE6YW55PVtdO1xyXG4gIGdldFBvdGVudGlhbEJ1eWVyc0NhcmREYXRhOmFueSA9W107XHJcbiAgZ2V0TWlzc2VkT3Bwb3J0dW5pdHlEYXRhOmFueSA9W107XHJcbiAgZ2V0UG90ZW50aWFsQnV5ZXJzRGF0YTphbnk9W107XHJcbiAgZ2V0SW50aWFsKCl7XHJcbiAgICBkZWxldGUgdGhpcy50YWJsZW9iai5yZWNhcFZpZGVvRGF0ZTtcclxuICAgIGRlbGV0ZSB0aGlzLnRhYmxlb2JqLnNvcnQ7XHJcbiAgICBkZWxldGUgdGhpcy50YWJsZW9iai5zb3J0Qnk7XHJcbiAgICAodGhpcy50YWJsZW9iai52YWx1ZVR5cGUgPSB0aGlzLnZhbHVlVHlwZSksXHJcbiAgICAodGhpcy50YWJsZW9iai5mcm9tRGF0ZSA9IHRoaXMuaGVhZGVyRGF0YT8uZGF0ZS5zdGFydERhdGUpO1xyXG4gIHRoaXMudGFibGVvYmoudG9EYXRlID0gdGhpcy5oZWFkZXJEYXRhPy5kYXRlLmVuZERhdGU7XHJcbiAgdGhpcy5nZXRGb290ZmFsbENhcmQoKTtcclxuICB0aGlzLmdldENvbnZlcnNpb25DYXJkKCk7XHJcbiAgdGhpcy5nZXRCb3VuY2VkQ2FyZCgpO1xyXG4gIHRoaXMuZ2V0RW5nYWdlcnNDYXJkKCk7XHJcbiAgdGhpcy5nZXRQb3RlbnRpYWxCdXllcnNDYXJkKCk7XHJcbiAgdGhpcy5nZXRNaXNzZWRPcHBvcnR1bml0eUNhcmQoKTtcclxuICB0aGlzLmdldFBvdGVudGlhbEJ1eWVycygpO1xyXG4gIH1cclxuICBmb290ZmFsbGxvYWRpbmcgPXRydWU7XHJcbiAgZm9vdGZhbGxOb2RhdGEgPWZhbHNlO1xyXG4gIGdldEZvb3RmYWxsQ2FyZCgpe1xyXG4gICAgdGhpcy5mb290ZmFsbGxvYWRpbmcgPXRydWU7XHJcbiAgICB0aGlzLmZvb3RmYWxsTm9kYXRhID1mYWxzZTtcclxuICAgIGRlbGV0ZSB0aGlzLnRhYmxlb2JqLm9mZnNldDtcclxuICAgIGRlbGV0ZSB0aGlzLnRhYmxlb2JqLmxpbWl0O1xyXG4gICAgZGVsZXRlIHRoaXMudGFibGVvYmouZXhwb3J0O1xyXG4gICAgdGhpcy50YWJsZW9iai5kYXRlVHlwZT0gdGhpcy5kYXRlVHlwZTtcclxuICAgIHRoaXMuc2VydmljZVxyXG4gICAgICAuZ2V0Rm9vdGRmYWxsQ2FyZExpc3QodGhpcy50YWJsZW9iailcclxuICAgICAgLnBpcGUodGFrZVVudGlsKHRoaXMuZGVzdHJveSQpKVxyXG4gICAgICA/LnN1YnNjcmliZSh7XHJcbiAgICAgICAgbmV4dDogKHJlczogYW55KSA9PiB7XHJcbiAgICAgICAgICBpZiAocmVzICYmIHJlcy5jb2RlID09PSAyMDApIHtcclxuICAgICAgICAgICAgdGhpcy5nZXRGb290ZmFsbENhcmREYXRhID0gcmVzPy5kYXRhO1xyXG4gICAgICAgICAgaWYodGhpcy5nZXRGb290ZmFsbENhcmREYXRhPy5kYXRhPy5mb290ZmFsbD8uZGF0YS5sZW5ndGgpe1xyXG4gICAgICAgICAgICB0aGlzLmZvb3RmYWxsbGluZUNoYXJ0cygpO1xyXG4gICAgICAgICAgICB0aGlzLmZvb3RmYWxsbG9hZGluZyA9ZmFsc2U7XHJcbiAgICAgICAgICAgIHRoaXMuZm9vdGZhbGxOb2RhdGEgPWZhbHNlO1xyXG4gICAgICAgICAgfSBlbHNlIHtcclxuICAgICAgICAgIHRoaXMuZ2V0Rm9vdGZhbGxDYXJkRGF0YSA9W107XHJcbiAgICAgICAgICB0aGlzLmZvb3RmYWxsbG9hZGluZyA9ZmFsc2U7XHJcbiAgICAgICAgICB0aGlzLmZvb3RmYWxsTm9kYXRhID10cnVlO1xyXG4gICAgICAgICAgfVxyXG4gICAgICAgICAgfSBlbHNlIHsgXHJcbiAgICAgICAgICB0aGlzLmdldEZvb3RmYWxsQ2FyZERhdGEgPVtdO1xyXG4gICAgICAgICAgdGhpcy5mb290ZmFsbGxvYWRpbmcgPWZhbHNlO1xyXG4gICAgICAgICAgdGhpcy5mb290ZmFsbE5vZGF0YSA9dHJ1ZTtcclxuICAgICAgICB9XHJcbiAgICAgIH0sXHJcbiAgICAgIGVycm9yOiAoZXJyOiBhbnkpID0+IHtcclxuICAgICAgICB0aGlzLmdldEZvb3RmYWxsQ2FyZERhdGEgPVtdO1xyXG4gICAgICAgIHRoaXMuZm9vdGZhbGxsb2FkaW5nID1mYWxzZTtcclxuICAgICAgICB0aGlzLmZvb3RmYWxsTm9kYXRhID10cnVlO1xyXG4gICAgICAgIHRoaXMuY2QuZGV0ZWN0Q2hhbmdlcygpO1xyXG4gICAgICB9LCBcclxuICAgICAgfSlcclxuICB9XHJcbiAgc2V0Q29udmVyc2lvblR5cGUoY29udmVyc2lvblZhbHVlOiBzdHJpbmcpOiBzdHJpbmcge1xyXG4gICAgY29uc3QgbWFwOiBSZWNvcmQ8c3RyaW5nLCBzdHJpbmc+ID0ge1xyXG4gICAgICAnZm9vdGZhbGwnOiAnZm9vdGZhbGwtY291bnQnLFxyXG4gICAgICAnZW5nYWdlcnMnOiAnZW5nYWdlcnMtY291bnQnLFxyXG4gICAgICAnUG90ZW50aWFsIEJ1eWVycyc6ICdiaWxsYWJsZS1jb3VudCcsXHJcbiAgICAgICdOb0IgRGVyaXZlZCc6ICdub2InLFxyXG4gICAgfTtcclxuICAgIHJldHVybiBtYXBbY29udmVyc2lvblZhbHVlXSB8fCAnJztcclxuICB9XHJcbiAgXHJcbiAgZ2V0Q29udmVyc2lvbkNhcmQoKXtcclxuICAgIGNvbnN0IHsgdGFibGVvYmogfSA9IHRoaXM7XHJcbiAgICBkZWxldGUgdGFibGVvYmoub2Zmc2V0O1xyXG4gICAgZGVsZXRlIHRhYmxlb2JqLmxpbWl0O1xyXG4gICAgZGVsZXRlIHRhYmxlb2JqLmV4cG9ydDtcclxuICAgIHRhYmxlb2JqLmRhdGVUeXBlID0gdGhpcy5kYXRlVHlwZTtcclxuICAgIHRhYmxlb2JqLmNvbnZlcnNpb250eXBlID0gdGhpcy5zZXRDb252ZXJzaW9uVHlwZSh0aGlzLmNvbnZlcnNpb25WYWx1ZSk7XHJcbiAgICAgICB0aGlzLnNlcnZpY2VcclxuICAgICAgICAgLmdldENvbnZlcnNpb25DYXJkTGlzdCh0aGlzLnRhYmxlb2JqKVxyXG4gICAgICAgICAucGlwZSh0YWtlVW50aWwodGhpcy5kZXN0cm95JCkpXHJcbiAgICAgICAgID8uc3Vic2NyaWJlKHtcclxuICAgICAgICAgICBuZXh0OiAocmVzOiBhbnkpID0+IHtcclxuICAgICAgICAgICAgIGlmIChyZXMgJiYgcmVzLmNvZGUgPT09IDIwMCkge1xyXG4gICAgICAgICAgICAgICB0aGlzLmdldENvbnZlcnNpb25DYXJkRGF0YSA9IHJlcz8uZGF0YTtcclxuICAgICAgICAgICAgICAgaWYgKHRoaXMubm9iKSB7XHJcbiAgICAgICAgICAgICAgICB0aGlzLnZhbHVlQ29udmVyc2lvblJhdGUgPSB0aGlzLmdldENvbnZlcnNpb25DYXJkRGF0YT8uY29udmVyc2lvbj8ubm9iPy5ub2I7XHJcbiAgICAgICAgICAgICAgICB0aGlzLmNvbnZlcnNpb25WYWx1ZSA9ICdOb0IgRGVyaXZlZCc7XHJcbiAgICAgICAgICAgICAgfSBlbHNlIGlmICh0aGlzLmNsaWVudERhdGE/LmZlYXR1cmVDb25maWdzPy5taXNzZWRPcHBvcnR1bml0eUNhbGN1bGF0aW9uID09PSAnZW5nYWdlcnMtY29udmVyc2lvbicpIHtcclxuICAgICAgICAgICAgICAgIHRoaXMudmFsdWVDb252ZXJzaW9uUmF0ZSA9IHRoaXMuZ2V0Q29udmVyc2lvbkNhcmREYXRhPy5jb252ZXJzaW9uPy5lbmdhZ2Vycz8ucmF0ZTtcclxuICAgICAgICAgICAgICAgIHRoaXMuY29udmVyc2lvblZhbHVlID0gJ2VuZ2FnZXJzJztcclxuICAgICAgICAgICAgICB9IGVsc2Uge1xyXG4gICAgICAgICAgICAgICAgdGhpcy52YWx1ZUNvbnZlcnNpb25SYXRlID0gdGhpcy5nZXRDb252ZXJzaW9uQ2FyZERhdGE/LmNvbnZlcnNpb24/LmZvb3RmYWxsPy5yYXRlO1xyXG4gICAgICAgICAgICAgICAgdGhpcy5jb252ZXJzaW9uVmFsdWUgPSAnZm9vdGZhbGwnO1xyXG4gICAgICAgICAgICAgIH1cclxuXHJcbiAgICAgICAgICAgICAgLy8gaWYgKHRoaXMubm9iICYmIHRoaXMuY2xpZW50RGF0YT8uZmVhdHVyZUNvbmZpZ3M/LmNvbnZlcnNpb25DYWxjdWxhdGlvbiA9PT0gJ2Zvb3RmYWxsLWNvdW50Jykge1xyXG4gICAgICAgICAgICAgIC8vICAgdGhpcy52YWx1ZUNvbnZlcnNpb25SYXRlID0gdGhpcy5nZXRDb252ZXJzaW9uQ2FyZERhdGE/LmNvbnZlcnNpb24/LmZvb3RmYWxsPy5yYXRlO1xyXG4gICAgICAgICAgICAgIC8vICAgdGhpcy5jb252ZXJzaW9uVmFsdWUgPSAnZm9vdGZhbGwnO1xyXG4gICAgICAgICAgICAgIC8vIH0gZWxzZSBpZiAodGhpcy5ub2IgJiYgdGhpcy5jbGllbnREYXRhPy5mZWF0dXJlQ29uZmlncz8uY29udmVyc2lvbkNhbGN1bGF0aW9uID09PSAnZW5nYWdlcnMtY291bnQnKSB7XHJcbiAgICAgICAgICAgICAgLy8gICB0aGlzLnZhbHVlQ29udmVyc2lvblJhdGUgPSB0aGlzLmdldENvbnZlcnNpb25DYXJkRGF0YT8uY29udmVyc2lvbj8uZW5nYWdlcnM/LnJhdGU7XHJcbiAgICAgICAgICAgICAgLy8gICB0aGlzLmNvbnZlcnNpb25WYWx1ZSA9ICdlbmdhZ2Vycyc7XHJcbiAgICAgICAgICAgICAgLy8gfSBlbHNlIGlmICh0aGlzLm5vYiAmJiB0aGlzLmNsaWVudERhdGE/LmZlYXR1cmVDb25maWdzPy5jb252ZXJzaW9uQ2FsY3VsYXRpb24gPT09ICdiaWxsYWJsZS1lbnRpdGllcycpIHtcclxuICAgICAgICAgICAgICAvLyAgIHRoaXMudmFsdWVDb252ZXJzaW9uUmF0ZSA9IHRoaXMuZ2V0Q29udmVyc2lvbkNhcmREYXRhPy5jb252ZXJzaW9uPy5wb3RlbnRpYWxCdXllcnM/LnJhdGU7XHJcbiAgICAgICAgICAgICAgLy8gICB0aGlzLmNvbnZlcnNpb25WYWx1ZSA9ICdQb3RlbnRpYWwgQnV5ZXJzJztcclxuICAgICAgICAgICAgICAvLyB9XHJcbiAgICAgICAgICAgICB9IGVsc2UgeyBcclxuICAgICAgICAgICAgICB0aGlzLmdldENvbnZlcnNpb25DYXJkRGF0YSA9W107XHJcbiAgICAgICAgICAgfVxyXG4gICAgICAgICB9LFxyXG4gICAgICAgICBlcnJvcjogKGVycjogYW55KSA9PiB7XHJcbiAgICAgICAgICAgdGhpcy5nZXRDb252ZXJzaW9uQ2FyZERhdGEgPVtdO1xyXG4gICAgICAgICAgIHRoaXMuY2QuZGV0ZWN0Q2hhbmdlcygpO1xyXG4gICAgICAgICB9LCBcclxuICAgICAgICAgfSlcclxuICAgICB9XHJcbiAgICAgZ2V0Q29udmVyc2lvbkNhcmQxKCl7XHJcbiAgICAgIGNvbnN0IHsgdGFibGVvYmogfSA9IHRoaXM7XHJcbiAgZGVsZXRlIHRhYmxlb2JqLm9mZnNldDtcclxuICBkZWxldGUgdGFibGVvYmoubGltaXQ7XHJcbiAgZGVsZXRlIHRhYmxlb2JqLmV4cG9ydDtcclxuICB0YWJsZW9iai5kYXRlVHlwZSA9IHRoaXMuZGF0ZVR5cGU7XHJcbiAgdGFibGVvYmouY29udmVyc2lvbnR5cGUgPSB0aGlzLnNldENvbnZlcnNpb25UeXBlKHRoaXMuY29udmVyc2lvblZhbHVlKTtcclxuICAgICAgICAgdGhpcy5zZXJ2aWNlXHJcbiAgICAgICAgICAgLmdldENvbnZlcnNpb25DYXJkTGlzdCh0aGlzLnRhYmxlb2JqKVxyXG4gICAgICAgICAgIC5waXBlKHRha2VVbnRpbCh0aGlzLmRlc3Ryb3kkKSlcclxuICAgICAgICAgICA/LnN1YnNjcmliZSh7XHJcbiAgICAgICAgICAgICBuZXh0OiAocmVzOiBhbnkpID0+IHtcclxuICAgICAgICAgICAgICAgaWYgKHJlcyAmJiByZXMuY29kZSA9PT0gMjAwKSB7XHJcbiAgICAgICAgICAgICAgICAgdGhpcy5nZXRDb252ZXJzaW9uQ2FyZERhdGEgPSByZXM/LmRhdGE7XHJcbiAgICAgICAgICAgICAgICAgaWYodGhpcy5jb252ZXJzaW9uVmFsdWUgPT09ICdmb290ZmFsbCcpe1xyXG4gICAgICAgICAgICAgICAgICB0aGlzLnRhYmxlb2JqLmNvbnZlcnNpb250eXBlID0gJ2Zvb3RmYWxsLWNvdW50JzsgIHRoaXMudmFsdWVDb252ZXJzaW9uUmF0ZSA9IHRoaXMuZ2V0Q29udmVyc2lvbkNhcmREYXRhPy5jb252ZXJzaW9uPy5mb290ZmFsbD8ucmF0ZTtcclxuICAgICAgICAgICAgICAgICB9ICBpZiAodGhpcy5jb252ZXJzaW9uVmFsdWUgPT09ICdlbmdhZ2Vycycpe1xyXG4gICAgICAgICAgICAgICAgICB0aGlzLnRhYmxlb2JqLmNvbnZlcnNpb250eXBlID0gJ2VuZ2FnZXJzLWNvdW50JzsgXHJcbiAgICAgICAgICAgICAgICAgIHRoaXMudmFsdWVDb252ZXJzaW9uUmF0ZSA9IHRoaXMuZ2V0Q29udmVyc2lvbkNhcmREYXRhPy5jb252ZXJzaW9uPy5lbmdhZ2Vycz8ucmF0ZTtcclxuICAgICAgICAgICAgICAgICB9aWYgKHRoaXMuY29udmVyc2lvblZhbHVlID09PSAnUG90ZW50aWFsIEJ1eWVycycpe1xyXG4gICAgICAgICAgICAgICAgICB0aGlzLnRhYmxlb2JqLmNvbnZlcnNpb250eXBlID0gJ2JpbGxhYmxlLWNvdW50JzsgXHJcbiAgICAgICAgICAgICAgICAgIHRoaXMudmFsdWVDb252ZXJzaW9uUmF0ZSA9IHRoaXMuZ2V0Q29udmVyc2lvbkNhcmREYXRhPy5jb252ZXJzaW9uPy5wb3RlbnRpYWxCdXllcnM/LnJhdGU7XHJcbiAgICAgICAgICAgICAgICAgfSBpZiAodGhpcy5jb252ZXJzaW9uVmFsdWUgPT09ICdOb0IgRGVyaXZlZCcpe1xyXG4gICAgICAgICAgICAgICAgICB0aGlzLnRhYmxlb2JqLmNvbnZlcnNpb250eXBlID0gJ25vYic7IHRoaXMudmFsdWVDb252ZXJzaW9uUmF0ZSA9IHRoaXMuZ2V0Q29udmVyc2lvbkNhcmREYXRhPy5jb252ZXJzaW9uPy5ub2I/Lm5vYjtcclxuICAgICAgICAgICAgICAgICB9XHJcbiAgICAgICAgICAgICAgIH0gZWxzZSB7IFxyXG4gICAgICAgICAgICAgICAgdGhpcy5nZXRDb252ZXJzaW9uQ2FyZERhdGEgPVtdO1xyXG4gICAgICAgICAgICAgfVxyXG4gICAgICAgICAgIH0sXHJcbiAgICAgICAgICAgZXJyb3I6IChlcnI6IGFueSkgPT4ge1xyXG4gICAgICAgICAgICAgdGhpcy5nZXRDb252ZXJzaW9uQ2FyZERhdGEgPVtdO1xyXG4gICAgICAgICAgICAgdGhpcy5jZC5kZXRlY3RDaGFuZ2VzKCk7XHJcbiAgICAgICAgICAgfSwgXHJcbiAgICAgICAgICAgfSlcclxuICAgICAgIH1cclxuICAgICBib3VuY2VkTm9kYXRhID1mYWxzZTtcclxuICAgICBnZXRCb3VuY2VkQ2FyZCgpe1xyXG4gICAgICBkZWxldGUgdGhpcy50YWJsZW9iai5vZmZzZXQ7XHJcbiAgICAgIGRlbGV0ZSB0aGlzLnRhYmxlb2JqLmxpbWl0O1xyXG4gICAgICBkZWxldGUgdGhpcy50YWJsZW9iai5leHBvcnQ7XHJcbiAgICAgIHRoaXMudGFibGVvYmouZGF0ZVR5cGU9IHRoaXMuZGF0ZVR5cGU7XHJcbiAgICAgIHRoaXMuc2VydmljZVxyXG4gICAgICAgIC5nZXRCb3VuY2VkQ2FyZExpc3QodGhpcy50YWJsZW9iailcclxuICAgICAgICAucGlwZSh0YWtlVW50aWwodGhpcy5kZXN0cm95JCkpXHJcbiAgICAgICAgPy5zdWJzY3JpYmUoe1xyXG4gICAgICAgICAgbmV4dDogKHJlczogYW55KSA9PiB7XHJcbiAgICAgICAgICAgIGlmIChyZXMgJiYgcmVzLmNvZGUgPT09IDIwMCkge1xyXG4gICAgICAgICAgICAgIHRoaXMuZ2V0Qm91bmNlZENhcmREYXRhID0gcmVzPy5kYXRhO1xyXG4gICAgICAgICAgICAgIGlmKHRoaXMuZ2V0Qm91bmNlZENhcmREYXRhPy5kYXRhPy5ib3VuY2VkPy5kYXRhLmxlbmd0aCl7XHJcbiAgICAgICAgICAgICAgdGhpcy5ib3VuY2VkbGluZUNoYXJ0cygpO1xyXG4gICAgICAgICAgICAgIHRoaXMuYm91bmNlZE5vZGF0YSA9ZmFsc2U7XHJcbiAgICAgICAgICAgICAgfSBlbHNle1xyXG4gICAgICAgICAgICAgICAgdGhpcy5nZXRCb3VuY2VkQ2FyZERhdGEgPVtdO1xyXG4gICAgICAgICAgICAgICAgdGhpcy5ib3VuY2VkTm9kYXRhID10cnVlO1xyXG4gICAgICAgICAgICAgIH1cclxuICAgICAgICAgICAgfSBlbHNlIHsgXHJcbiAgICAgICAgICAgICAgdGhpcy5ib3VuY2VkTm9kYXRhID10cnVlO1xyXG4gICAgICAgICAgICAgIHRoaXMuZ2V0Qm91bmNlZENhcmREYXRhID1bXTtcclxuICAgICAgICAgIH1cclxuICAgICAgICB9LFxyXG4gICAgICAgIGVycm9yOiAoZXJyOiBhbnkpID0+IHtcclxuICAgICAgICAgIHRoaXMuZ2V0Qm91bmNlZENhcmREYXRhID1bXTtcclxuICAgICAgICAgIHRoaXMuYm91bmNlZE5vZGF0YSA9dHJ1ZTtcclxuICAgICAgICAgIHRoaXMuY2QuZGV0ZWN0Q2hhbmdlcygpO1xyXG4gICAgICAgIH0sIFxyXG4gICAgICAgIH0pIFxyXG4gICAgfVxyXG4gICAgZW5nYWdlcnNOb2RhdGEgPWZhbHNlO1xyXG4gICAgZ2V0RW5nYWdlcnNDYXJkKCl7XHJcbiAgICAgIGRlbGV0ZSB0aGlzLnRhYmxlb2JqLm9mZnNldDtcclxuICAgICAgZGVsZXRlIHRoaXMudGFibGVvYmoubGltaXQ7XHJcbiAgICAgIGRlbGV0ZSB0aGlzLnRhYmxlb2JqLmV4cG9ydDtcclxuICAgICAgdGhpcy50YWJsZW9iai5kYXRlVHlwZT0gdGhpcy5kYXRlVHlwZTtcclxuICAgICAgdGhpcy5zZXJ2aWNlXHJcbiAgICAgICAgLmdldEVuZ2FnZXJzQ2FyZExpc3QodGhpcy50YWJsZW9iailcclxuICAgICAgICAucGlwZSh0YWtlVW50aWwodGhpcy5kZXN0cm95JCkpXHJcbiAgICAgICAgPy5zdWJzY3JpYmUoe1xyXG4gICAgICAgICAgbmV4dDogKHJlczogYW55KSA9PiB7XHJcbiAgICAgICAgICAgIGlmIChyZXMgJiYgcmVzLmNvZGUgPT09IDIwMCkge1xyXG4gICAgICAgICAgICAgIHRoaXMuZ2V0RW5nYWdlcnNDYXJkRGF0YSA9IHJlcz8uZGF0YTtcclxuICAgICAgICAgICAgICBpZih0aGlzLmdldEVuZ2FnZXJzQ2FyZERhdGE/LmRhdGE/LmVuZ2FnZXJzPy5kYXRhLmxlbmd0aCl7XHJcbiAgICAgICAgICAgICAgdGhpcy5lbmdhZ2Vyc2xpbmVDaGFydHMoKTtcclxuICAgICAgICAgICAgICB0aGlzLmVuZ2FnZXJzTm9kYXRhID1mYWxzZTtcclxuICAgICAgICAgICAgICB9IGVsc2Uge1xyXG4gICAgICAgICAgICAgICAgdGhpcy5nZXRFbmdhZ2Vyc0NhcmREYXRhID1bXTtcclxuICAgICAgICAgICAgICB0aGlzLmVuZ2FnZXJzTm9kYXRhID10cnVlO1xyXG4gICAgICAgICAgICAgIH1cclxuICAgICAgICAgICAgfSBlbHNlIHsgXHJcbiAgICAgICAgICAgICAgdGhpcy5nZXRFbmdhZ2Vyc0NhcmREYXRhID1bXTtcclxuICAgICAgICAgICAgICB0aGlzLmVuZ2FnZXJzTm9kYXRhID10cnVlO1xyXG4gICAgICAgICAgfVxyXG4gICAgICAgIH0sXHJcbiAgICAgICAgZXJyb3I6IChlcnI6IGFueSkgPT4ge1xyXG4gICAgICAgICAgdGhpcy5nZXRFbmdhZ2Vyc0NhcmREYXRhID1bXTtcclxuICAgICAgICAgIHRoaXMuZW5nYWdlcnNOb2RhdGEgPXRydWU7XHJcbiAgICAgICAgICB0aGlzLmNkLmRldGVjdENoYW5nZXMoKTtcclxuICAgICAgICB9LCBcclxuICAgICAgICB9KVxyXG4gICAgfVxyXG4gICAgZ2V0TWlzc2VkT3Bwb3J0dW5pdHlDYXJkKCl7XHJcbiAgICAgIGRlbGV0ZSB0aGlzLnRhYmxlb2JqLm9mZnNldDtcclxuICAgICAgZGVsZXRlIHRoaXMudGFibGVvYmoubGltaXQ7XHJcbiAgICAgIGRlbGV0ZSB0aGlzLnRhYmxlb2JqLmV4cG9ydDtcclxuICAgICAgdGhpcy50YWJsZW9iai5kYXRlVHlwZT0gdGhpcy5kYXRlVHlwZTtcclxuICAgICAgdGhpcy5zZXJ2aWNlXHJcbiAgICAgIC5nZXRNaXNzZWRPcHBvcnR1bml0eUNhcmRMaXN0KHRoaXMudGFibGVvYmopXHJcbiAgICAgIC5waXBlKHRha2VVbnRpbCh0aGlzLmRlc3Ryb3kkKSlcclxuICAgICAgPy5zdWJzY3JpYmUoe1xyXG4gICAgICAgIG5leHQ6IChyZXM6IGFueSkgPT4ge1xyXG4gICAgICAgICAgaWYgKHJlcyAmJiByZXMuY29kZSA9PT0gMjAwKSB7XHJcbiAgICAgICAgICAgIHRoaXMuZ2V0TWlzc2VkT3Bwb3J0dW5pdHlEYXRhID0gcmVzPy5kYXRhO1xyXG4gICAgICAgICAgfSBlbHNlIHsgXHJcbiAgICAgICAgICAgIHRoaXMuZ2V0TWlzc2VkT3Bwb3J0dW5pdHlEYXRhID1bXTtcclxuICAgICAgICB9XHJcbiAgICAgIH0sXHJcbiAgICAgIGVycm9yOiAoZXJyOiBhbnkpID0+IHtcclxuICAgICAgICB0aGlzLmdldE1pc3NlZE9wcG9ydHVuaXR5RGF0YSA9W107XHJcbiAgICAgICAgdGhpcy5jZC5kZXRlY3RDaGFuZ2VzKCk7XHJcbiAgICAgIH0sIFxyXG4gICAgICB9KVxyXG4gICAgfVxyXG4gICAgcG90ZW50aWFsTm9kYXRhID1mYWxzZTtcclxuICAgIGdldFBvdGVudGlhbEJ1eWVyc0NhcmQoKXtcclxuICAgICAgZGVsZXRlIHRoaXMudGFibGVvYmoub2Zmc2V0O1xyXG4gICAgICBkZWxldGUgdGhpcy50YWJsZW9iai5saW1pdDtcclxuICAgICAgZGVsZXRlIHRoaXMudGFibGVvYmouZXhwb3J0O1xyXG4gICAgICB0aGlzLnRhYmxlb2JqLmRhdGVUeXBlPSB0aGlzLmRhdGVUeXBlO1xyXG4gICAgICB0aGlzLnNlcnZpY2VcclxuICAgICAgICAuZ2V0UG90ZW50aWFsQnV5ZXJzQ2FyZExpc3QodGhpcy50YWJsZW9iailcclxuICAgICAgICAucGlwZSh0YWtlVW50aWwodGhpcy5kZXN0cm95JCkpXHJcbiAgICAgICAgPy5zdWJzY3JpYmUoe1xyXG4gICAgICAgICAgbmV4dDogKHJlczogYW55KSA9PiB7XHJcbiAgICAgICAgICAgIGlmIChyZXMgJiYgcmVzLmNvZGUgPT09IDIwMCkge1xyXG4gICAgICAgICAgICAgIHRoaXMuZ2V0UG90ZW50aWFsQnV5ZXJzQ2FyZERhdGEgPSByZXM/LmRhdGE7XHJcbiAgICAgICAgICAgICAgaWYodGhpcy5nZXRQb3RlbnRpYWxCdXllcnNDYXJkRGF0YT8uZGF0YT8ucG90ZW50aWFsQnV5ZXJzPy5kYXRhLmxlbmd0aCl7XHJcbiAgICAgICAgICAgICAgdGhpcy5wb3RlbnRpYWxsaW5lQ2hhcnRzKCk7XHJcbiAgICAgICAgICAgICAgdGhpcy5wb3RlbnRpYWxOb2RhdGEgPWZhbHNlO1xyXG4gICAgICAgICAgICAgIH0gZWxzZSB7IFxyXG4gICAgICAgICAgICAgICAgdGhpcy5nZXRQb3RlbnRpYWxCdXllcnNDYXJkRGF0YSA9W107XHJcbiAgICAgICAgICAgICAgICB0aGlzLnBvdGVudGlhbE5vZGF0YSA9dHJ1ZTtcclxuICAgICAgICAgICAgfVxyXG4gICAgICAgICAgICB9ICBlbHNlIHsgXHJcbiAgICAgICAgICAgICAgdGhpcy5nZXRQb3RlbnRpYWxCdXllcnNDYXJkRGF0YSA9W107XHJcbiAgICAgICAgICAgICAgdGhpcy5wb3RlbnRpYWxOb2RhdGEgPXRydWU7XHJcbiAgICAgICAgICB9XHJcbiAgICAgICAgfSxcclxuICAgICAgICBlcnJvcjogKGVycjogYW55KSA9PiB7XHJcbiAgICAgICAgICB0aGlzLmdldFBvdGVudGlhbEJ1eWVyc0NhcmREYXRhID1bXTtcclxuICAgICAgICAgIHRoaXMucG90ZW50aWFsTm9kYXRhID10cnVlO1xyXG4gICAgICAgICAgdGhpcy5jZC5kZXRlY3RDaGFuZ2VzKCk7XHJcbiAgICAgICAgfSwgXHJcbiAgICAgICAgfSlcclxuICAgIH1cclxuXHJcbiAgICBnZXRQb3RlbnRpYWxCdXllcnMoKXtcclxuICAgICAgZGVsZXRlIHRoaXMudGFibGVvYmoub2Zmc2V0O1xyXG4gICAgICBkZWxldGUgdGhpcy50YWJsZW9iai5saW1pdDtcclxuICAgICAgZGVsZXRlIHRoaXMudGFibGVvYmouZXhwb3J0O1xyXG4gICAgICB0aGlzLnRhYmxlb2JqLmRhdGVUeXBlPSB0aGlzLmRhdGVUeXBlO1xyXG4gICAgICB0aGlzLnNlcnZpY2VcclxuICAgICAgLmdldFBvdGVudGlhbEJ1eWVyc0Rpc3RyaWJ1dGlvbkNhcmRMaXN0KHRoaXMudGFibGVvYmopXHJcbiAgICAgIC5waXBlKHRha2VVbnRpbCh0aGlzLmRlc3Ryb3kkKSlcclxuICAgICAgPy5zdWJzY3JpYmUoe1xyXG4gICAgICAgIG5leHQ6IChyZXM6IGFueSkgPT4ge1xyXG4gICAgICAgICAgaWYgKHJlcyAmJiByZXMuY29kZSA9PT0gMjAwKSB7XHJcbiAgICAgICAgICAgIHRoaXMuZ2V0UG90ZW50aWFsQnV5ZXJzRGF0YSA9IHJlcz8uZGF0YT8uY2FyZDtcclxuICAgICAgICAgIH0gIGVsc2UgeyBcclxuICAgICAgICAgICAgdGhpcy5nZXRQb3RlbnRpYWxCdXllcnNEYXRhID1bXTtcclxuICAgICAgICB9XHJcbiAgICAgIH0sXHJcbiAgICAgIGVycm9yOiAoZXJyOiBhbnkpID0+IHtcclxuICAgICAgICB0aGlzLmdldFBvdGVudGlhbEJ1eWVyc0RhdGEgPVtdO1xyXG4gICAgICAgIHRoaXMuY2QuZGV0ZWN0Q2hhbmdlcygpO1xyXG4gICAgICB9LCBcclxuICAgICAgfSlcclxuICAgIH1cclxuXHJcblxyXG4gIGdldFJlY2FwKCkge1xyXG4gICAgdGhpcy5yZWNhcGxhb2RpbmcgPXRydWU7XHJcbiAgICB0aGlzLnJlY2Fwbm9EYXRhID1mYWxzZTtcclxuICAgIGRlbGV0ZSB0aGlzLnRhYmxlb2JqLnByb2Nlc3NUeXBlOyBkZWxldGUgdGhpcy50YWJsZW9iai5ub3JtYWxpemVkRGF0YTtcclxuICAgICBkZWxldGUgdGhpcy50YWJsZW9iai5kYXRlVHlwZTsgZGVsZXRlIHRoaXMudGFibGVvYmouZnJvbURhdGU7XHJcbiAgICAgZGVsZXRlIHRoaXMudGFibGVvYmoudG9EYXRlOyBkZWxldGUgdGhpcy50YWJsZW9iai52YWx1ZVR5cGU7IGRlbGV0ZSB0aGlzLnRhYmxlb2JqLnByb2Nlc3NUeXBlO1xyXG4gICAgIGRlbGV0ZSB0aGlzLnRhYmxlb2JqLnNlYXJjaDsgZGVsZXRlIHRoaXMudGFibGVvYmoub2Zmc2V0O1xyXG4gICAgIGRlbGV0ZSB0aGlzLnRhYmxlb2JqLmxpbWl0OyBkZWxldGUgdGhpcy50YWJsZW9iai5zb3J0Qnk7IGRlbGV0ZSB0aGlzLnRhYmxlb2JqLnNvcnQ7XHJcbiAgICAgZGVsZXRlIHRoaXMudGFibGVvYmouZXhwb3J0O1xyXG4gICAgIGRlbGV0ZSB0aGlzLnRhYmxlb2JqLm5vcm1hbGl6ZTtcclxuICAgICB0aGlzLnRhYmxlb2JqLnJlY2FwVmlkZW9EYXRlID0gdGhpcy5oZWFkZXJEYXRhPy5kYXRlLmVuZERhdGU7XHJcbiAgICB0aGlzLnNlcnZpY2VcclxuICAgICAgLmdldFJlY2FwVmlkZW8odGhpcy50YWJsZW9iailcclxuICAgICAgLnBpcGUodGFrZVVudGlsKHRoaXMuZGVzdHJveSQpKVxyXG4gICAgICA/LnN1YnNjcmliZSh7XHJcbiAgICAgICAgbmV4dDogKHJlczogYW55KSA9PiB7XHJcbiAgICAgICAgICBpZiAocmVzICYmIHJlcy5jb2RlID09PSAyMDApIHtcclxuICAgICAgICAgICAgdGhpcy5nZXRSZWNhcFZpZGVvRGF0YSA9IHJlcz8uZGF0YTtcclxuICAgICAgICAgICAgdGhpcy5nZXRSZWNhcERhdGEgPSByZXM/LmRhdGE/LnJlY2FwVmlkZW9EYXRhO1xyXG4gICAgICAgICAgICB0aGlzLmdyb3VwUmVjYXBzKCk7XHJcbiAgICAgICAgICAgIGlmKCF0aGlzLmdldFJlY2FwRGF0YS5sZW5ndGgpe1xyXG4gICAgICAgICAgICAgIHRoaXMucmVjYXBsYW9kaW5nID1mYWxzZTtcclxuICAgICAgICAgICAgdGhpcy5yZWNhcG5vRGF0YSA9dHJ1ZTtcclxuICAgICAgICAgICAgfSBlbHNlIHtcclxuICAgICAgICAgICAgICB0aGlzLnJlY2FwbGFvZGluZyA9ZmFsc2U7XHJcbiAgICAgICAgICAgIHRoaXMucmVjYXBub0RhdGEgPWZhbHNlO1xyXG4gICAgICAgICAgICB9XHJcbiAgICAgICAgICAgIHRoaXMuY2QuZGV0ZWN0Q2hhbmdlcygpOyAgICBcclxuICAgICAgICAgIH0gZWxzZXtcclxuICAgICAgICAgICAgdGhpcy5nZXRSZWNhcFZpZGVvRGF0YSA9W11cclxuICAgICAgICAgICAgdGhpcy5yZWNhcGxhb2RpbmcgPWZhbHNlO1xyXG4gICAgICAgICAgICB0aGlzLnJlY2Fwbm9EYXRhID10cnVlO1xyXG4gICAgICAgICAgfVxyXG4gICAgICAgIH0sXHJcbiAgICAgICAgZXJyb3I6IChlcnI6IGFueSkgPT4ge1xyXG4gICAgICAgICAgdGhpcy5jZC5kZXRlY3RDaGFuZ2VzKCk7XHJcbiAgICAgICAgICB0aGlzLnJlY2FwbGFvZGluZyA9ZmFsc2U7XHJcbiAgICAgICAgICB0aGlzLnJlY2Fwbm9EYXRhID10cnVlO1xyXG4gICAgICAgIH0sXHJcbiAgICAgICAgY29tcGxldGU6ICgpID0+IHt9LFxyXG4gICAgICB9KTtcclxuICB9XHJcbiAgZ3JvdXBSZWNhcHMoKSB7XHJcbiAgICB0aGlzLnJlY2Fwc0dyb3VwZWQgPSBbXTtcclxuICAgIGxldCBncm91cFNpemUgPSB0aGlzLmdldFJlY2FwRGF0YS5sZW5ndGggPT09IDEgPyAxIDogMjtcclxuICAgIGZvciAobGV0IGkgPSAwOyBpIDwgdGhpcy5nZXRSZWNhcERhdGEubGVuZ3RoOyBpICs9IGdyb3VwU2l6ZSkge1xyXG4gICAgICB0aGlzLnJlY2Fwc0dyb3VwZWQucHVzaCh0aGlzLmdldFJlY2FwRGF0YS5zbGljZShpLCBpICsgZ3JvdXBTaXplKSk7XHJcbiAgICB9XHJcbiAgICB0aGlzLmNvbFZhbHVlID0gdGhpcy5nZXRSZWNhcERhdGEubGVuZ3RoID09PSAxID8gJ2NvbC1tZC0xMicgOiAnY29sLW1kLTYnO1xyXG4gIH1cclxuICB2aWRlb0NsaWNrKG9iajphbnkpe1xyXG4gICAgY29uc3QgbW9kYWxSZWYgPSB0aGlzLm1vZGFsU2VydmljZS5vcGVuKFZpZGVvVXJsQ29tcG9uZW50LCB7XHJcbiAgICAgIGNlbnRlcmVkOiB0cnVlLFxyXG4gICAgICBzaXplOiBcImxnXCIsXHJcbiAgICAgIHNjcm9sbGFibGU6IHRydWUsXHJcbiAgICB9KTtcclxuICAgIG1vZGFsUmVmLmNvbXBvbmVudEluc3RhbmNlLnZpZGVvVXJsID0gb2JqO1xyXG4gICAgbW9kYWxSZWYuY29tcG9uZW50SW5zdGFuY2UuZGF0ZT0gdGhpcy5oZWFkZXJEYXRhPy5kYXRlPy5lbmREYXRlXHJcbiAgICBtb2RhbFJlZi5yZXN1bHQudGhlbigocmVzdWx0OiBhbnkpID0+IHt9KTtcclxuICB9XHJcbiAgcHJldmlvdXNWYWx1ZTogYW55ID0gbnVsbDtcclxuICBjaGFuZ2VWYWx1ZShtZXRob2Q6IGFueSkge1xyXG4gICAgICB0aGlzLnByZXZpb3VzVmFsdWUgPSBtZXRob2Q7XHJcbiAgICAgIGlmICh0aGlzLnByZXZpb3VzVmFsdWUgPT09ICdwb3RlbnRpYWxCdXllcnMnKSB7XHJcbiAgICAgICAgdGhpcy5jb252ZXJzaW9uVmFsdWUgPSAnUG90ZW50aWFsIEJ1eWVycyc7XHJcbiAgICAgIH0gZWxzZSB7XHJcbiAgICAgICAgdGhpcy5jb252ZXJzaW9uVmFsdWUgPSBtZXRob2Q7XHJcbiAgICAgIH1cclxuICAgXHJcbiAgICAgIGNvbnN0IGlzQ29udmVyc2lvbiA9IHRoaXMuaXNDb252ZXJzaW9uID09PSB0cnVlO1xyXG4gICAgICBjb25zdCBjb252ZXJzaW9uVHlwZU1hcDogYW55ID0ge1xyXG4gICAgICAgIGZvb3RmYWxsOiB7XHJcbiAgICAgICAgICByYXRlOiB0aGlzLmdldENvbnZlcnNpb25DYXJkRGF0YT8uY29udmVyc2lvbj8uZm9vdGZhbGw/LnJhdGUsXHJcbiAgICAgICAgICB0eXBlOiAnZm9vdGZhbGwtY291bnQnLFxyXG4gICAgICAgICAgbm9iOiBpc0NvbnZlcnNpb24gPyB0cnVlIDogZmFsc2VcclxuICAgICAgICB9LFxyXG4gICAgICAgIGVuZ2FnZXJzOiB7XHJcbiAgICAgICAgICByYXRlOiB0aGlzLmdldENvbnZlcnNpb25DYXJkRGF0YT8uY29udmVyc2lvbj8uZW5nYWdlcnM/LnJhdGUsXHJcbiAgICAgICAgICB0eXBlOiAnZW5nYWdlcnMtY291bnQnLFxyXG4gICAgICAgICAgbm9iOiBpc0NvbnZlcnNpb24gPyB0cnVlIDogZmFsc2VcclxuICAgICAgICB9LFxyXG4gICAgICAgIHBvdGVudGlhbEJ1eWVyczoge1xyXG4gICAgICAgICAgcmF0ZTogdGhpcy5nZXRDb252ZXJzaW9uQ2FyZERhdGE/LmNvbnZlcnNpb24/LnBvdGVudGlhbEJ1eWVycz8ucmF0ZSxcclxuICAgICAgICAgIHR5cGU6ICdiaWxsYWJsZS1jb3VudCcsXHJcbiAgICAgICAgICBub2I6IGlzQ29udmVyc2lvbiA/IHRydWUgOiBmYWxzZVxyXG4gICAgICAgIH0sXHJcbiAgICAgICAgJ05vQiBEZXJpdmVkJzoge1xyXG4gICAgICAgICAgcmF0ZTogdGhpcy5nZXRDb252ZXJzaW9uQ2FyZERhdGE/LmNvbnZlcnNpb24/Lm5vYj8ubm9iLFxyXG4gICAgICAgICAgdHlwZTogJ25vYicsXHJcbiAgICAgICAgICBub2I6IHRydWUgLy8gYWx3YXlzIHRydWUgZm9yIE5vQiBEZXJpdmVkXHJcbiAgICAgICAgfVxyXG4gICAgICB9O1xyXG4gICAgICBcclxuICAgICAgY29uc3QgZGF0YSA9IGNvbnZlcnNpb25UeXBlTWFwW3RoaXMucHJldmlvdXNWYWx1ZV07XHJcbiAgICAgIFxyXG4gICAgICBpZiAoZGF0YSkge1xyXG4gICAgICAgIHRoaXMudmFsdWVDb252ZXJzaW9uUmF0ZSA9IGRhdGEucmF0ZTtcclxuICAgICAgICB0aGlzLnRhYmxlb2JqLm5vYiA9IGRhdGEubm9iO1xyXG4gICAgICAgIHRoaXMub2JqRGF0YS5ub2IgPSBkYXRhLm5vYjtcclxuICAgICAgICB0aGlzLm9iakRhdGFUcmFmZmljLm5vYiA9IGRhdGEubm9iO1xyXG4gICAgICAgIHRoaXMubm9iID0gZGF0YS5ub2I7XHJcbiAgICAgICAgdGhpcy50YWJsZW9iai5jb252ZXJzaW9udHlwZSA9IGRhdGEudHlwZTtcclxuICAgICAgfVxyXG4gICAgICBcclxuICAgICAgLy8gdGhpcy5zZXJ2aWNlLnRvZ2dsZW5vYih0aGlzLnRhYmxlb2JqLm5vYik7XHJcbiAgICAgIHRoaXMuZ2V0RnVubmFsKCk7IFxyXG4gICAgICBpZih0aGlzLnRhYmxlb2JqLm5vYiA9PT1mYWxzZSlcclxuICAgICAgdGhpcy5nZXRDb252ZXJzaW9uQ2FyZDEoKTsgXHJcbiAgICAgIHRoaXMudGFibGVvYmouZnJvbURhdGU9IHRoaXMuaGVhZGVyRGF0YT8uZGF0ZS5zdGFydERhdGUsXHJcbiAgICAgIHRoaXMudGFibGVvYmoudG9EYXRlPSB0aGlzLmhlYWRlckRhdGE/LmRhdGUuZW5kRGF0ZSxcclxuICAgICAgdGhpcy50YWJsZW9iai5zZWFyY2ggPSB0aGlzLnNlYXJjaFZhbHVlO1xyXG4gICAgICBkZWxldGUgdGhpcy50YWJsZW9iai5yZWNhcFZpZGVvRGF0ZTtcclxuICAgICAgdGhpcy5nZXRUYWJsZSgpO1xyXG4gICAgIHRoaXMuZm9vdGZhbGxUcmVuZCgpO1xyXG4gICAgIGlmKHRoaXMuaGVhZGVyRGF0YT8uY2xpZW50ID09PSc0NTknKXtcclxuICAgICAgdGhpcy5zZWxlY3RlZFRhYiA9IFwiZm9vdGZhbGxcIlxyXG4gICAgICB0aGlzLmZvb3RmYWxsVmFsdWUgPSBcImZvb3RmYWxsXCI7XHJcbiAgICAgIHRoaXMuc2VsY3RlZFZhbHVlID0nRm9vdGZhbGwgQW5hbHlzaXMnO1xyXG4gICAgICB0aGlzLnNlbGVjdGVkVGFicygnZm9vdGZhbGwnKTtcclxuICAgIH0gZWxzZSB7XHJcbiAgICAgIHRoaXMuc2VsZWN0ZWRUYWIgPSBcInRyYWZmaWNcIlxyXG4gICAgICB0aGlzLmZvb3RmYWxsVmFsdWUgPSBcInRyYWZmaWNcIjtcclxuICAgICAgdGhpcy5zZWxjdGVkVmFsdWUgPSdUcmFmZmljIEFuYWx5c2lzJztcclxuICAgICAgdGhpcy5zZWxlY3RlZFRhYnMoJ3RyYWZmaWMnKTtcclxuICAgIH1cclxuICAgXHJcbiAgICAvLyB9XHJcbiAgfVxyXG4gXHJcblxyXG4gIGdldFRhYmxlKCkge1xyXG4gICAgdGhpcy5saW1pdCA9MTA7XHJcbiAgICB0aGlzLnRhYmxlb2JqLm9mZnNldCA9IHRoaXMub2Zmc2V0ID0gdGhpcy5jdXJyZW50UGFnZSAtMTtcclxuICAgIHRoaXMubG9hZGluZyA9IHRydWU7XHJcbiAgICB0aGlzLm5vRGF0YSA9IGZhbHNlO1xyXG4gICAgZGVsZXRlIHRoaXMudGFibGVvYmoucHJvY2Vzc1R5cGU7XHJcbiAgICBkZWxldGUgdGhpcy50YWJsZW9iai5ub3JtYWxpemVkRGF0YTtcclxuICAgIGRlbGV0ZSB0aGlzLnRhYmxlb2JqLmRhdGVUeXBlO1xyXG4gICAgKHRoaXMudGFibGVvYmoubGltaXQgPSB0aGlzLmxpbWl0KTtcclxuICAgICh0aGlzLnRhYmxlb2JqLnNlYXJjaCA9IHRoaXMuc2VhcmNoVmFsdWUpLCBcclxuICAgICAodGhpcy50YWJsZW9iai52YWx1ZVR5cGUgPSB0aGlzLnR5cGVWYWx1ZSk7IFxyXG4gICAgICh0aGlzLnRhYmxlb2JqLmNvbnZlcnNpb250eXBlID0gdGhpcy50YWJsZW9iai5jb252ZXJzaW9udHlwZSk7XHJcbiAgICAgdGhpcy50YWJsZW9iai5leHBvcnQgPSBmYWxzZTtcclxuICAgIHRoaXMuc2VydmljZVxyXG4gICAgICAuZ2V0U3VtbWFyeVRhYmxlTGlzdCh0aGlzLnRhYmxlb2JqKVxyXG4gICAgICA/LnBpcGUodGFrZVVudGlsKHRoaXMuZGVzdHJveSQpKVxyXG4gICAgICA/LnN1YnNjcmliZSh7XHJcbiAgICAgICAgbmV4dDogKHJlczogYW55KSA9PiB7XHJcbiAgICAgICAgICBpZiAocmVzICYmIHJlcy5jb2RlID09PSAyMDApIHtcclxuICAgICAgICAgICAgaWYocmVzPy5kYXRhLnN1bW1hcnlEYXRhLmxlbmd0aCA9PT0wKXtcclxuICAgICAgICAgICAgICB0aGlzLmdldFN1bW1hcnlUYWJsZURhdGEgPVtdXHJcbiAgICAgICAgICAgICAgdGhpcy5sb2FkaW5nID0gZmFsc2U7XHJcbiAgICAgICAgICAgICAgdGhpcy5ub0RhdGEgPSB0cnVlO1xyXG4gICAgICAgICAgICAgIHRoaXMudG90YWxJdGVtcyA9IDA7IFxyXG4gICAgICAgICAgICB9IGVsc2Uge1xyXG4gICAgICAgICAgICB0aGlzLmdldFN1bW1hcnlUYWJsZURhdGEgPSByZXM/LmRhdGEuc3VtbWFyeURhdGE7XHJcbiAgICAgICAgICAgIHRoaXMudG90YWxJdGVtcyA9IHJlcy5kYXRhPy50b3RhbENvdW50O1xyXG4gICAgICAgICAgICB0aGlzLnNldFBhZ2luYXRpb25TaXplcygpO1xyXG4gICAgICAgICAgICB0aGlzLmxvYWRpbmcgPSBmYWxzZTtcclxuICAgICAgICAgICAgdGhpcy5ub0RhdGEgPSBmYWxzZTtcclxuICAgICAgICAgICAgfVxyXG4gICAgICAgICAgfSBlbHNlIHtcclxuICAgICAgICAgICAgdGhpcy5nZXRTdW1tYXJ5VGFibGVEYXRhID1bXVxyXG4gICAgICAgICAgICB0aGlzLmxvYWRpbmcgPSBmYWxzZTtcclxuICAgICAgICAgICAgdGhpcy5ub0RhdGEgPSB0cnVlO1xyXG4gICAgICAgICAgICB0aGlzLnRvdGFsSXRlbXMgPSAwOyBcclxuICAgICAgICAgIH1cclxuICAgICAgICAgIHRoaXMuY2QuZGV0ZWN0Q2hhbmdlcygpO1xyXG4gICAgICAgIH0sXHJcbiAgICAgICAgZXJyb3I6IChlcnI6IGFueSkgPT4ge1xyXG4gICAgICAgICAgdGhpcy5jZC5kZXRlY3RDaGFuZ2VzKCk7XHJcbiAgICAgICAgfSxcclxuICAgICAgICBjb21wbGV0ZTogKCkgPT4ge30sXHJcbiAgICAgIH0pO1xyXG4gIH1cclxuICBzZWFyY2hEYXRhKCkge1xyXG4gICAgdGhpcy50YWJsZW9iai5mcm9tRGF0ZT0gdGhpcy5oZWFkZXJEYXRhPy5kYXRlLnN0YXJ0RGF0ZSxcclxuICAgIHRoaXMudGFibGVvYmoudG9EYXRlPSB0aGlzLmhlYWRlckRhdGE/LmRhdGUuZW5kRGF0ZSxcclxuICAgIHRoaXMudGFibGVvYmouc2VhcmNoID0gdGhpcy5zZWFyY2hWYWx1ZTtcclxuICAgIGRlbGV0ZSB0aGlzLnRhYmxlb2JqLnJlY2FwVmlkZW9EYXRlO1xyXG4gICAgKHRoaXMudGFibGVvYmouY29udmVyc2lvbnR5cGUgPSB0aGlzLnRhYmxlb2JqLmNvbnZlcnNpb250eXBlKTtcclxuICAgIHRoaXMudGFibGVvYmouZXhwb3J0ID0gZmFsc2U7XHJcbiAgICB0aGlzLm9mZnNldCA9IDE7XHJcbiAgICB0aGlzLnRhYmxlb2JqLm9mZnNldCA9IHRoaXMub2Zmc2V0IC0xO1xyXG4gICAgdGhpcy5saW1pdD0xMDtcclxuICAgIHRoaXMuZ2V0VGFibGUoKTtcclxuICB9XHJcblxyXG4gIHNldFBhZ2luYXRpb25TaXplcygpIHtcclxuICAgIGlmICh0aGlzLnRvdGFsSXRlbXMgPiAxMCkge1xyXG4gICAgICB0aGlzLnBhZ2luYXRpb25TaXplcyA9IFsxMCwgMjAsIDMwXTtcclxuICAgIH0gZWxzZSB7XHJcbiAgICAgIHRoaXMucGFnaW5hdGlvblNpemVzID0gW3RoaXMudG90YWxJdGVtc107IC8vIEp1c3Qgb25lIG9wdGlvbiBpZiBsZXNzIHRoYW4gMTBcclxuICAgIH1cclxuICAgIHRoaXMucGFnZVNpemUgPSB0aGlzLnBhZ2luYXRpb25TaXplc1swXTtcclxuICB9XHJcbiAgb25QYWdlQ2hhbmdlKHBhZ2VPZmZzZXQ6IG51bWJlcikge1xyXG4gICAgdGhpcy5sb2FkaW5nID0gdHJ1ZTtcclxuICAgIHRoaXMubm9EYXRhID0gZmFsc2U7XHJcbiAgICB0aGlzLm9mZnNldCA9IE51bWJlcihwYWdlT2Zmc2V0KTtcclxuICAgIHRoaXMudGFibGVvYmoub2Zmc2V0ID0gdGhpcy5vZmZzZXQgLTE7XHJcbiAgICAodGhpcy50YWJsZW9iai5saW1pdCA9IHRoaXMubGltaXQpLFxyXG4gICAgKHRoaXMudGFibGVvYmouc2VhcmNoID0gdGhpcy5zZWFyY2hWYWx1ZSksIFxyXG4gICAgICh0aGlzLnRhYmxlb2JqLnZhbHVlVHlwZSA9IHRoaXMudHlwZVZhbHVlKTtcclxuICAgIHRoaXMudGFibGVvYmouZnJvbURhdGU9IHRoaXMuaGVhZGVyRGF0YT8uZGF0ZS5zdGFydERhdGUsXHJcbiAgICB0aGlzLnRhYmxlb2JqLnRvRGF0ZT0gdGhpcy5oZWFkZXJEYXRhPy5kYXRlLmVuZERhdGUsXHJcbiAgICB0aGlzLnRhYmxlb2JqLnNlYXJjaCA9IHRoaXMuc2VhcmNoVmFsdWU7XHJcbiAgICAodGhpcy50YWJsZW9iai5jb252ZXJzaW9udHlwZSA9IHRoaXMudGFibGVvYmouY29udmVyc2lvbnR5cGUpO1xyXG4gICAgZGVsZXRlIHRoaXMudGFibGVvYmoucmVjYXBWaWRlb0RhdGU7XHJcbiAgICB0aGlzLnRhYmxlb2JqLmV4cG9ydCA9IGZhbHNlO1xyXG4gICAgdGhpcy5zZXJ2aWNlXHJcbiAgICAuZ2V0U3VtbWFyeVRhYmxlTGlzdCh0aGlzLnRhYmxlb2JqKVxyXG4gICAgPy5waXBlKHRha2VVbnRpbCh0aGlzLmRlc3Ryb3kkKSlcclxuICAgID8uc3Vic2NyaWJlKHtcclxuICAgICAgbmV4dDogKHJlczogYW55KSA9PiB7XHJcbiAgICAgICAgaWYgKHJlcyAmJiByZXMuY29kZSA9PT0gMjAwKSB7XHJcbiAgICAgICAgICBpZihyZXM/LmRhdGEuc3VtbWFyeURhdGEubGVuZ3RoID09PTApe1xyXG4gICAgICAgICAgICB0aGlzLmdldFN1bW1hcnlUYWJsZURhdGEgPVtdXHJcbiAgICAgICAgICAgIHRoaXMubG9hZGluZyA9IGZhbHNlO1xyXG4gICAgICAgICAgICB0aGlzLm5vRGF0YSA9IHRydWU7XHJcbiAgICAgICAgICAgIHRoaXMudG90YWxJdGVtcyA9IDA7IFxyXG4gICAgICAgICAgfSBlbHNlIHtcclxuICAgICAgICAgIHRoaXMuZ2V0U3VtbWFyeVRhYmxlRGF0YSA9IHJlcz8uZGF0YS5zdW1tYXJ5RGF0YTtcclxuICAgICAgICAgIHRoaXMudG90YWxJdGVtcyA9IHJlcy5kYXRhPy50b3RhbENvdW50O1xyXG4gICAgICAgICAgdGhpcy5sb2FkaW5nID0gZmFsc2U7XHJcbiAgICAgICAgICB0aGlzLm5vRGF0YSA9IGZhbHNlO1xyXG4gICAgICAgICAgfVxyXG4gICAgICAgIH0gZWxzZSB7XHJcbiAgICAgICAgICB0aGlzLmdldFN1bW1hcnlUYWJsZURhdGEgPVtdXHJcbiAgICAgICAgICB0aGlzLmxvYWRpbmcgPSBmYWxzZTtcclxuICAgICAgICAgIHRoaXMubm9EYXRhID0gdHJ1ZTtcclxuICAgICAgICAgIHRoaXMudG90YWxJdGVtcyA9IDA7IFxyXG4gICAgICAgIH1cclxuICAgICAgfSxcclxuICAgICAgZXJyb3I6IChlcnI6IGFueSkgPT4ge1xyXG4gICAgICAgIHRoaXMuY2QuZGV0ZWN0Q2hhbmdlcygpO1xyXG4gICAgICB9LFxyXG4gICAgICBjb21wbGV0ZTogKCkgPT4ge30sXHJcbiAgICB9KTtcclxuICB9XHJcblxyXG4gIG9uUGFnZVNpemVDaGFuZ2UocGFnZVNpemU6IG51bWJlcikge1xyXG4gICAgdGhpcy5sb2FkaW5nID0gdHJ1ZTtcclxuICAgIHRoaXMubm9EYXRhID0gZmFsc2U7XHJcbiAgICB0aGlzLnBhZ2VTaXplID0gTnVtYmVyKHBhZ2VTaXplKTtcclxuICAgIHRoaXMubGltaXQgPSBOdW1iZXIocGFnZVNpemUpO1xyXG4gICAgdGhpcy5jdXJyZW50UGFnZSA9IDE7XHJcbiAgICB0aGlzLm9mZnNldCA9IDA7XHJcbiAgICB0aGlzLnRhYmxlb2JqLm9mZnNldCA9IHRoaXMub2Zmc2V0O1xyXG4gICAgKHRoaXMudGFibGVvYmoubGltaXQgPSB0aGlzLmxpbWl0KSxcclxuICAgICh0aGlzLnRhYmxlb2JqLnZhbHVlVHlwZSA9IHRoaXMudHlwZVZhbHVlKTtcclxuICAgIHRoaXMudGFibGVvYmouZnJvbURhdGU9IHRoaXMuaGVhZGVyRGF0YT8uZGF0ZS5zdGFydERhdGUsXHJcbiAgICB0aGlzLnRhYmxlb2JqLnRvRGF0ZT0gdGhpcy5oZWFkZXJEYXRhPy5kYXRlLmVuZERhdGUsXHJcbiAgICB0aGlzLnRhYmxlb2JqLnNlYXJjaCA9IHRoaXMuc2VhcmNoVmFsdWU7XHJcbiAgICAodGhpcy50YWJsZW9iai5jb252ZXJzaW9udHlwZSA9IHRoaXMudGFibGVvYmouY29udmVyc2lvbnR5cGUpO1xyXG4gICAgZGVsZXRlIHRoaXMudGFibGVvYmoucmVjYXBWaWRlb0RhdGU7XHJcbiAgICB0aGlzLnRhYmxlb2JqLmV4cG9ydCA9IGZhbHNlO1xyXG4gICAgdGhpcy5zZXJ2aWNlXHJcbiAgICAuZ2V0U3VtbWFyeVRhYmxlTGlzdCh0aGlzLnRhYmxlb2JqKVxyXG4gICAgPy5waXBlKHRha2VVbnRpbCh0aGlzLmRlc3Ryb3kkKSlcclxuICAgID8uc3Vic2NyaWJlKHtcclxuICAgICAgbmV4dDogKHJlczogYW55KSA9PiB7XHJcbiAgICAgICAgaWYgKHJlcyAmJiByZXMuY29kZSA9PT0gMjAwKSB7XHJcbiAgICAgICAgICBpZihyZXM/LmRhdGEuc3VtbWFyeURhdGEubGVuZ3RoID09PTApe1xyXG4gICAgICAgICAgICB0aGlzLmdldFN1bW1hcnlUYWJsZURhdGEgPVtdXHJcbiAgICAgICAgICAgIHRoaXMubG9hZGluZyA9IGZhbHNlO1xyXG4gICAgICAgICAgICB0aGlzLm5vRGF0YSA9IHRydWU7XHJcbiAgICAgICAgICAgIHRoaXMudG90YWxJdGVtcyA9IDA7IFxyXG4gICAgICAgICAgfSBlbHNlIHtcclxuICAgICAgICAgIHRoaXMuZ2V0U3VtbWFyeVRhYmxlRGF0YSA9IHJlcz8uZGF0YS5zdW1tYXJ5RGF0YTtcclxuICAgICAgICAgIHRoaXMudG90YWxJdGVtcyA9IHJlcy5kYXRhPy50b3RhbENvdW50O1xyXG4gICAgICAgICAgdGhpcy5sb2FkaW5nID0gZmFsc2U7YGBcclxuICAgICAgICAgIHRoaXMubm9EYXRhID0gZmFsc2U7XHJcbiAgICAgICAgICB9XHJcbiAgICAgICAgfSBlbHNlIHtcclxuICAgICAgICAgIHRoaXMuZ2V0U3VtbWFyeVRhYmxlRGF0YSA9W11cclxuICAgICAgICAgIHRoaXMubG9hZGluZyA9IGZhbHNlO1xyXG4gICAgICAgICAgdGhpcy5ub0RhdGEgPSB0cnVlO1xyXG4gICAgICAgICAgdGhpcy50b3RhbEl0ZW1zID0gMDsgXHJcbiAgICAgICAgfVxyXG4gICAgICB9LFxyXG4gICAgICBlcnJvcjogKGVycjogYW55KSA9PiB7XHJcbiAgICAgICAgdGhpcy5jZC5kZXRlY3RDaGFuZ2VzKCk7XHJcbiAgICAgIH0sXHJcbiAgICAgIGNvbXBsZXRlOiAoKSA9PiB7fSxcclxuICAgIH0pO1xyXG4gIH1cclxuXHJcbiAgb25WYWx1ZVR5cGUodHlwZTphbnkpe1xyXG4gICAgdGhpcy50YWJsZW9iai5mcm9tRGF0ZT0gdGhpcy5oZWFkZXJEYXRhLmRhdGUuc3RhcnREYXRlLFxyXG4gICAgdGhpcy50YWJsZW9iai50b0RhdGU9IHRoaXMuaGVhZGVyRGF0YS5kYXRlLmVuZERhdGUsXHJcbiAgICBkZWxldGUgdGhpcy50YWJsZW9iai5yZWNhcFZpZGVvRGF0ZTtcclxuICAgIHRoaXMudGFibGVvYmouZXhwb3J0ID0gZmFsc2U7XHJcbiAgICAgdGhpcy50eXBlVmFsdWUgPXR5cGU7XHJcbiAgICB0aGlzLnRhYmxlb2JqLnZhbHVlVHlwZSA9dHlwZTtcclxuICAgICh0aGlzLnRhYmxlb2JqLmNvbnZlcnNpb250eXBlID0gdGhpcy50YWJsZW9iai5jb252ZXJzaW9udHlwZSk7XHJcbiAgICB0aGlzLmdldFRhYmxlKCk7XHJcbiAgfVxyXG4gIG5nT25EZXN0cm95KCk6IHZvaWQge1xyXG4gICAgdGhpcy5kZXN0cm95JC5uZXh0KHRydWUpO1xyXG4gICAgdGhpcy5kZXN0cm95JC5jb21wbGV0ZSgpO1xyXG4gICAgdGhpcy56b25lLnJ1bk91dHNpZGVBbmd1bGFyKCgpID0+IHtcclxuICAgICAgaWYgKHRoaXMubGluZXJvb3QpIHtcclxuICAgICAgICB0aGlzLmxpbmVyb290LmRpc3Bvc2UoKTtcclxuICAgICAgfVxyXG4gICAgICBpZiAodGhpcy5ib3VuY2VkbGluZXJvb3QpIHtcclxuICAgICAgICB0aGlzLmJvdW5jZWRsaW5lcm9vdC5kaXNwb3NlKCk7XHJcbiAgICAgIH1cclxuICAgICAgaWYgKHRoaXMucG90ZW50aWFsQnV5ZXJzbGluZXJvb3QpIHtcclxuICAgICAgICB0aGlzLnBvdGVudGlhbEJ1eWVyc2xpbmVyb290LmRpc3Bvc2UoKTtcclxuICAgICAgfVxyXG4gICAgICBpZiAodGhpcy5lbmdhZ2Vyc2xpbmVyb290KSB7XHJcbiAgICAgICAgdGhpcy5lbmdhZ2Vyc2xpbmVyb290LmRpc3Bvc2UoKTtcclxuICAgICAgfVxyXG4gICAgICBpZiAodGhpcy5oZWF0TWFwcm9vdCkge1xyXG4gICAgICAgIHRoaXMuaGVhdE1hcHJvb3QuZGlzcG9zZSgpO1xyXG4gICAgICB9IGlmICh0aGlzLnJvb3RUcmVuZHMpIHtcclxuICAgICAgICB0aGlzLnJvb3RUcmVuZHMuZGlzcG9zZSgpO1xyXG4gICAgICB9XHJcbiAgICAgIGlmICh0aGlzLmR3ZWxsUm9vdCkge1xyXG4gICAgICAgIHRoaXMuZHdlbGxSb290LmRpc3Bvc2UoKTtcclxuICAgICAgfVxyXG4gICAgICBpZiAodGhpcy5pbnRlcnZhbElkKSB7XHJcbiAgICAgICAgY2xlYXJJbnRlcnZhbCh0aGlzLmludGVydmFsSWQpO1xyXG4gICAgICB9XHJcbiAgICB9KTtcclxuICB9XHJcbiAgLy8gY2FyZCBsaW5lIENoYXJ0cyBTdGFydFxyXG5cclxuICBmb290ZmFsbGxpbmVDaGFydHMoKSB7XHJcbiAgICBzZXRUaW1lb3V0KCgpID0+IHtcclxuICAgICAgY29uc3QgY2hhcnREaXYgPSBkb2N1bWVudC5nZXRFbGVtZW50QnlJZChcIkZvb3RmYWxsXCIpO1xyXG4gICAgICBpZiAoIWNoYXJ0RGl2KSB7XHJcbiAgICAgICAgcmV0dXJuO1xyXG4gICAgICB9XHJcbiAgICAgIGlmICh0aGlzLmxpbmVyb290KSB7XHJcbiAgICAgICAgdGhpcy5saW5lcm9vdC5kaXNwb3NlKCk7XHJcbiAgICAgIH1cclxuICAgIGxldCByb290OiBhbnk7XHJcbiAgICByb290ID0gYW01LlJvb3QubmV3KFwiRm9vdGZhbGxcIik7XHJcbiAgICByb290LnNldFRoZW1lcyhbXHJcbiAgICAgIGFtNXRoZW1lc19BbmltYXRlZC5uZXcocm9vdCksXHJcbiAgICAgIGFtNXRoZW1lc19SZXNwb25zaXZlLm5ldyhyb290KSxcclxuICAgIF0pO1xyXG4gICAgbGV0IGNoYXJ0ID0gcm9vdC5jb250YWluZXIuY2hpbGRyZW4ucHVzaChcclxuICAgICAgYW01eHkuWFlDaGFydC5uZXcocm9vdCwge1xyXG4gICAgICAgIHBhblg6IHRydWUsXHJcbiAgICAgICAgcGFuWTogdHJ1ZSxcclxuICAgICAgICB3aGVlbFg6IFwicGFuWFwiLFxyXG4gICAgICAgIHdoZWVsWTogXCJ6b29tWFwiLFxyXG4gICAgICAgIHBpbmNoWm9vbVg6IHRydWUsXHJcbiAgICAgIH0pXHJcbiAgICApO1xyXG5cclxuICAgIC8vIEFkZCBkYXRhXHJcbiAgICBsZXQgZGF0YSA9IHRoaXMuZ2V0Rm9vdGZhbGxDYXJkRGF0YT8uZGF0YT8uZm9vdGZhbGw/LmRhdGEubWFwKChpdGVtOiBhbnkpID0+ICh7XHJcbiAgICAgIGRhdGU6IG5ldyBEYXRlKGl0ZW0uZGF0ZSkuZ2V0VGltZSgpLCAvLyBDb252ZXJ0IGRhdGUgc3RyaW5nIHRvIHRpbWVzdGFtcFxyXG4gICAgICB2YWx1ZTogTnVtYmVyKGl0ZW0udmFsdWUpLFxyXG4gICAgfSkpO1xyXG4gICAgIC8vIEVuc3VyZSB0aGF0IGRhdGEgaGFzIGF0IGxlYXN0IDIgcG9pbnRzIGZvciBsaW5lIGNoYXJ0XHJcbiAgICAgaWYgKGRhdGEubGVuZ3RoID09PSAxKSB7XHJcbiAgICAgIGNvbnN0IGR1cGxpY2F0ZVBvaW50ID0geyAuLi5kYXRhWzBdIH07IC8vIENsb25lIHRoZSBleGlzdGluZyBwb2ludFxyXG4gICAgICBkdXBsaWNhdGVQb2ludC5kYXRlICs9IDE7IC8vIEFkZCBhIHNtYWxsIG9mZnNldCB0byB0aGUgZGF0ZVxyXG4gICAgICBkYXRhLnB1c2goZHVwbGljYXRlUG9pbnQpOyAvLyBBZGQgdGhlIGR1cGxpY2F0ZSBwb2ludCB0byBkYXRhXHJcbiAgICB9XHJcbiAgICBsZXQgY3Vyc29yID0gY2hhcnQuc2V0KFxyXG4gICAgICBcImN1cnNvclwiLFxyXG4gICAgICBhbTV4eS5YWUN1cnNvci5uZXcocm9vdCwge1xyXG4gICAgICAgIGJlaGF2aW9yOiBcIm5vbmVcIixcclxuICAgICAgfSlcclxuICAgICk7XHJcbiAgICBjdXJzb3IubGluZVkuc2V0KFwidmlzaWJsZVwiLCBmYWxzZSk7XHJcbiAgICAvLyBDcmVhdGUgYXhlc1xyXG4gICAgbGV0IHhBeGlzID0gY2hhcnQueEF4ZXMucHVzaChcclxuICAgICAgYW01eHkuRGF0ZUF4aXMubmV3KHJvb3QsIHtcclxuICAgICAgICBtYXhEZXZpYXRpb246IDAuNSxcclxuICAgICAgICBiYXNlSW50ZXJ2YWw6IHsgdGltZVVuaXQ6IFwiZGF5XCIsIGNvdW50OiAxIH0sXHJcbiAgICAgICAgcmVuZGVyZXI6IGFtNXh5LkF4aXNSZW5kZXJlclgubmV3KHJvb3QsIHsgfSksXHJcbiAgICAgIH0pXHJcbiAgICApO1xyXG4gICAgeEF4aXMuZ2V0KFwicmVuZGVyZXJcIikuZ3JpZC50ZW1wbGF0ZS5zZXQoXCJmb3JjZUhpZGRlblwiLCB0cnVlKTtcclxuICAgIHhBeGlzLmdldChcInJlbmRlcmVyXCIpLmxhYmVscy50ZW1wbGF0ZS5zZXQoXCJmb3JjZUhpZGRlblwiLCB0cnVlKTtcclxuXHJcbiAgICBsZXQgeUF4aXMgPSBjaGFydC55QXhlcy5wdXNoKFxyXG4gICAgICBhbTV4eS5WYWx1ZUF4aXMubmV3KHJvb3QsIHtcclxuICAgICAgICByZW5kZXJlcjogYW01eHkuQXhpc1JlbmRlcmVyWS5uZXcocm9vdCwgeyB9KSxcclxuICAgICAgfSlcclxuICAgICk7XHJcbiAgICB5QXhpcy5nZXQoXCJyZW5kZXJlclwiKS5ncmlkLnRlbXBsYXRlLnNldChcImZvcmNlSGlkZGVuXCIsIHRydWUpO1xyXG4gICAgeUF4aXMuZ2V0KFwicmVuZGVyZXJcIikubGFiZWxzLnRlbXBsYXRlLnNldChcImZvcmNlSGlkZGVuXCIsIHRydWUpO1xyXG5cclxuICAgIC8vIENyZWF0ZSBzZXJpZXNcclxuICAgIGxldCBzZXJpZXMgPSBjaGFydC5zZXJpZXMucHVzaChcclxuICAgICAgYW01eHkuTGluZVNlcmllcy5uZXcocm9vdCwge1xyXG4gICAgICAgIG5hbWU6IFwiU2VyaWVzXCIsXHJcbiAgICAgICAgeEF4aXM6IHhBeGlzLFxyXG4gICAgICAgIHlBeGlzOiB5QXhpcyxcclxuICAgICAgICB2YWx1ZVlGaWVsZDogXCJ2YWx1ZVwiLFxyXG4gICAgICAgIHZhbHVlWEZpZWxkOiBcImRhdGVcIixcclxuICAgICAgICBzdHJva2U6IGFtNS5jb2xvcigweDAwYTNmZiksIC8vIFNldCB0aGUgbGluZSBjb2xvciBoZXJlIChyZWQgaW4gdGhpcyBjYXNlKVxyXG4gICAgICB9KVxyXG4gICAgKTtcclxuICAgIHNlcmllcy5idWxsZXRzLnB1c2goZnVuY3Rpb24gKCkge1xyXG4gICAgICBsZXQgYnVsbGV0Q2lyY2xlID0gYW01LkNpcmNsZS5uZXcocm9vdCwge1xyXG4gICAgICAgIHJhZGl1czogMCxcclxuICAgICAgICBmaWxsOiBzZXJpZXMuZ2V0KFwiZmlsbFwiKVxyXG4gICAgICB9KTtcclxuICAgICAgcmV0dXJuIGFtNS5CdWxsZXQubmV3KHJvb3QsIHtcclxuICAgICAgICBzcHJpdGU6IGJ1bGxldENpcmNsZVxyXG4gICAgICB9KVxyXG4gICAgfSlcclxuICAgIHNlcmllcy5kYXRhLnNldEFsbChkYXRhKTtcclxuICAgIHNlcmllcy5zZXQoXHJcbiAgICAgIFwidG9vbHRpcFwiLFxyXG4gICAgICBhbTUuVG9vbHRpcC5uZXcocm9vdCwge1xyXG4gICAgICAgIGxhYmVsVGV4dDogXCJ7dmFsdWVZfVwiLFxyXG4gICAgICAgIGdldEZpbGxGcm9tU3ByaXRlOiBmYWxzZSwgLy8gUHJldmVudHMgdGhlIHRvb2x0aXAgZnJvbSBpbmhlcml0aW5nIGNvbG9yIGZyb20gdGhlIHNwcml0ZVxyXG4gICAgICAgIGJhY2tncm91bmQ6IGFtNS5SZWN0YW5nbGUubmV3KHJvb3QsIHtcclxuICAgICAgICAgIGZpbGw6IGFtNS5jb2xvcigweGRhZjFmZiksIC8vIFNldCB0aGUgdG9vbHRpcCBiYWNrZ3JvdW5kIGNvbG9yIGhlcmUgKGJsdWUgaW4gdGhpcyBjYXNlKVxyXG4gICAgICAgIH0pLFxyXG4gICAgICB9KVxyXG4gICAgKTtcclxuICAgIHRoaXMubGluZXJvb3QgPSByb290O1xyXG4gIH0sMClcclxuICB9XHJcbiAgYm91bmNlZGxpbmVDaGFydHMoKSB7XHJcbiAgICBzZXRUaW1lb3V0KCgpID0+IHtcclxuICAgICAgY29uc3QgY2hhcnREaXYgPSBkb2N1bWVudC5nZXRFbGVtZW50QnlJZChcIkJvdW5jZWRSYXRlXCIpO1xyXG4gICAgICBpZiAoIWNoYXJ0RGl2KSB7XHJcbiAgICAgICAgcmV0dXJuO1xyXG4gICAgICB9XHJcbiAgICAgIGlmICh0aGlzLmJvdW5jZWRsaW5lcm9vdCkge1xyXG4gICAgICAgIHRoaXMuYm91bmNlZGxpbmVyb290LmRpc3Bvc2UoKTtcclxuICAgICAgfVxyXG4gICAgbGV0IHJvb3Q6IGFueTtcclxuICAgIHJvb3QgPSBhbTUuUm9vdC5uZXcoXCJCb3VuY2VkUmF0ZVwiKTtcclxuICAgIHJvb3Quc2V0VGhlbWVzKFtcclxuICAgICAgYW01dGhlbWVzX0FuaW1hdGVkLm5ldyhyb290KSxcclxuICAgICAgYW01dGhlbWVzX1Jlc3BvbnNpdmUubmV3KHJvb3QpLFxyXG4gICAgXSk7XHJcbiAgICBsZXQgY2hhcnQgPSByb290LmNvbnRhaW5lci5jaGlsZHJlbi5wdXNoKFxyXG4gICAgICBhbTV4eS5YWUNoYXJ0Lm5ldyhyb290LCB7XHJcbiAgICAgICAgcGFuWDogdHJ1ZSxcclxuICAgICAgICBwYW5ZOiB0cnVlLFxyXG4gICAgICAgIHdoZWVsWDogXCJwYW5YXCIsXHJcbiAgICAgICAgd2hlZWxZOiBcInpvb21YXCIsXHJcbiAgICAgICAgcGluY2hab29tWDogdHJ1ZSxcclxuICAgICAgfSlcclxuICAgICk7XHJcblxyXG4gICAgLy8gQWRkIGRhdGFcclxuICAgIGxldCBkYXRhID0gdGhpcy5nZXRCb3VuY2VkQ2FyZERhdGE/LmRhdGE/LmJvdW5jZWQ/LmRhdGEubWFwKChpdGVtOiBhbnkpID0+ICh7XHJcbiAgICAgIGRhdGU6IG5ldyBEYXRlKGl0ZW0uZGF0ZSkuZ2V0VGltZSgpLCAvLyBDb252ZXJ0IGRhdGUgc3RyaW5nIHRvIHRpbWVzdGFtcFxyXG4gICAgICB2YWx1ZTogTnVtYmVyKGl0ZW0udmFsdWUpLFxyXG4gICAgfSkpO1xyXG4gICAgbGV0IGN1cnNvciA9IGNoYXJ0LnNldChcclxuICAgICAgXCJjdXJzb3JcIixcclxuICAgICAgYW01eHkuWFlDdXJzb3IubmV3KHJvb3QsIHtcclxuICAgICAgICBiZWhhdmlvcjogXCJub25lXCIsXHJcbiAgICAgIH0pXHJcbiAgICApO1xyXG4gICAgY3Vyc29yLmxpbmVZLnNldChcInZpc2libGVcIiwgZmFsc2UpO1xyXG4gICAgLy8gQ3JlYXRlIGF4ZXNcclxuICAgIGxldCB4QXhpcyA9IGNoYXJ0LnhBeGVzLnB1c2goXHJcbiAgICAgIGFtNXh5LkRhdGVBeGlzLm5ldyhyb290LCB7XHJcbiAgICAgICAgbWF4RGV2aWF0aW9uOiAwLjIsXHJcbiAgICAgICAgYmFzZUludGVydmFsOiB7IHRpbWVVbml0OiBcImRheVwiLCBjb3VudDogMSB9LFxyXG4gICAgICAgIHJlbmRlcmVyOiBhbTV4eS5BeGlzUmVuZGVyZXJYLm5ldyhyb290LCB7IG1pbm9yR3JpZEVuYWJsZWQ6IHRydWUgfSksXHJcbiAgICAgIH0pXHJcbiAgICApO1xyXG4gICAgeEF4aXMuZ2V0KFwicmVuZGVyZXJcIikuZ3JpZC50ZW1wbGF0ZS5zZXQoXCJmb3JjZUhpZGRlblwiLCB0cnVlKTtcclxuICAgIHhBeGlzLmdldChcInJlbmRlcmVyXCIpLmxhYmVscy50ZW1wbGF0ZS5zZXQoXCJmb3JjZUhpZGRlblwiLCB0cnVlKTtcclxuXHJcbiAgICBsZXQgeUF4aXMgPSBjaGFydC55QXhlcy5wdXNoKFxyXG4gICAgICBhbTV4eS5WYWx1ZUF4aXMubmV3KHJvb3QsIHtcclxuICAgICAgICByZW5kZXJlcjogYW01eHkuQXhpc1JlbmRlcmVyWS5uZXcocm9vdCwgeyBwYW46IFwiem9vbVwiIH0pLFxyXG4gICAgICB9KVxyXG4gICAgKTtcclxuICAgIHlBeGlzLmdldChcInJlbmRlcmVyXCIpLmdyaWQudGVtcGxhdGUuc2V0KFwiZm9yY2VIaWRkZW5cIiwgdHJ1ZSk7XHJcbiAgICB5QXhpcy5nZXQoXCJyZW5kZXJlclwiKS5sYWJlbHMudGVtcGxhdGUuc2V0KFwiZm9yY2VIaWRkZW5cIiwgdHJ1ZSk7XHJcblxyXG4gICAgLy8gQ3JlYXRlIHNlcmllc1xyXG4gICAgbGV0IHNlcmllcyA9IGNoYXJ0LnNlcmllcy5wdXNoKFxyXG4gICAgICBhbTV4eS5MaW5lU2VyaWVzLm5ldyhyb290LCB7XHJcbiAgICAgICAgbmFtZTogXCJTZXJpZXNcIixcclxuICAgICAgICB4QXhpczogeEF4aXMsXHJcbiAgICAgICAgeUF4aXM6IHlBeGlzLFxyXG4gICAgICAgIHZhbHVlWUZpZWxkOiBcInZhbHVlXCIsXHJcbiAgICAgICAgdmFsdWVYRmllbGQ6IFwiZGF0ZVwiLFxyXG4gICAgICAgIHN0cm9rZTogYW01LmNvbG9yKDB4MDBhM2ZmKSwgLy8gU2V0IHRoZSBsaW5lIGNvbG9yIGhlcmUgKHJlZCBpbiB0aGlzIGNhc2UpXHJcbiAgICAgIH0pXHJcbiAgICApO1xyXG4gICAgc2VyaWVzLmJ1bGxldHMucHVzaChmdW5jdGlvbiAoKSB7XHJcbiAgICAgIGxldCBidWxsZXRDaXJjbGUgPSBhbTUuQ2lyY2xlLm5ldyhyb290LCB7XHJcbiAgICAgICAgcmFkaXVzOiAwLFxyXG4gICAgICAgIGZpbGw6IHNlcmllcy5nZXQoXCJmaWxsXCIpXHJcbiAgICAgIH0pO1xyXG4gICAgICByZXR1cm4gYW01LkJ1bGxldC5uZXcocm9vdCwge1xyXG4gICAgICAgIHNwcml0ZTogYnVsbGV0Q2lyY2xlXHJcbiAgICAgIH0pXHJcbiAgICB9KVxyXG4gICAgc2VyaWVzLmRhdGEuc2V0QWxsKGRhdGEpO1xyXG4gICAgc2VyaWVzLnNldChcclxuICAgICAgXCJ0b29sdGlwXCIsXHJcbiAgICAgIGFtNS5Ub29sdGlwLm5ldyhyb290LCB7XHJcbiAgICAgICAgbGFiZWxUZXh0OiBcInt2YWx1ZVl9XCIsXHJcbiAgICAgICAgZ2V0RmlsbEZyb21TcHJpdGU6IGZhbHNlLCAvLyBQcmV2ZW50cyB0aGUgdG9vbHRpcCBmcm9tIGluaGVyaXRpbmcgY29sb3IgZnJvbSB0aGUgc3ByaXRlXHJcbiAgICAgICAgYmFja2dyb3VuZDogYW01LlJlY3RhbmdsZS5uZXcocm9vdCwge1xyXG4gICAgICAgICAgZmlsbDogYW01LmNvbG9yKDB4ZGFmMWZmKSwgLy8gU2V0IHRoZSB0b29sdGlwIGJhY2tncm91bmQgY29sb3IgaGVyZSAoYmx1ZSBpbiB0aGlzIGNhc2UpXHJcbiAgICAgICAgfSksXHJcbiAgICAgIH0pXHJcbiAgICApO1xyXG4gICAgdGhpcy5ib3VuY2VkbGluZXJvb3QgPSByb290O1xyXG4gIH0sMClcclxuICB9XHJcblxyXG4gIHBvdGVudGlhbGxpbmVDaGFydHMoKSB7XHJcbiAgICBzZXRUaW1lb3V0KCgpID0+IHtcclxuICAgICAgY29uc3QgY2hhcnREaXYgPSBkb2N1bWVudC5nZXRFbGVtZW50QnlJZChcIlBvdGVudGlhbEJ1eWVyc1wiKTtcclxuICAgICAgaWYgKCFjaGFydERpdikge1xyXG4gICAgICAgIHJldHVybjtcclxuICAgICAgfVxyXG4gICAgICBpZiAodGhpcy5wb3RlbnRpYWxCdXllcnNsaW5lcm9vdCkge1xyXG4gICAgICAgIHRoaXMucG90ZW50aWFsQnV5ZXJzbGluZXJvb3QuZGlzcG9zZSgpO1xyXG4gICAgICB9XHJcbiAgICBsZXQgcm9vdDogYW55O1xyXG4gICAgcm9vdCA9IGFtNS5Sb290Lm5ldyhcIlBvdGVudGlhbEJ1eWVyc1wiKTtcclxuICAgIHJvb3Quc2V0VGhlbWVzKFtcclxuICAgICAgYW01dGhlbWVzX0FuaW1hdGVkLm5ldyhyb290KSxcclxuICAgICAgYW01dGhlbWVzX1Jlc3BvbnNpdmUubmV3KHJvb3QpLFxyXG4gICAgXSk7XHJcbiAgICBsZXQgY2hhcnQgPSByb290LmNvbnRhaW5lci5jaGlsZHJlbi5wdXNoKFxyXG4gICAgICBhbTV4eS5YWUNoYXJ0Lm5ldyhyb290LCB7XHJcbiAgICAgICAgcGFuWDogdHJ1ZSxcclxuICAgICAgICBwYW5ZOiB0cnVlLFxyXG4gICAgICAgIHdoZWVsWDogXCJwYW5YXCIsXHJcbiAgICAgICAgd2hlZWxZOiBcInpvb21YXCIsXHJcbiAgICAgICAgcGluY2hab29tWDogdHJ1ZSxcclxuICAgICAgfSlcclxuICAgICk7XHJcblxyXG4gICAgLy8gQWRkIGRhdGFcclxuICAgIGxldCBkYXRhID0gdGhpcy5nZXRQb3RlbnRpYWxCdXllcnNDYXJkRGF0YT8uZGF0YT8ucG90ZW50aWFsQnV5ZXJzPy5kYXRhLm1hcChcclxuICAgICAgKGl0ZW06IGFueSkgPT4gKHtcclxuICAgICAgICBkYXRlOiBuZXcgRGF0ZShpdGVtLmRhdGUpLmdldFRpbWUoKSwgLy8gQ29udmVydCBkYXRlIHN0cmluZyB0byB0aW1lc3RhbXBcclxuICAgICAgICB2YWx1ZTogTnVtYmVyKGl0ZW0udmFsdWUpLFxyXG4gICAgICB9KVxyXG4gICAgKTtcclxuICAgIGxldCBjdXJzb3IgPSBjaGFydC5zZXQoXHJcbiAgICAgIFwiY3Vyc29yXCIsXHJcbiAgICAgIGFtNXh5LlhZQ3Vyc29yLm5ldyhyb290LCB7XHJcbiAgICAgICAgYmVoYXZpb3I6IFwibm9uZVwiLFxyXG4gICAgICB9KVxyXG4gICAgKTtcclxuICAgIGN1cnNvci5saW5lWS5zZXQoXCJ2aXNpYmxlXCIsIGZhbHNlKTtcclxuICAgIC8vIENyZWF0ZSBheGVzXHJcbiAgICBsZXQgeEF4aXMgPSBjaGFydC54QXhlcy5wdXNoKFxyXG4gICAgICBhbTV4eS5EYXRlQXhpcy5uZXcocm9vdCwge1xyXG4gICAgICAgIG1heERldmlhdGlvbjogMC4yLFxyXG4gICAgICAgIGJhc2VJbnRlcnZhbDogeyB0aW1lVW5pdDogXCJkYXlcIiwgY291bnQ6IDEgfSxcclxuICAgICAgICByZW5kZXJlcjogYW01eHkuQXhpc1JlbmRlcmVyWC5uZXcocm9vdCwgeyBtaW5vckdyaWRFbmFibGVkOiB0cnVlIH0pLFxyXG4gICAgICB9KVxyXG4gICAgKTtcclxuICAgIHhBeGlzLmdldChcInJlbmRlcmVyXCIpLmdyaWQudGVtcGxhdGUuc2V0KFwiZm9yY2VIaWRkZW5cIiwgdHJ1ZSk7XHJcbiAgICB4QXhpcy5nZXQoXCJyZW5kZXJlclwiKS5sYWJlbHMudGVtcGxhdGUuc2V0KFwiZm9yY2VIaWRkZW5cIiwgdHJ1ZSk7XHJcblxyXG4gICAgbGV0IHlBeGlzID0gY2hhcnQueUF4ZXMucHVzaChcclxuICAgICAgYW01eHkuVmFsdWVBeGlzLm5ldyhyb290LCB7XHJcbiAgICAgICAgcmVuZGVyZXI6IGFtNXh5LkF4aXNSZW5kZXJlclkubmV3KHJvb3QsIHsgcGFuOiBcInpvb21cIiB9KSxcclxuICAgICAgfSlcclxuICAgICk7XHJcbiAgICB5QXhpcy5nZXQoXCJyZW5kZXJlclwiKS5ncmlkLnRlbXBsYXRlLnNldChcImZvcmNlSGlkZGVuXCIsIHRydWUpO1xyXG4gICAgeUF4aXMuZ2V0KFwicmVuZGVyZXJcIikubGFiZWxzLnRlbXBsYXRlLnNldChcImZvcmNlSGlkZGVuXCIsIHRydWUpO1xyXG5cclxuICAgIC8vIENyZWF0ZSBzZXJpZXNcclxuICAgIGxldCBzZXJpZXMgPSBjaGFydC5zZXJpZXMucHVzaChcclxuICAgICAgYW01eHkuTGluZVNlcmllcy5uZXcocm9vdCwge1xyXG4gICAgICAgIG5hbWU6IFwiU2VyaWVzXCIsXHJcbiAgICAgICAgeEF4aXM6IHhBeGlzLFxyXG4gICAgICAgIHlBeGlzOiB5QXhpcyxcclxuICAgICAgICB2YWx1ZVlGaWVsZDogXCJ2YWx1ZVwiLFxyXG4gICAgICAgIHZhbHVlWEZpZWxkOiBcImRhdGVcIixcclxuICAgICAgICBzdHJva2U6IGFtNS5jb2xvcigweDAwYTNmZiksIC8vIFNldCB0aGUgbGluZSBjb2xvciBoZXJlIChyZWQgaW4gdGhpcyBjYXNlKVxyXG4gICAgICB9KVxyXG4gICAgKTtcclxuICAgIHNlcmllcy5idWxsZXRzLnB1c2goZnVuY3Rpb24gKCkge1xyXG4gICAgICBsZXQgYnVsbGV0Q2lyY2xlID0gYW01LkNpcmNsZS5uZXcocm9vdCwge1xyXG4gICAgICAgIHJhZGl1czogMCxcclxuICAgICAgICBmaWxsOiBzZXJpZXMuZ2V0KFwiZmlsbFwiKVxyXG4gICAgICB9KTtcclxuICAgICAgcmV0dXJuIGFtNS5CdWxsZXQubmV3KHJvb3QsIHtcclxuICAgICAgICBzcHJpdGU6IGJ1bGxldENpcmNsZVxyXG4gICAgICB9KVxyXG4gICAgfSlcclxuICAgIHNlcmllcy5kYXRhLnNldEFsbChkYXRhKTtcclxuICAgIHNlcmllcy5zZXQoXHJcbiAgICAgIFwidG9vbHRpcFwiLFxyXG4gICAgICBhbTUuVG9vbHRpcC5uZXcocm9vdCwge1xyXG4gICAgICAgIGxhYmVsVGV4dDogXCJ7dmFsdWVZfVwiLFxyXG4gICAgICAgIGdldEZpbGxGcm9tU3ByaXRlOiBmYWxzZSwgLy8gUHJldmVudHMgdGhlIHRvb2x0aXAgZnJvbSBpbmhlcml0aW5nIGNvbG9yIGZyb20gdGhlIHNwcml0ZVxyXG4gICAgICAgIGJhY2tncm91bmQ6IGFtNS5SZWN0YW5nbGUubmV3KHJvb3QsIHtcclxuICAgICAgICAgIGZpbGw6IGFtNS5jb2xvcigweGRhZjFmZiksIC8vIFNldCB0aGUgdG9vbHRpcCBiYWNrZ3JvdW5kIGNvbG9yIGhlcmUgKGJsdWUgaW4gdGhpcyBjYXNlKVxyXG4gICAgICAgIH0pLFxyXG4gICAgICB9KVxyXG4gICAgKTtcclxuICAgIHRoaXMucG90ZW50aWFsQnV5ZXJzbGluZXJvb3QgPSByb290O1xyXG4gIH0sMClcclxuICB9XHJcblxyXG4gIGVuZ2FnZXJzbGluZUNoYXJ0cygpIHtcclxuICAgIHNldFRpbWVvdXQoKCkgPT4ge1xyXG4gICAgICBjb25zdCBjaGFydERpdiA9IGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKFwiZW5nYWdlcnNcIik7XHJcbiAgICAgIGlmICghY2hhcnREaXYpIHtcclxuICAgICAgICByZXR1cm47XHJcbiAgICAgIH1cclxuICAgICAgaWYgKHRoaXMuZW5nYWdlcnNsaW5lcm9vdCkge1xyXG4gICAgICAgIHRoaXMuZW5nYWdlcnNsaW5lcm9vdC5kaXNwb3NlKCk7XHJcbiAgICAgIH1cclxuICAgIGxldCByb290OiBhbnk7XHJcbiAgICByb290ID0gYW01LlJvb3QubmV3KFwiZW5nYWdlcnNcIik7XHJcbiAgICByb290LnNldFRoZW1lcyhbXHJcbiAgICAgIGFtNXRoZW1lc19BbmltYXRlZC5uZXcocm9vdCksXHJcbiAgICAgIGFtNXRoZW1lc19SZXNwb25zaXZlLm5ldyhyb290KSxcclxuICAgIF0pO1xyXG4gICAgbGV0IGNoYXJ0ID0gcm9vdC5jb250YWluZXIuY2hpbGRyZW4ucHVzaChcclxuICAgICAgYW01eHkuWFlDaGFydC5uZXcocm9vdCwge1xyXG4gICAgICAgIHBhblg6IHRydWUsXHJcbiAgICAgICAgcGFuWTogdHJ1ZSxcclxuICAgICAgICB3aGVlbFg6IFwicGFuWFwiLFxyXG4gICAgICAgIHdoZWVsWTogXCJ6b29tWFwiLFxyXG4gICAgICAgIHBpbmNoWm9vbVg6IHRydWUsXHJcbiAgICAgIH0pXHJcbiAgICApO1xyXG5cclxuICAgIC8vIEFkZCBkYXRhXHJcbiAgICBsZXQgZGF0YSA9IHRoaXMuZ2V0RW5nYWdlcnNDYXJkRGF0YT8uZGF0YT8uZW5nYWdlcnM/LmRhdGEubWFwKChpdGVtOiBhbnkpID0+ICh7XHJcbiAgICAgIGRhdGU6IG5ldyBEYXRlKGl0ZW0uZGF0ZSkuZ2V0VGltZSgpLCAvLyBDb252ZXJ0IGRhdGUgc3RyaW5nIHRvIHRpbWVzdGFtcFxyXG4gICAgICB2YWx1ZTogTnVtYmVyKGl0ZW0udmFsdWUpLFxyXG4gICAgfSkpO1xyXG4gICAgbGV0IGN1cnNvciA9IGNoYXJ0LnNldChcclxuICAgICAgXCJjdXJzb3JcIixcclxuICAgICAgYW01eHkuWFlDdXJzb3IubmV3KHJvb3QsIHtcclxuICAgICAgICBiZWhhdmlvcjogXCJub25lXCIsXHJcbiAgICAgIH0pXHJcbiAgICApO1xyXG4gICAgY3Vyc29yLmxpbmVZLnNldChcInZpc2libGVcIiwgZmFsc2UpO1xyXG4gICAgLy8gQ3JlYXRlIGF4ZXNcclxuICAgIGxldCB4QXhpcyA9IGNoYXJ0LnhBeGVzLnB1c2goXHJcbiAgICAgIGFtNXh5LkRhdGVBeGlzLm5ldyhyb290LCB7XHJcbiAgICAgICAgbWF4RGV2aWF0aW9uOiAwLjIsXHJcbiAgICAgICAgYmFzZUludGVydmFsOiB7IHRpbWVVbml0OiBcImRheVwiLCBjb3VudDogMSB9LFxyXG4gICAgICAgIHJlbmRlcmVyOiBhbTV4eS5BeGlzUmVuZGVyZXJYLm5ldyhyb290LCB7IG1pbm9yR3JpZEVuYWJsZWQ6IHRydWUgfSksXHJcbiAgICAgIH0pXHJcbiAgICApO1xyXG4gICAgeEF4aXMuZ2V0KFwicmVuZGVyZXJcIikuZ3JpZC50ZW1wbGF0ZS5zZXQoXCJmb3JjZUhpZGRlblwiLCB0cnVlKTtcclxuICAgIHhBeGlzLmdldChcInJlbmRlcmVyXCIpLmxhYmVscy50ZW1wbGF0ZS5zZXQoXCJmb3JjZUhpZGRlblwiLCB0cnVlKTtcclxuXHJcbiAgICBsZXQgeUF4aXMgPSBjaGFydC55QXhlcy5wdXNoKFxyXG4gICAgICBhbTV4eS5WYWx1ZUF4aXMubmV3KHJvb3QsIHtcclxuICAgICAgICByZW5kZXJlcjogYW01eHkuQXhpc1JlbmRlcmVyWS5uZXcocm9vdCwgeyBwYW46IFwiem9vbVwiIH0pLFxyXG4gICAgICB9KVxyXG4gICAgKTtcclxuICAgIHlBeGlzLmdldChcInJlbmRlcmVyXCIpLmdyaWQudGVtcGxhdGUuc2V0KFwiZm9yY2VIaWRkZW5cIiwgdHJ1ZSk7XHJcbiAgICB5QXhpcy5nZXQoXCJyZW5kZXJlclwiKS5sYWJlbHMudGVtcGxhdGUuc2V0KFwiZm9yY2VIaWRkZW5cIiwgdHJ1ZSk7XHJcblxyXG4gICAgLy8gQ3JlYXRlIHNlcmllc1xyXG4gICAgbGV0IHNlcmllcyA9IGNoYXJ0LnNlcmllcy5wdXNoKFxyXG4gICAgICBhbTV4eS5MaW5lU2VyaWVzLm5ldyhyb290LCB7XHJcbiAgICAgICAgbmFtZTogXCJTZXJpZXNcIixcclxuICAgICAgICB4QXhpczogeEF4aXMsXHJcbiAgICAgICAgeUF4aXM6IHlBeGlzLFxyXG4gICAgICAgIHZhbHVlWUZpZWxkOiBcInZhbHVlXCIsXHJcbiAgICAgICAgdmFsdWVYRmllbGQ6IFwiZGF0ZVwiLFxyXG4gICAgICAgIHN0cm9rZTogYW01LmNvbG9yKDB4MDBhM2ZmKSwgLy8gU2V0IHRoZSBsaW5lIGNvbG9yIGhlcmUgKHJlZCBpbiB0aGlzIGNhc2UpXHJcbiAgICAgIH0pXHJcbiAgICApO1xyXG4gICAgc2VyaWVzLmJ1bGxldHMucHVzaChmdW5jdGlvbiAoKSB7XHJcbiAgICAgIGxldCBidWxsZXRDaXJjbGUgPSBhbTUuQ2lyY2xlLm5ldyhyb290LCB7XHJcbiAgICAgICAgcmFkaXVzOiAwLFxyXG4gICAgICAgIGZpbGw6IHNlcmllcy5nZXQoXCJmaWxsXCIpXHJcbiAgICAgIH0pO1xyXG4gICAgICByZXR1cm4gYW01LkJ1bGxldC5uZXcocm9vdCwge1xyXG4gICAgICAgIHNwcml0ZTogYnVsbGV0Q2lyY2xlXHJcbiAgICAgIH0pXHJcbiAgICB9KVxyXG4gICAgc2VyaWVzLmRhdGEuc2V0QWxsKGRhdGEpO1xyXG4gICAgc2VyaWVzLnNldChcclxuICAgICAgXCJ0b29sdGlwXCIsXHJcbiAgICAgIGFtNS5Ub29sdGlwLm5ldyhyb290LCB7XHJcbiAgICAgICAgbGFiZWxUZXh0OiBcInt2YWx1ZVl9XCIsXHJcbiAgICAgICAgZ2V0RmlsbEZyb21TcHJpdGU6IGZhbHNlLCAvLyBQcmV2ZW50cyB0aGUgdG9vbHRpcCBmcm9tIGluaGVyaXRpbmcgY29sb3IgZnJvbSB0aGUgc3ByaXRlXHJcbiAgICAgICAgYmFja2dyb3VuZDogYW01LlJlY3RhbmdsZS5uZXcocm9vdCwge1xyXG4gICAgICAgICAgZmlsbDogYW01LmNvbG9yKDB4ZGFmMWZmKSwgLy8gU2V0IHRoZSB0b29sdGlwIGJhY2tncm91bmQgY29sb3IgaGVyZSAoYmx1ZSBpbiB0aGlzIGNhc2UpXHJcbiAgICAgICAgfSksXHJcbiAgICAgIH0pXHJcbiAgICApO1xyXG4gICAgdGhpcy5lbmdhZ2Vyc2xpbmVyb290ID0gcm9vdDtcclxuICB9LDApXHJcbiAgfVxyXG4gIC8vIGNhcmQgbGluZSBDaGFydHMgRW5kXHJcblxyXG4gIGhlYXRNYXAoKSB7XHJcbiAgICB0aGlzLmhlYXRsb2FkaW5nID0gZmFsc2VcclxuICAgIHRoaXMuaGVhdG5vRGF0YSA9IGZhbHNlXHJcbiAgICBzZXRUaW1lb3V0KCgpID0+IHtcclxuICAgICAgY29uc3QgY2hhcnREaXYgPSBkb2N1bWVudC5nZXRFbGVtZW50QnlJZChcImNoYXJ0ZGl2XCIpO1xyXG4gICAgICBpZiAoIWNoYXJ0RGl2KSB7XHJcbiAgICAgICAgcmV0dXJuO1xyXG4gICAgICB9XHJcbiAgICAgIGlmICh0aGlzLmhlYXRNYXByb290KSB7XHJcbiAgICAgICAgdGhpcy5oZWF0TWFwcm9vdC5kaXNwb3NlKCk7XHJcbiAgICAgIH1cclxuICAgIGxldCByb290ID0gYW01LlJvb3QubmV3KFwiY2hhcnRkaXZcIik7XHJcbiAgICByb290LnNldFRoZW1lcyhbYW01dGhlbWVzX0FuaW1hdGVkLm5ldyhyb290KV0pO1xyXG5cclxuICAgIGxldCBjaGFydCA9IHJvb3QuY29udGFpbmVyLmNoaWxkcmVuLnB1c2goXHJcbiAgICAgIGFtNXBlcmNlbnQuU2xpY2VkQ2hhcnQubmV3KHJvb3QsIHtcclxuICAgICAgICBsYXlvdXQ6IHJvb3QudmVydGljYWxMYXlvdXQsXHJcbiAgICAgIH0pXHJcbiAgICApO1xyXG4gIFxyXG4gICAgICBsZXQgZGF0YSA9IHRoaXMuaGVhdE1hcERhdGE7XHJcbiAgICBpZiAodGhpcy5oZWFkZXJEYXRhPy5jbGllbnQgPT09ICc0NTInKSB7XHJcbiAgICAgIGRhdGEgPSBkYXRhLmZpbHRlcigoaXRlbTogYW55KSA9PiBpdGVtLmNhdGVnb3J5ICE9PSAnUG90ZW50aWFsIEJ1eWVycycpO1xyXG4gICAgICBkYXRhID0gZGF0YS5tYXAoKGl0ZW06YW55KSA9PiB7XHJcbiAgICAgICAgY29uc3QgY2F0ZWdvcnkgPSBpdGVtLmNhdGVnb3J5LnRvTG93ZXJDYXNlKCk7XHJcbiAgICAgIFxyXG4gICAgICAgIGNvbnN0IHVwZGF0ZWRDYXRlZ29yeSA9XHJcbiAgICAgICAgICBjYXRlZ29yeSA9PT0gJ2VuZ2FnZXJzJ1xyXG4gICAgICAgICAgICA/IGBNb3JlIHRoYW4gJHt0aGlzLmZlYXR1cmVDb25maWc/LmJvdW5jZWRMaW1pdC52YWx1ZX0gbWluc2BcclxuICAgICAgICAgICAgOiBjYXRlZ29yeSA9PT0gJ2JvdW5jZWQnXHJcbiAgICAgICAgICAgID8gYExlc3MgdGhhbiAke3RoaXMuZmVhdHVyZUNvbmZpZz8uYm91bmNlZExpbWl0LnZhbHVlfSBtaW5zYFxyXG4gICAgICAgICAgICA6IGNhdGVnb3J5ID09PSAnY29udmVyc2lvbidcclxuICAgICAgICAgICAgPyBgTW9yZSB0aGFuICR7dGhpcy5mZWF0dXJlQ29uZmlnPy5jb252ZXJzaW9uLnZhbHVlfSBtaW5zYFxyXG4gICAgICAgICAgICA6IGNhdGVnb3J5ID09PSAnZm9vdGZhbGwnXHJcbiAgICAgICAgICAgID8gJ0Zvb3RmYWxsJ1xyXG4gICAgICAgICAgICA6IGAke3RoaXMuZmVhdHVyZUNvbmZpZz8ubWlzc2VkT3Bwb3J0dW5pdHlGcm9tLnZhbHVlfS0ke3RoaXMuZmVhdHVyZUNvbmZpZz8ubWlzc2VkT3Bwb3J0dW5pdHlUby52YWx1ZX0gbWluc2A7XHJcbiAgICAgIFxyXG4gICAgICAgIHJldHVybiB7XHJcbiAgICAgICAgICAuLi5pdGVtLFxyXG4gICAgICAgICAgY2F0ZWdvcnk6IHVwZGF0ZWRDYXRlZ29yeSxcclxuICAgICAgICB9O1xyXG4gICAgICB9KTtcclxuICAgICAgfVxyXG4gICAgICBcclxuICAgIGRhdGEuc29ydCgoYTphbnksIGI6YW55KSA9PiBiLnZhbHVlIC0gYS52YWx1ZSk7XHJcbiAgICBsZXQgc2VyaWVzID0gY2hhcnQuc2VyaWVzLnB1c2goXHJcbiAgICAgIGFtNXBlcmNlbnQuRnVubmVsU2VyaWVzLm5ldyhyb290LCB7XHJcbiAgICAgICAgYWxpZ25MYWJlbHM6IGZhbHNlLFxyXG4gICAgICAgIG9yaWVudGF0aW9uOiBcImhvcml6b250YWxcIixcclxuICAgICAgICB2YWx1ZUZpZWxkOiBcInZhbHVlXCIsXHJcbiAgICAgICAgY2F0ZWdvcnlGaWVsZDogXCJjYXRlZ29yeVwiLFxyXG4gICAgICAgIGJvdHRvbVJhdGlvOiAxLFxyXG4gICAgICB9KVxyXG4gICAgKTtcclxuXHJcbiAgICAgIFxyXG4gICAgc2VyaWVzLmRhdGEuc2V0QWxsKGRhdGEpO1xyXG4gICAgc2VyaWVzLmFwcGVhcigpO1xyXG4gICAgLy8gVXBkYXRlIHRoZSBsYWJlbCB0ZW1wbGF0ZSB0byBpbmNsdWRlIHRoZSBwZXJjZW50YWdlXHJcbiAgICBzZXJpZXMubGFiZWxzLnRlbXBsYXRlLnNldEFsbCh7XHJcbiAgICAgIHBvcHVsYXRlVGV4dDogdHJ1ZSxcclxuICAgICAgdGV4dDogXCJ7Y2F0ZWdvcnl9ICh7Y291bnR9JSlcXG5cXG57dmFsdWV9XCIsXHJcbiAgICAgIGZvbnRTaXplOlwiMTNweFwiLFxyXG4gICAgICBmb250V2VpZ2h0OlwiNDAwXCIsXHJcbiAgICAgIHRleHRBbGlnbjpcImNlbnRlclwiXHJcbiAgICB9KTtcclxuICAgICAgXHJcbiAgICB0aGlzLmhlYXRNYXByb290ID0gcm9vdDtcclxuICAgIGNoYXJ0LmFwcGVhcigxMDAwLCAxMDApO1xyXG4gIH0sMCk7XHJcblxyXG4gIH1cclxuXHJcbiAgdHlwZTogYW55ID0gXCJ3ZWVrbHlcIjtcclxuICBzZWxlY3RQbGFuKHR5cGU6IGFueSkge1xyXG4gICAgdGhpcy50eXBlID0gdHlwZTtcclxuICB9XHJcblxyXG4gIC8vIFRvZ2dsZSBmdW5jdGlvbiBmb3IgdGhlIHN3aXRjaFxyXG4gIHRvZ2dsZUF2ZXJhZ2UoZXZ0OmFueSkge1xyXG4gICAgLy8gdGhpcy50YWJsZW9iai5ub2IgPXRydWU7XHJcbiAgICB0aGlzLmlzQXZlcmFnZSA9IGV2dC50YXJnZXQuY2hlY2tlZDtcclxuICAgIHRoaXMuc2VydmljZS50b2dnbGVBdmVyYWdlKHRoaXMuaXNBdmVyYWdlKTtcclxuICAgIHRoaXMuc2VydmljZT8udG9nZ2xlbm9iKHRoaXMudGFibGVvYmoubm9iKTtcclxuICAgIHRoaXMudGFibGVvYmouZnJvbURhdGU9IHRoaXMuaGVhZGVyRGF0YS5kYXRlLnN0YXJ0RGF0ZSxcclxuICAgIHRoaXMudGFibGVvYmoudG9EYXRlPSB0aGlzLmhlYWRlckRhdGEuZGF0ZS5lbmREYXRlLFxyXG4gICAgZGVsZXRlIHRoaXMudGFibGVvYmoucmVjYXBWaWRlb0RhdGU7XHJcbiAgICBkZWxldGUgdGhpcy50YWJsZW9iai5saW1pdDsgZGVsZXRlIHRoaXMudGFibGVvYmouZXhwb3J0O1xyXG4gICAgZGVsZXRlIHRoaXMudGFibGVvYmoub2Zmc2V0O1xyXG4gICAgaWYodGhpcy5pc0F2ZXJhZ2UgPT09IHRydWUpe1xyXG4gICAgdGhpcy52YWx1ZVR5cGUgPSAnYXZlcmFnZSc7XHJcbiAgICAgdGhpcy5mb290ZmFsbE5hbWUgPSAnQXZnLiBGb290ZmFsbCdcclxuICAgdGhpcy50YWJsZW9iai52YWx1ZVR5cGUgPXRoaXMudmFsdWVUeXBlO1xyXG4gICB0aGlzLm9iakRhdGEudmFsdWVUeXBlID10aGlzLnZhbHVlVHlwZTtcclxuICAgdGhpcy5vYmpEYXRhVHJhZmZpYy52YWx1ZVR5cGUgPXRoaXMudmFsdWVUeXBlO1xyXG4gIC8vICB0aGlzLmNvbnZlcnNpb25WYWx1ZSA9ICcnO1xyXG4gICB0aGlzLnR5cGVWYWx1ZT0nYXZlcmFnZSc7XHJcbiAgLy8gIHRoaXMudmFsdWVDb252ZXJzaW9uUmF0ZSA9IHRoaXMuZ2V0Q2FyZERhdGE/LmNvbnZlcnNpb24/LnJhdGU7XHJcbiAgfSAgZWxzZSB7XHJcbiAgICAgdGhpcy5mb290ZmFsbE5hbWUgPSAnQWN0dWFsIEZvb3RmYWxsJ1xyXG4gICAgIHRoaXMudmFsdWVUeXBlPSdhY3R1YWwnO1xyXG4gICAgdGhpcy50YWJsZW9iai52YWx1ZVR5cGUgPSdhY3R1YWwnO1xyXG4gICAgdGhpcy5vYmpEYXRhLnZhbHVlVHlwZSA9J2FjdHVhbCc7XHJcbiAgICB0aGlzLm9iakRhdGFUcmFmZmljLnZhbHVlVHlwZSA9J2FjdHVhbCc7XHJcbiAgICB0aGlzLnR5cGVWYWx1ZT0nc3VtJztcclxuXHJcbiAgICAvLyB0aGlzLnZhbHVlQ29udmVyc2lvblJhdGUgPSB0aGlzLmdldENhcmREYXRhPy5jb252ZXJzaW9uPy5yYXRlO1xyXG4gIH1cclxuICBpZih0aGlzLnRhYmxlb2JqLm5vYil7XHJcbiAgICB0aGlzLnZhbHVlQ29udmVyc2lvblJhdGUgPSB0aGlzLmdldENvbnZlcnNpb25DYXJkRGF0YT8uY29udmVyc2lvbj8ubm9iLm5vYjtcclxuICB0aGlzLmNvbnZlcnNpb25WYWx1ZSA9J05vQiBEZXJpdmVkJ1xyXG59IGVsc2UgaWYgKHRoaXMuY2xpZW50RGF0YT8uZmVhdHVyZUNvbmZpZ3M/Lm1pc3NlZE9wcG9ydHVuaXR5Q2FsY3VsYXRpb24gPT09ICdlbmdhZ2Vycy1jb252ZXJzaW9uJykge1xyXG4gIHRoaXMudmFsdWVDb252ZXJzaW9uUmF0ZSA9IHRoaXMuZ2V0Q29udmVyc2lvbkNhcmREYXRhPy5jb252ZXJzaW9uPy5lbmdhZ2Vycz8ucmF0ZTtcclxuICB0aGlzLmNvbnZlcnNpb25WYWx1ZSA9ICdlbmdhZ2Vycyc7XHJcbn0gZWxzZSB7XHJcbiAgdGhpcy52YWx1ZUNvbnZlcnNpb25SYXRlID0gdGhpcy5nZXRDb252ZXJzaW9uQ2FyZERhdGE/LmNvbnZlcnNpb24/LmZvb3RmYWxsPy5yYXRlO1xyXG4gIHRoaXMuY29udmVyc2lvblZhbHVlID0gJ2Zvb3RmYWxsJztcclxufVxyXG4gIHRoaXMucHJldmlvdXNWYWx1ZSA9ICdmb290ZmFsbCc7IFxyXG4gIHRoaXMudGFibGVvYmoubm9ybWFsaXplID0gdGhpcy5ub3JtYWxpemVcclxuXHJcbiAgICB0aGlzLmdldEZ1bm5hbCgpO1xyXG4gICAgdGhpcy5nZXRGb290ZmFsbENhcmQoKTtcclxuICAgIHRoaXMuZ2V0Q29udmVyc2lvbkNhcmQoKTtcclxuICAgIHRoaXMuZ2V0Qm91bmNlZENhcmQoKTtcclxuICAgIHRoaXMuZ2V0RW5nYWdlcnNDYXJkKCk7XHJcbiAgICB0aGlzLmdldFBvdGVudGlhbEJ1eWVyc0NhcmQoKTtcclxuICAgIHRoaXMuZ2V0TWlzc2VkT3Bwb3J0dW5pdHlDYXJkKCk7XHJcbiAgICB0aGlzLmdldFBvdGVudGlhbEJ1eWVycygpO1xyXG4gICAgdGhpcy5nZXRUYWJsZSgpO1xyXG4gICAgdGhpcy5mb290ZmFsbFRyZW5kKCk7XHJcbiAgICBpZih0aGlzLmhlYWRlckRhdGE/LmNsaWVudCA9PT0nNDU5Jyl7XHJcbiAgICAgIHRoaXMuc2VsZWN0ZWRUYWIgPSBcImZvb3RmYWxsXCJcclxuICAgICAgdGhpcy5mb290ZmFsbFZhbHVlID0gXCJmb290ZmFsbFwiO1xyXG4gICAgICB0aGlzLnNlbGN0ZWRWYWx1ZSA9J0Zvb3RmYWxsIEFuYWx5c2lzJztcclxuICAgIHRoaXMuc2VsZWN0ZWRUYWJzKCdmb290ZmFsbCcpO1xyXG4gICAgfSBlbHNlIHtcclxuICAgICAgdGhpcy5zZWxlY3RlZFRhYiA9IFwidHJhZmZpY1wiXHJcbiAgICAgIHRoaXMuZm9vdGZhbGxWYWx1ZSA9IFwidHJhZmZpY1wiO1xyXG4gICAgICB0aGlzLnNlbGN0ZWRWYWx1ZSA9J1RyYWZmaWMgQW5hbHlzaXMnO1xyXG4gICAgICB0aGlzLnNlbGVjdGVkVGFicygndHJhZmZpYycpO1xyXG4gICAgfVxyXG4gICBcclxuICAgIHRoaXMuY2QuZGV0ZWN0Q2hhbmdlcygpO1xyXG4gIH1cclxuICB0b2dnbGVDb252ZXJzaW9uKGV2dDphbnkpe1xyXG4gICAgdGhpcy5pc0NvbnZlcnNpb24gPSBldnQudGFyZ2V0LmNoZWNrZWQ7IFxyXG4gICAgdGhpcy50YWJsZW9iai5ub3JtYWxpemUgPSB0aGlzLm5vcm1hbGl6ZVxyXG4gICAgaWYodGhpcy5jb252ZXJzaW9uVmFsdWUgPT09ICdmb290ZmFsbCcpe1xyXG4gICAgICB0aGlzLnRhYmxlb2JqLmNvbnZlcnNpb250eXBlID0gJ2Zvb3RmYWxsLWNvdW50JztcclxuICAgICB9IGlmICh0aGlzLmNvbnZlcnNpb25WYWx1ZSA9PT0gJ2VuZ2FnZXJzJyl7XHJcbiAgICAgIHRoaXMudGFibGVvYmouY29udmVyc2lvbnR5cGUgPSAnZW5nYWdlcnMtY291bnQnO1xyXG4gICAgIH1pZiAodGhpcy5jb252ZXJzaW9uVmFsdWUgPT09ICdQb3RlbnRpYWwgQnV5ZXJzJyl7XHJcbiAgICAgIHRoaXMudGFibGVvYmouY29udmVyc2lvbnR5cGUgPSAnYmlsbGFibGUtY291bnQnO1xyXG4gICAgIH0gaWYgKHRoaXMuY29udmVyc2lvblZhbHVlID09PSAnTm9CIERlcml2ZWQnKXtcclxuICAgICAgdGhpcy50YWJsZW9iai5jb252ZXJzaW9udHlwZSA9ICdub2InO1xyXG4gICAgIH1cclxuICAgIGlmKHRoaXMuaXNDb252ZXJzaW9uID09dHJ1ZSl7XHJcbiAgICAgIHRoaXMudGFibGVvYmoubm9iID0gdHJ1ZTtcclxuICAgICAgdGhpcy5vYmpEYXRhLm5vYiA9IHRydWU7XHJcbiAgICAgIHRoaXMub2JqRGF0YVRyYWZmaWMubm9iID0gdHJ1ZTsgdGhpcy5ub2IgPXRydWU7XHJcbiAgICB9ICBlbHNlIHtcclxuICAgICAgaWYodGhpcy50YWJsZW9iai5jb252ZXJzaW9udHlwZSA9PT0gJ25vYicpe1xyXG4gICAgICAgIHRoaXMudGFibGVvYmoubm9iID0gdHJ1ZTtcclxuICAgICAgdGhpcy5vYmpEYXRhLm5vYiA9IHRydWU7XHJcbiAgICAgIHRoaXMub2JqRGF0YVRyYWZmaWMubm9iID0gdHJ1ZTsgdGhpcy5ub2IgPXRydWU7IFxyXG4gICAgICB9IGVsc2Uge1xyXG4gICAgICB0aGlzLm5vYiA9ZmFsc2U7XHJcbiAgICAgIHRoaXMudGFibGVvYmoubm9iID0gZmFsc2U7XHJcbiAgICAgIHRoaXMub2JqRGF0YS5ub2IgPSBmYWxzZTtcclxuICAgICAgdGhpcy5vYmpEYXRhVHJhZmZpYy5ub2IgPSBmYWxzZTtcclxuICAgICAgfVxyXG4gICAgfVxyXG4gICAgdGhpcy5nZXRGdW5uYWwoKTsgICAgXHJcbiAgICB0aGlzLmdldENvbnZlcnNpb25DYXJkMSgpOyBcclxuICAgIHRoaXMuZ2V0VGFibGUoKTtcclxuICAgIHRoaXMuZm9vdGZhbGxUcmVuZCgpOyBcclxuICAgIHRoaXMuc2VsZWN0ZWRUYWIgPSBcInRyYWZmaWNcIlxyXG4gICAgdGhpcy5mb290ZmFsbFZhbHVlID0gXCJ0cmFmZmljXCI7XHJcbiAgICB0aGlzLnNlbGN0ZWRWYWx1ZSA9J1RyYWZmaWMgQW5hbHlzaXMnO1xyXG4gICAgdGhpcy5zZWxlY3RlZFRhYnMoJ3RyYWZmaWMnKTtcclxuICB9XHJcblxyXG4gIGNhbWVyYVZpZXcoKXtcclxuICAgIHRoaXMuc3RvcmVJZGFycmF5ID0gdGhpcy5oZWFkZXJEYXRhPy5zdG9yZXMuZmlsdGVyKChzdG9yZTphbnkpID0+IHN0b3JlLmNoZWNrZWQpLm1hcCgoc3RvcmU6YW55KSA9PiBzdG9yZS5zdG9yZUlkKVxyXG4gICAgbGV0IGRhdGE6IGFueSA9IEpTT04ucGFyc2UobG9jYWxTdG9yYWdlLmdldEl0ZW0oXCJoZWFkZXItZmlsdGVyc1wiKSB8fCBcIlwiKTtcclxuICAgIGRhdGEuc3RvcmUgPSB0aGlzLnN0b3JlSWRhcnJheVswXTtcclxuICAgIGxvY2FsU3RvcmFnZS5zZXRJdGVtKFwiaGVhZGVyLWZpbHRlcnNcIiwgSlNPTi5zdHJpbmdpZnkoZGF0YSkpO1xyXG4gICAgdGhpcy5ncy5kYXRhUmFuZ2VWYWx1ZS5uZXh0KGRhdGEpO1xyXG4gICAgdGhpcy5yb3V0ZXIubmF2aWdhdGUoW1wiL21hbmFnZS9zdG9yZXMvY2FtZXJhc1wiXSwge1xyXG4gICAgICBxdWVyeVBhcmFtczogeyBzdG9yZUlkOiB0aGlzLnN0b3JlSWRhcnJheVswXX0sXHJcbiAgICB9KTtcclxuICB9XHJcblxyXG4gIGV4cG9ydFhMU1goKSB7XHJcbiAgICB0aGlzLnRhYmxlb2JqLm9mZnNldCA9IDA7XHJcbiAgICB0aGlzLnRhYmxlb2JqLmxpbWl0ID0gMTAwMDA7XHJcbiAgICAodGhpcy50YWJsZW9iai52YWx1ZVR5cGUgPSB0aGlzLnR5cGVWYWx1ZSk7XHJcbiAgICB0aGlzLnRhYmxlb2JqLmZyb21EYXRlPSB0aGlzLmhlYWRlckRhdGEuZGF0ZS5zdGFydERhdGUsXHJcbiAgICB0aGlzLnRhYmxlb2JqLnRvRGF0ZT0gdGhpcy5oZWFkZXJEYXRhLmRhdGUuZW5kRGF0ZSxcclxuICAgIHRoaXMudGFibGVvYmouc2VhcmNoID0gdGhpcy5zZWFyY2hWYWx1ZTtcclxuICAgIHRoaXMudGFibGVvYmouZXhwb3J0ID0gdHJ1ZTtcclxuICAgIHRoaXMudGFibGVvYmoubm9ybWFsaXplID0gdGhpcy5ub3JtYWxpemVcclxuICAgIGRlbGV0ZSB0aGlzLnRhYmxlb2JqLnJlY2FwVmlkZW9EYXRlO1xyXG4gICAgdGhpcy5zZXJ2aWNlXHJcbiAgICAuZ2V0U3VtbWFyeVRhYmxlTGlzdEV4cG9ydCh0aGlzLnRhYmxlb2JqKVxyXG4gICAgPy5waXBlKHRha2VVbnRpbCh0aGlzLmRlc3Ryb3kkKSlcclxuICAgID8uc3Vic2NyaWJlKHtcclxuICAgICAgbmV4dDogKHJlczogYW55KSA9PiB7XHJcbiAgICAgICAgaWYgKHJlcykge1xyXG4gICAgICAgICAgdGhpcy5leGNlbFNlcnZpY2Uuc2F2ZUFzRXhjZWxGaWxlKHJlcywgXCJUcmFmZmljIFN1bW1hcnkgVGFibGUgXCIpO1xyXG4gICAgICAgIH0gZWxzZSB7XHJcbiAgICAgICAgfVxyXG4gICAgICB9LFxyXG4gICAgICBlcnJvcjogKCkgPT4ge30sXHJcbiAgICB9KTtcclxuICAgIHRoaXMudGFibGVvYmoubGltaXQgPSB0aGlzLmxpbWl0O1xyXG4gICAgdGhpcy50YWJsZW9iai5leHBvcnQgPSBmYWxzZTtcclxuICB9XHJcblxyXG4gIG9uU29ydChjb2x1bW46IHN0cmluZykge1xyXG4gICAgaWYgKHRoaXMuc29ydGVkQ29sdW1uID09PSBjb2x1bW4pIHtcclxuICAgICAgdGhpcy5zb3J0RGlyZWN0aW9uID0gdGhpcy5zb3J0RGlyZWN0aW9uID09PSAxID8gLTEgOiAxO1xyXG4gICAgfSBlbHNlIHtcclxuICAgICAgdGhpcy5zb3J0ZWRDb2x1bW4gPSBjb2x1bW47XHJcbiAgICAgIHRoaXMuc29ydERpcmVjdGlvbiA9IDE7XHJcbiAgICB9XHJcbiAgICB0aGlzLnRhYmxlb2JqLmZyb21EYXRlPSB0aGlzLmhlYWRlckRhdGEuZGF0ZS5zdGFydERhdGUsXHJcbiAgICB0aGlzLnRhYmxlb2JqLnRvRGF0ZT0gdGhpcy5oZWFkZXJEYXRhLmRhdGUuZW5kRGF0ZSxcclxuICAgIGRlbGV0ZSB0aGlzLnRhYmxlb2JqLnJlY2FwVmlkZW9EYXRlO1xyXG4gICAgdGhpcy50YWJsZW9iai5zb3J0QnkgPSB0aGlzLnNvcnREaXJlY3Rpb24sIC8vWzEtPmFzYywgLTEtPkRFc2NdXHJcbiAgICB0aGlzLnRhYmxlb2JqLnNvcnQgPSB0aGlzLnNvcnRlZENvbHVtbiwgLy8gQ29sdW1uIE5hbWVcclxuICAgIHRoaXMuZ2V0VGFibGUoKTtcclxuICB9XHJcblxyXG4gIGdldE1hcCgpIHtcclxuICAgIHRoaXMubXBhbG9hZGluZyA9dHJ1ZTtcclxuICAgIHRoaXMubWFwbm9EYXRhPSBmYWxzZTtcclxuICAgIGNvbnN0IG9iaiA9IHtcclxuICAgICAgY2xpZW50SWQ6IHRoaXMuaGVhZGVyRGF0YT8uY2xpZW50LFxyXG4gICAgICBzdG9yZURhdGU6IHRoaXMuaGVhZGVyRGF0YT8uZGF0ZT8uZW5kRGF0ZSxcclxuICAgICAgc3RvcmVJZDogdGhpcy5zdG9yZUlkYXJyYXlcclxuICAgIH07XHJcblxyXG4gICAgdGhpcy5zZXJ2aWNlLmdlTWFwcyhvYmopPy5waXBlKHRha2VVbnRpbCh0aGlzLmRlc3Ryb3kkKSlcclxuICAgICAgLnN1YnNjcmliZSh7XHJcbiAgICAgICAgbmV4dDogKHJlczogYW55KSA9PiB7XHJcbiAgICAgICAgICBpZihyZXMgJiYgcmVzLmNvZGUgPT09IDIwMCl7XHJcbiAgICAgICAgICAvLyBpZiAocmVzICYmIHJlcy5kYXRhICYmIHJlcy5kYXRhLnN0b3JlRGF0YSkge1xyXG4gICAgICAgICAgICB0aGlzLmF1TG9jYXRpb25zID0gcmVzLmRhdGEuc3RvcmVEYXRhO1xyXG4gICAgICAgICAgXHJcbiAgICAgICAgICAgIC8vIFVwZGF0ZSBtYXBPcHRpb25zIGNlbnRlciBpZiBuZWVkZWRcclxuICAgICAgICAgICAgaWYgKHRoaXMuYXVMb2NhdGlvbnMubGVuZ3RoID4gMCkge1xyXG4gICAgICAgICAgICAgIGNvbnN0IGZpcnN0TG9jYXRpb24gPSB0aGlzLmF1TG9jYXRpb25zWzBdO1xyXG4gICAgICAgICAgICAgIGlmIChmaXJzdExvY2F0aW9uICYmIHR5cGVvZiBmaXJzdExvY2F0aW9uLmxhdCA9PT0gJ251bWJlcicgJiYgdHlwZW9mIGZpcnN0TG9jYXRpb24ubG5nID09PSAnbnVtYmVyJykge1xyXG4gICAgICAgICAgICAgICAgdGhpcy5tYXBPcHRpb25zID0ge1xyXG4gICAgICAgICAgICAgICAgICAuLi50aGlzLm1hcE9wdGlvbnMsXHJcbiAgICAgICAgICAgICAgICAgIGNlbnRlcjogeyBsYXQ6IGZpcnN0TG9jYXRpb24ubGF0LCBsbmc6IGZpcnN0TG9jYXRpb24ubG5nIH1cclxuICAgICAgICAgICAgICAgIH07XHJcbiAgICAgICAgICAgICAgICBzZXRUaW1lb3V0KCgpID0+IHsgIHRoaXMuZ2V0RGF0YSgpOyB9LDEwMClcclxuICAgICAgICAgICAgICAgIHRoaXMuY2QuZGV0ZWN0Q2hhbmdlcygpO1xyXG4gICAgICAgICAgICAgIH0gZWxzZSB7fVxyXG4gICAgICAgICAgICB9IGVsc2Uge31cclxuICAgICAgICAgIC8vIH1cclxuICAgICAgICAgIHRoaXMubXBhbG9hZGluZyA9ZmFsc2U7XHJcbiAgICAgICAgICB0aGlzLm1hcG5vRGF0YT0gZmFsc2U7XHJcbiAgICAgICAgICB9IGVsc2UgaWYocmVzID09PSBudWxsKXtcclxuICAgICAgICAgICAgdGhpcy5tYXBub0RhdGE9IHRydWU7XHJcbiAgICAgICAgICAgIHRoaXMubXBhbG9hZGluZyA9ZmFsc2U7XHJcbiAgICAgICAgICB9IGVsc2Uge1xyXG4gICAgICAgICAgICB0aGlzLmF1TG9jYXRpb25zID1bXTtcclxuICAgICAgICAgICAgdGhpcy5tcGFsb2FkaW5nID1mYWxzZTtcclxuICAgICAgICAgICAgdGhpcy5tYXBub0RhdGE9IHRydWU7XHJcbiAgICAgICAgICB9XHJcbiAgICAgICAgXHJcbiAgICAgICAgfSxcclxuICAgICAgICBlcnJvcjogKGVycikgPT4ge1xyXG4gICAgICAgICAgdGhpcy5hdUxvY2F0aW9ucyA9W107XHJcbiAgICAgICAgICB0aGlzLm1wYWxvYWRpbmcgPWZhbHNlO1xyXG4gICAgICAgICAgICB0aGlzLm1hcG5vRGF0YT0gdHJ1ZTtcclxuICAgICAgICB9XHJcbiAgICAgIH0pO1xyXG4gIH1cclxuICBtYXA6IG1hcGJveGdsLk1hcDtcclxuICBwcml2YXRlIGNoZWNrTWFwQ29udGFpbmVySW50ZXJ2YWw6IGFueTtcclxuICBnZXREYXRhKCkge1xyXG4gICAgdGhpcy5jaGVja01hcENvbnRhaW5lckludGVydmFsID0gc2V0VGltZW91dCgoKSA9PiB7XHJcbiAgICAgIGNvbnN0IG1hcENvbnRhaW5lciA9IHRoaXMuZWwubmF0aXZlRWxlbWVudC5xdWVyeVNlbGVjdG9yKCcjbWFwJyk7XHJcbiAgICAgIGlmIChtYXBDb250YWluZXIpIHtcclxuICAgICAgICBjbGVhckludGVydmFsKHRoaXMuY2hlY2tNYXBDb250YWluZXJJbnRlcnZhbCk7XHJcbiAgICAgICAgdGhpcy5pbml0aWFsaXplTWFwKG1hcENvbnRhaW5lcik7XHJcbiAgICAgIH0gZWxzZSB7XHJcbiAgICAgICAgY2xlYXJJbnRlcnZhbCh0aGlzLmNoZWNrTWFwQ29udGFpbmVySW50ZXJ2YWwpO1xyXG4gICAgICAgIHRoaXMuaW5pdGlhbGl6ZU1hcChtYXBDb250YWluZXIpO1xyXG4gICAgICB9XHJcbiAgICB9LCAxMDApO1xyXG5cclxuICB9XHJcbiAgaW5pdGlhbGl6ZU1hcChtYXBDb250YWluZXI6IEhUTUxFbGVtZW50KXtcclxuICAgIHNldFRpbWVvdXQoKCkgPT4geyAgXHJcbiAgICAgIGNvbnN0IG1hcENvbnRhaW5lciA9IGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCdtYXAnKTtcclxuICAgICAgaWYgKCFtYXBDb250YWluZXIpIHtcclxuICAgICAgICByZXR1cm47XHJcbiAgICAgIH1cclxuICAgIC8vIENoZWNrIHRoYXQgbG9jYXRpb25zIGV4aXN0IGJlZm9yZSBwcm9jZWVkaW5nXHJcbiAgICBpZiAodGhpcy5hdUxvY2F0aW9ucz8ubGVuZ3RoID09PSAwKSB7XHJcbiAgICAgIHJldHVybjtcclxuICAgIH1cclxuICBcclxuICAgIGNvbnN0IGdlb2pzb24gPSB7XHJcbiAgICAgICd0eXBlJzogJ0ZlYXR1cmVDb2xsZWN0aW9uJyxcclxuICAgICAgJ2ZlYXR1cmVzJzogdGhpcy5hdUxvY2F0aW9ucy5tYXAoKHN0b3JlLCBpbmRleCkgPT4gKHtcclxuICAgICAgICAndHlwZSc6ICdGZWF0dXJlJyxcclxuICAgICAgICAncHJvcGVydGllcyc6IHtcclxuICAgICAgICAgICdzdG9yZU5hbWUnOiBzdG9yZS5zdG9yZU5hbWUsICAgICAgICAgLy8gU3RvcmUgbmFtZVxyXG4gICAgICAgICAgJ2ltYWdlSWQnOiAxMDExICsgaW5kZXgsICAgICAgICAgICAgICAvLyBEeW5hbWljIGltYWdlIElEXHJcbiAgICAgICAgICAnaWNvblNpemUnOiBbNjAsIDYwXSwgICAgICAgICAgICAgICAgIC8vIEFkanVzdCBpY29uIHNpemUgYXMgbmVlZGVkXHJcbiAgICAgICAgICAnZm9vdGZhbGwnOiBzdG9yZS5hdmdGb290ZmFsbCwgICAgICAgIC8vIEZvb3RmYWxsIGRhdGFcclxuICAgICAgICAgICdvcGVuVGltZSc6IHN0b3JlLm9wZW5UaW1lLCAgICAgICAgICAgLy8gT3BlbiB0aW1lXHJcbiAgICAgICAgICAnY2xvc2VUaW1lJzogc3RvcmUuY2xvc2VUaW1lLCAgICAgICAgIC8vIENsb3NlIHRpbWVcclxuICAgICAgICB9LFxyXG4gICAgICAgICdnZW9tZXRyeSc6IHtcclxuICAgICAgICAgICd0eXBlJzogJ1BvaW50JyxcclxuICAgICAgICAgICdjb29yZGluYXRlcyc6IFtzdG9yZS5sbmcsIHN0b3JlLmxhdF0gIC8vIENvb3JkaW5hdGVzIGZyb20gc3RvcmUgZGF0YVxyXG4gICAgICAgIH1cclxuICAgICAgfSkpXHJcbiAgICB9O1xyXG4gIFxyXG4gICAgLy8gRHluYW1pY2FsbHkgc2V0IG1hcCBjZW50ZXIgYmFzZWQgb24gdGhlIGZpcnN0IGxvY2F0aW9uXHJcbiAgICBjb25zdCBmaXJzdExvY2F0aW9uID0gdGhpcy5hdUxvY2F0aW9uc1swXTtcclxuIFxyXG4gICAgdGhpcy5tYXAgPSBuZXcgbWFwYm94Z2wuTWFwKHtcclxuICAgICAgY29udGFpbmVyOiAnbWFwJyxcclxuICAgICAgc3R5bGU6ICdtYXBib3g6Ly9zdHlsZXMvbWFwYm94L3N0cmVldHMtdjEyJyxcclxuICAgICAgY2VudGVyOiBbZmlyc3RMb2NhdGlvbi5sbmcsIGZpcnN0TG9jYXRpb24ubGF0XSwgLy8gQ2VudGVyIG1hcCBvbiB0aGUgZmlyc3QgbG9jYXRpb25cclxuICAgICAgem9vbTogMTAsIC8vIEFkanVzdCB0aGlzIHZhbHVlICgxID0gd29ybGQgdmlldywgMjAgPSBidWlsZGluZyB2aWV3KVxyXG4gICAgICBtYXhab29tOiAyMCwgLy8gT3B0aW9uYWw6IExpbWl0IG1heCB6b29tIGxldmVsXHJcbiAgICAgIG1pblpvb206IDEgICAvLyBPcHRpb25hbDogTGltaXQgbWluIHpvb20gbGV2ZWxcclxuICAgIH0pO1xyXG4gIFxyXG4gICAgLy8gQWRkIG1hcmtlcnMgdG8gdGhlIG1hcFxyXG4gICAgZ2VvanNvbi5mZWF0dXJlcy5mb3JFYWNoKChmZWF0dXJlLCBmZWF0dXJlSW5kZXgpID0+IHtcclxuICAgICAgY29uc3QgeyBwcm9wZXJ0aWVzLCBnZW9tZXRyeSB9ID0gZmVhdHVyZTtcclxuICAgICAgY29uc3Qgc3RvcmUgPSB0aGlzLmF1TG9jYXRpb25zW2ZlYXR1cmVJbmRleF07XHJcbiAgICAgIGNvbnN0IGVsID0gZG9jdW1lbnQuY3JlYXRlRWxlbWVudCgnZGl2Jyk7XHJcbiAgICAgIGNvbnN0IHdpZHRoID0gcHJvcGVydGllcy5pY29uU2l6ZVswXTtcclxuICAgICAgY29uc3QgaGVpZ2h0ID0gcHJvcGVydGllcy5pY29uU2l6ZVsxXTtcclxuICAgICAgZWwuY2xhc3NOYW1lID0gJ21hcmtlcic7XHJcbiAgICAgIGVsLmlubmVySFRNTCA9IGBcclxuICAgICAgPGRpdiBjbGFzcz1cIm1hcmtlci1pY29uXCIgc3R5bGU9XCJiYWNrZ3JvdW5kLWNvbG9yOiB3aGl0ZTsgd2lkdGg6ICR7d2lkdGh9cHg7IGhlaWdodDogJHtoZWlnaHR9cHg7IGRpc3BsYXk6IGZsZXg7IGp1c3RpZnktY29udGVudDogY2VudGVyOyBhbGlnbi1pdGVtczogY2VudGVyO1xyXG4gICAgICBjb2xvcjogdmFyKC0tR3JheS03MDAsICMzNDQwNTQpO1xyXG50ZXh0LWFsaWduOiBjZW50ZXI7XHJcbmZvbnQtZmFtaWx5OiBJbnRlcjtcclxuZm9udC1zaXplOiA5LjAwN3B4O1xyXG5mb250LXN0eWxlOiBub3JtYWw7XHJcbmZvbnQtd2VpZ2h0OiA2MDA7XHJcbmxpbmUtaGVpZ2h0OiAxM3B4O1wiPlxyXG4gICAgICAgIDxkaXYgY2xhc3M9XCJtYXJrZXItY29udGVudFwiIHN0eWxlPVwiZGlzcGxheTogZmxleDsgZmxleC1kaXJlY3Rpb246IGNvbHVtbjsgYWxpZ24taXRlbXM6IGNlbnRlcjtcIj5cclxuICAgICAgICAgIDxzdmcgY2xhc3M9XCJtYi0xXCIgeG1sbnM9XCJodHRwOi8vd3d3LnczLm9yZy8yMDAwL3N2Z1wiIHdpZHRoPVwiMTNcIiBoZWlnaHQ9XCIxM1wiIHZpZXdCb3g9XCIwIDAgMTMgMTNcIiBmaWxsPVwibm9uZVwiPlxyXG4gICAgICAgICAgICA8cGF0aCBkPVwiTTEuMzM2NTQgMy4zNjM3TDEuMjk2NTggMy40MjYxMUMwLjg3NzY5OCA0LjE2NzAxIDEuMzI0OTMgNS4xMDMzNSAyLjEyOTMxIDUuMjEwNzZDMi4yMDIxOCA1LjIxOTY3IDIuMjY5OTkgNS4yMjQzOCAyLjMzNjI1IDUuMjI0MzhDMi43NzAyMSA1LjIyNDM4IDMuMTUzOSA1LjAzODIxIDMuNDIxMzIgNC43NDc5M0wzLjgzNjY2IDQuMjk3MUw0LjI1MDU5IDQuNzQ5MjNDNC41MTQ3NiA1LjAzNzc4IDQuODk3NTggNS4yMjQzOCA1LjMzNDQ4IDUuMjI0MzhDNS43Njk0MSA1LjIyNDM4IDYuMTU0NDMgNS4wMzc1MiA2LjQxODM3IDQuNzQ5MjNMNi44MzM1OSA0LjI5NTY4TDcuMjQ4ODIgNC43NDkyM0M3LjUxMjc1IDUuMDM3NTIgNy44OTc3NyA1LjIyNDM4IDguMzMyNzEgNS4yMjQzOEM4Ljc2NzY0IDUuMjI0MzggOS4xNTI2NiA1LjAzNzUyIDkuNDE2NiA0Ljc0OTIzTDkuODMxODIgNC4yOTU2OEwxMC4yNDcgNC43NDkyM0MxMC41MTEgNS4wMzc1MiAxMC44OTYgNS4yMjQzOCAxMS4zMzA5IDUuMjI0MzhDMTEuMzk1IDUuMjI0MzggMTEuNDY0OSA1LjIxOTY2IDExLjUzNzIgNS4yMTA4M0MxMi4zNTkzIDUuMDk4NzUgMTIuODA4IDQuMTEyMjUgMTIuMzI4NiAzLjM2NDA4QzEyLjMyODYgMy4zNjQwMyAxMi4zMjg1IDMuMzYzOTkgMTIuMzI4NSAzLjM2Mzk1TDExLjAwODggMS4zMDYyMUwxMS4wMDgxIDEuMzA1MTFDMTAuOTk2NyAxLjI4NzIyIDEwLjk2ODYgMS4yNjgwNCAxMC45MzMyIDEuMjY4MDRIMi43Mjk0MkMyLjY5NDAzIDEuMjY4MDQgMi42NjU4OSAxLjI4NzIyIDIuNjU0NDggMS4zMDUxMUwyLjY1NDAxIDEuMzA1ODRMMS4zMzY1NCAzLjM2MzdaTTExLjA3MzEgNy4wNjY2N1Y5LjQxNzUzVjkuOTgwNDlIMTAuNTEwMUgzLjE1MjQ4SDIuNTg5NTJWOS40MTc1M1Y3LjA2NzAyQzIuNTA2NzggNy4wNzMxOCAyLjQyMzA4IDcuMDc2MzQgMi4zMzg1NSA3LjA3NjM0QzIuMzA2NzkgNy4wNzYzNCAyLjI3NTI1IDcuMDc1ODcgMi4yNDM5MiA3LjA3NDk1VjkuNDE3NTNWMTAuODY5NkMyLjI0MzkyIDExLjM1MjYgMi42NDQ2NyAxMS43NTg3IDMuMTUyNDggMTEuNzU4N0gxMC41MTAxQzExLjAxNzkgMTEuNzU4NyAxMS40MTg3IDExLjM1MjYgMTEuNDE4NyAxMC44Njk2VjkuNDE3NTNWNy4wNzUwOUMxMS4zODg4IDcuMDc1OTEgMTEuMzU4NyA3LjA3NjM0IDExLjMyODYgNy4wNzYzNEMxMS4yNDI4IDcuMDc2MzQgMTEuMTU3NSA3LjA3MzA4IDExLjA3MzEgNy4wNjY2N1pcIiBzdHJva2U9XCIjMTAxODI4XCIgc3Ryb2tlLXdpZHRoPVwiMS4xMjU5MlwiLz5cclxuICAgICAgICAgIDwvc3ZnPlxyXG4gICAgICAgICAgPGRpdiBjbGFzcz1cIm1hcmtlci1sYWJlbFwiIHN0eWxlPVwiZm9udC1zaXplOiAxMHB4OyB0ZXh0LWFsaWduOiBjZW50ZXI7XCI+XHJcbiAgICAgICAgICAgICR7cHJvcGVydGllcy5zdG9yZU5hbWV9XHJcbiAgICAgICAgICA8L2Rpdj5cclxuICAgICAgICA8L2Rpdj5cclxuICAgICAgPC9kaXY+XHJcbiAgICBgO1xyXG4gICAgICAvLyBlbC5zdHlsZS5iYWNrZ3JvdW5kSW1hZ2UgPSBgdXJsKGh0dHBzOi8vcGljc3VtLnBob3Rvcy9pZC8ke3Byb3BlcnRpZXMuaW1hZ2VJZH0vJHt3aWR0aH0vJHtoZWlnaHR9KWA7XHJcbiAgICAgIGVsLnN0eWxlLndpZHRoID0gYCR7d2lkdGh9cHhgO1xyXG4gICAgICBlbC5zdHlsZS5oZWlnaHQgPSBgJHtoZWlnaHR9cHhgO1xyXG4gICAgICBlbC5zdHlsZS5iYWNrZ3JvdW5kU2l6ZSA9ICcxMDAlJztcclxuICBcclxuICAgICAgLy8gQ3JlYXRlIGEgcG9wdXAgaW5zdGFuY2Ugd2l0aCB0aGUgZmVhdHVyZSBwcm9wZXJ0aWVzXHJcbiAgICAgIGNvbnN0IHBvcHVwID0gbmV3IG1hcGJveGdsLlBvcHVwKHsgb2Zmc2V0OiAyNSB9KSAgXHJcbiAgICAgIC8vIFVzZSB0aGUgY29vcmRpbmF0ZXMgZnJvbSB0aGUgZmVhdHVyZVxyXG4gICAgICBjb25zdCBjb29yZGluYXRlczogW251bWJlciwgbnVtYmVyXSA9IGdlb21ldHJ5LmNvb3JkaW5hdGVzIGFzIFtudW1iZXIsIG51bWJlcl07XHJcbiAgICAgIGVsLmFkZEV2ZW50TGlzdGVuZXIoJ2NsaWNrJywgKCkgPT4ge1xyXG4gICAgICAgIHRoaXMuYWRqdXN0TGF5b3V0KHN0b3JlKTtcclxuICAgICAgfSk7XHJcbiAgICAgIC8vIEFkZCBtYXJrZXJzIHRvIHRoZSBtYXBcclxuICAgICAgbmV3IG1hcGJveGdsLk1hcmtlcihlbClcclxuICAgICAgICAuc2V0TG5nTGF0KGNvb3JkaW5hdGVzKVxyXG4gICAgICAgIC5zZXRQb3B1cChwb3B1cCkgIC8vIEF0dGFjaCB0aGUgcG9wdXAgdG8gdGhlIG1hcmtlclxyXG4gICAgICAgIC5hZGRUbyh0aGlzLm1hcCk7XHJcbiAgICB9KTtcclxuICAgIFxyXG4gIH0sMTAwKVxyXG4gIH1cclxuICBhZGp1c3RMYXlvdXQoZGF0YTogYW55KSB7XHJcbiAgICBjb25zdCBkYXRhdmFsdWU6IGFueSA9IEpTT04ucGFyc2UoXHJcbiAgICAgIGxvY2FsU3RvcmFnZS5nZXRJdGVtKFwiaGVhZGVyLWZpbHRlcnNcIikgfHwgXCJ7fVwiXHJcbiAgICApO1xyXG4gICAgY29uc3QgbWF0Y2hlZFN0b3JlcyA9IGRhdGF2YWx1ZS5zdG9yZXMuZmlsdGVyKChzdG9yZTogYW55KSA9PiBzdG9yZS5jaGVja2VkICYmIHN0b3JlLnN0b3JlSWQgPT09IGRhdGEuc3RvcmVJZCk7XHJcbiAgICAvLyBVcGRhdGUgdGhlIGJhbGFuY2Ugc3RvcmVzICh0aG9zZSBub3QgaW4gdGhlIG1hdGNoZWQgc3RvcmVzKSB0byBzZXQgdGhlaXIgY2hlY2tlZCBwcm9wZXJ0eSB0byBmYWxzZVxyXG4gICAgZGF0YXZhbHVlLnN0b3Jlcy5mb3JFYWNoKChzdG9yZTogYW55KSA9PiB7XHJcbiAgICAgIGlmICghbWF0Y2hlZFN0b3Jlcy5zb21lKChtYXRjaGVkU3RvcmU6YW55KSA9PiBtYXRjaGVkU3RvcmUuc3RvcmVJZCA9PT0gc3RvcmUuc3RvcmVJZCkpIHtcclxuICAgICAgICBzdG9yZS5jaGVja2VkID0gZmFsc2U7XHJcbiAgICAgIH1cclxuICAgIH0pOyBcclxuICAgIGRhdGF2YWx1ZS5zdG9yZSA9IGRhdGEuc3RvcmVJZDtcclxuICAgIGxvY2FsU3RvcmFnZS5zZXRJdGVtKFwiaGVhZGVyLWZpbHRlcnNcIiwgSlNPTi5zdHJpbmdpZnkoZGF0YXZhbHVlKSk7XHJcbiAgICB0aGlzLmNkLmRldGVjdENoYW5nZXMoKVxyXG4gICAgdGhpcy5ncy5kYXRhUmFuZ2VWYWx1ZS5uZXh0KGRhdGF2YWx1ZSlcclxuICAgIHRoaXMuZ3MubWFuYWdlUmVmcmVzaFRyaWdnZXIubmV4dCh0cnVlKTtcclxuICAgXHJcbiAgfVxyXG4gIGV4cG9yZVZpZXcoKXtcclxudGhpcy5yb3V0ZXIubmF2aWdhdGUoWycvbWFuYWdlL3RyYWZmaWMvZXhwbG9yZSddKVxyXG4gIH1cclxuICBkYXRlVmFsdWUodHlwZTphbnkpe1xyXG4gICAgZGVsZXRlIHRoaXMudGFibGVvYmoubGltaXQ7IGRlbGV0ZSB0aGlzLnRhYmxlb2JqLmV4cG9ydDtcclxuICAgIGRlbGV0ZSB0aGlzLnRhYmxlb2JqLm9mZnNldDtcclxuICAgIHRoaXMudGFibGVvYmouZnJvbURhdGU9IHRoaXMuaGVhZGVyRGF0YS5kYXRlLnN0YXJ0RGF0ZSxcclxuICAgIHRoaXMudGFibGVvYmoudG9EYXRlPSB0aGlzLmhlYWRlckRhdGEuZGF0ZS5lbmREYXRlLFxyXG4gICAgZGVsZXRlIHRoaXMudGFibGVvYmoucmVjYXBWaWRlb0RhdGU7XHJcbiAgICB0aGlzLmRhdGVUeXBlID0gdHlwZTtcclxuICAgIHRoaXMudGFibGVvYmouZGF0ZVR5cGU9IHRoaXMuZGF0ZVR5cGU7XHJcbiAgICB0aGlzLnRhYmxlb2JqLnZhbHVlVHlwZSAgPSB0aGlzLnZhbHVlVHlwZVxyXG4gICAgdGhpcy5nZXRGb290ZmFsbENhcmQoKTtcclxuICAgIHRoaXMuZ2V0Q29udmVyc2lvbkNhcmQoKTtcclxuICAgIHRoaXMuZ2V0Qm91bmNlZENhcmQoKTtcclxuICAgIHRoaXMuZ2V0RW5nYWdlcnNDYXJkKCk7XHJcbiAgICB0aGlzLmdldFBvdGVudGlhbEJ1eWVyc0NhcmQoKTtcclxuICAgIHRoaXMuZ2V0TWlzc2VkT3Bwb3J0dW5pdHlDYXJkKCk7XHJcbiAgICB0aGlzLmdldFBvdGVudGlhbEJ1eWVycygpO1xyXG4gIH1cclxuXHJcblxyXG4gIGdldFpvbmUoKXtcclxuICAgIHRoaXMuem9uZUxvYWRpbmcgPSB0cnVlO1xyXG4gICAgdGhpcy56b25lTm9EYXRhID0gZmFsc2U7XHJcbiAgICBjb25zdCBvYmogPSB7XHJcbiAgICAgIGNsaWVudElkOiB0aGlzLmhlYWRlckRhdGE/LmNsaWVudCxcclxuICAgICAgZnJvbURhdGU6IHRoaXMuaGVhZGVyRGF0YT8uZGF0ZT8uc3RhcnREYXRlLFxyXG4gICAgdG9EYXRlOiB0aGlzLmhlYWRlckRhdGE/LmRhdGU/LmVuZERhdGUsXHJcbiAgICAgIHN0b3JlSWQ6IHRoaXMuc3RvcmVJZGFycmF5XHJcbiAgICB9O1xyXG5cclxuICAgIHRoaXMuc2VydmljZS56b25lRHdlbGxUaW1lKG9iaik/LnBpcGUodGFrZVVudGlsKHRoaXMuZGVzdHJveSQpKVxyXG4gICAgICAuc3Vic2NyaWJlKHtcclxuICAgICAgICBuZXh0OiAocmVzOiBhbnkpID0+IHtcclxuICAgICAgICAgIGlmKHJlcyAmJiByZXMuY29kZSA9PT0gMjAwKXtcclxuICAgICAgICAgICAgdGhpcy56b25lRHdlbGxUaW1lU3BsaXREYXRhID0gcmVzLmRhdGEuem9uZUR3ZWxsVGltZVNwbGl0RGF0YTtcclxuICAgICAgICAgICAgdGhpcy56b25lTG9hZGluZyA9IGZhbHNlO1xyXG4gICAgICAgICAgICB0aGlzLnpvbmVOb0RhdGEgPSBmYWxzZTtcclxuICAgICAgICAgIH0gZWxzZXtcclxuICAgICAgICAgICAgdGhpcy56b25lRHdlbGxUaW1lU3BsaXREYXRhID1bXTtcclxuICAgICAgICAgICAgdGhpcy56b25lTG9hZGluZyA9IGZhbHNlO1xyXG4gICAgICAgICAgICB0aGlzLnpvbmVOb0RhdGEgPSB0cnVlO1xyXG4gICAgICAgICAgfVxyXG4gICAgICAgIH0sXHJcbiAgICAgICAgZXJyb3I6IChlcnIpID0+IHtcclxuICAgICAgICAgIHRoaXMuem9uZUR3ZWxsVGltZVNwbGl0RGF0YT1bXTtcclxuICAgICAgICB9XHJcblxyXG4gICAgICB9KVxyXG4gICAgXHJcbiAgfVxyXG4gIGdldFpvbmVWYWx1ZSgpe1xyXG4gICAgY29uc3Qgb2JqID0ge1xyXG4gICAgICBjbGllbnRJZDogdGhpcy5oZWFkZXJEYXRhPy5jbGllbnQsXHJcbiAgICAgIGZyb21EYXRlOiB0aGlzLmhlYWRlckRhdGE/LmRhdGU/LnN0YXJ0RGF0ZSxcclxuICAgIHRvRGF0ZTogdGhpcy5oZWFkZXJEYXRhPy5kYXRlPy5lbmREYXRlLFxyXG4gICAgICBzdG9yZUlkOiB0aGlzLnN0b3JlSWRhcnJheVxyXG4gICAgfTtcclxuXHJcbiAgICB0aGlzLnNlcnZpY2Uuc3RvcmVPcGVyYXRpb24ob2JqKT8ucGlwZSh0YWtlVW50aWwodGhpcy5kZXN0cm95JCkpXHJcbiAgICAgIC5zdWJzY3JpYmUoe1xyXG4gICAgICAgIG5leHQ6IChyZXM6IGFueSkgPT4ge1xyXG4gICAgICAgICAgaWYocmVzICYmIHJlcy5jb2RlID09PSAyMDApe1xyXG4gICAgICAgICAgICB0aGlzLnN0b3JlT3BlcmF0aW9uRGF0YSA9IHJlcy5kYXRhLnN0b3JlT3BlcmF0aW9uRGF0YVswXTtcclxuICAgICAgICAgIH0gZWxzZXtcclxuICAgICAgICAgICAgdGhpcy5zdG9yZU9wZXJhdGlvbkRhdGEgPVtdO1xyXG4gICAgICAgICAgfVxyXG4gICAgICAgIH0sXHJcbiAgICAgICAgZXJyb3I6IChlcnIpID0+IHtcclxuICAgICAgICAgIHRoaXMuc3RvcmVPcGVyYXRpb25EYXRhPVtdO1xyXG4gICAgICAgIH1cclxuXHJcbiAgICAgIH0pXHJcbiAgICBcclxuICB9XHJcbiAgb25EYXRlQ2hhbmdlKGV2ZW50OmFueSl7XHJcbiAgICB0aGlzLmRldGFpbGVkQ2hhcnRzID0gZmFsc2U7XHJcbiAgICB0aGlzLmZvb3RmYWxsRGF0ZSA9IGV2ZW50LnRhcmdldC52YWx1ZTtcclxuICAgIHRoaXMub2JqRGF0YVRyYWZmaWMuZGF0ZVJhbmdlID1OdW1iZXIodGhpcy5mb290ZmFsbERhdGUpO1xyXG4gdGhpcy5nZXREd2VsbCgpO1xyXG4gdGhpcy50cmFmZmljRHdlbGwoKTtcclxuICB9XHJcbiAgc3RvcmVWaWV3KGRhdGE6YW55KXtcclxuICAgIGNvbnN0IGRhdGF2YWx1ZTogYW55ID0gSlNPTi5wYXJzZShcclxuICAgICAgbG9jYWxTdG9yYWdlLmdldEl0ZW0oXCJoZWFkZXItZmlsdGVyc1wiKSB8fCBcInt9XCJcclxuICAgICk7XHJcbiAgICBjb25zdCBtYXRjaGVkU3RvcmVzID0gZGF0YXZhbHVlLnN0b3Jlcy5maWx0ZXIoKHN0b3JlOiBhbnkpID0+IHN0b3JlLmNoZWNrZWQgJiYgc3RvcmUuc3RvcmVJZCA9PT0gZGF0YSk7XHJcbiAgICAvLyBVcGRhdGUgdGhlIGJhbGFuY2Ugc3RvcmVzICh0aG9zZSBub3QgaW4gdGhlIG1hdGNoZWQgc3RvcmVzKSB0byBzZXQgdGhlaXIgY2hlY2tlZCBwcm9wZXJ0eSB0byBmYWxzZVxyXG4gICAgZGF0YXZhbHVlLnN0b3Jlcy5mb3JFYWNoKChzdG9yZTogYW55KSA9PiB7XHJcbiAgICAgIGlmICghbWF0Y2hlZFN0b3Jlcy5zb21lKChtYXRjaGVkU3RvcmU6YW55KSA9PiBtYXRjaGVkU3RvcmUuc3RvcmVJZCA9PT0gc3RvcmUuc3RvcmVJZCkpIHtcclxuICAgICAgICBzdG9yZS5jaGVja2VkID0gZmFsc2U7XHJcbiAgICAgIH1cclxuICAgIH0pOyBcclxuICAgIGRhdGF2YWx1ZS5zdG9yZSA9IGRhdGE7XHJcbiAgICBsb2NhbFN0b3JhZ2Uuc2V0SXRlbShcImhlYWRlci1maWx0ZXJzXCIsIEpTT04uc3RyaW5naWZ5KGRhdGF2YWx1ZSkpO1xyXG4gICAgdGhpcy5jZC5kZXRlY3RDaGFuZ2VzKClcclxuICAgIHRoaXMuZ3MuZGF0YVJhbmdlVmFsdWUubmV4dChkYXRhdmFsdWUpXHJcbiAgICB0aGlzLmdzLm1hbmFnZVJlZnJlc2hUcmlnZ2VyLm5leHQodHJ1ZSk7XHJcbiAgfVxyXG4gIGdvVG9ab25lKCl7XHJcbiAgICB0aGlzLnJvdXRlci5uYXZpZ2F0ZShbXCIvbWFuYWdlL3pvbmVzL3YxXCJdKTsgXHJcblxyXG4gIH1cclxuXHJcbiAgY3VycmVudEluZGV4OiBudW1iZXIgPSAwO1xyXG4gIGludGVydmFsSWQ6IGFueTtcclxuXHJcblxyXG4gIHByZXZTbGlkZSgpIHtcclxuICAgIGlmICh0aGlzLmN1cnJlbnRJbmRleCA+IDApIHtcclxuICAgICAgdGhpcy5jdXJyZW50SW5kZXgtLTtcclxuICAgIH1cclxuICB9XHJcblxyXG4gIG5leHRTbGlkZSgpIHtcclxuICAgIGlmICh0aGlzLmN1cnJlbnRJbmRleCA8IHRoaXMucmVjYXBzR3JvdXBlZC5sZW5ndGggLSAxKSB7XHJcbiAgICAgIHRoaXMuY3VycmVudEluZGV4Kys7XHJcbiAgICB9XHJcbiAgfVxyXG5cclxuICBnb1RvU2xpZGUoaW5kZXg6IG51bWJlcikge1xyXG4gICAgaWYgKGluZGV4ID49IDAgJiYgaW5kZXggPCB0aGlzLnJlY2Fwc0dyb3VwZWQubGVuZ3RoKSB7XHJcbiAgICAgIHRoaXMuY3VycmVudEluZGV4ID0gaW5kZXg7XHJcbiAgICB9XHJcbiAgfVxyXG4gIFxyXG4gIG5vYlVwbG9hZCgpe1xyXG4gICAgdGhpcy5yb3V0ZXIubmF2aWdhdGUoW1wiL21hbmFnZS90cmFmZmljL25vYlwiXSk7IFxyXG4gIH1cclxuICBnb1RvTG9zcygpe1xyXG4gICAgdGhpcy5yb3V0ZXIubmF2aWdhdGUoW1wiL21hbmFnZS9zZXR0aW5ncy9icmFuZC1kZXRhaWxcIl0pOyBcclxuICB9XHJcblxyXG4vLyBmb290ZmFsbCB0cmVuZCBwYXJ0c1xyXG5cclxuZ2V0RGF0ZVZhbHVlczogYW55O1xyXG5jaGFydFRyZW5kczogYW55O1xyXG5yb290VHJlbmRzOiBhbnk7XHJcbnlBeGlzOiBhbnk7XHJcbnhBeGlzOiBhbnk7IFxyXG5sZWdlbmQ6IGFueTtcclxuQFZpZXdDaGlsZCgndG9vbHRpcENvbnRhaW5lcicpIHRvb2x0aXBDb250YWluZXI6IEVsZW1lbnRSZWY8SFRNTERpdkVsZW1lbnQ+O1xyXG50b29sdGlwRGF0YTogYW55O1xyXG5nZXRGb290ZmFsbFRyZW5kRGF0YTphbnk9W107XHJcbm9iakRhdGE6YW55O1xyXG5kYXRhc2V0cyA9IFtcclxuICB7IHZhbHVlOiAnbWlzc2Vkb3Bwb3J0dW5pdGllcycsIGxhYmVsOiAnTWlzc2VkIE9wcG9ydHVuaXR5JyB9LFxyXG4gIHsgdmFsdWU6ICdwb3RlbnRpYWxCdXllcicsIGxhYmVsOiAnUG90ZW50aWFsIEJ1eWVyJyB9LFxyXG4gIHsgdmFsdWU6ICdjb252ZXJzaW9uJywgbGFiZWw6ICdDb252ZXJzaW9uJyB9LFxyXG4gIHsgdmFsdWU6ICcnLCBsYWJlbDogJ05vIEZpbHRlcicgfVxyXG5dO1xyXG5cclxuaXRlbXNQZXJQYWdlVHJlbmRzID0gMTA7XHJcbmN1cnJlbnRQYWdlVHJlbmRzID0gMTtcclxudG90YWxJdGVtc1RyZW5kcyA9IDE7XHJcbnBhZ2luYXRpb25TaXplc1RyZW5kczogbnVtYmVyW10gPSBbXTtcclxucGFnZVNpemVUcmVuZHMgPSAzMTtcclxub2Zmc2V0VHJlbmRzIDogbnVtYmVyID0gMDtcclxubGltaXRUcmVuZHMgOiBudW1iZXIgPSAzMTtcclxuc2VsZWN0VmFsdWU9IG5ldyBGb3JtQ29udHJvbChcImRhdGFzZXQxXCIpO1xyXG5sb2FkaW5nVHJlbmRzID10cnVlO1xyXG5ub0RhdGFUcmVuZHMgPWZhbHNlO1xyXG4gIGdldEluaXRpYWxWYWx1ZSgpOiBzdHJpbmcge1xyXG4gICAgLy8gRm9yIGV4YW1wbGUsIHNlbGVjdGluZyB0aGUgc2Vjb25kIGl0ZW0gaW4gdGhlIGRhdGFzZXRcclxuICAgIHJldHVybiB0aGlzLmRhdGFzZXRzWzBdLnZhbHVlOyAvLyBDaGFuZ2UgYXMgbmVlZGVkXHJcbiAgfVxyXG4gIG9uVmFsdWVDaGFuZ2V0cmVuZChzZWxlY3RlZElkOiBhbnkpIHtcclxuICAgIHRoaXMub2JqRGF0YS5wcm9jZXNzVHlwZSA9IHNlbGVjdGVkSWQsXHJcbiAgICB0aGlzLmZvb3RmYWxsVHJlbmQoKTtcclxuICB9XHJcbiAgZ2V0IHNlbGVjdENvbnRyb2woKTogRm9ybUNvbnRyb2wge1xyXG4gICAgcmV0dXJuIHRoaXMuZm9ybS5nZXQoJ3NlbGVjdFZhbHVlJykgYXMgRm9ybUNvbnRyb2w7XHJcbiAgfVxyXG4gIEBIb3N0TGlzdGVuZXIoJ2RvY3VtZW50OmNsaWNrJywgWyckZXZlbnQnXSlcclxuICBvbkNsaWNrKGV2ZW50OiBNb3VzZUV2ZW50KTogdm9pZCB7XHJcbiAgICBjb25zdCB0b29sdGlwRWxlbWVudCA9IHRoaXMudG9vbHRpcENvbnRhaW5lcj8ubmF0aXZlRWxlbWVudDtcclxuXHJcbiAgICAvLyBDaGVjayBpZiB0aGUgY2xpY2sgd2FzIG91dHNpZGUgdGhlIHRvb2x0aXBcclxuICAgIGlmICh0b29sdGlwRWxlbWVudCAmJiAhdG9vbHRpcEVsZW1lbnQuY29udGFpbnMoZXZlbnQudGFyZ2V0IGFzIE5vZGUpICYmIHRoaXMudG9vbHRpcFZpc2libGUpIHtcclxuICAgICAgdGhpcy5oaWRlVG9vbHRpcCgpO1xyXG4gICAgfVxyXG4gICAgdGhpcy5zaG93ID1mYWxzZTtcclxuICB9XHJcbmZvb3RmYWxsVHJlbmQoKXsgXHJcbiAgdGhpcy5vZmZzZXRUcmVuZHMgPTA7XHJcbiAgdGhpcy5saW1pdFRyZW5kcyA9MzE7XHJcbiAgdGhpcy5sb2FkaW5nVHJlbmRzID10cnVlO1xyXG4gIHRoaXMubm9EYXRhVHJlbmRzID1mYWxzZTtcclxuICAodGhpcy5vYmpEYXRhLmNvbnZlcnNpb250eXBlID0gdGhpcy50YWJsZW9iai5jb252ZXJzaW9udHlwZSk7XHJcbiAgdGhpcy5zZXJ2aWNlXHJcbiAgLmdldGZvb3RmYWxsVHJlbmQodGhpcy5vYmpEYXRhKVxyXG4gIC5waXBlKHRha2VVbnRpbCh0aGlzLmRlc3Ryb3kkKSlcclxuICA/LnN1YnNjcmliZSh7XHJcbiAgICBuZXh0OiAocmVzOiBhbnkpID0+IHtcclxuICAgICAgaWYgKHJlcyAmJiByZXMuY29kZSA9PT0gMjAwKSB7XHJcbiAgICAgICAgdGhpcy5nZXRGb290ZmFsbFRyZW5kRGF0YSA9IHJlcz8uZGF0YT8uZm9vdGZhbGxUcmVuZERhdGE7XHJcbiAgICAgICAgdGhpcy5nZXREYXRlVmFsdWVzID0gcmVzPy5kYXRhO1xyXG4gICAgICAgIHRoaXMudG90YWxJdGVtc1RyZW5kcyA9IHJlcy5kYXRhPy50b3RhbENvdW50O1xyXG4gICAgICAgIHRoaXMuc2V0UGFnaW5hdGlvblNpemVUcmVuZHMoKTtcclxuICAgICAgICB0aGlzLmNyZWF0ZUNoYXJ0KCkgLy8gQ2FsbCB3aXRoIGEgZGVsYXkgdG8gZW5zdXJlIHRoZSBlbGVtZW50IGlzIGluIHRoZSBET01cclxuICAgICAgICB0aGlzLmNkLmRldGVjdENoYW5nZXMoKTsgXHJcbiAgICAgICAgdGhpcy5sb2FkaW5nVHJlbmRzID1mYWxzZTtcclxuICAgICAgICB0aGlzLm5vRGF0YVRyZW5kcyA9ZmFsc2U7XHJcbiAgICAgIH0gZWxzZSB7XHJcbiAgICAgICAgdGhpcy5sb2FkaW5nVHJlbmRzID1mYWxzZTtcclxuICAgICAgICB0aGlzLm5vRGF0YVRyZW5kcyA9dHJ1ZTtcclxuICAgICAgICB0aGlzLmdldEZvb3RmYWxsVHJlbmREYXRhID1bXTtcclxuICAgICAgfVxyXG4gICAgfSxcclxuICAgIGVycm9yOiAoZXJyOiBhbnkpID0+IHtcclxuICAgICAgdGhpcy5jZC5kZXRlY3RDaGFuZ2VzKCk7XHJcbiAgICB9LFxyXG4gICAgY29tcGxldGU6ICgpID0+IHt9LFxyXG4gIH0pO1xyXG4gIFxyXG59XHJcbnNldFBhZ2luYXRpb25TaXplVHJlbmRzKCkge1xyXG4gIGlmICh0aGlzLnRvdGFsSXRlbXNUcmVuZHMgPiAzMSApIHtcclxuICAgIGlmKHRoaXMub2JqRGF0YS5mb3JlY2FzdCAmJiB0aGlzLnRvdGFsSXRlbXNUcmVuZHMgPiAzMSl7XHJcbiAgICAgIHRoaXMucGFnaW5hdGlvblNpemVzVHJlbmRzID0gWzYwXTtcclxuICAgIH0gZWxzZSB7ICBcclxuICAgIHRoaXMucGFnaW5hdGlvblNpemVzVHJlbmRzID0gWzMxXTtcclxuICAgIH1cclxuICB9IGVsc2Uge1xyXG4gICAgdGhpcy5wYWdpbmF0aW9uU2l6ZXNUcmVuZHMgPSBbdGhpcy50b3RhbEl0ZW1zVHJlbmRzXTsgLy8gSnVzdCBvbmUgb3B0aW9uIGlmIGxlc3MgdGhhbiAxMFxyXG4gIH1cclxuICB0aGlzLnBhZ2VTaXplVHJlbmRzID0gdGhpcy5wYWdpbmF0aW9uU2l6ZXNUcmVuZHNbMF07XHJcbn1cclxub25QYWdlQ2hhbmdlVHJlbmRzKHBhZ2VPZmZzZXRUcmVuZHM6IG51bWJlcikge1xyXG4gIHRoaXMub2Zmc2V0VHJlbmRzID0gTnVtYmVyKHBhZ2VPZmZzZXRUcmVuZHMpO1xyXG4gIHRoaXMub2JqRGF0YS5vZmZzZXQgPSB0aGlzLm9mZnNldFRyZW5kcyAtMTtcclxuICB0aGlzLm9iakRhdGEubGltaXQgPSB0aGlzLmxpbWl0VHJlbmRzO1xyXG4gIHRoaXMuc2VydmljZVxyXG4gIC5nZXRmb290ZmFsbFRyZW5kKHRoaXMub2JqRGF0YSlcclxuICAucGlwZSh0YWtlVW50aWwodGhpcy5kZXN0cm95JCkpXHJcbiAgPy5zdWJzY3JpYmUoe1xyXG4gICAgbmV4dDogKHJlczogYW55KSA9PiB7XHJcbiAgICAgIGlmIChyZXMgJiYgcmVzLmNvZGUgPT09IDIwMCkge1xyXG4gICAgICAgIHRoaXMuZ2V0Rm9vdGZhbGxUcmVuZERhdGEgPSByZXM/LmRhdGEuZm9vdGZhbGxUcmVuZERhdGE7XHJcbiAgICAgICAgXHJcbiAgICAgICAgdGhpcy5nZXREYXRlVmFsdWVzID0gcmVzPy5kYXRhO1xyXG4gICAgICAgIHRoaXMudG90YWxJdGVtc1RyZW5kcyA9IHJlcy5kYXRhPy50b3RhbENvdW50O1xyXG4gICAgICAgIHRoaXMuY3JlYXRlQ2hhcnQoKSAvLyBDYWxsIHdpdGggYSBkZWxheSB0byBlbnN1cmUgdGhlIGVsZW1lbnQgaXMgaW4gdGhlIERPTVxyXG4gICAgICAgIHRoaXMuY2QuZGV0ZWN0Q2hhbmdlcygpOyBcclxuXHJcbiAgICAgIH0gZWxzZSB7XHJcbiAgICAgICAgdGhpcy5sb2FkaW5nID1mYWxzZTtcclxuICAgICAgICB0aGlzLm5vRGF0YSA9dHJ1ZTtcclxuICAgICAgfVxyXG4gICAgfSxcclxuICAgIGVycm9yOiAoZXJyOiBhbnkpID0+IHtcclxuICAgICAgdGhpcy5jZC5kZXRlY3RDaGFuZ2VzKCk7XHJcbiAgICB9LFxyXG4gICAgY29tcGxldGU6ICgpID0+IHt9LFxyXG4gIH0pO1xyXG4gIFxyXG59XHJcblxyXG5vblBhZ2VTaXplQ2hhbmdlVHJlbmRzKHBhZ2VTaXplVHJlbmRzOiBudW1iZXIpIHtcclxuICB0aGlzLnBhZ2VTaXplVHJlbmRzID0gTnVtYmVyKHBhZ2VTaXplVHJlbmRzKTtcclxuICB0aGlzLmxpbWl0VHJlbmRzID0gTnVtYmVyKHBhZ2VTaXplVHJlbmRzKTtcclxuICB0aGlzLmN1cnJlbnRQYWdlVHJlbmRzID0gMTtcclxuICB0aGlzLm9mZnNldFRyZW5kcyA9IDA7XHJcbiAgdGhpcy5vYmpEYXRhLm9mZnNldCA9IHRoaXMub2Zmc2V0VHJlbmRzO1xyXG4gIHRoaXMub2JqRGF0YS5saW1pdCA9IHRoaXMubGltaXRUcmVuZHM7XHJcbiAgdGhpcy5mb290ZmFsbFRyZW5kKCk7XHJcbn1cclxuIGNyZWF0ZUNoYXJ0KCkge1xyXG4gICAgdGhpcy5sb2FkaW5nVHJlbmRzID1mYWxzZTtcclxuICAgIHRoaXMubm9EYXRhVHJlbmRzID1mYWxzZTtcclxuICAgIHNldFRpbWVvdXQoKCkgPT4ge1xyXG4gICAgICBjb25zdCBjaGFydERpdiA9IGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKFwiRm9vdGZhbGx0cmVuZFwiKTtcclxuICAgICAgaWYgKCFjaGFydERpdikge1xyXG4gICAgICAgIHJldHVybjtcclxuICAgICAgfVxyXG4gICAgICBpZiAodGhpcy5yb290VHJlbmRzKSB7XHJcbiAgICAgICAgdGhpcy5yb290VHJlbmRzLmRpc3Bvc2UoKTtcclxuICAgICAgfVxyXG4gICAgdGhpcy5yb290VHJlbmRzICA9IGFtNS5Sb290Lm5ldygnRm9vdGZhbGx0cmVuZCcpO1xyXG4gICAgdGhpcy5yb290VHJlbmRzLnNldFRoZW1lcyhbYW01dGhlbWVzX0FuaW1hdGVkLm5ldyh0aGlzLnJvb3RUcmVuZHMpXSk7XHJcblxyXG4gICAgdGhpcy5jaGFydFRyZW5kcyA9IHRoaXMucm9vdFRyZW5kcy5jb250YWluZXIuY2hpbGRyZW4ucHVzaChcclxuICAgICAgYW01eHkuWFlDaGFydC5uZXcodGhpcy5yb290VHJlbmRzLCB7XHJcbiAgICAgICAgcGFuWDogZmFsc2UsXHJcbiAgICAgICAgcGFuWTogZmFsc2UsXHJcbiAgICAgICAgd2hlZWxYOiAncGFuWCcsXHJcbiAgICAgICAgd2hlZWxZOiAnem9vbVgnLFxyXG4gICAgICAgIGxheW91dDogdGhpcy5yb290VHJlbmRzLnZlcnRpY2FsTGF5b3V0XHJcbiAgICAgIH0pXHJcbiAgICApO1xyXG5cclxuICAgIHRoaXMuY2hhcnRUcmVuZHMuc2V0KFwic2Nyb2xsYmFyWFwiLCBhbTUuU2Nyb2xsYmFyLm5ldyh0aGlzLnJvb3RUcmVuZHMsIHtcclxuICAgICAgb3JpZW50YXRpb246IFwiaG9yaXpvbnRhbFwiXHJcbiAgICB9KSk7XHJcbiAgICBsZXQgeFJlbmRlcmVyID0gYW01eHkuQXhpc1JlbmRlcmVyWC5uZXcodGhpcy5yb290VHJlbmRzLCB7XHJcbiAgICAgIG1pbkdyaWREaXN0YW5jZTogMjAsXHJcbiAgICAgIG1pbm9yR3JpZEVuYWJsZWQ6IHRydWUsXHJcbiAgICB9KTtcclxuICAgIHhSZW5kZXJlci5sYWJlbHMudGVtcGxhdGUuc2V0QWxsKHtcclxuICAgICAgcm90YXRpb246IC00NSxcclxuICAgICAgY2VudGVyWTogYW01LnA1MCxcclxuICAgICAgY2VudGVyWDogYW01LnAxMDAsXHJcbiAgICAgIHBhZGRpbmdSaWdodDogNSxcclxuICAgIH0pO1xyXG4gICAgLy8geFJlbmRlcmVyLmdyaWQudGVtcGxhdGUuc2V0QWxsKHtcclxuICAgIC8vICAgbG9jYXRpb246IDEsXHJcbiAgICAvLyB9KTtcclxuICAgIGNvbnN0IHhBeGlzID0gdGhpcy5jaGFydFRyZW5kcy54QXhlcy5wdXNoKFxyXG4gICAgICBhbTV4eS5DYXRlZ29yeUF4aXMubmV3KHRoaXMucm9vdFRyZW5kcywge1xyXG4gICAgICAgIGNhdGVnb3J5RmllbGQ6ICdzdG9yZU5hbWUnLFxyXG4gICAgICAgIHJlbmRlcmVyOnhSZW5kZXJlcixcclxuICAgICAgICB0b29sdGlwOiBhbTUuVG9vbHRpcC5uZXcodGhpcy5yb290VHJlbmRzLCB7IGxhYmVsVGV4dDogXCJ7ZnVsbFN0b3JlTmFtZX1cIn0pXHJcbiAgICAgIH0pXHJcbiAgICApO1xyXG4gICAgdGhpcy5nZXRGb290ZmFsbFRyZW5kRGF0YS5zb3J0KChhOiBhbnksIGI6IGFueSkgPT4ge1xyXG4gICAgICAvLyBQYXJzZSBzdG9yZU5hbWUgYXMgYSBEYXRlIGFuZCBjb21wYXJlXHJcbiAgICAgIGNvbnN0IGRhdGVBID0gbmV3IERhdGUoYS5zdG9yZU5hbWUpO1xyXG4gICAgICBjb25zdCBkYXRlQiA9IG5ldyBEYXRlKGIuc3RvcmVOYW1lKTtcclxuICAgICAgXHJcbiAgICAgIC8vIFNvcnQgaW4gYXNjZW5kaW5nIG9yZGVyIChvbGRlc3QgdG8gbmV3ZXN0KVxyXG4gICAgICByZXR1cm4gZGF0ZUEuZ2V0VGltZSgpIC0gZGF0ZUIuZ2V0VGltZSgpO1xyXG4gICAgfSk7XHJcbiAgICB0aGlzLmdldEZvb3RmYWxsVHJlbmREYXRhID0gdGhpcy5nZXRGb290ZmFsbFRyZW5kRGF0YT8ubWFwKFxyXG4gICAgICAoaXRlbTogYW55KSA9PiAoe1xyXG4gICAgICAgIGZ1bGxTdG9yZU5hbWU6IGl0ZW0uc3RvcmVOYW1lLCAvLyBGdWxsIHN0b3JlIG5hbWVcclxuICAgICAgICBzdG9yZU5hbWU6IGl0ZW0uc3RvcmVOYW1lLCAvLyBpdGVtLnN0b3JlTmFtZS5sZW5ndGggPiAyMCA/IGl0ZW0uc3RvcmVOYW1lLnNsaWNlKDAsIDIwKSArICcuLi4nIDogU2hvcnRlbmVkIGZvciB4QXhpc1xyXG4gICAgICAgIGZvb3RmYWxsOiBOdW1iZXIoaXRlbS5mb290ZmFsbF9jb3VudCksXHJcbiAgICAgICAgY29udmVyc2lvbjogTnVtYmVyKGl0ZW0uY29udmVyc2lvbl9jb3VudCksXHJcbiAgICAgICAgYm91bmNlZDogTnVtYmVyKGl0ZW0uYm91bmNlZF9jb3VudCksXHJcbiAgICAgICAgZW5nYWdlcnM6IE51bWJlcihpdGVtLmVuZ2FnZXJzX2NvdW50KSxcclxuICAgICAgICBtaXNzZWRvcHBvcnR1bml0aWVzOiBOdW1iZXIoaXRlbS5taXNzZWRPcHBvcnR1bml0eV9jb3VudCksXHJcbiAgICAgICAgcG90ZW50aWFsOiBOdW1iZXIoaXRlbS5wb3RlbnRpYWxCdXllcnNfY291bnQpLFxyXG4gICAgICAgIGJvdW5jZWRfY291bnQ6aXRlbS5ib3VuY2VkX2NvdW50LFxyXG4gICAgICAgIGF2Z0R3ZWxsVGltZTppdGVtLmF2Z0R3ZWxsVGltZSxcclxuICAgICAgICBkb3duX3RpbWU6aXRlbS5kb3duX3RpbWUsXHJcbiAgICAgICAgZW5nYWdlcnNfY291bnQ6aXRlbS5lbmdhZ2Vyc19jb3VudCxcclxuICAgICAgICBmb290ZmFsbF9jb3VudDppdGVtLmZvb3RmYWxsX2NvdW50LFxyXG4gICAgICAgIG1pc3NlZE9wcG9ydHVuaXR5X2NvdW50Oml0ZW0ubWlzc2VkT3Bwb3J0dW5pdHlfY291bnQsXHJcbiAgICAgICAgZm9vdGZhbGxfY291bnRfYXZnOml0ZW0uZm9vdGZhbGxfY291bnRfYXZnLFxyXG4gICAgICAgIGJvdW5jZWRfZm9vdGZhbGxfY291bnRfYXZnOml0ZW0uYm91bmNlZF9mb290ZmFsbF9jb3VudF9hdmcsXHJcbiAgICAgICAgbWlzc2VkT3Bwb3J0dW5pdHlfY291bnRfYXZnOml0ZW0ubWlzc2VkT3Bwb3J0dW5pdHlfY291bnRfYXZnLFxyXG4gICAgICAgIGVuZ2FnZXJzX2NvdW50X2F2ZzppdGVtLmVuZ2FnZXJzX2NvdW50X2F2ZyxcclxuICAgICAgICBjb252ZXJzaW9uUmF0ZTogaXRlbS5jb252ZXJzaW9uUmF0ZSxcclxuICAgICAgICBmb3JlY2FzdDogaXRlbS5mb3JlY2FzdCxcclxuICAgICAgfSlcclxuICAgICk7XHJcbiAgIFxyXG4gICAgeEF4aXMuZGF0YT8uc2V0QWxsKHRoaXMuZ2V0Rm9vdGZhbGxUcmVuZERhdGEpOyBcclxuICAgIGNvbnN0IHlBeGlzID0gdGhpcy5jaGFydFRyZW5kcy55QXhlcy5wdXNoKFxyXG4gICAgICBhbTV4eS5WYWx1ZUF4aXMubmV3KHRoaXMucm9vdFRyZW5kcywge1xyXG4gICAgICAgIG1pbjowLFxyXG4gICAgICAgIHJlbmRlcmVyOiBhbTV4eS5BeGlzUmVuZGVyZXJZLm5ldyh0aGlzLnJvb3RUcmVuZHMsIHt9KVxyXG4gICAgICB9KVxyXG4gICAgKTtcclxuICAgIC8vIHlBeGlzLmdldChcInJlbmRlcmVyXCIpLmdyaWQudGVtcGxhdGUuc2V0KFwiZm9yY2VIaWRkZW5cIiwgdHJ1ZSk7XHJcbiAgICAvLyB5QXhpcy5nZXQoXCJyZW5kZXJlclwiKS5sYWJlbHMudGVtcGxhdGUuc2V0KFwiZm9yY2VIaWRkZW5cIiwgdHJ1ZSk7XHJcbiAgICAvLyBTZXQgdGhlIHRpdGxlIG9mIHRoZSB5LWF4aXNcclxuICAgIHlBeGlzLmNoaWxkcmVuLnVuc2hpZnQoYW01LkxhYmVsLm5ldyh0aGlzLnJvb3RUcmVuZHMsIHtcclxuICAgICAgcm90YXRpb246IC05MCxcclxuICAgICAgLy8gdGV4dDogJ0Zvb3RmYWxsJywgLy9jYXBpdGFsaXplRmlyc3RMZXR0ZXIodGhpcy5vYmpEYXRhLnByb2Nlc3NUeXBlKSwgLy8gQ2FwaXRhbGl6ZSB0aGUgZmlyc3QgbGV0dGVyXHJcbiAgICAgIHk6IGFtNS5wNTAsXHJcbiAgICAgIGNlbnRlclg6IGFtNS5wNTAsXHJcbiAgICAgIGZvbnRGYW1pbHk6IFwiQXJpYWxcIiwgLy8gU2V0IGZvbnQgZmFtaWx5XHJcbiAgICAgIGZvbnRTaXplOiBcIjE0cHhcIiwgICAgLy8gU2V0IGZvbnQgc2l6ZVxyXG4gICAgICBmaWxsOiBhbTUuY29sb3IoMHgwMDAwMDApIC8vIFNldCB0ZXh0IGNvbG9yIChvcHRpb25hbClcclxuICAgIH0pKTtcclxuaWYodGhpcy5vYmpEYXRhLnByb2Nlc3NUeXBlID09PSdwb3RlbnRpYWxCdXllcicpXHJcbiAgdGhpcy5vYmpEYXRhLnByb2Nlc3NUeXBlID0ncG90ZW50aWFsJ1xyXG4vLyBpZih0aGlzLm9iakRhdGEucHJvY2Vzc1R5cGUgPT09J21pc3NlZG9wcG9ydHVuaXRpZXMnKVxyXG4vLyAgIHRoaXMub2JqRGF0YS5wcm9jZXNzVHlwZSA9J01pc3NlZCBPcHBvcnR1bml0eSdcclxuY29uc3QgY2FwaXRhbGl6ZVRpdGxlID0gKHRleHQ6IHN0cmluZyk6IHN0cmluZyA9PiB7XHJcbiAgcmV0dXJuIHRleHRcclxuICAgIC5zcGxpdCgnICcpXHJcbiAgICAubWFwKHdvcmQgPT4gd29yZC5jaGFyQXQoMCkudG9VcHBlckNhc2UoKSArIHdvcmQuc2xpY2UoMSkudG9Mb3dlckNhc2UoKSlcclxuICAgIC5qb2luKCcgJyk7XHJcbn07XHJcblxyXG4vLyBFeGFtcGxlIHVzYWdlXHJcbmNvbnN0IHByb2Nlc3NUeXBlVGl0bGUgPSBjYXBpdGFsaXplVGl0bGUodGhpcy5vYmpEYXRhLnByb2Nlc3NUeXBlKTtcclxuICAgIC8vIHRoaXMuY3JlYXRlQ29sdW1uU2VyaWVzKCdGb290ZmFsbCcsICdmb290ZmFsbCcsIHhBeGlzLCB5QXhpcywgZmFsc2UsIGFtNS5jb2xvcigweDY3YjdkYykpO1xyXG4gICAgdGhpcy5jcmVhdGVDb2x1bW5TZXJpZXMoJ0JvdW5jZWQnLCAnYm91bmNlZCcsIHhBeGlzLCB5QXhpcywgdHJ1ZSwgYW01LmNvbG9yKDB4NjdiN2RjKSk7XHJcbiAgICB0aGlzLmNyZWF0ZUNvbHVtblNlcmllcygnRW5nYWdlcnMnLCAnZW5nYWdlcnMnLCB4QXhpcywgeUF4aXMsIHRydWUsIGFtNS5jb2xvcigweDY3OTRkYykpO1xyXG4gICAgLy8gNjc3MWRjXHJcbiAgICAvLyB0aGlzLmNyZWF0ZUNvbHVtblNlcmllcygnTWlzc2VkIE9wcG9ydHVuaXR5JywgJ21pc3NlZG9wcG9ydHVuaXRpZXMnLCB4QXhpcywgeUF4aXMsIHRydWUsIGFtNS5jb2xvcigweDY3OTRkYykpO1xyXG4gICAgLy8gdGhpcy5jcmVhdGVDb2x1bW5TZXJpZXMoJ1BvdGVudGlhbCBCdXllcicsICdwb3RlbnRpYWwnLCB4QXhpcywgeUF4aXMsIHRydWUsIGFtNS5jb2xvcigweGRjNjljZikpO1xyXG4gICAgLy8gdGhpcy5jcmVhdGVDb2x1bW5TZXJpZXMoJ0NvbnZlcnNpb24nLCAnY29udmVyc2lvbicsIHhBeGlzLCB5QXhpcywgdHJ1ZSwgYW01LmNvbG9yKDB4Njc3MWRjKSk7XHJcbiAgICBpZih0aGlzLm9iakRhdGEucHJvY2Vzc1R5cGUgIT09JycgKXtcclxuICAgICAgY29uc3QgbXlDb2xvciA9IGFtNS5jb2xvcigweDAwRkYwMCk7XHJcbiAgICB0aGlzLmNyZWF0ZUxpbmVTZXJpZXMocHJvY2Vzc1R5cGVUaXRsZSwgdGhpcy5vYmpEYXRhLnByb2Nlc3NUeXBlLCB4QXhpcywgeUF4aXMsIG15Q29sb3IpO1xyXG4gICAgfVxyXG4gICAgY29uc3QgbGVnZW5kID0gdGhpcy5jaGFydFRyZW5kcy5jaGlsZHJlbi5wdXNoKFxyXG4gICAgICBhbTUuTGVnZW5kLm5ldyh0aGlzLnJvb3RUcmVuZHMsIHtcclxuICAgICAgICBjZW50ZXJYOiBhbTUucDUwLFxyXG4gICAgICAgIHg6IGFtNS5wNTBcclxuICAgICAgfSlcclxuICAgICk7XHJcblxyXG4gICAgbGVnZW5kLmRhdGEuc2V0QWxsKHRoaXMuY2hhcnRUcmVuZHMuc2VyaWVzLnZhbHVlcyk7XHJcblxyXG4gICAgdGhpcy5jaGFydFRyZW5kcy5zZXQoJ2N1cnNvcicsIGFtNXh5LlhZQ3Vyc29yLm5ldyh0aGlzLnJvb3RUcmVuZHMsIHtcclxuICAgICAgYmVoYXZpb3I6ICdub25lJ1xyXG4gICAgfSkpO1xyXG5cclxuICAgIHRoaXMuY2hhcnRUcmVuZHMuc2VyaWVzLmVhY2goKHNlcmllczogYW55KSA9PiB7XHJcbiAgICAgIGlmIChzZXJpZXMuY29sdW1ucykge1xyXG4gICAgICAgIHNlcmllcy5jb2x1bW5zLnRlbXBsYXRlLnNldChcImludGVyYWN0aXZlXCIsIHRydWUpO1xyXG4gICAgICAgIHNlcmllcy5jb2x1bW5zLnRlbXBsYXRlLmV2ZW50cy5vbihcImNsaWNrXCIsIChldjogYW55KSA9PiB7XHJcbiAgICAgICAgICBjb25zdCBkYXRhID0gZXYudGFyZ2V0LmRhdGFJdGVtLmRhdGFDb250ZXh0O1xyXG4gICAgICAgICAgY29uc3QgeyBjbGllbnRYLCBjbGllbnRZIH0gPSBldi5vcmlnaW5hbEV2ZW50O1xyXG4gICAgICAgICAgdGhpcy5zaG93VG9vbHRpcChkYXRhLCBjbGllbnRYLCBjbGllbnRZKTtcclxuICAgICAgICB9KTtcclxuICAgICAgfVxyXG4gICAgfSk7XHJcbiAgICB0aGlzLmNoYXJ0VHJlbmRzLmFwcGVhcigxMDAwLCAxMDApO1xyXG4gIH0sMTAwKVxyXG4gIH1cclxuXHJcbiAgdG9vbHRpcFZpc2libGUgPSBmYWxzZTtcclxuICBzaG93VG9vbHRpcChkYXRhOiBhbnksIHg6IG51bWJlciwgeTogbnVtYmVyKTogdm9pZCB7XHJcbiAgICB0aGlzLnRvb2x0aXBWaXNpYmxlID0gZmFsc2U7XHJcbiAgICB0aGlzLnRvb2x0aXBEYXRhID0gZGF0YTtcclxuICAgIGNvbnN0IHRvb2x0aXBFbGVtZW50ID0gdGhpcy50b29sdGlwQ29udGFpbmVyPy5uYXRpdmVFbGVtZW50O1xyXG4gIFxyXG4gICAgLy8gU2V0IHRvb2x0aXAgY29udGVudCBhbmQgbWFrZSBpdCB2aXNpYmxlIHRvIGNhbGN1bGF0ZSBkaW1lbnNpb25zXHJcbiAgICB0b29sdGlwRWxlbWVudC5zdHlsZS5kaXNwbGF5ID0gJ2Jsb2NrJztcclxuICAgIHRvb2x0aXBFbGVtZW50LnN0eWxlLnZpc2liaWxpdHkgPSAnaGlkZGVuJzsgLy8gTWFrZSBpdCBpbnZpc2libGUgYnV0IHN0aWxsIHByZXNlbnQgaW4gdGhlIERPTVxyXG4gIFxyXG4gICAgLy8gRm9yY2UgYSByZWZsb3cgdG8gZW5zdXJlIGRpbWVuc2lvbnMgYXJlIHVwLXRvLWRhdGVcclxuICAgIHRvb2x0aXBFbGVtZW50LnN0eWxlLnBvc2l0aW9uID0gJ2Fic29sdXRlJztcclxuICAgIFxyXG4gICAgLy8gV2FpdCBmb3IgdGhlIG5leHQgZXZlbnQgbG9vcCB0byBnZXQgYWNjdXJhdGUgZGltZW5zaW9uc1xyXG4gICAgc2V0VGltZW91dCgoKSA9PiB7XHJcbiAgICAgIGNvbnN0IHRvb2x0aXBXaWR0aCA9IHRvb2x0aXBFbGVtZW50Lm9mZnNldFdpZHRoO1xyXG4gICAgICBjb25zdCB0b29sdGlwSGVpZ2h0ID0gdG9vbHRpcEVsZW1lbnQub2Zmc2V0SGVpZ2h0O1xyXG4gICAgICBjb25zdCBzY3JlZW5XaWR0aCA9IHdpbmRvdy5pbm5lcldpZHRoO1xyXG4gICAgICBjb25zdCBzY3JlZW5IZWlnaHQgPSB3aW5kb3cuaW5uZXJIZWlnaHQ7XHJcbiAgXHJcbiAgICAgIC8vIENhbGN1bGF0ZSBpZiB0aGVyZSBpcyBlbm91Z2ggc3BhY2Ugb24gdGhlIHJpZ2h0IHNpZGUsIG90aGVyd2lzZSBwbGFjZSBpdCBvbiB0aGUgbGVmdFxyXG4gICAgICBpZiAoeCArIHRvb2x0aXBXaWR0aCA+IHNjcmVlbldpZHRoKSB7XHJcbiAgICAgICAgdG9vbHRpcEVsZW1lbnQuc3R5bGUubGVmdCA9IGAke3ggLSB0b29sdGlwV2lkdGh9cHhgO1xyXG4gICAgICB9IGVsc2Uge1xyXG4gICAgICAgIHRvb2x0aXBFbGVtZW50LnN0eWxlLmxlZnQgPSBgJHt4fXB4YDtcclxuICAgICAgfVxyXG4gIFxyXG4gICAgICAvLyBDYWxjdWxhdGUgaWYgdGhlcmUgaXMgZW5vdWdoIHNwYWNlIGF0IHRoZSBib3R0b20sIG90aGVyd2lzZSBwbGFjZSBpdCBhdCB0aGUgdG9wXHJcbiAgICAgIGlmICh5ICsgdG9vbHRpcEhlaWdodCA+IHNjcmVlbkhlaWdodCkge1xyXG4gICAgICAgIHRvb2x0aXBFbGVtZW50LnN0eWxlLnRvcCA9IGAke3kgLSB0b29sdGlwSGVpZ2h0fXB4YDtcclxuICAgICAgfSBlbHNlIHtcclxuICAgICAgICB0b29sdGlwRWxlbWVudC5zdHlsZS50b3AgPSBgJHt5fXB4YDtcclxuICAgICAgfVxyXG4gIFxyXG4gICAgICB0b29sdGlwRWxlbWVudC5zdHlsZS52aXNpYmlsaXR5ID0gJ3Zpc2libGUnOyAvLyBNYWtlIGl0IHZpc2libGUgYWdhaW5cclxuICAgICAgdGhpcy50b29sdGlwVmlzaWJsZSA9IHRydWU7XHJcbiAgICB9LCAwKTtcclxuICB9XHJcbiAgc2VsZWN0UGxhblRyZW5kcyh0eXBlOiBhbnkpIHtcclxuICAgIHRoaXMudHlwZSA9IHR5cGU7XHJcbiAgICB0aGlzLm9iakRhdGEuZGF0ZVR5cGUgPXR5cGU7XHJcbiAgICBpZih0eXBlID09PSdtb250aGx5JyAmJiB0aGlzLnN0b3JlSWRhcnJheT8ubGVuZ3RoID09PSAxKVxyXG4gICAgdGhpcy5vYmpEYXRhLmxpbWl0PSA2MDtcclxuICBlbHNlIFxyXG4gIHRoaXMub2JqRGF0YS5saW1pdD0gMzE7XHJcbiAgICB0aGlzLm9iakRhdGEub2Zmc2V0PSAwO1xyXG4gICAgdGhpcy5mb290ZmFsbFRyZW5kKCk7XHJcbiAgICAvLyB0aGlzLnVwZGF0ZUNoYXJ0RGF0YSgpO1xyXG4gIH1cclxuICBoaWRlVG9vbHRpcCgpOiB2b2lkIHtcclxuICAgIHRoaXMudG9vbHRpcFZpc2libGUgPSBmYWxzZTtcclxuICAgIGNvbnN0IHRvb2x0aXBFbGVtZW50ID0gdGhpcy50b29sdGlwQ29udGFpbmVyPy5uYXRpdmVFbGVtZW50O1xyXG4gICAgdG9vbHRpcEVsZW1lbnQuc3R5bGUuZGlzcGxheSA9ICdub25lJztcclxuICB9XHJcblxyXG4gIGNyZWF0ZUNvbHVtblNlcmllcyhcclxuICAgIG5hbWU6IHN0cmluZyxcclxuICAgIGZpZWxkTmFtZTogc3RyaW5nLFxyXG4gICAgeEF4aXM6IGFtNXh5LkNhdGVnb3J5QXhpczxhbTV4eS5BeGlzUmVuZGVyZXI+LFxyXG4gICAgeUF4aXM6IGFtNXh5LlZhbHVlQXhpczxhbTV4eS5BeGlzUmVuZGVyZXI+LFxyXG4gICAgc3RhY2tlZDogYm9vbGVhbixcclxuICAgIGNvbG9yOiBhbTUuQ29sb3JcclxuICApOiB2b2lkIHtcclxuXHJcbiAgICBpZiAodGhpcy5oZWFkZXJEYXRhPy5jbGllbnQgPT09ICc0NTInKSB7XHJcbiAgICAgIGlmIChuYW1lID09PSAnQm91bmNlZCcpIHtcclxuICAgICAgICBuYW1lID0gYExlc3MgdGhhbiAke3RoaXMuY2xpZW50RGF0YT8uZmVhdHVyZUNvbmZpZ3M/LmJvdW5jZWRMaW1pdD8udmFsdWUgPz8gJ1gnfSBtaW5zYDtcclxuICAgICAgfVxyXG4gICAgICBpZiAobmFtZSA9PT0gJ0VuZ2FnZXJzJykge1xyXG4gICAgICAgIG5hbWUgPSBgTW9yZSB0aGFuICR7dGhpcy5jbGllbnREYXRhPy5mZWF0dXJlQ29uZmlncz8uYm91bmNlZExpbWl0Py52YWx1ZSA/PyAnWCd9IG1pbnNgO1xyXG4gICAgICB9XHJcbiAgICB9XHJcbiAgICBjb25zdCBzZXJpZXMgPSB0aGlzLmNoYXJ0VHJlbmRzLnNlcmllcy5wdXNoKFxyXG4gICAgICBhbTV4eS5Db2x1bW5TZXJpZXMubmV3KHRoaXMucm9vdFRyZW5kcywge1xyXG4gICAgICAgIG5hbWU6IG5hbWUsXHJcbiAgICAgICAgeEF4aXM6IHhBeGlzLFxyXG4gICAgICAgIHlBeGlzOiB5QXhpcyxcclxuICAgICAgICB2YWx1ZVlGaWVsZDogZmllbGROYW1lLFxyXG4gICAgICAgIGNhdGVnb3J5WEZpZWxkOiAnc3RvcmVOYW1lJyxcclxuICAgICAgICBzdGFja2VkOiBzdGFja2VkLFxyXG4gICAgICB9KVxyXG4gICAgKTtcclxuICAgIHRoaXMuZ2V0Rm9vdGZhbGxUcmVuZERhdGEgPSB0aGlzLmdldEZvb3RmYWxsVHJlbmREYXRhLm1hcCgoaXRlbTogYW55KSA9PiB7XHJcbiAgICAgIHJldHVybiB7XHJcbiAgICAgICAgLi4uaXRlbSxcclxuICAgICAgICBkeW5hbWljQ29sdW1uOiB7XHJcbiAgICAgICAgICBmaWxsT3BhY2l0eTogaXRlbS5jb2x1bW5TZXR0aW5ncz8uZmlsbE9wYWNpdHkgPz8gMC44LFxyXG4gICAgICAgICAgc3Ryb2tlRGFzaGFycmF5OiBBcnJheS5pc0FycmF5KGl0ZW0uY29sdW1uU2V0dGluZ3M/LnN0cm9rZURhc2hhcnJheSlcclxuICAgICAgICAgICAgPyBpdGVtLmNvbHVtblNldHRpbmdzLnN0cm9rZURhc2hhcnJheVxyXG4gICAgICAgICAgICA6IGl0ZW0uY29sdW1uU2V0dGluZ3M/LnN0cm9rZURhc2hhcnJheSA/IGl0ZW0uY29sdW1uU2V0dGluZ3Muc3Ryb2tlRGFzaGFycmF5LnNwbGl0KCcsJykubWFwKE51bWJlcikgOiBbNSwgNV0sXHJcbiAgICAgICAgICBzdHJva2VXaWR0aDogaXRlbS5jb2x1bW5TZXR0aW5ncz8uc3Ryb2tlV2lkdGggPz8gM1xyXG4gICAgICAgIH1cclxuICAgICAgfTtcclxuICAgIH0pO1xyXG4gIFxyXG4gICAgLy8gU2V0IGRhdGEgZm9yIHNlcmllc1xyXG4gICAgc2VyaWVzLmRhdGEuc2V0QWxsKHRoaXMuZ2V0Rm9vdGZhbGxUcmVuZERhdGEpO1xyXG4gIFxyXG4gICAgLy8gQWRhcHRlcnMgdG8gYXBwbHkgY3VzdG9tIGNvbHVtbiBzZXR0aW5nc1xyXG4gICAgc2VyaWVzLmNvbHVtbnMudGVtcGxhdGUuYWRhcHRlcnMuYWRkKFwiZmlsbE9wYWNpdHlcIiwgKGZpbGxPcGFjaXR5OiBhbnksIHRhcmdldDogYW55KSA9PiB7XHJcbiAgICAgIGNvbnN0IGRhdGFJdGVtID0gdGFyZ2V0LmRhdGFJdGVtPy5kYXRhQ29udGV4dCBhcyBhbnk7XHJcbiAgICAgIGlmIChkYXRhSXRlbT8uZm9yZWNhc3QgJiYgZGF0YUl0ZW0/LmR5bmFtaWNDb2x1bW4pIHsgXHJcbiAgICAgICAgcmV0dXJuIGRhdGFJdGVtLmR5bmFtaWNDb2x1bW4uZmlsbE9wYWNpdHkgPz8gZmlsbE9wYWNpdHk7IFxyXG4gICAgICB9XHJcbiAgICAgIHJldHVybiBmaWxsT3BhY2l0eTsgLy8gRGVmYXVsdCBvcGFjaXR5XHJcbiAgICB9KTtcclxuICBcclxuICAgIHNlcmllcy5jb2x1bW5zLnRlbXBsYXRlLmFkYXB0ZXJzLmFkZChcInN0cm9rZURhc2hhcnJheVwiLCAoc3Ryb2tlRGFzaGFycmF5OiBhbnksIHRhcmdldDogYW55KSA9PiB7XHJcbiAgICAgIGNvbnN0IGRhdGFJdGVtID0gdGFyZ2V0LmRhdGFJdGVtPy5kYXRhQ29udGV4dCBhcyBhbnk7XHJcbiAgICAgIGlmIChkYXRhSXRlbT8uZm9yZWNhc3QgJiYgZGF0YUl0ZW0/LmR5bmFtaWNDb2x1bW4pIHsgXHJcbiAgICAgICAgcmV0dXJuIGRhdGFJdGVtLmR5bmFtaWNDb2x1bW4uc3Ryb2tlRGFzaGFycmF5ID8/IHN0cm9rZURhc2hhcnJheTsgXHJcbiAgICAgIH1cclxuICAgICAgcmV0dXJuIHN0cm9rZURhc2hhcnJheTsgLy8gRGVmYXVsdCBkYXNoIGFycmF5XHJcbiAgICB9KTtcclxuICBcclxuICAgIHNlcmllcy5jb2x1bW5zLnRlbXBsYXRlLmFkYXB0ZXJzLmFkZChcInN0cm9rZVdpZHRoXCIsIChzdHJva2VXaWR0aDogYW55LCB0YXJnZXQ6IGFueSkgPT4ge1xyXG4gICAgICBjb25zdCBkYXRhSXRlbSA9IHRhcmdldC5kYXRhSXRlbT8uZGF0YUNvbnRleHQgYXMgYW55O1xyXG4gICAgICBpZiAoZGF0YUl0ZW0/LmZvcmVjYXN0ICYmIGRhdGFJdGVtPy5keW5hbWljQ29sdW1uKSB7IFxyXG4gICAgICAgIHJldHVybiBkYXRhSXRlbS5keW5hbWljQ29sdW1uLnN0cm9rZVdpZHRoID8/IHN0cm9rZVdpZHRoOyBcclxuICAgICAgfVxyXG4gICAgICByZXR1cm4gc3Ryb2tlV2lkdGg7IC8vIERlZmF1bHQgc3Ryb2tlIHdpZHRoXHJcbiAgICB9KTtcclxuICBcclxuICAgIC8vIFNldCBkZWZhdWx0IGNvbG9yIGFuZCBzdHJva2UgZm9yIHRoZSBjb2x1bW5zXHJcbiAgICBzZXJpZXMuY29sdW1ucy50ZW1wbGF0ZS5zZXRBbGwoe1xyXG4gICAgICBmaWxsOiBjb2xvciwgLy8gU2V0IGZpbGwgY29sb3JcclxuICAgICAgc3Ryb2tlOiBjb2xvciAvLyBTZXQgc3Ryb2tlIGNvbG9yXHJcbiAgICB9KTtcclxuICBcclxuICAgIC8vIEFkZCBsYWJlbHMgdG8gdGhlIGNvbHVtbnNcclxuICAgIHNlcmllcy5idWxsZXRzLnB1c2goKCkgPT4ge1xyXG4gICAgICByZXR1cm4gYW01LkJ1bGxldC5uZXcodGhpcy5yb290VHJlbmRzLCB7XHJcbiAgICAgICAgc3ByaXRlOiBhbTUuTGFiZWwubmV3KHRoaXMucm9vdFRyZW5kcywge1xyXG4gICAgICAgICAgdGV4dDogXCJ7dmFsdWVZfVwiLFxyXG4gICAgICAgICAgZmlsbDogdGhpcy5yb290VHJlbmRzLmludGVyZmFjZUNvbG9ycy5nZXQoXCJhbHRlcm5hdGl2ZVRleHRcIiksXHJcbiAgICAgICAgICBjZW50ZXJZOiBhbTUucDUwLFxyXG4gICAgICAgICAgY2VudGVyWDogYW01LnA1MCxcclxuICAgICAgICAgIHBvcHVsYXRlVGV4dDogdHJ1ZSxcclxuICAgICAgICAgIGZvbnRTaXplOiAxMiAgLy8gUmVkdWNlIGZvbnQgc2l6ZVxyXG4gICAgICAgIH0pXHJcbiAgICAgIH0pO1xyXG4gICAgfSk7XHJcbiBcclxuICAgIHNlcmllcy5hcHBlYXIoKTtcclxuICB9XHJcbiAgXHJcbiAgXHJcblxyXG5cclxuXHJcbiAgY3JlYXRlTGluZVNlcmllcyhcclxuICAgIG5hbWU6IHN0cmluZyxcclxuICAgIGZpZWxkTmFtZTogc3RyaW5nLFxyXG4gICAgeEF4aXM6IGFtNXh5LkNhdGVnb3J5QXhpczxhbTV4eS5BeGlzUmVuZGVyZXI+LFxyXG4gICAgeUF4aXM6IGFtNXh5LlZhbHVlQXhpczxhbTV4eS5BeGlzUmVuZGVyZXI+LFxyXG4gICAgY29sb3I6IGFtNS5Db2xvclxyXG4gICk6IHZvaWQge1xyXG4gICAgaWYgKHRoaXMuaGVhZGVyRGF0YT8uY2xpZW50ID09PSAnNDUyJykge1xyXG4gICAgICBpZiAobmFtZSA9PT0gJ0NvbnZlcnNpb24nKSB7XHJcbiAgICAgICAgbmFtZSA9IGBNb3JlIHRoYW4gJHt0aGlzLmNsaWVudERhdGE/LmZlYXR1cmVDb25maWdzPy5jb252ZXJzaW9uPy52YWx1ZSA/PyAnWCd9IG1pbnNgO1xyXG4gICAgICB9XHJcbiAgICBcclxuICAgICAgaWYgKG5hbWUgPT09ICdNaXNzZWRvcHBvcnR1bml0aWVzJykge1xyXG4gICAgICAgIG5hbWUgPSBgJHt0aGlzLmNsaWVudERhdGE/LmZlYXR1cmVDb25maWdzPy5taXNzZWRPcHBvcnR1bml0eUZyb20/LnZhbHVlID8/ICdYJ30gLSAke3RoaXMuY2xpZW50RGF0YT8uZmVhdHVyZUNvbmZpZ3M/Lm1pc3NlZE9wcG9ydHVuaXR5VG8/LnZhbHVlID8/ICdZJ30gbWluc2A7XHJcbiAgICAgIH1cclxuICAgIFxyXG4gICAgfSBlbHNlIHtcclxuICAgICAgaWYgKG5hbWUgPT09ICdNaXNzZWRvcHBvcnR1bml0aWVzJykge1xyXG4gICAgICAgIG5hbWUgPSAnTWlzc2VkIE9wcG9ydHVuaXR5JztcclxuICAgICAgfVxyXG4gICAgXHJcbiAgICAgIGlmIChuYW1lID09PSAnUG90ZW50aWFsJyB8fCBuYW1lID09PSAncG90ZW50aWFsQnV5ZXInKSB7XHJcbiAgICAgICAgbmFtZSA9ICdQb3RlbnRpYWwgQnV5ZXInO1xyXG4gICAgICB9XHJcbiAgICB9XHJcbiAgICBcclxuICAgIGNvbnN0IHNlcmllcyA9IHRoaXMuY2hhcnRUcmVuZHMuc2VyaWVzLnB1c2goXHJcbiAgICAgIGFtNXh5LkxpbmVTZXJpZXMubmV3KHRoaXMucm9vdFRyZW5kcywge1xyXG4gICAgICAgIG5hbWU6IG5hbWUsXHJcbiAgICAgICAgeEF4aXM6IHhBeGlzLFxyXG4gICAgICAgIHlBeGlzOiB5QXhpcyxcclxuICAgICAgICB2YWx1ZVlGaWVsZDogZmllbGROYW1lLFxyXG4gICAgICAgIGNhdGVnb3J5WEZpZWxkOiAnc3RvcmVOYW1lJyxcclxuICAgICAgICB0b29sdGlwOiBhbTUuVG9vbHRpcC5uZXcodGhpcy5yb290VHJlbmRzLCB7XHJcbiAgICAgICAgICBwb2ludGVyT3JpZW50YXRpb246IFwiaG9yaXpvbnRhbFwiLFxyXG4gICAgICAgICAgbGFiZWxUZXh0OiBcIlRvdGFsIEZvb3RmYWxsOiB7Zm9vdGZhbGx9XFxue25hbWV9OiB7dmFsdWVZfSBcIixcclxuICAgICAgICAgIGJhY2tncm91bmQ6IGFtNS5SZWN0YW5nbGUubmV3KHRoaXMucm9vdFRyZW5kcywge1xyXG4gICAgICAgICAgICBmaWxsOiBhbTUuY29sb3IoMHgwMEZGMDApIC8vIFNldCB0aGUgZGVzaXJlZCB0b29sdGlwIGJhY2tncm91bmQgY29sb3JcclxuICAgICAgICAgIH0pXHJcbiAgICAgICAgfSlcclxuICAgICAgfSlcclxuICAgICk7XHJcbiAgXHJcbiAgICAvLyBBcHBseSBkZWZhdWx0IHN0cm9rZSBzZXR0aW5ncyBmb3IgdGhlIGxpbmUgc2VyaWVzXHJcbiAgICBzZXJpZXMuc3Ryb2tlcy50ZW1wbGF0ZS5zZXRBbGwoe1xyXG4gICAgICBzdHJva2VXaWR0aDogMixcclxuICAgICAgc3Ryb2tlOiBhbTUuY29sb3IoMHgwMEZGMDApLCAvLyBEZWZhdWx0IHN0cm9rZSBjb2xvclxyXG4gICAgICB0ZW1wbGF0ZUZpZWxkOiBcInN0cm9rZVNldHRpbmdzXCIsIC8vIFJlZmVyIHRvIHN0cm9rZVNldHRpbmdzIGZvciBkeW5hbWljIHVwZGF0ZXNcclxuICAgICAgZm9udFNpemU6IDEyIC8vIFJlZHVjZSBmb250IHNpemUgZm9yIGxhYmVsc1xyXG4gICAgfSk7XHJcbiAgXHJcbiAgICAvLyBNYXAgZHluYW1pYyBzZXR0aW5ncyBmb3IgZm9yZWNhc3Q9dHJ1ZSBpdGVtc1xyXG4gICAgdGhpcy5nZXRGb290ZmFsbFRyZW5kRGF0YSA9IHRoaXMuZ2V0Rm9vdGZhbGxUcmVuZERhdGEubWFwKChpdGVtOiBhbnkpID0+IHtcclxuICAgICAgcmV0dXJuIHtcclxuICAgICAgICAuLi5pdGVtLFxyXG4gICAgICAgIGR5bmFtaWNMaW5lOiB7XHJcbiAgICAgICAgICBzdHJva2U6IGl0ZW0uc3Ryb2tlU2V0dGluZ3M/LnN0cm9rZSA/PyBhbTUuY29sb3IoMHgwMEZGMDApLCAvLyBEZWZhdWx0IHRvIGdyZWVuIGlmIG5vdCBzcGVjaWZpZWRcclxuICAgICAgICAgIHN0cm9rZVdpZHRoOiBpdGVtLnN0cm9rZVNldHRpbmdzPy5zdHJva2VXaWR0aCA/PyA1LFxyXG4gICAgICAgICAgc3Ryb2tlRGFzaGFycmF5OiBBcnJheS5pc0FycmF5KGl0ZW0uc3Ryb2tlU2V0dGluZ3M/LnN0cm9rZURhc2hhcnJheSlcclxuICAgICAgICAgICAgPyBpdGVtLnN0cm9rZVNldHRpbmdzLnN0cm9rZURhc2hhcnJheVxyXG4gICAgICAgICAgICA6IGl0ZW0uc3Ryb2tlU2V0dGluZ3M/LnN0cm9rZURhc2hhcnJheVxyXG4gICAgICAgICAgICA/IGl0ZW0uc3Ryb2tlU2V0dGluZ3Muc3Ryb2tlRGFzaGFycmF5LnNwbGl0KCcsJykubWFwKE51bWJlcilcclxuICAgICAgICAgICAgOiBbNSwgNV0gLy8gRGVmYXVsdCBkYXNoIGFycmF5XHJcbiAgICAgICAgfVxyXG4gICAgICB9O1xyXG4gICAgfSk7XHJcbiAgXHJcbiAgICAvLyBTZXQgZGF0YSBmb3Igc2VyaWVzXHJcbiAgICBzZXJpZXMuZGF0YS5zZXRBbGwodGhpcy5nZXRGb290ZmFsbFRyZW5kRGF0YSk7XHJcbiAgXHJcbiAgLy8gQWRhcHRlciB0byBhcHBseSBjdXN0b20gc3Ryb2tlIHNldHRpbmdzIGJhc2VkIG9uIGZvcmVjYXN0XHJcbiAgc2VyaWVzLnN0cm9rZXMudGVtcGxhdGUuYWRhcHRlcnMuYWRkKFwic3Ryb2tlXCIsIChzdHJva2U6IGFueSwgdGFyZ2V0OiBhbnkpID0+IHtcclxuICAgIGNvbnN0IGRhdGFJdGVtID0gdGFyZ2V0LmRhdGFJdGVtPy5kYXRhQ29udGV4dCBhcyBhbnk7XHJcbiAgICBpZiAoZGF0YUl0ZW0/LmZvcmVjYXN0ICYmIGRhdGFJdGVtPy5keW5hbWljTGluZSkge1xyXG4gICAgICByZXR1cm4gZGF0YUl0ZW0uZHluYW1pY0xpbmUuc3Ryb2tlID8/IHN0cm9rZTsgLy8gQXBwbHkgZHluYW1pYyBzdHJva2UgaWYgZm9yZWNhc3QgaXMgdHJ1ZVxyXG4gICAgfVxyXG4gICAgcmV0dXJuIHN0cm9rZTsgLy8gRGVmYXVsdCBzdHJva2VcclxuICB9KTtcclxuXHJcbiAgc2VyaWVzLnN0cm9rZXMudGVtcGxhdGUuYWRhcHRlcnMuYWRkKFwic3Ryb2tlV2lkdGhcIiwgKHN0cm9rZVdpZHRoOiBhbnksIHRhcmdldDogYW55KSA9PiB7XHJcbiAgICBjb25zdCBkYXRhSXRlbSA9IHRhcmdldC5kYXRhSXRlbT8uZGF0YUNvbnRleHQgYXMgYW55O1xyXG4gICAgaWYgKGRhdGFJdGVtPy5mb3JlY2FzdCAmJiBkYXRhSXRlbT8uZHluYW1pY0xpbmUpIHtcclxuICAgICAgcmV0dXJuIGRhdGFJdGVtLmR5bmFtaWNMaW5lLnN0cm9rZVdpZHRoID8/IHN0cm9rZVdpZHRoOyAvLyBBcHBseSBkeW5hbWljIHN0cm9rZSB3aWR0aFxyXG4gICAgfVxyXG4gICAgcmV0dXJuIHN0cm9rZVdpZHRoOyAvLyBEZWZhdWx0IHN0cm9rZSB3aWR0aFxyXG4gIH0pO1xyXG5cclxuICBzZXJpZXMuc3Ryb2tlcy50ZW1wbGF0ZS5hZGFwdGVycy5hZGQoXCJzdHJva2VEYXNoYXJyYXlcIiwgKHN0cm9rZURhc2hhcnJheTogYW55LCB0YXJnZXQ6IGFueSkgPT4ge1xyXG4gICAgY29uc3QgZGF0YUl0ZW0gPSB0YXJnZXQuZGF0YUl0ZW0/LmRhdGFDb250ZXh0IGFzIGFueTtcclxuICAgIGlmIChkYXRhSXRlbT8uZm9yZWNhc3QgJiYgZGF0YUl0ZW0/LmR5bmFtaWNMaW5lKSB7XHJcbiAgICAgIC8vIEVuc3VyZSB0aGUgZGFzaCBhcnJheSBpcyBhIHZhbGlkIGFycmF5IG9mIG51bWJlcnMgZm9yIHByb3BlciByZW5kZXJpbmdcclxuICAgICAgcmV0dXJuIEFycmF5LmlzQXJyYXkoZGF0YUl0ZW0uZHluYW1pY0xpbmUuc3Ryb2tlRGFzaGFycmF5KVxyXG4gICAgICAgID8gZGF0YUl0ZW0uZHluYW1pY0xpbmUuc3Ryb2tlRGFzaGFycmF5IC8vIFVzZSBpZiBhbHJlYWR5IGluIGFycmF5IGZvcm1hdFxyXG4gICAgICAgIDogZGF0YUl0ZW0uZHluYW1pY0xpbmUuc3Ryb2tlRGFzaGFycmF5XHJcbiAgICAgICAgPyBkYXRhSXRlbS5keW5hbWljTGluZS5zdHJva2VEYXNoYXJyYXkuc3BsaXQoJywnKS5tYXAoTnVtYmVyKSAvLyBDb252ZXJ0IHN0cmluZyB0byBhcnJheVxyXG4gICAgICAgIDogWzUsIDVdOyAvLyBEZWZhdWx0IGRhc2ggYXJyYXlcclxuICAgIH1cclxuICAgIHJldHVybiBzdHJva2VEYXNoYXJyYXk7IC8vIERlZmF1bHQgc3Ryb2tlIGRhc2ggYXJyYXkgaWYgbm8gY3VzdG9tIHNldHRpbmdcclxuICB9KTtcclxuXHJcbiAgXHJcbiAgICAvLyBBZGQgYnVsbGV0cyAobWFya2VycykgdG8gdGhlIGxpbmUgc2VyaWVzXHJcbiAgICBzZXJpZXMuYnVsbGV0cy5wdXNoKCgpID0+IHtcclxuICAgICAgcmV0dXJuIGFtNS5CdWxsZXQubmV3KHRoaXMucm9vdFRyZW5kcywge1xyXG4gICAgICAgIHNwcml0ZTogYW01LkNpcmNsZS5uZXcodGhpcy5yb290VHJlbmRzLCB7XHJcbiAgICAgICAgICBzdHJva2VXaWR0aDogMSxcclxuICAgICAgICAgIHN0cm9rZTogYW01LmNvbG9yKDB4MDBGRjAwKSxcclxuICAgICAgICAgIHJhZGl1czogMywgLy8gSW5jcmVhc2UgcmFkaXVzIGZvciB2aXNpYmlsaXR5XHJcbiAgICAgICAgICBmaWxsOiB0aGlzLnJvb3RUcmVuZHMuaW50ZXJmYWNlQ29sb3JzLmdldChcImJhY2tncm91bmRcIilcclxuICAgICAgICB9KVxyXG4gICAgICB9KTtcclxuICAgIH0pO1xyXG4gIFxyXG4gICAgLy8gVHJpZ2dlciB0aGUgYXBwZWFyYW5jZSBvZiB0aGUgc2VyaWVzXHJcbiAgICBzZXJpZXMuYXBwZWFyKCk7XHJcbiAgXHJcbiAgICAvLyBMb2cgdGhlIHNlcmllcyBkYXRhIGZvciBkZWJ1Z2dpbmdcclxuICB9XHJcbiAgXHJcbiAgc2hvdzogYm9vbGVhbiA9ZmFsc2U7XHJcbiAgcHJvZHVjdHRyYWlsRHJvcGRvd24oZXZlbnQ6IE1vdXNlRXZlbnQpIHtcclxuICAgIGV2ZW50LnN0b3BQcm9wYWdhdGlvbigpO1xyXG4gICAgdGhpcy5zaG93ID10cnVlO1xyXG4gIH1cclxuICBjaGFuZ2VTdGF0dXModHlwZTphbnkpe1xyXG50aGlzLnRyZW5kdHlwZVZhbHVlID0gdHlwZTtcclxudGhpcy5vYmpEYXRhLmZpbHRlckJ5ID10eXBlO1xyXG50aGlzLmZvb3RmYWxsVHJlbmQoKTtcclxudGhpcy5zaG93ID1mYWxzZTtcclxuICB9XHJcblxyXG5cclxuXHJcbiAgLy8gdHJhZmZpYyBvdmVyYWxsIGNhcmQgYW5kIGNoYXJ0c1xyXG5cclxuICBwcml2YXRlIHJvb3QhOiBhbTUuUm9vdDtcclxuICAvLyBwcml2YXRlIGNoYXJ0OiBhbTV4eS5YWUNoYXJ0O1xyXG4gIHByaXZhdGUgc2VyaWVzOiBhbTV4eS5Db2x1bW5TZXJpZXM7XHJcbiAgcHJpdmF0ZSByb290MjogYW01LlJvb3Q7XHJcbiAgcHJpdmF0ZSBjaGFydDI6IGFtNXh5LlhZQ2hhcnQ7XHJcbiAgcHJpdmF0ZSBzZXJpZXMyOiBhbTV4eS5Db2x1bW5TZXJpZXM7XHJcbiAgZGV0YWlsZWRSb290OiBhbTUuUm9vdDtcclxuICBkZXRhaWxlZENoYXJ0OiBhbTV4eS5YWUNoYXJ0O1xyXG4gIGRldGFpbGVkU2VyaWVzOiBhbTV4eS5Db2x1bW5TZXJpZXM7XHJcbiAgZGF5anMgPWRheWpzXHJcbiAgaGVhdE1hcFJvb3Q6IGFtNS5Sb290O1xyXG4gIGhlYXRNYXBDaGFydDogYW01eHkuWFlDaGFydDtcclxuICBoZWF0TWFwU2VyaWVzOiBhbTV4eS5Db2x1bW5TZXJpZXM7XHJcbiAgZHdlbGxSb290OiBhbTUuUm9vdDtcclxuICBkd2VsbENoYXJ0OiBhbTV4eS5YWUNoYXJ0O1xyXG4gIGR3ZWxsU2VyaWVzOiBhbTV4eS5Db2x1bW5TZXJpZXM7XHJcbiAgZGVtb0dyYXBoaWNzRGF0YTogYW55O1xyXG4gIGRlbW9HcmFwaGljc3Jvb3Q6IGFueTtcclxuICBidXllcnNyb290OmFueTtcclxuXHJcbiAgZGF0YTogYW55O1xyXG4gIGN1cnJlbnREYXRhOiBhbnk7XHJcbiAgY3VycmVudERhdGEyOiBhbnk7XHJcbiAgZGV0YWlsZWRDaGFydHM6IGJvb2xlYW4gPSBmYWxzZTtcclxuICBkYXRlOiBhbnk7XHJcbiAgdmFsdWU6IGFueTtcclxuICBmb290ZmFsbFZhbHVlOiBzdHJpbmcgPSBcInRyYWZmaWNcIjtcclxuICBkZW1vR3JhcGhpY3NDaGFydEluc3RhbmNlOiBhbnk7XHJcbiAgYnV5ZXJzQ2hhcnRJbnN0YW5jZTphbnk7XHJcbiAgc2VsZWN0ZWRUYWI6IGFueSA9IFwidHJhZmZpY1wiO1xyXG4gIGdldE92ZXJhbGxDYXJkRGF0YTogYW55ID0gW107XHJcbiAgLy8gb2JqRGF0YTogYW55O1xyXG4gIGdldE92ZXJhbGxIb3VybHlEYXRhOiBhbnk7XHJcbiAgZ2V0T3ZlcmFsbENoYXJ0RGF0YTogYW55PVtdO1xyXG4gIGdldFNpbmdsZUNoYXJ0RGF0YTogYW55O1xyXG4gIGJ1eWVyc0RhdGE6IGFueTtcclxuICBnZXREZW5zaXR5RHdlbGxEYXRhOiBhbnk7XHJcbiAgdHJhZmZpY0RhdGE6YW55PSBbXTtcclxuICBmb290ZmFsbERhdGU6IGFueTtcclxuICBzZWxjdGVkVmFsdWU6YW55ID0nRm9vdGZhbGwgQW5hbHlzaXMnO1xyXG4gIGNoYXJ0Tm9EYXRhOiBib29sZWFuID1mYWxzZTtcclxuICBjaGFydGxvYWRpbmc6IGJvb2xlYW4gPXRydWU7XHJcbiAgdG90YWxDb3VudDogYW55O1xyXG4gIGRlbW9HcmFwaGljc1NlcmllczogYW55O1xyXG5cclxuICBpdGVtc1BlclBhZ2VUcmFmZmljQ2FyZCA9IDEwO1xyXG4gIGN1cnJlbnRQYWdlVHJhZmZpY0NhcmQgPSAxO1xyXG4gIHRvdGFsSXRlbXNUcmFmZmljQ2FyZCA9IDE7XHJcbiAgcGFnaW5hdGlvblNpemVzVHJhZmZpY0NhcmQ6IG51bWJlcltdID0gW107XHJcbiAgcGFnZVNpemVUcmFmZmljQ2FyZDphbnk9MjA7XHJcbiAgb2Zmc2V0VHJhZmZpY0NhcmQ6IG51bWJlciA9IDA7XHJcbiAgbGltaXRUcmFmZmljQ2FyZDogbnVtYmVyID0gMjA7XHJcbiAgZGVtb05vRGF0YSA9ZmFsc2U7XHJcbiAgZGVtb2xvYWRpbmcgPWZhbHNlO1xyXG4gIGJ1eWVyc05vRGF0YSA9ZmFsc2U7XHJcbiAgYnV5ZXJzbG9hZGluZyA9ZmFsc2U7XHJcbiAgZGF0YXNldHNDYXJkOmFueSA9W107XHJcblxyXG4gIHNlbGVjdGVkVGFicyh0eXBlOiBhbnkpIHtcclxuICAgIHRoaXMuZGV0YWlsZWRDaGFydHMgPSBmYWxzZTtcclxuICAgIHRoaXMuc2VsZWN0ZWRUYWIgPSB0eXBlO1xyXG4gICAgdGhpcy5vYmpEYXRhVHJhZmZpYy5wcm9jZXNzVHlwZSA9IHR5cGU7XHJcbiAgICB0aGlzLm9iakRhdGFUcmFmZmljLnZhbHVlVHlwZSA9dGhpcy52YWx1ZVR5cGU7XHJcbiAgIFxyXG4gICAgdGhpcy5vYmpEYXRhVHJhZmZpYy5zdG9yZUlkID0gdGhpcy5oZWFkZXJEYXRhLnN0b3Jlcy5maWx0ZXIoKHN0b3JlOmFueSkgPT4gc3RvcmUuY2hlY2tlZCkubWFwKChzdG9yZTphbnkpID0+IHN0b3JlLnN0b3JlSWQpO1xyXG4gICBpZih0aGlzLnNlbGVjdGVkVGFiID09PSAndHJhZmZpYycpe1xyXG4gICB0aGlzLmdldER3ZWxsKCk7IHRoaXMudHJhZmZpY0R3ZWxsKCk7XHJcbiAgICB0aGlzLmNkLmRldGVjdENoYW5nZXMoKTtcclxuICAgfSBlbHNle1xyXG4gICAgaWYodGhpcy5zZWxlY3RlZFRhYiA9PT0gXCJmb290ZmFsbFwiKXtcclxuICAgICAgdGhpcy5mb290ZmFsbFZhbHVlID0gXCJmb290ZmFsbFwiO1xyXG4gICAgICB0aGlzLnNlbGN0ZWRWYWx1ZSA9J0Zvb3RmYWxsIEFuYWx5c2lzJ1xyXG4gICAgfSBlbHNlIGlmKHRoaXMuc2VsZWN0ZWRUYWIgPT09IFwiY29udmVyc2lvblwiKXtcclxuICAgICAgdGhpcy5mb290ZmFsbFZhbHVlID0gXCJjb252ZXJzaW9uXCI7XHJcbiAgICAgIHRoaXMuc2VsY3RlZFZhbHVlID0gdGhpcy5oZWFkZXJEYXRhPy5jbGllbnQgPT09ICc0NTInID8gYE1vcmUgdGhhbiAke3RoaXMuZmVhdHVyZUNvbmZpZz8uY29udmVyc2lvbi52YWx1ZX0gbWlucyBBbmFseXNpc2AgOiAnQ29udmVyc2lvbiBBbmFseXNpcydcclxuICAgIH0gZWxzZSBpZih0aGlzLnNlbGVjdGVkVGFiID09PSBcImVuZ2FnZXJzXCIpe1xyXG4gICAgICB0aGlzLmZvb3RmYWxsVmFsdWUgPSBcImVuZ2FnZXJzXCI7XHJcbiAgICAgIHRoaXMuc2VsY3RlZFZhbHVlID0gdGhpcy5oZWFkZXJEYXRhPy5jbGllbnQgPT09ICc0NTInID8gYE1vcmUgdGhhbiAke3RoaXMuZmVhdHVyZUNvbmZpZz8uYm91bmNlZExpbWl0LnZhbHVlfSBtaW5zIEFuYWx5c2lzYCA6ICdFbmdhZ2VycyBBbmFseXNpcydcclxuICAgIH0gZWxzZSBpZih0aGlzLnNlbGVjdGVkVGFiID09PSBcImJvdW5jZWRcIil7XHJcbiAgICAgIHRoaXMuZm9vdGZhbGxWYWx1ZSA9IFwiYm91bmNlZFwiO1xyXG4gICAgICB0aGlzLnNlbGN0ZWRWYWx1ZSA9IHRoaXMuaGVhZGVyRGF0YT8uY2xpZW50ID09PSAnNDUyJyA/IGBMZXNzIHRoYW4gJHt0aGlzLmZlYXR1cmVDb25maWc/LmJvdW5jZWRMaW1pdC52YWx1ZX0gbWlucyBBbmFseXNpc2AgOidCb3VuY2VkIEFuYWx5c2lzJ1xyXG4gICAgfSBlbHNlIGlmKHRoaXMuc2VsZWN0ZWRUYWIgPT09IFwicG90ZW50aWFsQnV5ZXJzXCIpe1xyXG4gICAgICB0aGlzLmZvb3RmYWxsVmFsdWUgPSBcInBvdGVudGlhbEJ1eWVyc1wiO1xyXG4gICAgICB0aGlzLnNlbGN0ZWRWYWx1ZSA9J1BvdGVudGlhbCBCdXllciBBbmFseXNpcydcclxuICAgIH0gZWxzZSBpZih0aGlzLnNlbGVjdGVkVGFiID09PSBcIm1pc3NlZE9wcG9ydHVuaXR5XCIpe1xyXG4gICAgICB0aGlzLmZvb3RmYWxsVmFsdWUgPSBcIm1pc3NlZE9wcG9ydHVuaXR5XCI7XHJcbiAgICAgIHRoaXMuc2VsY3RlZFZhbHVlID0gdGhpcy5oZWFkZXJEYXRhPy5jbGllbnQgPT09ICc0NTInID8gYCR7dGhpcy5mZWF0dXJlQ29uZmlnPy5taXNzZWRPcHBvcnR1bml0eUZyb20udmFsdWV9LSR7dGhpcy5mZWF0dXJlQ29uZmlnPy5taXNzZWRPcHBvcnR1bml0eVRvLnZhbHVlfSBtaW5zIEFuYWx5c2lzYCA6J01pc3NlZCBPcHBvcnR1bml0eSBBbmFseXNpcycgXHJcbiAgICB9IFxyXG4gICAgaWYodGhpcy5vYmpEYXRhVHJhZmZpYy5ub2IgPT09IHRydWUgJiYgdGhpcy5zZWxlY3RlZFRhYiA9PT0gXCJjb252ZXJzaW9uXCIpe1xyXG4gICAgICB0aGlzLnNlbGVjdGVkVGFiID0gXCJjb252ZXJzaW9uXCJcclxuICAgICAgIHRoaXMuZm9vdGZhbGxWYWx1ZSA9IFwiY29udmVyc2lvblwiO1xyXG4gICAgICB0aGlzLnNlbGN0ZWRWYWx1ZSA9J0NvbnZlcnNpb24gQW5hbHlzaXMnXHJcbiAgICAgIHRoaXMuZGF0YXNldHNDYXJkID0gW1xyXG4gICAgICAgIHsgdmFsdWU6IHRoaXMuc2VsZWN0ZWRUYWIsIGxhYmVsOiB0aGlzLnNlbGN0ZWRWYWx1ZSB9LFxyXG4gICAgICBdO1xyXG4gICAgICB0aGlzLm9iakRhdGFUcmFmZmljLmxpbWl0ID0yMCxcclxuICAgICAgdGhpcy5vdmVyYWxsQ2FyZCgpO1xyXG4gICAgICB0aGlzLm92ZXJhbGxDaGFydCgpO1xyXG4gICAgfSBlbHNlIHtcclxuICAgICAgaWYgKHRoaXMuaGVhZGVyRGF0YT8uY2xpZW50ID09PSAnNDUyJykge1xyXG4gICAgICAgIHRoaXMuZGF0YXNldHNDYXJkID0gW1xyXG4gICAgICAgICAgeyB2YWx1ZTogdGhpcy5zZWxlY3RlZFRhYiwgbGFiZWw6IHRoaXMuc2VsY3RlZFZhbHVlIH0sXHJcbiAgICAgICAgICB7IHZhbHVlOiBcImRlbW9ncmFwaGljXCIsIGxhYmVsOiBcIkRlbW9ncmFwaGljIEFuYWx5c2lzXCIgfVxyXG4gICAgICAgIF1cclxuICAgICAgfSBlbHNlIHtcclxuICAgICAgICB0aGlzLmRhdGFzZXRzQ2FyZCA9IFtcclxuICAgICAgICAgIHsgdmFsdWU6IHRoaXMuc2VsZWN0ZWRUYWIsIGxhYmVsOiB0aGlzLnNlbGN0ZWRWYWx1ZSB9LFxyXG4gICAgICAgICAgeyB2YWx1ZTogXCJkZW1vZ3JhcGhpY1wiLCBsYWJlbDogXCJEZW1vZ3JhcGhpYyBBbmFseXNpc1wiIH0sXHJcbiAgICAgICAgICB7IHZhbHVlOiBcImJ1eWVyXCIsIGxhYmVsOiBcIkJ1eWVyIEFuYWx5c2lzXCIgfSxcclxuICAgICAgXVxyXG4gICAgfVxyXG4gICAgdGhpcy5vYmpEYXRhVHJhZmZpYy5saW1pdCA9MjAsXHJcbiAgICB0aGlzLm92ZXJhbGxDYXJkKCk7XHJcbiAgICB0aGlzLm92ZXJhbGxIb3VybHlDaGFydCgpO1xyXG4gICAgdGhpcy5vdmVyYWxsQ2hhcnQoKTtcclxuICB9XHJcbiAgdGhpcy5jZC5kZXRlY3RDaGFuZ2VzKCk7XHJcbiAgfVxyXG4gIH1cclxuICBnZXRGb290ZmFsbERlbnNpdHlEd2VsbERhdGE6YW55ID1bXTtcclxuICB0cmFmZmljRHdlbGwoKXtcclxuICAgIHRoaXMuY2hhcnROb0RhdGEgPSBmYWxzZTtcclxuICAgIHRoaXMuY2hhcnRsb2FkaW5nID0gdHJ1ZTtcclxuICAgIGRlbGV0ZSB0aGlzLm9iakRhdGFUcmFmZmljLmxpbWl0O1xyXG4gICAgZGVsZXRlIHRoaXMub2JqRGF0YVRyYWZmaWMub2Zmc2V0O1xyXG4gICAgZGVsZXRlIHRoaXMub2JqRGF0YVRyYWZmaWMucHJvY2Vzc1R5cGU7XHJcbiAgICBkZWxldGUgdGhpcy5vYmpEYXRhVHJhZmZpYy5ob3VyRm9ybWF0O1xyXG4gICAgZGVsZXRlIHRoaXMub2JqRGF0YVRyYWZmaWMubm9ybWFsaXplZERhdGFcclxuICAgIHRoaXMub2JqRGF0YVRyYWZmaWMuZGF0ZVJhbmdlID1OdW1iZXIodGhpcy5mb290ZmFsbERhdGUpO1xyXG4gICAgdGhpcy5zZXJ2aWNlXHJcbiAgICAgIC5nZXRUcmFmZmljRGVuc2l0eUR3ZWxsKHRoaXMub2JqRGF0YVRyYWZmaWMpXHJcbiAgICAgIC5waXBlKHRha2VVbnRpbCh0aGlzLmRlc3Ryb3kkKSlcclxuICAgICAgPy5zdWJzY3JpYmUoe1xyXG4gICAgICAgIG5leHQ6IChyZXM6IGFueSkgPT4ge1xyXG4gICAgICAgICAgaWYgKHJlcyAmJiByZXMuY29kZSA9PT0gMjAwKSB7XHJcbiAgICAgICAgICAgIHRoaXMuZ2V0Rm9vdGZhbGxEZW5zaXR5RHdlbGxEYXRhID0gcmVzPy5kYXRhO1xyXG4gICAgICAgICAgICB0aGlzLnRyYWZmaWNIZWF0Q2hhcnQoKTtcclxuICAgICAgICAgICAgdGhpcy5jaGFydE5vRGF0YSA9IGZhbHNlO1xyXG4gICAgICAgICAgICB0aGlzLmNoYXJ0bG9hZGluZyA9IGZhbHNlO1xyXG4gICAgICAgICAgICB0aGlzLmNkLmRldGVjdENoYW5nZXMoKTtcclxuICAgICAgICAgIH0gZWxzZSBpZighcmVzIHx8IHJlcy5jb2RlID09PSAyMDQpe1xyXG4gICAgICAgICAgICB0aGlzLmNoYXJ0Tm9EYXRhID0gdHJ1ZTtcclxuICAgICAgICAgICAgdGhpcy5jaGFydGxvYWRpbmcgPSBmYWxzZTtcclxuICAgICAgICAgICAgdGhpcy5nZXRGb290ZmFsbERlbnNpdHlEd2VsbERhdGEgPVtdO1xyXG4gICAgICAgICAgfVxyXG4gICAgICAgIH0sXHJcbiAgICAgICAgZXJyb3I6IChlcnI6IGFueSkgPT4ge1xyXG4gICAgICAgICAgdGhpcy5jaGFydE5vRGF0YSA9IHRydWU7XHJcbiAgICAgICAgICB0aGlzLmNoYXJ0bG9hZGluZyA9IGZhbHNlO1xyXG4gICAgICAgICAgdGhpcy5nZXRGb290ZmFsbERlbnNpdHlEd2VsbERhdGEgPVtdO1xyXG4gICAgICAgICAgdGhpcy5jZC5kZXRlY3RDaGFuZ2VzKCk7XHJcbiAgICAgICAgfSxcclxuICAgICAgICBjb21wbGV0ZTogKCkgPT4ge30sXHJcbiAgICAgIH0pOyBcclxuICB9XHJcbiAgY2hhcnREd2VsbE5vRGF0YSA9IGZhbHNlO1xyXG4gICAgICBjaGFydER3ZWxsbG9hZGluZyA9IHRydWU7XHJcbiAgIGdldER3ZWxsKCl7XHJcbiAgICAgIHRoaXMuY2hhcnREd2VsbE5vRGF0YSA9IGZhbHNlO1xyXG4gICAgICB0aGlzLmNoYXJ0RHdlbGxsb2FkaW5nID0gdHJ1ZTtcclxuICAgICAgZGVsZXRlIHRoaXMub2JqRGF0YVRyYWZmaWMubGltaXQ7XHJcbiAgICAgIGRlbGV0ZSB0aGlzLm9iakRhdGFUcmFmZmljLm9mZnNldDtcclxuICAgICAgZGVsZXRlIHRoaXMub2JqRGF0YVRyYWZmaWMucHJvY2Vzc1R5cGU7XHJcbiAgICAgIGRlbGV0ZSB0aGlzLm9iakRhdGFUcmFmZmljLmhvdXJGb3JtYXQ7XHJcbiAgICAgIGRlbGV0ZSB0aGlzLm9iakRhdGFUcmFmZmljLm5vcm1hbGl6ZWREYXRhO1xyXG4gICAgICB0aGlzLm9iakRhdGFUcmFmZmljLmRhdGVSYW5nZSA9TnVtYmVyKHRoaXMuZm9vdGZhbGxEYXRlKTtcclxuICAgICAgdGhpcy5zZXJ2aWNlXHJcbiAgICAgICAgLmdldERlbnNpdHlEd2VsbCh0aGlzLm9iakRhdGFUcmFmZmljKVxyXG4gICAgICAgIC5waXBlKHRha2VVbnRpbCh0aGlzLmRlc3Ryb3kkKSlcclxuICAgICAgICA/LnN1YnNjcmliZSh7XHJcbiAgICAgICAgICBuZXh0OiAocmVzOiBhbnkpID0+IHtcclxuICAgICAgICAgICAgaWYgKHJlcyAmJiByZXM/LmNvZGUgPT09IDIwMCkge1xyXG4gICAgICAgICAgICAgIHRoaXMuZ2V0RGVuc2l0eUR3ZWxsRGF0YSA9IHJlcz8uZGF0YTtcclxuICAgICAgICAgICAgICBpZih0aGlzLmdldERlbnNpdHlEd2VsbERhdGE/LmR3ZWxsVGltZVNwbGl0Py5sZW5ndGggPjApe1xyXG4gICAgICAgICAgICAgICAgdGhpcy5nZXREd2VsbENoYXJ0KCk7XHJcbiAgICAgICAgICAgICAgICB0aGlzLmNoYXJ0RHdlbGxOb0RhdGEgPSBmYWxzZTtcclxuICAgICAgICAgICAgICAgIHRoaXMuY2hhcnREd2VsbGxvYWRpbmcgPSBmYWxzZTtcclxuICAgICAgICAgICAgICAgIHRoaXMuY2QuZGV0ZWN0Q2hhbmdlcygpO1xyXG4gICAgICAgICAgICAgIH0gZWxzZSB7XHJcbiAgICAgICAgICAgICAgICB0aGlzLmNoYXJ0RHdlbGxOb0RhdGEgPSB0cnVlO1xyXG4gICAgICAgICAgICAgIHRoaXMuY2hhcnREd2VsbGxvYWRpbmcgPSBmYWxzZTtcclxuICAgICAgICAgICAgICB9XHJcbiAgICAgICAgICAgIH0gZWxzZSBpZighcmVzIHx8IHJlcy5jb2RlID09PSAyMDQpe1xyXG4gICAgICAgICAgICAgIHRoaXMuY2hhcnREd2VsbE5vRGF0YSA9IHRydWU7XHJcbiAgICAgICAgICAgICAgdGhpcy5jaGFydER3ZWxsbG9hZGluZyA9IGZhbHNlO1xyXG4gICAgICAgICAgICAgIHRoaXMuZ2V0RGVuc2l0eUR3ZWxsRGF0YSA9W107XHJcbiAgICAgICAgICAgIH1cclxuICAgICAgICAgIH0sXHJcbiAgICAgICAgICBlcnJvcjogKGVycjogYW55KSA9PiB7XHJcbiAgICAgICAgICAgIHRoaXMuY2hhcnROb0RhdGEgPSB0cnVlO1xyXG4gICAgICAgICAgICB0aGlzLmNoYXJ0bG9hZGluZyA9IGZhbHNlO1xyXG4gICAgICAgICAgICB0aGlzLmNkLmRldGVjdENoYW5nZXMoKTtcclxuICAgICAgICAgICAgdGhpcy5nZXREZW5zaXR5RHdlbGxEYXRhID1bXTtcclxuICAgICAgICAgIH0sXHJcbiAgICAgICAgICBjb21wbGV0ZTogKCkgPT4ge30sXHJcbiAgICAgICAgfSk7XHJcbiAgICB9XHJcbiAgICBpbml0Q2hhcnQoKTogdm9pZCB7XHJcbiAgICAgIHRoaXMuY2hhcnROb0RhdGEgPSBmYWxzZTtcclxuICAgICAgdGhpcy5jaGFydGxvYWRpbmcgPSBmYWxzZTtcclxuICAgICAgc2V0VGltZW91dCgoKSA9PiB7XHJcbiAgICAgICAgY29uc3QgY2hhcnREaXYgPSBkb2N1bWVudC5nZXRFbGVtZW50QnlJZChcInRlc3RHcmFwaGljc1wiKTtcclxuICAgICAgICBpZiAoIWNoYXJ0RGl2KSB7XHJcbiAgICAgICAgICByZXR1cm47XHJcbiAgICAgICAgfVxyXG4gICAgICAgIGlmICh0aGlzLnJvb3QpIHtcclxuICAgICAgICAgIHRoaXMucm9vdC5kaXNwb3NlKCk7XHJcbiAgICAgICAgfVxyXG4gICAgICAgIHRoaXMucm9vdCA9IGFtNS5Sb290Lm5ldyhcInRlc3RHcmFwaGljc1wiKTtcclxuICBcclxuICAgICAgICAvLyBTZXQgdGhlbWVzXHJcbiAgICAgICAgLy8gdGhpcy5yb290LnNldFRoZW1lcyhbYW01dGhlbWVzX0FuaW1hdGVkLm5ldyh0aGlzLnJvb3QpXSk7XHJcbiAgICAgICAgLy8gY29uc3QgdG90YWxDb3VudCA9IHRoaXMudG90YWxDb3VudDtcclxuICAgICAgICAvLyBjb25zdCBkeW5hbWljV2lkdGggPSBNYXRoLm1heCg4MDAsIHRvdGFsQ291bnQgKiA1MCk7IC8vIE1pbmltdW0gODAwcHggb3IgNTBweCBwZXIgaXRlbVxyXG4gICAgICAgIC8vIGNvbnNvbGUubG9nKGR5bmFtaWNXaWR0aCx0aGlzLnRvdGFsQ291bnQpXHJcbiAgICAgICAgLy8gQ3JlYXRlIGNoYXJ0XHJcbiAgICAgICAgdGhpcy5jaGFydCA9IHRoaXMucm9vdC5jb250YWluZXIuY2hpbGRyZW4ucHVzaChcclxuICAgICAgICAgIGFtNXh5LlhZQ2hhcnQubmV3KHRoaXMucm9vdCwge1xyXG4gICAgICAgICAgICBwYW5YOiB0cnVlLFxyXG4gICAgICAgICAgICBwYW5ZOiB0cnVlLFxyXG4gICAgICAgICAgICB3aGVlbFg6IFwicGFuWFwiLFxyXG4gICAgICAgICAgICB3aGVlbFk6IFwiem9vbVhcIixcclxuICAgICAgICAgICAgcGluY2hab29tWDogdHJ1ZSxcclxuICAgICAgICAgICAgcGFkZGluZ0xlZnQ6IDAsXHJcbiAgICAgICAgICAgIHBhZGRpbmdSaWdodDogMSxcclxuICAgICAgICAgICAgd2lkdGg6IGFtNS5wZXJjZW50KDEwMCksIC8vIExldCB0aGUgY2hhcnQgdGFrZSBmdWxsIHdpZHRoXHJcbiAgICAgICAgICB9KVxyXG4gICAgICAgICk7XHJcbiAgICAgICAgLy8gdGhpcy5jaGFydC5wbG90Q29udGFpbmVyLnNldEFsbCh7XHJcbiAgICAgICAgLy8gICBtaW5XaWR0aDogZHluYW1pY1dpZHRoLCAvLyBTZXQgZHluYW1pYyBtaW4gd2lkdGggZm9yIHNjcm9sbGluZ1xyXG4gICAgICAgIC8vIH0pO1xyXG4gICAgICAgIC8vIEFkZCBjdXJzb3JcclxuICAgICAgICBsZXQgY3Vyc29yID0gdGhpcy5jaGFydC5zZXQoXCJjdXJzb3JcIiwgYW01eHkuWFlDdXJzb3IubmV3KHRoaXMucm9vdCwge30pKTtcclxuICAgICAgICBjdXJzb3IubGluZVkuc2V0KFwidmlzaWJsZVwiLCBmYWxzZSk7XHJcbiAgXHJcbiAgICAgICAgLy8gQ3JlYXRlIGF4ZXNcclxuICAgICAgICBsZXQgeFJlbmRlcmVyID0gYW01eHkuQXhpc1JlbmRlcmVyWC5uZXcodGhpcy5yb290LCB7XHJcbiAgICAgICAgICBtaW5HcmlkRGlzdGFuY2U6IDMwLFxyXG4gICAgICAgICAgbWlub3JHcmlkRW5hYmxlZDogdHJ1ZSxcclxuICAgICAgICB9KTtcclxuICBcclxuICAgICAgICB4UmVuZGVyZXIubGFiZWxzLnRlbXBsYXRlLnNldEFsbCh7XHJcbiAgICAgICAgICByb3RhdGlvbjogLTQ1LFxyXG4gICAgICAgICAgY2VudGVyWTogYW01LnA1MCxcclxuICAgICAgICAgIGNlbnRlclg6IGFtNS5wMTAwLFxyXG4gICAgICAgICAgcGFkZGluZ1JpZ2h0OiA1LFxyXG4gICAgICAgIH0pO1xyXG4gIFxyXG4gICAgICAgIHhSZW5kZXJlci5ncmlkLnRlbXBsYXRlLnNldEFsbCh7XHJcbiAgICAgICAgICBsb2NhdGlvbjogMSxcclxuICAgICAgICB9KTtcclxuICAgICAgICAvLyBBZGQgc2Nyb2xsYmFyXHJcbiAgICAgICAgdGhpcy5jaGFydC5zZXQoXHJcbiAgICAgICAgICBcInNjcm9sbGJhclhcIixcclxuICAgICAgICAgIGFtNS5TY3JvbGxiYXIubmV3KHRoaXMucm9vdCwge1xyXG4gICAgICAgICAgICBvcmllbnRhdGlvbjogXCJob3Jpem9udGFsXCIsXHJcbiAgICAgICAgICB9KVxyXG4gICAgICAgICk7XHJcbiAgICAgICAgbGV0IHhBeGlzID0gdGhpcy5jaGFydC54QXhlcy5wdXNoKFxyXG4gICAgICAgICAgYW01eHkuQ2F0ZWdvcnlBeGlzLm5ldyh0aGlzLnJvb3QsIHtcclxuICAgICAgICAgICAgbWF4RGV2aWF0aW9uOiAwLjMsXHJcbiAgICAgICAgICAgIGNhdGVnb3J5RmllbGQ6IFwic3RvcmVOYW1lXCIsXHJcbiAgICAgICAgICAgIHJlbmRlcmVyOiB4UmVuZGVyZXIsXHJcbiAgICAgICAgICAgIC8vIHRvb2x0aXA6IGFtNS5Ub29sdGlwLm5ldyh0aGlzLnJvb3QsIHtsYWJlbFRleHQ6IFwie2Z1bGxTdG9yZU5hbWV9XCJ9KSxcclxuICAgICAgICAgIH0pXHJcbiAgICAgICAgKTtcclxuICBcclxuICAgICAgICBsZXQgeVJlbmRlcmVyID0gYW01eHkuQXhpc1JlbmRlcmVyWS5uZXcodGhpcy5yb290LCB7XHJcbiAgICAgICAgICBzdHJva2VPcGFjaXR5OiAwLjEsXHJcbiAgICAgICAgfSk7XHJcbiAgXHJcbiAgICAgICAgbGV0IHlBeGlzID0gdGhpcy5jaGFydC55QXhlcy5wdXNoKFxyXG4gICAgICAgICAgYW01eHkuVmFsdWVBeGlzLm5ldyh0aGlzLnJvb3QsIHtcclxuICAgICAgICAgICAgbWF4RGV2aWF0aW9uOiAwLjMsXHJcbiAgICAgICAgICAgIHJlbmRlcmVyOiB5UmVuZGVyZXIsXHJcbiAgICAgICAgICB9KVxyXG4gICAgICAgICk7XHJcbiAgICAgICAgbGV0IGRhdGEgPSB0aGlzLmdldE92ZXJhbGxDaGFydERhdGE/LnN0b3JlRGF0YT8ubWFwKFxyXG4gICAgICAgICAgKGl0ZW06IGFueSkgPT4gKHtcclxuICAgICAgICAgICAgZnVsbFN0b3JlTmFtZTogaXRlbS5zdG9yZU5hbWUsIC8vIEZ1bGwgc3RvcmUgbmFtZVxyXG4gICAgICBzdG9yZU5hbWU6ICBpdGVtLnN0b3JlTmFtZSwgLy8gaXRlbS5zdG9yZU5hbWUubGVuZ3RoID4gMjAgPyBpdGVtLnN0b3JlTmFtZS5zbGljZSgwLCAyMCkgKyAnLi4uJyA6IFNob3J0ZW5lZCBmb3IgeEF4aXNcclxuICAgICAgdmFsdWU6IE51bWJlcihpdGVtLmNvdW50KSxcclxuICAgICAgc3RvcmVJZDogaXRlbS5zdG9yZUlkXHJcbiAgICAgICAgICB9KVxyXG4gICAgICAgICk7XHJcbiAgICAgICAgaWYodGhpcy5vYmpEYXRhVHJhZmZpYy5wcm9jZXNzVHlwZSA9PT0gXCJjb252ZXJzaW9uXCIpe1xyXG4gICAgICAgICAgdGhpcy5vYmpEYXRhVHJhZmZpYy5wcm9jZXNzVHlwZSA9IHRoaXMuaGVhZGVyRGF0YT8uY2xpZW50ID09PSAnNDUyJyA/IGBNb3JlIHRoYW4gJHt0aGlzLmZlYXR1cmVDb25maWc/LmNvbnZlcnNpb24udmFsdWV9IG1pbnMgYCA6ICdDb252ZXJzaW9uJ1xyXG4gICAgICAgIH0gaWYodGhpcy5vYmpEYXRhVHJhZmZpYy5wcm9jZXNzVHlwZSA9PT0gXCJlbmdhZ2Vyc1wiKXtcclxuICAgICAgIFxyXG4gICAgICAgICAgdGhpcy5vYmpEYXRhVHJhZmZpYy5wcm9jZXNzVHlwZSA9IHRoaXMuaGVhZGVyRGF0YT8uY2xpZW50ID09PSAnNDUyJyA/IGBNb3JlIHRoYW4gJHt0aGlzLmZlYXR1cmVDb25maWc/LmJvdW5jZWRMaW1pdC52YWx1ZX0gbWluc2AgOiAnRW5nYWdlcnMnXHJcbiAgICAgICAgfSBpZih0aGlzLm9iakRhdGFUcmFmZmljLnByb2Nlc3NUeXBlID09PSBcImJvdW5jZWRcIil7XHJcbiAgICAgICAgICB0aGlzLmZvb3RmYWxsVmFsdWUgPSBcImJvdW5jZWRcIjtcclxuICAgICAgICAgIHRoaXMub2JqRGF0YVRyYWZmaWMucHJvY2Vzc1R5cGUgPSB0aGlzLmhlYWRlckRhdGE/LmNsaWVudCA9PT0gJzQ1MicgPyBgTGVzcyB0aGFuICR7dGhpcy5mZWF0dXJlQ29uZmlnPy5ib3VuY2VkTGltaXQudmFsdWV9IG1pbnNgIDonQm91bmNlZCdcclxuICAgICAgICB9XHJcbiAgICAgICAgIGlmKHRoaXMub2JqRGF0YVRyYWZmaWMucHJvY2Vzc1R5cGUgPT09IFwibWlzc2VkT3Bwb3J0dW5pdHlcIil7XHJcbiAgICAgICAgICB0aGlzLm9iakRhdGFUcmFmZmljLnByb2Nlc3NUeXBlID0gdGhpcy5oZWFkZXJEYXRhPy5jbGllbnQgPT09ICc0NTInID8gYCR7dGhpcy5mZWF0dXJlQ29uZmlnPy5taXNzZWRPcHBvcnR1bml0eUZyb20udmFsdWV9LSR7dGhpcy5mZWF0dXJlQ29uZmlnPy5taXNzZWRPcHBvcnR1bml0eVRvLnZhbHVlfSBtaW5zYCA6J01pc3NlZCBPcHBvcnR1bml0eScgXHJcbiAgICAgICAgfSBcclxuICAgICAgICAvLyBDcmVhdGUgc2VyaWVzXHJcbiAgICAgICAgdGhpcy5zZXJpZXMgPSB0aGlzLmNoYXJ0LnNlcmllcy5wdXNoKFxyXG4gICAgICAgICAgYW01eHkuQ29sdW1uU2VyaWVzLm5ldyh0aGlzLnJvb3QsIHtcclxuICAgICAgICAgICAgbmFtZTogXCJTZXJpZXMgMVwiLFxyXG4gICAgICAgICAgICB4QXhpczogeEF4aXMsXHJcbiAgICAgICAgICAgIHlBeGlzOiB5QXhpcyxcclxuICAgICAgICAgICAgdmFsdWVZRmllbGQ6IFwidmFsdWVcIixcclxuICAgICAgICAgICAgY2F0ZWdvcnlYRmllbGQ6IFwic3RvcmVOYW1lXCIsXHJcbiAgICAgICAgICAgIHRvb2x0aXA6IGFtNS5Ub29sdGlwLm5ldyh0aGlzLnJvb3QsIHtcclxuICAgICAgICAgICAgICBsYWJlbFRleHQ6IGAkeyh0aGlzLm9iakRhdGFUcmFmZmljLnByb2Nlc3NUeXBlKX0sIHtmdWxsU3RvcmVOYW1lfToge3ZhbHVlWX1gLFxyXG4gICAgICAgICAgICB9KSxcclxuICAgICAgICAgIH0pXHJcbiAgICAgICAgKTtcclxuICAgICAgICB4QXhpcy5kYXRhLnNldEFsbChkYXRhKTtcclxuICAgICAgICB0aGlzLnNlcmllcy5jb2x1bW5zLnRlbXBsYXRlLnNldEFsbCh7IHN0cm9rZU9wYWNpdHk6IDAgfSk7XHJcbiAgICAgICAgdGhpcy5zZXJpZXMuY29sdW1ucy50ZW1wbGF0ZS5ldmVudHMub24oXCJjbGlja1wiLCAoZXY6IGFueSkgPT4ge1xyXG4gICAgICAgICAgY29uc3QgZGF0YUl0ZW0gPSBldi50YXJnZXQuZGF0YUl0ZW0uZGF0YUNvbnRleHQ7XHJcbiAgICAgICAgICB0aGlzLmhhbmRsZUJhckNsaWNrKGRhdGFJdGVtKTtcclxuICAgICAgICB9KTtcclxuICBcclxuICAgICAgICB0aGlzLnNlcmllcy5jb2x1bW5zLnRlbXBsYXRlLnNldEFsbCh7IHN0cm9rZU9wYWNpdHk6IDAgfSk7XHJcbiAgXHJcbiAgICAgICAgdGhpcy5zZXJpZXMuZGF0YS5zZXRBbGwoZGF0YSk7XHJcbiAgICAvLyBTZXQgd2lkdGggZm9yIGNoYXJ0IGNvbnRhaW5lciB0byBlbmFibGUgc2Nyb2xsaW5nXHJcbiAgICAvLyBjb25zdCB0b3RhbENvdW50ID0gdGhpcy50b3RhbENvdW50O1xyXG4gICAgLy8gY29uc3QgaXRlbVdpZHRoID0gNTA7IC8vIFdpZHRoIG9mIGVhY2ggaXRlbSwgYWRqdXN0IGFzIG5lZWRlZFxyXG4gICAgLy8gY29uc3QgbWluV2lkdGggPSB0b3RhbENvdW50ICogaXRlbVdpZHRoOyAvLyBDYWxjdWxhdGUgdG90YWwgd2lkdGhcclxuICAgIC8vIGNoYXJ0RGl2LnN0eWxlLndpZHRoID0gYCR7TWF0aC5tYXgobWluV2lkdGgsIDEwMjQpfXB4YDsgLy8gTWluaW11bSB3aWR0aCBvZiA4MDBweFxyXG4gICAgICAgIC8vIE1ha2Ugc3R1ZmYgYW5pbWF0ZSBvbiBsb2FkXHJcbiAgICAgICAgdGhpcy5zZXJpZXMuYXBwZWFyKDEwMDApO1xyXG4gICAgICAgIHRoaXMuY2hhcnQuYXBwZWFyKDEwMDAsIDEwMCk7XHJcbiAgICAgIH0sIDApO1xyXG4gICAgfVxyXG4gIFxyXG4gICAgY2FwaXRhbGl6ZVRpdGxlKHRleHQ6IHN0cmluZyk6IHN0cmluZyB7XHJcbiAgICAgIHJldHVybiB0ZXh0XHJcbiAgICAgICAgLnRvTG93ZXJDYXNlKCkgLy8gRW5zdXJlIHRoZSBzdHJpbmcgaXMgaW4gbG93ZXJjYXNlIGZpcnN0XHJcbiAgICAgICAgLnNwbGl0KCcgJykgICAgLy8gU3BsaXQgdGhlIHN0cmluZyBpbnRvIHdvcmRzXHJcbiAgICAgICAgLm1hcCh3b3JkID0+IHdvcmQuY2hhckF0KDApLnRvVXBwZXJDYXNlKCkgKyB3b3JkLnNsaWNlKDEpKSAvLyBDYXBpdGFsaXplIHRoZSBmaXJzdCBsZXR0ZXIgb2YgZWFjaCB3b3JkXHJcbiAgICAgICAgLmpvaW4oJyAnKTsgICAgLy8gSm9pbiB0aGUgd29yZHMgYmFjayB0b2dldGhlclxyXG4gICAgfVxyXG4gICAgZ2V0UmFuZ2VDb2xvcihyYXRlOiBudW1iZXIpOiBhbTUuQ29sb3Ige1xyXG4gICAgICBsZXQgY29sb3I6IGFtNS5Db2xvcjtcclxuICAgICAgaWYgKHJhdGUgPj0gMCAmJiByYXRlIDw9IDEwKSB7XHJcbiAgICAgICAgY29sb3IgPSBhbTUuY29sb3IoMHhFQUY4RkYpO1xyXG4gICAgICB9IGVsc2UgaWYgKHJhdGUgPiAxMCAmJiByYXRlIDw9IDIwKSB7XHJcbiAgICAgICAgY29sb3IgPSBhbTUuY29sb3IoMHhDQ0U5RkUpO1xyXG4gICAgICB9IGVsc2UgaWYgKHJhdGUgPiAyMCAmJiByYXRlIDw9IDMwKSB7XHJcbiAgICAgICAgY29sb3IgPSBhbTUuY29sb3IoMHhCMEQ2RkMpO1xyXG4gICAgICB9IGVsc2UgaWYgKHJhdGUgPiAzMCAmJiByYXRlIDw9IDQwKSB7XHJcbiAgICAgICAgY29sb3IgPSBhbTUuY29sb3IoMHg5NEMyRkEpO1xyXG4gICAgICB9IGVsc2UgaWYgKHJhdGUgPiA0MCAmJiByYXRlIDw9IDU1KSB7XHJcbiAgICAgICAgY29sb3IgPSBhbTUuY29sb3IoMHg3OEE5RjgpO1xyXG4gICAgICB9IGVsc2UgaWYgKHJhdGUgPiA1NSAmJiByYXRlIDw9IDc1KSB7XHJcbiAgICAgICAgY29sb3IgPSBhbTUuY29sb3IoMHg5OUQyRkQpOyAgXHJcbiAgICAgIH0gZWxzZSBpZiAocmF0ZSA+IDc1ICYmIHJhdGUgPD0gOTApIHtcclxuICAgICAgICBjb2xvciA9IGFtNS5jb2xvcigweDY2QkNGRCk7ICAgIFxyXG4gICAgICB9ICBlbHNlIGlmIChyYXRlID4gOTAgJiYgcmF0ZSA8PSAxMDApIHtcclxuICAgICAgICBjb2xvciA9IGFtNS5jb2xvcigweDM0NjBGMyk7ICBcclxuICAgICAgfSBlbHNlIHtcclxuICAgICAgICBjb2xvciA9IGFtNS5jb2xvcigweEZGRik7XHJcbiAgICAgIH1cclxuICAgICAgcmV0dXJuIGNvbG9yO1xyXG4gICAgfVxyXG4gICAgaW5pdEhlYXRDaGFydCgpIHtcclxuICAgICAgdGhpcy5jaGFydE5vRGF0YSA9IGZhbHNlO1xyXG4gICAgICB0aGlzLmNoYXJ0bG9hZGluZyA9IGZhbHNlO1xyXG4gICAgICBzZXRUaW1lb3V0KCgpID0+IHtcclxuICAgICAgICBjb25zdCBjaGFydERpdiA9IGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKFwiaGVhdG1hcGNoYXJ0XCIpO1xyXG4gICAgICAgIGlmICghY2hhcnREaXYpIHtcclxuICAgICAgICAgIHJldHVybjtcclxuICAgICAgICB9XHJcbiAgICAgICAgaWYgKHRoaXMucm9vdDIpIHtcclxuICAgICAgICAgIHRoaXMucm9vdDIuZGlzcG9zZSgpO1xyXG4gICAgICAgIH1cclxuICAgICAgICAvLyBDcmVhdGUgcm9vdCBlbGVtZW50XHJcbiAgICAgICAgdGhpcy5yb290MiA9IGFtNS5Sb290Lm5ldyhcImhlYXRtYXBjaGFydFwiKTtcclxuICBcclxuICAgICAgICB0aGlzLnJvb3QyLmNvbnRhaW5lci5zZXRBbGwoe1xyXG4gICAgICAgICAgd2lkdGg6IGFtNS5wZXJjZW50KDEwMCksXHJcbiAgICAgICAgfSk7XHJcbiAgXHJcbiAgICAgICAgLy8gU2V0IHRoZW1lc1xyXG4gICAgICAgIHRoaXMucm9vdDIuc2V0VGhlbWVzKFtcclxuICAgICAgICAgIGFtNXRoZW1lc19BbmltYXRlZC5uZXcodGhpcy5yb290MiksXHJcbiAgICAgICAgICBhbTV0aGVtZXNfUmVzcG9uc2l2ZS5uZXcodGhpcy5yb290MiksXHJcbiAgICAgICAgXSk7XHJcbiAgXHJcbiAgICAgICAgLy8gQ3JlYXRlIGNoYXJ0XHJcbiAgICAgICAgdGhpcy5jaGFydDIgPSB0aGlzLnJvb3QyLmNvbnRhaW5lci5jaGlsZHJlbi5wdXNoKFxyXG4gICAgICAgICAgYW01eHkuWFlDaGFydC5uZXcodGhpcy5yb290Miwge1xyXG4gICAgICAgICAgICBwYW5YOiBmYWxzZSxcclxuICAgICAgICAgICAgcGFuWTogZmFsc2UsXHJcbiAgICAgICAgICAgIHdoZWVsWDogXCJub25lXCIsXHJcbiAgICAgICAgICAgIHdoZWVsWTogXCJub25lXCIsXHJcbiAgICAgICAgICAgIHBhZGRpbmdMZWZ0OiAwLFxyXG4gICAgICAgICAgICBsYXlvdXQ6IHRoaXMucm9vdDIudmVydGljYWxMYXlvdXQsXHJcbiAgICAgICAgICB9KVxyXG4gICAgICAgICk7XHJcbiAgXHJcbiAgICAgICAgLy8gQ3JlYXRlIGF4ZXMgYW5kIHRoZWlyIHJlbmRlcmVyc1xyXG4gICAgICAgIGNvbnN0IHlSZW5kZXJlciA9IGFtNXh5LkF4aXNSZW5kZXJlclkubmV3KHRoaXMucm9vdDIsIHtcclxuICAgICAgICAgIG1pbkdyaWREaXN0YW5jZTogMjAsXHJcbiAgICAgICAgICBpbnZlcnNlZDogdHJ1ZSxcclxuICAgICAgICAgIG9wcG9zaXRlOiB0cnVlLFxyXG4gICAgICAgICAgbWlub3JHcmlkRW5hYmxlZDogdHJ1ZSxcclxuICAgICAgICB9KTtcclxuICBcclxuICAgICAgICB5UmVuZGVyZXIuZ3JpZC50ZW1wbGF0ZS5zZXQoXCJ2aXNpYmxlXCIsIGZhbHNlKTtcclxuICBcclxuICAgICAgICBjb25zdCB5QXhpcyA9IHRoaXMuY2hhcnQyLnlBeGVzLnB1c2goXHJcbiAgICAgICAgICBhbTV4eS5DYXRlZ29yeUF4aXMubmV3KHRoaXMucm9vdDIsIHtcclxuICAgICAgICAgICAgcmVuZGVyZXI6IHlSZW5kZXJlcixcclxuICAgICAgICAgICAgY2F0ZWdvcnlGaWVsZDogXCJ0aW1lXCIsXHJcbiAgICAgICAgICB9KVxyXG4gICAgICAgICk7XHJcbiAgXHJcbiAgICAgICAgY29uc3QgeFJlbmRlcmVyID0gYW01eHkuQXhpc1JlbmRlcmVyWC5uZXcodGhpcy5yb290Miwge1xyXG4gICAgICAgICAgbWluR3JpZERpc3RhbmNlOiAzMCxcclxuICAgICAgICAgIG9wcG9zaXRlOiB0cnVlLFxyXG4gICAgICAgICAgbWlub3JHcmlkRW5hYmxlZDogdHJ1ZSxcclxuICAgICAgICB9KTtcclxuICBcclxuICAgICAgICB4UmVuZGVyZXIuZ3JpZC50ZW1wbGF0ZS5zZXQoXCJ2aXNpYmxlXCIsIGZhbHNlKTtcclxuICBcclxuICAgICAgICBjb25zdCB4QXhpcyA9IHRoaXMuY2hhcnQyLnhBeGVzLnB1c2goXHJcbiAgICAgICAgICBhbTV4eS5DYXRlZ29yeUF4aXMubmV3KHRoaXMucm9vdDIsIHtcclxuICAgICAgICAgICAgcmVuZGVyZXI6IHhSZW5kZXJlcixcclxuICAgICAgICAgICAgY2F0ZWdvcnlGaWVsZDogXCJ3ZWVrZGF5XCIsXHJcbiAgICAgICAgICB9KVxyXG4gICAgICAgICk7XHJcbiAgXHJcbiAgICAgICAgLy8gQ3JlYXRlIHNlcmllc1xyXG4gICAgICAgIHRoaXMuc2VyaWVzMiA9IHRoaXMuY2hhcnQyLnNlcmllcy5wdXNoKFxyXG4gICAgICAgICAgYW01eHkuQ29sdW1uU2VyaWVzLm5ldyh0aGlzLnJvb3QyLCB7XHJcbiAgICAgICAgICAgIGNhbGN1bGF0ZUFnZ3JlZ2F0ZXM6IHRydWUsXHJcbiAgICAgICAgICAgIHN0cm9rZTogYW01LmNvbG9yKDB4ZmZmZmZmKSxcclxuICAgICAgICAgICAgY2x1c3RlcmVkOiBmYWxzZSxcclxuICAgICAgICAgICAgeEF4aXM6IHhBeGlzLFxyXG4gICAgICAgICAgICB5QXhpczogeUF4aXMsXHJcbiAgICAgICAgICAgIGNhdGVnb3J5WEZpZWxkOiBcIndlZWtkYXlcIixcclxuICAgICAgICAgICAgY2F0ZWdvcnlZRmllbGQ6IFwidGltZVwiLFxyXG4gICAgICAgICAgICB2YWx1ZUZpZWxkOiBcInJhdGVcIixcclxuICAgICAgICAgIH0pXHJcbiAgICAgICAgKTtcclxuICAgICAgICB0aGlzLnNlcmllczIuY29sdW1ucy50ZW1wbGF0ZS5zZXRBbGwoe1xyXG4gICAgICAgICAgdG9vbHRpcFRleHQ6IFwie3JhdGV9JVwiLFxyXG4gICAgICAgICAgc3Ryb2tlT3BhY2l0eTogMSxcclxuICAgICAgICAgIHN0cm9rZVdpZHRoOiAyLFxyXG4gICAgICAgICAgd2lkdGg6IGFtNS5wZXJjZW50KDEwMCksXHJcbiAgICAgICAgICBoZWlnaHQ6IGFtNS5wZXJjZW50KDEwMCksXHJcbiAgICAgICAgICBmaWxsOiBhbTUuY29sb3IoMHhmZmZmZmYpLCAvLyBEZWZhdWx0IGNvbG9yIGZvciBjb2x1bW5zXHJcbiAgICAgICAgfSk7XHJcbiAgICAgICAgXHJcbiAgICAgICAgLy8gQXBwbHkgcmFuZ2UtYmFzZWQgY29sb3IgcnVsZXMgZm9yIGVhY2ggZGF0YSBpdGVtXHJcbiAgICAgICAgdGhpcy5zZXJpZXMyLmNvbHVtbnMudGVtcGxhdGUuYWRhcHRlcnMuYWRkKFwiZmlsbFwiLCAoZmlsbCwgdGFyZ2V0KSA9PiB7XHJcbiAgICAgICAgICBjb25zdCBkYXRhSXRlbSA9IHRhcmdldC5kYXRhSXRlbT8uZGF0YUNvbnRleHQgYXMgQ2hhcnREYXRhSXRlbTsgLy8gQ2FzdCBkYXRhQ29udGV4dCB0byBDaGFydERhdGFJdGVtXHJcbiAgICAgICAgICBpZiAoZGF0YUl0ZW0gJiYgZGF0YUl0ZW0ucmF0ZSAhPT0gdW5kZWZpbmVkKSB7XHJcbiAgICAgICAgICAgIHJldHVybiB0aGlzLmdldFJhbmdlQ29sb3IoZGF0YUl0ZW0ucmF0ZSk7IC8vIEdldCBjb2xvciBiYXNlZCBvbiByYXRlXHJcbiAgICAgICAgICB9XHJcbiAgICAgICAgICByZXR1cm4gZmlsbDtcclxuICAgICAgICB9KTtcclxuICBcclxuICAgICAgICB0aGlzLnNlcmllczIuYnVsbGV0cy5wdXNoKCgpID0+IHtcclxuICAgICAgICAgIHJldHVybiBhbTUuQnVsbGV0Lm5ldyh0aGlzLnJvb3QyLCB7XHJcbiAgICAgICAgICAgIHNwcml0ZTogYW01LkxhYmVsLm5ldyh0aGlzLnJvb3QyLCB7XHJcbiAgICAgICAgICAgICAgdGV4dDogXCJ7cmF0ZS5mb3JtYXROdW1iZXIoJyMuIycpfSVcIixcclxuICAgICAgICAgICAgICBmaWxsOiBhbTUuY29sb3IoMHgwMDAwMDApLFxyXG4gICAgICAgICAgICAgIGNlbnRlclk6IGFtNS5wNTAsXHJcbiAgICAgICAgICAgICAgY2VudGVyWDogYW01LnA1MCxcclxuICAgICAgICAgICAgICBwb3B1bGF0ZVRleHQ6IHRydWUsXHJcbiAgICAgICAgICAgICAgZm9udFNpemU6IDEyLCAvLyBSZWR1Y2UgZm9udCBzaXplXHJcbiAgICAgICAgICAgIH0pLFxyXG4gICAgICAgICAgfSk7XHJcbiAgICAgICAgfSk7XHJcbiAgXHJcbiAgICAgICAgLy8gU2V0IGRhdGFcclxuICAgICAgICBjb25zdCBkYXRhID0gdGhpcy5nZXRPdmVyYWxsSG91cmx5RGF0YT8ubWFwKChpdGVtOiBhbnkpID0+ICh7XHJcbiAgICAgICAgICAuLi5pdGVtLFxyXG4gICAgICAgICAgd2Vla2RheTogXCJIb3VybHkgRGF0YVwiLFxyXG4gICAgICAgIH0pKTtcclxuICAgICAgICB0aGlzLnNlcmllczIuZGF0YS5zZXRBbGwoZGF0YSk7XHJcbiAgXHJcbiAgICAgICAgLy8gQXV0by1wb3B1bGF0ZSBYIGFuZCBZIGF4aXMgY2F0ZWdvcnkgZGF0YVxyXG4gICAgICAgIGNvbnN0IHRpbWVzOiBzdHJpbmdbXSA9IFtdO1xyXG4gICAgICAgIGFtNS5hcnJheS5lYWNoKGRhdGEsIGZ1bmN0aW9uIChyb3c6IGFueSkge1xyXG4gICAgICAgICAgaWYgKHRpbWVzLmluZGV4T2Yocm93LnRpbWUpID09PSAtMSkge1xyXG4gICAgICAgICAgICB0aW1lcy5wdXNoKHJvdy50aW1lKTtcclxuICAgICAgICAgIH1cclxuICAgICAgICB9KTtcclxuICBcclxuICAgICAgICB4QXhpcy5kYXRhLnNldEFsbChbeyB3ZWVrZGF5OiBcIkhvdXJseSBEYXRhXCIgfV0pOyAvLyBTZXQgc2luZ2xlIGNhdGVnb3J5IGZvciB4LWF4aXNcclxuICAgICAgICB5QXhpcy5kYXRhLnNldEFsbChcclxuICAgICAgICAgIHRpbWVzLm1hcChmdW5jdGlvbiAoaXRlbSkge1xyXG4gICAgICAgICAgICByZXR1cm4geyB0aW1lOiBpdGVtIH07XHJcbiAgICAgICAgICB9KVxyXG4gICAgICAgICk7XHJcbiAgXHJcbiAgICAgICAgdGhpcy5jaGFydDIuYXBwZWFyKDEwMDAsIDEwMCk7XHJcbiAgICAgIH0sIDApO1xyXG4gICAgfVxyXG4gIFxyXG4gICAgb25EYXRhc2V0Q2hhbmdlKGV2ZW50OiBhbnkpOiB2b2lkIHtcclxuICAgICAgdGhpcy5kZXRhaWxlZENoYXJ0cyA9IGZhbHNlO1xyXG4gICAgICAvLyBjb25zdCB0YXJnZXQgPSBldmVudC50YXJnZXQgYXMgSFRNTFNlbGVjdEVsZW1lbnQ7XHJcbiAgICAgIHRoaXMuZm9vdGZhbGxWYWx1ZSA9IGV2ZW50O1xyXG4gICAgICBpZiAodGhpcy5mb290ZmFsbFZhbHVlID09PSBcImZvb3RmYWxsXCIgfHwgIHRoaXMuZm9vdGZhbGxWYWx1ZSA9PT0gXCJjb252ZXJzaW9uXCJcclxuICAgICAgICB8fCAgdGhpcy5mb290ZmFsbFZhbHVlID09PSBcImVuZ2FnZXJzXCIgfHwgIHRoaXMuZm9vdGZhbGxWYWx1ZSA9PT0gXCJib3VuY2VkXCJcclxuICAgICAgICB8fCAgdGhpcy5mb290ZmFsbFZhbHVlID09PSBcInBvdGVudGlhbEJ1eWVyXCIgfHwgIHRoaXMuZm9vdGZhbGxWYWx1ZSA9PT0gXCJtaXNzZWRPcHBvcnR1bml0eVwiKSB7XHJcbiAgICAgICAgaWYgKHRoaXMucm9vdCkge1xyXG4gICAgICAgICAgdGhpcy5yb290LmRpc3Bvc2UoKTtcclxuICAgICAgICB9XHJcbiAgICAgICAgdGhpcy5vdmVyYWxsSG91cmx5Q2hhcnQoKTtcclxuICAgICAgICB0aGlzLm92ZXJhbGxDaGFydCgpO1xyXG4gICAgICB9IGVsc2UgaWYgKHRoaXMuZm9vdGZhbGxWYWx1ZSA9PT0gXCJkZW1vZ3JhcGhpY1wiKSB7XHJcbiAgICAgICAgLy8gRGlzcG9zZSBvZiBhbnkgcHJldmlvdXMgY2hhcnRzIHRvIGF2b2lkIGR1cGxpY2F0ZXNcclxuICAgICAgICBpZiAodGhpcy5kZW1vR3JhcGhpY3Nyb290KSB7XHJcbiAgICAgICAgICB0aGlzLmRlbW9HcmFwaGljc3Jvb3QuZGlzcG9zZSgpO1xyXG4gICAgICAgIH1cclxuICAgICAgICB0aGlzLmdldERlbW9HcmFwaGljcygpO1xyXG4gICAgICB9IFxyXG4gICAgICBlbHNlIGlmICh0aGlzLmZvb3RmYWxsVmFsdWUgPT09IFwiYnV5ZXJcIikge1xyXG4gICAgICAgIC8vIERpc3Bvc2Ugb2YgYW55IHByZXZpb3VzIGNoYXJ0cyB0byBhdm9pZCBkdXBsaWNhdGVzXHJcbiAgICAgICAgaWYgKHRoaXMuYnV5ZXJzcm9vdCkge1xyXG4gICAgICAgICAgdGhpcy5idXllcnNyb290LmRpc3Bvc2UoKTtcclxuICAgICAgICB9XHJcbiAgICAgICAgdGhpcy5nZXRCdXllcnMoKTtcclxuICAgICAgfSBcclxuICAgICAgdGhpcy5jZC5kZXRlY3RDaGFuZ2VzKCk7XHJcbiAgICB9XHJcbiAgXHJcbiAgIGJhY2tUb0Zvb3RmYWxsKCkge1xyXG4gICAgdGhpcy5vYmpEYXRhVHJhZmZpYy5saW1pdCA9MjAsXHJcbiAgICAgdGhpcy5vYmpEYXRhVHJhZmZpYy5zdG9yZUlkID0gdGhpcy5oZWFkZXJEYXRhLnN0b3Jlcy5maWx0ZXIoKHN0b3JlOmFueSkgPT4gc3RvcmUuY2hlY2tlZCkubWFwKChzdG9yZTphbnkpID0+IHN0b3JlLnN0b3JlSWQpLFxyXG4gICAgIHRoaXMuZGV0YWlsZWRDaGFydHMgPSBmYWxzZTtcclxuICAgICB0aGlzLm92ZXJhbGxIb3VybHlDaGFydCgpO1xyXG4gICAgIHRoaXMub3ZlcmFsbENoYXJ0KCk7XHJcbiAgIH1cclxuIFxyXG4gICBnZXREZW1vR3JhcGhpY3MoKXtcclxuICAgICBkZWxldGUgdGhpcy5vYmpEYXRhVHJhZmZpYy5saW1pdDtcclxuICAgICBkZWxldGUgdGhpcy5vYmpEYXRhVHJhZmZpYy5vZmZzZXQ7XHJcbiAgICAgdGhpcy5kZW1vTm9EYXRhID1mYWxzZTtcclxuICAgICB0aGlzLmRlbW9sb2FkaW5nID0gdHJ1ZTtcclxuICAgICB0aGlzLnNlcnZpY2VcclxuICAgICAuZ2V0RGVtb0dyYXBoaWNzQ2hhcnQodGhpcy5vYmpEYXRhVHJhZmZpYylcclxuICAgICAucGlwZSh0YWtlVW50aWwodGhpcy5kZXN0cm95JCkpXHJcbiAgICAgPy5zdWJzY3JpYmUoe1xyXG4gICAgICAgbmV4dDogKHJlczogYW55KSA9PiB7XHJcbiAgICAgICAgIGlmIChyZXMgJiYgcmVzLmNvZGUgPT09IDIwMCkge1xyXG4gICAgICAgICAgIHRoaXMuZGVtb0dyYXBoaWNzRGF0YSA9IHJlcz8uZGF0YS5kZW1vZ3JhcGhpY0RhdGE7XHJcbiAgICAgICAgICAgXHJcbiAgICAgICAgICAgdGhpcy5kZW1vR3JhcGhpY3NDaGFydCgpO1xyXG4gICAgICAgICAgIHRoaXMuY2QuZGV0ZWN0Q2hhbmdlcygpOyBcclxuICAgICAgICAgICAvLyBDYWxsIHdpdGggYSBkZWxheSB0byBlbnN1cmUgdGhlIGVsZW1lbnQgaXMgaW4gdGhlIERPTVxyXG4gICAgICAgICAgICB0aGlzLmRlbW9Ob0RhdGEgPWZhbHNlO1xyXG4gICAgICAgICAgICB0aGlzLmRlbW9sb2FkaW5nID0gZmFsc2U7XHJcbiAgICAgICAgIH0gZWxzZSB7XHJcbiAgICAgICAgICAgdGhpcy5kZW1vTm9EYXRhID10cnVlO1xyXG4gICAgICAgICAgIHRoaXMuZGVtb2xvYWRpbmcgPSBmYWxzZTtcclxuICAgICAgICAgfVxyXG4gICAgICAgfSxcclxuICAgICAgIGVycm9yOiAoZXJyOiBhbnkpID0+IHtcclxuICAgICAgICAgdGhpcy5jZC5kZXRlY3RDaGFuZ2VzKCk7XHJcbiAgICAgICB9LFxyXG4gICAgICAgY29tcGxldGU6ICgpID0+IHt9LFxyXG4gICAgIH0pO1xyXG4gICAgIFxyXG4gICB9XHJcbiAgIGRlbW9HcmFwaGljc0NoYXJ0KCk6IHZvaWQge1xyXG4gICAgIHRoaXMuY2hhcnROb0RhdGEgPSBmYWxzZTtcclxuICAgICB0aGlzLmNoYXJ0bG9hZGluZyA9IGZhbHNlO1xyXG4gICAgIHRoaXMuZGVtb05vRGF0YSA9ZmFsc2U7XHJcbiAgICAgdGhpcy5kZW1vbG9hZGluZyA9IGZhbHNlO1xyXG4gICAgIHNldFRpbWVvdXQoKCkgPT4ge1xyXG4gICAgICAgY29uc3QgZGVtb0dyYXBoaWNzRGl2ID0gZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoXCJkZW1vR3JhcGhpY3NcIik7XHJcbiAgICAgICBpZiAoIWRlbW9HcmFwaGljc0Rpdikge1xyXG4gICAgICAgICByZXR1cm47XHJcbiAgICAgICB9XHJcbiAgICAgICAvLyBEaXNwb3NlIG9mIHByZXZpb3VzIGNoYXJ0IGlmIGl0IGV4aXN0c1xyXG4gICAgICAgaWYgKHRoaXMuZGVtb0dyYXBoaWNzcm9vdCkge1xyXG4gICAgICAgICB0aGlzLmRlbW9HcmFwaGljc3Jvb3QuZGlzcG9zZSgpO1xyXG4gICAgICAgfVxyXG4gXHJcbiAgICAgICAvLyBDcmVhdGUgYSBuZXcgY2hhcnRcclxuICAgICAgIHRoaXMuZGVtb0dyYXBoaWNzcm9vdCA9IGFtNS5Sb290Lm5ldyhkZW1vR3JhcGhpY3NEaXYpO1xyXG4gICAgICAgdGhpcy5kZW1vR3JhcGhpY3Nyb290LnNldFRoZW1lcyhbXHJcbiAgICAgICAgIGFtNXRoZW1lc19BbmltYXRlZC5uZXcodGhpcy5kZW1vR3JhcGhpY3Nyb290KSxcclxuICAgICAgIF0pO1xyXG4gXHJcbiAgICAgICB0aGlzLmRlbW9HcmFwaGljc0NoYXJ0SW5zdGFuY2UgPVxyXG4gICAgICAgICB0aGlzLmRlbW9HcmFwaGljc3Jvb3QuY29udGFpbmVyLmNoaWxkcmVuLnB1c2goXHJcbiAgICAgICAgICAgYW01eHkuWFlDaGFydC5uZXcodGhpcy5kZW1vR3JhcGhpY3Nyb290LCB7XHJcbiAgICAgICAgICAgICBwYW5YOiBmYWxzZSxcclxuICAgICAgICAgICAgIHBhblk6IGZhbHNlLFxyXG4gICAgICAgICAgICAgcGFkZGluZ0xlZnQ6IDAsXHJcbiAgICAgICAgICAgICB3aGVlbFg6IFwicGFuWFwiLFxyXG4gICAgICAgICAgICAgd2hlZWxZOiBcInpvb21YXCIsXHJcbiAgICAgICAgICAgICBsYXlvdXQ6IHRoaXMuZGVtb0dyYXBoaWNzcm9vdC52ZXJ0aWNhbExheW91dCxcclxuICAgICAgICAgICB9KVxyXG4gICAgICAgICApO1xyXG4gXHJcbiAgICAgICBsZXQgeFJlbmRlcmVyID0gYW01eHkuQXhpc1JlbmRlcmVyWC5uZXcodGhpcy5kZW1vR3JhcGhpY3Nyb290LCB7XHJcbiAgICAgICAgIGNlbGxTdGFydExvY2F0aW9uOiAwLjEsXHJcbiAgICAgICAgIGNlbGxFbmRMb2NhdGlvbjogMC45LFxyXG4gICAgICAgICBtaW5vckdyaWRFbmFibGVkOiB0cnVlLFxyXG4gICAgICAgfSk7XHJcbiBcclxuICAgICAgIGxldCB4QXhpcyA9IHRoaXMuZGVtb0dyYXBoaWNzQ2hhcnRJbnN0YW5jZS54QXhlcy5wdXNoKFxyXG4gICAgICAgICBhbTV4eS5DYXRlZ29yeUF4aXMubmV3KHRoaXMuZGVtb0dyYXBoaWNzcm9vdCwge1xyXG4gICAgICAgICAgIGNhdGVnb3J5RmllbGQ6IFwiYWdlXCIsXHJcbiAgICAgICAgICAgcmVuZGVyZXI6IHhSZW5kZXJlcixcclxuICAgICAgICAgICB0b29sdGlwOiBhbTUuVG9vbHRpcC5uZXcodGhpcy5kZW1vR3JhcGhpY3Nyb290LCB7fSksXHJcbiAgICAgICAgIH0pXHJcbiAgICAgICApO1xyXG4gICAgICAgdGhpcy5kZW1vR3JhcGhpY3NEYXRhID0gdGhpcy5kZW1vR3JhcGhpY3NEYXRhPy5tYXAoXHJcbiAgICAgICAgIChpdGVtOiBhbnkpID0+ICh7XHJcbiAgICAgICAgICAgYWdlOiBpdGVtLmFnZSxcclxuICAgICAgICAgICBjb3VudDogTnVtYmVyKGl0ZW0uY291bnQpLFxyXG4gICAgICAgICAgIG1hbGVDb3VudDogTnVtYmVyKGl0ZW0ubWFsZUNvdW50KSxcclxuICAgICAgICAgICBmZW1hbGVDb3VudDogTnVtYmVyKGl0ZW0uZmVtYWxlQ291bnQpLFxyXG4gICAgICAgICB9KVxyXG4gICAgICAgKTtcclxuICAgICAgIHhSZW5kZXJlci5ncmlkLnRlbXBsYXRlLnNldEFsbCh7IGxvY2F0aW9uOiAxIH0pO1xyXG4gICAgICAgeEF4aXMuZGF0YS5zZXRBbGwodGhpcy5kZW1vR3JhcGhpY3NEYXRhKTtcclxuIFxyXG4gICAgICAgbGV0IHlBeGlzID0gdGhpcy5kZW1vR3JhcGhpY3NDaGFydEluc3RhbmNlLnlBeGVzLnB1c2goXHJcbiAgICAgICAgIGFtNXh5LlZhbHVlQXhpcy5uZXcodGhpcy5kZW1vR3JhcGhpY3Nyb290LCB7XHJcbiAgICAgICAgICAgcmVuZGVyZXI6IGFtNXh5LkF4aXNSZW5kZXJlclkubmV3KHRoaXMuZGVtb0dyYXBoaWNzcm9vdCwge1xyXG4gICAgICAgICAgICAgc3Ryb2tlT3BhY2l0eTogMC4xLFxyXG4gICAgICAgICAgIH0pLFxyXG4gICAgICAgICB9KVxyXG4gICAgICAgKTtcclxuICAgICAgLy8gQWRkIGxlZ2VuZFxyXG4gICAgIGxldCBsZWdlbmQgPSB0aGlzLmRlbW9HcmFwaGljc0NoYXJ0SW5zdGFuY2UuY2hpbGRyZW4ucHVzaChcclxuICAgICAgIGFtNS5MZWdlbmQubmV3KHRoaXMuZGVtb0dyYXBoaWNzcm9vdCwge1xyXG4gICAgICAgICB4OiBhbTUucDEwMCwgICAgLy8gQWxpZ24gdG8gMTAwJSB3aWR0aCAocmlnaHQgc2lkZSlcclxuICAgICAgICAgeTogYW01LnAwLCAgICAgIC8vIEFsaWduIHRvIHRoZSB0b3BcclxuICAgICAgICAgY2VudGVyWDogYW01LnAxMDAsICAvLyBBbGlnbiB0aGUgY2VudGVyIG9mIHRoZSBsZWdlbmQgdG8gaXRzIHJpZ2h0XHJcbiAgICAgICAgIGNlbnRlclk6IGFtNS5wMCwgICAgLy8gQWxpZ24gdGhlIHRvcCBvZiB0aGUgbGVnZW5kIHRvIHRoZSB0b3Agb2YgdGhlIGNoYXJ0XHJcbiAgICAgICB9KVxyXG4gICAgICk7XHJcbiBcclxuICAgICAvLyBDcmVhdGUgdGhlIHNlcmllcyBhbmQgYWRkIGVhY2ggdG8gdGhlIGxlZ2VuZFxyXG4gICAgIGNvbnN0IG1hbGVTZXJpZXMgPSB0aGlzLm1ha2VTZXJpZXMoXCJNYWxlXCIsIFwibWFsZUNvdW50XCIsIHhBeGlzLCB5QXhpcyk7XHJcbiAgICAgY29uc3QgZmVtYWxlU2VyaWVzID0gdGhpcy5tYWtlU2VyaWVzKFwiRmVtYWxlXCIsIFwiZmVtYWxlQ291bnRcIiwgeEF4aXMsIHlBeGlzKTtcclxuIFxyXG4gICAgIGxlZ2VuZC5kYXRhLnNldEFsbChbbWFsZVNlcmllcywgZmVtYWxlU2VyaWVzXSk7XHJcbiAgICAgICB0aGlzLmRlbW9HcmFwaGljc0NoYXJ0SW5zdGFuY2UuYXBwZWFyKDEwMDAsIDEwMCk7XHJcbiBcclxuICAgICB9LFxyXG4gICAgICAgICAgICAwKTtcclxuIFxyXG4gICB9XHJcbiAgIG1ha2VTZXJpZXMoXHJcbiAgICAgbmFtZTogYW55LFxyXG4gICAgIGZpZWxkTmFtZTogYW55LFxyXG4gICAgIHhBeGlzOiBhbTV4eS5DYXRlZ29yeUF4aXM8YW01eHkuQXhpc1JlbmRlcmVyPixcclxuICAgICB5QXhpczogYW01eHkuVmFsdWVBeGlzPGFtNXh5LkF4aXNSZW5kZXJlcj5cclxuICAgKSB7XHJcbiAgICAgbGV0IHNlcmllcyA9IHRoaXMuZGVtb0dyYXBoaWNzQ2hhcnRJbnN0YW5jZS5zZXJpZXMucHVzaChcclxuICAgICAgIGFtNXh5LkNvbHVtblNlcmllcy5uZXcodGhpcy5kZW1vR3JhcGhpY3Nyb290LCB7XHJcbiAgICAgICAgIG5hbWU6IG5hbWUsXHJcbiAgICAgICAgIHhBeGlzOiB4QXhpcyxcclxuICAgICAgICAgeUF4aXM6IHlBeGlzLFxyXG4gICAgICAgICB2YWx1ZVlGaWVsZDogZmllbGROYW1lLFxyXG4gICAgICAgICBjYXRlZ29yeVhGaWVsZDogXCJhZ2VcIixcclxuICAgICAgIH0pXHJcbiAgICAgKTtcclxuICAgXHJcbiAgICAgc2VyaWVzLmNvbHVtbnMudGVtcGxhdGUuc2V0QWxsKHtcclxuICAgICAgIHRvb2x0aXBUZXh0OiBcIntuYW1lfSwge2NhdGVnb3J5WH06IHt2YWx1ZVl9XCIsXHJcbiAgICAgICB3aWR0aDogYW01LnBlcmNlbnQoOTApLFxyXG4gICAgICAgdG9vbHRpcFk6IDAsXHJcbiAgICAgICBzdHJva2VPcGFjaXR5OiAwLFxyXG4gICAgIH0pO1xyXG4gICBcclxuICAgICBzZXJpZXMuZGF0YS5zZXRBbGwodGhpcy5kZW1vR3JhcGhpY3NEYXRhKTtcclxuICAgICBzZXJpZXMuYXBwZWFyKCk7XHJcbiAgIFxyXG4gICAgIHJldHVybiBzZXJpZXM7ICAvLyBSZXR1cm4gdGhlIHNlcmllcyB0byBhZGQgaXQgdG8gdGhlIGxlZ2VuZFxyXG4gICB9XHJcbiAgIGdldEJ1eWVycygpe1xyXG4gICAgIGRlbGV0ZSB0aGlzLm9iakRhdGFUcmFmZmljLmxpbWl0O1xyXG4gICAgIGRlbGV0ZSB0aGlzLm9iakRhdGFUcmFmZmljLm9mZnNldDtcclxuICAgICB0aGlzLmJ1eWVyc2xvYWRpbmcgPSB0cnVlO1xyXG4gICAgIHRoaXMuYnV5ZXJzTm9EYXRhID1mYWxzZTtcclxuICAgICB0aGlzLnNlcnZpY2VcclxuICAgICAuZ2V0QnV5ZXJzQ2hhcnQodGhpcy5vYmpEYXRhVHJhZmZpYylcclxuICAgICAucGlwZSh0YWtlVW50aWwodGhpcy5kZXN0cm95JCkpXHJcbiAgICAgPy5zdWJzY3JpYmUoe1xyXG4gICAgICAgbmV4dDogKHJlczogYW55KSA9PiB7XHJcbiAgICAgICAgIGlmIChyZXMgJiYgcmVzLmNvZGUgPT09IDIwMCkge1xyXG4gICAgICAgICAgIHRoaXMuYnV5ZXJzRGF0YSA9IHJlcz8uZGF0YS5idXllckRhdGE7XHJcbiAgICAgICAgICBcclxuICAgICAgICAgIHRoaXMuZ2V0QnV5ZXJzQ2hhcnQoKTsgLy8gQ2FsbCB3aXRoIGEgZGVsYXkgdG8gZW5zdXJlIHRoZSBlbGVtZW50IGlzIGluIHRoZSBET01cclxuICAgICAgICAgIHRoaXMuY2QuZGV0ZWN0Q2hhbmdlcygpOyBcclxuICAgICAgICAgIHRoaXMuYnV5ZXJzTm9EYXRhID1mYWxzZTtcclxuICAgICAgICAgIHRoaXMuYnV5ZXJzbG9hZGluZyA9IGZhbHNlO1xyXG4gICAgICAgICB9IGVsc2V7XHJcbiAgICAgICAgICAgdGhpcy5idXllcnNsb2FkaW5nID0gZmFsc2U7XHJcbiAgICAgICAgICAgdGhpcy5idXllcnNOb0RhdGEgPXRydWU7XHJcbiAgICAgICAgIH1cclxuICAgICAgIH0sXHJcbiAgICAgICBlcnJvcjogKGVycjogYW55KSA9PiB7XHJcbiAgICAgICAgIHRoaXMuY2QuZGV0ZWN0Q2hhbmdlcygpO1xyXG4gICAgICAgfSxcclxuICAgICAgIGNvbXBsZXRlOiAoKSA9PiB7fSxcclxuICAgICB9KTtcclxuICAgfVxyXG4gICBnZXRCdXllcnNDaGFydCgpOiB2b2lkIHtcclxuICAgICB0aGlzLmNoYXJ0Tm9EYXRhID0gZmFsc2U7XHJcbiAgICAgdGhpcy5jaGFydGxvYWRpbmcgPSBmYWxzZTtcclxuICAgICB0aGlzLmJ1eWVyc05vRGF0YSA9ZmFsc2U7XHJcbiAgICAgdGhpcy5idXllcnNsb2FkaW5nID0gZmFsc2U7XHJcbiAgICAgc2V0VGltZW91dCgoKSA9PiB7XHJcbiAgICAgY29uc3QgYnV5ZXJzRGl2ID0gZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoXCJidXllcnNDaGFydHNcIik7XHJcbiAgICAgaWYgKCFidXllcnNEaXYpIHtcclxuICAgICAgIHJldHVybjtcclxuICAgICB9XHJcbiBcclxuICAgICAvLyBEaXNwb3NlIG9mIHByZXZpb3VzIGNoYXJ0IGlmIGl0IGV4aXN0c1xyXG4gICAgIGlmICh0aGlzLmJ1eWVyc3Jvb3QpIHtcclxuICAgICAgIHRoaXMuYnV5ZXJzcm9vdC5kaXNwb3NlKCk7XHJcbiAgICAgfVxyXG4gXHJcbiAgICAgLy8gQ3JlYXRlIGEgbmV3IGNoYXJ0XHJcbiAgICAgdGhpcy5idXllcnNyb290ID0gYW01LlJvb3QubmV3KGJ1eWVyc0Rpdik7XHJcbiAgICAgdGhpcy5idXllcnNyb290LnNldFRoZW1lcyhbXHJcbiAgICAgICBhbTV0aGVtZXNfQW5pbWF0ZWQubmV3KHRoaXMuYnV5ZXJzcm9vdCksXHJcbiAgICAgXSk7XHJcbiBcclxuICAgICB0aGlzLmJ1eWVyc0NoYXJ0SW5zdGFuY2UgPVxyXG4gICAgICAgdGhpcy5idXllcnNyb290LmNvbnRhaW5lci5jaGlsZHJlbi5wdXNoKFxyXG4gICAgICAgICBhbTV4eS5YWUNoYXJ0Lm5ldyh0aGlzLmJ1eWVyc3Jvb3QsIHtcclxuICAgICAgICAgICBwYW5YOiBmYWxzZSxcclxuICAgICAgICAgICBwYW5ZOiBmYWxzZSxcclxuICAgICAgICAgICBwYWRkaW5nTGVmdDogMCxcclxuICAgICAgICAgICB3aGVlbFg6IFwicGFuWFwiLFxyXG4gICAgICAgICAgIHdoZWVsWTogXCJ6b29tWFwiLFxyXG4gICAgICAgICAgIGxheW91dDogdGhpcy5idXllcnNyb290LnZlcnRpY2FsTGF5b3V0LFxyXG4gICAgICAgICB9KVxyXG4gICAgICAgKTtcclxuIFxyXG4gICAgIGxldCB4UmVuZGVyZXIgPSBhbTV4eS5BeGlzUmVuZGVyZXJYLm5ldyh0aGlzLmJ1eWVyc3Jvb3QsIHtcclxuICAgICAgIGNlbGxTdGFydExvY2F0aW9uOiAwLjEsXHJcbiAgICAgICBjZWxsRW5kTG9jYXRpb246IDAuOSxcclxuICAgICAgIG1pbm9yR3JpZEVuYWJsZWQ6IHRydWUsXHJcbiAgICAgfSk7XHJcbiBcclxuICAgICBsZXQgeEF4aXMgPSB0aGlzLmJ1eWVyc0NoYXJ0SW5zdGFuY2UueEF4ZXMucHVzaChcclxuICAgICAgIGFtNXh5LkNhdGVnb3J5QXhpcy5uZXcodGhpcy5idXllcnNyb290LCB7XHJcbiAgICAgICAgIGNhdGVnb3J5RmllbGQ6IFwiYWdlXCIsXHJcbiAgICAgICAgIHJlbmRlcmVyOiB4UmVuZGVyZXIsXHJcbiAgICAgICAgIHRvb2x0aXA6IGFtNS5Ub29sdGlwLm5ldyh0aGlzLmJ1eWVyc3Jvb3QsIHt9KSxcclxuICAgICAgIH0pXHJcbiAgICAgKTtcclxuICAgICB0aGlzLmJ1eWVyc0RhdGEgPSB0aGlzLmJ1eWVyc0RhdGE/Lm1hcChcclxuICAgICAgIChpdGVtOiBhbnkpID0+ICh7XHJcbiAgICAgICAgIGFnZTogaXRlbS5hZ2UsXHJcbiAgICAgICAgIHNpbmdsZUNvdW50OiBOdW1iZXIoaXRlbS5zaW5nbGVDb3VudCksXHJcbiAgICAgICAgIGdyb3VwQ291bnQ6IE51bWJlcihpdGVtLmdyb3VwQ291bnQpLFxyXG4gICAgICAgfSlcclxuICAgICApO1xyXG4gICAgIHhSZW5kZXJlci5ncmlkLnRlbXBsYXRlLnNldEFsbCh7IGxvY2F0aW9uOiAxIH0pO1xyXG4gICAgIHhBeGlzLmRhdGEuc2V0QWxsKHRoaXMuYnV5ZXJzRGF0YSk7XHJcbiBcclxuICAgICBsZXQgeUF4aXMgPSB0aGlzLmJ1eWVyc0NoYXJ0SW5zdGFuY2UueUF4ZXMucHVzaChcclxuICAgICAgIGFtNXh5LlZhbHVlQXhpcy5uZXcodGhpcy5idXllcnNyb290LCB7XHJcbiAgICAgICAgIHJlbmRlcmVyOiBhbTV4eS5BeGlzUmVuZGVyZXJZLm5ldyh0aGlzLmJ1eWVyc3Jvb3QsIHtcclxuICAgICAgICAgICBzdHJva2VPcGFjaXR5OiAwLjEsXHJcbiAgICAgICAgIH0pLFxyXG4gICAgICAgfSlcclxuICAgICApO1xyXG4gICAgIGxldCBsZWdlbmQgPSB0aGlzLmJ1eWVyc0NoYXJ0SW5zdGFuY2UuY2hpbGRyZW4ucHVzaChcclxuICAgICAgIGFtNS5MZWdlbmQubmV3KHRoaXMuYnV5ZXJzcm9vdCwge1xyXG4gICAgICAgICB4OiBhbTUucDEwMCwgICAgLy8gQWxpZ24gdG8gMTAwJSB3aWR0aCAocmlnaHQgc2lkZSlcclxuICAgICB5OiBhbTUucDAsICAgICAgLy8gQWxpZ24gdG8gdGhlIHRvcFxyXG4gICAgIGNlbnRlclg6IGFtNS5wMTAwLCAgLy8gQWxpZ24gdGhlIGNlbnRlciBvZiB0aGUgbGVnZW5kIHRvIGl0cyByaWdodFxyXG4gICAgIGNlbnRlclk6IGFtNS5wMCwgICAgLy8gQWxpZ24gdGhlIHRvcCBvZiB0aGUgbGVnZW5kIHRvIHRoZSB0b3Agb2YgdGhlIGNoYXJ0XHJcbiAgICAgICB9KVxyXG4gICAgICk7XHJcbiAgICAgXHJcbiAgIGNvbnN0IHNpbmdsZUNvdW50ID0gIHRoaXMuZ2V0QnV5ZXJTZXJpZXMoXCJTaW5nbGVcIiwgXCJzaW5nbGVDb3VudFwiLCB4QXhpcywgeUF4aXMpO1xyXG4gICBjb25zdCBncm91cENvdW50ID0gIHRoaXMuZ2V0QnV5ZXJTZXJpZXMoXCJHcm91cFwiLCBcImdyb3VwQ291bnRcIiwgeEF4aXMsIHlBeGlzKTtcclxuICAgICBsZWdlbmQuZGF0YS5zZXRBbGwoW3NpbmdsZUNvdW50LCBncm91cENvdW50XSk7XHJcbiAgICAgdGhpcy5idXllcnNDaGFydEluc3RhbmNlLmFwcGVhcigxMDAwLCAxMDApO1xyXG4gICB9LDApO1xyXG4gfVxyXG4gZ2V0QnV5ZXJTZXJpZXMoXHJcbiAgIG5hbWU6IHN0cmluZyxcclxuICAgZmllbGROYW1lOiBzdHJpbmcsXHJcbiAgIHhBeGlzOiBhbTV4eS5DYXRlZ29yeUF4aXM8YW01eHkuQXhpc1JlbmRlcmVyPixcclxuICAgeUF4aXM6IGFtNXh5LlZhbHVlQXhpczxhbTV4eS5BeGlzUmVuZGVyZXI+XHJcbiApIHtcclxuICAgbGV0IHNlcmllcyA9IHRoaXMuYnV5ZXJzQ2hhcnRJbnN0YW5jZS5zZXJpZXMucHVzaChcclxuICAgICBhbTV4eS5Db2x1bW5TZXJpZXMubmV3KHRoaXMuYnV5ZXJzcm9vdCwge1xyXG4gICAgICAgbmFtZTogbmFtZSxcclxuICAgICAgIHhBeGlzOiB4QXhpcyxcclxuICAgICAgIHlBeGlzOiB5QXhpcyxcclxuICAgICAgIHZhbHVlWUZpZWxkOiBmaWVsZE5hbWUsXHJcbiAgICAgICBjYXRlZ29yeVhGaWVsZDogXCJhZ2VcIiwgIC8vIEFzc3VtaW5nIFwiYWdlXCIgaXMgdGhlIGNhdGVnb3J5IGZpZWxkXHJcbiAgICAgfSlcclxuICAgKTtcclxuIFxyXG4gICBzZXJpZXMuY29sdW1ucy50ZW1wbGF0ZS5zZXRBbGwoe1xyXG4gICAgIHRvb2x0aXBUZXh0OiBcIntuYW1lfToge3ZhbHVlWX1cIixcclxuICAgICB3aWR0aDogYW01LnBlcmNlbnQoOTApLFxyXG4gICAgIHRvb2x0aXBZOiAwLFxyXG4gICAgIHN0cm9rZU9wYWNpdHk6IDAsXHJcbiAgIH0pO1xyXG4gXHJcbiAgIHNlcmllcy5kYXRhLnNldEFsbCh0aGlzLmJ1eWVyc0RhdGEpOyAgLy8gQXNzdW1pbmcgeW91IGhhdmUgYnV5ZXJzRGF0YVxyXG4gXHJcbiAgIHJldHVybiBzZXJpZXM7ICAvLyBSZXR1cm4gdGhlIHNlcmllcyBmb3IgbGVnZW5kXHJcbiBcclxuIH1cclxuIG9iakRhdGFUcmFmZmljOmFueT17fTtcclxuICAgIG92ZXJhbGxDYXJkKCkge1xyXG4gICAgICAodGhpcy5vYmpEYXRhVHJhZmZpYy5saW1pdCA9IDEwKSwgKHRoaXMub2JqRGF0YVRyYWZmaWMub2Zmc2V0ID0gMCk7XHJcbiAgICAgICh0aGlzLm9iakRhdGFUcmFmZmljLmNvbnZlcnNpb250eXBlID0gdGhpcy50YWJsZW9iai5jb252ZXJzaW9udHlwZSk7XHJcbiAgICAgIGRlbGV0ZSB0aGlzLm9iakRhdGFUcmFmZmljLm5vcm1hbGl6ZWREYXRhO1xyXG4gICAgICBkZWxldGUgdGhpcy5vYmpEYXRhVHJhZmZpYy5yZXZlbnVlO1xyXG4gICAgICBkZWxldGUgdGhpcy5vYmpEYXRhVHJhZmZpYy5ob3VyRm9ybWF0O1xyXG4gICAgICBkZWxldGUgdGhpcy5vYmpEYXRhVHJhZmZpYy5kYXRlUmFuZ2U7XHJcbiAgICAgIHRoaXMuc2VydmljZVxyXG4gICAgICAgIC5nZXRPdmVyYWxsQ2FyZHModGhpcy5vYmpEYXRhVHJhZmZpYylcclxuICAgICAgICAucGlwZSh0YWtlVW50aWwodGhpcy5kZXN0cm95JCkpXHJcbiAgICAgICAgPy5zdWJzY3JpYmUoe1xyXG4gICAgICAgICAgbmV4dDogKHJlczogYW55KSA9PiB7XHJcbiAgICAgICAgICAgIGlmIChyZXMgJiYgcmVzLmNvZGUgPT09IDIwMCkge1xyXG4gICAgICAgICAgICAgIHRoaXMuZ2V0T3ZlcmFsbENhcmREYXRhID0gcmVzPy5kYXRhO1xyXG4gICAgICAgICAgICB9XHJcbiAgICAgICAgICB9LFxyXG4gICAgICAgICAgZXJyb3I6IChlcnI6IGFueSkgPT4ge1xyXG4gICAgICAgICAgICB0aGlzLmNkLmRldGVjdENoYW5nZXMoKTtcclxuICAgICAgICAgIH0sXHJcbiAgICAgICAgICBjb21wbGV0ZTogKCkgPT4ge30sXHJcbiAgICAgICAgfSk7XHJcbiAgICB9XHJcbiAgXHJcbiAgICBvdmVyYWxsSG91cmx5Q2hhcnQoKSB7XHJcbiAgICAgIHRoaXMuY2hhcnROb0RhdGEgPSBmYWxzZTtcclxuICAgICAgdGhpcy5jaGFydGxvYWRpbmcgPSB0cnVlO1xyXG4gICAgICAodGhpcy5vYmpEYXRhVHJhZmZpYy5saW1pdCA9IDEwKSwgKHRoaXMub2JqRGF0YVRyYWZmaWMub2Zmc2V0ID0gMCk7XHJcbiAgICAgIGRlbGV0ZSB0aGlzLm9iakRhdGFUcmFmZmljLm5vcm1hbGl6ZWREYXRhO1xyXG4gICAgICBkZWxldGUgdGhpcy5vYmpEYXRhVHJhZmZpYy5yZXZlbnVlO1xyXG4gIGRlbGV0ZSB0aGlzLm9iakRhdGFUcmFmZmljLmhvdXJGb3JtYXRcclxuICAgICAgZGVsZXRlIHRoaXMub2JqRGF0YVRyYWZmaWMuZGF0ZVJhbmdlO1xyXG4gICAgICB0aGlzLnNlcnZpY2VcclxuICAgICAgICAuZ2V0T3ZlcmFsbEhvdXJseUNoYXJ0KHRoaXMub2JqRGF0YVRyYWZmaWMpXHJcbiAgICAgICAgLnBpcGUodGFrZVVudGlsKHRoaXMuZGVzdHJveSQpKVxyXG4gICAgICAgID8uc3Vic2NyaWJlKHtcclxuICAgICAgICAgIG5leHQ6IChyZXM6IGFueSkgPT4ge1xyXG4gICAgICAgICAgICBpZiAocmVzICYmIHJlcy5jb2RlID09PSAyMDApIHtcclxuICAgICAgICAgICAgICB0aGlzLmNoYXJ0Tm9EYXRhID0gZmFsc2U7XHJcbiAgICAgICAgICAgICAgdGhpcy5jaGFydGxvYWRpbmcgPSBmYWxzZTtcclxuICAgICAgICAgICAgICB0aGlzLmdldE92ZXJhbGxIb3VybHlEYXRhID0gcmVzPy5kYXRhPy5ob3VybHlEYXRhO1xyXG4gICAgICAgICAgICAgIHRoaXMuaW5pdEhlYXRDaGFydCgpO1xyXG4gICAgICAgICAgICAgIHRoaXMuY2QuZGV0ZWN0Q2hhbmdlcygpO1xyXG4gICAgICAgICAgICB9IGVsc2Uge1xyXG4gICAgICAgICAgICAgIHRoaXMuY2hhcnROb0RhdGEgPSB0cnVlO1xyXG4gICAgICAgICAgICAgIHRoaXMuY2hhcnRsb2FkaW5nID0gZmFsc2U7XHJcbiAgICAgICAgICAgIH1cclxuICAgICAgICAgIH0sXHJcbiAgICAgICAgICBlcnJvcjogKGVycjogYW55KSA9PiB7XHJcbiAgICAgICAgICAgIHRoaXMuY2QuZGV0ZWN0Q2hhbmdlcygpO1xyXG4gICAgICAgICAgfSxcclxuICAgICAgICAgIGNvbXBsZXRlOiAoKSA9PiB7fSxcclxuICAgICAgICB9KTtcclxuICAgIH1cclxuICAgIG92ZXJhbGxDaGFydCgpIHtcclxuICAgICAgdGhpcy5vZmZzZXRUcmFmZmljQ2FyZCA9MDtcclxuICAgICAgdGhpcy5saW1pdFRyYWZmaWNDYXJkID0yMDtcclxuICAgICAgdGhpcy5jaGFydE5vRGF0YSA9IGZhbHNlO1xyXG4gICAgICB0aGlzLmNoYXJ0bG9hZGluZyA9IHRydWU7XHJcbiAgICAgICh0aGlzLm9iakRhdGFUcmFmZmljLmxpbWl0ID0gMjApLCAodGhpcy5vYmpEYXRhVHJhZmZpYy5vZmZzZXQgPSAwKTtcclxuICAgICAgZGVsZXRlIHRoaXMub2JqRGF0YVRyYWZmaWMubm9ybWFsaXplZERhdGE7XHJcbiAgICAgIGRlbGV0ZSB0aGlzLm9iakRhdGFUcmFmZmljLnJldmVudWU7XHJcbiAgICAgIGRlbGV0ZSB0aGlzLm9iakRhdGFUcmFmZmljLmhvdXJGb3JtYXQ7XHJcbiAgICAgIGRlbGV0ZSB0aGlzLm9iakRhdGFUcmFmZmljLmRhdGVSYW5nZTtcclxuICAgICAgdGhpcy5zZXJ2aWNlXHJcbiAgICAgICAgLmdldE92ZXJhbGxDaGFydCh0aGlzLm9iakRhdGFUcmFmZmljKVxyXG4gICAgICAgIC5waXBlKHRha2VVbnRpbCh0aGlzLmRlc3Ryb3kkKSxkZWJvdW5jZVRpbWUoMzAwKSlcclxuICAgICAgICA/LnN1YnNjcmliZSh7XHJcbiAgICAgICAgICBuZXh0OiAocmVzOiBhbnkpID0+IHtcclxuICAgICAgICAgICAgaWYgKHJlcyAmJiByZXMuY29kZSA9PT0gMjAwKSB7XHJcbiAgICAgICAgICAgICAgdGhpcy5nZXRPdmVyYWxsQ2hhcnREYXRhID0gcmVzPy5kYXRhO1xyXG4gICAgICAgICAgICAgIHRoaXMudG90YWxJdGVtc1RyYWZmaWNDYXJkID0gcmVzLmRhdGEudG90YWxDb3VudFxyXG4gICAgICAgICAgICAgIHRoaXMuY2hhcnROb0RhdGEgPSBmYWxzZTtcclxuICAgICAgICAgICAgICB0aGlzLmNoYXJ0bG9hZGluZyA9IGZhbHNlO1xyXG4gICAgICAgICAgICAgIHRoaXMuaW5pdENoYXJ0KCk7XHJcbiAgICAgICAgdGhpcy5zZXRQYWdpbmF0aW9uU2l6ZXNUcmFmZmljQ2FyZCgpO1xyXG4gICAgICAgICAgICAgIHRoaXMuY2QuZGV0ZWN0Q2hhbmdlcygpO1xyXG4gICAgICAgICAgICB9IGVsc2Uge1xyXG4gICAgICAgICAgICAgIHRoaXMuY2hhcnROb0RhdGEgPSB0cnVlO1xyXG4gICAgICAgICAgICAgIHRoaXMuY2hhcnRsb2FkaW5nID0gZmFsc2U7XHJcbiAgICAgICAgICAgIH1cclxuICAgICAgICAgIH0sXHJcbiAgICAgICAgICBlcnJvcjogKGVycjogYW55KSA9PiB7XHJcbiAgICAgICAgICAgIHRoaXMuY2QuZGV0ZWN0Q2hhbmdlcygpO1xyXG4gICAgICAgICAgfSxcclxuICAgICAgICAgIGNvbXBsZXRlOiAoKSA9PiB7fSxcclxuICAgICAgICB9KTtcclxuICAgIH1cclxuICAgIHNldFBhZ2luYXRpb25TaXplc1RyYWZmaWNDYXJkKCkge1xyXG4gICAgICBpZiAodGhpcy50b3RhbEl0ZW1zVHJhZmZpY0NhcmQgPiAyMCkge1xyXG4gICAgICAgIHRoaXMucGFnaW5hdGlvblNpemVzVHJhZmZpY0NhcmQgPSBbMjBdO1xyXG4gICAgICB9IGVsc2Uge1xyXG4gICAgICAgIHRoaXMucGFnaW5hdGlvblNpemVzVHJhZmZpY0NhcmQgPSBbdGhpcy50b3RhbEl0ZW1zVHJhZmZpY0NhcmRdOyAvLyBKdXN0IG9uZSBvcHRpb24gaWYgbGVzcyB0aGFuIDEwXHJcbiAgICAgIH1cclxuICAgICAgdGhpcy5wYWdlU2l6ZVRyYWZmaWNDYXJkID0gdGhpcy5wYWdpbmF0aW9uU2l6ZXNUcmFmZmljQ2FyZFswXTtcclxuICAgIH1cclxuICAgIG9uUGFnZUNoYW5nZVRyYWZmaWNDYXJkKHBhZ2VPZmZzZXQ6IG51bWJlcikge1xyXG4gICAgICB0aGlzLm9mZnNldFRyYWZmaWNDYXJkID0gTnVtYmVyKHBhZ2VPZmZzZXQpO1xyXG4gICAgICB0aGlzLm9iakRhdGFUcmFmZmljLm9mZnNldCA9IHRoaXMub2Zmc2V0VHJhZmZpY0NhcmQgLTE7XHJcbiAgICAgIHRoaXMub2JqRGF0YVRyYWZmaWMubGltaXQgPSB0aGlzLmxpbWl0VHJhZmZpY0NhcmQ7XHJcbiAgICAgIGRlbGV0ZSB0aGlzLm9iakRhdGFUcmFmZmljLm5vcm1hbGl6ZWREYXRhO1xyXG4gICAgICBkZWxldGUgdGhpcy5vYmpEYXRhVHJhZmZpYy5yZXZlbnVlO1xyXG4gICAgICBkZWxldGUgdGhpcy5vYmpEYXRhVHJhZmZpYy5ob3VyRm9ybWF0O1xyXG4gICAgICBkZWxldGUgdGhpcy5vYmpEYXRhVHJhZmZpYy5kYXRlUmFuZ2U7XHJcbiAgICAgIHRoaXMuc2VydmljZVxyXG4gICAgICAuZ2V0T3ZlcmFsbENoYXJ0KHRoaXMub2JqRGF0YVRyYWZmaWMpXHJcbiAgICAgIC5waXBlKHRha2VVbnRpbCh0aGlzLmRlc3Ryb3kkKSxkZWJvdW5jZVRpbWUoMzAwKSlcclxuICAgICAgPy5zdWJzY3JpYmUoe1xyXG4gICAgICAgIG5leHQ6IChyZXM6IGFueSkgPT4ge1xyXG4gICAgICAgICAgaWYgKHJlcyAmJiByZXMuY29kZSA9PT0gMjAwKSB7XHJcbiAgICAgICAgICAgIHRoaXMuZ2V0T3ZlcmFsbENoYXJ0RGF0YSA9IHJlcz8uZGF0YTtcclxuICAgICAgICAgICAgdGhpcy50b3RhbEl0ZW1zVHJhZmZpY0NhcmQgPSByZXMuZGF0YS50b3RhbENvdW50XHJcbiAgICAgICAgICAgIHRoaXMuY2hhcnROb0RhdGEgPSBmYWxzZTtcclxuICAgICAgICAgICAgdGhpcy5jaGFydGxvYWRpbmcgPSBmYWxzZTtcclxuICAgICAgICAgICAgdGhpcy5pbml0Q2hhcnQoKTtcclxuICAgICAgICAgICAgdGhpcy5jZC5kZXRlY3RDaGFuZ2VzKCk7XHJcbiAgICAgICAgICB9IGVsc2Uge1xyXG4gICAgICAgICAgICB0aGlzLmNoYXJ0Tm9EYXRhID0gdHJ1ZTtcclxuICAgICAgICAgICAgdGhpcy5jaGFydGxvYWRpbmcgPSBmYWxzZTtcclxuICAgICAgICAgIH1cclxuICAgICAgICB9LFxyXG4gICAgICAgIGVycm9yOiAoZXJyOiBhbnkpID0+IHtcclxuICAgICAgICAgIHRoaXMuY2QuZGV0ZWN0Q2hhbmdlcygpO1xyXG4gICAgICAgIH0sXHJcbiAgICAgICAgY29tcGxldGU6ICgpID0+IHt9LFxyXG4gICAgICB9KTtcclxuICAgIH1cclxuICBcclxuICAgIG9uUGFnZVNpemVDaGFuZ2VUcmFmZmljQ2FyZChwYWdlU2l6ZTogbnVtYmVyKSB7XHJcbiAgICAgIHRoaXMucGFnZVNpemVUcmFmZmljQ2FyZCA9IE51bWJlcihwYWdlU2l6ZSk7XHJcbiAgICAgIHRoaXMubGltaXRUcmFmZmljQ2FyZCA9IE51bWJlcihwYWdlU2l6ZSk7XHJcbiAgICAgIHRoaXMuY3VycmVudFBhZ2VUcmFmZmljQ2FyZCA9IDE7XHJcbiAgICAgIHRoaXMub2Zmc2V0VHJhZmZpY0NhcmQgPSAwO1xyXG4gICAgICB0aGlzLm9iakRhdGFUcmFmZmljLm9mZnNldCA9IHRoaXMub2Zmc2V0VHJhZmZpY0NhcmQ7XHJcbiAgICAgIHRoaXMub2JqRGF0YVRyYWZmaWMubGltaXQgPSB0aGlzLmxpbWl0VHJhZmZpY0NhcmQ7XHJcbiAgICAgIHRoaXMub3ZlcmFsbENoYXJ0KCk7XHJcbiAgICB9XHJcblxyXG4gICAgdHJhZmZpY0hlYXRDaGFydCgpIHtcclxuICAgICAgdGhpcy5jaGFydE5vRGF0YSA9IGZhbHNlO1xyXG4gICAgICB0aGlzLmNoYXJ0bG9hZGluZyA9IGZhbHNlO1xyXG4gICAgXHJcbiAgICAgIHNldFRpbWVvdXQoKCkgPT4ge1xyXG4gICAgICAgIGNvbnN0IGNoYXJ0RGl2ID0gZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoXCJ0cmFmZmljSGVhdG1hcENoYXJ0XCIpO1xyXG4gICAgICAgIGlmICghY2hhcnREaXYpIHtcclxuICAgICAgICAgIHJldHVybjtcclxuICAgICAgICB9XHJcbiAgICBcclxuICAgICAgICAvLyBEaXNwb3NlIG9mIHRoZSBwcmV2aW91cyBjaGFydCBpbnN0YW5jZSBpZiBpdCBleGlzdHNcclxuICAgICAgICBpZiAodGhpcy5oZWF0TWFwUm9vdCkge1xyXG4gICAgICAgICAgdGhpcy5oZWF0TWFwUm9vdC5kaXNwb3NlKCk7XHJcbiAgICAgICAgfVxyXG4gICAgXHJcbiAgICAgICAgLy8gSW5pdGlhbGl6ZSB0aGUgY2hhcnQgcm9vdFxyXG4gICAgICAgIHRoaXMuaGVhdE1hcFJvb3QgPSBhbTUuUm9vdC5uZXcoXCJ0cmFmZmljSGVhdG1hcENoYXJ0XCIpO1xyXG4gICAgICAgIHRoaXMuaGVhdE1hcFJvb3QuY29udGFpbmVyLnNldEFsbCh7XHJcbiAgICAgICAgICB3aWR0aDogYW01LnBlcmNlbnQoMTAwKSxcclxuICAgICAgICB9KTtcclxuICAgIFxyXG4gICAgICAgIC8vIEFwcGx5IHRoZW1lc1xyXG4gICAgICAgIHRoaXMuaGVhdE1hcFJvb3Quc2V0VGhlbWVzKFtcclxuICAgICAgICAgIGFtNXRoZW1lc19BbmltYXRlZC5uZXcodGhpcy5oZWF0TWFwUm9vdCksXHJcbiAgICAgICAgICBhbTV0aGVtZXNfUmVzcG9uc2l2ZS5uZXcodGhpcy5oZWF0TWFwUm9vdCksXHJcbiAgICAgICAgXSk7XHJcbiAgICBcclxuICAgICAgICAvLyBDcmVhdGUgdGhlIGNoYXJ0XHJcbiAgICAgICAgdGhpcy5oZWF0TWFwQ2hhcnQgPSB0aGlzLmhlYXRNYXBSb290LmNvbnRhaW5lci5jaGlsZHJlbi5wdXNoKFxyXG4gICAgICAgICAgYW01eHkuWFlDaGFydC5uZXcodGhpcy5oZWF0TWFwUm9vdCwge1xyXG4gICAgICAgICAgICBwYW5YOiBmYWxzZSxcclxuICAgICAgICAgICAgcGFuWTogZmFsc2UsXHJcbiAgICAgICAgICAgIHdoZWVsWDogXCJub25lXCIsXHJcbiAgICAgICAgICAgIHdoZWVsWTogXCJub25lXCIsXHJcbiAgICAgICAgICAgIHBhZGRpbmdMZWZ0OiAwLFxyXG4gICAgICAgICAgICBsYXlvdXQ6IHRoaXMuaGVhdE1hcFJvb3QudmVydGljYWxMYXlvdXQsXHJcbiAgICAgICAgICB9KVxyXG4gICAgICAgICk7XHJcbiAgICBcclxuICAgICAgICAvLyBDcmVhdGUgWS1heGlzXHJcbiAgICAgICAgY29uc3QgeVJlbmRlcmVyID0gYW01eHkuQXhpc1JlbmRlcmVyWS5uZXcodGhpcy5oZWF0TWFwUm9vdCwge1xyXG4gICAgICAgICAgdmlzaWJsZTogZmFsc2UsXHJcbiAgICAgICAgICBtaW5HcmlkRGlzdGFuY2U6IDMwLFxyXG4gICAgICAgICAgaW52ZXJzZWQ6IHRydWUsXHJcbiAgICAgICAgICBtaW5vckdyaWRFbmFibGVkOiB0cnVlLFxyXG4gICAgICAgIH0pO1xyXG4gICAgICAgIHlSZW5kZXJlci5ncmlkLnRlbXBsYXRlLnNldChcInZpc2libGVcIiwgZmFsc2UpO1xyXG4gICAgXHJcbiAgICAgICAgY29uc3QgeUF4aXMgPSB0aGlzLmhlYXRNYXBDaGFydC55QXhlcy5wdXNoKFxyXG4gICAgICAgICAgYW01eHkuQ2F0ZWdvcnlBeGlzLm5ldyh0aGlzLmhlYXRNYXBSb290LCB7XHJcbiAgICAgICAgICAgIG1heERldmlhdGlvbjogMCxcclxuICAgICAgICAgICAgcmVuZGVyZXI6IHlSZW5kZXJlcixcclxuICAgICAgICAgICAgY2F0ZWdvcnlGaWVsZDogXCJob3VyXCIsXHJcbiAgICAgICAgICB9KVxyXG4gICAgICAgICk7XHJcbiAgICBcclxuICAgICAgICAvLyBDcmVhdGUgWC1heGlzXHJcbiAgICAgICAgY29uc3QgeFJlbmRlcmVyID0gYW01eHkuQXhpc1JlbmRlcmVyWC5uZXcodGhpcy5oZWF0TWFwUm9vdCwge1xyXG4gICAgICAgICAgdmlzaWJsZTogZmFsc2UsXHJcbiAgICAgICAgICBtaW5HcmlkRGlzdGFuY2U6IDMwLFxyXG4gICAgICAgICAgbWlub3JHcmlkRW5hYmxlZDogdHJ1ZSxcclxuICAgICAgICB9KTtcclxuICAgICAgICB4UmVuZGVyZXIuZ3JpZC50ZW1wbGF0ZS5zZXQoXCJ2aXNpYmxlXCIsIGZhbHNlKTtcclxuICAgIFxyXG4gICAgICAgIGNvbnN0IHhBeGlzID0gdGhpcy5oZWF0TWFwQ2hhcnQueEF4ZXMucHVzaChcclxuICAgICAgICAgIGFtNXh5LkNhdGVnb3J5QXhpcy5uZXcodGhpcy5oZWF0TWFwUm9vdCwge1xyXG4gICAgICAgICAgICByZW5kZXJlcjogeFJlbmRlcmVyLFxyXG4gICAgICAgICAgICBjYXRlZ29yeUZpZWxkOiBcIndlZWtkYXlcIixcclxuICAgICAgICAgIH0pXHJcbiAgICAgICAgKTtcclxuICAgIFxyXG4gICAgICAgIC8vIEFkZCBZLWF4aXMgbGFiZWxcclxuICAgICAgICB5QXhpcy5jaGlsZHJlbi51bnNoaWZ0KFxyXG4gICAgICAgICAgYW01LkxhYmVsLm5ldyh0aGlzLmhlYXRNYXBSb290LCB7XHJcbiAgICAgICAgICAgIHJvdGF0aW9uOiAtOTAsXHJcbiAgICAgICAgICAgIHRleHQ6IFwiSG91cnNcIixcclxuICAgICAgICAgICAgeTogYW01LnA1MCxcclxuICAgICAgICAgICAgY2VudGVyWDogYW01LnA1MCxcclxuICAgICAgICAgICAgZm9udEZhbWlseTogXCJBcmlhbFwiLFxyXG4gICAgICAgICAgICBmb250U2l6ZTogXCIxNHB4XCIsXHJcbiAgICAgICAgICAgIGZpbGw6IGFtNS5jb2xvcigweDAwMDAwMCksXHJcbiAgICAgICAgICB9KVxyXG4gICAgICAgICk7XHJcbiAgICBcclxuICAgICAgICAvLyBDcmVhdGUgc2VyaWVzXHJcbiAgICAgICAgdGhpcy5oZWF0TWFwU2VyaWVzID0gdGhpcy5oZWF0TWFwQ2hhcnQuc2VyaWVzLnB1c2goXHJcbiAgICAgICAgICBhbTV4eS5Db2x1bW5TZXJpZXMubmV3KHRoaXMuaGVhdE1hcFJvb3QsIHtcclxuICAgICAgICAgICAgY2FsY3VsYXRlQWdncmVnYXRlczogdHJ1ZSxcclxuICAgICAgICAgICAgc3Ryb2tlOiBhbTUuY29sb3IoMHhmZmZmZmYpLFxyXG4gICAgICAgICAgICBjbHVzdGVyZWQ6IGZhbHNlLFxyXG4gICAgICAgICAgICB4QXhpczogeEF4aXMsXHJcbiAgICAgICAgICAgIHlBeGlzOiB5QXhpcyxcclxuICAgICAgICAgICAgY2F0ZWdvcnlYRmllbGQ6IFwid2Vla2RheVwiLFxyXG4gICAgICAgICAgICBjYXRlZ29yeVlGaWVsZDogXCJob3VyXCIsXHJcbiAgICAgICAgICAgIHZhbHVlRmllbGQ6IFwidmFsdWVcIixcclxuICAgICAgICAgIH0pXHJcbiAgICAgICAgKTtcclxuICAgICAgICBcclxuICAgICAgICAvLyBDb25maWd1cmUgY29sdW1uIGFwcGVhcmFuY2VcclxuICAgICAgICB0aGlzLmhlYXRNYXBTZXJpZXMuY29sdW1ucy50ZW1wbGF0ZS5zZXRBbGwoe1xyXG4gICAgICAgICAgdG9vbHRpcFRleHQ6IFwie3ZhbHVlfVwiLFxyXG4gICAgICAgICAgc3Ryb2tlT3BhY2l0eTogMSxcclxuICAgICAgICAgIHN0cm9rZVdpZHRoOiAyLFxyXG4gICAgICAgICAgd2lkdGg6IGFtNS5wZXJjZW50KDEwMCksXHJcbiAgICAgICAgICBoZWlnaHQ6IGFtNS5wZXJjZW50KDEwMCksXHJcbiAgICAgICAgfSk7XHJcblxyXG4gICAgICAgIHRoaXMuaGVhdE1hcFNlcmllcy5jb2x1bW5zLnRlbXBsYXRlLmFkYXB0ZXJzLmFkZChcImZpbGxcIiwgKGZpbGwsIHRhcmdldCkgPT4ge1xyXG4gICAgICAgICAgY29uc3QgZGF0YUl0ZW0gPSB0YXJnZXQuZGF0YUl0ZW0/LmRhdGFDb250ZXh0IGFzIHsgdmFsdWU6IG51bWJlciB9O1xyXG4gICAgICAgICAgcmV0dXJuIGRhdGFJdGVtICYmIGRhdGFJdGVtLnZhbHVlICE9PSB1bmRlZmluZWQgPyB0aGlzLmdldFJhbmdlQ29sb3JEeW5hbWljKGRhdGFJdGVtLnZhbHVlKSA6IGZpbGw7XHJcbiAgICAgICAgfSk7XHJcbiAgICBcclxuICAgICAgICAvLyBTZXQgY29sdW1uIGNvbG9yIGJhc2VkIG9uIHZhbHVlXHJcbiAgICAgICAgICAgIC8vIHRoaXMuaGVhdE1hcFNlcmllcy5jb2x1bW5zLnRlbXBsYXRlLmFkYXB0ZXJzLmFkZChcImZpbGxcIiwgKGZpbGwsIHRhcmdldCkgPT4ge1xyXG4gICAgICAgICAgICAvLyAgIGNvbnN0IGRhdGFJdGVtID0gdGFyZ2V0LmRhdGFJdGVtPy5kYXRhQ29udGV4dCBhcyB7IHZhbHVlOiBudW1iZXIgfTtcclxuICAgICAgICAgICAgLy8gICByZXR1cm4gZGF0YUl0ZW0gJiYgZGF0YUl0ZW0udmFsdWUgIT09IHVuZGVmaW5lZCA/IHRoaXMuZ2V0UmFuZ2VDb2xvcjEoZGF0YUl0ZW0udmFsdWUpIDogZmlsbDtcclxuICAgICAgICAgICAgLy8gfSk7XHJcbiAgICAgICAgXHJcbiAgICBcclxuICAgICAgICAvLyBBZGQgYnVsbGV0IGZvciB2YWx1ZSBsYWJlbHNcclxuICAgICAgICB0aGlzLmhlYXRNYXBTZXJpZXMuYnVsbGV0cy5wdXNoKCgpID0+IHtcclxuICAgICAgICAgIHJldHVybiBhbTUuQnVsbGV0Lm5ldyh0aGlzLmhlYXRNYXBSb290LCB7XHJcbiAgICAgICAgICAgIHNwcml0ZTogYW01LkxhYmVsLm5ldyh0aGlzLmhlYXRNYXBSb290LCB7XHJcbiAgICAgICAgICAgICAgdGV4dDogXCJ7dmFsdWV9XCIsXHJcbiAgICAgICAgICAgICAgZmlsbDogYW01LmNvbG9yKDB4MDAwMDAwKSxcclxuICAgICAgICAgICAgICBjZW50ZXJZOiBhbTUucDUwLFxyXG4gICAgICAgICAgICAgIGNlbnRlclg6IGFtNS5wNTAsXHJcbiAgICAgICAgICAgICAgcG9wdWxhdGVUZXh0OiB0cnVlLFxyXG4gICAgICAgICAgICAgIGZvbnRTaXplOiAxMixcclxuICAgICAgICAgICAgfSksXHJcbiAgICAgICAgICB9KTtcclxuICAgICAgICB9KTtcclxuICAgIFxyXG4gICAgICAgIC8vIFByZXBhcmUgYW5kIHNvcnQgZGF0YSBmb3IgdGhlIGNoYXJ0XHJcbiAgICAgICAgY29uc3QgaGVhdE1hcERhdGE6IGFueVtdID0gW107XHJcbiAgICAgICAgaWYgKHRoaXMuZ2V0Rm9vdGZhbGxEZW5zaXR5RHdlbGxEYXRhICYmIHRoaXMuZ2V0Rm9vdGZhbGxEZW5zaXR5RHdlbGxEYXRhLnRyYWZmaWNEZW5zaXR5KSB7XHJcbiAgICAgICAgICBPYmplY3Qua2V5cyh0aGlzLmdldEZvb3RmYWxsRGVuc2l0eUR3ZWxsRGF0YS50cmFmZmljRGVuc2l0eSkuZm9yRWFjaChob3VyID0+IHtcclxuICAgICAgICAgICAgdGhpcy5nZXRGb290ZmFsbERlbnNpdHlEd2VsbERhdGEudHJhZmZpY0RlbnNpdHlbaG91cl0uZm9yRWFjaCgoZGF5RGF0YTogYW55KSA9PiB7XHJcbiAgICAgICAgICAgICAgaGVhdE1hcERhdGEucHVzaCh7XHJcbiAgICAgICAgICAgICAgICBob3VyOiBkYXlEYXRhLnRpbWUsXHJcbiAgICAgICAgICAgICAgICB3ZWVrZGF5OiBkYXlEYXRhLmRheSxcclxuICAgICAgICAgICAgICAgIHZhbHVlOiBwYXJzZUludChkYXlEYXRhLmZvb3RmYWxsQ291bnQsIDEwKSwgLy8gRW5zdXJlIGludGVnZXIgcGFyc2luZ1xyXG4gICAgICAgICAgICAgIH0pO1xyXG4gICAgICAgICAgICB9KTtcclxuICAgICAgICAgIH0pO1xyXG4gICAgICAgIH0gZWxzZSB7XHJcbiAgICAgICAgICBjb25zb2xlLmVycm9yKFwiVHJhZmZpYyBkZW5zaXR5IGRhdGEgaXMgdW5kZWZpbmVkIG9yIG51bGwuXCIpO1xyXG4gICAgICAgIH1cclxuICAgICAgICBcclxuICAgICAgICAvLyBTZXQgZGF0YSB0byB0aGUgc2VyaWVzXHJcbiAgICAgICAgdGhpcy5oZWF0TWFwU2VyaWVzLmRhdGEuc2V0QWxsKGhlYXRNYXBEYXRhKTtcclxuXHJcbiAgICAgICAgY29uc3QgdmlzaWJsZVZhbHVlcyA9IHRoaXMuaGVhdE1hcFNlcmllcy5kYXRhLnZhbHVlcy5tYXAoKGQ6YW55KSA9PiBkLnZhbHVlKTtcclxuXHJcbiAgICAgICAgdGhpcy5tYXhGb290ZmFsbCA9IE1hdGgubWF4KC4uLnZpc2libGVWYWx1ZXMpO1xyXG4gICAgICAgIHRoaXMubWluRm9vdGZhbGwgPSBNYXRoLm1pbiguLi52aXNpYmxlVmFsdWVzKTtcclxuXHJcbiAgICAgICAgLy8gRXh0cmFjdCB1bmlxdWUgd2Vla2RheXMgYW5kIGhvdXJzLCBzb3J0ZWRcclxuICAgICAgICBjb25zdCB3ZWVrZGF5czogc3RyaW5nW10gPSBBcnJheS5mcm9tKG5ldyBTZXQoaGVhdE1hcERhdGEubWFwKHJvdyA9PiByb3cud2Vla2RheSkpKTtcclxuICAgICAgICBjb25zdCBob3Vyczogc3RyaW5nW10gPSBBcnJheS5mcm9tKG5ldyBTZXQoaGVhdE1hcERhdGEubWFwKHJvdyA9PiByb3cuaG91cikpKVxyXG4gICAgICAgICAgLnNvcnQoKGEsIGIpID0+IGEubG9jYWxlQ29tcGFyZShiKSk7XHJcbiAgICBcclxuICAgICAgICAvLyBTZXQgYXhpcyBkYXRhXHJcbiAgICAgICAgeEF4aXMuZGF0YS5zZXRBbGwoXHJcbiAgICAgICAgICB3ZWVrZGF5cy5tYXAoaXRlbSA9PiAoeyB3ZWVrZGF5OiBpdGVtIH0pKVxyXG4gICAgICAgICk7XHJcbiAgICBcclxuICAgICAgICB5QXhpcy5kYXRhLnNldEFsbChcclxuICAgICAgICAgIGhvdXJzLm1hcChpdGVtID0+ICh7IGhvdXI6IGl0ZW0gfSkpXHJcbiAgICAgICAgKTtcclxuICAgIFxyXG4gICAgICAgIC8vIEZpbmFsaXplIGNoYXJ0IGFwcGVhcmFuY2VcclxuICAgICAgICB0aGlzLmhlYXRNYXBDaGFydC5hcHBlYXIoMTAwMCwgMTAwKTtcclxuICAgIFxyXG4gICAgICAgIC8vIEVuc3VyZSB0aGUgcm9vdCBpcyBhc3NpZ25lZCBjb3JyZWN0bHlcclxuICAgICAgICB0aGlzLmhlYXRNYXBSb290ID0gdGhpcy5oZWF0TWFwUm9vdDtcclxuICAgIFxyXG4gICAgICB9LCAwKTtcclxuICB9XHJcbiAgXHJcblxyXG4gIGdldFJhbmdlQ29sb3JEeW5hbWljKGZvb3RmYWxsQ291bnQ6IG51bWJlcik6IGFtNS5Db2xvciB7XHJcbiAgICBsZXQgbWluRm9vdGZhbGwgPSB0aGlzLm1pbkZvb3RmYWxsID8/IDA7XHJcbiAgICBsZXQgbWF4Rm9vdGZhbGwgPSB0aGlzLm1heEZvb3RmYWxsID8/IDE7XHJcbiAgXHJcbiAgICBpZiAobWF4Rm9vdGZhbGwgPT09IG1pbkZvb3RmYWxsKSByZXR1cm4gYW01LmNvbG9yKDB4MDA4ZWRmKTsgLy8gUHJldmVudCBkaXZpc2lvbiBieSB6ZXJvXHJcbiAgICBjb25zdCBub3JtYWxpemVkVmFsdWUgPSAoZm9vdGZhbGxDb3VudCAtIG1pbkZvb3RmYWxsKSAvIChtYXhGb290ZmFsbCAtIG1pbkZvb3RmYWxsKTtcclxuICAgIGNvbnN0IGNsYW1wZWRWYWx1ZSA9IE1hdGgubWluKE1hdGgubWF4KG5vcm1hbGl6ZWRWYWx1ZSwgMCksIDAuNSk7XHJcbiAgICBjb25zdCBhZGp1c3RlZFZhbHVlID0gTWF0aC5wb3coY2xhbXBlZFZhbHVlLCAwLjUpOyAgLy8gSW5jcmVhc2UgcG93ZXIgdG8gZGFya2VuIGZhc3RlclxyXG4gICAgY29uc3QgYmFzZUNvbG9yID0gYW01LmNvbG9yKDB4MDA4ZWRmKTsgIC8vIFN0YXJ0aW5nIGNvbG9yIChsaWdodCBibHVlKVxyXG4gICAgY29uc3QgYWRqdXN0ZWRDb2xvciA9IGFtNS5Db2xvci5saWdodGVuKGJhc2VDb2xvciwgMSAtIGFkanVzdGVkVmFsdWUpO1xyXG4gICAgcmV0dXJuIGFkanVzdGVkQ29sb3I7XHJcbiAgfVxyXG5cclxuXHJcbiAgICBnZXRSYW5nZUNvbG9yMShmb290ZmFsbENvdW50OiBudW1iZXIpOiBhbTUuQ29sb3Ige1xyXG4gICAgICBsZXQgbWF4Rm9vdGZhbGw6YW55O1xyXG4gICAgICBjb25zdCBtaW5Gb290ZmFsbCA9IDA7ICAvLyBtaW5pbXVtIGV4cGVjdGVkIGZvb3RmYWxsXHJcbiAgICAgIGlmKHRoaXMub2JqRGF0YVRyYWZmaWMuZGF0ZVJhbmdlID0zMClcclxuICAgICAgbWF4Rm9vdGZhbGwgPSAzNTAwO1xyXG4gICAgZWxzZSBcclxuICAgIG1heEZvb3RmYWxsID0gNzUwO1xyXG4gICAgICBjb25zdCBub3JtYWxpemVkVmFsdWUgPSAoZm9vdGZhbGxDb3VudCAtIG1pbkZvb3RmYWxsKSAvIChtYXhGb290ZmFsbCAtIG1pbkZvb3RmYWxsKTtcclxuICAgICAgY29uc3QgY2xhbXBlZFZhbHVlID0gTWF0aC5taW4oTWF0aC5tYXgobm9ybWFsaXplZFZhbHVlLCAwKSwgMC41KTtcclxuICAgICAgY29uc3QgYWRqdXN0ZWRWYWx1ZSA9IE1hdGgucG93KGNsYW1wZWRWYWx1ZSwgMC41KTsgIC8vIEluY3JlYXNlIHBvd2VyIHRvIGRhcmtlbiBmYXN0ZXJcclxuICAgICAgY29uc3QgYmFzZUNvbG9yID0gYW01LmNvbG9yKDB4MDA4ZWRmKTsgIC8vIFN0YXJ0aW5nIGNvbG9yIChsaWdodCBibHVlKVxyXG4gICAgICBjb25zdCBhZGp1c3RlZENvbG9yID0gYW01LkNvbG9yLmxpZ2h0ZW4oYmFzZUNvbG9yLCAxIC0gYWRqdXN0ZWRWYWx1ZSk7XHJcbiAgICAgIHJldHVybiBhZGp1c3RlZENvbG9yO1xyXG4gICAgfVxyXG4gICAgXHJcbiAgICBcclxuICAgICAgZ2V0RHdlbGxDaGFydCgpIHtcclxuICAgICAgICB0aGlzLmNoYXJ0RHdlbGxOb0RhdGEgPSBmYWxzZTtcclxuICAgICAgdGhpcy5jaGFydER3ZWxsbG9hZGluZyA9IHRydWU7XHJcbiAgICAgICAgc2V0VGltZW91dCgoKSA9PiB7XHJcbiAgICAgICAgICBjb25zdCBjaGFydERpdiA9IGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKFwiZHdlbGxCYXJDaGFydFwiKTtcclxuICAgICAgICAgIGlmICghY2hhcnREaXYpIHtcclxuICAgICAgICAgICAgcmV0dXJuO1xyXG4gICAgICAgICAgfVxyXG4gICAgICAgICAgaWYgKHRoaXMuZHdlbGxSb290KSB7XHJcbiAgICAgICAgICAgIHRoaXMuZHdlbGxSb290LmRpc3Bvc2UoKTtcclxuICAgICAgICAgIH1cclxuICAgICAgICAgIC8vIENyZWF0ZSByb290IGVsZW1lbnRcclxuICAgICAgICAgIHRoaXMuZHdlbGxSb290ID0gYW01LlJvb3QubmV3KFwiZHdlbGxCYXJDaGFydFwiKTtcclxuICAgIFxyXG4gICAgICAgICAgLy8gU2V0IHRoZW1lc1xyXG4gICAgICAgICAgdGhpcy5kd2VsbFJvb3Quc2V0VGhlbWVzKFthbTV0aGVtZXNfQW5pbWF0ZWQubmV3KHRoaXMuZHdlbGxSb290KV0pO1xyXG4gICAgXHJcbiAgICAgICAgICAvLyBDcmVhdGUgY2hhcnRcclxuICAgICAgICAgIHRoaXMuZHdlbGxDaGFydCA9IHRoaXMuZHdlbGxSb290LmNvbnRhaW5lci5jaGlsZHJlbi5wdXNoKFxyXG4gICAgICAgICAgICBhbTV4eS5YWUNoYXJ0Lm5ldyh0aGlzLmR3ZWxsUm9vdCwge1xyXG4gICAgICAgICAgICAgIHBhblg6IGZhbHNlLFxyXG4gICAgICAgICAgICAgIHBhblk6IGZhbHNlLFxyXG4gICAgICAgICAgICAgIHdoZWVsWDogXCJwYW5YXCIsXHJcbiAgICAgICAgICAgICAgd2hlZWxZOiBcInpvb21YXCIsXHJcbiAgICAgICAgICAgICAgcGFkZGluZ0xlZnQ6IDAsXHJcbiAgICAgICAgICAgICAgbGF5b3V0OiB0aGlzLmR3ZWxsUm9vdC52ZXJ0aWNhbExheW91dCxcclxuICAgICAgICAgICAgfSlcclxuICAgICAgICAgICk7XHJcbiAgICBcclxuICAgICAgICAgbGV0IGRhdGEgPSB0aGlzLmdldERlbnNpdHlEd2VsbERhdGEuZHdlbGxUaW1lU3BsaXQ/Lm1hcChcclxuICAgICAgICAgICAgKGl0ZW06IGFueSkgPT4gKHtcclxuICAgICAgICAgICAgICB5ZWFyOiAoaXRlbS5kd2VsbF90aW1lKSArIFwiIE1pbnNcIixcclxuICAgICAgICAgICAgICBtYWxlQ291bnQ6IE51bWJlcihpdGVtLm1hbGVDb3VudF92YWx1ZSksXHJcbiAgICAgICAgICAgICAgbWFsZUN1c3RvbTogTnVtYmVyKGl0ZW0ubWFsZUNvdW50KSxcclxuICAgICAgICAgICAgICBmZW1hbGVDb3VudDogTnVtYmVyKGl0ZW0uZmVtYWxlQ291bnRfdmFsdWUpLFxyXG4gICAgICAgICAgICAgIGZlbWFsZUN1c3RvbTogTnVtYmVyKGl0ZW0uZmVtYWxlQ291bnQpXHJcbiAgICAgICAgICAgIH0pXHJcbiAgICAgICAgICApO1xyXG4gICAgICAgICAgICAgIFxyXG4gICAgICAgICAgLy8gQ3JlYXRlIGF4ZXNcclxuICAgICAgICAgIGxldCB4UmVuZGVyZXIgPSBhbTV4eS5BeGlzUmVuZGVyZXJYLm5ldyh0aGlzLmR3ZWxsUm9vdCwge1xyXG4gICAgICAgICAgICBtaW5HcmlkRGlzdGFuY2U6IDMwLFxyXG4gICAgICAgICAgICBtaW5vckdyaWRFbmFibGVkOiB0cnVlLFxyXG4gICAgICAgICAgfSk7XHJcbiAgICAgICAgICBsZXQgeEF4aXMgPSB0aGlzLmR3ZWxsQ2hhcnQueEF4ZXMucHVzaChcclxuICAgICAgICAgICAgYW01eHkuQ2F0ZWdvcnlBeGlzLm5ldyh0aGlzLmR3ZWxsUm9vdCwge1xyXG4gICAgICAgICAgICAgIGNhdGVnb3J5RmllbGQ6IFwieWVhclwiLFxyXG4gICAgICAgICAgICAgIHJlbmRlcmVyOiB4UmVuZGVyZXIsXHJcbiAgICAgICAgICAgICAgdG9vbHRpcDogYW01LlRvb2x0aXAubmV3KHRoaXMuZHdlbGxSb290LCB7fSksXHJcbiAgICAgICAgICAgIH0pXHJcbiAgICAgICAgICApO1xyXG4gICAgXHJcbiAgICAgICAgICB4UmVuZGVyZXIuZ3JpZC50ZW1wbGF0ZS5zZXRBbGwoe1xyXG4gICAgICAgICAgICBsb2NhdGlvbjogMSxcclxuICAgICAgICAgIH0pO1xyXG4gICAgXHJcbiAgICAgICAgICB4QXhpcy5kYXRhPy5zZXRBbGwoZGF0YSk7XHJcbiAgICBcclxuICAgICAgICAgIGxldCB5QXhpcyA9IHRoaXMuZHdlbGxDaGFydC55QXhlcy5wdXNoKFxyXG4gICAgICAgICAgICBhbTV4eS5WYWx1ZUF4aXMubmV3KHRoaXMuZHdlbGxSb290LCB7XHJcbiAgICAgICAgICAgICAgbWluOiAwLFxyXG4gICAgICAgICAgICAgIHJlbmRlcmVyOiBhbTV4eS5BeGlzUmVuZGVyZXJZLm5ldyh0aGlzLmR3ZWxsUm9vdCwge1xyXG4gICAgICAgICAgICAgICAgc3Ryb2tlT3BhY2l0eTogMC4xLFxyXG4gICAgICAgICAgICAgIH0pLFxyXG4gICAgICAgICAgICB9KVxyXG4gICAgICAgICAgKTtcclxuICAgIFxyXG4gICAgICAgICAgLy8gQWRkIGxlZ2VuZFxyXG4gICAgICAgICAgbGV0IGxlZ2VuZCA9IHRoaXMuZHdlbGxDaGFydC5jaGlsZHJlbi5wdXNoKFxyXG4gICAgICAgICAgICBhbTUuTGVnZW5kLm5ldyh0aGlzLmR3ZWxsUm9vdCwge1xyXG4gICAgICAgICAgICAgIGNlbnRlclg6IGFtNS5wNTAsXHJcbiAgICAgICAgICAgICAgeDogYW01LnA1MCxcclxuICAgICAgICAgICAgfSlcclxuICAgICAgICAgICk7XHJcbiAgICBcclxuICAgICAgICAgIC8vIEFkZCBzZXJpZXNcclxuICAgICAgICAgIC8vIGNvbnN0IFxyXG4gICAgICAgICBcclxuICAgICAgICAgIHRoaXMubWFrZVNlcmllczEoXCJNYWxlXCIsIFwibWFsZUNvdW50XCIsIHhBeGlzLCB5QXhpcywgZGF0YSwgbGVnZW5kKTtcclxuICAgICAgICAgIHRoaXMubWFrZVNlcmllczEoXCJGZW1hbGVcIiwgXCJmZW1hbGVDb3VudFwiLCB4QXhpcywgeUF4aXMsIGRhdGEsIGxlZ2VuZCk7XHJcbiAgICAgICAgICAvLyBNYWtlIHN0dWZmIGFuaW1hdGUgb24gbG9hZFxyXG4gICAgICAgICAgdGhpcy5kd2VsbENoYXJ0LmFwcGVhcigxMDAwLCAxMDApO1xyXG4gICAgICAgIH0sIDEwMCk7XHJcbiAgICAgIH1cclxuICAgICAgbWFrZVNlcmllczEobmFtZTogc3RyaW5nLCBmaWVsZE5hbWU6IHN0cmluZywgeEF4aXM6IGFueSwgeUF4aXM6IGFueSwgZGF0YTogYW55LCBsZWdlbmQ6IGFueSkge1xyXG4gICAgICAgIGxldCBzZXJpZXMgPSB0aGlzLmR3ZWxsQ2hhcnQuc2VyaWVzLnB1c2goXHJcbiAgICAgICAgICBhbTV4eS5Db2x1bW5TZXJpZXMubmV3KHRoaXMuZHdlbGxSb290LCB7XHJcbiAgICAgICAgICAgIG5hbWU6IG5hbWUsXHJcbiAgICAgICAgICAgIHN0YWNrZWQ6IHRydWUsXHJcbiAgICAgICAgICAgIHhBeGlzOiB4QXhpcyxcclxuICAgICAgICAgICAgeUF4aXM6IHlBeGlzLFxyXG4gICAgICAgICAgICB2YWx1ZVlGaWVsZDogZmllbGROYW1lLFxyXG4gICAgICAgICAgICBjYXRlZ29yeVhGaWVsZDogXCJ5ZWFyXCIsXHJcbiAgICAgICAgICB9KVxyXG4gICAgICAgICk7XHJcbiAgICAgIFxyXG4gICAgICAgIHNlcmllcy5jb2x1bW5zLnRlbXBsYXRlLnNldEFsbCh7XHJcbiAgICAgICAgICB0b29sdGlwVGV4dDogYFtib2xkXXtuYW1lfVsvXVxcbntjYXRlZ29yeVh9LFxcbkZvb3RmYWxsICU6IHtjdXN0b21WYWx1ZX0lYCxcclxuICAgICAgICAgIHRvb2x0aXBZOiBhbTUucGVyY2VudCgxMCksXHJcbiAgICAgICAgfSk7XHJcbiAgICAgIFxyXG4gICAgICAgIGlmIChkYXRhPy5sZW5ndGgpIHtcclxuICAgICAgICAgIGNvbnN0IGVuaGFuY2VkRGF0YSA9IGRhdGEubWFwKChkOiBhbnkpID0+ICh7XHJcbiAgICAgICAgICAgIC4uLmQsXHJcbiAgICAgICAgICAgIGN1c3RvbVZhbHVlOiBkW2ZpZWxkTmFtZSA9PT0gXCJtYWxlQ291bnRcIiA/IFwibWFsZUN1c3RvbVwiIDogXCJmZW1hbGVDdXN0b21cIl1cclxuICAgICAgICAgIH0pKTtcclxuICAgICAgICAgIHNlcmllcy5kYXRhLnNldEFsbChlbmhhbmNlZERhdGEpO1xyXG4gICAgICAgIH1cclxuICAgICAgXHJcbiAgICAgICAgc2VyaWVzLmJ1bGxldHMucHVzaCgoKSA9PiB7XHJcbiAgICAgICAgICBsZXQgbGFiZWwgPSBhbTUuTGFiZWwubmV3KHRoaXMuZHdlbGxSb290LCB7XHJcbiAgICAgICAgICAgIHRleHQ6IFwie3ZhbHVlWX1cIixcclxuICAgICAgICAgICAgZmlsbDogdGhpcy5kd2VsbFJvb3QuaW50ZXJmYWNlQ29sb3JzLmdldChcImFsdGVybmF0aXZlVGV4dFwiKSxcclxuICAgICAgICAgICAgY2VudGVyWTogYW01LnA1MCxcclxuICAgICAgICAgICAgY2VudGVyWDogYW01LnA1MCxcclxuICAgICAgICAgICAgcG9wdWxhdGVUZXh0OiB0cnVlLFxyXG4gICAgICAgICAgfSk7XHJcbiAgICAgIFxyXG4gICAgICAgICAgbGFiZWwuYWRhcHRlcnMuYWRkKFwidmlzaWJsZVwiLCAodmlzaWJsZSwgdGFyZ2V0KSA9PiB7XHJcbiAgICAgICAgICAgIGNvbnN0IHZhbHVlID0gKHRhcmdldC5kYXRhSXRlbT8uZGF0YUNvbnRleHQgYXMgYW55KT8uW2ZpZWxkTmFtZV07XHJcbiAgICAgICAgICAgIHJldHVybiB2YWx1ZSAhPT0gMDtcclxuICAgICAgICAgIH0pO1xyXG4gICAgICBcclxuICAgICAgICAgIHJldHVybiBhbTUuQnVsbGV0Lm5ldyh0aGlzLmR3ZWxsUm9vdCwge1xyXG4gICAgICAgICAgICBzcHJpdGU6IGxhYmVsLFxyXG4gICAgICAgICAgfSk7XHJcbiAgICAgICAgfSk7XHJcbiAgICAgIFxyXG4gICAgICAgIGlmIChsZWdlbmQpIHtcclxuICAgICAgICAgIGxlZ2VuZC5kYXRhLnB1c2goc2VyaWVzKTtcclxuICAgICAgICB9XHJcbiAgICAgIH1cclxuICAgICAgXHJcbiAgICAgIFxyXG4gICAgICBcclxuICAgICAgc3RvcmVOYW1lOmFueTtcclxuICAgICAgc3RvcmVJZDphbnk7XHJcbiAgICAgIGZvcm1hdERhdGUoZGF0ZVN0cmluZzogc3RyaW5nKTogc3RyaW5nIHtcclxuICAgICAgICByZXR1cm4gdGhpcy5kYXlqcyhkYXRlU3RyaW5nKS5mb3JtYXQoJ0REIE1NTScpOyAgLy8gT3V0cHV0OiAnMDEgSmFuJ1xyXG4gICAgICB9XHJcbiAgICAgICAgaGFuZGxlQmFyQ2xpY2soZGF0YUl0ZW06IGFueSk6IHZvaWQge1xyXG4gICAgICAgICAgdGhpcy5zdG9yZU5hbWUgPSBkYXRhSXRlbS5mdWxsU3RvcmVOYW1lO1xyXG4gICAgICAgICAgdGhpcy5zdG9yZUlkID0gZGF0YUl0ZW0uc3RvcmVJZFxyXG4gICAgICAgICAgdGhpcy5vYmpEYXRhVHJhZmZpYy5zdG9yZUlkID1bZGF0YUl0ZW0uc3RvcmVJZF0sXHJcbiAgICAgICAgICB0aGlzLm9iakRhdGFUcmFmZmljLmxpbWl0ID0zMSxcclxuICAgICAgICAgIHRoaXMuc2VydmljZVxyXG4gICAgICAgICAgICAuZ2V0U2luZ2xlU3RvcmVDaGFydCh0aGlzLm9iakRhdGFUcmFmZmljKVxyXG4gICAgICAgICAgICAucGlwZSh0YWtlVW50aWwodGhpcy5kZXN0cm95JCkpXHJcbiAgICAgICAgICAgID8uc3Vic2NyaWJlKHtcclxuICAgICAgICAgICAgICBuZXh0OiAocmVzOiBhbnkpID0+IHtcclxuICAgICAgICAgICAgICAgIGlmIChyZXMgJiYgcmVzLmNvZGUgPT09IDIwMCkge1xyXG4gICAgICAgICAgICAgICAgICB0aGlzLmdldFNpbmdsZUNoYXJ0RGF0YSA9IHJlcz8uZGF0YS5zdG9yZURhdGE7XHJcbiAgICAgICAgICAgICAgICAgIHRoaXMuZGV0YWlsZWRDaGFydHMgPSB0cnVlO1xyXG4gICAgICAgICAgICAgICAgICB0aGlzLmNkLmRldGVjdENoYW5nZXMoKTsgXHJcbiAgICAgICAgICAgICAgICAgIHNldFRpbWVvdXQoKCkgPT4gdGhpcy5nZXRTaW5nbGVTdG9yZSgpLCAwKTsgLy8gQ2FsbCB3aXRoIGEgZGVsYXkgdG8gZW5zdXJlIHRoZSBlbGVtZW50IGlzIGluIHRoZSBET01cclxuICAgICAgICAgICAgICAgIH1cclxuICAgICAgICAgICAgICB9LFxyXG4gICAgICAgICAgICAgIGVycm9yOiAoZXJyOiBhbnkpID0+IHtcclxuICAgICAgICAgICAgICAgIHRoaXMuY2QuZGV0ZWN0Q2hhbmdlcygpO1xyXG4gICAgICAgICAgICAgIH0sXHJcbiAgICAgICAgICAgICAgY29tcGxldGU6ICgpID0+IHt9LFxyXG4gICAgICAgICAgICB9KTtcclxuICAgICAgICAgICAgXHJcbiAgICAgICAgfVxyXG5cclxuICAgICAgICBnZXRTaW5nbGVTdG9yZSgpe1xyXG4gICAgICAgICAgICBjb25zdCBjaGFydERpdiA9IGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKFwiZGV0YWlsZWRDaGFydERpdlwiKTtcclxuICAgICAgICAgICAgaWYgKCFjaGFydERpdikge1xyXG4gICAgICAgICAgICAgIHJldHVybjtcclxuICAgICAgICAgICAgfVxyXG4gICAgICAgIFxyXG4gICAgICAgICAgICBpZiAodGhpcy5kZXRhaWxlZFJvb3QpIHtcclxuICAgICAgICAgICAgICB0aGlzLmRldGFpbGVkUm9vdC5kaXNwb3NlKCk7XHJcbiAgICAgICAgICAgIH1cclxuICAgICAgICAgIFxyXG4gICAgICAgICAgICB0aGlzLmRldGFpbGVkUm9vdCA9IGFtNS5Sb290Lm5ldyhcImRldGFpbGVkQ2hhcnREaXZcIik7XHJcbiAgICAgICAgICAgIHRoaXMuZGV0YWlsZWRSb290LnNldFRoZW1lcyhbXHJcbiAgICAgICAgICAgICAgYW01dGhlbWVzX0FuaW1hdGVkLm5ldyh0aGlzLmRldGFpbGVkUm9vdCksXHJcbiAgICAgICAgICAgIF0pO1xyXG4gICAgICAgIFxyXG4gICAgICAgICAgICB0aGlzLmRldGFpbGVkQ2hhcnQgPSB0aGlzLmRldGFpbGVkUm9vdC5jb250YWluZXIuY2hpbGRyZW4ucHVzaChcclxuICAgICAgICAgICAgICBhbTV4eS5YWUNoYXJ0Lm5ldyh0aGlzLmRldGFpbGVkUm9vdCwge1xyXG4gICAgICAgICAgICAgICAgcGFuWDogZmFsc2UsXHJcbiAgICAgICAgICAgICAgICBwYW5ZOiBmYWxzZSxcclxuICAgICAgICAgICAgICAgIHdoZWVsWDogXCJwYW5YXCIsXHJcbiAgICAgICAgICAgICAgICB3aGVlbFk6IFwiem9vbVhcIixcclxuICAgICAgICAgICAgICAgIHBhZGRpbmdMZWZ0OiAwLFxyXG4gICAgICAgICAgICAgIH0pXHJcbiAgICAgICAgICAgICk7XHJcbiAgICAgICAgXHJcbiAgICAgICAgICAgIC8vIEFkZCBjdXJzb3JcclxuICAgICAgICAgICAgbGV0IGN1cnNvciA9IHRoaXMuZGV0YWlsZWRDaGFydC5zZXQoXHJcbiAgICAgICAgICAgICAgXCJjdXJzb3JcIixcclxuICAgICAgICAgICAgICBhbTV4eS5YWUN1cnNvci5uZXcodGhpcy5kZXRhaWxlZFJvb3QsIHt9KVxyXG4gICAgICAgICAgICApO1xyXG4gICAgICAgICAgICBjdXJzb3IubGluZVkuc2V0KFwidmlzaWJsZVwiLCBmYWxzZSk7XHJcbiAgICAgICAgXHJcbiAgICAgICAgICAgIC8vIENyZWF0ZSBheGVzXHJcbiAgICAgICAgICAgIGxldCB4UmVuZGVyZXIgPSBhbTV4eS5BeGlzUmVuZGVyZXJYLm5ldyh0aGlzLmRldGFpbGVkUm9vdCwge1xyXG4gICAgICAgICAgICAgIG1pbkdyaWREaXN0YW5jZTogMzAsXHJcbiAgICAgICAgICAgICAgbWlub3JHcmlkRW5hYmxlZDogdHJ1ZSxcclxuICAgICAgICAgICAgfSk7XHJcbiAgICAgICAgXHJcbiAgICAgICAgICAgIHhSZW5kZXJlci5sYWJlbHMudGVtcGxhdGUuc2V0QWxsKHtcclxuICAgICAgICAgICAgICByb3RhdGlvbjogLTkwLFxyXG4gICAgICAgICAgICAgIGNlbnRlclk6IGFtNS5wNTAsXHJcbiAgICAgICAgICAgICAgY2VudGVyWDogYW01LnAxMDAsXHJcbiAgICAgICAgICAgICAgcGFkZGluZ1JpZ2h0OiAxNSxcclxuICAgICAgICAgICAgfSk7XHJcbiAgICAgICAgXHJcbiAgICAgICAgICAgIHhSZW5kZXJlci5ncmlkLnRlbXBsYXRlLnNldEFsbCh7XHJcbiAgICAgICAgICAgICAgbG9jYXRpb246IDEsXHJcbiAgICAgICAgICAgIH0pO1xyXG4gICAgICAgICAgICAvLyBBZGQgc2Nyb2xsYmFyXHJcbiAgICAgICAgICAgIHRoaXMuZGV0YWlsZWRDaGFydC5zZXQoXHJcbiAgICAgICAgICAgICAgXCJzY3JvbGxiYXJYXCIsXHJcbiAgICAgICAgICAgICAgYW01LlNjcm9sbGJhci5uZXcodGhpcy5kZXRhaWxlZFJvb3QsIHtcclxuICAgICAgICAgICAgICAgIG9yaWVudGF0aW9uOiBcImhvcml6b250YWxcIixcclxuICAgICAgICAgICAgICB9KVxyXG4gICAgICAgICAgICApO1xyXG4gICAgICAgICAgICBsZXQgeEF4aXMgPSB0aGlzLmRldGFpbGVkQ2hhcnQueEF4ZXMucHVzaChcclxuICAgICAgICAgICAgICBhbTV4eS5DYXRlZ29yeUF4aXMubmV3KHRoaXMuZGV0YWlsZWRSb290LCB7XHJcbiAgICAgICAgICAgICAgICBtYXhEZXZpYXRpb246IDAuMyxcclxuICAgICAgICAgICAgICAgIGNhdGVnb3J5RmllbGQ6IFwiZGF0ZVwiLFxyXG4gICAgICAgICAgICAgICAgcmVuZGVyZXI6IHhSZW5kZXJlcixcclxuICAgICAgICAgICAgICAgIHRvb2x0aXA6IGFtNS5Ub29sdGlwLm5ldyh0aGlzLmRldGFpbGVkUm9vdCwge30pLFxyXG4gICAgICAgICAgICAgIH0pXHJcbiAgICAgICAgICAgICk7XHJcbiAgICAgICAgXHJcbiAgICAgICAgICAgIGxldCB5UmVuZGVyZXIgPSBhbTV4eS5BeGlzUmVuZGVyZXJZLm5ldyh0aGlzLmRldGFpbGVkUm9vdCwge1xyXG4gICAgICAgICAgICAgIHN0cm9rZU9wYWNpdHk6IDAuMSxcclxuICAgICAgICAgICAgfSk7XHJcbiAgICAgICAgXHJcbiAgICAgICAgICAgIGxldCB5QXhpcyA9IHRoaXMuZGV0YWlsZWRDaGFydC55QXhlcy5wdXNoKFxyXG4gICAgICAgICAgICAgIGFtNXh5LlZhbHVlQXhpcy5uZXcodGhpcy5kZXRhaWxlZFJvb3QsIHtcclxuICAgICAgICAgICAgICAgIG1heERldmlhdGlvbjogMC4zLFxyXG4gICAgICAgICAgICAgICAgcmVuZGVyZXI6IHlSZW5kZXJlcixcclxuICAgICAgICAgICAgICB9KVxyXG4gICAgICAgICAgICApO1xyXG4gICAgICAgICAgICBcclxuICAgICAgICAgICAgbGV0IGRhdGEgPSB0aGlzLmdldFNpbmdsZUNoYXJ0RGF0YS5tYXAoKGl0ZW06IGFueSkgPT4gKHtcclxuICAgICAgICAgICAgICBkYXRlOiB0aGlzLmZvcm1hdERhdGUoaXRlbS5kYXRlKSwgLy8gQ29udmVydCBkYXRlIHN0cmluZyB0byB0aW1lc3RhbXBcclxuICAgICAgICAgICAgICB2YWx1ZTogTnVtYmVyKGl0ZW0uY291bnQpLCAvLyBVc2UgYGNvdW50YCBhcyBgdmFsdWVgXHJcbiAgICAgICAgICAgIH0pKTtcclxuICAgICAgICAgICAgZGF0YS5zb3J0KChhOiBhbnksIGI6IGFueSkgPT4ge1xyXG4gICAgICAgICAgICAgIC8vIFBhcnNlIHN0b3JlTmFtZSBhcyBhIERhdGUgYW5kIGNvbXBhcmVcclxuICAgICAgICAgICAgICBjb25zdCBkYXRlQSA9IG5ldyBEYXRlKGEuZGF0ZSk7XHJcbiAgICAgICAgICAgICAgY29uc3QgZGF0ZUIgPSBuZXcgRGF0ZShiLmRhdGUpO1xyXG4gICAgICAgICAgICAgIFxyXG4gICAgICAgICAgICAgIC8vIFNvcnQgaW4gYXNjZW5kaW5nIG9yZGVyIChvbGRlc3QgdG8gbmV3ZXN0KVxyXG4gICAgICAgICAgICAgIHJldHVybiBkYXRlQS5nZXRUaW1lKCkgLSBkYXRlQi5nZXRUaW1lKCk7XHJcbiAgICAgICAgICAgIH0pO1xyXG4gICAgICAgICAgICAvLyBDcmVhdGUgc2VyaWVzXHJcbiAgICAgICAgICAgIHRoaXMuZGV0YWlsZWRTZXJpZXMgPSB0aGlzLmRldGFpbGVkQ2hhcnQuc2VyaWVzLnB1c2goXHJcbiAgICAgICAgICAgICAgYW01eHkuQ29sdW1uU2VyaWVzLm5ldyh0aGlzLmRldGFpbGVkUm9vdCwge1xyXG4gICAgICAgICAgICAgICAgbmFtZTogXCJTZXJpZXMgMlwiLFxyXG4gICAgICAgICAgICAgICAgeEF4aXM6IHhBeGlzLFxyXG4gICAgICAgICAgICAgICAgeUF4aXM6IHlBeGlzLFxyXG4gICAgICAgICAgICAgICAgdmFsdWVZRmllbGQ6IFwidmFsdWVcIixcclxuICAgICAgICAgICAgICAgIHNlcXVlbmNlZEludGVycG9sYXRpb246IHRydWUsXHJcbiAgICAgICAgICAgICAgICBjYXRlZ29yeVhGaWVsZDogXCJkYXRlXCIsXHJcbiAgICAgICAgICAgICAgICB0b29sdGlwOiBhbTUuVG9vbHRpcC5uZXcodGhpcy5kZXRhaWxlZFJvb3QsIHtcclxuICAgICAgICAgICAgICAgICAgbGFiZWxUZXh0OiBcInt2YWx1ZVl9XCIsXHJcbiAgICAgICAgICAgICAgICB9KSxcclxuICAgICAgICAgICAgICB9KVxyXG4gICAgICAgICAgICApO1xyXG4gICAgICAgICAgICB0aGlzLmRldGFpbGVkU2VyaWVzLmNvbHVtbnMudGVtcGxhdGUuc2V0QWxsKHsgc3Ryb2tlT3BhY2l0eTogMCB9KTtcclxuICAgICAgICAgICAgeEF4aXMuZGF0YS5zZXRBbGwoZGF0YSk7XHJcbiAgICAgICAgICAgIHRoaXMuZGV0YWlsZWRTZXJpZXMuZGF0YS5zZXRBbGwoZGF0YSk7XHJcbiAgICAgICAgICAgIHRoaXMuZGV0YWlsZWRTZXJpZXMuYXBwZWFyKDEwMDApO1xyXG4gICAgICAgICAgICB0aGlzLmRldGFpbGVkQ2hhcnQuYXBwZWFyKDEwMDAsIDEwMCk7XHJcbiAgICAgICAgfVxyXG5cclxuICAgICAgICBmb3JlY2FzdEFwaShldnQ6YW55KXtcclxuICAgICAgICAgIGlmKGV2dC50YXJnZXQuY2hlY2tlZCl7XHJcbiAgICAgICAgICAgIHRoaXMub2JqRGF0YS5mb3JlY2FzdCA9IHRydWVcclxuICAgICAgICAgICAgdGhpcy5vYmpEYXRhLm5vcm1hbGl6ZSA9IGZhbHNlXHJcbiAgICAgICAgICAgIHRoaXMub2JqRGF0YS5ub2IgPSBmYWxzZVxyXG4gICAgICAgICAgICB0aGlzLm9iakRhdGEuZmlsdGVyQnkgPSAnYXZlcmFnZSdcclxuICAgICAgICAgIH0gZWxzZSB7XHJcbiAgICAgICAgICAgIHRoaXMub2JqRGF0YS5mb3JlY2FzdCA9IGZhbHNlXHJcbiAgICAgICAgICAgIHRoaXMub2JqRGF0YS5ub3JtYWxpemUgPSB0aGlzLmNsaWVudERhdGE/LmZlYXR1cmVDb25maWdzPy5pc05vcm1hbGl6ZWRcclxuICAgICAgICAgICAgdGhpcy5vYmpEYXRhLm5vYiA9IGZhbHNlXHJcbiAgICAgICAgICAgIHRoaXMub2JqRGF0YS5maWx0ZXJCeSA9ICdhdmVyYWdlJ1xyXG4gICAgICAgICAgfVxyXG4gICAgICAgICAgdGhpcy5mb290ZmFsbFRyZW5kKCk7XHJcbiAgICAgICAgfVxyXG4gICAgICAgIFxyXG5cclxuICAgICAgICB0b2dnbGVOb3JtYWxpemUoZXZ0OmFueSl7XHJcbiAgICAgICAgICB0aGlzLm5vcm1hbGl6ZSA9ZXZ0LnRhcmdldC5jaGVja2VkO1xyXG4gICAgICAgICAgdGhpcy50YWJsZW9iai5ub3JtYWxpemUgPSB0aGlzLm5vcm1hbGl6ZVxyXG4gICAgICAgICAgdGhpcy5vYmpEYXRhLm5vcm1hbGl6ZSA9IHRoaXMubm9ybWFsaXplXHJcbiAgICAgICAgICB0aGlzLm9iakRhdGFUcmFmZmljLm5vcm1hbGl6ZSA9IHRoaXMubm9ybWFsaXplXHJcbiAgICAgICAgICAvLyB0aGlzLnRhYmxlb2JqLmZvcmVjYXN0ID0gZmFsc2VcclxuICAgICAgICAgIHRoaXMub2JqRGF0YS5mb3JlY2FzdCA9IGZhbHNlO1xyXG4gICAgICAgICAgdGhpcy5mb3JlY2FzdCA9ZmFsc2U7XHJcbiAgICAgICAgICAvLyB0aGlzLm9iakRhdGFUcmFmZmljLmZvcmVjYXN0ID0gZmFsc2VcclxuICAgICAgICAgIHRoaXMuY29udmVyc2lvblZhbHVlID0gdGhpcy5ub2JcclxuICAgICAgICAgICAgICA/IFwiTm9CIERlcml2ZWRcIlxyXG4gICAgICAgICAgICAgIDogdGhpcy5jbGllbnREYXRhPy5mZWF0dXJlQ29uZmlnc1xyXG4gICAgICAgICAgICAgICAgICA/Lm1pc3NlZE9wcG9ydHVuaXR5Q2FsY3VsYXRpb24gPT09ICdlbmdhZ2Vycy1jb252ZXJzaW9uJ1xyXG4gICAgICAgICAgICAgID8gXCJlbmdhZ2Vyc1wiXHJcbiAgICAgICAgICAgICAgOiBcImZvb3RmYWxsXCI7XHJcbiAgICAgICAgICB0aGlzLmdldEZ1bm5hbCgpO1xyXG4gICAgICAgICAgdGhpcy5nZXRGb290ZmFsbENhcmQoKTtcclxuICAgICAgICAgIHRoaXMuZ2V0Q29udmVyc2lvbkNhcmQoKTtcclxuICAgICAgICAgIHRoaXMuZ2V0Qm91bmNlZENhcmQoKTtcclxuICAgICAgICAgIHRoaXMuZ2V0RW5nYWdlcnNDYXJkKCk7XHJcbiAgICAgICAgICB0aGlzLmdldFBvdGVudGlhbEJ1eWVyc0NhcmQoKTtcclxuICAgICAgICAgIHRoaXMuZ2V0TWlzc2VkT3Bwb3J0dW5pdHlDYXJkKCk7XHJcbiAgICAgICAgICB0aGlzLmdldFBvdGVudGlhbEJ1eWVycygpO1xyXG4gICAgICAgICAgdGhpcy5wZXJmb3JtYW5jZSgpO1xyXG4gICAgICAgICAgdGhpcy5nZXRUYWJsZSgpO1xyXG4gICAgICAgICAgdGhpcy5mb290ZmFsbFRyZW5kKCk7XHJcbiAgICAgICAgICBpZih0aGlzLmhlYWRlckRhdGE/LmNsaWVudCA9PT0nNDU5Jyl7XHJcbiAgICAgICAgICAgIHRoaXMuc2VsZWN0ZWRUYWIgPSBcImZvb3RmYWxsXCJcclxuICAgICAgICAgICAgdGhpcy5mb290ZmFsbFZhbHVlID0gXCJmb290ZmFsbFwiO1xyXG4gICAgICAgICAgICB0aGlzLnNlbGN0ZWRWYWx1ZSA9J0Zvb3RmYWxsIEFuYWx5c2lzJztcclxuICAgICAgICAgICAgdGhpcy5zZWxlY3RlZFRhYnMoJ2Zvb3RmYWxsJyk7XHJcbiAgICAgICAgICB9IGVsc2Uge1xyXG4gICAgICAgICAgICB0aGlzLnNlbGVjdGVkVGFiID0gXCJ0cmFmZmljXCJcclxuICAgICAgICAgICAgdGhpcy5mb290ZmFsbFZhbHVlID0gXCJ0cmFmZmljXCI7XHJcbiAgICAgICAgICAgIHRoaXMuc2VsY3RlZFZhbHVlID0nVHJhZmZpYyBBbmFseXNpcyc7XHJcbiAgICAgICAgICAgIHRoaXMuc2VsZWN0ZWRUYWJzKCd0cmFmZmljJyk7XHJcbiAgICAgICAgICB9XHJcbiAgICAgICAgICBpZih0aGlzLm5vcm1hbGl6ZSA9PT0gdHJ1ZSl7XHJcbiAgICAgICAgICB0aGlzLnpvbmVEd2VsbFRpbWVTcGxpdERhdGEgPVtdO1xyXG4gICAgICAgICAgICB0aGlzLnpvbmVMb2FkaW5nID0gZmFsc2U7XHJcbiAgICAgICAgICAgIHRoaXMuem9uZU5vRGF0YSA9IHRydWU7XHJcbiAgICAgICAgICAgIHRoaXMuc3RvcmVPcGVyYXRpb25EYXRhID1bXTtcclxuICAgICAgICAgICAgdGhpcy5hdUxvY2F0aW9ucyA9W107XHJcbiAgICAgICAgICAgIHRoaXMubXBhbG9hZGluZyA9ZmFsc2U7XHJcbiAgICAgICAgICAgIHRoaXMubWFwbm9EYXRhPSB0cnVlO1xyXG4gICAgICAgICAgICB0aGlzLmZvcmVjYXN0ID1mYWxzZTtcclxuICAgICAgICAgICAgdGhpcy5vYmpEYXRhLmZvcmVjYXN0ID0gZmFsc2U7XHJcbiAgICAgICAgICAgIGlmKHRoaXMuc3RvcmVJZGFycmF5Lmxlbmd0aCA9PT0gMSl7XHJcbiAgICAgICAgICAgIHRoaXMuZ2V0UmVjYXBWaWRlb0RhdGEgPVtdXHJcbiAgICAgICAgICAgIHRoaXMucmVjYXBsYW9kaW5nID1mYWxzZTtcclxuICAgICAgICAgICAgdGhpcy5yZWNhcG5vRGF0YSA9dHJ1ZTtcclxuICAgICAgICAgICAgdGhpcy5zZXJ2aWNlPy50b2dnbGVub3JtYWxpemUodGhpcy5ub3JtYWxpemUpO1xyXG4gICAgICAgICAgICB9XHJcbiAgICAgICAgICB9IGVsc2Uge1xyXG4gICAgICAgICAgICB0aGlzLmdldFpvbmUoKTsgdGhpcy5nZXRab25lVmFsdWUoKTtcclxuICAgICAgICAgICAgdGhpcy5nZXRNYXAoKTtcclxuICAgICAgICAgICAgaWYodGhpcy5zdG9yZUlkYXJyYXkubGVuZ3RoID09PSAxKXtcclxuICAgICAgICAgICAgdGhpcy5nZXRSZWNhcCgpO1xyXG4gICAgICAgICAgICB0aGlzLnNlcnZpY2U/LnRvZ2dsZW5vcm1hbGl6ZSh0aGlzLm5vcm1hbGl6ZSk7XHJcbiAgICAgICAgICAgIH1cclxuICAgICAgICAgIH1cclxuICAgICAgICAgIHRoaXMuY2QuZGV0ZWN0Q2hhbmdlcygpO1xyXG4gICAgICAgIH1cclxuXHJcblxyXG4gICAgICAgIFxyXG59XHJcblxyXG5cclxuXHJcblxyXG5cclxuXHJcbmludGVyZmFjZSBEYXRhQ29udGV4dCB7XHJcbiAgY2F0ZWdvcnk6IHN0cmluZztcclxuICB2YWx1ZTogbnVtYmVyO1xyXG4gIGNvdW50OiBudW1iZXI7XHJcbn1cclxuZnVuY3Rpb24gZ2V0RGF5c0JldHdlZW5EYXRlcyhmcm9tRGF0ZTogc3RyaW5nLCB0b0RhdGU6IHN0cmluZyk6IG51bWJlciB7XHJcbiAgLy8gUGFyc2UgdGhlIGRhdGUgc3RyaW5ncyBpbnRvIERhdGUgb2JqZWN0c1xyXG4gIGNvbnN0IHN0YXJ0ID0gbmV3IERhdGUoZnJvbURhdGUpO1xyXG4gIGNvbnN0IGVuZCA9IG5ldyBEYXRlKHRvRGF0ZSk7XHJcblxyXG4gIC8vIENhbGN1bGF0ZSB0aGUgZGlmZmVyZW5jZSBpbiBtaWxsaXNlY29uZHNcclxuICBjb25zdCBkaWZmZXJlbmNlSW5NcyA9IGVuZC5nZXRUaW1lKCkgLSBzdGFydC5nZXRUaW1lKCk7XHJcblxyXG4gIC8vIENvbnZlcnQgbWlsbGlzZWNvbmRzIHRvIGRheXMgKDEgZGF5ID0gODY0MDAwMDAgbWlsbGlzZWNvbmRzKVxyXG4gIGNvbnN0IG1pbGxpc2Vjb25kc1BlckRheSA9IDg2NDAwMDAwO1xyXG4gIGNvbnN0IGRpZmZlcmVuY2VJbkRheXMgPSBNYXRoLmZsb29yKGRpZmZlcmVuY2VJbk1zIC8gbWlsbGlzZWNvbmRzUGVyRGF5KTtcclxuXHJcbiAgcmV0dXJuIGRpZmZlcmVuY2VJbkRheXM7XHJcbn1cclxuXHJcbmludGVyZmFjZSBDaGFydERhdGFJdGVtIHtcclxuICByYXRlOiBudW1iZXI7XHJcbiAgY291bnQ6IG51bWJlcjtcclxuICB0aW1lOiBzdHJpbmc7XHJcbn1cclxuXHJcblxyXG5cclxuXHJcblxyXG4vLyBnZXRDYXJkKCkge1xyXG4vLyAgIHRoaXMudGFibGVvYmoudmFsdWVUeXBlPSB0aGlzLnZhbHVlVHlwZSxcclxuLy8gICB0aGlzLnRhYmxlb2JqLmZyb21EYXRlID0gdGhpcy5oZWFkZXJEYXRhPy5kYXRlLnN0YXJ0RGF0ZTtcclxuLy8gICB0aGlzLnRhYmxlb2JqLnRvRGF0ZSA9IHRoaXMuaGVhZGVyRGF0YT8uZGF0ZS5lbmREYXRlO1xyXG4vLyAgZGVsZXRlIHRoaXMudGFibGVvYmoub2Zmc2V0O1xyXG4vLyAgZGVsZXRlIHRoaXMudGFibGVvYmoucmVjYXBWaWRlb0RhdGU7XHJcbi8vICBkZWxldGUgdGhpcy50YWJsZW9iai5saW1pdDsgXHJcbi8vICBkZWxldGUgdGhpcy50YWJsZW9iai5zb3J0O1xyXG4vLyAgZGVsZXRlIHRoaXMudGFibGVvYmouc29ydEJ5O1xyXG4vLyAgZGVsZXRlIHRoaXMudGFibGVvYmouZXhwb3J0O1xyXG4vLyAgIHRoaXMuaGVhdGxvYWRpbmcgPSB0cnVlO1xyXG4vLyAgIHRoaXMuaGVhdG5vRGF0YSA9IGZhbHNlO1xyXG4vLyAgZGVsZXRlIHRoaXMudGFibGVvYmouZGF0ZVR5cGVcclxuLy8gICB0aGlzLnNlcnZpY2VcclxuLy8gICAgIC5nZXRDYXJkTGlzdCh0aGlzLnRhYmxlb2JqKVxyXG4vLyAgICAgLnBpcGUodGFrZVVudGlsKHRoaXMuZGVzdHJveSQpKVxyXG4vLyAgICAgPy5zdWJzY3JpYmUoe1xyXG4vLyAgICAgICBuZXh0OiAocmVzOiBhbnkpID0+IHtcclxuLy8gICAgICAgICBpZiAocmVzICYmIHJlcy5jb2RlID09PSAyMDApIHtcclxuLy8gICAgICAgICAgIHRoaXMuZ2V0Q2FyZERhdGEgPSByZXM/LmRhdGE/LmNhcmQ7XHJcbi8vICAgICAgICAgICAvLyB0aGlzLmhlYXRNYXBEYXRhID0gcmVzPy5kYXRhPy5mdW5uZWxDaGFydDtcclxuICAgICAgICAgXHJcbi8vICAgICAgICAgICB0aGlzLmNkLmRldGVjdENoYW5nZXMoKTtcclxuLy8gICAgICAgICB9IGVsc2Uge1xyXG4vLyAgICAgICAgICAgdGhpcy5nZXRDYXJkRGF0YSA9W107XHJcbi8vICAgICAgICAgICB0aGlzLmhlYXRNYXBEYXRhID1bXTtcclxuLy8gICAgICAgICB0aGlzLmhlYXRsb2FkaW5nID0gZmFsc2VcclxuLy8gICAgICAgICB0aGlzLmhlYXRub0RhdGEgPSB0cnVlXHJcbi8vICAgICAgICAgfVxyXG4vLyAgICAgICB9LFxyXG4vLyAgICAgICBlcnJvcjogKGVycjogYW55KSA9PiB7XHJcbi8vICAgICAgICAgdGhpcy5nZXRDYXJkRGF0YSA9W107XHJcbi8vICAgICAgICAgdGhpcy5oZWF0TWFwRGF0YSA9W107XHJcbi8vICAgICAgICAgdGhpcy5jZC5kZXRlY3RDaGFuZ2VzKCk7XHJcbi8vICAgICAgIH0sXHJcbi8vICAgICAgIGNvbXBsZXRlOiAoKSA9PiB7fSxcclxuLy8gICAgIH0pO1xyXG4vLyB9XHJcblxyXG4vLyBnZXRDYXJkR3JhcGgoKSB7XHJcbi8vICAgdGhpcy5jYXJkbG9hZGluZyA9dHJ1ZTtcclxuLy8gICB0aGlzLmNhcmROb2RhdGEgPWZhbHNlO1xyXG4vLyAgIGRlbGV0ZSB0aGlzLnRhYmxlb2JqLm5vcm1hbGl6ZWREYXRhO1xyXG4vLyAgIGRlbGV0ZSB0aGlzLnRhYmxlb2JqLnByb2Nlc3NUeXBlO1xyXG4vLyAgIHRoaXMudGFibGVvYmouZGF0ZVR5cGUgPSB0aGlzLmRhdGVUeXBlO1xyXG4vLyAgIGRlbGV0ZSB0aGlzLnRhYmxlb2JqLnNvcnQ7XHJcbi8vICAgZGVsZXRlIHRoaXMudGFibGVvYmouc29ydEJ5O1xyXG4vLyAgIHRoaXMuc2VydmljZVxyXG4vLyAgICAgLmdldENhcmRHcmFwaExpc3QodGhpcy50YWJsZW9iailcclxuLy8gICAgIC5waXBlKHRha2VVbnRpbCh0aGlzLmRlc3Ryb3kkKSlcclxuLy8gICAgID8uc3Vic2NyaWJlKHtcclxuLy8gICAgICAgbmV4dDogKHJlczogYW55KSA9PiB7XHJcbi8vICAgICAgICAgaWYgKHJlcyAmJiByZXMuY29kZSA9PT0gMjAwKSB7XHJcbi8vICAgICAgICAgICB0aGlzLmdldENhcmRHcmFwaERhdGEgPSByZXM/LmRhdGE7XHJcbi8vICAgICAgICAgICBpZih0aGlzLm5vYil7XHJcbi8vICAgICAgICAgICAgIHRoaXMudmFsdWVDb252ZXJzaW9uUmF0ZSA9IHRoaXMuZ2V0Q2FyZEdyYXBoRGF0YT8uY29udmVyc2lvbj8ubm9iLm5vYjtcclxuLy8gICAgICAgICAgIHRoaXMuY29udmVyc2lvblZhbHVlID0nTm9CIERlcml2ZWQnXHJcbi8vICAgICAgICAgICB9ZWxzZSB7IFxyXG4vLyAgICAgICAgICAgdGhpcy52YWx1ZUNvbnZlcnNpb25SYXRlID0gIHRoaXMuZ2V0Q2FyZEdyYXBoRGF0YT8uY29udmVyc2lvbj8uZm9vdGZhbGwucmF0ZTtcclxuLy8gICAgICAgICAgICB0aGlzLmNvbnZlcnNpb25WYWx1ZSA9J2Zvb3RmYWxsJ1xyXG4vLyAgICAgICAgICAgfVxyXG4vLyAgICAgICAgICAgdGhpcy5jYXJkbG9hZGluZyA9ZmFsc2U7XHJcbi8vICAgICAgICAgICB0aGlzLmNhcmROb2RhdGEgPWZhbHNlOyAgICAgICAgICAgXHJcbi8vICAgICAgICAgICB0aGlzLmNkLmRldGVjdENoYW5nZXMoKTtcclxuLy8gICAgICAgICB9IGVsc2UgaWYoIXJlcyB8fCByZXMuY29kZSA9PT0gMjA0KXtcclxuLy8gICAgICAgICAgIHRoaXMuZ2V0Q2FyZEdyYXBoRGF0YT1bXTtcclxuLy8gICAgICAgICAgIHRoaXMuY2FyZGxvYWRpbmcgPWZhbHNlO1xyXG4vLyAgICAgICAgICAgdGhpcy5jYXJkTm9kYXRhID10cnVlO1xyXG4vLyAgICAgICAgIH1cclxuLy8gICAgICAgfSxcclxuLy8gICAgICAgZXJyb3I6IChlcnI6IGFueSkgPT4ge1xyXG4vLyAgICAgICAgIHRoaXMuY2QuZGV0ZWN0Q2hhbmdlcygpO1xyXG4vLyAgICAgICB9LFxyXG4vLyAgICAgICBjb21wbGV0ZTogKCkgPT4ge30sXHJcbi8vICAgICB9KTtcclxuLy8gfVxyXG4iLCI8c2NyaXB0PlxyXG4gICAgKGc9Pnt2YXIgaCxhLGsscD1cIlRoZSBHb29nbGUgTWFwcyBKYXZhU2NyaXB0IEFQSVwiLGM9XCJnb29nbGVcIixsPVwiaW1wb3J0TGlicmFyeVwiLHE9XCJfX2liX19cIixtPWRvY3VtZW50LGI9d2luZG93O2I9YltjXXx8KGJbY109e30pO3ZhciBkPWIubWFwc3x8KGIubWFwcz17fSkscj1uZXcgU2V0LGU9bmV3IFVSTFNlYXJjaFBhcmFtcyx1PSgpPT5ofHwoaD1uZXcgUHJvbWlzZShhc3luYyhmLG4pPT57YXdhaXQgKGE9bS5jcmVhdGVFbGVtZW50KFwic2NyaXB0XCIpKTtlLnNldChcImxpYnJhcmllc1wiLFsuLi5yXStcIlwiKTtmb3IoayBpbiBnKWUuc2V0KGsucmVwbGFjZSgvW0EtWl0vZyx0PT5cIl9cIit0WzBdLnRvTG93ZXJDYXNlKCkpLGdba10pO2Uuc2V0KFwiY2FsbGJhY2tcIixjK1wiLm1hcHMuXCIrcSk7YS5zcmM9YGh0dHBzOi8vbWFwcy4ke2N9YXBpcy5jb20vbWFwcy9hcGkvanM/YCtlO2RbcV09ZjthLm9uZXJyb3I9KCk9Pmg9bihFcnJvcihwK1wiIGNvdWxkIG5vdCBsb2FkLlwiKSk7YS5ub25jZT1tLnF1ZXJ5U2VsZWN0b3IoXCJzY3JpcHRbbm9uY2VdXCIpPy5ub25jZXx8XCJcIjttLmhlYWQuYXBwZW5kKGEpfSkpO2RbbF0/Y29uc29sZS53YXJuKHArXCIgb25seSBsb2FkcyBvbmNlLiBJZ25vcmluZzpcIixnKTpkW2xdPShmLC4uLm4pPT5yLmFkZChmKSYmdSgpLnRoZW4oKCk9PmRbbF0oZiwuLi5uKSl9KSh7XHJcbiAgICAgIHY6IFwid2Vla2x5XCIsXHJcbiAgICAgIGtleTogXCJBSXphU3lEbE9lemd3UU8wSnZpRDBhaXpyQ3VOMUZZOXRjV2ZSM29cIlxyXG4gICAgfSk7XHJcbiAgPC9zY3JpcHQ+XHJcbiAgPGxpbmsgaHJlZj0naHR0cHM6Ly9hcGkubWFwYm94LmNvbS9tYXBib3gtZ2wtanMvdjIuMTUuMC9tYXBib3gtZ2wuY3NzJyByZWw9J3N0eWxlc2hlZXQnIC8+XHJcbiAgPHNjcmlwdCBzcmM9J2h0dHBzOi8vYXBpLm1hcGJveC5jb20vbWFwYm94LWdsLWpzL3YyLjE1LjAvbWFwYm94LWdsLmpzJz48L3NjcmlwdD5cclxuXHJcbjxkaXYgY2xhc3M9XCJyb3dcIj5cclxuICAgIDxkaXYgKm5nSWY9XCIoZ3MudXNlckFjY2VzcyB8IGFzeW5jKT8udXNlclR5cGUgPT09ICd0YW5nbycgfHwgY2xpZW50RGF0YT8uZmVhdHVyZUNvbmZpZ3M/LmlzTm9ybWFsaXplZFwiIGNsYXNzPVwiY29sLW1kLTEyIHRleHQtZW5kXCI+XHJcbiAgICAgICA8ZGl2IGNsYXNzPVwiZm9ybS1jaGVjayBmb3JtLXN3aXRjaCBteS0yXCIgc3R5bGU9XCJmbG9hdDogcmlnaHQgIWltcG9ydGFudDtcIj5cclxuICAgICAgICAgICAgPGlucHV0IGNsYXNzPVwiZm9ybS1jaGVjay1pbnB1dCBjdXJzb3ItcG9pbnRlclwiICB0eXBlPVwiY2hlY2tib3hcIiBpZD1cImZsZXhTd2l0Y2hDaGVja0RlZmF1bHRcIiBcclxuICAgICAgICAgICAgW2NoZWNrZWRdPVwibm9ybWFsaXplXCIgKGNoYW5nZSk9XCJ0b2dnbGVOb3JtYWxpemUoJGV2ZW50KVwiPjxzcGFuIGNsYXNzPVwibm9ybWFsaXplLXRleHRcIj5WaWV3IE5vcm1hbGl6ZWQgRGF0YTwvc3Bhbj5cclxuICAgICAgICAgIDwvZGl2PlxyXG4gICAgPC9kaXY+XHJcbiAgICA8ZGl2IGNsYXNzPVwiY29sLW1kLTcgaC0xMDBcIj5cclxuICAgICAgICA8ZGl2IGNsYXNzPVwicm93XCI+XHJcbiAgICAgICAgICAgIDxkaXYgY2xhc3M9XCJjb2wtbWQtOCBcIj5cclxuICAgICAgICAgICAgICAgIDxkaXYgY2xhc3M9XCJjYXJkIGNhcmQtYm9yZGVyIGgtMTAwXCI+XHJcbiAgICAgICAgICAgICAgICAgICAgPGRpdiBjbGFzcz1cInJvdyBwb3NpdGlvbi1yZWxhdGl2ZVwiPlxyXG4gICAgICAgICAgICAgICAgICAgICAgICA8ZGl2IGNsYXNzPVwiY29sLW1kLTZcIiAgPlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgPGRpdiBjbGFzcz1cInB4LTBcIj5cclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8ZGl2IGNsYXNzPVwiY2FyZC1oZWFkZXIgZWxsaXBzZTEgYm9yZGVyLTAgcHgtM1wiID5cclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPCEtLSAtLT5cclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGgzICBjbGFzcz1cImNhcmQtdGl0bGUgYWxpZ24taXRlbXMtc3RhcnQgZmxleC1jb2x1bW5cIiBbbmdiVG9vbHRpcF09XCJmb290ZmFsbFRvb2x0aXBcIiBwbGFjZW1lbnQ9XCJyaWdodFwiPlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwhLS0gRGlzcGxheSBmb290ZmFsbCBjb3VudCBvciAnLS0nIGlmIG5vdCBhdmFpbGFibGUgLS0+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPHNwYW4gY2xhc3M9XCJjYXJkLWxhYmVsIGhlYWRlclwiPnt7IGdldEZvb3RmYWxsQ2FyZERhdGE/LmNhcmQ/LmZvb3RmYWxsPy5jb3VudCA/IGdldEZvb3RmYWxsQ2FyZERhdGE/LmNhcmQ/LmZvb3RmYWxsPy5jb3VudC50b0xvY2FsZVN0cmluZygnZW4tSU4nKSA6ICctLScgfX08L3NwYW4+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPHNwYW4gY2xhc3M9XCJzdWItaGVhZGVyXCI+e3tmb290ZmFsbE5hbWV9fTwvc3Bhbj5cclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPC9oMz5cclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgXHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwhLS0gU3dpdGNoIHRvZ2dsZSAtLT5cclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGRpdiBjbGFzcz1cImNhcmQtdG9vbGJhclwiPlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGRpdiBjbGFzcz1cImNvbC1tZC0xMiB0ZXh0LWVuZFwiPlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxkaXYgY2xhc3M9XCJmb3JtLWNoZWNrIGZvcm0tc3dpdGNoIHRleHQtZW5kXCI+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8aW5wdXQgY2xhc3M9XCJmb3JtLWNoZWNrLWlucHV0IG10LTEgY3Vyc29yLXBvaW50ZXJcIiB0eXBlPVwiY2hlY2tib3hcIiBpZD1cImZsZXhTd2l0Y2hDaGVja0RlZmF1bHRcIiBcclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIFsobmdNb2RlbCldPVwiaXNBdmVyYWdlXCIgKGNoYW5nZSk9XCJ0b2dnbGVBdmVyYWdlKCRldmVudClcIiBbZGlzYWJsZWRdPVwiaXNEaXNhYmxlZFwiPlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvZGl2PlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxkaXYgKm5nSWY9XCJpc0F2ZXJhZ2VcIiBjbGFzcz1cImZvcm0tY2hlY2stbGFiZWwgbXQtNVwiPkF2ZXJhZ2U8L2Rpdj5cclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8ZGl2ICpuZ0lmPVwiIWlzQXZlcmFnZVwiIGNsYXNzPVwiZm9ybS1jaGVjay1sYWJlbCBtdC01XCI+QWN0dWFsPC9kaXY+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPC9kaXY+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvZGl2PlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPC9kaXY+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8bmctdGVtcGxhdGUgI2Zvb3RmYWxsVG9vbHRpcD5cclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGRpdiBjbGFzcz1cInRvb2x0aXAtY29udGVudFwiPlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxoNSBjbGFzcz1cInRvb2x0aXAtdGl0bGUgdGV4dC1zdGFydFwiPkZvb3RmYWxsPC9oNT5cclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8cCBjbGFzcz1cInRleHQtc3RhcnRcIj5Ub3RhbCB1bmlxdWUgd2Fsay1pbnMgaW50byB0aGUgc2VsZWN0ZWQgc3RvcmVzLjwvcD5cclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8aDQgY2xhc3M9XCJ0ZXh0LXN0YXJ0XCI+e3tnZXRDYXJkRGF0YT8uZm9vdGZhbGw/LmNvdW50fX08L2g0PlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8L2Rpdj5cclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvbmctdGVtcGxhdGU+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGRpdiBjbGFzcz1cImNhcmQtYm9keSBwLTBcIj5cclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgXHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxzZWN0aW9uID5cclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxkaXYgY2xhc3M9XCJyb3dcIj5cclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8ZGl2IGNsYXNzPVwiY29sLW1kLTEwIHBlLTBcIj5cclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGRpdiAqbmdJZj1cImZvb3RmYWxsbG9hZGluZ1wiIGNsYXNzPVwidGV4dC1jZW50ZXJcIj5cclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxpbWcgY2xhc3M9XCJsb2FkZXItaW1nXCIgc3JjPVwiYXNzZXRzL3RhbmdvL2xheW91dC9Mb2FkZXIuZ2lmXCI+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvZGl2PlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8ZGl2ICpuZ0lmPVwiZm9vdGZhbGxOb2RhdGFcIiBjbGFzcz1cInJvd1wiPlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBcclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8ZGl2IGNsYXNzPVwiY2FyZC1ib2R5IHBiLTAgcHgtMCBkLWZsZXgganVzdGlmeS1jb250ZW50LWNlbnRlciBhbGlnbi1pdGVtcy1jZW50ZXIgZmxleC1jb2x1bW5cIj5cclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGltZyBjbGFzcz1cImZvb3RpbWctbm9kYXRhMVwiIHNyYz1cIi4vYXNzZXRzL3RhbmdvL0ljb25zL05vZGF0YTEuc3ZnXCIgYWx0PVwiXCI+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxkaXYgY2xhc3M9XCJub2RhdGEtdGl0bGUxXCI+Tm8gZGF0YSBmb3VuZDwvZGl2PlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8IS0tIDxkaXYgY2xhc3M9XCJub2RhdGEtc3ViXCI+VGhlcmUgaXMgbm8gcmVzdWx0IGZvciB0aGlzIGNvbnZlcnNpb24gZnVubmVsPC9kaXY+IC0tPlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvZGl2PlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBcclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPC9kaXY+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxkaXYgKm5nSWY9XCIhZm9vdGZhbGxOb2RhdGFcIiBjbGFzcz1cInRleHQtY2VudGVyXCIgaWQ9XCJGb290ZmFsbFwiPjwvZGl2PlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8L2Rpdj5cclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGRpdiBjbGFzcz1cImNvbC1tZC0yIG10LTNcIj5cclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxkaXYgIGNsYXNzPVwibXQtMSBjdXJzb3ItcG9pbnRlciBmcy01XCIgW25nQ2xhc3NdPVwiZGF0ZVR5cGUgPT09J2RhaWx5JyA/ICd0ZXh0LXByaW1hcnknIDonJ1wiIChjbGljayk9XCJkYXRlVmFsdWUoJ2RhaWx5JylcIj4xRDwvZGl2PlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGRpdiAgY2xhc3M9XCJtdC0xIGN1cnNvci1wb2ludGVyIGZzLTVcIiAgW25nQ2xhc3NdPVwiZGF0ZVR5cGUgPT09J3dlZWtseScgPyAndGV4dC1wcmltYXJ5JyA6JydcIiAgKGNsaWNrKT1cImRhdGVWYWx1ZSgnd2Vla2x5JylcIj4xVzwvZGl2PlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGRpdiAgY2xhc3M9XCJtdC0xIGN1cnNvci1wb2ludGVyIGZzLTVcIiAgW25nQ2xhc3NdPVwiZGF0ZVR5cGUgPT09J21vbnRobHknID8gJ3RleHQtcHJpbWFyeScgOicnXCIgIChjbGljayk9XCJkYXRlVmFsdWUoJ21vbnRobHknKVwiPjFNPC9kaXY+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvZGl2PlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8L2Rpdj5cclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPC9zZWN0aW9uPlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvZGl2PlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxkaXYgY2xhc3M9XCJjYXJkLWZvb3RlciBtcy0yIHAtMFwiPlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8ZGl2IGNsYXNzPVwiY29sLW1kLTEyIG10LTNcIj5cclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxzcGFuIGNsYXNzPVwibXQtMlwiPlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxzdmcgKm5nSWY9XCIhZ2V0Rm9vdGZhbGxDYXJkRGF0YT8uZGF0YT8uZm9vdGZhbGw/LlByZXZpb3VzVmFyaWF0aW9uXCIgeG1sbnM9XCJodHRwOi8vd3d3LnczLm9yZy8yMDAwL3N2Z1wiIHdpZHRoPVwiMThcIlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGhlaWdodD1cIjE4XCIgdmlld0JveD1cIjAgMCAxOCAxOFwiIGZpbGw9XCJub25lXCI+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGcgY2xpcC1wYXRoPVwidXJsKCNjbGlwMF8yMzI4XzQ2NTQpXCI+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxwYXRoIGQ9XCJNMTEuNSA5TDYuNzUgNC4yNUw0LjI1IDYuNzVMMC41IDNNMTEuNSA5SDguNU0xMS41IDlWNlwiIHN0cm9rZT1cIiNEOTJEMjBcIiBzdHJva2Utd2lkdGg9XCIxLjVcIlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgc3Ryb2tlLWxpbmVjYXA9XCJyb3VuZFwiIHN0cm9rZS1saW5lam9pbj1cInJvdW5kXCIgLz5cclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8L2c+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGRlZnM+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxjbGlwUGF0aCBpZD1cImNsaXAwXzIzMjhfNDY1NFwiPlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPHJlY3Qgd2lkdGg9XCIxMlwiIGhlaWdodD1cIjEyXCIgZmlsbD1cIndoaXRlXCIgLz5cclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPC9jbGlwUGF0aD5cclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8L2RlZnM+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8L3N2Zz5cclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxzdmcgKm5nSWY9XCJnZXRGb290ZmFsbENhcmREYXRhPy5kYXRhPy5mb290ZmFsbD8uUHJldmlvdXNWYXJpYXRpb25cIiB4bWxucz1cImh0dHA6Ly93d3cudzMub3JnLzIwMDAvc3ZnXCIgd2lkdGg9XCIxMlwiIGhlaWdodD1cIjEyXCJcclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB2aWV3Qm94PVwiMCAwIDEyIDEyXCIgZmlsbD1cIm5vbmVcIj5cclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8ZyBjbGlwLXBhdGg9XCJ1cmwoI2NsaXAwXzMyMTZfMTE4KVwiPlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8cGF0aCBkPVwiTTExLjUgM0w2Ljc1IDcuNzVMNC4yNSA1LjI1TDAuNSA5TTExLjUgM0g4LjVNMTEuNSAzVjZcIiBzdHJva2U9XCIjMDM5ODU1XCIgc3Ryb2tlLXdpZHRoPVwiMS41XCJcclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHN0cm9rZS1saW5lY2FwPVwicm91bmRcIiBzdHJva2UtbGluZWpvaW49XCJyb3VuZFwiIC8+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPC9nPlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxkZWZzPlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8Y2xpcFBhdGggaWQ9XCJjbGlwMF8zMjE2XzExOFwiPlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPHJlY3Qgd2lkdGg9XCIxMlwiIGhlaWdodD1cIjEyXCIgZmlsbD1cIndoaXRlXCIgLz5cclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPC9jbGlwUGF0aD5cclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8L2RlZnM+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8L3N2Zz5cclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvc3Bhbj5cclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxzcGFuICpuZ0lmPVwiZ2V0Rm9vdGZhbGxDYXJkRGF0YT8uZGF0YT8uZm9vdGZhbGw/LlByZXZpb3VzRGF0YSA9PT0wXCIgY2xhc3M9XCJwZXJjZW50LXZhbHVlIG1zLTJcIj4wJTwvc3Bhbj5cclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxzcGFuICBjbGFzcz1cIm10LTIgbXMtMlwiPjxzcGFuIGNsYXNzPVwicGVyY2VudC12YWx1ZVwiICpuZ0lmPVwiZ2V0Rm9vdGZhbGxDYXJkRGF0YT8uZGF0YT8uZm9vdGZhbGw/LlByZXZpb3VzRGF0YSAhPT0wXCI+e3tnZXRGb290ZmFsbENhcmREYXRhPy5kYXRhPy5mb290ZmFsbD8uUHJldmlvdXNEYXRhID8gZ2V0Rm9vdGZhbGxDYXJkRGF0YT8uZGF0YT8uZm9vdGZhbGw/LlByZXZpb3VzRGF0YTonLS0nfX0lPC9zcGFuPjxzcGFuXHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGNsYXNzPVwid2Vlay1mb250XCI+IHZzIFByZXZpb3VzIDxzcGFuICpuZ0lmPVwiZGF0ZVR5cGUgPT09J2RhaWx5J1wiPmRheTwvc3Bhbj48c3BhbiAqbmdJZj1cImRhdGVUeXBlID09PSd3ZWVrbHknXCI+d2Vlazwvc3Bhbj4gPHNwYW4gKm5nSWY9XCJkYXRlVHlwZSA9PT0nbW9udGhseSdcIj5tb250aDwvc3Bhbj4gPC9zcGFuPlxyXG5cclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvc3Bhbj5cclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPC9kaXY+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPC9kaXY+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICA8L2Rpdj5cclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwhLS0gPGRpdj5cclxuICAgICAgICAgICAgICAgICAgICA8c3ZnIHhtbG5zPVwiaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmdcIiB3aWR0aD1cIjE2XCIgaGVpZ2h0PVwiMTZcIiB2aWV3Qm94PVwiMCAwIDE2IDE2XCIgZmlsbD1cIm5vbmVcIj5cclxuICAgICAgICAgICAgICAgICAgICAgICAgPHBhdGggZD1cIk02IDEyTDEwIDhMNiA0XCIgc3Ryb2tlPVwiIzk4QTJCM1wiIHN0cm9rZS13aWR0aD1cIjJcIiBzdHJva2UtbGluZWNhcD1cInJvdW5kXCIgc3Ryb2tlLWxpbmVqb2luPVwicm91bmRcIi8+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgIDwvc3ZnPlxyXG4gICAgICAgICAgICAgICAgICAgICAgICA8L2Rpdj4gLS0+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgIDwvZGl2PlxyXG4gICAgICAgICAgICAgICAgICAgICAgICA8ZGl2IGNsYXNzPVwicG9zaXRpb24tYWJzb2x1dGUgbGVmdC01MFwiPlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgPHN2ZyB4bWxucz1cImh0dHA6Ly93d3cudzMub3JnLzIwMDAvc3ZnXCIgd2lkdGg9XCIxNlwiIGhlaWdodD1cIjE2XCIgdmlld0JveD1cIjAgMCAxNiAxNlwiIGZpbGw9XCJub25lXCI+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPHBhdGggZD1cIk02IDEyTDEwIDhMNiA0XCIgc3Ryb2tlPVwiIzk4QTJCM1wiIHN0cm9rZS13aWR0aD1cIjJcIiBzdHJva2UtbGluZWNhcD1cInJvdW5kXCIgc3Ryb2tlLWxpbmVqb2luPVwicm91bmRcIi8+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPC9zdmc+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPC9kaXY+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgIDxkaXYgY2xhc3M9XCJjb2wtbWQtNlwiPlxyXG5cclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxkaXYgY2xhc3M9XCJweC0wXCI+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGRpdiBjbGFzcz1cImNhcmQtaGVhZGVyIGVsbGlwc2UxIGJvcmRlci0wIHBzLTJcIiA+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxkaXYgY2xhc3M9XCJyb3dcIj5cclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxkaXYgY2xhc3M9XCJjb2wtbWQtMTAgdGV4dC1ub3dyYXAgcGUtMFwiID5cclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGgzIGNsYXNzPVwiIGNhcmQtdGl0bGUgYWxpZ24taXRlbXMtc3RhcnQgZmxleC1jb2x1bW5cIiBbbmdiVG9vbHRpcF09XCJjb252ZXJzaW9uVG9vbHRpcFwiIHBsYWNlbWVudD1cInJpZ2h0XCI+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8c3BhbiBjbGFzcz1cImNhcmQtbGFiZWwgaGVhZGVyXCIgKm5nSWY9XCJ2YWx1ZUNvbnZlcnNpb25SYXRlID09PSAwXCI+MCU8L3NwYW4+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8c3BhbiBjbGFzcz1cImNhcmQtbGFiZWwgaGVhZGVyXCIgKm5nSWY9XCJ2YWx1ZUNvbnZlcnNpb25SYXRlICE9PSAwXCI+e3t2YWx1ZUNvbnZlcnNpb25SYXRlICA/IHZhbHVlQ29udmVyc2lvblJhdGUgOiAnLS0nfX0lPC9zcGFuPlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPHNwYW4gY2xhc3M9XCJzdWItaGVhZGVyXCI+PHNwYW4gKm5nSWY9XCJoZWFkZXJEYXRhPy5jbGllbnQgPT09ICc0NTInXCI+TW9yZSB0aGFuIHt7Y2xpZW50RGF0YT8uZmVhdHVyZUNvbmZpZ3M/LmNvbnZlcnNpb24/LnZhbHVlfX0gbWlucyBSYXRlPC9zcGFuPlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPCEtLSA8c3BhbiAqbmdJZj1cImhlYWRlckRhdGE/LmNsaWVudCAhPT0gJzQ1MidcIj5Db252ZXJzaW9uPC9zcGFuPiAgIC0tPlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwhLS0gPG5nLWNvbnRhaW5lciAqbmdJZj1cImhlYWRlckRhdGE/LmNsaWVudCAhPT0gJzQ1MidcIj5cclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8c3BhbiAqbmdJZj1cImNvbnZlcnNpb25WYWx1ZSA9PT0gJ2Zvb3RmYWxsJyB8fCBjb252ZXJzaW9uVmFsdWUgPT09ICdlbmdhZ2VycycgfHwgY29udmVyc2lvblZhbHVlID09PSAnUG90ZW50aWFsIEJ1eWVycycgfHwgY29udmVyc2lvblZhbHVlID09PSAnTm9CIERlcml2ZWQnXCI+IFxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAtIDxzcGFuICpuZ0lmPVwiY29udmVyc2lvblZhbHVlID09PSAnTm9CIERlcml2ZWQnOyBlbHNlIG90aGVyVmFsdWVzXCI+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBOb0IgRGVyaXZlZFxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvc3Bhbj5cclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8bmctdGVtcGxhdGUgI290aGVyVmFsdWVzPlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAge3sgY29udmVyc2lvblZhbHVlIHwgdGl0bGVjYXNlIH19XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPC9uZy10ZW1wbGF0ZT5cclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvc3Bhbj5cclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvbmctY29udGFpbmVyPiAtLT5cclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvc3Bhbj5cclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxuZy1jb250YWluZXIgKm5nSWY9XCJoZWFkZXJEYXRhPy5jbGllbnQgIT09ICc0NTInXCI+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8c3BhbiAqbmdJZj1cIiFpc0NvbnZlcnNpb25cIiBjbGFzcz1cInN1Yi1oZWFkZXJcIj4gQ29udmVyc2lvblxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgXHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxzcGFuICpuZ0lmPVwiY29udmVyc2lvblZhbHVlID09PSAnZm9vdGZhbGwnIHx8IGNvbnZlcnNpb25WYWx1ZSA9PT0gJ2VuZ2FnZXJzJyB8fCBjb252ZXJzaW9uVmFsdWUgPT09ICdQb3RlbnRpYWwgQnV5ZXJzJyB8fCBjb252ZXJzaW9uVmFsdWUgPT09ICdOb0IgRGVyaXZlZCdcIj4gXHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgLSA8c3BhbiAqbmdJZj1cImNvbnZlcnNpb25WYWx1ZSA9PT0gJ05vQiBEZXJpdmVkJzsgZWxzZSBvdGhlclZhbHVlc1wiPlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIE5vQiBEZXJpdmVkXHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvc3Bhbj5cclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPG5nLXRlbXBsYXRlICNvdGhlclZhbHVlcz5cclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB7eyBjb252ZXJzaW9uVmFsdWUgfCB0aXRsZWNhc2UgfX1cclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPC9uZy10ZW1wbGF0ZT5cclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBcclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8L3NwYW4+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgXHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPC9zcGFuPjxzcGFuICpuZ0lmPVwiaXNDb252ZXJzaW9uXCIgY2xhc3M9XCJzdWItaGVhZGVyXCI+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBcclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPHNwYW4gKm5nSWY9XCJjb252ZXJzaW9uVmFsdWUgPT09ICdmb290ZmFsbCcgfHwgY29udmVyc2lvblZhbHVlID09PSAnZW5nYWdlcnMnIHx8IGNvbnZlcnNpb25WYWx1ZSA9PT0gJ1BvdGVudGlhbCBCdXllcnMnIHx8IGNvbnZlcnNpb25WYWx1ZSA9PT0gJ05vQiBEZXJpdmVkJ1wiPiBcclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8c3BhbiAqbmdJZj1cImNvbnZlcnNpb25WYWx1ZSA9PT0gJ05vQiBEZXJpdmVkJzsgZWxzZSBvdGhlclZhbHVlc1wiPlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIENvbnZlcnNpb24gLSBOb0IgRGVyaXZlZFxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8L3NwYW4+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxuZy10ZW1wbGF0ZSAjb3RoZXJWYWx1ZXM+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAge3sgY29udmVyc2lvblZhbHVlIHwgdGl0bGVjYXNlIH19IC0gTm9CIERlcml2ZWRcclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPC9uZy10ZW1wbGF0ZT5cclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBcclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8L3NwYW4+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgXHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPC9zcGFuPjwvbmctY29udGFpbmVyPlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8L2gzPlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8L2Rpdj5cclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGRpdiAqbmdJZj1cIihncy51c2VyQWNjZXNzIHwgYXN5bmMpPy51c2VyVHlwZSA9PT0gJ3RhbmdvJ1wiIGNsYXNzPVwiY29sLW1kLTIgcHgtMFwiPlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGRpdiBjbGFzcz1cInRleHQtZW5kXCI+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGRpdiBjbGFzcz1cImZvcm0tY2hlY2sgZm9ybS1zd2l0Y2ggY3Vyc29yLXBvaW50ZXJcIj5cclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxpbnB1dCBjbGFzcz1cImZvcm0tY2hlY2staW5wdXQgY3Vyc29yLXBvaW50ZXJcIiB0eXBlPVwiY2hlY2tib3hcIiBpZD1cIkNvbnZlcnNpb25cIiBcclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIFsobmdNb2RlbCldPVwiaXNDb252ZXJzaW9uXCIgKGNoYW5nZSk9XCJ0b2dnbGVDb252ZXJzaW9uKCRldmVudClcIj5cclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxkaXYgIGNsYXNzPVwiZm9ybS1jaGVjay1sYWJlbCBtdC0zXCI+PC9kaXY+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPC9kaXY+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBcclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8L2Rpdj5cclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPC9kaXY+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvZGl2PlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvZGl2PlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPG5nLXRlbXBsYXRlICNjb252ZXJzaW9uVG9vbHRpcD5cclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGRpdiBjbGFzcz1cInRvb2x0aXAtY29udGVudFwiPlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxoNSBjbGFzcz1cInRvb2x0aXAtdGl0bGUgdGV4dC1zdGFydFwiICpuZ0lmPVwiaGVhZGVyRGF0YT8uY2xpZW50ICE9PSAnNDUyJ1wiPkNvbnZlcnNpb24gUmF0ZTwvaDU+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPHAgY2xhc3M9XCJ0ZXh0LXN0YXJ0XCI+VG90YWwgJSBvZiB7e2NvbnZlcnNpb25WYWx1ZX19IHdobyBzcGVudCBtb3JlIHRoYW4ge3tjbGllbnREYXRhPy5mZWF0dXJlQ29uZmlncz8uY29udmVyc2lvbj8udmFsdWV9fSBtaW5zIGluIHRoZSBzdG9yZS48L3A+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPCEtLSA8aDQgY2xhc3M9XCJ0ZXh0LXN0YXJ0XCI+e3t2YWx1ZUNvbnZlcnNpb25SYXRlfX08L2g0PiAtLT5cclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPCEtLSA8Zm9vdGVyIGNsYXNzPVwidG9vbHRpcC1mb290ZXIgdGV4dC1zdGFydFwiPiA8c3BhbiBjbGFzcz1cIm10LTJcIj5cclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxzdmcgKm5nSWY9XCIhZ2V0Q2FyZEdyYXBoRGF0YT8uY29udmVyc2lvbj8uUHJldmlvdXNWYXJpYXRpb25cIiB4bWxucz1cImh0dHA6Ly93d3cudzMub3JnLzIwMDAvc3ZnXCIgd2lkdGg9XCIxOFwiXHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBoZWlnaHQ9XCIxOFwiIHZpZXdCb3g9XCIwIDAgMTggMThcIiBmaWxsPVwibm9uZVwiPlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGcgY2xpcC1wYXRoPVwidXJsKCNjbGlwMF8yMzI4XzQ2NTQpXCI+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPHBhdGggZD1cIk0xMS41IDlMNi43NSA0LjI1TDQuMjUgNi43NUwwLjUgM00xMS41IDlIOC41TTExLjUgOVY2XCIgc3Ryb2tlPVwiI0Q5MkQyMFwiIHN0cm9rZS13aWR0aD1cIjEuNVwiXHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHN0cm9rZS1saW5lY2FwPVwicm91bmRcIiBzdHJva2UtbGluZWpvaW49XCJyb3VuZFwiIC8+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8L2c+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8ZGVmcz5cclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8Y2xpcFBhdGggaWQ9XCJjbGlwMF8yMzI4XzQ2NTRcIj5cclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPHJlY3Qgd2lkdGg9XCIxMlwiIGhlaWdodD1cIjEyXCIgZmlsbD1cIndoaXRlXCIgLz5cclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8L2NsaXBQYXRoPlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPC9kZWZzPlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8L3N2Zz5cclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPHN2ZyAqbmdJZj1cImdldENhcmRHcmFwaERhdGE/LmNvbnZlcnNpb24/LlByZXZpb3VzVmFyaWF0aW9uXCIgeG1sbnM9XCJodHRwOi8vd3d3LnczLm9yZy8yMDAwL3N2Z1wiIHdpZHRoPVwiMTJcIiBoZWlnaHQ9XCIxMlwiXHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB2aWV3Qm94PVwiMCAwIDEyIDEyXCIgZmlsbD1cIm5vbmVcIj5cclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxnIGNsaXAtcGF0aD1cInVybCgjY2xpcDBfMzIxNl8xMTgpXCI+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPHBhdGggZD1cIk0xMS41IDNMNi43NSA3Ljc1TDQuMjUgNS4yNUwwLjUgOU0xMS41IDNIOC41TTExLjUgM1Y2XCIgc3Ryb2tlPVwiIzAzOTg1NVwiIHN0cm9rZS13aWR0aD1cIjEuNVwiXHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHN0cm9rZS1saW5lY2FwPVwicm91bmRcIiBzdHJva2UtbGluZWpvaW49XCJyb3VuZFwiIC8+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8L2c+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8ZGVmcz5cclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8Y2xpcFBhdGggaWQ9XCJjbGlwMF8zMjE2XzExOFwiPlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8cmVjdCB3aWR0aD1cIjEyXCIgaGVpZ2h0PVwiMTJcIiBmaWxsPVwid2hpdGVcIiAvPlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvY2xpcFBhdGg+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8L2RlZnM+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvc3ZnPlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8L3NwYW4+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxzcGFuIGNsYXNzPVwibXQtMiBtcy0yXCI+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8c3BhbiAqbmdJZj1cImNvbnZlcnNpb25WYWx1ZSA9PT0nZm9vdGZhbGwnICYmIGdldENhcmRHcmFwaERhdGE/LmNvbnZlcnNpb24/LmZvb3RmYWxsLlByZXZpb3VzRGF0YSA9PT0wXCIgY2xhc3M9XCJwZXJjZW50LXZhbHVlXCI+MCU8L3NwYW4+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8c3BhbiAqbmdJZj1cImNvbnZlcnNpb25WYWx1ZSA9PT0nZm9vdGZhbGwnICYmIGdldENhcmRHcmFwaERhdGE/LmNvbnZlcnNpb24/LmZvb3RmYWxsLlByZXZpb3VzRGF0YSAhPT0wXCIgY2xhc3M9XCJwZXJjZW50LXZhbHVlXCI+e3tnZXRDYXJkR3JhcGhEYXRhPy5jb252ZXJzaW9uPy5mb290ZmFsbC5QcmV2aW91c0RhdGEgPyBnZXRDYXJkR3JhcGhEYXRhPy5jb252ZXJzaW9uPy5mb290ZmFsbC5QcmV2aW91c0RhdGE6Jy0tJ319JTwvc3Bhbj5cclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxzcGFuICpuZ0lmPVwiY29udmVyc2lvblZhbHVlID09PSdlbmdhZ2VycycgJiYgZ2V0Q2FyZEdyYXBoRGF0YT8uY29udmVyc2lvbj8uZW5nYWdlcnMuUHJldmlvdXNEYXRhID09PTBcIiBjbGFzcz1cInBlcmNlbnQtdmFsdWVcIj4wJTwvc3Bhbj5cclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBcclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxzcGFuICpuZ0lmPVwiY29udmVyc2lvblZhbHVlID09PSdlbmdhZ2VycycgJiYgZ2V0Q2FyZEdyYXBoRGF0YT8uY29udmVyc2lvbj8uZW5nYWdlcnMuUHJldmlvdXNEYXRhICE9PTBcIiBjbGFzcz1cInBlcmNlbnQtdmFsdWVcIj57e2dldENhcmRHcmFwaERhdGE/LmNvbnZlcnNpb24/LmVuZ2FnZXJzLlByZXZpb3VzRGF0YSA/IGdldENhcmRHcmFwaERhdGE/LmNvbnZlcnNpb24/LmVuZ2FnZXJzLlByZXZpb3VzRGF0YTonLS0nfX0lPC9zcGFuPlxyXG5cclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxzcGFuICpuZ0lmPVwiY29udmVyc2lvblZhbHVlID09PSdQb3RlbnRpYWwgQnV5ZXJzJyAmJiBnZXRDYXJkR3JhcGhEYXRhPy5jb252ZXJzaW9uPy5wb3RlbnRpYWxCdXllcnMuUHJldmlvdXNEYXRhID09PTBcIiBjbGFzcz1cInBlcmNlbnQtdmFsdWVcIj4wJTwvc3Bhbj5cclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxzcGFuICpuZ0lmPVwiY29udmVyc2lvblZhbHVlID09PSdQb3RlbnRpYWwgQnV5ZXJzJyAmJiBnZXRDYXJkR3JhcGhEYXRhPy5jb252ZXJzaW9uPy5wb3RlbnRpYWxCdXllcnMuUHJldmlvdXNEYXRhICE9PTBcIiBjbGFzcz1cInBlcmNlbnQtdmFsdWVcIj57e2dldENhcmRHcmFwaERhdGE/LmNvbnZlcnNpb24/LnBvdGVudGlhbEJ1eWVycy5QcmV2aW91c0RhdGEgPyBnZXRDYXJkR3JhcGhEYXRhPy5jb252ZXJzaW9uPy5wb3RlbnRpYWxCdXllcnMuUHJldmlvdXNEYXRhOictLSd9fSU8L3NwYW4+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8c3BhbiAqbmdJZj1cImNvbnZlcnNpb25WYWx1ZSA9PT0nTm9CIERlcml2ZWQnXCIgY2xhc3M9XCJwZXJjZW50LXZhbHVlXCI+LS0lPC9zcGFuPlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPHNwYW4gKm5nSWY9XCJjb252ZXJzaW9uVmFsdWUgPT09JycgJiYgZ2V0Q2FyZEdyYXBoRGF0YT8uY29udmVyc2lvbj8uUHJldmlvdXNEYXRhID09PTBcIiBjbGFzcz1cInBlcmNlbnQtdmFsdWVcIj4wJTwvc3Bhbj5cclxuXHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPHNwYW4gKm5nSWY9XCJjb252ZXJzaW9uVmFsdWUgPT09JycgJiYgZ2V0Q2FyZEdyYXBoRGF0YT8uY29udmVyc2lvbj8uUHJldmlvdXNEYXRhICE9PTBcIiAgY2xhc3M9XCJwZXJjZW50LXZhbHVlXCI+e3tnZXRDYXJkR3JhcGhEYXRhPy5jb252ZXJzaW9uPy5QcmV2aW91c0RhdGEgPyBnZXRDYXJkR3JhcGhEYXRhPy5jb252ZXJzaW9uPy5QcmV2aW91c0RhdGE6Jy0tJ319JTwvc3Bhbj5cclxuICAgICAgICAgICAgICAgICAgICAgICAgICBcclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxzcGFuXHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgY2xhc3M9XCJ3ZWVrLWZvbnRcIj4gdnMgUHJldmlvdXMgIDxzcGFuICpuZ0lmPVwiZGF0ZVR5cGUgPT09J2RhaWx5J1wiPmRheTwvc3Bhbj48c3BhbiAqbmdJZj1cImRhdGVUeXBlID09PSd3ZWVrbHknXCI+d2Vlazwvc3Bhbj4gPHNwYW4gKm5nSWY9XCJkYXRlVHlwZSA9PT0nbW9udGhseSdcIj5tb250aDwvc3Bhbj48L3NwYW4+XHJcblxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8L3NwYW4+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICA8L2Zvb3Rlcj4tLT5cclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPC9kaXY+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8L25nLXRlbXBsYXRlPiBcclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8ZGl2IGNsYXNzPVwiY2FyZC1ib2R5IHAtMFwiPlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgPGRpdiBjbGFzcz1cImgtMTAwcHggcHQtMTAgcHgtMyByb3dcIj5cclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8c3BhbiBjbGFzcz1cImgtNTBweCBjb2wtbWQtM1wiPlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8c3ZnIGNsYXNzPVwiY3Vyc29yLXBvaW50ZXJcIiAqbmdJZj1cImNvbnZlcnNpb25WYWx1ZSAhPT0nZm9vdGZhbGwnXCIgcGxhY2VtZW50PVwidG9wXCIgXHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIG5nYlRvb2x0aXA9XCJGb290ZmFsbFwiXHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIChjbGljayk9XCJjaGFuZ2VWYWx1ZSgnZm9vdGZhbGwnKVwiIHhtbG5zPVwiaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmdcIiB3aWR0aD1cIjI0XCIgaGVpZ2h0PVwiMjRcIiB2aWV3Qm94PVwiMCAwIDI0IDI0XCIgZmlsbD1cIm5vbmVcIj5cclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxwYXRoXHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgZD1cIk00IDE4SDkuNVYxOS4yNUM5LjUgMTkuOTc5MyA5LjIxMDI3IDIwLjY3ODggOC42OTQ1NCAyMS4xOTQ1QzguMTc4ODIgMjEuNzEwMyA3LjQ3OTM1IDIyIDYuNzUgMjJDNi4wMjA2NSAyMiA1LjMyMTE4IDIxLjcxMDMgNC44MDU0NiAyMS4xOTQ1QzQuMjg5NzMgMjAuNjc4OCA0IDE5Ljk3OTMgNCAxOS4yNVYxOFpNOCA2LjExOTk5QzEwIDYuMTE5OTkgMTEgOC45OTk5OSAxMSAxMUMxMSAxMiAxMC41IDEzIDEwIDE0LjVMOS41IDE2SDRDNCAxNSAzLjUgMTMuNSAzLjUgMTFDMy41IDguNDk5OTkgNS40OTggNi4xMTk5OSA4IDYuMTE5OTlaTTIwLjA1NCAxNC4wOThMMTkuODM3IDE1LjMyOUMxOS43MDIzIDE2LjAzOTYgMTkuMjkzMSAxNi42Njg2IDE4LjY5OCAxNy4wNzk2QzE4LjEwMjkgMTcuNDkwNyAxNy4zNjk4IDE3LjY1MDggMTYuNjU3NiAxNy41MjUyQzE1Ljk0NTMgMTcuMzk5NiAxNS4zMTExIDE2Ljk5ODQgMTQuODkyNSAxNi40MDg2QzE0LjQ3MzkgMTUuODE4OCAxNC4zMDQ1IDE1LjA4NzggMTQuNDIxIDE0LjM3NEwxNC42MzcgMTMuMTQ0TDIwLjA1NCAxNC4wOThaTTE4LjE3OCAxLjcwNDk5QzIwLjY0MiAyLjEzODk5IDIyLjE5NiA0LjgyOTk5IDIxLjc2MiA3LjI5MTk5QzIxLjMyOCA5Ljc1Mzk5IDIwLjU3NSAxMS4xNDQgMjAuNDAyIDEyLjEyOUwxNC45ODUgMTEuMTc0TDE0Ljc1MyA5LjYwOTk5QzE0LjUyMSA4LjA0NTk5IDE0LjIwMyA2Ljk3Mzk5IDE0LjM3NiA1Ljk4OTk5QzE0LjcyMyA0LjAxOTk5IDE2LjIwOCAxLjM1Nzk5IDE4LjE3OCAxLjcwNDk5WlwiXHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgZmlsbD1cIiM5OEEyQjNcIiAvPlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8L3N2Zz5cclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPHN2ZyBwbGFjZW1lbnQ9XCJ0b3BcIiBuZ2JUb29sdGlwPVwiRm9vdGZhbGxcIiAqbmdJZj1cImNvbnZlcnNpb25WYWx1ZSA9PT0nZm9vdGZhbGwnXCIgeG1sbnM9XCJodHRwOi8vd3d3LnczLm9yZy8yMDAwL3N2Z1wiIHdpZHRoPVwiMjRcIiBoZWlnaHQ9XCIyNFwiIHZpZXdCb3g9XCIwIDAgMjQgMjRcIiBmaWxsPVwibm9uZVwiPlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPHBhdGggZD1cIk00IDE4SDkuNVYxOS4yNUM5LjUgMTkuOTc5MyA5LjIxMDI3IDIwLjY3ODggOC42OTQ1NCAyMS4xOTQ1QzguMTc4ODIgMjEuNzEwMyA3LjQ3OTM1IDIyIDYuNzUgMjJDNi4wMjA2NSAyMiA1LjMyMTE4IDIxLjcxMDMgNC44MDU0NiAyMS4xOTQ1QzQuMjg5NzMgMjAuNjc4OCA0IDE5Ljk3OTMgNCAxOS4yNVYxOFpNOCA2LjExOTk5QzEwIDYuMTE5OTkgMTEgOC45OTk5OSAxMSAxMUMxMSAxMiAxMC41IDEzIDEwIDE0LjVMOS41IDE2SDRDNCAxNSAzLjUgMTMuNSAzLjUgMTFDMy41IDguNDk5OTkgNS40OTggNi4xMTk5OSA4IDYuMTE5OTlaTTIwLjA1NCAxNC4wOThMMTkuODM3IDE1LjMyOUMxOS43MDIzIDE2LjAzOTYgMTkuMjkzMSAxNi42Njg2IDE4LjY5OCAxNy4wNzk2QzE4LjEwMjkgMTcuNDkwNyAxNy4zNjk4IDE3LjY1MDggMTYuNjU3NiAxNy41MjUyQzE1Ljk0NTMgMTcuMzk5NiAxNS4zMTExIDE2Ljk5ODQgMTQuODkyNSAxNi40MDg2QzE0LjQ3MzkgMTUuODE4OCAxNC4zMDQ1IDE1LjA4NzggMTQuNDIxIDE0LjM3NEwxNC42MzcgMTMuMTQ0TDIwLjA1NCAxNC4wOThaTTE4LjE3OCAxLjcwNDk5QzIwLjY0MiAyLjEzODk5IDIyLjE5NiA0LjgyOTk5IDIxLjc2MiA3LjI5MTk5QzIxLjMyOCA5Ljc1Mzk5IDIwLjU3NSAxMS4xNDQgMjAuNDAyIDEyLjEyOUwxNC45ODUgMTEuMTc0TDE0Ljc1MyA5LjYwOTk5QzE0LjUyMSA4LjA0NTk5IDE0LjIwMyA2Ljk3Mzk5IDE0LjM3NiA1Ljk4OTk5QzE0LjcyMyA0LjAxOTk5IDE2LjIwOCAxLjM1Nzk5IDE4LjE3OCAxLjcwNDk5WlwiIGZpbGw9XCIjMDBBM0ZGXCIvPlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvc3ZnPlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvc3Bhbj5cclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8c3BhbiBjbGFzcz1cImgtNTBweCBjb2wtbWQtM1wiPlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8c3ZnIHBsYWNlbWVudD1cInRvcFwiIFtuZ2JUb29sdGlwXT1cImhlYWRlckRhdGE/LmNsaWVudCA9PT0gJzQ1MicgPyAnTW9yZSB0aGFuICcrIGZlYXR1cmVDb25maWc/LmJvdW5jZWRMaW1pdC52YWx1ZSArJyBtaW5zJyA6ICdFbmdhZ2VycydcIiBjbGFzcz1cImN1cnNvci1wb2ludGVyXCIgKm5nSWY9XCJjb252ZXJzaW9uVmFsdWUgIT09J2VuZ2FnZXJzJ1wiIChjbGljayk9XCJjaGFuZ2VWYWx1ZSgnZW5nYWdlcnMnKVwiIHhtbG5zPVwiaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmdcIiB3aWR0aD1cIjI0XCIgaGVpZ2h0PVwiMjRcIiB2aWV3Qm94PVwiMCAwIDI0IDI0XCIgZmlsbD1cIm5vbmVcIj5cclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxwYXRoIFxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGQ9XCJNMTcgMjFWMTlDMTcgMTcuOTM5MSAxNi41Nzg2IDE2LjkyMTcgMTUuODI4NCAxNi4xNzE2QzE1LjA3ODMgMTUuNDIxNCAxNC4wNjA5IDE1IDEzIDE1SDVDMy45MzkxMyAxNSAyLjkyMTcyIDE1LjQyMTQgMi4xNzE1NyAxNi4xNzE2QzEuNDIxNDMgMTYuOTIxNyAxIDE3LjkzOTEgMSAxOVYyMU0yMyAyMVYxOUMyMi45OTkzIDE4LjExMzcgMjIuNzA0NCAxNy4yNTI4IDIyLjE2MTQgMTYuNTUyM0MyMS42MTg0IDE1Ljg1MTkgMjAuODU4MSAxNS4zNTE2IDIwIDE1LjEzTTE2IDMuMTNDMTYuODYwNCAzLjM1MDMgMTcuNjIzIDMuODUwNyAxOC4xNjc2IDQuNTUyMzFDMTguNzEyMiA1LjI1MzkyIDE5LjAwNzggNi4xMTY4MyAxOS4wMDc4IDcuMDA1QzE5LjAwNzggNy44OTMxNyAxOC43MTIyIDguNzU2MDggMTguMTY3NiA5LjQ1NzY5QzE3LjYyMyAxMC4xNTkzIDE2Ljg2MDQgMTAuNjU5NyAxNiAxMC44OE0xMyA3QzEzIDkuMjA5MTQgMTEuMjA5MSAxMSA5IDExQzYuNzkwODYgMTEgNSA5LjIwOTE0IDUgN0M1IDQuNzkwODYgNi43OTA4NiAzIDkgM0MxMS4yMDkxIDMgMTMgNC43OTA4NiAxMyA3WlwiXHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgc3Ryb2tlPVwiIzk4QTJCM1wiIHN0cm9rZS13aWR0aD1cIjJcIiBzdHJva2UtbGluZWNhcD1cInJvdW5kXCIgc3Ryb2tlLWxpbmVqb2luPVwicm91bmRcIiAvPlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8L3N2Zz5cclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPHN2ZyBwbGFjZW1lbnQ9XCJ0b3BcIiBbbmdiVG9vbHRpcF09XCJoZWFkZXJEYXRhPy5jbGllbnQgPT09ICc0NTInID8gJ01vcmUgdGhhbiAnKyBmZWF0dXJlQ29uZmlnPy5ib3VuY2VkTGltaXQudmFsdWUgKycgbWlucycgOiAnRW5nYWdlcnMnXCIgKm5nSWY9XCJjb252ZXJzaW9uVmFsdWUgPT09J2VuZ2FnZXJzJ1wiIHhtbG5zPVwiaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmdcIiB3aWR0aD1cIjI0XCIgaGVpZ2h0PVwiMjRcIiB2aWV3Qm94PVwiMCAwIDI0IDI0XCIgZmlsbD1cIm5vbmVcIj5cclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxwYXRoIGQ9XCJNMTcgMjFWMTlDMTcgMTcuOTM5MSAxNi41Nzg2IDE2LjkyMTcgMTUuODI4NCAxNi4xNzE2QzE1LjA3ODMgMTUuNDIxNCAxNC4wNjA5IDE1IDEzIDE1SDVDMy45MzkxMyAxNSAyLjkyMTcyIDE1LjQyMTQgMi4xNzE1NyAxNi4xNzE2QzEuNDIxNDMgMTYuOTIxNyAxIDE3LjkzOTEgMSAxOVYyMU0yMyAyMVYxOUMyMi45OTkzIDE4LjExMzcgMjIuNzA0NCAxNy4yNTI4IDIyLjE2MTQgMTYuNTUyM0MyMS42MTg0IDE1Ljg1MTkgMjAuODU4MSAxNS4zNTE2IDIwIDE1LjEzTTE2IDMuMTNDMTYuODYwNCAzLjM1MDMgMTcuNjIzIDMuODUwNyAxOC4xNjc2IDQuNTUyMzFDMTguNzEyMiA1LjI1MzkyIDE5LjAwNzggNi4xMTY4MyAxOS4wMDc4IDcuMDA1QzE5LjAwNzggNy44OTMxNyAxOC43MTIyIDguNzU2MDggMTguMTY3NiA5LjQ1NzY5QzE3LjYyMyAxMC4xNTkzIDE2Ljg2MDQgMTAuNjU5NyAxNiAxMC44OE0xMyA3QzEzIDkuMjA5MTQgMTEuMjA5MSAxMSA5IDExQzYuNzkwODYgMTEgNSA5LjIwOTE0IDUgN0M1IDQuNzkwODYgNi43OTA4NiAzIDkgM0MxMS4yMDkxIDMgMTMgNC43OTA4NiAxMyA3WlwiIHN0cm9rZT1cIiMwMEEzRkZcIiBzdHJva2Utd2lkdGg9XCIyXCIgc3Ryb2tlLWxpbmVjYXA9XCJyb3VuZFwiIHN0cm9rZS1saW5lam9pbj1cInJvdW5kXCIvPlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPC9zdmc+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPC9zcGFuPlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxzcGFuICpuZ0lmPVwiaGVhZGVyRGF0YT8uY2xpZW50ICE9PSAnNDUyJ1wiIGNsYXNzPVwiaC01MHB4IGNvbC1tZC0zXCI+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxzdmcgcGxhY2VtZW50PVwidG9wXCIgbmdiVG9vbHRpcD1cIlBvdGVudGlhbCBCdXllcnNcIiBjbGFzcz1cImN1cnNvci1wb2ludGVyXCIgKm5nSWY9XCJjb252ZXJzaW9uVmFsdWUgIT09J1BvdGVudGlhbCBCdXllcnMnXCIgKGNsaWNrKT1cImNoYW5nZVZhbHVlKCdwb3RlbnRpYWxCdXllcnMnKVwiIHhtbG5zPVwiaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmdcIiB3aWR0aD1cIjI0XCIgaGVpZ2h0PVwiMjRcIiB2aWV3Qm94PVwiMCAwIDI0IDI0XCIgZmlsbD1cIm5vbmVcIj5cclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxwYXRoIG9wYWNpdHk9XCIwLjNcIlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGQ9XCJNMjAuMDAzOSAxOC4wMDJINC4wMDM5MUMzLjQwMzkxIDE4LjAwMiAzLjAwMzkxIDE3LjYwMiAzLjAwMzkxIDE3LjAwMlY3LjAwMTk1QzMuMDAzOTEgNi40MDE5NSAzLjQwMzkxIDYuMDAxOTUgNC4wMDM5MSA2LjAwMTk1SDIwLjAwMzlDMjAuNjAzOSA2LjAwMTk1IDIxLjAwMzkgNi40MDE5NSAyMS4wMDM5IDcuMDAxOTVWMTcuMDAyQzIxLjAwMzkgMTcuNjAyIDIwLjYwMzkgMTguMDAyIDIwLjAwMzkgMTguMDAyWk0xMi4wMDM5IDguMDAxOTVDMTAuMzAzOSA4LjAwMTk1IDkuMDAzOTEgOS44MDE5NSA5LjAwMzkxIDEyLjAwMkM5LjAwMzkxIDE0LjIwMiAxMC4zMDM5IDE2LjAwMiAxMi4wMDM5IDE2LjAwMkMxMy43MDM5IDE2LjAwMiAxNS4wMDM5IDE0LjIwMiAxNS4wMDM5IDEyLjAwMkMxNS4wMDM5IDkuODAxOTUgMTMuNzAzOSA4LjAwMTk1IDEyLjAwMzkgOC4wMDE5NVpcIlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGZpbGw9XCIjOThBMkIzXCIgLz5cclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxwYXRoXHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgZD1cIk0xOC4wMDM5IDYuMDAxOTVIMjAuMDAzOUMyMC42MDM5IDYuMDAxOTUgMjEuMDAzOSA2LjQwMTk1IDIxLjAwMzkgNy4wMDE5NVY5LjAwMTk1QzE5LjMwMzkgOS4wMDE5NSAxOC4wMDM5IDcuNzAxOTUgMTguMDAzOSA2LjAwMTk1Wk02LjAwMzkxIDYuMDAxOTVINC4wMDM5MUMzLjQwMzkxIDYuMDAxOTUgMy4wMDM5MSA2LjQwMTk1IDMuMDAzOTEgNy4wMDE5NVY5LjAwMTk1QzQuNzAzOTEgOS4wMDE5NSA2LjAwMzkxIDcuNzAxOTUgNi4wMDM5MSA2LjAwMTk1Wk0yMS4wMDM5IDE3LjAwMlYxNS4wMDJDMTkuMzAzOSAxNS4wMDIgMTguMDAzOSAxNi4zMDIgMTguMDAzOSAxOC4wMDJIMjAuMDAzOUMyMC42MDM5IDE4LjAwMiAyMS4wMDM5IDE3LjYwMiAyMS4wMDM5IDE3LjAwMlpNMy4wMDM5MSAxNS4wMDJWMTcuMDAyQzMuMDAzOTEgMTcuNjAyIDMuNDAzOTEgMTguMDAyIDQuMDAzOTEgMTguMDAySDYuMDAzOTFDNi4wMDM5MSAxNi4zMDIgNC43MDM5MSAxNS4wMDIgMy4wMDM5MSAxNS4wMDJaXCJcclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBmaWxsPVwiIzk4QTJCM1wiIC8+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvc3ZnPlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8c3ZnIHBsYWNlbWVudD1cInRvcFwiIG5nYlRvb2x0aXA9XCJQb3RlbnRpYWwgQnV5ZXJzXCIgKm5nSWY9XCJjb252ZXJzaW9uVmFsdWUgPT09J1BvdGVudGlhbCBCdXllcnMnXCIgeG1sbnM9XCJodHRwOi8vd3d3LnczLm9yZy8yMDAwL3N2Z1wiIHdpZHRoPVwiMjRcIiBoZWlnaHQ9XCIyNFwiIHZpZXdCb3g9XCIwIDAgMjQgMjRcIiBmaWxsPVwibm9uZVwiPlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPHBhdGggb3BhY2l0eT1cIjAuM1wiIGQ9XCJNMjAuMDAzOSAxOC4wMDJINC4wMDM5MUMzLjQwMzkxIDE4LjAwMiAzLjAwMzkxIDE3LjYwMiAzLjAwMzkxIDE3LjAwMlY3LjAwMTk1QzMuMDAzOTEgNi40MDE5NSAzLjQwMzkxIDYuMDAxOTUgNC4wMDM5MSA2LjAwMTk1SDIwLjAwMzlDMjAuNjAzOSA2LjAwMTk1IDIxLjAwMzkgNi40MDE5NSAyMS4wMDM5IDcuMDAxOTVWMTcuMDAyQzIxLjAwMzkgMTcuNjAyIDIwLjYwMzkgMTguMDAyIDIwLjAwMzkgMTguMDAyWk0xMi4wMDM5IDguMDAxOTVDMTAuMzAzOSA4LjAwMTk1IDkuMDAzOTEgOS44MDE5NSA5LjAwMzkxIDEyLjAwMkM5LjAwMzkxIDE0LjIwMiAxMC4zMDM5IDE2LjAwMiAxMi4wMDM5IDE2LjAwMkMxMy43MDM5IDE2LjAwMiAxNS4wMDM5IDE0LjIwMiAxNS4wMDM5IDEyLjAwMkMxNS4wMDM5IDkuODAxOTUgMTMuNzAzOSA4LjAwMTk1IDEyLjAwMzkgOC4wMDE5NVpcIiBmaWxsPVwiIzAwQTNGRlwiLz5cclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxwYXRoIGQ9XCJNMTguMDAzOSA2LjAwMTk1SDIwLjAwMzlDMjAuNjAzOSA2LjAwMTk1IDIxLjAwMzkgNi40MDE5NSAyMS4wMDM5IDcuMDAxOTVWOS4wMDE5NUMxOS4zMDM5IDkuMDAxOTUgMTguMDAzOSA3LjcwMTk1IDE4LjAwMzkgNi4wMDE5NVpNNi4wMDM5MSA2LjAwMTk1SDQuMDAzOTFDMy40MDM5MSA2LjAwMTk1IDMuMDAzOTEgNi40MDE5NSAzLjAwMzkxIDcuMDAxOTVWOS4wMDE5NUM0LjcwMzkxIDkuMDAxOTUgNi4wMDM5MSA3LjcwMTk1IDYuMDAzOTEgNi4wMDE5NVpNMjEuMDAzOSAxNy4wMDJWMTUuMDAyQzE5LjMwMzkgMTUuMDAyIDE4LjAwMzkgMTYuMzAyIDE4LjAwMzkgMTguMDAySDIwLjAwMzlDMjAuNjAzOSAxOC4wMDIgMjEuMDAzOSAxNy42MDIgMjEuMDAzOSAxNy4wMDJaTTMuMDAzOTEgMTUuMDAyVjE3LjAwMkMzLjAwMzkxIDE3LjYwMiAzLjQwMzkxIDE4LjAwMiA0LjAwMzkxIDE4LjAwMkg2LjAwMzkxQzYuMDAzOTEgMTYuMzAyIDQuNzAzOTEgMTUuMDAyIDMuMDAzOTEgMTUuMDAyWlwiIGZpbGw9XCIjMDBBM0ZGXCIvPlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPC9zdmc+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPC9zcGFuPlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxzcGFuIGNsYXNzPVwiaC01MHB4IGNvbC1tZC0zXCI+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxzdmcgcGxhY2VtZW50PVwidG9wXCIgbmdiVG9vbHRpcD1cIk5vQiBEZXJpdmVkXCIgY2xhc3M9XCJjdXJzb3ItcG9pbnRlclwiICpuZ0lmPVwiY29udmVyc2lvblZhbHVlICE9PSdOb0IgRGVyaXZlZCdcIiAoY2xpY2spPVwiY2hhbmdlVmFsdWUoJ05vQiBEZXJpdmVkJylcIiB4bWxucz1cImh0dHA6Ly93d3cudzMub3JnLzIwMDAvc3ZnXCIgd2lkdGg9XCIyNFwiIGhlaWdodD1cIjI0XCIgdmlld0JveD1cIjAgMCAyNCAyNFwiIGZpbGw9XCJub25lXCI+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8cGF0aCBvcGFjaXR5PVwiMC4zXCJcclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBkPVwiTTE4LjAwMzkgMjEuNjAwNUMxNi4zMDM5IDIxLjYwMDUgMTUuMDAzOSAyMC4zMDA1IDE1LjAwMzkgMTguNjAwNVYyLjUwMDVDMTUuMDAzOSAyLjIwMDUgMTQuNjAzOSAyLjAwMDQ1IDE0LjMwMzkgMi4yMDA0NUwxMy4wMDM5IDMuNjAwNDhMMTEuNzAzOSAyLjMwMDQ5QzExLjMwMzkgMS45MDA0OSAxMC43MDM5IDEuOTAwNDkgMTAuMzAzOSAyLjMwMDQ5TDkuMDAzOTEgMy42MDA0OEw3LjcwMzkyIDIuMzAwNDlDNy4zMDM5MiAxLjkwMDQ5IDYuNzAzOSAxLjkwMDQ5IDYuMzAzOSAyLjMwMDQ5TDUuMDAzOTEgMy42MDA0OEwzLjcwMzkyIDIuMzAwNDlDMy41MDM5MiAyLjEwMDQ5IDMuMDAzOTEgMi4yMDA1IDMuMDAzOTEgMy41MDA1VjE4LjYwMDVDMy4wMDM5MSAyMC4zMDA1IDQuMzAzOTEgMjEuNjAwNSA2LjAwMzkxIDIxLjYwMDVIMTguMDAzOVpcIlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGZpbGw9XCIjOThBMkIzXCIgLz5cclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxwYXRoXHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgZD1cIk0xMi4wMDU5IDEyLjU5NzJIMTEuMDA1OUMxMC40MDU5IDEyLjU5NzIgMTAuMDA1OSAxMi4xOTcyIDEwLjAwNTkgMTEuNTk3MkMxMC4wMDU5IDEwLjk5NzIgMTAuNDA1OSAxMC41OTcyIDExLjAwNTkgMTAuNTk3MkgxMi4wMDU5QzEyLjYwNTkgMTAuNTk3MiAxMy4wMDU5IDEwLjk5NzIgMTMuMDA1OSAxMS41OTcyQzEzLjAwNTkgMTIuMTk3MiAxMi42MDU5IDEyLjU5NzIgMTIuMDA1OSAxMi41OTcyWk05LjAwNTg2IDExLjU5NzJDOS4wMDU4NiAxMC45OTcyIDguNjA1ODYgMTAuNTk3MiA4LjAwNTg2IDEwLjU5NzJINi4wMDU4NkM1LjQwNTg2IDEwLjU5NzIgNS4wMDU4NiAxMC45OTcyIDUuMDA1ODYgMTEuNTk3MkM1LjAwNTg2IDEyLjE5NzIgNS40MDU4NiAxMi41OTcyIDYuMDA1ODYgMTIuNTk3Mkg4LjAwNTg2QzguNjA1ODYgMTIuNTk3MiA5LjAwNTg2IDEyLjE5NzIgOS4wMDU4NiAxMS41OTcyWk05LjAwNTg2IDcuNTk3MTdDOS4wMDU4NiA2Ljk5NzE3IDguNjA1ODYgNi41OTcxNyA4LjAwNTg2IDYuNTk3MTdINi4wMDU4NkM1LjQwNTg2IDYuNTk3MTcgNS4wMDU4NiA2Ljk5NzE3IDUuMDA1ODYgNy41OTcxN0M1LjAwNTg2IDguMTk3MTcgNS40MDU4NiA4LjU5NzE3IDYuMDA1ODYgOC41OTcxN0g4LjAwNTg2QzguNjA1ODYgOC41OTcxNyA5LjAwNTg2IDguMTk3MTcgOS4wMDU4NiA3LjU5NzE3Wk0xMy4wMDU5IDcuNTk3MTdDMTMuMDA1OSA2Ljk5NzE3IDEyLjYwNTkgNi41OTcxNyAxMi4wMDU5IDYuNTk3MTdIMTEuMDA1OUMxMC40MDU5IDYuNTk3MTcgMTAuMDA1OSA2Ljk5NzE3IDEwLjAwNTkgNy41OTcxN0MxMC4wMDU5IDguMTk3MTcgMTAuNDA1OSA4LjU5NzE3IDExLjAwNTkgOC41OTcxN0gxMi4wMDU5QzEyLjYwNTkgOC41OTcxNyAxMy4wMDU5IDguMTk3MTcgMTMuMDA1OSA3LjU5NzE3Wk0xMy4wMDU5IDE1LjU5NzJDMTMuMDA1OSAxNC45OTcyIDEyLjYwNTkgMTQuNTk3MiAxMi4wMDU5IDE0LjU5NzJIMTAuMDA1OUM5LjQwNTg2IDE0LjU5NzIgOS4wMDU4NiAxNC45OTcyIDkuMDA1ODYgMTUuNTk3MkM5LjAwNTg2IDE2LjE5NzIgOS40MDU4NiAxNi41OTcyIDEwLjAwNTkgMTYuNTk3MkgxMi4wMDU5QzEyLjYwNTkgMTYuNTk3MiAxMy4wMDU5IDE2LjE5NzIgMTMuMDA1OSAxNS41OTcyWlwiXHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgZmlsbD1cIiM5OEEyQjNcIiAvPlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPHBhdGhcclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBkPVwiTTE1LjAwMiAxOC41OTcxQzE1LjAwMiAyMC4yOTcxIDE2LjMwMiAyMS41OTcxIDE4LjAwMiAyMS41OTcxQzE5LjcwMiAyMS41OTcxIDIxLjAwMiAyMC4yOTcxIDIxLjAwMiAxOC41OTcxVjEyLjQ5NzFDMjEuMDAyIDEyLjE5NzEgMjAuNjAyIDExLjk5NzEgMjAuMzAyIDEyLjE5NzFMMTkuMDAyIDEzLjU5NzFMMTcuNzAyIDEyLjI5NzFDMTcuMzAyIDExLjg5NzEgMTYuNzAyIDExLjg5NzEgMTYuMzAyIDEyLjI5NzFMMTUuMDAyIDEzLjU5NzFWMTguNTk3MVpcIlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGZpbGw9XCIjOThBMkIzXCIgLz5cclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPC9zdmc+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxzdmcgcGxhY2VtZW50PVwidG9wXCIgbmdiVG9vbHRpcD1cIk5vQiBEZXJpdmVkXCIgKm5nSWY9XCJjb252ZXJzaW9uVmFsdWUgPT09J05vQiBEZXJpdmVkJ1wiIHhtbG5zPVwiaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmdcIiB3aWR0aD1cIjI0XCIgaGVpZ2h0PVwiMjRcIiB2aWV3Qm94PVwiMCAwIDI0IDI0XCIgZmlsbD1cIm5vbmVcIj5cclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxwYXRoIG9wYWNpdHk9XCIwLjNcIlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGQ9XCJNMTguMDAzOSAyMS42MDA1QzE2LjMwMzkgMjEuNjAwNSAxNS4wMDM5IDIwLjMwMDUgMTUuMDAzOSAxOC42MDA1VjIuNTAwNUMxNS4wMDM5IDIuMjAwNSAxNC42MDM5IDIuMDAwNDUgMTQuMzAzOSAyLjIwMDQ1TDEzLjAwMzkgMy42MDA0OEwxMS43MDM5IDIuMzAwNDlDMTEuMzAzOSAxLjkwMDQ5IDEwLjcwMzkgMS45MDA0OSAxMC4zMDM5IDIuMzAwNDlMOS4wMDM5MSAzLjYwMDQ4TDcuNzAzOTIgMi4zMDA0OUM3LjMwMzkyIDEuOTAwNDkgNi43MDM5IDEuOTAwNDkgNi4zMDM5IDIuMzAwNDlMNS4wMDM5MSAzLjYwMDQ4TDMuNzAzOTIgMi4zMDA0OUMzLjUwMzkyIDIuMTAwNDkgMy4wMDM5MSAyLjIwMDUgMy4wMDM5MSAzLjUwMDVWMTguNjAwNUMzLjAwMzkxIDIwLjMwMDUgNC4zMDM5MSAyMS42MDA1IDYuMDAzOTEgMjEuNjAwNUgxOC4wMDM5WlwiXHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgZmlsbD1cIiMwMEEzRkZcIiAvPlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPHBhdGhcclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBkPVwiTTEyLjAwNTkgMTIuNTk3MkgxMS4wMDU5QzEwLjQwNTkgMTIuNTk3MiAxMC4wMDU5IDEyLjE5NzIgMTAuMDA1OSAxMS41OTcyQzEwLjAwNTkgMTAuOTk3MiAxMC40MDU5IDEwLjU5NzIgMTEuMDA1OSAxMC41OTcySDEyLjAwNTlDMTIuNjA1OSAxMC41OTcyIDEzLjAwNTkgMTAuOTk3MiAxMy4wMDU5IDExLjU5NzJDMTMuMDA1OSAxMi4xOTcyIDEyLjYwNTkgMTIuNTk3MiAxMi4wMDU5IDEyLjU5NzJaTTkuMDA1ODYgMTEuNTk3MkM5LjAwNTg2IDEwLjk5NzIgOC42MDU4NiAxMC41OTcyIDguMDA1ODYgMTAuNTk3Mkg2LjAwNTg2QzUuNDA1ODYgMTAuNTk3MiA1LjAwNTg2IDEwLjk5NzIgNS4wMDU4NiAxMS41OTcyQzUuMDA1ODYgMTIuMTk3MiA1LjQwNTg2IDEyLjU5NzIgNi4wMDU4NiAxMi41OTcySDguMDA1ODZDOC42MDU4NiAxMi41OTcyIDkuMDA1ODYgMTIuMTk3MiA5LjAwNTg2IDExLjU5NzJaTTkuMDA1ODYgNy41OTcxN0M5LjAwNTg2IDYuOTk3MTcgOC42MDU4NiA2LjU5NzE3IDguMDA1ODYgNi41OTcxN0g2LjAwNTg2QzUuNDA1ODYgNi41OTcxNyA1LjAwNTg2IDYuOTk3MTcgNS4wMDU4NiA3LjU5NzE3QzUuMDA1ODYgOC4xOTcxNyA1LjQwNTg2IDguNTk3MTcgNi4wMDU4NiA4LjU5NzE3SDguMDA1ODZDOC42MDU4NiA4LjU5NzE3IDkuMDA1ODYgOC4xOTcxNyA5LjAwNTg2IDcuNTk3MTdaTTEzLjAwNTkgNy41OTcxN0MxMy4wMDU5IDYuOTk3MTcgMTIuNjA1OSA2LjU5NzE3IDEyLjAwNTkgNi41OTcxN0gxMS4wMDU5QzEwLjQwNTkgNi41OTcxNyAxMC4wMDU5IDYuOTk3MTcgMTAuMDA1OSA3LjU5NzE3QzEwLjAwNTkgOC4xOTcxNyAxMC40MDU5IDguNTk3MTcgMTEuMDA1OSA4LjU5NzE3SDEyLjAwNTlDMTIuNjA1OSA4LjU5NzE3IDEzLjAwNTkgOC4xOTcxNyAxMy4wMDU5IDcuNTk3MTdaTTEzLjAwNTkgMTUuNTk3MkMxMy4wMDU5IDE0Ljk5NzIgMTIuNjA1OSAxNC41OTcyIDEyLjAwNTkgMTQuNTk3MkgxMC4wMDU5QzkuNDA1ODYgMTQuNTk3MiA5LjAwNTg2IDE0Ljk5NzIgOS4wMDU4NiAxNS41OTcyQzkuMDA1ODYgMTYuMTk3MiA5LjQwNTg2IDE2LjU5NzIgMTAuMDA1OSAxNi41OTcySDEyLjAwNTlDMTIuNjA1OSAxNi41OTcyIDEzLjAwNTkgMTYuMTk3MiAxMy4wMDU5IDE1LjU5NzJaXCJcclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBmaWxsPVwiIzAwQTNGRlwiIC8+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8cGF0aFxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGQ9XCJNMTUuMDAyIDE4LjU5NzFDMTUuMDAyIDIwLjI5NzEgMTYuMzAyIDIxLjU5NzEgMTguMDAyIDIxLjU5NzFDMTkuNzAyIDIxLjU5NzEgMjEuMDAyIDIwLjI5NzEgMjEuMDAyIDE4LjU5NzFWMTIuNDk3MUMyMS4wMDIgMTIuMTk3MSAyMC42MDIgMTEuOTk3MSAyMC4zMDIgMTIuMTk3MUwxOS4wMDIgMTMuNTk3MUwxNy43MDIgMTIuMjk3MUMxNy4zMDIgMTEuODk3MSAxNi43MDIgMTEuODk3MSAxNi4zMDIgMTIuMjk3MUwxNS4wMDIgMTMuNTk3MVYxOC41OTcxWlwiXHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgZmlsbD1cIiMwMEEzRkZcIiAvPlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8L3N2Zz5cclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPC9zcGFuPlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgPC9kaXY+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPC9kaXY+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGRpdiBjbGFzcz1cImNhcmQtZm9vdGVyIG1zLTMgcC0wXCI+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxkaXYgY2xhc3M9XCJjb2wtbWQtMTJcIj5cclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxkaXYgY2xhc3M9XCJyb3cgcGUtMFwiPlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPHNwYW4gY2xhc3M9XCJtdC0yIGNvbC1tZC0xXCI+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPHN2ZyAqbmdJZj1cIihjb252ZXJzaW9uVmFsdWUgPT09J2Zvb3RmYWxsJyAmJiAhZ2V0Q29udmVyc2lvbkNhcmREYXRhPy5jb252ZXJzaW9uPy5mb290ZmFsbC5QcmV2aW91c1ZhcmlhdGlvbikgfHwgKGNvbnZlcnNpb25WYWx1ZSA9PT0nZW5nYWdlcnMnICYmICFnZXRDb252ZXJzaW9uQ2FyZERhdGE/LmNvbnZlcnNpb24/LmVuZ2FnZXJzLlByZXZpb3VzVmFyaWF0aW9uKSB8fCAoY29udmVyc2lvblZhbHVlID09PSdQb3RlbnRpYWwgQnV5ZXJzJyAmJiAhZ2V0Q29udmVyc2lvbkNhcmREYXRhPy5jb252ZXJzaW9uPy5wb3RlbnRpYWxCdXllcnMuUHJldmlvdXNWYXJpYXRpb24pIHx8IChjb252ZXJzaW9uVmFsdWUgPT09J05vQiBEZXJpdmVkJyAmJiAhZ2V0Q29udmVyc2lvbkNhcmREYXRhPy5jb252ZXJzaW9uPy5ub2IuUHJldmlvdXNWYXJpYXRpb24pXCIgeG1sbnM9XCJodHRwOi8vd3d3LnczLm9yZy8yMDAwL3N2Z1wiIHdpZHRoPVwiMThcIlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGhlaWdodD1cIjE4XCIgdmlld0JveD1cIjAgMCAxOCAxOFwiIGZpbGw9XCJub25lXCI+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGcgY2xpcC1wYXRoPVwidXJsKCNjbGlwMF8yMzI4XzQ2NTQpXCI+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxwYXRoIGQ9XCJNMTEuNSA5TDYuNzUgNC4yNUw0LjI1IDYuNzVMMC41IDNNMTEuNSA5SDguNU0xMS41IDlWNlwiIHN0cm9rZT1cIiNEOTJEMjBcIiBzdHJva2Utd2lkdGg9XCIxLjVcIlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgc3Ryb2tlLWxpbmVjYXA9XCJyb3VuZFwiIHN0cm9rZS1saW5lam9pbj1cInJvdW5kXCIgLz5cclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8L2c+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGRlZnM+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxjbGlwUGF0aCBpZD1cImNsaXAwXzIzMjhfNDY1NFwiPlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPHJlY3Qgd2lkdGg9XCIxMlwiIGhlaWdodD1cIjEyXCIgZmlsbD1cIndoaXRlXCIgLz5cclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPC9jbGlwUGF0aD5cclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8L2RlZnM+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8L3N2Zz5cclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxzdmcgKm5nSWY9XCIoY29udmVyc2lvblZhbHVlID09PSdmb290ZmFsbCcgJiYgZ2V0Q29udmVyc2lvbkNhcmREYXRhPy5jb252ZXJzaW9uPy5mb290ZmFsbC5QcmV2aW91c1ZhcmlhdGlvbikgfHwgKGNvbnZlcnNpb25WYWx1ZSA9PT0nZW5nYWdlcnMnICYmIGdldENvbnZlcnNpb25DYXJkRGF0YT8uY29udmVyc2lvbj8uZW5nYWdlcnMuUHJldmlvdXNWYXJpYXRpb24pIHx8IChjb252ZXJzaW9uVmFsdWUgPT09J1BvdGVudGlhbCBCdXllcnMnICYmIGdldENvbnZlcnNpb25DYXJkRGF0YT8uY29udmVyc2lvbj8ucG90ZW50aWFsQnV5ZXJzLlByZXZpb3VzVmFyaWF0aW9uKSB8fCAoY29udmVyc2lvblZhbHVlID09PSdOb0IgRGVyaXZlZCcgJiYgZ2V0Q29udmVyc2lvbkNhcmREYXRhPy5jb252ZXJzaW9uPy5ub2IuUHJldmlvdXNWYXJpYXRpb24pXCIgeG1sbnM9XCJodHRwOi8vd3d3LnczLm9yZy8yMDAwL3N2Z1wiIHdpZHRoPVwiMTJcIiBoZWlnaHQ9XCIxMlwiXHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgdmlld0JveD1cIjAgMCAxMiAxMlwiIGZpbGw9XCJub25lXCI+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGcgY2xpcC1wYXRoPVwidXJsKCNjbGlwMF8zMjE2XzExOClcIj5cclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPHBhdGggZD1cIk0xMS41IDNMNi43NSA3Ljc1TDQuMjUgNS4yNUwwLjUgOU0xMS41IDNIOC41TTExLjUgM1Y2XCIgc3Ryb2tlPVwiIzAzOTg1NVwiIHN0cm9rZS13aWR0aD1cIjEuNVwiXHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBzdHJva2UtbGluZWNhcD1cInJvdW5kXCIgc3Ryb2tlLWxpbmVqb2luPVwicm91bmRcIiAvPlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvZz5cclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8ZGVmcz5cclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGNsaXBQYXRoIGlkPVwiY2xpcDBfMzIxNl8xMThcIj5cclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxyZWN0IHdpZHRoPVwiMTJcIiBoZWlnaHQ9XCIxMlwiIGZpbGw9XCJ3aGl0ZVwiIC8+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvY2xpcFBhdGg+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPC9kZWZzPlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPC9zdmc+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8L3NwYW4+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIFxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPHNwYW4gY2xhc3M9XCJtdC0yIGNvbC1tZC05IHBlLTBcIj5cclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8c3BhbiAqbmdJZj1cImNvbnZlcnNpb25WYWx1ZSA9PT0nZm9vdGZhbGwnICYmIGdldENvbnZlcnNpb25DYXJkRGF0YT8uY29udmVyc2lvbj8uZm9vdGZhbGwuUHJldmlvdXNEYXRhID09PTBcIiBjbGFzcz1cInBlcmNlbnQtdmFsdWVcIj4wJTwvc3Bhbj5cclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8c3BhbiAqbmdJZj1cImNvbnZlcnNpb25WYWx1ZSA9PT0nZm9vdGZhbGwnICYmIGdldENvbnZlcnNpb25DYXJkRGF0YT8uY29udmVyc2lvbj8uZm9vdGZhbGwuUHJldmlvdXNEYXRhICE9PTBcIiBjbGFzcz1cInBlcmNlbnQtdmFsdWVcIj57e2dldENvbnZlcnNpb25DYXJkRGF0YT8uY29udmVyc2lvbj8uZm9vdGZhbGwuUHJldmlvdXNEYXRhID8gZ2V0Q29udmVyc2lvbkNhcmREYXRhPy5jb252ZXJzaW9uPy5mb290ZmFsbC5QcmV2aW91c0RhdGE6Jy0tJ319JTwvc3Bhbj5cclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8c3BhbiAqbmdJZj1cImNvbnZlcnNpb25WYWx1ZSA9PT0nZW5nYWdlcnMnICYmIGdldENvbnZlcnNpb25DYXJkRGF0YT8uY29udmVyc2lvbj8uZW5nYWdlcnMuUHJldmlvdXNEYXRhID09PTBcIiBjbGFzcz1cInBlcmNlbnQtdmFsdWVcIj4wJTwvc3Bhbj5cclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgXHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPHNwYW4gKm5nSWY9XCJjb252ZXJzaW9uVmFsdWUgPT09J2VuZ2FnZXJzJyAmJiBnZXRDb252ZXJzaW9uQ2FyZERhdGE/LmNvbnZlcnNpb24/LmVuZ2FnZXJzLlByZXZpb3VzRGF0YSAhPT0wXCIgY2xhc3M9XCJwZXJjZW50LXZhbHVlXCI+e3tnZXRDb252ZXJzaW9uQ2FyZERhdGE/LmNvbnZlcnNpb24/LmVuZ2FnZXJzLlByZXZpb3VzRGF0YSA/IGdldENvbnZlcnNpb25DYXJkRGF0YT8uY29udmVyc2lvbj8uZW5nYWdlcnMuUHJldmlvdXNEYXRhOictLSd9fSU8L3NwYW4+XHJcblxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxzcGFuICpuZ0lmPVwiY29udmVyc2lvblZhbHVlID09PSdQb3RlbnRpYWwgQnV5ZXJzJyAmJiBnZXRDb252ZXJzaW9uQ2FyZERhdGE/LmNvbnZlcnNpb24/LnBvdGVudGlhbEJ1eWVycy5QcmV2aW91c0RhdGEgPT09MFwiIGNsYXNzPVwicGVyY2VudC12YWx1ZVwiPjAlPC9zcGFuPlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxzcGFuICpuZ0lmPVwiY29udmVyc2lvblZhbHVlID09PSdQb3RlbnRpYWwgQnV5ZXJzJyAmJiBnZXRDb252ZXJzaW9uQ2FyZERhdGE/LmNvbnZlcnNpb24/LnBvdGVudGlhbEJ1eWVycy5QcmV2aW91c0RhdGEgIT09MFwiIGNsYXNzPVwicGVyY2VudC12YWx1ZVwiPnt7Z2V0Q29udmVyc2lvbkNhcmREYXRhPy5jb252ZXJzaW9uPy5wb3RlbnRpYWxCdXllcnMuUHJldmlvdXNEYXRhID8gZ2V0Q29udmVyc2lvbkNhcmREYXRhPy5jb252ZXJzaW9uPy5wb3RlbnRpYWxCdXllcnMuUHJldmlvdXNEYXRhOictLSd9fSU8L3NwYW4+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPHNwYW4gKm5nSWY9XCJjb252ZXJzaW9uVmFsdWUgPT09J05vQiBEZXJpdmVkJyAmJiBnZXRDb252ZXJzaW9uQ2FyZERhdGE/LmNvbnZlcnNpb24/Lm5vYi5QcmV2aW91c0RhdGEgPT09MFwiIGNsYXNzPVwicGVyY2VudC12YWx1ZVwiPjAlPC9zcGFuPlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxzcGFuICpuZ0lmPVwiY29udmVyc2lvblZhbHVlID09PSdOb0IgRGVyaXZlZCcgJiYgZ2V0Q29udmVyc2lvbkNhcmREYXRhPy5jb252ZXJzaW9uPy5ub2IuUHJldmlvdXNEYXRhICE9PTBcIiBjbGFzcz1cInBlcmNlbnQtdmFsdWVcIj57e2dldENvbnZlcnNpb25DYXJkRGF0YT8uY29udmVyc2lvbj8ubm9iLlByZXZpb3VzRGF0YSA/IGdldENvbnZlcnNpb25DYXJkRGF0YT8uY29udmVyc2lvbj8ubm9iLlByZXZpb3VzRGF0YTonLS0nfX0lPC9zcGFuPlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwhLS0gPHNwYW4gKm5nSWY9XCJjb252ZXJzaW9uVmFsdWUgPT09J05vQiBEZXJpdmVkJ1wiIGNsYXNzPVwicGVyY2VudC12YWx1ZVwiPi0tJTwvc3Bhbj4gLS0+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPCEtLSA8c3BhbiAqbmdJZj1cImNvbnZlcnNpb25WYWx1ZSA9PT0nJyAmJiBnZXRDb252ZXJzaW9uQ2FyZERhdGE/LmNvbnZlcnNpb24/LlByZXZpb3VzRGF0YSA9PT0wXCIgY2xhc3M9XCJwZXJjZW50LXZhbHVlXCI+MCU8L3NwYW4+XHJcblxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8c3BhbiAqbmdJZj1cImNvbnZlcnNpb25WYWx1ZSA9PT0nJyAmJiBnZXRDb252ZXJzaW9uQ2FyZERhdGE/LmNvbnZlcnNpb24/LlByZXZpb3VzRGF0YSAhPT0wXCIgIGNsYXNzPVwicGVyY2VudC12YWx1ZVwiPnt7Z2V0Q2FyZEdyYXBoRGF0YT8uY29udmVyc2lvbj8uUHJldmlvdXNEYXRhID8gZ2V0Q2FyZEdyYXBoRGF0YT8uY29udmVyc2lvbj8uUHJldmlvdXNEYXRhOictLSd9fSU8L3NwYW4+IC0tPlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICBcclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8c3BhblxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBjbGFzcz1cIndlZWstZm9udFwiPiB2cyBQcmV2aW91cyA8c3BhbiAqbmdJZj1cImRhdGVUeXBlID09PSdkYWlseSdcIj5kYXk8L3NwYW4+PHNwYW4gKm5nSWY9XCJkYXRlVHlwZSA9PT0nd2Vla2x5J1wiPndlZWs8L3NwYW4+IDxzcGFuICpuZ0lmPVwiZGF0ZVR5cGUgPT09J21vbnRobHknXCI+bW9udGg8L3NwYW4+PC9zcGFuPlxyXG5cclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvc3Bhbj5cclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxzcGFuICpuZ0lmPVwiY2xpZW50RGF0YT8uZmVhdHVyZUNvbmZpZ3M/LmlzTk9CICYmIGNvbnZlcnNpb25WYWx1ZSA9PT0nTm9CIERlcml2ZWQnXCIgY2xhc3M9XCJjb2wtbWQtMiBweC0wIGN1cnNvci1wb2ludGVyXCIgKGNsaWNrKT1cIm5vYlVwbG9hZCgpXCI+PHN2ZyBwbGFjZW1lbnQ9XCJ0b3BcIiBuZ2JUb29sdGlwPVwiVXBsb2FkIE5vQlwiIHdpZHRoPVwiMzJcIiBoZWlnaHQ9XCIzMlwiIHZpZXdCb3g9XCIwIDAgMzIgMzJcIiBmaWxsPVwibm9uZVwiIHhtbG5zPVwiaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmdcIj5cclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8ZyBmaWx0ZXI9XCJ1cmwoI2ZpbHRlcjBfZF82MTYwXzQzOTQpXCI+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPHJlY3QgeD1cIjJcIiB5PVwiMVwiIHdpZHRoPVwiMjhcIiBoZWlnaHQ9XCIyOFwiIHJ4PVwiNi4yMjIyMlwiIGZpbGw9XCIjRUFGOEZGXCIvPlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxyZWN0IHg9XCIyLjM4ODg5XCIgeT1cIjEuMzg4ODlcIiB3aWR0aD1cIjI3LjIyMjJcIiBoZWlnaHQ9XCIyNy4yMjIyXCIgcng9XCI1LjgzMzMzXCIgc3Ryb2tlPVwiI0VBRjhGRlwiIHN0cm9rZS13aWR0aD1cIjAuNzc3Nzc4XCIvPlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxnIGNsaXAtcGF0aD1cInVybCgjY2xpcDBfNjE2MF80Mzk0KVwiPlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxwYXRoIGQ9XCJNMTguNTkyOSAxNy41OTI2TDE2LjAwMDMgMTVNMTYuMDAwMyAxNUwxMy40MDc3IDE3LjU5MjZNMTYuMDAwMyAxNVYyMC44MzMzTTIxLjQzODIgMTkuMTQxN0MyMi4wNzA0IDE4Ljc5NyAyMi41Njk4IDE4LjI1MTcgMjIuODU3NiAxNy41OTE3QzIzLjE0NTQgMTYuOTMxNyAyMy4yMDUyIDE2LjE5NDcgMjMuMDI3NiAxNS40OTY5QzIyLjg1IDE0Ljc5OTIgMjIuNDQ1MSAxNC4xODA0IDIxLjg3NjggMTMuNzM4NEMyMS4zMDg1IDEzLjI5NjMgMjAuNjA5MiAxMy4wNTYgMTkuODg5MiAxMy4wNTU2SDE5LjA3MjVDMTguODc2MyAxMi4yOTY3IDE4LjUxMDcgMTEuNTkyMyAxOC4wMDMgMTAuOTk1MUMxNy40OTU0IDEwLjM5NzkgMTYuODU5IDkuOTIzNjIgMTYuMTQxNiA5LjYwNzgyQzE1LjQyNDMgOS4yOTIwMSAxNC42NDQ3IDkuMTQyOTMgMTMuODYxNSA5LjE3MTc5QzEzLjA3ODIgOS4yMDA2NSAxMi4zMTE3IDkuNDA2NjkgMTEuNjE5NiA5Ljc3NDQzQzEwLjkyNzQgMTAuMTQyMiAxMC4zMjc2IDEwLjY2MiA5Ljg2NTMxIDExLjI5NDlDOS40MDI5OSAxMS45Mjc4IDkuMDkwMTYgMTIuNjU3MyA4Ljk1MDM1IDEzLjQyODVDOC44MTA1NCAxNC4xOTk3IDguODQ3MzggMTQuOTkyNiA5LjA1ODEgMTUuNzQ3NUM5LjI2ODgxIDE2LjUwMjQgOS42NDc5MyAxNy4xOTk3IDEwLjE2NjkgMTcuNzg3MVwiIHN0cm9rZT1cIiMwMDlCRjNcIiBzdHJva2Utd2lkdGg9XCIxLjI5ODg5XCIgc3Ryb2tlLWxpbmVjYXA9XCJyb3VuZFwiIHN0cm9rZS1saW5lam9pbj1cInJvdW5kXCIvPlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvZz5cclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8L2c+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGRlZnM+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGZpbHRlciBpZD1cImZpbHRlcjBfZF82MTYwXzQzOTRcIiB4PVwiMC40NDQ0NDRcIiB5PVwiMC4yMjIyMjJcIiB3aWR0aD1cIjMxLjExMTFcIiBoZWlnaHQ9XCIzMS4xMTExXCIgZmlsdGVyVW5pdHM9XCJ1c2VyU3BhY2VPblVzZVwiIGNvbG9yLWludGVycG9sYXRpb24tZmlsdGVycz1cInNSR0JcIj5cclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8ZmVGbG9vZCBmbG9vZC1vcGFjaXR5PVwiMFwiIHJlc3VsdD1cIkJhY2tncm91bmRJbWFnZUZpeFwiLz5cclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8ZmVDb2xvck1hdHJpeCBpbj1cIlNvdXJjZUFscGhhXCIgdHlwZT1cIm1hdHJpeFwiIHZhbHVlcz1cIjAgMCAwIDAgMCAwIDAgMCAwIDAgMCAwIDAgMCAwIDAgMCAwIDEyNyAwXCIgcmVzdWx0PVwiaGFyZEFscGhhXCIvPlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxmZU9mZnNldCBkeT1cIjAuNzc3Nzc4XCIvPlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxmZUdhdXNzaWFuQmx1ciBzdGREZXZpYXRpb249XCIwLjc3Nzc3OFwiLz5cclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8ZmVDb2xvck1hdHJpeCB0eXBlPVwibWF0cml4XCIgdmFsdWVzPVwiMCAwIDAgMCAwLjA2Mjc0NTEgMCAwIDAgMCAwLjA5NDExNzYgMCAwIDAgMCAwLjE1Njg2MyAwIDAgMCAwLjA1IDBcIi8+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGZlQmxlbmQgbW9kZT1cIm5vcm1hbFwiIGluMj1cIkJhY2tncm91bmRJbWFnZUZpeFwiIHJlc3VsdD1cImVmZmVjdDFfZHJvcFNoYWRvd182MTYwXzQzOTRcIi8+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGZlQmxlbmQgbW9kZT1cIm5vcm1hbFwiIGluPVwiU291cmNlR3JhcGhpY1wiIGluMj1cImVmZmVjdDFfZHJvcFNoYWRvd182MTYwXzQzOTRcIiByZXN1bHQ9XCJzaGFwZVwiLz5cclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8L2ZpbHRlcj5cclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8Y2xpcFBhdGggaWQ9XCJjbGlwMF82MTYwXzQzOTRcIj5cclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8cmVjdCB3aWR0aD1cIjE1LjU1NTZcIiBoZWlnaHQ9XCIxNS41NTU2XCIgZmlsbD1cIndoaXRlXCIgdHJhbnNmb3JtPVwidHJhbnNsYXRlKDguMjIyNjYgNy4yMjIyMylcIi8+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPC9jbGlwUGF0aD5cclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8L2RlZnM+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPC9zdmc+PC9zcGFuPlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvZGl2PlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8L2Rpdj5cclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8L2Rpdj5cclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvZGl2PlxyXG5cclxuICAgICAgICAgICAgICAgICAgICAgICAgPC9kaXY+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgXHJcbiAgICAgICAgICAgICAgICAgICAgPC9kaXY+XHJcbiAgICAgICAgICAgICAgICA8L2Rpdj5cclxuICAgICAgICAgICAgPC9kaXY+XHJcbiAgICAgICAgICAgIDxkaXYgY2xhc3M9XCJjb2wtbWQtNFwiPlxyXG4gICAgICAgICAgICAgICAgPGRpdiBjbGFzcz1cImNhcmQgY2FyZC1ib3JkZXIgaC0xMDBcIj5cclxuICAgICAgICAgICAgICAgICAgICA8ZGl2IGNsYXNzPVwiY2FyZC1oZWFkZXIgZWxsaXBzZTEgYm9yZGVyLTAgcHgtM1wiICBbbmdiVG9vbHRpcF09XCJib3VuY2VkVG9vbHRpcFwiIHBsYWNlbWVudD1cInJpZ2h0XCI+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgIDwhLS0gLS0+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgIDxoMyBjbGFzcz1cImNhcmQtdGl0bGUgYWxpZ24taXRlbXMtc3RhcnQgZmxleC1jb2x1bW4gXCI+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICA8c3BhbiBjbGFzcz1cImNhcmQtbGFiZWwgaGVhZGVyXCI+e3tnZXRCb3VuY2VkQ2FyZERhdGE/LmNhcmQ/LmJvdW5jZWQ/LnJhdGUgPyBnZXRCb3VuY2VkQ2FyZERhdGE/LmNhcmQ/LmJvdW5jZWQ/LnJhdGUgOictLSd9fSU8L3NwYW4+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICA8c3BhbiBjbGFzcz1cInN1Yi1oZWFkZXJcIj48c3BhbiAqbmdJZj1cImhlYWRlckRhdGE/LmNsaWVudCAhPT0gJzQ1MidcIj5Cb3VuY2VkIDwvc3Bhbj4gPHNwYW4gKm5nSWY9XCJoZWFkZXJEYXRhPy5jbGllbnQgPT09ICc0NTInXCI+TGVzcyB0aGFuIHt7Y2xpZW50RGF0YT8uZmVhdHVyZUNvbmZpZ3M/LmJvdW5jZWRMaW1pdD8udmFsdWV9fSBtaW5zIDwvc3Bhbj4gUmF0ZTwvc3Bhbj5cclxuICAgICAgICAgICAgICAgICAgICAgICAgPC9oMz5cclxuICAgICAgICAgICAgICAgICAgICA8L2Rpdj5cclxuICAgICAgICAgICAgICAgICAgICA8bmctdGVtcGxhdGUgI2JvdW5jZWRUb29sdGlwPlxyXG4gICAgICAgICAgICAgICAgICAgICAgICA8ZGl2IGNsYXNzPVwidG9vbHRpcC1jb250ZW50XCI+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgPGg1IGNsYXNzPVwidG9vbHRpcC10aXRsZSB0ZXh0LXN0YXJ0XCIgKm5nSWY9XCJoZWFkZXJEYXRhPy5jbGllbnQgIT09ICc0NTInXCI+Qm91bmNlZCBSYXRlPC9oNT5cclxuICAgICAgICAgICAgICAgICAgICAgICAgICA8cCBjbGFzcz1cInRleHQtc3RhcnRcIj5Ub3RhbCB3YWxrLWlucyB3aG8gc3BlbnQgbGVzcyB0aGFuIHt7Y2xpZW50RGF0YT8uZmVhdHVyZUNvbmZpZ3M/LmJvdW5jZWRMaW1pdD8udmFsdWV9fSBtaW5zLjwvcD5cclxuICAgICAgICAgICAgICAgICAgICAgICBcclxuICAgICAgICAgICAgICAgICAgICAgICAgPC9kaXY+XHJcbiAgICAgICAgICAgICAgICAgICAgICA8L25nLXRlbXBsYXRlPlxyXG4gICAgICAgICAgICAgICAgICAgIDxkaXYgY2xhc3M9XCJjYXJkLWJvZHkgcC0wXCI+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgIDxkaXYgKm5nSWY9XCJib3VuY2VkTm9kYXRhXCIgY2xhc3M9XCJyb3dcIj5cclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxkaXYgY2xhc3M9XCJjb2wtbGctMTIgbWItM1wiPlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxkaXYgY2xhc3M9XCJjYXJkLWJvZHkgcGItMCBweC0wIGQtZmxleCBqdXN0aWZ5LWNvbnRlbnQtY2VudGVyIGFsaWduLWl0ZW1zLWNlbnRlciBmbGV4LWNvbHVtblwiPlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8aW1nIGNsYXNzPVwiaW1nLW5vZGF0YTFcIiBzcmM9XCIuL2Fzc2V0cy90YW5nby9JY29ucy9Ob2RhdGExLnN2Z1wiIGFsdD1cIlwiPlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8ZGl2IGNsYXNzPVwibm9kYXRhLXRpdGxlMVwiPk5vIGRhdGEgZm91bmQ8L2Rpdj5cclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPCEtLSA8ZGl2IGNsYXNzPVwibm9kYXRhLXN1YlwiPlRoZXJlIGlzIG5vIHJlc3VsdCBmb3IgdGhpcyBjb252ZXJzaW9uIGZ1bm5lbDwvZGl2PiAtLT5cclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8L2Rpdj5cclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvZGl2PlxyXG4gICAgICAgICAgICAgICAgICAgICAgICA8L2Rpdj5cclxuICAgICAgICAgICAgICAgICAgICAgICAgPGRpdiAqbmdJZj1cIiFib3VuY2VkTm9kYXRhXCIgY2xhc3M9XCJ0ZXh0LWNlbnRlclwiIGlkPVwiQm91bmNlZFJhdGVcIj48L2Rpdj5cclxuICAgICAgICAgICAgICAgICAgICA8L2Rpdj5cclxuICAgICAgICAgICAgICAgICAgICA8ZGl2IGNsYXNzPVwiY2FyZC1mb290ZXIgbXMtMiBwLTBcIj5cclxuICAgICAgICAgICAgICAgICAgICAgICAgPGRpdiBjbGFzcz1cImNvbC1tZC0xMlwiPlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgPHNwYW4gY2xhc3M9XCJtdC0yXCI+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPHN2ZyAqbmdJZj1cIiFnZXRCb3VuY2VkQ2FyZERhdGE/LmRhdGE/LmJvdW5jZWQ/LlByZXZpb3VzVmFyaWF0aW9uXCIgeG1sbnM9XCJodHRwOi8vd3d3LnczLm9yZy8yMDAwL3N2Z1wiIHdpZHRoPVwiMThcIlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGhlaWdodD1cIjE4XCIgdmlld0JveD1cIjAgMCAxOCAxOFwiIGZpbGw9XCJub25lXCI+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGcgY2xpcC1wYXRoPVwidXJsKCNjbGlwMF8yMzI4XzQ2NTQpXCI+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxwYXRoIGQ9XCJNMTEuNSA5TDYuNzUgNC4yNUw0LjI1IDYuNzVMMC41IDNNMTEuNSA5SDguNU0xMS41IDlWNlwiIHN0cm9rZT1cIiNEOTJEMjBcIiBzdHJva2Utd2lkdGg9XCIxLjVcIlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgc3Ryb2tlLWxpbmVjYXA9XCJyb3VuZFwiIHN0cm9rZS1saW5lam9pbj1cInJvdW5kXCIgLz5cclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8L2c+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGRlZnM+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxjbGlwUGF0aCBpZD1cImNsaXAwXzIzMjhfNDY1NFwiPlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPHJlY3Qgd2lkdGg9XCIxMlwiIGhlaWdodD1cIjEyXCIgZmlsbD1cIndoaXRlXCIgLz5cclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPC9jbGlwUGF0aD5cclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8L2RlZnM+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICA8L3N2Zz5cclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxzdmcgKm5nSWY9XCJnZXRCb3VuY2VkQ2FyZERhdGE/LmRhdGE/LmJvdW5jZWQ/LlByZXZpb3VzVmFyaWF0aW9uXCIgeG1sbnM9XCJodHRwOi8vd3d3LnczLm9yZy8yMDAwL3N2Z1wiIHdpZHRoPVwiMTJcIiBoZWlnaHQ9XCIxMlwiXHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgdmlld0JveD1cIjAgMCAxMiAxMlwiIGZpbGw9XCJub25lXCI+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGcgY2xpcC1wYXRoPVwidXJsKCNjbGlwMF8zMjE2XzExOClcIj5cclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPHBhdGggZD1cIk0xMS41IDNMNi43NSA3Ljc1TDQuMjUgNS4yNUwwLjUgOU0xMS41IDNIOC41TTExLjUgM1Y2XCIgc3Ryb2tlPVwiIzAzOTg1NVwiIHN0cm9rZS13aWR0aD1cIjEuNVwiXHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBzdHJva2UtbGluZWNhcD1cInJvdW5kXCIgc3Ryb2tlLWxpbmVqb2luPVwicm91bmRcIiAvPlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvZz5cclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8ZGVmcz5cclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGNsaXBQYXRoIGlkPVwiY2xpcDBfMzIxNl8xMThcIj5cclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxyZWN0IHdpZHRoPVwiMTJcIiBoZWlnaHQ9XCIxMlwiIGZpbGw9XCJ3aGl0ZVwiIC8+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvY2xpcFBhdGg+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPC9kZWZzPlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgPC9zdmc+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICA8L3NwYW4+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICA8c3BhbiBjbGFzcz1cIm10LTIgbXMtMlwiPlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxzcGFuICpuZ0lmPVwiZ2V0Qm91bmNlZENhcmREYXRhPy5kYXRhPy5ib3VuY2VkPy5QcmV2aW91c0RhdGEgPT09MFwiIGNsYXNzPVwicGVyY2VudC12YWx1ZVwiPjAlPC9zcGFuPlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxzcGFuICpuZ0lmPVwiZ2V0Qm91bmNlZENhcmREYXRhPy5kYXRhPy5ib3VuY2VkPy5QcmV2aW91c0RhdGEgIT09MFwiIGNsYXNzPVwicGVyY2VudC12YWx1ZVwiPnt7Z2V0Qm91bmNlZENhcmREYXRhPy5kYXRhPy5ib3VuY2VkPy5QcmV2aW91c0RhdGEgPyBnZXRCb3VuY2VkQ2FyZERhdGE/LmRhdGE/LmJvdW5jZWQ/LlByZXZpb3VzRGF0YTonLS0nfX0lPC9zcGFuPlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxzcGFuIGNsYXNzPVwid2Vlay1mb250XCI+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHZzIFByZXZpb3VzICA8c3BhbiAqbmdJZj1cImRhdGVUeXBlID09PSdkYWlseSdcIj5kYXk8L3NwYW4+PHNwYW4gKm5nSWY9XCJkYXRlVHlwZSA9PT0nd2Vla2x5J1wiPndlZWs8L3NwYW4+IDxzcGFuICpuZ0lmPVwiZGF0ZVR5cGUgPT09J21vbnRobHknXCI+bW9udGg8L3NwYW4+PC9zcGFuPlxyXG5cclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvc3Bhbj5cclxuICAgICAgICAgICAgICAgICAgICAgICAgPC9kaXY+XHJcbiAgICAgICAgICAgICAgICAgICAgPC9kaXY+XHJcbiAgICAgICAgICAgICAgICA8L2Rpdj5cclxuICAgICAgICAgICAgPC9kaXY+XHJcbiAgICAgICAgICAgIDxkaXYgY2xhc3M9XCJjb2wtbWQtNCBtdC0zXCI+XHJcbiAgICAgICAgICAgICAgICA8ZGl2IGNsYXNzPVwiY2FyZCBjYXJkLWJvcmRlciBoLTEwMFwiPlxyXG4gICAgICAgICAgICAgICAgICAgIDxkaXYgY2xhc3M9XCJjYXJkLWhlYWRlciBlbGxpcHNlMSBib3JkZXItMCBweC0zXCIgIFtuZ2JUb29sdGlwXT1cImVuZ2FnZXJzVG9vbHRpcFwiIHBsYWNlbWVudD1cInJpZ2h0XCI+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgIDwhLS0gIC0tPlxyXG4gICAgICAgICAgICAgICAgICAgICAgICA8aDMgY2xhc3M9XCJjYXJkLXRpdGxlIGFsaWduLWl0ZW1zLXN0YXJ0IGZsZXgtY29sdW1uIFwiID5cclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxzcGFuIGNsYXNzPVwiY2FyZC1sYWJlbCBoZWFkZXJcIj57e2dldEVuZ2FnZXJzQ2FyZERhdGE/LmNhcmQ/LmVuZ2FnZXJzPy5yYXRlID8gZ2V0RW5nYWdlcnNDYXJkRGF0YT8uY2FyZD8uZW5nYWdlcnM/LnJhdGUgOictLSd9fSU8L3NwYW4+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICA8c3BhbiBjbGFzcz1cInN1Yi1oZWFkZXJcIj48c3BhbiAqbmdJZj1cImhlYWRlckRhdGE/LmNsaWVudCAhPT0gJzQ1MidcIj5FbmdhZ2Vyczwvc3Bhbj4gPHNwYW4gKm5nSWY9XCJoZWFkZXJEYXRhPy5jbGllbnQgPT09ICc0NTInXCI+TW9yZSB0aGFuIHt7Y2xpZW50RGF0YT8uZmVhdHVyZUNvbmZpZ3M/LmJvdW5jZWRMaW1pdD8udmFsdWV9fSBtaW5zPC9zcGFuPiBSYXRlPC9zcGFuPlxyXG4gICAgICAgICAgICAgICAgICAgICAgICA8L2gzPlxyXG4gICAgICAgICAgICAgICAgICAgIDwvZGl2PlxyXG4gICAgICAgICAgICAgICAgICAgIDxuZy10ZW1wbGF0ZSAjZW5nYWdlcnNUb29sdGlwPlxyXG4gICAgICAgICAgICAgICAgICAgICAgICA8ZGl2IGNsYXNzPVwidG9vbHRpcC1jb250ZW50XCI+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgPGg1IGNsYXNzPVwidG9vbHRpcC10aXRsZSB0ZXh0LXN0YXJ0XCIgKm5nSWY9XCJoZWFkZXJEYXRhPy5jbGllbnQgIT09ICc0NTInXCI+RW5nYWdlcnMgUmF0ZTwvaDU+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgPHAgY2xhc3M9XCJ0ZXh0LXN0YXJ0XCI+VG90YWwgd2Fsay1pbnMgd2hvIHNwZW50IG1vcmUgdGhhbiB7e2NsaWVudERhdGE/LmZlYXR1cmVDb25maWdzPy5ib3VuY2VkTGltaXQ/LnZhbHVlfX0gbWlucyBpbnRvIHRoZSBzZWxlY3RlZCBzdG9yZXMuPC9wPiAgICAgICAgICAgICAgICAgICAgICAgIFxyXG4gICAgICAgICAgICAgICAgICAgICAgICA8L2Rpdj5cclxuICAgICAgICAgICAgICAgICAgICAgIDwvbmctdGVtcGxhdGU+XHJcbiAgICAgICAgICAgICAgICAgICAgPGRpdiBjbGFzcz1cImNhcmQtYm9keSBwLTBcIj5cclxuICAgICAgICAgICAgICAgICAgICAgICAgPGRpdiAqbmdJZj1cImVuZ2FnZXJzTm9kYXRhXCIgY2xhc3M9XCJyb3dcIj5cclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxkaXYgY2xhc3M9XCJjb2wtbGctMTIgbWItM1wiPlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxkaXYgY2xhc3M9XCJjYXJkLWJvZHkgcGItMCBweC0wIGQtZmxleCBqdXN0aWZ5LWNvbnRlbnQtY2VudGVyIGFsaWduLWl0ZW1zLWNlbnRlciBmbGV4LWNvbHVtblwiPlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8aW1nIGNsYXNzPVwiaW1nLW5vZGF0YTFcIiBzcmM9XCIuL2Fzc2V0cy90YW5nby9JY29ucy9Ob2RhdGExLnN2Z1wiIGFsdD1cIlwiPlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8ZGl2IGNsYXNzPVwibm9kYXRhLXRpdGxlMVwiPk5vIGRhdGEgZm91bmQ8L2Rpdj5cclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPCEtLSA8ZGl2IGNsYXNzPVwibm9kYXRhLXN1YlwiPlRoZXJlIGlzIG5vIHJlc3VsdCBmb3IgdGhpcyBjb252ZXJzaW9uIGZ1bm5lbDwvZGl2PiAtLT5cclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8L2Rpdj5cclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvZGl2PlxyXG4gICAgICAgICAgICAgICAgICAgICAgICA8L2Rpdj5cclxuICAgICAgICAgICAgICAgICAgICAgICAgPGRpdiAqbmdJZj1cIiFlbmdhZ2Vyc05vZGF0YVwiIGNsYXNzPVwidGV4dC1jZW50ZXJcIiBpZD1cImVuZ2FnZXJzXCI+PC9kaXY+XHJcbiAgICAgICAgICAgICAgICAgICAgPC9kaXY+XHJcbiAgICAgICAgICAgICAgICAgICAgPGRpdiBjbGFzcz1cImNhcmQtZm9vdGVyIG1zLTIgcC0wXCI+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgIDxkaXYgY2xhc3M9XCJjb2wtbWQtMTJcIj5cclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxzcGFuIGNsYXNzPVwibXQtMlwiPlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxzdmcgKm5nSWY9XCIhZ2V0RW5nYWdlcnNDYXJkRGF0YT8uZGF0YT8uZW5nYWdlcnM/LlByZXZpb3VzVmFyaWF0aW9uXCIgeG1sbnM9XCJodHRwOi8vd3d3LnczLm9yZy8yMDAwL3N2Z1wiIHdpZHRoPVwiMThcIlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBoZWlnaHQ9XCIxOFwiIHZpZXdCb3g9XCIwIDAgMTggMThcIiBmaWxsPVwibm9uZVwiPlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8ZyBjbGlwLXBhdGg9XCJ1cmwoI2NsaXAwXzIzMjhfNDY1NClcIj5cclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxwYXRoIGQ9XCJNMTEuNSA5TDYuNzUgNC4yNUw0LjI1IDYuNzVMMC41IDNNMTEuNSA5SDguNU0xMS41IDlWNlwiIHN0cm9rZT1cIiNEOTJEMjBcIiBzdHJva2Utd2lkdGg9XCIxLjVcIlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHN0cm9rZS1saW5lY2FwPVwicm91bmRcIiBzdHJva2UtbGluZWpvaW49XCJyb3VuZFwiIC8+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvZz5cclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGRlZnM+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8Y2xpcFBhdGggaWQ9XCJjbGlwMF8yMzI4XzQ2NTRcIj5cclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8cmVjdCB3aWR0aD1cIjEyXCIgaGVpZ2h0PVwiMTJcIiBmaWxsPVwid2hpdGVcIiAvPlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPC9jbGlwUGF0aD5cclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPC9kZWZzPlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvc3ZnPlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxzdmcgKm5nSWY9XCJnZXRFbmdhZ2Vyc0NhcmREYXRhPy5kYXRhPy5lbmdhZ2Vycz8uUHJldmlvdXNWYXJpYXRpb25cIiB4bWxucz1cImh0dHA6Ly93d3cudzMub3JnLzIwMDAvc3ZnXCIgd2lkdGg9XCIxMlwiIGhlaWdodD1cIjEyXCJcclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgdmlld0JveD1cIjAgMCAxMiAxMlwiIGZpbGw9XCJub25lXCI+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxnIGNsaXAtcGF0aD1cInVybCgjY2xpcDBfMzIxNl8xMTgpXCI+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8cGF0aCBkPVwiTTExLjUgM0w2Ljc1IDcuNzVMNC4yNSA1LjI1TDAuNSA5TTExLjUgM0g4LjVNMTEuNSAzVjZcIiBzdHJva2U9XCIjMDM5ODU1XCIgc3Ryb2tlLXdpZHRoPVwiMS41XCJcclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBzdHJva2UtbGluZWNhcD1cInJvdW5kXCIgc3Ryb2tlLWxpbmVqb2luPVwicm91bmRcIiAvPlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8L2c+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxkZWZzPlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGNsaXBQYXRoIGlkPVwiY2xpcDBfMzIxNl8xMThcIj5cclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8cmVjdCB3aWR0aD1cIjEyXCIgaGVpZ2h0PVwiMTJcIiBmaWxsPVwid2hpdGVcIiAvPlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPC9jbGlwUGF0aD5cclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPC9kZWZzPlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvc3ZnPlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgPC9zcGFuPlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgPHNwYW4gY2xhc3M9XCJtdC0yIG1zLTJcIj5cclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8c3BhbiAqbmdJZj1cImdldEVuZ2FnZXJzQ2FyZERhdGE/LmRhdGE/LmVuZ2FnZXJzPy5QcmV2aW91c0RhdGEgPT09MFwiIGNsYXNzPVwicGVyY2VudC12YWx1ZVwiPjAlPC9zcGFuPlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxzcGFuICpuZ0lmPVwiZ2V0RW5nYWdlcnNDYXJkRGF0YT8uZGF0YT8uZW5nYWdlcnM/LlByZXZpb3VzRGF0YSAhPT0wXCIgY2xhc3M9XCJwZXJjZW50LXZhbHVlXCI+e3tnZXRFbmdhZ2Vyc0NhcmREYXRhPy5kYXRhPy5lbmdhZ2Vycz8uUHJldmlvdXNEYXRhID8gZ2V0RW5nYWdlcnNDYXJkRGF0YT8uZGF0YT8uZW5nYWdlcnM/LlByZXZpb3VzRGF0YTonLS0nfX0lPC9zcGFuPlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxzcGFuIGNsYXNzPVwid2Vlay1mb250XCI+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHZzIFByZXZpb3VzICA8c3BhbiAqbmdJZj1cImRhdGVUeXBlID09PSdkYWlseSdcIj5kYXk8L3NwYW4+PHNwYW4gKm5nSWY9XCJkYXRlVHlwZSA9PT0nd2Vla2x5J1wiPndlZWs8L3NwYW4+IDxzcGFuICpuZ0lmPVwiZGF0ZVR5cGUgPT09J21vbnRobHknXCI+bW9udGg8L3NwYW4+PC9zcGFuPlxyXG5cclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvc3Bhbj5cclxuICAgICAgICAgICAgICAgICAgICAgICAgPC9kaXY+XHJcbiAgICAgICAgICAgICAgICAgICAgPC9kaXY+XHJcbiAgICAgICAgICAgICAgICA8L2Rpdj5cclxuICAgICAgICAgICAgPC9kaXY+XHJcbiAgICAgICAgICAgIDxkaXYgY2xhc3M9XCJjb2wtbWQtNCBtdC0zXCI+XHJcbiAgICAgICAgICAgICAgICA8ZGl2IGNsYXNzPVwiY2FyZCBjYXJkLWJvcmRlciBoLTEwMFwiPlxyXG4gICAgICAgICAgICAgICAgICAgIDxkaXYgKm5nSWY9XCJoZWFkZXJEYXRhPy5jbGllbnQgPT09ICc0NTInXCIgY2xhc3M9XCJjYXJkLWhlYWRlciBlbGxpcHNlMSBib3JkZXItMCBweC0zXCIgPiBcclxuICAgICAgICAgICAgICAgICAgICAgICAgPGgzIGNsYXNzPVwiY2FyZC10aXRsZSBhbGlnbi1pdGVtcy1zdGFydCBmbGV4LWNvbHVtblwiICA+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICA8c3BhbiBjbGFzcz1cImNhcmQtbGFiZWwgaGVhZGVyXCI+e3tnZXRNaXNzZWRPcHBvcnR1bml0eURhdGE/LmNhcmQ/Lm1pc3NlZG9wcG9ydHVuaXRpZXM/LnJhdGUgPyBnZXRNaXNzZWRPcHBvcnR1bml0eURhdGE/LmNhcmQ/Lm1pc3NlZG9wcG9ydHVuaXRpZXM/LnJhdGUgOictLSd9fSU8L3NwYW4+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICA8c3BhbiBjbGFzcz1cInN1Yi1oZWFkZXJcIj48c3BhbiAqbmdJZj1cImhlYWRlckRhdGE/LmNsaWVudCAhPT0gJzQ1MidcIj5NaXNzZWQgT3Bwb3J0dW5pdGllczwvc3Bhbj48c3BhbiAqbmdJZj1cImhlYWRlckRhdGE/LmNsaWVudCA9PT0gJzQ1MidcIj57e2NsaWVudERhdGE/LmZlYXR1cmVDb25maWdzPy5taXNzZWRPcHBvcnR1bml0eUZyb20/LnZhbHVlfX0gLSB7e2NsaWVudERhdGE/LmZlYXR1cmVDb25maWdzPy5taXNzZWRPcHBvcnR1bml0eVRvPy52YWx1ZX19IG1pbnM8L3NwYW4+PC9zcGFuPlxyXG4gICAgICAgICAgICAgICAgICAgICAgICA8L2gzPlxyXG4gICAgICAgICAgICAgICAgICAgIDwvZGl2PlxyXG4gICAgICAgICAgICAgICAgICAgIDxkaXYgKm5nSWY9XCJoZWFkZXJEYXRhPy5jbGllbnQgIT09ICc0NTInXCIgY2xhc3M9XCJjYXJkLWhlYWRlciBlbGxpcHNlMSBib3JkZXItMCBweC0zXCIgW25nYlRvb2x0aXBdPVwibWlzc2VkVG9vbHRpcFwiIHBsYWNlbWVudD1cInJpZ2h0XCI+IFxyXG4gICAgICAgICAgICAgICAgICAgICAgICA8aDMgY2xhc3M9XCJjYXJkLXRpdGxlIGFsaWduLWl0ZW1zLXN0YXJ0IGZsZXgtY29sdW1uXCIgID5cclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxzcGFuIGNsYXNzPVwiY2FyZC1sYWJlbCBoZWFkZXJcIj57e2dldE1pc3NlZE9wcG9ydHVuaXR5RGF0YT8uY2FyZD8ubWlzc2Vkb3Bwb3J0dW5pdGllcz8ucmF0ZSA/IGdldE1pc3NlZE9wcG9ydHVuaXR5RGF0YT8uY2FyZD8ubWlzc2Vkb3Bwb3J0dW5pdGllcz8ucmF0ZSA6Jy0tJ319JTwvc3Bhbj5cclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxzcGFuIGNsYXNzPVwic3ViLWhlYWRlclwiPjxzcGFuICpuZ0lmPVwiaGVhZGVyRGF0YT8uY2xpZW50ICE9PSAnNDUyJ1wiPk1pc3NlZCBPcHBvcnR1bml0aWVzPC9zcGFuPjxzcGFuICpuZ0lmPVwiaGVhZGVyRGF0YT8uY2xpZW50ID09PSAnNDUyJ1wiPnt7Y2xpZW50RGF0YT8uZmVhdHVyZUNvbmZpZ3M/Lm1pc3NlZE9wcG9ydHVuaXR5RnJvbT8udmFsdWV9fSAtIHt7Y2xpZW50RGF0YT8uZmVhdHVyZUNvbmZpZ3M/Lm1pc3NlZE9wcG9ydHVuaXR5VG8/LnZhbHVlfX0gbWluczwvc3Bhbj48L3NwYW4+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgIDwvaDM+XHJcbiAgICAgICAgICAgICAgICAgICAgPC9kaXY+XHJcbiAgICAgICAgICAgICAgICAgICAgPG5nLXRlbXBsYXRlICNtaXNzZWRUb29sdGlwPlxyXG4gICAgICAgICAgICAgICAgICAgICAgICA8ZGl2IGNsYXNzPVwidG9vbHRpcC1jb250ZW50XCI+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgPGg1IGNsYXNzPVwidG9vbHRpcC10aXRsZSB0ZXh0LXN0YXJ0XCIgKm5nSWY9XCJoZWFkZXJEYXRhPy5jbGllbnQgIT09ICc0NTInXCI+TWlzc2VkIE9wcG9ydHVuaXRpZXM8L2g1PlxyXG4gICAgICAgICAgICAgICAgICAgICAgICA8cCAqbmdJZj1cImhlYWRlckRhdGE/LmNsaWVudCAhPT0gJzQ1MidcIiBjbGFzcz1cInRleHQtc3RhcnRcIj5UaGUgZGlmZmVyZW5jZSBiZXR3ZWVuIDxzcGFuICpuZ0lmPVwiY2xpZW50RGF0YT8uZmVhdHVyZUNvbmZpZ3M/Lm1pc3NlZE9wcG9ydHVuaXR5Q2FsY3VsYXRpb24gPT09ICdlbmdhZ2Vycy1jb252ZXJzaW9uJyB8fCBcclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGNsaWVudERhdGE/LmZlYXR1cmVDb25maWdzPy5taXNzZWRPcHBvcnR1bml0eUNhbGN1bGF0aW9uID09PSAnZ3JvdXAtY29udmVyc2lvbidcIj5cclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB7eyBjbGllbnREYXRhPy5mZWF0dXJlQ29uZmlncz8ubWlzc2VkT3Bwb3J0dW5pdHlDYWxjdWxhdGlvbiA9PT0gJ2VuZ2FnZXJzLWNvbnZlcnNpb24nID8gJ2VuZ2FnZXJzIGFuZCBjb252ZXJzaW9ucywnIDogJ3BvdGVudGlhbCBhbmQgY29udmVyc2lvbnMsJyB9fVxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgPC9zcGFuPlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgc2hvd2luZyBwb3RlbnRpYWwgbG9zcy48L3A+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgIDxwICpuZ0lmPVwiaGVhZGVyRGF0YT8uY2xpZW50ID09PSAnNDUyJ1wiIGNsYXNzPVwidGV4dC1zdGFydFwiPlRoZSBkaWZmZXJlbmNlIGJldHdlZW4gPHNwYW4gKm5nSWY9XCJjbGllbnREYXRhPy5mZWF0dXJlQ29uZmlncz8ubWlzc2VkT3Bwb3J0dW5pdHlDYWxjdWxhdGlvbiA9PT0gJ2VuZ2FnZXJzLWNvbnZlcnNpb24nIHx8IFxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgY2xpZW50RGF0YT8uZmVhdHVyZUNvbmZpZ3M/Lm1pc3NlZE9wcG9ydHVuaXR5Q2FsY3VsYXRpb24gPT09ICdncm91cC1jb252ZXJzaW9uJ1wiPlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAge3tcclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBjbGllbnREYXRhPy5mZWF0dXJlQ29uZmlncz8ubWlzc2VkT3Bwb3J0dW5pdHlDYWxjdWxhdGlvbiA9PT0gJ2VuZ2FnZXJzLWNvbnZlcnNpb24nXHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA/ICgnTW9yZSB0aGFuICcgKyBmZWF0dXJlQ29uZmlnPy5ib3VuY2VkTGltaXQ/LnZhbHVlICsgJyBtaW5zIGFuZCBNb3JlIHRoYW4gJyArIGZlYXR1cmVDb25maWc/LmNvbnZlcnNpb24/LnZhbHVlICsgJyBtaW5zJylcclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDogKCdwb3RlbnRpYWwgYW5kIE1vcmUgdGhhbiAnKyBmZWF0dXJlQ29uZmlnPy5jb252ZXJzaW9uPy52YWx1ZSsgJyBtaW5zJylcclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgfX1cclxuICAgICAgICAgICAgICAgICAgICAgICAgPC9zcGFuPlxyXG4gICAgICAgICAgICAgICAgICAgICAgICBzaG93aW5nIHBvdGVudGlhbCBsb3NzLjwvcD5cclxuICAgICAgICAgICAgICAgICAgICAgICAgIFxyXG4gICAgICAgICAgICAgICAgICAgICAgICA8L2Rpdj5cclxuICAgICAgICAgICAgICAgICAgICAgIDwvbmctdGVtcGxhdGU+XHJcbiAgICAgICAgICAgICAgICAgICAgPGRpdiBjbGFzcz1cImNhcmQtYm9keSBwLTAgaC05MHB4IG10LTMgbXgtM1wiPlxyXG4gICAgICAgICAgICAgICAgICAgICAgICA8ZGl2ICpuZ0lmPVwiaGVhZGVyRGF0YT8uY2xpZW50ICE9PSc0NTInXCIgY2xhc3M9XCJyb3dcIj5cclxuICAgICAgICAgICAgICAgICAgICAgICAgIDxkaXYgY2xhc3M9XCJjb2wtbWQtOVwiPjwhLS17e2dldENhcmREYXRhPy5yZXZlbnVlPy52YWx1ZSA/PyAnLS0nfX0gLS0+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgIDxkaXYgY2xhc3M9XCJteS0yXCIgKm5nSWY9XCJnZXRNaXNzZWRPcHBvcnR1bml0eURhdGE/LmNhcmQ/LnJldmVudWU/LmN1cnJlbmN5ID09PSdkb2xsYXInXCI+PHNwYW4gY2xhc3M9XCJjYXJkLWxhYmVsIGhlYWRlclwiPjxzcGFuIGNsYXNzPVwibWUtMVwiPiQ8L3NwYW4+IHt7Z2V0TWlzc2VkT3Bwb3J0dW5pdHlEYXRhPy5jYXJkPy5yZXZlbnVlPy52YWx1ZS50b0xvY2FsZVN0cmluZygnZW4tSU4nKSA/PyAnLS0nfX08L3NwYW4+PC9kaXY+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgIDxkaXYgY2xhc3M9XCJteS0yXCIgKm5nSWY9XCJnZXRNaXNzZWRPcHBvcnR1bml0eURhdGE/LmNhcmQ/LnJldmVudWU/LmN1cnJlbmN5ID09PSdhZWQnXCI+IDxzcGFuIGNsYXNzPVwiY2FyZC1sYWJlbCBoZWFkZXJcIj48c3BhbiBjbGFzcz1cIm1lLTFcIj7Yry7YpTwvc3Bhbj4ge3tnZXRNaXNzZWRPcHBvcnR1bml0eURhdGE/LmNhcmQ/LnJldmVudWU/LnZhbHVlLnRvTG9jYWxlU3RyaW5nKCdlbi1JTicpID8/ICctLSd9fTwvc3Bhbj48L2Rpdj4gIFxyXG4gICAgICAgICAgICAgICAgICAgICAgICA8ZGl2IGNsYXNzPVwibXktMlwiICpuZ0lmPVwiZ2V0TWlzc2VkT3Bwb3J0dW5pdHlEYXRhPy5jYXJkPy5yZXZlbnVlPy5jdXJyZW5jeSA9PT0naW5yJ1wiPiA8c3BhbiBjbGFzcz1cImNhcmQtbGFiZWwgaGVhZGVyMVwiICBbbmdTdHlsZV09XCJ7XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICdmb250LXNpemUnOiAoZ2V0TWlzc2VkT3Bwb3J0dW5pdHlEYXRhPy5jYXJkPy5yZXZlbnVlPy52YWx1ZS50b0xvY2FsZVN0cmluZygnZW4tSU4nKT8ubGVuZ3RoID4gNiA/ICcxOHB4JyA6ICcyMHB4Jyl9XCI+PHNwYW4gY2xhc3M9XCJtZS0xXCI+4oK5PC9zcGFuPnt7Z2V0TWlzc2VkT3Bwb3J0dW5pdHlEYXRhPy5jYXJkPy5yZXZlbnVlPy52YWx1ZS50b0xvY2FsZVN0cmluZygnZW4tSU4nKSA/PyAnLS0nfX08L3NwYW4+PC9kaXY+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgIDxkaXYgY2xhc3M9XCJteS0xXCI+PHNwYW4gY2xhc3M9XCJzdWItaGVhZGVyXCIgKm5nSWY9XCJoZWFkZXJEYXRhPy5jbGllbnQgIT09ICc0NTInXCI+UG90ZW50aWFsIExvc3MgUmV2ZW51ZTwvc3Bhbj48L2Rpdj5cclxuICAgICAgICAgICAgICAgICAgICAgICAgPC9kaXY+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgIDxkaXYgY2xhc3M9XCJjb2wtbWQtMyBtdC01XCIgPjxzdmcgY2xhc3M9XCJjdXJzb3ItcG9pbnRlclwiIChjbGljayk9XCJnb1RvTG9zcygpXCIgIHhtbG5zPVwiaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmdcIiB3aWR0aD1cIjQwXCIgaGVpZ2h0PVwiNDBcIiB2aWV3Qm94PVwiMCAwIDQwIDQwXCIgZmlsbD1cIm5vbmVcIj5cclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxnIGZpbHRlcj1cInVybCgjZmlsdGVyMF9kXzM4ODVfMjUzMSlcIj5cclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxyZWN0IHg9XCIyXCIgeT1cIjFcIiB3aWR0aD1cIjM2XCIgaGVpZ2h0PVwiMzZcIiByeD1cIjhcIiBmaWxsPVwiI0VBRjhGRlwiLz5cclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxyZWN0IHg9XCIyLjVcIiB5PVwiMS41XCIgd2lkdGg9XCIzNVwiIGhlaWdodD1cIjM1XCIgcng9XCI3LjVcIiBzdHJva2U9XCIjRUFGOEZGXCIvPlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgPGcgY2xpcC1wYXRoPVwidXJsKCNjbGlwMF8zODg1XzI1MzEpXCI+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICA8cGF0aCBkPVwiTTI3LjQ1ODUgMTcuMjI1MUMyNy44MTMzIDE4Ljg1NTYgMjcuNjcwNyAyMC41NjE0IDI3LjA1MDUgMjIuMTAyN0wyNS44NTkzIDIxLjM4MzhMMjYuMDE3IDI2LjA5N0wzMCAyMy44ODM0TDI4LjcxNyAyMy4xMDg2QzMwLjcxNzEgMTguNDgyMyAyOS4wNzI2IDEyLjkzMzMgMjQuNzc5OSAxMC4zNDA3QzIzLjMzMjggOS40NjYzMyAyMS42OTE4IDkuMDA0MDYgMjAuMDIwNiA5LjAwMDAzQzE4LjM0OTQgOC45OTU5OSAxNi43MDY0IDkuNDUwMzMgMTUuMjU1NSAxMC4zMTc3TDE2LjIwNDkgMTIuMDU0NEMxNy41OTMzIDExLjIyNDkgMTkuMTk1MyAxMC44NzEyIDIwLjc4NTggMTEuMDQzQzIyLjM3NjQgMTEuMjE0OSAyMy44NzU0IDExLjkwMzYgMjUuMDcyMyAxMy4wMTI1QzI2LjI2OTIgMTQuMTIxNCAyNy4xMDM3IDE1LjU5NDYgMjcuNDU4NSAxNy4yMjUxWlwiIGZpbGw9XCIjMDBBM0ZGXCIvPlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgPHBhdGggZD1cIk0xMi41NDAyIDIwLjc3NTlDMTIuMTg1NCAxOS4xNDUyIDEyLjMyODIgMTcuNDM5MiAxMi45NDg1IDE1Ljg5NzhMMTQuMTM5OCAxNi42MTY3TDEzLjk4MiAxMS45MDM1TDEwIDE0LjExODFMMTEuMjgzIDE0Ljg5MDlDOS4yODE5OSAxOS41MTgyIDEwLjkyNjQgMjUuMDY2MiAxNS4yMTkyIDI3LjY1ODhDMTYuNjY2MSAyOC41MzMzIDE4LjMwNzEgMjguOTk1OCAxOS45NzgzIDI5QzIxLjY0OTUgMjkuMDA0MiAyMy4yOTI2IDI4LjU1IDI0Ljc0MzUgMjcuNjgyOEwyMy43OTUxIDI1Ljk0NjFDMjIuNDA2NyAyNi43NzYgMjAuODA0NSAyNy4xMyAxOS4yMTM4IDI2Ljk1ODNDMTcuNjIzIDI2Ljc4NjcgMTYuMTIzNyAyNi4wOTc5IDE0LjkyNjcgMjQuOTg5QzEzLjcyOTYgMjMuODggMTIuODk1IDIyLjQwNjYgMTIuNTQwMiAyMC43NzU5WlwiIGZpbGw9XCIjMDBBM0ZGXCIvPlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgPHBhdGggZmlsbC1ydWxlPVwiZXZlbm9kZFwiIGNsaXAtcnVsZT1cImV2ZW5vZGRcIiBkPVwiTTIxLjAzNzIgMTMuMDAzQzIxLjAzNzIgMTIuNTUxNCAyMC42ODcxIDEyLjE4NTIgMjAuMjU1MiAxMi4xODUyQzE5LjgyMzQgMTIuMTg1MiAxOS40NzMzIDEyLjU1MTQgMTkuNDczMyAxMy4wMDNWMTQuMzY1OUgxOC45NTJDMTguMjYwNyAxNC4zNjU5IDE3LjU5NzggMTQuNjUzIDE3LjEwOSAxNS4xNjQyQzE2LjYyMDEgMTUuNjc1NCAxNi4zNDU1IDE2LjM2ODcgMTYuMzQ1NSAxNy4wOTE2QzE2LjM0NTUgMTcuODE0NiAxNi42MjAxIDE4LjUwNzkgMTcuMTA5IDE5LjAxOTFDMTcuNTk3OCAxOS41MzAyIDE4LjI2MDcgMTkuODE3NCAxOC45NTIgMTkuODE3NEgxOS40NzMzVjIxLjk5OEgxNy4xMjc1QzE2LjY5NTYgMjEuOTk4IDE2LjM0NTUgMjIuMzY0MSAxNi4zNDU1IDIyLjgxNThDMTYuMzQ1NSAyMy4yNjc0IDE2LjY5NTYgMjMuNjMzNSAxNy4xMjc1IDIzLjYzMzVIMTkuNDczM1YyNC45OTY0QzE5LjQ3MzMgMjUuNDQ4IDE5LjgyMzQgMjUuODE0MSAyMC4yNTUyIDI1LjgxNDFDMjAuNjg3MSAyNS44MTQxIDIxLjAzNzIgMjUuNDQ4IDIxLjAzNzIgMjQuOTk2NFYyMy42MzM1SDIxLjU1ODVDMjIuMjQ5OCAyMy42MzM1IDIyLjkxMjcgMjMuMzQ2MyAyMy40MDE1IDIyLjgzNTFDMjMuODkwMyAyMi4zMjQgMjQuMTY0OSAyMS42MzA2IDI0LjE2NDkgMjAuOTA3N0MyNC4xNjQ5IDIwLjE4NDggMjMuODkwMyAxOS40OTE1IDIzLjQwMTUgMTguOTgwM0MyMi45MTI3IDE4LjQ2OTEgMjIuMjQ5OCAxOC4xODIgMjEuNTU4NSAxOC4xODJIMjEuMDM3MlYxNi4wMDEzSDIyLjg2MTdDMjMuMjkzNiAxNi4wMDEzIDIzLjY0MzcgMTUuNjM1MiAyMy42NDM3IDE1LjE4MzZDMjMuNjQzNyAxNC43MzIgMjMuMjkzNiAxNC4zNjU5IDIyLjg2MTcgMTQuMzY1OUgyMS4wMzcyVjEzLjAwM1pNMTguOTUyIDE2LjAwMTNIMTkuNDczM1YxOC4xODJIMTguOTUyQzE4LjY3NTUgMTguMTgyIDE4LjQxMDMgMTguMDY3MSAxOC4yMTQ4IDE3Ljg2MjZDMTguMDE5MyAxNy42NTgxIDE3LjkwOTQgMTcuMzgwOCAxNy45MDk0IDE3LjA5MTZDMTcuOTA5NCAxNi44MDI1IDE4LjAxOTMgMTYuNTI1MiAxOC4yMTQ4IDE2LjMyMDdDMTguNDEwMyAxNi4xMTYyIDE4LjY3NTUgMTYuMDAxMyAxOC45NTIgMTYuMDAxM1pNMjEuMDM3MiAyMS45OThWMTkuODE3NEgyMS41NTg1QzIxLjgzNSAxOS44MTc0IDIyLjEwMDIgMTkuOTMyMyAyMi4yOTU3IDIwLjEzNjhDMjIuNDkxMiAyMC4zNDEyIDIyLjYwMTEgMjAuNjE4NiAyMi42MDExIDIwLjkwNzdDMjIuNjAxMSAyMS4xOTY5IDIyLjQ5MTIgMjEuNDc0MiAyMi4yOTU3IDIxLjY3ODdDMjIuMTAwMiAyMS44ODMyIDIxLjgzNSAyMS45OTggMjEuNTU4NSAyMS45OThIMjEuMDM3MlpcIiBmaWxsPVwiIzAwQTNGRlwiLz5cclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvZz5cclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvZz5cclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxkZWZzPlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgPGZpbHRlciBpZD1cImZpbHRlcjBfZF8zODg1XzI1MzFcIiB4PVwiMFwiIHk9XCIwXCIgd2lkdGg9XCI0MFwiIGhlaWdodD1cIjQwXCIgZmlsdGVyVW5pdHM9XCJ1c2VyU3BhY2VPblVzZVwiIGNvbG9yLWludGVycG9sYXRpb24tZmlsdGVycz1cInNSR0JcIj5cclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxmZUZsb29kIGZsb29kLW9wYWNpdHk9XCIwXCIgcmVzdWx0PVwiQmFja2dyb3VuZEltYWdlRml4XCIvPlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgPGZlQ29sb3JNYXRyaXggaW49XCJTb3VyY2VBbHBoYVwiIHR5cGU9XCJtYXRyaXhcIiB2YWx1ZXM9XCIwIDAgMCAwIDAgMCAwIDAgMCAwIDAgMCAwIDAgMCAwIDAgMCAxMjcgMFwiIHJlc3VsdD1cImhhcmRBbHBoYVwiLz5cclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxmZU9mZnNldCBkeT1cIjFcIi8+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICA8ZmVHYXVzc2lhbkJsdXIgc3RkRGV2aWF0aW9uPVwiMVwiLz5cclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxmZUNvbG9yTWF0cml4IHR5cGU9XCJtYXRyaXhcIiB2YWx1ZXM9XCIwIDAgMCAwIDAuMDYyNzQ1MSAwIDAgMCAwIDAuMDk0MTE3NiAwIDAgMCAwIDAuMTU2ODYzIDAgMCAwIDAuMDUgMFwiLz5cclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxmZUJsZW5kIG1vZGU9XCJub3JtYWxcIiBpbjI9XCJCYWNrZ3JvdW5kSW1hZ2VGaXhcIiByZXN1bHQ9XCJlZmZlY3QxX2Ryb3BTaGFkb3dfMzg4NV8yNTMxXCIvPlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgPGZlQmxlbmQgbW9kZT1cIm5vcm1hbFwiIGluPVwiU291cmNlR3JhcGhpY1wiIGluMj1cImVmZmVjdDFfZHJvcFNoYWRvd18zODg1XzI1MzFcIiByZXN1bHQ9XCJzaGFwZVwiLz5cclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvZmlsdGVyPlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgPGNsaXBQYXRoIGlkPVwiY2xpcDBfMzg4NV8yNTMxXCI+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICA8cmVjdCB3aWR0aD1cIjIwXCIgaGVpZ2h0PVwiMjBcIiBmaWxsPVwid2hpdGVcIiB0cmFuc2Zvcm09XCJ0cmFuc2xhdGUoMTAgOSlcIi8+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICA8L2NsaXBQYXRoPlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgPC9kZWZzPlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgPC9zdmc+PC9kaXY+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICA8L2Rpdj5cclxuICAgICAgICAgICAgICAgICAgICA8L2Rpdj5cclxuICAgICAgICAgICAgICAgICAgICA8ZGl2IGNsYXNzPVwiY2FyZC1mb290ZXIgbXMtMiBwLTBcIj5cclxuICAgICAgICAgICAgICAgICAgICAgICAgPGRpdiBjbGFzcz1cImNvbC1tZC0xMlwiPlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgPHNwYW4gY2xhc3M9XCJtdC0yXCI+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPHN2ZyAqbmdJZj1cIiFnZXRNaXNzZWRPcHBvcnR1bml0eURhdGE/LmRhdGE/Lm1pc3NlZG9wcG9ydHVuaXRpZXM/LlByZXZpb3VzVmFyaWF0aW9uXCIgeG1sbnM9XCJodHRwOi8vd3d3LnczLm9yZy8yMDAwL3N2Z1wiIHdpZHRoPVwiMThcIlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGhlaWdodD1cIjE4XCIgdmlld0JveD1cIjAgMCAxOCAxOFwiIGZpbGw9XCJub25lXCI+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGcgY2xpcC1wYXRoPVwidXJsKCNjbGlwMF8yMzI4XzQ2NTQpXCI+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxwYXRoIGQ9XCJNMTEuNSA5TDYuNzUgNC4yNUw0LjI1IDYuNzVMMC41IDNNMTEuNSA5SDguNU0xMS41IDlWNlwiIHN0cm9rZT1cIiNEOTJEMjBcIiBzdHJva2Utd2lkdGg9XCIxLjVcIlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgc3Ryb2tlLWxpbmVjYXA9XCJyb3VuZFwiIHN0cm9rZS1saW5lam9pbj1cInJvdW5kXCIgLz5cclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8L2c+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGRlZnM+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxjbGlwUGF0aCBpZD1cImNsaXAwXzIzMjhfNDY1NFwiPlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPHJlY3Qgd2lkdGg9XCIxMlwiIGhlaWdodD1cIjEyXCIgZmlsbD1cIndoaXRlXCIgLz5cclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPC9jbGlwUGF0aD5cclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8L2RlZnM+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICA8L3N2Zz5cclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxzdmcgKm5nSWY9XCJnZXRNaXNzZWRPcHBvcnR1bml0eURhdGE/LmRhdGE/Lm1pc3NlZG9wcG9ydHVuaXRpZXM/LlByZXZpb3VzVmFyaWF0aW9uXCIgeG1sbnM9XCJodHRwOi8vd3d3LnczLm9yZy8yMDAwL3N2Z1wiIHdpZHRoPVwiMTJcIiBoZWlnaHQ9XCIxMlwiXHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgdmlld0JveD1cIjAgMCAxMiAxMlwiIGZpbGw9XCJub25lXCI+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGcgY2xpcC1wYXRoPVwidXJsKCNjbGlwMF8zMjE2XzExOClcIj5cclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPHBhdGggZD1cIk0xMS41IDNMNi43NSA3Ljc1TDQuMjUgNS4yNUwwLjUgOU0xMS41IDNIOC41TTExLjUgM1Y2XCIgc3Ryb2tlPVwiIzAzOTg1NVwiIHN0cm9rZS13aWR0aD1cIjEuNVwiXHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBzdHJva2UtbGluZWNhcD1cInJvdW5kXCIgc3Ryb2tlLWxpbmVqb2luPVwicm91bmRcIiAvPlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvZz5cclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8ZGVmcz5cclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGNsaXBQYXRoIGlkPVwiY2xpcDBfMzIxNl8xMThcIj5cclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxyZWN0IHdpZHRoPVwiMTJcIiBoZWlnaHQ9XCIxMlwiIGZpbGw9XCJ3aGl0ZVwiIC8+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvY2xpcFBhdGg+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPC9kZWZzPlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgPC9zdmc+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICA8L3NwYW4+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICA8c3BhbiBjbGFzcz1cIm1zLTIgbXQtMlwiPlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxzcGFuICpuZ0lmPVwiZ2V0TWlzc2VkT3Bwb3J0dW5pdHlEYXRhPy5kYXRhPy5taXNzZWRvcHBvcnR1bml0aWVzPy5QcmV2aW91c0RhdGEgPT09MFwiIGNsYXNzPVwicGVyY2VudC12YWx1ZVwiPjAlPC9zcGFuPlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxzcGFuICpuZ0lmPVwiZ2V0TWlzc2VkT3Bwb3J0dW5pdHlEYXRhPy5kYXRhPy5taXNzZWRvcHBvcnR1bml0aWVzPy5QcmV2aW91c0RhdGEgIT09MFwiIGNsYXNzPVwicGVyY2VudC12YWx1ZVwiPnt7Z2V0TWlzc2VkT3Bwb3J0dW5pdHlEYXRhPy5kYXRhPy5taXNzZWRvcHBvcnR1bml0aWVzPy5QcmV2aW91c0RhdGEgPyBnZXRNaXNzZWRPcHBvcnR1bml0eURhdGE/LmRhdGE/Lm1pc3NlZG9wcG9ydHVuaXRpZXM/LlByZXZpb3VzRGF0YTonLS0nfX0lPC9zcGFuPlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgPHNwYW4gY2xhc3M9XCJ3ZWVrLWZvbnRcIj5cclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgdnMgUHJldmlvdXMgIDxzcGFuICpuZ0lmPVwiZGF0ZVR5cGUgPT09J2RhaWx5J1wiPmRheTwvc3Bhbj48c3BhbiAqbmdJZj1cImRhdGVUeXBlID09PSd3ZWVrbHknXCI+d2Vlazwvc3Bhbj4gPHNwYW4gKm5nSWY9XCJkYXRlVHlwZSA9PT0nbW9udGhseSdcIj5tb250aDwvc3Bhbj48L3NwYW4+XHJcblxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgPC9zcGFuPlxyXG4gICAgICAgICAgICAgICAgICAgICAgICA8L2Rpdj5cclxuICAgICAgICAgICAgICAgICAgICA8L2Rpdj5cclxuICAgICAgICAgICAgICAgIDwvZGl2PlxyXG4gICAgICAgICAgICA8L2Rpdj5cclxuICAgICAgICAgICAgPGRpdiBjbGFzcz1cImNvbC1tZC00IG10LTMgaC0xMDBcIj5cclxuICAgICAgICAgICAgICAgIDxkaXYgY2xhc3M9XCJjYXJkIGNhcmQtYm9yZGVyIG1iLTUgcHktMFwiPlxyXG4gICAgICAgICAgICAgICAgICAgIDxkaXYgY2xhc3M9XCJjYXJkLWJvZHkgcC0wIGgtOTBweCBtdC0zIG14LTNcIiBbbmdiVG9vbHRpcF09XCJkd2VsbFRvb2x0aXBcIiBwbGFjZW1lbnQ9XCJyaWdodFwiPlxyXG4gICAgICAgICAgICAgICAgICAgICAgICA8ZGl2IGNsYXNzPVwiZC1mbGV4IGFsaWduLWl0ZW1zLWNlbnRlciBtZS0yXCI+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICA8ZGl2IGNsYXNzPVwibXQtMyBmbGV4LXNocmluay0wXCI+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxzdmcgd2lkdGg9XCI0MFwiIGhlaWdodD1cIjQxXCIgdmlld0JveD1cIjAgMCA0MCA0MVwiIGZpbGw9XCJub25lXCIgeG1sbnM9XCJodHRwOi8vd3d3LnczLm9yZy8yMDAwL3N2Z1wiPlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPHJlY3QgeT1cIjAuNVwiIHdpZHRoPVwiNDBcIiBoZWlnaHQ9XCI0MFwiIHJ4PVwiMjBcIiBmaWxsPVwiI0RBRjFGRlwiLz5cclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxwYXRoIGQ9XCJNMTcuNjM4MiAxMi44OTIyQzE3LjYzODIgMTIuNjgzNSAxNy43MjEyIDEyLjQ4MzMgMTcuODY4OCAxMi4zMzU3QzE4LjAxNjQgMTIuMTg4MSAxOC4yMTY1IDEyLjEwNTIgMTguNDI1MyAxMi4xMDUySDIxLjU3MzRDMjEuNzgyMiAxMi4xMDUyIDIxLjk4MjMgMTIuMTg4MSAyMi4xMjk5IDEyLjMzNTdDMjIuMjc3NSAxMi40ODMzIDIyLjM2MDUgMTIuNjgzNSAyMi4zNjA1IDEyLjg5MjJDMjIuMzYwNSAxMy4xMDA5IDIyLjI3NzUgMTMuMzAxMSAyMi4xMjk5IDEzLjQ0ODdDMjEuOTgyMyAxMy41OTYzIDIxLjc4MjIgMTMuNjc5MiAyMS41NzM0IDEzLjY3OTJIMjAuNzg2NFYxNC43Mjg2TDIwLjc4NTMgMTQuNzcxNkMyMi4xMTU2IDE0LjkxNzQgMjMuMzc2NyAxNS40Mzk4IDI0LjQyMDQgMTYuMjc3NUwyNC40Mjc3IDE2LjI3MTJMMjUuMjE0OCAxNS40ODQyQzI1LjMxMSAxNS4zODA2IDI1LjQzMzMgMTUuMzA0OCAyNS41NjkgMTUuMjY0OUMyNS43MDQ2IDE1LjIyNTEgMjUuODQ4NSAxNS4yMjI1IDI1Ljk4NTUgMTUuMjU3NUMyNi4xMjI0IDE1LjI5MjUgMjYuMjQ3NCAxNS4zNjM4IDI2LjM0NzIgMTUuNDYzOUMyNi40NDcxIDE1LjU2NCAyNi41MTgxIDE1LjY4OTIgMjYuNTUyNyAxNS44MjYzQzI2LjU4NzcgMTUuOTYzMSAyNi41ODUyIDE2LjEwNjggMjYuNTQ1NSAxNi4yNDIzQzI2LjUwNTggMTYuMzc3OCAyNi40MzA0IDE2LjUwMDIgMjYuMzI3MSAxNi41OTY1TDI1LjU0MDEgMTcuMzgzNkwyNS41MzM4IDE3LjM5MDlDMjYuMzY2MiAxOC40MzMxIDI2Ljg4NzUgMTkuNjg5MSAyNy4wMzc3IDIxLjAxNDRDMjcuMTg3OCAyMi4zMzk3IDI2Ljk2MDcgMjMuNjgwNSAyNi4zODI0IDI0Ljg4MjVDMjUuODA0MiAyNi4wODQ1IDI0Ljg5ODMgMjcuMDk4NyAyMy43NjkxIDI3LjgwODZDMjIuNjM5OSAyOC41MTg0IDIxLjMzMzIgMjguODk1IDE5Ljk5OTMgMjguODk1QzE4LjY2NTUgMjguODk1IDE3LjM1ODggMjguNTE4NCAxNi4yMjk2IDI3LjgwODZDMTUuMTAwNCAyNy4wOTg3IDE0LjE5NDUgMjYuMDg0NSAxMy42MTYzIDI0Ljg4MjVDMTMuMDM4IDIzLjY4MDUgMTIuODEwOSAyMi4zMzk3IDEyLjk2MSAyMS4wMTQ0QzEzLjExMTIgMTkuNjg5MSAxMy42MzI1IDE4LjQzMzEgMTQuNDY0OSAxNy4zOTA5TDE0LjQ1ODYgMTcuMzgzNkwxMy42NzE2IDE2LjU5NjVDMTMuNTMyNCAxNi40NDc0IDEzLjQ1NjYgMTYuMjUgMTMuNDYwMSAxNi4wNDZDMTMuNDYzNiAxNS44NDIgMTMuNTQ2MiAxNS42NDczIDEzLjY5MDUgMTUuNTAzMUMxMy44MzQ3IDE1LjM1ODggMTQuMDI5NCAxNS4yNzYyIDE0LjIzMzQgMTUuMjcyN0MxNC40Mzc0IDE1LjI2OTIgMTQuNjM0OCAxNS4zNDUgMTQuNzgzOSAxNS40ODQyTDE1LjU3MSAxNi4yNzEyTDE1LjU3ODMgMTYuMjc3NUMxNi42MjE3IDE1LjQ0IDE3Ljg4MjQgMTQuOTE3NiAxOS4yMTIzIDE0Ljc3MTZWMTMuNjc5MkgxOC40MjUzQzE4LjIxNjUgMTMuNjc5MiAxOC4wMTY0IDEzLjU5NjMgMTcuODY4OCAxMy40NDg3QzE3LjcyMTIgMTMuMzAxMSAxNy42MzgyIDEzLjEwMDkgMTcuNjM4MiAxMi44OTIyWk0xOS45OTkzIDI3LjMyMTJDMjEuNDYwNiAyNy4zMjExIDIyLjg2MiAyNi43NDA0IDIzLjg5NTIgMjUuNzA3MUMyNC45Mjg0IDI0LjY3MzcgMjUuNTA4NyAyMy4yNzIyIDI1LjUwODYgMjEuODEwOUMyNS41MDg1IDIwLjM0OTYgMjQuOTI3OCAxOC45NDgyIDIzLjg5NDUgMTcuOTE1QzIyLjg2MTEgMTYuODgxOSAyMS40NTk2IDE2LjMwMTUgMTkuOTk4MyAxNi4zMDE2QzE4LjUzNyAxNi4zMDE4IDE3LjEzNTYgMTYuODgyNCAxNi4xMDI1IDE3LjkxNThDMTUuMDY5MyAxOC45NDkyIDE0LjQ4ODkgMjAuMzUwNyAxNC40ODkgMjEuODExOUMxNC40ODkyIDIzLjI3MzIgMTUuMDY5OCAyNC42NzQ2IDE2LjEwMzIgMjUuNzA3OEMxNy4xMzY2IDI2Ljc0MSAxOC41MzgxIDI3LjMyMTMgMTkuOTk5MyAyNy4zMjEyWk0yMC40MDc2IDIwLjI5MDNMMjEuODAzMiAxOC44OTQ3QzIxLjg3NTggMTguODE5NSAyMS45NjI2IDE4Ljc1OTUgMjIuMDU4NiAxOC43MTgyQzIyLjE1NDYgMTguNjc2OSAyMi4yNTc5IDE4LjY1NTEgMjIuMzYyNCAxOC42NTQyQzIyLjQ2NjkgMTguNjUzMiAyMi41NzA1IDE4LjY3MzEgMjIuNjY3MyAxOC43MTI2QzIyLjc2NCAxOC43NTIxIDIyLjg1MTkgMTguODEwNSAyMi45MjU5IDE4Ljg4NDRDMjIuOTk5OCAxOC45NTgyIDIzLjA1ODMgMTkuMDQ2MSAyMy4wOTc5IDE5LjE0MjhDMjMuMTM3NSAxOS4yMzk1IDIzLjE1NzUgMTkuMzQzMSAyMy4xNTY2IDE5LjQ0NzZDMjMuMTU1NyAxOS41NTIxIDIzLjEzNDEgMTkuNjU1NCAyMy4wOTI5IDE5Ljc1MTVDMjMuMDUxNyAxOS44NDc1IDIyLjk5MTggMTkuOTM0NCAyMi45MTY2IDIwLjAwN0wyMS41MjEgMjEuNDAzN0MyMS41ODMgMjEuNjM3MSAyMS41OTA2IDIxLjg4MTUgMjEuNTQzMiAyMi4xMTgyQzIxLjQ5NTggMjIuMzU1IDIxLjM5NDggMjIuNTc3NyAyMS4yNDc4IDIyLjc2OTJDMjEuMTAwOCAyMi45NjA3IDIwLjkxMTggMjMuMTE1OSAyMC42OTUzIDIzLjIyMjhDMjAuNDc4OSAyMy4zMjk4IDIwLjI0MDggMjMuMzg1NiAxOS45OTkzIDIzLjM4NkMxOS43NzY2IDIzLjM4NDEgMTkuNTU2NyAyMy4zMzQ5IDE5LjM1NDQgMjMuMjQxNkMxOS4xNTIxIDIzLjE0ODMgMTguOTcxOCAyMy4wMTMxIDE4LjgyNTcgMjIuODQ1QzE4LjY3OTUgMjIuNjc2OCAxOC41NzA3IDIyLjQ3OTYgMTguNTA2NiAyMi4yNjYyQzE4LjQ0MjQgMjIuMDUyOCAxOC40MjQzIDIxLjgyODMgMTguNDUzNCAyMS42MDc0QzE4LjQ4MjUgMjEuMzg2NSAxOC41NTgyIDIxLjE3NDMgMTguNjc1NSAyMC45ODQ5QzE4Ljc5MjggMjAuNzk1NSAxOC45NDkgMjAuNjMzMiAxOS4xMzM4IDIwLjUwODZDMTkuMzE4NSAyMC4zODQxIDE5LjUyNzYgMjAuMzAwMyAxOS43NDcyIDIwLjI2MjZDMTkuOTY2OCAyMC4yMjUgMjAuMTkxOSAyMC4yMzQ0IDIwLjQwNzYgMjAuMjkwM1pcIiBmaWxsPVwiIzY2NzA4NVwiLz5cclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvc3ZnPlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgPC9kaXY+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICA8ZGl2IGNsYXNzPVwibXgtMyBtdC0xXCIgPlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxkaXYgY2xhc3M9XCJteS0xIGNhcmQtbGFiZWwgaGVhZGVyXCIgKm5nSWY9XCJnZXRNaXNzZWRPcHBvcnR1bml0eURhdGE/LmNhcmQ/LmF2Z0R3ZWxsVGltZSA9PT0gMFwiPjAgbWluczwvZGl2PlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxkaXYgY2xhc3M9XCJteS0xIGNhcmQtbGFiZWwgaGVhZGVyXCIgICpuZ0lmPVwiZ2V0TWlzc2VkT3Bwb3J0dW5pdHlEYXRhPy5jYXJkPy5hdmdEd2VsbFRpbWUgIT09IDBcIj57e2dldE1pc3NlZE9wcG9ydHVuaXR5RGF0YT8uY2FyZD8uYXZnRHdlbGxUaW1lID8gZ2V0TWlzc2VkT3Bwb3J0dW5pdHlEYXRhPy5jYXJkPy5hdmdEd2VsbFRpbWUgOictLSd9fSBtaW5zPC9kaXY+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGRpdiBjbGFzcz1cInN1Yi1oZWFkZXJcIj5BdmcgRHdlbGwgVGltZTwvZGl2PlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgPC9kaXY+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICBcclxuICAgICAgICAgICAgICAgICAgICAgICAgPC9kaXY+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgIFxyXG4gICAgICAgICAgICAgICAgICAgIDwvZGl2PlxyXG4gICAgICAgICAgICAgICAgICAgIDxuZy10ZW1wbGF0ZSAjZHdlbGxUb29sdGlwPlxyXG4gICAgICAgICAgICAgICAgICAgICAgICA8ZGl2IGNsYXNzPVwidG9vbHRpcC1jb250ZW50XCI+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgPGg1IGNsYXNzPVwidG9vbHRpcC10aXRsZSB0ZXh0LXN0YXJ0XCI+QXZnIER3ZWxsIFRpbWU8L2g1PlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgIDxwIGNsYXNzPVwidGV4dC1zdGFydFwiPkF2ZXJhZ2UgdGltZSBzcGVudCBieSB7e2hlYWRlckRhdGE/LmNsaWVudCA9PT0gJzQ1MicgPyAnTW9yZSB0aGFuICcrIGZlYXR1cmVDb25maWc/LmJvdW5jZWRMaW1pdC52YWx1ZSArJyBtaW5zJyA6ICdlbmdhZ2Vycyd9fSBpbiB0aGUgc2VsZWN0ZWQgc3RvcmVzLjwvcD5cclxuICAgICAgICAgICAgICAgICAgICAgICAgICA8L2Rpdj5cclxuICAgICAgICAgICAgICAgICAgICAgICAgICA8L25nLXRlbXBsYXRlPlxyXG4gICAgICAgICAgICAgICAgICAgIDwvZGl2PlxyXG4gICAgICAgICAgICAgICAgICAgIDxkaXYgY2xhc3M9XCJjYXJkIGNhcmQtYm9yZGVyIHB5LTBcIj5cclxuICAgICAgICAgICAgICAgICAgICAgICAgPGRpdiBjbGFzcz1cImNhcmQtYm9keSBwLTAgaC05MHB4IG10LTMgbXgtM1wiICBbbmdiVG9vbHRpcF09XCJkb3duVG9vbHRpcFwiIHBsYWNlbWVudD1cInJpZ2h0XCI+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICA8ZGl2IGNsYXNzPVwiZC1mbGV4IGFsaWduLWl0ZW1zLWNlbnRlciBtZS0yXCI+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGRpdiBjbGFzcz1cImZsZXgtc2hyaW5rLTAgbXQtM1wiPlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8c3ZnIHdpZHRoPVwiNDBcIiBoZWlnaHQ9XCI0MVwiIHZpZXdCb3g9XCIwIDAgNDAgNDFcIiBmaWxsPVwibm9uZVwiIHhtbG5zPVwiaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmdcIj5cclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxyZWN0IHk9XCIwLjVcIiB3aWR0aD1cIjQwXCIgaGVpZ2h0PVwiNDBcIiByeD1cIjIwXCIgZmlsbD1cIiNEQUYxRkZcIi8+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8cGF0aCBkPVwiTTIxLjkwMDQgMTIuMTY3NUMyMi45OTU4IDEyLjE2NzUgMjQuMDQyMyAxMi4zOTE4IDI0Ljk5NzcgMTIuNzk4N0MyNS45ODg5IDEzLjIyMDcgMjYuODgwOSAxMy44NDAyIDI3LjYyNzkgMTQuNjA4N0MyOC4zNzM0IDE1LjM3NTYgMjguOTc1NiAxNi4yOTMxIDI5LjM4NTcgMTcuMzE2MkMyOS43ODEzIDE4LjI5OSAyOS45OTkzIDE5LjM3NTYgMjkuOTk5MyAyMC41MDA4QzI5Ljk5OTMgMjEuNjI3NyAyOS43ODEzIDIyLjcwNDMgMjkuMzg1NyAyMy42ODcxQzI4Ljk3NTYgMjQuNzA2OCAyOC4zNzM0IDI1LjYyNDQgMjcuNjI2MyAyNi4zOTI5QzI2Ljg4MDkgMjcuMTU5OCAyNS45ODg5IDI3Ljc3OTMgMjQuOTk0NSAyOC4yMDEyQzI0LjAzOTEgMjguNjA4MSAyMi45OTI1IDI4LjgzMjUgMjEuODk4OCAyOC44MzI1QzIwLjgwMzQgMjguODMyNSAxOS43NTY4IDI4LjYwODEgMTguODAxNCAyOC4yMDEyQzE3LjgxMDIgMjcuNzc5MyAxNi45MTgzIDI3LjE1OTggMTYuMTcyOSAyNi4zOTI5TDE2LjE3MTIgMjYuMzkxMkMxNS40MjQyIDI1LjYyMjcgMTQuODIzNiAyNC43MDUyIDE0LjQxMzQgMjMuNjg3MUMxNC4yODY1IDIzLjM3MDcgMTQuMTc3NCAyMy4wNDU5IDE0LjA4NzkgMjIuNzEyN0MxNC4yNTcyIDIyLjcyOTQgMTQuNDI5NyAyMi43Mzc4IDE0LjYwMzggMjIuNzM3OEMxNC45MzQyIDIyLjczNzggMTUuMjU2NSAyMi43MDc2IDE1LjU3MDYgMjIuNjQ5QzE1LjYyMjcgMjIuODA5OCAxNS42Nzk3IDIyLjk2ODggMTUuNzQxNSAyMy4xMjQ2QzE2LjA3ODUgMjMuOTYxNyAxNi41NzMyIDI0LjcxNTIgMTcuMTg4NSAyNS4zNDgxQzE3LjgwMzcgMjUuOTgxIDE4LjUzNzggMjYuNDkgMTkuMzQ5OSAyNi44MzY2QzIwLjEzMjggMjcuMTY5OCAyMC45OTM4IDI3LjM1NTcgMjEuODk4OCAyNy4zNTU3QzIyLjgwMzcgMjcuMzU1NyAyMy42NjMxIDI3LjE3MTUgMjQuNDQ3NiAyNi44MzY2QzI1LjI2MTQgMjYuNDkgMjUuOTkzOCAyNS45ODEgMjYuNjA5MSAyNS4zNDgxQzI3LjIyNDMgMjQuNzE1MiAyNy43MTkxIDIzLjk2MDEgMjguMDU2IDIzLjEyNDZDMjguMzc5OSAyMi4zMTkyIDI4LjU2MDUgMjEuNDMzNCAyOC41NjA1IDIwLjUwMjVDMjguNTYwNSAxOS41NzE1IDI4LjM4MTUgMTguNjg3NSAyOC4wNTYgMTcuODgwNEMyNy43MTkxIDE3LjA0MzIgMjcuMjI0MyAxNi4yODk4IDI2LjYwOTEgMTUuNjU2OUMyNS45OTM4IDE1LjAyNCAyNS4yNTk4IDE0LjUxNDkgMjQuNDQ3NiAxNC4xNjg0QzIzLjY2NDcgMTMuODM1MiAyMi44MDM3IDEzLjY0OTMgMjEuODk4OCAxMy42NDkzQzIwLjk5MzggMTMuNjQ5MyAyMC4xMzQ0IDEzLjgzMzUgMTkuMzQ5OSAxNC4xNjg0QzE5LjI3OTkgMTQuMTk4NSAxOS4yMSAxNC4yMzAzIDE5LjE0MTYgMTQuMjYyMUMxOC44NzQ3IDEzLjgzMDEgMTguNTUyNCAxMy40MzgzIDE4LjE4MjkgMTMuMDk4NEMxOC4zODQ4IDEyLjk5MTMgMTguNTkxNSAxMi44OTI1IDE4LjgwMTQgMTIuODAyMUMxOS43NjAxIDEyLjM5MTggMjAuODA1IDEyLjE2NzUgMjEuOTAwNCAxMi4xNjc1Wk0yMC45NzEgMTYuNTM5M0MyMC45NzEgMTYuMzM1IDIxLjA1MjQgMTYuMTUwOCAyMS4xODEgMTYuMDE2OUMyMS4zMTEyIDE1Ljg4MjkgMjEuNDkwMiAxNS44MDA5IDIxLjY4ODggMTUuODAwOUMyMS44ODc0IDE1LjgwMDkgMjIuMDY2NCAxNS44ODI5IDIyLjE5NjYgMTYuMDE2OUMyMi4zMjY4IDE2LjE1MDggMjIuNDA2NiAxNi4zMzUgMjIuNDA2NiAxNi41MzkzVjIwLjQyNzFMMjUuMjMwNSAyMi4xNTAxQzI1LjM5OTcgMjIuMjUzOSAyNS41MTM3IDIyLjQxOTYgMjUuNTU5MiAyMi42MDIxQzI1LjYwNDggMjIuNzg0NyAyNS41ODM3IDIyLjk4NTYgMjUuNDgyNyAyMy4xNTk3VjIzLjE2MTRDMjUuMzgxOCAyMy4zMzU1IDI1LjIyMDcgMjMuNDUyNyAyNS4wNDMzIDIzLjQ5OTZDMjQuODY1OSAyMy41NDY1IDI0LjY3MDYgMjMuNTI0NyAyNC41MDEzIDIzLjQyMDlIMjQuNDk5N0wyMS4zNDA1IDIxLjQ5MzdDMjEuMjMxNCAyMS40MzE4IDIxLjE0MTkgMjEuMzQxMyAyMS4wNzY4IDIxLjIzNDJDMjEuMDEwMSAyMS4xMjIgMjAuOTcxIDIwLjk4OTcgMjAuOTcxIDIwLjg0OTFWMTYuNTM5M1pcIiBmaWxsPVwiIzY2NzA4NVwiLz5cclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxwYXRoIGZpbGwtcnVsZT1cImV2ZW5vZGRcIiBjbGlwLXJ1bGU9XCJldmVub2RkXCIgZD1cIk0xNC4zOTEzIDEyLjYwOTVDMTYuODE2NCAxMi42MDk1IDE4Ljc4MjYgMTQuNjMyMSAxOC43ODI2IDE3LjEyNjlDMTguNzgyNiAxOS42MjE4IDE2LjgxNjQgMjEuNjQ0NCAxNC4zOTEzIDIxLjY0NDRDMTEuOTY2MSAyMS42NDQ0IDEwIDE5LjYyMTggMTAgMTcuMTI2OUMxMCAxNC42MzIxIDExLjk2NjEgMTIuNjA5NSAxNC4zOTEzIDEyLjYwOTVaTTE0LjM5MTMgMTkuNzE3MkwxNi43NDggMTYuNzIwMUgxNS4yODQ4VjE1LjEyNjFIMTMuNDk3N1YxNi43MjAxSDEyLjAzNDVMMTQuMzkxMyAxOS43MTcyWlwiIGZpbGw9XCIjRjA0NDM4XCIvPlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPC9zdmc+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPC9kaXY+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGRpdiBjbGFzcz1cIm14LTMgbXQtMVwiID5cclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGRpdiBjbGFzcz1cIm15LTEgY2FyZC1sYWJlbCBoZWFkZXJcIiAqbmdJZj1cImdldE1pc3NlZE9wcG9ydHVuaXR5RGF0YT8uY2FyZD8uYXZnRG93blRpbWUgPT09IDBcIj4wIG1pbnM8L2Rpdj5cclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGRpdiBjbGFzcz1cIm15LTEgY2FyZC1sYWJlbCBoZWFkZXJcIiAgKm5nSWY9XCJnZXRNaXNzZWRPcHBvcnR1bml0eURhdGE/LmNhcmQ/LmF2Z0Rvd25UaW1lICE9PSAwXCI+e3tnZXRNaXNzZWRPcHBvcnR1bml0eURhdGE/LmNhcmQ/LmF2Z0Rvd25UaW1lID8gZ2V0TWlzc2VkT3Bwb3J0dW5pdHlEYXRhPy5jYXJkPy5hdmdEb3duVGltZSA6Jy0tJ319IG1pbnM8L2Rpdj5cclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGRpdiBjbGFzcz1cInN1Yi1oZWFkZXJcIj5BdmcgRG93biBUaW1lPC9kaXY+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPC9kaXY+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICA8L2Rpdj5cclxuICAgICAgICAgICAgICAgICAgICAgICAgPC9kaXY+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgIDxuZy10ZW1wbGF0ZSAjZG93blRvb2x0aXA+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICA8ZGl2IGNsYXNzPVwidG9vbHRpcC1jb250ZW50XCI+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxoNSBjbGFzcz1cInRvb2x0aXAtdGl0bGUgdGV4dC1zdGFydFwiPkF2ZyBEb3duIFRpbWU8L2g1PlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8cCBjbGFzcz1cInRleHQtc3RhcnRcIj5BdmVyYWdlIGNhbWVyYSAmIG5ldHdvcmsgZG93bnRpbWUgZm9yIHRoZSBzZWxlY3RlZCBzdG9yZXMuPC9wPlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8L2Rpdj5cclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPC9uZy10ZW1wbGF0ZT5cclxuICAgICAgICAgICAgICAgICAgICA8L2Rpdj5cclxuICAgICAgICAgICAgPC9kaXY+XHJcbiAgICAgICAgICAgIDxkaXYgKm5nSWY9XCJoZWFkZXJEYXRhPy5jbGllbnQgIT09ICc0NTInXCIgY2xhc3M9XCJjb2wtbWQtNCBtdC0zIHBvc2l0aW9uLXJlbGF0aXZlXCI+XHJcbiAgICAgICAgICAgICAgICA8ZGl2IGNsYXNzPVwiY2FyZCBjYXJkLWJvcmRlciBoLTEwMFwiPlxyXG4gICAgICAgICAgICAgICAgICAgIDxkaXYgY2xhc3M9XCJjYXJkLWhlYWRlciBlbGxpcHNlMSBib3JkZXItMCBweC0zXCIgW25nYlRvb2x0aXBdPVwicG90ZW50aWFsVG9vbHRpcFwiIHBsYWNlbWVudD1cInJpZ2h0XCI+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgIDxoMyBjbGFzcz1cImNhcmQtdGl0bGUgYWxpZ24taXRlbXMtc3RhcnQgZmxleC1jb2x1bW4gXCI+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICA8c3BhbiBjbGFzcz1cImNhcmQtbGFiZWwgaGVhZGVyXCI+e3tnZXRQb3RlbnRpYWxCdXllcnNDYXJkRGF0YT8uY2FyZD8ucG90ZW50aWFsQnV5ZXJzPy5yYXRlID8gZ2V0UG90ZW50aWFsQnV5ZXJzQ2FyZERhdGE/LmNhcmQ/LnBvdGVudGlhbEJ1eWVycz8ucmF0ZSA6Jy0tJ319JTwvc3Bhbj5cclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxzcGFuIGNsYXNzPVwic3ViLWhlYWRlciBcIj5Qb3RlbnRpYWwgQnV5ZXJzPC9zcGFuPlxyXG4gICAgICAgICAgICAgICAgICAgICAgICA8L2gzPlxyXG4gICAgICAgICAgICAgICAgICAgIDwvZGl2PlxyXG4gICAgICAgICAgICAgICAgICAgIDxuZy10ZW1wbGF0ZSAjcG90ZW50aWFsVG9vbHRpcD5cclxuICAgICAgICAgICAgICAgICAgICAgICAgPGRpdiBjbGFzcz1cInRvb2x0aXAtY29udGVudFwiPlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgIDxoNSBjbGFzcz1cInRvb2x0aXAtdGl0bGUgdGV4dC1zdGFydFwiPlBvdGVudGlhbCBCdXllcnM8L2g1PlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgIDxwIGNsYXNzPVwidGV4dC1zdGFydFwiPk51bWJlciBvZiBncm91cHMgZW50ZXJpbmcgdGhlIHN0b3JlLjwvcD5cclxuICAgICAgICAgICAgICAgICAgICAgICAgICA8L2Rpdj5cclxuICAgICAgICAgICAgICAgICAgICAgICAgICA8L25nLXRlbXBsYXRlPlxyXG4gICAgICAgICAgICAgICAgICAgIDxkaXYgY2xhc3M9XCJjYXJkLWJvZHkgcC0wXCI+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgIDxkaXYgKm5nSWY9XCJwb3RlbnRpYWxOb2RhdGFcIiBjbGFzcz1cInJvd1wiPlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgPGRpdiBjbGFzcz1cImNvbC1sZy0xMiBtYi0zXCI+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGRpdiBjbGFzcz1cImNhcmQtYm9keSBwYi0wIHB4LTAgZC1mbGV4IGp1c3RpZnktY29udGVudC1jZW50ZXIgYWxpZ24taXRlbXMtY2VudGVyIGZsZXgtY29sdW1uXCI+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxpbWcgY2xhc3M9XCJpbWctbm9kYXRhMVwiIHNyYz1cIi4vYXNzZXRzL3RhbmdvL0ljb25zL05vZGF0YTEuc3ZnXCIgYWx0PVwiXCI+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxkaXYgY2xhc3M9XCJub2RhdGEtdGl0bGUxXCI+Tm8gZGF0YSBmb3VuZDwvZGl2PlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8IS0tIDxkaXYgY2xhc3M9XCJub2RhdGEtc3ViXCI+VGhlcmUgaXMgbm8gcmVzdWx0IGZvciB0aGlzIGNvbnZlcnNpb24gZnVubmVsPC9kaXY+IC0tPlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvZGl2PlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgPC9kaXY+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgIDwvZGl2PlxyXG4gICAgICAgICAgICAgICAgICAgICAgICA8ZGl2ICpuZ0lmPVwiIXBvdGVudGlhbE5vZGF0YVwiIGNsYXNzPVwidGV4dC1jZW50ZXJcIiBpZD1cIlBvdGVudGlhbEJ1eWVyc1wiPjwvZGl2PlxyXG4gICAgICAgICAgICAgICAgICAgIDwvZGl2PlxyXG4gICAgICAgICAgICAgICAgICAgIDxkaXYgY2xhc3M9XCJjYXJkLWZvb3RlciBtcy0yIHAtMFwiPlxyXG4gICAgICAgICAgICAgICAgICAgICAgICA8ZGl2IGNsYXNzPVwiY29sLW1kLTEyXCI+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICA8c3BhbiBjbGFzcz1cIm10LTJcIj5cclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8c3ZnICpuZ0lmPVwiIWdldFBvdGVudGlhbEJ1eWVyc0NhcmREYXRhPy5kYXRhPy5wb3RlbnRpYWxCdXllcnM/LlByZXZpb3VzVmFyaWF0aW9uXCIgeG1sbnM9XCJodHRwOi8vd3d3LnczLm9yZy8yMDAwL3N2Z1wiIHdpZHRoPVwiMThcIlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGhlaWdodD1cIjE4XCIgdmlld0JveD1cIjAgMCAxOCAxOFwiIGZpbGw9XCJub25lXCI+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGcgY2xpcC1wYXRoPVwidXJsKCNjbGlwMF8yMzI4XzQ2NTQpXCI+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxwYXRoIGQ9XCJNMTEuNSA5TDYuNzUgNC4yNUw0LjI1IDYuNzVMMC41IDNNMTEuNSA5SDguNU0xMS41IDlWNlwiIHN0cm9rZT1cIiNEOTJEMjBcIiBzdHJva2Utd2lkdGg9XCIxLjVcIlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgc3Ryb2tlLWxpbmVjYXA9XCJyb3VuZFwiIHN0cm9rZS1saW5lam9pbj1cInJvdW5kXCIgLz5cclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8L2c+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGRlZnM+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxjbGlwUGF0aCBpZD1cImNsaXAwXzIzMjhfNDY1NFwiPlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPHJlY3Qgd2lkdGg9XCIxMlwiIGhlaWdodD1cIjEyXCIgZmlsbD1cIndoaXRlXCIgLz5cclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPC9jbGlwUGF0aD5cclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8L2RlZnM+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICA8L3N2Zz5cclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxzdmcgKm5nSWY9XCJnZXRQb3RlbnRpYWxCdXllcnNDYXJkRGF0YT8uZGF0YT8ucG90ZW50aWFsQnV5ZXJzPy5QcmV2aW91c1ZhcmlhdGlvblwiIHhtbG5zPVwiaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmdcIiB3aWR0aD1cIjEyXCIgaGVpZ2h0PVwiMTJcIlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHZpZXdCb3g9XCIwIDAgMTIgMTJcIiBmaWxsPVwibm9uZVwiPlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxnIGNsaXAtcGF0aD1cInVybCgjY2xpcDBfMzIxNl8xMTgpXCI+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxwYXRoIGQ9XCJNMTEuNSAzTDYuNzUgNy43NUw0LjI1IDUuMjVMMC41IDlNMTEuNSAzSDguNU0xMS41IDNWNlwiIHN0cm9rZT1cIiMwMzk4NTVcIiBzdHJva2Utd2lkdGg9XCIxLjVcIlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgc3Ryb2tlLWxpbmVjYXA9XCJyb3VuZFwiIHN0cm9rZS1saW5lam9pbj1cInJvdW5kXCIgLz5cclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8L2c+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGRlZnM+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxjbGlwUGF0aCBpZD1cImNsaXAwXzMyMTZfMTE4XCI+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8cmVjdCB3aWR0aD1cIjEyXCIgaGVpZ2h0PVwiMTJcIiBmaWxsPVwid2hpdGVcIiAvPlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8L2NsaXBQYXRoPlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvZGVmcz5cclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvc3ZnPlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgPC9zcGFuPlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgPHNwYW4gY2xhc3M9XCJtdC0yIG1zLTJcIj5cclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8c3BhbiAqbmdJZj1cImdldFBvdGVudGlhbEJ1eWVyc0NhcmREYXRhPy5kYXRhPy5wb3RlbnRpYWxCdXllcnM/LlByZXZpb3VzRGF0YSA9PT0wXCIgY2xhc3M9XCJwZXJjZW50LXZhbHVlXCI+MCU8L3NwYW4+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPHNwYW4gKm5nSWY9XCJnZXRQb3RlbnRpYWxCdXllcnNDYXJkRGF0YT8uZGF0YT8ucG90ZW50aWFsQnV5ZXJzPy5QcmV2aW91c0RhdGEgIT09MFwiIGNsYXNzPVwicGVyY2VudC12YWx1ZVwiPnt7Z2V0UG90ZW50aWFsQnV5ZXJzQ2FyZERhdGE/LmRhdGE/LnBvdGVudGlhbEJ1eWVycz8uUHJldmlvdXNEYXRhID8gZ2V0UG90ZW50aWFsQnV5ZXJzQ2FyZERhdGE/LmRhdGE/LnBvdGVudGlhbEJ1eWVycz8uUHJldmlvdXNEYXRhOictLSd9fSU8L3NwYW4+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPHNwYW4gY2xhc3M9XCJ3ZWVrLWZvbnRcIj5cclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgdnMgUHJldmlvdXMgIDxzcGFuICpuZ0lmPVwiZGF0ZVR5cGUgPT09J2RhaWx5J1wiPmRheTwvc3Bhbj48c3BhbiAqbmdJZj1cImRhdGVUeXBlID09PSd3ZWVrbHknXCI+d2Vlazwvc3Bhbj4gPHNwYW4gKm5nSWY9XCJkYXRlVHlwZSA9PT0nbW9udGhseSdcIj5tb250aDwvc3Bhbj48L3NwYW4+XHJcblxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgPC9zcGFuPlxyXG4gICAgICAgICAgICAgICAgICAgICAgICA8L2Rpdj5cclxuICAgICAgICAgICAgICAgICAgICA8L2Rpdj5cclxuICAgICAgICAgICAgICAgIDwvZGl2PlxyXG4gICAgICAgICAgICAgICAgPGRpdiBjbGFzcz1cInBvc2l0aW9uLWFic29sdXRlIGVuZC0wXCI+XHJcbiAgICAgICAgICAgICAgICAgICAgPHN2ZyB4bWxucz1cImh0dHA6Ly93d3cudzMub3JnLzIwMDAvc3ZnXCIgd2lkdGg9XCIxNlwiIGhlaWdodD1cIjE2XCIgdmlld0JveD1cIjAgMCAxNiAxNlwiIGZpbGw9XCJub25lXCI+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgIDxwYXRoIGQ9XCJNNiAxMkwxMCA4TDYgNFwiIHN0cm9rZT1cIiM5OEEyQjNcIiBzdHJva2Utd2lkdGg9XCIyXCIgc3Ryb2tlLWxpbmVjYXA9XCJyb3VuZFwiIHN0cm9rZS1saW5lam9pbj1cInJvdW5kXCIvPlxyXG4gICAgICAgICAgICAgICAgICAgICAgICA8L3N2Zz5cclxuICAgICAgICAgICAgICAgICAgICAgICAgPC9kaXY+XHJcbiAgICAgICAgICAgIDwvZGl2PlxyXG4gICAgICAgICAgICA8ZGl2ICpuZ0lmPVwiaGVhZGVyRGF0YT8uY2xpZW50ICE9PSAnNDUyJ1wiIGNsYXNzPVwiY29sLW1kLTggbXQtM1wiPlxyXG4gICAgICAgICAgICAgICAgPGRpdiBjbGFzcz1cImNhcmQgY2FyZC1ib3JkZXIgaC0xMDBcIj5cclxuICAgICAgICAgICAgICAgICAgICA8ZGl2IGNsYXNzPVwicm93XCI+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgIDxkaXYgY2xhc3M9XCJjb2wtbWQtMTJcIj5cclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxkaXYgY2xhc3M9XCJweC0yXCI+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGRpdiBjbGFzcz1cImNhcmQtaGVhZGVyIGVsbGlwc2UxIGJvcmRlci0wIHB4LTNcIiBbbmdiVG9vbHRpcF09XCJwb3RlbnRpYWxCdXllclRvb2x0aXBcIiBwbGFjZW1lbnQ9XCJyaWdodFwiPlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8aDMgY2xhc3M9XCJjYXJkLXRpdGxlIGFsaWduLWl0ZW1zLXN0YXJ0IGZsZXgtY29sdW1uIFwiPlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPHNwYW4gY2xhc3M9XCJjYXJkLWxhYmVsIGhlYWRlclwiPlBvdGVudGlhbCBCdXllciBEaXN0cmlidXRpb248L3NwYW4+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8c3BhbiBjbGFzcz1cInN1Yi1oZWFkZXJcIj5DYXRlZ29yeS13aXNlPC9zcGFuPlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8L2gzPiAgIFxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvZGl2PlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxuZy10ZW1wbGF0ZSAjcG90ZW50aWFsQnV5ZXJUb29sdGlwPlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8ZGl2IGNsYXNzPVwidG9vbHRpcC1jb250ZW50XCI+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGg1IGNsYXNzPVwidG9vbHRpcC10aXRsZSB0ZXh0LXN0YXJ0XCI+UG90ZW50aWFsIEJ1eWVyIERpc3RyaWJ1dGlvbjwvaDU+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPHAgY2xhc3M9XCJ0ZXh0LXN0YXJ0XCI+QXZlcmFnZSBncm91cCBzaXplLCBhbG9uZyB3aXRoIHRoZSBjb3VudCBvZiBpbmRpdmlkdWFscyB2ZXJzdXMgZ3JvdXBzIGVudGVyaW5nIHRoZSBzdG9yZS48L3A+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPC9kaXY+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPC9uZy10ZW1wbGF0ZT5cclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8ZGl2IGNsYXNzPVwicm93XCI+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxkaXYgY2xhc3M9XCJjb2wtbWQtOVwiPlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGRpdiBjbGFzcz1cInJvd1wiPlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxkaXYgY2xhc3M9XCJjb2wtbWQtNiBweC0wXCI+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGRpdiBjbGFzcz1cImNhcmQtYm9keSBwLTBcIj5cclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8ZGl2IGNsYXNzPVwidGV4dC1zdGFydCBtcy0xMCAgbXQtNyBtYi0zXCI+PHNwYW4+PHN2ZyB4bWxucz1cImh0dHA6Ly93d3cudzMub3JnLzIwMDAvc3ZnXCIgd2lkdGg9XCIyNVwiIGhlaWdodD1cIjI0XCIgdmlld0JveD1cIjAgMCAyNSAyNFwiIGZpbGw9XCJub25lXCI+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxwYXRoIGQ9XCJNMjAuMjUgMjFWMTlDMjAuMjUgMTcuOTM5MSAxOS44Mjg2IDE2LjkyMTcgMTkuMDc4NCAxNi4xNzE2QzE4LjMyODMgMTUuNDIxNCAxNy4zMTA5IDE1IDE2LjI1IDE1SDguMjVDNy4xODkxMyAxNSA2LjE3MTcyIDE1LjQyMTQgNS40MjE1NyAxNi4xNzE2QzQuNjcxNDMgMTYuOTIxNyA0LjI1IDE3LjkzOTEgNC4yNSAxOVYyMU0xNi4yNSA3QzE2LjI1IDkuMjA5MTQgMTQuNDU5MSAxMSAxMi4yNSAxMUMxMC4wNDA5IDExIDguMjUgOS4yMDkxNCA4LjI1IDdDOC4yNSA0Ljc5MDg2IDEwLjA0MDkgMyAxMi4yNSAzQzE0LjQ1OTEgMyAxNi4yNSA0Ljc5MDg2IDE2LjI1IDdaXCIgc3Ryb2tlPVwiIzk4QTJCM1wiIHN0cm9rZS13aWR0aD1cIjJcIiBzdHJva2UtbGluZWNhcD1cInJvdW5kXCIgc3Ryb2tlLWxpbmVqb2luPVwicm91bmRcIi8+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8L3N2Zz48L3NwYW4+PHNwYW4gKm5nSWY9XCJnZXRQb3RlbnRpYWxCdXllcnNEYXRhPy5wb3RlbnRpYWxCdXllcnM/LnBvdGVudGlhbEJ1eWVyc1NpbmdsZT8uY291bnQgIT09IDBcIiBjbGFzcz1cImxlZnQtY2FyZC1jb3VudCBtdC0yIG1zLTFcIj57e2dldFBvdGVudGlhbEJ1eWVyc0RhdGE/LnBvdGVudGlhbEJ1eWVycz8ucG90ZW50aWFsQnV5ZXJzU2luZ2xlPy5jb3VudCA/IGdldFBvdGVudGlhbEJ1eWVyc0RhdGE/LnBvdGVudGlhbEJ1eWVycz8ucG90ZW50aWFsQnV5ZXJzU2luZ2xlPy5jb3VudC50b0xvY2FsZVN0cmluZygnZW4tSU4nKTonLS0nfX08L3NwYW4+IFxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPHNwYW4gKm5nSWY9XCJnZXRQb3RlbnRpYWxCdXllcnNEYXRhPy5wb3RlbnRpYWxCdXllcnM/LnBvdGVudGlhbEJ1eWVyc1NpbmdsZT8uY291bnQgPT09IDBcIiBjbGFzcz1cImxlZnQtY2FyZC1jb3VudCBtdC0yIG1zLTFcIj4wPC9zcGFuPjxzcGFuIGNsYXNzPVwibGVmdC1jYXJkLWNvdW50LWhlYWRlciBtcy0xXCI+U2luZ2xlPC9zcGFuPjwvZGl2PlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGRpdiBjbGFzcz1cInRleHQtc3RhcnQgbXMtMTUgbWItM1wiPjxzcGFuIGNsYXNzPVwiYmFkZ2UgYmFkZ2UtbGlnaHQtZGVmYXVsdCB3ZWVrLWZvbnRcIj57e2dldFBvdGVudGlhbEJ1eWVyc0RhdGE/LnBvdGVudGlhbEJ1eWVycz8ucG90ZW50aWFsQnV5ZXJzU2luZ2xlPy5hZ2VHcm91cCA/IGdldFBvdGVudGlhbEJ1eWVyc0RhdGE/LnBvdGVudGlhbEJ1eWVycz8ucG90ZW50aWFsQnV5ZXJzU2luZ2xlPy5hZ2VHcm91cDonLS0nfX0gYWdlPC9zcGFuPjwvZGl2PlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvZGl2PlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxkaXYgY2xhc3M9XCJjYXJkLWZvb3RlciBtcy0yIHAtMFwiPlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8ZGl2IGNsYXNzPVwiY29sLW1kLTEyXCI+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8c3BhbiBjbGFzcz1cIm10LTJcIj5cclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8c3ZnICpuZ0lmPVwiIWdldFBvdGVudGlhbEJ1eWVyc0RhdGE/LnBvdGVudGlhbEJ1eWVycz8ucG90ZW50aWFsQnV5ZXJzU2luZ2xlPy5QcmV2aW91c1ZhcmlhdGlvblwiIHhtbG5zPVwiaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmdcIiB3aWR0aD1cIjE4XCJcclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBoZWlnaHQ9XCIxOFwiIHZpZXdCb3g9XCIwIDAgMTggMThcIiBmaWxsPVwibm9uZVwiPlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxnIGNsaXAtcGF0aD1cInVybCgjY2xpcDBfMjMyOF80NjU0KVwiPlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8cGF0aCBkPVwiTTExLjUgOUw2Ljc1IDQuMjVMNC4yNSA2Ljc1TDAuNSAzTTExLjUgOUg4LjVNMTEuNSA5VjZcIiBzdHJva2U9XCIjRDkyRDIwXCIgc3Ryb2tlLXdpZHRoPVwiMS41XCJcclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHN0cm9rZS1saW5lY2FwPVwicm91bmRcIiBzdHJva2UtbGluZWpvaW49XCJyb3VuZFwiIC8+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPC9nPlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxkZWZzPlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8Y2xpcFBhdGggaWQ9XCJjbGlwMF8yMzI4XzQ2NTRcIj5cclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxyZWN0IHdpZHRoPVwiMTJcIiBoZWlnaHQ9XCIxMlwiIGZpbGw9XCJ3aGl0ZVwiIC8+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvY2xpcFBhdGg+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPC9kZWZzPlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPC9zdmc+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8c3ZnICpuZ0lmPVwiZ2V0UG90ZW50aWFsQnV5ZXJzRGF0YT8ucG90ZW50aWFsQnV5ZXJzPy5wb3RlbnRpYWxCdXllcnNTaW5nbGU/LlByZXZpb3VzVmFyaWF0aW9uXCIgeG1sbnM9XCJodHRwOi8vd3d3LnczLm9yZy8yMDAwL3N2Z1wiIHdpZHRoPVwiMTJcIiBoZWlnaHQ9XCIxMlwiXHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgdmlld0JveD1cIjAgMCAxMiAxMlwiIGZpbGw9XCJub25lXCI+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGcgY2xpcC1wYXRoPVwidXJsKCNjbGlwMF8zMjE2XzExOClcIj5cclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPHBhdGggZD1cIk0xMS41IDNMNi43NSA3Ljc1TDQuMjUgNS4yNUwwLjUgOU0xMS41IDNIOC41TTExLjUgM1Y2XCIgc3Ryb2tlPVwiIzAzOTg1NVwiIHN0cm9rZS13aWR0aD1cIjEuNVwiXHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBzdHJva2UtbGluZWNhcD1cInJvdW5kXCIgc3Ryb2tlLWxpbmVqb2luPVwicm91bmRcIiAvPlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvZz5cclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8ZGVmcz5cclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGNsaXBQYXRoIGlkPVwiY2xpcDBfMzIxNl8xMThcIj5cclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxyZWN0IHdpZHRoPVwiMTJcIiBoZWlnaHQ9XCIxMlwiIGZpbGw9XCJ3aGl0ZVwiIC8+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvY2xpcFBhdGg+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPC9kZWZzPlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPC9zdmc+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8L3NwYW4+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8c3BhbiBjbGFzcz1cIm10LTIgbXMtMlwiPlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxzcGFuICpuZ0lmPVwiZ2V0UG90ZW50aWFsQnV5ZXJzRGF0YT8ucG90ZW50aWFsQnV5ZXJzPy5wb3RlbnRpYWxCdXllcnNTaW5nbGU/LlByZXZpb3VzRGF0YSA9PT0wXCIgY2xhc3M9XCJwZXJjZW50LXZhbHVlXCI+MCU8L3NwYW4+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPHNwYW4gKm5nSWY9XCJnZXRQb3RlbnRpYWxCdXllcnNEYXRhPy5wb3RlbnRpYWxCdXllcnM/LnBvdGVudGlhbEJ1eWVyc1NpbmdsZT8uUHJldmlvdXNEYXRhICE9PTBcIiBjbGFzcz1cInBlcmNlbnQtdmFsdWVcIj57e2dldFBvdGVudGlhbEJ1eWVyc0RhdGE/LnBvdGVudGlhbEJ1eWVycz8ucG90ZW50aWFsQnV5ZXJzU2luZ2xlPy5QcmV2aW91c0RhdGEgPyBnZXRQb3RlbnRpYWxCdXllcnNEYXRhPy5wb3RlbnRpYWxCdXllcnM/LnBvdGVudGlhbEJ1eWVyc1NpbmdsZT8uUHJldmlvdXNEYXRhOictLSd9fSU8L3NwYW4+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPHNwYW5cclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgY2xhc3M9XCJ3ZWVrLWZvbnRcIj4gdnMgUHJldmlvdXMgIDxzcGFuICpuZ0lmPVwiZGF0ZVR5cGUgPT09J2RhaWx5J1wiPmRheTwvc3Bhbj48c3BhbiAqbmdJZj1cImRhdGVUeXBlID09PSd3ZWVrbHknXCI+d2Vlazwvc3Bhbj4gPHNwYW4gKm5nSWY9XCJkYXRlVHlwZSA9PT0nbW9udGhseSdcIj5tb250aDwvc3Bhbj48L3NwYW4+XHJcblxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPC9zcGFuPlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8L2Rpdj5cclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8L2Rpdj5cclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8L2Rpdj5cclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8ZGl2IGNsYXNzPVwiY29sLW1kLTYgcHgtMCBwb3NpdGlvbi1yZWxhdGl2ZVwiPlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8ZGl2IGNsYXNzPVwiY2FyZC1ib2R5IHAtMFwiPlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGRpdiBjbGFzcz1cInRleHQtc3RhcnQgbXMtMTAgbXQtNyBtYi0zXCI+PHNwYW4+IDxzdmcgd2lkdGg9XCIyNlwiIGhlaWdodD1cIjI0XCIgdmlld0JveD1cIjAgMCAyNiAyNFwiIGZpbGw9XCJub25lXCIgeG1sbnM9XCJodHRwOi8vd3d3LnczLm9yZy8yMDAwL3N2Z1wiPlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxyZWN0IHdpZHRoPVwiMjZcIiBoZWlnaHQ9XCIyNFwiIGZpbGw9XCIjRENEQ0RDXCIvPlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxyZWN0IHg9XCItNDYwLjVcIiB5PVwiLTM0MC41XCIgd2lkdGg9XCI3ODNcIiBoZWlnaHQ9XCIxOTQ3XCIgcng9XCI0LjVcIiBzdHJva2U9XCIjOTc0N0ZGXCIgc3Ryb2tlLWRhc2hhcnJheT1cIjEwIDVcIi8+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPG1hc2sgaWQ9XCJwYXRoLTItaW5zaWRlLTFfNzA3XzEzMTA2XCIgZmlsbD1cIndoaXRlXCI+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPHBhdGggZD1cIk0tMTg5IC04OUMtMTg5IC05NS42Mjc0IC0xODMuNjI3IC0xMDEgLTE3NyAtMTAxSDI5NUMzMDEuNjI3IC0xMDEgMzA3IC05NS42Mjc0IDMwNyAtODlWODVDMzA3IDkxLjYyNzQgMzAxLjYyNyA5NyAyOTUgOTdILTE3N0MtMTgzLjYyNyA5NyAtMTg5IDkxLjYyNzQgLTE4OSA4NVYtODlaXCIvPlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvbWFzaz5cclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8cGF0aCBkPVwiTS0xODkgLTg5Qy0xODkgLTk1LjYyNzQgLTE4My42MjcgLTEwMSAtMTc3IC0xMDFIMjk1QzMwMS42MjcgLTEwMSAzMDcgLTk1LjYyNzQgMzA3IC04OVY4NUMzMDcgOTEuNjI3NCAzMDEuNjI3IDk3IDI5NSA5N0gtMTc3Qy0xODMuNjI3IDk3IC0xODkgOTEuNjI3NCAtMTg5IDg1Vi04OVpcIiBmaWxsPVwid2hpdGVcIi8+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPHBhdGggZD1cIk0tMTkwIC04OUMtMTkwIC05Ni4xNzk3IC0xODQuMTggLTEwMiAtMTc3IC0xMDJIMjk0QzMwMS4xOCAtMTAyIDMwNyAtOTYuMTc5NyAzMDcgLTg5QzMwNyAtOTUuMDc1MSAzMDEuNjI3IC0xMDAgMjk1IC0xMDBILTE3N0MtMTgzLjA3NSAtMTAwIC0xODggLTk1LjA3NTEgLTE4OCAtODlILTE5MFpNMzA3IDg1QzMwNyA5Mi4xNzk3IDMwMS4xOCA5OCAyOTQgOThILTE3N0MtMTg0LjE4IDk4IC0xOTAgOTIuMTc5NyAtMTkwIDg1SC0xODhDLTE4OCA5MS4wNzUxIC0xODMuMDc1IDk2IC0xNzcgOTZIMjk1QzMwMS42MjcgOTYgMzA3IDkxLjA3NTEgMzA3IDg1Wk0tMTc3IDk4Qy0xODQuMTggOTggLTE5MCA5Mi4xNzk3IC0xOTAgODVWLTg5Qy0xOTAgLTk2LjE3OTcgLTE4NC4xOCAtMTAyIC0xNzcgLTEwMlYtMTAwQy0xODMuMDc1IC0xMDAgLTE4OCAtOTUuMDc1MSAtMTg4IC04OVY4NUMtMTg4IDkxLjA3NTEgLTE4My4wNzUgOTYgLTE3NyA5NlY5OFpNMzA3IC0xMDFWOTdWLTEwMVpcIiBmaWxsPVwiI0QwRDVERFwiIG1hc2s9XCJ1cmwoI3BhdGgtMi1pbnNpZGUtMV83MDdfMTMxMDYpXCIvPlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxtYXNrIGlkPVwicGF0aC02LWluc2lkZS0yXzcwN18xMzEwNlwiIGZpbGw9XCJ3aGl0ZVwiPlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxwYXRoIGQ9XCJNNy43MTA2NCA3LjM4NDYyQzguMTk1NTIgNy4zODQ2MiA4LjY3NTY1IDcuMjg5MTEgOS4xMjM2MiA3LjEwMzU2QzkuNTcxNTkgNi45MTggOS45Nzg2MyA2LjY0NjAzIDEwLjMyMTUgNi4zMDMxNkMxMC42NjQ0IDUuOTYwMyAxMC45MzYzIDUuNTUzMjYgMTEuMTIxOSA1LjEwNTI5QzExLjMwNzQgNC42NTczMiAxMS40MDI5IDQuMTc3MTkgMTEuNDAyOSAzLjY5MjMxQzExLjQwMjkgMy4yMDc0MyAxMS4zMDc0IDIuNzI3MjkgMTEuMTIxOSAyLjI3OTMyQzEwLjkzNjMgMS44MzEzNSAxMC42NjQ0IDEuNDI0MzEgMTAuMzIxNSAxLjA4MTQ1QzkuOTc4NjMgMC43Mzg1OSA5LjU3MTU5IDAuNDY2NjE2IDkuMTIzNjIgMC4yODEwNkM4LjY3NTY1IDAuMDk1NTA0MyA4LjE5NTUyIC03LjIyNTI5ZS0wOSA3LjcxMDY0IDBDNi43MzEzOCAxLjQ1OTIxZS0wOCA1Ljc5MjIyIDAuMzg5MDEgNS4wOTk3OCAxLjA4MTQ1QzQuNDA3MzQgMS43NzM4OSA0LjAxODMzIDIuNzEzMDUgNC4wMTgzMyAzLjY5MjMxQzQuMDE4MzMgNC42NzE1NyA0LjQwNzM0IDUuNjEwNzIgNS4wOTk3OCA2LjMwMzE2QzUuNzkyMjIgNi45OTU2MSA2LjczMTM4IDcuMzg0NjIgNy43MTA2NCA3LjM4NDYyWk0xOC43ODc2IDcuMzg0NjJDMTkuMjcyNCA3LjM4NDYyIDE5Ljc1MjYgNy4yODkxMSAyMC4yMDA1IDcuMTAzNTZDMjAuNjQ4NSA2LjkxOCAyMS4wNTU2IDYuNjQ2MDMgMjEuMzk4NCA2LjMwMzE2QzIxLjc0MTMgNS45NjAzIDIyLjAxMzMgNS41NTMyNiAyMi4xOTg4IDUuMTA1MjlDMjIuMzg0NCA0LjY1NzMyIDIyLjQ3OTkgNC4xNzcxOSAyMi40Nzk5IDMuNjkyMzFDMjIuNDc5OSAzLjIwNzQzIDIyLjM4NDQgMi43MjcyOSAyMi4xOTg4IDIuMjc5MzJDMjIuMDEzMyAxLjgzMTM1IDIxLjc0MTMgMS40MjQzMSAyMS4zOTg0IDEuMDgxNDVDMjEuMDU1NiAwLjczODU5IDIwLjY0ODUgMC40NjY2MTYgMjAuMjAwNSAwLjI4MTA2QzE5Ljc1MjYgMC4wOTU1MDQzIDE5LjI3MjQgLTcuMjI1MjllLTA5IDE4Ljc4NzYgMEMxNy44MDgzIDEuNDU5MjFlLTA4IDE2Ljg2OTEgMC4zODkwMSAxNi4xNzY3IDEuMDgxNDVDMTUuNDg0MyAxLjc3Mzg5IDE1LjA5NTMgMi43MTMwNSAxNS4wOTUzIDMuNjkyMzFDMTUuMDk1MyA0LjY3MTU3IDE1LjQ4NDMgNS42MTA3MiAxNi4xNzY3IDYuMzAzMTZDMTYuODY5MSA2Ljk5NTYxIDE3LjgwODMgNy4zODQ2MiAxOC43ODc2IDcuMzg0NjJaTTAuOTQxNDA2IDEwLjczNkMwLjk0MTQwNiAxMC40NTc1IDAuOTk2MjU4IDEwLjE4MTggMS4xMDI4MyA5LjkyNDQ4QzEuMjA5NCA5LjY2NzE5IDEuMzY1NiA5LjQzMzQyIDEuNTYyNTIgOS4yMzY1QzEuNzU5NDQgOS4wMzk1OCAxLjk5MzIxIDguODgzMzggMi4yNTA1IDguNzc2ODFDMi41MDc3OCA4LjY3MDI0IDIuNzgzNTQgOC42MTUzOSAzLjA2MjAyIDguNjE1MzlIOC45ODQ0OEM4LjU1MTY5IDkuMzYzNDUgOC4zMjQ1MiAxMC4yMTI3IDguMzI2MDIgMTEuMDc2OUM4LjMyNTE5IDExLjc3NTUgOC40NzM0MSAxMi40NjYyIDguNzYwNzkgMTMuMTAyOUM5LjA0ODE2IDEzLjczOTYgOS40NjgwNyAxNC4zMDc3IDkuOTkyNDggMTQuNzY5Mkg4LjYwMDQ4QzguMDE0MTggMTQuNzY4NyA3LjQzODAzIDE0LjkyMjIgNi45Mjk2OSAxNS4yMTQ0QzYuNDIxMzQgMTUuNTA2NSA1Ljk5ODY0IDE1LjkyNyA1LjcwMzg3IDE2LjQzMzhDMy43MjExIDE2LjA0NDkgMi41MTYxOCAxNS4wNzgyIDEuODE0NjQgMTMuOTkyQzAuOTQxNDA2IDEyLjY0IDAuOTQxNDA2IDExLjI0MzEgMC45NDE0MDYgMTEuMDAxMlYxMC43MzZaTTE3Ljg5NzcgMTQuNzY5MkMxOC40ODQgMTQuNzY4NyAxOS4wNjAyIDE0LjkyMjIgMTkuNTY4NSAxNS4yMTQ0QzIwLjA3NjkgMTUuNTA2NSAyMC40OTk2IDE1LjkyNyAyMC43OTQzIDE2LjQzMzhDMjIuNzc3MSAxNi4wNDQ5IDIzLjk4MiAxNS4wNzgyIDI0LjY4MzYgMTMuOTkyQzI1LjU1NjggMTIuNjQgMjUuNTU2OCAxMS4yNDMxIDI1LjU1NjggMTEuMDAxMlYxMC43MzY2QzI1LjU1NjkgMTAuNDU4MSAyNS41MDIxIDEwLjE4MjMgMjUuMzk1NSA5LjkyNDlDMjUuMjg5IDkuNjY3NTUgMjUuMTMyOCA5LjQzMzcgMjQuOTM1OSA5LjIzNjcyQzI0LjczOSA5LjAzOTczIDI0LjUwNTIgOC44ODM0OCAyNC4yNDc4IDguNzc2ODdDMjMuOTkwNSA4LjY3MDI2IDIzLjcxNDcgOC42MTUzOSAyMy40MzYyIDguNjE1MzlIMTcuNTEzN0MxNy45NDY1IDkuMzYzNDUgMTguMTczNyAxMC4yMTI3IDE4LjE3MjIgMTEuMDc2OUMxOC4xNzMgMTEuNzc1NSAxOC4wMjQ4IDEyLjQ2NjIgMTcuNzM3NCAxMy4xMDI5QzE3LjQ1IDEzLjczOTYgMTcuMDMwMSAxNC4zMDc3IDE2LjUwNTcgMTQuNzY5MkgxNy44OTc3Wk0xNi45NDE0IDExLjA3NjlDMTYuOTQxNCAxMi4wNTYyIDE2LjU1MjQgMTIuOTk1MyAxNS44NiAxMy42ODc4QzE1LjE2NzUgMTQuMzgwMiAxNC4yMjg0IDE0Ljc2OTIgMTMuMjQ5MSAxNC43NjkyQzEyLjI2OTggMTQuNzY5MiAxMS4zMzA3IDE0LjM4MDIgMTAuNjM4MiAxMy42ODc4QzkuOTQ1OCAxMi45OTUzIDkuNTU2NzkgMTIuMDU2MiA5LjU1Njc5IDExLjA3NjlDOS41NTY3OSAxMC4wOTc3IDkuOTQ1OCA5LjE1ODUxIDEwLjYzODIgOC40NjYwN0MxMS4zMzA3IDcuNzczNjMgMTIuMjY5OCA3LjM4NDYyIDEzLjI0OTEgNy4zODQ2MkMxNC4yMjg0IDcuMzg0NjIgMTUuMTY3NSA3Ljc3MzYzIDE1Ljg2IDguNDY2MDdDMTYuNTUyNCA5LjE1ODUxIDE2Ljk0MTQgMTAuMDk3NyAxNi45NDE0IDExLjA3NjlaTTYuNDc5ODcgMTguMTIwNkM2LjQ3OTg3IDE3LjU1ODIgNi43MDMyOSAxNy4wMTg4IDcuMTAwOTggMTYuNjIxMUM3LjQ5ODY3IDE2LjIyMzQgOC4wMzgwNiAxNiA4LjYwMDQ4IDE2SDE3Ljg5NzdDMTguNDYwMSAxNiAxOC45OTk1IDE2LjIyMzQgMTkuMzk3MiAxNi42MjExQzE5Ljc5NDkgMTcuMDE4OCAyMC4wMTgzIDE3LjU1ODIgMjAuMDE4MyAxOC4xMjA2VjE4LjM4NThDMjAuMDE4MyAxOC42MjgzIDIwLjAxODMgMjAuMDI0NiAxOS4xNDUxIDIxLjM3NjZDMTguMjMyNSAyMi43ODk1IDE2LjQ2OTQgMjQgMTMuMjQ5MSAyNEMxMC4wMjg4IDI0IDguMjY1NzEgMjIuNzg5NSA3LjM1MzEgMjEuMzc2NkM2LjQ3OTg3IDIwLjAyNDYgNi40Nzk4NyAxOC42Mjc3IDYuNDc5ODcgMTguMzg1OFYxOC4xMjA2WlwiLz5cclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8L21hc2s+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPHBhdGggZD1cIk03LjcxMDY0IDcuMzg0NjJDOC4xOTU1MiA3LjM4NDYyIDguNjc1NjUgNy4yODkxMSA5LjEyMzYyIDcuMTAzNTZDOS41NzE1OSA2LjkxOCA5Ljk3ODYzIDYuNjQ2MDMgMTAuMzIxNSA2LjMwMzE2QzEwLjY2NDQgNS45NjAzIDEwLjkzNjMgNS41NTMyNiAxMS4xMjE5IDUuMTA1MjlDMTEuMzA3NCA0LjY1NzMyIDExLjQwMjkgNC4xNzcxOSAxMS40MDI5IDMuNjkyMzFDMTEuNDAyOSAzLjIwNzQzIDExLjMwNzQgMi43MjcyOSAxMS4xMjE5IDIuMjc5MzJDMTAuOTM2MyAxLjgzMTM1IDEwLjY2NDQgMS40MjQzMSAxMC4zMjE1IDEuMDgxNDVDOS45Nzg2MyAwLjczODU5IDkuNTcxNTkgMC40NjY2MTYgOS4xMjM2MiAwLjI4MTA2QzguNjc1NjUgMC4wOTU1MDQzIDguMTk1NTIgLTcuMjI1MjllLTA5IDcuNzEwNjQgMEM2LjczMTM4IDEuNDU5MjFlLTA4IDUuNzkyMjIgMC4zODkwMSA1LjA5OTc4IDEuMDgxNDVDNC40MDczNCAxLjc3Mzg5IDQuMDE4MzMgMi43MTMwNSA0LjAxODMzIDMuNjkyMzFDNC4wMTgzMyA0LjY3MTU3IDQuNDA3MzQgNS42MTA3MiA1LjA5OTc4IDYuMzAzMTZDNS43OTIyMiA2Ljk5NTYxIDYuNzMxMzggNy4zODQ2MiA3LjcxMDY0IDcuMzg0NjJaTTE4Ljc4NzYgNy4zODQ2MkMxOS4yNzI0IDcuMzg0NjIgMTkuNzUyNiA3LjI4OTExIDIwLjIwMDUgNy4xMDM1NkMyMC42NDg1IDYuOTE4IDIxLjA1NTYgNi42NDYwMyAyMS4zOTg0IDYuMzAzMTZDMjEuNzQxMyA1Ljk2MDMgMjIuMDEzMyA1LjU1MzI2IDIyLjE5ODggNS4xMDUyOUMyMi4zODQ0IDQuNjU3MzIgMjIuNDc5OSA0LjE3NzE5IDIyLjQ3OTkgMy42OTIzMUMyMi40Nzk5IDMuMjA3NDMgMjIuMzg0NCAyLjcyNzI5IDIyLjE5ODggMi4yNzkzMkMyMi4wMTMzIDEuODMxMzUgMjEuNzQxMyAxLjQyNDMxIDIxLjM5ODQgMS4wODE0NUMyMS4wNTU2IDAuNzM4NTkgMjAuNjQ4NSAwLjQ2NjYxNiAyMC4yMDA1IDAuMjgxMDZDMTkuNzUyNiAwLjA5NTUwNDMgMTkuMjcyNCAtNy4yMjUyOWUtMDkgMTguNzg3NiAwQzE3LjgwODMgMS40NTkyMWUtMDggMTYuODY5MSAwLjM4OTAxIDE2LjE3NjcgMS4wODE0NUMxNS40ODQzIDEuNzczODkgMTUuMDk1MyAyLjcxMzA1IDE1LjA5NTMgMy42OTIzMUMxNS4wOTUzIDQuNjcxNTcgMTUuNDg0MyA1LjYxMDcyIDE2LjE3NjcgNi4zMDMxNkMxNi44NjkxIDYuOTk1NjEgMTcuODA4MyA3LjM4NDYyIDE4Ljc4NzYgNy4zODQ2MlpNMC45NDE0MDYgMTAuNzM2QzAuOTQxNDA2IDEwLjQ1NzUgMC45OTYyNTggMTAuMTgxOCAxLjEwMjgzIDkuOTI0NDhDMS4yMDk0IDkuNjY3MTkgMS4zNjU2IDkuNDMzNDIgMS41NjI1MiA5LjIzNjVDMS43NTk0NCA5LjAzOTU4IDEuOTkzMjEgOC44ODMzOCAyLjI1MDUgOC43NzY4MUMyLjUwNzc4IDguNjcwMjQgMi43ODM1NCA4LjYxNTM5IDMuMDYyMDIgOC42MTUzOUg4Ljk4NDQ4QzguNTUxNjkgOS4zNjM0NSA4LjMyNDUyIDEwLjIxMjcgOC4zMjYwMiAxMS4wNzY5QzguMzI1MTkgMTEuNzc1NSA4LjQ3MzQxIDEyLjQ2NjIgOC43NjA3OSAxMy4xMDI5QzkuMDQ4MTYgMTMuNzM5NiA5LjQ2ODA3IDE0LjMwNzcgOS45OTI0OCAxNC43NjkySDguNjAwNDhDOC4wMTQxOCAxNC43Njg3IDcuNDM4MDMgMTQuOTIyMiA2LjkyOTY5IDE1LjIxNDRDNi40MjEzNCAxNS41MDY1IDUuOTk4NjQgMTUuOTI3IDUuNzAzODcgMTYuNDMzOEMzLjcyMTEgMTYuMDQ0OSAyLjUxNjE4IDE1LjA3ODIgMS44MTQ2NCAxMy45OTJDMC45NDE0MDYgMTIuNjQgMC45NDE0MDYgMTEuMjQzMSAwLjk0MTQwNiAxMS4wMDEyVjEwLjczNlpNMTcuODk3NyAxNC43NjkyQzE4LjQ4NCAxNC43Njg3IDE5LjA2MDIgMTQuOTIyMiAxOS41Njg1IDE1LjIxNDRDMjAuMDc2OSAxNS41MDY1IDIwLjQ5OTYgMTUuOTI3IDIwLjc5NDMgMTYuNDMzOEMyMi43NzcxIDE2LjA0NDkgMjMuOTgyIDE1LjA3ODIgMjQuNjgzNiAxMy45OTJDMjUuNTU2OCAxMi42NCAyNS41NTY4IDExLjI0MzEgMjUuNTU2OCAxMS4wMDEyVjEwLjczNjZDMjUuNTU2OSAxMC40NTgxIDI1LjUwMjEgMTAuMTgyMyAyNS4zOTU1IDkuOTI0OUMyNS4yODkgOS42Njc1NSAyNS4xMzI4IDkuNDMzNyAyNC45MzU5IDkuMjM2NzJDMjQuNzM5IDkuMDM5NzMgMjQuNTA1MiA4Ljg4MzQ4IDI0LjI0NzggOC43NzY4N0MyMy45OTA1IDguNjcwMjYgMjMuNzE0NyA4LjYxNTM5IDIzLjQzNjIgOC42MTUzOUgxNy41MTM3QzE3Ljk0NjUgOS4zNjM0NSAxOC4xNzM3IDEwLjIxMjcgMTguMTcyMiAxMS4wNzY5QzE4LjE3MyAxMS43NzU1IDE4LjAyNDggMTIuNDY2MiAxNy43Mzc0IDEzLjEwMjlDMTcuNDUgMTMuNzM5NiAxNy4wMzAxIDE0LjMwNzcgMTYuNTA1NyAxNC43NjkySDE3Ljg5NzdaTTE2Ljk0MTQgMTEuMDc2OUMxNi45NDE0IDEyLjA1NjIgMTYuNTUyNCAxMi45OTUzIDE1Ljg2IDEzLjY4NzhDMTUuMTY3NSAxNC4zODAyIDE0LjIyODQgMTQuNzY5MiAxMy4yNDkxIDE0Ljc2OTJDMTIuMjY5OCAxNC43NjkyIDExLjMzMDcgMTQuMzgwMiAxMC42MzgyIDEzLjY4NzhDOS45NDU4IDEyLjk5NTMgOS41NTY3OSAxMi4wNTYyIDkuNTU2NzkgMTEuMDc2OUM5LjU1Njc5IDEwLjA5NzcgOS45NDU4IDkuMTU4NTEgMTAuNjM4MiA4LjQ2NjA3QzExLjMzMDcgNy43NzM2MyAxMi4yNjk4IDcuMzg0NjIgMTMuMjQ5MSA3LjM4NDYyQzE0LjIyODQgNy4zODQ2MiAxNS4xNjc1IDcuNzczNjMgMTUuODYgOC40NjYwN0MxNi41NTI0IDkuMTU4NTEgMTYuOTQxNCAxMC4wOTc3IDE2Ljk0MTQgMTEuMDc2OVpNNi40Nzk4NyAxOC4xMjA2QzYuNDc5ODcgMTcuNTU4MiA2LjcwMzI5IDE3LjAxODggNy4xMDA5OCAxNi42MjExQzcuNDk4NjcgMTYuMjIzNCA4LjAzODA2IDE2IDguNjAwNDggMTZIMTcuODk3N0MxOC40NjAxIDE2IDE4Ljk5OTUgMTYuMjIzNCAxOS4zOTcyIDE2LjYyMTFDMTkuNzk0OSAxNy4wMTg4IDIwLjAxODMgMTcuNTU4MiAyMC4wMTgzIDE4LjEyMDZWMTguMzg1OEMyMC4wMTgzIDE4LjYyODMgMjAuMDE4MyAyMC4wMjQ2IDE5LjE0NTEgMjEuMzc2NkMxOC4yMzI1IDIyLjc4OTUgMTYuNDY5NCAyNCAxMy4yNDkxIDI0QzEwLjAyODggMjQgOC4yNjU3MSAyMi43ODk1IDcuMzUzMSAyMS4zNzY2QzYuNDc5ODcgMjAuMDI0NiA2LjQ3OTg3IDE4LjYyNzcgNi40Nzk4NyAxOC4zODU4VjE4LjEyMDZaXCIgc3Ryb2tlPVwiIzk4QTJCM1wiIHN0cm9rZS13aWR0aD1cIjNcIiBtYXNrPVwidXJsKCNwYXRoLTYtaW5zaWRlLTJfNzA3XzEzMTA2KVwiLz5cclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8L3N2Zz48L3NwYW4+PHNwYW4gKm5nSWY9XCJnZXRQb3RlbnRpYWxCdXllcnNEYXRhPy5wb3RlbnRpYWxCdXllcnM/LnBvdGVudGlhbEJ1eWVyc0dyb3VwPy5jb3VudCAhPT0wXCIgY2xhc3M9XCJsZWZ0LWNhcmQtY291bnQgbXMtMSBtdC0yXCI+e3tnZXRQb3RlbnRpYWxCdXllcnNEYXRhPy5wb3RlbnRpYWxCdXllcnM/LnBvdGVudGlhbEJ1eWVyc0dyb3VwPy5jb3VudCA/IGdldFBvdGVudGlhbEJ1eWVyc0RhdGE/LnBvdGVudGlhbEJ1eWVycz8ucG90ZW50aWFsQnV5ZXJzR3JvdXA/LmNvdW50LnRvTG9jYWxlU3RyaW5nKCdlbi1JTicpOictLSd9fTwvc3Bhbj4gXHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPHNwYW4gKm5nSWY9XCJnZXRQb3RlbnRpYWxCdXllcnNEYXRhPy5wb3RlbnRpYWxCdXllcnM/LnBvdGVudGlhbEJ1eWVyc0dyb3VwPy5jb3VudCA9PT0wXCIgY2xhc3M9XCJsZWZ0LWNhcmQtY291bnQgbXMtMSBtdC0yXCI+MDwvc3Bhbj5cclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8c3BhbiBjbGFzcz1cImxlZnQtY2FyZC1jb3VudC1oZWFkZXIgbXMtMVwiPkdyb3VwPC9zcGFuPjwvZGl2PlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8ZGl2IGNsYXNzPVwidGV4dC1zdGFydCBtcy0xNSBtYi0zXCI+PHNwYW4gY2xhc3M9XCJiYWRnZSBiYWRnZS1saWdodC1kZWZhdWx0IHdlZWstZm9udFwiPnt7Z2V0UG90ZW50aWFsQnV5ZXJzRGF0YT8ucG90ZW50aWFsQnV5ZXJzPy5wb3RlbnRpYWxCdXllcnNHcm91cD8uYWdlR3JvdXAgPyBnZXRQb3RlbnRpYWxCdXllcnNEYXRhPy5wb3RlbnRpYWxCdXllcnM/LnBvdGVudGlhbEJ1eWVyc0dyb3VwPy5hZ2VHcm91cDonLS0nfX0gYWdlPC9zcGFuPjwvZGl2PlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIFxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPC9kaXY+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxkaXYgY2xhc3M9XCJjYXJkLWZvb3RlciBtcy0yIHAtMFwiPlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGRpdiBjbGFzcz1cImNvbC1tZC0xMlwiPlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxzcGFuIGNsYXNzPVwibXQtMlwiPlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8c3ZnICpuZ0lmPVwiIWdldFBvdGVudGlhbEJ1eWVyc0RhdGE/LnBvdGVudGlhbEJ1eWVycz8ucG90ZW50aWFsQnV5ZXJzR3JvdXA/LlByZXZpb3VzVmFyaWF0aW9uXCIgeG1sbnM9XCJodHRwOi8vd3d3LnczLm9yZy8yMDAwL3N2Z1wiIHdpZHRoPVwiMThcIlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBoZWlnaHQ9XCIxOFwiIHZpZXdCb3g9XCIwIDAgMTggMThcIiBmaWxsPVwibm9uZVwiPlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8ZyBjbGlwLXBhdGg9XCJ1cmwoI2NsaXAwXzIzMjhfNDY1NClcIj5cclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxwYXRoIGQ9XCJNMTEuNSA5TDYuNzUgNC4yNUw0LjI1IDYuNzVMMC41IDNNMTEuNSA5SDguNU0xMS41IDlWNlwiIHN0cm9rZT1cIiNEOTJEMjBcIiBzdHJva2Utd2lkdGg9XCIxLjVcIlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHN0cm9rZS1saW5lY2FwPVwicm91bmRcIiBzdHJva2UtbGluZWpvaW49XCJyb3VuZFwiIC8+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvZz5cclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGRlZnM+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8Y2xpcFBhdGggaWQ9XCJjbGlwMF8yMzI4XzQ2NTRcIj5cclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8cmVjdCB3aWR0aD1cIjEyXCIgaGVpZ2h0PVwiMTJcIiBmaWxsPVwid2hpdGVcIiAvPlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPC9jbGlwUGF0aD5cclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPC9kZWZzPlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvc3ZnPlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxzdmcgKm5nSWY9XCJnZXRQb3RlbnRpYWxCdXllcnNEYXRhPy5wb3RlbnRpYWxCdXllcnM/LnBvdGVudGlhbEJ1eWVyc0dyb3VwPy5QcmV2aW91c1ZhcmlhdGlvblwiIHhtbG5zPVwiaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmdcIiB3aWR0aD1cIjEyXCIgaGVpZ2h0PVwiMTJcIlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB2aWV3Qm94PVwiMCAwIDEyIDEyXCIgZmlsbD1cIm5vbmVcIj5cclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGcgY2xpcC1wYXRoPVwidXJsKCNjbGlwMF8zMjE2XzExOClcIj5cclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxwYXRoIGQ9XCJNMTEuNSAzTDYuNzUgNy43NUw0LjI1IDUuMjVMMC41IDlNMTEuNSAzSDguNU0xMS41IDNWNlwiIHN0cm9rZT1cIiMwMzk4NTVcIiBzdHJva2Utd2lkdGg9XCIxLjVcIlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHN0cm9rZS1saW5lY2FwPVwicm91bmRcIiBzdHJva2UtbGluZWpvaW49XCJyb3VuZFwiIC8+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvZz5cclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGRlZnM+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8Y2xpcFBhdGggaWQ9XCJjbGlwMF8zMjE2XzExOFwiPlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxyZWN0IHdpZHRoPVwiMTJcIiBoZWlnaHQ9XCIxMlwiIGZpbGw9XCJ3aGl0ZVwiIC8+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8L2NsaXBQYXRoPlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8L2RlZnM+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPC9zdmc+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPC9zcGFuPlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxzcGFuIGNsYXNzPVwibXQtMiBtcy0yXCI+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxzcGFuICpuZ0lmPVwiZ2V0UG90ZW50aWFsQnV5ZXJzRGF0YT8ucG90ZW50aWFsQnV5ZXJzPy5wb3RlbnRpYWxCdXllcnNHcm91cD8uUHJldmlvdXNEYXRhID09PTBcIiBjbGFzcz1cInBlcmNlbnQtdmFsdWVcIj4wJTwvc3Bhbj5cclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPHNwYW4gKm5nSWY9XCJnZXRQb3RlbnRpYWxCdXllcnNEYXRhPy5wb3RlbnRpYWxCdXllcnM/LnBvdGVudGlhbEJ1eWVyc0dyb3VwPy5QcmV2aW91c0RhdGEgIT09MFwiIGNsYXNzPVwicGVyY2VudC12YWx1ZVwiPnt7Z2V0UG90ZW50aWFsQnV5ZXJzRGF0YT8ucG90ZW50aWFsQnV5ZXJzPy5wb3RlbnRpYWxCdXllcnNHcm91cD8uUHJldmlvdXNEYXRhID8gZ2V0UG90ZW50aWFsQnV5ZXJzRGF0YT8ucG90ZW50aWFsQnV5ZXJzPy5wb3RlbnRpYWxCdXllcnNHcm91cD8uUHJldmlvdXNEYXRhOictLSd9fSU8L3NwYW4+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxzcGFuXHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBjbGFzcz1cIndlZWstZm9udFwiPiB2cyBQcmV2aW91cyAgPHNwYW4gKm5nSWY9XCJkYXRlVHlwZSA9PT0nZGFpbHknXCI+ZGF5PC9zcGFuPjxzcGFuICpuZ0lmPVwiZGF0ZVR5cGUgPT09J3dlZWtseSdcIj53ZWVrPC9zcGFuPiA8c3BhbiAqbmdJZj1cImRhdGVUeXBlID09PSdtb250aGx5J1wiPm1vbnRoPC9zcGFuPjwvc3Bhbj5cclxuICAgIFxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvc3Bhbj5cclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvZGl2PlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8L2Rpdj5cclxuXHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxkaXYgY2xhc3M9XCJwb3NpdGlvbi1hYnNvbHV0ZSBtdC01IGVuZC0wXCI+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8c3ZnIHhtbG5zPVwiaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmdcIiB3aWR0aD1cIjE2XCIgaGVpZ2h0PVwiMTZcIiB2aWV3Qm94PVwiMCAwIDE2IDE2XCIgZmlsbD1cIm5vbmVcIj5cclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8cGF0aCBkPVwiTTYgMTJMMTAgOEw2IDRcIiBzdHJva2U9XCIjOThBMkIzXCIgc3Ryb2tlLXdpZHRoPVwiMlwiIHN0cm9rZS1saW5lY2FwPVwicm91bmRcIiBzdHJva2UtbGluZWpvaW49XCJyb3VuZFwiLz5cclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8L3N2Zz5cclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8L2Rpdj5cclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPC9kaXY+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvZGl2PlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8L2Rpdj5cclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGRpdiBjbGFzcz1cImNvbC1tZC0zIHB4LTBcIj5cclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxkaXYgY2xhc3M9XCJjYXJkLWJvZHkgcC0wXCI+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGRpdiBjbGFzcz1cInRleHQtY2VudGVyIG10LTcgbWItM1wiPjxzcGFuICpuZ0lmPVwiZ2V0UG90ZW50aWFsQnV5ZXJzRGF0YT8ucG90ZW50aWFsQnV5ZXJzPy5wb3RlbnRpYWxCdXllcnNQZXJzb25zPy5jb3VudCAhPT0gMFwiIGNsYXNzPVwibGVmdC1jYXJkLWNvdW50IG10LTJcIj57e2dldFBvdGVudGlhbEJ1eWVyc0RhdGE/LnBvdGVudGlhbEJ1eWVycz8ucG90ZW50aWFsQnV5ZXJzUGVyc29ucz8uY291bnQgPyBnZXRQb3RlbnRpYWxCdXllcnNEYXRhPy5wb3RlbnRpYWxCdXllcnM/LnBvdGVudGlhbEJ1eWVyc1BlcnNvbnM/LmNvdW50LnRvTG9jYWxlU3RyaW5nKCdlbi1JTicpOictLSd9fTwvc3Bhbj4gXHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxzcGFuICpuZ0lmPVwiZ2V0UG90ZW50aWFsQnV5ZXJzRGF0YT8ucG90ZW50aWFsQnV5ZXJzPy5wb3RlbnRpYWxCdXllcnNQZXJzb25zPy5jb3VudCA9PT0gMFwiIGNsYXNzPVwibGVmdC1jYXJkLWNvdW50IG10LTJcIj4wPC9zcGFuPjxzcGFuIGNsYXNzPVwibGVmdC1jYXJkLWNvdW50LWhlYWRlciBtcy0xXCI+UGVyc29uczwvc3Bhbj48L2Rpdj5cclxuXHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8ZGl2IGNsYXNzPVwidGV4dC1jZW50ZXIgbWItM1wiPjxzcGFuIGNsYXNzPVwiYmFkZ2UgYmFkZ2UtbGlnaHQtZGVmYXVsdCB3ZWVrLWZvbnRcIj57e2dldFBvdGVudGlhbEJ1eWVyc0RhdGE/LnBvdGVudGlhbEJ1eWVycz8ucG90ZW50aWFsQnV5ZXJzUGVyc29ucz8uYWdlR3JvdXAgPyBnZXRQb3RlbnRpYWxCdXllcnNEYXRhLnBvdGVudGlhbEJ1eWVycz8ucG90ZW50aWFsQnV5ZXJzUGVyc29ucz8uYWdlR3JvdXA6Jy0tJ319IGFnZTwvc3Bhbj5cclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvZGl2PlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBcclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8L2Rpdj5cclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxkaXYgY2xhc3M9XCJjYXJkLWZvb3RlciB0ZXh0LWNlbnRlciBwLTBcIj5cclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8ZGl2IGNsYXNzPVwiY29sLW1kLTEyXCI+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxzcGFuIGNsYXNzPVwibXQtMiBtcy0yXCI+PHNwYW4gY2xhc3M9XCJwZXJjZW50LXZhbHVlXCI+PC9zcGFuPjxzcGFuXHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgY2xhc3M9XCJtcy0yIHdlZWstZm9udFwiPiBBdmcuIEdyb3VwIHNpemU8L3NwYW4+XHJcbiAgICAgICAgXHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvc3Bhbj5cclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8L2Rpdj5cclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvZGl2PlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPC9kaXY+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8L2Rpdj5cclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvZGl2PlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgPCEtLSA8ZGl2PlxyXG4gICAgICAgICAgICAgICAgICAgIDxzdmcgeG1sbnM9XCJodHRwOi8vd3d3LnczLm9yZy8yMDAwL3N2Z1wiIHdpZHRoPVwiMTZcIiBoZWlnaHQ9XCIxNlwiIHZpZXdCb3g9XCIwIDAgMTYgMTZcIiBmaWxsPVwibm9uZVwiPlxyXG4gICAgICAgICAgICAgICAgICAgICAgICA8cGF0aCBkPVwiTTYgMTJMMTAgOEw2IDRcIiBzdHJva2U9XCIjOThBMkIzXCIgc3Ryb2tlLXdpZHRoPVwiMlwiIHN0cm9rZS1saW5lY2FwPVwicm91bmRcIiBzdHJva2UtbGluZWpvaW49XCJyb3VuZFwiLz5cclxuICAgICAgICAgICAgICAgICAgICAgICAgPC9zdmc+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgIDwvZGl2PiAtLT5cclxuICAgICAgICAgICAgICAgICAgICAgICAgPC9kaXY+XHJcbiAgICAgICAgICAgICAgICAgICAgPC9kaXY+XHJcbiAgICAgICAgICAgICAgICA8L2Rpdj5cclxuICAgICAgICAgICAgPC9kaXY+XHJcbiAgICAgICAgIFxyXG4gICAgICAgIDwvZGl2PlxyXG5cclxuICAgIDwvZGl2PlxyXG4gICAgPGRpdiBjbGFzcz1cImNvbC1tZC01IGgtMTAwXCI+XHJcbiAgICAgICAgPGRpdiBjbGFzcz1cImNhcmQgbWItM1wiPlxyXG4gICAgICAgICAgICA8ZGl2IGNsYXNzPVwiY2FyZC1oZWFkZXIgYm9yZGVyLTAgcHQtMyBwcy01XCI+XHJcbiAgICAgICAgICAgICAgICA8aDMgY2xhc3M9XCJjYXJkLXRpdGxlIGFsaWduLWl0ZW1zLXN0YXJ0IGZsZXgtY29sdW1uXCI+XHJcbiAgICAgICAgICAgICAgICAgICAgPHNwYW4gY2xhc3M9XCJ0aXRsZS10ZXh0XCI+PHNwYW4gKm5nSWY9XCJoZWFkZXJEYXRhPy5jbGllbnQgIT09ICc0NTInXCI+Q29udmVyc2lvbjwvc3Bhbj4gRnVubmVsIFxyXG4gICAgICAgICAgICAgICAgICAgICAgIDxzcGFuICpuZ0lmPVwiaGVhZGVyRGF0YT8uY2xpZW50ICE9PSAnNDUyJ1wiPiA8c3ZnIHhtbG5zPVwiaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmdcIiB3aWR0aD1cIjE2XCIgaGVpZ2h0PVwiMTZcIiB2aWV3Qm94PVwiMCAwIDE2IDE2XCIgZmlsbD1cIm5vbmVcIiBcclxuICAgICAgICAgICAgICAgICAgICAgICAgcGxhY2VtZW50PVwidG9wXCIgXHJcbiAgICAgICAgICAgICAgICAgICAgICAgIG5nYlRvb2x0aXA9XCJUb3RhbCBvcHBvcnR1bml0eSBvZiBzYWxlcyBjb252ZXJzaW9uIHZlcnN1cyB0b3RhbCB3YWxraW5zXCI+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgIDxnIGNsaXAtcGF0aD1cInVybCgjY2xpcDBfMTQzMl84MDAzNSlcIj5cclxuICAgICAgICAgICAgICAgICAgICAgICAgPHBhdGggZD1cIk04LjAwMDY1IDEwLjY2NjZWNy45OTk5Mk04LjAwMDY1IDUuMzMzMjVIOC4wMDczMk0xNC42NjczIDcuOTk5OTJDMTQuNjY3MyAxMS42ODE4IDExLjY4MjYgMTQuNjY2NiA4LjAwMDY1IDE0LjY2NjZDNC4zMTg3NSAxNC42NjY2IDEuMzMzOTggMTEuNjgxOCAxLjMzMzk4IDcuOTk5OTJDMS4zMzM5OCA0LjMxODAyIDQuMzE4NzUgMS4zMzMyNSA4LjAwMDY1IDEuMzMzMjVDMTEuNjgyNiAxLjMzMzI1IDE0LjY2NzMgNC4zMTgwMiAxNC42NjczIDcuOTk5OTJaXCIgc3Ryb2tlPVwiIzY2NzA4NVwiIHN0cm9rZS13aWR0aD1cIjJcIiBzdHJva2UtbGluZWNhcD1cInJvdW5kXCIgc3Ryb2tlLWxpbmVqb2luPVwicm91bmRcIi8+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgIDwvZz5cclxuICAgICAgICAgICAgICAgICAgICAgICAgPGRlZnM+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgIDxjbGlwUGF0aCBpZD1cImNsaXAwXzE0MzJfODAwMzVcIj5cclxuICAgICAgICAgICAgICAgICAgICAgICAgPHJlY3Qgd2lkdGg9XCIxNlwiIGhlaWdodD1cIjE2XCIgZmlsbD1cIndoaXRlXCIvPlxyXG4gICAgICAgICAgICAgICAgICAgICAgICA8L2NsaXBQYXRoPlxyXG4gICAgICAgICAgICAgICAgICAgICAgICA8L2RlZnM+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgIDwvc3ZnPjwvc3Bhbj5cclxuICAgICAgICAgICAgICAgICAgICAgICAgPHNwYW4gKm5nSWY9XCJoZWFkZXJEYXRhPy5jbGllbnQgPT09ICc0NTInXCI+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICA8c3ZnIHhtbG5zPVwiaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmdcIiB3aWR0aD1cIjE2XCIgaGVpZ2h0PVwiMTZcIiB2aWV3Qm94PVwiMCAwIDE2IDE2XCIgZmlsbD1cIm5vbmVcIiBcclxuICAgICAgICAgICAgICAgICAgICAgICAgcGxhY2VtZW50PVwidG9wXCIgXHJcbiAgICAgICAgICAgICAgICAgICAgICAgIFtuZ2JUb29sdGlwXT1cIidUb3RhbCBvcHBvcnR1bml0eSBvZiBzYWxlcyBNb3JlIHRoYW4gJyArIGNsaWVudERhdGE/LmZlYXR1cmVDb25maWdzPy5jb252ZXJzaW9uPy52YWx1ZSArICcgbWlucyB2ZXJzdXMgdG90YWwgd2Fsa2lucydcIj5cclxuICAgICAgICAgICAgICAgICAgICAgICAgPGcgY2xpcC1wYXRoPVwidXJsKCNjbGlwMF8xNDMyXzgwMDM1KVwiPlxyXG4gICAgICAgICAgICAgICAgICAgICAgICA8cGF0aCBkPVwiTTguMDAwNjUgMTAuNjY2NlY3Ljk5OTkyTTguMDAwNjUgNS4zMzMyNUg4LjAwNzMyTTE0LjY2NzMgNy45OTk5MkMxNC42NjczIDExLjY4MTggMTEuNjgyNiAxNC42NjY2IDguMDAwNjUgMTQuNjY2NkM0LjMxODc1IDE0LjY2NjYgMS4zMzM5OCAxMS42ODE4IDEuMzMzOTggNy45OTk5MkMxLjMzMzk4IDQuMzE4MDIgNC4zMTg3NSAxLjMzMzI1IDguMDAwNjUgMS4zMzMyNUMxMS42ODI2IDEuMzMzMjUgMTQuNjY3MyA0LjMxODAyIDE0LjY2NzMgNy45OTk5MlpcIiBzdHJva2U9XCIjNjY3MDg1XCIgc3Ryb2tlLXdpZHRoPVwiMlwiIHN0cm9rZS1saW5lY2FwPVwicm91bmRcIiBzdHJva2UtbGluZWpvaW49XCJyb3VuZFwiLz5cclxuICAgICAgICAgICAgICAgICAgICAgICAgPC9nPlxyXG4gICAgICAgICAgICAgICAgICAgICAgICA8ZGVmcz5cclxuICAgICAgICAgICAgICAgICAgICAgICAgPGNsaXBQYXRoIGlkPVwiY2xpcDBfMTQzMl84MDAzNVwiPlxyXG4gICAgICAgICAgICAgICAgICAgICAgICA8cmVjdCB3aWR0aD1cIjE2XCIgaGVpZ2h0PVwiMTZcIiBmaWxsPVwid2hpdGVcIi8+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgIDwvY2xpcFBhdGg+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgIDwvZGVmcz5cclxuICAgICAgICAgICAgICAgICAgICAgICAgPC9zdmc+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgIDwvc3Bhbj5cclxuICAgICAgICAgICAgICAgICAgICA8L3NwYW4+XHJcbiAgICAgICAgICAgICAgICAgICAgPHNwYW4gY2xhc3M9XCJ0ZXh0LXN1YiBtYi0yXCI+e3toZWFkZXJEYXRhPy5kYXRlPy5zdGFydERhdGUgfCBkYXRlOidkZCBNTU0sIHl5eXknfX0g4oCTIHt7aGVhZGVyRGF0YT8uZGF0ZT8uZW5kRGF0ZSB8IGRhdGU6J2RkIE1NTSwgeXl5eSd9fTwvc3Bhbj5cclxuICAgICAgICAgICAgICAgIDwvaDM+XHJcbiAgICAgICAgXHJcbiAgICAgICAgICAgIDwvZGl2PlxyXG5cclxuICAgICAgICAgICAgPGRpdiBjbGFzcz1cImNhcmQtYm9keSBwLTBcIiA+XHJcbiAgICAgICAgICAgICAgICA8ZGl2ICpuZ0lmPVwiaGVhdGxvYWRpbmdcIiBjbGFzcz1cInJvdyBsb2FkZXIgZC1mbGV4IGp1c3RpZnktY29udGVudC1jZW50ZXIgYWxpZ24taXRlbXMtY2VudGVyIGgtMjc1cHhcIj5cclxuICAgICAgICAgICAgICAgICAgICA8ZGl2IGNsYXNzPVwic2hpbW1lciBwdC0wXCI+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgIDxkaXYgY2xhc3M9XCJ3cmFwcGVyXCI+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICA8ZGl2IGNsYXNzPVwic3Ryb2tlIGFuaW1hdGUgdGl0bGVcIj48L2Rpdj5cclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxkaXYgY2xhc3M9XCJzdHJva2UgYW5pbWF0ZSBsaW5rXCI+PC9kaXY+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICA8ZGl2IGNsYXNzPVwic3Ryb2tlIGFuaW1hdGUgdGl0bGVcIj48L2Rpdj5cclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxkaXYgY2xhc3M9XCJzdHJva2UgYW5pbWF0ZSBsaW5rXCI+PC9kaXY+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICA8ZGl2IGNsYXNzPVwic3Ryb2tlIGFuaW1hdGUgbGlua1wiPjwvZGl2PlxyXG4gICAgICAgICAgICAgICAgICAgICAgICA8L2Rpdj5cclxuICAgICAgICAgICAgICAgICAgICA8L2Rpdj5cclxuICAgICAgICAgICAgICAgIDwvZGl2PlxyXG4gICAgICAgICAgICAgICAgPGRpdiAqbmdJZj1cImhlYXRub0RhdGFcIiBjbGFzcz1cInJvd1wiPlxyXG4gICAgICAgICAgICAgICAgICAgIDxkaXYgY2xhc3M9XCJjb2wtbGctMTIgbWItM1wiPlxyXG4gICAgICAgICAgICAgICAgICAgICAgICA8ZGl2IGNsYXNzPVwiY2FyZC1ib2R5IGQtZmxleCBqdXN0aWZ5LWNvbnRlbnQtY2VudGVyIGFsaWduLWl0ZW1zLWNlbnRlciBmbGV4LWNvbHVtblwiPlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgPGltZyBjbGFzcz1cImltZy1ub2RhdGFcIiBzcmM9XCIuL2Fzc2V0cy90YW5nby9JY29ucy9Ob2RhdGExLnN2Z1wiIGFsdD1cIlwiPlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgPGRpdiBjbGFzcz1cIm5vZGF0YS10aXRsZVwiPk5vIGRhdGEgZm91bmQ8L2Rpdj5cclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxkaXYgY2xhc3M9XCJub2RhdGEtc3ViXCI+VGhlcmUgaXMgbm8gcmVzdWx0IGZvciB0aGlzIDxzcGFuICpuZ0lmPVwiaGVhZGVyRGF0YT8uY2xpZW50ICE9PSc0NTInXCI+Y29udmVyc2lvbjwvc3Bhbj4gZnVubmVsPC9kaXY+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgIDwvZGl2PlxyXG4gICAgICAgICAgICAgICAgICAgIDwvZGl2PlxyXG4gICAgICAgICAgICAgICAgPC9kaXY+XHJcbiAgICAgICAgICAgICAgICA8ZGl2ICpuZ0lmPVwiIWhlYXRsb2FkaW5nICYmICFoZWF0bm9EYXRhXCIgY2xhc3M9XCJ0ZXh0LWNlbnRlciBtYi0zXCIgaWQ9XCJjaGFydGRpdlwiPjwvZGl2PlxyXG4gICAgICAgICAgICA8L2Rpdj5cclxuICAgICAgICAgICAgPC9kaXY+XHJcbiAgICAgICAgICAgXHJcbiAgICAgICAgICAgIDxkaXYgKm5nSWY9XCJtcGFsb2FkaW5nICYmIHN0b3JlSWRhcnJheT8ubGVuZ3RoID4gMSB8fCBtYXBub0RhdGEgJiYgc3RvcmVJZGFycmF5Py5sZW5ndGggPiAxIHx8ICFzdG9yZUlkYXJyYXk/Lmxlbmd0aFwiIGNsYXNzPVwiY2FyZFwiPlxyXG4gICAgICAgICAgICAgICAgPGRpdiBjbGFzcz1cImNhcmQtaGVhZGVyIGJvcmRlci0wIHB0LTMgcHMtNyBwZS0wXCI+XHJcbiAgICAgICAgICAgICAgICAgICAgPGgzIGNsYXNzPVwiY2FyZC10aXRsZSBhbGlnbi1pdGVtcy1zdGFydCBmbGV4LWNvbHVtblwiPlxyXG4gICAgICAgICAgICAgICAgICAgICAgICA8c3BhbiBjbGFzcz1cInRpdGxlLXRleHRcIiA+RXhwbG9yZTwvc3Bhbj4gIFxyXG4gICAgICAgICAgICAgICAgICAgIDwvaDM+XHJcbiAgICAgICAgICAgICAgIFxyXG4gICAgICAgICAgICAgICAgICAgICAgICA8L2Rpdj5cclxuICAgICAgICAgICAgICAgICAgICAgICAgPGRpdiAqbmdJZj1cIm1wYWxvYWRpbmdcIiBjbGFzcz1cInJvdyBsb2FkZXIgZC1mbGV4IGp1c3RpZnktY29udGVudC1jZW50ZXIgYWxpZ24taXRlbXMtY2VudGVyIGgtMjI1cHhcIj5cclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxkaXYgY2xhc3M9XCJzaGltbWVyIHB0LTBcIj5cclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8ZGl2IGNsYXNzPVwid3JhcHBlclwiPlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8ZGl2IGNsYXNzPVwic3Ryb2tlIGFuaW1hdGUgdGl0bGVcIj48L2Rpdj5cclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGRpdiBjbGFzcz1cInN0cm9rZSBhbmltYXRlIGxpbmtcIj48L2Rpdj5cclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGRpdiBjbGFzcz1cInN0cm9rZSBhbmltYXRlIHRpdGxlXCI+PC9kaXY+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxkaXYgY2xhc3M9XCJzdHJva2UgYW5pbWF0ZSBsaW5rXCI+PC9kaXY+XHJcblxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvZGl2PlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgPC9kaXY+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgIDwvZGl2PlxyXG4gICAgICAgICAgICAgICAgICAgICAgICA8ZGl2ICpuZ0lmPVwibWFwbm9EYXRhXCIgIGNsYXNzPVwicm93IHB4LTNcIj5cclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxkaXYgY2xhc3M9XCJjb2wtbWQtMTJcIj5cclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8ZGl2ICpuZ0lmPVwibm9ybWFsaXplXCIgY2xhc3M9XCJjYXJkLWJvZHkgZC1mbGV4IGp1c3RpZnktY29udGVudC1jZW50ZXIgbWItMTAgYWxpZ24taXRlbXMtY2VudGVyIGZsZXgtY29sdW1uXCI+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxpbWcgY2xhc3M9XCJpbWctbWFwMVwiIHNyYz1cIi4vYXNzZXRzL3RhbmdvL0ljb25zL25vdC1hcHBsaWNhYmxlLnN2Z1wiIGFsdD1cIlwiPlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8ZGl2IGNsYXNzPVwibm9kYXRhLXRpdGxlIG10LTNcIj5EYXRhIE5vdCBGb3VuZDwvZGl2PlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8ZGl2IGNsYXNzPVwibm9kYXRhLXN1YlwiPk5vcm1hbGl6ZWQgZGF0YSBpcyBub3QgYXBwbGljYWJsZTwvZGl2PlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvZGl2PlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxkaXYgKm5nSWY9XCIhbm9ybWFsaXplXCIgY2xhc3M9XCJjYXJkLWJvZHkgZC1mbGV4IGp1c3RpZnktY29udGVudC1jZW50ZXIgYWxpZ24taXRlbXMtY2VudGVyIGZsZXgtY29sdW1uXCI+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxpbWcgY2xhc3M9XCJpbWctbWFwXCIgc3JjPVwiLi9hc3NldHMvdGFuZ28vSWNvbnMvTm9kYXRhMS5zdmdcIiBhbHQ9XCJcIj5cclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGRpdiAgY2xhc3M9XCJub2RhdGEtdGl0bGVcIj5ObyBkYXRhIGZvdW5kPC9kaXY+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxkaXYgY2xhc3M9XCJub2RhdGEtc3ViXCI+VGhlcmUgaXMgbm8gcmVzdWx0IGZvciB0aGlzIFN0b3JlIG1hcDwvZGl2PlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvZGl2PlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgPC9kaXY+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgIDwvZGl2PlxyXG4gICAgICAgICAgICAgICAgICAgICAgICA8L2Rpdj5cclxuICAgICAgICAgICAgPGRpdiAqbmdJZj1cIiFtcGFsb2FkaW5nICYmICFtYXBub0RhdGEgJiYgc3RvcmVJZGFycmF5Py5sZW5ndGggPiAxXCIgY2xhc3M9XCJjYXJkXCI+XHJcbiAgICAgICAgICAgICAgICA8ZGl2ICBjbGFzcz1cImNhcmQtaGVhZGVyIGJvcmRlci0wIHB0LTMgcHMtNyBwZS0wXCI+XHJcbiAgICAgICAgICAgICAgICAgICAgPGgzIGNsYXNzPVwiY2FyZC10aXRsZSBhbGlnbi1pdGVtcy1zdGFydCBmbGV4LWNvbHVtblwiPlxyXG4gICAgICAgICAgICAgICAgICAgICAgICA8c3BhbiBjbGFzcz1cInRpdGxlLXRleHRcIiA+RXhwbG9yZTwvc3Bhbj4gIFxyXG4gICAgICAgICAgICAgICAgICAgIDwvaDM+XHJcbiAgICAgICAgICAgICAgICAgICAgPGRpdiBjbGFzcz1cImNhcmQtdG9vbGJhciBtdC0wXCI+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgXHJcbiAgICAgICAgICAgICAgICAgICAgICAgIDxidXR0b24gKm5nSWY9XCIhbXBhbG9hZGluZyAmJiAhbWFwbm9EYXRhXCIgdHlwZT1cImJ1dHRvblwiIChjbGljayk9XCJleHBvcmVWaWV3KClcIlxyXG4gICAgICAgICAgICAgICAgICAgICAgICBjbGFzcz1cImJ0biBtZS04IGJ0bi1saWdodC1wcmltYXJ5MSByb3VuZGVkLTMgdGV4dC1ub3dyYXAgYm9yZGVyLXZhbFwiPlxyXG4gICAgICAgICAgICAgICAgICAgICAgICA8c3BhbiBjbGFzcz1cIm1zLTJcIj5FeHBsb3JlPC9zcGFuPlxyXG4gICAgICAgICAgICAgICAgICAgIDwvYnV0dG9uPlxyXG4gICAgICAgICAgICAgICAgICAgIDwvZGl2PlxyXG4gICAgICAgICAgICBcclxuICAgICAgICAgICAgICAgIDwvZGl2PlxyXG4gICAgICAgICAgICAgIFxyXG4gICAgICAgICAgICAgICAgPGRpdiAqbmdJZj1cIiFtYXBub0RhdGFcIiBjbGFzcz1cImNhcmQtYm9keSBjb2wtbWQtMTIgcHQtMCBwYi01IHBzLTdcIj5cclxuICAgICAgICAgICAgICAgICAgPGRpdiBpZD1cIm1hcFwiIGNsYXNzPVwidy0xMDBcIiA+PC9kaXY+XHJcbiAgICAgICAgICAgICAgICAgIDwvZGl2PlxyXG4gICAgICAgICAgICA8L2Rpdj5cclxuICAgICAgICAgICAgPGRpdiAqbmdJZj1cInN0b3JlSWRhcnJheT8ubGVuZ3RoID09PSAxXCIgY2xhc3M9XCJjYXJkIHBiLTJcIj5cclxuICAgICAgICAgICAgICAgIDxkaXYgY2xhc3M9XCJjYXJkLWhlYWRlciBib3JkZXItMCBwdC0zIHBzLTUgcGUtMFwiPlxyXG4gICAgICAgICAgICAgICAgICAgIDxoMyBjbGFzcz1cImNhcmQtdGl0bGUgYWxpZ24taXRlbXMtc3RhcnQgZmxleC1jb2x1bW5cIj5cclxuICAgICAgICAgICAgICAgICAgICAgICAgPHNwYW4gY2xhc3M9XCJ0aXRsZS10ZXh0XCI+UmVjYXAgVmlkZW8gXHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICA8c3ZnIHBsYWNlbWVudD1cInJpZ2h0XCJcclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIG5nYlRvb2x0aXA9XCJBIHF1aWNrIHJlY2FwIG9mIHRoZSBzdG9yZSBhY3Rpdml0eSBhbG9uZyB3aXRoIHRoZSBhdmcgdGVjaCBpbmZyYXN0cnVjdHVyZSBkb3dudGltZSBzdGF0dXNcIiB4bWxucz1cImh0dHA6Ly93d3cudzMub3JnLzIwMDAvc3ZnXCIgd2lkdGg9XCIxNlwiIGhlaWdodD1cIjE2XCIgdmlld0JveD1cIjAgMCAxNiAxNlwiIGZpbGw9XCJub25lXCI+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICA8ZyBjbGlwLXBhdGg9XCJ1cmwoI2NsaXAwXzE0MzJfODAwMzUpXCI+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICA8cGF0aCBkPVwiTTguMDAwNjUgMTAuNjY2NlY3Ljk5OTkyTTguMDAwNjUgNS4zMzMyNUg4LjAwNzMyTTE0LjY2NzMgNy45OTk5MkMxNC42NjczIDExLjY4MTggMTEuNjgyNiAxNC42NjY2IDguMDAwNjUgMTQuNjY2NkM0LjMxODc1IDE0LjY2NjYgMS4zMzM5OCAxMS42ODE4IDEuMzMzOTggNy45OTk5MkMxLjMzMzk4IDQuMzE4MDIgNC4zMTg3NSAxLjMzMzI1IDguMDAwNjUgMS4zMzMyNUMxMS42ODI2IDEuMzMzMjUgMTQuNjY3MyA0LjMxODAyIDE0LjY2NzMgNy45OTk5MlpcIiBzdHJva2U9XCIjNjY3MDg1XCIgc3Ryb2tlLXdpZHRoPVwiMlwiIHN0cm9rZS1saW5lY2FwPVwicm91bmRcIiBzdHJva2UtbGluZWpvaW49XCJyb3VuZFwiLz5cclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvZz5cclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxkZWZzPlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgPGNsaXBQYXRoIGlkPVwiY2xpcDBfMTQzMl84MDAzNVwiPlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgPHJlY3Qgd2lkdGg9XCIxNlwiIGhlaWdodD1cIjE2XCIgZmlsbD1cIndoaXRlXCIvPlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgPC9jbGlwUGF0aD5cclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvZGVmcz5cclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvc3ZnPlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICBcclxuICAgICAgICAgICAgICAgICAgICAgICBcclxuICAgICAgICAgICAgICAgICAgICAgICAgPC9zcGFuPlxyXG4gICAgICAgICAgICAgICAgICAgICAgXHJcbiAgICAgICAgICAgICAgICAgICAgICAgIDxzcGFuIGNsYXNzPVwidGV4dC1zdWIgbWItMlwiPkRhdGVkOiB7e2hlYWRlckRhdGE/LmRhdGU/LmVuZERhdGUgfCBkYXRlOicgZGQgTU1NLHl5eXknfX08L3NwYW4+XHJcbiAgICAgICAgICAgICAgICAgICAgPC9oMz5cclxuICAgICAgICAgICAgICAgICAgICA8ZGl2IGNsYXNzPVwiY2FyZC10b29sYmFyIG10LTBcIj5cclxuICAgICAgICAgICAgICAgICAgICAgICAgPGJ1dHRvbiB0eXBlPVwiYnV0dG9uXCIgXHJcbiAgICAgICAgICAgICAgICAgICAgICAgIGNsYXNzPVwiYnRuIGJ0bi1kZWZhdWx0IGJ0bi1vdXRsaW5lIGJ0bi1vdXRsaW5lLWRlZmF1bHQgcm91bmRlZC0zIHRleHQtbm93cmFwIGJvcmRlci12YWwgdGV4dC1zdGFydCBkaXNhYmxlZC1idXR0b25cIj5cclxuICAgICAgICAgICAgICAgICAgICAgICAgPHN2ZyB4bWxucz1cImh0dHA6Ly93d3cudzMub3JnLzIwMDAvc3ZnXCIgd2lkdGg9XCIxNlwiIGhlaWdodD1cIjE0XCIgdmlld0JveD1cIjAgMCAxNiAxNFwiIGZpbGw9XCJub25lXCI+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICA8ZyBpZD1cIkdyb3VwXCI+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICA8cGF0aCBpZD1cIlZlY3RvclwiIGQ9XCJNOS41MTk1MyAwLjMzMzk4NEMxMC4zOTU4IDAuMzMzOTg0IDExLjIzMzEgMC41MTM0NzcgMTEuOTk3NCAwLjgzODk3NEMxMi43OTA0IDEuMTc2NTMgMTMuNTAzOSAxLjY3MjE0IDE0LjEwMTYgMi4yODY5N0MxNC42OTc5IDIuOTAwNDYgMTUuMTc5NyAzLjYzNDUgMTUuNTA3OCA0LjQ1MjkzQzE1LjgyNDIgNS4yMzkyMiAxNS45OTg3IDYuMTAwNTEgMTUuOTk4NyA3LjAwMDY1QzE1Ljk5ODcgNy45MDIxMyAxNS44MjQyIDguNzYzNDMgMTUuNTA3OCA5LjU0OTcxQzE1LjE3OTcgMTAuMzY1NSAxNC42OTc5IDExLjA5OTUgMTQuMTAwMyAxMS43MTQzQzEzLjUwMzkgMTIuMzI3OCAxMi43OTA0IDEyLjgyMzQgMTEuOTk0OCAxMy4xNjFDMTEuMjMwNSAxMy40ODY1IDEwLjM5MzIgMTMuNjY2IDkuNTE4MjMgMTMuNjY2QzguNjQxOTMgMTMuNjY2IDcuODA0NjkgMTMuNDg2NSA3LjA0MDM2IDEzLjE2MUM2LjI0NzQgMTIuODIzNCA1LjUzMzg1IDEyLjMyNzggNC45Mzc1IDExLjcxNDNMNC45MzYyIDExLjcxM0M0LjMzODU0IDExLjA5ODIgMy44NTgwNyAxMC4zNjQxIDMuNTI5OTUgOS41NDk3MUMzLjQyODM5IDkuMjk2NTUgMy4zNDExNSA5LjAzNjY4IDMuMjY5NTMgOC43NzAxM0MzLjQwNDk1IDguNzgzNTIgMy41NDI5NyA4Ljc5MDIyIDMuNjgyMjkgOC43OTAyMkMzLjk0NjYxIDguNzkwMjIgNC4yMDQ0MyA4Ljc2NjExIDQuNDU1NzMgOC43MTkyMkM0LjQ5NzQgOC44NDc4MiA0LjU0Mjk3IDguOTc1MDcgNC41OTI0NSA5LjA5OTY0QzQuODYxOTggOS43NjkzOSA1LjI1NzgxIDEwLjM3MjIgNS43NSAxMC44Nzg1QzYuMjQyMTkgMTEuMzg0OCA2LjgyOTQzIDExLjc5MiA3LjQ3OTE3IDEyLjA2OTNDOC4xMDU0NyAxMi4zMzU5IDguNzk0MjcgMTIuNDg0NSA5LjUxODIzIDEyLjQ4NDVDMTAuMjQyMiAxMi40ODQ1IDEwLjkyOTcgMTIuMzM3MiAxMS41NTczIDEyLjA2OTNDMTIuMjA4MyAxMS43OTIgMTIuNzk0MyAxMS4zODQ4IDEzLjI4NjUgMTAuODc4NUMxMy43Nzg2IDEwLjM3MjIgMTQuMTc0NSA5Ljc2ODA1IDE0LjQ0NCA5LjA5OTY0QzE0LjcwMzEgOC40NTUzNCAxNC44NDc3IDcuNzQ2NzUgMTQuODQ3NyA3LjAwMTk5QzE0Ljg0NzcgNi4yNTcyMyAxNC43MDQ0IDUuNTQ5OTggMTQuNDQ0IDQuOTA0MzRDMTQuMTc0NSA0LjIzNDU5IDEzLjc3ODYgMy42MzE4MiAxMy4yODY1IDMuMTI1NDlDMTIuNzk0MyAyLjYxOTE2IDEyLjIwNyAyLjIxMTk2IDExLjU1NzMgMS45MzQ2OEMxMC45MzEgMS42NjgxMiAxMC4yNDIyIDEuNTE5NDQgOS41MTgyMyAxLjUxOTQ0QzguNzk0MjcgMS41MTk0NCA4LjEwNjc3IDEuNjY2NzggNy40NzkxNyAxLjkzNDY4QzcuNDIzMTggMS45NTg3OSA3LjM2NzE5IDEuOTg0MjQgNy4zMTI1IDIuMDA5NjlDNy4wOTg5NiAxLjY2NDEgNi44NDExNSAxLjM1MDY2IDYuNTQ1NTcgMS4wNzg3NEM2LjcwNzAzIDAuOTkzMDE2IDYuODcyNCAwLjkxMzk4NiA3LjA0MDM2IDAuODQxNjUzQzcuODA3MjkgMC41MTM0NzcgOC42NDMyMyAwLjMzMzk4NCA5LjUxOTUzIDAuMzMzOTg0Wk04Ljc3NjA0IDMuODMxNDFDOC43NzYwNCAzLjY2Nzk5IDguODQxMTUgMy41MjA2NCA4Ljk0NDAxIDMuNDEzNDhDOS4wNDgxOCAzLjMwNjMyIDkuMTkxNDEgMy4yNDA2OSA5LjM1MDI2IDMuMjQwNjlDOS41MDkxMSAzLjI0MDY5IDkuNjUyMzQgMy4zMDYzMiA5Ljc1NjUxIDMuNDEzNDhDOS44NjA2OCAzLjUyMDY0IDkuOTI0NDggMy42Njc5OSA5LjkyNDQ4IDMuODMxNDFWNi45NDE3MUwxMi4xODM2IDguMzIwMDVDMTIuMzE5IDguNDAzMSAxMi40MTAyIDguNTM1NzEgMTIuNDQ2NiA4LjY4MTcyQzEyLjQ4MzEgOC44Mjc3MiAxMi40NjYxIDguOTg4NDYgMTIuMzg1NCA5LjEyNzc3VjkuMTI5MTFDMTIuMzA0NyA5LjI2ODQyIDEyLjE3NTggOS4zNjIxOCAxMi4wMzM5IDkuMzk5NjlDMTEuODkxOSA5LjQzNzE5IDExLjczNTcgOS40MTk3OCAxMS42MDAzIDkuMzM2NzNIMTEuNTk5TDkuMDcxNjEgNy43OTQ5N0M4Ljk4NDM4IDcuNzQ1NDEgOC45MTI3NiA3LjY3MzA4IDguODYwNjggNy41ODczNUM4LjgwNzI5IDcuNDk3NiA4Ljc3NjA0IDcuMzkxNzggOC43NzYwNCA3LjI3OTI3VjMuODMxNDFaXCIgZmlsbD1cIiM2NjcwODVcIi8+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICA8cGF0aCBpZD1cIlZlY3Rvcl8yXCIgZmlsbC1ydWxlPVwiZXZlbm9kZFwiIGNsaXAtcnVsZT1cImV2ZW5vZGRcIiBkPVwiTTMuNTEzMDIgMC42ODc2MjJDNS40NTMxMiAwLjY4NzYyMiA3LjAyNjA0IDIuMzA1NzMgNy4wMjYwNCA0LjMwMTU4QzcuMDI2MDQgNi4yOTc0MyA1LjQ1MzEyIDcuOTE1NTQgMy41MTMwMiA3LjkxNTU0QzEuNTcyOTIgNy45MTU1NCAwIDYuMjk3NDMgMCA0LjMwMTU4QzAgMi4zMDU3MyAxLjU3MjkyIDAuNjg3NjIyIDMuNTEzMDIgMC42ODc2MjJaTTMuNTEzMDIgNi4zNzM3OEw1LjM5ODQ0IDMuOTc2MDhINC4yMjc4NlYyLjcwMDg4SDIuNzk4MThWMy45NzYwOEgxLjYyNzZMMy41MTMwMiA2LjM3Mzc4WlwiIGZpbGw9XCIjRjA0NDM4XCIvPlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgPC9nPlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgPC9zdmc+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgIDxzcGFuIGNsYXNzPVwibXMtMlwiPnt7Z2V0UmVjYXBWaWRlb0RhdGE/LmRvd25UaW1lID8/ICctLSd9fSBNaW5zPC9zcGFuPlxyXG4gICAgICAgICAgICAgICAgICAgIDwvYnV0dG9uPlxyXG4gICAgICAgICAgICAgICAgICAgIDxidXR0b24gdHlwZT1cImJ1dHRvblwiIFxyXG4gICAgICAgICAgICAgICAgICAgICAgICBjbGFzcz1cImJ0biBidG4tZGVmYXVsdCBteC0yIGJ0bi1vdXRsaW5lIGJ0bi1vdXRsaW5lLWRlZmF1bHQgcm91bmRlZC0zIHRleHQtbm93cmFwIGJvcmRlci12YWwgZGlzYWJsZWQtYnV0dG9uXCI+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgIDxzdmcgKm5nSWY9XCJnZXRSZWNhcFZpZGVvRGF0YT8uaGVhbHRoID09PSdHT09EJ1wiIHhtbG5zPVwiaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmdcIiB3aWR0aD1cIjIwXCIgaGVpZ2h0PVwiMjBcIiB2aWV3Qm94PVwiMCAwIDIwIDIwXCIgZmlsbD1cIm5vbmVcIj5cclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxnIGlkPVwiRnJhbWVcIj5cclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxwYXRoIGlkPVwiVmVjdG9yXCIgZD1cIk0xMy40MzQ5IDIuNUMxNC44MjM4IDIuNSAxNS45ODcxIDMuMDEzODkgMTYuOTI0OSA0LjA0MTY3QzE3Ljg2MjcgNS4wNjk0NCAxOC4zMzEzIDYuMjkxNjcgMTguMzMwNyA3LjcwODMzQzE4LjMzMDcgNy45NTgzMyAxOC4zMTY4IDguMjA1IDE4LjI4OTEgOC40NDgzM0MxOC4yNjEzIDguNjkxNjcgMTguMjEyNyA4LjkzMTExIDE4LjE0MzIgOS4xNjY2N0gxMi45MzQ5TDExLjUxODIgNy4wNDE2N0MxMS40NDg4IDYuOTMwNTYgMTEuMzUxNiA2Ljg0MDI4IDExLjIyNjYgNi43NzA4M0MxMS4xMDE2IDYuNzAxMzkgMTAuOTY5NiA2LjY2NjY3IDEwLjgzMDcgNi42NjY2N0MxMC42NTAyIDYuNjY2NjcgMTAuNDg2OCA2LjcyMjIyIDEwLjM0MDcgNi44MzMzM0MxMC4xOTQ2IDYuOTQ0NDQgMTAuMDk0MSA3LjA4MzMzIDEwLjAzOTEgNy4yNUw4LjkxNDA2IDEwLjYyNUw4LjE4NDkgOS41NDE2N0M4LjExNTQ1IDkuNDMwNTYgOC4wMTgyMyA5LjM0MDI4IDcuODkzMjMgOS4yNzA4M0M3Ljc2ODIzIDkuMjAxMzkgNy42MzYyOCA5LjE2NjY3IDcuNDk3NCA5LjE2NjY3SDEuODUxNTZDMS43ODIxMiA4LjkzMDU2IDEuNzMzNTEgOC42OTA4MyAxLjcwNTczIDguNDQ3NUMxLjY3Nzk1IDguMjA0MTcgMS42NjQwNiA3Ljk2NDcyIDEuNjY0MDYgNy43MjkxN0MxLjY2NDA2IDYuMjk4NjEgMi4xMjkzNCA1LjA2OTQ0IDMuMDU5OSA0LjA0MTY3QzMuOTkwNDUgMy4wMTM4OSA1LjE1MDE3IDIuNSA2LjUzOTA2IDIuNUM3LjIwNTczIDIuNSA3LjgzNDM0IDIuNjMxOTQgOC40MjQ5IDIuODk1ODNDOS4wMTU0NSAzLjE1OTcyIDkuNTM5NjIgMy41Mjc3OCA5Ljk5NzQgNEMxMC40NDE4IDMuNTI3NzggMTAuOTU5MyAzLjE1OTcyIDExLjU0OTkgMi44OTU4M0MxMi4xNDA1IDIuNjMxOTQgMTIuNzY4OCAyLjUgMTMuNDM0OSAyLjVaTTkuOTk3NCAxNy41QzkuNzQ3NCAxNy41IDkuNTA3NjcgMTcuNDU0NyA5LjI3ODIzIDE3LjM2NDJDOS4wNDg3OCAxNy4yNzM2IDguODQ0MDYgMTcuMTM4MyA4LjY2NDA2IDE2Ljk1ODNMMy4wODA3MyAxMS4zNTQyQzIuOTk3NCAxMS4yNzA4IDIuOTIxMDEgMTEuMTg3NSAyLjg1MTU2IDExLjEwNDJDMi43ODIxMiAxMS4wMjA4IDIuNzEyNjcgMTAuOTMwNiAyLjY0MzIzIDEwLjgzMzNINy4wMzkwNkw4LjQ1NTczIDEyLjk1ODNDOC41MjUxNyAxMy4wNjk0IDguNjIyNCAxMy4xNTk3IDguNzQ3NCAxMy4yMjkyQzguODcyNCAxMy4yOTg2IDkuMDA0MzQgMTMuMzMzMyA5LjE0MzIzIDEzLjMzMzNDOS4zMjM3OCAxMy4zMzMzIDkuNDkwNDUgMTMuMjc3OCA5LjY0MzIzIDEzLjE2NjdDOS43OTYwMSAxMy4wNTU2IDkuOTAwMTcgMTIuOTE2NyA5Ljk1NTczIDEyLjc1TDExLjA4MDcgOS4zNzVMMTEuNzg5MSAxMC40NTgzQzExLjg3MjQgMTAuNTY5NCAxMS45NzY2IDEwLjY1OTcgMTIuMTAxNiAxMC43MjkyQzEyLjIyNjYgMTAuNzk4NiAxMi4zNTg1IDEwLjgzMzMgMTIuNDk3NCAxMC44MzMzSDE3LjMzMDdMMTcuMTIyNCAxMS4wODMzTDE2LjkxNDEgMTEuMzMzM0wxMS4zMDk5IDE2Ljk1ODNDMTEuMTI5MyAxNy4xMzg5IDEwLjkyOCAxNy4yNzQ0IDEwLjcwNTcgMTcuMzY1QzEwLjQ4MzUgMTcuNDU1NiAxMC4yNDc0IDE3LjUwMDYgOS45OTc0IDE3LjVaXCIgZmlsbD1cIiMxMkI3NkFcIi8+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICA8L2c+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICA8L3N2Zz5cclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxzdmcgKm5nSWY9XCJnZXRSZWNhcFZpZGVvRGF0YT8uaGVhbHRoID09PSdBVkVSQUdFJ1wiIHhtbG5zPVwiaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmdcIiB3aWR0aD1cIjIwXCIgaGVpZ2h0PVwiMjBcIiB2aWV3Qm94PVwiMCAwIDIwIDIwXCIgZmlsbD1cIm5vbmVcIj5cclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8ZyBpZD1cIkZyYW1lXCI+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPHBhdGggaWQ9XCJWZWN0b3JcIiBkPVwiTTEzLjQzNDkgMi41QzE0LjgyMzggMi41IDE1Ljk4NzEgMy4wMTM4OSAxNi45MjQ5IDQuMDQxNjdDMTcuODYyNyA1LjA2OTQ0IDE4LjMzMTMgNi4yOTE2NyAxOC4zMzA3IDcuNzA4MzNDMTguMzMwNyA3Ljk1ODMzIDE4LjMxNjggOC4yMDUgMTguMjg5MSA4LjQ0ODMzQzE4LjI2MTMgOC42OTE2NyAxOC4yMTI3IDguOTMxMTEgMTguMTQzMiA5LjE2NjY3SDEyLjkzNDlMMTEuNTE4MiA3LjA0MTY3QzExLjQ0ODggNi45MzA1NiAxMS4zNTE2IDYuODQwMjggMTEuMjI2NiA2Ljc3MDgzQzExLjEwMTYgNi43MDEzOSAxMC45Njk2IDYuNjY2NjcgMTAuODMwNyA2LjY2NjY3QzEwLjY1MDIgNi42NjY2NyAxMC40ODY4IDYuNzIyMjIgMTAuMzQwNyA2LjgzMzMzQzEwLjE5NDYgNi45NDQ0NCAxMC4wOTQxIDcuMDgzMzMgMTAuMDM5MSA3LjI1TDguOTE0MDYgMTAuNjI1TDguMTg0OSA5LjU0MTY3QzguMTE1NDUgOS40MzA1NiA4LjAxODIzIDkuMzQwMjggNy44OTMyMyA5LjI3MDgzQzcuNzY4MjMgOS4yMDEzOSA3LjYzNjI4IDkuMTY2NjcgNy40OTc0IDkuMTY2NjdIMS44NTE1NkMxLjc4MjEyIDguOTMwNTYgMS43MzM1MSA4LjY5MDgzIDEuNzA1NzMgOC40NDc1QzEuNjc3OTUgOC4yMDQxNyAxLjY2NDA2IDcuOTY0NzIgMS42NjQwNiA3LjcyOTE3QzEuNjY0MDYgNi4yOTg2MSAyLjEyOTM0IDUuMDY5NDQgMy4wNTk5IDQuMDQxNjdDMy45OTA0NSAzLjAxMzg5IDUuMTUwMTcgMi41IDYuNTM5MDYgMi41QzcuMjA1NzMgMi41IDcuODM0MzQgMi42MzE5NCA4LjQyNDkgMi44OTU4M0M5LjAxNTQ1IDMuMTU5NzIgOS41Mzk2MiAzLjUyNzc4IDkuOTk3NCA0QzEwLjQ0MTggMy41Mjc3OCAxMC45NTkzIDMuMTU5NzIgMTEuNTQ5OSAyLjg5NTgzQzEyLjE0MDUgMi42MzE5NCAxMi43Njg4IDIuNSAxMy40MzQ5IDIuNVpNOS45OTc0IDE3LjVDOS43NDc0IDE3LjUgOS41MDc2NyAxNy40NTQ3IDkuMjc4MjMgMTcuMzY0MkM5LjA0ODc4IDE3LjI3MzYgOC44NDQwNiAxNy4xMzgzIDguNjY0MDYgMTYuOTU4M0wzLjA4MDczIDExLjM1NDJDMi45OTc0IDExLjI3MDggMi45MjEwMSAxMS4xODc1IDIuODUxNTYgMTEuMTA0MkMyLjc4MjEyIDExLjAyMDggMi43MTI2NyAxMC45MzA2IDIuNjQzMjMgMTAuODMzM0g3LjAzOTA2TDguNDU1NzMgMTIuOTU4M0M4LjUyNTE3IDEzLjA2OTQgOC42MjI0IDEzLjE1OTcgOC43NDc0IDEzLjIyOTJDOC44NzI0IDEzLjI5ODYgOS4wMDQzNCAxMy4zMzMzIDkuMTQzMjMgMTMuMzMzM0M5LjMyMzc4IDEzLjMzMzMgOS40OTA0NSAxMy4yNzc4IDkuNjQzMjMgMTMuMTY2N0M5Ljc5NjAxIDEzLjA1NTYgOS45MDAxNyAxMi45MTY3IDkuOTU1NzMgMTIuNzVMMTEuMDgwNyA5LjM3NUwxMS43ODkxIDEwLjQ1ODNDMTEuODcyNCAxMC41Njk0IDExLjk3NjYgMTAuNjU5NyAxMi4xMDE2IDEwLjcyOTJDMTIuMjI2NiAxMC43OTg2IDEyLjM1ODUgMTAuODMzMyAxMi40OTc0IDEwLjgzMzNIMTcuMzMwN0wxNy4xMjI0IDExLjA4MzNMMTYuOTE0MSAxMS4zMzMzTDExLjMwOTkgMTYuOTU4M0MxMS4xMjkzIDE3LjEzODkgMTAuOTI4IDE3LjI3NDQgMTAuNzA1NyAxNy4zNjVDMTAuNDgzNSAxNy40NTU2IDEwLjI0NzQgMTcuNTAwNiA5Ljk5NzQgMTcuNVpcIiBmaWxsPVwiI0ZBQ0MxNVwiLz5cclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8L2c+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPC9zdmc+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPHN2ZyAqbmdJZj1cImdldFJlY2FwVmlkZW9EYXRhPy5oZWFsdGggPT09J0JBRCdcIiB4bWxucz1cImh0dHA6Ly93d3cudzMub3JnLzIwMDAvc3ZnXCIgd2lkdGg9XCIyMFwiIGhlaWdodD1cIjIwXCIgdmlld0JveD1cIjAgMCAyMCAyMFwiIGZpbGw9XCJub25lXCI+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxnIGlkPVwiRnJhbWVcIj5cclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPHBhdGggaWQ9XCJWZWN0b3JcIiBkPVwiTTEzLjQzNDkgMi41QzE0LjgyMzggMi41IDE1Ljk4NzEgMy4wMTM4OSAxNi45MjQ5IDQuMDQxNjdDMTcuODYyNyA1LjA2OTQ0IDE4LjMzMTMgNi4yOTE2NyAxOC4zMzA3IDcuNzA4MzNDMTguMzMwNyA3Ljk1ODMzIDE4LjMxNjggOC4yMDUgMTguMjg5MSA4LjQ0ODMzQzE4LjI2MTMgOC42OTE2NyAxOC4yMTI3IDguOTMxMTEgMTguMTQzMiA5LjE2NjY3SDEyLjkzNDlMMTEuNTE4MiA3LjA0MTY3QzExLjQ0ODggNi45MzA1NiAxMS4zNTE2IDYuODQwMjggMTEuMjI2NiA2Ljc3MDgzQzExLjEwMTYgNi43MDEzOSAxMC45Njk2IDYuNjY2NjcgMTAuODMwNyA2LjY2NjY3QzEwLjY1MDIgNi42NjY2NyAxMC40ODY4IDYuNzIyMjIgMTAuMzQwNyA2LjgzMzMzQzEwLjE5NDYgNi45NDQ0NCAxMC4wOTQxIDcuMDgzMzMgMTAuMDM5MSA3LjI1TDguOTE0MDYgMTAuNjI1TDguMTg0OSA5LjU0MTY3QzguMTE1NDUgOS40MzA1NiA4LjAxODIzIDkuMzQwMjggNy44OTMyMyA5LjI3MDgzQzcuNzY4MjMgOS4yMDEzOSA3LjYzNjI4IDkuMTY2NjcgNy40OTc0IDkuMTY2NjdIMS44NTE1NkMxLjc4MjEyIDguOTMwNTYgMS43MzM1MSA4LjY5MDgzIDEuNzA1NzMgOC40NDc1QzEuNjc3OTUgOC4yMDQxNyAxLjY2NDA2IDcuOTY0NzIgMS42NjQwNiA3LjcyOTE3QzEuNjY0MDYgNi4yOTg2MSAyLjEyOTM0IDUuMDY5NDQgMy4wNTk5IDQuMDQxNjdDMy45OTA0NSAzLjAxMzg5IDUuMTUwMTcgMi41IDYuNTM5MDYgMi41QzcuMjA1NzMgMi41IDcuODM0MzQgMi42MzE5NCA4LjQyNDkgMi44OTU4M0M5LjAxNTQ1IDMuMTU5NzIgOS41Mzk2MiAzLjUyNzc4IDkuOTk3NCA0QzEwLjQ0MTggMy41Mjc3OCAxMC45NTkzIDMuMTU5NzIgMTEuNTQ5OSAyLjg5NTgzQzEyLjE0MDUgMi42MzE5NCAxMi43Njg4IDIuNSAxMy40MzQ5IDIuNVpNOS45OTc0IDE3LjVDOS43NDc0IDE3LjUgOS41MDc2NyAxNy40NTQ3IDkuMjc4MjMgMTcuMzY0MkM5LjA0ODc4IDE3LjI3MzYgOC44NDQwNiAxNy4xMzgzIDguNjY0MDYgMTYuOTU4M0wzLjA4MDczIDExLjM1NDJDMi45OTc0IDExLjI3MDggMi45MjEwMSAxMS4xODc1IDIuODUxNTYgMTEuMTA0MkMyLjc4MjEyIDExLjAyMDggMi43MTI2NyAxMC45MzA2IDIuNjQzMjMgMTAuODMzM0g3LjAzOTA2TDguNDU1NzMgMTIuOTU4M0M4LjUyNTE3IDEzLjA2OTQgOC42MjI0IDEzLjE1OTcgOC43NDc0IDEzLjIyOTJDOC44NzI0IDEzLjI5ODYgOS4wMDQzNCAxMy4zMzMzIDkuMTQzMjMgMTMuMzMzM0M5LjMyMzc4IDEzLjMzMzMgOS40OTA0NSAxMy4yNzc4IDkuNjQzMjMgMTMuMTY2N0M5Ljc5NjAxIDEzLjA1NTYgOS45MDAxNyAxMi45MTY3IDkuOTU1NzMgMTIuNzVMMTEuMDgwNyA5LjM3NUwxMS43ODkxIDEwLjQ1ODNDMTEuODcyNCAxMC41Njk0IDExLjk3NjYgMTAuNjU5NyAxMi4xMDE2IDEwLjcyOTJDMTIuMjI2NiAxMC43OTg2IDEyLjM1ODUgMTAuODMzMyAxMi40OTc0IDEwLjgzMzNIMTcuMzMwN0wxNy4xMjI0IDExLjA4MzNMMTYuOTE0MSAxMS4zMzMzTDExLjMwOTkgMTYuOTU4M0MxMS4xMjkzIDE3LjEzODkgMTAuOTI4IDE3LjI3NDQgMTAuNzA1NyAxNy4zNjVDMTAuNDgzNSAxNy40NTU2IDEwLjI0NzQgMTcuNTAwNiA5Ljk5NzQgMTcuNVpcIiBmaWxsPVwiI0YwNDQzOFwiLz5cclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPC9nPlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8L3N2Zz5cclxuICAgICAgICAgICAgICAgICAgICAgICAgPHNwYW4gY2xhc3M9XCJtcy0yXCI+e3tnZXRSZWNhcFZpZGVvRGF0YT8uaGVhbHRoID8/ICctLSd9fTwvc3Bhbj5cclxuICAgICAgICAgICAgICAgICAgICA8L2J1dHRvbj5cclxuICAgICAgICAgICAgICAgICAgICAgICAgPCEtLSA8YnV0dG9uIHR5cGU9XCJidXR0b25cIiAoY2xpY2spPVwiY2FtZXJhVmlldygpXCJcclxuICAgICAgICAgICAgICAgICAgICAgICAgY2xhc3M9XCJidG4gbXgtMiBidG4tbGlnaHQtcHJpbWFyeTEgcm91bmRlZC0zIHRleHQtbm93cmFwIGJvcmRlci12YWxcIj5cclxuICAgICAgICAgICAgICAgICAgICAgICAgPHNwYW4gY2xhc3M9XCJtcy0yXCI+TGl2ZSBWaWV3PC9zcGFuPlxyXG4gICAgICAgICAgICAgICAgICAgIDwvYnV0dG9uPiAtLT5cclxuICAgICAgICAgICAgICAgICAgICA8L2Rpdj5cclxuICAgICAgICAgICAgXHJcbiAgICAgICAgICAgICAgICA8L2Rpdj5cclxuICAgICAgICAgICAgICAgIDxkaXYgKm5nSWY9XCJyZWNhcGxhb2RpbmdcIiBjbGFzcz1cInJvdyBsb2FkZXIgZC1mbGV4IGp1c3RpZnktY29udGVudC1jZW50ZXIgYWxpZ24taXRlbXMtY2VudGVyIGgtMjI1cHhcIj5cclxuICAgICAgICAgICAgICAgICAgICA8ZGl2IGNsYXNzPVwic2hpbW1lciBwdC0wXCI+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgIDxkaXYgY2xhc3M9XCJ3cmFwcGVyXCI+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICA8ZGl2IGNsYXNzPVwic3Ryb2tlIGFuaW1hdGUgdGl0bGVcIj48L2Rpdj5cclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxkaXYgY2xhc3M9XCJzdHJva2UgYW5pbWF0ZSBsaW5rXCI+PC9kaXY+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICA8ZGl2IGNsYXNzPVwic3Ryb2tlIGFuaW1hdGUgdGl0bGVcIj48L2Rpdj5cclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxkaXYgY2xhc3M9XCJzdHJva2UgYW5pbWF0ZSBsaW5rXCI+PC9kaXY+XHJcblxyXG4gICAgICAgICAgICAgICAgICAgICAgICA8L2Rpdj5cclxuICAgICAgICAgICAgICAgICAgICA8L2Rpdj5cclxuICAgICAgICAgICAgICAgIDwvZGl2PlxyXG4gICAgICAgICAgICAgICAgPGRpdiAqbmdJZj1cInJlY2Fwbm9EYXRhXCIgIGNsYXNzPVwicm93IHB4LTNcIj5cclxuICAgICAgICAgICAgICAgICAgICA8ZGl2IGNsYXNzPVwiY29sLW1kLTEyXCI+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgIDxkaXYgKm5nSWY9XCJub3JtYWxpemVcIiBjbGFzcz1cImNhcmQtYm9keSBkLWZsZXgganVzdGlmeS1jb250ZW50LWNlbnRlciBtYi0xMCBhbGlnbi1pdGVtcy1jZW50ZXIgZmxleC1jb2x1bW5cIj5cclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxpbWcgY2xhc3M9XCJpbWctbWFwMVwiIHNyYz1cIi4vYXNzZXRzL3RhbmdvL0ljb25zL25vdC1hcHBsaWNhYmxlLnN2Z1wiIGFsdD1cIlwiPlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgPGRpdiBjbGFzcz1cIm5vZGF0YS10aXRsZSBtdC0zXCI+RGF0YSBOb3QgRm91bmQ8L2Rpdj5cclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxkaXYgY2xhc3M9XCJub2RhdGEtc3ViXCI+Tm9ybWFsaXplZCBkYXRhIGlzIG5vdCBhcHBsaWNhYmxlPC9kaXY+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgIDwvZGl2PlxyXG4gICAgICAgICAgICAgICAgICAgICAgICA8ZGl2ICpuZ0lmPVwiIW5vcm1hbGl6ZVwiIGNsYXNzPVwiY2FyZC1ib2R5IGQtZmxleCBqdXN0aWZ5LWNvbnRlbnQtY2VudGVyIGFsaWduLWl0ZW1zLWNlbnRlciBmbGV4LWNvbHVtblwiPlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgPGltZyBjbGFzcz1cImltZy1tYXAtcmVjYXBcIiBzcmM9XCIuL2Fzc2V0cy90YW5nby9JY29ucy9Ob2RhdGExLnN2Z1wiIGFsdD1cIlwiPlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgPGRpdiBjbGFzcz1cIm5vZGF0YS10aXRsZVwiPk5vIGRhdGEgZm91bmQ8L2Rpdj5cclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxkaXYgY2xhc3M9XCJub2RhdGEtc3ViXCI+VGhlcmUgaXMgbm8gcmVzdWx0IGZvciB0aGlzIFJlY2FwIHZpZGVvPC9kaXY+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgIDwvZGl2PlxyXG4gICAgICAgICAgICAgICAgICAgIDwvZGl2PlxyXG4gICAgICAgICAgICAgICAgPC9kaXY+XHJcbiAgICAgICAgICAgICAgICA8ZGl2ICpuZ0lmPVwiIXJlY2FwbGFvZGluZyAmJiAhcmVjYXBub0RhdGFcIiBjbGFzcz1cImNhcmQtYm9keSBwLTBcIj5cclxuICAgICAgICAgICAgICAgICAgICA8ZGl2IGNsYXNzPVwicm93IG14LTNcIj5cclxuICAgICAgICAgICAgICAgIFxyXG4gICAgICAgICAgICAgICAgICAgICAgICA8ZGl2IGNsYXNzPVwiY2Fyb3VzZWxcIj5cclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxkaXYgY2xhc3M9XCJjYXJvdXNlbC1pbm5lclwiPlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8ZGl2XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgY2xhc3M9XCJjYXJvdXNlbC1pdGVtXCJcclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAqbmdGb3I9XCJsZXQgZ3JvdXAgb2YgcmVjYXBzR3JvdXBlZDsgbGV0IGkgPSBpbmRleFwiXHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgW2NsYXNzLmFjdGl2ZV09XCJpID09PSBjdXJyZW50SW5kZXhcIlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICA+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGRpdiBjbGFzcz1cInJvd1wiPlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGRpdiAqbmdGb3I9XCJsZXQgcGFpciBvZiBncm91cFwiIFtuZ0NsYXNzXT1cImNvbFZhbHVlXCI+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxpbWcgW3NyY109XCJwYWlyLnRodW1iSW1hZ2VcIlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIChjbGljayk9XCJ2aWRlb0NsaWNrKHBhaXIpXCJcclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBjbGFzcz1cImltYWdlLXRodW1iIG1iLTggZC1ibG9jayB3LTEwMCBjdXJzb3ItcG9pbnRlclwiXHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgYWx0PVwiSW1hZ2Uge3sgaSArIDEgfX1cIiAvPlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPC9kaXY+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPC9kaXY+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvZGl2PlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgPC9kaXY+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgXHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICA8IS0tIENvbmRpdGlvbmFsbHkgZGlzcGxheSBQcmV2aW91cyBidXR0b24gLS0+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICA8YnV0dG9uIGNsYXNzPVwiY2Fyb3VzZWwtY29udHJvbC1wcmV2XCIgKm5nSWY9XCJjdXJyZW50SW5kZXggPiAwXCIgKGNsaWNrKT1cInByZXZTbGlkZSgpXCI+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxzcGFuIGNsYXNzPVwiY2Fyb3VzZWwtY29udHJvbC1wcmV2LWljb25cIj48L3NwYW4+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICA8L2J1dHRvbj5cclxuICAgICAgICAgICAgICAgICAgICAgICAgICBcclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwhLS0gQ29uZGl0aW9uYWxseSBkaXNwbGF5IE5leHQgYnV0dG9uIC0tPlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgPGJ1dHRvbiBjbGFzcz1cImNhcm91c2VsLWNvbnRyb2wtbmV4dFwiICpuZ0lmPVwiY3VycmVudEluZGV4IDwgcmVjYXBzR3JvdXBlZC5sZW5ndGggLSAxXCIgKGNsaWNrKT1cIm5leHRTbGlkZSgpXCI+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxzcGFuIGNsYXNzPVwiY2Fyb3VzZWwtY29udHJvbC1uZXh0LWljb25cIj48L3NwYW4+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICA8L2J1dHRvbj5cclxuICAgICAgICAgICAgICAgICAgICAgICAgICBcclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwhLS0gTmF2aWdhdGlvbiBEb3RzIC0tPlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgPGRpdiAqbmdJZj1cInJlY2Fwc0dyb3VwZWQubGVuZ3RoID4gMVwiIGNsYXNzPVwicm93XCI+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDx1bCBjbGFzcz1cImNhcm91c2VsLWluZGljYXRvcnNcIj5cclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8bGkgKm5nRm9yPVwibGV0IGdyb3VwIG9mIHJlY2Fwc0dyb3VwZWQ7IGxldCBpID0gaW5kZXhcIlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBbY2xhc3MuYWN0aXZlXT1cImkgPT09IGN1cnJlbnRJbmRleFwiXHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIChjbGljayk9XCJnb1RvU2xpZGUoaSlcIj5cclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8L2xpPlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8L3VsPlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgPC9kaXY+XHJcblxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgIDwvZGl2PlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgIFxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgIFxyXG4gICAgICAgICAgICAgICAgICAgICAgICA8IS0tIDx2aWRlbyBjb250cm9scyBhdXRvcGxheSBjbGFzcz1cInJlY2FwLWltZyBwLTNcIiBbc3JjXT1cImdldFJlY2FwRGF0YT8udmlkZW9VUkxcIj4gLS0+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICA8IS0tIDxzb3VyY2UgIHR5cGU9XCJ2aWRlby9tcDRcIj4gLS0+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICA8IS0tIDxzb3VyY2UgW3NyY109XCJnZXRSZWNhcERhdGE/LnZpZGVvVVJMXCIgdHlwZT1cInZpZGVvL29nZ1wiPiAtLT5cclxuICAgICAgICAgICAgICAgICAgICAgICAgICA8IS0tIDwvdmlkZW8+IC0tPlxyXG4gICAgICAgICAgICAgICAgICAgICAgICA8IS0tIDxkaXYgI21hcENvbnRhaW5lciBzdHlsZT1cImhlaWdodDoyMzBweDtcIj48L2Rpdj4gLS0+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgIDwhLS0gPGRpdiBjbGFzcz1cImNvbC1tZC02IG1iLTNcIj48aW1nIHNyYz1cImFzc2V0cy90YW5nby9JbWFnZXMvcmVjYXAuc3ZnXCIgYWx0PVwiXCIgY2xhc3M9XCJyZWNhcC1pbWdcIj48L2Rpdj5cclxuICAgICAgICAgICAgICAgICAgICAgICAgPGRpdiBjbGFzcz1cImNvbC1tZC02IG1iLTNcIj48aW1nIHNyYz1cImFzc2V0cy90YW5nby9JbWFnZXMvcmVjYXAuc3ZnXCIgYWx0PVwiXCIgY2xhc3M9XCJyZWNhcC1pbWdcIj48L2Rpdj4gLS0+XHJcblxyXG4gICAgICAgICAgICAgICAgICAgIDwvZGl2PlxyXG4gICAgICAgICAgICAgICAgPC9kaXY+XHJcbiAgICAgICAgICAgICAgICA8L2Rpdj5cclxuICAgIFxyXG4gICAgPC9kaXY+XHJcbiAgICA8ZGl2ICBjbGFzcz1cImNvbC1tZC0xMiBtdC0zXCI+XHJcblxyXG4gICAgICAgIDwhLS0gZm9vdGZhbGwgdHJlbmQgY2hhcnRzIC0tPlxyXG4gICAgICAgIDxkaXYgKm5nSWY9XCJzdG9yZUlkYXJyYXlbMF0gIT09JzQ1OS0yJ1wiIGNsYXNzPVwiY2FyZFwiPlxyXG4gICAgICAgICAgICA8ZGl2IGNsYXNzPVwiY2FyZC1oZWFkZXIgYm9yZGVyLTAgcHQtM1wiPlxyXG4gICAgICAgICAgICAgICAgPGgzIGNsYXNzPVwiY2FyZC10aXRsZSBhbGlnbi1pdGVtcy1zdGFydCBmbGV4LWNvbHVtblwiPlxyXG4gICAgICAgICAgICAgICAgICAgIDxzcGFuIGNsYXNzPVwiY2FyZC1sYWJlbDEgbWItMlwiPkZvb3RmYWxsIFRyZW5kPC9zcGFuPlxyXG4gICAgICAgICAgICAgICAgICAgIDxzcGFuIGNsYXNzPVwidGV4dC1zdWIgbWItMlwiPkJhc2VkIG9uIHt7Z2V0RGF0ZVZhbHVlcz8uZnJvbURhdGUgfCBkYXRlOidkZCBNTU0sIHl5eXknfX0g4oCTIHt7Z2V0RGF0ZVZhbHVlcz8udG9EYXRlIHwgZGF0ZTonZGQgTU1NLCB5eXl5J319PC9zcGFuPlxyXG4gICAgICAgICAgICAgICAgPC9oMz5cclxuICAgICAgICAgICAgICAgIDxkaXYgY2xhc3M9XCJjYXJkLXRvb2xiYXIgdGV4dC1ub3dyYXBcIj5cclxuICAgICAgICAgICAgICAgICAgICA8ZGl2IGNsYXNzPVwiZC1mbGV4XCI+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgIDxkaXYgY2xhc3M9XCJkLWZsZXggYWxpZ24taXRlbXMtY2VudGVyIHBvc2l0aW9uLXJlbGF0aXZlIG15LTFcIj5cclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwhLS1iZWdpbjo6TmF2IGdyb3VwLS0+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICA8ZGl2IGNsYXNzPVwibmF2LWdyb3VwIG5hdi1ncm91cC1vdXRsaW5lIGJvcmRlci0xIGJ0bi1ncm91cCBwLTBcIj5cclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8YnV0dG9uIGNsYXNzPVwiYnRuIGJ0bi1vdXRsaW5lIHB4LTYgcHktM1wiXHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIFtuZ0NsYXNzXT1cInR5cGUgPT09ICdkYWlseScgPyAnYWN0aXZlUGxhbkJ0bicgOiAnaW5hY3RpdmVQbGFuQnRuJ1wiXHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIChjbGljayk9XCJzZWxlY3RQbGFuVHJlbmRzKCdkYWlseScpXCI+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIERheVxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvYnV0dG9uPlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwhLS0gTW9udGggQnV0dG9uIC0tPlxyXG4gICAgICAgIFxyXG4gICAgICAgIFxyXG4gICAgICAgIDwhLS0gV2VlayBCdXR0b24gLS0+XHJcbiAgICAgICAgPGJ1dHRvbiAgY2xhc3M9XCJidG4gYnRuLW91dGxpbmUgcHgtNiBweS0zXCJcclxuICAgICAgICAgICAgW25nQ2xhc3NdPVwidHlwZSA9PT0gJ3dlZWtseScgPyAnYWN0aXZlUGxhbkJ0bicgOiAnaW5hY3RpdmVQbGFuQnRuJ1wiXHJcbiAgICAgICAgICAgIChjbGljayk9XCJzZWxlY3RQbGFuVHJlbmRzKCd3ZWVrbHknKVwiPlxyXG4gICAgICAgICAgICBXZWVrXHJcbiAgICAgICAgPC9idXR0b24+XHJcbiAgICAgICAgXHJcbiAgICAgICAgPCEtLSBEYXkgQnV0dG9uLCB2aXNpYmxlIG9ubHkgaWYgZGF0ZUxlbmd0aCBpcyB2YWxpZCBhbmQgdHlwZSBpcyBlaXRoZXIgJ3dlZWtseScgb3IgJ2RhaWx5JyAtLT5cclxuICAgICAgICA8YnV0dG9uIGNsYXNzPVwiYnRuIGJ0bi1vdXRsaW5lIHB4LTYgcHktM1wiXHJcbiAgICAgICAgICAgIFtuZ0NsYXNzXT1cInR5cGUgPT09ICdtb250aGx5JyA/ICdhY3RpdmVQbGFuQnRuJyA6ICdpbmFjdGl2ZVBsYW5CdG4nXCJcclxuICAgICAgICAgICAgKGNsaWNrKT1cInNlbGVjdFBsYW5UcmVuZHMoJ21vbnRobHknKVwiPlxyXG4gICAgICAgICAgICBNb250aFxyXG4gICAgICAgIDwvYnV0dG9uPlxyXG4gICAgICAgIFxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgPC9kaXY+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICA8IS0tZW5kOjpOYXYgZ3JvdXAtLT5cclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxkaXYgY2xhc3M9XCJkLWZsZXhcIj5cclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8c3BhbiBjbGFzcz1cIm14LTIgbXQtMyBkcm9wc2VsZWN0XCI+VHJlbmQ8L3NwYW4+XHJcbiAgICAgICAgXHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGZvcm0gW2Zvcm1Hcm91cF09XCJmb3JtXCI+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxsaWItcmVhY3RpdmUtc2VsZWN0XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgW2Zvcm1Db250cm9sXT1cInNlbGVjdENvbnRyb2xcIiBcclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBbaWRGaWVsZF09XCIndmFsdWUnXCJcclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBbbmFtZUZpZWxkXT1cIidsYWJlbCdcIlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIFtkYXRhXT1cImRhdGFzZXRzXCJcclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBjbGFzcz1cInctMTAwXCJcclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAodmFsdWVDaGFuZ2UpPVwib25WYWx1ZUNoYW5nZXRyZW5kKCRldmVudClcIj5cclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPC9saWItcmVhY3RpdmUtc2VsZWN0PlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPC9mb3JtPlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwhLS0gPHNlbGVjdCBjbGFzcz1cImZvcm0tc2VsZWN0IGZvcm0tc2VsZWN0LXNtXCIgKGNoYW5nZSk9XCJvbkRhdGFzZXRDaGFuZ2UoJGV2ZW50KVwiPlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8b3B0aW9uICpuZ0Zvcj1cImxldCBkYXRhc2V0IG9mIGRhdGFzZXRzXCIgW3ZhbHVlXT1cImRhdGFzZXQudmFsdWVcIj57eyBkYXRhc2V0LmxhYmVsIH19XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvb3B0aW9uPlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvc2VsZWN0PiAtLT5cclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvZGl2PlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgPGRpdiBjbGFzcz1cImQtZmxleCBtdC0xIG1zLTNcIj5cclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8c2VjdGlvbiAqbmdJZj1cInN0b3JlSWRhcnJheT8ubGVuZ3RoID09PSAxXCI+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPHNwYW4gIGNsYXNzPVwiZC1mbGV4IG1zLTEgZHJvcHNlbGVjdCBtdC0yIGN1cnNvci1wb2ludGVyIHRleHQtbm93cmFwIGZzLTVcIj5Gb3JlY2FzdFxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8c3ZnIHhtbG5zPVwiaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmdcIiB3aWR0aD1cIjE2XCIgaGVpZ2h0PVwiMTZcIiB2aWV3Qm94PVwiMCAwIDE2IDE2XCJcclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGZpbGw9XCJub25lXCI+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8ZyBjbGlwLXBhdGg9XCJ1cmwoI2NsaXAwXzI2NDVfMjc0NTkpXCI+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPHBhdGhcclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgZD1cIk0zLjMzMzk4IDEuMzMzMzFMMy40NjA2NSAxLjk1OTk4QzMuNTUxNDIgMi40MDk5OCAzLjc1NjgzIDIuODI4OTMgNC4wNTY5OSAzLjE3NjI4QzQuMzU3MTUgMy41MjM2MiA0Ljc0MTg5IDMuNzg3NTkgNS4xNzM5OCAzLjk0MjY1TDUuMzMzOTggMy45OTk5OEw1LjE3Mzk4IDQuMDU3MzFDNC43NDE4OSA0LjIxMjM3IDQuMzU3MTUgNC40NzYzNCA0LjA1Njk5IDQuODIzNjhDMy43NTY4MyA1LjE3MTAzIDMuNTUxNDIgNS41ODk5OCAzLjQ2MDY1IDYuMDM5OThMMy4zMzM5OCA2LjY2NjY1TDMuMjA3MzIgNi4wMzk5OEMzLjExNjU0IDUuNTg5OTggMi45MTExNCA1LjE3MTAzIDIuNjEwOTggNC44MjM2OEMyLjMxMDgyIDQuNDc2MzQgMS45MjYwNyA0LjIxMjM3IDEuNDkzOTggNC4wNTczMUwxLjMzMzk4IDMuOTk5OThMMS40OTM5OCAzLjk0MjY1QzEuOTI2MDcgMy43ODc1OSAyLjMxMDgyIDMuNTIzNjIgMi42MTA5OCAzLjE3NjI4QzIuOTExMTQgMi44Mjg5MyAzLjExNjU0IDIuNDA5OTggMy4yMDczMiAxLjk1OTk4TDMuMzMzOTggMS4zMzMzMVpNNS4zMzM5OCAxMC42NjY2TDUuNDg3MzIgMTEuNTE3M0M1LjUyNzEzIDExLjczOTIgNS42MjI1NiAxMS45NDc0IDUuNzY0NjggMTIuMTIyNEM1LjkwNjggMTIuMjk3NCA2LjA5MDk4IDEyLjQzMzUgNi4yOTk5OCAxMi41MThMNi42NjczMiAxMi42NjY2TDYuMjk5OTggMTIuODE1M0M2LjA5MDk0IDEyLjg5OTcgNS45MDY2OCAxMy4wMzU2IDUuNzY0NDUgMTMuMjEwNUM1LjYyMjIxIDEzLjM4NTQgNS41MjY2MyAxMy41OTM1IDUuNDg2NjUgMTMuODE1M0w1LjMzMzk4IDE0LjY2NjZMNS4xODA2NSAxMy44MTZDNS4xNDA4NCAxMy41OTQxIDUuMDQ1NDEgMTMuMzg1OSA0LjkwMzI5IDEzLjIxMDlDNC43NjExNyAxMy4wMzU5IDQuNTc2OTkgMTIuODk5OCA0LjM2Nzk4IDEyLjgxNTNMNC4wMDA2NSAxMi42NjY2TDQuMzY3OTggMTIuNTE4QzQuNTc3MDMgMTIuNDMzNiA0Ljc2MTI5IDEyLjI5NzcgNC45MDM1MiAxMi4xMjI4QzUuMDQ1NzYgMTEuOTQ3OSA1LjE0MTMzIDExLjczOTggNS4xODEzMiAxMS41MThMNS4zMzM5OCAxMC42NjY2Wk0xMC42NjczIDEuOTk5OThMMTEuMDM4IDMuNzY5MzFDMTEuMjI2OSA0LjY3MTM3IDExLjY0NjMgNS41MDkwOCAxMi4yNTU0IDYuMjAwNzZDMTIuODY0NSA2Ljg5MjQ0IDEzLjY0MjQgNy40MTQ0OCAxNC41MTMzIDcuNzE1OThMMTUuMzM0IDcuOTk5OThMMTQuNTEzMyA4LjI4Mzk4QzEzLjY0MjQgOC41ODU0OCAxMi44NjQ1IDkuMTA3NTIgMTIuMjU1NCA5Ljc5OTJDMTEuNjQ2MyAxMC40OTA5IDExLjIyNjkgMTEuMzI4NiAxMS4wMzggMTIuMjMwNkwxMC42NjczIDE0TDEwLjI5NjcgMTIuMjMwNkMxMC4xMDc3IDExLjMyODYgOS42ODgzIDEwLjQ5MDkgOS4wNzkyMiA5Ljc5OTJDOC40NzAxNSA5LjEwNzUyIDcuNjkyMjMgOC41ODU0OCA2LjgyMTMyIDguMjgzOThMNi4wMDA2NSA3Ljk5OTk4TDYuODIxMzIgNy43MTU5OEM3LjY5MjIzIDcuNDE0NDggOC40NzAxNSA2Ljg5MjQ0IDkuMDc5MjIgNi4yMDA3NkM5LjY4ODMgNS41MDkwOCAxMC4xMDc3IDQuNjcxMzcgMTAuMjk2NyAzLjc2OTMxTDEwLjY2NzMgMS45OTk5OFpcIlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBzdHJva2U9XCIjMzQ0MDU0XCIgc3Ryb2tlLXdpZHRoPVwiMS41XCIgc3Ryb2tlLWxpbmVjYXA9XCJyb3VuZFwiXHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHN0cm9rZS1saW5lam9pbj1cInJvdW5kXCIgLz5cclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvZz5cclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxkZWZzPlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxjbGlwUGF0aCBpZD1cImNsaXAwXzI2NDVfMjc0NTlcIj5cclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPHJlY3Qgd2lkdGg9XCIxNlwiIGhlaWdodD1cIjE2XCIgZmlsbD1cIndoaXRlXCIgLz5cclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8L2NsaXBQYXRoPlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPC9kZWZzPlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8L3N2Zz5cclxuICAgICAgICBcclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPHNwYW4gY2xhc3M9XCJmb3JtLWNoZWNrIGZvcm0tc3dpdGNoIG14LTNcIj5cclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxpbnB1dCBjbGFzcz1cImZvcm0tY2hlY2staW5wdXQgIGN1cnNvci1wb2ludGVyXCIgdHlwZT1cImNoZWNrYm94XCIgWyhuZ01vZGVsKV09XCJmb3JlY2FzdFwiIChjbGljayk9XCJmb3JlY2FzdEFwaSgkZXZlbnQpXCI+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvc3Bhbj5cclxuICAgICAgICBcclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8L3NwYW4+XHJcbiAgICAgICAgPC9zZWN0aW9uPlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxkaXYgKm5nSWY9XCIhb2JqRGF0YT8uZm9yZWNhc3RcIiBjbGFzcz1cInBvc2l0aW9uLXJlbGF0aXZlIGN1cnNvci1wb2ludGVyXCI+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxkaXYgY2xhc3M9XCJtcy0xXCIgKGNsaWNrKT1cInByb2R1Y3R0cmFpbERyb3Bkb3duKCRldmVudClcIj5cclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxzdmcgd2lkdGg9XCIyMFwiIGhlaWdodD1cIjIwXCIgdmlld0JveD1cIjAgMCAyMCAyMFwiIGZpbGw9XCJub25lXCJcclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHhtbG5zPVwiaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmdcIj5cclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxwYXRoIGQ9XCJNNSAxMEgxNU0yLjUgNUgxNy41TTcuNSAxNUgxMi41XCIgc3Ryb2tlPVwiIzM0NDA1NFwiIHN0cm9rZS13aWR0aD1cIjEuNjY2NjdcIlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHN0cm9rZS1saW5lY2FwPVwicm91bmRcIiBzdHJva2UtbGluZWpvaW49XCJyb3VuZFwiIC8+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvc3ZnPiAgXHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIFxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8L2Rpdj5cclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8L2Rpdj5cclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8ZGl2ICpuZ0lmPVwic2hvd1wiXHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGNsYXNzPVwiY2FyZCBweS0yIHctMjAwcHggcG9zaXRpb24tYWJzb2x1dGUgcHJvZHVjdGRyb3AgdG9wLTIwIGVuZC0xIG10LTEwIHotMVwiPlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8dWwgKm5nSWY9XCIhb2JqRGF0YT8uZm9yZWNhc3RcIiAgY2xhc3M9XCJsaXN0LXVuc3R5bGVkIG1iLTJcIj5cclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwhLS0gPGxpIGNsYXNzPVwicHJvZHVjdHRleHQgcHgtNSBpdGVtcyBjdXJzb3ItcG9pbnRlciBweS00XCIgW25nQ2xhc3NdPVwidHJlbmR0eXBlVmFsdWUgPT09J25vcm1hbGl6ZScgPyAnYmctZm9yY2FzdCc6JydcIiB0eXBlPVwiYnV0dG9uXCJcclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIChjbGljayk9XCJjaGFuZ2VTdGF0dXMoJ25vcm1hbGl6ZScpXCI+Tm9ybWFsaXplXHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPHN2ZyBjbGFzcz1cInRleHQtZW5kIG1zLTIwXCIgKm5nSWY9XCJ0cmVuZHR5cGVWYWx1ZSA9PT0nbm9ybWFsaXplJyA/ICdiZy1mb3JjYXN0JzonJ1wiIHhtbG5zPVwiaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmdcIlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB3aWR0aD1cIjE2XCIgaGVpZ2h0PVwiMTZcIiB2aWV3Qm94PVwiMCAwIDE2IDE2XCIgZmlsbD1cIm5vbmVcIj5cclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPHBhdGggZD1cIk0xMy4zMzI3IDRMNS45OTkzNSAxMS4zMzMzTDIuNjY2MDIgOFwiIHN0cm9rZT1cIiMzNDQwNTRcIiBzdHJva2Utd2lkdGg9XCIxLjVcIlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgc3Ryb2tlLWxpbmVjYXA9XCJyb3VuZFwiIHN0cm9rZS1saW5lam9pbj1cInJvdW5kXCIgLz5cclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8L3N2Zz5cclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPC9saT4gLS0+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxsaSAgKm5nSWY9XCJzdG9yZUlkYXJyYXk/Lmxlbmd0aCA9PT0gMVwiIGNsYXNzPVwicHJvZHVjdHRleHQgcHgtNSBpdGVtcyBjdXJzb3ItcG9pbnRlciBweS00XCIgW25nQ2xhc3NdPVwidHJlbmR0eXBlVmFsdWUgPT09J2FjdHVhbCcgPyAnYmctZm9yY2FzdCc6JydcIiB0eXBlPVwiYnV0dG9uXCJcclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKGNsaWNrKT1cImNoYW5nZVN0YXR1cygnYWN0dWFsJylcIj5BY3R1YWxcclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxzdmcgY2xhc3M9XCJ0ZXh0LWVuZCBtcy0yMFwiICpuZ0lmPVwidHJlbmR0eXBlVmFsdWUgPT09J2FjdHVhbCcgPyAnYmctZm9yY2FzdCc6JydcIiB4bWxucz1cImh0dHA6Ly93d3cudzMub3JnLzIwMDAvc3ZnXCJcclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB3aWR0aD1cIjE2XCIgaGVpZ2h0PVwiMTZcIiB2aWV3Qm94PVwiMCAwIDE2IDE2XCIgZmlsbD1cIm5vbmVcIj5cclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8cGF0aCBkPVwiTTEzLjMzMjcgNEw1Ljk5OTM1IDExLjMzMzNMMi42NjYwMiA4XCIgc3Ryb2tlPVwiIzM0NDA1NFwiIHN0cm9rZS13aWR0aD1cIjEuNVwiXHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHN0cm9rZS1saW5lY2FwPVwicm91bmRcIiBzdHJva2UtbGluZWpvaW49XCJyb3VuZFwiIC8+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8L3N2Zz5cclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8L2xpPlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8bGkgKm5nSWY9XCJzdG9yZUlkYXJyYXk/Lmxlbmd0aCA+IDFcIiBjbGFzcz1cInByb2R1Y3R0ZXh0IHB4LTUgaXRlbXMgY3Vyc29yLXBvaW50ZXIgcHktNFwiIFtuZ0NsYXNzXT1cInRyZW5kdHlwZVZhbHVlID09PSdhdmVyYWdlJyA/ICdiZy1mb3JjYXN0JzonJ1wiIHR5cGU9XCJidXR0b25cIlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKGNsaWNrKT1cImNoYW5nZVN0YXR1cygnYXZlcmFnZScpXCI+QXZlcmFnZVxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPHNwYW4+IDxzdmcgY2xhc3M9XCJ0ZXh0LWVuZCBtcy0yMFwiICpuZ0lmPVwidHJlbmR0eXBlVmFsdWUgPT09J2F2ZXJhZ2UnID8gJ2JnLWZvcmNhc3QnOicnXCIgeG1sbnM9XCJodHRwOi8vd3d3LnczLm9yZy8yMDAwL3N2Z1wiXHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHdpZHRoPVwiMTZcIiBoZWlnaHQ9XCIxNlwiIHZpZXdCb3g9XCIwIDAgMTYgMTZcIiBmaWxsPVwibm9uZVwiPlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8cGF0aCBkPVwiTTEzLjMzMjcgNEw1Ljk5OTM1IDExLjMzMzNMMi42NjYwMiA4XCIgc3Ryb2tlPVwiIzM0NDA1NFwiIHN0cm9rZS13aWR0aD1cIjEuNVwiXHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBzdHJva2UtbGluZWNhcD1cInJvdW5kXCIgc3Ryb2tlLWxpbmVqb2luPVwicm91bmRcIiAvPlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvc3ZnPjwvc3Bhbj5cclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvbGk+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwhLS0gPGxpIGNsYXNzPVwicHJvZHVjdHRleHQgcHgtNSBpdGVtcyBjdXJzb3ItcG9pbnRlciBweS00XCIgW25nQ2xhc3NdPVwidHJlbmR0eXBlVmFsdWUgPT09J3RhcmdldCcgPyAnYmctZm9yY2FzdCc6JydcIiB0eXBlPVwiYnV0dG9uXCJcclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKGNsaWNrKT1cImNoYW5nZVN0YXR1cygndGFyZ2V0JylcIj5UYXJnZXRcclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8c3ZnIGNsYXNzPVwidGV4dC1lbmQgbXMtMjBcIiAqbmdJZj1cInRyZW5kdHlwZVZhbHVlID09PSd0YXJnZXQnID8gJ2JnLWZvcmNhc3QnOicnXCIgeG1sbnM9XCJodHRwOi8vd3d3LnczLm9yZy8yMDAwL3N2Z1wiXHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgd2lkdGg9XCIxNlwiIGhlaWdodD1cIjE2XCIgdmlld0JveD1cIjAgMCAxNiAxNlwiIGZpbGw9XCJub25lXCI+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPHBhdGggZD1cIk0xMy4zMzI3IDRMNS45OTkzNSAxMS4zMzMzTDIuNjY2MDIgOFwiIHN0cm9rZT1cIiMzNDQwNTRcIiBzdHJva2Utd2lkdGg9XCIxLjVcIiBzdHJva2UtbGluZWNhcD1cInJvdW5kXCJcclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgc3Ryb2tlLWxpbmVqb2luPVwicm91bmRcIiAvPlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPC9zdmc+PC9saT4gLS0+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgXHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxsaSBjbGFzcz1cInByb2R1Y3R0ZXh0IHB4LTUgaXRlbXMgY3Vyc29yLXBvaW50ZXIgcHktNFwiIFtuZ0NsYXNzXT1cInRyZW5kdHlwZVZhbHVlID09PSd3ZWVrZW5kcycgPyAnYmctZm9yY2FzdCc6JydcIiB0eXBlPVwiYnV0dG9uXCJcclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKGNsaWNrKT1cImNoYW5nZVN0YXR1cygnd2Vla2VuZHMnKVwiPldlZWtlbmRzXHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPHN2ZyBjbGFzcz1cInRleHQtZW5kIG1zLTIwXCIgKm5nSWY9XCJ0cmVuZHR5cGVWYWx1ZSA9PT0nd2Vla2VuZHMnID8gJ2JnLWZvcmNhc3QnOicnXCIgeG1sbnM9XCJodHRwOi8vd3d3LnczLm9yZy8yMDAwL3N2Z1wiXHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgd2lkdGg9XCIxNlwiIGhlaWdodD1cIjE2XCIgdmlld0JveD1cIjAgMCAxNiAxNlwiIGZpbGw9XCJub25lXCI+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPHBhdGggZD1cIk0xMy4zMzI3IDRMNS45OTkzNSAxMS4zMzMzTDIuNjY2MDIgOFwiIHN0cm9rZT1cIiMzNDQwNTRcIiBzdHJva2Utd2lkdGg9XCIxLjVcIiBzdHJva2UtbGluZWNhcD1cInJvdW5kXCJcclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgc3Ryb2tlLWxpbmVqb2luPVwicm91bmRcIiAvPlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPC9zdmc+PC9saT5cclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBcclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGxpIGNsYXNzPVwicHJvZHVjdHRleHQgcHgtNSBpdGVtcyBjdXJzb3ItcG9pbnRlciBweS00XCIgW25nQ2xhc3NdPVwidHJlbmR0eXBlVmFsdWUgPT09J3dlZWtkYXlzJyA/ICdiZy1mb3JjYXN0JzonJ1wiIHR5cGU9XCJidXR0b25cIlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAoY2xpY2spPVwiY2hhbmdlU3RhdHVzKCd3ZWVrZGF5cycpXCI+V2Vla2RheXNcclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8c3ZnIGNsYXNzPVwidGV4dC1lbmQgbXMtMjBcIiAqbmdJZj1cInRyZW5kdHlwZVZhbHVlID09PSd3ZWVrZGF5cycgPyAnYmctZm9yY2FzdCc6JydcIiB4bWxucz1cImh0dHA6Ly93d3cudzMub3JnLzIwMDAvc3ZnXCJcclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgd2lkdGg9XCIxNlwiIGhlaWdodD1cIjE2XCIgdmlld0JveD1cIjAgMCAxNiAxNlwiIGZpbGw9XCJub25lXCI+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxwYXRoIGQ9XCJNMTMuMzMyNyA0TDUuOTk5MzUgMTEuMzMzM0wyLjY2NjAyIDhcIiBzdHJva2U9XCIjMzQ0MDU0XCIgc3Ryb2tlLXdpZHRoPVwiMS41XCJcclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHN0cm9rZS1saW5lY2FwPVwicm91bmRcIiBzdHJva2UtbGluZWpvaW49XCJyb3VuZFwiIC8+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPC9zdmc+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8L2xpPlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8L3VsPlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvZGl2PlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgPC9kaXY+XHJcbiAgICAgICAgXHJcbiAgICAgICAgICAgICAgICAgICAgICAgIDwvZGl2PlxyXG4gICAgICAgICAgICAgICAgICAgIDwvZGl2PlxyXG4gICAgICAgICAgICAgICAgPC9kaXY+XHJcbiAgICAgICAgICAgIDwvZGl2PlxyXG4gICAgICAgICAgICA8ZGl2ICpuZ0lmPVwibG9hZGluZ1RyZW5kc1wiIGNsYXNzPVwicm93IGxvYWRlciAgZC1mbGV4IGp1c3RpZnktY29udGVudC1jZW50ZXIgYWxpZ24taXRlbXMtY2VudGVyXCI+XHJcbiAgICAgICAgICAgICAgICA8ZGl2IGNsYXNzPVwic2hpbW1lclwiPlxyXG4gICAgICAgICAgICAgICAgICAgIDxkaXYgY2xhc3M9XCJ3cmFwcGVyXCI+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgIDxkaXYgY2xhc3M9XCJzdHJva2UgYW5pbWF0ZSB0aXRsZVwiPjwvZGl2PlxyXG4gICAgICAgICAgICAgICAgICAgICAgICA8ZGl2IGNsYXNzPVwic3Ryb2tlIGFuaW1hdGUgbGlua1wiPjwvZGl2PlxyXG4gICAgICAgICAgICAgICAgICAgICAgICA8ZGl2IGNsYXNzPVwic3Ryb2tlIGFuaW1hdGUgZGVzY3JpcHRpb25cIj48L2Rpdj5cclxuICAgICAgICAgICAgICAgICAgICA8L2Rpdj5cclxuICAgICAgICAgICAgICAgIDwvZGl2PlxyXG4gICAgICAgICAgICAgICAgPGRpdiBjbGFzcz1cInNoaW1tZXJcIj5cclxuICAgICAgICAgICAgICAgICAgICA8ZGl2IGNsYXNzPVwid3JhcHBlclwiPlxyXG4gICAgICAgICAgICAgICAgICAgICAgICA8ZGl2IGNsYXNzPVwic3Ryb2tlIGFuaW1hdGUgdGl0bGVcIj48L2Rpdj5cclxuICAgICAgICAgICAgICAgICAgICAgICAgPGRpdiBjbGFzcz1cInN0cm9rZSBhbmltYXRlIGxpbmtcIj48L2Rpdj5cclxuICAgICAgICAgICAgICAgICAgICAgICAgPGRpdiBjbGFzcz1cInN0cm9rZSBhbmltYXRlIGRlc2NyaXB0aW9uXCI+PC9kaXY+XHJcbiAgICAgICAgICAgICAgICAgICAgPC9kaXY+XHJcbiAgICAgICAgICAgICAgICA8L2Rpdj5cclxuICAgICAgICAgICAgPC9kaXY+XHJcbiAgICAgICAgICAgIDxkaXYgKm5nSWY9XCJub0RhdGFUcmVuZHNcIiBjbGFzcz1cInJvd1wiPlxyXG4gICAgICAgICAgICAgICAgPGRpdiBjbGFzcz1cImNvbC1sZy0xMiBtYi0zXCI+XHJcbiAgICAgICAgICAgICAgICAgICAgPGRpdiBjbGFzcz1cImNhcmQtYm9keSBkLWZsZXgganVzdGlmeS1jb250ZW50LWNlbnRlciBhbGlnbi1pdGVtcy1jZW50ZXIgZmxleC1jb2x1bW5cIj5cclxuICAgICAgICAgICAgICAgICAgICAgICAgPGltZyBjbGFzcz1cImltZy1ub2RhdGFcIiBzcmM9XCIuL2Fzc2V0cy90YW5nby9JY29ucy9Ob2RhdGExLnN2Z1wiIGFsdD1cIlwiPlxyXG4gICAgICAgICAgICAgICAgICAgICAgICA8ZGl2IGNsYXNzPVwibm9kYXRhLXRpdGxlXCI+Tm8gZGF0YSBmb3VuZDwvZGl2PlxyXG4gICAgICAgICAgICAgICAgICAgICAgICA8ZGl2IGNsYXNzPVwibm9kYXRhLXN1YlwiPlRoZXJlIGlzIG5vIHJlc3VsdCBmb3IgdGhpcyBmb290ZmFsbCB0cmVuZDwvZGl2PlxyXG4gICAgICAgICAgICAgICAgICAgIDwvZGl2PlxyXG4gICAgICAgICAgICAgICAgPC9kaXY+XHJcbiAgICAgICAgICAgIDwvZGl2PlxyXG4gICAgICAgICAgICA8ZGl2IGNsYXNzPVwiY2FyZC1ib2R5IHAtMFwiICpuZ0lmPVwiIW5vRGF0YVRyZW5kcyAmJiAhbG9hZGluZ1RyZW5kc1wiPlxyXG4gICAgICAgICAgICAgICAgPGRpdiBjbGFzcz1cInRleHQtY2VudGVyIHB4LTNcIiBpZD1cIkZvb3RmYWxsdHJlbmRcIj48L2Rpdj5cclxuICAgICAgICBcclxuICAgICAgICAgICAgICAgIFxyXG4gICAgICAgICAgICAgICAgPGRpdiAjdG9vbHRpcENvbnRhaW5lciBjbGFzcz1cInRvb2x0aXAtY29udGFpbmVyXCIgPlxyXG4gICAgICAgICAgICAgICAgICAgIDxkaXYgY2xhc3M9XCJ0b29sdGlwLWNvbnRlbnRcIiAqbmdJZj1cInRvb2x0aXBEYXRhXCI+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgIDxkaXYgY2xhc3M9XCJjb250ZW50IHAtNVwiPlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgIDwhLS0gPGRpdiBjbGFzcz1cImNvbnRhaW5lclwiPlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgPHNwYW4gY2xhc3M9XCJ0aXRsZSB0ZXh0LXN0YXJ0XCI+e3t0b29sdGlwRGF0YS5mdWxsU3RvcmVOYW1lfX08L1NwYW4+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICA8c3Bhbj5TdW08L3NwYW4+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICA8c3Bhbj5Bdmc8L3NwYW4+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgPC9kaXY+IC0tPlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgIFxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgIDwhLS0gVGFibGUgZm9yIGNvdW50cyBhbmQgcmF0ZXMgaW4gaG9yaXpvbnRhbCBmb3JtYXQgLS0+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgPHRhYmxlIGNsYXNzPVwidGFibGUgdGFibGUtaG9yaXpvbnRhbCB0cmVuc1wiPlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgPHRoZWFkPlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8dHI+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDx0aCBjbGFzcz1cInRpdGxlIHRleHQtc3RhcnQgcHgtM1wiPnt7dG9vbHRpcERhdGEuZnVsbFN0b3JlTmFtZX19PC90aD5cclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIDx0aCBjbGFzcz1cInRpdGxlIHRleHQtZW5kXCI+U3VtPC90aD5cclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIFxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgPG5nLWNvbnRhaW5lciAqbmdJZj1cInN0b3JlSWRhcnJheT8ubGVuZ3RoICE9PSAxXCI+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICA8dGggKm5nSWY9XCJ0eXBlICE9PSAnZGFpbHknXCIgY2xhc3M9XCJ0aXRsZSB0ZXh0LWVuZFwiPkF2ZzwvdGg+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgIDwvbmctY29udGFpbmVyPlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8L3RyPlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgPC90aGVhZD5cclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIDx0Ym9keT5cclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPCEtLSBDb3VudHMgU2VjdGlvbiAtLT5cclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPHRyID5cclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8dGQgY2xhc3M9XCJ0cmVuZC1sYWJlbFwiICBzdHlsZT1cImxpbmUtaGVpZ2h0OiAxMHB4ICFpbXBvcnRhbnRcIj5Ub3RhbCBGb290ZmFsbDwvdGQ+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPHRkIGNsYXNzPVwidmFsdWVcIiAgc3R5bGU9XCJsaW5lLWhlaWdodDogMTBweCAhaW1wb3J0YW50XCI+e3t0b29sdGlwRGF0YS5mb290ZmFsbF9jb3VudH19PC90ZD5cclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8bmctY29udGFpbmVyICpuZ0lmPVwic3RvcmVJZGFycmF5Py5sZW5ndGggIT09IDFcIj5cclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8dGQgKm5nSWY9XCJ0eXBlICE9PSAnZGFpbHknXCIgY2xhc3M9XCJ2YWx1ZVwiICBzdHlsZT1cImxpbmUtaGVpZ2h0OiAxMHB4ICFpbXBvcnRhbnRcIj57e3Rvb2x0aXBEYXRhLmZvb3RmYWxsX2NvdW50X2F2Z319PC90ZD5cclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8L25nLWNvbnRhaW5lcj5cclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPC90cj5cclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPHRyID5cclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8dGQgY2xhc3M9XCJ0cmVuZC1sYWJlbFwiICBzdHlsZT1cImxpbmUtaGVpZ2h0OiAxMHB4ICFpbXBvcnRhbnRcIj48c3BhbiAqbmdJZj1cImhlYWRlckRhdGE/LmNsaWVudCA9PT0gJzQ1MidcIj5MZXNzIHRoYW4ge3tjbGllbnREYXRhPy5mZWF0dXJlQ29uZmlncz8uYm91bmNlZExpbWl0Py52YWx1ZX19IG1pbnM8L3NwYW4+IDxzcGFuICpuZ0lmPVwiaGVhZGVyRGF0YT8uY2xpZW50ICE9PSAnNDUyJ1wiPkJvdW5jZWQgRm9vdGZhbGw8L3NwYW4+PC90ZD5cclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8dGQgY2xhc3M9XCJ2YWx1ZVwiICBzdHlsZT1cImxpbmUtaGVpZ2h0OiAxMHB4ICFpbXBvcnRhbnRcIj57e3Rvb2x0aXBEYXRhLmJvdW5jZWRfY291bnR9fTwvdGQ+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPG5nLWNvbnRhaW5lciAqbmdJZj1cInN0b3JlSWRhcnJheT8ubGVuZ3RoICE9PSAxXCI+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPHRkICpuZ0lmPVwidHlwZSAhPT0gJ2RhaWx5J1wiIGNsYXNzPVwidmFsdWVcIiAgc3R5bGU9XCJsaW5lLWhlaWdodDogMTBweCAhaW1wb3J0YW50XCI+e3t0b29sdGlwRGF0YS5ib3VuY2VkX2Zvb3RmYWxsX2NvdW50X2F2Z319PC90ZD5cclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8L25nLWNvbnRhaW5lcj5cclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPC90cj5cclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPHRyPlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDx0ZCBjbGFzcz1cInRyZW5kLWxhYmVsXCIgc3R5bGU9XCJsaW5lLWhlaWdodDogMTBweCAhaW1wb3J0YW50XCI+PHNwYW4gKm5nSWY9XCJoZWFkZXJEYXRhPy5jbGllbnQgPT09ICc0NTInXCI+TW9yZSB0aGFuIHt7Y2xpZW50RGF0YT8uZmVhdHVyZUNvbmZpZ3M/LmJvdW5jZWRMaW1pdD8udmFsdWV9fSBtaW5zPC9zcGFuPiA8c3BhbiAqbmdJZj1cImhlYWRlckRhdGE/LmNsaWVudCAhPT0gJzQ1MidcIj5FbmdhZ2Vyczwvc3Bhbj48L3RkPlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDx0ZCBjbGFzcz1cInZhbHVlXCIgc3R5bGU9XCJsaW5lLWhlaWdodDogMTBweCAhaW1wb3J0YW50XCI+e3t0b29sdGlwRGF0YS5lbmdhZ2Vyc19jb3VudH19PC90ZD5cclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8bmctY29udGFpbmVyICpuZ0lmPVwic3RvcmVJZGFycmF5Py5sZW5ndGggIT09IDFcIj5cclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8dGQgKm5nSWY9XCJ0eXBlICE9PSAnZGFpbHknXCIgY2xhc3M9XCJ2YWx1ZVwiIHN0eWxlPVwibGluZS1oZWlnaHQ6IDEwcHggIWltcG9ydGFudFwiPnt7dG9vbHRpcERhdGEuZW5nYWdlcnNfY291bnRfYXZnfX08L3RkPlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvbmctY29udGFpbmVyPlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8L3RyPlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8dHI+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPHRkIGNsYXNzPVwidHJlbmQtbGFiZWxcIiBzdHlsZT1cImxpbmUtaGVpZ2h0OiAxMHB4ICFpbXBvcnRhbnRcIj48c3BhbiAqbmdJZj1cImhlYWRlckRhdGE/LmNsaWVudCA9PT0gJzQ1MidcIj57e2NsaWVudERhdGE/LmZlYXR1cmVDb25maWdzPy5taXNzZWRPcHBvcnR1bml0eUZyb20/LnZhbHVlfX0gLSB7e2NsaWVudERhdGE/LmZlYXR1cmVDb25maWdzPy5taXNzZWRPcHBvcnR1bml0eVRvPy52YWx1ZX19IG1pbnM8L3NwYW4+IDxzcGFuICpuZ0lmPVwiaGVhZGVyRGF0YT8uY2xpZW50ICE9PSAnNDUyJ1wiPk1pc3NlZCBPcHBvcnR1bml0aWVzPC9zcGFuPjwvdGQ+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPHRkIGNsYXNzPVwidmFsdWVcIiBzdHlsZT1cImxpbmUtaGVpZ2h0OiAxMHB4ICFpbXBvcnRhbnRcIj57e3Rvb2x0aXBEYXRhLm1pc3NlZE9wcG9ydHVuaXR5X2NvdW50fX08L3RkPlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxuZy1jb250YWluZXIgKm5nSWY9XCJzdG9yZUlkYXJyYXk/Lmxlbmd0aCAhPT0gMVwiPlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDx0ZCAqbmdJZj1cInR5cGUgIT09ICdkYWlseSdcIiBjbGFzcz1cInZhbHVlXCIgc3R5bGU9XCJsaW5lLWhlaWdodDogMTBweCAhaW1wb3J0YW50XCI+e3t0b29sdGlwRGF0YS5taXNzZWRPcHBvcnR1bml0eV9jb3VudF9hdmd9fTwvdGQ+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPC9uZy1jb250YWluZXI+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvdHI+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDx0ciBzdHlsZT1cImxpbmUtaGVpZ2h0OiAxMHB4ICFpbXBvcnRhbnRcIj5cclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8dGQgY2xhc3M9XCJ0cmVuZC1sYWJlbFwiIHN0eWxlPVwibGluZS1oZWlnaHQ6IDEwcHggIWltcG9ydGFudFwiPkRvd24gVGltZTwvdGQ+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPHRkIGNsYXNzPVwidmFsdWVcIiBzdHlsZT1cImxpbmUtaGVpZ2h0OiAxMHB4ICFpbXBvcnRhbnRcIj57e3Rvb2x0aXBEYXRhLmRvd25fdGltZSA/IHRvb2x0aXBEYXRhLmRvd25fdGltZSA6Jy0tJ319PC90ZD5cclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8bmctY29udGFpbmVyICpuZ0lmPVwic3RvcmVJZGFycmF5Py5sZW5ndGggIT09IDFcIj5cclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8dGQgKm5nSWY9XCJ0eXBlICE9PSAnZGFpbHknXCIgY2xhc3M9XCJ2YWx1ZVwiIHN0eWxlPVwibGluZS1oZWlnaHQ6IDEwcHggIWltcG9ydGFudFwiPnt7dG9vbHRpcERhdGEuZG93bl90aW1lfX08L3RkPlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvbmctY29udGFpbmVyPlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8L3RyPlxyXG4gICAgICAgICAgICAgICAgICAgICAgXHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwhLS0gUmF0ZXMgU2VjdGlvbiAtLT5cclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPHRyID5cclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8dGQgY2xhc3M9XCJ0cmVuZC1sYWJlbFwiIHN0eWxlPVwibGluZS1oZWlnaHQ6IDEwcHggIWltcG9ydGFudFwiPkR3ZWxsIFRpbWU8L3RkPlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDx0ZCBjbGFzcz1cInZhbHVlIHRleHQtbm93cmFwXCIgc3R5bGU9XCJsaW5lLWhlaWdodDogMTBweCAhaW1wb3J0YW50XCI+e3t0b29sdGlwRGF0YS5hdmdEd2VsbFRpbWUudG9GaXhlZCgwKX19IE1pbnM8L3RkPlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxuZy1jb250YWluZXIgKm5nSWY9XCJzdG9yZUlkYXJyYXk/Lmxlbmd0aCAhPT0gMVwiPlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDx0ZCAqbmdJZj1cInR5cGUgIT09ICdkYWlseSdcIiBjbGFzcz1cInZhbHVlIHRleHQtbm93cmFwXCIgc3R5bGU9XCJsaW5lLWhlaWdodDogMTBweCAhaW1wb3J0YW50XCI+e3t0b29sdGlwRGF0YS5hdmdEd2VsbFRpbWUudG9GaXhlZCgwKX19IE1pbnM8L3RkPlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvbmctY29udGFpbmVyPlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8L3RyPlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8dHIgPlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDx0ZCBjbGFzcz1cInRyZW5kLWxhYmVsXCIgc3R5bGU9XCJsaW5lLWhlaWdodDogMTBweCAhaW1wb3J0YW50XCI+PHNwYW4gKm5nSWY9XCJoZWFkZXJEYXRhPy5jbGllbnQgPT09ICc0NTInXCI+IE1vcmUgdGhhbiB7e2NsaWVudERhdGE/LmZlYXR1cmVDb25maWdzPy5jb252ZXJzaW9uPy52YWx1ZX19IG1pbnMgUmF0ZTwvc3Bhbj48c3BhbiAqbmdJZj1cImhlYWRlckRhdGE/LmNsaWVudCAhPT0gJzQ1MidcIj5Db252ZXJzaW9uPC9zcGFuPjwvdGQ+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPHRkIGNsYXNzPVwidmFsdWVcIiBzdHlsZT1cImxpbmUtaGVpZ2h0OiAxMHB4ICFpbXBvcnRhbnRcIj57e3Rvb2x0aXBEYXRhLmNvbnZlcnNpb25SYXRlLnRvRml4ZWQoMCl9fSU8L3RkPlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxuZy1jb250YWluZXIgKm5nSWY9XCJzdG9yZUlkYXJyYXk/Lmxlbmd0aCAhPT0gMVwiPlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDx0ZCAqbmdJZj1cInR5cGUgIT09ICdkYWlseSdcIiBjbGFzcz1cInZhbHVlXCIgc3R5bGU9XCJsaW5lLWhlaWdodDogMTBweCAhaW1wb3J0YW50XCI+e3t0b29sdGlwRGF0YS5jb252ZXJzaW9uUmF0ZS50b0ZpeGVkKDApfX0lPC90ZD5cclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8L25nLWNvbnRhaW5lcj5cclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPC90cj5cclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvdGJvZHk+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgPC90YWJsZT5cclxuICAgICAgICAgICAgICAgICAgICAgICAgPC9kaXY+XHJcbiAgICAgICAgICAgICAgICAgICAgICA8L2Rpdj5cclxuICAgICAgICAgICAgICAgICAgICAgIFxyXG4gICAgICAgICAgICAgICAgICA8L2Rpdj5cclxuICAgICAgICBcclxuICAgICAgICBcclxuICAgICAgICAgICAgICAgICAgPGxpYi1wYWdpbmF0aW9uIFtpdGVtc1BlclBhZ2VdPVwicGFnZVNpemVUcmVuZHNcIiBbY3VycmVudFBhZ2VdPVwib2Zmc2V0VHJlbmRzXCIgW3RvdGFsSXRlbXNdPVwidG90YWxJdGVtc1RyZW5kc1wiXHJcbiAgICAgICAgICAgICAgICAgIFtwYWdpbmF0aW9uU2l6ZXNdPVwicGFnaW5hdGlvblNpemVzVHJlbmRzXCIgW3BhZ2VTaXplXT1cInBhZ2VTaXplVHJlbmRzXCIgKHBhZ2VDaGFuZ2UpPVwib25QYWdlQ2hhbmdlVHJlbmRzKCRldmVudClcIlxyXG4gICAgICAgICAgICAgICAgICAocGFnZVNpemVDaGFuZ2UpPVwib25QYWdlU2l6ZUNoYW5nZVRyZW5kcygkZXZlbnQpXCI+PC9saWItcGFnaW5hdGlvbj5cclxuICAgICAgICAgICAgICAgXHJcbiAgICAgICAgICAgIDwvZGl2PlxyXG4gICAgICAgIDwvZGl2PlxyXG5cclxuICAgICAgICA8IS0tIDxsaWItdHJhZmZpYy1jaGFydHMgY2xhc3M9XCJteS0yXCI+PC9saWItdHJhZmZpYy1jaGFydHM+IC0tPlxyXG4gICAgICAgIDxkaXYgKm5nSWY9XCJzdG9yZUlkYXJyYXlbMF0gIT09JzQ1OS0yJ1wiIGNsYXNzPVwiY2FyZCBtdC0zXCI+XHJcbiAgICAgICAgICAgIDxkaXYgY2xhc3M9XCJjYXJkLWhlYWRlciBteS0zIG14LTJcIj5cclxuICAgICAgICAgICAgICAgIDx1bCBjbGFzcz1cIm5hdiBuYXYtc3RyZXRjaCBuYXYtbGluZS10YWJzMSBuYXYtbGluZS10YWJzIGJvcmRlci10cmFuc3BhcmVudCBmbGV4LW5vd3JhcFwiPlxyXG4gICAgICAgICAgICAgICAgICAgIDxsaSAqbmdJZj1cInRoaXMuaGVhZGVyRGF0YT8uY2xpZW50ICE9PSc0NTknXCIgY2xhc3M9XCJuYXYtaXRlbSBuYXYtaXRlbTFcIiAoY2xpY2spPVwic2VsZWN0ZWRUYWJzKCd0cmFmZmljJylcIj48YVxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgW25nQ2xhc3NdPVwic2VsZWN0ZWRUYWIgPT09J3RyYWZmaWMnID8gJ2FjdGl2ZScgOicnXCJcclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIGNsYXNzPVwibmF2LWxpbmsgbmF2LWxpbmsxIGN1cnNvci1wb2ludGVyIG5vLWJvcmRlciBtZS02IFwiPlRyYWZmaWMgJiBEd2VsbDwvYT5cclxuICAgICAgICAgICAgICAgICAgICA8L2xpPlxyXG4gICAgICAgICAgICAgICAgICAgIDxsaSBjbGFzcz1cIm5hdi1pdGVtIG5hdi1pdGVtMVwiIChjbGljayk9XCJzZWxlY3RlZFRhYnMoJ2Zvb3RmYWxsJylcIj5cclxuICAgICAgICAgICAgICAgICAgICAgICAgPGEgW25nQ2xhc3NdPVwic2VsZWN0ZWRUYWIgPT09J2Zvb3RmYWxsJyA/ICdhY3RpdmUnIDonJ1wiXHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICBjbGFzcz1cIm5hdi1saW5rIG5hdi1saW5rMSBjdXJzb3ItcG9pbnRlciBtZS02XCI+Rm9vdGZhbGw8L2E+XHJcbiAgICAgICAgICAgICAgICAgICAgPC9saT5cclxuICAgICAgICAgICAgICAgICAgICA8bGkgY2xhc3M9XCJuYXYtaXRlbSBuYXYtaXRlbTFcIiAoY2xpY2spPVwic2VsZWN0ZWRUYWJzKCdib3VuY2VkJylcIj48YVxyXG4gICAgICAgICAgICAgICAgICAgICAgICBbbmdDbGFzc109XCJzZWxlY3RlZFRhYiA9PT0nYm91bmNlZCcgPyAnYWN0aXZlJyA6JydcIlxyXG4gICAgICAgICAgICAgICAgICAgICAgICBjbGFzcz1cIm5hdi1saW5rIG5hdi1saW5rMSBjdXJzb3ItcG9pbnRlciBuby1ib3JkZXIgbWUtNiBcIj57e2hlYWRlckRhdGE/LmNsaWVudCA9PT0nNDUyJyA/ICdMZXNzIHRoYW4gJysgZmVhdHVyZUNvbmZpZz8uYm91bmNlZExpbWl0LnZhbHVlKyAnIG1pbnMnIDogJ0JvdW5jZWQnfX0gRm9vdGZhbGw8L2E+XHJcbiAgICAgICAgICAgICAgICA8L2xpPlxyXG4gICAgICAgICAgICAgICAgPGxpIGNsYXNzPVwibmF2LWl0ZW0gbmF2LWl0ZW0xXCIgKGNsaWNrKT1cInNlbGVjdGVkVGFicygnZW5nYWdlcnMnKVwiPlxyXG4gICAgICAgICAgICAgICAgICAgIDxhIFtuZ0NsYXNzXT1cInNlbGVjdGVkVGFiID09PSdlbmdhZ2VycycgPyAnYWN0aXZlJyA6JydcIlxyXG4gICAgICAgICAgICAgICAgICAgICAgICBjbGFzcz1cIm5hdi1saW5rIG5hdi1saW5rMSBjdXJzb3ItcG9pbnRlciBtZS02XCI+e3toZWFkZXJEYXRhPy5jbGllbnQgPT09JzQ1MicgPyAnTW9yZSB0aGFuICcrIGZlYXR1cmVDb25maWc/LmJvdW5jZWRMaW1pdC52YWx1ZSArJyBtaW5zJyA6ICdFbmdhZ2Vycyd9fTwvYT5cclxuICAgICAgICAgICAgICAgIDwvbGk+XHJcbiAgICAgICAgICAgICAgXHJcbiAgICAgICAgICAgICAgICAgICBcclxuICAgICAgICAgICAgICAgICAgICA8bGkgY2xhc3M9XCJuYXYtaXRlbSBuYXYtaXRlbTFcIiAoY2xpY2spPVwic2VsZWN0ZWRUYWJzKCdtaXNzZWRPcHBvcnR1bml0eScpXCI+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgIDxhIFtuZ0NsYXNzXT1cInNlbGVjdGVkVGFiID09PSdtaXNzZWRPcHBvcnR1bml0eScgPyAnYWN0aXZlJyA6JydcIlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgY2xhc3M9XCJuYXYtbGluayBuYXYtbGluazEgY3Vyc29yLXBvaW50ZXIgbWUtNlwiPnt7aGVhZGVyRGF0YT8uY2xpZW50ID09PSc0NTInID8gZmVhdHVyZUNvbmZpZz8ubWlzc2VkT3Bwb3J0dW5pdHlGcm9tLnZhbHVlKycgLSAnKyBmZWF0dXJlQ29uZmlnPy5taXNzZWRPcHBvcnR1bml0eVRvLnZhbHVlKyAnIG1pbnMnOidNaXNzZWQgT3Bwb3J0dW5pdHknfX08L2E+XHJcbiAgICAgICAgICAgICAgICAgICAgPC9saT5cclxuICAgICAgICAgICAgICAgICAgICA8bGkgKm5nSWY9XCJoZWFkZXJEYXRhPy5jbGllbnQgIT09ICc0NTInXCIgY2xhc3M9XCJuYXYtaXRlbSBuYXYtaXRlbTFcIiAoY2xpY2spPVwic2VsZWN0ZWRUYWJzKCdwb3RlbnRpYWxCdXllcnMnKVwiPlxyXG4gICAgICAgICAgICAgICAgICAgICAgICA8YSBbbmdDbGFzc109XCJzZWxlY3RlZFRhYiA9PT0ncG90ZW50aWFsQnV5ZXJzJyA/ICdhY3RpdmUnIDonJ1wiXHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICBjbGFzcz1cIm5hdi1saW5rIG5hdi1saW5rMSBjdXJzb3ItcG9pbnRlciBtZS02XCI+UG90ZW50aWFsIEJ1eWVyPC9hPlxyXG4gICAgICAgICAgICAgICAgICAgIDwvbGk+XHJcbiAgICAgICAgICAgICAgICAgICAgPGxpIGNsYXNzPVwibmF2LWl0ZW0gbmF2LWl0ZW0xXCIgKGNsaWNrKT1cInNlbGVjdGVkVGFicygnY29udmVyc2lvbicpXCI+PGFcclxuICAgICAgICAgICAgICAgICAgICAgICAgW25nQ2xhc3NdPVwic2VsZWN0ZWRUYWIgPT09J2NvbnZlcnNpb24nID8gJ2FjdGl2ZScgOicnXCJcclxuICAgICAgICAgICAgICAgICAgICAgICAgY2xhc3M9XCJuYXYtbGluayBuYXYtbGluazEgY3Vyc29yLXBvaW50ZXIgbm8tYm9yZGVyIG1lLTYgXCI+e3toZWFkZXJEYXRhPy5jbGllbnQgPT09ICc0NTInID8gJ01vcmUgdGhhbiAnKyBmZWF0dXJlQ29uZmlnPy5jb252ZXJzaW9uLnZhbHVlICsgJyBtaW5zJzonQ29udmVyc2lvbid9fTwvYT5cclxuICAgICAgICAgICAgICAgIDwvbGk+XHJcbiAgICAgICAgICAgICAgICA8L3VsPlxyXG4gICAgICAgICAgICA8L2Rpdj5cclxuICAgICAgICBcclxuICAgICAgICAgICAgPGRpdiBjbGFzcz1cImNhcmQtYm9keVwiPlxyXG4gICAgICAgICAgICAgICAgPGRpdiAqbmdJZj1cImNoYXJ0bG9hZGluZ1wiIGNsYXNzPVwicm93IGxvYWRlciAgZC1mbGV4IGp1c3RpZnktY29udGVudC1jZW50ZXIgYWxpZ24taXRlbXMtY2VudGVyXCI+XHJcbiAgICAgICAgICAgICAgICAgICAgPGRpdiBjbGFzcz1cInNoaW1tZXJcIj5cclxuICAgICAgICAgICAgICAgICAgICAgICAgPGRpdiBjbGFzcz1cIndyYXBwZXJcIj5cclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxkaXYgY2xhc3M9XCJzdHJva2UgYW5pbWF0ZSB0aXRsZVwiPjwvZGl2PlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgPGRpdiBjbGFzcz1cInN0cm9rZSBhbmltYXRlIGxpbmtcIj48L2Rpdj5cclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxkaXYgY2xhc3M9XCJzdHJva2UgYW5pbWF0ZSBkZXNjcmlwdGlvblwiPjwvZGl2PlxyXG4gICAgICAgICAgICAgICAgICAgICAgICA8L2Rpdj5cclxuICAgICAgICAgICAgICAgICAgICA8L2Rpdj5cclxuICAgICAgICAgICAgICAgICAgICA8ZGl2IGNsYXNzPVwic2hpbW1lclwiPlxyXG4gICAgICAgICAgICAgICAgICAgICAgICA8ZGl2IGNsYXNzPVwid3JhcHBlclwiPlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgPGRpdiBjbGFzcz1cInN0cm9rZSBhbmltYXRlIHRpdGxlXCI+PC9kaXY+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICA8ZGl2IGNsYXNzPVwic3Ryb2tlIGFuaW1hdGUgbGlua1wiPjwvZGl2PlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgPGRpdiBjbGFzcz1cInN0cm9rZSBhbmltYXRlIGRlc2NyaXB0aW9uXCI+PC9kaXY+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgIDwvZGl2PlxyXG4gICAgICAgICAgICAgICAgICAgIDwvZGl2PlxyXG4gICAgICAgICAgICAgICAgPC9kaXY+XHJcbiAgICAgICAgICAgICAgICA8ZGl2ICpuZ0lmPVwiY2hhcnROb0RhdGFcIiBjbGFzcz1cInJvd1wiPlxyXG4gICAgICAgICAgICAgICAgICAgIDxkaXYgY2xhc3M9XCJjb2wtbGctMTIgbWItM1wiPlxyXG4gICAgICAgICAgICAgICAgICAgICAgICA8ZGl2IGNsYXNzPVwiY2FyZC1ib2R5IGQtZmxleCBqdXN0aWZ5LWNvbnRlbnQtY2VudGVyIGFsaWduLWl0ZW1zLWNlbnRlciBmbGV4LWNvbHVtblwiPlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgPGltZyBjbGFzcz1cImltZy1ub2RhdGFcIiBzcmM9XCIuL2Fzc2V0cy90YW5nby9JY29ucy9Ob2RhdGExLnN2Z1wiIGFsdD1cIlwiPlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgPGRpdiBjbGFzcz1cIm5vZGF0YS10aXRsZVwiPk5vIGRhdGEgZm91bmQ8L2Rpdj5cclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxkaXYgY2xhc3M9XCJub2RhdGEtc3ViXCI+VGhlcmUgaXMgbm8gcmVzdWx0IGZvciB0aGlzIDxzcGFuPnt7aGVhZGVyRGF0YT8uY2xpZW50ID09PSc0NTInID8gJ0FuYWx5c2lzJyA6IHNlbGN0ZWRWYWx1ZX19PC9zcGFuPjwvZGl2PlxyXG4gICAgICAgICAgICAgICAgICAgICAgICA8L2Rpdj5cclxuICAgICAgICAgICAgICAgICAgICA8L2Rpdj5cclxuICAgICAgICAgICAgICAgIDwvZGl2PlxyXG4gICAgICAgICAgICAgICAgPGRpdiBjbGFzcz1cInJvd1wiID5cclxuICAgICAgICAgICAgICAgICAgICA8ZGl2IGNsYXNzPVwiY29sLW1kLTIgaC0xMDBcIiAqbmdJZj1cIiFjaGFydGxvYWRpbmcgJiYgIWNoYXJ0Tm9EYXRhXCI+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgIDxkaXYgKm5nSWY9XCJzZWxlY3RlZFRhYiA9PT0ndHJhZmZpYydcIiBjbGFzcz1cImxlZnQtYmFyXCI+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICBcclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxkaXYgY2xhc3M9XCJteS03XCI+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGRpdiBjbGFzcz1cImQtZmxleCBhbGlnbi1pdGVtcy1jZW50ZXIgbXktMTAgbWUtMlwiPlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8ZGl2IGNsYXNzPVwiZmxleC1zaHJpbmstMCBtdC0zXCI+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8c3BhbiBjbGFzcz1cInctMTAwXCI+PHN2ZyB4bWxucz1cImh0dHA6Ly93d3cudzMub3JnLzIwMDAvc3ZnXCIgd2lkdGg9XCIyNFwiIGhlaWdodD1cIjI1XCIgdmlld0JveD1cIjAgMCAyNCAyNVwiIGZpbGw9XCJub25lXCI+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPHBhdGggZD1cIk0xMyAyLjEyNUwzIDE0LjEyNUgxMkwxMSAyMi4xMjVMMjEgMTAuMTI1SDEyTDEzIDIuMTI1WlwiIHN0cm9rZT1cIiM5OEEyQjNcIiBzdHJva2Utd2lkdGg9XCIyXCIgc3Ryb2tlLWxpbmVjYXA9XCJyb3VuZFwiIHN0cm9rZS1saW5lam9pbj1cInJvdW5kXCIvPlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvc3ZnPjwvc3Bhbj5cclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPC9kaXY+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxkaXYgY2xhc3M9XCJteC0zIG10LTFcIj5cclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxkaXYgY2xhc3M9XCJteS0xIGNhcmQtbGFiZWwgbGVmdC1jYXJkLWNvdW50XCI+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAge3tnZXREZW5zaXR5RHdlbGxEYXRhPy5kZW5zaXR5RHdlbGxDYXJkPy5idXNpZXN0RGF5ID9cclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBnZXREZW5zaXR5RHdlbGxEYXRhPy5kZW5zaXR5RHdlbGxDYXJkPy5idXNpZXN0RGF5IDonLS0nfX08L2Rpdj5cclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxkaXYgY2xhc3M9XCJsZWZ0LWNhcmQtY291bnQtaGVhZGVyXCI+QnVzaWVzdCBEYXk8L2Rpdj5cclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPC9kaXY+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPC9kaXY+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGRpdiBjbGFzcz1cImQtZmxleCBhbGlnbi1pdGVtcy1jZW50ZXIgbXktMTAgbWUtMlwiPlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8ZGl2IGNsYXNzPVwiZmxleC1zaHJpbmstMCBtdC0zXCI+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8c3BhbiBjbGFzcz1cInctMTAwXCI+PHN2ZyB4bWxucz1cImh0dHA6Ly93d3cudzMub3JnLzIwMDAvc3ZnXCIgd2lkdGg9XCIyNFwiIGhlaWdodD1cIjI1XCIgdmlld0JveD1cIjAgMCAyNCAyNVwiIGZpbGw9XCJub25lXCI+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPHBhdGggZD1cIk0xMyAyLjEyNUwzIDE0LjEyNUgxMkwxMSAyMi4xMjVMMjEgMTAuMTI1SDEyTDEzIDIuMTI1WlwiIHN0cm9rZT1cIiM5OEEyQjNcIiBzdHJva2Utd2lkdGg9XCIyXCIgc3Ryb2tlLWxpbmVjYXA9XCJyb3VuZFwiIHN0cm9rZS1saW5lam9pbj1cInJvdW5kXCIvPlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvc3ZnPjwvc3Bhbj5cclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPC9kaXY+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxkaXYgY2xhc3M9XCJteC0zIG10LTFcIj5cclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxkaXYgY2xhc3M9XCJteS0xIGNhcmQtbGFiZWwgbGVmdC1jYXJkLWNvdW50XCI+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAge3tnZXREZW5zaXR5RHdlbGxEYXRhPy5kZW5zaXR5RHdlbGxDYXJkPy5idXNpZXN0VGltZSA/XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgZ2V0RGVuc2l0eUR3ZWxsRGF0YT8uZGVuc2l0eUR3ZWxsQ2FyZD8uYnVzaWVzdFRpbWUgOictLSd9fTwvZGl2PlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGRpdiBjbGFzcz1cImxlZnQtY2FyZC1jb3VudC1oZWFkZXJcIj5CdXNpZXN0IFRpbWU8L2Rpdj5cclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPC9kaXY+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPC9kaXY+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGRpdiBjbGFzcz1cImQtZmxleCBhbGlnbi1pdGVtcy1jZW50ZXIgbXktMTAgbWUtMlwiPlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8ZGl2IGNsYXNzPVwiZmxleC1zaHJpbmstMCBtdC0zXCI+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8c3BhbiBjbGFzcz1cInctMTAwXCI+PHN2ZyB4bWxucz1cImh0dHA6Ly93d3cudzMub3JnLzIwMDAvc3ZnXCIgd2lkdGg9XCIyNFwiIGhlaWdodD1cIjI1XCIgdmlld0JveD1cIjAgMCAyNCAyNVwiIGZpbGw9XCJub25lXCI+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPHBhdGggZD1cIk0xMyAyLjEyNUwzIDE0LjEyNUgxMkwxMSAyMi4xMjVMMjEgMTAuMTI1SDEyTDEzIDIuMTI1WlwiIHN0cm9rZT1cIiM5OEEyQjNcIiBzdHJva2Utd2lkdGg9XCIyXCIgc3Ryb2tlLWxpbmVjYXA9XCJyb3VuZFwiIHN0cm9rZS1saW5lam9pbj1cInJvdW5kXCIvPlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvc3ZnPjwvc3Bhbj5cclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPC9kaXY+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxkaXYgY2xhc3M9XCJteC0zIG10LTFcIj5cclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxkaXYgY2xhc3M9XCJteS0xIGNhcmQtbGFiZWwgbGVmdC1jYXJkLWNvdW50XCI+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAge3tnZXREZW5zaXR5RHdlbGxEYXRhPy5kZW5zaXR5RHdlbGxDYXJkPy5hdmdEd2VsbFRpbWUgP1xyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGdldERlbnNpdHlEd2VsbERhdGE/LmRlbnNpdHlEd2VsbENhcmQ/LmF2Z0R3ZWxsVGltZSA6Jy0tJ319IE1pbnM8L2Rpdj5cclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxkaXYgY2xhc3M9XCJsZWZ0LWNhcmQtY291bnQtaGVhZGVyXCI+QXZnIER3ZWxsIFRpbWU8L2Rpdj5cclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPC9kaXY+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPC9kaXY+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGRpdiBjbGFzcz1cImQtZmxleCBhbGlnbi1pdGVtcy1jZW50ZXIgbXktMTAgbWUtMlwiPlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8ZGl2IGNsYXNzPVwiZmxleC1zaHJpbmstMCBtdC0zXCI+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8c3BhbiBjbGFzcz1cInctMTAwXCI+PHN2ZyB4bWxucz1cImh0dHA6Ly93d3cudzMub3JnLzIwMDAvc3ZnXCIgd2lkdGg9XCIyNFwiIGhlaWdodD1cIjI1XCIgdmlld0JveD1cIjAgMCAyNCAyNVwiIGZpbGw9XCJub25lXCI+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPHBhdGggZD1cIk0xMyAyLjEyNUwzIDE0LjEyNUgxMkwxMSAyMi4xMjVMMjEgMTAuMTI1SDEyTDEzIDIuMTI1WlwiIHN0cm9rZT1cIiM5OEEyQjNcIiBzdHJva2Utd2lkdGg9XCIyXCIgc3Ryb2tlLWxpbmVjYXA9XCJyb3VuZFwiIHN0cm9rZS1saW5lam9pbj1cInJvdW5kXCIvPlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvc3ZnPjwvc3Bhbj5cclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPC9kaXY+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxkaXYgY2xhc3M9XCJteC0zIG10LTFcIj5cclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxkaXYgY2xhc3M9XCJteS0xIGNhcmQtbGFiZWwgbGVmdC1jYXJkLWNvdW50XCI+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAge3tnZXREZW5zaXR5RHdlbGxEYXRhPy5kZW5zaXR5RHdlbGxDYXJkPy5tYWxlUmF0ZSA/XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgZ2V0RGVuc2l0eUR3ZWxsRGF0YT8uZGVuc2l0eUR3ZWxsQ2FyZD8ubWFsZVJhdGUgOictLSd9fSU8L2Rpdj5cclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxkaXYgY2xhc3M9XCJsZWZ0LWNhcmQtY291bnQtaGVhZGVyXCI+TWFsZTwvZGl2PlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8L2Rpdj5cclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGRpdiBjbGFzcz1cIm14LTMgbXQtMVwiPlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGRpdiBjbGFzcz1cIm15LTEgY2FyZC1sYWJlbCBsZWZ0LWNhcmQtY291bnRcIj5cclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB7e2dldERlbnNpdHlEd2VsbERhdGE/LmRlbnNpdHlEd2VsbENhcmQ/LmZlbWFsZVJhdGUgP1xyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGdldERlbnNpdHlEd2VsbERhdGE/LmRlbnNpdHlEd2VsbENhcmQ/LmZlbWFsZVJhdGUgOictLSd9fSU8L2Rpdj5cclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxkaXYgY2xhc3M9XCJsZWZ0LWNhcmQtY291bnQtaGVhZGVyXCI+RmVtYWxlPC9kaXY+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvZGl2PlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvZGl2PlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgPC9kaXY+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgIDwvZGl2PlxyXG4gICAgICAgICAgICAgICAgICAgICAgICA8ZGl2ICpuZ0lmPVwic2VsZWN0ZWRUYWIgPT09J2Zvb3RmYWxsJ1wiIGNsYXNzPVwibGVmdC1iYXJcIj5cclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxkaXYgY2xhc3M9XCJ0b3AtaGVhZGVyIHRleHQtY2VudGVyXCI+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGRpdiBjbGFzcz1cImxlZnQtYmFyLWNvdW50XCIgIFtuZ1N0eWxlXT1cIntcclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgJ2ZvbnQtc2l6ZSc6IChnZXRPdmVyYWxsQ2FyZERhdGE/LmZvb3RmYWxsQ2FyZD8uZm9vdGZhbGxDb3VudC50b0xvY2FsZVN0cmluZygpPy5sZW5ndGggPiA1ID8gJzI0cHgnIDogJzM2cHgnKSBcclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIH1cIiA+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB7e2dldE92ZXJhbGxDYXJkRGF0YT8uZm9vdGZhbGxDYXJkPy5mb290ZmFsbENvdW50ID9cclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgZ2V0T3ZlcmFsbENhcmREYXRhPy5mb290ZmFsbENhcmQ/LmZvb3RmYWxsQ291bnQudG9Mb2NhbGVTdHJpbmcoJ2VuLUlOJykgOictLSd9fTwvZGl2PlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxkaXYgY2xhc3M9XCJsZWZ0LWJhci10aXRsZVwiPkZvb3RmYWxsIENvdW50PC9kaXY+XHJcbiAgICAgICAgXHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICA8L2Rpdj5cclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxzcGFuIGNsYXNzPVwidy0xMDBcIj48c3ZnIHhtbG5zPVwiaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmdcIiB3aWR0aD1cIjE3NFwiIGhlaWdodD1cIjJcIlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB2aWV3Qm94PVwiMCAwIDE5NCAyXCIgZmlsbD1cIm5vbmVcIj5cclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPHBhdGggb3BhY2l0eT1cIjAuNFwiIGQ9XCJNMSAxTDE5MyAxXCIgc3Ryb2tlPVwiIzk5REFGRlwiIHN0cm9rZS1saW5lY2FwPVwicm91bmRcIiAvPlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvc3ZnPjwvc3Bhbj5cclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxkaXYgY2xhc3M9XCJteS01XCI+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGRpdiBjbGFzcz1cImQtZmxleCBhbGlnbi1pdGVtcy1jZW50ZXIgbXktNSBtZS0yXCI+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxkaXYgY2xhc3M9XCJmbGV4LXNocmluay0wIG10LTNcIj5cclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxzdmcgeG1sbnM9XCJodHRwOi8vd3d3LnczLm9yZy8yMDAwL3N2Z1wiIHdpZHRoPVwiMjRcIiBoZWlnaHQ9XCIyNFwiIHZpZXdCb3g9XCIwIDAgMjQgMjRcIlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGZpbGw9XCJub25lXCI+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPHBhdGhcclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgZD1cIk0yMCAyMVYxOUMyMCAxNy45MzkxIDE5LjU3ODYgMTYuOTIxNyAxOC44Mjg0IDE2LjE3MTZDMTguMDc4MyAxNS40MjE0IDE3LjA2MDkgMTUgMTYgMTVIOEM2LjkzOTEzIDE1IDUuOTIxNzIgMTUuNDIxNCA1LjE3MTU3IDE2LjE3MTZDNC40MjE0MyAxNi45MjE3IDQgMTcuOTM5MSA0IDE5VjIxTTE2IDdDMTYgOS4yMDkxNCAxNC4yMDkxIDExIDEyIDExQzkuNzkwODYgMTEgOCA5LjIwOTE0IDggN0M4IDQuNzkwODYgOS43OTA4NiAzIDEyIDNDMTQuMjA5MSAzIDE2IDQuNzkwODYgMTYgN1pcIlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBzdHJva2U9XCIjOThBMkIzXCIgc3Ryb2tlLXdpZHRoPVwiMlwiIHN0cm9rZS1saW5lY2FwPVwicm91bmRcIlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBzdHJva2UtbGluZWpvaW49XCJyb3VuZFwiIC8+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8L3N2Zz5cclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPC9kaXY+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxkaXYgY2xhc3M9XCJteC0zIG10LTFcIj5cclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxkaXYgY2xhc3M9XCJteS0xIGNhcmQtbGFiZWwgbGVmdC1jYXJkLWNvdW50XCI+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAge3tnZXRPdmVyYWxsQ2FyZERhdGE/LmZvb3RmYWxsQ2FyZD8uc2luZ2xlQ291bnQgP1xyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGdldE92ZXJhbGxDYXJkRGF0YT8uZm9vdGZhbGxDYXJkPy5zaW5nbGVDb3VudC50b0xvY2FsZVN0cmluZygnZW4tSU4nKSA6Jy0tJ319PC9kaXY+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8ZGl2IGNsYXNzPVwibGVmdC1jYXJkLWNvdW50LWhlYWRlclwiPlNpbmdsZTwvZGl2PlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8L2Rpdj5cclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8L2Rpdj5cclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8ZGl2ICpuZ0lmPVwiaGVhZGVyRGF0YS5jbGllbnQgIT09JzQ1MidcIiBjbGFzcz1cImQtZmxleCBhbGlnbi1pdGVtcy1jZW50ZXIgbXktNSBtZS0yXCI+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxkaXYgY2xhc3M9XCJmbGV4LXNocmluay0wIG10LTNcIj5cclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxzdmcgd2lkdGg9XCIyNlwiIGhlaWdodD1cIjI0XCIgdmlld0JveD1cIjAgMCAyNiAyNFwiIGZpbGw9XCJub25lXCJcclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB4bWxucz1cImh0dHA6Ly93d3cudzMub3JnLzIwMDAvc3ZnXCI+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPHJlY3Qgd2lkdGg9XCIyNlwiIGhlaWdodD1cIjI0XCIgZmlsbD1cIiNEQ0RDRENcIiAvPlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxyZWN0IHg9XCItNDYwLjVcIiB5PVwiLTM0MC41XCIgd2lkdGg9XCI3ODNcIiBoZWlnaHQ9XCIxOTQ3XCIgcng9XCI0LjVcIiBzdHJva2U9XCIjOTc0N0ZGXCJcclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgc3Ryb2tlLWRhc2hhcnJheT1cIjEwIDVcIiAvPlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxtYXNrIGlkPVwicGF0aC0yLWluc2lkZS0xXzcwN18xMzEwNlwiIGZpbGw9XCJ3aGl0ZVwiPlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8cGF0aFxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgZD1cIk0tMTg5IC04OUMtMTg5IC05NS42Mjc0IC0xODMuNjI3IC0xMDEgLTE3NyAtMTAxSDI5NUMzMDEuNjI3IC0xMDEgMzA3IC05NS42Mjc0IDMwNyAtODlWODVDMzA3IDkxLjYyNzQgMzAxLjYyNyA5NyAyOTUgOTdILTE3N0MtMTgzLjYyNyA5NyAtMTg5IDkxLjYyNzQgLTE4OSA4NVYtODlaXCIgLz5cclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8L21hc2s+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPHBhdGhcclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgZD1cIk0tMTg5IC04OUMtMTg5IC05NS42Mjc0IC0xODMuNjI3IC0xMDEgLTE3NyAtMTAxSDI5NUMzMDEuNjI3IC0xMDEgMzA3IC05NS42Mjc0IDMwNyAtODlWODVDMzA3IDkxLjYyNzQgMzAxLjYyNyA5NyAyOTUgOTdILTE3N0MtMTgzLjYyNyA5NyAtMTg5IDkxLjYyNzQgLTE4OSA4NVYtODlaXCJcclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgZmlsbD1cIndoaXRlXCIgLz5cclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8cGF0aFxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBkPVwiTS0xOTAgLTg5Qy0xOTAgLTk2LjE3OTcgLTE4NC4xOCAtMTAyIC0xNzcgLTEwMkgyOTRDMzAxLjE4IC0xMDIgMzA3IC05Ni4xNzk3IDMwNyAtODlDMzA3IC05NS4wNzUxIDMwMS42MjcgLTEwMCAyOTUgLTEwMEgtMTc3Qy0xODMuMDc1IC0xMDAgLTE4OCAtOTUuMDc1MSAtMTg4IC04OUgtMTkwWk0zMDcgODVDMzA3IDkyLjE3OTcgMzAxLjE4IDk4IDI5NCA5OEgtMTc3Qy0xODQuMTggOTggLTE5MCA5Mi4xNzk3IC0xOTAgODVILTE4OEMtMTg4IDkxLjA3NTEgLTE4My4wNzUgOTYgLTE3NyA5NkgyOTVDMzAxLjYyNyA5NiAzMDcgOTEuMDc1MSAzMDcgODVaTS0xNzcgOThDLTE4NC4xOCA5OCAtMTkwIDkyLjE3OTcgLTE5MCA4NVYtODlDLTE5MCAtOTYuMTc5NyAtMTg0LjE4IC0xMDIgLTE3NyAtMTAyVi0xMDBDLTE4My4wNzUgLTEwMCAtMTg4IC05NS4wNzUxIC0xODggLTg5Vjg1Qy0xODggOTEuMDc1MSAtMTgzLjA3NSA5NiAtMTc3IDk2Vjk4Wk0zMDcgLTEwMVY5N1YtMTAxWlwiXHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGZpbGw9XCIjRDBENUREXCIgbWFzaz1cInVybCgjcGF0aC0yLWluc2lkZS0xXzcwN18xMzEwNilcIiAvPlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxtYXNrIGlkPVwicGF0aC02LWluc2lkZS0yXzcwN18xMzEwNlwiIGZpbGw9XCJ3aGl0ZVwiPlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8cGF0aFxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgZD1cIk03LjcxMDY0IDcuMzg0NjJDOC4xOTU1MiA3LjM4NDYyIDguNjc1NjUgNy4yODkxMSA5LjEyMzYyIDcuMTAzNTZDOS41NzE1OSA2LjkxOCA5Ljk3ODYzIDYuNjQ2MDMgMTAuMzIxNSA2LjMwMzE2QzEwLjY2NDQgNS45NjAzIDEwLjkzNjMgNS41NTMyNiAxMS4xMjE5IDUuMTA1MjlDMTEuMzA3NCA0LjY1NzMyIDExLjQwMjkgNC4xNzcxOSAxMS40MDI5IDMuNjkyMzFDMTEuNDAyOSAzLjIwNzQzIDExLjMwNzQgMi43MjcyOSAxMS4xMjE5IDIuMjc5MzJDMTAuOTM2MyAxLjgzMTM1IDEwLjY2NDQgMS40MjQzMSAxMC4zMjE1IDEuMDgxNDVDOS45Nzg2MyAwLjczODU5IDkuNTcxNTkgMC40NjY2MTYgOS4xMjM2MiAwLjI4MTA2QzguNjc1NjUgMC4wOTU1MDQzIDguMTk1NTIgLTcuMjI1MjllLTA5IDcuNzEwNjQgMEM2LjczMTM4IDEuNDU5MjFlLTA4IDUuNzkyMjIgMC4zODkwMSA1LjA5OTc4IDEuMDgxNDVDNC40MDczNCAxLjc3Mzg5IDQuMDE4MzMgMi43MTMwNSA0LjAxODMzIDMuNjkyMzFDNC4wMTgzMyA0LjY3MTU3IDQuNDA3MzQgNS42MTA3MiA1LjA5OTc4IDYuMzAzMTZDNS43OTIyMiA2Ljk5NTYxIDYuNzMxMzggNy4zODQ2MiA3LjcxMDY0IDcuMzg0NjJaTTE4Ljc4NzYgNy4zODQ2MkMxOS4yNzI0IDcuMzg0NjIgMTkuNzUyNiA3LjI4OTExIDIwLjIwMDUgNy4xMDM1NkMyMC42NDg1IDYuOTE4IDIxLjA1NTYgNi42NDYwMyAyMS4zOTg0IDYuMzAzMTZDMjEuNzQxMyA1Ljk2MDMgMjIuMDEzMyA1LjU1MzI2IDIyLjE5ODggNS4xMDUyOUMyMi4zODQ0IDQuNjU3MzIgMjIuNDc5OSA0LjE3NzE5IDIyLjQ3OTkgMy42OTIzMUMyMi40Nzk5IDMuMjA3NDMgMjIuMzg0NCAyLjcyNzI5IDIyLjE5ODggMi4yNzkzMkMyMi4wMTMzIDEuODMxMzUgMjEuNzQxMyAxLjQyNDMxIDIxLjM5ODQgMS4wODE0NUMyMS4wNTU2IDAuNzM4NTkgMjAuNjQ4NSAwLjQ2NjYxNiAyMC4yMDA1IDAuMjgxMDZDMTkuNzUyNiAwLjA5NTUwNDMgMTkuMjcyNCAtNy4yMjUyOWUtMDkgMTguNzg3NiAwQzE3LjgwODMgMS40NTkyMWUtMDggMTYuODY5MSAwLjM4OTAxIDE2LjE3NjcgMS4wODE0NUMxNS40ODQzIDEuNzczODkgMTUuMDk1MyAyLjcxMzA1IDE1LjA5NTMgMy42OTIzMUMxNS4wOTUzIDQuNjcxNTcgMTUuNDg0MyA1LjYxMDcyIDE2LjE3NjcgNi4zMDMxNkMxNi44NjkxIDYuOTk1NjEgMTcuODA4MyA3LjM4NDYyIDE4Ljc4NzYgNy4zODQ2MlpNMC45NDE0MDYgMTAuNzM2QzAuOTQxNDA2IDEwLjQ1NzUgMC45OTYyNTggMTAuMTgxOCAxLjEwMjgzIDkuOTI0NDhDMS4yMDk0IDkuNjY3MTkgMS4zNjU2IDkuNDMzNDIgMS41NjI1MiA5LjIzNjVDMS43NTk0NCA5LjAzOTU4IDEuOTkzMjEgOC44ODMzOCAyLjI1MDUgOC43NzY4MUMyLjUwNzc4IDguNjcwMjQgMi43ODM1NCA4LjYxNTM5IDMuMDYyMDIgOC42MTUzOUg4Ljk4NDQ4QzguNTUxNjkgOS4zNjM0NSA4LjMyNDUyIDEwLjIxMjcgOC4zMjYwMiAxMS4wNzY5QzguMzI1MTkgMTEuNzc1NSA4LjQ3MzQxIDEyLjQ2NjIgOC43NjA3OSAxMy4xMDI5QzkuMDQ4MTYgMTMuNzM5NiA5LjQ2ODA3IDE0LjMwNzcgOS45OTI0OCAxNC43NjkySDguNjAwNDhDOC4wMTQxOCAxNC43Njg3IDcuNDM4MDMgMTQuOTIyMiA2LjkyOTY5IDE1LjIxNDRDNi40MjEzNCAxNS41MDY1IDUuOTk4NjQgMTUuOTI3IDUuNzAzODcgMTYuNDMzOEMzLjcyMTEgMTYuMDQ0OSAyLjUxNjE4IDE1LjA3ODIgMS44MTQ2NCAxMy45OTJDMC45NDE0MDYgMTIuNjQgMC45NDE0MDYgMTEuMjQzMSAwLjk0MTQwNiAxMS4wMDEyVjEwLjczNlpNMTcuODk3NyAxNC43NjkyQzE4LjQ4NCAxNC43Njg3IDE5LjA2MDIgMTQuOTIyMiAxOS41Njg1IDE1LjIxNDRDMjAuMDc2OSAxNS41MDY1IDIwLjQ5OTYgMTUuOTI3IDIwLjc5NDMgMTYuNDMzOEMyMi43NzcxIDE2LjA0NDkgMjMuOTgyIDE1LjA3ODIgMjQuNjgzNiAxMy45OTJDMjUuNTU2OCAxMi42NCAyNS41NTY4IDExLjI0MzEgMjUuNTU2OCAxMS4wMDEyVjEwLjczNjZDMjUuNTU2OSAxMC40NTgxIDI1LjUwMjEgMTAuMTgyMyAyNS4zOTU1IDkuOTI0OUMyNS4yODkgOS42Njc1NSAyNS4xMzI4IDkuNDMzNyAyNC45MzU5IDkuMjM2NzJDMjQuNzM5IDkuMDM5NzMgMjQuNTA1MiA4Ljg4MzQ4IDI0LjI0NzggOC43NzY4N0MyMy45OTA1IDguNjcwMjYgMjMuNzE0NyA4LjYxNTM5IDIzLjQzNjIgOC42MTUzOUgxNy41MTM3QzE3Ljk0NjUgOS4zNjM0NSAxOC4xNzM3IDEwLjIxMjcgMTguMTcyMiAxMS4wNzY5QzE4LjE3MyAxMS43NzU1IDE4LjAyNDggMTIuNDY2MiAxNy43Mzc0IDEzLjEwMjlDMTcuNDUgMTMuNzM5NiAxNy4wMzAxIDE0LjMwNzcgMTYuNTA1NyAxNC43NjkySDE3Ljg5NzdaTTE2Ljk0MTQgMTEuMDc2OUMxNi45NDE0IDEyLjA1NjIgMTYuNTUyNCAxMi45OTUzIDE1Ljg2IDEzLjY4NzhDMTUuMTY3NSAxNC4zODAyIDE0LjIyODQgMTQuNzY5MiAxMy4yNDkxIDE0Ljc2OTJDMTIuMjY5OCAxNC43NjkyIDExLjMzMDcgMTQuMzgwMiAxMC42MzgyIDEzLjY4NzhDOS45NDU4IDEyLjk5NTMgOS41NTY3OSAxMi4wNTYyIDkuNTU2NzkgMTEuMDc2OUM5LjU1Njc5IDEwLjA5NzcgOS45NDU4IDkuMTU4NTEgMTAuNjM4MiA4LjQ2NjA3QzExLjMzMDcgNy43NzM2MyAxMi4yNjk4IDcuMzg0NjIgMTMuMjQ5MSA3LjM4NDYyQzE0LjIyODQgNy4zODQ2MiAxNS4xNjc1IDcuNzczNjMgMTUuODYgOC40NjYwN0MxNi41NTI0IDkuMTU4NTEgMTYuOTQxNCAxMC4wOTc3IDE2Ljk0MTQgMTEuMDc2OVpNNi40Nzk4NyAxOC4xMjA2QzYuNDc5ODcgMTcuNTU4MiA2LjcwMzI5IDE3LjAxODggNy4xMDA5OCAxNi42MjExQzcuNDk4NjcgMTYuMjIzNCA4LjAzODA2IDE2IDguNjAwNDggMTZIMTcuODk3N0MxOC40NjAxIDE2IDE4Ljk5OTUgMTYuMjIzNCAxOS4zOTcyIDE2LjYyMTFDMTkuNzk0OSAxNy4wMTg4IDIwLjAxODMgMTcuNTU4MiAyMC4wMTgzIDE4LjEyMDZWMTguMzg1OEMyMC4wMTgzIDE4LjYyODMgMjAuMDE4MyAyMC4wMjQ2IDE5LjE0NTEgMjEuMzc2NkMxOC4yMzI1IDIyLjc4OTUgMTYuNDY5NCAyNCAxMy4yNDkxIDI0QzEwLjAyODggMjQgOC4yNjU3MSAyMi43ODk1IDcuMzUzMSAyMS4zNzY2QzYuNDc5ODcgMjAuMDI0NiA2LjQ3OTg3IDE4LjYyNzcgNi40Nzk4NyAxOC4zODU4VjE4LjEyMDZaXCIgLz5cclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8L21hc2s+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPHBhdGhcclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgZD1cIk03LjcxMDY0IDcuMzg0NjJDOC4xOTU1MiA3LjM4NDYyIDguNjc1NjUgNy4yODkxMSA5LjEyMzYyIDcuMTAzNTZDOS41NzE1OSA2LjkxOCA5Ljk3ODYzIDYuNjQ2MDMgMTAuMzIxNSA2LjMwMzE2QzEwLjY2NDQgNS45NjAzIDEwLjkzNjMgNS41NTMyNiAxMS4xMjE5IDUuMTA1MjlDMTEuMzA3NCA0LjY1NzMyIDExLjQwMjkgNC4xNzcxOSAxMS40MDI5IDMuNjkyMzFDMTEuNDAyOSAzLjIwNzQzIDExLjMwNzQgMi43MjcyOSAxMS4xMjE5IDIuMjc5MzJDMTAuOTM2MyAxLjgzMTM1IDEwLjY2NDQgMS40MjQzMSAxMC4zMjE1IDEuMDgxNDVDOS45Nzg2MyAwLjczODU5IDkuNTcxNTkgMC40NjY2MTYgOS4xMjM2MiAwLjI4MTA2QzguNjc1NjUgMC4wOTU1MDQzIDguMTk1NTIgLTcuMjI1MjllLTA5IDcuNzEwNjQgMEM2LjczMTM4IDEuNDU5MjFlLTA4IDUuNzkyMjIgMC4zODkwMSA1LjA5OTc4IDEuMDgxNDVDNC40MDczNCAxLjc3Mzg5IDQuMDE4MzMgMi43MTMwNSA0LjAxODMzIDMuNjkyMzFDNC4wMTgzMyA0LjY3MTU3IDQuNDA3MzQgNS42MTA3MiA1LjA5OTc4IDYuMzAzMTZDNS43OTIyMiA2Ljk5NTYxIDYuNzMxMzggNy4zODQ2MiA3LjcxMDY0IDcuMzg0NjJaTTE4Ljc4NzYgNy4zODQ2MkMxOS4yNzI0IDcuMzg0NjIgMTkuNzUyNiA3LjI4OTExIDIwLjIwMDUgNy4xMDM1NkMyMC42NDg1IDYuOTE4IDIxLjA1NTYgNi42NDYwMyAyMS4zOTg0IDYuMzAzMTZDMjEuNzQxMyA1Ljk2MDMgMjIuMDEzMyA1LjU1MzI2IDIyLjE5ODggNS4xMDUyOUMyMi4zODQ0IDQuNjU3MzIgMjIuNDc5OSA0LjE3NzE5IDIyLjQ3OTkgMy42OTIzMUMyMi40Nzk5IDMuMjA3NDMgMjIuMzg0NCAyLjcyNzI5IDIyLjE5ODggMi4yNzkzMkMyMi4wMTMzIDEuODMxMzUgMjEuNzQxMyAxLjQyNDMxIDIxLjM5ODQgMS4wODE0NUMyMS4wNTU2IDAuNzM4NTkgMjAuNjQ4NSAwLjQ2NjYxNiAyMC4yMDA1IDAuMjgxMDZDMTkuNzUyNiAwLjA5NTUwNDMgMTkuMjcyNCAtNy4yMjUyOWUtMDkgMTguNzg3NiAwQzE3LjgwODMgMS40NTkyMWUtMDggMTYuODY5MSAwLjM4OTAxIDE2LjE3NjcgMS4wODE0NUMxNS40ODQzIDEuNzczODkgMTUuMDk1MyAyLjcxMzA1IDE1LjA5NTMgMy42OTIzMUMxNS4wOTUzIDQuNjcxNTcgMTUuNDg0MyA1LjYxMDcyIDE2LjE3NjcgNi4zMDMxNkMxNi44NjkxIDYuOTk1NjEgMTcuODA4MyA3LjM4NDYyIDE4Ljc4NzYgNy4zODQ2MlpNMC45NDE0MDYgMTAuNzM2QzAuOTQxNDA2IDEwLjQ1NzUgMC45OTYyNTggMTAuMTgxOCAxLjEwMjgzIDkuOTI0NDhDMS4yMDk0IDkuNjY3MTkgMS4zNjU2IDkuNDMzNDIgMS41NjI1MiA5LjIzNjVDMS43NTk0NCA5LjAzOTU4IDEuOTkzMjEgOC44ODMzOCAyLjI1MDUgOC43NzY4MUMyLjUwNzc4IDguNjcwMjQgMi43ODM1NCA4LjYxNTM5IDMuMDYyMDIgOC42MTUzOUg4Ljk4NDQ4QzguNTUxNjkgOS4zNjM0NSA4LjMyNDUyIDEwLjIxMjcgOC4zMjYwMiAxMS4wNzY5QzguMzI1MTkgMTEuNzc1NSA4LjQ3MzQxIDEyLjQ2NjIgOC43NjA3OSAxMy4xMDI5QzkuMDQ4MTYgMTMuNzM5NiA5LjQ2ODA3IDE0LjMwNzcgOS45OTI0OCAxNC43NjkySDguNjAwNDhDOC4wMTQxOCAxNC43Njg3IDcuNDM4MDMgMTQuOTIyMiA2LjkyOTY5IDE1LjIxNDRDNi40MjEzNCAxNS41MDY1IDUuOTk4NjQgMTUuOTI3IDUuNzAzODcgMTYuNDMzOEMzLjcyMTEgMTYuMDQ0OSAyLjUxNjE4IDE1LjA3ODIgMS44MTQ2NCAxMy45OTJDMC45NDE0MDYgMTIuNjQgMC45NDE0MDYgMTEuMjQzMSAwLjk0MTQwNiAxMS4wMDEyVjEwLjczNlpNMTcuODk3NyAxNC43NjkyQzE4LjQ4NCAxNC43Njg3IDE5LjA2MDIgMTQuOTIyMiAxOS41Njg1IDE1LjIxNDRDMjAuMDc2OSAxNS41MDY1IDIwLjQ5OTYgMTUuOTI3IDIwLjc5NDMgMTYuNDMzOEMyMi43NzcxIDE2LjA0NDkgMjMuOTgyIDE1LjA3ODIgMjQuNjgzNiAxMy45OTJDMjUuNTU2OCAxMi42NCAyNS41NTY4IDExLjI0MzEgMjUuNTU2OCAxMS4wMDEyVjEwLjczNjZDMjUuNTU2OSAxMC40NTgxIDI1LjUwMjEgMTAuMTgyMyAyNS4zOTU1IDkuOTI0OUMyNS4yODkgOS42Njc1NSAyNS4xMzI4IDkuNDMzNyAyNC45MzU5IDkuMjM2NzJDMjQuNzM5IDkuMDM5NzMgMjQuNTA1MiA4Ljg4MzQ4IDI0LjI0NzggOC43NzY4N0MyMy45OTA1IDguNjcwMjYgMjMuNzE0NyA4LjYxNTM5IDIzLjQzNjIgOC42MTUzOUgxNy41MTM3QzE3Ljk0NjUgOS4zNjM0NSAxOC4xNzM3IDEwLjIxMjcgMTguMTcyMiAxMS4wNzY5QzE4LjE3MyAxMS43NzU1IDE4LjAyNDggMTIuNDY2MiAxNy43Mzc0IDEzLjEwMjlDMTcuNDUgMTMuNzM5NiAxNy4wMzAxIDE0LjMwNzcgMTYuNTA1NyAxNC43NjkySDE3Ljg5NzdaTTE2Ljk0MTQgMTEuMDc2OUMxNi45NDE0IDEyLjA1NjIgMTYuNTUyNCAxMi45OTUzIDE1Ljg2IDEzLjY4NzhDMTUuMTY3NSAxNC4zODAyIDE0LjIyODQgMTQuNzY5MiAxMy4yNDkxIDE0Ljc2OTJDMTIuMjY5OCAxNC43NjkyIDExLjMzMDcgMTQuMzgwMiAxMC42MzgyIDEzLjY4NzhDOS45NDU4IDEyLjk5NTMgOS41NTY3OSAxMi4wNTYyIDkuNTU2NzkgMTEuMDc2OUM5LjU1Njc5IDEwLjA5NzcgOS45NDU4IDkuMTU4NTEgMTAuNjM4MiA4LjQ2NjA3QzExLjMzMDcgNy43NzM2MyAxMi4yNjk4IDcuMzg0NjIgMTMuMjQ5MSA3LjM4NDYyQzE0LjIyODQgNy4zODQ2MiAxNS4xNjc1IDcuNzczNjMgMTUuODYgOC40NjYwN0MxNi41NTI0IDkuMTU4NTEgMTYuOTQxNCAxMC4wOTc3IDE2Ljk0MTQgMTEuMDc2OVpNNi40Nzk4NyAxOC4xMjA2QzYuNDc5ODcgMTcuNTU4MiA2LjcwMzI5IDE3LjAxODggNy4xMDA5OCAxNi42MjExQzcuNDk4NjcgMTYuMjIzNCA4LjAzODA2IDE2IDguNjAwNDggMTZIMTcuODk3N0MxOC40NjAxIDE2IDE4Ljk5OTUgMTYuMjIzNCAxOS4zOTcyIDE2LjYyMTFDMTkuNzk0OSAxNy4wMTg4IDIwLjAxODMgMTcuNTU4MiAyMC4wMTgzIDE4LjEyMDZWMTguMzg1OEMyMC4wMTgzIDE4LjYyODMgMjAuMDE4MyAyMC4wMjQ2IDE5LjE0NTEgMjEuMzc2NkMxOC4yMzI1IDIyLjc4OTUgMTYuNDY5NCAyNCAxMy4yNDkxIDI0QzEwLjAyODggMjQgOC4yNjU3MSAyMi43ODk1IDcuMzUzMSAyMS4zNzY2QzYuNDc5ODcgMjAuMDI0NiA2LjQ3OTg3IDE4LjYyNzcgNi40Nzk4NyAxOC4zODU4VjE4LjEyMDZaXCJcclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgc3Ryb2tlPVwiIzk4QTJCM1wiIHN0cm9rZS13aWR0aD1cIjNcIiBtYXNrPVwidXJsKCNwYXRoLTYtaW5zaWRlLTJfNzA3XzEzMTA2KVwiIC8+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8L3N2Zz5cclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPC9kaXY+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxkaXYgY2xhc3M9XCJteC0zIG10LTFcIj5cclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxkaXYgY2xhc3M9XCJteS0xIGNhcmQtbGFiZWwgbGVmdC1jYXJkLWNvdW50XCI+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAge3tnZXRPdmVyYWxsQ2FyZERhdGE/LmZvb3RmYWxsQ2FyZD8uZ3JvdXBDb3VudCA/XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgZ2V0T3ZlcmFsbENhcmREYXRhPy5mb290ZmFsbENhcmQ/Lmdyb3VwQ291bnQudG9Mb2NhbGVTdHJpbmcoJ2VuLUlOJykgOictLSd9fTwvZGl2PlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGRpdiBjbGFzcz1cImxlZnQtY2FyZC1jb3VudC1oZWFkZXJcIj5Hcm91cCBGb290ZmFsbDwvZGl2PlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8L2Rpdj5cclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8L2Rpdj5cclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8ZGl2IGNsYXNzPVwiZC1mbGV4IGFsaWduLWl0ZW1zLWNlbnRlciBteS01IG1lLTJcIj5cclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGRpdiBjbGFzcz1cImZsZXgtc2hyaW5rLTAgbXQtM1wiPlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPHN2ZyB3aWR0aD1cIjI2XCIgaGVpZ2h0PVwiMjRcIiB2aWV3Qm94PVwiMCAwIDI2IDI0XCIgZmlsbD1cIm5vbmVcIlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHhtbG5zPVwiaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmdcIj5cclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8cmVjdCB3aWR0aD1cIjI2XCIgaGVpZ2h0PVwiMjRcIiBmaWxsPVwiI0RDRENEQ1wiIC8+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPHJlY3QgeD1cIi00NjAuNVwiIHk9XCItMzQwLjVcIiB3aWR0aD1cIjc4M1wiIGhlaWdodD1cIjE5NDdcIiByeD1cIjQuNVwiIHN0cm9rZT1cIiM5NzQ3RkZcIlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBzdHJva2UtZGFzaGFycmF5PVwiMTAgNVwiIC8+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPG1hc2sgaWQ9XCJwYXRoLTItaW5zaWRlLTFfNzA3XzEzMTA2XCIgZmlsbD1cIndoaXRlXCI+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxwYXRoXHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBkPVwiTS0xODkgLTg5Qy0xODkgLTk1LjYyNzQgLTE4My42MjcgLTEwMSAtMTc3IC0xMDFIMjk1QzMwMS42MjcgLTEwMSAzMDcgLTk1LjYyNzQgMzA3IC04OVY4NUMzMDcgOTEuNjI3NCAzMDEuNjI3IDk3IDI5NSA5N0gtMTc3Qy0xODMuNjI3IDk3IC0xODkgOTEuNjI3NCAtMTg5IDg1Vi04OVpcIiAvPlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvbWFzaz5cclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8cGF0aFxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBkPVwiTS0xODkgLTg5Qy0xODkgLTk1LjYyNzQgLTE4My42MjcgLTEwMSAtMTc3IC0xMDFIMjk1QzMwMS42MjcgLTEwMSAzMDcgLTk1LjYyNzQgMzA3IC04OVY4NUMzMDcgOTEuNjI3NCAzMDEuNjI3IDk3IDI5NSA5N0gtMTc3Qy0xODMuNjI3IDk3IC0xODkgOTEuNjI3NCAtMTg5IDg1Vi04OVpcIlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBmaWxsPVwid2hpdGVcIiAvPlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxwYXRoXHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGQ9XCJNLTE5MCAtODlDLTE5MCAtOTYuMTc5NyAtMTg0LjE4IC0xMDIgLTE3NyAtMTAySDI5NEMzMDEuMTggLTEwMiAzMDcgLTk2LjE3OTcgMzA3IC04OUMzMDcgLTk1LjA3NTEgMzAxLjYyNyAtMTAwIDI5NSAtMTAwSC0xNzdDLTE4My4wNzUgLTEwMCAtMTg4IC05NS4wNzUxIC0xODggLTg5SC0xOTBaTTMwNyA4NUMzMDcgOTIuMTc5NyAzMDEuMTggOTggMjk0IDk4SC0xNzdDLTE4NC4xOCA5OCAtMTkwIDkyLjE3OTcgLTE5MCA4NUgtMTg4Qy0xODggOTEuMDc1MSAtMTgzLjA3NSA5NiAtMTc3IDk2SDI5NUMzMDEuNjI3IDk2IDMwNyA5MS4wNzUxIDMwNyA4NVpNLTE3NyA5OEMtMTg0LjE4IDk4IC0xOTAgOTIuMTc5NyAtMTkwIDg1Vi04OUMtMTkwIC05Ni4xNzk3IC0xODQuMTggLTEwMiAtMTc3IC0xMDJWLTEwMEMtMTgzLjA3NSAtMTAwIC0xODggLTk1LjA3NTEgLTE4OCAtODlWODVDLTE4OCA5MS4wNzUxIC0xODMuMDc1IDk2IC0xNzcgOTZWOThaTTMwNyAtMTAxVjk3Vi0xMDFaXCJcclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgZmlsbD1cIiNEMEQ1RERcIiBtYXNrPVwidXJsKCNwYXRoLTItaW5zaWRlLTFfNzA3XzEzMTA2KVwiIC8+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPG1hc2sgaWQ9XCJwYXRoLTYtaW5zaWRlLTJfNzA3XzEzMTA2XCIgZmlsbD1cIndoaXRlXCI+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxwYXRoXHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBkPVwiTTcuNzEwNjQgNy4zODQ2MkM4LjE5NTUyIDcuMzg0NjIgOC42NzU2NSA3LjI4OTExIDkuMTIzNjIgNy4xMDM1NkM5LjU3MTU5IDYuOTE4IDkuOTc4NjMgNi42NDYwMyAxMC4zMjE1IDYuMzAzMTZDMTAuNjY0NCA1Ljk2MDMgMTAuOTM2MyA1LjU1MzI2IDExLjEyMTkgNS4xMDUyOUMxMS4zMDc0IDQuNjU3MzIgMTEuNDAyOSA0LjE3NzE5IDExLjQwMjkgMy42OTIzMUMxMS40MDI5IDMuMjA3NDMgMTEuMzA3NCAyLjcyNzI5IDExLjEyMTkgMi4yNzkzMkMxMC45MzYzIDEuODMxMzUgMTAuNjY0NCAxLjQyNDMxIDEwLjMyMTUgMS4wODE0NUM5Ljk3ODYzIDAuNzM4NTkgOS41NzE1OSAwLjQ2NjYxNiA5LjEyMzYyIDAuMjgxMDZDOC42NzU2NSAwLjA5NTUwNDMgOC4xOTU1MiAtNy4yMjUyOWUtMDkgNy43MTA2NCAwQzYuNzMxMzggMS40NTkyMWUtMDggNS43OTIyMiAwLjM4OTAxIDUuMDk5NzggMS4wODE0NUM0LjQwNzM0IDEuNzczODkgNC4wMTgzMyAyLjcxMzA1IDQuMDE4MzMgMy42OTIzMUM0LjAxODMzIDQuNjcxNTcgNC40MDczNCA1LjYxMDcyIDUuMDk5NzggNi4zMDMxNkM1Ljc5MjIyIDYuOTk1NjEgNi43MzEzOCA3LjM4NDYyIDcuNzEwNjQgNy4zODQ2MlpNMTguNzg3NiA3LjM4NDYyQzE5LjI3MjQgNy4zODQ2MiAxOS43NTI2IDcuMjg5MTEgMjAuMjAwNSA3LjEwMzU2QzIwLjY0ODUgNi45MTggMjEuMDU1NiA2LjY0NjAzIDIxLjM5ODQgNi4zMDMxNkMyMS43NDEzIDUuOTYwMyAyMi4wMTMzIDUuNTUzMjYgMjIuMTk4OCA1LjEwNTI5QzIyLjM4NDQgNC42NTczMiAyMi40Nzk5IDQuMTc3MTkgMjIuNDc5OSAzLjY5MjMxQzIyLjQ3OTkgMy4yMDc0MyAyMi4zODQ0IDIuNzI3MjkgMjIuMTk4OCAyLjI3OTMyQzIyLjAxMzMgMS44MzEzNSAyMS43NDEzIDEuNDI0MzEgMjEuMzk4NCAxLjA4MTQ1QzIxLjA1NTYgMC43Mzg1OSAyMC42NDg1IDAuNDY2NjE2IDIwLjIwMDUgMC4yODEwNkMxOS43NTI2IDAuMDk1NTA0MyAxOS4yNzI0IC03LjIyNTI5ZS0wOSAxOC43ODc2IDBDMTcuODA4MyAxLjQ1OTIxZS0wOCAxNi44NjkxIDAuMzg5MDEgMTYuMTc2NyAxLjA4MTQ1QzE1LjQ4NDMgMS43NzM4OSAxNS4wOTUzIDIuNzEzMDUgMTUuMDk1MyAzLjY5MjMxQzE1LjA5NTMgNC42NzE1NyAxNS40ODQzIDUuNjEwNzIgMTYuMTc2NyA2LjMwMzE2QzE2Ljg2OTEgNi45OTU2MSAxNy44MDgzIDcuMzg0NjIgMTguNzg3NiA3LjM4NDYyWk0wLjk0MTQwNiAxMC43MzZDMC45NDE0MDYgMTAuNDU3NSAwLjk5NjI1OCAxMC4xODE4IDEuMTAyODMgOS45MjQ0OEMxLjIwOTQgOS42NjcxOSAxLjM2NTYgOS40MzM0MiAxLjU2MjUyIDkuMjM2NUMxLjc1OTQ0IDkuMDM5NTggMS45OTMyMSA4Ljg4MzM4IDIuMjUwNSA4Ljc3NjgxQzIuNTA3NzggOC42NzAyNCAyLjc4MzU0IDguNjE1MzkgMy4wNjIwMiA4LjYxNTM5SDguOTg0NDhDOC41NTE2OSA5LjM2MzQ1IDguMzI0NTIgMTAuMjEyNyA4LjMyNjAyIDExLjA3NjlDOC4zMjUxOSAxMS43NzU1IDguNDczNDEgMTIuNDY2MiA4Ljc2MDc5IDEzLjEwMjlDOS4wNDgxNiAxMy43Mzk2IDkuNDY4MDcgMTQuMzA3NyA5Ljk5MjQ4IDE0Ljc2OTJIOC42MDA0OEM4LjAxNDE4IDE0Ljc2ODcgNy40MzgwMyAxNC45MjIyIDYuOTI5NjkgMTUuMjE0NEM2LjQyMTM0IDE1LjUwNjUgNS45OTg2NCAxNS45MjcgNS43MDM4NyAxNi40MzM4QzMuNzIxMSAxNi4wNDQ5IDIuNTE2MTggMTUuMDc4MiAxLjgxNDY0IDEzLjk5MkMwLjk0MTQwNiAxMi42NCAwLjk0MTQwNiAxMS4yNDMxIDAuOTQxNDA2IDExLjAwMTJWMTAuNzM2Wk0xNy44OTc3IDE0Ljc2OTJDMTguNDg0IDE0Ljc2ODcgMTkuMDYwMiAxNC45MjIyIDE5LjU2ODUgMTUuMjE0NEMyMC4wNzY5IDE1LjUwNjUgMjAuNDk5NiAxNS45MjcgMjAuNzk0MyAxNi40MzM4QzIyLjc3NzEgMTYuMDQ0OSAyMy45ODIgMTUuMDc4MiAyNC42ODM2IDEzLjk5MkMyNS41NTY4IDEyLjY0IDI1LjU1NjggMTEuMjQzMSAyNS41NTY4IDExLjAwMTJWMTAuNzM2NkMyNS41NTY5IDEwLjQ1ODEgMjUuNTAyMSAxMC4xODIzIDI1LjM5NTUgOS45MjQ5QzI1LjI4OSA5LjY2NzU1IDI1LjEzMjggOS40MzM3IDI0LjkzNTkgOS4yMzY3MkMyNC43MzkgOS4wMzk3MyAyNC41MDUyIDguODgzNDggMjQuMjQ3OCA4Ljc3Njg3QzIzLjk5MDUgOC42NzAyNiAyMy43MTQ3IDguNjE1MzkgMjMuNDM2MiA4LjYxNTM5SDE3LjUxMzdDMTcuOTQ2NSA5LjM2MzQ1IDE4LjE3MzcgMTAuMjEyNyAxOC4xNzIyIDExLjA3NjlDMTguMTczIDExLjc3NTUgMTguMDI0OCAxMi40NjYyIDE3LjczNzQgMTMuMTAyOUMxNy40NSAxMy43Mzk2IDE3LjAzMDEgMTQuMzA3NyAxNi41MDU3IDE0Ljc2OTJIMTcuODk3N1pNMTYuOTQxNCAxMS4wNzY5QzE2Ljk0MTQgMTIuMDU2MiAxNi41NTI0IDEyLjk5NTMgMTUuODYgMTMuNjg3OEMxNS4xNjc1IDE0LjM4MDIgMTQuMjI4NCAxNC43NjkyIDEzLjI0OTEgMTQuNzY5MkMxMi4yNjk4IDE0Ljc2OTIgMTEuMzMwNyAxNC4zODAyIDEwLjYzODIgMTMuNjg3OEM5Ljk0NTggMTIuOTk1MyA5LjU1Njc5IDEyLjA1NjIgOS41NTY3OSAxMS4wNzY5QzkuNTU2NzkgMTAuMDk3NyA5Ljk0NTggOS4xNTg1MSAxMC42MzgyIDguNDY2MDdDMTEuMzMwNyA3Ljc3MzYzIDEyLjI2OTggNy4zODQ2MiAxMy4yNDkxIDcuMzg0NjJDMTQuMjI4NCA3LjM4NDYyIDE1LjE2NzUgNy43NzM2MyAxNS44NiA4LjQ2NjA3QzE2LjU1MjQgOS4xNTg1MSAxNi45NDE0IDEwLjA5NzcgMTYuOTQxNCAxMS4wNzY5Wk02LjQ3OTg3IDE4LjEyMDZDNi40Nzk4NyAxNy41NTgyIDYuNzAzMjkgMTcuMDE4OCA3LjEwMDk4IDE2LjYyMTFDNy40OTg2NyAxNi4yMjM0IDguMDM4MDYgMTYgOC42MDA0OCAxNkgxNy44OTc3QzE4LjQ2MDEgMTYgMTguOTk5NSAxNi4yMjM0IDE5LjM5NzIgMTYuNjIxMUMxOS43OTQ5IDE3LjAxODggMjAuMDE4MyAxNy41NTgyIDIwLjAxODMgMTguMTIwNlYxOC4zODU4QzIwLjAxODMgMTguNjI4MyAyMC4wMTgzIDIwLjAyNDYgMTkuMTQ1MSAyMS4zNzY2QzE4LjIzMjUgMjIuNzg5NSAxNi40Njk0IDI0IDEzLjI0OTEgMjRDMTAuMDI4OCAyNCA4LjI2NTcxIDIyLjc4OTUgNy4zNTMxIDIxLjM3NjZDNi40Nzk4NyAyMC4wMjQ2IDYuNDc5ODcgMTguNjI3NyA2LjQ3OTg3IDE4LjM4NThWMTguMTIwNlpcIiAvPlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvbWFzaz5cclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8cGF0aFxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBkPVwiTTcuNzEwNjQgNy4zODQ2MkM4LjE5NTUyIDcuMzg0NjIgOC42NzU2NSA3LjI4OTExIDkuMTIzNjIgNy4xMDM1NkM5LjU3MTU5IDYuOTE4IDkuOTc4NjMgNi42NDYwMyAxMC4zMjE1IDYuMzAzMTZDMTAuNjY0NCA1Ljk2MDMgMTAuOTM2MyA1LjU1MzI2IDExLjEyMTkgNS4xMDUyOUMxMS4zMDc0IDQuNjU3MzIgMTEuNDAyOSA0LjE3NzE5IDExLjQwMjkgMy42OTIzMUMxMS40MDI5IDMuMjA3NDMgMTEuMzA3NCAyLjcyNzI5IDExLjEyMTkgMi4yNzkzMkMxMC45MzYzIDEuODMxMzUgMTAuNjY0NCAxLjQyNDMxIDEwLjMyMTUgMS4wODE0NUM5Ljk3ODYzIDAuNzM4NTkgOS41NzE1OSAwLjQ2NjYxNiA5LjEyMzYyIDAuMjgxMDZDOC42NzU2NSAwLjA5NTUwNDMgOC4xOTU1MiAtNy4yMjUyOWUtMDkgNy43MTA2NCAwQzYuNzMxMzggMS40NTkyMWUtMDggNS43OTIyMiAwLjM4OTAxIDUuMDk5NzggMS4wODE0NUM0LjQwNzM0IDEuNzczODkgNC4wMTgzMyAyLjcxMzA1IDQuMDE4MzMgMy42OTIzMUM0LjAxODMzIDQuNjcxNTcgNC40MDczNCA1LjYxMDcyIDUuMDk5NzggNi4zMDMxNkM1Ljc5MjIyIDYuOTk1NjEgNi43MzEzOCA3LjM4NDYyIDcuNzEwNjQgNy4zODQ2MlpNMTguNzg3NiA3LjM4NDYyQzE5LjI3MjQgNy4zODQ2MiAxOS43NTI2IDcuMjg5MTEgMjAuMjAwNSA3LjEwMzU2QzIwLjY0ODUgNi45MTggMjEuMDU1NiA2LjY0NjAzIDIxLjM5ODQgNi4zMDMxNkMyMS43NDEzIDUuOTYwMyAyMi4wMTMzIDUuNTUzMjYgMjIuMTk4OCA1LjEwNTI5QzIyLjM4NDQgNC42NTczMiAyMi40Nzk5IDQuMTc3MTkgMjIuNDc5OSAzLjY5MjMxQzIyLjQ3OTkgMy4yMDc0MyAyMi4zODQ0IDIuNzI3MjkgMjIuMTk4OCAyLjI3OTMyQzIyLjAxMzMgMS44MzEzNSAyMS43NDEzIDEuNDI0MzEgMjEuMzk4NCAxLjA4MTQ1QzIxLjA1NTYgMC43Mzg1OSAyMC42NDg1IDAuNDY2NjE2IDIwLjIwMDUgMC4yODEwNkMxOS43NTI2IDAuMDk1NTA0MyAxOS4yNzI0IC03LjIyNTI5ZS0wOSAxOC43ODc2IDBDMTcuODA4MyAxLjQ1OTIxZS0wOCAxNi44NjkxIDAuMzg5MDEgMTYuMTc2NyAxLjA4MTQ1QzE1LjQ4NDMgMS43NzM4OSAxNS4wOTUzIDIuNzEzMDUgMTUuMDk1MyAzLjY5MjMxQzE1LjA5NTMgNC42NzE1NyAxNS40ODQzIDUuNjEwNzIgMTYuMTc2NyA2LjMwMzE2QzE2Ljg2OTEgNi45OTU2MSAxNy44MDgzIDcuMzg0NjIgMTguNzg3NiA3LjM4NDYyWk0wLjk0MTQwNiAxMC43MzZDMC45NDE0MDYgMTAuNDU3NSAwLjk5NjI1OCAxMC4xODE4IDEuMTAyODMgOS45MjQ0OEMxLjIwOTQgOS42NjcxOSAxLjM2NTYgOS40MzM0MiAxLjU2MjUyIDkuMjM2NUMxLjc1OTQ0IDkuMDM5NTggMS45OTMyMSA4Ljg4MzM4IDIuMjUwNSA4Ljc3NjgxQzIuNTA3NzggOC42NzAyNCAyLjc4MzU0IDguNjE1MzkgMy4wNjIwMiA4LjYxNTM5SDguOTg0NDhDOC41NTE2OSA5LjM2MzQ1IDguMzI0NTIgMTAuMjEyNyA4LjMyNjAyIDExLjA3NjlDOC4zMjUxOSAxMS43NzU1IDguNDczNDEgMTIuNDY2MiA4Ljc2MDc5IDEzLjEwMjlDOS4wNDgxNiAxMy43Mzk2IDkuNDY4MDcgMTQuMzA3NyA5Ljk5MjQ4IDE0Ljc2OTJIOC42MDA0OEM4LjAxNDE4IDE0Ljc2ODcgNy40MzgwMyAxNC45MjIyIDYuOTI5NjkgMTUuMjE0NEM2LjQyMTM0IDE1LjUwNjUgNS45OTg2NCAxNS45MjcgNS43MDM4NyAxNi40MzM4QzMuNzIxMSAxNi4wNDQ5IDIuNTE2MTggMTUuMDc4MiAxLjgxNDY0IDEzLjk5MkMwLjk0MTQwNiAxMi42NCAwLjk0MTQwNiAxMS4yNDMxIDAuOTQxNDA2IDExLjAwMTJWMTAuNzM2Wk0xNy44OTc3IDE0Ljc2OTJDMTguNDg0IDE0Ljc2ODcgMTkuMDYwMiAxNC45MjIyIDE5LjU2ODUgMTUuMjE0NEMyMC4wNzY5IDE1LjUwNjUgMjAuNDk5NiAxNS45MjcgMjAuNzk0MyAxNi40MzM4QzIyLjc3NzEgMTYuMDQ0OSAyMy45ODIgMTUuMDc4MiAyNC42ODM2IDEzLjk5MkMyNS41NTY4IDEyLjY0IDI1LjU1NjggMTEuMjQzMSAyNS41NTY4IDExLjAwMTJWMTAuNzM2NkMyNS41NTY5IDEwLjQ1ODEgMjUuNTAyMSAxMC4xODIzIDI1LjM5NTUgOS45MjQ5QzI1LjI4OSA5LjY2NzU1IDI1LjEzMjggOS40MzM3IDI0LjkzNTkgOS4yMzY3MkMyNC43MzkgOS4wMzk3MyAyNC41MDUyIDguODgzNDggMjQuMjQ3OCA4Ljc3Njg3QzIzLjk5MDUgOC42NzAyNiAyMy43MTQ3IDguNjE1MzkgMjMuNDM2MiA4LjYxNTM5SDE3LjUxMzdDMTcuOTQ2NSA5LjM2MzQ1IDE4LjE3MzcgMTAuMjEyNyAxOC4xNzIyIDExLjA3NjlDMTguMTczIDExLjc3NTUgMTguMDI0OCAxMi40NjYyIDE3LjczNzQgMTMuMTAyOUMxNy40NSAxMy43Mzk2IDE3LjAzMDEgMTQuMzA3NyAxNi41MDU3IDE0Ljc2OTJIMTcuODk3N1pNMTYuOTQxNCAxMS4wNzY5QzE2Ljk0MTQgMTIuMDU2MiAxNi41NTI0IDEyLjk5NTMgMTUuODYgMTMuNjg3OEMxNS4xNjc1IDE0LjM4MDIgMTQuMjI4NCAxNC43NjkyIDEzLjI0OTEgMTQuNzY5MkMxMi4yNjk4IDE0Ljc2OTIgMTEuMzMwNyAxNC4zODAyIDEwLjYzODIgMTMuNjg3OEM5Ljk0NTggMTIuOTk1MyA5LjU1Njc5IDEyLjA1NjIgOS41NTY3OSAxMS4wNzY5QzkuNTU2NzkgMTAuMDk3NyA5Ljk0NTggOS4xNTg1MSAxMC42MzgyIDguNDY2MDdDMTEuMzMwNyA3Ljc3MzYzIDEyLjI2OTggNy4zODQ2MiAxMy4yNDkxIDcuMzg0NjJDMTQuMjI4NCA3LjM4NDYyIDE1LjE2NzUgNy43NzM2MyAxNS44NiA4LjQ2NjA3QzE2LjU1MjQgOS4xNTg1MSAxNi45NDE0IDEwLjA5NzcgMTYuOTQxNCAxMS4wNzY5Wk02LjQ3OTg3IDE4LjEyMDZDNi40Nzk4NyAxNy41NTgyIDYuNzAzMjkgMTcuMDE4OCA3LjEwMDk4IDE2LjYyMTFDNy40OTg2NyAxNi4yMjM0IDguMDM4MDYgMTYgOC42MDA0OCAxNkgxNy44OTc3QzE4LjQ2MDEgMTYgMTguOTk5NSAxNi4yMjM0IDE5LjM5NzIgMTYuNjIxMUMxOS43OTQ5IDE3LjAxODggMjAuMDE4MyAxNy41NTgyIDIwLjAxODMgMTguMTIwNlYxOC4zODU4QzIwLjAxODMgMTguNjI4MyAyMC4wMTgzIDIwLjAyNDYgMTkuMTQ1MSAyMS4zNzY2QzE4LjIzMjUgMjIuNzg5NSAxNi40Njk0IDI0IDEzLjI0OTEgMjRDMTAuMDI4OCAyNCA4LjI2NTcxIDIyLjc4OTUgNy4zNTMxIDIxLjM3NjZDNi40Nzk4NyAyMC4wMjQ2IDYuNDc5ODcgMTguNjI3NyA2LjQ3OTg3IDE4LjM4NThWMTguMTIwNlpcIlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBzdHJva2U9XCIjOThBMkIzXCIgc3Ryb2tlLXdpZHRoPVwiM1wiIG1hc2s9XCJ1cmwoI3BhdGgtNi1pbnNpZGUtMl83MDdfMTMxMDYpXCIgLz5cclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvc3ZnPlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8L2Rpdj5cclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGRpdiBjbGFzcz1cIm14LTMgbXQtMVwiPlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGRpdiBjbGFzcz1cIm15LTEgY2FyZC1sYWJlbCBsZWZ0LWNhcmQtY291bnRcIj5cclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB7e2dldE92ZXJhbGxDYXJkRGF0YT8uZm9vdGZhbGxDYXJkPy5hZ2VHcm91cCA/XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgZ2V0T3ZlcmFsbENhcmREYXRhPy5mb290ZmFsbENhcmQ/LmFnZUdyb3VwIDonLS0nfX08L2Rpdj5cclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxkaXYgY2xhc3M9XCJsZWZ0LWNhcmQtY291bnQtaGVhZGVyXCI+TW9zdCBDb21tb24gQWdlPC9kaXY+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvZGl2PlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvZGl2PlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxkaXYgY2xhc3M9XCJkLWZsZXggYWxpZ24taXRlbXMtY2VudGVyIG15LTUgbWUtMlwiPlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8ZGl2IGNsYXNzPVwiZmxleC1zaHJpbmstMCBtdC0zXCI+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8c3ZnIHdpZHRoPVwiMjZcIiBoZWlnaHQ9XCIyNFwiIHZpZXdCb3g9XCIwIDAgMjYgMjRcIiBmaWxsPVwibm9uZVwiXHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgeG1sbnM9XCJodHRwOi8vd3d3LnczLm9yZy8yMDAwL3N2Z1wiPlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxyZWN0IHdpZHRoPVwiMjZcIiBoZWlnaHQ9XCIyNFwiIGZpbGw9XCIjRENEQ0RDXCIgLz5cclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8cmVjdCB4PVwiLTQ2MC41XCIgeT1cIi0zNDAuNVwiIHdpZHRoPVwiNzgzXCIgaGVpZ2h0PVwiMTk0N1wiIHJ4PVwiNC41XCIgc3Ryb2tlPVwiIzk3NDdGRlwiXHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHN0cm9rZS1kYXNoYXJyYXk9XCIxMCA1XCIgLz5cclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8bWFzayBpZD1cInBhdGgtMi1pbnNpZGUtMV83MDdfMTMxMDZcIiBmaWxsPVwid2hpdGVcIj5cclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPHBhdGhcclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGQ9XCJNLTE4OSAtODlDLTE4OSAtOTUuNjI3NCAtMTgzLjYyNyAtMTAxIC0xNzcgLTEwMUgyOTVDMzAxLjYyNyAtMTAxIDMwNyAtOTUuNjI3NCAzMDcgLTg5Vjg1QzMwNyA5MS42Mjc0IDMwMS42MjcgOTcgMjk1IDk3SC0xNzdDLTE4My42MjcgOTcgLTE4OSA5MS42Mjc0IC0xODkgODVWLTg5WlwiIC8+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPC9tYXNrPlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxwYXRoXHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGQ9XCJNLTE4OSAtODlDLTE4OSAtOTUuNjI3NCAtMTgzLjYyNyAtMTAxIC0xNzcgLTEwMUgyOTVDMzAxLjYyNyAtMTAxIDMwNyAtOTUuNjI3NCAzMDcgLTg5Vjg1QzMwNyA5MS42Mjc0IDMwMS42MjcgOTcgMjk1IDk3SC0xNzdDLTE4My42MjcgOTcgLTE4OSA5MS42Mjc0IC0xODkgODVWLTg5WlwiXHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGZpbGw9XCJ3aGl0ZVwiIC8+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPHBhdGhcclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgZD1cIk0tMTkwIC04OUMtMTkwIC05Ni4xNzk3IC0xODQuMTggLTEwMiAtMTc3IC0xMDJIMjk0QzMwMS4xOCAtMTAyIDMwNyAtOTYuMTc5NyAzMDcgLTg5QzMwNyAtOTUuMDc1MSAzMDEuNjI3IC0xMDAgMjk1IC0xMDBILTE3N0MtMTgzLjA3NSAtMTAwIC0xODggLTk1LjA3NTEgLTE4OCAtODlILTE5MFpNMzA3IDg1QzMwNyA5Mi4xNzk3IDMwMS4xOCA5OCAyOTQgOThILTE3N0MtMTg0LjE4IDk4IC0xOTAgOTIuMTc5NyAtMTkwIDg1SC0xODhDLTE4OCA5MS4wNzUxIC0xODMuMDc1IDk2IC0xNzcgOTZIMjk1QzMwMS42MjcgOTYgMzA3IDkxLjA3NTEgMzA3IDg1Wk0tMTc3IDk4Qy0xODQuMTggOTggLTE5MCA5Mi4xNzk3IC0xOTAgODVWLTg5Qy0xOTAgLTk2LjE3OTcgLTE4NC4xOCAtMTAyIC0xNzcgLTEwMlYtMTAwQy0xODMuMDc1IC0xMDAgLTE4OCAtOTUuMDc1MSAtMTg4IC04OVY4NUMtMTg4IDkxLjA3NTEgLTE4My4wNzUgOTYgLTE3NyA5NlY5OFpNMzA3IC0xMDFWOTdWLTEwMVpcIlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBmaWxsPVwiI0QwRDVERFwiIG1hc2s9XCJ1cmwoI3BhdGgtMi1pbnNpZGUtMV83MDdfMTMxMDYpXCIgLz5cclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8bWFzayBpZD1cInBhdGgtNi1pbnNpZGUtMl83MDdfMTMxMDZcIiBmaWxsPVwid2hpdGVcIj5cclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPHBhdGhcclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGQ9XCJNNy43MTA2NCA3LjM4NDYyQzguMTk1NTIgNy4zODQ2MiA4LjY3NTY1IDcuMjg5MTEgOS4xMjM2MiA3LjEwMzU2QzkuNTcxNTkgNi45MTggOS45Nzg2MyA2LjY0NjAzIDEwLjMyMTUgNi4zMDMxNkMxMC42NjQ0IDUuOTYwMyAxMC45MzYzIDUuNTUzMjYgMTEuMTIxOSA1LjEwNTI5QzExLjMwNzQgNC42NTczMiAxMS40MDI5IDQuMTc3MTkgMTEuNDAyOSAzLjY5MjMxQzExLjQwMjkgMy4yMDc0MyAxMS4zMDc0IDIuNzI3MjkgMTEuMTIxOSAyLjI3OTMyQzEwLjkzNjMgMS44MzEzNSAxMC42NjQ0IDEuNDI0MzEgMTAuMzIxNSAxLjA4MTQ1QzkuOTc4NjMgMC43Mzg1OSA5LjU3MTU5IDAuNDY2NjE2IDkuMTIzNjIgMC4yODEwNkM4LjY3NTY1IDAuMDk1NTA0MyA4LjE5NTUyIC03LjIyNTI5ZS0wOSA3LjcxMDY0IDBDNi43MzEzOCAxLjQ1OTIxZS0wOCA1Ljc5MjIyIDAuMzg5MDEgNS4wOTk3OCAxLjA4MTQ1QzQuNDA3MzQgMS43NzM4OSA0LjAxODMzIDIuNzEzMDUgNC4wMTgzMyAzLjY5MjMxQzQuMDE4MzMgNC42NzE1NyA0LjQwNzM0IDUuNjEwNzIgNS4wOTk3OCA2LjMwMzE2QzUuNzkyMjIgNi45OTU2MSA2LjczMTM4IDcuMzg0NjIgNy43MTA2NCA3LjM4NDYyWk0xOC43ODc2IDcuMzg0NjJDMTkuMjcyNCA3LjM4NDYyIDE5Ljc1MjYgNy4yODkxMSAyMC4yMDA1IDcuMTAzNTZDMjAuNjQ4NSA2LjkxOCAyMS4wNTU2IDYuNjQ2MDMgMjEuMzk4NCA2LjMwMzE2QzIxLjc0MTMgNS45NjAzIDIyLjAxMzMgNS41NTMyNiAyMi4xOTg4IDUuMTA1MjlDMjIuMzg0NCA0LjY1NzMyIDIyLjQ3OTkgNC4xNzcxOSAyMi40Nzk5IDMuNjkyMzFDMjIuNDc5OSAzLjIwNzQzIDIyLjM4NDQgMi43MjcyOSAyMi4xOTg4IDIuMjc5MzJDMjIuMDEzMyAxLjgzMTM1IDIxLjc0MTMgMS40MjQzMSAyMS4zOTg0IDEuMDgxNDVDMjEuMDU1NiAwLjczODU5IDIwLjY0ODUgMC40NjY2MTYgMjAuMjAwNSAwLjI4MTA2QzE5Ljc1MjYgMC4wOTU1MDQzIDE5LjI3MjQgLTcuMjI1MjllLTA5IDE4Ljc4NzYgMEMxNy44MDgzIDEuNDU5MjFlLTA4IDE2Ljg2OTEgMC4zODkwMSAxNi4xNzY3IDEuMDgxNDVDMTUuNDg0MyAxLjc3Mzg5IDE1LjA5NTMgMi43MTMwNSAxNS4wOTUzIDMuNjkyMzFDMTUuMDk1MyA0LjY3MTU3IDE1LjQ4NDMgNS42MTA3MiAxNi4xNzY3IDYuMzAzMTZDMTYuODY5MSA2Ljk5NTYxIDE3LjgwODMgNy4zODQ2MiAxOC43ODc2IDcuMzg0NjJaTTAuOTQxNDA2IDEwLjczNkMwLjk0MTQwNiAxMC40NTc1IDAuOTk2MjU4IDEwLjE4MTggMS4xMDI4MyA5LjkyNDQ4QzEuMjA5NCA5LjY2NzE5IDEuMzY1NiA5LjQzMzQyIDEuNTYyNTIgOS4yMzY1QzEuNzU5NDQgOS4wMzk1OCAxLjk5MzIxIDguODgzMzggMi4yNTA1IDguNzc2ODFDMi41MDc3OCA4LjY3MDI0IDIuNzgzNTQgOC42MTUzOSAzLjA2MjAyIDguNjE1MzlIOC45ODQ0OEM4LjU1MTY5IDkuMzYzNDUgOC4zMjQ1MiAxMC4yMTI3IDguMzI2MDIgMTEuMDc2OUM4LjMyNTE5IDExLjc3NTUgOC40NzM0MSAxMi40NjYyIDguNzYwNzkgMTMuMTAyOUM5LjA0ODE2IDEzLjczOTYgOS40NjgwNyAxNC4zMDc3IDkuOTkyNDggMTQuNzY5Mkg4LjYwMDQ4QzguMDE0MTggMTQuNzY4NyA3LjQzODAzIDE0LjkyMjIgNi45Mjk2OSAxNS4yMTQ0QzYuNDIxMzQgMTUuNTA2NSA1Ljk5ODY0IDE1LjkyNyA1LjcwMzg3IDE2LjQzMzhDMy43MjExIDE2LjA0NDkgMi41MTYxOCAxNS4wNzgyIDEuODE0NjQgMTMuOTkyQzAuOTQxNDA2IDEyLjY0IDAuOTQxNDA2IDExLjI0MzEgMC45NDE0MDYgMTEuMDAxMlYxMC43MzZaTTE3Ljg5NzcgMTQuNzY5MkMxOC40ODQgMTQuNzY4NyAxOS4wNjAyIDE0LjkyMjIgMTkuNTY4NSAxNS4yMTQ0QzIwLjA3NjkgMTUuNTA2NSAyMC40OTk2IDE1LjkyNyAyMC43OTQzIDE2LjQzMzhDMjIuNzc3MSAxNi4wNDQ5IDIzLjk4MiAxNS4wNzgyIDI0LjY4MzYgMTMuOTkyQzI1LjU1NjggMTIuNjQgMjUuNTU2OCAxMS4yNDMxIDI1LjU1NjggMTEuMDAxMlYxMC43MzY2QzI1LjU1NjkgMTAuNDU4MSAyNS41MDIxIDEwLjE4MjMgMjUuMzk1NSA5LjkyNDlDMjUuMjg5IDkuNjY3NTUgMjUuMTMyOCA5LjQzMzcgMjQuOTM1OSA5LjIzNjcyQzI0LjczOSA5LjAzOTczIDI0LjUwNTIgOC44ODM0OCAyNC4yNDc4IDguNzc2ODdDMjMuOTkwNSA4LjY3MDI2IDIzLjcxNDcgOC42MTUzOSAyMy40MzYyIDguNjE1MzlIMTcuNTEzN0MxNy45NDY1IDkuMzYzNDUgMTguMTczNyAxMC4yMTI3IDE4LjE3MjIgMTEuMDc2OUMxOC4xNzMgMTEuNzc1NSAxOC4wMjQ4IDEyLjQ2NjIgMTcuNzM3NCAxMy4xMDI5QzE3LjQ1IDEzLjczOTYgMTcuMDMwMSAxNC4zMDc3IDE2LjUwNTcgMTQuNzY5MkgxNy44OTc3Wk0xNi45NDE0IDExLjA3NjlDMTYuOTQxNCAxMi4wNTYyIDE2LjU1MjQgMTIuOTk1MyAxNS44NiAxMy42ODc4QzE1LjE2NzUgMTQuMzgwMiAxNC4yMjg0IDE0Ljc2OTIgMTMuMjQ5MSAxNC43NjkyQzEyLjI2OTggMTQuNzY5MiAxMS4zMzA3IDE0LjM4MDIgMTAuNjM4MiAxMy42ODc4QzkuOTQ1OCAxMi45OTUzIDkuNTU2NzkgMTIuMDU2MiA5LjU1Njc5IDExLjA3NjlDOS41NTY3OSAxMC4wOTc3IDkuOTQ1OCA5LjE1ODUxIDEwLjYzODIgOC40NjYwN0MxMS4zMzA3IDcuNzczNjMgMTIuMjY5OCA3LjM4NDYyIDEzLjI0OTEgNy4zODQ2MkMxNC4yMjg0IDcuMzg0NjIgMTUuMTY3NSA3Ljc3MzYzIDE1Ljg2IDguNDY2MDdDMTYuNTUyNCA5LjE1ODUxIDE2Ljk0MTQgMTAuMDk3NyAxNi45NDE0IDExLjA3NjlaTTYuNDc5ODcgMTguMTIwNkM2LjQ3OTg3IDE3LjU1ODIgNi43MDMyOSAxNy4wMTg4IDcuMTAwOTggMTYuNjIxMUM3LjQ5ODY3IDE2LjIyMzQgOC4wMzgwNiAxNiA4LjYwMDQ4IDE2SDE3Ljg5NzdDMTguNDYwMSAxNiAxOC45OTk1IDE2LjIyMzQgMTkuMzk3MiAxNi42MjExQzE5Ljc5NDkgMTcuMDE4OCAyMC4wMTgzIDE3LjU1ODIgMjAuMDE4MyAxOC4xMjA2VjE4LjM4NThDMjAuMDE4MyAxOC42MjgzIDIwLjAxODMgMjAuMDI0NiAxOS4xNDUxIDIxLjM3NjZDMTguMjMyNSAyMi43ODk1IDE2LjQ2OTQgMjQgMTMuMjQ5MSAyNEMxMC4wMjg4IDI0IDguMjY1NzEgMjIuNzg5NSA3LjM1MzEgMjEuMzc2NkM2LjQ3OTg3IDIwLjAyNDYgNi40Nzk4NyAxOC42Mjc3IDYuNDc5ODcgMTguMzg1OFYxOC4xMjA2WlwiIC8+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPC9tYXNrPlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxwYXRoXHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGQ9XCJNNy43MTA2NCA3LjM4NDYyQzguMTk1NTIgNy4zODQ2MiA4LjY3NTY1IDcuMjg5MTEgOS4xMjM2MiA3LjEwMzU2QzkuNTcxNTkgNi45MTggOS45Nzg2MyA2LjY0NjAzIDEwLjMyMTUgNi4zMDMxNkMxMC42NjQ0IDUuOTYwMyAxMC45MzYzIDUuNTUzMjYgMTEuMTIxOSA1LjEwNTI5QzExLjMwNzQgNC42NTczMiAxMS40MDI5IDQuMTc3MTkgMTEuNDAyOSAzLjY5MjMxQzExLjQwMjkgMy4yMDc0MyAxMS4zMDc0IDIuNzI3MjkgMTEuMTIxOSAyLjI3OTMyQzEwLjkzNjMgMS44MzEzNSAxMC42NjQ0IDEuNDI0MzEgMTAuMzIxNSAxLjA4MTQ1QzkuOTc4NjMgMC43Mzg1OSA5LjU3MTU5IDAuNDY2NjE2IDkuMTIzNjIgMC4yODEwNkM4LjY3NTY1IDAuMDk1NTA0MyA4LjE5NTUyIC03LjIyNTI5ZS0wOSA3LjcxMDY0IDBDNi43MzEzOCAxLjQ1OTIxZS0wOCA1Ljc5MjIyIDAuMzg5MDEgNS4wOTk3OCAxLjA4MTQ1QzQuNDA3MzQgMS43NzM4OSA0LjAxODMzIDIuNzEzMDUgNC4wMTgzMyAzLjY5MjMxQzQuMDE4MzMgNC42NzE1NyA0LjQwNzM0IDUuNjEwNzIgNS4wOTk3OCA2LjMwMzE2QzUuNzkyMjIgNi45OTU2MSA2LjczMTM4IDcuMzg0NjIgNy43MTA2NCA3LjM4NDYyWk0xOC43ODc2IDcuMzg0NjJDMTkuMjcyNCA3LjM4NDYyIDE5Ljc1MjYgNy4yODkxMSAyMC4yMDA1IDcuMTAzNTZDMjAuNjQ4NSA2LjkxOCAyMS4wNTU2IDYuNjQ2MDMgMjEuMzk4NCA2LjMwMzE2QzIxLjc0MTMgNS45NjAzIDIyLjAxMzMgNS41NTMyNiAyMi4xOTg4IDUuMTA1MjlDMjIuMzg0NCA0LjY1NzMyIDIyLjQ3OTkgNC4xNzcxOSAyMi40Nzk5IDMuNjkyMzFDMjIuNDc5OSAzLjIwNzQzIDIyLjM4NDQgMi43MjcyOSAyMi4xOTg4IDIuMjc5MzJDMjIuMDEzMyAxLjgzMTM1IDIxLjc0MTMgMS40MjQzMSAyMS4zOTg0IDEuMDgxNDVDMjEuMDU1NiAwLjczODU5IDIwLjY0ODUgMC40NjY2MTYgMjAuMjAwNSAwLjI4MTA2QzE5Ljc1MjYgMC4wOTU1MDQzIDE5LjI3MjQgLTcuMjI1MjllLTA5IDE4Ljc4NzYgMEMxNy44MDgzIDEuNDU5MjFlLTA4IDE2Ljg2OTEgMC4zODkwMSAxNi4xNzY3IDEuMDgxNDVDMTUuNDg0MyAxLjc3Mzg5IDE1LjA5NTMgMi43MTMwNSAxNS4wOTUzIDMuNjkyMzFDMTUuMDk1MyA0LjY3MTU3IDE1LjQ4NDMgNS42MTA3MiAxNi4xNzY3IDYuMzAzMTZDMTYuODY5MSA2Ljk5NTYxIDE3LjgwODMgNy4zODQ2MiAxOC43ODc2IDcuMzg0NjJaTTAuOTQxNDA2IDEwLjczNkMwLjk0MTQwNiAxMC40NTc1IDAuOTk2MjU4IDEwLjE4MTggMS4xMDI4MyA5LjkyNDQ4QzEuMjA5NCA5LjY2NzE5IDEuMzY1NiA5LjQzMzQyIDEuNTYyNTIgOS4yMzY1QzEuNzU5NDQgOS4wMzk1OCAxLjk5MzIxIDguODgzMzggMi4yNTA1IDguNzc2ODFDMi41MDc3OCA4LjY3MDI0IDIuNzgzNTQgOC42MTUzOSAzLjA2MjAyIDguNjE1MzlIOC45ODQ0OEM4LjU1MTY5IDkuMzYzNDUgOC4zMjQ1MiAxMC4yMTI3IDguMzI2MDIgMTEuMDc2OUM4LjMyNTE5IDExLjc3NTUgOC40NzM0MSAxMi40NjYyIDguNzYwNzkgMTMuMTAyOUM5LjA0ODE2IDEzLjczOTYgOS40NjgwNyAxNC4zMDc3IDkuOTkyNDggMTQuNzY5Mkg4LjYwMDQ4QzguMDE0MTggMTQuNzY4NyA3LjQzODAzIDE0LjkyMjIgNi45Mjk2OSAxNS4yMTQ0QzYuNDIxMzQgMTUuNTA2NSA1Ljk5ODY0IDE1LjkyNyA1LjcwMzg3IDE2LjQzMzhDMy43MjExIDE2LjA0NDkgMi41MTYxOCAxNS4wNzgyIDEuODE0NjQgMTMuOTkyQzAuOTQxNDA2IDEyLjY0IDAuOTQxNDA2IDExLjI0MzEgMC45NDE0MDYgMTEuMDAxMlYxMC43MzZaTTE3Ljg5NzcgMTQuNzY5MkMxOC40ODQgMTQuNzY4NyAxOS4wNjAyIDE0LjkyMjIgMTkuNTY4NSAxNS4yMTQ0QzIwLjA3NjkgMTUuNTA2NSAyMC40OTk2IDE1LjkyNyAyMC43OTQzIDE2LjQzMzhDMjIuNzc3MSAxNi4wNDQ5IDIzLjk4MiAxNS4wNzgyIDI0LjY4MzYgMTMuOTkyQzI1LjU1NjggMTIuNjQgMjUuNTU2OCAxMS4yNDMxIDI1LjU1NjggMTEuMDAxMlYxMC43MzY2QzI1LjU1NjkgMTAuNDU4MSAyNS41MDIxIDEwLjE4MjMgMjUuMzk1NSA5LjkyNDlDMjUuMjg5IDkuNjY3NTUgMjUuMTMyOCA5LjQzMzcgMjQuOTM1OSA5LjIzNjcyQzI0LjczOSA5LjAzOTczIDI0LjUwNTIgOC44ODM0OCAyNC4yNDc4IDguNzc2ODdDMjMuOTkwNSA4LjY3MDI2IDIzLjcxNDcgOC42MTUzOSAyMy40MzYyIDguNjE1MzlIMTcuNTEzN0MxNy45NDY1IDkuMzYzNDUgMTguMTczNyAxMC4yMTI3IDE4LjE3MjIgMTEuMDc2OUMxOC4xNzMgMTEuNzc1NSAxOC4wMjQ4IDEyLjQ2NjIgMTcuNzM3NCAxMy4xMDI5QzE3LjQ1IDEzLjczOTYgMTcuMDMwMSAxNC4zMDc3IDE2LjUwNTcgMTQuNzY5MkgxNy44OTc3Wk0xNi45NDE0IDExLjA3NjlDMTYuOTQxNCAxMi4wNTYyIDE2LjU1MjQgMTIuOTk1MyAxNS44NiAxMy42ODc4QzE1LjE2NzUgMTQuMzgwMiAxNC4yMjg0IDE0Ljc2OTIgMTMuMjQ5MSAxNC43NjkyQzEyLjI2OTggMTQuNzY5MiAxMS4zMzA3IDE0LjM4MDIgMTAuNjM4MiAxMy42ODc4QzkuOTQ1OCAxMi45OTUzIDkuNTU2NzkgMTIuMDU2MiA5LjU1Njc5IDExLjA3NjlDOS41NTY3OSAxMC4wOTc3IDkuOTQ1OCA5LjE1ODUxIDEwLjYzODIgOC40NjYwN0MxMS4zMzA3IDcuNzczNjMgMTIuMjY5OCA3LjM4NDYyIDEzLjI0OTEgNy4zODQ2MkMxNC4yMjg0IDcuMzg0NjIgMTUuMTY3NSA3Ljc3MzYzIDE1Ljg2IDguNDY2MDdDMTYuNTUyNCA5LjE1ODUxIDE2Ljk0MTQgMTAuMDk3NyAxNi45NDE0IDExLjA3NjlaTTYuNDc5ODcgMTguMTIwNkM2LjQ3OTg3IDE3LjU1ODIgNi43MDMyOSAxNy4wMTg4IDcuMTAwOTggMTYuNjIxMUM3LjQ5ODY3IDE2LjIyMzQgOC4wMzgwNiAxNiA4LjYwMDQ4IDE2SDE3Ljg5NzdDMTguNDYwMSAxNiAxOC45OTk1IDE2LjIyMzQgMTkuMzk3MiAxNi42MjExQzE5Ljc5NDkgMTcuMDE4OCAyMC4wMTgzIDE3LjU1ODIgMjAuMDE4MyAxOC4xMjA2VjE4LjM4NThDMjAuMDE4MyAxOC42MjgzIDIwLjAxODMgMjAuMDI0NiAxOS4xNDUxIDIxLjM3NjZDMTguMjMyNSAyMi43ODk1IDE2LjQ2OTQgMjQgMTMuMjQ5MSAyNEMxMC4wMjg4IDI0IDguMjY1NzEgMjIuNzg5NSA3LjM1MzEgMjEuMzc2NkM2LjQ3OTg3IDIwLjAyNDYgNi40Nzk4NyAxOC42Mjc3IDYuNDc5ODcgMTguMzg1OFYxOC4xMjA2WlwiXHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHN0cm9rZT1cIiM5OEEyQjNcIiBzdHJva2Utd2lkdGg9XCIzXCIgbWFzaz1cInVybCgjcGF0aC02LWluc2lkZS0yXzcwN18xMzEwNilcIiAvPlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPC9zdmc+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvZGl2PlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8ZGl2IGNsYXNzPVwibXgtMyBtdC0xXCI+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8ZGl2IGNsYXNzPVwibXktMSBjYXJkLWxhYmVsIGxlZnQtY2FyZC1jb3VudFwiPlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHt7Z2V0T3ZlcmFsbENhcmREYXRhPy5mb290ZmFsbENhcmQ/Lm1hbGVSYXRlID9cclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBnZXRPdmVyYWxsQ2FyZERhdGE/LmZvb3RmYWxsQ2FyZD8ubWFsZVJhdGUgOictLSd9fSU8L2Rpdj5cclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxkaXYgY2xhc3M9XCJsZWZ0LWNhcmQtY291bnQtaGVhZGVyXCI+TWFsZTwvZGl2PlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8L2Rpdj5cclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGRpdiBjbGFzcz1cIm14LTMgbXQtMVwiPlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGRpdiBjbGFzcz1cIm15LTEgY2FyZC1sYWJlbCBsZWZ0LWNhcmQtY291bnRcIj5cclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB7e2dldE92ZXJhbGxDYXJkRGF0YT8uZm9vdGZhbGxDYXJkPy5mZW1hbGVSYXRlID9cclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBnZXRPdmVyYWxsQ2FyZERhdGE/LmZvb3RmYWxsQ2FyZD8uZmVtYWxlUmF0ZSA6Jy0tJ319JTwvZGl2PlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGRpdiBjbGFzcz1cImxlZnQtY2FyZC1jb3VudC1oZWFkZXJcIj5GZW1hbGU8L2Rpdj5cclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPC9kaXY+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPC9kaXY+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICA8L2Rpdj5cclxuICAgICAgICAgICAgICAgICAgICAgICAgPC9kaXY+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgIDxkaXYgKm5nSWY9XCJzZWxlY3RlZFRhYiA9PT0nY29udmVyc2lvbidcIiBjbGFzcz1cImxlZnQtYmFyXCI+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICA8ZGl2IGNsYXNzPVwidG9wLWhlYWRlciB0ZXh0LWNlbnRlclwiPlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxkaXYgY2xhc3M9XCJsZWZ0LWJhci1jb3VudFwiIFtuZ1N0eWxlXT1cIntcclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgJ2ZvbnQtc2l6ZSc6IChnZXRPdmVyYWxsQ2FyZERhdGE/LmNvbnZlcnNpb25DYXJkPy5jb252ZXJzaW9uQ291bnQudG9Mb2NhbGVTdHJpbmcoKT8ubGVuZ3RoID4gNSA/ICcyNHB4JyA6ICczNnB4JykgXHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB9XCI+e3tnZXRPdmVyYWxsQ2FyZERhdGE/LmNvbnZlcnNpb25DYXJkPy5jb252ZXJzaW9uQ291bnQgP1xyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBnZXRPdmVyYWxsQ2FyZERhdGE/LmNvbnZlcnNpb25DYXJkPy5jb252ZXJzaW9uQ291bnQudG9Mb2NhbGVTdHJpbmcoJ2VuLUlOJykgOictLSd9fTwvZGl2PlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxkaXYgY2xhc3M9XCJsZWZ0LWJhci10aXRsZVwiPnt7aGVhZGVyRGF0YT8uY2xpZW50ID09PSc0NTInID8gJ01vcmUgdGhhbiAnKyBmZWF0dXJlQ29uZmlnPy5jb252ZXJzaW9uLnZhbHVlKyAnIG1pbnMnIDonQ29udmVyc2lvbid9fSBDb3VudDwvZGl2PlxyXG4gICAgICAgIFxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgPC9kaXY+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICA8c3BhbiBjbGFzcz1cInctMTAwXCI+PHN2ZyB4bWxucz1cImh0dHA6Ly93d3cudzMub3JnLzIwMDAvc3ZnXCIgd2lkdGg9XCIxNzRcIiBoZWlnaHQ9XCIyXCJcclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgdmlld0JveD1cIjAgMCAxOTQgMlwiIGZpbGw9XCJub25lXCI+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxwYXRoIG9wYWNpdHk9XCIwLjRcIiBkPVwiTTEgMUwxOTMgMVwiIHN0cm9rZT1cIiM5OURBRkZcIiBzdHJva2UtbGluZWNhcD1cInJvdW5kXCIgLz5cclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8L3N2Zz48L3NwYW4+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICA8ZGl2IGNsYXNzPVwibXktNVwiPlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxkaXYgY2xhc3M9XCJkLWZsZXggYWxpZ24taXRlbXMtY2VudGVyIG15LTUgbWUtMlwiPlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8ZGl2IGNsYXNzPVwiZmxleC1zaHJpbmstMCBtdC0zXCI+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8c3ZnIHhtbG5zPVwiaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmdcIiB3aWR0aD1cIjI0XCIgaGVpZ2h0PVwiMjRcIiB2aWV3Qm94PVwiMCAwIDI0IDI0XCIgZmlsbD1cIm5vbmVcIj5cclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8cGF0aCBkPVwiTTEzIDJMMyAxNEgxMkwxMSAyMkwyMSAxMEgxMkwxMyAyWlwiIHN0cm9rZT1cIiM5OEEyQjNcIiBzdHJva2Utd2lkdGg9XCIyXCIgc3Ryb2tlLWxpbmVjYXA9XCJyb3VuZFwiIHN0cm9rZS1saW5lam9pbj1cInJvdW5kXCIvPlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvc3ZnPlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8L2Rpdj5cclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGRpdiBjbGFzcz1cIm14LTMgbXQtMVwiPlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGRpdiBjbGFzcz1cIm15LTEgY2FyZC1sYWJlbCBsZWZ0LWNhcmQtY291bnRcIj5cclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB7e2dldE92ZXJhbGxDYXJkRGF0YT8uY29udmVyc2lvbkNhcmQ/LmNvbnZlcnNpb25SYXRlID9cclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBnZXRPdmVyYWxsQ2FyZERhdGE/LmNvbnZlcnNpb25DYXJkPy5jb252ZXJzaW9uUmF0ZSA6Jy0tJ319JTwvZGl2PlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGRpdiBjbGFzcz1cImxlZnQtY2FyZC1jb3VudC1oZWFkZXJcIj57e2hlYWRlckRhdGE/LmNsaWVudCA9PT0nNDUyJyA/ICdNb3JlIHRoYW4gJyArIGZlYXR1cmVDb25maWc/LmNvbnZlcnNpb24udmFsdWUgKyAnIG1pbnMnIDonQ29udmVyc2lvbid9fSBSYXRlPC9kaXY+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvZGl2PlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvZGl2PlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxkaXYgKm5nSWY9XCJ0aGlzLm9iakRhdGFUcmFmZmljLm5vYiA9PT0gZmFsc2VcIiBjbGFzcz1cImQtZmxleCBhbGlnbi1pdGVtcy1jZW50ZXIgbXktNSBtZS0yXCI+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxkaXYgY2xhc3M9XCJmbGV4LXNocmluay0wIG10LTNcIj5cclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxzdmcgeG1sbnM9XCJodHRwOi8vd3d3LnczLm9yZy8yMDAwL3N2Z1wiIHdpZHRoPVwiMjRcIiBoZWlnaHQ9XCIyNFwiIHZpZXdCb3g9XCIwIDAgMjQgMjRcIiBmaWxsPVwibm9uZVwiPlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxwYXRoIGQ9XCJNMTMgMkwzIDE0SDEyTDExIDIyTDIxIDEwSDEyTDEzIDJaXCIgc3Ryb2tlPVwiIzk4QTJCM1wiIHN0cm9rZS13aWR0aD1cIjJcIiBzdHJva2UtbGluZWNhcD1cInJvdW5kXCIgc3Ryb2tlLWxpbmVqb2luPVwicm91bmRcIi8+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPC9zdmc+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvZGl2PlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8ZGl2IGNsYXNzPVwibXgtMyBtdC0xXCI+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8ZGl2IGNsYXNzPVwibXktMSBjYXJkLWxhYmVsIGxlZnQtY2FyZC1jb3VudFwiPlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHt7Z2V0T3ZlcmFsbENhcmREYXRhPy5jb252ZXJzaW9uQ2FyZD8ubWluUmF0ZSA/XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgZ2V0T3ZlcmFsbENhcmREYXRhPy5jb252ZXJzaW9uQ2FyZD8ubWluUmF0ZSA6Jy0tJ319JTwvZGl2PlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGRpdiBjbGFzcz1cImxlZnQtY2FyZC1jb3VudC1oZWFkZXJcIj41IC0gMTUgTWluczwvZGl2PlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8L2Rpdj5cclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8L2Rpdj5cclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8ZGl2ICpuZ0lmPVwidGhpcy5vYmpEYXRhVHJhZmZpYy5ub2IgPT09IGZhbHNlXCIgY2xhc3M9XCJkLWZsZXggYWxpZ24taXRlbXMtY2VudGVyIG15LTUgbWUtMlwiPlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8ZGl2IGNsYXNzPVwiZmxleC1zaHJpbmstMCBtdC0zXCI+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8c3ZnIHhtbG5zPVwiaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmdcIiB3aWR0aD1cIjI0XCIgaGVpZ2h0PVwiMjRcIiB2aWV3Qm94PVwiMCAwIDI0IDI0XCIgZmlsbD1cIm5vbmVcIj5cclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8cGF0aCBkPVwiTTEzIDJMMyAxNEgxMkwxMSAyMkwyMSAxMEgxMkwxMyAyWlwiIHN0cm9rZT1cIiM5OEEyQjNcIiBzdHJva2Utd2lkdGg9XCIyXCIgc3Ryb2tlLWxpbmVjYXA9XCJyb3VuZFwiIHN0cm9rZS1saW5lam9pbj1cInJvdW5kXCIvPlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvc3ZnPlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8L2Rpdj5cclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGRpdiBjbGFzcz1cIm14LTMgbXQtMVwiPlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGRpdiBjbGFzcz1cIm15LTEgY2FyZC1sYWJlbCBsZWZ0LWNhcmQtY291bnRcIj5cclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB7e2dldE92ZXJhbGxDYXJkRGF0YT8uY29udmVyc2lvbkNhcmQ/Lm1heFJhdGUgP1xyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGdldE92ZXJhbGxDYXJkRGF0YT8uY29udmVyc2lvbkNhcmQ/Lm1heFJhdGUgOictLSd9fSU8L2Rpdj5cclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxkaXYgY2xhc3M9XCJsZWZ0LWNhcmQtY291bnQtaGVhZGVyXCI+MTUgLSA2MCBNaW5zPC9kaXY+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvZGl2PlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvZGl2PlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxkaXYgKm5nSWY9XCJ0aGlzLm9iakRhdGFUcmFmZmljLm5vYiA9PT0gZmFsc2VcIiBjbGFzcz1cImQtZmxleCBhbGlnbi1pdGVtcy1jZW50ZXIgbXktNSBtZS0yXCI+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxkaXYgY2xhc3M9XCJmbGV4LXNocmluay0wIG10LTNcIj5cclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxzdmcgeG1sbnM9XCJodHRwOi8vd3d3LnczLm9yZy8yMDAwL3N2Z1wiIHdpZHRoPVwiMjRcIiBoZWlnaHQ9XCIyNFwiIHZpZXdCb3g9XCIwIDAgMjQgMjRcIiBmaWxsPVwibm9uZVwiPlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxwYXRoIGQ9XCJNMTMgMkwzIDE0SDEyTDExIDIyTDIxIDEwSDEyTDEzIDJaXCIgc3Ryb2tlPVwiIzk4QTJCM1wiIHN0cm9rZS13aWR0aD1cIjJcIiBzdHJva2UtbGluZWNhcD1cInJvdW5kXCIgc3Ryb2tlLWxpbmVqb2luPVwicm91bmRcIi8+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPC9zdmc+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvZGl2PlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8ZGl2IGNsYXNzPVwibXgtMyBtdC0xXCI+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8ZGl2IGNsYXNzPVwibXktMSBjYXJkLWxhYmVsIGxlZnQtY2FyZC1jb3VudFwiPlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHt7Z2V0T3ZlcmFsbENhcmREYXRhPy5jb252ZXJzaW9uQ2FyZD8uYXZlcmFnZVJhdGUgP1xyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGdldE92ZXJhbGxDYXJkRGF0YT8uY29udmVyc2lvbkNhcmQ/LmF2ZXJhZ2VSYXRlIDonLS0nfX0lPC9kaXY+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8ZGl2IGNsYXNzPVwibGVmdC1jYXJkLWNvdW50LWhlYWRlclwiPjEgSHIgb3IgbW9yZTwvZGl2PlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8L2Rpdj5cclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8L2Rpdj5cclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvZGl2PlxyXG4gICAgICAgICAgICAgICAgICAgICAgICA8L2Rpdj5cclxuICAgICAgICAgICAgICAgICAgICAgICAgPGRpdiAqbmdJZj1cInNlbGVjdGVkVGFiID09PSdlbmdhZ2VycydcIiBjbGFzcz1cImxlZnQtYmFyXCI+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICA8ZGl2IGNsYXNzPVwidG9wLWhlYWRlciB0ZXh0LWNlbnRlclwiPlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxkaXYgY2xhc3M9XCJsZWZ0LWJhci1jb3VudFwiIFtuZ1N0eWxlXT1cIntcclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgJ2ZvbnQtc2l6ZSc6IChnZXRPdmVyYWxsQ2FyZERhdGE/LmVuZ2FnZXJzQ2FyZD8uZW5nYWdlcnNDb3VudC50b0xvY2FsZVN0cmluZygpPy5sZW5ndGggPiA1ID8gJzI0cHgnIDogJzM2cHgnKSBcclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIH1cIj57e2dldE92ZXJhbGxDYXJkRGF0YT8uZW5nYWdlcnNDYXJkPy5lbmdhZ2Vyc0NvdW50ID9cclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgZ2V0T3ZlcmFsbENhcmREYXRhPy5lbmdhZ2Vyc0NhcmQ/LmVuZ2FnZXJzQ291bnQudG9Mb2NhbGVTdHJpbmcoJ2VuLUlOJykgOictLSd9fTwvZGl2PlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxkaXYgY2xhc3M9XCJsZWZ0LWJhci10aXRsZVwiPnt7aGVhZGVyRGF0YT8uY2xpZW50ID09PSc0NTInID8gJ01vcmUgdGhhbiAnICsgZmVhdHVyZUNvbmZpZz8uYm91bmNlZExpbWl0LnZhbHVlICsgJyBtaW5zJyA6J0VuZ2FnZXJzJ319IENvdW50PC9kaXY+XHJcbiAgICAgICAgXHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICA8L2Rpdj5cclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxkaXYgY2xhc3M9XCJteS01XCI+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGRpdiBjbGFzcz1cImQtZmxleCBhbGlnbi1pdGVtcy1jZW50ZXIgbXktNSBtZS0yXCI+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxkaXYgY2xhc3M9XCJmbGV4LXNocmluay0wIG10LTNcIj5cclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxzdmcgeG1sbnM9XCJodHRwOi8vd3d3LnczLm9yZy8yMDAwL3N2Z1wiIHdpZHRoPVwiMjRcIiBoZWlnaHQ9XCIyNFwiIHZpZXdCb3g9XCIwIDAgMjQgMjRcIiBmaWxsPVwibm9uZVwiPlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxwYXRoIGQ9XCJNMTMgMkwzIDE0SDEyTDExIDIyTDIxIDEwSDEyTDEzIDJaXCIgc3Ryb2tlPVwiIzk4QTJCM1wiIHN0cm9rZS13aWR0aD1cIjJcIiBzdHJva2UtbGluZWNhcD1cInJvdW5kXCIgc3Ryb2tlLWxpbmVqb2luPVwicm91bmRcIi8+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPC9zdmc+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvZGl2PlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8ZGl2IGNsYXNzPVwibXgtMyBtdC0xXCI+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8ZGl2IGNsYXNzPVwibXktMSBjYXJkLWxhYmVsIGxlZnQtY2FyZC1jb3VudFwiPlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHt7Z2V0T3ZlcmFsbENhcmREYXRhPy5lbmdhZ2Vyc0NhcmQ/LmVuZ2FnZXJzUmF0ZSA/XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgZ2V0T3ZlcmFsbENhcmREYXRhPy5lbmdhZ2Vyc0NhcmQ/LmVuZ2FnZXJzUmF0ZSA6Jy0tJ319JTwvZGl2PlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGRpdiBjbGFzcz1cImxlZnQtY2FyZC1jb3VudC1oZWFkZXJcIj57e2hlYWRlckRhdGE/LmNsaWVudCA9PT0nNDUyJyA/ICdNb3JlIHRoYW4gJyArIGZlYXR1cmVDb25maWc/LmJvdW5jZWRMaW1pdC52YWx1ZSArICcgbWlucycgOidFbmdhZ2Vycyd9fSBSYXRlPC9kaXY+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvZGl2PlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvZGl2PlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxkaXYgY2xhc3M9XCJkLWZsZXggYWxpZ24taXRlbXMtY2VudGVyIG15LTUgbWUtMlwiPlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8ZGl2IGNsYXNzPVwiZmxleC1zaHJpbmstMCBtdC0zXCI+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8c3ZnIHhtbG5zPVwiaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmdcIiB3aWR0aD1cIjI0XCIgaGVpZ2h0PVwiMjRcIiB2aWV3Qm94PVwiMCAwIDI0IDI0XCIgZmlsbD1cIm5vbmVcIj5cclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8cGF0aCBkPVwiTTEzIDJMMyAxNEgxMkwxMSAyMkwyMSAxMEgxMkwxMyAyWlwiIHN0cm9rZT1cIiM5OEEyQjNcIiBzdHJva2Utd2lkdGg9XCIyXCIgc3Ryb2tlLWxpbmVjYXA9XCJyb3VuZFwiIHN0cm9rZS1saW5lam9pbj1cInJvdW5kXCIvPlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvc3ZnPlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8L2Rpdj5cclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGRpdiBjbGFzcz1cIm14LTMgbXQtMVwiPlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGRpdiBjbGFzcz1cIm15LTEgY2FyZC1sYWJlbCBsZWZ0LWNhcmQtY291bnRcIj5cclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB7e2dldE92ZXJhbGxDYXJkRGF0YT8uZW5nYWdlcnNDYXJkPy5hdmdEd2VsbFRpbWUgP1xyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGdldE92ZXJhbGxDYXJkRGF0YT8uZW5nYWdlcnNDYXJkPy5hdmdEd2VsbFRpbWUgOictLSd9fSBNaW5zPC9kaXY+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8ZGl2IGNsYXNzPVwibGVmdC1jYXJkLWNvdW50LWhlYWRlclwiPkF2ZyBkd2VsbCBUaW1lPC9kaXY+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvZGl2PlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvZGl2PlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxkaXYgY2xhc3M9XCJkLWZsZXggYWxpZ24taXRlbXMtY2VudGVyIG15LTUgbWUtMlwiPlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8ZGl2IGNsYXNzPVwiZmxleC1zaHJpbmstMCBtdC0zXCI+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8c3ZnIHhtbG5zPVwiaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmdcIiB3aWR0aD1cIjI0XCIgaGVpZ2h0PVwiMjRcIiB2aWV3Qm94PVwiMCAwIDI0IDI0XCIgZmlsbD1cIm5vbmVcIj5cclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8cGF0aCBkPVwiTTEzIDJMMyAxNEgxMkwxMSAyMkwyMSAxMEgxMkwxMyAyWlwiIHN0cm9rZT1cIiM5OEEyQjNcIiBzdHJva2Utd2lkdGg9XCIyXCIgc3Ryb2tlLWxpbmVjYXA9XCJyb3VuZFwiIHN0cm9rZS1saW5lam9pbj1cInJvdW5kXCIvPlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvc3ZnPlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8L2Rpdj5cclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGRpdiBjbGFzcz1cIm14LTMgbXQtMVwiPlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGRpdiBjbGFzcz1cIm15LTEgY2FyZC1sYWJlbCBsZWZ0LWNhcmQtY291bnRcIj5cclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB7e2dldE92ZXJhbGxDYXJkRGF0YT8uZW5nYWdlcnNDYXJkPy5oaWdoRW5nYWdlbWVudFpvbmUgP1xyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGdldE92ZXJhbGxDYXJkRGF0YT8uZW5nYWdlcnNDYXJkPy5oaWdoRW5nYWdlbWVudFpvbmUgOictLSd9fTwvZGl2PlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGRpdiBjbGFzcz1cImxlZnQtY2FyZC1jb3VudC1oZWFkZXJcIj5IaWdoIEVuZ2FnZW1lbnQgWm9uZTwvZGl2PlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8L2Rpdj5cclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8L2Rpdj5cclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8ZGl2IGNsYXNzPVwiZC1mbGV4IGFsaWduLWl0ZW1zLWNlbnRlciBteS01IG1lLTJcIj5cclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGRpdiBjbGFzcz1cImZsZXgtc2hyaW5rLTAgbXQtM1wiPlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPHN2ZyB4bWxucz1cImh0dHA6Ly93d3cudzMub3JnLzIwMDAvc3ZnXCIgd2lkdGg9XCIyNFwiIGhlaWdodD1cIjI0XCIgdmlld0JveD1cIjAgMCAyNCAyNFwiIGZpbGw9XCJub25lXCI+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPHBhdGggZD1cIk0xMyAyTDMgMTRIMTJMMTEgMjJMMjEgMTBIMTJMMTMgMlpcIiBzdHJva2U9XCIjOThBMkIzXCIgc3Ryb2tlLXdpZHRoPVwiMlwiIHN0cm9rZS1saW5lY2FwPVwicm91bmRcIiBzdHJva2UtbGluZWpvaW49XCJyb3VuZFwiLz5cclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8L3N2Zz5cclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPC9kaXY+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxkaXYgY2xhc3M9XCJteC0zIG10LTFcIj5cclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxkaXYgY2xhc3M9XCJteS0xIGNhcmQtbGFiZWwgbGVmdC1jYXJkLWNvdW50XCI+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAge3tnZXRPdmVyYWxsQ2FyZERhdGE/LmVuZ2FnZXJzQ2FyZD8ubG93RW5nYWdlbWVudFpvbmUgP1xyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGdldE92ZXJhbGxDYXJkRGF0YT8uZW5nYWdlcnNDYXJkPy5sb3dFbmdhZ2VtZW50Wm9uZSA6Jy0tJ319PC9kaXY+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8ZGl2IGNsYXNzPVwibGVmdC1jYXJkLWNvdW50LWhlYWRlclwiPkxvdyBFbmdhZ2VtZW50IFpvbmU8L2Rpdj5cclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPC9kaXY+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgXHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPC9kaXY+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICA8L2Rpdj5cclxuICAgICAgICAgICAgICAgICAgICAgICAgPC9kaXY+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgIDxkaXYgKm5nSWY9XCJzZWxlY3RlZFRhYiA9PT0nYm91bmNlZCdcIiBjbGFzcz1cImxlZnQtYmFyXCI+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICA8ZGl2IGNsYXNzPVwidG9wLWhlYWRlciB0ZXh0LWNlbnRlclwiPlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxkaXYgY2xhc3M9XCJsZWZ0LWJhci1jb3VudFwiIFtuZ1N0eWxlXT1cIntcclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgJ2ZvbnQtc2l6ZSc6IChnZXRPdmVyYWxsQ2FyZERhdGE/LmJvdW5jZWRDYXJkPy5ib3VuY2VkQ291bnQudG9Mb2NhbGVTdHJpbmcoKT8ubGVuZ3RoID4gNSA/ICcyNHB4JyA6ICczNnB4JykgXHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB9XCI+e3tnZXRPdmVyYWxsQ2FyZERhdGE/LmJvdW5jZWRDYXJkPy5ib3VuY2VkQ291bnQgP1xyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBnZXRPdmVyYWxsQ2FyZERhdGE/LmJvdW5jZWRDYXJkPy5ib3VuY2VkQ291bnQudG9Mb2NhbGVTdHJpbmcoJ2VuLUlOJykgOictLSd9fTwvZGl2PlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxkaXYgY2xhc3M9XCJsZWZ0LWJhci10aXRsZVwiPnt7aGVhZGVyRGF0YT8uY2xpZW50ID09PSc0NTInID8gJ0xlc3MgdGhhbiAnICsgZmVhdHVyZUNvbmZpZz8uYm91bmNlZExpbWl0LnZhbHVlICsgJyBtaW5zJzonQm91bmNlZCd9fSBDb3VudDwvZGl2PlxyXG4gICAgICAgIFxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgPC9kaXY+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICA8ZGl2IGNsYXNzPVwibXktNVwiPlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxkaXYgY2xhc3M9XCJkLWZsZXggYWxpZ24taXRlbXMtY2VudGVyIG15LTUgbWUtMlwiPlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8ZGl2IGNsYXNzPVwiZmxleC1zaHJpbmstMCBtdC0zXCI+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8c3ZnIHhtbG5zPVwiaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmdcIiB3aWR0aD1cIjI0XCIgaGVpZ2h0PVwiMjRcIiB2aWV3Qm94PVwiMCAwIDI0IDI0XCIgZmlsbD1cIm5vbmVcIj5cclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8cGF0aCBkPVwiTTEzIDJMMyAxNEgxMkwxMSAyMkwyMSAxMEgxMkwxMyAyWlwiIHN0cm9rZT1cIiM5OEEyQjNcIiBzdHJva2Utd2lkdGg9XCIyXCIgc3Ryb2tlLWxpbmVjYXA9XCJyb3VuZFwiIHN0cm9rZS1saW5lam9pbj1cInJvdW5kXCIvPlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvc3ZnPlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8L2Rpdj5cclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGRpdiBjbGFzcz1cIm14LTMgbXQtMVwiPlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGRpdiBjbGFzcz1cIm15LTEgY2FyZC1sYWJlbCBsZWZ0LWNhcmQtY291bnRcIj5cclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB7e2dldE92ZXJhbGxDYXJkRGF0YT8uYm91bmNlZENhcmQ/LmJvdW5jZWRSYXRlID9cclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBnZXRPdmVyYWxsQ2FyZERhdGE/LmJvdW5jZWRDYXJkPy5ib3VuY2VkUmF0ZSA6Jy0tJ319JTwvZGl2PlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGRpdiBjbGFzcz1cImxlZnQtY2FyZC1jb3VudC1oZWFkZXJcIj57e2hlYWRlckRhdGE/LmNsaWVudCA9PT0nNDUyJyA/ICdMZXNzIHRoYW4gJyArIGZlYXR1cmVDb25maWc/LmJvdW5jZWRMaW1pdC52YWx1ZSsnIG1pbnMnOidCb3VuY2VkJ319IFJhdGU8L2Rpdj5cclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPC9kaXY+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPC9kaXY+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGRpdiBjbGFzcz1cImQtZmxleCBhbGlnbi1pdGVtcy1jZW50ZXIgbXktNSBtZS0yXCI+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxkaXYgY2xhc3M9XCJmbGV4LXNocmluay0wIG10LTNcIj5cclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxzdmcgeG1sbnM9XCJodHRwOi8vd3d3LnczLm9yZy8yMDAwL3N2Z1wiIHdpZHRoPVwiMjRcIiBoZWlnaHQ9XCIyNFwiIHZpZXdCb3g9XCIwIDAgMjQgMjRcIiBmaWxsPVwibm9uZVwiPlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxwYXRoIGQ9XCJNMTMgMkwzIDE0SDEyTDExIDIyTDIxIDEwSDEyTDEzIDJaXCIgc3Ryb2tlPVwiIzk4QTJCM1wiIHN0cm9rZS13aWR0aD1cIjJcIiBzdHJva2UtbGluZWNhcD1cInJvdW5kXCIgc3Ryb2tlLWxpbmVqb2luPVwicm91bmRcIi8+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPC9zdmc+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvZGl2PlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8ZGl2IGNsYXNzPVwibXgtMyBtdC0xXCI+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8ZGl2IGNsYXNzPVwibXktMSBjYXJkLWxhYmVsIGxlZnQtY2FyZC1jb3VudFwiPlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHt7Z2V0T3ZlcmFsbENhcmREYXRhPy5ib3VuY2VkQ2FyZD8ucGVha0JvdW5jZWRIb3VyID9cclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBnZXRPdmVyYWxsQ2FyZERhdGE/LmJvdW5jZWRDYXJkPy5wZWFrQm91bmNlZEhvdXIgOictLSd9fTwvZGl2PlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGRpdiBjbGFzcz1cImxlZnQtY2FyZC1jb3VudC1oZWFkZXJcIj5QZWFrIHt7aGVhZGVyRGF0YT8uY2xpZW50ID09PSc0NTInID8gJ0xlc3MgdGhhbiAnKyBmZWF0dXJlQ29uZmlnPy5ib3VuY2VkTGltaXQudmFsdWUgKyAnIG1pbnMnOidCb3VuY2VkJ319PC9kaXY+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvZGl2PlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvZGl2PlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxkaXYgY2xhc3M9XCJkLWZsZXggYWxpZ24taXRlbXMtY2VudGVyIG15LTUgbWUtMlwiPlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8ZGl2IGNsYXNzPVwiZmxleC1zaHJpbmstMCBtdC0zXCI+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8c3ZnIHhtbG5zPVwiaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmdcIiB3aWR0aD1cIjI0XCIgaGVpZ2h0PVwiMjRcIiB2aWV3Qm94PVwiMCAwIDI0IDI0XCIgZmlsbD1cIm5vbmVcIj5cclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8cGF0aCBkPVwiTTEzIDJMMyAxNEgxMkwxMSAyMkwyMSAxMEgxMkwxMyAyWlwiIHN0cm9rZT1cIiM5OEEyQjNcIiBzdHJva2Utd2lkdGg9XCIyXCIgc3Ryb2tlLWxpbmVjYXA9XCJyb3VuZFwiIHN0cm9rZS1saW5lam9pbj1cInJvdW5kXCIvPlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvc3ZnPlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8L2Rpdj5cclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGRpdiBjbGFzcz1cIm14LTMgbXQtMVwiPlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGRpdiBjbGFzcz1cIm15LTEgY2FyZC1sYWJlbCBsZWZ0LWNhcmQtY291bnRcIj5cclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB7e2dldE92ZXJhbGxDYXJkRGF0YT8uYm91bmNlZENhcmQ/Lm1vc3RDb21tb25BZ2UgP1xyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGdldE92ZXJhbGxDYXJkRGF0YT8uYm91bmNlZENhcmQ/Lm1vc3RDb21tb25BZ2UgOictLSd9fTwvZGl2PlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGRpdiBjbGFzcz1cImxlZnQtY2FyZC1jb3VudC1oZWFkZXJcIj5Nb3N0IENvbW1vbiBBZ2U8L2Rpdj5cclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPC9kaXY+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPC9kaXY+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGRpdiBjbGFzcz1cImQtZmxleCBhbGlnbi1pdGVtcy1jZW50ZXIgbXktNSBtZS0yXCI+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxkaXYgY2xhc3M9XCJmbGV4LXNocmluay0wIG10LTNcIj5cclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxzdmcgeG1sbnM9XCJodHRwOi8vd3d3LnczLm9yZy8yMDAwL3N2Z1wiIHdpZHRoPVwiMjRcIiBoZWlnaHQ9XCIyNFwiIHZpZXdCb3g9XCIwIDAgMjQgMjRcIiBmaWxsPVwibm9uZVwiPlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxwYXRoIGQ9XCJNMTMgMkwzIDE0SDEyTDExIDIyTDIxIDEwSDEyTDEzIDJaXCIgc3Ryb2tlPVwiIzk4QTJCM1wiIHN0cm9rZS13aWR0aD1cIjJcIiBzdHJva2UtbGluZWNhcD1cInJvdW5kXCIgc3Ryb2tlLWxpbmVqb2luPVwicm91bmRcIi8+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPC9zdmc+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvZGl2PlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8ZGl2IGNsYXNzPVwibXgtMyBtdC0xXCI+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8ZGl2IGNsYXNzPVwibXktMSBjYXJkLWxhYmVsIGxlZnQtY2FyZC1jb3VudFwiPlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHt7Z2V0T3ZlcmFsbENhcmREYXRhPy5ib3VuY2VkQ2FyZD8ubWFsZVJhdGUgP1xyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGdldE92ZXJhbGxDYXJkRGF0YT8uYm91bmNlZENhcmQ/Lm1hbGVSYXRlIDonLS0nfX0gJTwvZGl2PlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGRpdiBjbGFzcz1cImxlZnQtY2FyZC1jb3VudC1oZWFkZXJcIj5NYWxlPC9kaXY+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvZGl2PlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8ZGl2IGNsYXNzPVwibXgtMyBtdC0xXCI+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8ZGl2IGNsYXNzPVwibXktMSBjYXJkLWxhYmVsIGxlZnQtY2FyZC1jb3VudFwiPlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHt7Z2V0T3ZlcmFsbENhcmREYXRhPy5ib3VuY2VkQ2FyZD8uZmVtYWxlUmF0ZSA/XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgZ2V0T3ZlcmFsbENhcmREYXRhPy5ib3VuY2VkQ2FyZD8uZmVtYWxlUmF0ZSA6Jy0tJ319ICU8L2Rpdj5cclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxkaXYgY2xhc3M9XCJsZWZ0LWNhcmQtY291bnQtaGVhZGVyXCI+RmVtYWxlPC9kaXY+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvZGl2PlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIFxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvZGl2PlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgPC9kaXY+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgIDwvZGl2PlxyXG4gICAgICAgICAgICAgICAgICAgICAgICA8ZGl2ICpuZ0lmPVwic2VsZWN0ZWRUYWIgPT09J3BvdGVudGlhbEJ1eWVycydcIiBjbGFzcz1cImxlZnQtYmFyXCI+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICA8ZGl2IGNsYXNzPVwidG9wLWhlYWRlciB0ZXh0LWNlbnRlclwiPlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxkaXYgY2xhc3M9XCJsZWZ0LWJhci1jb3VudFwiIFtuZ1N0eWxlXT1cIntcclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgJ2ZvbnQtc2l6ZSc6IChnZXRPdmVyYWxsQ2FyZERhdGE/LnBvdGVudGlhbEJ1eWVyc0NhcmQ/LnBvdGVudGlhbEJ1eWVyc0NvdW50LnRvTG9jYWxlU3RyaW5nKCk/Lmxlbmd0aCA+IDUgPyAnMjRweCcgOiAnMzZweCcpIFxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgfVwiPnt7Z2V0T3ZlcmFsbENhcmREYXRhPy5wb3RlbnRpYWxCdXllcnNDYXJkPy5wb3RlbnRpYWxCdXllcnNDb3VudCA/XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGdldE92ZXJhbGxDYXJkRGF0YT8ucG90ZW50aWFsQnV5ZXJzQ2FyZD8ucG90ZW50aWFsQnV5ZXJzQ291bnQudG9Mb2NhbGVTdHJpbmcoJ2VuLUlOJykgOictLSd9fTwvZGl2PlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxkaXYgY2xhc3M9XCJsZWZ0LWJhci10aXRsZVwiPlBvdGVudGlhbCBCdXllcnM8L2Rpdj5cclxuICAgICAgICBcclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvZGl2PlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgPGRpdiBjbGFzcz1cIm15LTVcIj5cclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8ZGl2IGNsYXNzPVwiZC1mbGV4IGFsaWduLWl0ZW1zLWNlbnRlciBteS01IG1lLTJcIj5cclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGRpdiBjbGFzcz1cImZsZXgtc2hyaW5rLTAgbXQtM1wiPlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPHN2ZyB4bWxucz1cImh0dHA6Ly93d3cudzMub3JnLzIwMDAvc3ZnXCIgd2lkdGg9XCIyNFwiIGhlaWdodD1cIjI0XCIgdmlld0JveD1cIjAgMCAyNCAyNFwiIGZpbGw9XCJub25lXCI+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPHBhdGggZD1cIk0xMyAyTDMgMTRIMTJMMTEgMjJMMjEgMTBIMTJMMTMgMlpcIiBzdHJva2U9XCIjOThBMkIzXCIgc3Ryb2tlLXdpZHRoPVwiMlwiIHN0cm9rZS1saW5lY2FwPVwicm91bmRcIiBzdHJva2UtbGluZWpvaW49XCJyb3VuZFwiLz5cclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8L3N2Zz5cclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPC9kaXY+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxkaXYgY2xhc3M9XCJteC0zIG10LTFcIj5cclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxkaXYgY2xhc3M9XCJteS0xIGNhcmQtbGFiZWwgbGVmdC1jYXJkLWNvdW50XCI+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAge3tnZXRPdmVyYWxsQ2FyZERhdGE/LnBvdGVudGlhbEJ1eWVyc0NhcmQ/LnBvdGVudGlhbEJ1eWVyc1JhdGUgP1xyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGdldE92ZXJhbGxDYXJkRGF0YT8ucG90ZW50aWFsQnV5ZXJzQ2FyZD8ucG90ZW50aWFsQnV5ZXJzUmF0ZSA6Jy0tJ319JTwvZGl2PlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGRpdiBjbGFzcz1cImxlZnQtY2FyZC1jb3VudC1oZWFkZXJcIj5CdXllcnMgUmF0ZTwvZGl2PlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8L2Rpdj5cclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8L2Rpdj5cclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8ZGl2IGNsYXNzPVwiZC1mbGV4IGFsaWduLWl0ZW1zLWNlbnRlciBteS01IG1lLTJcIj5cclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGRpdiBjbGFzcz1cImZsZXgtc2hyaW5rLTAgbXQtM1wiPlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPHN2ZyB4bWxucz1cImh0dHA6Ly93d3cudzMub3JnLzIwMDAvc3ZnXCIgd2lkdGg9XCIyNFwiIGhlaWdodD1cIjI0XCIgdmlld0JveD1cIjAgMCAyNCAyNFwiXHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgZmlsbD1cIm5vbmVcIj5cclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8cGF0aFxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBkPVwiTTIwIDIxVjE5QzIwIDE3LjkzOTEgMTkuNTc4NiAxNi45MjE3IDE4LjgyODQgMTYuMTcxNkMxOC4wNzgzIDE1LjQyMTQgMTcuMDYwOSAxNSAxNiAxNUg4QzYuOTM5MTMgMTUgNS45MjE3MiAxNS40MjE0IDUuMTcxNTcgMTYuMTcxNkM0LjQyMTQzIDE2LjkyMTcgNCAxNy45MzkxIDQgMTlWMjFNMTYgN0MxNiA5LjIwOTE0IDE0LjIwOTEgMTEgMTIgMTFDOS43OTA4NiAxMSA4IDkuMjA5MTQgOCA3QzggNC43OTA4NiA5Ljc5MDg2IDMgMTIgM0MxNC4yMDkxIDMgMTYgNC43OTA4NiAxNiA3WlwiXHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHN0cm9rZT1cIiM5OEEyQjNcIiBzdHJva2Utd2lkdGg9XCIyXCIgc3Ryb2tlLWxpbmVjYXA9XCJyb3VuZFwiXHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHN0cm9rZS1saW5lam9pbj1cInJvdW5kXCIgLz5cclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvc3ZnPlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8L2Rpdj5cclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGRpdiBjbGFzcz1cIm14LTMgbXQtMVwiPlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGRpdiBjbGFzcz1cIm15LTEgY2FyZC1sYWJlbCBsZWZ0LWNhcmQtY291bnRcIj5cclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB7e2dldE92ZXJhbGxDYXJkRGF0YT8ucG90ZW50aWFsQnV5ZXJzQ2FyZD8uc2luZ2xlQ291bnQgP1xyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGdldE92ZXJhbGxDYXJkRGF0YT8ucG90ZW50aWFsQnV5ZXJzQ2FyZD8uc2luZ2xlQ291bnQudG9Mb2NhbGVTdHJpbmcoJ2VuLUlOJykgOictLSd9fTwvZGl2PlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGRpdiBjbGFzcz1cImxlZnQtY2FyZC1jb3VudC1oZWFkZXJcIj5TaW5nbGU8L2Rpdj5cclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPC9kaXY+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPC9kaXY+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGRpdiBjbGFzcz1cImQtZmxleCBhbGlnbi1pdGVtcy1jZW50ZXIgbXktNSBtZS0yXCI+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxkaXYgY2xhc3M9XCJmbGV4LXNocmluay0wIG10LTNcIj5cclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxzdmcgd2lkdGg9XCIyNlwiIGhlaWdodD1cIjI0XCIgdmlld0JveD1cIjAgMCAyNiAyNFwiIGZpbGw9XCJub25lXCJcclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB4bWxucz1cImh0dHA6Ly93d3cudzMub3JnLzIwMDAvc3ZnXCI+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPHJlY3Qgd2lkdGg9XCIyNlwiIGhlaWdodD1cIjI0XCIgZmlsbD1cIiNEQ0RDRENcIiAvPlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxyZWN0IHg9XCItNDYwLjVcIiB5PVwiLTM0MC41XCIgd2lkdGg9XCI3ODNcIiBoZWlnaHQ9XCIxOTQ3XCIgcng9XCI0LjVcIiBzdHJva2U9XCIjOTc0N0ZGXCJcclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgc3Ryb2tlLWRhc2hhcnJheT1cIjEwIDVcIiAvPlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxtYXNrIGlkPVwicGF0aC0yLWluc2lkZS0xXzcwN18xMzEwNlwiIGZpbGw9XCJ3aGl0ZVwiPlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8cGF0aFxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgZD1cIk0tMTg5IC04OUMtMTg5IC05NS42Mjc0IC0xODMuNjI3IC0xMDEgLTE3NyAtMTAxSDI5NUMzMDEuNjI3IC0xMDEgMzA3IC05NS42Mjc0IDMwNyAtODlWODVDMzA3IDkxLjYyNzQgMzAxLjYyNyA5NyAyOTUgOTdILTE3N0MtMTgzLjYyNyA5NyAtMTg5IDkxLjYyNzQgLTE4OSA4NVYtODlaXCIgLz5cclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8L21hc2s+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPHBhdGhcclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgZD1cIk0tMTg5IC04OUMtMTg5IC05NS42Mjc0IC0xODMuNjI3IC0xMDEgLTE3NyAtMTAxSDI5NUMzMDEuNjI3IC0xMDEgMzA3IC05NS42Mjc0IDMwNyAtODlWODVDMzA3IDkxLjYyNzQgMzAxLjYyNyA5NyAyOTUgOTdILTE3N0MtMTgzLjYyNyA5NyAtMTg5IDkxLjYyNzQgLTE4OSA4NVYtODlaXCJcclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgZmlsbD1cIndoaXRlXCIgLz5cclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8cGF0aFxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBkPVwiTS0xOTAgLTg5Qy0xOTAgLTk2LjE3OTcgLTE4NC4xOCAtMTAyIC0xNzcgLTEwMkgyOTRDMzAxLjE4IC0xMDIgMzA3IC05Ni4xNzk3IDMwNyAtODlDMzA3IC05NS4wNzUxIDMwMS42MjcgLTEwMCAyOTUgLTEwMEgtMTc3Qy0xODMuMDc1IC0xMDAgLTE4OCAtOTUuMDc1MSAtMTg4IC04OUgtMTkwWk0zMDcgODVDMzA3IDkyLjE3OTcgMzAxLjE4IDk4IDI5NCA5OEgtMTc3Qy0xODQuMTggOTggLTE5MCA5Mi4xNzk3IC0xOTAgODVILTE4OEMtMTg4IDkxLjA3NTEgLTE4My4wNzUgOTYgLTE3NyA5NkgyOTVDMzAxLjYyNyA5NiAzMDcgOTEuMDc1MSAzMDcgODVaTS0xNzcgOThDLTE4NC4xOCA5OCAtMTkwIDkyLjE3OTcgLTE5MCA4NVYtODlDLTE5MCAtOTYuMTc5NyAtMTg0LjE4IC0xMDIgLTE3NyAtMTAyVi0xMDBDLTE4My4wNzUgLTEwMCAtMTg4IC05NS4wNzUxIC0xODggLTg5Vjg1Qy0xODggOTEuMDc1MSAtMTgzLjA3NSA5NiAtMTc3IDk2Vjk4Wk0zMDcgLTEwMVY5N1YtMTAxWlwiXHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGZpbGw9XCIjRDBENUREXCIgbWFzaz1cInVybCgjcGF0aC0yLWluc2lkZS0xXzcwN18xMzEwNilcIiAvPlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxtYXNrIGlkPVwicGF0aC02LWluc2lkZS0yXzcwN18xMzEwNlwiIGZpbGw9XCJ3aGl0ZVwiPlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8cGF0aFxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgZD1cIk03LjcxMDY0IDcuMzg0NjJDOC4xOTU1MiA3LjM4NDYyIDguNjc1NjUgNy4yODkxMSA5LjEyMzYyIDcuMTAzNTZDOS41NzE1OSA2LjkxOCA5Ljk3ODYzIDYuNjQ2MDMgMTAuMzIxNSA2LjMwMzE2QzEwLjY2NDQgNS45NjAzIDEwLjkzNjMgNS41NTMyNiAxMS4xMjE5IDUuMTA1MjlDMTEuMzA3NCA0LjY1NzMyIDExLjQwMjkgNC4xNzcxOSAxMS40MDI5IDMuNjkyMzFDMTEuNDAyOSAzLjIwNzQzIDExLjMwNzQgMi43MjcyOSAxMS4xMjE5IDIuMjc5MzJDMTAuOTM2MyAxLjgzMTM1IDEwLjY2NDQgMS40MjQzMSAxMC4zMjE1IDEuMDgxNDVDOS45Nzg2MyAwLjczODU5IDkuNTcxNTkgMC40NjY2MTYgOS4xMjM2MiAwLjI4MTA2QzguNjc1NjUgMC4wOTU1MDQzIDguMTk1NTIgLTcuMjI1MjllLTA5IDcuNzEwNjQgMEM2LjczMTM4IDEuNDU5MjFlLTA4IDUuNzkyMjIgMC4zODkwMSA1LjA5OTc4IDEuMDgxNDVDNC40MDczNCAxLjc3Mzg5IDQuMDE4MzMgMi43MTMwNSA0LjAxODMzIDMuNjkyMzFDNC4wMTgzMyA0LjY3MTU3IDQuNDA3MzQgNS42MTA3MiA1LjA5OTc4IDYuMzAzMTZDNS43OTIyMiA2Ljk5NTYxIDYuNzMxMzggNy4zODQ2MiA3LjcxMDY0IDcuMzg0NjJaTTE4Ljc4NzYgNy4zODQ2MkMxOS4yNzI0IDcuMzg0NjIgMTkuNzUyNiA3LjI4OTExIDIwLjIwMDUgNy4xMDM1NkMyMC42NDg1IDYuOTE4IDIxLjA1NTYgNi42NDYwMyAyMS4zOTg0IDYuMzAzMTZDMjEuNzQxMyA1Ljk2MDMgMjIuMDEzMyA1LjU1MzI2IDIyLjE5ODggNS4xMDUyOUMyMi4zODQ0IDQuNjU3MzIgMjIuNDc5OSA0LjE3NzE5IDIyLjQ3OTkgMy42OTIzMUMyMi40Nzk5IDMuMjA3NDMgMjIuMzg0NCAyLjcyNzI5IDIyLjE5ODggMi4yNzkzMkMyMi4wMTMzIDEuODMxMzUgMjEuNzQxMyAxLjQyNDMxIDIxLjM5ODQgMS4wODE0NUMyMS4wNTU2IDAuNzM4NTkgMjAuNjQ4NSAwLjQ2NjYxNiAyMC4yMDA1IDAuMjgxMDZDMTkuNzUyNiAwLjA5NTUwNDMgMTkuMjcyNCAtNy4yMjUyOWUtMDkgMTguNzg3NiAwQzE3LjgwODMgMS40NTkyMWUtMDggMTYuODY5MSAwLjM4OTAxIDE2LjE3NjcgMS4wODE0NUMxNS40ODQzIDEuNzczODkgMTUuMDk1MyAyLjcxMzA1IDE1LjA5NTMgMy42OTIzMUMxNS4wOTUzIDQuNjcxNTcgMTUuNDg0MyA1LjYxMDcyIDE2LjE3NjcgNi4zMDMxNkMxNi44NjkxIDYuOTk1NjEgMTcuODA4MyA3LjM4NDYyIDE4Ljc4NzYgNy4zODQ2MlpNMC45NDE0MDYgMTAuNzM2QzAuOTQxNDA2IDEwLjQ1NzUgMC45OTYyNTggMTAuMTgxOCAxLjEwMjgzIDkuOTI0NDhDMS4yMDk0IDkuNjY3MTkgMS4zNjU2IDkuNDMzNDIgMS41NjI1MiA5LjIzNjVDMS43NTk0NCA5LjAzOTU4IDEuOTkzMjEgOC44ODMzOCAyLjI1MDUgOC43NzY4MUMyLjUwNzc4IDguNjcwMjQgMi43ODM1NCA4LjYxNTM5IDMuMDYyMDIgOC42MTUzOUg4Ljk4NDQ4QzguNTUxNjkgOS4zNjM0NSA4LjMyNDUyIDEwLjIxMjcgOC4zMjYwMiAxMS4wNzY5QzguMzI1MTkgMTEuNzc1NSA4LjQ3MzQxIDEyLjQ2NjIgOC43NjA3OSAxMy4xMDI5QzkuMDQ4MTYgMTMuNzM5NiA5LjQ2ODA3IDE0LjMwNzcgOS45OTI0OCAxNC43NjkySDguNjAwNDhDOC4wMTQxOCAxNC43Njg3IDcuNDM4MDMgMTQuOTIyMiA2LjkyOTY5IDE1LjIxNDRDNi40MjEzNCAxNS41MDY1IDUuOTk4NjQgMTUuOTI3IDUuNzAzODcgMTYuNDMzOEMzLjcyMTEgMTYuMDQ0OSAyLjUxNjE4IDE1LjA3ODIgMS44MTQ2NCAxMy45OTJDMC45NDE0MDYgMTIuNjQgMC45NDE0MDYgMTEuMjQzMSAwLjk0MTQwNiAxMS4wMDEyVjEwLjczNlpNMTcuODk3NyAxNC43NjkyQzE4LjQ4NCAxNC43Njg3IDE5LjA2MDIgMTQuOTIyMiAxOS41Njg1IDE1LjIxNDRDMjAuMDc2OSAxNS41MDY1IDIwLjQ5OTYgMTUuOTI3IDIwLjc5NDMgMTYuNDMzOEMyMi43NzcxIDE2LjA0NDkgMjMuOTgyIDE1LjA3ODIgMjQuNjgzNiAxMy45OTJDMjUuNTU2OCAxMi42NCAyNS41NTY4IDExLjI0MzEgMjUuNTU2OCAxMS4wMDEyVjEwLjczNjZDMjUuNTU2OSAxMC40NTgxIDI1LjUwMjEgMTAuMTgyMyAyNS4zOTU1IDkuOTI0OUMyNS4yODkgOS42Njc1NSAyNS4xMzI4IDkuNDMzNyAyNC45MzU5IDkuMjM2NzJDMjQuNzM5IDkuMDM5NzMgMjQuNTA1MiA4Ljg4MzQ4IDI0LjI0NzggOC43NzY4N0MyMy45OTA1IDguNjcwMjYgMjMuNzE0NyA4LjYxNTM5IDIzLjQzNjIgOC42MTUzOUgxNy41MTM3QzE3Ljk0NjUgOS4zNjM0NSAxOC4xNzM3IDEwLjIxMjcgMTguMTcyMiAxMS4wNzY5QzE4LjE3MyAxMS43NzU1IDE4LjAyNDggMTIuNDY2MiAxNy43Mzc0IDEzLjEwMjlDMTcuNDUgMTMuNzM5NiAxNy4wMzAxIDE0LjMwNzcgMTYuNTA1NyAxNC43NjkySDE3Ljg5NzdaTTE2Ljk0MTQgMTEuMDc2OUMxNi45NDE0IDEyLjA1NjIgMTYuNTUyNCAxMi45OTUzIDE1Ljg2IDEzLjY4NzhDMTUuMTY3NSAxNC4zODAyIDE0LjIyODQgMTQuNzY5MiAxMy4yNDkxIDE0Ljc2OTJDMTIuMjY5OCAxNC43NjkyIDExLjMzMDcgMTQuMzgwMiAxMC42MzgyIDEzLjY4NzhDOS45NDU4IDEyLjk5NTMgOS41NTY3OSAxMi4wNTYyIDkuNTU2NzkgMTEuMDc2OUM5LjU1Njc5IDEwLjA5NzcgOS45NDU4IDkuMTU4NTEgMTAuNjM4MiA4LjQ2NjA3QzExLjMzMDcgNy43NzM2MyAxMi4yNjk4IDcuMzg0NjIgMTMuMjQ5MSA3LjM4NDYyQzE0LjIyODQgNy4zODQ2MiAxNS4xNjc1IDcuNzczNjMgMTUuODYgOC40NjYwN0MxNi41NTI0IDkuMTU4NTEgMTYuOTQxNCAxMC4wOTc3IDE2Ljk0MTQgMTEuMDc2OVpNNi40Nzk4NyAxOC4xMjA2QzYuNDc5ODcgMTcuNTU4MiA2LjcwMzI5IDE3LjAxODggNy4xMDA5OCAxNi42MjExQzcuNDk4NjcgMTYuMjIzNCA4LjAzODA2IDE2IDguNjAwNDggMTZIMTcuODk3N0MxOC40NjAxIDE2IDE4Ljk5OTUgMTYuMjIzNCAxOS4zOTcyIDE2LjYyMTFDMTkuNzk0OSAxNy4wMTg4IDIwLjAxODMgMTcuNTU4MiAyMC4wMTgzIDE4LjEyMDZWMTguMzg1OEMyMC4wMTgzIDE4LjYyODMgMjAuMDE4MyAyMC4wMjQ2IDE5LjE0NTEgMjEuMzc2NkMxOC4yMzI1IDIyLjc4OTUgMTYuNDY5NCAyNCAxMy4yNDkxIDI0QzEwLjAyODggMjQgOC4yNjU3MSAyMi43ODk1IDcuMzUzMSAyMS4zNzY2QzYuNDc5ODcgMjAuMDI0NiA2LjQ3OTg3IDE4LjYyNzcgNi40Nzk4NyAxOC4zODU4VjE4LjEyMDZaXCIgLz5cclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8L21hc2s+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPHBhdGhcclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgZD1cIk03LjcxMDY0IDcuMzg0NjJDOC4xOTU1MiA3LjM4NDYyIDguNjc1NjUgNy4yODkxMSA5LjEyMzYyIDcuMTAzNTZDOS41NzE1OSA2LjkxOCA5Ljk3ODYzIDYuNjQ2MDMgMTAuMzIxNSA2LjMwMzE2QzEwLjY2NDQgNS45NjAzIDEwLjkzNjMgNS41NTMyNiAxMS4xMjE5IDUuMTA1MjlDMTEuMzA3NCA0LjY1NzMyIDExLjQwMjkgNC4xNzcxOSAxMS40MDI5IDMuNjkyMzFDMTEuNDAyOSAzLjIwNzQzIDExLjMwNzQgMi43MjcyOSAxMS4xMjE5IDIuMjc5MzJDMTAuOTM2MyAxLjgzMTM1IDEwLjY2NDQgMS40MjQzMSAxMC4zMjE1IDEuMDgxNDVDOS45Nzg2MyAwLjczODU5IDkuNTcxNTkgMC40NjY2MTYgOS4xMjM2MiAwLjI4MTA2QzguNjc1NjUgMC4wOTU1MDQzIDguMTk1NTIgLTcuMjI1MjllLTA5IDcuNzEwNjQgMEM2LjczMTM4IDEuNDU5MjFlLTA4IDUuNzkyMjIgMC4zODkwMSA1LjA5OTc4IDEuMDgxNDVDNC40MDczNCAxLjc3Mzg5IDQuMDE4MzMgMi43MTMwNSA0LjAxODMzIDMuNjkyMzFDNC4wMTgzMyA0LjY3MTU3IDQuNDA3MzQgNS42MTA3MiA1LjA5OTc4IDYuMzAzMTZDNS43OTIyMiA2Ljk5NTYxIDYuNzMxMzggNy4zODQ2MiA3LjcxMDY0IDcuMzg0NjJaTTE4Ljc4NzYgNy4zODQ2MkMxOS4yNzI0IDcuMzg0NjIgMTkuNzUyNiA3LjI4OTExIDIwLjIwMDUgNy4xMDM1NkMyMC42NDg1IDYuOTE4IDIxLjA1NTYgNi42NDYwMyAyMS4zOTg0IDYuMzAzMTZDMjEuNzQxMyA1Ljk2MDMgMjIuMDEzMyA1LjU1MzI2IDIyLjE5ODggNS4xMDUyOUMyMi4zODQ0IDQuNjU3MzIgMjIuNDc5OSA0LjE3NzE5IDIyLjQ3OTkgMy42OTIzMUMyMi40Nzk5IDMuMjA3NDMgMjIuMzg0NCAyLjcyNzI5IDIyLjE5ODggMi4yNzkzMkMyMi4wMTMzIDEuODMxMzUgMjEuNzQxMyAxLjQyNDMxIDIxLjM5ODQgMS4wODE0NUMyMS4wNTU2IDAuNzM4NTkgMjAuNjQ4NSAwLjQ2NjYxNiAyMC4yMDA1IDAuMjgxMDZDMTkuNzUyNiAwLjA5NTUwNDMgMTkuMjcyNCAtNy4yMjUyOWUtMDkgMTguNzg3NiAwQzE3LjgwODMgMS40NTkyMWUtMDggMTYuODY5MSAwLjM4OTAxIDE2LjE3NjcgMS4wODE0NUMxNS40ODQzIDEuNzczODkgMTUuMDk1MyAyLjcxMzA1IDE1LjA5NTMgMy42OTIzMUMxNS4wOTUzIDQuNjcxNTcgMTUuNDg0MyA1LjYxMDcyIDE2LjE3NjcgNi4zMDMxNkMxNi44NjkxIDYuOTk1NjEgMTcuODA4MyA3LjM4NDYyIDE4Ljc4NzYgNy4zODQ2MlpNMC45NDE0MDYgMTAuNzM2QzAuOTQxNDA2IDEwLjQ1NzUgMC45OTYyNTggMTAuMTgxOCAxLjEwMjgzIDkuOTI0NDhDMS4yMDk0IDkuNjY3MTkgMS4zNjU2IDkuNDMzNDIgMS41NjI1MiA5LjIzNjVDMS43NTk0NCA5LjAzOTU4IDEuOTkzMjEgOC44ODMzOCAyLjI1MDUgOC43NzY4MUMyLjUwNzc4IDguNjcwMjQgMi43ODM1NCA4LjYxNTM5IDMuMDYyMDIgOC42MTUzOUg4Ljk4NDQ4QzguNTUxNjkgOS4zNjM0NSA4LjMyNDUyIDEwLjIxMjcgOC4zMjYwMiAxMS4wNzY5QzguMzI1MTkgMTEuNzc1NSA4LjQ3MzQxIDEyLjQ2NjIgOC43NjA3OSAxMy4xMDI5QzkuMDQ4MTYgMTMuNzM5NiA5LjQ2ODA3IDE0LjMwNzcgOS45OTI0OCAxNC43NjkySDguNjAwNDhDOC4wMTQxOCAxNC43Njg3IDcuNDM4MDMgMTQuOTIyMiA2LjkyOTY5IDE1LjIxNDRDNi40MjEzNCAxNS41MDY1IDUuOTk4NjQgMTUuOTI3IDUuNzAzODcgMTYuNDMzOEMzLjcyMTEgMTYuMDQ0OSAyLjUxNjE4IDE1LjA3ODIgMS44MTQ2NCAxMy45OTJDMC45NDE0MDYgMTIuNjQgMC45NDE0MDYgMTEuMjQzMSAwLjk0MTQwNiAxMS4wMDEyVjEwLjczNlpNMTcuODk3NyAxNC43NjkyQzE4LjQ4NCAxNC43Njg3IDE5LjA2MDIgMTQuOTIyMiAxOS41Njg1IDE1LjIxNDRDMjAuMDc2OSAxNS41MDY1IDIwLjQ5OTYgMTUuOTI3IDIwLjc5NDMgMTYuNDMzOEMyMi43NzcxIDE2LjA0NDkgMjMuOTgyIDE1LjA3ODIgMjQuNjgzNiAxMy45OTJDMjUuNTU2OCAxMi42NCAyNS41NTY4IDExLjI0MzEgMjUuNTU2OCAxMS4wMDEyVjEwLjczNjZDMjUuNTU2OSAxMC40NTgxIDI1LjUwMjEgMTAuMTgyMyAyNS4zOTU1IDkuOTI0OUMyNS4yODkgOS42Njc1NSAyNS4xMzI4IDkuNDMzNyAyNC45MzU5IDkuMjM2NzJDMjQuNzM5IDkuMDM5NzMgMjQuNTA1MiA4Ljg4MzQ4IDI0LjI0NzggOC43NzY4N0MyMy45OTA1IDguNjcwMjYgMjMuNzE0NyA4LjYxNTM5IDIzLjQzNjIgOC42MTUzOUgxNy41MTM3QzE3Ljk0NjUgOS4zNjM0NSAxOC4xNzM3IDEwLjIxMjcgMTguMTcyMiAxMS4wNzY5QzE4LjE3MyAxMS43NzU1IDE4LjAyNDggMTIuNDY2MiAxNy43Mzc0IDEzLjEwMjlDMTcuNDUgMTMuNzM5NiAxNy4wMzAxIDE0LjMwNzcgMTYuNTA1NyAxNC43NjkySDE3Ljg5NzdaTTE2Ljk0MTQgMTEuMDc2OUMxNi45NDE0IDEyLjA1NjIgMTYuNTUyNCAxMi45OTUzIDE1Ljg2IDEzLjY4NzhDMTUuMTY3NSAxNC4zODAyIDE0LjIyODQgMTQuNzY5MiAxMy4yNDkxIDE0Ljc2OTJDMTIuMjY5OCAxNC43NjkyIDExLjMzMDcgMTQuMzgwMiAxMC42MzgyIDEzLjY4NzhDOS45NDU4IDEyLjk5NTMgOS41NTY3OSAxMi4wNTYyIDkuNTU2NzkgMTEuMDc2OUM5LjU1Njc5IDEwLjA5NzcgOS45NDU4IDkuMTU4NTEgMTAuNjM4MiA4LjQ2NjA3QzExLjMzMDcgNy43NzM2MyAxMi4yNjk4IDcuMzg0NjIgMTMuMjQ5MSA3LjM4NDYyQzE0LjIyODQgNy4zODQ2MiAxNS4xNjc1IDcuNzczNjMgMTUuODYgOC40NjYwN0MxNi41NTI0IDkuMTU4NTEgMTYuOTQxNCAxMC4wOTc3IDE2Ljk0MTQgMTEuMDc2OVpNNi40Nzk4NyAxOC4xMjA2QzYuNDc5ODcgMTcuNTU4MiA2LjcwMzI5IDE3LjAxODggNy4xMDA5OCAxNi42MjExQzcuNDk4NjcgMTYuMjIzNCA4LjAzODA2IDE2IDguNjAwNDggMTZIMTcuODk3N0MxOC40NjAxIDE2IDE4Ljk5OTUgMTYuMjIzNCAxOS4zOTcyIDE2LjYyMTFDMTkuNzk0OSAxNy4wMTg4IDIwLjAxODMgMTcuNTU4MiAyMC4wMTgzIDE4LjEyMDZWMTguMzg1OEMyMC4wMTgzIDE4LjYyODMgMjAuMDE4MyAyMC4wMjQ2IDE5LjE0NTEgMjEuMzc2NkMxOC4yMzI1IDIyLjc4OTUgMTYuNDY5NCAyNCAxMy4yNDkxIDI0QzEwLjAyODggMjQgOC4yNjU3MSAyMi43ODk1IDcuMzUzMSAyMS4zNzY2QzYuNDc5ODcgMjAuMDI0NiA2LjQ3OTg3IDE4LjYyNzcgNi40Nzk4NyAxOC4zODU4VjE4LjEyMDZaXCJcclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgc3Ryb2tlPVwiIzk4QTJCM1wiIHN0cm9rZS13aWR0aD1cIjNcIiBtYXNrPVwidXJsKCNwYXRoLTYtaW5zaWRlLTJfNzA3XzEzMTA2KVwiIC8+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8L3N2Zz5cclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPC9kaXY+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxkaXYgY2xhc3M9XCJteC0zIG10LTFcIj5cclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxkaXYgY2xhc3M9XCJteS0xIGNhcmQtbGFiZWwgbGVmdC1jYXJkLWNvdW50XCI+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAge3tnZXRPdmVyYWxsQ2FyZERhdGE/LnBvdGVudGlhbEJ1eWVyc0NhcmQ/Lmdyb3VwQ291bnQgP1xyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGdldE92ZXJhbGxDYXJkRGF0YT8ucG90ZW50aWFsQnV5ZXJzQ2FyZD8uZ3JvdXBDb3VudC50b0xvY2FsZVN0cmluZygnZW4tSU4nKSA6Jy0tJ319PC9kaXY+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8ZGl2IGNsYXNzPVwibGVmdC1jYXJkLWNvdW50LWhlYWRlclwiPkdyb3VwPC9kaXY+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvZGl2PlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvZGl2PlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxkaXYgY2xhc3M9XCJkLWZsZXggYWxpZ24taXRlbXMtY2VudGVyIG15LTUgbWUtMlwiPlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8ZGl2IGNsYXNzPVwiZmxleC1zaHJpbmstMCBtdC0zXCI+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8c3ZnIHhtbG5zPVwiaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmdcIiB3aWR0aD1cIjI0XCIgaGVpZ2h0PVwiMjRcIiB2aWV3Qm94PVwiMCAwIDI0IDI0XCIgZmlsbD1cIm5vbmVcIj5cclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8cGF0aCBkPVwiTTEzIDJMMyAxNEgxMkwxMSAyMkwyMSAxMEgxMkwxMyAyWlwiIHN0cm9rZT1cIiM5OEEyQjNcIiBzdHJva2Utd2lkdGg9XCIyXCIgc3Ryb2tlLWxpbmVjYXA9XCJyb3VuZFwiIHN0cm9rZS1saW5lam9pbj1cInJvdW5kXCIvPlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvc3ZnPlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8L2Rpdj5cclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGRpdiBjbGFzcz1cIm14LTMgbXQtMVwiPlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGRpdiBjbGFzcz1cIm15LTEgY2FyZC1sYWJlbCBsZWZ0LWNhcmQtY291bnRcIj5cclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB7e2dldE92ZXJhbGxDYXJkRGF0YT8ucG90ZW50aWFsQnV5ZXJzQ2FyZD8ubW9zdENvbW1vbkFnZSA/XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgZ2V0T3ZlcmFsbENhcmREYXRhPy5wb3RlbnRpYWxCdXllcnNDYXJkPy5tb3N0Q29tbW9uQWdlIDonLS0nfX08L2Rpdj5cclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxkaXYgY2xhc3M9XCJsZWZ0LWNhcmQtY291bnQtaGVhZGVyXCI+TW9zdCBDb21tb24gQWdlPC9kaXY+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvZGl2PlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvZGl2PlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxkaXYgY2xhc3M9XCJkLWZsZXggYWxpZ24taXRlbXMtY2VudGVyIG15LTUgbWUtMlwiPlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8ZGl2IGNsYXNzPVwiZmxleC1zaHJpbmstMCBtdC0zXCI+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8c3ZnIHhtbG5zPVwiaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmdcIiB3aWR0aD1cIjI0XCIgaGVpZ2h0PVwiMjRcIiB2aWV3Qm94PVwiMCAwIDI0IDI0XCIgZmlsbD1cIm5vbmVcIj5cclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8cGF0aCBkPVwiTTEzIDJMMyAxNEgxMkwxMSAyMkwyMSAxMEgxMkwxMyAyWlwiIHN0cm9rZT1cIiM5OEEyQjNcIiBzdHJva2Utd2lkdGg9XCIyXCIgc3Ryb2tlLWxpbmVjYXA9XCJyb3VuZFwiIHN0cm9rZS1saW5lam9pbj1cInJvdW5kXCIvPlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvc3ZnPlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8L2Rpdj5cclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGRpdiBjbGFzcz1cIm14LTMgbXQtMVwiPlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGRpdiBjbGFzcz1cIm15LTEgY2FyZC1sYWJlbCBsZWZ0LWNhcmQtY291bnRcIj5cclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB7e2dldE92ZXJhbGxDYXJkRGF0YT8ucG90ZW50aWFsQnV5ZXJzQ2FyZD8ubWFsZVJhdGUgP1xyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGdldE92ZXJhbGxDYXJkRGF0YT8ucG90ZW50aWFsQnV5ZXJzQ2FyZD8ubWFsZVJhdGUgOictLSd9fSAlPC9kaXY+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8ZGl2IGNsYXNzPVwibGVmdC1jYXJkLWNvdW50LWhlYWRlclwiPk1hbGU8L2Rpdj5cclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPC9kaXY+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxkaXYgY2xhc3M9XCJteC0zIG10LTFcIj5cclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxkaXYgY2xhc3M9XCJteS0xIGNhcmQtbGFiZWwgbGVmdC1jYXJkLWNvdW50XCI+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAge3tnZXRPdmVyYWxsQ2FyZERhdGE/LnBvdGVudGlhbEJ1eWVyc0NhcmQ/LmZlbWFsZVJhdGUgP1xyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGdldE92ZXJhbGxDYXJkRGF0YT8ucG90ZW50aWFsQnV5ZXJzQ2FyZD8uZmVtYWxlUmF0ZSA6Jy0tJ319ICU8L2Rpdj5cclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxkaXYgY2xhc3M9XCJsZWZ0LWNhcmQtY291bnQtaGVhZGVyXCI+RmVtYWxlPC9kaXY+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvZGl2PlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIFxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvZGl2PlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgPC9kaXY+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgIDwvZGl2PlxyXG4gICAgICAgICAgICAgICAgICAgICAgICA8ZGl2ICpuZ0lmPVwic2VsZWN0ZWRUYWIgPT09J21pc3NlZE9wcG9ydHVuaXR5J1wiIGNsYXNzPVwibGVmdC1iYXJcIj5cclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxkaXYgY2xhc3M9XCJ0b3AtaGVhZGVyIHRleHQtY2VudGVyXCI+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGRpdiBjbGFzcz1cImxlZnQtYmFyLWNvdW50XCIgW25nU3R5bGVdPVwie1xyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAnZm9udC1zaXplJzogKGdldE92ZXJhbGxDYXJkRGF0YT8ubWlzc2VkT3Bwb3J0dW5pdHlDYXJkPy5taXNzZWRPcHBvcnR1bml0eUNvdW50LnRvTG9jYWxlU3RyaW5nKCk/Lmxlbmd0aCA+IDUgPyAnMjRweCcgOiAnMzZweCcpIFxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgfVwiPnt7Z2V0T3ZlcmFsbENhcmREYXRhPy5taXNzZWRPcHBvcnR1bml0eUNhcmQ/Lm1pc3NlZE9wcG9ydHVuaXR5Q291bnQgP1xyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBnZXRPdmVyYWxsQ2FyZERhdGE/Lm1pc3NlZE9wcG9ydHVuaXR5Q2FyZD8ubWlzc2VkT3Bwb3J0dW5pdHlDb3VudC50b0xvY2FsZVN0cmluZygnZW4tSU4nKSA6Jy0tJ319PC9kaXY+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGRpdiBjbGFzcz1cImxlZnQtYmFyLXRpdGxlXCI+e3toZWFkZXJEYXRhPy5jbGllbnQgPT09JzQ1MicgPyAgZmVhdHVyZUNvbmZpZz8ubWlzc2VkT3Bwb3J0dW5pdHlGcm9tLnZhbHVlKycgLSAnKyBmZWF0dXJlQ29uZmlnPy5taXNzZWRPcHBvcnR1bml0eVRvLnZhbHVlICsgJyBtaW5zJyA6J01pc3NlZCBvcHBvcnR1bml0eSd9fSBDb3VudDwvZGl2PlxyXG4gICAgICAgIFxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgPC9kaXY+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICA8ZGl2IGNsYXNzPVwibXktNVwiPlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxkaXYgY2xhc3M9XCJkLWZsZXggYWxpZ24taXRlbXMtY2VudGVyIG15LTUgbWUtMlwiPlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8ZGl2IGNsYXNzPVwiZmxleC1zaHJpbmstMCBtdC0zXCI+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8c3ZnIHhtbG5zPVwiaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmdcIiB3aWR0aD1cIjI0XCIgaGVpZ2h0PVwiMjRcIiB2aWV3Qm94PVwiMCAwIDI0IDI0XCIgZmlsbD1cIm5vbmVcIj5cclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8cGF0aCBkPVwiTTEzIDJMMyAxNEgxMkwxMSAyMkwyMSAxMEgxMkwxMyAyWlwiIHN0cm9rZT1cIiM5OEEyQjNcIiBzdHJva2Utd2lkdGg9XCIyXCIgc3Ryb2tlLWxpbmVjYXA9XCJyb3VuZFwiIHN0cm9rZS1saW5lam9pbj1cInJvdW5kXCIvPlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvc3ZnPlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8L2Rpdj5cclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGRpdiBjbGFzcz1cIm14LTMgbXQtMVwiPlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGRpdiBjbGFzcz1cIm15LTEgY2FyZC1sYWJlbCBsZWZ0LWNhcmQtY291bnRcIj5cclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB7e2dldE92ZXJhbGxDYXJkRGF0YT8ubWlzc2VkT3Bwb3J0dW5pdHlDYXJkPy5taXNzZWRPcHBvcnR1bml0eVJhdGUgP1xyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGdldE92ZXJhbGxDYXJkRGF0YT8ubWlzc2VkT3Bwb3J0dW5pdHlDYXJkPy5taXNzZWRPcHBvcnR1bml0eVJhdGUgOictLSd9fSU8L2Rpdj5cclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxkaXYgY2xhc3M9XCJsZWZ0LWNhcmQtY291bnQtaGVhZGVyXCI+e3toZWFkZXJEYXRhPy5jbGllbnQgPT09JzQ1MicgPyAgZmVhdHVyZUNvbmZpZz8ubWlzc2VkT3Bwb3J0dW5pdHlGcm9tLnZhbHVlKyAnIC0gJyArZmVhdHVyZUNvbmZpZz8ubWlzc2VkT3Bwb3J0dW5pdHlUby52YWx1ZSArICcgbWlucycgOidNaXNzZWQgb3Bwb3J0dW5pdHknfX0gUmF0ZTwvZGl2PlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8L2Rpdj5cclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8L2Rpdj5cclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8ZGl2ICpuZ0lmPVwiaGVhZGVyRGF0YT8uY2xpZW50ICE9PSc0NTInXCIgY2xhc3M9XCJkLWZsZXggYWxpZ24taXRlbXMtY2VudGVyIG15LTUgbWUtMlwiPlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8ZGl2IGNsYXNzPVwiZmxleC1zaHJpbmstMCBtdC0zXCI+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8c3ZnIHhtbG5zPVwiaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmdcIiB3aWR0aD1cIjI0XCIgaGVpZ2h0PVwiMjRcIiB2aWV3Qm94PVwiMCAwIDI0IDI0XCIgZmlsbD1cIm5vbmVcIj5cclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8cGF0aCBkPVwiTTEzIDJMMyAxNEgxMkwxMSAyMkwyMSAxMEgxMkwxMyAyWlwiIHN0cm9rZT1cIiM5OEEyQjNcIiBzdHJva2Utd2lkdGg9XCIyXCIgc3Ryb2tlLWxpbmVjYXA9XCJyb3VuZFwiIHN0cm9rZS1saW5lam9pbj1cInJvdW5kXCIvPlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvc3ZnPlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8L2Rpdj5cclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGRpdiBjbGFzcz1cIm14LTMgbXQtMVwiPlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGRpdiBjbGFzcz1cIm15LTEgY2FyZC1sYWJlbCBsZWZ0LWNhcmQtY291bnRcIiBbbmdTdHlsZV09XCJ7XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICdmb250LXNpemUnOiAoZ2V0T3ZlcmFsbENhcmREYXRhPy5taXNzZWRPcHBvcnR1bml0eUNhcmQ/LnBvdGVudGlhbFJldmVudWVMb3NzLnRvTG9jYWxlU3RyaW5nKCk/Lmxlbmd0aCA+IDggPyAnMTZweCcgOiAnMThweCcpfVwiPjxzcGFuIGNsYXNzPVwibWUtMVwiICpuZ0lmPVwiZ2V0T3ZlcmFsbENhcmREYXRhPy5taXNzZWRPcHBvcnR1bml0eUNhcmQ/LmN1cnJlbmN5ID09PSdpbnInXCI+4oK5PC9zcGFuPlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxzcGFuIGNsYXNzPVwibWUtMVwiICpuZ0lmPVwiZ2V0T3ZlcmFsbENhcmREYXRhPy5taXNzZWRPcHBvcnR1bml0eUNhcmQ/LmN1cnJlbmN5ID09PSdkb2xsYXInXCI+JDwvc3Bhbj5cclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8c3BhbiBjbGFzcz1cIm1lLTFcIiAqbmdJZj1cImdldE92ZXJhbGxDYXJkRGF0YT8ubWlzc2VkT3Bwb3J0dW5pdHlDYXJkPy5jdXJyZW5jeSA9PT0nYWVkJ1wiPtivLtilPC9zcGFuPlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHt7Z2V0T3ZlcmFsbENhcmREYXRhPy5taXNzZWRPcHBvcnR1bml0eUNhcmQ/LnBvdGVudGlhbFJldmVudWVMb3NzID9cclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBnZXRPdmVyYWxsQ2FyZERhdGE/Lm1pc3NlZE9wcG9ydHVuaXR5Q2FyZD8ucG90ZW50aWFsUmV2ZW51ZUxvc3MudG9Mb2NhbGVTdHJpbmcoJ2VuLUlOJykgOictLSd9fTwvZGl2PlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGRpdiBjbGFzcz1cImxlZnQtY2FyZC1jb3VudC1oZWFkZXJcIj5Qb3RlbnRpYWwgTG9zcyBSZXZlbnVlPC9kaXY+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvZGl2PlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvZGl2PlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxkaXYgY2xhc3M9XCJkLWZsZXggYWxpZ24taXRlbXMtY2VudGVyIG15LTUgbWUtMlwiPlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8ZGl2IGNsYXNzPVwiZmxleC1zaHJpbmstMCBtdC0zXCI+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8c3ZnIHhtbG5zPVwiaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmdcIiB3aWR0aD1cIjI0XCIgaGVpZ2h0PVwiMjRcIiB2aWV3Qm94PVwiMCAwIDI0IDI0XCIgZmlsbD1cIm5vbmVcIj5cclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8cGF0aCBkPVwiTTEzIDJMMyAxNEgxMkwxMSAyMkwyMSAxMEgxMkwxMyAyWlwiIHN0cm9rZT1cIiM5OEEyQjNcIiBzdHJva2Utd2lkdGg9XCIyXCIgc3Ryb2tlLWxpbmVjYXA9XCJyb3VuZFwiIHN0cm9rZS1saW5lam9pbj1cInJvdW5kXCIvPlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvc3ZnPlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8L2Rpdj5cclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGRpdiBjbGFzcz1cIm14LTMgbXQtMVwiPlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGRpdiBjbGFzcz1cIm15LTEgY2FyZC1sYWJlbCBsZWZ0LWNhcmQtY291bnRcIj5cclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB7e2dldE92ZXJhbGxDYXJkRGF0YT8ubWlzc2VkT3Bwb3J0dW5pdHlDYXJkPy5sb3dDb252ZXJzaW9uWm9uZSA/XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgZ2V0T3ZlcmFsbENhcmREYXRhPy5taXNzZWRPcHBvcnR1bml0eUNhcmQ/Lmxvd0NvbnZlcnNpb25ab25lIDonLS0nfX08L2Rpdj5cclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxkaXYgY2xhc3M9XCJsZWZ0LWNhcmQtY291bnQtaGVhZGVyXCI+TG93IENvbnZlcnNpb24gWm9uZTwvZGl2PlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8L2Rpdj5cclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8L2Rpdj5cclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8ZGl2IGNsYXNzPVwiZC1mbGV4IGFsaWduLWl0ZW1zLWNlbnRlciBteS01IG1lLTJcIj5cclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGRpdiBjbGFzcz1cImZsZXgtc2hyaW5rLTAgbXQtM1wiPlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPHN2ZyB4bWxucz1cImh0dHA6Ly93d3cudzMub3JnLzIwMDAvc3ZnXCIgd2lkdGg9XCIyNFwiIGhlaWdodD1cIjI0XCIgdmlld0JveD1cIjAgMCAyNCAyNFwiIGZpbGw9XCJub25lXCI+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPHBhdGggZD1cIk0xMyAyTDMgMTRIMTJMMTEgMjJMMjEgMTBIMTJMMTMgMlpcIiBzdHJva2U9XCIjOThBMkIzXCIgc3Ryb2tlLXdpZHRoPVwiMlwiIHN0cm9rZS1saW5lY2FwPVwicm91bmRcIiBzdHJva2UtbGluZWpvaW49XCJyb3VuZFwiLz5cclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8L3N2Zz5cclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPC9kaXY+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxkaXYgY2xhc3M9XCJteC0zIG10LTFcIj5cclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxkaXYgY2xhc3M9XCJteS0xIGNhcmQtbGFiZWwgbGVmdC1jYXJkLWNvdW50XCI+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAge3tnZXRPdmVyYWxsQ2FyZERhdGE/Lm1pc3NlZE9wcG9ydHVuaXR5Q2FyZD8ubW9zdENvbW1vbkFnZSA/XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgZ2V0T3ZlcmFsbENhcmREYXRhPy5taXNzZWRPcHBvcnR1bml0eUNhcmQ/Lm1vc3RDb21tb25BZ2UgOictLSd9fTwvZGl2PlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGRpdiBjbGFzcz1cImxlZnQtY2FyZC1jb3VudC1oZWFkZXJcIj5Nb3N0IENvbW1vbiBBZ2U8L2Rpdj5cclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPC9kaXY+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPC9kaXY+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGRpdiBjbGFzcz1cImQtZmxleCBhbGlnbi1pdGVtcy1jZW50ZXIgbXktNSBtZS0yXCI+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxkaXYgY2xhc3M9XCJmbGV4LXNocmluay0wIG10LTNcIj5cclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxzdmcgeG1sbnM9XCJodHRwOi8vd3d3LnczLm9yZy8yMDAwL3N2Z1wiIHdpZHRoPVwiMjRcIiBoZWlnaHQ9XCIyNFwiIHZpZXdCb3g9XCIwIDAgMjQgMjRcIiBmaWxsPVwibm9uZVwiPlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxwYXRoIGQ9XCJNMTMgMkwzIDE0SDEyTDExIDIyTDIxIDEwSDEyTDEzIDJaXCIgc3Ryb2tlPVwiIzk4QTJCM1wiIHN0cm9rZS13aWR0aD1cIjJcIiBzdHJva2UtbGluZWNhcD1cInJvdW5kXCIgc3Ryb2tlLWxpbmVqb2luPVwicm91bmRcIi8+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPC9zdmc+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvZGl2PlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8ZGl2IGNsYXNzPVwibXgtMyBtdC0xXCI+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8ZGl2IGNsYXNzPVwibXktMSBjYXJkLWxhYmVsIGxlZnQtY2FyZC1jb3VudFwiPlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHt7Z2V0T3ZlcmFsbENhcmREYXRhPy5taXNzZWRPcHBvcnR1bml0eUNhcmQ/Lm1hbGVSYXRlID9cclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBnZXRPdmVyYWxsQ2FyZERhdGE/Lm1pc3NlZE9wcG9ydHVuaXR5Q2FyZD8ubWFsZVJhdGUgOictLSd9fSAlPC9kaXY+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8ZGl2IGNsYXNzPVwibGVmdC1jYXJkLWNvdW50LWhlYWRlclwiPk1hbGU8L2Rpdj5cclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPC9kaXY+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxkaXYgY2xhc3M9XCJteC0zIG10LTFcIj5cclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxkaXYgY2xhc3M9XCJteS0xIGNhcmQtbGFiZWwgbGVmdC1jYXJkLWNvdW50XCI+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAge3tnZXRPdmVyYWxsQ2FyZERhdGE/Lm1pc3NlZE9wcG9ydHVuaXR5Q2FyZD8uZmVtYWxlUmF0ZSA/XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgZ2V0T3ZlcmFsbENhcmREYXRhPy5taXNzZWRPcHBvcnR1bml0eUNhcmQ/LmZlbWFsZVJhdGUgOictLSd9fSAlPC9kaXY+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8ZGl2IGNsYXNzPVwibGVmdC1jYXJkLWNvdW50LWhlYWRlclwiPkZlbWFsZTwvZGl2PlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8L2Rpdj5cclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBcclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8L2Rpdj5cclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvZGl2PlxyXG4gICAgICAgICAgICAgICAgICAgICAgICA8L2Rpdj5cclxuICAgICAgICAgICAgICAgICAgICA8L2Rpdj5cclxuICAgICAgICAgICAgICAgICAgXHJcbiAgICAgICAgICAgICAgICAgICAgPGRpdiAqbmdJZj1cInNlbGVjdGVkVGFiID09PSd0cmFmZmljJyAmJiAhY2hhcnRsb2FkaW5nICYmICFjaGFydE5vRGF0YVwiIGNsYXNzPVwiY29sLW1kLTEwIGgtMTAwIFwiPlxyXG4gICAgICAgICAgICAgICAgICAgICAgICA8ZGl2IGNsYXNzPVwicm93IHB4LTBcIj5cclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIFxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgPGRpdiBjbGFzcz1cImNvbC1tZC02IG10LTMgcHgtMFwiPlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgXHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICA8ZGl2IGNsYXNzPVwiY2FyZC1oZWFkZXIgYm9yZGVyLTAgcHQtM1wiPlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxoMyBjbGFzcz1cImNhcmQtdGl0bGUgYWxpZ24taXRlbXMtc3RhcnQgZmxleC1jb2x1bW5cIj5cclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPHNwYW4gY2xhc3M9XCJjYXJkLWxhYmVsXCI+VHJhZmZpYyBEZW5zaXR5IDxzdmcgcGxhY2VtZW50PVwicmlnaHRcIlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgbmdiVG9vbHRpcD1cIlRyYWZmaWMgYW5hbHlzaXMgZGlzdHJpYnV0aW9uIGFjcm9zcyB0aGUgZGF5c1wiIHhtbG5zPVwiaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmdcIiB3aWR0aD1cIjE2XCIgaGVpZ2h0PVwiMTZcIiB2aWV3Qm94PVwiMCAwIDE2IDE2XCIgZmlsbD1cIm5vbmVcIj5cclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxnIGNsaXAtcGF0aD1cInVybCgjY2xpcDBfMzM1Ml82ODgpXCI+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8cGF0aCBkPVwiTTcuOTk4NyAxMC42NjY3VjguMDAwMDRNNy45OTg3IDUuMzMzMzdIOC4wMDUzNk0xNC42NjU0IDguMDAwMDRDMTQuNjY1NCAxMS42ODE5IDExLjY4MDYgMTQuNjY2NyA3Ljk5ODcgMTQuNjY2N0M0LjMxNjggMTQuNjY2NyAxLjMzMjAzIDExLjY4MTkgMS4zMzIwMyA4LjAwMDA0QzEuMzMyMDMgNC4zMTgxNCA0LjMxNjggMS4zMzMzNyA3Ljk5ODcgMS4zMzMzN0MxMS42ODA2IDEuMzMzMzcgMTQuNjY1NCA0LjMxODE0IDE0LjY2NTQgOC4wMDAwNFpcIiBzdHJva2U9XCIjOThBMkIzXCIgc3Ryb2tlLXdpZHRoPVwiMlwiIHN0cm9rZS1saW5lY2FwPVwicm91bmRcIiBzdHJva2UtbGluZWpvaW49XCJyb3VuZFwiLz5cclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvZz5cclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxkZWZzPlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGNsaXBQYXRoIGlkPVwiY2xpcDBfMzM1Ml82ODhcIj5cclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxyZWN0IHdpZHRoPVwiMTZcIiBoZWlnaHQ9XCIxNlwiIGZpbGw9XCJ3aGl0ZVwiLz5cclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvY2xpcFBhdGg+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8L2RlZnM+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8L3N2Zz48L3NwYW4+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxzcGFuIGNsYXNzPVwidGV4dC1zdWIgbWItMlwiPkJhc2VkIG9uIHt7Z2V0RGVuc2l0eUR3ZWxsRGF0YT8uZnJvbURhdGUgfCBkYXRlOidkZCBNTU0sIHl5eXknfX0g4oCTIHt7Z2V0RGVuc2l0eUR3ZWxsRGF0YT8udG9EYXRlIHwgZGF0ZTonZGQgTU1NLCB5eXl5J319IDwvc3Bhbj5cclxuICAgICAgICAgICAgXHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPC9oMz5cclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBcclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvZGl2PlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxkaXYgaWQ9XCJ0cmFmZmljSGVhdG1hcENoYXJ0XCI+PC9kaXY+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICA8L2Rpdj5cclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxkaXYgY2xhc3M9XCJjb2wtbWQtNiBtdC0zIHB4LTBcIj5cclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8ZGl2IGNsYXNzPVwiY2FyZC1oZWFkZXIgYm9yZGVyLTAgcHQtM1wiPlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8aDMgY2xhc3M9XCJjYXJkLXRpdGxlIGFsaWduLWl0ZW1zLXN0YXJ0IGZsZXgtY29sdW1uXCI+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8c3BhbiBjbGFzcz1cImNhcmQtbGFiZWxcIj5Ed2VsbCBUaW1lIFNwbGl0IDxzdmcgcGxhY2VtZW50PVwicmlnaHRcIlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIG5nYlRvb2x0aXA9XCJUaW1lLWRpc3RyaWJ1dGVkIGZvb3RmYWxsIHdpdGggZGVtb2dyYXBoaWNzXCIgeG1sbnM9XCJodHRwOi8vd3d3LnczLm9yZy8yMDAwL3N2Z1wiIHdpZHRoPVwiMTZcIiBoZWlnaHQ9XCIxNlwiIHZpZXdCb3g9XCIwIDAgMTYgMTZcIiBmaWxsPVwibm9uZVwiPlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxnIGNsaXAtcGF0aD1cInVybCgjY2xpcDBfMzM1Ml82ODgpXCI+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPHBhdGggZD1cIk03Ljk5ODcgMTAuNjY2N1Y4LjAwMDA0TTcuOTk4NyA1LjMzMzM3SDguMDA1MzZNMTQuNjY1NCA4LjAwMDA0QzE0LjY2NTQgMTEuNjgxOSAxMS42ODA2IDE0LjY2NjcgNy45OTg3IDE0LjY2NjdDNC4zMTY4IDE0LjY2NjcgMS4zMzIwMyAxMS42ODE5IDEuMzMyMDMgOC4wMDAwNEMxLjMzMjAzIDQuMzE4MTQgNC4zMTY4IDEuMzMzMzcgNy45OTg3IDEuMzMzMzdDMTEuNjgwNiAxLjMzMzM3IDE0LjY2NTQgNC4zMTgxNCAxNC42NjU0IDguMDAwMDRaXCIgc3Ryb2tlPVwiIzk4QTJCM1wiIHN0cm9rZS13aWR0aD1cIjJcIiBzdHJva2UtbGluZWNhcD1cInJvdW5kXCIgc3Ryb2tlLWxpbmVqb2luPVwicm91bmRcIi8+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPC9nPlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxkZWZzPlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxjbGlwUGF0aCBpZD1cImNsaXAwXzMzNTJfNjg4XCI+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPHJlY3Qgd2lkdGg9XCIxNlwiIGhlaWdodD1cIjE2XCIgZmlsbD1cIndoaXRlXCIvPlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvY2xpcFBhdGg+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPC9kZWZzPlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvc3ZnPjwvc3Bhbj5cclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxzcGFuIGNsYXNzPVwidGV4dC1zdWIgbWItMlwiPkJhc2VkIG9uIHt7Z2V0RGVuc2l0eUR3ZWxsRGF0YT8uZnJvbURhdGUgfCBkYXRlOidkZCBNTU0sIHl5eXknfX0g4oCTIHt7Z2V0RGVuc2l0eUR3ZWxsRGF0YT8udG9EYXRlIHwgZGF0ZTonZGQgTU1NLCB5eXl5J319IDwvc3Bhbj5cclxuICAgICAgICAgICAgICAgIFxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8L2gzPlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8ZGl2IGNsYXNzPVwiY2FyZC10b29sYmFyIHRleHQtbm93cmFwXCI+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8c2VsZWN0IGNsYXNzPVwiZm9ybS1zZWxlY3QgZm9ybS1zZWxlY3Qtc20gdy1hdXRvIGRyb3BzZWxlY3RcIiBpZD1cImRhdGVTZWxlY3RcIlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKGNoYW5nZSk9XCJvbkRhdGVDaGFuZ2UoJGV2ZW50KVwiIFsobmdNb2RlbCldPVwiZm9vdGZhbGxEYXRlXCI+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8b3B0aW9uICpuZ0Zvcj1cImxldCBkYXRhc2V0IG9mIHRyYWZmaWNEYXRhXCIgW3ZhbHVlXT1cImRhdGFzZXQudmFsdWVcIj57eyBkYXRhc2V0LmxhYmVsIH19PC9vcHRpb24+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvc2VsZWN0PlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8L2Rpdj5cclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8L2Rpdj5cclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8ZGl2ICpuZ0lmPVwiIWNoYXJ0RHdlbGxOb0RhdGEgJiYgIWNoYXJ0RHdlbGxsb2FkaW5nXCI+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGRpdiBpZD1cImR3ZWxsQmFyQ2hhcnRcIj48L2Rpdj5cclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8L2Rpdj5cclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8ZGl2ICpuZ0lmPVwiY2hhcnREd2VsbE5vRGF0YVwiIGNsYXNzPVwicm93XCI+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxkaXYgY2xhc3M9XCJjb2wtbGctMTIgbXQtMjAgbWItNlwiPlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGRpdiBjbGFzcz1cIiBtdC0yMCBjYXJkLWJvZHkgZC1mbGV4IGp1c3RpZnktY29udGVudC1jZW50ZXIgYWxpZ24taXRlbXMtY2VudGVyIGZsZXgtY29sdW1uXCI+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGltZyBjbGFzcz1cImltZy1ub2RhdGEtdGFibGVcIiBzcmM9XCIuL2Fzc2V0cy90YW5nby9JY29ucy9Ob2RhdGExLnN2Z1wiIGFsdD1cIlwiPlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxkaXYgY2xhc3M9XCJub2RhdGEtdGl0bGVcIj5ObyBkYXRhIGZvdW5kPC9kaXY+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGRpdiBjbGFzcz1cIm5vZGF0YS1zdWJcIj5UaGVyZSBpcyBubyByZXN1bHQgZm9yIHRoaXMgRHdlbGwgVGltZSBTcGxpdDwvZGl2PlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPC9kaXY+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvZGl2PlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvZGl2PlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgPC9kaXY+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgIDwvZGl2PlxyXG4gICAgICAgICAgICAgICAgICAgIDwvZGl2PlxyXG4gICAgICAgICAgICAgICAgICAgIDxkaXYgKm5nSWY9XCIhY2hhcnRsb2FkaW5nICYmICFjaGFydE5vRGF0YSAmJiAoc2VsZWN0ZWRUYWIgPT09J2Zvb3RmYWxsJyB8fCBzZWxlY3RlZFRhYiA9PT0nY29udmVyc2lvbicgfHwgc2VsZWN0ZWRUYWIgPT09J2VuZ2FnZXJzJyB8fCBzZWxlY3RlZFRhYiA9PT0nYm91bmNlZCcgfHwgc2VsZWN0ZWRUYWIgPT09J3BvdGVudGlhbEJ1eWVycycgfHwgc2VsZWN0ZWRUYWIgPT09J21pc3NlZE9wcG9ydHVuaXR5JylcIiBjbGFzcz1cImNvbC1tZC0xMCBoLTEwMCByaWdodC1iYXIgYm9yZGVyLTFcIj5cclxuICAgICAgICAgICAgICAgICAgICAgICAgXHJcbiAgICAgICAgXHJcbiAgICAgICAgICAgICAgICAgICAgICAgIDxkaXYgKm5nSWY9XCIoZm9vdGZhbGxWYWx1ZSA9PT0nZm9vdGZhbGwnIHx8IGZvb3RmYWxsVmFsdWUgPT09J2NvbnZlcnNpb24nIHx8IGZvb3RmYWxsVmFsdWUgPT09J2VuZ2FnZXJzJ1xyXG4gICAgICAgICAgICAgICAgICAgICAgICB8fCBmb290ZmFsbFZhbHVlID09PSdtaXNzZWRPcHBvcnR1bml0eScgfHwgZm9vdGZhbGxWYWx1ZSA9PT0ncG90ZW50aWFsQnV5ZXJzJyB8fCBmb290ZmFsbFZhbHVlID09PSdib3VuY2VkJyB8fCBmb290ZmFsbFZhbHVlID09PSdkZW1vZ3JhcGhpYycgfHwgZm9vdGZhbGxWYWx1ZSA9PT0nYnV5ZXInKSAmJiAhZGV0YWlsZWRDaGFydHNcIlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgY2xhc3M9XCJyb3dcIj5cclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgPGRpdiAqbmdJZj1cInNlbGVjdGVkVGFiICE9PSdwb3RlbnRpYWxCdXllcnMnXCI+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICA8dWwgY2xhc3M9XCJuYXYgbmF2LXN0cmV0Y2ggbmF2LWxpbmUtdGFiczEgbmF2LWxpbmUtdGFicyBib3JkZXItdHJhbnNwYXJlbnQgZmxleC1ub3dyYXAgbXktMiBteC0yXCI+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICA8bGkgY2xhc3M9XCJuYXYtaXRlbSBuYXYtaXRlbTFcIiAqbmdGb3I9XCJsZXQgZGF0YXNldCBvZiBkYXRhc2V0c0NhcmRcIiAoY2xpY2spPVwib25EYXRhc2V0Q2hhbmdlKGRhdGFzZXQudmFsdWUpXCI+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGEgW25nQ2xhc3NdPVwiZm9vdGZhbGxWYWx1ZSA9PT1kYXRhc2V0LnZhbHVlID8gJ2FjdGl2ZScgOicnXCJcclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgY2xhc3M9XCJuYXYtbGluayBuYXYtbGluazEgY3Vyc29yLXBvaW50ZXIgbWUtNlwiPnt7IGRhdGFzZXQubGFiZWwgfX08L2E+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICA8L2xpPlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgPC91bD5cclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwhLS0gPHVsIGNsYXNzPVwibmF2IG5hdi10YWJzXCI+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGxpIGNsYXNzPVwibmF2LWl0ZW1cIiA+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxhIGNsYXNzPVwibmF2LWxpbmtcIiBbY2xhc3MuYWN0aXZlXT1cInNlbGVjdGVkVGFiID09PSBkYXRhc2V0LmxhYmVsXCI+e3sgZGF0YXNldC5sYWJlbCB9fTwvYT5cclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8L2xpPlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgPC91bD4gLS0+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICA8IS0tIDxzZWxlY3QgY2xhc3M9XCJmb3JtLXNlbGVjdCBmb3JtLXNlbGVjdC1zbSB3LWF1dG8gbS0zIGRyb3BzZWxlY3RcIiBpZD1cImRhdGFzZXRTZWxlY3RcIiBbKG5nTW9kZWwpXT1cImZvb3RmYWxsVmFsdWVcIlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgKGNoYW5nZSk9XCJvbkRhdGFzZXRDaGFuZ2UoJGV2ZW50KVwiPlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgPG9wdGlvbiAqbmdGb3I9XCJsZXQgZGF0YXNldCBvZiBkYXRhc2V0c1wiIFt2YWx1ZV09XCJkYXRhc2V0LnZhbHVlXCI+e3sgZGF0YXNldC5sYWJlbCB9fTwvb3B0aW9uPlxyXG4gICAgICAgICAgICAgICAgICAgICAgICA8L3NlbGVjdD4gIC0tPlxyXG4gICAgICAgICAgICAgICAgICAgICAgIFxyXG4gICAgICAgICAgICAgICAgICAgICAgICA8L2Rpdj4gXHJcbiAgICAgICAgICAgICAgICAgICAgICAgIDxkaXYgY2xhc3M9XCJsZWZ0LWJhci10aXRsZSBmdy1ib2xkIG10LTUgbWItMiBtcy0zXCIgKm5nSWY9XCJzZWxlY3RlZFRhYiA9PT0ncG90ZW50aWFsQnV5ZXJzJ1wiPnt7c2VsY3RlZFZhbHVlfX08L2Rpdj5cclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxzcGFuIGNsYXNzPVwibXMtMyB0ZXh0LXN1YlwiPkJhc2VkIG9uIHt7aGVhZGVyRGF0YT8uZGF0ZT8uc3RhcnREYXRlIHwgZGF0ZTonZGQgTU1NLCB5eXl5J319IOKAkyB7e2hlYWRlckRhdGE/LmRhdGU/LmVuZERhdGUgfCBkYXRlOidkZCBNTU0sIHl5eXknfX0gPC9zcGFuPlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgPGRpdiAqbmdJZj1cImZvb3RmYWxsVmFsdWUgPT09J2RlbW9ncmFwaGljJyAmJiAhZGV0YWlsZWRDaGFydHNcIiBjbGFzcz1cImNvbC1tZC0xMlwiPlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxkaXYgKm5nSWY9XCIhZGVtb05vRGF0YSAmJiAhZGVtb2xvYWRpbmdcIj5cclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGRpdiBjbGFzcz1cInRleHQtY2VudGVyXCIgaWQ9XCJkZW1vR3JhcGhpY3NcIj48L2Rpdj5cclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8L2Rpdj4gICAgICAgICAgICAgICAgICAgICBcclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8ZGl2ICpuZ0lmPVwiZGVtb2xvYWRpbmdcIiBjbGFzcz1cInJvdyBsb2FkZXIgIGQtZmxleCBqdXN0aWZ5LWNvbnRlbnQtY2VudGVyIGFsaWduLWl0ZW1zLWNlbnRlclwiPlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8ZGl2IGNsYXNzPVwic2hpbW1lclwiPlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGRpdiBjbGFzcz1cIndyYXBwZXJcIj5cclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8ZGl2IGNsYXNzPVwic3Ryb2tlIGFuaW1hdGUgdGl0bGVcIj48L2Rpdj5cclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8ZGl2IGNsYXNzPVwic3Ryb2tlIGFuaW1hdGUgbGlua1wiPjwvZGl2PlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxkaXYgY2xhc3M9XCJzdHJva2UgYW5pbWF0ZSBkZXNjcmlwdGlvblwiPjwvZGl2PlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPC9kaXY+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvZGl2PlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8ZGl2IGNsYXNzPVwic2hpbW1lclwiPlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGRpdiBjbGFzcz1cIndyYXBwZXJcIj5cclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8ZGl2IGNsYXNzPVwic3Ryb2tlIGFuaW1hdGUgdGl0bGVcIj48L2Rpdj5cclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8ZGl2IGNsYXNzPVwic3Ryb2tlIGFuaW1hdGUgbGlua1wiPjwvZGl2PlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxkaXYgY2xhc3M9XCJzdHJva2UgYW5pbWF0ZSBkZXNjcmlwdGlvblwiPjwvZGl2PlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPC9kaXY+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvZGl2PlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvZGl2PlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxkaXYgKm5nSWY9XCJkZW1vTm9EYXRhXCIgY2xhc3M9XCJyb3dcIj5cclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGRpdiBjbGFzcz1cImNvbC1sZy0xMiBtYi0zXCI+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8ZGl2IGNsYXNzPVwiY2FyZC1ib2R5IGQtZmxleCBqdXN0aWZ5LWNvbnRlbnQtY2VudGVyIGFsaWduLWl0ZW1zLWNlbnRlciBmbGV4LWNvbHVtblwiPlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxpbWcgY2xhc3M9XCJkZW1vLWltZy1ub2RhdGFcIiBzcmM9XCIuL2Fzc2V0cy90YW5nby9JY29ucy9Ob2RhdGExLnN2Z1wiIGFsdD1cIlwiPlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxkaXYgY2xhc3M9XCJub2RhdGEtdGl0bGVcIj5ObyBkYXRhIGZvdW5kPC9kaXY+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGRpdiBjbGFzcz1cIm5vZGF0YS1zdWJcIj5UaGVyZSBpcyBubyByZXN1bHQgZm9yIHRoaXMgRGVtb2dyYXBoaWMgQW5hbHlzaXM8L2Rpdj5cclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvZGl2PlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8L2Rpdj5cclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8L2Rpdj5cclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvZGl2PlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgPGRpdiAqbmdJZj1cImZvb3RmYWxsVmFsdWUgPT09J2J1eWVyJyAmJiAhZGV0YWlsZWRDaGFydHNcIiBjbGFzcz1cImNvbC1tZC0xMlwiPlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxkaXYgKm5nSWY9XCIhYnV5ZXJzTm9EYXRhICYmICFidXllcnNsb2FkaW5nXCI+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxkaXYgY2xhc3M9XCJ0ZXh0LWNlbnRlclwiIGlkPVwiYnV5ZXJzQ2hhcnRzXCI+PC9kaXY+XHJcbiAgICAgICAgXHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPC9kaXY+ICAgICAgICAgICAgICAgICAgICAgXHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGRpdiAqbmdJZj1cImJ1eWVyc2xvYWRpbmdcIiBjbGFzcz1cInJvdyBsb2FkZXIgIGQtZmxleCBqdXN0aWZ5LWNvbnRlbnQtY2VudGVyIGFsaWduLWl0ZW1zLWNlbnRlclwiPlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8ZGl2IGNsYXNzPVwic2hpbW1lclwiPlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGRpdiBjbGFzcz1cIndyYXBwZXJcIj5cclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8ZGl2IGNsYXNzPVwic3Ryb2tlIGFuaW1hdGUgdGl0bGVcIj48L2Rpdj5cclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8ZGl2IGNsYXNzPVwic3Ryb2tlIGFuaW1hdGUgbGlua1wiPjwvZGl2PlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxkaXYgY2xhc3M9XCJzdHJva2UgYW5pbWF0ZSBkZXNjcmlwdGlvblwiPjwvZGl2PlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPC9kaXY+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvZGl2PlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8ZGl2IGNsYXNzPVwic2hpbW1lclwiPlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGRpdiBjbGFzcz1cIndyYXBwZXJcIj5cclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8ZGl2IGNsYXNzPVwic3Ryb2tlIGFuaW1hdGUgdGl0bGVcIj48L2Rpdj5cclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8ZGl2IGNsYXNzPVwic3Ryb2tlIGFuaW1hdGUgbGlua1wiPjwvZGl2PlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxkaXYgY2xhc3M9XCJzdHJva2UgYW5pbWF0ZSBkZXNjcmlwdGlvblwiPjwvZGl2PlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPC9kaXY+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvZGl2PlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvZGl2PlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxkaXYgKm5nSWY9XCJidXllcnNOb0RhdGFcIiBjbGFzcz1cInJvd1wiPlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8ZGl2IGNsYXNzPVwiY29sLWxnLTEyIG1iLTNcIj5cclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxkaXYgY2xhc3M9XCJjYXJkLWJvZHkgZC1mbGV4IGp1c3RpZnktY29udGVudC1jZW50ZXIgYWxpZ24taXRlbXMtY2VudGVyIGZsZXgtY29sdW1uXCI+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGltZyBjbGFzcz1cImRlbW8taW1nLW5vZGF0YVwiIHNyYz1cIi4vYXNzZXRzL3RhbmdvL0ljb25zL05vZGF0YTEuc3ZnXCIgYWx0PVwiXCI+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGRpdiBjbGFzcz1cIm5vZGF0YS10aXRsZVwiPk5vIGRhdGEgZm91bmQ8L2Rpdj5cclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8ZGl2IGNsYXNzPVwibm9kYXRhLXN1YlwiPlRoZXJlIGlzIG5vIHJlc3VsdCBmb3IgdGhpcyBCdXllciBBbmFseXNpczwvZGl2PlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPC9kaXY+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvZGl2PlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvZGl2PlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgPC9kaXY+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICA8c2VjdGlvbiAqbmdJZj1cInRoaXMub2JqRGF0YVRyYWZmaWMubm9iID09PSB0cnVlICYmIHNlbGVjdGVkVGFiID09PSdjb252ZXJzaW9uJ1wiPlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxkaXYgY2xhc3M9XCJ0ZXh0LWNlbnRlciBtdC0zIG14LTNcIiBpZD1cInRlc3RHcmFwaGljc1wiPjwvZGl2PlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxsaWItcGFnaW5hdGlvbiBbaXRlbXNQZXJQYWdlXT1cInBhZ2VTaXplVHJhZmZpY0NhcmRcIiBbY3VycmVudFBhZ2VdPVwib2Zmc2V0VHJhZmZpY0NhcmRcIiBbdG90YWxJdGVtc109XCJ0b3RhbEl0ZW1zVHJhZmZpY0NhcmRcIlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIFtwYWdpbmF0aW9uU2l6ZXNdPVwicGFnaW5hdGlvblNpemVzVHJhZmZpY0NhcmRcIiBbcGFnZVNpemVdPVwicGFnZVNpemVUcmFmZmljQ2FyZFwiIChwYWdlQ2hhbmdlKT1cIm9uUGFnZUNoYW5nZVRyYWZmaWNDYXJkKCRldmVudClcIlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIChwYWdlU2l6ZUNoYW5nZSk9XCJvblBhZ2VTaXplQ2hhbmdlVHJhZmZpY0NhcmQoJGV2ZW50KVwiPjwvbGliLXBhZ2luYXRpb24+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICA8L3NlY3Rpb24+XHJcbiAgICAgICAgPHNlY3Rpb24gKm5nSWY9XCIodGhpcy5vYmpEYXRhVHJhZmZpYy5ub2IgPT09IHRydWUgJiYgc2VsZWN0ZWRUYWIgIT09J2NvbnZlcnNpb24nIHx8IHRoaXMub2JqRGF0YVRyYWZmaWMubm9iID09PSBmYWxzZSkgXCI+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICA8ZGl2ICpuZ0lmPVwiZm9vdGZhbGxWYWx1ZSA9PT0nZm9vdGZhbGwnIHx8IGZvb3RmYWxsVmFsdWUgPT09J2NvbnZlcnNpb24nIHx8IGZvb3RmYWxsVmFsdWUgPT09J2VuZ2FnZXJzJyBcclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIHx8IGZvb3RmYWxsVmFsdWUgPT09J21pc3NlZE9wcG9ydHVuaXR5JyB8fCBmb290ZmFsbFZhbHVlID09PSdwb3RlbnRpYWxCdXllcnMnIHx8IGZvb3RmYWxsVmFsdWUgPT09J2JvdW5jZWQnICYmICFkZXRhaWxlZENoYXJ0c1wiIFxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgY2xhc3M9XCJjaGFydC1jb250YWluZXIgcHgtMyBtdC0zXCI+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgIDxkaXYgY2xhc3M9XCJ0ZXh0LWNlbnRlclwiIGlkPVwidGVzdEdyYXBoaWNzXCI+PC9kaXY+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgIDxsaWItcGFnaW5hdGlvbiBbaXRlbXNQZXJQYWdlXT1cInBhZ2VTaXplVHJhZmZpY0NhcmRcIiBbY3VycmVudFBhZ2VdPVwib2Zmc2V0VHJhZmZpY0NhcmRcIiBbdG90YWxJdGVtc109XCJ0b3RhbEl0ZW1zVHJhZmZpY0NhcmRcIlxyXG4gICAgICAgICAgICAgICAgICAgICAgICBbcGFnaW5hdGlvblNpemVzXT1cInBhZ2luYXRpb25TaXplc1RyYWZmaWNDYXJkXCIgW3BhZ2VTaXplXT1cInBhZ2VTaXplVHJhZmZpY0NhcmRcIiAocGFnZUNoYW5nZSk9XCJvblBhZ2VDaGFuZ2VUcmFmZmljQ2FyZCgkZXZlbnQpXCJcclxuICAgICAgICAgICAgICAgICAgICAgICAgKHBhZ2VTaXplQ2hhbmdlKT1cIm9uUGFnZVNpemVDaGFuZ2VUcmFmZmljQ2FyZCgkZXZlbnQpXCI+PC9saWItcGFnaW5hdGlvbj5cclxuICAgICAgICAgICAgICAgICAgICA8L2Rpdj5cclxuICAgICAgICAgICAgICAgICAgICA8ZGl2ICpuZ0lmPVwiZm9vdGZhbGxWYWx1ZSA9PT0nZm9vdGZhbGwnIHx8IGZvb3RmYWxsVmFsdWUgPT09J2NvbnZlcnNpb24nIHx8IGZvb3RmYWxsVmFsdWUgPT09J2VuZ2FnZXJzJyBcclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIHx8IGZvb3RmYWxsVmFsdWUgPT09J21pc3NlZE9wcG9ydHVuaXR5JyB8fCBmb290ZmFsbFZhbHVlID09PSdwb3RlbnRpYWxCdXllcnMnIHx8IGZvb3RmYWxsVmFsdWUgPT09J2JvdW5jZWQnICYmICFkZXRhaWxlZENoYXJ0c1wiIFxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgY2xhc3M9XCJoZWF0bWFwLWNvbnRhaW5lciBlbGVtZW50XCI+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgIDxkaXYgaWQ9XCJoZWF0bWFwY2hhcnRcIj48L2Rpdj5cclxuICAgICAgICAgICAgICAgICAgICA8L2Rpdj5cclxuICAgICAgICAgICAgICAgICAgICA8L3NlY3Rpb24+XHJcbiAgICAgICAgICAgICAgICAgICAgXHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICA8IS0tIDxkaXYgKm5nSWY9XCJmb290ZmFsbFZhbHVlID09PSdmb290ZmFsbCcgfHwgZm9vdGZhbGxWYWx1ZSA9PT0nY29udmVyc2lvbicgfHwgZm9vdGZhbGxWYWx1ZSA9PT0nZW5nYWdlcnMnXHJcbiAgICAgICAgICAgICAgICAgICAgICAgIHx8IGZvb3RmYWxsVmFsdWUgPT09J21pc3NlZE9wcG9ydHVuaXR5JyB8fCBmb290ZmFsbFZhbHVlID09PSdwb3RlbnRpYWxCdXllcnMnIHx8IGZvb3RmYWxsVmFsdWUgPT09J2JvdW5jZWQnICYmICFkZXRhaWxlZENoYXJ0c1wiIGNsYXNzPVwiY29sLW1kLTkgY2hhcnQtY29udGFpbmVyIG10LTNcIj5cclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8ZGl2IGNsYXNzPVwidGV4dC1jZW50ZXJcIiBpZD1cInRlc3RHcmFwaGljc1wiPjwvZGl2PlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgPC9kaXY+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICA8ZGl2ICpuZ0lmPVwiZm9vdGZhbGxWYWx1ZSA9PT0nZm9vdGZhbGwnIHx8IGZvb3RmYWxsVmFsdWUgPT09J2NvbnZlcnNpb24nIHx8IGZvb3RmYWxsVmFsdWUgPT09J2VuZ2FnZXJzJ1xyXG4gICAgICAgICAgICAgICAgICAgICAgICB8fCBmb290ZmFsbFZhbHVlID09PSdtaXNzZWRPcHBvcnR1bml0eScgfHwgZm9vdGZhbGxWYWx1ZSA9PT0ncG90ZW50aWFsQnV5ZXJzJyB8fCBmb290ZmFsbFZhbHVlID09PSdib3VuY2VkJyAmJiAhZGV0YWlsZWRDaGFydHNcIiBjbGFzcz1cImNvbC1tZC0zIG10LTMgbWUtMCBwZS0wXCI+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGRpdiBpZD1cImhlYXRtYXBjaGFydFwiPjwvZGl2PlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgPC9kaXY+IC0tPlxyXG4gICAgICAgIFxyXG4gICAgICAgICAgICAgICAgICAgICAgICA8L2Rpdj5cclxuICAgICAgICAgICAgICAgICAgICAgICAgPGRpdiAqbmdJZj1cImRldGFpbGVkQ2hhcnRzXCIgY2xhc3M9XCJyb3dcIj5cclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxkaXYgY2xhc3M9XCJkLWZsZXggYWxpZ24taXRlbXMtY2VudGVyIG15LTUgbWUtMlwiPlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxkaXYgY2xhc3M9XCJmbGV4LXNocmluay0wIG10LTNcIj5cclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPHNwYW4gY2xhc3M9XCJjdXJzb3ItcG9pbnRlclwiIChjbGljayk9XCJiYWNrVG9Gb290ZmFsbCgpXCI+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8c3ZnIHdpZHRoPVwiNDBcIiBoZWlnaHQ9XCI0MFwiIHZpZXdCb3g9XCIwIDAgNDAgNDBcIiBmaWxsPVwibm9uZVwiXHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgeG1sbnM9XCJodHRwOi8vd3d3LnczLm9yZy8yMDAwL3N2Z1wiPlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxnIGZpbHRlcj1cInVybCgjZmlsdGVyMF9kXzI1ODVfNzAzNilcIj5cclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPHJlY3QgeD1cIjJcIiB5PVwiMVwiIHdpZHRoPVwiMzZcIiBoZWlnaHQ9XCIzNlwiIHJ4PVwiOFwiIGZpbGw9XCJ3aGl0ZVwiIC8+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxyZWN0IHg9XCIyLjVcIiB5PVwiMS41XCIgd2lkdGg9XCIzNVwiIGhlaWdodD1cIjM1XCIgcng9XCI3LjVcIiBzdHJva2U9XCIjRDBENUREXCIgLz5cclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPHBhdGggZD1cIk0yNS44MzI3IDE5SDE0LjE2Nk0xNC4xNjYgMTlMMTkuOTk5MyAyNC44MzM0TTE0LjE2NiAxOUwxOS45OTkzIDEzLjE2NjdcIlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgc3Ryb2tlPVwiIzM0NDA1NFwiIHN0cm9rZS13aWR0aD1cIjEuNjdcIiBzdHJva2UtbGluZWNhcD1cInJvdW5kXCJcclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHN0cm9rZS1saW5lam9pbj1cInJvdW5kXCIgLz5cclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8L2c+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGRlZnM+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxmaWx0ZXIgaWQ9XCJmaWx0ZXIwX2RfMjU4NV83MDM2XCIgeD1cIjBcIiB5PVwiMFwiIHdpZHRoPVwiNDBcIiBoZWlnaHQ9XCI0MFwiXHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBmaWx0ZXJVbml0cz1cInVzZXJTcGFjZU9uVXNlXCIgY29sb3ItaW50ZXJwb2xhdGlvbi1maWx0ZXJzPVwic1JHQlwiPlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGZlRmxvb2QgZmxvb2Qtb3BhY2l0eT1cIjBcIiByZXN1bHQ9XCJCYWNrZ3JvdW5kSW1hZ2VGaXhcIiAvPlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGZlQ29sb3JNYXRyaXggaW49XCJTb3VyY2VBbHBoYVwiIHR5cGU9XCJtYXRyaXhcIlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHZhbHVlcz1cIjAgMCAwIDAgMCAwIDAgMCAwIDAgMCAwIDAgMCAwIDAgMCAwIDEyNyAwXCIgcmVzdWx0PVwiaGFyZEFscGhhXCIgLz5cclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxmZU9mZnNldCBkeT1cIjFcIiAvPlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGZlR2F1c3NpYW5CbHVyIHN0ZERldmlhdGlvbj1cIjFcIiAvPlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGZlQ29sb3JNYXRyaXggdHlwZT1cIm1hdHJpeFwiXHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgdmFsdWVzPVwiMCAwIDAgMCAwLjA2Mjc0NTEgMCAwIDAgMCAwLjA5NDExNzYgMCAwIDAgMCAwLjE1Njg2MyAwIDAgMCAwLjA1IDBcIiAvPlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGZlQmxlbmQgbW9kZT1cIm5vcm1hbFwiIGluMj1cIkJhY2tncm91bmRJbWFnZUZpeFwiXHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgcmVzdWx0PVwiZWZmZWN0MV9kcm9wU2hhZG93XzI1ODVfNzAzNlwiIC8+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8ZmVCbGVuZCBtb2RlPVwibm9ybWFsXCIgaW49XCJTb3VyY2VHcmFwaGljXCIgaW4yPVwiZWZmZWN0MV9kcm9wU2hhZG93XzI1ODVfNzAzNlwiXHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgcmVzdWx0PVwic2hhcGVcIiAvPlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8L2ZpbHRlcj5cclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8L2RlZnM+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8L3N2Zz5cclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPC9zcGFuPlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvZGl2PlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxkaXYgY2xhc3M9XCJteC0zIG10LTFcIj5cclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGRpdiBjbGFzcz1cIm15LTEgY2FyZC1sYWJlbCBsZWZ0LWNhcmQtY291bnRcIj48c3BhbiBjbGFzcz1cInRleHQtcHJpbWFyeSBjdXJzb3ItcG9pbnRlciB0ZXh0LWRlY29yYXRpb24tdW5kZXJsaW5lXCIgKGNsaWNrKT1cInN0b3JlVmlldyhzdG9yZUlkKVwiPnt7c3RvcmVOYW1lfX08L3NwYW4+PHNwYW4gY2xhc3M9XCJtcy0yXCI+Rm9vdGZhbGwgVHJlbmQ8L3NwYW4+PC9kaXY+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxkaXYgY2xhc3M9XCJsZWZ0LWNhcmQtY291bnQtaGVhZGVyIHRleHQtc3ViXCI+QmFzZWQgb24ge3toZWFkZXJEYXRhPy5kYXRlPy5zdGFydERhdGUgfCBkYXRlOidkZCBNTU0sIHl5eXknfX0gLSB7e2hlYWRlckRhdGE/LmRhdGU/LmVuZERhdGUgfCBkYXRlOidkZCBNTU0sIHl5eXknfX08L2Rpdj5cclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8L2Rpdj5cclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvZGl2PlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgPGRpdiBjbGFzcz1cImNvbC1tZC0xMiBteC01XCI+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGRpdiBjbGFzcz1cInRleHQtY2VudGVyXCIgaWQ9XCJkZXRhaWxlZENoYXJ0RGl2XCI+PC9kaXY+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICA8L2Rpdj5cclxuICAgICAgICAgICAgICAgICAgICAgICAgPC9kaXY+XHJcbiAgICAgICAgICAgICAgIFxyXG4gICAgICAgICAgICAgICAgICAgIDwvZGl2PlxyXG4gICAgICAgICAgICAgICAgPC9kaXY+XHJcbiAgICAgICAgXHJcbiAgICAgICAgICAgIDwvZGl2PlxyXG4gICAgICAgIDwvZGl2PlxyXG4gICAgICAgIDwhLS0gPGxpYi10cmFmZmljLWNhcmQtY2hhcnRzIGNsYXNzPVwibXktMlwiPjwvbGliLXRyYWZmaWMtY2FyZC1jaGFydHM+IC0tPlxyXG4gICAgICAgICA8ZGl2ICpuZ0lmPVwiaGVhZGVyRGF0YT8uY2xpZW50ICE9PSc0NTInXCI+XHJcbiAgICAgICAgPGxpYi1pbWFnZS1kb2MgKm5nSWY9XCJzdG9yZUlkYXJyYXk/Lmxlbmd0aCA9PT0gMSAmJiAoY2xpZW50RGF0YT8uZmVhdHVyZUNvbmZpZ3M/LmlzRm9vdGZhbGxEaXJlY3RvcnkgfHwgKGdzLnVzZXJBY2Nlc3MgfCBhc3luYyk/LnVzZXJUeXBlID09PSAndGFuZ28nKVwiIGNsYXNzPVwibXktMlwiPjwvbGliLWltYWdlLWRvYz5cclxuICAgICAgICA8L2Rpdj5cclxuICAgIDwvZGl2PlxyXG4gICAgPGRpdiAqbmdJZj1cInN0b3JlSWRhcnJheT8ubGVuZ3RoID4gMVwiIGNsYXNzPVwiY29sLW1kLTYgbXQtM1wiPlxyXG4gICAgICAgIDxkaXYgY2xhc3M9XCJjYXJkIGgtMTAwXCI+XHJcbiAgICAgICAgICAgIDxkaXYgY2xhc3M9XCJjYXJkLWhlYWRlciBib3JkZXItMCBwdC0zXCI+XHJcbiAgICAgICAgICAgICAgICA8aDMgY2xhc3M9XCJjYXJkLXRpdGxlIGFsaWduLWl0ZW1zLXN0YXJ0IGZsZXgtY29sdW1uXCI+XHJcbiAgICAgICAgICAgICAgICAgICAgPHNwYW4gY2xhc3M9XCJ0aXRsZS10ZXh0IG1iLTJcIj5QZXJmb3JtYW5jZSBNYXRyaXhcclxuICAgICAgICAgICAgICAgICAgICAgICAgIDxzdmcgeG1sbnM9XCJodHRwOi8vd3d3LnczLm9yZy8yMDAwL3N2Z1wiIHdpZHRoPVwiMTZcIlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgaGVpZ2h0PVwiMTZcIiB2aWV3Qm94PVwiMCAwIDE2IDE2XCIgZmlsbD1cIm5vbmVcIiBwbGFjZW1lbnQ9XCJyaWdodFwiXHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICBuZ2JUb29sdGlwPVwiU3RvcmUgcGVyZm9ybWFuY2UgYmFzZWQgb24gbWV0cmljcyBzZWxlY3RlZFwiPlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgPGcgY2xpcC1wYXRoPVwidXJsKCNjbGlwMF8xNDMyXzgwMDM1KVwiPlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxwYXRoXHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGQ9XCJNOC4wMDA2NSAxMC42NjY2VjcuOTk5OTJNOC4wMDA2NSA1LjMzMzI1SDguMDA3MzJNMTQuNjY3MyA3Ljk5OTkyQzE0LjY2NzMgMTEuNjgxOCAxMS42ODI2IDE0LjY2NjYgOC4wMDA2NSAxNC42NjY2QzQuMzE4NzUgMTQuNjY2NiAxLjMzMzk4IDExLjY4MTggMS4zMzM5OCA3Ljk5OTkyQzEuMzMzOTggNC4zMTgwMiA0LjMxODc1IDEuMzMzMjUgOC4wMDA2NSAxLjMzMzI1QzExLjY4MjYgMS4zMzMyNSAxNC42NjczIDQuMzE4MDIgMTQuNjY3MyA3Ljk5OTkyWlwiXHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHN0cm9rZT1cIiM2NjcwODVcIiBzdHJva2Utd2lkdGg9XCIyXCIgc3Ryb2tlLWxpbmVjYXA9XCJyb3VuZFwiIHN0cm9rZS1saW5lam9pbj1cInJvdW5kXCIgLz5cclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvZz5cclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxkZWZzPlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxjbGlwUGF0aCBpZD1cImNsaXAwXzE0MzJfODAwMzVcIj5cclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPHJlY3Qgd2lkdGg9XCIxNlwiIGhlaWdodD1cIjE2XCIgZmlsbD1cIndoaXRlXCIgLz5cclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8L2NsaXBQYXRoPlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgPC9kZWZzPlxyXG4gICAgICAgICAgICAgICAgICAgICAgICA8L3N2Zz5cclxuICAgICAgICAgICAgICAgICAgICA8L3NwYW4+XHJcbiAgICAgICAgICAgICAgICAgICAgPHNwYW4gY2xhc3M9XCJ0ZXh0LXN1YiBtYi0yXCI+e3toZWFkZXJEYXRhPy5kYXRlPy5zdGFydERhdGUgfCBkYXRlOidkZCBNTU0sIHl5eXknfX0g4oCTIHt7aGVhZGVyRGF0YT8uZGF0ZT8uZW5kRGF0ZSB8IGRhdGU6J2RkIE1NTSwgeXl5eSd9fTwvc3Bhbj5cclxuICAgICAgICAgICAgICAgIDwvaDM+XHJcbiAgICAgICAgICAgICAgICA8ZGl2IGNsYXNzPVwiY2FyZC10b29sYmFyXCI+XHJcbiAgICAgICAgICAgICAgICAgICAgXHJcbiAgICAgICAgICAgICAgICA8L2Rpdj5cclxuICAgICAgICAgICAgPC9kaXY+XHJcbiAgICAgICAgICAgIDxkaXYgY2xhc3M9XCJyb3cgbXgtMyBhbGlnbi1pdGVtcy1jZW50ZXIgdy03NVwiPlxyXG4gICAgICAgICAgICAgICAgPGRpdiBjbGFzcz1cImQtZmxleCBhbGlnbi1pdGVtcy1jZW50ZXIgbXMtM1wiPlxyXG4gICAgICAgICAgICAgICAgICA8c2VsZWN0IGNsYXNzPVwiZm9ybS1zZWxlY3Qtc20gZm9ybS1zZWxlY3QgbWUtMiBkcm9wc2VsZWN0XCIgWyhuZ01vZGVsKV09XCJmb290ZmFsbFZhbHVlMVwiIChjaGFuZ2UpPVwib25WYWx1ZUNoYW5nZSgkZXZlbnQpXCI+XHJcbiAgICAgICAgICAgICAgICAgICAgPG9wdGlvbiAqbmdGb3I9XCJsZXQgb2JqIG9mIGdldEZpbHRlcmVkRm9vdGZhbGxEYXRhc2V0cygpXCIgW2lkXT1cIm9iai5sYWJlbFwiIFt2YWx1ZV09XCJvYmoudmFsdWVcIj57e29iai5sYWJlbH19PC9vcHRpb24+XHJcbiAgICAgICAgICAgICAgICAgIDwvc2VsZWN0PlxyXG4gICAgICAgICAgICAgICAgICA8c3BhbiBjbGFzcz1cIm14LTJcIj5Wczwvc3Bhbj5cclxuICAgICAgICAgICAgICAgICAgPHNlbGVjdCBjbGFzcz1cImZvcm0tc2VsZWN0LXNtIGZvcm0tc2VsZWN0IG1zLTIgZHJvcHNlbGVjdFwiIFsobmdNb2RlbCldPVwiYm91bmNlVmFsdWUxXCIgKGNoYW5nZSk9XCJvbkJvdW5jZUNoYW5nZSgkZXZlbnQpXCI+XHJcbiAgICAgICAgICAgICAgICAgICAgPG9wdGlvbiAqbmdGb3I9XCJsZXQgb2JqIG9mIGdldEZpbHRlcmVkQm91bmNlRGF0YXNldHMoKVwiIFtpZF09XCJvYmoubGFiZWxcIiBbdmFsdWVdPVwib2JqLnZhbHVlXCI+e3tvYmoubGFiZWx9fTwvb3B0aW9uPlxyXG5cclxuICAgICAgICAgICAgICAgICAgPC9zZWxlY3Q+XHJcbiAgICAgICAgICAgICAgICA8L2Rpdj5cclxuICAgICAgICAgICAgICA8L2Rpdj5cclxuICAgICAgICAgICAgICA8ZGl2ICpuZ0lmPVwicGVyZm9ybWFuY2VMb2FkaW5nXCIgY2xhc3M9XCJyb3cgbG9hZGVyICBkLWZsZXgganVzdGlmeS1jb250ZW50LWNlbnRlciBhbGlnbi1pdGVtcy1jZW50ZXJcIj5cclxuICAgICAgICAgICAgICAgIDxkaXYgY2xhc3M9XCJzaGltbWVyXCI+XHJcbiAgICAgICAgICAgICAgICAgICAgPGRpdiBjbGFzcz1cIndyYXBwZXJcIj5cclxuICAgICAgICAgICAgICAgICAgICAgICAgPGRpdiBjbGFzcz1cInN0cm9rZSBhbmltYXRlIHRpdGxlXCI+PC9kaXY+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgIDxkaXYgY2xhc3M9XCJzdHJva2UgYW5pbWF0ZSBsaW5rXCI+PC9kaXY+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgIDxkaXYgY2xhc3M9XCJzdHJva2UgYW5pbWF0ZSBkZXNjcmlwdGlvblwiPjwvZGl2PlxyXG4gICAgICAgICAgICAgICAgICAgIDwvZGl2PlxyXG4gICAgICAgICAgICAgICAgPC9kaXY+XHJcbiAgICAgICAgICAgICAgICA8ZGl2IGNsYXNzPVwic2hpbW1lclwiPlxyXG4gICAgICAgICAgICAgICAgICAgIDxkaXYgY2xhc3M9XCJ3cmFwcGVyXCI+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgIDxkaXYgY2xhc3M9XCJzdHJva2UgYW5pbWF0ZSB0aXRsZVwiPjwvZGl2PlxyXG4gICAgICAgICAgICAgICAgICAgICAgICA8ZGl2IGNsYXNzPVwic3Ryb2tlIGFuaW1hdGUgbGlua1wiPjwvZGl2PlxyXG4gICAgICAgICAgICAgICAgICAgICAgICA8ZGl2IGNsYXNzPVwic3Ryb2tlIGFuaW1hdGUgZGVzY3JpcHRpb25cIj48L2Rpdj5cclxuICAgICAgICAgICAgICAgICAgICA8L2Rpdj5cclxuICAgICAgICAgICAgICAgIDwvZGl2PlxyXG4gICAgICAgICAgICA8L2Rpdj5cclxuICAgICAgICAgICAgPGRpdiAqbmdJZj1cInBlcmZvcm1hbmNlbm9EYXRhXCIgY2xhc3M9XCJyb3dcIj5cclxuICAgICAgICAgICAgICAgIDxkaXYgY2xhc3M9XCJjb2wtbGctMTIgbXQtMjAgbWItNlwiPlxyXG4gICAgICAgICAgICAgICAgICAgIDxkaXYgY2xhc3M9XCIgbXQtMjAgY2FyZC1ib2R5IGQtZmxleCBqdXN0aWZ5LWNvbnRlbnQtY2VudGVyIGFsaWduLWl0ZW1zLWNlbnRlciBmbGV4LWNvbHVtblwiPlxyXG4gICAgICAgICAgICAgICAgICAgICAgICA8aW1nIGNsYXNzPVwiaW1nLW5vZGF0YS10YWJsZVwiIHNyYz1cIi4vYXNzZXRzL3RhbmdvL0ljb25zL05vZGF0YTEuc3ZnXCIgYWx0PVwiXCI+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgIDxkaXYgY2xhc3M9XCJub2RhdGEtdGl0bGVcIj5ObyBkYXRhIGZvdW5kPC9kaXY+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgIDxkaXYgKm5nSWY9XCJoZWFkZXJEYXRhPy5jbGllbnQgIT09JzQ1MidcIiBjbGFzcz1cIm5vZGF0YS1zdWJcIj5UaGVyZSBpcyBubyByZXN1bHQgZm9yIHRoaXMge3tmb290ZmFsbExhYmVsIHwgdGl0bGVjYXNlfX0gdnMge3tib3VuY2VMYWJlbCB8IHRpdGxlY2FzZX19PC9kaXY+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgIDxkaXYgKm5nSWY9XCJoZWFkZXJEYXRhPy5jbGllbnQgPT09JzQ1MidcIiBjbGFzcz1cIm5vZGF0YS1zdWJcIj5UaGVyZSBpcyBubyByZXN1bHQgZm9yIHRoaXMgUGVyZm9ybWFuY2UgTWF0cml4PC9kaXY+XHJcbiAgICAgICAgICAgICAgICAgICAgPC9kaXY+XHJcbiAgICAgICAgICAgICAgICA8L2Rpdj5cclxuICAgICAgICAgICAgPC9kaXY+XHJcbiAgICAgICAgICAgIDxkaXYgKm5nSWY9XCIhcGVyZm9ybWFuY2VMb2FkaW5nICYmICFwZXJmb3JtYW5jZW5vRGF0YVwiIGNsYXNzPVwiY2FyZC1ib2R5XCI+XHJcbiAgICAgICAgICAgICAgIFxyXG4gICAgICAgICAgICA8ZGl2IGNsYXNzPVwicXVhZHJhbnQtY2hhcnQgei0xXCI+XHJcbiAgICAgICAgICAgICAgICA8ZGl2IGNsYXNzPVwiYXhpcy1sYWJlbHNcIj5cclxuICAgICAgICAgICAgICAgICAgICA8IS0tIFggQXhpcyBMYWJlbCAtLT5cclxuICAgICAgICAgICAgICAgICAgICA8ZGl2IGNsYXNzPVwieC1heGlzLWxhYmVsXCI+XHJcbiAgICAgICAgICAgICAgICAgICAgICA8c3Bhbj57e2JvdW5jZUxhYmVsIHwgdGl0bGVjYXNlfX0gLT48L3NwYW4+XHJcbiAgICAgICAgICAgICAgICAgICAgPC9kaXY+XHJcbiAgICAgICAgICAgICAgICAgICAgPCEtLSBZIEF4aXMgTGFiZWwgLS0+XHJcbiAgICAgICAgICAgICAgICAgICAgPGRpdiBjbGFzcz1cInktYXhpcy1sYWJlbFwiPlxyXG4gICAgICAgICAgICAgICAgICAgICAgPHNwYW4+e3tmb290ZmFsbExhYmVsIHwgdGl0bGVjYXNlfX0gLT48L3NwYW4+XHJcbiAgICAgICAgICAgICAgICAgICAgPC9kaXY+XHJcbiAgICAgICAgICAgICAgICAgIDwvZGl2PlxyXG4gICA8IS0tIFRvcCBMZWZ0IFF1YWRyYW50IC0tPlxyXG4gICA8ZGl2IGNsYXNzPVwicXVhZHJhbnRcIiBpZD1cInExXCI+XHJcbiAgICA8c3BhbiAgKm5nSWY9XCJoZWFkZXJEYXRhPy5jbGllbnQgIT09JzQ1MidcIiBjbGFzcz1cImxhYmVsMVwiPkhpZ2ggPHNwYW4gKm5nSWY9XCJmb290ZmFsbExhYmVsPT09J0JvdW5jZWQgRm9vdGZhbGwnXCI+e3toZWFkZXJEYXRhPy5jbGllbnQgPT09JzQ1Mic/J0xlc3MgdGhhbiAnKyBmZWF0dXJlQ29uZmlnPy5ib3VuY2VkTGltaXQudmFsdWUrICcgbWlucyc6J0JvdW5jZSd9fTwvc3Bhbj48c3BhblxyXG4gICAgICAgICAgICAqbmdJZj1cImZvb3RmYWxsTGFiZWwgIT09J0JvdW5jZWQgRm9vdGZhbGwnXCI+e3tmb290ZmFsbExhYmVsIHwgdGl0bGVjYXNlfX08L3NwYW4+LCBMb3cgPHNwYW5cclxuICAgICAgICAgICAgKm5nSWY9XCJib3VuY2VMYWJlbD09PSdCb3VuY2VkIEZvb3RmYWxsJ1wiPnt7aGVhZGVyRGF0YT8uY2xpZW50ID09PSc0NTInPydMZXNzIHRoYW4gJysgZmVhdHVyZUNvbmZpZz8uYm91bmNlZExpbWl0LnZhbHVlKyAnIG1pbnMnOidCb3VuY2UnfX08L3NwYW4+PHNwYW5cclxuICAgICAgICAgICAgKm5nSWY9XCJib3VuY2VMYWJlbCAhPT0nQm91bmNlZCBGb290ZmFsbCdcIj57e2JvdW5jZUxhYmVsIHwgdGl0bGVjYXNlfX08L3NwYW4+PC9zcGFuPiBcclxuICAgICAgICAgICAgPHNwYW4gKm5nSWY9XCJoZWFkZXJEYXRhPy5jbGllbnQgPT09JzQ1MidcIiBjbGFzcz1cImxhYmVsMVwiPjxzcGFuICpuZ0lmPVwiZm9vdGZhbGxMYWJlbD09PSdGb290ZmFsbCdcIj5IaWdoIDwvc3Bhbj4gPHNwYW4gKm5nSWY9XCJmb290ZmFsbExhYmVsPT09J0JvdW5jZWQgRm9vdGZhbGwnXCI+e3toZWFkZXJEYXRhPy5jbGllbnQgPT09JzQ1Mic/J0xlc3MgdGhhbiAnKyBmZWF0dXJlQ29uZmlnPy5ib3VuY2VkTGltaXQudmFsdWUrICcgbWlucyc6J0JvdW5jZSd9fTwvc3Bhbj48c3BhblxyXG4gICAgICAgICAgICAqbmdJZj1cImZvb3RmYWxsTGFiZWwgIT09J0JvdW5jZWQgRm9vdGZhbGwnXCI+e3tmb290ZmFsbExhYmVsIHwgdGl0bGVjYXNlfX08L3NwYW4+LCA8c3BhbiAqbmdJZj1cImJvdW5jZUxhYmVsPT09J0Zvb3RmYWxsJ1wiPkxvdyA8L3NwYW4+IDxzcGFuXHJcbiAgICAgICAgICAgICpuZ0lmPVwiYm91bmNlTGFiZWw9PT0nQm91bmNlZCBGb290ZmFsbCdcIj57e2hlYWRlckRhdGE/LmNsaWVudCA9PT0nNDUyJz8nTGVzcyB0aGFuICcrIGZlYXR1cmVDb25maWc/LmJvdW5jZWRMaW1pdC52YWx1ZSsgJyBtaW5zJzonQm91bmNlJ319PC9zcGFuPjxzcGFuXHJcbiAgICAgICAgICAgICpuZ0lmPVwiYm91bmNlTGFiZWwgIT09J0JvdW5jZWQgRm9vdGZhbGwnXCI+e3tib3VuY2VMYWJlbCB8IHRpdGxlY2FzZX19PC9zcGFuPjwvc3Bhbj5cclxuPC9kaXY+XHJcblxyXG48IS0tIFRvcCBSaWdodCBRdWFkcmFudCAtLT5cclxuPGRpdiBjbGFzcz1cInF1YWRyYW50XCIgaWQ9XCJxMlwiPlxyXG4gICAgPHNwYW4gKm5nSWY9XCJoZWFkZXJEYXRhPy5jbGllbnQgIT09JzQ1MidcIiBjbGFzcz1cImxhYmVsMVwiPkhpZ2ggPHNwYW4gKm5nSWY9XCJmb290ZmFsbExhYmVsPT09J0JvdW5jZWQgRm9vdGZhbGwnXCI+e3toZWFkZXJEYXRhPy5jbGllbnQgPT09JzQ1Mic/J0xlc3MgdGhhbiAnKyBmZWF0dXJlQ29uZmlnPy5ib3VuY2VkTGltaXQudmFsdWUrICcgbWlucyc6J0JvdW5jZSd9fTwvc3Bhbj48c3BhblxyXG4gICAgICAgICAgICAqbmdJZj1cImZvb3RmYWxsTGFiZWwgIT09J0JvdW5jZWQgRm9vdGZhbGwnXCI+e3tmb290ZmFsbExhYmVsIHwgdGl0bGVjYXNlfX08L3NwYW4+LCBIaWdoIDxzcGFuXHJcbiAgICAgICAgICAgICpuZ0lmPVwiYm91bmNlTGFiZWw9PT0nQm91bmNlZCBGb290ZmFsbCdcIj57e2hlYWRlckRhdGE/LmNsaWVudCA9PT0nNDUyJz8nTGVzcyB0aGFuICcrZmVhdHVyZUNvbmZpZz8uYm91bmNlZExpbWl0LnZhbHVlKyAnIG1pbnMnOidCb3VuY2UnfX08L3NwYW4+PHNwYW5cclxuICAgICAgICAgICAgKm5nSWY9XCJib3VuY2VMYWJlbCAhPT0nQm91bmNlZCBGb290ZmFsbCdcIj57e2JvdW5jZUxhYmVsIHwgdGl0bGVjYXNlfX08L3NwYW4+PC9zcGFuPlxyXG4gICAgICAgICAgICA8c3BhbiAqbmdJZj1cImhlYWRlckRhdGE/LmNsaWVudCA9PT0nNDUyJ1wiIGNsYXNzPVwibGFiZWwxXCI+PHNwYW4gKm5nSWY9XCJmb290ZmFsbExhYmVsPT09J0Zvb3RmYWxsJ1wiPkhpZ2ggPC9zcGFuPiA8c3BhbiAqbmdJZj1cImZvb3RmYWxsTGFiZWw9PT0nQm91bmNlZCBGb290ZmFsbCdcIj57e2hlYWRlckRhdGE/LmNsaWVudCA9PT0nNDUyJz8nTGVzcyB0aGFuICcrIGZlYXR1cmVDb25maWc/LmJvdW5jZWRMaW1pdC52YWx1ZSsgJyBtaW5zJzonQm91bmNlJ319PC9zcGFuPjxzcGFuXHJcbiAgICAgICAgICAgICpuZ0lmPVwiZm9vdGZhbGxMYWJlbCAhPT0nQm91bmNlZCBGb290ZmFsbCdcIj57e2Zvb3RmYWxsTGFiZWwgfCB0aXRsZWNhc2V9fTwvc3Bhbj4sIDxzcGFuICpuZ0lmPVwiYm91bmNlTGFiZWw9PT0nRm9vdGZhbGwnXCI+SGlnaCA8L3NwYW4+IDxzcGFuXHJcbiAgICAgICAgICAgICpuZ0lmPVwiYm91bmNlTGFiZWw9PT0nQm91bmNlZCBGb290ZmFsbCdcIj57e2hlYWRlckRhdGE/LmNsaWVudCA9PT0nNDUyJz8nTGVzcyB0aGFuICcrZmVhdHVyZUNvbmZpZz8uYm91bmNlZExpbWl0LnZhbHVlKyAnIG1pbnMnOidCb3VuY2UnfX08L3NwYW4+PHNwYW5cclxuICAgICAgICAgICAgKm5nSWY9XCJib3VuY2VMYWJlbCAhPT0nQm91bmNlZCBGb290ZmFsbCdcIj57e2JvdW5jZUxhYmVsIHwgdGl0bGVjYXNlfX08L3NwYW4+PC9zcGFuPiAgICAgICAgXHJcbjwvZGl2PlxyXG5cclxuPCEtLSBCb3R0b20gTGVmdCBRdWFkcmFudCAtLT5cclxuPGRpdiBjbGFzcz1cInF1YWRyYW50XCIgaWQ9XCJxM1wiPlxyXG4gICAgPHNwYW4gKm5nSWY9XCJoZWFkZXJEYXRhPy5jbGllbnQgIT09JzQ1MidcIiAgY2xhc3M9XCJsYWJlbDFcIj5Mb3cgPHNwYW4gKm5nSWY9XCJmb290ZmFsbExhYmVsPT09J0JvdW5jZWQgRm9vdGZhbGwnXCI+e3toZWFkZXJEYXRhPy5jbGllbnQgPT09JzQ1Mic/J0xlc3MgdGhhbiAnKyBmZWF0dXJlQ29uZmlnPy5ib3VuY2VkTGltaXQudmFsdWUrICcgbWlucyc6J0JvdW5jZSd9fTwvc3Bhbj48c3BhblxyXG4gICAgICAgICAgICAqbmdJZj1cImZvb3RmYWxsTGFiZWwgIT09J0JvdW5jZWQgRm9vdGZhbGwnXCI+e3tmb290ZmFsbExhYmVsIHwgdGl0bGVjYXNlfX08L3NwYW4+LCBMb3cgPHNwYW5cclxuICAgICAgICAgICAgKm5nSWY9XCJib3VuY2VMYWJlbD09PSdCb3VuY2VkIEZvb3RmYWxsJ1wiPnt7aGVhZGVyRGF0YT8uY2xpZW50ID09PSc0NTInPydMZXNzIHRoYW4gJysgZmVhdHVyZUNvbmZpZz8uYm91bmNlZExpbWl0LnZhbHVlKyAnIG1pbnMnOidCb3VuY2UnfX08L3NwYW4+PHNwYW5cclxuICAgICAgICAgICAgKm5nSWY9XCJib3VuY2VMYWJlbCAhPT0nQm91bmNlZCBGb290ZmFsbCdcIj57e2JvdW5jZUxhYmVsIHwgdGl0bGVjYXNlfX08L3NwYW4+PC9zcGFuPlxyXG4gICAgICAgICAgICA8c3BhbiAqbmdJZj1cImhlYWRlckRhdGE/LmNsaWVudCA9PT0nNDUyJ1wiIGNsYXNzPVwibGFiZWwxXCI+PHNwYW4gKm5nSWY9XCJmb290ZmFsbExhYmVsPT09J0Zvb3RmYWxsJ1wiPkxvdyA8L3NwYW4+ICA8c3BhbiAqbmdJZj1cImZvb3RmYWxsTGFiZWw9PT0nQm91bmNlZCBGb290ZmFsbCdcIj57e2hlYWRlckRhdGE/LmNsaWVudCA9PT0nNDUyJz8nTGVzcyB0aGFuICcrIGZlYXR1cmVDb25maWc/LmJvdW5jZWRMaW1pdC52YWx1ZSsgJyBtaW5zJzonQm91bmNlJ319PC9zcGFuPjxzcGFuXHJcbiAgICAgICAgICAgICpuZ0lmPVwiZm9vdGZhbGxMYWJlbCAhPT0nQm91bmNlZCBGb290ZmFsbCdcIj57e2Zvb3RmYWxsTGFiZWwgfCB0aXRsZWNhc2V9fTwvc3Bhbj4sIDxzcGFuICpuZ0lmPVwiYm91bmNlTGFiZWw9PT0nRm9vdGZhbGwnXCI+TG93IDwvc3Bhbj4gPHNwYW5cclxuICAgICAgICAgICAgKm5nSWY9XCJib3VuY2VMYWJlbD09PSdCb3VuY2VkIEZvb3RmYWxsJ1wiPnt7aGVhZGVyRGF0YT8uY2xpZW50ID09PSc0NTInPydMZXNzIHRoYW4gJysgZmVhdHVyZUNvbmZpZz8uYm91bmNlZExpbWl0LnZhbHVlKyAnIG1pbnMnOidCb3VuY2UnfX08L3NwYW4+PHNwYW5cclxuICAgICAgICAgICAgKm5nSWY9XCJib3VuY2VMYWJlbCAhPT0nQm91bmNlZCBGb290ZmFsbCdcIj57e2JvdW5jZUxhYmVsIHwgdGl0bGVjYXNlfX08L3NwYW4+PC9zcGFuPlxyXG5cclxuPC9kaXY+XHJcblxyXG48IS0tIEJvdHRvbSBSaWdodCBRdWFkcmFudCAtLT5cclxuPGRpdiBjbGFzcz1cInF1YWRyYW50XCIgaWQ9XCJxNFwiPlxyXG4gICAgPHNwYW4gKm5nSWY9XCJoZWFkZXJEYXRhPy5jbGllbnQgIT09JzQ1MidcIiAgY2xhc3M9XCJsYWJlbDFcIj5Mb3cgPHNwYW4gKm5nSWY9XCJmb290ZmFsbExhYmVsPT09J0JvdW5jZWQgRm9vdGZhbGwnXCI+e3toZWFkZXJEYXRhPy5jbGllbnQgPT09JzQ1Mic/J0xlc3MgdGhhbiAnKyBmZWF0dXJlQ29uZmlnPy5ib3VuY2VkTGltaXQudmFsdWUrICcgbWlucyc6J0JvdW5jZSd9fTwvc3Bhbj48c3BhblxyXG4gICAgICAgICAgICAqbmdJZj1cImZvb3RmYWxsTGFiZWwgIT09J0JvdW5jZWQgRm9vdGZhbGwnXCI+e3tmb290ZmFsbExhYmVsIHwgdGl0bGVjYXNlfX08L3NwYW4+LCBIaWdoIDxzcGFuXHJcbiAgICAgICAgICAgICpuZ0lmPVwiYm91bmNlTGFiZWw9PT0nQm91bmNlZCBGb290ZmFsbCdcIj57e2hlYWRlckRhdGE/LmNsaWVudCA9PT0nNDUyJz8nTGVzcyB0aGFuICcrIGZlYXR1cmVDb25maWc/LmJvdW5jZWRMaW1pdC52YWx1ZSsgJyBtaW5zJzonQm91bmNlJ319PC9zcGFuPjxzcGFuXHJcbiAgICAgICAgICAgICpuZ0lmPVwiYm91bmNlTGFiZWwgIT09J0JvdW5jZWQgRm9vdGZhbGwnXCI+e3tib3VuY2VMYWJlbHwgdGl0bGVjYXNlfX08L3NwYW4+PC9zcGFuPlxyXG4gICAgICAgICAgICA8c3BhbiAqbmdJZj1cImhlYWRlckRhdGE/LmNsaWVudCA9PT0nNDUyJ1wiIGNsYXNzPVwibGFiZWwxXCI+PHNwYW4gKm5nSWY9XCJmb290ZmFsbExhYmVsPT09J0Zvb3RmYWxsJ1wiPkxvdyA8L3NwYW4+IDxzcGFuICpuZ0lmPVwiZm9vdGZhbGxMYWJlbD09PSdCb3VuY2VkIEZvb3RmYWxsJ1wiPnt7aGVhZGVyRGF0YT8uY2xpZW50ID09PSc0NTInPydMZXNzIHRoYW4gJysgZmVhdHVyZUNvbmZpZz8uYm91bmNlZExpbWl0LnZhbHVlKyAnIG1pbnMnOidCb3VuY2UnfX08L3NwYW4+PHNwYW5cclxuICAgICAgICAgICAgKm5nSWY9XCJmb290ZmFsbExhYmVsICE9PSdCb3VuY2VkIEZvb3RmYWxsJ1wiPnt7Zm9vdGZhbGxMYWJlbCB8IHRpdGxlY2FzZX19PC9zcGFuPiwgPHNwYW4gKm5nSWY9XCJib3VuY2VMYWJlbD09PSdGb290ZmFsbCdcIj5IaWdoIDwvc3Bhbj4gPHNwYW5cclxuICAgICAgICAgICAgKm5nSWY9XCJib3VuY2VMYWJlbD09PSdCb3VuY2VkIEZvb3RmYWxsJ1wiPnt7aGVhZGVyRGF0YT8uY2xpZW50ID09PSc0NTInPydMZXNzIHRoYW4gJysgZmVhdHVyZUNvbmZpZz8uYm91bmNlZExpbWl0LnZhbHVlKyAnIG1pbnMnOidCb3VuY2UnfX08L3NwYW4+PHNwYW5cclxuICAgICAgICAgICAgKm5nSWY9XCJib3VuY2VMYWJlbCAhPT0nQm91bmNlZCBGb290ZmFsbCdcIj57e2JvdW5jZUxhYmVsfCB0aXRsZWNhc2V9fTwvc3Bhbj48L3NwYW4+XHJcbjwvZGl2PlxyXG4gIFxyXG4gICAgICAgICAgICAgICAgPGRpdiAqbmdGb3I9XCJsZXQgcG9pbnQgb2YgcG9pbnRzXCIgY2xhc3M9XCJwb2ludFwiIFtuZ1N0eWxlXT1cInsndG9wJzogcG9pbnQudG9wICsgJyUnLCAnbGVmdCc6IHBvaW50LmxlZnQgKyAnJSd9XCI+XHJcbiAgICAgICAgICAgICAgICAgICAgPGRpdiBjbGFzcz1cInRleHQtY2VudGVyXCIgKGNsaWNrKT1cInRvZ2dsZVRvb2x0aXAocG9pbnQubmFtZSlcIj5cclxuICAgICAgICAgICAgICAgICAgICA8ZGl2IGNsYXNzPVwiZG90XCIgPjwvZGl2PlxyXG4gICAgICAgICAgICAgICAgICAgIDwhLS0gQ2xpY2thYmxlIGxhYmVsIHRoYXQgdG9nZ2xlcyB0aGUgdG9vbHRpcCAtLT5cclxuICAgICAgICAgICAgICAgICAgICA8ZGl2IGNsYXNzPVwibGFiZWwgei0xIG10LTRcIiAgc3R5bGU9XCJmb250LXNpemU6IDEwcHggIWltcG9ydGFudDtcIiA+XHJcbiAgICAgICAgICAgICAgICAgICAgICB7eyBwb2ludC5uYW1lIH19XHJcbiAgICAgICAgICAgICAgICAgICAgPC9kaXY+XHJcbiAgICAgICAgICAgICAgICA8L2Rpdj5cclxuICAgICAgICAgICAgICAgICAgICA8IS0tIEN1c3RvbSBUb29sdGlwIFBvcHVwIC0tPlxyXG4gICAgICAgICAgICAgICAgICAgIDxkaXYgY2xhc3M9XCJ0b29sdGlwLXBvcHVwIHotNVwiICpuZ0lmPVwiYWN0aXZlVG9vbHRpcCA9PT0gcG9pbnQubmFtZVwiPlxyXG4gICAgICAgICAgICAgICAgICAgICAgPGRpdiBjbGFzcz1cInRvb2x0aXAtY29udGVudFwiPlxyXG4gICAgICAgICAgICAgICAgICAgICAgICA8aDMgY2xhc3M9XCJ0ZXh0LXdoaXRlIGN1cnNvci1wb2ludGVyXCIgKGNsaWNrKT1cInN0b3JlVmlldyhwb2ludC5zdG9yZUlkKVwiPnt7IHBvaW50Lm5hbWUgfX08L2gzPlxyXG4gICAgICAgICAgICAgICAgICAgICAgICA8cD5Bdmcge3tmb290ZmFsbExhYmVsIHwgdGl0bGVjYXNlfX06IHt7IHBvaW50LmF2Z0Zvb3RmYWxsIH19PC9wPlxyXG4gICAgICAgICAgICAgICAgICAgICAgICA8cCBjbGFzcz1cIm15LTJcIj5PcGVuIFRpbWU6IDxzdHJvbmc+e3sgcG9pbnQub3BlblRpbWUgfX08L3N0cm9uZz48L3A+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgIDxwPkNsb3NlIFRpbWU6IDxzdHJvbmc+e3sgcG9pbnQuY2xvc2VUaW1lIH19PC9zdHJvbmc+PC9wPlxyXG4gICAgICAgICAgICAgICAgICAgICAgPC9kaXY+XHJcbiAgICAgICAgICAgICAgICAgICAgICA8ZGl2IGNsYXNzPVwidG9vbHRpcC1hcnJvd1wiPjwvZGl2PlxyXG4gICAgICAgICAgICAgICAgICAgIDwvZGl2PlxyXG4gICAgICAgICAgICAgICAgICA8L2Rpdj5cclxuICAgICAgICAgICAgICAgIDwhLS0gQWRkIG1vcmUgcG9pbnRzIGhlcmUgLS0+XHJcbiAgICAgICAgICAgICAgPC9kaXY+XHJcbiAgICAgICAgICAgICAgXHJcbiAgICAgICAgICAgICAgPC9kaXY+XHJcbiAgICAgICAgPC9kaXY+XHJcbiAgICA8L2Rpdj5cclxuICAgIDxkaXYgKm5nSWY9XCJzdG9yZUlkYXJyYXk/Lmxlbmd0aCA+IDFcIiBjbGFzcz1cImNvbC1tZC02IG10LTNcIj5cclxuICAgICAgICA8ZGl2IGNsYXNzPVwiY2FyZFwiPlxyXG4gICAgICAgICAgICA8ZGl2IGNsYXNzPVwiY2FyZC1oZWFkZXIgcHgtNSBib3JkZXItMCBwdC0zXCI+XHJcbiAgICAgICAgICAgICAgICA8aDMgY2xhc3M9XCJjYXJkLXRpdGxlIGFsaWduLWl0ZW1zLXN0YXJ0IGZsZXgtY29sdW1uXCI+XHJcbiAgICAgICAgICAgICAgICAgICAgPHNwYW4gY2xhc3M9XCJ0aXRsZS10ZXh0IG1iLTJcIj5ab25lIER3ZWxsIFRpbWUgU3BsaXQgXHJcbiAgICAgICAgICAgICAgICAgICAgICAgIDxzdmcgeG1sbnM9XCJodHRwOi8vd3d3LnczLm9yZy8yMDAwL3N2Z1wiIHdpZHRoPVwiMTZcIlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgaGVpZ2h0PVwiMTZcIiB2aWV3Qm94PVwiMCAwIDE2IDE2XCIgZmlsbD1cIm5vbmVcIlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgcGxhY2VtZW50PVwicmlnaHRcIlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgbmdiVG9vbHRpcD1cIk92ZXJhbGwgem9uZSBjb25jZW50cmF0aW9uIGFuZCBhdmVyYWdlIGR3ZWxsIHRpbWUgYWNyb3NzIHNlbGVjdGVkIHN0b3Jlc1wiPlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgPGcgY2xpcC1wYXRoPVwidXJsKCNjbGlwMF8xNDMyXzgwMDM1KVwiPlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxwYXRoXHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGQ9XCJNOC4wMDA2NSAxMC42NjY2VjcuOTk5OTJNOC4wMDA2NSA1LjMzMzI1SDguMDA3MzJNMTQuNjY3MyA3Ljk5OTkyQzE0LjY2NzMgMTEuNjgxOCAxMS42ODI2IDE0LjY2NjYgOC4wMDA2NSAxNC42NjY2QzQuMzE4NzUgMTQuNjY2NiAxLjMzMzk4IDExLjY4MTggMS4zMzM5OCA3Ljk5OTkyQzEuMzMzOTggNC4zMTgwMiA0LjMxODc1IDEuMzMzMjUgOC4wMDA2NSAxLjMzMzI1QzExLjY4MjYgMS4zMzMyNSAxNC42NjczIDQuMzE4MDIgMTQuNjY3MyA3Ljk5OTkyWlwiXHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHN0cm9rZT1cIiM2NjcwODVcIiBzdHJva2Utd2lkdGg9XCIyXCIgc3Ryb2tlLWxpbmVjYXA9XCJyb3VuZFwiIHN0cm9rZS1saW5lam9pbj1cInJvdW5kXCIgLz5cclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvZz5cclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxkZWZzPlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxjbGlwUGF0aCBpZD1cImNsaXAwXzE0MzJfODAwMzVcIj5cclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPHJlY3Qgd2lkdGg9XCIxNlwiIGhlaWdodD1cIjE2XCIgZmlsbD1cIndoaXRlXCIgLz5cclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8L2NsaXBQYXRoPlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgPC9kZWZzPlxyXG4gICAgICAgICAgICAgICAgICAgICAgICA8L3N2Zz5cclxuICAgICAgICAgICAgICAgICAgICA8L3NwYW4+XHJcbiAgICAgICAgICAgICAgICAgICAgPHNwYW4gY2xhc3M9XCJ0ZXh0LXN1YiBtYi0yXCI+e3toZWFkZXJEYXRhPy5kYXRlPy5zdGFydERhdGUgfCBkYXRlOidkZCBNTU0sIHl5eXknfX0g4oCTIHt7aGVhZGVyRGF0YT8uZGF0ZT8uZW5kRGF0ZSB8IGRhdGU6J2RkIE1NTSwgeXl5eSd9fTwvc3Bhbj5cclxuICAgICAgICAgICAgICAgIDwvaDM+XHJcbiAgICAgICAgICAgICAgICA8ZGl2IGNsYXNzPVwiY2FyZC10b29sYmFyXCI+XHJcbiAgICAgICAgICAgICAgICAgICAgPGJ1dHRvbiAgdHlwZT1cImJ1dHRvblwiIChjbGljayk9XCJnb1RvWm9uZSgpXCJcclxuICAgICAgICAgICAgICAgICAgICBjbGFzcz1cImJ0biBidG4tbGlnaHQtcHJpbWFyeTEgcm91bmRlZC0zIHRleHQtbm93cmFwIGJvcmRlci12YWxcIj5cclxuICAgICAgICAgICAgICAgICAgICA8c3BhbiBjbGFzcz1cIm1zLTJcIj5HbyB0byBab25lczwvc3Bhbj5cclxuICAgICAgICAgICAgICAgIDwvYnV0dG9uPlxyXG4gICAgICAgICAgICAgICAgICAgXHJcbiAgICAgICAgICAgICAgICA8L2Rpdj5cclxuICAgICAgICAgICAgPC9kaXY+XHJcbiAgICAgICAgICAgIDxkaXYgY2Fsc3M9XCJjYXJkLWJvZHlcIj5cclxuICAgICAgICAgICAgICAgIDxkaXYgKm5nSWY9XCIhem9uZUxvYWRpbmcgJiYgIXpvbmVOb0RhdGFcIiBjbGFzcz1cImltYWdlLWNvbnRhaW5lciBwb3NpdGlvbi1yZWxhdGl2ZVwiPlxyXG4gICAgICAgICAgICAgICAgICAgIDxpbWcgIHNyYz1cImFzc2V0cy90YW5nby9JbWFnZXMvem9uZS1pbWcuc3ZnXCIgYWx0PVwiU3RvcmUgTGF5b3V0XCIgY2xhc3M9XCJweC01IGltZy1zcmMgbXktMyBiYWNrZ3JvdW5kLWltYWdlXCIgLz5cclxuICAgICAgICAgICAgICAgICAgICA8IS0tIDxpbWcgKm5nSWY9XCJ6b25lRHdlbGxUaW1lU3BsaXREYXRhWzBdPy56b25lTmFtZSA9PT0nT3ZlcmFsbCBTdG9yZSdcIiBzcmM9XCJhc3NldHMvdGFuZ28vSW1hZ2VzL3pvbmUtaW1nMS5zdmdcIiBhbHQ9XCJTdG9yZSBMYXlvdXRcIiBjbGFzcz1cInB4LTUgaW1nLXNyYyBteS0zIGJhY2tncm91bmQtaW1hZ2VcIiAvPiAtLT5cclxuICAgICAgICAgICAgICAgICAgICA8IS0tIDxkaXYgY2xhc3M9XCJjZW50ZXJlZFwiPkNlbnRlcmVkPC9kaXY+IC0tPlxyXG4gICAgICAgICAgICAgICAgICAgIDwhLS0gPGRpdiBjbGFzcz1cIm92ZXJsYXktY29udGVudFwiICpuZ0Zvcj1cImxldCBwb2ludCBvZiB6b25lRHdlbGxUaW1lU3BsaXREYXRhXCI+IC0tPlxyXG4gICAgICAgICAgICAgICAgICAgICAgPGRpdiAqbmdJZj1cInpvbmVEd2VsbFRpbWVTcGxpdERhdGFbMF0/LnpvbmVOYW1lICE9PSdPdmVyYWxsIFN0b3JlJ1wiIGNsYXNzPVwidG9wLXpvbmVcIj5cclxuICAgICAgICAgICAgICAgICAgICAgICA8ZGl2IGNsYXNzPVwidGV4dC1jZW50ZXIgdGV4dC16b25lXCI+e3t6b25lRHdlbGxUaW1lU3BsaXREYXRhWzBdPy56b25lTmFtZSA/IHpvbmVEd2VsbFRpbWVTcGxpdERhdGFbMF0/LnpvbmVOYW1lIDonRnJvbnQnfX08L2Rpdj5cclxuICAgICAgICAgICAgICAgICAgICAgICA8c3BhbiBjbGFzcz1cInRleHQtem9uZS12YWxcIj4gQ29uYzoge3sgem9uZUR3ZWxsVGltZVNwbGl0RGF0YVswXT8uY29uY2VudHJhdGlvblJhdGUgPyB6b25lRHdlbGxUaW1lU3BsaXREYXRhWzBdPy5jb25jZW50cmF0aW9uUmF0ZTonLS0nIH19JSA8L3NwYW4+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgPHNwYW4gY2xhc3M9XCJ0ZXh0LXpvbmUtdmFsXCI+RHdlbGwgdGltZToge3sgem9uZUR3ZWxsVGltZVNwbGl0RGF0YVswXT8uZHdlbGxUaW1lID8gem9uZUR3ZWxsVGltZVNwbGl0RGF0YVswXT8uZHdlbGxUaW1lIDonLS0nIH19IE1pbnM8L3NwYW4+XHJcbiAgICAgICAgICAgICAgICAgICAgICA8L2Rpdj5cclxuICAgICAgICAgICAgICAgICAgICAgIDxkaXYgKm5nSWY9XCJ6b25lRHdlbGxUaW1lU3BsaXREYXRhWzBdPy56b25lTmFtZSA9PT0nT3ZlcmFsbCBTdG9yZSdcIiBjbGFzcz1cImNlbnRlcmVkLXpvbmVcIj5cclxuICAgICAgICAgICAgICAgICAgICAgICAgPGRpdiBjbGFzcz1cInRleHQtY2VudGVyIHRleHQtem9uZVwiPnt7em9uZUR3ZWxsVGltZVNwbGl0RGF0YVswXT8uem9uZU5hbWUgPyB6b25lRHdlbGxUaW1lU3BsaXREYXRhWzBdPy56b25lTmFtZSA6J0Zyb250J319PC9kaXY+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgIDxzcGFuIGNsYXNzPVwidGV4dC16b25lLXZhbFwiPiBDb25jOiB7eyB6b25lRHdlbGxUaW1lU3BsaXREYXRhWzBdPy5jb25jZW50cmF0aW9uUmF0ZSA/IHpvbmVEd2VsbFRpbWVTcGxpdERhdGFbMF0/LmNvbmNlbnRyYXRpb25SYXRlOictLScgfX0lIDwvc3Bhbj5cclxuICAgICAgICAgICAgICAgICAgICAgICAgPHNwYW4gY2xhc3M9XCJ0ZXh0LXpvbmUtdmFsXCI+RHdlbGwgdGltZToge3sgem9uZUR3ZWxsVGltZVNwbGl0RGF0YVswXT8uZHdlbGxUaW1lID8gem9uZUR3ZWxsVGltZVNwbGl0RGF0YVswXT8uZHdlbGxUaW1lOictLScgfX0gTWluczwvc3Bhbj5cclxuICAgICAgICAgICAgICAgICAgICAgICA8L2Rpdj5cclxuICAgICAgICAgICAgICAgICAgICAgICA8ZGl2ICpuZ0lmPVwiem9uZUR3ZWxsVGltZVNwbGl0RGF0YVswXT8uem9uZU5hbWUgIT09J092ZXJhbGwgU3RvcmUnXCIgY2xhc3M9XCJib3R0b20tem9uZSBcIj5cclxuICAgICAgICAgICAgICAgICAgICAgICAgPGRpdiBjbGFzcz1cInRleHQtY2VudGVyIHRleHQtem9uZVwiPnt7em9uZUR3ZWxsVGltZVNwbGl0RGF0YVsxXT8uem9uZU5hbWUgPyB6b25lRHdlbGxUaW1lU3BsaXREYXRhWzJdPy56b25lTmFtZSAgOiAnQmFjayd9fTwvZGl2PlxyXG4gICAgICAgICAgICAgICAgICAgICAgICA8c3BhbiBjbGFzcz1cInRleHQtem9uZS12YWxcIj4gQ29uYzoge3sgem9uZUR3ZWxsVGltZVNwbGl0RGF0YVsxXT8uY29uY2VudHJhdGlvblJhdGUgPyB6b25lRHdlbGxUaW1lU3BsaXREYXRhWzJdPy5jb25jZW50cmF0aW9uUmF0ZTonLS0nIH19JSA8L3NwYW4+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgIDxzcGFuIGNsYXNzPVwidGV4dC16b25lLXZhbFwiPkR3ZWxsIHRpbWU6IHt7IHpvbmVEd2VsbFRpbWVTcGxpdERhdGFbMV0/LmR3ZWxsVGltZSA/IHpvbmVEd2VsbFRpbWVTcGxpdERhdGFbMl0/LmR3ZWxsVGltZTonLS0nfX0gTWluczwvc3Bhbj5cclxuICAgICAgICAgICAgICAgICAgICAgICA8L2Rpdj5cclxuICAgICAgICAgICAgICAgICAgICA8IS0tIDwvZGl2PiAtLT5cclxuICAgICAgICAgICAgICAgICAgICA8L2Rpdj5cclxuICAgICAgICAgICAgICAgICAgICA8ZGl2ICpuZ0lmPVwiem9uZUxvYWRpbmdcIiBjbGFzcz1cInJvdyBsb2FkZXIgIGQtZmxleCBqdXN0aWZ5LWNvbnRlbnQtY2VudGVyIGFsaWduLWl0ZW1zLWNlbnRlclwiPlxyXG4gICAgICAgICAgICAgICAgICAgICAgICA8ZGl2IGNsYXNzPVwic2hpbW1lclwiPlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgPGRpdiBjbGFzcz1cIndyYXBwZXJcIj5cclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8ZGl2IGNsYXNzPVwic3Ryb2tlIGFuaW1hdGUgdGl0bGVcIj48L2Rpdj5cclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8ZGl2IGNsYXNzPVwic3Ryb2tlIGFuaW1hdGUgbGlua1wiPjwvZGl2PlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxkaXYgY2xhc3M9XCJzdHJva2UgYW5pbWF0ZSBkZXNjcmlwdGlvblwiPjwvZGl2PlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgPC9kaXY+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgIDwvZGl2PlxyXG4gICAgICAgICAgICAgICAgICAgICAgICA8ZGl2IGNsYXNzPVwic2hpbW1lclwiPlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgPGRpdiBjbGFzcz1cIndyYXBwZXJcIj5cclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8ZGl2IGNsYXNzPVwic3Ryb2tlIGFuaW1hdGUgdGl0bGVcIj48L2Rpdj5cclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8ZGl2IGNsYXNzPVwic3Ryb2tlIGFuaW1hdGUgbGlua1wiPjwvZGl2PlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxkaXYgY2xhc3M9XCJzdHJva2UgYW5pbWF0ZSBkZXNjcmlwdGlvblwiPjwvZGl2PlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgPC9kaXY+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgIDwvZGl2PlxyXG4gICAgICAgICAgICAgICAgICAgIDwvZGl2PlxyXG4gICAgICAgICAgICAgICAgICAgIDxkaXYgKm5nSWY9XCJ6b25lTm9EYXRhXCIgY2xhc3M9XCJyb3dcIj5cclxuICAgICAgICAgICAgICAgICAgICAgICAgPGRpdiBjbGFzcz1cImNvbC1sZy0xMiBtYi02IFwiPlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgPGRpdiAqbmdJZj1cIm5vcm1hbGl6ZVwiIGNsYXNzPVwibXQtNSBjYXJkLWJvZHkgcmlnaHQtYmFyIHB5LTIwIG14LTUgZC1mbGV4IGp1c3RpZnktY29udGVudC1jZW50ZXIgYWxpZ24taXRlbXMtY2VudGVyIGZsZXgtY29sdW1uXCI+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGltZyBjbGFzcz1cImltZy1ub2RhdGEtem9uZVwiIHNyYz1cIi4vYXNzZXRzL3RhbmdvL0ljb25zL25vdC1hcHBsaWNhYmxlLnN2Z1wiIGFsdD1cIlwiPlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxkaXYgY2xhc3M9XCJub2RhdGEtdGl0bGUgbXQtM1wiPkRhdGEgTm90IEZvdW5kPC9kaXY+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGRpdiBjbGFzcz1cIm5vZGF0YS1zdWJcIj5Ob3JtYWxpemVkIGRhdGEgaXMgbm90IGFwcGxpY2FibGU8L2Rpdj5cclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvZGl2PlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgPGRpdiAqbmdJZj1cIiFub3JtYWxpemVcIiBjbGFzcz1cIm10LTUgY2FyZC1ib2R5IHJpZ2h0LWJhciBweS0yMCBteC01IGQtZmxleCBqdXN0aWZ5LWNvbnRlbnQtY2VudGVyIGFsaWduLWl0ZW1zLWNlbnRlciBmbGV4LWNvbHVtblwiPlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxpbWcgY2xhc3M9XCJpbWctbm9kYXRhLXpvbmVcIiBzcmM9XCIuL2Fzc2V0cy90YW5nby9JY29ucy9Ob2RhdGExLnN2Z1wiIGFsdD1cIlwiPlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxkaXYgY2xhc3M9XCJub2RhdGEtdGl0bGVcIj5ObyBkYXRhIGZvdW5kPC9kaXY+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGRpdiAgY2xhc3M9XCJub2RhdGEtc3ViXCI+VGhlcmUgaXMgbm8gcmVzdWx0IGZvciB0aGlzIFpvbmUgRHdlbGwgVGltZSBTcGxpdDwvZGl2PlxyXG5cclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvZGl2PlxyXG4gICAgICAgICAgICAgICAgICAgICAgICA8L2Rpdj5cclxuICAgICAgICAgICAgICAgICAgICA8L2Rpdj5cclxuICAgICAgICAgICAgICAgIDwhLS0gPGltZyBjbGFzcz1cInB4LTUgaW1nLXNyYyBtYi0zXCIgc3JjPVwiYXNzZXRzL3RhbmdvL0ltYWdlcy96b25lLWltZy5zdmdcIiBhbHQ9XCJcIj4gLS0+XHJcbiAgICA8L2Rpdj5cclxuICAgIDxkaXYgY2xhc3M9XCJjYXJkLWhlYWRlciBweC01IGJvcmRlci0wIHB0LTNcIj5cclxuICAgICAgICA8aDMgY2xhc3M9XCJjYXJkLXRpdGxlIGFsaWduLWl0ZW1zLXN0YXJ0IGZsZXgtY29sdW1uXCI+XHJcbiAgICAgICAgICAgIDxzcGFuIGNsYXNzPVwidGl0bGUtdGV4dCBtYi0yXCI+U3RvcmUgT3BlcmF0aW9uc1xyXG4gICAgICAgICAgICAgICAgPHNwYW4gPiBcclxuICAgICAgICAgICAgICAgIDxzdmcgbmdiVG9vbHRpcD1cIkF2ZyBzdG9yZSBvcGVuICYgY2xvc2UgdGltZSBhY3Jvc3MgdGhlIHNlbGVjdGVkIHN0b3Jlc1wiIHBsYWNlbWVudD1cInRvcFwiIHhtbG5zPVwiaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmdcIiB3aWR0aD1cIjE2XCJcclxuICAgICAgICAgICAgICAgICAgICBoZWlnaHQ9XCIxNlwiIHZpZXdCb3g9XCIwIDAgMTYgMTZcIiBmaWxsPVwibm9uZVwiID5cclxuICAgICAgICAgICAgICAgICAgICA8ZyBjbGlwLXBhdGg9XCJ1cmwoI2NsaXAwXzE0MzJfODAwMzUpXCI+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgIDxwYXRoXHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICBkPVwiTTguMDAwNjUgMTAuNjY2NlY3Ljk5OTkyTTguMDAwNjUgNS4zMzMyNUg4LjAwNzMyTTE0LjY2NzMgNy45OTk5MkMxNC42NjczIDExLjY4MTggMTEuNjgyNiAxNC42NjY2IDguMDAwNjUgMTQuNjY2NkM0LjMxODc1IDE0LjY2NjYgMS4zMzM5OCAxMS42ODE4IDEuMzMzOTggNy45OTk5MkMxLjMzMzk4IDQuMzE4MDIgNC4zMTg3NSAxLjMzMzI1IDguMDAwNjUgMS4zMzMyNUMxMS42ODI2IDEuMzMzMjUgMTQuNjY3MyA0LjMxODAyIDE0LjY2NzMgNy45OTk5MlpcIlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgc3Ryb2tlPVwiIzY2NzA4NVwiIHN0cm9rZS13aWR0aD1cIjJcIiBzdHJva2UtbGluZWNhcD1cInJvdW5kXCIgc3Ryb2tlLWxpbmVqb2luPVwicm91bmRcIiAvPlxyXG4gICAgICAgICAgICAgICAgICAgIDwvZz5cclxuICAgICAgICAgICAgICAgICAgICA8ZGVmcz5cclxuICAgICAgICAgICAgICAgICAgICAgICAgPGNsaXBQYXRoIGlkPVwiY2xpcDBfMTQzMl84MDAzNVwiPlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgPHJlY3Qgd2lkdGg9XCIxNlwiIGhlaWdodD1cIjE2XCIgZmlsbD1cIndoaXRlXCIgLz5cclxuICAgICAgICAgICAgICAgICAgICAgICAgPC9jbGlwUGF0aD5cclxuICAgICAgICAgICAgICAgICAgICA8L2RlZnM+XHJcbiAgICAgICAgICAgICAgICA8L3N2Zz5cclxuICAgICAgICAgICAgICAgIDwvc3Bhbj5cclxuICAgICAgICAgICAgPC9zcGFuPlxyXG4gICAgICAgICAgICA8c3BhbiBjbGFzcz1cInRleHQtc3ViIG1iLTJcIj57e2hlYWRlckRhdGE/LmRhdGU/LnN0YXJ0RGF0ZSB8IGRhdGU6J2RkIE1NTSwgeXl5eSd9fSDigJMge3toZWFkZXJEYXRhPy5kYXRlPy5lbmREYXRlIHwgZGF0ZTonZGQgTU1NLCB5eXl5J319PC9zcGFuPlxyXG4gICAgICAgIDwvaDM+XHJcbiAgICAgICAgPGRpdiBjbGFzcz1cImNhcmQtdG9vbGJhclwiPlxyXG4gICAgICAgICAgICA8IS0tIDxidXR0b24gIHR5cGU9XCJidXR0b25cIlxyXG4gICAgICAgICAgICBjbGFzcz1cImJ0biBidG4tbGlnaHQtcHJpbWFyeTEgcm91bmRlZC0zIHRleHQtbm93cmFwIGJvcmRlci12YWxcIj5cclxuICAgICAgICAgICAgPHNwYW4gY2xhc3M9XCJtcy0yXCI+R28gdG8gVHJheDwvc3Bhbj5cclxuICAgICAgICA8L2J1dHRvbj4gLS0+XHJcbiAgICAgICAgPC9kaXY+XHJcbiAgICA8L2Rpdj5cclxuICAgIDxkaXYgY2xhc3M9XCJjYXJkLWJvZHlcIj5cclxuICAgICAgICA8ZGl2IGNsYXNzPVwicm93XCI+XHJcbiAgICAgICAgICAgIDxkaXYgY2xhc3M9XCJjb2wtbWQtMyB0ZXh0LWNlbnRlciBtYi0zXCI+XHJcbiAgICAgICAgICAgICAgICA8ZGl2IGNsYXNzPVwicm93XCI+XHJcbiAgICAgICAgICAgICAgICAgICAgPGRpdiBjbGFzcz1cImNvbC1tZC0xMlwiPjwhLS17e2dldENhcmREYXRhPy5yZXZlbnVlPy52YWx1ZSA/PyAnLS0nfX0gLS0+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgIDxkaXYgY2xhc3M9XCJteS0yXCI+IDxzcGFuIGNsYXNzPVwibGVmdC1jYXJkLWNvdW50LXRpdGxlXCI+e3tzdG9yZU9wZXJhdGlvbkRhdGE/Lm92ZXJhbGw/LmF2Z09wZW5UaW1lXHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgP3N0b3JlT3BlcmF0aW9uRGF0YT8ub3ZlcmFsbD8uYXZnT3BlblRpbWU6Jy0tJyB9fTwvc3Bhbj48L2Rpdj5cclxuICAgICAgICAgICAgICAgICAgICAgICAgPGRpdiBjbGFzcz1cIlwiPjxzcGFuIGNsYXNzPVwic3ViLWhlYWRlclwiPkF2Zy4gT3BlbiBUaW1lPC9zcGFuPjwvZGl2PlxyXG4gICAgICAgICAgICAgICAgICAgIDwvZGl2PlxyXG4gICAgXHJcbiAgICAgICAgICAgICAgICA8L2Rpdj5cclxuICAgICAgICAgICAgPC9kaXY+XHJcbiAgICAgICAgICAgIDxkaXYgY2xhc3M9XCJjb2wtbWQtNiBtdC01IG1iLTNcIj5cclxuICAgICAgICAgICAgICAgIDxzdmcgd2lkdGg9XCIzMjZcIiBoZWlnaHQ9XCIyXCIgdmlld0JveD1cIjAgMCAzMjYgMlwiIGZpbGw9XCJub25lXCIgeG1sbnM9XCJodHRwOi8vd3d3LnczLm9yZy8yMDAwL3N2Z1wiPlxyXG4gICAgICAgICAgICAgICAgICAgIDxsaW5lIHkxPVwiMC43NVwiIHgyPVwiMzU2XCIgeTI9XCIwLjc1XCIgc3Ryb2tlPVwiI0QwRDVERFwiIC8+XHJcbiAgICAgICAgICAgICAgICA8L3N2Zz5cclxuICAgICAgICAgICAgPC9kaXY+XHJcbiAgICAgICAgICAgIDxkaXYgY2xhc3M9XCJjb2wtbWQtMyB0ZXh0LWNlbnRlciBtYi0zXCI+XHJcbiAgICAgICAgICAgICAgICA8ZGl2IGNsYXNzPVwicm93XCI+XHJcbiAgICAgICAgICAgICAgICAgICAgPGRpdiBjbGFzcz1cImNvbC1tZC0xMlwiPjwhLS17e2dldENhcmREYXRhPy5yZXZlbnVlPy52YWx1ZSA/PyAnLS0nfX0gLS0+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgIDxkaXYgY2xhc3M9XCJteS0yXCI+IDxzcGFuIGNsYXNzPVwibGVmdC1jYXJkLWNvdW50LXRpdGxlXCI+e3tzdG9yZU9wZXJhdGlvbkRhdGE/Lm92ZXJhbGw/LmF2Z0Nsb3NlVGltZVxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgID9zdG9yZU9wZXJhdGlvbkRhdGE/Lm92ZXJhbGw/LmF2Z0Nsb3NlVGltZTonLS0nIH19PC9zcGFuPjwvZGl2PlxyXG4gICAgICAgICAgICAgICAgICAgICAgICA8ZGl2IGNsYXNzPVwiXCI+PHNwYW4gY2xhc3M9XCJzdWItaGVhZGVyXCI+QXZnLiBDbG9zZSBUaW1lPC9zcGFuPjwvZGl2PlxyXG4gICAgICAgICAgICAgICAgICAgIDwvZGl2PlxyXG4gICAgXHJcbiAgICAgICAgICAgICAgICA8L2Rpdj5cclxuICAgICAgICAgICAgPC9kaXY+XHJcbiAgICAgICAgICAgIDxkaXYgY2xhc3M9XCJjb2wtbWQtNiBtdC0zXCI+XHJcbiAgICAgICAgICAgICAgICA8ZGl2IGNsYXNzPVwiY2FyZCBjYXJkLWJvcmRlciBoLTEwMFwiPlxyXG4gICAgICAgICAgICAgICAgICAgIDxkaXYgY2xhc3M9XCJjYXJkLWhlYWRlciBlbGxpcHNlMSBib3JkZXItMCBweC0zXCI+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgIDxoMyBjbGFzcz1cImNhcmQtdGl0bGUgYWxpZ24taXRlbXMtc3RhcnQgZmxleC1jb2x1bW4gXCI+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICA8c3BhbiBjbGFzcz1cImxlZnQtY2FyZC1jb3VudC1oZWFkZXIxIHRleHQtZGVjb3JhdGlvbi11bmRlcmxpbmUgY3Vyc29yLXBvaW50ZXJcIiAgKGNsaWNrKT1cInN0b3JlVmlldyhzdG9yZU9wZXJhdGlvbkRhdGE/LnRvcExhdGVPcGVuPy5zdG9yZUlkKVwiPnt7c3RvcmVPcGVyYXRpb25EYXRhPy50b3BMYXRlT3Blbj8uc3RvcmVOYW1lID9cclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBzdG9yZU9wZXJhdGlvbkRhdGE/LnRvcExhdGVPcGVuPy5zdG9yZU5hbWUgOictLSd9fTwvc3Bhbj5cclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxzcGFuIGNsYXNzPVwic3ViLWhlYWRlciBtdC0yXCI+VG9wIExhdGUgT3Blbjwvc3Bhbj5cclxuICAgICAgICAgICAgICAgICAgICAgICAgPC9oMz5cclxuICAgICAgICAgICAgICAgICAgICA8L2Rpdj5cclxuICAgICAgICAgICAgICAgICAgICA8ZGl2IGNsYXNzPVwiY2FyZC1ib2R5IHAtMCBoLTc1cHggbXQtMyBteC0zXCI+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgIDxkaXYgY2xhc3M9XCJyb3dcIj5cclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxkaXYgY2xhc3M9XCJjb2wtbWQtMTJcIj48IS0te3tnZXRDYXJkRGF0YT8ucmV2ZW51ZT8udmFsdWUgPz8gJy0tJ319IC0tPlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxkaXYgY2xhc3M9XCJteS0xXCI+IDxzcGFuXHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBjbGFzcz1cImxlZnQtY2FyZC1jb3VudC1oZWFkZXIxXCI+e3tzdG9yZU9wZXJhdGlvbkRhdGE/LnRvcExhdGVPcGVuPy5hdmdTdG9yZU9wZW5UaW1lXHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA/c3RvcmVPcGVyYXRpb25EYXRhPy50b3BMYXRlT3Blbj8uYXZnU3RvcmVPcGVuVGltZTonLS0nIH19PC9zcGFuPjwvZGl2PlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxzcGFuIGNsYXNzPVwic3ViLWhlYWRlclwiPkF2Zy4gU3RvcmUgT3BlbmluZyBUaW1lPC9zcGFuPlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgPC9kaXY+XHJcbiAgICBcclxuICAgICAgICAgICAgICAgICAgICAgICAgPC9kaXY+XHJcbiAgICAgICAgICAgICAgICAgICAgPC9kaXY+XHJcbiAgICBcclxuICAgICAgICAgICAgICAgIDwvZGl2PlxyXG4gICAgICAgICAgICA8L2Rpdj5cclxuICAgICAgICAgICAgPGRpdiBjbGFzcz1cImNvbC1tZC02IG10LTNcIj5cclxuICAgICAgICAgICAgICAgIDxkaXYgY2xhc3M9XCJjYXJkIGNhcmQtYm9yZGVyIGgtMTAwXCI+XHJcbiAgICAgICAgICAgICAgICAgICAgPGRpdiBjbGFzcz1cImNhcmQtaGVhZGVyIGVsbGlwc2UxIGJvcmRlci0wIHB4LTNcIj5cclxuICAgICAgICAgICAgICAgICAgICAgICAgPGgzIGNsYXNzPVwiY2FyZC10aXRsZSBhbGlnbi1pdGVtcy1zdGFydCBmbGV4LWNvbHVtbiBcIj5cclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxzcGFuIGNsYXNzPVwibGVmdC1jYXJkLWNvdW50LWhlYWRlcjEgdGV4dC1kZWNvcmF0aW9uLXVuZGVybGluZSBjdXJzb3ItcG9pbnRlclwiIChjbGljayk9XCJzdG9yZVZpZXcoc3RvcmVPcGVyYXRpb25EYXRhPy50b3BFYXJseUNsb3NlPy5zdG9yZUlkKVwiPnt7c3RvcmVPcGVyYXRpb25EYXRhPy50b3BFYXJseUNsb3NlPy5zdG9yZU5hbWUgP1xyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHN0b3JlT3BlcmF0aW9uRGF0YT8udG9wRWFybHlDbG9zZT8uc3RvcmVOYW1lIDonLS0nfX08L3NwYW4+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICA8c3BhbiBjbGFzcz1cInN1Yi1oZWFkZXIgbXQtMlwiPlRvcCBFYXJseSBDbG9zZTwvc3Bhbj5cclxuICAgICAgICAgICAgICAgICAgICAgICAgPC9oMz5cclxuICAgICAgICAgICAgICAgICAgICA8L2Rpdj5cclxuICAgICAgICAgICAgICAgICAgICA8ZGl2IGNsYXNzPVwiY2FyZC1ib2R5IHAtMCBoLTc1cHggbXQtMyBteC0zXCI+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgIDxkaXYgY2xhc3M9XCJyb3dcIj5cclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxkaXYgY2xhc3M9XCJjb2wtbWQtMTJcIj48IS0te3tnZXRDYXJkRGF0YT8ucmV2ZW51ZT8udmFsdWUgPz8gJy0tJ319IC0tPlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxkaXYgY2xhc3M9XCJteS0xXCI+IDxzcGFuXHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBjbGFzcz1cImxlZnQtY2FyZC1jb3VudC1oZWFkZXIxXCI+e3tzdG9yZU9wZXJhdGlvbkRhdGE/LnRvcEVhcmx5Q2xvc2U/LmF2Z1N0b3JlQ2xvc2VUaW1lXHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA/c3RvcmVPcGVyYXRpb25EYXRhPy50b3BFYXJseUNsb3NlPy5hdmdTdG9yZUNsb3NlVGltZTonLS0nIH19PC9zcGFuPjwvZGl2PlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxzcGFuIGNsYXNzPVwic3ViLWhlYWRlclwiPkF2Zy4gU3RvcmUgQ2xvc2luZyBUaW1lPC9zcGFuPlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgPC9kaXY+XHJcbiAgICBcclxuICAgICAgICAgICAgICAgICAgICAgICAgPC9kaXY+XHJcbiAgICAgICAgICAgICAgICAgICAgPC9kaXY+XHJcbiAgICAgICAgICAgICAgICA8L2Rpdj5cclxuICAgICAgICAgICAgPC9kaXY+XHJcbiAgICAgICAgPC9kaXY+XHJcbiAgICA8L2Rpdj5cclxuICAgICAgICA8L2Rpdj5cclxuICAgIDwvZGl2PlxyXG4gICAgPGRpdiAqbmdJZj1cInN0b3JlSWRhcnJheVswXSAhPT0nNDU5LTInXCIgY2xhc3M9XCJjb2wtbWQtMTIgbXQtM1wiPlxyXG4gICAgICAgIDxkaXYgY2xhc3M9XCJjYXJkIG1iLTVcIj5cclxuICAgICAgICAgICAgPGRpdiBjbGFzcz1cImNhcmQtaGVhZGVyIGJvcmRlci0wIHB0LTNcIj5cclxuICAgICAgICAgICAgICAgIDxoMyBjbGFzcz1cImNhcmQtdGl0bGUgYWxpZ24taXRlbXMtc3RhcnQgZmxleC1jb2x1bW5cIj5cclxuICAgICAgICAgICAgICAgICAgICA8c3BhbiBjbGFzcz1cInRpdGxlLXRleHQgbWItMlwiPlN1bW1hcnkgVGFibGU8L3NwYW4+XHJcbiAgICAgICAgICAgICAgICAgICAgPHNwYW4gY2xhc3M9XCJ0ZXh0LXN1YiBtYi0yXCI+e3toZWFkZXJEYXRhPy5kYXRlPy5zdGFydERhdGUgfCBkYXRlOidkZCBNTU0sIHl5eXknfX0g4oCTIHt7aGVhZGVyRGF0YT8uZGF0ZT8uZW5kRGF0ZSB8IGRhdGU6J2RkIE1NTSwgeXl5eSd9fTwvc3Bhbj5cclxuICAgICAgICAgICAgICAgIDwvaDM+XHJcbiAgICAgICAgICAgICAgICA8ZGl2IGNsYXNzPVwiY2FyZC10b29sYmFyXCI+XHJcbiAgICAgICAgICAgICAgICAgICAgPGRpdiBjbGFzcz1cImQtZmxleFwiPlxyXG4gICAgICAgICAgICAgICAgICAgICAgICA8ZGl2IGNsYXNzPVwiZC1mbGV4IGFsaWduLWl0ZW1zLWNlbnRlciBwb3NpdGlvbi1yZWxhdGl2ZSBteS0xXCI+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICA8c3BhbiBjbGFzcz1cInN2Zy1pY29uIHN2Zy1pY29uLTEgcG9zaXRpb24tYWJzb2x1dGUgbXMtM1wiPlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxzdmcgeG1sbnM9XCJodHRwOi8vd3d3LnczLm9yZy8yMDAwL3N2Z1wiIHdpZHRoPVwiMjRcIiBoZWlnaHQ9XCIyNFwiIHZpZXdCb3g9XCIwIDAgMjQgMjRcIlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBmaWxsPVwibm9uZVwiPlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8cmVjdCBvcGFjaXR5PVwiMC41XCIgeD1cIjE3LjAzNjVcIiB5PVwiMTUuMTIyM1wiIHdpZHRoPVwiOC4xNTU0NlwiIGhlaWdodD1cIjJcIiByeD1cIjFcIlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgdHJhbnNmb3JtPVwicm90YXRlKDQ1IDE3LjAzNjUgMTUuMTIyMylcIiBmaWxsPVwiY3VycmVudENvbG9yXCI+PC9yZWN0PlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8cGF0aFxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgZD1cIk0xMSAxOUM2LjU1NTU2IDE5IDMgMTUuNDQ0NCAzIDExQzMgNi41NTU1NiA2LjU1NTU2IDMgMTEgM0MxNS40NDQ0IDMgMTkgNi41NTU1NiAxOSAxMUMxOSAxNS40NDQ0IDE1LjQ0NDQgMTkgMTEgMTlaTTExIDVDNy41MzMzMyA1IDUgNy41MzMzMyA1IDExQzUgMTQuNDY2NyA3LjUzMzMzIDE3IDExIDE3QzE0LjQ2NjcgMTcgMTcgMTQuNDY2NyAxNyAxMUMxNyA3LjUzMzMzIDE0LjQ2NjcgNSAxMSA1WlwiXHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBmaWxsPVwiY3VycmVudENvbG9yXCI+PC9wYXRoPlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvc3ZnPlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgPC9zcGFuPlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgPGlucHV0IChjaGFuZ2UpPVwic2VhcmNoRGF0YSgpXCIgWyhuZ01vZGVsKV09XCJzZWFyY2hWYWx1ZVwiIHR5cGU9XCJ0ZXh0XCIgY2xhc3M9XCJmb3JtLWNvbnRyb2wgcHMtMTQgbWUtMlwiIGF1dG9jb21wbGV0ZT1cIm9mZlwiIHBsYWNlaG9sZGVyPVwiU2VhcmNoXCIgLz5cclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwhLS0gZmlsdGVyIFN0YXJ0IC0tPlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgPCEtLSA8bGliLWZpbHRlcnMgW2RhdGFPYmplY3RdPVwiZGF0YU9iamVjdFwiIChhcHBsaWVkRmlsdGVycyk9XCJhcHBseUZpbHRlcnMoJGV2ZW50KVwiPjwvbGliLWZpbHRlcnM+IC0tPlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgPCEtLSBmaWx0ZXIgRW5kIC0tPlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgPCEtLSBTdW0gQnV0dG9uIC0tPlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgPHNlY3Rpb24gKm5nSWY9XCIoc3RvcmVJZGFycmF5Py5sZW5ndGggPiAxICYmIGhlYWRlckRhdGE/LmRhdGU/LnN0YXJ0RGF0ZSAhPT0gaGVhZGVyRGF0YT8uZGF0ZT8uZW5kRGF0ZSkgJiYgIW5vRGF0YSAmJiAhbG9hZGluZ1wiPlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgPGJ1dHRvbiB0eXBlPVwiYnV0dG9uXCIgKGNsaWNrKT1cIm9uVmFsdWVUeXBlKCdzdW0nKVwiXHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGNsYXNzPVwiYnRuIGJ0bi1kZWZhdWx0IG14LTIgYnRuLW91dGxpbmUgYnRuLW91dGxpbmUtZGVmYXVsdCByb3VuZGVkLTMgdGV4dC1ub3dyYXAgYm9yZGVyLXZhbFwiXHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIFtuZ0NsYXNzXT1cInsnYnRuLWxpZ2h0IGJ0bi1wcmltYXJ5IHRleHQtd2hpdGUnOiB0eXBlVmFsdWUgPT09ICdzdW0nfVwiPlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8c3ZnIHhtbG5zPVwiaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmdcIiB3aWR0aD1cIjIwXCIgaGVpZ2h0PVwiMjBcIiB2aWV3Qm94PVwiMCAwIDIwIDIwXCIgZmlsbD1cIm5vbmVcIlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIFtuZ1N0eWxlXT1cInsnc3Ryb2tlJzogdHlwZVZhbHVlID09PSAnc3VtJyA/ICcjRkZGRkZGJyA6ICcjMzQ0MDU0J31cIj5cclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8cGF0aCBkPVwiTTkuOTk5MzUgNC4xNjY3NVYxNS44MzM0TTQuMTY2MDIgMTAuMDAwMUgxNS44MzI3XCIgc3Ryb2tlLXdpZHRoPVwiMS42N1wiIHN0cm9rZS1saW5lY2FwPVwicm91bmRcIlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgc3Ryb2tlLWxpbmVqb2luPVwicm91bmRcIiAvPlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8L3N2Zz5cclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPHNwYW4gY2xhc3M9XCJtcy0yXCIgW25nQ2xhc3NdPVwieyd0ZXh0LXdoaXRlJzogdHlwZVZhbHVlID09PSAnc3VtJ31cIj5TdW08L3NwYW4+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICA8L2J1dHRvbj5cclxuICAgICAgICAgICAgICAgICAgICAgICAgICA8L3NlY3Rpb24+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgXHJcbjwhLS0gQXZlcmFnZSBCdXR0b24gLS0+XHJcbiA8c2VjdGlvbiAqbmdJZj1cIihzdG9yZUlkYXJyYXk/Lmxlbmd0aCA+IDEgJiYgaGVhZGVyRGF0YT8uZGF0ZT8uc3RhcnREYXRlICE9PSBoZWFkZXJEYXRhPy5kYXRlPy5lbmREYXRlKSBcclxuICYmICFub0RhdGEgJiYgIWxvYWRpbmdcIj5cclxuPGJ1dHRvbiB0eXBlPVwiYnV0dG9uXCIgKGNsaWNrKT1cIm9uVmFsdWVUeXBlKCdhdmVyYWdlJylcIlxyXG5jbGFzcz1cImJ0biBidG4tZGVmYXVsdCBteC0yIGJ0bi1vdXRsaW5lIGJ0bi1vdXRsaW5lLWRlZmF1bHQgcm91bmRlZC0zIHRleHQtbm93cmFwIGJvcmRlci12YWxcIlxyXG5bbmdDbGFzc109XCJ7J2J0bi1saWdodCBidG4tcHJpbWFyeSB0ZXh0LXdoaXRlJzogdHlwZVZhbHVlID09PSAnYXZlcmFnZSd9XCI+XHJcbjxzdmcgd2lkdGg9XCIyMFwiIGhlaWdodD1cIjIwXCIgdmlld0JveD1cIjAgMCAyMCAyMFwiIGZpbGw9XCJub25lXCIgeG1sbnM9XCJodHRwOi8vd3d3LnczLm9yZy8yMDAwL3N2Z1wiXHJcbiAgW25nU3R5bGVdPVwieydzdHJva2UnOiB0eXBlVmFsdWUgPT09ICdhdmVyYWdlJyA/ICcjRkZGRkZGJyA6ICcjMTAxODI4J31cIj5cclxuICA8cGF0aCBkPVwiTTE3LjUgMTcuNUg4LjMzMzMzQzUuNTgzMzMgMTcuNSA0LjIwODMzIDE3LjUgMy4zNTQxNyAxNi42NDU4QzIuNSAxNS43OTE3IDIuNSAxNC40MTY3IDIuNSAxMS42NjY3VjIuNU01IDEwSDUuMDA3NU03LjQ5OTE3IDEwSDcuNTA1ODNNOS45OTc1IDEwSDEwLjAwNDJNMTIuNDk1OCAxMEgxMi41MDMzTTE0Ljk5NDIgMTBIMTUuMDAxN00xNy40OTI1IDEwSDE3LjVcIlxyXG4gICAgc3Ryb2tlLXdpZHRoPVwiMS41XCIgc3Ryb2tlLWxpbmVjYXA9XCJyb3VuZFwiIHN0cm9rZS1saW5lam9pbj1cInJvdW5kXCIgLz5cclxuICA8cGF0aFxyXG4gICAgZD1cIk01IDUuODMzNDFDNS41NjA4MyA0Ljg5ODQxIDYuMzIyNSA0LjE2Njc1IDcuNDk0MTcgNC4xNjY3NUMxMi40NDY3IDQuMTY2NzUgOS42NjI1IDE0LjE2NjcgMTQuOTg1IDE0LjE2NjdDMTYuMTY1IDE0LjE2NjcgMTYuOTIxNyAxMy40MzAxIDE3LjUgMTIuNTAwMVwiXHJcbiAgICBzdHJva2Utd2lkdGg9XCIxLjVcIiBzdHJva2UtbGluZWNhcD1cInJvdW5kXCIgc3Ryb2tlLWxpbmVqb2luPVwicm91bmRcIiAvPlxyXG48L3N2Zz5cclxuPHNwYW4gY2xhc3M9XCJtcy0yXCIgW25nQ2xhc3NdPVwieyd0ZXh0LXdoaXRlJzogdHlwZVZhbHVlID09PSAnYXZlcmFnZSd9XCI+QXZlcmFnZTwvc3Bhbj5cclxuPC9idXR0b24+XHJcbjwvc2VjdGlvbj5cclxuICAgICAgICAgICAgICAgICAgICAgICAgICBcclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxidXR0b24gKm5nSWY9XCIhbm9EYXRhICYmICFsb2FkaW5nXCIgdHlwZT1cImJ1dHRvblwiIChjbGljayk9XCJleHBvcnRYTFNYKClcIlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGNsYXNzPVwiYnRuIGJ0bi1kZWZhdWx0IG14LTIgYnRuLW91dGxpbmUgYnRuLW91dGxpbmUtZGVmYXVsdCByb3VuZGVkLTMgdGV4dC1ub3dyYXAgYm9yZGVyLXZhbFwiPjxzdmdcclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgeG1sbnM9XCJodHRwOi8vd3d3LnczLm9yZy8yMDAwL3N2Z1wiIHdpZHRoPVwiMjBcIiBoZWlnaHQ9XCIyMFwiIHZpZXdCb3g9XCIwIDAgMjAgMjBcIlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBmaWxsPVwibm9uZVwiPlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8cGF0aFxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgZD1cIk0xNy41IDEyLjVWMTUuODMzM0MxNy41IDE2LjI3NTQgMTcuMzI0NCAxNi42OTkzIDE3LjAxMTggMTcuMDExOEMxNi42OTkzIDE3LjMyNDQgMTYuMjc1NCAxNy41IDE1LjgzMzMgMTcuNUg0LjE2NjY3QzMuNzI0NjQgMTcuNSAzLjMwMDcyIDE3LjMyNDQgMi45ODgxNiAxNy4wMTE4QzIuNjc1NTkgMTYuNjk5MyAyLjUgMTYuMjc1NCAyLjUgMTUuODMzM1YxMi41TTE0LjE2NjcgNi42NjY2N0wxMCAyLjVNMTAgMi41TDUuODMzMzMgNi42NjY2N00xMCAyLjVWMTIuNVwiXHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBzdHJva2U9XCIjMzQ0MDU0XCIgc3Ryb2tlLXdpZHRoPVwiMS42N1wiIHN0cm9rZS1saW5lY2FwPVwicm91bmRcIlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgc3Ryb2tlLWxpbmVqb2luPVwicm91bmRcIiAvPlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvc3ZnPjxzcGFuIGNsYXNzPVwibXMtMlwiPkV4cG9ydDwvc3Bhbj4gPC9idXR0b24+XHJcbiAgICBcclxuICAgICAgICAgICAgICAgICAgICAgICAgPC9kaXY+XHJcbiAgICAgICAgICAgICAgICAgICAgPC9kaXY+XHJcbiAgICAgICAgICAgICAgICA8L2Rpdj5cclxuICAgICAgICAgICAgPC9kaXY+XHJcbiAgICAgICAgICAgIDxkaXYgKm5nSWY9XCJsb2FkaW5nXCIgY2xhc3M9XCJyb3cgbG9hZGVyICBkLWZsZXgganVzdGlmeS1jb250ZW50LWNlbnRlciBhbGlnbi1pdGVtcy1jZW50ZXJcIj5cclxuICAgICAgICAgICAgICAgIDxkaXYgY2xhc3M9XCJzaGltbWVyXCI+XHJcbiAgICAgICAgICAgICAgICAgICAgPGRpdiBjbGFzcz1cIndyYXBwZXJcIj5cclxuICAgICAgICAgICAgICAgICAgICAgICAgPGRpdiBjbGFzcz1cInN0cm9rZSBhbmltYXRlIHRpdGxlXCI+PC9kaXY+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgIDxkaXYgY2xhc3M9XCJzdHJva2UgYW5pbWF0ZSBsaW5rXCI+PC9kaXY+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgIDxkaXYgY2xhc3M9XCJzdHJva2UgYW5pbWF0ZSBkZXNjcmlwdGlvblwiPjwvZGl2PlxyXG4gICAgICAgICAgICAgICAgICAgIDwvZGl2PlxyXG4gICAgICAgICAgICAgICAgPC9kaXY+XHJcbiAgICAgICAgICAgICAgICA8ZGl2IGNsYXNzPVwic2hpbW1lclwiPlxyXG4gICAgICAgICAgICAgICAgICAgIDxkaXYgY2xhc3M9XCJ3cmFwcGVyXCI+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgIDxkaXYgY2xhc3M9XCJzdHJva2UgYW5pbWF0ZSB0aXRsZVwiPjwvZGl2PlxyXG4gICAgICAgICAgICAgICAgICAgICAgICA8ZGl2IGNsYXNzPVwic3Ryb2tlIGFuaW1hdGUgbGlua1wiPjwvZGl2PlxyXG4gICAgICAgICAgICAgICAgICAgICAgICA8ZGl2IGNsYXNzPVwic3Ryb2tlIGFuaW1hdGUgZGVzY3JpcHRpb25cIj48L2Rpdj5cclxuICAgICAgICAgICAgICAgICAgICA8L2Rpdj5cclxuICAgICAgICAgICAgICAgIDwvZGl2PlxyXG4gICAgICAgICAgICA8L2Rpdj5cclxuICAgICAgICAgICAgPGRpdiAqbmdJZj1cIm5vRGF0YVwiIGNsYXNzPVwicm93XCI+XHJcbiAgICAgICAgICAgICAgICA8ZGl2IGNsYXNzPVwiY29sLWxnLTEyIG1iLTNcIj5cclxuICAgICAgICAgICAgICAgICAgICA8ZGl2IGNsYXNzPVwiY2FyZC1ib2R5IGQtZmxleCBqdXN0aWZ5LWNvbnRlbnQtY2VudGVyIGFsaWduLWl0ZW1zLWNlbnRlciBmbGV4LWNvbHVtblwiPlxyXG4gICAgICAgICAgICAgICAgICAgICAgICA8aW1nIGNsYXNzPVwiaW1nLW5vZGF0YS10YWJsZVwiIHNyYz1cIi4vYXNzZXRzL3RhbmdvL0ljb25zL05vZGF0YTEuc3ZnXCIgYWx0PVwiXCI+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgIDxkaXYgY2xhc3M9XCJub2RhdGEtdGl0bGVcIj5ObyBkYXRhIGZvdW5kPC9kaXY+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgIDxkaXYgY2xhc3M9XCJub2RhdGEtc3ViXCI+VGhlcmUgaXMgbm8gcmVzdWx0IGZvciB0aGlzIHN1bW1hcnkgdGFibGU8L2Rpdj5cclxuICAgICAgICAgICAgICAgICAgICA8L2Rpdj5cclxuICAgICAgICAgICAgICAgIDwvZGl2PlxyXG4gICAgICAgICAgICA8L2Rpdj5cclxuICAgICAgICAgICAgPGRpdiAqbmdJZj1cIiFub0RhdGEgJiYgIWxvYWRpbmdcIiBjYWxzcz1cImNhcmQtYm9keVwiPlxyXG4gICAgICAgICAgICAgICAgPGRpdiBjbGFzcz1cInRhYmxlLXJlc3BvbnNpdmVcIj5cclxuICAgICAgICAgICAgICAgICAgICA8dGFibGUgY2xhc3M9XCJ3LTEwMCB0YWJsZSBib3R0b20tYm9yZGVyIHRleHQtbm93cmFwXCI+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgIDx0aGVhZD5cclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIDx0cj5cclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8dGggY2xhc3M9XCJjdXJzb3ItcG9pbnRlclwiPlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8c3BhbiBjbGFzcz1cImN1cnNvci1wb2ludGVyXCIgKGNsaWNrKT1cIm9uU29ydCgnc3RvcmVOYW1lJylcIj5TdG9yZSBOYW1lIDxzdmcgXHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBbbmdDbGFzc109XCJzb3J0ZWRDb2x1bW4gPT09ICdzdG9yZU5hbWUnICYmIHNvcnREaXJlY3Rpb24gPT09IDEgPyAncm90YXRlJyA6ICcnXCIgd2lkdGg9XCIxNlwiIGhlaWdodD1cIjE2XCIgdmlld0JveD1cIjAgMCAxNiAxNlwiXHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgZmlsbD1cIm5vbmVcIj5cclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8cGF0aFxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBkPVwiTTguMDAwMTYgMy4zMzMzN1YxMi42NjY3TTguMDAwMTYgMTIuNjY2N0wxMi42NjY4IDguMDAwMDRNOC4wMDAxNiAxMi42NjY3TDMuMzMzNSA4LjAwMDA0XCJcclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgW2F0dHIuc3Ryb2tlXT1cInNvcnRlZENvbHVtbiA9PT0gJ3N0b3JlTmFtZScgPyAnIzAwQTNGRicgOiAnIzY2NzA4NSdcIlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBzdHJva2Utd2lkdGg9XCIxLjMzMzMzXCIgc3Ryb2tlLWxpbmVjYXA9XCJyb3VuZFwiIHN0cm9rZS1saW5lam9pbj1cInJvdW5kXCIgLz5cclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvc3ZnPjwvc3Bhbj5cclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8L3RoPlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDx0aCBjbGFzcz1cImN1cnNvci1wb2ludGVyXCI+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxzcGFuIGNsYXNzPVwiY3Vyc29yLXBvaW50ZXJcIiAoY2xpY2spPVwib25Tb3J0KCdzdG9yZUlkJylcIj5TdG9yZSBJRCA8c3ZnICBbbmdDbGFzc109XCJzb3J0ZWRDb2x1bW4gPT09ICdzdG9yZUlkJyAmJiBzb3J0RGlyZWN0aW9uID09PSAxID8gJ3JvdGF0ZScgOiAnJ1wiIHdpZHRoPVwiMTZcIiBoZWlnaHQ9XCIxNlwiIHZpZXdCb3g9XCIwIDAgMTYgMTZcIlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGZpbGw9XCJub25lXCI+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPHBhdGhcclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgZD1cIk04LjAwMDE2IDMuMzMzMzdWMTIuNjY2N004LjAwMDE2IDEyLjY2NjdMMTIuNjY2OCA4LjAwMDA0TTguMDAwMTYgMTIuNjY2N0wzLjMzMzUgOC4wMDAwNFwiXHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIFthdHRyLnN0cm9rZV09XCJzb3J0ZWRDb2x1bW4gPT09ICdzdG9yZUlkJyA/ICcjMDBBM0ZGJyA6ICcjNjY3MDg1J1wiXHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHN0cm9rZS13aWR0aD1cIjEuMzMzMzNcIiBzdHJva2UtbGluZWNhcD1cInJvdW5kXCIgc3Ryb2tlLWxpbmVqb2luPVwicm91bmRcIiAvPlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPC9zdmc+PC9zcGFuPlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvdGg+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPHRoICpuZ0lmPVwic3RvcmVJZGFycmF5Py5sZW5ndGggPT09IDFcIiBjbGFzcz1cImN1cnNvci1wb2ludGVyXCI+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxzcGFuIGNsYXNzPVwiY3Vyc29yLXBvaW50ZXJcIiAoY2xpY2spPVwib25Tb3J0KCdkYXRlJylcIj5EYXRlIDxzdmcgW25nQ2xhc3NdPVwic29ydGVkQ29sdW1uID09PSAnZGF0ZScgJiYgc29ydERpcmVjdGlvbiA9PT0gMSA/ICdyb3RhdGUnIDogJydcIiB3aWR0aD1cIjE2XCIgaGVpZ2h0PVwiMTZcIiB2aWV3Qm94PVwiMCAwIDE2IDE2XCJcclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBmaWxsPVwibm9uZVwiPlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxwYXRoXHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGQ9XCJNOC4wMDAxNiAzLjMzMzM3VjEyLjY2NjdNOC4wMDAxNiAxMi42NjY3TDEyLjY2NjggOC4wMDAwNE04LjAwMDE2IDEyLjY2NjdMMy4zMzM1IDguMDAwMDRcIlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBbYXR0ci5zdHJva2VdPVwic29ydGVkQ29sdW1uID09PSAnZGF0ZScgPyAnIzAwQTNGRicgOiAnIzY2NzA4NSdcIlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBzdHJva2Utd2lkdGg9XCIxLjMzMzMzXCIgc3Ryb2tlLWxpbmVjYXA9XCJyb3VuZFwiIHN0cm9rZS1saW5lam9pbj1cInJvdW5kXCIgLz5cclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvc3ZnPjwvc3Bhbj5cclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8L3RoPlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDx0aCBjbGFzcz1cImN1cnNvci1wb2ludGVyXCI+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxzcGFuIGNsYXNzPVwiY3Vyc29yLXBvaW50ZXJcIiAoY2xpY2spPVwib25Tb3J0KCdmb290ZmFsbENvdW50JylcIj5Gb290ZmFsbCA8c3ZnIFtuZ0NsYXNzXT1cInNvcnRlZENvbHVtbiA9PT0gJ2Zvb3RmYWxsQ291bnQnICYmIHNvcnREaXJlY3Rpb24gPT09IDEgPyAncm90YXRlJyA6ICcnXCIgd2lkdGg9XCIxNlwiIGhlaWdodD1cIjE2XCIgdmlld0JveD1cIjAgMCAxNiAxNlwiXHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgZmlsbD1cIm5vbmVcIj5cclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8cGF0aFxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBkPVwiTTguMDAwMTYgMy4zMzMzN1YxMi42NjY3TTguMDAwMTYgMTIuNjY2N0wxMi42NjY4IDguMDAwMDRNOC4wMDAxNiAxMi42NjY3TDMuMzMzNSA4LjAwMDA0XCJcclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgW2F0dHIuc3Ryb2tlXT1cInNvcnRlZENvbHVtbiA9PT0gJ2Zvb3RmYWxsQ291bnQnID8gJyMwMEEzRkYnIDogJyM2NjcwODUnXCJcclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgc3Ryb2tlLXdpZHRoPVwiMS4zMzMzM1wiIHN0cm9rZS1saW5lY2FwPVwicm91bmRcIiBzdHJva2UtbGluZWpvaW49XCJyb3VuZFwiIC8+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8L3N2Zz48L3NwYW4+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPC90aD5cclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8dGggY2xhc3M9XCJjdXJzb3ItcG9pbnRlclwiPlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8c3BhbiBjbGFzcz1cImN1cnNvci1wb2ludGVyXCIgKGNsaWNrKT1cIm9uU29ydCgnYm91bmNlZENvdW50JylcIj57e2hlYWRlckRhdGE/LmNsaWVudCA9PT0nNDUyJz8nTGVzcyB0aGFuICcrIHRoaXMuZmVhdHVyZUNvbmZpZz8uYm91bmNlZExpbWl0LnZhbHVlICsnIG1pbnMnOidCb3VuY2VkJ319IEZvb3RmYWxsPHN2ZyBbbmdDbGFzc109XCJzb3J0ZWRDb2x1bW4gPT09ICdib3VuY2VkQ291bnQnICYmIHNvcnREaXJlY3Rpb24gPT09IDEgPyAncm90YXRlJyA6ICcnXCIgd2lkdGg9XCIxNlwiIGhlaWdodD1cIjE2XCIgdmlld0JveD1cIjAgMCAxNiAxNlwiXHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgZmlsbD1cIm5vbmVcIj5cclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8cGF0aFxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBkPVwiTTguMDAwMTYgMy4zMzMzN1YxMi42NjY3TTguMDAwMTYgMTIuNjY2N0wxMi42NjY4IDguMDAwMDRNOC4wMDAxNiAxMi42NjY3TDMuMzMzNSA4LjAwMDA0XCJcclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgW2F0dHIuc3Ryb2tlXT1cInNvcnRlZENvbHVtbiA9PT0gJ2JvdW5jZWRDb3VudCcgPyAnIzAwQTNGRicgOiAnIzY2NzA4NSdcIlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBzdHJva2Utd2lkdGg9XCIxLjMzMzMzXCIgc3Ryb2tlLWxpbmVjYXA9XCJyb3VuZFwiIHN0cm9rZS1saW5lam9pbj1cInJvdW5kXCIgLz5cclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvc3ZnPjwvc3Bhbj5cclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8L3RoPlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDx0aCBjbGFzcz1cImN1cnNvci1wb2ludGVyXCI+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxzcGFuIGNsYXNzPVwiY3Vyc29yLXBvaW50ZXJcIiAoY2xpY2spPVwib25Tb3J0KCdlbmdhZ2Vyc0NvdW50JylcIj57e2hlYWRlckRhdGE/LmNsaWVudCA9PT0nNDUyJz8gJ01vcmUgdGhhbiAnKyBmZWF0dXJlQ29uZmlnPy5ib3VuY2VkTGltaXQudmFsdWUgKycgbWlucyc6J0VuZ2FnZXJzJ319IDxzdmcgW25nQ2xhc3NdPVwic29ydGVkQ29sdW1uID09PSAnZW5nYWdlcnNDb3VudCcgJiYgc29ydERpcmVjdGlvbiA9PT0gMSA/ICdyb3RhdGUnIDogJydcIiB3aWR0aD1cIjE2XCIgaGVpZ2h0PVwiMTZcIiB2aWV3Qm94PVwiMCAwIDE2IDE2XCJcclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBmaWxsPVwibm9uZVwiPiBcclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8cGF0aFxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBkPVwiTTguMDAwMTYgMy4zMzMzN1YxMi42NjY3TTguMDAwMTYgMTIuNjY2N0wxMi42NjY4IDguMDAwMDRNOC4wMDAxNiAxMi42NjY3TDMuMzMzNSA4LjAwMDA0XCJcclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgW2F0dHIuc3Ryb2tlXT1cInNvcnRlZENvbHVtbiA9PT0gJ2VuZ2FnZXJzQ291bnQnID8gJyMwMEEzRkYnIDogJyM2NjcwODUnXCJcclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgc3Ryb2tlLXdpZHRoPVwiMS4zMzMzM1wiIHN0cm9rZS1saW5lY2FwPVwicm91bmRcIiBzdHJva2UtbGluZWpvaW49XCJyb3VuZFwiIC8+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8L3N2Zz48L3NwYW4+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPC90aD5cclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8dGggY2xhc3M9XCJjdXJzb3ItcG9pbnRlclwiPlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8c3BhbiBjbGFzcz1cImN1cnNvci1wb2ludGVyXCIgKGNsaWNrKT1cIm9uU29ydCgnbWlzc2VkT3Bwb3J0dW5pdHlDb3VudCcpXCI+e3toZWFkZXJEYXRhPy5jbGllbnQgPT09JzQ1Mic/IGZlYXR1cmVDb25maWc/Lm1pc3NlZE9wcG9ydHVuaXR5RnJvbS52YWx1ZSArICcgLSAnICtmZWF0dXJlQ29uZmlnPy5taXNzZWRPcHBvcnR1bml0eVRvLnZhbHVlICsnIG1pbnMnOidNaXNzZWQgT3Bwb3J0dW5pdHknfX08c3ZnIFtuZ0NsYXNzXT1cInNvcnRlZENvbHVtbiA9PT0gJ21pc3NlZE9wcG9ydHVuaXR5Q291bnQnICYmIHNvcnREaXJlY3Rpb24gPT09IDEgPyAncm90YXRlJyA6ICcnXCIgd2lkdGg9XCIxNlwiIGhlaWdodD1cIjE2XCJcclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB2aWV3Qm94PVwiMCAwIDE2IDE2XCIgZmlsbD1cIm5vbmVcIj5cclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8cGF0aFxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBkPVwiTTguMDAwMTYgMy4zMzMzN1YxMi42NjY3TTguMDAwMTYgMTIuNjY2N0wxMi42NjY4IDguMDAwMDRNOC4wMDAxNiAxMi42NjY3TDMuMzMzNSA4LjAwMDA0XCJcclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgW2F0dHIuc3Ryb2tlXT1cInNvcnRlZENvbHVtbiA9PT0gJ21pc3NlZE9wcG9ydHVuaXR5Q291bnQnID8gJyMwMEEzRkYnIDogJyM2NjcwODUnXCJcclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgc3Ryb2tlLXdpZHRoPVwiMS4zMzMzM1wiIHN0cm9rZS1saW5lY2FwPVwicm91bmRcIiBzdHJva2UtbGluZWpvaW49XCJyb3VuZFwiIC8+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8L3N2Zz48L3NwYW4+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPC90aD5cclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8dGggKm5nSWY9XCJoZWFkZXJEYXRhPy5jbGllbnQgIT09JzQ1MidcIiBjbGFzcz1cImN1cnNvci1wb2ludGVyXCI+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxzcGFuIGNsYXNzPVwiY3Vyc29yLXBvaW50ZXJcIiAoY2xpY2spPVwib25Tb3J0KCdwb3RlbnRpYWxCdXllcnNDb3VudCcpXCI+UG90ZW50aWFsIEJ1eWVycyA8c3ZnIFtuZ0NsYXNzXT1cInNvcnRlZENvbHVtbiA9PT0gJ3BvdGVudGlhbEJ1eWVyc0NvdW50JyAmJiBzb3J0RGlyZWN0aW9uID09PSAxID8gJ3JvdGF0ZScgOiAnJ1wiIHdpZHRoPVwiMTZcIiBoZWlnaHQ9XCIxNlwiXHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgdmlld0JveD1cIjAgMCAxNiAxNlwiIGZpbGw9XCJub25lXCI+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPHBhdGhcclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgZD1cIk04LjAwMDE2IDMuMzMzMzdWMTIuNjY2N004LjAwMDE2IDEyLjY2NjdMMTIuNjY2OCA4LjAwMDA0TTguMDAwMTYgMTIuNjY2N0wzLjMzMzUgOC4wMDAwNFwiXHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIFthdHRyLnN0cm9rZV09XCJzb3J0ZWRDb2x1bW4gPT09ICdwb3RlbnRpYWxCdXllcnNDb3VudCcgPyAnIzAwQTNGRicgOiAnIzY2NzA4NSdcIlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBzdHJva2Utd2lkdGg9XCIxLjMzMzMzXCIgc3Ryb2tlLWxpbmVjYXA9XCJyb3VuZFwiIHN0cm9rZS1saW5lam9pbj1cInJvdW5kXCIgLz5cclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvc3ZnPjwvc3Bhbj5cclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8L3RoPlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDx0aCBjbGFzcz1cImN1cnNvci1wb2ludGVyXCI+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxzcGFuIGNsYXNzPVwiY3Vyc29yLXBvaW50ZXJcIiAoY2xpY2spPVwib25Tb3J0KCdjb252ZXJzaW9uUmF0ZScpXCI+e3toZWFkZXJEYXRhPy5jbGllbnQgPT09JzQ1Mic/J01vcmUgdGhhbiAnKyBmZWF0dXJlQ29uZmlnPy5jb252ZXJzaW9uLnZhbHVlICsgJyBtaW5zJzonQ29udmVyc2lvbid9fSBSYXRlIDxzdmcgW25nQ2xhc3NdPVwic29ydGVkQ29sdW1uID09PSAnY29udmVyc2lvblJhdGUnICYmIHNvcnREaXJlY3Rpb24gPT09IDEgPyAncm90YXRlJyA6ICcnXCIgd2lkdGg9XCIxNlwiIGhlaWdodD1cIjE2XCJcclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB2aWV3Qm94PVwiMCAwIDE2IDE2XCIgZmlsbD1cIm5vbmVcIj5cclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8cGF0aFxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBkPVwiTTguMDAwMTYgMy4zMzMzN1YxMi42NjY3TTguMDAwMTYgMTIuNjY2N0wxMi42NjY4IDguMDAwMDRNOC4wMDAxNiAxMi42NjY3TDMuMzMzNSA4LjAwMDA0XCJcclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgW2F0dHIuc3Ryb2tlXT1cInNvcnRlZENvbHVtbiA9PT0gJ2NvbnZlcnNpb25SYXRlJyA/ICcjMDBBM0ZGJyA6ICcjNjY3MDg1J1wiXHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHN0cm9rZS13aWR0aD1cIjEuMzMzMzNcIiBzdHJva2UtbGluZWNhcD1cInJvdW5kXCIgc3Ryb2tlLWxpbmVqb2luPVwicm91bmRcIiAvPlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPC9zdmc+PC9zcGFuPlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvdGg+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPHRoIGNsYXNzPVwiY3Vyc29yLXBvaW50ZXJcIj5cclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPHNwYW4gY2xhc3M9XCJjdXJzb3ItcG9pbnRlclwiIChjbGljayk9XCJvblNvcnQoJ05PQkNvdW50JylcIj5OT0IgQ291bnQgPHN2ZyBbbmdDbGFzc109XCJzb3J0ZWRDb2x1bW4gPT09ICdOT0JDb3VudCcgJiYgc29ydERpcmVjdGlvbiA9PT0gMSA/ICdyb3RhdGUnIDogJydcIiB3aWR0aD1cIjE2XCIgaGVpZ2h0PVwiMTZcIlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHZpZXdCb3g9XCIwIDAgMTYgMTZcIiBmaWxsPVwibm9uZVwiPlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxwYXRoXHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGQ9XCJNOC4wMDAxNiAzLjMzMzM3VjEyLjY2NjdNOC4wMDAxNiAxMi42NjY3TDEyLjY2NjggOC4wMDAwNE04LjAwMDE2IDEyLjY2NjdMMy4zMzM1IDguMDAwMDRcIlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBbYXR0ci5zdHJva2VdPVwic29ydGVkQ29sdW1uID09PSAnTk9CQ291bnQnID8gJyMwMEEzRkYnIDogJyM2NjcwODUnXCJcclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgc3Ryb2tlLXdpZHRoPVwiMS4zMzMzM1wiIHN0cm9rZS1saW5lY2FwPVwicm91bmRcIiBzdHJva2UtbGluZWpvaW49XCJyb3VuZFwiIC8+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8L3N2Zz48L3NwYW4+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPC90aD5cclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8dGggY2xhc3M9XCJjdXJzb3ItcG9pbnRlclwiPlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8c3BhbiBjbGFzcz1cImN1cnNvci1wb2ludGVyXCIgKGNsaWNrKT1cIm9uU29ydCgnYXZnRHdlbGxUaW1lJylcIj5BdmcuRHdlbGwgVGltZSA8c3ZnIFtuZ0NsYXNzXT1cInNvcnRlZENvbHVtbiA9PT0gJ2F2Z0R3ZWxsVGltZScgJiYgc29ydERpcmVjdGlvbiA9PT0gMSA/ICdyb3RhdGUnIDogJydcIiB3aWR0aD1cIjE2XCIgaGVpZ2h0PVwiMTZcIlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHZpZXdCb3g9XCIwIDAgMTYgMTZcIiBmaWxsPVwibm9uZVwiPlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxwYXRoXHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGQ9XCJNOC4wMDAxNiAzLjMzMzM3VjEyLjY2NjdNOC4wMDAxNiAxMi42NjY3TDEyLjY2NjggOC4wMDAwNE04LjAwMDE2IDEyLjY2NjdMMy4zMzM1IDguMDAwMDRcIlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBbYXR0ci5zdHJva2VdPVwic29ydGVkQ29sdW1uID09PSAnYXZnRHdlbGxUaW1lJyA/ICcjMDBBM0ZGJyA6ICcjNjY3MDg1J1wiXHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHN0cm9rZS13aWR0aD1cIjEuMzMzMzNcIiBzdHJva2UtbGluZWNhcD1cInJvdW5kXCIgc3Ryb2tlLWxpbmVqb2luPVwicm91bmRcIiAvPlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPC9zdmc+PC9zcGFuPlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvdGg+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPHRoIGNsYXNzPVwiY3Vyc29yLXBvaW50ZXJcIj5cclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPHNwYW4gY2xhc3M9XCJjdXJzb3ItcG9pbnRlclwiIChjbGljayk9XCJvblNvcnQoJ2F2Z0luZnJhRG93bnRpbWUnKVwiPkF2Zy5JbmZyYSBEb3duVGltZSA8c3ZnIFtuZ0NsYXNzXT1cInNvcnRlZENvbHVtbiA9PT0gJ2F2Z0luZnJhRG93bnRpbWUnICYmIHNvcnREaXJlY3Rpb24gPT09IDEgPyAncm90YXRlJyA6ICcnXCIgd2lkdGg9XCIxNlwiIGhlaWdodD1cIjE2XCJcclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB2aWV3Qm94PVwiMCAwIDE2IDE2XCIgZmlsbD1cIm5vbmVcIj5cclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8cGF0aFxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBkPVwiTTguMDAwMTYgMy4zMzMzN1YxMi42NjY3TTguMDAwMTYgMTIuNjY2N0wxMi42NjY4IDguMDAwMDRNOC4wMDAxNiAxMi42NjY3TDMuMzMzNSA4LjAwMDA0XCJcclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgW2F0dHIuc3Ryb2tlXT1cInNvcnRlZENvbHVtbiA9PT0gJ2F2Z0luZnJhRG93bnRpbWUnID8gJyMwMEEzRkYnIDogJyM2NjcwODUnXCJcclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgc3Ryb2tlLXdpZHRoPVwiMS4zMzMzM1wiIHN0cm9rZS1saW5lY2FwPVwicm91bmRcIiBzdHJva2UtbGluZWpvaW49XCJyb3VuZFwiIC8+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8L3N2Zz48L3NwYW4+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPC90aD5cclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8dGggY2xhc3M9XCJjdXJzb3ItcG9pbnRlclwiPlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8c3BhbiBjbGFzcz1cImN1cnNvci1wb2ludGVyXCIgKGNsaWNrKT1cIm9uU29ydCgncGFzc2VyQnlfY291bnQnKVwiPlBhc3NlciBCeTxzdmcgW25nQ2xhc3NdPVwic29ydGVkQ29sdW1uID09PSAncGFzc2VyQnlfY291bnQnICYmIHNvcnREaXJlY3Rpb24gPT09IDEgPyAncm90YXRlJyA6ICcnXCIgd2lkdGg9XCIxNlwiIGhlaWdodD1cIjE2XCJcclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB2aWV3Qm94PVwiMCAwIDE2IDE2XCIgZmlsbD1cIm5vbmVcIj5cclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8cGF0aFxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBkPVwiTTguMDAwMTYgMy4zMzMzN1YxMi42NjY3TTguMDAwMTYgMTIuNjY2N0wxMi42NjY4IDguMDAwMDRNOC4wMDAxNiAxMi42NjY3TDMuMzMzNSA4LjAwMDA0XCJcclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgW2F0dHIuc3Ryb2tlXT1cInNvcnRlZENvbHVtbiA9PT0gJ3Bhc3NlckJ5X2NvdW50JyA/ICcjMDBBM0ZGJyA6ICcjNjY3MDg1J1wiXHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHN0cm9rZS13aWR0aD1cIjEuMzMzMzNcIiBzdHJva2UtbGluZWNhcD1cInJvdW5kXCIgc3Ryb2tlLWxpbmVqb2luPVwicm91bmRcIiAvPlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPC9zdmc+PC9zcGFuPlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvdGg+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPHRoIGNsYXNzPVwiY3Vyc29yLXBvaW50ZXJcIj5cclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPHNwYW4gY2xhc3M9XCJjdXJzb3ItcG9pbnRlclwiIChjbGljayk9XCJvblNvcnQoJ2JlbG93MTInKVwiPkJlbG93MTIgPHN2ZyBbbmdDbGFzc109XCJzb3J0ZWRDb2x1bW4gPT09ICdiZWxvdzEyJyAmJiBzb3J0RGlyZWN0aW9uID09PSAxID8gJ3JvdGF0ZScgOiAnJ1wiIHdpZHRoPVwiMTZcIiBoZWlnaHQ9XCIxNlwiXHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgdmlld0JveD1cIjAgMCAxNiAxNlwiIGZpbGw9XCJub25lXCI+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPHBhdGhcclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgZD1cIk04LjAwMDE2IDMuMzMzMzdWMTIuNjY2N004LjAwMDE2IDEyLjY2NjdMMTIuNjY2OCA4LjAwMDA0TTguMDAwMTYgMTIuNjY2N0wzLjMzMzUgOC4wMDAwNFwiXHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIFthdHRyLnN0cm9rZV09XCJzb3J0ZWRDb2x1bW4gPT09ICdiZWxvdzEyJyA/ICcjMDBBM0ZGJyA6ICcjNjY3MDg1J1wiXHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHN0cm9rZS13aWR0aD1cIjEuMzMzMzNcIiBzdHJva2UtbGluZWNhcD1cInJvdW5kXCIgc3Ryb2tlLWxpbmVqb2luPVwicm91bmRcIiAvPlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPC9zdmc+PC9zcGFuPlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvdGg+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPHRoIGNsYXNzPVwiY3Vyc29yLXBvaW50ZXJcIj5cclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPHNwYW4gY2xhc3M9XCJjdXJzb3ItcG9pbnRlclwiIChjbGljayk9XCJvblNvcnQoJzEzLTE5JylcIj4xMy0xOSA8c3ZnIFtuZ0NsYXNzXT1cInNvcnRlZENvbHVtbiA9PT0gJzEzLTE5JyAmJiBzb3J0RGlyZWN0aW9uID09PSAxID8gJ3JvdGF0ZScgOiAnJ1wiIHdpZHRoPVwiMTZcIiBoZWlnaHQ9XCIxNlwiXHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgdmlld0JveD1cIjAgMCAxNiAxNlwiIGZpbGw9XCJub25lXCI+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPHBhdGhcclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgZD1cIk04LjAwMDE2IDMuMzMzMzdWMTIuNjY2N004LjAwMDE2IDEyLjY2NjdMMTIuNjY2OCA4LjAwMDA0TTguMDAwMTYgMTIuNjY2N0wzLjMzMzUgOC4wMDAwNFwiXHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIFthdHRyLnN0cm9rZV09XCJzb3J0ZWRDb2x1bW4gPT09ICcxMy0xOScgPyAnIzAwQTNGRicgOiAnIzY2NzA4NSdcIlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBzdHJva2Utd2lkdGg9XCIxLjMzMzMzXCIgc3Ryb2tlLWxpbmVjYXA9XCJyb3VuZFwiIHN0cm9rZS1saW5lam9pbj1cInJvdW5kXCIgLz5cclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvc3ZnPjwvc3Bhbj5cclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8L3RoPlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDx0aCBjbGFzcz1cImN1cnNvci1wb2ludGVyXCI+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxzcGFuIGNsYXNzPVwiY3Vyc29yLXBvaW50ZXJcIiAoY2xpY2spPVwib25Tb3J0KCcyMC0zMCcpXCI+MjAtMzAgPHN2ZyBbbmdDbGFzc109XCJzb3J0ZWRDb2x1bW4gPT09ICcyMC0zMCcgJiYgc29ydERpcmVjdGlvbiA9PT0gMSA/ICdyb3RhdGUnIDogJydcIiB3aWR0aD1cIjE2XCIgaGVpZ2h0PVwiMTZcIlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHZpZXdCb3g9XCIwIDAgMTYgMTZcIiBmaWxsPVwibm9uZVwiPlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxwYXRoXHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGQ9XCJNOC4wMDAxNiAzLjMzMzM3VjEyLjY2NjdNOC4wMDAxNiAxMi42NjY3TDEyLjY2NjggOC4wMDAwNE04LjAwMDE2IDEyLjY2NjdMMy4zMzM1IDguMDAwMDRcIlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBbYXR0ci5zdHJva2VdPVwic29ydGVkQ29sdW1uID09PSAnMjAtMzAnID8gJyMwMEEzRkYnIDogJyM2NjcwODUnXCJcclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgc3Ryb2tlLXdpZHRoPVwiMS4zMzMzM1wiIHN0cm9rZS1saW5lY2FwPVwicm91bmRcIiBzdHJva2UtbGluZWpvaW49XCJyb3VuZFwiIC8+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8L3N2Zz48L3NwYW4+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPC90aD5cclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8dGggKm5nSWY9XCJoZWFkZXJEYXRhPy5jbGllbnQgPT09JzE5MydcIiBjbGFzcz1cImN1cnNvci1wb2ludGVyXCI+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxzcGFuIGNsYXNzPVwiY3Vyc29yLXBvaW50ZXJcIiAoY2xpY2spPVwib25Tb3J0KCczMS00MCcpXCI+MzEtNDAgPHN2ZyBbbmdDbGFzc109XCJzb3J0ZWRDb2x1bW4gPT09ICczMS00MCcgJiYgc29ydERpcmVjdGlvbiA9PT0gMSA/ICdyb3RhdGUnIDogJydcIiB3aWR0aD1cIjE2XCIgaGVpZ2h0PVwiMTZcIlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHZpZXdCb3g9XCIwIDAgMTYgMTZcIiBmaWxsPVwibm9uZVwiPlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxwYXRoXHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGQ9XCJNOC4wMDAxNiAzLjMzMzM3VjEyLjY2NjdNOC4wMDAxNiAxMi42NjY3TDEyLjY2NjggOC4wMDAwNE04LjAwMDE2IDEyLjY2NjdMMy4zMzM1IDguMDAwMDRcIlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBbYXR0ci5zdHJva2VdPVwic29ydGVkQ29sdW1uID09PSAnMzEtNDAnID8gJyMwMEEzRkYnIDogJyM2NjcwODUnXCJcclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgc3Ryb2tlLXdpZHRoPVwiMS4zMzMzM1wiIHN0cm9rZS1saW5lY2FwPVwicm91bmRcIiBzdHJva2UtbGluZWpvaW49XCJyb3VuZFwiIC8+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8L3N2Zz48L3NwYW4+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPC90aD5cclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8dGggKm5nSWY9XCJoZWFkZXJEYXRhPy5jbGllbnQgPT09JzE5MydcIiBjbGFzcz1cImN1cnNvci1wb2ludGVyXCI+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxzcGFuIGNsYXNzPVwiY3Vyc29yLXBvaW50ZXJcIiAoY2xpY2spPVwib25Tb3J0KCc0MS01MCcpXCI+NDEtNTAgPHN2ZyBbbmdDbGFzc109XCJzb3J0ZWRDb2x1bW4gPT09ICc0MS01MCcgJiYgc29ydERpcmVjdGlvbiA9PT0gMSA/ICdyb3RhdGUnIDogJydcIiB3aWR0aD1cIjE2XCIgaGVpZ2h0PVwiMTZcIlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHZpZXdCb3g9XCIwIDAgMTYgMTZcIiBmaWxsPVwibm9uZVwiPlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxwYXRoXHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGQ9XCJNOC4wMDAxNiAzLjMzMzM3VjEyLjY2NjdNOC4wMDAxNiAxMi42NjY3TDEyLjY2NjggOC4wMDAwNE04LjAwMDE2IDEyLjY2NjdMMy4zMzM1IDguMDAwMDRcIlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBbYXR0ci5zdHJva2VdPVwic29ydGVkQ29sdW1uID09PSAnNDEtNTAnID8gJyMwMEEzRkYnIDogJyM2NjcwODUnXCJcclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgc3Ryb2tlLXdpZHRoPVwiMS4zMzMzM1wiIHN0cm9rZS1saW5lY2FwPVwicm91bmRcIiBzdHJva2UtbGluZWpvaW49XCJyb3VuZFwiIC8+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8L3N2Zz48L3NwYW4+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPC90aD5cclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8dGggKm5nSWY9XCJoZWFkZXJEYXRhPy5jbGllbnQgPT09JzE5MydcIiBjbGFzcz1cImN1cnNvci1wb2ludGVyXCI+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxzcGFuIGNsYXNzPVwiY3Vyc29yLXBvaW50ZXJcIiAoY2xpY2spPVwib25Tb3J0KCc1MS02MCcpXCI+NTEtNjAgPHN2ZyBbbmdDbGFzc109XCJzb3J0ZWRDb2x1bW4gPT09ICc1MS02MCcgJiYgc29ydERpcmVjdGlvbiA9PT0gMSA/ICdyb3RhdGUnIDogJydcIiB3aWR0aD1cIjE2XCIgaGVpZ2h0PVwiMTZcIlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHZpZXdCb3g9XCIwIDAgMTYgMTZcIiBmaWxsPVwibm9uZVwiPlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxwYXRoXHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGQ9XCJNOC4wMDAxNiAzLjMzMzM3VjEyLjY2NjdNOC4wMDAxNiAxMi42NjY3TDEyLjY2NjggOC4wMDAwNE04LjAwMDE2IDEyLjY2NjdMMy4zMzM1IDguMDAwMDRcIlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBbYXR0ci5zdHJva2VdPVwic29ydGVkQ29sdW1uID09PSAnNTEtNjAnID8gJyMwMEEzRkYnIDogJyM2NjcwODUnXCJcclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgc3Ryb2tlLXdpZHRoPVwiMS4zMzMzM1wiIHN0cm9rZS1saW5lY2FwPVwicm91bmRcIiBzdHJva2UtbGluZWpvaW49XCJyb3VuZFwiIC8+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8L3N2Zz48L3NwYW4+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPC90aD5cclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8dGggKm5nSWY9XCJoZWFkZXJEYXRhPy5jbGllbnQgIT09JzE5MydcIiBjbGFzcz1cImN1cnNvci1wb2ludGVyXCI+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxzcGFuIGNsYXNzPVwiY3Vyc29yLXBvaW50ZXJcIiAoY2xpY2spPVwib25Tb3J0KCczMS00NScpXCI+MzEtNDUgPHN2ZyBbbmdDbGFzc109XCJzb3J0ZWRDb2x1bW4gPT09ICczMS00NScgJiYgc29ydERpcmVjdGlvbiA9PT0gMSA/ICdyb3RhdGUnIDogJydcIiB3aWR0aD1cIjE2XCIgaGVpZ2h0PVwiMTZcIlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHZpZXdCb3g9XCIwIDAgMTYgMTZcIiBmaWxsPVwibm9uZVwiPlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxwYXRoXHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGQ9XCJNOC4wMDAxNiAzLjMzMzM3VjEyLjY2NjdNOC4wMDAxNiAxMi42NjY3TDEyLjY2NjggOC4wMDAwNE04LjAwMDE2IDEyLjY2NjdMMy4zMzM1IDguMDAwMDRcIlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBbYXR0ci5zdHJva2VdPVwic29ydGVkQ29sdW1uID09PSAnMzEtNDUnID8gJyMwMEEzRkYnIDogJyM2NjcwODUnXCJcclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgc3Ryb2tlLXdpZHRoPVwiMS4zMzMzM1wiIHN0cm9rZS1saW5lY2FwPVwicm91bmRcIiBzdHJva2UtbGluZWpvaW49XCJyb3VuZFwiIC8+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8L3N2Zz48L3NwYW4+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPC90aD5cclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8dGggKm5nSWY9XCJoZWFkZXJEYXRhPy5jbGllbnQgIT09JzE5MydcIiBjbGFzcz1cImN1cnNvci1wb2ludGVyXCI+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxzcGFuIGNsYXNzPVwiY3Vyc29yLXBvaW50ZXJcIiAoY2xpY2spPVwib25Tb3J0KCc0Ni01OScpXCI+NDYtNTkgPHN2ZyBbbmdDbGFzc109XCJzb3J0ZWRDb2x1bW4gPT09ICc0Ni01OScgJiYgc29ydERpcmVjdGlvbiA9PT0gMSA/ICdyb3RhdGUnIDogJydcIiB3aWR0aD1cIjE2XCIgaGVpZ2h0PVwiMTZcIlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHZpZXdCb3g9XCIwIDAgMTYgMTZcIiBmaWxsPVwibm9uZVwiPlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxwYXRoXHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGQ9XCJNOC4wMDAxNiAzLjMzMzM3VjEyLjY2NjdNOC4wMDAxNiAxMi42NjY3TDEyLjY2NjggOC4wMDAwNE04LjAwMDE2IDEyLjY2NjdMMy4zMzM1IDguMDAwMDRcIlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBbYXR0ci5zdHJva2VdPVwic29ydGVkQ29sdW1uID09PSAnNDYtNTknID8gJyMwMEEzRkYnIDogJyM2NjcwODUnXCJcclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgc3Ryb2tlLXdpZHRoPVwiMS4zMzMzM1wiIHN0cm9rZS1saW5lY2FwPVwicm91bmRcIiBzdHJva2UtbGluZWpvaW49XCJyb3VuZFwiIC8+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8L3N2Zz48L3NwYW4+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPC90aD5cclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8dGggY2xhc3M9XCJjdXJzb3ItcG9pbnRlclwiPlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8c3BhbiBjbGFzcz1cImN1cnNvci1wb2ludGVyXCIgKGNsaWNrKT1cIm9uU29ydCgnNjAgYWJvdmUnKVwiPjYwIGFib3ZlIDxzdmcgW25nQ2xhc3NdPVwic29ydGVkQ29sdW1uID09PSAnNjAgYWJvdmUnICYmIHNvcnREaXJlY3Rpb24gPT09IDEgPyAncm90YXRlJyA6ICcnXCIgd2lkdGg9XCIxNlwiIGhlaWdodD1cIjE2XCJcclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB2aWV3Qm94PVwiMCAwIDE2IDE2XCIgZmlsbD1cIm5vbmVcIj5cclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8cGF0aFxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBkPVwiTTguMDAwMTYgMy4zMzMzN1YxMi42NjY3TTguMDAwMTYgMTIuNjY2N0wxMi42NjY4IDguMDAwMDRNOC4wMDAxNiAxMi42NjY3TDMuMzMzNSA4LjAwMDA0XCJcclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgW2F0dHIuc3Ryb2tlXT1cInNvcnRlZENvbHVtbiA9PT0gJzYwIGFib3ZlJyA/ICcjMDBBM0ZGJyA6ICcjNjY3MDg1J1wiXHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHN0cm9rZS13aWR0aD1cIjEuMzMzMzNcIiBzdHJva2UtbGluZWNhcD1cInJvdW5kXCIgc3Ryb2tlLWxpbmVqb2luPVwicm91bmRcIiAvPlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPC9zdmc+PC9zcGFuPlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvdGg+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPHRoIGNsYXNzPVwiY3Vyc29yLXBvaW50ZXJcIj5cclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPHNwYW4gY2xhc3M9XCJjdXJzb3ItcG9pbnRlclwiIChjbGljayk9XCJvblNvcnQoJ21hbGUnKVwiPk1hbGUgPHN2ZyBbbmdDbGFzc109XCJzb3J0ZWRDb2x1bW4gPT09ICdtYWxlJyAmJiBzb3J0RGlyZWN0aW9uID09PSAxID8gJ3JvdGF0ZScgOiAnJ1wiIHdpZHRoPVwiMTZcIiBoZWlnaHQ9XCIxNlwiXHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgdmlld0JveD1cIjAgMCAxNiAxNlwiIGZpbGw9XCJub25lXCI+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPHBhdGhcclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgZD1cIk04LjAwMDE2IDMuMzMzMzdWMTIuNjY2N004LjAwMDE2IDEyLjY2NjdMMTIuNjY2OCA4LjAwMDA0TTguMDAwMTYgMTIuNjY2N0wzLjMzMzUgOC4wMDAwNFwiXHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIFthdHRyLnN0cm9rZV09XCJzb3J0ZWRDb2x1bW4gPT09ICdtYWxlJyA/ICcjMDBBM0ZGJyA6ICcjNjY3MDg1J1wiXHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHN0cm9rZS13aWR0aD1cIjEuMzMzMzNcIiBzdHJva2UtbGluZWNhcD1cInJvdW5kXCIgc3Ryb2tlLWxpbmVqb2luPVwicm91bmRcIiAvPlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPC9zdmc+PC9zcGFuPlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvdGg+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPHRoIGNsYXNzPVwiY3Vyc29yLXBvaW50ZXJcIj5cclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPHNwYW4gY2xhc3M9XCJjdXJzb3ItcG9pbnRlclwiIChjbGljayk9XCJvblNvcnQoJ2ZlbWFsZScpXCI+RmVtYWxlIDxzdmcgXHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBbbmdDbGFzc109XCJzb3J0ZWRDb2x1bW4gPT09ICdmZW1hbGUnICYmIHNvcnREaXJlY3Rpb24gPT09IDEgPyAncm90YXRlJyA6ICcnXCIgd2lkdGg9XCIxNlwiIGhlaWdodD1cIjE2XCJcclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB2aWV3Qm94PVwiMCAwIDE2IDE2XCIgZmlsbD1cIm5vbmVcIj5cclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8cGF0aFxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBkPVwiTTguMDAwMTYgMy4zMzMzN1YxMi42NjY3TTguMDAwMTYgMTIuNjY2N0wxMi42NjY4IDguMDAwMDRNOC4wMDAxNiAxMi42NjY3TDMuMzMzNSA4LjAwMDA0XCJcclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgW2F0dHIuc3Ryb2tlXT1cInNvcnRlZENvbHVtbiA9PT0gJ2ZlbWFsZScgPyAnIzAwQTNGRicgOiAnIzY2NzA4NSdcIlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBzdHJva2Utd2lkdGg9XCIxLjMzMzMzXCIgc3Ryb2tlLWxpbmVjYXA9XCJyb3VuZFwiIHN0cm9rZS1saW5lam9pbj1cInJvdW5kXCIgLz5cclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvc3ZnPjwvc3Bhbj5cclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8L3RoPlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgPC90cj5cclxuICAgICAgICAgICAgICAgICAgICAgICAgPC90aGVhZD5cclxuICAgICAgICAgICAgICAgICAgICAgICAgPHRib2R5PlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgPHRyICpuZ0Zvcj1cImxldCBvYmogb2YgZ2V0U3VtbWFyeVRhYmxlRGF0YTtsZXQgaT1pbmRleDtcIj5cclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8IS0tIChjbGljayk9XCJzdG9yZVZpZXcob2JqKVwiIC0tPlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDx0ZCBjbGFzcz1cInRleHQtcHJpbWFyeSB0ZXh0LWNhcGl0YWxpemUgdGV4dC1kZWNvcmF0aW9uLXVuZGVybGluZSBjdXJzb3ItcG9pbnRlclwiIChjbGljayk9XCJzdG9yZVZpZXcob2JqLnN0b3JlSWQpXCI+e3tvYmouc3RvcmVOYW1lfX08L3RkPlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDx0ZD57e29iai5zdG9yZUlkfX08L3RkPlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDx0ZCAqbmdJZj1cIm9iaj8uZGF0ZVwiPnt7b2JqPy5kYXRlIHwgZGF0ZTonTU1NIGRkLCB5eXl5J319PC90ZD5cclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8dGQ+e3tvYmouZm9vdGZhbGxDb3VudH19PC90ZD5cclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8dGQ+e3tvYmouYm91bmNlZENvdW50fX08L3RkPlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDx0ZD57e29iai5lbmdhZ2Vyc0NvdW50fX08L3RkPlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDx0ZD57e29iai5taXNzZWRPcHBvcnR1bml0eUNvdW50fX08L3RkPlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDx0ZCAqbmdJZj1cImhlYWRlckRhdGE/LmNsaWVudCAhPT0nNDUyJ1wiPnt7b2JqLnBvdGVudGlhbEJ1eWVyc0NvdW50fX08L3RkPlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDx0ZD57e29iai5jb252ZXJzaW9uUmF0ZX19JTwvdGQ+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPHRkPnt7b2JqLk5PQkNvdW50fX08L3RkPlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDx0ZD57e29iai5hdmdEd2VsbFRpbWV9fTwvdGQ+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPHRkPnt7b2JqLmF2Z0luZnJhRG93bnRpbWV9fTwvdGQ+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPHRkPnt7b2JqLnBhc3NlckJ5X2NvdW50fX08L3RkPlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDx0ZD57e29iai5iZWxvdzEyfX08L3RkPlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDx0ZD57e29ialsnMTMtMTknXX19PC90ZD5cclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8dGQ+e3tvYmpbJzIwLTMwJ119fTwvdGQ+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPHRkICpuZ0lmPVwiaGVhZGVyRGF0YT8uY2xpZW50ID09PScxOTMnXCI+e3tvYmpbJzMxLTQwJ119fTwvdGQ+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPHRkICpuZ0lmPVwiaGVhZGVyRGF0YT8uY2xpZW50ID09PScxOTMnXCI+e3tvYmpbXCI0MS01MFwiXX19PC90ZD5cclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8dGQgKm5nSWY9XCJoZWFkZXJEYXRhPy5jbGllbnQgPT09JzE5MydcIj57e29ialtcIjUxLTYwXCJdfX08L3RkPlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDx0ZCAqbmdJZj1cImhlYWRlckRhdGE/LmNsaWVudCAhPT0nMTkzJ1wiPnt7b2JqWyczMS00NSddfX08L3RkPlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDx0ZCAqbmdJZj1cImhlYWRlckRhdGE/LmNsaWVudCAhPT0nMTkzJ1wiPnt7b2JqW1wiNDYtNTlcIl19fTwvdGQ+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPHRkPnt7b2JqW1wiNjAgYWJvdmVcIl19fTwvdGQ+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPHRkPnt7b2JqLm1hbGV9fTwvdGQ+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPHRkPnt7b2JqLmZlbWFsZX19PC90ZD5cclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvdHI+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgIDwvdGJvZHk+XHJcbiAgICAgICAgICAgICAgICAgICAgPC90YWJsZT5cclxuICAgICAgICAgICAgICAgIDwvZGl2PlxyXG4gICAgICAgICAgICAgICAgPGxpYi1wYWdpbmF0aW9uIFtpdGVtc1BlclBhZ2VdPVwicGFnZVNpemVcIiBbY3VycmVudFBhZ2VdPVwib2Zmc2V0XCIgW3RvdGFsSXRlbXNdPVwidG90YWxJdGVtc1wiXHJcbiAgICAgICAgICAgICAgICBbcGFnaW5hdGlvblNpemVzXT1cInBhZ2luYXRpb25TaXplc1wiIFtwYWdlU2l6ZV09XCJwYWdlU2l6ZVwiIChwYWdlQ2hhbmdlKT1cIm9uUGFnZUNoYW5nZSgkZXZlbnQpXCJcclxuICAgICAgICAgICAgICAgIChwYWdlU2l6ZUNoYW5nZSk9XCJvblBhZ2VTaXplQ2hhbmdlKCRldmVudClcIj48L2xpYi1wYWdpbmF0aW9uPlxyXG4gICAgICAgICAgICA8L2Rpdj5cclxuICAgICAgICA8L2Rpdj5cclxuICAgIDwvZGl2PlxyXG5cclxuPC9kaXY+XHJcbiJdfQ==
|
|
3868
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidHJhZmZpYy1hbmFseXNpcy5jb21wb25lbnQuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy90YW5nby1hbmFseXNlLXRyYWZmaWMvc3JjL2xpYi9jb21wb25lbnRzL3RyYWZmaWMtYW5hbHlzaXMvdHJhZmZpYy1hbmFseXNpcy5jb21wb25lbnQudHMiLCIuLi8uLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy90YW5nby1hbmFseXNlLXRyYWZmaWMvc3JjL2xpYi9jb21wb25lbnRzL3RyYWZmaWMtYW5hbHlzaXMvdHJhZmZpYy1hbmFseXNpcy5jb21wb25lbnQuaHRtbCJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQ0wsU0FBUyxFQU1ULFNBQVMsRUFFVCxZQUFZLEVBQ2IsTUFBTSxlQUFlLENBQUM7QUFDdkIsT0FBTyxLQUFLLEdBQUcsTUFBTSxxQkFBcUIsQ0FBQztBQUMzQyxPQUFPLEtBQUssS0FBSyxNQUFNLHdCQUF3QixDQUFDO0FBQ2hELE9BQU8sa0JBQWtCLE1BQU0scUNBQXFDLENBQUM7QUFDckUsT0FBTyxvQkFBb0IsTUFBTSx1Q0FBdUMsQ0FBQztBQUN6RSxPQUFPLEtBQUssVUFBVSxNQUFNLDZCQUE2QixDQUFDO0FBRTFELE9BQU8sRUFBRSxPQUFPLEVBQWdCLFNBQVMsRUFBVSxNQUFNLE1BQU0sQ0FBQztBQUdoRSxPQUFPLEVBQUUsWUFBWSxFQUFFLE1BQU0sZ0JBQWdCLENBQUM7QUFHOUMsT0FBTyxLQUFLLFFBQVEsTUFBTSxXQUFXLENBQUM7QUFFdEMsT0FBTyxFQUFFLGlCQUFpQixFQUFFLE1BQU0sa0NBQWtDLENBQUM7QUFDckUsT0FBTyxLQUFLLFNBQVMsTUFBTSxXQUFXLENBQUM7QUFDdkMsT0FBTyxFQUFlLFdBQVcsRUFBRSxNQUFNLGdCQUFnQixDQUFDO0FBQzFELE9BQU8sS0FBSyxNQUFNLE9BQU8sQ0FBQzs7Ozs7Ozs7Ozs7O0FBTzFCLE1BQU0sT0FBTyx3QkFB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WTt1QkFBQyxnQkFBZ0IsRUFBRSxDQUFDLFFBQVEsQ0FBQzs7QUFraEU1QyxTQUFTLG1CQUFtQixDQUFDLFFBQWdCLEVBQUUsTUFBYztJQUMzRCwyQ0FBMkM7SUFDM0MsTUFBTSxLQUFLLEdBQUcsSUFBSSxJQUFJLENBQUMsUUFBUSxDQUFDLENBQUM7SUFDakMsTUFBTSxHQUFHLEdBQUcsSUFBSSxJQUFJLENBQUMsTUFBTSxDQUFDLENBQUM7SUFFN0IsMkNBQTJDO0lBQzNDLE1BQU0sY0FBYyxHQUFHLEdBQUcsQ0FBQyxPQUFPLEVBQUUsR0FBRyxLQUFLLENBQUMsT0FBTyxFQUFFLENBQUM7SUFFdkQsK0RBQStEO0lBQy9ELE1BQU0sa0JBQWtCLEdBQUcsUUFBUSxDQUFDO0lBQ3BDLE1BQU0sZ0JBQWdCLEdBQUcsSUFBSSxDQUFDLEtBQUssQ0FBQyxjQUFjLEdBQUcsa0JBQWtCLENBQUMsQ0FBQztJQUV6RSxPQUFPLGdCQUFnQixDQUFDO0FBQzFCLENBQUMiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQge1xyXG4gIENvbXBvbmVudCxcclxuICBPbkluaXQsXHJcbiAgT25EZXN0cm95LFxyXG4gIE5nWm9uZSxcclxuICBFbGVtZW50UmVmLFxyXG4gIFJlbmRlcmVyMixcclxuICBWaWV3Q2hpbGQsXHJcbiAgQ2hhbmdlRGV0ZWN0b3JSZWYsXHJcbiAgSG9zdExpc3RlbmVyLCBBZnRlclZpZXdJbml0XHJcbn0gZnJvbSBcIkBhbmd1bGFyL2NvcmVcIjtcclxuaW1wb3J0ICogYXMgYW01IGZyb20gXCJAYW1jaGFydHMvYW1jaGFydHM1XCI7XHJcbmltcG9ydCAqIGFzIGFtNXh5IGZyb20gXCJAYW1jaGFydHMvYW1jaGFydHM1L3h5XCI7XHJcbmltcG9ydCBhbTV0aGVtZXNfQW5pbWF0ZWQgZnJvbSBcIkBhbWNoYXJ0cy9hbWNoYXJ0czUvdGhlbWVzL0FuaW1hdGVkXCI7XHJcbmltcG9ydCBhbTV0aGVtZXNfUmVzcG9uc2l2ZSBmcm9tIFwiQGFtY2hhcnRzL2FtY2hhcnRzNS90aGVtZXMvUmVzcG9uc2l2ZVwiO1xyXG5pbXBvcnQgKiBhcyBhbTVwZXJjZW50IGZyb20gXCJAYW1jaGFydHMvYW1jaGFydHM1L3BlcmNlbnRcIjtcclxuaW1wb3J0IHsgVHJhZmZpY1NlcnZpY2UgfSBmcm9tIFwiLi4vLi4vc2VydmljZXMvdHJhZmZpYy5zZXJ2aWNlXCI7XHJcbmltcG9ydCB7IFN1YmplY3QsIFN1YnNjcmlwdGlvbiwgdGFrZVVudGlsLCBmaWx0ZXIgfSBmcm9tICdyeGpzJztcclxuaW1wb3J0IHsgTmdiTW9kYWwsIE5nYlRvb2x0aXAgfSBmcm9tIFwiQG5nLWJvb3RzdHJhcC9uZy1ib290c3RyYXBcIjtcclxuaW1wb3J0IHsgR2xvYmFsU3RhdGVTZXJ2aWNlIH0gZnJvbSBcInRhbmdvLWFwcC11aS1nbG9iYWxcIjtcclxuaW1wb3J0IHsgZGVib3VuY2VUaW1lIH0gZnJvbSAncnhqcy9vcGVyYXRvcnMnO1xyXG5pbXBvcnQgeyBSb3V0ZXIgfSBmcm9tIFwiQGFuZ3VsYXIvcm91dGVyXCI7XHJcbmltcG9ydCB7IEV4Y2VsU2VydmljZSB9IGZyb20gXCIuLi8uLi9zZXJ2aWNlcy9leGNlbC5zZXJ2aWNlXCI7XHJcbmltcG9ydCAqIGFzIG1hcGJveGdsIGZyb20gJ21hcGJveC1nbCc7XHJcbmltcG9ydCB7IFRvYXN0U2VydmljZSB9IGZyb20gXCJ0YW5nby1hcHAtdWktc2hhcmVkXCI7XHJcbmltcG9ydCB7IFZpZGVvVXJsQ29tcG9uZW50IH0gZnJvbSBcIi4uL3ZpZGVvLXVybC92aWRlby11cmwuY29tcG9uZW50XCI7XHJcbmltcG9ydCAqIGFzIGJvb3RzdHJhcCBmcm9tIFwiYm9vdHN0cmFwXCI7XHJcbmltcG9ydCB7IEZvcm1CdWlsZGVyLCBGb3JtQ29udHJvbCB9IGZyb20gXCJAYW5ndWxhci9mb3Jtc1wiO1xyXG5pbXBvcnQgZGF5anMgZnJvbSAnZGF5anMnO1xyXG5cclxuQENvbXBvbmVudCh7XHJcbiAgc2VsZWN0b3I6IFwibGliLXRyYWZmaWMtYW5hbHlzaXNcIixcclxuICB0ZW1wbGF0ZVVybDogXCIuL3RyYWZmaWMtYW5hbHlzaXMuY29tcG9uZW50Lmh0bWxcIixcclxuICBzdHlsZVVybDogXCIuL3RyYWZmaWMtYW5hbHlzaXMuY29tcG9uZW50LnNjc3NcIixcclxufSlcclxuZXhwb3J0IGNsYXNzIFRyYWZmaWNBbmFseXNpc0NvbXBvbmVudCBpbXBsZW1lbnRzIE9uSW5pdCwgT25EZXN0cm95LCBBZnRlclZpZXdJbml0IHtcclxuICBwcml2YXRlIGxpbmVyb290OiBhbTUuUm9vdDtcclxuICBwcml2YXRlIGJvdW5jZWRsaW5lcm9vdDogYW01LlJvb3Q7XHJcbiAgcHJpdmF0ZSBwb3RlbnRpYWxCdXllcnNsaW5lcm9vdDogYW01LlJvb3Q7XHJcbiAgcHJpdmF0ZSBlbmdhZ2Vyc2xpbmVyb290OiBhbTUuUm9vdDtcclxuICBzb3J0ZWRDb2x1bW46IGFueTtcclxuICBzb3J0RGlyZWN0aW9uOiBhbnk7XHJcbiAgcHJpdmF0ZSBjaGFydDogYW55O1xyXG4gIHByaXZhdGUgdG9vbHRpcEVsZW1lbnQ6IEhUTUxFbGVtZW50O1xyXG4gIHByaXZhdGUgcmVhZG9ubHkgZGVzdHJveSQgPSBuZXcgU3ViamVjdCgpO1xyXG4gIGdldENhcmREYXRhOiBhbnkgPSBbXTtcclxuICBoZWF0TWFwRGF0YTogYW55ID0gW107XHJcbiAgZ2V0Q2FyZEdyYXBoRGF0YTogYW55O1xyXG4gIGdldFN1bW1hcnlUYWJsZURhdGE6IGFueTtcclxuICBpdGVtc1BlclBhZ2UgPSAxMDtcclxuICBjdXJyZW50UGFnZSA9IDE7XHJcbiAgdG90YWxJdGVtcyA9IDE7XHJcbiAgcGFnaW5hdGlvblNpemVzOmFueVtdID0gW107XHJcbiAgcGFnZVNpemUgPSAxMDtcclxuICBvZmZzZXQ6IG51bWJlciA9IDA7XHJcbiAgbGltaXQ6IG51bWJlciA9IDEwO1xyXG4gIGdldFJlY2FwVmlkZW9EYXRhOiBhbnk7XHJcbiAgdGFibGVvYmo6IGFueTtcclxuICBoZWF0TWFwcm9vdDogYW01LlJvb3Q7XHJcbiAgdmFsdWVUeXBlPVwiYWN0dWFsXCJcclxuICBkYXRlVHlwZT1cIndlZWtseVwiO1xyXG4gIHBvaW50czphbnkgPSBbXTtcclxuICBoZWFkZXJEYXRhOiBhbnk7XHJcbiAgdHlwZVZhbHVlOiBhbnkgPSdzdW0nO1xyXG4gIHZhbHVlQ29udmVyc2lvblJhdGU6IGFueTtcclxuICBjb252ZXJzaW9uVmFsdWU6IGFueT0nJztcclxuICBzZWFyY2hWYWx1ZTogYW55O1xyXG4gIGxvYWRpbmc6IGJvb2xlYW4gPXRydWU7XHJcbiAgbm9EYXRhOiBib29sZWFuID1mYWxzZTtcclxuICBjYXJkbG9hZGluZzogYm9vbGVhbiA9dHJ1ZTtcclxuICBjYXJkTm9kYXRhOiBib29sZWFuID1mYWxzZTtcclxuICBoZWF0bG9hZGluZyA9IHRydWVcclxuICBoZWF0bm9EYXRhID0gZmFsc2VcclxuICBzdG9yZUlkYXJyYXk6IGFueSA9W107XHJcbiAgZ2V0UmVjYXBEYXRhOiBhbnk9W107XHJcbiAgZm9ybTogYW55O1xyXG4gIGRhdGVMZW5ndGg6IG51bWJlcjtcclxuICBwZXJmb3JtYW5jZW5vRGF0YTogYm9vbGVhbiA9ZmFsc2U7XHJcbiAgcGVyZm9ybWFuY2VMb2FkaW5nOiBib29sZWFuID10cnVlO1xyXG4gIHpvbmVEd2VsbFRpbWVTcGxpdERhdGE6IGFueT1bXTtcclxuICBzdG9yZU9wZXJhdGlvbkRhdGE6IGFueT1bXTtcclxuICBmb290ZmFsbE5hbWU6IHN0cmluZz0nQWN0dWFsIEZvb3RmYWxsJztcclxuICBib3VuY2VMYWJlbDogYW55O1xyXG4gIGZvb3RmYWxsTGFiZWw6IGFueTtcclxuICBjb2xWYWx1ZTogYW55O1xyXG4gIHJlY2FwbGFvZGluZzogYm9vbGVhbjtcclxuICByZWNhcG5vRGF0YTogYm9vbGVhbjtcclxuICByZWNhcHNHcm91cGVkOiBhbnlbXT1bXTtcclxuICBpc0F2ZXJhZ2U6IGJvb2xlYW4gPSBmYWxzZTsgLy8gVG9nZ2xlIHN0YXRlIGZvciB0aGUgc3dpdGNoXHJcbiAgaXNEaXNhYmxlZDogYm9vbGVhbiA9ZmFsc2U7XHJcbiAgem9uZUxvYWRpbmcgPSB0cnVlO1xyXG4gem9uZU5vRGF0YSA9IGZhbHNlO1xyXG4gIGNsaWVudERhdGE6IGFueTtcclxuICBmZWF0dXJlQ29uZmlnOiBhbnk7XHJcbiAgbm9iOiBib29sZWFuO1xyXG4gIGZvcmVjYXN0OiBhbnk7XHJcbiAgbWF4Rm9vdGZhbGw6IGFueTtcclxuICBtaW5Gb290ZmFsbDogYW55O1xyXG4gIGlzQ29udmVyc2lvbiA6IGJvb2xlYW4gPSBmYWxzZTtcclxuICBASG9zdExpc3RlbmVyKCdkb2N1bWVudDpjbGljaycsIFsnJGV2ZW50J10pXHJcbiAgaGFuZGxlQ2xpY2tPdXRzaWRlKGV2ZW50OiBNb3VzZUV2ZW50KSB7XHJcbiAgICBjb25zdCBjbGlja2VkSW5zaWRlID0gKGV2ZW50LnRhcmdldCBhcyBIVE1MRWxlbWVudCkuY2xvc2VzdCgnLnRvb2x0aXAtcG9wdXAsIC5sYWJlbCcpO1xyXG4gICAgaWYgKCFjbGlja2VkSW5zaWRlKSB7XHJcbiAgICAgIHRoaXMuYWN0aXZlVG9vbHRpcCA9IG51bGw7XHJcbiAgICB9XHJcbiAgfVxyXG4gIGFjdGl2ZVRvb2x0aXA6IHN0cmluZyB8IG51bGwgPSBudWxsO1xyXG5cclxuICBhdUxvY2F0aW9uczogYW55W10gPSBbXTtcclxuICBtYXBPcHRpb25zOiBnb29nbGUubWFwcy5NYXBPcHRpb25zID0ge1xyXG4gICAgbWFwSWQ6IFwiREVNT19NQVBfSURcIixcclxuICAgIGNlbnRlcjogeyBsYXQ6IDAsIGxuZzogMCB9LCAgLy8gSW5pdGlhbCBjZW50ZXJcclxuICAgIHpvb206IDEsXHJcbiAgfTtcclxuXHJcbiAgcGVyZm9ybWFuY2VEYXRhOmFueSA9IFtdO1xyXG4gIG1wYWxvYWRpbmcgPXRydWU7XHJcbiAgbWFwbm9EYXRhID0gZmFsc2U7XHJcbiAgZm9vdGZhbGxkYXRhc2V0cyA9IFtcclxuICAgIHsgdmFsdWU6ICdmb290ZmFsbCcsIGxhYmVsOiAnRm9vdGZhbGwnIH0sXHJcbiAgICB7IHZhbHVlOiAnYm91bmNlZCcsIGxhYmVsOiAnQm91bmNlZCBGb290ZmFsbCcgfSxcclxuICAgIHsgdmFsdWU6ICdlbmdhZ2VyJywgbGFiZWw6ICdFbmdhZ2VycycgfSxcclxuICAgIHsgdmFsdWU6ICdtaXNzZWRPcHBvcnR1bml0eScsIGxhYmVsOiAnTWlzc2VkIE9wcG9ydHVuaXR5JyB9LFxyXG4gICAgeyB2YWx1ZTogJ3BvdGVudGlhbEJ1eWVyJywgbGFiZWw6ICdQb3RlbnRpYWwgQnV5ZXInIH0sXHJcbiAgICB7IHZhbHVlOiAnY29udmVyc2lvbicsIGxhYmVsOiAnQ29udmVyc2lvbicgfVxyXG4gIF07XHJcbiAgYm91bmNlZGF0YXNldHMgPSBbXHJcbiAgICB7IHZhbHVlOiAnZm9vdGZhbGwnLCBsYWJlbDogJ0Zvb3RmYWxsJyB9LFxyXG4gICAgeyB2YWx1ZTogJ2JvdW5jZWQnLCBsYWJlbDogJ0JvdW5jZWQgRm9vdGZhbGwnIH0sXHJcbiAgICB7IHZhbHVlOiAnZW5nYWdlcicsIGxhYmVsOiAnRW5nYWdlcnMnIH0sXHJcbiAgICB7IHZhbHVlOiAnbWlzc2VkT3Bwb3J0dW5pdHknLCBsYWJlbDogJ01pc3NlZCBPcHBvcnR1bml0eScgfSxcclxuICAgIHsgdmFsdWU6ICdwb3RlbnRpYWxCdXllcicsIGxhYmVsOiAnUG90ZW50aWFsIEJ1eWVyJyB9LFxyXG4gICAgeyB2YWx1ZTogJ2NvbnZlcnNpb24nLCBsYWJlbDogJ0NvbnZlcnNpb24nIH1cclxuICBdO1xyXG5cclxuICBjb25zdHJ1Y3RvcihcclxuICAgIHByaXZhdGUgem9uZTogTmdab25lLFxyXG4gICAgcHJpdmF0ZSBlbDogRWxlbWVudFJlZixcclxuICAgIHByaXZhdGUgcmVuZGVyZXI6IFJlbmRlcmVyMixwcml2YXRlIHJvdXRlcjpSb3V0ZXIscHJpdmF0ZSBleGNlbFNlcnZpY2U6IEV4Y2VsU2VydmljZSxcclxuICAgIHByaXZhdGUgc2VydmljZTogVHJhZmZpY1NlcnZpY2UscHVibGljIGdzOiBHbG9iYWxTdGF0ZVNlcnZpY2UsIHByaXZhdGUgZmI6Rm9ybUJ1aWxkZXIsXHJcbiAgICBwcml2YXRlIGNkOiBDaGFuZ2VEZXRlY3RvclJlZixwcml2YXRlIHRvYXN0OlRvYXN0U2VydmljZSwgcHJpdmF0ZSBtb2RhbFNlcnZpY2U6IE5nYk1vZGFsLFxyXG4gICkge1xyXG4gXHJcbiAgICAgICAgIHRoaXMuZm9ybSA9IHRoaXMuZmIuZ3JvdXAoe1xyXG4gICAgICAgICAgIHNlbGVjdFZhbHVlOiBuZXcgRm9ybUNvbnRyb2woJycpIC8vIEluaXRpYWxpemUgYXMgRm9ybUNvbnRyb2xcclxuICAgICAgICAgfSk7XHJcbiAgfVxyXG4gIEBWaWV3Q2hpbGQoXCJ0XCIsIHsgc3RhdGljOiBmYWxzZSB9KSB0b29sdGlwOiBOZ2JUb29sdGlwO1xyXG4gIHRvb2x0aXBWYWx1ZTogc3RyaW5nO1xyXG4gIGJvdW5jZVZhbHVlMTphbnk7XHJcbiAgY2xpZW50QVBJRGF0YTphbnk7XHJcbiAgdXNlcnM6YW55O1xyXG4gICBzdWIyOlN1YnNjcmlwdGlvbiB8IHVuZGVmaW5lZFxyXG4gICBwcml2YXRlIGlzSW5pdGlhbGl6ZWQ6IGJvb2xlYW4gPSBmYWxzZTtcclxuICAgcHJvY2Vzc1R5cGU9XCJtaXNzZWRvcHBvcnR1bml0aWVzXCJcclxuICAgdHJlbmR0eXBlVmFsdWU6IGFueSA9J2F2ZXJhZ2UnO1xyXG4gICBub3JtYWxpemU6YW55O1xyXG4gIG5nT25Jbml0KCk6IHZvaWQge1xyXG4gICAgKG1hcGJveGdsIGFzIGFueSkuYWNjZXNzVG9rZW4gPSAncGsuZXlKMUlqb2lZbUZzWVdwcGRHRnVaMjhpTENKaElqb2lZMjB3WjJ4aWVtNTVNREZ4WVRKM2IyMXpiM0ZqTkhkd2F5Sjkubm5JSXp0N09lWWxZSHVmR0U4bEZXUSc7XHJcbiAgICB0aGlzLm9mZnNldCA9IDA7XHJcbiAgICB0aGlzLmxpbWl0PTEwO1xyXG4gICAgY29uc3QgdXNlckRhdGE6IGFueSA9IEpTT04ucGFyc2UobG9jYWxTdG9yYWdlLmdldEl0ZW0oXCJ1c2VyLWluZm9cIikgfHwgXCJ7fVwiKTtcclxuICAgIHRoaXMudXNlcnMgPSB1c2VyRGF0YTtcclxuICBcclxuICAgIC8vIGNvbnN0IGNsaWVudERhdGE6YW55ID0gSlNPTi5wYXJzZShsb2NhbFN0b3JhZ2UuZ2V0SXRlbShcImNsaWVudC1kZXRhaWxzXCIpIHx8IFwie31cIik7XHJcbiAgICAvLyB0aGlzLmNsaWVudERhdGEgPSBjbGllbnREYXRhXHJcbiAgICAvLyBjb25zdCBjbGllbnRBUElEYXRhOmFueSA9IEpTT04ucGFyc2UobG9jYWxTdG9yYWdlLmdldEl0ZW0oXCJjbGllbnRBUEktZGV0YWlsc1wiKSB8fCBcInt9XCIpO1xyXG4gICAgLy8gdGhpcy5jbGllbnRBUElEYXRhID0gY2xpZW50QVBJRGF0YVxyXG4gICAgICBcclxuLy8gIGNvbnNvbGUubG9nKCB0aGlzLmNsaWVudERhdGEsdGhpcy5jbGllbnRBUElEYXRhLHRoaXMubm9iKVxyXG5cclxuICAgIHRoaXMuZ3M/LmRhdGFSYW5nZVZhbHVlXHJcbiAgICAgID8ucGlwZSh0YWtlVW50aWwodGhpcy5kZXN0cm95JCksZGVib3VuY2VUaW1lKDMwMCksKVxyXG4gICAgICAuc3Vic2NyaWJlKChkYXRhOiBhbnkpID0+IHtcclxuICAgICAgICBpZihkYXRhKXtcclxuICAgICAgICAgIHRoaXMuaGVhZGVyRGF0YSA9IGRhdGE7XHJcbiAgICAgICAgICB0aGlzLnZhbHVlQ29udmVyc2lvblJhdGU9Jyc7XHJcbiAgICAgICAgICB0aGlzLmRhdGVMZW5ndGggPSBnZXREYXlzQmV0d2VlbkRhdGVzKGRhdGE/LmRhdGUuc3RhcnREYXRlLCBkYXRhPy5kYXRlLmVuZERhdGUpO1xyXG4gICAgICAgICAgaWYgKHRoaXMuZGF0ZUxlbmd0aCA+IDI4KVxyXG4gICAgICAgICAgICB0aGlzLmRhdGVUeXBlID0gXCJtb250aGx5XCI7XHJcbiAgICAgICAgICBlbHNlIGlmICh0aGlzLmRhdGVMZW5ndGggPiA1KVxyXG4gICAgICAgICAgICB0aGlzLmRhdGVUeXBlID0gXCJ3ZWVrbHlcIjtcclxuICAgICAgICAgIGVsc2UgaWYodGhpcy5kYXRlTGVuZ3RoID09PSAwKVxyXG4gICAgICAgICAgICB0aGlzLmRhdGVUeXBlID0gXCJ3ZWVrbHlcIjtcclxuICAgICAgICAgIHRoaXMudmFsdWVUeXBlPVwiYWN0dWFsXCI7XHJcbiAgICAgICAgICB0aGlzLnR5cGVWYWx1ZT1cInN1bVwiXHJcbiAgICAgICAgICB0aGlzLmlzQXZlcmFnZSA9IGZhbHNlXHJcbiAgICAgICAgICB0aGlzLnN1YjIgPSAgdGhpcy5zZXJ2aWNlPy5nZXRCcmFuZERldGFpbHModGhpcy51c2Vycz8uY2xpZW50SWQgPyB0aGlzLnVzZXJzPy5jbGllbnRJZDpkYXRhPy5jbGllbnQpLnBpcGUodGFrZVVudGlsKHRoaXMuZGVzdHJveSQpKS5zdWJzY3JpYmUoe1xyXG4gICAgICAgICAgICBuZXh0OiAocmVzOmFueSkgPT4ge1xyXG4gICAgICAgICAgICAgIGlmKHJlcyAmJiByZXMuY29kZSA9PT0gMjAwKXtcclxuICAgICAgICAgICAgICAgIHRoaXMuY2xpZW50RGF0YSA9IHJlcz8uZGF0YTtcclxuICAgICAgICAgICAgICAgIHRoaXMuZmVhdHVyZUNvbmZpZyA9IHRoaXMuY2xpZW50RGF0YS5mZWF0dXJlQ29uZmlncztcclxuICAgICAgICAgICAgICB0aGlzLm5vcm1hbGl6ZSA9IHRoaXMuY2xpZW50RGF0YT8uZmVhdHVyZUNvbmZpZ3M/LmlzTm9ybWFsaXplZDtcclxuICAgICAgICAgICAgICB0aGlzLnN0b3JlSWRhcnJheSA9IHRoaXMuaGVhZGVyRGF0YT8uc3RvcmVzLmZpbHRlcigoc3RvcmU6IGFueSkgPT4gc3RvcmUuY2hlY2tlZCkubWFwKChzdG9yZTogYW55KSA9PiBzdG9yZS5zdG9yZUlkKVxyXG4gICAgICAgICAgICAgIHRoaXMudGFibGVvYmogPSB7XHJcbiAgICAgICAgICAgICAgICBmcm9tRGF0ZTogZGF0YT8uZGF0ZS5zdGFydERhdGUsXHJcbiAgICAgICAgICAgICAgICB0b0RhdGU6IGRhdGE/LmRhdGUuZW5kRGF0ZSxcclxuICAgICAgICAgICAgICAgIHN0b3JlSWQ6IGRhdGE/LnN0b3Jlcy5maWx0ZXIoKHN0b3JlOiBhbnkpID0+IHN0b3JlLmNoZWNrZWQpLm1hcCgoc3RvcmU6IGFueSkgPT4gc3RvcmUuc3RvcmVJZCksXHJcbiAgICAgICAgICAgICAgICBjbGllbnRJZDogZGF0YT8uY2xpZW50ID8gZGF0YT8uY2xpZW50IDonJyxcclxuICAgICAgICAgICAgICAgIHZhbHVlVHlwZTogdGhpcy52YWx1ZVR5cGUsXHJcbiAgICAgICAgICAgICAgICBub2I6dGhpcy5jbGllbnREYXRhLmZlYXR1cmVDb25maWdzLmlzTk9CLFxyXG4gICAgICAgICAgICAgICAgZGF0ZVR5cGU6IHRoaXMuZGF0ZVR5cGUsXHJcbiAgICAgICAgICAgICAgICBub3JtYWxpemU6IHRoaXMubm9ybWFsaXplXHJcbiAgICAgICAgICAgICAgICB9O1xyXG4gICAgICAgICAgICAgICAgdGhpcy5nZXRWbHVlcygpO1xyXG5cclxuICAgICAgICAgICAgICBpZiAoIXRoaXMuaXNJbml0aWFsaXplZCkge1xyXG4gICAgICAgICAgICAgICAgdGhpcy5pc0luaXRpYWxpemVkID0gdHJ1ZTtcclxuICAgICAgICAgICAgICAgICAgdGhpcy5pc0NvbnZlcnNpb24gPXRoaXMuY2xpZW50RGF0YS5mZWF0dXJlQ29uZmlncy5pc05PQlxyXG4gICAgICAgICAgICBcclxuICAgICAgICAgICAgICAgIHRoaXMuc2VydmljZT8udG9nZ2xlbm9iKHRoaXMuY2xpZW50RGF0YS5mZWF0dXJlQ29uZmlncy5pc05PQik7XHJcbiAgICAgICAgICAgICAgICB0aGlzLnNlcnZpY2U/LnRvZ2dsZUF2ZXJhZ2UoZmFsc2UpO1xyXG4gICAgICAgICAgICAgIH1cclxuICAgICAgICAgICAgICAvLyB0aGlzLmNvbnZlcnNpb25WYWx1ZSA9IHRoaXMuY2xpZW50RGF0YS5mZWF0dXJlQ29uZmlncy5pc05PQiAmJiB0aGlzLmNsaWVudERhdGE/LmZlYXR1cmVDb25maWdzPy5jb252ZXJzaW9uQ2FsY3VsYXRpb24gPT09J2Zvb3RmYWxsLWNvdW50J1xyXG4gICAgICAgICAgICAgIC8vID8gXCJmb290ZmFsbFwiXHJcbiAgICAgICAgICAgICAgLy8gOiB0aGlzLmNsaWVudERhdGEuZmVhdHVyZUNvbmZpZ3MuaXNOT0IgJiYgdGhpcy5jbGllbnREYXRhPy5mZWF0dXJlQ29uZmlnc1xyXG4gICAgICAgICAgICAgIC8vICAgICA/LmNvbnZlcnNpb25DYWxjdWxhdGlvbiA9PT0gJ2VuZ2FnZXJzLWNvdW50J1xyXG4gICAgICAgICAgICAgIC8vID8gXCJlbmdhZ2Vyc1wiXHJcbiAgICAgICAgICAgICAgLy8gOiB0aGlzLmNsaWVudERhdGEuZmVhdHVyZUNvbmZpZ3MuaXNOT0IgJiYgdGhpcy5jbGllbnREYXRhPy5mZWF0dXJlQ29uZmlnc1xyXG4gICAgICAgICAgICAgIC8vICAgICA/LmNvbnZlcnNpb25DYWxjdWxhdGlvbiA9PT0gJ2JpbGxhYmxlLWVudGl0aWVzJz8gXCJQb3RlbnRpYWwgQnV5ZXJzXCI6IFwiZm9vdGZhbGxcIjtcclxuICAgICAgICAgICAgICB0aGlzLmNvbnZlcnNpb25WYWx1ZSA9IHRoaXMuY2xpZW50RGF0YS5mZWF0dXJlQ29uZmlncy5pc05PQlxyXG4gICAgICAgICAgICAgID8gXCJOb0IgRGVyaXZlZFwiXHJcbiAgICAgICAgICAgICAgOiB0aGlzLmNsaWVudERhdGE/LmZlYXR1cmVDb25maWdzXHJcbiAgICAgICAgICAgICAgICAgID8ubWlzc2VkT3Bwb3J0dW5pdHlDYWxjdWxhdGlvbiA9PT0gJ2VuZ2FnZXJzLWNvbnZlcnNpb24nXHJcbiAgICAgICAgICAgICAgPyBcImVuZ2FnZXJzXCJcclxuICAgICAgICAgICAgICA6IFwiZm9vdGZhbGxcIjtcclxuICAgICAgICAgICAgICB0aGlzLmdldEZ1bm5hbCgpO1xyXG4gICAgICAgICAgICAgIHRoaXMuZ2V0VGFibGUoKTtcclxuICAgICAgICAgICAgICB0aGlzLnBlcmZvcm1hbmNlKCk7XHJcbiAgICAgICAgICAgICAgaWYodGhpcy5ub3JtYWxpemUgPT09IHRydWUpeyAgXHJcbiAgICAgICAgICAgICAgICB0aGlzLnpvbmVEd2VsbFRpbWVTcGxpdERhdGEgPVtdO1xyXG4gICAgICAgICAgICAgICAgdGhpcy56b25lTG9hZGluZyA9IGZhbHNlO1xyXG4gICAgICAgICAgICAgICAgdGhpcy56b25lTm9EYXRhID0gdHJ1ZTtcclxuICAgICAgICAgICAgICAgIHRoaXMuc3RvcmVPcGVyYXRpb25EYXRhID1bXTtcclxuICAgICAgICAgICAgICAgIHRoaXMuYXVMb2NhdGlvbnMgPVtdO1xyXG4gICAgICAgICAgICAgICAgdGhpcy5tcGFsb2FkaW5nID1mYWxzZTtcclxuICAgICAgICAgICAgICAgIHRoaXMubWFwbm9EYXRhPSB0cnVlO1xyXG4gICAgICAgICAgICAgIH0gZWxzZXtcclxuICAgICAgICAgICAgICB0aGlzLmdldFpvbmUoKTtcclxuICAgICAgICAgICAgICB0aGlzLmdldFpvbmVWYWx1ZSgpO1xyXG4gICAgICAgICAgICAgIHRoaXMuZ2V0TWFwKCk7XHJcbiAgICAgICAgICAgICAgfVxyXG4gICAgICAgICAgICAgIHRoaXMuZ2V0SW50aWFsKCk7XHJcbiAgICAgICAgICAgICBcclxuICAgICAgICAgICAgICBcclxuICAgICAgICAgICAgICB0aGlzLm5vYiA9ICEhdGhpcy5jbGllbnREYXRhPy5mZWF0dXJlQ29uZmlncz8uaXNOT0I7XHJcbiAgICAgICAgICBcclxuICAgICAgICAgICAgICAvLyB0aGlzLmNvbnZlcnNpb25WYWx1ZSA9IHRoaXMubm9iID8gJ05vQiBEZXJpdmVkJyA6IHRoaXMuY2xpZW50RGF0YT8uZmVhdHVyZUNvbmZpZ3M/Lm1pc3NlZE9wcG9ydHVuaXR5Q2FsY3VsYXRpb24gPT09J1wiZW5nYWdlcnMtY29udmVyc2lvblwiJyA/ICdjb252ZXJzaW9uJzogJ2Zvb3RmYWxsJyA7XHJcbiAgICAgICAgICAgICAgLy8gdGhpcy5jb252ZXJzaW9uVmFsdWUgPSB0aGlzLm5vYiA/ICdOb0IgRGVyaXZlZCcgOiAnZm9vdGZhbGwnO1xyXG4gICAgICAgICAgIFxyXG4gICAgICAgICAgICAgICB0aGlzLm9iakRhdGEgPSB7XHJcbiAgICAgICAgICAgICAgICAgICAgICAgIGZyb21EYXRlOiB0aGlzLmhlYWRlckRhdGE/LmRhdGU/LnN0YXJ0RGF0ZSxcclxuICAgICAgICAgICAgICAgICAgICAgICAgdG9EYXRlOiB0aGlzLmhlYWRlckRhdGE/LmRhdGU/LmVuZERhdGUsXHJcbiAgICAgICAgICAgICAgICAgICAgICAgIHN0b3JlSWQ6IHRoaXMuaGVhZGVyRGF0YT8uc3RvcmVzLmZpbHRlcigoc3RvcmU6IGFueSkgPT4gc3RvcmUuY2hlY2tlZCkubWFwKChzdG9yZTogYW55KSA9PiBzdG9yZS5zdG9yZUlkKSxcclxuICAgICAgICAgICAgICAgICAgICAgICAgY2xpZW50SWQ6IHRoaXMuaGVhZGVyRGF0YT8uY2xpZW50LFxyXG4gICAgICAgICAgICAgICAgICAgICAgICBwcm9jZXNzVHlwZTogdGhpcy5wcm9jZXNzVHlwZSxcclxuICAgICAgICAgICAgICAgICAgICAgICAgZGF0ZVR5cGU6IHRoaXMudHlwZSxcclxuICAgICAgICAgICAgICAgICAgICAgICAgZmlsdGVyQnk6IHRoaXMudHJlbmR0eXBlVmFsdWUsXHJcbiAgICAgICAgICAgICAgICAgICAgICAgIGxpbWl0OiAzMSxcclxuICAgICAgICAgICAgICAgICAgICAgICAgb2Zmc2V0OiAwLFxyXG4gICAgICAgICAgICAgICAgICAgICAgICB2YWx1ZVR5cGU6IHRoaXMudmFsdWVUeXBlLFxyXG4gICAgICAgICAgICAgICAgICAgICAgICBub2I6dGhpcy5ub2IsXHJcbiAgICAgICAgICAgICAgICAgICAgICAgIG5vcm1hbGl6ZTogdGhpcy5ub3JtYWxpemVcclxuICAgICAgICAgICAgICAgICAgICAgIH07XHJcbiAgICAgICAgICAgICAgICAgICAgICBpZiAodGhpcy5zdG9yZUlkYXJyYXk/Lmxlbmd0aCA9PT0gMSkge1xyXG4gICAgICAgICAgICAgICAgICAgICAgICBpZih0aGlzLm5vcm1hbGl6ZSA9PT0gdHJ1ZSl7XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgdGhpcy5nZXRSZWNhcFZpZGVvRGF0YSA9W11cclxuICAgICAgICAgICAgICAgICAgICAgICAgICB0aGlzLnJlY2FwbGFvZGluZyA9ZmFsc2U7XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgdGhpcy5yZWNhcG5vRGF0YSA9dHJ1ZTtcclxuICAgICAgICAgICAgICAgICAgICAgICAgfSBlbHNlIHtcclxuICAgICAgICAgICAgICAgIHRoaXMuZ2V0UmVjYXAoKTtcclxuICAgICAgICAgICAgICAgICAgICAgICAgfVxyXG4gICAgICAgICAgICAgICAgICAgICAgICB0aGlzLnRyZW5kdHlwZVZhbHVlID0gJ2FjdHVhbCc7XHJcbiAgICAgICAgICAgICAgICAgICAgICAgIHRoaXMuc2VydmljZT8udG9nZ2xlbm9ybWFsaXplKHRoaXMubm9ybWFsaXplKTtcclxuICAgICAgICAgICAgICAgICAgICAgIH0gZWxzZSB7XHJcbiAgICAgICAgICAgICAgICAgICAgICAgIHRoaXMudHJlbmR0eXBlVmFsdWUgPSAnYXZlcmFnZSc7XHJcbiAgICAgICAgICAgICAgICAgICAgICB9XHJcbiAgICAgICAgICAgICAgICAgICAgICAvLyBDYWxsIHRoZSBBUEkgYWZ0ZXIgb2JqRGF0YSBpcyBmdWxseSBwcmVwYXJlZFxyXG4gICAgICAgICAgICAgICAgICAgICAgdGhpcy5mb290ZmFsbFRyZW5kKCk7XHJcbiAgICAgICAgICAgICAgICAgICAgXHJcbiAgICAgICAgICAgICAgICAgICAgdGhpcy5kYXRlTGVuZ3RoID0gZ2V0RGF5c0JldHdlZW5EYXRlcyhkYXRhPy5kYXRlLnN0YXJ0RGF0ZSwgZGF0YT8uZGF0ZS5lbmREYXRlKTtcclxuICAgICAgICAgICAgICAgICAgICBpZiAodGhpcy5oZWFkZXJEYXRhPy5jbGllbnQgPT09ICc0NTInKSB7XHJcbiAgICAgICAgICAgICAgICAgICAgICB0aGlzLmRhdGFzZXRzID0gdGhpcy5kYXRhc2V0cy5maWx0ZXIoaXRlbSA9PiBpdGVtLnZhbHVlICE9PSAncG90ZW50aWFsQnV5ZXInKTtcclxuICAgICAgICAgICAgICAgICAgICBcclxuICAgICAgICAgICAgICAgICAgICAgIGNvbnN0IGNvbnZlcnNpb25JdGVtID0gdGhpcy5kYXRhc2V0cy5maW5kKGl0ZW0gPT4gaXRlbS52YWx1ZSA9PT0gJ2NvbnZlcnNpb24nKTtcclxuICAgICAgICAgICAgICAgICAgICAgIGlmIChjb252ZXJzaW9uSXRlbSkge1xyXG4gICAgICAgICAgICAgICAgICAgICAgICBjb25zdCBjb252VmFsdWUgPSB0aGlzLmNsaWVudERhdGE/LmZlYXR1cmVDb25maWdzPy5jb252ZXJzaW9uPy52YWx1ZSA/PyAnWCc7XHJcbiAgICAgICAgICAgICAgICAgICAgICAgIGNvbnZlcnNpb25JdGVtLmxhYmVsID0gYE1vcmUgdGhhbiAke2NvbnZWYWx1ZX0gbWluc2A7XHJcbiAgICAgICAgICAgICAgICAgICAgICB9XHJcbiAgICAgICAgICAgICAgICAgICAgXHJcbiAgICAgICAgICAgICAgICAgICAgICBjb25zdCBtaXNzZWRJdGVtID0gdGhpcy5kYXRhc2V0cy5maW5kKGl0ZW0gPT4gaXRlbS52YWx1ZSA9PT0gJ21pc3NlZG9wcG9ydHVuaXRpZXMnKTtcclxuICAgICAgICAgICAgICAgICAgICAgIGlmIChtaXNzZWRJdGVtKSB7XHJcbiAgICAgICAgICAgICAgICAgICAgICAgIGNvbnN0IGZyb20gPSB0aGlzLmNsaWVudERhdGE/LmZlYXR1cmVDb25maWdzPy5taXNzZWRPcHBvcnR1bml0eUZyb20/LnZhbHVlID8/ICdYJztcclxuICAgICAgICAgICAgICAgICAgICAgICAgY29uc3QgdG8gPSB0aGlzLmNsaWVudERhdGE/LmZlYXR1cmVDb25maWdzPy5taXNzZWRPcHBvcnR1bml0eVRvPy52YWx1ZSA/PyAnWSc7XHJcbiAgICAgICAgICAgICAgICAgICAgICAgIG1pc3NlZEl0ZW0ubGFiZWwgPSBgJHtmcm9tfSAtICR7dG99IG1pbnNgO1xyXG4gICAgICAgICAgICAgICAgICAgICAgfVxyXG4gICAgICAgICAgICAgICAgICAgIH1cclxuICAgICAgICAgICAgICAgICAgICBcclxuICAgICAgICAgICAgICAgICAgICBjb25zdCBpbml0aWFsVmFsdWUgPSB0aGlzLmdldEluaXRpYWxWYWx1ZSgpO1xyXG4gICAgICAgICAgICAgICAgICAgIHRoaXMuZm9ybS5nZXQoJ3NlbGVjdFZhbHVlJyk/LnNldFZhbHVlKGluaXRpYWxWYWx1ZSk7XHJcbiAgICAgICAgICAgICAgICAgICAgICB0aGlzLmRldGFpbGVkQ2hhcnRzPSBmYWxzZTtcclxuICAgICAgICAgICAgICAgICAgICAgIC8vIGlmKHRoaXMuaGVhZGVyRGF0YT8uY2xpZW50ID09PSc0NTknKXtcclxuICAgICAgICAgICAgICAgICAgICAgIC8vICAgdGhpcy5zZWxlY3RlZFRhYiA9IFwiZm9vdGZhbGxcIlxyXG4gICAgICAgICAgICAgICAgICAgICAgLy8gICB0aGlzLmZvb3RmYWxsVmFsdWUgPSBcImZvb3RmYWxsXCI7XHJcbiAgICAgICAgICAgICAgICAgICAgICAvLyAgIHRoaXMuc2VsY3RlZFZhbHVlID0nRm9vdGZhbGwgQW5hbHlzaXMnO1xyXG4gICAgICAgICAgICAgICAgICAgICAgLy8gICB0aGlzLnNlbGVjdGVkVGFicygnZm9vdGZhbGwnKTtcclxuICAgICAgICAgICAgICAgICAgICAgIC8vICAgdGhpcy5jZC5kZXRlY3RDaGFuZ2VzKCk7XHJcbiAgICAgICAgICAgICAgICAgICAgICAvLyB9IGVsc2Uge1xyXG4gICAgICAgICAgICAgICAgICAgICAgLy8gICB0aGlzLnNlbGVjdGVkVGFiID0gXCJ0cmFmZmljXCJcclxuICAgICAgICAgICAgICAgICAgICAgIC8vICAgdGhpcy5mb290ZmFsbFZhbHVlID0gXCJ0cmFmZmljXCI7XHJcbiAgICAgICAgICAgICAgICAgICAgICAvLyAgIHRoaXMuc2VsY3RlZFZhbHVlID0nVHJhZmZpYyBBbmFseXNpcyc7XHJcbiAgICAgICAgICAgICAgICAgICAgICAvLyAgIHRoaXMuc2VsZWN0ZWRUYWJzKCd0cmFmZmljJyk7XHJcbiAgICAgICAgICAgICAgICAgICAgICAvLyB9XHJcbiAgICAgICAgICAgICAgICAgICAgdGhpcy5kYXRhc2V0c0NhcmQgPSBbXHJcbiAgICAgICAgICAgICAgICAgICAgICB7IHZhbHVlOiB0aGlzLmZvb3RmYWxsVmFsdWUsIGxhYmVsOiB0aGlzLnNlbGN0ZWRWYWx1ZSB9LFxyXG4gICAgICAgICAgICAgICAgICAgICAgeyB2YWx1ZTogXCJkZW1vZ3JhcGhpY1wiLCBsYWJlbDogXCJEZW1vZ3JhcGhpYyBBbmFseXNpc1wiIH0sXHJcbiAgICAgICAgICAgICAgICAgICAgICB7IHZhbHVlOiBcImJ1eWVyXCIsIGxhYmVsOiBcIkJ1eWVyIEFuYWx5c2lzXCIgfSxcclxuICAgICAgICAgICAgICAgICAgICBdO1xyXG4gICAgICAgICAgICAgICAgICAgIHRoaXMudHJhZmZpY0RhdGEgPSBbXHJcbiAgICAgICAgICAgICAgICAgICAgICB7IHZhbHVlOiA3LCBsYWJlbDogXCJMYXN0IDcgRGF5c1wiIH0sXHJcbiAgICAgICAgICAgICAgICAgICAgICB7IHZhbHVlOiAzMCwgbGFiZWw6IFwiTGFzdCAzMCBEYXlzXCIgfSxcclxuICAgICAgICAgICAgICAgICAgICBdO1xyXG4gICAgICAgICAgICAgICAgICAgIHRoaXMuZm9vdGZhbGxEYXRlID10aGlzLnRyYWZmaWNEYXRhWzBdLnZhbHVlXHJcbiAgICAgICAgICAgICAgICAgICAgdGhpcy5vYmpEYXRhVHJhZmZpYyA9IHtcclxuICAgICAgICAgICAgICAgICAgICAgIGZyb21EYXRlOiB0aGlzLmhlYWRlckRhdGE/LmRhdGU/LnN0YXJ0RGF0ZSxcclxuICAgICAgICAgICAgICAgICAgICAgIHRvRGF0ZTogdGhpcy5oZWFkZXJEYXRhPy5kYXRlPy5lbmREYXRlLFxyXG4gICAgICAgICAgICAgICAgICAgICAgc3RvcmVJZDogdGhpcy5oZWFkZXJEYXRhPy5zdG9yZXMuZmlsdGVyKChzdG9yZTphbnkpID0+IHN0b3JlLmNoZWNrZWQpLm1hcCgoc3RvcmU6YW55KSA9PiBzdG9yZS5zdG9yZUlkKSxcclxuICAgICAgICAgICAgICAgICAgICAgIGNsaWVudElkOnRoaXMuaGVhZGVyRGF0YT8uY2xpZW50LFxyXG4gICAgICAgICAgICAgICAgICAgICAgcHJvY2Vzc1R5cGU6ICdmb290ZmFsbCcsXHJcbiAgICAgICAgICAgICAgICAgICAgICBub3JtYWxpemVkRGF0YTogZmFsc2UsXHJcbiAgICAgICAgICAgICAgICAgICAgICB2YWx1ZVR5cGUgOnRoaXMudmFsdWVUeXBlLFxyXG4gICAgICAgICAgICAgICAgICAgICAgbm9iOnRoaXMubm9iLFxyXG4gICAgICAgICAgICAgICAgICAgICAgbm9ybWFsaXplOiB0aGlzLm5vcm1hbGl6ZVxyXG4gICAgICAgICAgICAgICAgICAgIH07XHJcbiAgICAgICAgICAgICAgICAgICAgaWYodGhpcy5oZWFkZXJEYXRhPy5jbGllbnQgPT09JzQ1OScpe1xyXG4gICAgICAgICAgICAgICAgICAgICAgdGhpcy5zZWxlY3RlZFRhYiA9IFwiZm9vdGZhbGxcIlxyXG4gICAgICAgICAgICAgICAgICAgICAgdGhpcy5mb290ZmFsbFZhbHVlID0gXCJmb290ZmFsbFwiO1xyXG4gICAgICAgICAgICAgICAgICAgICAgdGhpcy5zZWxjdGVkVmFsdWUgPSdGb290ZmFsbCBBbmFseXNpcyc7XHJcbiAgICAgICAgICAgICAgICAgICAgICB0aGlzLnNlbGVjdGVkVGFicygnZm9vdGZhbGwnKTtcclxuICAgICAgICAgICAgICAgICAgICB9IGVsc2Uge1xyXG4gICAgICAgICAgICAgICAgICAgICAgdGhpcy5zZWxlY3RlZFRhYiA9IFwidHJhZmZpY1wiXHJcbiAgICAgICAgICAgICAgICAgICAgICB0aGlzLmZvb3RmYWxsVmFsdWUgPSBcInRyYWZmaWNcIjtcclxuICAgICAgICAgICAgICAgICAgICAgIHRoaXMuc2VsY3RlZFZhbHVlID0nVHJhZmZpYyBBbmFseXNpcyc7XHJcbiAgICAgICAgICAgICAgICAgICAgICB0aGlzLnNlbGVjdGVkVGFicygndHJhZmZpYycpO1xyXG4gICAgICAgICAgICAgICAgICAgIH1cclxuICAgICAgICAgICAgICAgICAgICBcclxuICAgICAgICAgICAgICAgICAgICB0aGlzLmNoYXJ0Tm9EYXRhID0gZmFsc2U7XHJcbiAgICAgICAgICAgICAgICAgICAgdGhpcy5jaGFydGxvYWRpbmcgPSB0cnVlO1xyXG4gICAgICAgICAgICAgICAgICAgIFxyXG4gICAgICAgICAgICAgICAgICAgIHRoaXMuY2QuZGV0ZWN0Q2hhbmdlcygpO1xyXG4gICAgICAgICAgICAgIC8vIGxvY2FsU3RvcmFnZS5zZXRJdGVtKFwiY2xpZW50QVBJLWRldGFpbHNcIiwgSlNPTi5zdHJpbmdpZnkodGhpcy5jbGllbnREYXRhPy5jbGllbnRBcGkpKTtcclxuICAgICAgICAgICAgICB9XHJcbiAgICAgICAgICAgICAgdGhpcy5zdWIyPy51bnN1YnNjcmliZSgpXHJcbiAgICAgICAgICAgIH0sXHJcbiAgICAgICAgICAgIGVycm9yOiAoZXJyb3IpID0+IHtcclxuICAgICAgICAgICAgICB0aGlzLnN1YjI/LnVuc3Vic2NyaWJlKClcclxuICAgICAgICAgICAgfVxyXG4gICAgICAgICAgfSlcclxuICAgICAgICAgIHRoaXMuY2QuZGV0ZWN0Q2hhbmdlcygpO1xyXG4gICAgICAgIC8vIE9ubHkgcHJvY2VzcyB0aGUgbGF0ZXN0IGRhdGEgYWZ0ZXIgZGVib3VuY2UgdGltZVxyXG4gICAgIFxyXG4gICAgICAgXHJcbiAgICAgICAgLy8gdGhpcy5pbml0TWFwKCk7XHJcbiAgICAgICAgdGhpcy50b29sdGlwVmFsdWUgPSBcIkRlZmF1bHQgVG9vbHRpcCBUZXh0XCI7XHJcblxyXG4gICAgICAgICAgaWYgKHRoaXMuc3RvcmVJZGFycmF5Py5sZW5ndGggPT09IDEgJiYgdGhpcy5oZWFkZXJEYXRhPy5kYXRlPy5zdGFydERhdGUgPT09IHRoaXMuaGVhZGVyRGF0YT8uZGF0ZT8uZW5kRGF0ZSkge1xyXG4gICAgICAgICAgICB0aGlzLmlzRGlzYWJsZWQgPSB0cnVlXHJcbiAgICAgICAgICB9IGVsc2Uge1xyXG4gICAgICAgICAgICB0aGlzLmlzRGlzYWJsZWQgPSBmYWxzZVxyXG4gICAgICAgICAgfVxyXG4gICAgICAgICAgXHJcbiAgICAgICAgfVxyXG4gICAgICB9KTtcclxuICAgIFxyXG4gIH1cclxuICBpc1JlbGV2YW50Q29udmVyc2lvbih2YWx1ZTogc3RyaW5nKTogYm9vbGVhbiB7XHJcbiAgICByZXR1cm4gWydmb290ZmFsbCcsICdlbmdhZ2VycycsICdQb3RlbnRpYWwgQnV5ZXJzJywgJ05vQiBEZXJpdmVkJ10uaW5jbHVkZXModmFsdWUpO1xyXG4gIH1cclxuICBnZXRWbHVlcygpIHtcclxuICAgIGlmICh0aGlzLmhlYWRlckRhdGE/LmNsaWVudCA9PT0gJzQ1MicpIHtcclxuICAgICAgdGhpcy5mb290ZmFsbGRhdGFzZXRzID0gW1xyXG4gICAgICAgIHsgdmFsdWU6ICdmb290ZmFsbCcsIGxhYmVsOiAnRm9vdGZhbGwnIH0sXHJcbiAgICAgICAgeyB2YWx1ZTogJ2JvdW5jZWQnLCBsYWJlbDogYExlc3MgdGhhbiAke3RoaXMuZmVhdHVyZUNvbmZpZz8uYm91bmNlZExpbWl0LnZhbHVlfSBtaW5zIEZvb3RmYWxsYCB9LFxyXG4gICAgICAgIHsgdmFsdWU6ICdlbmdhZ2VyJywgbGFiZWw6IGBNb3JlIHRoYW4gJHt0aGlzLmZlYXR1cmVDb25maWc/LmJvdW5jZWRMaW1pdC52YWx1ZX0gbWluc2AgfSxcclxuICAgICAgICB7IHZhbHVlOiAnbWlzc2VkT3Bwb3J0dW5pdHknLCBsYWJlbDogYCR7dGhpcy5mZWF0dXJlQ29uZmlnPy5taXNzZWRPcHBvcnR1bml0eUZyb20udmFsdWV9IC0gJHt0aGlzLmZlYXR1cmVDb25maWc/Lm1pc3NlZE9wcG9ydHVuaXR5VG8udmFsdWV9IG1pbnNgIH0sXHJcbiAgICAgICAgeyB2YWx1ZTogJ2NvbnZlcnNpb24nLCBsYWJlbDogYE1vcmUgdGhhbiAke3RoaXMuZmVhdHVyZUNvbmZpZz8uY29udmVyc2lvbi52YWx1ZX0gbWluc2AgfVxyXG4gICAgICBdO1xyXG4gICAgICB0aGlzLmJvdW5jZWRhdGFzZXRzID0gW1xyXG4gICAgICAgIHsgdmFsdWU6ICdmb290ZmFsbCcsIGxhYmVsOiAnRm9vdGZhbGwnIH0sXHJcbiAgICAgICAgeyB2YWx1ZTogJ2JvdW5jZWQnLCBsYWJlbDogYExlc3MgdGhhbiAke3RoaXMuZmVhdHVyZUNvbmZpZz8uYm91bmNlZExpbWl0LnZhbHVlfSBtaW5zIEZvb3RmYWxsYCB9LFxyXG4gICAgICAgIHsgdmFsdWU6ICdlbmdhZ2VyJywgbGFiZWw6IGBNb3JlIHRoYW4gJHt0aGlzLmZlYXR1cmVDb25maWc/LmJvdW5jZWRMaW1pdC52YWx1ZX0gbWluc2AgfSxcclxuICAgICAgICB7IHZhbHVlOiAnbWlzc2VkT3Bwb3J0dW5pdHknLCBsYWJlbDogYCR7dGhpcy5mZWF0dXJlQ29uZmlnPy5taXNzZWRPcHBvcnR1bml0eUZyb20udmFsdWV9LSR7dGhpcy5mZWF0dXJlQ29uZmlnPy5taXNzZWRPcHBvcnR1bml0eVRvLnZhbHVlfSBtaW5zYCB9LFxyXG4gICAgICAgIHsgdmFsdWU6ICdjb252ZXJzaW9uJywgbGFiZWw6IGBNb3JlIHRoYW4gJHt0aGlzLmZlYXR1cmVDb25maWc/LmNvbnZlcnNpb24udmFsdWV9IG1pbnNgIH1cclxuICAgICAgXTtcclxuICAgIH0gXHJcblxyXG4gICAgdGhpcy5mb290ZmFsbFZhbHVlMSA9IHRoaXMuZm9vdGZhbGxkYXRhc2V0c1swXS52YWx1ZTtcclxuICAgIHRoaXMuYm91bmNlVmFsdWUxID0gdGhpcy5ib3VuY2VkYXRhc2V0c1sxXS52YWx1ZTtcclxuICAgIHRoaXMuZm9vdGZhbGxMYWJlbCA9IHRoaXMuZm9vdGZhbGxkYXRhc2V0c1swXS5sYWJlbDtcclxuICAgIHRoaXMuYm91bmNlTGFiZWwgPSB0aGlzLmJvdW5jZWRhdGFzZXRzWzFdLmxhYmVsO1xyXG4gIH1cclxuXHJcbiAgbmdBZnRlclZpZXdJbml0KCkge1xyXG4gICAgLy8gSW5pdGlhbGl6ZSB0b29sdGlwcyBhZnRlciB0aGUgdmlldyBpcyBpbml0aWFsaXplZFxyXG4gICAgY29uc3QgdG9vbHRpcFRyaWdnZXJMaXN0ID0gW10uc2xpY2UuY2FsbChkb2N1bWVudC5xdWVyeVNlbGVjdG9yQWxsKCdbZGF0YS1icy10b2dnbGU9XCJ0b29sdGlwXCJdJykpO1xyXG4gICAgdG9vbHRpcFRyaWdnZXJMaXN0LmZvckVhY2goZnVuY3Rpb24gKHRvb2x0aXBUcmlnZ2VyRWwpIHtcclxuICAgICAgbmV3IGJvb3RzdHJhcC5Ub29sdGlwKHRvb2x0aXBUcmlnZ2VyRWwpO1xyXG4gICAgfSk7XHJcbiAgfVxyXG4gIGdldEZpbHRlcmVkQm91bmNlRGF0YXNldHMoKSB7XHJcbiAgICByZXR1cm4gdGhpcy5ib3VuY2VkYXRhc2V0cy5maWx0ZXIoZGF0YXNldCA9PiBkYXRhc2V0LnZhbHVlICE9PSB0aGlzLmZvb3RmYWxsVmFsdWUxKTtcclxuICB9XHJcbiAgXHJcbiAgLy8gRmlsdGVyIHRoZSBmb290ZmFsbCBvcHRpb25zIHdoZW4gdGhlIGJvdW5jZVZhbHVlIGNoYW5nZXNcclxuICBnZXRGaWx0ZXJlZEZvb3RmYWxsRGF0YXNldHMoKSB7XHJcbiAgICByZXR1cm4gdGhpcy5mb290ZmFsbGRhdGFzZXRzLmZpbHRlcihkYXRhc2V0ID0+IGRhdGFzZXQudmFsdWUgIT09IHRoaXMuYm91bmNlVmFsdWUxKTtcclxuICB9XHJcbiAgZm9vdGZhbGxWYWx1ZTE9J2Zvb3RmYWxsJ1xyXG4gIG9uVmFsdWVDaGFuZ2UoZXZ0OiBhbnkpIHtcclxuICAgIHRoaXMuZm9vdGZhbGxWYWx1ZTEgPSBldnQudGFyZ2V0LnZhbHVlO1xyXG5pZihldnQudGFyZ2V0LnZhbHVlID09ICdmb290ZmFsbCcpXHJcbiAgdGhpcy5mb290ZmFsbExhYmVsID0gJ0Zvb3RmYWxsJ1xyXG5lbHNlIGlmKGV2dC50YXJnZXQudmFsdWUgPT0gJ2JvdW5jZWQnKVxyXG4gIHRoaXMuZm9vdGZhbGxMYWJlbCA9IHRoaXMuaGVhZGVyRGF0YT8uY2xpZW50ID09PSAnNDUyJz9gTGVzcyB0aGFuICR7dGhpcy5mZWF0dXJlQ29uZmlnPy5ib3VuY2VkTGltaXQudmFsdWV9IG1pbnMgRm9vdGZhbGxgOiAnQm91bmNlZCBGb290ZmFsbCdcclxuZWxzZSBpZihldnQudGFyZ2V0LnZhbHVlID09ICdlbmdhZ2VyJylcclxuICB0aGlzLmZvb3RmYWxsTGFiZWwgPSB0aGlzLmhlYWRlckRhdGE/LmNsaWVudCA9PT0gJzQ1Mic/YE1vcmUgdGhhbiAke3RoaXMuZmVhdHVyZUNvbmZpZz8uYm91bmNlZExpbWl0LnZhbHVlfSBtaW5zYDogJ0VuZ2FnZXJzJ1xyXG5lbHNlIGlmKGV2dC50YXJnZXQudmFsdWUgPT0gJ21pc3NlZE9wcG9ydHVuaXR5JylcclxuICB0aGlzLmZvb3RmYWxsTGFiZWwgPSB0aGlzLmhlYWRlckRhdGE/LmNsaWVudCA9PT0gJzQ1Mic/YCR7dGhpcy5mZWF0dXJlQ29uZmlnPy5taXNzZWRPcHBvcnR1bml0eUZyb20udmFsdWV9LSR7dGhpcy5mZWF0dXJlQ29uZmlnPy5taXNzZWRPcHBvcnR1bml0eVRvLnZhbHVlfSBtaW5zYDogJ01pc3NlZCBPcHBvcnR1bml0eSdcclxuZWxzZSBpZihldnQudGFyZ2V0LnZhbHVlID09ICdwb3RlbnRpYWxCdXllcicpXHJcbiAgdGhpcy5mb290ZmFsbExhYmVsID0gJ1BvdGVudGlhbCBCdXllcidcclxuZWxzZSBpZihldnQudGFyZ2V0LnZhbHVlID09ICdjb252ZXJzaW9uJylcclxuICB0aGlzLmZvb3RmYWxsTGFiZWwgPSB0aGlzLmhlYWRlckRhdGE/LmNsaWVudCA9PT0gJzQ1Mic/YE1vcmUgdGhhbiAke3RoaXMuZmVhdHVyZUNvbmZpZz8uY29udmVyc2lvbi52YWx1ZX0gbWluc2A6ICdjb252ZXJzaW9uJ1xyXG4gICAgaWYodGhpcy5mb290ZmFsbFZhbHVlMSAhPT0gdGhpcy5ib3VuY2VWYWx1ZTEpXHJcbiAgICAgIHRoaXMucGVyZm9ybWFuY2UoKTtcclxuICAgIGVsc2UgXHJcbiAgICB0aGlzLnRvYXN0LmdldEVycm9yVG9hc3QoJ1NhbWUgdmFsdWUgbm90IGZpbHRlcmVkJylcclxuICB9XHJcbiAgb25Cb3VuY2VDaGFuZ2UoZXZ0OiBhbnkpIHtcclxuICAgIHRoaXMuYm91bmNlVmFsdWUxID0gZXZ0LnRhcmdldC52YWx1ZTtcclxuICAgIGlmKGV2dC50YXJnZXQudmFsdWUgPT0gJ2Zvb3RmYWxsJylcclxuICAgICAgdGhpcy5ib3VuY2VMYWJlbCA9ICdGb290ZmFsbCdcclxuICAgIGVsc2UgaWYoZXZ0LnRhcmdldC52YWx1ZSA9PSAnYm91bmNlZCcpXHJcbiAgICAgIHRoaXMuYm91bmNlTGFiZWwgPSB0aGlzLmhlYWRlckRhdGE/LmNsaWVudCA9PT0gJzQ1Mic/YExlc3MgdGhhbiAke3RoaXMuZmVhdHVyZUNvbmZpZz8uYm91bmNlZExpbWl0LnZhbHVlfSBtaW5zIEZvb3RmYWxsYDogJ0JvdW5jZWQgRm9vdGZhbGwnXHJcbiAgICBlbHNlIGlmKGV2dC50YXJnZXQudmFsdWUgPT0gJ2VuZ2FnZXInKVxyXG4gICAgICB0aGlzLmJvdW5jZUxhYmVsID0gdGhpcy5oZWFkZXJEYXRhPy5jbGllbnQgPT09ICc0NTInP2BNb3JlIHRoYW4gJHt0aGlzLmZlYXR1cmVDb25maWc/LmJvdW5jZWRMaW1pdC52YWx1ZX0gbWluc2A6ICdFbmdhZ2VycydcclxuICAgIGVsc2UgaWYoZXZ0LnRhcmdldC52YWx1ZSA9PSAnbWlzc2VkT3Bwb3J0dW5pdHknKVxyXG4gICAgICB0aGlzLmJvdW5jZUxhYmVsID0gdGhpcy5oZWFkZXJEYXRhPy5jbGllbnQgPT09ICc0NTInP2Ake3RoaXMuZmVhdHVyZUNvbmZpZz8ubWlzc2VkT3Bwb3J0dW5pdHlGcm9tLnZhbHVlfS0ke3RoaXMuZmVhdHVyZUNvbmZpZz8ubWlzc2VkT3Bwb3J0dW5pdHlUby52YWx1ZX0gbWluc2A6ICdNaXNzZWQgT3Bwb3J0dW5pdHknXHJcbiAgICBlbHNlIGlmKGV2dC50YXJnZXQudmFsdWUgPT0gJ3BvdGVudGlhbEJ1eWVyJylcclxuICAgICAgdGhpcy5ib3VuY2VMYWJlbCA9ICdQb3RlbnRpYWwgQnV5ZXInXHJcbiAgICBlbHNlIGlmKGV2dC50YXJnZXQudmFsdWUgPT0gJ2NvbnZlcnNpb24nKVxyXG4gICAgICB0aGlzLmJvdW5jZUxhYmVsID0gdGhpcy5oZWFkZXJEYXRhPy5jbGllbnQgPT09ICc0NTInID8gYE1vcmUgdGhhbiAke3RoaXMuZmVhdHVyZUNvbmZpZz8uY29udmVyc2lvbi52YWx1ZX0gbWluc2AgOiAnY29udmVyc2lvbidcclxuICAgIGlmKHRoaXMuZm9vdGZhbGxWYWx1ZTEgIT09IHRoaXMuYm91bmNlVmFsdWUxKVxyXG4gICAgdGhpcy5wZXJmb3JtYW5jZSgpO1xyXG4gIGVsc2UgXHJcbiAgdGhpcy50b2FzdC5nZXRFcnJvclRvYXN0KCdTYW1lIHZhbHVlIG5vdCBmaWx0ZXJlZCcpXHJcbiAgfVxyXG4gIGNvbnZlcnRQZXJjZW50VG9QaXhlbHMocGVyY2VudDogc3RyaW5nLCBtYXhQZXJjZW50OiBudW1iZXIsIGJhc2VEaW1lbnNpb246IG51bWJlcik6IG51bWJlciB7XHJcbiAgICAvLyBSZW1vdmUgdGhlICclJyBzaWduIGFuZCBwYXJzZSB0aGUgdmFsdWVcclxuICAgIGNvbnN0IHZhbHVlID0gcGFyc2VGbG9hdChwZXJjZW50LnJlcGxhY2UoJyUnLCAnJykpO1xyXG4gICAgaWYgKGlzTmFOKHZhbHVlKSkgcmV0dXJuIDA7XHJcbiAgXHJcbiAgICAvLyBDYWxjdWxhdGUgcGl4ZWwgdmFsdWUgYmFzZWQgb24gdGhlIG1heGltdW0gcGVyY2VudGFnZSBhbmQgYmFzZSBkaW1lbnNpb25cclxuICAgIHJldHVybiAodmFsdWUgLyBtYXhQZXJjZW50KSAqIGJhc2VEaW1lbnNpb247XHJcbiAgfVxyXG4gIFxyXG5cclxuICBnZXRNYXhQZXJjZW50YWdlKGRhdGE6IGFueVtdLCBmaWVsZDogc3RyaW5nKTogbnVtYmVyIHtcclxuICAgIC8vIEV4dHJhY3QgYW5kIHJldHVybiB0aGUgbWF4aW11bSBwZXJjZW50YWdlIHZhbHVlIGZyb20gdGhlIGZpZWxkXHJcbiAgICByZXR1cm4gTWF0aC5tYXgoLi4uZGF0YS5tYXAoaXRlbSA9PiBwYXJzZUZsb2F0KGl0ZW1bZmllbGRdKSB8fCAwKSk7XHJcbiAgfVxyXG4gIFxyXG4gIC8vIG5vcm1hbGl6ZURhdGEoZGF0YTogYW55W10pOiBhbnlbXSB7XHJcbiAgLy8gICBjb25zdCBtYXhUb3BQZXJjZW50ID0gTWF0aC5tYXgoLi4uZGF0YS5tYXAoaXRlbSA9PiBwYXJzZUZsb2F0KGl0ZW0udG9wLnJlcGxhY2UoJyUnLCAnJykpKSk7XHJcbiAgLy8gICBjb25zdCBtYXhMZWZ0UGVyY2VudCA9IE1hdGgubWF4KC4uLmRhdGEubWFwKGl0ZW0gPT4gcGFyc2VGbG9hdChpdGVtLmxlZnQucmVwbGFjZSgnJScsICcnKSkpKTtcclxuICBcclxuICAvLyAgIHJldHVybiBkYXRhLm1hcChpdGVtID0+ICh7XHJcbiAgLy8gICAgIC4uLml0ZW0sXHJcbiAgLy8gICAgIHRvcDogdGhpcy5zY2FsZVBlcmNlbnQoaXRlbS50b3AsIG1heFRvcFBlcmNlbnQpICsgJyUnLFxyXG4gIC8vICAgICBsZWZ0OiB0aGlzLnNjYWxlUGVyY2VudChpdGVtLmxlZnQsIG1heExlZnRQZXJjZW50KSArICclJ1xyXG4gIC8vICAgfSkpO1xyXG4gIC8vIH1cclxuICBcclxuICBzY2FsZVBlcmNlbnQocGVyY2VudDogc3RyaW5nLCBtYXhQZXJjZW50OiBudW1iZXIpOiBzdHJpbmcge1xyXG4gICAgY29uc3QgcGVyY2VudFZhbHVlID0gcGFyc2VGbG9hdChwZXJjZW50LnJlcGxhY2UoJyUnLCAnJykpO1xyXG4gICAgcmV0dXJuICgocGVyY2VudFZhbHVlIC8gbWF4UGVyY2VudCkgKiAxMDApLnRvRml4ZWQoMik7XHJcbiAgfVxyXG4vLyBUb2dnbGUgdGhlIHRvb2x0aXAgZGlzcGxheVxyXG50b2dnbGVUb29sdGlwKHBvaW50TmFtZTogc3RyaW5nKSB7XHJcbiAgdGhpcy5hY3RpdmVUb29sdGlwID0gdGhpcy5hY3RpdmVUb29sdGlwID09PSBwb2ludE5hbWUgPyBudWxsIDogcG9pbnROYW1lO1xyXG59XHJcblxyXG5wZXJmb3JtYW5jZSgpe1xyXG4gIHRoaXMucGVyZm9ybWFuY2VMb2FkaW5nID0gdHJ1ZTtcclxuICB0aGlzLnBlcmZvcm1hbmNlbm9EYXRhID0gZmFsc2U7XHJcbiAgbGV0IG9iaiA9IHtcclxuICAgIGNsaWVudElkOnRoaXMuaGVhZGVyRGF0YT8uY2xpZW50LFxyXG4gICAgZnJvbURhdGU6IHRoaXMuaGVhZGVyRGF0YT8uZGF0ZS5zdGFydERhdGUsXHJcbiAgICB0b0RhdGU6IHRoaXMuaGVhZGVyRGF0YT8uZGF0ZS5lbmREYXRlLFxyXG4gICAgbm9ybWFsaXplOiB0aGlzLm5vcm1hbGl6ZSxcclxuICAgIHN0b3JlSWQ6IHRoaXMuaGVhZGVyRGF0YT8uc3RvcmVzLmZpbHRlcigoc3RvcmU6YW55KSA9PiBzdG9yZS5jaGVja2VkKS5tYXAoKHN0b3JlOmFueSkgPT4gc3RvcmUuc3RvcmVJZCksXHJcbiAgIHByb2Nlc3N0eXBlMTogdGhpcy5mb290ZmFsbFZhbHVlMSxcclxuICAgcHJvY2Vzc3R5cGUyIDogdGhpcy5ib3VuY2VWYWx1ZTFcclxuICB9O1xyXG4gIHRoaXMuc2VydmljZS5wZXJmb3JtYW5jZU1hdHJpeChvYmopLnBpcGUodGFrZVVudGlsKHRoaXMuZGVzdHJveSQpKVxyXG4gID8uc3Vic2NyaWJlKHtcclxuICAgIG5leHQ6IChyZXM6IGFueSkgPT4ge1xyXG4gICAgICBpZiAocmVzICYmIHJlcy5jb2RlID09PSAyMDApIHtcclxuICAgICAgICB0aGlzLnBlcmZvcm1hbmNlRGF0YSA9IHJlcz8uZGF0YT8ucGVyZm9ybWFuY2VEYXRhXHJcbiAgICAgICAgLy8gdGhpcy5wZXJmb3JtYW5jZURhdGEgPSB0aGlzLm5vcm1hbGl6ZURhdGEodGhpcy5wZXJmb3JtYW5jZURhdGEpO1xyXG4gICAgICAgIC8vIENhbGN1bGF0ZSBtYXhpbXVtIHBlcmNlbnRhZ2VzXHJcbiAgICAgICAgLy8gY29uc3QgbWF4VG9wID0gTWF0aC5tYXgoLi4udGhpcy5wZXJmb3JtYW5jZURhdGEubWFwKChpdGVtOmFueSkgPT4gcGFyc2VGbG9hdChpdGVtLnRvcC5yZXBsYWNlKCclJywgJycpKSkpO1xyXG4gICAgICAgIC8vIGNvbnN0IG1heExlZnQgPSBNYXRoLm1heCguLi50aGlzLnBlcmZvcm1hbmNlRGF0YS5tYXAoKGl0ZW06YW55KSA9PiBwYXJzZUZsb2F0KGl0ZW0ubGVmdC5yZXBsYWNlKCclJywgJycpKSkpO1xyXG4gICAgICAgIFxyXG4gICAgICAgIC8vIENvbnZlcnQgcGVyZm9ybWFuY2UgZGF0YSB0byBwaXhlbCB2YWx1ZXNcclxuICAgICAgICB0aGlzLnBvaW50cyA9IHRoaXMucGVyZm9ybWFuY2VEYXRhLm1hcCgoZGF0YTogYW55KSA9PiAoe1xyXG4gICAgICAgICAgbmFtZTogZGF0YS5zdG9yZU5hbWUsXHJcbiAgICAgICAgICBzdG9yZUlkOiBkYXRhLnN0b3JlSWQsXHJcbiAgICAgICAgICBhdmdGb290ZmFsbDogZGF0YS5hdmcsXHJcbiAgICAgICAgICBvcGVuVGltZTogZGF0YS5hdmdPcGVuVGltZSxcclxuICAgICAgICAgIGNsb3NlVGltZTogZGF0YS5hdmdDbG9zZVRpbWUsXHJcbiAgICAgICAgICB0b3A6IGRhdGEudG9wLCAvLyBBc3N1bWluZyA1MDBweCBhcyB0aGUgYmFzZSBoZWlnaHRcclxuICAgICAgICAgIGxlZnQ6IGRhdGEubGVmdCAgLy8gQXNzdW1pbmcgMTAwMHB4IGFzIHRoZSBiYXNlIHdpZHRoXHJcbiAgICAgICAgfSkpOyBcclxuICAgICAgICB0aGlzLnBlcmZvcm1hbmNlTG9hZGluZyA9IGZhbHNlO1xyXG4gICAgICAgIHRoaXMucGVyZm9ybWFuY2Vub0RhdGEgPSBmYWxzZTtcclxuICAgICAgfSBlbHNlIHtcclxuICAgICAgICB0aGlzLnBlcmZvcm1hbmNlTG9hZGluZyA9IGZhbHNlO1xyXG4gICAgICAgIHRoaXMucGVyZm9ybWFuY2Vub0RhdGEgPSB0cnVlO1xyXG4gICAgICB9XHJcbiAgICAgIH1cclxuICAgIH0pXHJcbiAgfVxyXG5cclxuICBnZXRUb29sdGlwVGV4dCgpOiBzdHJpbmcge1xyXG4gICAgLy8gTG9naWMgdG8gZGV0ZXJtaW5lIHRoZSB0b29sdGlwIHRleHRcclxuICAgIHJldHVybiBcIkR5bmFtaWMgVG9vbHRpcCBUZXh0IFwiICsgbmV3IERhdGUoKS50b0xvY2FsZVRpbWVTdHJpbmcoKTtcclxuICB9XHJcblxyXG4gIGdldEZ1bm5hbCgpe1xyXG4gICAgdGhpcy50YWJsZW9iai52YWx1ZVR5cGU9IHRoaXMudmFsdWVUeXBlLFxyXG4gICAgIHRoaXMudGFibGVvYmouZnJvbURhdGUgPSB0aGlzLmhlYWRlckRhdGE/LmRhdGUuc3RhcnREYXRlO1xyXG4gICAgIHRoaXMudGFibGVvYmoudG9EYXRlID0gdGhpcy5oZWFkZXJEYXRhPy5kYXRlLmVuZERhdGU7XHJcbiAgICAgaWYodGhpcy5jb252ZXJzaW9uVmFsdWUgPT09ICdmb290ZmFsbCcpe1xyXG4gICAgICB0aGlzLnRhYmxlb2JqLmNvbnZlcnNpb250eXBlID0gJ2Zvb3RmYWxsLWNvdW50JztcclxuICAgICB9IGlmICh0aGlzLmNvbnZlcnNpb25WYWx1ZSA9PT0gJ2VuZ2FnZXJzJyl7XHJcbiAgICAgIHRoaXMudGFibGVvYmouY29udmVyc2lvbnR5cGUgPSAnZW5nYWdlcnMtY291bnQnO1xyXG4gICAgIH1pZiAodGhpcy5jb252ZXJzaW9uVmFsdWUgPT09ICdQb3RlbnRpYWwgQnV5ZXJzJyl7XHJcbiAgICAgIHRoaXMudGFibGVvYmouY29udmVyc2lvbnR5cGUgPSAnYmlsbGFibGUtY291bnQnO1xyXG4gICAgIH0gaWYgKHRoaXMuY29udmVyc2lvblZhbHVlID09PSAnTm9CIERlcml2ZWQnKXtcclxuICAgICAgdGhpcy50YWJsZW9iai5jb252ZXJzaW9udHlwZSA9ICdub2InO1xyXG4gICAgIH1cclxuICAgICBcclxuICAgIGRlbGV0ZSB0aGlzLnRhYmxlb2JqLm9mZnNldDtcclxuICAgIGRlbGV0ZSB0aGlzLnRhYmxlb2JqLnJlY2FwVmlkZW9EYXRlO1xyXG4gICAgZGVsZXRlIHRoaXMudGFibGVvYmoubGltaXQ7IFxyXG4gICAgZGVsZXRlIHRoaXMudGFibGVvYmouZXhwb3J0O1xyXG4gICAgZGVsZXRlIHRoaXMudGFibGVvYmouc29ydDtcclxuICAgIGRlbGV0ZSB0aGlzLnRhYmxlb2JqLnNvcnRCeTtcclxuICAgIHRoaXMuaGVhdGxvYWRpbmcgPSB0cnVlO1xyXG4gICAgdGhpcy5oZWF0bm9EYXRhID0gZmFsc2U7XHJcbiAgIGRlbGV0ZSB0aGlzLnRhYmxlb2JqLmRhdGVUeXBlXHJcbiAgICB0aGlzLnNlcnZpY2VcclxuICAgICAgLmdldEZ1bm5lbENhcmRzKHRoaXMudGFibGVvYmopXHJcbiAgICAgIC5waXBlKHRha2VVbnRpbCh0aGlzLmRlc3Ryb3kkKSlcclxuICAgICAgPy5zdWJzY3JpYmUoe1xyXG4gICAgICAgIG5leHQ6IChyZXM6IGFueSkgPT4ge1xyXG4gICAgICAgICAgaWYgKHJlcyAmJiByZXMuY29kZSA9PT0gMjAwKSB7XHJcbiAgICAgICAgICAgIC8vIHRoaXMuZ2V0Q2FyZERhdGEgPSByZXM/LmRhdGE/LmNhcmQ7XHJcbiAgICAgICAgICAgIHRoaXMuaGVhdE1hcERhdGEgPSByZXM/LmRhdGE/LmZ1bm5lbENoYXJ0O1xyXG4gICAgICAgICAgIFxyXG4gICAgICAgICAgICB0aGlzLmhlYXRNYXAoKTtcclxuICAgICAgICAgICAgdGhpcy5jZC5kZXRlY3RDaGFuZ2VzKCk7XHJcbiAgICAgICAgICB9IGVsc2Uge1xyXG4gICAgICAgICAgICB0aGlzLmdldENhcmREYXRhID1bXTtcclxuICAgICAgICAgICAgdGhpcy5oZWF0TWFwRGF0YSA9W107XHJcbiAgICAgICAgICB0aGlzLmhlYXRsb2FkaW5nID0gZmFsc2VcclxuICAgICAgICAgIHRoaXMuaGVhdG5vRGF0YSA9IHRydWVcclxuICAgICAgICAgIH1cclxuICAgICAgICB9LFxyXG4gICAgICAgIGVycm9yOiAoZXJyOiBhbnkpID0+IHtcclxuICAgICAgICAgIHRoaXMuZ2V0Q2FyZERhdGEgPVtdO1xyXG4gICAgICAgICAgdGhpcy5oZWF0TWFwRGF0YSA9W107XHJcbiAgICAgICAgICB0aGlzLmNkLmRldGVjdENoYW5nZXMoKTtcclxuICAgICAgICB9LFxyXG4gICAgICAgIGNvbXBsZXRlOiAoKSA9PiB7fSxcclxuICAgICAgfSk7XHJcbiAgfVxyXG4gIGdldEZvb3RmYWxsQ2FyZERhdGE6YW55PVtdO1xyXG4gIGdldENvbnZlcnNpb25DYXJkRGF0YTphbnk9W107XHJcbiAgZ2V0Qm91bmNlZENhcmREYXRhOmFueSA9W107XHJcbiAgZ2V0RW5nYWdlcnNDYXJkRGF0YTphbnk9W107XHJcbiAgZ2V0UG90ZW50aWFsQnV5ZXJzQ2FyZERhdGE6YW55ID1bXTtcclxuICBnZXRNaXNzZWRPcHBvcnR1bml0eURhdGE6YW55ID1bXTtcclxuICBnZXRQb3RlbnRpYWxCdXllcnNEYXRhOmFueT1bXTtcclxuICBnZXRJbnRpYWwoKXtcclxuICAgIGRlbGV0ZSB0aGlzLnRhYmxlb2JqLnJlY2FwVmlkZW9EYXRlO1xyXG4gICAgZGVsZXRlIHRoaXMudGFibGVvYmouc29ydDtcclxuICAgIGRlbGV0ZSB0aGlzLnRhYmxlb2JqLnNvcnRCeTtcclxuICAgICh0aGlzLnRhYmxlb2JqLnZhbHVlVHlwZSA9IHRoaXMudmFsdWVUeXBlKSxcclxuICAgICh0aGlzLnRhYmxlb2JqLmZyb21EYXRlID0gdGhpcy5oZWFkZXJEYXRhPy5kYXRlLnN0YXJ0RGF0ZSk7XHJcbiAgdGhpcy50YWJsZW9iai50b0RhdGUgPSB0aGlzLmhlYWRlckRhdGE/LmRhdGUuZW5kRGF0ZTtcclxuICB0aGlzLmdldEZvb3RmYWxsQ2FyZCgpO1xyXG4gIHRoaXMuZ2V0Q29udmVyc2lvbkNhcmQoKTtcclxuICB0aGlzLmdldEJvdW5jZWRDYXJkKCk7XHJcbiAgdGhpcy5nZXRFbmdhZ2Vyc0NhcmQoKTtcclxuICB0aGlzLmdldFBvdGVudGlhbEJ1eWVyc0NhcmQoKTtcclxuICB0aGlzLmdldE1pc3NlZE9wcG9ydHVuaXR5Q2FyZCgpO1xyXG4gIHRoaXMuZ2V0UG90ZW50aWFsQnV5ZXJzKCk7XHJcbiAgfVxyXG4gIGZvb3RmYWxsbG9hZGluZyA9dHJ1ZTtcclxuICBmb290ZmFsbE5vZGF0YSA9ZmFsc2U7XHJcbiAgZ2V0Rm9vdGZhbGxDYXJkKCl7XHJcbiAgICB0aGlzLmZvb3RmYWxsbG9hZGluZyA9dHJ1ZTtcclxuICAgIHRoaXMuZm9vdGZhbGxOb2RhdGEgPWZhbHNlO1xyXG4gICAgZGVsZXRlIHRoaXMudGFibGVvYmoub2Zmc2V0O1xyXG4gICAgZGVsZXRlIHRoaXMudGFibGVvYmoubGltaXQ7XHJcbiAgICBkZWxldGUgdGhpcy50YWJsZW9iai5leHBvcnQ7XHJcbiAgICB0aGlzLnRhYmxlb2JqLmRhdGVUeXBlPSB0aGlzLmRhdGVUeXBlO1xyXG4gICAgdGhpcy5zZXJ2aWNlXHJcbiAgICAgIC5nZXRGb290ZGZhbGxDYXJkTGlzdCh0aGlzLnRhYmxlb2JqKVxyXG4gICAgICAucGlwZSh0YWtlVW50aWwodGhpcy5kZXN0cm95JCkpXHJcbiAgICAgID8uc3Vic2NyaWJlKHtcclxuICAgICAgICBuZXh0OiAocmVzOiBhbnkpID0+IHtcclxuICAgICAgICAgIGlmIChyZXMgJiYgcmVzLmNvZGUgPT09IDIwMCkge1xyXG4gICAgICAgICAgICB0aGlzLmdldEZvb3RmYWxsQ2FyZERhdGEgPSByZXM/LmRhdGE7XHJcbiAgICAgICAgICBpZih0aGlzLmdldEZvb3RmYWxsQ2FyZERhdGE/LmRhdGE/LmZvb3RmYWxsPy5kYXRhLmxlbmd0aCl7XHJcbiAgICAgICAgICAgIHRoaXMuZm9vdGZhbGxsaW5lQ2hhcnRzKCk7XHJcbiAgICAgICAgICAgIHRoaXMuZm9vdGZhbGxsb2FkaW5nID1mYWxzZTtcclxuICAgICAgICAgICAgdGhpcy5mb290ZmFsbE5vZGF0YSA9ZmFsc2U7XHJcbiAgICAgICAgICB9IGVsc2Uge1xyXG4gICAgICAgICAgdGhpcy5nZXRGb290ZmFsbENhcmREYXRhID1bXTtcclxuICAgICAgICAgIHRoaXMuZm9vdGZhbGxsb2FkaW5nID1mYWxzZTtcclxuICAgICAgICAgIHRoaXMuZm9vdGZhbGxOb2RhdGEgPXRydWU7XHJcbiAgICAgICAgICB9XHJcbiAgICAgICAgICB9IGVsc2UgeyBcclxuICAgICAgICAgIHRoaXMuZ2V0Rm9vdGZhbGxDYXJkRGF0YSA9W107XHJcbiAgICAgICAgICB0aGlzLmZvb3RmYWxsbG9hZGluZyA9ZmFsc2U7XHJcbiAgICAgICAgICB0aGlzLmZvb3RmYWxsTm9kYXRhID10cnVlO1xyXG4gICAgICAgIH1cclxuICAgICAgfSxcclxuICAgICAgZXJyb3I6IChlcnI6IGFueSkgPT4ge1xyXG4gICAgICAgIHRoaXMuZ2V0Rm9vdGZhbGxDYXJkRGF0YSA9W107XHJcbiAgICAgICAgdGhpcy5mb290ZmFsbGxvYWRpbmcgPWZhbHNlO1xyXG4gICAgICAgIHRoaXMuZm9vdGZhbGxOb2RhdGEgPXRydWU7XHJcbiAgICAgICAgdGhpcy5jZC5kZXRlY3RDaGFuZ2VzKCk7XHJcbiAgICAgIH0sIFxyXG4gICAgICB9KVxyXG4gIH1cclxuICBzZXRDb252ZXJzaW9uVHlwZShjb252ZXJzaW9uVmFsdWU6IHN0cmluZyk6IHN0cmluZyB7XHJcbiAgICBjb25zdCBtYXA6IFJlY29yZDxzdHJpbmcsIHN0cmluZz4gPSB7XHJcbiAgICAgICdmb290ZmFsbCc6ICdmb290ZmFsbC1jb3VudCcsXHJcbiAgICAgICdlbmdhZ2Vycyc6ICdlbmdhZ2Vycy1jb3VudCcsXHJcbiAgICAgICdQb3RlbnRpYWwgQnV5ZXJzJzogJ2JpbGxhYmxlLWNvdW50JyxcclxuICAgICAgJ05vQiBEZXJpdmVkJzogJ25vYicsXHJcbiAgICB9O1xyXG4gICAgcmV0dXJuIG1hcFtjb252ZXJzaW9uVmFsdWVdIHx8ICcnO1xyXG4gIH1cclxuICBcclxuICBnZXRDb252ZXJzaW9uQ2FyZCgpe1xyXG4gICAgY29uc3QgeyB0YWJsZW9iaiB9ID0gdGhpcztcclxuICAgIGRlbGV0ZSB0YWJsZW9iai5vZmZzZXQ7XHJcbiAgICBkZWxldGUgdGFibGVvYmoubGltaXQ7XHJcbiAgICBkZWxldGUgdGFibGVvYmouZXhwb3J0O1xyXG4gICAgdGFibGVvYmouZGF0ZVR5cGUgPSB0aGlzLmRhdGVUeXBlO1xyXG4gICAgdGFibGVvYmouY29udmVyc2lvbnR5cGUgPSB0aGlzLnNldENvbnZlcnNpb25UeXBlKHRoaXMuY29udmVyc2lvblZhbHVlKTtcclxuICAgICAgIHRoaXMuc2VydmljZVxyXG4gICAgICAgICAuZ2V0Q29udmVyc2lvbkNhcmRMaXN0KHRoaXMudGFibGVvYmopXHJcbiAgICAgICAgIC5waXBlKHRha2VVbnRpbCh0aGlzLmRlc3Ryb3kkKSlcclxuICAgICAgICAgPy5zdWJzY3JpYmUoe1xyXG4gICAgICAgICAgIG5leHQ6IChyZXM6IGFueSkgPT4ge1xyXG4gICAgICAgICAgICAgaWYgKHJlcyAmJiByZXMuY29kZSA9PT0gMjAwKSB7XHJcbiAgICAgICAgICAgICAgIHRoaXMuZ2V0Q29udmVyc2lvbkNhcmREYXRhID0gcmVzPy5kYXRhO1xyXG4gICAgICAgICAgICAgICBpZiAodGhpcy5ub2IpIHtcclxuICAgICAgICAgICAgICAgIHRoaXMudmFsdWVDb252ZXJzaW9uUmF0ZSA9IHRoaXMuZ2V0Q29udmVyc2lvbkNhcmREYXRhPy5jb252ZXJzaW9uPy5ub2I/Lm5vYjtcclxuICAgICAgICAgICAgICAgIHRoaXMuY29udmVyc2lvblZhbHVlID0gJ05vQiBEZXJpdmVkJztcclxuICAgICAgICAgICAgICB9IGVsc2UgaWYgKHRoaXMuY2xpZW50RGF0YT8uZmVhdHVyZUNvbmZpZ3M/Lm1pc3NlZE9wcG9ydHVuaXR5Q2FsY3VsYXRpb24gPT09ICdlbmdhZ2Vycy1jb252ZXJzaW9uJykge1xyXG4gICAgICAgICAgICAgICAgdGhpcy52YWx1ZUNvbnZlcnNpb25SYXRlID0gdGhpcy5nZXRDb252ZXJzaW9uQ2FyZERhdGE/LmNvbnZlcnNpb24/LmVuZ2FnZXJzPy5yYXRlO1xyXG4gICAgICAgICAgICAgICAgdGhpcy5jb252ZXJzaW9uVmFsdWUgPSAnZW5nYWdlcnMnO1xyXG4gICAgICAgICAgICAgIH0gZWxzZSB7XHJcbiAgICAgICAgICAgICAgICB0aGlzLnZhbHVlQ29udmVyc2lvblJhdGUgPSB0aGlzLmdldENvbnZlcnNpb25DYXJkRGF0YT8uY29udmVyc2lvbj8uZm9vdGZhbGw/LnJhdGU7XHJcbiAgICAgICAgICAgICAgICB0aGlzLmNvbnZlcnNpb25WYWx1ZSA9ICdmb290ZmFsbCc7XHJcbiAgICAgICAgICAgICAgfVxyXG5cclxuICAgICAgICAgICAgICAvLyBpZiAodGhpcy5ub2IgJiYgdGhpcy5jbGllbnREYXRhPy5mZWF0dXJlQ29uZmlncz8uY29udmVyc2lvbkNhbGN1bGF0aW9uID09PSAnZm9vdGZhbGwtY291bnQnKSB7XHJcbiAgICAgICAgICAgICAgLy8gICB0aGlzLnZhbHVlQ29udmVyc2lvblJhdGUgPSB0aGlzLmdldENvbnZlcnNpb25DYXJkRGF0YT8uY29udmVyc2lvbj8uZm9vdGZhbGw/LnJhdGU7XHJcbiAgICAgICAgICAgICAgLy8gICB0aGlzLmNvbnZlcnNpb25WYWx1ZSA9ICdmb290ZmFsbCc7XHJcbiAgICAgICAgICAgICAgLy8gfSBlbHNlIGlmICh0aGlzLm5vYiAmJiB0aGlzLmNsaWVudERhdGE/LmZlYXR1cmVDb25maWdzPy5jb252ZXJzaW9uQ2FsY3VsYXRpb24gPT09ICdlbmdhZ2Vycy1jb3VudCcpIHtcclxuICAgICAgICAgICAgICAvLyAgIHRoaXMudmFsdWVDb252ZXJzaW9uUmF0ZSA9IHRoaXMuZ2V0Q29udmVyc2lvbkNhcmREYXRhPy5jb252ZXJzaW9uPy5lbmdhZ2Vycz8ucmF0ZTtcclxuICAgICAgICAgICAgICAvLyAgIHRoaXMuY29udmVyc2lvblZhbHVlID0gJ2VuZ2FnZXJzJztcclxuICAgICAgICAgICAgICAvLyB9IGVsc2UgaWYgKHRoaXMubm9iICYmIHRoaXMuY2xpZW50RGF0YT8uZmVhdHVyZUNvbmZpZ3M/LmNvbnZlcnNpb25DYWxjdWxhdGlvbiA9PT0gJ2JpbGxhYmxlLWVudGl0aWVzJykge1xyXG4gICAgICAgICAgICAgIC8vICAgdGhpcy52YWx1ZUNvbnZlcnNpb25SYXRlID0gdGhpcy5nZXRDb252ZXJzaW9uQ2FyZERhdGE/LmNvbnZlcnNpb24/LnBvdGVudGlhbEJ1eWVycz8ucmF0ZTtcclxuICAgICAgICAgICAgICAvLyAgIHRoaXMuY29udmVyc2lvblZhbHVlID0gJ1BvdGVudGlhbCBCdXllcnMnO1xyXG4gICAgICAgICAgICAgIC8vIH1cclxuICAgICAgICAgICAgIH0gZWxzZSB7IFxyXG4gICAgICAgICAgICAgIHRoaXMuZ2V0Q29udmVyc2lvbkNhcmREYXRhID1bXTtcclxuICAgICAgICAgICB9XHJcbiAgICAgICAgIH0sXHJcbiAgICAgICAgIGVycm9yOiAoZXJyOiBhbnkpID0+IHtcclxuICAgICAgICAgICB0aGlzLmdldENvbnZlcnNpb25DYXJkRGF0YSA9W107XHJcbiAgICAgICAgICAgdGhpcy5jZC5kZXRlY3RDaGFuZ2VzKCk7XHJcbiAgICAgICAgIH0sIFxyXG4gICAgICAgICB9KVxyXG4gICAgIH1cclxuICAgICBnZXRDb252ZXJzaW9uQ2FyZDEoKXtcclxuICAgICAgY29uc3QgeyB0YWJsZW9iaiB9ID0gdGhpcztcclxuICBkZWxldGUgdGFibGVvYmoub2Zmc2V0O1xyXG4gIGRlbGV0ZSB0YWJsZW9iai5saW1pdDtcclxuICBkZWxldGUgdGFibGVvYmouZXhwb3J0O1xyXG4gIHRhYmxlb2JqLmRhdGVUeXBlID0gdGhpcy5kYXRlVHlwZTtcclxuICB0YWJsZW9iai5jb252ZXJzaW9udHlwZSA9IHRoaXMuc2V0Q29udmVyc2lvblR5cGUodGhpcy5jb252ZXJzaW9uVmFsdWUpO1xyXG4gICAgICAgICB0aGlzLnNlcnZpY2VcclxuICAgICAgICAgICAuZ2V0Q29udmVyc2lvbkNhcmRMaXN0KHRoaXMudGFibGVvYmopXHJcbiAgICAgICAgICAgLnBpcGUodGFrZVVudGlsKHRoaXMuZGVzdHJveSQpKVxyXG4gICAgICAgICAgID8uc3Vic2NyaWJlKHtcclxuICAgICAgICAgICAgIG5leHQ6IChyZXM6IGFueSkgPT4ge1xyXG4gICAgICAgICAgICAgICBpZiAocmVzICYmIHJlcy5jb2RlID09PSAyMDApIHtcclxuICAgICAgICAgICAgICAgICB0aGlzLmdldENvbnZlcnNpb25DYXJkRGF0YSA9IHJlcz8uZGF0YTtcclxuICAgICAgICAgICAgICAgICBpZih0aGlzLmNvbnZlcnNpb25WYWx1ZSA9PT0gJ2Zvb3RmYWxsJyl7XHJcbiAgICAgICAgICAgICAgICAgIHRoaXMudGFibGVvYmouY29udmVyc2lvbnR5cGUgPSAnZm9vdGZhbGwtY291bnQnOyAgdGhpcy52YWx1ZUNvbnZlcnNpb25SYXRlID0gdGhpcy5nZXRDb252ZXJzaW9uQ2FyZERhdGE/LmNvbnZlcnNpb24/LmZvb3RmYWxsPy5yYXRlO1xyXG4gICAgICAgICAgICAgICAgIH0gIGlmICh0aGlzLmNvbnZlcnNpb25WYWx1ZSA9PT0gJ2VuZ2FnZXJzJyl7XHJcbiAgICAgICAgICAgICAgICAgIHRoaXMudGFibGVvYmouY29udmVyc2lvbnR5cGUgPSAnZW5nYWdlcnMtY291bnQnOyBcclxuICAgICAgICAgICAgICAgICAgdGhpcy52YWx1ZUNvbnZlcnNpb25SYXRlID0gdGhpcy5nZXRDb252ZXJzaW9uQ2FyZERhdGE/LmNvbnZlcnNpb24/LmVuZ2FnZXJzPy5yYXRlO1xyXG4gICAgICAgICAgICAgICAgIH1pZiAodGhpcy5jb252ZXJzaW9uVmFsdWUgPT09ICdQb3RlbnRpYWwgQnV5ZXJzJyl7XHJcbiAgICAgICAgICAgICAgICAgIHRoaXMudGFibGVvYmouY29udmVyc2lvbnR5cGUgPSAnYmlsbGFibGUtY291bnQnOyBcclxuICAgICAgICAgICAgICAgICAgdGhpcy52YWx1ZUNvbnZlcnNpb25SYXRlID0gdGhpcy5nZXRDb252ZXJzaW9uQ2FyZERhdGE/LmNvbnZlcnNpb24/LnBvdGVudGlhbEJ1eWVycz8ucmF0ZTtcclxuICAgICAgICAgICAgICAgICB9IGlmICh0aGlzLmNvbnZlcnNpb25WYWx1ZSA9PT0gJ05vQiBEZXJpdmVkJyl7XHJcbiAgICAgICAgICAgICAgICAgIHRoaXMudGFibGVvYmouY29udmVyc2lvbnR5cGUgPSAnbm9iJzsgdGhpcy52YWx1ZUNvbnZlcnNpb25SYXRlID0gdGhpcy5nZXRDb252ZXJzaW9uQ2FyZERhdGE/LmNvbnZlcnNpb24/Lm5vYj8ubm9iO1xyXG4gICAgICAgICAgICAgICAgIH1cclxuICAgICAgICAgICAgICAgfSBlbHNlIHsgXHJcbiAgICAgICAgICAgICAgICB0aGlzLmdldENvbnZlcnNpb25DYXJkRGF0YSA9W107XHJcbiAgICAgICAgICAgICB9XHJcbiAgICAgICAgICAgfSxcclxuICAgICAgICAgICBlcnJvcjogKGVycjogYW55KSA9PiB7XHJcbiAgICAgICAgICAgICB0aGlzLmdldENvbnZlcnNpb25DYXJkRGF0YSA9W107XHJcbiAgICAgICAgICAgICB0aGlzLmNkLmRldGVjdENoYW5nZXMoKTtcclxuICAgICAgICAgICB9LCBcclxuICAgICAgICAgICB9KVxyXG4gICAgICAgfVxyXG4gICAgIGJvdW5jZWROb2RhdGEgPWZhbHNlO1xyXG4gICAgIGdldEJvdW5jZWRDYXJkKCl7XHJcbiAgICAgIGRlbGV0ZSB0aGlzLnRhYmxlb2JqLm9mZnNldDtcclxuICAgICAgZGVsZXRlIHRoaXMudGFibGVvYmoubGltaXQ7XHJcbiAgICAgIGRlbGV0ZSB0aGlzLnRhYmxlb2JqLmV4cG9ydDtcclxuICAgICAgdGhpcy50YWJsZW9iai5kYXRlVHlwZT0gdGhpcy5kYXRlVHlwZTtcclxuICAgICAgdGhpcy5zZXJ2aWNlXHJcbiAgICAgICAgLmdldEJvdW5jZWRDYXJkTGlzdCh0aGlzLnRhYmxlb2JqKVxyXG4gICAgICAgIC5waXBlKHRha2VVbnRpbCh0aGlzLmRlc3Ryb3kkKSlcclxuICAgICAgICA/LnN1YnNjcmliZSh7XHJcbiAgICAgICAgICBuZXh0OiAocmVzOiBhbnkpID0+IHtcclxuICAgICAgICAgICAgaWYgKHJlcyAmJiByZXMuY29kZSA9PT0gMjAwKSB7XHJcbiAgICAgICAgICAgICAgdGhpcy5nZXRCb3VuY2VkQ2FyZERhdGEgPSByZXM/LmRhdGE7XHJcbiAgICAgICAgICAgICAgaWYodGhpcy5nZXRCb3VuY2VkQ2FyZERhdGE/LmRhdGE/LmJvdW5jZWQ/LmRhdGEubGVuZ3RoKXtcclxuICAgICAgICAgICAgICB0aGlzLmJvdW5jZWRsaW5lQ2hhcnRzKCk7XHJcbiAgICAgICAgICAgICAgdGhpcy5ib3VuY2VkTm9kYXRhID1mYWxzZTtcclxuICAgICAgICAgICAgICB9IGVsc2V7XHJcbiAgICAgICAgICAgICAgICB0aGlzLmdldEJvdW5jZWRDYXJkRGF0YSA9W107XHJcbiAgICAgICAgICAgICAgICB0aGlzLmJvdW5jZWROb2RhdGEgPXRydWU7XHJcbiAgICAgICAgICAgICAgfVxyXG4gICAgICAgICAgICB9IGVsc2UgeyBcclxuICAgICAgICAgICAgICB0aGlzLmJvdW5jZWROb2RhdGEgPXRydWU7XHJcbiAgICAgICAgICAgICAgdGhpcy5nZXRCb3VuY2VkQ2FyZERhdGEgPVtdO1xyXG4gICAgICAgICAgfVxyXG4gICAgICAgIH0sXHJcbiAgICAgICAgZXJyb3I6IChlcnI6IGFueSkgPT4ge1xyXG4gICAgICAgICAgdGhpcy5nZXRCb3VuY2VkQ2FyZERhdGEgPVtdO1xyXG4gICAgICAgICAgdGhpcy5ib3VuY2VkTm9kYXRhID10cnVlO1xyXG4gICAgICAgICAgdGhpcy5jZC5kZXRlY3RDaGFuZ2VzKCk7XHJcbiAgICAgICAgfSwgXHJcbiAgICAgICAgfSkgXHJcbiAgICB9XHJcbiAgICBlbmdhZ2Vyc05vZGF0YSA9ZmFsc2U7XHJcbiAgICBnZXRFbmdhZ2Vyc0NhcmQoKXtcclxuICAgICAgZGVsZXRlIHRoaXMudGFibGVvYmoub2Zmc2V0O1xyXG4gICAgICBkZWxldGUgdGhpcy50YWJsZW9iai5saW1pdDtcclxuICAgICAgZGVsZXRlIHRoaXMudGFibGVvYmouZXhwb3J0O1xyXG4gICAgICB0aGlzLnRhYmxlb2JqLmRhdGVUeXBlPSB0aGlzLmRhdGVUeXBlO1xyXG4gICAgICB0aGlzLnNlcnZpY2VcclxuICAgICAgICAuZ2V0RW5nYWdlcnNDYXJkTGlzdCh0aGlzLnRhYmxlb2JqKVxyXG4gICAgICAgIC5waXBlKHRha2VVbnRpbCh0aGlzLmRlc3Ryb3kkKSlcclxuICAgICAgICA/LnN1YnNjcmliZSh7XHJcbiAgICAgICAgICBuZXh0OiAocmVzOiBhbnkpID0+IHtcclxuICAgICAgICAgICAgaWYgKHJlcyAmJiByZXMuY29kZSA9PT0gMjAwKSB7XHJcbiAgICAgICAgICAgICAgdGhpcy5nZXRFbmdhZ2Vyc0NhcmREYXRhID0gcmVzPy5kYXRhO1xyXG4gICAgICAgICAgICAgIGlmKHRoaXMuZ2V0RW5nYWdlcnNDYXJkRGF0YT8uZGF0YT8uZW5nYWdlcnM/LmRhdGEubGVuZ3RoKXtcclxuICAgICAgICAgICAgICB0aGlzLmVuZ2FnZXJzbGluZUNoYXJ0cygpO1xyXG4gICAgICAgICAgICAgIHRoaXMuZW5nYWdlcnNOb2RhdGEgPWZhbHNlO1xyXG4gICAgICAgICAgICAgIH0gZWxzZSB7XHJcbiAgICAgICAgICAgICAgICB0aGlzLmdldEVuZ2FnZXJzQ2FyZERhdGEgPVtdO1xyXG4gICAgICAgICAgICAgIHRoaXMuZW5nYWdlcnNOb2RhdGEgPXRydWU7XHJcbiAgICAgICAgICAgICAgfVxyXG4gICAgICAgICAgICB9IGVsc2UgeyBcclxuICAgICAgICAgICAgICB0aGlzLmdldEVuZ2FnZXJzQ2FyZERhdGEgPVtdO1xyXG4gICAgICAgICAgICAgIHRoaXMuZW5nYWdlcnNOb2RhdGEgPXRydWU7XHJcbiAgICAgICAgICB9XHJcbiAgICAgICAgfSxcclxuICAgICAgICBlcnJvcjogKGVycjogYW55KSA9PiB7XHJcbiAgICAgICAgICB0aGlzLmdldEVuZ2FnZXJzQ2FyZERhdGEgPVtdO1xyXG4gICAgICAgICAgdGhpcy5lbmdhZ2Vyc05vZGF0YSA9dHJ1ZTtcclxuICAgICAgICAgIHRoaXMuY2QuZGV0ZWN0Q2hhbmdlcygpO1xyXG4gICAgICAgIH0sIFxyXG4gICAgICAgIH0pXHJcbiAgICB9XHJcbiAgICBnZXRNaXNzZWRPcHBvcnR1bml0eUNhcmQoKXtcclxuICAgICAgZGVsZXRlIHRoaXMudGFibGVvYmoub2Zmc2V0O1xyXG4gICAgICBkZWxldGUgdGhpcy50YWJsZW9iai5saW1pdDtcclxuICAgICAgZGVsZXRlIHRoaXMudGFibGVvYmouZXhwb3J0O1xyXG4gICAgICB0aGlzLnRhYmxlb2JqLmRhdGVUeXBlPSB0aGlzLmRhdGVUeXBlO1xyXG4gICAgICB0aGlzLnNlcnZpY2VcclxuICAgICAgLmdldE1pc3NlZE9wcG9ydHVuaXR5Q2FyZExpc3QodGhpcy50YWJsZW9iailcclxuICAgICAgLnBpcGUodGFrZVVudGlsKHRoaXMuZGVzdHJveSQpKVxyXG4gICAgICA/LnN1YnNjcmliZSh7XHJcbiAgICAgICAgbmV4dDogKHJlczogYW55KSA9PiB7XHJcbiAgICAgICAgICBpZiAocmVzICYmIHJlcy5jb2RlID09PSAyMDApIHtcclxuICAgICAgICAgICAgdGhpcy5nZXRNaXNzZWRPcHBvcnR1bml0eURhdGEgPSByZXM/LmRhdGE7XHJcbiAgICAgICAgICB9IGVsc2UgeyBcclxuICAgICAgICAgICAgdGhpcy5nZXRNaXNzZWRPcHBvcnR1bml0eURhdGEgPVtdO1xyXG4gICAgICAgIH1cclxuICAgICAgfSxcclxuICAgICAgZXJyb3I6IChlcnI6IGFueSkgPT4ge1xyXG4gICAgICAgIHRoaXMuZ2V0TWlzc2VkT3Bwb3J0dW5pdHlEYXRhID1bXTtcclxuICAgICAgICB0aGlzLmNkLmRldGVjdENoYW5nZXMoKTtcclxuICAgICAgfSwgXHJcbiAgICAgIH0pXHJcbiAgICB9XHJcbiAgICBwb3RlbnRpYWxOb2RhdGEgPWZhbHNlO1xyXG4gICAgZ2V0UG90ZW50aWFsQnV5ZXJzQ2FyZCgpe1xyXG4gICAgICBkZWxldGUgdGhpcy50YWJsZW9iai5vZmZzZXQ7XHJcbiAgICAgIGRlbGV0ZSB0aGlzLnRhYmxlb2JqLmxpbWl0O1xyXG4gICAgICBkZWxldGUgdGhpcy50YWJsZW9iai5leHBvcnQ7XHJcbiAgICAgIHRoaXMudGFibGVvYmouZGF0ZVR5cGU9IHRoaXMuZGF0ZVR5cGU7XHJcbiAgICAgIHRoaXMuc2VydmljZVxyXG4gICAgICAgIC5nZXRQb3RlbnRpYWxCdXllcnNDYXJkTGlzdCh0aGlzLnRhYmxlb2JqKVxyXG4gICAgICAgIC5waXBlKHRha2VVbnRpbCh0aGlzLmRlc3Ryb3kkKSlcclxuICAgICAgICA/LnN1YnNjcmliZSh7XHJcbiAgICAgICAgICBuZXh0OiAocmVzOiBhbnkpID0+IHtcclxuICAgICAgICAgICAgaWYgKHJlcyAmJiByZXMuY29kZSA9PT0gMjAwKSB7XHJcbiAgICAgICAgICAgICAgdGhpcy5nZXRQb3RlbnRpYWxCdXllcnNDYXJkRGF0YSA9IHJlcz8uZGF0YTtcclxuICAgICAgICAgICAgICBpZih0aGlzLmdldFBvdGVudGlhbEJ1eWVyc0NhcmREYXRhPy5kYXRhPy5wb3RlbnRpYWxCdXllcnM/LmRhdGEubGVuZ3RoKXtcclxuICAgICAgICAgICAgICB0aGlzLnBvdGVudGlhbGxpbmVDaGFydHMoKTtcclxuICAgICAgICAgICAgICB0aGlzLnBvdGVudGlhbE5vZGF0YSA9ZmFsc2U7XHJcbiAgICAgICAgICAgICAgfSBlbHNlIHsgXHJcbiAgICAgICAgICAgICAgICB0aGlzLmdldFBvdGVudGlhbEJ1eWVyc0NhcmREYXRhID1bXTtcclxuICAgICAgICAgICAgICAgIHRoaXMucG90ZW50aWFsTm9kYXRhID10cnVlO1xyXG4gICAgICAgICAgICB9XHJcbiAgICAgICAgICAgIH0gIGVsc2UgeyBcclxuICAgICAgICAgICAgICB0aGlzLmdldFBvdGVudGlhbEJ1eWVyc0NhcmREYXRhID1bXTtcclxuICAgICAgICAgICAgICB0aGlzLnBvdGVudGlhbE5vZGF0YSA9dHJ1ZTtcclxuICAgICAgICAgIH1cclxuICAgICAgICB9LFxyXG4gICAgICAgIGVycm9yOiAoZXJyOiBhbnkpID0+IHtcclxuICAgICAgICAgIHRoaXMuZ2V0UG90ZW50aWFsQnV5ZXJzQ2FyZERhdGEgPVtdO1xyXG4gICAgICAgICAgdGhpcy5wb3RlbnRpYWxOb2RhdGEgPXRydWU7XHJcbiAgICAgICAgICB0aGlzLmNkLmRldGVjdENoYW5nZXMoKTtcclxuICAgICAgICB9LCBcclxuICAgICAgICB9KVxyXG4gICAgfVxyXG5cclxuICAgIGdldFBvdGVudGlhbEJ1eWVycygpe1xyXG4gICAgICBkZWxldGUgdGhpcy50YWJsZW9iai5vZmZzZXQ7XHJcbiAgICAgIGRlbGV0ZSB0aGlzLnRhYmxlb2JqLmxpbWl0O1xyXG4gICAgICBkZWxldGUgdGhpcy50YWJsZW9iai5leHBvcnQ7XHJcbiAgICAgIHRoaXMudGFibGVvYmouZGF0ZVR5cGU9IHRoaXMuZGF0ZVR5cGU7XHJcbiAgICAgIHRoaXMuc2VydmljZVxyXG4gICAgICAuZ2V0UG90ZW50aWFsQnV5ZXJzRGlzdHJpYnV0aW9uQ2FyZExpc3QodGhpcy50YWJsZW9iailcclxuICAgICAgLnBpcGUodGFrZVVudGlsKHRoaXMuZGVzdHJveSQpKVxyXG4gICAgICA/LnN1YnNjcmliZSh7XHJcbiAgICAgICAgbmV4dDogKHJlczogYW55KSA9PiB7XHJcbiAgICAgICAgICBpZiAocmVzICYmIHJlcy5jb2RlID09PSAyMDApIHtcclxuICAgICAgICAgICAgdGhpcy5nZXRQb3RlbnRpYWxCdXllcnNEYXRhID0gcmVzPy5kYXRhPy5jYXJkO1xyXG4gICAgICAgICAgfSAgZWxzZSB7IFxyXG4gICAgICAgICAgICB0aGlzLmdldFBvdGVudGlhbEJ1eWVyc0RhdGEgPVtdO1xyXG4gICAgICAgIH1cclxuICAgICAgfSxcclxuICAgICAgZXJyb3I6IChlcnI6IGFueSkgPT4ge1xyXG4gICAgICAgIHRoaXMuZ2V0UG90ZW50aWFsQnV5ZXJzRGF0YSA9W107XHJcbiAgICAgICAgdGhpcy5jZC5kZXRlY3RDaGFuZ2VzKCk7XHJcbiAgICAgIH0sIFxyXG4gICAgICB9KVxyXG4gICAgfVxyXG5cclxuXHJcbiAgZ2V0UmVjYXAoKSB7XHJcbiAgICB0aGlzLnJlY2FwbGFvZGluZyA9dHJ1ZTtcclxuICAgIHRoaXMucmVjYXBub0RhdGEgPWZhbHNlO1xyXG4gICAgZGVsZXRlIHRoaXMudGFibGVvYmoucHJvY2Vzc1R5cGU7IGRlbGV0ZSB0aGlzLnRhYmxlb2JqLm5vcm1hbGl6ZWREYXRhO1xyXG4gICAgIGRlbGV0ZSB0aGlzLnRhYmxlb2JqLmRhdGVUeXBlOyBkZWxldGUgdGhpcy50YWJsZW9iai5mcm9tRGF0ZTtcclxuICAgICBkZWxldGUgdGhpcy50YWJsZW9iai50b0RhdGU7IGRlbGV0ZSB0aGlzLnRhYmxlb2JqLnZhbHVlVHlwZTsgZGVsZXRlIHRoaXMudGFibGVvYmoucHJvY2Vzc1R5cGU7XHJcbiAgICAgZGVsZXRlIHRoaXMudGFibGVvYmouc2VhcmNoOyBkZWxldGUgdGhpcy50YWJsZW9iai5vZmZzZXQ7XHJcbiAgICAgZGVsZXRlIHRoaXMudGFibGVvYmoubGltaXQ7IGRlbGV0ZSB0aGlzLnRhYmxlb2JqLnNvcnRCeTsgZGVsZXRlIHRoaXMudGFibGVvYmouc29ydDtcclxuICAgICBkZWxldGUgdGhpcy50YWJsZW9iai5leHBvcnQ7XHJcbiAgICAgZGVsZXRlIHRoaXMudGFibGVvYmoubm9ybWFsaXplO1xyXG4gICAgIHRoaXMudGFibGVvYmoucmVjYXBWaWRlb0RhdGUgPSB0aGlzLmhlYWRlckRhdGE/LmRhdGUuZW5kRGF0ZTtcclxuICAgIHRoaXMuc2VydmljZVxyXG4gICAgICAuZ2V0UmVjYXBWaWRlbyh0aGlzLnRhYmxlb2JqKVxyXG4gICAgICAucGlwZSh0YWtlVW50aWwodGhpcy5kZXN0cm95JCkpXHJcbiAgICAgID8uc3Vic2NyaWJlKHtcclxuICAgICAgICBuZXh0OiAocmVzOiBhbnkpID0+IHtcclxuICAgICAgICAgIGlmIChyZXMgJiYgcmVzLmNvZGUgPT09IDIwMCkge1xyXG4gICAgICAgICAgICB0aGlzLmdldFJlY2FwVmlkZW9EYXRhID0gcmVzPy5kYXRhO1xyXG4gICAgICAgICAgICB0aGlzLmdldFJlY2FwRGF0YSA9IHJlcz8uZGF0YT8ucmVjYXBWaWRlb0RhdGE7XHJcbiAgICAgICAgICAgIHRoaXMuZ3JvdXBSZWNhcHMoKTtcclxuICAgICAgICAgICAgaWYoIXRoaXMuZ2V0UmVjYXBEYXRhLmxlbmd0aCl7XHJcbiAgICAgICAgICAgICAgdGhpcy5yZWNhcGxhb2RpbmcgPWZhbHNlO1xyXG4gICAgICAgICAgICB0aGlzLnJlY2Fwbm9EYXRhID10cnVlO1xyXG4gICAgICAgICAgICB9IGVsc2Uge1xyXG4gICAgICAgICAgICAgIHRoaXMucmVjYXBsYW9kaW5nID1mYWxzZTtcclxuICAgICAgICAgICAgdGhpcy5yZWNhcG5vRGF0YSA9ZmFsc2U7XHJcbiAgICAgICAgICAgIH1cclxuICAgICAgICAgICAgdGhpcy5jZC5kZXRlY3RDaGFuZ2VzKCk7ICAgIFxyXG4gICAgICAgICAgfSBlbHNle1xyXG4gICAgICAgICAgICB0aGlzLmdldFJlY2FwVmlkZW9EYXRhID1bXVxyXG4gICAgICAgICAgICB0aGlzLnJlY2FwbGFvZGluZyA9ZmFsc2U7XHJcbiAgICAgICAgICAgIHRoaXMucmVjYXBub0RhdGEgPXRydWU7XHJcbiAgICAgICAgICB9XHJcbiAgICAgICAgfSxcclxuICAgICAgICBlcnJvcjogKGVycjogYW55KSA9PiB7XHJcbiAgICAgICAgICB0aGlzLmNkLmRldGVjdENoYW5nZXMoKTtcclxuICAgICAgICAgIHRoaXMucmVjYXBsYW9kaW5nID1mYWxzZTtcclxuICAgICAgICAgIHRoaXMucmVjYXBub0RhdGEgPXRydWU7XHJcbiAgICAgICAgfSxcclxuICAgICAgICBjb21wbGV0ZTogKCkgPT4ge30sXHJcbiAgICAgIH0pO1xyXG4gIH1cclxuICBncm91cFJlY2FwcygpIHtcclxuICAgIHRoaXMucmVjYXBzR3JvdXBlZCA9IFtdO1xyXG4gICAgbGV0IGdyb3VwU2l6ZSA9IHRoaXMuZ2V0UmVjYXBEYXRhLmxlbmd0aCA9PT0gMSA/IDEgOiAyO1xyXG4gICAgZm9yIChsZXQgaSA9IDA7IGkgPCB0aGlzLmdldFJlY2FwRGF0YS5sZW5ndGg7IGkgKz0gZ3JvdXBTaXplKSB7XHJcbiAgICAgIHRoaXMucmVjYXBzR3JvdXBlZC5wdXNoKHRoaXMuZ2V0UmVjYXBEYXRhLnNsaWNlKGksIGkgKyBncm91cFNpemUpKTtcclxuICAgIH1cclxuICAgIHRoaXMuY29sVmFsdWUgPSB0aGlzLmdldFJlY2FwRGF0YS5sZW5ndGggPT09IDEgPyAnY29sLW1kLTEyJyA6ICdjb2wtbWQtNic7XHJcbiAgfVxyXG4gIHZpZGVvQ2xpY2sob2JqOmFueSl7XHJcbiAgICBjb25zdCBtb2RhbFJlZiA9IHRoaXMubW9kYWxTZXJ2aWNlLm9wZW4oVmlkZW9VcmxDb21wb25lbnQsIHtcclxuICAgICAgY2VudGVyZWQ6IHRydWUsXHJcbiAgICAgIHNpemU6IFwibGdcIixcclxuICAgICAgc2Nyb2xsYWJsZTogdHJ1ZSxcclxuICAgIH0pO1xyXG4gICAgbW9kYWxSZWYuY29tcG9uZW50SW5zdGFuY2UudmlkZW9VcmwgPSBvYmo7XHJcbiAgICBtb2RhbFJlZi5jb21wb25lbnRJbnN0YW5jZS5kYXRlPSB0aGlzLmhlYWRlckRhdGE/LmRhdGU/LmVuZERhdGVcclxuICAgIG1vZGFsUmVmLnJlc3VsdC50aGVuKChyZXN1bHQ6IGFueSkgPT4ge30pO1xyXG4gIH1cclxuICBwcmV2aW91c1ZhbHVlOiBhbnkgPSBudWxsO1xyXG4gIGNoYW5nZVZhbHVlKG1ldGhvZDogYW55KSB7XHJcbiAgICAgIHRoaXMucHJldmlvdXNWYWx1ZSA9IG1ldGhvZDtcclxuICAgICAgaWYgKHRoaXMucHJldmlvdXNWYWx1ZSA9PT0gJ3BvdGVudGlhbEJ1eWVycycpIHtcclxuICAgICAgICB0aGlzLmNvbnZlcnNpb25WYWx1ZSA9ICdQb3RlbnRpYWwgQnV5ZXJzJztcclxuICAgICAgfSBlbHNlIHtcclxuICAgICAgICB0aGlzLmNvbnZlcnNpb25WYWx1ZSA9IG1ldGhvZDtcclxuICAgICAgfVxyXG4gICBcclxuICAgICAgY29uc3QgaXNDb252ZXJzaW9uID0gdGhpcy5pc0NvbnZlcnNpb24gPT09IHRydWU7XHJcbiAgICAgIGNvbnN0IGNvbnZlcnNpb25UeXBlTWFwOiBhbnkgPSB7XHJcbiAgICAgICAgZm9vdGZhbGw6IHtcclxuICAgICAgICAgIHJhdGU6IHRoaXMuZ2V0Q29udmVyc2lvbkNhcmREYXRhPy5jb252ZXJzaW9uPy5mb290ZmFsbD8ucmF0ZSxcclxuICAgICAgICAgIHR5cGU6ICdmb290ZmFsbC1jb3VudCcsXHJcbiAgICAgICAgICBub2I6IGlzQ29udmVyc2lvbiA/IHRydWUgOiBmYWxzZVxyXG4gICAgICAgIH0sXHJcbiAgICAgICAgZW5nYWdlcnM6IHtcclxuICAgICAgICAgIHJhdGU6IHRoaXMuZ2V0Q29udmVyc2lvbkNhcmREYXRhPy5jb252ZXJzaW9uPy5lbmdhZ2Vycz8ucmF0ZSxcclxuICAgICAgICAgIHR5cGU6ICdlbmdhZ2Vycy1jb3VudCcsXHJcbiAgICAgICAgICBub2I6IGlzQ29udmVyc2lvbiA/IHRydWUgOiBmYWxzZVxyXG4gICAgICAgIH0sXHJcbiAgICAgICAgcG90ZW50aWFsQnV5ZXJzOiB7XHJcbiAgICAgICAgICByYXRlOiB0aGlzLmdldENvbnZlcnNpb25DYXJkRGF0YT8uY29udmVyc2lvbj8ucG90ZW50aWFsQnV5ZXJzPy5yYXRlLFxyXG4gICAgICAgICAgdHlwZTogJ2JpbGxhYmxlLWNvdW50JyxcclxuICAgICAgICAgIG5vYjogaXNDb252ZXJzaW9uID8gdHJ1ZSA6IGZhbHNlXHJcbiAgICAgICAgfSxcclxuICAgICAgICAnTm9CIERlcml2ZWQnOiB7XHJcbiAgICAgICAgICByYXRlOiB0aGlzLmdldENvbnZlcnNpb25DYXJkRGF0YT8uY29udmVyc2lvbj8ubm9iPy5ub2IsXHJcbiAgICAgICAgICB0eXBlOiAnbm9iJyxcclxuICAgICAgICAgIG5vYjogdHJ1ZSAvLyBhbHdheXMgdHJ1ZSBmb3IgTm9CIERlcml2ZWRcclxuICAgICAgICB9XHJcbiAgICAgIH07XHJcbiAgICAgIFxyXG4gICAgICBjb25zdCBkYXRhID0gY29udmVyc2lvblR5cGVNYXBbdGhpcy5wcmV2aW91c1ZhbHVlXTtcclxuICAgICAgXHJcbiAgICAgIGlmIChkYXRhKSB7XHJcbiAgICAgICAgdGhpcy52YWx1ZUNvbnZlcnNpb25SYXRlID0gZGF0YS5yYXRlO1xyXG4gICAgICAgIHRoaXMudGFibGVvYmoubm9iID0gZGF0YS5ub2I7XHJcbiAgICAgICAgdGhpcy5vYmpEYXRhLm5vYiA9IGRhdGEubm9iO1xyXG4gICAgICAgIHRoaXMub2JqRGF0YVRyYWZmaWMubm9iID0gZGF0YS5ub2I7XHJcbiAgICAgICAgdGhpcy5ub2IgPSBkYXRhLm5vYjtcclxuICAgICAgICB0aGlzLnRhYmxlb2JqLmNvbnZlcnNpb250eXBlID0gZGF0YS50eXBlO1xyXG4gICAgICB9XHJcbiAgICAgIFxyXG4gICAgICAvLyB0aGlzLnNlcnZpY2UudG9nZ2xlbm9iKHRoaXMudGFibGVvYmoubm9iKTtcclxuICAgICAgdGhpcy5nZXRGdW5uYWwoKTsgXHJcbiAgICAgIGlmKHRoaXMudGFibGVvYmoubm9iID09PWZhbHNlKVxyXG4gICAgICB0aGlzLmdldENvbnZlcnNpb25DYXJkMSgpOyBcclxuICAgICAgdGhpcy50YWJsZW9iai5mcm9tRGF0ZT0gdGhpcy5oZWFkZXJEYXRhPy5kYXRlLnN0YXJ0RGF0ZSxcclxuICAgICAgdGhpcy50YWJsZW9iai50b0RhdGU9IHRoaXMuaGVhZGVyRGF0YT8uZGF0ZS5lbmREYXRlLFxyXG4gICAgICB0aGlzLnRhYmxlb2JqLnNlYXJjaCA9IHRoaXMuc2VhcmNoVmFsdWU7XHJcbiAgICAgIGRlbGV0ZSB0aGlzLnRhYmxlb2JqLnJlY2FwVmlkZW9EYXRlO1xyXG4gICAgICB0aGlzLmdldFRhYmxlKCk7XHJcbiAgICAgdGhpcy5mb290ZmFsbFRyZW5kKCk7XHJcbiAgICAgaWYodGhpcy5oZWFkZXJEYXRhPy5jbGllbnQgPT09JzQ1OScpe1xyXG4gICAgICB0aGlzLnNlbGVjdGVkVGFiID0gXCJmb290ZmFsbFwiXHJcbiAgICAgIHRoaXMuZm9vdGZhbGxWYWx1ZSA9IFwiZm9vdGZhbGxcIjtcclxuICAgICAgdGhpcy5zZWxjdGVkVmFsdWUgPSdGb290ZmFsbCBBbmFseXNpcyc7XHJcbiAgICAgIHRoaXMuc2VsZWN0ZWRUYWJzKCdmb290ZmFsbCcpO1xyXG4gICAgfSBlbHNlIHtcclxuICAgICAgdGhpcy5zZWxlY3RlZFRhYiA9IFwidHJhZmZpY1wiXHJcbiAgICAgIHRoaXMuZm9vdGZhbGxWYWx1ZSA9IFwidHJhZmZpY1wiO1xyXG4gICAgICB0aGlzLnNlbGN0ZWRWYWx1ZSA9J1RyYWZmaWMgQW5hbHlzaXMnO1xyXG4gICAgICB0aGlzLnNlbGVjdGVkVGFicygndHJhZmZpYycpO1xyXG4gICAgfVxyXG4gICBcclxuICAgIC8vIH1cclxuICB9XHJcbiBcclxuXHJcbiAgZ2V0VGFibGUoKSB7XHJcbiAgICB0aGlzLmxpbWl0ID0xMDtcclxuICAgIHRoaXMudGFibGVvYmoub2Zmc2V0ID0gdGhpcy5vZmZzZXQgPSB0aGlzLmN1cnJlbnRQYWdlIC0xO1xyXG4gICAgdGhpcy5sb2FkaW5nID0gdHJ1ZTtcclxuICAgIHRoaXMubm9EYXRhID0gZmFsc2U7XHJcbiAgICBkZWxldGUgdGhpcy50YWJsZW9iai5wcm9jZXNzVHlwZTtcclxuICAgIGRlbGV0ZSB0aGlzLnRhYmxlb2JqLm5vcm1hbGl6ZWREYXRhO1xyXG4gICAgZGVsZXRlIHRoaXMudGFibGVvYmouZGF0ZVR5cGU7XHJcbiAgICAodGhpcy50YWJsZW9iai5saW1pdCA9IHRoaXMubGltaXQpO1xyXG4gICAgKHRoaXMudGFibGVvYmouc2VhcmNoID0gdGhpcy5zZWFyY2hWYWx1ZSksIFxyXG4gICAgICh0aGlzLnRhYmxlb2JqLnZhbHVlVHlwZSA9IHRoaXMudHlwZVZhbHVlKTsgXHJcbiAgICAgKHRoaXMudGFibGVvYmouY29udmVyc2lvbnR5cGUgPSB0aGlzLnRhYmxlb2JqLmNvbnZlcnNpb250eXBlKTtcclxuICAgICB0aGlzLnRhYmxlb2JqLmV4cG9ydCA9IGZhbHNlO1xyXG4gICAgdGhpcy5zZXJ2aWNlXHJcbiAgICAgIC5nZXRTdW1tYXJ5VGFibGVMaXN0KHRoaXMudGFibGVvYmopXHJcbiAgICAgID8ucGlwZSh0YWtlVW50aWwodGhpcy5kZXN0cm95JCkpXHJcbiAgICAgID8uc3Vic2NyaWJlKHtcclxuICAgICAgICBuZXh0OiAocmVzOiBhbnkpID0+IHtcclxuICAgICAgICAgIGlmIChyZXMgJiYgcmVzLmNvZGUgPT09IDIwMCkge1xyXG4gICAgICAgICAgICBpZihyZXM/LmRhdGEuc3VtbWFyeURhdGEubGVuZ3RoID09PTApe1xyXG4gICAgICAgICAgICAgIHRoaXMuZ2V0U3VtbWFyeVRhYmxlRGF0YSA9W11cclxuICAgICAgICAgICAgICB0aGlzLmxvYWRpbmcgPSBmYWxzZTtcclxuICAgICAgICAgICAgICB0aGlzLm5vRGF0YSA9IHRydWU7XHJcbiAgICAgICAgICAgICAgdGhpcy50b3RhbEl0ZW1zID0gMDsgXHJcbiAgICAgICAgICAgIH0gZWxzZSB7XHJcbiAgICAgICAgICAgIHRoaXMuZ2V0U3VtbWFyeVRhYmxlRGF0YSA9IHJlcz8uZGF0YS5zdW1tYXJ5RGF0YTtcclxuICAgICAgICAgICAgdGhpcy50b3RhbEl0ZW1zID0gcmVzLmRhdGE/LnRvdGFsQ291bnQ7XHJcbiAgICAgICAgICAgIHRoaXMuc2V0UGFnaW5hdGlvblNpemVzKCk7XHJcbiAgICAgICAgICAgIHRoaXMubG9hZGluZyA9IGZhbHNlO1xyXG4gICAgICAgICAgICB0aGlzLm5vRGF0YSA9IGZhbHNlO1xyXG4gICAgICAgICAgICB9XHJcbiAgICAgICAgICB9IGVsc2Uge1xyXG4gICAgICAgICAgICB0aGlzLmdldFN1bW1hcnlUYWJsZURhdGEgPVtdXHJcbiAgICAgICAgICAgIHRoaXMubG9hZGluZyA9IGZhbHNlO1xyXG4gICAgICAgICAgICB0aGlzLm5vRGF0YSA9IHRydWU7XHJcbiAgICAgICAgICAgIHRoaXMudG90YWxJdGVtcyA9IDA7IFxyXG4gICAgICAgICAgfVxyXG4gICAgICAgICAgdGhpcy5jZC5kZXRlY3RDaGFuZ2VzKCk7XHJcbiAgICAgICAgfSxcclxuICAgICAgICBlcnJvcjogKGVycjogYW55KSA9PiB7XHJcbiAgICAgICAgICB0aGlzLmNkLmRldGVjdENoYW5nZXMoKTtcclxuICAgICAgICB9LFxyXG4gICAgICAgIGNvbXBsZXRlOiAoKSA9PiB7fSxcclxuICAgICAgfSk7XHJcbiAgfVxyXG4gIHNlYXJjaERhdGEoKSB7XHJcbiAgICB0aGlzLnRhYmxlb2JqLmZyb21EYXRlPSB0aGlzLmhlYWRlckRhdGE/LmRhdGUuc3RhcnREYXRlLFxyXG4gICAgdGhpcy50YWJsZW9iai50b0RhdGU9IHRoaXMuaGVhZGVyRGF0YT8uZGF0ZS5lbmREYXRlLFxyXG4gICAgdGhpcy50YWJsZW9iai5zZWFyY2ggPSB0aGlzLnNlYXJjaFZhbHVlO1xyXG4gICAgZGVsZXRlIHRoaXMudGFibGVvYmoucmVjYXBWaWRlb0RhdGU7XHJcbiAgICAodGhpcy50YWJsZW9iai5jb252ZXJzaW9udHlwZSA9IHRoaXMudGFibGVvYmouY29udmVyc2lvbnR5cGUpO1xyXG4gICAgdGhpcy50YWJsZW9iai5leHBvcnQgPSBmYWxzZTtcclxuICAgIHRoaXMub2Zmc2V0ID0gMTtcclxuICAgIHRoaXMudGFibGVvYmoub2Zmc2V0ID0gdGhpcy5vZmZzZXQgLTE7XHJcbiAgICB0aGlzLmxpbWl0PTEwO1xyXG4gICAgdGhpcy5nZXRUYWJsZSgpO1xyXG4gIH1cclxuXHJcbiAgc2V0UGFnaW5hdGlvblNpemVzKCkge1xyXG4gICAgaWYgKHRoaXMudG90YWxJdGVtcyA+IDEwKSB7XHJcbiAgICAgIHRoaXMucGFnaW5hdGlvblNpemVzID0gWzEwLCAyMCwgMzBdO1xyXG4gICAgfSBlbHNlIHtcclxuICAgICAgdGhpcy5wYWdpbmF0aW9uU2l6ZXMgPSBbdGhpcy50b3RhbEl0ZW1zXTsgLy8gSnVzdCBvbmUgb3B0aW9uIGlmIGxlc3MgdGhhbiAxMFxyXG4gICAgfVxyXG4gICAgdGhpcy5wYWdlU2l6ZSA9IHRoaXMucGFnaW5hdGlvblNpemVzWzBdO1xyXG4gIH1cclxuICBvblBhZ2VDaGFuZ2UocGFnZU9mZnNldDogbnVtYmVyKSB7XHJcbiAgICB0aGlzLmxvYWRpbmcgPSB0cnVlO1xyXG4gICAgdGhpcy5ub0RhdGEgPSBmYWxzZTtcclxuICAgIHRoaXMub2Zmc2V0ID0gTnVtYmVyKHBhZ2VPZmZzZXQpO1xyXG4gICAgdGhpcy50YWJsZW9iai5vZmZzZXQgPSB0aGlzLm9mZnNldCAtMTtcclxuICAgICh0aGlzLnRhYmxlb2JqLmxpbWl0ID0gdGhpcy5saW1pdCksXHJcbiAgICAodGhpcy50YWJsZW9iai5zZWFyY2ggPSB0aGlzLnNlYXJjaFZhbHVlKSwgXHJcbiAgICAgKHRoaXMudGFibGVvYmoudmFsdWVUeXBlID0gdGhpcy50eXBlVmFsdWUpO1xyXG4gICAgdGhpcy50YWJsZW9iai5mcm9tRGF0ZT0gdGhpcy5oZWFkZXJEYXRhPy5kYXRlLnN0YXJ0RGF0ZSxcclxuICAgIHRoaXMudGFibGVvYmoudG9EYXRlPSB0aGlzLmhlYWRlckRhdGE/LmRhdGUuZW5kRGF0ZSxcclxuICAgIHRoaXMudGFibGVvYmouc2VhcmNoID0gdGhpcy5zZWFyY2hWYWx1ZTtcclxuICAgICh0aGlzLnRhYmxlb2JqLmNvbnZlcnNpb250eXBlID0gdGhpcy50YWJsZW9iai5jb252ZXJzaW9udHlwZSk7XHJcbiAgICBkZWxldGUgdGhpcy50YWJsZW9iai5yZWNhcFZpZGVvRGF0ZTtcclxuICAgIHRoaXMudGFibGVvYmouZXhwb3J0ID0gZmFsc2U7XHJcbiAgICB0aGlzLnNlcnZpY2VcclxuICAgIC5nZXRTdW1tYXJ5VGFibGVMaXN0KHRoaXMudGFibGVvYmopXHJcbiAgICA/LnBpcGUodGFrZVVudGlsKHRoaXMuZGVzdHJveSQpKVxyXG4gICAgPy5zdWJzY3JpYmUoe1xyXG4gICAgICBuZXh0OiAocmVzOiBhbnkpID0+IHtcclxuICAgICAgICBpZiAocmVzICYmIHJlcy5jb2RlID09PSAyMDApIHtcclxuICAgICAgICAgIGlmKHJlcz8uZGF0YS5zdW1tYXJ5RGF0YS5sZW5ndGggPT09MCl7XHJcbiAgICAgICAgICAgIHRoaXMuZ2V0U3VtbWFyeVRhYmxlRGF0YSA9W11cclxuICAgICAgICAgICAgdGhpcy5sb2FkaW5nID0gZmFsc2U7XHJcbiAgICAgICAgICAgIHRoaXMubm9EYXRhID0gdHJ1ZTtcclxuICAgICAgICAgICAgdGhpcy50b3RhbEl0ZW1zID0gMDsgXHJcbiAgICAgICAgICB9IGVsc2Uge1xyXG4gICAgICAgICAgdGhpcy5nZXRTdW1tYXJ5VGFibGVEYXRhID0gcmVzPy5kYXRhLnN1bW1hcnlEYXRhO1xyXG4gICAgICAgICAgdGhpcy50b3RhbEl0ZW1zID0gcmVzLmRhdGE/LnRvdGFsQ291bnQ7XHJcbiAgICAgICAgICB0aGlzLmxvYWRpbmcgPSBmYWxzZTtcclxuICAgICAgICAgIHRoaXMubm9EYXRhID0gZmFsc2U7XHJcbiAgICAgICAgICB9XHJcbiAgICAgICAgfSBlbHNlIHtcclxuICAgICAgICAgIHRoaXMuZ2V0U3VtbWFyeVRhYmxlRGF0YSA9W11cclxuICAgICAgICAgIHRoaXMubG9hZGluZyA9IGZhbHNlO1xyXG4gICAgICAgICAgdGhpcy5ub0RhdGEgPSB0cnVlO1xyXG4gICAgICAgICAgdGhpcy50b3RhbEl0ZW1zID0gMDsgXHJcbiAgICAgICAgfVxyXG4gICAgICB9LFxyXG4gICAgICBlcnJvcjogKGVycjogYW55KSA9PiB7XHJcbiAgICAgICAgdGhpcy5jZC5kZXRlY3RDaGFuZ2VzKCk7XHJcbiAgICAgIH0sXHJcbiAgICAgIGNvbXBsZXRlOiAoKSA9PiB7fSxcclxuICAgIH0pO1xyXG4gIH1cclxuXHJcbiAgb25QYWdlU2l6ZUNoYW5nZShwYWdlU2l6ZTogbnVtYmVyKSB7XHJcbiAgICB0aGlzLmxvYWRpbmcgPSB0cnVlO1xyXG4gICAgdGhpcy5ub0RhdGEgPSBmYWxzZTtcclxuICAgIHRoaXMucGFnZVNpemUgPSBOdW1iZXIocGFnZVNpemUpO1xyXG4gICAgdGhpcy5saW1pdCA9IE51bWJlcihwYWdlU2l6ZSk7XHJcbiAgICB0aGlzLmN1cnJlbnRQYWdlID0gMTtcclxuICAgIHRoaXMub2Zmc2V0ID0gMDtcclxuICAgIHRoaXMudGFibGVvYmoub2Zmc2V0ID0gdGhpcy5vZmZzZXQ7XHJcbiAgICAodGhpcy50YWJsZW9iai5saW1pdCA9IHRoaXMubGltaXQpLFxyXG4gICAgKHRoaXMudGFibGVvYmoudmFsdWVUeXBlID0gdGhpcy50eXBlVmFsdWUpO1xyXG4gICAgdGhpcy50YWJsZW9iai5mcm9tRGF0ZT0gdGhpcy5oZWFkZXJEYXRhPy5kYXRlLnN0YXJ0RGF0ZSxcclxuICAgIHRoaXMudGFibGVvYmoudG9EYXRlPSB0aGlzLmhlYWRlckRhdGE/LmRhdGUuZW5kRGF0ZSxcclxuICAgIHRoaXMudGFibGVvYmouc2VhcmNoID0gdGhpcy5zZWFyY2hWYWx1ZTtcclxuICAgICh0aGlzLnRhYmxlb2JqLmNvbnZlcnNpb250eXBlID0gdGhpcy50YWJsZW9iai5jb252ZXJzaW9udHlwZSk7XHJcbiAgICBkZWxldGUgdGhpcy50YWJsZW9iai5yZWNhcFZpZGVvRGF0ZTtcclxuICAgIHRoaXMudGFibGVvYmouZXhwb3J0ID0gZmFsc2U7XHJcbiAgICB0aGlzLnNlcnZpY2VcclxuICAgIC5nZXRTdW1tYXJ5VGFibGVMaXN0KHRoaXMudGFibGVvYmopXHJcbiAgICA/LnBpcGUodGFrZVVudGlsKHRoaXMuZGVzdHJveSQpKVxyXG4gICAgPy5zdWJzY3JpYmUoe1xyXG4gICAgICBuZXh0OiAocmVzOiBhbnkpID0+IHtcclxuICAgICAgICBpZiAocmVzICYmIHJlcy5jb2RlID09PSAyMDApIHtcclxuICAgICAgICAgIGlmKHJlcz8uZGF0YS5zdW1tYXJ5RGF0YS5sZW5ndGggPT09MCl7XHJcbiAgICAgICAgICAgIHRoaXMuZ2V0U3VtbWFyeVRhYmxlRGF0YSA9W11cclxuICAgICAgICAgICAgdGhpcy5sb2FkaW5nID0gZmFsc2U7XHJcbiAgICAgICAgICAgIHRoaXMubm9EYXRhID0gdHJ1ZTtcclxuICAgICAgICAgICAgdGhpcy50b3RhbEl0ZW1zID0gMDsgXHJcbiAgICAgICAgICB9IGVsc2Uge1xyXG4gICAgICAgICAgdGhpcy5nZXRTdW1tYXJ5VGFibGVEYXRhID0gcmVzPy5kYXRhLnN1bW1hcnlEYXRhO1xyXG4gICAgICAgICAgdGhpcy50b3RhbEl0ZW1zID0gcmVzLmRhdGE/LnRvdGFsQ291bnQ7XHJcbiAgICAgICAgICB0aGlzLmxvYWRpbmcgPSBmYWxzZTtgYFxyXG4gICAgICAgICAgdGhpcy5ub0RhdGEgPSBmYWxzZTtcclxuICAgICAgICAgIH1cclxuICAgICAgICB9IGVsc2Uge1xyXG4gICAgICAgICAgdGhpcy5nZXRTdW1tYXJ5VGFibGVEYXRhID1bXVxyXG4gICAgICAgICAgdGhpcy5sb2FkaW5nID0gZmFsc2U7XHJcbiAgICAgICAgICB0aGlzLm5vRGF0YSA9IHRydWU7XHJcbiAgICAgICAgICB0aGlzLnRvdGFsSXRlbXMgPSAwOyBcclxuICAgICAgICB9XHJcbiAgICAgIH0sXHJcbiAgICAgIGVycm9yOiAoZXJyOiBhbnkpID0+IHtcclxuICAgICAgICB0aGlzLmNkLmRldGVjdENoYW5nZXMoKTtcclxuICAgICAgfSxcclxuICAgICAgY29tcGxldGU6ICgpID0+IHt9LFxyXG4gICAgfSk7XHJcbiAgfVxyXG5cclxuICBvblZhbHVlVHlwZSh0eXBlOmFueSl7XHJcbiAgICB0aGlzLnRhYmxlb2JqLmZyb21EYXRlPSB0aGlzLmhlYWRlckRhdGEuZGF0ZS5zdGFydERhdGUsXHJcbiAgICB0aGlzLnRhYmxlb2JqLnRvRGF0ZT0gdGhpcy5oZWFkZXJEYXRhLmRhdGUuZW5kRGF0ZSxcclxuICAgIGRlbGV0ZSB0aGlzLnRhYmxlb2JqLnJlY2FwVmlkZW9EYXRlO1xyXG4gICAgdGhpcy50YWJsZW9iai5leHBvcnQgPSBmYWxzZTtcclxuICAgICB0aGlzLnR5cGVWYWx1ZSA9dHlwZTtcclxuICAgIHRoaXMudGFibGVvYmoudmFsdWVUeXBlID10eXBlO1xyXG4gICAgKHRoaXMudGFibGVvYmouY29udmVyc2lvbnR5cGUgPSB0aGlzLnRhYmxlb2JqLmNvbnZlcnNpb250eXBlKTtcclxuICAgIHRoaXMuZ2V0VGFibGUoKTtcclxuICB9XHJcbiAgbmdPbkRlc3Ryb3koKTogdm9pZCB7XHJcbiAgICB0aGlzLmRlc3Ryb3kkLm5leHQodHJ1ZSk7XHJcbiAgICB0aGlzLmRlc3Ryb3kkLmNvbXBsZXRlKCk7XHJcbiAgICB0aGlzLnpvbmUucnVuT3V0c2lkZUFuZ3VsYXIoKCkgPT4ge1xyXG4gICAgICBpZiAodGhpcy5saW5lcm9vdCkge1xyXG4gICAgICAgIHRoaXMubGluZXJvb3QuZGlzcG9zZSgpO1xyXG4gICAgICB9XHJcbiAgICAgIGlmICh0aGlzLmJvdW5jZWRsaW5lcm9vdCkge1xyXG4gICAgICAgIHRoaXMuYm91bmNlZGxpbmVyb290LmRpc3Bvc2UoKTtcclxuICAgICAgfVxyXG4gICAgICBpZiAodGhpcy5wb3RlbnRpYWxCdXllcnNsaW5lcm9vdCkge1xyXG4gICAgICAgIHRoaXMucG90ZW50aWFsQnV5ZXJzbGluZXJvb3QuZGlzcG9zZSgpO1xyXG4gICAgICB9XHJcbiAgICAgIGlmICh0aGlzLmVuZ2FnZXJzbGluZXJvb3QpIHtcclxuICAgICAgICB0aGlzLmVuZ2FnZXJzbGluZXJvb3QuZGlzcG9zZSgpO1xyXG4gICAgICB9XHJcbiAgICAgIGlmICh0aGlzLmhlYXRNYXByb290KSB7XHJcbiAgICAgICAgdGhpcy5oZWF0TWFwcm9vdC5kaXNwb3NlKCk7XHJcbiAgICAgIH0gaWYgKHRoaXMucm9vdFRyZW5kcykge1xyXG4gICAgICAgIHRoaXMucm9vdFRyZW5kcy5kaXNwb3NlKCk7XHJcbiAgICAgIH1cclxuICAgICAgaWYgKHRoaXMuZHdlbGxSb290KSB7XHJcbiAgICAgICAgdGhpcy5kd2VsbFJvb3QuZGlzcG9zZSgpO1xyXG4gICAgICB9XHJcbiAgICAgIGlmICh0aGlzLmludGVydmFsSWQpIHtcclxuICAgICAgICBjbGVhckludGVydmFsKHRoaXMuaW50ZXJ2YWxJZCk7XHJcbiAgICAgIH1cclxuICAgIH0pO1xyXG4gIH1cclxuICAvLyBjYXJkIGxpbmUgQ2hhcnRzIFN0YXJ0XHJcblxyXG4gIGZvb3RmYWxsbGluZUNoYXJ0cygpIHtcclxuICAgIHNldFRpbWVvdXQoKCkgPT4ge1xyXG4gICAgICBjb25zdCBjaGFydERpdiA9IGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKFwiRm9vdGZhbGxcIik7XHJcbiAgICAgIGlmICghY2hhcnREaXYpIHtcclxuICAgICAgICByZXR1cm47XHJcbiAgICAgIH1cclxuICAgICAgaWYgKHRoaXMubGluZXJvb3QpIHtcclxuICAgICAgICB0aGlzLmxpbmVyb290LmRpc3Bvc2UoKTtcclxuICAgICAgfVxyXG4gICAgbGV0IHJvb3Q6IGFueTtcclxuICAgIHJvb3QgPSBhbTUuUm9vdC5uZXcoXCJGb290ZmFsbFwiKTtcclxuICAgIHJvb3Quc2V0VGhlbWVzKFtcclxuICAgICAgYW01dGhlbWVzX0FuaW1hdGVkLm5ldyhyb290KSxcclxuICAgICAgYW01dGhlbWVzX1Jlc3BvbnNpdmUubmV3KHJvb3QpLFxyXG4gICAgXSk7XHJcbiAgICBsZXQgY2hhcnQgPSByb290LmNvbnRhaW5lci5jaGlsZHJlbi5wdXNoKFxyXG4gICAgICBhbTV4eS5YWUNoYXJ0Lm5ldyhyb290LCB7XHJcbiAgICAgICAgcGFuWDogdHJ1ZSxcclxuICAgICAgICBwYW5ZOiB0cnVlLFxyXG4gICAgICAgIHdoZWVsWDogXCJwYW5YXCIsXHJcbiAgICAgICAgd2hlZWxZOiBcInpvb21YXCIsXHJcbiAgICAgICAgcGluY2hab29tWDogdHJ1ZSxcclxuICAgICAgfSlcclxuICAgICk7XHJcblxyXG4gICAgLy8gQWRkIGRhdGFcclxuICAgIGxldCBkYXRhID0gdGhpcy5nZXRGb290ZmFsbENhcmREYXRhPy5kYXRhPy5mb290ZmFsbD8uZGF0YS5tYXAoKGl0ZW06IGFueSkgPT4gKHtcclxuICAgICAgZGF0ZTogbmV3IERhdGUoaXRlbS5kYXRlKS5nZXRUaW1lKCksIC8vIENvbnZlcnQgZGF0ZSBzdHJpbmcgdG8gdGltZXN0YW1wXHJcbiAgICAgIHZhbHVlOiBOdW1iZXIoaXRlbS52YWx1ZSksXHJcbiAgICB9KSk7XHJcbiAgICAgLy8gRW5zdXJlIHRoYXQgZGF0YSBoYXMgYXQgbGVhc3QgMiBwb2ludHMgZm9yIGxpbmUgY2hhcnRcclxuICAgICBpZiAoZGF0YS5sZW5ndGggPT09IDEpIHtcclxuICAgICAgY29uc3QgZHVwbGljYXRlUG9pbnQgPSB7IC4uLmRhdGFbMF0gfTsgLy8gQ2xvbmUgdGhlIGV4aXN0aW5nIHBvaW50XHJcbiAgICAgIGR1cGxpY2F0ZVBvaW50LmRhdGUgKz0gMTsgLy8gQWRkIGEgc21hbGwgb2Zmc2V0IHRvIHRoZSBkYXRlXHJcbiAgICAgIGRhdGEucHVzaChkdXBsaWNhdGVQb2ludCk7IC8vIEFkZCB0aGUgZHVwbGljYXRlIHBvaW50IHRvIGRhdGFcclxuICAgIH1cclxuICAgIGxldCBjdXJzb3IgPSBjaGFydC5zZXQoXHJcbiAgICAgIFwiY3Vyc29yXCIsXHJcbiAgICAgIGFtNXh5LlhZQ3Vyc29yLm5ldyhyb290LCB7XHJcbiAgICAgICAgYmVoYXZpb3I6IFwibm9uZVwiLFxyXG4gICAgICB9KVxyXG4gICAgKTtcclxuICAgIGN1cnNvci5saW5lWS5zZXQoXCJ2aXNpYmxlXCIsIGZhbHNlKTtcclxuICAgIC8vIENyZWF0ZSBheGVzXHJcbiAgICBsZXQgeEF4aXMgPSBjaGFydC54QXhlcy5wdXNoKFxyXG4gICAgICBhbTV4eS5EYXRlQXhpcy5uZXcocm9vdCwge1xyXG4gICAgICAgIG1heERldmlhdGlvbjogMC41LFxyXG4gICAgICAgIGJhc2VJbnRlcnZhbDogeyB0aW1lVW5pdDogXCJkYXlcIiwgY291bnQ6IDEgfSxcclxuICAgICAgICByZW5kZXJlcjogYW01eHkuQXhpc1JlbmRlcmVyWC5uZXcocm9vdCwgeyB9KSxcclxuICAgICAgfSlcclxuICAgICk7XHJcbiAgICB4QXhpcy5nZXQoXCJyZW5kZXJlclwiKS5ncmlkLnRlbXBsYXRlLnNldChcImZvcmNlSGlkZGVuXCIsIHRydWUpO1xyXG4gICAgeEF4aXMuZ2V0KFwicmVuZGVyZXJcIikubGFiZWxzLnRlbXBsYXRlLnNldChcImZvcmNlSGlkZGVuXCIsIHRydWUpO1xyXG5cclxuICAgIGxldCB5QXhpcyA9IGNoYXJ0LnlBeGVzLnB1c2goXHJcbiAgICAgIGFtNXh5LlZhbHVlQXhpcy5uZXcocm9vdCwge1xyXG4gICAgICAgIHJlbmRlcmVyOiBhbTV4eS5BeGlzUmVuZGVyZXJZLm5ldyhyb290LCB7IH0pLFxyXG4gICAgICB9KVxyXG4gICAgKTtcclxuICAgIHlBeGlzLmdldChcInJlbmRlcmVyXCIpLmdyaWQudGVtcGxhdGUuc2V0KFwiZm9yY2VIaWRkZW5cIiwgdHJ1ZSk7XHJcbiAgICB5QXhpcy5nZXQoXCJyZW5kZXJlclwiKS5sYWJlbHMudGVtcGxhdGUuc2V0KFwiZm9yY2VIaWRkZW5cIiwgdHJ1ZSk7XHJcblxyXG4gICAgLy8gQ3JlYXRlIHNlcmllc1xyXG4gICAgbGV0IHNlcmllcyA9IGNoYXJ0LnNlcmllcy5wdXNoKFxyXG4gICAgICBhbTV4eS5MaW5lU2VyaWVzLm5ldyhyb290LCB7XHJcbiAgICAgICAgbmFtZTogXCJTZXJpZXNcIixcclxuICAgICAgICB4QXhpczogeEF4aXMsXHJcbiAgICAgICAgeUF4aXM6IHlBeGlzLFxyXG4gICAgICAgIHZhbHVlWUZpZWxkOiBcInZhbHVlXCIsXHJcbiAgICAgICAgdmFsdWVYRmllbGQ6IFwiZGF0ZVwiLFxyXG4gICAgICAgIHN0cm9rZTogYW01LmNvbG9yKDB4MDBhM2ZmKSwgLy8gU2V0IHRoZSBsaW5lIGNvbG9yIGhlcmUgKHJlZCBpbiB0aGlzIGNhc2UpXHJcbiAgICAgIH0pXHJcbiAgICApO1xyXG4gICAgc2VyaWVzLmJ1bGxldHMucHVzaChmdW5jdGlvbiAoKSB7XHJcbiAgICAgIGxldCBidWxsZXRDaXJjbGUgPSBhbTUuQ2lyY2xlLm5ldyhyb290LCB7XHJcbiAgICAgICAgcmFkaXVzOiAwLFxyXG4gICAgICAgIGZpbGw6IHNlcmllcy5nZXQoXCJmaWxsXCIpXHJcbiAgICAgIH0pO1xyXG4gICAgICByZXR1cm4gYW01LkJ1bGxldC5uZXcocm9vdCwge1xyXG4gICAgICAgIHNwcml0ZTogYnVsbGV0Q2lyY2xlXHJcbiAgICAgIH0pXHJcbiAgICB9KVxyXG4gICAgc2VyaWVzLmRhdGEuc2V0QWxsKGRhdGEpO1xyXG4gICAgc2VyaWVzLnNldChcclxuICAgICAgXCJ0b29sdGlwXCIsXHJcbiAgICAgIGFtNS5Ub29sdGlwLm5ldyhyb290LCB7XHJcbiAgICAgICAgbGFiZWxUZXh0OiBcInt2YWx1ZVl9XCIsXHJcbiAgICAgICAgZ2V0RmlsbEZyb21TcHJpdGU6IGZhbHNlLCAvLyBQcmV2ZW50cyB0aGUgdG9vbHRpcCBmcm9tIGluaGVyaXRpbmcgY29sb3IgZnJvbSB0aGUgc3ByaXRlXHJcbiAgICAgICAgYmFja2dyb3VuZDogYW01LlJlY3RhbmdsZS5uZXcocm9vdCwge1xyXG4gICAgICAgICAgZmlsbDogYW01LmNvbG9yKDB4ZGFmMWZmKSwgLy8gU2V0IHRoZSB0b29sdGlwIGJhY2tncm91bmQgY29sb3IgaGVyZSAoYmx1ZSBpbiB0aGlzIGNhc2UpXHJcbiAgICAgICAgfSksXHJcbiAgICAgIH0pXHJcbiAgICApO1xyXG4gICAgdGhpcy5saW5lcm9vdCA9IHJvb3Q7XHJcbiAgfSwwKVxyXG4gIH1cclxuICBib3VuY2VkbGluZUNoYXJ0cygpIHtcclxuICAgIHNldFRpbWVvdXQoKCkgPT4ge1xyXG4gICAgICBjb25zdCBjaGFydERpdiA9IGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKFwiQm91bmNlZFJhdGVcIik7XHJcbiAgICAgIGlmICghY2hhcnREaXYpIHtcclxuICAgICAgICByZXR1cm47XHJcbiAgICAgIH1cclxuICAgICAgaWYgKHRoaXMuYm91bmNlZGxpbmVyb290KSB7XHJcbiAgICAgICAgdGhpcy5ib3VuY2VkbGluZXJvb3QuZGlzcG9zZSgpO1xyXG4gICAgICB9XHJcbiAgICBsZXQgcm9vdDogYW55O1xyXG4gICAgcm9vdCA9IGFtNS5Sb290Lm5ldyhcIkJvdW5jZWRSYXRlXCIpO1xyXG4gICAgcm9vdC5zZXRUaGVtZXMoW1xyXG4gICAgICBhbTV0aGVtZXNfQW5pbWF0ZWQubmV3KHJvb3QpLFxyXG4gICAgICBhbTV0aGVtZXNfUmVzcG9uc2l2ZS5uZXcocm9vdCksXHJcbiAgICBdKTtcclxuICAgIGxldCBjaGFydCA9IHJvb3QuY29udGFpbmVyLmNoaWxkcmVuLnB1c2goXHJcbiAgICAgIGFtNXh5LlhZQ2hhcnQubmV3KHJvb3QsIHtcclxuICAgICAgICBwYW5YOiB0cnVlLFxyXG4gICAgICAgIHBhblk6IHRydWUsXHJcbiAgICAgICAgd2hlZWxYOiBcInBhblhcIixcclxuICAgICAgICB3aGVlbFk6IFwiem9vbVhcIixcclxuICAgICAgICBwaW5jaFpvb21YOiB0cnVlLFxyXG4gICAgICB9KVxyXG4gICAgKTtcclxuXHJcbiAgICAvLyBBZGQgZGF0YVxyXG4gICAgbGV0IGRhdGEgPSB0aGlzLmdldEJvdW5jZWRDYXJkRGF0YT8uZGF0YT8uYm91bmNlZD8uZGF0YS5tYXAoKGl0ZW06IGFueSkgPT4gKHtcclxuICAgICAgZGF0ZTogbmV3IERhdGUoaXRlbS5kYXRlKS5nZXRUaW1lKCksIC8vIENvbnZlcnQgZGF0ZSBzdHJpbmcgdG8gdGltZXN0YW1wXHJcbiAgICAgIHZhbHVlOiBOdW1iZXIoaXRlbS52YWx1ZSksXHJcbiAgICB9KSk7XHJcbiAgICBsZXQgY3Vyc29yID0gY2hhcnQuc2V0KFxyXG4gICAgICBcImN1cnNvclwiLFxyXG4gICAgICBhbTV4eS5YWUN1cnNvci5uZXcocm9vdCwge1xyXG4gICAgICAgIGJlaGF2aW9yOiBcIm5vbmVcIixcclxuICAgICAgfSlcclxuICAgICk7XHJcbiAgICBjdXJzb3IubGluZVkuc2V0KFwidmlzaWJsZVwiLCBmYWxzZSk7XHJcbiAgICAvLyBDcmVhdGUgYXhlc1xyXG4gICAgbGV0IHhBeGlzID0gY2hhcnQueEF4ZXMucHVzaChcclxuICAgICAgYW01eHkuRGF0ZUF4aXMubmV3KHJvb3QsIHtcclxuICAgICAgICBtYXhEZXZpYXRpb246IDAuMixcclxuICAgICAgICBiYXNlSW50ZXJ2YWw6IHsgdGltZVVuaXQ6IFwiZGF5XCIsIGNvdW50OiAxIH0sXHJcbiAgICAgICAgcmVuZGVyZXI6IGFtNXh5LkF4aXNSZW5kZXJlclgubmV3KHJvb3QsIHsgbWlub3JHcmlkRW5hYmxlZDogdHJ1ZSB9KSxcclxuICAgICAgfSlcclxuICAgICk7XHJcbiAgICB4QXhpcy5nZXQoXCJyZW5kZXJlclwiKS5ncmlkLnRlbXBsYXRlLnNldChcImZvcmNlSGlkZGVuXCIsIHRydWUpO1xyXG4gICAgeEF4aXMuZ2V0KFwicmVuZGVyZXJcIikubGFiZWxzLnRlbXBsYXRlLnNldChcImZvcmNlSGlkZGVuXCIsIHRydWUpO1xyXG5cclxuICAgIGxldCB5QXhpcyA9IGNoYXJ0LnlBeGVzLnB1c2goXHJcbiAgICAgIGFtNXh5LlZhbHVlQXhpcy5uZXcocm9vdCwge1xyXG4gICAgICAgIHJlbmRlcmVyOiBhbTV4eS5BeGlzUmVuZGVyZXJZLm5ldyhyb290LCB7IHBhbjogXCJ6b29tXCIgfSksXHJcbiAgICAgIH0pXHJcbiAgICApO1xyXG4gICAgeUF4aXMuZ2V0KFwicmVuZGVyZXJcIikuZ3JpZC50ZW1wbGF0ZS5zZXQoXCJmb3JjZUhpZGRlblwiLCB0cnVlKTtcclxuICAgIHlBeGlzLmdldChcInJlbmRlcmVyXCIpLmxhYmVscy50ZW1wbGF0ZS5zZXQoXCJmb3JjZUhpZGRlblwiLCB0cnVlKTtcclxuXHJcbiAgICAvLyBDcmVhdGUgc2VyaWVzXHJcbiAgICBsZXQgc2VyaWVzID0gY2hhcnQuc2VyaWVzLnB1c2goXHJcbiAgICAgIGFtNXh5LkxpbmVTZXJpZXMubmV3KHJvb3QsIHtcclxuICAgICAgICBuYW1lOiBcIlNlcmllc1wiLFxyXG4gICAgICAgIHhBeGlzOiB4QXhpcyxcclxuICAgICAgICB5QXhpczogeUF4aXMsXHJcbiAgICAgICAgdmFsdWVZRmllbGQ6IFwidmFsdWVcIixcclxuICAgICAgICB2YWx1ZVhGaWVsZDogXCJkYXRlXCIsXHJcbiAgICAgICAgc3Ryb2tlOiBhbTUuY29sb3IoMHgwMGEzZmYpLCAvLyBTZXQgdGhlIGxpbmUgY29sb3IgaGVyZSAocmVkIGluIHRoaXMgY2FzZSlcclxuICAgICAgfSlcclxuICAgICk7XHJcbiAgICBzZXJpZXMuYnVsbGV0cy5wdXNoKGZ1bmN0aW9uICgpIHtcclxuICAgICAgbGV0IGJ1bGxldENpcmNsZSA9IGFtNS5DaXJjbGUubmV3KHJvb3QsIHtcclxuICAgICAgICByYWRpdXM6IDAsXHJcbiAgICAgICAgZmlsbDogc2VyaWVzLmdldChcImZpbGxcIilcclxuICAgICAgfSk7XHJcbiAgICAgIHJldHVybiBhbTUuQnVsbGV0Lm5ldyhyb290LCB7XHJcbiAgICAgICAgc3ByaXRlOiBidWxsZXRDaXJjbGVcclxuICAgICAgfSlcclxuICAgIH0pXHJcbiAgICBzZXJpZXMuZGF0YS5zZXRBbGwoZGF0YSk7XHJcbiAgICBzZXJpZXMuc2V0KFxyXG4gICAgICBcInRvb2x0aXBcIixcclxuICAgICAgYW01LlRvb2x0aXAubmV3KHJvb3QsIHtcclxuICAgICAgICBsYWJlbFRleHQ6IFwie3ZhbHVlWX1cIixcclxuICAgICAgICBnZXRGaWxsRnJvbVNwcml0ZTogZmFsc2UsIC8vIFByZXZlbnRzIHRoZSB0b29sdGlwIGZyb20gaW5oZXJpdGluZyBjb2xvciBmcm9tIHRoZSBzcHJpdGVcclxuICAgICAgICBiYWNrZ3JvdW5kOiBhbTUuUmVjdGFuZ2xlLm5ldyhyb290LCB7XHJcbiAgICAgICAgICBmaWxsOiBhbTUuY29sb3IoMHhkYWYxZmYpLCAvLyBTZXQgdGhlIHRvb2x0aXAgYmFja2dyb3VuZCBjb2xvciBoZXJlIChibHVlIGluIHRoaXMgY2FzZSlcclxuICAgICAgICB9KSxcclxuICAgICAgfSlcclxuICAgICk7XHJcbiAgICB0aGlzLmJvdW5jZWRsaW5lcm9vdCA9IHJvb3Q7XHJcbiAgfSwwKVxyXG4gIH1cclxuXHJcbiAgcG90ZW50aWFsbGluZUNoYXJ0cygpIHtcclxuICAgIHNldFRpbWVvdXQoKCkgPT4ge1xyXG4gICAgICBjb25zdCBjaGFydERpdiA9IGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKFwiUG90ZW50aWFsQnV5ZXJzXCIpO1xyXG4gICAgICBpZiAoIWNoYXJ0RGl2KSB7XHJcbiAgICAgICAgcmV0dXJuO1xyXG4gICAgICB9XHJcbiAgICAgIGlmICh0aGlzLnBvdGVudGlhbEJ1eWVyc2xpbmVyb290KSB7XHJcbiAgICAgICAgdGhpcy5wb3RlbnRpYWxCdXllcnNsaW5lcm9vdC5kaXNwb3NlKCk7XHJcbiAgICAgIH1cclxuICAgIGxldCByb290OiBhbnk7XHJcbiAgICByb290ID0gYW01LlJvb3QubmV3KFwiUG90ZW50aWFsQnV5ZXJzXCIpO1xyXG4gICAgcm9vdC5zZXRUaGVtZXMoW1xyXG4gICAgICBhbTV0aGVtZXNfQW5pbWF0ZWQubmV3KHJvb3QpLFxyXG4gICAgICBhbTV0aGVtZXNfUmVzcG9uc2l2ZS5uZXcocm9vdCksXHJcbiAgICBdKTtcclxuICAgIGxldCBjaGFydCA9IHJvb3QuY29udGFpbmVyLmNoaWxkcmVuLnB1c2goXHJcbiAgICAgIGFtNXh5LlhZQ2hhcnQubmV3KHJvb3QsIHtcclxuICAgICAgICBwYW5YOiB0cnVlLFxyXG4gICAgICAgIHBhblk6IHRydWUsXHJcbiAgICAgICAgd2hlZWxYOiBcInBhblhcIixcclxuICAgICAgICB3aGVlbFk6IFwiem9vbVhcIixcclxuICAgICAgICBwaW5jaFpvb21YOiB0cnVlLFxyXG4gICAgICB9KVxyXG4gICAgKTtcclxuXHJcbiAgICAvLyBBZGQgZGF0YVxyXG4gICAgbGV0IGRhdGEgPSB0aGlzLmdldFBvdGVudGlhbEJ1eWVyc0NhcmREYXRhPy5kYXRhPy5wb3RlbnRpYWxCdXllcnM/LmRhdGEubWFwKFxyXG4gICAgICAoaXRlbTogYW55KSA9PiAoe1xyXG4gICAgICAgIGRhdGU6IG5ldyBEYXRlKGl0ZW0uZGF0ZSkuZ2V0VGltZSgpLCAvLyBDb252ZXJ0IGRhdGUgc3RyaW5nIHRvIHRpbWVzdGFtcFxyXG4gICAgICAgIHZhbHVlOiBOdW1iZXIoaXRlbS52YWx1ZSksXHJcbiAgICAgIH0pXHJcbiAgICApO1xyXG4gICAgbGV0IGN1cnNvciA9IGNoYXJ0LnNldChcclxuICAgICAgXCJjdXJzb3JcIixcclxuICAgICAgYW01eHkuWFlDdXJzb3IubmV3KHJvb3QsIHtcclxuICAgICAgICBiZWhhdmlvcjogXCJub25lXCIsXHJcbiAgICAgIH0pXHJcbiAgICApO1xyXG4gICAgY3Vyc29yLmxpbmVZLnNldChcInZpc2libGVcIiwgZmFsc2UpO1xyXG4gICAgLy8gQ3JlYXRlIGF4ZXNcclxuICAgIGxldCB4QXhpcyA9IGNoYXJ0LnhBeGVzLnB1c2goXHJcbiAgICAgIGFtNXh5LkRhdGVBeGlzLm5ldyhyb290LCB7XHJcbiAgICAgICAgbWF4RGV2aWF0aW9uOiAwLjIsXHJcbiAgICAgICAgYmFzZUludGVydmFsOiB7IHRpbWVVbml0OiBcImRheVwiLCBjb3VudDogMSB9LFxyXG4gICAgICAgIHJlbmRlcmVyOiBhbTV4eS5BeGlzUmVuZGVyZXJYLm5ldyhyb290LCB7IG1pbm9yR3JpZEVuYWJsZWQ6IHRydWUgfSksXHJcbiAgICAgIH0pXHJcbiAgICApO1xyXG4gICAgeEF4aXMuZ2V0KFwicmVuZGVyZXJcIikuZ3JpZC50ZW1wbGF0ZS5zZXQoXCJmb3JjZUhpZGRlblwiLCB0cnVlKTtcclxuICAgIHhBeGlzLmdldChcInJlbmRlcmVyXCIpLmxhYmVscy50ZW1wbGF0ZS5zZXQoXCJmb3JjZUhpZGRlblwiLCB0cnVlKTtcclxuXHJcbiAgICBsZXQgeUF4aXMgPSBjaGFydC55QXhlcy5wdXNoKFxyXG4gICAgICBhbTV4eS5WYWx1ZUF4aXMubmV3KHJvb3QsIHtcclxuICAgICAgICByZW5kZXJlcjogYW01eHkuQXhpc1JlbmRlcmVyWS5uZXcocm9vdCwgeyBwYW46IFwiem9vbVwiIH0pLFxyXG4gICAgICB9KVxyXG4gICAgKTtcclxuICAgIHlBeGlzLmdldChcInJlbmRlcmVyXCIpLmdyaWQudGVtcGxhdGUuc2V0KFwiZm9yY2VIaWRkZW5cIiwgdHJ1ZSk7XHJcbiAgICB5QXhpcy5nZXQoXCJyZW5kZXJlclwiKS5sYWJlbHMudGVtcGxhdGUuc2V0KFwiZm9yY2VIaWRkZW5cIiwgdHJ1ZSk7XHJcblxyXG4gICAgLy8gQ3JlYXRlIHNlcmllc1xyXG4gICAgbGV0IHNlcmllcyA9IGNoYXJ0LnNlcmllcy5wdXNoKFxyXG4gICAgICBhbTV4eS5MaW5lU2VyaWVzLm5ldyhyb290LCB7XHJcbiAgICAgICAgbmFtZTogXCJTZXJpZXNcIixcclxuICAgICAgICB4QXhpczogeEF4aXMsXHJcbiAgICAgICAgeUF4aXM6IHlBeGlzLFxyXG4gICAgICAgIHZhbHVlWUZpZWxkOiBcInZhbHVlXCIsXHJcbiAgICAgICAgdmFsdWVYRmllbGQ6IFwiZGF0ZVwiLFxyXG4gICAgICAgIHN0cm9rZTogYW01LmNvbG9yKDB4MDBhM2ZmKSwgLy8gU2V0IHRoZSBsaW5lIGNvbG9yIGhlcmUgKHJlZCBpbiB0aGlzIGNhc2UpXHJcbiAgICAgIH0pXHJcbiAgICApO1xyXG4gICAgc2VyaWVzLmJ1bGxldHMucHVzaChmdW5jdGlvbiAoKSB7XHJcbiAgICAgIGxldCBidWxsZXRDaXJjbGUgPSBhbTUuQ2lyY2xlLm5ldyhyb290LCB7XHJcbiAgICAgICAgcmFkaXVzOiAwLFxyXG4gICAgICAgIGZpbGw6IHNlcmllcy5nZXQoXCJmaWxsXCIpXHJcbiAgICAgIH0pO1xyXG4gICAgICByZXR1cm4gYW01LkJ1bGxldC5uZXcocm9vdCwge1xyXG4gICAgICAgIHNwcml0ZTogYnVsbGV0Q2lyY2xlXHJcbiAgICAgIH0pXHJcbiAgICB9KVxyXG4gICAgc2VyaWVzLmRhdGEuc2V0QWxsKGRhdGEpO1xyXG4gICAgc2VyaWVzLnNldChcclxuICAgICAgXCJ0b29sdGlwXCIsXHJcbiAgICAgIGFtNS5Ub29sdGlwLm5ldyhyb290LCB7XHJcbiAgICAgICAgbGFiZWxUZXh0OiBcInt2YWx1ZVl9XCIsXHJcbiAgICAgICAgZ2V0RmlsbEZyb21TcHJpdGU6IGZhbHNlLCAvLyBQcmV2ZW50cyB0aGUgdG9vbHRpcCBmcm9tIGluaGVyaXRpbmcgY29sb3IgZnJvbSB0aGUgc3ByaXRlXHJcbiAgICAgICAgYmFja2dyb3VuZDogYW01LlJlY3RhbmdsZS5uZXcocm9vdCwge1xyXG4gICAgICAgICAgZmlsbDogYW01LmNvbG9yKDB4ZGFmMWZmKSwgLy8gU2V0IHRoZSB0b29sdGlwIGJhY2tncm91bmQgY29sb3IgaGVyZSAoYmx1ZSBpbiB0aGlzIGNhc2UpXHJcbiAgICAgICAgfSksXHJcbiAgICAgIH0pXHJcbiAgICApO1xyXG4gICAgdGhpcy5wb3RlbnRpYWxCdXllcnNsaW5lcm9vdCA9IHJvb3Q7XHJcbiAgfSwwKVxyXG4gIH1cclxuXHJcbiAgZW5nYWdlcnNsaW5lQ2hhcnRzKCkge1xyXG4gICAgc2V0VGltZW91dCgoKSA9PiB7XHJcbiAgICAgIGNvbnN0IGNoYXJ0RGl2ID0gZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoXCJlbmdhZ2Vyc1wiKTtcclxuICAgICAgaWYgKCFjaGFydERpdikge1xyXG4gICAgICAgIHJldHVybjtcclxuICAgICAgfVxyXG4gICAgICBpZiAodGhpcy5lbmdhZ2Vyc2xpbmVyb290KSB7XHJcbiAgICAgICAgdGhpcy5lbmdhZ2Vyc2xpbmVyb290LmRpc3Bvc2UoKTtcclxuICAgICAgfVxyXG4gICAgbGV0IHJvb3Q6IGFueTtcclxuICAgIHJvb3QgPSBhbTUuUm9vdC5uZXcoXCJlbmdhZ2Vyc1wiKTtcclxuICAgIHJvb3Quc2V0VGhlbWVzKFtcclxuICAgICAgYW01dGhlbWVzX0FuaW1hdGVkLm5ldyhyb290KSxcclxuICAgICAgYW01dGhlbWVzX1Jlc3BvbnNpdmUubmV3KHJvb3QpLFxyXG4gICAgXSk7XHJcbiAgICBsZXQgY2hhcnQgPSByb290LmNvbnRhaW5lci5jaGlsZHJlbi5wdXNoKFxyXG4gICAgICBhbTV4eS5YWUNoYXJ0Lm5ldyhyb290LCB7XHJcbiAgICAgICAgcGFuWDogdHJ1ZSxcclxuICAgICAgICBwYW5ZOiB0cnVlLFxyXG4gICAgICAgIHdoZWVsWDogXCJwYW5YXCIsXHJcbiAgICAgICAgd2hlZWxZOiBcInpvb21YXCIsXHJcbiAgICAgICAgcGluY2hab29tWDogdHJ1ZSxcclxuICAgICAgfSlcclxuICAgICk7XHJcblxyXG4gICAgLy8gQWRkIGRhdGFcclxuICAgIGxldCBkYXRhID0gdGhpcy5nZXRFbmdhZ2Vyc0NhcmREYXRhPy5kYXRhPy5lbmdhZ2Vycz8uZGF0YS5tYXAoKGl0ZW06IGFueSkgPT4gKHtcclxuICAgICAgZGF0ZTogbmV3IERhdGUoaXRlbS5kYXRlKS5nZXRUaW1lKCksIC8vIENvbnZlcnQgZGF0ZSBzdHJpbmcgdG8gdGltZXN0YW1wXHJcbiAgICAgIHZhbHVlOiBOdW1iZXIoaXRlbS52YWx1ZSksXHJcbiAgICB9KSk7XHJcbiAgICBsZXQgY3Vyc29yID0gY2hhcnQuc2V0KFxyXG4gICAgICBcImN1cnNvclwiLFxyXG4gICAgICBhbTV4eS5YWUN1cnNvci5uZXcocm9vdCwge1xyXG4gICAgICAgIGJlaGF2aW9yOiBcIm5vbmVcIixcclxuICAgICAgfSlcclxuICAgICk7XHJcbiAgICBjdXJzb3IubGluZVkuc2V0KFwidmlzaWJsZVwiLCBmYWxzZSk7XHJcbiAgICAvLyBDcmVhdGUgYXhlc1xyXG4gICAgbGV0IHhBeGlzID0gY2hhcnQueEF4ZXMucHVzaChcclxuICAgICAgYW01eHkuRGF0ZUF4aXMubmV3KHJvb3QsIHtcclxuICAgICAgICBtYXhEZXZpYXRpb246IDAuMixcclxuICAgICAgICBiYXNlSW50ZXJ2YWw6IHsgdGltZVVuaXQ6IFwiZGF5XCIsIGNvdW50OiAxIH0sXHJcbiAgICAgICAgcmVuZGVyZXI6IGFtNXh5LkF4aXNSZW5kZXJlclgubmV3KHJvb3QsIHsgbWlub3JHcmlkRW5hYmxlZDogdHJ1ZSB9KSxcclxuICAgICAgfSlcclxuICAgICk7XHJcbiAgICB4QXhpcy5nZXQoXCJyZW5kZXJlclwiKS5ncmlkLnRlbXBsYXRlLnNldChcImZvcmNlSGlkZGVuXCIsIHRydWUpO1xyXG4gICAgeEF4aXMuZ2V0KFwicmVuZGVyZXJcIikubGFiZWxzLnRlbXBsYXRlLnNldChcImZvcmNlSGlkZGVuXCIsIHRydWUpO1xyXG5cclxuICAgIGxldCB5QXhpcyA9IGNoYXJ0LnlBeGVzLnB1c2goXHJcbiAgICAgIGFtNXh5LlZhbHVlQXhpcy5uZXcocm9vdCwge1xyXG4gICAgICAgIHJlbmRlcmVyOiBhbTV4eS5BeGlzUmVuZGVyZXJZLm5ldyhyb290LCB7IHBhbjogXCJ6b29tXCIgfSksXHJcbiAgICAgIH0pXHJcbiAgICApO1xyXG4gICAgeUF4aXMuZ2V0KFwicmVuZGVyZXJcIikuZ3JpZC50ZW1wbGF0ZS5zZXQoXCJmb3JjZUhpZGRlblwiLCB0cnVlKTtcclxuICAgIHlBeGlzLmdldChcInJlbmRlcmVyXCIpLmxhYmVscy50ZW1wbGF0ZS5zZXQoXCJmb3JjZUhpZGRlblwiLCB0cnVlKTtcclxuXHJcbiAgICAvLyBDcmVhdGUgc2VyaWVzXHJcbiAgICBsZXQgc2VyaWVzID0gY2hhcnQuc2VyaWVzLnB1c2goXHJcbiAgICAgIGFtNXh5LkxpbmVTZXJpZXMubmV3KHJvb3QsIHtcclxuICAgICAgICBuYW1lOiBcIlNlcmllc1wiLFxyXG4gICAgICAgIHhBeGlzOiB4QXhpcyxcclxuICAgICAgICB5QXhpczogeUF4aXMsXHJcbiAgICAgICAgdmFsdWVZRmllbGQ6IFwidmFsdWVcIixcclxuICAgICAgICB2YWx1ZVhGaWVsZDogXCJkYXRlXCIsXHJcbiAgICAgICAgc3Ryb2tlOiBhbTUuY29sb3IoMHgwMGEzZmYpLCAvLyBTZXQgdGhlIGxpbmUgY29sb3IgaGVyZSAocmVkIGluIHRoaXMgY2FzZSlcclxuICAgICAgfSlcclxuICAgICk7XHJcbiAgICBzZXJpZXMuYnVsbGV0cy5wdXNoKGZ1bmN0aW9uICgpIHtcclxuICAgICAgbGV0IGJ1bGxldENpcmNsZSA9IGFtNS5DaXJjbGUubmV3KHJvb3QsIHtcclxuICAgICAgICByYWRpdXM6IDAsXHJcbiAgICAgICAgZmlsbDogc2VyaWVzLmdldChcImZpbGxcIilcclxuICAgICAgfSk7XHJcbiAgICAgIHJldHVybiBhbTUuQnVsbGV0Lm5ldyhyb290LCB7XHJcbiAgICAgICAgc3ByaXRlOiBidWxsZXRDaXJjbGVcclxuICAgICAgfSlcclxuICAgIH0pXHJcbiAgICBzZXJpZXMuZGF0YS5zZXRBbGwoZGF0YSk7XHJcbiAgICBzZXJpZXMuc2V0KFxyXG4gICAgICBcInRvb2x0aXBcIixcclxuICAgICAgYW01LlRvb2x0aXAubmV3KHJvb3QsIHtcclxuICAgICAgICBsYWJlbFRleHQ6IFwie3ZhbHVlWX1cIixcclxuICAgICAgICBnZXRGaWxsRnJvbVNwcml0ZTogZmFsc2UsIC8vIFByZXZlbnRzIHRoZSB0b29sdGlwIGZyb20gaW5oZXJpdGluZyBjb2xvciBmcm9tIHRoZSBzcHJpdGVcclxuICAgICAgICBiYWNrZ3JvdW5kOiBhbTUuUmVjdGFuZ2xlLm5ldyhyb290LCB7XHJcbiAgICAgICAgICBmaWxsOiBhbTUuY29sb3IoMHhkYWYxZmYpLCAvLyBTZXQgdGhlIHRvb2x0aXAgYmFja2dyb3VuZCBjb2xvciBoZXJlIChibHVlIGluIHRoaXMgY2FzZSlcclxuICAgICAgICB9KSxcclxuICAgICAgfSlcclxuICAgICk7XHJcbiAgICB0aGlzLmVuZ2FnZXJzbGluZXJvb3QgPSByb290O1xyXG4gIH0sMClcclxuICB9XHJcbiAgLy8gY2FyZCBsaW5lIENoYXJ0cyBFbmRcclxuXHJcbiAgaGVhdE1hcCgpIHtcclxuICAgIHRoaXMuaGVhdGxvYWRpbmcgPSBmYWxzZVxyXG4gICAgdGhpcy5oZWF0bm9EYXRhID0gZmFsc2VcclxuICAgIHNldFRpbWVvdXQoKCkgPT4ge1xyXG4gICAgICBjb25zdCBjaGFydERpdiA9IGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKFwiY2hhcnRkaXZcIik7XHJcbiAgICAgIGlmICghY2hhcnREaXYpIHtcclxuICAgICAgICByZXR1cm47XHJcbiAgICAgIH1cclxuICAgICAgaWYgKHRoaXMuaGVhdE1hcHJvb3QpIHtcclxuICAgICAgICB0aGlzLmhlYXRNYXByb290LmRpc3Bvc2UoKTtcclxuICAgICAgfVxyXG4gICAgbGV0IHJvb3QgPSBhbTUuUm9vdC5uZXcoXCJjaGFydGRpdlwiKTtcclxuICAgIHJvb3Quc2V0VGhlbWVzKFthbTV0aGVtZXNfQW5pbWF0ZWQubmV3KHJvb3QpXSk7XHJcblxyXG4gICAgbGV0IGNoYXJ0ID0gcm9vdC5jb250YWluZXIuY2hpbGRyZW4ucHVzaChcclxuICAgICAgYW01cGVyY2VudC5TbGljZWRDaGFydC5uZXcocm9vdCwge1xyXG4gICAgICAgIGxheW91dDogcm9vdC52ZXJ0aWNhbExheW91dCxcclxuICAgICAgfSlcclxuICAgICk7XHJcbiAgXHJcbiAgICAgIGxldCBkYXRhID0gdGhpcy5oZWF0TWFwRGF0YTtcclxuICAgIGlmICh0aGlzLmhlYWRlckRhdGE/LmNsaWVudCA9PT0gJzQ1MicpIHtcclxuICAgICAgZGF0YSA9IGRhdGEuZmlsdGVyKChpdGVtOiBhbnkpID0+IGl0ZW0uY2F0ZWdvcnkgIT09ICdQb3RlbnRpYWwgQnV5ZXJzJyk7XHJcbiAgICAgIGRhdGEgPSBkYXRhLm1hcCgoaXRlbTphbnkpID0+IHtcclxuICAgICAgICBjb25zdCBjYXRlZ29yeSA9IGl0ZW0uY2F0ZWdvcnkudG9Mb3dlckNhc2UoKTtcclxuICAgICAgXHJcbiAgICAgICAgY29uc3QgdXBkYXRlZENhdGVnb3J5ID1cclxuICAgICAgICAgIGNhdGVnb3J5ID09PSAnZW5nYWdlcnMnXHJcbiAgICAgICAgICAgID8gYE1vcmUgdGhhbiAke3RoaXMuZmVhdHVyZUNvbmZpZz8uYm91bmNlZExpbWl0LnZhbHVlfSBtaW5zYFxyXG4gICAgICAgICAgICA6IGNhdGVnb3J5ID09PSAnYm91bmNlZCdcclxuICAgICAgICAgICAgPyBgTGVzcyB0aGFuICR7dGhpcy5mZWF0dXJlQ29uZmlnPy5ib3VuY2VkTGltaXQudmFsdWV9IG1pbnNgXHJcbiAgICAgICAgICAgIDogY2F0ZWdvcnkgPT09ICdjb252ZXJzaW9uJ1xyXG4gICAgICAgICAgICA/IGBNb3JlIHRoYW4gJHt0aGlzLmZlYXR1cmVDb25maWc/LmNvbnZlcnNpb24udmFsdWV9IG1pbnNgXHJcbiAgICAgICAgICAgIDogY2F0ZWdvcnkgPT09ICdmb290ZmFsbCdcclxuICAgICAgICAgICAgPyAnRm9vdGZhbGwnXHJcbiAgICAgICAgICAgIDogYCR7dGhpcy5mZWF0dXJlQ29uZmlnPy5taXNzZWRPcHBvcnR1bml0eUZyb20udmFsdWV9LSR7dGhpcy5mZWF0dXJlQ29uZmlnPy5taXNzZWRPcHBvcnR1bml0eVRvLnZhbHVlfSBtaW5zYDtcclxuICAgICAgXHJcbiAgICAgICAgcmV0dXJuIHtcclxuICAgICAgICAgIC4uLml0ZW0sXHJcbiAgICAgICAgICBjYXRlZ29yeTogdXBkYXRlZENhdGVnb3J5LFxyXG4gICAgICAgIH07XHJcbiAgICAgIH0pO1xyXG4gICAgICB9XHJcbiAgICAgIFxyXG4gICAgZGF0YS5zb3J0KChhOmFueSwgYjphbnkpID0+IGIudmFsdWUgLSBhLnZhbHVlKTtcclxuICAgIGxldCBzZXJpZXMgPSBjaGFydC5zZXJpZXMucHVzaChcclxuICAgICAgYW01cGVyY2VudC5GdW5uZWxTZXJpZXMubmV3KHJvb3QsIHtcclxuICAgICAgICBhbGlnbkxhYmVsczogZmFsc2UsXHJcbiAgICAgICAgb3JpZW50YXRpb246IFwiaG9yaXpvbnRhbFwiLFxyXG4gICAgICAgIHZhbHVlRmllbGQ6IFwidmFsdWVcIixcclxuICAgICAgICBjYXRlZ29yeUZpZWxkOiBcImNhdGVnb3J5XCIsXHJcbiAgICAgICAgYm90dG9tUmF0aW86IDEsXHJcbiAgICAgIH0pXHJcbiAgICApO1xyXG5cclxuICAgICAgXHJcbiAgICBzZXJpZXMuZGF0YS5zZXRBbGwoZGF0YSk7XHJcbiAgICBzZXJpZXMuYXBwZWFyKCk7XHJcbiAgICAvLyBVcGRhdGUgdGhlIGxhYmVsIHRlbXBsYXRlIHRvIGluY2x1ZGUgdGhlIHBlcmNlbnRhZ2VcclxuICAgIHNlcmllcy5sYWJlbHMudGVtcGxhdGUuc2V0QWxsKHtcclxuICAgICAgcG9wdWxhdGVUZXh0OiB0cnVlLFxyXG4gICAgICB0ZXh0OiBcIntjYXRlZ29yeX0gKHtjb3VudH0lKVxcblxcbnt2YWx1ZX1cIixcclxuICAgICAgZm9udFNpemU6XCIxM3B4XCIsXHJcbiAgICAgIGZvbnRXZWlnaHQ6XCI0MDBcIixcclxuICAgICAgdGV4dEFsaWduOlwiY2VudGVyXCJcclxuICAgIH0pO1xyXG4gICAgICBcclxuICAgIHRoaXMuaGVhdE1hcHJvb3QgPSByb290O1xyXG4gICAgY2hhcnQuYXBwZWFyKDEwMDAsIDEwMCk7XHJcbiAgfSwwKTtcclxuXHJcbiAgfVxyXG5cclxuICB0eXBlOiBhbnkgPSBcIndlZWtseVwiO1xyXG4gIHNlbGVjdFBsYW4odHlwZTogYW55KSB7XHJcbiAgICB0aGlzLnR5cGUgPSB0eXBlO1xyXG4gIH1cclxuXHJcbiAgLy8gVG9nZ2xlIGZ1bmN0aW9uIGZvciB0aGUgc3dpdGNoXHJcbiAgdG9nZ2xlQXZlcmFnZShldnQ6YW55KSB7XHJcbiAgICAvLyB0aGlzLnRhYmxlb2JqLm5vYiA9dHJ1ZTtcclxuICAgIHRoaXMuaXNBdmVyYWdlID0gZXZ0LnRhcmdldC5jaGVja2VkO1xyXG4gICAgdGhpcy5zZXJ2aWNlLnRvZ2dsZUF2ZXJhZ2UodGhpcy5pc0F2ZXJhZ2UpO1xyXG4gICAgdGhpcy5zZXJ2aWNlPy50b2dnbGVub2IodGhpcy50YWJsZW9iai5ub2IpO1xyXG4gICAgdGhpcy50YWJsZW9iai5mcm9tRGF0ZT0gdGhpcy5oZWFkZXJEYXRhLmRhdGUuc3RhcnREYXRlLFxyXG4gICAgdGhpcy50YWJsZW9iai50b0RhdGU9IHRoaXMuaGVhZGVyRGF0YS5kYXRlLmVuZERhdGUsXHJcbiAgICBkZWxldGUgdGhpcy50YWJsZW9iai5yZWNhcFZpZGVvRGF0ZTtcclxuICAgIGRlbGV0ZSB0aGlzLnRhYmxlb2JqLmxpbWl0OyBkZWxldGUgdGhpcy50YWJsZW9iai5leHBvcnQ7XHJcbiAgICBkZWxldGUgdGhpcy50YWJsZW9iai5vZmZzZXQ7XHJcbiAgICBpZih0aGlzLmlzQXZlcmFnZSA9PT0gdHJ1ZSl7XHJcbiAgICB0aGlzLnZhbHVlVHlwZSA9ICdhdmVyYWdlJztcclxuICAgICB0aGlzLmZvb3RmYWxsTmFtZSA9ICdBdmcuIEZvb3RmYWxsJ1xyXG4gICB0aGlzLnRhYmxlb2JqLnZhbHVlVHlwZSA9dGhpcy52YWx1ZVR5cGU7XHJcbiAgIHRoaXMub2JqRGF0YS52YWx1ZVR5cGUgPXRoaXMudmFsdWVUeXBlO1xyXG4gICB0aGlzLm9iakRhdGFUcmFmZmljLnZhbHVlVHlwZSA9dGhpcy52YWx1ZVR5cGU7XHJcbiAgLy8gIHRoaXMuY29udmVyc2lvblZhbHVlID0gJyc7XHJcbiAgIHRoaXMudHlwZVZhbHVlPSdhdmVyYWdlJztcclxuICAvLyAgdGhpcy52YWx1ZUNvbnZlcnNpb25SYXRlID0gdGhpcy5nZXRDYXJkRGF0YT8uY29udmVyc2lvbj8ucmF0ZTtcclxuICB9ICBlbHNlIHtcclxuICAgICB0aGlzLmZvb3RmYWxsTmFtZSA9ICdBY3R1YWwgRm9vdGZhbGwnXHJcbiAgICAgdGhpcy52YWx1ZVR5cGU9J2FjdHVhbCc7XHJcbiAgICB0aGlzLnRhYmxlb2JqLnZhbHVlVHlwZSA9J2FjdHVhbCc7XHJcbiAgICB0aGlzLm9iakRhdGEudmFsdWVUeXBlID0nYWN0dWFsJztcclxuICAgIHRoaXMub2JqRGF0YVRyYWZmaWMudmFsdWVUeXBlID0nYWN0dWFsJztcclxuICAgIHRoaXMudHlwZVZhbHVlPSdzdW0nO1xyXG5cclxuICAgIC8vIHRoaXMudmFsdWVDb252ZXJzaW9uUmF0ZSA9IHRoaXMuZ2V0Q2FyZERhdGE/LmNvbnZlcnNpb24/LnJhdGU7XHJcbiAgfVxyXG4gIGlmKHRoaXMudGFibGVvYmoubm9iKXtcclxuICAgIHRoaXMudmFsdWVDb252ZXJzaW9uUmF0ZSA9IHRoaXMuZ2V0Q29udmVyc2lvbkNhcmREYXRhPy5jb252ZXJzaW9uPy5ub2Iubm9iO1xyXG4gIHRoaXMuY29udmVyc2lvblZhbHVlID0nTm9CIERlcml2ZWQnXHJcbn0gZWxzZSBpZiAodGhpcy5jbGllbnREYXRhPy5mZWF0dXJlQ29uZmlncz8ubWlzc2VkT3Bwb3J0dW5pdHlDYWxjdWxhdGlvbiA9PT0gJ2VuZ2FnZXJzLWNvbnZlcnNpb24nKSB7XHJcbiAgdGhpcy52YWx1ZUNvbnZlcnNpb25SYXRlID0gdGhpcy5nZXRDb252ZXJzaW9uQ2FyZERhdGE/LmNvbnZlcnNpb24/LmVuZ2FnZXJzPy5yYXRlO1xyXG4gIHRoaXMuY29udmVyc2lvblZhbHVlID0gJ2VuZ2FnZXJzJztcclxufSBlbHNlIHtcclxuICB0aGlzLnZhbHVlQ29udmVyc2lvblJhdGUgPSB0aGlzLmdldENvbnZlcnNpb25DYXJkRGF0YT8uY29udmVyc2lvbj8uZm9vdGZhbGw/LnJhdGU7XHJcbiAgdGhpcy5jb252ZXJzaW9uVmFsdWUgPSAnZm9vdGZhbGwnO1xyXG59XHJcbiAgdGhpcy5wcmV2aW91c1ZhbHVlID0gJ2Zvb3RmYWxsJzsgXHJcbiAgdGhpcy50YWJsZW9iai5ub3JtYWxpemUgPSB0aGlzLm5vcm1hbGl6ZVxyXG5cclxuICAgIHRoaXMuZ2V0RnVubmFsKCk7XHJcbiAgICB0aGlzLmdldEZvb3RmYWxsQ2FyZCgpO1xyXG4gICAgdGhpcy5nZXRDb252ZXJzaW9uQ2FyZCgpO1xyXG4gICAgdGhpcy5nZXRCb3VuY2VkQ2FyZCgpO1xyXG4gICAgdGhpcy5nZXRFbmdhZ2Vyc0NhcmQoKTtcclxuICAgIHRoaXMuZ2V0UG90ZW50aWFsQnV5ZXJzQ2FyZCgpO1xyXG4gICAgdGhpcy5nZXRNaXNzZWRPcHBvcnR1bml0eUNhcmQoKTtcclxuICAgIHRoaXMuZ2V0UG90ZW50aWFsQnV5ZXJzKCk7XHJcbiAgICB0aGlzLmdldFRhYmxlKCk7XHJcbiAgICB0aGlzLmZvb3RmYWxsVHJlbmQoKTtcclxuICAgIGlmKHRoaXMuaGVhZGVyRGF0YT8uY2xpZW50ID09PSc0NTknKXtcclxuICAgICAgdGhpcy5zZWxlY3RlZFRhYiA9IFwiZm9vdGZhbGxcIlxyXG4gICAgICB0aGlzLmZvb3RmYWxsVmFsdWUgPSBcImZvb3RmYWxsXCI7XHJcbiAgICAgIHRoaXMuc2VsY3RlZFZhbHVlID0nRm9vdGZhbGwgQW5hbHlzaXMnO1xyXG4gICAgdGhpcy5zZWxlY3RlZFRhYnMoJ2Zvb3RmYWxsJyk7XHJcbiAgICB9IGVsc2Uge1xyXG4gICAgICB0aGlzLnNlbGVjdGVkVGFiID0gXCJ0cmFmZmljXCJcclxuICAgICAgdGhpcy5mb290ZmFsbFZhbHVlID0gXCJ0cmFmZmljXCI7XHJcbiAgICAgIHRoaXMuc2VsY3RlZFZhbHVlID0nVHJhZmZpYyBBbmFseXNpcyc7XHJcbiAgICAgIHRoaXMuc2VsZWN0ZWRUYWJzKCd0cmFmZmljJyk7XHJcbiAgICB9XHJcbiAgIFxyXG4gICAgdGhpcy5jZC5kZXRlY3RDaGFuZ2VzKCk7XHJcbiAgfVxyXG4gIHRvZ2dsZUNvbnZlcnNpb24oZXZ0OmFueSl7XHJcbiAgICB0aGlzLmlzQ29udmVyc2lvbiA9IGV2dC50YXJnZXQuY2hlY2tlZDsgXHJcbiAgICB0aGlzLnRhYmxlb2JqLm5vcm1hbGl6ZSA9IHRoaXMubm9ybWFsaXplXHJcbiAgICBpZih0aGlzLmNvbnZlcnNpb25WYWx1ZSA9PT0gJ2Zvb3RmYWxsJyl7XHJcbiAgICAgIHRoaXMudGFibGVvYmouY29udmVyc2lvbnR5cGUgPSAnZm9vdGZhbGwtY291bnQnO1xyXG4gICAgIH0gaWYgKHRoaXMuY29udmVyc2lvblZhbHVlID09PSAnZW5nYWdlcnMnKXtcclxuICAgICAgdGhpcy50YWJsZW9iai5jb252ZXJzaW9udHlwZSA9ICdlbmdhZ2Vycy1jb3VudCc7XHJcbiAgICAgfWlmICh0aGlzLmNvbnZlcnNpb25WYWx1ZSA9PT0gJ1BvdGVudGlhbCBCdXllcnMnKXtcclxuICAgICAgdGhpcy50YWJsZW9iai5jb252ZXJzaW9udHlwZSA9ICdiaWxsYWJsZS1jb3VudCc7XHJcbiAgICAgfSBpZiAodGhpcy5jb252ZXJzaW9uVmFsdWUgPT09ICdOb0IgRGVyaXZlZCcpe1xyXG4gICAgICB0aGlzLnRhYmxlb2JqLmNvbnZlcnNpb250eXBlID0gJ25vYic7XHJcbiAgICAgfVxyXG4gICAgaWYodGhpcy5pc0NvbnZlcnNpb24gPT10cnVlKXtcclxuICAgICAgdGhpcy50YWJsZW9iai5ub2IgPSB0cnVlO1xyXG4gICAgICB0aGlzLm9iakRhdGEubm9iID0gdHJ1ZTtcclxuICAgICAgdGhpcy5vYmpEYXRhVHJhZmZpYy5ub2IgPSB0cnVlOyB0aGlzLm5vYiA9dHJ1ZTtcclxuICAgIH0gIGVsc2Uge1xyXG4gICAgICBpZih0aGlzLnRhYmxlb2JqLmNvbnZlcnNpb250eXBlID09PSAnbm9iJyl7XHJcbiAgICAgICAgdGhpcy50YWJsZW9iai5ub2IgPSB0cnVlO1xyXG4gICAgICB0aGlzLm9iakRhdGEubm9iID0gdHJ1ZTtcclxuICAgICAgdGhpcy5vYmpEYXRhVHJhZmZpYy5ub2IgPSB0cnVlOyB0aGlzLm5vYiA9dHJ1ZTsgXHJcbiAgICAgIH0gZWxzZSB7XHJcbiAgICAgIHRoaXMubm9iID1mYWxzZTtcclxuICAgICAgdGhpcy50YWJsZW9iai5ub2IgPSBmYWxzZTtcclxuICAgICAgdGhpcy5vYmpEYXRhLm5vYiA9IGZhbHNlO1xyXG4gICAgICB0aGlzLm9iakRhdGFUcmFmZmljLm5vYiA9IGZhbHNlO1xyXG4gICAgICB9XHJcbiAgICB9XHJcbiAgICB0aGlzLmdldEZ1bm5hbCgpOyAgICBcclxuICAgIHRoaXMuZ2V0Q29udmVyc2lvbkNhcmQxKCk7IFxyXG4gICAgdGhpcy5nZXRUYWJsZSgpO1xyXG4gICAgdGhpcy5mb290ZmFsbFRyZW5kKCk7IFxyXG4gICAgdGhpcy5zZWxlY3RlZFRhYiA9IFwidHJhZmZpY1wiXHJcbiAgICB0aGlzLmZvb3RmYWxsVmFsdWUgPSBcInRyYWZmaWNcIjtcclxuICAgIHRoaXMuc2VsY3RlZFZhbHVlID0nVHJhZmZpYyBBbmFseXNpcyc7XHJcbiAgICB0aGlzLnNlbGVjdGVkVGFicygndHJhZmZpYycpO1xyXG4gIH1cclxuXHJcbiAgY2FtZXJhVmlldygpe1xyXG4gICAgdGhpcy5zdG9yZUlkYXJyYXkgPSB0aGlzLmhlYWRlckRhdGE/LnN0b3Jlcy5maWx0ZXIoKHN0b3JlOmFueSkgPT4gc3RvcmUuY2hlY2tlZCkubWFwKChzdG9yZTphbnkpID0+IHN0b3JlLnN0b3JlSWQpXHJcbiAgICBsZXQgZGF0YTogYW55ID0gSlNPTi5wYXJzZShsb2NhbFN0b3JhZ2UuZ2V0SXRlbShcImhlYWRlci1maWx0ZXJzXCIpIHx8IFwiXCIpO1xyXG4gICAgZGF0YS5zdG9yZSA9IHRoaXMuc3RvcmVJZGFycmF5WzBdO1xyXG4gICAgbG9jYWxTdG9yYWdlLnNldEl0ZW0oXCJoZWFkZXItZmlsdGVyc1wiLCBKU09OLnN0cmluZ2lmeShkYXRhKSk7XHJcbiAgICB0aGlzLmdzLmRhdGFSYW5nZVZhbHVlLm5leHQoZGF0YSk7XHJcbiAgICB0aGlzLnJvdXRlci5uYXZpZ2F0ZShbXCIvbWFuYWdlL3N0b3Jlcy9jYW1lcmFzXCJdLCB7XHJcbiAgICAgIHF1ZXJ5UGFyYW1zOiB7IHN0b3JlSWQ6IHRoaXMuc3RvcmVJZGFycmF5WzBdfSxcclxuICAgIH0pO1xyXG4gIH1cclxuXHJcbiAgZXhwb3J0WExTWCgpIHtcclxuICAgIHRoaXMudGFibGVvYmoub2Zmc2V0ID0gMDtcclxuICAgIHRoaXMudGFibGVvYmoubGltaXQgPSAxMDAwMDtcclxuICAgICh0aGlzLnRhYmxlb2JqLnZhbHVlVHlwZSA9IHRoaXMudHlwZVZhbHVlKTtcclxuICAgIHRoaXMudGFibGVvYmouZnJvbURhdGU9IHRoaXMuaGVhZGVyRGF0YS5kYXRlLnN0YXJ0RGF0ZSxcclxuICAgIHRoaXMudGFibGVvYmoudG9EYXRlPSB0aGlzLmhlYWRlckRhdGEuZGF0ZS5lbmREYXRlLFxyXG4gICAgdGhpcy50YWJsZW9iai5zZWFyY2ggPSB0aGlzLnNlYXJjaFZhbHVlO1xyXG4gICAgdGhpcy50YWJsZW9iai5leHBvcnQgPSB0cnVlO1xyXG4gICAgdGhpcy50YWJsZW9iai5ub3JtYWxpemUgPSB0aGlzLm5vcm1hbGl6ZVxyXG4gICAgZGVsZXRlIHRoaXMudGFibGVvYmoucmVjYXBWaWRlb0RhdGU7XHJcbiAgICB0aGlzLnNlcnZpY2VcclxuICAgIC5nZXRTdW1tYXJ5VGFibGVMaXN0RXhwb3J0KHRoaXMudGFibGVvYmopXHJcbiAgICA/LnBpcGUodGFrZVVudGlsKHRoaXMuZGVzdHJveSQpKVxyXG4gICAgPy5zdWJzY3JpYmUoe1xyXG4gICAgICBuZXh0OiAocmVzOiBhbnkpID0+IHtcclxuICAgICAgICBpZiAocmVzKSB7XHJcbiAgICAgICAgICB0aGlzLmV4Y2VsU2VydmljZS5zYXZlQXNFeGNlbEZpbGUocmVzLCBcIlRyYWZmaWMgU3VtbWFyeSBUYWJsZSBcIik7XHJcbiAgICAgICAgfSBlbHNlIHtcclxuICAgICAgICB9XHJcbiAgICAgIH0sXHJcbiAgICAgIGVycm9yOiAoKSA9PiB7fSxcclxuICAgIH0pO1xyXG4gICAgdGhpcy50YWJsZW9iai5saW1pdCA9IHRoaXMubGltaXQ7XHJcbiAgICB0aGlzLnRhYmxlb2JqLmV4cG9ydCA9IGZhbHNlO1xyXG4gIH1cclxuXHJcbiAgb25Tb3J0KGNvbHVtbjogc3RyaW5nKSB7XHJcbiAgICBpZiAodGhpcy5zb3J0ZWRDb2x1bW4gPT09IGNvbHVtbikge1xyXG4gICAgICB0aGlzLnNvcnREaXJlY3Rpb24gPSB0aGlzLnNvcnREaXJlY3Rpb24gPT09IDEgPyAtMSA6IDE7XHJcbiAgICB9IGVsc2Uge1xyXG4gICAgICB0aGlzLnNvcnRlZENvbHVtbiA9IGNvbHVtbjtcclxuICAgICAgdGhpcy5zb3J0RGlyZWN0aW9uID0gMTtcclxuICAgIH1cclxuICAgIHRoaXMudGFibGVvYmouZnJvbURhdGU9IHRoaXMuaGVhZGVyRGF0YS5kYXRlLnN0YXJ0RGF0ZSxcclxuICAgIHRoaXMudGFibGVvYmoudG9EYXRlPSB0aGlzLmhlYWRlckRhdGEuZGF0ZS5lbmREYXRlLFxyXG4gICAgZGVsZXRlIHRoaXMudGFibGVvYmoucmVjYXBWaWRlb0RhdGU7XHJcbiAgICB0aGlzLnRhYmxlb2JqLnNvcnRCeSA9IHRoaXMuc29ydERpcmVjdGlvbiwgLy9bMS0+YXNjLCAtMS0+REVzY11cclxuICAgIHRoaXMudGFibGVvYmouc29ydCA9IHRoaXMuc29ydGVkQ29sdW1uLCAvLyBDb2x1bW4gTmFtZVxyXG4gICAgdGhpcy5nZXRUYWJsZSgpO1xyXG4gIH1cclxuXHJcbiAgZ2V0TWFwKCkge1xyXG4gICAgdGhpcy5tcGFsb2FkaW5nID10cnVlO1xyXG4gICAgdGhpcy5tYXBub0RhdGE9IGZhbHNlO1xyXG4gICAgY29uc3Qgb2JqID0ge1xyXG4gICAgICBjbGllbnRJZDogdGhpcy5oZWFkZXJEYXRhPy5jbGllbnQsXHJcbiAgICAgIHN0b3JlRGF0ZTogdGhpcy5oZWFkZXJEYXRhPy5kYXRlPy5lbmREYXRlLFxyXG4gICAgICBzdG9yZUlkOiB0aGlzLnN0b3JlSWRhcnJheVxyXG4gICAgfTtcclxuXHJcbiAgICB0aGlzLnNlcnZpY2UuZ2VNYXBzKG9iaik/LnBpcGUodGFrZVVudGlsKHRoaXMuZGVzdHJveSQpKVxyXG4gICAgICAuc3Vic2NyaWJlKHtcclxuICAgICAgICBuZXh0OiAocmVzOiBhbnkpID0+IHtcclxuICAgICAgICAgIGlmKHJlcyAmJiByZXMuY29kZSA9PT0gMjAwKXtcclxuICAgICAgICAgIC8vIGlmIChyZXMgJiYgcmVzLmRhdGEgJiYgcmVzLmRhdGEuc3RvcmVEYXRhKSB7XHJcbiAgICAgICAgICAgIHRoaXMuYXVMb2NhdGlvbnMgPSByZXMuZGF0YS5zdG9yZURhdGE7XHJcbiAgICAgICAgICBcclxuICAgICAgICAgICAgLy8gVXBkYXRlIG1hcE9wdGlvbnMgY2VudGVyIGlmIG5lZWRlZFxyXG4gICAgICAgICAgICBpZiAodGhpcy5hdUxvY2F0aW9ucy5sZW5ndGggPiAwKSB7XHJcbiAgICAgICAgICAgICAgY29uc3QgZmlyc3RMb2NhdGlvbiA9IHRoaXMuYXVMb2NhdGlvbnNbMF07XHJcbiAgICAgICAgICAgICAgaWYgKGZpcnN0TG9jYXRpb24gJiYgdHlwZW9mIGZpcnN0TG9jYXRpb24ubGF0ID09PSAnbnVtYmVyJyAmJiB0eXBlb2YgZmlyc3RMb2NhdGlvbi5sbmcgPT09ICdudW1iZXInKSB7XHJcbiAgICAgICAgICAgICAgICB0aGlzLm1hcE9wdGlvbnMgPSB7XHJcbiAgICAgICAgICAgICAgICAgIC4uLnRoaXMubWFwT3B0aW9ucyxcclxuICAgICAgICAgICAgICAgICAgY2VudGVyOiB7IGxhdDogZmlyc3RMb2NhdGlvbi5sYXQsIGxuZzogZmlyc3RMb2NhdGlvbi5sbmcgfVxyXG4gICAgICAgICAgICAgICAgfTtcclxuICAgICAgICAgICAgICAgIHNldFRpbWVvdXQoKCkgPT4geyAgdGhpcy5nZXREYXRhKCk7IH0sMTAwKVxyXG4gICAgICAgICAgICAgICAgdGhpcy5jZC5kZXRlY3RDaGFuZ2VzKCk7XHJcbiAgICAgICAgICAgICAgfSBlbHNlIHt9XHJcbiAgICAgICAgICAgIH0gZWxzZSB7fVxyXG4gICAgICAgICAgLy8gfVxyXG4gICAgICAgICAgdGhpcy5tcGFsb2FkaW5nID1mYWxzZTtcclxuICAgICAgICAgIHRoaXMubWFwbm9EYXRhPSBmYWxzZTtcclxuICAgICAgICAgIH0gZWxzZSBpZihyZXMgPT09IG51bGwpe1xyXG4gICAgICAgICAgICB0aGlzLm1hcG5vRGF0YT0gdHJ1ZTtcclxuICAgICAgICAgICAgdGhpcy5tcGFsb2FkaW5nID1mYWxzZTtcclxuICAgICAgICAgIH0gZWxzZSB7XHJcbiAgICAgICAgICAgIHRoaXMuYXVMb2NhdGlvbnMgPVtdO1xyXG4gICAgICAgICAgICB0aGlzLm1wYWxvYWRpbmcgPWZhbHNlO1xyXG4gICAgICAgICAgICB0aGlzLm1hcG5vRGF0YT0gdHJ1ZTtcclxuICAgICAgICAgIH1cclxuICAgICAgICBcclxuICAgICAgICB9LFxyXG4gICAgICAgIGVycm9yOiAoZXJyKSA9PiB7XHJcbiAgICAgICAgICB0aGlzLmF1TG9jYXRpb25zID1bXTtcclxuICAgICAgICAgIHRoaXMubXBhbG9hZGluZyA9ZmFsc2U7XHJcbiAgICAgICAgICAgIHRoaXMubWFwbm9EYXRhPSB0cnVlO1xyXG4gICAgICAgIH1cclxuICAgICAgfSk7XHJcbiAgfVxyXG4gIG1hcDogbWFwYm94Z2wuTWFwO1xyXG4gIHByaXZhdGUgY2hlY2tNYXBDb250YWluZXJJbnRlcnZhbDogYW55O1xyXG4gIGdldERhdGEoKSB7XHJcbiAgICB0aGlzLmNoZWNrTWFwQ29udGFpbmVySW50ZXJ2YWwgPSBzZXRUaW1lb3V0KCgpID0+IHtcclxuICAgICAgY29uc3QgbWFwQ29udGFpbmVyID0gdGhpcy5lbC5uYXRpdmVFbGVtZW50LnF1ZXJ5U2VsZWN0b3IoJyNtYXAnKTtcclxuICAgICAgaWYgKG1hcENvbnRhaW5lcikge1xyXG4gICAgICAgIGNsZWFySW50ZXJ2YWwodGhpcy5jaGVja01hcENvbnRhaW5lckludGVydmFsKTtcclxuICAgICAgICB0aGlzLmluaXRpYWxpemVNYXAobWFwQ29udGFpbmVyKTtcclxuICAgICAgfSBlbHNlIHtcclxuICAgICAgICBjbGVhckludGVydmFsKHRoaXMuY2hlY2tNYXBDb250YWluZXJJbnRlcnZhbCk7XHJcbiAgICAgICAgdGhpcy5pbml0aWFsaXplTWFwKG1hcENvbnRhaW5lcik7XHJcbiAgICAgIH1cclxuICAgIH0sIDEwMCk7XHJcblxyXG4gIH1cclxuICBpbml0aWFsaXplTWFwKG1hcENvbnRhaW5lcjogSFRNTEVsZW1lbnQpe1xyXG4gICAgc2V0VGltZW91dCgoKSA9PiB7ICBcclxuICAgICAgY29uc3QgbWFwQ29udGFpbmVyID0gZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoJ21hcCcpO1xyXG4gICAgICBpZiAoIW1hcENvbnRhaW5lcikge1xyXG4gICAgICAgIHJldHVybjtcclxuICAgICAgfVxyXG4gICAgLy8gQ2hlY2sgdGhhdCBsb2NhdGlvbnMgZXhpc3QgYmVmb3JlIHByb2NlZWRpbmdcclxuICAgIGlmICh0aGlzLmF1TG9jYXRpb25zPy5sZW5ndGggPT09IDApIHtcclxuICAgICAgcmV0dXJuO1xyXG4gICAgfVxyXG4gIFxyXG4gICAgY29uc3QgZ2VvanNvbiA9IHtcclxuICAgICAgJ3R5cGUnOiAnRmVhdHVyZUNvbGxlY3Rpb24nLFxyXG4gICAgICAnZmVhdHVyZXMnOiB0aGlzLmF1TG9jYXRpb25zLm1hcCgoc3RvcmUsIGluZGV4KSA9PiAoe1xyXG4gICAgICAgICd0eXBlJzogJ0ZlYXR1cmUnLFxyXG4gICAgICAgICdwcm9wZXJ0aWVzJzoge1xyXG4gICAgICAgICAgJ3N0b3JlTmFtZSc6IHN0b3JlLnN0b3JlTmFtZSwgICAgICAgICAvLyBTdG9yZSBuYW1lXHJcbiAgICAgICAgICAnaW1hZ2VJZCc6IDEwMTEgKyBpbmRleCwgICAgICAgICAgICAgIC8vIER5bmFtaWMgaW1hZ2UgSURcclxuICAgICAgICAgICdpY29uU2l6ZSc6IFs2MCwgNjBdLCAgICAgICAgICAgICAgICAgLy8gQWRqdXN0IGljb24gc2l6ZSBhcyBuZWVkZWRcclxuICAgICAgICAgICdmb290ZmFsbCc6IHN0b3JlLmF2Z0Zvb3RmYWxsLCAgICAgICAgLy8gRm9vdGZhbGwgZGF0YVxyXG4gICAgICAgICAgJ29wZW5UaW1lJzogc3RvcmUub3BlblRpbWUsICAgICAgICAgICAvLyBPcGVuIHRpbWVcclxuICAgICAgICAgICdjbG9zZVRpbWUnOiBzdG9yZS5jbG9zZVRpbWUsICAgICAgICAgLy8gQ2xvc2UgdGltZVxyXG4gICAgICAgIH0sXHJcbiAgICAgICAgJ2dlb21ldHJ5Jzoge1xyXG4gICAgICAgICAgJ3R5cGUnOiAnUG9pbnQnLFxyXG4gICAgICAgICAgJ2Nvb3JkaW5hdGVzJzogW3N0b3JlLmxuZywgc3RvcmUubGF0XSAgLy8gQ29vcmRpbmF0ZXMgZnJvbSBzdG9yZSBkYXRhXHJcbiAgICAgICAgfVxyXG4gICAgICB9KSlcclxuICAgIH07XHJcbiAgXHJcbiAgICAvLyBEeW5hbWljYWxseSBzZXQgbWFwIGNlbnRlciBiYXNlZCBvbiB0aGUgZmlyc3QgbG9jYXRpb25cclxuICAgIGNvbnN0IGZpcnN0TG9jYXRpb24gPSB0aGlzLmF1TG9jYXRpb25zWzBdO1xyXG4gXHJcbiAgICB0aGlzLm1hcCA9IG5ldyBtYXBib3hnbC5NYXAoe1xyXG4gICAgICBjb250YWluZXI6ICdtYXAnLFxyXG4gICAgICBzdHlsZTogJ21hcGJveDovL3N0eWxlcy9tYXBib3gvc3RyZWV0cy12MTInLFxyXG4gICAgICBjZW50ZXI6IFtmaXJzdExvY2F0aW9uLmxuZywgZmlyc3RMb2NhdGlvbi5sYXRdLCAvLyBDZW50ZXIgbWFwIG9uIHRoZSBmaXJzdCBsb2NhdGlvblxyXG4gICAgICB6b29tOiAxMCwgLy8gQWRqdXN0IHRoaXMgdmFsdWUgKDEgPSB3b3JsZCB2aWV3LCAyMCA9IGJ1aWxkaW5nIHZpZXcpXHJcbiAgICAgIG1heFpvb206IDIwLCAvLyBPcHRpb25hbDogTGltaXQgbWF4IHpvb20gbGV2ZWxcclxuICAgICAgbWluWm9vbTogMSAgIC8vIE9wdGlvbmFsOiBMaW1pdCBtaW4gem9vbSBsZXZlbFxyXG4gICAgfSk7XHJcbiAgXHJcbiAgICAvLyBBZGQgbWFya2VycyB0byB0aGUgbWFwXHJcbiAgICBnZW9qc29uLmZlYXR1cmVzLmZvckVhY2goKGZlYXR1cmUsIGZlYXR1cmVJbmRleCkgPT4ge1xyXG4gICAgICBjb25zdCB7IHByb3BlcnRpZXMsIGdlb21ldHJ5IH0gPSBmZWF0dXJlO1xyXG4gICAgICBjb25zdCBzdG9yZSA9IHRoaXMuYXVMb2NhdGlvbnNbZmVhdHVyZUluZGV4XTtcclxuICAgICAgY29uc3QgZWwgPSBkb2N1bWVudC5jcmVhdGVFbGVtZW50KCdkaXYnKTtcclxuICAgICAgY29uc3Qgd2lkdGggPSBwcm9wZXJ0aWVzLmljb25TaXplWzBdO1xyXG4gICAgICBjb25zdCBoZWlnaHQgPSBwcm9wZXJ0aWVzLmljb25TaXplWzFdO1xyXG4gICAgICBlbC5jbGFzc05hbWUgPSAnbWFya2VyJztcclxuICAgICAgZWwuaW5uZXJIVE1MID0gYFxyXG4gICAgICA8ZGl2IGNsYXNzPVwibWFya2VyLWljb25cIiBzdHlsZT1cImJhY2tncm91bmQtY29sb3I6IHdoaXRlOyB3aWR0aDogJHt3aWR0aH1weDsgaGVpZ2h0OiAke2hlaWdodH1weDsgZGlzcGxheTogZmxleDsganVzdGlmeS1jb250ZW50OiBjZW50ZXI7IGFsaWduLWl0ZW1zOiBjZW50ZXI7XHJcbiAgICAgIGNvbG9yOiB2YXIoLS1HcmF5LTcwMCwgIzM0NDA1NCk7XHJcbnRleHQtYWxpZ246IGNlbnRlcjtcclxuZm9udC1mYW1pbHk6IEludGVyO1xyXG5mb250LXNpemU6IDkuMDA3cHg7XHJcbmZvbnQtc3R5bGU6IG5vcm1hbDtcclxuZm9udC13ZWlnaHQ6IDYwMDtcclxubGluZS1oZWlnaHQ6IDEzcHg7XCI+XHJcbiAgICAgICAgPGRpdiBjbGFzcz1cIm1hcmtlci1jb250ZW50XCIgc3R5bGU9XCJkaXNwbGF5OiBmbGV4OyBmbGV4LWRpcmVjdGlvbjogY29sdW1uOyBhbGlnbi1pdGVtczogY2VudGVyO1wiPlxyXG4gICAgICAgICAgPHN2ZyBjbGFzcz1cIm1iLTFcIiB4bWxucz1cImh0dHA6Ly93d3cudzMub3JnLzIwMDAvc3ZnXCIgd2lkdGg9XCIxM1wiIGhlaWdodD1cIjEzXCIgdmlld0JveD1cIjAgMCAxMyAxM1wiIGZpbGw9XCJub25lXCI+XHJcbiAgICAgICAgICAgIDxwYXRoIGQ9XCJNMS4zMzY1NCAzLjM2MzdMMS4yOTY1OCAzLjQyNjExQzAuODc3Njk4IDQuMTY3MDEgMS4zMjQ5MyA1LjEwMzM1IDIuMTI5MzEgNS4yMTA3NkMyLjIwMjE4IDUuMjE5NjcgMi4yNjk5OSA1LjIyNDM4IDIuMzM2MjUgNS4yMjQzOEMyLjc3MDIxIDUuMjI0MzggMy4xNTM5IDUuMDM4MjEgMy40MjEzMiA0Ljc0NzkzTDMuODM2NjYgNC4yOTcxTDQuMjUwNTkgNC43NDkyM0M0LjUxNDc2IDUuMDM3NzggNC44OTc1OCA1LjIyNDM4IDUuMzM0NDggNS4yMjQzOEM1Ljc2OTQxIDUuMjI0MzggNi4xNTQ0MyA1LjAzNzUyIDYuNDE4MzcgNC43NDkyM0w2LjgzMzU5IDQuMjk1NjhMNy4yNDg4MiA0Ljc0OTIzQzcuNTEyNzUgNS4wMzc1MiA3Ljg5Nzc3IDUuMjI0MzggOC4zMzI3MSA1LjIyNDM4QzguNzY3NjQgNS4yMjQzOCA5LjE1MjY2IDUuMDM3NTIgOS40MTY2IDQuNzQ5MjNMOS44MzE4MiA0LjI5NTY4TDEwLjI0NyA0Ljc0OTIzQzEwLjUxMSA1LjAzNzUyIDEwLjg5NiA1LjIyNDM4IDExLjMzMDkgNS4yMjQzOEMxMS4zOTUgNS4yMjQzOCAxMS40NjQ5IDUuMjE5NjYgMTEuNTM3MiA1LjIxMDgzQzEyLjM1OTMgNS4wOTg3NSAxMi44MDggNC4xMTIyNSAxMi4zMjg2IDMuMzY0MDhDMTIuMzI4NiAzLjM2NDAzIDEyLjMyODUgMy4zNjM5OSAxMi4zMjg1IDMuMzYzOTVMMTEuMDA4OCAxLjMwNjIxTDExLjAwODEgMS4zMDUxMUMxMC45OTY3IDEuMjg3MjIgMTAuOTY4NiAxLjI2ODA0IDEwLjkzMzIgMS4yNjgwNEgyLjcyOTQyQzIuNjk0MDMgMS4yNjgwNCAyLjY2NTg5IDEuMjg3MjIgMi42NTQ0OCAxLjMwNTExTDIuNjU0MDEgMS4zMDU4NEwxLjMzNjU0IDMuMzYzN1pNMTEuMDczMSA3LjA2NjY3VjkuNDE3NTNWOS45ODA0OUgxMC41MTAxSDMuMTUyNDhIMi41ODk1MlY5LjQxNzUzVjcuMDY3MDJDMi41MDY3OCA3LjA3MzE4IDIuNDIzMDggNy4wNzYzNCAyLjMzODU1IDcuMDc2MzRDMi4zMDY3OSA3LjA3NjM0IDIuMjc1MjUgNy4wNzU4NyAyLjI0MzkyIDcuMDc0OTVWOS40MTc1M1YxMC44Njk2QzIuMjQzOTIgMTEuMzUyNiAyLjY0NDY3IDExLjc1ODcgMy4xNTI0OCAxMS43NTg3SDEwLjUxMDFDMTEuMDE3OSAxMS43NTg3IDExLjQxODcgMTEuMzUyNiAxMS40MTg3IDEwLjg2OTZWOS40MTc1M1Y3LjA3NTA5QzExLjM4ODggNy4wNzU5MSAxMS4zNTg3IDcuMDc2MzQgMTEuMzI4NiA3LjA3NjM0QzExLjI0MjggNy4wNzYzNCAxMS4xNTc1IDcuMDczMDggMTEuMDczMSA3LjA2NjY3WlwiIHN0cm9rZT1cIiMxMDE4MjhcIiBzdHJva2Utd2lkdGg9XCIxLjEyNTkyXCIvPlxyXG4gICAgICAgICAgPC9zdmc+XHJcbiAgICAgICAgICA8ZGl2IGNsYXNzPVwibWFya2VyLWxhYmVsXCIgc3R5bGU9XCJmb250LXNpemU6IDEwcHg7IHRleHQtYWxpZ246IGNlbnRlcjtcIj5cclxuICAgICAgICAgICAgJHtwcm9wZXJ0aWVzLnN0b3JlTmFtZX1cclxuICAgICAgICAgIDwvZGl2PlxyXG4gICAgICAgIDwvZGl2PlxyXG4gICAgICA8L2Rpdj5cclxuICAgIGA7XHJcbiAgICAgIC8vIGVsLnN0eWxlLmJhY2tncm91bmRJbWFnZSA9IGB1cmwoaHR0cHM6Ly9waWNzdW0ucGhvdG9zL2lkLyR7cHJvcGVydGllcy5pbWFnZUlkfS8ke3dpZHRofS8ke2hlaWdodH0pYDtcclxuICAgICAgZWwuc3R5bGUud2lkdGggPSBgJHt3aWR0aH1weGA7XHJcbiAgICAgIGVsLnN0eWxlLmhlaWdodCA9IGAke2hlaWdodH1weGA7XHJcbiAgICAgIGVsLnN0eWxlLmJhY2tncm91bmRTaXplID0gJzEwMCUnO1xyXG4gIFxyXG4gICAgICAvLyBDcmVhdGUgYSBwb3B1cCBpbnN0YW5jZSB3aXRoIHRoZSBmZWF0dXJlIHByb3BlcnRpZXNcclxuICAgICAgY29uc3QgcG9wdXAgPSBuZXcgbWFwYm94Z2wuUG9wdXAoeyBvZmZzZXQ6IDI1IH0pICBcclxuICAgICAgLy8gVXNlIHRoZSBjb29yZGluYXRlcyBmcm9tIHRoZSBmZWF0dXJlXHJcbiAgICAgIGNvbnN0IGNvb3JkaW5hdGVzOiBbbnVtYmVyLCBudW1iZXJdID0gZ2VvbWV0cnkuY29vcmRpbmF0ZXMgYXMgW251bWJlciwgbnVtYmVyXTtcclxuICAgICAgZWwuYWRkRXZlbnRMaXN0ZW5lcignY2xpY2snLCAoKSA9PiB7XHJcbiAgICAgICAgdGhpcy5hZGp1c3RMYXlvdXQoc3RvcmUpO1xyXG4gICAgICB9KTtcclxuICAgICAgLy8gQWRkIG1hcmtlcnMgdG8gdGhlIG1hcFxyXG4gICAgICBuZXcgbWFwYm94Z2wuTWFya2VyKGVsKVxyXG4gICAgICAgIC5zZXRMbmdMYXQoY29vcmRpbmF0ZXMpXHJcbiAgICAgICAgLnNldFBvcHVwKHBvcHVwKSAgLy8gQXR0YWNoIHRoZSBwb3B1cCB0byB0aGUgbWFya2VyXHJcbiAgICAgICAgLmFkZFRvKHRoaXMubWFwKTtcclxuICAgIH0pO1xyXG4gICAgXHJcbiAgfSwxMDApXHJcbiAgfVxyXG4gIGFkanVzdExheW91dChkYXRhOiBhbnkpIHtcclxuICAgIGNvbnN0IGRhdGF2YWx1ZTogYW55ID0gSlNPTi5wYXJzZShcclxuICAgICAgbG9jYWxTdG9yYWdlLmdldEl0ZW0oXCJoZWFkZXItZmlsdGVyc1wiKSB8fCBcInt9XCJcclxuICAgICk7XHJcbiAgICBjb25zdCBtYXRjaGVkU3RvcmVzID0gZGF0YXZhbHVlLnN0b3Jlcy5maWx0ZXIoKHN0b3JlOiBhbnkpID0+IHN0b3JlLmNoZWNrZWQgJiYgc3RvcmUuc3RvcmVJZCA9PT0gZGF0YS5zdG9yZUlkKTtcclxuICAgIC8vIFVwZGF0ZSB0aGUgYmFsYW5jZSBzdG9yZXMgKHRob3NlIG5vdCBpbiB0aGUgbWF0Y2hlZCBzdG9yZXMpIHRvIHNldCB0aGVpciBjaGVja2VkIHByb3BlcnR5IHRvIGZhbHNlXHJcbiAgICBkYXRhdmFsdWUuc3RvcmVzLmZvckVhY2goKHN0b3JlOiBhbnkpID0+IHtcclxuICAgICAgaWYgKCFtYXRjaGVkU3RvcmVzLnNvbWUoKG1hdGNoZWRTdG9yZTphbnkpID0+IG1hdGNoZWRTdG9yZS5zdG9yZUlkID09PSBzdG9yZS5zdG9yZUlkKSkge1xyXG4gICAgICAgIHN0b3JlLmNoZWNrZWQgPSBmYWxzZTtcclxuICAgICAgfVxyXG4gICAgfSk7IFxyXG4gICAgZGF0YXZhbHVlLnN0b3JlID0gZGF0YS5zdG9yZUlkO1xyXG4gICAgbG9jYWxTdG9yYWdlLnNldEl0ZW0oXCJoZWFkZXItZmlsdGVyc1wiLCBKU09OLnN0cmluZ2lmeShkYXRhdmFsdWUpKTtcclxuICAgIHRoaXMuY2QuZGV0ZWN0Q2hhbmdlcygpXHJcbiAgICB0aGlzLmdzLmRhdGFSYW5nZVZhbHVlLm5leHQoZGF0YXZhbHVlKVxyXG4gICAgdGhpcy5ncy5tYW5hZ2VSZWZyZXNoVHJpZ2dlci5uZXh0KHRydWUpO1xyXG4gICBcclxuICB9XHJcbiAgZXhwb3JlVmlldygpe1xyXG50aGlzLnJvdXRlci5uYXZpZ2F0ZShbJy9tYW5hZ2UvdHJhZmZpYy9leHBsb3JlJ10pXHJcbiAgfVxyXG4gIGRhdGVWYWx1ZSh0eXBlOmFueSl7XHJcbiAgICBkZWxldGUgdGhpcy50YWJsZW9iai5saW1pdDsgZGVsZXRlIHRoaXMudGFibGVvYmouZXhwb3J0O1xyXG4gICAgZGVsZXRlIHRoaXMudGFibGVvYmoub2Zmc2V0O1xyXG4gICAgdGhpcy50YWJsZW9iai5mcm9tRGF0ZT0gdGhpcy5oZWFkZXJEYXRhLmRhdGUuc3RhcnREYXRlLFxyXG4gICAgdGhpcy50YWJsZW9iai50b0RhdGU9IHRoaXMuaGVhZGVyRGF0YS5kYXRlLmVuZERhdGUsXHJcbiAgICBkZWxldGUgdGhpcy50YWJsZW9iai5yZWNhcFZpZGVvRGF0ZTtcclxuICAgIHRoaXMuZGF0ZVR5cGUgPSB0eXBlO1xyXG4gICAgdGhpcy50YWJsZW9iai5kYXRlVHlwZT0gdGhpcy5kYXRlVHlwZTtcclxuICAgIHRoaXMudGFibGVvYmoudmFsdWVUeXBlICA9IHRoaXMudmFsdWVUeXBlXHJcbiAgICB0aGlzLmdldEZvb3RmYWxsQ2FyZCgpO1xyXG4gICAgdGhpcy5nZXRDb252ZXJzaW9uQ2FyZCgpO1xyXG4gICAgdGhpcy5nZXRCb3VuY2VkQ2FyZCgpO1xyXG4gICAgdGhpcy5nZXRFbmdhZ2Vyc0NhcmQoKTtcclxuICAgIHRoaXMuZ2V0UG90ZW50aWFsQnV5ZXJzQ2FyZCgpO1xyXG4gICAgdGhpcy5nZXRNaXNzZWRPcHBvcnR1bml0eUNhcmQoKTtcclxuICAgIHRoaXMuZ2V0UG90ZW50aWFsQnV5ZXJzKCk7XHJcbiAgfVxyXG5cclxuXHJcbiAgZ2V0Wm9uZSgpe1xyXG4gICAgdGhpcy56b25lTG9hZGluZyA9IHRydWU7XHJcbiAgICB0aGlzLnpvbmVOb0RhdGEgPSBmYWxzZTtcclxuICAgIGNvbnN0IG9iaiA9IHtcclxuICAgICAgY2xpZW50SWQ6IHRoaXMuaGVhZGVyRGF0YT8uY2xpZW50LFxyXG4gICAgICBmcm9tRGF0ZTogdGhpcy5oZWFkZXJEYXRhPy5kYXRlPy5zdGFydERhdGUsXHJcbiAgICB0b0RhdGU6IHRoaXMuaGVhZGVyRGF0YT8uZGF0ZT8uZW5kRGF0ZSxcclxuICAgICAgc3RvcmVJZDogdGhpcy5zdG9yZUlkYXJyYXlcclxuICAgIH07XHJcblxyXG4gICAgdGhpcy5zZXJ2aWNlLnpvbmVEd2VsbFRpbWUob2JqKT8ucGlwZSh0YWtlVW50aWwodGhpcy5kZXN0cm95JCkpXHJcbiAgICAgIC5zdWJzY3JpYmUoe1xyXG4gICAgICAgIG5leHQ6IChyZXM6IGFueSkgPT4ge1xyXG4gICAgICAgICAgaWYocmVzICYmIHJlcy5jb2RlID09PSAyMDApe1xyXG4gICAgICAgICAgICB0aGlzLnpvbmVEd2VsbFRpbWVTcGxpdERhdGEgPSByZXMuZGF0YS56b25lRHdlbGxUaW1lU3BsaXREYXRhO1xyXG4gICAgICAgICAgICB0aGlzLnpvbmVMb2FkaW5nID0gZmFsc2U7XHJcbiAgICAgICAgICAgIHRoaXMuem9uZU5vRGF0YSA9IGZhbHNlO1xyXG4gICAgICAgICAgfSBlbHNle1xyXG4gICAgICAgICAgICB0aGlzLnpvbmVEd2VsbFRpbWVTcGxpdERhdGEgPVtdO1xyXG4gICAgICAgICAgICB0aGlzLnpvbmVMb2FkaW5nID0gZmFsc2U7XHJcbiAgICAgICAgICAgIHRoaXMuem9uZU5vRGF0YSA9IHRydWU7XHJcbiAgICAgICAgICB9XHJcbiAgICAgICAgfSxcclxuICAgICAgICBlcnJvcjogKGVycikgPT4ge1xyXG4gICAgICAgICAgdGhpcy56b25lRHdlbGxUaW1lU3BsaXREYXRhPVtdO1xyXG4gICAgICAgIH1cclxuXHJcbiAgICAgIH0pXHJcbiAgICBcclxuICB9XHJcbiAgZ2V0Wm9uZVZhbHVlKCl7XHJcbiAgICBjb25zdCBvYmogPSB7XHJcbiAgICAgIGNsaWVudElkOiB0aGlzLmhlYWRlckRhdGE/LmNsaWVudCxcclxuICAgICAgZnJvbURhdGU6IHRoaXMuaGVhZGVyRGF0YT8uZGF0ZT8uc3RhcnREYXRlLFxyXG4gICAgdG9EYXRlOiB0aGlzLmhlYWRlckRhdGE/LmRhdGU/LmVuZERhdGUsXHJcbiAgICAgIHN0b3JlSWQ6IHRoaXMuc3RvcmVJZGFycmF5XHJcbiAgICB9O1xyXG5cclxuICAgIHRoaXMuc2VydmljZS5zdG9yZU9wZXJhdGlvbihvYmopPy5waXBlKHRha2VVbnRpbCh0aGlzLmRlc3Ryb3kkKSlcclxuICAgICAgLnN1YnNjcmliZSh7XHJcbiAgICAgICAgbmV4dDogKHJlczogYW55KSA9PiB7XHJcbiAgICAgICAgICBpZihyZXMgJiYgcmVzLmNvZGUgPT09IDIwMCl7XHJcbiAgICAgICAgICAgIHRoaXMuc3RvcmVPcGVyYXRpb25EYXRhID0gcmVzLmRhdGEuc3RvcmVPcGVyYXRpb25EYXRhWzBdO1xyXG4gICAgICAgICAgfSBlbHNle1xyXG4gICAgICAgICAgICB0aGlzLnN0b3JlT3BlcmF0aW9uRGF0YSA9W107XHJcbiAgICAgICAgICB9XHJcbiAgICAgICAgfSxcclxuICAgICAgICBlcnJvcjogKGVycikgPT4ge1xyXG4gICAgICAgICAgdGhpcy5zdG9yZU9wZXJhdGlvbkRhdGE9W107XHJcbiAgICAgICAgfVxyXG5cclxuICAgICAgfSlcclxuICAgIFxyXG4gIH1cclxuICBvbkRhdGVDaGFuZ2UoZXZlbnQ6YW55KXtcclxuICAgIHRoaXMuZGV0YWlsZWRDaGFydHMgPSBmYWxzZTtcclxuICAgIHRoaXMuZm9vdGZhbGxEYXRlID0gZXZlbnQudGFyZ2V0LnZhbHVlO1xyXG4gICAgdGhpcy5vYmpEYXRhVHJhZmZpYy5kYXRlUmFuZ2UgPU51bWJlcih0aGlzLmZvb3RmYWxsRGF0ZSk7XHJcbiB0aGlzLmdldER3ZWxsKCk7XHJcbiB0aGlzLnRyYWZmaWNEd2VsbCgpO1xyXG4gIH1cclxuICBzdG9yZVZpZXcoZGF0YTphbnkpe1xyXG4gICAgY29uc3QgZGF0YXZhbHVlOiBhbnkgPSBKU09OLnBhcnNlKFxyXG4gICAgICBsb2NhbFN0b3JhZ2UuZ2V0SXRlbShcImhlYWRlci1maWx0ZXJzXCIpIHx8IFwie31cIlxyXG4gICAgKTtcclxuICAgIGNvbnN0IG1hdGNoZWRTdG9yZXMgPSBkYXRhdmFsdWUuc3RvcmVzLmZpbHRlcigoc3RvcmU6IGFueSkgPT4gc3RvcmUuY2hlY2tlZCAmJiBzdG9yZS5zdG9yZUlkID09PSBkYXRhKTtcclxuICAgIC8vIFVwZGF0ZSB0aGUgYmFsYW5jZSBzdG9yZXMgKHRob3NlIG5vdCBpbiB0aGUgbWF0Y2hlZCBzdG9yZXMpIHRvIHNldCB0aGVpciBjaGVja2VkIHByb3BlcnR5IHRvIGZhbHNlXHJcbiAgICBkYXRhdmFsdWUuc3RvcmVzLmZvckVhY2goKHN0b3JlOiBhbnkpID0+IHtcclxuICAgICAgaWYgKCFtYXRjaGVkU3RvcmVzLnNvbWUoKG1hdGNoZWRTdG9yZTphbnkpID0+IG1hdGNoZWRTdG9yZS5zdG9yZUlkID09PSBzdG9yZS5zdG9yZUlkKSkge1xyXG4gICAgICAgIHN0b3JlLmNoZWNrZWQgPSBmYWxzZTtcclxuICAgICAgfVxyXG4gICAgfSk7IFxyXG4gICAgZGF0YXZhbHVlLnN0b3JlID0gZGF0YTtcclxuICAgIGxvY2FsU3RvcmFnZS5zZXRJdGVtKFwiaGVhZGVyLWZpbHRlcnNcIiwgSlNPTi5zdHJpbmdpZnkoZGF0YXZhbHVlKSk7XHJcbiAgICB0aGlzLmNkLmRldGVjdENoYW5nZXMoKVxyXG4gICAgdGhpcy5ncy5kYXRhUmFuZ2VWYWx1ZS5uZXh0KGRhdGF2YWx1ZSlcclxuICAgIHRoaXMuZ3MubWFuYWdlUmVmcmVzaFRyaWdnZXIubmV4dCh0cnVlKTtcclxuICB9XHJcbiAgZ29Ub1pvbmUoKXtcclxuICAgIHRoaXMucm91dGVyLm5hdmlnYXRlKFtcIi9tYW5hZ2Uvem9uZXMvdjFcIl0pOyBcclxuXHJcbiAgfVxyXG5cclxuICBjdXJyZW50SW5kZXg6IG51bWJlciA9IDA7XHJcbiAgaW50ZXJ2YWxJZDogYW55O1xyXG5cclxuXHJcbiAgcHJldlNsaWRlKCkge1xyXG4gICAgaWYgKHRoaXMuY3VycmVudEluZGV4ID4gMCkge1xyXG4gICAgICB0aGlzLmN1cnJlbnRJbmRleC0tO1xyXG4gICAgfVxyXG4gIH1cclxuXHJcbiAgbmV4dFNsaWRlKCkge1xyXG4gICAgaWYgKHRoaXMuY3VycmVudEluZGV4IDwgdGhpcy5yZWNhcHNHcm91cGVkLmxlbmd0aCAtIDEpIHtcclxuICAgICAgdGhpcy5jdXJyZW50SW5kZXgrKztcclxuICAgIH1cclxuICB9XHJcblxyXG4gIGdvVG9TbGlkZShpbmRleDogbnVtYmVyKSB7XHJcbiAgICBpZiAoaW5kZXggPj0gMCAmJiBpbmRleCA8IHRoaXMucmVjYXBzR3JvdXBlZC5sZW5ndGgpIHtcclxuICAgICAgdGhpcy5jdXJyZW50SW5kZXggPSBpbmRleDtcclxuICAgIH1cclxuICB9XHJcbiAgXHJcbiAgbm9iVXBsb2FkKCl7XHJcbiAgICB0aGlzLnJvdXRlci5uYXZpZ2F0ZShbXCIvbWFuYWdlL3RyYWZmaWMvbm9iXCJdKTsgXHJcbiAgfVxyXG4gIGdvVG9Mb3NzKCl7XHJcbiAgICB0aGlzLnJvdXRlci5uYXZpZ2F0ZShbXCIvbWFuYWdlL3NldHRpbmdzL2JyYW5kLWRldGFpbFwiXSk7IFxyXG4gIH1cclxuXHJcbi8vIGZvb3RmYWxsIHRyZW5kIHBhcnRzXHJcblxyXG5nZXREYXRlVmFsdWVzOiBhbnk7XHJcbmNoYXJ0VHJlbmRzOiBhbnk7XHJcbnJvb3RUcmVuZHM6IGFueTtcclxueUF4aXM6IGFueTtcclxueEF4aXM6IGFueTsgXHJcbmxlZ2VuZDogYW55O1xyXG5AVmlld0NoaWxkKCd0b29sdGlwQ29udGFpbmVyJykgdG9vbHRpcENvbnRhaW5lcjogRWxlbWVudFJlZjxIVE1MRGl2RWxlbWVudD47XHJcbnRvb2x0aXBEYXRhOiBhbnk7XHJcbmdldEZvb3RmYWxsVHJlbmREYXRhOmFueT1bXTtcclxub2JqRGF0YTphbnk7XHJcbmRhdGFzZXRzID0gW1xyXG4gIHsgdmFsdWU6ICdtaXNzZWRvcHBvcnR1bml0aWVzJywgbGFiZWw6ICdNaXNzZWQgT3Bwb3J0dW5pdHknIH0sXHJcbiAgeyB2YWx1ZTogJ3BvdGVudGlhbEJ1eWVyJywgbGFiZWw6ICdQb3RlbnRpYWwgQnV5ZXInIH0sXHJcbiAgeyB2YWx1ZTogJ2NvbnZlcnNpb24nLCBsYWJlbDogJ0NvbnZlcnNpb24nIH0sXHJcbiAgeyB2YWx1ZTogJycsIGxhYmVsOiAnTm8gRmlsdGVyJyB9XHJcbl07XHJcblxyXG5pdGVtc1BlclBhZ2VUcmVuZHMgPSAxMDtcclxuY3VycmVudFBhZ2VUcmVuZHMgPSAxO1xyXG50b3RhbEl0ZW1zVHJlbmRzID0gMTtcclxucGFnaW5hdGlvblNpemVzVHJlbmRzOiBudW1iZXJbXSA9IFtdO1xyXG5wYWdlU2l6ZVRyZW5kcyA9IDMxO1xyXG5vZmZzZXRUcmVuZHMgOiBudW1iZXIgPSAwO1xyXG5saW1pdFRyZW5kcyA6IG51bWJlciA9IDMxO1xyXG5zZWxlY3RWYWx1ZT0gbmV3IEZvcm1Db250cm9sKFwiZGF0YXNldDFcIik7XHJcbmxvYWRpbmdUcmVuZHMgPXRydWU7XHJcbm5vRGF0YVRyZW5kcyA9ZmFsc2U7XHJcbiAgZ2V0SW5pdGlhbFZhbHVlKCk6IHN0cmluZyB7XHJcbiAgICAvLyBGb3IgZXhhbXBsZSwgc2VsZWN0aW5nIHRoZSBzZWNvbmQgaXRlbSBpbiB0aGUgZGF0YXNldFxyXG4gICAgcmV0dXJuIHRoaXMuZGF0YXNldHNbMF0udmFsdWU7IC8vIENoYW5nZSBhcyBuZWVkZWRcclxuICB9XHJcbiAgb25WYWx1ZUNoYW5nZXRyZW5kKHNlbGVjdGVkSWQ6IGFueSkge1xyXG4gICAgdGhpcy5vYmpEYXRhLnByb2Nlc3NUeXBlID0gc2VsZWN0ZWRJZCxcclxuICAgIHRoaXMuZm9vdGZhbGxUcmVuZCgpO1xyXG4gIH1cclxuICBnZXQgc2VsZWN0Q29udHJvbCgpOiBGb3JtQ29udHJvbCB7XHJcbiAgICByZXR1cm4gdGhpcy5mb3JtLmdldCgnc2VsZWN0VmFsdWUnKSBhcyBGb3JtQ29udHJvbDtcclxuICB9XHJcbiAgQEhvc3RMaXN0ZW5lcignZG9jdW1lbnQ6Y2xpY2snLCBbJyRldmVudCddKVxyXG4gIG9uQ2xpY2soZXZlbnQ6IE1vdXNlRXZlbnQpOiB2b2lkIHtcclxuICAgIGNvbnN0IHRvb2x0aXBFbGVtZW50ID0gdGhpcy50b29sdGlwQ29udGFpbmVyPy5uYXRpdmVFbGVtZW50O1xyXG5cclxuICAgIC8vIENoZWNrIGlmIHRoZSBjbGljayB3YXMgb3V0c2lkZSB0aGUgdG9vbHRpcFxyXG4gICAgaWYgKHRvb2x0aXBFbGVtZW50ICYmICF0b29sdGlwRWxlbWVudC5jb250YWlucyhldmVudC50YXJnZXQgYXMgTm9kZSkgJiYgdGhpcy50b29sdGlwVmlzaWJsZSkge1xyXG4gICAgICB0aGlzLmhpZGVUb29sdGlwKCk7XHJcbiAgICB9XHJcbiAgICB0aGlzLnNob3cgPWZhbHNlO1xyXG4gIH1cclxuZm9vdGZhbGxUcmVuZCgpeyBcclxuICB0aGlzLm9mZnNldFRyZW5kcyA9MDtcclxuICB0aGlzLmxpbWl0VHJlbmRzID0zMTtcclxuICB0aGlzLmxvYWRpbmdUcmVuZHMgPXRydWU7XHJcbiAgdGhpcy5ub0RhdGFUcmVuZHMgPWZhbHNlO1xyXG4gICh0aGlzLm9iakRhdGEuY29udmVyc2lvbnR5cGUgPSB0aGlzLnRhYmxlb2JqLmNvbnZlcnNpb250eXBlKTtcclxuICB0aGlzLnNlcnZpY2VcclxuICAuZ2V0Zm9vdGZhbGxUcmVuZCh0aGlzLm9iakRhdGEpXHJcbiAgLnBpcGUodGFrZVVudGlsKHRoaXMuZGVzdHJveSQpKVxyXG4gID8uc3Vic2NyaWJlKHtcclxuICAgIG5leHQ6IChyZXM6IGFueSkgPT4ge1xyXG4gICAgICBpZiAocmVzICYmIHJlcy5jb2RlID09PSAyMDApIHtcclxuICAgICAgICB0aGlzLmdldEZvb3RmYWxsVHJlbmREYXRhID0gcmVzPy5kYXRhPy5mb290ZmFsbFRyZW5kRGF0YTtcclxuICAgICAgICB0aGlzLmdldERhdGVWYWx1ZXMgPSByZXM/LmRhdGE7XHJcbiAgICAgICAgdGhpcy50b3RhbEl0ZW1zVHJlbmRzID0gcmVzLmRhdGE/LnRvdGFsQ291bnQ7XHJcbiAgICAgICAgdGhpcy5zZXRQYWdpbmF0aW9uU2l6ZVRyZW5kcygpO1xyXG4gICAgICAgIHRoaXMuY3JlYXRlQ2hhcnQoKSAvLyBDYWxsIHdpdGggYSBkZWxheSB0byBlbnN1cmUgdGhlIGVsZW1lbnQgaXMgaW4gdGhlIERPTVxyXG4gICAgICAgIHRoaXMuY2QuZGV0ZWN0Q2hhbmdlcygpOyBcclxuICAgICAgICB0aGlzLmxvYWRpbmdUcmVuZHMgPWZhbHNlO1xyXG4gICAgICAgIHRoaXMubm9EYXRhVHJlbmRzID1mYWxzZTtcclxuICAgICAgfSBlbHNlIHtcclxuICAgICAgICB0aGlzLmxvYWRpbmdUcmVuZHMgPWZhbHNlO1xyXG4gICAgICAgIHRoaXMubm9EYXRhVHJlbmRzID10cnVlO1xyXG4gICAgICAgIHRoaXMuZ2V0Rm9vdGZhbGxUcmVuZERhdGEgPVtdO1xyXG4gICAgICB9XHJcbiAgICB9LFxyXG4gICAgZXJyb3I6IChlcnI6IGFueSkgPT4ge1xyXG4gICAgICB0aGlzLmNkLmRldGVjdENoYW5nZXMoKTtcclxuICAgIH0sXHJcbiAgICBjb21wbGV0ZTogKCkgPT4ge30sXHJcbiAgfSk7XHJcbiAgXHJcbn1cclxuc2V0UGFnaW5hdGlvblNpemVUcmVuZHMoKSB7XHJcbiAgaWYgKHRoaXMudG90YWxJdGVtc1RyZW5kcyA+IDMxICkge1xyXG4gICAgaWYodGhpcy5vYmpEYXRhLmZvcmVjYXN0ICYmIHRoaXMudG90YWxJdGVtc1RyZW5kcyA+IDMxKXtcclxuICAgICAgdGhpcy5wYWdpbmF0aW9uU2l6ZXNUcmVuZHMgPSBbNjBdO1xyXG4gICAgfSBlbHNlIHsgIFxyXG4gICAgdGhpcy5wYWdpbmF0aW9uU2l6ZXNUcmVuZHMgPSBbMzFdO1xyXG4gICAgfVxyXG4gIH0gZWxzZSB7XHJcbiAgICB0aGlzLnBhZ2luYXRpb25TaXplc1RyZW5kcyA9IFt0aGlzLnRvdGFsSXRlbXNUcmVuZHNdOyAvLyBKdXN0IG9uZSBvcHRpb24gaWYgbGVzcyB0aGFuIDEwXHJcbiAgfVxyXG4gIHRoaXMucGFnZVNpemVUcmVuZHMgPSB0aGlzLnBhZ2luYXRpb25TaXplc1RyZW5kc1swXTtcclxufVxyXG5vblBhZ2VDaGFuZ2VUcmVuZHMocGFnZU9mZnNldFRyZW5kczogbnVtYmVyKSB7XHJcbiAgdGhpcy5vZmZzZXRUcmVuZHMgPSBOdW1iZXIocGFnZU9mZnNldFRyZW5kcyk7XHJcbiAgdGhpcy5vYmpEYXRhLm9mZnNldCA9IHRoaXMub2Zmc2V0VHJlbmRzIC0xO1xyXG4gIHRoaXMub2JqRGF0YS5saW1pdCA9IHRoaXMubGltaXRUcmVuZHM7XHJcbiAgdGhpcy5zZXJ2aWNlXHJcbiAgLmdldGZvb3RmYWxsVHJlbmQodGhpcy5vYmpEYXRhKVxyXG4gIC5waXBlKHRha2VVbnRpbCh0aGlzLmRlc3Ryb3kkKSlcclxuICA/LnN1YnNjcmliZSh7XHJcbiAgICBuZXh0OiAocmVzOiBhbnkpID0+IHtcclxuICAgICAgaWYgKHJlcyAmJiByZXMuY29kZSA9PT0gMjAwKSB7XHJcbiAgICAgICAgdGhpcy5nZXRGb290ZmFsbFRyZW5kRGF0YSA9IHJlcz8uZGF0YS5mb290ZmFsbFRyZW5kRGF0YTtcclxuICAgICAgICBcclxuICAgICAgICB0aGlzLmdldERhdGVWYWx1ZXMgPSByZXM/LmRhdGE7XHJcbiAgICAgICAgdGhpcy50b3RhbEl0ZW1zVHJlbmRzID0gcmVzLmRhdGE/LnRvdGFsQ291bnQ7XHJcbiAgICAgICAgdGhpcy5jcmVhdGVDaGFydCgpIC8vIENhbGwgd2l0aCBhIGRlbGF5IHRvIGVuc3VyZSB0aGUgZWxlbWVudCBpcyBpbiB0aGUgRE9NXHJcbiAgICAgICAgdGhpcy5jZC5kZXRlY3RDaGFuZ2VzKCk7IFxyXG5cclxuICAgICAgfSBlbHNlIHtcclxuICAgICAgICB0aGlzLmxvYWRpbmcgPWZhbHNlO1xyXG4gICAgICAgIHRoaXMubm9EYXRhID10cnVlO1xyXG4gICAgICB9XHJcbiAgICB9LFxyXG4gICAgZXJyb3I6IChlcnI6IGFueSkgPT4ge1xyXG4gICAgICB0aGlzLmNkLmRldGVjdENoYW5nZXMoKTtcclxuICAgIH0sXHJcbiAgICBjb21wbGV0ZTogKCkgPT4ge30sXHJcbiAgfSk7XHJcbiAgXHJcbn1cclxuXHJcbm9uUGFnZVNpemVDaGFuZ2VUcmVuZHMocGFnZVNpemVUcmVuZHM6IG51bWJlcikge1xyXG4gIHRoaXMucGFnZVNpemVUcmVuZHMgPSBOdW1iZXIocGFnZVNpemVUcmVuZHMpO1xyXG4gIHRoaXMubGltaXRUcmVuZHMgPSBOdW1iZXIocGFnZVNpemVUcmVuZHMpO1xyXG4gIHRoaXMuY3VycmVudFBhZ2VUcmVuZHMgPSAxO1xyXG4gIHRoaXMub2Zmc2V0VHJlbmRzID0gMDtcclxuICB0aGlzLm9iakRhdGEub2Zmc2V0ID0gdGhpcy5vZmZzZXRUcmVuZHM7XHJcbiAgdGhpcy5vYmpEYXRhLmxpbWl0ID0gdGhpcy5saW1pdFRyZW5kcztcclxuICB0aGlzLmZvb3RmYWxsVHJlbmQoKTtcclxufVxyXG4gY3JlYXRlQ2hhcnQoKSB7XHJcbiAgICB0aGlzLmxvYWRpbmdUcmVuZHMgPWZhbHNlO1xyXG4gICAgdGhpcy5ub0RhdGFUcmVuZHMgPWZhbHNlO1xyXG4gICAgc2V0VGltZW91dCgoKSA9PiB7XHJcbiAgICAgIGNvbnN0IGNoYXJ0RGl2ID0gZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoXCJGb290ZmFsbHRyZW5kXCIpO1xyXG4gICAgICBpZiAoIWNoYXJ0RGl2KSB7XHJcbiAgICAgICAgcmV0dXJuO1xyXG4gICAgICB9XHJcbiAgICAgIGlmICh0aGlzLnJvb3RUcmVuZHMpIHtcclxuICAgICAgICB0aGlzLnJvb3RUcmVuZHMuZGlzcG9zZSgpO1xyXG4gICAgICB9XHJcbiAgICB0aGlzLnJvb3RUcmVuZHMgID0gYW01LlJvb3QubmV3KCdGb290ZmFsbHRyZW5kJyk7XHJcbiAgICB0aGlzLnJvb3RUcmVuZHMuc2V0VGhlbWVzKFthbTV0aGVtZXNfQW5pbWF0ZWQubmV3KHRoaXMucm9vdFRyZW5kcyldKTtcclxuXHJcbiAgICB0aGlzLmNoYXJ0VHJlbmRzID0gdGhpcy5yb290VHJlbmRzLmNvbnRhaW5lci5jaGlsZHJlbi5wdXNoKFxyXG4gICAgICBhbTV4eS5YWUNoYXJ0Lm5ldyh0aGlzLnJvb3RUcmVuZHMsIHtcclxuICAgICAgICBwYW5YOiBmYWxzZSxcclxuICAgICAgICBwYW5ZOiBmYWxzZSxcclxuICAgICAgICB3aGVlbFg6ICdwYW5YJyxcclxuICAgICAgICB3aGVlbFk6ICd6b29tWCcsXHJcbiAgICAgICAgbGF5b3V0OiB0aGlzLnJvb3RUcmVuZHMudmVydGljYWxMYXlvdXRcclxuICAgICAgfSlcclxuICAgICk7XHJcblxyXG4gICAgdGhpcy5jaGFydFRyZW5kcy5zZXQoXCJzY3JvbGxiYXJYXCIsIGFtNS5TY3JvbGxiYXIubmV3KHRoaXMucm9vdFRyZW5kcywge1xyXG4gICAgICBvcmllbnRhdGlvbjogXCJob3Jpem9udGFsXCJcclxuICAgIH0pKTtcclxuICAgIGxldCB4UmVuZGVyZXIgPSBhbTV4eS5BeGlzUmVuZGVyZXJYLm5ldyh0aGlzLnJvb3RUcmVuZHMsIHtcclxuICAgICAgbWluR3JpZERpc3RhbmNlOiAyMCxcclxuICAgICAgbWlub3JHcmlkRW5hYmxlZDogdHJ1ZSxcclxuICAgIH0pO1xyXG4gICAgeFJlbmRlcmVyLmxhYmVscy50ZW1wbGF0ZS5zZXRBbGwoe1xyXG4gICAgICByb3RhdGlvbjogLTQ1LFxyXG4gICAgICBjZW50ZXJZOiBhbTUucDUwLFxyXG4gICAgICBjZW50ZXJYOiBhbTUucDEwMCxcclxuICAgICAgcGFkZGluZ1JpZ2h0OiA1LFxyXG4gICAgfSk7XHJcbiAgICAvLyB4UmVuZGVyZXIuZ3JpZC50ZW1wbGF0ZS5zZXRBbGwoe1xyXG4gICAgLy8gICBsb2NhdGlvbjogMSxcclxuICAgIC8vIH0pO1xyXG4gICAgY29uc3QgeEF4aXMgPSB0aGlzLmNoYXJ0VHJlbmRzLnhBeGVzLnB1c2goXHJcbiAgICAgIGFtNXh5LkNhdGVnb3J5QXhpcy5uZXcodGhpcy5yb290VHJlbmRzLCB7XHJcbiAgICAgICAgY2F0ZWdvcnlGaWVsZDogJ3N0b3JlTmFtZScsXHJcbiAgICAgICAgcmVuZGVyZXI6eFJlbmRlcmVyLFxyXG4gICAgICAgIHRvb2x0aXA6IGFtNS5Ub29sdGlwLm5ldyh0aGlzLnJvb3RUcmVuZHMsIHsgbGFiZWxUZXh0OiBcIntmdWxsU3RvcmVOYW1lfVwifSlcclxuICAgICAgfSlcclxuICAgICk7XHJcbiAgICB0aGlzLmdldEZvb3RmYWxsVHJlbmREYXRhLnNvcnQoKGE6IGFueSwgYjogYW55KSA9PiB7XHJcbiAgICAgIC8vIFBhcnNlIHN0b3JlTmFtZSBhcyBhIERhdGUgYW5kIGNvbXBhcmVcclxuICAgICAgY29uc3QgZGF0ZUEgPSBuZXcgRGF0ZShhLnN0b3JlTmFtZSk7XHJcbiAgICAgIGNvbnN0IGRhdGVCID0gbmV3IERhdGUoYi5zdG9yZU5hbWUpO1xyXG4gICAgICBcclxuICAgICAgLy8gU29ydCBpbiBhc2NlbmRpbmcgb3JkZXIgKG9sZGVzdCB0byBuZXdlc3QpXHJcbiAgICAgIHJldHVybiBkYXRlQS5nZXRUaW1lKCkgLSBkYXRlQi5nZXRUaW1lKCk7XHJcbiAgICB9KTtcclxuICAgIHRoaXMuZ2V0Rm9vdGZhbGxUcmVuZERhdGEgPSB0aGlzLmdldEZvb3RmYWxsVHJlbmREYXRhPy5tYXAoXHJcbiAgICAgIChpdGVtOiBhbnkpID0+ICh7XHJcbiAgICAgICAgZnVsbFN0b3JlTmFtZTogaXRlbS5zdG9yZU5hbWUsIC8vIEZ1bGwgc3RvcmUgbmFtZVxyXG4gICAgICAgIHN0b3JlTmFtZTogaXRlbS5zdG9yZU5hbWUsIC8vIGl0ZW0uc3RvcmVOYW1lLmxlbmd0aCA+IDIwID8gaXRlbS5zdG9yZU5hbWUuc2xpY2UoMCwgMjApICsgJy4uLicgOiBTaG9ydGVuZWQgZm9yIHhBeGlzXHJcbiAgICAgICAgZm9vdGZhbGw6IE51bWJlcihpdGVtLmZvb3RmYWxsX2NvdW50KSxcclxuICAgICAgICBjb252ZXJzaW9uOiBOdW1iZXIoaXRlbS5jb252ZXJzaW9uX2NvdW50KSxcclxuICAgICAgICBib3VuY2VkOiBOdW1iZXIoaXRlbS5ib3VuY2VkX2NvdW50KSxcclxuICAgICAgICBlbmdhZ2VyczogTnVtYmVyKGl0ZW0uZW5nYWdlcnNfY291bnQpLFxyXG4gICAgICAgIG1pc3NlZG9wcG9ydHVuaXRpZXM6IE51bWJlcihpdGVtLm1pc3NlZE9wcG9ydHVuaXR5X2NvdW50KSxcclxuICAgICAgICBwb3RlbnRpYWw6IE51bWJlcihpdGVtLnBvdGVudGlhbEJ1eWVyc19jb3VudCksXHJcbiAgICAgICAgYm91bmNlZF9jb3VudDppdGVtLmJvdW5jZWRfY291bnQsXHJcbiAgICAgICAgYXZnRHdlbGxUaW1lOml0ZW0uYXZnRHdlbGxUaW1lLFxyXG4gICAgICAgIGRvd25fdGltZTppdGVtLmRvd25fdGltZSxcclxuICAgICAgICBlbmdhZ2Vyc19jb3VudDppdGVtLmVuZ2FnZXJzX2NvdW50LFxyXG4gICAgICAgIGZvb3RmYWxsX2NvdW50Oml0ZW0uZm9vdGZhbGxfY291bnQsXHJcbiAgICAgICAgbWlzc2VkT3Bwb3J0dW5pdHlfY291bnQ6aXRlbS5taXNzZWRPcHBvcnR1bml0eV9jb3VudCxcclxuICAgICAgICBmb290ZmFsbF9jb3VudF9hdmc6aXRlbS5mb290ZmFsbF9jb3VudF9hdmcsXHJcbiAgICAgICAgYm91bmNlZF9mb290ZmFsbF9jb3VudF9hdmc6aXRlbS5ib3VuY2VkX2Zvb3RmYWxsX2NvdW50X2F2ZyxcclxuICAgICAgICBtaXNzZWRPcHBvcnR1bml0eV9jb3VudF9hdmc6aXRlbS5taXNzZWRPcHBvcnR1bml0eV9jb3VudF9hdmcsXHJcbiAgICAgICAgZW5nYWdlcnNfY291bnRfYXZnOml0ZW0uZW5nYWdlcnNfY291bnRfYXZnLFxyXG4gICAgICAgIGNvbnZlcnNpb25SYXRlOiBpdGVtLmNvbnZlcnNpb25SYXRlLFxyXG4gICAgICAgIGZvcmVjYXN0OiBpdGVtLmZvcmVjYXN0LFxyXG4gICAgICB9KVxyXG4gICAgKTtcclxuICAgXHJcbiAgICB4QXhpcy5kYXRhPy5zZXRBbGwodGhpcy5nZXRGb290ZmFsbFRyZW5kRGF0YSk7IFxyXG4gICAgY29uc3QgeUF4aXMgPSB0aGlzLmNoYXJ0VHJlbmRzLnlBeGVzLnB1c2goXHJcbiAgICAgIGFtNXh5LlZhbHVlQXhpcy5uZXcodGhpcy5yb290VHJlbmRzLCB7XHJcbiAgICAgICAgbWluOjAsXHJcbiAgICAgICAgcmVuZGVyZXI6IGFtNXh5LkF4aXNSZW5kZXJlclkubmV3KHRoaXMucm9vdFRyZW5kcywge30pXHJcbiAgICAgIH0pXHJcbiAgICApO1xyXG4gICAgLy8geUF4aXMuZ2V0KFwicmVuZGVyZXJcIikuZ3JpZC50ZW1wbGF0ZS5zZXQoXCJmb3JjZUhpZGRlblwiLCB0cnVlKTtcclxuICAgIC8vIHlBeGlzLmdldChcInJlbmRlcmVyXCIpLmxhYmVscy50ZW1wbGF0ZS5zZXQoXCJmb3JjZUhpZGRlblwiLCB0cnVlKTtcclxuICAgIC8vIFNldCB0aGUgdGl0bGUgb2YgdGhlIHktYXhpc1xyXG4gICAgeUF4aXMuY2hpbGRyZW4udW5zaGlmdChhbTUuTGFiZWwubmV3KHRoaXMucm9vdFRyZW5kcywge1xyXG4gICAgICByb3RhdGlvbjogLTkwLFxyXG4gICAgICAvLyB0ZXh0OiAnRm9vdGZhbGwnLCAvL2NhcGl0YWxpemVGaXJzdExldHRlcih0aGlzLm9iakRhdGEucHJvY2Vzc1R5cGUpLCAvLyBDYXBpdGFsaXplIHRoZSBmaXJzdCBsZXR0ZXJcclxuICAgICAgeTogYW01LnA1MCxcclxuICAgICAgY2VudGVyWDogYW01LnA1MCxcclxuICAgICAgZm9udEZhbWlseTogXCJBcmlhbFwiLCAvLyBTZXQgZm9udCBmYW1pbHlcclxuICAgICAgZm9udFNpemU6IFwiMTRweFwiLCAgICAvLyBTZXQgZm9udCBzaXplXHJcbiAgICAgIGZpbGw6IGFtNS5jb2xvcigweDAwMDAwMCkgLy8gU2V0IHRleHQgY29sb3IgKG9wdGlvbmFsKVxyXG4gICAgfSkpO1xyXG5pZih0aGlzLm9iakRhdGEucHJvY2Vzc1R5cGUgPT09J3BvdGVudGlhbEJ1eWVyJylcclxuICB0aGlzLm9iakRhdGEucHJvY2Vzc1R5cGUgPSdwb3RlbnRpYWwnXHJcbi8vIGlmKHRoaXMub2JqRGF0YS5wcm9jZXNzVHlwZSA9PT0nbWlzc2Vkb3Bwb3J0dW5pdGllcycpXHJcbi8vICAgdGhpcy5vYmpEYXRhLnByb2Nlc3NUeXBlID0nTWlzc2VkIE9wcG9ydHVuaXR5J1xyXG5jb25zdCBjYXBpdGFsaXplVGl0bGUgPSAodGV4dDogc3RyaW5nKTogc3RyaW5nID0+IHtcclxuICByZXR1cm4gdGV4dFxyXG4gICAgLnNwbGl0KCcgJylcclxuICAgIC5tYXAod29yZCA9PiB3b3JkLmNoYXJBdCgwKS50b1VwcGVyQ2FzZSgpICsgd29yZC5zbGljZSgxKS50b0xvd2VyQ2FzZSgpKVxyXG4gICAgLmpvaW4oJyAnKTtcclxufTtcclxuXHJcbi8vIEV4YW1wbGUgdXNhZ2VcclxuY29uc3QgcHJvY2Vzc1R5cGVUaXRsZSA9IGNhcGl0YWxpemVUaXRsZSh0aGlzLm9iakRhdGEucHJvY2Vzc1R5cGUpO1xyXG4gICAgLy8gdGhpcy5jcmVhdGVDb2x1bW5TZXJpZXMoJ0Zvb3RmYWxsJywgJ2Zvb3RmYWxsJywgeEF4aXMsIHlBeGlzLCBmYWxzZSwgYW01LmNvbG9yKDB4NjdiN2RjKSk7XHJcbiAgICB0aGlzLmNyZWF0ZUNvbHVtblNlcmllcygnQm91bmNlZCcsICdib3VuY2VkJywgeEF4aXMsIHlBeGlzLCB0cnVlLCBhbTUuY29sb3IoMHg2N2I3ZGMpKTtcclxuICAgIHRoaXMuY3JlYXRlQ29sdW1uU2VyaWVzKCdFbmdhZ2VycycsICdlbmdhZ2VycycsIHhBeGlzLCB5QXhpcywgdHJ1ZSwgYW01LmNvbG9yKDB4Njc5NGRjKSk7XHJcbiAgICAvLyA2NzcxZGNcclxuICAgIC8vIHRoaXMuY3JlYXRlQ29sdW1uU2VyaWVzKCdNaXNzZWQgT3Bwb3J0dW5pdHknLCAnbWlzc2Vkb3Bwb3J0dW5pdGllcycsIHhBeGlzLCB5QXhpcywgdHJ1ZSwgYW01LmNvbG9yKDB4Njc5NGRjKSk7XHJcbiAgICAvLyB0aGlzLmNyZWF0ZUNvbHVtblNlcmllcygnUG90ZW50aWFsIEJ1eWVyJywgJ3BvdGVudGlhbCcsIHhBeGlzLCB5QXhpcywgdHJ1ZSwgYW01LmNvbG9yKDB4ZGM2OWNmKSk7XHJcbiAgICAvLyB0aGlzLmNyZWF0ZUNvbHVtblNlcmllcygnQ29udmVyc2lvbicsICdjb252ZXJzaW9uJywgeEF4aXMsIHlBeGlzLCB0cnVlLCBhbTUuY29sb3IoMHg2NzcxZGMpKTtcclxuICAgIGlmKHRoaXMub2JqRGF0YS5wcm9jZXNzVHlwZSAhPT0nJyApe1xyXG4gICAgICBjb25zdCBteUNvbG9yID0gYW01LmNvbG9yKDB4MDBGRjAwKTtcclxuICAgIHRoaXMuY3JlYXRlTGluZVNlcmllcyhwcm9jZXNzVHlwZVRpdGxlLCB0aGlzLm9iakRhdGEucHJvY2Vzc1R5cGUsIHhBeGlzLCB5QXhpcywgbXlDb2xvcik7XHJcbiAgICB9XHJcbiAgICBjb25zdCBsZWdlbmQgPSB0aGlzLmNoYXJ0VHJlbmRzLmNoaWxkcmVuLnB1c2goXHJcbiAgICAgIGFtNS5MZWdlbmQubmV3KHRoaXMucm9vdFRyZW5kcywge1xyXG4gICAgICAgIGNlbnRlclg6IGFtNS5wNTAsXHJcbiAgICAgICAgeDogYW01LnA1MFxyXG4gICAgICB9KVxyXG4gICAgKTtcclxuXHJcbiAgICBsZWdlbmQuZGF0YS5zZXRBbGwodGhpcy5jaGFydFRyZW5kcy5zZXJpZXMudmFsdWVzKTtcclxuXHJcbiAgICB0aGlzLmNoYXJ0VHJlbmRzLnNldCgnY3Vyc29yJywgYW01eHkuWFlDdXJzb3IubmV3KHRoaXMucm9vdFRyZW5kcywge1xyXG4gICAgICBiZWhhdmlvcjogJ25vbmUnXHJcbiAgICB9KSk7XHJcblxyXG4gICAgdGhpcy5jaGFydFRyZW5kcy5zZXJpZXMuZWFjaCgoc2VyaWVzOiBhbnkpID0+IHtcclxuICAgICAgaWYgKHNlcmllcy5jb2x1bW5zKSB7XHJcbiAgICAgICAgc2VyaWVzLmNvbHVtbnMudGVtcGxhdGUuc2V0KFwiaW50ZXJhY3RpdmVcIiwgdHJ1ZSk7XHJcbiAgICAgICAgc2VyaWVzLmNvbHVtbnMudGVtcGxhdGUuZXZlbnRzLm9uKFwiY2xpY2tcIiwgKGV2OiBhbnkpID0+IHtcclxuICAgICAgICAgIGNvbnN0IGRhdGEgPSBldi50YXJnZXQuZGF0YUl0ZW0uZGF0YUNvbnRleHQ7XHJcbiAgICAgICAgICBjb25zdCB7IGNsaWVudFgsIGNsaWVudFkgfSA9IGV2Lm9yaWdpbmFsRXZlbnQ7XHJcbiAgICAgICAgICB0aGlzLnNob3dUb29sdGlwKGRhdGEsIGNsaWVudFgsIGNsaWVudFkpO1xyXG4gICAgICAgIH0pO1xyXG4gICAgICB9XHJcbiAgICB9KTtcclxuICAgIHRoaXMuY2hhcnRUcmVuZHMuYXBwZWFyKDEwMDAsIDEwMCk7XHJcbiAgfSwxMDApXHJcbiAgfVxyXG5cclxuICB0b29sdGlwVmlzaWJsZSA9IGZhbHNlO1xyXG4gIHNob3dUb29sdGlwKGRhdGE6IGFueSwgeDogbnVtYmVyLCB5OiBudW1iZXIpOiB2b2lkIHtcclxuICAgIHRoaXMudG9vbHRpcFZpc2libGUgPSBmYWxzZTtcclxuICAgIHRoaXMudG9vbHRpcERhdGEgPSBkYXRhO1xyXG4gICAgY29uc3QgdG9vbHRpcEVsZW1lbnQgPSB0aGlzLnRvb2x0aXBDb250YWluZXI/Lm5hdGl2ZUVsZW1lbnQ7XHJcbiAgXHJcbiAgICAvLyBTZXQgdG9vbHRpcCBjb250ZW50IGFuZCBtYWtlIGl0IHZpc2libGUgdG8gY2FsY3VsYXRlIGRpbWVuc2lvbnNcclxuICAgIHRvb2x0aXBFbGVtZW50LnN0eWxlLmRpc3BsYXkgPSAnYmxvY2snO1xyXG4gICAgdG9vbHRpcEVsZW1lbnQuc3R5bGUudmlzaWJpbGl0eSA9ICdoaWRkZW4nOyAvLyBNYWtlIGl0IGludmlzaWJsZSBidXQgc3RpbGwgcHJlc2VudCBpbiB0aGUgRE9NXHJcbiAgXHJcbiAgICAvLyBGb3JjZSBhIHJlZmxvdyB0byBlbnN1cmUgZGltZW5zaW9ucyBhcmUgdXAtdG8tZGF0ZVxyXG4gICAgdG9vbHRpcEVsZW1lbnQuc3R5bGUucG9zaXRpb24gPSAnYWJzb2x1dGUnO1xyXG4gICAgXHJcbiAgICAvLyBXYWl0IGZvciB0aGUgbmV4dCBldmVudCBsb29wIHRvIGdldCBhY2N1cmF0ZSBkaW1lbnNpb25zXHJcbiAgICBzZXRUaW1lb3V0KCgpID0+IHtcclxuICAgICAgY29uc3QgdG9vbHRpcFdpZHRoID0gdG9vbHRpcEVsZW1lbnQub2Zmc2V0V2lkdGg7XHJcbiAgICAgIGNvbnN0IHRvb2x0aXBIZWlnaHQgPSB0b29sdGlwRWxlbWVudC5vZmZzZXRIZWlnaHQ7XHJcbiAgICAgIGNvbnN0IHNjcmVlbldpZHRoID0gd2luZG93LmlubmVyV2lkdGg7XHJcbiAgICAgIGNvbnN0IHNjcmVlbkhlaWdodCA9IHdpbmRvdy5pbm5lckhlaWdodDtcclxuICBcclxuICAgICAgLy8gQ2FsY3VsYXRlIGlmIHRoZXJlIGlzIGVub3VnaCBzcGFjZSBvbiB0aGUgcmlnaHQgc2lkZSwgb3RoZXJ3aXNlIHBsYWNlIGl0IG9uIHRoZSBsZWZ0XHJcbiAgICAgIGlmICh4ICsgdG9vbHRpcFdpZHRoID4gc2NyZWVuV2lkdGgpIHtcclxuICAgICAgICB0b29sdGlwRWxlbWVudC5zdHlsZS5sZWZ0ID0gYCR7eCAtIHRvb2x0aXBXaWR0aH1weGA7XHJcbiAgICAgIH0gZWxzZSB7XHJcbiAgICAgICAgdG9vbHRpcEVsZW1lbnQuc3R5bGUubGVmdCA9IGAke3h9cHhgO1xyXG4gICAgICB9XHJcbiAgXHJcbiAgICAgIC8vIENhbGN1bGF0ZSBpZiB0aGVyZSBpcyBlbm91Z2ggc3BhY2UgYXQgdGhlIGJvdHRvbSwgb3RoZXJ3aXNlIHBsYWNlIGl0IGF0IHRoZSB0b3BcclxuICAgICAgaWYgKHkgKyB0b29sdGlwSGVpZ2h0ID4gc2NyZWVuSGVpZ2h0KSB7XHJcbiAgICAgICAgdG9vbHRpcEVsZW1lbnQuc3R5bGUudG9wID0gYCR7eSAtIHRvb2x0aXBIZWlnaHR9cHhgO1xyXG4gICAgICB9IGVsc2Uge1xyXG4gICAgICAgIHRvb2x0aXBFbGVtZW50LnN0eWxlLnRvcCA9IGAke3l9cHhgO1xyXG4gICAgICB9XHJcbiAgXHJcbiAgICAgIHRvb2x0aXBFbGVtZW50LnN0eWxlLnZpc2liaWxpdHkgPSAndmlzaWJsZSc7IC8vIE1ha2UgaXQgdmlzaWJsZSBhZ2FpblxyXG4gICAgICB0aGlzLnRvb2x0aXBWaXNpYmxlID0gdHJ1ZTtcclxuICAgIH0sIDApO1xyXG4gIH1cclxuICBzZWxlY3RQbGFuVHJlbmRzKHR5cGU6IGFueSkge1xyXG4gICAgdGhpcy50eXBlID0gdHlwZTtcclxuICAgIHRoaXMub2JqRGF0YS5kYXRlVHlwZSA9dHlwZTtcclxuICAgIGlmKHR5cGUgPT09J21vbnRobHknICYmIHRoaXMuc3RvcmVJZGFycmF5Py5sZW5ndGggPT09IDEpXHJcbiAgICB0aGlzLm9iakRhdGEubGltaXQ9IDYwO1xyXG4gIGVsc2UgXHJcbiAgdGhpcy5vYmpEYXRhLmxpbWl0PSAzMTtcclxuICAgIHRoaXMub2JqRGF0YS5vZmZzZXQ9IDA7XHJcbiAgICB0aGlzLmZvb3RmYWxsVHJlbmQoKTtcclxuICAgIC8vIHRoaXMudXBkYXRlQ2hhcnREYXRhKCk7XHJcbiAgfVxyXG4gIGhpZGVUb29sdGlwKCk6IHZvaWQge1xyXG4gICAgdGhpcy50b29sdGlwVmlzaWJsZSA9IGZhbHNlO1xyXG4gICAgY29uc3QgdG9vbHRpcEVsZW1lbnQgPSB0aGlzLnRvb2x0aXBDb250YWluZXI/Lm5hdGl2ZUVsZW1lbnQ7XHJcbiAgICB0b29sdGlwRWxlbWVudC5zdHlsZS5kaXNwbGF5ID0gJ25vbmUnO1xyXG4gIH1cclxuXHJcbiAgY3JlYXRlQ29sdW1uU2VyaWVzKFxyXG4gICAgbmFtZTogc3RyaW5nLFxyXG4gICAgZmllbGROYW1lOiBzdHJpbmcsXHJcbiAgICB4QXhpczogYW01eHkuQ2F0ZWdvcnlBeGlzPGFtNXh5LkF4aXNSZW5kZXJlcj4sXHJcbiAgICB5QXhpczogYW01eHkuVmFsdWVBeGlzPGFtNXh5LkF4aXNSZW5kZXJlcj4sXHJcbiAgICBzdGFja2VkOiBib29sZWFuLFxyXG4gICAgY29sb3I6IGFtNS5Db2xvclxyXG4gICk6IHZvaWQge1xyXG5cclxuICAgIGlmICh0aGlzLmhlYWRlckRhdGE/LmNsaWVudCA9PT0gJzQ1MicpIHtcclxuICAgICAgaWYgKG5hbWUgPT09ICdCb3VuY2VkJykge1xyXG4gICAgICAgIG5hbWUgPSBgTGVzcyB0aGFuICR7dGhpcy5jbGllbnREYXRhPy5mZWF0dXJlQ29uZmlncz8uYm91bmNlZExpbWl0Py52YWx1ZSA/PyAnWCd9IG1pbnNgO1xyXG4gICAgICB9XHJcbiAgICAgIGlmIChuYW1lID09PSAnRW5nYWdlcnMnKSB7XHJcbiAgICAgICAgbmFtZSA9IGBNb3JlIHRoYW4gJHt0aGlzLmNsaWVudERhdGE/LmZlYXR1cmVDb25maWdzPy5ib3VuY2VkTGltaXQ/LnZhbHVlID8/ICdYJ30gbWluc2A7XHJcbiAgICAgIH1cclxuICAgIH1cclxuICAgIGNvbnN0IHNlcmllcyA9IHRoaXMuY2hhcnRUcmVuZHMuc2VyaWVzLnB1c2goXHJcbiAgICAgIGFtNXh5LkNvbHVtblNlcmllcy5uZXcodGhpcy5yb290VHJlbmRzLCB7XHJcbiAgICAgICAgbmFtZTogbmFtZSxcclxuICAgICAgICB4QXhpczogeEF4aXMsXHJcbiAgICAgICAgeUF4aXM6IHlBeGlzLFxyXG4gICAgICAgIHZhbHVlWUZpZWxkOiBmaWVsZE5hbWUsXHJcbiAgICAgICAgY2F0ZWdvcnlYRmllbGQ6ICdzdG9yZU5hbWUnLFxyXG4gICAgICAgIHN0YWNrZWQ6IHN0YWNrZWQsXHJcbiAgICAgIH0pXHJcbiAgICApO1xyXG4gICAgdGhpcy5nZXRGb290ZmFsbFRyZW5kRGF0YSA9IHRoaXMuZ2V0Rm9vdGZhbGxUcmVuZERhdGEubWFwKChpdGVtOiBhbnkpID0+IHtcclxuICAgICAgcmV0dXJuIHtcclxuICAgICAgICAuLi5pdGVtLFxyXG4gICAgICAgIGR5bmFtaWNDb2x1bW46IHtcclxuICAgICAgICAgIGZpbGxPcGFjaXR5OiBpdGVtLmNvbHVtblNldHRpbmdzPy5maWxsT3BhY2l0eSA/PyAwLjgsXHJcbiAgICAgICAgICBzdHJva2VEYXNoYXJyYXk6IEFycmF5LmlzQXJyYXkoaXRlbS5jb2x1bW5TZXR0aW5ncz8uc3Ryb2tlRGFzaGFycmF5KVxyXG4gICAgICAgICAgICA/IGl0ZW0uY29sdW1uU2V0dGluZ3Muc3Ryb2tlRGFzaGFycmF5XHJcbiAgICAgICAgICAgIDogaXRlbS5jb2x1bW5TZXR0aW5ncz8uc3Ryb2tlRGFzaGFycmF5ID8gaXRlbS5jb2x1bW5TZXR0aW5ncy5zdHJva2VEYXNoYXJyYXkuc3BsaXQoJywnKS5tYXAoTnVtYmVyKSA6IFs1LCA1XSxcclxuICAgICAgICAgIHN0cm9rZVdpZHRoOiBpdGVtLmNvbHVtblNldHRpbmdzPy5zdHJva2VXaWR0aCA/PyAzXHJcbiAgICAgICAgfVxyXG4gICAgICB9O1xyXG4gICAgfSk7XHJcbiAgXHJcbiAgICAvLyBTZXQgZGF0YSBmb3Igc2VyaWVzXHJcbiAgICBzZXJpZXMuZGF0YS5zZXRBbGwodGhpcy5nZXRGb290ZmFsbFRyZW5kRGF0YSk7XHJcbiAgXHJcbiAgICAvLyBBZGFwdGVycyB0byBhcHBseSBjdXN0b20gY29sdW1uIHNldHRpbmdzXHJcbiAgICBzZXJpZXMuY29sdW1ucy50ZW1wbGF0ZS5hZGFwdGVycy5hZGQoXCJmaWxsT3BhY2l0eVwiLCAoZmlsbE9wYWNpdHk6IGFueSwgdGFyZ2V0OiBhbnkpID0+IHtcclxuICAgICAgY29uc3QgZGF0YUl0ZW0gPSB0YXJnZXQuZGF0YUl0ZW0/LmRhdGFDb250ZXh0IGFzIGFueTtcclxuICAgICAgaWYgKGRhdGFJdGVtPy5mb3JlY2FzdCAmJiBkYXRhSXRlbT8uZHluYW1pY0NvbHVtbikgeyBcclxuICAgICAgICByZXR1cm4gZGF0YUl0ZW0uZHluYW1pY0NvbHVtbi5maWxsT3BhY2l0eSA/PyBmaWxsT3BhY2l0eTsgXHJcbiAgICAgIH1cclxuICAgICAgcmV0dXJuIGZpbGxPcGFjaXR5OyAvLyBEZWZhdWx0IG9wYWNpdHlcclxuICAgIH0pO1xyXG4gIFxyXG4gICAgc2VyaWVzLmNvbHVtbnMudGVtcGxhdGUuYWRhcHRlcnMuYWRkKFwic3Ryb2tlRGFzaGFycmF5XCIsIChzdHJva2VEYXNoYXJyYXk6IGFueSwgdGFyZ2V0OiBhbnkpID0+IHtcclxuICAgICAgY29uc3QgZGF0YUl0ZW0gPSB0YXJnZXQuZGF0YUl0ZW0/LmRhdGFDb250ZXh0IGFzIGFueTtcclxuICAgICAgaWYgKGRhdGFJdGVtPy5mb3JlY2FzdCAmJiBkYXRhSXRlbT8uZHluYW1pY0NvbHVtbikgeyBcclxuICAgICAgICByZXR1cm4gZGF0YUl0ZW0uZHluYW1pY0NvbHVtbi5zdHJva2VEYXNoYXJyYXkgPz8gc3Ryb2tlRGFzaGFycmF5OyBcclxuICAgICAgfVxyXG4gICAgICByZXR1cm4gc3Ryb2tlRGFzaGFycmF5OyAvLyBEZWZhdWx0IGRhc2ggYXJyYXlcclxuICAgIH0pO1xyXG4gIFxyXG4gICAgc2VyaWVzLmNvbHVtbnMudGVtcGxhdGUuYWRhcHRlcnMuYWRkKFwic3Ryb2tlV2lkdGhcIiwgKHN0cm9rZVdpZHRoOiBhbnksIHRhcmdldDogYW55KSA9PiB7XHJcbiAgICAgIGNvbnN0IGRhdGFJdGVtID0gdGFyZ2V0LmRhdGFJdGVtPy5kYXRhQ29udGV4dCBhcyBhbnk7XHJcbiAgICAgIGlmIChkYXRhSXRlbT8uZm9yZWNhc3QgJiYgZGF0YUl0ZW0/LmR5bmFtaWNDb2x1bW4pIHsgXHJcbiAgICAgICAgcmV0dXJuIGRhdGFJdGVtLmR5bmFtaWNDb2x1bW4uc3Ryb2tlV2lkdGggPz8gc3Ryb2tlV2lkdGg7IFxyXG4gICAgICB9XHJcbiAgICAgIHJldHVybiBzdHJva2VXaWR0aDsgLy8gRGVmYXVsdCBzdHJva2Ugd2lkdGhcclxuICAgIH0pO1xyXG4gIFxyXG4gICAgLy8gU2V0IGRlZmF1bHQgY29sb3IgYW5kIHN0cm9rZSBmb3IgdGhlIGNvbHVtbnNcclxuICAgIHNlcmllcy5jb2x1bW5zLnRlbXBsYXRlLnNldEFsbCh7XHJcbiAgICAgIGZpbGw6IGNvbG9yLCAvLyBTZXQgZmlsbCBjb2xvclxyXG4gICAgICBzdHJva2U6IGNvbG9yIC8vIFNldCBzdHJva2UgY29sb3JcclxuICAgIH0pO1xyXG4gIFxyXG4gICAgLy8gQWRkIGxhYmVscyB0byB0aGUgY29sdW1uc1xyXG4gICAgc2VyaWVzLmJ1bGxldHMucHVzaCgoKSA9PiB7XHJcbiAgICAgIHJldHVybiBhbTUuQnVsbGV0Lm5ldyh0aGlzLnJvb3RUcmVuZHMsIHtcclxuICAgICAgICBzcHJpdGU6IGFtNS5MYWJlbC5uZXcodGhpcy5yb290VHJlbmRzLCB7XHJcbiAgICAgICAgICB0ZXh0OiBcInt2YWx1ZVl9XCIsXHJcbiAgICAgICAgICBmaWxsOiB0aGlzLnJvb3RUcmVuZHMuaW50ZXJmYWNlQ29sb3JzLmdldChcImFsdGVybmF0aXZlVGV4dFwiKSxcclxuICAgICAgICAgIGNlbnRlclk6IGFtNS5wNTAsXHJcbiAgICAgICAgICBjZW50ZXJYOiBhbTUucDUwLFxyXG4gICAgICAgICAgcG9wdWxhdGVUZXh0OiB0cnVlLFxyXG4gICAgICAgICAgZm9udFNpemU6IDEyICAvLyBSZWR1Y2UgZm9udCBzaXplXHJcbiAgICAgICAgfSlcclxuICAgICAgfSk7XHJcbiAgICB9KTtcclxuIFxyXG4gICAgc2VyaWVzLmFwcGVhcigpO1xyXG4gIH1cclxuICBcclxuICBcclxuXHJcblxyXG5cclxuICBjcmVhdGVMaW5lU2VyaWVzKFxyXG4gICAgbmFtZTogc3RyaW5nLFxyXG4gICAgZmllbGROYW1lOiBzdHJpbmcsXHJcbiAgICB4QXhpczogYW01eHkuQ2F0ZWdvcnlBeGlzPGFtNXh5LkF4aXNSZW5kZXJlcj4sXHJcbiAgICB5QXhpczogYW01eHkuVmFsdWVBeGlzPGFtNXh5LkF4aXNSZW5kZXJlcj4sXHJcbiAgICBjb2xvcjogYW01LkNvbG9yXHJcbiAgKTogdm9pZCB7XHJcbiAgICBpZiAodGhpcy5oZWFkZXJEYXRhPy5jbGllbnQgPT09ICc0NTInKSB7XHJcbiAgICAgIGlmIChuYW1lID09PSAnQ29udmVyc2lvbicpIHtcclxuICAgICAgICBuYW1lID0gYE1vcmUgdGhhbiAke3RoaXMuY2xpZW50RGF0YT8uZmVhdHVyZUNvbmZpZ3M/LmNvbnZlcnNpb24/LnZhbHVlID8/ICdYJ30gbWluc2A7XHJcbiAgICAgIH1cclxuICAgIFxyXG4gICAgICBpZiAobmFtZSA9PT0gJ01pc3NlZG9wcG9ydHVuaXRpZXMnKSB7XHJcbiAgICAgICAgbmFtZSA9IGAke3RoaXMuY2xpZW50RGF0YT8uZmVhdHVyZUNvbmZpZ3M/Lm1pc3NlZE9wcG9ydHVuaXR5RnJvbT8udmFsdWUgPz8gJ1gnfSAtICR7dGhpcy5jbGllbnREYXRhPy5mZWF0dXJlQ29uZmlncz8ubWlzc2VkT3Bwb3J0dW5pdHlUbz8udmFsdWUgPz8gJ1knfSBtaW5zYDtcclxuICAgICAgfVxyXG4gICAgXHJcbiAgICB9IGVsc2Uge1xyXG4gICAgICBpZiAobmFtZSA9PT0gJ01pc3NlZG9wcG9ydHVuaXRpZXMnKSB7XHJcbiAgICAgICAgbmFtZSA9ICdNaXNzZWQgT3Bwb3J0dW5pdHknO1xyXG4gICAgICB9XHJcbiAgICBcclxuICAgICAgaWYgKG5hbWUgPT09ICdQb3RlbnRpYWwnIHx8IG5hbWUgPT09ICdwb3RlbnRpYWxCdXllcicpIHtcclxuICAgICAgICBuYW1lID0gJ1BvdGVudGlhbCBCdXllcic7XHJcbiAgICAgIH1cclxuICAgIH1cclxuICAgIFxyXG4gICAgY29uc3Qgc2VyaWVzID0gdGhpcy5jaGFydFRyZW5kcy5zZXJpZXMucHVzaChcclxuICAgICAgYW01eHkuTGluZVNlcmllcy5uZXcodGhpcy5yb290VHJlbmRzLCB7XHJcbiAgICAgICAgbmFtZTogbmFtZSxcclxuICAgICAgICB4QXhpczogeEF4aXMsXHJcbiAgICAgICAgeUF4aXM6IHlBeGlzLFxyXG4gICAgICAgIHZhbHVlWUZpZWxkOiBmaWVsZE5hbWUsXHJcbiAgICAgICAgY2F0ZWdvcnlYRmllbGQ6ICdzdG9yZU5hbWUnLFxyXG4gICAgICAgIHRvb2x0aXA6IGFtNS5Ub29sdGlwLm5ldyh0aGlzLnJvb3RUcmVuZHMsIHtcclxuICAgICAgICAgIHBvaW50ZXJPcmllbnRhdGlvbjogXCJob3Jpem9udGFsXCIsXHJcbiAgICAgICAgICBsYWJlbFRleHQ6IFwiVG90YWwgRm9vdGZhbGw6IHtmb290ZmFsbH1cXG57bmFtZX06IHt2YWx1ZVl9IFwiLFxyXG4gICAgICAgICAgYmFja2dyb3VuZDogYW01LlJlY3RhbmdsZS5uZXcodGhpcy5yb290VHJlbmRzLCB7XHJcbiAgICAgICAgICAgIGZpbGw6IGFtNS5jb2xvcigweDAwRkYwMCkgLy8gU2V0IHRoZSBkZXNpcmVkIHRvb2x0aXAgYmFja2dyb3VuZCBjb2xvclxyXG4gICAgICAgICAgfSlcclxuICAgICAgICB9KVxyXG4gICAgICB9KVxyXG4gICAgKTtcclxuICBcclxuICAgIC8vIEFwcGx5IGRlZmF1bHQgc3Ryb2tlIHNldHRpbmdzIGZvciB0aGUgbGluZSBzZXJpZXNcclxuICAgIHNlcmllcy5zdHJva2VzLnRlbXBsYXRlLnNldEFsbCh7XHJcbiAgICAgIHN0cm9rZVdpZHRoOiAyLFxyXG4gICAgICBzdHJva2U6IGFtNS5jb2xvcigweDAwRkYwMCksIC8vIERlZmF1bHQgc3Ryb2tlIGNvbG9yXHJcbiAgICAgIHRlbXBsYXRlRmllbGQ6IFwic3Ryb2tlU2V0dGluZ3NcIiwgLy8gUmVmZXIgdG8gc3Ryb2tlU2V0dGluZ3MgZm9yIGR5bmFtaWMgdXBkYXRlc1xyXG4gICAgICBmb250U2l6ZTogMTIgLy8gUmVkdWNlIGZvbnQgc2l6ZSBmb3IgbGFiZWxzXHJcbiAgICB9KTtcclxuICBcclxuICAgIC8vIE1hcCBkeW5hbWljIHNldHRpbmdzIGZvciBmb3JlY2FzdD10cnVlIGl0ZW1zXHJcbiAgICB0aGlzLmdldEZvb3RmYWxsVHJlbmREYXRhID0gdGhpcy5nZXRGb290ZmFsbFRyZW5kRGF0YS5tYXAoKGl0ZW06IGFueSkgPT4ge1xyXG4gICAgICByZXR1cm4ge1xyXG4gICAgICAgIC4uLml0ZW0sXHJcbiAgICAgICAgZHluYW1pY0xpbmU6IHtcclxuICAgICAgICAgIHN0cm9rZTogaXRlbS5zdHJva2VTZXR0aW5ncz8uc3Ryb2tlID8/IGFtNS5jb2xvcigweDAwRkYwMCksIC8vIERlZmF1bHQgdG8gZ3JlZW4gaWYgbm90IHNwZWNpZmllZFxyXG4gICAgICAgICAgc3Ryb2tlV2lkdGg6IGl0ZW0uc3Ryb2tlU2V0dGluZ3M/LnN0cm9rZVdpZHRoID8/IDUsXHJcbiAgICAgICAgICBzdHJva2VEYXNoYXJyYXk6IEFycmF5LmlzQXJyYXkoaXRlbS5zdHJva2VTZXR0aW5ncz8uc3Ryb2tlRGFzaGFycmF5KVxyXG4gICAgICAgICAgICA/IGl0ZW0uc3Ryb2tlU2V0dGluZ3Muc3Ryb2tlRGFzaGFycmF5XHJcbiAgICAgICAgICAgIDogaXRlbS5zdHJva2VTZXR0aW5ncz8uc3Ryb2tlRGFzaGFycmF5XHJcbiAgICAgICAgICAgID8gaXRlbS5zdHJva2VTZXR0aW5ncy5zdHJva2VEYXNoYXJyYXkuc3BsaXQoJywnKS5tYXAoTnVtYmVyKVxyXG4gICAgICAgICAgICA6IFs1LCA1XSAvLyBEZWZhdWx0IGRhc2ggYXJyYXlcclxuICAgICAgICB9XHJcbiAgICAgIH07XHJcbiAgICB9KTtcclxuICBcclxuICAgIC8vIFNldCBkYXRhIGZvciBzZXJpZXNcclxuICAgIHNlcmllcy5kYXRhLnNldEFsbCh0aGlzLmdldEZvb3RmYWxsVHJlbmREYXRhKTtcclxuICBcclxuICAvLyBBZGFwdGVyIHRvIGFwcGx5IGN1c3RvbSBzdHJva2Ugc2V0dGluZ3MgYmFzZWQgb24gZm9yZWNhc3RcclxuICBzZXJpZXMuc3Ryb2tlcy50ZW1wbGF0ZS5hZGFwdGVycy5hZGQoXCJzdHJva2VcIiwgKHN0cm9rZTogYW55LCB0YXJnZXQ6IGFueSkgPT4ge1xyXG4gICAgY29uc3QgZGF0YUl0ZW0gPSB0YXJnZXQuZGF0YUl0ZW0/LmRhdGFDb250ZXh0IGFzIGFueTtcclxuICAgIGlmIChkYXRhSXRlbT8uZm9yZWNhc3QgJiYgZGF0YUl0ZW0/LmR5bmFtaWNMaW5lKSB7XHJcbiAgICAgIHJldHVybiBkYXRhSXRlbS5keW5hbWljTGluZS5zdHJva2UgPz8gc3Ryb2tlOyAvLyBBcHBseSBkeW5hbWljIHN0cm9rZSBpZiBmb3JlY2FzdCBpcyB0cnVlXHJcbiAgICB9XHJcbiAgICByZXR1cm4gc3Ryb2tlOyAvLyBEZWZhdWx0IHN0cm9rZVxyXG4gIH0pO1xyXG5cclxuICBzZXJpZXMuc3Ryb2tlcy50ZW1wbGF0ZS5hZGFwdGVycy5hZGQoXCJzdHJva2VXaWR0aFwiLCAoc3Ryb2tlV2lkdGg6IGFueSwgdGFyZ2V0OiBhbnkpID0+IHtcclxuICAgIGNvbnN0IGRhdGFJdGVtID0gdGFyZ2V0LmRhdGFJdGVtPy5kYXRhQ29udGV4dCBhcyBhbnk7XHJcbiAgICBpZiAoZGF0YUl0ZW0/LmZvcmVjYXN0ICYmIGRhdGFJdGVtPy5keW5hbWljTGluZSkge1xyXG4gICAgICByZXR1cm4gZGF0YUl0ZW0uZHluYW1pY0xpbmUuc3Ryb2tlV2lkdGggPz8gc3Ryb2tlV2lkdGg7IC8vIEFwcGx5IGR5bmFtaWMgc3Ryb2tlIHdpZHRoXHJcbiAgICB9XHJcbiAgICByZXR1cm4gc3Ryb2tlV2lkdGg7IC8vIERlZmF1bHQgc3Ryb2tlIHdpZHRoXHJcbiAgfSk7XHJcblxyXG4gIHNlcmllcy5zdHJva2VzLnRlbXBsYXRlLmFkYXB0ZXJzLmFkZChcInN0cm9rZURhc2hhcnJheVwiLCAoc3Ryb2tlRGFzaGFycmF5OiBhbnksIHRhcmdldDogYW55KSA9PiB7XHJcbiAgICBjb25zdCBkYXRhSXRlbSA9IHRhcmdldC5kYXRhSXRlbT8uZGF0YUNvbnRleHQgYXMgYW55O1xyXG4gICAgaWYgKGRhdGFJdGVtPy5mb3JlY2FzdCAmJiBkYXRhSXRlbT8uZHluYW1pY0xpbmUpIHtcclxuICAgICAgLy8gRW5zdXJlIHRoZSBkYXNoIGFycmF5IGlzIGEgdmFsaWQgYXJyYXkgb2YgbnVtYmVycyBmb3IgcHJvcGVyIHJlbmRlcmluZ1xyXG4gICAgICByZXR1cm4gQXJyYXkuaXNBcnJheShkYXRhSXRlbS5keW5hbWljTGluZS5zdHJva2VEYXNoYXJyYXkpXHJcbiAgICAgICAgPyBkYXRhSXRlbS5keW5hbWljTGluZS5zdHJva2VEYXNoYXJyYXkgLy8gVXNlIGlmIGFscmVhZHkgaW4gYXJyYXkgZm9ybWF0XHJcbiAgICAgICAgOiBkYXRhSXRlbS5keW5hbWljTGluZS5zdHJva2VEYXNoYXJyYXlcclxuICAgICAgICA/IGRhdGFJdGVtLmR5bmFtaWNMaW5lLnN0cm9rZURhc2hhcnJheS5zcGxpdCgnLCcpLm1hcChOdW1iZXIpIC8vIENvbnZlcnQgc3RyaW5nIHRvIGFycmF5XHJcbiAgICAgICAgOiBbNSwgNV07IC8vIERlZmF1bHQgZGFzaCBhcnJheVxyXG4gICAgfVxyXG4gICAgcmV0dXJuIHN0cm9rZURhc2hhcnJheTsgLy8gRGVmYXVsdCBzdHJva2UgZGFzaCBhcnJheSBpZiBubyBjdXN0b20gc2V0dGluZ1xyXG4gIH0pO1xyXG5cclxuICBcclxuICAgIC8vIEFkZCBidWxsZXRzIChtYXJrZXJzKSB0byB0aGUgbGluZSBzZXJpZXNcclxuICAgIHNlcmllcy5idWxsZXRzLnB1c2goKCkgPT4ge1xyXG4gICAgICByZXR1cm4gYW01LkJ1bGxldC5uZXcodGhpcy5yb290VHJlbmRzLCB7XHJcbiAgICAgICAgc3ByaXRlOiBhbTUuQ2lyY2xlLm5ldyh0aGlzLnJvb3RUcmVuZHMsIHtcclxuICAgICAgICAgIHN0cm9rZVdpZHRoOiAxLFxyXG4gICAgICAgICAgc3Ryb2tlOiBhbTUuY29sb3IoMHgwMEZGMDApLFxyXG4gICAgICAgICAgcmFkaXVzOiAzLCAvLyBJbmNyZWFzZSByYWRpdXMgZm9yIHZpc2liaWxpdHlcclxuICAgICAgICAgIGZpbGw6IHRoaXMucm9vdFRyZW5kcy5pbnRlcmZhY2VDb2xvcnMuZ2V0KFwiYmFja2dyb3VuZFwiKVxyXG4gICAgICAgIH0pXHJcbiAgICAgIH0pO1xyXG4gICAgfSk7XHJcbiAgXHJcbiAgICAvLyBUcmlnZ2VyIHRoZSBhcHBlYXJhbmNlIG9mIHRoZSBzZXJpZXNcclxuICAgIHNlcmllcy5hcHBlYXIoKTtcclxuICBcclxuICAgIC8vIExvZyB0aGUgc2VyaWVzIGRhdGEgZm9yIGRlYnVnZ2luZ1xyXG4gIH1cclxuICBcclxuICBzaG93OiBib29sZWFuID1mYWxzZTtcclxuICBwcm9kdWN0dHJhaWxEcm9wZG93bihldmVudDogTW91c2VFdmVudCkge1xyXG4gICAgZXZlbnQuc3RvcFByb3BhZ2F0aW9uKCk7XHJcbiAgICB0aGlzLnNob3cgPXRydWU7XHJcbiAgfVxyXG4gIGNoYW5nZVN0YXR1cyh0eXBlOmFueSl7XHJcbnRoaXMudHJlbmR0eXBlVmFsdWUgPSB0eXBlO1xyXG50aGlzLm9iakRhdGEuZmlsdGVyQnkgPXR5cGU7XHJcbnRoaXMuZm9vdGZhbGxUcmVuZCgpO1xyXG50aGlzLnNob3cgPWZhbHNlO1xyXG4gIH1cclxuXHJcblxyXG5cclxuICAvLyB0cmFmZmljIG92ZXJhbGwgY2FyZCBhbmQgY2hhcnRzXHJcblxyXG4gIHByaXZhdGUgcm9vdCE6IGFtNS5Sb290O1xyXG4gIC8vIHByaXZhdGUgY2hhcnQ6IGFtNXh5LlhZQ2hhcnQ7XHJcbiAgcHJpdmF0ZSBzZXJpZXM6IGFtNXh5LkNvbHVtblNlcmllcztcclxuICBwcml2YXRlIHJvb3QyOiBhbTUuUm9vdDtcclxuICBwcml2YXRlIGNoYXJ0MjogYW01eHkuWFlDaGFydDtcclxuICBwcml2YXRlIHNlcmllczI6IGFtNXh5LkNvbHVtblNlcmllcztcclxuICBkZXRhaWxlZFJvb3Q6IGFtNS5Sb290O1xyXG4gIGRldGFpbGVkQ2hhcnQ6IGFtNXh5LlhZQ2hhcnQ7XHJcbiAgZGV0YWlsZWRTZXJpZXM6IGFtNXh5LkNvbHVtblNlcmllcztcclxuICBkYXlqcyA9ZGF5anNcclxuICBoZWF0TWFwUm9vdDogYW01LlJvb3Q7XHJcbiAgaGVhdE1hcENoYXJ0OiBhbTV4eS5YWUNoYXJ0O1xyXG4gIGhlYXRNYXBTZXJpZXM6IGFtNXh5LkNvbHVtblNlcmllcztcclxuICBkd2VsbFJvb3Q6IGFtNS5Sb290O1xyXG4gIGR3ZWxsQ2hhcnQ6IGFtNXh5LlhZQ2hhcnQ7XHJcbiAgZHdlbGxTZXJpZXM6IGFtNXh5LkNvbHVtblNlcmllcztcclxuICBkZW1vR3JhcGhpY3NEYXRhOiBhbnk7XHJcbiAgZGVtb0dyYXBoaWNzcm9vdDogYW55O1xyXG4gIGJ1eWVyc3Jvb3Q6YW55O1xyXG5cclxuICBkYXRhOiBhbnk7XHJcbiAgY3VycmVudERhdGE6IGFueTtcclxuICBjdXJyZW50RGF0YTI6IGFueTtcclxuICBkZXRhaWxlZENoYXJ0czogYm9vbGVhbiA9IGZhbHNlO1xyXG4gIGRhdGU6IGFueTtcclxuICB2YWx1ZTogYW55O1xyXG4gIGZvb3RmYWxsVmFsdWU6IHN0cmluZyA9IFwidHJhZmZpY1wiO1xyXG4gIGRlbW9HcmFwaGljc0NoYXJ0SW5zdGFuY2U6IGFueTtcclxuICBidXllcnNDaGFydEluc3RhbmNlOmFueTtcclxuICBzZWxlY3RlZFRhYjogYW55ID0gXCJ0cmFmZmljXCI7XHJcbiAgZ2V0T3ZlcmFsbENhcmREYXRhOiBhbnkgPSBbXTtcclxuICAvLyBvYmpEYXRhOiBhbnk7XHJcbiAgZ2V0T3ZlcmFsbEhvdXJseURhdGE6IGFueTtcclxuICBnZXRPdmVyYWxsQ2hhcnREYXRhOiBhbnk9W107XHJcbiAgZ2V0U2luZ2xlQ2hhcnREYXRhOiBhbnk7XHJcbiAgYnV5ZXJzRGF0YTogYW55O1xyXG4gIGdldERlbnNpdHlEd2VsbERhdGE6IGFueTtcclxuICB0cmFmZmljRGF0YTphbnk9IFtdO1xyXG4gIGZvb3RmYWxsRGF0ZTogYW55O1xyXG4gIHNlbGN0ZWRWYWx1ZTphbnkgPSdGb290ZmFsbCBBbmFseXNpcyc7XHJcbiAgY2hhcnROb0RhdGE6IGJvb2xlYW4gPWZhbHNlO1xyXG4gIGNoYXJ0bG9hZGluZzogYm9vbGVhbiA9dHJ1ZTtcclxuICB0b3RhbENvdW50OiBhbnk7XHJcbiAgZGVtb0dyYXBoaWNzU2VyaWVzOiBhbnk7XHJcblxyXG4gIGl0ZW1zUGVyUGFnZVRyYWZmaWNDYXJkID0gMTA7XHJcbiAgY3VycmVudFBhZ2VUcmFmZmljQ2FyZCA9IDE7XHJcbiAgdG90YWxJdGVtc1RyYWZmaWNDYXJkID0gMTtcclxuICBwYWdpbmF0aW9uU2l6ZXNUcmFmZmljQ2FyZDogbnVtYmVyW10gPSBbXTtcclxuICBwYWdlU2l6ZVRyYWZmaWNDYXJkOmFueT0yMDtcclxuICBvZmZzZXRUcmFmZmljQ2FyZDogbnVtYmVyID0gMDtcclxuICBsaW1pdFRyYWZmaWNDYXJkOiBudW1iZXIgPSAyMDtcclxuICBkZW1vTm9EYXRhID1mYWxzZTtcclxuICBkZW1vbG9hZGluZyA9ZmFsc2U7XHJcbiAgYnV5ZXJzTm9EYXRhID1mYWxzZTtcclxuICBidXllcnNsb2FkaW5nID1mYWxzZTtcclxuICBkYXRhc2V0c0NhcmQ6YW55ID1bXTtcclxuICBwcm9jZXNzVHlwZU5ldzphbnk7XHJcbiAgc2VsZWN0ZWRUYWJzKHR5cGU6IGFueSkge1xyXG4gICAgdGhpcy5kZXRhaWxlZENoYXJ0cyA9IGZhbHNlO1xyXG4gICAgdGhpcy5zZWxlY3RlZFRhYiA9IHR5cGU7XHJcbiAgICB0aGlzLm9iakRhdGFUcmFmZmljLnByb2Nlc3NUeXBlID0gdHlwZTtcclxuICAgIHRoaXMucHJvY2Vzc1R5cGVOZXcgPSB0eXBlO1xyXG4gICAgdGhpcy5vYmpEYXRhVHJhZmZpYy52YWx1ZVR5cGUgPXRoaXMudmFsdWVUeXBlO1xyXG4gICBcclxuICAgIHRoaXMub2JqRGF0YVRyYWZmaWMuc3RvcmVJZCA9IHRoaXMuaGVhZGVyRGF0YS5zdG9yZXMuZmlsdGVyKChzdG9yZTphbnkpID0+IHN0b3JlLmNoZWNrZWQpLm1hcCgoc3RvcmU6YW55KSA9PiBzdG9yZS5zdG9yZUlkKTtcclxuICAgaWYodGhpcy5zZWxlY3RlZFRhYiA9PT0gJ3RyYWZmaWMnKXtcclxuICAgdGhpcy5nZXREd2VsbCgpOyB0aGlzLnRyYWZmaWNEd2VsbCgpO1xyXG4gICAgdGhpcy5jZC5kZXRlY3RDaGFuZ2VzKCk7XHJcbiAgIH0gZWxzZXtcclxuICAgIGlmKHRoaXMuc2VsZWN0ZWRUYWIgPT09IFwiZm9vdGZhbGxcIil7XHJcbiAgICAgIHRoaXMuZm9vdGZhbGxWYWx1ZSA9IFwiZm9vdGZhbGxcIjtcclxuICAgICAgdGhpcy5zZWxjdGVkVmFsdWUgPSdGb290ZmFsbCBBbmFseXNpcydcclxuICAgIH0gZWxzZSBpZih0aGlzLnNlbGVjdGVkVGFiID09PSBcImNvbnZlcnNpb25cIil7XHJcbiAgICAgIHRoaXMuZm9vdGZhbGxWYWx1ZSA9IFwiY29udmVyc2lvblwiO1xyXG4gICAgICB0aGlzLnNlbGN0ZWRWYWx1ZSA9IHRoaXMuaGVhZGVyRGF0YT8uY2xpZW50ID09PSAnNDUyJyA/IGBNb3JlIHRoYW4gJHt0aGlzLmZlYXR1cmVDb25maWc/LmNvbnZlcnNpb24udmFsdWV9IG1pbnMgQW5hbHlzaXNgIDogJ0NvbnZlcnNpb24gQW5hbHlzaXMnXHJcbiAgICB9IGVsc2UgaWYodGhpcy5zZWxlY3RlZFRhYiA9PT0gXCJlbmdhZ2Vyc1wiKXtcclxuICAgICAgdGhpcy5mb290ZmFsbFZhbHVlID0gXCJlbmdhZ2Vyc1wiO1xyXG4gICAgICB0aGlzLnNlbGN0ZWRWYWx1ZSA9IHRoaXMuaGVhZGVyRGF0YT8uY2xpZW50ID09PSAnNDUyJyA/IGBNb3JlIHRoYW4gJHt0aGlzLmZlYXR1cmVDb25maWc/LmJvdW5jZWRMaW1pdC52YWx1ZX0gbWlucyBBbmFseXNpc2AgOiAnRW5nYWdlcnMgQW5hbHlzaXMnXHJcbiAgICB9IGVsc2UgaWYodGhpcy5zZWxlY3RlZFRhYiA9PT0gXCJib3VuY2VkXCIpe1xyXG4gICAgICB0aGlzLmZvb3RmYWxsVmFsdWUgPSBcImJvdW5jZWRcIjtcclxuICAgICAgdGhpcy5zZWxjdGVkVmFsdWUgPSB0aGlzLmhlYWRlckRhdGE/LmNsaWVudCA9PT0gJzQ1MicgPyBgTGVzcyB0aGFuICR7dGhpcy5mZWF0dXJlQ29uZmlnPy5ib3VuY2VkTGltaXQudmFsdWV9IG1pbnMgQW5hbHlzaXNgIDonQm91bmNlZCBBbmFseXNpcydcclxuICAgIH0gZWxzZSBpZih0aGlzLnNlbGVjdGVkVGFiID09PSBcInBvdGVudGlhbEJ1eWVyc1wiKXtcclxuICAgICAgdGhpcy5mb290ZmFsbFZhbHVlID0gXCJwb3RlbnRpYWxCdXllcnNcIjtcclxuICAgICAgdGhpcy5zZWxjdGVkVmFsdWUgPSdQb3RlbnRpYWwgQnV5ZXIgQW5hbHlzaXMnXHJcbiAgICB9IGVsc2UgaWYodGhpcy5zZWxlY3RlZFRhYiA9PT0gXCJtaXNzZWRPcHBvcnR1bml0eVwiKXtcclxuICAgICAgdGhpcy5mb290ZmFsbFZhbHVlID0gXCJtaXNzZWRPcHBvcnR1bml0eVwiO1xyXG4gICAgICB0aGlzLnNlbGN0ZWRWYWx1ZSA9IHRoaXMuaGVhZGVyRGF0YT8uY2xpZW50ID09PSAnNDUyJyA/IGAke3RoaXMuZmVhdHVyZUNvbmZpZz8ubWlzc2VkT3Bwb3J0dW5pdHlGcm9tLnZhbHVlfS0ke3RoaXMuZmVhdHVyZUNvbmZpZz8ubWlzc2VkT3Bwb3J0dW5pdHlUby52YWx1ZX0gbWlucyBBbmFseXNpc2AgOidNaXNzZWQgT3Bwb3J0dW5pdHkgQW5hbHlzaXMnIFxyXG4gICAgfSBcclxuICAgIGlmKHRoaXMub2JqRGF0YVRyYWZmaWMubm9iID09PSB0cnVlICYmIHRoaXMuc2VsZWN0ZWRUYWIgPT09IFwiY29udmVyc2lvblwiKXtcclxuICAgICAgdGhpcy5zZWxlY3RlZFRhYiA9IFwiY29udmVyc2lvblwiXHJcbiAgICAgICB0aGlzLmZvb3RmYWxsVmFsdWUgPSBcImNvbnZlcnNpb25cIjtcclxuICAgICAgdGhpcy5zZWxjdGVkVmFsdWUgPSdDb252ZXJzaW9uIEFuYWx5c2lzJ1xyXG4gICAgICB0aGlzLmRhdGFzZXRzQ2FyZCA9IFtcclxuICAgICAgICB7IHZhbHVlOiB0aGlzLnNlbGVjdGVkVGFiLCBsYWJlbDogdGhpcy5zZWxjdGVkVmFsdWUgfSxcclxuICAgICAgXTtcclxuICAgICAgdGhpcy5vYmpEYXRhVHJhZmZpYy5saW1pdCA9MjAsXHJcbiAgICAgIHRoaXMub3ZlcmFsbENhcmQoKTtcclxuICAgICAgdGhpcy5vdmVyYWxsQ2hhcnQoKTtcclxuICAgIH0gZWxzZSB7XHJcbiAgICAgIGlmICh0aGlzLmhlYWRlckRhdGE/LmNsaWVudCA9PT0gJzQ1MicpIHtcclxuICAgICAgICB0aGlzLmRhdGFzZXRzQ2FyZCA9IFtcclxuICAgICAgICAgIHsgdmFsdWU6IHRoaXMuc2VsZWN0ZWRUYWIsIGxhYmVsOiB0aGlzLnNlbGN0ZWRWYWx1ZSB9LFxyXG4gICAgICAgICAgeyB2YWx1ZTogXCJkZW1vZ3JhcGhpY1wiLCBsYWJlbDogXCJEZW1vZ3JhcGhpYyBBbmFseXNpc1wiIH1cclxuICAgICAgICBdXHJcbiAgICAgIH0gZWxzZSB7XHJcbiAgICAgICAgdGhpcy5kYXRhc2V0c0NhcmQgPSBbXHJcbiAgICAgICAgICB7IHZhbHVlOiB0aGlzLnNlbGVjdGVkVGFiLCBsYWJlbDogdGhpcy5zZWxjdGVkVmFsdWUgfSxcclxuICAgICAgICAgIHsgdmFsdWU6IFwiZGVtb2dyYXBoaWNcIiwgbGFiZWw6IFwiRGVtb2dyYXBoaWMgQW5hbHlzaXNcIiB9LFxyXG4gICAgICAgICAgeyB2YWx1ZTogXCJidXllclwiLCBsYWJlbDogXCJCdXllciBBbmFseXNpc1wiIH0sXHJcbiAgICAgIF1cclxuICAgIH1cclxuICAgIHRoaXMub2JqRGF0YVRyYWZmaWMubGltaXQgPTIwLFxyXG4gICAgdGhpcy5vdmVyYWxsQ2FyZCgpO1xyXG4gICAgdGhpcy5vdmVyYWxsSG91cmx5Q2hhcnQoKTtcclxuICAgIHRoaXMub3ZlcmFsbENoYXJ0KCk7XHJcbiAgfVxyXG4gIHRoaXMuY2QuZGV0ZWN0Q2hhbmdlcygpO1xyXG4gIH1cclxuICB9XHJcbiAgZ2V0Rm9vdGZhbGxEZW5zaXR5RHdlbGxEYXRhOmFueSA9W107XHJcbiAgdHJhZmZpY0R3ZWxsKCl7XHJcbiAgICB0aGlzLmNoYXJ0Tm9EYXRhID0gZmFsc2U7XHJcbiAgICB0aGlzLmNoYXJ0bG9hZGluZyA9IHRydWU7XHJcbiAgICBkZWxldGUgdGhpcy5vYmpEYXRhVHJhZmZpYy5saW1pdDtcclxuICAgIGRlbGV0ZSB0aGlzLm9iakRhdGFUcmFmZmljLm9mZnNldDtcclxuICAgIGRlbGV0ZSB0aGlzLm9iakRhdGFUcmFmZmljLnByb2Nlc3NUeXBlO1xyXG4gICAgZGVsZXRlIHRoaXMub2JqRGF0YVRyYWZmaWMuaG91ckZvcm1hdDtcclxuICAgIGRlbGV0ZSB0aGlzLm9iakRhdGFUcmFmZmljLm5vcm1hbGl6ZWREYXRhXHJcbiAgICB0aGlzLm9iakRhdGFUcmFmZmljLmRhdGVSYW5nZSA9TnVtYmVyKHRoaXMuZm9vdGZhbGxEYXRlKTtcclxuICAgIHRoaXMuc2VydmljZVxyXG4gICAgICAuZ2V0VHJhZmZpY0RlbnNpdHlEd2VsbCh0aGlzLm9iakRhdGFUcmFmZmljKVxyXG4gICAgICAucGlwZSh0YWtlVW50aWwodGhpcy5kZXN0cm95JCkpXHJcbiAgICAgID8uc3Vic2NyaWJlKHtcclxuICAgICAgICBuZXh0OiAocmVzOiBhbnkpID0+IHtcclxuICAgICAgICAgIGlmIChyZXMgJiYgcmVzLmNvZGUgPT09IDIwMCkge1xyXG4gICAgICAgICAgICB0aGlzLmdldEZvb3RmYWxsRGVuc2l0eUR3ZWxsRGF0YSA9IHJlcz8uZGF0YTtcclxuICAgICAgICAgICAgdGhpcy50cmFmZmljSGVhdENoYXJ0KCk7XHJcbiAgICAgICAgICAgIHRoaXMuY2hhcnROb0RhdGEgPSBmYWxzZTtcclxuICAgICAgICAgICAgdGhpcy5jaGFydGxvYWRpbmcgPSBmYWxzZTtcclxuICAgICAgICAgICAgdGhpcy5jZC5kZXRlY3RDaGFuZ2VzKCk7XHJcbiAgICAgICAgICB9IGVsc2UgaWYoIXJlcyB8fCByZXMuY29kZSA9PT0gMjA0KXtcclxuICAgICAgICAgICAgdGhpcy5jaGFydE5vRGF0YSA9IHRydWU7XHJcbiAgICAgICAgICAgIHRoaXMuY2hhcnRsb2FkaW5nID0gZmFsc2U7XHJcbiAgICAgICAgICAgIHRoaXMuZ2V0Rm9vdGZhbGxEZW5zaXR5RHdlbGxEYXRhID1bXTtcclxuICAgICAgICAgIH1cclxuICAgICAgICB9LFxyXG4gICAgICAgIGVycm9yOiAoZXJyOiBhbnkpID0+IHtcclxuICAgICAgICAgIHRoaXMuY2hhcnROb0RhdGEgPSB0cnVlO1xyXG4gICAgICAgICAgdGhpcy5jaGFydGxvYWRpbmcgPSBmYWxzZTtcclxuICAgICAgICAgIHRoaXMuZ2V0Rm9vdGZhbGxEZW5zaXR5RHdlbGxEYXRhID1bXTtcclxuICAgICAgICAgIHRoaXMuY2QuZGV0ZWN0Q2hhbmdlcygpO1xyXG4gICAgICAgIH0sXHJcbiAgICAgICAgY29tcGxldGU6ICgpID0+IHt9LFxyXG4gICAgICB9KTsgXHJcbiAgfVxyXG4gIGNoYXJ0RHdlbGxOb0RhdGEgPSBmYWxzZTtcclxuICAgICAgY2hhcnREd2VsbGxvYWRpbmcgPSB0cnVlO1xyXG4gICBnZXREd2VsbCgpe1xyXG4gICAgICB0aGlzLmNoYXJ0RHdlbGxOb0RhdGEgPSBmYWxzZTtcclxuICAgICAgdGhpcy5jaGFydER3ZWxsbG9hZGluZyA9IHRydWU7XHJcbiAgICAgIGRlbGV0ZSB0aGlzLm9iakRhdGFUcmFmZmljLmxpbWl0O1xyXG4gICAgICBkZWxldGUgdGhpcy5vYmpEYXRhVHJhZmZpYy5vZmZzZXQ7XHJcbiAgICAgIGRlbGV0ZSB0aGlzLm9iakRhdGFUcmFmZmljLnByb2Nlc3NUeXBlO1xyXG4gICAgICBkZWxldGUgdGhpcy5vYmpEYXRhVHJhZmZpYy5ob3VyRm9ybWF0O1xyXG4gICAgICBkZWxldGUgdGhpcy5vYmpEYXRhVHJhZmZpYy5ub3JtYWxpemVkRGF0YTtcclxuICAgICAgdGhpcy5vYmpEYXRhVHJhZmZpYy5kYXRlUmFuZ2UgPU51bWJlcih0aGlzLmZvb3RmYWxsRGF0ZSk7XHJcbiAgICAgIHRoaXMuc2VydmljZVxyXG4gICAgICAgIC5nZXREZW5zaXR5RHdlbGwodGhpcy5vYmpEYXRhVHJhZmZpYylcclxuICAgICAgICAucGlwZSh0YWtlVW50aWwodGhpcy5kZXN0cm95JCkpXHJcbiAgICAgICAgPy5zdWJzY3JpYmUoe1xyXG4gICAgICAgICAgbmV4dDogKHJlczogYW55KSA9PiB7XHJcbiAgICAgICAgICAgIGlmIChyZXMgJiYgcmVzPy5jb2RlID09PSAyMDApIHtcclxuICAgICAgICAgICAgICB0aGlzLmdldERlbnNpdHlEd2VsbERhdGEgPSByZXM/LmRhdGE7XHJcbiAgICAgICAgICAgICAgaWYodGhpcy5nZXREZW5zaXR5RHdlbGxEYXRhPy5kd2VsbFRpbWVTcGxpdD8ubGVuZ3RoID4wKXtcclxuICAgICAgICAgICAgICAgIHRoaXMuZ2V0RHdlbGxDaGFydCgpO1xyXG4gICAgICAgICAgICAgICAgdGhpcy5jaGFydER3ZWxsTm9EYXRhID0gZmFsc2U7XHJcbiAgICAgICAgICAgICAgICB0aGlzLmNoYXJ0RHdlbGxsb2FkaW5nID0gZmFsc2U7XHJcbiAgICAgICAgICAgICAgICB0aGlzLmNkLmRldGVjdENoYW5nZXMoKTtcclxuICAgICAgICAgICAgICB9IGVsc2Uge1xyXG4gICAgICAgICAgICAgICAgdGhpcy5jaGFydER3ZWxsTm9EYXRhID0gdHJ1ZTtcclxuICAgICAgICAgICAgICB0aGlzLmNoYXJ0RHdlbGxsb2FkaW5nID0gZmFsc2U7XHJcbiAgICAgICAgICAgICAgfVxyXG4gICAgICAgICAgICB9IGVsc2UgaWYoIXJlcyB8fCByZXMuY29kZSA9PT0gMjA0KXtcclxuICAgICAgICAgICAgICB0aGlzLmNoYXJ0RHdlbGxOb0RhdGEgPSB0cnVlO1xyXG4gICAgICAgICAgICAgIHRoaXMuY2hhcnREd2VsbGxvYWRpbmcgPSBmYWxzZTtcclxuICAgICAgICAgICAgICB0aGlzLmdldERlbnNpdHlEd2VsbERhdGEgPVtdO1xyXG4gICAgICAgICAgICB9XHJcbiAgICAgICAgICB9LFxyXG4gICAgICAgICAgZXJyb3I6IChlcnI6IGFueSkgPT4ge1xyXG4gICAgICAgICAgICB0aGlzLmNoYXJ0Tm9EYXRhID0gdHJ1ZTtcclxuICAgICAgICAgICAgdGhpcy5jaGFydGxvYWRpbmcgPSBmYWxzZTtcclxuICAgICAgICAgICAgdGhpcy5jZC5kZXRlY3RDaGFuZ2VzKCk7XHJcbiAgICAgICAgICAgIHRoaXMuZ2V0RGVuc2l0eUR3ZWxsRGF0YSA9W107XHJcbiAgICAgICAgICB9LFxyXG4gICAgICAgICAgY29tcGxldGU6ICgpID0+IHt9LFxyXG4gICAgICAgIH0pO1xyXG4gICAgfVxyXG4gICAgaW5pdENoYXJ0KCk6IHZvaWQge1xyXG4gICAgICB0aGlzLmNoYXJ0Tm9EYXRhID0gZmFsc2U7XHJcbiAgICAgIHRoaXMuY2hhcnRsb2FkaW5nID0gZmFsc2U7XHJcbiAgICAgIHNldFRpbWVvdXQoKCkgPT4ge1xyXG4gICAgICAgIGNvbnN0IGNoYXJ0RGl2ID0gZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoXCJ0ZXN0R3JhcGhpY3NcIik7XHJcbiAgICAgICAgaWYgKCFjaGFydERpdikge1xyXG4gICAgICAgICAgcmV0dXJuO1xyXG4gICAgICAgIH1cclxuICAgICAgICBpZiAodGhpcy5yb290KSB7XHJcbiAgICAgICAgICB0aGlzLnJvb3QuZGlzcG9zZSgpO1xyXG4gICAgICAgIH1cclxuICAgICAgICB0aGlzLnJvb3QgPSBhbTUuUm9vdC5uZXcoXCJ0ZXN0R3JhcGhpY3NcIik7XHJcbiAgXHJcbiAgICAgICAgLy8gU2V0IHRoZW1lc1xyXG4gICAgICAgIC8vIHRoaXMucm9vdC5zZXRUaGVtZXMoW2FtNXRoZW1lc19BbmltYXRlZC5uZXcodGhpcy5yb290KV0pO1xyXG4gICAgICAgIC8vIGNvbnN0IHRvdGFsQ291bnQgPSB0aGlzLnRvdGFsQ291bnQ7XHJcbiAgICAgICAgLy8gY29uc3QgZHluYW1pY1dpZHRoID0gTWF0aC5tYXgoODAwLCB0b3RhbENvdW50ICogNTApOyAvLyBNaW5pbXVtIDgwMHB4IG9yIDUwcHggcGVyIGl0ZW1cclxuICAgICAgICAvLyBjb25zb2xlLmxvZyhkeW5hbWljV2lkdGgsdGhpcy50b3RhbENvdW50KVxyXG4gICAgICAgIC8vIENyZWF0ZSBjaGFydFxyXG4gICAgICAgIHRoaXMuY2hhcnQgPSB0aGlzLnJvb3QuY29udGFpbmVyLmNoaWxkcmVuLnB1c2goXHJcbiAgICAgICAgICBhbTV4eS5YWUNoYXJ0Lm5ldyh0aGlzLnJvb3QsIHtcclxuICAgICAgICAgICAgcGFuWDogdHJ1ZSxcclxuICAgICAgICAgICAgcGFuWTogdHJ1ZSxcclxuICAgICAgICAgICAgd2hlZWxYOiBcInBhblhcIixcclxuICAgICAgICAgICAgd2hlZWxZOiBcInpvb21YXCIsXHJcbiAgICAgICAgICAgIHBpbmNoWm9vbVg6IHRydWUsXHJcbiAgICAgICAgICAgIHBhZGRpbmdMZWZ0OiAwLFxyXG4gICAgICAgICAgICBwYWRkaW5nUmlnaHQ6IDEsXHJcbiAgICAgICAgICAgIHdpZHRoOiBhbTUucGVyY2VudCgxMDApLCAvLyBMZXQgdGhlIGNoYXJ0IHRha2UgZnVsbCB3aWR0aFxyXG4gICAgICAgICAgfSlcclxuICAgICAgICApO1xyXG4gICAgICAgIC8vIHRoaXMuY2hhcnQucGxvdENvbnRhaW5lci5zZXRBbGwoe1xyXG4gICAgICAgIC8vICAgbWluV2lkdGg6IGR5bmFtaWNXaWR0aCwgLy8gU2V0IGR5bmFtaWMgbWluIHdpZHRoIGZvciBzY3JvbGxpbmdcclxuICAgICAgICAvLyB9KTtcclxuICAgICAgICAvLyBBZGQgY3Vyc29yXHJcbiAgICAgICAgbGV0IGN1cnNvciA9IHRoaXMuY2hhcnQuc2V0KFwiY3Vyc29yXCIsIGFtNXh5LlhZQ3Vyc29yLm5ldyh0aGlzLnJvb3QsIHt9KSk7XHJcbiAgICAgICAgY3Vyc29yLmxpbmVZLnNldChcInZpc2libGVcIiwgZmFsc2UpO1xyXG4gIFxyXG4gICAgICAgIC8vIENyZWF0ZSBheGVzXHJcbiAgICAgICAgbGV0IHhSZW5kZXJlciA9IGFtNXh5LkF4aXNSZW5kZXJlclgubmV3KHRoaXMucm9vdCwge1xyXG4gICAgICAgICAgbWluR3JpZERpc3RhbmNlOiAzMCxcclxuICAgICAgICAgIG1pbm9yR3JpZEVuYWJsZWQ6IHRydWUsXHJcbiAgICAgICAgfSk7XHJcbiAgXHJcbiAgICAgICAgeFJlbmRlcmVyLmxhYmVscy50ZW1wbGF0ZS5zZXRBbGwoe1xyXG4gICAgICAgICAgcm90YXRpb246IC00NSxcclxuICAgICAgICAgIGNlbnRlclk6IGFtNS5wNTAsXHJcbiAgICAgICAgICBjZW50ZXJYOiBhbTUucDEwMCxcclxuICAgICAgICAgIHBhZGRpbmdSaWdodDogNSxcclxuICAgICAgICB9KTtcclxuICBcclxuICAgICAgICB4UmVuZGVyZXIuZ3JpZC50ZW1wbGF0ZS5zZXRBbGwoe1xyXG4gICAgICAgICAgbG9jYXRpb246IDEsXHJcbiAgICAgICAgfSk7XHJcbiAgICAgICAgLy8gQWRkIHNjcm9sbGJhclxyXG4gICAgICAgIHRoaXMuY2hhcnQuc2V0KFxyXG4gICAgICAgICAgXCJzY3JvbGxiYXJYXCIsXHJcbiAgICAgICAgICBhbTUuU2Nyb2xsYmFyLm5ldyh0aGlzLnJvb3QsIHtcclxuICAgICAgICAgICAgb3JpZW50YXRpb246IFwiaG9yaXpvbnRhbFwiLFxyXG4gICAgICAgICAgfSlcclxuICAgICAgICApO1xyXG4gICAgICAgIGxldCB4QXhpcyA9IHRoaXMuY2hhcnQueEF4ZXMucHVzaChcclxuICAgICAgICAgIGFtNXh5LkNhdGVnb3J5QXhpcy5uZXcodGhpcy5yb290LCB7XHJcbiAgICAgICAgICAgIG1heERldmlhdGlvbjogMC4zLFxyXG4gICAgICAgICAgICBjYXRlZ29yeUZpZWxkOiBcInN0b3JlTmFtZVwiLFxyXG4gICAgICAgICAgICByZW5kZXJlcjogeFJlbmRlcmVyLFxyXG4gICAgICAgICAgICAvLyB0b29sdGlwOiBhbTUuVG9vbHRpcC5uZXcodGhpcy5yb290LCB7bGFiZWxUZXh0OiBcIntmdWxsU3RvcmVOYW1lfVwifSksXHJcbiAgICAgICAgICB9KVxyXG4gICAgICAgICk7XHJcbiAgXHJcbiAgICAgICAgbGV0IHlSZW5kZXJlciA9IGFtNXh5LkF4aXNSZW5kZXJlclkubmV3KHRoaXMucm9vdCwge1xyXG4gICAgICAgICAgc3Ryb2tlT3BhY2l0eTogMC4xLFxyXG4gICAgICAgIH0pO1xyXG4gIFxyXG4gICAgICAgIGxldCB5QXhpcyA9IHRoaXMuY2hhcnQueUF4ZXMucHVzaChcclxuICAgICAgICAgIGFtNXh5LlZhbHVlQXhpcy5uZXcodGhpcy5yb290LCB7XHJcbiAgICAgICAgICAgIG1heERldmlhdGlvbjogMC4zLFxyXG4gICAgICAgICAgICByZW5kZXJlcjogeVJlbmRlcmVyLFxyXG4gICAgICAgICAgfSlcclxuICAgICAgICApO1xyXG4gICAgICAgIGxldCBkYXRhID0gdGhpcy5nZXRPdmVyYWxsQ2hhcnREYXRhPy5zdG9yZURhdGE/Lm1hcChcclxuICAgICAgICAgIChpdGVtOiBhbnkpID0+ICh7XHJcbiAgICAgICAgICAgIGZ1bGxTdG9yZU5hbWU6IGl0ZW0uc3RvcmVOYW1lLCAvLyBGdWxsIHN0b3JlIG5hbWVcclxuICAgICAgc3RvcmVOYW1lOiAgaXRlbS5zdG9yZU5hbWUsIC8vIGl0ZW0uc3RvcmVOYW1lLmxlbmd0aCA+IDIwID8gaXRlbS5zdG9yZU5hbWUuc2xpY2UoMCwgMjApICsgJy4uLicgOiBTaG9ydGVuZWQgZm9yIHhBeGlzXHJcbiAgICAgIHZhbHVlOiBOdW1iZXIoaXRlbS5jb3VudCksXHJcbiAgICAgIHN0b3JlSWQ6IGl0ZW0uc3RvcmVJZFxyXG4gICAgICAgICAgfSlcclxuICAgICAgICApO1xyXG5cclxuICAgaWYodGhpcy5oZWFkZXJEYXRhLmNsaWVudCA9PT0nNDUyJyl7XHJcbiAgICAgICAgaWYodGhpcy5vYmpEYXRhVHJhZmZpYy5wcm9jZXNzVHlwZSA9PT0gXCJjb252ZXJzaW9uXCIpe1xyXG4gICAgICAgICAgdGhpcy5wcm9jZXNzVHlwZU5ldyA9IHRoaXMuaGVhZGVyRGF0YT8uY2xpZW50ID09PSAnNDUyJyA/IGBNb3JlIHRoYW4gJHt0aGlzLmZlYXR1cmVDb25maWc/LmNvbnZlcnNpb24udmFsdWV9IG1pbnMgYCA6ICdDb252ZXJzaW9uJ1xyXG4gICAgICAgIH0gaWYodGhpcy5vYmpEYXRhVHJhZmZpYy5wcm9jZXNzVHlwZSA9PT0gXCJlbmdhZ2Vyc1wiKXtcclxuICAgICAgIFxyXG4gICAgICAgICAgdGhpcy5wcm9jZXNzVHlwZU5ldyA9IHRoaXMuaGVhZGVyRGF0YT8uY2xpZW50ID09PSAnNDUyJyA/IGBNb3JlIHRoYW4gJHt0aGlzLmZlYXR1cmVDb25maWc/LmJvdW5jZWRMaW1pdC52YWx1ZX0gbWluc2AgOiAnRW5nYWdlcnMnXHJcbiAgICAgICAgfSBpZih0aGlzLm9iakRhdGFUcmFmZmljLnByb2Nlc3NUeXBlID09PSBcImJvdW5jZWRcIil7XHJcbiAgICAgICAgICB0aGlzLmZvb3RmYWxsVmFsdWUgPSBcImJvdW5jZWRcIjtcclxuICAgICAgICAgIHRoaXMucHJvY2Vzc1R5cGVOZXcgPSB0aGlzLmhlYWRlckRhdGE/LmNsaWVudCA9PT0gJzQ1MicgPyBgTGVzcyB0aGFuICR7dGhpcy5mZWF0dXJlQ29uZmlnPy5ib3VuY2VkTGltaXQudmFsdWV9IG1pbnNgIDonQm91bmNlZCdcclxuICAgICAgICB9XHJcbiAgICAgICAgIGlmKHRoaXMub2JqRGF0YVRyYWZmaWMucHJvY2Vzc1R5cGUgPT09IFwibWlzc2VkT3Bwb3J0dW5pdHlcIil7XHJcbiAgICAgICAgICB0aGlzLnByb2Nlc3NUeXBlTmV3ID0gdGhpcy5oZWFkZXJEYXRhPy5jbGllbnQgPT09ICc0NTInID8gYCR7dGhpcy5mZWF0dXJlQ29uZmlnPy5taXNzZWRPcHBvcnR1bml0eUZyb20udmFsdWV9LSR7dGhpcy5mZWF0dXJlQ29uZmlnPy5taXNzZWRPcHBvcnR1bml0eVRvLnZhbHVlfSBtaW5zYCA6J01pc3NlZCBPcHBvcnR1bml0eScgXHJcbiAgICAgICAgfSBcclxuICAgICAgfSBlbHNlIHtcclxuICAgICAgICB0aGlzLnByb2Nlc3NUeXBlTmV3ID0gdGhpcy5vYmpEYXRhVHJhZmZpYy5wcm9jZXNzVHlwZVxyXG4gICAgICB9XHJcbiAgICBcclxuICAgICAgICAvLyBDcmVhdGUgc2VyaWVzXHJcbiAgICAgICAgdGhpcy5zZXJpZXMgPSB0aGlzLmNoYXJ0LnNlcmllcy5wdXNoKFxyXG4gICAgICAgICAgYW01eHkuQ29sdW1uU2VyaWVzLm5ldyh0aGlzLnJvb3QsIHtcclxuICAgICAgICAgICAgbmFtZTogXCJTZXJpZXMgMVwiLFxyXG4gICAgICAgICAgICB4QXhpczogeEF4aXMsXHJcbiAgICAgICAgICAgIHlBeGlzOiB5QXhpcyxcclxuICAgICAgICAgICAgdmFsdWVZRmllbGQ6IFwidmFsdWVcIixcclxuICAgICAgICAgICAgY2F0ZWdvcnlYRmllbGQ6IFwic3RvcmVOYW1lXCIsXHJcbiAgICAgICAgICAgIHRvb2x0aXA6IGFtNS5Ub29sdGlwLm5ldyh0aGlzLnJvb3QsIHtcclxuICAgICAgICAgICAgICBsYWJlbFRleHQ6IGAkeyh0aGlzLnByb2Nlc3NUeXBlTmV3KX0sIHtmdWxsU3RvcmVOYW1lfToge3ZhbHVlWX1gLFxyXG4gICAgICAgICAgICB9KSxcclxuICAgICAgICAgIH0pXHJcbiAgICAgICAgKTtcclxuICAgICAgICB4QXhpcy5kYXRhLnNldEFsbChkYXRhKTtcclxuICAgICAgICB0aGlzLnNlcmllcy5jb2x1bW5zLnRlbXBsYXRlLnNldEFsbCh7IHN0cm9rZU9wYWNpdHk6IDAgfSk7XHJcbiAgICAgICAgdGhpcy5zZXJpZXMuY29sdW1ucy50ZW1wbGF0ZS5ldmVudHMub24oXCJjbGlja1wiLCAoZXY6IGFueSkgPT4ge1xyXG4gICAgICAgICAgY29uc3QgZGF0YUl0ZW0gPSBldi50YXJnZXQuZGF0YUl0ZW0uZGF0YUNvbnRleHQ7XHJcbiAgICAgICAgICB0aGlzLmhhbmRsZUJhckNsaWNrKGRhdGFJdGVtKTtcclxuICAgICAgICB9KTtcclxuICBcclxuICAgICAgICB0aGlzLnNlcmllcy5jb2x1bW5zLnRlbXBsYXRlLnNldEFsbCh7IHN0cm9rZU9wYWNpdHk6IDAgfSk7XHJcbiAgXHJcbiAgICAgICAgdGhpcy5zZXJpZXMuZGF0YS5zZXRBbGwoZGF0YSk7XHJcbiAgICAvLyBTZXQgd2lkdGggZm9yIGNoYXJ0IGNvbnRhaW5lciB0byBlbmFibGUgc2Nyb2xsaW5nXHJcbiAgICAvLyBjb25zdCB0b3RhbENvdW50ID0gdGhpcy50b3RhbENvdW50O1xyXG4gICAgLy8gY29uc3QgaXRlbVdpZHRoID0gNTA7IC8vIFdpZHRoIG9mIGVhY2ggaXRlbSwgYWRqdXN0IGFzIG5lZWRlZFxyXG4gICAgLy8gY29uc3QgbWluV2lkdGggPSB0b3RhbENvdW50ICogaXRlbVdpZHRoOyAvLyBDYWxjdWxhdGUgdG90YWwgd2lkdGhcclxuICAgIC8vIGNoYXJ0RGl2LnN0eWxlLndpZHRoID0gYCR7TWF0aC5tYXgobWluV2lkdGgsIDEwMjQpfXB4YDsgLy8gTWluaW11bSB3aWR0aCBvZiA4MDBweFxyXG4gICAgICAgIC8vIE1ha2Ugc3R1ZmYgYW5pbWF0ZSBvbiBsb2FkXHJcbiAgICAgICAgdGhpcy5zZXJpZXMuYXBwZWFyKDEwMDApO1xyXG4gICAgICAgIHRoaXMuY2hhcnQuYXBwZWFyKDEwMDAsIDEwMCk7XHJcbiAgICAgIH0sIDApO1xyXG4gICAgfVxyXG4gIFxyXG4gICAgY2FwaXRhbGl6ZVRpdGxlKHRleHQ6IHN0cmluZyk6IHN0cmluZyB7XHJcbiAgICAgIHJldHVybiB0ZXh0XHJcbiAgICAgICAgLnRvTG93ZXJDYXNlKCkgLy8gRW5zdXJlIHRoZSBzdHJpbmcgaXMgaW4gbG93ZXJjYXNlIGZpcnN0XHJcbiAgICAgICAgLnNwbGl0KCcgJykgICAgLy8gU3BsaXQgdGhlIHN0cmluZyBpbnRvIHdvcmRzXHJcbiAgICAgICAgLm1hcCh3b3JkID0+IHdvcmQuY2hhckF0KDApLnRvVXBwZXJDYXNlKCkgKyB3b3JkLnNsaWNlKDEpKSAvLyBDYXBpdGFsaXplIHRoZSBmaXJzdCBsZXR0ZXIgb2YgZWFjaCB3b3JkXHJcbiAgICAgICAgLmpvaW4oJyAnKTsgICAgLy8gSm9pbiB0aGUgd29yZHMgYmFjayB0b2dldGhlclxyXG4gICAgfVxyXG4gICAgZ2V0UmFuZ2VDb2xvcihyYXRlOiBudW1iZXIpOiBhbTUuQ29sb3Ige1xyXG4gICAgICBsZXQgY29sb3I6IGFtNS5Db2xvcjtcclxuICAgICAgaWYgKHJhdGUgPj0gMCAmJiByYXRlIDw9IDEwKSB7XHJcbiAgICAgICAgY29sb3IgPSBhbTUuY29sb3IoMHhFQUY4RkYpO1xyXG4gICAgICB9IGVsc2UgaWYgKHJhdGUgPiAxMCAmJiByYXRlIDw9IDIwKSB7XHJcbiAgICAgICAgY29sb3IgPSBhbTUuY29sb3IoMHhDQ0U5RkUpO1xyXG4gICAgICB9IGVsc2UgaWYgKHJhdGUgPiAyMCAmJiByYXRlIDw9IDMwKSB7XHJcbiAgICAgICAgY29sb3IgPSBhbTUuY29sb3IoMHhCMEQ2RkMpO1xyXG4gICAgICB9IGVsc2UgaWYgKHJhdGUgPiAzMCAmJiByYXRlIDw9IDQwKSB7XHJcbiAgICAgICAgY29sb3IgPSBhbTUuY29sb3IoMHg5NEMyRkEpO1xyXG4gICAgICB9IGVsc2UgaWYgKHJhdGUgPiA0MCAmJiByYXRlIDw9IDU1KSB7XHJcbiAgICAgICAgY29sb3IgPSBhbTUuY29sb3IoMHg3OEE5RjgpO1xyXG4gICAgICB9IGVsc2UgaWYgKHJhdGUgPiA1NSAmJiByYXRlIDw9IDc1KSB7XHJcbiAgICAgICAgY29sb3IgPSBhbTUuY29sb3IoMHg5OUQyRkQpOyAgXHJcbiAgICAgIH0gZWxzZSBpZiAocmF0ZSA+IDc1ICYmIHJhdGUgPD0gOTApIHtcclxuICAgICAgICBjb2xvciA9IGFtNS5jb2xvcigweDY2QkNGRCk7ICAgIFxyXG4gICAgICB9ICBlbHNlIGlmIChyYXRlID4gOTAgJiYgcmF0ZSA8PSAxMDApIHtcclxuICAgICAgICBjb2xvciA9IGFtNS5jb2xvcigweDM0NjBGMyk7ICBcclxuICAgICAgfSBlbHNlIHtcclxuICAgICAgICBjb2xvciA9IGFtNS5jb2xvcigweEZGRik7XHJcbiAgICAgIH1cclxuICAgICAgcmV0dXJuIGNvbG9yO1xyXG4gICAgfVxyXG4gICAgaW5pdEhlYXRDaGFydCgpIHtcclxuICAgICAgdGhpcy5jaGFydE5vRGF0YSA9IGZhbHNlO1xyXG4gICAgICB0aGlzLmNoYXJ0bG9hZGluZyA9IGZhbHNlO1xyXG4gICAgICBzZXRUaW1lb3V0KCgpID0+IHtcclxuICAgICAgICBjb25zdCBjaGFydERpdiA9IGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKFwiaGVhdG1hcGNoYXJ0XCIpO1xyXG4gICAgICAgIGlmICghY2hhcnREaXYpIHtcclxuICAgICAgICAgIHJldHVybjtcclxuICAgICAgICB9XHJcbiAgICAgICAgaWYgKHRoaXMucm9vdDIpIHtcclxuICAgICAgICAgIHRoaXMucm9vdDIuZGlzcG9zZSgpO1xyXG4gICAgICAgIH1cclxuICAgICAgICAvLyBDcmVhdGUgcm9vdCBlbGVtZW50XHJcbiAgICAgICAgdGhpcy5yb290MiA9IGFtNS5Sb290Lm5ldyhcImhlYXRtYXBjaGFydFwiKTtcclxuICBcclxuICAgICAgICB0aGlzLnJvb3QyLmNvbnRhaW5lci5zZXRBbGwoe1xyXG4gICAgICAgICAgd2lkdGg6IGFtNS5wZXJjZW50KDEwMCksXHJcbiAgICAgICAgfSk7XHJcbiAgXHJcbiAgICAgICAgLy8gU2V0IHRoZW1lc1xyXG4gICAgICAgIHRoaXMucm9vdDIuc2V0VGhlbWVzKFtcclxuICAgICAgICAgIGFtNXRoZW1lc19BbmltYXRlZC5uZXcodGhpcy5yb290MiksXHJcbiAgICAgICAgICBhbTV0aGVtZXNfUmVzcG9uc2l2ZS5uZXcodGhpcy5yb290MiksXHJcbiAgICAgICAgXSk7XHJcbiAgXHJcbiAgICAgICAgLy8gQ3JlYXRlIGNoYXJ0XHJcbiAgICAgICAgdGhpcy5jaGFydDIgPSB0aGlzLnJvb3QyLmNvbnRhaW5lci5jaGlsZHJlbi5wdXNoKFxyXG4gICAgICAgICAgYW01eHkuWFlDaGFydC5uZXcodGhpcy5yb290Miwge1xyXG4gICAgICAgICAgICBwYW5YOiBmYWxzZSxcclxuICAgICAgICAgICAgcGFuWTogZmFsc2UsXHJcbiAgICAgICAgICAgIHdoZWVsWDogXCJub25lXCIsXHJcbiAgICAgICAgICAgIHdoZWVsWTogXCJub25lXCIsXHJcbiAgICAgICAgICAgIHBhZGRpbmdMZWZ0OiAwLFxyXG4gICAgICAgICAgICBsYXlvdXQ6IHRoaXMucm9vdDIudmVydGljYWxMYXlvdXQsXHJcbiAgICAgICAgICB9KVxyXG4gICAgICAgICk7XHJcbiAgXHJcbiAgICAgICAgLy8gQ3JlYXRlIGF4ZXMgYW5kIHRoZWlyIHJlbmRlcmVyc1xyXG4gICAgICAgIGNvbnN0IHlSZW5kZXJlciA9IGFtNXh5LkF4aXNSZW5kZXJlclkubmV3KHRoaXMucm9vdDIsIHtcclxuICAgICAgICAgIG1pbkdyaWREaXN0YW5jZTogMjAsXHJcbiAgICAgICAgICBpbnZlcnNlZDogdHJ1ZSxcclxuICAgICAgICAgIG9wcG9zaXRlOiB0cnVlLFxyXG4gICAgICAgICAgbWlub3JHcmlkRW5hYmxlZDogdHJ1ZSxcclxuICAgICAgICB9KTtcclxuICBcclxuICAgICAgICB5UmVuZGVyZXIuZ3JpZC50ZW1wbGF0ZS5zZXQoXCJ2aXNpYmxlXCIsIGZhbHNlKTtcclxuICBcclxuICAgICAgICBjb25zdCB5QXhpcyA9IHRoaXMuY2hhcnQyLnlBeGVzLnB1c2goXHJcbiAgICAgICAgICBhbTV4eS5DYXRlZ29yeUF4aXMubmV3KHRoaXMucm9vdDIsIHtcclxuICAgICAgICAgICAgcmVuZGVyZXI6IHlSZW5kZXJlcixcclxuICAgICAgICAgICAgY2F0ZWdvcnlGaWVsZDogXCJ0aW1lXCIsXHJcbiAgICAgICAgICB9KVxyXG4gICAgICAgICk7XHJcbiAgXHJcbiAgICAgICAgY29uc3QgeFJlbmRlcmVyID0gYW01eHkuQXhpc1JlbmRlcmVyWC5uZXcodGhpcy5yb290Miwge1xyXG4gICAgICAgICAgbWluR3JpZERpc3RhbmNlOiAzMCxcclxuICAgICAgICAgIG9wcG9zaXRlOiB0cnVlLFxyXG4gICAgICAgICAgbWlub3JHcmlkRW5hYmxlZDogdHJ1ZSxcclxuICAgICAgICB9KTtcclxuICBcclxuICAgICAgICB4UmVuZGVyZXIuZ3JpZC50ZW1wbGF0ZS5zZXQoXCJ2aXNpYmxlXCIsIGZhbHNlKTtcclxuICBcclxuICAgICAgICBjb25zdCB4QXhpcyA9IHRoaXMuY2hhcnQyLnhBeGVzLnB1c2goXHJcbiAgICAgICAgICBhbTV4eS5DYXRlZ29yeUF4aXMubmV3KHRoaXMucm9vdDIsIHtcclxuICAgICAgICAgICAgcmVuZGVyZXI6IHhSZW5kZXJlcixcclxuICAgICAgICAgICAgY2F0ZWdvcnlGaWVsZDogXCJ3ZWVrZGF5XCIsXHJcbiAgICAgICAgICB9KVxyXG4gICAgICAgICk7XHJcbiAgXHJcbiAgICAgICAgLy8gQ3JlYXRlIHNlcmllc1xyXG4gICAgICAgIHRoaXMuc2VyaWVzMiA9IHRoaXMuY2hhcnQyLnNlcmllcy5wdXNoKFxyXG4gICAgICAgICAgYW01eHkuQ29sdW1uU2VyaWVzLm5ldyh0aGlzLnJvb3QyLCB7XHJcbiAgICAgICAgICAgIGNhbGN1bGF0ZUFnZ3JlZ2F0ZXM6IHRydWUsXHJcbiAgICAgICAgICAgIHN0cm9rZTogYW01LmNvbG9yKDB4ZmZmZmZmKSxcclxuICAgICAgICAgICAgY2x1c3RlcmVkOiBmYWxzZSxcclxuICAgICAgICAgICAgeEF4aXM6IHhBeGlzLFxyXG4gICAgICAgICAgICB5QXhpczogeUF4aXMsXHJcbiAgICAgICAgICAgIGNhdGVnb3J5WEZpZWxkOiBcIndlZWtkYXlcIixcclxuICAgICAgICAgICAgY2F0ZWdvcnlZRmllbGQ6IFwidGltZVwiLFxyXG4gICAgICAgICAgICB2YWx1ZUZpZWxkOiBcInJhdGVcIixcclxuICAgICAgICAgIH0pXHJcbiAgICAgICAgKTtcclxuICAgICAgICB0aGlzLnNlcmllczIuY29sdW1ucy50ZW1wbGF0ZS5zZXRBbGwoe1xyXG4gICAgICAgICAgdG9vbHRpcFRleHQ6IFwie3JhdGV9JVwiLFxyXG4gICAgICAgICAgc3Ryb2tlT3BhY2l0eTogMSxcclxuICAgICAgICAgIHN0cm9rZVdpZHRoOiAyLFxyXG4gICAgICAgICAgd2lkdGg6IGFtNS5wZXJjZW50KDEwMCksXHJcbiAgICAgICAgICBoZWlnaHQ6IGFtNS5wZXJjZW50KDEwMCksXHJcbiAgICAgICAgICBmaWxsOiBhbTUuY29sb3IoMHhmZmZmZmYpLCAvLyBEZWZhdWx0IGNvbG9yIGZvciBjb2x1bW5zXHJcbiAgICAgICAgfSk7XHJcbiAgICAgICAgXHJcbiAgICAgICAgLy8gQXBwbHkgcmFuZ2UtYmFzZWQgY29sb3IgcnVsZXMgZm9yIGVhY2ggZGF0YSBpdGVtXHJcbiAgICAgICAgdGhpcy5zZXJpZXMyLmNvbHVtbnMudGVtcGxhdGUuYWRhcHRlcnMuYWRkKFwiZmlsbFwiLCAoZmlsbCwgdGFyZ2V0KSA9PiB7XHJcbiAgICAgICAgICBjb25zdCBkYXRhSXRlbSA9IHRhcmdldC5kYXRhSXRlbT8uZGF0YUNvbnRleHQgYXMgQ2hhcnREYXRhSXRlbTsgLy8gQ2FzdCBkYXRhQ29udGV4dCB0byBDaGFydERhdGFJdGVtXHJcbiAgICAgICAgICBpZiAoZGF0YUl0ZW0gJiYgZGF0YUl0ZW0ucmF0ZSAhPT0gdW5kZWZpbmVkKSB7XHJcbiAgICAgICAgICAgIHJldHVybiB0aGlzLmdldFJhbmdlQ29sb3IoZGF0YUl0ZW0ucmF0ZSk7IC8vIEdldCBjb2xvciBiYXNlZCBvbiByYXRlXHJcbiAgICAgICAgICB9XHJcbiAgICAgICAgICByZXR1cm4gZmlsbDtcclxuICAgICAgICB9KTtcclxuICBcclxuICAgICAgICB0aGlzLnNlcmllczIuYnVsbGV0cy5wdXNoKCgpID0+IHtcclxuICAgICAgICAgIHJldHVybiBhbTUuQnVsbGV0Lm5ldyh0aGlzLnJvb3QyLCB7XHJcbiAgICAgICAgICAgIHNwcml0ZTogYW01LkxhYmVsLm5ldyh0aGlzLnJvb3QyLCB7XHJcbiAgICAgICAgICAgICAgdGV4dDogXCJ7cmF0ZS5mb3JtYXROdW1iZXIoJyMuIycpfSVcIixcclxuICAgICAgICAgICAgICBmaWxsOiBhbTUuY29sb3IoMHgwMDAwMDApLFxyXG4gICAgICAgICAgICAgIGNlbnRlclk6IGFtNS5wNTAsXHJcbiAgICAgICAgICAgICAgY2VudGVyWDogYW01LnA1MCxcclxuICAgICAgICAgICAgICBwb3B1bGF0ZVRleHQ6IHRydWUsXHJcbiAgICAgICAgICAgICAgZm9udFNpemU6IDEyLCAvLyBSZWR1Y2UgZm9udCBzaXplXHJcbiAgICAgICAgICAgIH0pLFxyXG4gICAgICAgICAgfSk7XHJcbiAgICAgICAgfSk7XHJcbiAgXHJcbiAgICAgICAgLy8gU2V0IGRhdGFcclxuICAgICAgICBjb25zdCBkYXRhID0gdGhpcy5nZXRPdmVyYWxsSG91cmx5RGF0YT8ubWFwKChpdGVtOiBhbnkpID0+ICh7XHJcbiAgICAgICAgICAuLi5pdGVtLFxyXG4gICAgICAgICAgd2Vla2RheTogXCJIb3VybHkgRGF0YVwiLFxyXG4gICAgICAgIH0pKTtcclxuICAgICAgICB0aGlzLnNlcmllczIuZGF0YS5zZXRBbGwoZGF0YSk7XHJcbiAgXHJcbiAgICAgICAgLy8gQXV0by1wb3B1bGF0ZSBYIGFuZCBZIGF4aXMgY2F0ZWdvcnkgZGF0YVxyXG4gICAgICAgIGNvbnN0IHRpbWVzOiBzdHJpbmdbXSA9IFtdO1xyXG4gICAgICAgIGFtNS5hcnJheS5lYWNoKGRhdGEsIGZ1bmN0aW9uIChyb3c6IGFueSkge1xyXG4gICAgICAgICAgaWYgKHRpbWVzLmluZGV4T2Yocm93LnRpbWUpID09PSAtMSkge1xyXG4gICAgICAgICAgICB0aW1lcy5wdXNoKHJvdy50aW1lKTtcclxuICAgICAgICAgIH1cclxuICAgICAgICB9KTtcclxuICBcclxuICAgICAgICB4QXhpcy5kYXRhLnNldEFsbChbeyB3ZWVrZGF5OiBcIkhvdXJseSBEYXRhXCIgfV0pOyAvLyBTZXQgc2luZ2xlIGNhdGVnb3J5IGZvciB4LWF4aXNcclxuICAgICAgICB5QXhpcy5kYXRhLnNldEFsbChcclxuICAgICAgICAgIHRpbWVzLm1hcChmdW5jdGlvbiAoaXRlbSkge1xyXG4gICAgICAgICAgICByZXR1cm4geyB0aW1lOiBpdGVtIH07XHJcbiAgICAgICAgICB9KVxyXG4gICAgICAgICk7XHJcbiAgXHJcbiAgICAgICAgdGhpcy5jaGFydDIuYXBwZWFyKDEwMDAsIDEwMCk7XHJcbiAgICAgIH0sIDApO1xyXG4gICAgfVxyXG4gIFxyXG4gICAgb25EYXRhc2V0Q2hhbmdlKGV2ZW50OiBhbnkpOiB2b2lkIHtcclxuICAgICAgdGhpcy5kZXRhaWxlZENoYXJ0cyA9IGZhbHNlO1xyXG4gICAgICAvLyBjb25zdCB0YXJnZXQgPSBldmVudC50YXJnZXQgYXMgSFRNTFNlbGVjdEVsZW1lbnQ7XHJcbiAgICAgIHRoaXMuZm9vdGZhbGxWYWx1ZSA9IGV2ZW50O1xyXG4gICAgICBpZiAodGhpcy5mb290ZmFsbFZhbHVlID09PSBcImZvb3RmYWxsXCIgfHwgIHRoaXMuZm9vdGZhbGxWYWx1ZSA9PT0gXCJjb252ZXJzaW9uXCJcclxuICAgICAgICB8fCAgdGhpcy5mb290ZmFsbFZhbHVlID09PSBcImVuZ2FnZXJzXCIgfHwgIHRoaXMuZm9vdGZhbGxWYWx1ZSA9PT0gXCJib3VuY2VkXCJcclxuICAgICAgICB8fCAgdGhpcy5mb290ZmFsbFZhbHVlID09PSBcInBvdGVudGlhbEJ1eWVyXCIgfHwgIHRoaXMuZm9vdGZhbGxWYWx1ZSA9PT0gXCJtaXNzZWRPcHBvcnR1bml0eVwiKSB7XHJcbiAgICAgICAgaWYgKHRoaXMucm9vdCkge1xyXG4gICAgICAgICAgdGhpcy5yb290LmRpc3Bvc2UoKTtcclxuICAgICAgICB9XHJcbiAgICAgICAgdGhpcy5vdmVyYWxsSG91cmx5Q2hhcnQoKTtcclxuICAgICAgICB0aGlzLm92ZXJhbGxDaGFydCgpO1xyXG4gICAgICB9IGVsc2UgaWYgKHRoaXMuZm9vdGZhbGxWYWx1ZSA9PT0gXCJkZW1vZ3JhcGhpY1wiKSB7XHJcbiAgICAgICAgLy8gRGlzcG9zZSBvZiBhbnkgcHJldmlvdXMgY2hhcnRzIHRvIGF2b2lkIGR1cGxpY2F0ZXNcclxuICAgICAgICBpZiAodGhpcy5kZW1vR3JhcGhpY3Nyb290KSB7XHJcbiAgICAgICAgICB0aGlzLmRlbW9HcmFwaGljc3Jvb3QuZGlzcG9zZSgpO1xyXG4gICAgICAgIH1cclxuICAgICAgICB0aGlzLmdldERlbW9HcmFwaGljcygpO1xyXG4gICAgICB9IFxyXG4gICAgICBlbHNlIGlmICh0aGlzLmZvb3RmYWxsVmFsdWUgPT09IFwiYnV5ZXJcIikge1xyXG4gICAgICAgIC8vIERpc3Bvc2Ugb2YgYW55IHByZXZpb3VzIGNoYXJ0cyB0byBhdm9pZCBkdXBsaWNhdGVzXHJcbiAgICAgICAgaWYgKHRoaXMuYnV5ZXJzcm9vdCkge1xyXG4gICAgICAgICAgdGhpcy5idXllcnNyb290LmRpc3Bvc2UoKTtcclxuICAgICAgICB9XHJcbiAgICAgICAgdGhpcy5nZXRCdXllcnMoKTtcclxuICAgICAgfSBcclxuICAgICAgdGhpcy5jZC5kZXRlY3RDaGFuZ2VzKCk7XHJcbiAgICB9XHJcbiAgXHJcbiAgIGJhY2tUb0Zvb3RmYWxsKCkge1xyXG4gICAgdGhpcy5vYmpEYXRhVHJhZmZpYy5saW1pdCA9MjAsXHJcbiAgICAgdGhpcy5vYmpEYXRhVHJhZmZpYy5zdG9yZUlkID0gdGhpcy5oZWFkZXJEYXRhLnN0b3Jlcy5maWx0ZXIoKHN0b3JlOmFueSkgPT4gc3RvcmUuY2hlY2tlZCkubWFwKChzdG9yZTphbnkpID0+IHN0b3JlLnN0b3JlSWQpLFxyXG4gICAgIHRoaXMuZGV0YWlsZWRDaGFydHMgPSBmYWxzZTtcclxuICAgICB0aGlzLm92ZXJhbGxIb3VybHlDaGFydCgpO1xyXG4gICAgIHRoaXMub3ZlcmFsbENoYXJ0KCk7XHJcbiAgIH1cclxuIFxyXG4gICBnZXREZW1vR3JhcGhpY3MoKXtcclxuICAgICBkZWxldGUgdGhpcy5vYmpEYXRhVHJhZmZpYy5saW1pdDtcclxuICAgICBkZWxldGUgdGhpcy5vYmpEYXRhVHJhZmZpYy5vZmZzZXQ7XHJcbiAgICAgdGhpcy5kZW1vTm9EYXRhID1mYWxzZTtcclxuICAgICB0aGlzLmRlbW9sb2FkaW5nID0gdHJ1ZTtcclxuICAgICB0aGlzLnNlcnZpY2VcclxuICAgICAuZ2V0RGVtb0dyYXBoaWNzQ2hhcnQodGhpcy5vYmpEYXRhVHJhZmZpYylcclxuICAgICAucGlwZSh0YWtlVW50aWwodGhpcy5kZXN0cm95JCkpXHJcbiAgICAgPy5zdWJzY3JpYmUoe1xyXG4gICAgICAgbmV4dDogKHJlczogYW55KSA9PiB7XHJcbiAgICAgICAgIGlmIChyZXMgJiYgcmVzLmNvZGUgPT09IDIwMCkge1xyXG4gICAgICAgICAgIHRoaXMuZGVtb0dyYXBoaWNzRGF0YSA9IHJlcz8uZGF0YS5kZW1vZ3JhcGhpY0RhdGE7XHJcbiAgICAgICAgICAgXHJcbiAgICAgICAgICAgdGhpcy5kZW1vR3JhcGhpY3NDaGFydCgpO1xyXG4gICAgICAgICAgIHRoaXMuY2QuZGV0ZWN0Q2hhbmdlcygpOyBcclxuICAgICAgICAgICAvLyBDYWxsIHdpdGggYSBkZWxheSB0byBlbnN1cmUgdGhlIGVsZW1lbnQgaXMgaW4gdGhlIERPTVxyXG4gICAgICAgICAgICB0aGlzLmRlbW9Ob0RhdGEgPWZhbHNlO1xyXG4gICAgICAgICAgICB0aGlzLmRlbW9sb2FkaW5nID0gZmFsc2U7XHJcbiAgICAgICAgIH0gZWxzZSB7XHJcbiAgICAgICAgICAgdGhpcy5kZW1vTm9EYXRhID10cnVlO1xyXG4gICAgICAgICAgIHRoaXMuZGVtb2xvYWRpbmcgPSBmYWxzZTtcclxuICAgICAgICAgfVxyXG4gICAgICAgfSxcclxuICAgICAgIGVycm9yOiAoZXJyOiBhbnkpID0+IHtcclxuICAgICAgICAgdGhpcy5jZC5kZXRlY3RDaGFuZ2VzKCk7XHJcbiAgICAgICB9LFxyXG4gICAgICAgY29tcGxldGU6ICgpID0+IHt9LFxyXG4gICAgIH0pO1xyXG4gICAgIFxyXG4gICB9XHJcbiAgIGRlbW9HcmFwaGljc0NoYXJ0KCk6IHZvaWQge1xyXG4gICAgIHRoaXMuY2hhcnROb0RhdGEgPSBmYWxzZTtcclxuICAgICB0aGlzLmNoYXJ0bG9hZGluZyA9IGZhbHNlO1xyXG4gICAgIHRoaXMuZGVtb05vRGF0YSA9ZmFsc2U7XHJcbiAgICAgdGhpcy5kZW1vbG9hZGluZyA9IGZhbHNlO1xyXG4gICAgIHNldFRpbWVvdXQoKCkgPT4ge1xyXG4gICAgICAgY29uc3QgZGVtb0dyYXBoaWNzRGl2ID0gZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoXCJkZW1vR3JhcGhpY3NcIik7XHJcbiAgICAgICBpZiAoIWRlbW9HcmFwaGljc0Rpdikge1xyXG4gICAgICAgICByZXR1cm47XHJcbiAgICAgICB9XHJcbiAgICAgICAvLyBEaXNwb3NlIG9mIHByZXZpb3VzIGNoYXJ0IGlmIGl0IGV4aXN0c1xyXG4gICAgICAgaWYgKHRoaXMuZGVtb0dyYXBoaWNzcm9vdCkge1xyXG4gICAgICAgICB0aGlzLmRlbW9HcmFwaGljc3Jvb3QuZGlzcG9zZSgpO1xyXG4gICAgICAgfVxyXG4gXHJcbiAgICAgICAvLyBDcmVhdGUgYSBuZXcgY2hhcnRcclxuICAgICAgIHRoaXMuZGVtb0dyYXBoaWNzcm9vdCA9IGFtNS5Sb290Lm5ldyhkZW1vR3JhcGhpY3NEaXYpO1xyXG4gICAgICAgdGhpcy5kZW1vR3JhcGhpY3Nyb290LnNldFRoZW1lcyhbXHJcbiAgICAgICAgIGFtNXRoZW1lc19BbmltYXRlZC5uZXcodGhpcy5kZW1vR3JhcGhpY3Nyb290KSxcclxuICAgICAgIF0pO1xyXG4gXHJcbiAgICAgICB0aGlzLmRlbW9HcmFwaGljc0NoYXJ0SW5zdGFuY2UgPVxyXG4gICAgICAgICB0aGlzLmRlbW9HcmFwaGljc3Jvb3QuY29udGFpbmVyLmNoaWxkcmVuLnB1c2goXHJcbiAgICAgICAgICAgYW01eHkuWFlDaGFydC5uZXcodGhpcy5kZW1vR3JhcGhpY3Nyb290LCB7XHJcbiAgICAgICAgICAgICBwYW5YOiBmYWxzZSxcclxuICAgICAgICAgICAgIHBhblk6IGZhbHNlLFxyXG4gICAgICAgICAgICAgcGFkZGluZ0xlZnQ6IDAsXHJcbiAgICAgICAgICAgICB3aGVlbFg6IFwicGFuWFwiLFxyXG4gICAgICAgICAgICAgd2hlZWxZOiBcInpvb21YXCIsXHJcbiAgICAgICAgICAgICBsYXlvdXQ6IHRoaXMuZGVtb0dyYXBoaWNzcm9vdC52ZXJ0aWNhbExheW91dCxcclxuICAgICAgICAgICB9KVxyXG4gICAgICAgICApO1xyXG4gXHJcbiAgICAgICBsZXQgeFJlbmRlcmVyID0gYW01eHkuQXhpc1JlbmRlcmVyWC5uZXcodGhpcy5kZW1vR3JhcGhpY3Nyb290LCB7XHJcbiAgICAgICAgIGNlbGxTdGFydExvY2F0aW9uOiAwLjEsXHJcbiAgICAgICAgIGNlbGxFbmRMb2NhdGlvbjogMC45LFxyXG4gICAgICAgICBtaW5vckdyaWRFbmFibGVkOiB0cnVlLFxyXG4gICAgICAgfSk7XHJcbiBcclxuICAgICAgIGxldCB4QXhpcyA9IHRoaXMuZGVtb0dyYXBoaWNzQ2hhcnRJbnN0YW5jZS54QXhlcy5wdXNoKFxyXG4gICAgICAgICBhbTV4eS5DYXRlZ29yeUF4aXMubmV3KHRoaXMuZGVtb0dyYXBoaWNzcm9vdCwge1xyXG4gICAgICAgICAgIGNhdGVnb3J5RmllbGQ6IFwiYWdlXCIsXHJcbiAgICAgICAgICAgcmVuZGVyZXI6IHhSZW5kZXJlcixcclxuICAgICAgICAgICB0b29sdGlwOiBhbTUuVG9vbHRpcC5uZXcodGhpcy5kZW1vR3JhcGhpY3Nyb290LCB7fSksXHJcbiAgICAgICAgIH0pXHJcbiAgICAgICApO1xyXG4gICAgICAgdGhpcy5kZW1vR3JhcGhpY3NEYXRhID0gdGhpcy5kZW1vR3JhcGhpY3NEYXRhPy5tYXAoXHJcbiAgICAgICAgIChpdGVtOiBhbnkpID0+ICh7XHJcbiAgICAgICAgICAgYWdlOiBpdGVtLmFnZSxcclxuICAgICAgICAgICBjb3VudDogTnVtYmVyKGl0ZW0uY291bnQpLFxyXG4gICAgICAgICAgIG1hbGVDb3VudDogTnVtYmVyKGl0ZW0ubWFsZUNvdW50KSxcclxuICAgICAgICAgICBmZW1hbGVDb3VudDogTnVtYmVyKGl0ZW0uZmVtYWxlQ291bnQpLFxyXG4gICAgICAgICB9KVxyXG4gICAgICAgKTtcclxuICAgICAgIHhSZW5kZXJlci5ncmlkLnRlbXBsYXRlLnNldEFsbCh7IGxvY2F0aW9uOiAxIH0pO1xyXG4gICAgICAgeEF4aXMuZGF0YS5zZXRBbGwodGhpcy5kZW1vR3JhcGhpY3NEYXRhKTtcclxuIFxyXG4gICAgICAgbGV0IHlBeGlzID0gdGhpcy5kZW1vR3JhcGhpY3NDaGFydEluc3RhbmNlLnlBeGVzLnB1c2goXHJcbiAgICAgICAgIGFtNXh5LlZhbHVlQXhpcy5uZXcodGhpcy5kZW1vR3JhcGhpY3Nyb290LCB7XHJcbiAgICAgICAgICAgcmVuZGVyZXI6IGFtNXh5LkF4aXNSZW5kZXJlclkubmV3KHRoaXMuZGVtb0dyYXBoaWNzcm9vdCwge1xyXG4gICAgICAgICAgICAgc3Ryb2tlT3BhY2l0eTogMC4xLFxyXG4gICAgICAgICAgIH0pLFxyXG4gICAgICAgICB9KVxyXG4gICAgICAgKTtcclxuICAgICAgLy8gQWRkIGxlZ2VuZFxyXG4gICAgIGxldCBsZWdlbmQgPSB0aGlzLmRlbW9HcmFwaGljc0NoYXJ0SW5zdGFuY2UuY2hpbGRyZW4ucHVzaChcclxuICAgICAgIGFtNS5MZWdlbmQubmV3KHRoaXMuZGVtb0dyYXBoaWNzcm9vdCwge1xyXG4gICAgICAgICB4OiBhbTUucDEwMCwgICAgLy8gQWxpZ24gdG8gMTAwJSB3aWR0aCAocmlnaHQgc2lkZSlcclxuICAgICAgICAgeTogYW01LnAwLCAgICAgIC8vIEFsaWduIHRvIHRoZSB0b3BcclxuICAgICAgICAgY2VudGVyWDogYW01LnAxMDAsICAvLyBBbGlnbiB0aGUgY2VudGVyIG9mIHRoZSBsZWdlbmQgdG8gaXRzIHJpZ2h0XHJcbiAgICAgICAgIGNlbnRlclk6IGFtNS5wMCwgICAgLy8gQWxpZ24gdGhlIHRvcCBvZiB0aGUgbGVnZW5kIHRvIHRoZSB0b3Agb2YgdGhlIGNoYXJ0XHJcbiAgICAgICB9KVxyXG4gICAgICk7XHJcbiBcclxuICAgICAvLyBDcmVhdGUgdGhlIHNlcmllcyBhbmQgYWRkIGVhY2ggdG8gdGhlIGxlZ2VuZFxyXG4gICAgIGNvbnN0IG1hbGVTZXJpZXMgPSB0aGlzLm1ha2VTZXJpZXMoXCJNYWxlXCIsIFwibWFsZUNvdW50XCIsIHhBeGlzLCB5QXhpcyk7XHJcbiAgICAgY29uc3QgZmVtYWxlU2VyaWVzID0gdGhpcy5tYWtlU2VyaWVzKFwiRmVtYWxlXCIsIFwiZmVtYWxlQ291bnRcIiwgeEF4aXMsIHlBeGlzKTtcclxuIFxyXG4gICAgIGxlZ2VuZC5kYXRhLnNldEFsbChbbWFsZVNlcmllcywgZmVtYWxlU2VyaWVzXSk7XHJcbiAgICAgICB0aGlzLmRlbW9HcmFwaGljc0NoYXJ0SW5zdGFuY2UuYXBwZWFyKDEwMDAsIDEwMCk7XHJcbiBcclxuICAgICB9LFxyXG4gICAgICAgICAgICAwKTtcclxuIFxyXG4gICB9XHJcbiAgIG1ha2VTZXJpZXMoXHJcbiAgICAgbmFtZTogYW55LFxyXG4gICAgIGZpZWxkTmFtZTogYW55LFxyXG4gICAgIHhBeGlzOiBhbTV4eS5DYXRlZ29yeUF4aXM8YW01eHkuQXhpc1JlbmRlcmVyPixcclxuICAgICB5QXhpczogYW01eHkuVmFsdWVBeGlzPGFtNXh5LkF4aXNSZW5kZXJlcj5cclxuICAgKSB7XHJcbiAgICAgbGV0IHNlcmllcyA9IHRoaXMuZGVtb0dyYXBoaWNzQ2hhcnRJbnN0YW5jZS5zZXJpZXMucHVzaChcclxuICAgICAgIGFtNXh5LkNvbHVtblNlcmllcy5uZXcodGhpcy5kZW1vR3JhcGhpY3Nyb290LCB7XHJcbiAgICAgICAgIG5hbWU6IG5hbWUsXHJcbiAgICAgICAgIHhBeGlzOiB4QXhpcyxcclxuICAgICAgICAgeUF4aXM6IHlBeGlzLFxyXG4gICAgICAgICB2YWx1ZVlGaWVsZDogZmllbGROYW1lLFxyXG4gICAgICAgICBjYXRlZ29yeVhGaWVsZDogXCJhZ2VcIixcclxuICAgICAgIH0pXHJcbiAgICAgKTtcclxuICAgXHJcbiAgICAgc2VyaWVzLmNvbHVtbnMudGVtcGxhdGUuc2V0QWxsKHtcclxuICAgICAgIHRvb2x0aXBUZXh0OiBcIntuYW1lfSwge2NhdGVnb3J5WH06IHt2YWx1ZVl9XCIsXHJcbiAgICAgICB3aWR0aDogYW01LnBlcmNlbnQoOTApLFxyXG4gICAgICAgdG9vbHRpcFk6IDAsXHJcbiAgICAgICBzdHJva2VPcGFjaXR5OiAwLFxyXG4gICAgIH0pO1xyXG4gICBcclxuICAgICBzZXJpZXMuZGF0YS5zZXRBbGwodGhpcy5kZW1vR3JhcGhpY3NEYXRhKTtcclxuICAgICBzZXJpZXMuYXBwZWFyKCk7XHJcbiAgIFxyXG4gICAgIHJldHVybiBzZXJpZXM7ICAvLyBSZXR1cm4gdGhlIHNlcmllcyB0byBhZGQgaXQgdG8gdGhlIGxlZ2VuZFxyXG4gICB9XHJcbiAgIGdldEJ1eWVycygpe1xyXG4gICAgIGRlbGV0ZSB0aGlzLm9iakRhdGFUcmFmZmljLmxpbWl0O1xyXG4gICAgIGRlbGV0ZSB0aGlzLm9iakRhdGFUcmFmZmljLm9mZnNldDtcclxuICAgICB0aGlzLmJ1eWVyc2xvYWRpbmcgPSB0cnVlO1xyXG4gICAgIHRoaXMuYnV5ZXJzTm9EYXRhID1mYWxzZTtcclxuICAgICB0aGlzLnNlcnZpY2VcclxuICAgICAuZ2V0QnV5ZXJzQ2hhcnQodGhpcy5vYmpEYXRhVHJhZmZpYylcclxuICAgICAucGlwZSh0YWtlVW50aWwodGhpcy5kZXN0cm95JCkpXHJcbiAgICAgPy5zdWJzY3JpYmUoe1xyXG4gICAgICAgbmV4dDogKHJlczogYW55KSA9PiB7XHJcbiAgICAgICAgIGlmIChyZXMgJiYgcmVzLmNvZGUgPT09IDIwMCkge1xyXG4gICAgICAgICAgIHRoaXMuYnV5ZXJzRGF0YSA9IHJlcz8uZGF0YS5idXllckRhdGE7XHJcbiAgICAgICAgICBcclxuICAgICAgICAgIHRoaXMuZ2V0QnV5ZXJzQ2hhcnQoKTsgLy8gQ2FsbCB3aXRoIGEgZGVsYXkgdG8gZW5zdXJlIHRoZSBlbGVtZW50IGlzIGluIHRoZSBET01cclxuICAgICAgICAgIHRoaXMuY2QuZGV0ZWN0Q2hhbmdlcygpOyBcclxuICAgICAgICAgIHRoaXMuYnV5ZXJzTm9EYXRhID1mYWxzZTtcclxuICAgICAgICAgIHRoaXMuYnV5ZXJzbG9hZGluZyA9IGZhbHNlO1xyXG4gICAgICAgICB9IGVsc2V7XHJcbiAgICAgICAgICAgdGhpcy5idXllcnNsb2FkaW5nID0gZmFsc2U7XHJcbiAgICAgICAgICAgdGhpcy5idXllcnNOb0RhdGEgPXRydWU7XHJcbiAgICAgICAgIH1cclxuICAgICAgIH0sXHJcbiAgICAgICBlcnJvcjogKGVycjogYW55KSA9PiB7XHJcbiAgICAgICAgIHRoaXMuY2QuZGV0ZWN0Q2hhbmdlcygpO1xyXG4gICAgICAgfSxcclxuICAgICAgIGNvbXBsZXRlOiAoKSA9PiB7fSxcclxuICAgICB9KTtcclxuICAgfVxyXG4gICBnZXRCdXllcnNDaGFydCgpOiB2b2lkIHtcclxuICAgICB0aGlzLmNoYXJ0Tm9EYXRhID0gZmFsc2U7XHJcbiAgICAgdGhpcy5jaGFydGxvYWRpbmcgPSBmYWxzZTtcclxuICAgICB0aGlzLmJ1eWVyc05vRGF0YSA9ZmFsc2U7XHJcbiAgICAgdGhpcy5idXllcnNsb2FkaW5nID0gZmFsc2U7XHJcbiAgICAgc2V0VGltZW91dCgoKSA9PiB7XHJcbiAgICAgY29uc3QgYnV5ZXJzRGl2ID0gZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoXCJidXllcnNDaGFydHNcIik7XHJcbiAgICAgaWYgKCFidXllcnNEaXYpIHtcclxuICAgICAgIHJldHVybjtcclxuICAgICB9XHJcbiBcclxuICAgICAvLyBEaXNwb3NlIG9mIHByZXZpb3VzIGNoYXJ0IGlmIGl0IGV4aXN0c1xyXG4gICAgIGlmICh0aGlzLmJ1eWVyc3Jvb3QpIHtcclxuICAgICAgIHRoaXMuYnV5ZXJzcm9vdC5kaXNwb3NlKCk7XHJcbiAgICAgfVxyXG4gXHJcbiAgICAgLy8gQ3JlYXRlIGEgbmV3IGNoYXJ0XHJcbiAgICAgdGhpcy5idXllcnNyb290ID0gYW01LlJvb3QubmV3KGJ1eWVyc0Rpdik7XHJcbiAgICAgdGhpcy5idXllcnNyb290LnNldFRoZW1lcyhbXHJcbiAgICAgICBhbTV0aGVtZXNfQW5pbWF0ZWQubmV3KHRoaXMuYnV5ZXJzcm9vdCksXHJcbiAgICAgXSk7XHJcbiBcclxuICAgICB0aGlzLmJ1eWVyc0NoYXJ0SW5zdGFuY2UgPVxyXG4gICAgICAgdGhpcy5idXllcnNyb290LmNvbnRhaW5lci5jaGlsZHJlbi5wdXNoKFxyXG4gICAgICAgICBhbTV4eS5YWUNoYXJ0Lm5ldyh0aGlzLmJ1eWVyc3Jvb3QsIHtcclxuICAgICAgICAgICBwYW5YOiBmYWxzZSxcclxuICAgICAgICAgICBwYW5ZOiBmYWxzZSxcclxuICAgICAgICAgICBwYWRkaW5nTGVmdDogMCxcclxuICAgICAgICAgICB3aGVlbFg6IFwicGFuWFwiLFxyXG4gICAgICAgICAgIHdoZWVsWTogXCJ6b29tWFwiLFxyXG4gICAgICAgICAgIGxheW91dDogdGhpcy5idXllcnNyb290LnZlcnRpY2FsTGF5b3V0LFxyXG4gICAgICAgICB9KVxyXG4gICAgICAgKTtcclxuIFxyXG4gICAgIGxldCB4UmVuZGVyZXIgPSBhbTV4eS5BeGlzUmVuZGVyZXJYLm5ldyh0aGlzLmJ1eWVyc3Jvb3QsIHtcclxuICAgICAgIGNlbGxTdGFydExvY2F0aW9uOiAwLjEsXHJcbiAgICAgICBjZWxsRW5kTG9jYXRpb246IDAuOSxcclxuICAgICAgIG1pbm9yR3JpZEVuYWJsZWQ6IHRydWUsXHJcbiAgICAgfSk7XHJcbiBcclxuICAgICBsZXQgeEF4aXMgPSB0aGlzLmJ1eWVyc0NoYXJ0SW5zdGFuY2UueEF4ZXMucHVzaChcclxuICAgICAgIGFtNXh5LkNhdGVnb3J5QXhpcy5uZXcodGhpcy5idXllcnNyb290LCB7XHJcbiAgICAgICAgIGNhdGVnb3J5RmllbGQ6IFwiYWdlXCIsXHJcbiAgICAgICAgIHJlbmRlcmVyOiB4UmVuZGVyZXIsXHJcbiAgICAgICAgIHRvb2x0aXA6IGFtNS5Ub29sdGlwLm5ldyh0aGlzLmJ1eWVyc3Jvb3QsIHt9KSxcclxuICAgICAgIH0pXHJcbiAgICAgKTtcclxuICAgICB0aGlzLmJ1eWVyc0RhdGEgPSB0aGlzLmJ1eWVyc0RhdGE/Lm1hcChcclxuICAgICAgIChpdGVtOiBhbnkpID0+ICh7XHJcbiAgICAgICAgIGFnZTogaXRlbS5hZ2UsXHJcbiAgICAgICAgIHNpbmdsZUNvdW50OiBOdW1iZXIoaXRlbS5zaW5nbGVDb3VudCksXHJcbiAgICAgICAgIGdyb3VwQ291bnQ6IE51bWJlcihpdGVtLmdyb3VwQ291bnQpLFxyXG4gICAgICAgfSlcclxuICAgICApO1xyXG4gICAgIHhSZW5kZXJlci5ncmlkLnRlbXBsYXRlLnNldEFsbCh7IGxvY2F0aW9uOiAxIH0pO1xyXG4gICAgIHhBeGlzLmRhdGEuc2V0QWxsKHRoaXMuYnV5ZXJzRGF0YSk7XHJcbiBcclxuICAgICBsZXQgeUF4aXMgPSB0aGlzLmJ1eWVyc0NoYXJ0SW5zdGFuY2UueUF4ZXMucHVzaChcclxuICAgICAgIGFtNXh5LlZhbHVlQXhpcy5uZXcodGhpcy5idXllcnNyb290LCB7XHJcbiAgICAgICAgIHJlbmRlcmVyOiBhbTV4eS5BeGlzUmVuZGVyZXJZLm5ldyh0aGlzLmJ1eWVyc3Jvb3QsIHtcclxuICAgICAgICAgICBzdHJva2VPcGFjaXR5OiAwLjEsXHJcbiAgICAgICAgIH0pLFxyXG4gICAgICAgfSlcclxuICAgICApO1xyXG4gICAgIGxldCBsZWdlbmQgPSB0aGlzLmJ1eWVyc0NoYXJ0SW5zdGFuY2UuY2hpbGRyZW4ucHVzaChcclxuICAgICAgIGFtNS5MZWdlbmQubmV3KHRoaXMuYnV5ZXJzcm9vdCwge1xyXG4gICAgICAgICB4OiBhbTUucDEwMCwgICAgLy8gQWxpZ24gdG8gMTAwJSB3aWR0aCAocmlnaHQgc2lkZSlcclxuICAgICB5OiBhbTUucDAsICAgICAgLy8gQWxpZ24gdG8gdGhlIHRvcFxyXG4gICAgIGNlbnRlclg6IGFtNS5wMTAwLCAgLy8gQWxpZ24gdGhlIGNlbnRlciBvZiB0aGUgbGVnZW5kIHRvIGl0cyByaWdodFxyXG4gICAgIGNlbnRlclk6IGFtNS5wMCwgICAgLy8gQWxpZ24gdGhlIHRvcCBvZiB0aGUgbGVnZW5kIHRvIHRoZSB0b3Agb2YgdGhlIGNoYXJ0XHJcbiAgICAgICB9KVxyXG4gICAgICk7XHJcbiAgICAgXHJcbiAgIGNvbnN0IHNpbmdsZUNvdW50ID0gIHRoaXMuZ2V0QnV5ZXJTZXJpZXMoXCJTaW5nbGVcIiwgXCJzaW5nbGVDb3VudFwiLCB4QXhpcywgeUF4aXMpO1xyXG4gICBjb25zdCBncm91cENvdW50ID0gIHRoaXMuZ2V0QnV5ZXJTZXJpZXMoXCJHcm91cFwiLCBcImdyb3VwQ291bnRcIiwgeEF4aXMsIHlBeGlzKTtcclxuICAgICBsZWdlbmQuZGF0YS5zZXRBbGwoW3NpbmdsZUNvdW50LCBncm91cENvdW50XSk7XHJcbiAgICAgdGhpcy5idXllcnNDaGFydEluc3RhbmNlLmFwcGVhcigxMDAwLCAxMDApO1xyXG4gICB9LDApO1xyXG4gfVxyXG4gZ2V0QnV5ZXJTZXJpZXMoXHJcbiAgIG5hbWU6IHN0cmluZyxcclxuICAgZmllbGROYW1lOiBzdHJpbmcsXHJcbiAgIHhBeGlzOiBhbTV4eS5DYXRlZ29yeUF4aXM8YW01eHkuQXhpc1JlbmRlcmVyPixcclxuICAgeUF4aXM6IGFtNXh5LlZhbHVlQXhpczxhbTV4eS5BeGlzUmVuZGVyZXI+XHJcbiApIHtcclxuICAgbGV0IHNlcmllcyA9IHRoaXMuYnV5ZXJzQ2hhcnRJbnN0YW5jZS5zZXJpZXMucHVzaChcclxuICAgICBhbTV4eS5Db2x1bW5TZXJpZXMubmV3KHRoaXMuYnV5ZXJzcm9vdCwge1xyXG4gICAgICAgbmFtZTogbmFtZSxcclxuICAgICAgIHhBeGlzOiB4QXhpcyxcclxuICAgICAgIHlBeGlzOiB5QXhpcyxcclxuICAgICAgIHZhbHVlWUZpZWxkOiBmaWVsZE5hbWUsXHJcbiAgICAgICBjYXRlZ29yeVhGaWVsZDogXCJhZ2VcIiwgIC8vIEFzc3VtaW5nIFwiYWdlXCIgaXMgdGhlIGNhdGVnb3J5IGZpZWxkXHJcbiAgICAgfSlcclxuICAgKTtcclxuIFxyXG4gICBzZXJpZXMuY29sdW1ucy50ZW1wbGF0ZS5zZXRBbGwoe1xyXG4gICAgIHRvb2x0aXBUZXh0OiBcIntuYW1lfToge3ZhbHVlWX1cIixcclxuICAgICB3aWR0aDogYW01LnBlcmNlbnQoOTApLFxyXG4gICAgIHRvb2x0aXBZOiAwLFxyXG4gICAgIHN0cm9rZU9wYWNpdHk6IDAsXHJcbiAgIH0pO1xyXG4gXHJcbiAgIHNlcmllcy5kYXRhLnNldEFsbCh0aGlzLmJ1eWVyc0RhdGEpOyAgLy8gQXNzdW1pbmcgeW91IGhhdmUgYnV5ZXJzRGF0YVxyXG4gXHJcbiAgIHJldHVybiBzZXJpZXM7ICAvLyBSZXR1cm4gdGhlIHNlcmllcyBmb3IgbGVnZW5kXHJcbiBcclxuIH1cclxuIG9iakRhdGFUcmFmZmljOmFueT17fTtcclxuICAgIG92ZXJhbGxDYXJkKCkge1xyXG4gICAgICAodGhpcy5vYmpEYXRhVHJhZmZpYy5saW1pdCA9IDEwKSwgKHRoaXMub2JqRGF0YVRyYWZmaWMub2Zmc2V0ID0gMCk7XHJcbiAgICAgICh0aGlzLm9iakRhdGFUcmFmZmljLmNvbnZlcnNpb250eXBlID0gdGhpcy50YWJsZW9iai5jb252ZXJzaW9udHlwZSk7XHJcbiAgICAgIGRlbGV0ZSB0aGlzLm9iakRhdGFUcmFmZmljLm5vcm1hbGl6ZWREYXRhO1xyXG4gICAgICBkZWxldGUgdGhpcy5vYmpEYXRhVHJhZmZpYy5yZXZlbnVlO1xyXG4gICAgICBkZWxldGUgdGhpcy5vYmpEYXRhVHJhZmZpYy5ob3VyRm9ybWF0O1xyXG4gICAgICBkZWxldGUgdGhpcy5vYmpEYXRhVHJhZmZpYy5kYXRlUmFuZ2U7XHJcbiAgICAgIHRoaXMuc2VydmljZVxyXG4gICAgICAgIC5nZXRPdmVyYWxsQ2FyZHModGhpcy5vYmpEYXRhVHJhZmZpYylcclxuICAgICAgICAucGlwZSh0YWtlVW50aWwodGhpcy5kZXN0cm95JCkpXHJcbiAgICAgICAgPy5zdWJzY3JpYmUoe1xyXG4gICAgICAgICAgbmV4dDogKHJlczogYW55KSA9PiB7XHJcbiAgICAgICAgICAgIGlmIChyZXMgJiYgcmVzLmNvZGUgPT09IDIwMCkge1xyXG4gICAgICAgICAgICAgIHRoaXMuZ2V0T3ZlcmFsbENhcmREYXRhID0gcmVzPy5kYXRhO1xyXG4gICAgICAgICAgICB9XHJcbiAgICAgICAgICB9LFxyXG4gICAgICAgICAgZXJyb3I6IChlcnI6IGFueSkgPT4ge1xyXG4gICAgICAgICAgICB0aGlzLmNkLmRldGVjdENoYW5nZXMoKTtcclxuICAgICAgICAgIH0sXHJcbiAgICAgICAgICBjb21wbGV0ZTogKCkgPT4ge30sXHJcbiAgICAgICAgfSk7XHJcbiAgICB9XHJcbiAgXHJcbiAgICBvdmVyYWxsSG91cmx5Q2hhcnQoKSB7XHJcbiAgICAgIHRoaXMuY2hhcnROb0RhdGEgPSBmYWxzZTtcclxuICAgICAgdGhpcy5jaGFydGxvYWRpbmcgPSB0cnVlO1xyXG4gICAgICAodGhpcy5vYmpEYXRhVHJhZmZpYy5saW1pdCA9IDEwKSwgKHRoaXMub2JqRGF0YVRyYWZmaWMub2Zmc2V0ID0gMCk7XHJcbiAgICAgIGRlbGV0ZSB0aGlzLm9iakRhdGFUcmFmZmljLm5vcm1hbGl6ZWREYXRhO1xyXG4gICAgICBkZWxldGUgdGhpcy5vYmpEYXRhVHJhZmZpYy5yZXZlbnVlO1xyXG4gIGRlbGV0ZSB0aGlzLm9iakRhdGFUcmFmZmljLmhvdXJGb3JtYXRcclxuICAgICAgZGVsZXRlIHRoaXMub2JqRGF0YVRyYWZmaWMuZGF0ZVJhbmdlO1xyXG4gICAgICB0aGlzLnNlcnZpY2VcclxuICAgICAgICAuZ2V0T3ZlcmFsbEhvdXJseUNoYXJ0KHRoaXMub2JqRGF0YVRyYWZmaWMpXHJcbiAgICAgICAgLnBpcGUodGFrZVVudGlsKHRoaXMuZGVzdHJveSQpKVxyXG4gICAgICAgID8uc3Vic2NyaWJlKHtcclxuICAgICAgICAgIG5leHQ6IChyZXM6IGFueSkgPT4ge1xyXG4gICAgICAgICAgICBpZiAocmVzICYmIHJlcy5jb2RlID09PSAyMDApIHtcclxuICAgICAgICAgICAgICB0aGlzLmNoYXJ0Tm9EYXRhID0gZmFsc2U7XHJcbiAgICAgICAgICAgICAgdGhpcy5jaGFydGxvYWRpbmcgPSBmYWxzZTtcclxuICAgICAgICAgICAgICB0aGlzLmdldE92ZXJhbGxIb3VybHlEYXRhID0gcmVzPy5kYXRhPy5ob3VybHlEYXRhO1xyXG4gICAgICAgICAgICAgIHRoaXMuaW5pdEhlYXRDaGFydCgpO1xyXG4gICAgICAgICAgICAgIHRoaXMuY2QuZGV0ZWN0Q2hhbmdlcygpO1xyXG4gICAgICAgICAgICB9IGVsc2Uge1xyXG4gICAgICAgICAgICAgIHRoaXMuY2hhcnROb0RhdGEgPSB0cnVlO1xyXG4gICAgICAgICAgICAgIHRoaXMuY2hhcnRsb2FkaW5nID0gZmFsc2U7XHJcbiAgICAgICAgICAgIH1cclxuICAgICAgICAgIH0sXHJcbiAgICAgICAgICBlcnJvcjogKGVycjogYW55KSA9PiB7XHJcbiAgICAgICAgICAgIHRoaXMuY2QuZGV0ZWN0Q2hhbmdlcygpO1xyXG4gICAgICAgICAgfSxcclxuICAgICAgICAgIGNvbXBsZXRlOiAoKSA9PiB7fSxcclxuICAgICAgICB9KTtcclxuICAgIH1cclxuICAgIG92ZXJhbGxDaGFydCgpIHtcclxuICAgICAgdGhpcy5vZmZzZXRUcmFmZmljQ2FyZCA9MDtcclxuICAgICAgdGhpcy5saW1pdFRyYWZmaWNDYXJkID0yMDtcclxuICAgICAgdGhpcy5jaGFydE5vRGF0YSA9IGZhbHNlO1xyXG4gICAgICB0aGlzLmNoYXJ0bG9hZGluZyA9IHRydWU7XHJcbiAgICAgICh0aGlzLm9iakRhdGFUcmFmZmljLmxpbWl0ID0gMjApLCAodGhpcy5vYmpEYXRhVHJhZmZpYy5vZmZzZXQgPSAwKTtcclxuICAgICAgZGVsZXRlIHRoaXMub2JqRGF0YVRyYWZmaWMubm9ybWFsaXplZERhdGE7XHJcbiAgICAgIGRlbGV0ZSB0aGlzLm9iakRhdGFUcmFmZmljLnJldmVudWU7XHJcbiAgICAgIGRlbGV0ZSB0aGlzLm9iakRhdGFUcmFmZmljLmhvdXJGb3JtYXQ7XHJcbiAgICAgIGRlbGV0ZSB0aGlzLm9iakRhdGFUcmFmZmljLmRhdGVSYW5nZTtcclxuICAgICAgdGhpcy5zZXJ2aWNlXHJcbiAgICAgICAgLmdldE92ZXJhbGxDaGFydCh0aGlzLm9iakRhdGFUcmFmZmljKVxyXG4gICAgICAgIC5waXBlKHRha2VVbnRpbCh0aGlzLmRlc3Ryb3kkKSxkZWJvdW5jZVRpbWUoMzAwKSlcclxuICAgICAgICA/LnN1YnNjcmliZSh7XHJcbiAgICAgICAgICBuZXh0OiAocmVzOiBhbnkpID0+IHtcclxuICAgICAgICAgICAgaWYgKHJlcyAmJiByZXMuY29kZSA9PT0gMjAwKSB7XHJcbiAgICAgICAgICAgICAgdGhpcy5nZXRPdmVyYWxsQ2hhcnREYXRhID0gcmVzPy5kYXRhO1xyXG4gICAgICAgICAgICAgIHRoaXMudG90YWxJdGVtc1RyYWZmaWNDYXJkID0gcmVzLmRhdGEudG90YWxDb3VudFxyXG4gICAgICAgICAgICAgIHRoaXMuY2hhcnROb0RhdGEgPSBmYWxzZTtcclxuICAgICAgICAgICAgICB0aGlzLmNoYXJ0bG9hZGluZyA9IGZhbHNlO1xyXG4gICAgICAgICAgICAgIHRoaXMuaW5pdENoYXJ0KCk7XHJcbiAgICAgICAgdGhpcy5zZXRQYWdpbmF0aW9uU2l6ZXNUcmFmZmljQ2FyZCgpO1xyXG4gICAgICAgICAgICAgIHRoaXMuY2QuZGV0ZWN0Q2hhbmdlcygpO1xyXG4gICAgICAgICAgICB9IGVsc2Uge1xyXG4gICAgICAgICAgICAgIHRoaXMuY2hhcnROb0RhdGEgPSB0cnVlO1xyXG4gICAgICAgICAgICAgIHRoaXMuY2hhcnRsb2FkaW5nID0gZmFsc2U7XHJcbiAgICAgICAgICAgIH1cclxuICAgICAgICAgIH0sXHJcbiAgICAgICAgICBlcnJvcjogKGVycjogYW55KSA9PiB7XHJcbiAgICAgICAgICAgIHRoaXMuY2QuZGV0ZWN0Q2hhbmdlcygpO1xyXG4gICAgICAgICAgfSxcclxuICAgICAgICAgIGNvbXBsZXRlOiAoKSA9PiB7fSxcclxuICAgICAgICB9KTtcclxuICAgIH1cclxuICAgIHNldFBhZ2luYXRpb25TaXplc1RyYWZmaWNDYXJkKCkge1xyXG4gICAgICBpZiAodGhpcy50b3RhbEl0ZW1zVHJhZmZpY0NhcmQgPiAyMCkge1xyXG4gICAgICAgIHRoaXMucGFnaW5hdGlvblNpemVzVHJhZmZpY0NhcmQgPSBbMjBdO1xyXG4gICAgICB9IGVsc2Uge1xyXG4gICAgICAgIHRoaXMucGFnaW5hdGlvblNpemVzVHJhZmZpY0NhcmQgPSBbdGhpcy50b3RhbEl0ZW1zVHJhZmZpY0NhcmRdOyAvLyBKdXN0IG9uZSBvcHRpb24gaWYgbGVzcyB0aGFuIDEwXHJcbiAgICAgIH1cclxuICAgICAgdGhpcy5wYWdlU2l6ZVRyYWZmaWNDYXJkID0gdGhpcy5wYWdpbmF0aW9uU2l6ZXNUcmFmZmljQ2FyZFswXTtcclxuICAgIH1cclxuICAgIG9uUGFnZUNoYW5nZVRyYWZmaWNDYXJkKHBhZ2VPZmZzZXQ6IG51bWJlcikge1xyXG4gICAgICB0aGlzLm9mZnNldFRyYWZmaWNDYXJkID0gTnVtYmVyKHBhZ2VPZmZzZXQpO1xyXG4gICAgICB0aGlzLm9iakRhdGFUcmFmZmljLm9mZnNldCA9IHRoaXMub2Zmc2V0VHJhZmZpY0NhcmQgLTE7XHJcbiAgICAgIHRoaXMub2JqRGF0YVRyYWZmaWMubGltaXQgPSB0aGlzLmxpbWl0VHJhZmZpY0NhcmQ7XHJcbiAgICAgIGRlbGV0ZSB0aGlzLm9iakRhdGFUcmFmZmljLm5vcm1hbGl6ZWREYXRhO1xyXG4gICAgICBkZWxldGUgdGhpcy5vYmpEYXRhVHJhZmZpYy5yZXZlbnVlO1xyXG4gICAgICBkZWxldGUgdGhpcy5vYmpEYXRhVHJhZmZpYy5ob3VyRm9ybWF0O1xyXG4gICAgICBkZWxldGUgdGhpcy5vYmpEYXRhVHJhZmZpYy5kYXRlUmFuZ2U7XHJcbiAgICAgIHRoaXMuc2VydmljZVxyXG4gICAgICAuZ2V0T3ZlcmFsbENoYXJ0KHRoaXMub2JqRGF0YVRyYWZmaWMpXHJcbiAgICAgIC5waXBlKHRha2VVbnRpbCh0aGlzLmRlc3Ryb3kkKSxkZWJvdW5jZVRpbWUoMzAwKSlcclxuICAgICAgPy5zdWJzY3JpYmUoe1xyXG4gICAgICAgIG5leHQ6IChyZXM6IGFueSkgPT4ge1xyXG4gICAgICAgICAgaWYgKHJlcyAmJiByZXMuY29kZSA9PT0gMjAwKSB7XHJcbiAgICAgICAgICAgIHRoaXMuZ2V0T3ZlcmFsbENoYXJ0RGF0YSA9IHJlcz8uZGF0YTtcclxuICAgICAgICAgICAgdGhpcy50b3RhbEl0ZW1zVHJhZmZpY0NhcmQgPSByZXMuZGF0YS50b3RhbENvdW50XHJcbiAgICAgICAgICAgIHRoaXMuY2hhcnROb0RhdGEgPSBmYWxzZTtcclxuICAgICAgICAgICAgdGhpcy5jaGFydGxvYWRpbmcgPSBmYWxzZTtcclxuICAgICAgICAgICAgdGhpcy5pbml0Q2hhcnQoKTtcclxuICAgICAgICAgICAgdGhpcy5jZC5kZXRlY3RDaGFuZ2VzKCk7XHJcbiAgICAgICAgICB9IGVsc2Uge1xyXG4gICAgICAgICAgICB0aGlzLmNoYXJ0Tm9EYXRhID0gdHJ1ZTtcclxuICAgICAgICAgICAgdGhpcy5jaGFydGxvYWRpbmcgPSBmYWxzZTtcclxuICAgICAgICAgIH1cclxuICAgICAgICB9LFxyXG4gICAgICAgIGVycm9yOiAoZXJyOiBhbnkpID0+IHtcclxuICAgICAgICAgIHRoaXMuY2QuZGV0ZWN0Q2hhbmdlcygpO1xyXG4gICAgICAgIH0sXHJcbiAgICAgICAgY29tcGxldGU6ICgpID0+IHt9LFxyXG4gICAgICB9KTtcclxuICAgIH1cclxuICBcclxuICAgIG9uUGFnZVNpemVDaGFuZ2VUcmFmZmljQ2FyZChwYWdlU2l6ZTogbnVtYmVyKSB7XHJcbiAgICAgIHRoaXMucGFnZVNpemVUcmFmZmljQ2FyZCA9IE51bWJlcihwYWdlU2l6ZSk7XHJcbiAgICAgIHRoaXMubGltaXRUcmFmZmljQ2FyZCA9IE51bWJlcihwYWdlU2l6ZSk7XHJcbiAgICAgIHRoaXMuY3VycmVudFBhZ2VUcmFmZmljQ2FyZCA9IDE7XHJcbiAgICAgIHRoaXMub2Zmc2V0VHJhZmZpY0NhcmQgPSAwO1xyXG4gICAgICB0aGlzLm9iakRhdGFUcmFmZmljLm9mZnNldCA9IHRoaXMub2Zmc2V0VHJhZmZpY0NhcmQ7XHJcbiAgICAgIHRoaXMub2JqRGF0YVRyYWZmaWMubGltaXQgPSB0aGlzLmxpbWl0VHJhZmZpY0NhcmQ7XHJcbiAgICAgIHRoaXMub3ZlcmFsbENoYXJ0KCk7XHJcbiAgICB9XHJcblxyXG4gICAgdHJhZmZpY0hlYXRDaGFydCgpIHtcclxuICAgICAgdGhpcy5jaGFydE5vRGF0YSA9IGZhbHNlO1xyXG4gICAgICB0aGlzLmNoYXJ0bG9hZGluZyA9IGZhbHNlO1xyXG4gICAgXHJcbiAgICAgIHNldFRpbWVvdXQoKCkgPT4ge1xyXG4gICAgICAgIGNvbnN0IGNoYXJ0RGl2ID0gZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoXCJ0cmFmZmljSGVhdG1hcENoYXJ0XCIpO1xyXG4gICAgICAgIGlmICghY2hhcnREaXYpIHtcclxuICAgICAgICAgIHJldHVybjtcclxuICAgICAgICB9XHJcbiAgICBcclxuICAgICAgICAvLyBEaXNwb3NlIG9mIHRoZSBwcmV2aW91cyBjaGFydCBpbnN0YW5jZSBpZiBpdCBleGlzdHNcclxuICAgICAgICBpZiAodGhpcy5oZWF0TWFwUm9vdCkge1xyXG4gICAgICAgICAgdGhpcy5oZWF0TWFwUm9vdC5kaXNwb3NlKCk7XHJcbiAgICAgICAgfVxyXG4gICAgXHJcbiAgICAgICAgLy8gSW5pdGlhbGl6ZSB0aGUgY2hhcnQgcm9vdFxyXG4gICAgICAgIHRoaXMuaGVhdE1hcFJvb3QgPSBhbTUuUm9vdC5uZXcoXCJ0cmFmZmljSGVhdG1hcENoYXJ0XCIpO1xyXG4gICAgICAgIHRoaXMuaGVhdE1hcFJvb3QuY29udGFpbmVyLnNldEFsbCh7XHJcbiAgICAgICAgICB3aWR0aDogYW01LnBlcmNlbnQoMTAwKSxcclxuICAgICAgICB9KTtcclxuICAgIFxyXG4gICAgICAgIC8vIEFwcGx5IHRoZW1lc1xyXG4gICAgICAgIHRoaXMuaGVhdE1hcFJvb3Quc2V0VGhlbWVzKFtcclxuICAgICAgICAgIGFtNXRoZW1lc19BbmltYXRlZC5uZXcodGhpcy5oZWF0TWFwUm9vdCksXHJcbiAgICAgICAgICBhbTV0aGVtZXNfUmVzcG9uc2l2ZS5uZXcodGhpcy5oZWF0TWFwUm9vdCksXHJcbiAgICAgICAgXSk7XHJcbiAgICBcclxuICAgICAgICAvLyBDcmVhdGUgdGhlIGNoYXJ0XHJcbiAgICAgICAgdGhpcy5oZWF0TWFwQ2hhcnQgPSB0aGlzLmhlYXRNYXBSb290LmNvbnRhaW5lci5jaGlsZHJlbi5wdXNoKFxyXG4gICAgICAgICAgYW01eHkuWFlDaGFydC5uZXcodGhpcy5oZWF0TWFwUm9vdCwge1xyXG4gICAgICAgICAgICBwYW5YOiBmYWxzZSxcclxuICAgICAgICAgICAgcGFuWTogZmFsc2UsXHJcbiAgICAgICAgICAgIHdoZWVsWDogXCJub25lXCIsXHJcbiAgICAgICAgICAgIHdoZWVsWTogXCJub25lXCIsXHJcbiAgICAgICAgICAgIHBhZGRpbmdMZWZ0OiAwLFxyXG4gICAgICAgICAgICBsYXlvdXQ6IHRoaXMuaGVhdE1hcFJvb3QudmVydGljYWxMYXlvdXQsXHJcbiAgICAgICAgICB9KVxyXG4gICAgICAgICk7XHJcbiAgICBcclxuICAgICAgICAvLyBDcmVhdGUgWS1heGlzXHJcbiAgICAgICAgY29uc3QgeVJlbmRlcmVyID0gYW01eHkuQXhpc1JlbmRlcmVyWS5uZXcodGhpcy5oZWF0TWFwUm9vdCwge1xyXG4gICAgICAgICAgdmlzaWJsZTogZmFsc2UsXHJcbiAgICAgICAgICBtaW5HcmlkRGlzdGFuY2U6IDMwLFxyXG4gICAgICAgICAgaW52ZXJzZWQ6IHRydWUsXHJcbiAgICAgICAgICBtaW5vckdyaWRFbmFibGVkOiB0cnVlLFxyXG4gICAgICAgIH0pO1xyXG4gICAgICAgIHlSZW5kZXJlci5ncmlkLnRlbXBsYXRlLnNldChcInZpc2libGVcIiwgZmFsc2UpO1xyXG4gICAgXHJcbiAgICAgICAgY29uc3QgeUF4aXMgPSB0aGlzLmhlYXRNYXBDaGFydC55QXhlcy5wdXNoKFxyXG4gICAgICAgICAgYW01eHkuQ2F0ZWdvcnlBeGlzLm5ldyh0aGlzLmhlYXRNYXBSb290LCB7XHJcbiAgICAgICAgICAgIG1heERldmlhdGlvbjogMCxcclxuICAgICAgICAgICAgcmVuZGVyZXI6IHlSZW5kZXJlcixcclxuICAgICAgICAgICAgY2F0ZWdvcnlGaWVsZDogXCJob3VyXCIsXHJcbiAgICAgICAgICB9KVxyXG4gICAgICAgICk7XHJcbiAgICBcclxuICAgICAgICAvLyBDcmVhdGUgWC1heGlzXHJcbiAgICAgICAgY29uc3QgeFJlbmRlcmVyID0gYW01eHkuQXhpc1JlbmRlcmVyWC5uZXcodGhpcy5oZWF0TWFwUm9vdCwge1xyXG4gICAgICAgICAgdmlzaWJsZTogZmFsc2UsXHJcbiAgICAgICAgICBtaW5HcmlkRGlzdGFuY2U6IDMwLFxyXG4gICAgICAgICAgbWlub3JHcmlkRW5hYmxlZDogdHJ1ZSxcclxuICAgICAgICB9KTtcclxuICAgICAgICB4UmVuZGVyZXIuZ3JpZC50ZW1wbGF0ZS5zZXQoXCJ2aXNpYmxlXCIsIGZhbHNlKTtcclxuICAgIFxyXG4gICAgICAgIGNvbnN0IHhBeGlzID0gdGhpcy5oZWF0TWFwQ2hhcnQueEF4ZXMucHVzaChcclxuICAgICAgICAgIGFtNXh5LkNhdGVnb3J5QXhpcy5uZXcodGhpcy5oZWF0TWFwUm9vdCwge1xyXG4gICAgICAgICAgICByZW5kZXJlcjogeFJlbmRlcmVyLFxyXG4gICAgICAgICAgICBjYXRlZ29yeUZpZWxkOiBcIndlZWtkYXlcIixcclxuICAgICAgICAgIH0pXHJcbiAgICAgICAgKTtcclxuICAgIFxyXG4gICAgICAgIC8vIEFkZCBZLWF4aXMgbGFiZWxcclxuICAgICAgICB5QXhpcy5jaGlsZHJlbi51bnNoaWZ0KFxyXG4gICAgICAgICAgYW01LkxhYmVsLm5ldyh0aGlzLmhlYXRNYXBSb290LCB7XHJcbiAgICAgICAgICAgIHJvdGF0aW9uOiAtOTAsXHJcbiAgICAgICAgICAgIHRleHQ6IFwiSG91cnNcIixcclxuICAgICAgICAgICAgeTogYW01LnA1MCxcclxuICAgICAgICAgICAgY2VudGVyWDogYW01LnA1MCxcclxuICAgICAgICAgICAgZm9udEZhbWlseTogXCJBcmlhbFwiLFxyXG4gICAgICAgICAgICBmb250U2l6ZTogXCIxNHB4XCIsXHJcbiAgICAgICAgICAgIGZpbGw6IGFtNS5jb2xvcigweDAwMDAwMCksXHJcbiAgICAgICAgICB9KVxyXG4gICAgICAgICk7XHJcbiAgICBcclxuICAgICAgICAvLyBDcmVhdGUgc2VyaWVzXHJcbiAgICAgICAgdGhpcy5oZWF0TWFwU2VyaWVzID0gdGhpcy5oZWF0TWFwQ2hhcnQuc2VyaWVzLnB1c2goXHJcbiAgICAgICAgICBhbTV4eS5Db2x1bW5TZXJpZXMubmV3KHRoaXMuaGVhdE1hcFJvb3QsIHtcclxuICAgICAgICAgICAgY2FsY3VsYXRlQWdncmVnYXRlczogdHJ1ZSxcclxuICAgICAgICAgICAgc3Ryb2tlOiBhbTUuY29sb3IoMHhmZmZmZmYpLFxyXG4gICAgICAgICAgICBjbHVzdGVyZWQ6IGZhbHNlLFxyXG4gICAgICAgICAgICB4QXhpczogeEF4aXMsXHJcbiAgICAgICAgICAgIHlBeGlzOiB5QXhpcyxcclxuICAgICAgICAgICAgY2F0ZWdvcnlYRmllbGQ6IFwid2Vla2RheVwiLFxyXG4gICAgICAgICAgICBjYXRlZ29yeVlGaWVsZDogXCJob3VyXCIsXHJcbiAgICAgICAgICAgIHZhbHVlRmllbGQ6IFwidmFsdWVcIixcclxuICAgICAgICAgIH0pXHJcbiAgICAgICAgKTtcclxuICAgICAgICBcclxuICAgICAgICAvLyBDb25maWd1cmUgY29sdW1uIGFwcGVhcmFuY2VcclxuICAgICAgICB0aGlzLmhlYXRNYXBTZXJpZXMuY29sdW1ucy50ZW1wbGF0ZS5zZXRBbGwoe1xyXG4gICAgICAgICAgdG9vbHRpcFRleHQ6IFwie3ZhbHVlfVwiLFxyXG4gICAgICAgICAgc3Ryb2tlT3BhY2l0eTogMSxcclxuICAgICAgICAgIHN0cm9rZVdpZHRoOiAyLFxyXG4gICAgICAgICAgd2lkdGg6IGFtNS5wZXJjZW50KDEwMCksXHJcbiAgICAgICAgICBoZWlnaHQ6IGFtNS5wZXJjZW50KDEwMCksXHJcbiAgICAgICAgfSk7XHJcblxyXG4gICAgICAgIHRoaXMuaGVhdE1hcFNlcmllcy5jb2x1bW5zLnRlbXBsYXRlLmFkYXB0ZXJzLmFkZChcImZpbGxcIiwgKGZpbGwsIHRhcmdldCkgPT4ge1xyXG4gICAgICAgICAgY29uc3QgZGF0YUl0ZW0gPSB0YXJnZXQuZGF0YUl0ZW0/LmRhdGFDb250ZXh0IGFzIHsgdmFsdWU6IG51bWJlciB9O1xyXG4gICAgICAgICAgcmV0dXJuIGRhdGFJdGVtICYmIGRhdGFJdGVtLnZhbHVlICE9PSB1bmRlZmluZWQgPyB0aGlzLmdldFJhbmdlQ29sb3JEeW5hbWljKGRhdGFJdGVtLnZhbHVlKSA6IGZpbGw7XHJcbiAgICAgICAgfSk7XHJcbiAgICBcclxuICAgICAgICAvLyBTZXQgY29sdW1uIGNvbG9yIGJhc2VkIG9uIHZhbHVlXHJcbiAgICAgICAgICAgIC8vIHRoaXMuaGVhdE1hcFNlcmllcy5jb2x1bW5zLnRlbXBsYXRlLmFkYXB0ZXJzLmFkZChcImZpbGxcIiwgKGZpbGwsIHRhcmdldCkgPT4ge1xyXG4gICAgICAgICAgICAvLyAgIGNvbnN0IGRhdGFJdGVtID0gdGFyZ2V0LmRhdGFJdGVtPy5kYXRhQ29udGV4dCBhcyB7IHZhbHVlOiBudW1iZXIgfTtcclxuICAgICAgICAgICAgLy8gICByZXR1cm4gZGF0YUl0ZW0gJiYgZGF0YUl0ZW0udmFsdWUgIT09IHVuZGVmaW5lZCA/IHRoaXMuZ2V0UmFuZ2VDb2xvcjEoZGF0YUl0ZW0udmFsdWUpIDogZmlsbDtcclxuICAgICAgICAgICAgLy8gfSk7XHJcbiAgICAgICAgXHJcbiAgICBcclxuICAgICAgICAvLyBBZGQgYnVsbGV0IGZvciB2YWx1ZSBsYWJlbHNcclxuICAgICAgICB0aGlzLmhlYXRNYXBTZXJpZXMuYnVsbGV0cy5wdXNoKCgpID0+IHtcclxuICAgICAgICAgIHJldHVybiBhbTUuQnVsbGV0Lm5ldyh0aGlzLmhlYXRNYXBSb290LCB7XHJcbiAgICAgICAgICAgIHNwcml0ZTogYW01LkxhYmVsLm5ldyh0aGlzLmhlYXRNYXBSb290LCB7XHJcbiAgICAgICAgICAgICAgdGV4dDogXCJ7dmFsdWV9XCIsXHJcbiAgICAgICAgICAgICAgZmlsbDogYW01LmNvbG9yKDB4MDAwMDAwKSxcclxuICAgICAgICAgICAgICBjZW50ZXJZOiBhbTUucDUwLFxyXG4gICAgICAgICAgICAgIGNlbnRlclg6IGFtNS5wNTAsXHJcbiAgICAgICAgICAgICAgcG9wdWxhdGVUZXh0OiB0cnVlLFxyXG4gICAgICAgICAgICAgIGZvbnRTaXplOiAxMixcclxuICAgICAgICAgICAgfSksXHJcbiAgICAgICAgICB9KTtcclxuICAgICAgICB9KTtcclxuICAgIFxyXG4gICAgICAgIC8vIFByZXBhcmUgYW5kIHNvcnQgZGF0YSBmb3IgdGhlIGNoYXJ0XHJcbiAgICAgICAgY29uc3QgaGVhdE1hcERhdGE6IGFueVtdID0gW107XHJcbiAgICAgICAgaWYgKHRoaXMuZ2V0Rm9vdGZhbGxEZW5zaXR5RHdlbGxEYXRhICYmIHRoaXMuZ2V0Rm9vdGZhbGxEZW5zaXR5RHdlbGxEYXRhLnRyYWZmaWNEZW5zaXR5KSB7XHJcbiAgICAgICAgICBPYmplY3Qua2V5cyh0aGlzLmdldEZvb3RmYWxsRGVuc2l0eUR3ZWxsRGF0YS50cmFmZmljRGVuc2l0eSkuZm9yRWFjaChob3VyID0+IHtcclxuICAgICAgICAgICAgdGhpcy5nZXRGb290ZmFsbERlbnNpdHlEd2VsbERhdGEudHJhZmZpY0RlbnNpdHlbaG91cl0uZm9yRWFjaCgoZGF5RGF0YTogYW55KSA9PiB7XHJcbiAgICAgICAgICAgICAgaGVhdE1hcERhdGEucHVzaCh7XHJcbiAgICAgICAgICAgICAgICBob3VyOiBkYXlEYXRhLnRpbWUsXHJcbiAgICAgICAgICAgICAgICB3ZWVrZGF5OiBkYXlEYXRhLmRheSxcclxuICAgICAgICAgICAgICAgIHZhbHVlOiBwYXJzZUludChkYXlEYXRhLmZvb3RmYWxsQ291bnQsIDEwKSwgLy8gRW5zdXJlIGludGVnZXIgcGFyc2luZ1xyXG4gICAgICAgICAgICAgIH0pO1xyXG4gICAgICAgICAgICB9KTtcclxuICAgICAgICAgIH0pO1xyXG4gICAgICAgIH0gZWxzZSB7XHJcbiAgICAgICAgICBjb25zb2xlLmVycm9yKFwiVHJhZmZpYyBkZW5zaXR5IGRhdGEgaXMgdW5kZWZpbmVkIG9yIG51bGwuXCIpO1xyXG4gICAgICAgIH1cclxuICAgICAgICBcclxuICAgICAgICAvLyBTZXQgZGF0YSB0byB0aGUgc2VyaWVzXHJcbiAgICAgICAgdGhpcy5oZWF0TWFwU2VyaWVzLmRhdGEuc2V0QWxsKGhlYXRNYXBEYXRhKTtcclxuXHJcbiAgICAgICAgY29uc3QgdmlzaWJsZVZhbHVlcyA9IHRoaXMuaGVhdE1hcFNlcmllcy5kYXRhLnZhbHVlcy5tYXAoKGQ6YW55KSA9PiBkLnZhbHVlKTtcclxuXHJcbiAgICAgICAgdGhpcy5tYXhGb290ZmFsbCA9IE1hdGgubWF4KC4uLnZpc2libGVWYWx1ZXMpO1xyXG4gICAgICAgIHRoaXMubWluRm9vdGZhbGwgPSBNYXRoLm1pbiguLi52aXNpYmxlVmFsdWVzKTtcclxuXHJcbiAgICAgICAgLy8gRXh0cmFjdCB1bmlxdWUgd2Vla2RheXMgYW5kIGhvdXJzLCBzb3J0ZWRcclxuICAgICAgICBjb25zdCB3ZWVrZGF5czogc3RyaW5nW10gPSBBcnJheS5mcm9tKG5ldyBTZXQoaGVhdE1hcERhdGEubWFwKHJvdyA9PiByb3cud2Vla2RheSkpKTtcclxuICAgICAgICBjb25zdCBob3Vyczogc3RyaW5nW10gPSBBcnJheS5mcm9tKG5ldyBTZXQoaGVhdE1hcERhdGEubWFwKHJvdyA9PiByb3cuaG91cikpKVxyXG4gICAgICAgICAgLnNvcnQoKGEsIGIpID0+IGEubG9jYWxlQ29tcGFyZShiKSk7XHJcbiAgICBcclxuICAgICAgICAvLyBTZXQgYXhpcyBkYXRhXHJcbiAgICAgICAgeEF4aXMuZGF0YS5zZXRBbGwoXHJcbiAgICAgICAgICB3ZWVrZGF5cy5tYXAoaXRlbSA9PiAoeyB3ZWVrZGF5OiBpdGVtIH0pKVxyXG4gICAgICAgICk7XHJcbiAgICBcclxuICAgICAgICB5QXhpcy5kYXRhLnNldEFsbChcclxuICAgICAgICAgIGhvdXJzLm1hcChpdGVtID0+ICh7IGhvdXI6IGl0ZW0gfSkpXHJcbiAgICAgICAgKTtcclxuICAgIFxyXG4gICAgICAgIC8vIEZpbmFsaXplIGNoYXJ0IGFwcGVhcmFuY2VcclxuICAgICAgICB0aGlzLmhlYXRNYXBDaGFydC5hcHBlYXIoMTAwMCwgMTAwKTtcclxuICAgIFxyXG4gICAgICAgIC8vIEVuc3VyZSB0aGUgcm9vdCBpcyBhc3NpZ25lZCBjb3JyZWN0bHlcclxuICAgICAgICB0aGlzLmhlYXRNYXBSb290ID0gdGhpcy5oZWF0TWFwUm9vdDtcclxuICAgIFxyXG4gICAgICB9LCAwKTtcclxuICB9XHJcbiAgXHJcblxyXG4gIGdldFJhbmdlQ29sb3JEeW5hbWljKGZvb3RmYWxsQ291bnQ6IG51bWJlcik6IGFtNS5Db2xvciB7XHJcbiAgICBsZXQgbWluRm9vdGZhbGwgPSB0aGlzLm1pbkZvb3RmYWxsID8/IDA7XHJcbiAgICBsZXQgbWF4Rm9vdGZhbGwgPSB0aGlzLm1heEZvb3RmYWxsID8/IDE7XHJcbiAgXHJcbiAgICBpZiAobWF4Rm9vdGZhbGwgPT09IG1pbkZvb3RmYWxsKSByZXR1cm4gYW01LmNvbG9yKDB4MDA4ZWRmKTsgLy8gUHJldmVudCBkaXZpc2lvbiBieSB6ZXJvXHJcbiAgICBjb25zdCBub3JtYWxpemVkVmFsdWUgPSAoZm9vdGZhbGxDb3VudCAtIG1pbkZvb3RmYWxsKSAvIChtYXhGb290ZmFsbCAtIG1pbkZvb3RmYWxsKTtcclxuICAgIGNvbnN0IGNsYW1wZWRWYWx1ZSA9IE1hdGgubWluKE1hdGgubWF4KG5vcm1hbGl6ZWRWYWx1ZSwgMCksIDAuNSk7XHJcbiAgICBjb25zdCBhZGp1c3RlZFZhbHVlID0gTWF0aC5wb3coY2xhbXBlZFZhbHVlLCAwLjUpOyAgLy8gSW5jcmVhc2UgcG93ZXIgdG8gZGFya2VuIGZhc3RlclxyXG4gICAgY29uc3QgYmFzZUNvbG9yID0gYW01LmNvbG9yKDB4MDA4ZWRmKTsgIC8vIFN0YXJ0aW5nIGNvbG9yIChsaWdodCBibHVlKVxyXG4gICAgY29uc3QgYWRqdXN0ZWRDb2xvciA9IGFtNS5Db2xvci5saWdodGVuKGJhc2VDb2xvciwgMSAtIGFkanVzdGVkVmFsdWUpO1xyXG4gICAgcmV0dXJuIGFkanVzdGVkQ29sb3I7XHJcbiAgfVxyXG5cclxuXHJcbiAgICBnZXRSYW5nZUNvbG9yMShmb290ZmFsbENvdW50OiBudW1iZXIpOiBhbTUuQ29sb3Ige1xyXG4gICAgICBsZXQgbWF4Rm9vdGZhbGw6YW55O1xyXG4gICAgICBjb25zdCBtaW5Gb290ZmFsbCA9IDA7ICAvLyBtaW5pbXVtIGV4cGVjdGVkIGZvb3RmYWxsXHJcbiAgICAgIGlmKHRoaXMub2JqRGF0YVRyYWZmaWMuZGF0ZVJhbmdlID0zMClcclxuICAgICAgbWF4Rm9vdGZhbGwgPSAzNTAwO1xyXG4gICAgZWxzZSBcclxuICAgIG1heEZvb3RmYWxsID0gNzUwO1xyXG4gICAgICBjb25zdCBub3JtYWxpemVkVmFsdWUgPSAoZm9vdGZhbGxDb3VudCAtIG1pbkZvb3RmYWxsKSAvIChtYXhGb290ZmFsbCAtIG1pbkZvb3RmYWxsKTtcclxuICAgICAgY29uc3QgY2xhbXBlZFZhbHVlID0gTWF0aC5taW4oTWF0aC5tYXgobm9ybWFsaXplZFZhbHVlLCAwKSwgMC41KTtcclxuICAgICAgY29uc3QgYWRqdXN0ZWRWYWx1ZSA9IE1hdGgucG93KGNsYW1wZWRWYWx1ZSwgMC41KTsgIC8vIEluY3JlYXNlIHBvd2VyIHRvIGRhcmtlbiBmYXN0ZXJcclxuICAgICAgY29uc3QgYmFzZUNvbG9yID0gYW01LmNvbG9yKDB4MDA4ZWRmKTsgIC8vIFN0YXJ0aW5nIGNvbG9yIChsaWdodCBibHVlKVxyXG4gICAgICBjb25zdCBhZGp1c3RlZENvbG9yID0gYW01LkNvbG9yLmxpZ2h0ZW4oYmFzZUNvbG9yLCAxIC0gYWRqdXN0ZWRWYWx1ZSk7XHJcbiAgICAgIHJldHVybiBhZGp1c3RlZENvbG9yO1xyXG4gICAgfVxyXG4gICAgXHJcbiAgICBcclxuICAgICAgZ2V0RHdlbGxDaGFydCgpIHtcclxuICAgICAgICB0aGlzLmNoYXJ0RHdlbGxOb0RhdGEgPSBmYWxzZTtcclxuICAgICAgdGhpcy5jaGFydER3ZWxsbG9hZGluZyA9IHRydWU7XHJcbiAgICAgICAgc2V0VGltZW91dCgoKSA9PiB7XHJcbiAgICAgICAgICBjb25zdCBjaGFydERpdiA9IGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKFwiZHdlbGxCYXJDaGFydFwiKTtcclxuICAgICAgICAgIGlmICghY2hhcnREaXYpIHtcclxuICAgICAgICAgICAgcmV0dXJuO1xyXG4gICAgICAgICAgfVxyXG4gICAgICAgICAgaWYgKHRoaXMuZHdlbGxSb290KSB7XHJcbiAgICAgICAgICAgIHRoaXMuZHdlbGxSb290LmRpc3Bvc2UoKTtcclxuICAgICAgICAgIH1cclxuICAgICAgICAgIC8vIENyZWF0ZSByb290IGVsZW1lbnRcclxuICAgICAgICAgIHRoaXMuZHdlbGxSb290ID0gYW01LlJvb3QubmV3KFwiZHdlbGxCYXJDaGFydFwiKTtcclxuICAgIFxyXG4gICAgICAgICAgLy8gU2V0IHRoZW1lc1xyXG4gICAgICAgICAgdGhpcy5kd2VsbFJvb3Quc2V0VGhlbWVzKFthbTV0aGVtZXNfQW5pbWF0ZWQubmV3KHRoaXMuZHdlbGxSb290KV0pO1xyXG4gICAgXHJcbiAgICAgICAgICAvLyBDcmVhdGUgY2hhcnRcclxuICAgICAgICAgIHRoaXMuZHdlbGxDaGFydCA9IHRoaXMuZHdlbGxSb290LmNvbnRhaW5lci5jaGlsZHJlbi5wdXNoKFxyXG4gICAgICAgICAgICBhbTV4eS5YWUNoYXJ0Lm5ldyh0aGlzLmR3ZWxsUm9vdCwge1xyXG4gICAgICAgICAgICAgIHBhblg6IGZhbHNlLFxyXG4gICAgICAgICAgICAgIHBhblk6IGZhbHNlLFxyXG4gICAgICAgICAgICAgIHdoZWVsWDogXCJwYW5YXCIsXHJcbiAgICAgICAgICAgICAgd2hlZWxZOiBcInpvb21YXCIsXHJcbiAgICAgICAgICAgICAgcGFkZGluZ0xlZnQ6IDAsXHJcbiAgICAgICAgICAgICAgbGF5b3V0OiB0aGlzLmR3ZWxsUm9vdC52ZXJ0aWNhbExheW91dCxcclxuICAgICAgICAgICAgfSlcclxuICAgICAgICAgICk7XHJcbiAgICBcclxuICAgICAgICAgbGV0IGRhdGEgPSB0aGlzLmdldERlbnNpdHlEd2VsbERhdGEuZHdlbGxUaW1lU3BsaXQ/Lm1hcChcclxuICAgICAgICAgICAgKGl0ZW06IGFueSkgPT4gKHtcclxuICAgICAgICAgICAgICB5ZWFyOiAoaXRlbS5kd2VsbF90aW1lKSArIFwiIE1pbnNcIixcclxuICAgICAgICAgICAgICBtYWxlQ291bnQ6IE51bWJlcihpdGVtLm1hbGVDb3VudF92YWx1ZSksXHJcbiAgICAgICAgICAgICAgbWFsZUN1c3RvbTogTnVtYmVyKGl0ZW0ubWFsZUNvdW50KSxcclxuICAgICAgICAgICAgICBmZW1hbGVDb3VudDogTnVtYmVyKGl0ZW0uZmVtYWxlQ291bnRfdmFsdWUpLFxyXG4gICAgICAgICAgICAgIGZlbWFsZUN1c3RvbTogTnVtYmVyKGl0ZW0uZmVtYWxlQ291bnQpXHJcbiAgICAgICAgICAgIH0pXHJcbiAgICAgICAgICApO1xyXG4gICAgICAgICAgICAgIFxyXG4gICAgICAgICAgLy8gQ3JlYXRlIGF4ZXNcclxuICAgICAgICAgIGxldCB4UmVuZGVyZXIgPSBhbTV4eS5BeGlzUmVuZGVyZXJYLm5ldyh0aGlzLmR3ZWxsUm9vdCwge1xyXG4gICAgICAgICAgICBtaW5HcmlkRGlzdGFuY2U6IDMwLFxyXG4gICAgICAgICAgICBtaW5vckdyaWRFbmFibGVkOiB0cnVlLFxyXG4gICAgICAgICAgfSk7XHJcbiAgICAgICAgICBsZXQgeEF4aXMgPSB0aGlzLmR3ZWxsQ2hhcnQueEF4ZXMucHVzaChcclxuICAgICAgICAgICAgYW01eHkuQ2F0ZWdvcnlBeGlzLm5ldyh0aGlzLmR3ZWxsUm9vdCwge1xyXG4gICAgICAgICAgICAgIGNhdGVnb3J5RmllbGQ6IFwieWVhclwiLFxyXG4gICAgICAgICAgICAgIHJlbmRlcmVyOiB4UmVuZGVyZXIsXHJcbiAgICAgICAgICAgICAgdG9vbHRpcDogYW01LlRvb2x0aXAubmV3KHRoaXMuZHdlbGxSb290LCB7fSksXHJcbiAgICAgICAgICAgIH0pXHJcbiAgICAgICAgICApO1xyXG4gICAgXHJcbiAgICAgICAgICB4UmVuZGVyZXIuZ3JpZC50ZW1wbGF0ZS5zZXRBbGwoe1xyXG4gICAgICAgICAgICBsb2NhdGlvbjogMSxcclxuICAgICAgICAgIH0pO1xyXG4gICAgXHJcbiAgICAgICAgICB4QXhpcy5kYXRhPy5zZXRBbGwoZGF0YSk7XHJcbiAgICBcclxuICAgICAgICAgIGxldCB5QXhpcyA9IHRoaXMuZHdlbGxDaGFydC55QXhlcy5wdXNoKFxyXG4gICAgICAgICAgICBhbTV4eS5WYWx1ZUF4aXMubmV3KHRoaXMuZHdlbGxSb290LCB7XHJcbiAgICAgICAgICAgICAgbWluOiAwLFxyXG4gICAgICAgICAgICAgIHJlbmRlcmVyOiBhbTV4eS5BeGlzUmVuZGVyZXJZLm5ldyh0aGlzLmR3ZWxsUm9vdCwge1xyXG4gICAgICAgICAgICAgICAgc3Ryb2tlT3BhY2l0eTogMC4xLFxyXG4gICAgICAgICAgICAgIH0pLFxyXG4gICAgICAgICAgICB9KVxyXG4gICAgICAgICAgKTtcclxuICAgIFxyXG4gICAgICAgICAgLy8gQWRkIGxlZ2VuZFxyXG4gICAgICAgICAgbGV0IGxlZ2VuZCA9IHRoaXMuZHdlbGxDaGFydC5jaGlsZHJlbi5wdXNoKFxyXG4gICAgICAgICAgICBhbTUuTGVnZW5kLm5ldyh0aGlzLmR3ZWxsUm9vdCwge1xyXG4gICAgICAgICAgICAgIGNlbnRlclg6IGFtNS5wNTAsXHJcbiAgICAgICAgICAgICAgeDogYW01LnA1MCxcclxuICAgICAgICAgICAgfSlcclxuICAgICAgICAgICk7XHJcbiAgICBcclxuICAgICAgICAgIC8vIEFkZCBzZXJpZXNcclxuICAgICAgICAgIC8vIGNvbnN0IFxyXG4gICAgICAgICBcclxuICAgICAgICAgIHRoaXMubWFrZVNlcmllczEoXCJNYWxlXCIsIFwibWFsZUNvdW50XCIsIHhBeGlzLCB5QXhpcywgZGF0YSwgbGVnZW5kKTtcclxuICAgICAgICAgIHRoaXMubWFrZVNlcmllczEoXCJGZW1hbGVcIiwgXCJmZW1hbGVDb3VudFwiLCB4QXhpcywgeUF4aXMsIGRhdGEsIGxlZ2VuZCk7XHJcbiAgICAgICAgICAvLyBNYWtlIHN0dWZmIGFuaW1hdGUgb24gbG9hZFxyXG4gICAgICAgICAgdGhpcy5kd2VsbENoYXJ0LmFwcGVhcigxMDAwLCAxMDApO1xyXG4gICAgICAgIH0sIDEwMCk7XHJcbiAgICAgIH1cclxuICAgICAgbWFrZVNlcmllczEobmFtZTogc3RyaW5nLCBmaWVsZE5hbWU6IHN0cmluZywgeEF4aXM6IGFueSwgeUF4aXM6IGFueSwgZGF0YTogYW55LCBsZWdlbmQ6IGFueSkge1xyXG4gICAgICAgIGxldCBzZXJpZXMgPSB0aGlzLmR3ZWxsQ2hhcnQuc2VyaWVzLnB1c2goXHJcbiAgICAgICAgICBhbTV4eS5Db2x1bW5TZXJpZXMubmV3KHRoaXMuZHdlbGxSb290LCB7XHJcbiAgICAgICAgICAgIG5hbWU6IG5hbWUsXHJcbiAgICAgICAgICAgIHN0YWNrZWQ6IHRydWUsXHJcbiAgICAgICAgICAgIHhBeGlzOiB4QXhpcyxcclxuICAgICAgICAgICAgeUF4aXM6IHlBeGlzLFxyXG4gICAgICAgICAgICB2YWx1ZVlGaWVsZDogZmllbGROYW1lLFxyXG4gICAgICAgICAgICBjYXRlZ29yeVhGaWVsZDogXCJ5ZWFyXCIsXHJcbiAgICAgICAgICB9KVxyXG4gICAgICAgICk7XHJcbiAgICAgIFxyXG4gICAgICAgIHNlcmllcy5jb2x1bW5zLnRlbXBsYXRlLnNldEFsbCh7XHJcbiAgICAgICAgICB0b29sdGlwVGV4dDogYFtib2xkXXtuYW1lfVsvXVxcbntjYXRlZ29yeVh9LFxcbkZvb3RmYWxsICU6IHtjdXN0b21WYWx1ZX0lYCxcclxuICAgICAgICAgIHRvb2x0aXBZOiBhbTUucGVyY2VudCgxMCksXHJcbiAgICAgICAgfSk7XHJcbiAgICAgIFxyXG4gICAgICAgIGlmIChkYXRhPy5sZW5ndGgpIHtcclxuICAgICAgICAgIGNvbnN0IGVuaGFuY2VkRGF0YSA9IGRhdGEubWFwKChkOiBhbnkpID0+ICh7XHJcbiAgICAgICAgICAgIC4uLmQsXHJcbiAgICAgICAgICAgIGN1c3RvbVZhbHVlOiBkW2ZpZWxkTmFtZSA9PT0gXCJtYWxlQ291bnRcIiA/IFwibWFsZUN1c3RvbVwiIDogXCJmZW1hbGVDdXN0b21cIl1cclxuICAgICAgICAgIH0pKTtcclxuICAgICAgICAgIHNlcmllcy5kYXRhLnNldEFsbChlbmhhbmNlZERhdGEpO1xyXG4gICAgICAgIH1cclxuICAgICAgXHJcbiAgICAgICAgc2VyaWVzLmJ1bGxldHMucHVzaCgoKSA9PiB7XHJcbiAgICAgICAgICBsZXQgbGFiZWwgPSBhbTUuTGFiZWwubmV3KHRoaXMuZHdlbGxSb290LCB7XHJcbiAgICAgICAgICAgIHRleHQ6IFwie3ZhbHVlWX1cIixcclxuICAgICAgICAgICAgZmlsbDogdGhpcy5kd2VsbFJvb3QuaW50ZXJmYWNlQ29sb3JzLmdldChcImFsdGVybmF0aXZlVGV4dFwiKSxcclxuICAgICAgICAgICAgY2VudGVyWTogYW01LnA1MCxcclxuICAgICAgICAgICAgY2VudGVyWDogYW01LnA1MCxcclxuICAgICAgICAgICAgcG9wdWxhdGVUZXh0OiB0cnVlLFxyXG4gICAgICAgICAgfSk7XHJcbiAgICAgIFxyXG4gICAgICAgICAgbGFiZWwuYWRhcHRlcnMuYWRkKFwidmlzaWJsZVwiLCAodmlzaWJsZSwgdGFyZ2V0KSA9PiB7XHJcbiAgICAgICAgICAgIGNvbnN0IHZhbHVlID0gKHRhcmdldC5kYXRhSXRlbT8uZGF0YUNvbnRleHQgYXMgYW55KT8uW2ZpZWxkTmFtZV07XHJcbiAgICAgICAgICAgIHJldHVybiB2YWx1ZSAhPT0gMDtcclxuICAgICAgICAgIH0pO1xyXG4gICAgICBcclxuICAgICAgICAgIHJldHVybiBhbTUuQnVsbGV0Lm5ldyh0aGlzLmR3ZWxsUm9vdCwge1xyXG4gICAgICAgICAgICBzcHJpdGU6IGxhYmVsLFxyXG4gICAgICAgICAgfSk7XHJcbiAgICAgICAgfSk7XHJcbiAgICAgIFxyXG4gICAgICAgIGlmIChsZWdlbmQpIHtcclxuICAgICAgICAgIGxlZ2VuZC5kYXRhLnB1c2goc2VyaWVzKTtcclxuICAgICAgICB9XHJcbiAgICAgIH1cclxuICAgICAgXHJcbiAgICAgIFxyXG4gICAgICBcclxuICAgICAgc3RvcmVOYW1lOmFueTtcclxuICAgICAgc3RvcmVJZDphbnk7XHJcbiAgICAgIGZvcm1hdERhdGUoZGF0ZVN0cmluZzogc3RyaW5nKTogc3RyaW5nIHtcclxuICAgICAgICByZXR1cm4gdGhpcy5kYXlqcyhkYXRlU3RyaW5nKS5mb3JtYXQoJ0REIE1NTScpOyAgLy8gT3V0cHV0OiAnMDEgSmFuJ1xyXG4gICAgICB9XHJcbiAgICAgICAgaGFuZGxlQmFyQ2xpY2soZGF0YUl0ZW06IGFueSk6IHZvaWQge1xyXG4gICAgICAgICAgdGhpcy5zdG9yZU5hbWUgPSBkYXRhSXRlbS5mdWxsU3RvcmVOYW1lO1xyXG4gICAgICAgICAgdGhpcy5zdG9yZUlkID0gZGF0YUl0ZW0uc3RvcmVJZFxyXG4gICAgICAgICAgdGhpcy5vYmpEYXRhVHJhZmZpYy5zdG9yZUlkID1bZGF0YUl0ZW0uc3RvcmVJZF0sXHJcbiAgICAgICAgICB0aGlzLm9iakRhdGFUcmFmZmljLmxpbWl0ID0zMSxcclxuICAgICAgICAgIHRoaXMuc2VydmljZVxyXG4gICAgICAgICAgICAuZ2V0U2luZ2xlU3RvcmVDaGFydCh0aGlzLm9iakRhdGFUcmFmZmljKVxyXG4gICAgICAgICAgICAucGlwZSh0YWtlVW50aWwodGhpcy5kZXN0cm95JCkpXHJcbiAgICAgICAgICAgID8uc3Vic2NyaWJlKHtcclxuICAgICAgICAgICAgICBuZXh0OiAocmVzOiBhbnkpID0+IHtcclxuICAgICAgICAgICAgICAgIGlmIChyZXMgJiYgcmVzLmNvZGUgPT09IDIwMCkge1xyXG4gICAgICAgICAgICAgICAgICB0aGlzLmdldFNpbmdsZUNoYXJ0RGF0YSA9IHJlcz8uZGF0YS5zdG9yZURhdGE7XHJcbiAgICAgICAgICAgICAgICAgIHRoaXMuZGV0YWlsZWRDaGFydHMgPSB0cnVlO1xyXG4gICAgICAgICAgICAgICAgICB0aGlzLmNkLmRldGVjdENoYW5nZXMoKTsgXHJcbiAgICAgICAgICAgICAgICAgIHNldFRpbWVvdXQoKCkgPT4gdGhpcy5nZXRTaW5nbGVTdG9yZSgpLCAwKTsgLy8gQ2FsbCB3aXRoIGEgZGVsYXkgdG8gZW5zdXJlIHRoZSBlbGVtZW50IGlzIGluIHRoZSBET01cclxuICAgICAgICAgICAgICAgIH1cclxuICAgICAgICAgICAgICB9LFxyXG4gICAgICAgICAgICAgIGVycm9yOiAoZXJyOiBhbnkpID0+IHtcclxuICAgICAgICAgICAgICAgIHRoaXMuY2QuZGV0ZWN0Q2hhbmdlcygpO1xyXG4gICAgICAgICAgICAgIH0sXHJcbiAgICAgICAgICAgICAgY29tcGxldGU6ICgpID0+IHt9LFxyXG4gICAgICAgICAgICB9KTtcclxuICAgICAgICAgICAgXHJcbiAgICAgICAgfVxyXG5cclxuICAgICAgICBnZXRTaW5nbGVTdG9yZSgpe1xyXG4gICAgICAgICAgICBjb25zdCBjaGFydERpdiA9IGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKFwiZGV0YWlsZWRDaGFydERpdlwiKTtcclxuICAgICAgICAgICAgaWYgKCFjaGFydERpdikge1xyXG4gICAgICAgICAgICAgIHJldHVybjtcclxuICAgICAgICAgICAgfVxyXG4gICAgICAgIFxyXG4gICAgICAgICAgICBpZiAodGhpcy5kZXRhaWxlZFJvb3QpIHtcclxuICAgICAgICAgICAgICB0aGlzLmRldGFpbGVkUm9vdC5kaXNwb3NlKCk7XHJcbiAgICAgICAgICAgIH1cclxuICAgICAgICAgIFxyXG4gICAgICAgICAgICB0aGlzLmRldGFpbGVkUm9vdCA9IGFtNS5Sb290Lm5ldyhcImRldGFpbGVkQ2hhcnREaXZcIik7XHJcbiAgICAgICAgICAgIHRoaXMuZGV0YWlsZWRSb290LnNldFRoZW1lcyhbXHJcbiAgICAgICAgICAgICAgYW01dGhlbWVzX0FuaW1hdGVkLm5ldyh0aGlzLmRldGFpbGVkUm9vdCksXHJcbiAgICAgICAgICAgIF0pO1xyXG4gICAgICAgIFxyXG4gICAgICAgICAgICB0aGlzLmRldGFpbGVkQ2hhcnQgPSB0aGlzLmRldGFpbGVkUm9vdC5jb250YWluZXIuY2hpbGRyZW4ucHVzaChcclxuICAgICAgICAgICAgICBhbTV4eS5YWUNoYXJ0Lm5ldyh0aGlzLmRldGFpbGVkUm9vdCwge1xyXG4gICAgICAgICAgICAgICAgcGFuWDogZmFsc2UsXHJcbiAgICAgICAgICAgICAgICBwYW5ZOiBmYWxzZSxcclxuICAgICAgICAgICAgICAgIHdoZWVsWDogXCJwYW5YXCIsXHJcbiAgICAgICAgICAgICAgICB3aGVlbFk6IFwiem9vbVhcIixcclxuICAgICAgICAgICAgICAgIHBhZGRpbmdMZWZ0OiAwLFxyXG4gICAgICAgICAgICAgIH0pXHJcbiAgICAgICAgICAgICk7XHJcbiAgICAgICAgXHJcbiAgICAgICAgICAgIC8vIEFkZCBjdXJzb3JcclxuICAgICAgICAgICAgbGV0IGN1cnNvciA9IHRoaXMuZGV0YWlsZWRDaGFydC5zZXQoXHJcbiAgICAgICAgICAgICAgXCJjdXJzb3JcIixcclxuICAgICAgICAgICAgICBhbTV4eS5YWUN1cnNvci5uZXcodGhpcy5kZXRhaWxlZFJvb3QsIHt9KVxyXG4gICAgICAgICAgICApO1xyXG4gICAgICAgICAgICBjdXJzb3IubGluZVkuc2V0KFwidmlzaWJsZVwiLCBmYWxzZSk7XHJcbiAgICAgICAgXHJcbiAgICAgICAgICAgIC8vIENyZWF0ZSBheGVzXHJcbiAgICAgICAgICAgIGxldCB4UmVuZGVyZXIgPSBhbTV4eS5BeGlzUmVuZGVyZXJYLm5ldyh0aGlzLmRldGFpbGVkUm9vdCwge1xyXG4gICAgICAgICAgICAgIG1pbkdyaWREaXN0YW5jZTogMzAsXHJcbiAgICAgICAgICAgICAgbWlub3JHcmlkRW5hYmxlZDogdHJ1ZSxcclxuICAgICAgICAgICAgfSk7XHJcbiAgICAgICAgXHJcbiAgICAgICAgICAgIHhSZW5kZXJlci5sYWJlbHMudGVtcGxhdGUuc2V0QWxsKHtcclxuICAgICAgICAgICAgICByb3RhdGlvbjogLTkwLFxyXG4gICAgICAgICAgICAgIGNlbnRlclk6IGFtNS5wNTAsXHJcbiAgICAgICAgICAgICAgY2VudGVyWDogYW01LnAxMDAsXHJcbiAgICAgICAgICAgICAgcGFkZGluZ1JpZ2h0OiAxNSxcclxuICAgICAgICAgICAgfSk7XHJcbiAgICAgICAgXHJcbiAgICAgICAgICAgIHhSZW5kZXJlci5ncmlkLnRlbXBsYXRlLnNldEFsbCh7XHJcbiAgICAgICAgICAgICAgbG9jYXRpb246IDEsXHJcbiAgICAgICAgICAgIH0pO1xyXG4gICAgICAgICAgICAvLyBBZGQgc2Nyb2xsYmFyXHJcbiAgICAgICAgICAgIHRoaXMuZGV0YWlsZWRDaGFydC5zZXQoXHJcbiAgICAgICAgICAgICAgXCJzY3JvbGxiYXJYXCIsXHJcbiAgICAgICAgICAgICAgYW01LlNjcm9sbGJhci5uZXcodGhpcy5kZXRhaWxlZFJvb3QsIHtcclxuICAgICAgICAgICAgICAgIG9yaWVudGF0aW9uOiBcImhvcml6b250YWxcIixcclxuICAgICAgICAgICAgICB9KVxyXG4gICAgICAgICAgICApO1xyXG4gICAgICAgICAgICBsZXQgeEF4aXMgPSB0aGlzLmRldGFpbGVkQ2hhcnQueEF4ZXMucHVzaChcclxuICAgICAgICAgICAgICBhbTV4eS5DYXRlZ29yeUF4aXMubmV3KHRoaXMuZGV0YWlsZWRSb290LCB7XHJcbiAgICAgICAgICAgICAgICBtYXhEZXZpYXRpb246IDAuMyxcclxuICAgICAgICAgICAgICAgIGNhdGVnb3J5RmllbGQ6IFwiZGF0ZVwiLFxyXG4gICAgICAgICAgICAgICAgcmVuZGVyZXI6IHhSZW5kZXJlcixcclxuICAgICAgICAgICAgICAgIHRvb2x0aXA6IGFtNS5Ub29sdGlwLm5ldyh0aGlzLmRldGFpbGVkUm9vdCwge30pLFxyXG4gICAgICAgICAgICAgIH0pXHJcbiAgICAgICAgICAgICk7XHJcbiAgICAgICAgXHJcbiAgICAgICAgICAgIGxldCB5UmVuZGVyZXIgPSBhbTV4eS5BeGlzUmVuZGVyZXJZLm5ldyh0aGlzLmRldGFpbGVkUm9vdCwge1xyXG4gICAgICAgICAgICAgIHN0cm9rZU9wYWNpdHk6IDAuMSxcclxuICAgICAgICAgICAgfSk7XHJcbiAgICAgICAgXHJcbiAgICAgICAgICAgIGxldCB5QXhpcyA9IHRoaXMuZGV0YWlsZWRDaGFydC55QXhlcy5wdXNoKFxyXG4gICAgICAgICAgICAgIGFtNXh5LlZhbHVlQXhpcy5uZXcodGhpcy5kZXRhaWxlZFJvb3QsIHtcclxuICAgICAgICAgICAgICAgIG1heERldmlhdGlvbjogMC4zLFxyXG4gICAgICAgICAgICAgICAgcmVuZGVyZXI6IHlSZW5kZXJlcixcclxuICAgICAgICAgICAgICB9KVxyXG4gICAgICAgICAgICApO1xyXG4gICAgICAgICAgICBcclxuICAgICAgICAgICAgbGV0IGRhdGEgPSB0aGlzLmdldFNpbmdsZUNoYXJ0RGF0YS5tYXAoKGl0ZW06IGFueSkgPT4gKHtcclxuICAgICAgICAgICAgICBkYXRlOiB0aGlzLmZvcm1hdERhdGUoaXRlbS5kYXRlKSwgLy8gQ29udmVydCBkYXRlIHN0cmluZyB0byB0aW1lc3RhbXBcclxuICAgICAgICAgICAgICB2YWx1ZTogTnVtYmVyKGl0ZW0uY291bnQpLCAvLyBVc2UgYGNvdW50YCBhcyBgdmFsdWVgXHJcbiAgICAgICAgICAgIH0pKTtcclxuICAgICAgICAgICAgZGF0YS5zb3J0KChhOiBhbnksIGI6IGFueSkgPT4ge1xyXG4gICAgICAgICAgICAgIC8vIFBhcnNlIHN0b3JlTmFtZSBhcyBhIERhdGUgYW5kIGNvbXBhcmVcclxuICAgICAgICAgICAgICBjb25zdCBkYXRlQSA9IG5ldyBEYXRlKGEuZGF0ZSk7XHJcbiAgICAgICAgICAgICAgY29uc3QgZGF0ZUIgPSBuZXcgRGF0ZShiLmRhdGUpO1xyXG4gICAgICAgICAgICAgIFxyXG4gICAgICAgICAgICAgIC8vIFNvcnQgaW4gYXNjZW5kaW5nIG9yZGVyIChvbGRlc3QgdG8gbmV3ZXN0KVxyXG4gICAgICAgICAgICAgIHJldHVybiBkYXRlQS5nZXRUaW1lKCkgLSBkYXRlQi5nZXRUaW1lKCk7XHJcbiAgICAgICAgICAgIH0pO1xyXG4gICAgICAgICAgICAvLyBDcmVhdGUgc2VyaWVzXHJcbiAgICAgICAgICAgIHRoaXMuZGV0YWlsZWRTZXJpZXMgPSB0aGlzLmRldGFpbGVkQ2hhcnQuc2VyaWVzLnB1c2goXHJcbiAgICAgICAgICAgICAgYW01eHkuQ29sdW1uU2VyaWVzLm5ldyh0aGlzLmRldGFpbGVkUm9vdCwge1xyXG4gICAgICAgICAgICAgICAgbmFtZTogXCJTZXJpZXMgMlwiLFxyXG4gICAgICAgICAgICAgICAgeEF4aXM6IHhBeGlzLFxyXG4gICAgICAgICAgICAgICAgeUF4aXM6IHlBeGlzLFxyXG4gICAgICAgICAgICAgICAgdmFsdWVZRmllbGQ6IFwidmFsdWVcIixcclxuICAgICAgICAgICAgICAgIHNlcXVlbmNlZEludGVycG9sYXRpb246IHRydWUsXHJcbiAgICAgICAgICAgICAgICBjYXRlZ29yeVhGaWVsZDogXCJkYXRlXCIsXHJcbiAgICAgICAgICAgICAgICB0b29sdGlwOiBhbTUuVG9vbHRpcC5uZXcodGhpcy5kZXRhaWxlZFJvb3QsIHtcclxuICAgICAgICAgICAgICAgICAgbGFiZWxUZXh0OiBcInt2YWx1ZVl9XCIsXHJcbiAgICAgICAgICAgICAgICB9KSxcclxuICAgICAgICAgICAgICB9KVxyXG4gICAgICAgICAgICApO1xyXG4gICAgICAgICAgICB0aGlzLmRldGFpbGVkU2VyaWVzLmNvbHVtbnMudGVtcGxhdGUuc2V0QWxsKHsgc3Ryb2tlT3BhY2l0eTogMCB9KTtcclxuICAgICAgICAgICAgeEF4aXMuZGF0YS5zZXRBbGwoZGF0YSk7XHJcbiAgICAgICAgICAgIHRoaXMuZGV0YWlsZWRTZXJpZXMuZGF0YS5zZXRBbGwoZGF0YSk7XHJcbiAgICAgICAgICAgIHRoaXMuZGV0YWlsZWRTZXJpZXMuYXBwZWFyKDEwMDApO1xyXG4gICAgICAgICAgICB0aGlzLmRldGFpbGVkQ2hhcnQuYXBwZWFyKDEwMDAsIDEwMCk7XHJcbiAgICAgICAgfVxyXG5cclxuICAgICAgICBmb3JlY2FzdEFwaShldnQ6YW55KXtcclxuICAgICAgICAgIGlmKGV2dC50YXJnZXQuY2hlY2tlZCl7XHJcbiAgICAgICAgICAgIHRoaXMub2JqRGF0YS5mb3JlY2FzdCA9IHRydWVcclxuICAgICAgICAgICAgdGhpcy5vYmpEYXRhLm5vcm1hbGl6ZSA9IGZhbHNlXHJcbiAgICAgICAgICAgIHRoaXMub2JqRGF0YS5ub2IgPSBmYWxzZVxyXG4gICAgICAgICAgICB0aGlzLm9iakRhdGEuZmlsdGVyQnkgPSAnYXZlcmFnZSdcclxuICAgICAgICAgIH0gZWxzZSB7XHJcbiAgICAgICAgICAgIHRoaXMub2JqRGF0YS5mb3JlY2FzdCA9IGZhbHNlXHJcbiAgICAgICAgICAgIHRoaXMub2JqRGF0YS5ub3JtYWxpemUgPSB0aGlzLmNsaWVudERhdGE/LmZlYXR1cmVDb25maWdzPy5pc05vcm1hbGl6ZWRcclxuICAgICAgICAgICAgdGhpcy5vYmpEYXRhLm5vYiA9IGZhbHNlXHJcbiAgICAgICAgICAgIHRoaXMub2JqRGF0YS5maWx0ZXJCeSA9ICdhdmVyYWdlJ1xyXG4gICAgICAgICAgfVxyXG4gICAgICAgICAgdGhpcy5mb290ZmFsbFRyZW5kKCk7XHJcbiAgICAgICAgfVxyXG4gICAgICAgIFxyXG5cclxuICAgICAgICB0b2dnbGVOb3JtYWxpemUoZXZ0OmFueSl7XHJcbiAgICAgICAgICB0aGlzLm5vcm1hbGl6ZSA9ZXZ0LnRhcmdldC5jaGVja2VkO1xyXG4gICAgICAgICAgdGhpcy50YWJsZW9iai5ub3JtYWxpemUgPSB0aGlzLm5vcm1hbGl6ZVxyXG4gICAgICAgICAgdGhpcy5vYmpEYXRhLm5vcm1hbGl6ZSA9IHRoaXMubm9ybWFsaXplXHJcbiAgICAgICAgICB0aGlzLm9iakRhdGFUcmFmZmljLm5vcm1hbGl6ZSA9IHRoaXMubm9ybWFsaXplXHJcbiAgICAgICAgICAvLyB0aGlzLnRhYmxlb2JqLmZvcmVjYXN0ID0gZmFsc2VcclxuICAgICAgICAgIHRoaXMub2JqRGF0YS5mb3JlY2FzdCA9IGZhbHNlO1xyXG4gICAgICAgICAgdGhpcy5mb3JlY2FzdCA9ZmFsc2U7XHJcbiAgICAgICAgICAvLyB0aGlzLm9iakRhdGFUcmFmZmljLmZvcmVjYXN0ID0gZmFsc2VcclxuICAgICAgICAgIHRoaXMuY29udmVyc2lvblZhbHVlID0gdGhpcy5ub2JcclxuICAgICAgICAgICAgICA/IFwiTm9CIERlcml2ZWRcIlxyXG4gICAgICAgICAgICAgIDogdGhpcy5jbGllbnREYXRhPy5mZWF0dXJlQ29uZmlnc1xyXG4gICAgICAgICAgICAgICAgICA/Lm1pc3NlZE9wcG9ydHVuaXR5Q2FsY3VsYXRpb24gPT09ICdlbmdhZ2Vycy1jb252ZXJzaW9uJ1xyXG4gICAgICAgICAgICAgID8gXCJlbmdhZ2Vyc1wiXHJcbiAgICAgICAgICAgICAgOiBcImZvb3RmYWxsXCI7XHJcbiAgICAgICAgICB0aGlzLmdldEZ1bm5hbCgpO1xyXG4gICAgICAgICAgdGhpcy5nZXRGb290ZmFsbENhcmQoKTtcclxuICAgICAgICAgIHRoaXMuZ2V0Q29udmVyc2lvbkNhcmQoKTtcclxuICAgICAgICAgIHRoaXMuZ2V0Qm91bmNlZENhcmQoKTtcclxuICAgICAgICAgIHRoaXMuZ2V0RW5nYWdlcnNDYXJkKCk7XHJcbiAgICAgICAgICB0aGlzLmdldFBvdGVudGlhbEJ1eWVyc0NhcmQoKTtcclxuICAgICAgICAgIHRoaXMuZ2V0TWlzc2VkT3Bwb3J0dW5pdHlDYXJkKCk7XHJcbiAgICAgICAgICB0aGlzLmdldFBvdGVudGlhbEJ1eWVycygpO1xyXG4gICAgICAgICAgdGhpcy5wZXJmb3JtYW5jZSgpO1xyXG4gICAgICAgICAgdGhpcy5nZXRUYWJsZSgpO1xyXG4gICAgICAgICAgdGhpcy5mb290ZmFsbFRyZW5kKCk7XHJcbiAgICAgICAgICBpZih0aGlzLmhlYWRlckRhdGE/LmNsaWVudCA9PT0nNDU5Jyl7XHJcbiAgICAgICAgICAgIHRoaXMuc2VsZWN0ZWRUYWIgPSBcImZvb3RmYWxsXCJcclxuICAgICAgICAgICAgdGhpcy5mb290ZmFsbFZhbHVlID0gXCJmb290ZmFsbFwiO1xyXG4gICAgICAgICAgICB0aGlzLnNlbGN0ZWRWYWx1ZSA9J0Zvb3RmYWxsIEFuYWx5c2lzJztcclxuICAgICAgICAgICAgdGhpcy5zZWxlY3RlZFRhYnMoJ2Zvb3RmYWxsJyk7XHJcbiAgICAgICAgICB9IGVsc2Uge1xyXG4gICAgICAgICAgICB0aGlzLnNlbGVjdGVkVGFiID0gXCJ0cmFmZmljXCJcclxuICAgICAgICAgICAgdGhpcy5mb290ZmFsbFZhbHVlID0gXCJ0cmFmZmljXCI7XHJcbiAgICAgICAgICAgIHRoaXMuc2VsY3RlZFZhbHVlID0nVHJhZmZpYyBBbmFseXNpcyc7XHJcbiAgICAgICAgICAgIHRoaXMuc2VsZWN0ZWRUYWJzKCd0cmFmZmljJyk7XHJcbiAgICAgICAgICB9XHJcbiAgICAgICAgICBpZih0aGlzLm5vcm1hbGl6ZSA9PT0gdHJ1ZSl7XHJcbiAgICAgICAgICB0aGlzLnpvbmVEd2VsbFRpbWVTcGxpdERhdGEgPVtdO1xyXG4gICAgICAgICAgICB0aGlzLnpvbmVMb2FkaW5nID0gZmFsc2U7XHJcbiAgICAgICAgICAgIHRoaXMuem9uZU5vRGF0YSA9IHRydWU7XHJcbiAgICAgICAgICAgIHRoaXMuc3RvcmVPcGVyYXRpb25EYXRhID1bXTtcclxuICAgICAgICAgICAgdGhpcy5hdUxvY2F0aW9ucyA9W107XHJcbiAgICAgICAgICAgIHRoaXMubXBhbG9hZGluZyA9ZmFsc2U7XHJcbiAgICAgICAgICAgIHRoaXMubWFwbm9EYXRhPSB0cnVlO1xyXG4gICAgICAgICAgICB0aGlzLmZvcmVjYXN0ID1mYWxzZTtcclxuICAgICAgICAgICAgdGhpcy5vYmpEYXRhLmZvcmVjYXN0ID0gZmFsc2U7XHJcbiAgICAgICAgICAgIGlmKHRoaXMuc3RvcmVJZGFycmF5Lmxlbmd0aCA9PT0gMSl7XHJcbiAgICAgICAgICAgIHRoaXMuZ2V0UmVjYXBWaWRlb0RhdGEgPVtdXHJcbiAgICAgICAgICAgIHRoaXMucmVjYXBsYW9kaW5nID1mYWxzZTtcclxuICAgICAgICAgICAgdGhpcy5yZWNhcG5vRGF0YSA9dHJ1ZTtcclxuICAgICAgICAgICAgdGhpcy5zZXJ2aWNlPy50b2dnbGVub3JtYWxpemUodGhpcy5ub3JtYWxpemUpO1xyXG4gICAgICAgICAgICB9XHJcbiAgICAgICAgICB9IGVsc2Uge1xyXG4gICAgICAgICAgICB0aGlzLmdldFpvbmUoKTsgdGhpcy5nZXRab25lVmFsdWUoKTtcclxuICAgICAgICAgICAgdGhpcy5nZXRNYXAoKTtcclxuICAgICAgICAgICAgaWYodGhpcy5zdG9yZUlkYXJyYXkubGVuZ3RoID09PSAxKXtcclxuICAgICAgICAgICAgdGhpcy5nZXRSZWNhcCgpO1xyXG4gICAgICAgICAgICB0aGlzLnNlcnZpY2U/LnRvZ2dsZW5vcm1hbGl6ZSh0aGlzLm5vcm1hbGl6ZSk7XHJcbiAgICAgICAgICAgIH1cclxuICAgICAgICAgIH1cclxuICAgICAgICAgIHRoaXMuY2QuZGV0ZWN0Q2hhbmdlcygpO1xyXG4gICAgICAgIH1cclxuXHJcblxyXG4gICAgICAgIFxyXG59XHJcblxyXG5cclxuXHJcblxyXG5cclxuXHJcbmludGVyZmFjZSBEYXRhQ29udGV4dCB7XHJcbiAgY2F0ZWdvcnk6IHN0cmluZztcclxuICB2YWx1ZTogbnVtYmVyO1xyXG4gIGNvdW50OiBudW1iZXI7XHJcbn1cclxuZnVuY3Rpb24gZ2V0RGF5c0JldHdlZW5EYXRlcyhmcm9tRGF0ZTogc3RyaW5nLCB0b0RhdGU6IHN0cmluZyk6IG51bWJlciB7XHJcbiAgLy8gUGFyc2UgdGhlIGRhdGUgc3RyaW5ncyBpbnRvIERhdGUgb2JqZWN0c1xyXG4gIGNvbnN0IHN0YXJ0ID0gbmV3IERhdGUoZnJvbURhdGUpO1xyXG4gIGNvbnN0IGVuZCA9IG5ldyBEYXRlKHRvRGF0ZSk7XHJcblxyXG4gIC8vIENhbGN1bGF0ZSB0aGUgZGlmZmVyZW5jZSBpbiBtaWxsaXNlY29uZHNcclxuICBjb25zdCBkaWZmZXJlbmNlSW5NcyA9IGVuZC5nZXRUaW1lKCkgLSBzdGFydC5nZXRUaW1lKCk7XHJcblxyXG4gIC8vIENvbnZlcnQgbWlsbGlzZWNvbmRzIHRvIGRheXMgKDEgZGF5ID0gODY0MDAwMDAgbWlsbGlzZWNvbmRzKVxyXG4gIGNvbnN0IG1pbGxpc2Vjb25kc1BlckRheSA9IDg2NDAwMDAwO1xyXG4gIGNvbnN0IGRpZmZlcmVuY2VJbkRheXMgPSBNYXRoLmZsb29yKGRpZmZlcmVuY2VJbk1zIC8gbWlsbGlzZWNvbmRzUGVyRGF5KTtcclxuXHJcbiAgcmV0dXJuIGRpZmZlcmVuY2VJbkRheXM7XHJcbn1cclxuXHJcbmludGVyZmFjZSBDaGFydERhdGFJdGVtIHtcclxuICByYXRlOiBudW1iZXI7XHJcbiAgY291bnQ6IG51bWJlcjtcclxuICB0aW1lOiBzdHJpbmc7XHJcbn1cclxuXHJcblxyXG5cclxuXHJcblxyXG4vLyBnZXRDYXJkKCkge1xyXG4vLyAgIHRoaXMudGFibGVvYmoudmFsdWVUeXBlPSB0aGlzLnZhbHVlVHlwZSxcclxuLy8gICB0aGlzLnRhYmxlb2JqLmZyb21EYXRlID0gdGhpcy5oZWFkZXJEYXRhPy5kYXRlLnN0YXJ0RGF0ZTtcclxuLy8gICB0aGlzLnRhYmxlb2JqLnRvRGF0ZSA9IHRoaXMuaGVhZGVyRGF0YT8uZGF0ZS5lbmREYXRlO1xyXG4vLyAgZGVsZXRlIHRoaXMudGFibGVvYmoub2Zmc2V0O1xyXG4vLyAgZGVsZXRlIHRoaXMudGFibGVvYmoucmVjYXBWaWRlb0RhdGU7XHJcbi8vICBkZWxldGUgdGhpcy50YWJsZW9iai5saW1pdDsgXHJcbi8vICBkZWxldGUgdGhpcy50YWJsZW9iai5zb3J0O1xyXG4vLyAgZGVsZXRlIHRoaXMudGFibGVvYmouc29ydEJ5O1xyXG4vLyAgZGVsZXRlIHRoaXMudGFibGVvYmouZXhwb3J0O1xyXG4vLyAgIHRoaXMuaGVhdGxvYWRpbmcgPSB0cnVlO1xyXG4vLyAgIHRoaXMuaGVhdG5vRGF0YSA9IGZhbHNlO1xyXG4vLyAgZGVsZXRlIHRoaXMudGFibGVvYmouZGF0ZVR5cGVcclxuLy8gICB0aGlzLnNlcnZpY2VcclxuLy8gICAgIC5nZXRDYXJkTGlzdCh0aGlzLnRhYmxlb2JqKVxyXG4vLyAgICAgLnBpcGUodGFrZVVudGlsKHRoaXMuZGVzdHJveSQpKVxyXG4vLyAgICAgPy5zdWJzY3JpYmUoe1xyXG4vLyAgICAgICBuZXh0OiAocmVzOiBhbnkpID0+IHtcclxuLy8gICAgICAgICBpZiAocmVzICYmIHJlcy5jb2RlID09PSAyMDApIHtcclxuLy8gICAgICAgICAgIHRoaXMuZ2V0Q2FyZERhdGEgPSByZXM/LmRhdGE/LmNhcmQ7XHJcbi8vICAgICAgICAgICAvLyB0aGlzLmhlYXRNYXBEYXRhID0gcmVzPy5kYXRhPy5mdW5uZWxDaGFydDtcclxuICAgICAgICAgXHJcbi8vICAgICAgICAgICB0aGlzLmNkLmRldGVjdENoYW5nZXMoKTtcclxuLy8gICAgICAgICB9IGVsc2Uge1xyXG4vLyAgICAgICAgICAgdGhpcy5nZXRDYXJkRGF0YSA9W107XHJcbi8vICAgICAgICAgICB0aGlzLmhlYXRNYXBEYXRhID1bXTtcclxuLy8gICAgICAgICB0aGlzLmhlYXRsb2FkaW5nID0gZmFsc2VcclxuLy8gICAgICAgICB0aGlzLmhlYXRub0RhdGEgPSB0cnVlXHJcbi8vICAgICAgICAgfVxyXG4vLyAgICAgICB9LFxyXG4vLyAgICAgICBlcnJvcjogKGVycjogYW55KSA9PiB7XHJcbi8vICAgICAgICAgdGhpcy5nZXRDYXJkRGF0YSA9W107XHJcbi8vICAgICAgICAgdGhpcy5oZWF0TWFwRGF0YSA9W107XHJcbi8vICAgICAgICAgdGhpcy5jZC5kZXRlY3RDaGFuZ2VzKCk7XHJcbi8vICAgICAgIH0sXHJcbi8vICAgICAgIGNvbXBsZXRlOiAoKSA9PiB7fSxcclxuLy8gICAgIH0pO1xyXG4vLyB9XHJcblxyXG4vLyBnZXRDYXJkR3JhcGgoKSB7XHJcbi8vICAgdGhpcy5jYXJkbG9hZGluZyA9dHJ1ZTtcclxuLy8gICB0aGlzLmNhcmROb2RhdGEgPWZhbHNlO1xyXG4vLyAgIGRlbGV0ZSB0aGlzLnRhYmxlb2JqLm5vcm1hbGl6ZWREYXRhO1xyXG4vLyAgIGRlbGV0ZSB0aGlzLnRhYmxlb2JqLnByb2Nlc3NUeXBlO1xyXG4vLyAgIHRoaXMudGFibGVvYmouZGF0ZVR5cGUgPSB0aGlzLmRhdGVUeXBlO1xyXG4vLyAgIGRlbGV0ZSB0aGlzLnRhYmxlb2JqLnNvcnQ7XHJcbi8vICAgZGVsZXRlIHRoaXMudGFibGVvYmouc29ydEJ5O1xyXG4vLyAgIHRoaXMuc2VydmljZVxyXG4vLyAgICAgLmdldENhcmRHcmFwaExpc3QodGhpcy50YWJsZW9iailcclxuLy8gICAgIC5waXBlKHRha2VVbnRpbCh0aGlzLmRlc3Ryb3kkKSlcclxuLy8gICAgID8uc3Vic2NyaWJlKHtcclxuLy8gICAgICAgbmV4dDogKHJlczogYW55KSA9PiB7XHJcbi8vICAgICAgICAgaWYgKHJlcyAmJiByZXMuY29kZSA9PT0gMjAwKSB7XHJcbi8vICAgICAgICAgICB0aGlzLmdldENhcmRHcmFwaERhdGEgPSByZXM/LmRhdGE7XHJcbi8vICAgICAgICAgICBpZih0aGlzLm5vYil7XHJcbi8vICAgICAgICAgICAgIHRoaXMudmFsdWVDb252ZXJzaW9uUmF0ZSA9IHRoaXMuZ2V0Q2FyZEdyYXBoRGF0YT8uY29udmVyc2lvbj8ubm9iLm5vYjtcclxuLy8gICAgICAgICAgIHRoaXMuY29udmVyc2lvblZhbHVlID0nTm9CIERlcml2ZWQnXHJcbi8vICAgICAgICAgICB9ZWxzZSB7IFxyXG4vLyAgICAgICAgICAgdGhpcy52YWx1ZUNvbnZlcnNpb25SYXRlID0gIHRoaXMuZ2V0Q2FyZEdyYXBoRGF0YT8uY29udmVyc2lvbj8uZm9vdGZhbGwucmF0ZTtcclxuLy8gICAgICAgICAgICB0aGlzLmNvbnZlcnNpb25WYWx1ZSA9J2Zvb3RmYWxsJ1xyXG4vLyAgICAgICAgICAgfVxyXG4vLyAgICAgICAgICAgdGhpcy5jYXJkbG9hZGluZyA9ZmFsc2U7XHJcbi8vICAgICAgICAgICB0aGlzLmNhcmROb2RhdGEgPWZhbHNlOyAgICAgICAgICAgXHJcbi8vICAgICAgICAgICB0aGlzLmNkLmRldGVjdENoYW5nZXMoKTtcclxuLy8gICAgICAgICB9IGVsc2UgaWYoIXJlcyB8fCByZXMuY29kZSA9PT0gMjA0KXtcclxuLy8gICAgICAgICAgIHRoaXMuZ2V0Q2FyZEdyYXBoRGF0YT1bXTtcclxuLy8gICAgICAgICAgIHRoaXMuY2FyZGxvYWRpbmcgPWZhbHNlO1xyXG4vLyAgICAgICAgICAgdGhpcy5jYXJkTm9kYXRhID10cnVlO1xyXG4vLyAgICAgICAgIH1cclxuLy8gICAgICAgfSxcclxuLy8gICAgICAgZXJyb3I6IChlcnI6IGFueSkgPT4ge1xyXG4vLyAgICAgICAgIHRoaXMuY2QuZGV0ZWN0Q2hhbmdlcygpO1xyXG4vLyAgICAgICB9LFxyXG4vLyAgICAgICBjb21wbGV0ZTogKCkgPT4ge30sXHJcbi8vICAgICB9KTtcclxuLy8gfVxyXG4iLCI8c2NyaXB0PlxyXG4gICAgKGc9Pnt2YXIgaCxhLGsscD1cIlRoZSBHb29nbGUgTWFwcyBKYXZhU2NyaXB0IEFQSVwiLGM9XCJnb29nbGVcIixsPVwiaW1wb3J0TGlicmFyeVwiLHE9XCJfX2liX19cIixtPWRvY3VtZW50LGI9d2luZG93O2I9YltjXXx8KGJbY109e30pO3ZhciBkPWIubWFwc3x8KGIubWFwcz17fSkscj1uZXcgU2V0LGU9bmV3IFVSTFNlYXJjaFBhcmFtcyx1PSgpPT5ofHwoaD1uZXcgUHJvbWlzZShhc3luYyhmLG4pPT57YXdhaXQgKGE9bS5jcmVhdGVFbGVtZW50KFwic2NyaXB0XCIpKTtlLnNldChcImxpYnJhcmllc1wiLFsuLi5yXStcIlwiKTtmb3IoayBpbiBnKWUuc2V0KGsucmVwbGFjZSgvW0EtWl0vZyx0PT5cIl9cIit0WzBdLnRvTG93ZXJDYXNlKCkpLGdba10pO2Uuc2V0KFwiY2FsbGJhY2tcIixjK1wiLm1hcHMuXCIrcSk7YS5zcmM9YGh0dHBzOi8vbWFwcy4ke2N9YXBpcy5jb20vbWFwcy9hcGkvanM/YCtlO2RbcV09ZjthLm9uZXJyb3I9KCk9Pmg9bihFcnJvcihwK1wiIGNvdWxkIG5vdCBsb2FkLlwiKSk7YS5ub25jZT1tLnF1ZXJ5U2VsZWN0b3IoXCJzY3JpcHRbbm9uY2VdXCIpPy5ub25jZXx8XCJcIjttLmhlYWQuYXBwZW5kKGEpfSkpO2RbbF0/Y29uc29sZS53YXJuKHArXCIgb25seSBsb2FkcyBvbmNlLiBJZ25vcmluZzpcIixnKTpkW2xdPShmLC4uLm4pPT5yLmFkZChmKSYmdSgpLnRoZW4oKCk9PmRbbF0oZiwuLi5uKSl9KSh7XHJcbiAgICAgIHY6IFwid2Vla2x5XCIsXHJcbiAgICAgIGtleTogXCJBSXphU3lEbE9lemd3UU8wSnZpRDBhaXpyQ3VOMUZZOXRjV2ZSM29cIlxyXG4gICAgfSk7XHJcbiAgPC9zY3JpcHQ+XHJcbiAgPGxpbmsgaHJlZj0naHR0cHM6Ly9hcGkubWFwYm94LmNvbS9tYXBib3gtZ2wtanMvdjIuMTUuMC9tYXBib3gtZ2wuY3NzJyByZWw9J3N0eWxlc2hlZXQnIC8+XHJcbiAgPHNjcmlwdCBzcmM9J2h0dHBzOi8vYXBpLm1hcGJveC5jb20vbWFwYm94LWdsLWpzL3YyLjE1LjAvbWFwYm94LWdsLmpzJz48L3NjcmlwdD5cclxuXHJcbjxkaXYgY2xhc3M9XCJyb3dcIj5cclxuICAgIDxkaXYgKm5nSWY9XCIoZ3MudXNlckFjY2VzcyB8IGFzeW5jKT8udXNlclR5cGUgPT09ICd0YW5nbycgfHwgY2xpZW50RGF0YT8uZmVhdHVyZUNvbmZpZ3M/LmlzTm9ybWFsaXplZFwiIGNsYXNzPVwiY29sLW1kLTEyIHRleHQtZW5kXCI+XHJcbiAgICAgICA8ZGl2IGNsYXNzPVwiZm9ybS1jaGVjayBmb3JtLXN3aXRjaCBteS0yXCIgc3R5bGU9XCJmbG9hdDogcmlnaHQgIWltcG9ydGFudDtcIj5cclxuICAgICAgICAgICAgPGlucHV0IGNsYXNzPVwiZm9ybS1jaGVjay1pbnB1dCBjdXJzb3ItcG9pbnRlclwiICB0eXBlPVwiY2hlY2tib3hcIiBpZD1cImZsZXhTd2l0Y2hDaGVja0RlZmF1bHRcIiBcclxuICAgICAgICAgICAgW2NoZWNrZWRdPVwibm9ybWFsaXplXCIgKGNoYW5nZSk9XCJ0b2dnbGVOb3JtYWxpemUoJGV2ZW50KVwiPjxzcGFuIGNsYXNzPVwibm9ybWFsaXplLXRleHRcIj5WaWV3IE5vcm1hbGl6ZWQgRGF0YTwvc3Bhbj5cclxuICAgICAgICAgIDwvZGl2PlxyXG4gICAgPC9kaXY+XHJcbiAgICA8ZGl2IGNsYXNzPVwiY29sLW1kLTcgaC0xMDBcIj5cclxuICAgICAgICA8ZGl2IGNsYXNzPVwicm93XCI+XHJcbiAgICAgICAgICAgIDxkaXYgY2xhc3M9XCJjb2wtbWQtOCBcIj5cclxuICAgICAgICAgICAgICAgIDxkaXYgY2xhc3M9XCJjYXJkIGNhcmQtYm9yZGVyIGgtMTAwXCI+XHJcbiAgICAgICAgICAgICAgICAgICAgPGRpdiBjbGFzcz1cInJvdyBwb3NpdGlvbi1yZWxhdGl2ZVwiPlxyXG4gICAgICAgICAgICAgICAgICAgICAgICA8ZGl2IGNsYXNzPVwiY29sLW1kLTZcIiAgPlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgPGRpdiBjbGFzcz1cInB4LTBcIj5cclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8ZGl2IGNsYXNzPVwiY2FyZC1oZWFkZXIgZWxsaXBzZTEgYm9yZGVyLTAgcHgtM1wiID5cclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPCEtLSAtLT5cclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGgzICBjbGFzcz1cImNhcmQtdGl0bGUgYWxpZ24taXRlbXMtc3RhcnQgZmxleC1jb2x1bW5cIiBbbmdiVG9vbHRpcF09XCJmb290ZmFsbFRvb2x0aXBcIiBwbGFjZW1lbnQ9XCJyaWdodFwiPlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwhLS0gRGlzcGxheSBmb290ZmFsbCBjb3VudCBvciAnLS0nIGlmIG5vdCBhdmFpbGFibGUgLS0+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPHNwYW4gY2xhc3M9XCJjYXJkLWxhYmVsIGhlYWRlclwiPnt7IGdldEZvb3RmYWxsQ2FyZERhdGE/LmNhcmQ/LmZvb3RmYWxsPy5jb3VudCA/IGdldEZvb3RmYWxsQ2FyZERhdGE/LmNhcmQ/LmZvb3RmYWxsPy5jb3VudC50b0xvY2FsZVN0cmluZygnZW4tSU4nKSA6ICctLScgfX08L3NwYW4+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPHNwYW4gY2xhc3M9XCJzdWItaGVhZGVyXCI+e3tmb290ZmFsbE5hbWV9fTwvc3Bhbj5cclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPC9oMz5cclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgXHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwhLS0gU3dpdGNoIHRvZ2dsZSAtLT5cclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGRpdiBjbGFzcz1cImNhcmQtdG9vbGJhclwiPlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGRpdiBjbGFzcz1cImNvbC1tZC0xMiB0ZXh0LWVuZFwiPlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxkaXYgY2xhc3M9XCJmb3JtLWNoZWNrIGZvcm0tc3dpdGNoIHRleHQtZW5kXCI+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8aW5wdXQgY2xhc3M9XCJmb3JtLWNoZWNrLWlucHV0IG10LTEgY3Vyc29yLXBvaW50ZXJcIiB0eXBlPVwiY2hlY2tib3hcIiBpZD1cImZsZXhTd2l0Y2hDaGVja0RlZmF1bHRcIiBcclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIFsobmdNb2RlbCldPVwiaXNBdmVyYWdlXCIgKGNoYW5nZSk9XCJ0b2dnbGVBdmVyYWdlKCRldmVudClcIiBbZGlzYWJsZWRdPVwiaXNEaXNhYmxlZFwiPlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvZGl2PlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxkaXYgKm5nSWY9XCJpc0F2ZXJhZ2VcIiBjbGFzcz1cImZvcm0tY2hlY2stbGFiZWwgbXQtNVwiPkF2ZXJhZ2U8L2Rpdj5cclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8ZGl2ICpuZ0lmPVwiIWlzQXZlcmFnZVwiIGNsYXNzPVwiZm9ybS1jaGVjay1sYWJlbCBtdC01XCI+QWN0dWFsPC9kaXY+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPC9kaXY+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvZGl2PlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPC9kaXY+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8bmctdGVtcGxhdGUgI2Zvb3RmYWxsVG9vbHRpcD5cclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGRpdiBjbGFzcz1cInRvb2x0aXAtY29udGVudFwiPlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxoNSBjbGFzcz1cInRvb2x0aXAtdGl0bGUgdGV4dC1zdGFydFwiPkZvb3RmYWxsPC9oNT5cclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8cCBjbGFzcz1cInRleHQtc3RhcnRcIj5Ub3RhbCB1bmlxdWUgd2Fsay1pbnMgaW50byB0aGUgc2VsZWN0ZWQgc3RvcmVzLjwvcD5cclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8aDQgY2xhc3M9XCJ0ZXh0LXN0YXJ0XCI+e3tnZXRDYXJkRGF0YT8uZm9vdGZhbGw/LmNvdW50fX08L2g0PlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8L2Rpdj5cclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvbmctdGVtcGxhdGU+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGRpdiBjbGFzcz1cImNhcmQtYm9keSBwLTBcIj5cclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgXHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxzZWN0aW9uID5cclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxkaXYgY2xhc3M9XCJyb3dcIj5cclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8ZGl2IGNsYXNzPVwiY29sLW1kLTEwIHBlLTBcIj5cclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGRpdiAqbmdJZj1cImZvb3RmYWxsbG9hZGluZ1wiIGNsYXNzPVwidGV4dC1jZW50ZXJcIj5cclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxpbWcgY2xhc3M9XCJsb2FkZXItaW1nXCIgc3JjPVwiYXNzZXRzL3RhbmdvL2xheW91dC9Mb2FkZXIuZ2lmXCI+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvZGl2PlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8ZGl2ICpuZ0lmPVwiZm9vdGZhbGxOb2RhdGFcIiBjbGFzcz1cInJvd1wiPlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBcclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8ZGl2IGNsYXNzPVwiY2FyZC1ib2R5IHBiLTAgcHgtMCBkLWZsZXgganVzdGlmeS1jb250ZW50LWNlbnRlciBhbGlnbi1pdGVtcy1jZW50ZXIgZmxleC1jb2x1bW5cIj5cclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGltZyBjbGFzcz1cImZvb3RpbWctbm9kYXRhMVwiIHNyYz1cIi4vYXNzZXRzL3RhbmdvL0ljb25zL05vZGF0YTEuc3ZnXCIgYWx0PVwiXCI+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxkaXYgY2xhc3M9XCJub2RhdGEtdGl0bGUxXCI+Tm8gZGF0YSBmb3VuZDwvZGl2PlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8IS0tIDxkaXYgY2xhc3M9XCJub2RhdGEtc3ViXCI+VGhlcmUgaXMgbm8gcmVzdWx0IGZvciB0aGlzIGNvbnZlcnNpb24gZnVubmVsPC9kaXY+IC0tPlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvZGl2PlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBcclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPC9kaXY+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxkaXYgKm5nSWY9XCIhZm9vdGZhbGxOb2RhdGFcIiBjbGFzcz1cInRleHQtY2VudGVyXCIgaWQ9XCJGb290ZmFsbFwiPjwvZGl2PlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8L2Rpdj5cclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGRpdiBjbGFzcz1cImNvbC1tZC0yIG10LTNcIj5cclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxkaXYgIGNsYXNzPVwibXQtMSBjdXJzb3ItcG9pbnRlciBmcy01XCIgW25nQ2xhc3NdPVwiZGF0ZVR5cGUgPT09J2RhaWx5JyA/ICd0ZXh0LXByaW1hcnknIDonJ1wiIChjbGljayk9XCJkYXRlVmFsdWUoJ2RhaWx5JylcIj4xRDwvZGl2PlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGRpdiAgY2xhc3M9XCJtdC0xIGN1cnNvci1wb2ludGVyIGZzLTVcIiAgW25nQ2xhc3NdPVwiZGF0ZVR5cGUgPT09J3dlZWtseScgPyAndGV4dC1wcmltYXJ5JyA6JydcIiAgKGNsaWNrKT1cImRhdGVWYWx1ZSgnd2Vla2x5JylcIj4xVzwvZGl2PlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGRpdiAgY2xhc3M9XCJtdC0xIGN1cnNvci1wb2ludGVyIGZzLTVcIiAgW25nQ2xhc3NdPVwiZGF0ZVR5cGUgPT09J21vbnRobHknID8gJ3RleHQtcHJpbWFyeScgOicnXCIgIChjbGljayk9XCJkYXRlVmFsdWUoJ21vbnRobHknKVwiPjFNPC9kaXY+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvZGl2PlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8L2Rpdj5cclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPC9zZWN0aW9uPlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvZGl2PlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxkaXYgY2xhc3M9XCJjYXJkLWZvb3RlciBtcy0yIHAtMFwiPlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8ZGl2IGNsYXNzPVwiY29sLW1kLTEyIG10LTNcIj5cclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxzcGFuIGNsYXNzPVwibXQtMlwiPlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxzdmcgKm5nSWY9XCIhZ2V0Rm9vdGZhbGxDYXJkRGF0YT8uZGF0YT8uZm9vdGZhbGw/LlByZXZpb3VzVmFyaWF0aW9uXCIgeG1sbnM9XCJodHRwOi8vd3d3LnczLm9yZy8yMDAwL3N2Z1wiIHdpZHRoPVwiMThcIlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGhlaWdodD1cIjE4XCIgdmlld0JveD1cIjAgMCAxOCAxOFwiIGZpbGw9XCJub25lXCI+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGcgY2xpcC1wYXRoPVwidXJsKCNjbGlwMF8yMzI4XzQ2NTQpXCI+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxwYXRoIGQ9XCJNMTEuNSA5TDYuNzUgNC4yNUw0LjI1IDYuNzVMMC41IDNNMTEuNSA5SDguNU0xMS41IDlWNlwiIHN0cm9rZT1cIiNEOTJEMjBcIiBzdHJva2Utd2lkdGg9XCIxLjVcIlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgc3Ryb2tlLWxpbmVjYXA9XCJyb3VuZFwiIHN0cm9rZS1saW5lam9pbj1cInJvdW5kXCIgLz5cclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8L2c+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGRlZnM+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxjbGlwUGF0aCBpZD1cImNsaXAwXzIzMjhfNDY1NFwiPlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPHJlY3Qgd2lkdGg9XCIxMlwiIGhlaWdodD1cIjEyXCIgZmlsbD1cIndoaXRlXCIgLz5cclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPC9jbGlwUGF0aD5cclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8L2RlZnM+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8L3N2Zz5cclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxzdmcgKm5nSWY9XCJnZXRGb290ZmFsbENhcmREYXRhPy5kYXRhPy5mb290ZmFsbD8uUHJldmlvdXNWYXJpYXRpb25cIiB4bWxucz1cImh0dHA6Ly93d3cudzMub3JnLzIwMDAvc3ZnXCIgd2lkdGg9XCIxMlwiIGhlaWdodD1cIjEyXCJcclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB2aWV3Qm94PVwiMCAwIDEyIDEyXCIgZmlsbD1cIm5vbmVcIj5cclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8ZyBjbGlwLXBhdGg9XCJ1cmwoI2NsaXAwXzMyMTZfMTE4KVwiPlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8cGF0aCBkPVwiTTExLjUgM0w2Ljc1IDcuNzVMNC4yNSA1LjI1TDAuNSA5TTExLjUgM0g4LjVNMTEuNSAzVjZcIiBzdHJva2U9XCIjMDM5ODU1XCIgc3Ryb2tlLXdpZHRoPVwiMS41XCJcclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHN0cm9rZS1saW5lY2FwPVwicm91bmRcIiBzdHJva2UtbGluZWpvaW49XCJyb3VuZFwiIC8+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPC9nPlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxkZWZzPlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8Y2xpcFBhdGggaWQ9XCJjbGlwMF8zMjE2XzExOFwiPlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPHJlY3Qgd2lkdGg9XCIxMlwiIGhlaWdodD1cIjEyXCIgZmlsbD1cIndoaXRlXCIgLz5cclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPC9jbGlwUGF0aD5cclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8L2RlZnM+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8L3N2Zz5cclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvc3Bhbj5cclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxzcGFuICpuZ0lmPVwiZ2V0Rm9vdGZhbGxDYXJkRGF0YT8uZGF0YT8uZm9vdGZhbGw/LlByZXZpb3VzRGF0YSA9PT0wXCIgY2xhc3M9XCJwZXJjZW50LXZhbHVlIG1zLTJcIj4wJTwvc3Bhbj5cclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxzcGFuICBjbGFzcz1cIm10LTIgbXMtMlwiPjxzcGFuIGNsYXNzPVwicGVyY2VudC12YWx1ZVwiICpuZ0lmPVwiZ2V0Rm9vdGZhbGxDYXJkRGF0YT8uZGF0YT8uZm9vdGZhbGw/LlByZXZpb3VzRGF0YSAhPT0wXCI+e3tnZXRGb290ZmFsbENhcmREYXRhPy5kYXRhPy5mb290ZmFsbD8uUHJldmlvdXNEYXRhID8gZ2V0Rm9vdGZhbGxDYXJkRGF0YT8uZGF0YT8uZm9vdGZhbGw/LlByZXZpb3VzRGF0YTonLS0nfX0lPC9zcGFuPjxzcGFuXHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGNsYXNzPVwid2Vlay1mb250XCI+IHZzIFByZXZpb3VzIDxzcGFuICpuZ0lmPVwiZGF0ZVR5cGUgPT09J2RhaWx5J1wiPmRheTwvc3Bhbj48c3BhbiAqbmdJZj1cImRhdGVUeXBlID09PSd3ZWVrbHknXCI+d2Vlazwvc3Bhbj4gPHNwYW4gKm5nSWY9XCJkYXRlVHlwZSA9PT0nbW9udGhseSdcIj5tb250aDwvc3Bhbj4gPC9zcGFuPlxyXG5cclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvc3Bhbj5cclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPC9kaXY+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPC9kaXY+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICA8L2Rpdj5cclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwhLS0gPGRpdj5cclxuICAgICAgICAgICAgICAgICAgICA8c3ZnIHhtbG5zPVwiaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmdcIiB3aWR0aD1cIjE2XCIgaGVpZ2h0PVwiMTZcIiB2aWV3Qm94PVwiMCAwIDE2IDE2XCIgZmlsbD1cIm5vbmVcIj5cclxuICAgICAgICAgICAgICAgICAgICAgICAgPHBhdGggZD1cIk02IDEyTDEwIDhMNiA0XCIgc3Ryb2tlPVwiIzk4QTJCM1wiIHN0cm9rZS13aWR0aD1cIjJcIiBzdHJva2UtbGluZWNhcD1cInJvdW5kXCIgc3Ryb2tlLWxpbmVqb2luPVwicm91bmRcIi8+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgIDwvc3ZnPlxyXG4gICAgICAgICAgICAgICAgICAgICAgICA8L2Rpdj4gLS0+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgIDwvZGl2PlxyXG4gICAgICAgICAgICAgICAgICAgICAgICA8ZGl2IGNsYXNzPVwicG9zaXRpb24tYWJzb2x1dGUgbGVmdC01MFwiPlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgPHN2ZyB4bWxucz1cImh0dHA6Ly93d3cudzMub3JnLzIwMDAvc3ZnXCIgd2lkdGg9XCIxNlwiIGhlaWdodD1cIjE2XCIgdmlld0JveD1cIjAgMCAxNiAxNlwiIGZpbGw9XCJub25lXCI+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPHBhdGggZD1cIk02IDEyTDEwIDhMNiA0XCIgc3Ryb2tlPVwiIzk4QTJCM1wiIHN0cm9rZS13aWR0aD1cIjJcIiBzdHJva2UtbGluZWNhcD1cInJvdW5kXCIgc3Ryb2tlLWxpbmVqb2luPVwicm91bmRcIi8+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPC9zdmc+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPC9kaXY+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgIDxkaXYgY2xhc3M9XCJjb2wtbWQtNlwiPlxyXG5cclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxkaXYgY2xhc3M9XCJweC0wXCI+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGRpdiBjbGFzcz1cImNhcmQtaGVhZGVyIGVsbGlwc2UxIGJvcmRlci0wIHBzLTJcIiA+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxkaXYgY2xhc3M9XCJyb3dcIj5cclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxkaXYgY2xhc3M9XCJjb2wtbWQtMTAgdGV4dC1ub3dyYXAgcGUtMFwiID5cclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGgzIGNsYXNzPVwiIGNhcmQtdGl0bGUgYWxpZ24taXRlbXMtc3RhcnQgZmxleC1jb2x1bW5cIiBbbmdiVG9vbHRpcF09XCJjb252ZXJzaW9uVG9vbHRpcFwiIHBsYWNlbWVudD1cInJpZ2h0XCI+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8c3BhbiBjbGFzcz1cImNhcmQtbGFiZWwgaGVhZGVyXCIgKm5nSWY9XCJ2YWx1ZUNvbnZlcnNpb25SYXRlID09PSAwXCI+MCU8L3NwYW4+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8c3BhbiBjbGFzcz1cImNhcmQtbGFiZWwgaGVhZGVyXCIgKm5nSWY9XCJ2YWx1ZUNvbnZlcnNpb25SYXRlICE9PSAwXCI+e3t2YWx1ZUNvbnZlcnNpb25SYXRlICA/IHZhbHVlQ29udmVyc2lvblJhdGUgOiAnLS0nfX0lPC9zcGFuPlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPHNwYW4gY2xhc3M9XCJzdWItaGVhZGVyXCI+PHNwYW4gKm5nSWY9XCJoZWFkZXJEYXRhPy5jbGllbnQgPT09ICc0NTInXCI+TW9yZSB0aGFuIHt7Y2xpZW50RGF0YT8uZmVhdHVyZUNvbmZpZ3M/LmNvbnZlcnNpb24/LnZhbHVlfX0gbWlucyBSYXRlPC9zcGFuPlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPCEtLSA8c3BhbiAqbmdJZj1cImhlYWRlckRhdGE/LmNsaWVudCAhPT0gJzQ1MidcIj5Db252ZXJzaW9uPC9zcGFuPiAgIC0tPlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwhLS0gPG5nLWNvbnRhaW5lciAqbmdJZj1cImhlYWRlckRhdGE/LmNsaWVudCAhPT0gJzQ1MidcIj5cclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8c3BhbiAqbmdJZj1cImNvbnZlcnNpb25WYWx1ZSA9PT0gJ2Zvb3RmYWxsJyB8fCBjb252ZXJzaW9uVmFsdWUgPT09ICdlbmdhZ2VycycgfHwgY29udmVyc2lvblZhbHVlID09PSAnUG90ZW50aWFsIEJ1eWVycycgfHwgY29udmVyc2lvblZhbHVlID09PSAnTm9CIERlcml2ZWQnXCI+IFxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAtIDxzcGFuICpuZ0lmPVwiY29udmVyc2lvblZhbHVlID09PSAnTm9CIERlcml2ZWQnOyBlbHNlIG90aGVyVmFsdWVzXCI+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBOb0IgRGVyaXZlZFxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvc3Bhbj5cclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8bmctdGVtcGxhdGUgI290aGVyVmFsdWVzPlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAge3sgY29udmVyc2lvblZhbHVlIHwgdGl0bGVjYXNlIH19XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPC9uZy10ZW1wbGF0ZT5cclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvc3Bhbj5cclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvbmctY29udGFpbmVyPiAtLT5cclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvc3Bhbj5cclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxuZy1jb250YWluZXIgKm5nSWY9XCJoZWFkZXJEYXRhPy5jbGllbnQgIT09ICc0NTInXCI+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8c3BhbiAqbmdJZj1cIiFpc0NvbnZlcnNpb25cIiBjbGFzcz1cInN1Yi1oZWFkZXJcIj4gQ29udmVyc2lvblxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgXHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxzcGFuICpuZ0lmPVwiY29udmVyc2lvblZhbHVlID09PSAnZm9vdGZhbGwnIHx8IGNvbnZlcnNpb25WYWx1ZSA9PT0gJ2VuZ2FnZXJzJyB8fCBjb252ZXJzaW9uVmFsdWUgPT09ICdQb3RlbnRpYWwgQnV5ZXJzJyB8fCBjb252ZXJzaW9uVmFsdWUgPT09ICdOb0IgRGVyaXZlZCdcIj4gXHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgLSA8c3BhbiAqbmdJZj1cImNvbnZlcnNpb25WYWx1ZSA9PT0gJ05vQiBEZXJpdmVkJzsgZWxzZSBvdGhlclZhbHVlc1wiPlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIE5vQiBEZXJpdmVkXHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvc3Bhbj5cclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPG5nLXRlbXBsYXRlICNvdGhlclZhbHVlcz5cclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB7eyBjb252ZXJzaW9uVmFsdWUgfCB0aXRsZWNhc2UgfX1cclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPC9uZy10ZW1wbGF0ZT5cclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBcclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8L3NwYW4+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgXHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPC9zcGFuPjxzcGFuICpuZ0lmPVwiaXNDb252ZXJzaW9uXCIgY2xhc3M9XCJzdWItaGVhZGVyXCI+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBcclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPHNwYW4gKm5nSWY9XCJjb252ZXJzaW9uVmFsdWUgPT09ICdmb290ZmFsbCcgfHwgY29udmVyc2lvblZhbHVlID09PSAnZW5nYWdlcnMnIHx8IGNvbnZlcnNpb25WYWx1ZSA9PT0gJ1BvdGVudGlhbCBCdXllcnMnIHx8IGNvbnZlcnNpb25WYWx1ZSA9PT0gJ05vQiBEZXJpdmVkJ1wiPiBcclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8c3BhbiAqbmdJZj1cImNvbnZlcnNpb25WYWx1ZSA9PT0gJ05vQiBEZXJpdmVkJzsgZWxzZSBvdGhlclZhbHVlc1wiPlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIENvbnZlcnNpb24gLSBOb0IgRGVyaXZlZFxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8L3NwYW4+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxuZy10ZW1wbGF0ZSAjb3RoZXJWYWx1ZXM+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAge3sgY29udmVyc2lvblZhbHVlIHwgdGl0bGVjYXNlIH19IC0gTm9CIERlcml2ZWRcclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPC9uZy10ZW1wbGF0ZT5cclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBcclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8L3NwYW4+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgXHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPC9zcGFuPjwvbmctY29udGFpbmVyPlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8L2gzPlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8L2Rpdj5cclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGRpdiAqbmdJZj1cIihncy51c2VyQWNjZXNzIHwgYXN5bmMpPy51c2VyVHlwZSA9PT0gJ3RhbmdvJ1wiIGNsYXNzPVwiY29sLW1kLTIgcHgtMFwiPlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGRpdiBjbGFzcz1cInRleHQtZW5kXCI+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGRpdiBjbGFzcz1cImZvcm0tY2hlY2sgZm9ybS1zd2l0Y2ggY3Vyc29yLXBvaW50ZXJcIj5cclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxpbnB1dCBjbGFzcz1cImZvcm0tY2hlY2staW5wdXQgY3Vyc29yLXBvaW50ZXJcIiB0eXBlPVwiY2hlY2tib3hcIiBpZD1cIkNvbnZlcnNpb25cIiBcclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIFsobmdNb2RlbCldPVwiaXNDb252ZXJzaW9uXCIgKGNoYW5nZSk9XCJ0b2dnbGVDb252ZXJzaW9uKCRldmVudClcIj5cclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxkaXYgIGNsYXNzPVwiZm9ybS1jaGVjay1sYWJlbCBtdC0zXCI+PC9kaXY+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPC9kaXY+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBcclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8L2Rpdj5cclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPC9kaXY+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvZGl2PlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvZGl2PlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPG5nLXRlbXBsYXRlICNjb252ZXJzaW9uVG9vbHRpcD5cclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGRpdiBjbGFzcz1cInRvb2x0aXAtY29udGVudFwiPlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxoNSBjbGFzcz1cInRvb2x0aXAtdGl0bGUgdGV4dC1zdGFydFwiICpuZ0lmPVwiaGVhZGVyRGF0YT8uY2xpZW50ICE9PSAnNDUyJ1wiPkNvbnZlcnNpb24gUmF0ZTwvaDU+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPHAgY2xhc3M9XCJ0ZXh0LXN0YXJ0XCI+VG90YWwgJSBvZiB7e2NvbnZlcnNpb25WYWx1ZX19IHdobyBzcGVudCBtb3JlIHRoYW4ge3tjbGllbnREYXRhPy5mZWF0dXJlQ29uZmlncz8uY29udmVyc2lvbj8udmFsdWV9fSBtaW5zIGluIHRoZSBzdG9yZS48L3A+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPCEtLSA8aDQgY2xhc3M9XCJ0ZXh0LXN0YXJ0XCI+e3t2YWx1ZUNvbnZlcnNpb25SYXRlfX08L2g0PiAtLT5cclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPCEtLSA8Zm9vdGVyIGNsYXNzPVwidG9vbHRpcC1mb290ZXIgdGV4dC1zdGFydFwiPiA8c3BhbiBjbGFzcz1cIm10LTJcIj5cclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxzdmcgKm5nSWY9XCIhZ2V0Q2FyZEdyYXBoRGF0YT8uY29udmVyc2lvbj8uUHJldmlvdXNWYXJpYXRpb25cIiB4bWxucz1cImh0dHA6Ly93d3cudzMub3JnLzIwMDAvc3ZnXCIgd2lkdGg9XCIxOFwiXHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBoZWlnaHQ9XCIxOFwiIHZpZXdCb3g9XCIwIDAgMTggMThcIiBmaWxsPVwibm9uZVwiPlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGcgY2xpcC1wYXRoPVwidXJsKCNjbGlwMF8yMzI4XzQ2NTQpXCI+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPHBhdGggZD1cIk0xMS41IDlMNi43NSA0LjI1TDQuMjUgNi43NUwwLjUgM00xMS41IDlIOC41TTExLjUgOVY2XCIgc3Ryb2tlPVwiI0Q5MkQyMFwiIHN0cm9rZS13aWR0aD1cIjEuNVwiXHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHN0cm9rZS1saW5lY2FwPVwicm91bmRcIiBzdHJva2UtbGluZWpvaW49XCJyb3VuZFwiIC8+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8L2c+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8ZGVmcz5cclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8Y2xpcFBhdGggaWQ9XCJjbGlwMF8yMzI4XzQ2NTRcIj5cclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPHJlY3Qgd2lkdGg9XCIxMlwiIGhlaWdodD1cIjEyXCIgZmlsbD1cIndoaXRlXCIgLz5cclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8L2NsaXBQYXRoPlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPC9kZWZzPlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8L3N2Zz5cclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPHN2ZyAqbmdJZj1cImdldENhcmRHcmFwaERhdGE/LmNvbnZlcnNpb24/LlByZXZpb3VzVmFyaWF0aW9uXCIgeG1sbnM9XCJodHRwOi8vd3d3LnczLm9yZy8yMDAwL3N2Z1wiIHdpZHRoPVwiMTJcIiBoZWlnaHQ9XCIxMlwiXHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB2aWV3Qm94PVwiMCAwIDEyIDEyXCIgZmlsbD1cIm5vbmVcIj5cclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxnIGNsaXAtcGF0aD1cInVybCgjY2xpcDBfMzIxNl8xMTgpXCI+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPHBhdGggZD1cIk0xMS41IDNMNi43NSA3Ljc1TDQuMjUgNS4yNUwwLjUgOU0xMS41IDNIOC41TTExLjUgM1Y2XCIgc3Ryb2tlPVwiIzAzOTg1NVwiIHN0cm9rZS13aWR0aD1cIjEuNVwiXHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHN0cm9rZS1saW5lY2FwPVwicm91bmRcIiBzdHJva2UtbGluZWpvaW49XCJyb3VuZFwiIC8+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8L2c+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8ZGVmcz5cclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8Y2xpcFBhdGggaWQ9XCJjbGlwMF8zMjE2XzExOFwiPlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8cmVjdCB3aWR0aD1cIjEyXCIgaGVpZ2h0PVwiMTJcIiBmaWxsPVwid2hpdGVcIiAvPlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvY2xpcFBhdGg+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8L2RlZnM+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvc3ZnPlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8L3NwYW4+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxzcGFuIGNsYXNzPVwibXQtMiBtcy0yXCI+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8c3BhbiAqbmdJZj1cImNvbnZlcnNpb25WYWx1ZSA9PT0nZm9vdGZhbGwnICYmIGdldENhcmRHcmFwaERhdGE/LmNvbnZlcnNpb24/LmZvb3RmYWxsLlByZXZpb3VzRGF0YSA9PT0wXCIgY2xhc3M9XCJwZXJjZW50LXZhbHVlXCI+MCU8L3NwYW4+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8c3BhbiAqbmdJZj1cImNvbnZlcnNpb25WYWx1ZSA9PT0nZm9vdGZhbGwnICYmIGdldENhcmRHcmFwaERhdGE/LmNvbnZlcnNpb24/LmZvb3RmYWxsLlByZXZpb3VzRGF0YSAhPT0wXCIgY2xhc3M9XCJwZXJjZW50LXZhbHVlXCI+e3tnZXRDYXJkR3JhcGhEYXRhPy5jb252ZXJzaW9uPy5mb290ZmFsbC5QcmV2aW91c0RhdGEgPyBnZXRDYXJkR3JhcGhEYXRhPy5jb252ZXJzaW9uPy5mb290ZmFsbC5QcmV2aW91c0RhdGE6Jy0tJ319JTwvc3Bhbj5cclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxzcGFuICpuZ0lmPVwiY29udmVyc2lvblZhbHVlID09PSdlbmdhZ2VycycgJiYgZ2V0Q2FyZEdyYXBoRGF0YT8uY29udmVyc2lvbj8uZW5nYWdlcnMuUHJldmlvdXNEYXRhID09PTBcIiBjbGFzcz1cInBlcmNlbnQtdmFsdWVcIj4wJTwvc3Bhbj5cclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBcclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxzcGFuICpuZ0lmPVwiY29udmVyc2lvblZhbHVlID09PSdlbmdhZ2VycycgJiYgZ2V0Q2FyZEdyYXBoRGF0YT8uY29udmVyc2lvbj8uZW5nYWdlcnMuUHJldmlvdXNEYXRhICE9PTBcIiBjbGFzcz1cInBlcmNlbnQtdmFsdWVcIj57e2dldENhcmRHcmFwaERhdGE/LmNvbnZlcnNpb24/LmVuZ2FnZXJzLlByZXZpb3VzRGF0YSA/IGdldENhcmRHcmFwaERhdGE/LmNvbnZlcnNpb24/LmVuZ2FnZXJzLlByZXZpb3VzRGF0YTonLS0nfX0lPC9zcGFuPlxyXG5cclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxzcGFuICpuZ0lmPVwiY29udmVyc2lvblZhbHVlID09PSdQb3RlbnRpYWwgQnV5ZXJzJyAmJiBnZXRDYXJkR3JhcGhEYXRhPy5jb252ZXJzaW9uPy5wb3RlbnRpYWxCdXllcnMuUHJldmlvdXNEYXRhID09PTBcIiBjbGFzcz1cInBlcmNlbnQtdmFsdWVcIj4wJTwvc3Bhbj5cclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxzcGFuICpuZ0lmPVwiY29udmVyc2lvblZhbHVlID09PSdQb3RlbnRpYWwgQnV5ZXJzJyAmJiBnZXRDYXJkR3JhcGhEYXRhPy5jb252ZXJzaW9uPy5wb3RlbnRpYWxCdXllcnMuUHJldmlvdXNEYXRhICE9PTBcIiBjbGFzcz1cInBlcmNlbnQtdmFsdWVcIj57e2dldENhcmRHcmFwaERhdGE/LmNvbnZlcnNpb24/LnBvdGVudGlhbEJ1eWVycy5QcmV2aW91c0RhdGEgPyBnZXRDYXJkR3JhcGhEYXRhPy5jb252ZXJzaW9uPy5wb3RlbnRpYWxCdXllcnMuUHJldmlvdXNEYXRhOictLSd9fSU8L3NwYW4+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8c3BhbiAqbmdJZj1cImNvbnZlcnNpb25WYWx1ZSA9PT0nTm9CIERlcml2ZWQnXCIgY2xhc3M9XCJwZXJjZW50LXZhbHVlXCI+LS0lPC9zcGFuPlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPHNwYW4gKm5nSWY9XCJjb252ZXJzaW9uVmFsdWUgPT09JycgJiYgZ2V0Q2FyZEdyYXBoRGF0YT8uY29udmVyc2lvbj8uUHJldmlvdXNEYXRhID09PTBcIiBjbGFzcz1cInBlcmNlbnQtdmFsdWVcIj4wJTwvc3Bhbj5cclxuXHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPHNwYW4gKm5nSWY9XCJjb252ZXJzaW9uVmFsdWUgPT09JycgJiYgZ2V0Q2FyZEdyYXBoRGF0YT8uY29udmVyc2lvbj8uUHJldmlvdXNEYXRhICE9PTBcIiAgY2xhc3M9XCJwZXJjZW50LXZhbHVlXCI+e3tnZXRDYXJkR3JhcGhEYXRhPy5jb252ZXJzaW9uPy5QcmV2aW91c0RhdGEgPyBnZXRDYXJkR3JhcGhEYXRhPy5jb252ZXJzaW9uPy5QcmV2aW91c0RhdGE6Jy0tJ319JTwvc3Bhbj5cclxuICAgICAgICAgICAgICAgICAgICAgICAgICBcclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxzcGFuXHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgY2xhc3M9XCJ3ZWVrLWZvbnRcIj4gdnMgUHJldmlvdXMgIDxzcGFuICpuZ0lmPVwiZGF0ZVR5cGUgPT09J2RhaWx5J1wiPmRheTwvc3Bhbj48c3BhbiAqbmdJZj1cImRhdGVUeXBlID09PSd3ZWVrbHknXCI+d2Vlazwvc3Bhbj4gPHNwYW4gKm5nSWY9XCJkYXRlVHlwZSA9PT0nbW9udGhseSdcIj5tb250aDwvc3Bhbj48L3NwYW4+XHJcblxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8L3NwYW4+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICA8L2Zvb3Rlcj4tLT5cclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPC9kaXY+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8L25nLXRlbXBsYXRlPiBcclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8ZGl2IGNsYXNzPVwiY2FyZC1ib2R5IHAtMFwiPlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgPGRpdiBjbGFzcz1cImgtMTAwcHggcHQtMTAgcHgtMyByb3dcIj5cclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8c3BhbiBjbGFzcz1cImgtNTBweCBjb2wtbWQtM1wiPlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8c3ZnIGNsYXNzPVwiY3Vyc29yLXBvaW50ZXJcIiAqbmdJZj1cImNvbnZlcnNpb25WYWx1ZSAhPT0nZm9vdGZhbGwnXCIgcGxhY2VtZW50PVwidG9wXCIgXHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIG5nYlRvb2x0aXA9XCJGb290ZmFsbFwiXHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIChjbGljayk9XCJjaGFuZ2VWYWx1ZSgnZm9vdGZhbGwnKVwiIHhtbG5zPVwiaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmdcIiB3aWR0aD1cIjI0XCIgaGVpZ2h0PVwiMjRcIiB2aWV3Qm94PVwiMCAwIDI0IDI0XCIgZmlsbD1cIm5vbmVcIj5cclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxwYXRoXHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgZD1cIk00IDE4SDkuNVYxOS4yNUM5LjUgMTkuOTc5MyA5LjIxMDI3IDIwLjY3ODggOC42OTQ1NCAyMS4xOTQ1QzguMTc4ODIgMjEuNzEwMyA3LjQ3OTM1IDIyIDYuNzUgMjJDNi4wMjA2NSAyMiA1LjMyMTE4IDIxLjcxMDMgNC44MDU0NiAyMS4xOTQ1QzQuMjg5NzMgMjAuNjc4OCA0IDE5Ljk3OTMgNCAxOS4yNVYxOFpNOCA2LjExOTk5QzEwIDYuMTE5OTkgMTEgOC45OTk5OSAxMSAxMUMxMSAxMiAxMC41IDEzIDEwIDE0LjVMOS41IDE2SDRDNCAxNSAzLjUgMTMuNSAzLjUgMTFDMy41IDguNDk5OTkgNS40OTggNi4xMTk5OSA4IDYuMTE5OTlaTTIwLjA1NCAxNC4wOThMMTkuODM3IDE1LjMyOUMxOS43MDIzIDE2LjAzOTYgMTkuMjkzMSAxNi42Njg2IDE4LjY5OCAxNy4wNzk2QzE4LjEwMjkgMTcuNDkwNyAxNy4zNjk4IDE3LjY1MDggMTYuNjU3NiAxNy41MjUyQzE1Ljk0NTMgMTcuMzk5NiAxNS4zMTExIDE2Ljk5ODQgMTQuODkyNSAxNi40MDg2QzE0LjQ3MzkgMTUuODE4OCAxNC4zMDQ1IDE1LjA4NzggMTQuNDIxIDE0LjM3NEwxNC42MzcgMTMuMTQ0TDIwLjA1NCAxNC4wOThaTTE4LjE3OCAxLjcwNDk5QzIwLjY0MiAyLjEzODk5IDIyLjE5NiA0LjgyOTk5IDIxLjc2MiA3LjI5MTk5QzIxLjMyOCA5Ljc1Mzk5IDIwLjU3NSAxMS4xNDQgMjAuNDAyIDEyLjEyOUwxNC45ODUgMTEuMTc0TDE0Ljc1MyA5LjYwOTk5QzE0LjUyMSA4LjA0NTk5IDE0LjIwMyA2Ljk3Mzk5IDE0LjM3NiA1Ljk4OTk5QzE0LjcyMyA0LjAxOTk5IDE2LjIwOCAxLjM1Nzk5IDE4LjE3OCAxLjcwNDk5WlwiXHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgZmlsbD1cIiM5OEEyQjNcIiAvPlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8L3N2Zz5cclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPHN2ZyBwbGFjZW1lbnQ9XCJ0b3BcIiBuZ2JUb29sdGlwPVwiRm9vdGZhbGxcIiAqbmdJZj1cImNvbnZlcnNpb25WYWx1ZSA9PT0nZm9vdGZhbGwnXCIgeG1sbnM9XCJodHRwOi8vd3d3LnczLm9yZy8yMDAwL3N2Z1wiIHdpZHRoPVwiMjRcIiBoZWlnaHQ9XCIyNFwiIHZpZXdCb3g9XCIwIDAgMjQgMjRcIiBmaWxsPVwibm9uZVwiPlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPHBhdGggZD1cIk00IDE4SDkuNVYxOS4yNUM5LjUgMTkuOTc5MyA5LjIxMDI3IDIwLjY3ODggOC42OTQ1NCAyMS4xOTQ1QzguMTc4ODIgMjEuNzEwMyA3LjQ3OTM1IDIyIDYuNzUgMjJDNi4wMjA2NSAyMiA1LjMyMTE4IDIxLjcxMDMgNC44MDU0NiAyMS4xOTQ1QzQuMjg5NzMgMjAuNjc4OCA0IDE5Ljk3OTMgNCAxOS4yNVYxOFpNOCA2LjExOTk5QzEwIDYuMTE5OTkgMTEgOC45OTk5OSAxMSAxMUMxMSAxMiAxMC41IDEzIDEwIDE0LjVMOS41IDE2SDRDNCAxNSAzLjUgMTMuNSAzLjUgMTFDMy41IDguNDk5OTkgNS40OTggNi4xMTk5OSA4IDYuMTE5OTlaTTIwLjA1NCAxNC4wOThMMTkuODM3IDE1LjMyOUMxOS43MDIzIDE2LjAzOTYgMTkuMjkzMSAxNi42Njg2IDE4LjY5OCAxNy4wNzk2QzE4LjEwMjkgMTcuNDkwNyAxNy4zNjk4IDE3LjY1MDggMTYuNjU3NiAxNy41MjUyQzE1Ljk0NTMgMTcuMzk5NiAxNS4zMTExIDE2Ljk5ODQgMTQuODkyNSAxNi40MDg2QzE0LjQ3MzkgMTUuODE4OCAxNC4zMDQ1IDE1LjA4NzggMTQuNDIxIDE0LjM3NEwxNC42MzcgMTMuMTQ0TDIwLjA1NCAxNC4wOThaTTE4LjE3OCAxLjcwNDk5QzIwLjY0MiAyLjEzODk5IDIyLjE5NiA0LjgyOTk5IDIxLjc2MiA3LjI5MTk5QzIxLjMyOCA5Ljc1Mzk5IDIwLjU3NSAxMS4xNDQgMjAuNDAyIDEyLjEyOUwxNC45ODUgMTEuMTc0TDE0Ljc1MyA5LjYwOTk5QzE0LjUyMSA4LjA0NTk5IDE0LjIwMyA2Ljk3Mzk5IDE0LjM3NiA1Ljk4OTk5QzE0LjcyMyA0LjAxOTk5IDE2LjIwOCAxLjM1Nzk5IDE4LjE3OCAxLjcwNDk5WlwiIGZpbGw9XCIjMDBBM0ZGXCIvPlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvc3ZnPlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvc3Bhbj5cclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8c3BhbiBjbGFzcz1cImgtNTBweCBjb2wtbWQtM1wiPlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8c3ZnIHBsYWNlbWVudD1cInRvcFwiIFtuZ2JUb29sdGlwXT1cImhlYWRlckRhdGE/LmNsaWVudCA9PT0gJzQ1MicgPyAnTW9yZSB0aGFuICcrIGZlYXR1cmVDb25maWc/LmJvdW5jZWRMaW1pdC52YWx1ZSArJyBtaW5zJyA6ICdFbmdhZ2VycydcIiBjbGFzcz1cImN1cnNvci1wb2ludGVyXCIgKm5nSWY9XCJjb252ZXJzaW9uVmFsdWUgIT09J2VuZ2FnZXJzJ1wiIChjbGljayk9XCJjaGFuZ2VWYWx1ZSgnZW5nYWdlcnMnKVwiIHhtbG5zPVwiaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmdcIiB3aWR0aD1cIjI0XCIgaGVpZ2h0PVwiMjRcIiB2aWV3Qm94PVwiMCAwIDI0IDI0XCIgZmlsbD1cIm5vbmVcIj5cclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxwYXRoIFxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGQ9XCJNMTcgMjFWMTlDMTcgMTcuOTM5MSAxNi41Nzg2IDE2LjkyMTcgMTUuODI4NCAxNi4xNzE2QzE1LjA3ODMgMTUuNDIxNCAxNC4wNjA5IDE1IDEzIDE1SDVDMy45MzkxMyAxNSAyLjkyMTcyIDE1LjQyMTQgMi4xNzE1NyAxNi4xNzE2QzEuNDIxNDMgMTYuOTIxNyAxIDE3LjkzOTEgMSAxOVYyMU0yMyAyMVYxOUMyMi45OTkzIDE4LjExMzcgMjIuNzA0NCAxNy4yNTI4IDIyLjE2MTQgMTYuNTUyM0MyMS42MTg0IDE1Ljg1MTkgMjAuODU4MSAxNS4zNTE2IDIwIDE1LjEzTTE2IDMuMTNDMTYuODYwNCAzLjM1MDMgMTcuNjIzIDMuODUwNyAxOC4xNjc2IDQuNTUyMzFDMTguNzEyMiA1LjI1MzkyIDE5LjAwNzggNi4xMTY4MyAxOS4wMDc4IDcuMDA1QzE5LjAwNzggNy44OTMxNyAxOC43MTIyIDguNzU2MDggMTguMTY3NiA5LjQ1NzY5QzE3LjYyMyAxMC4xNTkzIDE2Ljg2MDQgMTAuNjU5NyAxNiAxMC44OE0xMyA3QzEzIDkuMjA5MTQgMTEuMjA5MSAxMSA5IDExQzYuNzkwODYgMTEgNSA5LjIwOTE0IDUgN0M1IDQuNzkwODYgNi43OTA4NiAzIDkgM0MxMS4yMDkxIDMgMTMgNC43OTA4NiAxMyA3WlwiXHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgc3Ryb2tlPVwiIzk4QTJCM1wiIHN0cm9rZS13aWR0aD1cIjJcIiBzdHJva2UtbGluZWNhcD1cInJvdW5kXCIgc3Ryb2tlLWxpbmVqb2luPVwicm91bmRcIiAvPlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8L3N2Zz5cclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPHN2ZyBwbGFjZW1lbnQ9XCJ0b3BcIiBbbmdiVG9vbHRpcF09XCJoZWFkZXJEYXRhPy5jbGllbnQgPT09ICc0NTInID8gJ01vcmUgdGhhbiAnKyBmZWF0dXJlQ29uZmlnPy5ib3VuY2VkTGltaXQudmFsdWUgKycgbWlucycgOiAnRW5nYWdlcnMnXCIgKm5nSWY9XCJjb252ZXJzaW9uVmFsdWUgPT09J2VuZ2FnZXJzJ1wiIHhtbG5zPVwiaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmdcIiB3aWR0aD1cIjI0XCIgaGVpZ2h0PVwiMjRcIiB2aWV3Qm94PVwiMCAwIDI0IDI0XCIgZmlsbD1cIm5vbmVcIj5cclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxwYXRoIGQ9XCJNMTcgMjFWMTlDMTcgMTcuOTM5MSAxNi41Nzg2IDE2LjkyMTcgMTUuODI4NCAxNi4xNzE2QzE1LjA3ODMgMTUuNDIxNCAxNC4wNjA5IDE1IDEzIDE1SDVDMy45MzkxMyAxNSAyLjkyMTcyIDE1LjQyMTQgMi4xNzE1NyAxNi4xNzE2QzEuNDIxNDMgMTYuOTIxNyAxIDE3LjkzOTEgMSAxOVYyMU0yMyAyMVYxOUMyMi45OTkzIDE4LjExMzcgMjIuNzA0NCAxNy4yNTI4IDIyLjE2MTQgMTYuNTUyM0MyMS42MTg0IDE1Ljg1MTkgMjAuODU4MSAxNS4zNTE2IDIwIDE1LjEzTTE2IDMuMTNDMTYuODYwNCAzLjM1MDMgMTcuNjIzIDMuODUwNyAxOC4xNjc2IDQuNTUyMzFDMTguNzEyMiA1LjI1MzkyIDE5LjAwNzggNi4xMTY4MyAxOS4wMDc4IDcuMDA1QzE5LjAwNzggNy44OTMxNyAxOC43MTIyIDguNzU2MDggMTguMTY3NiA5LjQ1NzY5QzE3LjYyMyAxMC4xNTkzIDE2Ljg2MDQgMTAuNjU5NyAxNiAxMC44OE0xMyA3QzEzIDkuMjA5MTQgMTEuMjA5MSAxMSA5IDExQzYuNzkwODYgMTEgNSA5LjIwOTE0IDUgN0M1IDQuNzkwODYgNi43OTA4NiAzIDkgM0MxMS4yMDkxIDMgMTMgNC43OTA4NiAxMyA3WlwiIHN0cm9rZT1cIiMwMEEzRkZcIiBzdHJva2Utd2lkdGg9XCIyXCIgc3Ryb2tlLWxpbmVjYXA9XCJyb3VuZFwiIHN0cm9rZS1saW5lam9pbj1cInJvdW5kXCIvPlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPC9zdmc+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPC9zcGFuPlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxzcGFuICpuZ0lmPVwiaGVhZGVyRGF0YT8uY2xpZW50ICE9PSAnNDUyJ1wiIGNsYXNzPVwiaC01MHB4IGNvbC1tZC0zXCI+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxzdmcgcGxhY2VtZW50PVwidG9wXCIgbmdiVG9vbHRpcD1cIlBvdGVudGlhbCBCdXllcnNcIiBjbGFzcz1cImN1cnNvci1wb2ludGVyXCIgKm5nSWY9XCJjb252ZXJzaW9uVmFsdWUgIT09J1BvdGVudGlhbCBCdXllcnMnXCIgKGNsaWNrKT1cImNoYW5nZVZhbHVlKCdwb3RlbnRpYWxCdXllcnMnKVwiIHhtbG5zPVwiaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmdcIiB3aWR0aD1cIjI0XCIgaGVpZ2h0PVwiMjRcIiB2aWV3Qm94PVwiMCAwIDI0IDI0XCIgZmlsbD1cIm5vbmVcIj5cclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxwYXRoIG9wYWNpdHk9XCIwLjNcIlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGQ9XCJNMjAuMDAzOSAxOC4wMDJINC4wMDM5MUMzLjQwMzkxIDE4LjAwMiAzLjAwMzkxIDE3LjYwMiAzLjAwMzkxIDE3LjAwMlY3LjAwMTk1QzMuMDAzOTEgNi40MDE5NSAzLjQwMzkxIDYuMDAxOTUgNC4wMDM5MSA2LjAwMTk1SDIwLjAwMzlDMjAuNjAzOSA2LjAwMTk1IDIxLjAwMzkgNi40MDE5NSAyMS4wMDM5IDcuMDAxOTVWMTcuMDAyQzIxLjAwMzkgMTcuNjAyIDIwLjYwMzkgMTguMDAyIDIwLjAwMzkgMTguMDAyWk0xMi4wMDM5IDguMDAxOTVDMTAuMzAzOSA4LjAwMTk1IDkuMDAzOTEgOS44MDE5NSA5LjAwMzkxIDEyLjAwMkM5LjAwMzkxIDE0LjIwMiAxMC4zMDM5IDE2LjAwMiAxMi4wMDM5IDE2LjAwMkMxMy43MDM5IDE2LjAwMiAxNS4wMDM5IDE0LjIwMiAxNS4wMDM5IDEyLjAwMkMxNS4wMDM5IDkuODAxOTUgMTMuNzAzOSA4LjAwMTk1IDEyLjAwMzkgOC4wMDE5NVpcIlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGZpbGw9XCIjOThBMkIzXCIgLz5cclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxwYXRoXHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgZD1cIk0xOC4wMDM5IDYuMDAxOTVIMjAuMDAzOUMyMC42MDM5IDYuMDAxOTUgMjEuMDAzOSA2LjQwMTk1IDIxLjAwMzkgNy4wMDE5NVY5LjAwMTk1QzE5LjMwMzkgOS4wMDE5NSAxOC4wMDM5IDcuNzAxOTUgMTguMDAzOSA2LjAwMTk1Wk02LjAwMzkxIDYuMDAxOTVINC4wMDM5MUMzLjQwMzkxIDYuMDAxOTUgMy4wMDM5MSA2LjQwMTk1IDMuMDAzOTEgNy4wMDE5NVY5LjAwMTk1QzQuNzAzOTEgOS4wMDE5NSA2LjAwMzkxIDcuNzAxOTUgNi4wMDM5MSA2LjAwMTk1Wk0yMS4wMDM5IDE3LjAwMlYxNS4wMDJDMTkuMzAzOSAxNS4wMDIgMTguMDAzOSAxNi4zMDIgMTguMDAzOSAxOC4wMDJIMjAuMDAzOUMyMC42MDM5IDE4LjAwMiAyMS4wMDM5IDE3LjYwMiAyMS4wMDM5IDE3LjAwMlpNMy4wMDM5MSAxNS4wMDJWMTcuMDAyQzMuMDAzOTEgMTcuNjAyIDMuNDAzOTEgMTguMDAyIDQuMDAzOTEgMTguMDAySDYuMDAzOTFDNi4wMDM5MSAxNi4zMDIgNC43MDM5MSAxNS4wMDIgMy4wMDM5MSAxNS4wMDJaXCJcclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBmaWxsPVwiIzk4QTJCM1wiIC8+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvc3ZnPlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8c3ZnIHBsYWNlbWVudD1cInRvcFwiIG5nYlRvb2x0aXA9XCJQb3RlbnRpYWwgQnV5ZXJzXCIgKm5nSWY9XCJjb252ZXJzaW9uVmFsdWUgPT09J1BvdGVudGlhbCBCdXllcnMnXCIgeG1sbnM9XCJodHRwOi8vd3d3LnczLm9yZy8yMDAwL3N2Z1wiIHdpZHRoPVwiMjRcIiBoZWlnaHQ9XCIyNFwiIHZpZXdCb3g9XCIwIDAgMjQgMjRcIiBmaWxsPVwibm9uZVwiPlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPHBhdGggb3BhY2l0eT1cIjAuM1wiIGQ9XCJNMjAuMDAzOSAxOC4wMDJINC4wMDM5MUMzLjQwMzkxIDE4LjAwMiAzLjAwMzkxIDE3LjYwMiAzLjAwMzkxIDE3LjAwMlY3LjAwMTk1QzMuMDAzOTEgNi40MDE5NSAzLjQwMzkxIDYuMDAxOTUgNC4wMDM5MSA2LjAwMTk1SDIwLjAwMzlDMjAuNjAzOSA2LjAwMTk1IDIxLjAwMzkgNi40MDE5NSAyMS4wMDM5IDcuMDAxOTVWMTcuMDAyQzIxLjAwMzkgMTcuNjAyIDIwLjYwMzkgMTguMDAyIDIwLjAwMzkgMTguMDAyWk0xMi4wMDM5IDguMDAxOTVDMTAuMzAzOSA4LjAwMTk1IDkuMDAzOTEgOS44MDE5NSA5LjAwMzkxIDEyLjAwMkM5LjAwMzkxIDE0LjIwMiAxMC4zMDM5IDE2LjAwMiAxMi4wMDM5IDE2LjAwMkMxMy43MDM5IDE2LjAwMiAxNS4wMDM5IDE0LjIwMiAxNS4wMDM5IDEyLjAwMkMxNS4wMDM5IDkuODAxOTUgMTMuNzAzOSA4LjAwMTk1IDEyLjAwMzkgOC4wMDE5NVpcIiBmaWxsPVwiIzAwQTNGRlwiLz5cclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxwYXRoIGQ9XCJNMTguMDAzOSA2LjAwMTk1SDIwLjAwMzlDMjAuNjAzOSA2LjAwMTk1IDIxLjAwMzkgNi40MDE5NSAyMS4wMDM5IDcuMDAxOTVWOS4wMDE5NUMxOS4zMDM5IDkuMDAxOTUgMTguMDAzOSA3LjcwMTk1IDE4LjAwMzkgNi4wMDE5NVpNNi4wMDM5MSA2LjAwMTk1SDQuMDAzOTFDMy40MDM5MSA2LjAwMTk1IDMuMDAzOTEgNi40MDE5NSAzLjAwMzkxIDcuMDAxOTVWOS4wMDE5NUM0LjcwMzkxIDkuMDAxOTUgNi4wMDM5MSA3LjcwMTk1IDYuMDAzOTEgNi4wMDE5NVpNMjEuMDAzOSAxNy4wMDJWMTUuMDAyQzE5LjMwMzkgMTUuMDAyIDE4LjAwMzkgMTYuMzAyIDE4LjAwMzkgMTguMDAySDIwLjAwMzlDMjAuNjAzOSAxOC4wMDIgMjEuMDAzOSAxNy42MDIgMjEuMDAzOSAxNy4wMDJaTTMuMDAzOTEgMTUuMDAyVjE3LjAwMkMzLjAwMzkxIDE3LjYwMiAzLjQwMzkxIDE4LjAwMiA0LjAwMzkxIDE4LjAwMkg2LjAwMzkxQzYuMDAzOTEgMTYuMzAyIDQuNzAzOTEgMTUuMDAyIDMuMDAzOTEgMTUuMDAyWlwiIGZpbGw9XCIjMDBBM0ZGXCIvPlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPC9zdmc+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPC9zcGFuPlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxzcGFuIGNsYXNzPVwiaC01MHB4IGNvbC1tZC0zXCI+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxzdmcgcGxhY2VtZW50PVwidG9wXCIgbmdiVG9vbHRpcD1cIk5vQiBEZXJpdmVkXCIgY2xhc3M9XCJjdXJzb3ItcG9pbnRlclwiICpuZ0lmPVwiY29udmVyc2lvblZhbHVlICE9PSdOb0IgRGVyaXZlZCdcIiAoY2xpY2spPVwiY2hhbmdlVmFsdWUoJ05vQiBEZXJpdmVkJylcIiB4bWxucz1cImh0dHA6Ly93d3cudzMub3JnLzIwMDAvc3ZnXCIgd2lkdGg9XCIyNFwiIGhlaWdodD1cIjI0XCIgdmlld0JveD1cIjAgMCAyNCAyNFwiIGZpbGw9XCJub25lXCI+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8cGF0aCBvcGFjaXR5PVwiMC4zXCJcclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBkPVwiTTE4LjAwMzkgMjEuNjAwNUMxNi4zMDM5IDIxLjYwMDUgMTUuMDAzOSAyMC4zMDA1IDE1LjAwMzkgMTguNjAwNVYyLjUwMDVDMTUuMDAzOSAyLjIwMDUgMTQuNjAzOSAyLjAwMDQ1IDE0LjMwMzkgMi4yMDA0NUwxMy4wMDM5IDMuNjAwNDhMMTEuNzAzOSAyLjMwMDQ5QzExLjMwMzkgMS45MDA0OSAxMC43MDM5IDEuOTAwNDkgMTAuMzAzOSAyLjMwMDQ5TDkuMDAzOTEgMy42MDA0OEw3LjcwMzkyIDIuMzAwNDlDNy4zMDM5MiAxLjkwMDQ5IDYuNzAzOSAxLjkwMDQ5IDYuMzAzOSAyLjMwMDQ5TDUuMDAzOTEgMy42MDA0OEwzLjcwMzkyIDIuMzAwNDlDMy41MDM5MiAyLjEwMDQ5IDMuMDAzOTEgMi4yMDA1IDMuMDAzOTEgMy41MDA1VjE4LjYwMDVDMy4wMDM5MSAyMC4zMDA1IDQuMzAzOTEgMjEuNjAwNSA2LjAwMzkxIDIxLjYwMDVIMTguMDAzOVpcIlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGZpbGw9XCIjOThBMkIzXCIgLz5cclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxwYXRoXHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgZD1cIk0xMi4wMDU5IDEyLjU5NzJIMTEuMDA1OUMxMC40MDU5IDEyLjU5NzIgMTAuMDA1OSAxMi4xOTcyIDEwLjAwNTkgMTEuNTk3MkMxMC4wMDU5IDEwLjk5NzIgMTAuNDA1OSAxMC41OTcyIDExLjAwNTkgMTAuNTk3MkgxMi4wMDU5QzEyLjYwNTkgMTAuNTk3MiAxMy4wMDU5IDEwLjk5NzIgMTMuMDA1OSAxMS41OTcyQzEzLjAwNTkgMTIuMTk3MiAxMi42MDU5IDEyLjU5NzIgMTIuMDA1OSAxMi41OTcyWk05LjAwNTg2IDExLjU5NzJDOS4wMDU4NiAxMC45OTcyIDguNjA1ODYgMTAuNTk3MiA4LjAwNTg2IDEwLjU5NzJINi4wMDU4NkM1LjQwNTg2IDEwLjU5NzIgNS4wMDU4NiAxMC45OTcyIDUuMDA1ODYgMTEuNTk3MkM1LjAwNTg2IDEyLjE5NzIgNS40MDU4NiAxMi41OTcyIDYuMDA1ODYgMTIuNTk3Mkg4LjAwNTg2QzguNjA1ODYgMTIuNTk3MiA5LjAwNTg2IDEyLjE5NzIgOS4wMDU4NiAxMS41OTcyWk05LjAwNTg2IDcuNTk3MTdDOS4wMDU4NiA2Ljk5NzE3IDguNjA1ODYgNi41OTcxNyA4LjAwNTg2IDYuNTk3MTdINi4wMDU4NkM1LjQwNTg2IDYuNTk3MTcgNS4wMDU4NiA2Ljk5NzE3IDUuMDA1ODYgNy41OTcxN0M1LjAwNTg2IDguMTk3MTcgNS40MDU4NiA4LjU5NzE3IDYuMDA1ODYgOC41OTcxN0g4LjAwNTg2QzguNjA1ODYgOC41OTcxNyA5LjAwNTg2IDguMTk3MTcgOS4wMDU4NiA3LjU5NzE3Wk0xMy4wMDU5IDcuNTk3MTdDMTMuMDA1OSA2Ljk5NzE3IDEyLjYwNTkgNi41OTcxNyAxMi4wMDU5IDYuNTk3MTdIMTEuMDA1OUMxMC40MDU5IDYuNTk3MTcgMTAuMDA1OSA2Ljk5NzE3IDEwLjAwNTkgNy41OTcxN0MxMC4wMDU5IDguMTk3MTcgMTAuNDA1OSA4LjU5NzE3IDExLjAwNTkgOC41OTcxN0gxMi4wMDU5QzEyLjYwNTkgOC41OTcxNyAxMy4wMDU5IDguMTk3MTcgMTMuMDA1OSA3LjU5NzE3Wk0xMy4wMDU5IDE1LjU5NzJDMTMuMDA1OSAxNC45OTcyIDEyLjYwNTkgMTQuNTk3MiAxMi4wMDU5IDE0LjU5NzJIMTAuMDA1OUM5LjQwNTg2IDE0LjU5NzIgOS4wMDU4NiAxNC45OTcyIDkuMDA1ODYgMTUuNTk3MkM5LjAwNTg2IDE2LjE5NzIgOS40MDU4NiAxNi41OTcyIDEwLjAwNTkgMTYuNTk3MkgxMi4wMDU5QzEyLjYwNTkgMTYuNTk3MiAxMy4wMDU5IDE2LjE5NzIgMTMuMDA1OSAxNS41OTcyWlwiXHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgZmlsbD1cIiM5OEEyQjNcIiAvPlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPHBhdGhcclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBkPVwiTTE1LjAwMiAxOC41OTcxQzE1LjAwMiAyMC4yOTcxIDE2LjMwMiAyMS41OTcxIDE4LjAwMiAyMS41OTcxQzE5LjcwMiAyMS41OTcxIDIxLjAwMiAyMC4yOTcxIDIxLjAwMiAxOC41OTcxVjEyLjQ5NzFDMjEuMDAyIDEyLjE5NzEgMjAuNjAyIDExLjk5NzEgMjAuMzAyIDEyLjE5NzFMMTkuMDAyIDEzLjU5NzFMMTcuNzAyIDEyLjI5NzFDMTcuMzAyIDExLjg5NzEgMTYuNzAyIDExLjg5NzEgMTYuMzAyIDEyLjI5NzFMMTUuMDAyIDEzLjU5NzFWMTguNTk3MVpcIlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGZpbGw9XCIjOThBMkIzXCIgLz5cclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPC9zdmc+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxzdmcgcGxhY2VtZW50PVwidG9wXCIgbmdiVG9vbHRpcD1cIk5vQiBEZXJpdmVkXCIgKm5nSWY9XCJjb252ZXJzaW9uVmFsdWUgPT09J05vQiBEZXJpdmVkJ1wiIHhtbG5zPVwiaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmdcIiB3aWR0aD1cIjI0XCIgaGVpZ2h0PVwiMjRcIiB2aWV3Qm94PVwiMCAwIDI0IDI0XCIgZmlsbD1cIm5vbmVcIj5cclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxwYXRoIG9wYWNpdHk9XCIwLjNcIlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGQ9XCJNMTguMDAzOSAyMS42MDA1QzE2LjMwMzkgMjEuNjAwNSAxNS4wMDM5IDIwLjMwMDUgMTUuMDAzOSAxOC42MDA1VjIuNTAwNUMxNS4wMDM5IDIuMjAwNSAxNC42MDM5IDIuMDAwNDUgMTQuMzAzOSAyLjIwMDQ1TDEzLjAwMzkgMy42MDA0OEwxMS43MDM5IDIuMzAwNDlDMTEuMzAzOSAxLjkwMDQ5IDEwLjcwMzkgMS45MDA0OSAxMC4zMDM5IDIuMzAwNDlMOS4wMDM5MSAzLjYwMDQ4TDcuNzAzOTIgMi4zMDA0OUM3LjMwMzkyIDEuOTAwNDkgNi43MDM5IDEuOTAwNDkgNi4zMDM5IDIuMzAwNDlMNS4wMDM5MSAzLjYwMDQ4TDMuNzAzOTIgMi4zMDA0OUMzLjUwMzkyIDIuMTAwNDkgMy4wMDM5MSAyLjIwMDUgMy4wMDM5MSAzLjUwMDVWMTguNjAwNUMzLjAwMzkxIDIwLjMwMDUgNC4zMDM5MSAyMS42MDA1IDYuMDAzOTEgMjEuNjAwNUgxOC4wMDM5WlwiXHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgZmlsbD1cIiMwMEEzRkZcIiAvPlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPHBhdGhcclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBkPVwiTTEyLjAwNTkgMTIuNTk3MkgxMS4wMDU5QzEwLjQwNTkgMTIuNTk3MiAxMC4wMDU5IDEyLjE5NzIgMTAuMDA1OSAxMS41OTcyQzEwLjAwNTkgMTAuOTk3MiAxMC40MDU5IDEwLjU5NzIgMTEuMDA1OSAxMC41OTcySDEyLjAwNTlDMTIuNjA1OSAxMC41OTcyIDEzLjAwNTkgMTAuOTk3MiAxMy4wMDU5IDExLjU5NzJDMTMuMDA1OSAxMi4xOTcyIDEyLjYwNTkgMTIuNTk3MiAxMi4wMDU5IDEyLjU5NzJaTTkuMDA1ODYgMTEuNTk3MkM5LjAwNTg2IDEwLjk5NzIgOC42MDU4NiAxMC41OTcyIDguMDA1ODYgMTAuNTk3Mkg2LjAwNTg2QzUuNDA1ODYgMTAuNTk3MiA1LjAwNTg2IDEwLjk5NzIgNS4wMDU4NiAxMS41OTcyQzUuMDA1ODYgMTIuMTk3MiA1LjQwNTg2IDEyLjU5NzIgNi4wMDU4NiAxMi41OTcySDguMDA1ODZDOC42MDU4NiAxMi41OTcyIDkuMDA1ODYgMTIuMTk3MiA5LjAwNTg2IDExLjU5NzJaTTkuMDA1ODYgNy41OTcxN0M5LjAwNTg2IDYuOTk3MTcgOC42MDU4NiA2LjU5NzE3IDguMDA1ODYgNi41OTcxN0g2LjAwNTg2QzUuNDA1ODYgNi41OTcxNyA1LjAwNTg2IDYuOTk3MTcgNS4wMDU4NiA3LjU5NzE3QzUuMDA1ODYgOC4xOTcxNyA1LjQwNTg2IDguNTk3MTcgNi4wMDU4NiA4LjU5NzE3SDguMDA1ODZDOC42MDU4NiA4LjU5NzE3IDkuMDA1ODYgOC4xOTcxNyA5LjAwNTg2IDcuNTk3MTdaTTEzLjAwNTkgNy41OTcxN0MxMy4wMDU5IDYuOTk3MTcgMTIuNjA1OSA2LjU5NzE3IDEyLjAwNTkgNi41OTcxN0gxMS4wMDU5QzEwLjQwNTkgNi41OTcxNyAxMC4wMDU5IDYuOTk3MTcgMTAuMDA1OSA3LjU5NzE3QzEwLjAwNTkgOC4xOTcxNyAxMC40MDU5IDguNTk3MTcgMTEuMDA1OSA4LjU5NzE3SDEyLjAwNTlDMTIuNjA1OSA4LjU5NzE3IDEzLjAwNTkgOC4xOTcxNyAxMy4wMDU5IDcuNTk3MTdaTTEzLjAwNTkgMTUuNTk3MkMxMy4wMDU5IDE0Ljk5NzIgMTIuNjA1OSAxNC41OTcyIDEyLjAwNTkgMTQuNTk3MkgxMC4wMDU5QzkuNDA1ODYgMTQuNTk3MiA5LjAwNTg2IDE0Ljk5NzIgOS4wMDU4NiAxNS41OTcyQzkuMDA1ODYgMTYuMTk3MiA5LjQwNTg2IDE2LjU5NzIgMTAuMDA1OSAxNi41OTcySDEyLjAwNTlDMTIuNjA1OSAxNi41OTcyIDEzLjAwNTkgMTYuMTk3MiAxMy4wMDU5IDE1LjU5NzJaXCJcclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBmaWxsPVwiIzAwQTNGRlwiIC8+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8cGF0aFxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGQ9XCJNMTUuMDAyIDE4LjU5NzFDMTUuMDAyIDIwLjI5NzEgMTYuMzAyIDIxLjU5NzEgMTguMDAyIDIxLjU5NzFDMTkuNzAyIDIxLjU5NzEgMjEuMDAyIDIwLjI5NzEgMjEuMDAyIDE4LjU5NzFWMTIuNDk3MUMyMS4wMDIgMTIuMTk3MSAyMC42MDIgMTEuOTk3MSAyMC4zMDIgMTIuMTk3MUwxOS4wMDIgMTMuNTk3MUwxNy43MDIgMTIuMjk3MUMxNy4zMDIgMTEuODk3MSAxNi43MDIgMTEuODk3MSAxNi4zMDIgMTIuMjk3MUwxNS4wMDIgMTMuNTk3MVYxOC41OTcxWlwiXHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgZmlsbD1cIiMwMEEzRkZcIiAvPlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8L3N2Zz5cclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPC9zcGFuPlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgPC9kaXY+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPC9kaXY+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGRpdiBjbGFzcz1cImNhcmQtZm9vdGVyIG1zLTMgcC0wXCI+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxkaXYgY2xhc3M9XCJjb2wtbWQtMTJcIj5cclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxkaXYgY2xhc3M9XCJyb3cgcGUtMFwiPlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPHNwYW4gY2xhc3M9XCJtdC0yIGNvbC1tZC0xXCI+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPHN2ZyAqbmdJZj1cIihjb252ZXJzaW9uVmFsdWUgPT09J2Zvb3RmYWxsJyAmJiAhZ2V0Q29udmVyc2lvbkNhcmREYXRhPy5jb252ZXJzaW9uPy5mb290ZmFsbC5QcmV2aW91c1ZhcmlhdGlvbikgfHwgKGNvbnZlcnNpb25WYWx1ZSA9PT0nZW5nYWdlcnMnICYmICFnZXRDb252ZXJzaW9uQ2FyZERhdGE/LmNvbnZlcnNpb24/LmVuZ2FnZXJzLlByZXZpb3VzVmFyaWF0aW9uKSB8fCAoY29udmVyc2lvblZhbHVlID09PSdQb3RlbnRpYWwgQnV5ZXJzJyAmJiAhZ2V0Q29udmVyc2lvbkNhcmREYXRhPy5jb252ZXJzaW9uPy5wb3RlbnRpYWxCdXllcnMuUHJldmlvdXNWYXJpYXRpb24pIHx8IChjb252ZXJzaW9uVmFsdWUgPT09J05vQiBEZXJpdmVkJyAmJiAhZ2V0Q29udmVyc2lvbkNhcmREYXRhPy5jb252ZXJzaW9uPy5ub2IuUHJldmlvdXNWYXJpYXRpb24pXCIgeG1sbnM9XCJodHRwOi8vd3d3LnczLm9yZy8yMDAwL3N2Z1wiIHdpZHRoPVwiMThcIlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGhlaWdodD1cIjE4XCIgdmlld0JveD1cIjAgMCAxOCAxOFwiIGZpbGw9XCJub25lXCI+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGcgY2xpcC1wYXRoPVwidXJsKCNjbGlwMF8yMzI4XzQ2NTQpXCI+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxwYXRoIGQ9XCJNMTEuNSA5TDYuNzUgNC4yNUw0LjI1IDYuNzVMMC41IDNNMTEuNSA5SDguNU0xMS41IDlWNlwiIHN0cm9rZT1cIiNEOTJEMjBcIiBzdHJva2Utd2lkdGg9XCIxLjVcIlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgc3Ryb2tlLWxpbmVjYXA9XCJyb3VuZFwiIHN0cm9rZS1saW5lam9pbj1cInJvdW5kXCIgLz5cclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8L2c+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGRlZnM+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxjbGlwUGF0aCBpZD1cImNsaXAwXzIzMjhfNDY1NFwiPlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPHJlY3Qgd2lkdGg9XCIxMlwiIGhlaWdodD1cIjEyXCIgZmlsbD1cIndoaXRlXCIgLz5cclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPC9jbGlwUGF0aD5cclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8L2RlZnM+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8L3N2Zz5cclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxzdmcgKm5nSWY9XCIoY29udmVyc2lvblZhbHVlID09PSdmb290ZmFsbCcgJiYgZ2V0Q29udmVyc2lvbkNhcmREYXRhPy5jb252ZXJzaW9uPy5mb290ZmFsbC5QcmV2aW91c1ZhcmlhdGlvbikgfHwgKGNvbnZlcnNpb25WYWx1ZSA9PT0nZW5nYWdlcnMnICYmIGdldENvbnZlcnNpb25DYXJkRGF0YT8uY29udmVyc2lvbj8uZW5nYWdlcnMuUHJldmlvdXNWYXJpYXRpb24pIHx8IChjb252ZXJzaW9uVmFsdWUgPT09J1BvdGVudGlhbCBCdXllcnMnICYmIGdldENvbnZlcnNpb25DYXJkRGF0YT8uY29udmVyc2lvbj8ucG90ZW50aWFsQnV5ZXJzLlByZXZpb3VzVmFyaWF0aW9uKSB8fCAoY29udmVyc2lvblZhbHVlID09PSdOb0IgRGVyaXZlZCcgJiYgZ2V0Q29udmVyc2lvbkNhcmREYXRhPy5jb252ZXJzaW9uPy5ub2IuUHJldmlvdXNWYXJpYXRpb24pXCIgeG1sbnM9XCJodHRwOi8vd3d3LnczLm9yZy8yMDAwL3N2Z1wiIHdpZHRoPVwiMTJcIiBoZWlnaHQ9XCIxMlwiXHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgdmlld0JveD1cIjAgMCAxMiAxMlwiIGZpbGw9XCJub25lXCI+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGcgY2xpcC1wYXRoPVwidXJsKCNjbGlwMF8zMjE2XzExOClcIj5cclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPHBhdGggZD1cIk0xMS41IDNMNi43NSA3Ljc1TDQuMjUgNS4yNUwwLjUgOU0xMS41IDNIOC41TTExLjUgM1Y2XCIgc3Ryb2tlPVwiIzAzOTg1NVwiIHN0cm9rZS13aWR0aD1cIjEuNVwiXHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBzdHJva2UtbGluZWNhcD1cInJvdW5kXCIgc3Ryb2tlLWxpbmVqb2luPVwicm91bmRcIiAvPlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvZz5cclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8ZGVmcz5cclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGNsaXBQYXRoIGlkPVwiY2xpcDBfMzIxNl8xMThcIj5cclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxyZWN0IHdpZHRoPVwiMTJcIiBoZWlnaHQ9XCIxMlwiIGZpbGw9XCJ3aGl0ZVwiIC8+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvY2xpcFBhdGg+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPC9kZWZzPlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPC9zdmc+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8L3NwYW4+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIFxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPHNwYW4gY2xhc3M9XCJtdC0yIGNvbC1tZC05IHBlLTBcIj5cclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8c3BhbiAqbmdJZj1cImNvbnZlcnNpb25WYWx1ZSA9PT0nZm9vdGZhbGwnICYmIGdldENvbnZlcnNpb25DYXJkRGF0YT8uY29udmVyc2lvbj8uZm9vdGZhbGwuUHJldmlvdXNEYXRhID09PTBcIiBjbGFzcz1cInBlcmNlbnQtdmFsdWVcIj4wJTwvc3Bhbj5cclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8c3BhbiAqbmdJZj1cImNvbnZlcnNpb25WYWx1ZSA9PT0nZm9vdGZhbGwnICYmIGdldENvbnZlcnNpb25DYXJkRGF0YT8uY29udmVyc2lvbj8uZm9vdGZhbGwuUHJldmlvdXNEYXRhICE9PTBcIiBjbGFzcz1cInBlcmNlbnQtdmFsdWVcIj57e2dldENvbnZlcnNpb25DYXJkRGF0YT8uY29udmVyc2lvbj8uZm9vdGZhbGwuUHJldmlvdXNEYXRhID8gZ2V0Q29udmVyc2lvbkNhcmREYXRhPy5jb252ZXJzaW9uPy5mb290ZmFsbC5QcmV2aW91c0RhdGE6Jy0tJ319JTwvc3Bhbj5cclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8c3BhbiAqbmdJZj1cImNvbnZlcnNpb25WYWx1ZSA9PT0nZW5nYWdlcnMnICYmIGdldENvbnZlcnNpb25DYXJkRGF0YT8uY29udmVyc2lvbj8uZW5nYWdlcnMuUHJldmlvdXNEYXRhID09PTBcIiBjbGFzcz1cInBlcmNlbnQtdmFsdWVcIj4wJTwvc3Bhbj5cclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgXHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPHNwYW4gKm5nSWY9XCJjb252ZXJzaW9uVmFsdWUgPT09J2VuZ2FnZXJzJyAmJiBnZXRDb252ZXJzaW9uQ2FyZERhdGE/LmNvbnZlcnNpb24/LmVuZ2FnZXJzLlByZXZpb3VzRGF0YSAhPT0wXCIgY2xhc3M9XCJwZXJjZW50LXZhbHVlXCI+e3tnZXRDb252ZXJzaW9uQ2FyZERhdGE/LmNvbnZlcnNpb24/LmVuZ2FnZXJzLlByZXZpb3VzRGF0YSA/IGdldENvbnZlcnNpb25DYXJkRGF0YT8uY29udmVyc2lvbj8uZW5nYWdlcnMuUHJldmlvdXNEYXRhOictLSd9fSU8L3NwYW4+XHJcblxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxzcGFuICpuZ0lmPVwiY29udmVyc2lvblZhbHVlID09PSdQb3RlbnRpYWwgQnV5ZXJzJyAmJiBnZXRDb252ZXJzaW9uQ2FyZERhdGE/LmNvbnZlcnNpb24/LnBvdGVudGlhbEJ1eWVycy5QcmV2aW91c0RhdGEgPT09MFwiIGNsYXNzPVwicGVyY2VudC12YWx1ZVwiPjAlPC9zcGFuPlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxzcGFuICpuZ0lmPVwiY29udmVyc2lvblZhbHVlID09PSdQb3RlbnRpYWwgQnV5ZXJzJyAmJiBnZXRDb252ZXJzaW9uQ2FyZERhdGE/LmNvbnZlcnNpb24/LnBvdGVudGlhbEJ1eWVycy5QcmV2aW91c0RhdGEgIT09MFwiIGNsYXNzPVwicGVyY2VudC12YWx1ZVwiPnt7Z2V0Q29udmVyc2lvbkNhcmREYXRhPy5jb252ZXJzaW9uPy5wb3RlbnRpYWxCdXllcnMuUHJldmlvdXNEYXRhID8gZ2V0Q29udmVyc2lvbkNhcmREYXRhPy5jb252ZXJzaW9uPy5wb3RlbnRpYWxCdXllcnMuUHJldmlvdXNEYXRhOictLSd9fSU8L3NwYW4+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPHNwYW4gKm5nSWY9XCJjb252ZXJzaW9uVmFsdWUgPT09J05vQiBEZXJpdmVkJyAmJiBnZXRDb252ZXJzaW9uQ2FyZERhdGE/LmNvbnZlcnNpb24/Lm5vYi5QcmV2aW91c0RhdGEgPT09MFwiIGNsYXNzPVwicGVyY2VudC12YWx1ZVwiPjAlPC9zcGFuPlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxzcGFuICpuZ0lmPVwiY29udmVyc2lvblZhbHVlID09PSdOb0IgRGVyaXZlZCcgJiYgZ2V0Q29udmVyc2lvbkNhcmREYXRhPy5jb252ZXJzaW9uPy5ub2IuUHJldmlvdXNEYXRhICE9PTBcIiBjbGFzcz1cInBlcmNlbnQtdmFsdWVcIj57e2dldENvbnZlcnNpb25DYXJkRGF0YT8uY29udmVyc2lvbj8ubm9iLlByZXZpb3VzRGF0YSA/IGdldENvbnZlcnNpb25DYXJkRGF0YT8uY29udmVyc2lvbj8ubm9iLlByZXZpb3VzRGF0YTonLS0nfX0lPC9zcGFuPlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwhLS0gPHNwYW4gKm5nSWY9XCJjb252ZXJzaW9uVmFsdWUgPT09J05vQiBEZXJpdmVkJ1wiIGNsYXNzPVwicGVyY2VudC12YWx1ZVwiPi0tJTwvc3Bhbj4gLS0+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPCEtLSA8c3BhbiAqbmdJZj1cImNvbnZlcnNpb25WYWx1ZSA9PT0nJyAmJiBnZXRDb252ZXJzaW9uQ2FyZERhdGE/LmNvbnZlcnNpb24/LlByZXZpb3VzRGF0YSA9PT0wXCIgY2xhc3M9XCJwZXJjZW50LXZhbHVlXCI+MCU8L3NwYW4+XHJcblxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8c3BhbiAqbmdJZj1cImNvbnZlcnNpb25WYWx1ZSA9PT0nJyAmJiBnZXRDb252ZXJzaW9uQ2FyZERhdGE/LmNvbnZlcnNpb24/LlByZXZpb3VzRGF0YSAhPT0wXCIgIGNsYXNzPVwicGVyY2VudC12YWx1ZVwiPnt7Z2V0Q2FyZEdyYXBoRGF0YT8uY29udmVyc2lvbj8uUHJldmlvdXNEYXRhID8gZ2V0Q2FyZEdyYXBoRGF0YT8uY29udmVyc2lvbj8uUHJldmlvdXNEYXRhOictLSd9fSU8L3NwYW4+IC0tPlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICBcclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8c3BhblxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBjbGFzcz1cIndlZWstZm9udFwiPiB2cyBQcmV2aW91cyA8c3BhbiAqbmdJZj1cImRhdGVUeXBlID09PSdkYWlseSdcIj5kYXk8L3NwYW4+PHNwYW4gKm5nSWY9XCJkYXRlVHlwZSA9PT0nd2Vla2x5J1wiPndlZWs8L3NwYW4+IDxzcGFuICpuZ0lmPVwiZGF0ZVR5cGUgPT09J21vbnRobHknXCI+bW9udGg8L3NwYW4+PC9zcGFuPlxyXG5cclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvc3Bhbj5cclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxzcGFuICpuZ0lmPVwiY2xpZW50RGF0YT8uZmVhdHVyZUNvbmZpZ3M/LmlzTk9CICYmIGNvbnZlcnNpb25WYWx1ZSA9PT0nTm9CIERlcml2ZWQnXCIgY2xhc3M9XCJjb2wtbWQtMiBweC0wIGN1cnNvci1wb2ludGVyXCIgKGNsaWNrKT1cIm5vYlVwbG9hZCgpXCI+PHN2ZyBwbGFjZW1lbnQ9XCJ0b3BcIiBuZ2JUb29sdGlwPVwiVXBsb2FkIE5vQlwiIHdpZHRoPVwiMzJcIiBoZWlnaHQ9XCIzMlwiIHZpZXdCb3g9XCIwIDAgMzIgMzJcIiBmaWxsPVwibm9uZVwiIHhtbG5zPVwiaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmdcIj5cclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8ZyBmaWx0ZXI9XCJ1cmwoI2ZpbHRlcjBfZF82MTYwXzQzOTQpXCI+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPHJlY3QgeD1cIjJcIiB5PVwiMVwiIHdpZHRoPVwiMjhcIiBoZWlnaHQ9XCIyOFwiIHJ4PVwiNi4yMjIyMlwiIGZpbGw9XCIjRUFGOEZGXCIvPlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxyZWN0IHg9XCIyLjM4ODg5XCIgeT1cIjEuMzg4ODlcIiB3aWR0aD1cIjI3LjIyMjJcIiBoZWlnaHQ9XCIyNy4yMjIyXCIgcng9XCI1LjgzMzMzXCIgc3Ryb2tlPVwiI0VBRjhGRlwiIHN0cm9rZS13aWR0aD1cIjAuNzc3Nzc4XCIvPlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxnIGNsaXAtcGF0aD1cInVybCgjY2xpcDBfNjE2MF80Mzk0KVwiPlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxwYXRoIGQ9XCJNMTguNTkyOSAxNy41OTI2TDE2LjAwMDMgMTVNMTYuMDAwMyAxNUwxMy40MDc3IDE3LjU5MjZNMTYuMDAwMyAxNVYyMC44MzMzTTIxLjQzODIgMTkuMTQxN0MyMi4wNzA0IDE4Ljc5NyAyMi41Njk4IDE4LjI1MTcgMjIuODU3NiAxNy41OTE3QzIzLjE0NTQgMTYuOTMxNyAyMy4yMDUyIDE2LjE5NDcgMjMuMDI3NiAxNS40OTY5QzIyLjg1IDE0Ljc5OTIgMjIuNDQ1MSAxNC4xODA0IDIxLjg3NjggMTMuNzM4NEMyMS4zMDg1IDEzLjI5NjMgMjAuNjA5MiAxMy4wNTYgMTkuODg5MiAxMy4wNTU2SDE5LjA3MjVDMTguODc2MyAxMi4yOTY3IDE4LjUxMDcgMTEuNTkyMyAxOC4wMDMgMTAuOTk1MUMxNy40OTU0IDEwLjM5NzkgMTYuODU5IDkuOTIzNjIgMTYuMTQxNiA5LjYwNzgyQzE1LjQyNDMgOS4yOTIwMSAxNC42NDQ3IDkuMTQyOTMgMTMuODYxNSA5LjE3MTc5QzEzLjA3ODIgOS4yMDA2NSAxMi4zMTE3IDkuNDA2NjkgMTEuNjE5NiA5Ljc3NDQzQzEwLjkyNzQgMTAuMTQyMiAxMC4zMjc2IDEwLjY2MiA5Ljg2NTMxIDExLjI5NDlDOS40MDI5OSAxMS45Mjc4IDkuMDkwMTYgMTIuNjU3MyA4Ljk1MDM1IDEzLjQyODVDOC44MTA1NCAxNC4xOTk3IDguODQ3MzggMTQuOTkyNiA5LjA1ODEgMTUuNzQ3NUM5LjI2ODgxIDE2LjUwMjQgOS42NDc5MyAxNy4xOTk3IDEwLjE2NjkgMTcuNzg3MVwiIHN0cm9rZT1cIiMwMDlCRjNcIiBzdHJva2Utd2lkdGg9XCIxLjI5ODg5XCIgc3Ryb2tlLWxpbmVjYXA9XCJyb3VuZFwiIHN0cm9rZS1saW5lam9pbj1cInJvdW5kXCIvPlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvZz5cclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8L2c+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGRlZnM+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGZpbHRlciBpZD1cImZpbHRlcjBfZF82MTYwXzQzOTRcIiB4PVwiMC40NDQ0NDRcIiB5PVwiMC4yMjIyMjJcIiB3aWR0aD1cIjMxLjExMTFcIiBoZWlnaHQ9XCIzMS4xMTExXCIgZmlsdGVyVW5pdHM9XCJ1c2VyU3BhY2VPblVzZVwiIGNvbG9yLWludGVycG9sYXRpb24tZmlsdGVycz1cInNSR0JcIj5cclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8ZmVGbG9vZCBmbG9vZC1vcGFjaXR5PVwiMFwiIHJlc3VsdD1cIkJhY2tncm91bmRJbWFnZUZpeFwiLz5cclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8ZmVDb2xvck1hdHJpeCBpbj1cIlNvdXJjZUFscGhhXCIgdHlwZT1cIm1hdHJpeFwiIHZhbHVlcz1cIjAgMCAwIDAgMCAwIDAgMCAwIDAgMCAwIDAgMCAwIDAgMCAwIDEyNyAwXCIgcmVzdWx0PVwiaGFyZEFscGhhXCIvPlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxmZU9mZnNldCBkeT1cIjAuNzc3Nzc4XCIvPlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxmZUdhdXNzaWFuQmx1ciBzdGREZXZpYXRpb249XCIwLjc3Nzc3OFwiLz5cclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8ZmVDb2xvck1hdHJpeCB0eXBlPVwibWF0cml4XCIgdmFsdWVzPVwiMCAwIDAgMCAwLjA2Mjc0NTEgMCAwIDAgMCAwLjA5NDExNzYgMCAwIDAgMCAwLjE1Njg2MyAwIDAgMCAwLjA1IDBcIi8+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGZlQmxlbmQgbW9kZT1cIm5vcm1hbFwiIGluMj1cIkJhY2tncm91bmRJbWFnZUZpeFwiIHJlc3VsdD1cImVmZmVjdDFfZHJvcFNoYWRvd182MTYwXzQzOTRcIi8+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGZlQmxlbmQgbW9kZT1cIm5vcm1hbFwiIGluPVwiU291cmNlR3JhcGhpY1wiIGluMj1cImVmZmVjdDFfZHJvcFNoYWRvd182MTYwXzQzOTRcIiByZXN1bHQ9XCJzaGFwZVwiLz5cclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8L2ZpbHRlcj5cclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8Y2xpcFBhdGggaWQ9XCJjbGlwMF82MTYwXzQzOTRcIj5cclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8cmVjdCB3aWR0aD1cIjE1LjU1NTZcIiBoZWlnaHQ9XCIxNS41NTU2XCIgZmlsbD1cIndoaXRlXCIgdHJhbnNmb3JtPVwidHJhbnNsYXRlKDguMjIyNjYgNy4yMjIyMylcIi8+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPC9jbGlwUGF0aD5cclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8L2RlZnM+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPC9zdmc+PC9zcGFuPlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvZGl2PlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8L2Rpdj5cclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8L2Rpdj5cclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvZGl2PlxyXG5cclxuICAgICAgICAgICAgICAgICAgICAgICAgPC9kaXY+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgXHJcbiAgICAgICAgICAgICAgICAgICAgPC9kaXY+XHJcbiAgICAgICAgICAgICAgICA8L2Rpdj5cclxuICAgICAgICAgICAgPC9kaXY+XHJcbiAgICAgICAgICAgIDxkaXYgY2xhc3M9XCJjb2wtbWQtNFwiPlxyXG4gICAgICAgICAgICAgICAgPGRpdiBjbGFzcz1cImNhcmQgY2FyZC1ib3JkZXIgaC0xMDBcIj5cclxuICAgICAgICAgICAgICAgICAgICA8ZGl2IGNsYXNzPVwiY2FyZC1oZWFkZXIgZWxsaXBzZTEgYm9yZGVyLTAgcHgtM1wiICBbbmdiVG9vbHRpcF09XCJib3VuY2VkVG9vbHRpcFwiIHBsYWNlbWVudD1cInJpZ2h0XCI+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgIDwhLS0gLS0+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgIDxoMyBjbGFzcz1cImNhcmQtdGl0bGUgYWxpZ24taXRlbXMtc3RhcnQgZmxleC1jb2x1bW4gXCI+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICA8c3BhbiBjbGFzcz1cImNhcmQtbGFiZWwgaGVhZGVyXCI+e3tnZXRCb3VuY2VkQ2FyZERhdGE/LmNhcmQ/LmJvdW5jZWQ/LnJhdGUgPyBnZXRCb3VuY2VkQ2FyZERhdGE/LmNhcmQ/LmJvdW5jZWQ/LnJhdGUgOictLSd9fSU8L3NwYW4+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICA8c3BhbiBjbGFzcz1cInN1Yi1oZWFkZXJcIj48c3BhbiAqbmdJZj1cImhlYWRlckRhdGE/LmNsaWVudCAhPT0gJzQ1MidcIj5Cb3VuY2VkIDwvc3Bhbj4gPHNwYW4gKm5nSWY9XCJoZWFkZXJEYXRhPy5jbGllbnQgPT09ICc0NTInXCI+TGVzcyB0aGFuIHt7Y2xpZW50RGF0YT8uZmVhdHVyZUNvbmZpZ3M/LmJvdW5jZWRMaW1pdD8udmFsdWV9fSBtaW5zIDwvc3Bhbj4gUmF0ZTwvc3Bhbj5cclxuICAgICAgICAgICAgICAgICAgICAgICAgPC9oMz5cclxuICAgICAgICAgICAgICAgICAgICA8L2Rpdj5cclxuICAgICAgICAgICAgICAgICAgICA8bmctdGVtcGxhdGUgI2JvdW5jZWRUb29sdGlwPlxyXG4gICAgICAgICAgICAgICAgICAgICAgICA8ZGl2IGNsYXNzPVwidG9vbHRpcC1jb250ZW50XCI+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgPGg1IGNsYXNzPVwidG9vbHRpcC10aXRsZSB0ZXh0LXN0YXJ0XCIgKm5nSWY9XCJoZWFkZXJEYXRhPy5jbGllbnQgIT09ICc0NTInXCI+Qm91bmNlZCBSYXRlPC9oNT5cclxuICAgICAgICAgICAgICAgICAgICAgICAgICA8cCBjbGFzcz1cInRleHQtc3RhcnRcIj5Ub3RhbCB3YWxrLWlucyB3aG8gc3BlbnQgbGVzcyB0aGFuIHt7Y2xpZW50RGF0YT8uZmVhdHVyZUNvbmZpZ3M/LmJvdW5jZWRMaW1pdD8udmFsdWV9fSBtaW5zLjwvcD5cclxuICAgICAgICAgICAgICAgICAgICAgICBcclxuICAgICAgICAgICAgICAgICAgICAgICAgPC9kaXY+XHJcbiAgICAgICAgICAgICAgICAgICAgICA8L25nLXRlbXBsYXRlPlxyXG4gICAgICAgICAgICAgICAgICAgIDxkaXYgY2xhc3M9XCJjYXJkLWJvZHkgcC0wXCI+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgIDxkaXYgKm5nSWY9XCJib3VuY2VkTm9kYXRhXCIgY2xhc3M9XCJyb3dcIj5cclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxkaXYgY2xhc3M9XCJjb2wtbGctMTIgbWItM1wiPlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxkaXYgY2xhc3M9XCJjYXJkLWJvZHkgcGItMCBweC0wIGQtZmxleCBqdXN0aWZ5LWNvbnRlbnQtY2VudGVyIGFsaWduLWl0ZW1zLWNlbnRlciBmbGV4LWNvbHVtblwiPlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8aW1nIGNsYXNzPVwiaW1nLW5vZGF0YTFcIiBzcmM9XCIuL2Fzc2V0cy90YW5nby9JY29ucy9Ob2RhdGExLnN2Z1wiIGFsdD1cIlwiPlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8ZGl2IGNsYXNzPVwibm9kYXRhLXRpdGxlMVwiPk5vIGRhdGEgZm91bmQ8L2Rpdj5cclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPCEtLSA8ZGl2IGNsYXNzPVwibm9kYXRhLXN1YlwiPlRoZXJlIGlzIG5vIHJlc3VsdCBmb3IgdGhpcyBjb252ZXJzaW9uIGZ1bm5lbDwvZGl2PiAtLT5cclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8L2Rpdj5cclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvZGl2PlxyXG4gICAgICAgICAgICAgICAgICAgICAgICA8L2Rpdj5cclxuICAgICAgICAgICAgICAgICAgICAgICAgPGRpdiAqbmdJZj1cIiFib3VuY2VkTm9kYXRhXCIgY2xhc3M9XCJ0ZXh0LWNlbnRlclwiIGlkPVwiQm91bmNlZFJhdGVcIj48L2Rpdj5cclxuICAgICAgICAgICAgICAgICAgICA8L2Rpdj5cclxuICAgICAgICAgICAgICAgICAgICA8ZGl2IGNsYXNzPVwiY2FyZC1mb290ZXIgbXMtMiBwLTBcIj5cclxuICAgICAgICAgICAgICAgICAgICAgICAgPGRpdiBjbGFzcz1cImNvbC1tZC0xMlwiPlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgPHNwYW4gY2xhc3M9XCJtdC0yXCI+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPHN2ZyAqbmdJZj1cIiFnZXRCb3VuY2VkQ2FyZERhdGE/LmRhdGE/LmJvdW5jZWQ/LlByZXZpb3VzVmFyaWF0aW9uXCIgeG1sbnM9XCJodHRwOi8vd3d3LnczLm9yZy8yMDAwL3N2Z1wiIHdpZHRoPVwiMThcIlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGhlaWdodD1cIjE4XCIgdmlld0JveD1cIjAgMCAxOCAxOFwiIGZpbGw9XCJub25lXCI+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGcgY2xpcC1wYXRoPVwidXJsKCNjbGlwMF8yMzI4XzQ2NTQpXCI+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxwYXRoIGQ9XCJNMTEuNSA5TDYuNzUgNC4yNUw0LjI1IDYuNzVMMC41IDNNMTEuNSA5SDguNU0xMS41IDlWNlwiIHN0cm9rZT1cIiNEOTJEMjBcIiBzdHJva2Utd2lkdGg9XCIxLjVcIlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgc3Ryb2tlLWxpbmVjYXA9XCJyb3VuZFwiIHN0cm9rZS1saW5lam9pbj1cInJvdW5kXCIgLz5cclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8L2c+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGRlZnM+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxjbGlwUGF0aCBpZD1cImNsaXAwXzIzMjhfNDY1NFwiPlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPHJlY3Qgd2lkdGg9XCIxMlwiIGhlaWdodD1cIjEyXCIgZmlsbD1cIndoaXRlXCIgLz5cclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPC9jbGlwUGF0aD5cclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8L2RlZnM+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICA8L3N2Zz5cclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxzdmcgKm5nSWY9XCJnZXRCb3VuY2VkQ2FyZERhdGE/LmRhdGE/LmJvdW5jZWQ/LlByZXZpb3VzVmFyaWF0aW9uXCIgeG1sbnM9XCJodHRwOi8vd3d3LnczLm9yZy8yMDAwL3N2Z1wiIHdpZHRoPVwiMTJcIiBoZWlnaHQ9XCIxMlwiXHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgdmlld0JveD1cIjAgMCAxMiAxMlwiIGZpbGw9XCJub25lXCI+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGcgY2xpcC1wYXRoPVwidXJsKCNjbGlwMF8zMjE2XzExOClcIj5cclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPHBhdGggZD1cIk0xMS41IDNMNi43NSA3Ljc1TDQuMjUgNS4yNUwwLjUgOU0xMS41IDNIOC41TTExLjUgM1Y2XCIgc3Ryb2tlPVwiIzAzOTg1NVwiIHN0cm9rZS13aWR0aD1cIjEuNVwiXHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBzdHJva2UtbGluZWNhcD1cInJvdW5kXCIgc3Ryb2tlLWxpbmVqb2luPVwicm91bmRcIiAvPlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvZz5cclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8ZGVmcz5cclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGNsaXBQYXRoIGlkPVwiY2xpcDBfMzIxNl8xMThcIj5cclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxyZWN0IHdpZHRoPVwiMTJcIiBoZWlnaHQ9XCIxMlwiIGZpbGw9XCJ3aGl0ZVwiIC8+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvY2xpcFBhdGg+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPC9kZWZzPlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgPC9zdmc+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICA8L3NwYW4+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICA8c3BhbiBjbGFzcz1cIm10LTIgbXMtMlwiPlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxzcGFuICpuZ0lmPVwiZ2V0Qm91bmNlZENhcmREYXRhPy5kYXRhPy5ib3VuY2VkPy5QcmV2aW91c0RhdGEgPT09MFwiIGNsYXNzPVwicGVyY2VudC12YWx1ZVwiPjAlPC9zcGFuPlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxzcGFuICpuZ0lmPVwiZ2V0Qm91bmNlZENhcmREYXRhPy5kYXRhPy5ib3VuY2VkPy5QcmV2aW91c0RhdGEgIT09MFwiIGNsYXNzPVwicGVyY2VudC12YWx1ZVwiPnt7Z2V0Qm91bmNlZENhcmREYXRhPy5kYXRhPy5ib3VuY2VkPy5QcmV2aW91c0RhdGEgPyBnZXRCb3VuY2VkQ2FyZERhdGE/LmRhdGE/LmJvdW5jZWQ/LlByZXZpb3VzRGF0YTonLS0nfX0lPC9zcGFuPlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxzcGFuIGNsYXNzPVwid2Vlay1mb250XCI+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHZzIFByZXZpb3VzICA8c3BhbiAqbmdJZj1cImRhdGVUeXBlID09PSdkYWlseSdcIj5kYXk8L3NwYW4+PHNwYW4gKm5nSWY9XCJkYXRlVHlwZSA9PT0nd2Vla2x5J1wiPndlZWs8L3NwYW4+IDxzcGFuICpuZ0lmPVwiZGF0ZVR5cGUgPT09J21vbnRobHknXCI+bW9udGg8L3NwYW4+PC9zcGFuPlxyXG5cclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvc3Bhbj5cclxuICAgICAgICAgICAgICAgICAgICAgICAgPC9kaXY+XHJcbiAgICAgICAgICAgICAgICAgICAgPC9kaXY+XHJcbiAgICAgICAgICAgICAgICA8L2Rpdj5cclxuICAgICAgICAgICAgPC9kaXY+XHJcbiAgICAgICAgICAgIDxkaXYgY2xhc3M9XCJjb2wtbWQtNCBtdC0zXCI+XHJcbiAgICAgICAgICAgICAgICA8ZGl2IGNsYXNzPVwiY2FyZCBjYXJkLWJvcmRlciBoLTEwMFwiPlxyXG4gICAgICAgICAgICAgICAgICAgIDxkaXYgY2xhc3M9XCJjYXJkLWhlYWRlciBlbGxpcHNlMSBib3JkZXItMCBweC0zXCIgIFtuZ2JUb29sdGlwXT1cImVuZ2FnZXJzVG9vbHRpcFwiIHBsYWNlbWVudD1cInJpZ2h0XCI+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgIDwhLS0gIC0tPlxyXG4gICAgICAgICAgICAgICAgICAgICAgICA8aDMgY2xhc3M9XCJjYXJkLXRpdGxlIGFsaWduLWl0ZW1zLXN0YXJ0IGZsZXgtY29sdW1uIFwiID5cclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxzcGFuIGNsYXNzPVwiY2FyZC1sYWJlbCBoZWFkZXJcIj57e2dldEVuZ2FnZXJzQ2FyZERhdGE/LmNhcmQ/LmVuZ2FnZXJzPy5yYXRlID8gZ2V0RW5nYWdlcnNDYXJkRGF0YT8uY2FyZD8uZW5nYWdlcnM/LnJhdGUgOictLSd9fSU8L3NwYW4+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICA8c3BhbiBjbGFzcz1cInN1Yi1oZWFkZXJcIj48c3BhbiAqbmdJZj1cImhlYWRlckRhdGE/LmNsaWVudCAhPT0gJzQ1MidcIj5FbmdhZ2Vyczwvc3Bhbj4gPHNwYW4gKm5nSWY9XCJoZWFkZXJEYXRhPy5jbGllbnQgPT09ICc0NTInXCI+TW9yZSB0aGFuIHt7Y2xpZW50RGF0YT8uZmVhdHVyZUNvbmZpZ3M/LmJvdW5jZWRMaW1pdD8udmFsdWV9fSBtaW5zPC9zcGFuPiBSYXRlPC9zcGFuPlxyXG4gICAgICAgICAgICAgICAgICAgICAgICA8L2gzPlxyXG4gICAgICAgICAgICAgICAgICAgIDwvZGl2PlxyXG4gICAgICAgICAgICAgICAgICAgIDxuZy10ZW1wbGF0ZSAjZW5nYWdlcnNUb29sdGlwPlxyXG4gICAgICAgICAgICAgICAgICAgICAgICA8ZGl2IGNsYXNzPVwidG9vbHRpcC1jb250ZW50XCI+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgPGg1IGNsYXNzPVwidG9vbHRpcC10aXRsZSB0ZXh0LXN0YXJ0XCIgKm5nSWY9XCJoZWFkZXJEYXRhPy5jbGllbnQgIT09ICc0NTInXCI+RW5nYWdlcnMgUmF0ZTwvaDU+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgPHAgY2xhc3M9XCJ0ZXh0LXN0YXJ0XCI+VG90YWwgd2Fsay1pbnMgd2hvIHNwZW50IG1vcmUgdGhhbiB7e2NsaWVudERhdGE/LmZlYXR1cmVDb25maWdzPy5ib3VuY2VkTGltaXQ/LnZhbHVlfX0gbWlucyBpbnRvIHRoZSBzZWxlY3RlZCBzdG9yZXMuPC9wPiAgICAgICAgICAgICAgICAgICAgICAgIFxyXG4gICAgICAgICAgICAgICAgICAgICAgICA8L2Rpdj5cclxuICAgICAgICAgICAgICAgICAgICAgIDwvbmctdGVtcGxhdGU+XHJcbiAgICAgICAgICAgICAgICAgICAgPGRpdiBjbGFzcz1cImNhcmQtYm9keSBwLTBcIj5cclxuICAgICAgICAgICAgICAgICAgICAgICAgPGRpdiAqbmdJZj1cImVuZ2FnZXJzTm9kYXRhXCIgY2xhc3M9XCJyb3dcIj5cclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxkaXYgY2xhc3M9XCJjb2wtbGctMTIgbWItM1wiPlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxkaXYgY2xhc3M9XCJjYXJkLWJvZHkgcGItMCBweC0wIGQtZmxleCBqdXN0aWZ5LWNvbnRlbnQtY2VudGVyIGFsaWduLWl0ZW1zLWNlbnRlciBmbGV4LWNvbHVtblwiPlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8aW1nIGNsYXNzPVwiaW1nLW5vZGF0YTFcIiBzcmM9XCIuL2Fzc2V0cy90YW5nby9JY29ucy9Ob2RhdGExLnN2Z1wiIGFsdD1cIlwiPlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8ZGl2IGNsYXNzPVwibm9kYXRhLXRpdGxlMVwiPk5vIGRhdGEgZm91bmQ8L2Rpdj5cclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPCEtLSA8ZGl2IGNsYXNzPVwibm9kYXRhLXN1YlwiPlRoZXJlIGlzIG5vIHJlc3VsdCBmb3IgdGhpcyBjb252ZXJzaW9uIGZ1bm5lbDwvZGl2PiAtLT5cclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8L2Rpdj5cclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvZGl2PlxyXG4gICAgICAgICAgICAgICAgICAgICAgICA8L2Rpdj5cclxuICAgICAgICAgICAgICAgICAgICAgICAgPGRpdiAqbmdJZj1cIiFlbmdhZ2Vyc05vZGF0YVwiIGNsYXNzPVwidGV4dC1jZW50ZXJcIiBpZD1cImVuZ2FnZXJzXCI+PC9kaXY+XHJcbiAgICAgICAgICAgICAgICAgICAgPC9kaXY+XHJcbiAgICAgICAgICAgICAgICAgICAgPGRpdiBjbGFzcz1cImNhcmQtZm9vdGVyIG1zLTIgcC0wXCI+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgIDxkaXYgY2xhc3M9XCJjb2wtbWQtMTJcIj5cclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxzcGFuIGNsYXNzPVwibXQtMlwiPlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxzdmcgKm5nSWY9XCIhZ2V0RW5nYWdlcnNDYXJkRGF0YT8uZGF0YT8uZW5nYWdlcnM/LlByZXZpb3VzVmFyaWF0aW9uXCIgeG1sbnM9XCJodHRwOi8vd3d3LnczLm9yZy8yMDAwL3N2Z1wiIHdpZHRoPVwiMThcIlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBoZWlnaHQ9XCIxOFwiIHZpZXdCb3g9XCIwIDAgMTggMThcIiBmaWxsPVwibm9uZVwiPlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8ZyBjbGlwLXBhdGg9XCJ1cmwoI2NsaXAwXzIzMjhfNDY1NClcIj5cclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxwYXRoIGQ9XCJNMTEuNSA5TDYuNzUgNC4yNUw0LjI1IDYuNzVMMC41IDNNMTEuNSA5SDguNU0xMS41IDlWNlwiIHN0cm9rZT1cIiNEOTJEMjBcIiBzdHJva2Utd2lkdGg9XCIxLjVcIlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHN0cm9rZS1saW5lY2FwPVwicm91bmRcIiBzdHJva2UtbGluZWpvaW49XCJyb3VuZFwiIC8+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvZz5cclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGRlZnM+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8Y2xpcFBhdGggaWQ9XCJjbGlwMF8yMzI4XzQ2NTRcIj5cclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8cmVjdCB3aWR0aD1cIjEyXCIgaGVpZ2h0PVwiMTJcIiBmaWxsPVwid2hpdGVcIiAvPlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPC9jbGlwUGF0aD5cclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPC9kZWZzPlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvc3ZnPlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxzdmcgKm5nSWY9XCJnZXRFbmdhZ2Vyc0NhcmREYXRhPy5kYXRhPy5lbmdhZ2Vycz8uUHJldmlvdXNWYXJpYXRpb25cIiB4bWxucz1cImh0dHA6Ly93d3cudzMub3JnLzIwMDAvc3ZnXCIgd2lkdGg9XCIxMlwiIGhlaWdodD1cIjEyXCJcclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgdmlld0JveD1cIjAgMCAxMiAxMlwiIGZpbGw9XCJub25lXCI+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxnIGNsaXAtcGF0aD1cInVybCgjY2xpcDBfMzIxNl8xMTgpXCI+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8cGF0aCBkPVwiTTExLjUgM0w2Ljc1IDcuNzVMNC4yNSA1LjI1TDAuNSA5TTExLjUgM0g4LjVNMTEuNSAzVjZcIiBzdHJva2U9XCIjMDM5ODU1XCIgc3Ryb2tlLXdpZHRoPVwiMS41XCJcclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBzdHJva2UtbGluZWNhcD1cInJvdW5kXCIgc3Ryb2tlLWxpbmVqb2luPVwicm91bmRcIiAvPlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8L2c+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxkZWZzPlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGNsaXBQYXRoIGlkPVwiY2xpcDBfMzIxNl8xMThcIj5cclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8cmVjdCB3aWR0aD1cIjEyXCIgaGVpZ2h0PVwiMTJcIiBmaWxsPVwid2hpdGVcIiAvPlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPC9jbGlwUGF0aD5cclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPC9kZWZzPlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvc3ZnPlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgPC9zcGFuPlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgPHNwYW4gY2xhc3M9XCJtdC0yIG1zLTJcIj5cclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8c3BhbiAqbmdJZj1cImdldEVuZ2FnZXJzQ2FyZERhdGE/LmRhdGE/LmVuZ2FnZXJzPy5QcmV2aW91c0RhdGEgPT09MFwiIGNsYXNzPVwicGVyY2VudC12YWx1ZVwiPjAlPC9zcGFuPlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxzcGFuICpuZ0lmPVwiZ2V0RW5nYWdlcnNDYXJkRGF0YT8uZGF0YT8uZW5nYWdlcnM/LlByZXZpb3VzRGF0YSAhPT0wXCIgY2xhc3M9XCJwZXJjZW50LXZhbHVlXCI+e3tnZXRFbmdhZ2Vyc0NhcmREYXRhPy5kYXRhPy5lbmdhZ2Vycz8uUHJldmlvdXNEYXRhID8gZ2V0RW5nYWdlcnNDYXJkRGF0YT8uZGF0YT8uZW5nYWdlcnM/LlByZXZpb3VzRGF0YTonLS0nfX0lPC9zcGFuPlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxzcGFuIGNsYXNzPVwid2Vlay1mb250XCI+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHZzIFByZXZpb3VzICA8c3BhbiAqbmdJZj1cImRhdGVUeXBlID09PSdkYWlseSdcIj5kYXk8L3NwYW4+PHNwYW4gKm5nSWY9XCJkYXRlVHlwZSA9PT0nd2Vla2x5J1wiPndlZWs8L3NwYW4+IDxzcGFuICpuZ0lmPVwiZGF0ZVR5cGUgPT09J21vbnRobHknXCI+bW9udGg8L3NwYW4+PC9zcGFuPlxyXG5cclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvc3Bhbj5cclxuICAgICAgICAgICAgICAgICAgICAgICAgPC9kaXY+XHJcbiAgICAgICAgICAgICAgICAgICAgPC9kaXY+XHJcbiAgICAgICAgICAgICAgICA8L2Rpdj5cclxuICAgICAgICAgICAgPC9kaXY+XHJcbiAgICAgICAgICAgIDxkaXYgY2xhc3M9XCJjb2wtbWQtNCBtdC0zXCI+XHJcbiAgICAgICAgICAgICAgICA8ZGl2IGNsYXNzPVwiY2FyZCBjYXJkLWJvcmRlciBoLTEwMFwiPlxyXG4gICAgICAgICAgICAgICAgICAgIDxkaXYgKm5nSWY9XCJoZWFkZXJEYXRhPy5jbGllbnQgPT09ICc0NTInXCIgY2xhc3M9XCJjYXJkLWhlYWRlciBlbGxpcHNlMSBib3JkZXItMCBweC0zXCIgPiBcclxuICAgICAgICAgICAgICAgICAgICAgICAgPGgzIGNsYXNzPVwiY2FyZC10aXRsZSBhbGlnbi1pdGVtcy1zdGFydCBmbGV4LWNvbHVtblwiICA+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICA8c3BhbiBjbGFzcz1cImNhcmQtbGFiZWwgaGVhZGVyXCI+e3tnZXRNaXNzZWRPcHBvcnR1bml0eURhdGE/LmNhcmQ/Lm1pc3NlZG9wcG9ydHVuaXRpZXM/LnJhdGUgPyBnZXRNaXNzZWRPcHBvcnR1bml0eURhdGE/LmNhcmQ/Lm1pc3NlZG9wcG9ydHVuaXRpZXM/LnJhdGUgOictLSd9fSU8L3NwYW4+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICA8c3BhbiBjbGFzcz1cInN1Yi1oZWFkZXJcIj48c3BhbiAqbmdJZj1cImhlYWRlckRhdGE/LmNsaWVudCAhPT0gJzQ1MidcIj5NaXNzZWQgT3Bwb3J0dW5pdGllczwvc3Bhbj48c3BhbiAqbmdJZj1cImhlYWRlckRhdGE/LmNsaWVudCA9PT0gJzQ1MidcIj57e2NsaWVudERhdGE/LmZlYXR1cmVDb25maWdzPy5taXNzZWRPcHBvcnR1bml0eUZyb20/LnZhbHVlfX0gLSB7e2NsaWVudERhdGE/LmZlYXR1cmVDb25maWdzPy5taXNzZWRPcHBvcnR1bml0eVRvPy52YWx1ZX19IG1pbnM8L3NwYW4+PC9zcGFuPlxyXG4gICAgICAgICAgICAgICAgICAgICAgICA8L2gzPlxyXG4gICAgICAgICAgICAgICAgICAgIDwvZGl2PlxyXG4gICAgICAgICAgICAgICAgICAgIDxkaXYgKm5nSWY9XCJoZWFkZXJEYXRhPy5jbGllbnQgIT09ICc0NTInXCIgY2xhc3M9XCJjYXJkLWhlYWRlciBlbGxpcHNlMSBib3JkZXItMCBweC0zXCIgW25nYlRvb2x0aXBdPVwibWlzc2VkVG9vbHRpcFwiIHBsYWNlbWVudD1cInJpZ2h0XCI+IFxyXG4gICAgICAgICAgICAgICAgICAgICAgICA8aDMgY2xhc3M9XCJjYXJkLXRpdGxlIGFsaWduLWl0ZW1zLXN0YXJ0IGZsZXgtY29sdW1uXCIgID5cclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxzcGFuIGNsYXNzPVwiY2FyZC1sYWJlbCBoZWFkZXJcIj57e2dldE1pc3NlZE9wcG9ydHVuaXR5RGF0YT8uY2FyZD8ubWlzc2Vkb3Bwb3J0dW5pdGllcz8ucmF0ZSA/IGdldE1pc3NlZE9wcG9ydHVuaXR5RGF0YT8uY2FyZD8ubWlzc2Vkb3Bwb3J0dW5pdGllcz8ucmF0ZSA6Jy0tJ319JTwvc3Bhbj5cclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxzcGFuIGNsYXNzPVwic3ViLWhlYWRlclwiPjxzcGFuICpuZ0lmPVwiaGVhZGVyRGF0YT8uY2xpZW50ICE9PSAnNDUyJ1wiPk1pc3NlZCBPcHBvcnR1bml0aWVzPC9zcGFuPjxzcGFuICpuZ0lmPVwiaGVhZGVyRGF0YT8uY2xpZW50ID09PSAnNDUyJ1wiPnt7Y2xpZW50RGF0YT8uZmVhdHVyZUNvbmZpZ3M/Lm1pc3NlZE9wcG9ydHVuaXR5RnJvbT8udmFsdWV9fSAtIHt7Y2xpZW50RGF0YT8uZmVhdHVyZUNvbmZpZ3M/Lm1pc3NlZE9wcG9ydHVuaXR5VG8/LnZhbHVlfX0gbWluczwvc3Bhbj48L3NwYW4+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgIDwvaDM+XHJcbiAgICAgICAgICAgICAgICAgICAgPC9kaXY+XHJcbiAgICAgICAgICAgICAgICAgICAgPG5nLXRlbXBsYXRlICNtaXNzZWRUb29sdGlwPlxyXG4gICAgICAgICAgICAgICAgICAgICAgICA8ZGl2IGNsYXNzPVwidG9vbHRpcC1jb250ZW50XCI+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgPGg1IGNsYXNzPVwidG9vbHRpcC10aXRsZSB0ZXh0LXN0YXJ0XCIgKm5nSWY9XCJoZWFkZXJEYXRhPy5jbGllbnQgIT09ICc0NTInXCI+TWlzc2VkIE9wcG9ydHVuaXRpZXM8L2g1PlxyXG4gICAgICAgICAgICAgICAgICAgICAgICA8cCAqbmdJZj1cImhlYWRlckRhdGE/LmNsaWVudCAhPT0gJzQ1MidcIiBjbGFzcz1cInRleHQtc3RhcnRcIj5UaGUgZGlmZmVyZW5jZSBiZXR3ZWVuIDxzcGFuICpuZ0lmPVwiY2xpZW50RGF0YT8uZmVhdHVyZUNvbmZpZ3M/Lm1pc3NlZE9wcG9ydHVuaXR5Q2FsY3VsYXRpb24gPT09ICdlbmdhZ2Vycy1jb252ZXJzaW9uJyB8fCBcclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGNsaWVudERhdGE/LmZlYXR1cmVDb25maWdzPy5taXNzZWRPcHBvcnR1bml0eUNhbGN1bGF0aW9uID09PSAnZ3JvdXAtY29udmVyc2lvbidcIj5cclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB7eyBjbGllbnREYXRhPy5mZWF0dXJlQ29uZmlncz8ubWlzc2VkT3Bwb3J0dW5pdHlDYWxjdWxhdGlvbiA9PT0gJ2VuZ2FnZXJzLWNvbnZlcnNpb24nID8gJ2VuZ2FnZXJzIGFuZCBjb252ZXJzaW9ucywnIDogJ3BvdGVudGlhbCBhbmQgY29udmVyc2lvbnMsJyB9fVxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgPC9zcGFuPlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgc2hvd2luZyBwb3RlbnRpYWwgbG9zcy48L3A+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgIDxwICpuZ0lmPVwiaGVhZGVyRGF0YT8uY2xpZW50ID09PSAnNDUyJ1wiIGNsYXNzPVwidGV4dC1zdGFydFwiPlRoZSBkaWZmZXJlbmNlIGJldHdlZW4gPHNwYW4gKm5nSWY9XCJjbGllbnREYXRhPy5mZWF0dXJlQ29uZmlncz8ubWlzc2VkT3Bwb3J0dW5pdHlDYWxjdWxhdGlvbiA9PT0gJ2VuZ2FnZXJzLWNvbnZlcnNpb24nIHx8IFxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgY2xpZW50RGF0YT8uZmVhdHVyZUNvbmZpZ3M/Lm1pc3NlZE9wcG9ydHVuaXR5Q2FsY3VsYXRpb24gPT09ICdncm91cC1jb252ZXJzaW9uJ1wiPlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAge3tcclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBjbGllbnREYXRhPy5mZWF0dXJlQ29uZmlncz8ubWlzc2VkT3Bwb3J0dW5pdHlDYWxjdWxhdGlvbiA9PT0gJ2VuZ2FnZXJzLWNvbnZlcnNpb24nXHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA/ICgnTW9yZSB0aGFuICcgKyBmZWF0dXJlQ29uZmlnPy5ib3VuY2VkTGltaXQ/LnZhbHVlICsgJyBtaW5zIGFuZCBNb3JlIHRoYW4gJyArIGZlYXR1cmVDb25maWc/LmNvbnZlcnNpb24/LnZhbHVlICsgJyBtaW5zJylcclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDogKCdwb3RlbnRpYWwgYW5kIE1vcmUgdGhhbiAnKyBmZWF0dXJlQ29uZmlnPy5jb252ZXJzaW9uPy52YWx1ZSsgJyBtaW5zJylcclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgfX1cclxuICAgICAgICAgICAgICAgICAgICAgICAgPC9zcGFuPlxyXG4gICAgICAgICAgICAgICAgICAgICAgICBzaG93aW5nIHBvdGVudGlhbCBsb3NzLjwvcD5cclxuICAgICAgICAgICAgICAgICAgICAgICAgIFxyXG4gICAgICAgICAgICAgICAgICAgICAgICA8L2Rpdj5cclxuICAgICAgICAgICAgICAgICAgICAgIDwvbmctdGVtcGxhdGU+XHJcbiAgICAgICAgICAgICAgICAgICAgPGRpdiBjbGFzcz1cImNhcmQtYm9keSBwLTAgaC05MHB4IG10LTMgbXgtM1wiPlxyXG4gICAgICAgICAgICAgICAgICAgICAgICA8ZGl2ICpuZ0lmPVwiaGVhZGVyRGF0YT8uY2xpZW50ICE9PSc0NTInXCIgY2xhc3M9XCJyb3dcIj5cclxuICAgICAgICAgICAgICAgICAgICAgICAgIDxkaXYgY2xhc3M9XCJjb2wtbWQtOVwiPjwhLS17e2dldENhcmREYXRhPy5yZXZlbnVlPy52YWx1ZSA/PyAnLS0nfX0gLS0+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgIDxkaXYgY2xhc3M9XCJteS0yXCIgKm5nSWY9XCJnZXRNaXNzZWRPcHBvcnR1bml0eURhdGE/LmNhcmQ/LnJldmVudWU/LmN1cnJlbmN5ID09PSdkb2xsYXInXCI+PHNwYW4gY2xhc3M9XCJjYXJkLWxhYmVsIGhlYWRlclwiPjxzcGFuIGNsYXNzPVwibWUtMVwiPiQ8L3NwYW4+IHt7Z2V0TWlzc2VkT3Bwb3J0dW5pdHlEYXRhPy5jYXJkPy5yZXZlbnVlPy52YWx1ZS50b0xvY2FsZVN0cmluZygnZW4tSU4nKSA/PyAnLS0nfX08L3NwYW4+PC9kaXY+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgIDxkaXYgY2xhc3M9XCJteS0yXCIgKm5nSWY9XCJnZXRNaXNzZWRPcHBvcnR1bml0eURhdGE/LmNhcmQ/LnJldmVudWU/LmN1cnJlbmN5ID09PSdhZWQnXCI+IDxzcGFuIGNsYXNzPVwiY2FyZC1sYWJlbCBoZWFkZXJcIj48c3BhbiBjbGFzcz1cIm1lLTFcIj7Yry7YpTwvc3Bhbj4ge3tnZXRNaXNzZWRPcHBvcnR1bml0eURhdGE/LmNhcmQ/LnJldmVudWU/LnZhbHVlLnRvTG9jYWxlU3RyaW5nKCdlbi1JTicpID8/ICctLSd9fTwvc3Bhbj48L2Rpdj4gIFxyXG4gICAgICAgICAgICAgICAgICAgICAgICA8ZGl2IGNsYXNzPVwibXktMlwiICpuZ0lmPVwiZ2V0TWlzc2VkT3Bwb3J0dW5pdHlEYXRhPy5jYXJkPy5yZXZlbnVlPy5jdXJyZW5jeSA9PT0naW5yJ1wiPiA8c3BhbiBjbGFzcz1cImNhcmQtbGFiZWwgaGVhZGVyMVwiICBbbmdTdHlsZV09XCJ7XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICdmb250LXNpemUnOiAoZ2V0TWlzc2VkT3Bwb3J0dW5pdHlEYXRhPy5jYXJkPy5yZXZlbnVlPy52YWx1ZS50b0xvY2FsZVN0cmluZygnZW4tSU4nKT8ubGVuZ3RoID4gNiA/ICcxOHB4JyA6ICcyMHB4Jyl9XCI+PHNwYW4gY2xhc3M9XCJtZS0xXCI+4oK5PC9zcGFuPnt7Z2V0TWlzc2VkT3Bwb3J0dW5pdHlEYXRhPy5jYXJkPy5yZXZlbnVlPy52YWx1ZS50b0xvY2FsZVN0cmluZygnZW4tSU4nKSA/PyAnLS0nfX08L3NwYW4+PC9kaXY+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgIDxkaXYgY2xhc3M9XCJteS0xXCI+PHNwYW4gY2xhc3M9XCJzdWItaGVhZGVyXCIgKm5nSWY9XCJoZWFkZXJEYXRhPy5jbGllbnQgIT09ICc0NTInXCI+UG90ZW50aWFsIExvc3MgUmV2ZW51ZTwvc3Bhbj48L2Rpdj5cclxuICAgICAgICAgICAgICAgICAgICAgICAgPC9kaXY+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgIDxkaXYgY2xhc3M9XCJjb2wtbWQtMyBtdC01XCIgPjxzdmcgY2xhc3M9XCJjdXJzb3ItcG9pbnRlclwiIChjbGljayk9XCJnb1RvTG9zcygpXCIgIHhtbG5zPVwiaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmdcIiB3aWR0aD1cIjQwXCIgaGVpZ2h0PVwiNDBcIiB2aWV3Qm94PVwiMCAwIDQwIDQwXCIgZmlsbD1cIm5vbmVcIj5cclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxnIGZpbHRlcj1cInVybCgjZmlsdGVyMF9kXzM4ODVfMjUzMSlcIj5cclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxyZWN0IHg9XCIyXCIgeT1cIjFcIiB3aWR0aD1cIjM2XCIgaGVpZ2h0PVwiMzZcIiByeD1cIjhcIiBmaWxsPVwiI0VBRjhGRlwiLz5cclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxyZWN0IHg9XCIyLjVcIiB5PVwiMS41XCIgd2lkdGg9XCIzNVwiIGhlaWdodD1cIjM1XCIgcng9XCI3LjVcIiBzdHJva2U9XCIjRUFGOEZGXCIvPlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgPGcgY2xpcC1wYXRoPVwidXJsKCNjbGlwMF8zODg1XzI1MzEpXCI+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICA8cGF0aCBkPVwiTTI3LjQ1ODUgMTcuMjI1MUMyNy44MTMzIDE4Ljg1NTYgMjcuNjcwNyAyMC41NjE0IDI3LjA1MDUgMjIuMTAyN0wyNS44NTkzIDIxLjM4MzhMMjYuMDE3IDI2LjA5N0wzMCAyMy44ODM0TDI4LjcxNyAyMy4xMDg2QzMwLjcxNzEgMTguNDgyMyAyOS4wNzI2IDEyLjkzMzMgMjQuNzc5OSAxMC4zNDA3QzIzLjMzMjggOS40NjYzMyAyMS42OTE4IDkuMDA0MDYgMjAuMDIwNiA5LjAwMDAzQzE4LjM0OTQgOC45OTU5OSAxNi43MDY0IDkuNDUwMzMgMTUuMjU1NSAxMC4zMTc3TDE2LjIwNDkgMTIuMDU0NEMxNy41OTMzIDExLjIyNDkgMTkuMTk1MyAxMC44NzEyIDIwLjc4NTggMTEuMDQzQzIyLjM3NjQgMTEuMjE0OSAyMy44NzU0IDExLjkwMzYgMjUuMDcyMyAxMy4wMTI1QzI2LjI2OTIgMTQuMTIxNCAyNy4xMDM3IDE1LjU5NDYgMjcuNDU4NSAxNy4yMjUxWlwiIGZpbGw9XCIjMDBBM0ZGXCIvPlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgPHBhdGggZD1cIk0xMi41NDAyIDIwLjc3NTlDMTIuMTg1NCAxOS4xNDUyIDEyLjMyODIgMTcuNDM5MiAxMi45NDg1IDE1Ljg5NzhMMTQuMTM5OCAxNi42MTY3TDEzLjk4MiAxMS45MDM1TDEwIDE0LjExODFMMTEuMjgzIDE0Ljg5MDlDOS4yODE5OSAxOS41MTgyIDEwLjkyNjQgMjUuMDY2MiAxNS4yMTkyIDI3LjY1ODhDMTYuNjY2MSAyOC41MzMzIDE4LjMwNzEgMjguOTk1OCAxOS45NzgzIDI5QzIxLjY0OTUgMjkuMDA0MiAyMy4yOTI2IDI4LjU1IDI0Ljc0MzUgMjcuNjgyOEwyMy43OTUxIDI1Ljk0NjFDMjIuNDA2NyAyNi43NzYgMjAuODA0NSAyNy4xMyAxOS4yMTM4IDI2Ljk1ODNDMTcuNjIzIDI2Ljc4NjcgMTYuMTIzNyAyNi4wOTc5IDE0LjkyNjcgMjQuOTg5QzEzLjcyOTYgMjMuODggMTIuODk1IDIyLjQwNjYgMTIuNTQwMiAyMC43NzU5WlwiIGZpbGw9XCIjMDBBM0ZGXCIvPlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgPHBhdGggZmlsbC1ydWxlPVwiZXZlbm9kZFwiIGNsaXAtcnVsZT1cImV2ZW5vZGRcIiBkPVwiTTIxLjAzNzIgMTMuMDAzQzIxLjAzNzIgMTIuNTUxNCAyMC42ODcxIDEyLjE4NTIgMjAuMjU1MiAxMi4xODUyQzE5LjgyMzQgMTIuMTg1MiAxOS40NzMzIDEyLjU1MTQgMTkuNDczMyAxMy4wMDNWMTQuMzY1OUgxOC45NTJDMTguMjYwNyAxNC4zNjU5IDE3LjU5NzggMTQuNjUzIDE3LjEwOSAxNS4xNjQyQzE2LjYyMDEgMTUuNjc1NCAxNi4zNDU1IDE2LjM2ODcgMTYuMzQ1NSAxNy4wOTE2QzE2LjM0NTUgMTcuODE0NiAxNi42MjAxIDE4LjUwNzkgMTcuMTA5IDE5LjAxOTFDMTcuNTk3OCAxOS41MzAyIDE4LjI2MDcgMTkuODE3NCAxOC45NTIgMTkuODE3NEgxOS40NzMzVjIxLjk5OEgxNy4xMjc1QzE2LjY5NTYgMjEuOTk4IDE2LjM0NTUgMjIuMzY0MSAxNi4zNDU1IDIyLjgxNThDMTYuMzQ1NSAyMy4yNjc0IDE2LjY5NTYgMjMuNjMzNSAxNy4xMjc1IDIzLjYzMzVIMTkuNDczM1YyNC45OTY0QzE5LjQ3MzMgMjUuNDQ4IDE5LjgyMzQgMjUuODE0MSAyMC4yNTUyIDI1LjgxNDFDMjAuNjg3MSAyNS44MTQxIDIxLjAzNzIgMjUuNDQ4IDIxLjAzNzIgMjQuOTk2NFYyMy42MzM1SDIxLjU1ODVDMjIuMjQ5OCAyMy42MzM1IDIyLjkxMjcgMjMuMzQ2MyAyMy40MDE1IDIyLjgzNTFDMjMuODkwMyAyMi4zMjQgMjQuMTY0OSAyMS42MzA2IDI0LjE2NDkgMjAuOTA3N0MyNC4xNjQ5IDIwLjE4NDggMjMuODkwMyAxOS40OTE1IDIzLjQwMTUgMTguOTgwM0MyMi45MTI3IDE4LjQ2OTEgMjIuMjQ5OCAxOC4xODIgMjEuNTU4NSAxOC4xODJIMjEuMDM3MlYxNi4wMDEzSDIyLjg2MTdDMjMuMjkzNiAxNi4wMDEzIDIzLjY0MzcgMTUuNjM1MiAyMy42NDM3IDE1LjE4MzZDMjMuNjQzNyAxNC43MzIgMjMuMjkzNiAxNC4zNjU5IDIyLjg2MTcgMTQuMzY1OUgyMS4wMzcyVjEzLjAwM1pNMTguOTUyIDE2LjAwMTNIMTkuNDczM1YxOC4xODJIMTguOTUyQzE4LjY3NTUgMTguMTgyIDE4LjQxMDMgMTguMDY3MSAxOC4yMTQ4IDE3Ljg2MjZDMTguMDE5MyAxNy42NTgxIDE3LjkwOTQgMTcuMzgwOCAxNy45MDk0IDE3LjA5MTZDMTcuOTA5NCAxNi44MDI1IDE4LjAxOTMgMTYuNTI1MiAxOC4yMTQ4IDE2LjMyMDdDMTguNDEwMyAxNi4xMTYyIDE4LjY3NTUgMTYuMDAxMyAxOC45NTIgMTYuMDAxM1pNMjEuMDM3MiAyMS45OThWMTkuODE3NEgyMS41NTg1QzIxLjgzNSAxOS44MTc0IDIyLjEwMDIgMTkuOTMyMyAyMi4yOTU3IDIwLjEzNjhDMjIuNDkxMiAyMC4zNDEyIDIyLjYwMTEgMjAuNjE4NiAyMi42MDExIDIwLjkwNzdDMjIuNjAxMSAyMS4xOTY5IDIyLjQ5MTIgMjEuNDc0MiAyMi4yOTU3IDIxLjY3ODdDMjIuMTAwMiAyMS44ODMyIDIxLjgzNSAyMS45OTggMjEuNTU4NSAyMS45OThIMjEuMDM3MlpcIiBmaWxsPVwiIzAwQTNGRlwiLz5cclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvZz5cclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvZz5cclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxkZWZzPlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgPGZpbHRlciBpZD1cImZpbHRlcjBfZF8zODg1XzI1MzFcIiB4PVwiMFwiIHk9XCIwXCIgd2lkdGg9XCI0MFwiIGhlaWdodD1cIjQwXCIgZmlsdGVyVW5pdHM9XCJ1c2VyU3BhY2VPblVzZVwiIGNvbG9yLWludGVycG9sYXRpb24tZmlsdGVycz1cInNSR0JcIj5cclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxmZUZsb29kIGZsb29kLW9wYWNpdHk9XCIwXCIgcmVzdWx0PVwiQmFja2dyb3VuZEltYWdlRml4XCIvPlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgPGZlQ29sb3JNYXRyaXggaW49XCJTb3VyY2VBbHBoYVwiIHR5cGU9XCJtYXRyaXhcIiB2YWx1ZXM9XCIwIDAgMCAwIDAgMCAwIDAgMCAwIDAgMCAwIDAgMCAwIDAgMCAxMjcgMFwiIHJlc3VsdD1cImhhcmRBbHBoYVwiLz5cclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxmZU9mZnNldCBkeT1cIjFcIi8+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICA8ZmVHYXVzc2lhbkJsdXIgc3RkRGV2aWF0aW9uPVwiMVwiLz5cclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxmZUNvbG9yTWF0cml4IHR5cGU9XCJtYXRyaXhcIiB2YWx1ZXM9XCIwIDAgMCAwIDAuMDYyNzQ1MSAwIDAgMCAwIDAuMDk0MTE3NiAwIDAgMCAwIDAuMTU2ODYzIDAgMCAwIDAuMDUgMFwiLz5cclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxmZUJsZW5kIG1vZGU9XCJub3JtYWxcIiBpbjI9XCJCYWNrZ3JvdW5kSW1hZ2VGaXhcIiByZXN1bHQ9XCJlZmZlY3QxX2Ryb3BTaGFkb3dfMzg4NV8yNTMxXCIvPlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgPGZlQmxlbmQgbW9kZT1cIm5vcm1hbFwiIGluPVwiU291cmNlR3JhcGhpY1wiIGluMj1cImVmZmVjdDFfZHJvcFNoYWRvd18zODg1XzI1MzFcIiByZXN1bHQ9XCJzaGFwZVwiLz5cclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvZmlsdGVyPlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgPGNsaXBQYXRoIGlkPVwiY2xpcDBfMzg4NV8yNTMxXCI+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICA8cmVjdCB3aWR0aD1cIjIwXCIgaGVpZ2h0PVwiMjBcIiBmaWxsPVwid2hpdGVcIiB0cmFuc2Zvcm09XCJ0cmFuc2xhdGUoMTAgOSlcIi8+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICA8L2NsaXBQYXRoPlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgPC9kZWZzPlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgPC9zdmc+PC9kaXY+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICA8L2Rpdj5cclxuICAgICAgICAgICAgICAgICAgICA8L2Rpdj5cclxuICAgICAgICAgICAgICAgICAgICA8ZGl2IGNsYXNzPVwiY2FyZC1mb290ZXIgbXMtMiBwLTBcIj5cclxuICAgICAgICAgICAgICAgICAgICAgICAgPGRpdiBjbGFzcz1cImNvbC1tZC0xMlwiPlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgPHNwYW4gY2xhc3M9XCJtdC0yXCI+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPHN2ZyAqbmdJZj1cIiFnZXRNaXNzZWRPcHBvcnR1bml0eURhdGE/LmRhdGE/Lm1pc3NlZG9wcG9ydHVuaXRpZXM/LlByZXZpb3VzVmFyaWF0aW9uXCIgeG1sbnM9XCJodHRwOi8vd3d3LnczLm9yZy8yMDAwL3N2Z1wiIHdpZHRoPVwiMThcIlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGhlaWdodD1cIjE4XCIgdmlld0JveD1cIjAgMCAxOCAxOFwiIGZpbGw9XCJub25lXCI+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGcgY2xpcC1wYXRoPVwidXJsKCNjbGlwMF8yMzI4XzQ2NTQpXCI+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxwYXRoIGQ9XCJNMTEuNSA5TDYuNzUgNC4yNUw0LjI1IDYuNzVMMC41IDNNMTEuNSA5SDguNU0xMS41IDlWNlwiIHN0cm9rZT1cIiNEOTJEMjBcIiBzdHJva2Utd2lkdGg9XCIxLjVcIlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgc3Ryb2tlLWxpbmVjYXA9XCJyb3VuZFwiIHN0cm9rZS1saW5lam9pbj1cInJvdW5kXCIgLz5cclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8L2c+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGRlZnM+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxjbGlwUGF0aCBpZD1cImNsaXAwXzIzMjhfNDY1NFwiPlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPHJlY3Qgd2lkdGg9XCIxMlwiIGhlaWdodD1cIjEyXCIgZmlsbD1cIndoaXRlXCIgLz5cclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPC9jbGlwUGF0aD5cclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8L2RlZnM+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICA8L3N2Zz5cclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxzdmcgKm5nSWY9XCJnZXRNaXNzZWRPcHBvcnR1bml0eURhdGE/LmRhdGE/Lm1pc3NlZG9wcG9ydHVuaXRpZXM/LlByZXZpb3VzVmFyaWF0aW9uXCIgeG1sbnM9XCJodHRwOi8vd3d3LnczLm9yZy8yMDAwL3N2Z1wiIHdpZHRoPVwiMTJcIiBoZWlnaHQ9XCIxMlwiXHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgdmlld0JveD1cIjAgMCAxMiAxMlwiIGZpbGw9XCJub25lXCI+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGcgY2xpcC1wYXRoPVwidXJsKCNjbGlwMF8zMjE2XzExOClcIj5cclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPHBhdGggZD1cIk0xMS41IDNMNi43NSA3Ljc1TDQuMjUgNS4yNUwwLjUgOU0xMS41IDNIOC41TTExLjUgM1Y2XCIgc3Ryb2tlPVwiIzAzOTg1NVwiIHN0cm9rZS13aWR0aD1cIjEuNVwiXHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBzdHJva2UtbGluZWNhcD1cInJvdW5kXCIgc3Ryb2tlLWxpbmVqb2luPVwicm91bmRcIiAvPlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvZz5cclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8ZGVmcz5cclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGNsaXBQYXRoIGlkPVwiY2xpcDBfMzIxNl8xMThcIj5cclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxyZWN0IHdpZHRoPVwiMTJcIiBoZWlnaHQ9XCIxMlwiIGZpbGw9XCJ3aGl0ZVwiIC8+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvY2xpcFBhdGg+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPC9kZWZzPlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgPC9zdmc+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICA8L3NwYW4+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICA8c3BhbiBjbGFzcz1cIm1zLTIgbXQtMlwiPlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxzcGFuICpuZ0lmPVwiZ2V0TWlzc2VkT3Bwb3J0dW5pdHlEYXRhPy5kYXRhPy5taXNzZWRvcHBvcnR1bml0aWVzPy5QcmV2aW91c0RhdGEgPT09MFwiIGNsYXNzPVwicGVyY2VudC12YWx1ZVwiPjAlPC9zcGFuPlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxzcGFuICpuZ0lmPVwiZ2V0TWlzc2VkT3Bwb3J0dW5pdHlEYXRhPy5kYXRhPy5taXNzZWRvcHBvcnR1bml0aWVzPy5QcmV2aW91c0RhdGEgIT09MFwiIGNsYXNzPVwicGVyY2VudC12YWx1ZVwiPnt7Z2V0TWlzc2VkT3Bwb3J0dW5pdHlEYXRhPy5kYXRhPy5taXNzZWRvcHBvcnR1bml0aWVzPy5QcmV2aW91c0RhdGEgPyBnZXRNaXNzZWRPcHBvcnR1bml0eURhdGE/LmRhdGE/Lm1pc3NlZG9wcG9ydHVuaXRpZXM/LlByZXZpb3VzRGF0YTonLS0nfX0lPC9zcGFuPlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgPHNwYW4gY2xhc3M9XCJ3ZWVrLWZvbnRcIj5cclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgdnMgUHJldmlvdXMgIDxzcGFuICpuZ0lmPVwiZGF0ZVR5cGUgPT09J2RhaWx5J1wiPmRheTwvc3Bhbj48c3BhbiAqbmdJZj1cImRhdGVUeXBlID09PSd3ZWVrbHknXCI+d2Vlazwvc3Bhbj4gPHNwYW4gKm5nSWY9XCJkYXRlVHlwZSA9PT0nbW9udGhseSdcIj5tb250aDwvc3Bhbj48L3NwYW4+XHJcblxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgPC9zcGFuPlxyXG4gICAgICAgICAgICAgICAgICAgICAgICA8L2Rpdj5cclxuICAgICAgICAgICAgICAgICAgICA8L2Rpdj5cclxuICAgICAgICAgICAgICAgIDwvZGl2PlxyXG4gICAgICAgICAgICA8L2Rpdj5cclxuICAgICAgICAgICAgPGRpdiBjbGFzcz1cImNvbC1tZC00IG10LTMgaC0xMDBcIj5cclxuICAgICAgICAgICAgICAgIDxkaXYgY2xhc3M9XCJjYXJkIGNhcmQtYm9yZGVyIG1iLTUgcHktMFwiPlxyXG4gICAgICAgICAgICAgICAgICAgIDxkaXYgY2xhc3M9XCJjYXJkLWJvZHkgcC0wIGgtOTBweCBtdC0zIG14LTNcIiBbbmdiVG9vbHRpcF09XCJkd2VsbFRvb2x0aXBcIiBwbGFjZW1lbnQ9XCJyaWdodFwiPlxyXG4gICAgICAgICAgICAgICAgICAgICAgICA8ZGl2IGNsYXNzPVwiZC1mbGV4IGFsaWduLWl0ZW1zLWNlbnRlciBtZS0yXCI+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICA8ZGl2IGNsYXNzPVwibXQtMyBmbGV4LXNocmluay0wXCI+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxzdmcgd2lkdGg9XCI0MFwiIGhlaWdodD1cIjQxXCIgdmlld0JveD1cIjAgMCA0MCA0MVwiIGZpbGw9XCJub25lXCIgeG1sbnM9XCJodHRwOi8vd3d3LnczLm9yZy8yMDAwL3N2Z1wiPlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPHJlY3QgeT1cIjAuNVwiIHdpZHRoPVwiNDBcIiBoZWlnaHQ9XCI0MFwiIHJ4PVwiMjBcIiBmaWxsPVwiI0RBRjFGRlwiLz5cclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxwYXRoIGQ9XCJNMTcuNjM4MiAxMi44OTIyQzE3LjYzODIgMTIuNjgzNSAxNy43MjEyIDEyLjQ4MzMgMTcuODY4OCAxMi4zMzU3QzE4LjAxNjQgMTIuMTg4MSAxOC4yMTY1IDEyLjEwNTIgMTguNDI1MyAxMi4xMDUySDIxLjU3MzRDMjEuNzgyMiAxMi4xMDUyIDIxLjk4MjMgMTIuMTg4MSAyMi4xMjk5IDEyLjMzNTdDMjIuMjc3NSAxMi40ODMzIDIyLjM2MDUgMTIuNjgzNSAyMi4zNjA1IDEyLjg5MjJDMjIuMzYwNSAxMy4xMDA5IDIyLjI3NzUgMTMuMzAxMSAyMi4xMjk5IDEzLjQ0ODdDMjEuOTgyMyAxMy41OTYzIDIxLjc4MjIgMTMuNjc5MiAyMS41NzM0IDEzLjY3OTJIMjAuNzg2NFYxNC43Mjg2TDIwLjc4NTMgMTQuNzcxNkMyMi4xMTU2IDE0LjkxNzQgMjMuMzc2NyAxNS40Mzk4IDI0LjQyMDQgMTYuMjc3NUwyNC40Mjc3IDE2LjI3MTJMMjUuMjE0OCAxNS40ODQyQzI1LjMxMSAxNS4zODA2IDI1LjQzMzMgMTUuMzA0OCAyNS41NjkgMTUuMjY0OUMyNS43MDQ2IDE1LjIyNTEgMjUuODQ4NSAxNS4yMjI1IDI1Ljk4NTUgMTUuMjU3NUMyNi4xMjI0IDE1LjI5MjUgMjYuMjQ3NCAxNS4zNjM4IDI2LjM0NzIgMTUuNDYzOUMyNi40NDcxIDE1LjU2NCAyNi41MTgxIDE1LjY4OTIgMjYuNTUyNyAxNS44MjYzQzI2LjU4NzcgMTUuOTYzMSAyNi41ODUyIDE2LjEwNjggMjYuNTQ1NSAxNi4yNDIzQzI2LjUwNTggMTYuMzc3OCAyNi40MzA0IDE2LjUwMDIgMjYuMzI3MSAxNi41OTY1TDI1LjU0MDEgMTcuMzgzNkwyNS41MzM4IDE3LjM5MDlDMjYuMzY2MiAxOC40MzMxIDI2Ljg4NzUgMTkuNjg5MSAyNy4wMzc3IDIxLjAxNDRDMjcuMTg3OCAyMi4zMzk3IDI2Ljk2MDcgMjMuNjgwNSAyNi4zODI0IDI0Ljg4MjVDMjUuODA0MiAyNi4wODQ1IDI0Ljg5ODMgMjcuMDk4NyAyMy43NjkxIDI3LjgwODZDMjIuNjM5OSAyOC41MTg0IDIxLjMzMzIgMjguODk1IDE5Ljk5OTMgMjguODk1QzE4LjY2NTUgMjguODk1IDE3LjM1ODggMjguNTE4NCAxNi4yMjk2IDI3LjgwODZDMTUuMTAwNCAyNy4wOTg3IDE0LjE5NDUgMjYuMDg0NSAxMy42MTYzIDI0Ljg4MjVDMTMuMDM4IDIzLjY4MDUgMTIuODEwOSAyMi4zMzk3IDEyLjk2MSAyMS4wMTQ0QzEzLjExMTIgMTkuNjg5MSAxMy42MzI1IDE4LjQzMzEgMTQuNDY0OSAxNy4zOTA5TDE0LjQ1ODYgMTcuMzgzNkwxMy42NzE2IDE2LjU5NjVDMTMuNTMyNCAxNi40NDc0IDEzLjQ1NjYgMTYuMjUgMTMuNDYwMSAxNi4wNDZDMTMuNDYzNiAxNS44NDIgMTMuNTQ2MiAxNS42NDczIDEzLjY5MDUgMTUuNTAzMUMxMy44MzQ3IDE1LjM1ODggMTQuMDI5NCAxNS4yNzYyIDE0LjIzMzQgMTUuMjcyN0MxNC40Mzc0IDE1LjI2OTIgMTQuNjM0OCAxNS4zNDUgMTQuNzgzOSAxNS40ODQyTDE1LjU3MSAxNi4yNzEyTDE1LjU3ODMgMTYuMjc3NUMxNi42MjE3IDE1LjQ0IDE3Ljg4MjQgMTQuOTE3NiAxOS4yMTIzIDE0Ljc3MTZWMTMuNjc5MkgxOC40MjUzQzE4LjIxNjUgMTMuNjc5MiAxOC4wMTY0IDEzLjU5NjMgMTcuODY4OCAxMy40NDg3QzE3LjcyMTIgMTMuMzAxMSAxNy42MzgyIDEzLjEwMDkgMTcuNjM4MiAxMi44OTIyWk0xOS45OTkzIDI3LjMyMTJDMjEuNDYwNiAyNy4zMjExIDIyLjg2MiAyNi43NDA0IDIzLjg5NTIgMjUuNzA3MUMyNC45Mjg0IDI0LjY3MzcgMjUuNTA4NyAyMy4yNzIyIDI1LjUwODYgMjEuODEwOUMyNS41MDg1IDIwLjM0OTYgMjQuOTI3OCAxOC45NDgyIDIzLjg5NDUgMTcuOTE1QzIyLjg2MTEgMTYuODgxOSAyMS40NTk2IDE2LjMwMTUgMTkuOTk4MyAxNi4zMDE2QzE4LjUzNyAxNi4zMDE4IDE3LjEzNTYgMTYuODgyNCAxNi4xMDI1IDE3LjkxNThDMTUuMDY5MyAxOC45NDkyIDE0LjQ4ODkgMjAuMzUwNyAxNC40ODkgMjEuODExOUMxNC40ODkyIDIzLjI3MzIgMTUuMDY5OCAyNC42NzQ2IDE2LjEwMzIgMjUuNzA3OEMxNy4xMzY2IDI2Ljc0MSAxOC41MzgxIDI3LjMyMTMgMTkuOTk5MyAyNy4zMjEyWk0yMC40MDc2IDIwLjI5MDNMMjEuODAzMiAxOC44OTQ3QzIxLjg3NTggMTguODE5NSAyMS45NjI2IDE4Ljc1OTUgMjIuMDU4NiAxOC43MTgyQzIyLjE1NDYgMTguNjc2OSAyMi4yNTc5IDE4LjY1NTEgMjIuMzYyNCAxOC42NTQyQzIyLjQ2NjkgMTguNjUzMiAyMi41NzA1IDE4LjY3MzEgMjIuNjY3MyAxOC43MTI2QzIyLjc2NCAxOC43NTIxIDIyLjg1MTkgMTguODEwNSAyMi45MjU5IDE4Ljg4NDRDMjIuOTk5OCAxOC45NTgyIDIzLjA1ODMgMTkuMDQ2MSAyMy4wOTc5IDE5LjE0MjhDMjMuMTM3NSAxOS4yMzk1IDIzLjE1NzUgMTkuMzQzMSAyMy4xNTY2IDE5LjQ0NzZDMjMuMTU1NyAxOS41NTIxIDIzLjEzNDEgMTkuNjU1NCAyMy4wOTI5IDE5Ljc1MTVDMjMuMDUxNyAxOS44NDc1IDIyLjk5MTggMTkuOTM0NCAyMi45MTY2IDIwLjAwN0wyMS41MjEgMjEuNDAzN0MyMS41ODMgMjEuNjM3MSAyMS41OTA2IDIxLjg4MTUgMjEuNTQzMiAyMi4xMTgyQzIxLjQ5NTggMjIuMzU1IDIxLjM5NDggMjIuNTc3NyAyMS4yNDc4IDIyLjc2OTJDMjEuMTAwOCAyMi45NjA3IDIwLjkxMTggMjMuMTE1OSAyMC42OTUzIDIzLjIyMjhDMjAuNDc4OSAyMy4zMjk4IDIwLjI0MDggMjMuMzg1NiAxOS45OTkzIDIzLjM4NkMxOS43NzY2IDIzLjM4NDEgMTkuNTU2NyAyMy4zMzQ5IDE5LjM1NDQgMjMuMjQxNkMxOS4xNTIxIDIzLjE0ODMgMTguOTcxOCAyMy4wMTMxIDE4LjgyNTcgMjIuODQ1QzE4LjY3OTUgMjIuNjc2OCAxOC41NzA3IDIyLjQ3OTYgMTguNTA2NiAyMi4yNjYyQzE4LjQ0MjQgMjIuMDUyOCAxOC40MjQzIDIxLjgyODMgMTguNDUzNCAyMS42MDc0QzE4LjQ4MjUgMjEuMzg2NSAxOC41NTgyIDIxLjE3NDMgMTguNjc1NSAyMC45ODQ5QzE4Ljc5MjggMjAuNzk1NSAxOC45NDkgMjAuNjMzMiAxOS4xMzM4IDIwLjUwODZDMTkuMzE4NSAyMC4zODQxIDE5LjUyNzYgMjAuMzAwMyAxOS43NDcyIDIwLjI2MjZDMTkuOTY2OCAyMC4yMjUgMjAuMTkxOSAyMC4yMzQ0IDIwLjQwNzYgMjAuMjkwM1pcIiBmaWxsPVwiIzY2NzA4NVwiLz5cclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvc3ZnPlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgPC9kaXY+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICA8ZGl2IGNsYXNzPVwibXgtMyBtdC0xXCIgPlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxkaXYgY2xhc3M9XCJteS0xIGNhcmQtbGFiZWwgaGVhZGVyXCIgKm5nSWY9XCJnZXRNaXNzZWRPcHBvcnR1bml0eURhdGE/LmNhcmQ/LmF2Z0R3ZWxsVGltZSA9PT0gMFwiPjAgbWluczwvZGl2PlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxkaXYgY2xhc3M9XCJteS0xIGNhcmQtbGFiZWwgaGVhZGVyXCIgICpuZ0lmPVwiZ2V0TWlzc2VkT3Bwb3J0dW5pdHlEYXRhPy5jYXJkPy5hdmdEd2VsbFRpbWUgIT09IDBcIj57e2dldE1pc3NlZE9wcG9ydHVuaXR5RGF0YT8uY2FyZD8uYXZnRHdlbGxUaW1lID8gZ2V0TWlzc2VkT3Bwb3J0dW5pdHlEYXRhPy5jYXJkPy5hdmdEd2VsbFRpbWUgOictLSd9fSBtaW5zPC9kaXY+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGRpdiBjbGFzcz1cInN1Yi1oZWFkZXJcIj5BdmcgRHdlbGwgVGltZTwvZGl2PlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgPC9kaXY+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICBcclxuICAgICAgICAgICAgICAgICAgICAgICAgPC9kaXY+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgIFxyXG4gICAgICAgICAgICAgICAgICAgIDwvZGl2PlxyXG4gICAgICAgICAgICAgICAgICAgIDxuZy10ZW1wbGF0ZSAjZHdlbGxUb29sdGlwPlxyXG4gICAgICAgICAgICAgICAgICAgICAgICA8ZGl2IGNsYXNzPVwidG9vbHRpcC1jb250ZW50XCI+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgPGg1IGNsYXNzPVwidG9vbHRpcC10aXRsZSB0ZXh0LXN0YXJ0XCI+QXZnIER3ZWxsIFRpbWU8L2g1PlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgIDxwIGNsYXNzPVwidGV4dC1zdGFydFwiPkF2ZXJhZ2UgdGltZSBzcGVudCBieSB7e2hlYWRlckRhdGE/LmNsaWVudCA9PT0gJzQ1MicgPyAnTW9yZSB0aGFuICcrIGZlYXR1cmVDb25maWc/LmJvdW5jZWRMaW1pdC52YWx1ZSArJyBtaW5zJyA6ICdlbmdhZ2Vycyd9fSBpbiB0aGUgc2VsZWN0ZWQgc3RvcmVzLjwvcD5cclxuICAgICAgICAgICAgICAgICAgICAgICAgICA8L2Rpdj5cclxuICAgICAgICAgICAgICAgICAgICAgICAgICA8L25nLXRlbXBsYXRlPlxyXG4gICAgICAgICAgICAgICAgICAgIDwvZGl2PlxyXG4gICAgICAgICAgICAgICAgICAgIDxkaXYgY2xhc3M9XCJjYXJkIGNhcmQtYm9yZGVyIHB5LTBcIj5cclxuICAgICAgICAgICAgICAgICAgICAgICAgPGRpdiBjbGFzcz1cImNhcmQtYm9keSBwLTAgaC05MHB4IG10LTMgbXgtM1wiICBbbmdiVG9vbHRpcF09XCJkb3duVG9vbHRpcFwiIHBsYWNlbWVudD1cInJpZ2h0XCI+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICA8ZGl2IGNsYXNzPVwiZC1mbGV4IGFsaWduLWl0ZW1zLWNlbnRlciBtZS0yXCI+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGRpdiBjbGFzcz1cImZsZXgtc2hyaW5rLTAgbXQtM1wiPlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8c3ZnIHdpZHRoPVwiNDBcIiBoZWlnaHQ9XCI0MVwiIHZpZXdCb3g9XCIwIDAgNDAgNDFcIiBmaWxsPVwibm9uZVwiIHhtbG5zPVwiaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmdcIj5cclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxyZWN0IHk9XCIwLjVcIiB3aWR0aD1cIjQwXCIgaGVpZ2h0PVwiNDBcIiByeD1cIjIwXCIgZmlsbD1cIiNEQUYxRkZcIi8+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8cGF0aCBkPVwiTTIxLjkwMDQgMTIuMTY3NUMyMi45OTU4IDEyLjE2NzUgMjQuMDQyMyAxMi4zOTE4IDI0Ljk5NzcgMTIuNzk4N0MyNS45ODg5IDEzLjIyMDcgMjYuODgwOSAxMy44NDAyIDI3LjYyNzkgMTQuNjA4N0MyOC4zNzM0IDE1LjM3NTYgMjguOTc1NiAxNi4yOTMxIDI5LjM4NTcgMTcuMzE2MkMyOS43ODEzIDE4LjI5OSAyOS45OTkzIDE5LjM3NTYgMjkuOTk5MyAyMC41MDA4QzI5Ljk5OTMgMjEuNjI3NyAyOS43ODEzIDIyLjcwNDMgMjkuMzg1NyAyMy42ODcxQzI4Ljk3NTYgMjQuNzA2OCAyOC4zNzM0IDI1LjYyNDQgMjcuNjI2MyAyNi4zOTI5QzI2Ljg4MDkgMjcuMTU5OCAyNS45ODg5IDI3Ljc3OTMgMjQuOTk0NSAyOC4yMDEyQzI0LjAzOTEgMjguNjA4MSAyMi45OTI1IDI4LjgzMjUgMjEuODk4OCAyOC44MzI1QzIwLjgwMzQgMjguODMyNSAxOS43NTY4IDI4LjYwODEgMTguODAxNCAyOC4yMDEyQzE3LjgxMDIgMjcuNzc5MyAxNi45MTgzIDI3LjE1OTggMTYuMTcyOSAyNi4zOTI5TDE2LjE3MTIgMjYuMzkxMkMxNS40MjQyIDI1LjYyMjcgMTQuODIzNiAyNC43MDUyIDE0LjQxMzQgMjMuNjg3MUMxNC4yODY1IDIzLjM3MDcgMTQuMTc3NCAyMy4wNDU5IDE0LjA4NzkgMjIuNzEyN0MxNC4yNTcyIDIyLjcyOTQgMTQuNDI5NyAyMi43Mzc4IDE0LjYwMzggMjIuNzM3OEMxNC45MzQyIDIyLjczNzggMTUuMjU2NSAyMi43MDc2IDE1LjU3MDYgMjIuNjQ5QzE1LjYyMjcgMjIuODA5OCAxNS42Nzk3IDIyLjk2ODggMTUuNzQxNSAyMy4xMjQ2QzE2LjA3ODUgMjMuOTYxNyAxNi41NzMyIDI0LjcxNTIgMTcuMTg4NSAyNS4zNDgxQzE3LjgwMzcgMjUuOTgxIDE4LjUzNzggMjYuNDkgMTkuMzQ5OSAyNi44MzY2QzIwLjEzMjggMjcuMTY5OCAyMC45OTM4IDI3LjM1NTcgMjEuODk4OCAyNy4zNTU3QzIyLjgwMzcgMjcuMzU1NyAyMy42NjMxIDI3LjE3MTUgMjQuNDQ3NiAyNi44MzY2QzI1LjI2MTQgMjYuNDkgMjUuOTkzOCAyNS45ODEgMjYuNjA5MSAyNS4zNDgxQzI3LjIyNDMgMjQuNzE1MiAyNy43MTkxIDIzLjk2MDEgMjguMDU2IDIzLjEyNDZDMjguMzc5OSAyMi4zMTkyIDI4LjU2MDUgMjEuNDMzNCAyOC41NjA1IDIwLjUwMjVDMjguNTYwNSAxOS41NzE1IDI4LjM4MTUgMTguNjg3NSAyOC4wNTYgMTcuODgwNEMyNy43MTkxIDE3LjA0MzIgMjcuMjI0MyAxNi4yODk4IDI2LjYwOTEgMTUuNjU2OUMyNS45OTM4IDE1LjAyNCAyNS4yNTk4IDE0LjUxNDkgMjQuNDQ3NiAxNC4xNjg0QzIzLjY2NDcgMTMuODM1MiAyMi44MDM3IDEzLjY0OTMgMjEuODk4OCAxMy42NDkzQzIwLjk5MzggMTMuNjQ5MyAyMC4xMzQ0IDEzLjgzMzUgMTkuMzQ5OSAxNC4xNjg0QzE5LjI3OTkgMTQuMTk4NSAxOS4yMSAxNC4yMzAzIDE5LjE0MTYgMTQuMjYyMUMxOC44NzQ3IDEzLjgzMDEgMTguNTUyNCAxMy40MzgzIDE4LjE4MjkgMTMuMDk4NEMxOC4zODQ4IDEyLjk5MTMgMTguNTkxNSAxMi44OTI1IDE4LjgwMTQgMTIuODAyMUMxOS43NjAxIDEyLjM5MTggMjAuODA1IDEyLjE2NzUgMjEuOTAwNCAxMi4xNjc1Wk0yMC45NzEgMTYuNTM5M0MyMC45NzEgMTYuMzM1IDIxLjA1MjQgMTYuMTUwOCAyMS4xODEgMTYuMDE2OUMyMS4zMTEyIDE1Ljg4MjkgMjEuNDkwMiAxNS44MDA5IDIxLjY4ODggMTUuODAwOUMyMS44ODc0IDE1LjgwMDkgMjIuMDY2NCAxNS44ODI5IDIyLjE5NjYgMTYuMDE2OUMyMi4zMjY4IDE2LjE1MDggMjIuNDA2NiAxNi4zMzUgMjIuNDA2NiAxNi41MzkzVjIwLjQyNzFMMjUuMjMwNSAyMi4xNTAxQzI1LjM5OTcgMjIuMjUzOSAyNS41MTM3IDIyLjQxOTYgMjUuNTU5MiAyMi42MDIxQzI1LjYwNDggMjIuNzg0NyAyNS41ODM3IDIyLjk4NTYgMjUuNDgyNyAyMy4xNTk3VjIzLjE2MTRDMjUuMzgxOCAyMy4zMzU1IDI1LjIyMDcgMjMuNDUyNyAyNS4wNDMzIDIzLjQ5OTZDMjQuODY1OSAyMy41NDY1IDI0LjY3MDYgMjMuNTI0NyAyNC41MDEzIDIzLjQyMDlIMjQuNDk5N0wyMS4zNDA1IDIxLjQ5MzdDMjEuMjMxNCAyMS40MzE4IDIxLjE0MTkgMjEuMzQxMyAyMS4wNzY4IDIxLjIzNDJDMjEuMDEwMSAyMS4xMjIgMjAuOTcxIDIwLjk4OTcgMjAuOTcxIDIwLjg0OTFWMTYuNTM5M1pcIiBmaWxsPVwiIzY2NzA4NVwiLz5cclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxwYXRoIGZpbGwtcnVsZT1cImV2ZW5vZGRcIiBjbGlwLXJ1bGU9XCJldmVub2RkXCIgZD1cIk0xNC4zOTEzIDEyLjYwOTVDMTYuODE2NCAxMi42MDk1IDE4Ljc4MjYgMTQuNjMyMSAxOC43ODI2IDE3LjEyNjlDMTguNzgyNiAxOS42MjE4IDE2LjgxNjQgMjEuNjQ0NCAxNC4zOTEzIDIxLjY0NDRDMTEuOTY2MSAyMS42NDQ0IDEwIDE5LjYyMTggMTAgMTcuMTI2OUMxMCAxNC42MzIxIDExLjk2NjEgMTIuNjA5NSAxNC4zOTEzIDEyLjYwOTVaTTE0LjM5MTMgMTkuNzE3MkwxNi43NDggMTYuNzIwMUgxNS4yODQ4VjE1LjEyNjFIMTMuNDk3N1YxNi43MjAxSDEyLjAzNDVMMTQuMzkxMyAxOS43MTcyWlwiIGZpbGw9XCIjRjA0NDM4XCIvPlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPC9zdmc+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPC9kaXY+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGRpdiBjbGFzcz1cIm14LTMgbXQtMVwiID5cclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGRpdiBjbGFzcz1cIm15LTEgY2FyZC1sYWJlbCBoZWFkZXJcIiAqbmdJZj1cImdldE1pc3NlZE9wcG9ydHVuaXR5RGF0YT8uY2FyZD8uYXZnRG93blRpbWUgPT09IDBcIj4wIG1pbnM8L2Rpdj5cclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGRpdiBjbGFzcz1cIm15LTEgY2FyZC1sYWJlbCBoZWFkZXJcIiAgKm5nSWY9XCJnZXRNaXNzZWRPcHBvcnR1bml0eURhdGE/LmNhcmQ/LmF2Z0Rvd25UaW1lICE9PSAwXCI+e3tnZXRNaXNzZWRPcHBvcnR1bml0eURhdGE/LmNhcmQ/LmF2Z0Rvd25UaW1lID8gZ2V0TWlzc2VkT3Bwb3J0dW5pdHlEYXRhPy5jYXJkPy5hdmdEb3duVGltZSA6Jy0tJ319IG1pbnM8L2Rpdj5cclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGRpdiBjbGFzcz1cInN1Yi1oZWFkZXJcIj5BdmcgRG93biBUaW1lPC9kaXY+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPC9kaXY+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICA8L2Rpdj5cclxuICAgICAgICAgICAgICAgICAgICAgICAgPC9kaXY+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgIDxuZy10ZW1wbGF0ZSAjZG93blRvb2x0aXA+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICA8ZGl2IGNsYXNzPVwidG9vbHRpcC1jb250ZW50XCI+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxoNSBjbGFzcz1cInRvb2x0aXAtdGl0bGUgdGV4dC1zdGFydFwiPkF2ZyBEb3duIFRpbWU8L2g1PlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8cCBjbGFzcz1cInRleHQtc3RhcnRcIj5BdmVyYWdlIGNhbWVyYSAmIG5ldHdvcmsgZG93bnRpbWUgZm9yIHRoZSBzZWxlY3RlZCBzdG9yZXMuPC9wPlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8L2Rpdj5cclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPC9uZy10ZW1wbGF0ZT5cclxuICAgICAgICAgICAgICAgICAgICA8L2Rpdj5cclxuICAgICAgICAgICAgPC9kaXY+XHJcbiAgICAgICAgICAgIDxkaXYgKm5nSWY9XCJoZWFkZXJEYXRhPy5jbGllbnQgIT09ICc0NTInXCIgY2xhc3M9XCJjb2wtbWQtNCBtdC0zIHBvc2l0aW9uLXJlbGF0aXZlXCI+XHJcbiAgICAgICAgICAgICAgICA8ZGl2IGNsYXNzPVwiY2FyZCBjYXJkLWJvcmRlciBoLTEwMFwiPlxyXG4gICAgICAgICAgICAgICAgICAgIDxkaXYgY2xhc3M9XCJjYXJkLWhlYWRlciBlbGxpcHNlMSBib3JkZXItMCBweC0zXCIgW25nYlRvb2x0aXBdPVwicG90ZW50aWFsVG9vbHRpcFwiIHBsYWNlbWVudD1cInJpZ2h0XCI+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgIDxoMyBjbGFzcz1cImNhcmQtdGl0bGUgYWxpZ24taXRlbXMtc3RhcnQgZmxleC1jb2x1bW4gXCI+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICA8c3BhbiBjbGFzcz1cImNhcmQtbGFiZWwgaGVhZGVyXCI+e3tnZXRQb3RlbnRpYWxCdXllcnNDYXJkRGF0YT8uY2FyZD8ucG90ZW50aWFsQnV5ZXJzPy5yYXRlID8gZ2V0UG90ZW50aWFsQnV5ZXJzQ2FyZERhdGE/LmNhcmQ/LnBvdGVudGlhbEJ1eWVycz8ucmF0ZSA6Jy0tJ319JTwvc3Bhbj5cclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxzcGFuIGNsYXNzPVwic3ViLWhlYWRlciBcIj5Qb3RlbnRpYWwgQnV5ZXJzPC9zcGFuPlxyXG4gICAgICAgICAgICAgICAgICAgICAgICA8L2gzPlxyXG4gICAgICAgICAgICAgICAgICAgIDwvZGl2PlxyXG4gICAgICAgICAgICAgICAgICAgIDxuZy10ZW1wbGF0ZSAjcG90ZW50aWFsVG9vbHRpcD5cclxuICAgICAgICAgICAgICAgICAgICAgICAgPGRpdiBjbGFzcz1cInRvb2x0aXAtY29udGVudFwiPlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgIDxoNSBjbGFzcz1cInRvb2x0aXAtdGl0bGUgdGV4dC1zdGFydFwiPlBvdGVudGlhbCBCdXllcnM8L2g1PlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgIDxwIGNsYXNzPVwidGV4dC1zdGFydFwiPk51bWJlciBvZiBncm91cHMgZW50ZXJpbmcgdGhlIHN0b3JlLjwvcD5cclxuICAgICAgICAgICAgICAgICAgICAgICAgICA8L2Rpdj5cclxuICAgICAgICAgICAgICAgICAgICAgICAgICA8L25nLXRlbXBsYXRlPlxyXG4gICAgICAgICAgICAgICAgICAgIDxkaXYgY2xhc3M9XCJjYXJkLWJvZHkgcC0wXCI+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgIDxkaXYgKm5nSWY9XCJwb3RlbnRpYWxOb2RhdGFcIiBjbGFzcz1cInJvd1wiPlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgPGRpdiBjbGFzcz1cImNvbC1sZy0xMiBtYi0zXCI+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGRpdiBjbGFzcz1cImNhcmQtYm9keSBwYi0wIHB4LTAgZC1mbGV4IGp1c3RpZnktY29udGVudC1jZW50ZXIgYWxpZ24taXRlbXMtY2VudGVyIGZsZXgtY29sdW1uXCI+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxpbWcgY2xhc3M9XCJpbWctbm9kYXRhMVwiIHNyYz1cIi4vYXNzZXRzL3RhbmdvL0ljb25zL05vZGF0YTEuc3ZnXCIgYWx0PVwiXCI+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxkaXYgY2xhc3M9XCJub2RhdGEtdGl0bGUxXCI+Tm8gZGF0YSBmb3VuZDwvZGl2PlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8IS0tIDxkaXYgY2xhc3M9XCJub2RhdGEtc3ViXCI+VGhlcmUgaXMgbm8gcmVzdWx0IGZvciB0aGlzIGNvbnZlcnNpb24gZnVubmVsPC9kaXY+IC0tPlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvZGl2PlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgPC9kaXY+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgIDwvZGl2PlxyXG4gICAgICAgICAgICAgICAgICAgICAgICA8ZGl2ICpuZ0lmPVwiIXBvdGVudGlhbE5vZGF0YVwiIGNsYXNzPVwidGV4dC1jZW50ZXJcIiBpZD1cIlBvdGVudGlhbEJ1eWVyc1wiPjwvZGl2PlxyXG4gICAgICAgICAgICAgICAgICAgIDwvZGl2PlxyXG4gICAgICAgICAgICAgICAgICAgIDxkaXYgY2xhc3M9XCJjYXJkLWZvb3RlciBtcy0yIHAtMFwiPlxyXG4gICAgICAgICAgICAgICAgICAgICAgICA8ZGl2IGNsYXNzPVwiY29sLW1kLTEyXCI+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICA8c3BhbiBjbGFzcz1cIm10LTJcIj5cclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8c3ZnICpuZ0lmPVwiIWdldFBvdGVudGlhbEJ1eWVyc0NhcmREYXRhPy5kYXRhPy5wb3RlbnRpYWxCdXllcnM/LlByZXZpb3VzVmFyaWF0aW9uXCIgeG1sbnM9XCJodHRwOi8vd3d3LnczLm9yZy8yMDAwL3N2Z1wiIHdpZHRoPVwiMThcIlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGhlaWdodD1cIjE4XCIgdmlld0JveD1cIjAgMCAxOCAxOFwiIGZpbGw9XCJub25lXCI+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGcgY2xpcC1wYXRoPVwidXJsKCNjbGlwMF8yMzI4XzQ2NTQpXCI+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxwYXRoIGQ9XCJNMTEuNSA5TDYuNzUgNC4yNUw0LjI1IDYuNzVMMC41IDNNMTEuNSA5SDguNU0xMS41IDlWNlwiIHN0cm9rZT1cIiNEOTJEMjBcIiBzdHJva2Utd2lkdGg9XCIxLjVcIlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgc3Ryb2tlLWxpbmVjYXA9XCJyb3VuZFwiIHN0cm9rZS1saW5lam9pbj1cInJvdW5kXCIgLz5cclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8L2c+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGRlZnM+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxjbGlwUGF0aCBpZD1cImNsaXAwXzIzMjhfNDY1NFwiPlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPHJlY3Qgd2lkdGg9XCIxMlwiIGhlaWdodD1cIjEyXCIgZmlsbD1cIndoaXRlXCIgLz5cclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPC9jbGlwUGF0aD5cclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8L2RlZnM+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICA8L3N2Zz5cclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxzdmcgKm5nSWY9XCJnZXRQb3RlbnRpYWxCdXllcnNDYXJkRGF0YT8uZGF0YT8ucG90ZW50aWFsQnV5ZXJzPy5QcmV2aW91c1ZhcmlhdGlvblwiIHhtbG5zPVwiaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmdcIiB3aWR0aD1cIjEyXCIgaGVpZ2h0PVwiMTJcIlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHZpZXdCb3g9XCIwIDAgMTIgMTJcIiBmaWxsPVwibm9uZVwiPlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxnIGNsaXAtcGF0aD1cInVybCgjY2xpcDBfMzIxNl8xMTgpXCI+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxwYXRoIGQ9XCJNMTEuNSAzTDYuNzUgNy43NUw0LjI1IDUuMjVMMC41IDlNMTEuNSAzSDguNU0xMS41IDNWNlwiIHN0cm9rZT1cIiMwMzk4NTVcIiBzdHJva2Utd2lkdGg9XCIxLjVcIlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgc3Ryb2tlLWxpbmVjYXA9XCJyb3VuZFwiIHN0cm9rZS1saW5lam9pbj1cInJvdW5kXCIgLz5cclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8L2c+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGRlZnM+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxjbGlwUGF0aCBpZD1cImNsaXAwXzMyMTZfMTE4XCI+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8cmVjdCB3aWR0aD1cIjEyXCIgaGVpZ2h0PVwiMTJcIiBmaWxsPVwid2hpdGVcIiAvPlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8L2NsaXBQYXRoPlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvZGVmcz5cclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvc3ZnPlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgPC9zcGFuPlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgPHNwYW4gY2xhc3M9XCJtdC0yIG1zLTJcIj5cclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8c3BhbiAqbmdJZj1cImdldFBvdGVudGlhbEJ1eWVyc0NhcmREYXRhPy5kYXRhPy5wb3RlbnRpYWxCdXllcnM/LlByZXZpb3VzRGF0YSA9PT0wXCIgY2xhc3M9XCJwZXJjZW50LXZhbHVlXCI+MCU8L3NwYW4+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPHNwYW4gKm5nSWY9XCJnZXRQb3RlbnRpYWxCdXllcnNDYXJkRGF0YT8uZGF0YT8ucG90ZW50aWFsQnV5ZXJzPy5QcmV2aW91c0RhdGEgIT09MFwiIGNsYXNzPVwicGVyY2VudC12YWx1ZVwiPnt7Z2V0UG90ZW50aWFsQnV5ZXJzQ2FyZERhdGE/LmRhdGE/LnBvdGVudGlhbEJ1eWVycz8uUHJldmlvdXNEYXRhID8gZ2V0UG90ZW50aWFsQnV5ZXJzQ2FyZERhdGE/LmRhdGE/LnBvdGVudGlhbEJ1eWVycz8uUHJldmlvdXNEYXRhOictLSd9fSU8L3NwYW4+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPHNwYW4gY2xhc3M9XCJ3ZWVrLWZvbnRcIj5cclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgdnMgUHJldmlvdXMgIDxzcGFuICpuZ0lmPVwiZGF0ZVR5cGUgPT09J2RhaWx5J1wiPmRheTwvc3Bhbj48c3BhbiAqbmdJZj1cImRhdGVUeXBlID09PSd3ZWVrbHknXCI+d2Vlazwvc3Bhbj4gPHNwYW4gKm5nSWY9XCJkYXRlVHlwZSA9PT0nbW9udGhseSdcIj5tb250aDwvc3Bhbj48L3NwYW4+XHJcblxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgPC9zcGFuPlxyXG4gICAgICAgICAgICAgICAgICAgICAgICA8L2Rpdj5cclxuICAgICAgICAgICAgICAgICAgICA8L2Rpdj5cclxuICAgICAgICAgICAgICAgIDwvZGl2PlxyXG4gICAgICAgICAgICAgICAgPGRpdiBjbGFzcz1cInBvc2l0aW9uLWFic29sdXRlIGVuZC0wXCI+XHJcbiAgICAgICAgICAgICAgICAgICAgPHN2ZyB4bWxucz1cImh0dHA6Ly93d3cudzMub3JnLzIwMDAvc3ZnXCIgd2lkdGg9XCIxNlwiIGhlaWdodD1cIjE2XCIgdmlld0JveD1cIjAgMCAxNiAxNlwiIGZpbGw9XCJub25lXCI+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgIDxwYXRoIGQ9XCJNNiAxMkwxMCA4TDYgNFwiIHN0cm9rZT1cIiM5OEEyQjNcIiBzdHJva2Utd2lkdGg9XCIyXCIgc3Ryb2tlLWxpbmVjYXA9XCJyb3VuZFwiIHN0cm9rZS1saW5lam9pbj1cInJvdW5kXCIvPlxyXG4gICAgICAgICAgICAgICAgICAgICAgICA8L3N2Zz5cclxuICAgICAgICAgICAgICAgICAgICAgICAgPC9kaXY+XHJcbiAgICAgICAgICAgIDwvZGl2PlxyXG4gICAgICAgICAgICA8ZGl2ICpuZ0lmPVwiaGVhZGVyRGF0YT8uY2xpZW50ICE9PSAnNDUyJ1wiIGNsYXNzPVwiY29sLW1kLTggbXQtM1wiPlxyXG4gICAgICAgICAgICAgICAgPGRpdiBjbGFzcz1cImNhcmQgY2FyZC1ib3JkZXIgaC0xMDBcIj5cclxuICAgICAgICAgICAgICAgICAgICA8ZGl2IGNsYXNzPVwicm93XCI+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgIDxkaXYgY2xhc3M9XCJjb2wtbWQtMTJcIj5cclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxkaXYgY2xhc3M9XCJweC0yXCI+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGRpdiBjbGFzcz1cImNhcmQtaGVhZGVyIGVsbGlwc2UxIGJvcmRlci0wIHB4LTNcIiBbbmdiVG9vbHRpcF09XCJwb3RlbnRpYWxCdXllclRvb2x0aXBcIiBwbGFjZW1lbnQ9XCJyaWdodFwiPlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8aDMgY2xhc3M9XCJjYXJkLXRpdGxlIGFsaWduLWl0ZW1zLXN0YXJ0IGZsZXgtY29sdW1uIFwiPlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPHNwYW4gY2xhc3M9XCJjYXJkLWxhYmVsIGhlYWRlclwiPlBvdGVudGlhbCBCdXllciBEaXN0cmlidXRpb248L3NwYW4+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8c3BhbiBjbGFzcz1cInN1Yi1oZWFkZXJcIj5DYXRlZ29yeS13aXNlPC9zcGFuPlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8L2gzPiAgIFxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvZGl2PlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxuZy10ZW1wbGF0ZSAjcG90ZW50aWFsQnV5ZXJUb29sdGlwPlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8ZGl2IGNsYXNzPVwidG9vbHRpcC1jb250ZW50XCI+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGg1IGNsYXNzPVwidG9vbHRpcC10aXRsZSB0ZXh0LXN0YXJ0XCI+UG90ZW50aWFsIEJ1eWVyIERpc3RyaWJ1dGlvbjwvaDU+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPHAgY2xhc3M9XCJ0ZXh0LXN0YXJ0XCI+QXZlcmFnZSBncm91cCBzaXplLCBhbG9uZyB3aXRoIHRoZSBjb3VudCBvZiBpbmRpdmlkdWFscyB2ZXJzdXMgZ3JvdXBzIGVudGVyaW5nIHRoZSBzdG9yZS48L3A+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPC9kaXY+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPC9uZy10ZW1wbGF0ZT5cclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8ZGl2IGNsYXNzPVwicm93XCI+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxkaXYgY2xhc3M9XCJjb2wtbWQtOVwiPlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGRpdiBjbGFzcz1cInJvd1wiPlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxkaXYgY2xhc3M9XCJjb2wtbWQtNiBweC0wXCI+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGRpdiBjbGFzcz1cImNhcmQtYm9keSBwLTBcIj5cclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8ZGl2IGNsYXNzPVwidGV4dC1zdGFydCBtcy0xMCAgbXQtNyBtYi0zXCI+PHNwYW4+PHN2ZyB4bWxucz1cImh0dHA6Ly93d3cudzMub3JnLzIwMDAvc3ZnXCIgd2lkdGg9XCIyNVwiIGhlaWdodD1cIjI0XCIgdmlld0JveD1cIjAgMCAyNSAyNFwiIGZpbGw9XCJub25lXCI+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxwYXRoIGQ9XCJNMjAuMjUgMjFWMTlDMjAuMjUgMTcuOTM5MSAxOS44Mjg2IDE2LjkyMTcgMTkuMDc4NCAxNi4xNzE2QzE4LjMyODMgMTUuNDIxNCAxNy4zMTA5IDE1IDE2LjI1IDE1SDguMjVDNy4xODkxMyAxNSA2LjE3MTcyIDE1LjQyMTQgNS40MjE1NyAxNi4xNzE2QzQuNjcxNDMgMTYuOTIxNyA0LjI1IDE3LjkzOTEgNC4yNSAxOVYyMU0xNi4yNSA3QzE2LjI1IDkuMjA5MTQgMTQuNDU5MSAxMSAxMi4yNSAxMUMxMC4wNDA5IDExIDguMjUgOS4yMDkxNCA4LjI1IDdDOC4yNSA0Ljc5MDg2IDEwLjA0MDkgMyAxMi4yNSAzQzE0LjQ1OTEgMyAxNi4yNSA0Ljc5MDg2IDE2LjI1IDdaXCIgc3Ryb2tlPVwiIzk4QTJCM1wiIHN0cm9rZS13aWR0aD1cIjJcIiBzdHJva2UtbGluZWNhcD1cInJvdW5kXCIgc3Ryb2tlLWxpbmVqb2luPVwicm91bmRcIi8+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8L3N2Zz48L3NwYW4+PHNwYW4gKm5nSWY9XCJnZXRQb3RlbnRpYWxCdXllcnNEYXRhPy5wb3RlbnRpYWxCdXllcnM/LnBvdGVudGlhbEJ1eWVyc1NpbmdsZT8uY291bnQgIT09IDBcIiBjbGFzcz1cImxlZnQtY2FyZC1jb3VudCBtdC0yIG1zLTFcIj57e2dldFBvdGVudGlhbEJ1eWVyc0RhdGE/LnBvdGVudGlhbEJ1eWVycz8ucG90ZW50aWFsQnV5ZXJzU2luZ2xlPy5jb3VudCA/IGdldFBvdGVudGlhbEJ1eWVyc0RhdGE/LnBvdGVudGlhbEJ1eWVycz8ucG90ZW50aWFsQnV5ZXJzU2luZ2xlPy5jb3VudC50b0xvY2FsZVN0cmluZygnZW4tSU4nKTonLS0nfX08L3NwYW4+IFxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPHNwYW4gKm5nSWY9XCJnZXRQb3RlbnRpYWxCdXllcnNEYXRhPy5wb3RlbnRpYWxCdXllcnM/LnBvdGVudGlhbEJ1eWVyc1NpbmdsZT8uY291bnQgPT09IDBcIiBjbGFzcz1cImxlZnQtY2FyZC1jb3VudCBtdC0yIG1zLTFcIj4wPC9zcGFuPjxzcGFuIGNsYXNzPVwibGVmdC1jYXJkLWNvdW50LWhlYWRlciBtcy0xXCI+U2luZ2xlPC9zcGFuPjwvZGl2PlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGRpdiBjbGFzcz1cInRleHQtc3RhcnQgbXMtMTUgbWItM1wiPjxzcGFuIGNsYXNzPVwiYmFkZ2UgYmFkZ2UtbGlnaHQtZGVmYXVsdCB3ZWVrLWZvbnRcIj57e2dldFBvdGVudGlhbEJ1eWVyc0RhdGE/LnBvdGVudGlhbEJ1eWVycz8ucG90ZW50aWFsQnV5ZXJzU2luZ2xlPy5hZ2VHcm91cCA/IGdldFBvdGVudGlhbEJ1eWVyc0RhdGE/LnBvdGVudGlhbEJ1eWVycz8ucG90ZW50aWFsQnV5ZXJzU2luZ2xlPy5hZ2VHcm91cDonLS0nfX0gYWdlPC9zcGFuPjwvZGl2PlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvZGl2PlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxkaXYgY2xhc3M9XCJjYXJkLWZvb3RlciBtcy0yIHAtMFwiPlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8ZGl2IGNsYXNzPVwiY29sLW1kLTEyXCI+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8c3BhbiBjbGFzcz1cIm10LTJcIj5cclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8c3ZnICpuZ0lmPVwiIWdldFBvdGVudGlhbEJ1eWVyc0RhdGE/LnBvdGVudGlhbEJ1eWVycz8ucG90ZW50aWFsQnV5ZXJzU2luZ2xlPy5QcmV2aW91c1ZhcmlhdGlvblwiIHhtbG5zPVwiaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmdcIiB3aWR0aD1cIjE4XCJcclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBoZWlnaHQ9XCIxOFwiIHZpZXdCb3g9XCIwIDAgMTggMThcIiBmaWxsPVwibm9uZVwiPlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxnIGNsaXAtcGF0aD1cInVybCgjY2xpcDBfMjMyOF80NjU0KVwiPlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8cGF0aCBkPVwiTTExLjUgOUw2Ljc1IDQuMjVMNC4yNSA2Ljc1TDAuNSAzTTExLjUgOUg4LjVNMTEuNSA5VjZcIiBzdHJva2U9XCIjRDkyRDIwXCIgc3Ryb2tlLXdpZHRoPVwiMS41XCJcclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHN0cm9rZS1saW5lY2FwPVwicm91bmRcIiBzdHJva2UtbGluZWpvaW49XCJyb3VuZFwiIC8+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPC9nPlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxkZWZzPlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8Y2xpcFBhdGggaWQ9XCJjbGlwMF8yMzI4XzQ2NTRcIj5cclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxyZWN0IHdpZHRoPVwiMTJcIiBoZWlnaHQ9XCIxMlwiIGZpbGw9XCJ3aGl0ZVwiIC8+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvY2xpcFBhdGg+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPC9kZWZzPlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPC9zdmc+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8c3ZnICpuZ0lmPVwiZ2V0UG90ZW50aWFsQnV5ZXJzRGF0YT8ucG90ZW50aWFsQnV5ZXJzPy5wb3RlbnRpYWxCdXllcnNTaW5nbGU/LlByZXZpb3VzVmFyaWF0aW9uXCIgeG1sbnM9XCJodHRwOi8vd3d3LnczLm9yZy8yMDAwL3N2Z1wiIHdpZHRoPVwiMTJcIiBoZWlnaHQ9XCIxMlwiXHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgdmlld0JveD1cIjAgMCAxMiAxMlwiIGZpbGw9XCJub25lXCI+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGcgY2xpcC1wYXRoPVwidXJsKCNjbGlwMF8zMjE2XzExOClcIj5cclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPHBhdGggZD1cIk0xMS41IDNMNi43NSA3Ljc1TDQuMjUgNS4yNUwwLjUgOU0xMS41IDNIOC41TTExLjUgM1Y2XCIgc3Ryb2tlPVwiIzAzOTg1NVwiIHN0cm9rZS13aWR0aD1cIjEuNVwiXHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBzdHJva2UtbGluZWNhcD1cInJvdW5kXCIgc3Ryb2tlLWxpbmVqb2luPVwicm91bmRcIiAvPlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvZz5cclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8ZGVmcz5cclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGNsaXBQYXRoIGlkPVwiY2xpcDBfMzIxNl8xMThcIj5cclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxyZWN0IHdpZHRoPVwiMTJcIiBoZWlnaHQ9XCIxMlwiIGZpbGw9XCJ3aGl0ZVwiIC8+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvY2xpcFBhdGg+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPC9kZWZzPlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPC9zdmc+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8L3NwYW4+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8c3BhbiBjbGFzcz1cIm10LTIgbXMtMlwiPlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxzcGFuICpuZ0lmPVwiZ2V0UG90ZW50aWFsQnV5ZXJzRGF0YT8ucG90ZW50aWFsQnV5ZXJzPy5wb3RlbnRpYWxCdXllcnNTaW5nbGU/LlByZXZpb3VzRGF0YSA9PT0wXCIgY2xhc3M9XCJwZXJjZW50LXZhbHVlXCI+MCU8L3NwYW4+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPHNwYW4gKm5nSWY9XCJnZXRQb3RlbnRpYWxCdXllcnNEYXRhPy5wb3RlbnRpYWxCdXllcnM/LnBvdGVudGlhbEJ1eWVyc1NpbmdsZT8uUHJldmlvdXNEYXRhICE9PTBcIiBjbGFzcz1cInBlcmNlbnQtdmFsdWVcIj57e2dldFBvdGVudGlhbEJ1eWVyc0RhdGE/LnBvdGVudGlhbEJ1eWVycz8ucG90ZW50aWFsQnV5ZXJzU2luZ2xlPy5QcmV2aW91c0RhdGEgPyBnZXRQb3RlbnRpYWxCdXllcnNEYXRhPy5wb3RlbnRpYWxCdXllcnM/LnBvdGVudGlhbEJ1eWVyc1NpbmdsZT8uUHJldmlvdXNEYXRhOictLSd9fSU8L3NwYW4+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPHNwYW5cclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgY2xhc3M9XCJ3ZWVrLWZvbnRcIj4gdnMgUHJldmlvdXMgIDxzcGFuICpuZ0lmPVwiZGF0ZVR5cGUgPT09J2RhaWx5J1wiPmRheTwvc3Bhbj48c3BhbiAqbmdJZj1cImRhdGVUeXBlID09PSd3ZWVrbHknXCI+d2Vlazwvc3Bhbj4gPHNwYW4gKm5nSWY9XCJkYXRlVHlwZSA9PT0nbW9udGhseSdcIj5tb250aDwvc3Bhbj48L3NwYW4+XHJcblxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPC9zcGFuPlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8L2Rpdj5cclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8L2Rpdj5cclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8L2Rpdj5cclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8ZGl2IGNsYXNzPVwiY29sLW1kLTYgcHgtMCBwb3NpdGlvbi1yZWxhdGl2ZVwiPlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8ZGl2IGNsYXNzPVwiY2FyZC1ib2R5IHAtMFwiPlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGRpdiBjbGFzcz1cInRleHQtc3RhcnQgbXMtMTAgbXQtNyBtYi0zXCI+PHNwYW4+IDxzdmcgd2lkdGg9XCIyNlwiIGhlaWdodD1cIjI0XCIgdmlld0JveD1cIjAgMCAyNiAyNFwiIGZpbGw9XCJub25lXCIgeG1sbnM9XCJodHRwOi8vd3d3LnczLm9yZy8yMDAwL3N2Z1wiPlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxyZWN0IHdpZHRoPVwiMjZcIiBoZWlnaHQ9XCIyNFwiIGZpbGw9XCIjRENEQ0RDXCIvPlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxyZWN0IHg9XCItNDYwLjVcIiB5PVwiLTM0MC41XCIgd2lkdGg9XCI3ODNcIiBoZWlnaHQ9XCIxOTQ3XCIgcng9XCI0LjVcIiBzdHJva2U9XCIjOTc0N0ZGXCIgc3Ryb2tlLWRhc2hhcnJheT1cIjEwIDVcIi8+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPG1hc2sgaWQ9XCJwYXRoLTItaW5zaWRlLTFfNzA3XzEzMTA2XCIgZmlsbD1cIndoaXRlXCI+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPHBhdGggZD1cIk0tMTg5IC04OUMtMTg5IC05NS42Mjc0IC0xODMuNjI3IC0xMDEgLTE3NyAtMTAxSDI5NUMzMDEuNjI3IC0xMDEgMzA3IC05NS42Mjc0IDMwNyAtODlWODVDMzA3IDkxLjYyNzQgMzAxLjYyNyA5NyAyOTUgOTdILTE3N0MtMTgzLjYyNyA5NyAtMTg5IDkxLjYyNzQgLTE4OSA4NVYtODlaXCIvPlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvbWFzaz5cclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8cGF0aCBkPVwiTS0xODkgLTg5Qy0xODkgLTk1LjYyNzQgLTE4My42MjcgLTEwMSAtMTc3IC0xMDFIMjk1QzMwMS42MjcgLTEwMSAzMDcgLTk1LjYyNzQgMzA3IC04OVY4NUMzMDcgOTEuNjI3NCAzMDEuNjI3IDk3IDI5NSA5N0gtMTc3Qy0xODMuNjI3IDk3IC0xODkgOTEuNjI3NCAtMTg5IDg1Vi04OVpcIiBmaWxsPVwid2hpdGVcIi8+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPHBhdGggZD1cIk0tMTkwIC04OUMtMTkwIC05Ni4xNzk3IC0xODQuMTggLTEwMiAtMTc3IC0xMDJIMjk0QzMwMS4xOCAtMTAyIDMwNyAtOTYuMTc5NyAzMDcgLTg5QzMwNyAtOTUuMDc1MSAzMDEuNjI3IC0xMDAgMjk1IC0xMDBILTE3N0MtMTgzLjA3NSAtMTAwIC0xODggLTk1LjA3NTEgLTE4OCAtODlILTE5MFpNMzA3IDg1QzMwNyA5Mi4xNzk3IDMwMS4xOCA5OCAyOTQgOThILTE3N0MtMTg0LjE4IDk4IC0xOTAgOTIuMTc5NyAtMTkwIDg1SC0xODhDLTE4OCA5MS4wNzUxIC0xODMuMDc1IDk2IC0xNzcgOTZIMjk1QzMwMS42MjcgOTYgMzA3IDkxLjA3NTEgMzA3IDg1Wk0tMTc3IDk4Qy0xODQuMTggOTggLTE5MCA5Mi4xNzk3IC0xOTAgODVWLTg5Qy0xOTAgLTk2LjE3OTcgLTE4NC4xOCAtMTAyIC0xNzcgLTEwMlYtMTAwQy0xODMuMDc1IC0xMDAgLTE4OCAtOTUuMDc1MSAtMTg4IC04OVY4NUMtMTg4IDkxLjA3NTEgLTE4My4wNzUgOTYgLTE3NyA5NlY5OFpNMzA3IC0xMDFWOTdWLTEwMVpcIiBmaWxsPVwiI0QwRDVERFwiIG1hc2s9XCJ1cmwoI3BhdGgtMi1pbnNpZGUtMV83MDdfMTMxMDYpXCIvPlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxtYXNrIGlkPVwicGF0aC02LWluc2lkZS0yXzcwN18xMzEwNlwiIGZpbGw9XCJ3aGl0ZVwiPlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxwYXRoIGQ9XCJNNy43MTA2NCA3LjM4NDYyQzguMTk1NTIgNy4zODQ2MiA4LjY3NTY1IDcuMjg5MTEgOS4xMjM2MiA3LjEwMzU2QzkuNTcxNTkgNi45MTggOS45Nzg2MyA2LjY0NjAzIDEwLjMyMTUgNi4zMDMxNkMxMC42NjQ0IDUuOTYwMyAxMC45MzYzIDUuNTUzMjYgMTEuMTIxOSA1LjEwNTI5QzExLjMwNzQgNC42NTczMiAxMS40MDI5IDQuMTc3MTkgMTEuNDAyOSAzLjY5MjMxQzExLjQwMjkgMy4yMDc0MyAxMS4zMDc0IDIuNzI3MjkgMTEuMTIxOSAyLjI3OTMyQzEwLjkzNjMgMS44MzEzNSAxMC42NjQ0IDEuNDI0MzEgMTAuMzIxNSAxLjA4MTQ1QzkuOTc4NjMgMC43Mzg1OSA5LjU3MTU5IDAuNDY2NjE2IDkuMTIzNjIgMC4yODEwNkM4LjY3NTY1IDAuMDk1NTA0MyA4LjE5NTUyIC03LjIyNTI5ZS0wOSA3LjcxMDY0IDBDNi43MzEzOCAxLjQ1OTIxZS0wOCA1Ljc5MjIyIDAuMzg5MDEgNS4wOTk3OCAxLjA4MTQ1QzQuNDA3MzQgMS43NzM4OSA0LjAxODMzIDIuNzEzMDUgNC4wMTgzMyAzLjY5MjMxQzQuMDE4MzMgNC42NzE1NyA0LjQwNzM0IDUuNjEwNzIgNS4wOTk3OCA2LjMwMzE2QzUuNzkyMjIgNi45OTU2MSA2LjczMTM4IDcuMzg0NjIgNy43MTA2NCA3LjM4NDYyWk0xOC43ODc2IDcuMzg0NjJDMTkuMjcyNCA3LjM4NDYyIDE5Ljc1MjYgNy4yODkxMSAyMC4yMDA1IDcuMTAzNTZDMjAuNjQ4NSA2LjkxOCAyMS4wNTU2IDYuNjQ2MDMgMjEuMzk4NCA2LjMwMzE2QzIxLjc0MTMgNS45NjAzIDIyLjAxMzMgNS41NTMyNiAyMi4xOTg4IDUuMTA1MjlDMjIuMzg0NCA0LjY1NzMyIDIyLjQ3OTkgNC4xNzcxOSAyMi40Nzk5IDMuNjkyMzFDMjIuNDc5OSAzLjIwNzQzIDIyLjM4NDQgMi43MjcyOSAyMi4xOTg4IDIuMjc5MzJDMjIuMDEzMyAxLjgzMTM1IDIxLjc0MTMgMS40MjQzMSAyMS4zOTg0IDEuMDgxNDVDMjEuMDU1NiAwLjczODU5IDIwLjY0ODUgMC40NjY2MTYgMjAuMjAwNSAwLjI4MTA2QzE5Ljc1MjYgMC4wOTU1MDQzIDE5LjI3MjQgLTcuMjI1MjllLTA5IDE4Ljc4NzYgMEMxNy44MDgzIDEuNDU5MjFlLTA4IDE2Ljg2OTEgMC4zODkwMSAxNi4xNzY3IDEuMDgxNDVDMTUuNDg0MyAxLjc3Mzg5IDE1LjA5NTMgMi43MTMwNSAxNS4wOTUzIDMuNjkyMzFDMTUuMDk1MyA0LjY3MTU3IDE1LjQ4NDMgNS42MTA3MiAxNi4xNzY3IDYuMzAzMTZDMTYuODY5MSA2Ljk5NTYxIDE3LjgwODMgNy4zODQ2MiAxOC43ODc2IDcuMzg0NjJaTTAuOTQxNDA2IDEwLjczNkMwLjk0MTQwNiAxMC40NTc1IDAuOTk2MjU4IDEwLjE4MTggMS4xMDI4MyA5LjkyNDQ4QzEuMjA5NCA5LjY2NzE5IDEuMzY1NiA5LjQzMzQyIDEuNTYyNTIgOS4yMzY1QzEuNzU5NDQgOS4wMzk1OCAxLjk5MzIxIDguODgzMzggMi4yNTA1IDguNzc2ODFDMi41MDc3OCA4LjY3MDI0IDIuNzgzNTQgOC42MTUzOSAzLjA2MjAyIDguNjE1MzlIOC45ODQ0OEM4LjU1MTY5IDkuMzYzNDUgOC4zMjQ1MiAxMC4yMTI3IDguMzI2MDIgMTEuMDc2OUM4LjMyNTE5IDExLjc3NTUgOC40NzM0MSAxMi40NjYyIDguNzYwNzkgMTMuMTAyOUM5LjA0ODE2IDEzLjczOTYgOS40NjgwNyAxNC4zMDc3IDkuOTkyNDggMTQuNzY5Mkg4LjYwMDQ4QzguMDE0MTggMTQuNzY4NyA3LjQzODAzIDE0LjkyMjIgNi45Mjk2OSAxNS4yMTQ0QzYuNDIxMzQgMTUuNTA2NSA1Ljk5ODY0IDE1LjkyNyA1LjcwMzg3IDE2LjQzMzhDMy43MjExIDE2LjA0NDkgMi41MTYxOCAxNS4wNzgyIDEuODE0NjQgMTMuOTkyQzAuOTQxNDA2IDEyLjY0IDAuOTQxNDA2IDExLjI0MzEgMC45NDE0MDYgMTEuMDAxMlYxMC43MzZaTTE3Ljg5NzcgMTQuNzY5MkMxOC40ODQgMTQuNzY4NyAxOS4wNjAyIDE0LjkyMjIgMTkuNTY4NSAxNS4yMTQ0QzIwLjA3NjkgMTUuNTA2NSAyMC40OTk2IDE1LjkyNyAyMC43OTQzIDE2LjQzMzhDMjIuNzc3MSAxNi4wNDQ5IDIzLjk4MiAxNS4wNzgyIDI0LjY4MzYgMTMuOTkyQzI1LjU1NjggMTIuNjQgMjUuNTU2OCAxMS4yNDMxIDI1LjU1NjggMTEuMDAxMlYxMC43MzY2QzI1LjU1NjkgMTAuNDU4MSAyNS41MDIxIDEwLjE4MjMgMjUuMzk1NSA5LjkyNDlDMjUuMjg5IDkuNjY3NTUgMjUuMTMyOCA5LjQzMzcgMjQuOTM1OSA5LjIzNjcyQzI0LjczOSA5LjAzOTczIDI0LjUwNTIgOC44ODM0OCAyNC4yNDc4IDguNzc2ODdDMjMuOTkwNSA4LjY3MDI2IDIzLjcxNDcgOC42MTUzOSAyMy40MzYyIDguNjE1MzlIMTcuNTEzN0MxNy45NDY1IDkuMzYzNDUgMTguMTczNyAxMC4yMTI3IDE4LjE3MjIgMTEuMDc2OUMxOC4xNzMgMTEuNzc1NSAxOC4wMjQ4IDEyLjQ2NjIgMTcuNzM3NCAxMy4xMDI5QzE3LjQ1IDEzLjczOTYgMTcuMDMwMSAxNC4zMDc3IDE2LjUwNTcgMTQuNzY5MkgxNy44OTc3Wk0xNi45NDE0IDExLjA3NjlDMTYuOTQxNCAxMi4wNTYyIDE2LjU1MjQgMTIuOTk1MyAxNS44NiAxMy42ODc4QzE1LjE2NzUgMTQuMzgwMiAxNC4yMjg0IDE0Ljc2OTIgMTMuMjQ5MSAxNC43NjkyQzEyLjI2OTggMTQuNzY5MiAxMS4zMzA3IDE0LjM4MDIgMTAuNjM4MiAxMy42ODc4QzkuOTQ1OCAxMi45OTUzIDkuNTU2NzkgMTIuMDU2MiA5LjU1Njc5IDExLjA3NjlDOS41NTY3OSAxMC4wOTc3IDkuOTQ1OCA5LjE1ODUxIDEwLjYzODIgOC40NjYwN0MxMS4zMzA3IDcuNzczNjMgMTIuMjY5OCA3LjM4NDYyIDEzLjI0OTEgNy4zODQ2MkMxNC4yMjg0IDcuMzg0NjIgMTUuMTY3NSA3Ljc3MzYzIDE1Ljg2IDguNDY2MDdDMTYuNTUyNCA5LjE1ODUxIDE2Ljk0MTQgMTAuMDk3NyAxNi45NDE0IDExLjA3NjlaTTYuNDc5ODcgMTguMTIwNkM2LjQ3OTg3IDE3LjU1ODIgNi43MDMyOSAxNy4wMTg4IDcuMTAwOTggMTYuNjIxMUM3LjQ5ODY3IDE2LjIyMzQgOC4wMzgwNiAxNiA4LjYwMDQ4IDE2SDE3Ljg5NzdDMTguNDYwMSAxNiAxOC45OTk1IDE2LjIyMzQgMTkuMzk3MiAxNi42MjExQzE5Ljc5NDkgMTcuMDE4OCAyMC4wMTgzIDE3LjU1ODIgMjAuMDE4MyAxOC4xMjA2VjE4LjM4NThDMjAuMDE4MyAxOC42MjgzIDIwLjAxODMgMjAuMDI0NiAxOS4xNDUxIDIxLjM3NjZDMTguMjMyNSAyMi43ODk1IDE2LjQ2OTQgMjQgMTMuMjQ5MSAyNEMxMC4wMjg4IDI0IDguMjY1NzEgMjIuNzg5NSA3LjM1MzEgMjEuMzc2NkM2LjQ3OTg3IDIwLjAyNDYgNi40Nzk4NyAxOC42Mjc3IDYuNDc5ODcgMTguMzg1OFYxOC4xMjA2WlwiLz5cclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8L21hc2s+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPHBhdGggZD1cIk03LjcxMDY0IDcuMzg0NjJDOC4xOTU1MiA3LjM4NDYyIDguNjc1NjUgNy4yODkxMSA5LjEyMzYyIDcuMTAzNTZDOS41NzE1OSA2LjkxOCA5Ljk3ODYzIDYuNjQ2MDMgMTAuMzIxNSA2LjMwMzE2QzEwLjY2NDQgNS45NjAzIDEwLjkzNjMgNS41NTMyNiAxMS4xMjE5IDUuMTA1MjlDMTEuMzA3NCA0LjY1NzMyIDExLjQwMjkgNC4xNzcxOSAxMS40MDI5IDMuNjkyMzFDMTEuNDAyOSAzLjIwNzQzIDExLjMwNzQgMi43MjcyOSAxMS4xMjE5IDIuMjc5MzJDMTAuOTM2MyAxLjgzMTM1IDEwLjY2NDQgMS40MjQzMSAxMC4zMjE1IDEuMDgxNDVDOS45Nzg2MyAwLjczODU5IDkuNTcxNTkgMC40NjY2MTYgOS4xMjM2MiAwLjI4MTA2QzguNjc1NjUgMC4wOTU1MDQzIDguMTk1NTIgLTcuMjI1MjllLTA5IDcuNzEwNjQgMEM2LjczMTM4IDEuNDU5MjFlLTA4IDUuNzkyMjIgMC4zODkwMSA1LjA5OTc4IDEuMDgxNDVDNC40MDczNCAxLjc3Mzg5IDQuMDE4MzMgMi43MTMwNSA0LjAxODMzIDMuNjkyMzFDNC4wMTgzMyA0LjY3MTU3IDQuNDA3MzQgNS42MTA3MiA1LjA5OTc4IDYuMzAzMTZDNS43OTIyMiA2Ljk5NTYxIDYuNzMxMzggNy4zODQ2MiA3LjcxMDY0IDcuMzg0NjJaTTE4Ljc4NzYgNy4zODQ2MkMxOS4yNzI0IDcuMzg0NjIgMTkuNzUyNiA3LjI4OTExIDIwLjIwMDUgNy4xMDM1NkMyMC42NDg1IDYuOTE4IDIxLjA1NTYgNi42NDYwMyAyMS4zOTg0IDYuMzAzMTZDMjEuNzQxMyA1Ljk2MDMgMjIuMDEzMyA1LjU1MzI2IDIyLjE5ODggNS4xMDUyOUMyMi4zODQ0IDQuNjU3MzIgMjIuNDc5OSA0LjE3NzE5IDIyLjQ3OTkgMy42OTIzMUMyMi40Nzk5IDMuMjA3NDMgMjIuMzg0NCAyLjcyNzI5IDIyLjE5ODggMi4yNzkzMkMyMi4wMTMzIDEuODMxMzUgMjEuNzQxMyAxLjQyNDMxIDIxLjM5ODQgMS4wODE0NUMyMS4wNTU2IDAuNzM4NTkgMjAuNjQ4NSAwLjQ2NjYxNiAyMC4yMDA1IDAuMjgxMDZDMTkuNzUyNiAwLjA5NTUwNDMgMTkuMjcyNCAtNy4yMjUyOWUtMDkgMTguNzg3NiAwQzE3LjgwODMgMS40NTkyMWUtMDggMTYuODY5MSAwLjM4OTAxIDE2LjE3NjcgMS4wODE0NUMxNS40ODQzIDEuNzczODkgMTUuMDk1MyAyLjcxMzA1IDE1LjA5NTMgMy42OTIzMUMxNS4wOTUzIDQuNjcxNTcgMTUuNDg0MyA1LjYxMDcyIDE2LjE3NjcgNi4zMDMxNkMxNi44NjkxIDYuOTk1NjEgMTcuODA4MyA3LjM4NDYyIDE4Ljc4NzYgNy4zODQ2MlpNMC45NDE0MDYgMTAuNzM2QzAuOTQxNDA2IDEwLjQ1NzUgMC45OTYyNTggMTAuMTgxOCAxLjEwMjgzIDkuOTI0NDhDMS4yMDk0IDkuNjY3MTkgMS4zNjU2IDkuNDMzNDIgMS41NjI1MiA5LjIzNjVDMS43NTk0NCA5LjAzOTU4IDEuOTkzMjEgOC44ODMzOCAyLjI1MDUgOC43NzY4MUMyLjUwNzc4IDguNjcwMjQgMi43ODM1NCA4LjYxNTM5IDMuMDYyMDIgOC42MTUzOUg4Ljk4NDQ4QzguNTUxNjkgOS4zNjM0NSA4LjMyNDUyIDEwLjIxMjcgOC4zMjYwMiAxMS4wNzY5QzguMzI1MTkgMTEuNzc1NSA4LjQ3MzQxIDEyLjQ2NjIgOC43NjA3OSAxMy4xMDI5QzkuMDQ4MTYgMTMuNzM5NiA5LjQ2ODA3IDE0LjMwNzcgOS45OTI0OCAxNC43NjkySDguNjAwNDhDOC4wMTQxOCAxNC43Njg3IDcuNDM4MDMgMTQuOTIyMiA2LjkyOTY5IDE1LjIxNDRDNi40MjEzNCAxNS41MDY1IDUuOTk4NjQgMTUuOTI3IDUuNzAzODcgMTYuNDMzOEMzLjcyMTEgMTYuMDQ0OSAyLjUxNjE4IDE1LjA3ODIgMS44MTQ2NCAxMy45OTJDMC45NDE0MDYgMTIuNjQgMC45NDE0MDYgMTEuMjQzMSAwLjk0MTQwNiAxMS4wMDEyVjEwLjczNlpNMTcuODk3NyAxNC43NjkyQzE4LjQ4NCAxNC43Njg3IDE5LjA2MDIgMTQuOTIyMiAxOS41Njg1IDE1LjIxNDRDMjAuMDc2OSAxNS41MDY1IDIwLjQ5OTYgMTUuOTI3IDIwLjc5NDMgMTYuNDMzOEMyMi43NzcxIDE2LjA0NDkgMjMuOTgyIDE1LjA3ODIgMjQuNjgzNiAxMy45OTJDMjUuNTU2OCAxMi42NCAyNS41NTY4IDExLjI0MzEgMjUuNTU2OCAxMS4wMDEyVjEwLjczNjZDMjUuNTU2OSAxMC40NTgxIDI1LjUwMjEgMTAuMTgyMyAyNS4zOTU1IDkuOTI0OUMyNS4yODkgOS42Njc1NSAyNS4xMzI4IDkuNDMzNyAyNC45MzU5IDkuMjM2NzJDMjQuNzM5IDkuMDM5NzMgMjQuNTA1MiA4Ljg4MzQ4IDI0LjI0NzggOC43NzY4N0MyMy45OTA1IDguNjcwMjYgMjMuNzE0NyA4LjYxNTM5IDIzLjQzNjIgOC42MTUzOUgxNy41MTM3QzE3Ljk0NjUgOS4zNjM0NSAxOC4xNzM3IDEwLjIxMjcgMTguMTcyMiAxMS4wNzY5QzE4LjE3MyAxMS43NzU1IDE4LjAyNDggMTIuNDY2MiAxNy43Mzc0IDEzLjEwMjlDMTcuNDUgMTMuNzM5NiAxNy4wMzAxIDE0LjMwNzcgMTYuNTA1NyAxNC43NjkySDE3Ljg5NzdaTTE2Ljk0MTQgMTEuMDc2OUMxNi45NDE0IDEyLjA1NjIgMTYuNTUyNCAxMi45OTUzIDE1Ljg2IDEzLjY4NzhDMTUuMTY3NSAxNC4zODAyIDE0LjIyODQgMTQuNzY5MiAxMy4yNDkxIDE0Ljc2OTJDMTIuMjY5OCAxNC43NjkyIDExLjMzMDcgMTQuMzgwMiAxMC42MzgyIDEzLjY4NzhDOS45NDU4IDEyLjk5NTMgOS41NTY3OSAxMi4wNTYyIDkuNTU2NzkgMTEuMDc2OUM5LjU1Njc5IDEwLjA5NzcgOS45NDU4IDkuMTU4NTEgMTAuNjM4MiA4LjQ2NjA3QzExLjMzMDcgNy43NzM2MyAxMi4yNjk4IDcuMzg0NjIgMTMuMjQ5MSA3LjM4NDYyQzE0LjIyODQgNy4zODQ2MiAxNS4xNjc1IDcuNzczNjMgMTUuODYgOC40NjYwN0MxNi41NTI0IDkuMTU4NTEgMTYuOTQxNCAxMC4wOTc3IDE2Ljk0MTQgMTEuMDc2OVpNNi40Nzk4NyAxOC4xMjA2QzYuNDc5ODcgMTcuNTU4MiA2LjcwMzI5IDE3LjAxODggNy4xMDA5OCAxNi42MjExQzcuNDk4NjcgMTYuMjIzNCA4LjAzODA2IDE2IDguNjAwNDggMTZIMTcuODk3N0MxOC40NjAxIDE2IDE4Ljk5OTUgMTYuMjIzNCAxOS4zOTcyIDE2LjYyMTFDMTkuNzk0OSAxNy4wMTg4IDIwLjAxODMgMTcuNTU4MiAyMC4wMTgzIDE4LjEyMDZWMTguMzg1OEMyMC4wMTgzIDE4LjYyODMgMjAuMDE4MyAyMC4wMjQ2IDE5LjE0NTEgMjEuMzc2NkMxOC4yMzI1IDIyLjc4OTUgMTYuNDY5NCAyNCAxMy4yNDkxIDI0QzEwLjAyODggMjQgOC4yNjU3MSAyMi43ODk1IDcuMzUzMSAyMS4zNzY2QzYuNDc5ODcgMjAuMDI0NiA2LjQ3OTg3IDE4LjYyNzcgNi40Nzk4NyAxOC4zODU4VjE4LjEyMDZaXCIgc3Ryb2tlPVwiIzk4QTJCM1wiIHN0cm9rZS13aWR0aD1cIjNcIiBtYXNrPVwidXJsKCNwYXRoLTYtaW5zaWRlLTJfNzA3XzEzMTA2KVwiLz5cclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8L3N2Zz48L3NwYW4+PHNwYW4gKm5nSWY9XCJnZXRQb3RlbnRpYWxCdXllcnNEYXRhPy5wb3RlbnRpYWxCdXllcnM/LnBvdGVudGlhbEJ1eWVyc0dyb3VwPy5jb3VudCAhPT0wXCIgY2xhc3M9XCJsZWZ0LWNhcmQtY291bnQgbXMtMSBtdC0yXCI+e3tnZXRQb3RlbnRpYWxCdXllcnNEYXRhPy5wb3RlbnRpYWxCdXllcnM/LnBvdGVudGlhbEJ1eWVyc0dyb3VwPy5jb3VudCA/IGdldFBvdGVudGlhbEJ1eWVyc0RhdGE/LnBvdGVudGlhbEJ1eWVycz8ucG90ZW50aWFsQnV5ZXJzR3JvdXA/LmNvdW50LnRvTG9jYWxlU3RyaW5nKCdlbi1JTicpOictLSd9fTwvc3Bhbj4gXHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPHNwYW4gKm5nSWY9XCJnZXRQb3RlbnRpYWxCdXllcnNEYXRhPy5wb3RlbnRpYWxCdXllcnM/LnBvdGVudGlhbEJ1eWVyc0dyb3VwPy5jb3VudCA9PT0wXCIgY2xhc3M9XCJsZWZ0LWNhcmQtY291bnQgbXMtMSBtdC0yXCI+MDwvc3Bhbj5cclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8c3BhbiBjbGFzcz1cImxlZnQtY2FyZC1jb3VudC1oZWFkZXIgbXMtMVwiPkdyb3VwPC9zcGFuPjwvZGl2PlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8ZGl2IGNsYXNzPVwidGV4dC1zdGFydCBtcy0xNSBtYi0zXCI+PHNwYW4gY2xhc3M9XCJiYWRnZSBiYWRnZS1saWdodC1kZWZhdWx0IHdlZWstZm9udFwiPnt7Z2V0UG90ZW50aWFsQnV5ZXJzRGF0YT8ucG90ZW50aWFsQnV5ZXJzPy5wb3RlbnRpYWxCdXllcnNHcm91cD8uYWdlR3JvdXAgPyBnZXRQb3RlbnRpYWxCdXllcnNEYXRhPy5wb3RlbnRpYWxCdXllcnM/LnBvdGVudGlhbEJ1eWVyc0dyb3VwPy5hZ2VHcm91cDonLS0nfX0gYWdlPC9zcGFuPjwvZGl2PlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIFxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPC9kaXY+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxkaXYgY2xhc3M9XCJjYXJkLWZvb3RlciBtcy0yIHAtMFwiPlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGRpdiBjbGFzcz1cImNvbC1tZC0xMlwiPlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxzcGFuIGNsYXNzPVwibXQtMlwiPlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8c3ZnICpuZ0lmPVwiIWdldFBvdGVudGlhbEJ1eWVyc0RhdGE/LnBvdGVudGlhbEJ1eWVycz8ucG90ZW50aWFsQnV5ZXJzR3JvdXA/LlByZXZpb3VzVmFyaWF0aW9uXCIgeG1sbnM9XCJodHRwOi8vd3d3LnczLm9yZy8yMDAwL3N2Z1wiIHdpZHRoPVwiMThcIlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBoZWlnaHQ9XCIxOFwiIHZpZXdCb3g9XCIwIDAgMTggMThcIiBmaWxsPVwibm9uZVwiPlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8ZyBjbGlwLXBhdGg9XCJ1cmwoI2NsaXAwXzIzMjhfNDY1NClcIj5cclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxwYXRoIGQ9XCJNMTEuNSA5TDYuNzUgNC4yNUw0LjI1IDYuNzVMMC41IDNNMTEuNSA5SDguNU0xMS41IDlWNlwiIHN0cm9rZT1cIiNEOTJEMjBcIiBzdHJva2Utd2lkdGg9XCIxLjVcIlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHN0cm9rZS1saW5lY2FwPVwicm91bmRcIiBzdHJva2UtbGluZWpvaW49XCJyb3VuZFwiIC8+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvZz5cclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGRlZnM+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8Y2xpcFBhdGggaWQ9XCJjbGlwMF8yMzI4XzQ2NTRcIj5cclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8cmVjdCB3aWR0aD1cIjEyXCIgaGVpZ2h0PVwiMTJcIiBmaWxsPVwid2hpdGVcIiAvPlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPC9jbGlwUGF0aD5cclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPC9kZWZzPlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvc3ZnPlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxzdmcgKm5nSWY9XCJnZXRQb3RlbnRpYWxCdXllcnNEYXRhPy5wb3RlbnRpYWxCdXllcnM/LnBvdGVudGlhbEJ1eWVyc0dyb3VwPy5QcmV2aW91c1ZhcmlhdGlvblwiIHhtbG5zPVwiaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmdcIiB3aWR0aD1cIjEyXCIgaGVpZ2h0PVwiMTJcIlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB2aWV3Qm94PVwiMCAwIDEyIDEyXCIgZmlsbD1cIm5vbmVcIj5cclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGcgY2xpcC1wYXRoPVwidXJsKCNjbGlwMF8zMjE2XzExOClcIj5cclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxwYXRoIGQ9XCJNMTEuNSAzTDYuNzUgNy43NUw0LjI1IDUuMjVMMC41IDlNMTEuNSAzSDguNU0xMS41IDNWNlwiIHN0cm9rZT1cIiMwMzk4NTVcIiBzdHJva2Utd2lkdGg9XCIxLjVcIlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHN0cm9rZS1saW5lY2FwPVwicm91bmRcIiBzdHJva2UtbGluZWpvaW49XCJyb3VuZFwiIC8+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvZz5cclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGRlZnM+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8Y2xpcFBhdGggaWQ9XCJjbGlwMF8zMjE2XzExOFwiPlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxyZWN0IHdpZHRoPVwiMTJcIiBoZWlnaHQ9XCIxMlwiIGZpbGw9XCJ3aGl0ZVwiIC8+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8L2NsaXBQYXRoPlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8L2RlZnM+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPC9zdmc+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPC9zcGFuPlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxzcGFuIGNsYXNzPVwibXQtMiBtcy0yXCI+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxzcGFuICpuZ0lmPVwiZ2V0UG90ZW50aWFsQnV5ZXJzRGF0YT8ucG90ZW50aWFsQnV5ZXJzPy5wb3RlbnRpYWxCdXllcnNHcm91cD8uUHJldmlvdXNEYXRhID09PTBcIiBjbGFzcz1cInBlcmNlbnQtdmFsdWVcIj4wJTwvc3Bhbj5cclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPHNwYW4gKm5nSWY9XCJnZXRQb3RlbnRpYWxCdXllcnNEYXRhPy5wb3RlbnRpYWxCdXllcnM/LnBvdGVudGlhbEJ1eWVyc0dyb3VwPy5QcmV2aW91c0RhdGEgIT09MFwiIGNsYXNzPVwicGVyY2VudC12YWx1ZVwiPnt7Z2V0UG90ZW50aWFsQnV5ZXJzRGF0YT8ucG90ZW50aWFsQnV5ZXJzPy5wb3RlbnRpYWxCdXllcnNHcm91cD8uUHJldmlvdXNEYXRhID8gZ2V0UG90ZW50aWFsQnV5ZXJzRGF0YT8ucG90ZW50aWFsQnV5ZXJzPy5wb3RlbnRpYWxCdXllcnNHcm91cD8uUHJldmlvdXNEYXRhOictLSd9fSU8L3NwYW4+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxzcGFuXHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBjbGFzcz1cIndlZWstZm9udFwiPiB2cyBQcmV2aW91cyAgPHNwYW4gKm5nSWY9XCJkYXRlVHlwZSA9PT0nZGFpbHknXCI+ZGF5PC9zcGFuPjxzcGFuICpuZ0lmPVwiZGF0ZVR5cGUgPT09J3dlZWtseSdcIj53ZWVrPC9zcGFuPiA8c3BhbiAqbmdJZj1cImRhdGVUeXBlID09PSdtb250aGx5J1wiPm1vbnRoPC9zcGFuPjwvc3Bhbj5cclxuICAgIFxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvc3Bhbj5cclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvZGl2PlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8L2Rpdj5cclxuXHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxkaXYgY2xhc3M9XCJwb3NpdGlvbi1hYnNvbHV0ZSBtdC01IGVuZC0wXCI+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8c3ZnIHhtbG5zPVwiaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmdcIiB3aWR0aD1cIjE2XCIgaGVpZ2h0PVwiMTZcIiB2aWV3Qm94PVwiMCAwIDE2IDE2XCIgZmlsbD1cIm5vbmVcIj5cclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8cGF0aCBkPVwiTTYgMTJMMTAgOEw2IDRcIiBzdHJva2U9XCIjOThBMkIzXCIgc3Ryb2tlLXdpZHRoPVwiMlwiIHN0cm9rZS1saW5lY2FwPVwicm91bmRcIiBzdHJva2UtbGluZWpvaW49XCJyb3VuZFwiLz5cclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8L3N2Zz5cclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8L2Rpdj5cclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPC9kaXY+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvZGl2PlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8L2Rpdj5cclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGRpdiBjbGFzcz1cImNvbC1tZC0zIHB4LTBcIj5cclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxkaXYgY2xhc3M9XCJjYXJkLWJvZHkgcC0wXCI+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGRpdiBjbGFzcz1cInRleHQtY2VudGVyIG10LTcgbWItM1wiPjxzcGFuICpuZ0lmPVwiZ2V0UG90ZW50aWFsQnV5ZXJzRGF0YT8ucG90ZW50aWFsQnV5ZXJzPy5wb3RlbnRpYWxCdXllcnNQZXJzb25zPy5jb3VudCAhPT0gMFwiIGNsYXNzPVwibGVmdC1jYXJkLWNvdW50IG10LTJcIj57e2dldFBvdGVudGlhbEJ1eWVyc0RhdGE/LnBvdGVudGlhbEJ1eWVycz8ucG90ZW50aWFsQnV5ZXJzUGVyc29ucz8uY291bnQgPyBnZXRQb3RlbnRpYWxCdXllcnNEYXRhPy5wb3RlbnRpYWxCdXllcnM/LnBvdGVudGlhbEJ1eWVyc1BlcnNvbnM/LmNvdW50LnRvTG9jYWxlU3RyaW5nKCdlbi1JTicpOictLSd9fTwvc3Bhbj4gXHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxzcGFuICpuZ0lmPVwiZ2V0UG90ZW50aWFsQnV5ZXJzRGF0YT8ucG90ZW50aWFsQnV5ZXJzPy5wb3RlbnRpYWxCdXllcnNQZXJzb25zPy5jb3VudCA9PT0gMFwiIGNsYXNzPVwibGVmdC1jYXJkLWNvdW50IG10LTJcIj4wPC9zcGFuPjxzcGFuIGNsYXNzPVwibGVmdC1jYXJkLWNvdW50LWhlYWRlciBtcy0xXCI+UGVyc29uczwvc3Bhbj48L2Rpdj5cclxuXHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8ZGl2IGNsYXNzPVwidGV4dC1jZW50ZXIgbWItM1wiPjxzcGFuIGNsYXNzPVwiYmFkZ2UgYmFkZ2UtbGlnaHQtZGVmYXVsdCB3ZWVrLWZvbnRcIj57e2dldFBvdGVudGlhbEJ1eWVyc0RhdGE/LnBvdGVudGlhbEJ1eWVycz8ucG90ZW50aWFsQnV5ZXJzUGVyc29ucz8uYWdlR3JvdXAgPyBnZXRQb3RlbnRpYWxCdXllcnNEYXRhLnBvdGVudGlhbEJ1eWVycz8ucG90ZW50aWFsQnV5ZXJzUGVyc29ucz8uYWdlR3JvdXA6Jy0tJ319IGFnZTwvc3Bhbj5cclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvZGl2PlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBcclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8L2Rpdj5cclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxkaXYgY2xhc3M9XCJjYXJkLWZvb3RlciB0ZXh0LWNlbnRlciBwLTBcIj5cclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8ZGl2IGNsYXNzPVwiY29sLW1kLTEyXCI+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxzcGFuIGNsYXNzPVwibXQtMiBtcy0yXCI+PHNwYW4gY2xhc3M9XCJwZXJjZW50LXZhbHVlXCI+PC9zcGFuPjxzcGFuXHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgY2xhc3M9XCJtcy0yIHdlZWstZm9udFwiPiBBdmcuIEdyb3VwIHNpemU8L3NwYW4+XHJcbiAgICAgICAgXHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvc3Bhbj5cclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8L2Rpdj5cclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvZGl2PlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPC9kaXY+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8L2Rpdj5cclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvZGl2PlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgPCEtLSA8ZGl2PlxyXG4gICAgICAgICAgICAgICAgICAgIDxzdmcgeG1sbnM9XCJodHRwOi8vd3d3LnczLm9yZy8yMDAwL3N2Z1wiIHdpZHRoPVwiMTZcIiBoZWlnaHQ9XCIxNlwiIHZpZXdCb3g9XCIwIDAgMTYgMTZcIiBmaWxsPVwibm9uZVwiPlxyXG4gICAgICAgICAgICAgICAgICAgICAgICA8cGF0aCBkPVwiTTYgMTJMMTAgOEw2IDRcIiBzdHJva2U9XCIjOThBMkIzXCIgc3Ryb2tlLXdpZHRoPVwiMlwiIHN0cm9rZS1saW5lY2FwPVwicm91bmRcIiBzdHJva2UtbGluZWpvaW49XCJyb3VuZFwiLz5cclxuICAgICAgICAgICAgICAgICAgICAgICAgPC9zdmc+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgIDwvZGl2PiAtLT5cclxuICAgICAgICAgICAgICAgICAgICAgICAgPC9kaXY+XHJcbiAgICAgICAgICAgICAgICAgICAgPC9kaXY+XHJcbiAgICAgICAgICAgICAgICA8L2Rpdj5cclxuICAgICAgICAgICAgPC9kaXY+XHJcbiAgICAgICAgIFxyXG4gICAgICAgIDwvZGl2PlxyXG5cclxuICAgIDwvZGl2PlxyXG4gICAgPGRpdiBjbGFzcz1cImNvbC1tZC01IGgtMTAwXCI+XHJcbiAgICAgICAgPGRpdiBjbGFzcz1cImNhcmQgbWItM1wiPlxyXG4gICAgICAgICAgICA8ZGl2IGNsYXNzPVwiY2FyZC1oZWFkZXIgYm9yZGVyLTAgcHQtMyBwcy01XCI+XHJcbiAgICAgICAgICAgICAgICA8aDMgY2xhc3M9XCJjYXJkLXRpdGxlIGFsaWduLWl0ZW1zLXN0YXJ0IGZsZXgtY29sdW1uXCI+XHJcbiAgICAgICAgICAgICAgICAgICAgPHNwYW4gY2xhc3M9XCJ0aXRsZS10ZXh0XCI+PHNwYW4gKm5nSWY9XCJoZWFkZXJEYXRhPy5jbGllbnQgIT09ICc0NTInXCI+Q29udmVyc2lvbjwvc3Bhbj4gRnVubmVsIFxyXG4gICAgICAgICAgICAgICAgICAgICAgIDxzcGFuICpuZ0lmPVwiaGVhZGVyRGF0YT8uY2xpZW50ICE9PSAnNDUyJ1wiPiA8c3ZnIHhtbG5zPVwiaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmdcIiB3aWR0aD1cIjE2XCIgaGVpZ2h0PVwiMTZcIiB2aWV3Qm94PVwiMCAwIDE2IDE2XCIgZmlsbD1cIm5vbmVcIiBcclxuICAgICAgICAgICAgICAgICAgICAgICAgcGxhY2VtZW50PVwidG9wXCIgXHJcbiAgICAgICAgICAgICAgICAgICAgICAgIG5nYlRvb2x0aXA9XCJUb3RhbCBvcHBvcnR1bml0eSBvZiBzYWxlcyBjb252ZXJzaW9uIHZlcnN1cyB0b3RhbCB3YWxraW5zXCI+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgIDxnIGNsaXAtcGF0aD1cInVybCgjY2xpcDBfMTQzMl84MDAzNSlcIj5cclxuICAgICAgICAgICAgICAgICAgICAgICAgPHBhdGggZD1cIk04LjAwMDY1IDEwLjY2NjZWNy45OTk5Mk04LjAwMDY1IDUuMzMzMjVIOC4wMDczMk0xNC42NjczIDcuOTk5OTJDMTQuNjY3MyAxMS42ODE4IDExLjY4MjYgMTQuNjY2NiA4LjAwMDY1IDE0LjY2NjZDNC4zMTg3NSAxNC42NjY2IDEuMzMzOTggMTEuNjgxOCAxLjMzMzk4IDcuOTk5OTJDMS4zMzM5OCA0LjMxODAyIDQuMzE4NzUgMS4zMzMyNSA4LjAwMDY1IDEuMzMzMjVDMTEuNjgyNiAxLjMzMzI1IDE0LjY2NzMgNC4zMTgwMiAxNC42NjczIDcuOTk5OTJaXCIgc3Ryb2tlPVwiIzY2NzA4NVwiIHN0cm9rZS13aWR0aD1cIjJcIiBzdHJva2UtbGluZWNhcD1cInJvdW5kXCIgc3Ryb2tlLWxpbmVqb2luPVwicm91bmRcIi8+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgIDwvZz5cclxuICAgICAgICAgICAgICAgICAgICAgICAgPGRlZnM+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgIDxjbGlwUGF0aCBpZD1cImNsaXAwXzE0MzJfODAwMzVcIj5cclxuICAgICAgICAgICAgICAgICAgICAgICAgPHJlY3Qgd2lkdGg9XCIxNlwiIGhlaWdodD1cIjE2XCIgZmlsbD1cIndoaXRlXCIvPlxyXG4gICAgICAgICAgICAgICAgICAgICAgICA8L2NsaXBQYXRoPlxyXG4gICAgICAgICAgICAgICAgICAgICAgICA8L2RlZnM+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgIDwvc3ZnPjwvc3Bhbj5cclxuICAgICAgICAgICAgICAgICAgICAgICAgPHNwYW4gKm5nSWY9XCJoZWFkZXJEYXRhPy5jbGllbnQgPT09ICc0NTInXCI+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICA8c3ZnIHhtbG5zPVwiaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmdcIiB3aWR0aD1cIjE2XCIgaGVpZ2h0PVwiMTZcIiB2aWV3Qm94PVwiMCAwIDE2IDE2XCIgZmlsbD1cIm5vbmVcIiBcclxuICAgICAgICAgICAgICAgICAgICAgICAgcGxhY2VtZW50PVwidG9wXCIgXHJcbiAgICAgICAgICAgICAgICAgICAgICAgIFtuZ2JUb29sdGlwXT1cIidUb3RhbCBvcHBvcnR1bml0eSBvZiBzYWxlcyBNb3JlIHRoYW4gJyArIGNsaWVudERhdGE/LmZlYXR1cmVDb25maWdzPy5jb252ZXJzaW9uPy52YWx1ZSArICcgbWlucyB2ZXJzdXMgdG90YWwgd2Fsa2lucydcIj5cclxuICAgICAgICAgICAgICAgICAgICAgICAgPGcgY2xpcC1wYXRoPVwidXJsKCNjbGlwMF8xNDMyXzgwMDM1KVwiPlxyXG4gICAgICAgICAgICAgICAgICAgICAgICA8cGF0aCBkPVwiTTguMDAwNjUgMTAuNjY2NlY3Ljk5OTkyTTguMDAwNjUgNS4zMzMyNUg4LjAwNzMyTTE0LjY2NzMgNy45OTk5MkMxNC42NjczIDExLjY4MTggMTEuNjgyNiAxNC42NjY2IDguMDAwNjUgMTQuNjY2NkM0LjMxODc1IDE0LjY2NjYgMS4zMzM5OCAxMS42ODE4IDEuMzMzOTggNy45OTk5MkMxLjMzMzk4IDQuMzE4MDIgNC4zMTg3NSAxLjMzMzI1IDguMDAwNjUgMS4zMzMyNUMxMS42ODI2IDEuMzMzMjUgMTQuNjY3MyA0LjMxODAyIDE0LjY2NzMgNy45OTk5MlpcIiBzdHJva2U9XCIjNjY3MDg1XCIgc3Ryb2tlLXdpZHRoPVwiMlwiIHN0cm9rZS1saW5lY2FwPVwicm91bmRcIiBzdHJva2UtbGluZWpvaW49XCJyb3VuZFwiLz5cclxuICAgICAgICAgICAgICAgICAgICAgICAgPC9nPlxyXG4gICAgICAgICAgICAgICAgICAgICAgICA8ZGVmcz5cclxuICAgICAgICAgICAgICAgICAgICAgICAgPGNsaXBQYXRoIGlkPVwiY2xpcDBfMTQzMl84MDAzNVwiPlxyXG4gICAgICAgICAgICAgICAgICAgICAgICA8cmVjdCB3aWR0aD1cIjE2XCIgaGVpZ2h0PVwiMTZcIiBmaWxsPVwid2hpdGVcIi8+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgIDwvY2xpcFBhdGg+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgIDwvZGVmcz5cclxuICAgICAgICAgICAgICAgICAgICAgICAgPC9zdmc+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgIDwvc3Bhbj5cclxuICAgICAgICAgICAgICAgICAgICA8L3NwYW4+XHJcbiAgICAgICAgICAgICAgICAgICAgPHNwYW4gY2xhc3M9XCJ0ZXh0LXN1YiBtYi0yXCI+e3toZWFkZXJEYXRhPy5kYXRlPy5zdGFydERhdGUgfCBkYXRlOidkZCBNTU0sIHl5eXknfX0g4oCTIHt7aGVhZGVyRGF0YT8uZGF0ZT8uZW5kRGF0ZSB8IGRhdGU6J2RkIE1NTSwgeXl5eSd9fTwvc3Bhbj5cclxuICAgICAgICAgICAgICAgIDwvaDM+XHJcbiAgICAgICAgXHJcbiAgICAgICAgICAgIDwvZGl2PlxyXG5cclxuICAgICAgICAgICAgPGRpdiBjbGFzcz1cImNhcmQtYm9keSBwLTBcIiA+XHJcbiAgICAgICAgICAgICAgICA8ZGl2ICpuZ0lmPVwiaGVhdGxvYWRpbmdcIiBjbGFzcz1cInJvdyBsb2FkZXIgZC1mbGV4IGp1c3RpZnktY29udGVudC1jZW50ZXIgYWxpZ24taXRlbXMtY2VudGVyIGgtMjc1cHhcIj5cclxuICAgICAgICAgICAgICAgICAgICA8ZGl2IGNsYXNzPVwic2hpbW1lciBwdC0wXCI+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgIDxkaXYgY2xhc3M9XCJ3cmFwcGVyXCI+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICA8ZGl2IGNsYXNzPVwic3Ryb2tlIGFuaW1hdGUgdGl0bGVcIj48L2Rpdj5cclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxkaXYgY2xhc3M9XCJzdHJva2UgYW5pbWF0ZSBsaW5rXCI+PC9kaXY+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICA8ZGl2IGNsYXNzPVwic3Ryb2tlIGFuaW1hdGUgdGl0bGVcIj48L2Rpdj5cclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxkaXYgY2xhc3M9XCJzdHJva2UgYW5pbWF0ZSBsaW5rXCI+PC9kaXY+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICA8ZGl2IGNsYXNzPVwic3Ryb2tlIGFuaW1hdGUgbGlua1wiPjwvZGl2PlxyXG4gICAgICAgICAgICAgICAgICAgICAgICA8L2Rpdj5cclxuICAgICAgICAgICAgICAgICAgICA8L2Rpdj5cclxuICAgICAgICAgICAgICAgIDwvZGl2PlxyXG4gICAgICAgICAgICAgICAgPGRpdiAqbmdJZj1cImhlYXRub0RhdGFcIiBjbGFzcz1cInJvd1wiPlxyXG4gICAgICAgICAgICAgICAgICAgIDxkaXYgY2xhc3M9XCJjb2wtbGctMTIgbWItM1wiPlxyXG4gICAgICAgICAgICAgICAgICAgICAgICA8ZGl2IGNsYXNzPVwiY2FyZC1ib2R5IGQtZmxleCBqdXN0aWZ5LWNvbnRlbnQtY2VudGVyIGFsaWduLWl0ZW1zLWNlbnRlciBmbGV4LWNvbHVtblwiPlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgPGltZyBjbGFzcz1cImltZy1ub2RhdGFcIiBzcmM9XCIuL2Fzc2V0cy90YW5nby9JY29ucy9Ob2RhdGExLnN2Z1wiIGFsdD1cIlwiPlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgPGRpdiBjbGFzcz1cIm5vZGF0YS10aXRsZVwiPk5vIGRhdGEgZm91bmQ8L2Rpdj5cclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxkaXYgY2xhc3M9XCJub2RhdGEtc3ViXCI+VGhlcmUgaXMgbm8gcmVzdWx0IGZvciB0aGlzIDxzcGFuICpuZ0lmPVwiaGVhZGVyRGF0YT8uY2xpZW50ICE9PSc0NTInXCI+Y29udmVyc2lvbjwvc3Bhbj4gZnVubmVsPC9kaXY+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgIDwvZGl2PlxyXG4gICAgICAgICAgICAgICAgICAgIDwvZGl2PlxyXG4gICAgICAgICAgICAgICAgPC9kaXY+XHJcbiAgICAgICAgICAgICAgICA8ZGl2ICpuZ0lmPVwiIWhlYXRsb2FkaW5nICYmICFoZWF0bm9EYXRhXCIgY2xhc3M9XCJ0ZXh0LWNlbnRlciBtYi0zXCIgaWQ9XCJjaGFydGRpdlwiPjwvZGl2PlxyXG4gICAgICAgICAgICA8L2Rpdj5cclxuICAgICAgICAgICAgPC9kaXY+XHJcbiAgICAgICAgICAgXHJcbiAgICAgICAgICAgIDxkaXYgKm5nSWY9XCJtcGFsb2FkaW5nICYmIHN0b3JlSWRhcnJheT8ubGVuZ3RoID4gMSB8fCBtYXBub0RhdGEgJiYgc3RvcmVJZGFycmF5Py5sZW5ndGggPiAxIHx8ICFzdG9yZUlkYXJyYXk/Lmxlbmd0aFwiIGNsYXNzPVwiY2FyZFwiPlxyXG4gICAgICAgICAgICAgICAgPGRpdiBjbGFzcz1cImNhcmQtaGVhZGVyIGJvcmRlci0wIHB0LTMgcHMtNyBwZS0wXCI+XHJcbiAgICAgICAgICAgICAgICAgICAgPGgzIGNsYXNzPVwiY2FyZC10aXRsZSBhbGlnbi1pdGVtcy1zdGFydCBmbGV4LWNvbHVtblwiPlxyXG4gICAgICAgICAgICAgICAgICAgICAgICA8c3BhbiBjbGFzcz1cInRpdGxlLXRleHRcIiA+RXhwbG9yZTwvc3Bhbj4gIFxyXG4gICAgICAgICAgICAgICAgICAgIDwvaDM+XHJcbiAgICAgICAgICAgICAgIFxyXG4gICAgICAgICAgICAgICAgICAgICAgICA8L2Rpdj5cclxuICAgICAgICAgICAgICAgICAgICAgICAgPGRpdiAqbmdJZj1cIm1wYWxvYWRpbmdcIiBjbGFzcz1cInJvdyBsb2FkZXIgZC1mbGV4IGp1c3RpZnktY29udGVudC1jZW50ZXIgYWxpZ24taXRlbXMtY2VudGVyIGgtMjI1cHhcIj5cclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxkaXYgY2xhc3M9XCJzaGltbWVyIHB0LTBcIj5cclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8ZGl2IGNsYXNzPVwid3JhcHBlclwiPlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8ZGl2IGNsYXNzPVwic3Ryb2tlIGFuaW1hdGUgdGl0bGVcIj48L2Rpdj5cclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGRpdiBjbGFzcz1cInN0cm9rZSBhbmltYXRlIGxpbmtcIj48L2Rpdj5cclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGRpdiBjbGFzcz1cInN0cm9rZSBhbmltYXRlIHRpdGxlXCI+PC9kaXY+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxkaXYgY2xhc3M9XCJzdHJva2UgYW5pbWF0ZSBsaW5rXCI+PC9kaXY+XHJcblxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvZGl2PlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgPC9kaXY+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgIDwvZGl2PlxyXG4gICAgICAgICAgICAgICAgICAgICAgICA8ZGl2ICpuZ0lmPVwibWFwbm9EYXRhXCIgIGNsYXNzPVwicm93IHB4LTNcIj5cclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxkaXYgY2xhc3M9XCJjb2wtbWQtMTJcIj5cclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8ZGl2ICpuZ0lmPVwibm9ybWFsaXplXCIgY2xhc3M9XCJjYXJkLWJvZHkgZC1mbGV4IGp1c3RpZnktY29udGVudC1jZW50ZXIgbWItMTAgYWxpZ24taXRlbXMtY2VudGVyIGZsZXgtY29sdW1uXCI+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxpbWcgY2xhc3M9XCJpbWctbWFwMVwiIHNyYz1cIi4vYXNzZXRzL3RhbmdvL0ljb25zL25vdC1hcHBsaWNhYmxlLnN2Z1wiIGFsdD1cIlwiPlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8ZGl2IGNsYXNzPVwibm9kYXRhLXRpdGxlIG10LTNcIj5EYXRhIE5vdCBGb3VuZDwvZGl2PlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8ZGl2IGNsYXNzPVwibm9kYXRhLXN1YlwiPk5vcm1hbGl6ZWQgZGF0YSBpcyBub3QgYXBwbGljYWJsZTwvZGl2PlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvZGl2PlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxkaXYgKm5nSWY9XCIhbm9ybWFsaXplXCIgY2xhc3M9XCJjYXJkLWJvZHkgZC1mbGV4IGp1c3RpZnktY29udGVudC1jZW50ZXIgYWxpZ24taXRlbXMtY2VudGVyIGZsZXgtY29sdW1uXCI+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxpbWcgY2xhc3M9XCJpbWctbWFwXCIgc3JjPVwiLi9hc3NldHMvdGFuZ28vSWNvbnMvTm9kYXRhMS5zdmdcIiBhbHQ9XCJcIj5cclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGRpdiAgY2xhc3M9XCJub2RhdGEtdGl0bGVcIj5ObyBkYXRhIGZvdW5kPC9kaXY+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxkaXYgY2xhc3M9XCJub2RhdGEtc3ViXCI+VGhlcmUgaXMgbm8gcmVzdWx0IGZvciB0aGlzIFN0b3JlIG1hcDwvZGl2PlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvZGl2PlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgPC9kaXY+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgIDwvZGl2PlxyXG4gICAgICAgICAgICAgICAgICAgICAgICA8L2Rpdj5cclxuICAgICAgICAgICAgPGRpdiAqbmdJZj1cIiFtcGFsb2FkaW5nICYmICFtYXBub0RhdGEgJiYgc3RvcmVJZGFycmF5Py5sZW5ndGggPiAxXCIgY2xhc3M9XCJjYXJkXCI+XHJcbiAgICAgICAgICAgICAgICA8ZGl2ICBjbGFzcz1cImNhcmQtaGVhZGVyIGJvcmRlci0wIHB0LTMgcHMtNyBwZS0wXCI+XHJcbiAgICAgICAgICAgICAgICAgICAgPGgzIGNsYXNzPVwiY2FyZC10aXRsZSBhbGlnbi1pdGVtcy1zdGFydCBmbGV4LWNvbHVtblwiPlxyXG4gICAgICAgICAgICAgICAgICAgICAgICA8c3BhbiBjbGFzcz1cInRpdGxlLXRleHRcIiA+RXhwbG9yZTwvc3Bhbj4gIFxyXG4gICAgICAgICAgICAgICAgICAgIDwvaDM+XHJcbiAgICAgICAgICAgICAgICAgICAgPGRpdiBjbGFzcz1cImNhcmQtdG9vbGJhciBtdC0wXCI+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgXHJcbiAgICAgICAgICAgICAgICAgICAgICAgIDxidXR0b24gKm5nSWY9XCIhbXBhbG9hZGluZyAmJiAhbWFwbm9EYXRhXCIgdHlwZT1cImJ1dHRvblwiIChjbGljayk9XCJleHBvcmVWaWV3KClcIlxyXG4gICAgICAgICAgICAgICAgICAgICAgICBjbGFzcz1cImJ0biBtZS04IGJ0bi1saWdodC1wcmltYXJ5MSByb3VuZGVkLTMgdGV4dC1ub3dyYXAgYm9yZGVyLXZhbFwiPlxyXG4gICAgICAgICAgICAgICAgICAgICAgICA8c3BhbiBjbGFzcz1cIm1zLTJcIj5FeHBsb3JlPC9zcGFuPlxyXG4gICAgICAgICAgICAgICAgICAgIDwvYnV0dG9uPlxyXG4gICAgICAgICAgICAgICAgICAgIDwvZGl2PlxyXG4gICAgICAgICAgICBcclxuICAgICAgICAgICAgICAgIDwvZGl2PlxyXG4gICAgICAgICAgICAgIFxyXG4gICAgICAgICAgICAgICAgPGRpdiAqbmdJZj1cIiFtYXBub0RhdGFcIiBjbGFzcz1cImNhcmQtYm9keSBjb2wtbWQtMTIgcHQtMCBwYi01IHBzLTdcIj5cclxuICAgICAgICAgICAgICAgICAgPGRpdiBpZD1cIm1hcFwiIGNsYXNzPVwidy0xMDBcIiA+PC9kaXY+XHJcbiAgICAgICAgICAgICAgICAgIDwvZGl2PlxyXG4gICAgICAgICAgICA8L2Rpdj5cclxuICAgICAgICAgICAgPGRpdiAqbmdJZj1cInN0b3JlSWRhcnJheT8ubGVuZ3RoID09PSAxXCIgY2xhc3M9XCJjYXJkIHBiLTJcIj5cclxuICAgICAgICAgICAgICAgIDxkaXYgY2xhc3M9XCJjYXJkLWhlYWRlciBib3JkZXItMCBwdC0zIHBzLTUgcGUtMFwiPlxyXG4gICAgICAgICAgICAgICAgICAgIDxoMyBjbGFzcz1cImNhcmQtdGl0bGUgYWxpZ24taXRlbXMtc3RhcnQgZmxleC1jb2x1bW5cIj5cclxuICAgICAgICAgICAgICAgICAgICAgICAgPHNwYW4gY2xhc3M9XCJ0aXRsZS10ZXh0XCI+UmVjYXAgVmlkZW8gXHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICA8c3ZnIHBsYWNlbWVudD1cInJpZ2h0XCJcclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIG5nYlRvb2x0aXA9XCJBIHF1aWNrIHJlY2FwIG9mIHRoZSBzdG9yZSBhY3Rpdml0eSBhbG9uZyB3aXRoIHRoZSBhdmcgdGVjaCBpbmZyYXN0cnVjdHVyZSBkb3dudGltZSBzdGF0dXNcIiB4bWxucz1cImh0dHA6Ly93d3cudzMub3JnLzIwMDAvc3ZnXCIgd2lkdGg9XCIxNlwiIGhlaWdodD1cIjE2XCIgdmlld0JveD1cIjAgMCAxNiAxNlwiIGZpbGw9XCJub25lXCI+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICA8ZyBjbGlwLXBhdGg9XCJ1cmwoI2NsaXAwXzE0MzJfODAwMzUpXCI+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICA8cGF0aCBkPVwiTTguMDAwNjUgMTAuNjY2NlY3Ljk5OTkyTTguMDAwNjUgNS4zMzMyNUg4LjAwNzMyTTE0LjY2NzMgNy45OTk5MkMxNC42NjczIDExLjY4MTggMTEuNjgyNiAxNC42NjY2IDguMDAwNjUgMTQuNjY2NkM0LjMxODc1IDE0LjY2NjYgMS4zMzM5OCAxMS42ODE4IDEuMzMzOTggNy45OTk5MkMxLjMzMzk4IDQuMzE4MDIgNC4zMTg3NSAxLjMzMzI1IDguMDAwNjUgMS4zMzMyNUMxMS42ODI2IDEuMzMzMjUgMTQuNjY3MyA0LjMxODAyIDE0LjY2NzMgNy45OTk5MlpcIiBzdHJva2U9XCIjNjY3MDg1XCIgc3Ryb2tlLXdpZHRoPVwiMlwiIHN0cm9rZS1saW5lY2FwPVwicm91bmRcIiBzdHJva2UtbGluZWpvaW49XCJyb3VuZFwiLz5cclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvZz5cclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxkZWZzPlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgPGNsaXBQYXRoIGlkPVwiY2xpcDBfMTQzMl84MDAzNVwiPlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgPHJlY3Qgd2lkdGg9XCIxNlwiIGhlaWdodD1cIjE2XCIgZmlsbD1cIndoaXRlXCIvPlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgPC9jbGlwUGF0aD5cclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvZGVmcz5cclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvc3ZnPlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICBcclxuICAgICAgICAgICAgICAgICAgICAgICBcclxuICAgICAgICAgICAgICAgICAgICAgICAgPC9zcGFuPlxyXG4gICAgICAgICAgICAgICAgICAgICAgXHJcbiAgICAgICAgICAgICAgICAgICAgICAgIDxzcGFuIGNsYXNzPVwidGV4dC1zdWIgbWItMlwiPkRhdGVkOiB7e2hlYWRlckRhdGE/LmRhdGU/LmVuZERhdGUgfCBkYXRlOicgZGQgTU1NLHl5eXknfX08L3NwYW4+XHJcbiAgICAgICAgICAgICAgICAgICAgPC9oMz5cclxuICAgICAgICAgICAgICAgICAgICA8ZGl2IGNsYXNzPVwiY2FyZC10b29sYmFyIG10LTBcIj5cclxuICAgICAgICAgICAgICAgICAgICAgICAgPGJ1dHRvbiB0eXBlPVwiYnV0dG9uXCIgXHJcbiAgICAgICAgICAgICAgICAgICAgICAgIGNsYXNzPVwiYnRuIGJ0bi1kZWZhdWx0IGJ0bi1vdXRsaW5lIGJ0bi1vdXRsaW5lLWRlZmF1bHQgcm91bmRlZC0zIHRleHQtbm93cmFwIGJvcmRlci12YWwgdGV4dC1zdGFydCBkaXNhYmxlZC1idXR0b25cIj5cclxuICAgICAgICAgICAgICAgICAgICAgICAgPHN2ZyB4bWxucz1cImh0dHA6Ly93d3cudzMub3JnLzIwMDAvc3ZnXCIgd2lkdGg9XCIxNlwiIGhlaWdodD1cIjE0XCIgdmlld0JveD1cIjAgMCAxNiAxNFwiIGZpbGw9XCJub25lXCI+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICA8ZyBpZD1cIkdyb3VwXCI+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICA8cGF0aCBpZD1cIlZlY3RvclwiIGQ9XCJNOS41MTk1MyAwLjMzMzk4NEMxMC4zOTU4IDAuMzMzOTg0IDExLjIzMzEgMC41MTM0NzcgMTEuOTk3NCAwLjgzODk3NEMxMi43OTA0IDEuMTc2NTMgMTMuNTAzOSAxLjY3MjE0IDE0LjEwMTYgMi4yODY5N0MxNC42OTc5IDIuOTAwNDYgMTUuMTc5NyAzLjYzNDUgMTUuNTA3OCA0LjQ1MjkzQzE1LjgyNDIgNS4yMzkyMiAxNS45OTg3IDYuMTAwNTEgMTUuOTk4NyA3LjAwMDY1QzE1Ljk5ODcgNy45MDIxMyAxNS44MjQyIDguNzYzNDMgMTUuNTA3OCA5LjU0OTcxQzE1LjE3OTcgMTAuMzY1NSAxNC42OTc5IDExLjA5OTUgMTQuMTAwMyAxMS43MTQzQzEzLjUwMzkgMTIuMzI3OCAxMi43OTA0IDEyLjgyMzQgMTEuOTk0OCAxMy4xNjFDMTEuMjMwNSAxMy40ODY1IDEwLjM5MzIgMTMuNjY2IDkuNTE4MjMgMTMuNjY2QzguNjQxOTMgMTMuNjY2IDcuODA0NjkgMTMuNDg2NSA3LjA0MDM2IDEzLjE2MUM2LjI0NzQgMTIuODIzNCA1LjUzMzg1IDEyLjMyNzggNC45Mzc1IDExLjcxNDNMNC45MzYyIDExLjcxM0M0LjMzODU0IDExLjA5ODIgMy44NTgwNyAxMC4zNjQxIDMuNTI5OTUgOS41NDk3MUMzLjQyODM5IDkuMjk2NTUgMy4zNDExNSA5LjAzNjY4IDMuMjY5NTMgOC43NzAxM0MzLjQwNDk1IDguNzgzNTIgMy41NDI5NyA4Ljc5MDIyIDMuNjgyMjkgOC43OTAyMkMzLjk0NjYxIDguNzkwMjIgNC4yMDQ0MyA4Ljc2NjExIDQuNDU1NzMgOC43MTkyMkM0LjQ5NzQgOC44NDc4MiA0LjU0Mjk3IDguOTc1MDcgNC41OTI0NSA5LjA5OTY0QzQuODYxOTggOS43NjkzOSA1LjI1NzgxIDEwLjM3MjIgNS43NSAxMC44Nzg1QzYuMjQyMTkgMTEuMzg0OCA2LjgyOTQzIDExLjc5MiA3LjQ3OTE3IDEyLjA2OTNDOC4xMDU0NyAxMi4zMzU5IDguNzk0MjcgMTIuNDg0NSA5LjUxODIzIDEyLjQ4NDVDMTAuMjQyMiAxMi40ODQ1IDEwLjkyOTcgMTIuMzM3MiAxMS41NTczIDEyLjA2OTNDMTIuMjA4MyAxMS43OTIgMTIuNzk0MyAxMS4zODQ4IDEzLjI4NjUgMTAuODc4NUMxMy43Nzg2IDEwLjM3MjIgMTQuMTc0NSA5Ljc2ODA1IDE0LjQ0NCA5LjA5OTY0QzE0LjcwMzEgOC40NTUzNCAxNC44NDc3IDcuNzQ2NzUgMTQuODQ3NyA3LjAwMTk5QzE0Ljg0NzcgNi4yNTcyMyAxNC43MDQ0IDUuNTQ5OTggMTQuNDQ0IDQuOTA0MzRDMTQuMTc0NSA0LjIzNDU5IDEzLjc3ODYgMy42MzE4MiAxMy4yODY1IDMuMTI1NDlDMTIuNzk0MyAyLjYxOTE2IDEyLjIwNyAyLjIxMTk2IDExLjU1NzMgMS45MzQ2OEMxMC45MzEgMS42NjgxMiAxMC4yNDIyIDEuNTE5NDQgOS41MTgyMyAxLjUxOTQ0QzguNzk0MjcgMS41MTk0NCA4LjEwNjc3IDEuNjY2NzggNy40NzkxNyAxLjkzNDY4QzcuNDIzMTggMS45NTg3OSA3LjM2NzE5IDEuOTg0MjQgNy4zMTI1IDIuMDA5NjlDNy4wOTg5NiAxLjY2NDEgNi44NDExNSAxLjM1MDY2IDYuNTQ1NTcgMS4wNzg3NEM2LjcwNzAzIDAuOTkzMDE2IDYuODcyNCAwLjkxMzk4NiA3LjA0MDM2IDAuODQxNjUzQzcuODA3MjkgMC41MTM0NzcgOC42NDMyMyAwLjMzMzk4NCA5LjUxOTUzIDAuMzMzOTg0Wk04Ljc3NjA0IDMuODMxNDFDOC43NzYwNCAzLjY2Nzk5IDguODQxMTUgMy41MjA2NCA4Ljk0NDAxIDMuNDEzNDhDOS4wNDgxOCAzLjMwNjMyIDkuMTkxNDEgMy4yNDA2OSA5LjM1MDI2IDMuMjQwNjlDOS41MDkxMSAzLjI0MDY5IDkuNjUyMzQgMy4zMDYzMiA5Ljc1NjUxIDMuNDEzNDhDOS44NjA2OCAzLjUyMDY0IDkuOTI0NDggMy42Njc5OSA5LjkyNDQ4IDMuODMxNDFWNi45NDE3MUwxMi4xODM2IDguMzIwMDVDMTIuMzE5IDguNDAzMSAxMi40MTAyIDguNTM1NzEgMTIuNDQ2NiA4LjY4MTcyQzEyLjQ4MzEgOC44Mjc3MiAxMi40NjYxIDguOTg4NDYgMTIuMzg1NCA5LjEyNzc3VjkuMTI5MTFDMTIuMzA0NyA5LjI2ODQyIDEyLjE3NTggOS4zNjIxOCAxMi4wMzM5IDkuMzk5NjlDMTEuODkxOSA5LjQzNzE5IDExLjczNTcgOS40MTk3OCAxMS42MDAzIDkuMzM2NzNIMTEuNTk5TDkuMDcxNjEgNy43OTQ5N0M4Ljk4NDM4IDcuNzQ1NDEgOC45MTI3NiA3LjY3MzA4IDguODYwNjggNy41ODczNUM4LjgwNzI5IDcuNDk3NiA4Ljc3NjA0IDcuMzkxNzggOC43NzYwNCA3LjI3OTI3VjMuODMxNDFaXCIgZmlsbD1cIiM2NjcwODVcIi8+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICA8cGF0aCBpZD1cIlZlY3Rvcl8yXCIgZmlsbC1ydWxlPVwiZXZlbm9kZFwiIGNsaXAtcnVsZT1cImV2ZW5vZGRcIiBkPVwiTTMuNTEzMDIgMC42ODc2MjJDNS40NTMxMiAwLjY4NzYyMiA3LjAyNjA0IDIuMzA1NzMgNy4wMjYwNCA0LjMwMTU4QzcuMDI2MDQgNi4yOTc0MyA1LjQ1MzEyIDcuOTE1NTQgMy41MTMwMiA3LjkxNTU0QzEuNTcyOTIgNy45MTU1NCAwIDYuMjk3NDMgMCA0LjMwMTU4QzAgMi4zMDU3MyAxLjU3MjkyIDAuNjg3NjIyIDMuNTEzMDIgMC42ODc2MjJaTTMuNTEzMDIgNi4zNzM3OEw1LjM5ODQ0IDMuOTc2MDhINC4yMjc4NlYyLjcwMDg4SDIuNzk4MThWMy45NzYwOEgxLjYyNzZMMy41MTMwMiA2LjM3Mzc4WlwiIGZpbGw9XCIjRjA0NDM4XCIvPlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgPC9nPlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgPC9zdmc+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgIDxzcGFuIGNsYXNzPVwibXMtMlwiPnt7Z2V0UmVjYXBWaWRlb0RhdGE/LmRvd25UaW1lID8/ICctLSd9fSBNaW5zPC9zcGFuPlxyXG4gICAgICAgICAgICAgICAgICAgIDwvYnV0dG9uPlxyXG4gICAgICAgICAgICAgICAgICAgIDxidXR0b24gdHlwZT1cImJ1dHRvblwiIFxyXG4gICAgICAgICAgICAgICAgICAgICAgICBjbGFzcz1cImJ0biBidG4tZGVmYXVsdCBteC0yIGJ0bi1vdXRsaW5lIGJ0bi1vdXRsaW5lLWRlZmF1bHQgcm91bmRlZC0zIHRleHQtbm93cmFwIGJvcmRlci12YWwgZGlzYWJsZWQtYnV0dG9uXCI+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgIDxzdmcgKm5nSWY9XCJnZXRSZWNhcFZpZGVvRGF0YT8uaGVhbHRoID09PSdHT09EJ1wiIHhtbG5zPVwiaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmdcIiB3aWR0aD1cIjIwXCIgaGVpZ2h0PVwiMjBcIiB2aWV3Qm94PVwiMCAwIDIwIDIwXCIgZmlsbD1cIm5vbmVcIj5cclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxnIGlkPVwiRnJhbWVcIj5cclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxwYXRoIGlkPVwiVmVjdG9yXCIgZD1cIk0xMy40MzQ5IDIuNUMxNC44MjM4IDIuNSAxNS45ODcxIDMuMDEzODkgMTYuOTI0OSA0LjA0MTY3QzE3Ljg2MjcgNS4wNjk0NCAxOC4zMzEzIDYuMjkxNjcgMTguMzMwNyA3LjcwODMzQzE4LjMzMDcgNy45NTgzMyAxOC4zMTY4IDguMjA1IDE4LjI4OTEgOC40NDgzM0MxOC4yNjEzIDguNjkxNjcgMTguMjEyNyA4LjkzMTExIDE4LjE0MzIgOS4xNjY2N0gxMi45MzQ5TDExLjUxODIgNy4wNDE2N0MxMS40NDg4IDYuOTMwNTYgMTEuMzUxNiA2Ljg0MDI4IDExLjIyNjYgNi43NzA4M0MxMS4xMDE2IDYuNzAxMzkgMTAuOTY5NiA2LjY2NjY3IDEwLjgzMDcgNi42NjY2N0MxMC42NTAyIDYuNjY2NjcgMTAuNDg2OCA2LjcyMjIyIDEwLjM0MDcgNi44MzMzM0MxMC4xOTQ2IDYuOTQ0NDQgMTAuMDk0MSA3LjA4MzMzIDEwLjAzOTEgNy4yNUw4LjkxNDA2IDEwLjYyNUw4LjE4NDkgOS41NDE2N0M4LjExNTQ1IDkuNDMwNTYgOC4wMTgyMyA5LjM0MDI4IDcuODkzMjMgOS4yNzA4M0M3Ljc2ODIzIDkuMjAxMzkgNy42MzYyOCA5LjE2NjY3IDcuNDk3NCA5LjE2NjY3SDEuODUxNTZDMS43ODIxMiA4LjkzMDU2IDEuNzMzNTEgOC42OTA4MyAxLjcwNTczIDguNDQ3NUMxLjY3Nzk1IDguMjA0MTcgMS42NjQwNiA3Ljk2NDcyIDEuNjY0MDYgNy43MjkxN0MxLjY2NDA2IDYuMjk4NjEgMi4xMjkzNCA1LjA2OTQ0IDMuMDU5OSA0LjA0MTY3QzMuOTkwNDUgMy4wMTM4OSA1LjE1MDE3IDIuNSA2LjUzOTA2IDIuNUM3LjIwNTczIDIuNSA3LjgzNDM0IDIuNjMxOTQgOC40MjQ5IDIuODk1ODNDOS4wMTU0NSAzLjE1OTcyIDkuNTM5NjIgMy41Mjc3OCA5Ljk5NzQgNEMxMC40NDE4IDMuNTI3NzggMTAuOTU5MyAzLjE1OTcyIDExLjU0OTkgMi44OTU4M0MxMi4xNDA1IDIuNjMxOTQgMTIuNzY4OCAyLjUgMTMuNDM0OSAyLjVaTTkuOTk3NCAxNy41QzkuNzQ3NCAxNy41IDkuNTA3NjcgMTcuNDU0NyA5LjI3ODIzIDE3LjM2NDJDOS4wNDg3OCAxNy4yNzM2IDguODQ0MDYgMTcuMTM4MyA4LjY2NDA2IDE2Ljk1ODNMMy4wODA3MyAxMS4zNTQyQzIuOTk3NCAxMS4yNzA4IDIuOTIxMDEgMTEuMTg3NSAyLjg1MTU2IDExLjEwNDJDMi43ODIxMiAxMS4wMjA4IDIuNzEyNjcgMTAuOTMwNiAyLjY0MzIzIDEwLjgzMzNINy4wMzkwNkw4LjQ1NTczIDEyLjk1ODNDOC41MjUxNyAxMy4wNjk0IDguNjIyNCAxMy4xNTk3IDguNzQ3NCAxMy4yMjkyQzguODcyNCAxMy4yOTg2IDkuMDA0MzQgMTMuMzMzMyA5LjE0MzIzIDEzLjMzMzNDOS4zMjM3OCAxMy4zMzMzIDkuNDkwNDUgMTMuMjc3OCA5LjY0MzIzIDEzLjE2NjdDOS43OTYwMSAxMy4wNTU2IDkuOTAwMTcgMTIuOTE2NyA5Ljk1NTczIDEyLjc1TDExLjA4MDcgOS4zNzVMMTEuNzg5MSAxMC40NTgzQzExLjg3MjQgMTAuNTY5NCAxMS45NzY2IDEwLjY1OTcgMTIuMTAxNiAxMC43MjkyQzEyLjIyNjYgMTAuNzk4NiAxMi4zNTg1IDEwLjgzMzMgMTIuNDk3NCAxMC44MzMzSDE3LjMzMDdMMTcuMTIyNCAxMS4wODMzTDE2LjkxNDEgMTEuMzMzM0wxMS4zMDk5IDE2Ljk1ODNDMTEuMTI5MyAxNy4xMzg5IDEwLjkyOCAxNy4yNzQ0IDEwLjcwNTcgMTcuMzY1QzEwLjQ4MzUgMTcuNDU1NiAxMC4yNDc0IDE3LjUwMDYgOS45OTc0IDE3LjVaXCIgZmlsbD1cIiMxMkI3NkFcIi8+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICA8L2c+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICA8L3N2Zz5cclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxzdmcgKm5nSWY9XCJnZXRSZWNhcFZpZGVvRGF0YT8uaGVhbHRoID09PSdBVkVSQUdFJ1wiIHhtbG5zPVwiaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmdcIiB3aWR0aD1cIjIwXCIgaGVpZ2h0PVwiMjBcIiB2aWV3Qm94PVwiMCAwIDIwIDIwXCIgZmlsbD1cIm5vbmVcIj5cclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8ZyBpZD1cIkZyYW1lXCI+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPHBhdGggaWQ9XCJWZWN0b3JcIiBkPVwiTTEzLjQzNDkgMi41QzE0LjgyMzggMi41IDE1Ljk4NzEgMy4wMTM4OSAxNi45MjQ5IDQuMDQxNjdDMTcuODYyNyA1LjA2OTQ0IDE4LjMzMTMgNi4yOTE2NyAxOC4zMzA3IDcuNzA4MzNDMTguMzMwNyA3Ljk1ODMzIDE4LjMxNjggOC4yMDUgMTguMjg5MSA4LjQ0ODMzQzE4LjI2MTMgOC42OTE2NyAxOC4yMTI3IDguOTMxMTEgMTguMTQzMiA5LjE2NjY3SDEyLjkzNDlMMTEuNTE4MiA3LjA0MTY3QzExLjQ0ODggNi45MzA1NiAxMS4zNTE2IDYuODQwMjggMTEuMjI2NiA2Ljc3MDgzQzExLjEwMTYgNi43MDEzOSAxMC45Njk2IDYuNjY2NjcgMTAuODMwNyA2LjY2NjY3QzEwLjY1MDIgNi42NjY2NyAxMC40ODY4IDYuNzIyMjIgMTAuMzQwNyA2LjgzMzMzQzEwLjE5NDYgNi45NDQ0NCAxMC4wOTQxIDcuMDgzMzMgMTAuMDM5MSA3LjI1TDguOTE0MDYgMTAuNjI1TDguMTg0OSA5LjU0MTY3QzguMTE1NDUgOS40MzA1NiA4LjAxODIzIDkuMzQwMjggNy44OTMyMyA5LjI3MDgzQzcuNzY4MjMgOS4yMDEzOSA3LjYzNjI4IDkuMTY2NjcgNy40OTc0IDkuMTY2NjdIMS44NTE1NkMxLjc4MjEyIDguOTMwNTYgMS43MzM1MSA4LjY5MDgzIDEuNzA1NzMgOC40NDc1QzEuNjc3OTUgOC4yMDQxNyAxLjY2NDA2IDcuOTY0NzIgMS42NjQwNiA3LjcyOTE3QzEuNjY0MDYgNi4yOTg2MSAyLjEyOTM0IDUuMDY5NDQgMy4wNTk5IDQuMDQxNjdDMy45OTA0NSAzLjAxMzg5IDUuMTUwMTcgMi41IDYuNTM5MDYgMi41QzcuMjA1NzMgMi41IDcuODM0MzQgMi42MzE5NCA4LjQyNDkgMi44OTU4M0M5LjAxNTQ1IDMuMTU5NzIgOS41Mzk2MiAzLjUyNzc4IDkuOTk3NCA0QzEwLjQ0MTggMy41Mjc3OCAxMC45NTkzIDMuMTU5NzIgMTEuNTQ5OSAyLjg5NTgzQzEyLjE0MDUgMi42MzE5NCAxMi43Njg4IDIuNSAxMy40MzQ5IDIuNVpNOS45OTc0IDE3LjVDOS43NDc0IDE3LjUgOS41MDc2NyAxNy40NTQ3IDkuMjc4MjMgMTcuMzY0MkM5LjA0ODc4IDE3LjI3MzYgOC44NDQwNiAxNy4xMzgzIDguNjY0MDYgMTYuOTU4M0wzLjA4MDczIDExLjM1NDJDMi45OTc0IDExLjI3MDggMi45MjEwMSAxMS4xODc1IDIuODUxNTYgMTEuMTA0MkMyLjc4MjEyIDExLjAyMDggMi43MTI2NyAxMC45MzA2IDIuNjQzMjMgMTAuODMzM0g3LjAzOTA2TDguNDU1NzMgMTIuOTU4M0M4LjUyNTE3IDEzLjA2OTQgOC42MjI0IDEzLjE1OTcgOC43NDc0IDEzLjIyOTJDOC44NzI0IDEzLjI5ODYgOS4wMDQzNCAxMy4zMzMzIDkuMTQzMjMgMTMuMzMzM0M5LjMyMzc4IDEzLjMzMzMgOS40OTA0NSAxMy4yNzc4IDkuNjQzMjMgMTMuMTY2N0M5Ljc5NjAxIDEzLjA1NTYgOS45MDAxNyAxMi45MTY3IDkuOTU1NzMgMTIuNzVMMTEuMDgwNyA5LjM3NUwxMS43ODkxIDEwLjQ1ODNDMTEuODcyNCAxMC41Njk0IDExLjk3NjYgMTAuNjU5NyAxMi4xMDE2IDEwLjcyOTJDMTIuMjI2NiAxMC43OTg2IDEyLjM1ODUgMTAuODMzMyAxMi40OTc0IDEwLjgzMzNIMTcuMzMwN0wxNy4xMjI0IDExLjA4MzNMMTYuOTE0MSAxMS4zMzMzTDExLjMwOTkgMTYuOTU4M0MxMS4xMjkzIDE3LjEzODkgMTAuOTI4IDE3LjI3NDQgMTAuNzA1NyAxNy4zNjVDMTAuNDgzNSAxNy40NTU2IDEwLjI0NzQgMTcuNTAwNiA5Ljk5NzQgMTcuNVpcIiBmaWxsPVwiI0ZBQ0MxNVwiLz5cclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8L2c+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPC9zdmc+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPHN2ZyAqbmdJZj1cImdldFJlY2FwVmlkZW9EYXRhPy5oZWFsdGggPT09J0JBRCdcIiB4bWxucz1cImh0dHA6Ly93d3cudzMub3JnLzIwMDAvc3ZnXCIgd2lkdGg9XCIyMFwiIGhlaWdodD1cIjIwXCIgdmlld0JveD1cIjAgMCAyMCAyMFwiIGZpbGw9XCJub25lXCI+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxnIGlkPVwiRnJhbWVcIj5cclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPHBhdGggaWQ9XCJWZWN0b3JcIiBkPVwiTTEzLjQzNDkgMi41QzE0LjgyMzggMi41IDE1Ljk4NzEgMy4wMTM4OSAxNi45MjQ5IDQuMDQxNjdDMTcuODYyNyA1LjA2OTQ0IDE4LjMzMTMgNi4yOTE2NyAxOC4zMzA3IDcuNzA4MzNDMTguMzMwNyA3Ljk1ODMzIDE4LjMxNjggOC4yMDUgMTguMjg5MSA4LjQ0ODMzQzE4LjI2MTMgOC42OTE2NyAxOC4yMTI3IDguOTMxMTEgMTguMTQzMiA5LjE2NjY3SDEyLjkzNDlMMTEuNTE4MiA3LjA0MTY3QzExLjQ0ODggNi45MzA1NiAxMS4zNTE2IDYuODQwMjggMTEuMjI2NiA2Ljc3MDgzQzExLjEwMTYgNi43MDEzOSAxMC45Njk2IDYuNjY2NjcgMTAuODMwNyA2LjY2NjY3QzEwLjY1MDIgNi42NjY2NyAxMC40ODY4IDYuNzIyMjIgMTAuMzQwNyA2LjgzMzMzQzEwLjE5NDYgNi45NDQ0NCAxMC4wOTQxIDcuMDgzMzMgMTAuMDM5MSA3LjI1TDguOTE0MDYgMTAuNjI1TDguMTg0OSA5LjU0MTY3QzguMTE1NDUgOS40MzA1NiA4LjAxODIzIDkuMzQwMjggNy44OTMyMyA5LjI3MDgzQzcuNzY4MjMgOS4yMDEzOSA3LjYzNjI4IDkuMTY2NjcgNy40OTc0IDkuMTY2NjdIMS44NTE1NkMxLjc4MjEyIDguOTMwNTYgMS43MzM1MSA4LjY5MDgzIDEuNzA1NzMgOC40NDc1QzEuNjc3OTUgOC4yMDQxNyAxLjY2NDA2IDcuOTY0NzIgMS42NjQwNiA3LjcyOTE3QzEuNjY0MDYgNi4yOTg2MSAyLjEyOTM0IDUuMDY5NDQgMy4wNTk5IDQuMDQxNjdDMy45OTA0NSAzLjAxMzg5IDUuMTUwMTcgMi41IDYuNTM5MDYgMi41QzcuMjA1NzMgMi41IDcuODM0MzQgMi42MzE5NCA4LjQyNDkgMi44OTU4M0M5LjAxNTQ1IDMuMTU5NzIgOS41Mzk2MiAzLjUyNzc4IDkuOTk3NCA0QzEwLjQ0MTggMy41Mjc3OCAxMC45NTkzIDMuMTU5NzIgMTEuNTQ5OSAyLjg5NTgzQzEyLjE0MDUgMi42MzE5NCAxMi43Njg4IDIuNSAxMy40MzQ5IDIuNVpNOS45OTc0IDE3LjVDOS43NDc0IDE3LjUgOS41MDc2NyAxNy40NTQ3IDkuMjc4MjMgMTcuMzY0MkM5LjA0ODc4IDE3LjI3MzYgOC44NDQwNiAxNy4xMzgzIDguNjY0MDYgMTYuOTU4M0wzLjA4MDczIDExLjM1NDJDMi45OTc0IDExLjI3MDggMi45MjEwMSAxMS4xODc1IDIuODUxNTYgMTEuMTA0MkMyLjc4MjEyIDExLjAyMDggMi43MTI2NyAxMC45MzA2IDIuNjQzMjMgMTAuODMzM0g3LjAzOTA2TDguNDU1NzMgMTIuOTU4M0M4LjUyNTE3IDEzLjA2OTQgOC42MjI0IDEzLjE1OTcgOC43NDc0IDEzLjIyOTJDOC44NzI0IDEzLjI5ODYgOS4wMDQzNCAxMy4zMzMzIDkuMTQzMjMgMTMuMzMzM0M5LjMyMzc4IDEzLjMzMzMgOS40OTA0NSAxMy4yNzc4IDkuNjQzMjMgMTMuMTY2N0M5Ljc5NjAxIDEzLjA1NTYgOS45MDAxNyAxMi45MTY3IDkuOTU1NzMgMTIuNzVMMTEuMDgwNyA5LjM3NUwxMS43ODkxIDEwLjQ1ODNDMTEuODcyNCAxMC41Njk0IDExLjk3NjYgMTAuNjU5NyAxMi4xMDE2IDEwLjcyOTJDMTIuMjI2NiAxMC43OTg2IDEyLjM1ODUgMTAuODMzMyAxMi40OTc0IDEwLjgzMzNIMTcuMzMwN0wxNy4xMjI0IDExLjA4MzNMMTYuOTE0MSAxMS4zMzMzTDExLjMwOTkgMTYuOTU4M0MxMS4xMjkzIDE3LjEzODkgMTAuOTI4IDE3LjI3NDQgMTAuNzA1NyAxNy4zNjVDMTAuNDgzNSAxNy40NTU2IDEwLjI0NzQgMTcuNTAwNiA5Ljk5NzQgMTcuNVpcIiBmaWxsPVwiI0YwNDQzOFwiLz5cclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPC9nPlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8L3N2Zz5cclxuICAgICAgICAgICAgICAgICAgICAgICAgPHNwYW4gY2xhc3M9XCJtcy0yXCI+e3tnZXRSZWNhcFZpZGVvRGF0YT8uaGVhbHRoID8/ICctLSd9fTwvc3Bhbj5cclxuICAgICAgICAgICAgICAgICAgICA8L2J1dHRvbj5cclxuICAgICAgICAgICAgICAgICAgICAgICAgPCEtLSA8YnV0dG9uIHR5cGU9XCJidXR0b25cIiAoY2xpY2spPVwiY2FtZXJhVmlldygpXCJcclxuICAgICAgICAgICAgICAgICAgICAgICAgY2xhc3M9XCJidG4gbXgtMiBidG4tbGlnaHQtcHJpbWFyeTEgcm91bmRlZC0zIHRleHQtbm93cmFwIGJvcmRlci12YWxcIj5cclxuICAgICAgICAgICAgICAgICAgICAgICAgPHNwYW4gY2xhc3M9XCJtcy0yXCI+TGl2ZSBWaWV3PC9zcGFuPlxyXG4gICAgICAgICAgICAgICAgICAgIDwvYnV0dG9uPiAtLT5cclxuICAgICAgICAgICAgICAgICAgICA8L2Rpdj5cclxuICAgICAgICAgICAgXHJcbiAgICAgICAgICAgICAgICA8L2Rpdj5cclxuICAgICAgICAgICAgICAgIDxkaXYgKm5nSWY9XCJyZWNhcGxhb2RpbmdcIiBjbGFzcz1cInJvdyBsb2FkZXIgZC1mbGV4IGp1c3RpZnktY29udGVudC1jZW50ZXIgYWxpZ24taXRlbXMtY2VudGVyIGgtMjI1cHhcIj5cclxuICAgICAgICAgICAgICAgICAgICA8ZGl2IGNsYXNzPVwic2hpbW1lciBwdC0wXCI+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgIDxkaXYgY2xhc3M9XCJ3cmFwcGVyXCI+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICA8ZGl2IGNsYXNzPVwic3Ryb2tlIGFuaW1hdGUgdGl0bGVcIj48L2Rpdj5cclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxkaXYgY2xhc3M9XCJzdHJva2UgYW5pbWF0ZSBsaW5rXCI+PC9kaXY+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICA8ZGl2IGNsYXNzPVwic3Ryb2tlIGFuaW1hdGUgdGl0bGVcIj48L2Rpdj5cclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxkaXYgY2xhc3M9XCJzdHJva2UgYW5pbWF0ZSBsaW5rXCI+PC9kaXY+XHJcblxyXG4gICAgICAgICAgICAgICAgICAgICAgICA8L2Rpdj5cclxuICAgICAgICAgICAgICAgICAgICA8L2Rpdj5cclxuICAgICAgICAgICAgICAgIDwvZGl2PlxyXG4gICAgICAgICAgICAgICAgPGRpdiAqbmdJZj1cInJlY2Fwbm9EYXRhXCIgIGNsYXNzPVwicm93IHB4LTNcIj5cclxuICAgICAgICAgICAgICAgICAgICA8ZGl2IGNsYXNzPVwiY29sLW1kLTEyXCI+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgIDxkaXYgKm5nSWY9XCJub3JtYWxpemVcIiBjbGFzcz1cImNhcmQtYm9keSBkLWZsZXgganVzdGlmeS1jb250ZW50LWNlbnRlciBtYi0xMCBhbGlnbi1pdGVtcy1jZW50ZXIgZmxleC1jb2x1bW5cIj5cclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxpbWcgY2xhc3M9XCJpbWctbWFwMVwiIHNyYz1cIi4vYXNzZXRzL3RhbmdvL0ljb25zL25vdC1hcHBsaWNhYmxlLnN2Z1wiIGFsdD1cIlwiPlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgPGRpdiBjbGFzcz1cIm5vZGF0YS10aXRsZSBtdC0zXCI+RGF0YSBOb3QgRm91bmQ8L2Rpdj5cclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxkaXYgY2xhc3M9XCJub2RhdGEtc3ViXCI+Tm9ybWFsaXplZCBkYXRhIGlzIG5vdCBhcHBsaWNhYmxlPC9kaXY+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgIDwvZGl2PlxyXG4gICAgICAgICAgICAgICAgICAgICAgICA8ZGl2ICpuZ0lmPVwiIW5vcm1hbGl6ZVwiIGNsYXNzPVwiY2FyZC1ib2R5IGQtZmxleCBqdXN0aWZ5LWNvbnRlbnQtY2VudGVyIGFsaWduLWl0ZW1zLWNlbnRlciBmbGV4LWNvbHVtblwiPlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgPGltZyBjbGFzcz1cImltZy1tYXAtcmVjYXBcIiBzcmM9XCIuL2Fzc2V0cy90YW5nby9JY29ucy9Ob2RhdGExLnN2Z1wiIGFsdD1cIlwiPlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgPGRpdiBjbGFzcz1cIm5vZGF0YS10aXRsZVwiPk5vIGRhdGEgZm91bmQ8L2Rpdj5cclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxkaXYgY2xhc3M9XCJub2RhdGEtc3ViXCI+VGhlcmUgaXMgbm8gcmVzdWx0IGZvciB0aGlzIFJlY2FwIHZpZGVvPC9kaXY+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgIDwvZGl2PlxyXG4gICAgICAgICAgICAgICAgICAgIDwvZGl2PlxyXG4gICAgICAgICAgICAgICAgPC9kaXY+XHJcbiAgICAgICAgICAgICAgICA8ZGl2ICpuZ0lmPVwiIXJlY2FwbGFvZGluZyAmJiAhcmVjYXBub0RhdGFcIiBjbGFzcz1cImNhcmQtYm9keSBwLTBcIj5cclxuICAgICAgICAgICAgICAgICAgICA8ZGl2IGNsYXNzPVwicm93IG14LTNcIj5cclxuICAgICAgICAgICAgICAgIFxyXG4gICAgICAgICAgICAgICAgICAgICAgICA8ZGl2IGNsYXNzPVwiY2Fyb3VzZWxcIj5cclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxkaXYgY2xhc3M9XCJjYXJvdXNlbC1pbm5lclwiPlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8ZGl2XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgY2xhc3M9XCJjYXJvdXNlbC1pdGVtXCJcclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAqbmdGb3I9XCJsZXQgZ3JvdXAgb2YgcmVjYXBzR3JvdXBlZDsgbGV0IGkgPSBpbmRleFwiXHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgW2NsYXNzLmFjdGl2ZV09XCJpID09PSBjdXJyZW50SW5kZXhcIlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICA+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGRpdiBjbGFzcz1cInJvd1wiPlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGRpdiAqbmdGb3I9XCJsZXQgcGFpciBvZiBncm91cFwiIFtuZ0NsYXNzXT1cImNvbFZhbHVlXCI+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxpbWcgW3NyY109XCJwYWlyLnRodW1iSW1hZ2VcIlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIChjbGljayk9XCJ2aWRlb0NsaWNrKHBhaXIpXCJcclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBjbGFzcz1cImltYWdlLXRodW1iIG1iLTggZC1ibG9jayB3LTEwMCBjdXJzb3ItcG9pbnRlclwiXHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgYWx0PVwiSW1hZ2Uge3sgaSArIDEgfX1cIiAvPlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPC9kaXY+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPC9kaXY+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvZGl2PlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgPC9kaXY+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgXHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICA8IS0tIENvbmRpdGlvbmFsbHkgZGlzcGxheSBQcmV2aW91cyBidXR0b24gLS0+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICA8YnV0dG9uIGNsYXNzPVwiY2Fyb3VzZWwtY29udHJvbC1wcmV2XCIgKm5nSWY9XCJjdXJyZW50SW5kZXggPiAwXCIgKGNsaWNrKT1cInByZXZTbGlkZSgpXCI+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxzcGFuIGNsYXNzPVwiY2Fyb3VzZWwtY29udHJvbC1wcmV2LWljb25cIj48L3NwYW4+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICA8L2J1dHRvbj5cclxuICAgICAgICAgICAgICAgICAgICAgICAgICBcclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwhLS0gQ29uZGl0aW9uYWxseSBkaXNwbGF5IE5leHQgYnV0dG9uIC0tPlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgPGJ1dHRvbiBjbGFzcz1cImNhcm91c2VsLWNvbnRyb2wtbmV4dFwiICpuZ0lmPVwiY3VycmVudEluZGV4IDwgcmVjYXBzR3JvdXBlZC5sZW5ndGggLSAxXCIgKGNsaWNrKT1cIm5leHRTbGlkZSgpXCI+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxzcGFuIGNsYXNzPVwiY2Fyb3VzZWwtY29udHJvbC1uZXh0LWljb25cIj48L3NwYW4+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICA8L2J1dHRvbj5cclxuICAgICAgICAgICAgICAgICAgICAgICAgICBcclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwhLS0gTmF2aWdhdGlvbiBEb3RzIC0tPlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgPGRpdiAqbmdJZj1cInJlY2Fwc0dyb3VwZWQubGVuZ3RoID4gMVwiIGNsYXNzPVwicm93XCI+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDx1bCBjbGFzcz1cImNhcm91c2VsLWluZGljYXRvcnNcIj5cclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8bGkgKm5nRm9yPVwibGV0IGdyb3VwIG9mIHJlY2Fwc0dyb3VwZWQ7IGxldCBpID0gaW5kZXhcIlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBbY2xhc3MuYWN0aXZlXT1cImkgPT09IGN1cnJlbnRJbmRleFwiXHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIChjbGljayk9XCJnb1RvU2xpZGUoaSlcIj5cclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8L2xpPlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8L3VsPlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgPC9kaXY+XHJcblxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgIDwvZGl2PlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgIFxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgIFxyXG4gICAgICAgICAgICAgICAgICAgICAgICA8IS0tIDx2aWRlbyBjb250cm9scyBhdXRvcGxheSBjbGFzcz1cInJlY2FwLWltZyBwLTNcIiBbc3JjXT1cImdldFJlY2FwRGF0YT8udmlkZW9VUkxcIj4gLS0+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICA8IS0tIDxzb3VyY2UgIHR5cGU9XCJ2aWRlby9tcDRcIj4gLS0+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICA8IS0tIDxzb3VyY2UgW3NyY109XCJnZXRSZWNhcERhdGE/LnZpZGVvVVJMXCIgdHlwZT1cInZpZGVvL29nZ1wiPiAtLT5cclxuICAgICAgICAgICAgICAgICAgICAgICAgICA8IS0tIDwvdmlkZW8+IC0tPlxyXG4gICAgICAgICAgICAgICAgICAgICAgICA8IS0tIDxkaXYgI21hcENvbnRhaW5lciBzdHlsZT1cImhlaWdodDoyMzBweDtcIj48L2Rpdj4gLS0+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgIDwhLS0gPGRpdiBjbGFzcz1cImNvbC1tZC02IG1iLTNcIj48aW1nIHNyYz1cImFzc2V0cy90YW5nby9JbWFnZXMvcmVjYXAuc3ZnXCIgYWx0PVwiXCIgY2xhc3M9XCJyZWNhcC1pbWdcIj48L2Rpdj5cclxuICAgICAgICAgICAgICAgICAgICAgICAgPGRpdiBjbGFzcz1cImNvbC1tZC02IG1iLTNcIj48aW1nIHNyYz1cImFzc2V0cy90YW5nby9JbWFnZXMvcmVjYXAuc3ZnXCIgYWx0PVwiXCIgY2xhc3M9XCJyZWNhcC1pbWdcIj48L2Rpdj4gLS0+XHJcblxyXG4gICAgICAgICAgICAgICAgICAgIDwvZGl2PlxyXG4gICAgICAgICAgICAgICAgPC9kaXY+XHJcbiAgICAgICAgICAgICAgICA8L2Rpdj5cclxuICAgIFxyXG4gICAgPC9kaXY+XHJcbiAgICA8ZGl2ICBjbGFzcz1cImNvbC1tZC0xMiBtdC0zXCI+XHJcblxyXG4gICAgICAgIDwhLS0gZm9vdGZhbGwgdHJlbmQgY2hhcnRzIC0tPlxyXG4gICAgICAgIDxkaXYgKm5nSWY9XCJzdG9yZUlkYXJyYXlbMF0gIT09JzQ1OS0yJ1wiIGNsYXNzPVwiY2FyZFwiPlxyXG4gICAgICAgICAgICA8ZGl2IGNsYXNzPVwiY2FyZC1oZWFkZXIgYm9yZGVyLTAgcHQtM1wiPlxyXG4gICAgICAgICAgICAgICAgPGgzIGNsYXNzPVwiY2FyZC10aXRsZSBhbGlnbi1pdGVtcy1zdGFydCBmbGV4LWNvbHVtblwiPlxyXG4gICAgICAgICAgICAgICAgICAgIDxzcGFuIGNsYXNzPVwiY2FyZC1sYWJlbDEgbWItMlwiPkZvb3RmYWxsIFRyZW5kPC9zcGFuPlxyXG4gICAgICAgICAgICAgICAgICAgIDxzcGFuIGNsYXNzPVwidGV4dC1zdWIgbWItMlwiPkJhc2VkIG9uIHt7Z2V0RGF0ZVZhbHVlcz8uZnJvbURhdGUgfCBkYXRlOidkZCBNTU0sIHl5eXknfX0g4oCTIHt7Z2V0RGF0ZVZhbHVlcz8udG9EYXRlIHwgZGF0ZTonZGQgTU1NLCB5eXl5J319PC9zcGFuPlxyXG4gICAgICAgICAgICAgICAgPC9oMz5cclxuICAgICAgICAgICAgICAgIDxkaXYgY2xhc3M9XCJjYXJkLXRvb2xiYXIgdGV4dC1ub3dyYXBcIj5cclxuICAgICAgICAgICAgICAgICAgICA8ZGl2IGNsYXNzPVwiZC1mbGV4XCI+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgIDxkaXYgY2xhc3M9XCJkLWZsZXggYWxpZ24taXRlbXMtY2VudGVyIHBvc2l0aW9uLXJlbGF0aXZlIG15LTFcIj5cclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwhLS1iZWdpbjo6TmF2IGdyb3VwLS0+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICA8ZGl2IGNsYXNzPVwibmF2LWdyb3VwIG5hdi1ncm91cC1vdXRsaW5lIGJvcmRlci0xIGJ0bi1ncm91cCBwLTBcIj5cclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8YnV0dG9uIGNsYXNzPVwiYnRuIGJ0bi1vdXRsaW5lIHB4LTYgcHktM1wiXHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIFtuZ0NsYXNzXT1cInR5cGUgPT09ICdkYWlseScgPyAnYWN0aXZlUGxhbkJ0bicgOiAnaW5hY3RpdmVQbGFuQnRuJ1wiXHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIChjbGljayk9XCJzZWxlY3RQbGFuVHJlbmRzKCdkYWlseScpXCI+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIERheVxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvYnV0dG9uPlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwhLS0gTW9udGggQnV0dG9uIC0tPlxyXG4gICAgICAgIFxyXG4gICAgICAgIFxyXG4gICAgICAgIDwhLS0gV2VlayBCdXR0b24gLS0+XHJcbiAgICAgICAgPGJ1dHRvbiAgY2xhc3M9XCJidG4gYnRuLW91dGxpbmUgcHgtNiBweS0zXCJcclxuICAgICAgICAgICAgW25nQ2xhc3NdPVwidHlwZSA9PT0gJ3dlZWtseScgPyAnYWN0aXZlUGxhbkJ0bicgOiAnaW5hY3RpdmVQbGFuQnRuJ1wiXHJcbiAgICAgICAgICAgIChjbGljayk9XCJzZWxlY3RQbGFuVHJlbmRzKCd3ZWVrbHknKVwiPlxyXG4gICAgICAgICAgICBXZWVrXHJcbiAgICAgICAgPC9idXR0b24+XHJcbiAgICAgICAgXHJcbiAgICAgICAgPCEtLSBEYXkgQnV0dG9uLCB2aXNpYmxlIG9ubHkgaWYgZGF0ZUxlbmd0aCBpcyB2YWxpZCBhbmQgdHlwZSBpcyBlaXRoZXIgJ3dlZWtseScgb3IgJ2RhaWx5JyAtLT5cclxuICAgICAgICA8YnV0dG9uIGNsYXNzPVwiYnRuIGJ0bi1vdXRsaW5lIHB4LTYgcHktM1wiXHJcbiAgICAgICAgICAgIFtuZ0NsYXNzXT1cInR5cGUgPT09ICdtb250aGx5JyA/ICdhY3RpdmVQbGFuQnRuJyA6ICdpbmFjdGl2ZVBsYW5CdG4nXCJcclxuICAgICAgICAgICAgKGNsaWNrKT1cInNlbGVjdFBsYW5UcmVuZHMoJ21vbnRobHknKVwiPlxyXG4gICAgICAgICAgICBNb250aFxyXG4gICAgICAgIDwvYnV0dG9uPlxyXG4gICAgICAgIFxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgPC9kaXY+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICA8IS0tZW5kOjpOYXYgZ3JvdXAtLT5cclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxkaXYgY2xhc3M9XCJkLWZsZXhcIj5cclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8c3BhbiBjbGFzcz1cIm14LTIgbXQtMyBkcm9wc2VsZWN0XCI+VHJlbmQ8L3NwYW4+XHJcbiAgICAgICAgXHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGZvcm0gW2Zvcm1Hcm91cF09XCJmb3JtXCI+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxsaWItcmVhY3RpdmUtc2VsZWN0XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgW2Zvcm1Db250cm9sXT1cInNlbGVjdENvbnRyb2xcIiBcclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBbaWRGaWVsZF09XCIndmFsdWUnXCJcclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBbbmFtZUZpZWxkXT1cIidsYWJlbCdcIlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIFtkYXRhXT1cImRhdGFzZXRzXCJcclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBjbGFzcz1cInctMTAwXCJcclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAodmFsdWVDaGFuZ2UpPVwib25WYWx1ZUNoYW5nZXRyZW5kKCRldmVudClcIj5cclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPC9saWItcmVhY3RpdmUtc2VsZWN0PlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPC9mb3JtPlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwhLS0gPHNlbGVjdCBjbGFzcz1cImZvcm0tc2VsZWN0IGZvcm0tc2VsZWN0LXNtXCIgKGNoYW5nZSk9XCJvbkRhdGFzZXRDaGFuZ2UoJGV2ZW50KVwiPlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8b3B0aW9uICpuZ0Zvcj1cImxldCBkYXRhc2V0IG9mIGRhdGFzZXRzXCIgW3ZhbHVlXT1cImRhdGFzZXQudmFsdWVcIj57eyBkYXRhc2V0LmxhYmVsIH19XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvb3B0aW9uPlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvc2VsZWN0PiAtLT5cclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvZGl2PlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgPGRpdiBjbGFzcz1cImQtZmxleCBtdC0xIG1zLTNcIj5cclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8c2VjdGlvbiAqbmdJZj1cInN0b3JlSWRhcnJheT8ubGVuZ3RoID09PSAxXCI+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPHNwYW4gIGNsYXNzPVwiZC1mbGV4IG1zLTEgZHJvcHNlbGVjdCBtdC0yIGN1cnNvci1wb2ludGVyIHRleHQtbm93cmFwIGZzLTVcIj5Gb3JlY2FzdFxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8c3ZnIHhtbG5zPVwiaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmdcIiB3aWR0aD1cIjE2XCIgaGVpZ2h0PVwiMTZcIiB2aWV3Qm94PVwiMCAwIDE2IDE2XCJcclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGZpbGw9XCJub25lXCI+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8ZyBjbGlwLXBhdGg9XCJ1cmwoI2NsaXAwXzI2NDVfMjc0NTkpXCI+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPHBhdGhcclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgZD1cIk0zLjMzMzk4IDEuMzMzMzFMMy40NjA2NSAxLjk1OTk4QzMuNTUxNDIgMi40MDk5OCAzLjc1NjgzIDIuODI4OTMgNC4wNTY5OSAzLjE3NjI4QzQuMzU3MTUgMy41MjM2MiA0Ljc0MTg5IDMuNzg3NTkgNS4xNzM5OCAzLjk0MjY1TDUuMzMzOTggMy45OTk5OEw1LjE3Mzk4IDQuMDU3MzFDNC43NDE4OSA0LjIxMjM3IDQuMzU3MTUgNC40NzYzNCA0LjA1Njk5IDQuODIzNjhDMy43NTY4MyA1LjE3MTAzIDMuNTUxNDIgNS41ODk5OCAzLjQ2MDY1IDYuMDM5OThMMy4zMzM5OCA2LjY2NjY1TDMuMjA3MzIgNi4wMzk5OEMzLjExNjU0IDUuNTg5OTggMi45MTExNCA1LjE3MTAzIDIuNjEwOTggNC44MjM2OEMyLjMxMDgyIDQuNDc2MzQgMS45MjYwNyA0LjIxMjM3IDEuNDkzOTggNC4wNTczMUwxLjMzMzk4IDMuOTk5OThMMS40OTM5OCAzLjk0MjY1QzEuOTI2MDcgMy43ODc1OSAyLjMxMDgyIDMuNTIzNjIgMi42MTA5OCAzLjE3NjI4QzIuOTExMTQgMi44Mjg5MyAzLjExNjU0IDIuNDA5OTggMy4yMDczMiAxLjk1OTk4TDMuMzMzOTggMS4zMzMzMVpNNS4zMzM5OCAxMC42NjY2TDUuNDg3MzIgMTEuNTE3M0M1LjUyNzEzIDExLjczOTIgNS42MjI1NiAxMS45NDc0IDUuNzY0NjggMTIuMTIyNEM1LjkwNjggMTIuMjk3NCA2LjA5MDk4IDEyLjQzMzUgNi4yOTk5OCAxMi41MThMNi42NjczMiAxMi42NjY2TDYuMjk5OTggMTIuODE1M0M2LjA5MDk0IDEyLjg5OTcgNS45MDY2OCAxMy4wMzU2IDUuNzY0NDUgMTMuMjEwNUM1LjYyMjIxIDEzLjM4NTQgNS41MjY2MyAxMy41OTM1IDUuNDg2NjUgMTMuODE1M0w1LjMzMzk4IDE0LjY2NjZMNS4xODA2NSAxMy44MTZDNS4xNDA4NCAxMy41OTQxIDUuMDQ1NDEgMTMuMzg1OSA0LjkwMzI5IDEzLjIxMDlDNC43NjExNyAxMy4wMzU5IDQuNTc2OTkgMTIuODk5OCA0LjM2Nzk4IDEyLjgxNTNMNC4wMDA2NSAxMi42NjY2TDQuMzY3OTggMTIuNTE4QzQuNTc3MDMgMTIuNDMzNiA0Ljc2MTI5IDEyLjI5NzcgNC45MDM1MiAxMi4xMjI4QzUuMDQ1NzYgMTEuOTQ3OSA1LjE0MTMzIDExLjczOTggNS4xODEzMiAxMS41MThMNS4zMzM5OCAxMC42NjY2Wk0xMC42NjczIDEuOTk5OThMMTEuMDM4IDMuNzY5MzFDMTEuMjI2OSA0LjY3MTM3IDExLjY0NjMgNS41MDkwOCAxMi4yNTU0IDYuMjAwNzZDMTIuODY0NSA2Ljg5MjQ0IDEzLjY0MjQgNy40MTQ0OCAxNC41MTMzIDcuNzE1OThMMTUuMzM0IDcuOTk5OThMMTQuNTEzMyA4LjI4Mzk4QzEzLjY0MjQgOC41ODU0OCAxMi44NjQ1IDkuMTA3NTIgMTIuMjU1NCA5Ljc5OTJDMTEuNjQ2MyAxMC40OTA5IDExLjIyNjkgMTEuMzI4NiAxMS4wMzggMTIuMjMwNkwxMC42NjczIDE0TDEwLjI5NjcgMTIuMjMwNkMxMC4xMDc3IDExLjMyODYgOS42ODgzIDEwLjQ5MDkgOS4wNzkyMiA5Ljc5OTJDOC40NzAxNSA5LjEwNzUyIDcuNjkyMjMgOC41ODU0OCA2LjgyMTMyIDguMjgzOThMNi4wMDA2NSA3Ljk5OTk4TDYuODIxMzIgNy43MTU5OEM3LjY5MjIzIDcuNDE0NDggOC40NzAxNSA2Ljg5MjQ0IDkuMDc5MjIgNi4yMDA3NkM5LjY4ODMgNS41MDkwOCAxMC4xMDc3IDQuNjcxMzcgMTAuMjk2NyAzLjc2OTMxTDEwLjY2NzMgMS45OTk5OFpcIlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBzdHJva2U9XCIjMzQ0MDU0XCIgc3Ryb2tlLXdpZHRoPVwiMS41XCIgc3Ryb2tlLWxpbmVjYXA9XCJyb3VuZFwiXHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHN0cm9rZS1saW5lam9pbj1cInJvdW5kXCIgLz5cclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvZz5cclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxkZWZzPlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxjbGlwUGF0aCBpZD1cImNsaXAwXzI2NDVfMjc0NTlcIj5cclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPHJlY3Qgd2lkdGg9XCIxNlwiIGhlaWdodD1cIjE2XCIgZmlsbD1cIndoaXRlXCIgLz5cclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8L2NsaXBQYXRoPlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPC9kZWZzPlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8L3N2Zz5cclxuICAgICAgICBcclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPHNwYW4gY2xhc3M9XCJmb3JtLWNoZWNrIGZvcm0tc3dpdGNoIG14LTNcIj5cclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxpbnB1dCBjbGFzcz1cImZvcm0tY2hlY2staW5wdXQgIGN1cnNvci1wb2ludGVyXCIgdHlwZT1cImNoZWNrYm94XCIgWyhuZ01vZGVsKV09XCJmb3JlY2FzdFwiIChjbGljayk9XCJmb3JlY2FzdEFwaSgkZXZlbnQpXCI+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvc3Bhbj5cclxuICAgICAgICBcclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8L3NwYW4+XHJcbiAgICAgICAgPC9zZWN0aW9uPlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxkaXYgKm5nSWY9XCIhb2JqRGF0YT8uZm9yZWNhc3RcIiBjbGFzcz1cInBvc2l0aW9uLXJlbGF0aXZlIGN1cnNvci1wb2ludGVyXCI+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxkaXYgY2xhc3M9XCJtcy0xXCIgKGNsaWNrKT1cInByb2R1Y3R0cmFpbERyb3Bkb3duKCRldmVudClcIj5cclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxzdmcgd2lkdGg9XCIyMFwiIGhlaWdodD1cIjIwXCIgdmlld0JveD1cIjAgMCAyMCAyMFwiIGZpbGw9XCJub25lXCJcclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHhtbG5zPVwiaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmdcIj5cclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxwYXRoIGQ9XCJNNSAxMEgxNU0yLjUgNUgxNy41TTcuNSAxNUgxMi41XCIgc3Ryb2tlPVwiIzM0NDA1NFwiIHN0cm9rZS13aWR0aD1cIjEuNjY2NjdcIlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHN0cm9rZS1saW5lY2FwPVwicm91bmRcIiBzdHJva2UtbGluZWpvaW49XCJyb3VuZFwiIC8+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvc3ZnPiAgXHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIFxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8L2Rpdj5cclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8L2Rpdj5cclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8ZGl2ICpuZ0lmPVwic2hvd1wiXHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGNsYXNzPVwiY2FyZCBweS0yIHctMjAwcHggcG9zaXRpb24tYWJzb2x1dGUgcHJvZHVjdGRyb3AgdG9wLTIwIGVuZC0xIG10LTEwIHotMVwiPlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8dWwgKm5nSWY9XCIhb2JqRGF0YT8uZm9yZWNhc3RcIiAgY2xhc3M9XCJsaXN0LXVuc3R5bGVkIG1iLTJcIj5cclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwhLS0gPGxpIGNsYXNzPVwicHJvZHVjdHRleHQgcHgtNSBpdGVtcyBjdXJzb3ItcG9pbnRlciBweS00XCIgW25nQ2xhc3NdPVwidHJlbmR0eXBlVmFsdWUgPT09J25vcm1hbGl6ZScgPyAnYmctZm9yY2FzdCc6JydcIiB0eXBlPVwiYnV0dG9uXCJcclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIChjbGljayk9XCJjaGFuZ2VTdGF0dXMoJ25vcm1hbGl6ZScpXCI+Tm9ybWFsaXplXHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPHN2ZyBjbGFzcz1cInRleHQtZW5kIG1zLTIwXCIgKm5nSWY9XCJ0cmVuZHR5cGVWYWx1ZSA9PT0nbm9ybWFsaXplJyA/ICdiZy1mb3JjYXN0JzonJ1wiIHhtbG5zPVwiaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmdcIlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB3aWR0aD1cIjE2XCIgaGVpZ2h0PVwiMTZcIiB2aWV3Qm94PVwiMCAwIDE2IDE2XCIgZmlsbD1cIm5vbmVcIj5cclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPHBhdGggZD1cIk0xMy4zMzI3IDRMNS45OTkzNSAxMS4zMzMzTDIuNjY2MDIgOFwiIHN0cm9rZT1cIiMzNDQwNTRcIiBzdHJva2Utd2lkdGg9XCIxLjVcIlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgc3Ryb2tlLWxpbmVjYXA9XCJyb3VuZFwiIHN0cm9rZS1saW5lam9pbj1cInJvdW5kXCIgLz5cclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8L3N2Zz5cclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPC9saT4gLS0+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxsaSAgKm5nSWY9XCJzdG9yZUlkYXJyYXk/Lmxlbmd0aCA9PT0gMVwiIGNsYXNzPVwicHJvZHVjdHRleHQgcHgtNSBpdGVtcyBjdXJzb3ItcG9pbnRlciBweS00XCIgW25nQ2xhc3NdPVwidHJlbmR0eXBlVmFsdWUgPT09J2FjdHVhbCcgPyAnYmctZm9yY2FzdCc6JydcIiB0eXBlPVwiYnV0dG9uXCJcclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKGNsaWNrKT1cImNoYW5nZVN0YXR1cygnYWN0dWFsJylcIj5BY3R1YWxcclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxzdmcgY2xhc3M9XCJ0ZXh0LWVuZCBtcy0yMFwiICpuZ0lmPVwidHJlbmR0eXBlVmFsdWUgPT09J2FjdHVhbCcgPyAnYmctZm9yY2FzdCc6JydcIiB4bWxucz1cImh0dHA6Ly93d3cudzMub3JnLzIwMDAvc3ZnXCJcclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB3aWR0aD1cIjE2XCIgaGVpZ2h0PVwiMTZcIiB2aWV3Qm94PVwiMCAwIDE2IDE2XCIgZmlsbD1cIm5vbmVcIj5cclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8cGF0aCBkPVwiTTEzLjMzMjcgNEw1Ljk5OTM1IDExLjMzMzNMMi42NjYwMiA4XCIgc3Ryb2tlPVwiIzM0NDA1NFwiIHN0cm9rZS13aWR0aD1cIjEuNVwiXHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHN0cm9rZS1saW5lY2FwPVwicm91bmRcIiBzdHJva2UtbGluZWpvaW49XCJyb3VuZFwiIC8+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8L3N2Zz5cclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8L2xpPlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8bGkgKm5nSWY9XCJzdG9yZUlkYXJyYXk/Lmxlbmd0aCA+IDFcIiBjbGFzcz1cInByb2R1Y3R0ZXh0IHB4LTUgaXRlbXMgY3Vyc29yLXBvaW50ZXIgcHktNFwiIFtuZ0NsYXNzXT1cInRyZW5kdHlwZVZhbHVlID09PSdhdmVyYWdlJyA/ICdiZy1mb3JjYXN0JzonJ1wiIHR5cGU9XCJidXR0b25cIlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKGNsaWNrKT1cImNoYW5nZVN0YXR1cygnYXZlcmFnZScpXCI+QXZlcmFnZVxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPHNwYW4+IDxzdmcgY2xhc3M9XCJ0ZXh0LWVuZCBtcy0yMFwiICpuZ0lmPVwidHJlbmR0eXBlVmFsdWUgPT09J2F2ZXJhZ2UnID8gJ2JnLWZvcmNhc3QnOicnXCIgeG1sbnM9XCJodHRwOi8vd3d3LnczLm9yZy8yMDAwL3N2Z1wiXHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHdpZHRoPVwiMTZcIiBoZWlnaHQ9XCIxNlwiIHZpZXdCb3g9XCIwIDAgMTYgMTZcIiBmaWxsPVwibm9uZVwiPlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8cGF0aCBkPVwiTTEzLjMzMjcgNEw1Ljk5OTM1IDExLjMzMzNMMi42NjYwMiA4XCIgc3Ryb2tlPVwiIzM0NDA1NFwiIHN0cm9rZS13aWR0aD1cIjEuNVwiXHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBzdHJva2UtbGluZWNhcD1cInJvdW5kXCIgc3Ryb2tlLWxpbmVqb2luPVwicm91bmRcIiAvPlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvc3ZnPjwvc3Bhbj5cclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvbGk+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwhLS0gPGxpIGNsYXNzPVwicHJvZHVjdHRleHQgcHgtNSBpdGVtcyBjdXJzb3ItcG9pbnRlciBweS00XCIgW25nQ2xhc3NdPVwidHJlbmR0eXBlVmFsdWUgPT09J3RhcmdldCcgPyAnYmctZm9yY2FzdCc6JydcIiB0eXBlPVwiYnV0dG9uXCJcclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKGNsaWNrKT1cImNoYW5nZVN0YXR1cygndGFyZ2V0JylcIj5UYXJnZXRcclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8c3ZnIGNsYXNzPVwidGV4dC1lbmQgbXMtMjBcIiAqbmdJZj1cInRyZW5kdHlwZVZhbHVlID09PSd0YXJnZXQnID8gJ2JnLWZvcmNhc3QnOicnXCIgeG1sbnM9XCJodHRwOi8vd3d3LnczLm9yZy8yMDAwL3N2Z1wiXHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgd2lkdGg9XCIxNlwiIGhlaWdodD1cIjE2XCIgdmlld0JveD1cIjAgMCAxNiAxNlwiIGZpbGw9XCJub25lXCI+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPHBhdGggZD1cIk0xMy4zMzI3IDRMNS45OTkzNSAxMS4zMzMzTDIuNjY2MDIgOFwiIHN0cm9rZT1cIiMzNDQwNTRcIiBzdHJva2Utd2lkdGg9XCIxLjVcIiBzdHJva2UtbGluZWNhcD1cInJvdW5kXCJcclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgc3Ryb2tlLWxpbmVqb2luPVwicm91bmRcIiAvPlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPC9zdmc+PC9saT4gLS0+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgXHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxsaSBjbGFzcz1cInByb2R1Y3R0ZXh0IHB4LTUgaXRlbXMgY3Vyc29yLXBvaW50ZXIgcHktNFwiIFtuZ0NsYXNzXT1cInRyZW5kdHlwZVZhbHVlID09PSd3ZWVrZW5kcycgPyAnYmctZm9yY2FzdCc6JydcIiB0eXBlPVwiYnV0dG9uXCJcclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKGNsaWNrKT1cImNoYW5nZVN0YXR1cygnd2Vla2VuZHMnKVwiPldlZWtlbmRzXHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPHN2ZyBjbGFzcz1cInRleHQtZW5kIG1zLTIwXCIgKm5nSWY9XCJ0cmVuZHR5cGVWYWx1ZSA9PT0nd2Vla2VuZHMnID8gJ2JnLWZvcmNhc3QnOicnXCIgeG1sbnM9XCJodHRwOi8vd3d3LnczLm9yZy8yMDAwL3N2Z1wiXHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgd2lkdGg9XCIxNlwiIGhlaWdodD1cIjE2XCIgdmlld0JveD1cIjAgMCAxNiAxNlwiIGZpbGw9XCJub25lXCI+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPHBhdGggZD1cIk0xMy4zMzI3IDRMNS45OTkzNSAxMS4zMzMzTDIuNjY2MDIgOFwiIHN0cm9rZT1cIiMzNDQwNTRcIiBzdHJva2Utd2lkdGg9XCIxLjVcIiBzdHJva2UtbGluZWNhcD1cInJvdW5kXCJcclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgc3Ryb2tlLWxpbmVqb2luPVwicm91bmRcIiAvPlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPC9zdmc+PC9saT5cclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBcclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGxpIGNsYXNzPVwicHJvZHVjdHRleHQgcHgtNSBpdGVtcyBjdXJzb3ItcG9pbnRlciBweS00XCIgW25nQ2xhc3NdPVwidHJlbmR0eXBlVmFsdWUgPT09J3dlZWtkYXlzJyA/ICdiZy1mb3JjYXN0JzonJ1wiIHR5cGU9XCJidXR0b25cIlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAoY2xpY2spPVwiY2hhbmdlU3RhdHVzKCd3ZWVrZGF5cycpXCI+V2Vla2RheXNcclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8c3ZnIGNsYXNzPVwidGV4dC1lbmQgbXMtMjBcIiAqbmdJZj1cInRyZW5kdHlwZVZhbHVlID09PSd3ZWVrZGF5cycgPyAnYmctZm9yY2FzdCc6JydcIiB4bWxucz1cImh0dHA6Ly93d3cudzMub3JnLzIwMDAvc3ZnXCJcclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgd2lkdGg9XCIxNlwiIGhlaWdodD1cIjE2XCIgdmlld0JveD1cIjAgMCAxNiAxNlwiIGZpbGw9XCJub25lXCI+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxwYXRoIGQ9XCJNMTMuMzMyNyA0TDUuOTk5MzUgMTEuMzMzM0wyLjY2NjAyIDhcIiBzdHJva2U9XCIjMzQ0MDU0XCIgc3Ryb2tlLXdpZHRoPVwiMS41XCJcclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHN0cm9rZS1saW5lY2FwPVwicm91bmRcIiBzdHJva2UtbGluZWpvaW49XCJyb3VuZFwiIC8+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPC9zdmc+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8L2xpPlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8L3VsPlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvZGl2PlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgPC9kaXY+XHJcbiAgICAgICAgXHJcbiAgICAgICAgICAgICAgICAgICAgICAgIDwvZGl2PlxyXG4gICAgICAgICAgICAgICAgICAgIDwvZGl2PlxyXG4gICAgICAgICAgICAgICAgPC9kaXY+XHJcbiAgICAgICAgICAgIDwvZGl2PlxyXG4gICAgICAgICAgICA8ZGl2ICpuZ0lmPVwibG9hZGluZ1RyZW5kc1wiIGNsYXNzPVwicm93IGxvYWRlciAgZC1mbGV4IGp1c3RpZnktY29udGVudC1jZW50ZXIgYWxpZ24taXRlbXMtY2VudGVyXCI+XHJcbiAgICAgICAgICAgICAgICA8ZGl2IGNsYXNzPVwic2hpbW1lclwiPlxyXG4gICAgICAgICAgICAgICAgICAgIDxkaXYgY2xhc3M9XCJ3cmFwcGVyXCI+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgIDxkaXYgY2xhc3M9XCJzdHJva2UgYW5pbWF0ZSB0aXRsZVwiPjwvZGl2PlxyXG4gICAgICAgICAgICAgICAgICAgICAgICA8ZGl2IGNsYXNzPVwic3Ryb2tlIGFuaW1hdGUgbGlua1wiPjwvZGl2PlxyXG4gICAgICAgICAgICAgICAgICAgICAgICA8ZGl2IGNsYXNzPVwic3Ryb2tlIGFuaW1hdGUgZGVzY3JpcHRpb25cIj48L2Rpdj5cclxuICAgICAgICAgICAgICAgICAgICA8L2Rpdj5cclxuICAgICAgICAgICAgICAgIDwvZGl2PlxyXG4gICAgICAgICAgICAgICAgPGRpdiBjbGFzcz1cInNoaW1tZXJcIj5cclxuICAgICAgICAgICAgICAgICAgICA8ZGl2IGNsYXNzPVwid3JhcHBlclwiPlxyXG4gICAgICAgICAgICAgICAgICAgICAgICA8ZGl2IGNsYXNzPVwic3Ryb2tlIGFuaW1hdGUgdGl0bGVcIj48L2Rpdj5cclxuICAgICAgICAgICAgICAgICAgICAgICAgPGRpdiBjbGFzcz1cInN0cm9rZSBhbmltYXRlIGxpbmtcIj48L2Rpdj5cclxuICAgICAgICAgICAgICAgICAgICAgICAgPGRpdiBjbGFzcz1cInN0cm9rZSBhbmltYXRlIGRlc2NyaXB0aW9uXCI+PC9kaXY+XHJcbiAgICAgICAgICAgICAgICAgICAgPC9kaXY+XHJcbiAgICAgICAgICAgICAgICA8L2Rpdj5cclxuICAgICAgICAgICAgPC9kaXY+XHJcbiAgICAgICAgICAgIDxkaXYgKm5nSWY9XCJub0RhdGFUcmVuZHNcIiBjbGFzcz1cInJvd1wiPlxyXG4gICAgICAgICAgICAgICAgPGRpdiBjbGFzcz1cImNvbC1sZy0xMiBtYi0zXCI+XHJcbiAgICAgICAgICAgICAgICAgICAgPGRpdiBjbGFzcz1cImNhcmQtYm9keSBkLWZsZXgganVzdGlmeS1jb250ZW50LWNlbnRlciBhbGlnbi1pdGVtcy1jZW50ZXIgZmxleC1jb2x1bW5cIj5cclxuICAgICAgICAgICAgICAgICAgICAgICAgPGltZyBjbGFzcz1cImltZy1ub2RhdGFcIiBzcmM9XCIuL2Fzc2V0cy90YW5nby9JY29ucy9Ob2RhdGExLnN2Z1wiIGFsdD1cIlwiPlxyXG4gICAgICAgICAgICAgICAgICAgICAgICA8ZGl2IGNsYXNzPVwibm9kYXRhLXRpdGxlXCI+Tm8gZGF0YSBmb3VuZDwvZGl2PlxyXG4gICAgICAgICAgICAgICAgICAgICAgICA8ZGl2IGNsYXNzPVwibm9kYXRhLXN1YlwiPlRoZXJlIGlzIG5vIHJlc3VsdCBmb3IgdGhpcyBmb290ZmFsbCB0cmVuZDwvZGl2PlxyXG4gICAgICAgICAgICAgICAgICAgIDwvZGl2PlxyXG4gICAgICAgICAgICAgICAgPC9kaXY+XHJcbiAgICAgICAgICAgIDwvZGl2PlxyXG4gICAgICAgICAgICA8ZGl2IGNsYXNzPVwiY2FyZC1ib2R5IHAtMFwiICpuZ0lmPVwiIW5vRGF0YVRyZW5kcyAmJiAhbG9hZGluZ1RyZW5kc1wiPlxyXG4gICAgICAgICAgICAgICAgPGRpdiBjbGFzcz1cInRleHQtY2VudGVyIHB4LTNcIiBpZD1cIkZvb3RmYWxsdHJlbmRcIj48L2Rpdj5cclxuICAgICAgICBcclxuICAgICAgICAgICAgICAgIFxyXG4gICAgICAgICAgICAgICAgPGRpdiAjdG9vbHRpcENvbnRhaW5lciBjbGFzcz1cInRvb2x0aXAtY29udGFpbmVyXCIgPlxyXG4gICAgICAgICAgICAgICAgICAgIDxkaXYgY2xhc3M9XCJ0b29sdGlwLWNvbnRlbnRcIiAqbmdJZj1cInRvb2x0aXBEYXRhXCI+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgIDxkaXYgY2xhc3M9XCJjb250ZW50IHAtNVwiPlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgIDwhLS0gPGRpdiBjbGFzcz1cImNvbnRhaW5lclwiPlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgPHNwYW4gY2xhc3M9XCJ0aXRsZSB0ZXh0LXN0YXJ0XCI+e3t0b29sdGlwRGF0YS5mdWxsU3RvcmVOYW1lfX08L1NwYW4+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICA8c3Bhbj5TdW08L3NwYW4+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICA8c3Bhbj5Bdmc8L3NwYW4+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgPC9kaXY+IC0tPlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgIFxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgIDwhLS0gVGFibGUgZm9yIGNvdW50cyBhbmQgcmF0ZXMgaW4gaG9yaXpvbnRhbCBmb3JtYXQgLS0+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgPHRhYmxlIGNsYXNzPVwidGFibGUgdGFibGUtaG9yaXpvbnRhbCB0cmVuc1wiPlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgPHRoZWFkPlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8dHI+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDx0aCBjbGFzcz1cInRpdGxlIHRleHQtc3RhcnQgcHgtM1wiPnt7dG9vbHRpcERhdGEuZnVsbFN0b3JlTmFtZX19PC90aD5cclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIDx0aCBjbGFzcz1cInRpdGxlIHRleHQtZW5kXCI+U3VtPC90aD5cclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIFxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgPG5nLWNvbnRhaW5lciAqbmdJZj1cInN0b3JlSWRhcnJheT8ubGVuZ3RoICE9PSAxXCI+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICA8dGggKm5nSWY9XCJ0eXBlICE9PSAnZGFpbHknXCIgY2xhc3M9XCJ0aXRsZSB0ZXh0LWVuZFwiPkF2ZzwvdGg+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgIDwvbmctY29udGFpbmVyPlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8L3RyPlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgPC90aGVhZD5cclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIDx0Ym9keT5cclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPCEtLSBDb3VudHMgU2VjdGlvbiAtLT5cclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPHRyID5cclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8dGQgY2xhc3M9XCJ0cmVuZC1sYWJlbFwiICBzdHlsZT1cImxpbmUtaGVpZ2h0OiAxMHB4ICFpbXBvcnRhbnRcIj5Ub3RhbCBGb290ZmFsbDwvdGQ+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPHRkIGNsYXNzPVwidmFsdWVcIiAgc3R5bGU9XCJsaW5lLWhlaWdodDogMTBweCAhaW1wb3J0YW50XCI+e3t0b29sdGlwRGF0YS5mb290ZmFsbF9jb3VudH19PC90ZD5cclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8bmctY29udGFpbmVyICpuZ0lmPVwic3RvcmVJZGFycmF5Py5sZW5ndGggIT09IDFcIj5cclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8dGQgKm5nSWY9XCJ0eXBlICE9PSAnZGFpbHknXCIgY2xhc3M9XCJ2YWx1ZVwiICBzdHlsZT1cImxpbmUtaGVpZ2h0OiAxMHB4ICFpbXBvcnRhbnRcIj57e3Rvb2x0aXBEYXRhLmZvb3RmYWxsX2NvdW50X2F2Z319PC90ZD5cclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8L25nLWNvbnRhaW5lcj5cclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPC90cj5cclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPHRyID5cclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8dGQgY2xhc3M9XCJ0cmVuZC1sYWJlbFwiICBzdHlsZT1cImxpbmUtaGVpZ2h0OiAxMHB4ICFpbXBvcnRhbnRcIj48c3BhbiAqbmdJZj1cImhlYWRlckRhdGE/LmNsaWVudCA9PT0gJzQ1MidcIj5MZXNzIHRoYW4ge3tjbGllbnREYXRhPy5mZWF0dXJlQ29uZmlncz8uYm91bmNlZExpbWl0Py52YWx1ZX19IG1pbnM8L3NwYW4+IDxzcGFuICpuZ0lmPVwiaGVhZGVyRGF0YT8uY2xpZW50ICE9PSAnNDUyJ1wiPkJvdW5jZWQgRm9vdGZhbGw8L3NwYW4+PC90ZD5cclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8dGQgY2xhc3M9XCJ2YWx1ZVwiICBzdHlsZT1cImxpbmUtaGVpZ2h0OiAxMHB4ICFpbXBvcnRhbnRcIj57e3Rvb2x0aXBEYXRhLmJvdW5jZWRfY291bnR9fTwvdGQ+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPG5nLWNvbnRhaW5lciAqbmdJZj1cInN0b3JlSWRhcnJheT8ubGVuZ3RoICE9PSAxXCI+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPHRkICpuZ0lmPVwidHlwZSAhPT0gJ2RhaWx5J1wiIGNsYXNzPVwidmFsdWVcIiAgc3R5bGU9XCJsaW5lLWhlaWdodDogMTBweCAhaW1wb3J0YW50XCI+e3t0b29sdGlwRGF0YS5ib3VuY2VkX2Zvb3RmYWxsX2NvdW50X2F2Z319PC90ZD5cclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8L25nLWNvbnRhaW5lcj5cclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPC90cj5cclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPHRyPlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDx0ZCBjbGFzcz1cInRyZW5kLWxhYmVsXCIgc3R5bGU9XCJsaW5lLWhlaWdodDogMTBweCAhaW1wb3J0YW50XCI+PHNwYW4gKm5nSWY9XCJoZWFkZXJEYXRhPy5jbGllbnQgPT09ICc0NTInXCI+TW9yZSB0aGFuIHt7Y2xpZW50RGF0YT8uZmVhdHVyZUNvbmZpZ3M/LmJvdW5jZWRMaW1pdD8udmFsdWV9fSBtaW5zPC9zcGFuPiA8c3BhbiAqbmdJZj1cImhlYWRlckRhdGE/LmNsaWVudCAhPT0gJzQ1MidcIj5FbmdhZ2Vyczwvc3Bhbj48L3RkPlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDx0ZCBjbGFzcz1cInZhbHVlXCIgc3R5bGU9XCJsaW5lLWhlaWdodDogMTBweCAhaW1wb3J0YW50XCI+e3t0b29sdGlwRGF0YS5lbmdhZ2Vyc19jb3VudH19PC90ZD5cclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8bmctY29udGFpbmVyICpuZ0lmPVwic3RvcmVJZGFycmF5Py5sZW5ndGggIT09IDFcIj5cclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8dGQgKm5nSWY9XCJ0eXBlICE9PSAnZGFpbHknXCIgY2xhc3M9XCJ2YWx1ZVwiIHN0eWxlPVwibGluZS1oZWlnaHQ6IDEwcHggIWltcG9ydGFudFwiPnt7dG9vbHRpcERhdGEuZW5nYWdlcnNfY291bnRfYXZnfX08L3RkPlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvbmctY29udGFpbmVyPlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8L3RyPlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8dHI+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPHRkIGNsYXNzPVwidHJlbmQtbGFiZWxcIiBzdHlsZT1cImxpbmUtaGVpZ2h0OiAxMHB4ICFpbXBvcnRhbnRcIj48c3BhbiAqbmdJZj1cImhlYWRlckRhdGE/LmNsaWVudCA9PT0gJzQ1MidcIj57e2NsaWVudERhdGE/LmZlYXR1cmVDb25maWdzPy5taXNzZWRPcHBvcnR1bml0eUZyb20/LnZhbHVlfX0gLSB7e2NsaWVudERhdGE/LmZlYXR1cmVDb25maWdzPy5taXNzZWRPcHBvcnR1bml0eVRvPy52YWx1ZX19IG1pbnM8L3NwYW4+IDxzcGFuICpuZ0lmPVwiaGVhZGVyRGF0YT8uY2xpZW50ICE9PSAnNDUyJ1wiPk1pc3NlZCBPcHBvcnR1bml0aWVzPC9zcGFuPjwvdGQ+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPHRkIGNsYXNzPVwidmFsdWVcIiBzdHlsZT1cImxpbmUtaGVpZ2h0OiAxMHB4ICFpbXBvcnRhbnRcIj57e3Rvb2x0aXBEYXRhLm1pc3NlZE9wcG9ydHVuaXR5X2NvdW50fX08L3RkPlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxuZy1jb250YWluZXIgKm5nSWY9XCJzdG9yZUlkYXJyYXk/Lmxlbmd0aCAhPT0gMVwiPlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDx0ZCAqbmdJZj1cInR5cGUgIT09ICdkYWlseSdcIiBjbGFzcz1cInZhbHVlXCIgc3R5bGU9XCJsaW5lLWhlaWdodDogMTBweCAhaW1wb3J0YW50XCI+e3t0b29sdGlwRGF0YS5taXNzZWRPcHBvcnR1bml0eV9jb3VudF9hdmd9fTwvdGQ+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPC9uZy1jb250YWluZXI+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvdHI+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDx0ciBzdHlsZT1cImxpbmUtaGVpZ2h0OiAxMHB4ICFpbXBvcnRhbnRcIj5cclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8dGQgY2xhc3M9XCJ0cmVuZC1sYWJlbFwiIHN0eWxlPVwibGluZS1oZWlnaHQ6IDEwcHggIWltcG9ydGFudFwiPkRvd24gVGltZTwvdGQ+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPHRkIGNsYXNzPVwidmFsdWVcIiBzdHlsZT1cImxpbmUtaGVpZ2h0OiAxMHB4ICFpbXBvcnRhbnRcIj57e3Rvb2x0aXBEYXRhLmRvd25fdGltZSA/IHRvb2x0aXBEYXRhLmRvd25fdGltZSA6Jy0tJ319PC90ZD5cclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8bmctY29udGFpbmVyICpuZ0lmPVwic3RvcmVJZGFycmF5Py5sZW5ndGggIT09IDFcIj5cclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8dGQgKm5nSWY9XCJ0eXBlICE9PSAnZGFpbHknXCIgY2xhc3M9XCJ2YWx1ZVwiIHN0eWxlPVwibGluZS1oZWlnaHQ6IDEwcHggIWltcG9ydGFudFwiPnt7dG9vbHRpcERhdGEuZG93bl90aW1lfX08L3RkPlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvbmctY29udGFpbmVyPlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8L3RyPlxyXG4gICAgICAgICAgICAgICAgICAgICAgXHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwhLS0gUmF0ZXMgU2VjdGlvbiAtLT5cclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPHRyID5cclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8dGQgY2xhc3M9XCJ0cmVuZC1sYWJlbFwiIHN0eWxlPVwibGluZS1oZWlnaHQ6IDEwcHggIWltcG9ydGFudFwiPkR3ZWxsIFRpbWU8L3RkPlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDx0ZCBjbGFzcz1cInZhbHVlIHRleHQtbm93cmFwXCIgc3R5bGU9XCJsaW5lLWhlaWdodDogMTBweCAhaW1wb3J0YW50XCI+e3t0b29sdGlwRGF0YS5hdmdEd2VsbFRpbWUudG9GaXhlZCgwKX19IE1pbnM8L3RkPlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxuZy1jb250YWluZXIgKm5nSWY9XCJzdG9yZUlkYXJyYXk/Lmxlbmd0aCAhPT0gMVwiPlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDx0ZCAqbmdJZj1cInR5cGUgIT09ICdkYWlseSdcIiBjbGFzcz1cInZhbHVlIHRleHQtbm93cmFwXCIgc3R5bGU9XCJsaW5lLWhlaWdodDogMTBweCAhaW1wb3J0YW50XCI+e3t0b29sdGlwRGF0YS5hdmdEd2VsbFRpbWUudG9GaXhlZCgwKX19IE1pbnM8L3RkPlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvbmctY29udGFpbmVyPlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8L3RyPlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8dHIgPlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDx0ZCBjbGFzcz1cInRyZW5kLWxhYmVsXCIgc3R5bGU9XCJsaW5lLWhlaWdodDogMTBweCAhaW1wb3J0YW50XCI+PHNwYW4gKm5nSWY9XCJoZWFkZXJEYXRhPy5jbGllbnQgPT09ICc0NTInXCI+IE1vcmUgdGhhbiB7e2NsaWVudERhdGE/LmZlYXR1cmVDb25maWdzPy5jb252ZXJzaW9uPy52YWx1ZX19IG1pbnMgUmF0ZTwvc3Bhbj48c3BhbiAqbmdJZj1cImhlYWRlckRhdGE/LmNsaWVudCAhPT0gJzQ1MidcIj5Db252ZXJzaW9uPC9zcGFuPjwvdGQ+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPHRkIGNsYXNzPVwidmFsdWVcIiBzdHlsZT1cImxpbmUtaGVpZ2h0OiAxMHB4ICFpbXBvcnRhbnRcIj57e3Rvb2x0aXBEYXRhLmNvbnZlcnNpb25SYXRlLnRvRml4ZWQoMCl9fSU8L3RkPlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxuZy1jb250YWluZXIgKm5nSWY9XCJzdG9yZUlkYXJyYXk/Lmxlbmd0aCAhPT0gMVwiPlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDx0ZCAqbmdJZj1cInR5cGUgIT09ICdkYWlseSdcIiBjbGFzcz1cInZhbHVlXCIgc3R5bGU9XCJsaW5lLWhlaWdodDogMTBweCAhaW1wb3J0YW50XCI+e3t0b29sdGlwRGF0YS5jb252ZXJzaW9uUmF0ZS50b0ZpeGVkKDApfX0lPC90ZD5cclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8L25nLWNvbnRhaW5lcj5cclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPC90cj5cclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvdGJvZHk+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgPC90YWJsZT5cclxuICAgICAgICAgICAgICAgICAgICAgICAgPC9kaXY+XHJcbiAgICAgICAgICAgICAgICAgICAgICA8L2Rpdj5cclxuICAgICAgICAgICAgICAgICAgICAgIFxyXG4gICAgICAgICAgICAgICAgICA8L2Rpdj5cclxuICAgICAgICBcclxuICAgICAgICBcclxuICAgICAgICAgICAgICAgICAgPGxpYi1wYWdpbmF0aW9uIFtpdGVtc1BlclBhZ2VdPVwicGFnZVNpemVUcmVuZHNcIiBbY3VycmVudFBhZ2VdPVwib2Zmc2V0VHJlbmRzXCIgW3RvdGFsSXRlbXNdPVwidG90YWxJdGVtc1RyZW5kc1wiXHJcbiAgICAgICAgICAgICAgICAgIFtwYWdpbmF0aW9uU2l6ZXNdPVwicGFnaW5hdGlvblNpemVzVHJlbmRzXCIgW3BhZ2VTaXplXT1cInBhZ2VTaXplVHJlbmRzXCIgKHBhZ2VDaGFuZ2UpPVwib25QYWdlQ2hhbmdlVHJlbmRzKCRldmVudClcIlxyXG4gICAgICAgICAgICAgICAgICAocGFnZVNpemVDaGFuZ2UpPVwib25QYWdlU2l6ZUNoYW5nZVRyZW5kcygkZXZlbnQpXCI+PC9saWItcGFnaW5hdGlvbj5cclxuICAgICAgICAgICAgICAgXHJcbiAgICAgICAgICAgIDwvZGl2PlxyXG4gICAgICAgIDwvZGl2PlxyXG5cclxuICAgICAgICA8IS0tIDxsaWItdHJhZmZpYy1jaGFydHMgY2xhc3M9XCJteS0yXCI+PC9saWItdHJhZmZpYy1jaGFydHM+IC0tPlxyXG4gICAgICAgIDxkaXYgKm5nSWY9XCJzdG9yZUlkYXJyYXlbMF0gIT09JzQ1OS0yJ1wiIGNsYXNzPVwiY2FyZCBtdC0zXCI+XHJcbiAgICAgICAgICAgIDxkaXYgY2xhc3M9XCJjYXJkLWhlYWRlciBteS0zIG14LTJcIj5cclxuICAgICAgICAgICAgICAgIDx1bCBjbGFzcz1cIm5hdiBuYXYtc3RyZXRjaCBuYXYtbGluZS10YWJzMSBuYXYtbGluZS10YWJzIGJvcmRlci10cmFuc3BhcmVudCBmbGV4LW5vd3JhcFwiPlxyXG4gICAgICAgICAgICAgICAgICAgIDxsaSAqbmdJZj1cInRoaXMuaGVhZGVyRGF0YT8uY2xpZW50ICE9PSc0NTknXCIgY2xhc3M9XCJuYXYtaXRlbSBuYXYtaXRlbTFcIiAoY2xpY2spPVwic2VsZWN0ZWRUYWJzKCd0cmFmZmljJylcIj48YVxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgW25nQ2xhc3NdPVwic2VsZWN0ZWRUYWIgPT09J3RyYWZmaWMnID8gJ2FjdGl2ZScgOicnXCJcclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIGNsYXNzPVwibmF2LWxpbmsgbmF2LWxpbmsxIGN1cnNvci1wb2ludGVyIG5vLWJvcmRlciBtZS02IFwiPlRyYWZmaWMgJiBEd2VsbDwvYT5cclxuICAgICAgICAgICAgICAgICAgICA8L2xpPlxyXG4gICAgICAgICAgICAgICAgICAgIDxsaSBjbGFzcz1cIm5hdi1pdGVtIG5hdi1pdGVtMVwiIChjbGljayk9XCJzZWxlY3RlZFRhYnMoJ2Zvb3RmYWxsJylcIj5cclxuICAgICAgICAgICAgICAgICAgICAgICAgPGEgW25nQ2xhc3NdPVwic2VsZWN0ZWRUYWIgPT09J2Zvb3RmYWxsJyA/ICdhY3RpdmUnIDonJ1wiXHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICBjbGFzcz1cIm5hdi1saW5rIG5hdi1saW5rMSBjdXJzb3ItcG9pbnRlciBtZS02XCI+Rm9vdGZhbGw8L2E+XHJcbiAgICAgICAgICAgICAgICAgICAgPC9saT5cclxuICAgICAgICAgICAgICAgICAgICA8bGkgY2xhc3M9XCJuYXYtaXRlbSBuYXYtaXRlbTFcIiAoY2xpY2spPVwic2VsZWN0ZWRUYWJzKCdib3VuY2VkJylcIj48YVxyXG4gICAgICAgICAgICAgICAgICAgICAgICBbbmdDbGFzc109XCJzZWxlY3RlZFRhYiA9PT0nYm91bmNlZCcgPyAnYWN0aXZlJyA6JydcIlxyXG4gICAgICAgICAgICAgICAgICAgICAgICBjbGFzcz1cIm5hdi1saW5rIG5hdi1saW5rMSBjdXJzb3ItcG9pbnRlciBuby1ib3JkZXIgbWUtNiBcIj57e2hlYWRlckRhdGE/LmNsaWVudCA9PT0nNDUyJyA/ICdMZXNzIHRoYW4gJysgZmVhdHVyZUNvbmZpZz8uYm91bmNlZExpbWl0LnZhbHVlKyAnIG1pbnMnIDogJ0JvdW5jZWQnfX0gRm9vdGZhbGw8L2E+XHJcbiAgICAgICAgICAgICAgICA8L2xpPlxyXG4gICAgICAgICAgICAgICAgPGxpIGNsYXNzPVwibmF2LWl0ZW0gbmF2LWl0ZW0xXCIgKGNsaWNrKT1cInNlbGVjdGVkVGFicygnZW5nYWdlcnMnKVwiPlxyXG4gICAgICAgICAgICAgICAgICAgIDxhIFtuZ0NsYXNzXT1cInNlbGVjdGVkVGFiID09PSdlbmdhZ2VycycgPyAnYWN0aXZlJyA6JydcIlxyXG4gICAgICAgICAgICAgICAgICAgICAgICBjbGFzcz1cIm5hdi1saW5rIG5hdi1saW5rMSBjdXJzb3ItcG9pbnRlciBtZS02XCI+e3toZWFkZXJEYXRhPy5jbGllbnQgPT09JzQ1MicgPyAnTW9yZSB0aGFuICcrIGZlYXR1cmVDb25maWc/LmJvdW5jZWRMaW1pdC52YWx1ZSArJyBtaW5zJyA6ICdFbmdhZ2Vycyd9fTwvYT5cclxuICAgICAgICAgICAgICAgIDwvbGk+XHJcbiAgICAgICAgICAgICAgXHJcbiAgICAgICAgICAgICAgICAgICBcclxuICAgICAgICAgICAgICAgICAgICA8bGkgY2xhc3M9XCJuYXYtaXRlbSBuYXYtaXRlbTFcIiAoY2xpY2spPVwic2VsZWN0ZWRUYWJzKCdtaXNzZWRPcHBvcnR1bml0eScpXCI+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgIDxhIFtuZ0NsYXNzXT1cInNlbGVjdGVkVGFiID09PSdtaXNzZWRPcHBvcnR1bml0eScgPyAnYWN0aXZlJyA6JydcIlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgY2xhc3M9XCJuYXYtbGluayBuYXYtbGluazEgY3Vyc29yLXBvaW50ZXIgbWUtNlwiPnt7aGVhZGVyRGF0YT8uY2xpZW50ID09PSc0NTInID8gZmVhdHVyZUNvbmZpZz8ubWlzc2VkT3Bwb3J0dW5pdHlGcm9tLnZhbHVlKycgLSAnKyBmZWF0dXJlQ29uZmlnPy5taXNzZWRPcHBvcnR1bml0eVRvLnZhbHVlKyAnIG1pbnMnOidNaXNzZWQgT3Bwb3J0dW5pdHknfX08L2E+XHJcbiAgICAgICAgICAgICAgICAgICAgPC9saT5cclxuICAgICAgICAgICAgICAgICAgICA8bGkgKm5nSWY9XCJoZWFkZXJEYXRhPy5jbGllbnQgIT09ICc0NTInXCIgY2xhc3M9XCJuYXYtaXRlbSBuYXYtaXRlbTFcIiAoY2xpY2spPVwic2VsZWN0ZWRUYWJzKCdwb3RlbnRpYWxCdXllcnMnKVwiPlxyXG4gICAgICAgICAgICAgICAgICAgICAgICA8YSBbbmdDbGFzc109XCJzZWxlY3RlZFRhYiA9PT0ncG90ZW50aWFsQnV5ZXJzJyA/ICdhY3RpdmUnIDonJ1wiXHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICBjbGFzcz1cIm5hdi1saW5rIG5hdi1saW5rMSBjdXJzb3ItcG9pbnRlciBtZS02XCI+UG90ZW50aWFsIEJ1eWVyPC9hPlxyXG4gICAgICAgICAgICAgICAgICAgIDwvbGk+XHJcbiAgICAgICAgICAgICAgICAgICAgPGxpIGNsYXNzPVwibmF2LWl0ZW0gbmF2LWl0ZW0xXCIgKGNsaWNrKT1cInNlbGVjdGVkVGFicygnY29udmVyc2lvbicpXCI+PGFcclxuICAgICAgICAgICAgICAgICAgICAgICAgW25nQ2xhc3NdPVwic2VsZWN0ZWRUYWIgPT09J2NvbnZlcnNpb24nID8gJ2FjdGl2ZScgOicnXCJcclxuICAgICAgICAgICAgICAgICAgICAgICAgY2xhc3M9XCJuYXYtbGluayBuYXYtbGluazEgY3Vyc29yLXBvaW50ZXIgbm8tYm9yZGVyIG1lLTYgXCI+e3toZWFkZXJEYXRhPy5jbGllbnQgPT09ICc0NTInID8gJ01vcmUgdGhhbiAnKyBmZWF0dXJlQ29uZmlnPy5jb252ZXJzaW9uLnZhbHVlICsgJyBtaW5zJzonQ29udmVyc2lvbid9fTwvYT5cclxuICAgICAgICAgICAgICAgIDwvbGk+XHJcbiAgICAgICAgICAgICAgICA8L3VsPlxyXG4gICAgICAgICAgICA8L2Rpdj5cclxuICAgICAgICBcclxuICAgICAgICAgICAgPGRpdiBjbGFzcz1cImNhcmQtYm9keVwiPlxyXG4gICAgICAgICAgICAgICAgPGRpdiAqbmdJZj1cImNoYXJ0bG9hZGluZ1wiIGNsYXNzPVwicm93IGxvYWRlciAgZC1mbGV4IGp1c3RpZnktY29udGVudC1jZW50ZXIgYWxpZ24taXRlbXMtY2VudGVyXCI+XHJcbiAgICAgICAgICAgICAgICAgICAgPGRpdiBjbGFzcz1cInNoaW1tZXJcIj5cclxuICAgICAgICAgICAgICAgICAgICAgICAgPGRpdiBjbGFzcz1cIndyYXBwZXJcIj5cclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxkaXYgY2xhc3M9XCJzdHJva2UgYW5pbWF0ZSB0aXRsZVwiPjwvZGl2PlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgPGRpdiBjbGFzcz1cInN0cm9rZSBhbmltYXRlIGxpbmtcIj48L2Rpdj5cclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxkaXYgY2xhc3M9XCJzdHJva2UgYW5pbWF0ZSBkZXNjcmlwdGlvblwiPjwvZGl2PlxyXG4gICAgICAgICAgICAgICAgICAgICAgICA8L2Rpdj5cclxuICAgICAgICAgICAgICAgICAgICA8L2Rpdj5cclxuICAgICAgICAgICAgICAgICAgICA8ZGl2IGNsYXNzPVwic2hpbW1lclwiPlxyXG4gICAgICAgICAgICAgICAgICAgICAgICA8ZGl2IGNsYXNzPVwid3JhcHBlclwiPlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgPGRpdiBjbGFzcz1cInN0cm9rZSBhbmltYXRlIHRpdGxlXCI+PC9kaXY+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICA8ZGl2IGNsYXNzPVwic3Ryb2tlIGFuaW1hdGUgbGlua1wiPjwvZGl2PlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgPGRpdiBjbGFzcz1cInN0cm9rZSBhbmltYXRlIGRlc2NyaXB0aW9uXCI+PC9kaXY+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgIDwvZGl2PlxyXG4gICAgICAgICAgICAgICAgICAgIDwvZGl2PlxyXG4gICAgICAgICAgICAgICAgPC9kaXY+XHJcbiAgICAgICAgICAgICAgICA8ZGl2ICpuZ0lmPVwiY2hhcnROb0RhdGFcIiBjbGFzcz1cInJvd1wiPlxyXG4gICAgICAgICAgICAgICAgICAgIDxkaXYgY2xhc3M9XCJjb2wtbGctMTIgbWItM1wiPlxyXG4gICAgICAgICAgICAgICAgICAgICAgICA8ZGl2IGNsYXNzPVwiY2FyZC1ib2R5IGQtZmxleCBqdXN0aWZ5LWNvbnRlbnQtY2VudGVyIGFsaWduLWl0ZW1zLWNlbnRlciBmbGV4LWNvbHVtblwiPlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgPGltZyBjbGFzcz1cImltZy1ub2RhdGFcIiBzcmM9XCIuL2Fzc2V0cy90YW5nby9JY29ucy9Ob2RhdGExLnN2Z1wiIGFsdD1cIlwiPlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgPGRpdiBjbGFzcz1cIm5vZGF0YS10aXRsZVwiPk5vIGRhdGEgZm91bmQ8L2Rpdj5cclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxkaXYgY2xhc3M9XCJub2RhdGEtc3ViXCI+VGhlcmUgaXMgbm8gcmVzdWx0IGZvciB0aGlzIDxzcGFuPnt7aGVhZGVyRGF0YT8uY2xpZW50ID09PSc0NTInID8gJ0FuYWx5c2lzJyA6IHNlbGN0ZWRWYWx1ZX19PC9zcGFuPjwvZGl2PlxyXG4gICAgICAgICAgICAgICAgICAgICAgICA8L2Rpdj5cclxuICAgICAgICAgICAgICAgICAgICA8L2Rpdj5cclxuICAgICAgICAgICAgICAgIDwvZGl2PlxyXG4gICAgICAgICAgICAgICAgPGRpdiBjbGFzcz1cInJvd1wiID5cclxuICAgICAgICAgICAgICAgICAgICA8ZGl2IGNsYXNzPVwiY29sLW1kLTIgaC0xMDBcIiAqbmdJZj1cIiFjaGFydGxvYWRpbmcgJiYgIWNoYXJ0Tm9EYXRhXCI+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgIDxkaXYgKm5nSWY9XCJzZWxlY3RlZFRhYiA9PT0ndHJhZmZpYydcIiBjbGFzcz1cImxlZnQtYmFyXCI+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICBcclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxkaXYgY2xhc3M9XCJteS03XCI+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGRpdiBjbGFzcz1cImQtZmxleCBhbGlnbi1pdGVtcy1jZW50ZXIgbXktMTAgbWUtMlwiPlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8ZGl2IGNsYXNzPVwiZmxleC1zaHJpbmstMCBtdC0zXCI+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8c3BhbiBjbGFzcz1cInctMTAwXCI+PHN2ZyB4bWxucz1cImh0dHA6Ly93d3cudzMub3JnLzIwMDAvc3ZnXCIgd2lkdGg9XCIyNFwiIGhlaWdodD1cIjI1XCIgdmlld0JveD1cIjAgMCAyNCAyNVwiIGZpbGw9XCJub25lXCI+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPHBhdGggZD1cIk0xMyAyLjEyNUwzIDE0LjEyNUgxMkwxMSAyMi4xMjVMMjEgMTAuMTI1SDEyTDEzIDIuMTI1WlwiIHN0cm9rZT1cIiM5OEEyQjNcIiBzdHJva2Utd2lkdGg9XCIyXCIgc3Ryb2tlLWxpbmVjYXA9XCJyb3VuZFwiIHN0cm9rZS1saW5lam9pbj1cInJvdW5kXCIvPlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvc3ZnPjwvc3Bhbj5cclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPC9kaXY+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxkaXYgY2xhc3M9XCJteC0zIG10LTFcIj5cclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxkaXYgY2xhc3M9XCJteS0xIGNhcmQtbGFiZWwgbGVmdC1jYXJkLWNvdW50XCI+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAge3tnZXREZW5zaXR5RHdlbGxEYXRhPy5kZW5zaXR5RHdlbGxDYXJkPy5idXNpZXN0RGF5ID9cclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBnZXREZW5zaXR5RHdlbGxEYXRhPy5kZW5zaXR5RHdlbGxDYXJkPy5idXNpZXN0RGF5IDonLS0nfX08L2Rpdj5cclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxkaXYgY2xhc3M9XCJsZWZ0LWNhcmQtY291bnQtaGVhZGVyXCI+QnVzaWVzdCBEYXk8L2Rpdj5cclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPC9kaXY+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPC9kaXY+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGRpdiBjbGFzcz1cImQtZmxleCBhbGlnbi1pdGVtcy1jZW50ZXIgbXktMTAgbWUtMlwiPlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8ZGl2IGNsYXNzPVwiZmxleC1zaHJpbmstMCBtdC0zXCI+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8c3BhbiBjbGFzcz1cInctMTAwXCI+PHN2ZyB4bWxucz1cImh0dHA6Ly93d3cudzMub3JnLzIwMDAvc3ZnXCIgd2lkdGg9XCIyNFwiIGhlaWdodD1cIjI1XCIgdmlld0JveD1cIjAgMCAyNCAyNVwiIGZpbGw9XCJub25lXCI+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPHBhdGggZD1cIk0xMyAyLjEyNUwzIDE0LjEyNUgxMkwxMSAyMi4xMjVMMjEgMTAuMTI1SDEyTDEzIDIuMTI1WlwiIHN0cm9rZT1cIiM5OEEyQjNcIiBzdHJva2Utd2lkdGg9XCIyXCIgc3Ryb2tlLWxpbmVjYXA9XCJyb3VuZFwiIHN0cm9rZS1saW5lam9pbj1cInJvdW5kXCIvPlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvc3ZnPjwvc3Bhbj5cclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPC9kaXY+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxkaXYgY2xhc3M9XCJteC0zIG10LTFcIj5cclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxkaXYgY2xhc3M9XCJteS0xIGNhcmQtbGFiZWwgbGVmdC1jYXJkLWNvdW50XCI+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAge3tnZXREZW5zaXR5RHdlbGxEYXRhPy5kZW5zaXR5RHdlbGxDYXJkPy5idXNpZXN0VGltZSA/XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgZ2V0RGVuc2l0eUR3ZWxsRGF0YT8uZGVuc2l0eUR3ZWxsQ2FyZD8uYnVzaWVzdFRpbWUgOictLSd9fTwvZGl2PlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGRpdiBjbGFzcz1cImxlZnQtY2FyZC1jb3VudC1oZWFkZXJcIj5CdXNpZXN0IFRpbWU8L2Rpdj5cclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPC9kaXY+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPC9kaXY+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGRpdiBjbGFzcz1cImQtZmxleCBhbGlnbi1pdGVtcy1jZW50ZXIgbXktMTAgbWUtMlwiPlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8ZGl2IGNsYXNzPVwiZmxleC1zaHJpbmstMCBtdC0zXCI+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8c3BhbiBjbGFzcz1cInctMTAwXCI+PHN2ZyB4bWxucz1cImh0dHA6Ly93d3cudzMub3JnLzIwMDAvc3ZnXCIgd2lkdGg9XCIyNFwiIGhlaWdodD1cIjI1XCIgdmlld0JveD1cIjAgMCAyNCAyNVwiIGZpbGw9XCJub25lXCI+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPHBhdGggZD1cIk0xMyAyLjEyNUwzIDE0LjEyNUgxMkwxMSAyMi4xMjVMMjEgMTAuMTI1SDEyTDEzIDIuMTI1WlwiIHN0cm9rZT1cIiM5OEEyQjNcIiBzdHJva2Utd2lkdGg9XCIyXCIgc3Ryb2tlLWxpbmVjYXA9XCJyb3VuZFwiIHN0cm9rZS1saW5lam9pbj1cInJvdW5kXCIvPlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvc3ZnPjwvc3Bhbj5cclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPC9kaXY+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxkaXYgY2xhc3M9XCJteC0zIG10LTFcIj5cclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxkaXYgY2xhc3M9XCJteS0xIGNhcmQtbGFiZWwgbGVmdC1jYXJkLWNvdW50XCI+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAge3tnZXREZW5zaXR5RHdlbGxEYXRhPy5kZW5zaXR5RHdlbGxDYXJkPy5hdmdEd2VsbFRpbWUgP1xyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGdldERlbnNpdHlEd2VsbERhdGE/LmRlbnNpdHlEd2VsbENhcmQ/LmF2Z0R3ZWxsVGltZSA6Jy0tJ319IE1pbnM8L2Rpdj5cclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxkaXYgY2xhc3M9XCJsZWZ0LWNhcmQtY291bnQtaGVhZGVyXCI+QXZnIER3ZWxsIFRpbWU8L2Rpdj5cclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPC9kaXY+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPC9kaXY+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGRpdiBjbGFzcz1cImQtZmxleCBhbGlnbi1pdGVtcy1jZW50ZXIgbXktMTAgbWUtMlwiPlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8ZGl2IGNsYXNzPVwiZmxleC1zaHJpbmstMCBtdC0zXCI+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8c3BhbiBjbGFzcz1cInctMTAwXCI+PHN2ZyB4bWxucz1cImh0dHA6Ly93d3cudzMub3JnLzIwMDAvc3ZnXCIgd2lkdGg9XCIyNFwiIGhlaWdodD1cIjI1XCIgdmlld0JveD1cIjAgMCAyNCAyNVwiIGZpbGw9XCJub25lXCI+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPHBhdGggZD1cIk0xMyAyLjEyNUwzIDE0LjEyNUgxMkwxMSAyMi4xMjVMMjEgMTAuMTI1SDEyTDEzIDIuMTI1WlwiIHN0cm9rZT1cIiM5OEEyQjNcIiBzdHJva2Utd2lkdGg9XCIyXCIgc3Ryb2tlLWxpbmVjYXA9XCJyb3VuZFwiIHN0cm9rZS1saW5lam9pbj1cInJvdW5kXCIvPlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvc3ZnPjwvc3Bhbj5cclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPC9kaXY+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxkaXYgY2xhc3M9XCJteC0zIG10LTFcIj5cclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxkaXYgY2xhc3M9XCJteS0xIGNhcmQtbGFiZWwgbGVmdC1jYXJkLWNvdW50XCI+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAge3tnZXREZW5zaXR5RHdlbGxEYXRhPy5kZW5zaXR5RHdlbGxDYXJkPy5tYWxlUmF0ZSA/XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgZ2V0RGVuc2l0eUR3ZWxsRGF0YT8uZGVuc2l0eUR3ZWxsQ2FyZD8ubWFsZVJhdGUgOictLSd9fSU8L2Rpdj5cclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxkaXYgY2xhc3M9XCJsZWZ0LWNhcmQtY291bnQtaGVhZGVyXCI+TWFsZTwvZGl2PlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8L2Rpdj5cclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGRpdiBjbGFzcz1cIm14LTMgbXQtMVwiPlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGRpdiBjbGFzcz1cIm15LTEgY2FyZC1sYWJlbCBsZWZ0LWNhcmQtY291bnRcIj5cclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB7e2dldERlbnNpdHlEd2VsbERhdGE/LmRlbnNpdHlEd2VsbENhcmQ/LmZlbWFsZVJhdGUgP1xyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGdldERlbnNpdHlEd2VsbERhdGE/LmRlbnNpdHlEd2VsbENhcmQ/LmZlbWFsZVJhdGUgOictLSd9fSU8L2Rpdj5cclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxkaXYgY2xhc3M9XCJsZWZ0LWNhcmQtY291bnQtaGVhZGVyXCI+RmVtYWxlPC9kaXY+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvZGl2PlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvZGl2PlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgPC9kaXY+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgIDwvZGl2PlxyXG4gICAgICAgICAgICAgICAgICAgICAgICA8ZGl2ICpuZ0lmPVwic2VsZWN0ZWRUYWIgPT09J2Zvb3RmYWxsJ1wiIGNsYXNzPVwibGVmdC1iYXJcIj5cclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxkaXYgY2xhc3M9XCJ0b3AtaGVhZGVyIHRleHQtY2VudGVyXCI+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGRpdiBjbGFzcz1cImxlZnQtYmFyLWNvdW50XCIgIFtuZ1N0eWxlXT1cIntcclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgJ2ZvbnQtc2l6ZSc6IChnZXRPdmVyYWxsQ2FyZERhdGE/LmZvb3RmYWxsQ2FyZD8uZm9vdGZhbGxDb3VudC50b0xvY2FsZVN0cmluZygpPy5sZW5ndGggPiA1ID8gJzI0cHgnIDogJzM2cHgnKSBcclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIH1cIiA+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB7e2dldE92ZXJhbGxDYXJkRGF0YT8uZm9vdGZhbGxDYXJkPy5mb290ZmFsbENvdW50ID9cclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgZ2V0T3ZlcmFsbENhcmREYXRhPy5mb290ZmFsbENhcmQ/LmZvb3RmYWxsQ291bnQudG9Mb2NhbGVTdHJpbmcoJ2VuLUlOJykgOictLSd9fTwvZGl2PlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxkaXYgY2xhc3M9XCJsZWZ0LWJhci10aXRsZVwiPkZvb3RmYWxsIENvdW50PC9kaXY+XHJcbiAgICAgICAgXHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICA8L2Rpdj5cclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxzcGFuIGNsYXNzPVwidy0xMDBcIj48c3ZnIHhtbG5zPVwiaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmdcIiB3aWR0aD1cIjE3NFwiIGhlaWdodD1cIjJcIlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB2aWV3Qm94PVwiMCAwIDE5NCAyXCIgZmlsbD1cIm5vbmVcIj5cclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPHBhdGggb3BhY2l0eT1cIjAuNFwiIGQ9XCJNMSAxTDE5MyAxXCIgc3Ryb2tlPVwiIzk5REFGRlwiIHN0cm9rZS1saW5lY2FwPVwicm91bmRcIiAvPlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvc3ZnPjwvc3Bhbj5cclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxkaXYgY2xhc3M9XCJteS01XCI+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGRpdiBjbGFzcz1cImQtZmxleCBhbGlnbi1pdGVtcy1jZW50ZXIgbXktNSBtZS0yXCI+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxkaXYgY2xhc3M9XCJmbGV4LXNocmluay0wIG10LTNcIj5cclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxzdmcgeG1sbnM9XCJodHRwOi8vd3d3LnczLm9yZy8yMDAwL3N2Z1wiIHdpZHRoPVwiMjRcIiBoZWlnaHQ9XCIyNFwiIHZpZXdCb3g9XCIwIDAgMjQgMjRcIlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGZpbGw9XCJub25lXCI+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPHBhdGhcclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgZD1cIk0yMCAyMVYxOUMyMCAxNy45MzkxIDE5LjU3ODYgMTYuOTIxNyAxOC44Mjg0IDE2LjE3MTZDMTguMDc4MyAxNS40MjE0IDE3LjA2MDkgMTUgMTYgMTVIOEM2LjkzOTEzIDE1IDUuOTIxNzIgMTUuNDIxNCA1LjE3MTU3IDE2LjE3MTZDNC40MjE0MyAxNi45MjE3IDQgMTcuOTM5MSA0IDE5VjIxTTE2IDdDMTYgOS4yMDkxNCAxNC4yMDkxIDExIDEyIDExQzkuNzkwODYgMTEgOCA5LjIwOTE0IDggN0M4IDQuNzkwODYgOS43OTA4NiAzIDEyIDNDMTQuMjA5MSAzIDE2IDQuNzkwODYgMTYgN1pcIlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBzdHJva2U9XCIjOThBMkIzXCIgc3Ryb2tlLXdpZHRoPVwiMlwiIHN0cm9rZS1saW5lY2FwPVwicm91bmRcIlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBzdHJva2UtbGluZWpvaW49XCJyb3VuZFwiIC8+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8L3N2Zz5cclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPC9kaXY+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxkaXYgY2xhc3M9XCJteC0zIG10LTFcIj5cclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxkaXYgY2xhc3M9XCJteS0xIGNhcmQtbGFiZWwgbGVmdC1jYXJkLWNvdW50XCI+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAge3tnZXRPdmVyYWxsQ2FyZERhdGE/LmZvb3RmYWxsQ2FyZD8uc2luZ2xlQ291bnQgP1xyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGdldE92ZXJhbGxDYXJkRGF0YT8uZm9vdGZhbGxDYXJkPy5zaW5nbGVDb3VudC50b0xvY2FsZVN0cmluZygnZW4tSU4nKSA6Jy0tJ319PC9kaXY+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8ZGl2IGNsYXNzPVwibGVmdC1jYXJkLWNvdW50LWhlYWRlclwiPlNpbmdsZTwvZGl2PlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8L2Rpdj5cclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8L2Rpdj5cclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8ZGl2ICpuZ0lmPVwiaGVhZGVyRGF0YS5jbGllbnQgIT09JzQ1MidcIiBjbGFzcz1cImQtZmxleCBhbGlnbi1pdGVtcy1jZW50ZXIgbXktNSBtZS0yXCI+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxkaXYgY2xhc3M9XCJmbGV4LXNocmluay0wIG10LTNcIj5cclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxzdmcgd2lkdGg9XCIyNlwiIGhlaWdodD1cIjI0XCIgdmlld0JveD1cIjAgMCAyNiAyNFwiIGZpbGw9XCJub25lXCJcclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB4bWxucz1cImh0dHA6Ly93d3cudzMub3JnLzIwMDAvc3ZnXCI+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPHJlY3Qgd2lkdGg9XCIyNlwiIGhlaWdodD1cIjI0XCIgZmlsbD1cIiNEQ0RDRENcIiAvPlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxyZWN0IHg9XCItNDYwLjVcIiB5PVwiLTM0MC41XCIgd2lkdGg9XCI3ODNcIiBoZWlnaHQ9XCIxOTQ3XCIgcng9XCI0LjVcIiBzdHJva2U9XCIjOTc0N0ZGXCJcclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgc3Ryb2tlLWRhc2hhcnJheT1cIjEwIDVcIiAvPlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxtYXNrIGlkPVwicGF0aC0yLWluc2lkZS0xXzcwN18xMzEwNlwiIGZpbGw9XCJ3aGl0ZVwiPlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8cGF0aFxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgZD1cIk0tMTg5IC04OUMtMTg5IC05NS42Mjc0IC0xODMuNjI3IC0xMDEgLTE3NyAtMTAxSDI5NUMzMDEuNjI3IC0xMDEgMzA3IC05NS42Mjc0IDMwNyAtODlWODVDMzA3IDkxLjYyNzQgMzAxLjYyNyA5NyAyOTUgOTdILTE3N0MtMTgzLjYyNyA5NyAtMTg5IDkxLjYyNzQgLTE4OSA4NVYtODlaXCIgLz5cclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8L21hc2s+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPHBhdGhcclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgZD1cIk0tMTg5IC04OUMtMTg5IC05NS42Mjc0IC0xODMuNjI3IC0xMDEgLTE3NyAtMTAxSDI5NUMzMDEuNjI3IC0xMDEgMzA3IC05NS42Mjc0IDMwNyAtODlWODVDMzA3IDkxLjYyNzQgMzAxLjYyNyA5NyAyOTUgOTdILTE3N0MtMTgzLjYyNyA5NyAtMTg5IDkxLjYyNzQgLTE4OSA4NVYtODlaXCJcclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgZmlsbD1cIndoaXRlXCIgLz5cclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8cGF0aFxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBkPVwiTS0xOTAgLTg5Qy0xOTAgLTk2LjE3OTcgLTE4NC4xOCAtMTAyIC0xNzcgLTEwMkgyOTRDMzAxLjE4IC0xMDIgMzA3IC05Ni4xNzk3IDMwNyAtODlDMzA3IC05NS4wNzUxIDMwMS42MjcgLTEwMCAyOTUgLTEwMEgtMTc3Qy0xODMuMDc1IC0xMDAgLTE4OCAtOTUuMDc1MSAtMTg4IC04OUgtMTkwWk0zMDcgODVDMzA3IDkyLjE3OTcgMzAxLjE4IDk4IDI5NCA5OEgtMTc3Qy0xODQuMTggOTggLTE5MCA5Mi4xNzk3IC0xOTAgODVILTE4OEMtMTg4IDkxLjA3NTEgLTE4My4wNzUgOTYgLTE3NyA5NkgyOTVDMzAxLjYyNyA5NiAzMDcgOTEuMDc1MSAzMDcgODVaTS0xNzcgOThDLTE4NC4xOCA5OCAtMTkwIDkyLjE3OTcgLTE5MCA4NVYtODlDLTE5MCAtOTYuMTc5NyAtMTg0LjE4IC0xMDIgLTE3NyAtMTAyVi0xMDBDLTE4My4wNzUgLTEwMCAtMTg4IC05NS4wNzUxIC0xODggLTg5Vjg1Qy0xODggOTEuMDc1MSAtMTgzLjA3NSA5NiAtMTc3IDk2Vjk4Wk0zMDcgLTEwMVY5N1YtMTAxWlwiXHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGZpbGw9XCIjRDBENUREXCIgbWFzaz1cInVybCgjcGF0aC0yLWluc2lkZS0xXzcwN18xMzEwNilcIiAvPlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxtYXNrIGlkPVwicGF0aC02LWluc2lkZS0yXzcwN18xMzEwNlwiIGZpbGw9XCJ3aGl0ZVwiPlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8cGF0aFxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgZD1cIk03LjcxMDY0IDcuMzg0NjJDOC4xOTU1MiA3LjM4NDYyIDguNjc1NjUgNy4yODkxMSA5LjEyMzYyIDcuMTAzNTZDOS41NzE1OSA2LjkxOCA5Ljk3ODYzIDYuNjQ2MDMgMTAuMzIxNSA2LjMwMzE2QzEwLjY2NDQgNS45NjAzIDEwLjkzNjMgNS41NTMyNiAxMS4xMjE5IDUuMTA1MjlDMTEuMzA3NCA0LjY1NzMyIDExLjQwMjkgNC4xNzcxOSAxMS40MDI5IDMuNjkyMzFDMTEuNDAyOSAzLjIwNzQzIDExLjMwNzQgMi43MjcyOSAxMS4xMjE5IDIuMjc5MzJDMTAuOTM2MyAxLjgzMTM1IDEwLjY2NDQgMS40MjQzMSAxMC4zMjE1IDEuMDgxNDVDOS45Nzg2MyAwLjczODU5IDkuNTcxNTkgMC40NjY2MTYgOS4xMjM2MiAwLjI4MTA2QzguNjc1NjUgMC4wOTU1MDQzIDguMTk1NTIgLTcuMjI1MjllLTA5IDcuNzEwNjQgMEM2LjczMTM4IDEuNDU5MjFlLTA4IDUuNzkyMjIgMC4zODkwMSA1LjA5OTc4IDEuMDgxNDVDNC40MDczNCAxLjc3Mzg5IDQuMDE4MzMgMi43MTMwNSA0LjAxODMzIDMuNjkyMzFDNC4wMTgzMyA0LjY3MTU3IDQuNDA3MzQgNS42MTA3MiA1LjA5OTc4IDYuMzAzMTZDNS43OTIyMiA2Ljk5NTYxIDYuNzMxMzggNy4zODQ2MiA3LjcxMDY0IDcuMzg0NjJaTTE4Ljc4NzYgNy4zODQ2MkMxOS4yNzI0IDcuMzg0NjIgMTkuNzUyNiA3LjI4OTExIDIwLjIwMDUgNy4xMDM1NkMyMC42NDg1IDYuOTE4IDIxLjA1NTYgNi42NDYwMyAyMS4zOTg0IDYuMzAzMTZDMjEuNzQxMyA1Ljk2MDMgMjIuMDEzMyA1LjU1MzI2IDIyLjE5ODggNS4xMDUyOUMyMi4zODQ0IDQuNjU3MzIgMjIuNDc5OSA0LjE3NzE5IDIyLjQ3OTkgMy42OTIzMUMyMi40Nzk5IDMuMjA3NDMgMjIuMzg0NCAyLjcyNzI5IDIyLjE5ODggMi4yNzkzMkMyMi4wMTMzIDEuODMxMzUgMjEuNzQxMyAxLjQyNDMxIDIxLjM5ODQgMS4wODE0NUMyMS4wNTU2IDAuNzM4NTkgMjAuNjQ4NSAwLjQ2NjYxNiAyMC4yMDA1IDAuMjgxMDZDMTkuNzUyNiAwLjA5NTUwNDMgMTkuMjcyNCAtNy4yMjUyOWUtMDkgMTguNzg3NiAwQzE3LjgwODMgMS40NTkyMWUtMDggMTYuODY5MSAwLjM4OTAxIDE2LjE3NjcgMS4wODE0NUMxNS40ODQzIDEuNzczODkgMTUuMDk1MyAyLjcxMzA1IDE1LjA5NTMgMy42OTIzMUMxNS4wOTUzIDQuNjcxNTcgMTUuNDg0MyA1LjYxMDcyIDE2LjE3NjcgNi4zMDMxNkMxNi44NjkxIDYuOTk1NjEgMTcuODA4MyA3LjM4NDYyIDE4Ljc4NzYgNy4zODQ2MlpNMC45NDE0MDYgMTAuNzM2QzAuOTQxNDA2IDEwLjQ1NzUgMC45OTYyNTggMTAuMTgxOCAxLjEwMjgzIDkuOTI0NDhDMS4yMDk0IDkuNjY3MTkgMS4zNjU2IDkuNDMzNDIgMS41NjI1MiA5LjIzNjVDMS43NTk0NCA5LjAzOTU4IDEuOTkzMjEgOC44ODMzOCAyLjI1MDUgOC43NzY4MUMyLjUwNzc4IDguNjcwMjQgMi43ODM1NCA4LjYxNTM5IDMuMDYyMDIgOC42MTUzOUg4Ljk4NDQ4QzguNTUxNjkgOS4zNjM0NSA4LjMyNDUyIDEwLjIxMjcgOC4zMjYwMiAxMS4wNzY5QzguMzI1MTkgMTEuNzc1NSA4LjQ3MzQxIDEyLjQ2NjIgOC43NjA3OSAxMy4xMDI5QzkuMDQ4MTYgMTMuNzM5NiA5LjQ2ODA3IDE0LjMwNzcgOS45OTI0OCAxNC43NjkySDguNjAwNDhDOC4wMTQxOCAxNC43Njg3IDcuNDM4MDMgMTQuOTIyMiA2LjkyOTY5IDE1LjIxNDRDNi40MjEzNCAxNS41MDY1IDUuOTk4NjQgMTUuOTI3IDUuNzAzODcgMTYuNDMzOEMzLjcyMTEgMTYuMDQ0OSAyLjUxNjE4IDE1LjA3ODIgMS44MTQ2NCAxMy45OTJDMC45NDE0MDYgMTIuNjQgMC45NDE0MDYgMTEuMjQzMSAwLjk0MTQwNiAxMS4wMDEyVjEwLjczNlpNMTcuODk3NyAxNC43NjkyQzE4LjQ4NCAxNC43Njg3IDE5LjA2MDIgMTQuOTIyMiAxOS41Njg1IDE1LjIxNDRDMjAuMDc2OSAxNS41MDY1IDIwLjQ5OTYgMTUuOTI3IDIwLjc5NDMgMTYuNDMzOEMyMi43NzcxIDE2LjA0NDkgMjMuOTgyIDE1LjA3ODIgMjQuNjgzNiAxMy45OTJDMjUuNTU2OCAxMi42NCAyNS41NTY4IDExLjI0MzEgMjUuNTU2OCAxMS4wMDEyVjEwLjczNjZDMjUuNTU2OSAxMC40NTgxIDI1LjUwMjEgMTAuMTgyMyAyNS4zOTU1IDkuOTI0OUMyNS4yODkgOS42Njc1NSAyNS4xMzI4IDkuNDMzNyAyNC45MzU5IDkuMjM2NzJDMjQuNzM5IDkuMDM5NzMgMjQuNTA1MiA4Ljg4MzQ4IDI0LjI0NzggOC43NzY4N0MyMy45OTA1IDguNjcwMjYgMjMuNzE0NyA4LjYxNTM5IDIzLjQzNjIgOC42MTUzOUgxNy41MTM3QzE3Ljk0NjUgOS4zNjM0NSAxOC4xNzM3IDEwLjIxMjcgMTguMTcyMiAxMS4wNzY5QzE4LjE3MyAxMS43NzU1IDE4LjAyNDggMTIuNDY2MiAxNy43Mzc0IDEzLjEwMjlDMTcuNDUgMTMuNzM5NiAxNy4wMzAxIDE0LjMwNzcgMTYuNTA1NyAxNC43NjkySDE3Ljg5NzdaTTE2Ljk0MTQgMTEuMDc2OUMxNi45NDE0IDEyLjA1NjIgMTYuNTUyNCAxMi45OTUzIDE1Ljg2IDEzLjY4NzhDMTUuMTY3NSAxNC4zODAyIDE0LjIyODQgMTQuNzY5MiAxMy4yNDkxIDE0Ljc2OTJDMTIuMjY5OCAxNC43NjkyIDExLjMzMDcgMTQuMzgwMiAxMC42MzgyIDEzLjY4NzhDOS45NDU4IDEyLjk5NTMgOS41NTY3OSAxMi4wNTYyIDkuNTU2NzkgMTEuMDc2OUM5LjU1Njc5IDEwLjA5NzcgOS45NDU4IDkuMTU4NTEgMTAuNjM4MiA4LjQ2NjA3QzExLjMzMDcgNy43NzM2MyAxMi4yNjk4IDcuMzg0NjIgMTMuMjQ5MSA3LjM4NDYyQzE0LjIyODQgNy4zODQ2MiAxNS4xNjc1IDcuNzczNjMgMTUuODYgOC40NjYwN0MxNi41NTI0IDkuMTU4NTEgMTYuOTQxNCAxMC4wOTc3IDE2Ljk0MTQgMTEuMDc2OVpNNi40Nzk4NyAxOC4xMjA2QzYuNDc5ODcgMTcuNTU4MiA2LjcwMzI5IDE3LjAxODggNy4xMDA5OCAxNi42MjExQzcuNDk4NjcgMTYuMjIzNCA4LjAzODA2IDE2IDguNjAwNDggMTZIMTcuODk3N0MxOC40NjAxIDE2IDE4Ljk5OTUgMTYuMjIzNCAxOS4zOTcyIDE2LjYyMTFDMTkuNzk0OSAxNy4wMTg4IDIwLjAxODMgMTcuNTU4MiAyMC4wMTgzIDE4LjEyMDZWMTguMzg1OEMyMC4wMTgzIDE4LjYyODMgMjAuMDE4MyAyMC4wMjQ2IDE5LjE0NTEgMjEuMzc2NkMxOC4yMzI1IDIyLjc4OTUgMTYuNDY5NCAyNCAxMy4yNDkxIDI0QzEwLjAyODggMjQgOC4yNjU3MSAyMi43ODk1IDcuMzUzMSAyMS4zNzY2QzYuNDc5ODcgMjAuMDI0NiA2LjQ3OTg3IDE4LjYyNzcgNi40Nzk4NyAxOC4zODU4VjE4LjEyMDZaXCIgLz5cclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8L21hc2s+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPHBhdGhcclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgZD1cIk03LjcxMDY0IDcuMzg0NjJDOC4xOTU1MiA3LjM4NDYyIDguNjc1NjUgNy4yODkxMSA5LjEyMzYyIDcuMTAzNTZDOS41NzE1OSA2LjkxOCA5Ljk3ODYzIDYuNjQ2MDMgMTAuMzIxNSA2LjMwMzE2QzEwLjY2NDQgNS45NjAzIDEwLjkzNjMgNS41NTMyNiAxMS4xMjE5IDUuMTA1MjlDMTEuMzA3NCA0LjY1NzMyIDExLjQwMjkgNC4xNzcxOSAxMS40MDI5IDMuNjkyMzFDMTEuNDAyOSAzLjIwNzQzIDExLjMwNzQgMi43MjcyOSAxMS4xMjE5IDIuMjc5MzJDMTAuOTM2MyAxLjgzMTM1IDEwLjY2NDQgMS40MjQzMSAxMC4zMjE1IDEuMDgxNDVDOS45Nzg2MyAwLjczODU5IDkuNTcxNTkgMC40NjY2MTYgOS4xMjM2MiAwLjI4MTA2QzguNjc1NjUgMC4wOTU1MDQzIDguMTk1NTIgLTcuMjI1MjllLTA5IDcuNzEwNjQgMEM2LjczMTM4IDEuNDU5MjFlLTA4IDUuNzkyMjIgMC4zODkwMSA1LjA5OTc4IDEuMDgxNDVDNC40MDczNCAxLjc3Mzg5IDQuMDE4MzMgMi43MTMwNSA0LjAxODMzIDMuNjkyMzFDNC4wMTgzMyA0LjY3MTU3IDQuNDA3MzQgNS42MTA3MiA1LjA5OTc4IDYuMzAzMTZDNS43OTIyMiA2Ljk5NTYxIDYuNzMxMzggNy4zODQ2MiA3LjcxMDY0IDcuMzg0NjJaTTE4Ljc4NzYgNy4zODQ2MkMxOS4yNzI0IDcuMzg0NjIgMTkuNzUyNiA3LjI4OTExIDIwLjIwMDUgNy4xMDM1NkMyMC42NDg1IDYuOTE4IDIxLjA1NTYgNi42NDYwMyAyMS4zOTg0IDYuMzAzMTZDMjEuNzQxMyA1Ljk2MDMgMjIuMDEzMyA1LjU1MzI2IDIyLjE5ODggNS4xMDUyOUMyMi4zODQ0IDQuNjU3MzIgMjIuNDc5OSA0LjE3NzE5IDIyLjQ3OTkgMy42OTIzMUMyMi40Nzk5IDMuMjA3NDMgMjIuMzg0NCAyLjcyNzI5IDIyLjE5ODggMi4yNzkzMkMyMi4wMTMzIDEuODMxMzUgMjEuNzQxMyAxLjQyNDMxIDIxLjM5ODQgMS4wODE0NUMyMS4wNTU2IDAuNzM4NTkgMjAuNjQ4NSAwLjQ2NjYxNiAyMC4yMDA1IDAuMjgxMDZDMTkuNzUyNiAwLjA5NTUwNDMgMTkuMjcyNCAtNy4yMjUyOWUtMDkgMTguNzg3NiAwQzE3LjgwODMgMS40NTkyMWUtMDggMTYuODY5MSAwLjM4OTAxIDE2LjE3NjcgMS4wODE0NUMxNS40ODQzIDEuNzczODkgMTUuMDk1MyAyLjcxMzA1IDE1LjA5NTMgMy42OTIzMUMxNS4wOTUzIDQuNjcxNTcgMTUuNDg0MyA1LjYxMDcyIDE2LjE3NjcgNi4zMDMxNkMxNi44NjkxIDYuOTk1NjEgMTcuODA4MyA3LjM4NDYyIDE4Ljc4NzYgNy4zODQ2MlpNMC45NDE0MDYgMTAuNzM2QzAuOTQxNDA2IDEwLjQ1NzUgMC45OTYyNTggMTAuMTgxOCAxLjEwMjgzIDkuOTI0NDhDMS4yMDk0IDkuNjY3MTkgMS4zNjU2IDkuNDMzNDIgMS41NjI1MiA5LjIzNjVDMS43NTk0NCA5LjAzOTU4IDEuOTkzMjEgOC44ODMzOCAyLjI1MDUgOC43NzY4MUMyLjUwNzc4IDguNjcwMjQgMi43ODM1NCA4LjYxNTM5IDMuMDYyMDIgOC42MTUzOUg4Ljk4NDQ4QzguNTUxNjkgOS4zNjM0NSA4LjMyNDUyIDEwLjIxMjcgOC4zMjYwMiAxMS4wNzY5QzguMzI1MTkgMTEuNzc1NSA4LjQ3MzQxIDEyLjQ2NjIgOC43NjA3OSAxMy4xMDI5QzkuMDQ4MTYgMTMuNzM5NiA5LjQ2ODA3IDE0LjMwNzcgOS45OTI0OCAxNC43NjkySDguNjAwNDhDOC4wMTQxOCAxNC43Njg3IDcuNDM4MDMgMTQuOTIyMiA2LjkyOTY5IDE1LjIxNDRDNi40MjEzNCAxNS41MDY1IDUuOTk4NjQgMTUuOTI3IDUuNzAzODcgMTYuNDMzOEMzLjcyMTEgMTYuMDQ0OSAyLjUxNjE4IDE1LjA3ODIgMS44MTQ2NCAxMy45OTJDMC45NDE0MDYgMTIuNjQgMC45NDE0MDYgMTEuMjQzMSAwLjk0MTQwNiAxMS4wMDEyVjEwLjczNlpNMTcuODk3NyAxNC43NjkyQzE4LjQ4NCAxNC43Njg3IDE5LjA2MDIgMTQuOTIyMiAxOS41Njg1IDE1LjIxNDRDMjAuMDc2OSAxNS41MDY1IDIwLjQ5OTYgMTUuOTI3IDIwLjc5NDMgMTYuNDMzOEMyMi43NzcxIDE2LjA0NDkgMjMuOTgyIDE1LjA3ODIgMjQuNjgzNiAxMy45OTJDMjUuNTU2OCAxMi42NCAyNS41NTY4IDExLjI0MzEgMjUuNTU2OCAxMS4wMDEyVjEwLjczNjZDMjUuNTU2OSAxMC40NTgxIDI1LjUwMjEgMTAuMTgyMyAyNS4zOTU1IDkuOTI0OUMyNS4yODkgOS42Njc1NSAyNS4xMzI4IDkuNDMzNyAyNC45MzU5IDkuMjM2NzJDMjQuNzM5IDkuMDM5NzMgMjQuNTA1MiA4Ljg4MzQ4IDI0LjI0NzggOC43NzY4N0MyMy45OTA1IDguNjcwMjYgMjMuNzE0NyA4LjYxNTM5IDIzLjQzNjIgOC42MTUzOUgxNy41MTM3QzE3Ljk0NjUgOS4zNjM0NSAxOC4xNzM3IDEwLjIxMjcgMTguMTcyMiAxMS4wNzY5QzE4LjE3MyAxMS43NzU1IDE4LjAyNDggMTIuNDY2MiAxNy43Mzc0IDEzLjEwMjlDMTcuNDUgMTMuNzM5NiAxNy4wMzAxIDE0LjMwNzcgMTYuNTA1NyAxNC43NjkySDE3Ljg5NzdaTTE2Ljk0MTQgMTEuMDc2OUMxNi45NDE0IDEyLjA1NjIgMTYuNTUyNCAxMi45OTUzIDE1Ljg2IDEzLjY4NzhDMTUuMTY3NSAxNC4zODAyIDE0LjIyODQgMTQuNzY5MiAxMy4yNDkxIDE0Ljc2OTJDMTIuMjY5OCAxNC43NjkyIDExLjMzMDcgMTQuMzgwMiAxMC42MzgyIDEzLjY4NzhDOS45NDU4IDEyLjk5NTMgOS41NTY3OSAxMi4wNTYyIDkuNTU2NzkgMTEuMDc2OUM5LjU1Njc5IDEwLjA5NzcgOS45NDU4IDkuMTU4NTEgMTAuNjM4MiA4LjQ2NjA3QzExLjMzMDcgNy43NzM2MyAxMi4yNjk4IDcuMzg0NjIgMTMuMjQ5MSA3LjM4NDYyQzE0LjIyODQgNy4zODQ2MiAxNS4xNjc1IDcuNzczNjMgMTUuODYgOC40NjYwN0MxNi41NTI0IDkuMTU4NTEgMTYuOTQxNCAxMC4wOTc3IDE2Ljk0MTQgMTEuMDc2OVpNNi40Nzk4NyAxOC4xMjA2QzYuNDc5ODcgMTcuNTU4MiA2LjcwMzI5IDE3LjAxODggNy4xMDA5OCAxNi42MjExQzcuNDk4NjcgMTYuMjIzNCA4LjAzODA2IDE2IDguNjAwNDggMTZIMTcuODk3N0MxOC40NjAxIDE2IDE4Ljk5OTUgMTYuMjIzNCAxOS4zOTcyIDE2LjYyMTFDMTkuNzk0OSAxNy4wMTg4IDIwLjAxODMgMTcuNTU4MiAyMC4wMTgzIDE4LjEyMDZWMTguMzg1OEMyMC4wMTgzIDE4LjYyODMgMjAuMDE4MyAyMC4wMjQ2IDE5LjE0NTEgMjEuMzc2NkMxOC4yMzI1IDIyLjc4OTUgMTYuNDY5NCAyNCAxMy4yNDkxIDI0QzEwLjAyODggMjQgOC4yNjU3MSAyMi43ODk1IDcuMzUzMSAyMS4zNzY2QzYuNDc5ODcgMjAuMDI0NiA2LjQ3OTg3IDE4LjYyNzcgNi40Nzk4NyAxOC4zODU4VjE4LjEyMDZaXCJcclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgc3Ryb2tlPVwiIzk4QTJCM1wiIHN0cm9rZS13aWR0aD1cIjNcIiBtYXNrPVwidXJsKCNwYXRoLTYtaW5zaWRlLTJfNzA3XzEzMTA2KVwiIC8+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8L3N2Zz5cclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPC9kaXY+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxkaXYgY2xhc3M9XCJteC0zIG10LTFcIj5cclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxkaXYgY2xhc3M9XCJteS0xIGNhcmQtbGFiZWwgbGVmdC1jYXJkLWNvdW50XCI+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAge3tnZXRPdmVyYWxsQ2FyZERhdGE/LmZvb3RmYWxsQ2FyZD8uZ3JvdXBDb3VudCA/XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgZ2V0T3ZlcmFsbENhcmREYXRhPy5mb290ZmFsbENhcmQ/Lmdyb3VwQ291bnQudG9Mb2NhbGVTdHJpbmcoJ2VuLUlOJykgOictLSd9fTwvZGl2PlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGRpdiBjbGFzcz1cImxlZnQtY2FyZC1jb3VudC1oZWFkZXJcIj5Hcm91cCBGb290ZmFsbDwvZGl2PlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8L2Rpdj5cclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8L2Rpdj5cclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8ZGl2IGNsYXNzPVwiZC1mbGV4IGFsaWduLWl0ZW1zLWNlbnRlciBteS01IG1lLTJcIj5cclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGRpdiBjbGFzcz1cImZsZXgtc2hyaW5rLTAgbXQtM1wiPlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPHN2ZyB3aWR0aD1cIjI2XCIgaGVpZ2h0PVwiMjRcIiB2aWV3Qm94PVwiMCAwIDI2IDI0XCIgZmlsbD1cIm5vbmVcIlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHhtbG5zPVwiaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmdcIj5cclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8cmVjdCB3aWR0aD1cIjI2XCIgaGVpZ2h0PVwiMjRcIiBmaWxsPVwiI0RDRENEQ1wiIC8+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPHJlY3QgeD1cIi00NjAuNVwiIHk9XCItMzQwLjVcIiB3aWR0aD1cIjc4M1wiIGhlaWdodD1cIjE5NDdcIiByeD1cIjQuNVwiIHN0cm9rZT1cIiM5NzQ3RkZcIlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBzdHJva2UtZGFzaGFycmF5PVwiMTAgNVwiIC8+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPG1hc2sgaWQ9XCJwYXRoLTItaW5zaWRlLTFfNzA3XzEzMTA2XCIgZmlsbD1cIndoaXRlXCI+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxwYXRoXHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBkPVwiTS0xODkgLTg5Qy0xODkgLTk1LjYyNzQgLTE4My42MjcgLTEwMSAtMTc3IC0xMDFIMjk1QzMwMS42MjcgLTEwMSAzMDcgLTk1LjYyNzQgMzA3IC04OVY4NUMzMDcgOTEuNjI3NCAzMDEuNjI3IDk3IDI5NSA5N0gtMTc3Qy0xODMuNjI3IDk3IC0xODkgOTEuNjI3NCAtMTg5IDg1Vi04OVpcIiAvPlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvbWFzaz5cclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8cGF0aFxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBkPVwiTS0xODkgLTg5Qy0xODkgLTk1LjYyNzQgLTE4My42MjcgLTEwMSAtMTc3IC0xMDFIMjk1QzMwMS42MjcgLTEwMSAzMDcgLTk1LjYyNzQgMzA3IC04OVY4NUMzMDcgOTEuNjI3NCAzMDEuNjI3IDk3IDI5NSA5N0gtMTc3Qy0xODMuNjI3IDk3IC0xODkgOTEuNjI3NCAtMTg5IDg1Vi04OVpcIlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBmaWxsPVwid2hpdGVcIiAvPlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxwYXRoXHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGQ9XCJNLTE5MCAtODlDLTE5MCAtOTYuMTc5NyAtMTg0LjE4IC0xMDIgLTE3NyAtMTAySDI5NEMzMDEuMTggLTEwMiAzMDcgLTk2LjE3OTcgMzA3IC04OUMzMDcgLTk1LjA3NTEgMzAxLjYyNyAtMTAwIDI5NSAtMTAwSC0xNzdDLTE4My4wNzUgLTEwMCAtMTg4IC05NS4wNzUxIC0xODggLTg5SC0xOTBaTTMwNyA4NUMzMDcgOTIuMTc5NyAzMDEuMTggOTggMjk0IDk4SC0xNzdDLTE4NC4xOCA5OCAtMTkwIDkyLjE3OTcgLTE5MCA4NUgtMTg4Qy0xODggOTEuMDc1MSAtMTgzLjA3NSA5NiAtMTc3IDk2SDI5NUMzMDEuNjI3IDk2IDMwNyA5MS4wNzUxIDMwNyA4NVpNLTE3NyA5OEMtMTg0LjE4IDk4IC0xOTAgOTIuMTc5NyAtMTkwIDg1Vi04OUMtMTkwIC05Ni4xNzk3IC0xODQuMTggLTEwMiAtMTc3IC0xMDJWLTEwMEMtMTgzLjA3NSAtMTAwIC0xODggLTk1LjA3NTEgLTE4OCAtODlWODVDLTE4OCA5MS4wNzUxIC0xODMuMDc1IDk2IC0xNzcgOTZWOThaTTMwNyAtMTAxVjk3Vi0xMDFaXCJcclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgZmlsbD1cIiNEMEQ1RERcIiBtYXNrPVwidXJsKCNwYXRoLTItaW5zaWRlLTFfNzA3XzEzMTA2KVwiIC8+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPG1hc2sgaWQ9XCJwYXRoLTYtaW5zaWRlLTJfNzA3XzEzMTA2XCIgZmlsbD1cIndoaXRlXCI+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxwYXRoXHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBkPVwiTTcuNzEwNjQgNy4zODQ2MkM4LjE5NTUyIDcuMzg0NjIgOC42NzU2NSA3LjI4OTExIDkuMTIzNjIgNy4xMDM1NkM5LjU3MTU5IDYuOTE4IDkuOTc4NjMgNi42NDYwMyAxMC4zMjE1IDYuMzAzMTZDMTAuNjY0NCA1Ljk2MDMgMTAuOTM2MyA1LjU1MzI2IDExLjEyMTkgNS4xMDUyOUMxMS4zMDc0IDQuNjU3MzIgMTEuNDAyOSA0LjE3NzE5IDExLjQwMjkgMy42OTIzMUMxMS40MDI5IDMuMjA3NDMgMTEuMzA3NCAyLjcyNzI5IDExLjEyMTkgMi4yNzkzMkMxMC45MzYzIDEuODMxMzUgMTAuNjY0NCAxLjQyNDMxIDEwLjMyMTUgMS4wODE0NUM5Ljk3ODYzIDAuNzM4NTkgOS41NzE1OSAwLjQ2NjYxNiA5LjEyMzYyIDAuMjgxMDZDOC42NzU2NSAwLjA5NTUwNDMgOC4xOTU1MiAtNy4yMjUyOWUtMDkgNy43MTA2NCAwQzYuNzMxMzggMS40NTkyMWUtMDggNS43OTIyMiAwLjM4OTAxIDUuMDk5NzggMS4wODE0NUM0LjQwNzM0IDEuNzczODkgNC4wMTgzMyAyLjcxMzA1IDQuMDE4MzMgMy42OTIzMUM0LjAxODMzIDQuNjcxNTcgNC40MDczNCA1LjYxMDcyIDUuMDk5NzggNi4zMDMxNkM1Ljc5MjIyIDYuOTk1NjEgNi43MzEzOCA3LjM4NDYyIDcuNzEwNjQgNy4zODQ2MlpNMTguNzg3NiA3LjM4NDYyQzE5LjI3MjQgNy4zODQ2MiAxOS43NTI2IDcuMjg5MTEgMjAuMjAwNSA3LjEwMzU2QzIwLjY0ODUgNi45MTggMjEuMDU1NiA2LjY0NjAzIDIxLjM5ODQgNi4zMDMxNkMyMS43NDEzIDUuOTYwMyAyMi4wMTMzIDUuNTUzMjYgMjIuMTk4OCA1LjEwNTI5QzIyLjM4NDQgNC42NTczMiAyMi40Nzk5IDQuMTc3MTkgMjIuNDc5OSAzLjY5MjMxQzIyLjQ3OTkgMy4yMDc0MyAyMi4zODQ0IDIuNzI3MjkgMjIuMTk4OCAyLjI3OTMyQzIyLjAxMzMgMS44MzEzNSAyMS43NDEzIDEuNDI0MzEgMjEuMzk4NCAxLjA4MTQ1QzIxLjA1NTYgMC43Mzg1OSAyMC42NDg1IDAuNDY2NjE2IDIwLjIwMDUgMC4yODEwNkMxOS43NTI2IDAuMDk1NTA0MyAxOS4yNzI0IC03LjIyNTI5ZS0wOSAxOC43ODc2IDBDMTcuODA4MyAxLjQ1OTIxZS0wOCAxNi44NjkxIDAuMzg5MDEgMTYuMTc2NyAxLjA4MTQ1QzE1LjQ4NDMgMS43NzM4OSAxNS4wOTUzIDIuNzEzMDUgMTUuMDk1MyAzLjY5MjMxQzE1LjA5NTMgNC42NzE1NyAxNS40ODQzIDUuNjEwNzIgMTYuMTc2NyA2LjMwMzE2QzE2Ljg2OTEgNi45OTU2MSAxNy44MDgzIDcuMzg0NjIgMTguNzg3NiA3LjM4NDYyWk0wLjk0MTQwNiAxMC43MzZDMC45NDE0MDYgMTAuNDU3NSAwLjk5NjI1OCAxMC4xODE4IDEuMTAyODMgOS45MjQ0OEMxLjIwOTQgOS42NjcxOSAxLjM2NTYgOS40MzM0MiAxLjU2MjUyIDkuMjM2NUMxLjc1OTQ0IDkuMDM5NTggMS45OTMyMSA4Ljg4MzM4IDIuMjUwNSA4Ljc3NjgxQzIuNTA3NzggOC42NzAyNCAyLjc4MzU0IDguNjE1MzkgMy4wNjIwMiA4LjYxNTM5SDguOTg0NDhDOC41NTE2OSA5LjM2MzQ1IDguMzI0NTIgMTAuMjEyNyA4LjMyNjAyIDExLjA3NjlDOC4zMjUxOSAxMS43NzU1IDguNDczNDEgMTIuNDY2MiA4Ljc2MDc5IDEzLjEwMjlDOS4wNDgxNiAxMy43Mzk2IDkuNDY4MDcgMTQuMzA3NyA5Ljk5MjQ4IDE0Ljc2OTJIOC42MDA0OEM4LjAxNDE4IDE0Ljc2ODcgNy40MzgwMyAxNC45MjIyIDYuOTI5NjkgMTUuMjE0NEM2LjQyMTM0IDE1LjUwNjUgNS45OTg2NCAxNS45MjcgNS43MDM4NyAxNi40MzM4QzMuNzIxMSAxNi4wNDQ5IDIuNTE2MTggMTUuMDc4MiAxLjgxNDY0IDEzLjk5MkMwLjk0MTQwNiAxMi42NCAwLjk0MTQwNiAxMS4yNDMxIDAuOTQxNDA2IDExLjAwMTJWMTAuNzM2Wk0xNy44OTc3IDE0Ljc2OTJDMTguNDg0IDE0Ljc2ODcgMTkuMDYwMiAxNC45MjIyIDE5LjU2ODUgMTUuMjE0NEMyMC4wNzY5IDE1LjUwNjUgMjAuNDk5NiAxNS45MjcgMjAuNzk0MyAxNi40MzM4QzIyLjc3NzEgMTYuMDQ0OSAyMy45ODIgMTUuMDc4MiAyNC42ODM2IDEzLjk5MkMyNS41NTY4IDEyLjY0IDI1LjU1NjggMTEuMjQzMSAyNS41NTY4IDExLjAwMTJWMTAuNzM2NkMyNS41NTY5IDEwLjQ1ODEgMjUuNTAyMSAxMC4xODIzIDI1LjM5NTUgOS45MjQ5QzI1LjI4OSA5LjY2NzU1IDI1LjEzMjggOS40MzM3IDI0LjkzNTkgOS4yMzY3MkMyNC43MzkgOS4wMzk3MyAyNC41MDUyIDguODgzNDggMjQuMjQ3OCA4Ljc3Njg3QzIzLjk5MDUgOC42NzAyNiAyMy43MTQ3IDguNjE1MzkgMjMuNDM2MiA4LjYxNTM5SDE3LjUxMzdDMTcuOTQ2NSA5LjM2MzQ1IDE4LjE3MzcgMTAuMjEyNyAxOC4xNzIyIDExLjA3NjlDMTguMTczIDExLjc3NTUgMTguMDI0OCAxMi40NjYyIDE3LjczNzQgMTMuMTAyOUMxNy40NSAxMy43Mzk2IDE3LjAzMDEgMTQuMzA3NyAxNi41MDU3IDE0Ljc2OTJIMTcuODk3N1pNMTYuOTQxNCAxMS4wNzY5QzE2Ljk0MTQgMTIuMDU2MiAxNi41NTI0IDEyLjk5NTMgMTUuODYgMTMuNjg3OEMxNS4xNjc1IDE0LjM4MDIgMTQuMjI4NCAxNC43NjkyIDEzLjI0OTEgMTQuNzY5MkMxMi4yNjk4IDE0Ljc2OTIgMTEuMzMwNyAxNC4zODAyIDEwLjYzODIgMTMuNjg3OEM5Ljk0NTggMTIuOTk1MyA5LjU1Njc5IDEyLjA1NjIgOS41NTY3OSAxMS4wNzY5QzkuNTU2NzkgMTAuMDk3NyA5Ljk0NTggOS4xNTg1MSAxMC42MzgyIDguNDY2MDdDMTEuMzMwNyA3Ljc3MzYzIDEyLjI2OTggNy4zODQ2MiAxMy4yNDkxIDcuMzg0NjJDMTQuMjI4NCA3LjM4NDYyIDE1LjE2NzUgNy43NzM2MyAxNS44NiA4LjQ2NjA3QzE2LjU1MjQgOS4xNTg1MSAxNi45NDE0IDEwLjA5NzcgMTYuOTQxNCAxMS4wNzY5Wk02LjQ3OTg3IDE4LjEyMDZDNi40Nzk4NyAxNy41NTgyIDYuNzAzMjkgMTcuMDE4OCA3LjEwMDk4IDE2LjYyMTFDNy40OTg2NyAxNi4yMjM0IDguMDM4MDYgMTYgOC42MDA0OCAxNkgxNy44OTc3QzE4LjQ2MDEgMTYgMTguOTk5NSAxNi4yMjM0IDE5LjM5NzIgMTYuNjIxMUMxOS43OTQ5IDE3LjAxODggMjAuMDE4MyAxNy41NTgyIDIwLjAxODMgMTguMTIwNlYxOC4zODU4QzIwLjAxODMgMTguNjI4MyAyMC4wMTgzIDIwLjAyNDYgMTkuMTQ1MSAyMS4zNzY2QzE4LjIzMjUgMjIuNzg5NSAxNi40Njk0IDI0IDEzLjI0OTEgMjRDMTAuMDI4OCAyNCA4LjI2NTcxIDIyLjc4OTUgNy4zNTMxIDIxLjM3NjZDNi40Nzk4NyAyMC4wMjQ2IDYuNDc5ODcgMTguNjI3NyA2LjQ3OTg3IDE4LjM4NThWMTguMTIwNlpcIiAvPlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvbWFzaz5cclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8cGF0aFxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBkPVwiTTcuNzEwNjQgNy4zODQ2MkM4LjE5NTUyIDcuMzg0NjIgOC42NzU2NSA3LjI4OTExIDkuMTIzNjIgNy4xMDM1NkM5LjU3MTU5IDYuOTE4IDkuOTc4NjMgNi42NDYwMyAxMC4zMjE1IDYuMzAzMTZDMTAuNjY0NCA1Ljk2MDMgMTAuOTM2MyA1LjU1MzI2IDExLjEyMTkgNS4xMDUyOUMxMS4zMDc0IDQuNjU3MzIgMTEuNDAyOSA0LjE3NzE5IDExLjQwMjkgMy42OTIzMUMxMS40MDI5IDMuMjA3NDMgMTEuMzA3NCAyLjcyNzI5IDExLjEyMTkgMi4yNzkzMkMxMC45MzYzIDEuODMxMzUgMTAuNjY0NCAxLjQyNDMxIDEwLjMyMTUgMS4wODE0NUM5Ljk3ODYzIDAuNzM4NTkgOS41NzE1OSAwLjQ2NjYxNiA5LjEyMzYyIDAuMjgxMDZDOC42NzU2NSAwLjA5NTUwNDMgOC4xOTU1MiAtNy4yMjUyOWUtMDkgNy43MTA2NCAwQzYuNzMxMzggMS40NTkyMWUtMDggNS43OTIyMiAwLjM4OTAxIDUuMDk5NzggMS4wODE0NUM0LjQwNzM0IDEuNzczODkgNC4wMTgzMyAyLjcxMzA1IDQuMDE4MzMgMy42OTIzMUM0LjAxODMzIDQuNjcxNTcgNC40MDczNCA1LjYxMDcyIDUuMDk5NzggNi4zMDMxNkM1Ljc5MjIyIDYuOTk1NjEgNi43MzEzOCA3LjM4NDYyIDcuNzEwNjQgNy4zODQ2MlpNMTguNzg3NiA3LjM4NDYyQzE5LjI3MjQgNy4zODQ2MiAxOS43NTI2IDcuMjg5MTEgMjAuMjAwNSA3LjEwMzU2QzIwLjY0ODUgNi45MTggMjEuMDU1NiA2LjY0NjAzIDIxLjM5ODQgNi4zMDMxNkMyMS43NDEzIDUuOTYwMyAyMi4wMTMzIDUuNTUzMjYgMjIuMTk4OCA1LjEwNTI5QzIyLjM4NDQgNC42NTczMiAyMi40Nzk5IDQuMTc3MTkgMjIuNDc5OSAzLjY5MjMxQzIyLjQ3OTkgMy4yMDc0MyAyMi4zODQ0IDIuNzI3MjkgMjIuMTk4OCAyLjI3OTMyQzIyLjAxMzMgMS44MzEzNSAyMS43NDEzIDEuNDI0MzEgMjEuMzk4NCAxLjA4MTQ1QzIxLjA1NTYgMC43Mzg1OSAyMC42NDg1IDAuNDY2NjE2IDIwLjIwMDUgMC4yODEwNkMxOS43NTI2IDAuMDk1NTA0MyAxOS4yNzI0IC03LjIyNTI5ZS0wOSAxOC43ODc2IDBDMTcuODA4MyAxLjQ1OTIxZS0wOCAxNi44NjkxIDAuMzg5MDEgMTYuMTc2NyAxLjA4MTQ1QzE1LjQ4NDMgMS43NzM4OSAxNS4wOTUzIDIuNzEzMDUgMTUuMDk1MyAzLjY5MjMxQzE1LjA5NTMgNC42NzE1NyAxNS40ODQzIDUuNjEwNzIgMTYuMTc2NyA2LjMwMzE2QzE2Ljg2OTEgNi45OTU2MSAxNy44MDgzIDcuMzg0NjIgMTguNzg3NiA3LjM4NDYyWk0wLjk0MTQwNiAxMC43MzZDMC45NDE0MDYgMTAuNDU3NSAwLjk5NjI1OCAxMC4xODE4IDEuMTAyODMgOS45MjQ0OEMxLjIwOTQgOS42NjcxOSAxLjM2NTYgOS40MzM0MiAxLjU2MjUyIDkuMjM2NUMxLjc1OTQ0IDkuMDM5NTggMS45OTMyMSA4Ljg4MzM4IDIuMjUwNSA4Ljc3NjgxQzIuNTA3NzggOC42NzAyNCAyLjc4MzU0IDguNjE1MzkgMy4wNjIwMiA4LjYxNTM5SDguOTg0NDhDOC41NTE2OSA5LjM2MzQ1IDguMzI0NTIgMTAuMjEyNyA4LjMyNjAyIDExLjA3NjlDOC4zMjUxOSAxMS43NzU1IDguNDczNDEgMTIuNDY2MiA4Ljc2MDc5IDEzLjEwMjlDOS4wNDgxNiAxMy43Mzk2IDkuNDY4MDcgMTQuMzA3NyA5Ljk5MjQ4IDE0Ljc2OTJIOC42MDA0OEM4LjAxNDE4IDE0Ljc2ODcgNy40MzgwMyAxNC45MjIyIDYuOTI5NjkgMTUuMjE0NEM2LjQyMTM0IDE1LjUwNjUgNS45OTg2NCAxNS45MjcgNS43MDM4NyAxNi40MzM4QzMuNzIxMSAxNi4wNDQ5IDIuNTE2MTggMTUuMDc4MiAxLjgxNDY0IDEzLjk5MkMwLjk0MTQwNiAxMi42NCAwLjk0MTQwNiAxMS4yNDMxIDAuOTQxNDA2IDExLjAwMTJWMTAuNzM2Wk0xNy44OTc3IDE0Ljc2OTJDMTguNDg0IDE0Ljc2ODcgMTkuMDYwMiAxNC45MjIyIDE5LjU2ODUgMTUuMjE0NEMyMC4wNzY5IDE1LjUwNjUgMjAuNDk5NiAxNS45MjcgMjAuNzk0MyAxNi40MzM4QzIyLjc3NzEgMTYuMDQ0OSAyMy45ODIgMTUuMDc4MiAyNC42ODM2IDEzLjk5MkMyNS41NTY4IDEyLjY0IDI1LjU1NjggMTEuMjQzMSAyNS41NTY4IDExLjAwMTJWMTAuNzM2NkMyNS41NTY5IDEwLjQ1ODEgMjUuNTAyMSAxMC4xODIzIDI1LjM5NTUgOS45MjQ5QzI1LjI4OSA5LjY2NzU1IDI1LjEzMjggOS40MzM3IDI0LjkzNTkgOS4yMzY3MkMyNC43MzkgOS4wMzk3MyAyNC41MDUyIDguODgzNDggMjQuMjQ3OCA4Ljc3Njg3QzIzLjk5MDUgOC42NzAyNiAyMy43MTQ3IDguNjE1MzkgMjMuNDM2MiA4LjYxNTM5SDE3LjUxMzdDMTcuOTQ2NSA5LjM2MzQ1IDE4LjE3MzcgMTAuMjEyNyAxOC4xNzIyIDExLjA3NjlDMTguMTczIDExLjc3NTUgMTguMDI0OCAxMi40NjYyIDE3LjczNzQgMTMuMTAyOUMxNy40NSAxMy43Mzk2IDE3LjAzMDEgMTQuMzA3NyAxNi41MDU3IDE0Ljc2OTJIMTcuODk3N1pNMTYuOTQxNCAxMS4wNzY5QzE2Ljk0MTQgMTIuMDU2MiAxNi41NTI0IDEyLjk5NTMgMTUuODYgMTMuNjg3OEMxNS4xNjc1IDE0LjM4MDIgMTQuMjI4NCAxNC43NjkyIDEzLjI0OTEgMTQuNzY5MkMxMi4yNjk4IDE0Ljc2OTIgMTEuMzMwNyAxNC4zODAyIDEwLjYzODIgMTMuNjg3OEM5Ljk0NTggMTIuOTk1MyA5LjU1Njc5IDEyLjA1NjIgOS41NTY3OSAxMS4wNzY5QzkuNTU2NzkgMTAuMDk3NyA5Ljk0NTggOS4xNTg1MSAxMC42MzgyIDguNDY2MDdDMTEuMzMwNyA3Ljc3MzYzIDEyLjI2OTggNy4zODQ2MiAxMy4yNDkxIDcuMzg0NjJDMTQuMjI4NCA3LjM4NDYyIDE1LjE2NzUgNy43NzM2MyAxNS44NiA4LjQ2NjA3QzE2LjU1MjQgOS4xNTg1MSAxNi45NDE0IDEwLjA5NzcgMTYuOTQxNCAxMS4wNzY5Wk02LjQ3OTg3IDE4LjEyMDZDNi40Nzk4NyAxNy41NTgyIDYuNzAzMjkgMTcuMDE4OCA3LjEwMDk4IDE2LjYyMTFDNy40OTg2NyAxNi4yMjM0IDguMDM4MDYgMTYgOC42MDA0OCAxNkgxNy44OTc3QzE4LjQ2MDEgMTYgMTguOTk5NSAxNi4yMjM0IDE5LjM5NzIgMTYuNjIxMUMxOS43OTQ5IDE3LjAxODggMjAuMDE4MyAxNy41NTgyIDIwLjAxODMgMTguMTIwNlYxOC4zODU4QzIwLjAxODMgMTguNjI4MyAyMC4wMTgzIDIwLjAyNDYgMTkuMTQ1MSAyMS4zNzY2QzE4LjIzMjUgMjIuNzg5NSAxNi40Njk0IDI0IDEzLjI0OTEgMjRDMTAuMDI4OCAyNCA4LjI2NTcxIDIyLjc4OTUgNy4zNTMxIDIxLjM3NjZDNi40Nzk4NyAyMC4wMjQ2IDYuNDc5ODcgMTguNjI3NyA2LjQ3OTg3IDE4LjM4NThWMTguMTIwNlpcIlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBzdHJva2U9XCIjOThBMkIzXCIgc3Ryb2tlLXdpZHRoPVwiM1wiIG1hc2s9XCJ1cmwoI3BhdGgtNi1pbnNpZGUtMl83MDdfMTMxMDYpXCIgLz5cclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvc3ZnPlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8L2Rpdj5cclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGRpdiBjbGFzcz1cIm14LTMgbXQtMVwiPlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGRpdiBjbGFzcz1cIm15LTEgY2FyZC1sYWJlbCBsZWZ0LWNhcmQtY291bnRcIj5cclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB7e2dldE92ZXJhbGxDYXJkRGF0YT8uZm9vdGZhbGxDYXJkPy5hZ2VHcm91cCA/XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgZ2V0T3ZlcmFsbENhcmREYXRhPy5mb290ZmFsbENhcmQ/LmFnZUdyb3VwIDonLS0nfX08L2Rpdj5cclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxkaXYgY2xhc3M9XCJsZWZ0LWNhcmQtY291bnQtaGVhZGVyXCI+TW9zdCBDb21tb24gQWdlPC9kaXY+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvZGl2PlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvZGl2PlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxkaXYgY2xhc3M9XCJkLWZsZXggYWxpZ24taXRlbXMtY2VudGVyIG15LTUgbWUtMlwiPlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8ZGl2IGNsYXNzPVwiZmxleC1zaHJpbmstMCBtdC0zXCI+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8c3ZnIHdpZHRoPVwiMjZcIiBoZWlnaHQ9XCIyNFwiIHZpZXdCb3g9XCIwIDAgMjYgMjRcIiBmaWxsPVwibm9uZVwiXHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgeG1sbnM9XCJodHRwOi8vd3d3LnczLm9yZy8yMDAwL3N2Z1wiPlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxyZWN0IHdpZHRoPVwiMjZcIiBoZWlnaHQ9XCIyNFwiIGZpbGw9XCIjRENEQ0RDXCIgLz5cclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8cmVjdCB4PVwiLTQ2MC41XCIgeT1cIi0zNDAuNVwiIHdpZHRoPVwiNzgzXCIgaGVpZ2h0PVwiMTk0N1wiIHJ4PVwiNC41XCIgc3Ryb2tlPVwiIzk3NDdGRlwiXHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHN0cm9rZS1kYXNoYXJyYXk9XCIxMCA1XCIgLz5cclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8bWFzayBpZD1cInBhdGgtMi1pbnNpZGUtMV83MDdfMTMxMDZcIiBmaWxsPVwid2hpdGVcIj5cclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPHBhdGhcclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGQ9XCJNLTE4OSAtODlDLTE4OSAtOTUuNjI3NCAtMTgzLjYyNyAtMTAxIC0xNzcgLTEwMUgyOTVDMzAxLjYyNyAtMTAxIDMwNyAtOTUuNjI3NCAzMDcgLTg5Vjg1QzMwNyA5MS42Mjc0IDMwMS42MjcgOTcgMjk1IDk3SC0xNzdDLTE4My42MjcgOTcgLTE4OSA5MS42Mjc0IC0xODkgODVWLTg5WlwiIC8+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPC9tYXNrPlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxwYXRoXHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGQ9XCJNLTE4OSAtODlDLTE4OSAtOTUuNjI3NCAtMTgzLjYyNyAtMTAxIC0xNzcgLTEwMUgyOTVDMzAxLjYyNyAtMTAxIDMwNyAtOTUuNjI3NCAzMDcgLTg5Vjg1QzMwNyA5MS42Mjc0IDMwMS42MjcgOTcgMjk1IDk3SC0xNzdDLTE4My42MjcgOTcgLTE4OSA5MS42Mjc0IC0xODkgODVWLTg5WlwiXHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGZpbGw9XCJ3aGl0ZVwiIC8+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPHBhdGhcclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgZD1cIk0tMTkwIC04OUMtMTkwIC05Ni4xNzk3IC0xODQuMTggLTEwMiAtMTc3IC0xMDJIMjk0QzMwMS4xOCAtMTAyIDMwNyAtOTYuMTc5NyAzMDcgLTg5QzMwNyAtOTUuMDc1MSAzMDEuNjI3IC0xMDAgMjk1IC0xMDBILTE3N0MtMTgzLjA3NSAtMTAwIC0xODggLTk1LjA3NTEgLTE4OCAtODlILTE5MFpNMzA3IDg1QzMwNyA5Mi4xNzk3IDMwMS4xOCA5OCAyOTQgOThILTE3N0MtMTg0LjE4IDk4IC0xOTAgOTIuMTc5NyAtMTkwIDg1SC0xODhDLTE4OCA5MS4wNzUxIC0xODMuMDc1IDk2IC0xNzcgOTZIMjk1QzMwMS42MjcgOTYgMzA3IDkxLjA3NTEgMzA3IDg1Wk0tMTc3IDk4Qy0xODQuMTggOTggLTE5MCA5Mi4xNzk3IC0xOTAgODVWLTg5Qy0xOTAgLTk2LjE3OTcgLTE4NC4xOCAtMTAyIC0xNzcgLTEwMlYtMTAwQy0xODMuMDc1IC0xMDAgLTE4OCAtOTUuMDc1MSAtMTg4IC04OVY4NUMtMTg4IDkxLjA3NTEgLTE4My4wNzUgOTYgLTE3NyA5NlY5OFpNMzA3IC0xMDFWOTdWLTEwMVpcIlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBmaWxsPVwiI0QwRDVERFwiIG1hc2s9XCJ1cmwoI3BhdGgtMi1pbnNpZGUtMV83MDdfMTMxMDYpXCIgLz5cclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8bWFzayBpZD1cInBhdGgtNi1pbnNpZGUtMl83MDdfMTMxMDZcIiBmaWxsPVwid2hpdGVcIj5cclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPHBhdGhcclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGQ9XCJNNy43MTA2NCA3LjM4NDYyQzguMTk1NTIgNy4zODQ2MiA4LjY3NTY1IDcuMjg5MTEgOS4xMjM2MiA3LjEwMzU2QzkuNTcxNTkgNi45MTggOS45Nzg2MyA2LjY0NjAzIDEwLjMyMTUgNi4zMDMxNkMxMC42NjQ0IDUuOTYwMyAxMC45MzYzIDUuNTUzMjYgMTEuMTIxOSA1LjEwNTI5QzExLjMwNzQgNC42NTczMiAxMS40MDI5IDQuMTc3MTkgMTEuNDAyOSAzLjY5MjMxQzExLjQwMjkgMy4yMDc0MyAxMS4zMDc0IDIuNzI3MjkgMTEuMTIxOSAyLjI3OTMyQzEwLjkzNjMgMS44MzEzNSAxMC42NjQ0IDEuNDI0MzEgMTAuMzIxNSAxLjA4MTQ1QzkuOTc4NjMgMC43Mzg1OSA5LjU3MTU5IDAuNDY2NjE2IDkuMTIzNjIgMC4yODEwNkM4LjY3NTY1IDAuMDk1NTA0MyA4LjE5NTUyIC03LjIyNTI5ZS0wOSA3LjcxMDY0IDBDNi43MzEzOCAxLjQ1OTIxZS0wOCA1Ljc5MjIyIDAuMzg5MDEgNS4wOTk3OCAxLjA4MTQ1QzQuNDA3MzQgMS43NzM4OSA0LjAxODMzIDIuNzEzMDUgNC4wMTgzMyAzLjY5MjMxQzQuMDE4MzMgNC42NzE1NyA0LjQwNzM0IDUuNjEwNzIgNS4wOTk3OCA2LjMwMzE2QzUuNzkyMjIgNi45OTU2MSA2LjczMTM4IDcuMzg0NjIgNy43MTA2NCA3LjM4NDYyWk0xOC43ODc2IDcuMzg0NjJDMTkuMjcyNCA3LjM4NDYyIDE5Ljc1MjYgNy4yODkxMSAyMC4yMDA1IDcuMTAzNTZDMjAuNjQ4NSA2LjkxOCAyMS4wNTU2IDYuNjQ2MDMgMjEuMzk4NCA2LjMwMzE2QzIxLjc0MTMgNS45NjAzIDIyLjAxMzMgNS41NTMyNiAyMi4xOTg4IDUuMTA1MjlDMjIuMzg0NCA0LjY1NzMyIDIyLjQ3OTkgNC4xNzcxOSAyMi40Nzk5IDMuNjkyMzFDMjIuNDc5OSAzLjIwNzQzIDIyLjM4NDQgMi43MjcyOSAyMi4xOTg4IDIuMjc5MzJDMjIuMDEzMyAxLjgzMTM1IDIxLjc0MTMgMS40MjQzMSAyMS4zOTg0IDEuMDgxNDVDMjEuMDU1NiAwLjczODU5IDIwLjY0ODUgMC40NjY2MTYgMjAuMjAwNSAwLjI4MTA2QzE5Ljc1MjYgMC4wOTU1MDQzIDE5LjI3MjQgLTcuMjI1MjllLTA5IDE4Ljc4NzYgMEMxNy44MDgzIDEuNDU5MjFlLTA4IDE2Ljg2OTEgMC4zODkwMSAxNi4xNzY3IDEuMDgxNDVDMTUuNDg0MyAxLjc3Mzg5IDE1LjA5NTMgMi43MTMwNSAxNS4wOTUzIDMuNjkyMzFDMTUuMDk1MyA0LjY3MTU3IDE1LjQ4NDMgNS42MTA3MiAxNi4xNzY3IDYuMzAzMTZDMTYuODY5MSA2Ljk5NTYxIDE3LjgwODMgNy4zODQ2MiAxOC43ODc2IDcuMzg0NjJaTTAuOTQxNDA2IDEwLjczNkMwLjk0MTQwNiAxMC40NTc1IDAuOTk2MjU4IDEwLjE4MTggMS4xMDI4MyA5LjkyNDQ4QzEuMjA5NCA5LjY2NzE5IDEuMzY1NiA5LjQzMzQyIDEuNTYyNTIgOS4yMzY1QzEuNzU5NDQgOS4wMzk1OCAxLjk5MzIxIDguODgzMzggMi4yNTA1IDguNzc2ODFDMi41MDc3OCA4LjY3MDI0IDIuNzgzNTQgOC42MTUzOSAzLjA2MjAyIDguNjE1MzlIOC45ODQ0OEM4LjU1MTY5IDkuMzYzNDUgOC4zMjQ1MiAxMC4yMTI3IDguMzI2MDIgMTEuMDc2OUM4LjMyNTE5IDExLjc3NTUgOC40NzM0MSAxMi40NjYyIDguNzYwNzkgMTMuMTAyOUM5LjA0ODE2IDEzLjczOTYgOS40NjgwNyAxNC4zMDc3IDkuOTkyNDggMTQuNzY5Mkg4LjYwMDQ4QzguMDE0MTggMTQuNzY4NyA3LjQzODAzIDE0LjkyMjIgNi45Mjk2OSAxNS4yMTQ0QzYuNDIxMzQgMTUuNTA2NSA1Ljk5ODY0IDE1LjkyNyA1LjcwMzg3IDE2LjQzMzhDMy43MjExIDE2LjA0NDkgMi41MTYxOCAxNS4wNzgyIDEuODE0NjQgMTMuOTkyQzAuOTQxNDA2IDEyLjY0IDAuOTQxNDA2IDExLjI0MzEgMC45NDE0MDYgMTEuMDAxMlYxMC43MzZaTTE3Ljg5NzcgMTQuNzY5MkMxOC40ODQgMTQuNzY4NyAxOS4wNjAyIDE0LjkyMjIgMTkuNTY4NSAxNS4yMTQ0QzIwLjA3NjkgMTUuNTA2NSAyMC40OTk2IDE1LjkyNyAyMC43OTQzIDE2LjQzMzhDMjIuNzc3MSAxNi4wNDQ5IDIzLjk4MiAxNS4wNzgyIDI0LjY4MzYgMTMuOTkyQzI1LjU1NjggMTIuNjQgMjUuNTU2OCAxMS4yNDMxIDI1LjU1NjggMTEuMDAxMlYxMC43MzY2QzI1LjU1NjkgMTAuNDU4MSAyNS41MDIxIDEwLjE4MjMgMjUuMzk1NSA5LjkyNDlDMjUuMjg5IDkuNjY3NTUgMjUuMTMyOCA5LjQzMzcgMjQuOTM1OSA5LjIzNjcyQzI0LjczOSA5LjAzOTczIDI0LjUwNTIgOC44ODM0OCAyNC4yNDc4IDguNzc2ODdDMjMuOTkwNSA4LjY3MDI2IDIzLjcxNDcgOC42MTUzOSAyMy40MzYyIDguNjE1MzlIMTcuNTEzN0MxNy45NDY1IDkuMzYzNDUgMTguMTczNyAxMC4yMTI3IDE4LjE3MjIgMTEuMDc2OUMxOC4xNzMgMTEuNzc1NSAxOC4wMjQ4IDEyLjQ2NjIgMTcuNzM3NCAxMy4xMDI5QzE3LjQ1IDEzLjczOTYgMTcuMDMwMSAxNC4zMDc3IDE2LjUwNTcgMTQuNzY5MkgxNy44OTc3Wk0xNi45NDE0IDExLjA3NjlDMTYuOTQxNCAxMi4wNTYyIDE2LjU1MjQgMTIuOTk1MyAxNS44NiAxMy42ODc4QzE1LjE2NzUgMTQuMzgwMiAxNC4yMjg0IDE0Ljc2OTIgMTMuMjQ5MSAxNC43NjkyQzEyLjI2OTggMTQuNzY5MiAxMS4zMzA3IDE0LjM4MDIgMTAuNjM4MiAxMy42ODc4QzkuOTQ1OCAxMi45OTUzIDkuNTU2NzkgMTIuMDU2MiA5LjU1Njc5IDExLjA3NjlDOS41NTY3OSAxMC4wOTc3IDkuOTQ1OCA5LjE1ODUxIDEwLjYzODIgOC40NjYwN0MxMS4zMzA3IDcuNzczNjMgMTIuMjY5OCA3LjM4NDYyIDEzLjI0OTEgNy4zODQ2MkMxNC4yMjg0IDcuMzg0NjIgMTUuMTY3NSA3Ljc3MzYzIDE1Ljg2IDguNDY2MDdDMTYuNTUyNCA5LjE1ODUxIDE2Ljk0MTQgMTAuMDk3NyAxNi45NDE0IDExLjA3NjlaTTYuNDc5ODcgMTguMTIwNkM2LjQ3OTg3IDE3LjU1ODIgNi43MDMyOSAxNy4wMTg4IDcuMTAwOTggMTYuNjIxMUM3LjQ5ODY3IDE2LjIyMzQgOC4wMzgwNiAxNiA4LjYwMDQ4IDE2SDE3Ljg5NzdDMTguNDYwMSAxNiAxOC45OTk1IDE2LjIyMzQgMTkuMzk3MiAxNi42MjExQzE5Ljc5NDkgMTcuMDE4OCAyMC4wMTgzIDE3LjU1ODIgMjAuMDE4MyAxOC4xMjA2VjE4LjM4NThDMjAuMDE4MyAxOC42MjgzIDIwLjAxODMgMjAuMDI0NiAxOS4xNDUxIDIxLjM3NjZDMTguMjMyNSAyMi43ODk1IDE2LjQ2OTQgMjQgMTMuMjQ5MSAyNEMxMC4wMjg4IDI0IDguMjY1NzEgMjIuNzg5NSA3LjM1MzEgMjEuMzc2NkM2LjQ3OTg3IDIwLjAyNDYgNi40Nzk4NyAxOC42Mjc3IDYuNDc5ODcgMTguMzg1OFYxOC4xMjA2WlwiIC8+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPC9tYXNrPlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxwYXRoXHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGQ9XCJNNy43MTA2NCA3LjM4NDYyQzguMTk1NTIgNy4zODQ2MiA4LjY3NTY1IDcuMjg5MTEgOS4xMjM2MiA3LjEwMzU2QzkuNTcxNTkgNi45MTggOS45Nzg2MyA2LjY0NjAzIDEwLjMyMTUgNi4zMDMxNkMxMC42NjQ0IDUuOTYwMyAxMC45MzYzIDUuNTUzMjYgMTEuMTIxOSA1LjEwNTI5QzExLjMwNzQgNC42NTczMiAxMS40MDI5IDQuMTc3MTkgMTEuNDAyOSAzLjY5MjMxQzExLjQwMjkgMy4yMDc0MyAxMS4zMDc0IDIuNzI3MjkgMTEuMTIxOSAyLjI3OTMyQzEwLjkzNjMgMS44MzEzNSAxMC42NjQ0IDEuNDI0MzEgMTAuMzIxNSAxLjA4MTQ1QzkuOTc4NjMgMC43Mzg1OSA5LjU3MTU5IDAuNDY2NjE2IDkuMTIzNjIgMC4yODEwNkM4LjY3NTY1IDAuMDk1NTA0MyA4LjE5NTUyIC03LjIyNTI5ZS0wOSA3LjcxMDY0IDBDNi43MzEzOCAxLjQ1OTIxZS0wOCA1Ljc5MjIyIDAuMzg5MDEgNS4wOTk3OCAxLjA4MTQ1QzQuNDA3MzQgMS43NzM4OSA0LjAxODMzIDIuNzEzMDUgNC4wMTgzMyAzLjY5MjMxQzQuMDE4MzMgNC42NzE1NyA0LjQwNzM0IDUuNjEwNzIgNS4wOTk3OCA2LjMwMzE2QzUuNzkyMjIgNi45OTU2MSA2LjczMTM4IDcuMzg0NjIgNy43MTA2NCA3LjM4NDYyWk0xOC43ODc2IDcuMzg0NjJDMTkuMjcyNCA3LjM4NDYyIDE5Ljc1MjYgNy4yODkxMSAyMC4yMDA1IDcuMTAzNTZDMjAuNjQ4NSA2LjkxOCAyMS4wNTU2IDYuNjQ2MDMgMjEuMzk4NCA2LjMwMzE2QzIxLjc0MTMgNS45NjAzIDIyLjAxMzMgNS41NTMyNiAyMi4xOTg4IDUuMTA1MjlDMjIuMzg0NCA0LjY1NzMyIDIyLjQ3OTkgNC4xNzcxOSAyMi40Nzk5IDMuNjkyMzFDMjIuNDc5OSAzLjIwNzQzIDIyLjM4NDQgMi43MjcyOSAyMi4xOTg4IDIuMjc5MzJDMjIuMDEzMyAxLjgzMTM1IDIxLjc0MTMgMS40MjQzMSAyMS4zOTg0IDEuMDgxNDVDMjEuMDU1NiAwLjczODU5IDIwLjY0ODUgMC40NjY2MTYgMjAuMjAwNSAwLjI4MTA2QzE5Ljc1MjYgMC4wOTU1MDQzIDE5LjI3MjQgLTcuMjI1MjllLTA5IDE4Ljc4NzYgMEMxNy44MDgzIDEuNDU5MjFlLTA4IDE2Ljg2OTEgMC4zODkwMSAxNi4xNzY3IDEuMDgxNDVDMTUuNDg0MyAxLjc3Mzg5IDE1LjA5NTMgMi43MTMwNSAxNS4wOTUzIDMuNjkyMzFDMTUuMDk1MyA0LjY3MTU3IDE1LjQ4NDMgNS42MTA3MiAxNi4xNzY3IDYuMzAzMTZDMTYuODY5MSA2Ljk5NTYxIDE3LjgwODMgNy4zODQ2MiAxOC43ODc2IDcuMzg0NjJaTTAuOTQxNDA2IDEwLjczNkMwLjk0MTQwNiAxMC40NTc1IDAuOTk2MjU4IDEwLjE4MTggMS4xMDI4MyA5LjkyNDQ4QzEuMjA5NCA5LjY2NzE5IDEuMzY1NiA5LjQzMzQyIDEuNTYyNTIgOS4yMzY1QzEuNzU5NDQgOS4wMzk1OCAxLjk5MzIxIDguODgzMzggMi4yNTA1IDguNzc2ODFDMi41MDc3OCA4LjY3MDI0IDIuNzgzNTQgOC42MTUzOSAzLjA2MjAyIDguNjE1MzlIOC45ODQ0OEM4LjU1MTY5IDkuMzYzNDUgOC4zMjQ1MiAxMC4yMTI3IDguMzI2MDIgMTEuMDc2OUM4LjMyNTE5IDExLjc3NTUgOC40NzM0MSAxMi40NjYyIDguNzYwNzkgMTMuMTAyOUM5LjA0ODE2IDEzLjczOTYgOS40NjgwNyAxNC4zMDc3IDkuOTkyNDggMTQuNzY5Mkg4LjYwMDQ4QzguMDE0MTggMTQuNzY4NyA3LjQzODAzIDE0LjkyMjIgNi45Mjk2OSAxNS4yMTQ0QzYuNDIxMzQgMTUuNTA2NSA1Ljk5ODY0IDE1LjkyNyA1LjcwMzg3IDE2LjQzMzhDMy43MjExIDE2LjA0NDkgMi41MTYxOCAxNS4wNzgyIDEuODE0NjQgMTMuOTkyQzAuOTQxNDA2IDEyLjY0IDAuOTQxNDA2IDExLjI0MzEgMC45NDE0MDYgMTEuMDAxMlYxMC43MzZaTTE3Ljg5NzcgMTQuNzY5MkMxOC40ODQgMTQuNzY4NyAxOS4wNjAyIDE0LjkyMjIgMTkuNTY4NSAxNS4yMTQ0QzIwLjA3NjkgMTUuNTA2NSAyMC40OTk2IDE1LjkyNyAyMC43OTQzIDE2LjQzMzhDMjIuNzc3MSAxNi4wNDQ5IDIzLjk4MiAxNS4wNzgyIDI0LjY4MzYgMTMuOTkyQzI1LjU1NjggMTIuNjQgMjUuNTU2OCAxMS4yNDMxIDI1LjU1NjggMTEuMDAxMlYxMC43MzY2QzI1LjU1NjkgMTAuNDU4MSAyNS41MDIxIDEwLjE4MjMgMjUuMzk1NSA5LjkyNDlDMjUuMjg5IDkuNjY3NTUgMjUuMTMyOCA5LjQzMzcgMjQuOTM1OSA5LjIzNjcyQzI0LjczOSA5LjAzOTczIDI0LjUwNTIgOC44ODM0OCAyNC4yNDc4IDguNzc2ODdDMjMuOTkwNSA4LjY3MDI2IDIzLjcxNDcgOC42MTUzOSAyMy40MzYyIDguNjE1MzlIMTcuNTEzN0MxNy45NDY1IDkuMzYzNDUgMTguMTczNyAxMC4yMTI3IDE4LjE3MjIgMTEuMDc2OUMxOC4xNzMgMTEuNzc1NSAxOC4wMjQ4IDEyLjQ2NjIgMTcuNzM3NCAxMy4xMDI5QzE3LjQ1IDEzLjczOTYgMTcuMDMwMSAxNC4zMDc3IDE2LjUwNTcgMTQuNzY5MkgxNy44OTc3Wk0xNi45NDE0IDExLjA3NjlDMTYuOTQxNCAxMi4wNTYyIDE2LjU1MjQgMTIuOTk1MyAxNS44NiAxMy42ODc4QzE1LjE2NzUgMTQuMzgwMiAxNC4yMjg0IDE0Ljc2OTIgMTMuMjQ5MSAxNC43NjkyQzEyLjI2OTggMTQuNzY5MiAxMS4zMzA3IDE0LjM4MDIgMTAuNjM4MiAxMy42ODc4QzkuOTQ1OCAxMi45OTUzIDkuNTU2NzkgMTIuMDU2MiA5LjU1Njc5IDExLjA3NjlDOS41NTY3OSAxMC4wOTc3IDkuOTQ1OCA5LjE1ODUxIDEwLjYzODIgOC40NjYwN0MxMS4zMzA3IDcuNzczNjMgMTIuMjY5OCA3LjM4NDYyIDEzLjI0OTEgNy4zODQ2MkMxNC4yMjg0IDcuMzg0NjIgMTUuMTY3NSA3Ljc3MzYzIDE1Ljg2IDguNDY2MDdDMTYuNTUyNCA5LjE1ODUxIDE2Ljk0MTQgMTAuMDk3NyAxNi45NDE0IDExLjA3NjlaTTYuNDc5ODcgMTguMTIwNkM2LjQ3OTg3IDE3LjU1ODIgNi43MDMyOSAxNy4wMTg4IDcuMTAwOTggMTYuNjIxMUM3LjQ5ODY3IDE2LjIyMzQgOC4wMzgwNiAxNiA4LjYwMDQ4IDE2SDE3Ljg5NzdDMTguNDYwMSAxNiAxOC45OTk1IDE2LjIyMzQgMTkuMzk3MiAxNi42MjExQzE5Ljc5NDkgMTcuMDE4OCAyMC4wMTgzIDE3LjU1ODIgMjAuMDE4MyAxOC4xMjA2VjE4LjM4NThDMjAuMDE4MyAxOC42MjgzIDIwLjAxODMgMjAuMDI0NiAxOS4xNDUxIDIxLjM3NjZDMTguMjMyNSAyMi43ODk1IDE2LjQ2OTQgMjQgMTMuMjQ5MSAyNEMxMC4wMjg4IDI0IDguMjY1NzEgMjIuNzg5NSA3LjM1MzEgMjEuMzc2NkM2LjQ3OTg3IDIwLjAyNDYgNi40Nzk4NyAxOC42Mjc3IDYuNDc5ODcgMTguMzg1OFYxOC4xMjA2WlwiXHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHN0cm9rZT1cIiM5OEEyQjNcIiBzdHJva2Utd2lkdGg9XCIzXCIgbWFzaz1cInVybCgjcGF0aC02LWluc2lkZS0yXzcwN18xMzEwNilcIiAvPlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPC9zdmc+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvZGl2PlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8ZGl2IGNsYXNzPVwibXgtMyBtdC0xXCI+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8ZGl2IGNsYXNzPVwibXktMSBjYXJkLWxhYmVsIGxlZnQtY2FyZC1jb3VudFwiPlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHt7Z2V0T3ZlcmFsbENhcmREYXRhPy5mb290ZmFsbENhcmQ/Lm1hbGVSYXRlID9cclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBnZXRPdmVyYWxsQ2FyZERhdGE/LmZvb3RmYWxsQ2FyZD8ubWFsZVJhdGUgOictLSd9fSU8L2Rpdj5cclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxkaXYgY2xhc3M9XCJsZWZ0LWNhcmQtY291bnQtaGVhZGVyXCI+TWFsZTwvZGl2PlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8L2Rpdj5cclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGRpdiBjbGFzcz1cIm14LTMgbXQtMVwiPlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGRpdiBjbGFzcz1cIm15LTEgY2FyZC1sYWJlbCBsZWZ0LWNhcmQtY291bnRcIj5cclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB7e2dldE92ZXJhbGxDYXJkRGF0YT8uZm9vdGZhbGxDYXJkPy5mZW1hbGVSYXRlID9cclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBnZXRPdmVyYWxsQ2FyZERhdGE/LmZvb3RmYWxsQ2FyZD8uZmVtYWxlUmF0ZSA6Jy0tJ319JTwvZGl2PlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGRpdiBjbGFzcz1cImxlZnQtY2FyZC1jb3VudC1oZWFkZXJcIj5GZW1hbGU8L2Rpdj5cclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPC9kaXY+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPC9kaXY+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICA8L2Rpdj5cclxuICAgICAgICAgICAgICAgICAgICAgICAgPC9kaXY+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgIDxkaXYgKm5nSWY9XCJzZWxlY3RlZFRhYiA9PT0nY29udmVyc2lvbidcIiBjbGFzcz1cImxlZnQtYmFyXCI+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICA8ZGl2IGNsYXNzPVwidG9wLWhlYWRlciB0ZXh0LWNlbnRlclwiPlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxkaXYgY2xhc3M9XCJsZWZ0LWJhci1jb3VudFwiIFtuZ1N0eWxlXT1cIntcclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgJ2ZvbnQtc2l6ZSc6IChnZXRPdmVyYWxsQ2FyZERhdGE/LmNvbnZlcnNpb25DYXJkPy5jb252ZXJzaW9uQ291bnQudG9Mb2NhbGVTdHJpbmcoKT8ubGVuZ3RoID4gNSA/ICcyNHB4JyA6ICczNnB4JykgXHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB9XCI+e3tnZXRPdmVyYWxsQ2FyZERhdGE/LmNvbnZlcnNpb25DYXJkPy5jb252ZXJzaW9uQ291bnQgP1xyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBnZXRPdmVyYWxsQ2FyZERhdGE/LmNvbnZlcnNpb25DYXJkPy5jb252ZXJzaW9uQ291bnQudG9Mb2NhbGVTdHJpbmcoJ2VuLUlOJykgOictLSd9fTwvZGl2PlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxkaXYgY2xhc3M9XCJsZWZ0LWJhci10aXRsZVwiPnt7aGVhZGVyRGF0YT8uY2xpZW50ID09PSc0NTInID8gJ01vcmUgdGhhbiAnKyBmZWF0dXJlQ29uZmlnPy5jb252ZXJzaW9uLnZhbHVlKyAnIG1pbnMnIDonQ29udmVyc2lvbid9fSBDb3VudDwvZGl2PlxyXG4gICAgICAgIFxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgPC9kaXY+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICA8c3BhbiBjbGFzcz1cInctMTAwXCI+PHN2ZyB4bWxucz1cImh0dHA6Ly93d3cudzMub3JnLzIwMDAvc3ZnXCIgd2lkdGg9XCIxNzRcIiBoZWlnaHQ9XCIyXCJcclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgdmlld0JveD1cIjAgMCAxOTQgMlwiIGZpbGw9XCJub25lXCI+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxwYXRoIG9wYWNpdHk9XCIwLjRcIiBkPVwiTTEgMUwxOTMgMVwiIHN0cm9rZT1cIiM5OURBRkZcIiBzdHJva2UtbGluZWNhcD1cInJvdW5kXCIgLz5cclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8L3N2Zz48L3NwYW4+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICA8ZGl2IGNsYXNzPVwibXktNVwiPlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxkaXYgY2xhc3M9XCJkLWZsZXggYWxpZ24taXRlbXMtY2VudGVyIG15LTUgbWUtMlwiPlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8ZGl2IGNsYXNzPVwiZmxleC1zaHJpbmstMCBtdC0zXCI+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8c3ZnIHhtbG5zPVwiaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmdcIiB3aWR0aD1cIjI0XCIgaGVpZ2h0PVwiMjRcIiB2aWV3Qm94PVwiMCAwIDI0IDI0XCIgZmlsbD1cIm5vbmVcIj5cclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8cGF0aCBkPVwiTTEzIDJMMyAxNEgxMkwxMSAyMkwyMSAxMEgxMkwxMyAyWlwiIHN0cm9rZT1cIiM5OEEyQjNcIiBzdHJva2Utd2lkdGg9XCIyXCIgc3Ryb2tlLWxpbmVjYXA9XCJyb3VuZFwiIHN0cm9rZS1saW5lam9pbj1cInJvdW5kXCIvPlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvc3ZnPlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8L2Rpdj5cclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGRpdiBjbGFzcz1cIm14LTMgbXQtMVwiPlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGRpdiBjbGFzcz1cIm15LTEgY2FyZC1sYWJlbCBsZWZ0LWNhcmQtY291bnRcIj5cclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB7e2dldE92ZXJhbGxDYXJkRGF0YT8uY29udmVyc2lvbkNhcmQ/LmNvbnZlcnNpb25SYXRlID9cclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBnZXRPdmVyYWxsQ2FyZERhdGE/LmNvbnZlcnNpb25DYXJkPy5jb252ZXJzaW9uUmF0ZSA6Jy0tJ319JTwvZGl2PlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGRpdiBjbGFzcz1cImxlZnQtY2FyZC1jb3VudC1oZWFkZXJcIj57e2hlYWRlckRhdGE/LmNsaWVudCA9PT0nNDUyJyA/ICdNb3JlIHRoYW4gJyArIGZlYXR1cmVDb25maWc/LmNvbnZlcnNpb24udmFsdWUgKyAnIG1pbnMnIDonQ29udmVyc2lvbid9fSBSYXRlPC9kaXY+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvZGl2PlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvZGl2PlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxkaXYgKm5nSWY9XCJ0aGlzLm9iakRhdGFUcmFmZmljLm5vYiA9PT0gZmFsc2VcIiBjbGFzcz1cImQtZmxleCBhbGlnbi1pdGVtcy1jZW50ZXIgbXktNSBtZS0yXCI+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxkaXYgY2xhc3M9XCJmbGV4LXNocmluay0wIG10LTNcIj5cclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxzdmcgeG1sbnM9XCJodHRwOi8vd3d3LnczLm9yZy8yMDAwL3N2Z1wiIHdpZHRoPVwiMjRcIiBoZWlnaHQ9XCIyNFwiIHZpZXdCb3g9XCIwIDAgMjQgMjRcIiBmaWxsPVwibm9uZVwiPlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxwYXRoIGQ9XCJNMTMgMkwzIDE0SDEyTDExIDIyTDIxIDEwSDEyTDEzIDJaXCIgc3Ryb2tlPVwiIzk4QTJCM1wiIHN0cm9rZS13aWR0aD1cIjJcIiBzdHJva2UtbGluZWNhcD1cInJvdW5kXCIgc3Ryb2tlLWxpbmVqb2luPVwicm91bmRcIi8+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPC9zdmc+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvZGl2PlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8ZGl2IGNsYXNzPVwibXgtMyBtdC0xXCI+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8ZGl2IGNsYXNzPVwibXktMSBjYXJkLWxhYmVsIGxlZnQtY2FyZC1jb3VudFwiPlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHt7Z2V0T3ZlcmFsbENhcmREYXRhPy5jb252ZXJzaW9uQ2FyZD8ubWluUmF0ZSA/XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgZ2V0T3ZlcmFsbENhcmREYXRhPy5jb252ZXJzaW9uQ2FyZD8ubWluUmF0ZSA6Jy0tJ319JTwvZGl2PlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGRpdiBjbGFzcz1cImxlZnQtY2FyZC1jb3VudC1oZWFkZXJcIj41IC0gMTUgTWluczwvZGl2PlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8L2Rpdj5cclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8L2Rpdj5cclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8ZGl2ICpuZ0lmPVwidGhpcy5vYmpEYXRhVHJhZmZpYy5ub2IgPT09IGZhbHNlXCIgY2xhc3M9XCJkLWZsZXggYWxpZ24taXRlbXMtY2VudGVyIG15LTUgbWUtMlwiPlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8ZGl2IGNsYXNzPVwiZmxleC1zaHJpbmstMCBtdC0zXCI+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8c3ZnIHhtbG5zPVwiaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmdcIiB3aWR0aD1cIjI0XCIgaGVpZ2h0PVwiMjRcIiB2aWV3Qm94PVwiMCAwIDI0IDI0XCIgZmlsbD1cIm5vbmVcIj5cclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8cGF0aCBkPVwiTTEzIDJMMyAxNEgxMkwxMSAyMkwyMSAxMEgxMkwxMyAyWlwiIHN0cm9rZT1cIiM5OEEyQjNcIiBzdHJva2Utd2lkdGg9XCIyXCIgc3Ryb2tlLWxpbmVjYXA9XCJyb3VuZFwiIHN0cm9rZS1saW5lam9pbj1cInJvdW5kXCIvPlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvc3ZnPlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8L2Rpdj5cclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGRpdiBjbGFzcz1cIm14LTMgbXQtMVwiPlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGRpdiBjbGFzcz1cIm15LTEgY2FyZC1sYWJlbCBsZWZ0LWNhcmQtY291bnRcIj5cclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB7e2dldE92ZXJhbGxDYXJkRGF0YT8uY29udmVyc2lvbkNhcmQ/Lm1heFJhdGUgP1xyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGdldE92ZXJhbGxDYXJkRGF0YT8uY29udmVyc2lvbkNhcmQ/Lm1heFJhdGUgOictLSd9fSU8L2Rpdj5cclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxkaXYgY2xhc3M9XCJsZWZ0LWNhcmQtY291bnQtaGVhZGVyXCI+MTUgLSA2MCBNaW5zPC9kaXY+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvZGl2PlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvZGl2PlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxkaXYgKm5nSWY9XCJ0aGlzLm9iakRhdGFUcmFmZmljLm5vYiA9PT0gZmFsc2VcIiBjbGFzcz1cImQtZmxleCBhbGlnbi1pdGVtcy1jZW50ZXIgbXktNSBtZS0yXCI+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxkaXYgY2xhc3M9XCJmbGV4LXNocmluay0wIG10LTNcIj5cclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxzdmcgeG1sbnM9XCJodHRwOi8vd3d3LnczLm9yZy8yMDAwL3N2Z1wiIHdpZHRoPVwiMjRcIiBoZWlnaHQ9XCIyNFwiIHZpZXdCb3g9XCIwIDAgMjQgMjRcIiBmaWxsPVwibm9uZVwiPlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxwYXRoIGQ9XCJNMTMgMkwzIDE0SDEyTDExIDIyTDIxIDEwSDEyTDEzIDJaXCIgc3Ryb2tlPVwiIzk4QTJCM1wiIHN0cm9rZS13aWR0aD1cIjJcIiBzdHJva2UtbGluZWNhcD1cInJvdW5kXCIgc3Ryb2tlLWxpbmVqb2luPVwicm91bmRcIi8+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPC9zdmc+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvZGl2PlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8ZGl2IGNsYXNzPVwibXgtMyBtdC0xXCI+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8ZGl2IGNsYXNzPVwibXktMSBjYXJkLWxhYmVsIGxlZnQtY2FyZC1jb3VudFwiPlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHt7Z2V0T3ZlcmFsbENhcmREYXRhPy5jb252ZXJzaW9uQ2FyZD8uYXZlcmFnZVJhdGUgP1xyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGdldE92ZXJhbGxDYXJkRGF0YT8uY29udmVyc2lvbkNhcmQ/LmF2ZXJhZ2VSYXRlIDonLS0nfX0lPC9kaXY+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8ZGl2IGNsYXNzPVwibGVmdC1jYXJkLWNvdW50LWhlYWRlclwiPjEgSHIgb3IgbW9yZTwvZGl2PlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8L2Rpdj5cclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8L2Rpdj5cclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvZGl2PlxyXG4gICAgICAgICAgICAgICAgICAgICAgICA8L2Rpdj5cclxuICAgICAgICAgICAgICAgICAgICAgICAgPGRpdiAqbmdJZj1cInNlbGVjdGVkVGFiID09PSdlbmdhZ2VycydcIiBjbGFzcz1cImxlZnQtYmFyXCI+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICA8ZGl2IGNsYXNzPVwidG9wLWhlYWRlciB0ZXh0LWNlbnRlclwiPlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxkaXYgY2xhc3M9XCJsZWZ0LWJhci1jb3VudFwiIFtuZ1N0eWxlXT1cIntcclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgJ2ZvbnQtc2l6ZSc6IChnZXRPdmVyYWxsQ2FyZERhdGE/LmVuZ2FnZXJzQ2FyZD8uZW5nYWdlcnNDb3VudC50b0xvY2FsZVN0cmluZygpPy5sZW5ndGggPiA1ID8gJzI0cHgnIDogJzM2cHgnKSBcclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIH1cIj57e2dldE92ZXJhbGxDYXJkRGF0YT8uZW5nYWdlcnNDYXJkPy5lbmdhZ2Vyc0NvdW50ID9cclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgZ2V0T3ZlcmFsbENhcmREYXRhPy5lbmdhZ2Vyc0NhcmQ/LmVuZ2FnZXJzQ291bnQudG9Mb2NhbGVTdHJpbmcoJ2VuLUlOJykgOictLSd9fTwvZGl2PlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxkaXYgY2xhc3M9XCJsZWZ0LWJhci10aXRsZVwiPnt7aGVhZGVyRGF0YT8uY2xpZW50ID09PSc0NTInID8gJ01vcmUgdGhhbiAnICsgZmVhdHVyZUNvbmZpZz8uYm91bmNlZExpbWl0LnZhbHVlICsgJyBtaW5zJyA6J0VuZ2FnZXJzJ319IENvdW50PC9kaXY+XHJcbiAgICAgICAgXHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICA8L2Rpdj5cclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxkaXYgY2xhc3M9XCJteS01XCI+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGRpdiBjbGFzcz1cImQtZmxleCBhbGlnbi1pdGVtcy1jZW50ZXIgbXktNSBtZS0yXCI+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxkaXYgY2xhc3M9XCJmbGV4LXNocmluay0wIG10LTNcIj5cclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxzdmcgeG1sbnM9XCJodHRwOi8vd3d3LnczLm9yZy8yMDAwL3N2Z1wiIHdpZHRoPVwiMjRcIiBoZWlnaHQ9XCIyNFwiIHZpZXdCb3g9XCIwIDAgMjQgMjRcIiBmaWxsPVwibm9uZVwiPlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxwYXRoIGQ9XCJNMTMgMkwzIDE0SDEyTDExIDIyTDIxIDEwSDEyTDEzIDJaXCIgc3Ryb2tlPVwiIzk4QTJCM1wiIHN0cm9rZS13aWR0aD1cIjJcIiBzdHJva2UtbGluZWNhcD1cInJvdW5kXCIgc3Ryb2tlLWxpbmVqb2luPVwicm91bmRcIi8+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPC9zdmc+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvZGl2PlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8ZGl2IGNsYXNzPVwibXgtMyBtdC0xXCI+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8ZGl2IGNsYXNzPVwibXktMSBjYXJkLWxhYmVsIGxlZnQtY2FyZC1jb3VudFwiPlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHt7Z2V0T3ZlcmFsbENhcmREYXRhPy5lbmdhZ2Vyc0NhcmQ/LmVuZ2FnZXJzUmF0ZSA/XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgZ2V0T3ZlcmFsbENhcmREYXRhPy5lbmdhZ2Vyc0NhcmQ/LmVuZ2FnZXJzUmF0ZSA6Jy0tJ319JTwvZGl2PlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGRpdiBjbGFzcz1cImxlZnQtY2FyZC1jb3VudC1oZWFkZXJcIj57e2hlYWRlckRhdGE/LmNsaWVudCA9PT0nNDUyJyA/ICdNb3JlIHRoYW4gJyArIGZlYXR1cmVDb25maWc/LmJvdW5jZWRMaW1pdC52YWx1ZSArICcgbWlucycgOidFbmdhZ2Vycyd9fSBSYXRlPC9kaXY+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvZGl2PlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvZGl2PlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxkaXYgY2xhc3M9XCJkLWZsZXggYWxpZ24taXRlbXMtY2VudGVyIG15LTUgbWUtMlwiPlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8ZGl2IGNsYXNzPVwiZmxleC1zaHJpbmstMCBtdC0zXCI+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8c3ZnIHhtbG5zPVwiaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmdcIiB3aWR0aD1cIjI0XCIgaGVpZ2h0PVwiMjRcIiB2aWV3Qm94PVwiMCAwIDI0IDI0XCIgZmlsbD1cIm5vbmVcIj5cclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8cGF0aCBkPVwiTTEzIDJMMyAxNEgxMkwxMSAyMkwyMSAxMEgxMkwxMyAyWlwiIHN0cm9rZT1cIiM5OEEyQjNcIiBzdHJva2Utd2lkdGg9XCIyXCIgc3Ryb2tlLWxpbmVjYXA9XCJyb3VuZFwiIHN0cm9rZS1saW5lam9pbj1cInJvdW5kXCIvPlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvc3ZnPlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8L2Rpdj5cclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGRpdiBjbGFzcz1cIm14LTMgbXQtMVwiPlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGRpdiBjbGFzcz1cIm15LTEgY2FyZC1sYWJlbCBsZWZ0LWNhcmQtY291bnRcIj5cclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB7e2dldE92ZXJhbGxDYXJkRGF0YT8uZW5nYWdlcnNDYXJkPy5hdmdEd2VsbFRpbWUgP1xyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGdldE92ZXJhbGxDYXJkRGF0YT8uZW5nYWdlcnNDYXJkPy5hdmdEd2VsbFRpbWUgOictLSd9fSBNaW5zPC9kaXY+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8ZGl2IGNsYXNzPVwibGVmdC1jYXJkLWNvdW50LWhlYWRlclwiPkF2ZyBkd2VsbCBUaW1lPC9kaXY+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvZGl2PlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvZGl2PlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxkaXYgY2xhc3M9XCJkLWZsZXggYWxpZ24taXRlbXMtY2VudGVyIG15LTUgbWUtMlwiPlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8ZGl2IGNsYXNzPVwiZmxleC1zaHJpbmstMCBtdC0zXCI+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8c3ZnIHhtbG5zPVwiaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmdcIiB3aWR0aD1cIjI0XCIgaGVpZ2h0PVwiMjRcIiB2aWV3Qm94PVwiMCAwIDI0IDI0XCIgZmlsbD1cIm5vbmVcIj5cclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8cGF0aCBkPVwiTTEzIDJMMyAxNEgxMkwxMSAyMkwyMSAxMEgxMkwxMyAyWlwiIHN0cm9rZT1cIiM5OEEyQjNcIiBzdHJva2Utd2lkdGg9XCIyXCIgc3Ryb2tlLWxpbmVjYXA9XCJyb3VuZFwiIHN0cm9rZS1saW5lam9pbj1cInJvdW5kXCIvPlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvc3ZnPlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8L2Rpdj5cclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGRpdiBjbGFzcz1cIm14LTMgbXQtMVwiPlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGRpdiBjbGFzcz1cIm15LTEgY2FyZC1sYWJlbCBsZWZ0LWNhcmQtY291bnRcIj5cclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB7e2dldE92ZXJhbGxDYXJkRGF0YT8uZW5nYWdlcnNDYXJkPy5oaWdoRW5nYWdlbWVudFpvbmUgP1xyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGdldE92ZXJhbGxDYXJkRGF0YT8uZW5nYWdlcnNDYXJkPy5oaWdoRW5nYWdlbWVudFpvbmUgOictLSd9fTwvZGl2PlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGRpdiBjbGFzcz1cImxlZnQtY2FyZC1jb3VudC1oZWFkZXJcIj5IaWdoIEVuZ2FnZW1lbnQgWm9uZTwvZGl2PlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8L2Rpdj5cclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8L2Rpdj5cclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8ZGl2IGNsYXNzPVwiZC1mbGV4IGFsaWduLWl0ZW1zLWNlbnRlciBteS01IG1lLTJcIj5cclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGRpdiBjbGFzcz1cImZsZXgtc2hyaW5rLTAgbXQtM1wiPlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPHN2ZyB4bWxucz1cImh0dHA6Ly93d3cudzMub3JnLzIwMDAvc3ZnXCIgd2lkdGg9XCIyNFwiIGhlaWdodD1cIjI0XCIgdmlld0JveD1cIjAgMCAyNCAyNFwiIGZpbGw9XCJub25lXCI+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPHBhdGggZD1cIk0xMyAyTDMgMTRIMTJMMTEgMjJMMjEgMTBIMTJMMTMgMlpcIiBzdHJva2U9XCIjOThBMkIzXCIgc3Ryb2tlLXdpZHRoPVwiMlwiIHN0cm9rZS1saW5lY2FwPVwicm91bmRcIiBzdHJva2UtbGluZWpvaW49XCJyb3VuZFwiLz5cclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8L3N2Zz5cclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPC9kaXY+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxkaXYgY2xhc3M9XCJteC0zIG10LTFcIj5cclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxkaXYgY2xhc3M9XCJteS0xIGNhcmQtbGFiZWwgbGVmdC1jYXJkLWNvdW50XCI+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAge3tnZXRPdmVyYWxsQ2FyZERhdGE/LmVuZ2FnZXJzQ2FyZD8ubG93RW5nYWdlbWVudFpvbmUgP1xyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGdldE92ZXJhbGxDYXJkRGF0YT8uZW5nYWdlcnNDYXJkPy5sb3dFbmdhZ2VtZW50Wm9uZSA6Jy0tJ319PC9kaXY+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8ZGl2IGNsYXNzPVwibGVmdC1jYXJkLWNvdW50LWhlYWRlclwiPkxvdyBFbmdhZ2VtZW50IFpvbmU8L2Rpdj5cclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPC9kaXY+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgXHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPC9kaXY+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICA8L2Rpdj5cclxuICAgICAgICAgICAgICAgICAgICAgICAgPC9kaXY+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgIDxkaXYgKm5nSWY9XCJzZWxlY3RlZFRhYiA9PT0nYm91bmNlZCdcIiBjbGFzcz1cImxlZnQtYmFyXCI+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICA8ZGl2IGNsYXNzPVwidG9wLWhlYWRlciB0ZXh0LWNlbnRlclwiPlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxkaXYgY2xhc3M9XCJsZWZ0LWJhci1jb3VudFwiIFtuZ1N0eWxlXT1cIntcclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgJ2ZvbnQtc2l6ZSc6IChnZXRPdmVyYWxsQ2FyZERhdGE/LmJvdW5jZWRDYXJkPy5ib3VuY2VkQ291bnQudG9Mb2NhbGVTdHJpbmcoKT8ubGVuZ3RoID4gNSA/ICcyNHB4JyA6ICczNnB4JykgXHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB9XCI+e3tnZXRPdmVyYWxsQ2FyZERhdGE/LmJvdW5jZWRDYXJkPy5ib3VuY2VkQ291bnQgP1xyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBnZXRPdmVyYWxsQ2FyZERhdGE/LmJvdW5jZWRDYXJkPy5ib3VuY2VkQ291bnQudG9Mb2NhbGVTdHJpbmcoJ2VuLUlOJykgOictLSd9fTwvZGl2PlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxkaXYgY2xhc3M9XCJsZWZ0LWJhci10aXRsZVwiPnt7aGVhZGVyRGF0YT8uY2xpZW50ID09PSc0NTInID8gJ0xlc3MgdGhhbiAnICsgZmVhdHVyZUNvbmZpZz8uYm91bmNlZExpbWl0LnZhbHVlICsgJyBtaW5zJzonQm91bmNlZCd9fSBDb3VudDwvZGl2PlxyXG4gICAgICAgIFxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgPC9kaXY+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICA8ZGl2IGNsYXNzPVwibXktNVwiPlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxkaXYgY2xhc3M9XCJkLWZsZXggYWxpZ24taXRlbXMtY2VudGVyIG15LTUgbWUtMlwiPlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8ZGl2IGNsYXNzPVwiZmxleC1zaHJpbmstMCBtdC0zXCI+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8c3ZnIHhtbG5zPVwiaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmdcIiB3aWR0aD1cIjI0XCIgaGVpZ2h0PVwiMjRcIiB2aWV3Qm94PVwiMCAwIDI0IDI0XCIgZmlsbD1cIm5vbmVcIj5cclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8cGF0aCBkPVwiTTEzIDJMMyAxNEgxMkwxMSAyMkwyMSAxMEgxMkwxMyAyWlwiIHN0cm9rZT1cIiM5OEEyQjNcIiBzdHJva2Utd2lkdGg9XCIyXCIgc3Ryb2tlLWxpbmVjYXA9XCJyb3VuZFwiIHN0cm9rZS1saW5lam9pbj1cInJvdW5kXCIvPlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvc3ZnPlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8L2Rpdj5cclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGRpdiBjbGFzcz1cIm14LTMgbXQtMVwiPlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGRpdiBjbGFzcz1cIm15LTEgY2FyZC1sYWJlbCBsZWZ0LWNhcmQtY291bnRcIj5cclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB7e2dldE92ZXJhbGxDYXJkRGF0YT8uYm91bmNlZENhcmQ/LmJvdW5jZWRSYXRlID9cclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBnZXRPdmVyYWxsQ2FyZERhdGE/LmJvdW5jZWRDYXJkPy5ib3VuY2VkUmF0ZSA6Jy0tJ319JTwvZGl2PlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGRpdiBjbGFzcz1cImxlZnQtY2FyZC1jb3VudC1oZWFkZXJcIj57e2hlYWRlckRhdGE/LmNsaWVudCA9PT0nNDUyJyA/ICdMZXNzIHRoYW4gJyArIGZlYXR1cmVDb25maWc/LmJvdW5jZWRMaW1pdC52YWx1ZSsnIG1pbnMnOidCb3VuY2VkJ319IFJhdGU8L2Rpdj5cclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPC9kaXY+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPC9kaXY+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGRpdiBjbGFzcz1cImQtZmxleCBhbGlnbi1pdGVtcy1jZW50ZXIgbXktNSBtZS0yXCI+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxkaXYgY2xhc3M9XCJmbGV4LXNocmluay0wIG10LTNcIj5cclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxzdmcgeG1sbnM9XCJodHRwOi8vd3d3LnczLm9yZy8yMDAwL3N2Z1wiIHdpZHRoPVwiMjRcIiBoZWlnaHQ9XCIyNFwiIHZpZXdCb3g9XCIwIDAgMjQgMjRcIiBmaWxsPVwibm9uZVwiPlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxwYXRoIGQ9XCJNMTMgMkwzIDE0SDEyTDExIDIyTDIxIDEwSDEyTDEzIDJaXCIgc3Ryb2tlPVwiIzk4QTJCM1wiIHN0cm9rZS13aWR0aD1cIjJcIiBzdHJva2UtbGluZWNhcD1cInJvdW5kXCIgc3Ryb2tlLWxpbmVqb2luPVwicm91bmRcIi8+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPC9zdmc+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvZGl2PlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8ZGl2IGNsYXNzPVwibXgtMyBtdC0xXCI+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8ZGl2IGNsYXNzPVwibXktMSBjYXJkLWxhYmVsIGxlZnQtY2FyZC1jb3VudFwiPlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHt7Z2V0T3ZlcmFsbENhcmREYXRhPy5ib3VuY2VkQ2FyZD8ucGVha0JvdW5jZWRIb3VyID9cclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBnZXRPdmVyYWxsQ2FyZERhdGE/LmJvdW5jZWRDYXJkPy5wZWFrQm91bmNlZEhvdXIgOictLSd9fTwvZGl2PlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGRpdiBjbGFzcz1cImxlZnQtY2FyZC1jb3VudC1oZWFkZXJcIj5QZWFrIHt7aGVhZGVyRGF0YT8uY2xpZW50ID09PSc0NTInID8gJ0xlc3MgdGhhbiAnKyBmZWF0dXJlQ29uZmlnPy5ib3VuY2VkTGltaXQudmFsdWUgKyAnIG1pbnMnOidCb3VuY2VkJ319PC9kaXY+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvZGl2PlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvZGl2PlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxkaXYgY2xhc3M9XCJkLWZsZXggYWxpZ24taXRlbXMtY2VudGVyIG15LTUgbWUtMlwiPlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8ZGl2IGNsYXNzPVwiZmxleC1zaHJpbmstMCBtdC0zXCI+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8c3ZnIHhtbG5zPVwiaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmdcIiB3aWR0aD1cIjI0XCIgaGVpZ2h0PVwiMjRcIiB2aWV3Qm94PVwiMCAwIDI0IDI0XCIgZmlsbD1cIm5vbmVcIj5cclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8cGF0aCBkPVwiTTEzIDJMMyAxNEgxMkwxMSAyMkwyMSAxMEgxMkwxMyAyWlwiIHN0cm9rZT1cIiM5OEEyQjNcIiBzdHJva2Utd2lkdGg9XCIyXCIgc3Ryb2tlLWxpbmVjYXA9XCJyb3VuZFwiIHN0cm9rZS1saW5lam9pbj1cInJvdW5kXCIvPlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvc3ZnPlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8L2Rpdj5cclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGRpdiBjbGFzcz1cIm14LTMgbXQtMVwiPlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGRpdiBjbGFzcz1cIm15LTEgY2FyZC1sYWJlbCBsZWZ0LWNhcmQtY291bnRcIj5cclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB7e2dldE92ZXJhbGxDYXJkRGF0YT8uYm91bmNlZENhcmQ/Lm1vc3RDb21tb25BZ2UgP1xyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGdldE92ZXJhbGxDYXJkRGF0YT8uYm91bmNlZENhcmQ/Lm1vc3RDb21tb25BZ2UgOictLSd9fTwvZGl2PlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGRpdiBjbGFzcz1cImxlZnQtY2FyZC1jb3VudC1oZWFkZXJcIj5Nb3N0IENvbW1vbiBBZ2U8L2Rpdj5cclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPC9kaXY+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPC9kaXY+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGRpdiBjbGFzcz1cImQtZmxleCBhbGlnbi1pdGVtcy1jZW50ZXIgbXktNSBtZS0yXCI+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxkaXYgY2xhc3M9XCJmbGV4LXNocmluay0wIG10LTNcIj5cclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxzdmcgeG1sbnM9XCJodHRwOi8vd3d3LnczLm9yZy8yMDAwL3N2Z1wiIHdpZHRoPVwiMjRcIiBoZWlnaHQ9XCIyNFwiIHZpZXdCb3g9XCIwIDAgMjQgMjRcIiBmaWxsPVwibm9uZVwiPlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxwYXRoIGQ9XCJNMTMgMkwzIDE0SDEyTDExIDIyTDIxIDEwSDEyTDEzIDJaXCIgc3Ryb2tlPVwiIzk4QTJCM1wiIHN0cm9rZS13aWR0aD1cIjJcIiBzdHJva2UtbGluZWNhcD1cInJvdW5kXCIgc3Ryb2tlLWxpbmVqb2luPVwicm91bmRcIi8+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPC9zdmc+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvZGl2PlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8ZGl2IGNsYXNzPVwibXgtMyBtdC0xXCI+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8ZGl2IGNsYXNzPVwibXktMSBjYXJkLWxhYmVsIGxlZnQtY2FyZC1jb3VudFwiPlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHt7Z2V0T3ZlcmFsbENhcmREYXRhPy5ib3VuY2VkQ2FyZD8ubWFsZVJhdGUgP1xyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGdldE92ZXJhbGxDYXJkRGF0YT8uYm91bmNlZENhcmQ/Lm1hbGVSYXRlIDonLS0nfX0gJTwvZGl2PlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGRpdiBjbGFzcz1cImxlZnQtY2FyZC1jb3VudC1oZWFkZXJcIj5NYWxlPC9kaXY+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvZGl2PlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8ZGl2IGNsYXNzPVwibXgtMyBtdC0xXCI+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8ZGl2IGNsYXNzPVwibXktMSBjYXJkLWxhYmVsIGxlZnQtY2FyZC1jb3VudFwiPlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHt7Z2V0T3ZlcmFsbENhcmREYXRhPy5ib3VuY2VkQ2FyZD8uZmVtYWxlUmF0ZSA/XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgZ2V0T3ZlcmFsbENhcmREYXRhPy5ib3VuY2VkQ2FyZD8uZmVtYWxlUmF0ZSA6Jy0tJ319ICU8L2Rpdj5cclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxkaXYgY2xhc3M9XCJsZWZ0LWNhcmQtY291bnQtaGVhZGVyXCI+RmVtYWxlPC9kaXY+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvZGl2PlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIFxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvZGl2PlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgPC9kaXY+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgIDwvZGl2PlxyXG4gICAgICAgICAgICAgICAgICAgICAgICA8ZGl2ICpuZ0lmPVwic2VsZWN0ZWRUYWIgPT09J3BvdGVudGlhbEJ1eWVycydcIiBjbGFzcz1cImxlZnQtYmFyXCI+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICA8ZGl2IGNsYXNzPVwidG9wLWhlYWRlciB0ZXh0LWNlbnRlclwiPlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxkaXYgY2xhc3M9XCJsZWZ0LWJhci1jb3VudFwiIFtuZ1N0eWxlXT1cIntcclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgJ2ZvbnQtc2l6ZSc6IChnZXRPdmVyYWxsQ2FyZERhdGE/LnBvdGVudGlhbEJ1eWVyc0NhcmQ/LnBvdGVudGlhbEJ1eWVyc0NvdW50LnRvTG9jYWxlU3RyaW5nKCk/Lmxlbmd0aCA+IDUgPyAnMjRweCcgOiAnMzZweCcpIFxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgfVwiPnt7Z2V0T3ZlcmFsbENhcmREYXRhPy5wb3RlbnRpYWxCdXllcnNDYXJkPy5wb3RlbnRpYWxCdXllcnNDb3VudCA/XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGdldE92ZXJhbGxDYXJkRGF0YT8ucG90ZW50aWFsQnV5ZXJzQ2FyZD8ucG90ZW50aWFsQnV5ZXJzQ291bnQudG9Mb2NhbGVTdHJpbmcoJ2VuLUlOJykgOictLSd9fTwvZGl2PlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxkaXYgY2xhc3M9XCJsZWZ0LWJhci10aXRsZVwiPlBvdGVudGlhbCBCdXllcnM8L2Rpdj5cclxuICAgICAgICBcclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvZGl2PlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgPGRpdiBjbGFzcz1cIm15LTVcIj5cclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8ZGl2IGNsYXNzPVwiZC1mbGV4IGFsaWduLWl0ZW1zLWNlbnRlciBteS01IG1lLTJcIj5cclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGRpdiBjbGFzcz1cImZsZXgtc2hyaW5rLTAgbXQtM1wiPlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPHN2ZyB4bWxucz1cImh0dHA6Ly93d3cudzMub3JnLzIwMDAvc3ZnXCIgd2lkdGg9XCIyNFwiIGhlaWdodD1cIjI0XCIgdmlld0JveD1cIjAgMCAyNCAyNFwiIGZpbGw9XCJub25lXCI+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPHBhdGggZD1cIk0xMyAyTDMgMTRIMTJMMTEgMjJMMjEgMTBIMTJMMTMgMlpcIiBzdHJva2U9XCIjOThBMkIzXCIgc3Ryb2tlLXdpZHRoPVwiMlwiIHN0cm9rZS1saW5lY2FwPVwicm91bmRcIiBzdHJva2UtbGluZWpvaW49XCJyb3VuZFwiLz5cclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8L3N2Zz5cclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPC9kaXY+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxkaXYgY2xhc3M9XCJteC0zIG10LTFcIj5cclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxkaXYgY2xhc3M9XCJteS0xIGNhcmQtbGFiZWwgbGVmdC1jYXJkLWNvdW50XCI+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAge3tnZXRPdmVyYWxsQ2FyZERhdGE/LnBvdGVudGlhbEJ1eWVyc0NhcmQ/LnBvdGVudGlhbEJ1eWVyc1JhdGUgP1xyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGdldE92ZXJhbGxDYXJkRGF0YT8ucG90ZW50aWFsQnV5ZXJzQ2FyZD8ucG90ZW50aWFsQnV5ZXJzUmF0ZSA6Jy0tJ319JTwvZGl2PlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGRpdiBjbGFzcz1cImxlZnQtY2FyZC1jb3VudC1oZWFkZXJcIj5CdXllcnMgUmF0ZTwvZGl2PlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8L2Rpdj5cclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8L2Rpdj5cclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8ZGl2IGNsYXNzPVwiZC1mbGV4IGFsaWduLWl0ZW1zLWNlbnRlciBteS01IG1lLTJcIj5cclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGRpdiBjbGFzcz1cImZsZXgtc2hyaW5rLTAgbXQtM1wiPlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPHN2ZyB4bWxucz1cImh0dHA6Ly93d3cudzMub3JnLzIwMDAvc3ZnXCIgd2lkdGg9XCIyNFwiIGhlaWdodD1cIjI0XCIgdmlld0JveD1cIjAgMCAyNCAyNFwiXHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgZmlsbD1cIm5vbmVcIj5cclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8cGF0aFxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBkPVwiTTIwIDIxVjE5QzIwIDE3LjkzOTEgMTkuNTc4NiAxNi45MjE3IDE4LjgyODQgMTYuMTcxNkMxOC4wNzgzIDE1LjQyMTQgMTcuMDYwOSAxNSAxNiAxNUg4QzYuOTM5MTMgMTUgNS45MjE3MiAxNS40MjE0IDUuMTcxNTcgMTYuMTcxNkM0LjQyMTQzIDE2LjkyMTcgNCAxNy45MzkxIDQgMTlWMjFNMTYgN0MxNiA5LjIwOTE0IDE0LjIwOTEgMTEgMTIgMTFDOS43OTA4NiAxMSA4IDkuMjA5MTQgOCA3QzggNC43OTA4NiA5Ljc5MDg2IDMgMTIgM0MxNC4yMDkxIDMgMTYgNC43OTA4NiAxNiA3WlwiXHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHN0cm9rZT1cIiM5OEEyQjNcIiBzdHJva2Utd2lkdGg9XCIyXCIgc3Ryb2tlLWxpbmVjYXA9XCJyb3VuZFwiXHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHN0cm9rZS1saW5lam9pbj1cInJvdW5kXCIgLz5cclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvc3ZnPlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8L2Rpdj5cclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGRpdiBjbGFzcz1cIm14LTMgbXQtMVwiPlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGRpdiBjbGFzcz1cIm15LTEgY2FyZC1sYWJlbCBsZWZ0LWNhcmQtY291bnRcIj5cclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB7e2dldE92ZXJhbGxDYXJkRGF0YT8ucG90ZW50aWFsQnV5ZXJzQ2FyZD8uc2luZ2xlQ291bnQgP1xyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGdldE92ZXJhbGxDYXJkRGF0YT8ucG90ZW50aWFsQnV5ZXJzQ2FyZD8uc2luZ2xlQ291bnQudG9Mb2NhbGVTdHJpbmcoJ2VuLUlOJykgOictLSd9fTwvZGl2PlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGRpdiBjbGFzcz1cImxlZnQtY2FyZC1jb3VudC1oZWFkZXJcIj5TaW5nbGU8L2Rpdj5cclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPC9kaXY+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPC9kaXY+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGRpdiBjbGFzcz1cImQtZmxleCBhbGlnbi1pdGVtcy1jZW50ZXIgbXktNSBtZS0yXCI+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxkaXYgY2xhc3M9XCJmbGV4LXNocmluay0wIG10LTNcIj5cclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxzdmcgd2lkdGg9XCIyNlwiIGhlaWdodD1cIjI0XCIgdmlld0JveD1cIjAgMCAyNiAyNFwiIGZpbGw9XCJub25lXCJcclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB4bWxucz1cImh0dHA6Ly93d3cudzMub3JnLzIwMDAvc3ZnXCI+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPHJlY3Qgd2lkdGg9XCIyNlwiIGhlaWdodD1cIjI0XCIgZmlsbD1cIiNEQ0RDRENcIiAvPlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxyZWN0IHg9XCItNDYwLjVcIiB5PVwiLTM0MC41XCIgd2lkdGg9XCI3ODNcIiBoZWlnaHQ9XCIxOTQ3XCIgcng9XCI0LjVcIiBzdHJva2U9XCIjOTc0N0ZGXCJcclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgc3Ryb2tlLWRhc2hhcnJheT1cIjEwIDVcIiAvPlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxtYXNrIGlkPVwicGF0aC0yLWluc2lkZS0xXzcwN18xMzEwNlwiIGZpbGw9XCJ3aGl0ZVwiPlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8cGF0aFxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgZD1cIk0tMTg5IC04OUMtMTg5IC05NS42Mjc0IC0xODMuNjI3IC0xMDEgLTE3NyAtMTAxSDI5NUMzMDEuNjI3IC0xMDEgMzA3IC05NS42Mjc0IDMwNyAtODlWODVDMzA3IDkxLjYyNzQgMzAxLjYyNyA5NyAyOTUgOTdILTE3N0MtMTgzLjYyNyA5NyAtMTg5IDkxLjYyNzQgLTE4OSA4NVYtODlaXCIgLz5cclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8L21hc2s+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPHBhdGhcclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgZD1cIk0tMTg5IC04OUMtMTg5IC05NS42Mjc0IC0xODMuNjI3IC0xMDEgLTE3NyAtMTAxSDI5NUMzMDEuNjI3IC0xMDEgMzA3IC05NS42Mjc0IDMwNyAtODlWODVDMzA3IDkxLjYyNzQgMzAxLjYyNyA5NyAyOTUgOTdILTE3N0MtMTgzLjYyNyA5NyAtMTg5IDkxLjYyNzQgLTE4OSA4NVYtODlaXCJcclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgZmlsbD1cIndoaXRlXCIgLz5cclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8cGF0aFxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBkPVwiTS0xOTAgLTg5Qy0xOTAgLTk2LjE3OTcgLTE4NC4xOCAtMTAyIC0xNzcgLTEwMkgyOTRDMzAxLjE4IC0xMDIgMzA3IC05Ni4xNzk3IDMwNyAtODlDMzA3IC05NS4wNzUxIDMwMS42MjcgLTEwMCAyOTUgLTEwMEgtMTc3Qy0xODMuMDc1IC0xMDAgLTE4OCAtOTUuMDc1MSAtMTg4IC04OUgtMTkwWk0zMDcgODVDMzA3IDkyLjE3OTcgMzAxLjE4IDk4IDI5NCA5OEgtMTc3Qy0xODQuMTggOTggLTE5MCA5Mi4xNzk3IC0xOTAgODVILTE4OEMtMTg4IDkxLjA3NTEgLTE4My4wNzUgOTYgLTE3NyA5NkgyOTVDMzAxLjYyNyA5NiAzMDcgOTEuMDc1MSAzMDcgODVaTS0xNzcgOThDLTE4NC4xOCA5OCAtMTkwIDkyLjE3OTcgLTE5MCA4NVYtODlDLTE5MCAtOTYuMTc5NyAtMTg0LjE4IC0xMDIgLTE3NyAtMTAyVi0xMDBDLTE4My4wNzUgLTEwMCAtMTg4IC05NS4wNzUxIC0xODggLTg5Vjg1Qy0xODggOTEuMDc1MSAtMTgzLjA3NSA5NiAtMTc3IDk2Vjk4Wk0zMDcgLTEwMVY5N1YtMTAxWlwiXHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGZpbGw9XCIjRDBENUREXCIgbWFzaz1cInVybCgjcGF0aC0yLWluc2lkZS0xXzcwN18xMzEwNilcIiAvPlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxtYXNrIGlkPVwicGF0aC02LWluc2lkZS0yXzcwN18xMzEwNlwiIGZpbGw9XCJ3aGl0ZVwiPlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8cGF0aFxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgZD1cIk03LjcxMDY0IDcuMzg0NjJDOC4xOTU1MiA3LjM4NDYyIDguNjc1NjUgNy4yODkxMSA5LjEyMzYyIDcuMTAzNTZDOS41NzE1OSA2LjkxOCA5Ljk3ODYzIDYuNjQ2MDMgMTAuMzIxNSA2LjMwMzE2QzEwLjY2NDQgNS45NjAzIDEwLjkzNjMgNS41NTMyNiAxMS4xMjE5IDUuMTA1MjlDMTEuMzA3NCA0LjY1NzMyIDExLjQwMjkgNC4xNzcxOSAxMS40MDI5IDMuNjkyMzFDMTEuNDAyOSAzLjIwNzQzIDExLjMwNzQgMi43MjcyOSAxMS4xMjE5IDIuMjc5MzJDMTAuOTM2MyAxLjgzMTM1IDEwLjY2NDQgMS40MjQzMSAxMC4zMjE1IDEuMDgxNDVDOS45Nzg2MyAwLjczODU5IDkuNTcxNTkgMC40NjY2MTYgOS4xMjM2MiAwLjI4MTA2QzguNjc1NjUgMC4wOTU1MDQzIDguMTk1NTIgLTcuMjI1MjllLTA5IDcuNzEwNjQgMEM2LjczMTM4IDEuNDU5MjFlLTA4IDUuNzkyMjIgMC4zODkwMSA1LjA5OTc4IDEuMDgxNDVDNC40MDczNCAxLjc3Mzg5IDQuMDE4MzMgMi43MTMwNSA0LjAxODMzIDMuNjkyMzFDNC4wMTgzMyA0LjY3MTU3IDQuNDA3MzQgNS42MTA3MiA1LjA5OTc4IDYuMzAzMTZDNS43OTIyMiA2Ljk5NTYxIDYuNzMxMzggNy4zODQ2MiA3LjcxMDY0IDcuMzg0NjJaTTE4Ljc4NzYgNy4zODQ2MkMxOS4yNzI0IDcuMzg0NjIgMTkuNzUyNiA3LjI4OTExIDIwLjIwMDUgNy4xMDM1NkMyMC42NDg1IDYuOTE4IDIxLjA1NTYgNi42NDYwMyAyMS4zOTg0IDYuMzAzMTZDMjEuNzQxMyA1Ljk2MDMgMjIuMDEzMyA1LjU1MzI2IDIyLjE5ODggNS4xMDUyOUMyMi4zODQ0IDQuNjU3MzIgMjIuNDc5OSA0LjE3NzE5IDIyLjQ3OTkgMy42OTIzMUMyMi40Nzk5IDMuMjA3NDMgMjIuMzg0NCAyLjcyNzI5IDIyLjE5ODggMi4yNzkzMkMyMi4wMTMzIDEuODMxMzUgMjEuNzQxMyAxLjQyNDMxIDIxLjM5ODQgMS4wODE0NUMyMS4wNTU2IDAuNzM4NTkgMjAuNjQ4NSAwLjQ2NjYxNiAyMC4yMDA1IDAuMjgxMDZDMTkuNzUyNiAwLjA5NTUwNDMgMTkuMjcyNCAtNy4yMjUyOWUtMDkgMTguNzg3NiAwQzE3LjgwODMgMS40NTkyMWUtMDggMTYuODY5MSAwLjM4OTAxIDE2LjE3NjcgMS4wODE0NUMxNS40ODQzIDEuNzczODkgMTUuMDk1MyAyLjcxMzA1IDE1LjA5NTMgMy42OTIzMUMxNS4wOTUzIDQuNjcxNTcgMTUuNDg0MyA1LjYxMDcyIDE2LjE3NjcgNi4zMDMxNkMxNi44NjkxIDYuOTk1NjEgMTcuODA4MyA3LjM4NDYyIDE4Ljc4NzYgNy4zODQ2MlpNMC45NDE0MDYgMTAuNzM2QzAuOTQxNDA2IDEwLjQ1NzUgMC45OTYyNTggMTAuMTgxOCAxLjEwMjgzIDkuOTI0NDhDMS4yMDk0IDkuNjY3MTkgMS4zNjU2IDkuNDMzNDIgMS41NjI1MiA5LjIzNjVDMS43NTk0NCA5LjAzOTU4IDEuOTkzMjEgOC44ODMzOCAyLjI1MDUgOC43NzY4MUMyLjUwNzc4IDguNjcwMjQgMi43ODM1NCA4LjYxNTM5IDMuMDYyMDIgOC42MTUzOUg4Ljk4NDQ4QzguNTUxNjkgOS4zNjM0NSA4LjMyNDUyIDEwLjIxMjcgOC4zMjYwMiAxMS4wNzY5QzguMzI1MTkgMTEuNzc1NSA4LjQ3MzQxIDEyLjQ2NjIgOC43NjA3OSAxMy4xMDI5QzkuMDQ4MTYgMTMuNzM5NiA5LjQ2ODA3IDE0LjMwNzcgOS45OTI0OCAxNC43NjkySDguNjAwNDhDOC4wMTQxOCAxNC43Njg3IDcuNDM4MDMgMTQuOTIyMiA2LjkyOTY5IDE1LjIxNDRDNi40MjEzNCAxNS41MDY1IDUuOTk4NjQgMTUuOTI3IDUuNzAzODcgMTYuNDMzOEMzLjcyMTEgMTYuMDQ0OSAyLjUxNjE4IDE1LjA3ODIgMS44MTQ2NCAxMy45OTJDMC45NDE0MDYgMTIuNjQgMC45NDE0MDYgMTEuMjQzMSAwLjk0MTQwNiAxMS4wMDEyVjEwLjczNlpNMTcuODk3NyAxNC43NjkyQzE4LjQ4NCAxNC43Njg3IDE5LjA2MDIgMTQuOTIyMiAxOS41Njg1IDE1LjIxNDRDMjAuMDc2OSAxNS41MDY1IDIwLjQ5OTYgMTUuOTI3IDIwLjc5NDMgMTYuNDMzOEMyMi43NzcxIDE2LjA0NDkgMjMuOTgyIDE1LjA3ODIgMjQuNjgzNiAxMy45OTJDMjUuNTU2OCAxMi42NCAyNS41NTY4IDExLjI0MzEgMjUuNTU2OCAxMS4wMDEyVjEwLjczNjZDMjUuNTU2OSAxMC40NTgxIDI1LjUwMjEgMTAuMTgyMyAyNS4zOTU1IDkuOTI0OUMyNS4yODkgOS42Njc1NSAyNS4xMzI4IDkuNDMzNyAyNC45MzU5IDkuMjM2NzJDMjQuNzM5IDkuMDM5NzMgMjQuNTA1MiA4Ljg4MzQ4IDI0LjI0NzggOC43NzY4N0MyMy45OTA1IDguNjcwMjYgMjMuNzE0NyA4LjYxNTM5IDIzLjQzNjIgOC42MTUzOUgxNy41MTM3QzE3Ljk0NjUgOS4zNjM0NSAxOC4xNzM3IDEwLjIxMjcgMTguMTcyMiAxMS4wNzY5QzE4LjE3MyAxMS43NzU1IDE4LjAyNDggMTIuNDY2MiAxNy43Mzc0IDEzLjEwMjlDMTcuNDUgMTMuNzM5NiAxNy4wMzAxIDE0LjMwNzcgMTYuNTA1NyAxNC43NjkySDE3Ljg5NzdaTTE2Ljk0MTQgMTEuMDc2OUMxNi45NDE0IDEyLjA1NjIgMTYuNTUyNCAxMi45OTUzIDE1Ljg2IDEzLjY4NzhDMTUuMTY3NSAxNC4zODAyIDE0LjIyODQgMTQuNzY5MiAxMy4yNDkxIDE0Ljc2OTJDMTIuMjY5OCAxNC43NjkyIDExLjMzMDcgMTQuMzgwMiAxMC42MzgyIDEzLjY4NzhDOS45NDU4IDEyLjk5NTMgOS41NTY3OSAxMi4wNTYyIDkuNTU2NzkgMTEuMDc2OUM5LjU1Njc5IDEwLjA5NzcgOS45NDU4IDkuMTU4NTEgMTAuNjM4MiA4LjQ2NjA3QzExLjMzMDcgNy43NzM2MyAxMi4yNjk4IDcuMzg0NjIgMTMuMjQ5MSA3LjM4NDYyQzE0LjIyODQgNy4zODQ2MiAxNS4xNjc1IDcuNzczNjMgMTUuODYgOC40NjYwN0MxNi41NTI0IDkuMTU4NTEgMTYuOTQxNCAxMC4wOTc3IDE2Ljk0MTQgMTEuMDc2OVpNNi40Nzk4NyAxOC4xMjA2QzYuNDc5ODcgMTcuNTU4MiA2LjcwMzI5IDE3LjAxODggNy4xMDA5OCAxNi42MjExQzcuNDk4NjcgMTYuMjIzNCA4LjAzODA2IDE2IDguNjAwNDggMTZIMTcuODk3N0MxOC40NjAxIDE2IDE4Ljk5OTUgMTYuMjIzNCAxOS4zOTcyIDE2LjYyMTFDMTkuNzk0OSAxNy4wMTg4IDIwLjAxODMgMTcuNTU4MiAyMC4wMTgzIDE4LjEyMDZWMTguMzg1OEMyMC4wMTgzIDE4LjYyODMgMjAuMDE4MyAyMC4wMjQ2IDE5LjE0NTEgMjEuMzc2NkMxOC4yMzI1IDIyLjc4OTUgMTYuNDY5NCAyNCAxMy4yNDkxIDI0QzEwLjAyODggMjQgOC4yNjU3MSAyMi43ODk1IDcuMzUzMSAyMS4zNzY2QzYuNDc5ODcgMjAuMDI0NiA2LjQ3OTg3IDE4LjYyNzcgNi40Nzk4NyAxOC4zODU4VjE4LjEyMDZaXCIgLz5cclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8L21hc2s+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPHBhdGhcclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgZD1cIk03LjcxMDY0IDcuMzg0NjJDOC4xOTU1MiA3LjM4NDYyIDguNjc1NjUgNy4yODkxMSA5LjEyMzYyIDcuMTAzNTZDOS41NzE1OSA2LjkxOCA5Ljk3ODYzIDYuNjQ2MDMgMTAuMzIxNSA2LjMwMzE2QzEwLjY2NDQgNS45NjAzIDEwLjkzNjMgNS41NTMyNiAxMS4xMjE5IDUuMTA1MjlDMTEuMzA3NCA0LjY1NzMyIDExLjQwMjkgNC4xNzcxOSAxMS40MDI5IDMuNjkyMzFDMTEuNDAyOSAzLjIwNzQzIDExLjMwNzQgMi43MjcyOSAxMS4xMjE5IDIuMjc5MzJDMTAuOTM2MyAxLjgzMTM1IDEwLjY2NDQgMS40MjQzMSAxMC4zMjE1IDEuMDgxNDVDOS45Nzg2MyAwLjczODU5IDkuNTcxNTkgMC40NjY2MTYgOS4xMjM2MiAwLjI4MTA2QzguNjc1NjUgMC4wOTU1MDQzIDguMTk1NTIgLTcuMjI1MjllLTA5IDcuNzEwNjQgMEM2LjczMTM4IDEuNDU5MjFlLTA4IDUuNzkyMjIgMC4zODkwMSA1LjA5OTc4IDEuMDgxNDVDNC40MDczNCAxLjc3Mzg5IDQuMDE4MzMgMi43MTMwNSA0LjAxODMzIDMuNjkyMzFDNC4wMTgzMyA0LjY3MTU3IDQuNDA3MzQgNS42MTA3MiA1LjA5OTc4IDYuMzAzMTZDNS43OTIyMiA2Ljk5NTYxIDYuNzMxMzggNy4zODQ2MiA3LjcxMDY0IDcuMzg0NjJaTTE4Ljc4NzYgNy4zODQ2MkMxOS4yNzI0IDcuMzg0NjIgMTkuNzUyNiA3LjI4OTExIDIwLjIwMDUgNy4xMDM1NkMyMC42NDg1IDYuOTE4IDIxLjA1NTYgNi42NDYwMyAyMS4zOTg0IDYuMzAzMTZDMjEuNzQxMyA1Ljk2MDMgMjIuMDEzMyA1LjU1MzI2IDIyLjE5ODggNS4xMDUyOUMyMi4zODQ0IDQuNjU3MzIgMjIuNDc5OSA0LjE3NzE5IDIyLjQ3OTkgMy42OTIzMUMyMi40Nzk5IDMuMjA3NDMgMjIuMzg0NCAyLjcyNzI5IDIyLjE5ODggMi4yNzkzMkMyMi4wMTMzIDEuODMxMzUgMjEuNzQxMyAxLjQyNDMxIDIxLjM5ODQgMS4wODE0NUMyMS4wNTU2IDAuNzM4NTkgMjAuNjQ4NSAwLjQ2NjYxNiAyMC4yMDA1IDAuMjgxMDZDMTkuNzUyNiAwLjA5NTUwNDMgMTkuMjcyNCAtNy4yMjUyOWUtMDkgMTguNzg3NiAwQzE3LjgwODMgMS40NTkyMWUtMDggMTYuODY5MSAwLjM4OTAxIDE2LjE3NjcgMS4wODE0NUMxNS40ODQzIDEuNzczODkgMTUuMDk1MyAyLjcxMzA1IDE1LjA5NTMgMy42OTIzMUMxNS4wOTUzIDQuNjcxNTcgMTUuNDg0MyA1LjYxMDcyIDE2LjE3NjcgNi4zMDMxNkMxNi44NjkxIDYuOTk1NjEgMTcuODA4MyA3LjM4NDYyIDE4Ljc4NzYgNy4zODQ2MlpNMC45NDE0MDYgMTAuNzM2QzAuOTQxNDA2IDEwLjQ1NzUgMC45OTYyNTggMTAuMTgxOCAxLjEwMjgzIDkuOTI0NDhDMS4yMDk0IDkuNjY3MTkgMS4zNjU2IDkuNDMzNDIgMS41NjI1MiA5LjIzNjVDMS43NTk0NCA5LjAzOTU4IDEuOTkzMjEgOC44ODMzOCAyLjI1MDUgOC43NzY4MUMyLjUwNzc4IDguNjcwMjQgMi43ODM1NCA4LjYxNTM5IDMuMDYyMDIgOC42MTUzOUg4Ljk4NDQ4QzguNTUxNjkgOS4zNjM0NSA4LjMyNDUyIDEwLjIxMjcgOC4zMjYwMiAxMS4wNzY5QzguMzI1MTkgMTEuNzc1NSA4LjQ3MzQxIDEyLjQ2NjIgOC43NjA3OSAxMy4xMDI5QzkuMDQ4MTYgMTMuNzM5NiA5LjQ2ODA3IDE0LjMwNzcgOS45OTI0OCAxNC43NjkySDguNjAwNDhDOC4wMTQxOCAxNC43Njg3IDcuNDM4MDMgMTQuOTIyMiA2LjkyOTY5IDE1LjIxNDRDNi40MjEzNCAxNS41MDY1IDUuOTk4NjQgMTUuOTI3IDUuNzAzODcgMTYuNDMzOEMzLjcyMTEgMTYuMDQ0OSAyLjUxNjE4IDE1LjA3ODIgMS44MTQ2NCAxMy45OTJDMC45NDE0MDYgMTIuNjQgMC45NDE0MDYgMTEuMjQzMSAwLjk0MTQwNiAxMS4wMDEyVjEwLjczNlpNMTcuODk3NyAxNC43NjkyQzE4LjQ4NCAxNC43Njg3IDE5LjA2MDIgMTQuOTIyMiAxOS41Njg1IDE1LjIxNDRDMjAuMDc2OSAxNS41MDY1IDIwLjQ5OTYgMTUuOTI3IDIwLjc5NDMgMTYuNDMzOEMyMi43NzcxIDE2LjA0NDkgMjMuOTgyIDE1LjA3ODIgMjQuNjgzNiAxMy45OTJDMjUuNTU2OCAxMi42NCAyNS41NTY4IDExLjI0MzEgMjUuNTU2OCAxMS4wMDEyVjEwLjczNjZDMjUuNTU2OSAxMC40NTgxIDI1LjUwMjEgMTAuMTgyMyAyNS4zOTU1IDkuOTI0OUMyNS4yODkgOS42Njc1NSAyNS4xMzI4IDkuNDMzNyAyNC45MzU5IDkuMjM2NzJDMjQuNzM5IDkuMDM5NzMgMjQuNTA1MiA4Ljg4MzQ4IDI0LjI0NzggOC43NzY4N0MyMy45OTA1IDguNjcwMjYgMjMuNzE0NyA4LjYxNTM5IDIzLjQzNjIgOC42MTUzOUgxNy41MTM3QzE3Ljk0NjUgOS4zNjM0NSAxOC4xNzM3IDEwLjIxMjcgMTguMTcyMiAxMS4wNzY5QzE4LjE3MyAxMS43NzU1IDE4LjAyNDggMTIuNDY2MiAxNy43Mzc0IDEzLjEwMjlDMTcuNDUgMTMuNzM5NiAxNy4wMzAxIDE0LjMwNzcgMTYuNTA1NyAxNC43NjkySDE3Ljg5NzdaTTE2Ljk0MTQgMTEuMDc2OUMxNi45NDE0IDEyLjA1NjIgMTYuNTUyNCAxMi45OTUzIDE1Ljg2IDEzLjY4NzhDMTUuMTY3NSAxNC4zODAyIDE0LjIyODQgMTQuNzY5MiAxMy4yNDkxIDE0Ljc2OTJDMTIuMjY5OCAxNC43NjkyIDExLjMzMDcgMTQuMzgwMiAxMC42MzgyIDEzLjY4NzhDOS45NDU4IDEyLjk5NTMgOS41NTY3OSAxMi4wNTYyIDkuNTU2NzkgMTEuMDc2OUM5LjU1Njc5IDEwLjA5NzcgOS45NDU4IDkuMTU4NTEgMTAuNjM4MiA4LjQ2NjA3QzExLjMzMDcgNy43NzM2MyAxMi4yNjk4IDcuMzg0NjIgMTMuMjQ5MSA3LjM4NDYyQzE0LjIyODQgNy4zODQ2MiAxNS4xNjc1IDcuNzczNjMgMTUuODYgOC40NjYwN0MxNi41NTI0IDkuMTU4NTEgMTYuOTQxNCAxMC4wOTc3IDE2Ljk0MTQgMTEuMDc2OVpNNi40Nzk4NyAxOC4xMjA2QzYuNDc5ODcgMTcuNTU4MiA2LjcwMzI5IDE3LjAxODggNy4xMDA5OCAxNi42MjExQzcuNDk4NjcgMTYuMjIzNCA4LjAzODA2IDE2IDguNjAwNDggMTZIMTcuODk3N0MxOC40NjAxIDE2IDE4Ljk5OTUgMTYuMjIzNCAxOS4zOTcyIDE2LjYyMTFDMTkuNzk0OSAxNy4wMTg4IDIwLjAxODMgMTcuNTU4MiAyMC4wMTgzIDE4LjEyMDZWMTguMzg1OEMyMC4wMTgzIDE4LjYyODMgMjAuMDE4MyAyMC4wMjQ2IDE5LjE0NTEgMjEuMzc2NkMxOC4yMzI1IDIyLjc4OTUgMTYuNDY5NCAyNCAxMy4yNDkxIDI0QzEwLjAyODggMjQgOC4yNjU3MSAyMi43ODk1IDcuMzUzMSAyMS4zNzY2QzYuNDc5ODcgMjAuMDI0NiA2LjQ3OTg3IDE4LjYyNzcgNi40Nzk4NyAxOC4zODU4VjE4LjEyMDZaXCJcclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgc3Ryb2tlPVwiIzk4QTJCM1wiIHN0cm9rZS13aWR0aD1cIjNcIiBtYXNrPVwidXJsKCNwYXRoLTYtaW5zaWRlLTJfNzA3XzEzMTA2KVwiIC8+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8L3N2Zz5cclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPC9kaXY+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxkaXYgY2xhc3M9XCJteC0zIG10LTFcIj5cclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxkaXYgY2xhc3M9XCJteS0xIGNhcmQtbGFiZWwgbGVmdC1jYXJkLWNvdW50XCI+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAge3tnZXRPdmVyYWxsQ2FyZERhdGE/LnBvdGVudGlhbEJ1eWVyc0NhcmQ/Lmdyb3VwQ291bnQgP1xyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGdldE92ZXJhbGxDYXJkRGF0YT8ucG90ZW50aWFsQnV5ZXJzQ2FyZD8uZ3JvdXBDb3VudC50b0xvY2FsZVN0cmluZygnZW4tSU4nKSA6Jy0tJ319PC9kaXY+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8ZGl2IGNsYXNzPVwibGVmdC1jYXJkLWNvdW50LWhlYWRlclwiPkdyb3VwPC9kaXY+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvZGl2PlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvZGl2PlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxkaXYgY2xhc3M9XCJkLWZsZXggYWxpZ24taXRlbXMtY2VudGVyIG15LTUgbWUtMlwiPlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8ZGl2IGNsYXNzPVwiZmxleC1zaHJpbmstMCBtdC0zXCI+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8c3ZnIHhtbG5zPVwiaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmdcIiB3aWR0aD1cIjI0XCIgaGVpZ2h0PVwiMjRcIiB2aWV3Qm94PVwiMCAwIDI0IDI0XCIgZmlsbD1cIm5vbmVcIj5cclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8cGF0aCBkPVwiTTEzIDJMMyAxNEgxMkwxMSAyMkwyMSAxMEgxMkwxMyAyWlwiIHN0cm9rZT1cIiM5OEEyQjNcIiBzdHJva2Utd2lkdGg9XCIyXCIgc3Ryb2tlLWxpbmVjYXA9XCJyb3VuZFwiIHN0cm9rZS1saW5lam9pbj1cInJvdW5kXCIvPlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvc3ZnPlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8L2Rpdj5cclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGRpdiBjbGFzcz1cIm14LTMgbXQtMVwiPlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGRpdiBjbGFzcz1cIm15LTEgY2FyZC1sYWJlbCBsZWZ0LWNhcmQtY291bnRcIj5cclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB7e2dldE92ZXJhbGxDYXJkRGF0YT8ucG90ZW50aWFsQnV5ZXJzQ2FyZD8ubW9zdENvbW1vbkFnZSA/XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgZ2V0T3ZlcmFsbENhcmREYXRhPy5wb3RlbnRpYWxCdXllcnNDYXJkPy5tb3N0Q29tbW9uQWdlIDonLS0nfX08L2Rpdj5cclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxkaXYgY2xhc3M9XCJsZWZ0LWNhcmQtY291bnQtaGVhZGVyXCI+TW9zdCBDb21tb24gQWdlPC9kaXY+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvZGl2PlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvZGl2PlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxkaXYgY2xhc3M9XCJkLWZsZXggYWxpZ24taXRlbXMtY2VudGVyIG15LTUgbWUtMlwiPlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8ZGl2IGNsYXNzPVwiZmxleC1zaHJpbmstMCBtdC0zXCI+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8c3ZnIHhtbG5zPVwiaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmdcIiB3aWR0aD1cIjI0XCIgaGVpZ2h0PVwiMjRcIiB2aWV3Qm94PVwiMCAwIDI0IDI0XCIgZmlsbD1cIm5vbmVcIj5cclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8cGF0aCBkPVwiTTEzIDJMMyAxNEgxMkwxMSAyMkwyMSAxMEgxMkwxMyAyWlwiIHN0cm9rZT1cIiM5OEEyQjNcIiBzdHJva2Utd2lkdGg9XCIyXCIgc3Ryb2tlLWxpbmVjYXA9XCJyb3VuZFwiIHN0cm9rZS1saW5lam9pbj1cInJvdW5kXCIvPlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvc3ZnPlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8L2Rpdj5cclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGRpdiBjbGFzcz1cIm14LTMgbXQtMVwiPlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGRpdiBjbGFzcz1cIm15LTEgY2FyZC1sYWJlbCBsZWZ0LWNhcmQtY291bnRcIj5cclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB7e2dldE92ZXJhbGxDYXJkRGF0YT8ucG90ZW50aWFsQnV5ZXJzQ2FyZD8ubWFsZVJhdGUgP1xyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGdldE92ZXJhbGxDYXJkRGF0YT8ucG90ZW50aWFsQnV5ZXJzQ2FyZD8ubWFsZVJhdGUgOictLSd9fSAlPC9kaXY+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8ZGl2IGNsYXNzPVwibGVmdC1jYXJkLWNvdW50LWhlYWRlclwiPk1hbGU8L2Rpdj5cclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPC9kaXY+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxkaXYgY2xhc3M9XCJteC0zIG10LTFcIj5cclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxkaXYgY2xhc3M9XCJteS0xIGNhcmQtbGFiZWwgbGVmdC1jYXJkLWNvdW50XCI+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAge3tnZXRPdmVyYWxsQ2FyZERhdGE/LnBvdGVudGlhbEJ1eWVyc0NhcmQ/LmZlbWFsZVJhdGUgP1xyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGdldE92ZXJhbGxDYXJkRGF0YT8ucG90ZW50aWFsQnV5ZXJzQ2FyZD8uZmVtYWxlUmF0ZSA6Jy0tJ319ICU8L2Rpdj5cclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxkaXYgY2xhc3M9XCJsZWZ0LWNhcmQtY291bnQtaGVhZGVyXCI+RmVtYWxlPC9kaXY+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvZGl2PlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIFxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvZGl2PlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgPC9kaXY+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgIDwvZGl2PlxyXG4gICAgICAgICAgICAgICAgICAgICAgICA8ZGl2ICpuZ0lmPVwic2VsZWN0ZWRUYWIgPT09J21pc3NlZE9wcG9ydHVuaXR5J1wiIGNsYXNzPVwibGVmdC1iYXJcIj5cclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxkaXYgY2xhc3M9XCJ0b3AtaGVhZGVyIHRleHQtY2VudGVyXCI+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGRpdiBjbGFzcz1cImxlZnQtYmFyLWNvdW50XCIgW25nU3R5bGVdPVwie1xyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAnZm9udC1zaXplJzogKGdldE92ZXJhbGxDYXJkRGF0YT8ubWlzc2VkT3Bwb3J0dW5pdHlDYXJkPy5taXNzZWRPcHBvcnR1bml0eUNvdW50LnRvTG9jYWxlU3RyaW5nKCk/Lmxlbmd0aCA+IDUgPyAnMjRweCcgOiAnMzZweCcpIFxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgfVwiPnt7Z2V0T3ZlcmFsbENhcmREYXRhPy5taXNzZWRPcHBvcnR1bml0eUNhcmQ/Lm1pc3NlZE9wcG9ydHVuaXR5Q291bnQgP1xyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBnZXRPdmVyYWxsQ2FyZERhdGE/Lm1pc3NlZE9wcG9ydHVuaXR5Q2FyZD8ubWlzc2VkT3Bwb3J0dW5pdHlDb3VudC50b0xvY2FsZVN0cmluZygnZW4tSU4nKSA6Jy0tJ319PC9kaXY+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGRpdiBjbGFzcz1cImxlZnQtYmFyLXRpdGxlXCI+e3toZWFkZXJEYXRhPy5jbGllbnQgPT09JzQ1MicgPyAgZmVhdHVyZUNvbmZpZz8ubWlzc2VkT3Bwb3J0dW5pdHlGcm9tLnZhbHVlKycgLSAnKyBmZWF0dXJlQ29uZmlnPy5taXNzZWRPcHBvcnR1bml0eVRvLnZhbHVlICsgJyBtaW5zJyA6J01pc3NlZCBvcHBvcnR1bml0eSd9fSBDb3VudDwvZGl2PlxyXG4gICAgICAgIFxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgPC9kaXY+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICA8ZGl2IGNsYXNzPVwibXktNVwiPlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxkaXYgY2xhc3M9XCJkLWZsZXggYWxpZ24taXRlbXMtY2VudGVyIG15LTUgbWUtMlwiPlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8ZGl2IGNsYXNzPVwiZmxleC1zaHJpbmstMCBtdC0zXCI+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8c3ZnIHhtbG5zPVwiaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmdcIiB3aWR0aD1cIjI0XCIgaGVpZ2h0PVwiMjRcIiB2aWV3Qm94PVwiMCAwIDI0IDI0XCIgZmlsbD1cIm5vbmVcIj5cclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8cGF0aCBkPVwiTTEzIDJMMyAxNEgxMkwxMSAyMkwyMSAxMEgxMkwxMyAyWlwiIHN0cm9rZT1cIiM5OEEyQjNcIiBzdHJva2Utd2lkdGg9XCIyXCIgc3Ryb2tlLWxpbmVjYXA9XCJyb3VuZFwiIHN0cm9rZS1saW5lam9pbj1cInJvdW5kXCIvPlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvc3ZnPlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8L2Rpdj5cclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGRpdiBjbGFzcz1cIm14LTMgbXQtMVwiPlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGRpdiBjbGFzcz1cIm15LTEgY2FyZC1sYWJlbCBsZWZ0LWNhcmQtY291bnRcIj5cclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB7e2dldE92ZXJhbGxDYXJkRGF0YT8ubWlzc2VkT3Bwb3J0dW5pdHlDYXJkPy5taXNzZWRPcHBvcnR1bml0eVJhdGUgP1xyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGdldE92ZXJhbGxDYXJkRGF0YT8ubWlzc2VkT3Bwb3J0dW5pdHlDYXJkPy5taXNzZWRPcHBvcnR1bml0eVJhdGUgOictLSd9fSU8L2Rpdj5cclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxkaXYgY2xhc3M9XCJsZWZ0LWNhcmQtY291bnQtaGVhZGVyXCI+e3toZWFkZXJEYXRhPy5jbGllbnQgPT09JzQ1MicgPyAgZmVhdHVyZUNvbmZpZz8ubWlzc2VkT3Bwb3J0dW5pdHlGcm9tLnZhbHVlKyAnIC0gJyArZmVhdHVyZUNvbmZpZz8ubWlzc2VkT3Bwb3J0dW5pdHlUby52YWx1ZSArICcgbWlucycgOidNaXNzZWQgb3Bwb3J0dW5pdHknfX0gUmF0ZTwvZGl2PlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8L2Rpdj5cclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8L2Rpdj5cclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8ZGl2ICpuZ0lmPVwiaGVhZGVyRGF0YT8uY2xpZW50ICE9PSc0NTInXCIgY2xhc3M9XCJkLWZsZXggYWxpZ24taXRlbXMtY2VudGVyIG15LTUgbWUtMlwiPlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8ZGl2IGNsYXNzPVwiZmxleC1zaHJpbmstMCBtdC0zXCI+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8c3ZnIHhtbG5zPVwiaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmdcIiB3aWR0aD1cIjI0XCIgaGVpZ2h0PVwiMjRcIiB2aWV3Qm94PVwiMCAwIDI0IDI0XCIgZmlsbD1cIm5vbmVcIj5cclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8cGF0aCBkPVwiTTEzIDJMMyAxNEgxMkwxMSAyMkwyMSAxMEgxMkwxMyAyWlwiIHN0cm9rZT1cIiM5OEEyQjNcIiBzdHJva2Utd2lkdGg9XCIyXCIgc3Ryb2tlLWxpbmVjYXA9XCJyb3VuZFwiIHN0cm9rZS1saW5lam9pbj1cInJvdW5kXCIvPlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvc3ZnPlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8L2Rpdj5cclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGRpdiBjbGFzcz1cIm14LTMgbXQtMVwiPlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGRpdiBjbGFzcz1cIm15LTEgY2FyZC1sYWJlbCBsZWZ0LWNhcmQtY291bnRcIiBbbmdTdHlsZV09XCJ7XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICdmb250LXNpemUnOiAoZ2V0T3ZlcmFsbENhcmREYXRhPy5taXNzZWRPcHBvcnR1bml0eUNhcmQ/LnBvdGVudGlhbFJldmVudWVMb3NzLnRvTG9jYWxlU3RyaW5nKCk/Lmxlbmd0aCA+IDggPyAnMTZweCcgOiAnMThweCcpfVwiPjxzcGFuIGNsYXNzPVwibWUtMVwiICpuZ0lmPVwiZ2V0T3ZlcmFsbENhcmREYXRhPy5taXNzZWRPcHBvcnR1bml0eUNhcmQ/LmN1cnJlbmN5ID09PSdpbnInXCI+4oK5PC9zcGFuPlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxzcGFuIGNsYXNzPVwibWUtMVwiICpuZ0lmPVwiZ2V0T3ZlcmFsbENhcmREYXRhPy5taXNzZWRPcHBvcnR1bml0eUNhcmQ/LmN1cnJlbmN5ID09PSdkb2xsYXInXCI+JDwvc3Bhbj5cclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8c3BhbiBjbGFzcz1cIm1lLTFcIiAqbmdJZj1cImdldE92ZXJhbGxDYXJkRGF0YT8ubWlzc2VkT3Bwb3J0dW5pdHlDYXJkPy5jdXJyZW5jeSA9PT0nYWVkJ1wiPtivLtilPC9zcGFuPlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHt7Z2V0T3ZlcmFsbENhcmREYXRhPy5taXNzZWRPcHBvcnR1bml0eUNhcmQ/LnBvdGVudGlhbFJldmVudWVMb3NzID9cclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBnZXRPdmVyYWxsQ2FyZERhdGE/Lm1pc3NlZE9wcG9ydHVuaXR5Q2FyZD8ucG90ZW50aWFsUmV2ZW51ZUxvc3MudG9Mb2NhbGVTdHJpbmcoJ2VuLUlOJykgOictLSd9fTwvZGl2PlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGRpdiBjbGFzcz1cImxlZnQtY2FyZC1jb3VudC1oZWFkZXJcIj5Qb3RlbnRpYWwgTG9zcyBSZXZlbnVlPC9kaXY+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvZGl2PlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvZGl2PlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxkaXYgY2xhc3M9XCJkLWZsZXggYWxpZ24taXRlbXMtY2VudGVyIG15LTUgbWUtMlwiPlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8ZGl2IGNsYXNzPVwiZmxleC1zaHJpbmstMCBtdC0zXCI+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8c3ZnIHhtbG5zPVwiaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmdcIiB3aWR0aD1cIjI0XCIgaGVpZ2h0PVwiMjRcIiB2aWV3Qm94PVwiMCAwIDI0IDI0XCIgZmlsbD1cIm5vbmVcIj5cclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8cGF0aCBkPVwiTTEzIDJMMyAxNEgxMkwxMSAyMkwyMSAxMEgxMkwxMyAyWlwiIHN0cm9rZT1cIiM5OEEyQjNcIiBzdHJva2Utd2lkdGg9XCIyXCIgc3Ryb2tlLWxpbmVjYXA9XCJyb3VuZFwiIHN0cm9rZS1saW5lam9pbj1cInJvdW5kXCIvPlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvc3ZnPlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8L2Rpdj5cclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGRpdiBjbGFzcz1cIm14LTMgbXQtMVwiPlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGRpdiBjbGFzcz1cIm15LTEgY2FyZC1sYWJlbCBsZWZ0LWNhcmQtY291bnRcIj5cclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB7e2dldE92ZXJhbGxDYXJkRGF0YT8ubWlzc2VkT3Bwb3J0dW5pdHlDYXJkPy5sb3dDb252ZXJzaW9uWm9uZSA/XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgZ2V0T3ZlcmFsbENhcmREYXRhPy5taXNzZWRPcHBvcnR1bml0eUNhcmQ/Lmxvd0NvbnZlcnNpb25ab25lIDonLS0nfX08L2Rpdj5cclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxkaXYgY2xhc3M9XCJsZWZ0LWNhcmQtY291bnQtaGVhZGVyXCI+TG93IENvbnZlcnNpb24gWm9uZTwvZGl2PlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8L2Rpdj5cclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8L2Rpdj5cclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8ZGl2IGNsYXNzPVwiZC1mbGV4IGFsaWduLWl0ZW1zLWNlbnRlciBteS01IG1lLTJcIj5cclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGRpdiBjbGFzcz1cImZsZXgtc2hyaW5rLTAgbXQtM1wiPlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPHN2ZyB4bWxucz1cImh0dHA6Ly93d3cudzMub3JnLzIwMDAvc3ZnXCIgd2lkdGg9XCIyNFwiIGhlaWdodD1cIjI0XCIgdmlld0JveD1cIjAgMCAyNCAyNFwiIGZpbGw9XCJub25lXCI+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPHBhdGggZD1cIk0xMyAyTDMgMTRIMTJMMTEgMjJMMjEgMTBIMTJMMTMgMlpcIiBzdHJva2U9XCIjOThBMkIzXCIgc3Ryb2tlLXdpZHRoPVwiMlwiIHN0cm9rZS1saW5lY2FwPVwicm91bmRcIiBzdHJva2UtbGluZWpvaW49XCJyb3VuZFwiLz5cclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8L3N2Zz5cclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPC9kaXY+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxkaXYgY2xhc3M9XCJteC0zIG10LTFcIj5cclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxkaXYgY2xhc3M9XCJteS0xIGNhcmQtbGFiZWwgbGVmdC1jYXJkLWNvdW50XCI+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAge3tnZXRPdmVyYWxsQ2FyZERhdGE/Lm1pc3NlZE9wcG9ydHVuaXR5Q2FyZD8ubW9zdENvbW1vbkFnZSA/XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgZ2V0T3ZlcmFsbENhcmREYXRhPy5taXNzZWRPcHBvcnR1bml0eUNhcmQ/Lm1vc3RDb21tb25BZ2UgOictLSd9fTwvZGl2PlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGRpdiBjbGFzcz1cImxlZnQtY2FyZC1jb3VudC1oZWFkZXJcIj5Nb3N0IENvbW1vbiBBZ2U8L2Rpdj5cclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPC9kaXY+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPC9kaXY+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGRpdiBjbGFzcz1cImQtZmxleCBhbGlnbi1pdGVtcy1jZW50ZXIgbXktNSBtZS0yXCI+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxkaXYgY2xhc3M9XCJmbGV4LXNocmluay0wIG10LTNcIj5cclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxzdmcgeG1sbnM9XCJodHRwOi8vd3d3LnczLm9yZy8yMDAwL3N2Z1wiIHdpZHRoPVwiMjRcIiBoZWlnaHQ9XCIyNFwiIHZpZXdCb3g9XCIwIDAgMjQgMjRcIiBmaWxsPVwibm9uZVwiPlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxwYXRoIGQ9XCJNMTMgMkwzIDE0SDEyTDExIDIyTDIxIDEwSDEyTDEzIDJaXCIgc3Ryb2tlPVwiIzk4QTJCM1wiIHN0cm9rZS13aWR0aD1cIjJcIiBzdHJva2UtbGluZWNhcD1cInJvdW5kXCIgc3Ryb2tlLWxpbmVqb2luPVwicm91bmRcIi8+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPC9zdmc+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvZGl2PlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8ZGl2IGNsYXNzPVwibXgtMyBtdC0xXCI+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8ZGl2IGNsYXNzPVwibXktMSBjYXJkLWxhYmVsIGxlZnQtY2FyZC1jb3VudFwiPlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHt7Z2V0T3ZlcmFsbENhcmREYXRhPy5taXNzZWRPcHBvcnR1bml0eUNhcmQ/Lm1hbGVSYXRlID9cclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBnZXRPdmVyYWxsQ2FyZERhdGE/Lm1pc3NlZE9wcG9ydHVuaXR5Q2FyZD8ubWFsZVJhdGUgOictLSd9fSAlPC9kaXY+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8ZGl2IGNsYXNzPVwibGVmdC1jYXJkLWNvdW50LWhlYWRlclwiPk1hbGU8L2Rpdj5cclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPC9kaXY+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxkaXYgY2xhc3M9XCJteC0zIG10LTFcIj5cclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxkaXYgY2xhc3M9XCJteS0xIGNhcmQtbGFiZWwgbGVmdC1jYXJkLWNvdW50XCI+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAge3tnZXRPdmVyYWxsQ2FyZERhdGE/Lm1pc3NlZE9wcG9ydHVuaXR5Q2FyZD8uZmVtYWxlUmF0ZSA/XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgZ2V0T3ZlcmFsbENhcmREYXRhPy5taXNzZWRPcHBvcnR1bml0eUNhcmQ/LmZlbWFsZVJhdGUgOictLSd9fSAlPC9kaXY+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8ZGl2IGNsYXNzPVwibGVmdC1jYXJkLWNvdW50LWhlYWRlclwiPkZlbWFsZTwvZGl2PlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8L2Rpdj5cclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBcclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8L2Rpdj5cclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvZGl2PlxyXG4gICAgICAgICAgICAgICAgICAgICAgICA8L2Rpdj5cclxuICAgICAgICAgICAgICAgICAgICA8L2Rpdj5cclxuICAgICAgICAgICAgICAgICAgXHJcbiAgICAgICAgICAgICAgICAgICAgPGRpdiAqbmdJZj1cInNlbGVjdGVkVGFiID09PSd0cmFmZmljJyAmJiAhY2hhcnRsb2FkaW5nICYmICFjaGFydE5vRGF0YVwiIGNsYXNzPVwiY29sLW1kLTEwIGgtMTAwIFwiPlxyXG4gICAgICAgICAgICAgICAgICAgICAgICA8ZGl2IGNsYXNzPVwicm93IHB4LTBcIj5cclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIFxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgPGRpdiBjbGFzcz1cImNvbC1tZC02IG10LTMgcHgtMFwiPlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgXHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICA8ZGl2IGNsYXNzPVwiY2FyZC1oZWFkZXIgYm9yZGVyLTAgcHQtM1wiPlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxoMyBjbGFzcz1cImNhcmQtdGl0bGUgYWxpZ24taXRlbXMtc3RhcnQgZmxleC1jb2x1bW5cIj5cclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPHNwYW4gY2xhc3M9XCJjYXJkLWxhYmVsXCI+VHJhZmZpYyBEZW5zaXR5IDxzdmcgcGxhY2VtZW50PVwicmlnaHRcIlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgbmdiVG9vbHRpcD1cIlRyYWZmaWMgYW5hbHlzaXMgZGlzdHJpYnV0aW9uIGFjcm9zcyB0aGUgZGF5c1wiIHhtbG5zPVwiaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmdcIiB3aWR0aD1cIjE2XCIgaGVpZ2h0PVwiMTZcIiB2aWV3Qm94PVwiMCAwIDE2IDE2XCIgZmlsbD1cIm5vbmVcIj5cclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxnIGNsaXAtcGF0aD1cInVybCgjY2xpcDBfMzM1Ml82ODgpXCI+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8cGF0aCBkPVwiTTcuOTk4NyAxMC42NjY3VjguMDAwMDRNNy45OTg3IDUuMzMzMzdIOC4wMDUzNk0xNC42NjU0IDguMDAwMDRDMTQuNjY1NCAxMS42ODE5IDExLjY4MDYgMTQuNjY2NyA3Ljk5ODcgMTQuNjY2N0M0LjMxNjggMTQuNjY2NyAxLjMzMjAzIDExLjY4MTkgMS4zMzIwMyA4LjAwMDA0QzEuMzMyMDMgNC4zMTgxNCA0LjMxNjggMS4zMzMzNyA3Ljk5ODcgMS4zMzMzN0MxMS42ODA2IDEuMzMzMzcgMTQuNjY1NCA0LjMxODE0IDE0LjY2NTQgOC4wMDAwNFpcIiBzdHJva2U9XCIjOThBMkIzXCIgc3Ryb2tlLXdpZHRoPVwiMlwiIHN0cm9rZS1saW5lY2FwPVwicm91bmRcIiBzdHJva2UtbGluZWpvaW49XCJyb3VuZFwiLz5cclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvZz5cclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxkZWZzPlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGNsaXBQYXRoIGlkPVwiY2xpcDBfMzM1Ml82ODhcIj5cclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxyZWN0IHdpZHRoPVwiMTZcIiBoZWlnaHQ9XCIxNlwiIGZpbGw9XCJ3aGl0ZVwiLz5cclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvY2xpcFBhdGg+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8L2RlZnM+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8L3N2Zz48L3NwYW4+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxzcGFuIGNsYXNzPVwidGV4dC1zdWIgbWItMlwiPkJhc2VkIG9uIHt7Z2V0RGVuc2l0eUR3ZWxsRGF0YT8uZnJvbURhdGUgfCBkYXRlOidkZCBNTU0sIHl5eXknfX0g4oCTIHt7Z2V0RGVuc2l0eUR3ZWxsRGF0YT8udG9EYXRlIHwgZGF0ZTonZGQgTU1NLCB5eXl5J319IDwvc3Bhbj5cclxuICAgICAgICAgICAgXHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPC9oMz5cclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBcclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvZGl2PlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxkaXYgaWQ9XCJ0cmFmZmljSGVhdG1hcENoYXJ0XCI+PC9kaXY+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICA8L2Rpdj5cclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxkaXYgY2xhc3M9XCJjb2wtbWQtNiBtdC0zIHB4LTBcIj5cclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8ZGl2IGNsYXNzPVwiY2FyZC1oZWFkZXIgYm9yZGVyLTAgcHQtM1wiPlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8aDMgY2xhc3M9XCJjYXJkLXRpdGxlIGFsaWduLWl0ZW1zLXN0YXJ0IGZsZXgtY29sdW1uXCI+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8c3BhbiBjbGFzcz1cImNhcmQtbGFiZWxcIj5Ed2VsbCBUaW1lIFNwbGl0IDxzdmcgcGxhY2VtZW50PVwicmlnaHRcIlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIG5nYlRvb2x0aXA9XCJUaW1lLWRpc3RyaWJ1dGVkIGZvb3RmYWxsIHdpdGggZGVtb2dyYXBoaWNzXCIgeG1sbnM9XCJodHRwOi8vd3d3LnczLm9yZy8yMDAwL3N2Z1wiIHdpZHRoPVwiMTZcIiBoZWlnaHQ9XCIxNlwiIHZpZXdCb3g9XCIwIDAgMTYgMTZcIiBmaWxsPVwibm9uZVwiPlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxnIGNsaXAtcGF0aD1cInVybCgjY2xpcDBfMzM1Ml82ODgpXCI+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPHBhdGggZD1cIk03Ljk5ODcgMTAuNjY2N1Y4LjAwMDA0TTcuOTk4NyA1LjMzMzM3SDguMDA1MzZNMTQuNjY1NCA4LjAwMDA0QzE0LjY2NTQgMTEuNjgxOSAxMS42ODA2IDE0LjY2NjcgNy45OTg3IDE0LjY2NjdDNC4zMTY4IDE0LjY2NjcgMS4zMzIwMyAxMS42ODE5IDEuMzMyMDMgOC4wMDAwNEMxLjMzMjAzIDQuMzE4MTQgNC4zMTY4IDEuMzMzMzcgNy45OTg3IDEuMzMzMzdDMTEuNjgwNiAxLjMzMzM3IDE0LjY2NTQgNC4zMTgxNCAxNC42NjU0IDguMDAwMDRaXCIgc3Ryb2tlPVwiIzk4QTJCM1wiIHN0cm9rZS13aWR0aD1cIjJcIiBzdHJva2UtbGluZWNhcD1cInJvdW5kXCIgc3Ryb2tlLWxpbmVqb2luPVwicm91bmRcIi8+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPC9nPlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxkZWZzPlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxjbGlwUGF0aCBpZD1cImNsaXAwXzMzNTJfNjg4XCI+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPHJlY3Qgd2lkdGg9XCIxNlwiIGhlaWdodD1cIjE2XCIgZmlsbD1cIndoaXRlXCIvPlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvY2xpcFBhdGg+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPC9kZWZzPlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvc3ZnPjwvc3Bhbj5cclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxzcGFuIGNsYXNzPVwidGV4dC1zdWIgbWItMlwiPkJhc2VkIG9uIHt7Z2V0RGVuc2l0eUR3ZWxsRGF0YT8uZnJvbURhdGUgfCBkYXRlOidkZCBNTU0sIHl5eXknfX0g4oCTIHt7Z2V0RGVuc2l0eUR3ZWxsRGF0YT8udG9EYXRlIHwgZGF0ZTonZGQgTU1NLCB5eXl5J319IDwvc3Bhbj5cclxuICAgICAgICAgICAgICAgIFxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8L2gzPlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8ZGl2IGNsYXNzPVwiY2FyZC10b29sYmFyIHRleHQtbm93cmFwXCI+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8c2VsZWN0IGNsYXNzPVwiZm9ybS1zZWxlY3QgZm9ybS1zZWxlY3Qtc20gdy1hdXRvIGRyb3BzZWxlY3RcIiBpZD1cImRhdGVTZWxlY3RcIlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKGNoYW5nZSk9XCJvbkRhdGVDaGFuZ2UoJGV2ZW50KVwiIFsobmdNb2RlbCldPVwiZm9vdGZhbGxEYXRlXCI+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8b3B0aW9uICpuZ0Zvcj1cImxldCBkYXRhc2V0IG9mIHRyYWZmaWNEYXRhXCIgW3ZhbHVlXT1cImRhdGFzZXQudmFsdWVcIj57eyBkYXRhc2V0LmxhYmVsIH19PC9vcHRpb24+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvc2VsZWN0PlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8L2Rpdj5cclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8L2Rpdj5cclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8ZGl2ICpuZ0lmPVwiIWNoYXJ0RHdlbGxOb0RhdGEgJiYgIWNoYXJ0RHdlbGxsb2FkaW5nXCI+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGRpdiBpZD1cImR3ZWxsQmFyQ2hhcnRcIj48L2Rpdj5cclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8L2Rpdj5cclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8ZGl2ICpuZ0lmPVwiY2hhcnREd2VsbE5vRGF0YVwiIGNsYXNzPVwicm93XCI+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxkaXYgY2xhc3M9XCJjb2wtbGctMTIgbXQtMjAgbWItNlwiPlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGRpdiBjbGFzcz1cIiBtdC0yMCBjYXJkLWJvZHkgZC1mbGV4IGp1c3RpZnktY29udGVudC1jZW50ZXIgYWxpZ24taXRlbXMtY2VudGVyIGZsZXgtY29sdW1uXCI+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGltZyBjbGFzcz1cImltZy1ub2RhdGEtdGFibGVcIiBzcmM9XCIuL2Fzc2V0cy90YW5nby9JY29ucy9Ob2RhdGExLnN2Z1wiIGFsdD1cIlwiPlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxkaXYgY2xhc3M9XCJub2RhdGEtdGl0bGVcIj5ObyBkYXRhIGZvdW5kPC9kaXY+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGRpdiBjbGFzcz1cIm5vZGF0YS1zdWJcIj5UaGVyZSBpcyBubyByZXN1bHQgZm9yIHRoaXMgRHdlbGwgVGltZSBTcGxpdDwvZGl2PlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPC9kaXY+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvZGl2PlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvZGl2PlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgPC9kaXY+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgIDwvZGl2PlxyXG4gICAgICAgICAgICAgICAgICAgIDwvZGl2PlxyXG4gICAgICAgICAgICAgICAgICAgIDxkaXYgKm5nSWY9XCIhY2hhcnRsb2FkaW5nICYmICFjaGFydE5vRGF0YSAmJiAoc2VsZWN0ZWRUYWIgPT09J2Zvb3RmYWxsJyB8fCBzZWxlY3RlZFRhYiA9PT0nY29udmVyc2lvbicgfHwgc2VsZWN0ZWRUYWIgPT09J2VuZ2FnZXJzJyB8fCBzZWxlY3RlZFRhYiA9PT0nYm91bmNlZCcgfHwgc2VsZWN0ZWRUYWIgPT09J3BvdGVudGlhbEJ1eWVycycgfHwgc2VsZWN0ZWRUYWIgPT09J21pc3NlZE9wcG9ydHVuaXR5JylcIiBjbGFzcz1cImNvbC1tZC0xMCBoLTEwMCByaWdodC1iYXIgYm9yZGVyLTFcIj5cclxuICAgICAgICAgICAgICAgICAgICAgICAgXHJcbiAgICAgICAgXHJcbiAgICAgICAgICAgICAgICAgICAgICAgIDxkaXYgKm5nSWY9XCIoZm9vdGZhbGxWYWx1ZSA9PT0nZm9vdGZhbGwnIHx8IGZvb3RmYWxsVmFsdWUgPT09J2NvbnZlcnNpb24nIHx8IGZvb3RmYWxsVmFsdWUgPT09J2VuZ2FnZXJzJ1xyXG4gICAgICAgICAgICAgICAgICAgICAgICB8fCBmb290ZmFsbFZhbHVlID09PSdtaXNzZWRPcHBvcnR1bml0eScgfHwgZm9vdGZhbGxWYWx1ZSA9PT0ncG90ZW50aWFsQnV5ZXJzJyB8fCBmb290ZmFsbFZhbHVlID09PSdib3VuY2VkJyB8fCBmb290ZmFsbFZhbHVlID09PSdkZW1vZ3JhcGhpYycgfHwgZm9vdGZhbGxWYWx1ZSA9PT0nYnV5ZXInKSAmJiAhZGV0YWlsZWRDaGFydHNcIlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgY2xhc3M9XCJyb3dcIj5cclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgPGRpdiAqbmdJZj1cInNlbGVjdGVkVGFiICE9PSdwb3RlbnRpYWxCdXllcnMnXCI+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICA8dWwgY2xhc3M9XCJuYXYgbmF2LXN0cmV0Y2ggbmF2LWxpbmUtdGFiczEgbmF2LWxpbmUtdGFicyBib3JkZXItdHJhbnNwYXJlbnQgZmxleC1ub3dyYXAgbXktMiBteC0yXCI+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICA8bGkgY2xhc3M9XCJuYXYtaXRlbSBuYXYtaXRlbTFcIiAqbmdGb3I9XCJsZXQgZGF0YXNldCBvZiBkYXRhc2V0c0NhcmRcIiAoY2xpY2spPVwib25EYXRhc2V0Q2hhbmdlKGRhdGFzZXQudmFsdWUpXCI+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGEgW25nQ2xhc3NdPVwiZm9vdGZhbGxWYWx1ZSA9PT1kYXRhc2V0LnZhbHVlID8gJ2FjdGl2ZScgOicnXCJcclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgY2xhc3M9XCJuYXYtbGluayBuYXYtbGluazEgY3Vyc29yLXBvaW50ZXIgbWUtNlwiPnt7IGRhdGFzZXQubGFiZWwgfX08L2E+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICA8L2xpPlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgPC91bD5cclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwhLS0gPHVsIGNsYXNzPVwibmF2IG5hdi10YWJzXCI+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGxpIGNsYXNzPVwibmF2LWl0ZW1cIiA+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxhIGNsYXNzPVwibmF2LWxpbmtcIiBbY2xhc3MuYWN0aXZlXT1cInNlbGVjdGVkVGFiID09PSBkYXRhc2V0LmxhYmVsXCI+e3sgZGF0YXNldC5sYWJlbCB9fTwvYT5cclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8L2xpPlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgPC91bD4gLS0+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICA8IS0tIDxzZWxlY3QgY2xhc3M9XCJmb3JtLXNlbGVjdCBmb3JtLXNlbGVjdC1zbSB3LWF1dG8gbS0zIGRyb3BzZWxlY3RcIiBpZD1cImRhdGFzZXRTZWxlY3RcIiBbKG5nTW9kZWwpXT1cImZvb3RmYWxsVmFsdWVcIlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgKGNoYW5nZSk9XCJvbkRhdGFzZXRDaGFuZ2UoJGV2ZW50KVwiPlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgPG9wdGlvbiAqbmdGb3I9XCJsZXQgZGF0YXNldCBvZiBkYXRhc2V0c1wiIFt2YWx1ZV09XCJkYXRhc2V0LnZhbHVlXCI+e3sgZGF0YXNldC5sYWJlbCB9fTwvb3B0aW9uPlxyXG4gICAgICAgICAgICAgICAgICAgICAgICA8L3NlbGVjdD4gIC0tPlxyXG4gICAgICAgICAgICAgICAgICAgICAgIFxyXG4gICAgICAgICAgICAgICAgICAgICAgICA8L2Rpdj4gXHJcbiAgICAgICAgICAgICAgICAgICAgICAgIDxkaXYgY2xhc3M9XCJsZWZ0LWJhci10aXRsZSBmdy1ib2xkIG10LTUgbWItMiBtcy0zXCIgKm5nSWY9XCJzZWxlY3RlZFRhYiA9PT0ncG90ZW50aWFsQnV5ZXJzJ1wiPnt7c2VsY3RlZFZhbHVlfX08L2Rpdj5cclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxzcGFuIGNsYXNzPVwibXMtMyB0ZXh0LXN1YlwiPkJhc2VkIG9uIHt7aGVhZGVyRGF0YT8uZGF0ZT8uc3RhcnREYXRlIHwgZGF0ZTonZGQgTU1NLCB5eXl5J319IOKAkyB7e2hlYWRlckRhdGE/LmRhdGU/LmVuZERhdGUgfCBkYXRlOidkZCBNTU0sIHl5eXknfX0gPC9zcGFuPlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgPGRpdiAqbmdJZj1cImZvb3RmYWxsVmFsdWUgPT09J2RlbW9ncmFwaGljJyAmJiAhZGV0YWlsZWRDaGFydHNcIiBjbGFzcz1cImNvbC1tZC0xMlwiPlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxkaXYgKm5nSWY9XCIhZGVtb05vRGF0YSAmJiAhZGVtb2xvYWRpbmdcIj5cclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGRpdiBjbGFzcz1cInRleHQtY2VudGVyXCIgaWQ9XCJkZW1vR3JhcGhpY3NcIj48L2Rpdj5cclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8L2Rpdj4gICAgICAgICAgICAgICAgICAgICBcclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8ZGl2ICpuZ0lmPVwiZGVtb2xvYWRpbmdcIiBjbGFzcz1cInJvdyBsb2FkZXIgIGQtZmxleCBqdXN0aWZ5LWNvbnRlbnQtY2VudGVyIGFsaWduLWl0ZW1zLWNlbnRlclwiPlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8ZGl2IGNsYXNzPVwic2hpbW1lclwiPlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGRpdiBjbGFzcz1cIndyYXBwZXJcIj5cclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8ZGl2IGNsYXNzPVwic3Ryb2tlIGFuaW1hdGUgdGl0bGVcIj48L2Rpdj5cclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8ZGl2IGNsYXNzPVwic3Ryb2tlIGFuaW1hdGUgbGlua1wiPjwvZGl2PlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxkaXYgY2xhc3M9XCJzdHJva2UgYW5pbWF0ZSBkZXNjcmlwdGlvblwiPjwvZGl2PlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPC9kaXY+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvZGl2PlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8ZGl2IGNsYXNzPVwic2hpbW1lclwiPlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGRpdiBjbGFzcz1cIndyYXBwZXJcIj5cclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8ZGl2IGNsYXNzPVwic3Ryb2tlIGFuaW1hdGUgdGl0bGVcIj48L2Rpdj5cclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8ZGl2IGNsYXNzPVwic3Ryb2tlIGFuaW1hdGUgbGlua1wiPjwvZGl2PlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxkaXYgY2xhc3M9XCJzdHJva2UgYW5pbWF0ZSBkZXNjcmlwdGlvblwiPjwvZGl2PlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPC9kaXY+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvZGl2PlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvZGl2PlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxkaXYgKm5nSWY9XCJkZW1vTm9EYXRhXCIgY2xhc3M9XCJyb3dcIj5cclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGRpdiBjbGFzcz1cImNvbC1sZy0xMiBtYi0zXCI+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8ZGl2IGNsYXNzPVwiY2FyZC1ib2R5IGQtZmxleCBqdXN0aWZ5LWNvbnRlbnQtY2VudGVyIGFsaWduLWl0ZW1zLWNlbnRlciBmbGV4LWNvbHVtblwiPlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxpbWcgY2xhc3M9XCJkZW1vLWltZy1ub2RhdGFcIiBzcmM9XCIuL2Fzc2V0cy90YW5nby9JY29ucy9Ob2RhdGExLnN2Z1wiIGFsdD1cIlwiPlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxkaXYgY2xhc3M9XCJub2RhdGEtdGl0bGVcIj5ObyBkYXRhIGZvdW5kPC9kaXY+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGRpdiBjbGFzcz1cIm5vZGF0YS1zdWJcIj5UaGVyZSBpcyBubyByZXN1bHQgZm9yIHRoaXMgRGVtb2dyYXBoaWMgQW5hbHlzaXM8L2Rpdj5cclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvZGl2PlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8L2Rpdj5cclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8L2Rpdj5cclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvZGl2PlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgPGRpdiAqbmdJZj1cImZvb3RmYWxsVmFsdWUgPT09J2J1eWVyJyAmJiAhZGV0YWlsZWRDaGFydHNcIiBjbGFzcz1cImNvbC1tZC0xMlwiPlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxkaXYgKm5nSWY9XCIhYnV5ZXJzTm9EYXRhICYmICFidXllcnNsb2FkaW5nXCI+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxkaXYgY2xhc3M9XCJ0ZXh0LWNlbnRlclwiIGlkPVwiYnV5ZXJzQ2hhcnRzXCI+PC9kaXY+XHJcbiAgICAgICAgXHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPC9kaXY+ICAgICAgICAgICAgICAgICAgICAgXHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGRpdiAqbmdJZj1cImJ1eWVyc2xvYWRpbmdcIiBjbGFzcz1cInJvdyBsb2FkZXIgIGQtZmxleCBqdXN0aWZ5LWNvbnRlbnQtY2VudGVyIGFsaWduLWl0ZW1zLWNlbnRlclwiPlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8ZGl2IGNsYXNzPVwic2hpbW1lclwiPlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGRpdiBjbGFzcz1cIndyYXBwZXJcIj5cclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8ZGl2IGNsYXNzPVwic3Ryb2tlIGFuaW1hdGUgdGl0bGVcIj48L2Rpdj5cclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8ZGl2IGNsYXNzPVwic3Ryb2tlIGFuaW1hdGUgbGlua1wiPjwvZGl2PlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxkaXYgY2xhc3M9XCJzdHJva2UgYW5pbWF0ZSBkZXNjcmlwdGlvblwiPjwvZGl2PlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPC9kaXY+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvZGl2PlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8ZGl2IGNsYXNzPVwic2hpbW1lclwiPlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGRpdiBjbGFzcz1cIndyYXBwZXJcIj5cclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8ZGl2IGNsYXNzPVwic3Ryb2tlIGFuaW1hdGUgdGl0bGVcIj48L2Rpdj5cclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8ZGl2IGNsYXNzPVwic3Ryb2tlIGFuaW1hdGUgbGlua1wiPjwvZGl2PlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxkaXYgY2xhc3M9XCJzdHJva2UgYW5pbWF0ZSBkZXNjcmlwdGlvblwiPjwvZGl2PlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPC9kaXY+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvZGl2PlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvZGl2PlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxkaXYgKm5nSWY9XCJidXllcnNOb0RhdGFcIiBjbGFzcz1cInJvd1wiPlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8ZGl2IGNsYXNzPVwiY29sLWxnLTEyIG1iLTNcIj5cclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxkaXYgY2xhc3M9XCJjYXJkLWJvZHkgZC1mbGV4IGp1c3RpZnktY29udGVudC1jZW50ZXIgYWxpZ24taXRlbXMtY2VudGVyIGZsZXgtY29sdW1uXCI+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGltZyBjbGFzcz1cImRlbW8taW1nLW5vZGF0YVwiIHNyYz1cIi4vYXNzZXRzL3RhbmdvL0ljb25zL05vZGF0YTEuc3ZnXCIgYWx0PVwiXCI+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGRpdiBjbGFzcz1cIm5vZGF0YS10aXRsZVwiPk5vIGRhdGEgZm91bmQ8L2Rpdj5cclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8ZGl2IGNsYXNzPVwibm9kYXRhLXN1YlwiPlRoZXJlIGlzIG5vIHJlc3VsdCBmb3IgdGhpcyBCdXllciBBbmFseXNpczwvZGl2PlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPC9kaXY+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvZGl2PlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvZGl2PlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgPC9kaXY+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICA8c2VjdGlvbiAqbmdJZj1cInRoaXMub2JqRGF0YVRyYWZmaWMubm9iID09PSB0cnVlICYmIHNlbGVjdGVkVGFiID09PSdjb252ZXJzaW9uJ1wiPlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxkaXYgY2xhc3M9XCJ0ZXh0LWNlbnRlciBtdC0zIG14LTNcIiBpZD1cInRlc3RHcmFwaGljc1wiPjwvZGl2PlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxsaWItcGFnaW5hdGlvbiBbaXRlbXNQZXJQYWdlXT1cInBhZ2VTaXplVHJhZmZpY0NhcmRcIiBbY3VycmVudFBhZ2VdPVwib2Zmc2V0VHJhZmZpY0NhcmRcIiBbdG90YWxJdGVtc109XCJ0b3RhbEl0ZW1zVHJhZmZpY0NhcmRcIlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIFtwYWdpbmF0aW9uU2l6ZXNdPVwicGFnaW5hdGlvblNpemVzVHJhZmZpY0NhcmRcIiBbcGFnZVNpemVdPVwicGFnZVNpemVUcmFmZmljQ2FyZFwiIChwYWdlQ2hhbmdlKT1cIm9uUGFnZUNoYW5nZVRyYWZmaWNDYXJkKCRldmVudClcIlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIChwYWdlU2l6ZUNoYW5nZSk9XCJvblBhZ2VTaXplQ2hhbmdlVHJhZmZpY0NhcmQoJGV2ZW50KVwiPjwvbGliLXBhZ2luYXRpb24+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICA8L3NlY3Rpb24+XHJcbiAgICAgICAgPHNlY3Rpb24gKm5nSWY9XCIodGhpcy5vYmpEYXRhVHJhZmZpYy5ub2IgPT09IHRydWUgJiYgc2VsZWN0ZWRUYWIgIT09J2NvbnZlcnNpb24nIHx8IHRoaXMub2JqRGF0YVRyYWZmaWMubm9iID09PSBmYWxzZSkgXCI+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICA8ZGl2ICpuZ0lmPVwiZm9vdGZhbGxWYWx1ZSA9PT0nZm9vdGZhbGwnIHx8IGZvb3RmYWxsVmFsdWUgPT09J2NvbnZlcnNpb24nIHx8IGZvb3RmYWxsVmFsdWUgPT09J2VuZ2FnZXJzJyBcclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIHx8IGZvb3RmYWxsVmFsdWUgPT09J21pc3NlZE9wcG9ydHVuaXR5JyB8fCBmb290ZmFsbFZhbHVlID09PSdwb3RlbnRpYWxCdXllcnMnIHx8IGZvb3RmYWxsVmFsdWUgPT09J2JvdW5jZWQnICYmICFkZXRhaWxlZENoYXJ0c1wiIFxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgY2xhc3M9XCJjaGFydC1jb250YWluZXIgcHgtMyBtdC0zXCI+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgIDxkaXYgY2xhc3M9XCJ0ZXh0LWNlbnRlclwiIGlkPVwidGVzdEdyYXBoaWNzXCI+PC9kaXY+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgIDxsaWItcGFnaW5hdGlvbiBbaXRlbXNQZXJQYWdlXT1cInBhZ2VTaXplVHJhZmZpY0NhcmRcIiBbY3VycmVudFBhZ2VdPVwib2Zmc2V0VHJhZmZpY0NhcmRcIiBbdG90YWxJdGVtc109XCJ0b3RhbEl0ZW1zVHJhZmZpY0NhcmRcIlxyXG4gICAgICAgICAgICAgICAgICAgICAgICBbcGFnaW5hdGlvblNpemVzXT1cInBhZ2luYXRpb25TaXplc1RyYWZmaWNDYXJkXCIgW3BhZ2VTaXplXT1cInBhZ2VTaXplVHJhZmZpY0NhcmRcIiAocGFnZUNoYW5nZSk9XCJvblBhZ2VDaGFuZ2VUcmFmZmljQ2FyZCgkZXZlbnQpXCJcclxuICAgICAgICAgICAgICAgICAgICAgICAgKHBhZ2VTaXplQ2hhbmdlKT1cIm9uUGFnZVNpemVDaGFuZ2VUcmFmZmljQ2FyZCgkZXZlbnQpXCI+PC9saWItcGFnaW5hdGlvbj5cclxuICAgICAgICAgICAgICAgICAgICA8L2Rpdj5cclxuICAgICAgICAgICAgICAgICAgICA8ZGl2ICpuZ0lmPVwiZm9vdGZhbGxWYWx1ZSA9PT0nZm9vdGZhbGwnIHx8IGZvb3RmYWxsVmFsdWUgPT09J2NvbnZlcnNpb24nIHx8IGZvb3RmYWxsVmFsdWUgPT09J2VuZ2FnZXJzJyBcclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIHx8IGZvb3RmYWxsVmFsdWUgPT09J21pc3NlZE9wcG9ydHVuaXR5JyB8fCBmb290ZmFsbFZhbHVlID09PSdwb3RlbnRpYWxCdXllcnMnIHx8IGZvb3RmYWxsVmFsdWUgPT09J2JvdW5jZWQnICYmICFkZXRhaWxlZENoYXJ0c1wiIFxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgY2xhc3M9XCJoZWF0bWFwLWNvbnRhaW5lciBlbGVtZW50XCI+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgIDxkaXYgaWQ9XCJoZWF0bWFwY2hhcnRcIj48L2Rpdj5cclxuICAgICAgICAgICAgICAgICAgICA8L2Rpdj5cclxuICAgICAgICAgICAgICAgICAgICA8L3NlY3Rpb24+XHJcbiAgICAgICAgICAgICAgICAgICAgXHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICA8IS0tIDxkaXYgKm5nSWY9XCJmb290ZmFsbFZhbHVlID09PSdmb290ZmFsbCcgfHwgZm9vdGZhbGxWYWx1ZSA9PT0nY29udmVyc2lvbicgfHwgZm9vdGZhbGxWYWx1ZSA9PT0nZW5nYWdlcnMnXHJcbiAgICAgICAgICAgICAgICAgICAgICAgIHx8IGZvb3RmYWxsVmFsdWUgPT09J21pc3NlZE9wcG9ydHVuaXR5JyB8fCBmb290ZmFsbFZhbHVlID09PSdwb3RlbnRpYWxCdXllcnMnIHx8IGZvb3RmYWxsVmFsdWUgPT09J2JvdW5jZWQnICYmICFkZXRhaWxlZENoYXJ0c1wiIGNsYXNzPVwiY29sLW1kLTkgY2hhcnQtY29udGFpbmVyIG10LTNcIj5cclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8ZGl2IGNsYXNzPVwidGV4dC1jZW50ZXJcIiBpZD1cInRlc3RHcmFwaGljc1wiPjwvZGl2PlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgPC9kaXY+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICA8ZGl2ICpuZ0lmPVwiZm9vdGZhbGxWYWx1ZSA9PT0nZm9vdGZhbGwnIHx8IGZvb3RmYWxsVmFsdWUgPT09J2NvbnZlcnNpb24nIHx8IGZvb3RmYWxsVmFsdWUgPT09J2VuZ2FnZXJzJ1xyXG4gICAgICAgICAgICAgICAgICAgICAgICB8fCBmb290ZmFsbFZhbHVlID09PSdtaXNzZWRPcHBvcnR1bml0eScgfHwgZm9vdGZhbGxWYWx1ZSA9PT0ncG90ZW50aWFsQnV5ZXJzJyB8fCBmb290ZmFsbFZhbHVlID09PSdib3VuY2VkJyAmJiAhZGV0YWlsZWRDaGFydHNcIiBjbGFzcz1cImNvbC1tZC0zIG10LTMgbWUtMCBwZS0wXCI+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGRpdiBpZD1cImhlYXRtYXBjaGFydFwiPjwvZGl2PlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgPC9kaXY+IC0tPlxyXG4gICAgICAgIFxyXG4gICAgICAgICAgICAgICAgICAgICAgICA8L2Rpdj5cclxuICAgICAgICAgICAgICAgICAgICAgICAgPGRpdiAqbmdJZj1cImRldGFpbGVkQ2hhcnRzXCIgY2xhc3M9XCJyb3dcIj5cclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxkaXYgY2xhc3M9XCJkLWZsZXggYWxpZ24taXRlbXMtY2VudGVyIG15LTUgbWUtMlwiPlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxkaXYgY2xhc3M9XCJmbGV4LXNocmluay0wIG10LTNcIj5cclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPHNwYW4gY2xhc3M9XCJjdXJzb3ItcG9pbnRlclwiIChjbGljayk9XCJiYWNrVG9Gb290ZmFsbCgpXCI+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8c3ZnIHdpZHRoPVwiNDBcIiBoZWlnaHQ9XCI0MFwiIHZpZXdCb3g9XCIwIDAgNDAgNDBcIiBmaWxsPVwibm9uZVwiXHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgeG1sbnM9XCJodHRwOi8vd3d3LnczLm9yZy8yMDAwL3N2Z1wiPlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxnIGZpbHRlcj1cInVybCgjZmlsdGVyMF9kXzI1ODVfNzAzNilcIj5cclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPHJlY3QgeD1cIjJcIiB5PVwiMVwiIHdpZHRoPVwiMzZcIiBoZWlnaHQ9XCIzNlwiIHJ4PVwiOFwiIGZpbGw9XCJ3aGl0ZVwiIC8+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxyZWN0IHg9XCIyLjVcIiB5PVwiMS41XCIgd2lkdGg9XCIzNVwiIGhlaWdodD1cIjM1XCIgcng9XCI3LjVcIiBzdHJva2U9XCIjRDBENUREXCIgLz5cclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPHBhdGggZD1cIk0yNS44MzI3IDE5SDE0LjE2Nk0xNC4xNjYgMTlMMTkuOTk5MyAyNC44MzM0TTE0LjE2NiAxOUwxOS45OTkzIDEzLjE2NjdcIlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgc3Ryb2tlPVwiIzM0NDA1NFwiIHN0cm9rZS13aWR0aD1cIjEuNjdcIiBzdHJva2UtbGluZWNhcD1cInJvdW5kXCJcclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHN0cm9rZS1saW5lam9pbj1cInJvdW5kXCIgLz5cclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8L2c+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGRlZnM+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxmaWx0ZXIgaWQ9XCJmaWx0ZXIwX2RfMjU4NV83MDM2XCIgeD1cIjBcIiB5PVwiMFwiIHdpZHRoPVwiNDBcIiBoZWlnaHQ9XCI0MFwiXHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBmaWx0ZXJVbml0cz1cInVzZXJTcGFjZU9uVXNlXCIgY29sb3ItaW50ZXJwb2xhdGlvbi1maWx0ZXJzPVwic1JHQlwiPlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGZlRmxvb2QgZmxvb2Qtb3BhY2l0eT1cIjBcIiByZXN1bHQ9XCJCYWNrZ3JvdW5kSW1hZ2VGaXhcIiAvPlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGZlQ29sb3JNYXRyaXggaW49XCJTb3VyY2VBbHBoYVwiIHR5cGU9XCJtYXRyaXhcIlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHZhbHVlcz1cIjAgMCAwIDAgMCAwIDAgMCAwIDAgMCAwIDAgMCAwIDAgMCAwIDEyNyAwXCIgcmVzdWx0PVwiaGFyZEFscGhhXCIgLz5cclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxmZU9mZnNldCBkeT1cIjFcIiAvPlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGZlR2F1c3NpYW5CbHVyIHN0ZERldmlhdGlvbj1cIjFcIiAvPlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGZlQ29sb3JNYXRyaXggdHlwZT1cIm1hdHJpeFwiXHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgdmFsdWVzPVwiMCAwIDAgMCAwLjA2Mjc0NTEgMCAwIDAgMCAwLjA5NDExNzYgMCAwIDAgMCAwLjE1Njg2MyAwIDAgMCAwLjA1IDBcIiAvPlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGZlQmxlbmQgbW9kZT1cIm5vcm1hbFwiIGluMj1cIkJhY2tncm91bmRJbWFnZUZpeFwiXHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgcmVzdWx0PVwiZWZmZWN0MV9kcm9wU2hhZG93XzI1ODVfNzAzNlwiIC8+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8ZmVCbGVuZCBtb2RlPVwibm9ybWFsXCIgaW49XCJTb3VyY2VHcmFwaGljXCIgaW4yPVwiZWZmZWN0MV9kcm9wU2hhZG93XzI1ODVfNzAzNlwiXHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgcmVzdWx0PVwic2hhcGVcIiAvPlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8L2ZpbHRlcj5cclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8L2RlZnM+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8L3N2Zz5cclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPC9zcGFuPlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvZGl2PlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxkaXYgY2xhc3M9XCJteC0zIG10LTFcIj5cclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGRpdiBjbGFzcz1cIm15LTEgY2FyZC1sYWJlbCBsZWZ0LWNhcmQtY291bnRcIj48c3BhbiBjbGFzcz1cInRleHQtcHJpbWFyeSBjdXJzb3ItcG9pbnRlciB0ZXh0LWRlY29yYXRpb24tdW5kZXJsaW5lXCIgKGNsaWNrKT1cInN0b3JlVmlldyhzdG9yZUlkKVwiPnt7c3RvcmVOYW1lfX08L3NwYW4+PHNwYW4gY2xhc3M9XCJtcy0yXCI+Rm9vdGZhbGwgVHJlbmQ8L3NwYW4+PC9kaXY+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxkaXYgY2xhc3M9XCJsZWZ0LWNhcmQtY291bnQtaGVhZGVyIHRleHQtc3ViXCI+QmFzZWQgb24ge3toZWFkZXJEYXRhPy5kYXRlPy5zdGFydERhdGUgfCBkYXRlOidkZCBNTU0sIHl5eXknfX0gLSB7e2hlYWRlckRhdGE/LmRhdGU/LmVuZERhdGUgfCBkYXRlOidkZCBNTU0sIHl5eXknfX08L2Rpdj5cclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8L2Rpdj5cclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvZGl2PlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgPGRpdiBjbGFzcz1cImNvbC1tZC0xMiBteC01XCI+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGRpdiBjbGFzcz1cInRleHQtY2VudGVyXCIgaWQ9XCJkZXRhaWxlZENoYXJ0RGl2XCI+PC9kaXY+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICA8L2Rpdj5cclxuICAgICAgICAgICAgICAgICAgICAgICAgPC9kaXY+XHJcbiAgICAgICAgICAgICAgIFxyXG4gICAgICAgICAgICAgICAgICAgIDwvZGl2PlxyXG4gICAgICAgICAgICAgICAgPC9kaXY+XHJcbiAgICAgICAgXHJcbiAgICAgICAgICAgIDwvZGl2PlxyXG4gICAgICAgIDwvZGl2PlxyXG4gICAgICAgIDwhLS0gPGxpYi10cmFmZmljLWNhcmQtY2hhcnRzIGNsYXNzPVwibXktMlwiPjwvbGliLXRyYWZmaWMtY2FyZC1jaGFydHM+IC0tPlxyXG4gICAgICAgICA8ZGl2ICpuZ0lmPVwiaGVhZGVyRGF0YT8uY2xpZW50ICE9PSc0NTInXCI+XHJcbiAgICAgICAgPGxpYi1pbWFnZS1kb2MgKm5nSWY9XCJzdG9yZUlkYXJyYXk/Lmxlbmd0aCA9PT0gMSAmJiAoY2xpZW50RGF0YT8uZmVhdHVyZUNvbmZpZ3M/LmlzRm9vdGZhbGxEaXJlY3RvcnkgfHwgKGdzLnVzZXJBY2Nlc3MgfCBhc3luYyk/LnVzZXJUeXBlID09PSAndGFuZ28nKVwiIGNsYXNzPVwibXktMlwiPjwvbGliLWltYWdlLWRvYz5cclxuICAgICAgICA8L2Rpdj5cclxuICAgIDwvZGl2PlxyXG4gICAgPGRpdiAqbmdJZj1cInN0b3JlSWRhcnJheT8ubGVuZ3RoID4gMVwiIGNsYXNzPVwiY29sLW1kLTYgbXQtM1wiPlxyXG4gICAgICAgIDxkaXYgY2xhc3M9XCJjYXJkIGgtMTAwXCI+XHJcbiAgICAgICAgICAgIDxkaXYgY2xhc3M9XCJjYXJkLWhlYWRlciBib3JkZXItMCBwdC0zXCI+XHJcbiAgICAgICAgICAgICAgICA8aDMgY2xhc3M9XCJjYXJkLXRpdGxlIGFsaWduLWl0ZW1zLXN0YXJ0IGZsZXgtY29sdW1uXCI+XHJcbiAgICAgICAgICAgICAgICAgICAgPHNwYW4gY2xhc3M9XCJ0aXRsZS10ZXh0IG1iLTJcIj5QZXJmb3JtYW5jZSBNYXRyaXhcclxuICAgICAgICAgICAgICAgICAgICAgICAgIDxzdmcgeG1sbnM9XCJodHRwOi8vd3d3LnczLm9yZy8yMDAwL3N2Z1wiIHdpZHRoPVwiMTZcIlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgaGVpZ2h0PVwiMTZcIiB2aWV3Qm94PVwiMCAwIDE2IDE2XCIgZmlsbD1cIm5vbmVcIiBwbGFjZW1lbnQ9XCJyaWdodFwiXHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICBuZ2JUb29sdGlwPVwiU3RvcmUgcGVyZm9ybWFuY2UgYmFzZWQgb24gbWV0cmljcyBzZWxlY3RlZFwiPlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgPGcgY2xpcC1wYXRoPVwidXJsKCNjbGlwMF8xNDMyXzgwMDM1KVwiPlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxwYXRoXHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGQ9XCJNOC4wMDA2NSAxMC42NjY2VjcuOTk5OTJNOC4wMDA2NSA1LjMzMzI1SDguMDA3MzJNMTQuNjY3MyA3Ljk5OTkyQzE0LjY2NzMgMTEuNjgxOCAxMS42ODI2IDE0LjY2NjYgOC4wMDA2NSAxNC42NjY2QzQuMzE4NzUgMTQuNjY2NiAxLjMzMzk4IDExLjY4MTggMS4zMzM5OCA3Ljk5OTkyQzEuMzMzOTggNC4zMTgwMiA0LjMxODc1IDEuMzMzMjUgOC4wMDA2NSAxLjMzMzI1QzExLjY4MjYgMS4zMzMyNSAxNC42NjczIDQuMzE4MDIgMTQuNjY3MyA3Ljk5OTkyWlwiXHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHN0cm9rZT1cIiM2NjcwODVcIiBzdHJva2Utd2lkdGg9XCIyXCIgc3Ryb2tlLWxpbmVjYXA9XCJyb3VuZFwiIHN0cm9rZS1saW5lam9pbj1cInJvdW5kXCIgLz5cclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvZz5cclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxkZWZzPlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxjbGlwUGF0aCBpZD1cImNsaXAwXzE0MzJfODAwMzVcIj5cclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPHJlY3Qgd2lkdGg9XCIxNlwiIGhlaWdodD1cIjE2XCIgZmlsbD1cIndoaXRlXCIgLz5cclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8L2NsaXBQYXRoPlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgPC9kZWZzPlxyXG4gICAgICAgICAgICAgICAgICAgICAgICA8L3N2Zz5cclxuICAgICAgICAgICAgICAgICAgICA8L3NwYW4+XHJcbiAgICAgICAgICAgICAgICAgICAgPHNwYW4gY2xhc3M9XCJ0ZXh0LXN1YiBtYi0yXCI+e3toZWFkZXJEYXRhPy5kYXRlPy5zdGFydERhdGUgfCBkYXRlOidkZCBNTU0sIHl5eXknfX0g4oCTIHt7aGVhZGVyRGF0YT8uZGF0ZT8uZW5kRGF0ZSB8IGRhdGU6J2RkIE1NTSwgeXl5eSd9fTwvc3Bhbj5cclxuICAgICAgICAgICAgICAgIDwvaDM+XHJcbiAgICAgICAgICAgICAgICA8ZGl2IGNsYXNzPVwiY2FyZC10b29sYmFyXCI+XHJcbiAgICAgICAgICAgICAgICAgICAgXHJcbiAgICAgICAgICAgICAgICA8L2Rpdj5cclxuICAgICAgICAgICAgPC9kaXY+XHJcbiAgICAgICAgICAgIDxkaXYgY2xhc3M9XCJyb3cgbXgtMyBhbGlnbi1pdGVtcy1jZW50ZXIgdy03NVwiPlxyXG4gICAgICAgICAgICAgICAgPGRpdiBjbGFzcz1cImQtZmxleCBhbGlnbi1pdGVtcy1jZW50ZXIgbXMtM1wiPlxyXG4gICAgICAgICAgICAgICAgICA8c2VsZWN0IGNsYXNzPVwiZm9ybS1zZWxlY3Qtc20gZm9ybS1zZWxlY3QgbWUtMiBkcm9wc2VsZWN0XCIgWyhuZ01vZGVsKV09XCJmb290ZmFsbFZhbHVlMVwiIChjaGFuZ2UpPVwib25WYWx1ZUNoYW5nZSgkZXZlbnQpXCI+XHJcbiAgICAgICAgICAgICAgICAgICAgPG9wdGlvbiAqbmdGb3I9XCJsZXQgb2JqIG9mIGdldEZpbHRlcmVkRm9vdGZhbGxEYXRhc2V0cygpXCIgW2lkXT1cIm9iai5sYWJlbFwiIFt2YWx1ZV09XCJvYmoudmFsdWVcIj57e29iai5sYWJlbH19PC9vcHRpb24+XHJcbiAgICAgICAgICAgICAgICAgIDwvc2VsZWN0PlxyXG4gICAgICAgICAgICAgICAgICA8c3BhbiBjbGFzcz1cIm14LTJcIj5Wczwvc3Bhbj5cclxuICAgICAgICAgICAgICAgICAgPHNlbGVjdCBjbGFzcz1cImZvcm0tc2VsZWN0LXNtIGZvcm0tc2VsZWN0IG1zLTIgZHJvcHNlbGVjdFwiIFsobmdNb2RlbCldPVwiYm91bmNlVmFsdWUxXCIgKGNoYW5nZSk9XCJvbkJvdW5jZUNoYW5nZSgkZXZlbnQpXCI+XHJcbiAgICAgICAgICAgICAgICAgICAgPG9wdGlvbiAqbmdGb3I9XCJsZXQgb2JqIG9mIGdldEZpbHRlcmVkQm91bmNlRGF0YXNldHMoKVwiIFtpZF09XCJvYmoubGFiZWxcIiBbdmFsdWVdPVwib2JqLnZhbHVlXCI+e3tvYmoubGFiZWx9fTwvb3B0aW9uPlxyXG5cclxuICAgICAgICAgICAgICAgICAgPC9zZWxlY3Q+XHJcbiAgICAgICAgICAgICAgICA8L2Rpdj5cclxuICAgICAgICAgICAgICA8L2Rpdj5cclxuICAgICAgICAgICAgICA8ZGl2ICpuZ0lmPVwicGVyZm9ybWFuY2VMb2FkaW5nXCIgY2xhc3M9XCJyb3cgbG9hZGVyICBkLWZsZXgganVzdGlmeS1jb250ZW50LWNlbnRlciBhbGlnbi1pdGVtcy1jZW50ZXJcIj5cclxuICAgICAgICAgICAgICAgIDxkaXYgY2xhc3M9XCJzaGltbWVyXCI+XHJcbiAgICAgICAgICAgICAgICAgICAgPGRpdiBjbGFzcz1cIndyYXBwZXJcIj5cclxuICAgICAgICAgICAgICAgICAgICAgICAgPGRpdiBjbGFzcz1cInN0cm9rZSBhbmltYXRlIHRpdGxlXCI+PC9kaXY+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgIDxkaXYgY2xhc3M9XCJzdHJva2UgYW5pbWF0ZSBsaW5rXCI+PC9kaXY+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgIDxkaXYgY2xhc3M9XCJzdHJva2UgYW5pbWF0ZSBkZXNjcmlwdGlvblwiPjwvZGl2PlxyXG4gICAgICAgICAgICAgICAgICAgIDwvZGl2PlxyXG4gICAgICAgICAgICAgICAgPC9kaXY+XHJcbiAgICAgICAgICAgICAgICA8ZGl2IGNsYXNzPVwic2hpbW1lclwiPlxyXG4gICAgICAgICAgICAgICAgICAgIDxkaXYgY2xhc3M9XCJ3cmFwcGVyXCI+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgIDxkaXYgY2xhc3M9XCJzdHJva2UgYW5pbWF0ZSB0aXRsZVwiPjwvZGl2PlxyXG4gICAgICAgICAgICAgICAgICAgICAgICA8ZGl2IGNsYXNzPVwic3Ryb2tlIGFuaW1hdGUgbGlua1wiPjwvZGl2PlxyXG4gICAgICAgICAgICAgICAgICAgICAgICA8ZGl2IGNsYXNzPVwic3Ryb2tlIGFuaW1hdGUgZGVzY3JpcHRpb25cIj48L2Rpdj5cclxuICAgICAgICAgICAgICAgICAgICA8L2Rpdj5cclxuICAgICAgICAgICAgICAgIDwvZGl2PlxyXG4gICAgICAgICAgICA8L2Rpdj5cclxuICAgICAgICAgICAgPGRpdiAqbmdJZj1cInBlcmZvcm1hbmNlbm9EYXRhXCIgY2xhc3M9XCJyb3dcIj5cclxuICAgICAgICAgICAgICAgIDxkaXYgY2xhc3M9XCJjb2wtbGctMTIgbXQtMjAgbWItNlwiPlxyXG4gICAgICAgICAgICAgICAgICAgIDxkaXYgY2xhc3M9XCIgbXQtMjAgY2FyZC1ib2R5IGQtZmxleCBqdXN0aWZ5LWNvbnRlbnQtY2VudGVyIGFsaWduLWl0ZW1zLWNlbnRlciBmbGV4LWNvbHVtblwiPlxyXG4gICAgICAgICAgICAgICAgICAgICAgICA8aW1nIGNsYXNzPVwiaW1nLW5vZGF0YS10YWJsZVwiIHNyYz1cIi4vYXNzZXRzL3RhbmdvL0ljb25zL05vZGF0YTEuc3ZnXCIgYWx0PVwiXCI+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgIDxkaXYgY2xhc3M9XCJub2RhdGEtdGl0bGVcIj5ObyBkYXRhIGZvdW5kPC9kaXY+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgIDxkaXYgKm5nSWY9XCJoZWFkZXJEYXRhPy5jbGllbnQgIT09JzQ1MidcIiBjbGFzcz1cIm5vZGF0YS1zdWJcIj5UaGVyZSBpcyBubyByZXN1bHQgZm9yIHRoaXMge3tmb290ZmFsbExhYmVsIHwgdGl0bGVjYXNlfX0gdnMge3tib3VuY2VMYWJlbCB8IHRpdGxlY2FzZX19PC9kaXY+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgIDxkaXYgKm5nSWY9XCJoZWFkZXJEYXRhPy5jbGllbnQgPT09JzQ1MidcIiBjbGFzcz1cIm5vZGF0YS1zdWJcIj5UaGVyZSBpcyBubyByZXN1bHQgZm9yIHRoaXMgUGVyZm9ybWFuY2UgTWF0cml4PC9kaXY+XHJcbiAgICAgICAgICAgICAgICAgICAgPC9kaXY+XHJcbiAgICAgICAgICAgICAgICA8L2Rpdj5cclxuICAgICAgICAgICAgPC9kaXY+XHJcbiAgICAgICAgICAgIDxkaXYgKm5nSWY9XCIhcGVyZm9ybWFuY2VMb2FkaW5nICYmICFwZXJmb3JtYW5jZW5vRGF0YVwiIGNsYXNzPVwiY2FyZC1ib2R5XCI+XHJcbiAgICAgICAgICAgICAgIFxyXG4gICAgICAgICAgICA8ZGl2IGNsYXNzPVwicXVhZHJhbnQtY2hhcnQgei0xXCI+XHJcbiAgICAgICAgICAgICAgICA8ZGl2IGNsYXNzPVwiYXhpcy1sYWJlbHNcIj5cclxuICAgICAgICAgICAgICAgICAgICA8IS0tIFggQXhpcyBMYWJlbCAtLT5cclxuICAgICAgICAgICAgICAgICAgICA8ZGl2IGNsYXNzPVwieC1heGlzLWxhYmVsXCI+XHJcbiAgICAgICAgICAgICAgICAgICAgICA8c3Bhbj57e2JvdW5jZUxhYmVsIHwgdGl0bGVjYXNlfX0gLT48L3NwYW4+XHJcbiAgICAgICAgICAgICAgICAgICAgPC9kaXY+XHJcbiAgICAgICAgICAgICAgICAgICAgPCEtLSBZIEF4aXMgTGFiZWwgLS0+XHJcbiAgICAgICAgICAgICAgICAgICAgPGRpdiBjbGFzcz1cInktYXhpcy1sYWJlbFwiPlxyXG4gICAgICAgICAgICAgICAgICAgICAgPHNwYW4+e3tmb290ZmFsbExhYmVsIHwgdGl0bGVjYXNlfX0gLT48L3NwYW4+XHJcbiAgICAgICAgICAgICAgICAgICAgPC9kaXY+XHJcbiAgICAgICAgICAgICAgICAgIDwvZGl2PlxyXG4gICA8IS0tIFRvcCBMZWZ0IFF1YWRyYW50IC0tPlxyXG4gICA8ZGl2IGNsYXNzPVwicXVhZHJhbnRcIiBpZD1cInExXCI+XHJcbiAgICA8c3BhbiAgKm5nSWY9XCJoZWFkZXJEYXRhPy5jbGllbnQgIT09JzQ1MidcIiBjbGFzcz1cImxhYmVsMVwiPkhpZ2ggPHNwYW4gKm5nSWY9XCJmb290ZmFsbExhYmVsPT09J0JvdW5jZWQgRm9vdGZhbGwnXCI+e3toZWFkZXJEYXRhPy5jbGllbnQgPT09JzQ1Mic/J0xlc3MgdGhhbiAnKyBmZWF0dXJlQ29uZmlnPy5ib3VuY2VkTGltaXQudmFsdWUrICcgbWlucyc6J0JvdW5jZSd9fTwvc3Bhbj48c3BhblxyXG4gICAgICAgICAgICAqbmdJZj1cImZvb3RmYWxsTGFiZWwgIT09J0JvdW5jZWQgRm9vdGZhbGwnXCI+e3tmb290ZmFsbExhYmVsIHwgdGl0bGVjYXNlfX08L3NwYW4+LCBMb3cgPHNwYW5cclxuICAgICAgICAgICAgKm5nSWY9XCJib3VuY2VMYWJlbD09PSdCb3VuY2VkIEZvb3RmYWxsJ1wiPnt7aGVhZGVyRGF0YT8uY2xpZW50ID09PSc0NTInPydMZXNzIHRoYW4gJysgZmVhdHVyZUNvbmZpZz8uYm91bmNlZExpbWl0LnZhbHVlKyAnIG1pbnMnOidCb3VuY2UnfX08L3NwYW4+PHNwYW5cclxuICAgICAgICAgICAgKm5nSWY9XCJib3VuY2VMYWJlbCAhPT0nQm91bmNlZCBGb290ZmFsbCdcIj57e2JvdW5jZUxhYmVsIHwgdGl0bGVjYXNlfX08L3NwYW4+PC9zcGFuPiBcclxuICAgICAgICAgICAgPHNwYW4gKm5nSWY9XCJoZWFkZXJEYXRhPy5jbGllbnQgPT09JzQ1MidcIiBjbGFzcz1cImxhYmVsMVwiPjxzcGFuICpuZ0lmPVwiZm9vdGZhbGxMYWJlbD09PSdGb290ZmFsbCdcIj5IaWdoIDwvc3Bhbj4gPHNwYW4gKm5nSWY9XCJmb290ZmFsbExhYmVsPT09J0JvdW5jZWQgRm9vdGZhbGwnXCI+e3toZWFkZXJEYXRhPy5jbGllbnQgPT09JzQ1Mic/J0xlc3MgdGhhbiAnKyBmZWF0dXJlQ29uZmlnPy5ib3VuY2VkTGltaXQudmFsdWUrICcgbWlucyc6J0JvdW5jZSd9fTwvc3Bhbj48c3BhblxyXG4gICAgICAgICAgICAqbmdJZj1cImZvb3RmYWxsTGFiZWwgIT09J0JvdW5jZWQgRm9vdGZhbGwnXCI+e3tmb290ZmFsbExhYmVsIHwgdGl0bGVjYXNlfX08L3NwYW4+LCA8c3BhbiAqbmdJZj1cImJvdW5jZUxhYmVsPT09J0Zvb3RmYWxsJ1wiPkxvdyA8L3NwYW4+IDxzcGFuXHJcbiAgICAgICAgICAgICpuZ0lmPVwiYm91bmNlTGFiZWw9PT0nQm91bmNlZCBGb290ZmFsbCdcIj57e2hlYWRlckRhdGE/LmNsaWVudCA9PT0nNDUyJz8nTGVzcyB0aGFuICcrIGZlYXR1cmVDb25maWc/LmJvdW5jZWRMaW1pdC52YWx1ZSsgJyBtaW5zJzonQm91bmNlJ319PC9zcGFuPjxzcGFuXHJcbiAgICAgICAgICAgICpuZ0lmPVwiYm91bmNlTGFiZWwgIT09J0JvdW5jZWQgRm9vdGZhbGwnXCI+e3tib3VuY2VMYWJlbCB8IHRpdGxlY2FzZX19PC9zcGFuPjwvc3Bhbj5cclxuPC9kaXY+XHJcblxyXG48IS0tIFRvcCBSaWdodCBRdWFkcmFudCAtLT5cclxuPGRpdiBjbGFzcz1cInF1YWRyYW50XCIgaWQ9XCJxMlwiPlxyXG4gICAgPHNwYW4gKm5nSWY9XCJoZWFkZXJEYXRhPy5jbGllbnQgIT09JzQ1MidcIiBjbGFzcz1cImxhYmVsMVwiPkhpZ2ggPHNwYW4gKm5nSWY9XCJmb290ZmFsbExhYmVsPT09J0JvdW5jZWQgRm9vdGZhbGwnXCI+e3toZWFkZXJEYXRhPy5jbGllbnQgPT09JzQ1Mic/J0xlc3MgdGhhbiAnKyBmZWF0dXJlQ29uZmlnPy5ib3VuY2VkTGltaXQudmFsdWUrICcgbWlucyc6J0JvdW5jZSd9fTwvc3Bhbj48c3BhblxyXG4gICAgICAgICAgICAqbmdJZj1cImZvb3RmYWxsTGFiZWwgIT09J0JvdW5jZWQgRm9vdGZhbGwnXCI+e3tmb290ZmFsbExhYmVsIHwgdGl0bGVjYXNlfX08L3NwYW4+LCBIaWdoIDxzcGFuXHJcbiAgICAgICAgICAgICpuZ0lmPVwiYm91bmNlTGFiZWw9PT0nQm91bmNlZCBGb290ZmFsbCdcIj57e2hlYWRlckRhdGE/LmNsaWVudCA9PT0nNDUyJz8nTGVzcyB0aGFuICcrZmVhdHVyZUNvbmZpZz8uYm91bmNlZExpbWl0LnZhbHVlKyAnIG1pbnMnOidCb3VuY2UnfX08L3NwYW4+PHNwYW5cclxuICAgICAgICAgICAgKm5nSWY9XCJib3VuY2VMYWJlbCAhPT0nQm91bmNlZCBGb290ZmFsbCdcIj57e2JvdW5jZUxhYmVsIHwgdGl0bGVjYXNlfX08L3NwYW4+PC9zcGFuPlxyXG4gICAgICAgICAgICA8c3BhbiAqbmdJZj1cImhlYWRlckRhdGE/LmNsaWVudCA9PT0nNDUyJ1wiIGNsYXNzPVwibGFiZWwxXCI+PHNwYW4gKm5nSWY9XCJmb290ZmFsbExhYmVsPT09J0Zvb3RmYWxsJ1wiPkhpZ2ggPC9zcGFuPiA8c3BhbiAqbmdJZj1cImZvb3RmYWxsTGFiZWw9PT0nQm91bmNlZCBGb290ZmFsbCdcIj57e2hlYWRlckRhdGE/LmNsaWVudCA9PT0nNDUyJz8nTGVzcyB0aGFuICcrIGZlYXR1cmVDb25maWc/LmJvdW5jZWRMaW1pdC52YWx1ZSsgJyBtaW5zJzonQm91bmNlJ319PC9zcGFuPjxzcGFuXHJcbiAgICAgICAgICAgICpuZ0lmPVwiZm9vdGZhbGxMYWJlbCAhPT0nQm91bmNlZCBGb290ZmFsbCdcIj57e2Zvb3RmYWxsTGFiZWwgfCB0aXRsZWNhc2V9fTwvc3Bhbj4sIDxzcGFuICpuZ0lmPVwiYm91bmNlTGFiZWw9PT0nRm9vdGZhbGwnXCI+SGlnaCA8L3NwYW4+IDxzcGFuXHJcbiAgICAgICAgICAgICpuZ0lmPVwiYm91bmNlTGFiZWw9PT0nQm91bmNlZCBGb290ZmFsbCdcIj57e2hlYWRlckRhdGE/LmNsaWVudCA9PT0nNDUyJz8nTGVzcyB0aGFuICcrZmVhdHVyZUNvbmZpZz8uYm91bmNlZExpbWl0LnZhbHVlKyAnIG1pbnMnOidCb3VuY2UnfX08L3NwYW4+PHNwYW5cclxuICAgICAgICAgICAgKm5nSWY9XCJib3VuY2VMYWJlbCAhPT0nQm91bmNlZCBGb290ZmFsbCdcIj57e2JvdW5jZUxhYmVsIHwgdGl0bGVjYXNlfX08L3NwYW4+PC9zcGFuPiAgICAgICAgXHJcbjwvZGl2PlxyXG5cclxuPCEtLSBCb3R0b20gTGVmdCBRdWFkcmFudCAtLT5cclxuPGRpdiBjbGFzcz1cInF1YWRyYW50XCIgaWQ9XCJxM1wiPlxyXG4gICAgPHNwYW4gKm5nSWY9XCJoZWFkZXJEYXRhPy5jbGllbnQgIT09JzQ1MidcIiAgY2xhc3M9XCJsYWJlbDFcIj5Mb3cgPHNwYW4gKm5nSWY9XCJmb290ZmFsbExhYmVsPT09J0JvdW5jZWQgRm9vdGZhbGwnXCI+e3toZWFkZXJEYXRhPy5jbGllbnQgPT09JzQ1Mic/J0xlc3MgdGhhbiAnKyBmZWF0dXJlQ29uZmlnPy5ib3VuY2VkTGltaXQudmFsdWUrICcgbWlucyc6J0JvdW5jZSd9fTwvc3Bhbj48c3BhblxyXG4gICAgICAgICAgICAqbmdJZj1cImZvb3RmYWxsTGFiZWwgIT09J0JvdW5jZWQgRm9vdGZhbGwnXCI+e3tmb290ZmFsbExhYmVsIHwgdGl0bGVjYXNlfX08L3NwYW4+LCBMb3cgPHNwYW5cclxuICAgICAgICAgICAgKm5nSWY9XCJib3VuY2VMYWJlbD09PSdCb3VuY2VkIEZvb3RmYWxsJ1wiPnt7aGVhZGVyRGF0YT8uY2xpZW50ID09PSc0NTInPydMZXNzIHRoYW4gJysgZmVhdHVyZUNvbmZpZz8uYm91bmNlZExpbWl0LnZhbHVlKyAnIG1pbnMnOidCb3VuY2UnfX08L3NwYW4+PHNwYW5cclxuICAgICAgICAgICAgKm5nSWY9XCJib3VuY2VMYWJlbCAhPT0nQm91bmNlZCBGb290ZmFsbCdcIj57e2JvdW5jZUxhYmVsIHwgdGl0bGVjYXNlfX08L3NwYW4+PC9zcGFuPlxyXG4gICAgICAgICAgICA8c3BhbiAqbmdJZj1cImhlYWRlckRhdGE/LmNsaWVudCA9PT0nNDUyJ1wiIGNsYXNzPVwibGFiZWwxXCI+PHNwYW4gKm5nSWY9XCJmb290ZmFsbExhYmVsPT09J0Zvb3RmYWxsJ1wiPkxvdyA8L3NwYW4+ICA8c3BhbiAqbmdJZj1cImZvb3RmYWxsTGFiZWw9PT0nQm91bmNlZCBGb290ZmFsbCdcIj57e2hlYWRlckRhdGE/LmNsaWVudCA9PT0nNDUyJz8nTGVzcyB0aGFuICcrIGZlYXR1cmVDb25maWc/LmJvdW5jZWRMaW1pdC52YWx1ZSsgJyBtaW5zJzonQm91bmNlJ319PC9zcGFuPjxzcGFuXHJcbiAgICAgICAgICAgICpuZ0lmPVwiZm9vdGZhbGxMYWJlbCAhPT0nQm91bmNlZCBGb290ZmFsbCdcIj57e2Zvb3RmYWxsTGFiZWwgfCB0aXRsZWNhc2V9fTwvc3Bhbj4sIDxzcGFuICpuZ0lmPVwiYm91bmNlTGFiZWw9PT0nRm9vdGZhbGwnXCI+TG93IDwvc3Bhbj4gPHNwYW5cclxuICAgICAgICAgICAgKm5nSWY9XCJib3VuY2VMYWJlbD09PSdCb3VuY2VkIEZvb3RmYWxsJ1wiPnt7aGVhZGVyRGF0YT8uY2xpZW50ID09PSc0NTInPydMZXNzIHRoYW4gJysgZmVhdHVyZUNvbmZpZz8uYm91bmNlZExpbWl0LnZhbHVlKyAnIG1pbnMnOidCb3VuY2UnfX08L3NwYW4+PHNwYW5cclxuICAgICAgICAgICAgKm5nSWY9XCJib3VuY2VMYWJlbCAhPT0nQm91bmNlZCBGb290ZmFsbCdcIj57e2JvdW5jZUxhYmVsIHwgdGl0bGVjYXNlfX08L3NwYW4+PC9zcGFuPlxyXG5cclxuPC9kaXY+XHJcblxyXG48IS0tIEJvdHRvbSBSaWdodCBRdWFkcmFudCAtLT5cclxuPGRpdiBjbGFzcz1cInF1YWRyYW50XCIgaWQ9XCJxNFwiPlxyXG4gICAgPHNwYW4gKm5nSWY9XCJoZWFkZXJEYXRhPy5jbGllbnQgIT09JzQ1MidcIiAgY2xhc3M9XCJsYWJlbDFcIj5Mb3cgPHNwYW4gKm5nSWY9XCJmb290ZmFsbExhYmVsPT09J0JvdW5jZWQgRm9vdGZhbGwnXCI+e3toZWFkZXJEYXRhPy5jbGllbnQgPT09JzQ1Mic/J0xlc3MgdGhhbiAnKyBmZWF0dXJlQ29uZmlnPy5ib3VuY2VkTGltaXQudmFsdWUrICcgbWlucyc6J0JvdW5jZSd9fTwvc3Bhbj48c3BhblxyXG4gICAgICAgICAgICAqbmdJZj1cImZvb3RmYWxsTGFiZWwgIT09J0JvdW5jZWQgRm9vdGZhbGwnXCI+e3tmb290ZmFsbExhYmVsIHwgdGl0bGVjYXNlfX08L3NwYW4+LCBIaWdoIDxzcGFuXHJcbiAgICAgICAgICAgICpuZ0lmPVwiYm91bmNlTGFiZWw9PT0nQm91bmNlZCBGb290ZmFsbCdcIj57e2hlYWRlckRhdGE/LmNsaWVudCA9PT0nNDUyJz8nTGVzcyB0aGFuICcrIGZlYXR1cmVDb25maWc/LmJvdW5jZWRMaW1pdC52YWx1ZSsgJyBtaW5zJzonQm91bmNlJ319PC9zcGFuPjxzcGFuXHJcbiAgICAgICAgICAgICpuZ0lmPVwiYm91bmNlTGFiZWwgIT09J0JvdW5jZWQgRm9vdGZhbGwnXCI+e3tib3VuY2VMYWJlbHwgdGl0bGVjYXNlfX08L3NwYW4+PC9zcGFuPlxyXG4gICAgICAgICAgICA8c3BhbiAqbmdJZj1cImhlYWRlckRhdGE/LmNsaWVudCA9PT0nNDUyJ1wiIGNsYXNzPVwibGFiZWwxXCI+PHNwYW4gKm5nSWY9XCJmb290ZmFsbExhYmVsPT09J0Zvb3RmYWxsJ1wiPkxvdyA8L3NwYW4+IDxzcGFuICpuZ0lmPVwiZm9vdGZhbGxMYWJlbD09PSdCb3VuY2VkIEZvb3RmYWxsJ1wiPnt7aGVhZGVyRGF0YT8uY2xpZW50ID09PSc0NTInPydMZXNzIHRoYW4gJysgZmVhdHVyZUNvbmZpZz8uYm91bmNlZExpbWl0LnZhbHVlKyAnIG1pbnMnOidCb3VuY2UnfX08L3NwYW4+PHNwYW5cclxuICAgICAgICAgICAgKm5nSWY9XCJmb290ZmFsbExhYmVsICE9PSdCb3VuY2VkIEZvb3RmYWxsJ1wiPnt7Zm9vdGZhbGxMYWJlbCB8IHRpdGxlY2FzZX19PC9zcGFuPiwgPHNwYW4gKm5nSWY9XCJib3VuY2VMYWJlbD09PSdGb290ZmFsbCdcIj5IaWdoIDwvc3Bhbj4gPHNwYW5cclxuICAgICAgICAgICAgKm5nSWY9XCJib3VuY2VMYWJlbD09PSdCb3VuY2VkIEZvb3RmYWxsJ1wiPnt7aGVhZGVyRGF0YT8uY2xpZW50ID09PSc0NTInPydMZXNzIHRoYW4gJysgZmVhdHVyZUNvbmZpZz8uYm91bmNlZExpbWl0LnZhbHVlKyAnIG1pbnMnOidCb3VuY2UnfX08L3NwYW4+PHNwYW5cclxuICAgICAgICAgICAgKm5nSWY9XCJib3VuY2VMYWJlbCAhPT0nQm91bmNlZCBGb290ZmFsbCdcIj57e2JvdW5jZUxhYmVsfCB0aXRsZWNhc2V9fTwvc3Bhbj48L3NwYW4+XHJcbjwvZGl2PlxyXG4gIFxyXG4gICAgICAgICAgICAgICAgPGRpdiAqbmdGb3I9XCJsZXQgcG9pbnQgb2YgcG9pbnRzXCIgY2xhc3M9XCJwb2ludFwiIFtuZ1N0eWxlXT1cInsndG9wJzogcG9pbnQudG9wICsgJyUnLCAnbGVmdCc6IHBvaW50LmxlZnQgKyAnJSd9XCI+XHJcbiAgICAgICAgICAgICAgICAgICAgPGRpdiBjbGFzcz1cInRleHQtY2VudGVyXCIgKGNsaWNrKT1cInRvZ2dsZVRvb2x0aXAocG9pbnQubmFtZSlcIj5cclxuICAgICAgICAgICAgICAgICAgICA8ZGl2IGNsYXNzPVwiZG90XCIgPjwvZGl2PlxyXG4gICAgICAgICAgICAgICAgICAgIDwhLS0gQ2xpY2thYmxlIGxhYmVsIHRoYXQgdG9nZ2xlcyB0aGUgdG9vbHRpcCAtLT5cclxuICAgICAgICAgICAgICAgICAgICA8ZGl2IGNsYXNzPVwibGFiZWwgei0xIG10LTRcIiAgc3R5bGU9XCJmb250LXNpemU6IDEwcHggIWltcG9ydGFudDtcIiA+XHJcbiAgICAgICAgICAgICAgICAgICAgICB7eyBwb2ludC5uYW1lIH19XHJcbiAgICAgICAgICAgICAgICAgICAgPC9kaXY+XHJcbiAgICAgICAgICAgICAgICA8L2Rpdj5cclxuICAgICAgICAgICAgICAgICAgICA8IS0tIEN1c3RvbSBUb29sdGlwIFBvcHVwIC0tPlxyXG4gICAgICAgICAgICAgICAgICAgIDxkaXYgY2xhc3M9XCJ0b29sdGlwLXBvcHVwIHotNVwiICpuZ0lmPVwiYWN0aXZlVG9vbHRpcCA9PT0gcG9pbnQubmFtZVwiPlxyXG4gICAgICAgICAgICAgICAgICAgICAgPGRpdiBjbGFzcz1cInRvb2x0aXAtY29udGVudFwiPlxyXG4gICAgICAgICAgICAgICAgICAgICAgICA8aDMgY2xhc3M9XCJ0ZXh0LXdoaXRlIGN1cnNvci1wb2ludGVyXCIgKGNsaWNrKT1cInN0b3JlVmlldyhwb2ludC5zdG9yZUlkKVwiPnt7IHBvaW50Lm5hbWUgfX08L2gzPlxyXG4gICAgICAgICAgICAgICAgICAgICAgICA8cD5Bdmcge3tmb290ZmFsbExhYmVsIHwgdGl0bGVjYXNlfX06IHt7IHBvaW50LmF2Z0Zvb3RmYWxsIH19PC9wPlxyXG4gICAgICAgICAgICAgICAgICAgICAgICA8cCBjbGFzcz1cIm15LTJcIj5PcGVuIFRpbWU6IDxzdHJvbmc+e3sgcG9pbnQub3BlblRpbWUgfX08L3N0cm9uZz48L3A+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgIDxwPkNsb3NlIFRpbWU6IDxzdHJvbmc+e3sgcG9pbnQuY2xvc2VUaW1lIH19PC9zdHJvbmc+PC9wPlxyXG4gICAgICAgICAgICAgICAgICAgICAgPC9kaXY+XHJcbiAgICAgICAgICAgICAgICAgICAgICA8ZGl2IGNsYXNzPVwidG9vbHRpcC1hcnJvd1wiPjwvZGl2PlxyXG4gICAgICAgICAgICAgICAgICAgIDwvZGl2PlxyXG4gICAgICAgICAgICAgICAgICA8L2Rpdj5cclxuICAgICAgICAgICAgICAgIDwhLS0gQWRkIG1vcmUgcG9pbnRzIGhlcmUgLS0+XHJcbiAgICAgICAgICAgICAgPC9kaXY+XHJcbiAgICAgICAgICAgICAgXHJcbiAgICAgICAgICAgICAgPC9kaXY+XHJcbiAgICAgICAgPC9kaXY+XHJcbiAgICA8L2Rpdj5cclxuICAgIDxkaXYgKm5nSWY9XCJzdG9yZUlkYXJyYXk/Lmxlbmd0aCA+IDFcIiBjbGFzcz1cImNvbC1tZC02IG10LTNcIj5cclxuICAgICAgICA8ZGl2IGNsYXNzPVwiY2FyZFwiPlxyXG4gICAgICAgICAgICA8ZGl2IGNsYXNzPVwiY2FyZC1oZWFkZXIgcHgtNSBib3JkZXItMCBwdC0zXCI+XHJcbiAgICAgICAgICAgICAgICA8aDMgY2xhc3M9XCJjYXJkLXRpdGxlIGFsaWduLWl0ZW1zLXN0YXJ0IGZsZXgtY29sdW1uXCI+XHJcbiAgICAgICAgICAgICAgICAgICAgPHNwYW4gY2xhc3M9XCJ0aXRsZS10ZXh0IG1iLTJcIj5ab25lIER3ZWxsIFRpbWUgU3BsaXQgXHJcbiAgICAgICAgICAgICAgICAgICAgICAgIDxzdmcgeG1sbnM9XCJodHRwOi8vd3d3LnczLm9yZy8yMDAwL3N2Z1wiIHdpZHRoPVwiMTZcIlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgaGVpZ2h0PVwiMTZcIiB2aWV3Qm94PVwiMCAwIDE2IDE2XCIgZmlsbD1cIm5vbmVcIlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgcGxhY2VtZW50PVwicmlnaHRcIlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgbmdiVG9vbHRpcD1cIk92ZXJhbGwgem9uZSBjb25jZW50cmF0aW9uIGFuZCBhdmVyYWdlIGR3ZWxsIHRpbWUgYWNyb3NzIHNlbGVjdGVkIHN0b3Jlc1wiPlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgPGcgY2xpcC1wYXRoPVwidXJsKCNjbGlwMF8xNDMyXzgwMDM1KVwiPlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxwYXRoXHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGQ9XCJNOC4wMDA2NSAxMC42NjY2VjcuOTk5OTJNOC4wMDA2NSA1LjMzMzI1SDguMDA3MzJNMTQuNjY3MyA3Ljk5OTkyQzE0LjY2NzMgMTEuNjgxOCAxMS42ODI2IDE0LjY2NjYgOC4wMDA2NSAxNC42NjY2QzQuMzE4NzUgMTQuNjY2NiAxLjMzMzk4IDExLjY4MTggMS4zMzM5OCA3Ljk5OTkyQzEuMzMzOTggNC4zMTgwMiA0LjMxODc1IDEuMzMzMjUgOC4wMDA2NSAxLjMzMzI1QzExLjY4MjYgMS4zMzMyNSAxNC42NjczIDQuMzE4MDIgMTQuNjY3MyA3Ljk5OTkyWlwiXHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHN0cm9rZT1cIiM2NjcwODVcIiBzdHJva2Utd2lkdGg9XCIyXCIgc3Ryb2tlLWxpbmVjYXA9XCJyb3VuZFwiIHN0cm9rZS1saW5lam9pbj1cInJvdW5kXCIgLz5cclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvZz5cclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxkZWZzPlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxjbGlwUGF0aCBpZD1cImNsaXAwXzE0MzJfODAwMzVcIj5cclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPHJlY3Qgd2lkdGg9XCIxNlwiIGhlaWdodD1cIjE2XCIgZmlsbD1cIndoaXRlXCIgLz5cclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8L2NsaXBQYXRoPlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgPC9kZWZzPlxyXG4gICAgICAgICAgICAgICAgICAgICAgICA8L3N2Zz5cclxuICAgICAgICAgICAgICAgICAgICA8L3NwYW4+XHJcbiAgICAgICAgICAgICAgICAgICAgPHNwYW4gY2xhc3M9XCJ0ZXh0LXN1YiBtYi0yXCI+e3toZWFkZXJEYXRhPy5kYXRlPy5zdGFydERhdGUgfCBkYXRlOidkZCBNTU0sIHl5eXknfX0g4oCTIHt7aGVhZGVyRGF0YT8uZGF0ZT8uZW5kRGF0ZSB8IGRhdGU6J2RkIE1NTSwgeXl5eSd9fTwvc3Bhbj5cclxuICAgICAgICAgICAgICAgIDwvaDM+XHJcbiAgICAgICAgICAgICAgICA8ZGl2IGNsYXNzPVwiY2FyZC10b29sYmFyXCI+XHJcbiAgICAgICAgICAgICAgICAgICAgPGJ1dHRvbiAgdHlwZT1cImJ1dHRvblwiIChjbGljayk9XCJnb1RvWm9uZSgpXCJcclxuICAgICAgICAgICAgICAgICAgICBjbGFzcz1cImJ0biBidG4tbGlnaHQtcHJpbWFyeTEgcm91bmRlZC0zIHRleHQtbm93cmFwIGJvcmRlci12YWxcIj5cclxuICAgICAgICAgICAgICAgICAgICA8c3BhbiBjbGFzcz1cIm1zLTJcIj5HbyB0byBab25lczwvc3Bhbj5cclxuICAgICAgICAgICAgICAgIDwvYnV0dG9uPlxyXG4gICAgICAgICAgICAgICAgICAgXHJcbiAgICAgICAgICAgICAgICA8L2Rpdj5cclxuICAgICAgICAgICAgPC9kaXY+XHJcbiAgICAgICAgICAgIDxkaXYgY2Fsc3M9XCJjYXJkLWJvZHlcIj5cclxuICAgICAgICAgICAgICAgIDxkaXYgKm5nSWY9XCIhem9uZUxvYWRpbmcgJiYgIXpvbmVOb0RhdGFcIiBjbGFzcz1cImltYWdlLWNvbnRhaW5lciBwb3NpdGlvbi1yZWxhdGl2ZVwiPlxyXG4gICAgICAgICAgICAgICAgICAgIDxpbWcgIHNyYz1cImFzc2V0cy90YW5nby9JbWFnZXMvem9uZS1pbWcuc3ZnXCIgYWx0PVwiU3RvcmUgTGF5b3V0XCIgY2xhc3M9XCJweC01IGltZy1zcmMgbXktMyBiYWNrZ3JvdW5kLWltYWdlXCIgLz5cclxuICAgICAgICAgICAgICAgICAgICA8IS0tIDxpbWcgKm5nSWY9XCJ6b25lRHdlbGxUaW1lU3BsaXREYXRhWzBdPy56b25lTmFtZSA9PT0nT3ZlcmFsbCBTdG9yZSdcIiBzcmM9XCJhc3NldHMvdGFuZ28vSW1hZ2VzL3pvbmUtaW1nMS5zdmdcIiBhbHQ9XCJTdG9yZSBMYXlvdXRcIiBjbGFzcz1cInB4LTUgaW1nLXNyYyBteS0zIGJhY2tncm91bmQtaW1hZ2VcIiAvPiAtLT5cclxuICAgICAgICAgICAgICAgICAgICA8IS0tIDxkaXYgY2xhc3M9XCJjZW50ZXJlZFwiPkNlbnRlcmVkPC9kaXY+IC0tPlxyXG4gICAgICAgICAgICAgICAgICAgIDwhLS0gPGRpdiBjbGFzcz1cIm92ZXJsYXktY29udGVudFwiICpuZ0Zvcj1cImxldCBwb2ludCBvZiB6b25lRHdlbGxUaW1lU3BsaXREYXRhXCI+IC0tPlxyXG4gICAgICAgICAgICAgICAgICAgICAgPGRpdiAqbmdJZj1cInpvbmVEd2VsbFRpbWVTcGxpdERhdGFbMF0/LnpvbmVOYW1lICE9PSdPdmVyYWxsIFN0b3JlJ1wiIGNsYXNzPVwidG9wLXpvbmVcIj5cclxuICAgICAgICAgICAgICAgICAgICAgICA8ZGl2IGNsYXNzPVwidGV4dC1jZW50ZXIgdGV4dC16b25lXCI+e3t6b25lRHdlbGxUaW1lU3BsaXREYXRhWzBdPy56b25lTmFtZSA/IHpvbmVEd2VsbFRpbWVTcGxpdERhdGFbMF0/LnpvbmVOYW1lIDonRnJvbnQnfX08L2Rpdj5cclxuICAgICAgICAgICAgICAgICAgICAgICA8c3BhbiBjbGFzcz1cInRleHQtem9uZS12YWxcIj4gQ29uYzoge3sgem9uZUR3ZWxsVGltZVNwbGl0RGF0YVswXT8uY29uY2VudHJhdGlvblJhdGUgPyB6b25lRHdlbGxUaW1lU3BsaXREYXRhWzBdPy5jb25jZW50cmF0aW9uUmF0ZTonLS0nIH19JSA8L3NwYW4+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgPHNwYW4gY2xhc3M9XCJ0ZXh0LXpvbmUtdmFsXCI+RHdlbGwgdGltZToge3sgem9uZUR3ZWxsVGltZVNwbGl0RGF0YVswXT8uZHdlbGxUaW1lID8gem9uZUR3ZWxsVGltZVNwbGl0RGF0YVswXT8uZHdlbGxUaW1lIDonLS0nIH19IE1pbnM8L3NwYW4+XHJcbiAgICAgICAgICAgICAgICAgICAgICA8L2Rpdj5cclxuICAgICAgICAgICAgICAgICAgICAgIDxkaXYgKm5nSWY9XCJ6b25lRHdlbGxUaW1lU3BsaXREYXRhWzBdPy56b25lTmFtZSA9PT0nT3ZlcmFsbCBTdG9yZSdcIiBjbGFzcz1cImNlbnRlcmVkLXpvbmVcIj5cclxuICAgICAgICAgICAgICAgICAgICAgICAgPGRpdiBjbGFzcz1cInRleHQtY2VudGVyIHRleHQtem9uZVwiPnt7em9uZUR3ZWxsVGltZVNwbGl0RGF0YVswXT8uem9uZU5hbWUgPyB6b25lRHdlbGxUaW1lU3BsaXREYXRhWzBdPy56b25lTmFtZSA6J0Zyb250J319PC9kaXY+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgIDxzcGFuIGNsYXNzPVwidGV4dC16b25lLXZhbFwiPiBDb25jOiB7eyB6b25lRHdlbGxUaW1lU3BsaXREYXRhWzBdPy5jb25jZW50cmF0aW9uUmF0ZSA/IHpvbmVEd2VsbFRpbWVTcGxpdERhdGFbMF0/LmNvbmNlbnRyYXRpb25SYXRlOictLScgfX0lIDwvc3Bhbj5cclxuICAgICAgICAgICAgICAgICAgICAgICAgPHNwYW4gY2xhc3M9XCJ0ZXh0LXpvbmUtdmFsXCI+RHdlbGwgdGltZToge3sgem9uZUR3ZWxsVGltZVNwbGl0RGF0YVswXT8uZHdlbGxUaW1lID8gem9uZUR3ZWxsVGltZVNwbGl0RGF0YVswXT8uZHdlbGxUaW1lOictLScgfX0gTWluczwvc3Bhbj5cclxuICAgICAgICAgICAgICAgICAgICAgICA8L2Rpdj5cclxuICAgICAgICAgICAgICAgICAgICAgICA8ZGl2ICpuZ0lmPVwiem9uZUR3ZWxsVGltZVNwbGl0RGF0YVswXT8uem9uZU5hbWUgIT09J092ZXJhbGwgU3RvcmUnXCIgY2xhc3M9XCJib3R0b20tem9uZSBcIj5cclxuICAgICAgICAgICAgICAgICAgICAgICAgPGRpdiBjbGFzcz1cInRleHQtY2VudGVyIHRleHQtem9uZVwiPnt7em9uZUR3ZWxsVGltZVNwbGl0RGF0YVsxXT8uem9uZU5hbWUgPyB6b25lRHdlbGxUaW1lU3BsaXREYXRhWzJdPy56b25lTmFtZSAgOiAnQmFjayd9fTwvZGl2PlxyXG4gICAgICAgICAgICAgICAgICAgICAgICA8c3BhbiBjbGFzcz1cInRleHQtem9uZS12YWxcIj4gQ29uYzoge3sgem9uZUR3ZWxsVGltZVNwbGl0RGF0YVsxXT8uY29uY2VudHJhdGlvblJhdGUgPyB6b25lRHdlbGxUaW1lU3BsaXREYXRhWzJdPy5jb25jZW50cmF0aW9uUmF0ZTonLS0nIH19JSA8L3NwYW4+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgIDxzcGFuIGNsYXNzPVwidGV4dC16b25lLXZhbFwiPkR3ZWxsIHRpbWU6IHt7IHpvbmVEd2VsbFRpbWVTcGxpdERhdGFbMV0/LmR3ZWxsVGltZSA/IHpvbmVEd2VsbFRpbWVTcGxpdERhdGFbMl0/LmR3ZWxsVGltZTonLS0nfX0gTWluczwvc3Bhbj5cclxuICAgICAgICAgICAgICAgICAgICAgICA8L2Rpdj5cclxuICAgICAgICAgICAgICAgICAgICA8IS0tIDwvZGl2PiAtLT5cclxuICAgICAgICAgICAgICAgICAgICA8L2Rpdj5cclxuICAgICAgICAgICAgICAgICAgICA8ZGl2ICpuZ0lmPVwiem9uZUxvYWRpbmdcIiBjbGFzcz1cInJvdyBsb2FkZXIgIGQtZmxleCBqdXN0aWZ5LWNvbnRlbnQtY2VudGVyIGFsaWduLWl0ZW1zLWNlbnRlclwiPlxyXG4gICAgICAgICAgICAgICAgICAgICAgICA8ZGl2IGNsYXNzPVwic2hpbW1lclwiPlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgPGRpdiBjbGFzcz1cIndyYXBwZXJcIj5cclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8ZGl2IGNsYXNzPVwic3Ryb2tlIGFuaW1hdGUgdGl0bGVcIj48L2Rpdj5cclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8ZGl2IGNsYXNzPVwic3Ryb2tlIGFuaW1hdGUgbGlua1wiPjwvZGl2PlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxkaXYgY2xhc3M9XCJzdHJva2UgYW5pbWF0ZSBkZXNjcmlwdGlvblwiPjwvZGl2PlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgPC9kaXY+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgIDwvZGl2PlxyXG4gICAgICAgICAgICAgICAgICAgICAgICA8ZGl2IGNsYXNzPVwic2hpbW1lclwiPlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgPGRpdiBjbGFzcz1cIndyYXBwZXJcIj5cclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8ZGl2IGNsYXNzPVwic3Ryb2tlIGFuaW1hdGUgdGl0bGVcIj48L2Rpdj5cclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8ZGl2IGNsYXNzPVwic3Ryb2tlIGFuaW1hdGUgbGlua1wiPjwvZGl2PlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxkaXYgY2xhc3M9XCJzdHJva2UgYW5pbWF0ZSBkZXNjcmlwdGlvblwiPjwvZGl2PlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgPC9kaXY+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgIDwvZGl2PlxyXG4gICAgICAgICAgICAgICAgICAgIDwvZGl2PlxyXG4gICAgICAgICAgICAgICAgICAgIDxkaXYgKm5nSWY9XCJ6b25lTm9EYXRhXCIgY2xhc3M9XCJyb3dcIj5cclxuICAgICAgICAgICAgICAgICAgICAgICAgPGRpdiBjbGFzcz1cImNvbC1sZy0xMiBtYi02IFwiPlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgPGRpdiAqbmdJZj1cIm5vcm1hbGl6ZVwiIGNsYXNzPVwibXQtNSBjYXJkLWJvZHkgcmlnaHQtYmFyIHB5LTIwIG14LTUgZC1mbGV4IGp1c3RpZnktY29udGVudC1jZW50ZXIgYWxpZ24taXRlbXMtY2VudGVyIGZsZXgtY29sdW1uXCI+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGltZyBjbGFzcz1cImltZy1ub2RhdGEtem9uZVwiIHNyYz1cIi4vYXNzZXRzL3RhbmdvL0ljb25zL25vdC1hcHBsaWNhYmxlLnN2Z1wiIGFsdD1cIlwiPlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxkaXYgY2xhc3M9XCJub2RhdGEtdGl0bGUgbXQtM1wiPkRhdGEgTm90IEZvdW5kPC9kaXY+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGRpdiBjbGFzcz1cIm5vZGF0YS1zdWJcIj5Ob3JtYWxpemVkIGRhdGEgaXMgbm90IGFwcGxpY2FibGU8L2Rpdj5cclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvZGl2PlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgPGRpdiAqbmdJZj1cIiFub3JtYWxpemVcIiBjbGFzcz1cIm10LTUgY2FyZC1ib2R5IHJpZ2h0LWJhciBweS0yMCBteC01IGQtZmxleCBqdXN0aWZ5LWNvbnRlbnQtY2VudGVyIGFsaWduLWl0ZW1zLWNlbnRlciBmbGV4LWNvbHVtblwiPlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxpbWcgY2xhc3M9XCJpbWctbm9kYXRhLXpvbmVcIiBzcmM9XCIuL2Fzc2V0cy90YW5nby9JY29ucy9Ob2RhdGExLnN2Z1wiIGFsdD1cIlwiPlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxkaXYgY2xhc3M9XCJub2RhdGEtdGl0bGVcIj5ObyBkYXRhIGZvdW5kPC9kaXY+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGRpdiAgY2xhc3M9XCJub2RhdGEtc3ViXCI+VGhlcmUgaXMgbm8gcmVzdWx0IGZvciB0aGlzIFpvbmUgRHdlbGwgVGltZSBTcGxpdDwvZGl2PlxyXG5cclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvZGl2PlxyXG4gICAgICAgICAgICAgICAgICAgICAgICA8L2Rpdj5cclxuICAgICAgICAgICAgICAgICAgICA8L2Rpdj5cclxuICAgICAgICAgICAgICAgIDwhLS0gPGltZyBjbGFzcz1cInB4LTUgaW1nLXNyYyBtYi0zXCIgc3JjPVwiYXNzZXRzL3RhbmdvL0ltYWdlcy96b25lLWltZy5zdmdcIiBhbHQ9XCJcIj4gLS0+XHJcbiAgICA8L2Rpdj5cclxuICAgIDxkaXYgY2xhc3M9XCJjYXJkLWhlYWRlciBweC01IGJvcmRlci0wIHB0LTNcIj5cclxuICAgICAgICA8aDMgY2xhc3M9XCJjYXJkLXRpdGxlIGFsaWduLWl0ZW1zLXN0YXJ0IGZsZXgtY29sdW1uXCI+XHJcbiAgICAgICAgICAgIDxzcGFuIGNsYXNzPVwidGl0bGUtdGV4dCBtYi0yXCI+U3RvcmUgT3BlcmF0aW9uc1xyXG4gICAgICAgICAgICAgICAgPHNwYW4gPiBcclxuICAgICAgICAgICAgICAgIDxzdmcgbmdiVG9vbHRpcD1cIkF2ZyBzdG9yZSBvcGVuICYgY2xvc2UgdGltZSBhY3Jvc3MgdGhlIHNlbGVjdGVkIHN0b3Jlc1wiIHBsYWNlbWVudD1cInRvcFwiIHhtbG5zPVwiaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmdcIiB3aWR0aD1cIjE2XCJcclxuICAgICAgICAgICAgICAgICAgICBoZWlnaHQ9XCIxNlwiIHZpZXdCb3g9XCIwIDAgMTYgMTZcIiBmaWxsPVwibm9uZVwiID5cclxuICAgICAgICAgICAgICAgICAgICA8ZyBjbGlwLXBhdGg9XCJ1cmwoI2NsaXAwXzE0MzJfODAwMzUpXCI+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgIDxwYXRoXHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICBkPVwiTTguMDAwNjUgMTAuNjY2NlY3Ljk5OTkyTTguMDAwNjUgNS4zMzMyNUg4LjAwNzMyTTE0LjY2NzMgNy45OTk5MkMxNC42NjczIDExLjY4MTggMTEuNjgyNiAxNC42NjY2IDguMDAwNjUgMTQuNjY2NkM0LjMxODc1IDE0LjY2NjYgMS4zMzM5OCAxMS42ODE4IDEuMzMzOTggNy45OTk5MkMxLjMzMzk4IDQuMzE4MDIgNC4zMTg3NSAxLjMzMzI1IDguMDAwNjUgMS4zMzMyNUMxMS42ODI2IDEuMzMzMjUgMTQuNjY3MyA0LjMxODAyIDE0LjY2NzMgNy45OTk5MlpcIlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgc3Ryb2tlPVwiIzY2NzA4NVwiIHN0cm9rZS13aWR0aD1cIjJcIiBzdHJva2UtbGluZWNhcD1cInJvdW5kXCIgc3Ryb2tlLWxpbmVqb2luPVwicm91bmRcIiAvPlxyXG4gICAgICAgICAgICAgICAgICAgIDwvZz5cclxuICAgICAgICAgICAgICAgICAgICA8ZGVmcz5cclxuICAgICAgICAgICAgICAgICAgICAgICAgPGNsaXBQYXRoIGlkPVwiY2xpcDBfMTQzMl84MDAzNVwiPlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgPHJlY3Qgd2lkdGg9XCIxNlwiIGhlaWdodD1cIjE2XCIgZmlsbD1cIndoaXRlXCIgLz5cclxuICAgICAgICAgICAgICAgICAgICAgICAgPC9jbGlwUGF0aD5cclxuICAgICAgICAgICAgICAgICAgICA8L2RlZnM+XHJcbiAgICAgICAgICAgICAgICA8L3N2Zz5cclxuICAgICAgICAgICAgICAgIDwvc3Bhbj5cclxuICAgICAgICAgICAgPC9zcGFuPlxyXG4gICAgICAgICAgICA8c3BhbiBjbGFzcz1cInRleHQtc3ViIG1iLTJcIj57e2hlYWRlckRhdGE/LmRhdGU/LnN0YXJ0RGF0ZSB8IGRhdGU6J2RkIE1NTSwgeXl5eSd9fSDigJMge3toZWFkZXJEYXRhPy5kYXRlPy5lbmREYXRlIHwgZGF0ZTonZGQgTU1NLCB5eXl5J319PC9zcGFuPlxyXG4gICAgICAgIDwvaDM+XHJcbiAgICAgICAgPGRpdiBjbGFzcz1cImNhcmQtdG9vbGJhclwiPlxyXG4gICAgICAgICAgICA8IS0tIDxidXR0b24gIHR5cGU9XCJidXR0b25cIlxyXG4gICAgICAgICAgICBjbGFzcz1cImJ0biBidG4tbGlnaHQtcHJpbWFyeTEgcm91bmRlZC0zIHRleHQtbm93cmFwIGJvcmRlci12YWxcIj5cclxuICAgICAgICAgICAgPHNwYW4gY2xhc3M9XCJtcy0yXCI+R28gdG8gVHJheDwvc3Bhbj5cclxuICAgICAgICA8L2J1dHRvbj4gLS0+XHJcbiAgICAgICAgPC9kaXY+XHJcbiAgICA8L2Rpdj5cclxuICAgIDxkaXYgY2xhc3M9XCJjYXJkLWJvZHlcIj5cclxuICAgICAgICA8ZGl2IGNsYXNzPVwicm93XCI+XHJcbiAgICAgICAgICAgIDxkaXYgY2xhc3M9XCJjb2wtbWQtMyB0ZXh0LWNlbnRlciBtYi0zXCI+XHJcbiAgICAgICAgICAgICAgICA8ZGl2IGNsYXNzPVwicm93XCI+XHJcbiAgICAgICAgICAgICAgICAgICAgPGRpdiBjbGFzcz1cImNvbC1tZC0xMlwiPjwhLS17e2dldENhcmREYXRhPy5yZXZlbnVlPy52YWx1ZSA/PyAnLS0nfX0gLS0+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgIDxkaXYgY2xhc3M9XCJteS0yXCI+IDxzcGFuIGNsYXNzPVwibGVmdC1jYXJkLWNvdW50LXRpdGxlXCI+e3tzdG9yZU9wZXJhdGlvbkRhdGE/Lm92ZXJhbGw/LmF2Z09wZW5UaW1lXHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgP3N0b3JlT3BlcmF0aW9uRGF0YT8ub3ZlcmFsbD8uYXZnT3BlblRpbWU6Jy0tJyB9fTwvc3Bhbj48L2Rpdj5cclxuICAgICAgICAgICAgICAgICAgICAgICAgPGRpdiBjbGFzcz1cIlwiPjxzcGFuIGNsYXNzPVwic3ViLWhlYWRlclwiPkF2Zy4gT3BlbiBUaW1lPC9zcGFuPjwvZGl2PlxyXG4gICAgICAgICAgICAgICAgICAgIDwvZGl2PlxyXG4gICAgXHJcbiAgICAgICAgICAgICAgICA8L2Rpdj5cclxuICAgICAgICAgICAgPC9kaXY+XHJcbiAgICAgICAgICAgIDxkaXYgY2xhc3M9XCJjb2wtbWQtNiBtdC01IG1iLTNcIj5cclxuICAgICAgICAgICAgICAgIDxzdmcgd2lkdGg9XCIzMjZcIiBoZWlnaHQ9XCIyXCIgdmlld0JveD1cIjAgMCAzMjYgMlwiIGZpbGw9XCJub25lXCIgeG1sbnM9XCJodHRwOi8vd3d3LnczLm9yZy8yMDAwL3N2Z1wiPlxyXG4gICAgICAgICAgICAgICAgICAgIDxsaW5lIHkxPVwiMC43NVwiIHgyPVwiMzU2XCIgeTI9XCIwLjc1XCIgc3Ryb2tlPVwiI0QwRDVERFwiIC8+XHJcbiAgICAgICAgICAgICAgICA8L3N2Zz5cclxuICAgICAgICAgICAgPC9kaXY+XHJcbiAgICAgICAgICAgIDxkaXYgY2xhc3M9XCJjb2wtbWQtMyB0ZXh0LWNlbnRlciBtYi0zXCI+XHJcbiAgICAgICAgICAgICAgICA8ZGl2IGNsYXNzPVwicm93XCI+XHJcbiAgICAgICAgICAgICAgICAgICAgPGRpdiBjbGFzcz1cImNvbC1tZC0xMlwiPjwhLS17e2dldENhcmREYXRhPy5yZXZlbnVlPy52YWx1ZSA/PyAnLS0nfX0gLS0+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgIDxkaXYgY2xhc3M9XCJteS0yXCI+IDxzcGFuIGNsYXNzPVwibGVmdC1jYXJkLWNvdW50LXRpdGxlXCI+e3tzdG9yZU9wZXJhdGlvbkRhdGE/Lm92ZXJhbGw/LmF2Z0Nsb3NlVGltZVxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgID9zdG9yZU9wZXJhdGlvbkRhdGE/Lm92ZXJhbGw/LmF2Z0Nsb3NlVGltZTonLS0nIH19PC9zcGFuPjwvZGl2PlxyXG4gICAgICAgICAgICAgICAgICAgICAgICA8ZGl2IGNsYXNzPVwiXCI+PHNwYW4gY2xhc3M9XCJzdWItaGVhZGVyXCI+QXZnLiBDbG9zZSBUaW1lPC9zcGFuPjwvZGl2PlxyXG4gICAgICAgICAgICAgICAgICAgIDwvZGl2PlxyXG4gICAgXHJcbiAgICAgICAgICAgICAgICA8L2Rpdj5cclxuICAgICAgICAgICAgPC9kaXY+XHJcbiAgICAgICAgICAgIDxkaXYgY2xhc3M9XCJjb2wtbWQtNiBtdC0zXCI+XHJcbiAgICAgICAgICAgICAgICA8ZGl2IGNsYXNzPVwiY2FyZCBjYXJkLWJvcmRlciBoLTEwMFwiPlxyXG4gICAgICAgICAgICAgICAgICAgIDxkaXYgY2xhc3M9XCJjYXJkLWhlYWRlciBlbGxpcHNlMSBib3JkZXItMCBweC0zXCI+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgIDxoMyBjbGFzcz1cImNhcmQtdGl0bGUgYWxpZ24taXRlbXMtc3RhcnQgZmxleC1jb2x1bW4gXCI+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICA8c3BhbiBjbGFzcz1cImxlZnQtY2FyZC1jb3VudC1oZWFkZXIxIHRleHQtZGVjb3JhdGlvbi11bmRlcmxpbmUgY3Vyc29yLXBvaW50ZXJcIiAgKGNsaWNrKT1cInN0b3JlVmlldyhzdG9yZU9wZXJhdGlvbkRhdGE/LnRvcExhdGVPcGVuPy5zdG9yZUlkKVwiPnt7c3RvcmVPcGVyYXRpb25EYXRhPy50b3BMYXRlT3Blbj8uc3RvcmVOYW1lID9cclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBzdG9yZU9wZXJhdGlvbkRhdGE/LnRvcExhdGVPcGVuPy5zdG9yZU5hbWUgOictLSd9fTwvc3Bhbj5cclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxzcGFuIGNsYXNzPVwic3ViLWhlYWRlciBtdC0yXCI+VG9wIExhdGUgT3Blbjwvc3Bhbj5cclxuICAgICAgICAgICAgICAgICAgICAgICAgPC9oMz5cclxuICAgICAgICAgICAgICAgICAgICA8L2Rpdj5cclxuICAgICAgICAgICAgICAgICAgICA8ZGl2IGNsYXNzPVwiY2FyZC1ib2R5IHAtMCBoLTc1cHggbXQtMyBteC0zXCI+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgIDxkaXYgY2xhc3M9XCJyb3dcIj5cclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxkaXYgY2xhc3M9XCJjb2wtbWQtMTJcIj48IS0te3tnZXRDYXJkRGF0YT8ucmV2ZW51ZT8udmFsdWUgPz8gJy0tJ319IC0tPlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxkaXYgY2xhc3M9XCJteS0xXCI+IDxzcGFuXHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBjbGFzcz1cImxlZnQtY2FyZC1jb3VudC1oZWFkZXIxXCI+e3tzdG9yZU9wZXJhdGlvbkRhdGE/LnRvcExhdGVPcGVuPy5hdmdTdG9yZU9wZW5UaW1lXHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA/c3RvcmVPcGVyYXRpb25EYXRhPy50b3BMYXRlT3Blbj8uYXZnU3RvcmVPcGVuVGltZTonLS0nIH19PC9zcGFuPjwvZGl2PlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxzcGFuIGNsYXNzPVwic3ViLWhlYWRlclwiPkF2Zy4gU3RvcmUgT3BlbmluZyBUaW1lPC9zcGFuPlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgPC9kaXY+XHJcbiAgICBcclxuICAgICAgICAgICAgICAgICAgICAgICAgPC9kaXY+XHJcbiAgICAgICAgICAgICAgICAgICAgPC9kaXY+XHJcbiAgICBcclxuICAgICAgICAgICAgICAgIDwvZGl2PlxyXG4gICAgICAgICAgICA8L2Rpdj5cclxuICAgICAgICAgICAgPGRpdiBjbGFzcz1cImNvbC1tZC02IG10LTNcIj5cclxuICAgICAgICAgICAgICAgIDxkaXYgY2xhc3M9XCJjYXJkIGNhcmQtYm9yZGVyIGgtMTAwXCI+XHJcbiAgICAgICAgICAgICAgICAgICAgPGRpdiBjbGFzcz1cImNhcmQtaGVhZGVyIGVsbGlwc2UxIGJvcmRlci0wIHB4LTNcIj5cclxuICAgICAgICAgICAgICAgICAgICAgICAgPGgzIGNsYXNzPVwiY2FyZC10aXRsZSBhbGlnbi1pdGVtcy1zdGFydCBmbGV4LWNvbHVtbiBcIj5cclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxzcGFuIGNsYXNzPVwibGVmdC1jYXJkLWNvdW50LWhlYWRlcjEgdGV4dC1kZWNvcmF0aW9uLXVuZGVybGluZSBjdXJzb3ItcG9pbnRlclwiIChjbGljayk9XCJzdG9yZVZpZXcoc3RvcmVPcGVyYXRpb25EYXRhPy50b3BFYXJseUNsb3NlPy5zdG9yZUlkKVwiPnt7c3RvcmVPcGVyYXRpb25EYXRhPy50b3BFYXJseUNsb3NlPy5zdG9yZU5hbWUgP1xyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHN0b3JlT3BlcmF0aW9uRGF0YT8udG9wRWFybHlDbG9zZT8uc3RvcmVOYW1lIDonLS0nfX08L3NwYW4+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICA8c3BhbiBjbGFzcz1cInN1Yi1oZWFkZXIgbXQtMlwiPlRvcCBFYXJseSBDbG9zZTwvc3Bhbj5cclxuICAgICAgICAgICAgICAgICAgICAgICAgPC9oMz5cclxuICAgICAgICAgICAgICAgICAgICA8L2Rpdj5cclxuICAgICAgICAgICAgICAgICAgICA8ZGl2IGNsYXNzPVwiY2FyZC1ib2R5IHAtMCBoLTc1cHggbXQtMyBteC0zXCI+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgIDxkaXYgY2xhc3M9XCJyb3dcIj5cclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxkaXYgY2xhc3M9XCJjb2wtbWQtMTJcIj48IS0te3tnZXRDYXJkRGF0YT8ucmV2ZW51ZT8udmFsdWUgPz8gJy0tJ319IC0tPlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxkaXYgY2xhc3M9XCJteS0xXCI+IDxzcGFuXHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBjbGFzcz1cImxlZnQtY2FyZC1jb3VudC1oZWFkZXIxXCI+e3tzdG9yZU9wZXJhdGlvbkRhdGE/LnRvcEVhcmx5Q2xvc2U/LmF2Z1N0b3JlQ2xvc2VUaW1lXHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA/c3RvcmVPcGVyYXRpb25EYXRhPy50b3BFYXJseUNsb3NlPy5hdmdTdG9yZUNsb3NlVGltZTonLS0nIH19PC9zcGFuPjwvZGl2PlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxzcGFuIGNsYXNzPVwic3ViLWhlYWRlclwiPkF2Zy4gU3RvcmUgQ2xvc2luZyBUaW1lPC9zcGFuPlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgPC9kaXY+XHJcbiAgICBcclxuICAgICAgICAgICAgICAgICAgICAgICAgPC9kaXY+XHJcbiAgICAgICAgICAgICAgICAgICAgPC9kaXY+XHJcbiAgICAgICAgICAgICAgICA8L2Rpdj5cclxuICAgICAgICAgICAgPC9kaXY+XHJcbiAgICAgICAgPC9kaXY+XHJcbiAgICA8L2Rpdj5cclxuICAgICAgICA8L2Rpdj5cclxuICAgIDwvZGl2PlxyXG4gICAgPGRpdiAqbmdJZj1cInN0b3JlSWRhcnJheVswXSAhPT0nNDU5LTInXCIgY2xhc3M9XCJjb2wtbWQtMTIgbXQtM1wiPlxyXG4gICAgICAgIDxkaXYgY2xhc3M9XCJjYXJkIG1iLTVcIj5cclxuICAgICAgICAgICAgPGRpdiBjbGFzcz1cImNhcmQtaGVhZGVyIGJvcmRlci0wIHB0LTNcIj5cclxuICAgICAgICAgICAgICAgIDxoMyBjbGFzcz1cImNhcmQtdGl0bGUgYWxpZ24taXRlbXMtc3RhcnQgZmxleC1jb2x1bW5cIj5cclxuICAgICAgICAgICAgICAgICAgICA8c3BhbiBjbGFzcz1cInRpdGxlLXRleHQgbWItMlwiPlN1bW1hcnkgVGFibGU8L3NwYW4+XHJcbiAgICAgICAgICAgICAgICAgICAgPHNwYW4gY2xhc3M9XCJ0ZXh0LXN1YiBtYi0yXCI+e3toZWFkZXJEYXRhPy5kYXRlPy5zdGFydERhdGUgfCBkYXRlOidkZCBNTU0sIHl5eXknfX0g4oCTIHt7aGVhZGVyRGF0YT8uZGF0ZT8uZW5kRGF0ZSB8IGRhdGU6J2RkIE1NTSwgeXl5eSd9fTwvc3Bhbj5cclxuICAgICAgICAgICAgICAgIDwvaDM+XHJcbiAgICAgICAgICAgICAgICA8ZGl2IGNsYXNzPVwiY2FyZC10b29sYmFyXCI+XHJcbiAgICAgICAgICAgICAgICAgICAgPGRpdiBjbGFzcz1cImQtZmxleFwiPlxyXG4gICAgICAgICAgICAgICAgICAgICAgICA8ZGl2IGNsYXNzPVwiZC1mbGV4IGFsaWduLWl0ZW1zLWNlbnRlciBwb3NpdGlvbi1yZWxhdGl2ZSBteS0xXCI+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICA8c3BhbiBjbGFzcz1cInN2Zy1pY29uIHN2Zy1pY29uLTEgcG9zaXRpb24tYWJzb2x1dGUgbXMtM1wiPlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxzdmcgeG1sbnM9XCJodHRwOi8vd3d3LnczLm9yZy8yMDAwL3N2Z1wiIHdpZHRoPVwiMjRcIiBoZWlnaHQ9XCIyNFwiIHZpZXdCb3g9XCIwIDAgMjQgMjRcIlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBmaWxsPVwibm9uZVwiPlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8cmVjdCBvcGFjaXR5PVwiMC41XCIgeD1cIjE3LjAzNjVcIiB5PVwiMTUuMTIyM1wiIHdpZHRoPVwiOC4xNTU0NlwiIGhlaWdodD1cIjJcIiByeD1cIjFcIlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgdHJhbnNmb3JtPVwicm90YXRlKDQ1IDE3LjAzNjUgMTUuMTIyMylcIiBmaWxsPVwiY3VycmVudENvbG9yXCI+PC9yZWN0PlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8cGF0aFxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgZD1cIk0xMSAxOUM2LjU1NTU2IDE5IDMgMTUuNDQ0NCAzIDExQzMgNi41NTU1NiA2LjU1NTU2IDMgMTEgM0MxNS40NDQ0IDMgMTkgNi41NTU1NiAxOSAxMUMxOSAxNS40NDQ0IDE1LjQ0NDQgMTkgMTEgMTlaTTExIDVDNy41MzMzMyA1IDUgNy41MzMzMyA1IDExQzUgMTQuNDY2NyA3LjUzMzMzIDE3IDExIDE3QzE0LjQ2NjcgMTcgMTcgMTQuNDY2NyAxNyAxMUMxNyA3LjUzMzMzIDE0LjQ2NjcgNSAxMSA1WlwiXHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBmaWxsPVwiY3VycmVudENvbG9yXCI+PC9wYXRoPlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvc3ZnPlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgPC9zcGFuPlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgPGlucHV0IChjaGFuZ2UpPVwic2VhcmNoRGF0YSgpXCIgWyhuZ01vZGVsKV09XCJzZWFyY2hWYWx1ZVwiIHR5cGU9XCJ0ZXh0XCIgY2xhc3M9XCJmb3JtLWNvbnRyb2wgcHMtMTQgbWUtMlwiIGF1dG9jb21wbGV0ZT1cIm9mZlwiIHBsYWNlaG9sZGVyPVwiU2VhcmNoXCIgLz5cclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwhLS0gZmlsdGVyIFN0YXJ0IC0tPlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgPCEtLSA8bGliLWZpbHRlcnMgW2RhdGFPYmplY3RdPVwiZGF0YU9iamVjdFwiIChhcHBsaWVkRmlsdGVycyk9XCJhcHBseUZpbHRlcnMoJGV2ZW50KVwiPjwvbGliLWZpbHRlcnM+IC0tPlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgPCEtLSBmaWx0ZXIgRW5kIC0tPlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgPCEtLSBTdW0gQnV0dG9uIC0tPlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgPHNlY3Rpb24gKm5nSWY9XCIoc3RvcmVJZGFycmF5Py5sZW5ndGggPiAxICYmIGhlYWRlckRhdGE/LmRhdGU/LnN0YXJ0RGF0ZSAhPT0gaGVhZGVyRGF0YT8uZGF0ZT8uZW5kRGF0ZSkgJiYgIW5vRGF0YSAmJiAhbG9hZGluZ1wiPlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgPGJ1dHRvbiB0eXBlPVwiYnV0dG9uXCIgKGNsaWNrKT1cIm9uVmFsdWVUeXBlKCdzdW0nKVwiXHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGNsYXNzPVwiYnRuIGJ0bi1kZWZhdWx0IG14LTIgYnRuLW91dGxpbmUgYnRuLW91dGxpbmUtZGVmYXVsdCByb3VuZGVkLTMgdGV4dC1ub3dyYXAgYm9yZGVyLXZhbFwiXHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIFtuZ0NsYXNzXT1cInsnYnRuLWxpZ2h0IGJ0bi1wcmltYXJ5IHRleHQtd2hpdGUnOiB0eXBlVmFsdWUgPT09ICdzdW0nfVwiPlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8c3ZnIHhtbG5zPVwiaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmdcIiB3aWR0aD1cIjIwXCIgaGVpZ2h0PVwiMjBcIiB2aWV3Qm94PVwiMCAwIDIwIDIwXCIgZmlsbD1cIm5vbmVcIlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIFtuZ1N0eWxlXT1cInsnc3Ryb2tlJzogdHlwZVZhbHVlID09PSAnc3VtJyA/ICcjRkZGRkZGJyA6ICcjMzQ0MDU0J31cIj5cclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8cGF0aCBkPVwiTTkuOTk5MzUgNC4xNjY3NVYxNS44MzM0TTQuMTY2MDIgMTAuMDAwMUgxNS44MzI3XCIgc3Ryb2tlLXdpZHRoPVwiMS42N1wiIHN0cm9rZS1saW5lY2FwPVwicm91bmRcIlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgc3Ryb2tlLWxpbmVqb2luPVwicm91bmRcIiAvPlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8L3N2Zz5cclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPHNwYW4gY2xhc3M9XCJtcy0yXCIgW25nQ2xhc3NdPVwieyd0ZXh0LXdoaXRlJzogdHlwZVZhbHVlID09PSAnc3VtJ31cIj5TdW08L3NwYW4+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICA8L2J1dHRvbj5cclxuICAgICAgICAgICAgICAgICAgICAgICAgICA8L3NlY3Rpb24+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgXHJcbjwhLS0gQXZlcmFnZSBCdXR0b24gLS0+XHJcbiA8c2VjdGlvbiAqbmdJZj1cIihzdG9yZUlkYXJyYXk/Lmxlbmd0aCA+IDEgJiYgaGVhZGVyRGF0YT8uZGF0ZT8uc3RhcnREYXRlICE9PSBoZWFkZXJEYXRhPy5kYXRlPy5lbmREYXRlKSBcclxuICYmICFub0RhdGEgJiYgIWxvYWRpbmdcIj5cclxuPGJ1dHRvbiB0eXBlPVwiYnV0dG9uXCIgKGNsaWNrKT1cIm9uVmFsdWVUeXBlKCdhdmVyYWdlJylcIlxyXG5jbGFzcz1cImJ0biBidG4tZGVmYXVsdCBteC0yIGJ0bi1vdXRsaW5lIGJ0bi1vdXRsaW5lLWRlZmF1bHQgcm91bmRlZC0zIHRleHQtbm93cmFwIGJvcmRlci12YWxcIlxyXG5bbmdDbGFzc109XCJ7J2J0bi1saWdodCBidG4tcHJpbWFyeSB0ZXh0LXdoaXRlJzogdHlwZVZhbHVlID09PSAnYXZlcmFnZSd9XCI+XHJcbjxzdmcgd2lkdGg9XCIyMFwiIGhlaWdodD1cIjIwXCIgdmlld0JveD1cIjAgMCAyMCAyMFwiIGZpbGw9XCJub25lXCIgeG1sbnM9XCJodHRwOi8vd3d3LnczLm9yZy8yMDAwL3N2Z1wiXHJcbiAgW25nU3R5bGVdPVwieydzdHJva2UnOiB0eXBlVmFsdWUgPT09ICdhdmVyYWdlJyA/ICcjRkZGRkZGJyA6ICcjMTAxODI4J31cIj5cclxuICA8cGF0aCBkPVwiTTE3LjUgMTcuNUg4LjMzMzMzQzUuNTgzMzMgMTcuNSA0LjIwODMzIDE3LjUgMy4zNTQxNyAxNi42NDU4QzIuNSAxNS43OTE3IDIuNSAxNC40MTY3IDIuNSAxMS42NjY3VjIuNU01IDEwSDUuMDA3NU03LjQ5OTE3IDEwSDcuNTA1ODNNOS45OTc1IDEwSDEwLjAwNDJNMTIuNDk1OCAxMEgxMi41MDMzTTE0Ljk5NDIgMTBIMTUuMDAxN00xNy40OTI1IDEwSDE3LjVcIlxyXG4gICAgc3Ryb2tlLXdpZHRoPVwiMS41XCIgc3Ryb2tlLWxpbmVjYXA9XCJyb3VuZFwiIHN0cm9rZS1saW5lam9pbj1cInJvdW5kXCIgLz5cclxuICA8cGF0aFxyXG4gICAgZD1cIk01IDUuODMzNDFDNS41NjA4MyA0Ljg5ODQxIDYuMzIyNSA0LjE2Njc1IDcuNDk0MTcgNC4xNjY3NUMxMi40NDY3IDQuMTY2NzUgOS42NjI1IDE0LjE2NjcgMTQuOTg1IDE0LjE2NjdDMTYuMTY1IDE0LjE2NjcgMTYuOTIxNyAxMy40MzAxIDE3LjUgMTIuNTAwMVwiXHJcbiAgICBzdHJva2Utd2lkdGg9XCIxLjVcIiBzdHJva2UtbGluZWNhcD1cInJvdW5kXCIgc3Ryb2tlLWxpbmVqb2luPVwicm91bmRcIiAvPlxyXG48L3N2Zz5cclxuPHNwYW4gY2xhc3M9XCJtcy0yXCIgW25nQ2xhc3NdPVwieyd0ZXh0LXdoaXRlJzogdHlwZVZhbHVlID09PSAnYXZlcmFnZSd9XCI+QXZlcmFnZTwvc3Bhbj5cclxuPC9idXR0b24+XHJcbjwvc2VjdGlvbj5cclxuICAgICAgICAgICAgICAgICAgICAgICAgICBcclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxidXR0b24gKm5nSWY9XCIhbm9EYXRhICYmICFsb2FkaW5nXCIgdHlwZT1cImJ1dHRvblwiIChjbGljayk9XCJleHBvcnRYTFNYKClcIlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGNsYXNzPVwiYnRuIGJ0bi1kZWZhdWx0IG14LTIgYnRuLW91dGxpbmUgYnRuLW91dGxpbmUtZGVmYXVsdCByb3VuZGVkLTMgdGV4dC1ub3dyYXAgYm9yZGVyLXZhbFwiPjxzdmdcclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgeG1sbnM9XCJodHRwOi8vd3d3LnczLm9yZy8yMDAwL3N2Z1wiIHdpZHRoPVwiMjBcIiBoZWlnaHQ9XCIyMFwiIHZpZXdCb3g9XCIwIDAgMjAgMjBcIlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBmaWxsPVwibm9uZVwiPlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8cGF0aFxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgZD1cIk0xNy41IDEyLjVWMTUuODMzM0MxNy41IDE2LjI3NTQgMTcuMzI0NCAxNi42OTkzIDE3LjAxMTggMTcuMDExOEMxNi42OTkzIDE3LjMyNDQgMTYuMjc1NCAxNy41IDE1LjgzMzMgMTcuNUg0LjE2NjY3QzMuNzI0NjQgMTcuNSAzLjMwMDcyIDE3LjMyNDQgMi45ODgxNiAxNy4wMTE4QzIuNjc1NTkgMTYuNjk5MyAyLjUgMTYuMjc1NCAyLjUgMTUuODMzM1YxMi41TTE0LjE2NjcgNi42NjY2N0wxMCAyLjVNMTAgMi41TDUuODMzMzMgNi42NjY2N00xMCAyLjVWMTIuNVwiXHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBzdHJva2U9XCIjMzQ0MDU0XCIgc3Ryb2tlLXdpZHRoPVwiMS42N1wiIHN0cm9rZS1saW5lY2FwPVwicm91bmRcIlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgc3Ryb2tlLWxpbmVqb2luPVwicm91bmRcIiAvPlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvc3ZnPjxzcGFuIGNsYXNzPVwibXMtMlwiPkV4cG9ydDwvc3Bhbj4gPC9idXR0b24+XHJcbiAgICBcclxuICAgICAgICAgICAgICAgICAgICAgICAgPC9kaXY+XHJcbiAgICAgICAgICAgICAgICAgICAgPC9kaXY+XHJcbiAgICAgICAgICAgICAgICA8L2Rpdj5cclxuICAgICAgICAgICAgPC9kaXY+XHJcbiAgICAgICAgICAgIDxkaXYgKm5nSWY9XCJsb2FkaW5nXCIgY2xhc3M9XCJyb3cgbG9hZGVyICBkLWZsZXgganVzdGlmeS1jb250ZW50LWNlbnRlciBhbGlnbi1pdGVtcy1jZW50ZXJcIj5cclxuICAgICAgICAgICAgICAgIDxkaXYgY2xhc3M9XCJzaGltbWVyXCI+XHJcbiAgICAgICAgICAgICAgICAgICAgPGRpdiBjbGFzcz1cIndyYXBwZXJcIj5cclxuICAgICAgICAgICAgICAgICAgICAgICAgPGRpdiBjbGFzcz1cInN0cm9rZSBhbmltYXRlIHRpdGxlXCI+PC9kaXY+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgIDxkaXYgY2xhc3M9XCJzdHJva2UgYW5pbWF0ZSBsaW5rXCI+PC9kaXY+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgIDxkaXYgY2xhc3M9XCJzdHJva2UgYW5pbWF0ZSBkZXNjcmlwdGlvblwiPjwvZGl2PlxyXG4gICAgICAgICAgICAgICAgICAgIDwvZGl2PlxyXG4gICAgICAgICAgICAgICAgPC9kaXY+XHJcbiAgICAgICAgICAgICAgICA8ZGl2IGNsYXNzPVwic2hpbW1lclwiPlxyXG4gICAgICAgICAgICAgICAgICAgIDxkaXYgY2xhc3M9XCJ3cmFwcGVyXCI+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgIDxkaXYgY2xhc3M9XCJzdHJva2UgYW5pbWF0ZSB0aXRsZVwiPjwvZGl2PlxyXG4gICAgICAgICAgICAgICAgICAgICAgICA8ZGl2IGNsYXNzPVwic3Ryb2tlIGFuaW1hdGUgbGlua1wiPjwvZGl2PlxyXG4gICAgICAgICAgICAgICAgICAgICAgICA8ZGl2IGNsYXNzPVwic3Ryb2tlIGFuaW1hdGUgZGVzY3JpcHRpb25cIj48L2Rpdj5cclxuICAgICAgICAgICAgICAgICAgICA8L2Rpdj5cclxuICAgICAgICAgICAgICAgIDwvZGl2PlxyXG4gICAgICAgICAgICA8L2Rpdj5cclxuICAgICAgICAgICAgPGRpdiAqbmdJZj1cIm5vRGF0YVwiIGNsYXNzPVwicm93XCI+XHJcbiAgICAgICAgICAgICAgICA8ZGl2IGNsYXNzPVwiY29sLWxnLTEyIG1iLTNcIj5cclxuICAgICAgICAgICAgICAgICAgICA8ZGl2IGNsYXNzPVwiY2FyZC1ib2R5IGQtZmxleCBqdXN0aWZ5LWNvbnRlbnQtY2VudGVyIGFsaWduLWl0ZW1zLWNlbnRlciBmbGV4LWNvbHVtblwiPlxyXG4gICAgICAgICAgICAgICAgICAgICAgICA8aW1nIGNsYXNzPVwiaW1nLW5vZGF0YS10YWJsZVwiIHNyYz1cIi4vYXNzZXRzL3RhbmdvL0ljb25zL05vZGF0YTEuc3ZnXCIgYWx0PVwiXCI+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgIDxkaXYgY2xhc3M9XCJub2RhdGEtdGl0bGVcIj5ObyBkYXRhIGZvdW5kPC9kaXY+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgIDxkaXYgY2xhc3M9XCJub2RhdGEtc3ViXCI+VGhlcmUgaXMgbm8gcmVzdWx0IGZvciB0aGlzIHN1bW1hcnkgdGFibGU8L2Rpdj5cclxuICAgICAgICAgICAgICAgICAgICA8L2Rpdj5cclxuICAgICAgICAgICAgICAgIDwvZGl2PlxyXG4gICAgICAgICAgICA8L2Rpdj5cclxuICAgICAgICAgICAgPGRpdiAqbmdJZj1cIiFub0RhdGEgJiYgIWxvYWRpbmdcIiBjYWxzcz1cImNhcmQtYm9keVwiPlxyXG4gICAgICAgICAgICAgICAgPGRpdiBjbGFzcz1cInRhYmxlLXJlc3BvbnNpdmVcIj5cclxuICAgICAgICAgICAgICAgICAgICA8dGFibGUgY2xhc3M9XCJ3LTEwMCB0YWJsZSBib3R0b20tYm9yZGVyIHRleHQtbm93cmFwXCI+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgIDx0aGVhZD5cclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIDx0cj5cclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8dGggY2xhc3M9XCJjdXJzb3ItcG9pbnRlclwiPlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8c3BhbiBjbGFzcz1cImN1cnNvci1wb2ludGVyXCIgKGNsaWNrKT1cIm9uU29ydCgnc3RvcmVOYW1lJylcIj5TdG9yZSBOYW1lIDxzdmcgXHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBbbmdDbGFzc109XCJzb3J0ZWRDb2x1bW4gPT09ICdzdG9yZU5hbWUnICYmIHNvcnREaXJlY3Rpb24gPT09IDEgPyAncm90YXRlJyA6ICcnXCIgd2lkdGg9XCIxNlwiIGhlaWdodD1cIjE2XCIgdmlld0JveD1cIjAgMCAxNiAxNlwiXHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgZmlsbD1cIm5vbmVcIj5cclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8cGF0aFxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBkPVwiTTguMDAwMTYgMy4zMzMzN1YxMi42NjY3TTguMDAwMTYgMTIuNjY2N0wxMi42NjY4IDguMDAwMDRNOC4wMDAxNiAxMi42NjY3TDMuMzMzNSA4LjAwMDA0XCJcclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgW2F0dHIuc3Ryb2tlXT1cInNvcnRlZENvbHVtbiA9PT0gJ3N0b3JlTmFtZScgPyAnIzAwQTNGRicgOiAnIzY2NzA4NSdcIlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBzdHJva2Utd2lkdGg9XCIxLjMzMzMzXCIgc3Ryb2tlLWxpbmVjYXA9XCJyb3VuZFwiIHN0cm9rZS1saW5lam9pbj1cInJvdW5kXCIgLz5cclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvc3ZnPjwvc3Bhbj5cclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8L3RoPlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDx0aCBjbGFzcz1cImN1cnNvci1wb2ludGVyXCI+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxzcGFuIGNsYXNzPVwiY3Vyc29yLXBvaW50ZXJcIiAoY2xpY2spPVwib25Tb3J0KCdzdG9yZUlkJylcIj5TdG9yZSBJRCA8c3ZnICBbbmdDbGFzc109XCJzb3J0ZWRDb2x1bW4gPT09ICdzdG9yZUlkJyAmJiBzb3J0RGlyZWN0aW9uID09PSAxID8gJ3JvdGF0ZScgOiAnJ1wiIHdpZHRoPVwiMTZcIiBoZWlnaHQ9XCIxNlwiIHZpZXdCb3g9XCIwIDAgMTYgMTZcIlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGZpbGw9XCJub25lXCI+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPHBhdGhcclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgZD1cIk04LjAwMDE2IDMuMzMzMzdWMTIuNjY2N004LjAwMDE2IDEyLjY2NjdMMTIuNjY2OCA4LjAwMDA0TTguMDAwMTYgMTIuNjY2N0wzLjMzMzUgOC4wMDAwNFwiXHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIFthdHRyLnN0cm9rZV09XCJzb3J0ZWRDb2x1bW4gPT09ICdzdG9yZUlkJyA/ICcjMDBBM0ZGJyA6ICcjNjY3MDg1J1wiXHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHN0cm9rZS13aWR0aD1cIjEuMzMzMzNcIiBzdHJva2UtbGluZWNhcD1cInJvdW5kXCIgc3Ryb2tlLWxpbmVqb2luPVwicm91bmRcIiAvPlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPC9zdmc+PC9zcGFuPlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvdGg+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPHRoICpuZ0lmPVwic3RvcmVJZGFycmF5Py5sZW5ndGggPT09IDFcIiBjbGFzcz1cImN1cnNvci1wb2ludGVyXCI+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxzcGFuIGNsYXNzPVwiY3Vyc29yLXBvaW50ZXJcIiAoY2xpY2spPVwib25Tb3J0KCdkYXRlJylcIj5EYXRlIDxzdmcgW25nQ2xhc3NdPVwic29ydGVkQ29sdW1uID09PSAnZGF0ZScgJiYgc29ydERpcmVjdGlvbiA9PT0gMSA/ICdyb3RhdGUnIDogJydcIiB3aWR0aD1cIjE2XCIgaGVpZ2h0PVwiMTZcIiB2aWV3Qm94PVwiMCAwIDE2IDE2XCJcclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBmaWxsPVwibm9uZVwiPlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxwYXRoXHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGQ9XCJNOC4wMDAxNiAzLjMzMzM3VjEyLjY2NjdNOC4wMDAxNiAxMi42NjY3TDEyLjY2NjggOC4wMDAwNE04LjAwMDE2IDEyLjY2NjdMMy4zMzM1IDguMDAwMDRcIlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBbYXR0ci5zdHJva2VdPVwic29ydGVkQ29sdW1uID09PSAnZGF0ZScgPyAnIzAwQTNGRicgOiAnIzY2NzA4NSdcIlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBzdHJva2Utd2lkdGg9XCIxLjMzMzMzXCIgc3Ryb2tlLWxpbmVjYXA9XCJyb3VuZFwiIHN0cm9rZS1saW5lam9pbj1cInJvdW5kXCIgLz5cclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvc3ZnPjwvc3Bhbj5cclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8L3RoPlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDx0aCBjbGFzcz1cImN1cnNvci1wb2ludGVyXCI+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxzcGFuIGNsYXNzPVwiY3Vyc29yLXBvaW50ZXJcIiAoY2xpY2spPVwib25Tb3J0KCdmb290ZmFsbENvdW50JylcIj5Gb290ZmFsbCA8c3ZnIFtuZ0NsYXNzXT1cInNvcnRlZENvbHVtbiA9PT0gJ2Zvb3RmYWxsQ291bnQnICYmIHNvcnREaXJlY3Rpb24gPT09IDEgPyAncm90YXRlJyA6ICcnXCIgd2lkdGg9XCIxNlwiIGhlaWdodD1cIjE2XCIgdmlld0JveD1cIjAgMCAxNiAxNlwiXHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgZmlsbD1cIm5vbmVcIj5cclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8cGF0aFxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBkPVwiTTguMDAwMTYgMy4zMzMzN1YxMi42NjY3TTguMDAwMTYgMTIuNjY2N0wxMi42NjY4IDguMDAwMDRNOC4wMDAxNiAxMi42NjY3TDMuMzMzNSA4LjAwMDA0XCJcclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgW2F0dHIuc3Ryb2tlXT1cInNvcnRlZENvbHVtbiA9PT0gJ2Zvb3RmYWxsQ291bnQnID8gJyMwMEEzRkYnIDogJyM2NjcwODUnXCJcclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgc3Ryb2tlLXdpZHRoPVwiMS4zMzMzM1wiIHN0cm9rZS1saW5lY2FwPVwicm91bmRcIiBzdHJva2UtbGluZWpvaW49XCJyb3VuZFwiIC8+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8L3N2Zz48L3NwYW4+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPC90aD5cclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8dGggY2xhc3M9XCJjdXJzb3ItcG9pbnRlclwiPlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8c3BhbiBjbGFzcz1cImN1cnNvci1wb2ludGVyXCIgKGNsaWNrKT1cIm9uU29ydCgnYm91bmNlZENvdW50JylcIj57e2hlYWRlckRhdGE/LmNsaWVudCA9PT0nNDUyJz8nTGVzcyB0aGFuICcrIHRoaXMuZmVhdHVyZUNvbmZpZz8uYm91bmNlZExpbWl0LnZhbHVlICsnIG1pbnMnOidCb3VuY2VkJ319IEZvb3RmYWxsPHN2ZyBbbmdDbGFzc109XCJzb3J0ZWRDb2x1bW4gPT09ICdib3VuY2VkQ291bnQnICYmIHNvcnREaXJlY3Rpb24gPT09IDEgPyAncm90YXRlJyA6ICcnXCIgd2lkdGg9XCIxNlwiIGhlaWdodD1cIjE2XCIgdmlld0JveD1cIjAgMCAxNiAxNlwiXHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgZmlsbD1cIm5vbmVcIj5cclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8cGF0aFxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBkPVwiTTguMDAwMTYgMy4zMzMzN1YxMi42NjY3TTguMDAwMTYgMTIuNjY2N0wxMi42NjY4IDguMDAwMDRNOC4wMDAxNiAxMi42NjY3TDMuMzMzNSA4LjAwMDA0XCJcclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgW2F0dHIuc3Ryb2tlXT1cInNvcnRlZENvbHVtbiA9PT0gJ2JvdW5jZWRDb3VudCcgPyAnIzAwQTNGRicgOiAnIzY2NzA4NSdcIlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBzdHJva2Utd2lkdGg9XCIxLjMzMzMzXCIgc3Ryb2tlLWxpbmVjYXA9XCJyb3VuZFwiIHN0cm9rZS1saW5lam9pbj1cInJvdW5kXCIgLz5cclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvc3ZnPjwvc3Bhbj5cclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8L3RoPlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDx0aCBjbGFzcz1cImN1cnNvci1wb2ludGVyXCI+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxzcGFuIGNsYXNzPVwiY3Vyc29yLXBvaW50ZXJcIiAoY2xpY2spPVwib25Tb3J0KCdlbmdhZ2Vyc0NvdW50JylcIj57e2hlYWRlckRhdGE/LmNsaWVudCA9PT0nNDUyJz8gJ01vcmUgdGhhbiAnKyBmZWF0dXJlQ29uZmlnPy5ib3VuY2VkTGltaXQudmFsdWUgKycgbWlucyc6J0VuZ2FnZXJzJ319IDxzdmcgW25nQ2xhc3NdPVwic29ydGVkQ29sdW1uID09PSAnZW5nYWdlcnNDb3VudCcgJiYgc29ydERpcmVjdGlvbiA9PT0gMSA/ICdyb3RhdGUnIDogJydcIiB3aWR0aD1cIjE2XCIgaGVpZ2h0PVwiMTZcIiB2aWV3Qm94PVwiMCAwIDE2IDE2XCJcclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBmaWxsPVwibm9uZVwiPiBcclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8cGF0aFxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBkPVwiTTguMDAwMTYgMy4zMzMzN1YxMi42NjY3TTguMDAwMTYgMTIuNjY2N0wxMi42NjY4IDguMDAwMDRNOC4wMDAxNiAxMi42NjY3TDMuMzMzNSA4LjAwMDA0XCJcclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgW2F0dHIuc3Ryb2tlXT1cInNvcnRlZENvbHVtbiA9PT0gJ2VuZ2FnZXJzQ291bnQnID8gJyMwMEEzRkYnIDogJyM2NjcwODUnXCJcclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgc3Ryb2tlLXdpZHRoPVwiMS4zMzMzM1wiIHN0cm9rZS1saW5lY2FwPVwicm91bmRcIiBzdHJva2UtbGluZWpvaW49XCJyb3VuZFwiIC8+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8L3N2Zz48L3NwYW4+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPC90aD5cclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8dGggY2xhc3M9XCJjdXJzb3ItcG9pbnRlclwiPlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8c3BhbiBjbGFzcz1cImN1cnNvci1wb2ludGVyXCIgKGNsaWNrKT1cIm9uU29ydCgnbWlzc2VkT3Bwb3J0dW5pdHlDb3VudCcpXCI+e3toZWFkZXJEYXRhPy5jbGllbnQgPT09JzQ1Mic/IGZlYXR1cmVDb25maWc/Lm1pc3NlZE9wcG9ydHVuaXR5RnJvbS52YWx1ZSArICcgLSAnICtmZWF0dXJlQ29uZmlnPy5taXNzZWRPcHBvcnR1bml0eVRvLnZhbHVlICsnIG1pbnMnOidNaXNzZWQgT3Bwb3J0dW5pdHknfX08c3ZnIFtuZ0NsYXNzXT1cInNvcnRlZENvbHVtbiA9PT0gJ21pc3NlZE9wcG9ydHVuaXR5Q291bnQnICYmIHNvcnREaXJlY3Rpb24gPT09IDEgPyAncm90YXRlJyA6ICcnXCIgd2lkdGg9XCIxNlwiIGhlaWdodD1cIjE2XCJcclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB2aWV3Qm94PVwiMCAwIDE2IDE2XCIgZmlsbD1cIm5vbmVcIj5cclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8cGF0aFxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBkPVwiTTguMDAwMTYgMy4zMzMzN1YxMi42NjY3TTguMDAwMTYgMTIuNjY2N0wxMi42NjY4IDguMDAwMDRNOC4wMDAxNiAxMi42NjY3TDMuMzMzNSA4LjAwMDA0XCJcclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgW2F0dHIuc3Ryb2tlXT1cInNvcnRlZENvbHVtbiA9PT0gJ21pc3NlZE9wcG9ydHVuaXR5Q291bnQnID8gJyMwMEEzRkYnIDogJyM2NjcwODUnXCJcclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgc3Ryb2tlLXdpZHRoPVwiMS4zMzMzM1wiIHN0cm9rZS1saW5lY2FwPVwicm91bmRcIiBzdHJva2UtbGluZWpvaW49XCJyb3VuZFwiIC8+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8L3N2Zz48L3NwYW4+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPC90aD5cclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8dGggKm5nSWY9XCJoZWFkZXJEYXRhPy5jbGllbnQgIT09JzQ1MidcIiBjbGFzcz1cImN1cnNvci1wb2ludGVyXCI+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxzcGFuIGNsYXNzPVwiY3Vyc29yLXBvaW50ZXJcIiAoY2xpY2spPVwib25Tb3J0KCdwb3RlbnRpYWxCdXllcnNDb3VudCcpXCI+UG90ZW50aWFsIEJ1eWVycyA8c3ZnIFtuZ0NsYXNzXT1cInNvcnRlZENvbHVtbiA9PT0gJ3BvdGVudGlhbEJ1eWVyc0NvdW50JyAmJiBzb3J0RGlyZWN0aW9uID09PSAxID8gJ3JvdGF0ZScgOiAnJ1wiIHdpZHRoPVwiMTZcIiBoZWlnaHQ9XCIxNlwiXHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgdmlld0JveD1cIjAgMCAxNiAxNlwiIGZpbGw9XCJub25lXCI+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPHBhdGhcclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgZD1cIk04LjAwMDE2IDMuMzMzMzdWMTIuNjY2N004LjAwMDE2IDEyLjY2NjdMMTIuNjY2OCA4LjAwMDA0TTguMDAwMTYgMTIuNjY2N0wzLjMzMzUgOC4wMDAwNFwiXHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIFthdHRyLnN0cm9rZV09XCJzb3J0ZWRDb2x1bW4gPT09ICdwb3RlbnRpYWxCdXllcnNDb3VudCcgPyAnIzAwQTNGRicgOiAnIzY2NzA4NSdcIlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBzdHJva2Utd2lkdGg9XCIxLjMzMzMzXCIgc3Ryb2tlLWxpbmVjYXA9XCJyb3VuZFwiIHN0cm9rZS1saW5lam9pbj1cInJvdW5kXCIgLz5cclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvc3ZnPjwvc3Bhbj5cclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8L3RoPlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDx0aCBjbGFzcz1cImN1cnNvci1wb2ludGVyXCI+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxzcGFuIGNsYXNzPVwiY3Vyc29yLXBvaW50ZXJcIiAoY2xpY2spPVwib25Tb3J0KCdjb252ZXJzaW9uUmF0ZScpXCI+e3toZWFkZXJEYXRhPy5jbGllbnQgPT09JzQ1Mic/J01vcmUgdGhhbiAnKyBmZWF0dXJlQ29uZmlnPy5jb252ZXJzaW9uLnZhbHVlICsgJyBtaW5zJzonQ29udmVyc2lvbid9fSBSYXRlIDxzdmcgW25nQ2xhc3NdPVwic29ydGVkQ29sdW1uID09PSAnY29udmVyc2lvblJhdGUnICYmIHNvcnREaXJlY3Rpb24gPT09IDEgPyAncm90YXRlJyA6ICcnXCIgd2lkdGg9XCIxNlwiIGhlaWdodD1cIjE2XCJcclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB2aWV3Qm94PVwiMCAwIDE2IDE2XCIgZmlsbD1cIm5vbmVcIj5cclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8cGF0aFxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBkPVwiTTguMDAwMTYgMy4zMzMzN1YxMi42NjY3TTguMDAwMTYgMTIuNjY2N0wxMi42NjY4IDguMDAwMDRNOC4wMDAxNiAxMi42NjY3TDMuMzMzNSA4LjAwMDA0XCJcclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgW2F0dHIuc3Ryb2tlXT1cInNvcnRlZENvbHVtbiA9PT0gJ2NvbnZlcnNpb25SYXRlJyA/ICcjMDBBM0ZGJyA6ICcjNjY3MDg1J1wiXHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHN0cm9rZS13aWR0aD1cIjEuMzMzMzNcIiBzdHJva2UtbGluZWNhcD1cInJvdW5kXCIgc3Ryb2tlLWxpbmVqb2luPVwicm91bmRcIiAvPlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPC9zdmc+PC9zcGFuPlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvdGg+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPHRoIGNsYXNzPVwiY3Vyc29yLXBvaW50ZXJcIj5cclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPHNwYW4gY2xhc3M9XCJjdXJzb3ItcG9pbnRlclwiIChjbGljayk9XCJvblNvcnQoJ05PQkNvdW50JylcIj5OT0IgQ291bnQgPHN2ZyBbbmdDbGFzc109XCJzb3J0ZWRDb2x1bW4gPT09ICdOT0JDb3VudCcgJiYgc29ydERpcmVjdGlvbiA9PT0gMSA/ICdyb3RhdGUnIDogJydcIiB3aWR0aD1cIjE2XCIgaGVpZ2h0PVwiMTZcIlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHZpZXdCb3g9XCIwIDAgMTYgMTZcIiBmaWxsPVwibm9uZVwiPlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxwYXRoXHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGQ9XCJNOC4wMDAxNiAzLjMzMzM3VjEyLjY2NjdNOC4wMDAxNiAxMi42NjY3TDEyLjY2NjggOC4wMDAwNE04LjAwMDE2IDEyLjY2NjdMMy4zMzM1IDguMDAwMDRcIlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBbYXR0ci5zdHJva2VdPVwic29ydGVkQ29sdW1uID09PSAnTk9CQ291bnQnID8gJyMwMEEzRkYnIDogJyM2NjcwODUnXCJcclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgc3Ryb2tlLXdpZHRoPVwiMS4zMzMzM1wiIHN0cm9rZS1saW5lY2FwPVwicm91bmRcIiBzdHJva2UtbGluZWpvaW49XCJyb3VuZFwiIC8+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8L3N2Zz48L3NwYW4+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPC90aD5cclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8dGggY2xhc3M9XCJjdXJzb3ItcG9pbnRlclwiPlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8c3BhbiBjbGFzcz1cImN1cnNvci1wb2ludGVyXCIgKGNsaWNrKT1cIm9uU29ydCgnYXZnRHdlbGxUaW1lJylcIj5BdmcuRHdlbGwgVGltZSA8c3ZnIFtuZ0NsYXNzXT1cInNvcnRlZENvbHVtbiA9PT0gJ2F2Z0R3ZWxsVGltZScgJiYgc29ydERpcmVjdGlvbiA9PT0gMSA/ICdyb3RhdGUnIDogJydcIiB3aWR0aD1cIjE2XCIgaGVpZ2h0PVwiMTZcIlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHZpZXdCb3g9XCIwIDAgMTYgMTZcIiBmaWxsPVwibm9uZVwiPlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxwYXRoXHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGQ9XCJNOC4wMDAxNiAzLjMzMzM3VjEyLjY2NjdNOC4wMDAxNiAxMi42NjY3TDEyLjY2NjggOC4wMDAwNE04LjAwMDE2IDEyLjY2NjdMMy4zMzM1IDguMDAwMDRcIlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBbYXR0ci5zdHJva2VdPVwic29ydGVkQ29sdW1uID09PSAnYXZnRHdlbGxUaW1lJyA/ICcjMDBBM0ZGJyA6ICcjNjY3MDg1J1wiXHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHN0cm9rZS13aWR0aD1cIjEuMzMzMzNcIiBzdHJva2UtbGluZWNhcD1cInJvdW5kXCIgc3Ryb2tlLWxpbmVqb2luPVwicm91bmRcIiAvPlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPC9zdmc+PC9zcGFuPlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvdGg+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPHRoIGNsYXNzPVwiY3Vyc29yLXBvaW50ZXJcIj5cclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPHNwYW4gY2xhc3M9XCJjdXJzb3ItcG9pbnRlclwiIChjbGljayk9XCJvblNvcnQoJ2F2Z0luZnJhRG93bnRpbWUnKVwiPkF2Zy5JbmZyYSBEb3duVGltZSA8c3ZnIFtuZ0NsYXNzXT1cInNvcnRlZENvbHVtbiA9PT0gJ2F2Z0luZnJhRG93bnRpbWUnICYmIHNvcnREaXJlY3Rpb24gPT09IDEgPyAncm90YXRlJyA6ICcnXCIgd2lkdGg9XCIxNlwiIGhlaWdodD1cIjE2XCJcclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB2aWV3Qm94PVwiMCAwIDE2IDE2XCIgZmlsbD1cIm5vbmVcIj5cclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8cGF0aFxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBkPVwiTTguMDAwMTYgMy4zMzMzN1YxMi42NjY3TTguMDAwMTYgMTIuNjY2N0wxMi42NjY4IDguMDAwMDRNOC4wMDAxNiAxMi42NjY3TDMuMzMzNSA4LjAwMDA0XCJcclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgW2F0dHIuc3Ryb2tlXT1cInNvcnRlZENvbHVtbiA9PT0gJ2F2Z0luZnJhRG93bnRpbWUnID8gJyMwMEEzRkYnIDogJyM2NjcwODUnXCJcclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgc3Ryb2tlLXdpZHRoPVwiMS4zMzMzM1wiIHN0cm9rZS1saW5lY2FwPVwicm91bmRcIiBzdHJva2UtbGluZWpvaW49XCJyb3VuZFwiIC8+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8L3N2Zz48L3NwYW4+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPC90aD5cclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8dGggY2xhc3M9XCJjdXJzb3ItcG9pbnRlclwiPlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8c3BhbiBjbGFzcz1cImN1cnNvci1wb2ludGVyXCIgKGNsaWNrKT1cIm9uU29ydCgncGFzc2VyQnlfY291bnQnKVwiPlBhc3NlciBCeTxzdmcgW25nQ2xhc3NdPVwic29ydGVkQ29sdW1uID09PSAncGFzc2VyQnlfY291bnQnICYmIHNvcnREaXJlY3Rpb24gPT09IDEgPyAncm90YXRlJyA6ICcnXCIgd2lkdGg9XCIxNlwiIGhlaWdodD1cIjE2XCJcclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB2aWV3Qm94PVwiMCAwIDE2IDE2XCIgZmlsbD1cIm5vbmVcIj5cclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8cGF0aFxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBkPVwiTTguMDAwMTYgMy4zMzMzN1YxMi42NjY3TTguMDAwMTYgMTIuNjY2N0wxMi42NjY4IDguMDAwMDRNOC4wMDAxNiAxMi42NjY3TDMuMzMzNSA4LjAwMDA0XCJcclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgW2F0dHIuc3Ryb2tlXT1cInNvcnRlZENvbHVtbiA9PT0gJ3Bhc3NlckJ5X2NvdW50JyA/ICcjMDBBM0ZGJyA6ICcjNjY3MDg1J1wiXHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHN0cm9rZS13aWR0aD1cIjEuMzMzMzNcIiBzdHJva2UtbGluZWNhcD1cInJvdW5kXCIgc3Ryb2tlLWxpbmVqb2luPVwicm91bmRcIiAvPlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPC9zdmc+PC9zcGFuPlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvdGg+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPHRoIGNsYXNzPVwiY3Vyc29yLXBvaW50ZXJcIj5cclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPHNwYW4gY2xhc3M9XCJjdXJzb3ItcG9pbnRlclwiIChjbGljayk9XCJvblNvcnQoJ2JlbG93MTInKVwiPkJlbG93MTIgPHN2ZyBbbmdDbGFzc109XCJzb3J0ZWRDb2x1bW4gPT09ICdiZWxvdzEyJyAmJiBzb3J0RGlyZWN0aW9uID09PSAxID8gJ3JvdGF0ZScgOiAnJ1wiIHdpZHRoPVwiMTZcIiBoZWlnaHQ9XCIxNlwiXHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgdmlld0JveD1cIjAgMCAxNiAxNlwiIGZpbGw9XCJub25lXCI+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPHBhdGhcclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgZD1cIk04LjAwMDE2IDMuMzMzMzdWMTIuNjY2N004LjAwMDE2IDEyLjY2NjdMMTIuNjY2OCA4LjAwMDA0TTguMDAwMTYgMTIuNjY2N0wzLjMzMzUgOC4wMDAwNFwiXHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIFthdHRyLnN0cm9rZV09XCJzb3J0ZWRDb2x1bW4gPT09ICdiZWxvdzEyJyA/ICcjMDBBM0ZGJyA6ICcjNjY3MDg1J1wiXHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHN0cm9rZS13aWR0aD1cIjEuMzMzMzNcIiBzdHJva2UtbGluZWNhcD1cInJvdW5kXCIgc3Ryb2tlLWxpbmVqb2luPVwicm91bmRcIiAvPlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPC9zdmc+PC9zcGFuPlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvdGg+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPHRoIGNsYXNzPVwiY3Vyc29yLXBvaW50ZXJcIj5cclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPHNwYW4gY2xhc3M9XCJjdXJzb3ItcG9pbnRlclwiIChjbGljayk9XCJvblNvcnQoJzEzLTE5JylcIj4xMy0xOSA8c3ZnIFtuZ0NsYXNzXT1cInNvcnRlZENvbHVtbiA9PT0gJzEzLTE5JyAmJiBzb3J0RGlyZWN0aW9uID09PSAxID8gJ3JvdGF0ZScgOiAnJ1wiIHdpZHRoPVwiMTZcIiBoZWlnaHQ9XCIxNlwiXHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgdmlld0JveD1cIjAgMCAxNiAxNlwiIGZpbGw9XCJub25lXCI+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPHBhdGhcclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgZD1cIk04LjAwMDE2IDMuMzMzMzdWMTIuNjY2N004LjAwMDE2IDEyLjY2NjdMMTIuNjY2OCA4LjAwMDA0TTguMDAwMTYgMTIuNjY2N0wzLjMzMzUgOC4wMDAwNFwiXHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIFthdHRyLnN0cm9rZV09XCJzb3J0ZWRDb2x1bW4gPT09ICcxMy0xOScgPyAnIzAwQTNGRicgOiAnIzY2NzA4NSdcIlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBzdHJva2Utd2lkdGg9XCIxLjMzMzMzXCIgc3Ryb2tlLWxpbmVjYXA9XCJyb3VuZFwiIHN0cm9rZS1saW5lam9pbj1cInJvdW5kXCIgLz5cclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvc3ZnPjwvc3Bhbj5cclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8L3RoPlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDx0aCBjbGFzcz1cImN1cnNvci1wb2ludGVyXCI+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxzcGFuIGNsYXNzPVwiY3Vyc29yLXBvaW50ZXJcIiAoY2xpY2spPVwib25Tb3J0KCcyMC0zMCcpXCI+MjAtMzAgPHN2ZyBbbmdDbGFzc109XCJzb3J0ZWRDb2x1bW4gPT09ICcyMC0zMCcgJiYgc29ydERpcmVjdGlvbiA9PT0gMSA/ICdyb3RhdGUnIDogJydcIiB3aWR0aD1cIjE2XCIgaGVpZ2h0PVwiMTZcIlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHZpZXdCb3g9XCIwIDAgMTYgMTZcIiBmaWxsPVwibm9uZVwiPlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxwYXRoXHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGQ9XCJNOC4wMDAxNiAzLjMzMzM3VjEyLjY2NjdNOC4wMDAxNiAxMi42NjY3TDEyLjY2NjggOC4wMDAwNE04LjAwMDE2IDEyLjY2NjdMMy4zMzM1IDguMDAwMDRcIlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBbYXR0ci5zdHJva2VdPVwic29ydGVkQ29sdW1uID09PSAnMjAtMzAnID8gJyMwMEEzRkYnIDogJyM2NjcwODUnXCJcclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgc3Ryb2tlLXdpZHRoPVwiMS4zMzMzM1wiIHN0cm9rZS1saW5lY2FwPVwicm91bmRcIiBzdHJva2UtbGluZWpvaW49XCJyb3VuZFwiIC8+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8L3N2Zz48L3NwYW4+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPC90aD5cclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8dGggKm5nSWY9XCJoZWFkZXJEYXRhPy5jbGllbnQgPT09JzE5MydcIiBjbGFzcz1cImN1cnNvci1wb2ludGVyXCI+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxzcGFuIGNsYXNzPVwiY3Vyc29yLXBvaW50ZXJcIiAoY2xpY2spPVwib25Tb3J0KCczMS00MCcpXCI+MzEtNDAgPHN2ZyBbbmdDbGFzc109XCJzb3J0ZWRDb2x1bW4gPT09ICczMS00MCcgJiYgc29ydERpcmVjdGlvbiA9PT0gMSA/ICdyb3RhdGUnIDogJydcIiB3aWR0aD1cIjE2XCIgaGVpZ2h0PVwiMTZcIlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHZpZXdCb3g9XCIwIDAgMTYgMTZcIiBmaWxsPVwibm9uZVwiPlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxwYXRoXHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGQ9XCJNOC4wMDAxNiAzLjMzMzM3VjEyLjY2NjdNOC4wMDAxNiAxMi42NjY3TDEyLjY2NjggOC4wMDAwNE04LjAwMDE2IDEyLjY2NjdMMy4zMzM1IDguMDAwMDRcIlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBbYXR0ci5zdHJva2VdPVwic29ydGVkQ29sdW1uID09PSAnMzEtNDAnID8gJyMwMEEzRkYnIDogJyM2NjcwODUnXCJcclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgc3Ryb2tlLXdpZHRoPVwiMS4zMzMzM1wiIHN0cm9rZS1saW5lY2FwPVwicm91bmRcIiBzdHJva2UtbGluZWpvaW49XCJyb3VuZFwiIC8+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8L3N2Zz48L3NwYW4+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPC90aD5cclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8dGggKm5nSWY9XCJoZWFkZXJEYXRhPy5jbGllbnQgPT09JzE5MydcIiBjbGFzcz1cImN1cnNvci1wb2ludGVyXCI+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxzcGFuIGNsYXNzPVwiY3Vyc29yLXBvaW50ZXJcIiAoY2xpY2spPVwib25Tb3J0KCc0MS01MCcpXCI+NDEtNTAgPHN2ZyBbbmdDbGFzc109XCJzb3J0ZWRDb2x1bW4gPT09ICc0MS01MCcgJiYgc29ydERpcmVjdGlvbiA9PT0gMSA/ICdyb3RhdGUnIDogJydcIiB3aWR0aD1cIjE2XCIgaGVpZ2h0PVwiMTZcIlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHZpZXdCb3g9XCIwIDAgMTYgMTZcIiBmaWxsPVwibm9uZVwiPlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxwYXRoXHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGQ9XCJNOC4wMDAxNiAzLjMzMzM3VjEyLjY2NjdNOC4wMDAxNiAxMi42NjY3TDEyLjY2NjggOC4wMDAwNE04LjAwMDE2IDEyLjY2NjdMMy4zMzM1IDguMDAwMDRcIlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBbYXR0ci5zdHJva2VdPVwic29ydGVkQ29sdW1uID09PSAnNDEtNTAnID8gJyMwMEEzRkYnIDogJyM2NjcwODUnXCJcclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgc3Ryb2tlLXdpZHRoPVwiMS4zMzMzM1wiIHN0cm9rZS1saW5lY2FwPVwicm91bmRcIiBzdHJva2UtbGluZWpvaW49XCJyb3VuZFwiIC8+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8L3N2Zz48L3NwYW4+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPC90aD5cclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8dGggKm5nSWY9XCJoZWFkZXJEYXRhPy5jbGllbnQgPT09JzE5MydcIiBjbGFzcz1cImN1cnNvci1wb2ludGVyXCI+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxzcGFuIGNsYXNzPVwiY3Vyc29yLXBvaW50ZXJcIiAoY2xpY2spPVwib25Tb3J0KCc1MS02MCcpXCI+NTEtNjAgPHN2ZyBbbmdDbGFzc109XCJzb3J0ZWRDb2x1bW4gPT09ICc1MS02MCcgJiYgc29ydERpcmVjdGlvbiA9PT0gMSA/ICdyb3RhdGUnIDogJydcIiB3aWR0aD1cIjE2XCIgaGVpZ2h0PVwiMTZcIlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHZpZXdCb3g9XCIwIDAgMTYgMTZcIiBmaWxsPVwibm9uZVwiPlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxwYXRoXHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGQ9XCJNOC4wMDAxNiAzLjMzMzM3VjEyLjY2NjdNOC4wMDAxNiAxMi42NjY3TDEyLjY2NjggOC4wMDAwNE04LjAwMDE2IDEyLjY2NjdMMy4zMzM1IDguMDAwMDRcIlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBbYXR0ci5zdHJva2VdPVwic29ydGVkQ29sdW1uID09PSAnNTEtNjAnID8gJyMwMEEzRkYnIDogJyM2NjcwODUnXCJcclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgc3Ryb2tlLXdpZHRoPVwiMS4zMzMzM1wiIHN0cm9rZS1saW5lY2FwPVwicm91bmRcIiBzdHJva2UtbGluZWpvaW49XCJyb3VuZFwiIC8+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8L3N2Zz48L3NwYW4+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPC90aD5cclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8dGggKm5nSWY9XCJoZWFkZXJEYXRhPy5jbGllbnQgIT09JzE5MydcIiBjbGFzcz1cImN1cnNvci1wb2ludGVyXCI+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxzcGFuIGNsYXNzPVwiY3Vyc29yLXBvaW50ZXJcIiAoY2xpY2spPVwib25Tb3J0KCczMS00NScpXCI+MzEtNDUgPHN2ZyBbbmdDbGFzc109XCJzb3J0ZWRDb2x1bW4gPT09ICczMS00NScgJiYgc29ydERpcmVjdGlvbiA9PT0gMSA/ICdyb3RhdGUnIDogJydcIiB3aWR0aD1cIjE2XCIgaGVpZ2h0PVwiMTZcIlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHZpZXdCb3g9XCIwIDAgMTYgMTZcIiBmaWxsPVwibm9uZVwiPlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxwYXRoXHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGQ9XCJNOC4wMDAxNiAzLjMzMzM3VjEyLjY2NjdNOC4wMDAxNiAxMi42NjY3TDEyLjY2NjggOC4wMDAwNE04LjAwMDE2IDEyLjY2NjdMMy4zMzM1IDguMDAwMDRcIlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBbYXR0ci5zdHJva2VdPVwic29ydGVkQ29sdW1uID09PSAnMzEtNDUnID8gJyMwMEEzRkYnIDogJyM2NjcwODUnXCJcclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgc3Ryb2tlLXdpZHRoPVwiMS4zMzMzM1wiIHN0cm9rZS1saW5lY2FwPVwicm91bmRcIiBzdHJva2UtbGluZWpvaW49XCJyb3VuZFwiIC8+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8L3N2Zz48L3NwYW4+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPC90aD5cclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8dGggKm5nSWY9XCJoZWFkZXJEYXRhPy5jbGllbnQgIT09JzE5MydcIiBjbGFzcz1cImN1cnNvci1wb2ludGVyXCI+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxzcGFuIGNsYXNzPVwiY3Vyc29yLXBvaW50ZXJcIiAoY2xpY2spPVwib25Tb3J0KCc0Ni01OScpXCI+NDYtNTkgPHN2ZyBbbmdDbGFzc109XCJzb3J0ZWRDb2x1bW4gPT09ICc0Ni01OScgJiYgc29ydERpcmVjdGlvbiA9PT0gMSA/ICdyb3RhdGUnIDogJydcIiB3aWR0aD1cIjE2XCIgaGVpZ2h0PVwiMTZcIlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHZpZXdCb3g9XCIwIDAgMTYgMTZcIiBmaWxsPVwibm9uZVwiPlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxwYXRoXHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGQ9XCJNOC4wMDAxNiAzLjMzMzM3VjEyLjY2NjdNOC4wMDAxNiAxMi42NjY3TDEyLjY2NjggOC4wMDAwNE04LjAwMDE2IDEyLjY2NjdMMy4zMzM1IDguMDAwMDRcIlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBbYXR0ci5zdHJva2VdPVwic29ydGVkQ29sdW1uID09PSAnNDYtNTknID8gJyMwMEEzRkYnIDogJyM2NjcwODUnXCJcclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgc3Ryb2tlLXdpZHRoPVwiMS4zMzMzM1wiIHN0cm9rZS1saW5lY2FwPVwicm91bmRcIiBzdHJva2UtbGluZWpvaW49XCJyb3VuZFwiIC8+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8L3N2Zz48L3NwYW4+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPC90aD5cclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8dGggY2xhc3M9XCJjdXJzb3ItcG9pbnRlclwiPlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8c3BhbiBjbGFzcz1cImN1cnNvci1wb2ludGVyXCIgKGNsaWNrKT1cIm9uU29ydCgnNjAgYWJvdmUnKVwiPjYwIGFib3ZlIDxzdmcgW25nQ2xhc3NdPVwic29ydGVkQ29sdW1uID09PSAnNjAgYWJvdmUnICYmIHNvcnREaXJlY3Rpb24gPT09IDEgPyAncm90YXRlJyA6ICcnXCIgd2lkdGg9XCIxNlwiIGhlaWdodD1cIjE2XCJcclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB2aWV3Qm94PVwiMCAwIDE2IDE2XCIgZmlsbD1cIm5vbmVcIj5cclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8cGF0aFxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBkPVwiTTguMDAwMTYgMy4zMzMzN1YxMi42NjY3TTguMDAwMTYgMTIuNjY2N0wxMi42NjY4IDguMDAwMDRNOC4wMDAxNiAxMi42NjY3TDMuMzMzNSA4LjAwMDA0XCJcclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgW2F0dHIuc3Ryb2tlXT1cInNvcnRlZENvbHVtbiA9PT0gJzYwIGFib3ZlJyA/ICcjMDBBM0ZGJyA6ICcjNjY3MDg1J1wiXHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHN0cm9rZS13aWR0aD1cIjEuMzMzMzNcIiBzdHJva2UtbGluZWNhcD1cInJvdW5kXCIgc3Ryb2tlLWxpbmVqb2luPVwicm91bmRcIiAvPlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPC9zdmc+PC9zcGFuPlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvdGg+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPHRoIGNsYXNzPVwiY3Vyc29yLXBvaW50ZXJcIj5cclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPHNwYW4gY2xhc3M9XCJjdXJzb3ItcG9pbnRlclwiIChjbGljayk9XCJvblNvcnQoJ21hbGUnKVwiPk1hbGUgPHN2ZyBbbmdDbGFzc109XCJzb3J0ZWRDb2x1bW4gPT09ICdtYWxlJyAmJiBzb3J0RGlyZWN0aW9uID09PSAxID8gJ3JvdGF0ZScgOiAnJ1wiIHdpZHRoPVwiMTZcIiBoZWlnaHQ9XCIxNlwiXHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgdmlld0JveD1cIjAgMCAxNiAxNlwiIGZpbGw9XCJub25lXCI+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPHBhdGhcclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgZD1cIk04LjAwMDE2IDMuMzMzMzdWMTIuNjY2N004LjAwMDE2IDEyLjY2NjdMMTIuNjY2OCA4LjAwMDA0TTguMDAwMTYgMTIuNjY2N0wzLjMzMzUgOC4wMDAwNFwiXHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIFthdHRyLnN0cm9rZV09XCJzb3J0ZWRDb2x1bW4gPT09ICdtYWxlJyA/ICcjMDBBM0ZGJyA6ICcjNjY3MDg1J1wiXHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHN0cm9rZS13aWR0aD1cIjEuMzMzMzNcIiBzdHJva2UtbGluZWNhcD1cInJvdW5kXCIgc3Ryb2tlLWxpbmVqb2luPVwicm91bmRcIiAvPlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPC9zdmc+PC9zcGFuPlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvdGg+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPHRoIGNsYXNzPVwiY3Vyc29yLXBvaW50ZXJcIj5cclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPHNwYW4gY2xhc3M9XCJjdXJzb3ItcG9pbnRlclwiIChjbGljayk9XCJvblNvcnQoJ2ZlbWFsZScpXCI+RmVtYWxlIDxzdmcgXHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBbbmdDbGFzc109XCJzb3J0ZWRDb2x1bW4gPT09ICdmZW1hbGUnICYmIHNvcnREaXJlY3Rpb24gPT09IDEgPyAncm90YXRlJyA6ICcnXCIgd2lkdGg9XCIxNlwiIGhlaWdodD1cIjE2XCJcclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB2aWV3Qm94PVwiMCAwIDE2IDE2XCIgZmlsbD1cIm5vbmVcIj5cclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8cGF0aFxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBkPVwiTTguMDAwMTYgMy4zMzMzN1YxMi42NjY3TTguMDAwMTYgMTIuNjY2N0wxMi42NjY4IDguMDAwMDRNOC4wMDAxNiAxMi42NjY3TDMuMzMzNSA4LjAwMDA0XCJcclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgW2F0dHIuc3Ryb2tlXT1cInNvcnRlZENvbHVtbiA9PT0gJ2ZlbWFsZScgPyAnIzAwQTNGRicgOiAnIzY2NzA4NSdcIlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBzdHJva2Utd2lkdGg9XCIxLjMzMzMzXCIgc3Ryb2tlLWxpbmVjYXA9XCJyb3VuZFwiIHN0cm9rZS1saW5lam9pbj1cInJvdW5kXCIgLz5cclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvc3ZnPjwvc3Bhbj5cclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8L3RoPlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgPC90cj5cclxuICAgICAgICAgICAgICAgICAgICAgICAgPC90aGVhZD5cclxuICAgICAgICAgICAgICAgICAgICAgICAgPHRib2R5PlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgPHRyICpuZ0Zvcj1cImxldCBvYmogb2YgZ2V0U3VtbWFyeVRhYmxlRGF0YTtsZXQgaT1pbmRleDtcIj5cclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8IS0tIChjbGljayk9XCJzdG9yZVZpZXcob2JqKVwiIC0tPlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDx0ZCBjbGFzcz1cInRleHQtcHJpbWFyeSB0ZXh0LWNhcGl0YWxpemUgdGV4dC1kZWNvcmF0aW9uLXVuZGVybGluZSBjdXJzb3ItcG9pbnRlclwiIChjbGljayk9XCJzdG9yZVZpZXcob2JqLnN0b3JlSWQpXCI+e3tvYmouc3RvcmVOYW1lfX08L3RkPlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDx0ZD57e29iai5zdG9yZUlkfX08L3RkPlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDx0ZCAqbmdJZj1cIm9iaj8uZGF0ZVwiPnt7b2JqPy5kYXRlIHwgZGF0ZTonTU1NIGRkLCB5eXl5J319PC90ZD5cclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8dGQ+e3tvYmouZm9vdGZhbGxDb3VudH19PC90ZD5cclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8dGQ+e3tvYmouYm91bmNlZENvdW50fX08L3RkPlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDx0ZD57e29iai5lbmdhZ2Vyc0NvdW50fX08L3RkPlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDx0ZD57e29iai5taXNzZWRPcHBvcnR1bml0eUNvdW50fX08L3RkPlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDx0ZCAqbmdJZj1cImhlYWRlckRhdGE/LmNsaWVudCAhPT0nNDUyJ1wiPnt7b2JqLnBvdGVudGlhbEJ1eWVyc0NvdW50fX08L3RkPlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDx0ZD57e29iai5jb252ZXJzaW9uUmF0ZX19JTwvdGQ+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPHRkPnt7b2JqLk5PQkNvdW50fX08L3RkPlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDx0ZD57e29iai5hdmdEd2VsbFRpbWV9fTwvdGQ+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPHRkPnt7b2JqLmF2Z0luZnJhRG93bnRpbWV9fTwvdGQ+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPHRkPnt7b2JqLnBhc3NlckJ5X2NvdW50fX08L3RkPlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDx0ZD57e29iai5iZWxvdzEyfX08L3RkPlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDx0ZD57e29ialsnMTMtMTknXX19PC90ZD5cclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8dGQ+e3tvYmpbJzIwLTMwJ119fTwvdGQ+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPHRkICpuZ0lmPVwiaGVhZGVyRGF0YT8uY2xpZW50ID09PScxOTMnXCI+e3tvYmpbJzMxLTQwJ119fTwvdGQ+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPHRkICpuZ0lmPVwiaGVhZGVyRGF0YT8uY2xpZW50ID09PScxOTMnXCI+e3tvYmpbXCI0MS01MFwiXX19PC90ZD5cclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8dGQgKm5nSWY9XCJoZWFkZXJEYXRhPy5jbGllbnQgPT09JzE5MydcIj57e29ialtcIjUxLTYwXCJdfX08L3RkPlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDx0ZCAqbmdJZj1cImhlYWRlckRhdGE/LmNsaWVudCAhPT0nMTkzJ1wiPnt7b2JqWyczMS00NSddfX08L3RkPlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDx0ZCAqbmdJZj1cImhlYWRlckRhdGE/LmNsaWVudCAhPT0nMTkzJ1wiPnt7b2JqW1wiNDYtNTlcIl19fTwvdGQ+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPHRkPnt7b2JqW1wiNjAgYWJvdmVcIl19fTwvdGQ+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPHRkPnt7b2JqLm1hbGV9fTwvdGQ+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPHRkPnt7b2JqLmZlbWFsZX19PC90ZD5cclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvdHI+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgIDwvdGJvZHk+XHJcbiAgICAgICAgICAgICAgICAgICAgPC90YWJsZT5cclxuICAgICAgICAgICAgICAgIDwvZGl2PlxyXG4gICAgICAgICAgICAgICAgPGxpYi1wYWdpbmF0aW9uIFtpdGVtc1BlclBhZ2VdPVwicGFnZVNpemVcIiBbY3VycmVudFBhZ2VdPVwib2Zmc2V0XCIgW3RvdGFsSXRlbXNdPVwidG90YWxJdGVtc1wiXHJcbiAgICAgICAgICAgICAgICBbcGFnaW5hdGlvblNpemVzXT1cInBhZ2luYXRpb25TaXplc1wiIFtwYWdlU2l6ZV09XCJwYWdlU2l6ZVwiIChwYWdlQ2hhbmdlKT1cIm9uUGFnZUNoYW5nZSgkZXZlbnQpXCJcclxuICAgICAgICAgICAgICAgIChwYWdlU2l6ZUNoYW5nZSk9XCJvblBhZ2VTaXplQ2hhbmdlKCRldmVudClcIj48L2xpYi1wYWdpbmF0aW9uPlxyXG4gICAgICAgICAgICA8L2Rpdj5cclxuICAgICAgICA8L2Rpdj5cclxuICAgIDwvZGl2PlxyXG5cclxuPC9kaXY+XHJcbiJdfQ==
|