@openziti/ziti-console-lib 0.12.2 → 0.12.4
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/features/data-table/cells/table-cell-name/table-cell-name.component.mjs +3 -3
- package/esm2022/lib/pages/callback/callback.component.mjs +2 -2
- package/esm2022/lib/services/ziti-controller-data.service.mjs +3 -3
- package/esm2022/lib/version.mjs +2 -2
- package/esm2022/lib/ziti-console-lib.module.mjs +7 -3
- package/esm2022/public-api.mjs +2 -1
- package/fesm2022/openziti-ziti-console-lib.mjs +13 -9
- package/fesm2022/openziti-ziti-console-lib.mjs.map +1 -1
- package/lib/pages/callback/callback.component.d.ts.map +1 -1
- package/lib/ziti-console-lib.module.d.ts +1 -1
- package/lib/ziti-console-lib.module.d.ts.map +1 -1
- package/package.json +1 -1
- package/public-api.d.ts +1 -0
- package/public-api.d.ts.map +1 -1
|
@@ -40,11 +40,11 @@ class TableCellNameComponent {
|
|
|
40
40
|
return val;
|
|
41
41
|
}
|
|
42
42
|
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "16.2.12", ngImport: i0, type: TableCellNameComponent, deps: [{ token: i1.MatDialog }, { token: i2.Router }], target: i0.ɵɵFactoryTarget.Component }); }
|
|
43
|
-
static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "16.2.12", type: TableCellNameComponent, selector: "lib-table-cell-name", ngImport: i0, template: "<span class=\"cell-name-container\">\n <a href=\"./{{cellParams.pathRoot}}/{{item.id}}\" (click)=\"linkClicked($event)\">\n <div class=\"col cell-name-renderer\" data-id=\"{{item.id}}\">\n <div *ngIf=\"cellParams.showIdentityIcons\" class=\"cell-status-container\">\n <span class=\"circle {{item.hasApiSession}}\" title=\"Api Session\"></span>\n <span class=\"circle {{item.hasEdgeRouterConnection}}\" title=\"Edge Router Connected\"></span>\n </div>\n <div *ngIf=\"cellParams.showRouterIcons\" class=\"cell-status-container\">\n <span class=\"circle {{item.isVerified}}\" title=\"Api Session\"></span>\n <span class=\"circle {{item.isOnline}}\" title=\"Edge Router Connected\"></span>\n </div>\n <strong>{{cellText}}</strong>\n </div>\n </a>\n</span>\n", styles: [".cell-name-renderer{display:flex;flex-direction:row;gap:.3125rem}.cell-name-container{display:flex;flex-direction:row;flex-wrap:nowrap}.cell-status-container{position:relative;display:flex;align-items:center;justify-content:center;gap:.25rem}\n"], dependencies: [{ kind: "directive", type: i3.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }] }); }
|
|
43
|
+
static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "16.2.12", type: TableCellNameComponent, selector: "lib-table-cell-name", ngImport: i0, template: "<span class=\"cell-name-container\">\n <a href=\"./{{cellParams.pathRoot}}/{{item.id}}\" (click)=\"linkClicked($event)\">\n <div class=\"col cell-name-renderer\" data-id=\"{{item.id}}\">\n <div *ngIf=\"cellParams.showIdentityIcons && item.edgeRouterConnectionStatus\" class=\"cell-status-container\">\n <span class=\"circle {{item.edgeRouterConnectionStatus}}\" title=\"Edge Router Connection Status\"></span>\n </div>\n <div *ngIf=\"cellParams.showIdentityIcons && !item.edgeRouterConnectionStatus\" class=\"cell-status-container\">\n <span class=\"circle {{item.hasApiSession}}\" title=\"Api Session\"></span>\n <span class=\"circle {{item.hasEdgeRouterConnection}}\" title=\"Edge Router Connected\"></span>\n </div>\n <div *ngIf=\"cellParams.showRouterIcons\" class=\"cell-status-container\">\n <span class=\"circle {{item.isVerified}}\" title=\"Api Session\"></span>\n <span class=\"circle {{item.isOnline}}\" title=\"Edge Router Connected\"></span>\n </div>\n <strong>{{cellText}}</strong>\n </div>\n </a>\n</span>\n", styles: [".cell-name-renderer{display:flex;flex-direction:row;gap:.3125rem}.cell-name-container{display:flex;flex-direction:row;flex-wrap:nowrap}.cell-status-container{position:relative;display:flex;align-items:center;justify-content:center;gap:.25rem}.circle.online{background-color:var(--green)}.circle.unknown{background-color:var(--highlighted)}\n"], dependencies: [{ kind: "directive", type: i3.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }] }); }
|
|
44
44
|
}
|
|
45
45
|
export { TableCellNameComponent };
|
|
46
46
|
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "16.2.12", ngImport: i0, type: TableCellNameComponent, decorators: [{
|
|
47
47
|
type: Component,
|
|
48
|
-
args: [{ selector: 'lib-table-cell-name', template: "<span class=\"cell-name-container\">\n <a href=\"./{{cellParams.pathRoot}}/{{item.id}}\" (click)=\"linkClicked($event)\">\n <div class=\"col cell-name-renderer\" data-id=\"{{item.id}}\">\n <div *ngIf=\"cellParams.showIdentityIcons\" class=\"cell-status-container\">\n <span class=\"circle {{item.hasApiSession}}\" title=\"Api Session\"></span>\n <span class=\"circle {{item.hasEdgeRouterConnection}}\" title=\"Edge Router Connected\"></span>\n </div>\n <div *ngIf=\"cellParams.showRouterIcons\" class=\"cell-status-container\">\n <span class=\"circle {{item.isVerified}}\" title=\"Api Session\"></span>\n <span class=\"circle {{item.isOnline}}\" title=\"Edge Router Connected\"></span>\n </div>\n <strong>{{cellText}}</strong>\n </div>\n </a>\n</span>\n", styles: [".cell-name-renderer{display:flex;flex-direction:row;gap:.3125rem}.cell-name-container{display:flex;flex-direction:row;flex-wrap:nowrap}.cell-status-container{position:relative;display:flex;align-items:center;justify-content:center;gap:.25rem}\n"] }]
|
|
48
|
+
args: [{ selector: 'lib-table-cell-name', template: "<span class=\"cell-name-container\">\n <a href=\"./{{cellParams.pathRoot}}/{{item.id}}\" (click)=\"linkClicked($event)\">\n <div class=\"col cell-name-renderer\" data-id=\"{{item.id}}\">\n <div *ngIf=\"cellParams.showIdentityIcons && item.edgeRouterConnectionStatus\" class=\"cell-status-container\">\n <span class=\"circle {{item.edgeRouterConnectionStatus}}\" title=\"Edge Router Connection Status\"></span>\n </div>\n <div *ngIf=\"cellParams.showIdentityIcons && !item.edgeRouterConnectionStatus\" class=\"cell-status-container\">\n <span class=\"circle {{item.hasApiSession}}\" title=\"Api Session\"></span>\n <span class=\"circle {{item.hasEdgeRouterConnection}}\" title=\"Edge Router Connected\"></span>\n </div>\n <div *ngIf=\"cellParams.showRouterIcons\" class=\"cell-status-container\">\n <span class=\"circle {{item.isVerified}}\" title=\"Api Session\"></span>\n <span class=\"circle {{item.isOnline}}\" title=\"Edge Router Connected\"></span>\n </div>\n <strong>{{cellText}}</strong>\n </div>\n </a>\n</span>\n", styles: [".cell-name-renderer{display:flex;flex-direction:row;gap:.3125rem}.cell-name-container{display:flex;flex-direction:row;flex-wrap:nowrap}.cell-status-container{position:relative;display:flex;align-items:center;justify-content:center;gap:.25rem}.circle.online{background-color:var(--green)}.circle.unknown{background-color:var(--highlighted)}\n"] }]
|
|
49
49
|
}], ctorParameters: function () { return [{ type: i1.MatDialog }, { type: i2.Router }]; } });
|
|
50
|
-
//# sourceMappingURL=data:application/json;base64,
|
|
50
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidGFibGUtY2VsbC1uYW1lLmNvbXBvbmVudC5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL3ppdGktY29uc29sZS1saWIvc3JjL2xpYi9mZWF0dXJlcy9kYXRhLXRhYmxlL2NlbGxzL3RhYmxlLWNlbGwtbmFtZS90YWJsZS1jZWxsLW5hbWUuY29tcG9uZW50LnRzIiwiLi4vLi4vLi4vLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMveml0aS1jb25zb2xlLWxpYi9zcmMvbGliL2ZlYXR1cmVzL2RhdGEtdGFibGUvY2VsbHMvdGFibGUtY2VsbC1uYW1lL3RhYmxlLWNlbGwtbmFtZS5jb21wb25lbnQuaHRtbCJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQUUsU0FBUyxFQUFFLE1BQU0sZUFBZSxDQUFDO0FBTTFDLE9BQU8sRUFBQyxPQUFPLEVBQUUsVUFBVSxFQUFFLEdBQUcsRUFBQyxNQUFNLFFBQVEsQ0FBQzs7Ozs7QUFFaEQsTUFLYSxzQkFBc0I7SUFNakMsWUFBbUIsVUFBcUIsRUFBVSxNQUFjO1FBQTdDLGVBQVUsR0FBVixVQUFVLENBQVc7UUFBVSxXQUFNLEdBQU4sTUFBTSxDQUFRO0lBQ2hFLENBQUM7SUFFRCxNQUFNLENBQUMsTUFBMkI7UUFDaEMsSUFBSSxDQUFDLFVBQVUsR0FBRyxNQUFNLENBQUM7UUFDekIsSUFBSSxDQUFDLElBQUksR0FBRyxNQUFNLENBQUMsSUFBSSxDQUFDO0lBQzFCLENBQUM7SUFFRCxPQUFPLENBQUMsTUFBZ0M7UUFDdEMsSUFBSSxDQUFDLFVBQVUsR0FBRyxNQUFNLENBQUM7UUFDekIsSUFBSSxDQUFDLElBQUksR0FBRyxNQUFNLENBQUMsSUFBSSxDQUFDO1FBQ3hCLE9BQU8sSUFBSSxDQUFDO0lBQ2QsQ0FBQztJQUVELFdBQVcsQ0FBQyxLQUFLO1FBQ2YsS0FBSyxDQUFDLGVBQWUsRUFBRSxDQUFDO1FBQ3hCLEtBQUssQ0FBQyxjQUFjLEVBQUUsQ0FBQztRQUN2QixJQUFJLFVBQVUsQ0FBQyxJQUFJLENBQUMsVUFBVSxFQUFFLGdCQUFnQixDQUFDLEVBQUU7WUFDakQsSUFBSSxDQUFDLFVBQVUsRUFBRSxnQkFBZ0IsQ0FBQyxJQUFJLENBQUMsSUFBSSxDQUFDLENBQUMsSUFBSSxDQUFDLENBQUMsTUFBTSxFQUFFLEVBQUU7Z0JBQzNELElBQUksQ0FBQyxNQUFNLEVBQUUsU0FBUyxFQUFFO29CQUN0QixPQUFPO2lCQUNSO2dCQUNELElBQUksQ0FBQyxNQUFNLENBQUMsYUFBYSxDQUFDLEdBQUcsSUFBSSxDQUFDLFVBQVUsQ0FBQyxRQUFRLElBQUksR0FBRyxDQUFDLElBQUksQ0FBQyxJQUFJLEVBQUUsSUFBSSxDQUFDLFVBQVUsQ0FBQyxRQUFRLEVBQUUsSUFBSSxDQUFDLElBQUksQ0FBQyxFQUFFLENBQUMsRUFBRSxDQUFDLENBQUM7WUFDckgsQ0FBQyxDQUFDLENBQUE7WUFDRixPQUFPO1NBQ1I7UUFDRCxJQUFJLENBQUMsTUFBTSxDQUFDLGFBQWEsQ0FBQyxHQUFHLElBQUksQ0FBQyxVQUFVLENBQUMsUUFBUSxJQUFJLEdBQUcsQ0FBQyxJQUFJLENBQUMsSUFBSSxFQUFFLElBQUksQ0FBQyxVQUFVLENBQUMsUUFBUSxFQUFFLElBQUksQ0FBQyxJQUFJLENBQUMsRUFBRSxDQUFDLEVBQUUsQ0FBQyxDQUFDO0lBQ3JILENBQUM7SUFFRCxJQUFJLFFBQVE7UUFDVixJQUFJLEdBQUcsR0FBRyxHQUFHLENBQUMsSUFBSSxDQUFDLElBQUksRUFBRSxJQUFJLENBQUMsVUFBVSxFQUFFLE1BQU0sRUFBRSxLQUFLLENBQUMsQ0FBQztRQUN6RCxJQUFJLE9BQU8sQ0FBQyxHQUFHLENBQUMsRUFBRTtZQUNoQixHQUFHLEdBQUcsSUFBSSxDQUFDLElBQUksQ0FBQyxJQUFJLENBQUM7U0FDdEI7UUFDRCxPQUFPLEdBQUcsQ0FBQztJQUNiLENBQUM7K0dBekNVLHNCQUFzQjttR0FBdEIsc0JBQXNCLDJEQ2JuQywycUNBa0JBOztTRExhLHNCQUFzQjs0RkFBdEIsc0JBQXNCO2tCQUxsQyxTQUFTOytCQUNFLHFCQUFxQiIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IENvbXBvbmVudCB9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xuaW1wb3J0IHtJQ2VsbFJlbmRlcmVyQW5ndWxhckNvbXB9IGZyb20gXCJhZy1ncmlkLWFuZ3VsYXJcIjtcbmltcG9ydCB7TWF0RGlhbG9nfSBmcm9tIFwiQGFuZ3VsYXIvbWF0ZXJpYWwvZGlhbG9nXCI7XG5pbXBvcnQge0lDZWxsUmVuZGVyZXJQYXJhbXN9IGZyb20gXCJhZy1ncmlkLWNvbW11bml0eVwiO1xuaW1wb3J0IHtSb3V0ZXJ9IGZyb20gXCJAYW5ndWxhci9yb3V0ZXJcIjtcblxuaW1wb3J0IHtpc0VtcHR5LCBpc0Z1bmN0aW9uLCBnZXR9IGZyb20gJ2xvZGFzaCc7XG5cbkBDb21wb25lbnQoe1xuICBzZWxlY3RvcjogJ2xpYi10YWJsZS1jZWxsLW5hbWUnLFxuICB0ZW1wbGF0ZVVybDogJy4vdGFibGUtY2VsbC1uYW1lLmNvbXBvbmVudC5odG1sJyxcbiAgc3R5bGVVcmxzOiBbJy4vdGFibGUtY2VsbC1uYW1lLmNvbXBvbmVudC5zY3NzJ11cbn0pXG5leHBvcnQgY2xhc3MgVGFibGVDZWxsTmFtZUNvbXBvbmVudCAgaW1wbGVtZW50cyBJQ2VsbFJlbmRlcmVyQW5ndWxhckNvbXAge1xuXG4gIGNlbGxQYXJhbXM6IGFueTtcbiAgaXRlbTogYW55O1xuICBkaWFsb2dSZWY6IGFueTtcblxuICBjb25zdHJ1Y3RvcihwdWJsaWMgZGlhbG9nRm9ybTogTWF0RGlhbG9nLCBwcml2YXRlIHJvdXRlcjogUm91dGVyKSB7XG4gIH1cblxuICBhZ0luaXQocGFyYW1zOiBJQ2VsbFJlbmRlcmVyUGFyYW1zKTogdm9pZCB7XG4gICAgdGhpcy5jZWxsUGFyYW1zID0gcGFyYW1zO1xuICAgIHRoaXMuaXRlbSA9IHBhcmFtcy5kYXRhO1xuICB9XG5cbiAgcmVmcmVzaChwYXJhbXM6IElDZWxsUmVuZGVyZXJQYXJhbXM8YW55Pik6IGJvb2xlYW4ge1xuICAgIHRoaXMuY2VsbFBhcmFtcyA9IHBhcmFtcztcbiAgICB0aGlzLml0ZW0gPSBwYXJhbXMuZGF0YTtcbiAgICByZXR1cm4gdHJ1ZTtcbiAgfVxuXG4gIGxpbmtDbGlja2VkKGV2ZW50KSB7XG4gICAgZXZlbnQuc3RvcFByb3BhZ2F0aW9uKCk7XG4gICAgZXZlbnQucHJldmVudERlZmF1bHQoKTtcbiAgICBpZiAoaXNGdW5jdGlvbih0aGlzLmNlbGxQYXJhbXM/LmNlbGxOYW1lUHJlQ2hlY2spKSB7XG4gICAgICB0aGlzLmNlbGxQYXJhbXM/LmNlbGxOYW1lUHJlQ2hlY2sodGhpcy5pdGVtKS50aGVuKChyZXN1bHQpID0+IHtcbiAgICAgICAgaWYgKCFyZXN1bHQ/LmNvbmZpcm1lZCkge1xuICAgICAgICAgIHJldHVybjtcbiAgICAgICAgfVxuICAgICAgICB0aGlzLnJvdXRlci5uYXZpZ2F0ZUJ5VXJsKGAke3RoaXMuY2VsbFBhcmFtcy5wYXRoUm9vdH0vJHtnZXQodGhpcy5pdGVtLCB0aGlzLmNlbGxQYXJhbXMuaXRlbVByb3AsIHRoaXMuaXRlbS5pZCl9YCk7XG4gICAgICB9KVxuICAgICAgcmV0dXJuO1xuICAgIH1cbiAgICB0aGlzLnJvdXRlci5uYXZpZ2F0ZUJ5VXJsKGAke3RoaXMuY2VsbFBhcmFtcy5wYXRoUm9vdH0vJHtnZXQodGhpcy5pdGVtLCB0aGlzLmNlbGxQYXJhbXMuaXRlbVByb3AsIHRoaXMuaXRlbS5pZCl9YCk7XG4gIH1cblxuICBnZXQgY2VsbFRleHQoKSB7XG4gICAgbGV0IHZhbCA9IGdldCh0aGlzLml0ZW0sIHRoaXMuY2VsbFBhcmFtcz8uY29sRGVmPy5maWVsZCk7XG4gICAgaWYgKGlzRW1wdHkodmFsKSkge1xuICAgICAgdmFsID0gdGhpcy5pdGVtLm5hbWU7XG4gICAgfVxuICAgIHJldHVybiB2YWw7XG4gIH1cbn1cbiIsIjxzcGFuIGNsYXNzPVwiY2VsbC1uYW1lLWNvbnRhaW5lclwiPlxuICAgIDxhIGhyZWY9XCIuL3t7Y2VsbFBhcmFtcy5wYXRoUm9vdH19L3t7aXRlbS5pZH19XCIgKGNsaWNrKT1cImxpbmtDbGlja2VkKCRldmVudClcIj5cbiAgICAgICAgPGRpdiBjbGFzcz1cImNvbCBjZWxsLW5hbWUtcmVuZGVyZXJcIiBkYXRhLWlkPVwie3tpdGVtLmlkfX1cIj5cbiAgICAgICAgICAgIDxkaXYgKm5nSWY9XCJjZWxsUGFyYW1zLnNob3dJZGVudGl0eUljb25zICYmIGl0ZW0uZWRnZVJvdXRlckNvbm5lY3Rpb25TdGF0dXNcIiBjbGFzcz1cImNlbGwtc3RhdHVzLWNvbnRhaW5lclwiPlxuICAgICAgICAgICAgICAgIDxzcGFuIGNsYXNzPVwiY2lyY2xlIHt7aXRlbS5lZGdlUm91dGVyQ29ubmVjdGlvblN0YXR1c319XCIgdGl0bGU9XCJFZGdlIFJvdXRlciBDb25uZWN0aW9uIFN0YXR1c1wiPjwvc3Bhbj5cbiAgICAgICAgICAgIDwvZGl2PlxuICAgICAgICAgICAgPGRpdiAqbmdJZj1cImNlbGxQYXJhbXMuc2hvd0lkZW50aXR5SWNvbnMgJiYgIWl0ZW0uZWRnZVJvdXRlckNvbm5lY3Rpb25TdGF0dXNcIiBjbGFzcz1cImNlbGwtc3RhdHVzLWNvbnRhaW5lclwiPlxuICAgICAgICAgICAgICAgIDxzcGFuIGNsYXNzPVwiY2lyY2xlIHt7aXRlbS5oYXNBcGlTZXNzaW9ufX1cIiB0aXRsZT1cIkFwaSBTZXNzaW9uXCI+PC9zcGFuPlxuICAgICAgICAgICAgICAgIDxzcGFuIGNsYXNzPVwiY2lyY2xlIHt7aXRlbS5oYXNFZGdlUm91dGVyQ29ubmVjdGlvbn19XCIgdGl0bGU9XCJFZGdlIFJvdXRlciBDb25uZWN0ZWRcIj48L3NwYW4+XG4gICAgICAgICAgICA8L2Rpdj5cbiAgICAgICAgICAgIDxkaXYgKm5nSWY9XCJjZWxsUGFyYW1zLnNob3dSb3V0ZXJJY29uc1wiIGNsYXNzPVwiY2VsbC1zdGF0dXMtY29udGFpbmVyXCI+XG4gICAgICAgICAgICAgICAgPHNwYW4gY2xhc3M9XCJjaXJjbGUge3tpdGVtLmlzVmVyaWZpZWR9fVwiIHRpdGxlPVwiQXBpIFNlc3Npb25cIj48L3NwYW4+XG4gICAgICAgICAgICAgICAgPHNwYW4gY2xhc3M9XCJjaXJjbGUge3tpdGVtLmlzT25saW5lfX1cIiB0aXRsZT1cIkVkZ2UgUm91dGVyIENvbm5lY3RlZFwiPjwvc3Bhbj5cbiAgICAgICAgICAgIDwvZGl2PlxuICAgICAgICAgICAgPHN0cm9uZz57e2NlbGxUZXh0fX08L3N0cm9uZz5cbiAgICAgICAgPC9kaXY+XG4gICAgPC9hPlxuPC9zcGFuPlxuIl19
|
|
@@ -45,7 +45,7 @@ class CallbackComponent {
|
|
|
45
45
|
const prefix = '/edge/client/v1';
|
|
46
46
|
const url = this.settingsService.settings.selectedEdgeController;
|
|
47
47
|
let doNav = true;
|
|
48
|
-
let isTest =
|
|
48
|
+
let isTest = false;
|
|
49
49
|
if (!isEmpty(redirectRoute)) {
|
|
50
50
|
doNav = false;
|
|
51
51
|
isTest = true;
|
|
@@ -153,4 +153,4 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "16.2.12", ngImpo
|
|
|
153
153
|
type: Inject,
|
|
154
154
|
args: [SETTINGS_SERVICE]
|
|
155
155
|
}] }]; } });
|
|
156
|
-
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiY2FsbGJhY2suY29tcG9uZW50LmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMveml0aS1jb25zb2xlLWxpYi9zcmMvbGliL3BhZ2VzL2NhbGxiYWNrL2NhbGxiYWNrLmNvbXBvbmVudC50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQUMsU0FBUyxFQUFFLE1BQU0sRUFBUyxNQUFNLGVBQWUsQ0FBQztBQUd4RCxPQUFPLEVBQUMsT0FBTyxFQUFDLE1BQU0sUUFBUSxDQUFDO0FBQy9CLE9BQU8sRUFBQyxZQUFZLEVBQUMsTUFBTSx3Q0FBd0MsQ0FBQztBQUVwRSxPQUFPLEVBQW9CLGlCQUFpQixFQUFDLE1BQU0sb0NBQW9DLENBQUM7QUFFeEYsT0FBTyxFQUFDLGlCQUFpQixFQUFrQixNQUFNLGtDQUFrQyxDQUFDO0FBQ3BGLE9BQU8sRUFBQyxnQkFBZ0IsRUFBQyxNQUFNLGlDQUFpQyxDQUFDOzs7Ozs7Ozs7QUFFakUsTUFJYSxpQkFBaUI7SUFDMUIsWUFDWSxZQUEwQixFQUNDLFlBQStCLEVBQzFELGNBQThCLEVBQzlCLE1BQWMsRUFDZCxLQUFxQixFQUNNLFdBQTRCLEVBQzdCLGVBQXFDO1FBTi9ELGlCQUFZLEdBQVosWUFBWSxDQUFjO1FBQ0MsaUJBQVksR0FBWixZQUFZLENBQW1CO1FBQzFELG1CQUFjLEdBQWQsY0FBYyxDQUFnQjtRQUM5QixXQUFNLEdBQU4sTUFBTSxDQUFRO1FBQ2QsVUFBSyxHQUFMLEtBQUssQ0FBZ0I7UUFDTSxnQkFBVyxHQUFYLFdBQVcsQ0FBaUI7UUFDN0Isb0JBQWUsR0FBZixlQUFlLENBQXNCO0lBSTNFLENBQUM7SUFFRCxRQUFRO1FBQ0osSUFBSTtZQUNBLE1BQU0sWUFBWSxHQUFHLFlBQVksQ0FBQyxPQUFPLENBQUMsdUJBQXVCLENBQUMsQ0FBQztZQUNuRSxNQUFNLFNBQVMsR0FBRyxZQUFZLENBQUMsT0FBTyxDQUFDLDZCQUE2QixDQUFDLENB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LGFBQWEsQ0FBQyxFQUFFOzRCQUNsQyxXQUFXLEVBQUU7Z0NBQ1QsY0FBYyxFQUFFLFFBQVE7Z0NBQ3hCLDBCQUEwQixFQUFFLFlBQVk7Z0NBQ3hDLDBCQUEwQixFQUFFLHNCQUFzQjs2QkFDckQ7eUJBQ0osQ0FBQyxDQUFDO3FCQUNOO2dCQUNMLENBQUMsQ0FBQyxDQUFDO2FBQ047U0FDSjtRQUFDLE9BQU8sQ0FBQyxFQUFFO1lBQ1IsSUFBSSxDQUFDLE1BQU0sQ0FBQyxRQUFRLENBQUMsQ0FBQyxRQUFRLENBQUMsQ0FBQyxDQUFDO1NBQ3BDO0lBQ0wsQ0FBQzsrR0E1SVEsaUJBQWlCLDhDQUdkLGlCQUFpQiwrRkFJakIsaUJBQWlCLGFBQ2pCLGdCQUFnQjttR0FSbkIsaUJBQWlCLG9EQUZoQixvRUFBb0U7O1NBRXJFLGlCQUFpQjs0RkFBakIsaUJBQWlCO2tCQUo3QixTQUFTO21CQUFDO29CQUNQLFFBQVEsRUFBRSxjQUFjO29CQUN4QixRQUFRLEVBQUUsb0VBQW9FO2lCQUNqRjs7MEJBSVEsTUFBTTsyQkFBQyxpQkFBaUI7OzBCQUl4QixNQUFNOzJCQUFDLGlCQUFpQjs7MEJBQ3hCLE1BQU07MkJBQUMsZ0JBQWdCIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHtDb21wb25lbnQsIEluamVjdCwgT25Jbml0fSBmcm9tICdAYW5ndWxhci9jb3JlJztcbmltcG9ydCB7T0F1dGhTZXJ2aWNlfSBmcm9tIFwiYW5ndWxhci1vYXV0aDItb2lkY1wiO1xuaW1wb3J0IHtBY3RpdmF0ZWRSb3V0ZSwgUm91dGVyfSBmcm9tIFwiQGFuZ3VsYXIvcm91dGVyXCI7XG5pbXBvcnQge2lzRW1wdHl9IGZyb20gXCJsb2Rhc2hcIjtcbmltcG9ydCB7R3Jvd2xlck1vZGVsfSBmcm9tIFwiLi4vLi4vZmVhdHVyZXMvbWVzc2FnaW5nL2dyb3dsZXIubW9kZWxcIjtcbmltcG9ydCB7R3Jvd2xlclNlcnZpY2V9IGZyb20gXCIuLi8uLi9mZWF0dXJlcy9tZXNzYWdpbmcvZ3Jvd2xlci5zZXJ2aWNlXCI7XG5pbXBvcnQge0xvZ2luU2VydmljZUNsYXNzLCBaQUNfTE9HSU5fU0VSVklDRX0gZnJvbSBcIi4uLy4uL3NlcnZpY2VzL2xvZ2luLXNlcnZpY2UuY2xhc3NcIjtcbmltcG9ydCB7U2V0dGluZ3NTZXJ2aWNlQ2xhc3N9IGZyb20gXCIuLi8uLi9zZXJ2aWNlcy9zZXR0aW5ncy1zZXJ2aWNlLmNsYXNzXCI7XG5pbXBvcnQge1pJVElfREFUQV9TRVJWSUNFLCBaaXRpRGF0YVNlcnZpY2V9IGZyb20gXCIuLi8uLi9zZXJ2aWNlcy96aXRpLWRhdGEuc2VydmljZVwiO1xuaW1wb3J0IHtTRVRUSU5HU19TRVJWSUNFfSBmcm9tIFwiLi4vLi4vc2VydmljZXMvc2V0dGluZ3Muc2VydmljZVwiO1xuXG5AQ29tcG9uZW50KHtcbiAgICBzZWxlY3RvcjogJ2xpYi1jYWxsYmFjaycsXG4gICAgdGVtcGxhdGU6ICc8bGliLWxvYWRpbmctaW5kaWNhdG9yIFtpc0xvYWRpbmddPVwidHJ1ZVwiPjwvbGliLWxvYWRpbmctaW5kaWNhdG9yPicsXG59KVxuZXhwb3J0IGNsYXNzIENhbGxiYWNrQ29tcG9uZW50IGltcGxlbWVudHMgT25Jbml0IHtcbiAgICBjb25zdHJ1Y3RvcihcbiAgICAgICAgcHJpdmF0ZSBvYXV0aFNlcnZpY2U6IE9BdXRoU2VydmljZSxcbiAgICAgICAgQEluamVjdChaQUNfTE9HSU5fU0VSVklDRSkgcHJpdmF0ZSBsb2dpblNlcnZpY2U6IExvZ2luU2VydmljZUNsYXNzLFxuICAgICAgICBwcml2YXRlIGdyb3dsZXJTZXJ2aWNlOiBHcm93bGVyU2VydmljZSxcbiAgICAgICAgcHJpdmF0ZSByb3V0ZXI6IFJvdXRlcixcbiAgICAgICAgcHJpdmF0ZSByb3V0ZTogQWN0aXZhdGVkUm91dGUsXG4gICAgICAgIEBJbmplY3QoWklUSV9EQVRBX1NFUlZJQ0UpIHByaXZhdGUgeml0aVNlcnZpY2U6IFppdGlEYXRhU2VydmljZSxcbiAgICAgICAgQEluamVjdChTRVRUSU5HU19TRVJWSUNFKSBwcml2YXRlIHNldHRpbmdzU2VydmljZTogU2V0dGluZ3NTZXJ2aWNlQ2xhc3MsXG5cbiAgICApIHtcblxuICAgIH1cblxuICAgIG5nT25Jbml0KCkge1xuICAgICAgICB0cnkge1xuICAgICAgICAgICAgY29uc3QgY29uZmlnU3RyaW5nID0gbG9jYWxTdG9yYWdlLmdldEl0ZW0oJ29hdXRoX2NhbGxiYWNrX2NvbmZpZycpO1xuICAgICAgICAgICAgY29uc3QgdG9rZW5UeXBlID0gbG9jYWxTdG9yYWdlLmdldEl0ZW0oJ29hdXRoX2NhbGxiYWNrX3RhcmdldF90b2tlbicpO1xuICAgICAgICAgICAgY29uc3Qgb2F1dGhDb25maWcgPSBKU09OLnBhcnNlKGNvbmZpZ1N0cmluZyk7XG4gICAgICAgICAgICBjb25zdCByZWRpcmVjdFJvdXRlID0gdGhpcy5yb3V0ZS5zbmFwc2hvdC5xdWVyeVBhcmFtTWFwLmdldCgncmVkaXJlY3RSb3V0ZScpO1xuICAgICAgICAgICAgaWYgKCFpc0VtcHR5KG9hdXRoQ29uZmlnKSkge1xuICAgICAgICAgICAgICAgIHRoaXMub2F1dGhTZXJ2aWNlLmNvbmZpZ3VyZShvYXV0aENvbmZpZyk7XG4gICAgICAgICAgICAgICAgdGhpcy5vYXV0aFNlcnZpY2UubG9hZERpc2NvdmVyeURvY3VtZW50KCkudGhlbigobG9hZFJlc3VsdCkgPT4ge1xuICAgICAgICAgICAgICAgICAgICBjb25zb2xlLmxvZyhsb2FkUmVzdWx0KTtcbiAgICAgICAgICAgICAgICAgICAgdGhpcy5vYXV0aFNlcnZpY2UudHJ5TG9naW4oKS50aGVuKChyZXN1bHQpID0+IHtcbiAgICAgICAgICAgICAgICAgICAgICAgIGlmIChyZXN1bHQpIHtcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAvLyBIYW5kbGUgcG9zdC1sb2dpblxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIGxldCB0b2tlbjtcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICBpZiAodG9rZW5UeXBlID09PSAnSUQnKSB7XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHRva2VuID0gdGhpcy5vYXV0aFNlcnZpY2UuZ2V0SWRUb2tlbigpO1xuICAgICAgICAgICAgICAgICAgICAgICAgICAgIH0gZWxzZSB7XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHRva2VuID0gdGhpcy5vYXV0aFNlcnZpY2UuZ2V0QWNjZXNzVG9rZW4oKTtcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgY29uc3QgcHJlZml4ID0gJy9lZGdlL2NsaWVudC92MSc7XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgY29uc3QgdXJsID0gdGhpcy5zZXR0aW5nc1NlcnZpY2Uuc2V0dGluZ3Muc2VsZWN0ZWRFZGdlQ29udHJvbGxlcjtcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICBsZXQgZG9OYXYgPSB0cnVlO1xuICAgICAgICAgICAgICAgICAgICAgICAgICAgIGxldCBpc1Rlc3QgPSB0cnVlO1xuICAgICAgICAgICAgICAgICAgICAgICAgICAgIGlmICghaXNFbXB0eShyZWRpcmVjdFJvdXRlKSkge1xuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBkb05hdiA9IGZhbHNlO1xuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBpc1Rlc3QgPSB0cnVlO1xuICAgICAgICAgICAgICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgICAgICAgICAgICAgICAgICBjb25zdCBjbGFpbXNPYmogPSB0aGlzLmxvZ2luU2VydmljZS5kZWNvZGVKd3QodG9rZW4pO1xuICAgICAgICAgICAgICAgICAgICAgICAgICAgIGNvbnN0IGNsYWltc1N0ciA9IEpTT04uc3RyaW5naWZ5KGNsYWltc09iaiwgbnVsbCwgMik7XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgdGhpcy5sb2dpblNlcnZpY2UubG9naW4ocHJlZml4LCB1cmwsIHVuZGVmaW5lZCwgdW5kZWZpbmVkLCBkb05hdiwgJ2V4dC1qd3QnLCB0b2tlbiwgaXNUZXN0KS50aGVuKChyZXN1bHQpID0+IHtcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgaWYgKCFpc0VtcHR5KHJlZGlyZWN0Um91dGUpKSB7XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB0aGlzLnJvdXRlci5uYXZpZ2F0ZShbcmVkaXJlY3RSb3V0ZV0sIHtcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBxdWVyeVBhcmFtczoge1xuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBvaWRjQXV0aFJlc3VsdDogJ3N1Y2Nlc3MnLFxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBvaWRjQXV0aFRva2VuQ2xhaW1zOiBjbGFpbXNTdHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB9KTtcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIH0pLmNhdGNoKChlcnJvcikgPT4ge1xuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBsZXQgZXJyb3JNZXNzYWdlID0gdGhpcy56aXRpU2VydmljZS5nZXRFcnJvck1lc3NhZ2UoZXJyb3IpO1xuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBpZiAoZXJyb3Iuc3RhdHVzVGV4dCkge1xuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgZXJyb3JNZXNzYWdlID0gZXJyb3Iuc3RhdHVzVGV4dCArICc6ICcgKyBlcnJvck1lc3NhZ2U7XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgaWYgKGVycm9yLnN0YXR1cykge1xuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgZXJyb3JNZXNzYWdlID0gZXJyb3Iuc3RhdHVzICsgJyAnICsgZXJyb3JNZXNzYWdlO1xuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGVycm9yTWVzc2FnZSA9ICdGYWlsZWQgdG8gZ2V0IHppdGkgc2Vzc2lvbiBJRCBmcm9tIGNvbnRyb2xsZXIgdXNpbmcgT0lEQyB0b2tlbjogJyArIGVycm9yTWVzc2FnZTtcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgY29uc3QgZ3Jvd2xlckRhdGEgPSBuZXcgR3Jvd2xlck1vZGVsKFxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgJ2Vycm9yJyxcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICdFcnJvcicsXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBgTG9naW4gRXJyb3JgLFxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgJ1VuYWJsZSB0byBpbml0aWFsaXplIE9BdXRoIGxvZ2luLiAnICsgZXJyb3JNZXNzYWdlLFxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICApO1xuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB0aGlzLmdyb3dsZXJTZXJ2aWNlLnNob3coZ3Jvd2xlckRhdGEpO1xuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBpZiAoIWlzRW1wdHkocmVkaXJlY3RSb3V0ZSkpIHtcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHRoaXMucm91dGVyLm5hdmlnYXRlKFtyZWRpcmVjdFJvdXRlXSwge1xuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHF1ZXJ5UGFyYW1zOiB7XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIG9pZGNBdXRoUmVzdWx0OiAnZmFpbGVkJyxcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgb2lkY0F1dGhFcnJvck1lc3NhZ2VEZXRhaWw6IGVycm9yTWVzc2FnZSxcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgb2lkY0F1dGhFcnJvck1lc3NhZ2VTb3VyY2U6ICdaaXRpIENvbnRyb2xsZXIgRXJyb3InLFxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBvaWRjQXV0aFRva2VuQ2xhaW1zOiBjbGFpbXNTdHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB9KTtcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgfSBlbHNlIHtcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHRoaXMucm91dGVyLm5hdmlnYXRlKFsnL2xvZ2luJ10pO1xuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgfSk7XG4gICAgICAgICAgICAgICAgICAgICAgICB9IGVsc2Uge1xuICAgICAgICAgICAgICAgICAgICAgICAgICAgIGNvbnN0IGdyb3dsZXJEYXRhID0gbmV3IEdyb3dsZXJNb2RlbChcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgJ2Vycm9yJyxcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgJ0Vycm9yJyxcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgYExvZ2luIEVycm9yYCxcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgJ1VuYWJsZSB0byBpbml0aWFsaXplIE9BdXRoIGxvZ2luJyxcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICApO1xuICAgICAgICAgICAgICAgICAgICAgICAgICAgIHRoaXMuZ3Jvd2xlclNlcnZpY2Uuc2hvdyhncm93bGVyRGF0YSk7XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgdGhpcy5yb3V0ZXIubmF2aWdhdGUoWycvbG9naW4nXSwge1xuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBxdWVyeVBhcmFtczoge1xuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgb2lkY0F1dGhSZXN1bHQ6ICdmYWlsZWQnLFxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgb2lkY0F1dGhFcnJvck1lc3NhZ2VEZXRhaWw6ICdVbmFibGUgdG8gaW5pdGlhbGl6ZSBPQXV0aCBsb2dpbi4gRW1wdHkgcmVzcG9uc2Ugb2YgT0F1dGggc2VydmljZS4nLFxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgb2lkY0F1dGhFcnJvck1lc3NhZ2VTb3VyY2U6ICdPQXV0aCBQcm92aWRlciBFcnJvcicsXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgICAgICAgICAgICAgICAgICB9KTtcbiAgICAgICAgICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgICAgICAgICAgfSkuY2F0Y2goKGVycm9yKSA9PiB7XG4gICAgICAgICAgICAgICAgICAgICAgICBjb25zb2xlLmxvZyhlcnJvcik7XG4gICAgICAgICAgICAgICAgICAgICAgICBjb25zdCBlcnJvck1lc3NhZ2UgPSBgJHtlcnJvci5wYXJhbXMgPyBlcnJvci5wYXJhbXMuZXJyb3IgKyAnOiAnICsgZXJyb3IucGFyYW1zLmVycm9yX2Rlc2NyaXB0aW9uIDogJyd9YDtcbiAgICAgICAgICAgICAgICAgICAgICAgIGNvbnN0IGdyb3dsZXJEYXRhID0gbmV3IEdyb3dsZXJNb2RlbChcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAnZXJyb3InLFxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICdFcnJvcicsXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgYExvZ2luIEVycm9yYCxcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAnVW5hYmxlIHRvIGluaXRpYWxpemUgT0F1dGggbG9naW4uICcgKyBlcnJvck1lc3NhZ2UsXG4gICAgICAgICAgICAgICAgICAgICAgICApO1xuICAgICAgICAgICAgICAgICAgICAgICAgdGhpcy5ncm93bGVyU2VydmljZS5zaG93KGdyb3dsZXJEYXRhKTtcbiAgICAgICAgICAgICAgICAgICAgICAgIGlmICghaXNFbXB0eShyZWRpcmVjdFJvdXRlKSkge1xuICAgICAgICAgICAgICAgICAgICAgICAgICAgIHRoaXMucm91dGVyLm5hdmlnYXRlKFtyZWRpcmVjdFJvdXRlXSwge1xuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBxdWVyeVBhcmFtczoge1xuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgb2lkY0F1dGhSZXN1bHQ6ICdmYWlsZWQnLFxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgb2lkY0F1dGhFcnJvck1lc3NhZ2VEZXRhaWw6IGVycm9yTWVzc2FnZSxcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIG9pZGNBdXRoRXJyb3JNZXNzYWdlU291cmNlOiAnT0F1dGggUHJvdmlkZXIgRXJyb3InLFxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgfSk7XG4gICAgICAgICAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICAgICAgICAgIH0pO1xuICAgICAgICAgICAgICAgIH0pLmNhdGNoKChlcnJvcikgPT4ge1xuICAgICAgICAgICAgICAgICAgICBjb25zdCBlcnJvck1lc3NhZ2UgPSBgJHtlcnJvci5wYXJhbXMgPyBlcnJvci5wYXJhbXMuZXJyb3IgKyAnOiAnICsgZXJyb3IucGFyYW1zLmVycm9yX2Rlc2NyaXB0aW9uIDogJyd9YDtcbiAgICAgICAgICAgICAgICAgICAgY29uc3QgZ3Jvd2xlckRhdGEgPSBuZXcgR3Jvd2xlck1vZGVsKFxuICAgICAgICAgICAgICAgICAgICAgICAgJ2Vycm9yJyxcbiAgICAgICAgICAgICAgICAgICAgICAgICdFcnJvcicsXG4gICAgICAgICAgICAgICAgICAgICAgICBgTG9naW4gRXJyb3JgLFxuICAgICAgICAgICAgICAgICAgICAgICAgJ1VuYWJsZSB0byBpbml0aWFsaXplIE9BdXRoIGxvZ2luLiAnICsgZXJyb3JNZXNzYWdlLFxuICAgICAgICAgICAgICAgICAgICApO1xuICAgICAgICAgICAgICAgICAgICB0aGlzLmdyb3dsZXJTZXJ2aWNlLnNob3coZ3Jvd2xlckRhdGEpO1xuICAgICAgICAgICAgICAgICAgICBpZiAoIWlzRW1wdHkocmVkaXJlY3RSb3V0ZSkpIHtcbiAgICAgICAgICAgICAgICAgICAgICAgIHRoaXMucm91dGVyLm5hdmlnYXRlKFtyZWRpcmVjdFJvdXRlXSwge1xuICAgICAgICAgICAgICAgICAgICAgICAgICAgIHF1ZXJ5UGFyYW1zOiB7XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIG9pZGNBdXRoUmVzdWx0OiAnZmFpbGVkJyxcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgb2lkY0F1dGhFcnJvck1lc3NhZ2VEZXRhaWw6IGVycm9yTWVzc2FnZSxcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgb2lkY0F1dGhFcnJvck1lc3NhZ2VTb3VyY2U6ICdPQXV0aCBQcm92aWRlciBFcnJvcicsXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgICAgICAgICAgICAgfSk7XG4gICAgICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgICAgICB9KTtcbiAgICAgICAgICAgIH1cbiAgICAgICAgfSBjYXRjaCAoZSkge1xuICAgICAgICAgICAgdGhpcy5yb3V0ZXIubmF2aWdhdGUoWycvbG9naW4nXSk7XG4gICAgICAgIH1cbiAgICB9XG59XG4iXX0=
|
|
156
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiY2FsbGJhY2suY29tcG9uZW50LmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMveml0aS1jb25zb2xlLWxpYi9zcmMvbGliL3BhZ2VzL2NhbGxiYWNrL2NhbGxiYWNrLmNvbXBvbmVudC50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQUMsU0FBUyxFQUFFLE1BQU0sRUFBUyxNQUFNLGVBQWUsQ0FBQztBQUd4RCxPQUFPLEVBQUMsT0FBTyxFQUFDLE1BQU0sUUFBUSxDQUFDO0FBQy9CLE9BQU8sRUFBQyxZQUFZLEVBQUMsTUFBTSx3Q0FBd0MsQ0FBQztBQUVwRSxPQUFPLEVBQW9CLGlCQUFpQixFQUFDLE1BQU0sb0NBQW9DLENBQUM7QUFFeEYsT0FBTyxFQUFDLGlCQUFpQixFQUFrQixNQUFNLGtDQUFrQyxDQUFDO0FBQ3BGLE9BQU8sRUFBQyxnQkFBZ0IsRUFBQyxNQUFNLGlDQUFpQyxDQUFDOzs7Ozs7Ozs7QUFFakUsTUFJYSxpQkFBaUI7SUFDMUIsWUFDWSxZQUEwQixFQUNDLFlBQStCLEVBQzFELGNBQThCLEVBQzlCLE1BQWMsRUFDZCxLQUFxQixFQUNNLFdBQTRCLEVBQzdCLGVBQXFDO1FBTi9ELGlCQUFZLEdBQVosWUFBWSxDQUFjO1FBQ0MsaUJBQVksR0FBWixZQUFZLENBQW1CO1FBQzFELG1CQUFjLEdBQWQsY0FBYyxDQUFnQjtRQUM5QixXQUFNLEdBQU4sTUFBTSxDQUFRO1FBQ2QsVUFBSyxHQUFMLEtBQUssQ0FBZ0I7UUFDTSxnQkFBVyxHQUFYLFdBQVcsQ0FBaUI7UUFDN0Isb0JBQWUsR0FBZixlQUFlLENBQXNCO0lBSTNFLENBQUM7SUFFRCxRQUFRO1FBQ0osSUFBSTtZQUNBLE1BQU0sWUFBWSxHQUFHLFlBQVksQ0FBQyxPQUFPLENBQUMsdUJBQXVCLENBQUMsQ0FBQztZQUNuRSxNQUFNLFNBQVMsR0FBRyxZQUFZLENBQUMsT0FBTyxDQUFDLDZCQUE2QixDQUFDLENBQUM7WUFDdEUsTUFBTSxXQUFXLEdBQUcsSUFBSSxDQUFDLEtBQUssQ0FBQyxZQUFZLENBQUMsQ0FBQztZQUM3QyxNQUFNLGFBQWEsR0FBRyxJQUFJLENBQUMsS0FBSyxDQUFDLFFBQVEsQ0FBQyxhQUFhLENBQUMsR0FBRyxDQUFDLGVBQWUsQ0FBQyxDQUFDO1lBQzdFLElBQUksQ0FBQyxPQUFPLENBQUMsV0FBVyxDQUFDLEVBQUU7Z0JBQ3ZCLElBQUksQ0FBQyxZQUFZLENBQUMsU0FBUyxDQUFDLFdBQVcsQ0FBQyxDQUFDO2dCQUN6QyxJQUFJLENBQUMsWUFBWSxDQUFDLHFCQUFxQixFQUFFLENBQUMsSUFBSSxDQUFDLENBQUMsVUFBVSxFQUFFLEVBQUU7b0JBQzFELE9BQU8sQ0FBQyxHQUFHLENBQUMsVUFBVSxDQUFDLENBQUM7b0JBQ3hCLElBQUksQ0FBQyxZQUFZLENBQUMsUUFBUSxFQUFFLENBQUMsSUFBSSxDQUFDLENBQUMsTUFBTSxFQUFFLEVBQUU7d0JBQ3pDLElBQUksTUFBTSxFQUFFOzRCQUNSLG9CQUFvQjs0QkFDcEIsSUFBSSxLQUFLLENBQUM7NEJBQ1YsSUFBSSxTQUFTLEtBQUssSUFBSSxFQUFFO2dDQUNwQixLQUFLLEdBQUcsSUFBSSxDQUFDLFlBQVksQ0FBQyxVQUFVLEVBQUUsQ0FBQzs2QkFDMUM7aUNBQU07Z0NBQ0gsS0FBSyxHQUFHLElBQUksQ0FBQyxZQUFZLENBQUMsY0FBYyxFQUFFLENBQUM7NkJBQzlDOzRCQUNELE1BQU0sTUFBTSxHQUFHLGlCQUFpQixDQUFDOzRCQUNqQyxNQUFNLEdBQUcsR0FBRyxJQUFJLENBQUMsZUFBZSxDQUFDLFFBQVEsQ0FBQyxzQkFBc0IsQ0FBQzs0QkFDakUsSUFBSSxLQUFLLEdBQUcsSUFBSSxDQUFDOzRCQUNqQixJQUFJLE1BQU0sR0FBRyxLQUFLLENBQUM7NEJBQ25CLElBQUksQ0FBQyxPQUFPLENBQUMsYUFBYSxDQUFDLEVBQUU7Z0NBRXpCLEtBQUssR0FBRyxLQUFLLENBQUM7Z0NBQ2QsTUFBTSxHQUFHLElBQUksQ0FBQzs2QkFDakI7NEJBQ0QsTUFBTSxTQUFTLEdBQUcsSUFBSSxDQUFDLFlBQVksQ0FBQyxTQUFTLENBQUMsS0FBSyxDQUFDLENBQUM7NEJBQ3JELE1BQU0sU0FBUyxHQUFHLElBQUksQ0FBQyxTQUFTLENBQUMsU0FBUyxFQUFFLElBQUksRUFBRSxDQUFDLENBQUMsQ0FBQzs0QkFDckQsSUFBSSxDQUFDLFlBQVksQ0FBQyxLQUFLLENBQUMsTUFBTSxFQUFFLEdBQUcsRUFBRSxTQUFTLEVBQUUsU0FBUyxFQUFFLEtBQUssRUFBRSxTQUFTLEVBQUUsS0FBSyxFQUFFLE1BQU0sQ0FBQyxDQUFDLElBQUksQ0FBQyxDQUFDLE1BQU0sRUFBRSxFQUFFO2dDQUN4RyxJQUFJLENBQUMsT0FBTyxDQUFDLGFBQWEsQ0FBQyxFQUFFO29DQUN6QixJQUFJLENBQUMsTUFBTSxDQUFDLFFBQVEsQ0FBQyxDQUFDLGFBQWEsQ0FBQyxFQUFFO3dDQUNsQyxXQUFXLEVBQUU7NENBQ1QsY0FBYyxFQUFFLFNBQVM7NENBQ3pCLG1CQUFtQixFQUFFLFNBQVM7eUNBQ2pDO3FDQUNKLENBQUMsQ0FBQztpQ0FDTjs0QkFDTCxDQUFDLENBQUMsQ0FBQyxLQUFLLENBQUMsQ0FBQyxLQUFLLEVBQUUsRUFBRTtnQ0FDZixJQUFJLFlBQVksR0FBRyxJQUFJLENBQUMsV0FBVyxDQUFDLGVBQWUsQ0FBQyxLQUFLLENBQUMsQ0FBQztnQ0FDM0QsSUFBSSxLQUFLLENBQUMsVUFBVSxFQUFFO29DQUNsQixZQUFZLEdBQUcsS0FBSyxDQUFDLFVBQVUsR0FBRyxJQUFJLEdBQUcsWUFBWSxDQUFDO2lDQUN6RDtnQ0FDRCxJQUFJLEtBQUssQ0FBQyxNQUFNLEVBQUU7b0NBQ2QsWUFBWSxHQUFHLEtBQUssQ0FBQyxNQUFNLEdBQUcsR0FBRyxHQUFHLFlBQVksQ0FBQztpQ0FDcEQ7Z0NBQ0QsWUFBWSxHQUFHLGtFQUFrRSxHQUFHLFlBQVksQ0FBQztnQ0FDakcsTUFBTSxXQUFXLEdBQUcsSUFBSSxZQUFZLENBQ2hDLE9BQU8sRUFDUCxPQUFPLEVBQ1AsYUFBYSxFQUNiLG9DQUFvQyxHQUFHLFlBQVksQ0FDdEQsQ0FBQztnQ0FDRixJQUFJLENBQUMsY0FBYyxDQUFDLElBQUksQ0FBQyxXQUFXLENBQUMsQ0FBQztnQ0FDdEMsSUFBSSxDQUFDLE9BQU8sQ0FBQyxhQUFhLENBQUMsRUFBRTtvQ0FDekIsSUFBSSxDQUFDLE1BQU0sQ0FBQyxRQUFRLENBQUMsQ0FBQyxhQUFhLENBQUMsRUFBRTt3Q0FDbEMsV0FBVyxFQUFFOzRDQUNULGNBQWMsRUFBRSxRQUFROzRDQUN4QiwwQkFBMEIsRUFBRSxZQUFZOzRDQUN4QywwQkFBMEIsRUFBRSx1QkFBdUI7NENBQ25ELG1CQUFtQixFQUFFLFNBQVM7eUNBQ2pDO3FDQUNKLENBQUMsQ0FBQztpQ0FDTjtxQ0FBTTtvQ0FDSCxJQUFJLENBQUMsTUFBTSxDQUFDLFFBQVEsQ0FBQyxDQUFDLFFBQVEsQ0FBQyxDQUFDLENBQUM7aUNBQ3BDOzRCQUNMLENBQUMsQ0FBQyxDQUFDO3lCQUNOOzZCQUFNOzRCQUNILE1BQU0sV0FBVyxHQUFHLElBQUksWUFBWSxDQUNoQyxPQUFPLEVBQ1AsT0FBTyxFQUNQLGFBQWEsRUFDYixrQ0FBa0MsQ0FDckMsQ0FBQzs0QkFDRixJQUFJLENBQUMsY0FBYyxDQUFDLElBQUksQ0FBQyxXQUFXLENBQUMsQ0FBQzs0QkFDdEMsSUFBSSxDQUFDLE1BQU0sQ0FBQyxRQUFRLENBQUMsQ0FBQyxRQUFRLENBQUMsRUFBRTtnQ0FDN0IsV0FBVyxFQUFFO29DQUNULGNBQWMsRUFBRSxRQUFRO29DQUN4QiwwQkFBMEIsRUFBRSxvRUFBb0U7b0NBQ2hHLDBCQUEwQixFQUFFLHNCQUFzQjtpQ0FDckQ7NkJBQ0osQ0FBQyxDQUFDO3lCQUNOO29CQUNMLENBQUMsQ0FBQyxDQUFDLEtBQUssQ0FBQyxDQUFDLEtBQUssRUFBRSxFQUFFO3dCQUNmLE9BQU8sQ0FBQyxHQUFHLENBQUMsS0FBSyxDQUFDLENBQUM7d0JBQ25CLE1BQU0sWUFBWSxHQUFHLEdBQUcsS0FBSyxDQUFDLE1BQU0sQ0FBQyxDQUFDLENBQUMsS0FBSyxDQUFDLE1BQU0sQ0FBQyxLQUFLLEdBQUcsSUFBSSxHQUFHLEtBQUssQ0FBQyxNQUFNLENBQUMsaUJBQWlCLENBQUMsQ0FBQyxDQUFDLEVBQUUsRUFBRSxDQUFDO3dCQUN6RyxNQUFNLFdBQVcsR0FBRyxJQUFJLFlBQVksQ0FDaEMsT0FBTyxFQUNQLE9BQU8sRUFDUCxhQUFhLEVBQ2Isb0NBQW9DLEdBQUcsWUFBWSxDQUN0RCxDQUFDO3dCQUNGLElBQUksQ0FBQyxjQUFjLENBQUMsSUFBSSxDQUFDLFdBQVcsQ0FBQyxDQUFDO3dCQUN0QyxJQUFJLENBQUMsT0FBTyxDQUFDLGFBQWEsQ0FBQyxFQUFFOzRCQUN6QixJQUFJLENBQUMsTUFBTSxDQUFDLFFBQVEsQ0FBQyxDQUFDLGFBQWEsQ0FBQyxFQUFFO2dDQUNsQyxXQUFXLEVBQUU7b0NBQ1QsY0FBYyxFQUFFLFFBQVE7b0NBQ3hCLDBCQUEwQixFQUFFLFlBQVk7b0NBQ3hDLDBCQUEwQixFQUFFLHNCQUFzQjtpQ0FDckQ7NkJBQ0osQ0FBQyxDQUFDO3lCQUNOO29CQUNMLENBQUMsQ0FBQyxDQUFDO2dCQUNQLENBQUMsQ0FBQyxDQUFDLEtBQUssQ0FBQyxDQUFDLEtBQUssRUFBRSxFQUFFO29CQUNmLE1BQU0sWUFBWSxHQUFHLEdBQUcsS0FBSyxDQUFDLE1BQU0sQ0FBQyxDQUFDLENBQUMsS0FBSyxDQUFDLE1BQU0sQ0FBQyxLQUFLLEdBQUcsSUFBSSxHQUFHLEtBQUssQ0FBQyxNQUFNLENBQUMsaUJBQWlCLENBQUMsQ0FBQyxDQUFDLEVBQUUsRUFBRSxDQUFDO29CQUN6RyxNQUFNLFdBQVcsR0FBRyxJQUFJLFlBQVksQ0FDaEMsT0FBTyxFQUNQLE9BQU8sRUFDUCxhQUFhLEVBQ2Isb0NBQW9DLEdBQUcsWUFBWSxDQUN0RCxDQUFDO29CQUNGLElBQUksQ0FBQyxjQUFjLENBQUMsSUFBSSxDQUFDLFdBQVcsQ0FBQyxDQUFDO29CQUN0QyxJQUFJLENBQUMsT0FBTyxDQUFDLGFBQWEsQ0FBQyxFQUFFO3dCQUN6QixJQUFJLENBQUMsTUFBTSxDQUFDLFFBQVEsQ0FBQyxDQUFDLGFBQWEsQ0FBQyxFQUFFOzRCQUNsQyxXQUFXLEVBQUU7Z0NBQ1QsY0FBYyxFQUFFLFFBQVE7Z0NBQ3hCLDBCQUEwQixFQUFFLFlBQVk7Z0NBQ3hDLDBCQUEwQixFQUFFLHNCQUFzQjs2QkFDckQ7eUJBQ0osQ0FBQyxDQUFDO3FCQUNOO2dCQUNMLENBQUMsQ0FBQyxDQUFDO2FBQ047U0FDSjtRQUFDLE9BQU8sQ0FBQyxFQUFFO1lBQ1IsSUFBSSxDQUFDLE1BQU0sQ0FBQyxRQUFRLENBQUMsQ0FBQyxRQUFRLENBQUMsQ0FBQyxDQUFDO1NBQ3BDO0lBQ0wsQ0FBQzsrR0E3SVEsaUJBQWlCLDhDQUdkLGlCQUFpQiwrRkFJakIsaUJBQWlCLGFBQ2pCLGdCQUFnQjttR0FSbkIsaUJBQWlCLG9EQUZoQixvRUFBb0U7O1NBRXJFLGlCQUFpQjs0RkFBakIsaUJBQWlCO2tCQUo3QixTQUFTO21CQUFDO29CQUNQLFFBQVEsRUFBRSxjQUFjO29CQUN4QixRQUFRLEVBQUUsb0VBQW9FO2lCQUNqRjs7MEJBSVEsTUFBTTsyQkFBQyxpQkFBaUI7OzBCQUl4QixNQUFNOzJCQUFDLGlCQUFpQjs7MEJBQ3hCLE1BQU07MkJBQUMsZ0JBQWdCIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHtDb21wb25lbnQsIEluamVjdCwgT25Jbml0fSBmcm9tICdAYW5ndWxhci9jb3JlJztcbmltcG9ydCB7T0F1dGhTZXJ2aWNlfSBmcm9tIFwiYW5ndWxhci1vYXV0aDItb2lkY1wiO1xuaW1wb3J0IHtBY3RpdmF0ZWRSb3V0ZSwgUm91dGVyfSBmcm9tIFwiQGFuZ3VsYXIvcm91dGVyXCI7XG5pbXBvcnQge2lzRW1wdHl9IGZyb20gXCJsb2Rhc2hcIjtcbmltcG9ydCB7R3Jvd2xlck1vZGVsfSBmcm9tIFwiLi4vLi4vZmVhdHVyZXMvbWVzc2FnaW5nL2dyb3dsZXIubW9kZWxcIjtcbmltcG9ydCB7R3Jvd2xlclNlcnZpY2V9IGZyb20gXCIuLi8uLi9mZWF0dXJlcy9tZXNzYWdpbmcvZ3Jvd2xlci5zZXJ2aWNlXCI7XG5pbXBvcnQge0xvZ2luU2VydmljZUNsYXNzLCBaQUNfTE9HSU5fU0VSVklDRX0gZnJvbSBcIi4uLy4uL3NlcnZpY2VzL2xvZ2luLXNlcnZpY2UuY2xhc3NcIjtcbmltcG9ydCB7U2V0dGluZ3NTZXJ2aWNlQ2xhc3N9IGZyb20gXCIuLi8uLi9zZXJ2aWNlcy9zZXR0aW5ncy1zZXJ2aWNlLmNsYXNzXCI7XG5pbXBvcnQge1pJVElfREFUQV9TRVJWSUNFLCBaaXRpRGF0YVNlcnZpY2V9IGZyb20gXCIuLi8uLi9zZXJ2aWNlcy96aXRpLWRhdGEuc2VydmljZVwiO1xuaW1wb3J0IHtTRVRUSU5HU19TRVJWSUNFfSBmcm9tIFwiLi4vLi4vc2VydmljZXMvc2V0dGluZ3Muc2VydmljZVwiO1xuXG5AQ29tcG9uZW50KHtcbiAgICBzZWxlY3RvcjogJ2xpYi1jYWxsYmFjaycsXG4gICAgdGVtcGxhdGU6ICc8bGliLWxvYWRpbmctaW5kaWNhdG9yIFtpc0xvYWRpbmddPVwidHJ1ZVwiPjwvbGliLWxvYWRpbmctaW5kaWNhdG9yPicsXG59KVxuZXhwb3J0IGNsYXNzIENhbGxiYWNrQ29tcG9uZW50IGltcGxlbWVudHMgT25Jbml0IHtcbiAgICBjb25zdHJ1Y3RvcihcbiAgICAgICAgcHJpdmF0ZSBvYXV0aFNlcnZpY2U6IE9BdXRoU2VydmljZSxcbiAgICAgICAgQEluamVjdChaQUNfTE9HSU5fU0VSVklDRSkgcHJpdmF0ZSBsb2dpblNlcnZpY2U6IExvZ2luU2VydmljZUNsYXNzLFxuICAgICAgICBwcml2YXRlIGdyb3dsZXJTZXJ2aWNlOiBHcm93bGVyU2VydmljZSxcbiAgICAgICAgcHJpdmF0ZSByb3V0ZXI6IFJvdXRlcixcbiAgICAgICAgcHJpdmF0ZSByb3V0ZTogQWN0aXZhdGVkUm91dGUsXG4gICAgICAgIEBJbmplY3QoWklUSV9EQVRBX1NFUlZJQ0UpIHByaXZhdGUgeml0aVNlcnZpY2U6IFppdGlEYXRhU2VydmljZSxcbiAgICAgICAgQEluamVjdChTRVRUSU5HU19TRVJWSUNFKSBwcml2YXRlIHNldHRpbmdzU2VydmljZTogU2V0dGluZ3NTZXJ2aWNlQ2xhc3MsXG5cbiAgICApIHtcblxuICAgIH1cblxuICAgIG5nT25Jbml0KCkge1xuICAgICAgICB0cnkge1xuICAgICAgICAgICAgY29uc3QgY29uZmlnU3RyaW5nID0gbG9jYWxTdG9yYWdlLmdldEl0ZW0oJ29hdXRoX2NhbGxiYWNrX2NvbmZpZycpO1xuICAgICAgICAgICAgY29uc3QgdG9rZW5UeXBlID0gbG9jYWxTdG9yYWdlLmdldEl0ZW0oJ29hdXRoX2NhbGxiYWNrX3RhcmdldF90b2tlbicpO1xuICAgICAgICAgICAgY29uc3Qgb2F1dGhDb25maWcgPSBKU09OLnBhcnNlKGNvbmZpZ1N0cmluZyk7XG4gICAgICAgICAgICBjb25zdCByZWRpcmVjdFJvdXRlID0gdGhpcy5yb3V0ZS5zbmFwc2hvdC5xdWVyeVBhcmFtTWFwLmdldCgncmVkaXJlY3RSb3V0ZScpO1xuICAgICAgICAgICAgaWYgKCFpc0VtcHR5KG9hdXRoQ29uZmlnKSkge1xuICAgICAgICAgICAgICAgIHRoaXMub2F1dGhTZXJ2aWNlLmNvbmZpZ3VyZShvYXV0aENvbmZpZyk7XG4gICAgICAgICAgICAgICAgdGhpcy5vYXV0aFNlcnZpY2UubG9hZERpc2NvdmVyeURvY3VtZW50KCkudGhlbigobG9hZFJlc3VsdCkgPT4ge1xuICAgICAgICAgICAgICAgICAgICBjb25zb2xlLmxvZyhsb2FkUmVzdWx0KTtcbiAgICAgICAgICAgICAgICAgICAgdGhpcy5vYXV0aFNlcnZpY2UudHJ5TG9naW4oKS50aGVuKChyZXN1bHQpID0+IHtcbiAgICAgICAgICAgICAgICAgICAgICAgIGlmIChyZXN1bHQpIHtcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAvLyBIYW5kbGUgcG9zdC1sb2dpblxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIGxldCB0b2tlbjtcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICBpZiAodG9rZW5UeXBlID09PSAnSUQnKSB7XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHRva2VuID0gdGhpcy5vYXV0aFNlcnZpY2UuZ2V0SWRUb2tlbigpO1xuICAgICAgICAgICAgICAgICAgICAgICAgICAgIH0gZWxzZSB7XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHRva2VuID0gdGhpcy5vYXV0aFNlcnZpY2UuZ2V0QWNjZXNzVG9rZW4oKTtcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgY29uc3QgcHJlZml4ID0gJy9lZGdlL2NsaWVudC92MSc7XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgY29uc3QgdXJsID0gdGhpcy5zZXR0aW5nc1NlcnZpY2Uuc2V0dGluZ3Muc2VsZWN0ZWRFZGdlQ29udHJvbGxlcjtcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICBsZXQgZG9OYXYgPSB0cnVlO1xuICAgICAgICAgICAgICAgICAgICAgICAgICAgIGxldCBpc1Rlc3QgPSBmYWxzZTtcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICBpZiAoIWlzRW1wdHkocmVkaXJlY3RSb3V0ZSkpIHtcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGRvTmF2ID0gZmFsc2U7XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGlzVGVzdCA9IHRydWU7XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIGNvbnN0IGNsYWltc09iaiA9IHRoaXMubG9naW5TZXJ2aWNlLmRlY29kZUp3dCh0b2tlbik7XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgY29uc3QgY2xhaW1zU3RyID0gSlNPTi5zdHJpbmdpZnkoY2xhaW1zT2JqLCBudWxsLCAyKTtcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICB0aGlzLmxvZ2luU2VydmljZS5sb2dpbihwcmVmaXgsIHVybCwgdW5kZWZpbmVkLCB1bmRlZmluZWQsIGRvTmF2LCAnZXh0LWp3dCcsIHRva2VuLCBpc1Rlc3QpLnRoZW4oKHJlc3VsdCkgPT4ge1xuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBpZiAoIWlzRW1wdHkocmVkaXJlY3RSb3V0ZSkpIHtcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHRoaXMucm91dGVyLm5hdmlnYXRlKFtyZWRpcmVjdFJvdXRlXSwge1xuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHF1ZXJ5UGFyYW1zOiB7XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIG9pZGNBdXRoUmVzdWx0OiAnc3VjY2VzcycsXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIG9pZGNBdXRoVG9rZW5DbGFpbXM6IGNsYWltc1N0clxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIH0pO1xuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgfSkuY2F0Y2goKGVycm9yKSA9PiB7XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGxldCBlcnJvck1lc3NhZ2UgPSB0aGlzLnppdGlTZXJ2aWNlLmdldEVycm9yTWVzc2FnZShlcnJvcik7XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGlmIChlcnJvci5zdGF0dXNUZXh0KSB7XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBlcnJvck1lc3NhZ2UgPSBlcnJvci5zdGF0dXNUZXh0ICsgJzogJyArIGVycm9yTWVzc2FnZTtcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBpZiAoZXJyb3Iuc3RhdHVzKSB7XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBlcnJvck1lc3NhZ2UgPSBlcnJvci5zdGF0dXMgKyAnICcgKyBlcnJvck1lc3NhZ2U7XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgZXJyb3JNZXNzYWdlID0gJ0ZhaWxlZCB0byBnZXQgeml0aSBzZXNzaW9uIElEIGZyb20gY29udHJvbGxlciB1c2luZyBPSURDIHRva2VuOiAnICsgZXJyb3JNZXNzYWdlO1xuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBjb25zdCBncm93bGVyRGF0YSA9IG5ldyBHcm93bGVyTW9kZWwoXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAnZXJyb3InLFxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgJ0Vycm9yJyxcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGBMb2dpbiBFcnJvcmAsXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAnVW5hYmxlIHRvIGluaXRpYWxpemUgT0F1dGggbG9naW4uICcgKyBlcnJvck1lc3NhZ2UsXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICk7XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHRoaXMuZ3Jvd2xlclNlcnZpY2Uuc2hvdyhncm93bGVyRGF0YSk7XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGlmICghaXNFbXB0eShyZWRpcmVjdFJvdXRlKSkge1xuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgdGhpcy5yb3V0ZXIubmF2aWdhdGUoW3JlZGlyZWN0Um91dGVdLCB7XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgcXVlcnlQYXJhbXM6IHtcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgb2lkY0F1dGhSZXN1bHQ6ICdmYWlsZWQnLFxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBvaWRjQXV0aEVycm9yTWVzc2FnZURldGFpbDogZXJyb3JNZXNzYWdlLFxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBvaWRjQXV0aEVycm9yTWVzc2FnZVNvdXJjZTogJ1ppdGkgQ29udHJvbGxlciBFcnJvcicsXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIG9pZGNBdXRoVG9rZW5DbGFpbXM6IGNsYWltc1N0clxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIH0pO1xuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB9IGVsc2Uge1xuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgdGhpcy5yb3V0ZXIubmF2aWdhdGUoWycvbG9naW4nXSk7XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgICAgICAgICAgICAgICAgICB9KTtcbiAgICAgICAgICAgICAgICAgICAgICAgIH0gZWxzZSB7XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgY29uc3QgZ3Jvd2xlckRhdGEgPSBuZXcgR3Jvd2xlck1vZGVsKFxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAnZXJyb3InLFxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAnRXJyb3InLFxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBgTG9naW4gRXJyb3JgLFxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAnVW5hYmxlIHRvIGluaXRpYWxpemUgT0F1dGggbG9naW4nLFxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICk7XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgdGhpcy5ncm93bGVyU2VydmljZS5zaG93KGdyb3dsZXJEYXRhKTtcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICB0aGlzLnJvdXRlci5uYXZpZ2F0ZShbJy9sb2dpbiddLCB7XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHF1ZXJ5UGFyYW1zOiB7XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBvaWRjQXV0aFJlc3VsdDogJ2ZhaWxlZCcsXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBvaWRjQXV0aEVycm9yTWVzc2FnZURldGFpbDogJ1VuYWJsZSB0byBpbml0aWFsaXplIE9BdXRoIGxvZ2luLiBFbXB0eSByZXNwb25zZSBvZiBPQXV0aCBzZXJ2aWNlLicsXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBvaWRjQXV0aEVycm9yTWVzc2FnZVNvdXJjZTogJ09BdXRoIFByb3ZpZGVyIEVycm9yJyxcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIH0pO1xuICAgICAgICAgICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgICAgICAgICB9KS5jYXRjaCgoZXJyb3IpID0+IHtcbiAgICAgICAgICAgICAgICAgICAgICAgIGNvbnNvbGUubG9nKGVycm9yKTtcbiAgICAgICAgICAgICAgICAgICAgICAgIGNvbnN0IGVycm9yTWVzc2FnZSA9IGAke2Vycm9yLnBhcmFtcyA/IGVycm9yLnBhcmFtcy5lcnJvciArICc6ICcgKyBlcnJvci5wYXJhbXMuZXJyb3JfZGVzY3JpcHRpb24gOiAnJ31gO1xuICAgICAgICAgICAgICAgICAgICAgICAgY29uc3QgZ3Jvd2xlckRhdGEgPSBuZXcgR3Jvd2xlck1vZGVsKFxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICdlcnJvcicsXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgJ0Vycm9yJyxcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICBgTG9naW4gRXJyb3JgLFxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICdVbmFibGUgdG8gaW5pdGlhbGl6ZSBPQXV0aCBsb2dpbi4gJyArIGVycm9yTWVzc2FnZSxcbiAgICAgICAgICAgICAgICAgICAgICAgICk7XG4gICAgICAgICAgICAgICAgICAgICAgICB0aGlzLmdyb3dsZXJTZXJ2aWNlLnNob3coZ3Jvd2xlckRhdGEpO1xuICAgICAgICAgICAgICAgICAgICAgICAgaWYgKCFpc0VtcHR5KHJlZGlyZWN0Um91dGUpKSB7XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgdGhpcy5yb3V0ZXIubmF2aWdhdGUoW3JlZGlyZWN0Um91dGVdLCB7XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHF1ZXJ5UGFyYW1zOiB7XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBvaWRjQXV0aFJlc3VsdDogJ2ZhaWxlZCcsXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBvaWRjQXV0aEVycm9yTWVzc2FnZURldGFpbDogZXJyb3JNZXNzYWdlLFxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgb2lkY0F1dGhFcnJvck1lc3NhZ2VTb3VyY2U6ICdPQXV0aCBQcm92aWRlciBFcnJvcicsXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgICAgICAgICAgICAgICAgICB9KTtcbiAgICAgICAgICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgICAgICAgICAgfSk7XG4gICAgICAgICAgICAgICAgfSkuY2F0Y2goKGVycm9yKSA9PiB7XG4gICAgICAgICAgICAgICAgICAgIGNvbnN0IGVycm9yTWVzc2FnZSA9IGAke2Vycm9yLnBhcmFtcyA/IGVycm9yLnBhcmFtcy5lcnJvciArICc6ICcgKyBlcnJvci5wYXJhbXMuZXJyb3JfZGVzY3JpcHRpb24gOiAnJ31gO1xuICAgICAgICAgICAgICAgICAgICBjb25zdCBncm93bGVyRGF0YSA9IG5ldyBHcm93bGVyTW9kZWwoXG4gICAgICAgICAgICAgICAgICAgICAgICAnZXJyb3InLFxuICAgICAgICAgICAgICAgICAgICAgICAgJ0Vycm9yJyxcbiAgICAgICAgICAgICAgICAgICAgICAgIGBMb2dpbiBFcnJvcmAsXG4gICAgICAgICAgICAgICAgICAgICAgICAnVW5hYmxlIHRvIGluaXRpYWxpemUgT0F1dGggbG9naW4uICcgKyBlcnJvck1lc3NhZ2UsXG4gICAgICAgICAgICAgICAgICAgICk7XG4gICAgICAgICAgICAgICAgICAgIHRoaXMuZ3Jvd2xlclNlcnZpY2Uuc2hvdyhncm93bGVyRGF0YSk7XG4gICAgICAgICAgICAgICAgICAgIGlmICghaXNFbXB0eShyZWRpcmVjdFJvdXRlKSkge1xuICAgICAgICAgICAgICAgICAgICAgICAgdGhpcy5yb3V0ZXIubmF2aWdhdGUoW3JlZGlyZWN0Um91dGVdLCB7XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgcXVlcnlQYXJhbXM6IHtcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgb2lkY0F1dGhSZXN1bHQ6ICdmYWlsZWQnLFxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBvaWRjQXV0aEVycm9yTWVzc2FnZURldGFpbDogZXJyb3JNZXNzYWdlLFxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBvaWRjQXV0aEVycm9yTWVzc2FnZVNvdXJjZTogJ09BdXRoIFByb3ZpZGVyIEVycm9yJyxcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICAgICAgICAgICAgICB9KTtcbiAgICAgICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgICAgIH0pO1xuICAgICAgICAgICAgfVxuICAgICAgICB9IGNhdGNoIChlKSB7XG4gICAgICAgICAgICB0aGlzLnJvdXRlci5uYXZpZ2F0ZShbJy9sb2dpbiddKTtcbiAgICAgICAgfVxuICAgIH1cbn1cbiJdfQ==
|
|
@@ -238,7 +238,7 @@ class ZitiControllerDataService extends ZitiDataService {
|
|
|
238
238
|
let filterVal = '';
|
|
239
239
|
switch (filter.type) {
|
|
240
240
|
case 'TEXTINPUT':
|
|
241
|
-
const verb = filter.verb ? filter.verb : '
|
|
241
|
+
const verb = filter.verb ? filter.verb : 'icontains';
|
|
242
242
|
filterVal = `${filter.columnId} ${verb} "${filter.value}"`;
|
|
243
243
|
break;
|
|
244
244
|
case 'SELECT':
|
|
@@ -256,7 +256,7 @@ class ZitiControllerDataService extends ZitiDataService {
|
|
|
256
256
|
filterVal = `${filter.columnId}=${filter.value}`;
|
|
257
257
|
break;
|
|
258
258
|
default:
|
|
259
|
-
filterVal = `${filter.columnId}
|
|
259
|
+
filterVal = `${filter.columnId} icontains "${filter.value}"`;
|
|
260
260
|
break;
|
|
261
261
|
}
|
|
262
262
|
if (index <= 0) {
|
|
@@ -311,4 +311,4 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "16.2.12", ngImpo
|
|
|
311
311
|
type: Inject,
|
|
312
312
|
args: [SETTINGS_SERVICE]
|
|
313
313
|
}] }, { type: i3.HttpClient }, { type: i4.Router }]; } });
|
|
314
|
-
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoieml0aS1jb250cm9sbGVyLWRhdGEuc2VydmljZS5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL3ppdGktY29uc29sZS1saWIvc3JjL2xpYi9zZXJ2aWNlcy96aXRpLWNvbnRyb2xsZXItZGF0YS5zZXJ2aWNlLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBOzs7Ozs7Ozs7Ozs7OztFQWNFO0FBRUYsT0FBTyxFQUFFLFVBQVUsRUFBRSxNQUFNLEVBQUUsTUFBTSxlQUFlLENBQUM7QUFJbkQsT0FBTyxFQUFDLGdCQUFnQixFQUFrQixNQUFNLG9CQUFvQixDQUFDO0FBQ3JFLE9BQU8sRUFBQyxjQUFjLEVBQUUsR0FBRyxFQUFhLE1BQU0sTUFBTSxDQUFDO0FBQ3JELE9BQU8sRUFBQyxVQUFVLEVBQUMsTUFBTSxnQkFBZ0IsQ0FBQztBQUcxQyxPQUFPLEVBQUMsZUFBZSxFQUFDLE1BQU0scUJBQXFCLENBQUM7QUFDcEQsT0FBTyxFQUFDLE9BQU8sRUFBRSxPQUFPLEVBQUUsUUFBUSxFQUFFLFNBQVMsRUFBQyxNQUFNLFFBQVEsQ0FBQztBQUM3RCxPQUFPLEVBQUMsUUFBUSxFQUFDLE1BQU0sOEJBQThCLENBQUM7QUFDdEQsT0FBTyxNQUFNLE1BQU0sUUFBUSxDQUFDOzs7Ozs7O0FBRTVCLE1BR2EseUJBQTBCLFNBQVEsZUFBZTtJQUUxRCxZQUFxQixNQUFxQixFQUNyQixPQUF1QixFQUNOLGVBQWdDLEVBQ2pELFVBQXNCLEVBQ3RCLE1BQWM7UUFFL0IsS0FBSyxDQUFDLE1BQU0sRUFBRSxPQUFPLEVBQUUsZUFBZSxFQUFFLFVBQVUsRUFBRSxNQUFNLENBQUMsQ0FBQztRQU4zQyxXQUFNLEdBQU4sTUFBTSxDQUFlO1FBQ3JCLFlBQU8sR0FBUCxPQUFPLENBQWdCO1FBRXZCLGVBQVUsR0FBVixVQUFVLENBQVk7UUFDdEIsV0FBTSxHQUFOLE1BQU0sQ0FBUTtJQUduQyxDQUFDO0lBRUQsSUFBSSxDQUFDLElBQUksRUFBRSxLQUFLLEVBQUUsT0FBTyxHQUFHLEtBQUssRUFBRSxXQUFZO1FBQzNDLE1BQU0sV0FBVyxHQUFHLElBQUksQ0FBQyxlQUFlLENBQUMsV0FBVyxJQUFJLEVBQUUsQ0FBQztRQUMzRCxNQUFNLE1BQU0sR0FBRyxXQUFXLENBQUMsaUJBQWlCLENBQUMsRUFBRSxFQUFFLEVBQUUsSUFBSSxDQUFDO1FBQ3hELE1BQU0sR0FBRyxHQUFHLElBQUksQ0FBQyxlQUFlLENBQUMsUUFBUSxDQUFDLHNCQUFzQixDQUFDO1FBQ2pFLE1BQU0sVUFBVSxHQUFHLEdBQUcsR0FBRyxNQUFNLEdBQUcsR0FBRyxHQUFHLElBQUksQ0FBQztRQUM3QyxJQUFJLE9BQU8sR0FBRyxFQUFFLENBQUM7UUFDakIsSUFBSSxXQUFXLEVBQUU7WUFDYixNQUFNLE9BQU8sR0FBRztnQkFDWixjQUFjLEVBQUUsV0FBVzthQUM5QixDQUFBO1lBQ0QsT0FBTyxHQUFHLEVBQUUsT0FBTyxFQUFFLENBQUM7U0FDekI7UUFDRCxPQUFPLGNBQWMsQ0FBQyxJQUFJLENBQUMsVUFBVSxDQUFDLElBQUksQ0FBQyxVQUFVLEVBQUUsS0FBSyxFQUFFLE9BQU8sQ0FBQyxDQUFDLElBQUksQ0FDbkUsVUFBVSxDQUFDLENBQUMsR0FBUSxFQUFFLEVBQUU7WUFDcEIsTUFBTSxLQUFLLEdBQUcsdUJBQXVCLENBQUM7WUFDdEMsSUFBSSxHQUFHLENBQUMsSUFBSSxLQUFLLGNBQWM7Z0JBQUUsTUFBSyxDQUFDLEdBQUcsQ0FBQyxDQUFDO1lBQzVDLE1BQUssQ0FBQyxFQUFDLEtBQUssRUFBRSxLQUFLLEVBQUMsQ0FBQyxDQUFDO1FBQzFCLENBQUMsQ0FBQyxFQUNGLEdBQUcsQ0FBQyxDQUFDLE1BQVcsRUFBRSxFQUFFO1lBQ2hCLE9BQU8sTUFBTSxDQUFDO1FBQ2xCLENBQUMsQ0FBQyxDQUNMLENBQ0osQ0FBQztJQUNOLENBQUM7SUFFRCxHQUFHLENBQUMsSUFBSSxFQUFFLEtBQUssRUFBRSxFQUFFLEVBQUUsT0FBTyxHQUFHLEtBQUs7UUFDaEMsTUFBTSxXQUFXLEdBQUcsSUFBSSxDQUFDLGVBQWUsQ0FBQyxXQUFXLElBQUksRUFBRSxDQUFDO1FBQzNELE1BQU0sTUFBTSxHQUFHLFdBQVcsQ0FBQyxpQkFBaUIsQ0FBQyxFQUFFLEVBQUUsRUFBRSxJQUFJLElBQUkscUJBQXFCLENBQUM7UUFDakYsTUFBTSxHQUFHLEdBQUcsSUFBSSxDQUFDLGVBQWUsQ0FBQyxRQUFRLENBQUMsc0JBQXNCLENBQUM7UUFDakUsTUFBTSxVQUFVLEdBQUcsR0FBRyxHQUFHLE1BQU0sR0FBRyxHQUFHLEdBQUcsSUFBSSxHQUFHLEdBQUcsR0FBRyxFQUFFLENBQUM7UUFDeEQsSUFBSSxDQUFDLFVBQVUsQ0FBQyxLQUFLLENBQUMsVUFBVSxFQUFFLEtBQUssRUFBRSxFQUFFLENBQUMsQ0FBQztRQUU3QyxPQUFPLGNBQWMsQ0FBQyxJQUFJLENBQUMsVUFBVSxDQUFDLEdBQUcsQ0FBQyxVQUFVLEVBQUUsS0FBSyxFQUFFLEVBQUUsQ0FBQyxDQUFDLElBQUksQ0FDN0QsVUFBVSxDQUFDLENBQUMsR0FBUSxFQUFFLEVBQUU7WUFDcEIsTUFBTSxLQUFLLEdBQUcsdUJBQXVCLENBQUM7WUFDdEMsSUFBSSxHQUFHLENBQUMsSUFBSSxLQUFLLGNBQWM7Z0JBQUUsTUFBSyxDQUFDLEdBQUcsQ0FBQyxDQUFDO1lBQzVDLE1BQUssQ0FBQyxFQUFDLEtBQUssRUFBRSxLQUFLLEVBQUMsQ0FBQyxDQUFDO1FBQzFCLENBQUMsQ0FBQyxFQUNGLEdBQUcsQ0FBQyxDQUFDLE1BQVcsRUFBRSxFQUFFO1lBQ2hCLE9BQU8sTUFBTSxDQUFDO1FBQ2xCLENBQUMsQ0FBQyxDQUNMLENBQ0osQ0FBQztJQUNOLENBQUM7SUFFRCxLQUFLLENBQUMsSUFBSSxFQUFFLEtBQUssRUFBRSxFQUFFLEVBQUUsT0FBTyxHQUFHLEtBQUs7UUFDbEMsTUFBTSxXQUFXLEdBQUcsSUFBSSxDQUFDLGVBQWUsQ0FBQyxXQUFXLElBQUksRUFBRSxDQUFDO1FBQzNELE1BQU0sTUFBTSxHQUFHLFdBQVcsQ0FBQyxpQkFBaUIsQ0FBQyxFQUFFLEVBQUUsRUFBRSxJQUFJLElBQUkscUJBQXFCLENBQUM7UUFDakYsTUFBTSxHQUFHLEdBQUcsSUFBSSxDQUFDLGVBQWUsQ0FBQyxRQUFRLENBQUMsc0JBQXNCLENBQUM7UUFDakUsTUFBTSxVQUFVLEdBQUcsR0FBRyxHQUFHLE1BQU0sR0FBRyxHQUFHLEdBQUcsSUFBSSxHQUFHLEdBQUcsR0FBRyxFQUFFLENBQUM7UUFDeEQsSUFBSSxDQUFDLFVBQVUsQ0FBQyxLQUFLLENBQUMsVUFBVSxFQUFFLEtBQUssRUFBRSxFQUFFLENBQUMsQ0FBQztRQUU3QyxPQUFPLGNBQWMsQ0FBQyxJQUFJLENBQUMsVUFBVSxDQUFDLEtBQUssQ0FBQyxVQUFVLEVBQUUsS0FBSyxFQUFFLEVBQUUsQ0FBQyxDQUFDLElBQUksQ0FDL0QsVUFBVSxDQUFDLENBQUMsR0FBUSxFQUFFLEVBQUU7WUFDcEIsTUFBTSxLQUFLLEdBQUcsdUJBQXVCLENBQUM7WUFDdEMsSUFBSSxHQUFHLENBQUMsSUFBSSxLQUFLLGNBQWM7Z0JBQUUsTUFBSyxDQUFDLEdBQUcsQ0FBQyxDQUFDO1lBQzVDLE1BQUssQ0FBQyxFQUFDLEtBQUssRUFBRSxLQUFLLEVBQUMsQ0FBQyxDQUFDO1FBQzFCLENBQUMsQ0FBQyxFQUNGLEdBQUcsQ0FBQyxDQUFDLE1BQVcsRUFBRSxFQUFFO1lBQ2hCLE9BQU8sTUFBTSxDQUFDO1FBQ2xCLENBQUMsQ0FBQyxDQUNMLENBQ0osQ0FBQztJQUNOLENBQUM7SUFFRCxHQUFHLENBQUMsSUFBWSxFQUFFLE1BQVcsRUFBRSxVQUF1QixFQUFFLEVBQUUsR0FBSSxFQUFFLFNBQVU7UUFDdEUsTUFBTSxXQUFXLEdBQUcsSUFBSSxDQUFDLGVBQWUsQ0FBQyxXQUFXLElBQUksRUFBRSxDQUFDO1FBQzNELE1BQU0sYUFBYSxHQUFHLFdBQVcsQ0FBQyxpQkFBaUIsQ0FBQyxFQUFFLEVBQUUsRUFBRSxJQUFJLElBQUkscUJBQXFCLENBQUM7UUFDeEYsTUFBTSxTQUFTLEdBQUcsaUJBQWlCLENBQUM7UUFDcEMsTUFBTSxNQUFNLEdBQUcsU0FBUyxDQUFDLENBQUMsQ0FBQyxTQUFTLENBQUMsQ0FBQyxDQUFDLGFBQWEsQ0FBQztRQUNyRCxHQUFHLEdBQUcsSUFBSSxDQUFDLGVBQWUsQ0FBQyxRQUFRLENBQUMsc0JBQXNCLENBQUM7UUFDM0QsTUFBTSxTQUFTLEdBQUcsSUFBSSxDQUFDLFlBQVksQ0FBQyxNQUFNLEVBQUUsT0FBTyxDQUFDLENBQUM7UUFDckQsTUFBTSxVQUFVLEdBQUcsR0FBRyxHQUFHLE1BQU0sR0FBRyxHQUFHLEdBQUcsSUFBSSxHQUFHLFNBQVMsQ0FBQztRQUV6RCxPQUFPLGNBQWMsQ0FBQyxJQUFJLENBQUMsVUFBVSxDQUFDLEdBQUcsQ0FBQyxVQUFVLEVBQUMsRUFBRSxDQUFDLENBQUMsSUFBSSxDQUNyRCxVQUFVLENBQUMsQ0FBQyxHQUFRLEVBQUUsRUFBRTtZQUNwQixNQUFNLEtBQUssR0FBRyx1QkFBdUIsQ0FBQztZQUN0QyxJQUFJLEdBQUcsQ0FBQyxJQUFJLElBQUksY0FBYztnQkFBRSxNQUFLLENBQUMsRUFBQyxLQUFLLEVBQUUsR0FBRyxDQUFDLElBQUksRUFBQyxDQUFDLENBQUM7WUFDekQsTUFBSyxDQUFDLEVBQUMsS0FBSyxFQUFFLEtBQUssRUFBQyxDQUFDLENBQUM7UUFDMUIsQ0FBQyxDQUFDLEVBQ0YsR0FBRyxDQUFDLENBQUMsT0FBWSxFQUFFLEVBQUU7WUFDakIsT0FBTyxPQUFPLENBQUM7UUFDbkIsQ0FBQyxDQUFDLENBQ0wsQ0FDSixDQUFDO0lBQ04sQ0FBQztJQUVELFVBQVUsQ0FBQyxVQUFrQixFQUFFLEVBQU8sRUFBRSxRQUFnQixFQUFFLE1BQVksRUFBRSxXQUFpQjtRQUNyRixNQUFNLFdBQVcsR0FBRyxJQUFJLENBQUMsZUFBZSxDQUFDLFdBQVcsSUFBSSxFQUFFLENBQUM7UUFDM0QsTUFBTSxNQUFNLEdBQUcsV0FBVyxDQUFDLGlCQUFpQixDQUFDLEVBQUUsRUFBRSxFQUFFLElBQUksSUFBSSxxQkFBcUIsQ0FBQztRQUVqRixJQUFJLFNBQVMsR0FBRyxFQUFFLENBQUM7UUFDbkIsSUFBSSxDQUFDLE9BQU8sQ0FBQyxNQUFNLENBQUMsRUFBRTtZQUNsQixTQUFTLEdBQUcsSUFBSSxDQUFDLFlBQVksQ0FBQyxNQUFNLEVBQUUsRUFBRSxDQUFDLENBQUM7U0FDN0M7UUFDRCxNQUFNLEdBQUcsR0FBRyxJQUFJLENBQUMsZUFBZSxDQUFDLFFBQVEsQ0FBQyxzQkFBc0IsR0FBRyxHQUFHLE1BQU0sSUFBSSxVQUFVLElBQUksRUFBRSxJQUFJLFFBQVEsSUFBSSxTQUFTLEVBQUUsQ0FBQztRQUU1SCxJQUFJLE9BQU8sR0FBUSxFQUFFLENBQUM7UUFDdEIsSUFBSSxXQUFXLEVBQUU7WUFDYixNQUFNLE9BQU8sR0FBRztnQkFDWixRQUFRLEVBQUUsV0FBVztnQkFDckIsY0FBYyxFQUFFLFdBQVc7YUFDOUIsQ0FBQTtZQUNELE9BQU8sR0FBRyxFQUFFLE9BQU8sRUFBRSxDQUFDO1lBQ3RCLElBQUksV0FBVyxDQUFDLE9BQU8sQ0FBQyxpQkFBaUIsQ0FBQyxJQUFJLENBQUMsRUFBRTtnQkFDN0MsT0FBTyxDQUFDLFlBQVksR0FBRyxNQUFNLENBQUM7YUFDakM7U0FDSjtRQUVELE9BQU8sY0FBYyxDQUFDLElBQUksQ0FBQyxVQUFVLENBQUMsR0FBRyxDQUFDLEdBQUcsRUFBRSxPQUFPLENBQUMsQ0FBQyxJQUFJLENBQ3BELFVBQVUsQ0FBQyxDQUFDLEdBQVEsRUFBRSxFQUFFO1lBQ3BCLE1BQU0sS0FBSyxHQUFHLHVCQUF1QixDQUFDO1lBQ3RDLElBQUksR0FBRyxDQUFDLElBQUksSUFBSSxjQUFjO2dCQUFFLE1BQUssQ0FBQyxFQUFDLEtBQUssRUFBRSxHQUFHLENBQUMsSUFBSSxFQUFDLENBQUMsQ0FBQztZQUN6RCxNQUFLLENBQUMsRUFBQyxLQUFLLEVBQUUsS0FBSyxFQUFDLENBQUMsQ0FBQztRQUMxQixDQUFDLENBQUMsQ0FDTCxDQUNKLENBQUM7SUFDTixDQUFDO0lBRUQsV0FBVyxDQUFDLFVBQWtCLEVBQUUsRUFBTyxFQUFFLFFBQWdCLEVBQUUsTUFBVztRQUNsRSxNQUFNLFdBQVcsR0FBRyxJQUFJLENBQUMsZUFBZSxDQUFDLFdBQVcsSUFBSSxFQUFFLENBQUM7UUFDM0QsTUFBTSxNQUFNLEdBQUcsV0FBVyxDQUFDLGlCQUFpQixDQUFDLEVBQUUsRUFBRSxFQUFFLElBQUksSUFBSSxxQkFBcUIsQ0FBQztRQUNqRixNQUFNLEdBQUcsR0FBRyxJQUFJLENBQUMsZUFBZSxDQUFDLFFBQVEsQ0FBQyxzQkFBc0IsR0FBRyxHQUFHLE1BQU0sSUFBSSxVQUFVLElBQUksRUFBRSxJQUFJLFFBQVEsRUFBRSxDQUFDO1FBRS9HLE9BQU8sY0FBYyxDQUFDLElBQUksQ0FBQyxVQUFVLENBQUMsSUFBSSxDQUFDLEdBQUcsRUFBRSxNQUFNLEVBQUUsRUFBRSxDQUFDLENBQUMsSUFBSSxDQUN4RCxVQUFVLENBQUMsQ0FBQyxHQUFRLEVBQUUsRUFBRTtZQUNwQixNQUFNLEtBQUssR0FBRyx1QkFBdUIsQ0FBQztZQUN0QyxJQUFJLEdBQUcsQ0FBQyxJQUFJLElBQUksY0FBYztnQkFBRSxNQUFLLENBQUMsRUFBQyxLQUFLLEVBQUUsR0FBRyxDQUFDLElBQUksRUFBQyxDQUFDLENBQUM7WUFDekQsTUFBSyxDQUFDLEVBQUMsS0FBSyxFQUFFLEtBQUssRUFBQyxDQUFDLENBQUM7UUFDMUIsQ0FBQyxDQUFDLENBQ0wsQ0FDSixDQUFDO0lBQ04sQ0FBQztJQUVELGFBQWEsQ0FBQyxVQUFrQixFQUFFLEVBQU8sRUFBRSxRQUFnQixFQUFFLE1BQVc7UUFDcEUsTUFBTSxXQUFXLEdBQUcsSUFBSSxDQUFDLGVBQWUsQ0FBQyxXQUFXLElBQUksRUFBRSxDQUFDO1FBQzNELE1BQU0sTUFBTSxHQUFHLFdBQVcsQ0FBQyxpQkFBaUIsQ0FBQyxFQUFFLEVBQUUsRUFBRSxJQUFJLElBQUkscUJBQXFCLENBQUM7UUFDakYsTUFBTSxHQUFHLEdBQUcsSUFBSSxDQUFDLGVBQWUsQ0FBQyxRQUFRLENBQUMsc0JBQXNCLEdBQUcsR0FBRyxNQUFNLElBQUksVUFBVSxJQUFJLEVBQUUsSUFBSSxRQUFRLEVBQUUsQ0FBQztRQUUvRyxPQUFPLGNBQWMsQ0FBQyxJQUFJLENBQUMsVUFBVSxDQUFDLE1BQU0sQ0FBQyxHQUFHLEVBQUUsRUFBQyxJQUFJLEVBQUUsTUFBTSxFQUFDLENBQUMsQ0FBQyxJQUFJLENBQzlELFVBQVUsQ0FBQyxDQUFDLEdBQVEsRUFBRSxFQUFFO1lBQ3BCLE1BQU0sS0FBSyxHQUFHLHVCQUF1QixDQUFDO1lBQ3RDLElBQUksR0FBRyxDQUFDLElBQUksSUFBSSxjQUFjO2dCQUFFLE1BQUssQ0FBQyxFQUFDLEtBQUssRUFBRSxHQUFHLENBQUMsSUFBSSxFQUFDLENBQUMsQ0FBQztZQUN6RCxNQUFLLENBQUMsRUFBQyxLQUFLLEVBQUUsS0FBSyxFQUFDLENBQUMsQ0FBQztRQUMxQixDQUFDLENBQUMsQ0FDTCxDQUNKLENBQUM7SUFDTixDQUFDO0lBRVEsZUFBZSxDQUFDLEVBQVUsRUFBRSxJQUFTO1FBQzFDLE1BQU0sV0FBVyxHQUFHLElBQUksQ0FBQyxlQUFlLENBQUMsV0FBVyxJQUFJLEVBQUUsQ0FBQztRQUMzRCxNQUFNLE1BQU0sR0FBRyxXQUFXLENBQUMsaUJBQWlCLENBQUMsRUFBRSxFQUFFLEVBQUUsSUFBSSxJQUFJLHFCQUFxQixDQUFDO1FBQ2pGLE1BQU0sR0FBRyxHQUFHLElBQUksQ0FBQyxlQUFlLENBQUMsUUFBUSxDQUFDLHNCQUFzQixHQUFHLEdBQUcsTUFBTSxtQkFBbUIsRUFBRSxDQUFDLElBQUksRUFBRSxZQUFZLENBQUM7UUFDckgsTUFBTSxTQUFTLEdBQUcsTUFBTSxDQUFDLElBQUksQ0FBQyxDQUFDLEdBQUcsRUFBRSxDQUFDLFdBQVcsRUFBRSxDQUFDO1FBQ25ELE1BQU0sSUFBSSxHQUFHLEVBQUUsU0FBUyxFQUFFLFNBQVMsRUFBRSxDQUFDO1FBQ3RDLE9BQU8sY0FBYyxDQUFDLElBQUksQ0FBQyxVQUFVLENBQUMsSUFBSSxDQUFDLEdBQUcsRUFBRSxJQUFJLENBQUMsQ0FBQyxJQUFJLENBQ2xELFVBQVUsQ0FBQyxDQUFDLEdBQVEsRUFBRSxFQUFFO1lBQ3BCLE1BQU0sS0FBSyxHQUFHLHVCQUF1QixDQUFDO1lBQ3RDLElBQUksR0FBRyxDQUFDLElBQUksSUFBSSxjQUFjO2dCQUFFLE1BQUssQ0FBQyxFQUFDLEtBQUssRUFBRSxHQUFHLENBQUMsSUFBSSxFQUFDLENBQUMsQ0FBQztZQUN6RCxNQUFLLENBQUMsRUFBQyxLQUFLLEVBQUUsS0FBSyxFQUFDLENBQUMsQ0FBQztRQUMxQixDQUFDLENBQUMsQ0FDTCxDQUNKLENBQUM7SUFDTixDQUFDO0lBRVEsaUJBQWlCLENBQUMsRUFBVSxFQUFFLElBQUk7UUFDdkMsTUFBTSxXQUFXLEdBQUcsSUFBSSxDQUFDLGVBQWUsQ0FBQyxXQUFXLElBQUksRUFBRSxDQUFDO1FBQzNELE1BQU0sTUFBTSxHQUFHLFdBQVcsQ0FBQyxpQkFBaUIsQ0FBQyxFQUFFLEVBQUUsRUFBRSxJQUFJLElBQUkscUJBQXFCLENBQUM7UUFDakYsTUFBTSxHQUFHLEdBQUcsSUFBSSxDQUFDLGVBQWUsQ0FBQyxRQUFRLENBQUMsc0JBQXNCLEdBQUcsR0FBRyxNQUFNLGdCQUFnQixFQUFFLFVBQVUsQ0FBQztRQUN6RyxNQUFNLFNBQVMsR0FBRyxNQUFNLENBQUMsSUFBSSxDQUFDLENBQUMsR0FBRyxFQUFFLENBQUMsV0FBVyxFQUFFLENBQUM7UUFDbkQsTUFBTSxJQUFJLEdBQUcsRUFBRSxTQUFTLEVBQUUsU0FBUyxFQUFFLENBQUM7UUFDdEMsT0FBTyxjQUFjLENBQUMsSUFBSSxDQUFDLFVBQVUsQ0FBQyxJQUFJLENBQUMsR0FBRyxFQUFFLElBQUksQ0FBQyxDQUFDLElBQUksQ0FDbEQsVUFBVSxDQUFDLENBQUMsR0FBUSxFQUFFLEVBQUU7WUFDcEIsTUFBTSxLQUFLLEdBQUcsdUJBQXVCLENBQUM7WUFDdEMsSUFBSSxHQUFHLENBQUMsSUFBSSxJQUFJLGNBQWM7Z0JBQUUsTUFBSyxDQUFDLEVBQUMsS0FBSyxFQUFFLEdBQUcsQ0FBQyxJQUFJLEVBQUMsQ0FBQyxDQUFDO1lBQ3pELE1BQUssQ0FBQyxFQUFDLEtBQUssRUFBRSxLQUFLLEVBQUMsQ0FBQyxDQUFDO1FBQzFCLENBQUMsQ0FBQyxDQUNMLENBQ0osQ0FBQztJQUNOLENBQUM7SUFFRCxRQUFRLENBQUMsRUFBRTtRQUNQLE1BQU0sV0FBVyxHQUFHLElBQUksQ0FBQyxlQUFlLENBQUMsV0FBVyxJQUFJLEVBQUUsQ0FBQztRQUMzRCxNQUFNLE1BQU0sR0FBRyxXQUFXLENBQUMsaUJBQWlCLENBQUMsRUFBRSxFQUFFLEVBQUUsSUFBSSxJQUFJLHFCQUFxQixDQUFDO1FBQ2pGLE1BQU0sR0FBRyxHQUFHLElBQUksQ0FBQyxlQUFlLENBQUMsUUFBUSxDQUFDLHNCQUFzQixHQUFHLEdBQUcsTUFBTSxlQUFlLEVBQUUsTUFBTSxDQUFDO1FBQ3BHLE9BQU8sY0FBYyxDQUFDLElBQUksQ0FBQyxVQUFVLENBQUMsTUFBTSxDQUFDLEdBQUcsQ0FBQyxDQUFDLElBQUksQ0FDOUMsVUFBVSxDQUFDLENBQUMsR0FBUSxFQUFFLEVBQUU7WUFDcEIsTUFBTSxLQUFLLEdBQUcsdUJBQXVCLENBQUM7WUFDdEMsSUFBSSxHQUFHLENBQUMsSUFBSSxJQUFJLGNBQWM7Z0JBQUUsTUFBSyxDQUFDLEVBQUMsS0FBSyxFQUFFLEdBQUcsQ0FBQyxJQUFJLEVBQUMsQ0FBQyxDQUFDO1lBQ3pELE1BQUssQ0FBQyxFQUFDLEtBQUssRUFBRSxLQUFLLEVBQUMsQ0FBQyxDQUFDO1FBQzFCLENBQUMsQ0FBQyxDQUNMLENBQ0osQ0FBQztJQUNOLENBQUM7SUFFRCxNQUFNLENBQUMsSUFBWSxFQUFFLEVBQVU7UUFDM0IsTUFBTSxXQUFXLEdBQUcsSUFBSSxDQUFDLGVBQWUsQ0FBQyxXQUFXLElBQUksRUFBRSxDQUFDO1FBQzNELE1BQU0sTUFBTSxHQUFHLFdBQVcsQ0FBQyxpQkFBaUIsQ0FBQyxFQUFFLEVBQUUsRUFBRSxJQUFJLENBQUM7UUFDeEQsTUFBTSxHQUFHLEdBQUcsSUFBSSxDQUFDLGVBQWUsQ0FBQyxRQUFRLENBQUMsc0JBQXNCLENBQUM7UUFDakUsTUFBTSxVQUFVLEdBQUcsR0FBRyxHQUFHLE1BQU0sR0FBRyxHQUFHLEdBQUcsSUFBSSxHQUFHLEdBQUcsR0FBRyxFQUFFLENBQUM7UUFFeEQsT0FBTyxjQUFjLENBQUMsSUFBSSxDQUFDLFVBQVUsQ0FBQyxNQUFNLENBQUMsVUFBVSxFQUFFLEVBQUUsQ0FBQyxDQUFDLElBQUksQ0FDekQsVUFBVSxDQUFDLENBQUMsR0FBUSxFQUFFLEVBQUU7WUFDcEIsTUFBTSxLQUFLLEdBQUcsdUJBQXVCLENBQUM7WUFDdEMsSUFBSSxHQUFHLENBQUMsSUFBSSxJQUFJLGNBQWM7Z0JBQUUsTUFBSyxDQUFDLEVBQUMsS0FBSyxFQUFFLEdBQUcsQ0FBQyxJQUFJLEVBQUMsQ0FBQyxDQUFDO1lBQ3pELE1BQUssQ0FBQyxFQUFDLEtBQUssRUFBRSxLQUFLLEVBQUMsQ0FBQyxDQUFDO1FBQzFCLENBQUMsQ0FBQyxFQUNGLEdBQUcsQ0FBQyxDQUFDLE9BQVksRUFBRSxFQUFFO1lBQ2pCLE9BQU8sT0FBTyxDQUFDO1FBQ25CLENBQUMsQ0FBQyxDQUNMLENBQ0osQ0FBQztJQUNOLENBQUM7SUFFRCxJQUFJLENBQUMsT0FBTztRQUNSLE1BQU0sV0FBVyxHQUFHLElBQUksQ0FBQyxlQUFlLENBQUMsV0FBVyxJQUFJLEVBQUUsQ0FBQztRQUMzRCxNQUFNLE1BQU0sR0FBRyxXQUFXLENBQUMsaUJBQWlCLENBQUMsRUFBRSxFQUFFLEVBQUUsSUFBSSxDQUFDO1FBQ3hELE1BQU0sR0FBRyxHQUFHLElBQUksQ0FBQyxlQUFlLENBQUMsUUFBUSxDQUFDLHNCQUFzQixDQUFDO1FBQ2pFLE1BQU0sVUFBVSxHQUFHLEdBQUcsR0FBRyxNQUFNLEdBQUcsR0FBRyxHQUFHLE9BQU8sQ0FBQztRQUVoRCxPQUFPLGNBQWMsQ0FBQyxJQUFJLENBQUMsVUFBVSxDQUFDLEdBQUcsQ0FBQyxVQUFVLEVBQUUsRUFBRSxDQUFDLENBQUMsSUFBSSxDQUN0RCxVQUFVLENBQUMsQ0FBQyxHQUFRLEVBQUUsRUFBRTtZQUNwQixNQUFNLEtBQUssR0FBRyx1QkFBdUIsQ0FBQztZQUN0QyxJQUFJLEdBQUcsQ0FBQyxJQUFJLElBQUksY0FBYztnQkFBRSxNQUFLLENBQUMsRUFBQyxLQUFLLEVBQUUsR0FBRyxDQUFDLElBQUksRUFBQyxDQUFDLENBQUM7WUFDekQsTUFBSyxDQUFDLEVBQUMsS0FBSyxFQUFFLEtBQUssRUFBQyxDQUFDLENBQUM7UUFDMUIsQ0FBQyxDQUFDLEVBQ0YsR0FBRyxDQUFDLENBQUMsT0FBWSxFQUFFLEVBQUU7WUFDakIsT0FBTyxPQUFPLENBQUM7UUFDbkIsQ0FBQyxDQUFDLENBQ0wsQ0FDSixDQUFDO0lBQ04sQ0FBQztJQUVPLFlBQVksQ0FBQyxNQUFNLEVBQUUsT0FBYztRQUN2QyxJQUFJLFNBQVMsR0FBRyxFQUFFLENBQUM7UUFDbkIsSUFBSSxVQUFVLEdBQUcsTUFBTSxDQUFDO1FBQ3hCLElBQUksUUFBUSxHQUFHLE9BQU8sRUFBRSxNQUFNLElBQUksQ0FBQyxDQUFDO1FBQ3BDLElBQUksT0FBTyxDQUFDLE1BQU0sQ0FBQyxFQUFFO1lBQ2pCLE1BQU0sR0FBRyxJQUFJLENBQUMsY0FBYyxDQUFDO1NBQ2hDO1FBQ0QsSUFBSSxNQUFNLElBQUksTUFBTSxDQUFDLElBQUksSUFBSSxJQUFJLEVBQUU7WUFDL0IsSUFBSSxNQUFNLENBQUMsUUFBUTtnQkFBRSxVQUFVLEdBQUcsTUFBTSxDQUFDLFFBQVEsQ0FBQztZQUNsRCxJQUFJLE1BQU0sQ0FBQyxRQUFRO2dCQUFFLFFBQVEsR0FBRyxJQUFJLENBQUM7WUFDckMsSUFBSSxDQUFDLE1BQU0sQ0FBQyxNQUFNO2dCQUFFLE1BQU0sQ0FBQyxNQUFNLEdBQUcsRUFBRSxDQUFDO1lBQ3ZDLElBQUksQ0FBQyxPQUFPLENBQUMsTUFBTSxDQUFDLE1BQU0sQ0FBQyxJQUFJLEtBQUssQ0FBQyxNQUFNLENBQUMsTUFBTSxDQUFDLEVBQUU7Z0JBQ2pELE1BQU0sQ0FBQyxNQUFNLEdBQUcsTUFBTSxDQUFDLE1BQU0sQ0FBQyxLQUFLLENBQUMsR0FBRyxDQUFDLENBQUMsSUFBSSxDQUFDLEVBQUUsQ0FBQyxDQUFDO2FBQ3JEO1NBQ0o7UUFDRCxPQUFPLENBQUMsT0FBTyxDQUFDLENBQUMsTUFBTSxFQUFFLEtBQUssRUFBRSxFQUFFO1lBQzlCLElBQUksU0FBUyxHQUFHLEVBQUUsQ0FBQztZQUNuQixRQUFRLE1BQU0sQ0FBQyxJQUFJLEVBQUU7Z0JBQ2pCLEtBQUssV0FBVztvQkFDWixNQUFNLElBQUksR0FBRyxNQUFNLENBQUMsSUFBSSxDQUFDLENBQUMsQ0FBQyxNQUFNLENBQUMsSUFBSSxDQUFDLENBQUMsQ0FBQyxVQUFVLENBQUM7b0JBQ3BELFNBQVMsR0FBRyxHQUFHLE1BQU0sQ0FBQyxRQUFRLElBQUksSUFBSSxLQUFLLE1BQU0sQ0FBQyxLQUFLLEdBQUcsQ0FBQztvQkFDM0QsTUFBTTtnQkFDVixLQUFLLFFBQVEsQ0FBQztnQkFDZCxLQUFLLE9BQU87b0JBQ1IsTUFBTSxHQUFHLEdBQUcsQ0FBQyxRQUFRLENBQUMsTUFBTSxDQUFDLEtBQUssQ0FBQyxJQUFJLFNBQVMsQ0FBQyxNQUFNLENBQUMsS0FBSyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsR0FBRyxNQUFNLENBQUMsS0FBSyxFQUFFLENBQUMsQ0FBQyxDQUFDLElBQUksTUFBTSxDQUFDLEtBQUssR0FBRyxDQUFDO29CQUMxRyxTQUFTLEdBQUcsR0FBRyxNQUFNLENBQUMsUUFBUSxNQUFNLEdBQUcsRUFBRSxDQUFDO29CQUMxQyxNQUFNO2dCQUNWLEtBQUssVUFBVTtvQkFDWCxTQUFTLEdBQUcsR0FBRyxNQUFNLENBQUMsUUFBUSxnQkFBZ0IsTUFBTSxDQUFDLEtBQUssQ0FBQyxDQUFDLENBQUMsU0FBUyxNQUFNLENBQUMsUUFBUSxnQkFBZ0IsTUFBTSxDQUFDLEtBQUssQ0FBQyxDQUFDLENBQUMsR0FBRyxDQUFDO29CQUN4SCxNQUFNO2dCQUNWLEtBQUssV0FBVztvQkFDWixTQUFTLEdBQUcsSUFBSSxDQUFDLGtCQUFrQixDQUFDLE1BQU0sQ0FBQyxLQUFLLEVBQUUsTUFBTSxDQUFDLFFBQVEsQ0FBQyxDQUFDO29CQUNuRSxNQUFNO2dCQUNWLEtBQUssU0FBUztvQkFDVixTQUFTLEdBQUcsR0FBRyxNQUFNLENBQUMsUUFBUSxJQUFJLE1BQU0sQ0FBQyxLQUFLLEVBQUUsQ0FBQztvQkFDakQsTUFBTTtnQkFDVjtvQkFDSSxTQUFTLEdBQUcsR0FBRyxNQUFNLENBQUMsUUFBUSxjQUFjLE1BQU0sQ0FBQyxLQUFLLEdBQUcsQ0FBQztvQkFDNUQsTUFBTTthQUNiO1lBQ0QsSUFBSSxLQUFLLElBQUksQ0FBQyxFQUFFO2dCQUNaLFNBQVMsR0FBRyxZQUFZLFNBQVMsRUFBRSxDQUFDO2FBQ3ZDO2lCQUFNO2dCQUNILFNBQVMsSUFBSSxRQUFRLFNBQVMsRUFBRSxDQUFBO2FBQ25DO1FBQ0wsQ0FBQyxDQUFDLENBQUM7UUFDSCxJQUFJLFFBQVEsRUFBRTtZQUNWLElBQUksTUFBTSxDQUFDLElBQUksS0FBSyxDQUFDLENBQUM7Z0JBQUUsU0FBUyxHQUFHLFNBQVMsR0FBRyxNQUFNLENBQUMsS0FBSyxHQUFHLFVBQVUsR0FBRyxDQUFDLENBQUMsTUFBTSxDQUFDLElBQUksR0FBRyxDQUFDLENBQUMsR0FBRyxNQUFNLENBQUMsS0FBSyxDQUFDLEdBQUksUUFBUSxHQUFHLE1BQU0sQ0FBQyxJQUFJLEdBQUcsR0FBRyxHQUFHLE1BQU0sQ0FBQyxLQUFLLENBQUM7U0FDaks7YUFBTTtZQUNILFNBQVMsSUFBSSxVQUFVLE1BQU0sQ0FBQyxLQUFLLFdBQVcsQ0FBQyxDQUFDLE1BQU0sQ0FBQyxJQUFJLEdBQUcsQ0FBQyxDQUFDLEdBQUcsTUFBTSxDQUFDLEtBQUssQ0FBQyxTQUFTLE1BQU0sQ0FBQyxJQUFJLEtBQUssTUFBTSxDQUFDLEtBQUssRUFBRSxDQUFBO1NBQzFIO1FBQ0QsT0FBTyxTQUFTLENBQUM7SUFDckIsQ0FBQztJQUVRLE1BQU0sQ0FBQyxJQUFJO1FBQ2hCLE9BQU8sT0FBTyxDQUFDLE9BQU8sQ0FBQyxJQUFJLENBQUMscUJBQXFCLENBQUMsSUFBSSxDQUFDLENBQUMsQ0FBQztJQUM3RCxDQUFDO0lBRUQsS0FBSyxDQUFDLHFCQUFxQixDQUFDLElBQVM7UUFDakMsTUFBTSxRQUFRLEdBQUcsSUFBSSxRQUFRLEVBQUUsQ0FBQztRQUNoQyxNQUFNLE1BQU0sR0FBRyxNQUFNLFFBQVEsQ0FBQyxPQUFPLENBQUMsSUFBSSxDQUFDLENBQUM7UUFDNUMsT0FBTyxNQUFNLENBQUMsTUFBTSxDQUFDO0lBQ3pCLENBQUM7SUFFRCxrQkFBa0IsQ0FBQyxHQUFHLEVBQUUsUUFBUTtRQUM1QixJQUFJLE1BQU0sR0FBRyxFQUFFLENBQUM7UUFDaEIsSUFBSSxPQUFPLENBQUMsR0FBRyxDQUFDLEVBQUU7WUFDZCxHQUFHLENBQUMsT0FBTyxDQUFDLENBQUMsSUFBSSxFQUFFLEtBQUssRUFBRSxFQUFFO2dCQUN4QixJQUFJLEtBQUssR0FBRyxDQUFDLEVBQUU7b0JBQ1gsTUFBTSxJQUFJLE1BQU0sQ0FBQztpQkFDcEI7Z0JBQ0QsTUFBTSxJQUFJLFNBQVMsUUFBUSxRQUFRLElBQUksR0FBRyxDQUFDO1lBQy9DLENBQUMsQ0FBQyxDQUFDO1NBQ047YUFBTTtZQUNILE1BQU0sR0FBRyxTQUFTLFFBQVEsUUFBUSxHQUFHLEdBQUcsQ0FBQztTQUM1QztRQUNELE9BQU8sTUFBTSxDQUFDO0lBQ2xCLENBQUM7K0dBalVRLHlCQUF5Qiw2RUFJZCxnQkFBZ0I7bUhBSjNCLHlCQUF5QixjQUZ0QixNQUFNOztTQUVULHlCQUF5Qjs0RkFBekIseUJBQXlCO2tCQUhyQyxVQUFVO21CQUFDO29CQUNSLFVBQVUsRUFBRSxNQUFNO2lCQUNyQjs7MEJBS2dCLE1BQU07MkJBQUMsZ0JBQWdCIiwic291cmNlc0NvbnRlbnQiOlsiLypcbiAgICBDb3B5cmlnaHQgTmV0Rm91bmRyeSBJbmMuXG5cbiAgICBMaWNlbnNlZCB1bmRlciB0aGUgQXBhY2hlIExpY2Vuc2UsIFZlcnNpb24gMi4wICh0aGUgXCJMaWNlbnNlXCIpO1xuICAgIHlvdSBtYXkgbm90IHVzZSB0aGlzIGZpbGUgZXhjZXB0IGluIGNvbXBsaWFuY2Ugd2l0aCB0aGUgTGljZW5zZS5cbiAgICBZb3UgbWF5IG9idGFpbiBhIGNvcHkgb2YgdGhlIExpY2Vuc2UgYXRcblxuICAgIGh0dHBzOi8vd3d3LmFwYWNoZS5vcmcvbGljZW5zZXMvTElDRU5TRS0yLjBcblxuICAgIFVubGVzcyByZXF1aXJlZCBieSBhcHBsaWNhYmxlIGxhdyBvciBhZ3JlZWQgdG8gaW4gd3JpdGluZywgc29mdHdhcmVcbiAgICBkaXN0cmlidXRlZCB1bmRlciB0aGUgTGljZW5zZSBpcyBkaXN0cmlidXRlZCBvbiBhbiBcIkFTIElTXCIgQkFTSVMsXG4gICAgV0lUSE9VVCBXQVJSQU5USUVTIE9SIENPTkRJVElPTlMgT0YgQU5ZIEtJTkQsIGVpdGhlciBleHByZXNzIG9yIGltcGxpZWQuXG4gICAgU2VlIHRoZSBMaWNlbnNlIGZvciB0aGUgc3BlY2lmaWMgbGFuZ3VhZ2UgZ292ZXJuaW5nIHBlcm1pc3Npb25zIGFuZFxuICAgIGxpbWl0YXRpb25zIHVuZGVyIHRoZSBMaWNlbnNlLlxuKi9cblxuaW1wb3J0IHsgSW5qZWN0YWJsZSwgSW5qZWN0IH0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XG5pbXBvcnQgeyBSb3V0ZXIgfSBmcm9tIFwiQGFuZ3VsYXIvcm91dGVyXCI7XG5pbXBvcnQge0xvZ2dlclNlcnZpY2V9IGZyb20gXCIuLi9mZWF0dXJlcy9tZXNzYWdpbmcvbG9nZ2VyLnNlcnZpY2VcIjtcbmltcG9ydCB7R3Jvd2xlclNlcnZpY2V9IGZyb20gXCIuLi9mZWF0dXJlcy9tZXNzYWdpbmcvZ3Jvd2xlci5zZXJ2aWNlXCI7XG5pbXBvcnQge1NFVFRJTkdTX1NFUlZJQ0UsIFNldHRpbmdzU2VydmljZX0gZnJvbSBcIi4vc2V0dGluZ3Muc2VydmljZVwiO1xuaW1wb3J0IHtmaXJzdFZhbHVlRnJvbSwgbWFwLCBPYnNlcnZhYmxlfSBmcm9tIFwicnhqc1wiO1xuaW1wb3J0IHtjYXRjaEVycm9yfSBmcm9tIFwicnhqcy9vcGVyYXRvcnNcIjtcbmltcG9ydCB7SHR0cENsaWVudH0gZnJvbSBcIkBhbmd1bGFyL2NvbW1vbi9odHRwXCI7XG5pbXBvcnQge0ZpbHRlck9ian0gZnJvbSBcIi4uL2ZlYXR1cmVzL2RhdGEtdGFibGUvZGF0YS10YWJsZS1maWx0ZXIuc2VydmljZVwiO1xuaW1wb3J0IHtaaXRpRGF0YVNlcnZpY2V9IGZyb20gXCIuL3ppdGktZGF0YS5zZXJ2aWNlXCI7XG5pbXBvcnQge2lzRW1wdHksIGlzQXJyYXksIGlzTnVtYmVyLCBpc0Jvb2xlYW59IGZyb20gXCJsb2Rhc2hcIjtcbmltcG9ydCB7UmVzb2x2ZXJ9IGZyb20gXCJAc3RvcGxpZ2h0L2pzb24tcmVmLXJlc29sdmVyXCI7XG5pbXBvcnQgbW9tZW50IGZyb20gXCJtb21lbnRcIjtcblxuQEluamVjdGFibGUoe1xuICAgIHByb3ZpZGVkSW46ICdyb290J1xufSlcbmV4cG9ydCBjbGFzcyBaaXRpQ29udHJvbGxlckRhdGFTZXJ2aWNlIGV4dGVuZHMgWml0aURhdGFTZXJ2aWNlIHtcblxuICAgIGNvbnN0cnVjdG9yKG92ZXJyaWRlIGxvZ2dlcjogTG9nZ2VyU2VydmljZSxcbiAgICAgICAgICAgICAgICBvdmVycmlkZSBncm93bGVyOiBHcm93bGVyU2VydmljZSxcbiAgICAgICAgICAgICAgICBASW5qZWN0KFNFVFRJTkdTX1NFUlZJQ0UpIHNldHRpbmdzU2VydmljZTogU2V0dGluZ3NTZXJ2aWNlLFxuICAgICAgICAgICAgICAgIG92ZXJyaWRlIGh0dHBDbGllbnQ6IEh0dHBDbGllbnQsXG4gICAgICAgICAgICAgICAgb3ZlcnJpZGUgcm91dGVyOiBSb3V0ZXJcbiAgICApIHtcbiAgICAgICAgc3VwZXIobG9nZ2VyLCBncm93bGVyLCBzZXR0aW5nc1NlcnZpY2UsIGh0dHBDbGllbnQsIHJvdXRlcik7XG4gICAgfVxuXG4gICAgcG9zdCh0eXBlLCBtb2RlbCwgY2hhaW5lZCA9IGZhbHNlLCBjb250ZW50VHlwZT8pOiBQcm9taXNlPGFueT4ge1xuICAgICAgICBjb25zdCBhcGlWZXJzaW9ucyA9IHRoaXMuc2V0dGluZ3NTZXJ2aWNlLmFwaVZlcnNpb25zIHx8IHt9O1xuICAgICAgICBjb25zdCBwcmVmaXggPSBhcGlWZXJzaW9uc1tcImVkZ2UtbWFuYWdlbWVudFwiXT8udjE/LnBhdGg7XG4gICAgICAgIGNvbnN0IHVybCA9IHRoaXMuc2V0dGluZ3NTZXJ2aWNlLnNldHRpbmdzLnNlbGVjdGVkRWRnZUNvbnRyb2xsZXI7XG4gICAgICAgIGNvbnN0IHNlcnZpY2VVcmwgPSB1cmwgKyBwcmVmaXggKyBcIi9cIiArIHR5cGU7XG4gICAgICAgIGxldCBvcHRpb25zID0ge307XG4gICAgICAgIGlmIChjb250ZW50VHlwZSkge1xuICAgICAgICAgICAgY29uc3QgaGVhZGVycyA9IHtcbiAgICAgICAgICAgICAgICAnQ29udGVudC1UeXBlJzogY29udGVudFR5cGVcbiAgICAgICAgICAgIH1cbiAgICAgICAgICAgIG9wdGlvbnMgPSB7IGhlYWRlcnMgfTtcbiAgICAgICAgfVxuICAgICAgICByZXR1cm4gZmlyc3RWYWx1ZUZyb20odGhpcy5odHRwQ2xpZW50LnBvc3Qoc2VydmljZVVybCwgbW9kZWwsIG9wdGlvbnMpLnBpcGUoXG4gICAgICAgICAgICAgICAgY2F0Y2hFcnJvcigoZXJyOiBhbnkpID0+IHtcbiAgICAgICAgICAgICAgICAgICAgY29uc3QgZXJyb3IgPSBcIlNlcnZlciBOb3QgQWNjZXNzaWJsZVwiO1xuICAgICAgICAgICAgICAgICAgICBpZiAoZXJyLmNvZGUgIT09IFwiRUNPTk5SRUZVU0VEXCIpIHRocm93KGVycik7XG4gICAgICAgICAgICAgICAgICAgIHRocm93KHtlcnJvcjogZXJyb3J9KTtcbiAgICAgICAgICAgICAgICB9KSxcbiAgICAgICAgICAgICAgICBtYXAoKHJlc3VsdDogYW55KSA9PiB7XG4gICAgICAgICAgICAgICAgICAgIHJldHVybiByZXN1bHQ7XG4gICAgICAgICAgICAgICAgfSlcbiAgICAgICAgICAgIClcbiAgICAgICAgKTtcbiAgICB9XG5cbiAgICBwdXQodHlwZSwgbW9kZWwsIGlkLCBjaGFpbmVkID0gZmFsc2UpOiBQcm9taXNlPGFueT4ge1xuICAgICAgICBjb25zdCBhcGlWZXJzaW9ucyA9IHRoaXMuc2V0dGluZ3NTZXJ2aWNlLmFwaVZlcnNpb25zIHx8IHt9O1xuICAgICAgICBjb25zdCBwcmVmaXggPSBhcGlWZXJzaW9uc1tcImVkZ2UtbWFuYWdlbWVudFwiXT8udjE/LnBhdGggfHwgJy9lZGdlL21hbmFnZW1lbnQvdjEnO1xuICAgICAgICBjb25zdCB1cmwgPSB0aGlzLnNldHRpbmdzU2VydmljZS5zZXR0aW5ncy5zZWxlY3RlZEVkZ2VDb250cm9sbGVyO1xuICAgICAgICBjb25zdCBzZXJ2aWNlVXJsID0gdXJsICsgcHJlZml4ICsgXCIvXCIgKyB0eXBlICsgJy8nICsgaWQ7XG4gICAgICAgIHRoaXMuaHR0cENsaWVudC5wYXRjaChzZXJ2aWNlVXJsLCBtb2RlbCwge30pO1xuXG4gICAgICAgIHJldHVybiBmaXJzdFZhbHVlRnJvbSh0aGlzLmh0dHBDbGllbnQucHV0KHNlcnZpY2VVcmwsIG1vZGVsLCB7fSkucGlwZShcbiAgICAgICAgICAgICAgICBjYXRjaEVycm9yKChlcnI6IGFueSkgPT4ge1xuICAgICAgICAgICAgICAgICAgICBjb25zdCBlcnJvciA9IFwiU2VydmVyIE5vdCBBY2Nlc3NpYmxlXCI7XG4gICAgICAgICAgICAgICAgICAgIGlmIChlcnIuY29kZSAhPT0gXCJFQ09OTlJFRlVTRURcIikgdGhyb3coZXJyKTtcbiAgICAgICAgICAgICAgICAgICAgdGhyb3coe2Vycm9yOiBlcnJvcn0pO1xuICAgICAgICAgICAgICAgIH0pLFxuICAgICAgICAgICAgICAgIG1hcCgocmVzdWx0OiBhbnkpID0+IHtcbiAgICAgICAgICAgICAgICAgICAgcmV0dXJuIHJlc3VsdDtcbiAgICAgICAgICAgICAgICB9KVxuICAgICAgICAgICAgKVxuICAgICAgICApO1xuICAgIH1cblxuICAgIHBhdGNoKHR5cGUsIG1vZGVsLCBpZCwgY2hhaW5lZCA9IGZhbHNlKTogUHJvbWlzZTxhbnk+IHtcbiAgICAgICAgY29uc3QgYXBpVmVyc2lvbnMgPSB0aGlzLnNldHRpbmdzU2VydmljZS5hcGlWZXJzaW9ucyB8fCB7fTtcbiAgICAgICAgY29uc3QgcHJlZml4ID0gYXBpVmVyc2lvbnNbXCJlZGdlLW1hbmFnZW1lbnRcIl0/LnYxPy5wYXRoIHx8ICcvZWRnZS9tYW5hZ2VtZW50L3YxJztcbiAgICAgICAgY29uc3QgdXJsID0gdGhpcy5zZXR0aW5nc1NlcnZpY2Uuc2V0dGluZ3Muc2VsZWN0ZWRFZGdlQ29udHJvbGxlcjtcbiAgICAgICAgY29uc3Qgc2VydmljZVVybCA9IHVybCArIHByZWZpeCArIFwiL1wiICsgdHlwZSArICcvJyArIGlkO1xuICAgICAgICB0aGlzLmh0dHBDbGllbnQucGF0Y2goc2VydmljZVVybCwgbW9kZWwsIHt9KTtcblxuICAgICAgICByZXR1cm4gZmlyc3RWYWx1ZUZyb20odGhpcy5odHRwQ2xpZW50LnBhdGNoKHNlcnZpY2VVcmwsIG1vZGVsLCB7fSkucGlwZShcbiAgICAgICAgICAgICAgICBjYXRjaEVycm9yKChlcnI6IGFueSkgPT4ge1xuICAgICAgICAgICAgICAgICAgICBjb25zdCBlcnJvciA9IFwiU2VydmVyIE5vdCBBY2Nlc3NpYmxlXCI7XG4gICAgICAgICAgICAgICAgICAgIGlmIChlcnIuY29kZSAhPT0gXCJFQ09OTlJFRlVTRURcIikgdGhyb3coZXJyKTtcbiAgICAgICAgICAgICAgICAgICAgdGhyb3coe2Vycm9yOiBlcnJvcn0pO1xuICAgICAgICAgICAgICAgIH0pLFxuICAgICAgICAgICAgICAgIG1hcCgocmVzdWx0OiBhbnkpID0+IHtcbiAgICAgICAgICAgICAgICAgICAgcmV0dXJuIHJlc3VsdDtcbiAgICAgICAgICAgICAgICB9KVxuICAgICAgICAgICAgKVxuICAgICAgICApO1xuICAgIH1cblxuICAgIGdldCh0eXBlOiBzdHJpbmcsIHBhZ2luZzogYW55LCBmaWx0ZXJzOiBGaWx0ZXJPYmpbXSA9IFtdLCB1cmw/LCB1c2VDbGllbnQ/KTogUHJvbWlzZTxhbnk+IHtcbiAgICAgICAgY29uc3QgYXBpVmVyc2lvbnMgPSB0aGlzLnNldHRpbmdzU2VydmljZS5hcGlWZXJzaW9ucyB8fCB7fTtcbiAgICAgICAgY29uc3QgbWFuYWdlbWVudFVybCA9IGFwaVZlcnNpb25zW1wiZWRnZS1tYW5hZ2VtZW50XCJdPy52MT8ucGF0aCB8fCAnL2VkZ2UvbWFuYWdlbWVudC92MSc7XG4gICAgICAgIGNvbnN0IGNsaWVudFVybCA9ICcvZWRnZS9jbGllbnQvdjEnO1xuICAgICAgICBjb25zdCBwcmVmaXggPSB1c2VDbGllbnQgPyBjbGllbnRVcmwgOiBtYW5hZ2VtZW50VXJsO1xuICAgICAgICB1cmwgPSB0aGlzLnNldHRpbmdzU2VydmljZS5zZXR0aW5ncy5zZWxlY3RlZEVkZ2VDb250cm9sbGVyO1xuICAgICAgICBjb25zdCB1cmxGaWx0ZXIgPSB0aGlzLmdldFVybEZpbHRlcihwYWdpbmcsIGZpbHRlcnMpO1xuICAgICAgICBjb25zdCBzZXJ2aWNlVXJsID0gdXJsICsgcHJlZml4ICsgXCIvXCIgKyB0eXBlICsgdXJsRmlsdGVyO1xuXG4gICAgICAgIHJldHVybiBmaXJzdFZhbHVlRnJvbSh0aGlzLmh0dHBDbGllbnQuZ2V0KHNlcnZpY2VVcmwse30pLnBpcGUoXG4gICAgICAgICAgICAgICAgY2F0Y2hFcnJvcigoZXJyOiBhbnkpID0+IHtcbiAgICAgICAgICAgICAgICAgICAgY29uc3QgZXJyb3IgPSBcIlNlcnZlciBOb3QgQWNjZXNzaWJsZVwiO1xuICAgICAgICAgICAgICAgICAgICBpZiAoZXJyLmNvZGUgIT0gXCJFQ09OTlJFRlVTRURcIikgdGhyb3coe2Vycm9yOiBlcnIuY29kZX0pO1xuICAgICAgICAgICAgICAgICAgICB0aHJvdyh7ZXJyb3I6IGVycm9yfSk7XG4gICAgICAgICAgICAgICAgfSksXG4gICAgICAgICAgICAgICAgbWFwKChyZXN1bHRzOiBhbnkpID0+IHtcbiAgICAgICAgICAgICAgICAgICAgcmV0dXJuIHJlc3VsdHM7XG4gICAgICAgICAgICAgICAgfSlcbiAgICAgICAgICAgIClcbiAgICAgICAgKTtcbiAgICB9XG5cbiAgICBnZXRTdWJkYXRhKGVudGl0eVR5cGU6IHN0cmluZywgaWQ6IGFueSwgZGF0YVR5cGU6IHN0cmluZywgcGFnaW5nPzogYW55LCBjb250ZW50VHlwZT86IGFueSk6IFByb21pc2U8YW55PiB7XG4gICAgICAgIGNvbnN0IGFwaVZlcnNpb25zID0gdGhpcy5zZXR0aW5nc1NlcnZpY2UuYXBpVmVyc2lvbnMgfHwge307XG4gICAgICAgIGNvbnN0IHByZWZpeCA9IGFwaVZlcnNpb25zW1wiZWRnZS1tYW5hZ2VtZW50XCJdPy52MT8ucGF0aCB8fCAnL2VkZ2UvbWFuYWdlbWVudC92MSc7XG5cbiAgICAgICAgbGV0IHVybEZpbHRlciA9ICcnO1xuICAgICAgICBpZiAoIWlzRW1wdHkocGFnaW5nKSkge1xuICAgICAgICAgICAgdXJsRmlsdGVyID0gdGhpcy5nZXRVcmxGaWx0ZXIocGFnaW5nLCBbXSk7XG4gICAgICAgIH1cbiAgICAgICAgY29uc3QgdXJsID0gdGhpcy5zZXR0aW5nc1NlcnZpY2Uuc2V0dGluZ3Muc2VsZWN0ZWRFZGdlQ29udHJvbGxlciArIGAke3ByZWZpeH0vJHtlbnRpdHlUeXBlfS8ke2lkfS8ke2RhdGFUeXBlfS8ke3VybEZpbHRlcn1gO1xuXG4gICAgICAgIGxldCBvcHRpb25zOiBhbnkgPSB7fTtcbiAgICAgICAgaWYgKGNvbnRlbnRUeXBlKSB7XG4gICAgICAgICAgICBjb25zdCBoZWFkZXJzID0ge1xuICAgICAgICAgICAgICAgICdBY2NlcHQnOiBjb250ZW50VHlwZSxcbiAgICAgICAgICAgICAgICAnQ29udGVudC1UeXBlJzogY29udGVudFR5cGVcbiAgICAgICAgICAgIH1cbiAgICAgICAgICAgIG9wdGlvbnMgPSB7IGhlYWRlcnMgfTtcbiAgICAgICAgICAgIGlmIChjb250ZW50VHlwZS5pbmRleE9mKCdhcHBsaWNhdGlvbi9qd3QnKSA+PSAwKSB7XG4gICAgICAgICAgICAgICAgb3B0aW9ucy5yZXNwb25zZVR5cGUgPSAndGV4dCc7XG4gICAgICAgICAgICB9XG4gICAgICAgIH1cblxuICAgICAgICByZXR1cm4gZmlyc3RWYWx1ZUZyb20odGhpcy5odHRwQ2xpZW50LmdldCh1cmwsIG9wdGlvbnMpLnBpcGUoXG4gICAgICAgICAgICAgICAgY2F0Y2hFcnJvcigoZXJyOiBhbnkpID0+IHtcbiAgICAgICAgICAgICAgICAgICAgY29uc3QgZXJyb3IgPSBcIlNlcnZlciBOb3QgQWNjZXNzaWJsZVwiO1xuICAgICAgICAgICAgICAgICAgICBpZiAoZXJyLmNvZGUgIT0gXCJFQ09OTlJFRlVTRURcIikgdGhyb3coe2Vycm9yOiBlcnIuY29kZX0pO1xuICAgICAgICAgICAgICAgICAgICB0aHJvdyh7ZXJyb3I6IGVycm9yfSk7XG4gICAgICAgICAgICAgICAgfSlcbiAgICAgICAgICAgIClcbiAgICAgICAgKTtcbiAgICB9XG5cbiAgICBzYXZlU3ViZGF0YShlbnRpdHlUeXBlOiBzdHJpbmcsIGlkOiBhbnksIGRhdGFUeXBlOiBzdHJpbmcsIHBhcmFtczogYW55KTogUHJvbWlzZTxhbnk+IHtcbiAgICAgICAgY29uc3QgYXBpVmVyc2lvbnMgPSB0aGlzLnNldHRpbmdzU2VydmljZS5hcGlWZXJzaW9ucyB8fCB7fTtcbiAgICAgICAgY29uc3QgcHJlZml4ID0gYXBpVmVyc2lvbnNbXCJlZGdlLW1hbmFnZW1lbnRcIl0/LnYxPy5wYXRoIHx8ICcvZWRnZS9tYW5hZ2VtZW50L3YxJztcbiAgICAgICAgY29uc3QgdXJsID0gdGhpcy5zZXR0aW5nc1NlcnZpY2Uuc2V0dGluZ3Muc2VsZWN0ZWRFZGdlQ29udHJvbGxlciArIGAke3ByZWZpeH0vJHtlbnRpdHlUeXBlfS8ke2lkfS8ke2RhdGFUeXBlfWA7XG5cbiAgICAgICAgcmV0dXJuIGZpcnN0VmFsdWVGcm9tKHRoaXMuaHR0cENsaWVudC5wb3N0KHVybCwgcGFyYW1zLCB7fSkucGlwZShcbiAgICAgICAgICAgICAgICBjYXRjaEVycm9yKChlcnI6IGFueSkgPT4ge1xuICAgICAgICAgICAgICAgICAgICBjb25zdCBlcnJvciA9IFwiU2VydmVyIE5vdCBBY2Nlc3NpYmxlXCI7XG4gICAgICAgICAgICAgICAgICAgIGlmIChlcnIuY29kZSAhPSBcIkVDT05OUkVGVVNFRFwiKSB0aHJvdyh7ZXJyb3I6IGVyci5jb2RlfSk7XG4gICAgICAgICAgICAgICAgICAgIHRocm93KHtlcnJvcjogZXJyb3J9KTtcbiAgICAgICAgICAgICAgICB9KVxuICAgICAgICAgICAgKVxuICAgICAgICApO1xuICAgIH1cblxuICAgIGRlbGV0ZVN1YmRhdGEoZW50aXR5VHlwZTogc3RyaW5nLCBpZDogYW55LCBkYXRhVHlwZTogc3RyaW5nLCBwYXJhbXM6IGFueSk6IFByb21pc2U8YW55PiB7XG4gICAgICAgIGNvbnN0IGFwaVZlcnNpb25zID0gdGhpcy5zZXR0aW5nc1NlcnZpY2UuYXBpVmVyc2lvbnMgfHwge307XG4gICAgICAgIGNvbnN0IHByZWZpeCA9IGFwaVZlcnNpb25zW1wiZWRnZS1tYW5hZ2VtZW50XCJdPy52MT8ucGF0aCB8fCAnL2VkZ2UvbWFuYWdlbWVudC92MSc7XG4gICAgICAgIGNvbnN0IHVybCA9IHRoaXMuc2V0dGluZ3NTZXJ2aWNlLnNldHRpbmdzLnNlbGVjdGVkRWRnZUNvbnRyb2xsZXIgKyBgJHtwcmVmaXh9LyR7ZW50aXR5VHlwZX0vJHtpZH0vJHtkYXRhVHlwZX1gO1xuXG4gICAgICAgIHJldHVybiBmaXJzdFZhbHVlRnJvbSh0aGlzLmh0dHBDbGllbnQuZGVsZXRlKHVybCwge2JvZHk6IHBhcmFtc30pLnBpcGUoXG4gICAgICAgICAgICAgICAgY2F0Y2hFcnJvcigoZXJyOiBhbnkpID0+IHtcbiAgICAgICAgICAgICAgICAgICAgY29uc3QgZXJyb3IgPSBcIlNlcnZlciBOb3QgQWNjZXNzaWJsZVwiO1xuICAgICAgICAgICAgICAgICAgICBpZiAoZXJyLmNvZGUgIT0gXCJFQ09OTlJFRlVTRURcIikgdGhyb3coe2Vycm9yOiBlcnIuY29kZX0pO1xuICAgICAgICAgICAgICAgICAgICB0aHJvdyh7ZXJyb3I6IGVycm9yfSk7XG4gICAgICAgICAgICAgICAgfSlcbiAgICAgICAgICAgIClcbiAgICAgICAgKTtcbiAgICB9XG5cbiAgICBvdmVycmlkZSByZXNldEVucm9sbG1lbnQoaWQ6IHN0cmluZywgZGF0ZTogYW55KTogUHJvbWlzZTxhbnk+IHtcbiAgICAgICAgY29uc3QgYXBpVmVyc2lvbnMgPSB0aGlzLnNldHRpbmdzU2VydmljZS5hcGlWZXJzaW9ucyB8fCB7fTtcbiAgICAgICAgY29uc3QgcHJlZml4ID0gYXBpVmVyc2lvbnNbXCJlZGdlLW1hbmFnZW1lbnRcIl0/LnYxPy5wYXRoIHx8ICcvZWRnZS9tYW5hZ2VtZW50L3YxJztcbiAgICAgICAgY29uc3QgdXJsID0gdGhpcy5zZXR0aW5nc1NlcnZpY2Uuc2V0dGluZ3Muc2VsZWN0ZWRFZGdlQ29udHJvbGxlciArIGAke3ByZWZpeH0vYXV0aGVudGljYXRvcnMvJHtpZC50cmltKCl9L3JlLWVucm9sbGA7XG4gICAgICAgIGNvbnN0IGV4cGlyZXNBdCA9IG1vbWVudChkYXRlKS51dGMoKS50b0lTT1N0cmluZygpO1xuICAgICAgICBjb25zdCBib2R5ID0geyBleHBpcmVzQXQ6IGV4cGlyZXNBdCB9O1xuICAgICAgICByZXR1cm4gZmlyc3RWYWx1ZUZyb20odGhpcy5odHRwQ2xpZW50LnBvc3QodXJsLCBib2R5KS5waXBlKFxuICAgICAgICAgICAgICAgIGNhdGNoRXJyb3IoKGVycjogYW55KSA9PiB7XG4gICAgICAgICAgICAgICAgICAgIGNvbnN0IGVycm9yID0gXCJTZXJ2ZXIgTm90IEFjY2Vzc2libGVcIjtcbiAgICAgICAgICAgICAgICAgICAgaWYgKGVyci5jb2RlICE9IFwiRUNPTk5SRUZVU0VEXCIpIHRocm93KHtlcnJvcjogZXJyLmNvZGV9KTtcbiAgICAgICAgICAgICAgICAgICAgdGhyb3coe2Vycm9yOiBlcnJvcn0pO1xuICAgICAgICAgICAgICAgIH0pXG4gICAgICAgICAgICApXG4gICAgICAgICk7XG4gICAgfVxuXG4gICAgb3ZlcnJpZGUgcmVpc3N1ZUVucm9sbG1lbnQoaWQ6IHN0cmluZywgZGF0ZSk6IFByb21pc2U8YW55PiB7XG4gICAgICAgIGNvbnN0IGFwaVZlcnNpb25zID0gdGhpcy5zZXR0aW5nc1NlcnZpY2UuYXBpVmVyc2lvbnMgfHwge307XG4gICAgICAgIGNvbnN0IHByZWZpeCA9IGFwaVZlcnNpb25zW1wiZWRnZS1tYW5hZ2VtZW50XCJdPy52MT8ucGF0aCB8fCAnL2VkZ2UvbWFuYWdlbWVudC92MSc7XG4gICAgICAgIGNvbnN0IHVybCA9IHRoaXMuc2V0dGluZ3NTZXJ2aWNlLnNldHRpbmdzLnNlbGVjdGVkRWRnZUNvbnRyb2xsZXIgKyBgJHtwcmVmaXh9L2Vucm9sbG1lbnRzLyR7aWR9L3JlZnJlc2hgO1xuICAgICAgICBjb25zdCBleHBpcmVzQXQgPSBtb21lbnQoZGF0ZSkudXRjKCkudG9JU09TdHJpbmcoKTtcbiAgICAgICAgY29uc3QgYm9keSA9IHsgZXhwaXJlc0F0OiBleHBpcmVzQXQgfTtcbiAgICAgICAgcmV0dXJuIGZpcnN0VmFsdWVGcm9tKHRoaXMuaHR0cENsaWVudC5wb3N0KHVybCwgYm9keSkucGlwZShcbiAgICAgICAgICAgICAgICBjYXRjaEVycm9yKChlcnI6IGFueSkgPT4ge1xuICAgICAgICAgICAgICAgICAgICBjb25zdCBlcnJvciA9IFwiU2VydmVyIE5vdCBBY2Nlc3NpYmxlXCI7XG4gICAgICAgICAgICAgICAgICAgIGlmIChlcnIuY29kZSAhPSBcIkVDT05OUkVGVVNFRFwiKSB0aHJvdyh7ZXJyb3I6IGVyci5jb2RlfSk7XG4gICAgICAgICAgICAgICAgICAgIHRocm93KHtlcnJvcjogZXJyb3J9KTtcbiAgICAgICAgICAgICAgICB9KVxuICAgICAgICAgICAgKVxuICAgICAgICApO1xuICAgIH1cblxuICAgIHJlc2V0TUZBKGlkKSB7XG4gICAgICAgIGNvbnN0IGFwaVZlcnNpb25zID0gdGhpcy5zZXR0aW5nc1NlcnZpY2UuYXBpVmVyc2lvbnMgfHwge307XG4gICAgICAgIGNvbnN0IHByZWZpeCA9IGFwaVZlcnNpb25zW1wiZWRnZS1tYW5hZ2VtZW50XCJdPy52MT8ucGF0aCB8fCAnL2VkZ2UvbWFuYWdlbWVudC92MSc7XG4gICAgICAgIGNvbnN0IHVybCA9IHRoaXMuc2V0dGluZ3NTZXJ2aWNlLnNldHRpbmdzLnNlbGVjdGVkRWRnZUNvbnRyb2xsZXIgKyBgJHtwcmVmaXh9L2lkZW50aXRpZXMvJHtpZH0vbWZhYDtcbiAgICAgICAgcmV0dXJuIGZpcnN0VmFsdWVGcm9tKHRoaXMuaHR0cENsaWVudC5kZWxldGUodXJsKS5waXBlKFxuICAgICAgICAgICAgICAgIGNhdGNoRXJyb3IoKGVycjogYW55KSA9PiB7XG4gICAgICAgICAgICAgICAgICAgIGNvbnN0IGVycm9yID0gXCJTZXJ2ZXIgTm90IEFjY2Vzc2libGVcIjtcbiAgICAgICAgICAgICAgICAgICAgaWYgKGVyci5jb2RlICE9IFwiRUNPTk5SRUZVU0VEXCIpIHRocm93KHtlcnJvcjogZXJyLmNvZGV9KTtcbiAgICAgICAgICAgICAgICAgICAgdGhyb3coe2Vycm9yOiBlcnJvcn0pO1xuICAgICAgICAgICAgICAgIH0pXG4gICAgICAgICAgICApXG4gICAgICAgICk7XG4gICAgfVxuXG4gICAgZGVsZXRlKHR5cGU6IHN0cmluZywgaWQ6IHN0cmluZyk6IFByb21pc2U8YW55PiB7XG4gICAgICAgIGNvbnN0IGFwaVZlcnNpb25zID0gdGhpcy5zZXR0aW5nc1NlcnZpY2UuYXBpVmVyc2lvbnMgfHwge307XG4gICAgICAgIGNvbnN0IHByZWZpeCA9IGFwaVZlcnNpb25zW1wiZWRnZS1tYW5hZ2VtZW50XCJdPy52MT8ucGF0aDtcbiAgICAgICAgY29uc3QgdXJsID0gdGhpcy5zZXR0aW5nc1NlcnZpY2Uuc2V0dGluZ3Muc2VsZWN0ZWRFZGdlQ29udHJvbGxlcjtcbiAgICAgICAgY29uc3Qgc2VydmljZVVybCA9IHVybCArIHByZWZpeCArIFwiL1wiICsgdHlwZSArICcvJyArIGlkO1xuXG4gICAgICAgIHJldHVybiBmaXJzdFZhbHVlRnJvbSh0aGlzLmh0dHBDbGllbnQuZGVsZXRlKHNlcnZpY2VVcmwsIHt9KS5waXBlKFxuICAgICAgICAgICAgICAgIGNhdGNoRXJyb3IoKGVycjogYW55KSA9PiB7XG4gICAgICAgICAgICAgICAgICAgIGNvbnN0IGVycm9yID0gXCJTZXJ2ZXIgTm90IEFjY2Vzc2libGVcIjtcbiAgICAgICAgICAgICAgICAgICAgaWYgKGVyci5jb2RlICE9IFwiRUNPTk5SRUZVU0VEXCIpIHRocm93KHtlcnJvcjogZXJyLmNvZGV9KTtcbiAgICAgICAgICAgICAgICAgICAgdGhyb3coe2Vycm9yOiBlcnJvcn0pO1xuICAgICAgICAgICAgICAgIH0pLFxuICAgICAgICAgICAgICAgIG1hcCgocmVzdWx0czogYW55KSA9PiB7XG4gICAgICAgICAgICAgICAgICAgIHJldHVybiByZXN1bHRzO1xuICAgICAgICAgICAgICAgIH0pXG4gICAgICAgICAgICApXG4gICAgICAgICk7XG4gICAgfVxuXG4gICAgY2FsbChjYWxsVXJsKSB7XG4gICAgICAgIGNvbnN0IGFwaVZlcnNpb25zID0gdGhpcy5zZXR0aW5nc1NlcnZpY2UuYXBpVmVyc2lvbnMgfHwge307XG4gICAgICAgIGNvbnN0IHByZWZpeCA9IGFwaVZlcnNpb25zW1wiZWRnZS1tYW5hZ2VtZW50XCJdPy52MT8ucGF0aDtcbiAgICAgICAgY29uc3QgdXJsID0gdGhpcy5zZXR0aW5nc1NlcnZpY2Uuc2V0dGluZ3Muc2VsZWN0ZWRFZGdlQ29udHJvbGxlcjtcbiAgICAgICAgY29uc3Qgc2VydmljZVVybCA9IHVybCArIHByZWZpeCArIFwiL1wiICsgY2FsbFVybDtcblxuICAgICAgICByZXR1cm4gZmlyc3RWYWx1ZUZyb20odGhpcy5odHRwQ2xpZW50LmdldChzZXJ2aWNlVXJsLCB7fSkucGlwZShcbiAgICAgICAgICAgICAgICBjYXRjaEVycm9yKChlcnI6IGFueSkgPT4ge1xuICAgICAgICAgICAgICAgICAgICBjb25zdCBlcnJvciA9IFwiU2VydmVyIE5vdCBBY2Nlc3NpYmxlXCI7XG4gICAgICAgICAgICAgICAgICAgIGlmIChlcnIuY29kZSAhPSBcIkVDT05OUkVGVVNFRFwiKSB0aHJvdyh7ZXJyb3I6IGVyci5jb2RlfSk7XG4gICAgICAgICAgICAgICAgICAgIHRocm93KHtlcnJvcjogZXJyb3J9KTtcbiAgICAgICAgICAgICAgICB9KSxcbiAgICAgICAgICAgICAgICBtYXAoKHJlc3VsdHM6IGFueSkgPT4ge1xuICAgICAgICAgICAgICAgICAgICByZXR1cm4gcmVzdWx0cztcbiAgICAgICAgICAgICAgICB9KVxuICAgICAgICAgICAgKVxuICAgICAgICApO1xuICAgIH1cblxuICAgIHByaXZhdGUgZ2V0VXJsRmlsdGVyKHBhZ2luZywgZmlsdGVyczogYW55W10pIHtcbiAgICAgICAgbGV0IHVybEZpbHRlciA9ICcnO1xuICAgICAgICBsZXQgdG9TZWFyY2hPbiA9IFwibmFtZVwiO1xuICAgICAgICBsZXQgbm9TZWFyY2ggPSBmaWx0ZXJzPy5sZW5ndGggPD0gMDtcbiAgICAgICAgaWYgKGlzRW1wdHkocGFnaW5nKSkge1xuICAgICAgICAgICAgcGFnaW5nID0gdGhpcy5ERUZBVUxUX1BBR0lORztcbiAgICAgICAgfVxuICAgICAgICBpZiAocGFnaW5nICYmIHBhZ2luZy5zb3J0ICE9IG51bGwpIHtcbiAgICAgICAgICAgIGlmIChwYWdpbmcuc2VhcmNoT24pIHRvU2VhcmNoT24gPSBwYWdpbmcuc2VhcmNoT247XG4gICAgICAgICAgICBpZiAocGFnaW5nLm5vU2VhcmNoKSBub1NlYXJjaCA9IHRydWU7XG4gICAgICAgICAgICBpZiAoIXBhZ2luZy5maWx0ZXIpIHBhZ2luZy5maWx0ZXIgPSBcIlwiO1xuICAgICAgICAgICAgaWYgKCFpc0FycmF5KHBhZ2luZy5maWx0ZXIpICYmIGlzTmFOKHBhZ2luZy5maWx0ZXIpKSB7XG4gICAgICAgICAgICAgICAgcGFnaW5nLmZpbHRlciA9IHBhZ2luZy5maWx0ZXIuc3BsaXQoJyMnKS5qb2luKCcnKTtcbiAgICAgICAgICAgIH1cbiAgICAgICAgfVxuICAgICAgICBmaWx0ZXJzLmZvckVhY2goKGZpbHRlciwgaW5kZXgpID0+IHtcbiAgICAgICAgICAgIGxldCBmaWx0ZXJWYWwgPSAnJztcbiAgICAgICAgICAgIHN3aXRjaCAoZmlsdGVyLnR5cGUpIHtcbiAgICAgICAgICAgICAgICBjYXNlICdURVhUSU5QVVQnOlxuICAgICAgICAgICAgICAgICAgICBjb25zdCB2ZXJiID0gZmlsdGVyLnZlcmIgPyBmaWx0ZXIudmVyYiA6ICdjb250YWlucyc7XG4gICAgICAgICAgICAgICAgICAgIGZpbHRlclZhbCA9IGAke2ZpbHRlci5jb2x1bW5JZH0gJHt2ZXJifSBcIiR7ZmlsdGVyLnZhbHVlfVwiYDtcbiAgICAgICAgICAgICAgICAgICAgYnJlYWs7XG4gICAgICAgICAgICAgICAgY2FzZSAnU0VMRUNUJzpcbiAgICAgICAgICAgICAgICBjYXNlICdDT01CTyc6XG4gICAgICAgICAgICAgICAgICAgIGNvbnN0IHZhbCA9IChpc051bWJlcihmaWx0ZXIudmFsdWUpIHx8IGlzQm9vbGVhbihmaWx0ZXIudmFsdWUpKSA/IGAke2ZpbHRlci52YWx1ZX1gIDogYFwiJHtmaWx0ZXIudmFsdWV9XCJgO1xuICAgICAgICAgICAgICAgICAgICBmaWx0ZXJWYWwgPSBgJHtmaWx0ZXIuY29sdW1uSWR9ID0gJHt2YWx9YDtcbiAgICAgICAgICAgICAgICAgICAgYnJlYWs7XG4gICAgICAgICAgICAgICAgY2FzZSAnREFURVRJTUUnOlxuICAgICAgICAgICAgICAgICAgICBmaWx0ZXJWYWwgPSBgJHtmaWx0ZXIuY29sdW1uSWR9ID49IGRhdGV0aW1lKCR7ZmlsdGVyLnZhbHVlWzBdfSkgYW5kICR7ZmlsdGVyLmNvbHVtbklkfSA8PSBkYXRldGltZSgke2ZpbHRlci52YWx1ZVsxXX0pYDtcbiAgICAgICAgICAgICAgICAgICAgYnJlYWs7XG4gICAgICAgICAgICAgICAgY2FzZSAnQVRUUklCVVRFJzpcbiAgICAgICAgICAgICAgICAgICAgZmlsdGVyVmFsID0gdGhpcy5nZXRBdHRyaWJ1dGVGaWx0ZXIoZmlsdGVyLnZhbHVlLCBmaWx0ZXIuY29sdW1uSWQpO1xuICAgICAgICAgICAgICAgICAgICBicmVhaztcbiAgICAgICAgICAgICAgICBjYXNlICdCT09MRUFOJzpcbiAgICAgICAgICAgICAgICAgICAgZmlsdGVyVmFsID0gYCR7ZmlsdGVyLmNvbHVtbklkfT0ke2ZpbHRlci52YWx1ZX1gO1xuICAgICAgICAgICAgICAgICAgICBicmVhaztcbiAgICAgICAgICAgICAgICBkZWZhdWx0OlxuICAgICAgICAgICAgICAgICAgICBmaWx0ZXJWYWwgPSBgJHtmaWx0ZXIuY29sdW1uSWR9IGNvbnRhaW5zIFwiJHtmaWx0ZXIudmFsdWV9XCJgO1xuICAgICAgICAgICAgICAgICAgICBicmVhaztcbiAgICAgICAgICAgIH1cbiAgICAgICAgICAgIGlmIChpbmRleCA8PSAwKSB7XG4gICAgICAgICAgICAgICAgdXJsRmlsdGVyID0gYD9maWx0ZXI9ICR7ZmlsdGVyVmFsfWA7XG4gICAgICAgICAgICB9IGVsc2Uge1xuICAgICAgICAgICAgICAgIHVybEZpbHRlciArPSBgIGFuZCAke2ZpbHRlclZhbH1gXG4gICAgICAgICAgICB9XG4gICAgICAgIH0pO1xuICAgICAgICBpZiAobm9TZWFyY2gpIHtcbiAgICAgICAgICAgIGlmIChwYWdpbmcucGFnZSAhPT0gLTEpIHVybEZpbHRlciA9IFwiP2xpbWl0PVwiICsgcGFnaW5nLnRvdGFsICsgXCImb2Zmc2V0PVwiICsgKChwYWdpbmcucGFnZSAtIDEpICogcGFnaW5nLnRvdGFsKSAgKyBcIiZzb3J0PVwiICsgcGFnaW5nLnNvcnQgKyBcIiBcIiArIHBhZ2luZy5vcmRlcjtcbiAgICAgICAgfSBlbHNlIHtcbiAgICAgICAgICAgIHVybEZpbHRlciArPSBgJmxpbWl0PSR7cGFnaW5nLnRvdGFsfSZvZmZzZXQ9JHsoKHBhZ2luZy5wYWdlIC0gMSkgKiBwYWdpbmcudG90YWwpfSZzb3J0PSR7cGFnaW5nLnNvcnR9ICAke3BhZ2luZy5vcmRlcn1gXG4gICAgICAgIH1cbiAgICAgICAgcmV0dXJuIHVybEZpbHRlcjtcbiAgICB9XG5cbiAgICBvdmVycmlkZSBzY2hlbWEoZGF0YSk6IFByb21pc2U8YW55PiB7XG4gICAgICAgIHJldHVybiBQcm9taXNlLnJlc29sdmUodGhpcy5kZXJlZmVyZW5jZUpTT05TY2hlbWEoZGF0YSkpO1xuICAgIH1cblxuICAgIGFzeW5jIGRlcmVmZXJlbmNlSlNPTlNjaGVtYShkYXRhOiBhbnkpIHtcbiAgICAgICAgY29uc3QgcmVzb2x2ZXIgPSBuZXcgUmVzb2x2ZXIoKTtcbiAgICAgICAgY29uc3Qgc2NoZW1hID0gYXdhaXQgcmVzb2x2ZXIucmVzb2x2ZShkYXRhKTtcbiAgICAgICAgcmV0dXJuIHNjaGVtYS5yZXN1bHQ7XG4gICAgfVxuXG4gICAgZ2V0QXR0cmlidXRlRmlsdGVyKHZhbCwgY29sdW1uSWQpIHtcbiAgICAgICAgbGV0IGZpbHRlciA9ICcnO1xuICAgICAgICBpZiAoaXNBcnJheSh2YWwpKSB7XG4gICAgICAgICAgICB2YWwuZm9yRWFjaCgoYXR0ciwgaW5kZXgpID0+IHtcbiAgICAgICAgICAgICAgICBpZiAoaW5kZXggPiAwKSB7XG4gICAgICAgICAgICAgICAgICAgIGZpbHRlciArPSAnIG9yICc7XG4gICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgICAgIGZpbHRlciArPSBgYW55T2YoJHtjb2x1bW5JZH0pID0gXCIke2F0dHJ9XCJgO1xuICAgICAgICAgICAgfSk7XG4gICAgICAgIH0gZWxzZSB7XG4gICAgICAgICAgICBmaWx0ZXIgPSBgYW55T2YoJHtjb2x1bW5JZH0pID0gXCIke3ZhbH1cImA7XG4gICAgICAgIH1cbiAgICAgICAgcmV0dXJuIGZpbHRlcjtcbiAgICB9XG59XG4iXX0=
|
|
314
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoieml0aS1jb250cm9sbGVyLWRhdGEuc2VydmljZS5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL3ppdGktY29uc29sZS1saWIvc3JjL2xpYi9zZXJ2aWNlcy96aXRpLWNvbnRyb2xsZXItZGF0YS5zZXJ2aWNlLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBOzs7Ozs7Ozs7Ozs7OztFQWNFO0FBRUYsT0FBTyxFQUFFLFVBQVUsRUFBRSxNQUFNLEVBQUUsTUFBTSxlQUFlLENBQUM7QUFJbkQsT0FBTyxFQUFDLGdCQUFnQixFQUFrQixNQUFNLG9CQUFvQixDQUFDO0FBQ3JFLE9BQU8sRUFBQyxjQUFjLEVBQUUsR0FBRyxFQUFhLE1BQU0sTUFBTSxDQUFDO0FBQ3JELE9BQU8sRUFBQyxVQUFVLEVBQUMsTUFBTSxnQkFBZ0IsQ0FBQztBQUcxQyxPQUFPLEVBQUMsZUFBZSxFQUFDLE1BQU0scUJBQXFCLENBQUM7QUFDcEQsT0FBTyxFQUFDLE9BQU8sRUFBRSxPQUFPLEVBQUUsUUFBUSxFQUFFLFNBQVMsRUFBQyxNQUFNLFFBQVEsQ0FBQztBQUM3RCxPQUFPLEVBQUMsUUFBUSxFQUFDLE1BQU0sOEJBQThCLENBQUM7QUFDdEQsT0FBTyxNQUFNLE1BQU0sUUFBUSxDQUFDOzs7Ozs7O0FBRTVCLE1BR2EseUJBQTBCLFNBQVEsZUFBZTtJQUUxRCxZQUFxQixNQUFxQixFQUNyQixPQUF1QixFQUNOLGVBQWdDLEVBQ2pELFVBQXNCLEVBQ3RCLE1BQWM7UUFFL0IsS0FBSyxDQUFDLE1BQU0sRUFBRSxPQUFPLEVBQUUsZUFBZSxFQUFFLFVBQVUsRUFBRSxNQUFNLENBQUMsQ0FBQztRQU4zQyxXQUFNLEdBQU4sTUFBTSxDQUFlO1FBQ3JCLFlBQU8sR0FBUCxPQUFPLENBQWdCO1FBRXZCLGVBQVUsR0FBVixVQUFVLENBQVk7UUFDdEIsV0FBTSxHQUFOLE1BQU0sQ0FBUTtJQUduQyxDQUFDO0lBRUQsSUFBSSxDQUFDLElB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QU0sR0FBRyxNQUFNLFFBQVEsQ0FBQyxPQUFPLENBQUMsSUFBSSxDQUFDLENBQUM7UUFDNUMsT0FBTyxNQUFNLENBQUMsTUFBTSxDQUFDO0lBQ3pCLENBQUM7SUFFRCxrQkFBa0IsQ0FBQyxHQUFHLEVBQUUsUUFBUTtRQUM1QixJQUFJLE1BQU0sR0FBRyxFQUFFLENBQUM7UUFDaEIsSUFBSSxPQUFPLENBQUMsR0FBRyxDQUFDLEVBQUU7WUFDZCxHQUFHLENBQUMsT0FBTyxDQUFDLENBQUMsSUFBSSxFQUFFLEtBQUssRUFBRSxFQUFFO2dCQUN4QixJQUFJLEtBQUssR0FBRyxDQUFDLEVBQUU7b0JBQ1gsTUFBTSxJQUFJLE1BQU0sQ0FBQztpQkFDcEI7Z0JBQ0QsTUFBTSxJQUFJLFNBQVMsUUFBUSxRQUFRLElBQUksR0FBRyxDQUFDO1lBQy9DLENBQUMsQ0FBQyxDQUFDO1NBQ047YUFBTTtZQUNILE1BQU0sR0FBRyxTQUFTLFFBQVEsUUFBUSxHQUFHLEdBQUcsQ0FBQztTQUM1QztRQUNELE9BQU8sTUFBTSxDQUFDO0lBQ2xCLENBQUM7K0dBalVRLHlCQUF5Qiw2RUFJZCxnQkFBZ0I7bUhBSjNCLHlCQUF5QixjQUZ0QixNQUFNOztTQUVULHlCQUF5Qjs0RkFBekIseUJBQXlCO2tCQUhyQyxVQUFVO21CQUFDO29CQUNSLFVBQVUsRUFBRSxNQUFNO2lCQUNyQjs7MEJBS2dCLE1BQU07MkJBQUMsZ0JBQWdCIiwic291cmNlc0NvbnRlbnQiOlsiLypcbiAgICBDb3B5cmlnaHQgTmV0Rm91bmRyeSBJbmMuXG5cbiAgICBMaWNlbnNlZCB1bmRlciB0aGUgQXBhY2hlIExpY2Vuc2UsIFZlcnNpb24gMi4wICh0aGUgXCJMaWNlbnNlXCIpO1xuICAgIHlvdSBtYXkgbm90IHVzZSB0aGlzIGZpbGUgZXhjZXB0IGluIGNvbXBsaWFuY2Ugd2l0aCB0aGUgTGljZW5zZS5cbiAgICBZb3UgbWF5IG9idGFpbiBhIGNvcHkgb2YgdGhlIExpY2Vuc2UgYXRcblxuICAgIGh0dHBzOi8vd3d3LmFwYWNoZS5vcmcvbGljZW5zZXMvTElDRU5TRS0yLjBcblxuICAgIFVubGVzcyByZXF1aXJlZCBieSBhcHBsaWNhYmxlIGxhdyBvciBhZ3JlZWQgdG8gaW4gd3JpdGluZywgc29mdHdhcmVcbiAgICBkaXN0cmlidXRlZCB1bmRlciB0aGUgTGljZW5zZSBpcyBkaXN0cmlidXRlZCBvbiBhbiBcIkFTIElTXCIgQkFTSVMsXG4gICAgV0lUSE9VVCBXQVJSQU5USUVTIE9SIENPTkRJVElPTlMgT0YgQU5ZIEtJTkQsIGVpdGhlciBleHByZXNzIG9yIGltcGxpZWQuXG4gICAgU2VlIHRoZSBMaWNlbnNlIGZvciB0aGUgc3BlY2lmaWMgbGFuZ3VhZ2UgZ292ZXJuaW5nIHBlcm1pc3Npb25zIGFuZFxuICAgIGxpbWl0YXRpb25zIHVuZGVyIHRoZSBMaWNlbnNlLlxuKi9cblxuaW1wb3J0IHsgSW5qZWN0YWJsZSwgSW5qZWN0IH0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XG5pbXBvcnQgeyBSb3V0ZXIgfSBmcm9tIFwiQGFuZ3VsYXIvcm91dGVyXCI7XG5pbXBvcnQge0xvZ2dlclNlcnZpY2V9IGZyb20gXCIuLi9mZWF0dXJlcy9tZXNzYWdpbmcvbG9nZ2VyLnNlcnZpY2VcIjtcbmltcG9ydCB7R3Jvd2xlclNlcnZpY2V9IGZyb20gXCIuLi9mZWF0dXJlcy9tZXNzYWdpbmcvZ3Jvd2xlci5zZXJ2aWNlXCI7XG5pbXBvcnQge1NFVFRJTkdTX1NFUlZJQ0UsIFNldHRpbmdzU2VydmljZX0gZnJvbSBcIi4vc2V0dGluZ3Muc2VydmljZVwiO1xuaW1wb3J0IHtmaXJzdFZhbHVlRnJvbSwgbWFwLCBPYnNlcnZhYmxlfSBmcm9tIFwicnhqc1wiO1xuaW1wb3J0IHtjYXRjaEVycm9yfSBmcm9tIFwicnhqcy9vcGVyYXRvcnNcIjtcbmltcG9ydCB7SHR0cENsaWVudH0gZnJvbSBcIkBhbmd1bGFyL2NvbW1vbi9odHRwXCI7XG5pbXBvcnQge0ZpbHRlck9ian0gZnJvbSBcIi4uL2ZlYXR1cmVzL2RhdGEtdGFibGUvZGF0YS10YWJsZS1maWx0ZXIuc2VydmljZVwiO1xuaW1wb3J0IHtaaXRpRGF0YVNlcnZpY2V9IGZyb20gXCIuL3ppdGktZGF0YS5zZXJ2aWNlXCI7XG5pbXBvcnQge2lzRW1wdHksIGlzQXJyYXksIGlzTnVtYmVyLCBpc0Jvb2xlYW59IGZyb20gXCJsb2Rhc2hcIjtcbmltcG9ydCB7UmVzb2x2ZXJ9IGZyb20gXCJAc3RvcGxpZ2h0L2pzb24tcmVmLXJlc29sdmVyXCI7XG5pbXBvcnQgbW9tZW50IGZyb20gXCJtb21lbnRcIjtcblxuQEluamVjdGFibGUoe1xuICAgIHByb3ZpZGVkSW46ICdyb290J1xufSlcbmV4cG9ydCBjbGFzcyBaaXRpQ29udHJvbGxlckRhdGFTZXJ2aWNlIGV4dGVuZHMgWml0aURhdGFTZXJ2aWNlIHtcblxuICAgIGNvbnN0cnVjdG9yKG92ZXJyaWRlIGxvZ2dlcjogTG9nZ2VyU2VydmljZSxcbiAgICAgICAgICAgICAgICBvdmVycmlkZSBncm93bGVyOiBHcm93bGVyU2VydmljZSxcbiAgICAgICAgICAgICAgICBASW5qZWN0KFNFVFRJTkdTX1NFUlZJQ0UpIHNldHRpbmdzU2VydmljZTogU2V0dGluZ3NTZXJ2aWNlLFxuICAgICAgICAgICAgICAgIG92ZXJyaWRlIGh0dHBDbGllbnQ6IEh0dHBDbGllbnQsXG4gICAgICAgICAgICAgICAgb3ZlcnJpZGUgcm91dGVyOiBSb3V0ZXJcbiAgICApIHtcbiAgICAgICAgc3VwZXIobG9nZ2VyLCBncm93bGVyLCBzZXR0aW5nc1NlcnZpY2UsIGh0dHBDbGllbnQsIHJvdXRlcik7XG4gICAgfVxuXG4gICAgcG9zdCh0eXBlLCBtb2RlbCwgY2hhaW5lZCA9IGZhbHNlLCBjb250ZW50VHlwZT8pOiBQcm9taXNlPGFueT4ge1xuICAgICAgICBjb25zdCBhcGlWZXJzaW9ucyA9IHRoaXMuc2V0dGluZ3NTZXJ2aWNlLmFwaVZlcnNpb25zIHx8IHt9O1xuICAgICAgICBjb25zdCBwcmVmaXggPSBhcGlWZXJzaW9uc1tcImVkZ2UtbWFuYWdlbWVudFwiXT8udjE/LnBhdGg7XG4gICAgICAgIGNvbnN0IHVybCA9IHRoaXMuc2V0dGluZ3NTZXJ2aWNlLnNldHRpbmdzLnNlbGVjdGVkRWRnZUNvbnRyb2xsZXI7XG4gICAgICAgIGNvbnN0IHNlcnZpY2VVcmwgPSB1cmwgKyBwcmVmaXggKyBcIi9cIiArIHR5cGU7XG4gICAgICAgIGxldCBvcHRpb25zID0ge307XG4gICAgICAgIGlmIChjb250ZW50VHlwZSkge1xuICAgICAgICAgICAgY29uc3QgaGVhZGVycyA9IHtcbiAgICAgICAgICAgICAgICAnQ29udGVudC1UeXBlJzogY29udGVudFR5cGVcbiAgICAgICAgICAgIH1cbiAgICAgICAgICAgIG9wdGlvbnMgPSB7IGhlYWRlcnMgfTtcbiAgICAgICAgfVxuICAgICAgICByZXR1cm4gZmlyc3RWYWx1ZUZyb20odGhpcy5odHRwQ2xpZW50LnBvc3Qoc2VydmljZVVybCwgbW9kZWwsIG9wdGlvbnMpLnBpcGUoXG4gICAgICAgICAgICAgICAgY2F0Y2hFcnJvcigoZXJyOiBhbnkpID0+IHtcbiAgICAgICAgICAgICAgICAgICAgY29uc3QgZXJyb3IgPSBcIlNlcnZlciBOb3QgQWNjZXNzaWJsZVwiO1xuICAgICAgICAgICAgICAgICAgICBpZiAoZXJyLmNvZGUgIT09IFwiRUNPTk5SRUZVU0VEXCIpIHRocm93KGVycik7XG4gICAgICAgICAgICAgICAgICAgIHRocm93KHtlcnJvcjogZXJyb3J9KTtcbiAgICAgICAgICAgICAgICB9KSxcbiAgICAgICAgICAgICAgICBtYXAoKHJlc3VsdDogYW55KSA9PiB7XG4gICAgICAgICAgICAgICAgICAgIHJldHVybiByZXN1bHQ7XG4gICAgICAgICAgICAgICAgfSlcbiAgICAgICAgICAgIClcbiAgICAgICAgKTtcbiAgICB9XG5cbiAgICBwdXQodHlwZSwgbW9kZWwsIGlkLCBjaGFpbmVkID0gZmFsc2UpOiBQcm9taXNlPGFueT4ge1xuICAgICAgICBjb25zdCBhcGlWZXJzaW9ucyA9IHRoaXMuc2V0dGluZ3NTZXJ2aWNlLmFwaVZlcnNpb25zIHx8IHt9O1xuICAgICAgICBjb25zdCBwcmVmaXggPSBhcGlWZXJzaW9uc1tcImVkZ2UtbWFuYWdlbWVudFwiXT8udjE/LnBhdGggfHwgJy9lZGdlL21hbmFnZW1lbnQvdjEnO1xuICAgICAgICBjb25zdCB1cmwgPSB0aGlzLnNldHRpbmdzU2VydmljZS5zZXR0aW5ncy5zZWxlY3RlZEVkZ2VDb250cm9sbGVyO1xuICAgICAgICBjb25zdCBzZXJ2aWNlVXJsID0gdXJsICsgcHJlZml4ICsgXCIvXCIgKyB0eXBlICsgJy8nICsgaWQ7XG4gICAgICAgIHRoaXMuaHR0cENsaWVudC5wYXRjaChzZXJ2aWNlVXJsLCBtb2RlbCwge30pO1xuXG4gICAgICAgIHJldHVybiBmaXJzdFZhbHVlRnJvbSh0aGlzLmh0dHBDbGllbnQucHV0KHNlcnZpY2VVcmwsIG1vZGVsLCB7fSkucGlwZShcbiAgICAgICAgICAgICAgICBjYXRjaEVycm9yKChlcnI6IGFueSkgPT4ge1xuICAgICAgICAgICAgICAgICAgICBjb25zdCBlcnJvciA9IFwiU2VydmVyIE5vdCBBY2Nlc3NpYmxlXCI7XG4gICAgICAgICAgICAgICAgICAgIGlmIChlcnIuY29kZSAhPT0gXCJFQ09OTlJFRlVTRURcIikgdGhyb3coZXJyKTtcbiAgICAgICAgICAgICAgICAgICAgdGhyb3coe2Vycm9yOiBlcnJvcn0pO1xuICAgICAgICAgICAgICAgIH0pLFxuICAgICAgICAgICAgICAgIG1hcCgocmVzdWx0OiBhbnkpID0+IHtcbiAgICAgICAgICAgICAgICAgICAgcmV0dXJuIHJlc3VsdDtcbiAgICAgICAgICAgICAgICB9KVxuICAgICAgICAgICAgKVxuICAgICAgICApO1xuICAgIH1cblxuICAgIHBhdGNoKHR5cGUsIG1vZGVsLCBpZCwgY2hhaW5lZCA9IGZhbHNlKTogUHJvbWlzZTxhbnk+IHtcbiAgICAgICAgY29uc3QgYXBpVmVyc2lvbnMgPSB0aGlzLnNldHRpbmdzU2VydmljZS5hcGlWZXJzaW9ucyB8fCB7fTtcbiAgICAgICAgY29uc3QgcHJlZml4ID0gYXBpVmVyc2lvbnNbXCJlZGdlLW1hbmFnZW1lbnRcIl0/LnYxPy5wYXRoIHx8ICcvZWRnZS9tYW5hZ2VtZW50L3YxJztcbiAgICAgICAgY29uc3QgdXJsID0gdGhpcy5zZXR0aW5nc1NlcnZpY2Uuc2V0dGluZ3Muc2VsZWN0ZWRFZGdlQ29udHJvbGxlcjtcbiAgICAgICAgY29uc3Qgc2VydmljZVVybCA9IHVybCArIHByZWZpeCArIFwiL1wiICsgdHlwZSArICcvJyArIGlkO1xuICAgICAgICB0aGlzLmh0dHBDbGllbnQucGF0Y2goc2VydmljZVVybCwgbW9kZWwsIHt9KTtcblxuICAgICAgICByZXR1cm4gZmlyc3RWYWx1ZUZyb20odGhpcy5odHRwQ2xpZW50LnBhdGNoKHNlcnZpY2VVcmwsIG1vZGVsLCB7fSkucGlwZShcbiAgICAgICAgICAgICAgICBjYXRjaEVycm9yKChlcnI6IGFueSkgPT4ge1xuICAgICAgICAgICAgICAgICAgICBjb25zdCBlcnJvciA9IFwiU2VydmVyIE5vdCBBY2Nlc3NpYmxlXCI7XG4gICAgICAgICAgICAgICAgICAgIGlmIChlcnIuY29kZSAhPT0gXCJFQ09OTlJFRlVTRURcIikgdGhyb3coZXJyKTtcbiAgICAgICAgICAgICAgICAgICAgdGhyb3coe2Vycm9yOiBlcnJvcn0pO1xuICAgICAgICAgICAgICAgIH0pLFxuICAgICAgICAgICAgICAgIG1hcCgocmVzdWx0OiBhbnkpID0+IHtcbiAgICAgICAgICAgICAgICAgICAgcmV0dXJuIHJlc3VsdDtcbiAgICAgICAgICAgICAgICB9KVxuICAgICAgICAgICAgKVxuICAgICAgICApO1xuICAgIH1cblxuICAgIGdldCh0eXBlOiBzdHJpbmcsIHBhZ2luZzogYW55LCBmaWx0ZXJzOiBGaWx0ZXJPYmpbXSA9IFtdLCB1cmw/LCB1c2VDbGllbnQ/KTogUHJvbWlzZTxhbnk+IHtcbiAgICAgICAgY29uc3QgYXBpVmVyc2lvbnMgPSB0aGlzLnNldHRpbmdzU2VydmljZS5hcGlWZXJzaW9ucyB8fCB7fTtcbiAgICAgICAgY29uc3QgbWFuYWdlbWVudFVybCA9IGFwaVZlcnNpb25zW1wiZWRnZS1tYW5hZ2VtZW50XCJdPy52MT8ucGF0aCB8fCAnL2VkZ2UvbWFuYWdlbWVudC92MSc7XG4gICAgICAgIGNvbnN0IGNsaWVudFVybCA9ICcvZWRnZS9jbGllbnQvdjEnO1xuICAgICAgICBjb25zdCBwcmVmaXggPSB1c2VDbGllbnQgPyBjbGllbnRVcmwgOiBtYW5hZ2VtZW50VXJsO1xuICAgICAgICB1cmwgPSB0aGlzLnNldHRpbmdzU2VydmljZS5zZXR0aW5ncy5zZWxlY3RlZEVkZ2VDb250cm9sbGVyO1xuICAgICAgICBjb25zdCB1cmxGaWx0ZXIgPSB0aGlzLmdldFVybEZpbHRlcihwYWdpbmcsIGZpbHRlcnMpO1xuICAgICAgICBjb25zdCBzZXJ2aWNlVXJsID0gdXJsICsgcHJlZml4ICsgXCIvXCIgKyB0eXBlICsgdXJsRmlsdGVyO1xuXG4gICAgICAgIHJldHVybiBmaXJzdFZhbHVlRnJvbSh0aGlzLmh0dHBDbGllbnQuZ2V0KHNlcnZpY2VVcmwse30pLnBpcGUoXG4gICAgICAgICAgICAgICAgY2F0Y2hFcnJvcigoZXJyOiBhbnkpID0+IHtcbiAgICAgICAgICAgICAgICAgICAgY29uc3QgZXJyb3IgPSBcIlNlcnZlciBOb3QgQWNjZXNzaWJsZVwiO1xuICAgICAgICAgICAgICAgICAgICBpZiAoZXJyLmNvZGUgIT0gXCJFQ09OTlJFRlVTRURcIikgdGhyb3coe2Vycm9yOiBlcnIuY29kZX0pO1xuICAgICAgICAgICAgICAgICAgICB0aHJvdyh7ZXJyb3I6IGVycm9yfSk7XG4gICAgICAgICAgICAgICAgfSksXG4gICAgICAgICAgICAgICAgbWFwKChyZXN1bHRzOiBhbnkpID0+IHtcbiAgICAgICAgICAgICAgICAgICAgcmV0dXJuIHJlc3VsdHM7XG4gICAgICAgICAgICAgICAgfSlcbiAgICAgICAgICAgIClcbiAgICAgICAgKTtcbiAgICB9XG5cbiAgICBnZXRTdWJkYXRhKGVudGl0eVR5cGU6IHN0cmluZywgaWQ6IGFueSwgZGF0YVR5cGU6IHN0cmluZywgcGFnaW5nPzogYW55LCBjb250ZW50VHlwZT86IGFueSk6IFByb21pc2U8YW55PiB7XG4gICAgICAgIGNvbnN0IGFwaVZlcnNpb25zID0gdGhpcy5zZXR0aW5nc1NlcnZpY2UuYXBpVmVyc2lvbnMgfHwge307XG4gICAgICAgIGNvbnN0IHByZWZpeCA9IGFwaVZlcnNpb25zW1wiZWRnZS1tYW5hZ2VtZW50XCJdPy52MT8ucGF0aCB8fCAnL2VkZ2UvbWFuYWdlbWVudC92MSc7XG5cbiAgICAgICAgbGV0IHVybEZpbHRlciA9ICcnO1xuICAgICAgICBpZiAoIWlzRW1wdHkocGFnaW5nKSkge1xuICAgICAgICAgICAgdXJsRmlsdGVyID0gdGhpcy5nZXRVcmxGaWx0ZXIocGFnaW5nLCBbXSk7XG4gICAgICAgIH1cbiAgICAgICAgY29uc3QgdXJsID0gdGhpcy5zZXR0aW5nc1NlcnZpY2Uuc2V0dGluZ3Muc2VsZWN0ZWRFZGdlQ29udHJvbGxlciArIGAke3ByZWZpeH0vJHtlbnRpdHlUeXBlfS8ke2lkfS8ke2RhdGFUeXBlfS8ke3VybEZpbHRlcn1gO1xuXG4gICAgICAgIGxldCBvcHRpb25zOiBhbnkgPSB7fTtcbiAgICAgICAgaWYgKGNvbnRlbnRUeXBlKSB7XG4gICAgICAgICAgICBjb25zdCBoZWFkZXJzID0ge1xuICAgICAgICAgICAgICAgICdBY2NlcHQnOiBjb250ZW50VHlwZSxcbiAgICAgICAgICAgICAgICAnQ29udGVudC1UeXBlJzogY29udGVudFR5cGVcbiAgICAgICAgICAgIH1cbiAgICAgICAgICAgIG9wdGlvbnMgPSB7IGhlYWRlcnMgfTtcbiAgICAgICAgICAgIGlmIChjb250ZW50VHlwZS5pbmRleE9mKCdhcHBsaWNhdGlvbi9qd3QnKSA+PSAwKSB7XG4gICAgICAgICAgICAgICAgb3B0aW9ucy5yZXNwb25zZVR5cGUgPSAndGV4dCc7XG4gICAgICAgICAgICB9XG4gICAgICAgIH1cblxuICAgICAgICByZXR1cm4gZmlyc3RWYWx1ZUZyb20odGhpcy5odHRwQ2xpZW50LmdldCh1cmwsIG9wdGlvbnMpLnBpcGUoXG4gICAgICAgICAgICAgICAgY2F0Y2hFcnJvcigoZXJyOiBhbnkpID0+IHtcbiAgICAgICAgICAgICAgICAgICAgY29uc3QgZXJyb3IgPSBcIlNlcnZlciBOb3QgQWNjZXNzaWJsZVwiO1xuICAgICAgICAgICAgICAgICAgICBpZiAoZXJyLmNvZGUgIT0gXCJFQ09OTlJFRlVTRURcIikgdGhyb3coe2Vycm9yOiBlcnIuY29kZX0pO1xuICAgICAgICAgICAgICAgICAgICB0aHJvdyh7ZXJyb3I6IGVycm9yfSk7XG4gICAgICAgICAgICAgICAgfSlcbiAgICAgICAgICAgIClcbiAgICAgICAgKTtcbiAgICB9XG5cbiAgICBzYXZlU3ViZGF0YShlbnRpdHlUeXBlOiBzdHJpbmcsIGlkOiBhbnksIGRhdGFUeXBlOiBzdHJpbmcsIHBhcmFtczogYW55KTogUHJvbWlzZTxhbnk+IHtcbiAgICAgICAgY29uc3QgYXBpVmVyc2lvbnMgPSB0aGlzLnNldHRpbmdzU2VydmljZS5hcGlWZXJzaW9ucyB8fCB7fTtcbiAgICAgICAgY29uc3QgcHJlZml4ID0gYXBpVmVyc2lvbnNbXCJlZGdlLW1hbmFnZW1lbnRcIl0/LnYxPy5wYXRoIHx8ICcvZWRnZS9tYW5hZ2VtZW50L3YxJztcbiAgICAgICAgY29uc3QgdXJsID0gdGhpcy5zZXR0aW5nc1NlcnZpY2Uuc2V0dGluZ3Muc2VsZWN0ZWRFZGdlQ29udHJvbGxlciArIGAke3ByZWZpeH0vJHtlbnRpdHlUeXBlfS8ke2lkfS8ke2RhdGFUeXBlfWA7XG5cbiAgICAgICAgcmV0dXJuIGZpcnN0VmFsdWVGcm9tKHRoaXMuaHR0cENsaWVudC5wb3N0KHVybCwgcGFyYW1zLCB7fSkucGlwZShcbiAgICAgICAgICAgICAgICBjYXRjaEVycm9yKChlcnI6IGFueSkgPT4ge1xuICAgICAgICAgICAgICAgICAgICBjb25zdCBlcnJvciA9IFwiU2VydmVyIE5vdCBBY2Nlc3NpYmxlXCI7XG4gICAgICAgICAgICAgICAgICAgIGlmIChlcnIuY29kZSAhPSBcIkVDT05OUkVGVVNFRFwiKSB0aHJvdyh7ZXJyb3I6IGVyci5jb2RlfSk7XG4gICAgICAgICAgICAgICAgICAgIHRocm93KHtlcnJvcjogZXJyb3J9KTtcbiAgICAgICAgICAgICAgICB9KVxuICAgICAgICAgICAgKVxuICAgICAgICApO1xuICAgIH1cblxuICAgIGRlbGV0ZVN1YmRhdGEoZW50aXR5VHlwZTogc3RyaW5nLCBpZDogYW55LCBkYXRhVHlwZTogc3RyaW5nLCBwYXJhbXM6IGFueSk6IFByb21pc2U8YW55PiB7XG4gICAgICAgIGNvbnN0IGFwaVZlcnNpb25zID0gdGhpcy5zZXR0aW5nc1NlcnZpY2UuYXBpVmVyc2lvbnMgfHwge307XG4gICAgICAgIGNvbnN0IHByZWZpeCA9IGFwaVZlcnNpb25zW1wiZWRnZS1tYW5hZ2VtZW50XCJdPy52MT8ucGF0aCB8fCAnL2VkZ2UvbWFuYWdlbWVudC92MSc7XG4gICAgICAgIGNvbnN0IHVybCA9IHRoaXMuc2V0dGluZ3NTZXJ2aWNlLnNldHRpbmdzLnNlbGVjdGVkRWRnZUNvbnRyb2xsZXIgKyBgJHtwcmVmaXh9LyR7ZW50aXR5VHlwZX0vJHtpZH0vJHtkYXRhVHlwZX1gO1xuXG4gICAgICAgIHJldHVybiBmaXJzdFZhbHVlRnJvbSh0aGlzLmh0dHBDbGllbnQuZGVsZXRlKHVybCwge2JvZHk6IHBhcmFtc30pLnBpcGUoXG4gICAgICAgICAgICAgICAgY2F0Y2hFcnJvcigoZXJyOiBhbnkpID0+IHtcbiAgICAgICAgICAgICAgICAgICAgY29uc3QgZXJyb3IgPSBcIlNlcnZlciBOb3QgQWNjZXNzaWJsZVwiO1xuICAgICAgICAgICAgICAgICAgICBpZiAoZXJyLmNvZGUgIT0gXCJFQ09OTlJFRlVTRURcIikgdGhyb3coe2Vycm9yOiBlcnIuY29kZX0pO1xuICAgICAgICAgICAgICAgICAgICB0aHJvdyh7ZXJyb3I6IGVycm9yfSk7XG4gICAgICAgICAgICAgICAgfSlcbiAgICAgICAgICAgIClcbiAgICAgICAgKTtcbiAgICB9XG5cbiAgICBvdmVycmlkZSByZXNldEVucm9sbG1lbnQoaWQ6IHN0cmluZywgZGF0ZTogYW55KTogUHJvbWlzZTxhbnk+IHtcbiAgICAgICAgY29uc3QgYXBpVmVyc2lvbnMgPSB0aGlzLnNldHRpbmdzU2VydmljZS5hcGlWZXJzaW9ucyB8fCB7fTtcbiAgICAgICAgY29uc3QgcHJlZml4ID0gYXBpVmVyc2lvbnNbXCJlZGdlLW1hbmFnZW1lbnRcIl0/LnYxPy5wYXRoIHx8ICcvZWRnZS9tYW5hZ2VtZW50L3YxJztcbiAgICAgICAgY29uc3QgdXJsID0gdGhpcy5zZXR0aW5nc1NlcnZpY2Uuc2V0dGluZ3Muc2VsZWN0ZWRFZGdlQ29udHJvbGxlciArIGAke3ByZWZpeH0vYXV0aGVudGljYXRvcnMvJHtpZC50cmltKCl9L3JlLWVucm9sbGA7XG4gICAgICAgIGNvbnN0IGV4cGlyZXNBdCA9IG1vbWVudChkYXRlKS51dGMoKS50b0lTT1N0cmluZygpO1xuICAgICAgICBjb25zdCBib2R5ID0geyBleHBpcmVzQXQ6IGV4cGlyZXNBdCB9O1xuICAgICAgICByZXR1cm4gZmlyc3RWYWx1ZUZyb20odGhpcy5odHRwQ2xpZW50LnBvc3QodXJsLCBib2R5KS5waXBlKFxuICAgICAgICAgICAgICAgIGNhdGNoRXJyb3IoKGVycjogYW55KSA9PiB7XG4gICAgICAgICAgICAgICAgICAgIGNvbnN0IGVycm9yID0gXCJTZXJ2ZXIgTm90IEFjY2Vzc2libGVcIjtcbiAgICAgICAgICAgICAgICAgICAgaWYgKGVyci5jb2RlICE9IFwiRUNPTk5SRUZVU0VEXCIpIHRocm93KHtlcnJvcjogZXJyLmNvZGV9KTtcbiAgICAgICAgICAgICAgICAgICAgdGhyb3coe2Vycm9yOiBlcnJvcn0pO1xuICAgICAgICAgICAgICAgIH0pXG4gICAgICAgICAgICApXG4gICAgICAgICk7XG4gICAgfVxuXG4gICAgb3ZlcnJpZGUgcmVpc3N1ZUVucm9sbG1lbnQoaWQ6IHN0cmluZywgZGF0ZSk6IFByb21pc2U8YW55PiB7XG4gICAgICAgIGNvbnN0IGFwaVZlcnNpb25zID0gdGhpcy5zZXR0aW5nc1NlcnZpY2UuYXBpVmVyc2lvbnMgfHwge307XG4gICAgICAgIGNvbnN0IHByZWZpeCA9IGFwaVZlcnNpb25zW1wiZWRnZS1tYW5hZ2VtZW50XCJdPy52MT8ucGF0aCB8fCAnL2VkZ2UvbWFuYWdlbWVudC92MSc7XG4gICAgICAgIGNvbnN0IHVybCA9IHRoaXMuc2V0dGluZ3NTZXJ2aWNlLnNldHRpbmdzLnNlbGVjdGVkRWRnZUNvbnRyb2xsZXIgKyBgJHtwcmVmaXh9L2Vucm9sbG1lbnRzLyR7aWR9L3JlZnJlc2hgO1xuICAgICAgICBjb25zdCBleHBpcmVzQXQgPSBtb21lbnQoZGF0ZSkudXRjKCkudG9JU09TdHJpbmcoKTtcbiAgICAgICAgY29uc3QgYm9keSA9IHsgZXhwaXJlc0F0OiBleHBpcmVzQXQgfTtcbiAgICAgICAgcmV0dXJuIGZpcnN0VmFsdWVGcm9tKHRoaXMuaHR0cENsaWVudC5wb3N0KHVybCwgYm9keSkucGlwZShcbiAgICAgICAgICAgICAgICBjYXRjaEVycm9yKChlcnI6IGFueSkgPT4ge1xuICAgICAgICAgICAgICAgICAgICBjb25zdCBlcnJvciA9IFwiU2VydmVyIE5vdCBBY2Nlc3NpYmxlXCI7XG4gICAgICAgICAgICAgICAgICAgIGlmIChlcnIuY29kZSAhPSBcIkVDT05OUkVGVVNFRFwiKSB0aHJvdyh7ZXJyb3I6IGVyci5jb2RlfSk7XG4gICAgICAgICAgICAgICAgICAgIHRocm93KHtlcnJvcjogZXJyb3J9KTtcbiAgICAgICAgICAgICAgICB9KVxuICAgICAgICAgICAgKVxuICAgICAgICApO1xuICAgIH1cblxuICAgIHJlc2V0TUZBKGlkKSB7XG4gICAgICAgIGNvbnN0IGFwaVZlcnNpb25zID0gdGhpcy5zZXR0aW5nc1NlcnZpY2UuYXBpVmVyc2lvbnMgfHwge307XG4gICAgICAgIGNvbnN0IHByZWZpeCA9IGFwaVZlcnNpb25zW1wiZWRnZS1tYW5hZ2VtZW50XCJdPy52MT8ucGF0aCB8fCAnL2VkZ2UvbWFuYWdlbWVudC92MSc7XG4gICAgICAgIGNvbnN0IHVybCA9IHRoaXMuc2V0dGluZ3NTZXJ2aWNlLnNldHRpbmdzLnNlbGVjdGVkRWRnZUNvbnRyb2xsZXIgKyBgJHtwcmVmaXh9L2lkZW50aXRpZXMvJHtpZH0vbWZhYDtcbiAgICAgICAgcmV0dXJuIGZpcnN0VmFsdWVGcm9tKHRoaXMuaHR0cENsaWVudC5kZWxldGUodXJsKS5waXBlKFxuICAgICAgICAgICAgICAgIGNhdGNoRXJyb3IoKGVycjogYW55KSA9PiB7XG4gICAgICAgICAgICAgICAgICAgIGNvbnN0IGVycm9yID0gXCJTZXJ2ZXIgTm90IEFjY2Vzc2libGVcIjtcbiAgICAgICAgICAgICAgICAgICAgaWYgKGVyci5jb2RlICE9IFwiRUNPTk5SRUZVU0VEXCIpIHRocm93KHtlcnJvcjogZXJyLmNvZGV9KTtcbiAgICAgICAgICAgICAgICAgICAgdGhyb3coe2Vycm9yOiBlcnJvcn0pO1xuICAgICAgICAgICAgICAgIH0pXG4gICAgICAgICAgICApXG4gICAgICAgICk7XG4gICAgfVxuXG4gICAgZGVsZXRlKHR5cGU6IHN0cmluZywgaWQ6IHN0cmluZyk6IFByb21pc2U8YW55PiB7XG4gICAgICAgIGNvbnN0IGFwaVZlcnNpb25zID0gdGhpcy5zZXR0aW5nc1NlcnZpY2UuYXBpVmVyc2lvbnMgfHwge307XG4gICAgICAgIGNvbnN0IHByZWZpeCA9IGFwaVZlcnNpb25zW1wiZWRnZS1tYW5hZ2VtZW50XCJdPy52MT8ucGF0aDtcbiAgICAgICAgY29uc3QgdXJsID0gdGhpcy5zZXR0aW5nc1NlcnZpY2Uuc2V0dGluZ3Muc2VsZWN0ZWRFZGdlQ29udHJvbGxlcjtcbiAgICAgICAgY29uc3Qgc2VydmljZVVybCA9IHVybCArIHByZWZpeCArIFwiL1wiICsgdHlwZSArICcvJyArIGlkO1xuXG4gICAgICAgIHJldHVybiBmaXJzdFZhbHVlRnJvbSh0aGlzLmh0dHBDbGllbnQuZGVsZXRlKHNlcnZpY2VVcmwsIHt9KS5waXBlKFxuICAgICAgICAgICAgICAgIGNhdGNoRXJyb3IoKGVycjogYW55KSA9PiB7XG4gICAgICAgICAgICAgICAgICAgIGNvbnN0IGVycm9yID0gXCJTZXJ2ZXIgTm90IEFjY2Vzc2libGVcIjtcbiAgICAgICAgICAgICAgICAgICAgaWYgKGVyci5jb2RlICE9IFwiRUNPTk5SRUZVU0VEXCIpIHRocm93KHtlcnJvcjogZXJyLmNvZGV9KTtcbiAgICAgICAgICAgICAgICAgICAgdGhyb3coe2Vycm9yOiBlcnJvcn0pO1xuICAgICAgICAgICAgICAgIH0pLFxuICAgICAgICAgICAgICAgIG1hcCgocmVzdWx0czogYW55KSA9PiB7XG4gICAgICAgICAgICAgICAgICAgIHJldHVybiByZXN1bHRzO1xuICAgICAgICAgICAgICAgIH0pXG4gICAgICAgICAgICApXG4gICAgICAgICk7XG4gICAgfVxuXG4gICAgY2FsbChjYWxsVXJsKSB7XG4gICAgICAgIGNvbnN0IGFwaVZlcnNpb25zID0gdGhpcy5zZXR0aW5nc1NlcnZpY2UuYXBpVmVyc2lvbnMgfHwge307XG4gICAgICAgIGNvbnN0IHByZWZpeCA9IGFwaVZlcnNpb25zW1wiZWRnZS1tYW5hZ2VtZW50XCJdPy52MT8ucGF0aDtcbiAgICAgICAgY29uc3QgdXJsID0gdGhpcy5zZXR0aW5nc1NlcnZpY2Uuc2V0dGluZ3Muc2VsZWN0ZWRFZGdlQ29udHJvbGxlcjtcbiAgICAgICAgY29uc3Qgc2VydmljZVVybCA9IHVybCArIHByZWZpeCArIFwiL1wiICsgY2FsbFVybDtcblxuICAgICAgICByZXR1cm4gZmlyc3RWYWx1ZUZyb20odGhpcy5odHRwQ2xpZW50LmdldChzZXJ2aWNlVXJsLCB7fSkucGlwZShcbiAgICAgICAgICAgICAgICBjYXRjaEVycm9yKChlcnI6IGFueSkgPT4ge1xuICAgICAgICAgICAgICAgICAgICBjb25zdCBlcnJvciA9IFwiU2VydmVyIE5vdCBBY2Nlc3NpYmxlXCI7XG4gICAgICAgICAgICAgICAgICAgIGlmIChlcnIuY29kZSAhPSBcIkVDT05OUkVGVVNFRFwiKSB0aHJvdyh7ZXJyb3I6IGVyci5jb2RlfSk7XG4gICAgICAgICAgICAgICAgICAgIHRocm93KHtlcnJvcjogZXJyb3J9KTtcbiAgICAgICAgICAgICAgICB9KSxcbiAgICAgICAgICAgICAgICBtYXAoKHJlc3VsdHM6IGFueSkgPT4ge1xuICAgICAgICAgICAgICAgICAgICByZXR1cm4gcmVzdWx0cztcbiAgICAgICAgICAgICAgICB9KVxuICAgICAgICAgICAgKVxuICAgICAgICApO1xuICAgIH1cblxuICAgIHByaXZhdGUgZ2V0VXJsRmlsdGVyKHBhZ2luZywgZmlsdGVyczogYW55W10pIHtcbiAgICAgICAgbGV0IHVybEZpbHRlciA9ICcnO1xuICAgICAgICBsZXQgdG9TZWFyY2hPbiA9IFwibmFtZVwiO1xuICAgICAgICBsZXQgbm9TZWFyY2ggPSBmaWx0ZXJzPy5sZW5ndGggPD0gMDtcbiAgICAgICAgaWYgKGlzRW1wdHkocGFnaW5nKSkge1xuICAgICAgICAgICAgcGFnaW5nID0gdGhpcy5ERUZBVUxUX1BBR0lORztcbiAgICAgICAgfVxuICAgICAgICBpZiAocGFnaW5nICYmIHBhZ2luZy5zb3J0ICE9IG51bGwpIHtcbiAgICAgICAgICAgIGlmIChwYWdpbmcuc2VhcmNoT24pIHRvU2VhcmNoT24gPSBwYWdpbmcuc2VhcmNoT247XG4gICAgICAgICAgICBpZiAocGFnaW5nLm5vU2VhcmNoKSBub1NlYXJjaCA9IHRydWU7XG4gICAgICAgICAgICBpZiAoIXBhZ2luZy5maWx0ZXIpIHBhZ2luZy5maWx0ZXIgPSBcIlwiO1xuICAgICAgICAgICAgaWYgKCFpc0FycmF5KHBhZ2luZy5maWx0ZXIpICYmIGlzTmFOKHBhZ2luZy5maWx0ZXIpKSB7XG4gICAgICAgICAgICAgICAgcGFnaW5nLmZpbHRlciA9IHBhZ2luZy5maWx0ZXIuc3BsaXQoJyMnKS5qb2luKCcnKTtcbiAgICAgICAgICAgIH1cbiAgICAgICAgfVxuICAgICAgICBmaWx0ZXJzLmZvckVhY2goKGZpbHRlciwgaW5kZXgpID0+IHtcbiAgICAgICAgICAgIGxldCBmaWx0ZXJWYWwgPSAnJztcbiAgICAgICAgICAgIHN3aXRjaCAoZmlsdGVyLnR5cGUpIHtcbiAgICAgICAgICAgICAgICBjYXNlICdURVhUSU5QVVQnOlxuICAgICAgICAgICAgICAgICAgICBjb25zdCB2ZXJiID0gZmlsdGVyLnZlcmIgPyBmaWx0ZXIudmVyYiA6ICdpY29udGFpbnMnO1xuICAgICAgICAgICAgICAgICAgICBmaWx0ZXJWYWwgPSBgJHtmaWx0ZXIuY29sdW1uSWR9ICR7dmVyYn0gXCIke2ZpbHRlci52YWx1ZX1cImA7XG4gICAgICAgICAgICAgICAgICAgIGJyZWFrO1xuICAgICAgICAgICAgICAgIGNhc2UgJ1NFTEVDVCc6XG4gICAgICAgICAgICAgICAgY2FzZSAnQ09NQk8nOlxuICAgICAgICAgICAgICAgICAgICBjb25zdCB2YWwgPSAoaXNOdW1iZXIoZmlsdGVyLnZhbHVlKSB8fCBpc0Jvb2xlYW4oZmlsdGVyLnZhbHVlKSkgPyBgJHtmaWx0ZXIudmFsdWV9YCA6IGBcIiR7ZmlsdGVyLnZhbHVlfVwiYDtcbiAgICAgICAgICAgICAgICAgICAgZmlsdGVyVmFsID0gYCR7ZmlsdGVyLmNvbHVtbklkfSA9ICR7dmFsfWA7XG4gICAgICAgICAgICAgICAgICAgIGJyZWFrO1xuICAgICAgICAgICAgICAgIGNhc2UgJ0RBVEVUSU1FJzpcbiAgICAgICAgICAgICAgICAgICAgZmlsdGVyVmFsID0gYCR7ZmlsdGVyLmNvbHVtbklkfSA+PSBkYXRldGltZSgke2ZpbHRlci52YWx1ZVswXX0pIGFuZCAke2ZpbHRlci5jb2x1bW5JZH0gPD0gZGF0ZXRpbWUoJHtmaWx0ZXIudmFsdWVbMV19KWA7XG4gICAgICAgICAgICAgICAgICAgIGJyZWFrO1xuICAgICAgICAgICAgICAgIGNhc2UgJ0FUVFJJQlVURSc6XG4gICAgICAgICAgICAgICAgICAgIGZpbHRlclZhbCA9IHRoaXMuZ2V0QXR0cmlidXRlRmlsdGVyKGZpbHRlci52YWx1ZSwgZmlsdGVyLmNvbHVtbklkKTtcbiAgICAgICAgICAgICAgICAgICAgYnJlYWs7XG4gICAgICAgICAgICAgICAgY2FzZSAnQk9PTEVBTic6XG4gICAgICAgICAgICAgICAgICAgIGZpbHRlclZhbCA9IGAke2ZpbHRlci5jb2x1bW5JZH09JHtmaWx0ZXIudmFsdWV9YDtcbiAgICAgICAgICAgICAgICAgICAgYnJlYWs7XG4gICAgICAgICAgICAgICAgZGVmYXVsdDpcbiAgICAgICAgICAgICAgICAgICAgZmlsdGVyVmFsID0gYCR7ZmlsdGVyLmNvbHVtbklkfSBpY29udGFpbnMgXCIke2ZpbHRlci52YWx1ZX1cImA7XG4gICAgICAgICAgICAgICAgICAgIGJyZWFrO1xuICAgICAgICAgICAgfVxuICAgICAgICAgICAgaWYgKGluZGV4IDw9IDApIHtcbiAgICAgICAgICAgICAgICB1cmxGaWx0ZXIgPSBgP2ZpbHRlcj0gJHtmaWx0ZXJWYWx9YDtcbiAgICAgICAgICAgIH0gZWxzZSB7XG4gICAgICAgICAgICAgICAgdXJsRmlsdGVyICs9IGAgYW5kICR7ZmlsdGVyVmFsfWBcbiAgICAgICAgICAgIH1cbiAgICAgICAgfSk7XG4gICAgICAgIGlmIChub1NlYXJjaCkge1xuICAgICAgICAgICAgaWYgKHBhZ2luZy5wYWdlICE9PSAtMSkgdXJsRmlsdGVyID0gXCI/bGltaXQ9XCIgKyBwYWdpbmcudG90YWwgKyBcIiZvZmZzZXQ9XCIgKyAoKHBhZ2luZy5wYWdlIC0gMSkgKiBwYWdpbmcudG90YWwpICArIFwiJnNvcnQ9XCIgKyBwYWdpbmcuc29ydCArIFwiIFwiICsgcGFnaW5nLm9yZGVyO1xuICAgICAgICB9IGVsc2Uge1xuICAgICAgICAgICAgdXJsRmlsdGVyICs9IGAmbGltaXQ9JHtwYWdpbmcudG90YWx9Jm9mZnNldD0keygocGFnaW5nLnBhZ2UgLSAxKSAqIHBhZ2luZy50b3RhbCl9JnNvcnQ9JHtwYWdpbmcuc29ydH0gICR7cGFnaW5nLm9yZGVyfWBcbiAgICAgICAgfVxuICAgICAgICByZXR1cm4gdXJsRmlsdGVyO1xuICAgIH1cblxuICAgIG92ZXJyaWRlIHNjaGVtYShkYXRhKTogUHJvbWlzZTxhbnk+IHtcbiAgICAgICAgcmV0dXJuIFByb21pc2UucmVzb2x2ZSh0aGlzLmRlcmVmZXJlbmNlSlNPTlNjaGVtYShkYXRhKSk7XG4gICAgfVxuXG4gICAgYXN5bmMgZGVyZWZlcmVuY2VKU09OU2NoZW1hKGRhdGE6IGFueSkge1xuICAgICAgICBjb25zdCByZXNvbHZlciA9IG5ldyBSZXNvbHZlcigpO1xuICAgICAgICBjb25zdCBzY2hlbWEgPSBhd2FpdCByZXNvbHZlci5yZXNvbHZlKGRhdGEpO1xuICAgICAgICByZXR1cm4gc2NoZW1hLnJlc3VsdDtcbiAgICB9XG5cbiAgICBnZXRBdHRyaWJ1dGVGaWx0ZXIodmFsLCBjb2x1bW5JZCkge1xuICAgICAgICBsZXQgZmlsdGVyID0gJyc7XG4gICAgICAgIGlmIChpc0FycmF5KHZhbCkpIHtcbiAgICAgICAgICAgIHZhbC5mb3JFYWNoKChhdHRyLCBpbmRleCkgPT4ge1xuICAgICAgICAgICAgICAgIGlmIChpbmRleCA+IDApIHtcbiAgICAgICAgICAgICAgICAgICAgZmlsdGVyICs9ICcgb3IgJztcbiAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICAgICAgZmlsdGVyICs9IGBhbnlPZigke2NvbHVtbklkfSkgPSBcIiR7YXR0cn1cImA7XG4gICAgICAgICAgICB9KTtcbiAgICAgICAgfSBlbHNlIHtcbiAgICAgICAgICAgIGZpbHRlciA9IGBhbnlPZigke2NvbHVtbklkfSkgPSBcIiR7dmFsfVwiYDtcbiAgICAgICAgfVxuICAgICAgICByZXR1cm4gZmlsdGVyO1xuICAgIH1cbn1cbiJdfQ==
|
package/esm2022/lib/version.mjs
CHANGED
|
@@ -1,4 +1,4 @@
|
|
|
1
1
|
export const VERSION = {
|
|
2
|
-
"version": "3.12.
|
|
2
|
+
"version": "3.12.3"
|
|
3
3
|
};
|
|
4
|
-
//# sourceMappingURL=data:application/json;base64,
|
|
4
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidmVyc2lvbi5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uL3Byb2plY3RzL3ppdGktY29uc29sZS1saWIvc3JjL2xpYi92ZXJzaW9uLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE1BQU0sQ0FBQyxNQUFNLE9BQU8sR0FBRztJQUNuQixTQUFTLEVBQUUsUUFBUTtDQUN0QixDQUFDIiwic291cmNlc0NvbnRlbnQiOlsiZXhwb3J0IGNvbnN0IFZFUlNJT04gPSB7XG4gICAgXCJ2ZXJzaW9uXCI6IFwiMy4xMi4zXCJcbn07XG4iXX0=
|
|
@@ -286,7 +286,9 @@ class OpenZitiConsoleLibModule {
|
|
|
286
286
|
SessionFormComponent,
|
|
287
287
|
APISessionsPageComponent,
|
|
288
288
|
APISessionFormComponent,
|
|
289
|
-
CallbackComponent
|
|
289
|
+
CallbackComponent,
|
|
290
|
+
FormHeaderComponent,
|
|
291
|
+
JsonViewComponent] }); }
|
|
290
292
|
static { this.ɵinj = i0.ɵɵngDeclareInjector({ minVersion: "12.0.0", version: "16.2.12", ngImport: i0, type: OpenZitiConsoleLibModule, providers: [
|
|
291
293
|
{ provide: SHAREDZ_EXTENSION, useClass: ExtensionsNoopService },
|
|
292
294
|
{ provide: ZITI_NAVIGATOR, useValue: {} },
|
|
@@ -482,7 +484,9 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "16.2.12", ngImpo
|
|
|
482
484
|
SessionFormComponent,
|
|
483
485
|
APISessionsPageComponent,
|
|
484
486
|
APISessionFormComponent,
|
|
485
|
-
CallbackComponent
|
|
487
|
+
CallbackComponent,
|
|
488
|
+
FormHeaderComponent,
|
|
489
|
+
JsonViewComponent
|
|
486
490
|
],
|
|
487
491
|
providers: [
|
|
488
492
|
{ provide: SHAREDZ_EXTENSION, useClass: ExtensionsNoopService },
|
|
@@ -496,4 +500,4 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "16.2.12", ngImpo
|
|
|
496
500
|
],
|
|
497
501
|
}]
|
|
498
502
|
}] });
|
|
499
|
-
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoieml0aS1jb25zb2xlLWxpYi5tb2R1bGUuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi9wcm9qZWN0cy96aXRpLWNvbnNvbGUtbGliL3NyYy9saWIveml0aS1jb25zb2xlLWxpYi5tb2R1bGUudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUE7Ozs7Ozs7Ozs7Ozs7O0VBY0U7QUFFRixPQUFPLEVBQUMsZUFBZSxFQUFrQixRQUFRLEVBQUUsUUFBUSxFQUFDLE1BQU0sZUFBZSxDQUFDO0FBQ2xGLE9BQU8sRUFBQyxtQkFBbUIsRUFBQyxNQUFNLDJDQUEyQyxDQUFDO0FBQzlFLE9BQU8sRUFBQyxRQUFRLEVBQUMsTUFBTSxhQUFhLENBQUM7QUFDckMsT0FBTyxFQUFDLGdCQUFnQixFQUFhLE1BQU0sc0JBQXNCLENBQUM7QUFDbEUsT0FBTyxFQUFDLFlBQVksRUFBQyxNQUFNLGlCQUFpQixDQUFDO0FBQzdDLE9BQU8sRUFBQyxXQUFXLEVBQUMsTUFBTSxnQkFBZ0IsQ0FBQztBQUMzQyxPQUFPLEVBQUMsZ0JBQWdCLEVBQUMsTUFBTSxzQkFBc0IsQ0FBQztBQUN0RCxPQUFPLEVBQUMsbUJBQW1CLEVBQUMsTUFBTSw0Q0FBNEMsQ0FBQztBQUMvRSxPQUFPLEVBQUMscUJBQXFCLEVBQUUsaUJBQWlCLEVBQUMsTUFBTSwrQ0FBK0MsQ0FBQztBQUN2RyxPQUFPLEVBQUMsb0JBQW9CLEVBQUMsTUFBTSwwREFBMEQsQ0FBQztBQUM5RixPQUFPLEVBQUMsb0JBQW9CLEVBQUMsTUFBTSwwREFBMEQsQ0FBQztBQUM5RixPQUFPLEVBQUMsMkJBQTJCLEVBQUMsTUFBTSxtRUFBbUUsQ0FBQztBQUM5RyxPQUFPLEVBQUMsZUFBZSxFQUFDLE1BQU0sb0RBQW9ELENBQUM7QUFDbkYsT0FBTyxFQUFDLHNCQUFzQixFQUFDLE1BQU0sOERBQThELENBQUM7QUFDcEcsT0FBTyxFQUFDLDBCQUEwQixFQUFDLE1BQU0sd0VBQXdFLENBQUM7QUFDbEgsT0FB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O3dCQUMzQix3QkFBd0I7d0JBQ3hCLG9CQUFvQjt3QkFDcEIsNEJBQTRCO3dCQUM1QiwwQkFBMEI7d0JBQzFCLCtCQUErQjt3QkFDL0Isd0JBQXdCO3dCQUN4Qix1QkFBdUI7d0JBQ3ZCLHVCQUF1Qjt3QkFDdkIsc0JBQXNCO3dCQUN0Qix5QkFBeUI7d0JBQ3pCLHVCQUF1Qjt3QkFDdkIsb0JBQW9CO3dCQUNwQiwwQkFBMEI7d0JBQzFCLHlCQUF5Qjt3QkFDekIscUJBQXFCO3dCQUNyQixvQkFBb0I7d0JBQ3BCLHdCQUF3Qjt3QkFDeEIsdUJBQXVCO3dCQUN2QixpQkFBaUI7cUJBQ3BCO29CQUNELFNBQVMsRUFBRTt3QkFDUCxFQUFDLE9BQU8sRUFBRSxpQkFBaUIsRUFBRSxRQUFRLEVBQUUscUJBQXFCLEVBQUM7d0JBQzdELEVBQUMsT0FBTyxFQUFFLGNBQWMsRUFBRSxRQUFRLEVBQUUsRUFBRSxFQUFDO3dCQUN2Qzs0QkFDSSxPQUFPLEVBQUUsZUFBZTs0QkFDeEIsVUFBVSxFQUFFLFNBQVM7NEJBQ3JCLElBQUksRUFBRSxDQUFDLFFBQVEsQ0FBQzs0QkFDaEIsS0FBSyxFQUFFLElBQUk7eUJBQ2Q7cUJBQ0o7aUJBQ0oiLCJzb3VyY2VzQ29udGVudCI6WyIvKlxuICAgIENvcHlyaWdodCBOZXRGb3VuZHJ5IEluYy5cblxuICAgIExpY2Vuc2VkIHVuZGVyIHRoZSBBcGFjaGUgTGljZW5zZSwgVmVyc2lvbiAyLjAgKHRoZSBcIkxpY2Vuc2VcIik7XG4gICAgeW91IG1heSBub3QgdXNlIHRoaXMgZmlsZSBleGNlcHQgaW4gY29tcGxpYW5jZSB3aXRoIHRoZSBMaWNlbnNlLlxuICAgIFlvdSBtYXkgb2J0YWluIGEgY29weSBvZiB0aGUgTGljZW5zZSBhdFxuXG4gICAgaHR0cHM6Ly93d3cuYXBhY2hlLm9yZy9saWNlbnNlcy9MSUNFTlNFLTIuMFxuXG4gICAgVW5sZXNzIHJlcXVpcmVkIGJ5IGFwcGxpY2FibGUgbGF3IG9yIGFncmVlZCB0byBpbiB3cml0aW5nLCBzb2Z0d2FyZVxuICAgIGRpc3RyaWJ1dGVkIHVuZGVyIHRoZSBMaWNlbnNlIGlzIGRpc3RyaWJ1dGVkIG9uIGFuIFwiQVMgSVNcIiBCQVNJUyxcbiAgICBXSVRIT1VUIFdBUlJBTlRJRVMgT1IgQ09ORElUSU9OUyBPRiBBTlkgS0lORCwgZWl0aGVyIGV4cHJlc3Mgb3IgaW1wbGllZC5cbiAgICBTZWUgdGhlIExpY2Vuc2UgZm9yIHRoZSBzcGVjaWZpYyBsYW5ndWFnZSBnb3Zlcm5pbmcgcGVybWlzc2lvbnMgYW5kXG4gICAgbGltaXRhdGlvbnMgdW5kZXIgdGhlIExpY2Vuc2UuXG4qL1xuXG5pbXBvcnQge0FQUF9JTklUSUFMSVpFUiwgSW5qZWN0aW9uVG9rZW4sIEluamVjdG9yLCBOZ01vZHVsZX0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XG5pbXBvcnQge1phY1dyYXBwZXJDb21wb25lbnR9IGZyb20gXCIuL2ZlYXR1cmVzL3dyYXBwZXJzL3phYy13cmFwcGVyLmNvbXBvbmVudFwiO1xuaW1wb3J0IHtTYWZlUGlwZX0gZnJvbSBcIi4vc2FmZS5waXBlXCI7XG5pbXBvcnQge0h0dHBDbGllbnRNb2R1bGUsIEh0dHBDbGllbnR9IGZyb20gXCJAYW5ndWxhci9jb21tb24vaHR0cFwiO1xuaW1wb3J0IHtDb21tb25Nb2R1bGV9IGZyb20gXCJAYW5ndWxhci9jb21tb25cIjtcbmltcG9ydCB7Rm9ybXNNb2R1bGV9IGZyb20gXCJAYW5ndWxhci9mb3Jtc1wiO1xuaW1wb3J0IHtaYWNSb3V0aW5nTW9kdWxlfSBmcm9tIFwiLi96YWMtcm91dGluZy5tb2R1bGVcIjtcbmltcG9ydCB7RXh0ZW5kYWJsZUNvbXBvbmVudH0gZnJvbSBcIi4vZmVhdHVyZXMvZXh0ZW5kYWJsZS9leHRlbmRhYmxlLmNvbXBvbmVudFwiO1xuaW1wb3J0IHtFeHRlbnNpb25zTm9vcFNlcnZpY2UsIFNIQVJFRFpfRVhURU5TSU9OfSBmcm9tIFwiLi9mZWF0dXJlcy9leHRlbmRhYmxlL2V4dGVuc2lvbnMtbm9vcC5zZXJ2aWNlXCI7XG5pbXBvcnQge1N0cmluZ0lucHV0Q29tcG9uZW50fSBmcm9tICcuL2ZlYXR1cmVzL2R5bmFtaWMtd2lkZ2V0cy9zdHJpbmcvc3RyaW5nLWlucHV0LmNvbXBvbmVudCc7XG5pbXBvcnQge051bWJlcklucHV0Q29tcG9uZW50fSBmcm9tICcuL2ZlYXR1cmVzL2R5bmFtaWMtd2lkZ2V0cy9udW1iZXIvbnVtYmVyLWlucHV0LmNvbXBvbmVudCc7XG5pbXBvcnQge0Jvb2xlYW5Ub2dnbGVJbnB1dENvbXBvbmVudH0gZnJvbSAnLi9mZWF0dXJlcy9keW5hbWljLXdpZGdldHMvYm9vbGVhbi9ib29sZWFuLXRvZ2dsZS1pbnB1dC5jb21wb25lbnQnO1xuaW1wb3J0IHtPYmplY3RDb21wb25lbnR9IGZyb20gJy4vZmVhdHVyZXMvZHluYW1pYy13aWRnZXRzL29iamVjdC9vYmplY3QuY29tcG9uZW50JztcbmltcG9ydCB7U2VsZWN0b3JJbnB1dENvbXBvbmVudH0gZnJvbSAnLi9mZWF0dXJlcy9keW5hbWljLXdpZGdldHMvc2VsZWN0b3Ivc2VsZWN0b3ItaW5wdXQuY29tcG9uZW50JztcbmltcG9ydCB7Q2hlY2tib3hMaXN0SW5wdXRDb21wb25lbnR9IGZyb20gJy4vZmVhdHVyZXMvZHluYW1pYy13aWRnZXRzL2NoZWNrYm94LWxpc3QvY2hlY2tib3gtbGlzdC1pbnB1dC5jb21wb25lbnQnO1xuaW1wb3J0IHtUZXh0TGlzdElucHV0Q29tcG9uZW50fSBmcm9tIFwiLi9mZWF0dXJlcy9keW5hbWljLXdpZGdldHMvdGV4dC1saXN0L3RleHQtbGlzdC1pbnB1dC5jb21wb25lbnRcIjtcbmltcG9ydCB7Q2hpcHNNb2R1bGV9IGZyb20gXCJwcmltZW5nL2NoaXBzXCI7XG5pbXBvcnQge0Ryb3Bkb3duTW9kdWxlfSBmcm9tICdwcmltZW5nL2Ryb3Bkb3duJztcbmltcG9ydCB7Q2FsZW5kYXJNb2R1bGV9IGZyb20gJ3ByaW1lbmcvY2FsZW5kYXInO1xuaW1wb3J0IHtRUkNvZGVNb2R1bGV9IGZyb20gJ2FuZ3VsYXJ4LXFyY29kZSc7XG5pbXBvcnQge1xuICAgIFByb3RvY29sQWRkcmVzc1BvcnRJbnB1dENvbXBvbmVudFxufSBmcm9tICcuL2ZlYXR1cmVzL2R5bmFtaWMtd2lkZ2V0cy9wcm90b2NvbC1hZGRyZXNzLXBvcnQvcHJvdG9jb2wtYWRkcmVzcy1wb3J0LWlucHV0LmNvbXBvbmVudCc7XG5pbXBvcnQge1NpZGVUb29sYmFyQ29tcG9uZW50fSBmcm9tICcuL2ZlYXR1cmVzL3NpZGViYXJzL3NpZGUtdG9vbGJhci9zaWRlLXRvb2xiYXIuY29tcG9uZW50JztcbmltcG9ydCB7U2lkZU5hdmJhckNvbXBvbmVudH0gZnJvbSAnLi9mZWF0dXJlcy9zaWRlYmFycy9zaWRlLW5hdmJhci9zaWRlLW5hdmJhci5jb21wb25lbnQnO1xuaW1wb3J0IHtTaWRlQmFubmVyQ29tcG9uZW50fSBmcm9tICcuL2ZlYXR1cmVzL3NpZGViYXJzL3NpZGUtYmFubmVyL3NpZGUtYmFubmVyLmNvbXBvbmVudCc7XG5pbXBvcnQge1Bhc3N3b3JkSW5wdXRDb21wb25lbnR9IGZyb20gJy4vZmVhdHVyZXMvZHluYW1pYy13aWRnZXRzL3Bhc3N3b3JkL3Bhc3N3b3JkLWlucHV0LmNvbXBvbmVudCc7XG5pbXBvcnQge0NvbmZpZ3VyYXRpb25zUGFnZUNvbXBvbmVudH0gZnJvbSAnLi9wYWdlcy9jb25maWd1cmF0aW9ucy9jb25maWd1cmF0aW9ucy1wYWdlLmNvbXBvbmVudCc7XG5pbXBvcnQge0xpc3RQYWdlSGVhZGVyQ29tcG9uZW50fSBmcm9tICcuL2ZlYXR1cmVzL2xpc3QtcGFnZS1mZWF0dXJlcy9saXN0LXBhZ2UtaGVhZGVyL2xpc3QtcGFnZS1oZWFkZXIuY29tcG9uZW50JztcbmltcG9ydCB7TWF0RGlhbG9nTW9kdWxlfSBmcm9tIFwiQGFuZ3VsYXIvbWF0ZXJpYWwvZGlhbG9nXCI7XG5pbXBvcnQge01hdFJhZGlvTW9kdWxlfSBmcm9tICdAYW5ndWxhci9tYXRlcmlhbC9yYWRpbyc7XG5pbXBvcnQge1Rlcm1pbmF0b3JGb3JtQ29tcG9uZW50fSBmcm9tIFwiLi9mZWF0dXJlcy9wcm9qZWN0YWJsZS1mb3Jtcy90ZXJtaW5hdG9yL3Rlcm1pbmF0b3ItZm9ybS5jb21wb25lbnRcIjtcbmltcG9ydCB7TGlzdFBhZ2VGb3JtQ29tcG9uZW50fSBmcm9tICcuL2ZlYXR1cmVzL2xpc3QtcGFnZS1mZWF0dXJlcy9saXN0LXBhZ2UtZm9ybS9saXN0LXBhZ2UtZm9ybS5jb21wb25lbnQnO1xuaW1wb3J0IHtEYXRhVGFibGVDb21wb25lbnR9IGZyb20gXCIuL2ZlYXR1cmVzL2RhdGEtdGFibGUvZGF0YS10YWJsZS5jb21wb25lbnRcIjtcbmltcG9ydCB7VGFibGVDZWxsU2VsZWN0Q29tcG9uZW50fSBmcm9tIFwiLi9mZWF0dXJlcy9kYXRhLXRhYmxlL2NlbGxzL3RhYmxlLWNlbGwtc2VsZWN0L3RhYmxlLWNlbGwtc2VsZWN0LmNvbXBvbmVudFwiO1xuaW1wb3J0IHtUYWJsZUNvbHVtblNlbGVjdENvbXBvbmVudH0gZnJvbSBcIi4vZmVhdHVyZXMvZGF0YS10YWJsZS9jb2x1bW4taGVhZGVycy90YWJsZS1jb2x1bW4tc2VsZWN0L3RhYmxlLWNvbHVtbi1zZWxlY3QuY29tcG9uZW50XCI7XG5pbXBvcnQge1RhYmxlQ2VsbE1lbnVDb21wb25lbnR9IGZyb20gXCIuL2ZlYXR1cmVzL2RhdGEtdGFibGUvY2VsbHMvdGFibGUtY2VsbC1tZW51L3RhYmxlLWNlbGwtbWVudS5jb21wb25lbnRcIjtcbmltcG9ydCB7VGFibGVDb2x1bW5NZW51Q29tcG9uZW50fSBmcm9tIFwiLi9mZWF0dXJlcy9kYXRhLXRhYmxlL2NvbHVtbi1oZWFkZXJzL3RhYmxlLWNvbHVtbi1tZW51L3RhYmxlLWNvbHVtbi1tZW51LmNvbXBvbmVudFwiO1xuaW1wb3J0IHtUYWJsZUNvbHVtbkRlZmF1bHRDb21wb25lbnR9IGZyb20gXCIuL2ZlYXR1cmVzL2RhdGEtdGFibGUvY29sdW1uLWhlYWRlcnMvdGFibGUtY29sdW1uLWRlZmF1bHQvdGFibGUtY29sdW1uLWRlZmF1bHQuY29tcG9uZW50XCI7XG5pbXBvcnQge1RhYmxlQ29sdW1uRmlsdGVyQ29tcG9uZW50fSBmcm9tIFwiLi9mZWF0dXJlcy9kYXRhLXRhYmxlL2NvbHVtbi1oZWFkZXJzL3RhYmxlLWNvbHVtbi1maWx0ZXIvdGFibGUtY29sdW1uLWZpbHRlci5jb21wb25lbnRcIjtcbmltcG9ydCB7SGlkZGVuQ29sdW1uc0JhckNvbXBvbmVudH0gZnJvbSBcIi4vZmVhdHVyZXMvZGF0YS10YWJsZS90YWJsZS1oaWRkZW4tY29sdW1ucy1iYXIvaGlkZGVuLWNvbHVtbnMtYmFyLmNvbXBvbmVudFwiO1xuaW1wb3J0IHtGaWx0ZXJCYXJDb21wb25lbnR9IGZyb20gXCIuL2ZlYXR1cmVzL2RhdGEtdGFibGUvdGFibGUtZmlsdGVyLWJhci9maWx0ZXItYmFyLmNvbXBvbmVudFwiO1xuaW1wb3J0IHtBZ0dyaWRNb2R1bGV9IGZyb20gXCJhZy1ncmlkLWFuZ3VsYXJcIjtcbmltcG9ydCB7SWRlbnRpdGllc1BhZ2VDb21wb25lbnR9IGZyb20gXCIuL3BhZ2VzL2lkZW50aXRpZXMvaWRlbnRpdGllcy1wYWdlLmNvbXBvbmVudFwiO1xuaW1wb3J0IHtFZGdlUm91dGVyc1BhZ2VDb21wb25lbnR9IGZyb20gXCIuL3BhZ2VzL2VkZ2Utcm91dGVycy9lZGdlLXJvdXRlcnMtcGFnZS5jb21wb25lbnRcIjtcbmltcG9ydCB7VHJhbnNpdFJvdXRlcnNQYWdlQ29tcG9uZW50fSBmcm9tIFwiLi9wYWdlcy90cmFuc2l0LXJvdXRlcnMvdHJhbnNpdC1yb3V0ZXJzLXBhZ2UuY29tcG9uZW50XCI7XG5pbXBvcnQge1NlcnZpY2VzUGFnZUNvbXBvbmVudH0gZnJvbSBcIi4vcGFnZXMvc2VydmljZXMvc2VydmljZXMtcGFnZS5jb21wb25lbnRcIjtcbmltcG9ydCB7WklUSV9OQVZJR0FUT1J9IGZyb20gXCIuL3ppdGktY29uc29sZS5jb25zdGFudHNcIjtcbmltcG9ydCB7IEdyb3dsZXJDb21wb25lbnQgfSBmcm9tICcuL2ZlYXR1cmVzL21lc3NhZ2luZy9ncm93bGVyLmNvbXBvbmVudCc7XG5pbXBvcnQgeyBDb25maXJtQ29tcG9uZW50IH0gZnJvbSAnLi9mZWF0dXJlcy9jb25maXJtL2NvbmZpcm0uY29tcG9uZW50JztcbmltcG9ydCB7b25BcHBJbml0fSBmcm9tIFwiLi9hcHAuaW5pdGlhbGl6ZXJcIjtcbmltcG9ydCB7Q2xpY2tPdXRzaWRlTW9kdWxlfSBmcm9tIFwibmctY2xpY2stb3V0c2lkZVwiO1xuaW1wb3J0IHtOZ0pzb25FZGl0b3JNb2R1bGV9IGZyb20gXCJhbmctanNvbmVkaXRvclwiO1xuaW1wb3J0IHtMb3R0aWVNb2R1bGV9IGZyb20gXCJuZ3gtbG90dGllXCI7XG5pbXBvcnQgeyBOb0l0ZW1zQ29tcG9uZW50IH0gZnJvbSAnLi9mZWF0dXJlcy9uby1pdGVtcy9uby1pdGVtcy5jb21wb25lbnQnO1xuaW1wb3J0IHsgU2lkZU1vZGFsQ29tcG9uZW50IH0gZnJvbSAnLi9mZWF0dXJlcy9zaWRlLW1vZGFsL3NpZGUtbW9kYWwuY29tcG9uZW50JztcbmltcG9ydCB7IElkZW50aXR5Rm9ybUNvbXBvbmVudCB9IGZyb20gXCIuL2ZlYXR1cmVzL3Byb2plY3RhYmxlLWZvcm1zL2lkZW50aXR5L2lkZW50aXR5LWZvcm0uY29tcG9uZW50XCI7XG5pbXBvcnQgeyBGb3JtSGVhZGVyQ29tcG9uZW50IH0gZnJvbSAnLi9mZWF0dXJlcy9wcm9qZWN0YWJsZS1mb3Jtcy9mb3JtLWhlYWRlci9mb3JtLWhlYWRlci5jb21wb25lbnQnO1xuaW1wb3J0IHsgRm9ybUZpZWxkQ29udGFpbmVyQ29tcG9uZW50IH0gZnJvbSAnLi9mZWF0dXJlcy9wcm9qZWN0YWJsZS1mb3Jtcy9mb3JtLWZpZWxkLWNvbnRhaW5lci9mb3JtLWZpZWxkLWNvbnRhaW5lci5jb21wb25lbnQnO1xuaW1wb3J0IHsgTWF0VG9vbHRpcE1vZHVsZSB9IGZyb20gJ0Bhbmd1bGFyL21hdGVyaWFsL3Rvb2x0aXAnO1xuaW1wb3J0IHsgUHJldmlld0xpc3RDb21wb25lbnQgfSBmcm9tICcuL2ZlYXR1cmVzL3ByZXZpZXctbGlzdC9wcmV2aWV3LWxpc3QuY29tcG9uZW50JztcbmltcG9ydCB7TG9hZGluZ0luZGljYXRvckNvbXBvbmVudH0gZnJvbSBcIi4vZmVhdHVyZXMvbG9hZGluZy1pbmRpY2F0b3IvbG9hZGluZy1pbmRpY2F0b3IuY29tcG9uZW50XCI7XG5pbXBvcnQgeyBGb3JtRmllbGRUb2dnbGVDb21wb25lbnQgfSBmcm9tICcuL2ZlYXR1cmVzL3Byb2plY3RhYmxlLWZvcm1zL2Zvcm0tZmllbGQtdG9nZ2xlL2Zvcm0tZmllbGQtdG9nZ2xlLmNvbXBvbmVudCc7XG5pbXBvcnQgeyBKc29uVmlld0NvbXBvbmVudCB9IGZyb20gJy4vZmVhdHVyZXMvanNvbi12aWV3L2pzb24tdmlldy5jb21wb25lbnQnO1xuaW1wb3J0IHsgVGFnU2VsZWN0b3JDb21wb25lbnQgfSBmcm9tICcuL2ZlYXR1cmVzL3RhZy1zZWxlY3Rvci90YWctc2VsZWN0b3IuY29tcG9uZW50JztcbmltcG9ydCB7IFFyQ29kZUNvbXBvbmVudCB9IGZyb20gJy4vZmVhdHVyZXMvcXItY29kZS9xci1jb2RlLmNvbXBvbmVudCc7XG5pbXBvcnQgeyBUYWJsZUNlbGxUb2tlbkNvbXBvbmVudCB9IGZyb20gJy4vZmVhdHVyZXMvZGF0YS10YWJsZS9jZWxscy90YWJsZS1jZWxsLXRva2VuL3RhYmxlLWNlbGwtdG9rZW4uY29tcG9uZW50JztcbmltcG9ydCB7R3Jvd2xlck1vZHVsZX0gZnJvbSBcIi4vZmVhdHVyZXMvbWVzc2FnaW5nL2dyb3dsZXIubW9kdWxlXCI7XG5pbXBvcnQge09TVG9vbHRpcENvbXBvbmVudH0gZnJvbSAnLi9mZWF0dXJlcy9kYXRhLXRhYmxlL3Rvb2x0aXBzL29zLXRvb2x0aXAuY29tcG9uZW50J1xuaW1wb3J0IHtTREtUb29sdGlwQ29tcG9uZW50fSBmcm9tIFwiLi9mZWF0dXJlcy9kYXRhLXRhYmxlL3Rvb2x0aXBzL3Nkay10b29sdGlwLmNvbXBvbmVudFwiO1xuaW1wb3J0IHsgT3ZlcnJpZGVzQ29tcG9uZW50IH0gZnJvbSAnLi9mZWF0dXJlcy9vdmVycmlkZXMvb3ZlcnJpZGVzLmNvbXBvbmVudCc7XG5pbXBvcnQgeyBSZXNldEVucm9sbG1lbnRDb21wb25lbnQgfSBmcm9tICcuL2ZlYXR1cmVzL3Jlc2V0LWVucm9sbG1lbnQvcmVzZXQtZW5yb2xsbWVudC5jb21wb25lbnQnO1xuaW1wb3J0IHtJZGVudGl0eVNlcnZpY2VQYXRoQ29tcG9uZW50fSBmcm9tIFwiLi9mZWF0dXJlcy92aXN1YWxpemVyL2lkZW50aXR5LXNlcnZpY2UtcGF0aC9pZGVudGl0eS1zZXJ2aWNlLXBhdGguY29tcG9uZW50XCI7XG5pbXBvcnQge05ldHdvcmtWaXN1YWxpemVyQ29tcG9uZW50fSBmcm9tIFwiLi9mZWF0dXJlcy92aXN1YWxpemVyL25ldHdvcmstdmlzdWFsaXplci9uZXR3b3JrLXZpc3VhbGl6ZXIuY29tcG9uZW50XCI7XG5pbXBvcnQgeyBDdXN0b21UYWdzQ29tcG9uZW50IH0gZnJvbSAnLi9mZWF0dXJlcy9jdXN0b20tdGFncy9jdXN0b20tdGFncy5jb21wb25lbnQnO1xuaW1wb3J0IHtFZGdlUm91dGVyRm9ybUNvbXBvbmVudH0gZnJvbSBcIi4vZmVhdHVyZXMvcHJvamVjdGFibGUtZm9ybXMvZWRnZS1yb3V0ZXIvZWRnZS1yb3V0ZXItZm9ybS5jb21wb25lbnRcIjtcbmltcG9ydCB7VHJhbnNpdFJvdXRlckZvcm1Db21wb25lbnR9IGZyb20gXCIuL2ZlYXR1cmVzL3Byb2plY3RhYmxlLWZvcm1zL3RyYW5zaXQtcm91dGVyL3RyYW5zaXQtcm91dGVyLWZvcm0uY29tcG9uZW50XCI7XG5cbmltcG9ydCB7U2VydmljZUZvcm1Db21wb25lbnR9IGZyb20gXCIuL2ZlYXR1cmVzL3Byb2plY3RhYmxlLWZvcm1zL3NlcnZpY2Uvc2VydmljZS1mb3JtLmNvbXBvbmVudFwiO1xuaW1wb3J0IHsgUG9ydFJhbmdlc0NvbXBvbmVudCB9IGZyb20gJy4vZmVhdHVyZXMvZHluYW1pYy13aWRnZXRzL3BvcnQtcmFuZ2VzL3BvcnQtcmFuZ2VzLmNvbXBvbmVudCc7XG5pbXBvcnQgeyBGb3J3YXJkaW5nQ29uZmlnQ29tcG9uZW50IH0gZnJvbSAnLi9mZWF0dXJlcy9keW5hbWljLXdpZGdldHMvZm9yd2FyZGluZy1jb25maWcvZm9yd2FyZGluZy1jb25maWcuY29tcG9uZW50JztcbmltcG9ydCB7IENhcmRMaXN0Q29tcG9uZW50IH0gZnJvbSAnLi9mZWF0dXJlcy9jYXJkLWxpc3QvY2FyZC1saXN0LmNvbXBvbmVudCc7XG5pbXBvcnQgeyBTaW1wbGVTZXJ2aWNlQ29tcG9uZW50IH0gZnJvbSAnLi9mZWF0dXJlcy9wcm9qZWN0YWJsZS1mb3Jtcy9zZXJ2aWNlL3NpbXBsZS1zZXJ2aWNlL3NpbXBsZS1zZXJ2aWNlLmNvbXBvbmVudCc7XG5pbXBvcnQgeyBDYXJkQ29tcG9uZW50IH0gZnJvbSAnLi9mZWF0dXJlcy9jYXJkL2NhcmQuY29tcG9uZW50JztcbmltcG9ydCB7IENyZWF0aW9uU3VtbWFyeURpYWxvZ0NvbXBvbmVudCB9IGZyb20gJy4vZmVhdHVyZXMvY3JlYXRpb24tc3VtbWFyeS1kaWFsb2cvY3JlYXRpb24tc3VtbWFyeS1kaWFsb2cuY29tcG9uZW50JztcbmltcG9ydCB7IE1hdEF1dG9jb21wbGV0ZU1vZHVsZSB9IGZyb20gJ0Bhbmd1bGFyL21hdGVyaWFsL2F1dG9jb21wbGV0ZSc7XG5pbXBvcnQgeyBDb25maWdFZGl0b3JDb21wb25lbnQgfSBmcm9tICcuL2ZlYXR1cmVzL2NvbmZpZy1lZGl0b3IvY29uZmlnLWVkaXRvci5jb21wb25lbnQnO1xuaW1wb3J0IHsgRWRnZVJvdXRlclBvbGljaWVzUGFnZUNvbXBvbmVudCB9IGZyb20gJy4vcGFnZXMvZWRnZS1yb3V0ZXItcG9saWNpZXMvZWRnZS1yb3V0ZXItcG9saWNpZXMtcGFnZS5jb21wb25lbnQnO1xuaW1wb3J0IHsgU2VydmljZVBvbGljaWVzUGFnZUNvbXBvbmVudCB9IGZyb20gJy4vcGFnZXMvc2VydmljZS1wb2xpY2llcy9zZXJ2aWNlLXBvbGljaWVzLXBhZ2UuY29tcG9uZW50JztcbmltcG9ydCB7IFNlcnZpY2VQb2xpY3lGb3JtQ29tcG9uZW50IH0gZnJvbSAnLi9mZWF0dXJlcy9wcm9qZWN0YWJsZS1mb3Jtcy9zZXJ2aWNlLXBvbGljeS9zZXJ2aWNlLXBvbGljeS1mb3JtLmNvbXBvbmVudCc7XG5pbXBvcnQgeyBFZGdlUm91dGVyUG9saWN5Rm9ybUNvbXBvbmVudCB9IGZyb20gJy4vZmVhdHVyZXMvcHJvamVjdGFibGUtZm9ybXMvZWRnZS1yb3V0ZXItcG9saWN5L2VkZ2Utcm91dGVyLXBvbGljeS1mb3JtLmNvbXBvbmVudCc7XG5pbXBvcnQgeyBNdWx0aUFjdGlvbkJ1dHRvbkNvbXBvbmVudCB9IGZyb20gJy4vZmVhdHVyZXMvbXVsdGktYWN0aW9uLWJ1dHRvbi9tdWx0aS1hY3Rpb24tYnV0dG9uLmNvbXBvbmVudCc7XG5pbXBvcnQgeyBUYWJsZUNlbGxOYW1lQ29tcG9uZW50IH0gZnJvbSAnLi9mZWF0dXJlcy9kYXRhLXRhYmxlL2NlbGxzL3RhYmxlLWNlbGwtbmFtZS90YWJsZS1jZWxsLW5hbWUuY29tcG9uZW50JztcbmltcG9ydCB7IFNlcnZpY2VFZGdlUm91dGVyUG9saWNpZXNQYWdlQ29tcG9uZW50IH0gZnJvbSAnLi9wYWdlcy9zZXJ2aWNlLWVkZ2Utcm91dGVyLXBvbGljaWVzL3NlcnZpY2UtZWRnZS1yb3V0ZXItcG9saWNpZXMtcGFnZS5jb21wb25lbnQnO1xuaW1wb3J0IHsgU2VydmljZUVkZ2VSb3V0ZXJQb2xpY3lGb3JtQ29tcG9uZW50IH0gZnJvbSAnLi9mZWF0dXJlcy9wcm9qZWN0YWJsZS1mb3Jtcy9zZXJ2aWNlLWVkZ2Utcm91dGVyLXBvbGljeS9zZXJ2aWNlLWVkZ2Utcm91dGVyLXBvbGljeS1mb3JtLmNvbXBvbmVudCc7XG5pbXBvcnQge1Rlcm1pbmF0b3JzUGFnZUNvbXBvbmVudH0gZnJvbSBcIi4vcGFnZXMvdGVybWluYXRvcnMvdGVybWluYXRvcnMtcGFnZS5jb21wb25lbnRcIjtcbmltcG9ydCB7Q29uZmlndXJhdGlvbkZvcm1Db21wb25lbnR9IGZyb20gXCIuL2ZlYXR1cmVzL3Byb2plY3RhYmxlLWZvcm1zL2NvbmZpZ3VyYXRpb24vY29uZmlndXJhdGlvbi1mb3JtLmNvbXBvbmVudFwiO1xuaW1wb3J0IHtKd3RTaWduZXJzUGFnZUNvbXBvbmVudH0gZnJvbSBcIi4vcGFnZXMvand0LXNpZ25lcnMvand0LXNpZ25lcnMtcGFnZS5jb21wb25lbnRcIjtcbmltcG9ydCB7Snd0U2lnbmVyRm9ybUNvbXBvbmVudH0gZnJvbSBcIi4vZmVhdHVyZXMvcHJvamVjdGFibGUtZm9ybXMvand0LXNpZ25lci9qd3Qtc2lnbmVyLWZvcm0uY29tcG9uZW50XCI7XG5pbXBvcnQge0F1dGhQb2xpY2llc1BhZ2VDb21wb25lbnR9IGZyb20gXCIuL3BhZ2VzL2F1dGgtcG9saWNpZXMvYXV0aC1wb2xpY2llcy1wYWdlLmNvbXBvbmVudFwiO1xuaW1wb3J0IHtBdXRoUG9saWN5Rm9ybUNvbXBvbmVudH0gZnJvbSBcIi4vZmVhdHVyZXMvcHJvamVjdGFibGUtZm9ybXMvYXV0aC1wb2xpY3kvYXV0aC1wb2xpY3ktZm9ybS5jb21wb25lbnRcIjtcbmltcG9ydCB7Q2VydGlmaWNhdGVBdXRob3JpdGllc1BhZ2VDb21wb25lbnR9IGZyb20gXCIuL3BhZ2VzL2NlcnRpZmljYXRlLWF1dGhvcml0aWVzL2NlcnRpZmljYXRlLWF1dGhvcml0aWVzLXBhZ2UuY29tcG9uZW50XCI7XG5pbXBvcnQge1ByZXZpZXdTZWxlY3Rpb25zQ29tcG9uZW50fSBmcm9tIFwiLi9mZWF0dXJlcy9wcmV2aWV3LXNlbGVjdGlvbnMvcHJldmlldy1zZWxlY3Rpb25zLmNvbXBvbmVudFwiO1xuaW1wb3J0IHtDZXJ0aWZpY2F0ZUF1dGhvcml0eUZvcm1Db21wb25lbnR9IGZyb20gXCIuL2ZlYXR1cmVzL3Byb2plY3RhYmxlLWZvcm1zL2NlcnRpZmljYXRlLWF1dGhvcml0eS9jZXJ0aWZpY2F0ZS1hdXRob3JpdHktZm9ybS5jb21wb25lbnRcIjtcbmltcG9ydCB7XG4gICAgVmVyaWZ5Q2VydGlmaWNhdGVDb21wb25lbnRcbn0gZnJvbSBcIi4vZmVhdHVyZXMvcHJvamVjdGFibGUtZm9ybXMvY2VydGlmaWNhdGUtYXV0aG9yaXR5L3ZlcmlmeS1jZXJ0aWZpY2F0ZS92ZXJpZnktY2VydGlmaWNhdGUuY29tcG9uZW50XCI7XG5pbXBvcnQge0xvZ2luRGlhbG9nQ29tcG9uZW50fSBmcm9tIFwiLi9mZWF0dXJlcy9sb2dpbi9sb2dpbi1kaWFsb2cuY29tcG9uZW50XCI7XG5pbXBvcnQge0NvbmZpZ1R5cGVzUGFnZUNvbXBvbmVudH0gZnJvbSBcIi4vcGFnZXMvY29uZmlnLXR5cGVzL2NvbmZpZy10eXBlcy1wYWdlLmNvbXBvbmVudFwiO1xuaW1wb3J0IHtDb25maWdUeXBlRm9ybUNvbXBvbmVudH0gZnJvbSBcIi4vZmVhdHVyZXMvcHJvamVjdGFibGUtZm9ybXMvY29uZmlnLXR5cGUvY29uZmlnLXR5cGUtZm9ybS5jb21wb25lbnRcIjtcbmltcG9ydCB7UG9zdHVyZUNoZWNrc1BhZ2VDb21wb25lbnR9IGZyb20gXCIuL3BhZ2VzL3Bvc3R1cmUtY2hlY2tzL3Bvc3R1cmUtY2hlY2tzLXBhZ2UuY29tcG9uZW50XCI7XG5pbXBvcnQge1Bvc3R1cmVDaGVja0Zvcm1Db21wb25lbnR9IGZyb20gXCIuL2ZlYXR1cmVzL3Byb2plY3RhYmxlLWZvcm1zL3Bvc3R1cmUtY2hlY2svcG9zdHVyZS1jaGVjay1mb3JtLmNvbXBvbmVudFwiO1xuaW1wb3J0IHtTZXNzaW9uc1BhZ2VDb21wb25lbnR9IGZyb20gXCIuL3BhZ2VzL3Nlc3Npb25zL3Nlc3Npb25zLXBhZ2UuY29tcG9uZW50XCI7XG5pbXBvcnQge1Nlc3Npb25Gb3JtQ29tcG9uZW50fSBmcm9tIFwiLi9mZWF0dXJlcy9wcm9qZWN0YWJsZS1mb3Jtcy9zZXNzaW9uL3Nlc3Npb24tZm9ybS5jb21wb25lbnRcIjtcbmltcG9ydCB7QVBJU2Vzc2lvbnNQYWdlQ29tcG9uZW50fSBmcm9tIFwiLi9wYWdlcy9hcGktc2Vzc2lvbnMvYXBpLXNlc3Npb25zLXBhZ2UuY29tcG9uZW50XCI7XG5pbXBvcnQge0FQSVNlc3Npb25Gb3JtQ29tcG9uZW50fSBmcm9tIFwiLi9mZWF0dXJlcy9wcm9qZWN0YWJsZS1mb3Jtcy9hcGktc2Vzc2lvbi9hcGktc2Vzc2lvbi1mb3JtLmNvbXBvbmVudFwiO1xuaW1wb3J0IHtDYWxsYmFja0NvbXBvbmVudH0gZnJvbSBcIi4vcGFnZXMvY2FsbGJhY2svY2FsbGJhY2suY29tcG9uZW50XCI7XG5cbmV4cG9ydCBmdW5jdGlvbiBwbGF5ZXJGYWN0b3J5KCkge1xuICAgIHJldHVybiBpbXBvcnQoLyogd2VicGFja0NodW5rTmFtZTogJ2xvdHRpZS13ZWInICovICdsb3R0aWUtd2ViJyk7XG59XG5cbkBOZ01vZHVsZSh7XG4gICAgZGVjbGFyYXRpb25zOiBbXG4gICAgICAgIFphY1dyYXBwZXJDb21wb25lbnQsXG4gICAgICAgIFNhZmVQaXBlLFxuICAgICAgICBFeHRlbmRhYmxlQ29tcG9uZW50LFxuICAgICAgICBTdHJpbmdJbnB1dENvbXBvbmVudCxcbiAgICAgICAgTnVtYmVySW5wdXRDb21wb25lbnQsXG4gICAgICAgIEJvb2xlYW5Ub2dnbGVJbnB1dENvbXBvbmVudCxcbiAgICAgICAgT2JqZWN0Q29tcG9uZW50LFxuICAgICAgICBTZWxlY3RvcklucHV0Q29tcG9uZW50LFxuICAgICAgICBUZXh0TGlzdElucHV0Q29tcG9uZW50LFxuICAgICAgICBDaGVja2JveExpc3RJbnB1dENvbXBvbmVudCxcbiAgICAgICAgUHJvdG9jb2xBZGRyZXNzUG9ydElucHV0Q29tcG9uZW50LFxuICAgICAgICBTaWRlVG9vbGJhckNvbXBvbmVudCxcbiAgICAgICAgU2lkZU5hdmJhckNvbXBvbmVudCxcbiAgICAgICAgU2lkZUJhbm5lckNvbXBvbmVudCxcbiAgICAgICAgUGFzc3dvcmRJbnB1dENvbXBvbmVudCxcbiAgICAgICAgVGVybWluYXRvckZvcm1Db21wb25lbnQsXG4gICAgICAgIENvbmZpZ3VyYXRpb25zUGFnZUNvbXBvbmVudCxcbiAgICAgICAgQ29uZmlnVHlwZXNQYWdlQ29tcG9uZW50LFxuICAgICAgICBDb25maWdUeXBlRm9ybUNvbXBvbmVudCxcbiAgICAgICAgTGlzdFBhZ2VIZWFkZXJDb21wb25lbnQsXG4gICAgICAgIEZpbHRlckJhckNvbXBvbmVudCxcbiAgICAgICAgTGlzdFBhZ2VGb3JtQ29tcG9uZW50LFxuICAgICAgICBJZGVudGl0aWVzUGFnZUNvbXBvbmVudCxcbiAgICAgICAgRWRnZVJvdXRlcnNQYWdlQ29tcG9uZW50LFxuICAgICAgICBUcmFuc2l0Um91dGVyc1BhZ2VDb21wb25lbnQsXG4gICAgICAgIERhdGFUYWJsZUNvbXBvbmVudCxcbiAgICAgICAgVGFibGVDZWxsU2VsZWN0Q29tcG9uZW50LFxuICAgICAgICBUYWJsZUNvbHVtblNlbGVjdENvbXBvbmVudCxcbiAgICAgICAgVGFibGVDZWxsTWVudUNvbXBvbmVudCxcbiAgICAgICAgVGFibGVDb2x1bW5NZW51Q29tcG9uZW50LFxuICAgICAgICBUYWJsZUNvbHVtbkRlZmF1bHRDb21wb25lbnQsXG4gICAgICAgIFRhYmxlQ29sdW1uRmlsdGVyQ29tcG9uZW50LFxuICAgICAgICBJZGVudGl0eUZvcm1Db21wb25lbnQsXG4gICAgICAgIEVkZ2VSb3V0ZXJGb3JtQ29tcG9uZW50LFxuICAgICAgICBUcmFuc2l0Um91dGVyRm9ybUNvbXBvbmVudCxcbiAgICAgICAgSGlkZGVuQ29sdW1uc0JhckNvbXBvbmVudCxcbiAgICAgICAgRmlsdGVyQmFyQ29tcG9uZW50LFxuICAgICAgICBFeHRlbmRhYmxlQ29tcG9uZW50LFxuICAgICAgICBDb25maXJtQ29tcG9uZW50LFxuICAgICAgICBOb0l0ZW1zQ29tcG9uZW50LFxuICAgICAgICBTaWRlTW9kYWxDb21wb25lbnQsXG4gICAgICAgIEZvcm1IZWFkZXJDb21wb25lbnQsXG4gICAgICAgIEZvcm1GaWVsZENvbnRhaW5lckNvbXBvbmVudCxcbiAgICAgICAgUHJldmlld0xpc3RDb21wb25lbnQsXG4gICAgICAgIExvYWRpbmdJbmRpY2F0b3JDb21wb25lbnQsXG4gICAgICAgIEZvcm1GaWVsZFRvZ2dsZUNvbXBvbmVudCxcbiAgICAgICAgSnNvblZpZXdDb21wb25lbnQsXG4gICAgICAgIFRhZ1NlbGVjdG9yQ29tcG9uZW50LFxuICAgICAgICBRckNvZGVDb21wb25lbnQsXG4gICAgICAgIFRhYmxlQ2VsbFRva2VuQ29tcG9uZW50LFxuICAgICAgICBPU1Rvb2x0aXBDb21wb25lbnQsXG4gICAgICAgIFNES1Rvb2x0aXBDb21wb25lbnQsXG4gICAgICAgIE92ZXJyaWRlc0NvbXBvbmVudCxcbiAgICAgICAgUmVzZXRFbnJvbGxtZW50Q29tcG9uZW50LFxuICAgICAgICBJZGVudGl0eVNlcnZpY2VQYXRoQ29tcG9uZW50LFxuICAgICAgICBOZXR3b3JrVmlzdWFsaXplckNvbXBvbmVudCxcbiAgICAgICAgQ3VzdG9tVGFnc0NvbXBvbmVudCxcbiAgICAgICAgU2VydmljZXNQYWdlQ29tcG9uZW50LFxuICAgICAgICBTZXJ2aWNlRm9ybUNvbXBvbmVudCxcbiAgICAgICAgUG9ydFJhbmdlc0NvbXBvbmVudCxcbiAgICAgICAgRm9yd2FyZGluZ0NvbmZpZ0NvbXBvbmVudCxcbiAgICAgICAgQ2FyZExpc3RDb21wb25lbnQsXG4gICAgICAgIFNpbXBsZVNlcnZpY2VDb21wb25lbnQsXG4gICAgICAgIENhcmRDb21wb25lbnQsXG4gICAgICAgIENyZWF0aW9uU3VtbWFyeURpYWxvZ0NvbXBvbmVudCxcbiAgICAgICAgQ29uZmlnRWRpdG9yQ29tcG9uZW50LFxuICAgICAgICBTZXJ2aWNlUG9saWNpZXNQYWdlQ29tcG9uZW50LFxuICAgICAgICBTZXJ2aWNlUG9saWN5Rm9ybUNvbXBvbmVudCxcbiAgICAgICAgRWRnZVJvdXRlclBvbGljaWVzUGFnZUNvbXBvbmVudCxcbiAgICAgICAgRWRnZVJvdXRlclBvbGljeUZvcm1Db21wb25lbnQsXG4gICAgICAgIE11bHRpQWN0aW9uQnV0dG9uQ29tcG9uZW50LFxuICAgICAgICBUYWJsZUNlbGxOYW1lQ29tcG9uZW50LFxuICAgICAgICBTZXJ2aWNlRWRnZVJvdXRlclBvbGljaWVzUGFnZUNvbXBvbmVudCxcbiAgICAgICAgU2VydmljZUVkZ2VSb3V0ZXJQb2xpY3lGb3JtQ29tcG9uZW50LFxuICAgICAgICBUZXJtaW5hdG9yc1BhZ2VDb21wb25lbnQsXG4gICAgICAgIFRlcm1pbmF0b3JGb3JtQ29tcG9uZW50LFxuICAgICAgICBDb25maWd1cmF0aW9uRm9ybUNvbXBvbmVudCxcbiAgICAgICAgSnd0U2lnbmVyc1BhZ2VDb21wb25lbnQsXG4gICAgICAgIEp3dFNpZ25lckZvcm1Db21wb25lbnQsXG4gICAgICAgIEF1dGhQb2xpY2llc1BhZ2VDb21wb25lbnQsXG4gICAgICAgIEF1dGhQb2xpY3lGb3JtQ29tcG9uZW50LFxuICAgICAgICBQcmV2aWV3U2VsZWN0aW9uc0NvbXBvbmVudCxcbiAgICAgICAgQ2VydGlmaWNhdGVBdXRob3JpdGllc1BhZ2VDb21wb25lbnQsXG4gICAgICAgIENlcnRpZmljYXRlQXV0aG9yaXR5Rm9ybUNvbXBvbmVudCxcbiAgICAgICAgVmVyaWZ5Q2VydGlmaWNhdGVDb21wb25lbnQsXG4gICAgICAgIExvZ2luRGlhbG9nQ29tcG9uZW50LFxuICAgICAgICBQb3N0dXJlQ2hlY2tzUGFnZUNvbXBvbmVudCxcbiAgICAgICAgUG9zdHVyZUNoZWNrRm9ybUNvbXBvbmVudCxcbiAgICAgICAgU2Vzc2lvbnNQYWdlQ29tcG9uZW50LFxuICAgICAgICBTZXNzaW9uRm9ybUNvbXBvbmVudCxcbiAgICAgICAgQVBJU2Vzc2lvbnNQYWdlQ29tcG9uZW50LFxuICAgICAgICBBUElTZXNzaW9uRm9ybUNvbXBvbmVudCxcbiAgICAgICAgQ2FsbGJhY2tDb21wb25lbnRcbiAgICBdLFxuICAgIGltcG9ydHM6IFtcbiAgICAgICAgQ29tbW9uTW9kdWxlLFxuICAgICAgICBGb3Jtc01vZHVsZSxcbiAgICAgICAgTWF0RGlhbG9nTW9kdWxlLFxuICAgICAgICBNYXRSYWRpb01vZHVsZSxcbiAgICAgICAgSHR0cENsaWVudE1vZHVsZSxcbiAgICAgICAgWmFjUm91dGluZ01vZHVsZSxcbiAgICAgICAgQ2hpcHNNb2R1bGUsXG4gICAgICAgIENhbGVuZGFyTW9kdWxlLFxuICAgICAgICBBZ0dyaWRNb2R1bGUsXG4gICAgICAgIFFSQ29kZU1vZHVsZSxcbiAgICAgICAgQ2xpY2tPdXRzaWRlTW9kdWxlLFxuICAgICAgICBOZ0pzb25FZGl0b3JNb2R1bGUsXG4gICAgICAgIE1hdFRvb2x0aXBNb2R1bGUsXG4gICAgICAgIE1hdEF1dG9jb21wbGV0ZU1vZHVsZSxcbiAgICAgICAgTG90dGllTW9kdWxlLmZvclJvb3Qoe3BsYXllcjogcGxheWVyRmFjdG9yeX0pLFxuICAgICAgICBEcm9wZG93bk1vZHVsZVxuICAgIF0sXG4gICAgZXhwb3J0czogW1xuICAgICAgICBaYWNXcmFwcGVyQ29tcG9uZW50LFxuICAgICAgICBFeHRlbmRhYmxlQ29tcG9uZW50LFxuICAgICAgICBTaWRlVG9vbGJhckNvbXBvbmVudCxcbiAgICAgICAgU2lkZU5hdmJhckNvbXBvbmVudCxcbiAgICAgICAgU2lkZUJhbm5lckNvbXBvbmVudCxcbiAgICAgICAgU3RyaW5nSW5wdXRDb21wb25lbnQsXG4gICAgICAgIFNlbGVjdG9ySW5wdXRDb21wb25lbnQsXG4gICAgICAgIFBhc3N3b3JkSW5wdXRDb21wb25lbnQsXG4gICAgICAgIE51bWJlcklucHV0Q29tcG9uZW50LFxuICAgICAgICBCb29sZWFuVG9nZ2xlSW5wdXRDb21wb25lbnQsXG4gICAgICAgIE9iamVjdENvbXBvbmVudCxcbiAgICAgICAgVGV4dExpc3RJbnB1dENvbXBvbmVudCxcbiAgICAgICAgSWRlbnRpdHlTZXJ2aWNlUGF0aENvbXBvbmVudCxcbiAgICAgICAgTmV0d29ya1Zpc3VhbGl6ZXJDb21wb25lbnQsXG4gICAgICAgIENoZWNrYm94TGlzdElucHV0Q29tcG9uZW50LFxuICAgICAgICBQcm90b2NvbEFkZHJlc3NQb3J0SW5wdXRDb21wb25lbnQsXG4gICAgICAgIENvbmZpZ3VyYXRpb25zUGFnZUNvbXBvbmVudCxcbiAgICAgICAgQ29uZmlndXJhdGlvbkZvcm1Db21wb25lbnQsXG4gICAgICAgIENvbmZpZ1R5cGVzUGFnZUNvbXBvbmVudCxcbiAgICAgICAgQ29uZmlnVHlwZUZvcm1Db21wb25lbnQsXG4gICAgICAgIEVkZ2VSb3V0ZXJGb3JtQ29tcG9uZW50LFxuICAgICAgICBUcmFuc2l0Um91dGVyRm9ybUNvbXBvbmVudCxcbiAgICAgICAgSWRlbnRpdGllc1BhZ2VDb21wb25lbnQsXG4gICAgICAgIEVkZ2VSb3V0ZXJzUGFnZUNvbXBvbmVudCxcbiAgICAgICAgVHJhbnNpdFJvdXRlcnNQYWdlQ29tcG9uZW50LFxuICAgICAgICBTZXJ2aWNlc1BhZ2VDb21wb25lbnQsXG4gICAgICAgIFphY1JvdXRpbmdNb2R1bGUsXG4gICAgICAgIFNpZGVNb2RhbENvbXBvbmVudCxcbiAgICAgICAgSWRlbnRpdHlGb3JtQ29tcG9uZW50LFxuICAgICAgICBMb2FkaW5nSW5kaWNhdG9yQ29tcG9uZW50LFxuICAgICAgICBHcm93bGVyTW9kdWxlLFxuICAgICAgICBGb3JtRmllbGRDb250YWluZXJDb21wb25lbnQsXG4gICAgICAgIEZvcm1GaWVsZFRvZ2dsZUNvbXBvbmVudCxcbiAgICAgICAgU2VydmljZUZvcm1Db21wb25lbnQsXG4gICAgICAgIFNlcnZpY2VQb2xpY2llc1BhZ2VDb21wb25lbnQsXG4gICAgICAgIFNlcnZpY2VQb2xpY3lGb3JtQ29tcG9uZW50LFxuICAgICAgICBFZGdlUm91dGVyUG9saWNpZXNQYWdlQ29tcG9uZW50LFxuICAgICAgICBUZXJtaW5hdG9yc1BhZ2VDb21wb25lbnQsXG4gICAgICAgIFRlcm1pbmF0b3JGb3JtQ29tcG9uZW50LFxuICAgICAgICBKd3RTaWduZXJzUGFnZUNvbXBvbmVudCxcbiAgICAgICAgSnd0U2lnbmVyRm9ybUNvbXBvbmVudCxcbiAgICAgICAgQXV0aFBvbGljaWVzUGFnZUNvbXBvbmVudCxcbiAgICAgICAgQXV0aFBvbGljeUZvcm1Db21wb25lbnQsXG4gICAgICAgIExvZ2luRGlhbG9nQ29tcG9uZW50LFxuICAgICAgICBQb3N0dXJlQ2hlY2tzUGFnZUNvbXBvbmVudCxcbiAgICAgICAgUG9zdHVyZUNoZWNrRm9ybUNvbXBvbmVudCxcbiAgICAgICAgU2Vzc2lvbnNQYWdlQ29tcG9uZW50LFxuICAgICAgICBTZXNzaW9uRm9ybUNvbXBvbmVudCxcbiAgICAgICAgQVBJU2Vzc2lvbnNQYWdlQ29tcG9uZW50LFxuICAgICAgICBBUElTZXNzaW9uRm9ybUNvbXBvbmVudCxcbiAgICAgICAgQ2FsbGJhY2tDb21wb25lbnRcbiAgICBdLFxuICAgIHByb3ZpZGVyczogW1xuICAgICAgICB7cHJvdmlkZTogU0hBUkVEWl9FWFRFTlNJT04sIHVzZUNsYXNzOiBFeHRlbnNpb25zTm9vcFNlcnZpY2V9LFxuICAgICAgICB7cHJvdmlkZTogWklUSV9OQVZJR0FUT1IsIHVzZVZhbHVlOiB7fX0sXG4gICAgICAgIHtcbiAgICAgICAgICAgIHByb3ZpZGU6IEFQUF9JTklUSUFMSVpFUixcbiAgICAgICAgICAgIHVzZUZhY3Rvcnk6IG9uQXBwSW5pdCxcbiAgICAgICAgICAgIGRlcHM6IFtJbmplY3Rvcl0sXG4gICAgICAgICAgICBtdWx0aTogdHJ1ZVxuICAgICAgICB9LFxuICAgIF0sXG59KVxuZXhwb3J0IGNsYXNzIE9wZW5aaXRpQ29uc29sZUxpYk1vZHVsZSB7XG59XG4iXX0=
|
|
503
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoieml0aS1jb25zb2xlLWxpYi5tb2R1bGUuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi9wcm9qZWN0cy96aXRpLWNvbnNvbGUtbGliL3NyYy9saWIveml0aS1jb25zb2xlLWxpYi5tb2R1bGUudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUE7Ozs7Ozs7Ozs7Ozs7O0VBY0U7QUFFRixPQUFPLEVBQUMsZUFBZSxFQUFrQixRQUFRLEVBQUUsUUFBUSxFQUFDLE1BQU0sZUFBZSxDQUFDO0FBQ2xGLE9BQU8sRUFBQyxtQkFBbUIsRUFBQyxNQUFNLDJDQUEyQyxDQUFDO0FBQzlFLE9BQU8sRUFBQyxRQUFRLEVBQUMsTUFBTSxhQUFhLENBQUM7QUFDckMsT0FBTyxFQUFDLGdCQUFnQixFQUFhLE1BQU0sc0JBQXNCLENBQUM7QUFDbEUsT0FBTyxFQUFDLFlBQVksRUFBQyxNQUFNLGlCQUFpQixDQUFDO0FBQzdDLE9BQU8sRUFBQyxXQUFXLEVBQUMsTUFBTSxnQkFBZ0IsQ0FBQztBQUMzQyxPQUFPLEVBQUMsZ0JBQWdCLEVBQUMsTUFBTSxzQkFBc0IsQ0FBQztBQUN0RCxPQUFPLEVBQUMsbUJBQW1CLEVBQUMsTUFBTSw0Q0FBNEMsQ0FBQztBQUMvRSxPQUFPLEVBQUMscUJBQXFCLEVBQUUsaUJBQWlCLEVBQUMsTUFBTSwrQ0FBK0MsQ0FBQztBQUN2RyxPQUFPLEVBQUMsb0JBQW9CLEVBQUMsTUFBTSwwREFBMEQsQ0FBQztBQUM5RixPQUFPLEVBQUMsb0JBQW9CLEVBQUMsTUFBTSwwREFBMEQsQ0FBQztBQUM5RixPQUFPLEVBQUMsMkJBQTJCLEVBQUMsTUFBTSxtRUFBbUUsQ0FBQztBQUM5RyxPQUFPLEVBQUMsZUFBZSxFQUFDLE1BQU0sb0RBQW9ELENBQUM7QUFDbkYsT0FBTyxFQUFDLHNCQUFzQixFQUFDLE1BQU0sOERBQThELENBQUM7QUFDcEcsT0FBTyxFQUFDLDBCQUEwQixFQUFDLE1BQU0sd0VBQXdFLENBQUM7QUFDbEgsT0FB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Qjt3QkFDekIsYUFBYTt3QkFDYiwyQkFBMkI7d0JBQzNCLHdCQUF3Qjt3QkFDeEIsb0JBQW9CO3dCQUNwQiw0QkFBNEI7d0JBQzVCLDBCQUEwQjt3QkFDMUIsK0JBQStCO3dCQUMvQix3QkFBd0I7d0JBQ3hCLHVCQUF1Qjt3QkFDdkIsdUJBQXVCO3dCQUN2QixzQkFBc0I7d0JBQ3RCLHlCQUF5Qjt3QkFDekIsdUJBQXVCO3dCQUN2QixvQkFBb0I7d0JBQ3BCLDBCQUEwQjt3QkFDMUIseUJBQXlCO3dCQUN6QixxQkFBcUI7d0JBQ3JCLG9CQUFvQjt3QkFDcEIsd0JBQXdCO3dCQUN4Qix1QkFBdUI7d0JBQ3ZCLGlCQUFpQjt3QkFDakIsbUJBQW1CO3dCQUNuQixpQkFBaUI7cUJBQ3BCO29CQUNELFNBQVMsRUFBRTt3QkFDUCxFQUFDLE9BQU8sRUFBRSxpQkFBaUIsRUFBRSxRQUFRLEVBQUUscUJBQXFCLEVBQUM7d0JBQzdELEVBQUMsT0FBTyxFQUFFLGNBQWMsRUFBRSxRQUFRLEVBQUUsRUFBRSxFQUFDO3dCQUN2Qzs0QkFDSSxPQUFPLEVBQUUsZUFBZTs0QkFDeEIsVUFBVSxFQUFFLFNBQVM7NEJBQ3JCLElBQUksRUFBRSxDQUFDLFFBQVEsQ0FBQzs0QkFDaEIsS0FBSyxFQUFFLElBQUk7eUJBQ2Q7cUJBQ0o7aUJBQ0oiLCJzb3VyY2VzQ29udGVudCI6WyIvKlxuICAgIENvcHlyaWdodCBOZXRGb3VuZHJ5IEluYy5cblxuICAgIExpY2Vuc2VkIHVuZGVyIHRoZSBBcGFjaGUgTGljZW5zZSwgVmVyc2lvbiAyLjAgKHRoZSBcIkxpY2Vuc2VcIik7XG4gICAgeW91IG1heSBub3QgdXNlIHRoaXMgZmlsZSBleGNlcHQgaW4gY29tcGxpYW5jZSB3aXRoIHRoZSBMaWNlbnNlLlxuICAgIFlvdSBtYXkgb2J0YWluIGEgY29weSBvZiB0aGUgTGljZW5zZSBhdFxuXG4gICAgaHR0cHM6Ly93d3cuYXBhY2hlLm9yZy9saWNlbnNlcy9MSUNFTlNFLTIuMFxuXG4gICAgVW5sZXNzIHJlcXVpcmVkIGJ5IGFwcGxpY2FibGUgbGF3IG9yIGFncmVlZCB0byBpbiB3cml0aW5nLCBzb2Z0d2FyZVxuICAgIGRpc3RyaWJ1dGVkIHVuZGVyIHRoZSBMaWNlbnNlIGlzIGRpc3RyaWJ1dGVkIG9uIGFuIFwiQVMgSVNcIiBCQVNJUyxcbiAgICBXSVRIT1VUIFdBUlJBTlRJRVMgT1IgQ09ORElUSU9OUyBPRiBBTlkgS0lORCwgZWl0aGVyIGV4cHJlc3Mgb3IgaW1wbGllZC5cbiAgICBTZWUgdGhlIExpY2Vuc2UgZm9yIHRoZSBzcGVjaWZpYyBsYW5ndWFnZSBnb3Zlcm5pbmcgcGVybWlzc2lvbnMgYW5kXG4gICAgbGltaXRhdGlvbnMgdW5kZXIgdGhlIExpY2Vuc2UuXG4qL1xuXG5pbXBvcnQge0FQUF9JTklUSUFMSVpFUiwgSW5qZWN0aW9uVG9rZW4sIEluamVjdG9yLCBOZ01vZHVsZX0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XG5pbXBvcnQge1phY1dyYXBwZXJDb21wb25lbnR9IGZyb20gXCIuL2ZlYXR1cmVzL3dyYXBwZXJzL3phYy13cmFwcGVyLmNvbXBvbmVudFwiO1xuaW1wb3J0IHtTYWZlUGlwZX0gZnJvbSBcIi4vc2FmZS5waXBlXCI7XG5pbXBvcnQge0h0dHBDbGllbnRNb2R1bGUsIEh0dHBDbGllbnR9IGZyb20gXCJAYW5ndWxhci9jb21tb24vaHR0cFwiO1xuaW1wb3J0IHtDb21tb25Nb2R1bGV9IGZyb20gXCJAYW5ndWxhci9jb21tb25cIjtcbmltcG9ydCB7Rm9ybXNNb2R1bGV9IGZyb20gXCJAYW5ndWxhci9mb3Jtc1wiO1xuaW1wb3J0IHtaYWNSb3V0aW5nTW9kdWxlfSBmcm9tIFwiLi96YWMtcm91dGluZy5tb2R1bGVcIjtcbmltcG9ydCB7RXh0ZW5kYWJsZUNvbXBvbmVudH0gZnJvbSBcIi4vZmVhdHVyZXMvZXh0ZW5kYWJsZS9leHRlbmRhYmxlLmNvbXBvbmVudFwiO1xuaW1wb3J0IHtFeHRlbnNpb25zTm9vcFNlcnZpY2UsIFNIQVJFRFpfRVhURU5TSU9OfSBmcm9tIFwiLi9mZWF0dXJlcy9leHRlbmRhYmxlL2V4dGVuc2lvbnMtbm9vcC5zZXJ2aWNlXCI7XG5pbXBvcnQge1N0cmluZ0lucHV0Q29tcG9uZW50fSBmcm9tICcuL2ZlYXR1cmVzL2R5bmFtaWMtd2lkZ2V0cy9zdHJpbmcvc3RyaW5nLWlucHV0LmNvbXBvbmVudCc7XG5pbXBvcnQge051bWJlcklucHV0Q29tcG9uZW50fSBmcm9tICcuL2ZlYXR1cmVzL2R5bmFtaWMtd2lkZ2V0cy9udW1iZXIvbnVtYmVyLWlucHV0LmNvbXBvbmVudCc7XG5pbXBvcnQge0Jvb2xlYW5Ub2dnbGVJbnB1dENvbXBvbmVudH0gZnJvbSAnLi9mZWF0dXJlcy9keW5hbWljLXdpZGdldHMvYm9vbGVhbi9ib29sZWFuLXRvZ2dsZS1pbnB1dC5jb21wb25lbnQnO1xuaW1wb3J0IHtPYmplY3RDb21wb25lbnR9IGZyb20gJy4vZmVhdHVyZXMvZHluYW1pYy13aWRnZXRzL29iamVjdC9vYmplY3QuY29tcG9uZW50JztcbmltcG9ydCB7U2VsZWN0b3JJbnB1dENvbXBvbmVudH0gZnJvbSAnLi9mZWF0dXJlcy9keW5hbWljLXdpZGdldHMvc2VsZWN0b3Ivc2VsZWN0b3ItaW5wdXQuY29tcG9uZW50JztcbmltcG9ydCB7Q2hlY2tib3hMaXN0SW5wdXRDb21wb25lbnR9IGZyb20gJy4vZmVhdHVyZXMvZHluYW1pYy13aWRnZXRzL2NoZWNrYm94LWxpc3QvY2hlY2tib3gtbGlzdC1pbnB1dC5jb21wb25lbnQnO1xuaW1wb3J0IHtUZXh0TGlzdElucHV0Q29tcG9uZW50fSBmcm9tIFwiLi9mZWF0dXJlcy9keW5hbWljLXdpZGdldHMvdGV4dC1saXN0L3RleHQtbGlzdC1pbnB1dC5jb21wb25lbnRcIjtcbmltcG9ydCB7Q2hpcHNNb2R1bGV9IGZyb20gXCJwcmltZW5nL2NoaXBzXCI7XG5pbXBvcnQge0Ryb3Bkb3duTW9kdWxlfSBmcm9tICdwcmltZW5nL2Ryb3Bkb3duJztcbmltcG9ydCB7Q2FsZW5kYXJNb2R1bGV9IGZyb20gJ3ByaW1lbmcvY2FsZW5kYXInO1xuaW1wb3J0IHtRUkNvZGVNb2R1bGV9IGZyb20gJ2FuZ3VsYXJ4LXFyY29kZSc7XG5pbXBvcnQge1xuICAgIFByb3RvY29sQWRkcmVzc1BvcnRJbnB1dENvbXBvbmVudFxufSBmcm9tICcuL2ZlYXR1cmVzL2R5bmFtaWMtd2lkZ2V0cy9wcm90b2NvbC1hZGRyZXNzLXBvcnQvcHJvdG9jb2wtYWRkcmVzcy1wb3J0LWlucHV0LmNvbXBvbmVudCc7XG5pbXBvcnQge1NpZGVUb29sYmFyQ29tcG9uZW50fSBmcm9tICcuL2ZlYXR1cmVzL3NpZGViYXJzL3NpZGUtdG9vbGJhci9zaWRlLXRvb2xiYXIuY29tcG9uZW50JztcbmltcG9ydCB7U2lkZU5hdmJhckNvbXBvbmVudH0gZnJvbSAnLi9mZWF0dXJlcy9zaWRlYmFycy9zaWRlLW5hdmJhci9zaWRlLW5hdmJhci5jb21wb25lbnQnO1xuaW1wb3J0IHtTaWRlQmFubmVyQ29tcG9uZW50fSBmcm9tICcuL2ZlYXR1cmVzL3NpZGViYXJzL3NpZGUtYmFubmVyL3NpZGUtYmFubmVyLmNvbXBvbmVudCc7XG5pbXBvcnQge1Bhc3N3b3JkSW5wdXRDb21wb25lbnR9IGZyb20gJy4vZmVhdHVyZXMvZHluYW1pYy13aWRnZXRzL3Bhc3N3b3JkL3Bhc3N3b3JkLWlucHV0LmNvbXBvbmVudCc7XG5pbXBvcnQge0NvbmZpZ3VyYXRpb25zUGFnZUNvbXBvbmVudH0gZnJvbSAnLi9wYWdlcy9jb25maWd1cmF0aW9ucy9jb25maWd1cmF0aW9ucy1wYWdlLmNvbXBvbmVudCc7XG5pbXBvcnQge0xpc3RQYWdlSGVhZGVyQ29tcG9uZW50fSBmcm9tICcuL2ZlYXR1cmVzL2xpc3QtcGFnZS1mZWF0dXJlcy9saXN0LXBhZ2UtaGVhZGVyL2xpc3QtcGFnZS1oZWFkZXIuY29tcG9uZW50JztcbmltcG9ydCB7TWF0RGlhbG9nTW9kdWxlfSBmcm9tIFwiQGFuZ3VsYXIvbWF0ZXJpYWwvZGlhbG9nXCI7XG5pbXBvcnQge01hdFJhZGlvTW9kdWxlfSBmcm9tICdAYW5ndWxhci9tYXRlcmlhbC9yYWRpbyc7XG5pbXBvcnQge1Rlcm1pbmF0b3JGb3JtQ29tcG9uZW50fSBmcm9tIFwiLi9mZWF0dXJlcy9wcm9qZWN0YWJsZS1mb3Jtcy90ZXJtaW5hdG9yL3Rlcm1pbmF0b3ItZm9ybS5jb21wb25lbnRcIjtcbmltcG9ydCB7TGlzdFBhZ2VGb3JtQ29tcG9uZW50fSBmcm9tICcuL2ZlYXR1cmVzL2xpc3QtcGFnZS1mZWF0dXJlcy9saXN0LXBhZ2UtZm9ybS9saXN0LXBhZ2UtZm9ybS5jb21wb25lbnQnO1xuaW1wb3J0IHtEYXRhVGFibGVDb21wb25lbnR9IGZyb20gXCIuL2ZlYXR1cmVzL2RhdGEtdGFibGUvZGF0YS10YWJsZS5jb21wb25lbnRcIjtcbmltcG9ydCB7VGFibGVDZWxsU2VsZWN0Q29tcG9uZW50fSBmcm9tIFwiLi9mZWF0dXJlcy9kYXRhLXRhYmxlL2NlbGxzL3RhYmxlLWNlbGwtc2VsZWN0L3RhYmxlLWNlbGwtc2VsZWN0LmNvbXBvbmVudFwiO1xuaW1wb3J0IHtUYWJsZUNvbHVtblNlbGVjdENvbXBvbmVudH0gZnJvbSBcIi4vZmVhdHVyZXMvZGF0YS10YWJsZS9jb2x1bW4taGVhZGVycy90YWJsZS1jb2x1bW4tc2VsZWN0L3RhYmxlLWNvbHVtbi1zZWxlY3QuY29tcG9uZW50XCI7XG5pbXBvcnQge1RhYmxlQ2VsbE1lbnVDb21wb25lbnR9IGZyb20gXCIuL2ZlYXR1cmVzL2RhdGEtdGFibGUvY2VsbHMvdGFibGUtY2VsbC1tZW51L3RhYmxlLWNlbGwtbWVudS5jb21wb25lbnRcIjtcbmltcG9ydCB7VGFibGVDb2x1bW5NZW51Q29tcG9uZW50fSBmcm9tIFwiLi9mZWF0dXJlcy9kYXRhLXRhYmxlL2NvbHVtbi1oZWFkZXJzL3RhYmxlLWNvbHVtbi1tZW51L3RhYmxlLWNvbHVtbi1tZW51LmNvbXBvbmVudFwiO1xuaW1wb3J0IHtUYWJsZUNvbHVtbkRlZmF1bHRDb21wb25lbnR9IGZyb20gXCIuL2ZlYXR1cmVzL2RhdGEtdGFibGUvY29sdW1uLWhlYWRlcnMvdGFibGUtY29sdW1uLWRlZmF1bHQvdGFibGUtY29sdW1uLWRlZmF1bHQuY29tcG9uZW50XCI7XG5pbXBvcnQge1RhYmxlQ29sdW1uRmlsdGVyQ29tcG9uZW50fSBmcm9tIFwiLi9mZWF0dXJlcy9kYXRhLXRhYmxlL2NvbHVtbi1oZWFkZXJzL3RhYmxlLWNvbHVtbi1maWx0ZXIvdGFibGUtY29sdW1uLWZpbHRlci5jb21wb25lbnRcIjtcbmltcG9ydCB7SGlkZGVuQ29sdW1uc0JhckNvbXBvbmVudH0gZnJvbSBcIi4vZmVhdHVyZXMvZGF0YS10YWJsZS90YWJsZS1oaWRkZW4tY29sdW1ucy1iYXIvaGlkZGVuLWNvbHVtbnMtYmFyLmNvbXBvbmVudFwiO1xuaW1wb3J0IHtGaWx0ZXJCYXJDb21wb25lbnR9IGZyb20gXCIuL2ZlYXR1cmVzL2RhdGEtdGFibGUvdGFibGUtZmlsdGVyLWJhci9maWx0ZXItYmFyLmNvbXBvbmVudFwiO1xuaW1wb3J0IHtBZ0dyaWRNb2R1bGV9IGZyb20gXCJhZy1ncmlkLWFuZ3VsYXJcIjtcbmltcG9ydCB7SWRlbnRpdGllc1BhZ2VDb21wb25lbnR9IGZyb20gXCIuL3BhZ2VzL2lkZW50aXRpZXMvaWRlbnRpdGllcy1wYWdlLmNvbXBvbmVudFwiO1xuaW1wb3J0IHtFZGdlUm91dGVyc1BhZ2VDb21wb25lbnR9IGZyb20gXCIuL3BhZ2VzL2VkZ2Utcm91dGVycy9lZGdlLXJvdXRlcnMtcGFnZS5jb21wb25lbnRcIjtcbmltcG9ydCB7VHJhbnNpdFJvdXRlcnNQYWdlQ29tcG9uZW50fSBmcm9tIFwiLi9wYWdlcy90cmFuc2l0LXJvdXRlcnMvdHJhbnNpdC1yb3V0ZXJzLXBhZ2UuY29tcG9uZW50XCI7XG5pbXBvcnQge1NlcnZpY2VzUGFnZUNvbXBvbmVudH0gZnJvbSBcIi4vcGFnZXMvc2VydmljZXMvc2VydmljZXMtcGFnZS5jb21wb25lbnRcIjtcbmltcG9ydCB7WklUSV9OQVZJR0FUT1J9IGZyb20gXCIuL3ppdGktY29uc29sZS5jb25zdGFudHNcIjtcbmltcG9ydCB7IEdyb3dsZXJDb21wb25lbnQgfSBmcm9tICcuL2ZlYXR1cmVzL21lc3NhZ2luZy9ncm93bGVyLmNvbXBvbmVudCc7XG5pbXBvcnQgeyBDb25maXJtQ29tcG9uZW50IH0gZnJvbSAnLi9mZWF0dXJlcy9jb25maXJtL2NvbmZpcm0uY29tcG9uZW50JztcbmltcG9ydCB7b25BcHBJbml0fSBmcm9tIFwiLi9hcHAuaW5pdGlhbGl6ZXJcIjtcbmltcG9ydCB7Q2xpY2tPdXRzaWRlTW9kdWxlfSBmcm9tIFwibmctY2xpY2stb3V0c2lkZVwiO1xuaW1wb3J0IHtOZ0pzb25FZGl0b3JNb2R1bGV9IGZyb20gXCJhbmctanNvbmVkaXRvclwiO1xuaW1wb3J0IHtMb3R0aWVNb2R1bGV9IGZyb20gXCJuZ3gtbG90dGllXCI7XG5pbXBvcnQgeyBOb0l0ZW1zQ29tcG9uZW50IH0gZnJvbSAnLi9mZWF0dXJlcy9uby1pdGVtcy9uby1pdGVtcy5jb21wb25lbnQnO1xuaW1wb3J0IHsgU2lkZU1vZGFsQ29tcG9uZW50IH0gZnJvbSAnLi9mZWF0dXJlcy9zaWRlLW1vZGFsL3NpZGUtbW9kYWwuY29tcG9uZW50JztcbmltcG9ydCB7IElkZW50aXR5Rm9ybUNvbXBvbmVudCB9IGZyb20gXCIuL2ZlYXR1cmVzL3Byb2plY3RhYmxlLWZvcm1zL2lkZW50aXR5L2lkZW50aXR5LWZvcm0uY29tcG9uZW50XCI7XG5pbXBvcnQgeyBGb3JtSGVhZGVyQ29tcG9uZW50IH0gZnJvbSAnLi9mZWF0dXJlcy9wcm9qZWN0YWJsZS1mb3Jtcy9mb3JtLWhlYWRlci9mb3JtLWhlYWRlci5jb21wb25lbnQnO1xuaW1wb3J0IHsgRm9ybUZpZWxkQ29udGFpbmVyQ29tcG9uZW50IH0gZnJvbSAnLi9mZWF0dXJlcy9wcm9qZWN0YWJsZS1mb3Jtcy9mb3JtLWZpZWxkLWNvbnRhaW5lci9mb3JtLWZpZWxkLWNvbnRhaW5lci5jb21wb25lbnQnO1xuaW1wb3J0IHsgTWF0VG9vbHRpcE1vZHVsZSB9IGZyb20gJ0Bhbmd1bGFyL21hdGVyaWFsL3Rvb2x0aXAnO1xuaW1wb3J0IHsgUHJldmlld0xpc3RDb21wb25lbnQgfSBmcm9tICcuL2ZlYXR1cmVzL3ByZXZpZXctbGlzdC9wcmV2aWV3LWxpc3QuY29tcG9uZW50JztcbmltcG9ydCB7TG9hZGluZ0luZGljYXRvckNvbXBvbmVudH0gZnJvbSBcIi4vZmVhdHVyZXMvbG9hZGluZy1pbmRpY2F0b3IvbG9hZGluZy1pbmRpY2F0b3IuY29tcG9uZW50XCI7XG5pbXBvcnQgeyBGb3JtRmllbGRUb2dnbGVDb21wb25lbnQgfSBmcm9tICcuL2ZlYXR1cmVzL3Byb2plY3RhYmxlLWZvcm1zL2Zvcm0tZmllbGQtdG9nZ2xlL2Zvcm0tZmllbGQtdG9nZ2xlLmNvbXBvbmVudCc7XG5pbXBvcnQgeyBKc29uVmlld0NvbXBvbmVudCB9IGZyb20gJy4vZmVhdHVyZXMvanNvbi12aWV3L2pzb24tdmlldy5jb21wb25lbnQnO1xuaW1wb3J0IHsgVGFnU2VsZWN0b3JDb21wb25lbnQgfSBmcm9tICcuL2ZlYXR1cmVzL3RhZy1zZWxlY3Rvci90YWctc2VsZWN0b3IuY29tcG9uZW50JztcbmltcG9ydCB7IFFyQ29kZUNvbXBvbmVudCB9IGZyb20gJy4vZmVhdHVyZXMvcXItY29kZS9xci1jb2RlLmNvbXBvbmVudCc7XG5pbXBvcnQgeyBUYWJsZUNlbGxUb2tlbkNvbXBvbmVudCB9IGZyb20gJy4vZmVhdHVyZXMvZGF0YS10YWJsZS9jZWxscy90YWJsZS1jZWxsLXRva2VuL3RhYmxlLWNlbGwtdG9rZW4uY29tcG9uZW50JztcbmltcG9ydCB7R3Jvd2xlck1vZHVsZX0gZnJvbSBcIi4vZmVhdHVyZXMvbWVzc2FnaW5nL2dyb3dsZXIubW9kdWxlXCI7XG5pbXBvcnQge09TVG9vbHRpcENvbXBvbmVudH0gZnJvbSAnLi9mZWF0dXJlcy9kYXRhLXRhYmxlL3Rvb2x0aXBzL29zLXRvb2x0aXAuY29tcG9uZW50J1xuaW1wb3J0IHtTREtUb29sdGlwQ29tcG9uZW50fSBmcm9tIFwiLi9mZWF0dXJlcy9kYXRhLXRhYmxlL3Rvb2x0aXBzL3Nkay10b29sdGlwLmNvbXBvbmVudFwiO1xuaW1wb3J0IHsgT3ZlcnJpZGVzQ29tcG9uZW50IH0gZnJvbSAnLi9mZWF0dXJlcy9vdmVycmlkZXMvb3ZlcnJpZGVzLmNvbXBvbmVudCc7XG5pbXBvcnQgeyBSZXNldEVucm9sbG1lbnRDb21wb25lbnQgfSBmcm9tICcuL2ZlYXR1cmVzL3Jlc2V0LWVucm9sbG1lbnQvcmVzZXQtZW5yb2xsbWVudC5jb21wb25lbnQnO1xuaW1wb3J0IHtJZGVudGl0eVNlcnZpY2VQYXRoQ29tcG9uZW50fSBmcm9tIFwiLi9mZWF0dXJlcy92aXN1YWxpemVyL2lkZW50aXR5LXNlcnZpY2UtcGF0aC9pZGVudGl0eS1zZXJ2aWNlLXBhdGguY29tcG9uZW50XCI7XG5pbXBvcnQge05ldHdvcmtWaXN1YWxpemVyQ29tcG9uZW50fSBmcm9tIFwiLi9mZWF0dXJlcy92aXN1YWxpemVyL25ldHdvcmstdmlzdWFsaXplci9uZXR3b3JrLXZpc3VhbGl6ZXIuY29tcG9uZW50XCI7XG5pbXBvcnQgeyBDdXN0b21UYWdzQ29tcG9uZW50IH0gZnJvbSAnLi9mZWF0dXJlcy9jdXN0b20tdGFncy9jdXN0b20tdGFncy5jb21wb25lbnQnO1xuaW1wb3J0IHtFZGdlUm91dGVyRm9ybUNvbXBvbmVudH0gZnJvbSBcIi4vZmVhdHVyZXMvcHJvamVjdGFibGUtZm9ybXMvZWRnZS1yb3V0ZXIvZWRnZS1yb3V0ZXItZm9ybS5jb21wb25lbnRcIjtcbmltcG9ydCB7VHJhbnNpdFJvdXRlckZvcm1Db21wb25lbnR9IGZyb20gXCIuL2ZlYXR1cmVzL3Byb2plY3RhYmxlLWZvcm1zL3RyYW5zaXQtcm91dGVyL3RyYW5zaXQtcm91dGVyLWZvcm0uY29tcG9uZW50XCI7XG5cbmltcG9ydCB7U2VydmljZUZvcm1Db21wb25lbnR9IGZyb20gXCIuL2ZlYXR1cmVzL3Byb2plY3RhYmxlLWZvcm1zL3NlcnZpY2Uvc2VydmljZS1mb3JtLmNvbXBvbmVudFwiO1xuaW1wb3J0IHsgUG9ydFJhbmdlc0NvbXBvbmVudCB9IGZyb20gJy4vZmVhdHVyZXMvZHluYW1pYy13aWRnZXRzL3BvcnQtcmFuZ2VzL3BvcnQtcmFuZ2VzLmNvbXBvbmVudCc7XG5pbXBvcnQgeyBGb3J3YXJkaW5nQ29uZmlnQ29tcG9uZW50IH0gZnJvbSAnLi9mZWF0dXJlcy9keW5hbWljLXdpZGdldHMvZm9yd2FyZGluZy1jb25maWcvZm9yd2FyZGluZy1jb25maWcuY29tcG9uZW50JztcbmltcG9ydCB7IENhcmRMaXN0Q29tcG9uZW50IH0gZnJvbSAnLi9mZWF0dXJlcy9jYXJkLWxpc3QvY2FyZC1saXN0LmNvbXBvbmVudCc7XG5pbXBvcnQgeyBTaW1wbGVTZXJ2aWNlQ29tcG9uZW50IH0gZnJvbSAnLi9mZWF0dXJlcy9wcm9qZWN0YWJsZS1mb3Jtcy9zZXJ2aWNlL3NpbXBsZS1zZXJ2aWNlL3NpbXBsZS1zZXJ2aWNlLmNvbXBvbmVudCc7XG5pbXBvcnQgeyBDYXJkQ29tcG9uZW50IH0gZnJvbSAnLi9mZWF0dXJlcy9jYXJkL2NhcmQuY29tcG9uZW50JztcbmltcG9ydCB7IENyZWF0aW9uU3VtbWFyeURpYWxvZ0NvbXBvbmVudCB9IGZyb20gJy4vZmVhdHVyZXMvY3JlYXRpb24tc3VtbWFyeS1kaWFsb2cvY3JlYXRpb24tc3VtbWFyeS1kaWFsb2cuY29tcG9uZW50JztcbmltcG9ydCB7IE1hdEF1dG9jb21wbGV0ZU1vZHVsZSB9IGZyb20gJ0Bhbmd1bGFyL21hdGVyaWFsL2F1dG9jb21wbGV0ZSc7XG5pbXBvcnQgeyBDb25maWdFZGl0b3JDb21wb25lbnQgfSBmcm9tICcuL2ZlYXR1cmVzL2NvbmZpZy1lZGl0b3IvY29uZmlnLWVkaXRvci5jb21wb25lbnQnO1xuaW1wb3J0IHsgRWRnZVJvdXRlclBvbGljaWVzUGFnZUNvbXBvbmVudCB9IGZyb20gJy4vcGFnZXMvZWRnZS1yb3V0ZXItcG9saWNpZXMvZWRnZS1yb3V0ZXItcG9saWNpZXMtcGFnZS5jb21wb25lbnQnO1xuaW1wb3J0IHsgU2VydmljZVBvbGljaWVzUGFnZUNvbXBvbmVudCB9IGZyb20gJy4vcGFnZXMvc2VydmljZS1wb2xpY2llcy9zZXJ2aWNlLXBvbGljaWVzLXBhZ2UuY29tcG9uZW50JztcbmltcG9ydCB7IFNlcnZpY2VQb2xpY3lGb3JtQ29tcG9uZW50IH0gZnJvbSAnLi9mZWF0dXJlcy9wcm9qZWN0YWJsZS1mb3Jtcy9zZXJ2aWNlLXBvbGljeS9zZXJ2aWNlLXBvbGljeS1mb3JtLmNvbXBvbmVudCc7XG5pbXBvcnQgeyBFZGdlUm91dGVyUG9saWN5Rm9ybUNvbXBvbmVudCB9IGZyb20gJy4vZmVhdHVyZXMvcHJvamVjdGFibGUtZm9ybXMvZWRnZS1yb3V0ZXItcG9saWN5L2VkZ2Utcm91dGVyLXBvbGljeS1mb3JtLmNvbXBvbmVudCc7XG5pbXBvcnQgeyBNdWx0aUFjdGlvbkJ1dHRvbkNvbXBvbmVudCB9IGZyb20gJy4vZmVhdHVyZXMvbXVsdGktYWN0aW9uLWJ1dHRvbi9tdWx0aS1hY3Rpb24tYnV0dG9uLmNvbXBvbmVudCc7XG5pbXBvcnQgeyBUYWJsZUNlbGxOYW1lQ29tcG9uZW50IH0gZnJvbSAnLi9mZWF0dXJlcy9kYXRhLXRhYmxlL2NlbGxzL3RhYmxlLWNlbGwtbmFtZS90YWJsZS1jZWxsLW5hbWUuY29tcG9uZW50JztcbmltcG9ydCB7IFNlcnZpY2VFZGdlUm91dGVyUG9saWNpZXNQYWdlQ29tcG9uZW50IH0gZnJvbSAnLi9wYWdlcy9zZXJ2aWNlLWVkZ2Utcm91dGVyLXBvbGljaWVzL3NlcnZpY2UtZWRnZS1yb3V0ZXItcG9saWNpZXMtcGFnZS5jb21wb25lbnQnO1xuaW1wb3J0IHsgU2VydmljZUVkZ2VSb3V0ZXJQb2xpY3lGb3JtQ29tcG9uZW50IH0gZnJvbSAnLi9mZWF0dXJlcy9wcm9qZWN0YWJsZS1mb3Jtcy9zZXJ2aWNlLWVkZ2Utcm91dGVyLXBvbGljeS9zZXJ2aWNlLWVkZ2Utcm91dGVyLXBvbGljeS1mb3JtLmNvbXBvbmVudCc7XG5pbXBvcnQge1Rlcm1pbmF0b3JzUGFnZUNvbXBvbmVudH0gZnJvbSBcIi4vcGFnZXMvdGVybWluYXRvcnMvdGVybWluYXRvcnMtcGFnZS5jb21wb25lbnRcIjtcbmltcG9ydCB7Q29uZmlndXJhdGlvbkZvcm1Db21wb25lbnR9IGZyb20gXCIuL2ZlYXR1cmVzL3Byb2plY3RhYmxlLWZvcm1zL2NvbmZpZ3VyYXRpb24vY29uZmlndXJhdGlvbi1mb3JtLmNvbXBvbmVudFwiO1xuaW1wb3J0IHtKd3RTaWduZXJzUGFnZUNvbXBvbmVudH0gZnJvbSBcIi4vcGFnZXMvand0LXNpZ25lcnMvand0LXNpZ25lcnMtcGFnZS5jb21wb25lbnRcIjtcbmltcG9ydCB7Snd0U2lnbmVyRm9ybUNvbXBvbmVudH0gZnJvbSBcIi4vZmVhdHVyZXMvcHJvamVjdGFibGUtZm9ybXMvand0LXNpZ25lci9qd3Qtc2lnbmVyLWZvcm0uY29tcG9uZW50XCI7XG5pbXBvcnQge0F1dGhQb2xpY2llc1BhZ2VDb21wb25lbnR9IGZyb20gXCIuL3BhZ2VzL2F1dGgtcG9saWNpZXMvYXV0aC1wb2xpY2llcy1wYWdlLmNvbXBvbmVudFwiO1xuaW1wb3J0IHtBdXRoUG9saWN5Rm9ybUNvbXBvbmVudH0gZnJvbSBcIi4vZmVhdHVyZXMvcHJvamVjdGFibGUtZm9ybXMvYXV0aC1wb2xpY3kvYXV0aC1wb2xpY3ktZm9ybS5jb21wb25lbnRcIjtcbmltcG9ydCB7Q2VydGlmaWNhdGVBdXRob3JpdGllc1BhZ2VDb21wb25lbnR9IGZyb20gXCIuL3BhZ2VzL2NlcnRpZmljYXRlLWF1dGhvcml0aWVzL2NlcnRpZmljYXRlLWF1dGhvcml0aWVzLXBhZ2UuY29tcG9uZW50XCI7XG5pbXBvcnQge1ByZXZpZXdTZWxlY3Rpb25zQ29tcG9uZW50fSBmcm9tIFwiLi9mZWF0dXJlcy9wcmV2aWV3LXNlbGVjdGlvbnMvcHJldmlldy1zZWxlY3Rpb25zLmNvbXBvbmVudFwiO1xuaW1wb3J0IHtDZXJ0aWZpY2F0ZUF1dGhvcml0eUZvcm1Db21wb25lbnR9IGZyb20gXCIuL2ZlYXR1cmVzL3Byb2plY3RhYmxlLWZvcm1zL2NlcnRpZmljYXRlLWF1dGhvcml0eS9jZXJ0aWZpY2F0ZS1hdXRob3JpdHktZm9ybS5jb21wb25lbnRcIjtcbmltcG9ydCB7XG4gICAgVmVyaWZ5Q2VydGlmaWNhdGVDb21wb25lbnRcbn0gZnJvbSBcIi4vZmVhdHVyZXMvcHJvamVjdGFibGUtZm9ybXMvY2VydGlmaWNhdGUtYXV0aG9yaXR5L3ZlcmlmeS1jZXJ0aWZpY2F0ZS92ZXJpZnktY2VydGlmaWNhdGUuY29tcG9uZW50XCI7XG5pbXBvcnQge0xvZ2luRGlhbG9nQ29tcG9uZW50fSBmcm9tIFwiLi9mZWF0dXJlcy9sb2dpbi9sb2dpbi1kaWFsb2cuY29tcG9uZW50XCI7XG5pbXBvcnQge0NvbmZpZ1R5cGVzUGFnZUNvbXBvbmVudH0gZnJvbSBcIi4vcGFnZXMvY29uZmlnLXR5cGVzL2NvbmZpZy10eXBlcy1wYWdlLmNvbXBvbmVudFwiO1xuaW1wb3J0IHtDb25maWdUeXBlRm9ybUNvbXBvbmVudH0gZnJvbSBcIi4vZmVhdHVyZXMvcHJvamVjdGFibGUtZm9ybXMvY29uZmlnLXR5cGUvY29uZmlnLXR5cGUtZm9ybS5jb21wb25lbnRcIjtcbmltcG9ydCB7UG9zdHVyZUNoZWNrc1BhZ2VDb21wb25lbnR9IGZyb20gXCIuL3BhZ2VzL3Bvc3R1cmUtY2hlY2tzL3Bvc3R1cmUtY2hlY2tzLXBhZ2UuY29tcG9uZW50XCI7XG5pbXBvcnQge1Bvc3R1cmVDaGVja0Zvcm1Db21wb25lbnR9IGZyb20gXCIuL2ZlYXR1cmVzL3Byb2plY3RhYmxlLWZvcm1zL3Bvc3R1cmUtY2hlY2svcG9zdHVyZS1jaGVjay1mb3JtLmNvbXBvbmVudFwiO1xuaW1wb3J0IHtTZXNzaW9uc1BhZ2VDb21wb25lbnR9IGZyb20gXCIuL3BhZ2VzL3Nlc3Npb25zL3Nlc3Npb25zLXBhZ2UuY29tcG9uZW50XCI7XG5pbXBvcnQge1Nlc3Npb25Gb3JtQ29tcG9uZW50fSBmcm9tIFwiLi9mZWF0dXJlcy9wcm9qZWN0YWJsZS1mb3Jtcy9zZXNzaW9uL3Nlc3Npb24tZm9ybS5jb21wb25lbnRcIjtcbmltcG9ydCB7QVBJU2Vzc2lvbnNQYWdlQ29tcG9uZW50fSBmcm9tIFwiLi9wYWdlcy9hcGktc2Vzc2lvbnMvYXBpLXNlc3Npb25zLXBhZ2UuY29tcG9uZW50XCI7XG5pbXBvcnQge0FQSVNlc3Npb25Gb3JtQ29tcG9uZW50fSBmcm9tIFwiLi9mZWF0dXJlcy9wcm9qZWN0YWJsZS1mb3Jtcy9hcGktc2Vzc2lvbi9hcGktc2Vzc2lvbi1mb3JtLmNvbXBvbmVudFwiO1xuaW1wb3J0IHtDYWxsYmFja0NvbXBvbmVudH0gZnJvbSBcIi4vcGFnZXMvY2FsbGJhY2svY2FsbGJhY2suY29tcG9uZW50XCI7XG5cbmV4cG9ydCBmdW5jdGlvbiBwbGF5ZXJGYWN0b3J5KCkge1xuICAgIHJldHVybiBpbXBvcnQoLyogd2VicGFja0NodW5rTmFtZTogJ2xvdHRpZS13ZWInICovICdsb3R0aWUtd2ViJyk7XG59XG5cbkBOZ01vZHVsZSh7XG4gICAgZGVjbGFyYXRpb25zOiBbXG4gICAgICAgIFphY1dyYXBwZXJDb21wb25lbnQsXG4gICAgICAgIFNhZmVQaXBlLFxuICAgICAgICBFeHRlbmRhYmxlQ29tcG9uZW50LFxuICAgICAgICBTdHJpbmdJbnB1dENvbXBvbmVudCxcbiAgICAgICAgTnVtYmVySW5wdXRDb21wb25lbnQsXG4gICAgICAgIEJvb2xlYW5Ub2dnbGVJbnB1dENvbXBvbmVudCxcbiAgICAgICAgT2JqZWN0Q29tcG9uZW50LFxuICAgICAgICBTZWxlY3RvcklucHV0Q29tcG9uZW50LFxuICAgICAgICBUZXh0TGlzdElucHV0Q29tcG9uZW50LFxuICAgICAgICBDaGVja2JveExpc3RJbnB1dENvbXBvbmVudCxcbiAgICAgICAgUHJvdG9jb2xBZGRyZXNzUG9ydElucHV0Q29tcG9uZW50LFxuICAgICAgICBTaWRlVG9vbGJhckNvbXBvbmVudCxcbiAgICAgICAgU2lkZU5hdmJhckNvbXBvbmVudCxcbiAgICAgICAgU2lkZUJhbm5lckNvbXBvbmVudCxcbiAgICAgICAgUGFzc3dvcmRJbnB1dENvbXBvbmVudCxcbiAgICAgICAgVGVybWluYXRvckZvcm1Db21wb25lbnQsXG4gICAgICAgIENvbmZpZ3VyYXRpb25zUGFnZUNvbXBvbmVudCxcbiAgICAgICAgQ29uZmlnVHlwZXNQYWdlQ29tcG9uZW50LFxuICAgICAgICBDb25maWdUeXBlRm9ybUNvbXBvbmVudCxcbiAgICAgICAgTGlzdFBhZ2VIZWFkZXJDb21wb25lbnQsXG4gICAgICAgIEZpbHRlckJhckNvbXBvbmVudCxcbiAgICAgICAgTGlzdFBhZ2VGb3JtQ29tcG9uZW50LFxuICAgICAgICBJZGVudGl0aWVzUGFnZUNvbXBvbmVudCxcbiAgICAgICAgRWRnZVJvdXRlcnNQYWdlQ29tcG9uZW50LFxuICAgICAgICBUcmFuc2l0Um91dGVyc1BhZ2VDb21wb25lbnQsXG4gICAgICAgIERhdGFUYWJsZUNvbXBvbmVudCxcbiAgICAgICAgVGFibGVDZWxsU2VsZWN0Q29tcG9uZW50LFxuICAgICAgICBUYWJsZUNvbHVtblNlbGVjdENvbXBvbmVudCxcbiAgICAgICAgVGFibGVDZWxsTWVudUNvbXBvbmVudCxcbiAgICAgICAgVGFibGVDb2x1bW5NZW51Q29tcG9uZW50LFxuICAgICAgICBUYWJsZUNvbHVtbkRlZmF1bHRDb21wb25lbnQsXG4gICAgICAgIFRhYmxlQ29sdW1uRmlsdGVyQ29tcG9uZW50LFxuICAgICAgICBJZGVudGl0eUZvcm1Db21wb25lbnQsXG4gICAgICAgIEVkZ2VSb3V0ZXJGb3JtQ29tcG9uZW50LFxuICAgICAgICBUcmFuc2l0Um91dGVyRm9ybUNvbXBvbmVudCxcbiAgICAgICAgSGlkZGVuQ29sdW1uc0JhckNvbXBvbmVudCxcbiAgICAgICAgRmlsdGVyQmFyQ29tcG9uZW50LFxuICAgICAgICBFeHRlbmRhYmxlQ29tcG9uZW50LFxuICAgICAgICBDb25maXJtQ29tcG9uZW50LFxuICAgICAgICBOb0l0ZW1zQ29tcG9uZW50LFxuICAgICAgICBTaWRlTW9kYWxDb21wb25lbnQsXG4gICAgICAgIEZvcm1IZWFkZXJDb21wb25lbnQsXG4gICAgICAgIEZvcm1GaWVsZENvbnRhaW5lckNvbXBvbmVudCxcbiAgICAgICAgUHJldmlld0xpc3RDb21wb25lbnQsXG4gICAgICAgIExvYWRpbmdJbmRpY2F0b3JDb21wb25lbnQsXG4gICAgICAgIEZvcm1GaWVsZFRvZ2dsZUNvbXBvbmVudCxcbiAgICAgICAgSnNvblZpZXdDb21wb25lbnQsXG4gICAgICAgIFRhZ1NlbGVjdG9yQ29tcG9uZW50LFxuICAgICAgICBRckNvZGVDb21wb25lbnQsXG4gICAgICAgIFRhYmxlQ2VsbFRva2VuQ29tcG9uZW50LFxuICAgICAgICBPU1Rvb2x0aXBDb21wb25lbnQsXG4gICAgICAgIFNES1Rvb2x0aXBDb21wb25lbnQsXG4gICAgICAgIE92ZXJyaWRlc0NvbXBvbmVudCxcbiAgICAgICAgUmVzZXRFbnJvbGxtZW50Q29tcG9uZW50LFxuICAgICAgICBJZGVudGl0eVNlcnZpY2VQYXRoQ29tcG9uZW50LFxuICAgICAgICBOZXR3b3JrVmlzdWFsaXplckNvbXBvbmVudCxcbiAgICAgICAgQ3VzdG9tVGFnc0NvbXBvbmVudCxcbiAgICAgICAgU2VydmljZXNQYWdlQ29tcG9uZW50LFxuICAgICAgICBTZXJ2aWNlRm9ybUNvbXBvbmVudCxcbiAgICAgICAgUG9ydFJhbmdlc0NvbXBvbmVudCxcbiAgICAgICAgRm9yd2FyZGluZ0NvbmZpZ0NvbXBvbmVudCxcbiAgICAgICAgQ2FyZExpc3RDb21wb25lbnQsXG4gICAgICAgIFNpbXBsZVNlcnZpY2VDb21wb25lbnQsXG4gICAgICAgIENhcmRDb21wb25lbnQsXG4gICAgICAgIENyZWF0aW9uU3VtbWFyeURpYWxvZ0NvbXBvbmVudCxcbiAgICAgICAgQ29uZmlnRWRpdG9yQ29tcG9uZW50LFxuICAgICAgICBTZXJ2aWNlUG9saWNpZXNQYWdlQ29tcG9uZW50LFxuICAgICAgICBTZXJ2aWNlUG9saWN5Rm9ybUNvbXBvbmVudCxcbiAgICAgICAgRWRnZVJvdXRlclBvbGljaWVzUGFnZUNvbXBvbmVudCxcbiAgICAgICAgRWRnZVJvdXRlclBvbGljeUZvcm1Db21wb25lbnQsXG4gICAgICAgIE11bHRpQWN0aW9uQnV0dG9uQ29tcG9uZW50LFxuICAgICAgICBUYWJsZUNlbGxOYW1lQ29tcG9uZW50LFxuICAgICAgICBTZXJ2aWNlRWRnZVJvdXRlclBvbGljaWVzUGFnZUNvbXBvbmVudCxcbiAgICAgICAgU2VydmljZUVkZ2VSb3V0ZXJQb2xpY3lGb3JtQ29tcG9uZW50LFxuICAgICAgICBUZXJtaW5hdG9yc1BhZ2VDb21wb25lbnQsXG4gICAgICAgIFRlcm1pbmF0b3JGb3JtQ29tcG9uZW50LFxuICAgICAgICBDb25maWd1cmF0aW9uRm9ybUNvbXBvbmVudCxcbiAgICAgICAgSnd0U2lnbmVyc1BhZ2VDb21wb25lbnQsXG4gICAgICAgIEp3dFNpZ25lckZvcm1Db21wb25lbnQsXG4gICAgICAgIEF1dGhQb2xpY2llc1BhZ2VDb21wb25lbnQsXG4gICAgICAgIEF1dGhQb2xpY3lGb3JtQ29tcG9uZW50LFxuICAgICAgICBQcmV2aWV3U2VsZWN0aW9uc0NvbXBvbmVudCxcbiAgICAgICAgQ2VydGlmaWNhdGVBdXRob3JpdGllc1BhZ2VDb21wb25lbnQsXG4gICAgICAgIENlcnRpZmljYXRlQXV0aG9yaXR5Rm9ybUNvbXBvbmVudCxcbiAgICAgICAgVmVyaWZ5Q2VydGlmaWNhdGVDb21wb25lbnQsXG4gICAgICAgIExvZ2luRGlhbG9nQ29tcG9uZW50LFxuICAgICAgICBQb3N0dXJlQ2hlY2tzUGFnZUNvbXBvbmVudCxcbiAgICAgICAgUG9zdHVyZUNoZWNrRm9ybUNvbXBvbmVudCxcbiAgICAgICAgU2Vzc2lvbnNQYWdlQ29tcG9uZW50LFxuICAgICAgICBTZXNzaW9uRm9ybUNvbXBvbmVudCxcbiAgICAgICAgQVBJU2Vzc2lvbnNQYWdlQ29tcG9uZW50LFxuICAgICAgICBBUElTZXNzaW9uRm9ybUNvbXBvbmVudCxcbiAgICAgICAgQ2FsbGJhY2tDb21wb25lbnRcbiAgICBdLFxuICAgIGltcG9ydHM6IFtcbiAgICAgICAgQ29tbW9uTW9kdWxlLFxuICAgICAgICBGb3Jtc01vZHVsZSxcbiAgICAgICAgTWF0RGlhbG9nTW9kdWxlLFxuICAgICAgICBNYXRSYWRpb01vZHVsZSxcbiAgICAgICAgSHR0cENsaWVudE1vZHVsZSxcbiAgICAgICAgWmFjUm91dGluZ01vZHVsZSxcbiAgICAgICAgQ2hpcHNNb2R1bGUsXG4gICAgICAgIENhbGVuZGFyTW9kdWxlLFxuICAgICAgICBBZ0dyaWRNb2R1bGUsXG4gICAgICAgIFFSQ29kZU1vZHVsZSxcbiAgICAgICAgQ2xpY2tPdXRzaWRlTW9kdWxlLFxuICAgICAgICBOZ0pzb25FZGl0b3JNb2R1bGUsXG4gICAgICAgIE1hdFRvb2x0aXBNb2R1bGUsXG4gICAgICAgIE1hdEF1dG9jb21wbGV0ZU1vZHVsZSxcbiAgICAgICAgTG90dGllTW9kdWxlLmZvclJvb3Qoe3BsYXllcjogcGxheWVyRmFjdG9yeX0pLFxuICAgICAgICBEcm9wZG93bk1vZHVsZVxuICAgIF0sXG4gICAgZXhwb3J0czogW1xuICAgICAgICBaYWNXcmFwcGVyQ29tcG9uZW50LFxuICAgICAgICBFeHRlbmRhYmxlQ29tcG9uZW50LFxuICAgICAgICBTaWRlVG9vbGJhckNvbXBvbmVudCxcbiAgICAgICAgU2lkZU5hdmJhckNvbXBvbmVudCxcbiAgICAgICAgU2lkZUJhbm5lckNvbXBvbmVudCxcbiAgICAgICAgU3RyaW5nSW5wdXRDb21wb25lbnQsXG4gICAgICAgIFNlbGVjdG9ySW5wdXRDb21wb25lbnQsXG4gICAgICAgIFBhc3N3b3JkSW5wdXRDb21wb25lbnQsXG4gICAgICAgIE51bWJlcklucHV0Q29tcG9uZW50LFxuICAgICAgICBCb29sZWFuVG9nZ2xlSW5wdXRDb21wb25lbnQsXG4gICAgICAgIE9iamVjdENvbXBvbmVudCxcbiAgICAgICAgVGV4dExpc3RJbnB1dENvbXBvbmVudCxcbiAgICAgICAgSWRlbnRpdHlTZXJ2aWNlUGF0aENvbXBvbmVudCxcbiAgICAgICAgTmV0d29ya1Zpc3VhbGl6ZXJDb21wb25lbnQsXG4gICAgICAgIENoZWNrYm94TGlzdElucHV0Q29tcG9uZW50LFxuICAgICAgICBQcm90b2NvbEFkZHJlc3NQb3J0SW5wdXRDb21wb25lbnQsXG4gICAgICAgIENvbmZpZ3VyYXRpb25zUGFnZUNvbXBvbmVudCxcbiAgICAgICAgQ29uZmlndXJhdGlvbkZvcm1Db21wb25lbnQsXG4gICAgICAgIENvbmZpZ1R5cGVzUGFnZUNvbXBvbmVudCxcbiAgICAgICAgQ29uZmlnVHlwZUZvcm1Db21wb25lbnQsXG4gICAgICAgIEVkZ2VSb3V0ZXJGb3JtQ29tcG9uZW50LFxuICAgICAgICBUcmFuc2l0Um91dGVyRm9ybUNvbXBvbmVudCxcbiAgICAgICAgSWRlbnRpdGllc1BhZ2VDb21wb25lbnQsXG4gICAgICAgIEVkZ2VSb3V0ZXJzUGFnZUNvbXBvbmVudCxcbiAgICAgICAgVHJhbnNpdFJvdXRlcnNQYWdlQ29tcG9uZW50LFxuICAgICAgICBTZXJ2aWNlc1BhZ2VDb21wb25lbnQsXG4gICAgICAgIFphY1JvdXRpbmdNb2R1bGUsXG4gICAgICAgIFNpZGVNb2RhbENvbXBvbmVudCxcbiAgICAgICAgSWRlbnRpdHlGb3JtQ29tcG9uZW50LFxuICAgICAgICBMb2FkaW5nSW5kaWNhdG9yQ29tcG9uZW50LFxuICAgICAgICBHcm93bGVyTW9kdWxlLFxuICAgICAgICBGb3JtRmllbGRDb250YWluZXJDb21wb25lbnQsXG4gICAgICAgIEZvcm1GaWVsZFRvZ2dsZUNvbXBvbmVudCxcbiAgICAgICAgU2VydmljZUZvcm1Db21wb25lbnQsXG4gICAgICAgIFNlcnZpY2VQb2xpY2llc1BhZ2VDb21wb25lbnQsXG4gICAgICAgIFNlcnZpY2VQb2xpY3lGb3JtQ29tcG9uZW50LFxuICAgICAgICBFZGdlUm91dGVyUG9saWNpZXNQYWdlQ29tcG9uZW50LFxuICAgICAgICBUZXJtaW5hdG9yc1BhZ2VDb21wb25lbnQsXG4gICAgICAgIFRlcm1pbmF0b3JGb3JtQ29tcG9uZW50LFxuICAgICAgICBKd3RTaWduZXJzUGFnZUNvbXBvbmVudCxcbiAgICAgICAgSnd0U2lnbmVyRm9ybUNvbXBvbmVudCxcbiAgICAgICAgQXV0aFBvbGljaWVzUGFnZUNvbXBvbmVudCxcbiAgICAgICAgQXV0aFBvbGljeUZvcm1Db21wb25lbnQsXG4gICAgICAgIExvZ2luRGlhbG9nQ29tcG9uZW50LFxuICAgICAgICBQb3N0dXJlQ2hlY2tzUGFnZUNvbXBvbmVudCxcbiAgICAgICAgUG9zdHVyZUNoZWNrRm9ybUNvbXBvbmVudCxcbiAgICAgICAgU2Vzc2lvbnNQYWdlQ29tcG9uZW50LFxuICAgICAgICBTZXNzaW9uRm9ybUNvbXBvbmVudCxcbiAgICAgICAgQVBJU2Vzc2lvbnNQYWdlQ29tcG9uZW50LFxuICAgICAgICBBUElTZXNzaW9uRm9ybUNvbXBvbmVudCxcbiAgICAgICAgQ2FsbGJhY2tDb21wb25lbnQsXG4gICAgICAgIEZvcm1IZWFkZXJDb21wb25lbnQsXG4gICAgICAgIEpzb25WaWV3Q29tcG9uZW50XG4gICAgXSxcbiAgICBwcm92aWRlcnM6IFtcbiAgICAgICAge3Byb3ZpZGU6IFNIQVJFRFpfRVhURU5TSU9OLCB1c2VDbGFzczogRXh0ZW5zaW9uc05vb3BTZXJ2aWNlfSxcbiAgICAgICAge3Byb3ZpZGU6IFpJVElfTkFWSUdBVE9SLCB1c2VWYWx1ZToge319LFxuICAgICAgICB7XG4gICAgICAgICAgICBwcm92aWRlOiBBUFBfSU5JVElBTElaRVIsXG4gICAgICAgICAgICB1c2VGYWN0b3J5OiBvbkFwcEluaXQsXG4gICAgICAgICAgICBkZXBzOiBbSW5qZWN0b3JdLFxuICAgICAgICAgICAgbXVsdGk6IHRydWVcbiAgICAgICAgfSxcbiAgICBdLFxufSlcbmV4cG9ydCBjbGFzcyBPcGVuWml0aUNvbnNvbGVMaWJNb2R1bGUge1xufVxuIl19
|