@hmcts/ccd-case-ui-toolkit 7.1.45-ungrey-back-button-9-2 → 7.1.45-ungrey-back-button-9-3
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/shared/components/palette/case-flag/components/select-flag-type/select-flag-type.component.mjs +4 -1
- package/fesm2022/hmcts-ccd-case-ui-toolkit.mjs +3 -0
- package/fesm2022/hmcts-ccd-case-ui-toolkit.mjs.map +1 -1
- package/lib/shared/components/palette/case-flag/components/select-flag-type/select-flag-type.component.d.ts.map +1 -1
- package/package.json +1 -1
|
@@ -330,6 +330,9 @@ export class SelectFlagTypeComponent extends AbstractJourneyComponent {
|
|
|
330
330
|
}
|
|
331
331
|
}
|
|
332
332
|
this.subJourneyIndex = Math.max(0, this.subJourneyIndex - 1);
|
|
333
|
+
if (this.subJourneyIndex === 0) {
|
|
334
|
+
this.flagTypes = this.flagTypes.filter((flag) => this.isDisplayContextParameterExternal ? flag.flagCode !== this.otherFlagTypeCode : true);
|
|
335
|
+
}
|
|
333
336
|
this.flagTypeSubJourneyEmitter.emit(this.subJourneyIndex);
|
|
334
337
|
}
|
|
335
338
|
// Identity function for trackBy use by *ngFor for flagTypes in HTML template
|
|
@@ -453,4 +456,4 @@ export class SelectFlagTypeComponent extends AbstractJourneyComponent {
|
|
|
453
456
|
type: Output
|
|
454
457
|
}] }); })();
|
|
455
458
|
(() => { (typeof ngDevMode === "undefined" || ngDevMode) && i0.ɵsetClassDebugInfo(SelectFlagTypeComponent, { className: "SelectFlagTypeComponent", filePath: "lib/shared/components/palette/case-flag/components/select-flag-type/select-flag-type.component.ts", lineNumber: 19 }); })();
|
|
456
|
-
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoic2VsZWN0LWZsYWctdHlwZS5jb21wb25lbnQuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9jY2QtY2FzZS11aS10b29sa2l0L3NyYy9saWIvc2hhcmVkL2NvbXBvbmVudHMvcGFsZXR0ZS9jYXNlLWZsYWcvY29tcG9uZW50cy9zZWxlY3QtZmxhZy10eXBlL3NlbGVjdC1mbGFnLXR5cGUuY29tcG9uZW50LnRzIiwiLi4vLi4vLi4vLi4vLi4vLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvY2NkLWNhc2UtdWktdG9vbGtpdC9zcmMvbGliL3NoYXJlZC9jb21wb25lbnRzL3BhbGV0dGUvY2FzZS1mbGFnL2NvbXBvbmVudHMvc2VsZWN0LWZsYWctdHlwZS9zZWxlY3QtZmxhZy10eXBlLmNvbXBvbmVudC5odG1sIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBRSxTQUFTLEVBQUUsWUFBWSxFQUFFLEtBQUssRUFBcUIsTUFBTSxFQUFFLE1BQU0sZUFBZSxDQUFDO0FBQzFGLE9BQU8sRUFBRSxXQUFXLEVBQUUsU0FBUyxFQUFFLE1BQU0sZ0JBQWdCLENBQUM7QUFFeEQsT0FBTyxFQUFFLFVBQVUsRUFBRSxTQUFTLEVBQUUsTUFBTSxnQkFBZ0IsQ0FBQztBQUV2RCxPQUFPLEVBQUUsUUFBUSxFQUFFLE1BQU0saUNBQWlDLENBQUM7QUFDM0QsT0FBTyxFQUFFLHNCQUFzQixFQUFFLDhCQUE4QixFQUFFLE1BQU0seUJBQXlCLENBQUM7QUFDakcsT0FBTyxFQUFFLG1CQUFtQixFQUFFLE1BQU0sK0RBQStELENBQUM7QUFFcEcsT0FBTyxFQUFFLGtCQUFrQixFQUFFLGtCQUFrQixFQUFFLHVCQUF1QixFQUFFLDBCQUEwQixFQUFFLE1BQU0sYUFBYSxDQUFDO0FBQzFILE9BQU8sRUFBRSx3QkFBd0IsRUFBRSxNQUFNLGdEQUFnRCxDQUFDO0FBQzFGLE9BQU8sRUFBRSxxQ0FBcUMs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LENBQUM7WUFDOUIsS0FBSyxDQUFDLFFBQVEsRUFBRSxDQUFDO1FBQ25CLENBQUM7SUFDSCxDQUFDO2lGQXBVVSx1QkFBdUI7NkRBQXZCLHVCQUF1QjtZQ2xCcEMsNEZBQWdFOztZQUFqRCwwRUFBdUI7OztpRkRrQnpCLHVCQUF1QjtjQUxuQyxTQUFTOzJCQUNFLHNCQUFzQjtvR0FNekIsU0FBUztrQkFEZixLQUFLO1lBSUMsWUFBWTtrQkFEbEIsS0FBSztZQUlDLFVBQVU7a0JBRGhCLEtBQUs7WUFJQyxjQUFjO2tCQURwQixLQUFLO1lBSUMsaUNBQWlDO2tCQUR2QyxLQUFLO1lBSUMsdUNBQXVDO2tCQUQ3QyxLQUFLO1lBSUMscUJBQXFCO2tCQUQzQixLQUFLO1lBSUMsb0JBQW9CO2tCQUQxQixNQUFNO1lBSUEsMkJBQTJCO2tCQURqQyxNQUFNO1lBSUEseUJBQXlCO2tCQUQvQixNQUFNOztrRkE1QkksdUJBQXVCIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgQ29tcG9uZW50LCBFdmVudEVtaXR0ZXIsIElucHV0LCBPbkRlc3Ryb3ksIE9uSW5pdCwgT3V0cHV0IH0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XG5pbXBvcnQgeyBGb3JtQ29udHJvbCwgRm9ybUdyb3VwIH0gZnJvbSAnQGFuZ3VsYXIvZm9ybXMnO1xuaW1wb3J0IHsgU3Vic2NyaXB0aW9uIH0gZnJvbSAncnhqcyc7XG5pbXBvcnQgeyBjYXRjaEVycm9yLCBzd2l0Y2hNYXAgfSBmcm9tICdyeGpzL29wZXJhdG9ycyc7XG5pbXBvcnQgeyBFcnJvck1lc3NhZ2UsIEpvdXJuZXkgfSBmcm9tICcuLi8uLi8uLi8uLi8uLi9kb21haW4nO1xuaW1wb3J0IHsgRmxhZ1R5cGUgfSBmcm9tICcuLi8uLi8uLi8uLi8uLi9kb21haW4vY2FzZS1mbGFnJztcbmltcG9ydCB7IENhc2VGbGFnUmVmZGF0YVNlcnZpY2UsIE11bHRpcGFnZUNvbXBvbmVudFN0YXRlU2VydmljZSB9IGZyb20gJy4uLy4uLy4uLy4uLy4uL3NlcnZpY2VzJztcbmltcG9ydCB7IFJlZmRhdGFDYXNlRmxhZ1R5cGUgfSBmcm9tICcuLi8uLi8uLi8uLi8uLi9zZXJ2aWNlcy9jYXNlLWZsYWcvcmVmZGF0YS1jYXNlLWZsYWctdHlwZS5lbnVtJztcbmltcG9ydCB7IENhc2VGbGFnU3RhdGUsIEZsYWdzV2l0aEZvcm1Hcm91cFBhdGggfSBmcm9tICcuLi8uLi9kb21haW4nO1xuaW1wb3J0IHsgQ2FzZUZsYWdGaWVsZFN0YXRlLCBDYXNlRmxhZ0Zvcm1GaWVsZHMsIENhc2VGbGFnV2l6YXJkU3RlcFRpdGxlLCBTZWxlY3RGbGFnVHlwZUVycm9yTWVzc2FnZSB9IGZyb20gJy4uLy4uL2VudW1zJztcbmltcG9ydCB7IEFic3RyYWN0Sm91cm5leUNvbXBvbmVudCB9IGZyb20gJy4uLy4uLy4uL2Jhc2UtZmllbGQvYWJzdHJhY3Qtam91cm5leS5jb21wb25lbnQnO1xuaW1wb3J0IHsgU2VhcmNoTGFuZ3VhZ2VJbnRlcnByZXRlckNvbnRyb2xOYW1lcyB9IGZyb20gJy4uL3NlYXJjaC1sYW5ndWFnZS1pbnRlcnByZXRlci9zZWFyY2gtbGFuZ3VhZ2UtaW50ZXJwcmV0ZXItY29udHJvbC1uYW1lcy5lbnVtJztcblxuQENvbXBvbmVudCh7XG4gIHNlbGVjdG9yOiAnY2NkLXNlbGVjdC1mbGFnLXR5cGUnLFxuICB0ZW1wbGF0ZVVybDogJy4vc2VsZWN0LWZsYWctdHlwZS5jb21wb25lbnQuaHRtbCcsXG4gIHN0eWxlVXJsczogWycuL3NlbGVjdC1mbGFnLXR5cGUuY29tcG9uZW50LnNjc3MnXVxufSlcbmV4cG9ydCBjbGFzcyBTZWxlY3RGbGFnVHlwZUNvbXBvbmVudCBleHRlbmRzIEFic3RyYWN0Sm91cm5leUNvbXBvbmVudCBpbXBsZW1lbnRzIE9uSW5pdCwgT25EZXN0cm95LCBKb3VybmV5IHtcbiAgQElucHV0KClcbiAgcHVibGljIGZvcm1Hcm91cDogRm9ybUdyb3VwO1xuXG4gIEBJbnB1dCgpXG4gIHB1YmxpYyBqdXJpc2RpY3Rpb246IHN0cmluZztcblxuICBASW5wdXQoKVxuICBwdWJsaWMgY2FzZVR5cGVJZDogc3RyaW5nO1xuXG4gIEBJbnB1dCgpXG4gIHB1YmxpYyBobWN0c1NlcnZpY2VJZDogc3RyaW5nO1xuXG4gIEBJbnB1dCgpXG4gIHB1YmxpYyBpc0Rpc3BsYXlDb250ZXh0UGFyYW1ldGVyRXh0ZXJuYWwgPSBmYWxzZTtcblxuICBASW5wdXQoKVxuICBwdWJsaWMgaXNEaXNwbGF5Q29udGV4dFBhcmFtZXRlcjJQb2ludDFFbmFibGVkID0gZmFsc2U7XG5cbiAgQElucHV0KClcbiAgcHVibGljIHNlbGVjdGVkRmxhZ3NMb2NhdGlvbjogRmxhZ3NXaXRoRm9ybUdyb3VwUGF0aDtcblxuICBAT3V0cHV0KClcbiAgcHVibGljIGNhc2VGbGFnU3RhdGVFbWl0dGVyOiBFdmVudEVtaXR0ZXI8Q2FzZUZsYWdTdGF0ZT4gPSBuZXcgRXZlbnRFbWl0dGVyPENhc2VGbGFnU3RhdGU+KCk7XG5cbiAgQE91dHB1dCgpXG4gIHB1YmxpYyBmbGFnQ29tbWVudHNPcHRpb25hbEVtaXR0ZXI6IEV2ZW50RW1pdHRlcjxhbnk+ID0gbmV3IEV2ZW50RW1pdHRlcigpO1xuXG4gIEBPdXRwdXQoKVxuICBwdWJsaWMgZmxhZ1R5cGVTdWJKb3VybmV5RW1pdHRlcjogRXZlbnRFbWl0dGVyPGFueT4gPSBuZXcgRXZlbnRFbWl0dGVyKCk7XG5cbiAgcHVibGljIGZsYWdUeXBlczogRmxhZ1R5cGVbXTtcbiAgcHVibGljIGVycm9yTWVzc2FnZXM6IEVycm9yTWVzc2FnZVtdO1xuICBwdWJsaWMgZmxhZ1R5cGVOb3RTZWxlY3RlZEVycm9yTWVzc2FnZSA9ICcnO1xuICBwdWJsaWMgZmxhZ1R5cGVFcnJvck1lc3NhZ2UgPSAnJztcbiAgcHVibGljIGZsYWdSZWZkYXRhJDogU3Vic2NyaXB0aW9uO1xuICBwdWJsaWMgcmVmZGF0YUVycm9yID0gZmFsc2U7XG4gIHB1YmxpYyBjYWNoZWRQYXRoOiAoRmxhZ1R5cGUgfCBmYWxzZSlbXTtcbiAgcHVibGljIGNhY2hlZEZsYWdUeXBlOiBGbGFnVHlwZTtcbiAgcHVibGljIGZsYWdUeXBlQ29udHJvbENoYW5nZXNTdWJzY3JpcHRpb246IFN1YnNjcmlwdGlvbjtcbiAgcHVibGljIGNhc2VGbGFnRm9ybUZpZWxkID0gQ2FzZUZsYWdGb3JtRmllbGRzO1xuICBwdWJsaWMgaXNDYXNlTGV2ZWxGbGFnID0gZmFsc2U7XG4gIHB1YmxpYyBjYWNoZWRSREZsYWdUeXBlczogRmxhZ1R5cGVbXTtcbiAgcHVibGljIHN1YkpvdXJuZXlJbmRleDogbnVtYmVyID0gMDtcblxuICBwcml2YXRlIHJlYWRvbmx5IG1heENoYXJhY3RlcnNGb3JPdGhlckZsYWdUeXBlID0gODA7XG4gIC8vIENvZGUgZm9yIFwiT3RoZXJcIiBmbGFnIHR5cGUgYXMgZGVmaW5lZCBpbiBSZWZlcmVuY2UgRGF0YVxuICBwcml2YXRlIHJlYWRvbmx5IG90aGVyRmxhZ1R5cGVDb2RlID0gJ09UMDAwMSc7XG4gIHByaXZhdGUgcmVhZG9ubHkgY2FzZUxldmVsQ2FzZUZsYWdzRmllbGRJZCA9ICdjYXNlRmxhZ3MnO1xuXG4gIHB1YmxpYyBnZXQgY2FzZUZsYWdXaXphcmRTdGVwVGl0bGUoKTogdHlwZW9mIENhc2VGbGFnV2l6YXJkU3RlcFRpdGxlIHtcbiAgICByZXR1cm4gQ2FzZUZsYWdXaXphcmRTdGVwVGl0bGU7XG4gIH1cblxuICBwdWJsaWMgY29uc3RydWN0b3IocHJpdmF0ZSByZWFkb25seSBjYXNlRmxhZ1JlZmRhdGFTZXJ2aWNlOiBDYXNlRmxhZ1JlZmRhdGFTZXJ2aWNlLCBwYWdlU3RhdGVTZXJ2aWNlOiBNdWx0aXBhZ2VDb21wb25lbnRTdGF0ZVNlcnZpY2UpIHtcbiAgICBzdXBlcihwYWdlU3RhdGVTZXJ2aWNlKTtcbiAgICB0aGlzLmhhbmRsZUJhY2tCdXR0b25TdWJKb3VybmV5ID0gdGhpcy5oYW5kbGVCYWNrQnV0dG9uU3ViSm91cm5leS5iaW5kKHRoaXMpO1xuICB9XG5cbiAgcHVibGljIGdldCBzZWxlY3RlZEZsYWdUeXBlKCk6IEZsYWdUeXBlIHwgbnVsbCB7XG4gICAgcmV0dXJuIHRoaXMuZm9ybUdyb3VwLmdldChDYXNlRmxhZ0Zvcm1GaWVsZHMuRkxBR19UWVBFKT8udmFsdWU7XG4gIH1cblxuICBwdWJsaWMgZ2V0IG90aGVyRmxhZ1R5cGVTZWxlY3RlZCgpOiBib29sZWFuIHtcbiAgICByZXR1cm4gdGhpcy5mb3JtR3JvdXAuZ2V0KENhc2VGbGFnRm9ybUZpZWxkcy5GTEFHX1RZUEUpPy52YWx1ZT8uZmxhZ0NvZGUgPT09IHRoaXMub3RoZXJGbGFnVHlwZUNvZGU7XG4gIH1cblxuICBwdWJsaWMgbmdPbkluaXQoKTogdm9pZCB7XG4gICAgdGhpcy5pc0Nhc2VMZXZlbEZsYWcgPSB0aGlzLnNlbGVjdGVkRmxhZ3NMb2NhdGlvbj8uZmxhZ3M/LmZsYWdzQ2FzZUZpZWxkSWQgPT09IHRoaXMuY2FzZUxldmVsQ2FzZUZsYWdzRmllbGRJZDtcbiAgICB0aGlzLmZsYWdUeXBlU3ViSm91cm5leUVtaXR0ZXIuZW1pdCh0aGlzLnN1YkpvdXJuZXlJbmRleCk7XG4gICAgdGhpcy5hZGRTdGF0ZSh0aGlzLnN1YkpvdXJuZXlJbmRleCk7XG4gICAgdGhpcy5mbGFnVHlwZXMgPSBbXTtcbiAgICBjb25zdCBmbGFnVHlwZSA9IHRoaXMuaXNDYXNlTGV2ZWxGbGFnID8gUmVmZGF0YUNhc2VGbGFnVHlwZS5DQVNFIDogUmVmZGF0YUNhc2VGbGFnVHlwZS5QQVJUWTtcbiAgICB0aGlzLmZvcm1Hcm91cC5hZGRDb250cm9sKENhc2VGbGFnRm9ybUZpZWxkcy5GTEFHX1RZUEUsIG5ldyBGb3JtQ29udHJvbCgnJykpO1xuICAgIHRoaXMuZm9ybUdyb3VwLmFkZENvbnRyb2woQ2FzZUZsYWdGb3JtRmllbGRzLk9USEVSX0ZMQUdfREVTQ1JJUFRJT04sIG5ldyBGb3JtQ29udHJvbCgnJykpO1xuICAgIC8vIEZvcm1Db250cm9sIGlzIGxpbmtlZCB0byBhIGNoZWNrYm94IGlucHV0IGVsZW1lbnQsIHNvIGluaXRpYWwgdmFsdWUgc2hvdWxkIGJlIGZhbHNlXG4gICAgdGhpcy5mb3JtR3JvdXAuYWRkQ29udHJvbChDYXNlRmxhZ0Zvcm1GaWVsZHMuSVNfVklTSUJMRV9JTlRFUk5BTExZX09OTFksIG5ldyBGb3JtQ29udHJvbChmYWxzZSkpO1xuXG4gICAgLy8gU2hvdWxkIGNsZWFyIGRlc2NyaXB0aW9uQ29udHJvbE5hbWUgaWYgZmxhZ1R5cGVDb250cm9sTmFtZSBpcyBjaGFuZ2VkXG4gICAgdGhpcy5mbGFnVHlwZUNvbnRyb2xDaGFuZ2VzU3Vic2NyaXB0aW9uID0gdGhpcy5mb3JtR3JvdXAuZ2V0KENhc2VGbGFnRm9ybUZpZWxkcy5GTEFHX1RZUEUpPy52YWx1ZUNoYW5nZXNcbiAgICAgIC5zdWJzY3JpYmUoKF8pID0+IHtcbiAgICAgICAgdGhpcy5mb3JtR3JvdXAuZ2V0KENhc2VGbGFnRm9ybUZpZWxkcy5PVEhFUl9GTEFHX0RFU0NSSVBUSU9OKT8uc2V0VmFsdWUoJycpO1xuICAgICAgICB0aGlzLmNhY2hlZFBhdGggPSBbXTtcblxuICAgICAgICAvLyByZXF1aXJlZCB0byBjbGVhciBsYW5ndWFnZSBpbnRlcnByZXRlclxuICAgICAgICB0aGlzLmZvcm1Hcm91cC5wYXRjaFZhbHVlKHtcbiAgICAgICAgICBbU2VhcmNoTGFuZ3VhZ2VJbnRlcnByZXRlckNvbnRyb2xOYW1lcy5MQU5HVUFHRV9TRUFSQ0hfVEVSTV06ICcnLFxuICAgICAgICAgIFtTZWFyY2hMYW5ndWFnZUludGVycHJldGVyQ29udHJvbE5hbWVzLk1BTlVBTF9MQU5HVUFHRV9FTlRSWV06ICcnXG4gICAgICAgIH0pO1xuICAgICAgfVxuICAgICAgKTtcblxuICAgIC8vIElmIGhtY3RzU2VydmljZUlkIGlzIHByZXNlbnQsIHVzZSB0aGlzIHRvIHJldHJpZXZlIHRoZSByZWxldmFudCBsaXN0IG9mIGZsYWcgdHlwZXNcbiAgICBpZiAodGhpcy5obWN0c1NlcnZpY2VJZCkge1xuICAgICAgdGhpcy5mbGFnUmVmZGF0YSQgPSB0aGlzLmNhc2VGbGFnUmVmZGF0YVNlcnZpY2VcbiAgICAgICAgLmdldENhc2VGbGFnc1JlZmRhdGEodGhpcy5obWN0c1NlcnZpY2VJZCwgZmxhZ1R5cGUsIHRydWUsIHRoaXMuaXNEaXNwbGF5Q29udGV4dFBhcmFtZXRlckV4dGVybmFsKVxuICAgICAgICAuc3Vic2NyaWJlKHtcbiAgICAgICAgICBuZXh0OiAoZmxhZ1R5cGVzKSA9PiB0aGlzLnByb2Nlc3NGbGFnVHlwZXMoZmxhZ1R5cGVzKSxcbiAgICAgICAgICBlcnJvcjogKGVycm9yKSA9PiB0aGlzLm9uUmVmZGF0YUVycm9yKGVycm9yKVxuICAgICAgICB9KTtcbiAgICB9IGVsc2Uge1xuICAgICAgLy8gRWxzZSwgSE1DVFMgc2VydmljZSBjb2RlIGlzIHJlcXVpcmVkIHRvIHJldHJpZXZlIHRoZSByZWxldmFudCBsaXN0IG9mIGZsYWcgdHlwZXM7IGF0dGVtcHQgdG8gb2J0YWluIGl0IGJ5IGNhc2UgdHlwZSBJRCBmaXJzdFxuICAgICAgdGhpcy5mbGFnUmVmZGF0YSQgPSB0aGlzLmNhc2VGbGFnUmVmZGF0YVNlcnZpY2UuZ2V0SG1jdHNTZXJ2aWNlRGV0YWlsc0J5Q2FzZVR5cGUodGhpcy5jYXNlVHlwZUlkKVxuICAgICAgICAucGlwZShcbiAgICAgICAgICAvLyBJZiBhbiBlcnJvciBvY2N1cnMgcmV0cmlldmluZyBITUNUUyBzZXJ2aWNlIGRldGFpbHMgYnkgY2FzZSB0eXBlIElELCB0cnkgYnkgc2VydmljZSBuYW1lIGluc3RlYWRcbiAgICAgICAgICBjYXRjaEVycm9yKChfKSA9PiB0aGlzLmNhc2VGbGFnUmVmZGF0YVNlcnZpY2UuZ2V0SG1jdHNTZXJ2aWNlRGV0YWlsc0J5U2VydmljZU5hbWUodGhpcy5qdXJpc2RpY3Rpb24pKSxcbiAgICAgICAgICAvLyBVc2Ugc3dpdGNoTWFwIHRvIHJldHVybiBhbiBpbm5lciBPYnNlcnZhYmxlIG9mIHRoZSBmbGFnIHR5cGVzIGRhdGEsIGhhdmluZyByZWNlaXZlZCB0aGUgc2VydmljZSBkZXRhaWxzXG4gICAgICAgICAgLy8gaW5jbHVkaW5nIHNlcnZpY2VfY29kZS4gVGhpcyBhdm9pZHMgaGF2aW5nIG5lc3RlZCBgc3Vic2NyaWJlYHMsIHdoaWNoIGlzIGFuIGFudGktcGF0dGVybiFcbiAgICAgICAgICBzd2l0Y2hNYXAoKHNlcnZpY2VEZXRhaWxzKSA9PiB0aGlzLmNhc2VGbGFnUmVmZGF0YVNlcnZpY2UuZ2V0Q2FzZUZsYWdzUmVmZGF0YShzZXJ2aWNlRGV0YWlsc1swXS5zZXJ2aWNlX2NvZGUsIGZsYWdUeXBlLFxuICAgICAgICAgICAgdHJ1ZSwgdGhpcy5pc0Rpc3BsYXlDb250ZXh0UGFyYW1ldGVyRXh0ZXJuYWwpKVxuICAgICAgICApXG4gICAgICAgIC5zdWJzY3JpYmUoe1xuICAgICAgICAgIG5leHQ6IChmbGFnVHlwZXMpID0+IHRoaXMucHJvY2Vzc0ZsYWdUeXBlcyhmbGFnVHlwZXMpLFxuICAgICAgICAgIGVycm9yOiAoZXJyb3IpID0+IHRoaXMub25SZWZkYXRhRXJyb3IoZXJyb3IpXG4gICAgICAgIH0pO1xuICAgIH1cbiAgICB0aGlzLmFkZFN0YXRlKHRoaXMuc3ViSm91cm5leUluZGV4KTtcbiAgICB3aW5kb3cuYWRkRXZlbnRMaXN0ZW5lcigncG9wc3RhdGUnLCB0aGlzLmhhbmRsZUJhY2tCdXR0b25TdWJKb3VybmV5KTtcbiAgfVxuXG4gIHB1YmxpYyBoYW5kbGVCYWNrQnV0dG9uU3ViSm91cm5leShldmVudDogRXZlbnQpOiB2b2lkIHtcbiAgICBldmVudC5wcmV2ZW50RGVmYXVsdCgpO1xuICAgIHRoaXMucHJldmlvdXMoKTtcbiAgfVxuXG4gIHB1YmxpYyBhZGRTdGF0ZShkYXRhOiBudW1iZXIsIHVybD86IHN0cmluZyk6IHZvaWQge1xuICAgIGhpc3RvcnkucHVzaFN0YXRlKCcxJytkYXRhLCAnJywgdXJsKTtcbiAgfVxuXG4gIHB1YmxpYyBuZ09uRGVzdHJveSgpOiB2b2lkIHtcbiAgICB0aGlzLmZsYWdSZWZkYXRhJD8udW5zdWJzY3JpYmUoKTtcbiAgICB0aGlzLmZsYWdUeXBlQ29udHJvbENoYW5nZXNTdWJzY3JpcHRpb24/LnVuc3Vic2NyaWJlKCk7XG4gICAgLy8gY2hlY2sgaWYgdGhlIHVzZXIgaGFzIGFuIGV4aXN0aW5nIHBhdGggd2hlbiBuYXZpZ2F0aW5nIGF3YXkgZnJvbSB0aGUgcGFnZVxuICAgIC8vIGlmIHNvIHdlIG1heSBuZWVkIHRvIGVuc3VyZSB0aGUgdmFsdWVzIGFyZSBzZXQgY29ycmVjdGx5LlxuICAgIHRoaXMuY2hlY2tGb3JFeGlzdGluZ1BhdGgoKTtcbiAgICB3aW5kb3cucmVtb3ZlRXZlbnRMaXN0ZW5lcigncG9wc3RhdGUnLCB0aGlzLmhhbmRsZUJhY2tCdXR0b25TdWJKb3VybmV5KTtcbiAgfVxuXG4gIHB1YmxpYyBjaGVja0ZvckV4aXN0aW5nUGF0aCgpOiB2b2lkIHtcbiAgICAvLyBSZXN0b3JlIHZhbHVlcyBmcm9tIGNhY2hlZFBhdGhcbiAgICBpZiAodGhpcy5zdWJKb3VybmV5SW5kZXggPD0gMCkge1xuICAgICAgLy8gY2hlY2sgaWYgdGhlIHVzZXIgaXMgbmF2aWdhdGluZyB0byB0aGUgcHJldmlvdXMgcGFnZSBpbiB0aGUgam91bnJleS5cbiAgICAgIC8vIGluIHRoaXMgc2l0dWF0aW9uIHdlIG5lZWQgdG8gcmVzdG9yZSB0aGUgZnVsbCBwYXRoIGZvciBkYXRhIHJldGVudGlvbiBhY3Jvc3MgcGFnZXMuXG4gICAgICBpZiAodGhpcy5jYWNoZWRQYXRoICYmIHRoaXMuY2FjaGVkUGF0aC5sZW5ndGggPiAwKSB7XG4gICAgICAgIHRoaXMuY2FjaGVkUGF0aC5mb3JFYWNoKChmbGFnVHlwZSkgPT4ge1xuICAgICAgICAgIGlmIChmbGFnVHlwZSkge1xuICAgICAgICAgICAgdGhpcy5mb3JtR3JvdXAuZ2V0KENhc2VGbGFnRm9ybUZpZWxkcy5GTEFHX1RZUEUpPy5zZXRWYWx1ZShmbGFnVHlwZSwgeyBlbWl0RXZlbnQ6IGZhbHNlIH0pO1xuICAgICAgICAgIH1cbiAgICAgICAgfSk7XG4gICAgICB9XG4gICAgfVxuICB9XG5cbiAgcHVibGljIG9uTmV4dCgpOiB2b2lkIHtcbiAgICB0aGlzLnZhbGlkYXRlRm9ybSgpO1xuICAgIHRoaXMuZW1pdENhc2VGbGFnU3RhdGUoKTtcbiAgICB0aGlzLmVtaXRGbGFnQ29tbWVudHNPcHRpb25hbCgpO1xuICAgIHRoaXMuaGFuZGxlRmxhZ1R5cGVTZWxlY3Rpb24oKTtcbiAgICB0aGlzLmZsYWdUeXBlU3ViSm91cm5leUVtaXR0ZXIuZW1pdCh0aGlzLnN1YkpvdXJuZXlJbmRleCk7XG4gICAgdGhpcy5hZGRTdGF0ZSh0aGlzLnN1YkpvdXJuZXlJbmRleCk7XG4gIH1cblxuICBwcml2YXRlIGVtaXRDYXNlRmxhZ1N0YXRlKCk6IHZvaWQge1xuICAgIHRoaXMuY2FzZUZsYWdTdGF0ZUVtaXR0ZXIuZW1pdCh7XG4gICAgICBjdXJyZW50Q2FzZUZsYWdGaWVsZFN0YXRlOiBDYXNlRmxhZ0ZpZWxkU3RhdGUuRkxBR19UWVBFLFxuICAgICAgaXNQYXJlbnRGbGFnVHlwZTogdGhpcy5zZWxlY3RlZEZsYWdUeXBlID8gdGhpcy5zZWxlY3RlZEZsYWdUeXBlLmlzUGFyZW50IDogbnVsbCxcbiAgICAgIGVycm9yTWVzc2FnZXM6IHRoaXMuZXJyb3JNZXNzYWdlc1xuICAgIH0pO1xuICB9XG5cbiAgcHJpdmF0ZSBlbWl0RmxhZ0NvbW1lbnRzT3B0aW9uYWwoKTogdm9pZCB7XG4gICAgaWYgKHRoaXMuc2VsZWN0ZWRGbGFnVHlwZSAmJiAhdGhpcy5zZWxlY3RlZEZsYWdUeXBlLmlzUGFyZW50ICYmICF0aGlzLnNlbGVjdGVkRmxhZ1R5cGUuZmxhZ0NvbW1lbnQpIHtcbiAgICAgIHRoaXMuZmxhZ0NvbW1lbnRzT3B0aW9uYWxFbWl0dGVyLmVtaXQobnVsbCk7XG4gICAgfVxuICB9XG5cbiAgcHJpdmF0ZSBoYW5kbGVGbGFnVHlwZVNlbGVjdGlvbigpOiB2b2lkIHtcbiAgICBpZiAodGhpcy5zZWxlY3RlZEZsYWdUeXBlPy5pc1BhcmVudCkge1xuICAgICAgdGhpcy5sb2FkQ2hpbGRGbGFnVHlwZXMoKTtcbiAgICB9IGVsc2Uge1xuICAgICAgdGhpcy5jb21wbGV0ZVN1YkpvdXJuZXkoKTtcbiAgICB9XG4gIH1cblxuICBwcml2YXRlIGxvYWRDaGlsZEZsYWdUeXBlcygpOiB2b2lkIHtcbiAgICB0aGlzLmNhY2hlZEZsYWdUeXBlID0gdGhpcy5zZWxlY3RlZEZsYWdUeXBlO1xuICAgIHRoaXMuZmxhZ1R5cGVzID0gdGhpcy5zZWxlY3RlZEZsYWdUeXBlLmNoaWxkRmxhZ3M7XG4gICAgaWYgKHRoaXMuY2FjaGVkUGF0aC5sZW5ndGggIT09IDAgJiYgdGhpcy5jYWNoZWRQYXRoW3RoaXMuc3ViSm91cm5leUluZGV4XSA9PT0gdGhpcy5zZWxlY3RlZEZsYWdUeXBlKSB7XG4gICAgICB0aGlzLmZvcm1Hcm91cC5nZXQoQ2FzZUZsYWdGb3JtRmllbGRzLkZMQUdfVFlQRSk/LnNldFZhbHVlKHRoaXMuY2FjaGVkUGF0aFt0aGlzLnN1YkpvdXJuZXlJbmRleCArIDFdLCB7IGVtaXRFdmVudDogZmFsc2UgfSk7XG4gICAgfSBlbHNlIHtcbiAgICAgIHRoaXMuY2FjaGVkUGF0aD8uc2hpZnQoKTtcbiAgICAgIGNvbnN0IHZhbHVlID0gdGhpcy5jYWNoZWRQYXRoPy5sZW5ndGggPyB0aGlzLmNhY2hlZFBhdGhbMF0gOiBudWxsO1xuICAgICAgdGhpcy5mb3JtR3JvdXAuZ2V0KENhc2VGbGFnRm9ybUZpZWxkcy5GTEFHX1RZUEUpPy5zZXRWYWx1ZSh2YWx1ZSwgeyBlbWl0RXZlbnQ6IGZhbHNlIH0pO1xuICAgIH1cbiAgICB0aGlzLnN1YkpvdXJuZXlJbmRleCsrO1xuICB9XG5cbiAgcHJpdmF0ZSBjb21wbGV0ZVN1YkpvdXJuZXkoKTogdm9pZCB7XG4gICAgY29uc3QgY3VycmVudFNlbGVjdGVkRmxhZyA9IHRoaXMuZm9ybUdyb3VwLmNvbnRyb2xzLmZsYWdUeXBlO1xuICAgIGNvbnN0IGFkZGVkRmxhZ1ZhbHVlID0gdGhpcy5zZWxlY3RlZEZsYWdzTG9jYXRpb24/LmNhc2VGaWVsZD8udmFsdWU/LmRldGFpbHM7XG4gICAgaWYgKGFkZGVkRmxhZ1ZhbHVlICYmIChhZGRlZEZsYWdWYWx1ZVtPYmplY3Qua2V5cyhhZGRlZEZsYWdWYWx1ZSkubGVuZ3RoXT8ubmFtZSAhPT0gY3VycmVudFNlbGVjdGVkRmxhZy52YWx1ZS5uYW1lKSkge1xuICAgICAgdGhpcy5zZWxlY3RlZEZsYWdzTG9jYXRpb25bJ2Nhc2VGaWVsZCddLnZhbHVlLmRldGFpbHMucG9wKCk7XG4gICAgICB0aGlzLnNlbGVjdGVkRmxhZ3NMb2NhdGlvblsnY2FzZUZpZWxkJ10uZm9ybWF0dGVkX3ZhbHVlPy5kZXRhaWxzLnBvcCgpO1xuICAgIH1cbiAgfVxuXG4gIC8vIFNpbXBsaWZpZWQgdmVyc2lvbiBvZiB0aGUgb25QcmV2aW91cyBtZXRob2Qgd2l0aCBvcHRpbWl6ZWQgY29kZVxuICBwdWJsaWMgb25QcmV2aW91cygpOiB2b2lkIHtcbiAgICBpZiAodGhpcy5jYWNoZWRGbGFnVHlwZSkge1xuICAgICAgaWYgKHRoaXMuY2FjaGVkRmxhZ1R5cGUuUGF0aD8ubGVuZ3RoID09PSAxKSB7XG4gICAgICAgIHRoaXMuZm9ybUdyb3VwLmdldChDYXNlRmxhZ0Zvcm1GaWVsZHMuRkxBR19UWVBFKT8uc2V0VmFsdWUodGhpcy5jYWNoZWRGbGFnVHlwZSwgeyBlbWl0RXZlbnQ6IGZhbHNlIH0pO1xuICAgICAgICB0aGlzLmZsYWdUeXBlcyA9IHRoaXMuY2FjaGVkUkRGbGFnVHlwZXNbMF0uY2hpbGRGbGFncztcbiAgICAgIH0gZWxzZSB7XG4gICAgICAgIGxldCBjdXJyZW50UGF0aCA9IHRoaXMuY2FjaGVkUkRGbGFnVHlwZXNbMF07XG4gICAgICAgIGNvbnN0IHBhdGhUb1NlYXJjaCA9IHRoaXMuY2FjaGVkRmxhZ1R5cGUuUGF0aC5zbGljZSgxKTtcbiAgICAgICAgZm9yIChjb25zdCBwYXRoRWxlbWVudCBvZiBwYXRoVG9TZWFyY2gpIHtcbiAgICAgICAgICBjb25zdCBmb3VuZEZsYWcgPSBjdXJyZW50UGF0aC5jaGlsZEZsYWdzLmZpbmQoKGZsYWcpID0+IGZsYWcubmFtZSA9PT0gcGF0aEVsZW1lbnQpO1xuICAgICAgICAgIGlmIChmb3VuZEZsYWcpIHtcbiAgICAgICAgICAgIGN1cnJlbnRQYXRoID0gZm91bmRGbGFnO1xuICAgICAgICAgIH1cbiAgICAgICAgfVxuICAgICAgICB0aGlzLmZvcm1Hcm91cC5nZXQoQ2FzZUZsYWdGb3JtRmllbGRzLkZMQUdfVFlQRSk/LnNldFZhbHVlKHRoaXMuY2FjaGVkRmxhZ1R5cGUsIHsgZW1pdEV2ZW50OiBmYWxzZSB9KTtcbiAgICAgICAgdGhpcy5mbGFnVHlwZXMgPSBjdXJyZW50UGF0aC5jaGlsZEZsYWdzO1xuICAgICAgICB0aGlzLmNhY2hlZEZsYWdUeXBlID0gY3VycmVudFBhdGg7XG4gICAgICB9XG4gICAgfVxuICAgIHRoaXMuc3ViSm91cm5leUluZGV4ID0gTWF0aC5tYXgoMCwgdGhpcy5zdWJKb3VybmV5SW5kZXggLSAxKTtcbiAgICB0aGlzLmZsYWdUeXBlU3ViSm91cm5leUVtaXR0ZXIuZW1pdCh0aGlzLnN1YkpvdXJuZXlJbmRleCk7XG4gIH1cblxuICAvLyBJZGVudGl0eSBmdW5jdGlvbiBmb3IgdHJhY2tCeSB1c2UgYnkgKm5nRm9yIGZvciBmbGFnVHlwZXMgaW4gSFRNTCB0ZW1wbGF0ZVxuICBwdWJsaWMgaWRlbnRpZnlGbGFnVHlwZShfOiBudW1iZXIsIGZsYWdUeXBlOiBGbGFnVHlwZSk6IHN0cmluZyB7XG4gICAgcmV0dXJuIGAke2ZsYWdUeXBlLmZsYWdDb2RlfV8ke2ZsYWdUeXBlLm5hbWV9XyR7ZmxhZ1R5cGUubmFtZV9jeX1gO1xuICB9XG5cbiAgcHJpdmF0ZSB2YWxpZGF0ZUZvcm0oKTogdm9pZCB7XG4gICAgdGhpcy5mbGFnVHlwZU5vdFNlbGVjdGVkRXJyb3JNZXNzYWdlID0gJyc7XG4gICAgdGhpcy5mbGFnVHlwZUVycm9yTWVzc2FnZSA9ICcnO1xuICAgIHRoaXMuZXJyb3JNZXNzYWdlcyA9IFtdO1xuXG4gICAgaWYgKCF0aGlzLnNlbGVjdGVkRmxhZ1R5cGUpIHtcbiAgICAgIC8vIElmIHRoZXJlIGlzIGFueSBwcmlvciBmbGFnIHR5cGUgc2VsZWN0aW9uIHRoZW4gdGhlIG1lc3NhZ2Ugd2lsbCBkaWZmZXJcbiAgICAgIGxldCBlcnJvck1lc3NhZ2UgPSAnJztcbiAgICAgIGlmICh0aGlzLmNhY2hlZEZsYWdUeXBlKSB7XG4gICAgICAgIGVycm9yTWVzc2FnZSA9IFNlbGVjdEZsYWdUeXBlRXJyb3JNZXNzYWdlLkZMQUdfVFlQRV9PUFRJT05fTk9UX1NFTEVDVEVEO1xuICAgICAgfSBlbHNlIHtcbiAgICAgICAgZXJyb3JNZXNzYWdlID0gdGhpcy5pc0Rpc3BsYXlDb250ZXh0UGFyYW1ldGVyRXh0ZXJuYWxcbiAgICAgICAgICA/IFNlbGVjdEZsYWdUeXBlRXJyb3JNZXNzYWdlLkZMQUdfVFlQRV9OT1RfU0VMRUNURURfRVhURVJOQUxcbiAgICAgICAgICA6IFNlbGVjdEZsYWdUeXBlRXJyb3JNZXNzYWdlLkZMQUdfVFlQRV9OT1RfU0VMRUNURUQ7XG4gICAgICB9XG4gICAgICB0aGlzLmZsYWdUeXBlTm90U2VsZWN0ZWRFcnJvck1lc3NhZ2UgPSBlcnJvck1lc3NhZ2U7XG4gICAgICB0aGlzLmVycm9yTWVzc2FnZXMucHVzaCh7IHRpdGxlOiAnJywgZGVzY3JpcHRpb246IGVycm9yTWVzc2FnZSwgZmllbGRJZDogJ2NvbmRpdGlvbmFsLXJhZGlvcy1saXN0JyB9KTtcbiAgICB9XG4gICAgaWYgKHRoaXMub3RoZXJGbGFnVHlwZVNlbGVjdGVkKSB7XG4gICAgICBjb25zdCBvdGhlckZsYWdUeXBlRGVzY3JpcHRpb24gPSB0aGlzLmZvcm1Hcm91cC5nZXQoQ2FzZUZsYWdGb3JtRmllbGRzLk9USEVSX0ZMQUdfREVTQ1JJUFRJT04pPy52YWx1ZTtcbiAgICAgIGlmICghb3RoZXJGbGFnVHlwZURlc2NyaXB0aW9uKSB7XG4gICAgICAgIHRoaXMuZmxhZ1R5cGVFcnJvck1lc3NhZ2UgPSB0aGlzLmlzRGlzcGxheUNvbnRleHRQYXJhbWV0ZXJFeHRlcm5hbFxuICAgICAgICAgID8gU2VsZWN0RmxhZ1R5cGVFcnJvck1lc3NhZ2UuRkxBR19UWVBFX05PVF9FTlRFUkVEX0VYVEVSTkFMXG4gICAgICAgICAgOiBTZWxlY3RGbGFnVHlwZUVycm9yTWVzc2FnZS5GTEFHX1RZUEVfTk9UX0VOVEVSRUQ7XG4gICAgICAgIHRoaXMuZXJyb3JNZXNzYWdlcy5wdXNoKHsgdGl0bGU6ICcnLCBkZXNjcmlwdGlvbjogYCR7dGhpcy5mbGFnVHlwZUVycm9yTWVzc2FnZX1gLCBmaWVsZElkOiAnb3RoZXItZmxhZy10eXBlLWRlc2NyaXB0aW9uJyB9KTtcbiAgICAgIH1cbiAgICAgIGlmIChvdGhlckZsYWdUeXBlRGVzY3JpcHRpb24ubGVuZ3RoID4gdGhpcy5tYXhDaGFyYWN0ZXJzRm9yT3RoZXJGbGFnVHlwZSkge1xuICAgICAgICB0aGlzLmZsYWdUeXBlRXJyb3JNZXNzYWdlID0gU2VsZWN0RmxhZ1R5cGVFcnJvck1lc3NhZ2UuRkxBR19UWVBFX0xJTUlUX0VYQ0VFREVEO1xuICAgICAgICB0aGlzLmVycm9yTWVzc2FnZXMucHVzaCh7IHRpdGxlOiAnJywgZGVzY3JpcHRpb246IGAke1NlbGVjdEZsYWdUeXBlRXJyb3JNZXNzYWdlLkZMQUdfVFlQRV9MSU1JVF9FWENFRURFRH1gLCBmaWVsZElkOiAnb3RoZXItZmxhZy10eXBlLWRlc2NyaXB0aW9uJyB9KTtcbiAgICAgIH1cbiAgICB9XG4gIH1cblxuICBwdWJsaWMgcHJvY2Vzc0ZsYWdUeXBlcyhmbGFnVHlwZXM6IEZsYWdUeXBlW10pOiB2b2lkIHtcbiAgICBjb25zdCBwcmV2Sm91cm5leVBhZ2UgPSB0aGlzLm11bHRpcGFnZUNvbXBvbmVudFN0YXRlU2VydmljZS5nZXRKb3VybmV5Q29sbGVjdGlvbigpWzBdO1xuICAgIGNvbnN0IHsgam91cm5leVByZXZpb3VzUGFnZU51bWJlciwgam91cm5leVBhZ2VOdW1iZXIgfSA9IHByZXZKb3VybmV5UGFnZTtcbiAgICB0aGlzLmNhY2hlZFJERmxhZ1R5cGVzID0gZmxhZ1R5cGVzO1xuICAgIGlmICh0aGlzLnNlbGVjdGVkRmxhZ1R5cGUgJiYgKGpvdXJuZXlQcmV2aW91c1BhZ2VOdW1iZXIgPiBqb3VybmV5UGFnZU51bWJlcikpIHtcbiAgICAgIGNvbnN0IHNlbGVjdGVkRmxhZ1R5cGUgPSB0aGlzLnNlbGVjdGVkRmxhZ1R5cGU7XG4gICAgICBjb25zdCBwYXRoVG9TZWFyY2ggPSBzZWxlY3RlZEZsYWdUeXBlLlBhdGguc2xpY2UoMSk7XG4gICAgICBsZXQgY3VycmVudFBhdGggPSBmbGFnVHlwZXNbMF07XG4gICAgICBmb3IgKGNvbnN0IHBhdGhFbGVtZW50IG9mIHBhdGhUb1NlYXJjaCkge1xuICAgICAgICBjb25zdCBmb3VuZEZsYWcgPSBjdXJyZW50UGF0aC5jaGlsZEZsYWdzLmZpbmQoKGZsYWcpID0+IGZsYWcubmFtZSA9PT0gcGF0aEVsZW1lbnQpO1xuICAgICAgICBpZiAoZm91bmRGbGFnKSB7XG4gICAgICAgICAgY3VycmVudFBhdGggPSBmb3VuZEZsYWc7XG4gICAgICAgIH1cbiAgICAgIH1cbiAgICAgIHRoaXMuZmxhZ1R5cGVzID0gY3VycmVudFBhdGguY2hpbGRGbGFncztcbiAgICAgIHRoaXMuY2FjaGVkRmxhZ1R5cGUgPSBjdXJyZW50UGF0aDtcbiAgICB9IGVsc2Uge1xuICAgICAgdGhpcy5mbGFnVHlwZXMgPSBmbGFnVHlwZXNbMF0uY2hpbGRGbGFncy5maWx0ZXIoKGZsYWcpID0+XG4gICAgICAgIHRoaXMuaXNEaXNwbGF5Q29udGV4dFBhcmFtZXRlckV4dGVybmFsID8gZmxhZy5mbGFnQ29kZSAhPT0gdGhpcy5vdGhlckZsYWdUeXBlQ29kZSA6IHRydWUpO1xuICAgIH1cbiAgICBjb25zdCBmb3JtQ29udHJvbCA9IHRoaXMuZm9ybUdyb3VwLmdldChDYXNlRmxhZ0Zvcm1GaWVsZHMuRkxBR19UWVBFKTtcbiAgICBpZiAoZm9ybUNvbnRyb2w/LnZhbHVlKSB7XG4gICAgICBjb25zdCBbZm91bmRGbGFnVHlwZSwgcGF0aF0gPSBGbGFnVHlwZS5zZWFyY2hQYXRoQnlGbGFnVHlwZU9iamVjdChmb3JtQ29udHJvbC52YWx1ZSBhcyBGbGFnVHlwZSwgdGhpcy5jYWNoZWRSREZsYWdUeXBlc1swXS5jaGlsZEZsYWdzKTtcbiAgICAgIHRoaXMuY2FjaGVkUGF0aCA9IFsuLi5wYXRoLCBmb3VuZEZsYWdUeXBlXTtcbiAgICAgIGZvcm1Db250cm9sLnNldFZhbHVlKCh0aGlzLnNlbGVjdGVkRmxhZ1R5cGUgJiYgKGpvdXJuZXlQcmV2aW91c1BhZ2VOdW1iZXIgPiBqb3VybmV5UGFnZU51bWJlcikpID8gdGhpcy5jYWNoZWRQYXRoW3RoaXMuY2FjaGVkUGF0aC5sZW5ndGggLSAxXSA6IHRoaXMuY2FjaGVkUGF0aFswXSwgeyBlbWl0RXZlbnQ6IGZhbHNlIH0pO1xuICAgICAgaWYgKHRoaXMuY2FjaGVkUGF0aC5sZW5ndGggIT09IDAgJiYgKGpvdXJuZXlQcmV2aW91c1BhZ2VOdW1iZXIgPiBqb3VybmV5UGFnZU51bWJlcikpIHtcbiAgICAgICAgdGhpcy5zdWJKb3VybmV5SW5kZXggPSB0aGlzLmNhY2hlZFBhdGgubGVuZ3RoLTE7XG4gICAgICB9XG4gICAgfVxuICAgIHRoaXMuZmxhZ1R5cGVTdWJKb3VybmV5RW1pdHRlci5lbWl0KHRoaXMuc3ViSm91cm5leUluZGV4KTtcbiAgICB0aGlzLmFkZFN0YXRlKHRoaXMuc3ViSm91cm5leUluZGV4KTtcbiAgfVxuXG4gIHByaXZhdGUgb25SZWZkYXRhRXJyb3IoZXJyb3I6IGFueSk6IHZvaWQge1xuICAgIC8vIFNldCBlcnJvciBmbGFnIG9uIGNvbXBvbmVudCB0byByZW1vdmUgdGhlIFwiTmV4dFwiIGJ1dHRvbiAodXNlciBjYW5ub3QgcHJvY2VlZCB3aXRoIGZsYWcgY3JlYXRpb24pXG4gICAgdGhpcy5yZWZkYXRhRXJyb3IgPSB0cnVlO1xuICAgIHRoaXMuZXJyb3JNZXNzYWdlcyA9IFtdO1xuICAgIHRoaXMuZXJyb3JNZXNzYWdlcy5wdXNoKHsgdGl0bGU6ICcnLCBkZXNjcmlwdGlvbjogZXJyb3IubWVzc2FnZSwgZmllbGRJZDogJ2NvbmRpdGlvbmFsLXJhZGlvcy1saXN0JyB9KTtcbiAgICAvLyBSZXR1cm4gY2FzZSBmbGFnIGZpZWxkIHN0YXRlIGFuZCBlcnJvciBtZXNzYWdlcyB0byB0aGUgcGFyZW50XG4gICAgdGhpcy5jYXNlRmxhZ1N0YXRlRW1pdHRlci5lbWl0KHsgY3VycmVudENhc2VGbGFnRmllbGRTdGF0ZTogQ2FzZUZsYWdGaWVsZFN0YXRlLkZMQUdfVFlQRSwgZXJyb3JNZXNzYWdlczogdGhpcy5lcnJvck1lc3NhZ2VzIH0pO1xuICB9XG5cbiAgcHVibGljIG5leHQoKTogdm9pZCB7XG4gICAgdGhpcy5vbk5leHQoKTtcbiAgICB0aGlzLmFkZFN0YXRlKHRoaXMuc3ViSm91cm5leUluZGV4KTtcbiAgICBpZiAodGhpcy5lcnJvck1lc3NhZ2VzLmxlbmd0aCA9PT0gMCkge1xuICAgICAgc3VwZXIubmV4dCgpO1xuICAgIH1cbiAgfVxuXG4gIHB1YmxpYyBwcmV2aW91cygpOiB2b2lkIHtcbiAgICB0aGlzLm9uUHJldmlvdXMoKTtcblxuICAgIGlmICh0aGlzLnN1YkpvdXJuZXlJbmRleCA8PSAwKSB7XG4gICAgICBzdXBlci5wcmV2aW91cygpO1xuICAgIH1cbiAgfVxufVxuIiwiPG5nLWNvbnRhaW5lciAqbmdJZj1cImZsYWdUeXBlcz8ubGVuZ3RoXCIgW2Zvcm1Hcm91cF09XCJmb3JtR3JvdXBcIj5cbiAgPGRpdiBjbGFzcz1cImdvdnVrLWZvcm0tZ3JvdXBcIiBbbmdDbGFzc109XCJ7J2Zvcm0tZ3JvdXAtZXJyb3InOiBmbGFnVHlwZU5vdFNlbGVjdGVkRXJyb3JNZXNzYWdlLmxlbmd0aCA+IDB9XCI+XG4gICAgPGZpZWxkc2V0IGNsYXNzPVwiZ292dWstZmllbGRzZXRcIiBhcmlhLWRlc2NyaWJlZGJ5PVwiZmxhZy10eXBlLWhlYWRpbmdcIj5cbiAgICAgIDxsZWdlbmQgY2xhc3M9XCJnb3Z1ay1maWVsZHNldF9fbGVnZW5kIGdvdnVrLWZpZWxkc2V0X19sZWdlbmQtLW1cIj5cbiAgICAgICAgPGgxIGlkPVwiZmxhZy10eXBlLWhlYWRpbmdcIiBjbGFzcz1cImdvdnVrLWZpZWxkc2V0X19oZWFkaW5nIGdvdnVrLSEtbWFyZ2luLWJvdHRvbS0xXCI+XG4gICAgICAgICAgPG5nLWNvbnRhaW5lciAqbmdJZj1cIiFjYWNoZWRGbGFnVHlwZSB8fCBzdWJKb3VybmV5SW5kZXggPT0gMDsgZWxzZSBwcmlvckZsYWdUeXBlU2VsZWN0ZWRcIj5cbiAgICAgICAgICAgIHt7XG4gICAgICAgICAgICBpc0Rpc3BsYXlDb250ZXh0UGFyYW1ldGVyRXh0ZXJuYWxcbiAgICAgICAgICAgID8gKGNhc2VGbGFnV2l6YXJkU3RlcFRpdGxlLlNFTEVDVF9DQVNFX0ZMQUdfRVhURVJOQUwgfCBycHhUcmFuc2xhdGUpXG4gICAgICAgICAgICA6IChjYXNlRmxhZ1dpemFyZFN0ZXBUaXRsZS5TRUxFQ1RfQ0FTRV9GTEFHIHwgcnB4VHJhbnNsYXRlKVxuICAgICAgICAgICAgfX1cbiAgICAgICAgICA8L25nLWNvbnRhaW5lcj5cbiAgICAgICAgICA8bmctdGVtcGxhdGUgI3ByaW9yRmxhZ1R5cGVTZWxlY3RlZD5cbiAgICAgICAgICAgIHt7Y2FjaGVkRmxhZ1R5cGUgfCBmbGFnRmllbGREaXNwbGF5OiduYW1lJ319XG4gICAgICAgICAgPC9uZy10ZW1wbGF0ZT5cbiAgICAgICAgPC9oMT5cbiAgICAgIDwvbGVnZW5kPlxuICAgICAgPGRpdiBpZD1cImZsYWctdHlwZS1ub3Qtc2VsZWN0ZWQtZXJyb3ItbWVzc2FnZVwiIGNsYXNzPVwiZ292dWstZXJyb3ItbWVzc2FnZVwiXG4gICAgICAgICpuZ0lmPVwiZmxhZ1R5cGVOb3RTZWxlY3RlZEVycm9yTWVzc2FnZS5sZW5ndGggPiAwXCI+XG4gICAgICAgIDxzcGFuIGNsYXNzPVwiZ292dWstdmlzdWFsbHktaGlkZGVuXCI+e3snRXJyb3I6JyB8IHJweFRyYW5zbGF0ZX19PC9zcGFuPiB7e2ZsYWdUeXBlTm90U2VsZWN0ZWRFcnJvck1lc3NhZ2UgfFxuICAgICAgICBycHhUcmFuc2xhdGV9fVxuICAgICAgPC9kaXY+XG4gICAgICA8ZGl2IGNsYXNzPVwiZ292dWstcmFkaW9zIGdvdnVrLXJhZGlvcy0tY29uZGl0aW9uYWxcIiBkYXRhLW1vZHVsZT1cImdvdnVrLXJhZGlvc1wiIGlkPVwiY29uZGl0aW9uYWwtcmFkaW9zLWxpc3RcIj5cbiAgICAgICAgPGRpdiBjbGFzcz1cImdvdnVrLXJhZGlvc19faXRlbVwiICpuZ0Zvcj1cImxldCBmbGFnVHlwZSBvZiBmbGFnVHlwZXM7IGluZGV4IGFzIGk7IHRyYWNrQnk6IGlkZW50aWZ5RmxhZ1R5cGVcIj5cbiAgICAgICAgICA8aW5wdXQgY2xhc3M9XCJnb3Z1ay1yYWRpb3NfX2lucHV0XCIgaWQ9XCJmbGFnLXR5cGUte3tpfX1cIiBbbmFtZV09XCJjYXNlRmxhZ0Zvcm1GaWVsZC5GTEFHX1RZUEVcIiB0eXBlPVwicmFkaW9cIlxuICAgICAgICAgICAgW3ZhbHVlXT1cImZsYWdUeXBlXCIgW2Zvcm1Db250cm9sTmFtZV09XCJjYXNlRmxhZ0Zvcm1GaWVsZC5GTEFHX1RZUEVcIiAvPlxuICAgICAgICAgIDxsYWJlbCBjbGFzcz1cImdvdnVrLWxhYmVsIGdvdnVrLXJhZGlvc19fbGFiZWxcIiBmb3I9XCJmbGFnLXR5cGUte3tpfX1cIj5cbiAgICAgICAgICAgIHt7ZmxhZ1R5cGUgfCBmbGFnRmllbGREaXNwbGF5OiduYW1lJ319XG4gICAgICAgICAgPC9sYWJlbD5cbiAgICAgICAgPC9kaXY+XG4gICAgICAgIDxkaXYgY2xhc3M9XCJnb3Z1ay1yYWRpb3NfX2NvbmRpdGlvbmFsXCIgKm5nSWY9XCJvdGhlckZsYWdUeXBlU2VsZWN0ZWRcIiBpZD1cImNvbmRpdGlvbmFsLWZsYWdUeXBlXCI+XG4gICAgICAgICAgPGRpdiBjbGFzcz1cImdvdnVrLWZvcm0tZ3JvdXBcIiBbbmdDbGFzc109XCJ7J2Zvcm0tZ3JvdXAtZXJyb3InOiBmbGFnVHlwZUVycm9yTWVzc2FnZS5sZW5ndGggPiAwfVwiPlxuICAgICAgICAgICAgPGxhYmVsIGNsYXNzPVwiZ292dWstbGFiZWxcIiBmb3I9XCJvdGhlci1mbGFnLXR5cGUtZGVzY3JpcHRpb25cIj5cbiAgICAgICAgICAgICAge3tcbiAgICAgICAgICAgICAgaXNEaXNwbGF5Q29udGV4dFBhcmFtZXRlckV4dGVybmFsXG4gICAgICAgICAgICAgID8gKGNhc2VGbGFnV2l6YXJkU3RlcFRpdGxlLk9USEVSX0ZMQUdfVFlQRV9ERVNDUklQVElPTl9FWFRFUk5BTCB8IHJweFRyYW5zbGF0ZSlcbiAgICAgICAgICAgICAgOiAoY2FzZUZsYWdXaXphcmRTdGVwVGl0bGUuT1RIRVJfRkxBR19UWVBFX0RFU0NSSVBUSU9OIHwgcnB4VHJhbnNsYXRlKVxuICAgICAgICAgICAgICB9fVxuICAgICAgICAgICAgPC9sYWJlbD5cbiAgICAgICAgICAgIDxkaXYgaWQ9XCJmbGFnLXR5cGUtZXJyb3ItbWVzc2FnZVwiIGNsYXNzPVwiZ292dWstZXJyb3ItbWVzc2FnZVwiICpuZ0lmPVwiZmxhZ1R5cGVFcnJvck1lc3NhZ2UubGVuZ3RoID4gMFwiPlxuICAgICAgICAgICAgICA8c3BhbiBjbGFzcz1cImdvdnVrLXZpc3VhbGx5LWhpZGRlblwiPnt7J0Vycm9yOicgfCBycHhUcmFuc2xhdGV9fTwvc3Bhbj4ge3tmbGFnVHlwZUVycm9yTWVzc2FnZSB8XG4gICAgICAgICAgICAgIHJweFRyYW5zbGF0ZX19XG4gICAgICAgICAgICA8L2Rpdj5cbiAgICAgICAgICAgIDxpbnB1dCBjbGFzcz1cImdvdnVrLWlucHV0IGdvdnVrLSEtd2lkdGgtb25lLWhhbGZcIlxuICAgICAgICAgICAgICBbbmdDbGFzc109XCJ7J2dvdnVrLWlucHV0LS1lcnJvcic6IGZsYWdUeXBlRXJyb3JNZXNzYWdlLmxlbmd0aCA+IDB9XCIgaWQ9XCJvdGhlci1mbGFnLXR5cGUtZGVzY3JpcHRpb25cIlxuICAgICAgICAgICAgICBbbmFtZV09XCJjYXNlRmxhZ0Zvcm1GaWVsZC5PVEhFUl9GTEFHX0RFU0NSSVBUSU9OXCIgdHlwZT1cInRleHRcIlxuICAgICAgICAgICAgICBbZm9ybUNvbnRyb2xOYW1lXT1cImNhc2VGbGFnRm9ybUZpZWxkLk9USEVSX0ZMQUdfREVTQ1JJUFRJT05cIiAvPlxuICAgICAgICAgICAgPGRpdiBjbGFzcz1cImdvdnVrLWNoZWNrYm94ZXNfX2l0ZW0gZ292dWstIS1tYXJnaW4tdG9wLTRcIlxuICAgICAgICAgICAgICAqbmdJZj1cIiFpc0Rpc3BsYXlDb250ZXh0UGFyYW1ldGVyRXh0ZXJuYWwgJiYgIWlzQ2FzZUxldmVsRmxhZyAmJiBpc0Rpc3BsYXlDb250ZXh0UGFyYW1ldGVyMlBvaW50MUVuYWJsZWRcIj5cbiAgICAgICAgICAgICAgPGlucHV0IGNsYXNzPVwiZ292dWstY2hlY2tib3hlc19faW5wdXRcIiBpZD1cImlzLXZpc2libGUtZXh0ZXJuYWxseVwiIHR5cGU9XCJjaGVja2JveFwiXG4gICAgICAgICAgICAgICAgW25hbWVdPVwiY2FzZUZsYWdGb3JtRmllbGQuSVNfVklTSUJMRV9JTlRFUk5BTExZX09OTFlcIlxuICAgICAgICAgICAgICAgIFtmb3JtQ29udHJvbE5hbWVdPVwiY2FzZUZsYWdGb3JtRmllbGQuSVNfVklTSUJMRV9JTlRFUk5BTExZX09OTFlcIj5cbiAgICAgICAgICAgICAgPGxhYmVsIGNsYXNzPVwiZ292dWstbGFiZWwgZ292dWstY2hlY2tib3hlc19fbGFiZWxcIiBmb3I9XCJpcy12aXNpYmxlLWV4dGVybmFsbHlcIj5cbiAgICAgICAgICAgICAgICB7eydUaGlzIGZsYWcgc2hvdWxkIG9ubHkgYmUgdmlzaWJsZSB0byBITUNUUyBTdGFmZicgfCBycHhUcmFuc2xhdGV9fVxuICAgICAgICAgICAgICA8L2xhYmVsPlxuICAgICAgICAgICAgPC9kaXY+XG4gICAgICAgICAgPC9kaXY+XG4gICAgICAgIDwvZGl2PlxuICAgICAgPC9kaXY+XG4gICAgPC9maWVsZHNldD5cbiAgPC9kaXY+XG48L25nLWNvbnRhaW5lcj4iXX0=
|
|
459
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoic2VsZWN0LWZsYWctdHlwZS5jb21wb25lbnQuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9jY2QtY2FzZS11aS10b29sa2l0L3NyYy9saWIvc2hhcmVkL2NvbXBvbmVudHMvcGFsZXR0ZS9jYXNlLWZsYWcvY29tcG9uZW50cy9zZWxlY3QtZmxhZy10eXBlL3NlbGVjdC1mbGFnLXR5cGUuY29tcG9uZW50LnRzIiwiLi4vLi4vLi4vLi4vLi4vLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvY2NkLWNhc2UtdWktdG9vbGtpdC9zcmMvbGliL3NoYXJlZC9jb21wb25lbnRzL3BhbGV0dGUvY2FzZS1mbGFnL2NvbXBvbmVudHMvc2VsZWN0LWZsYWctdHlwZS9zZWxlY3QtZmxhZy10eXBlLmNvbXBvbmVudC5odG1sIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBRSxTQUFTLEVBQUUsWUFBWSxFQUFFLEtBQUssRUFBcUIsTUFBTSxFQUFFLE1BQU0sZUFBZSxDQUFDO0FBQzFGLE9BQU8sRUFBRSxXQUFXLEVBQUUsU0FBUyxFQUFFLE1BQU0sZ0JBQWdCLENBQUM7QUFFeEQsT0FBTyxFQUFFLFVBQVUsRUFBRSxTQUFTLEVBQUUsTUFBTSxnQkFBZ0IsQ0FBQztBQUV2RCxPQUFPLEVBQUUsUUFBUSxFQUFFLE1BQU0saUNBQWlDLENBQUM7QUFDM0QsT0FBTyxFQUFFLHNCQUFzQixFQUFFLDhCQUE4QixFQUFFLE1BQU0seUJBQXlCLENBQUM7QUFDakcsT0FBTyxFQUFFLG1CQUFtQixFQUFFLE1BQU0sK0RBQStELENBQUM7QUFFcEcsT0FBTyxFQUFFLGtCQUFrQixFQUFFLGtCQUFrQixFQUFFLHVCQUF1QixFQUFFLDBCQUEwQixFQUFFLE1BQU0sYUFBYSxDQUFDO0FBQzFILE9BQU8sRUFBRSx3QkFBd0IsRUFBRSxNQUFNLGdEQUFnRCxDQUFDO0FBQzFGLE9BQU8sRUFBRSxxQ0FBcUMs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UUFDZCxJQUFJLENBQUMsUUFBUSxDQUFDLElBQUksQ0FBQyxlQUFlLENBQUMsQ0FBQztRQUNwQyxJQUFJLElBQUksQ0FBQyxhQUFhLENBQUMsTUFBTSxLQUFLLENBQUMsRUFBRSxDQUFDO1lBQ3BDLEtBQUssQ0FBQyxJQUFJLEVBQUUsQ0FBQztRQUNmLENBQUM7SUFDSCxDQUFDO0lBRU0sUUFBUTtRQUNiLElBQUksQ0FBQyxVQUFVLEVBQUUsQ0FBQztRQUVsQixJQUFJLElBQUksQ0FBQyxlQUFlLElBQUksQ0FBQyxFQUFFLENBQUM7WUFDOUIsS0FBSyxDQUFDLFFBQVEsRUFBRSxDQUFDO1FBQ25CLENBQUM7SUFDSCxDQUFDO2lGQXhVVSx1QkFBdUI7NkRBQXZCLHVCQUF1QjtZQ2xCcEMsNEZBQWdFOztZQUFqRCwwRUFBdUI7OztpRkRrQnpCLHVCQUF1QjtjQUxuQyxTQUFTOzJCQUNFLHNCQUFzQjtvR0FNekIsU0FBUztrQkFEZixLQUFLO1lBSUMsWUFBWTtrQkFEbEIsS0FBSztZQUlDLFVBQVU7a0JBRGhCLEtBQUs7WUFJQyxjQUFjO2tCQURwQixLQUFLO1lBSUMsaUNBQWlDO2tCQUR2QyxLQUFLO1lBSUMsdUNBQXVDO2tCQUQ3QyxLQUFLO1lBSUMscUJBQXFCO2tCQUQzQixLQUFLO1lBSUMsb0JBQW9CO2tCQUQxQixNQUFNO1lBSUEsMkJBQTJCO2tCQURqQyxNQUFNO1lBSUEseUJBQXlCO2tCQUQvQixNQUFNOztrRkE1QkksdUJBQXVCIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgQ29tcG9uZW50LCBFdmVudEVtaXR0ZXIsIElucHV0LCBPbkRlc3Ryb3ksIE9uSW5pdCwgT3V0cHV0IH0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XG5pbXBvcnQgeyBGb3JtQ29udHJvbCwgRm9ybUdyb3VwIH0gZnJvbSAnQGFuZ3VsYXIvZm9ybXMnO1xuaW1wb3J0IHsgU3Vic2NyaXB0aW9uIH0gZnJvbSAncnhqcyc7XG5pbXBvcnQgeyBjYXRjaEVycm9yLCBzd2l0Y2hNYXAgfSBmcm9tICdyeGpzL29wZXJhdG9ycyc7XG5pbXBvcnQgeyBFcnJvck1lc3NhZ2UsIEpvdXJuZXkgfSBmcm9tICcuLi8uLi8uLi8uLi8uLi9kb21haW4nO1xuaW1wb3J0IHsgRmxhZ1R5cGUgfSBmcm9tICcuLi8uLi8uLi8uLi8uLi9kb21haW4vY2FzZS1mbGFnJztcbmltcG9ydCB7IENhc2VGbGFnUmVmZGF0YVNlcnZpY2UsIE11bHRpcGFnZUNvbXBvbmVudFN0YXRlU2VydmljZSB9IGZyb20gJy4uLy4uLy4uLy4uLy4uL3NlcnZpY2VzJztcbmltcG9ydCB7IFJlZmRhdGFDYXNlRmxhZ1R5cGUgfSBmcm9tICcuLi8uLi8uLi8uLi8uLi9zZXJ2aWNlcy9jYXNlLWZsYWcvcmVmZGF0YS1jYXNlLWZsYWctdHlwZS5lbnVtJztcbmltcG9ydCB7IENhc2VGbGFnU3RhdGUsIEZsYWdzV2l0aEZvcm1Hcm91cFBhdGggfSBmcm9tICcuLi8uLi9kb21haW4nO1xuaW1wb3J0IHsgQ2FzZUZsYWdGaWVsZFN0YXRlLCBDYXNlRmxhZ0Zvcm1GaWVsZHMsIENhc2VGbGFnV2l6YXJkU3RlcFRpdGxlLCBTZWxlY3RGbGFnVHlwZUVycm9yTWVzc2FnZSB9IGZyb20gJy4uLy4uL2VudW1zJztcbmltcG9ydCB7IEFic3RyYWN0Sm91cm5leUNvbXBvbmVudCB9IGZyb20gJy4uLy4uLy4uL2Jhc2UtZmllbGQvYWJzdHJhY3Qtam91cm5leS5jb21wb25lbnQnO1xuaW1wb3J0IHsgU2VhcmNoTGFuZ3VhZ2VJbnRlcnByZXRlckNvbnRyb2xOYW1lcyB9IGZyb20gJy4uL3NlYXJjaC1sYW5ndWFnZS1pbnRlcnByZXRlci9zZWFyY2gtbGFuZ3VhZ2UtaW50ZXJwcmV0ZXItY29udHJvbC1uYW1lcy5lbnVtJztcblxuQENvbXBvbmVudCh7XG4gIHNlbGVjdG9yOiAnY2NkLXNlbGVjdC1mbGFnLXR5cGUnLFxuICB0ZW1wbGF0ZVVybDogJy4vc2VsZWN0LWZsYWctdHlwZS5jb21wb25lbnQuaHRtbCcsXG4gIHN0eWxlVXJsczogWycuL3NlbGVjdC1mbGFnLXR5cGUuY29tcG9uZW50LnNjc3MnXVxufSlcbmV4cG9ydCBjbGFzcyBTZWxlY3RGbGFnVHlwZUNvbXBvbmVudCBleHRlbmRzIEFic3RyYWN0Sm91cm5leUNvbXBvbmVudCBpbXBsZW1lbnRzIE9uSW5pdCwgT25EZXN0cm95LCBKb3VybmV5IHtcbiAgQElucHV0KClcbiAgcHVibGljIGZvcm1Hcm91cDogRm9ybUdyb3VwO1xuXG4gIEBJbnB1dCgpXG4gIHB1YmxpYyBqdXJpc2RpY3Rpb246IHN0cmluZztcblxuICBASW5wdXQoKVxuICBwdWJsaWMgY2FzZVR5cGVJZDogc3RyaW5nO1xuXG4gIEBJbnB1dCgpXG4gIHB1YmxpYyBobWN0c1NlcnZpY2VJZDogc3RyaW5nO1xuXG4gIEBJbnB1dCgpXG4gIHB1YmxpYyBpc0Rpc3BsYXlDb250ZXh0UGFyYW1ldGVyRXh0ZXJuYWwgPSBmYWxzZTtcblxuICBASW5wdXQoKVxuICBwdWJsaWMgaXNEaXNwbGF5Q29udGV4dFBhcmFtZXRlcjJQb2ludDFFbmFibGVkID0gZmFsc2U7XG5cbiAgQElucHV0KClcbiAgcHVibGljIHNlbGVjdGVkRmxhZ3NMb2NhdGlvbjogRmxhZ3NXaXRoRm9ybUdyb3VwUGF0aDtcblxuICBAT3V0cHV0KClcbiAgcHVibGljIGNhc2VGbGFnU3RhdGVFbWl0dGVyOiBFdmVudEVtaXR0ZXI8Q2FzZUZsYWdTdGF0ZT4gPSBuZXcgRXZlbnRFbWl0dGVyPENhc2VGbGFnU3RhdGU+KCk7XG5cbiAgQE91dHB1dCgpXG4gIHB1YmxpYyBmbGFnQ29tbWVudHNPcHRpb25hbEVtaXR0ZXI6IEV2ZW50RW1pdHRlcjxhbnk+ID0gbmV3IEV2ZW50RW1pdHRlcigpO1xuXG4gIEBPdXRwdXQoKVxuICBwdWJsaWMgZmxhZ1R5cGVTdWJKb3VybmV5RW1pdHRlcjogRXZlbnRFbWl0dGVyPGFueT4gPSBuZXcgRXZlbnRFbWl0dGVyKCk7XG5cbiAgcHVibGljIGZsYWdUeXBlczogRmxhZ1R5cGVbXTtcbiAgcHVibGljIGVycm9yTWVzc2FnZXM6IEVycm9yTWVzc2FnZVtdO1xuICBwdWJsaWMgZmxhZ1R5cGVOb3RTZWxlY3RlZEVycm9yTWVzc2FnZSA9ICcnO1xuICBwdWJsaWMgZmxhZ1R5cGVFcnJvck1lc3NhZ2UgPSAnJztcbiAgcHVibGljIGZsYWdSZWZkYXRhJDogU3Vic2NyaXB0aW9uO1xuICBwdWJsaWMgcmVmZGF0YUVycm9yID0gZmFsc2U7XG4gIHB1YmxpYyBjYWNoZWRQYXRoOiAoRmxhZ1R5cGUgfCBmYWxzZSlbXTtcbiAgcHVibGljIGNhY2hlZEZsYWdUeXBlOiBGbGFnVHlwZTtcbiAgcHVibGljIGZsYWdUeXBlQ29udHJvbENoYW5nZXNTdWJzY3JpcHRpb246IFN1YnNjcmlwdGlvbjtcbiAgcHVibGljIGNhc2VGbGFnRm9ybUZpZWxkID0gQ2FzZUZsYWdGb3JtRmllbGRzO1xuICBwdWJsaWMgaXNDYXNlTGV2ZWxGbGFnID0gZmFsc2U7XG4gIHB1YmxpYyBjYWNoZWRSREZsYWdUeXBlczogRmxhZ1R5cGVbXTtcbiAgcHVibGljIHN1YkpvdXJuZXlJbmRleDogbnVtYmVyID0gMDtcblxuICBwcml2YXRlIHJlYWRvbmx5IG1heENoYXJhY3RlcnNGb3JPdGhlckZsYWdUeXBlID0gODA7XG4gIC8vIENvZGUgZm9yIFwiT3RoZXJcIiBmbGFnIHR5cGUgYXMgZGVmaW5lZCBpbiBSZWZlcmVuY2UgRGF0YVxuICBwcml2YXRlIHJlYWRvbmx5IG90aGVyRmxhZ1R5cGVDb2RlID0gJ09UMDAwMSc7XG4gIHByaXZhdGUgcmVhZG9ubHkgY2FzZUxldmVsQ2FzZUZsYWdzRmllbGRJZCA9ICdjYXNlRmxhZ3MnO1xuXG4gIHB1YmxpYyBnZXQgY2FzZUZsYWdXaXphcmRTdGVwVGl0bGUoKTogdHlwZW9mIENhc2VGbGFnV2l6YXJkU3RlcFRpdGxlIHtcbiAgICByZXR1cm4gQ2FzZUZsYWdXaXphcmRTdGVwVGl0bGU7XG4gIH1cblxuICBwdWJsaWMgY29uc3RydWN0b3IocHJpdmF0ZSByZWFkb25seSBjYXNlRmxhZ1JlZmRhdGFTZXJ2aWNlOiBDYXNlRmxhZ1JlZmRhdGFTZXJ2aWNlLCBwYWdlU3RhdGVTZXJ2aWNlOiBNdWx0aXBhZ2VDb21wb25lbnRTdGF0ZVNlcnZpY2UpIHtcbiAgICBzdXBlcihwYWdlU3RhdGVTZXJ2aWNlKTtcbiAgICB0aGlzLmhhbmRsZUJhY2tCdXR0b25TdWJKb3VybmV5ID0gdGhpcy5oYW5kbGVCYWNrQnV0dG9uU3ViSm91cm5leS5iaW5kKHRoaXMpO1xuICB9XG5cbiAgcHVibGljIGdldCBzZWxlY3RlZEZsYWdUeXBlKCk6IEZsYWdUeXBlIHwgbnVsbCB7XG4gICAgcmV0dXJuIHRoaXMuZm9ybUdyb3VwLmdldChDYXNlRmxhZ0Zvcm1GaWVsZHMuRkxBR19UWVBFKT8udmFsdWU7XG4gIH1cblxuICBwdWJsaWMgZ2V0IG90aGVyRmxhZ1R5cGVTZWxlY3RlZCgpOiBib29sZWFuIHtcbiAgICByZXR1cm4gdGhpcy5mb3JtR3JvdXAuZ2V0KENhc2VGbGFnRm9ybUZpZWxkcy5GTEFHX1RZUEUpPy52YWx1ZT8uZmxhZ0NvZGUgPT09IHRoaXMub3RoZXJGbGFnVHlwZUNvZGU7XG4gIH1cblxuICBwdWJsaWMgbmdPbkluaXQoKTogdm9pZCB7XG4gICAgdGhpcy5pc0Nhc2VMZXZlbEZsYWcgPSB0aGlzLnNlbGVjdGVkRmxhZ3NMb2NhdGlvbj8uZmxhZ3M/LmZsYWdzQ2FzZUZpZWxkSWQgPT09IHRoaXMuY2FzZUxldmVsQ2FzZUZsYWdzRmllbGRJZDtcbiAgICB0aGlzLmZsYWdUeXBlU3ViSm91cm5leUVtaXR0ZXIuZW1pdCh0aGlzLnN1YkpvdXJuZXlJbmRleCk7XG4gICAgdGhpcy5hZGRTdGF0ZSh0aGlzLnN1YkpvdXJuZXlJbmRleCk7XG4gICAgdGhpcy5mbGFnVHlwZXMgPSBbXTtcbiAgICBjb25zdCBmbGFnVHlwZSA9IHRoaXMuaXNDYXNlTGV2ZWxGbGFnID8gUmVmZGF0YUNhc2VGbGFnVHlwZS5DQVNFIDogUmVmZGF0YUNhc2VGbGFnVHlwZS5QQVJUWTtcbiAgICB0aGlzLmZvcm1Hcm91cC5hZGRDb250cm9sKENhc2VGbGFnRm9ybUZpZWxkcy5GTEFHX1RZUEUsIG5ldyBGb3JtQ29udHJvbCgnJykpO1xuICAgIHRoaXMuZm9ybUdyb3VwLmFkZENvbnRyb2woQ2FzZUZsYWdGb3JtRmllbGRzLk9USEVSX0ZMQUdfREVTQ1JJUFRJT04sIG5ldyBGb3JtQ29udHJvbCgnJykpO1xuICAgIC8vIEZvcm1Db250cm9sIGlzIGxpbmtlZCB0byBhIGNoZWNrYm94IGlucHV0IGVsZW1lbnQsIHNvIGluaXRpYWwgdmFsdWUgc2hvdWxkIGJlIGZhbHNlXG4gICAgdGhpcy5mb3JtR3JvdXAuYWRkQ29udHJvbChDYXNlRmxhZ0Zvcm1GaWVsZHMuSVNfVklTSUJMRV9JTlRFUk5BTExZX09OTFksIG5ldyBGb3JtQ29udHJvbChmYWxzZSkpO1xuXG4gICAgLy8gU2hvdWxkIGNsZWFyIGRlc2NyaXB0aW9uQ29udHJvbE5hbWUgaWYgZmxhZ1R5cGVDb250cm9sTmFtZSBpcyBjaGFuZ2VkXG4gICAgdGhpcy5mbGFnVHlwZUNvbnRyb2xDaGFuZ2VzU3Vic2NyaXB0aW9uID0gdGhpcy5mb3JtR3JvdXAuZ2V0KENhc2VGbGFnRm9ybUZpZWxkcy5GTEFHX1RZUEUpPy52YWx1ZUNoYW5nZXNcbiAgICAgIC5zdWJzY3JpYmUoKF8pID0+IHtcbiAgICAgICAgdGhpcy5mb3JtR3JvdXAuZ2V0KENhc2VGbGFnRm9ybUZpZWxkcy5PVEhFUl9GTEFHX0RFU0NSSVBUSU9OKT8uc2V0VmFsdWUoJycpO1xuICAgICAgICB0aGlzLmNhY2hlZFBhdGggPSBbXTtcblxuICAgICAgICAvLyByZXF1aXJlZCB0byBjbGVhciBsYW5ndWFnZSBpbnRlcnByZXRlclxuICAgICAgICB0aGlzLmZvcm1Hcm91cC5wYXRjaFZhbHVlKHtcbiAgICAgICAgICBbU2VhcmNoTGFuZ3VhZ2VJbnRlcnByZXRlckNvbnRyb2xOYW1lcy5MQU5HVUFHRV9TRUFSQ0hfVEVSTV06ICcnLFxuICAgICAgICAgIFtTZWFyY2hMYW5ndWFnZUludGVycHJldGVyQ29udHJvbE5hbWVzLk1BTlVBTF9MQU5HVUFHRV9FTlRSWV06ICcnXG4gICAgICAgIH0pO1xuICAgICAgfVxuICAgICAgKTtcblxuICAgIC8vIElmIGhtY3RzU2VydmljZUlkIGlzIHByZXNlbnQsIHVzZSB0aGlzIHRvIHJldHJpZXZlIHRoZSByZWxldmFudCBsaXN0IG9mIGZsYWcgdHlwZXNcbiAgICBpZiAodGhpcy5obWN0c1NlcnZpY2VJZCkge1xuICAgICAgdGhpcy5mbGFnUmVmZGF0YSQgPSB0aGlzLmNhc2VGbGFnUmVmZGF0YVNlcnZpY2VcbiAgICAgICAgLmdldENhc2VGbGFnc1JlZmRhdGEodGhpcy5obWN0c1NlcnZpY2VJZCwgZmxhZ1R5cGUsIHRydWUsIHRoaXMuaXNEaXNwbGF5Q29udGV4dFBhcmFtZXRlckV4dGVybmFsKVxuICAgICAgICAuc3Vic2NyaWJlKHtcbiAgICAgICAgICBuZXh0OiAoZmxhZ1R5cGVzKSA9PiB0aGlzLnByb2Nlc3NGbGFnVHlwZXMoZmxhZ1R5cGVzKSxcbiAgICAgICAgICBlcnJvcjogKGVycm9yKSA9PiB0aGlzLm9uUmVmZGF0YUVycm9yKGVycm9yKVxuICAgICAgICB9KTtcbiAgICB9IGVsc2Uge1xuICAgICAgLy8gRWxzZSwgSE1DVFMgc2VydmljZSBjb2RlIGlzIHJlcXVpcmVkIHRvIHJldHJpZXZlIHRoZSByZWxldmFudCBsaXN0IG9mIGZsYWcgdHlwZXM7IGF0dGVtcHQgdG8gb2J0YWluIGl0IGJ5IGNhc2UgdHlwZSBJRCBmaXJzdFxuICAgICAgdGhpcy5mbGFnUmVmZGF0YSQgPSB0aGlzLmNhc2VGbGFnUmVmZGF0YVNlcnZpY2UuZ2V0SG1jdHNTZXJ2aWNlRGV0YWlsc0J5Q2FzZVR5cGUodGhpcy5jYXNlVHlwZUlkKVxuICAgICAgICAucGlwZShcbiAgICAgICAgICAvLyBJZiBhbiBlcnJvciBvY2N1cnMgcmV0cmlldmluZyBITUNUUyBzZXJ2aWNlIGRldGFpbHMgYnkgY2FzZSB0eXBlIElELCB0cnkgYnkgc2VydmljZSBuYW1lIGluc3RlYWRcbiAgICAgICAgICBjYXRjaEVycm9yKChfKSA9PiB0aGlzLmNhc2VGbGFnUmVmZGF0YVNlcnZpY2UuZ2V0SG1jdHNTZXJ2aWNlRGV0YWlsc0J5U2VydmljZU5hbWUodGhpcy5qdXJpc2RpY3Rpb24pKSxcbiAgICAgICAgICAvLyBVc2Ugc3dpdGNoTWFwIHRvIHJldHVybiBhbiBpbm5lciBPYnNlcnZhYmxlIG9mIHRoZSBmbGFnIHR5cGVzIGRhdGEsIGhhdmluZyByZWNlaXZlZCB0aGUgc2VydmljZSBkZXRhaWxzXG4gICAgICAgICAgLy8gaW5jbHVkaW5nIHNlcnZpY2VfY29kZS4gVGhpcyBhdm9pZHMgaGF2aW5nIG5lc3RlZCBgc3Vic2NyaWJlYHMsIHdoaWNoIGlzIGFuIGFudGktcGF0dGVybiFcbiAgICAgICAgICBzd2l0Y2hNYXAoKHNlcnZpY2VEZXRhaWxzKSA9PiB0aGlzLmNhc2VGbGFnUmVmZGF0YVNlcnZpY2UuZ2V0Q2FzZUZsYWdzUmVmZGF0YShzZXJ2aWNlRGV0YWlsc1swXS5zZXJ2aWNlX2NvZGUsIGZsYWdUeXBlLFxuICAgICAgICAgICAgdHJ1ZSwgdGhpcy5pc0Rpc3BsYXlDb250ZXh0UGFyYW1ldGVyRXh0ZXJuYWwpKVxuICAgICAgICApXG4gICAgICAgIC5zdWJzY3JpYmUoe1xuICAgICAgICAgIG5leHQ6IChmbGFnVHlwZXMpID0+IHRoaXMucHJvY2Vzc0ZsYWdUeXBlcyhmbGFnVHlwZXMpLFxuICAgICAgICAgIGVycm9yOiAoZXJyb3IpID0+IHRoaXMub25SZWZkYXRhRXJyb3IoZXJyb3IpXG4gICAgICAgIH0pO1xuICAgIH1cbiAgICB0aGlzLmFkZFN0YXRlKHRoaXMuc3ViSm91cm5leUluZGV4KTtcbiAgICB3aW5kb3cuYWRkRXZlbnRMaXN0ZW5lcigncG9wc3RhdGUnLCB0aGlzLmhhbmRsZUJhY2tCdXR0b25TdWJKb3VybmV5KTtcbiAgfVxuXG4gIHB1YmxpYyBoYW5kbGVCYWNrQnV0dG9uU3ViSm91cm5leShldmVudDogRXZlbnQpOiB2b2lkIHtcbiAgICBldmVudC5wcmV2ZW50RGVmYXVsdCgpO1xuICAgIHRoaXMucHJldmlvdXMoKTtcbiAgfVxuXG4gIHB1YmxpYyBhZGRTdGF0ZShkYXRhOiBudW1iZXIsIHVybD86IHN0cmluZyk6IHZvaWQge1xuICAgIGhpc3RvcnkucHVzaFN0YXRlKCcxJytkYXRhLCAnJywgdXJsKTtcbiAgfVxuXG4gIHB1YmxpYyBuZ09uRGVzdHJveSgpOiB2b2lkIHtcbiAgICB0aGlzLmZsYWdSZWZkYXRhJD8udW5zdWJzY3JpYmUoKTtcbiAgICB0aGlzLmZsYWdUeXBlQ29udHJvbENoYW5nZXNTdWJzY3JpcHRpb24/LnVuc3Vic2NyaWJlKCk7XG4gICAgLy8gY2hlY2sgaWYgdGhlIHVzZXIgaGFzIGFuIGV4aXN0aW5nIHBhdGggd2hlbiBuYXZpZ2F0aW5nIGF3YXkgZnJvbSB0aGUgcGFnZVxuICAgIC8vIGlmIHNvIHdlIG1heSBuZWVkIHRvIGVuc3VyZSB0aGUgdmFsdWVzIGFyZSBzZXQgY29ycmVjdGx5LlxuICAgIHRoaXMuY2hlY2tGb3JFeGlzdGluZ1BhdGgoKTtcbiAgICB3aW5kb3cucmVtb3ZlRXZlbnRMaXN0ZW5lcigncG9wc3RhdGUnLCB0aGlzLmhhbmRsZUJhY2tCdXR0b25TdWJKb3VybmV5KTtcbiAgfVxuXG4gIHB1YmxpYyBjaGVja0ZvckV4aXN0aW5nUGF0aCgpOiB2b2lkIHtcbiAgICAvLyBSZXN0b3JlIHZhbHVlcyBmcm9tIGNhY2hlZFBhdGhcbiAgICBpZiAodGhpcy5zdWJKb3VybmV5SW5kZXggPD0gMCkge1xuICAgICAgLy8gY2hlY2sgaWYgdGhlIHVzZXIgaXMgbmF2aWdhdGluZyB0byB0aGUgcHJldmlvdXMgcGFnZSBpbiB0aGUgam91bnJleS5cbiAgICAgIC8vIGluIHRoaXMgc2l0dWF0aW9uIHdlIG5lZWQgdG8gcmVzdG9yZSB0aGUgZnVsbCBwYXRoIGZvciBkYXRhIHJldGVudGlvbiBhY3Jvc3MgcGFnZXMuXG4gICAgICBpZiAodGhpcy5jYWNoZWRQYXRoICYmIHRoaXMuY2FjaGVkUGF0aC5sZW5ndGggPiAwKSB7XG4gICAgICAgIHRoaXMuY2FjaGVkUGF0aC5mb3JFYWNoKChmbGFnVHlwZSkgPT4ge1xuICAgICAgICAgIGlmIChmbGFnVHlwZSkge1xuICAgICAgICAgICAgdGhpcy5mb3JtR3JvdXAuZ2V0KENhc2VGbGFnRm9ybUZpZWxkcy5GTEFHX1RZUEUpPy5zZXRWYWx1ZShmbGFnVHlwZSwgeyBlbWl0RXZlbnQ6IGZhbHNlIH0pO1xuICAgICAgICAgIH1cbiAgICAgICAgfSk7XG4gICAgICB9XG4gICAgfVxuICB9XG5cbiAgcHVibGljIG9uTmV4dCgpOiB2b2lkIHtcbiAgICB0aGlzLnZhbGlkYXRlRm9ybSgpO1xuICAgIHRoaXMuZW1pdENhc2VGbGFnU3RhdGUoKTtcbiAgICB0aGlzLmVtaXRGbGFnQ29tbWVudHNPcHRpb25hbCgpO1xuICAgIHRoaXMuaGFuZGxlRmxhZ1R5cGVTZWxlY3Rpb24oKTtcbiAgICB0aGlzLmZsYWdUeXBlU3ViSm91cm5leUVtaXR0ZXIuZW1pdCh0aGlzLnN1YkpvdXJuZXlJbmRleCk7XG4gICAgdGhpcy5hZGRTdGF0ZSh0aGlzLnN1YkpvdXJuZXlJbmRleCk7XG4gIH1cblxuICBwcml2YXRlIGVtaXRDYXNlRmxhZ1N0YXRlKCk6IHZvaWQge1xuICAgIHRoaXMuY2FzZUZsYWdTdGF0ZUVtaXR0ZXIuZW1pdCh7XG4gICAgICBjdXJyZW50Q2FzZUZsYWdGaWVsZFN0YXRlOiBDYXNlRmxhZ0ZpZWxkU3RhdGUuRkxBR19UWVBFLFxuICAgICAgaXNQYXJlbnRGbGFnVHlwZTogdGhpcy5zZWxlY3RlZEZsYWdUeXBlID8gdGhpcy5zZWxlY3RlZEZsYWdUeXBlLmlzUGFyZW50IDogbnVsbCxcbiAgICAgIGVycm9yTWVzc2FnZXM6IHRoaXMuZXJyb3JNZXNzYWdlc1xuICAgIH0pO1xuICB9XG5cbiAgcHJpdmF0ZSBlbWl0RmxhZ0NvbW1lbnRzT3B0aW9uYWwoKTogdm9pZCB7XG4gICAgaWYgKHRoaXMuc2VsZWN0ZWRGbGFnVHlwZSAmJiAhdGhpcy5zZWxlY3RlZEZsYWdUeXBlLmlzUGFyZW50ICYmICF0aGlzLnNlbGVjdGVkRmxhZ1R5cGUuZmxhZ0NvbW1lbnQpIHtcbiAgICAgIHRoaXMuZmxhZ0NvbW1lbnRzT3B0aW9uYWxFbWl0dGVyLmVtaXQobnVsbCk7XG4gICAgfVxuICB9XG5cbiAgcHJpdmF0ZSBoYW5kbGVGbGFnVHlwZVNlbGVjdGlvbigpOiB2b2lkIHtcbiAgICBpZiAodGhpcy5zZWxlY3RlZEZsYWdUeXBlPy5pc1BhcmVudCkge1xuICAgICAgdGhpcy5sb2FkQ2hpbGRGbGFnVHlwZXMoKTtcbiAgICB9IGVsc2Uge1xuICAgICAgdGhpcy5jb21wbGV0ZVN1YkpvdXJuZXkoKTtcbiAgICB9XG4gIH1cblxuICBwcml2YXRlIGxvYWRDaGlsZEZsYWdUeXBlcygpOiB2b2lkIHtcbiAgICB0aGlzLmNhY2hlZEZsYWdUeXBlID0gdGhpcy5zZWxlY3RlZEZsYWdUeXBlO1xuICAgIHRoaXMuZmxhZ1R5cGVzID0gdGhpcy5zZWxlY3RlZEZsYWdUeXBlLmNoaWxkRmxhZ3M7XG4gICAgaWYgKHRoaXMuY2FjaGVkUGF0aC5sZW5ndGggIT09IDAgJiYgdGhpcy5jYWNoZWRQYXRoW3RoaXMuc3ViSm91cm5leUluZGV4XSA9PT0gdGhpcy5zZWxlY3RlZEZsYWdUeXBlKSB7XG4gICAgICB0aGlzLmZvcm1Hcm91cC5nZXQoQ2FzZUZsYWdGb3JtRmllbGRzLkZMQUdfVFlQRSk/LnNldFZhbHVlKHRoaXMuY2FjaGVkUGF0aFt0aGlzLnN1YkpvdXJuZXlJbmRleCArIDFdLCB7IGVtaXRFdmVudDogZmFsc2UgfSk7XG4gICAgfSBlbHNlIHtcbiAgICAgIHRoaXMuY2FjaGVkUGF0aD8uc2hpZnQoKTtcbiAgICAgIGNvbnN0IHZhbHVlID0gdGhpcy5jYWNoZWRQYXRoPy5sZW5ndGggPyB0aGlzLmNhY2hlZFBhdGhbMF0gOiBudWxsO1xuICAgICAgdGhpcy5mb3JtR3JvdXAuZ2V0KENhc2VGbGFnRm9ybUZpZWxkcy5GTEFHX1RZUEUpPy5zZXRWYWx1ZSh2YWx1ZSwgeyBlbWl0RXZlbnQ6IGZhbHNlIH0pO1xuICAgIH1cbiAgICB0aGlzLnN1YkpvdXJuZXlJbmRleCsrO1xuICB9XG5cbiAgcHJpdmF0ZSBjb21wbGV0ZVN1YkpvdXJuZXkoKTogdm9pZCB7XG4gICAgY29uc3QgY3VycmVudFNlbGVjdGVkRmxhZyA9IHRoaXMuZm9ybUdyb3VwLmNvbnRyb2xzLmZsYWdUeXBlO1xuICAgIGNvbnN0IGFkZGVkRmxhZ1ZhbHVlID0gdGhpcy5zZWxlY3RlZEZsYWdzTG9jYXRpb24/LmNhc2VGaWVsZD8udmFsdWU/LmRldGFpbHM7XG4gICAgaWYgKGFkZGVkRmxhZ1ZhbHVlICYmIChhZGRlZEZsYWdWYWx1ZVtPYmplY3Qua2V5cyhhZGRlZEZsYWdWYWx1ZSkubGVuZ3RoXT8ubmFtZSAhPT0gY3VycmVudFNlbGVjdGVkRmxhZy52YWx1ZS5uYW1lKSkge1xuICAgICAgdGhpcy5zZWxlY3RlZEZsYWdzTG9jYXRpb25bJ2Nhc2VGaWVsZCddLnZhbHVlLmRldGFpbHMucG9wKCk7XG4gICAgICB0aGlzLnNlbGVjdGVkRmxhZ3NMb2NhdGlvblsnY2FzZUZpZWxkJ10uZm9ybWF0dGVkX3ZhbHVlPy5kZXRhaWxzLnBvcCgpO1xuICAgIH1cbiAgfVxuXG4gIC8vIFNpbXBsaWZpZWQgdmVyc2lvbiBvZiB0aGUgb25QcmV2aW91cyBtZXRob2Qgd2l0aCBvcHRpbWl6ZWQgY29kZVxuICBwdWJsaWMgb25QcmV2aW91cygpOiB2b2lkIHtcbiAgICBpZiAodGhpcy5jYWNoZWRGbGFnVHlwZSkge1xuICAgICAgaWYgKHRoaXMuY2FjaGVkRmxhZ1R5cGUuUGF0aD8ubGVuZ3RoID09PSAxKSB7XG4gICAgICAgIHRoaXMuZm9ybUdyb3VwLmdldChDYXNlRmxhZ0Zvcm1GaWVsZHMuRkxBR19UWVBFKT8uc2V0VmFsdWUodGhpcy5jYWNoZWRGbGFnVHlwZSwgeyBlbWl0RXZlbnQ6IGZhbHNlIH0pO1xuICAgICAgICB0aGlzLmZsYWdUeXBlcyA9IHRoaXMuY2FjaGVkUkRGbGFnVHlwZXNbMF0uY2hpbGRGbGFncztcbiAgICAgIH0gZWxzZSB7XG4gICAgICAgIGxldCBjdXJyZW50UGF0aCA9IHRoaXMuY2FjaGVkUkRGbGFnVHlwZXNbMF07XG4gICAgICAgIGNvbnN0IHBhdGhUb1NlYXJjaCA9IHRoaXMuY2FjaGVkRmxhZ1R5cGUuUGF0aC5zbGljZSgxKTtcbiAgICAgICAgZm9yIChjb25zdCBwYXRoRWxlbWVudCBvZiBwYXRoVG9TZWFyY2gpIHtcbiAgICAgICAgICBjb25zdCBmb3VuZEZsYWcgPSBjdXJyZW50UGF0aC5jaGlsZEZsYWdzLmZpbmQoKGZsYWcpID0+IGZsYWcubmFtZSA9PT0gcGF0aEVsZW1lbnQpO1xuICAgICAgICAgIGlmIChmb3VuZEZsYWcpIHtcbiAgICAgICAgICAgIGN1cnJlbnRQYXRoID0gZm91bmRGbGFnO1xuICAgICAgICAgIH1cbiAgICAgICAgfVxuICAgICAgICB0aGlzLmZvcm1Hcm91cC5nZXQoQ2FzZUZsYWdGb3JtRmllbGRzLkZMQUdfVFlQRSk/LnNldFZhbHVlKHRoaXMuY2FjaGVkRmxhZ1R5cGUsIHsgZW1pdEV2ZW50OiBmYWxzZSB9KTtcbiAgICAgICAgdGhpcy5mbGFnVHlwZXMgPSBjdXJyZW50UGF0aC5jaGlsZEZsYWdzO1xuICAgICAgICB0aGlzLmNhY2hlZEZsYWdUeXBlID0gY3VycmVudFBhdGg7XG4gICAgICB9XG4gICAgfVxuICAgIHRoaXMuc3ViSm91cm5leUluZGV4ID0gTWF0aC5tYXgoMCwgdGhpcy5zdWJKb3VybmV5SW5kZXggLSAxKTtcbiAgICBpZiAodGhpcy5zdWJKb3VybmV5SW5kZXggPT09IDApIHtcbiAgICAgIHRoaXMuZmxhZ1R5cGVzID0gdGhpcy5mbGFnVHlwZXMuZmlsdGVyKChmbGFnKSA9PlxuICAgICAgICB0aGlzLmlzRGlzcGxheUNvbnRleHRQYXJhbWV0ZXJFeHRlcm5hbCA/IGZsYWcuZmxhZ0NvZGUgIT09IHRoaXMub3RoZXJGbGFnVHlwZUNvZGUgOiB0cnVlKTtcbiAgICB9XG4gICAgdGhpcy5mbGFnVHlwZVN1YkpvdXJuZXlFbWl0dGVyLmVtaXQodGhpcy5zdWJKb3VybmV5SW5kZXgpO1xuICB9XG5cbiAgLy8gSWRlbnRpdHkgZnVuY3Rpb24gZm9yIHRyYWNrQnkgdXNlIGJ5ICpuZ0ZvciBmb3IgZmxhZ1R5cGVzIGluIEhUTUwgdGVtcGxhdGVcbiAgcHVibGljIGlkZW50aWZ5RmxhZ1R5cGUoXzogbnVtYmVyLCBmbGFnVHlwZTogRmxhZ1R5cGUpOiBzdHJpbmcge1xuICAgIHJldHVybiBgJHtmbGFnVHlwZS5mbGFnQ29kZX1fJHtmbGFnVHlwZS5uYW1lfV8ke2ZsYWdUeXBlLm5hbWVfY3l9YDtcbiAgfVxuXG4gIHByaXZhdGUgdmFsaWRhdGVGb3JtKCk6IHZvaWQge1xuICAgIHRoaXMuZmxhZ1R5cGVOb3RTZWxlY3RlZEVycm9yTWVzc2FnZSA9ICcnO1xuICAgIHRoaXMuZmxhZ1R5cGVFcnJvck1lc3NhZ2UgPSAnJztcbiAgICB0aGlzLmVycm9yTWVzc2FnZXMgPSBbXTtcblxuICAgIGlmICghdGhpcy5zZWxlY3RlZEZsYWdUeXBlKSB7XG4gICAgICAvLyBJZiB0aGVyZSBpcyBhbnkgcHJpb3IgZmxhZyB0eXBlIHNlbGVjdGlvbiB0aGVuIHRoZSBtZXNzYWdlIHdpbGwgZGlmZmVyXG4gICAgICBsZXQgZXJyb3JNZXNzYWdlID0gJyc7XG4gICAgICBpZiAodGhpcy5jYWNoZWRGbGFnVHlwZSkge1xuICAgICAgICBlcnJvck1lc3NhZ2UgPSBTZWxlY3RGbGFnVHlwZUVycm9yTWVzc2FnZS5GTEFHX1RZUEVfT1BUSU9OX05PVF9TRUxFQ1RFRDtcbiAgICAgIH0gZWxzZSB7XG4gICAgICAgIGVycm9yTWVzc2FnZSA9IHRoaXMuaXNEaXNwbGF5Q29udGV4dFBhcmFtZXRlckV4dGVybmFsXG4gICAgICAgICAgPyBTZWxlY3RGbGFnVHlwZUVycm9yTWVzc2FnZS5GTEFHX1RZUEVfTk9UX1NFTEVDVEVEX0VYVEVSTkFMXG4gICAgICAgICAgOiBTZWxlY3RGbGFnVHlwZUVycm9yTWVzc2FnZS5GTEFHX1RZUEVfTk9UX1NFTEVDVEVEO1xuICAgICAgfVxuICAgICAgdGhpcy5mbGFnVHlwZU5vdFNlbGVjdGVkRXJyb3JNZXNzYWdlID0gZXJyb3JNZXNzYWdlO1xuICAgICAgdGhpcy5lcnJvck1lc3NhZ2VzLnB1c2goeyB0aXRsZTogJycsIGRlc2NyaXB0aW9uOiBlcnJvck1lc3NhZ2UsIGZpZWxkSWQ6ICdjb25kaXRpb25hbC1yYWRpb3MtbGlzdCcgfSk7XG4gICAgfVxuICAgIGlmICh0aGlzLm90aGVyRmxhZ1R5cGVTZWxlY3RlZCkge1xuICAgICAgY29uc3Qgb3RoZXJGbGFnVHlwZURlc2NyaXB0aW9uID0gdGhpcy5mb3JtR3JvdXAuZ2V0KENhc2VGbGFnRm9ybUZpZWxkcy5PVEhFUl9GTEFHX0RFU0NSSVBUSU9OKT8udmFsdWU7XG4gICAgICBpZiAoIW90aGVyRmxhZ1R5cGVEZXNjcmlwdGlvbikge1xuICAgICAgICB0aGlzLmZsYWdUeXBlRXJyb3JNZXNzYWdlID0gdGhpcy5pc0Rpc3BsYXlDb250ZXh0UGFyYW1ldGVyRXh0ZXJuYWxcbiAgICAgICAgICA/IFNlbGVjdEZsYWdUeXBlRXJyb3JNZXNzYWdlLkZMQUdfVFlQRV9OT1RfRU5URVJFRF9FWFRFUk5BTFxuICAgICAgICAgIDogU2VsZWN0RmxhZ1R5cGVFcnJvck1lc3NhZ2UuRkxBR19UWVBFX05PVF9FTlRFUkVEO1xuICAgICAgICB0aGlzLmVycm9yTWVzc2FnZXMucHVzaCh7IHRpdGxlOiAnJywgZGVzY3JpcHRpb246IGAke3RoaXMuZmxhZ1R5cGVFcnJvck1lc3NhZ2V9YCwgZmllbGRJZDogJ290aGVyLWZsYWctdHlwZS1kZXNjcmlwdGlvbicgfSk7XG4gICAgICB9XG4gICAgICBpZiAob3RoZXJGbGFnVHlwZURlc2NyaXB0aW9uLmxlbmd0aCA+IHRoaXMubWF4Q2hhcmFjdGVyc0Zvck90aGVyRmxhZ1R5cGUpIHtcbiAgICAgICAgdGhpcy5mbGFnVHlwZUVycm9yTWVzc2FnZSA9IFNlbGVjdEZsYWdUeXBlRXJyb3JNZXNzYWdlLkZMQUdfVFlQRV9MSU1JVF9FWENFRURFRDtcbiAgICAgICAgdGhpcy5lcnJvck1lc3NhZ2VzLnB1c2goeyB0aXRsZTogJycsIGRlc2NyaXB0aW9uOiBgJHtTZWxlY3RGbGFnVHlwZUVycm9yTWVzc2FnZS5GTEFHX1RZUEVfTElNSVRfRVhDRUVERUR9YCwgZmllbGRJZDogJ290aGVyLWZsYWctdHlwZS1kZXNjcmlwdGlvbicgfSk7XG4gICAgICB9XG4gICAgfVxuICB9XG5cbiAgcHVibGljIHByb2Nlc3NGbGFnVHlwZXMoZmxhZ1R5cGVzOiBGbGFnVHlwZVtdKTogdm9pZCB7XG4gICAgY29uc3QgcHJldkpvdXJuZXlQYWdlID0gdGhpcy5tdWx0aXBhZ2VDb21wb25lbnRTdGF0ZVNlcnZpY2UuZ2V0Sm91cm5leUNvbGxlY3Rpb24oKVswXTtcbiAgICBjb25zdCB7IGpvdXJuZXlQcmV2aW91c1BhZ2VOdW1iZXIsIGpvdXJuZXlQYWdlTnVtYmVyIH0gPSBwcmV2Sm91cm5leVBhZ2U7XG4gICAgdGhpcy5jYWNoZWRSREZsYWdUeXBlcyA9IGZsYWdUeXBlcztcbiAgICBpZiAodGhpcy5zZWxlY3RlZEZsYWdUeXBlICYmIChqb3VybmV5UHJldmlvdXNQYWdlTnVtYmVyID4gam91cm5leVBhZ2VOdW1iZXIpKSB7XG4gICAgICBjb25zdCBzZWxlY3RlZEZsYWdUeXBlID0gdGhpcy5zZWxlY3RlZEZsYWdUeXBlO1xuICAgICAgY29uc3QgcGF0aFRvU2VhcmNoID0gc2VsZWN0ZWRGbGFnVHlwZS5QYXRoLnNsaWNlKDEpO1xuICAgICAgbGV0IGN1cnJlbnRQYXRoID0gZmxhZ1R5cGVzWzBdO1xuICAgICAgZm9yIChjb25zdCBwYXRoRWxlbWVudCBvZiBwYXRoVG9TZWFyY2gpIHtcbiAgICAgICAgY29uc3QgZm91bmRGbGFnID0gY3VycmVudFBhdGguY2hpbGRGbGFncy5maW5kKChmbGFnKSA9PiBmbGFnLm5hbWUgPT09IHBhdGhFbGVtZW50KTtcbiAgICAgICAgaWYgKGZvdW5kRmxhZykge1xuICAgICAgICAgIGN1cnJlbnRQYXRoID0gZm91bmRGbGFnO1xuICAgICAgICB9XG4gICAgICB9XG4gICAgICB0aGlzLmZsYWdUeXBlcyA9IGN1cnJlbnRQYXRoLmNoaWxkRmxhZ3M7XG4gICAgICB0aGlzLmNhY2hlZEZsYWdUeXBlID0gY3VycmVudFBhdGg7XG4gICAgfSBlbHNlIHtcbiAgICAgIHRoaXMuZmxhZ1R5cGVzID0gZmxhZ1R5cGVzWzBdLmNoaWxkRmxhZ3MuZmlsdGVyKChmbGFnKSA9PlxuICAgICAgICB0aGlzLmlzRGlzcGxheUNvbnRleHRQYXJhbWV0ZXJFeHRlcm5hbCA/IGZsYWcuZmxhZ0NvZGUgIT09IHRoaXMub3RoZXJGbGFnVHlwZUNvZGUgOiB0cnVlKTtcbiAgICB9XG4gICAgY29uc3QgZm9ybUNvbnRyb2wgPSB0aGlzLmZvcm1Hcm91cC5nZXQoQ2FzZUZsYWdGb3JtRmllbGRzLkZMQUdfVFlQRSk7XG4gICAgaWYgKGZvcm1Db250cm9sPy52YWx1ZSkge1xuICAgICAgY29uc3QgW2ZvdW5kRmxhZ1R5cGUsIHBhdGhdID0gRmxhZ1R5cGUuc2VhcmNoUGF0aEJ5RmxhZ1R5cGVPYmplY3QoZm9ybUNvbnRyb2wudmFsdWUgYXMgRmxhZ1R5cGUsIHRoaXMuY2FjaGVkUkRGbGFnVHlwZXNbMF0uY2hpbGRGbGFncyk7XG4gICAgICB0aGlzLmNhY2hlZFBhdGggPSBbLi4ucGF0aCwgZm91bmRGbGFnVHlwZV07XG4gICAgICBmb3JtQ29udHJvbC5zZXRWYWx1ZSgodGhpcy5zZWxlY3RlZEZsYWdUeXBlICYmIChqb3VybmV5UHJldmlvdXNQYWdlTnVtYmVyID4gam91cm5leVBhZ2VOdW1iZXIpKSA/IHRoaXMuY2FjaGVkUGF0aFt0aGlzLmNhY2hlZFBhdGgubGVuZ3RoIC0gMV0gOiB0aGlzLmNhY2hlZFBhdGhbMF0sIHsgZW1pdEV2ZW50OiBmYWxzZSB9KTtcbiAgICAgIGlmICh0aGlzLmNhY2hlZFBhdGgubGVuZ3RoICE9PSAwICYmIChqb3VybmV5UHJldmlvdXNQYWdlTnVtYmVyID4gam91cm5leVBhZ2VOdW1iZXIpKSB7XG4gICAgICAgIHRoaXMuc3ViSm91cm5leUluZGV4ID0gdGhpcy5jYWNoZWRQYXRoLmxlbmd0aC0xO1xuICAgICAgfVxuICAgIH1cbiAgICB0aGlzLmZsYWdUeXBlU3ViSm91cm5leUVtaXR0ZXIuZW1pdCh0aGlzLnN1YkpvdXJuZXlJbmRleCk7XG4gICAgdGhpcy5hZGRTdGF0ZSh0aGlzLnN1YkpvdXJuZXlJbmRleCk7XG4gIH1cblxuICBwcml2YXRlIG9uUmVmZGF0YUVycm9yKGVycm9yOiBhbnkpOiB2b2lkIHtcbiAgICAvLyBTZXQgZXJyb3IgZmxhZyBvbiBjb21wb25lbnQgdG8gcmVtb3ZlIHRoZSBcIk5leHRcIiBidXR0b24gKHVzZXIgY2Fubm90IHByb2NlZWQgd2l0aCBmbGFnIGNyZWF0aW9uKVxuICAgIHRoaXMucmVmZGF0YUVycm9yID0gdHJ1ZTtcbiAgICB0aGlzLmVycm9yTWVzc2FnZXMgPSBbXTtcbiAgICB0aGlzLmVycm9yTWVzc2FnZXMucHVzaCh7IHRpdGxlOiAnJywgZGVzY3JpcHRpb246IGVycm9yLm1lc3NhZ2UsIGZpZWxkSWQ6ICdjb25kaXRpb25hbC1yYWRpb3MtbGlzdCcgfSk7XG4gICAgLy8gUmV0dXJuIGNhc2UgZmxhZyBmaWVsZCBzdGF0ZSBhbmQgZXJyb3IgbWVzc2FnZXMgdG8gdGhlIHBhcmVudFxuICAgIHRoaXMuY2FzZUZsYWdTdGF0ZUVtaXR0ZXIuZW1pdCh7IGN1cnJlbnRDYXNlRmxhZ0ZpZWxkU3RhdGU6IENhc2VGbGFnRmllbGRTdGF0ZS5GTEFHX1RZUEUsIGVycm9yTWVzc2FnZXM6IHRoaXMuZXJyb3JNZXNzYWdlcyB9KTtcbiAgfVxuXG4gIHB1YmxpYyBuZXh0KCk6IHZvaWQge1xuICAgIHRoaXMub25OZXh0KCk7XG4gICAgdGhpcy5hZGRTdGF0ZSh0aGlzLnN1YkpvdXJuZXlJbmRleCk7XG4gICAgaWYgKHRoaXMuZXJyb3JNZXNzYWdlcy5sZW5ndGggPT09IDApIHtcbiAgICAgIHN1cGVyLm5leHQoKTtcbiAgICB9XG4gIH1cblxuICBwdWJsaWMgcHJldmlvdXMoKTogdm9pZCB7XG4gICAgdGhpcy5vblByZXZpb3VzKCk7XG5cbiAgICBpZiAodGhpcy5zdWJKb3VybmV5SW5kZXggPD0gMCkge1xuICAgICAgc3VwZXIucHJldmlvdXMoKTtcbiAgICB9XG4gIH1cbn1cbiIsIjxuZy1jb250YWluZXIgKm5nSWY9XCJmbGFnVHlwZXM/Lmxlbmd0aFwiIFtmb3JtR3JvdXBdPVwiZm9ybUdyb3VwXCI+XG4gIDxkaXYgY2xhc3M9XCJnb3Z1ay1mb3JtLWdyb3VwXCIgW25nQ2xhc3NdPVwieydmb3JtLWdyb3VwLWVycm9yJzogZmxhZ1R5cGVOb3RTZWxlY3RlZEVycm9yTWVzc2FnZS5sZW5ndGggPiAwfVwiPlxuICAgIDxmaWVsZHNldCBjbGFzcz1cImdvdnVrLWZpZWxkc2V0XCIgYXJpYS1kZXNjcmliZWRieT1cImZsYWctdHlwZS1oZWFkaW5nXCI+XG4gICAgICA8bGVnZW5kIGNsYXNzPVwiZ292dWstZmllbGRzZXRfX2xlZ2VuZCBnb3Z1ay1maWVsZHNldF9fbGVnZW5kLS1tXCI+XG4gICAgICAgIDxoMSBpZD1cImZsYWctdHlwZS1oZWFkaW5nXCIgY2xhc3M9XCJnb3Z1ay1maWVsZHNldF9faGVhZGluZyBnb3Z1ay0hLW1hcmdpbi1ib3R0b20tMVwiPlxuICAgICAgICAgIDxuZy1jb250YWluZXIgKm5nSWY9XCIhY2FjaGVkRmxhZ1R5cGUgfHwgc3ViSm91cm5leUluZGV4ID09IDA7IGVsc2UgcHJpb3JGbGFnVHlwZVNlbGVjdGVkXCI+XG4gICAgICAgICAgICB7e1xuICAgICAgICAgICAgaXNEaXNwbGF5Q29udGV4dFBhcmFtZXRlckV4dGVybmFsXG4gICAgICAgICAgICA/IChjYXNlRmxhZ1dpemFyZFN0ZXBUaXRsZS5TRUxFQ1RfQ0FTRV9GTEFHX0VYVEVSTkFMIHwgcnB4VHJhbnNsYXRlKVxuICAgICAgICAgICAgOiAoY2FzZUZsYWdXaXphcmRTdGVwVGl0bGUuU0VMRUNUX0NBU0VfRkxBRyB8IHJweFRyYW5zbGF0ZSlcbiAgICAgICAgICAgIH19XG4gICAgICAgICAgPC9uZy1jb250YWluZXI+XG4gICAgICAgICAgPG5nLXRlbXBsYXRlICNwcmlvckZsYWdUeXBlU2VsZWN0ZWQ+XG4gICAgICAgICAgICB7e2NhY2hlZEZsYWdUeXBlIHwgZmxhZ0ZpZWxkRGlzcGxheTonbmFtZSd9fVxuICAgICAgICAgIDwvbmctdGVtcGxhdGU+XG4gICAgICAgIDwvaDE+XG4gICAgICA8L2xlZ2VuZD5cbiAgICAgIDxkaXYgaWQ9XCJmbGFnLXR5cGUtbm90LXNlbGVjdGVkLWVycm9yLW1lc3NhZ2VcIiBjbGFzcz1cImdvdnVrLWVycm9yLW1lc3NhZ2VcIlxuICAgICAgICAqbmdJZj1cImZsYWdUeXBlTm90U2VsZWN0ZWRFcnJvck1lc3NhZ2UubGVuZ3RoID4gMFwiPlxuICAgICAgICA8c3BhbiBjbGFzcz1cImdvdnVrLXZpc3VhbGx5LWhpZGRlblwiPnt7J0Vycm9yOicgfCBycHhUcmFuc2xhdGV9fTwvc3Bhbj4ge3tmbGFnVHlwZU5vdFNlbGVjdGVkRXJyb3JNZXNzYWdlIHxcbiAgICAgICAgcnB4VHJhbnNsYXRlfX1cbiAgICAgIDwvZGl2PlxuICAgICAgPGRpdiBjbGFzcz1cImdvdnVrLXJhZGlvcyBnb3Z1ay1yYWRpb3MtLWNvbmRpdGlvbmFsXCIgZGF0YS1tb2R1bGU9XCJnb3Z1ay1yYWRpb3NcIiBpZD1cImNvbmRpdGlvbmFsLXJhZGlvcy1saXN0XCI+XG4gICAgICAgIDxkaXYgY2xhc3M9XCJnb3Z1ay1yYWRpb3NfX2l0ZW1cIiAqbmdGb3I9XCJsZXQgZmxhZ1R5cGUgb2YgZmxhZ1R5cGVzOyBpbmRleCBhcyBpOyB0cmFja0J5OiBpZGVudGlmeUZsYWdUeXBlXCI+XG4gICAgICAgICAgPGlucHV0IGNsYXNzPVwiZ292dWstcmFkaW9zX19pbnB1dFwiIGlkPVwiZmxhZy10eXBlLXt7aX19XCIgW25hbWVdPVwiY2FzZUZsYWdGb3JtRmllbGQuRkxBR19UWVBFXCIgdHlwZT1cInJhZGlvXCJcbiAgICAgICAgICAgIFt2YWx1ZV09XCJmbGFnVHlwZVwiIFtmb3JtQ29udHJvbE5hbWVdPVwiY2FzZUZsYWdGb3JtRmllbGQuRkxBR19UWVBFXCIgLz5cbiAgICAgICAgICA8bGFiZWwgY2xhc3M9XCJnb3Z1ay1sYWJlbCBnb3Z1ay1yYWRpb3NfX2xhYmVsXCIgZm9yPVwiZmxhZy10eXBlLXt7aX19XCI+XG4gICAgICAgICAgICB7e2ZsYWdUeXBlIHwgZmxhZ0ZpZWxkRGlzcGxheTonbmFtZSd9fVxuICAgICAgICAgIDwvbGFiZWw+XG4gICAgICAgIDwvZGl2PlxuICAgICAgICA8ZGl2IGNsYXNzPVwiZ292dWstcmFkaW9zX19jb25kaXRpb25hbFwiICpuZ0lmPVwib3RoZXJGbGFnVHlwZVNlbGVjdGVkXCIgaWQ9XCJjb25kaXRpb25hbC1mbGFnVHlwZVwiPlxuICAgICAgICAgIDxkaXYgY2xhc3M9XCJnb3Z1ay1mb3JtLWdyb3VwXCIgW25nQ2xhc3NdPVwieydmb3JtLWdyb3VwLWVycm9yJzogZmxhZ1R5cGVFcnJvck1lc3NhZ2UubGVuZ3RoID4gMH1cIj5cbiAgICAgICAgICAgIDxsYWJlbCBjbGFzcz1cImdvdnVrLWxhYmVsXCIgZm9yPVwib3RoZXItZmxhZy10eXBlLWRlc2NyaXB0aW9uXCI+XG4gICAgICAgICAgICAgIHt7XG4gICAgICAgICAgICAgIGlzRGlzcGxheUNvbnRleHRQYXJhbWV0ZXJFeHRlcm5hbFxuICAgICAgICAgICAgICA/IChjYXNlRmxhZ1dpemFyZFN0ZXBUaXRsZS5PVEhFUl9GTEFHX1RZUEVfREVTQ1JJUFRJT05fRVhURVJOQUwgfCBycHhUcmFuc2xhdGUpXG4gICAgICAgICAgICAgIDogKGNhc2VGbGFnV2l6YXJkU3RlcFRpdGxlLk9USEVSX0ZMQUdfVFlQRV9ERVNDUklQVElPTiB8IHJweFRyYW5zbGF0ZSlcbiAgICAgICAgICAgICAgfX1cbiAgICAgICAgICAgIDwvbGFiZWw+XG4gICAgICAgICAgICA8ZGl2IGlkPVwiZmxhZy10eXBlLWVycm9yLW1lc3NhZ2VcIiBjbGFzcz1cImdvdnVrLWVycm9yLW1lc3NhZ2VcIiAqbmdJZj1cImZsYWdUeXBlRXJyb3JNZXNzYWdlLmxlbmd0aCA+IDBcIj5cbiAgICAgICAgICAgICAgPHNwYW4gY2xhc3M9XCJnb3Z1ay12aXN1YWxseS1oaWRkZW5cIj57eydFcnJvcjonIHwgcnB4VHJhbnNsYXRlfX08L3NwYW4+IHt7ZmxhZ1R5cGVFcnJvck1lc3NhZ2UgfFxuICAgICAgICAgICAgICBycHhUcmFuc2xhdGV9fVxuICAgICAgICAgICAgPC9kaXY+XG4gICAgICAgICAgICA8aW5wdXQgY2xhc3M9XCJnb3Z1ay1pbnB1dCBnb3Z1ay0hLXdpZHRoLW9uZS1oYWxmXCJcbiAgICAgICAgICAgICAgW25nQ2xhc3NdPVwieydnb3Z1ay1pbnB1dC0tZXJyb3InOiBmbGFnVHlwZUVycm9yTWVzc2FnZS5sZW5ndGggPiAwfVwiIGlkPVwib3RoZXItZmxhZy10eXBlLWRlc2NyaXB0aW9uXCJcbiAgICAgICAgICAgICAgW25hbWVdPVwiY2FzZUZsYWdGb3JtRmllbGQuT1RIRVJfRkxBR19ERVNDUklQVElPTlwiIHR5cGU9XCJ0ZXh0XCJcbiAgICAgICAgICAgICAgW2Zvcm1Db250cm9sTmFtZV09XCJjYXNlRmxhZ0Zvcm1GaWVsZC5PVEhFUl9GTEFHX0RFU0NSSVBUSU9OXCIgLz5cbiAgICAgICAgICAgIDxkaXYgY2xhc3M9XCJnb3Z1ay1jaGVja2JveGVzX19pdGVtIGdvdnVrLSEtbWFyZ2luLXRvcC00XCJcbiAgICAgICAgICAgICAgKm5nSWY9XCIhaXNEaXNwbGF5Q29udGV4dFBhcmFtZXRlckV4dGVybmFsICYmICFpc0Nhc2VMZXZlbEZsYWcgJiYgaXNEaXNwbGF5Q29udGV4dFBhcmFtZXRlcjJQb2ludDFFbmFibGVkXCI+XG4gICAgICAgICAgICAgIDxpbnB1dCBjbGFzcz1cImdvdnVrLWNoZWNrYm94ZXNfX2lucHV0XCIgaWQ9XCJpcy12aXNpYmxlLWV4dGVybmFsbHlcIiB0eXBlPVwiY2hlY2tib3hcIlxuICAgICAgICAgICAgICAgIFtuYW1lXT1cImNhc2VGbGFnRm9ybUZpZWxkLklTX1ZJU0lCTEVfSU5URVJOQUxMWV9PTkxZXCJcbiAgICAgICAgICAgICAgICBbZm9ybUNvbnRyb2xOYW1lXT1cImNhc2VGbGFnRm9ybUZpZWxkLklTX1ZJU0lCTEVfSU5URVJOQUxMWV9PTkxZXCI+XG4gICAgICAgICAgICAgIDxsYWJlbCBjbGFzcz1cImdvdnVrLWxhYmVsIGdvdnVrLWNoZWNrYm94ZXNfX2xhYmVsXCIgZm9yPVwiaXMtdmlzaWJsZS1leHRlcm5hbGx5XCI+XG4gICAgICAgICAgICAgICAge3snVGhpcyBmbGFnIHNob3VsZCBvbmx5IGJlIHZpc2libGUgdG8gSE1DVFMgU3RhZmYnIHwgcnB4VHJhbnNsYXRlfX1cbiAgICAgICAgICAgICAgPC9sYWJlbD5cbiAgICAgICAgICAgIDwvZGl2PlxuICAgICAgICAgIDwvZGl2PlxuICAgICAgICA8L2Rpdj5cbiAgICAgIDwvZGl2PlxuICAgIDwvZmllbGRzZXQ+XG4gIDwvZGl2PlxuPC9uZy1jb250YWluZXI+Il19
|
|
@@ -26232,6 +26232,9 @@ class SelectFlagTypeComponent extends AbstractJourneyComponent {
|
|
|
26232
26232
|
}
|
|
26233
26233
|
}
|
|
26234
26234
|
this.subJourneyIndex = Math.max(0, this.subJourneyIndex - 1);
|
|
26235
|
+
if (this.subJourneyIndex === 0) {
|
|
26236
|
+
this.flagTypes = this.flagTypes.filter((flag) => this.isDisplayContextParameterExternal ? flag.flagCode !== this.otherFlagTypeCode : true);
|
|
26237
|
+
}
|
|
26235
26238
|
this.flagTypeSubJourneyEmitter.emit(this.subJourneyIndex);
|
|
26236
26239
|
}
|
|
26237
26240
|
// Identity function for trackBy use by *ngFor for flagTypes in HTML template
|