tango-app-ui-shared 3.7.17 → 3.7.19
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/modules/layout/header/ai-echo-header/ai-echo-header.component.mjs +34 -0
- package/esm2022/lib/modules/layout/header/brands-header/brands-header.component.mjs +3 -3
- package/esm2022/lib/modules/layout/layout/layout.component.mjs +8 -4
- package/esm2022/lib/modules/layout/layout.module.mjs +4 -1
- package/esm2022/lib/modules/layout/sidebar/sidebar-menu/sidebar-menu.component.mjs +12 -3
- package/esm2022/lib/modules/layout/toolbar/toolbar.component.mjs +6 -3
- package/esm2022/lib/routes/route-wraper-modules/manage-wrapper.module.mjs +1 -2
- package/esm2022/lib/services/auth.service.mjs +4 -1
- package/fesm2022/tango-app-ui-shared-intro.module-OrLn8VLx.mjs.map +1 -1
- package/fesm2022/tango-app-ui-shared-manage-wrapper.module-BHyh4Njw.mjs.map +1 -1
- package/fesm2022/tango-app-ui-shared-notification.module-B7aDUhCZ.mjs.map +1 -1
- package/fesm2022/tango-app-ui-shared.mjs +58 -8
- package/fesm2022/tango-app-ui-shared.mjs.map +1 -1
- package/lib/modules/layout/header/ai-echo-header/ai-echo-header.component.d.ts +15 -0
- package/lib/modules/layout/layout/layout.component.d.ts +1 -1
- package/lib/modules/layout/layout.module.d.ts +14 -13
- package/lib/modules/layout/sidebar/sidebar-menu/sidebar-menu.component.d.ts +2 -0
- package/lib/services/auth.service.d.ts +1 -0
- package/package.json +1 -1
|
@@ -179,8 +179,11 @@ export class ToolbarComponent {
|
|
|
179
179
|
// else if (url[2] === 'ai-audio' && url[3] !== 'audio' && url[3] !== 'transcript') {
|
|
180
180
|
// this.setUIProperties(true, false, false, false, false,false,false,false,false,false,false,false);
|
|
181
181
|
// }
|
|
182
|
+
else if (url[2] === 'ai-audio' && url[3] === 'echo') {
|
|
183
|
+
this.setUIProperties(false, false, false, false, false, true, false, false, false, false, false, false);
|
|
184
|
+
}
|
|
182
185
|
else if (URL == "/profile" || url[2] === "data-mismatch" || url[2] === "employeetraining"
|
|
183
|
-
|| URL == "/manage/brands" || URL == "/manage/billing
|
|
186
|
+
|| URL == "/manage/brands" || URL == "/manage/billing" || url[2] === 'ai-audio' && url[3] !== 'audio' && url[3] !== 'transcript' || URL == "/manage/ai-audio/transcript" || URL == "/manage/ai-audio/audio" || URL == "/manage/users/tango" || (url[1] === "tickets" && url[2] === "audit") || url.includes('list')) {
|
|
184
187
|
this.setUIProperties(false, false, false, false, false, false, false, false, false, false, false, false);
|
|
185
188
|
}
|
|
186
189
|
else if (URL == "/manage/traffic/nob") {
|
|
@@ -273,7 +276,7 @@ export class ToolbarComponent {
|
|
|
273
276
|
else if (URL == "/manage/traffic/nob") {
|
|
274
277
|
this.setUIProperties(false, false, false, false, false, false, false, false, false, true, false, false);
|
|
275
278
|
}
|
|
276
|
-
else if (url[2] === "traffic" || url[2] === "zones" || URL == "/manage/analyse/reports" || (url[2] === 'ai-audio' && (url[3] === 'audio' || url[3] === 'transcript'))) {
|
|
279
|
+
else if (url[2] === "traffic" || url[2] === "zones" || URL == "/manage/analyse/reports" || (url[2] === 'ai-audio' && (url[3] === 'audio' || url[3] === 'transcript' || url[3] === 'echo'))) {
|
|
277
280
|
this.setUIProperties(false, false, false, false, false, true, false, false, false, false, false, false);
|
|
278
281
|
}
|
|
279
282
|
else if (URL == "/manage/employee-metrics/beeahGroup" || URL == "/manage/employee-metrics/beeahLive") {
|
|
@@ -363,4 +366,4 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.3.12", ngImpo
|
|
|
363
366
|
}], appToolbarLayout: [{
|
|
364
367
|
type: Input
|
|
365
368
|
}] } });
|
|
366
|
-
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidG9vbGJhci5jb21wb25lbnQuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy90YW5nby1hcHAtc2hhcmVkL3NyYy9saWIvbW9kdWxlcy9sYXlvdXQvdG9vbGJhci90b29sYmFyLmNvbXBvbmVudC50cyIsIi4uLy4uLy4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL3RhbmdvLWFwcC1zaGFyZWQvc3JjL2xpYi9tb2R1bGVzL2xheW91dC90b29sYmFyL3Rvb2xiYXIuY29tcG9uZW50Lmh0bWwiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFFLFNBQVMsRUFBRSxLQUFLLEVBQXFCLE1BQU0sZUFBZSxDQUFDO0FBRXBFLE9BQU8sRUFBRSxPQUFPLEVBQXdCLE1BQU0sTUFBTSxDQUFDOzs7Ozs7Ozs7Ozs7Ozs7Ozs7O0FBY3JELE1BQU0sT0FBTyxnQkFBZ0I7SUFrRGpCO0lBQ0E7SUFDQTtJQUNEO0lBQ0M7SUFyREYsV0FBVyxHQUFtQixFQUFFLENBQUM7SUFFekMsZUFBZTtJQUNOLGlCQUFpQixDQUFvQjtJQUNyQyxnQkFBZ0IsQ0FLZDtJQUVYLFVBQVU7SUFDVixpQkFBaUIsQ0FBVTtJQUMzQixtQkFBbUIsQ0FBb0I7SUFDdkMsMkJBQTJCLEdBQVcsRUFBRSxDQUFDO0lBQ3pDLHNCQUFzQixDQUFVO0lBQ2hDLHFCQUFxQixDQUFVO0lBQy9CLG1CQUFtQixDQUFVO0lBRTdCLGFBQWE7SUFDYixxQkFBcUIsR0FBVyxFQUFFLENBQUM7SUFDbkMsb0JBQW9CLEdBQVcsRUFBRSxDQUFDO0lBQ2xDLHNCQUFzQixDQUFVO0lBQ2hDLHVCQUF1QixDQUFVO0lBQ2pDLFVBQVUsQ0FBTTtJQUNoQixZQUFZLENBQVU7SUFDdEIsV0FBVyxDQUFVO0lBQ3JCLFVBQVUsQ0FBVTtJQUNwQixzQkFBc0IsQ0FBVTtJQUNoQyxXQUFXLENBQVU7SUFDckIsV0FBVyxDQUFNO0lBQ2pCLE9BQU8sQ0FBTTtJQUNiLEtB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O1NBQ2hDLENBQUE7UUFDRCxJQUFHLE1BQU0sRUFBQztZQUNSLElBQUksQ0FBQyxJQUFJLENBQUMsY0FBYyxDQUFDLEdBQUcsQ0FBQyxDQUFDLFNBQVMsQ0FBQztnQkFDdEMsSUFBSSxFQUFFLENBQUMsQ0FBQyxFQUFFLEVBQUU7b0JBQ1YsWUFBWSxDQUFDLE9BQU8sQ0FDbEIsaUJBQWlCLEVBQ2pCLElBQUksQ0FBQyxTQUFTLENBQUMsQ0FBQyxFQUFFLElBQUksRUFBRSxhQUFhLElBQUksRUFBRSxDQUFDLENBQzdDLENBQUM7Z0JBQ0osQ0FBQzthQUNGLENBQUMsQ0FBQTtTQUNIO0lBQ0gsQ0FBQzt3R0E5WFksZ0JBQWdCOzRGQUFoQixnQkFBZ0IsNklDaEI3QixnZ0hBOERBOzs0RkQ5Q2EsZ0JBQWdCO2tCQUw1QixTQUFTOytCQUNFLGFBQWE7K0xBUWQsaUJBQWlCO3NCQUF6QixLQUFLO2dCQUNHLGdCQUFnQjtzQkFBeEIsS0FBSyIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IENvbXBvbmVudCwgSW5wdXQsIE9uRGVzdHJveSwgT25Jbml0IH0gZnJvbSBcIkBhbmd1bGFyL2NvcmVcIjtcclxuaW1wb3J0IHsgQWN0aXZhdGVkUm91dGUsIFJvdXRlciB9IGZyb20gXCJAYW5ndWxhci9yb3V0ZXJcIjtcclxuaW1wb3J0IHsgU3ViamVjdCwgU3Vic2NyaXB0aW9uLCB3aW5kb3cgfSBmcm9tIFwicnhqc1wiO1xyXG5pbXBvcnQge1xyXG4gIEdsb2JhbFN0YXRlU2VydmljZSxcclxuICBMYXlvdXRTZXJ2aWNlLFxyXG4gIFBhZ2VJbmZvU2VydmljZSxcclxufSBmcm9tIFwidGFuZ28tYXBwLXVpLWdsb2JhbFwiO1xyXG5pbXBvcnQgeyBJTGF5b3V0LCBMYXlvdXRUeXBlIH0gZnJvbSBcInRhbmdvLWFwcC11aS1nbG9iYWxcIjtcclxuaW1wb3J0IHsgQXV0aFNlcnZpY2UgfSBmcm9tIFwiLi4vLi4vLi4vc2VydmljZXMvYXV0aC5zZXJ2aWNlXCI7XHJcblxyXG5AQ29tcG9uZW50KHtcclxuICBzZWxlY3RvcjogXCJsaWItdG9vbGJhclwiLFxyXG4gIHRlbXBsYXRlVXJsOiBcIi4vdG9vbGJhci5jb21wb25lbnQuaHRtbFwiLFxyXG4gIHN0eWxlVXJsczogW1wiLi90b29sYmFyLmNvbXBvbmVudC5zY3NzXCJdLFxyXG59KVxyXG5leHBvcnQgY2xhc3MgVG9vbGJhckNvbXBvbmVudCBpbXBsZW1lbnRzIE9uSW5pdCwgT25EZXN0cm95IHtcclxuICBwcml2YXRlIHVuc3Vic2NyaWJlOiBTdWJzY3JpcHRpb25bXSA9IFtdO1xyXG5cclxuICAvLyBQdWJsaWMgcHJvcHNcclxuICBASW5wdXQoKSBjdXJyZW50TGF5b3V0VHlwZTogTGF5b3V0VHlwZSB8IG51bGw7XHJcbiAgQElucHV0KCkgYXBwVG9vbGJhckxheW91dDpcclxuICAgIHwgXCJjbGFzc2ljXCJcclxuICAgIHwgXCJhY2NvdW50aW5nXCJcclxuICAgIHwgXCJleHRlbmRlZFwiXHJcbiAgICB8IFwicmVwb3J0c1wiXHJcbiAgICB8IFwic2Fhc1wiO1xyXG5cclxuICAvLyB0b29sYmFyXHJcbiAgYXBwVG9vbGJhckRpc3BsYXk6IGJvb2xlYW47XHJcbiAgYXBwVG9vbGJhckNvbnRhaW5lcjogXCJmaXhlZFwiIHwgXCJmbHVpZFwiO1xyXG4gIGFwcFRvb2xiYXJDb250YWluZXJDU1NDbGFzczogc3RyaW5nID0gXCJcIjtcclxuICBhcHBUb29sYmFyRml4ZWREZXNrdG9wOiBib29sZWFuO1xyXG4gIGFwcFRvb2xiYXJGaXhlZE1vYmlsZTogYm9vbGVhbjtcclxuICBhcHBQYWdlVGl0bGVEaXNwbGF5OiBib29sZWFuO1xyXG5cclxuICAvLyBwYWdlIHRpdGxlXHJcbiAgYXBwUGFnZVRpdGxlRGlyZWN0aW9uOiBzdHJpbmcgPSBcIlwiO1xyXG4gIGFwcFBhZ2VUaXRsZUNTU0NsYXNzOiBzdHJpbmcgPSBcIlwiO1xyXG4gIGFwcFBhZ2VUaXRsZUJyZWFkY3J1bWI6IGJvb2xlYW47XHJcbiAgYXBwUGFnZVRpdGxlRGVzY3JpcHRpb246IGJvb2xlYW47XHJcbiAgcXVlclBhcmFtczogYW55O1xyXG4gIHNpbmdsZVNlbGVjdDogYm9vbGVhbjtcclxuICBtdWx0aVNlbGVjdDogYm9vbGVhbjtcclxuICBkYXRlcGlja2VyOiBib29sZWFuO1xyXG4gIHNpbmdsZVNlbGVjdGRhdGVwaWNrZXI6IGJvb2xlYW47XHJcbiAgc2luZ2xlU3RvcmU6IGJvb2xlYW47XHJcbiAgaGVhZGVydmFsdWU6IGFueTtcclxuICBzdG9yZUlkOiBhbnk7XHJcbiAgdXNlcnM6IGFueTtcclxuICBzZWxlY3RlZEZpbHRlcnM6IGFueSA9IHtcclxuICAgIGNsaWVudDogbnVsbCxcclxuICAgIGNsaWVudHM6IFtdLFxyXG4gICAgc3RvcmU6IG51bGwsXHJcbiAgICBzdG9yZXM6IFtdLFxyXG4gICAgZGF0ZTogbnVsbCxcclxuICB9O1xyXG4gIHRyYWZmaWNkYXRlcGlja2VyOiBib29sZWFuO1xyXG4gIHRyYXhkYXRlcGlja2VyOiBib29sZWFuO1xyXG4gIHVybFN0cmluZzphbnk7XHJcbiAgdHJheHdpdGhvdXRkYXRlcGlja2VyOmJvb2xlYW47XHJcbiAgc3RvcmVzU2luZ2xlOmJvb2xlYW47XHJcbiAgbm9iV2l0aG91dENsaWVudDpib29sZWFuO1xyXG4gIG1lcnRpY3NIZWFkZXI6IGJvb2xlYW47XHJcbiAgc2luZ2xlQ2xpZW50U3RvcmVEYXRlOmJvb2xlYW47XHJcbiAgY29uc3RydWN0b3IoXHJcbiAgICBwcml2YXRlIGxheW91dDogTGF5b3V0U2VydmljZSxcclxuICAgIHByaXZhdGUgcm91dGVyOiBSb3V0ZXIsXHJcbiAgICBwcml2YXRlIHJvdXRlOiBBY3RpdmF0ZWRSb3V0ZSxcclxuICAgIHB1YmxpYyBnczogR2xvYmFsU3RhdGVTZXJ2aWNlLFxyXG4gICAgcHJpdmF0ZSBhdXRoIDogQXV0aFNlcnZpY2VcclxuICApIHt9XHJcblxyXG4gIG5nT25Jbml0KCk6IHZvaWQge1xyXG4gICAgaWYgKFwidXNlci1pbmZvXCIgaW4gbG9jYWxTdG9yYWdlKSB7XHJcbiAgICAgIGNvbnN0IHVzZXJEYXRhOiBhbnkgPSBKU09OLnBhcnNlKFxyXG4gICAgICAgIGxvY2FsU3RvcmFnZS5nZXRJdGVtKFwidXNlci1pbmZvXCIpIHx8IFwie31cIlxyXG4gICAgICApO1xyXG4gICAgICB0aGlzLnVzZXJzID0gdXNlckRhdGE7XHJcbiAgICB9XHJcbiAgICBpZiAoXCJoZWFkZXItZmlsdGVyc1wiIGluIGxvY2FsU3RvcmFnZSkge1xyXG4gICAgICBjb25zdCBkYXRhOiBhbnkgPSBKU09OLnBhcnNlKFxyXG4gICAgICAgIGxvY2FsU3RvcmFnZS5nZXRJdGVtKFwiaGVhZGVyLWZpbHRlcnNcIikgfHwgXCJ7fVwiXHJcbiAgICAgICk7XHJcbiB0aGlzLmNsaWVudCA9IGRhdGE/LmNsaWVudDtcclxuICAgIH1cclxuICAgIHRoaXMuZ2V0VXNlckluZm8odGhpcy5jbGllbnQgPyB0aGlzLmNsaWVudCA6IHRoaXMudXNlcnMuY2xpZW50KVxyXG4gICAgdGhpcy5zaG93UGFnZVRpdGxlKCk7XHJcbiAgICBjb25zdCBzdWJzY3IgPSB0aGlzLmxheW91dC5sYXlvdXRDb25maWdTdWJqZWN0XHJcbiAgICAgIC5hc09ic2VydmFibGUoKVxyXG4gICAgICAuc3Vic2NyaWJlKChjb25maWc6IElMYXlvdXQpID0+IHtcclxuICAgICAgICB0aGlzLnVwZGF0ZVByb3BzKGNvbmZpZyk7XHJcbiAgICAgIH0pO1xyXG4gICAgdGhpcy51bnN1YnNjcmliZS5wdXNoKHN1YnNjcik7XHJcbiAgfVxyXG5cclxuICB1cGRhdGVQcm9wcyhjb25maWc6IElMYXlvdXQpIHtcclxuICAgIHRoaXMuYXBwVG9vbGJhckRpc3BsYXkgPSB0aGlzLmxheW91dC5nZXRQcm9wKFxyXG4gICAgICBcImFwcC50b29sYmFyLmRpc3BsYXlcIixcclxuICAgICAgY29uZmlnXHJcbiAgICApIGFzIGJvb2xlYW47XHJcbiAgICBpZiAoIXRoaXMuYXBwVG9vbGJhckRpc3BsYXkpIHtcclxuICAgICAgcmV0dXJuO1xyXG4gICAgfVxyXG5cclxuICAgIHRoaXMuYXBwUGFnZVRpdGxlRGlzcGxheSA9IHRoaXMubGF5b3V0LmdldFByb3AoXHJcbiAgICAgIFwiYXBwLnBhZ2VUaXRsZS5kaXNwbGF5XCIsXHJcbiAgICAgIGNvbmZpZ1xyXG4gICAgKSBhcyBib29sZWFuO1xyXG4gICAgdGhpcy5hcHBUb29sYmFyQ29udGFpbmVyID0gdGhpcy5sYXlvdXQuZ2V0UHJvcChcclxuICAgICAgXCJhcHAudG9vbGJhci5jb250YWluZXJcIixcclxuICAgICAgY29uZmlnXHJcbiAgICApIGFzIFwiZmx1aWRcIiB8IFwiZml4ZWRcIjtcclxuICAgIHRoaXMuYXBwVG9vbGJhckNvbnRhaW5lckNTU0NsYXNzID1cclxuICAgICAgdGhpcy5hcHBUb29sYmFyQ29udGFpbmVyID09PSBcImZpeGVkXCJcclxuICAgICAgICA/IFwiY29udGFpbmVyLXh4bFwiXHJcbiAgICAgICAgOiBcImNvbnRhaW5lci1mbHVpZFwiO1xyXG4gICAgY29uc3QgY29udGFpbmVyQ2xhc3MgPSB0aGlzLmxheW91dC5nZXRQcm9wKFxyXG4gICAgICBcImFwcC50b29sYmFyLmNvbnRhaW5lckNsYXNzXCIsXHJcbiAgICAgIGNvbmZpZ1xyXG4gICAgKSBhcyBzdHJpbmc7XHJcbiAgICBpZiAoY29udGFpbmVyQ2xhc3MpIHtcclxuICAgICAgdGhpcy5hcHBUb29sYmFyQ29udGFpbmVyQ1NTQ2xhc3MgKz0gYCAke2NvbnRhaW5lckNsYXNzfWA7XHJcbiAgICB9XHJcblxyXG4gICAgdGhpcy5hcHBUb29sYmFyRml4ZWREZXNrdG9wID0gdGhpcy5sYXlvdXQuZ2V0UHJvcChcclxuICAgICAgXCJhcHAudG9vbGJhci5maXhlZC5kZXNrdG9wXCIsXHJcbiAgICAgIGNvbmZpZ1xyXG4gICAgKSBhcyBib29sZWFuO1xyXG4gICAgaWYgKHRoaXMuYXBwVG9vbGJhckZpeGVkRGVza3RvcCkge1xyXG4gICAgICBkb2N1bWVudC5ib2R5LnNldEF0dHJpYnV0ZShcImRhdGEta3QtYXBwLXRvb2xiYXItZml4ZWRcIiwgXCJ0cnVlXCIpO1xyXG4gICAgfVxyXG5cclxuICAgIHRoaXMuYXBwVG9vbGJhckZpeGVkTW9iaWxlID0gdGhpcy5sYXlvdXQuZ2V0UHJvcChcclxuICAgICAgXCJhcHAudG9vbGJhci5maXhlZC5tb2JpbGVcIixcclxuICAgICAgY29uZmlnXHJcbiAgICApIGFzIGJvb2xlYW47XHJcbiAgICBpZiAodGhpcy5hcHBUb29sYmFyRml4ZWRNb2JpbGUpIHtcclxuICAgICAgZG9jdW1lbnQuYm9keS5zZXRBdHRyaWJ1dGUoXCJkYXRhLWt0LWFwcC10b29sYmFyLWZpeGVkLW1vYmlsZVwiLCBcInRydWVcIik7XHJcbiAgICB9XHJcblxyXG4gICAgLy8gdG9vbGJhclxyXG4gICAgdGhpcy5hcHBQYWdlVGl0bGVEaXJlY3Rpb24gPSB0aGlzLmxheW91dC5nZXRQcm9wKFxyXG4gICAgICBcImFwcC5wYWdlVGl0bGUuZGlyZWN0aW9uXCIsXHJcbiAgICAgIGNvbmZpZ1xyXG4gICAgKSBhcyBzdHJpbmc7XHJcbiAgICB0aGlzLmFwcFBhZ2VUaXRsZUNTU0NsYXNzID0gdGhpcy5sYXlvdXQuZ2V0UHJvcChcclxuICAgICAgXCJhcHAucGFnZVRpdGxlLmNsYXNzXCIsXHJcbiAgICAgIGNvbmZpZ1xyXG4gICAgKSBhcyBzdHJpbmc7XHJcbiAgICB0aGlzLmFwcFBhZ2VUaXRsZUJyZWFkY3J1bWIgPSB0aGlzLmxheW91dC5nZXRQcm9wKFxyXG4gICAgICBcImFwcC5wYWdlVGl0bGUuYnJlYWRDcnVtYlwiLFxyXG4gICAgICBjb25maWdcclxuICAgICkgYXMgYm9vbGVhbjtcclxuICAgIHRoaXMuYXBwUGFnZVRpdGxlRGVzY3JpcHRpb24gPSB0aGlzLmxheW91dC5nZXRQcm9wKFxyXG4gICAgICBcImFwcC5wYWdlVGl0bGUuZGVzY3JpcHRpb25cIixcclxuICAgICAgY29uZmlnXHJcbiAgICApIGFzIGJvb2xlYW47XHJcblxyXG4gICAgZG9jdW1lbnQuYm9keS5zZXRBdHRyaWJ1dGUoXCJkYXRhLWt0LWFwcC10b29sYmFyLWVuYWJsZWRcIiwgXCJ0cnVlXCIpO1xyXG4gIH1cclxuICBwcml2YXRlIHJlYWRvbmx5IGRlc3Ryb3kkID0gbmV3IFN1YmplY3QoKTtcclxuICBuZ09uRGVzdHJveSgpIHtcclxuICAgIHRoaXMudW5zdWJzY3JpYmUuZm9yRWFjaCgoc2IpID0+IHNiLnVuc3Vic2NyaWJlKCkpO1xyXG4gICAgdGhpcy5kZXN0cm95JC5uZXh0KHRydWUpO1xyXG4gICAgdGhpcy5kZXN0cm95JC5jb21wbGV0ZSgpO1xyXG4gICAgLy8gbG9jYWxTdG9yYWdlLnJlbW92ZUl0ZW0oXCJ1c2Vyc0VtYWlsLWluZm9cIik7XHJcbiAgfVxyXG4gIGNsaWVudDphbnk7XHJcbiAgdXJsU3RyaW5nMTphbnk7XHJcbiAgc2hvd1BhZ2VUaXRsZSgpIHtcclxuICAgIGxldCBVUkw6IHN0cmluZyA9IFwiXCI7XHJcbiAgICBpZiAoXCJoZWFkZXItZmlsdGVyc1wiIGluIGxvY2FsU3RvcmFnZSkge1xyXG4gICAgICBjb25zdCBkYXRhOiBhbnkgPSBKU09OLnBhcnNlKFxyXG4gICAgICAgIGxvY2FsU3RvcmFnZS5nZXRJdGVtKFwiaGVhZGVyLWZpbHRlcnNcIikgfHwgXCJ7fVwiXHJcbiAgICAgICk7XHJcbiAgICAgY29uc3Qgc3RvcmUgPSAgdGhpcy5yb3V0ZS5zbmFwc2hvdC5xdWVyeVBhcmFtTWFwIGFzIGFueSAgICAgIFxyXG4gICAgICB0aGlzLnN0b3JlSWQgPSAgZGF0YT8uc3RvcmU7XHJcblxyXG4gICAgICBpZihzdG9yZT8ucGFyYW1zPy5bJ3N0b3JlSWQnXSl7XHJcbiAgICAgICAgdGhpcy5zdG9yZUlkID0gc3RvcmUucGFyYW1zWydzdG9yZUlkJ11cclxuICAgICAgICBkYXRhLnN0b3JlID0gc3RvcmUucGFyYW1zWydzdG9yZUlkJ11cclxuICAgICAgICBsb2NhbFN0b3JhZ2Uuc2V0SXRlbSgnaGVhZGVyLWZpbHRlcnMnLCBKU09OLnN0cmluZ2lmeShkYXRhKSlcclxuICAgICAgfVxyXG4gICAgICBjb25zdCBjdXJyZW50VXJsID0gdGhpcy5yb3V0ZXIudXJsO1xyXG4gICAgICBjb25zdCB1cGRhdGVkVXJsID0gY3VycmVudFVybC5yZXBsYWNlKFxyXG4gICAgICAgIC9cXC9tYW5hZ2VcXC9zdG9yZXNcXC9cXGQrLVxcZCtcXC8vLFxyXG4gICAgICAgIGAvbWFuYWdlL3N0b3Jlcy9gXHJcbiAgICAgICk7XHJcbiAgICAgIFVSTCA9IHVwZGF0ZWRVcmw7XHJcbiAgICAgIC8vIHRoaXMucm91dGVyLm5hdmlnYXRlKFtVUkxdKVxyXG4gICAgfVxyXG4gIGNvbnN0IHVybCA9IFVSTC5zcGxpdChcIj9cIilbMF0uc3BsaXQoJy8nKTtcclxuICB0aGlzLnVybFN0cmluZyA9IFVSTDtcclxuICAgdGhpcy51cmxTdHJpbmcxPSBVUkwuc3BsaXQoJy8nKTtcclxuICBpZiAodGhpcy51c2Vycz8udXNlclR5cGUgPT09IFwidGFuZ29cIikge1xyXG4gICAgaWYgKHVybFsyXSA9PSBcInNldHRpbmdzXCIgfHwgVVJMID09IFwiL21hbmFnZS91c2Vycy9jbGllbnRcInx8VVJMID09IFwiL21hbmFnZS9iaWxsaW5nL2JyYW5kLWludm9pY2VzXCJ8fFVSTCA9PSBcIi9tYW5hZ2UvYmlsbGluZy9zZXR1cC1iaWxsaW5nXCJ8fFxyXG4gICAgVVJMID09IFwiL21hbmFnZS9zdG9yZXNcIiB8fCAgVVJMID09PSBcIi9tYW5hZ2Uvc3RvcmVzP3R5cGU9c3RvcmVzXCIgfHwgVVJMID09PSBcIi9tYW5hZ2Uvc3RvcmVzP3R5cGU9Y2x1c3RlcnNcIiB8fFxyXG4gICAgVVJMID09IFwiL21hbmFnZS9zdG9yZXMvYWRkaXRpb24tbWV0aG9kXCIgfHxcclxuICAgIFVSTCA9PSBcIi9tYW5hZ2Uvc3RvcmVzL2FkZC1zaW5nbGUtc3RvcmVcIiB8fCBVUkwgPT09IFwiL21hbmFnZS90cmF4L2dhbGxlcnlcIiB8fCBVUkwgPT0gXCIvbm90aWZpY2F0aW9ucy9hbGVydHM/dGFiPWFsZXJ0XCIgfHwgIFVSTCA9PSBcIi9ub3RpZmljYXRpb25zL2FsZXJ0cz90YWI9ZG93bmxvYWRcIiB8fCBVUkwgPT09IFwiL21hbmFnZS90cmF4L2F1ZGl0XCIgKSB7XHJcbiAgICAgIHRoaXMuc2V0VUlQcm9wZXJ0aWVzKHRydWUsIGZhbHNlLCBmYWxzZSwgZmFsc2UsIGZhbHNlLGZhbHNlLGZhbHNlLGZhbHNlLGZhbHNlLGZhbHNlLGZhbHNlLGZhbHNlKTtcclxuICAgIH0gIGVsc2UgaWYgKHVybFszXSA9PSBcImVkZ2UtYXBwXCIpIHtcclxuICAgICAgdGhpcy5zZXRVSVByb3BlcnRpZXMoZmFsc2UsIGZhbHNlLCBmYWxzZSwgZmFsc2UsIHRydWUsZmFsc2UsZmFsc2UsZmFsc2UsZmFsc2UsZmFsc2UsZmFsc2UsZmFsc2UpO1xyXG4gICAgfSBlbHNlIGlmIChcclxuICAgICAgVVJMID09IGAvbWFuYWdlL3N0b3Jlcy9pbmZyYS10aWNrZXQ/c3RvcmVJZD0ke3RoaXMuc3RvcmVJZH1gIHx8ICBVUkwgPT0gYC9tYW5hZ2Uvc3RvcmVzL2luZnJhLXRpY2tldD9zdG9yZUlkPSR7dGhpcy5zdG9yZUlkfSZ0eXBlPWluZnJhYCB8fFxyXG4gICAgICBVUkwgPT0gYC9tYW5hZ2Uvc3RvcmVzL3NldHRpbmdzP3N0b3JlSWQ9JHt0aGlzLnN0b3JlSWR9YCB8fCBVUkwgPT0gYC9tYW5hZ2Uvc3RvcmVzL2luZnJhLXRpY2tldD9zdG9yZUlkPSR7dGhpcy5zdG9yZUlkfSZ0eXBlPWRhdGFNaXNtYXRjaGAgfHxcclxuICAgICAgVVJMID09IGAvbWFuYWdlL3N0b3Jlcy96b25lcz9zdG9yZUlkPSR7dGhpcy5zdG9yZUlkfWAgfHxcclxuICAgICAgVVJMID09IGAvbWFuYWdlL3N0b3Jlcy9jYW1lcmFzP3N0b3JlSWQ9JHt0aGlzLnN0b3JlSWR9YCB8fFxyXG4gICAgICAvLyBVUkwgPT0gYC9tYW5hZ2Uvc3RvcmVzL2luZnJhc3RydWN0dXJlP3N0b3JlSWQ9JHt0aGlzLnN0b3JlSWR9YCB8fFxyXG4gICAgICBVUkwgPT0gYC9tYW5hZ2Uvc3RvcmVzL21hdD9zdG9yZUlkPSR7dGhpcy5zdG9yZUlkfWBcclxuICAgICkge1xyXG4gICAgICB0aGlzLnNldFVJUHJvcGVydGllcyhmYWxzZSwgZmFsc2UsIGZhbHNlLCB0cnVlLCBmYWxzZSxmYWxzZSxmYWxzZSxmYWxzZSxmYWxzZSxmYWxzZSxmYWxzZSxmYWxzZSk7XHJcbiAgICB9ZWxzZSBpZiAoVVJMID09IFwiL3RpY2tldHMvc3RvcmVzXCIgfHwgVVJMID09IFwiL21hbmFnZS91c2Vycy90YW5nby9hdWRpdFwiKSB7XHJcbiAgICAgIHRoaXMuc2V0VUlQcm9wZXJ0aWVzKGZhbHNlLCBmYWxzZSwgdHJ1ZSwgZmFsc2UsIGZhbHNlLCBmYWxzZSwgZmFsc2UsIGZhbHNlLCBmYWxzZSwgZmFsc2UsZmFsc2UsZmFsc2UpO1xyXG4gICAgfVxyXG4gICAgZWxzZSBpZih1cmxbMl0gPT09ICdjb250cm9sY2VudGVyJyl7XHJcbiAgICAgIGlmKFVSTCA9PSBgL21hbmFnZS9jb250cm9sY2VudGVyL3BsYXliYWNrP3N0b3JlSWQ9JHt0aGlzLnN0b3JlSWR9YHx8IFVSTCA9PSBgL21hbmFnZS9jb250cm9sY2VudGVyL3BsYXliYWNrYCl7XHJcbiAgICAgICAgdGhpcy5zZXRVSVByb3BlcnRpZXMoZmFsc2UsIGZhbHNlLCBmYWxzZSwgZmFsc2UsZmFsc2UsZmFsc2UsZmFsc2UsZmFsc2UsdHJ1ZSxmYWxzZSxmYWxzZSxmYWxzZSk7XHJcbiAgICAgIH1cclxuICAgICAgZWxzZSB7XHJcbiAgICAgIHRoaXMuc2V0VUlQcm9wZXJ0aWVzKGZhbHNlLCBmYWxzZSwgZmFsc2UsIGZhbHNlLHRydWUsZmFsc2UsZmFsc2UsZmFsc2UsZmFsc2UsZmFsc2UsZmFsc2UsZmFsc2UpO1xyXG4gICAgfSBcclxuICB9XHJcbiAgLy8gZWxzZSBpZiAodXJsWzJdID09PSAnYWktYXVkaW8nICYmIHVybFszXSAhPT0gJ2F1ZGlvJyAmJiB1cmxbM10gIT09ICd0cmFuc2NyaXB0Jykge1xyXG4gIC8vICAgICB0aGlzLnNldFVJUHJvcGVydGllcyh0cnVlLCBmYWxzZSwgZmFsc2UsIGZhbHNlLCBmYWxzZSxmYWxzZSxmYWxzZSxmYWxzZSxmYWxzZSxmYWxzZSxmYWxzZSxmYWxzZSk7XHJcbiAgLy8gICB9IFxyXG4gICAgZWxzZSBpZiAoVVJMID09IFwiL3Byb2ZpbGVcIiB8fCB1cmxbMl09PT1cImRhdGEtbWlzbWF0Y2hcIiB8fCB1cmxbMl09PT1cImVtcGxveWVldHJhaW5pbmdcIlxyXG4gICAgICAgfHwgVVJMID09IFwiL21hbmFnZS9icmFuZHNcInx8VVJMID09IFwiL21hbmFnZS9iaWxsaW5nL2JyYW5kcy1iaWxsaW5nXCIgfHwgdXJsWzJdID09PSAnYWktYXVkaW8nICYmIHVybFszXSAhPT0gJ2F1ZGlvJyAmJiB1cmxbM10gIT09ICd0cmFuc2NyaXB0J3x8IFVSTCA9PSBcIi9tYW5hZ2UvYWktYXVkaW8vdHJhbnNjcmlwdFwiIHx8VVJMID09IFwiL21hbmFnZS9haS1hdWRpby9hdWRpb1wiICB8fCAgVVJMID09IFwiL21hbmFnZS91c2Vycy90YW5nb1wiIHx8ICh1cmxbMV0gPT09XCJ0aWNrZXRzXCIgJiYgdXJsWzJdID09PSBcImF1ZGl0XCIpIHx8IHVybC5pbmNsdWRlcygnbGlzdCcpKSB7XHJcbiAgICAgIHRoaXMuc2V0VUlQcm9wZXJ0aWVzKGZhbHNlLCBmYWxzZSwgZmFsc2UsIGZhbHNlLCBmYWxzZSxmYWxzZSxmYWxzZSxmYWxzZSxmYWxzZSxmYWxzZSxmYWxzZSxmYWxzZSk7XHJcbiAgICB9IGVsc2UgaWYoVVJMID09IFwiL21hbmFnZS90cmFmZmljL25vYlwiKXtcclxuICAgICAgdGhpcy5zZXRVSVByb3BlcnRpZXMoZmFsc2UsIGZhbHNlLCBmYWxzZSwgZmFsc2UsZmFsc2UsZmFsc2UsZmFsc2UsZmFsc2UsZmFsc2UsdHJ1ZSxmYWxzZSxmYWxzZSk7XHJcbiAgICB9IFxyXG4gICAgZWxzZSBpZih1cmxbMl0gPT09IFwidHJhZmZpY1wiIHx8IHVybFsyXSA9PT0gXCJ6b25lc1wiIHx8IFVSTCA9PSBcIi9tYW5hZ2UvYW5hbHlzZS9yZXBvcnRzXCIpe1xyXG4gICAgICAgIHRoaXMuc2V0VUlQcm9wZXJ0aWVzKGZhbHNlLCBmYWxzZSwgZmFsc2UsIGZhbHNlLGZhbHNlLHRydWUsZmFsc2UsZmFsc2UsZmFsc2UsZmFsc2UsZmFsc2UsZmFsc2UpO1xyXG4gICAgfVxyXG4gICAgZWxzZSBpZihVUkwgPT0gXCIvbWFuYWdlL2VtcGxveWVlLW1ldHJpY3MvYmVlYWhHcm91cFwiIHx8IFVSTCA9PSBcIi9tYW5hZ2UvZW1wbG95ZWUtbWV0cmljcy9iZWVhaExpdmVcIil7XHJcbiAgICAgICAgdGhpcy5zZXRVSVByb3BlcnRpZXMoZmFsc2UsIGZhbHNlLCBmYWxzZSwgZmFsc2UsZmFsc2UsZmFsc2UsZmFsc2UsZmFsc2UsZmFsc2UsZmFsc2UsZmFsc2UsdHJ1ZSk7XHJcbiAgICB9IGVsc2UgaWYodXJsWzJdID09PSBcImVtcGxveWVlLW1ldHJpY3NcIiAmJiB1cmxbM10gPT09IFwiaGVhdG1hcFwiKXtcclxuICAgICAgICB0aGlzLnNldFVJUHJvcGVydGllcyhmYWxzZSwgZmFsc2UsIGZhbHNlLCBmYWxzZSxmYWxzZSxmYWxzZSxmYWxzZSxmYWxzZSx0cnVlLGZhbHNlLGZhbHNlLGZhbHNlKTtcclxuICAgIH0gZWxzZSBpZih1cmxbMl0gPT09IFwiZW1wbG95ZWUtbWV0cmljc1wiKXtcclxuICAgICAgICB0aGlzLnNldFVJUHJvcGVydGllcyhmYWxzZSwgZmFsc2UsIGZhbHNlLCBmYWxzZSxmYWxzZSxmYWxzZSxmYWxzZSxmYWxzZSxmYWxzZSxmYWxzZSx0cnVlLGZhbHNlKTtcclxuICAgIH0gZWxzZSBpZih1cmxbMl0gPT0gJ3RyYXgnKXtcclxuICAgICAgaWYodXJsWzJdID09ICd0cmF4JyAmJiAodXJsLmluY2x1ZGVzKCdjcmVhdGVDaGVja2xpc3QnKSB8fCB1cmwuaW5jbHVkZXMoJ2NvbmZpZ3VyZScpIHx8IHVybC5pbmNsdWRlcygnY3JlYXRlLW9yZGVyJyl8fCB1cmxbM10gPT0gJ2NyZWF0ZS10YXNrJyB8fCB1cmxbM10gPT0gJ3Rhc2stY29uZmlndXJlJykpIHtcclxuICAgICAgICB0aGlzLnNldFVJUHJvcGVydGllcyhmYWxzZSwgZmFsc2UsIGZhbHNlLCBmYWxzZSxmYWxzZSxmYWxzZSxmYWxzZSxmYWxzZSxmYWxzZSxmYWxzZSxmYWxzZSxmYWxzZSk7XHJcbiAgICAgIH0gXHJcbiAgICAgIC8vIGVsc2UgaWYodXJsWzJdID09ICd0cmF4JyAmJiAodXJsLmluY2x1ZGVzKCd0YXNraW5mbycpKSl7XHJcbiAgICAgIC8vICAgdGhpcy5zZXRVSVByb3BlcnRpZXMoZmFsc2UsIGZhbHNlLCBmYWxzZSwgZmFsc2UsZmFsc2UsZmFsc2UsZmFsc2UsdHJ1ZSxmYWxzZSxmYWxzZSxmYWxzZSxmYWxzZSk7XHJcbiAgICAgIC8vIH1cclxuICAgICAgZWxzZSBpZih1cmxbMl0gPT0gJ3RyYXgnICYmIHVybC5pbmNsdWRlcygnc3RhcnQnKSl7XHJcbiAgICAgICAgdGhpcy5zZXRVSVByb3BlcnRpZXMoZmFsc2UsIGZhbHNlLCBmYWxzZSwgZmFsc2UsIGZhbHNlLGZhbHNlLGZhbHNlLGZhbHNlLGZhbHNlLGZhbHNlLGZhbHNlLGZhbHNlKTtcclxuICAgICAgfVxyXG4gICAgICBlbHNlIGlmKHVybFsyXSA9PSAndHJheCcgJiYgKHVybC5pbmNsdWRlcygnY2hlY2tsaXN0JykgfHwgdXJsLmluY2x1ZGVzKCdnYWxsZXJ5JykpIHx8IHVybC5pbmNsdWRlcygnYXVkaXQnKSkge1xyXG4gICAgICAgIHRoaXMuc2V0VUlQcm9wZXJ0aWVzKHRydWUsIGZhbHNlLCBmYWxzZSwgZmFsc2UsZmFsc2UsZmFsc2UsZmFsc2UsZmFsc2UsZmFsc2UsZmFsc2UsZmFsc2UsZmFsc2UpO1xyXG4gICAgICB9ICAgZWxzZSB7XHJcbiAgICAgIHRoaXMuc2V0VUlQcm9wZXJ0aWVzKGZhbHNlLCBmYWxzZSwgZmFsc2UsIGZhbHNlLGZhbHNlLGZhbHNlLHRydWUsZmFsc2UsZmFsc2UsZmFsc2UsZmFsc2UsZmFsc2UpO1xyXG4gICAgICB9XHJcbiAgICB9IGVsc2UgaWYodXJsWzJdID09ICdwbGFub2dyYW0nKXtcclxuICAgICAgaWYodXJsWzJdID09ICdwbGFub2dyYW0nICYmICh1cmwuaW5jbHVkZXMoJ2xheW91dC1idWlsZGVyJykpKSB7XHJcbiAgICAgICAgdGhpcy5zZXRVSVByb3BlcnRpZXMoZmFsc2UsIGZhbHNlLCBmYWxzZSwgZmFsc2UsZmFsc2UsZmFsc2UsZmFsc2UsZmFsc2UsZmFsc2UsZmFsc2UsZmFsc2UsZmFsc2UpO1xyXG4gICAgICB9ZWxzZSB7XHJcbiAgICAgICAgaWYodXJsWzJdID09ICdwbGFub2dyYW0nICYmICh1cmxbM10gPT0gJ21hbmFnZS1wbGFub2dyYW0nIHx8IHVybFszXSA9PSAnbWFuYWdlLXJvbGxvdXQnKSkge1xyXG4gICAgICAgICAgdGhpcy5zZXRVSVByb3BlcnRpZXMoZmFsc2UsZmFsc2UsZmFsc2UsZmFsc2UsZmFsc2UsZmFsc2UsZmFsc2UsZmFsc2UsZmFsc2UsZmFsc2UsZmFsc2UsZmFsc2UpO1xyXG4gICAgICAgIH1cclxuICAgICAgICBlbHNlIHtcclxuICAgICAgICAgIHRoaXMuc2V0VUlQcm9wZXJ0aWVzKHRydWUsIGZhbHNlLCBmYWxzZSwgZmFsc2UsZmFsc2UsZmFsc2UsZmFsc2UsZmFsc2UsZmFsc2UsZmFsc2UsZmFsc2UsZmFsc2UpO1xyXG4gICAgICAgIH1cclxuICAgICAgfVxyXG4gICAgfSBlbHNlIGlmKHVybFsxXSA9PSAnZXlldGVzdCcgKXtcclxuICAgICAgICB0aGlzLnNldFVJUHJvcGVydGllcyhmYWxzZSwgZmFsc2UsIGZhbHNlLCBmYWxzZSxmYWxzZSxmYWxzZSxmYWxzZSxmYWxzZSxmYWxzZSxmYWxzZSxmYWxzZSxmYWxzZSk7XHJcbiBcclxuICAgIH1lbHNle1xyXG4gICAgICBpZih1cmxbM10gPT0gJ3BsYW5vJykge1xyXG4gICAgICAgIHRoaXMuc2V0VUlQcm9wZXJ0aWVzKGZhbHNlLCBmYWxzZSwgZmFsc2UsIHRydWUsIGZhbHNlLGZhbHNlLGZhbHNlLGZhbHNlLGZhbHNlLGZhbHNlLGZhbHNlLGZhbHNlKTtcclxuICAgICAgfVxyXG4gICAgICBlbHNlIHtcclxuICAgICAgdGhpcy5zZXRVSVByb3BlcnRpZXMoZmFsc2UsIGZhbHNlLCBmYWxzZSwgZmFsc2UsdHJ1ZSxmYWxzZSxmYWxzZSxmYWxzZSxmYWxzZSxmYWxzZSxmYWxzZSxmYWxzZSk7XHJcbiAgICAgIH1cclxuICAgIH1cclxuICB9IGVsc2Uge1xyXG4gICAgaWYgKHVybFszXSA9PSBcImVkZ2UtYXBwXCIgKSB7XHJcbiAgICAgIHRoaXMuc2V0VUlQcm9wZXJ0aWVzKGZhbHNlLCBmYWxzZSwgdHJ1ZSwgZmFsc2UsIGZhbHNlLGZhbHNlLGZhbHNlLGZhbHNlLGZhbHNlLGZhbHNlLGZhbHNlLGZhbHNlKTtcclxuICAgIH0gZWxzZSBpZiAoXHJcbiAgICAgIFVSTCA9PSBgL21hbmFnZS9zdG9yZXMvaW5mcmEtdGlja2V0P3N0b3JlSWQ9JHt0aGlzLnN0b3JlSWR9YCB8fCAgVVJMID09IGAvbWFuYWdlL3N0b3Jlcy9pbmZyYS10aWNrZXQ/c3RvcmVJZD0ke3RoaXMuc3RvcmVJZH0mdHlwZT1pbmZyYWAgfHxcclxuICAgICAgVVJMID09IGAvbWFuYWdlL3N0b3Jlcy9zZXR0aW5ncz9zdG9yZUlkPSR7dGhpcy5zdG9yZUlkfWAgfHwgVVJMID09IGAvbWFuYWdlL3N0b3Jlcy9pbmZyYS10aWNrZXQ/c3RvcmVJZD0ke3RoaXMuc3RvcmVJZH0mdHlwZT1kYXRhTWlzbWF0Y2hgIHx8XHJcbiAgICAgIFVSTCA9PSBgL21hbmFnZS9zdG9yZXMvem9uZXM/c3RvcmVJZD0ke3RoaXMuc3RvcmVJZH1gIHx8XHJcbiAgICAgIFVSTCA9PSBgL21hbmFnZS9zdG9yZXMvY2FtZXJhcz9zdG9yZUlkPSR7dGhpcy5zdG9yZUlkfWAgfHxcclxuICAgICAgLy8gVVJMID09IGAvbWFuYWdlL3N0b3Jlcy9pbmZyYXN0cnVjdHVyZT9zdG9yZUlkPSR7dGhpcy5zdG9yZUlkfWAgfHxcclxuICAgICAgVVJMID09IGAvbWFuYWdlL3N0b3Jlcy9tYXQ/c3RvcmVJZD0ke3RoaXMuc3RvcmVJZH1gXHJcbiAgICApIHtcclxuICAgICAgdGhpcy5zZXRVSVByb3BlcnRpZXMoZmFsc2UsIGZhbHNlLCBmYWxzZSwgdHJ1ZSwgZmFsc2UsZmFsc2UsZmFsc2UsZmFsc2UsZmFsc2UsZmFsc2UsZmFsc2UsZmFsc2UpO1xyXG4gICAgfSBlbHNlIGlmKHVybFsyXSA9PT0gJ2NvbnRyb2xjZW50ZXInKXtcclxuICAgICAgaWYoVVJMID09IGAvbWFuYWdlL2NvbnRyb2xjZW50ZXIvcGxheWJhY2s/c3RvcmVJZD0ke3RoaXMuc3RvcmVJZH1gfHwgVVJMID09IGAvbWFuYWdlL2NvbnRyb2xjZW50ZXIvcGxheWJhY2tgKXtcclxuICAgICAgICB0aGlzLnNldFVJUHJvcGVydGllcyhmYWxzZSwgZmFsc2UsIGZhbHNlLCBmYWxzZSxmYWxzZSxmYWxzZSxmYWxzZSxmYWxzZSx0cnVlLGZhbHNlLGZhbHNlLGZhbHNlKTtcclxuICAgICAgfVxyXG4gICAgICBlbHNlIHtcclxuICAgICAgdGhpcy5zZXRVSVByb3BlcnRpZXMoZmFsc2UsIGZhbHNlLCBmYWxzZSwgZmFsc2UsdHJ1ZSxmYWxzZSxmYWxzZSxmYWxzZSxmYWxzZSxmYWxzZSxmYWxzZSxmYWxzZSk7XHJcbiAgICB9IFxyXG4gIH0gXHJcbiAgLy8gZWxzZSBpZiAodXJsWzJdID09PSAnYWktYXVkaW8nICYmIHVybFszXSAhPT0gJ2F1ZGlvJyAmJiB1cmxbM10gIT09ICd0cmFuc2NyaXB0Jykge1xyXG4gIC8vICAgICB0aGlzLnNldFVJUHJvcGVydGllcyhmYWxzZSwgZmFsc2UsIGZhbHNlLCBmYWxzZSwgZmFsc2UsZmFsc2UsZmFsc2UsZmFsc2UsZmFsc2UsZmFsc2UsZmFsc2UsZmFsc2UpO1xyXG4gIC8vICAgfSBcclxuICAgIGVsc2UgaWYgKFVSTCA9PSBcIi9wcm9maWxlXCIgfHwgVVJMID09IFwiL21hbmFnZS91c2Vycy9jbGllbnRcIiB8fCBVUkwgPT0gXCIvbWFuYWdlL3VzZXJzL3RhbmdvXCIgfHxcclxuICAgIFVSTCA9PSBcIi9tYW5hZ2Uvc3RvcmVzXCIgfHwgIFVSTCA9PT0gXCIvbWFuYWdlL3N0b3Jlcz90eXBlPXN0b3Jlc1wiIHx8IFVSTCA9PT0gXCIvbWFuYWdlL3N0b3Jlcz90eXBlPWNsdXN0ZXJzXCIgfHwgdXJsWzJdID09IFwic2V0dGluZ3NcIiB8fFxyXG4gICAgVVJMID09IFwiL21hbmFnZS9zdG9yZXMvYWRkaXRpb24tbWV0aG9kXCIgfHxcclxuICAgIFVSTCA9PSBcIi9tYW5hZ2Uvc3RvcmVzL2FkZC1zaW5nbGUtc3RvcmVcIiB8fCB1cmxbMl09PT1cImRhdGEtbWlzbWF0Y2hcIiB8fCB1cmxbMl09PT1cImVtcGxveWVldHJhaW5pbmdcIiAgfHwgVVJMID09IFwiL25vdGlmaWNhdGlvbnMvYWxlcnRzP3RhYj1hbGVydFwiIHx8ICBVUkwgPT0gXCIvbm90aWZpY2F0aW9ucy9hbGVydHM/dGFiPWRvd25sb2FkXCJcclxuICAgICB8fCBVUkwgPT0gXCIvbWFuYWdlL3VzZXJzL3RhbmdvXCIgfHwgVVJMID09PSBcIi9tYW5hZ2UvY29udHJvbGNlbnRlclwiIHx8IFVSTCA9PT0nbWFuYWdlL2NvbnRyb2xjZW50ZXIvdGVtcGxhdGUtbWFuYWdlcicgfHwgdXJsWzJdPT09J2NvbnRyb2xjZW50ZXInIHx8ICB1cmwuaW5jbHVkZXMoJ2xpc3QnKSkge1xyXG4gICAgICB0aGlzLnNldFVJUHJvcGVydGllcyhmYWxzZSwgZmFsc2UsIGZhbHNlLCBmYWxzZSwgZmFsc2UsZmFsc2UsZmFsc2UsZmFsc2UsZmFsc2UsZmFsc2UsZmFsc2UsZmFsc2UpO1xyXG4gICAgfWVsc2UgaWYoVVJMID09IFwiL21hbmFnZS90cmFmZmljL25vYlwiKXtcclxuICAgICAgdGhpcy5zZXRVSVByb3BlcnRpZXMoZmFsc2UsIGZhbHNlLCBmYWxzZSwgZmFsc2UsZmFsc2UsZmFsc2UsZmFsc2UsZmFsc2UsZmFsc2UsdHJ1ZSxmYWxzZSxmYWxzZSk7XHJcbiAgICB9IGVsc2UgaWYodXJsWzJdID09PSBcInRyYWZmaWNcIiB8fCB1cmxbMl0gPT09IFwiem9uZXNcIiB8fCBVUkwgPT0gXCIvbWFuYWdlL2FuYWx5c2UvcmVwb3J0c1wiIHx8ICh1cmxbMl0gPT09ICdhaS1hdWRpbycgJiYgKHVybFszXSA9PT0gJ2F1ZGlvJyB8fCB1cmxbM10gPT09ICd0cmFuc2NyaXB0JykpKXtcclxuICAgICAgICB0aGlzLnNldFVJUHJvcGVydGllcyhmYWxzZSwgZmFsc2UsIGZhbHNlLCBmYWxzZSxmYWxzZSx0cnVlLGZhbHNlLGZhbHNlLGZhbHNlLGZhbHNlLGZhbHNlLGZhbHNlKTtcclxuICAgIH1lbHNlIGlmKFVSTCA9PSBcIi9tYW5hZ2UvZW1wbG95ZWUtbWV0cmljcy9iZWVhaEdyb3VwXCIgfHwgVVJMID09IFwiL21hbmFnZS9lbXBsb3llZS1tZXRyaWNzL2JlZWFoTGl2ZVwiKXtcclxuICAgICAgICAgdGhpcy5zZXRVSVByb3BlcnRpZXMoZmFsc2UsIGZhbHNlLCBmYWxzZSwgdHJ1ZSwgZmFsc2UsZmFsc2UsZmFsc2UsZmFsc2UsZmFsc2UsZmFsc2UsZmFsc2UsZmFsc2UpO1xyXG4gICAgfSBlbHNlIGlmKHVybFsyXSA9PT0gXCJlbXBsb3llZS1tZXRyaWNzXCIgJiYgdXJsWzNdID09PSBcImhlYXRtYXBcIil7XHJcbiAgICAgICAgdGhpcy5zZXRVSVByb3BlcnRpZXMoZmFsc2UsIGZhbHNlLCBmYWxzZSwgZmFsc2UsZmFsc2UsZmFsc2UsZmFsc2UsZmFsc2UsdHJ1ZSxmYWxzZSxmYWxzZSxmYWxzZSk7XHJcbiAgICB9IGVsc2UgaWYodXJsWzJdID09PSBcImVtcGxveWVlLW1ldHJpY3NcIil7XHJcbiAgICAgICAgdGhpcy5zZXRVSVByb3BlcnRpZXMoZmFsc2UsIGZhbHNlLCBmYWxzZSwgZmFsc2UsZmFsc2UsZmFsc2UsZmFsc2UsZmFsc2UsZmFsc2UsZmFsc2UsdHJ1ZSxmYWxzZSk7XHJcbiAgICB9IGVsc2UgaWYodXJsWzJdID09ICd0cmF4Jyl7XHJcbiAgICAgIGlmKHVybFsyXSA9PSAndHJheCcgJiYgKHVybC5pbmNsdWRlcygnY3JlYXRlQ2hlY2tsaXN0JykgfHwgdXJsLmluY2x1ZGVzKCdjb25maWd1cmUnKSB8fCB1cmwuaW5jbHVkZXMoJ2NyZWF0ZS1vcmRlcicpIHx8IHVybFszXSA9PSAnY3JlYXRlLXRhc2snIHx8IHVybFszXSA9PSAndGFzay1jb25maWd1cmUnKSkge1xyXG4gICAgICAgIHRoaXMuc2V0VUlQcm9wZXJ0aWVzKGZhbHNlLCBmYWxzZSwgZmFsc2UsIGZhbHNlLGZhbHNlLGZhbHNlLGZhbHNlLGZhbHNlLGZhbHNlLGZhbHNlLGZhbHNlLGZhbHNlKTtcclxuICAgICAgfVxyXG4gICAgICAvLyBlbHNlIGlmKHVybFsyXSA9PSAndHJheCcgJiYgKHVybC5pbmNsdWRlcygndGFza2luZm8nKSkpe1xyXG4gICAgICAvLyAgIHRoaXMuc2V0VUlQcm9wZXJ0aWVzKGZhbHNlLCBmYWxzZSwgZmFsc2UsIGZhbHNlLGZhbHNlLGZhbHNlLGZhbHNlLHRydWUsZmFsc2UsZmFsc2UsZmFsc2UsZmFsc2UpO1xyXG4gICAgICAvLyB9XHJcbiAgICAgIGVsc2UgaWYodXJsWzJdID09ICd0cmF4JyAmJiB1cmwuaW5jbHVkZXMoJ3N0YXJ0Jykpe1xyXG4gICAgICAgIHRoaXMuc2V0VUlQcm9wZXJ0aWVzKGZhbHNlLCBmYWxzZSwgZmFsc2UsIGZhbHNlLCBmYWxzZSxmYWxzZSxmYWxzZSxmYWxzZSxmYWxzZSxmYWxzZSxmYWxzZSxmYWxzZSk7XHJcbiAgICAgIH1cclxuICAgICAgZWxzZSBpZih1cmxbMl0gPT0gJ3RyYXgnICYmICh1cmwuaW5jbHVkZXMoJ2NoZWNrbGlzdCcpIHx8IHVybC5pbmNsdWRlcygnZ2FsbGVyeScpIHx8IHVybC5pbmNsdWRlcygnYXVkaXQnKSkpIHtcclxuICAgICAgICB0aGlzLnNldFVJUHJvcGVydGllcyh0cnVlLCBmYWxzZSwgZmFsc2UsIGZhbHNlLGZhbHNlLGZhbHNlLGZhbHNlLGZhbHNlLGZhbHNlLGZhbHNlLGZhbHNlLGZhbHNlKTtcclxuICAgICAgfSAgIGVsc2Uge1xyXG4gICAgICB0aGlzLnNldFVJUHJvcGVydGllcyhmYWxzZSwgZmFsc2UsIGZhbHNlLCBmYWxzZSxmYWxzZSxmYWxzZSx0cnVlLGZhbHNlLGZhbHNlLGZhbHNlLGZhbHNlLGZhbHNlKTtcclxuICAgICAgfVxyXG4gICAgfSBlbHNlIGlmKHVybFsyXSA9PSAncGxhbm9ncmFtJyl7XHJcbiAgICAgIGlmKHVybFsyXSA9PSAncGxhbm9ncmFtJyAmJiAodXJsLmluY2x1ZGVzKCdsYXlvdXQtYnVpbGRlcicpKSkge1xyXG4gICAgICAgIHRoaXMuc2V0VUlQcm9wZXJ0aWVzKGZhbHNlLCBmYWxzZSwgZmFsc2UsIGZhbHNlLGZhbHNlLGZhbHNlLGZhbHNlLGZhbHNlLGZhbHNlLGZhbHNlLGZhbHNlLGZhbHNlKTtcclxuICAgICAgfSBlbHNlIHtcclxuICAgICAgICB0aGlzLnNldFVJUHJvcGVydGllcyh0cnVlLCBmYWxzZSwgZmFsc2UsIGZhbHNlLGZhbHNlLGZhbHNlLGZhbHNlLGZhbHNlLGZhbHNlLGZhbHNlLGZhbHNlLGZhbHNlKTtcclxuICAgICAgfVxyXG4gICAgfSBlbHNlIGlmKHVybFsxXSA9PSAnZXlldGVzdCcgKXtcclxuICAgICAgICB0aGlzLnNldFVJUHJvcGVydGllcyhmYWxzZSwgZmFsc2UsIGZhbHNlLCBmYWxzZSxmYWxzZSxmYWxzZSxmYWxzZSxmYWxzZSxmYWxzZSxmYWxzZSxmYWxzZSxmYWxzZSk7XHJcbiBcclxuICAgIH1lbHNlIHtcclxuICAgICAgaWYgKHVybFszXSA9PSBcInBsYW5vXCIpIHtcclxuICAgICAgICB0aGlzLnNldFVJUHJvcGVydGllcyhmYWxzZSxmYWxzZSxmYWxzZSx0cnVlLGZhbHNlLGZhbHNlLGZhbHNlLGZhbHNlLGZhbHNlLGZhbHNlLGZhbHNlLGZhbHNlKTtcclxuICAgICAgfSBlbHNlIHtcclxuICAgICAgICB0aGlzLnNldFVJUHJvcGVydGllcyhmYWxzZSwgZmFsc2UsIHRydWUsIGZhbHNlLCBmYWxzZSxmYWxzZSxmYWxzZSxmYWxzZSxmYWxzZSxmYWxzZSxmYWxzZSxmYWxzZSk7XHJcbiAgICAgIH1cclxuICAgIH1cclxuICB9XHJcbiAgY29uc3Qgdmlld3NXaXRoUGFnZVRpdGxlcyA9IFtcImNsYXNzaWNcIiwgXCJyZXBvcnRzXCIsIFwic2Fhc1wiXTtcclxuICByZXR1cm4gKFxyXG4gICAgdGhpcy5hcHBQYWdlVGl0bGVEaXNwbGF5ICYmXHJcbiAgICB2aWV3c1dpdGhQYWdlVGl0bGVzLnNvbWUoKHQpID0+IHQgPT09IHRoaXMuYXBwVG9vbGJhckxheW91dClcclxuICApO1xyXG59XHJcblxyXG5zZXRVSVByb3BlcnRpZXMoXHJcbiAgc2luZ2xlU2VsZWN0OiBib29sZWFuLFxyXG4gIG11bHRpU2VsZWN0OiBib29sZWFuLFxyXG4gIGRhdGVwaWNrZXI6IGJvb2xlYW4sXHJcbiAgc2luZ2xlU3RvcmU6IGJvb2xlYW4sXHJcbiAgc2luZ2xlU2VsZWN0ZGF0ZXBpY2tlcjogYm9vbGVhbixcclxuICB0cmFmZmljZGF0ZXBpY2tlcjpib29sZWFuLFxyXG4gIHRyYXhkYXRlcGlja2VyOmJvb2xlYW4sXHJcbiAgdHJheHdpdGhvdXRkYXRlcGlja2VyOmJvb2xlYW4sXHJcbiAgc3RvcmVzU2luZ2xlOmJvb2xlYW4sXHJcbiAgbm9iV2l0aG91dENsaWVudDpib29sZWFuLFxyXG4gIG1lcnRpY3NIZWFkZXI6Ym9vbGVhbixcclxuICBzaW5nbGVDbGllbnRTdG9yZURhdGU6Ym9vbGVhblxyXG4pOiB2b2lkIHtcclxuICB0aGlzLnNpbmdsZVNlbGVjdCA9IHNpbmdsZVNlbGVjdDtcclxuICB0aGlzLm11bHRpU2VsZWN0ID0gbXVsdGlTZWxlY3Q7XHJcbiAgdGhpcy5kYXRlcGlja2VyID0gZGF0ZXBpY2tlcjtcclxuICB0aGlzLnNpbmdsZVN0b3JlID0gc2luZ2xlU3RvcmU7XHJcbiAgdGhpcy5zaW5nbGVTZWxlY3RkYXRlcGlja2VyID0gc2luZ2xlU2VsZWN0ZGF0ZXBpY2tlcjtcclxuICB0aGlzLnRyYWZmaWNkYXRlcGlja2VyID0gdHJhZmZpY2RhdGVwaWNrZXI7XHJcbiAgdGhpcy50cmF4ZGF0ZXBpY2tlciA9IHRyYXhkYXRlcGlja2VyO1xyXG4gIHRoaXMudHJheHdpdGhvdXRkYXRlcGlja2VyID0gdHJheHdpdGhvdXRkYXRlcGlja2VyO1xyXG4gIHRoaXMuc3RvcmVzU2luZ2xlID0gc3RvcmVzU2luZ2xlO1xyXG4gIHRoaXMubm9iV2l0aG91dENsaWVudCA9IG5vYldpdGhvdXRDbGllbnQ7XHJcbiAgdGhpcy5tZXJ0aWNzSGVhZGVyID0gbWVydGljc0hlYWRlcjtcclxudGhpcy5zaW5nbGVDbGllbnRTdG9yZURhdGUgPSBzaW5nbGVDbGllbnRTdG9yZURhdGU7XHJcbn1cclxuXHJcbmdldFVzZXJJbmZvKGNsaWVudDphbnkpe1xyXG4gIGxldCBvYmogPXtcclxuICAgICAgY2xpZW50SWQ6IGNsaWVudCA/IGNsaWVudCA6JydcclxuICB9XHJcbiAgaWYoY2xpZW50KXtcclxuICAgIHRoaXMuYXV0aC5nZXRIZWFkZXJVc2VycyhvYmopLnN1YnNjcmliZSh7XHJcbiAgICAgIG5leHQ6IChlKSA9PiB7XHJcbiAgICAgICAgbG9jYWxTdG9yYWdlLnNldEl0ZW0oXHJcbiAgICAgICAgICBcInVzZXJzRW1haWwtaW5mb1wiLFxyXG4gICAgICAgICAgSlNPTi5zdHJpbmdpZnkoZT8uZGF0YT8udXNlckVtYWlsRGF0YSB8fCBbXSkgXHJcbiAgICAgICAgKTtcclxuICAgICAgfSBcclxuICAgIH0pXHJcbiAgfVxyXG59XHJcbn1cclxuIiwiPCEtLWJlZ2luOjpUb29sYmFyIGNvbnRhaW5lci0tPlxyXG48ZGl2IGlkPVwia3RfYXBwX3Rvb2xiYXJfY29udGFpbmVyXCIgY2xhc3M9XCJwcy01IHBlLTBcIiBbbmdDbGFzc109XCJhcHBUb29sYmFyQ29udGFpbmVyQ1NTQ2xhc3NcIj5cclxuICA8bmctY29udGFpbmVyICpuZ0lmPVwiKGdzLnVzZXJBY2Nlc3MgfCBhc3luYyk/LnVzZXJUeXBlID09PSAndGFuZ28nIHx8IChncy51c2VyQWNjZXNzIHwgYXN5bmMpPy51c2VyVHlwZSA9PT0gJ2NsaWVudCcgfHwgKGdzLnVzZXJBY2Nlc3MgfCBhc3luYyk/LnVzZXJUeXBlID09PSAnbGVhZCdcIiAgPlxyXG4gIDxuZy1jb250YWluZXIgKm5nSWY9XCJzaG93UGFnZVRpdGxlKClcIj5cclxuICAgIDxsaWItcGFnZS10aXRsZSBbYXBwUGFnZVRpdGxlRGlyZWN0aW9uXT1cImFwcFBhZ2VUaXRsZURpcmVjdGlvblwiIFthcHBQYWdlVGl0bGVCcmVhZGNydW1iXT1cImFwcFBhZ2VUaXRsZUJyZWFkY3J1bWJcIlxyXG4gICAgICBbYXBwUGFnZVRpdGxlRGVzY3JpcHRpb25dPVwiYXBwUGFnZVRpdGxlRGVzY3JpcHRpb25cIiBjbGFzcz1cInBhZ2UtdGl0bGUgZC1mbGV4IGZsZXgtd3JhcCBtZS0zXCJcclxuICAgICAgW25nQ2xhc3NdPVwieydmbGV4LWNvbHVtbiBqdXN0aWZ5LWNvbnRlbnQtY2VudGVyJzogYXBwUGFnZVRpdGxlRGlyZWN0aW9uID09PSAnY29sdW1uJywgJ2FsaWduLWl0ZW1zLWNlbnRlcic6IGFwcFBhZ2VUaXRsZURpcmVjdGlvbiAhPT0gJ2NvbHVtbicsIGFwcFBhZ2VUaXRsZUNTU0NsYXNzfVwiPlxyXG4gICAgPC9saWItcGFnZS10aXRsZT5cclxuICA8L25nLWNvbnRhaW5lcj5cclxuXHJcbiAgPG5nLWNvbnRhaW5lciAqbmdJZj1cIm11bHRpU2VsZWN0ICYmIHVzZXJzLnVzZXJUeXBlID09PSd0YW5nbydcIj5cclxuICAgIDxsaWItY2xhc3NpYyBjbGFzcz1cImQtZmxleCBhbGlnbi1pdGVtcy1jZW50ZXIgZ2FwLTIgZ2FwLWxnLTNcIj48L2xpYi1jbGFzc2ljPlxyXG4gIDwvbmctY29udGFpbmVyPlxyXG4gIDxuZy1jb250YWluZXIgKm5nSWY9XCJzaW5nbGVTZWxlY3QgJiYgdXNlcnMudXNlclR5cGUgPT09J3RhbmdvJ1wiPlxyXG4gICAgPGxpYi1jbGllbnQtc2V0dGluZ3MgY2xhc3M9XCJkLWZsZXggYWxpZ24taXRlbXMtY2VudGVyIG1lLTVcIj48L2xpYi1jbGllbnQtc2V0dGluZ3M+XHJcbiAgIDwvbmctY29udGFpbmVyPlxyXG4gICA8bmctY29udGFpbmVyICpuZ0lmPVwiZGF0ZXBpY2tlciAmJiAodXNlcnMudXNlclR5cGUgPT09J2NsaWVudCcgfHwgdXNlcnMudXNlclR5cGUgPT09J3RhbmdvJylcIj5cclxuICAgIDxsaWItZGF0ZXBpY2tlciBjbGFzcz1cImQtZmxleCBhbGlnbi1pdGVtcy1jZW50ZXIgbWUtNVwiPjwvbGliLWRhdGVwaWNrZXI+XHJcbiAgIDwvbmctY29udGFpbmVyPlxyXG4gICA8bmctY29udGFpbmVyICpuZ0lmPVwic2luZ2xlU2VsZWN0ZGF0ZXBpY2tlciAmJiB1c2Vycy51c2VyVHlwZSA9PT0ndGFuZ28nXCI+XHJcbiAgICA8bGliLWRhdGUtc2luZ2xlLXNlbGVjdCBjbGFzcz1cImQtZmxleCBhbGlnbi1pdGVtcy1jZW50ZXIgbWUtNVwiPjwvbGliLWRhdGUtc2luZ2xlLXNlbGVjdD5cclxuICAgPC9uZy1jb250YWluZXI+XHJcbiAgIDxuZy1jb250YWluZXIgKm5nSWY9XCJzaW5nbGVTdG9yZVwiPlxyXG4gICAgPGxpYi1zaW5nbGUtc3RvcmUgY2xhc3M9XCJkLWZsZXggYWxpZ24taXRlbXMtY2VudGVyIG1lLTVcIiBbdXJsU3RyaW5nXT1cInVybFN0cmluZ1wiPjwvbGliLXNpbmdsZS1zdG9yZT5cclxuICAgPC9uZy1jb250YWluZXI+XHJcbiAgIDxuZy1jb250YWluZXIgKm5nSWY9XCJ0cmFmZmljZGF0ZXBpY2tlclwiPlxyXG4gICAgPGxpYi10cmFmZmljLWhlYWRlciBjbGFzcz1cImQtZmxleCBhbGlnbi1pdGVtcy1jZW50ZXIgbWUtNVwiPjwvbGliLXRyYWZmaWMtaGVhZGVyPlxyXG4gICA8L25nLWNvbnRhaW5lcj5cclxuICAgPG5nLWNvbnRhaW5lciAqbmdJZj1cInRyYXhkYXRlcGlja2VyXCI+XHJcbiAgICA8bGliLXRyYXgtaGVhZGVyIGNsYXNzPVwiZC1mbGV4IGFsaWduLWl0ZW1zLWNlbnRlciBtZS01XCI+PC9saWItdHJheC1oZWFkZXI+XHJcbiAgIDwvbmctY29udGFpbmVyPlxyXG4gICA8bmctY29udGFpbmVyICpuZ0lmPVwidHJheHdpdGhvdXRkYXRlcGlja2VyXCI+XHJcbiAgICA8bGliLXRyYXgtd2l0aG91dGRhdGUgY2xhc3M9XCJkLWZsZXggYWxpZ24taXRlbXMtY2VudGVyIG1lLTVcIj48L2xpYi10cmF4LXdpdGhvdXRkYXRlPlxyXG4gICA8L25nLWNvbnRhaW5lcj5cclxuICAgPG5nLWNvbnRhaW5lciAqbmdJZj1cInN0b3Jlc1NpbmdsZVwiPlxyXG4gICAgPGxpYi1zaW5nbGUtc3RvcmVkYXRlIGNsYXNzPVwiZC1mbGV4IGFsaWduLWl0ZW1zLWNlbnRlciBtZS01XCI+PC9saWItc2luZ2xlLXN0b3JlZGF0ZT5cclxuICAgPC9uZy1jb250YWluZXI+XHJcbiAgIDxuZy1jb250YWluZXIgKm5nSWY9XCJub2JXaXRob3V0Q2xpZW50XCI+XHJcbiAgICA8bGliLXRyYWZmaWMtbm9iIGNsYXNzPVwiZC1mbGV4IGFsaWduLWl0ZW1zLWNlbnRlciBtZS01XCI+PC9saWItdHJhZmZpYy1ub2I+XHJcbiAgIDwvbmctY29udGFpbmVyPlxyXG4gICAgPG5nLWNvbnRhaW5lciAqbmdJZj1cIm1lcnRpY3NIZWFkZXJcIj5cclxuICAgIDxsaWItbWV0cmljcy1oZWFkZXIgY2xhc3M9XCJkLWZsZXggYWxpZ24taXRlbXMtY2VudGVyIG1lLTVcIj48L2xpYi1tZXRyaWNzLWhlYWRlcj5cclxuICAgPC9uZy1jb250YWluZXI+XHJcblxyXG4gICA8bmctY29udGFpbmVyICpuZ0lmPVwic2luZ2xlQ2xpZW50U3RvcmVEYXRlXCI+XHJcbiAgICA8bGliLXNpbmdsZS1jbGllbnRzdG9yZS1kYXRlIGNsYXNzPVwiZC1mbGV4IGFsaWduLWl0ZW1zLWNlbnRlciBtZS01XCI+PC9saWItc2luZ2xlLWNsaWVudHN0b3JlLWRhdGU+XHJcbiAgIDwvbmctY29udGFpbmVyPlxyXG5cclxuXHJcbiA8IS0tIDxuZy1jb250YWluZXIgKm5nSWY9XCJhcHBUb29sYmFyTGF5b3V0ID09PSAnZXh0ZW5kZWQnXCI+XHJcbiAgICA8bGliLWV4dGVuZGVkIGNsYXNzPVwiZC1mbGV4IGFsaWduLWl0ZW1zLWNlbnRlciBmbGV4LXNocmluay0wIG1lLTVcIj48L2xpYi1leHRlbmRlZD5cclxuICA8L25nLWNvbnRhaW5lcj5cclxuICA8bmctY29udGFpbmVyICpuZ0lmPVwiYXBwVG9vbGJhckxheW91dCA9PT0gJ3JlcG9ydHMnXCI+XHJcbiAgICA8bGliLXJlcG9ydHMgY2xhc3M9XCJkLWZsZXggYWxpZ24taXRlbXMtY2VudGVyIG92ZXJmbG93LWF1dG9cIiBbYXBwUGFnZVRpdGxlRGlzcGxheV09XCJhcHBQYWdlVGl0bGVEaXNwbGF5XCI+XHJcbiAgICA8L2xpYi1yZXBvcnRzPlxyXG4gIDwvbmctY29udGFpbmVyPlxyXG4gIDxuZy1jb250YWluZXIgKm5nSWY9XCJhcHBUb29sYmFyTGF5b3V0ID09PSAnc2FhcydcIj5cclxuICAgIDxsaWItc2FhcyBjbGFzcz1cImQtZmxleCBhbGlnbi1pdGVtcy1jZW50ZXIgZ2FwLTJcIiBbYXBwUGFnZVRpdGxlRGlzcGxheV09XCJhcHBQYWdlVGl0bGVEaXNwbGF5XCI+PC9saWItc2Fhcz5cclxuICA8L25nLWNvbnRhaW5lcj4gLS0+XHJcbjwvbmctY29udGFpbmVyPlxyXG48L2Rpdj5cclxuPCEtLWVuZDo6VG9vbGJhciBjb250YWluZXItLT5cclxuIl19
|
|
369
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidG9vbGJhci5jb21wb25lbnQuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy90YW5nby1hcHAtc2hhcmVkL3NyYy9saWIvbW9kdWxlcy9sYXlvdXQvdG9vbGJhci90b29sYmFyLmNvbXBvbmVudC50cyIsIi4uLy4uLy4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL3RhbmdvLWFwcC1zaGFyZWQvc3JjL2xpYi9tb2R1bGVzL2xheW91dC90b29sYmFyL3Rvb2xiYXIuY29tcG9uZW50Lmh0bWwiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFFLFNBQVMsRUFBRSxLQUFLLEVBQXFCLE1BQU0sZUFBZSxDQUFDO0FBRXBFLE9BQU8sRUFBRSxPQUFPLEVBQXdCLE1BQU0sTUFBTSxDQUFDOzs7Ozs7Ozs7Ozs7Ozs7Ozs7O0FBY3JELE1BQU0sT0FBTyxnQkFBZ0I7SUFrRGpCO0lBQ0E7SUFDQTtJQUNEO0lBQ0M7SUFyREYsV0FBVyxHQUFtQixFQUFFLENBQUM7SUFFekMsZUFBZTtJQUNOLGlCQUFpQixDQUFvQjtJQUNyQyxnQkFBZ0IsQ0FLZDtJQUVYLFVBQVU7SUFDVixpQkFBaUIsQ0FBVTtJQUMzQixtQkFBbUIsQ0FBb0I7SUFDdkMsMkJBQTJCLEdBQVcsRUFBRSxDQUFDO0lBQ3pDLHNCQUFzQixDQUFVO0lBQ2hDLHFCQUFxQixDQUFVO0lBQy9CLG1CQUFtQixDQUFVO0lBRTdCLGFBQWE7SUFDYixxQkFBcUIsR0FBVyxFQUFFLENBQUM7SUFDbkMsb0JBQW9CLEdBQVcsRUFBRSxDQUFDO0lBQ2xDLHNCQUFzQixDQUFVO0lBQ2hDLHVCQUF1QixDQUFVO0lBQ2pDLFVBQVUsQ0FBTTtJQUNoQixZQUFZLENBQVU7SUFDdEIsV0FBVyxDQUFVO0lBQ3JCLFVBQVUsQ0FBVTtJQUNwQixzQkFBc0IsQ0FBVTtJQUNoQyxXQUFXLENBQVU7SUFDckIsV0FBVyxDQUFNO0lBQ2pCLE9BQU8sQ0FBTTtJQUNiLEtBQUssQ0FBTTtJQUNYLGVBQWUsR0FBUTtRQUNyQixNQUFNLEVBQUUsSUFBSTtRQUNaLE9BQU8sRUFBRSxFQUFFO1FBQ1gsS0FBSyxFQUFFLElBQUk7UUFDWCxNQUFNLEVBQUUsRUFBRTtRQUNWLElBQUksRUFBRSxJQUFJO0tBQ1gsQ0FBQztJQUNGLGlCQUFpQixDQUFVO0lBQzNCLGNBQWMsQ0FBVTtJQUN4QixTQUFTLENBQUs7SUFDZCxxQkFBcUIsQ0FBUztJQUM5QixZQUFZLENBQVM7SUFDckIsZ0JBQWdCLENBQVM7SUFDekIsYUFBYSxDQUFVO0lBQ3ZCLHFCQUFxQixDQUFTO0lBQzlCLFlBQ1UsTUFBcUIsRUFDckIsTUFBYyxFQUNkLEtBQXFCLEVBQ3RCLEVBQXNCLEVBQ3JCLElBQWtCO1FBSmxCLFdBQU0sR0FBTixNQUFNLENBQWU7UUFDckIsV0FBTSxHQUFOLE1BQU0sQ0FBUTtRQUNkLFVBQUssR0FBTCxLQUFLLENBQWdCO1FBQ3RCLE9BQUUsR0FBRixFQUFFLENBQW9CO1FBQ3JCLFNBQUksR0FBSixJQUFJLENBQWM7SUFDekIsQ0FBQztJQUVKLFFBQVE7UUFDTixJQUFJLFdBQVcsSUFBSSxZQUFZLEVBQUU7WUFDL0IsTUFBTSxRQUFRLEdBQVEsSUFBSSxDQUFDLEtBQUssQ0FDOUIsWUFBWSxDQUFDLE9BQU8sQ0FBQyxXQUFXLENBQUMsSUFBSSxJQUFJLENBQzFDLENBQUM7WUFDRixJQUFJLENBQUMsS0FBSyxHQUFHLFFBQVEsQ0FBQztTQUN2QjtRQUNELElBQUksZ0JBQWdCLElBQUksWUFBWSxFQUFFO1lBQ3BDLE1BQU0sSUFBSSxHQUFRLElBQUksQ0FBQyxLQUFLLENBQzFCLFlBQVksQ0FBQyxPQUFPLENBQUMsZ0JBQWdCLENBQUMsSUFBSSxJQUFJLENBQy9DLENBQUM7WUFDUCxJQUFJLENBQUMsTUFBTSxHQUFHLElBQUksRUFBRSxNQUFNLENBQUM7U0FDdkI7UUFDRCxJQUFJLENBQUMsV0FBVyxDQUFDLElBQUksQ0FBQyxNQUFNLENBQUMsQ0FBQyxDQUFDLElBQUksQ0FBQyxNQUFNLENBQUMsQ0FBQyxDQUFDLElBQUksQ0FBQyxLQUFLLENBQUMsTUFBTSxDQUFDLENBQUE7UUFDL0QsSUFBSSxDQUFDLGFBQWEsRUFBRSxDQUFDO1FBQ3JCLE1BQU0sTUFBTSxHQUFHLElBQUksQ0FBQyxNQUFNLENBQUMsbUJBQW1CO2FBQzNDLFlBQVksRUFBRTthQUNkLFNBQVMsQ0FBQyxDQUFDLE1BQWUsRUFBRSxFQUFFO1lBQzdCLElBQUksQ0FBQyxXQUFXLENBQUMsTUFBTSxDQUFDLENBQUM7UUFDM0IsQ0FBQyxDQUFDLENBQUM7UUFDTCxJQUFJLENBQUMsV0FBVyxDQUFDLElBQUksQ0FBQyxNQUFNLENBQUMsQ0FBQztJQUNoQyxDQUFDO0lBRUQsV0FBVyxDQUFDLE1BQWU7UUFDekIsSUFBSSxDQUFDLGlCQUFpQixHQUFHLElBQUksQ0FBQyxNQUFNLENBQUMsT0FBTyxDQUMxQyxxQkFBcUIsRUFDckIsTUFBTSxDQUNJLENBQUM7UUFDYixJQUFJLENBQUMsSUFBSSxDQUFDLGlCQUFpQixFQUFFO1lBQzNCLE9BQU87U0FDUjtRQUVELElBQUksQ0FBQyxtQkFBbUIsR0FBRyxJQUFJLENBQUMsTUFBTSxDQUFDLE9BQU8sQ0FDNUMsdUJBQXVCLEVBQ3ZCLE1BQU0sQ0FDSSxDQUFDO1FBQ2IsSUFBSSxDQUFDLG1CQUFtQixHQUFHLElBQUksQ0FBQyxNQUFNLENBQUMsT0FBTyxDQUM1Qyx1QkFBdUIsRUFDdkIsTUFBTSxDQUNjLENBQUM7UUFDdkIsSUFBSSxDQUFDLDJCQUEyQjtZQUM5QixJQUFJLENBQUMsbUJBQW1CLEtBQUssT0FBTztnQkFDbEMsQ0FBQyxDQUFDLGVBQWU7Z0JBQ2pCLENBQUMsQ0FBQyxpQkFBaUIsQ0FBQztRQUN4QixNQUFNLGNBQWMsR0FBRyxJQUFJLENBQUMsTUFBTSxDQUFDLE9BQU8sQ0FDeEMsNEJBQTRCLEVBQzVCLE1BQU0sQ0FDRyxDQUFDO1FBQ1osSUFBSSxjQUFjLEVBQUU7WUFDbEIsSUFBSSxDQUFDLDJCQUEyQixJQUFJLElBQUksY0FBYyxFQUFFLENBQUM7U0FDMUQ7UUFFRCxJQUFJLENBQUMsc0JBQXNCLEdBQUcsSUFBSSxDQUFDLE1BQU0sQ0FBQyxPQUFPLENBQy9DLDJCQUEyQixFQUMzQixNQUFNLENBQ0ksQ0FBQztRQUNiLElBQUksSUFBSSxDQUFDLHNCQUFzQixFQUFFO1lBQy9CLFFBQVEsQ0FBQyxJQUFJLENBQUMsWUFBWSxDQUFDLDJCQUEyQixFQUFFLE1BQU0sQ0FBQyxDQUFDO1NBQ2pFO1FBRUQsSUFBSSxDQUFDLHFCQUFxQixHQUFHLElBQUksQ0FBQyxNQUFNLENBQUMsT0FBTyxDQUM5QywwQkFBMEIsRUFDMUIsTUFBTSxDQUNJLENBQUM7UUFDYixJQUFJLElBQUksQ0FBQyxxQkFBcUIsRUFBRTtZQUM5QixRQUFRLENBQUMsSUFBSSxDQUFDLFlBQVksQ0FBQyxrQ0FBa0MsRUFBRSxNQUFNLENBQUMsQ0FBQztTQUN4RTtRQUVELFVBQVU7UUFDVixJQUFJLENBQUMscUJBQXFCLEdBQUcsSUFBSSxDQUFDLE1BQU0sQ0FBQyxPQUFPLENBQzlDLHlCQUF5QixFQUN6QixNQUFNLENBQ0csQ0FBQztRQUNaLElBQUksQ0FBQyxvQkFBb0IsR0FBRyxJQUFJLENBQUMsTUFBTSxDQUFDLE9BQU8sQ0FDN0MscUJBQXFCLEVBQ3JCLE1BQU0sQ0FDRyxDQUFDO1FBQ1osSUFBSSxDQUFDLHNCQUFzQixHQUFHLElBQUksQ0FBQyxNQUFNLENBQUMsT0FBTyxDQUMvQywwQkFBMEIsRUFDMUIsTUFBTSxDQUNJLENBQUM7UUFDYixJQUFJLENBQUMsdUJBQXVCLEdBQUcsSUFBSSxDQUFDLE1BQU0sQ0FBQyxPQUFPLENBQ2hELDJCQUEyQixFQUMzQixNQUFNLENBQ0ksQ0FBQztRQUViLFFBQVEsQ0FBQyxJQUFJLENBQUMsWUFBWSxDQUFDLDZCQUE2QixFQUFFLE1BQU0sQ0FBQyxDQUFDO0lBQ3BFLENBQUM7SUFDZ0IsUUFBUSxHQUFHLElBQUksT0FBTyxFQUFFLENBQUM7SUFDMUMsV0FBVztRQUNULElBQUksQ0FBQyxXQUFXLENBQUMsT0FBTyxDQUFDLENBQUMsRUFBRSxFQUFFLEVBQUUsQ0FBQyxFQUFFLENBQUMsV0FBVyxFQUFFLENBQUMsQ0FBQztRQUNuRCxJQUFJLENBQUMsUUFBUSxDQUFDLElBQUksQ0FBQyxJQUFJLENBQUMsQ0FBQztRQUN6QixJQUFJLENBQUMsUUFBUSxDQUFDLFFBQVEsRUFBRSxDQUFDO1FBQ3pCLDhDQUE4QztJQUNoRCxDQUFDO0lBQ0QsTUFBTSxDQUFLO0lBQ1gsVUFBVSxDQUFLO0lBQ2YsYUFBYTtRQUNYLElBQUksR0FBRyxHQUFXLEVBQUUsQ0FBQztRQUNyQixJQUFJLGdCQUFnQixJQUFJLFlBQVksRUFBRTtZQUNwQyxNQUFNLElBQUksR0FBUSxJQUFJLENBQUMsS0FBSyxDQUMxQixZQUFZLENBQUMsT0FBTyxDQUFDLGdCQUFnQixDQUFDLElBQUksSUFBSSxDQUMvQyxDQUFDO1lBQ0gsTUFBTSxLQUFLLEdBQUksSUFBSSxDQUFDLEtBQUssQ0FBQyxRQUFRLENBQUMsYUFBb0IsQ0FBQTtZQUN0RCxJQUFJLENBQUMsT0FBTyxHQUFJLElBQUksRUFBRSxLQUFLLENBQUM7WUFFNUIsSUFBRyxLQUFLLEVBQUUsTUFBTSxFQUFFLENBQUMsU0FBUyxDQUFDLEVBQUM7Z0JBQzVCLElBQUksQ0FBQyxPQUFPLEdBQUcsS0FBSyxDQUFDLE1BQU0sQ0FBQyxTQUFTLENBQUMsQ0FBQTtnQkFDdEMsSUFBSSxDQUFDLEtBQUssR0FBRyxLQUFLLENBQUMsTUFBTSxDQUFDLFNBQVMsQ0FBQyxDQUFBO2dCQUNwQyxZQUFZLENBQUMsT0FBTyxDQUFDLGdCQUFnQixFQUFFLElBQUksQ0FBQyxTQUFTLENBQUMsSUFBSSxDQUFDLENBQUMsQ0FBQTthQUM3RDtZQUNELE1BQU0sVUFBVSxHQUFHLElBQUksQ0FBQyxNQUFNLENBQUMsR0FBRyxDQUFDO1lBQ25DLE1BQU0sVUFBVSxHQUFHLFVBQVUsQ0FBQyxPQUFPLENBQ25DLDZCQUE2QixFQUM3QixpQkFBaUIsQ0FDbEIsQ0FBQztZQUNGLEdBQUcsR0FBRyxVQUFVLENBQUM7WUFDakIsOEJBQThCO1NBQy9CO1FBQ0gsTUFBTSxHQUFHLEdBQUcsR0FBRyxDQUFDLEtBQUssQ0FBQyxHQUFHLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxLQUFLLENBQUMsR0FBRyxDQUFDLENBQUM7UUFDekMsSUFBSSxDQUFDLFNBQVMsR0FBRyxHQUFHLENBQUM7UUFDcEIsSUFBSSxDQUFDLFVBQVUsR0FBRSxHQUFHLENBQUMsS0FBSyxDQUFDLEdBQUcsQ0FBQyxDQUFDO1FBQ2pDLElBQUksSUFBSSxDQUFDLEtBQUssRUFBRSxRQUFRLEtBQUssT0FBTyxFQUFFO1lBQ3BDLElBQUksR0FBRyxDQUFDLENBQUMsQ0FBQyxJQUFJLFVBQVUsSUFBSSxHQUFHLElBQUksc0JBQXNCLElBQUUsR0FBRyxJQUFJLGdDQUFnQyxJQUFFLEdBQUcsSUFBSSwrQkFBK0I7Z0JBQzFJLEdBQUcsSUFBSSxnQkFBZ0IsSUFBSyxHQUFHLEtBQUssNEJBQTRCLElBQUksR0FBRyxLQUFLLDhCQUE4QjtnQkFDMUcsR0FBRyxJQUFJLGdDQUFnQztnQkFDdkMsR0FBRyxJQUFJLGlDQUFpQyxJQUFJLEdBQUcsS0FBSyxzQkFBc0IsSUFBSSxHQUFHLElBQUksaUNBQWlDLElBQUssR0FBRyxJQUFJLG9DQUFvQyxJQUFJLEdBQUcsS0FBSyxvQkFBb0IsRUFBRztnQkFDdk0sSUFBSSxDQUFDLGVBQWUsQ0FBQyxJQUFJLEVBQUUsS0FBSyxFQUFFLEtBQUssRUFBRSxLQUFLLEVBQUUsS0FBSyxFQUFDLEtBQUssRUFBQyxLQUFLLEVBQUMsS0FBSyxFQUFDLEtBQUssRUFBQyxLQUFLLEVBQUMsS0FBSyxFQUFDLEtBQUssQ0FBQyxDQUFDO2FBQ2xHO2lCQUFPLElBQUksR0FBRyxDQUFDLENBQUMsQ0FBQyxJQUFJLFVBQVUsRUFBRTtnQkFDaEMsSUFBSSxDQUFDLGVBQWUsQ0FBQyxLQUFLLEVBQUUsS0FBSyxFQUFFLEtBQUssRUFBRSxLQUFLLEVBQUUsSUFBSSxFQUFDLEtBQUssRUFBQyxLQUFLLEVBQUMsS0FBSyxFQUFDLEtBQUssRUFBQyxLQUFLLEVBQUMsS0FBSyxFQUFDLEtBQUssQ0FBQyxDQUFDO2FBQ2xHO2lCQUFNLElBQ0wsR0FBRyxJQUFJLHVDQUF1QyxJQUFJLENBQUMsT0FBTyxFQUFFLElBQUssR0FBRyxJQUFJLHVDQUF1QyxJQUFJLENBQUMsT0FBTyxhQUFhO2dCQUN4SSxHQUFHLElBQUksbUNBQW1DLElBQUksQ0FBQyxPQUFPLEVBQUUsSUFBSSxHQUFHLElBQUksdUNBQXVDLElBQUksQ0FBQyxPQUFPLG9CQUFvQjtnQkFDMUksR0FBRyxJQUFJLGdDQUFnQyxJQUFJLENBQUMsT0FBTyxFQUFFO2dCQUNyRCxHQUFHLElBQUksa0NBQWtDLElBQUksQ0FBQyxPQUFPLEVBQUU7Z0JBQ3ZELG9FQUFvRTtnQkFDcEUsR0FBRyxJQUFJLDhCQUE4QixJQUFJLENBQUMsT0FBTyxFQUFFLEVBQ25EO2dCQUNBLElBQUksQ0FBQyxlQUFlLENBQUMsS0FBSyxFQUFFLEtBQUssRUFBRSxLQUFLLEVBQUUsSUFBSSxFQUFFLEtBQUssRUFBQyxLQUFLLEVBQUMsS0FBSyxFQUFDLEtBQUssRUFBQyxLQUFLLEVBQUMsS0FBSyxFQUFDLEtBQUssRUFBQyxLQUFLLENBQUMsQ0FBQzthQUNsRztpQkFBSyxJQUFJLEdBQUcsSUFBSSxpQkFBaUIsSUFBSSxHQUFHLElBQUksMkJBQTJCLEVBQUU7Z0JBQ3hFLElBQUksQ0FBQyxlQUFlLENBQUMsS0FBSyxFQUFFLEtBQUssRUFBRSxJQUFJLEVBQUUsS0FBSyxFQUFFLEtBQUssRUFBRSxLQUFLLEVBQUUsS0FBSyxFQUFFLEtBQUssRUFBRSxLQUFLLEVBQUUsS0FBSyxFQUFDLEtBQUssRUFBQyxLQUFLLENBQUMsQ0FBQzthQUN2RztpQkFDSSxJQUFHLEdBQUcsQ0FBQyxDQUFDLENBQUMsS0FBSyxlQUFlLEVBQUM7Z0JBQ2pDLElBQUcsR0FBRyxJQUFJLDBDQUEwQyxJQUFJLENBQUMsT0FBTyxFQUFFLElBQUcsR0FBRyxJQUFJLGdDQUFnQyxFQUFDO29CQUMzRyxJQUFJLENBQUMsZUFBZSxDQUFDLEtBQUssRUFBRSxLQUFLLEVBQUUsS0FBSyxFQUFFLEtBQUssRUFBQyxLQUFLLEVBQUMsS0FBSyxFQUFDLEtBQUssRUFBQyxLQUFLLEVBQUMsSUFBSSxFQUFDLEtBQUssRUFBQyxLQUFLLEVBQUMsS0FBSyxDQUFDLENBQUM7aUJBQ2pHO3FCQUNJO29CQUNMLElBQUksQ0FBQyxlQUFlLENBQUMsS0FBSyxFQUFFLEtBQUssRUFBRSxLQUFLLEVBQUUsS0FBSyxFQUFDLElBQUksRUFBQyxLQUFLLEVBQUMsS0FBSyxFQUFDLEtBQUssRUFBQyxLQUFLLEVBQUMsS0FBSyxFQUFDLEtBQUssRUFBQyxLQUFLLENBQUMsQ0FBQztpQkFDakc7YUFDRjtZQUNELHFGQUFxRjtZQUNyRix3R0FBd0c7WUFDeEcsT0FBTztpQkFDQSxJQUFJLEdBQUcsQ0FBQyxDQUFDLENBQUMsS0FBSyxVQUFVLElBQUksR0FBRyxDQUFDLENBQUMsQ0FBQyxLQUFLLE1BQU0sRUFBRTtnQkFDbkQsSUFBSSxDQUFDLGVBQWUsQ0FBQyxLQUFLLEVBQUUsS0FBSyxFQUFFLEtBQUssRUFBRSxLQUFLLEVBQUMsS0FBSyxFQUFDLElBQUksRUFBQyxLQUFLLEVBQUMsS0FBSyxFQUFDLEtBQUssRUFBQyxLQUFLLEVBQUMsS0FBSyxFQUFDLEtBQUssQ0FBQyxDQUFDO2FBQ2pHO2lCQUNJLElBQUksR0FBRyxJQUFJLFVBQVUsSUFBSSxHQUFHLENBQUMsQ0FBQyxDQUFDLEtBQUcsZUFBZSxJQUFJLEdBQUcsQ0FBQyxDQUFDLENBQUMsS0FBRyxrQkFBa0I7bUJBQy9FLEdBQUcsSUFBSSxnQkFBZ0IsSUFBRSxHQUFHLElBQUksaUJBQWlCLElBQUksR0FBRyxDQUFDLENBQUMsQ0FBQyxLQUFLLFVBQVUsSUFBSSxHQUFHLENBQUMsQ0FBQyxDQUFDLEtBQUssT0FBTyxJQUFJLEdBQUcsQ0FBQyxDQUFDLENBQUMsS0FBSyxZQUFZLElBQUcsR0FBRyxJQUFJLDZCQUE2QixJQUFHLEdBQUcsSUFBSSx3QkFBd0IsSUFBTSxHQUFHLElBQUkscUJBQXFCLElBQUksQ0FBQyxHQUFHLENBQUMsQ0FBQyxDQUFDLEtBQUksU0FBUyxJQUFJLEdBQUcsQ0FBQyxDQUFDLENBQUMsS0FBSyxPQUFPLENBQUMsSUFBSSxHQUFHLENBQUMsUUFBUSxDQUFDLE1BQU0sQ0FBQyxFQUFFO2dCQUNuVCxJQUFJLENBQUMsZUFBZSxDQUFDLEtBQUssRUFBRSxLQUFLLEVBQUUsS0FBSyxFQUFFLEtBQUssRUFBRSxLQUFLLEVBQUMsS0FBSyxFQUFDLEtBQUssRUFBQyxLQUFLLEVBQUMsS0FBSyxFQUFDLEtBQUssRUFBQyxLQUFLLEVBQUMsS0FBSyxDQUFDLENBQUM7YUFDbkc7aUJBQU0sSUFBRyxHQUFHLElBQUkscUJBQXFCLEVBQUM7Z0JBQ3JDLElBQUksQ0FBQyxlQUFlLENBQUMsS0FBSyxFQUFFLEtBQUssRUFBRSxLQUFLLEVBQUUsS0FBSyxFQUFDLEtBQUssRUFBQyxLQUFLLEVBQUMsS0FBSyxFQUFDLEtBQUssRUFBQyxLQUFLLEVBQUMsSUFBSSxFQUFDLEtBQUssRUFBQyxLQUFLLENBQUMsQ0FBQzthQUNqRztpQkFDSSxJQUFHLEdBQUcsQ0FBQyxDQUFDLENBQUMsS0FBSyxTQUFTLElBQUksR0FBRyxDQUFDLENBQUMsQ0FBQyxLQUFLLE9BQU8sSUFBSSxHQUFHLElBQUkseUJBQXlCLEVBQUM7Z0JBQ25GLElBQUksQ0FBQyxlQUFlLENBQUMsS0FBSyxFQUFFLEtBQUssRUFBRSxLQUFLLEVBQUUsS0FBSyxFQUFDLEtBQUssRUFBQyxJQUFJLEVBQUMsS0FBSyxFQUFDLEtBQUssRUFBQyxLQUFLLEVBQUMsS0FBSyxFQUFDLEtBQUssRUFBQyxLQUFLLENBQUMsQ0FBQzthQUNuRztpQkFDSSxJQUFHLEdBQUcsSUFBSSxxQ0FBcUMsSUFBSSxHQUFHLElBQUksb0NBQW9DLEVBQUM7Z0JBQ2hHLElBQUksQ0FBQyxlQUFlLENBQUMsS0FBSyxFQUFFLEtBQUssRUFBRSxLQUFLLEVBQUUsS0FBSyxFQUFDLEtBQUssRUFBQyxLQUFLLEVBQUMsS0FBSyxFQUFDLEtBQUssRUFBQyxLQUFLLEVBQUMsS0FBSyxFQUFDLEtBQUssRUFBQyxJQUFJLENBQUMsQ0FBQzthQUNuRztpQkFBTSxJQUFHLEdBQUcsQ0FBQyxDQUFDLENBQUMsS0FBSyxrQkFBa0IsSUFBSSxHQUFHLENBQUMsQ0FBQyxDQUFDLEtBQUssU0FBUyxFQUFDO2dCQUM1RCxJQUFJLENBQUMsZUFBZSxDQUFDLEtBQUssRUFBRSxLQUFLLEVBQUUsS0FBSyxFQUFFLEtBQUssRUFBQyxLQUFLLEVBQUMsS0FBSyxFQUFDLEtBQUssRUFBQyxLQUFLLEVBQUMsSUFBSSxFQUFDLEtBQUssRUFBQyxLQUFLLEVBQUMsS0FBSyxDQUFDLENBQUM7YUFDbkc7aUJBQU0sSUFBRyxHQUFHLENBQUMsQ0FBQyxDQUFDLEtBQUssa0JBQWtCLEVBQUM7Z0JBQ3BDLElBQUksQ0FBQyxlQUFlLENBQUMsS0FBSyxFQUFFLEtBQUssRUFBRSxLQUFLLEVBQUUsS0FBSyxFQUFDLEtBQUssRUFBQyxLQUFLLEVBQUMsS0FBSyxFQUFDLEtBQUssRUFBQyxLQUFLLEVBQUMsS0FBSyxFQUFDLElBQUksRUFBQyxLQUFLLENBQUMsQ0FBQzthQUNuRztpQkFBTSxJQUFHLEdBQUcsQ0FBQyxDQUFDLENBQUMsSUFBSSxNQUFNLEVBQUM7Z0JBQ3pCLElBQUcsR0FBRyxDQUFDLENBQUMsQ0FBQyxJQUFJLE1BQU0sSUFBSSxDQUFDLEdBQUcsQ0FBQyxRQUFRLENBQUMsaUJBQWlCLENBQUMsSUFBSSxHQUFHLENBQUMsUUFBUSxDQUFDLFdBQVcsQ0FBQyxJQUFJLEdBQUcsQ0FBQyxRQUFRLENBQUMsY0FBYyxDQUFDLElBQUcsR0FBRyxDQUFDLENBQUMsQ0FBQyxJQUFJLGFBQWEsSUFBSSxHQUFHLENBQUMsQ0FBQyxDQUFDLElBQUksZ0JBQWdCLENBQUMsRUFBRTtvQkFDN0ssSUFBSSxDQUFDLGVBQWUsQ0FBQyxLQUFLLEVBQUUsS0FBSyxFQUFFLEtBQUssRUFBRSxLQUFLLEVBQUMsS0FBSyxFQUFDLEtBQUssRUFBQyxLQUFLLEVBQUMsS0FBSyxFQUFDLEtBQUssRUFBQyxLQUFLLEVBQUMsS0FBSyxFQUFDLEtBQUssQ0FBQyxDQUFDO2lCQUNsRztnQkFDRCwyREFBMkQ7Z0JBQzNELHFHQUFxRztnQkFDckcsSUFBSTtxQkFDQyxJQUFHLEdBQUcsQ0FBQyxDQUFDLENBQUMsSUFBSSxNQUFNLElBQUksR0FBRyxDQUFDLFFBQVEsQ0FBQyxPQUFPLENBQUMsRUFBQztvQkFDaEQsSUFBSSxDQUFDLGVBQWUsQ0FBQyxLQUFLLEVBQUUsS0FBSyxFQUFFLEtBQUssRUFBRSxLQUFLLEVBQUUsS0FBSyxFQUFDLEtBQUssRUFBQyxLQUFLLEVBQUMsS0FBSyxFQUFDLEtBQUssRUFBQyxLQUFLLEVBQUMsS0FBSyxFQUFDLEtBQUssQ0FBQyxDQUFDO2lCQUNuRztxQkFDSSxJQUFHLEdBQUcsQ0FBQyxDQUFDLENBQUMsSUFBSSxNQUFNLElBQUksQ0FBQyxHQUFHLENBQUMsUUFBUSxDQUFDLFdBQVcsQ0FBQyxJQUFJLEdBQUcsQ0FBQyxRQUFRLENBQUMsU0FBUyxDQUFDLENBQUMsSUFBSSxHQUFHLENBQUMsUUFBUSxDQUFDLE9BQU8sQ0FBQyxFQUFFO29CQUMzRyxJQUFJLENBQUMsZUFBZSxDQUFDLElBQUksRUFBRSxLQUFLLEVBQUUsS0FBSyxFQUFFLEtBQUssRUFBQyxLQUFLLEVBQUMsS0FBSyxFQUFDLEtBQUssRUFBQyxLQUFLLEVBQUMsS0FBSyxFQUFDLEtBQUssRUFBQyxLQUFLLEVBQUMsS0FBSyxDQUFDLENBQUM7aUJBQ2pHO3FCQUFRO29CQUNULElBQUksQ0FBQyxlQUFlLENBQUMsS0FBSyxFQUFFLEtBQUssRUFBRSxLQUFLLEVBQUUsS0FBSyxFQUFDLEtBQUssRUFBQyxLQUFLLEVBQUMsSUFBSSxFQUFDLEtBQUssRUFBQyxLQUFLLEVBQUMsS0FBSyxFQUFDLEtBQUssRUFBQyxLQUFLLENBQUMsQ0FBQztpQkFDL0Y7YUFDRjtpQkFBTSxJQUFHLEdBQUcsQ0FBQyxDQUFDLENBQUMsSUFBSSxXQUFXLEVBQUM7Z0JBQzlCLElBQUcsR0FBRyxDQUFDLENBQUMsQ0FBQyxJQUFJLFdBQVcsSUFBSSxDQUFDLEdBQUcsQ0FBQyxRQUFRLENBQUMsZ0JBQWdCLENBQUMsQ0FBQyxFQUFFO29CQUM1RCxJQUFJLENBQUMsZUFBZSxDQUFDLEtBQUssRUFBRSxLQUFLLEVBQUUsS0FBSyxFQUFFLEtBQUssRUFBQyxLQUFLLEVBQUMsS0FBSyxFQUFDLEtBQUssRUFBQyxLQUFLLEVBQUMsS0FBSyxFQUFDLEtBQUssRUFBQyxLQUFLLEVBQUMsS0FBSyxDQUFDLENBQUM7aUJBQ2xHO3FCQUFLO29CQUNKLElBQUcsR0FBRyxDQUFDLENBQUMsQ0FBQyxJQUFJLFdBQVcsSUFBSSxDQUFDLEdBQUcsQ0FBQyxDQUFDLENBQUMsSUFBSSxrQkFBa0IsSUFBSSxHQUFHLENBQUMsQ0FBQyxDQUFDLElBQUksZ0JBQWdCLENBQUMsRUFBRTt3QkFDeEYsSUFBSSxDQUFDLGVBQWUsQ0FBQyxLQUFLLEVBQUMsS0FBSyxFQUFDLEtBQUssRUFBQyxLQUFLLEVBQUMsS0FBSyxFQUFDLEtBQUssRUFBQyxLQUFLLEVBQUMsS0FBSyxFQUFDLEtBQUssRUFBQyxLQUFLLEVBQUMsS0FBSyxFQUFDLEtBQUssQ0FBQyxDQUFDO3FCQUMvRjt5QkFDSTt3QkFDSCxJQUFJLENBQUMsZUFBZSxDQUFDLElBQUksRUFBRSxLQUFLLEVBQUUsS0FBSyxFQUFFLEtBQUssRUFBQyxLQUFLLEVBQUMsS0FBSyxFQUFDLEtBQUssRUFBQyxLQUFLLEVBQUMsS0FBSyxFQUFDLEtBQUssRUFBQyxLQUFLLEVBQUMsS0FBSyxDQUFDLENBQUM7cUJBQ2pHO2lCQUNGO2FBQ0Y7aUJBQU0sSUFBRyxHQUFHLENBQUMsQ0FBQyxDQUFDLElBQUksU0FBUyxFQUFFO2dCQUMzQixJQUFJLENBQUMsZUFBZSxDQUFDLEtBQUssRUFBRSxLQUFLLEVBQUUsS0FBSyxFQUFFLEtBQUssRUFBQyxLQUFLLEVBQUMsS0FBSyxFQUFDLEtBQUssRUFBQyxLQUFLLEVBQUMsS0FBSyxFQUFDLEtBQUssRUFBQyxLQUFLLEVBQUMsS0FBSyxDQUFDLENBQUM7YUFFcEc7aUJBQUk7Z0JBQ0gsSUFBRyxHQUFHLENBQUMsQ0FBQyxDQUFDLElBQUksT0FBTyxFQUFFO29CQUNwQixJQUFJLENBQUMsZUFBZSxDQUFDLEtBQUssRUFBRSxLQUFLLEVBQUUsS0FBSyxFQUFFLElBQUksRUFBRSxLQUFLLEVBQUMsS0FBSyxFQUFDLEtBQUssRUFBQyxLQUFLLEVBQUMsS0FBSyxFQUFDLEtBQUssRUFBQyxLQUFLLEVBQUMsS0FBSyxDQUFDLENBQUM7aUJBQ2xHO3FCQUNJO29CQUNMLElBQUksQ0FBQyxlQUFlLENBQUMsS0FBSyxFQUFFLEtBQUssRUFBRSxLQUFLLEVBQUUsS0FBSyxFQUFDLElBQUksRUFBQyxLQUFLLEVBQUMsS0FBSyxFQUFDLEtBQUssRUFBQyxLQUFLLEVBQUMsS0FBSyxFQUFDLEtBQUssRUFBQyxLQUFLLENBQUMsQ0FBQztpQkFDL0Y7YUFDRjtTQUNGO2FBQU07WUFDTCxJQUFJLEdBQUcsQ0FBQyxDQUFDLENBQUMsSUFBSSxVQUFVLEVBQUc7Z0JBQ3pCLElBQUksQ0FBQyxlQUFlLENBQUMsS0FBSyxFQUFFLEtBQUssRUFBRSxJQUFJLEVBQUUsS0FBSyxFQUFFLEtBQUssRUFBQyxLQUFLLEVBQUMsS0FBSyxFQUFDLEtBQUssRUFBQyxLQUFLLEVBQUMsS0FBSyxFQUFDLEtBQUssRUFBQyxLQUFLLENBQUMsQ0FBQzthQUNsRztpQkFBTSxJQUNMLEdBQUcsSUFBSSx1Q0FBdUMsSUFBSSxDQUFDLE9BQU8sRUFBRSxJQUFLLEdBQUcsSUFBSSx1Q0FBdUMsSUFBSSxDQUFDLE9BQU8sYUFBYTtnQkFDeEksR0FBRyxJQUFJLG1DQUFtQyxJQUFJLENBQUMsT0FBTyxFQUFFLElBQUksR0FBRyxJQUFJLHVDQUF1QyxJQUFJLENBQUMsT0FBTyxvQkFBb0I7Z0JBQzFJLEdBQUcsSUFBSSxnQ0FBZ0MsSUFBSSxDQUFDLE9BQU8sRUFBRTtnQkFDckQsR0FBRyxJQUFJLGtDQUFrQyxJQUFJLENBQUMsT0FBTyxFQUFFO2dCQUN2RCxvRUFBb0U7Z0JBQ3BFLEdBQUcsSUFBSSw4QkFBOEIsSUFBSSxDQUFDLE9BQU8sRUFBRSxFQUNuRDtnQkFDQSxJQUFJLENBQUMsZUFBZSxDQUFDLEtBQUssRUFBRSxLQUFLLEVBQUUsS0FBSyxFQUFFLElBQUksRUFBRSxLQUFLLEVBQUMsS0FBSyxFQUFDLEtBQUssRUFBQyxLQUFLLEVBQUMsS0FBSyxFQUFDLEtBQUssRUFBQyxLQUFLLEVBQUMsS0FBSyxDQUFDLENBQUM7YUFDbEc7aUJBQU0sSUFBRyxHQUFHLENBQUMsQ0FBQyxDQUFDLEtBQUssZUFBZSxFQUFDO2dCQUNuQyxJQUFHLEdBQUcsSUFBSSwwQ0FBMEMsSUFBSSxDQUFDLE9BQU8sRUFBRSxJQUFHLEdBQUcsSUFBSSxnQ0FBZ0MsRUFBQztvQkFDM0csSUFBSSxDQUFDLGVBQWUsQ0FBQyxLQUFLLEVBQUUsS0FBSyxFQUFFLEtBQUssRUFBRSxLQUFLLEVBQUMsS0FBSyxFQUFDLEtBQUssRUFBQyxLQUFLLEVBQUMsS0FBSyxFQUFDLElBQUksRUFBQyxLQUFLLEVBQUMsS0FBSyxFQUFDLEtBQUssQ0FBQyxDQUFDO2lCQUNqRztxQkFDSTtvQkFDTCxJQUFJLENBQUMsZUFBZSxDQUFDLEtBQUssRUFBRSxLQUFLLEVBQUUsS0FBSyxFQUFFLEtBQUssRUFBQyxJQUFJLEVBQUMsS0FBSyxFQUFDLEtBQUssRUFBQyxLQUFLLEVBQUMsS0FBSyxFQUFDLEtBQUssRUFBQyxLQUFLLEVBQUMsS0FBSyxDQUFDLENBQUM7aUJBQ2pHO2FBQ0Y7WUFDRCxxRkFBcUY7WUFDckYseUdBQXlHO1lBQ3pHLE9BQU87aUJBQ0EsSUFBSSxHQUFHLElBQUksVUFBVSxJQUFJLEdBQUcsSUFBSSxzQkFBc0IsSUFBSSxHQUFHLElBQUkscUJBQXFCO2dCQUMzRixHQUFHLElBQUksZ0JBQWdCLElBQUssR0FBRyxLQUFLLDRCQUE0QixJQUFJLEdBQUcsS0FBSyw4QkFBOEIsSUFBSSxHQUFHLENBQUMsQ0FBQyxDQUFDLElBQUksVUFBVTtnQkFDbEksR0FBRyxJQUFJLGdDQUFnQztnQkFDdkMsR0FBRyxJQUFJLGlDQUFpQyxJQUFJLEdBQUcsQ0FBQyxDQUFDLENBQUMsS0FBRyxlQUFlLElBQUksR0FBRyxDQUFDLENBQUMsQ0FBQyxLQUFHLGtCQUFrQixJQUFLLEdBQUcsSUFBSSxpQ0FBaUMsSUFBSyxHQUFHLElBQUksb0NBQW9DO21CQUM1TCxHQUFHLElBQUkscUJBQXFCLElBQUksR0FBRyxLQUFLLHVCQUF1QixJQUFJLEdBQUcsS0FBSSx1Q0FBdUMsSUFBSSxHQUFHLENBQUMsQ0FBQyxDQUFDLEtBQUcsZUFBZSxJQUFLLEdBQUcsQ0FBQyxRQUFRLENBQUMsTUFBTSxDQUFDLEVBQUU7Z0JBQzFLLElBQUksQ0FBQyxlQUFlLENBQUMsS0FBSyxFQUFFLEtBQUssRUFBRSxLQUFLLEVBQUUsS0FBSyxFQUFFLEtBQUssRUFBQyxLQUFLLEVBQUMsS0FBSyxFQUFDLEtBQUssRUFBQyxLQUFLLEVBQUMsS0FBSyxFQUFDLEtBQUssRUFBQyxLQUFLLENBQUMsQ0FBQzthQUNuRztpQkFBSyxJQUFHLEdBQUcsSUFBSSxxQkFBcUIsRUFBQztnQkFDcEMsSUFBSSxDQUFDLGVBQWUsQ0FBQyxLQUFLLEVBQUUsS0FBSyxFQUFFLEtBQUssRUFBRSxLQUFLLEVBQUMsS0FBSyxFQUFDLEtBQUssRUFBQyxLQUFLLEVBQUMsS0FBSyxFQUFDLEtBQUssRUFBQyxJQUFJLEVBQUMsS0FBSyxFQUFDLEtBQUssQ0FBQyxDQUFDO2FBQ2pHO2lCQUFNLElBQUcsR0FBRyxDQUFDLENBQUMsQ0FBQyxLQUFLLFNBQVMsSUFBSSxHQUFHLENBQUMsQ0FBQyxDQUFDLEtBQUssT0FBTyxJQUFJLEdBQUcsSUFBSSx5QkFBeUIsSUFBSSxDQUFDLEdBQUcsQ0FBQyxDQUFDLENBQUMsS0FBSyxVQUFVLElBQUksQ0FBQyxHQUFHLENBQUMsQ0FBQyxDQUFDLEtBQUssT0FBTyxJQUFJLEdBQUcsQ0FBQyxDQUFDLENBQUMsS0FBSyxZQUFZLElBQUksR0FBRyxDQUFDLENBQUMsQ0FBQyxLQUFLLE1BQU0sQ0FBQyxDQUFDLEVBQUM7Z0JBQ3hMLElBQUksQ0FBQyxlQUFlLENBQUMsS0FBSyxFQUFFLEtBQUssRUFBRSxLQUFLLEVBQUUsS0FBSyxFQUFDLEtBQUssRUFBQyxJQUFJLEVBQUMsS0FBSyxFQUFDLEtBQUssRUFBQyxLQUFLLEVBQUMsS0FBSyxFQUFDLEtBQUssRUFBQyxLQUFLLENBQUMsQ0FBQzthQUNuRztpQkFBSyxJQUFHLEdBQUcsSUFBSSxxQ0FBcUMsSUFBSSxHQUFHLElBQUksb0NBQW9DLEVBQUM7Z0JBQ2hHLElBQUksQ0FBQyxlQUFlLENBQUMsS0FBSyxFQUFFLEtBQUssRUFBRSxLQUFLLEVBQUUsSUFBSSxFQUFFLEtBQUssRUFBQyxLQUFLLEVBQUMsS0FBSyxFQUFDLEtBQUssRUFBQyxLQUFLLEVBQUMsS0FBSyxFQUFDLEtBQUssRUFBQyxLQUFLLENBQUMsQ0FBQzthQUNyRztpQkFBTSxJQUFHLEdBQUcsQ0FBQyxDQUFDLENBQUMsS0FBSyxrQkFBa0IsSUFBSSxHQUFHLENBQUMsQ0FBQyxDQUFDLEtBQUssU0FBUyxFQUFDO2dCQUM1RCxJQUFJLENBQUMsZUFBZSxDQUFDLEtBQUssRUFBRSxLQUFLLEVBQUUsS0FBSyxFQUFFLEtBQUssRUFBQyxLQUFLLEVBQUMsS0FBSyxFQUFDLEtBQUssRUFBQyxLQUFLLEVBQUMsSUFBSSxFQUFDLEtBQUssRUFBQyxLQUFLLEVBQUMsS0FBSyxDQUFDLENBQUM7YUFDbkc7aUJBQU0sSUFBRyxHQUFHLENBQUMsQ0FBQyxDQUFDLEtBQUssa0JBQWtCLEVBQUM7Z0JBQ3BDLElBQUksQ0FBQyxlQUFlLENBQUMsS0FBSyxFQUFFLEtBQUssRUFBRSxLQUFLLEVBQUUsS0FBSyxFQUFDLEtBQUssRUFBQyxLQUFLLEVBQUMsS0FBSyxFQUFDLEtBQUssRUFBQyxLQUFLLEVBQUMsS0FBSyxFQUFDLElBQUksRUFBQyxLQUFLLENBQUMsQ0FBQzthQUNuRztpQkFBTSxJQUFHLEdBQUcsQ0FBQyxDQUFDLENBQUMsSUFBSSxNQUFNLEVBQUM7Z0JBQ3pCLElBQUcsR0FBRyxDQUFDLENBQUMsQ0FBQyxJQUFJLE1BQU0sSUFBSSxDQUFDLEdBQUcsQ0FBQyxRQUFRLENBQUMsaUJBQWlCLENBQUMsSUFBSSxHQUFHLENBQUMsUUFBUSxDQUFDLFdBQVcsQ0FBQyxJQUFJLEdBQUcsQ0FBQyxRQUFRLENBQUMsY0FBYyxDQUFDLElBQUksR0FBRyxDQUFDLENBQUMsQ0FBQyxJQUFJLGFBQWEsSUFBSSxHQUFHLENBQUMsQ0FBQyxDQUFDLElBQUksZ0JBQWdCLENBQUMsRUFBRTtvQkFDOUssSUFBSSxDQUFDLGVBQWUsQ0FBQyxLQUFLLEVBQUUsS0FBSyxFQUFFLEtBQUssRUFBRSxLQUFLLEVBQUMsS0FBSyxFQUFDLEtBQUssRUFBQyxLQUFLLEVBQUMsS0FBSyxFQUFDLEtBQUssRUFBQyxLQUFLLEVBQUMsS0FBSyxFQUFDLEtBQUssQ0FBQyxDQUFDO2lCQUNsRztnQkFDRCwyREFBMkQ7Z0JBQzNELHFHQUFxRztnQkFDckcsSUFBSTtxQkFDQyxJQUFHLEdBQUcsQ0FBQyxDQUFDLENBQUMsSUFBSSxNQUFNLElBQUksR0FBRyxDQUFDLFFBQVEsQ0FBQyxPQUFPLENBQUMsRUFBQztvQkFDaEQsSUFBSSxDQUFDLGVBQWUsQ0FBQyxLQUFLLEVBQUUsS0FBSyxFQUFFLEtBQUssRUFBRSxLQUFLLEVBQUUsS0FBSyxFQUFDLEtBQUssRUFBQyxLQUFLLEVBQUMsS0FBSyxFQUFDLEtBQUssRUFBQyxLQUFLLEVBQUMsS0FBSyxFQUFDLEtBQUssQ0FBQyxDQUFDO2lCQUNuRztxQkFDSSxJQUFHLEdBQUcsQ0FBQyxDQUFDLENBQUMsSUFBSSxNQUFNLElBQUksQ0FBQyxHQUFHLENBQUMsUUFBUSxDQUFDLFdBQVcsQ0FBQyxJQUFJLEdBQUcsQ0FBQyxRQUFRLENBQUMsU0FBUyxDQUFDLElBQUksR0FBRyxDQUFDLFFBQVEsQ0FBQyxPQUFPLENBQUMsQ0FBQyxFQUFFO29CQUMzRyxJQUFJLENBQUMsZUFBZSxDQUFDLElBQUksRUFBRSxLQUFLLEVBQUUsS0FBSyxFQUFFLEtBQUssRUFBQyxLQUFLLEVBQUMsS0FBSyxFQUFDLEtBQUssRUFBQyxLQUFLLEVBQUMsS0FBSyxFQUFDLEtBQUssRUFBQyxLQUFLLEVBQUMsS0FBSyxDQUFDLENBQUM7aUJBQ2pHO3FCQUFRO29CQUNULElBQUksQ0FBQyxlQUFlLENBQUMsS0FBSyxFQUFFLEtBQUssRUFBRSxLQUFLLEVBQUUsS0FBSyxFQUFDLEtBQUssRUFBQyxLQUFLLEVBQUMsSUFBSSxFQUFDLEtBQUssRUFBQyxLQUFLLEVBQUMsS0FBSyxFQUFDLEtBQUssRUFBQyxLQUFLLENBQUMsQ0FBQztpQkFDL0Y7YUFDRjtpQkFBTSxJQUFHLEdBQUcsQ0FBQyxDQUFDLENBQUMsSUFBSSxXQUFXLEVBQUM7Z0JBQzlCLElBQUcsR0FBRyxDQUFDLENBQUMsQ0FBQyxJQUFJLFdBQVcsSUFBSSxDQUFDLEdBQUcsQ0FBQyxRQUFRLENBQUMsZ0JBQWdCLENBQUMsQ0FBQyxFQUFFO29CQUM1RCxJQUFJLENBQUMsZUFBZSxDQUFDLEtBQUssRUFBRSxLQUFLLEVBQUUsS0FBSyxFQUFFLEtBQUssRUFBQyxLQUFLLEVBQUMsS0FBSyxFQUFDLEtBQUssRUFBQyxLQUFLLEVBQUMsS0FBSyxFQUFDLEtBQUssRUFBQyxLQUFLLEVBQUMsS0FBSyxDQUFDLENBQUM7aUJBQ2xHO3FCQUFNO29CQUNMLElBQUksQ0FBQyxlQUFlLENBQUMsSUFBSSxFQUFFLEtBQUssRUFBRSxLQUFLLEVBQUUsS0FBSyxFQUFDLEtBQUssRUFBQyxLQUFLLEVBQUMsS0FBSyxFQUFDLEtBQUssRUFBQyxLQUFLLEVBQUMsS0FBSyxFQUFDLEtBQUssRUFBQyxLQUFLLENBQUMsQ0FBQztpQkFDakc7YUFDRjtpQkFBTSxJQUFHLEdBQUcsQ0FBQyxDQUFDLENBQUMsSUFBSSxTQUFTLEVBQUU7Z0JBQzNCLElBQUksQ0FBQyxlQUFlLENBQUMsS0FBSyxFQUFFLEtBQUssRUFBRSxLQUFLLEVBQUUsS0FBSyxFQUFDLEtBQUssRUFBQyxLQUFLLEVBQUMsS0FBSyxFQUFDLEtBQUssRUFBQyxLQUFLLEVBQUMsS0FBSyxFQUFDLEtBQUssRUFBQyxLQUFLLENBQUMsQ0FBQzthQUVwRztpQkFBSztnQkFDSixJQUFJLEdBQUcsQ0FBQyxDQUFDLENBQUMsSUFBSSxPQUFPLEVBQUU7b0JBQ3JCLElBQUksQ0FBQyxlQUFlLENBQUMsS0FBSyxFQUFDLEtBQUssRUFBQyxLQUFLLEVBQUMsSUFBSSxFQUFDLEtBQUssRUFBQyxLQUFLLEVBQUMsS0FBSyxFQUFDLEtBQUssRUFBQyxLQUFLLEVBQUMsS0FBSyxFQUFDLEtBQUssRUFBQyxLQUFLLENBQUMsQ0FBQztpQkFDOUY7cUJBQU07b0JBQ0wsSUFBSSxDQUFDLGVBQWUsQ0FBQyxLQUFLLEVBQUUsS0FBSyxFQUFFLElBQUksRUFBRSxLQUFLLEVBQUUsS0FBSyxFQUFDLEtBQUssRUFBQyxLQUFLLEVBQUMsS0FBSyxFQUFDLEtBQUssRUFBQyxLQUFLLEVBQUMsS0FBSyxFQUFDLEtBQUssQ0FBQyxDQUFDO2lCQUNsRzthQUNGO1NBQ0Y7UUFDRCxNQUFNLG1CQUFtQixHQUFHLENBQUMsU0FBUyxFQUFFLFNBQVMsRUFBRSxNQUFNLENBQUMsQ0FBQztRQUMzRCxPQUFPLENBQ0wsSUFBSSxDQUFDLG1CQUFtQjtZQUN4QixtQkFBbUIsQ0FBQyxJQUFJLENBQUMsQ0FBQyxDQUFDLEVBQUUsRUFBRSxDQUFDLENBQUMsS0FBSyxJQUFJLENBQUMsZ0JBQWdCLENBQUMsQ0FDN0QsQ0FBQztJQUNKLENBQUM7SUFFRCxlQUFlLENBQ2IsWUFBcUIsRUFDckIsV0FBb0IsRUFDcEIsVUFBbUIsRUFDbkIsV0FBb0IsRUFDcEIsc0JBQStCLEVBQy9CLGlCQUF5QixFQUN6QixjQUFzQixFQUN0QixxQkFBNkIsRUFDN0IsWUFBb0IsRUFDcEIsZ0JBQXdCLEVBQ3hCLGFBQXFCLEVBQ3JCLHFCQUE2QjtRQUU3QixJQUFJLENBQUMsWUFBWSxHQUFHLFlBQVksQ0FBQztRQUNqQyxJQUFJLENBQUMsV0FBVyxHQUFHLFdBQVcsQ0FBQztRQUMvQixJQUFJLENBQUMsVUFBVSxHQUFHLFVBQVUsQ0FBQztRQUM3QixJQUFJLENBQUMsV0FBVyxHQUFHLFdBQVcsQ0FBQztRQUMvQixJQUFJLENBQUMsc0JBQXNCLEdBQUcsc0JBQXNCLENBQUM7UUFDckQsSUFBSSxDQUFDLGlCQUFpQixHQUFHLGlCQUFpQixDQUFDO1FBQzNDLElBQUksQ0FBQyxjQUFjLEdBQUcsY0FBYyxDQUFDO1FBQ3JDLElBQUksQ0FBQyxxQkFBcUIsR0FBRyxxQkFBcUIsQ0FBQztRQUNuRCxJQUFJLENBQUMsWUFBWSxHQUFHLFlBQVksQ0FBQztRQUNqQyxJQUFJLENBQUMsZ0JBQWdCLEdBQUcsZ0JBQWdCLENBQUM7UUFDekMsSUFBSSxDQUFDLGFBQWEsR0FBRyxhQUFhLENBQUM7UUFDckMsSUFBSSxDQUFDLHFCQUFxQixHQUFHLHFCQUFxQixDQUFDO0lBQ25ELENBQUM7SUFFRCxXQUFXLENBQUMsTUFBVTtRQUNwQixJQUFJLEdBQUcsR0FBRTtZQUNMLFFBQVEsRUFBRSxNQUFNLENBQUMsQ0FBQyxDQUFDLE1BQU0sQ0FBQyxDQUFDLENBQUEsRUFBRTtTQUNoQyxDQUFBO1FBQ0QsSUFBRyxNQUFNLEVBQUM7WUFDUixJQUFJLENBQUMsSUFBSSxDQUFDLGNBQWMsQ0FBQyxHQUFHLENBQUMsQ0FBQyxTQUFTLENBQUM7Z0JBQ3RDLElBQUksRUFBRSxDQUFDLENBQUMsRUFBRSxFQUFFO29CQUNWLFlBQVksQ0FBQyxPQUFPLENBQ2xCLGlCQUFpQixFQUNqQixJQUFJLENBQUMsU0FBUyxDQUFDLENBQUMsRUFBRSxJQUFJLEVBQUUsYUFBYSxJQUFJLEVBQUUsQ0FBQyxDQUM3QyxDQUFDO2dCQUNKLENBQUM7YUFDRixDQUFDLENBQUE7U0FDSDtJQUNILENBQUM7d0dBallZLGdCQUFnQjs0RkFBaEIsZ0JBQWdCLDZJQ2hCN0IsZ2dIQThEQTs7NEZEOUNhLGdCQUFnQjtrQkFMNUIsU0FBUzsrQkFDRSxhQUFhOytMQVFkLGlCQUFpQjtzQkFBekIsS0FBSztnQkFDRyxnQkFBZ0I7c0JBQXhCLEtBQUsiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBDb21wb25lbnQsIElucHV0LCBPbkRlc3Ryb3ksIE9uSW5pdCB9IGZyb20gXCJAYW5ndWxhci9jb3JlXCI7XHJcbmltcG9ydCB7IEFjdGl2YXRlZFJvdXRlLCBSb3V0ZXIgfSBmcm9tIFwiQGFuZ3VsYXIvcm91dGVyXCI7XHJcbmltcG9ydCB7IFN1YmplY3QsIFN1YnNjcmlwdGlvbiwgd2luZG93IH0gZnJvbSBcInJ4anNcIjtcclxuaW1wb3J0IHtcclxuICBHbG9iYWxTdGF0ZVNlcnZpY2UsXHJcbiAgTGF5b3V0U2VydmljZSxcclxuICBQYWdlSW5mb1NlcnZpY2UsXHJcbn0gZnJvbSBcInRhbmdvLWFwcC11aS1nbG9iYWxcIjtcclxuaW1wb3J0IHsgSUxheW91dCwgTGF5b3V0VHlwZSB9IGZyb20gXCJ0YW5nby1hcHAtdWktZ2xvYmFsXCI7XHJcbmltcG9ydCB7IEF1dGhTZXJ2aWNlIH0gZnJvbSBcIi4uLy4uLy4uL3NlcnZpY2VzL2F1dGguc2VydmljZVwiO1xyXG5cclxuQENvbXBvbmVudCh7XHJcbiAgc2VsZWN0b3I6IFwibGliLXRvb2xiYXJcIixcclxuICB0ZW1wbGF0ZVVybDogXCIuL3Rvb2xiYXIuY29tcG9uZW50Lmh0bWxcIixcclxuICBzdHlsZVVybHM6IFtcIi4vdG9vbGJhci5jb21wb25lbnQuc2Nzc1wiXSxcclxufSlcclxuZXhwb3J0IGNsYXNzIFRvb2xiYXJDb21wb25lbnQgaW1wbGVtZW50cyBPbkluaXQsIE9uRGVzdHJveSB7XHJcbiAgcHJpdmF0ZSB1bnN1YnNjcmliZTogU3Vic2NyaXB0aW9uW10gPSBbXTtcclxuXHJcbiAgLy8gUHVibGljIHByb3BzXHJcbiAgQElucHV0KCkgY3VycmVudExheW91dFR5cGU6IExheW91dFR5cGUgfCBudWxsO1xyXG4gIEBJbnB1dCgpIGFwcFRvb2xiYXJMYXlvdXQ6XHJcbiAgICB8IFwiY2xhc3NpY1wiXHJcbiAgICB8IFwiYWNjb3VudGluZ1wiXHJcbiAgICB8IFwiZXh0ZW5kZWRcIlxyXG4gICAgfCBcInJlcG9ydHNcIlxyXG4gICAgfCBcInNhYXNcIjtcclxuXHJcbiAgLy8gdG9vbGJhclxyXG4gIGFwcFRvb2xiYXJEaXNwbGF5OiBib29sZWFuO1xyXG4gIGFwcFRvb2xiYXJDb250YWluZXI6IFwiZml4ZWRcIiB8IFwiZmx1aWRcIjtcclxuICBhcHBUb29sYmFyQ29udGFpbmVyQ1NTQ2xhc3M6IHN0cmluZyA9IFwiXCI7XHJcbiAgYXBwVG9vbGJhckZpeGVkRGVza3RvcDogYm9vbGVhbjtcclxuICBhcHBUb29sYmFyRml4ZWRNb2JpbGU6IGJvb2xlYW47XHJcbiAgYXBwUGFnZVRpdGxlRGlzcGxheTogYm9vbGVhbjtcclxuXHJcbiAgLy8gcGFnZSB0aXRsZVxyXG4gIGFwcFBhZ2VUaXRsZURpcmVjdGlvbjogc3RyaW5nID0gXCJcIjtcclxuICBhcHBQYWdlVGl0bGVDU1NDbGFzczogc3RyaW5nID0gXCJcIjtcclxuICBhcHBQYWdlVGl0bGVCcmVhZGNydW1iOiBib29sZWFuO1xyXG4gIGFwcFBhZ2VUaXRsZURlc2NyaXB0aW9uOiBib29sZWFuO1xyXG4gIHF1ZXJQYXJhbXM6IGFueTtcclxuICBzaW5nbGVTZWxlY3Q6IGJvb2xlYW47XHJcbiAgbXVsdGlTZWxlY3Q6IGJvb2xlYW47XHJcbiAgZGF0ZXBpY2tlcjogYm9vbGVhbjtcclxuICBzaW5nbGVTZWxlY3RkYXRlcGlja2VyOiBib29sZWFuO1xyXG4gIHNpbmdsZVN0b3JlOiBib29sZWFuO1xyXG4gIGhlYWRlcnZhbHVlOiBhbnk7XHJcbiAgc3RvcmVJZDogYW55O1xyXG4gIHVzZXJzOiBhbnk7XHJcbiAgc2VsZWN0ZWRGaWx0ZXJzOiBhbnkgPSB7XHJcbiAgICBjbGllbnQ6IG51bGwsXHJcbiAgICBjbGllbnRzOiBbXSxcclxuICAgIHN0b3JlOiBudWxsLFxyXG4gICAgc3RvcmVzOiBbXSxcclxuICAgIGRhdGU6IG51bGwsXHJcbiAgfTtcclxuICB0cmFmZmljZGF0ZXBpY2tlcjogYm9vbGVhbjtcclxuICB0cmF4ZGF0ZXBpY2tlcjogYm9vbGVhbjtcclxuICB1cmxTdHJpbmc6YW55O1xyXG4gIHRyYXh3aXRob3V0ZGF0ZXBpY2tlcjpib29sZWFuO1xyXG4gIHN0b3Jlc1NpbmdsZTpib29sZWFuO1xyXG4gIG5vYldpdGhvdXRDbGllbnQ6Ym9vbGVhbjtcclxuICBtZXJ0aWNzSGVhZGVyOiBib29sZWFuO1xyXG4gIHNpbmdsZUNsaWVudFN0b3JlRGF0ZTpib29sZWFuO1xyXG4gIGNvbnN0cnVjdG9yKFxyXG4gICAgcHJpdmF0ZSBsYXlvdXQ6IExheW91dFNlcnZpY2UsXHJcbiAgICBwcml2YXRlIHJvdXRlcjogUm91dGVyLFxyXG4gICAgcHJpdmF0ZSByb3V0ZTogQWN0aXZhdGVkUm91dGUsXHJcbiAgICBwdWJsaWMgZ3M6IEdsb2JhbFN0YXRlU2VydmljZSxcclxuICAgIHByaXZhdGUgYXV0aCA6IEF1dGhTZXJ2aWNlXHJcbiAgKSB7fVxyXG5cclxuICBuZ09uSW5pdCgpOiB2b2lkIHtcclxuICAgIGlmIChcInVzZXItaW5mb1wiIGluIGxvY2FsU3RvcmFnZSkge1xyXG4gICAgICBjb25zdCB1c2VyRGF0YTogYW55ID0gSlNPTi5wYXJzZShcclxuICAgICAgICBsb2NhbFN0b3JhZ2UuZ2V0SXRlbShcInVzZXItaW5mb1wiKSB8fCBcInt9XCJcclxuICAgICAgKTtcclxuICAgICAgdGhpcy51c2VycyA9IHVzZXJEYXRhO1xyXG4gICAgfVxyXG4gICAgaWYgKFwiaGVhZGVyLWZpbHRlcnNcIiBpbiBsb2NhbFN0b3JhZ2UpIHtcclxuICAgICAgY29uc3QgZGF0YTogYW55ID0gSlNPTi5wYXJzZShcclxuICAgICAgICBsb2NhbFN0b3JhZ2UuZ2V0SXRlbShcImhlYWRlci1maWx0ZXJzXCIpIHx8IFwie31cIlxyXG4gICAgICApO1xyXG4gdGhpcy5jbGllbnQgPSBkYXRhPy5jbGllbnQ7XHJcbiAgICB9XHJcbiAgICB0aGlzLmdldFVzZXJJbmZvKHRoaXMuY2xpZW50ID8gdGhpcy5jbGllbnQgOiB0aGlzLnVzZXJzLmNsaWVudClcclxuICAgIHRoaXMuc2hvd1BhZ2VUaXRsZSgpO1xyXG4gICAgY29uc3Qgc3Vic2NyID0gdGhpcy5sYXlvdXQubGF5b3V0Q29uZmlnU3ViamVjdFxyXG4gICAgICAuYXNPYnNlcnZhYmxlKClcclxuICAgICAgLnN1YnNjcmliZSgoY29uZmlnOiBJTGF5b3V0KSA9PiB7XHJcbiAgICAgICAgdGhpcy51cGRhdGVQcm9wcyhjb25maWcpO1xyXG4gICAgICB9KTtcclxuICAgIHRoaXMudW5zdWJzY3JpYmUucHVzaChzdWJzY3IpO1xyXG4gIH1cclxuXHJcbiAgdXBkYXRlUHJvcHMoY29uZmlnOiBJTGF5b3V0KSB7XHJcbiAgICB0aGlzLmFwcFRvb2xiYXJEaXNwbGF5ID0gdGhpcy5sYXlvdXQuZ2V0UHJvcChcclxuICAgICAgXCJhcHAudG9vbGJhci5kaXNwbGF5XCIsXHJcbiAgICAgIGNvbmZpZ1xyXG4gICAgKSBhcyBib29sZWFuO1xyXG4gICAgaWYgKCF0aGlzLmFwcFRvb2xiYXJEaXNwbGF5KSB7XHJcbiAgICAgIHJldHVybjtcclxuICAgIH1cclxuXHJcbiAgICB0aGlzLmFwcFBhZ2VUaXRsZURpc3BsYXkgPSB0aGlzLmxheW91dC5nZXRQcm9wKFxyXG4gICAgICBcImFwcC5wYWdlVGl0bGUuZGlzcGxheVwiLFxyXG4gICAgICBjb25maWdcclxuICAgICkgYXMgYm9vbGVhbjtcclxuICAgIHRoaXMuYXBwVG9vbGJhckNvbnRhaW5lciA9IHRoaXMubGF5b3V0LmdldFByb3AoXHJcbiAgICAgIFwiYXBwLnRvb2xiYXIuY29udGFpbmVyXCIsXHJcbiAgICAgIGNvbmZpZ1xyXG4gICAgKSBhcyBcImZsdWlkXCIgfCBcImZpeGVkXCI7XHJcbiAgICB0aGlzLmFwcFRvb2xiYXJDb250YWluZXJDU1NDbGFzcyA9XHJcbiAgICAgIHRoaXMuYXBwVG9vbGJhckNvbnRhaW5lciA9PT0gXCJmaXhlZFwiXHJcbiAgICAgICAgPyBcImNvbnRhaW5lci14eGxcIlxyXG4gICAgICAgIDogXCJjb250YWluZXItZmx1aWRcIjtcclxuICAgIGNvbnN0IGNvbnRhaW5lckNsYXNzID0gdGhpcy5sYXlvdXQuZ2V0UHJvcChcclxuICAgICAgXCJhcHAudG9vbGJhci5jb250YWluZXJDbGFzc1wiLFxyXG4gICAgICBjb25maWdcclxuICAgICkgYXMgc3RyaW5nO1xyXG4gICAgaWYgKGNvbnRhaW5lckNsYXNzKSB7XHJcbiAgICAgIHRoaXMuYXBwVG9vbGJhckNvbnRhaW5lckNTU0NsYXNzICs9IGAgJHtjb250YWluZXJDbGFzc31gO1xyXG4gICAgfVxyXG5cclxuICAgIHRoaXMuYXBwVG9vbGJhckZpeGVkRGVza3RvcCA9IHRoaXMubGF5b3V0LmdldFByb3AoXHJcbiAgICAgIFwiYXBwLnRvb2xiYXIuZml4ZWQuZGVza3RvcFwiLFxyXG4gICAgICBjb25maWdcclxuICAgICkgYXMgYm9vbGVhbjtcclxuICAgIGlmICh0aGlzLmFwcFRvb2xiYXJGaXhlZERlc2t0b3ApIHtcclxuICAgICAgZG9jdW1lbnQuYm9keS5zZXRBdHRyaWJ1dGUoXCJkYXRhLWt0LWFwcC10b29sYmFyLWZpeGVkXCIsIFwidHJ1ZVwiKTtcclxuICAgIH1cclxuXHJcbiAgICB0aGlzLmFwcFRvb2xiYXJGaXhlZE1vYmlsZSA9IHRoaXMubGF5b3V0LmdldFByb3AoXHJcbiAgICAgIFwiYXBwLnRvb2xiYXIuZml4ZWQubW9iaWxlXCIsXHJcbiAgICAgIGNvbmZpZ1xyXG4gICAgKSBhcyBib29sZWFuO1xyXG4gICAgaWYgKHRoaXMuYXBwVG9vbGJhckZpeGVkTW9iaWxlKSB7XHJcbiAgICAgIGRvY3VtZW50LmJvZHkuc2V0QXR0cmlidXRlKFwiZGF0YS1rdC1hcHAtdG9vbGJhci1maXhlZC1tb2JpbGVcIiwgXCJ0cnVlXCIpO1xyXG4gICAgfVxyXG5cclxuICAgIC8vIHRvb2xiYXJcclxuICAgIHRoaXMuYXBwUGFnZVRpdGxlRGlyZWN0aW9uID0gdGhpcy5sYXlvdXQuZ2V0UHJvcChcclxuICAgICAgXCJhcHAucGFnZVRpdGxlLmRpcmVjdGlvblwiLFxyXG4gICAgICBjb25maWdcclxuICAgICkgYXMgc3RyaW5nO1xyXG4gICAgdGhpcy5hcHBQYWdlVGl0bGVDU1NDbGFzcyA9IHRoaXMubGF5b3V0LmdldFByb3AoXHJcbiAgICAgIFwiYXBwLnBhZ2VUaXRsZS5jbGFzc1wiLFxyXG4gICAgICBjb25maWdcclxuICAgICkgYXMgc3RyaW5nO1xyXG4gICAgdGhpcy5hcHBQYWdlVGl0bGVCcmVhZGNydW1iID0gdGhpcy5sYXlvdXQuZ2V0UHJvcChcclxuICAgICAgXCJhcHAucGFnZVRpdGxlLmJyZWFkQ3J1bWJcIixcclxuICAgICAgY29uZmlnXHJcbiAgICApIGFzIGJvb2xlYW47XHJcbiAgICB0aGlzLmFwcFBhZ2VUaXRsZURlc2NyaXB0aW9uID0gdGhpcy5sYXlvdXQuZ2V0UHJvcChcclxuICAgICAgXCJhcHAucGFnZVRpdGxlLmRlc2NyaXB0aW9uXCIsXHJcbiAgICAgIGNvbmZpZ1xyXG4gICAgKSBhcyBib29sZWFuO1xyXG5cclxuICAgIGRvY3VtZW50LmJvZHkuc2V0QXR0cmlidXRlKFwiZGF0YS1rdC1hcHAtdG9vbGJhci1lbmFibGVkXCIsIFwidHJ1ZVwiKTtcclxuICB9XHJcbiAgcHJpdmF0ZSByZWFkb25seSBkZXN0cm95JCA9IG5ldyBTdWJqZWN0KCk7XHJcbiAgbmdPbkRlc3Ryb3koKSB7XHJcbiAgICB0aGlzLnVuc3Vic2NyaWJlLmZvckVhY2goKHNiKSA9PiBzYi51bnN1YnNjcmliZSgpKTtcclxuICAgIHRoaXMuZGVzdHJveSQubmV4dCh0cnVlKTtcclxuICAgIHRoaXMuZGVzdHJveSQuY29tcGxldGUoKTtcclxuICAgIC8vIGxvY2FsU3RvcmFnZS5yZW1vdmVJdGVtKFwidXNlcnNFbWFpbC1pbmZvXCIpO1xyXG4gIH1cclxuICBjbGllbnQ6YW55O1xyXG4gIHVybFN0cmluZzE6YW55O1xyXG4gIHNob3dQYWdlVGl0bGUoKSB7XHJcbiAgICBsZXQgVVJMOiBzdHJpbmcgPSBcIlwiO1xyXG4gICAgaWYgKFwiaGVhZGVyLWZpbHRlcnNcIiBpbiBsb2NhbFN0b3JhZ2UpIHtcclxuICAgICAgY29uc3QgZGF0YTogYW55ID0gSlNPTi5wYXJzZShcclxuICAgICAgICBsb2NhbFN0b3JhZ2UuZ2V0SXRlbShcImhlYWRlci1maWx0ZXJzXCIpIHx8IFwie31cIlxyXG4gICAgICApO1xyXG4gICAgIGNvbnN0IHN0b3JlID0gIHRoaXMucm91dGUuc25hcHNob3QucXVlcnlQYXJhbU1hcCBhcyBhbnkgICAgICBcclxuICAgICAgdGhpcy5zdG9yZUlkID0gIGRhdGE/LnN0b3JlO1xyXG5cclxuICAgICAgaWYoc3RvcmU/LnBhcmFtcz8uWydzdG9yZUlkJ10pe1xyXG4gICAgICAgIHRoaXMuc3RvcmVJZCA9IHN0b3JlLnBhcmFtc1snc3RvcmVJZCddXHJcbiAgICAgICAgZGF0YS5zdG9yZSA9IHN0b3JlLnBhcmFtc1snc3RvcmVJZCddXHJcbiAgICAgICAgbG9jYWxTdG9yYWdlLnNldEl0ZW0oJ2hlYWRlci1maWx0ZXJzJywgSlNPTi5zdHJpbmdpZnkoZGF0YSkpXHJcbiAgICAgIH1cclxuICAgICAgY29uc3QgY3VycmVudFVybCA9IHRoaXMucm91dGVyLnVybDtcclxuICAgICAgY29uc3QgdXBkYXRlZFVybCA9IGN1cnJlbnRVcmwucmVwbGFjZShcclxuICAgICAgICAvXFwvbWFuYWdlXFwvc3RvcmVzXFwvXFxkKy1cXGQrXFwvLyxcclxuICAgICAgICBgL21hbmFnZS9zdG9yZXMvYFxyXG4gICAgICApO1xyXG4gICAgICBVUkwgPSB1cGRhdGVkVXJsO1xyXG4gICAgICAvLyB0aGlzLnJvdXRlci5uYXZpZ2F0ZShbVVJMXSlcclxuICAgIH1cclxuICBjb25zdCB1cmwgPSBVUkwuc3BsaXQoXCI/XCIpWzBdLnNwbGl0KCcvJyk7XHJcbiAgdGhpcy51cmxTdHJpbmcgPSBVUkw7XHJcbiAgIHRoaXMudXJsU3RyaW5nMT0gVVJMLnNwbGl0KCcvJyk7XHJcbiAgaWYgKHRoaXMudXNlcnM/LnVzZXJUeXBlID09PSBcInRhbmdvXCIpIHtcclxuICAgIGlmICh1cmxbMl0gPT0gXCJzZXR0aW5nc1wiIHx8IFVSTCA9PSBcIi9tYW5hZ2UvdXNlcnMvY2xpZW50XCJ8fFVSTCA9PSBcIi9tYW5hZ2UvYmlsbGluZy9icmFuZC1pbnZvaWNlc1wifHxVUkwgPT0gXCIvbWFuYWdlL2JpbGxpbmcvc2V0dXAtYmlsbGluZ1wifHxcclxuICAgIFVSTCA9PSBcIi9tYW5hZ2Uvc3RvcmVzXCIgfHwgIFVSTCA9PT0gXCIvbWFuYWdlL3N0b3Jlcz90eXBlPXN0b3Jlc1wiIHx8IFVSTCA9PT0gXCIvbWFuYWdlL3N0b3Jlcz90eXBlPWNsdXN0ZXJzXCIgfHxcclxuICAgIFVSTCA9PSBcIi9tYW5hZ2Uvc3RvcmVzL2FkZGl0aW9uLW1ldGhvZFwiIHx8XHJcbiAgICBVUkwgPT0gXCIvbWFuYWdlL3N0b3Jlcy9hZGQtc2luZ2xlLXN0b3JlXCIgfHwgVVJMID09PSBcIi9tYW5hZ2UvdHJheC9nYWxsZXJ5XCIgfHwgVVJMID09IFwiL25vdGlmaWNhdGlvbnMvYWxlcnRzP3RhYj1hbGVydFwiIHx8ICBVUkwgPT0gXCIvbm90aWZpY2F0aW9ucy9hbGVydHM/dGFiPWRvd25sb2FkXCIgfHwgVVJMID09PSBcIi9tYW5hZ2UvdHJheC9hdWRpdFwiICkge1xyXG4gICAgICB0aGlzLnNldFVJUHJvcGVydGllcyh0cnVlLCBmYWxzZSwgZmFsc2UsIGZhbHNlLCBmYWxzZSxmYWxzZSxmYWxzZSxmYWxzZSxmYWxzZSxmYWxzZSxmYWxzZSxmYWxzZSk7XHJcbiAgICB9ICBlbHNlIGlmICh1cmxbM10gPT0gXCJlZGdlLWFwcFwiKSB7XHJcbiAgICAgIHRoaXMuc2V0VUlQcm9wZXJ0aWVzKGZhbHNlLCBmYWxzZSwgZmFsc2UsIGZhbHNlLCB0cnVlLGZhbHNlLGZhbHNlLGZhbHNlLGZhbHNlLGZhbHNlLGZhbHNlLGZhbHNlKTtcclxuICAgIH0gZWxzZSBpZiAoXHJcbiAgICAgIFVSTCA9PSBgL21hbmFnZS9zdG9yZXMvaW5mcmEtdGlja2V0P3N0b3JlSWQ9JHt0aGlzLnN0b3JlSWR9YCB8fCAgVVJMID09IGAvbWFuYWdlL3N0b3Jlcy9pbmZyYS10aWNrZXQ/c3RvcmVJZD0ke3RoaXMuc3RvcmVJZH0mdHlwZT1pbmZyYWAgfHxcclxuICAgICAgVVJMID09IGAvbWFuYWdlL3N0b3Jlcy9zZXR0aW5ncz9zdG9yZUlkPSR7dGhpcy5zdG9yZUlkfWAgfHwgVVJMID09IGAvbWFuYWdlL3N0b3Jlcy9pbmZyYS10aWNrZXQ/c3RvcmVJZD0ke3RoaXMuc3RvcmVJZH0mdHlwZT1kYXRhTWlzbWF0Y2hgIHx8XHJcbiAgICAgIFVSTCA9PSBgL21hbmFnZS9zdG9yZXMvem9uZXM/c3RvcmVJZD0ke3RoaXMuc3RvcmVJZH1gIHx8XHJcbiAgICAgIFVSTCA9PSBgL21hbmFnZS9zdG9yZXMvY2FtZXJhcz9zdG9yZUlkPSR7dGhpcy5zdG9yZUlkfWAgfHxcclxuICAgICAgLy8gVVJMID09IGAvbWFuYWdlL3N0b3Jlcy9pbmZyYXN0cnVjdHVyZT9zdG9yZUlkPSR7dGhpcy5zdG9yZUlkfWAgfHxcclxuICAgICAgVVJMID09IGAvbWFuYWdlL3N0b3Jlcy9tYXQ/c3RvcmVJZD0ke3RoaXMuc3RvcmVJZH1gXHJcbiAgICApIHtcclxuICAgICAgdGhpcy5zZXRVSVByb3BlcnRpZXMoZmFsc2UsIGZhbHNlLCBmYWxzZSwgdHJ1ZSwgZmFsc2UsZmFsc2UsZmFsc2UsZmFsc2UsZmFsc2UsZmFsc2UsZmFsc2UsZmFsc2UpO1xyXG4gICAgfWVsc2UgaWYgKFVSTCA9PSBcIi90aWNrZXRzL3N0b3Jlc1wiIHx8IFVSTCA9PSBcIi9tYW5hZ2UvdXNlcnMvdGFuZ28vYXVkaXRcIikge1xyXG4gICAgICB0aGlzLnNldFVJUHJvcGVydGllcyhmYWxzZSwgZmFsc2UsIHRydWUsIGZhbHNlLCBmYWxzZSwgZmFsc2UsIGZhbHNlLCBmYWxzZSwgZmFsc2UsIGZhbHNlLGZhbHNlLGZhbHNlKTtcclxuICAgIH1cclxuICAgIGVsc2UgaWYodXJsWzJdID09PSAnY29udHJvbGNlbnRlcicpe1xyXG4gICAgICBpZihVUkwgPT0gYC9tYW5hZ2UvY29udHJvbGNlbnRlci9wbGF5YmFjaz9zdG9yZUlkPSR7dGhpcy5zdG9yZUlkfWB8fCBVUkwgPT0gYC9tYW5hZ2UvY29udHJvbGNlbnRlci9wbGF5YmFja2Ape1xyXG4gICAgICAgIHRoaXMuc2V0VUlQcm9wZXJ0aWVzKGZhbHNlLCBmYWxzZSwgZmFsc2UsIGZhbHNlLGZhbHNlLGZhbHNlLGZhbHNlLGZhbHNlLHRydWUsZmFsc2UsZmFsc2UsZmFsc2UpO1xyXG4gICAgICB9XHJcbiAgICAgIGVsc2Uge1xyXG4gICAgICB0aGlzLnNldFVJUHJvcGVydGllcyhmYWxzZSwgZmFsc2UsIGZhbHNlLCBmYWxzZSx0cnVlLGZhbHNlLGZhbHNlLGZhbHNlLGZhbHNlLGZhbHNlLGZhbHNlLGZhbHNlKTtcclxuICAgIH0gXHJcbiAgfVxyXG4gIC8vIGVsc2UgaWYgKHVybFsyXSA9PT0gJ2FpLWF1ZGlvJyAmJiB1cmxbM10gIT09ICdhdWRpbycgJiYgdXJsWzNdICE9PSAndHJhbnNjcmlwdCcpIHtcclxuICAvLyAgICAgdGhpcy5zZXRVSVByb3BlcnRpZXModHJ1ZSwgZmFsc2UsIGZhbHNlLCBmYWxzZSwgZmFsc2UsZmFsc2UsZmFsc2UsZmFsc2UsZmFsc2UsZmFsc2UsZmFsc2UsZmFsc2UpO1xyXG4gIC8vICAgfSBcclxuICAgIGVsc2UgaWYgKHVybFsyXSA9PT0gJ2FpLWF1ZGlvJyAmJiB1cmxbM10gPT09ICdlY2hvJykge1xyXG4gICAgICB0aGlzLnNldFVJUHJvcGVydGllcyhmYWxzZSwgZmFsc2UsIGZhbHNlLCBmYWxzZSxmYWxzZSx0cnVlLGZhbHNlLGZhbHNlLGZhbHNlLGZhbHNlLGZhbHNlLGZhbHNlKTtcclxuICAgIH1cclxuICAgIGVsc2UgaWYgKFVSTCA9PSBcIi9wcm9maWxlXCIgfHwgdXJsWzJdPT09XCJkYXRhLW1pc21hdGNoXCIgfHwgdXJsWzJdPT09XCJlbXBsb3llZXRyYWluaW5nXCJcclxuICAgICAgIHx8IFVSTCA9PSBcIi9tYW5hZ2UvYnJhbmRzXCJ8fFVSTCA9PSBcIi9tYW5hZ2UvYmlsbGluZ1wiIHx8IHVybFsyXSA9PT0gJ2FpLWF1ZGlvJyAmJiB1cmxbM10gIT09ICdhdWRpbycgJiYgdXJsWzNdICE9PSAndHJhbnNjcmlwdCd8fCBVUkwgPT0gXCIvbWFuYWdlL2FpLWF1ZGlvL3RyYW5zY3JpcHRcIiB8fFVSTCA9PSBcIi9tYW5hZ2UvYWktYXVkaW8vYXVkaW9cIiAgfHwgIFVSTCA9PSBcIi9tYW5hZ2UvdXNlcnMvdGFuZ29cIiB8fCAodXJsWzFdID09PVwidGlja2V0c1wiICYmIHVybFsyXSA9PT0gXCJhdWRpdFwiKSB8fCB1cmwuaW5jbHVkZXMoJ2xpc3QnKSkge1xyXG4gICAgICB0aGlzLnNldFVJUHJvcGVydGllcyhmYWxzZSwgZmFsc2UsIGZhbHNlLCBmYWxzZSwgZmFsc2UsZmFsc2UsZmFsc2UsZmFsc2UsZmFsc2UsZmFsc2UsZmFsc2UsZmFsc2UpO1xyXG4gICAgfSBlbHNlIGlmKFVSTCA9PSBcIi9tYW5hZ2UvdHJhZmZpYy9ub2JcIil7XHJcbiAgICAgIHRoaXMuc2V0VUlQcm9wZXJ0aWVzKGZhbHNlLCBmYWxzZSwgZmFsc2UsIGZhbHNlLGZhbHNlLGZhbHNlLGZhbHNlLGZhbHNlLGZhbHNlLHRydWUsZmFsc2UsZmFsc2UpO1xyXG4gICAgfVxyXG4gICAgZWxzZSBpZih1cmxbMl0gPT09IFwidHJhZmZpY1wiIHx8IHVybFsyXSA9PT0gXCJ6b25lc1wiIHx8IFVSTCA9PSBcIi9tYW5hZ2UvYW5hbHlzZS9yZXBvcnRzXCIpe1xyXG4gICAgICAgIHRoaXMuc2V0VUlQcm9wZXJ0aWVzKGZhbHNlLCBmYWxzZSwgZmFsc2UsIGZhbHNlLGZhbHNlLHRydWUsZmFsc2UsZmFsc2UsZmFsc2UsZmFsc2UsZmFsc2UsZmFsc2UpO1xyXG4gICAgfVxyXG4gICAgZWxzZSBpZihVUkwgPT0gXCIvbWFuYWdlL2VtcGxveWVlLW1ldHJpY3MvYmVlYWhHcm91cFwiIHx8IFVSTCA9PSBcIi9tYW5hZ2UvZW1wbG95ZWUtbWV0cmljcy9iZWVhaExpdmVcIil7XHJcbiAgICAgICAgdGhpcy5zZXRVSVByb3BlcnRpZXMoZmFsc2UsIGZhbHNlLCBmYWxzZSwgZmFsc2UsZmFsc2UsZmFsc2UsZmFsc2UsZmFsc2UsZmFsc2UsZmFsc2UsZmFsc2UsdHJ1ZSk7XHJcbiAgICB9IGVsc2UgaWYodXJsWzJdID09PSBcImVtcGxveWVlLW1ldHJpY3NcIiAmJiB1cmxbM10gPT09IFwiaGVhdG1hcFwiKXtcclxuICAgICAgICB0aGlzLnNldFVJUHJvcGVydGllcyhmYWxzZSwgZmFsc2UsIGZhbHNlLCBmYWxzZSxmYWxzZSxmYWxzZSxmYWxzZSxmYWxzZSx0cnVlLGZhbHNlLGZhbHNlLGZhbHNlKTtcclxuICAgIH0gZWxzZSBpZih1cmxbMl0gPT09IFwiZW1wbG95ZWUtbWV0cmljc1wiKXtcclxuICAgICAgICB0aGlzLnNldFVJUHJvcGVydGllcyhmYWxzZSwgZmFsc2UsIGZhbHNlLCBmYWxzZSxmYWxzZSxmYWxzZSxmYWxzZSxmYWxzZSxmYWxzZSxmYWxzZSx0cnVlLGZhbHNlKTtcclxuICAgIH0gZWxzZSBpZih1cmxbMl0gPT0gJ3RyYXgnKXtcclxuICAgICAgaWYodXJsWzJdID09ICd0cmF4JyAmJiAodXJsLmluY2x1ZGVzKCdjcmVhdGVDaGVja2xpc3QnKSB8fCB1cmwuaW5jbHVkZXMoJ2NvbmZpZ3VyZScpIHx8IHVybC5pbmNsdWRlcygnY3JlYXRlLW9yZGVyJyl8fCB1cmxbM10gPT0gJ2NyZWF0ZS10YXNrJyB8fCB1cmxbM10gPT0gJ3Rhc2stY29uZmlndXJlJykpIHtcclxuICAgICAgICB0aGlzLnNldFVJUHJvcGVydGllcyhmYWxzZSwgZmFsc2UsIGZhbHNlLCBmYWxzZSxmYWxzZSxmYWxzZSxmYWxzZSxmYWxzZSxmYWxzZSxmYWxzZSxmYWxzZSxmYWxzZSk7XHJcbiAgICAgIH0gXHJcbiAgICAgIC8vIGVsc2UgaWYodXJsWzJdID09ICd0cmF4JyAmJiAodXJsLmluY2x1ZGVzKCd0YXNraW5mbycpKSl7XHJcbiAgICAgIC8vICAgdGhpcy5zZXRVSVByb3BlcnRpZXMoZmFsc2UsIGZhbHNlLCBmYWxzZSwgZmFsc2UsZmFsc2UsZmFsc2UsZmFsc2UsdHJ1ZSxmYWxzZSxmYWxzZSxmYWxzZSxmYWxzZSk7XHJcbiAgICAgIC8vIH1cclxuICAgICAgZWxzZSBpZih1cmxbMl0gPT0gJ3RyYXgnICYmIHVybC5pbmNsdWRlcygnc3RhcnQnKSl7XHJcbiAgICAgICAgdGhpcy5zZXRVSVByb3BlcnRpZXMoZmFsc2UsIGZhbHNlLCBmYWxzZSwgZmFsc2UsIGZhbHNlLGZhbHNlLGZhbHNlLGZhbHNlLGZhbHNlLGZhbHNlLGZhbHNlLGZhbHNlKTtcclxuICAgICAgfVxyXG4gICAgICBlbHNlIGlmKHVybFsyXSA9PSAndHJheCcgJiYgKHVybC5pbmNsdWRlcygnY2hlY2tsaXN0JykgfHwgdXJsLmluY2x1ZGVzKCdnYWxsZXJ5JykpIHx8IHVybC5pbmNsdWRlcygnYXVkaXQnKSkge1xyXG4gICAgICAgIHRoaXMuc2V0VUlQcm9wZXJ0aWVzKHRydWUsIGZhbHNlLCBmYWxzZSwgZmFsc2UsZmFsc2UsZmFsc2UsZmFsc2UsZmFsc2UsZmFsc2UsZmFsc2UsZmFsc2UsZmFsc2UpO1xyXG4gICAgICB9ICAgZWxzZSB7XHJcbiAgICAgIHRoaXMuc2V0VUlQcm9wZXJ0aWVzKGZhbHNlLCBmYWxzZSwgZmFsc2UsIGZhbHNlLGZhbHNlLGZhbHNlLHRydWUsZmFsc2UsZmFsc2UsZmFsc2UsZmFsc2UsZmFsc2UpO1xyXG4gICAgICB9XHJcbiAgICB9IGVsc2UgaWYodXJsWzJdID09ICdwbGFub2dyYW0nKXtcclxuICAgICAgaWYodXJsWzJdID09ICdwbGFub2dyYW0nICYmICh1cmwuaW5jbHVkZXMoJ2xheW91dC1idWlsZGVyJykpKSB7XHJcbiAgICAgICAgdGhpcy5zZXRVSVByb3BlcnRpZXMoZmFsc2UsIGZhbHNlLCBmYWxzZSwgZmFsc2UsZmFsc2UsZmFsc2UsZmFsc2UsZmFsc2UsZmFsc2UsZmFsc2UsZmFsc2UsZmFsc2UpO1xyXG4gICAgICB9ZWxzZSB7XHJcbiAgICAgICAgaWYodXJsWzJdID09ICdwbGFub2dyYW0nICYmICh1cmxbM10gPT0gJ21hbmFnZS1wbGFub2dyYW0nIHx8IHVybFszXSA9PSAnbWFuYWdlLXJvbGxvdXQnKSkge1xyXG4gICAgICAgICAgdGhpcy5zZXRVSVByb3BlcnRpZXMoZmFsc2UsZmFsc2UsZmFsc2UsZmFsc2UsZmFsc2UsZmFsc2UsZmFsc2UsZmFsc2UsZmFsc2UsZmFsc2UsZmFsc2UsZmFsc2UpO1xyXG4gICAgICAgIH1cclxuICAgICAgICBlbHNlIHtcclxuICAgICAgICAgIHRoaXMuc2V0VUlQcm9wZXJ0aWVzKHRydWUsIGZhbHNlLCBmYWxzZSwgZmFsc2UsZmFsc2UsZmFsc2UsZmFsc2UsZmFsc2UsZmFsc2UsZmFsc2UsZmFsc2UsZmFsc2UpO1xyXG4gICAgICAgIH1cclxuICAgICAgfVxyXG4gICAgfSBlbHNlIGlmKHVybFsxXSA9PSAnZXlldGVzdCcgKXtcclxuICAgICAgICB0aGlzLnNldFVJUHJvcGVydGllcyhmYWxzZSwgZmFsc2UsIGZhbHNlLCBmYWxzZSxmYWxzZSxmYWxzZSxmYWxzZSxmYWxzZSxmYWxzZSxmYWxzZSxmYWxzZSxmYWxzZSk7XHJcbiBcclxuICAgIH1lbHNle1xyXG4gICAgICBpZih1cmxbM10gPT0gJ3BsYW5vJykge1xyXG4gICAgICAgIHRoaXMuc2V0VUlQcm9wZXJ0aWVzKGZhbHNlLCBmYWxzZSwgZmFsc2UsIHRydWUsIGZhbHNlLGZhbHNlLGZhbHNlLGZhbHNlLGZhbHNlLGZhbHNlLGZhbHNlLGZhbHNlKTtcclxuICAgICAgfVxyXG4gICAgICBlbHNlIHtcclxuICAgICAgdGhpcy5zZXRVSVByb3BlcnRpZXMoZmFsc2UsIGZhbHNlLCBmYWxzZSwgZmFsc2UsdHJ1ZSxmYWxzZSxmYWxzZSxmYWxzZSxmYWxzZSxmYWxzZSxmYWxzZSxmYWxzZSk7XHJcbiAgICAgIH1cclxuICAgIH1cclxuICB9IGVsc2Uge1xyXG4gICAgaWYgKHVybFszXSA9PSBcImVkZ2UtYXBwXCIgKSB7XHJcbiAgICAgIHRoaXMuc2V0VUlQcm9wZXJ0aWVzKGZhbHNlLCBmYWxzZSwgdHJ1ZSwgZmFsc2UsIGZhbHNlLGZhbHNlLGZhbHNlLGZhbHNlLGZhbHNlLGZhbHNlLGZhbHNlLGZhbHNlKTtcclxuICAgIH0gZWxzZSBpZiAoXHJcbiAgICAgIFVSTCA9PSBgL21hbmFnZS9zdG9yZXMvaW5mcmEtdGlja2V0P3N0b3JlSWQ9JHt0aGlzLnN0b3JlSWR9YCB8fCAgVVJMID09IGAvbWFuYWdlL3N0b3Jlcy9pbmZyYS10aWNrZXQ/c3RvcmVJZD0ke3RoaXMuc3RvcmVJZH0mdHlwZT1pbmZyYWAgfHxcclxuICAgICAgVVJMID09IGAvbWFuYWdlL3N0b3Jlcy9zZXR0aW5ncz9zdG9yZUlkPSR7dGhpcy5zdG9yZUlkfWAgfHwgVVJMID09IGAvbWFuYWdlL3N0b3Jlcy9pbmZyYS10aWNrZXQ/c3RvcmVJZD0ke3RoaXMuc3RvcmVJZH0mdHlwZT1kYXRhTWlzbWF0Y2hgIHx8XHJcbiAgICAgIFVSTCA9PSBgL21hbmFnZS9zdG9yZXMvem9uZXM/c3RvcmVJZD0ke3RoaXMuc3RvcmVJZH1gIHx8XHJcbiAgICAgIFVSTCA9PSBgL21hbmFnZS9zdG9yZXMvY2FtZXJhcz9zdG9yZUlkPSR7dGhpcy5zdG9yZUlkfWAgfHxcclxuICAgICAgLy8gVVJMID09IGAvbWFuYWdlL3N0b3Jlcy9pbmZyYXN0cnVjdHVyZT9zdG9yZUlkPSR7dGhpcy5zdG9yZUlkfWAgfHxcclxuICAgICAgVVJMID09IGAvbWFuYWdlL3N0b3Jlcy9tYXQ/c3RvcmVJZD0ke3RoaXMuc3RvcmVJZH1gXHJcbiAgICApIHtcclxuICAgICAgdGhpcy5zZXRVSVByb3BlcnRpZXMoZmFsc2UsIGZhbHNlLCBmYWxzZSwgdHJ1ZSwgZmFsc2UsZmFsc2UsZmFsc2UsZmFsc2UsZmFsc2UsZmFsc2UsZmFsc2UsZmFsc2UpO1xyXG4gICAgfSBlbHNlIGlmKHVybFsyXSA9PT0gJ2NvbnRyb2xjZW50ZXInKXtcclxuICAgICAgaWYoVVJMID09IGAvbWFuYWdlL2NvbnRyb2xjZW50ZXIvcGxheWJhY2s/c3RvcmVJZD0ke3RoaXMuc3RvcmVJZH1gfHwgVVJMID09IGAvbWFuYWdlL2NvbnRyb2xjZW50ZXIvcGxheWJhY2tgKXtcclxuICAgICAgICB0aGlzLnNldFVJUHJvcGVydGllcyhmYWxzZSwgZmFsc2UsIGZhbHNlLCBmYWxzZSxmYWxzZSxmYWxzZSxmYWxzZSxmYWxzZSx0cnVlLGZhbHNlLGZhbHNlLGZhbHNlKTtcclxuICAgICAgfVxyXG4gICAgICBlbHNlIHtcclxuICAgICAgdGhpcy5zZXRVSVByb3BlcnRpZXMoZmFsc2UsIGZhbHNlLCBmYWxzZSwgZmFsc2UsdHJ1ZSxmYWxzZSxmYWxzZSxmYWxzZSxmYWxzZSxmYWxzZSxmYWxzZSxmYWxzZSk7XHJcbiAgICB9IFxyXG4gIH0gXHJcbiAgLy8gZWxzZSBpZiAodXJsWzJdID09PSAnYWktYXVkaW8nICYmIHVybFszXSAhPT0gJ2F1ZGlvJyAmJiB1cmxbM10gIT09ICd0cmFuc2NyaXB0Jykge1xyXG4gIC8vICAgICB0aGlzLnNldFVJUHJvcGVydGllcyhmYWxzZSwgZmFsc2UsIGZhbHNlLCBmYWxzZSwgZmFsc2UsZmFsc2UsZmFsc2UsZmFsc2UsZmFsc2UsZmFsc2UsZmFsc2UsZmFsc2UpO1xyXG4gIC8vICAgfSBcclxuICAgIGVsc2UgaWYgKFVSTCA9PSBcIi9wcm9maWxlXCIgfHwgVVJMID09IFwiL21hbmFnZS91c2Vycy9jbGllbnRcIiB8fCBVUkwgPT0gXCIvbWFuYWdlL3VzZXJzL3RhbmdvXCIgfHxcclxuICAgIFVSTCA9PSBcIi9tYW5hZ2Uvc3RvcmVzXCIgfHwgIFVSTCA9PT0gXCIvbWFuYWdlL3N0b3Jlcz90eXBlPXN0b3Jlc1wiIHx8IFVSTCA9PT0gXCIvbWFuYWdlL3N0b3Jlcz90eXBlPWNsdXN0ZXJzXCIgfHwgdXJsWzJdID09IFwic2V0dGluZ3NcIiB8fFxyXG4gICAgVVJMID09IFwiL21hbmFnZS9zdG9yZXMvYWRkaXRpb24tbWV0aG9kXCIgfHxcclxuICAgIFVSTCA9PSBcIi9tYW5hZ2Uvc3RvcmVzL2FkZC1zaW5nbGUtc3RvcmVcIiB8fCB1cmxbMl09PT1cImRhdGEtbWlzbWF0Y2hcIiB8fCB1cmxbMl09PT1cImVtcGxveWVldHJhaW5pbmdcIiAgfHwgVVJMID09IFwiL25vdGlmaWNhdGlvbnMvYWxlcnRzP3RhYj1hbGVydFwiIHx8ICBVUkwgPT0gXCIvbm90aWZpY2F0aW9ucy9hbGVydHM/dGFiPWRvd25sb2FkXCJcclxuICAgICB8fCBVUkwgPT0gXCIvbWFuYWdlL3VzZXJzL3RhbmdvXCIgfHwgVVJMID09PSBcIi9tYW5hZ2UvY29udHJvbGNlbnRlclwiIHx8IFVSTCA9PT0nbWFuYWdlL2NvbnRyb2xjZW50ZXIvdGVtcGxhdGUtbWFuYWdlcicgfHwgdXJsWzJdPT09J2NvbnRyb2xjZW50ZXInIHx8ICB1cmwuaW5jbHVkZXMoJ2xpc3QnKSkge1xyXG4gICAgICB0aGlzLnNldFVJUHJvcGVydGllcyhmYWxzZSwgZmFsc2UsIGZhbHNlLCBmYWxzZSwgZmFsc2UsZmFsc2UsZmFsc2UsZmFsc2UsZmFsc2UsZmFsc2UsZmFsc2UsZmFsc2UpO1xyXG4gICAgfWVsc2UgaWYoVVJMID09IFwiL21hbmFnZS90cmFmZmljL25vYlwiKXtcclxuICAgICAgdGhpcy5zZXRVSVByb3BlcnRpZXMoZmFsc2UsIGZhbHNlLCBmYWxzZSwgZmFsc2UsZmFsc2UsZmFsc2UsZmFsc2UsZmFsc2UsZmFsc2UsdHJ1ZSxmYWxzZSxmYWxzZSk7XHJcbiAgICB9IGVsc2UgaWYodXJsWzJdID09PSBcInRyYWZmaWNcIiB8fCB1cmxbMl0gPT09IFwiem9uZXNcIiB8fCBVUkwgPT0gXCIvbWFuYWdlL2FuYWx5c2UvcmVwb3J0c1wiIHx8ICh1cmxbMl0gPT09ICdhaS1hdWRpbycgJiYgKHVybFszXSA9PT0gJ2F1ZGlvJyB8fCB1cmxbM10gPT09ICd0cmFuc2NyaXB0JyB8fCB1cmxbM10gPT09ICdlY2hvJykpKXtcclxuICAgICAgICB0aGlzLnNldFVJUHJvcGVydGllcyhmYWxzZSwgZmFsc2UsIGZhbHNlLCBmYWxzZSxmYWxzZSx0cnVlLGZhbHNlLGZhbHNlLGZhbHNlLGZhbHNlLGZhbHNlLGZhbHNlKTtcclxuICAgIH1lbHNlIGlmKFVSTCA9PSBcIi9tYW5hZ2UvZW1wbG95ZWUtbWV0cmljcy9iZWVhaEdyb3VwXCIgfHwgVVJMID09IFwiL21hbmFnZS9lbXBsb3llZS1tZXRyaWNzL2JlZWFoTGl2ZVwiKXtcclxuICAgICAgICAgdGhpcy5zZXRVSVByb3BlcnRpZXMoZmFsc2UsIGZhbHNlLCBmYWxzZSwgdHJ1ZSwgZmFsc2UsZmFsc2UsZmFsc2UsZmFsc2UsZmFsc2UsZmFsc2UsZmFsc2UsZmFsc2UpO1xyXG4gICAgfSBlbHNlIGlmKHVybFsyXSA9PT0gXCJlbXBsb3llZS1tZXRyaWNzXCIgJiYgdXJsWzNdID09PSBcImhlYXRtYXBcIil7XHJcbiAgICAgICAgdGhpcy5zZXRVSVByb3BlcnRpZXMoZmFsc2UsIGZhbHNlLCBmYWxzZSwgZmFsc2UsZmFsc2UsZmFsc2UsZmFsc2UsZmFsc2UsdHJ1ZSxmYWxzZSxmYWxzZSxmYWxzZSk7XHJcbiAgICB9IGVsc2UgaWYodXJsWzJdID09PSBcImVtcGxveWVlLW1ldHJpY3NcIil7XHJcbiAgICAgICAgdGhpcy5zZXRVSVByb3BlcnRpZXMoZmFsc2UsIGZhbHNlLCBmYWxzZSwgZmFsc2UsZmFsc2UsZmFsc2UsZmFsc2UsZmFsc2UsZmFsc2UsZmFsc2UsdHJ1ZSxmYWxzZSk7XHJcbiAgICB9IGVsc2UgaWYodXJsWzJdID09ICd0cmF4Jyl7XHJcbiAgICAgIGlmKHVybFsyXSA9PSAndHJheCcgJiYgKHVybC5pbmNsdWRlcygnY3JlYXRlQ2hlY2tsaXN0JykgfHwgdXJsLmluY2x1ZGVzKCdjb25maWd1cmUnKSB8fCB1cmwuaW5jbHVkZXMoJ2NyZWF0ZS1vcmRlcicpIHx8IHVybFszXSA9PSAnY3JlYXRlLXRhc2snIHx8IHVybFszXSA9PSAndGFzay1jb25maWd1cmUnKSkge1xyXG4gICAgICAgIHRoaXMuc2V0VUlQcm9wZXJ0aWVzKGZhbHNlLCBmYWxzZSwgZmFsc2UsIGZhbHNlLGZhbHNlLGZhbHNlLGZhbHNlLGZhbHNlLGZhbHNlLGZhbHNlLGZhbHNlLGZhbHNlKTtcclxuICAgICAgfVxyXG4gICAgICAvLyBlbHNlIGlmKHVybFsyXSA9PSAndHJheCcgJiYgKHVybC5pbmNsdWRlcygndGFza2luZm8nKSkpe1xyXG4gICAgICAvLyAgIHRoaXMuc2V0VUlQcm9wZXJ0aWVzKGZhbHNlLCBmYWxzZSwgZmFsc2UsIGZhbHNlLGZhbHNlLGZhbHNlLGZhbHNlLHRydWUsZmFsc2UsZmFsc2UsZmFsc2UsZmFsc2UpO1xyXG4gICAgICAvLyB9XHJcbiAgICAgIGVsc2UgaWYodXJsWzJdID09ICd0cmF4JyAmJiB1cmwuaW5jbHVkZXMoJ3N0YXJ0Jykpe1xyXG4gICAgICAgIHRoaXMuc2V0VUlQcm9wZXJ0aWVzKGZhbHNlLCBmYWxzZSwgZmFsc2UsIGZhbHNlLCBmYWxzZSxmYWxzZSxmYWxzZSxmYWxzZSxmYWxzZSxmYWxzZSxmYWxzZSxmYWxzZSk7XHJcbiAgICAgIH1cclxuICAgICAgZWxzZSBpZih1cmxbMl0gPT0gJ3RyYXgnICYmICh1cmwuaW5jbHVkZXMoJ2NoZWNrbGlzdCcpIHx8IHVybC5pbmNsdWRlcygnZ2FsbGVyeScpIHx8IHVybC5pbmNsdWRlcygnYXVkaXQnKSkpIHtcclxuICAgICAgICB0aGlzLnNldFVJUHJvcGVydGllcyh0cnVlLCBmYWxzZSwgZmFsc2UsIGZhbHNlLGZhbHNlLGZhbHNlLGZhbHNlLGZhbHNlLGZhbHNlLGZhbHNlLGZhbHNlLGZhbHNlKTtcclxuICAgICAgfSAgIGVsc2Uge1xyXG4gICAgICB0aGlzLnNldFVJUHJvcGVydGllcyhmYWxzZSwgZmFsc2UsIGZhbHNlLCBmYWxzZSxmYWxzZSxmYWxzZSx0cnVlLGZhbHNlLGZhbHNlLGZhbHNlLGZhbHNlLGZhbHNlKTtcclxuICAgICAgfVxyXG4gICAgfSBlbHNlIGlmKHVybFsyXSA9PSAncGxhbm9ncmFtJyl7XHJcbiAgICAgIGlmKHVybFsyXSA9PSAncGxhbm9ncmFtJyAmJiAodXJsLmluY2x1ZGVzKCdsYXlvdXQtYnVpbGRlcicpKSkge1xyXG4gICAgICAgIHRoaXMuc2V0VUlQcm9wZXJ0aWVzKGZhbHNlLCBmYWxzZSwgZmFsc2UsIGZhbHNlLGZhbHNlLGZhbHNlLGZhbHNlLGZhbHNlLGZhbHNlLGZhbHNlLGZhbHNlLGZhbHNlKTtcclxuICAgICAgfSBlbHNlIHtcclxuICAgICAgICB0aGlzLnNldFVJUHJvcGVydGllcyh0cnVlLCBmYWxzZSwgZmFsc2UsIGZhbHNlLGZhbHNlLGZhbHNlLGZhbHNlLGZhbHNlLGZhbHNlLGZhbHNlLGZhbHNlLGZhbHNlKTtcclxuICAgICAgfVxyXG4gICAgfSBlbHNlIGlmKHVybFsxXSA9PSAnZXlldGVzdCcgKXtcclxuICAgICAgICB0aGlzLnNldFVJUHJvcGVydGllcyhmYWxzZSwgZmFsc2UsIGZhbHNlLCBmYWxzZSxmYWxzZSxmYWxzZSxmYWxzZSxmYWxzZSxmYWxzZSxmYWxzZSxmYWxzZSxmYWxzZSk7XHJcbiBcclxuICAgIH1lbHNlIHtcclxuICAgICAgaWYgKHVybFszXSA9PSBcInBsYW5vXCIpIHtcclxuICAgICAgICB0aGlzLnNldFVJUHJvcGVydGllcyhmYWxzZSxmYWxzZSxmYWxzZSx0cnVlLGZhbHNlLGZhbHNlLGZhbHNlLGZhbHNlLGZhbHNlLGZhbHNlLGZhbHNlLGZhbHNlKTtcclxuICAgICAgfSBlbHNlIHtcclxuICAgICAgICB0aGlzLnNldFVJUHJvcGVydGllcyhmYWxzZSwgZmFsc2UsIHRydWUsIGZhbHNlLCBmYWxzZSxmYWxzZSxmYWxzZSxmYWxzZSxmYWxzZSxmYWxzZSxmYWxzZSxmYWxzZSk7XHJcbiAgICAgIH1cclxuICAgIH1cclxuICB9XHJcbiAgY29uc3Qgdmlld3NXaXRoUGFnZVRpdGxlcyA9IFtcImNsYXNzaWNcIiwgXCJyZXBvcnRzXCIsIFwic2Fhc1wiXTtcclxuICByZXR1cm4gKFxyXG4gICAgdGhpcy5hcHBQYWdlVGl0bGVEaXNwbGF5ICYmXHJcbiAgICB2aWV3c1dpdGhQYWdlVGl0bGVzLnNvbWUoKHQpID0+IHQgPT09IHRoaXMuYXBwVG9vbGJhckxheW91dClcclxuICApO1xyXG59XHJcblxyXG5zZXRVSVByb3BlcnRpZXMoXHJcbiAgc2luZ2xlU2VsZWN0OiBib29sZWFuLFxyXG4gIG11bHRpU2VsZWN0OiBib29sZWFuLFxyXG4gIGRhdGVwaWNrZXI6IGJvb2xlYW4sXHJcbiAgc2luZ2xlU3RvcmU6IGJvb2xlYW4sXHJcbiAgc2luZ2xlU2VsZWN0ZGF0ZXBpY2tlcjogYm9vbGVhbixcclxuICB0cmFmZmljZGF0ZXBpY2tlcjpib29sZWFuLFxyXG4gIHRyYXhkYXRlcGlja2VyOmJvb2xlYW4sXHJcbiAgdHJheHdpdGhvdXRkYXRlcGlja2VyOmJvb2xlYW4sXHJcbiAgc3RvcmVzU2luZ2xlOmJvb2xlYW4sXHJcbiAgbm9iV2l0aG91dENsaWVudDpib29sZWFuLFxyXG4gIG1lcnRpY3NIZWFkZXI6Ym9vbGVhbixcclxuICBzaW5nbGVDbGllbnRTdG9yZURhdGU6Ym9vbGVhblxyXG4pOiB2b2lkIHtcclxuICB0aGlzLnNpbmdsZVNlbGVjdCA9IHNpbmdsZVNlbGVjdDtcclxuICB0aGlzLm11bHRpU2VsZWN0ID0gbXVsdGlTZWxlY3Q7XHJcbiAgdGhpcy5kYXRlcGlja2VyID0gZGF0ZXBpY2tlcjtcclxuICB0aGlzLnNpbmdsZVN0b3JlID0gc2luZ2xlU3RvcmU7XHJcbiAgdGhpcy5zaW5nbGVTZWxlY3RkYXRlcGlja2VyID0gc2luZ2xlU2VsZWN0ZGF0ZXBpY2tlcjtcclxuICB0aGlzLnRyYWZmaWNkYXRlcGlja2VyID0gdHJhZmZpY2RhdGVwaWNrZXI7XHJcbiAgdGhpcy50cmF4ZGF0ZXBpY2tlciA9IHRyYXhkYXRlcGlja2VyO1xyXG4gIHRoaXMudHJheHdpdGhvdXRkYXRlcGlja2VyID0gdHJheHdpdGhvdXRkYXRlcGlja2VyO1xyXG4gIHRoaXMuc3RvcmVzU2luZ2xlID0gc3RvcmVzU2luZ2xlO1xyXG4gIHRoaXMubm9iV2l0aG91dENsaWVudCA9IG5vYldpdGhvdXRDbGllbnQ7XHJcbiAgdGhpcy5tZXJ0aWNzSGVhZGVyID0gbWVydGljc0hlYWRlcjtcclxudGhpcy5zaW5nbGVDbGllbnRTdG9yZURhdGUgPSBzaW5nbGVDbGllbnRTdG9yZURhdGU7XHJcbn1cclxuXHJcbmdldFVzZXJJbmZvKGNsaWVudDphbnkpe1xyXG4gIGxldCBvYmogPXtcclxuICAgICAgY2xpZW50SWQ6IGNsaWVudCA/IGNsaWVudCA6JydcclxuICB9XHJcbiAgaWYoY2xpZW50KXtcclxuICAgIHRoaXMuYXV0aC5nZXRIZWFkZXJVc2VycyhvYmopLnN1YnNjcmliZSh7XHJcbiAgICAgIG5leHQ6IChlKSA9PiB7XHJcbiAgICAgICAgbG9jYWxTdG9yYWdlLnNldEl0ZW0oXHJcbiAgICAgICAgICBcInVzZXJzRW1haWwtaW5mb1wiLFxyXG4gICAgICAgICAgSlNPTi5zdHJpbmdpZnkoZT8uZGF0YT8udXNlckVtYWlsRGF0YSB8fCBbXSkgXHJcbiAgICAgICAgKTtcclxuICAgICAgfSBcclxuICAgIH0pXHJcbiAgfVxyXG59XHJcbn1cclxuIiwiPCEtLWJlZ2luOjpUb29sYmFyIGNvbnRhaW5lci0tPlxyXG48ZGl2IGlkPVwia3RfYXBwX3Rvb2xiYXJfY29udGFpbmVyXCIgY2xhc3M9XCJwcy01IHBlLTBcIiBbbmdDbGFzc109XCJhcHBUb29sYmFyQ29udGFpbmVyQ1NTQ2xhc3NcIj5cclxuICA8bmctY29udGFpbmVyICpuZ0lmPVwiKGdzLnVzZXJBY2Nlc3MgfCBhc3luYyk/LnVzZXJUeXBlID09PSAndGFuZ28nIHx8IChncy51c2VyQWNjZXNzIHwgYXN5bmMpPy51c2VyVHlwZSA9PT0gJ2NsaWVudCcgfHwgKGdzLnVzZXJBY2Nlc3MgfCBhc3luYyk/LnVzZXJUeXBlID09PSAnbGVhZCdcIiAgPlxyXG4gIDxuZy1jb250YWluZXIgKm5nSWY9XCJzaG93UGFnZVRpdGxlKClcIj5cclxuICAgIDxsaWItcGFnZS10aXRsZSBbYXBwUGFnZVRpdGxlRGlyZWN0aW9uXT1cImFwcFBhZ2VUaXRsZURpcmVjdGlvblwiIFthcHBQYWdlVGl0bGVCcmVhZGNydW1iXT1cImFwcFBhZ2VUaXRsZUJyZWFkY3J1bWJcIlxyXG4gICAgICBbYXBwUGFnZVRpdGxlRGVzY3JpcHRpb25dPVwiYXBwUGFnZVRpdGxlRGVzY3JpcHRpb25cIiBjbGFzcz1cInBhZ2UtdGl0bGUgZC1mbGV4IGZsZXgtd3JhcCBtZS0zXCJcclxuICAgICAgW25nQ2xhc3NdPVwieydmbGV4LWNvbHVtbiBqdXN0aWZ5LWNvbnRlbnQtY2VudGVyJzogYXBwUGFnZVRpdGxlRGlyZWN0aW9uID09PSAnY29sdW1uJywgJ2FsaWduLWl0ZW1zLWNlbnRlcic6IGFwcFBhZ2VUaXRsZURpcmVjdGlvbiAhPT0gJ2NvbHVtbicsIGFwcFBhZ2VUaXRsZUNTU0NsYXNzfVwiPlxyXG4gICAgPC9saWItcGFnZS10aXRsZT5cclxuICA8L25nLWNvbnRhaW5lcj5cclxuXHJcbiAgPG5nLWNvbnRhaW5lciAqbmdJZj1cIm11bHRpU2VsZWN0ICYmIHVzZXJzLnVzZXJUeXBlID09PSd0YW5nbydcIj5cclxuICAgIDxsaWItY2xhc3NpYyBjbGFzcz1cImQtZmxleCBhbGlnbi1pdGVtcy1jZW50ZXIgZ2FwLTIgZ2FwLWxnLTNcIj48L2xpYi1jbGFzc2ljPlxyXG4gIDwvbmctY29udGFpbmVyPlxyXG4gIDxuZy1jb250YWluZXIgKm5nSWY9XCJzaW5nbGVTZWxlY3QgJiYgdXNlcnMudXNlclR5cGUgPT09J3RhbmdvJ1wiPlxyXG4gICAgPGxpYi1jbGllbnQtc2V0dGluZ3MgY2xhc3M9XCJkLWZsZXggYWxpZ24taXRlbXMtY2VudGVyIG1lLTVcIj48L2xpYi1jbGllbnQtc2V0dGluZ3M+XHJcbiAgIDwvbmctY29udGFpbmVyPlxyXG4gICA8bmctY29udGFpbmVyICpuZ0lmPVwiZGF0ZXBpY2tlciAmJiAodXNlcnMudXNlclR5cGUgPT09J2NsaWVudCcgfHwgdXNlcnMudXNlclR5cGUgPT09J3RhbmdvJylcIj5cclxuICAgIDxsaWItZGF0ZXBpY2tlciBjbGFzcz1cImQtZmxleCBhbGlnbi1pdGVtcy1jZW50ZXIgbWUtNVwiPjwvbGliLWRhdGVwaWNrZXI+XHJcbiAgIDwvbmctY29udGFpbmVyPlxyXG4gICA8bmctY29udGFpbmVyICpuZ0lmPVwic2luZ2xlU2VsZWN0ZGF0ZXBpY2tlciAmJiB1c2Vycy51c2VyVHlwZSA9PT0ndGFuZ28nXCI+XHJcbiAgICA8bGliLWRhdGUtc2luZ2xlLXNlbGVjdCBjbGFzcz1cImQtZmxleCBhbGlnbi1pdGVtcy1jZW50ZXIgbWUtNVwiPjwvbGliLWRhdGUtc2luZ2xlLXNlbGVjdD5cclxuICAgPC9uZy1jb250YWluZXI+XHJcbiAgIDxuZy1jb250YWluZXIgKm5nSWY9XCJzaW5nbGVTdG9yZVwiPlxyXG4gICAgPGxpYi1zaW5nbGUtc3RvcmUgY2xhc3M9XCJkLWZsZXggYWxpZ24taXRlbXMtY2VudGVyIG1lLTVcIiBbdXJsU3RyaW5nXT1cInVybFN0cmluZ1wiPjwvbGliLXNpbmdsZS1zdG9yZT5cclxuICAgPC9uZy1jb250YWluZXI+XHJcbiAgIDxuZy1jb250YWluZXIgKm5nSWY9XCJ0cmFmZmljZGF0ZXBpY2tlclwiPlxyXG4gICAgPGxpYi10cmFmZmljLWhlYWRlciBjbGFzcz1cImQtZmxleCBhbGlnbi1pdGVtcy1jZW50ZXIgbWUtNVwiPjwvbGliLXRyYWZmaWMtaGVhZGVyPlxyXG4gICA8L25nLWNvbnRhaW5lcj5cclxuICAgPG5nLWNvbnRhaW5lciAqbmdJZj1cInRyYXhkYXRlcGlja2VyXCI+XHJcbiAgICA8bGliLXRyYXgtaGVhZGVyIGNsYXNzPVwiZC1mbGV4IGFsaWduLWl0ZW1zLWNlbnRlciBtZS01XCI+PC9saWItdHJheC1oZWFkZXI+XHJcbiAgIDwvbmctY29udGFpbmVyPlxyXG4gICA8bmctY29udGFpbmVyICpuZ0lmPVwidHJheHdpdGhvdXRkYXRlcGlja2VyXCI+XHJcbiAgICA8bGliLXRyYXgtd2l0aG91dGRhdGUgY2xhc3M9XCJkLWZsZXggYWxpZ24taXRlbXMtY2VudGVyIG1lLTVcIj48L2xpYi10cmF4LXdpdGhvdXRkYXRlPlxyXG4gICA8L25nLWNvbnRhaW5lcj5cclxuICAgPG5nLWNvbnRhaW5lciAqbmdJZj1cInN0b3Jlc1NpbmdsZVwiPlxyXG4gICAgPGxpYi1zaW5nbGUtc3RvcmVkYXRlIGNsYXNzPVwiZC1mbGV4IGFsaWduLWl0ZW1zLWNlbnRlciBtZS01XCI+PC9saWItc2luZ2xlLXN0b3JlZGF0ZT5cclxuICAgPC9uZy1jb250YWluZXI+XHJcbiAgIDxuZy1jb250YWluZXIgKm5nSWY9XCJub2JXaXRob3V0Q2xpZW50XCI+XHJcbiAgICA8bGliLXRyYWZmaWMtbm9iIGNsYXNzPVwiZC1mbGV4IGFsaWduLWl0ZW1zLWNlbnRlciBtZS01XCI+PC9saWItdHJhZmZpYy1ub2I+XHJcbiAgIDwvbmctY29udGFpbmVyPlxyXG4gICAgPG5nLWNvbnRhaW5lciAqbmdJZj1cIm1lcnRpY3NIZWFkZXJcIj5cclxuICAgIDxsaWItbWV0cmljcy1oZWFkZXIgY2xhc3M9XCJkLWZsZXggYWxpZ24taXRlbXMtY2VudGVyIG1lLTVcIj48L2xpYi1tZXRyaWNzLWhlYWRlcj5cclxuICAgPC9uZy1jb250YWluZXI+XHJcblxyXG4gICA8bmctY29udGFpbmVyICpuZ0lmPVwic2luZ2xlQ2xpZW50U3RvcmVEYXRlXCI+XHJcbiAgICA8bGliLXNpbmdsZS1jbGllbnRzdG9yZS1kYXRlIGNsYXNzPVwiZC1mbGV4IGFsaWduLWl0ZW1zLWNlbnRlciBtZS01XCI+PC9saWItc2luZ2xlLWNsaWVudHN0b3JlLWRhdGU+XHJcbiAgIDwvbmctY29udGFpbmVyPlxyXG5cclxuXHJcbiA8IS0tIDxuZy1jb250YWluZXIgKm5nSWY9XCJhcHBUb29sYmFyTGF5b3V0ID09PSAnZXh0ZW5kZWQnXCI+XHJcbiAgICA8bGliLWV4dGVuZGVkIGNsYXNzPVwiZC1mbGV4IGFsaWduLWl0ZW1zLWNlbnRlciBmbGV4LXNocmluay0wIG1lLTVcIj48L2xpYi1leHRlbmRlZD5cclxuICA8L25nLWNvbnRhaW5lcj5cclxuICA8bmctY29udGFpbmVyICpuZ0lmPVwiYXBwVG9vbGJhckxheW91dCA9PT0gJ3JlcG9ydHMnXCI+XHJcbiAgICA8bGliLXJlcG9ydHMgY2xhc3M9XCJkLWZsZXggYWxpZ24taXRlbXMtY2VudGVyIG92ZXJmbG93LWF1dG9cIiBbYXBwUGFnZVRpdGxlRGlzcGxheV09XCJhcHBQYWdlVGl0bGVEaXNwbGF5XCI+XHJcbiAgICA8L2xpYi1yZXBvcnRzPlxyXG4gIDwvbmctY29udGFpbmVyPlxyXG4gIDxuZy1jb250YWluZXIgKm5nSWY9XCJhcHBUb29sYmFyTGF5b3V0ID09PSAnc2FhcydcIj5cclxuICAgIDxsaWItc2FhcyBjbGFzcz1cImQtZmxleCBhbGlnbi1pdGVtcy1jZW50ZXIgZ2FwLTJcIiBbYXBwUGFnZVRpdGxlRGlzcGxheV09XCJhcHBQYWdlVGl0bGVEaXNwbGF5XCI+PC9saWItc2Fhcz5cclxuICA8L25nLWNvbnRhaW5lcj4gLS0+XHJcbjwvbmctY29udGFpbmVyPlxyXG48L2Rpdj5cclxuPCEtLWVuZDo6VG9vbGJhciBjb250YWluZXItLT5cclxuIl19
|
|
@@ -1,5 +1,4 @@
|
|
|
1
1
|
import { NgModule } from '@angular/core';
|
|
2
|
-
// import { TangoManageModule } from 'projects/tango-manage/src/public-api';
|
|
3
2
|
import { TangoManageModule } from 'tango-app-ui-manage';
|
|
4
3
|
import * as i0 from "@angular/core";
|
|
5
4
|
export class ManageWrapperModule {
|
|
@@ -16,4 +15,4 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.3.12", ngImpo
|
|
|
16
15
|
]
|
|
17
16
|
}]
|
|
18
17
|
}] });
|
|
19
|
-
//# sourceMappingURL=data:application/json;base64,
|
|
18
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoibWFuYWdlLXdyYXBwZXIubW9kdWxlLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvdGFuZ28tYXBwLXNoYXJlZC9zcmMvbGliL3JvdXRlcy9yb3V0ZS13cmFwZXItbW9kdWxlcy9tYW5hZ2Utd3JhcHBlci5tb2R1bGUudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFFLFFBQVEsRUFBRSxNQUFNLGVBQWUsQ0FBQztBQUN6QyxPQUFPLEVBQUUsaUJBQWlCLEVBQUUsTUFBTSxxQkFBcUIsQ0FBQzs7QUFTeEQsTUFBTSxPQUFPLG1CQUFtQjt3R0FBbkIsbUJBQW1CO3lHQUFuQixtQkFBbUIsWUFINUIsaUJBQWlCO3lHQUdSLG1CQUFtQixZQUg1QixpQkFBaUI7OzRGQUdSLG1CQUFtQjtrQkFQL0IsUUFBUTttQkFBQztvQkFDUixZQUFZLEVBQUUsRUFDYjtvQkFDRCxPQUFPLEVBQUU7d0JBQ1AsaUJBQWlCO3FCQUNsQjtpQkFDRiIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IE5nTW9kdWxlIH0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XHJcbmltcG9ydCB7IFRhbmdvTWFuYWdlTW9kdWxlIH0gZnJvbSAndGFuZ28tYXBwLXVpLW1hbmFnZSc7XHJcblxyXG5ATmdNb2R1bGUoe1xyXG4gIGRlY2xhcmF0aW9uczogW1xyXG4gIF0sXHJcbiAgaW1wb3J0czogW1xyXG4gICAgVGFuZ29NYW5hZ2VNb2R1bGVcclxuICBdXHJcbn0pXHJcbmV4cG9ydCBjbGFzcyBNYW5hZ2VXcmFwcGVyTW9kdWxlIHsgfVxyXG4iXX0=
|
|
@@ -165,6 +165,9 @@ export class AuthService {
|
|
|
165
165
|
isLocusAuthorized() {
|
|
166
166
|
return this.http.get(`${this.traxUrl}/locusorder/user-allowed`);
|
|
167
167
|
}
|
|
168
|
+
getUsers() {
|
|
169
|
+
return this.http.get(`${this.userApiUrl}/get-audio-users?type=user`);
|
|
170
|
+
}
|
|
168
171
|
static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "17.3.12", ngImport: i0, type: AuthService, deps: [{ token: i1.Router }, { token: i2.GlobalStateService }, { token: i3.HttpClient }], target: i0.ɵɵFactoryTarget.Injectable });
|
|
169
172
|
static ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "17.3.12", ngImport: i0, type: AuthService, providedIn: 'root' });
|
|
170
173
|
}
|
|
@@ -174,4 +177,4 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.3.12", ngImpo
|
|
|
174
177
|
providedIn: 'root'
|
|
175
178
|
}]
|
|
176
179
|
}], ctorParameters: () => [{ type: i1.Router }, { type: i2.GlobalStateService }, { type: i3.HttpClient }] });
|
|
177
|
-
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiYXV0aC5zZXJ2aWNlLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvdGFuZ28tYXBwLXNoYXJlZC9zcmMvbGliL3NlcnZpY2VzL2F1dGguc2VydmljZS50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQUUsVUFBVSxFQUFFLE1BQU0sZUFBZSxDQUFDO0FBRTNDLE9BQU8sRUFBYyxVQUFVLEVBQUUsR0FBRyxFQUFNLFVBQVUsRUFBQyxlQUFlLEVBQUUsTUFBTSxNQUFNLENBQUM7Ozs7O0FBT25GLE1BQU0sT0FBTyxXQUFXO0lBWUY7SUFBc0I7SUFBOEI7SUFYeEUsWUFBWSxDQUFTO0lBQ3JCLHFCQUFxQixDQUFTO0lBQzlCLFVBQVUsQ0FBUztJQUNuQixXQUFXLENBQVM7SUFDcEIsYUFBYSxDQUFRO0lBQ3JCLGVBQWUsQ0FBUztJQUN4QixlQUFlLEdBQUcsSUFBSSxlQUFlLENBQUMsSUFBSSxDQUFDLENBQUE7SUFDM0MsYUFBYSxDQUFNO0lBQ25CLE9BQU8sQ0FBSztJQUNaLGFBQWEsQ0FBSztJQUNsQixrQkFBa0IsQ0FBTTtJQUN4QixZQUFvQixNQUFhLEVBQVMsRUFBcUIsRUFBUyxJQUFlO1FBQW5FLFdBQU0sR0FBTixNQUFNLENBQU87UUFBUyxPQUFFLEdBQUYsRUFBRSxDQUFtQjtRQUFTLFNBQUksR0FBSixJQUFJLENBQVc7UUFDckYsSUFBSSxDQUFDLEVBQUUsQ0FBQyxXQUFXLENBQUMsU0FBUyxDQUFDLENBQUMsR0FBRyxFQUFDLEVBQUU7WUFDckMsSUFBRyxHQUFHLEVBQUM7Z0JBQ04sSUFBSSxDQUFDLFlBQVksR0FBSSxHQUFHLENBQUMsWUFBWSxDQUFDO2dCQUN0QyxJQUFJLENBQUMsVUFBVSxHQUFHLEdBQUcsQ0FBQyxVQUFVLENBQUM7Z0JBQ2pDLElBQUksQ0FBQyxXQUFXLEdBQUUsR0FBRyxDQUFDLFdBQVcsQ0FBQztnQkFDbEMsSUFBSSxDQUFDLGVBQWUsR0FBRSxHQUFH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Q0FBQztJQUM5RSxDQUFDO0lBQ0EsZUFBZSxDQUFDLElBQVEsRUFBQyxFQUFNO1FBQzlCLE9BQU8sSUFBSSxDQUFDLElBQUksQ0FBQyxJQUFJLENBQUMsR0FBRyxJQUFJLENBQUMsV0FBVyxjQUFjLEVBQUUsRUFBRSxFQUFDLElBQUksQ0FBQyxDQUFBO0lBQ25FLENBQUM7SUFDQyxnQkFBZ0I7UUFDaEIsT0FBTyxJQUFJLENBQUMsSUFBSSxDQUFDLEdBQUcsQ0FBQyxHQUFHLElBQUksQ0FBQyxZQUFZLDRCQUE0QixDQUFDLENBQUE7SUFDeEUsQ0FBQztJQUVELGlCQUFpQixDQUFDLElBQVE7UUFDeEIsT0FBTyxJQUFJLENBQUMsSUFBSSxDQUFDLElBQUksQ0FBQyxHQUFHLElBQUksQ0FBQyxhQUFhLG9CQUFvQixFQUFDLElBQUksQ0FBQyxDQUFDO0lBQ3hFLENBQUM7SUFFQSxpQkFBaUI7UUFDaEIsT0FBTyxJQUFJLENBQUMsSUFBSSxDQUFDLEdBQUcsQ0FBQyxHQUFHLElBQUksQ0FBQyxPQUFPLDBCQUEwQixDQUFDLENBQUE7SUFFakUsQ0FBQzt3R0E5TFUsV0FBVzs0R0FBWCxXQUFXLGNBRlYsTUFBTTs7NEZBRVAsV0FBVztrQkFIdkIsVUFBVTttQkFBQztvQkFDVixVQUFVLEVBQUUsTUFBTTtpQkFDbkIiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBJbmplY3RhYmxlIH0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XHJcbmltcG9ydCB7IEh0dHBDbGllbnQgfSBmcm9tICdAYW5ndWxhci9jb21tb24vaHR0cCc7XHJcbmltcG9ydCB7IE9ic2VydmFibGUsIGNhdGNoRXJyb3IsIG1hcCwgb2YsIHRocm93RXJyb3IsQmVoYXZpb3JTdWJqZWN0IH0gZnJvbSAncnhqcyc7XHJcbmltcG9ydCB7IFJvdXRlciB9IGZyb20gJ0Bhbmd1bGFyL3JvdXRlcic7XHJcbmltcG9ydCB7IEdsb2JhbFN0YXRlU2VydmljZSB9IGZyb20gJ3RhbmdvLWFwcC11aS1nbG9iYWwnO1xyXG5cclxuQEluamVjdGFibGUoe1xyXG4gIHByb3ZpZGVkSW46ICdyb290J1xyXG59KVxyXG5leHBvcnQgY2xhc3MgQXV0aFNlcnZpY2Uge1xyXG4gIGNsaWVudEFwaVVybDogc3RyaW5nO1xyXG4gIGF1dGhsb2NhbFN0b3JhZ2VUb2tlbjogc3RyaW5nO1xyXG4gIHVzZXJBcGlVcmw6IHN0cmluZztcclxuICBzdG9yZUFwaVVybDogc3RyaW5nO1xyXG4gIGJpbGxpbmdBcGlVcmw6c3RyaW5nO1xyXG4gIG9sZERhc2hib2FyZFVybDogc3RyaW5nO1xyXG4gIGRyb3BEb3duVHJpZ2dlciA9IG5ldyBCZWhhdmlvclN1YmplY3QobnVsbClcclxuICB0cmFmZmljQXBpVXJsOiBhbnk7XHJcbiAgdHJheFVybDphbnk7XHJcbiAgZ2FsbGVyeUFwaVVybDphbnk7XHJcbiAgc3RvcmVCdWlsZGVyQXBpVXJsOiBhbnk7XHJcbiAgY29uc3RydWN0b3IocHJpdmF0ZSByb3V0ZXI6Um91dGVyLHByaXZhdGUgZ3M6R2xvYmFsU3RhdGVTZXJ2aWNlLHByaXZhdGUgaHR0cDpIdHRwQ2xpZW50KSB7ICBcclxuICAgIHRoaXMuZ3MuZW52aXJvbm1lbnQuc3Vic2NyaWJlKChlbnYpPT57XHJcbiAgICBpZihlbnYpe1xyXG4gICAgIHRoaXMuY2xpZW50QXBpVXJsID0gIGVudi5jbGllbnRBcGlVcmw7XHJcbiAgICAgdGhpcy51c2VyQXBpVXJsID0gZW52LnVzZXJBcGlVcmw7IFxyXG4gICAgIHRoaXMuc3RvcmVBcGlVcmwgPWVudi5zdG9yZUFwaVVybDtcclxuICAgICB0aGlzLm9sZERhc2hib2FyZFVybCA9ZW52Lm9sZERhc2hib2FyZFVybDtcclxuICAgICB0aGlzLmF1dGhsb2NhbFN0b3JhZ2VUb2tlbiA9IGAke2Vudi5hcHBWZXJzaW9ufS0ke2Vudi5VU0VSREFUQV9LRVl9YDtcclxuICAgICB0aGlzLmJpbGxpbmdBcGlVcmwgPSBlbnYuYmlsbGluZ0FwaVVybFxyXG4gICAgIHRoaXMudHJhZmZpY0FwaVVybCA9IGVudi50cmFmZmljQXBpVXJsO1xyXG4gICAgIHRoaXMuZ2FsbGVyeUFwaVVybCA9IGVudi5nYWxsZXJ5QXBpVXJsO1xyXG4gICAgIHRoaXMudHJheFVybCA9IGVudi50cmFmZmljQXBpVXJsO1xyXG4gICAgIHRoaXMudHJheFVybCA9IGVudi50cmF4VXJsO1xyXG4gICAgIHRoaXMuc3RvcmVCdWlsZGVyQXBpVXJsID0gZW52LnN0b3JlQnVpbGRlclVybDtcclxuICAgIH1cclxuICAgfSkgfVxyXG4gICBcclxuICAgaGFuZGxlRXJyb3IocmVzOiBhbnkpIHtcclxuICAgIHJldHVybiB0aHJvd0Vycm9yKHJlcy5lcnJvcik7XHJcbn1cclxuZ2V0SGVhZGVycygpIHtcclxuICBjb25zdCBoZWFkZXJzID0ge1xyXG4gICAgICAnQXV0aG9yaXphdGlvbic6ICdCZWFyZXIgJyArIHRoaXMuYXV0aGxvY2FsU3RvcmFnZVRva2VuXHJcbiAgfTtcclxuXHJcbiAgcmV0dXJuIGhlYWRlcnM7XHJcbn1cclxuXHJcbiAgbG9nb3V0KCkge1xyXG4gICAgLy8gdGhpcy5kZWxldGVDb29raWUodGhpcy5hdXRobG9jYWxTdG9yYWdlVG9rZW4pO1xyXG4gICAgcmV0dXJuIHRoaXMuaHR0cC5nZXQoYCR7dGhpcy51c2VyQXBpVXJsfS9sb2dvdXRgKVxyXG4gIH1cclxuICBnZXRDbGllbnRzKCl7XHJcbiAgICByZXR1cm4gdGhpcy5odHRwLmdldChgJHt0aGlzLmNsaWVudEFwaVVybH0vZ2V0LWNsaWVudHNgLCB7XHJcbiAgfSlcclxuICAgICAgLnBpcGUobWFwKChyZXNwb25zZTogYW55KSA9PiByZXNwb25zZSksXHJcbiAgICAgICAgICBjYXRjaEVycm9yKHRoaXMuaGFuZGxlRXJyb3IpKTtcclxuICB9XHJcbiAgZ2V0U3RvcmVzKGlkOmFueSl7XHJcbiAgICByZXR1cm4gdGhpcy5odHRwLmdldChgJHt0aGlzLnN0b3JlQXBpVXJsfS9nZXQtc3RvcmVzP2NsaWVudElkPSR7aWR9YCwge1xyXG4gIH0pXHJcbiAgICAgIC5waXBlKG1hcCgocmVzcG9uc2U6IGFueSkgPT4gcmVzcG9uc2UpLFxyXG4gICAgICAgICAgY2F0Y2hFcnJvcih0aGlzLmhhbmRsZUVycm9yKSk7XHJcbiAgfVxyXG4gIGdldE9sZERhc2hib2FyZFJlZGlyZWN0KGRhdGE6YW55KXtcclxuICAgIHJldHVybiB0aGlzLmh0dHAucG9zdChgJHt0aGlzLm9sZERhc2hib2FyZFVybH0vYXV0aC9vbGREYXNoYm9hcmRVc2VyTG9naW5gLGRhdGEsIHtcclxuICAgICAgaGVhZGVyczogdGhpcy5nZXRIZWFkZXJzKClcclxuICAgIH0pXHJcbiAgfVxyXG4gIHVzZXJQcm9maWxlRGV0KCk6IE9ic2VydmFibGU8YW55PiB7XHJcbiAgICByZXR1cm4gdGhpcy5odHRwXHJcbiAgICAgIC5nZXQoYCR7dGhpcy51c2VyQXBpVXJsfS9wcm9maWxlVjJgLCB7IGhlYWRlcnM6IHRoaXMuZ2V0SGVhZGVycygpIH0pXHJcbiAgICAgIC5waXBlKFxyXG4gICAgICAgIG1hcCgocmVzcG9uc2U6IGFueSkgPT4ge1xyXG4gICAgICAgICAgbG9jYWxTdG9yYWdlLnNldEl0ZW0oXCJ1c2VyLWluZm9cIiwgSlNPTi5zdHJpbmdpZnkocmVzcG9uc2UuZGF0YSkpO1xyXG4gICAgICAgICAgcmV0dXJuIHJlc3BvbnNlO1xyXG4gICAgICAgIH0pLFxyXG4gICAgICAgIGNhdGNoRXJyb3IodGhpcy5oYW5kbGVFcnJvcilcclxuICAgICAgKTtcclxuICB9XHJcblxyXG4gIHJlZnJlc2hUb2tlbigpIHtcclxuICAgIGNvbnN0IHVzZXJJZCA9IEpTT04ucGFyc2UobG9jYWxTdG9yYWdlLmdldEl0ZW0oXCJ1c2VyLWluZm9cIikgfHwgXCJcIik/Ll9pZDtcclxuICAgIGNvbnN0IHJlZnJlc2hUb2tlbiA9IEpTT04ucGFyc2UoXHJcbiAgICAgIGxvY2FsU3RvcmFnZS5nZXRJdGVtKHRoaXMuYXV0aGxvY2FsU3RvcmFnZVRva2VuKSB8fCBcIlwiXHJcbiAgICApPy5yZWZyZXNoVG9rZW47XHJcbiAgICBsZXQgcGFyYW1zOiBhbnkgPSB7XHJcbiAgICAgIHVzZXJJZDogdXNlcklkLFxyXG4gICAgICByZWZyZXNoVG9rZW46IHJlZnJlc2hUb2tlbixcclxuICAgIH07XHJcbiAgICByZXR1cm4gdGhpcy5odHRwXHJcbiAgICAgIC5nZXQoYCR7dGhpcy51c2VyQXBpVXJsfS9yZWZyZXNoLXRva2VuYCwgeyBwYXJhbXM6IHBhcmFtcyB9KVxyXG4gICAgICAucGlwZShcclxuICAgICAgICBtYXAoKHJlc3BvbnNlOiBhbnkpID0+IHJlc3BvbnNlKSxcclxuICAgICAgICBjYXRjaEVycm9yKHRoaXMuaGFuZGxlRXJyb3IpXHJcbiAgICAgICk7XHJcbiAgfVxyXG5cclxuICBnZXRQZXJzb25hbEluZm8oKTogT2JzZXJ2YWJsZTxhbnk+IHtcclxuICAgIHJldHVybiB0aGlzLmh0dHAuZ2V0PGFueT4oYCR7dGhpcy51c2VyQXBpVXJsfS9wcm9maWxlVjJgKS5waXBlKFxyXG4gICAgICBtYXAoKHJlc3BvbnNlOiBhbnkpID0+IHJlc3BvbnNlKSxcclxuICAgICAgY2F0Y2hFcnJvcih0aGlzLmhhbmRsZUVycm9yKVxyXG4gICAgKTtcclxuICB9XHJcblxyXG4gIGdldEFzc2lnbmVkVXNlcnMoY2xpZW50SWQ6c3RyaW5nKTpPYnNlcnZhYmxlPGFueT57IFxyXG4gICAgcmV0dXJuIHRoaXMuaHR0cC5nZXQoYCR7dGhpcy51c2VyQXBpVXJsfS9nZXQtYXNzaWduLWNsaWVudD9jbGllbnRJZD0ke2NsaWVudElkfWAgKVxyXG4gIH1cclxuXHJcbiAgY2hlY2tUb1Nob3dQb3B1cChjbGllbnRJZDpzdHJpbmcpOk9ic2VydmFibGU8YW55PnsgXHJcbiAgICByZXR1cm4gdGhpcy5odHRwLmdldChgJHt0aGlzLmNsaWVudEFwaVVybH0vc2hvdy1jc20tYXNzaWduLWNvbmZpcm1hdGlvbj9jbGllbnRJZD0ke2NsaWVudElkfWAgKVxyXG4gIH1cclxuXHJcbiAgY3NtQXNzaWduQ2xpZW50QWN0aW9uKGNsaWVudElkOnN0cmluZywgZGF0YTphbnkpOk9ic2VydmFibGU8YW55PnsgXHJcbiAgICByZXR1cm4gdGhpcy5odHRwLnBvc3QoYCR7dGhpcy5jbGllbnRBcGlVcmx9L2NsaWVudC1jc20tYXNzaWduLWFjdGlvbj9jbGllbnRJZD0ke2NsaWVudElkfWAsIGRhdGEgKVxyXG4gIH1cclxuXHJcbiAgZ2V0TGVhZFByb2R1Y3RzKGVtYWlsOnN0cmluZyk6T2JzZXJ2YWJsZTxhbnk+eyBcclxuICAgIHJldHVybiB0aGlzLmh0dHAuZ2V0KGAke3RoaXMuYmlsbGluZ0FwaVVybH0vZ2V0TGVhZFByb2R1Y3RzLyR7ZW1haWx9YCApXHJcbiAgfVxyXG5cclxuICBnZXRDbGllbnRQcm9kdWN0cyhjbGllbnRJZDpzdHJpbmcpOk9ic2VydmFibGU8YW55PnsgXHJcbiAgICByZXR1cm4gdGhpcy5odHRwLmdldChgJHt0aGlzLmJpbGxpbmdBcGlVcmx9L2dldENsaWVudFByb2R1Y3RzLyR7Y2xpZW50SWR9YCApXHJcbiAgfVxyXG5cclxuICBnZXRMb2NhdGlvbihkYXRhOmFueSk6T2JzZXJ2YWJsZTxhbnk+eyBcclxuICAgIHJldHVybiB0aGlzLmh0dHAucG9zdChgJHt0aGlzLnRyYWZmaWNBcGlVcmx9L2hlYWRlckxvY2F0aW9uc192MmAsZGF0YSlcclxuICB9XHJcbiAgZ2V0R3JvdXBzKGRhdGE6YW55KTpPYnNlcnZhYmxlPGFueT57IFxyXG4gICAgcmV0dXJuIHRoaXMuaHR0cC5wb3N0KGAke3RoaXMudHJhZmZpY0FwaVVybH0vaGVhZGVyY2x1c3Rlcl92MmAsZGF0YSlcclxuICB9XHJcbiAgZ2V0SGVhZGVyU3RvcmVzKGRhdGE6YW55KTpPYnNlcnZhYmxlPGFueT57IFxyXG4gICAgcmV0dXJuIHRoaXMuaHR0cC5wb3N0KGAke3RoaXMudHJhZmZpY0FwaVVybH0vaGVhZGVyU3RvcmVzX3YyYCxkYXRhKVxyXG4gIH1cclxuICBnZXRIZWFkZXJ0cmF4U3RvcmVzKGRhdGE6YW55KTpPYnNlcnZhYmxlPGFueT57IFxyXG4gICAgcmV0dXJuIHRoaXMuaHR0cC5wb3N0KGAke3RoaXMuZ2FsbGVyeUFwaVVybH0vaGVhZGVyU3RvcmVzX3YyYCxkYXRhKVxyXG4gIH1cclxuXHJcbiAgZ2V0QnJhbmREZXRhaWxzKGlkOiBhbnkpIHtcclxuICAgIHJldHVybiB0aGlzLmh0dHAuZ2V0KGAke3RoaXMuY2xpZW50QXBpVXJsfS9jbGllbnQtZGV0YWlscy8ke2lkfWApXHJcbiAgfVxyXG5cclxuICBnZXRIZWFkZXJVc2VycyhkYXRhOmFueSk6T2JzZXJ2YWJsZTxhbnk+eyBcclxuICAgIHJldHVybiB0aGlzLmh0dHAucG9zdChgJHt0aGlzLnRyYWZmaWNBcGlVcmx9L2hlYWRlclVzZXJFbWFpbHNfdjJgLGRhdGEpXHJcbiAgfVxyXG5cclxuICBnZXRDb3VudHJ5KGRhdGE6YW55KTpPYnNlcnZhYmxlPGFueT57IFxyXG4gICAgcmV0dXJuIHRoaXMuaHR0cC5wb3N0KGAke3RoaXMudHJhZmZpY0FwaVVybH0vaGVhZGVyQ291bnRyeV92MmAsZGF0YSlcclxuICB9XHJcbiAgZ2V0UGxhbm9Vc2VycygpIHtcclxuICAgIHJldHVybiB0aGlzLmh0dHAuZ2V0KGAke3RoaXMuc3RvcmVCdWlsZGVyQXBpVXJsfS9nZXRQbGFub1VzZXJgKTtcclxuICB9XHJcbiAgZ2V0SGVhZGVyWm9uZShkYXRhOmFueSk6T2JzZXJ2YWJsZTxhbnk+e1xyXG4gICAgcmV0dXJuIHRoaXMuaHR0cC5wb3N0KGAke3RoaXMudHJhZmZpY0FwaVVybH0vaGVhZGVyWm9uZVYyYCxkYXRhKVxyXG4gIH1cclxuXHJcbi8vICAgcHJpdmF0ZSBiYXNlNjRFbmNvZGUoc3RyOiBhbnkpIHtcclxuLy8gICByZXR1cm4gYnRvYShlbmNvZGVVUklDb21wb25lbnQoc3RyKSk7XHJcbi8vIH1cclxuXHJcbi8vIHByaXZhdGUgYmFzZTY0RGVjb2RlKHN0cjogYW55KSB7XHJcbi8vICAgcmV0dXJuIGRlY29kZVVSSUNvbXBvbmVudChhdG9iKHN0cikpO1xyXG4vLyB9XHJcbi8vIHNldENvb2tpZShuYW1lOiBzdHJpbmcsIHZhbHVlOiBzdHJpbmcsIGRheXM6IG51bWJlciA9IDEpOiB2b2lkIHtcclxuLy8gICBjb25zdCBlbmNvZGVkVmFsdWUgPSB0aGlzLmJhc2U2NEVuY29kZSh2YWx1ZSk7XHJcbi8vICAgY29uc3QgZXhwaXJlcyA9IG5ldyBEYXRlKERhdGUubm93KCkgKyBkYXlzICogODY0ZTUpLnRvVVRDU3RyaW5nKCk7XHJcbi8vICAgZG9jdW1lbnQuY29va2llID0gYCR7bmFtZX09JHtlbmNvZGVkVmFsdWV9OyBleHBpcmVzPSR7ZXhwaXJlc307IHBhdGg9LzsgU2VjdXJlOyBTYW1lU2l0ZT1TdHJpY3RgO1xyXG4vLyB9XHJcblxyXG4vLyBnZXRDb29raWUobmFtZTogc3RyaW5nKTogc3RyaW5nIHwgbnVsbCB7XHJcbi8vICAgY29uc3QgbWF0Y2ggPSBkb2N1bWVudC5jb29raWUubWF0Y2gobmV3IFJlZ0V4cChgKF58ICkke25hbWV9PShbXjtdKylgKSk7XHJcbi8vICAgcmV0dXJuIG1hdGNoID8gdGhpcy5iYXNlNjREZWNvZGUobWF0Y2hbMl0pIDogbnVsbDtcclxuLy8gfVxyXG4vLyAgIGRlbGV0ZUNvb2tpZShuYW1lOiBzdHJpbmcpOiB2b2lkIHtcclxuLy8gICAgIGRvY3VtZW50LmNvb2tpZSA9IGAke25hbWV9PTsgZXhwaXJlcz1UaHUsIDAxIEphbiAxOTcwIDAwOjAwOjAwIFVUQzsgcGF0aD0vO2A7XHJcbi8vICAgfVxyXG5cclxuXHJcbiAgZ2V0Q2xpZW50SW5mbyhjbGllbnQ/OmFueSk6T2JzZXJ2YWJsZTxhbnk+eyBcclxuICAgIHJldHVybiB0aGlzLmh0dHAuZ2V0KGAke3RoaXMuY2xpZW50QXBpVXJsfS9kZXRhaWxlZC1jbGllbnQtY291bnQ/Y2xpZW50SWQ9JHtjbGllbnQgfWApXHJcbiAgfVxyXG4gICAgZ2V0U3RvcmVNYXBEYXRhKHBhcmFtczogYW55KTogT2JzZXJ2YWJsZTxhbnk+IHtcclxuICAgIHJldHVybiB0aGlzLmh0dHAucG9zdDxhbnk+KGAke3RoaXMudHJhZmZpY0FwaVVybH0vZ2V0U3RvcmVNYXBEYXRhYCwgcGFyYW1zKTtcclxuICB9XHJcbiAgIGdldFN0b3JlTG9nRGF0YShkYXRhOmFueSxpZDphbnkpe1xyXG4gICAgcmV0dXJuIHRoaXMuaHR0cC5wb3N0KGAke3RoaXMuc3RvcmVBcGlVcmx9L2dldC1zdG9yZS8ke2lkfWAsZGF0YSkgXHJcbiAgfVxyXG4gICAgZ2V0QWxsQ2xpZW50SW5mbygpOk9ic2VydmFibGU8YW55PntcclxuICAgIHJldHVybiB0aGlzLmh0dHAuZ2V0KGAke3RoaXMuY2xpZW50QXBpVXJsfS9kZXRhaWxlZC1hbGwtY2xpZW50LWNvdW50YClcclxuICB9XHJcblxyXG4gIGdldERvd250aW1lSGVhZGVyKGRhdGE6YW55KTpPYnNlcnZhYmxlPGFueT57XHJcbiAgICByZXR1cm4gdGhpcy5odHRwLnBvc3QoYCR7dGhpcy50cmFmZmljQXBpVXJsfS9nZXQtc3RvcmUtbGlzdC12MmAsZGF0YSk7XHJcbiAgfVxyXG5cclxuICAgaXNMb2N1c0F1dGhvcml6ZWQoKSB7XHJcbiAgICByZXR1cm4gdGhpcy5odHRwLmdldChgJHt0aGlzLnRyYXhVcmx9L2xvY3Vzb3JkZXIvdXNlci1hbGxvd2VkYClcclxuICAgICBcclxuICB9XHJcbn1cclxuIl19
|
|
180
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiYXV0aC5zZXJ2aWNlLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvdGFuZ28tYXBwLXNoYXJlZC9zcmMvbGliL3NlcnZpY2VzL2F1dGguc2VydmljZS50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQUUsVUFBVSxFQUFFLE1BQU0sZUFBZSxDQUFDO0FBRTNDLE9BQU8sRUFBYyxVQUFVLEVBQUUsR0FBRyxFQUFNLFVBQVUsRUFBQyxlQUFlLEVBQUUsTUFBTSxNQUFNLENBQUM7Ozs7O0FBT25GLE1BQU0sT0FBTyxXQUFXO0lBWUY7SUFBc0I7SUFBOEI7SUFYeEUsWUFBWSxDQUFTO0lBQ3JCLHFCQUFxQixDQUFTO0lBQzlCLFVBQVUsQ0FBUztJQUNuQixXQUFXLENBQVM7SUFDcEIsYUFBYSxDQUFRO0lBQ3JCLGVBQWUsQ0FBUztJQUN4QixlQUFlLEdBQUcsSUFBSSxlQUFlLENBQUMsSUFBSSxDQUFDLENBQUE7SUFDM0MsYUFBYSxDQUFNO0lBQ25CLE9BQU8sQ0FBSztJQUNaLGFBQWEsQ0FBSztJQUNsQixrQkFBa0IsQ0FBTTtJQUN4QixZQUFvQixNQUFhLEVBQVMsRUFBcUIsRUFBUyxJQUFlO1FBQW5FLFdBQU0sR0FBTixNQUFNLENBQU87UUFBUyxPQUFFLEdBQUYsRUFBRSxDQUFtQjtRQUFTLFNBQUksR0FBSixJQUFJLENBQVc7UUFDckYsSUFBSSxDQUFDLEVBQUUsQ0FBQyxXQUFXLENBQUMsU0FBUyxDQUFDLENBQUMsR0FBRyxFQUFDLEVBQUU7WUFDckMsSUFBRyxHQUFHLEVBQUM7Z0JBQ04sSUFBSSxDQUFDLFlBQVksR0FBSSxHQUFHLENBQUMsWUFBWSxDQUFDO2dCQUN0QyxJQUFJLENBQUMsVUFBVSxHQUFHLEdBQUcsQ0FBQyxVQUFVLENBQUM7Z0JBQ2pDLElBQUksQ0FBQyxXQUFXLEdBQUUsR0FBRyxDQUFDLFdBQVcsQ0FBQztnQkFDbEMsSUFBSSxDQUFDLGVBQWUsR0FBRSxHQUFH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Q0FBQztJQUM5RSxDQUFDO0lBQ0EsZUFBZSxDQUFDLElBQVEsRUFBQyxFQUFNO1FBQzlCLE9BQU8sSUFBSSxDQUFDLElBQUksQ0FBQyxJQUFJLENBQUMsR0FBRyxJQUFJLENBQUMsV0FBVyxjQUFjLEVBQUUsRUFBRSxFQUFDLElBQUksQ0FBQyxDQUFBO0lBQ25FLENBQUM7SUFDQyxnQkFBZ0I7UUFDaEIsT0FBTyxJQUFJLENBQUMsSUFBSSxDQUFDLEdBQUcsQ0FBQyxHQUFHLElBQUksQ0FBQyxZQUFZLDRCQUE0QixDQUFDLENBQUE7SUFDeEUsQ0FBQztJQUVELGlCQUFpQixDQUFDLElBQVE7UUFDeEIsT0FBTyxJQUFJLENBQUMsSUFBSSxDQUFDLElBQUksQ0FBQyxHQUFHLElBQUksQ0FBQyxhQUFhLG9CQUFvQixFQUFDLElBQUksQ0FBQyxDQUFDO0lBQ3hFLENBQUM7SUFFQSxpQkFBaUI7UUFDaEIsT0FBTyxJQUFJLENBQUMsSUFBSSxDQUFDLEdBQUcsQ0FBQyxHQUFHLElBQUksQ0FBQyxPQUFPLDBCQUEwQixDQUFDLENBQUE7SUFFakUsQ0FBQztJQUNILFFBQVE7UUFDTixPQUFPLElBQUksQ0FBQyxJQUFJLENBQUMsR0FBRyxDQUFDLEdBQUcsSUFBSSxDQUFDLFVBQVUsNEJBQTRCLENBQUMsQ0FBQTtJQUN0RSxDQUFDO3dHQWpNWSxXQUFXOzRHQUFYLFdBQVcsY0FGVixNQUFNOzs0RkFFUCxXQUFXO2tCQUh2QixVQUFVO21CQUFDO29CQUNWLFVBQVUsRUFBRSxNQUFNO2lCQUNuQiIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IEluamVjdGFibGUgfSBmcm9tICdAYW5ndWxhci9jb3JlJztcclxuaW1wb3J0IHsgSHR0cENsaWVudCB9IGZyb20gJ0Bhbmd1bGFyL2NvbW1vbi9odHRwJztcclxuaW1wb3J0IHsgT2JzZXJ2YWJsZSwgY2F0Y2hFcnJvciwgbWFwLCBvZiwgdGhyb3dFcnJvcixCZWhhdmlvclN1YmplY3QgfSBmcm9tICdyeGpzJztcclxuaW1wb3J0IHsgUm91dGVyIH0gZnJvbSAnQGFuZ3VsYXIvcm91dGVyJztcclxuaW1wb3J0IHsgR2xvYmFsU3RhdGVTZXJ2aWNlIH0gZnJvbSAndGFuZ28tYXBwLXVpLWdsb2JhbCc7XHJcblxyXG5ASW5qZWN0YWJsZSh7XHJcbiAgcHJvdmlkZWRJbjogJ3Jvb3QnXHJcbn0pXHJcbmV4cG9ydCBjbGFzcyBBdXRoU2VydmljZSB7XHJcbiAgY2xpZW50QXBpVXJsOiBzdHJpbmc7XHJcbiAgYXV0aGxvY2FsU3RvcmFnZVRva2VuOiBzdHJpbmc7XHJcbiAgdXNlckFwaVVybDogc3RyaW5nO1xyXG4gIHN0b3JlQXBpVXJsOiBzdHJpbmc7XHJcbiAgYmlsbGluZ0FwaVVybDpzdHJpbmc7XHJcbiAgb2xkRGFzaGJvYXJkVXJsOiBzdHJpbmc7XHJcbiAgZHJvcERvd25UcmlnZ2VyID0gbmV3IEJlaGF2aW9yU3ViamVjdChudWxsKVxyXG4gIHRyYWZmaWNBcGlVcmw6IGFueTtcclxuICB0cmF4VXJsOmFueTtcclxuICBnYWxsZXJ5QXBpVXJsOmFueTtcclxuICBzdG9yZUJ1aWxkZXJBcGlVcmw6IGFueTtcclxuICBjb25zdHJ1Y3Rvcihwcml2YXRlIHJvdXRlcjpSb3V0ZXIscHJpdmF0ZSBnczpHbG9iYWxTdGF0ZVNlcnZpY2UscHJpdmF0ZSBodHRwOkh0dHBDbGllbnQpIHsgIFxyXG4gICAgdGhpcy5ncy5lbnZpcm9ubWVudC5zdWJzY3JpYmUoKGVudik9PntcclxuICAgIGlmKGVudil7XHJcbiAgICAgdGhpcy5jbGllbnRBcGlVcmwgPSAgZW52LmNsaWVudEFwaVVybDtcclxuICAgICB0aGlzLnVzZXJBcGlVcmwgPSBlbnYudXNlckFwaVVybDsgXHJcbiAgICAgdGhpcy5zdG9yZUFwaVVybCA9ZW52LnN0b3JlQXBpVXJsO1xyXG4gICAgIHRoaXMub2xkRGFzaGJvYXJkVXJsID1lbnYub2xkRGFzaGJvYXJkVXJsO1xyXG4gICAgIHRoaXMuYXV0aGxvY2FsU3RvcmFnZVRva2VuID0gYCR7ZW52LmFwcFZlcnNpb259LSR7ZW52LlVTRVJEQVRBX0tFWX1gO1xyXG4gICAgIHRoaXMuYmlsbGluZ0FwaVVybCA9IGVudi5iaWxsaW5nQXBpVXJsXHJcbiAgICAgdGhpcy50cmFmZmljQXBpVXJsID0gZW52LnRyYWZmaWNBcGlVcmw7XHJcbiAgICAgdGhpcy5nYWxsZXJ5QXBpVXJsID0gZW52LmdhbGxlcnlBcGlVcmw7XHJcbiAgICAgdGhpcy50cmF4VXJsID0gZW52LnRyYWZmaWNBcGlVcmw7XHJcbiAgICAgdGhpcy50cmF4VXJsID0gZW52LnRyYXhVcmw7XHJcbiAgICAgdGhpcy5zdG9yZUJ1aWxkZXJBcGlVcmwgPSBlbnYuc3RvcmVCdWlsZGVyVXJsO1xyXG4gICAgfVxyXG4gICB9KSB9XHJcbiAgIFxyXG4gICBoYW5kbGVFcnJvcihyZXM6IGFueSkge1xyXG4gICAgcmV0dXJuIHRocm93RXJyb3IocmVzLmVycm9yKTtcclxufVxyXG5nZXRIZWFkZXJzKCkge1xyXG4gIGNvbnN0IGhlYWRlcnMgPSB7XHJcbiAgICAgICdBdXRob3JpemF0aW9uJzogJ0JlYXJlciAnICsgdGhpcy5hdXRobG9jYWxTdG9yYWdlVG9rZW5cclxuICB9O1xyXG5cclxuICByZXR1cm4gaGVhZGVycztcclxufVxyXG5cclxuICBsb2dvdXQoKSB7XHJcbiAgICAvLyB0aGlzLmRlbGV0ZUNvb2tpZSh0aGlzLmF1dGhsb2NhbFN0b3JhZ2VUb2tlbik7XHJcbiAgICByZXR1cm4gdGhpcy5odHRwLmdldChgJHt0aGlzLnVzZXJBcGlVcmx9L2xvZ291dGApXHJcbiAgfVxyXG4gIGdldENsaWVudHMoKXtcclxuICAgIHJldHVybiB0aGlzLmh0dHAuZ2V0KGAke3RoaXMuY2xpZW50QXBpVXJsfS9nZXQtY2xpZW50c2AsIHtcclxuICB9KVxyXG4gICAgICAucGlwZShtYXAoKHJlc3BvbnNlOiBhbnkpID0+IHJlc3BvbnNlKSxcclxuICAgICAgICAgIGNhdGNoRXJyb3IodGhpcy5oYW5kbGVFcnJvcikpO1xyXG4gIH1cclxuICBnZXRTdG9yZXMoaWQ6YW55KXtcclxuICAgIHJldHVybiB0aGlzLmh0dHAuZ2V0KGAke3RoaXMuc3RvcmVBcGlVcmx9L2dldC1zdG9yZXM/Y2xpZW50SWQ9JHtpZH1gLCB7XHJcbiAgfSlcclxuICAgICAgLnBpcGUobWFwKChyZXNwb25zZTogYW55KSA9PiByZXNwb25zZSksXHJcbiAgICAgICAgICBjYXRjaEVycm9yKHRoaXMuaGFuZGxlRXJyb3IpKTtcclxuICB9XHJcbiAgZ2V0T2xkRGFzaGJvYXJkUmVkaXJlY3QoZGF0YTphbnkpe1xyXG4gICAgcmV0dXJuIHRoaXMuaHR0cC5wb3N0KGAke3RoaXMub2xkRGFzaGJvYXJkVXJsfS9hdXRoL29sZERhc2hib2FyZFVzZXJMb2dpbmAsZGF0YSwge1xyXG4gICAgICBoZWFkZXJzOiB0aGlzLmdldEhlYWRlcnMoKVxyXG4gICAgfSlcclxuICB9XHJcbiAgdXNlclByb2ZpbGVEZXQoKTogT2JzZXJ2YWJsZTxhbnk+IHtcclxuICAgIHJldHVybiB0aGlzLmh0dHBcclxuICAgICAgLmdldChgJHt0aGlzLnVzZXJBcGlVcmx9L3Byb2ZpbGVWMmAsIHsgaGVhZGVyczogdGhpcy5nZXRIZWFkZXJzKCkgfSlcclxuICAgICAgLnBpcGUoXHJcbiAgICAgICAgbWFwKChyZXNwb25zZTogYW55KSA9PiB7XHJcbiAgICAgICAgICBsb2NhbFN0b3JhZ2Uuc2V0SXRlbShcInVzZXItaW5mb1wiLCBKU09OLnN0cmluZ2lmeShyZXNwb25zZS5kYXRhKSk7XHJcbiAgICAgICAgICByZXR1cm4gcmVzcG9uc2U7XHJcbiAgICAgICAgfSksXHJcbiAgICAgICAgY2F0Y2hFcnJvcih0aGlzLmhhbmRsZUVycm9yKVxyXG4gICAgICApO1xyXG4gIH1cclxuXHJcbiAgcmVmcmVzaFRva2VuKCkge1xyXG4gICAgY29uc3QgdXNlcklkID0gSlNPTi5wYXJzZShsb2NhbFN0b3JhZ2UuZ2V0SXRlbShcInVzZXItaW5mb1wiKSB8fCBcIlwiKT8uX2lkO1xyXG4gICAgY29uc3QgcmVmcmVzaFRva2VuID0gSlNPTi5wYXJzZShcclxuICAgICAgbG9jYWxTdG9yYWdlLmdldEl0ZW0odGhpcy5hdXRobG9jYWxTdG9yYWdlVG9rZW4pIHx8IFwiXCJcclxuICAgICk/LnJlZnJlc2hUb2tlbjtcclxuICAgIGxldCBwYXJhbXM6IGFueSA9IHtcclxuICAgICAgdXNlcklkOiB1c2VySWQsXHJcbiAgICAgIHJlZnJlc2hUb2tlbjogcmVmcmVzaFRva2VuLFxyXG4gICAgfTtcclxuICAgIHJldHVybiB0aGlzLmh0dHBcclxuICAgICAgLmdldChgJHt0aGlzLnVzZXJBcGlVcmx9L3JlZnJlc2gtdG9rZW5gLCB7IHBhcmFtczogcGFyYW1zIH0pXHJcbiAgICAgIC5waXBlKFxyXG4gICAgICAgIG1hcCgocmVzcG9uc2U6IGFueSkgPT4gcmVzcG9uc2UpLFxyXG4gICAgICAgIGNhdGNoRXJyb3IodGhpcy5oYW5kbGVFcnJvcilcclxuICAgICAgKTtcclxuICB9XHJcblxyXG4gIGdldFBlcnNvbmFsSW5mbygpOiBPYnNlcnZhYmxlPGFueT4ge1xyXG4gICAgcmV0dXJuIHRoaXMuaHR0cC5nZXQ8YW55PihgJHt0aGlzLnVzZXJBcGlVcmx9L3Byb2ZpbGVWMmApLnBpcGUoXHJcbiAgICAgIG1hcCgocmVzcG9uc2U6IGFueSkgPT4gcmVzcG9uc2UpLFxyXG4gICAgICBjYXRjaEVycm9yKHRoaXMuaGFuZGxlRXJyb3IpXHJcbiAgICApO1xyXG4gIH1cclxuXHJcbiAgZ2V0QXNzaWduZWRVc2VycyhjbGllbnRJZDpzdHJpbmcpOk9ic2VydmFibGU8YW55PnsgXHJcbiAgICByZXR1cm4gdGhpcy5odHRwLmdldChgJHt0aGlzLnVzZXJBcGlVcmx9L2dldC1hc3NpZ24tY2xpZW50P2NsaWVudElkPSR7Y2xpZW50SWR9YCApXHJcbiAgfVxyXG5cclxuICBjaGVja1RvU2hvd1BvcHVwKGNsaWVudElkOnN0cmluZyk6T2JzZXJ2YWJsZTxhbnk+eyBcclxuICAgIHJldHVybiB0aGlzLmh0dHAuZ2V0KGAke3RoaXMuY2xpZW50QXBpVXJsfS9zaG93LWNzbS1hc3NpZ24tY29uZmlybWF0aW9uP2NsaWVudElkPSR7Y2xpZW50SWR9YCApXHJcbiAgfVxyXG5cclxuICBjc21Bc3NpZ25DbGllbnRBY3Rpb24oY2xpZW50SWQ6c3RyaW5nLCBkYXRhOmFueSk6T2JzZXJ2YWJsZTxhbnk+eyBcclxuICAgIHJldHVybiB0aGlzLmh0dHAucG9zdChgJHt0aGlzLmNsaWVudEFwaVVybH0vY2xpZW50LWNzbS1hc3NpZ24tYWN0aW9uP2NsaWVudElkPSR7Y2xpZW50SWR9YCwgZGF0YSApXHJcbiAgfVxyXG5cclxuICBnZXRMZWFkUHJvZHVjdHMoZW1haWw6c3RyaW5nKTpPYnNlcnZhYmxlPGFueT57IFxyXG4gICAgcmV0dXJuIHRoaXMuaHR0cC5nZXQoYCR7dGhpcy5iaWxsaW5nQXBpVXJsfS9nZXRMZWFkUHJvZHVjdHMvJHtlbWFpbH1gIClcclxuICB9XHJcblxyXG4gIGdldENsaWVudFByb2R1Y3RzKGNsaWVudElkOnN0cmluZyk6T2JzZXJ2YWJsZTxhbnk+eyBcclxuICAgIHJldHVybiB0aGlzLmh0dHAuZ2V0KGAke3RoaXMuYmlsbGluZ0FwaVVybH0vZ2V0Q2xpZW50UHJvZHVjdHMvJHtjbGllbnRJZH1gIClcclxuICB9XHJcblxyXG4gIGdldExvY2F0aW9uKGRhdGE6YW55KTpPYnNlcnZhYmxlPGFueT57IFxyXG4gICAgcmV0dXJuIHRoaXMuaHR0cC5wb3N0KGAke3RoaXMudHJhZmZpY0FwaVVybH0vaGVhZGVyTG9jYXRpb25zX3YyYCxkYXRhKVxyXG4gIH1cclxuICBnZXRHcm91cHMoZGF0YTphbnkpOk9ic2VydmFibGU8YW55PnsgXHJcbiAgICByZXR1cm4gdGhpcy5odHRwLnBvc3QoYCR7dGhpcy50cmFmZmljQXBpVXJsfS9oZWFkZXJjbHVzdGVyX3YyYCxkYXRhKVxyXG4gIH1cclxuICBnZXRIZWFkZXJTdG9yZXMoZGF0YTphbnkpOk9ic2VydmFibGU8YW55PnsgXHJcbiAgICByZXR1cm4gdGhpcy5odHRwLnBvc3QoYCR7dGhpcy50cmFmZmljQXBpVXJsfS9oZWFkZXJTdG9yZXNfdjJgLGRhdGEpXHJcbiAgfVxyXG4gIGdldEhlYWRlcnRyYXhTdG9yZXMoZGF0YTphbnkpOk9ic2VydmFibGU8YW55PnsgXHJcbiAgICByZXR1cm4gdGhpcy5odHRwLnBvc3QoYCR7dGhpcy5nYWxsZXJ5QXBpVXJsfS9oZWFkZXJTdG9yZXNfdjJgLGRhdGEpXHJcbiAgfVxyXG5cclxuICBnZXRCcmFuZERldGFpbHMoaWQ6IGFueSkge1xyXG4gICAgcmV0dXJuIHRoaXMuaHR0cC5nZXQoYCR7dGhpcy5jbGllbnRBcGlVcmx9L2NsaWVudC1kZXRhaWxzLyR7aWR9YClcclxuICB9XHJcblxyXG4gIGdldEhlYWRlclVzZXJzKGRhdGE6YW55KTpPYnNlcnZhYmxlPGFueT57IFxyXG4gICAgcmV0dXJuIHRoaXMuaHR0cC5wb3N0KGAke3RoaXMudHJhZmZpY0FwaVVybH0vaGVhZGVyVXNlckVtYWlsc192MmAsZGF0YSlcclxuICB9XHJcblxyXG4gIGdldENvdW50cnkoZGF0YTphbnkpOk9ic2VydmFibGU8YW55PnsgXHJcbiAgICByZXR1cm4gdGhpcy5odHRwLnBvc3QoYCR7dGhpcy50cmFmZmljQXBpVXJsfS9oZWFkZXJDb3VudHJ5X3YyYCxkYXRhKVxyXG4gIH1cclxuICBnZXRQbGFub1VzZXJzKCkge1xyXG4gICAgcmV0dXJuIHRoaXMuaHR0cC5nZXQoYCR7dGhpcy5zdG9yZUJ1aWxkZXJBcGlVcmx9L2dldFBsYW5vVXNlcmApO1xyXG4gIH1cclxuICBnZXRIZWFkZXJab25lKGRhdGE6YW55KTpPYnNlcnZhYmxlPGFueT57XHJcbiAgICByZXR1cm4gdGhpcy5odHRwLnBvc3QoYCR7dGhpcy50cmFmZmljQXBpVXJsfS9oZWFkZXJab25lVjJgLGRhdGEpXHJcbiAgfVxyXG5cclxuLy8gICBwcml2YXRlIGJhc2U2NEVuY29kZShzdHI6IGFueSkge1xyXG4vLyAgIHJldHVybiBidG9hKGVuY29kZVVSSUNvbXBvbmVudChzdHIpKTtcclxuLy8gfVxyXG5cclxuLy8gcHJpdmF0ZSBiYXNlNjREZWNvZGUoc3RyOiBhbnkpIHtcclxuLy8gICByZXR1cm4gZGVjb2RlVVJJQ29tcG9uZW50KGF0b2Ioc3RyKSk7XHJcbi8vIH1cclxuLy8gc2V0Q29va2llKG5hbWU6IHN0cmluZywgdmFsdWU6IHN0cmluZywgZGF5czogbnVtYmVyID0gMSk6IHZvaWQge1xyXG4vLyAgIGNvbnN0IGVuY29kZWRWYWx1ZSA9IHRoaXMuYmFzZTY0RW5jb2RlKHZhbHVlKTtcclxuLy8gICBjb25zdCBleHBpcmVzID0gbmV3IERhdGUoRGF0ZS5ub3coKSArIGRheXMgKiA4NjRlNSkudG9VVENTdHJpbmcoKTtcclxuLy8gICBkb2N1bWVudC5jb29raWUgPSBgJHtuYW1lfT0ke2VuY29kZWRWYWx1ZX07IGV4cGlyZXM9JHtleHBpcmVzfTsgcGF0aD0vOyBTZWN1cmU7IFNhbWVTaXRlPVN0cmljdGA7XHJcbi8vIH1cclxuXHJcbi8vIGdldENvb2tpZShuYW1lOiBzdHJpbmcpOiBzdHJpbmcgfCBudWxsIHtcclxuLy8gICBjb25zdCBtYXRjaCA9IGRvY3VtZW50LmNvb2tpZS5tYXRjaChuZXcgUmVnRXhwKGAoXnwgKSR7bmFtZX09KFteO10rKWApKTtcclxuLy8gICByZXR1cm4gbWF0Y2ggPyB0aGlzLmJhc2U2NERlY29kZShtYXRjaFsyXSkgOiBudWxsO1xyXG4vLyB9XHJcbi8vICAgZGVsZXRlQ29va2llKG5hbWU6IHN0cmluZyk6IHZvaWQge1xyXG4vLyAgICAgZG9jdW1lbnQuY29va2llID0gYCR7bmFtZX09OyBleHBpcmVzPVRodSwgMDEgSmFuIDE5NzAgMDA6MDA6MDAgVVRDOyBwYXRoPS87YDtcclxuLy8gICB9XHJcblxyXG5cclxuICBnZXRDbGllbnRJbmZvKGNsaWVudD86YW55KTpPYnNlcnZhYmxlPGFueT57IFxyXG4gICAgcmV0dXJuIHRoaXMuaHR0cC5nZXQoYCR7dGhpcy5jbGllbnRBcGlVcmx9L2RldGFpbGVkLWNsaWVudC1jb3VudD9jbGllbnRJZD0ke2NsaWVudCB9YClcclxuICB9XHJcbiAgICBnZXRTdG9yZU1hcERhdGEocGFyYW1zOiBhbnkpOiBPYnNlcnZhYmxlPGFueT4ge1xyXG4gICAgcmV0dXJuIHRoaXMuaHR0cC5wb3N0PGFueT4oYCR7dGhpcy50cmFmZmljQXBpVXJsfS9nZXRTdG9yZU1hcERhdGFgLCBwYXJhbXMpO1xyXG4gIH1cclxuICAgZ2V0U3RvcmVMb2dEYXRhKGRhdGE6YW55LGlkOmFueSl7XHJcbiAgICByZXR1cm4gdGhpcy5odHRwLnBvc3QoYCR7dGhpcy5zdG9yZUFwaVVybH0vZ2V0LXN0b3JlLyR7aWR9YCxkYXRhKSBcclxuICB9XHJcbiAgICBnZXRBbGxDbGllbnRJbmZvKCk6T2JzZXJ2YWJsZTxhbnk+e1xyXG4gICAgcmV0dXJuIHRoaXMuaHR0cC5nZXQoYCR7dGhpcy5jbGllbnRBcGlVcmx9L2RldGFpbGVkLWFsbC1jbGllbnQtY291bnRgKVxyXG4gIH1cclxuXHJcbiAgZ2V0RG93bnRpbWVIZWFkZXIoZGF0YTphbnkpOk9ic2VydmFibGU8YW55PntcclxuICAgIHJldHVybiB0aGlzLmh0dHAucG9zdChgJHt0aGlzLnRyYWZmaWNBcGlVcmx9L2dldC1zdG9yZS1saXN0LXYyYCxkYXRhKTtcclxuICB9XHJcblxyXG4gICBpc0xvY3VzQXV0aG9yaXplZCgpIHtcclxuICAgIHJldHVybiB0aGlzLmh0dHAuZ2V0KGAke3RoaXMudHJheFVybH0vbG9jdXNvcmRlci91c2VyLWFsbG93ZWRgKVxyXG4gICAgIFxyXG4gIH1cclxuZ2V0VXNlcnMoKTpPYnNlcnZhYmxlPGFueT57XHJcbiAgcmV0dXJuIHRoaXMuaHR0cC5nZXQoYCR7dGhpcy51c2VyQXBpVXJsfS9nZXQtYXVkaW8tdXNlcnM/dHlwZT11c2VyYClcclxufVxyXG5cclxufVxyXG4iXX0=
|