igniteui-angular 17.2.0-beta.2 → 17.2.0
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/calendar/calendar.component.mjs +2 -1
- package/esm2022/lib/calendar/days-view/days-view.component.mjs +4 -2
- package/esm2022/lib/calendar/months-view/months-view.component.mjs +1 -1
- package/esm2022/lib/calendar/years-view/years-view.component.mjs +1 -1
- package/esm2022/lib/directives/date-time-editor/date-time-editor.directive.mjs +11 -12
- package/esm2022/lib/directives/mask/mask.directive.mjs +2 -2
- package/esm2022/lib/directives/toggle/toggle.directive.mjs +6 -6
- package/fesm2022/igniteui-angular.mjs +20 -18
- package/fesm2022/igniteui-angular.mjs.map +1 -1
- package/lib/calendar/months-view/months-view.component.d.ts +1 -1
- package/lib/calendar/years-view/years-view.component.d.ts +1 -1
- package/lib/directives/date-time-editor/date-time-editor.directive.d.ts +4 -6
- package/lib/directives/mask/mask.directive.d.ts +3 -3
- package/lib/directives/toggle/toggle.directive.d.ts +4 -4
- package/package.json +2 -2
|
@@ -208,7 +208,9 @@ export class IgxDaysViewComponent extends IgxCalendarBaseDirective {
|
|
|
208
208
|
nextDate: date
|
|
209
209
|
});
|
|
210
210
|
}
|
|
211
|
-
this.
|
|
211
|
+
if (this.tabIndex !== -1) {
|
|
212
|
+
this.el.nativeElement.focus();
|
|
213
|
+
}
|
|
212
214
|
this.activeDate = item.date.native;
|
|
213
215
|
this.selectActiveDate();
|
|
214
216
|
}
|
|
@@ -500,4 +502,4 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.2.4", ngImpor
|
|
|
500
502
|
type: HostListener,
|
|
501
503
|
args: ['blur']
|
|
502
504
|
}] } });
|
|
503
|
-
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZGF5cy12aWV3LmNvbXBvbmVudC5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL2lnbml0ZXVpLWFuZ3VsYXIvc3JjL2xpYi9jYWxlbmRhci9kYXlzLXZpZXcvZGF5cy12aWV3LmNvbXBvbmVudC50cyIsIi4uLy4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL2lnbml0ZXVpLWFuZ3VsYXIvc3JjL2xpYi9jYWxlbmRhci9kYXlzLXZpZXcvZGF5cy12aWV3LmNvbXBvbmVudC5odG1sIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFDSCxTQUFTLEVBQ1QsTUFBTSxFQUNOLFlBQVksRUFDWixLQUFLLEVBQ0wsWUFBWSxFQUNaLFlBQVksRUFFWixXQUFXLEVBQ1gsTUFBTSxFQUNOLFNBQVMsRUFDVCxnQkFBZ0IsRUFHaEIsdUJBQXVCLEdBQzFCLE1BQU0sZUFBZSxDQUFDO0FBQ3ZCLE9BQU8sRUFBRSxpQkFBaUIsRUFBRSxNQUFNLGdCQUFnQixDQUFDO0FBQ25ELE9BQU8sRUFBRSxJQUFJLEVBQUUsS0FBSyxFQUFFLGFBQWEsRUFBRSxNQUFNLGlCQUFpQixDQUFDO0FBQzdELE9BQU8sRUFBRSxpQkFBaUIsRUFBbUIsTUFBTSx5QkFBeUIsQ0FBQztBQUM3RSxPQUFPLEVBQUUsbUJBQW1CLEVBQUUsTUFBTSxzQkFBc0IsQ0FBQztBQUMzRCxPQUFPLEVBQUUsYUFBYSxFQUFFLE1BQU0sa0JBQWtCLENBQUM7QUFDakQsT0FBTyxFQUFFLHdCQUF3QixFQUFFLE1BQU0sa0JBQWtCLENBQUM7QUFDNUQsT0FBTyxFQUFnQixVQUFVLEVBQUUsTUFBTSxrQkFBa0IsQ0FBQztBQUU1RCxPQUFPLEVBQ0gsWUFBWSxFQUNaLGFBQWEsRUFDYixvQkFBb0IsRUFDcEIsaUJBQWlCLEVBQ2pCLHFCQUFxQixFQUNyQixjQUFjLEdBQ2pCLE1BQU0sbUJBQW1CLENBQUM7QUFDM0IsT0FBTyxFQUFFLFdBQVcsRUFBRSxNQUFN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O3VCQUFDLGVBQWUsRUFBRSxDQUFDLFFBQVEsQ0FBQzs7c0JBQ3hDLFlBQVk7dUJBQUMsZUFBZSxFQUFFLENBQUMsUUFBUSxDQUFDO2dCQVUvQixhQUFhO3NCQUR0QixZQUFZO3VCQUFDLGNBQWMsRUFBRSxDQUFDLFFBQVEsQ0FBQztnQkFnQjlCLFlBQVk7c0JBRHJCLFlBQVk7dUJBQUMsYUFBYSxFQUFFLENBQUMsUUFBUSxDQUFDO2dCQWdCN0IsV0FBVztzQkFEcEIsWUFBWTt1QkFBQyxPQUFPO2dCQVVYLFVBQVU7c0JBRG5CLFlBQVk7dUJBQUMsTUFBTSIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7XG4gICAgQ29tcG9uZW50LFxuICAgIE91dHB1dCxcbiAgICBFdmVudEVtaXR0ZXIsXG4gICAgSW5wdXQsXG4gICAgSG9zdExpc3RlbmVyLFxuICAgIFZpZXdDaGlsZHJlbixcbiAgICBRdWVyeUxpc3QsXG4gICAgSG9zdEJpbmRpbmcsXG4gICAgSW5qZWN0LFxuICAgIExPQ0FMRV9JRCxcbiAgICBib29sZWFuQXR0cmlidXRlLFxuICAgIEVsZW1lbnRSZWYsXG4gICAgQ2hhbmdlRGV0ZWN0b3JSZWYsXG4gICAgQ2hhbmdlRGV0ZWN0aW9uU3RyYXRlZ3ksXG59IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xuaW1wb3J0IHsgTkdfVkFMVUVfQUNDRVNTT1IgfSBmcm9tICdAYW5ndWxhci9mb3Jtcyc7XG5pbXBvcnQgeyBOZ0lmLCBOZ0ZvciwgVGl0bGVDYXNlUGlwZSB9IGZyb20gJ0Bhbmd1bGFyL2NvbW1vbic7XG5pbXBvcnQgeyBDYWxlbmRhclNlbGVjdGlvbiwgU2Nyb2xsRGlyZWN0aW9uIH0gZnJvbSAnLi4vLi4vY2FsZW5kYXIvY2FsZW5kYXInO1xuaW1wb3J0IHsgSWd4RGF5SXRlbUNvbXBvbmVudCB9IGZyb20gJy4vZGF5LWl0ZW0uY29tcG9uZW50JztcbmltcG9ydCB7IERhdGVSYW5nZVR5cGUgfSBmcm9tICcuLi8uLi9jb3JlL2RhdGVzJztcbmltcG9ydCB7IElneENhbGVuZGFyQmFzZURpcmVjdGl2ZSB9IGZyb20gJy4uL2NhbGVuZGFyLWJhc2UnO1xuaW1wb3J0IHsgUGxhdGZvcm1VdGlsLCBpbnRvQ2h1bmtzIH0gZnJvbSAnLi4vLi4vY29yZS91dGlscyc7XG5pbXBvcnQgeyBJVmlld0NoYW5naW5nRXZlbnRBcmdzIH0gZnJvbSAnLi9kYXlzLXZpZXcuaW50ZXJmYWNlJztcbmltcG9ydCB7XG4gICAgYXJlU2FtZU1vbnRoLFxuICAgIGdlbmVyYXRlTW9udGgsXG4gICAgZ2V0Q2xvc2VzdEFjdGl2ZURhdGUsXG4gICAgZ2V0TmV4dEFjdGl2ZURhdGUsXG4gICAgZ2V0UHJldmlvdXNBY3RpdmVEYXRlLFxuICAgIGlzRGF0ZUluUmFuZ2VzLFxufSBmcm9tIFwiLi4vY29tbW9uL2hlbHBlcnNcIjtcbmltcG9ydCB7IENhbGVuZGFyRGF5IH0gZnJvbSAnLi4vY29tbW9uL21vZGVsJztcblxubGV0IE5FWFRfSUQgPSAwO1xuXG5AQ29tcG9uZW50KHtcbiAgICBwcm92aWRlcnM6IFtcbiAgICAgICAge1xuICAgICAgICAgICAgbXVsdGk6IHRydWUsXG4gICAgICAgICAgICBwcm92aWRlOiBOR19WQUxVRV9BQ0NFU1NPUixcbiAgICAgICAgICAgIHVzZUV4aXN0aW5nOiBJZ3hEYXlzVmlld0NvbXBvbmVudFxuICAgICAgICB9LFxuICAgIF0sXG4gICAgc2VsZWN0b3I6ICdpZ3gtZGF5cy12aWV3JyxcbiAgICB0ZW1wbGF0ZVVybDogJ2RheXMtdmlldy5jb21wb25lbnQuaHRtbCcsXG4gICAgY2hhbmdlRGV0ZWN0aW9uOiBDaGFuZ2VEZXRlY3Rpb25TdHJhdGVneS5PblB1c2gsXG4gICAgc3RhbmRhbG9uZTogdHJ1ZSxcbiAgICBpbXBvcnRzOiBbTmdJZiwgTmdGb3IsIElneERheUl0ZW1Db21wb25lbnQsIFRpdGxlQ2FzZVBpcGVdXG59KVxuZXhwb3J0IGNsYXNzIElneERheXNWaWV3Q29tcG9uZW50IGV4dGVuZHMgSWd4Q2FsZW5kYXJCYXNlRGlyZWN0aXZlIHtcbiAgICAjc3RhbmRhbG9uZSA9IHRydWU7XG5cbiAgICAvKipcbiAgICAgKiBTZXRzL2dldHMgdGhlIGBpZGAgb2YgdGhlIGRheXMgdmlldy5cbiAgICAgKiBJZiBub3Qgc2V0LCB0aGUgYGlkYCB3aWxsIGhhdmUgdmFsdWUgYFwiaWd4LWRheXMtdmlldy0wXCJgLlxuICAgICAqIGBgYGh0bWxcbiAgICAgKiA8aWd4LWRheXMtdmlldyBpZD1cIm15LWRheXMtdmlld1wiPjwvaWd4LWRheXMtdmlldz5cbiAgICAgKiBgYGBcbiAgICAgKiBgYGB0eXBlc2NyaXB0XG4gICAgICogbGV0IGRheXNWaWV3SWQgPSB0aGlzLmRheXNWaWV3LmlkO1xuICAgICAqIGBgYFxuICAgICAqL1xuICAgIEBIb3N0QmluZGluZygnYXR0ci5pZCcpXG4gICAgQElucHV0KClcbiAgICBwdWJsaWMgaWQgPSBgaWd4LWRheXMtdmlldy0ke05FWFRfSUQrK31gO1xuXG4gICAgQEhvc3RCaW5kaW5nKCdhdHRyLnRhYkluZGV4JylcbiAgICBASW5wdXQoKVxuICAgIHB1YmxpYyB0YWJJbmRleCA9IDA7XG5cbiAgICBASG9zdEJpbmRpbmcoJ2F0dHIucm9sZScpXG4gICAgQElucHV0KClcbiAgICBwdWJsaWMgcm9sZSA9ICdncmlkJztcblxuXHRASG9zdEJpbmRpbmcoJ2NsYXNzLmlneC1kYXlzLXZpZXcnKVxuXHRwdWJsaWMgcmVhZG9ubHkgdmlld0NsYXNzID0gdHJ1ZTtcblxuICAgIEBJbnB1dCgpXG5cdEBIb3N0QmluZGluZygnY2xhc3MuaWd4LWRheXMtdmlldy0tc3RhbmRhbG9uZScpXG5cdHB1YmxpYyBnZXQgc3RhbmRhbG9uZSgpIHtcbiAgICAgICAgcmV0dXJuIHRoaXMuI3N0YW5kYWxvbmU7XG4gICAgfVxuXG5cdHB1YmxpYyBzZXQgc3RhbmRhbG9uZSh2YWx1ZTogYm9vbGVhbikge1xuICAgICAgICB0aGlzLiNzdGFuZGFsb25lID0gdmFsdWU7XG4gICAgfVxuXG4gICAgQEhvc3RCaW5kaW5nKCdhdHRyLmFyaWEtYWN0aXZlRGVzY2VuZGFudCcpXG4gICAgcHJvdGVjdGVkIGdldCBhY3RpdmVEZXNjZW5kYW50KCkge1xuICAgICAgICBpZiAodGhpcy50YWJJbmRleCA9PT0gLTEpIHJldHVybjtcblxuICAgICAgICByZXR1cm4gdGhpcy5hY3RpdmVEYXRlLmdldFRpbWUoKTtcbiAgICB9XG5cbiAgICAvKipcbiAgICAgKiBTaG93L2hpZGUgd2VlayBudW1iZXJzXG4gICAgICpcbiAgICAgKiBAZXhhbXBsZVxuICAgICAqIGBgYGh0bWxcbiAgICAgKiA8aWd4LWRheXMtdmlldyBbc2hvd1dlZWtOdW1iZXJzXT1cInRydWVcIj48L2lneC1kYXlzLXZpZXc+XG4gICAgICogYGBcbiAgICAgKi9cbiAgICBASW5wdXQoeyB0cmFuc2Zvcm06IGJvb2xlYW5BdHRyaWJ1dGUgfSlcbiAgICBwdWJsaWMgc2hvd1dlZWtOdW1iZXJzOiBib29sZWFuO1xuXG4gICAgLyoqXG4gICAgICogQGhpZGRlblxuICAgICAqIEBpbnRlcm5hbFxuICAgICAqL1xuICAgIEBJbnB1dCgpXG4gICAgcHVibGljIHNldCBhY3RpdmVEYXRlKHZhbHVlOiBEYXRlKSB7XG4gICAgICAgIHRoaXMuX2FjdGl2ZURhdGUgPSB2YWx1ZTtcbiAgICAgICAgdGhpcy5jaGFuZ2VQcmV2aWV3UmFuZ2UodmFsdWUpO1xuICAgICAgICB0aGlzLmFjdGl2ZURhdGVDaGFuZ2UuZW1pdCh0aGlzLl9hY3RpdmVEYXRlKTtcbiAgICB9XG5cbiAgICBwdWJsaWMgZ2V0IGFjdGl2ZURhdGUoKTogRGF0ZSB7XG4gICAgICAgIHJldHVybiB0aGlzLl9hY3RpdmVEYXRlID8/IHRoaXMudmlld0RhdGU7XG4gICAgfVxuXG4gICAgLyoqXG4gICAgICogQGhpZGRlblxuICAgICAqIEBpbnRlcm5hbFxuICAgICAqL1xuICAgIEBJbnB1dCgpXG4gICAgcHVibGljIHNldCBwcmV2aWV3UmFuZ2VEYXRlKHZhbHVlOiBEYXRlKSB7XG4gICAgICAgIHRoaXMuX3ByZXZpZXdSYW5nZURhdGUgPSB2YWx1ZTtcbiAgICAgICAgdGhpcy5wcmV2aWV3UmFuZ2VEYXRlQ2hhbmdlLmVtaXQodmFsdWUpO1xuICAgIH1cblxuICAgIHB1YmxpYyBnZXQgcHJldmlld1JhbmdlRGF0ZSgpIHtcbiAgICAgICAgcmV0dXJuIHRoaXMuX3ByZXZpZXdSYW5nZURhdGU7XG4gICAgfVxuXG4gICAgQElucHV0KHsgdHJhbnNmb3JtOiBib29sZWFuQXR0cmlidXRlIH0pXG4gICAgcHVibGljIHNldCBoaWRlTGVhZGluZ0RheXModmFsdWU6IGJvb2xlYW4pIHtcbiAgICAgICAgdGhpcy5faGlkZUxlYWRpbmdEYXlzID0gdmFsdWU7XG4gICAgICAgIHRoaXMuY2RyLmRldGVjdENoYW5nZXMoKTtcbiAgICB9XG5cbiAgICBwdWJsaWMgZ2V0IGhpZGVMZWFkaW5nRGF5cygpIHtcbiAgICAgICAgcmV0dXJuIHRoaXMuX2hpZGVMZWFkaW5nRGF5cyA/PyB0aGlzLmhpZGVPdXRzaWRlRGF5cztcbiAgICB9XG5cbiAgICBASW5wdXQoeyB0cmFuc2Zvcm06IGJvb2xlYW5BdHRyaWJ1dGUgfSlcbiAgICBwdWJsaWMgc2V0IGhpZGVUcmFpbGluZ0RheXModmFsdWU6IGJvb2xlYW4pIHtcbiAgICAgICAgdGhpcy5faGlkZVRyYWlsaW5nRGF5cyA9IHZhbHVlO1xuICAgICAgICB0aGlzLmNkci5kZXRlY3RDaGFuZ2VzKCk7XG4gICAgfVxuXG4gICAgcHVibGljIGdldCBoaWRlVHJhaWxpbmdEYXlzKCkge1xuICAgICAgICByZXR1cm4gdGhpcy5faGlkZVRyYWlsaW5nRGF5cyA/PyB0aGlzLmhpZGVPdXRzaWRlRGF5cztcbiAgICB9XG5cbiAgICBASW5wdXQoeyB0cmFuc2Zvcm06IGJvb2xlYW5BdHRyaWJ1dGUgfSlcbiAgICBwdWJsaWMgc2V0IHNob3dBY3RpdmVEYXkodmFsdWU6IGJvb2xlYW4pIHtcbiAgICAgICAgdGhpcy5fc2hvd0FjdGl2ZURheSA9IHZhbHVlO1xuICAgIH1cblxuICAgIHB1YmxpYyBnZXQgc2hvd0FjdGl2ZURheSgpIHtcbiAgICAgICAgcmV0dXJuIHRoaXMuX3Nob3dBY3RpdmVEYXk7XG4gICAgfVxuXG4gICAgLyoqXG4gICAgICogQGhpZGRlblxuICAgICAqL1xuICAgIEBPdXRwdXQoKVxuICAgIHB1YmxpYyBkYXRlU2VsZWN0ZWQgPSBuZXcgRXZlbnRFbWl0dGVyPERhdGU+KCk7XG5cbiAgICAvKipcbiAgICAgKiBAaGlkZGVuXG4gICAgICovXG4gICAgQE91dHB1dCgpXG4gICAgcHVibGljIHBhZ2VDaGFuZ2VkID0gbmV3IEV2ZW50RW1pdHRlcjxJVmlld0NoYW5naW5nRXZlbnRBcmdzPigpO1xuXG4gICAgLyoqXG4gICAgICogQGhpZGRlblxuICAgICAqL1xuICAgIEBPdXRwdXQoKVxuICAgIHB1YmxpYyBhY3RpdmVEYXRlQ2hhbmdlID0gbmV3IEV2ZW50RW1pdHRlcjxEYXRlPigpO1xuXG4gICAgLyoqXG4gICAgICogQGhpZGRlblxuICAgICAqL1xuICAgIEBPdXRwdXQoKVxuICAgIHB1YmxpYyBwcmV2aWV3UmFuZ2VEYXRlQ2hhbmdlID0gbmV3IEV2ZW50RW1pdHRlcjxhbnk+KCk7XG5cbiAgICAvKipcbiAgICAgKiBAaGlkZGVuXG4gICAgICovXG4gICAgQFZpZXdDaGlsZHJlbihJZ3hEYXlJdGVtQ29tcG9uZW50LCB7IHJlYWQ6IElneERheUl0ZW1Db21wb25lbnQgfSlcbiAgICBwdWJsaWMgZGF0ZXM6IFF1ZXJ5TGlzdDxJZ3hEYXlJdGVtQ29tcG9uZW50PjtcblxuICAgIHByaXZhdGUgX2FjdGl2ZURhdGU6IERhdGU7XG4gICAgcHJpdmF0ZSBfcHJldmlld1JhbmdlRGF0ZTogRGF0ZTtcbiAgICBwcml2YXRlIF9oaWRlTGVhZGluZ0RheXM6IGJvb2xlYW47XG4gICAgcHJpdmF0ZSBfaGlkZVRyYWlsaW5nRGF5czogYm9vbGVhbjtcbiAgICBwcml2YXRlIF9zaG93QWN0aXZlRGF5OiBib29sZWFuO1xuXG4gICAgLyoqXG4gICAgICogQGhpZGRlblxuICAgICAqL1xuICAgIGNvbnN0cnVjdG9yKFxuICAgICAgICBwbGF0Zm9ybTogUGxhdGZvcm1VdGlsLFxuICAgICAgICBASW5qZWN0KExPQ0FMRV9JRCkgX2xvY2FsZUlkOiBzdHJpbmcsXG4gICAgICAgIHByb3RlY3RlZCBlbDogRWxlbWVudFJlZixcbiAgICAgICAgcHVibGljIG92ZXJyaWRlIGNkcjogQ2hhbmdlRGV0ZWN0b3JSZWYsXG4gICAgKSB7XG4gICAgICAgIHN1cGVyKHBsYXRmb3JtLCBfbG9jYWxlSWQpO1xuICAgIH1cblxuICAgIC8qKlxuICAgICAqIEBoaWRkZW5cbiAgICAgKi9cbiAgICBwcml2YXRlIGhhbmRsZUFycm93S2V5ZG93bihldmVudDogS2V5Ym9hcmRFdmVudCwgZGVsdGE6IG51bWJlcikge1xuICAgICAgICBldmVudC5wcmV2ZW50RGVmYXVsdCgpO1xuICAgICAgICBldmVudC5zdG9wUHJvcGFnYXRpb24oKTtcblxuICAgICAgICBjb25zdCBkYXRlID0gZ2V0Q2xvc2VzdEFjdGl2ZURhdGUoXG4gICAgICAgICAgICBDYWxlbmRhckRheS5mcm9tKHRoaXMuYWN0aXZlRGF0ZSksXG4gICAgICAgICAgICBkZWx0YSxcbiAgICAgICAgICAgIHRoaXMuZGlzYWJsZWREYXRlcyxcbiAgICAgICAgKTtcblxuICAgICAgICBpZiAoIWFyZVNhbWVNb250aCh0aGlzLmFjdGl2ZURhdGUsIGRhdGUubmF0aXZlKSkge1xuICAgICAgICAgICAgdGhpcy5wYWdlQ2hhbmdlZC5lbWl0KHtcbiAgICAgICAgICAgICAgICBtb250aEFjdGlvbjogZGVsdGEgPiAwID8gU2Nyb2xsRGlyZWN0aW9uLk5FWFQgOiBTY3JvbGxEaXJlY3Rpb24uUFJFVixcbiAgICAgICAgICAgICAgICBrZXk6IGV2ZW50LmtleSxcbiAgICAgICAgICAgICAgICBuZXh0RGF0ZTogZGF0ZS5uYXRpdmVcbiAgICAgICAgICAgIH0pO1xuICAgICAgICB9XG5cbiAgICAgICAgdGhpcy5hY3RpdmVEYXRlID0gZGF0ZS5uYXRpdmU7XG4gICAgICAgIHRoaXMudmlld0RhdGUgPSBkYXRlLm5hdGl2ZTtcbiAgICAgICAgdGhpcy5jbGVhclByZXZpZXdSYW5nZSgpO1xuICAgICAgICB0aGlzLmNoYW5nZVByZXZpZXdSYW5nZShkYXRlLm5hdGl2ZSk7XG4gICAgICAgIHRoaXMuY2RyLmRldGVjdENoYW5nZXMoKTtcbiAgICB9XG5cbiAgICAvKipcbiAgICAgKiBAaGlkZGVuXG4gICAgICovXG4gICAgQEhvc3RMaXN0ZW5lcigna2V5ZG93bi5hcnJvd3JpZ2h0JywgWyckZXZlbnQnXSlcbiAgICBwcm90ZWN0ZWQgb25BcnJvd1JpZ2h0KGV2ZW50OiBLZXlib2FyZEV2ZW50KSB7XG4gICAgICAgIHRoaXMuaGFuZGxlQXJyb3dLZXlkb3duKGV2ZW50LCAxKTtcbiAgICB9XG5cbiAgICAvKipcbiAgICAgKiBAaGlkZGVuXG4gICAgICovXG4gICAgQEhvc3RMaXN0ZW5lcigna2V5ZG93bi5hcnJvd2xlZnQnLCBbJyRldmVudCddKVxuICAgIHByb3RlY3RlZCBvbkFycm93TGVmdChldmVudDogS2V5Ym9hcmRFdmVudCkge1xuICAgICAgICB0aGlzLmhhbmRsZUFycm93S2V5ZG93bihldmVudCwgLTEpO1xuICAgIH1cblxuICAgIC8qKlxuICAgICAqIEBoaWRkZW5cbiAgICAgKi9cbiAgICBASG9zdExpc3RlbmVyKCdrZXlkb3duLmFycm93dXAnLCBbJyRldmVudCddKVxuICAgIHByb3RlY3RlZCBvbkFycm93VXAoZXZlbnQ6IEtleWJvYXJkRXZlbnQpIHtcbiAgICAgICAgdGhpcy5oYW5kbGVBcnJvd0tleWRvd24oZXZlbnQsIC03KTtcbiAgICB9XG5cbiAgICAvKipcbiAgICAgKiBAaGlkZGVuXG4gICAgICovXG4gICAgQEhvc3RMaXN0ZW5lcigna2V5ZG93bi5hcnJvd2Rvd24nLCBbJyRldmVudCddKVxuICAgIHByb3RlY3RlZCBvbkFycm93RG93bihldmVudDogS2V5Ym9hcmRFdmVudCkge1xuICAgICAgICB0aGlzLmhhbmRsZUFycm93S2V5ZG93bihldmVudCwgNyk7XG4gICAgfVxuXG4gICAgLyoqXG4gICAgICogQGhpZGRlblxuICAgICAqL1xuICAgIEBIb3N0TGlzdGVuZXIoJ2tleWRvd24uU3BhY2UnLCBbJyRldmVudCddKVxuICAgIEBIb3N0TGlzdGVuZXIoJ2tleWRvd24uZW50ZXInLCBbJyRldmVudCddKVxuICAgIHByb3RlY3RlZCBvbktleWRvd25FbnRlcihldmVudDogS2V5Ym9hcmRFdmVudCkge1xuICAgICAgICBldmVudC5zdG9wUHJvcGFnYXRpb24oKTtcbiAgICAgICAgdGhpcy5zZWxlY3RBY3RpdmVEYXRlKCk7XG4gICAgfVxuXG4gICAgLyoqXG4gICAgICogQGhpZGRlblxuICAgICAqL1xuICAgIEBIb3N0TGlzdGVuZXIoJ2tleWRvd24uaG9tZScsIFsnJGV2ZW50J10pXG4gICAgcHJvdGVjdGVkIG9uS2V5ZG93bkhvbWUoZXZlbnQ6IEtleWJvYXJkRXZlbnQpIHtcbiAgICAgICAgZXZlbnQucHJldmVudERlZmF1bHQoKTtcbiAgICAgICAgZXZlbnQuc3RvcFByb3BhZ2F0aW9uKCk7XG5cbiAgICAgICAgY29uc3QgZmlyc3QgPSBDYWxlbmRhckRheS5mcm9tKHRoaXMuYWN0aXZlRGF0ZSk7XG4gICAgICAgIHRoaXMuYWN0aXZlRGF0ZSA9IGdldE5leHRBY3RpdmVEYXRlKFxuICAgICAgICAgICAgZmlyc3Quc2V0KHsgZGF0ZTogMSB9KSxcbiAgICAgICAgICAgIHRoaXMuZGlzYWJsZWREYXRlcyxcbiAgICAgICAgKS5uYXRpdmU7XG4gICAgfVxuXG4gICAgLyoqXG4gICAgICogQGhpZGRlblxuICAgICAqL1xuICAgIEBIb3N0TGlzdGVuZXIoJ2tleWRvd24uZW5kJywgWyckZXZlbnQnXSlcbiAgICBwcm90ZWN0ZWQgb25LZXlkb3duRW5kKGV2ZW50OiBLZXlib2FyZEV2ZW50KSB7XG4gICAgICAgIGV2ZW50LnByZXZlbnREZWZhdWx0KCk7XG4gICAgICAgIGV2ZW50LnN0b3BQcm9wYWdhdGlvbigpO1xuXG4gICAgICAgIGNvbnN0IGxhc3QgPSBDYWxlbmRhckRheS5mcm9tKHRoaXMuYWN0aXZlRGF0ZSk7XG4gICAgICAgIHRoaXMuYWN0aXZlRGF0ZSA9IGdldFByZXZpb3VzQWN0aXZlRGF0ZShcbiAgICAgICAgICAgIGxhc3Quc2V0KHsgbW9udGg6IGxhc3QubW9udGggKyAxLCBkYXRlOiAwIH0pLFxuICAgICAgICAgICAgdGhpcy5kaXNhYmxlZERhdGVzLFxuICAgICAgICApLm5hdGl2ZTtcbiAgICB9XG5cbiAgICAvKipcbiAgICAgKiBAaGlkZGVuXG4gICAgICovXG4gICAgQEhvc3RMaXN0ZW5lcignZm9jdXMnKVxuICAgIHByb3RlY3RlZCBoYW5kbGVGb2N1cygpIHtcbiAgICAgICAgdGhpcy5fc2hvd0FjdGl2ZURheSA9IHRydWU7XG4gICAgICAgIHRoaXMuY2hhbmdlUHJldmlld1JhbmdlKHRoaXMuYWN0aXZlRGF0ZSk7XG4gICAgfVxuXG4gICAgLyoqXG4gICAgICogQGhpZGRlblxuICAgICAqL1xuICAgIEBIb3N0TGlzdGVuZXIoJ2JsdXInKVxuICAgIHByb3RlY3RlZCBoYW5kbGVCbHVyKCkge1xuICAgICAgICB0aGlzLl9zaG93QWN0aXZlRGF5ID0gZmFsc2U7XG4gICAgICAgIHRoaXMuY2xlYXJQcmV2aWV3UmFuZ2UoKTtcbiAgICB9XG5cbiAgICAvKipcbiAgICAgKiBAaGlkZGVuXG4gICAgICovXG4gICAgcHJvdGVjdGVkIGhhbmRsZURhdGVDbGljayhpdGVtOiBJZ3hEYXlJdGVtQ29tcG9uZW50KSB7XG4gICAgICAgIGNvbnN0IGRhdGUgPSBpdGVtLmRhdGUubmF0aXZlO1xuXG4gICAgICAgIGlmIChpdGVtLmlzUHJldmlvdXNNb250aCkge1xuICAgICAgICAgICAgdGhpcy5wYWdlQ2hhbmdlZC5lbWl0KHtcbiAgICAgICAgICAgICAgICBtb250aEFjdGlvbjogU2Nyb2xsRGlyZWN0aW9uLlBSRVYsXG4gICAgICAgICAgICAgICAga2V5OiAnJyxcbiAgICAgICAgICAgICAgICBuZXh0RGF0ZTogZGF0ZVxuICAgICAgICAgICAgfSk7XG4gICAgICAgIH1cblxuICAgICAgICBpZiAoaXRlbS5pc05leHRNb250aCkge1xuICAgICAgICAgICAgdGhpcy5wYWdlQ2hhbmdlZC5lbWl0KHtcbiAgICAgICAgICAgICAgICBtb250aEFjdGlvbjogU2Nyb2xsRGlyZWN0aW9uLk5FWFQsXG4gICAgICAgICAgICAgICAga2V5OiAnJyxcbiAgICAgICAgICAgICAgICBuZXh0RGF0ZTogZGF0ZVxuICAgICAgICAgICAgfSk7XG4gICAgICAgIH1cblxuICAgICAgICB0aGlzLmVsLm5hdGl2ZUVsZW1lbnQuZm9jdXMoKTtcbiAgICAgICAgdGhpcy5hY3RpdmVEYXRlID0gaXRlbS5kYXRlLm5hdGl2ZTtcbiAgICAgICAgdGhpcy5zZWxlY3RBY3RpdmVEYXRlKCk7XG4gICAgfVxuXG4gICAgcHJpdmF0ZSBzZWxlY3RBY3RpdmVEYXRlKCkge1xuICAgICAgICB0aGlzLnNlbGVjdERhdGUodGhpcy5hY3RpdmVEYXRlKTtcbiAgICAgICAgdGhpcy5kYXRlU2VsZWN0ZWQuZW1pdCh0aGlzLmFjdGl2ZURhdGUpO1xuICAgICAgICB0aGlzLnNlbGVjdGVkLmVtaXQodGhpcy5zZWxlY3RlZERhdGVzKTtcbiAgICAgICAgdGhpcy5jbGVhclByZXZpZXdSYW5nZSgpO1xuICAgIH1cblxuICAgIHByb3RlY3RlZCBnZXQgY2FsZW5kYXJNb250aCgpOiBDYWxlbmRhckRheVtdIHtcbiAgICAgICAgcmV0dXJuIEFycmF5LmZyb20oZ2VuZXJhdGVNb250aCh0aGlzLnZpZXdEYXRlLCB0aGlzLndlZWtTdGFydCkpO1xuICAgIH1cblxuICAgIHByb3RlY3RlZCBnZXQgbW9udGhXZWVrcygpOiBDYWxlbmRhckRheVtdW10ge1xuICAgICAgICByZXR1cm4gQXJyYXkuZnJvbShpbnRvQ2h1bmtzKHRoaXMuY2FsZW5kYXJNb250aCwgNykpO1xuICAgIH1cblxuICAgIC8qKlxuICAgICAqIFJldHVybnMgdGhlIHdlZWsgbnVtYmVyIGJ5IGRhdGVcbiAgICAgKlxuICAgICAqIEBoaWRkZW5cbiAgICAgKi9cbiAgICBwdWJsaWMgZ2V0V2Vla051bWJlcihkYXRlOiBDYWxlbmRhckRheSk6IG51bWJlciB7XG4gICAgICAgIHJldHVybiBkYXRlLndlZWs7XG4gICAgfVxuXG4gICAgLyoqXG4gICAgICogUmV0dXJucyB0aGUgbG9jYWxlIHJlcHJlc2VudGF0aW9uIG9mIHRoZSBkYXRlIGluIHRoZSBkYXlzIHZpZXcuXG4gICAgICpcbiAgICAgKiBAaGlkZGVuXG4gICAgICovXG4gICAgcHVibGljIGZvcm1hdHRlZERhdGUodmFsdWU6IERhdGUpOiBzdHJpbmcge1xuICAgICAgICBpZiAodGhpcy5mb3JtYXRWaWV3cy5kYXkpIHtcbiAgICAgICAgICAgIHJldHVybiB0aGlzLmZvcm1hdHRlckRheS5mb3JtYXQodmFsdWUpO1xuICAgICAgICB9XG5cbiAgICAgICAgcmV0dXJuIGAke3ZhbHVlLmdldERhdGUoKX1gO1xuICAgIH1cblxuICAgIC8qKlxuICAgICAqIEBoaWRkZW5cbiAgICAgKi9cbiAgICBwdWJsaWMgZ2V0IHdlZWtIZWFkZXJMYWJlbHMoKToge2xvbmc6IHN0cmluZywgZm9ybWF0dGVkOiBzdHJpbmd9W10ge1xuICAgICAgICBjb25zdCB3ZWVrZGF5cyA9IFtdO1xuICAgICAgICBjb25zdCByYXdGb3JtYXR0ZXIgPSBuZXcgSW50bC5EYXRlVGltZUZvcm1hdCh0aGlzLmxvY2FsZSwgeyB3ZWVrZGF5OiAnbG9uZycgfSk7XG5cbiAgICAgICAgZm9yIChjb25zdCBkYXkgb2YgdGhpcy5tb250aFdlZWtzLmF0KDApKSB7XG4gICAgICAgICAgICB3ZWVrZGF5cy5wdXNoKHtcbiAgICAgICAgICAgICAgICBsb25nOiByYXdGb3JtYXR0ZXIuZm9ybWF0KGRheS5uYXRpdmUpLFxuICAgICAgICAgICAgICAgIGZvcm1hdHRlZDogdGhpcy5mb3JtYXR0ZXJXZWVrZGF5LmZvcm1hdChkYXkubmF0aXZlKVxuICAgICAgICAgICAgfSk7XG4gICAgICAgIH1cblxuICAgICAgICByZXR1cm4gd2Vla2RheXM7XG4gICAgfVxuXG4gICAgLyoqXG4gICAgICogQGhpZGRlblxuICAgICAqL1xuICAgIHB1YmxpYyByb3dUcmFja2VyKGluZGV4OiBudW1iZXIsIGl0ZW06IENhbGVuZGFyRGF5W10pOiBzdHJpbmcge1xuICAgICAgICByZXR1cm4gYCR7aXRlbVtpbmRleF0ubW9udGh9JHtpdGVtW2luZGV4XS5kYXRlfWA7XG4gICAgfVxuXG4gICAgLyoqXG4gICAgICogQGhpZGRlblxuICAgICAqL1xuICAgIHB1YmxpYyBkYXRlVHJhY2tlcihfOiBudW1iZXIsIGl0ZW06IENhbGVuZGFyRGF5KTogc3RyaW5nIHtcbiAgICAgICAgcmV0dXJuIGAke2l0ZW0ubW9udGh9LS0ke2l0ZW0uZGF0ZX1gO1xuICAgIH1cblxuICAgIC8qKlxuICAgICAqIEBoaWRkZW5cbiAgICAgKi9cbiAgICBwdWJsaWMgaXNTZWxlY3RlZChkYXRlOiBDYWxlbmRhckRheSk6IGJvb2xlYW4ge1xuICAgICAgICBjb25zdCBkYXRlcyA9IHRoaXMudmFsdWUgYXMgRGF0ZVtdO1xuICAgICAgICBjb25zdCBoYXNWYWx1ZSA9IHRoaXMudmFsdWUgfHwgKEFycmF5LmlzQXJyYXkodGhpcy52YWx1ZSkgJiYgdGhpcy52YWx1ZS5sZW5ndGggPT09IDEpO1xuXG4gICAgICAgIGlmIChpc0RhdGVJblJhbmdlcyhkYXRlLCB0aGlzLmRpc2FibGVkRGF0ZXMpKSB7XG4gICAgICAgICAgICByZXR1cm4gZmFsc2U7XG4gICAgICAgIH1cblxuICAgICAgICBpZiAodGhpcy5zZWxlY3Rpb24gPT09IENhbGVuZGFyU2VsZWN0aW9uLlNJTkdMRSkge1xuICAgICAgICAgICAgcmV0dXJuICEhdGhpcy52YWx1ZSAmJiBkYXRlLmVxdWFsVG8odGhpcy52YWx1ZSBhcyBEYXRlKTtcbiAgICAgICAgfVxuXG4gICAgICAgIGlmICghaGFzVmFsdWUpIHtcbiAgICAgICAgICAgIHJldHVybiBmYWxzZTtcbiAgICAgICAgfVxuXG4gICAgICAgIGlmICh0aGlzLnNlbGVjdGlvbiA9PT0gQ2FsZW5kYXJTZWxlY3Rpb24uTVVMVEkgJiYgZGF0ZXMubGVuZ3RoID4gMCkge1xuICAgICAgICAgICAgcmV0dXJuIGlzRGF0ZUluUmFuZ2VzKGRhdGUsIFtcbiAgICAgICAgICAgICAgICB7XG4gICAgICAgICAgICAgICAgICAgIHR5cGU6IERhdGVSYW5nZVR5cGUuU3BlY2lmaWMsXG4gICAgICAgICAgICAgICAgICAgIGRhdGVSYW5nZTogZGF0ZXMsXG4gICAgICAgICAgICAgICAgfSxcbiAgICAgICAgICAgIF0pO1xuICAgICAgICB9XG5cbiAgICAgICAgaWYgKHRoaXMuc2VsZWN0aW9uID09PSBDYWxlbmRhclNlbGVjdGlvbi5SQU5HRSAmJiBkYXRlcy5sZW5ndGggPiAwKSB7XG4gICAgICAgICAgICByZXR1cm4gaXNEYXRlSW5SYW5nZXMoZGF0ZSwgW1xuICAgICAgICAgICAgICAgIHtcbiAgICAgICAgICAgICAgICAgICAgdHlwZTogRGF0ZVJhbmdlVHlwZS5CZXR3ZWVuLFxuICAgICAgICAgICAgICAgICAgICBkYXRlUmFuZ2U6IFtkYXRlcy5hdCgwKSwgZGF0ZXMuYXQoLTEpXSxcbiAgICAgICAgICAgICAgICB9LFxuICAgICAgICAgICAgXSk7XG4gICAgICAgIH1cbiAgICB9XG5cbiAgICAvKipcbiAgICAgKiBAaGlkZGVuXG4gICAgICovXG4gICAgcHJvdGVjdGVkIGlzRmlyc3RJblJhbmdlKGRhdGU6IENhbGVuZGFyRGF5KTogYm9vbGVhbiB7XG4gICAgICAgIGNvbnN0IGRhdGVzID0gdGhpcy5zZWxlY3RlZERhdGVzO1xuXG4gICAgICAgIGlmICh0aGlzLmlzU2luZ2xlU2VsZWN0aW9uIHx8IGRhdGVzLmxlbmd0aCA9PT0gMCkge1xuICAgICAgICAgICAgcmV0dXJuIGZhbHNlO1xuICAgICAgICB9XG5cbiAgICAgICAgbGV0IHRhcmdldCA9IGRhdGVzLmF0KDApO1xuXG4gICAgICAgIGlmICh0aGlzLnByZXZpZXdSYW5nZURhdGUgJiYgdGhpcy5wcmV2aWV3UmFuZ2VEYXRlIDwgdGFyZ2V0KSB7XG4gICAgICAgICAgICB0YXJnZXQgPSB0aGlzLnByZXZpZXdSYW5nZURhdGU7XG4gICAgICAgIH1cblxuICAgICAgICByZXR1cm4gZGF0ZS5lcXVhbFRvKHRhcmdldCk7XG4gICAgfVxuXG4gICAgLyoqXG4gICAgICogQGhpZGRlblxuICAgICAqL1xuICAgIHByb3RlY3RlZCBpc0xhc3RJblJhbmdlKGRhdGU6IENhbGVuZGFyRGF5KTogYm9vbGVhbiB7XG4gICAgICAgIGNvbnN0IGRhdGVzID0gdGhpcy5zZWxlY3RlZERhdGVzO1xuXG4gICAgICAgIGlmICh0aGlzLmlzU2luZ2xlU2VsZWN0aW9uIHx8IGRhdGVzLmxlbmd0aCA9PT0gMCkge1xuICAgICAgICAgICAgcmV0dXJuIGZhbHNlO1xuICAgICAgICB9XG5cbiAgICAgICAgbGV0IHRhcmdldCA9IGRhdGVzLmF0KC0xKTtcblxuICAgICAgICBpZiAodGhpcy5wcmV2aWV3UmFuZ2VEYXRlICYmIHRoaXMucHJldmlld1JhbmdlRGF0ZSA+IHRhcmdldCkge1xuICAgICAgICAgICAgdGFyZ2V0ID0gdGhpcy5wcmV2aWV3UmFuZ2VEYXRlO1xuICAgICAgICB9XG5cbiAgICAgICAgcmV0dXJuIGRhdGUuZXF1YWxUbyh0YXJnZXQpO1xuICAgIH1cblxuICAgIC8qKlxuICAgICAqIEBoaWRkZW5cbiAgICAgKi9cbiAgICBwcm90ZWN0ZWQgaXNBY3RpdmVEYXRlKGRheTogQ2FsZW5kYXJEYXkpOiBib29sZWFuIHtcbiAgICAgICAgcmV0dXJuIHRoaXMuX3Nob3dBY3RpdmVEYXkgJiYgZGF5LmVxdWFsVG8odGhpcy5hY3RpdmVEYXRlKTtcbiAgICB9XG5cbiAgICAvKipcbiAgICAgKiBAaGlkZGVuXG4gICAgICovXG4gICAgcHJvdGVjdGVkIGlzV2l0aGluUmFuZ2UoZGF0ZTogRGF0ZSwgY2hlY2tGb3JSYW5nZTogYm9vbGVhbiwgbWluPzogRGF0ZSwgbWF4PzogRGF0ZSk6IGJvb2xlYW4ge1xuICAgICAgICBjb25zdCBkYXRlcyA9IHRoaXMuc2VsZWN0ZWREYXRlcztcblxuICAgICAgICBpZiAoY2hlY2tGb3JSYW5nZSAmJiAhKEFycmF5LmlzQXJyYXkoZGF0ZXMpICYmIGRhdGVzLmxlbmd0aCA+IDEpKSB7XG4gICAgICAgICAgICByZXR1cm4gZmFsc2U7XG4gICAgICAgIH1cblxuICAgICAgICBtaW4gPSBtaW4gPyBtaW4gOiBkYXRlcy5hdCgwKTtcbiAgICAgICAgbWF4ID0gbWF4ID8gbWF4IDogZGF0ZXMuYXQoLTEpO1xuXG4gICAgICAgIHJldHVybiBpc0RhdGVJblJhbmdlcyhkYXRlLFxuICAgICAgICAgICAgW1xuICAgICAgICAgICAgICAgIHtcbiAgICAgICAgICAgICAgICAgICAgdHlwZTogRGF0ZVJhbmdlVHlwZS5CZXR3ZWVuLFxuICAgICAgICAgICAgICAgICAgICBkYXRlUmFuZ2U6IFttaW4sIG1heF1cbiAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICBdXG4gICAgICAgICk7XG4gICAgfVxuXG4gICAgcHJvdGVjdGVkIGlzV2l0aGluUHJldmlld1JhbmdlKGRhdGU6IERhdGUpOiBib29sZWFuIHtcbiAgICAgICAgaWYgKHRoaXMuc2VsZWN0aW9uICE9PSAncmFuZ2UnKSByZXR1cm4gZmFsc2U7XG5cbiAgICAgICAgY29uc3QgZGF0ZXMgPSB0aGlzLnNlbGVjdGVkRGF0ZXM7XG5cbiAgICAgICAgaWYgKCEoZGF0ZXMubGVuZ3RoID4gMCAmJiB0aGlzLnByZXZpZXdSYW5nZURhdGUpKSB7XG4gICAgICAgICAgICByZXR1cm4gZmFsc2U7XG4gICAgICAgIH1cblxuICAgICAgICByZXR1cm4gaXNEYXRlSW5SYW5nZXMoZGF0ZSwgW1xuICAgICAgICAgIHtcbiAgICAgICAgICAgIHR5cGU6IERhdGVSYW5nZVR5cGUuQmV0d2VlbixcbiAgICAgICAgICAgIGRhdGVSYW5nZTogW2RhdGVzLmF0KDApLCB0aGlzLnByZXZpZXdSYW5nZURhdGVdLFxuICAgICAgICAgIH0sXG4gICAgICAgIF0pO1xuICAgIH1cblxuICAgIC8qKlxuICAgICAqIEBoaWRkZW5cbiAgICAgKi9cbiAgICBwcml2YXRlIGdldCBpc1NpbmdsZVNlbGVjdGlvbigpOiBib29sZWFuIHtcbiAgICAgICAgcmV0dXJuIHRoaXMuc2VsZWN0aW9uICE9PSBDYWxlbmRhclNlbGVjdGlvbi5SQU5HRTtcbiAgICB9XG5cbiAgICAvKipcbiAgICAgKiBAaGlkZGVuIEBpbnRlcm5hbFxuICAgICAqL1xuICAgIHB1YmxpYyBjaGFuZ2VQcmV2aWV3UmFuZ2UoZGF0ZTogRGF0ZSkge1xuICAgICAgICBjb25zdCBkYXRlcyA9IHRoaXMudmFsdWUgYXMgRGF0ZVtdO1xuXG4gICAgICAgIGlmICh0aGlzLnNlbGVjdGlvbiA9PT0gJ3JhbmdlJyAmJiBkYXRlcy5sZW5ndGggPT09IDEpIHtcbiAgICAgICAgICAgIGNvbnN0IGZpcnN0ID0gQ2FsZW5kYXJEYXkuZnJvbShkYXRlcy5hdCgwKSk7XG5cbiAgICAgICAgICAgIGlmICghZmlyc3QuZXF1YWxUbyhkYXRlKSkge1xuICAgICAgICAgICAgICB0aGlzLnNldFByZXZpZXdSYW5nZURhdGUoZGF0ZSk7XG4gICAgICAgICAgICB9XG4gICAgICAgIH1cbiAgICB9XG5cbiAgICAvKipcbiAgICAgKiBAaGlkZGVuIEBpbnRlcm5hbFxuICAgICAqL1xuICAgIHB1YmxpYyBjbGVhclByZXZpZXdSYW5nZSgpIHtcbiAgICAgICAgaWYgKHRoaXMucHJldmlld1JhbmdlRGF0ZSkge1xuICAgICAgICAgICAgdGhpcy5zZXRQcmV2aWV3UmFuZ2VEYXRlKHVuZGVmaW5lZCk7XG4gICAgICAgIH1cbiAgICB9XG5cbiAgICBwcml2YXRlIHNldFByZXZpZXdSYW5nZURhdGUodmFsdWU/OiBEYXRlKSB7XG4gICAgICAgIHRoaXMucHJldmlld1JhbmdlRGF0ZSA9IHZhbHVlO1xuICAgIH1cbn1cbiIsIjxkaXYgcm9sZT1cInJvd1wiIGNsYXNzPVwiaWd4LWRheXMtdmlld19fcm93XCI+XG4gICAgPGRpdlxuICAgICAgICByb2xlPVwiY29sdW1uaGVhZGVyXCJcbiAgICAgICAgKm5nSWY9XCJzaG93V2Vla051bWJlcnNcIlxuICAgICAgICBjbGFzcz1cImlneC1kYXlzLXZpZXdfX2xhYmVsIGlneC1kYXlzLXZpZXdfX2xhYmVsLS13ZWVrLW51bWJlclwiXG4gICAgPlxuICAgICAgICA8c3Bhbj5Xazwvc3Bhbj5cbiAgICA8L2Rpdj5cbiAgICA8c3BhblxuICAgICAgICByb2xlPVwiY29sdW1uaGVhZGVyXCJcbiAgICAgICAgW2F0dHIuYXJpYS1sYWJlbF09XCJkYXlOYW1lLmxvbmdcIlxuICAgICAgICAqbmdGb3I9XCJsZXQgZGF5TmFtZSBvZiB3ZWVrSGVhZGVyTGFiZWxzXCJcbiAgICAgICAgY2xhc3M9XCJpZ3gtZGF5cy12aWV3X19sYWJlbFwiXG4gICAgPlxuICAgICAgICA8c3BhbiBjbGFzcz1cImlneC1kYXlzLXZpZXdfX2xhYmVsLWlubmVyXCI+XG4gICAgICAgICAgICB7eyBkYXlOYW1lLmZvcm1hdHRlZCB8IHRpdGxlY2FzZSB9fVxuICAgICAgICA8L3NwYW4+XG4gICAgPC9zcGFuPlxuPC9kaXY+XG5cbjxkaXZcbiAgICAqbmdGb3I9XCJcbiAgICAgICAgbGV0IHdlZWsgb2YgbW9udGhXZWVrcztcbiAgICAgICAgbGFzdCBhcyBpc0xhc3Q7XG4gICAgICAgIGluZGV4IGFzIGk7XG4gICAgICAgIHRyYWNrQnk6IHJvd1RyYWNrZXJcbiAgICBcIlxuICAgIGNsYXNzPVwiaWd4LWRheXMtdmlld19fcm93XCJcbiAgICByb2xlPVwicm93XCJcbj5cbiAgICA8ZGl2XG4gICAgICAgICpuZ0lmPVwic2hvd1dlZWtOdW1iZXJzXCJcbiAgICAgICAgY2xhc3M9XCJpZ3gtZGF5cy12aWV3X19kYXRlIGlneC1kYXlzLXZpZXdfX2RhdGUtLXdlZWstbnVtYmVyXCJcbiAgICA+XG4gICAgICAgIDxzcGFuXG4gICAgICAgICAgICByb2xlPVwicm93aGVhZGVyXCJcbiAgICAgICAgICAgIGNsYXNzPVwiaWd4LWRheXMtdmlld19fZGF0ZS1pbm5lciBpZ3gtZGF5cy12aWV3X19kYXRlLWlubmVyLS13ZWVrLW51bWJlclwiXG4gICAgICAgID5cbiAgICAgICAgICAgIHt7IGdldFdlZWtOdW1iZXIod2Vla1swXSkgfX1cbiAgICAgICAgPC9zcGFuPlxuICAgIDwvZGl2PlxuXG4gICAgPGlneC1kYXktaXRlbVxuICAgICAgICAjaXRlbVxuICAgICAgICAqbmdGb3I9XCJsZXQgZGF5IG9mIHdlZWs7IHRyYWNrQnk6IGRhdGVUcmFja2VyXCJcbiAgICAgICAgY2xhc3M9XCJpZ3gtZGF5cy12aWV3X19kYXRlXCJcbiAgICAgICAgcm9sZT1cImdyaWRjZWxsXCJcbiAgICAgICAgW2F0dHIuaWRdPVwiaXRlbS5pc0N1cnJlbnRNb250aCAmJiBkYXkudGltZXN0YW1wXCJcbiAgICAgICAgW2F0dHIuYXJpYS1zZWxlY3RlZF09XCJpc1NlbGVjdGVkKGRheSlcIlxuICAgICAgICBbYXR0ci5hcmlhLWRpc2FibGVkXT1cImlzRGF0ZURpc2FibGVkKGRheS5uYXRpdmUpXCJcbiAgICAgICAgW2F0dHIuYXJpYS1sYWJlbF09XCJcbiAgICAgICAgICAgIGlzRmlyc3RJblJhbmdlKGRheSlcbiAgICAgICAgICAgICAgICA/IGRheS5uYXRpdmUudG9EYXRlU3RyaW5nKCkgK1xuICAgICAgICAgICAgICAgICAgJywgJyArXG4gICAgICAgICAgICAgICAgICByZXNvdXJjZVN0cmluZ3MuaWd4X2NhbGVuZGFyX3JhbmdlX3N0YXJ0XG4gICAgICAgICAgICAgICAgOiBpc0xhc3RJblJhbmdlKGRheSlcbiAgICAgICAgICAgICAgICAgID8gZGF5Lm5hdGl2ZS50b0RhdGVTdHJpbmcoKSArXG4gICAgICAgICAgICAgICAgICAgICcsICcgK1xuICAgICAgICAgICAgICAgICAgICByZXNvdXJjZVN0cmluZ3MuaWd4X2NhbGVuZGFyX3JhbmdlX2VuZFxuICAgICAgICAgICAgICAgICAgOiBkYXkubmF0aXZlLnRvRGF0ZVN0cmluZygpXG4gICAgICAgIFwiXG4gICAgICAgIFtkYXRlXT1cImRheVwiXG4gICAgICAgIFt2aWV3RGF0ZV09XCJ2aWV3RGF0ZVwiXG4gICAgICAgIFtzZWxlY3Rpb25dPVwic2VsZWN0aW9uXCJcbiAgICAgICAgW3NlbGVjdGVkXT1cImlzU2VsZWN0ZWQoZGF5KVwiXG4gICAgICAgIFtpc0FjdGl2ZV09XCJpc0FjdGl2ZURhdGUoZGF5KVwiXG4gICAgICAgIFtpc0xhc3RJblJhbmdlXT1cImlzTGFzdEluUmFuZ2UoZGF5KVwiXG4gICAgICAgIFtpc0ZpcnN0SW5SYW5nZV09XCJpc0ZpcnN0SW5SYW5nZShkYXkpXCJcbiAgICAgICAgW2lzV2l0aGluUmFuZ2VdPVwiaXNXaXRoaW5SYW5nZShkYXkubmF0aXZlLCB0cnVlKVwiXG4gICAgICAgIFtpc1dpdGhpblByZXZpZXdSYW5nZV09XCJpc1dpdGhpblByZXZpZXdSYW5nZShkYXkubmF0aXZlKVwiXG4gICAgICAgIFtkaXNhYmxlZERhdGVzXT1cImRpc2FibGVkRGF0ZXNcIlxuICAgICAgICBbc3BlY2lhbERhdGVzXT1cInNwZWNpYWxEYXRlc1wiXG4gICAgICAgIFtoaWRlTGVhZGluZ0RheXNdPVwiaGlkZUxlYWRpbmdEYXlzXCJcbiAgICAgICAgW2hpZGVUcmFpbGluZ0RheXNdPVwiaGlkZVRyYWlsaW5nRGF5c1wiXG4gICAgICAgIFthdHRyLnRhYmluZGV4XT1cIi0xXCJcbiAgICAgICAgKG1vdXNlRG93bik9XCJoYW5kbGVEYXRlQ2xpY2soaXRlbSlcIlxuICAgICAgICAobW91c2VFbnRlcik9XCJjaGFuZ2VQcmV2aWV3UmFuZ2UoZGF5Lm5hdGl2ZSlcIlxuICAgICAgICAobW91c2VMZWF2ZSk9XCJjbGVhclByZXZpZXdSYW5nZSgpXCJcbiAgICA+XG4gICAgICAgIHt7IGZvcm1hdHRlZERhdGUoZGF5Lm5hdGl2ZSkgfX1cbiAgICA8L2lneC1kYXktaXRlbT5cbjwvZGl2PlxuIl19
|
|
505
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZGF5cy12aWV3LmNvbXBvbmVudC5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL2lnbml0ZXVpLWFuZ3VsYXIvc3JjL2xpYi9jYWxlbmRhci9kYXlzLXZpZXcvZGF5cy12aWV3LmNvbXBvbmVudC50cyIsIi4uLy4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL2lnbml0ZXVpLWFuZ3VsYXIvc3JjL2xpYi9jYWxlbmRhci9kYXlzLXZpZXcvZGF5cy12aWV3LmNvbXBvbmVudC5odG1sIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFDSCxTQUFTLEVBQ1QsTUFBTSxFQUNOLFlBQVksRUFDWixLQUFLLEVBQ0wsWUFBWSxFQUNaLFlBQVksRUFFWixXQUFXLEVBQ1gsTUFBTSxFQUNOLFNBQVMsRUFDVCxnQkFBZ0IsRUFHaEIsdUJBQXVCLEdBQzFCLE1BQU0sZUFBZSxDQUFDO0FBQ3ZCLE9BQU8sRUFBRSxpQkFBaUIsRUFBRSxNQUFNLGdCQUFnQixDQUFDO0FBQ25ELE9BQU8sRUFBRSxJQUFJLEVBQUUsS0FBSyxFQUFFLGFBQWEsRUFBRSxNQUFNLGlCQUFpQixDQUFDO0FBQzdELE9BQU8sRUFBRSxpQkFBaUIsRUFBbUIsTUFBTSx5QkFBeUIsQ0FBQztBQUM3RSxPQUFPLEVBQUUsbUJBQW1CLEVBQUUsTUFBTSxzQkFBc0IsQ0FBQztBQUMzRCxPQUFPLEVBQUUsYUFBYSxFQUFFLE1BQU0sa0JBQWtCLENBQUM7QUFDakQsT0FBTyxFQUFFLHdCQUF3QixFQUFFLE1BQU0sa0JBQWtCLENBQUM7QUFDNUQsT0FBTyxFQUFnQixVQUFVLEVBQUUsTUFBTSxrQkFBa0IsQ0FBQztBQUU1RCxPQUFPLEVBQ0gsWUFBWSxFQUNaLGFBQWEsRUFDYixvQkFBb0IsRUFDcEIsaUJBQWlCLEVBQ2pCLHFCQUFxQixFQUNyQixjQUFjLEdBQ2pCLE1BQU0sbUJBQW1CLENBQUM7QUFDM0IsT0FBTyxFQUFFLFdBQVcsRUFBRSxNQUFN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LG1CQUFtQixFQUFFLENBQUMsUUFBUSxDQUFDO2dCQVVuQyxjQUFjO3NCQUZ2QixZQUFZO3VCQUFDLGVBQWUsRUFBRSxDQUFDLFFBQVEsQ0FBQzs7c0JBQ3hDLFlBQVk7dUJBQUMsZUFBZSxFQUFFLENBQUMsUUFBUSxDQUFDO2dCQVUvQixhQUFhO3NCQUR0QixZQUFZO3VCQUFDLGNBQWMsRUFBRSxDQUFDLFFBQVEsQ0FBQztnQkFnQjlCLFlBQVk7c0JBRHJCLFlBQVk7dUJBQUMsYUFBYSxFQUFFLENBQUMsUUFBUSxDQUFDO2dCQWdCN0IsV0FBVztzQkFEcEIsWUFBWTt1QkFBQyxPQUFPO2dCQVVYLFVBQVU7c0JBRG5CLFlBQVk7dUJBQUMsTUFBTSIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7XG4gICAgQ29tcG9uZW50LFxuICAgIE91dHB1dCxcbiAgICBFdmVudEVtaXR0ZXIsXG4gICAgSW5wdXQsXG4gICAgSG9zdExpc3RlbmVyLFxuICAgIFZpZXdDaGlsZHJlbixcbiAgICBRdWVyeUxpc3QsXG4gICAgSG9zdEJpbmRpbmcsXG4gICAgSW5qZWN0LFxuICAgIExPQ0FMRV9JRCxcbiAgICBib29sZWFuQXR0cmlidXRlLFxuICAgIEVsZW1lbnRSZWYsXG4gICAgQ2hhbmdlRGV0ZWN0b3JSZWYsXG4gICAgQ2hhbmdlRGV0ZWN0aW9uU3RyYXRlZ3ksXG59IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xuaW1wb3J0IHsgTkdfVkFMVUVfQUNDRVNTT1IgfSBmcm9tICdAYW5ndWxhci9mb3Jtcyc7XG5pbXBvcnQgeyBOZ0lmLCBOZ0ZvciwgVGl0bGVDYXNlUGlwZSB9IGZyb20gJ0Bhbmd1bGFyL2NvbW1vbic7XG5pbXBvcnQgeyBDYWxlbmRhclNlbGVjdGlvbiwgU2Nyb2xsRGlyZWN0aW9uIH0gZnJvbSAnLi4vLi4vY2FsZW5kYXIvY2FsZW5kYXInO1xuaW1wb3J0IHsgSWd4RGF5SXRlbUNvbXBvbmVudCB9IGZyb20gJy4vZGF5LWl0ZW0uY29tcG9uZW50JztcbmltcG9ydCB7IERhdGVSYW5nZVR5cGUgfSBmcm9tICcuLi8uLi9jb3JlL2RhdGVzJztcbmltcG9ydCB7IElneENhbGVuZGFyQmFzZURpcmVjdGl2ZSB9IGZyb20gJy4uL2NhbGVuZGFyLWJhc2UnO1xuaW1wb3J0IHsgUGxhdGZvcm1VdGlsLCBpbnRvQ2h1bmtzIH0gZnJvbSAnLi4vLi4vY29yZS91dGlscyc7XG5pbXBvcnQgeyBJVmlld0NoYW5naW5nRXZlbnRBcmdzIH0gZnJvbSAnLi9kYXlzLXZpZXcuaW50ZXJmYWNlJztcbmltcG9ydCB7XG4gICAgYXJlU2FtZU1vbnRoLFxuICAgIGdlbmVyYXRlTW9udGgsXG4gICAgZ2V0Q2xvc2VzdEFjdGl2ZURhdGUsXG4gICAgZ2V0TmV4dEFjdGl2ZURhdGUsXG4gICAgZ2V0UHJldmlvdXNBY3RpdmVEYXRlLFxuICAgIGlzRGF0ZUluUmFuZ2VzLFxufSBmcm9tIFwiLi4vY29tbW9uL2hlbHBlcnNcIjtcbmltcG9ydCB7IENhbGVuZGFyRGF5IH0gZnJvbSAnLi4vY29tbW9uL21vZGVsJztcblxubGV0IE5FWFRfSUQgPSAwO1xuXG5AQ29tcG9uZW50KHtcbiAgICBwcm92aWRlcnM6IFtcbiAgICAgICAge1xuICAgICAgICAgICAgbXVsdGk6IHRydWUsXG4gICAgICAgICAgICBwcm92aWRlOiBOR19WQUxVRV9BQ0NFU1NPUixcbiAgICAgICAgICAgIHVzZUV4aXN0aW5nOiBJZ3hEYXlzVmlld0NvbXBvbmVudFxuICAgICAgICB9LFxuICAgIF0sXG4gICAgc2VsZWN0b3I6ICdpZ3gtZGF5cy12aWV3JyxcbiAgICB0ZW1wbGF0ZVVybDogJ2RheXMtdmlldy5jb21wb25lbnQuaHRtbCcsXG4gICAgY2hhbmdlRGV0ZWN0aW9uOiBDaGFuZ2VEZXRlY3Rpb25TdHJhdGVneS5PblB1c2gsXG4gICAgc3RhbmRhbG9uZTogdHJ1ZSxcbiAgICBpbXBvcnRzOiBbTmdJZiwgTmdGb3IsIElneERheUl0ZW1Db21wb25lbnQsIFRpdGxlQ2FzZVBpcGVdXG59KVxuZXhwb3J0IGNsYXNzIElneERheXNWaWV3Q29tcG9uZW50IGV4dGVuZHMgSWd4Q2FsZW5kYXJCYXNlRGlyZWN0aXZlIHtcbiAgICAjc3RhbmRhbG9uZSA9IHRydWU7XG5cbiAgICAvKipcbiAgICAgKiBTZXRzL2dldHMgdGhlIGBpZGAgb2YgdGhlIGRheXMgdmlldy5cbiAgICAgKiBJZiBub3Qgc2V0LCB0aGUgYGlkYCB3aWxsIGhhdmUgdmFsdWUgYFwiaWd4LWRheXMtdmlldy0wXCJgLlxuICAgICAqIGBgYGh0bWxcbiAgICAgKiA8aWd4LWRheXMtdmlldyBpZD1cIm15LWRheXMtdmlld1wiPjwvaWd4LWRheXMtdmlldz5cbiAgICAgKiBgYGBcbiAgICAgKiBgYGB0eXBlc2NyaXB0XG4gICAgICogbGV0IGRheXNWaWV3SWQgPSB0aGlzLmRheXNWaWV3LmlkO1xuICAgICAqIGBgYFxuICAgICAqL1xuICAgIEBIb3N0QmluZGluZygnYXR0ci5pZCcpXG4gICAgQElucHV0KClcbiAgICBwdWJsaWMgaWQgPSBgaWd4LWRheXMtdmlldy0ke05FWFRfSUQrK31gO1xuXG4gICAgQEhvc3RCaW5kaW5nKCdhdHRyLnRhYkluZGV4JylcbiAgICBASW5wdXQoKVxuICAgIHB1YmxpYyB0YWJJbmRleCA9IDA7XG5cbiAgICBASG9zdEJpbmRpbmcoJ2F0dHIucm9sZScpXG4gICAgQElucHV0KClcbiAgICBwdWJsaWMgcm9sZSA9ICdncmlkJztcblxuXHRASG9zdEJpbmRpbmcoJ2NsYXNzLmlneC1kYXlzLXZpZXcnKVxuXHRwdWJsaWMgcmVhZG9ubHkgdmlld0NsYXNzID0gdHJ1ZTtcblxuICAgIEBJbnB1dCgpXG5cdEBIb3N0QmluZGluZygnY2xhc3MuaWd4LWRheXMtdmlldy0tc3RhbmRhbG9uZScpXG5cdHB1YmxpYyBnZXQgc3RhbmRhbG9uZSgpIHtcbiAgICAgICAgcmV0dXJuIHRoaXMuI3N0YW5kYWxvbmU7XG4gICAgfVxuXG5cdHB1YmxpYyBzZXQgc3RhbmRhbG9uZSh2YWx1ZTogYm9vbGVhbikge1xuICAgICAgICB0aGlzLiNzdGFuZGFsb25lID0gdmFsdWU7XG4gICAgfVxuXG4gICAgQEhvc3RCaW5kaW5nKCdhdHRyLmFyaWEtYWN0aXZlRGVzY2VuZGFudCcpXG4gICAgcHJvdGVjdGVkIGdldCBhY3RpdmVEZXNjZW5kYW50KCkge1xuICAgICAgICBpZiAodGhpcy50YWJJbmRleCA9PT0gLTEpIHJldHVybjtcblxuICAgICAgICByZXR1cm4gdGhpcy5hY3RpdmVEYXRlLmdldFRpbWUoKTtcbiAgICB9XG5cbiAgICAvKipcbiAgICAgKiBTaG93L2hpZGUgd2VlayBudW1iZXJzXG4gICAgICpcbiAgICAgKiBAZXhhbXBsZVxuICAgICAqIGBgYGh0bWxcbiAgICAgKiA8aWd4LWRheXMtdmlldyBbc2hvd1dlZWtOdW1iZXJzXT1cInRydWVcIj48L2lneC1kYXlzLXZpZXc+XG4gICAgICogYGBcbiAgICAgKi9cbiAgICBASW5wdXQoeyB0cmFuc2Zvcm06IGJvb2xlYW5BdHRyaWJ1dGUgfSlcbiAgICBwdWJsaWMgc2hvd1dlZWtOdW1iZXJzOiBib29sZWFuO1xuXG4gICAgLyoqXG4gICAgICogQGhpZGRlblxuICAgICAqIEBpbnRlcm5hbFxuICAgICAqL1xuICAgIEBJbnB1dCgpXG4gICAgcHVibGljIHNldCBhY3RpdmVEYXRlKHZhbHVlOiBEYXRlKSB7XG4gICAgICAgIHRoaXMuX2FjdGl2ZURhdGUgPSB2YWx1ZTtcbiAgICAgICAgdGhpcy5jaGFuZ2VQcmV2aWV3UmFuZ2UodmFsdWUpO1xuICAgICAgICB0aGlzLmFjdGl2ZURhdGVDaGFuZ2UuZW1pdCh0aGlzLl9hY3RpdmVEYXRlKTtcbiAgICB9XG5cbiAgICBwdWJsaWMgZ2V0IGFjdGl2ZURhdGUoKTogRGF0ZSB7XG4gICAgICAgIHJldHVybiB0aGlzLl9hY3RpdmVEYXRlID8/IHRoaXMudmlld0RhdGU7XG4gICAgfVxuXG4gICAgLyoqXG4gICAgICogQGhpZGRlblxuICAgICAqIEBpbnRlcm5hbFxuICAgICAqL1xuICAgIEBJbnB1dCgpXG4gICAgcHVibGljIHNldCBwcmV2aWV3UmFuZ2VEYXRlKHZhbHVlOiBEYXRlKSB7XG4gICAgICAgIHRoaXMuX3ByZXZpZXdSYW5nZURhdGUgPSB2YWx1ZTtcbiAgICAgICAgdGhpcy5wcmV2aWV3UmFuZ2VEYXRlQ2hhbmdlLmVtaXQodmFsdWUpO1xuICAgIH1cblxuICAgIHB1YmxpYyBnZXQgcHJldmlld1JhbmdlRGF0ZSgpIHtcbiAgICAgICAgcmV0dXJuIHRoaXMuX3ByZXZpZXdSYW5nZURhdGU7XG4gICAgfVxuXG4gICAgQElucHV0KHsgdHJhbnNmb3JtOiBib29sZWFuQXR0cmlidXRlIH0pXG4gICAgcHVibGljIHNldCBoaWRlTGVhZGluZ0RheXModmFsdWU6IGJvb2xlYW4pIHtcbiAgICAgICAgdGhpcy5faGlkZUxlYWRpbmdEYXlzID0gdmFsdWU7XG4gICAgICAgIHRoaXMuY2RyLmRldGVjdENoYW5nZXMoKTtcbiAgICB9XG5cbiAgICBwdWJsaWMgZ2V0IGhpZGVMZWFkaW5nRGF5cygpIHtcbiAgICAgICAgcmV0dXJuIHRoaXMuX2hpZGVMZWFkaW5nRGF5cyA/PyB0aGlzLmhpZGVPdXRzaWRlRGF5cztcbiAgICB9XG5cbiAgICBASW5wdXQoeyB0cmFuc2Zvcm06IGJvb2xlYW5BdHRyaWJ1dGUgfSlcbiAgICBwdWJsaWMgc2V0IGhpZGVUcmFpbGluZ0RheXModmFsdWU6IGJvb2xlYW4pIHtcbiAgICAgICAgdGhpcy5faGlkZVRyYWlsaW5nRGF5cyA9IHZhbHVlO1xuICAgICAgICB0aGlzLmNkci5kZXRlY3RDaGFuZ2VzKCk7XG4gICAgfVxuXG4gICAgcHVibGljIGdldCBoaWRlVHJhaWxpbmdEYXlzKCkge1xuICAgICAgICByZXR1cm4gdGhpcy5faGlkZVRyYWlsaW5nRGF5cyA/PyB0aGlzLmhpZGVPdXRzaWRlRGF5cztcbiAgICB9XG5cbiAgICBASW5wdXQoeyB0cmFuc2Zvcm06IGJvb2xlYW5BdHRyaWJ1dGUgfSlcbiAgICBwdWJsaWMgc2V0IHNob3dBY3RpdmVEYXkodmFsdWU6IGJvb2xlYW4pIHtcbiAgICAgICAgdGhpcy5fc2hvd0FjdGl2ZURheSA9IHZhbHVlO1xuICAgIH1cblxuICAgIHB1YmxpYyBnZXQgc2hvd0FjdGl2ZURheSgpIHtcbiAgICAgICAgcmV0dXJuIHRoaXMuX3Nob3dBY3RpdmVEYXk7XG4gICAgfVxuXG4gICAgLyoqXG4gICAgICogQGhpZGRlblxuICAgICAqL1xuICAgIEBPdXRwdXQoKVxuICAgIHB1YmxpYyBkYXRlU2VsZWN0ZWQgPSBuZXcgRXZlbnRFbWl0dGVyPERhdGU+KCk7XG5cbiAgICAvKipcbiAgICAgKiBAaGlkZGVuXG4gICAgICovXG4gICAgQE91dHB1dCgpXG4gICAgcHVibGljIHBhZ2VDaGFuZ2VkID0gbmV3IEV2ZW50RW1pdHRlcjxJVmlld0NoYW5naW5nRXZlbnRBcmdzPigpO1xuXG4gICAgLyoqXG4gICAgICogQGhpZGRlblxuICAgICAqL1xuICAgIEBPdXRwdXQoKVxuICAgIHB1YmxpYyBhY3RpdmVEYXRlQ2hhbmdlID0gbmV3IEV2ZW50RW1pdHRlcjxEYXRlPigpO1xuXG4gICAgLyoqXG4gICAgICogQGhpZGRlblxuICAgICAqL1xuICAgIEBPdXRwdXQoKVxuICAgIHB1YmxpYyBwcmV2aWV3UmFuZ2VEYXRlQ2hhbmdlID0gbmV3IEV2ZW50RW1pdHRlcjxhbnk+KCk7XG5cbiAgICAvKipcbiAgICAgKiBAaGlkZGVuXG4gICAgICovXG4gICAgQFZpZXdDaGlsZHJlbihJZ3hEYXlJdGVtQ29tcG9uZW50LCB7IHJlYWQ6IElneERheUl0ZW1Db21wb25lbnQgfSlcbiAgICBwdWJsaWMgZGF0ZXM6IFF1ZXJ5TGlzdDxJZ3hEYXlJdGVtQ29tcG9uZW50PjtcblxuICAgIHByaXZhdGUgX2FjdGl2ZURhdGU6IERhdGU7XG4gICAgcHJpdmF0ZSBfcHJldmlld1JhbmdlRGF0ZTogRGF0ZTtcbiAgICBwcml2YXRlIF9oaWRlTGVhZGluZ0RheXM6IGJvb2xlYW47XG4gICAgcHJpdmF0ZSBfaGlkZVRyYWlsaW5nRGF5czogYm9vbGVhbjtcbiAgICBwcml2YXRlIF9zaG93QWN0aXZlRGF5OiBib29sZWFuO1xuXG4gICAgLyoqXG4gICAgICogQGhpZGRlblxuICAgICAqL1xuICAgIGNvbnN0cnVjdG9yKFxuICAgICAgICBwbGF0Zm9ybTogUGxhdGZvcm1VdGlsLFxuICAgICAgICBASW5qZWN0KExPQ0FMRV9JRCkgX2xvY2FsZUlkOiBzdHJpbmcsXG4gICAgICAgIHByb3RlY3RlZCBlbDogRWxlbWVudFJlZixcbiAgICAgICAgcHVibGljIG92ZXJyaWRlIGNkcjogQ2hhbmdlRGV0ZWN0b3JSZWYsXG4gICAgKSB7XG4gICAgICAgIHN1cGVyKHBsYXRmb3JtLCBfbG9jYWxlSWQpO1xuICAgIH1cblxuICAgIC8qKlxuICAgICAqIEBoaWRkZW5cbiAgICAgKi9cbiAgICBwcml2YXRlIGhhbmRsZUFycm93S2V5ZG93bihldmVudDogS2V5Ym9hcmRFdmVudCwgZGVsdGE6IG51bWJlcikge1xuICAgICAgICBldmVudC5wcmV2ZW50RGVmYXVsdCgpO1xuICAgICAgICBldmVudC5zdG9wUHJvcGFnYXRpb24oKTtcblxuICAgICAgICBjb25zdCBkYXRlID0gZ2V0Q2xvc2VzdEFjdGl2ZURhdGUoXG4gICAgICAgICAgICBDYWxlbmRhckRheS5mcm9tKHRoaXMuYWN0aXZlRGF0ZSksXG4gICAgICAgICAgICBkZWx0YSxcbiAgICAgICAgICAgIHRoaXMuZGlzYWJsZWREYXRlcyxcbiAgICAgICAgKTtcblxuICAgICAgICBpZiAoIWFyZVNhbWVNb250aCh0aGlzLmFjdGl2ZURhdGUsIGRhdGUubmF0aXZlKSkge1xuICAgICAgICAgICAgdGhpcy5wYWdlQ2hhbmdlZC5lbWl0KHtcbiAgICAgICAgICAgICAgICBtb250aEFjdGlvbjogZGVsdGEgPiAwID8gU2Nyb2xsRGlyZWN0aW9uLk5FWFQgOiBTY3JvbGxEaXJlY3Rpb24uUFJFVixcbiAgICAgICAgICAgICAgICBrZXk6IGV2ZW50LmtleSxcbiAgICAgICAgICAgICAgICBuZXh0RGF0ZTogZGF0ZS5uYXRpdmVcbiAgICAgICAgICAgIH0pO1xuICAgICAgICB9XG5cbiAgICAgICAgdGhpcy5hY3RpdmVEYXRlID0gZGF0ZS5uYXRpdmU7XG4gICAgICAgIHRoaXMudmlld0RhdGUgPSBkYXRlLm5hdGl2ZTtcbiAgICAgICAgdGhpcy5jbGVhclByZXZpZXdSYW5nZSgpO1xuICAgICAgICB0aGlzLmNoYW5nZVByZXZpZXdSYW5nZShkYXRlLm5hdGl2ZSk7XG4gICAgICAgIHRoaXMuY2RyLmRldGVjdENoYW5nZXMoKTtcbiAgICB9XG5cbiAgICAvKipcbiAgICAgKiBAaGlkZGVuXG4gICAgICovXG4gICAgQEhvc3RMaXN0ZW5lcigna2V5ZG93bi5hcnJvd3JpZ2h0JywgWyckZXZlbnQnXSlcbiAgICBwcm90ZWN0ZWQgb25BcnJvd1JpZ2h0KGV2ZW50OiBLZXlib2FyZEV2ZW50KSB7XG4gICAgICAgIHRoaXMuaGFuZGxlQXJyb3dLZXlkb3duKGV2ZW50LCAxKTtcbiAgICB9XG5cbiAgICAvKipcbiAgICAgKiBAaGlkZGVuXG4gICAgICovXG4gICAgQEhvc3RMaXN0ZW5lcigna2V5ZG93bi5hcnJvd2xlZnQnLCBbJyRldmVudCddKVxuICAgIHByb3RlY3RlZCBvbkFycm93TGVmdChldmVudDogS2V5Ym9hcmRFdmVudCkge1xuICAgICAgICB0aGlzLmhhbmRsZUFycm93S2V5ZG93bihldmVudCwgLTEpO1xuICAgIH1cblxuICAgIC8qKlxuICAgICAqIEBoaWRkZW5cbiAgICAgKi9cbiAgICBASG9zdExpc3RlbmVyKCdrZXlkb3duLmFycm93dXAnLCBbJyRldmVudCddKVxuICAgIHByb3RlY3RlZCBvbkFycm93VXAoZXZlbnQ6IEtleWJvYXJkRXZlbnQpIHtcbiAgICAgICAgdGhpcy5oYW5kbGVBcnJvd0tleWRvd24oZXZlbnQsIC03KTtcbiAgICB9XG5cbiAgICAvKipcbiAgICAgKiBAaGlkZGVuXG4gICAgICovXG4gICAgQEhvc3RMaXN0ZW5lcigna2V5ZG93bi5hcnJvd2Rvd24nLCBbJyRldmVudCddKVxuICAgIHByb3RlY3RlZCBvbkFycm93RG93bihldmVudDogS2V5Ym9hcmRFdmVudCkge1xuICAgICAgICB0aGlzLmhhbmRsZUFycm93S2V5ZG93bihldmVudCwgNyk7XG4gICAgfVxuXG4gICAgLyoqXG4gICAgICogQGhpZGRlblxuICAgICAqL1xuICAgIEBIb3N0TGlzdGVuZXIoJ2tleWRvd24uU3BhY2UnLCBbJyRldmVudCddKVxuICAgIEBIb3N0TGlzdGVuZXIoJ2tleWRvd24uZW50ZXInLCBbJyRldmVudCddKVxuICAgIHByb3RlY3RlZCBvbktleWRvd25FbnRlcihldmVudDogS2V5Ym9hcmRFdmVudCkge1xuICAgICAgICBldmVudC5zdG9wUHJvcGFnYXRpb24oKTtcbiAgICAgICAgdGhpcy5zZWxlY3RBY3RpdmVEYXRlKCk7XG4gICAgfVxuXG4gICAgLyoqXG4gICAgICogQGhpZGRlblxuICAgICAqL1xuICAgIEBIb3N0TGlzdGVuZXIoJ2tleWRvd24uaG9tZScsIFsnJGV2ZW50J10pXG4gICAgcHJvdGVjdGVkIG9uS2V5ZG93bkhvbWUoZXZlbnQ6IEtleWJvYXJkRXZlbnQpIHtcbiAgICAgICAgZXZlbnQucHJldmVudERlZmF1bHQoKTtcbiAgICAgICAgZXZlbnQuc3RvcFByb3BhZ2F0aW9uKCk7XG5cbiAgICAgICAgY29uc3QgZmlyc3QgPSBDYWxlbmRhckRheS5mcm9tKHRoaXMuYWN0aXZlRGF0ZSk7XG4gICAgICAgIHRoaXMuYWN0aXZlRGF0ZSA9IGdldE5leHRBY3RpdmVEYXRlKFxuICAgICAgICAgICAgZmlyc3Quc2V0KHsgZGF0ZTogMSB9KSxcbiAgICAgICAgICAgIHRoaXMuZGlzYWJsZWREYXRlcyxcbiAgICAgICAgKS5uYXRpdmU7XG4gICAgfVxuXG4gICAgLyoqXG4gICAgICogQGhpZGRlblxuICAgICAqL1xuICAgIEBIb3N0TGlzdGVuZXIoJ2tleWRvd24uZW5kJywgWyckZXZlbnQnXSlcbiAgICBwcm90ZWN0ZWQgb25LZXlkb3duRW5kKGV2ZW50OiBLZXlib2FyZEV2ZW50KSB7XG4gICAgICAgIGV2ZW50LnByZXZlbnREZWZhdWx0KCk7XG4gICAgICAgIGV2ZW50LnN0b3BQcm9wYWdhdGlvbigpO1xuXG4gICAgICAgIGNvbnN0IGxhc3QgPSBDYWxlbmRhckRheS5mcm9tKHRoaXMuYWN0aXZlRGF0ZSk7XG4gICAgICAgIHRoaXMuYWN0aXZlRGF0ZSA9IGdldFByZXZpb3VzQWN0aXZlRGF0ZShcbiAgICAgICAgICAgIGxhc3Quc2V0KHsgbW9udGg6IGxhc3QubW9udGggKyAxLCBkYXRlOiAwIH0pLFxuICAgICAgICAgICAgdGhpcy5kaXNhYmxlZERhdGVzLFxuICAgICAgICApLm5hdGl2ZTtcbiAgICB9XG5cbiAgICAvKipcbiAgICAgKiBAaGlkZGVuXG4gICAgICovXG4gICAgQEhvc3RMaXN0ZW5lcignZm9jdXMnKVxuICAgIHByb3RlY3RlZCBoYW5kbGVGb2N1cygpIHtcbiAgICAgICAgdGhpcy5fc2hvd0FjdGl2ZURheSA9IHRydWU7XG4gICAgICAgIHRoaXMuY2hhbmdlUHJldmlld1JhbmdlKHRoaXMuYWN0aXZlRGF0ZSk7XG4gICAgfVxuXG4gICAgLyoqXG4gICAgICogQGhpZGRlblxuICAgICAqL1xuICAgIEBIb3N0TGlzdGVuZXIoJ2JsdXInKVxuICAgIHByb3RlY3RlZCBoYW5kbGVCbHVyKCkge1xuICAgICAgICB0aGlzLl9zaG93QWN0aXZlRGF5ID0gZmFsc2U7XG4gICAgICAgIHRoaXMuY2xlYXJQcmV2aWV3UmFuZ2UoKTtcbiAgICB9XG5cbiAgICAvKipcbiAgICAgKiBAaGlkZGVuXG4gICAgICovXG4gICAgcHJvdGVjdGVkIGhhbmRsZURhdGVDbGljayhpdGVtOiBJZ3hEYXlJdGVtQ29tcG9uZW50KSB7XG4gICAgICAgIGNvbnN0IGRhdGUgPSBpdGVtLmRhdGUubmF0aXZlO1xuXG4gICAgICAgIGlmIChpdGVtLmlzUHJldmlvdXNNb250aCkge1xuICAgICAgICAgICAgdGhpcy5wYWdlQ2hhbmdlZC5lbWl0KHtcbiAgICAgICAgICAgICAgICBtb250aEFjdGlvbjogU2Nyb2xsRGlyZWN0aW9uLlBSRVYsXG4gICAgICAgICAgICAgICAga2V5OiAnJyxcbiAgICAgICAgICAgICAgICBuZXh0RGF0ZTogZGF0ZVxuICAgICAgICAgICAgfSk7XG4gICAgICAgIH1cblxuICAgICAgICBpZiAoaXRlbS5pc05leHRNb250aCkge1xuICAgICAgICAgICAgdGhpcy5wYWdlQ2hhbmdlZC5lbWl0KHtcbiAgICAgICAgICAgICAgICBtb250aEFjdGlvbjogU2Nyb2xsRGlyZWN0aW9uLk5FWFQsXG4gICAgICAgICAgICAgICAga2V5OiAnJyxcbiAgICAgICAgICAgICAgICBuZXh0RGF0ZTogZGF0ZVxuICAgICAgICAgICAgfSk7XG4gICAgICAgIH1cblxuICAgICAgICBpZiAodGhpcy50YWJJbmRleCAhPT0gLTEpIHtcbiAgICAgICAgICAgIHRoaXMuZWwubmF0aXZlRWxlbWVudC5mb2N1cygpO1xuICAgICAgICB9XG5cbiAgICAgICAgdGhpcy5hY3RpdmVEYXRlID0gaXRlbS5kYXRlLm5hdGl2ZTtcbiAgICAgICAgdGhpcy5zZWxlY3RBY3RpdmVEYXRlKCk7XG4gICAgfVxuXG4gICAgcHJpdmF0ZSBzZWxlY3RBY3RpdmVEYXRlKCkge1xuICAgICAgICB0aGlzLnNlbGVjdERhdGUodGhpcy5hY3RpdmVEYXRlKTtcbiAgICAgICAgdGhpcy5kYXRlU2VsZWN0ZWQuZW1pdCh0aGlzLmFjdGl2ZURhdGUpO1xuICAgICAgICB0aGlzLnNlbGVjdGVkLmVtaXQodGhpcy5zZWxlY3RlZERhdGVzKTtcbiAgICAgICAgdGhpcy5jbGVhclByZXZpZXdSYW5nZSgpO1xuICAgIH1cblxuICAgIHByb3RlY3RlZCBnZXQgY2FsZW5kYXJNb250aCgpOiBDYWxlbmRhckRheVtdIHtcbiAgICAgICAgcmV0dXJuIEFycmF5LmZyb20oZ2VuZXJhdGVNb250aCh0aGlzLnZpZXdEYXRlLCB0aGlzLndlZWtTdGFydCkpO1xuICAgIH1cblxuICAgIHByb3RlY3RlZCBnZXQgbW9udGhXZWVrcygpOiBDYWxlbmRhckRheVtdW10ge1xuICAgICAgICByZXR1cm4gQXJyYXkuZnJvbShpbnRvQ2h1bmtzKHRoaXMuY2FsZW5kYXJNb250aCwgNykpO1xuICAgIH1cblxuICAgIC8qKlxuICAgICAqIFJldHVybnMgdGhlIHdlZWsgbnVtYmVyIGJ5IGRhdGVcbiAgICAgKlxuICAgICAqIEBoaWRkZW5cbiAgICAgKi9cbiAgICBwdWJsaWMgZ2V0V2Vla051bWJlcihkYXRlOiBDYWxlbmRhckRheSk6IG51bWJlciB7XG4gICAgICAgIHJldHVybiBkYXRlLndlZWs7XG4gICAgfVxuXG4gICAgLyoqXG4gICAgICogUmV0dXJucyB0aGUgbG9jYWxlIHJlcHJlc2VudGF0aW9uIG9mIHRoZSBkYXRlIGluIHRoZSBkYXlzIHZpZXcuXG4gICAgICpcbiAgICAgKiBAaGlkZGVuXG4gICAgICovXG4gICAgcHVibGljIGZvcm1hdHRlZERhdGUodmFsdWU6IERhdGUpOiBzdHJpbmcge1xuICAgICAgICBpZiAodGhpcy5mb3JtYXRWaWV3cy5kYXkpIHtcbiAgICAgICAgICAgIHJldHVybiB0aGlzLmZvcm1hdHRlckRheS5mb3JtYXQodmFsdWUpO1xuICAgICAgICB9XG5cbiAgICAgICAgcmV0dXJuIGAke3ZhbHVlLmdldERhdGUoKX1gO1xuICAgIH1cblxuICAgIC8qKlxuICAgICAqIEBoaWRkZW5cbiAgICAgKi9cbiAgICBwdWJsaWMgZ2V0IHdlZWtIZWFkZXJMYWJlbHMoKToge2xvbmc6IHN0cmluZywgZm9ybWF0dGVkOiBzdHJpbmd9W10ge1xuICAgICAgICBjb25zdCB3ZWVrZGF5cyA9IFtdO1xuICAgICAgICBjb25zdCByYXdGb3JtYXR0ZXIgPSBuZXcgSW50bC5EYXRlVGltZUZvcm1hdCh0aGlzLmxvY2FsZSwgeyB3ZWVrZGF5OiAnbG9uZycgfSk7XG5cbiAgICAgICAgZm9yIChjb25zdCBkYXkgb2YgdGhpcy5tb250aFdlZWtzLmF0KDApKSB7XG4gICAgICAgICAgICB3ZWVrZGF5cy5wdXNoKHtcbiAgICAgICAgICAgICAgICBsb25nOiByYXdGb3JtYXR0ZXIuZm9ybWF0KGRheS5uYXRpdmUpLFxuICAgICAgICAgICAgICAgIGZvcm1hdHRlZDogdGhpcy5mb3JtYXR0ZXJXZWVrZGF5LmZvcm1hdChkYXkubmF0aXZlKVxuICAgICAgICAgICAgfSk7XG4gICAgICAgIH1cblxuICAgICAgICByZXR1cm4gd2Vla2RheXM7XG4gICAgfVxuXG4gICAgLyoqXG4gICAgICogQGhpZGRlblxuICAgICAqL1xuICAgIHB1YmxpYyByb3dUcmFja2VyKGluZGV4OiBudW1iZXIsIGl0ZW06IENhbGVuZGFyRGF5W10pOiBzdHJpbmcge1xuICAgICAgICByZXR1cm4gYCR7aXRlbVtpbmRleF0ubW9udGh9JHtpdGVtW2luZGV4XS5kYXRlfWA7XG4gICAgfVxuXG4gICAgLyoqXG4gICAgICogQGhpZGRlblxuICAgICAqL1xuICAgIHB1YmxpYyBkYXRlVHJhY2tlcihfOiBudW1iZXIsIGl0ZW06IENhbGVuZGFyRGF5KTogc3RyaW5nIHtcbiAgICAgICAgcmV0dXJuIGAke2l0ZW0ubW9udGh9LS0ke2l0ZW0uZGF0ZX1gO1xuICAgIH1cblxuICAgIC8qKlxuICAgICAqIEBoaWRkZW5cbiAgICAgKi9cbiAgICBwdWJsaWMgaXNTZWxlY3RlZChkYXRlOiBDYWxlbmRhckRheSk6IGJvb2xlYW4ge1xuICAgICAgICBjb25zdCBkYXRlcyA9IHRoaXMudmFsdWUgYXMgRGF0ZVtdO1xuICAgICAgICBjb25zdCBoYXNWYWx1ZSA9IHRoaXMudmFsdWUgfHwgKEFycmF5LmlzQXJyYXkodGhpcy52YWx1ZSkgJiYgdGhpcy52YWx1ZS5sZW5ndGggPT09IDEpO1xuXG4gICAgICAgIGlmIChpc0RhdGVJblJhbmdlcyhkYXRlLCB0aGlzLmRpc2FibGVkRGF0ZXMpKSB7XG4gICAgICAgICAgICByZXR1cm4gZmFsc2U7XG4gICAgICAgIH1cblxuICAgICAgICBpZiAodGhpcy5zZWxlY3Rpb24gPT09IENhbGVuZGFyU2VsZWN0aW9uLlNJTkdMRSkge1xuICAgICAgICAgICAgcmV0dXJuICEhdGhpcy52YWx1ZSAmJiBkYXRlLmVxdWFsVG8odGhpcy52YWx1ZSBhcyBEYXRlKTtcbiAgICAgICAgfVxuXG4gICAgICAgIGlmICghaGFzVmFsdWUpIHtcbiAgICAgICAgICAgIHJldHVybiBmYWxzZTtcbiAgICAgICAgfVxuXG4gICAgICAgIGlmICh0aGlzLnNlbGVjdGlvbiA9PT0gQ2FsZW5kYXJTZWxlY3Rpb24uTVVMVEkgJiYgZGF0ZXMubGVuZ3RoID4gMCkge1xuICAgICAgICAgICAgcmV0dXJuIGlzRGF0ZUluUmFuZ2VzKGRhdGUsIFtcbiAgICAgICAgICAgICAgICB7XG4gICAgICAgICAgICAgICAgICAgIHR5cGU6IERhdGVSYW5nZVR5cGUuU3BlY2lmaWMsXG4gICAgICAgICAgICAgICAgICAgIGRhdGVSYW5nZTogZGF0ZXMsXG4gICAgICAgICAgICAgICAgfSxcbiAgICAgICAgICAgIF0pO1xuICAgICAgICB9XG5cbiAgICAgICAgaWYgKHRoaXMuc2VsZWN0aW9uID09PSBDYWxlbmRhclNlbGVjdGlvbi5SQU5HRSAmJiBkYXRlcy5sZW5ndGggPiAwKSB7XG4gICAgICAgICAgICByZXR1cm4gaXNEYXRlSW5SYW5nZXMoZGF0ZSwgW1xuICAgICAgICAgICAgICAgIHtcbiAgICAgICAgICAgICAgICAgICAgdHlwZTogRGF0ZVJhbmdlVHlwZS5CZXR3ZWVuLFxuICAgICAgICAgICAgICAgICAgICBkYXRlUmFuZ2U6IFtkYXRlcy5hdCgwKSwgZGF0ZXMuYXQoLTEpXSxcbiAgICAgICAgICAgICAgICB9LFxuICAgICAgICAgICAgXSk7XG4gICAgICAgIH1cbiAgICB9XG5cbiAgICAvKipcbiAgICAgKiBAaGlkZGVuXG4gICAgICovXG4gICAgcHJvdGVjdGVkIGlzRmlyc3RJblJhbmdlKGRhdGU6IENhbGVuZGFyRGF5KTogYm9vbGVhbiB7XG4gICAgICAgIGNvbnN0IGRhdGVzID0gdGhpcy5zZWxlY3RlZERhdGVzO1xuXG4gICAgICAgIGlmICh0aGlzLmlzU2luZ2xlU2VsZWN0aW9uIHx8IGRhdGVzLmxlbmd0aCA9PT0gMCkge1xuICAgICAgICAgICAgcmV0dXJuIGZhbHNlO1xuICAgICAgICB9XG5cbiAgICAgICAgbGV0IHRhcmdldCA9IGRhdGVzLmF0KDApO1xuXG4gICAgICAgIGlmICh0aGlzLnByZXZpZXdSYW5nZURhdGUgJiYgdGhpcy5wcmV2aWV3UmFuZ2VEYXRlIDwgdGFyZ2V0KSB7XG4gICAgICAgICAgICB0YXJnZXQgPSB0aGlzLnByZXZpZXdSYW5nZURhdGU7XG4gICAgICAgIH1cblxuICAgICAgICByZXR1cm4gZGF0ZS5lcXVhbFRvKHRhcmdldCk7XG4gICAgfVxuXG4gICAgLyoqXG4gICAgICogQGhpZGRlblxuICAgICAqL1xuICAgIHByb3RlY3RlZCBpc0xhc3RJblJhbmdlKGRhdGU6IENhbGVuZGFyRGF5KTogYm9vbGVhbiB7XG4gICAgICAgIGNvbnN0IGRhdGVzID0gdGhpcy5zZWxlY3RlZERhdGVzO1xuXG4gICAgICAgIGlmICh0aGlzLmlzU2luZ2xlU2VsZWN0aW9uIHx8IGRhdGVzLmxlbmd0aCA9PT0gMCkge1xuICAgICAgICAgICAgcmV0dXJuIGZhbHNlO1xuICAgICAgICB9XG5cbiAgICAgICAgbGV0IHRhcmdldCA9IGRhdGVzLmF0KC0xKTtcblxuICAgICAgICBpZiAodGhpcy5wcmV2aWV3UmFuZ2VEYXRlICYmIHRoaXMucHJldmlld1JhbmdlRGF0ZSA+IHRhcmdldCkge1xuICAgICAgICAgICAgdGFyZ2V0ID0gdGhpcy5wcmV2aWV3UmFuZ2VEYXRlO1xuICAgICAgICB9XG5cbiAgICAgICAgcmV0dXJuIGRhdGUuZXF1YWxUbyh0YXJnZXQpO1xuICAgIH1cblxuICAgIC8qKlxuICAgICAqIEBoaWRkZW5cbiAgICAgKi9cbiAgICBwcm90ZWN0ZWQgaXNBY3RpdmVEYXRlKGRheTogQ2FsZW5kYXJEYXkpOiBib29sZWFuIHtcbiAgICAgICAgcmV0dXJuIHRoaXMuX3Nob3dBY3RpdmVEYXkgJiYgZGF5LmVxdWFsVG8odGhpcy5hY3RpdmVEYXRlKTtcbiAgICB9XG5cbiAgICAvKipcbiAgICAgKiBAaGlkZGVuXG4gICAgICovXG4gICAgcHJvdGVjdGVkIGlzV2l0aGluUmFuZ2UoZGF0ZTogRGF0ZSwgY2hlY2tGb3JSYW5nZTogYm9vbGVhbiwgbWluPzogRGF0ZSwgbWF4PzogRGF0ZSk6IGJvb2xlYW4ge1xuICAgICAgICBjb25zdCBkYXRlcyA9IHRoaXMuc2VsZWN0ZWREYXRlcztcblxuICAgICAgICBpZiAoY2hlY2tGb3JSYW5nZSAmJiAhKEFycmF5LmlzQXJyYXkoZGF0ZXMpICYmIGRhdGVzLmxlbmd0aCA+IDEpKSB7XG4gICAgICAgICAgICByZXR1cm4gZmFsc2U7XG4gICAgICAgIH1cblxuICAgICAgICBtaW4gPSBtaW4gPyBtaW4gOiBkYXRlcy5hdCgwKTtcbiAgICAgICAgbWF4ID0gbWF4ID8gbWF4IDogZGF0ZXMuYXQoLTEpO1xuXG4gICAgICAgIHJldHVybiBpc0RhdGVJblJhbmdlcyhkYXRlLFxuICAgICAgICAgICAgW1xuICAgICAgICAgICAgICAgIHtcbiAgICAgICAgICAgICAgICAgICAgdHlwZTogRGF0ZVJhbmdlVHlwZS5CZXR3ZWVuLFxuICAgICAgICAgICAgICAgICAgICBkYXRlUmFuZ2U6IFttaW4sIG1heF1cbiAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICBdXG4gICAgICAgICk7XG4gICAgfVxuXG4gICAgcHJvdGVjdGVkIGlzV2l0aGluUHJldmlld1JhbmdlKGRhdGU6IERhdGUpOiBib29sZWFuIHtcbiAgICAgICAgaWYgKHRoaXMuc2VsZWN0aW9uICE9PSAncmFuZ2UnKSByZXR1cm4gZmFsc2U7XG5cbiAgICAgICAgY29uc3QgZGF0ZXMgPSB0aGlzLnNlbGVjdGVkRGF0ZXM7XG5cbiAgICAgICAgaWYgKCEoZGF0ZXMubGVuZ3RoID4gMCAmJiB0aGlzLnByZXZpZXdSYW5nZURhdGUpKSB7XG4gICAgICAgICAgICByZXR1cm4gZmFsc2U7XG4gICAgICAgIH1cblxuICAgICAgICByZXR1cm4gaXNEYXRlSW5SYW5nZXMoZGF0ZSwgW1xuICAgICAgICAgIHtcbiAgICAgICAgICAgIHR5cGU6IERhdGVSYW5nZVR5cGUuQmV0d2VlbixcbiAgICAgICAgICAgIGRhdGVSYW5nZTogW2RhdGVzLmF0KDApLCB0aGlzLnByZXZpZXdSYW5nZURhdGVdLFxuICAgICAgICAgIH0sXG4gICAgICAgIF0pO1xuICAgIH1cblxuICAgIC8qKlxuICAgICAqIEBoaWRkZW5cbiAgICAgKi9cbiAgICBwcml2YXRlIGdldCBpc1NpbmdsZVNlbGVjdGlvbigpOiBib29sZWFuIHtcbiAgICAgICAgcmV0dXJuIHRoaXMuc2VsZWN0aW9uICE9PSBDYWxlbmRhclNlbGVjdGlvbi5SQU5HRTtcbiAgICB9XG5cbiAgICAvKipcbiAgICAgKiBAaGlkZGVuIEBpbnRlcm5hbFxuICAgICAqL1xuICAgIHB1YmxpYyBjaGFuZ2VQcmV2aWV3UmFuZ2UoZGF0ZTogRGF0ZSkge1xuICAgICAgICBjb25zdCBkYXRlcyA9IHRoaXMudmFsdWUgYXMgRGF0ZVtdO1xuXG4gICAgICAgIGlmICh0aGlzLnNlbGVjdGlvbiA9PT0gJ3JhbmdlJyAmJiBkYXRlcy5sZW5ndGggPT09IDEpIHtcbiAgICAgICAgICAgIGNvbnN0IGZpcnN0ID0gQ2FsZW5kYXJEYXkuZnJvbShkYXRlcy5hdCgwKSk7XG5cbiAgICAgICAgICAgIGlmICghZmlyc3QuZXF1YWxUbyhkYXRlKSkge1xuICAgICAgICAgICAgICB0aGlzLnNldFByZXZpZXdSYW5nZURhdGUoZGF0ZSk7XG4gICAgICAgICAgICB9XG4gICAgICAgIH1cbiAgICB9XG5cbiAgICAvKipcbiAgICAgKiBAaGlkZGVuIEBpbnRlcm5hbFxuICAgICAqL1xuICAgIHB1YmxpYyBjbGVhclByZXZpZXdSYW5nZSgpIHtcbiAgICAgICAgaWYgKHRoaXMucHJldmlld1JhbmdlRGF0ZSkge1xuICAgICAgICAgICAgdGhpcy5zZXRQcmV2aWV3UmFuZ2VEYXRlKHVuZGVmaW5lZCk7XG4gICAgICAgIH1cbiAgICB9XG5cbiAgICBwcml2YXRlIHNldFByZXZpZXdSYW5nZURhdGUodmFsdWU/OiBEYXRlKSB7XG4gICAgICAgIHRoaXMucHJldmlld1JhbmdlRGF0ZSA9IHZhbHVlO1xuICAgIH1cbn1cbiIsIjxkaXYgcm9sZT1cInJvd1wiIGNsYXNzPVwiaWd4LWRheXMtdmlld19fcm93XCI+XG4gICAgPGRpdlxuICAgICAgICByb2xlPVwiY29sdW1uaGVhZGVyXCJcbiAgICAgICAgKm5nSWY9XCJzaG93V2Vla051bWJlcnNcIlxuICAgICAgICBjbGFzcz1cImlneC1kYXlzLXZpZXdfX2xhYmVsIGlneC1kYXlzLXZpZXdfX2xhYmVsLS13ZWVrLW51bWJlclwiXG4gICAgPlxuICAgICAgICA8c3Bhbj5Xazwvc3Bhbj5cbiAgICA8L2Rpdj5cbiAgICA8c3BhblxuICAgICAgICByb2xlPVwiY29sdW1uaGVhZGVyXCJcbiAgICAgICAgW2F0dHIuYXJpYS1sYWJlbF09XCJkYXlOYW1lLmxvbmdcIlxuICAgICAgICAqbmdGb3I9XCJsZXQgZGF5TmFtZSBvZiB3ZWVrSGVhZGVyTGFiZWxzXCJcbiAgICAgICAgY2xhc3M9XCJpZ3gtZGF5cy12aWV3X19sYWJlbFwiXG4gICAgPlxuICAgICAgICA8c3BhbiBjbGFzcz1cImlneC1kYXlzLXZpZXdfX2xhYmVsLWlubmVyXCI+XG4gICAgICAgICAgICB7eyBkYXlOYW1lLmZvcm1hdHRlZCB8IHRpdGxlY2FzZSB9fVxuICAgICAgICA8L3NwYW4+XG4gICAgPC9zcGFuPlxuPC9kaXY+XG5cbjxkaXZcbiAgICAqbmdGb3I9XCJcbiAgICAgICAgbGV0IHdlZWsgb2YgbW9udGhXZWVrcztcbiAgICAgICAgbGFzdCBhcyBpc0xhc3Q7XG4gICAgICAgIGluZGV4IGFzIGk7XG4gICAgICAgIHRyYWNrQnk6IHJvd1RyYWNrZXJcbiAgICBcIlxuICAgIGNsYXNzPVwiaWd4LWRheXMtdmlld19fcm93XCJcbiAgICByb2xlPVwicm93XCJcbj5cbiAgICA8ZGl2XG4gICAgICAgICpuZ0lmPVwic2hvd1dlZWtOdW1iZXJzXCJcbiAgICAgICAgY2xhc3M9XCJpZ3gtZGF5cy12aWV3X19kYXRlIGlneC1kYXlzLXZpZXdfX2RhdGUtLXdlZWstbnVtYmVyXCJcbiAgICA+XG4gICAgICAgIDxzcGFuXG4gICAgICAgICAgICByb2xlPVwicm93aGVhZGVyXCJcbiAgICAgICAgICAgIGNsYXNzPVwiaWd4LWRheXMtdmlld19fZGF0ZS1pbm5lciBpZ3gtZGF5cy12aWV3X19kYXRlLWlubmVyLS13ZWVrLW51bWJlclwiXG4gICAgICAgID5cbiAgICAgICAgICAgIHt7IGdldFdlZWtOdW1iZXIod2Vla1swXSkgfX1cbiAgICAgICAgPC9zcGFuPlxuICAgIDwvZGl2PlxuXG4gICAgPGlneC1kYXktaXRlbVxuICAgICAgICAjaXRlbVxuICAgICAgICAqbmdGb3I9XCJsZXQgZGF5IG9mIHdlZWs7IHRyYWNrQnk6IGRhdGVUcmFja2VyXCJcbiAgICAgICAgY2xhc3M9XCJpZ3gtZGF5cy12aWV3X19kYXRlXCJcbiAgICAgICAgcm9sZT1cImdyaWRjZWxsXCJcbiAgICAgICAgW2F0dHIuaWRdPVwiaXRlbS5pc0N1cnJlbnRNb250aCAmJiBkYXkudGltZXN0YW1wXCJcbiAgICAgICAgW2F0dHIuYXJpYS1zZWxlY3RlZF09XCJpc1NlbGVjdGVkKGRheSlcIlxuICAgICAgICBbYXR0ci5hcmlhLWRpc2FibGVkXT1cImlzRGF0ZURpc2FibGVkKGRheS5uYXRpdmUpXCJcbiAgICAgICAgW2F0dHIuYXJpYS1sYWJlbF09XCJcbiAgICAgICAgICAgIGlzRmlyc3RJblJhbmdlKGRheSlcbiAgICAgICAgICAgICAgICA/IGRheS5uYXRpdmUudG9EYXRlU3RyaW5nKCkgK1xuICAgICAgICAgICAgICAgICAgJywgJyArXG4gICAgICAgICAgICAgICAgICByZXNvdXJjZVN0cmluZ3MuaWd4X2NhbGVuZGFyX3JhbmdlX3N0YXJ0XG4gICAgICAgICAgICAgICAgOiBpc0xhc3RJblJhbmdlKGRheSlcbiAgICAgICAgICAgICAgICAgID8gZGF5Lm5hdGl2ZS50b0RhdGVTdHJpbmcoKSArXG4gICAgICAgICAgICAgICAgICAgICcsICcgK1xuICAgICAgICAgICAgICAgICAgICByZXNvdXJjZVN0cmluZ3MuaWd4X2NhbGVuZGFyX3JhbmdlX2VuZFxuICAgICAgICAgICAgICAgICAgOiBkYXkubmF0aXZlLnRvRGF0ZVN0cmluZygpXG4gICAgICAgIFwiXG4gICAgICAgIFtkYXRlXT1cImRheVwiXG4gICAgICAgIFt2aWV3RGF0ZV09XCJ2aWV3RGF0ZVwiXG4gICAgICAgIFtzZWxlY3Rpb25dPVwic2VsZWN0aW9uXCJcbiAgICAgICAgW3NlbGVjdGVkXT1cImlzU2VsZWN0ZWQoZGF5KVwiXG4gICAgICAgIFtpc0FjdGl2ZV09XCJpc0FjdGl2ZURhdGUoZGF5KVwiXG4gICAgICAgIFtpc0xhc3RJblJhbmdlXT1cImlzTGFzdEluUmFuZ2UoZGF5KVwiXG4gICAgICAgIFtpc0ZpcnN0SW5SYW5nZV09XCJpc0ZpcnN0SW5SYW5nZShkYXkpXCJcbiAgICAgICAgW2lzV2l0aGluUmFuZ2VdPVwiaXNXaXRoaW5SYW5nZShkYXkubmF0aXZlLCB0cnVlKVwiXG4gICAgICAgIFtpc1dpdGhpblByZXZpZXdSYW5nZV09XCJpc1dpdGhpblByZXZpZXdSYW5nZShkYXkubmF0aXZlKVwiXG4gICAgICAgIFtkaXNhYmxlZERhdGVzXT1cImRpc2FibGVkRGF0ZXNcIlxuICAgICAgICBbc3BlY2lhbERhdGVzXT1cInNwZWNpYWxEYXRlc1wiXG4gICAgICAgIFtoaWRlTGVhZGluZ0RheXNdPVwiaGlkZUxlYWRpbmdEYXlzXCJcbiAgICAgICAgW2hpZGVUcmFpbGluZ0RheXNdPVwiaGlkZVRyYWlsaW5nRGF5c1wiXG4gICAgICAgIFthdHRyLnRhYmluZGV4XT1cIi0xXCJcbiAgICAgICAgKG1vdXNlRG93bik9XCJoYW5kbGVEYXRlQ2xpY2soaXRlbSlcIlxuICAgICAgICAobW91c2VFbnRlcik9XCJjaGFuZ2VQcmV2aWV3UmFuZ2UoZGF5Lm5hdGl2ZSlcIlxuICAgICAgICAobW91c2VMZWF2ZSk9XCJjbGVhclByZXZpZXdSYW5nZSgpXCJcbiAgICA+XG4gICAgICAgIHt7IGZvcm1hdHRlZERhdGUoZGF5Lm5hdGl2ZSkgfX1cbiAgICA8L2lneC1kYXktaXRlbT5cbjwvZGl2PlxuIl19
|
|
@@ -168,4 +168,4 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.2.4", ngImpor
|
|
|
168
168
|
type: Input,
|
|
169
169
|
args: [{ transform: booleanAttribute }]
|
|
170
170
|
}] } });
|
|
171
|
-
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoibW9udGhzLXZpZXcuY29tcG9uZW50LmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvaWduaXRldWktYW5ndWxhci9zcmMvbGliL2NhbGVuZGFyL21vbnRocy12aWV3L21vbnRocy12aWV3LmNvbXBvbmVudC50cyIsIi4uLy4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL2lnbml0ZXVpLWFuZ3VsYXIvc3JjL2xpYi9jYWxlbmRhci9tb250aHMtdmlldy9tb250aHMtdmlldy5jb21wb25lbnQuaHRtbCJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQ0gsU0FBUyxFQUNULEtBQUssRUFDTCxXQUFXLEVBRVgsZ0JBQWdCLEVBQ2hCLE1BQU0sR0FDVCxNQUFNLGVBQWUsQ0FBQztBQUN2QixPQUFPLEVBQUUseUJBQXlCLEVBQUUsTUFBTSx3QkFBd0IsQ0FBQztBQUNuRSxPQUFPLEVBQUUsS0FBSyxFQUFFLGFBQWEsRUFBRSxRQUFRLEVBQUUsTUFBTSxpQkFBaUIsQ0FBQztBQUNqRSxPQUFPLEVBQ0gsd0JBQXdCLEVBQ3hCLGtCQUFrQixHQUNyQixNQUFNLG1DQUFtQyxDQUFDO0FBQzNDLE9BQU8sRUFBd0IsaUJBQWlCLEVBQUUsTUFBTSxnQkFBZ0IsQ0FBQztBQUN6RSxPQUFPLEVBQUUsV0FBVyxFQUFlLE1BQU0saUJBQWlCLENBQUM7QUFDM0QsT0FBTyxFQUFFLGFBQWEsRUFBRSxNQUFNLG1CQUFtQixDQUFDOztBQUVsRCxJQUFJLE9BQU8sR0FBRyxDQUFDLENBQUM7QUFtQmhCLE1BQU0sT0FBTyxzQkFBdUIsU0FBUSx3QkFBd0I7SUFDaEUsV0FBVyxDQUFRO0lBMEJuQjs7T0FFRztJQUNILElBRVcsVUFBVTtRQUNqQixPQUFPLElBQUksQ0FBQyxXQUFXLENBQUM7SUFDNUIsQ0FBQztJQUVELElBQVcsVUFBVSxDQUFDLEtBQWM7UUFDaEMsSUFBSSxDQUFDLFdBQVcsR0FBRyxLQUFLLENBQUM7SUFD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QUNwQjtTQUNKLGlEQy9CTCxzdEJBb0JBLDRDRGVjLEtBQUssbUhBQUUseUJBQXlCLDBGQUFFLGFBQWE7OzJGQUVoRCxzQkFBc0I7a0JBakJsQyxTQUFTO2dDQUNLO3dCQUNQOzRCQUNJLE9BQU8sRUFBRSxpQkFBaUI7NEJBQzFCLFdBQVcsd0JBQXdCOzRCQUNuQyxLQUFLLEVBQUUsSUFBSTt5QkFDZDt3QkFDRDs0QkFDSSxPQUFPLEVBQUUsa0JBQWtCOzRCQUMzQixRQUFRLEVBQUUsT0FBTzt5QkFDcEI7cUJBQ0osWUFDUyxpQkFBaUIsY0FFZixJQUFJLFdBQ1AsQ0FBQyxLQUFLLEVBQUUseUJBQXlCLEVBQUUsYUFBYSxFQUFFLFFBQVEsQ0FBQzs7MEJBaUcvRCxNQUFNOzJCQUFDLGtCQUFrQjt5Q0E5RXZCLEVBQUU7c0JBRlIsV0FBVzt1QkFBQyxTQUFTOztzQkFDckIsS0FBSztnQkFTVSxTQUFTO3NCQUR4QixXQUFXO3VCQUFDLHVCQUF1QjtnQkFRekIsVUFBVTtzQkFGcEIsS0FBSzs7c0JBQ0wsV0FBVzt1QkFBQyxtQ0FBbUM7Z0JBZ0JyQyxXQUFXO3NCQURyQixLQUFLO2dCQXVCVSxVQUFVO3NCQUR6QixLQUFLO3VCQUFDLEVBQUUsU0FBUyxFQUFFLGdCQUFnQixFQUFFIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHtcbiAgICBDb21wb25lbnQsXG4gICAgSW5wdXQsXG4gICAgSG9zdEJpbmRpbmcsXG4gICAgRWxlbWVudFJlZixcbiAgICBib29sZWFuQXR0cmlidXRlLFxuICAgIEluamVjdCxcbn0gZnJvbSBcIkBhbmd1bGFyL2NvcmVcIjtcbmltcG9ydCB7IElneENhbGVuZGFyTW9udGhEaXJlY3RpdmUgfSBmcm9tIFwiLi4vY2FsZW5kYXIuZGlyZWN0aXZlc1wiO1xuaW1wb3J0IHsgTmdGb3IsIFRpdGxlQ2FzZVBpcGUsIERhdGVQaXBlIH0gZnJvbSBcIkBhbmd1bGFyL2NvbW1vblwiO1xuaW1wb3J0IHtcbiAgICBJZ3hDYWxlbmRhclZpZXdEaXJlY3RpdmUsXG4gICAgREFZX0lOVEVSVkFMX1RPS0VOLFxufSBmcm9tIFwiLi4vY29tbW9uL2NhbGVuZGFyLXZpZXcuZGlyZWN0aXZlXCI7XG5pbXBvcnQgeyBDb250cm9sVmFsdWVBY2Nlc3NvciwgTkdfVkFMVUVfQUNDRVNTT1IgfSBmcm9tIFwiQGFuZ3VsYXIvZm9ybXNcIjtcbmltcG9ydCB7IENhbGVuZGFyRGF5LCBEYXlJbnRlcnZhbCB9IGZyb20gXCIuLi9jb21tb24vbW9kZWxcIjtcbmltcG9ydCB7IGNhbGVuZGFyUmFuZ2UgfSBmcm9tIFwiLi4vY29tbW9uL2hlbHBlcnNcIjtcblxubGV0IE5FWFRfSUQgPSAwO1xuXG5AQ29tcG9uZW50KHtcbiAgICBwcm92aWRlcnM6IFtcbiAgICAgICAge1xuICAgICAgICAgICAgcHJvdmlkZTogTkdfVkFMVUVfQUNDRVNTT1IsXG4gICAgICAgICAgICB1c2VFeGlzdGluZzogSWd4TW9udGhzVmlld0NvbXBvbmVudCxcbiAgICAgICAgICAgIG11bHRpOiB0cnVlLFxuICAgICAgICB9LFxuICAgICAgICB7XG4gICAgICAgICAgICBwcm92aWRlOiBEQVlfSU5URVJWQUxfVE9LRU4sXG4gICAgICAgICAgICB1c2VWYWx1ZTogXCJtb250aFwiLFxuICAgICAgICB9LFxuICAgIF0sXG4gICAgc2VsZWN0b3I6IFwiaWd4LW1vbnRocy12aWV3XCIsXG4gICAgdGVtcGxhdGVVcmw6IFwibW9udGhzLXZpZXcuY29tcG9uZW50Lmh0bWxcIixcbiAgICBzdGFuZGFsb25lOiB0cnVlLFxuICAgIGltcG9ydHM6IFtOZ0ZvciwgSWd4Q2FsZW5kYXJNb250aERpcmVjdGl2ZSwgVGl0bGVDYXNlUGlwZSwgRGF0ZVBpcGVdLFxufSlcbmV4cG9ydCBjbGFzcyBJZ3hNb250aHNWaWV3Q29tcG9uZW50IGV4dGVuZHMgSWd4Q2FsZW5kYXJWaWV3RGlyZWN0aXZlIGltcGxlbWVudHMgQ29udHJvbFZhbHVlQWNjZXNzb3Ige1xuICAgICNzdGFuZGFsb25lID0gdHJ1ZTtcblxuICAgIC8qKlxuICAgICAqIFNldHMvZ2V0cyB0aGUgYGlkYCBvZiB0aGUgbW9udGhzIHZpZXcuXG4gICAgICogSWYgbm90IHNldCwgdGhlIGBpZGAgd2lsbCBoYXZlIHZhbHVlIGBcImlneC1tb250aHMtdmlldy0wXCJgLlxuICAgICAqIGBgYGh0bWxcbiAgICAgKiA8aWd4LW1vbnRocy12aWV3IGlkPVwibXktbW9udGhzLXZpZXdcIj48L2lneC1tb250aHMtdmlldz5cbiAgICAgKiBgYGBcbiAgICAgKiBgYGB0eXBlc2NyaXB0XG4gICAgICogbGV0IG1vbnRoc1ZpZXdJZCA9ICB0aGlzLm1vbnRoc1ZpZXcuaWQ7XG4gICAgICogYGBgXG4gICAgICpcbiAgICAgKiBAbWVtYmVyb2YgSWd4TW9udGhzVmlld0NvbXBvbmVudFxuICAgICAqL1xuICAgIEBIb3N0QmluZGluZyhcImF0dHIuaWRcIilcbiAgICBASW5wdXQoKVxuICAgIHB1YmxpYyBpZCA9IGBpZ3gtbW9udGhzLXZpZXctJHtORVhUX0lEKyt9YDtcblxuICAgIC8qKlxuICAgICAqIFRoZSBkZWZhdWx0IGNzcyBjbGFzcyBhcHBsaWVkIHRvIHRoZSBjb21wb25lbnQuXG4gICAgICpcbiAgICAgKiBAaGlkZGVuXG4gICAgICovXG4gICAgQEhvc3RCaW5kaW5nKFwiY2xhc3MuaWd4LW1vbnRocy12aWV3XCIpXG4gICAgcHVibGljIHJlYWRvbmx5IHZpZXdDbGFzcyA9IHRydWU7XG5cbiAgICAvKipcbiAgICAgKiBAaGlkZGVuIEBpbnRlcm5hbFxuICAgICAqL1xuICAgIEBJbnB1dCgpXG4gICAgQEhvc3RCaW5kaW5nKFwiY2xhc3MuaWd4LW1vbnRocy12aWV3LS1zdGFuZGFsb25lXCIpXG4gICAgcHVibGljIGdldCBzdGFuZGFsb25lKCkge1xuICAgICAgICByZXR1cm4gdGhpcy4jc3RhbmRhbG9uZTtcbiAgICB9XG5cbiAgICBwdWJsaWMgc2V0IHN0YW5kYWxvbmUodmFsdWU6IGJvb2xlYW4pIHtcbiAgICAgICAgdGhpcy4jc3RhbmRhbG9uZSA9IHZhbHVlO1xuICAgIH1cblxuICAgIC8qKlxuICAgICAqIEdldHMgdGhlIG1vbnRoIGZvcm1hdCBvcHRpb24gb2YgdGhlIG1vbnRocyB2aWV3LlxuICAgICAqIGBgYHR5cGVzY3JpcHRcbiAgICAgKiBsZXQgbW9udGhGb3JtYXQgPSB0aGlzLm1vbnRoc1ZpZXcubW9udGhGb3JtYXQuXG4gICAgICogYGBgXG4gICAgICovXG4gICAgQElucHV0KClcbiAgICBwdWJsaWMgZ2V0IG1vbnRoRm9ybWF0KCk6IGFueSB7XG4gICAgICAgIHJldHVybiB0aGlzLl9tb250aEZvcm1hdDtcbiAgICB9XG5cbiAgICAvKipcbiAgICAgKiBTZXRzIHRoZSBtb250aCBmb3JtYXQgb3B0aW9uIG9mIHRoZSBtb250aHMgdmlldy5cbiAgICAgKiBgYGBodG1sXG4gICAgICogPGlneC1tb250aHMtdmlldz4gW21vbnRoRm9ybWF0XT1cInNob3J0J1wiPC9pZ3gtbW9udGhzLXZpZXc+XG4gICAgICogYGBgXG4gICAgICpcbiAgICAgKiBAbWVtYmVyb2YgSWd4TW9udGhzVmlld0NvbXBvbmVudFxuICAgICAqL1xuICAgIHB1YmxpYyBzZXQgbW9udGhGb3JtYXQodmFsdWU6IGFueSkge1xuICAgICAgICB0aGlzLl9tb250aEZvcm1hdCA9IHZhbHVlO1xuICAgICAgICB0aGlzLmluaXRGb3JtYXR0ZXIoKTtcbiAgICB9XG5cbiAgICAvKipcbiAgICAgKiBHZXRzL3NldHMgd2hldGhlciB0aGUgdmlldyBzaG91bGQgYmUgcmVuZGVyZWRcbiAgICAgKiBhY2NvcmRpbmcgdG8gdGhlIGxvY2FsZSBhbmQgZm9ybWF0LCBpZiBhbnkuXG4gICAgICovXG4gICAgQElucHV0KHsgdHJhbnNmb3JtOiBib29sZWFuQXR0cmlidXRlIH0pXG4gICAgcHVibGljIG92ZXJyaWRlIGZvcm1hdFZpZXcgPSB0cnVlO1xuXG4gICAgLyoqXG4gICAgICogUmV0dXJucyBhbiBhcnJheSBvZiBkYXRlIG9iamVjdHMgd2hpY2ggYXJlIHRoZW4gdXNlZCB0b1xuICAgICAqIHByb3Blcmx5IHJlbmRlciB0aGUgbW9udGggbmFtZXMuXG4gICAgICpcbiAgICAgKiBVc2VkIGluIHRoZSB0ZW1wbGF0ZSBvZiB0aGUgY29tcG9uZW50XG4gICAgICpcbiAgICAgKiBAaGlkZGVuIEBpbnRlcm5hbFxuICAgICAqL1xuICAgIHB1YmxpYyBnZXQgcmFuZ2UoKTogRGF0ZVtdIHtcbiAgICAgICAgY29uc3Qgc3RhcnQgPSBDYWxlbmRhckRheS5mcm9tKHRoaXMuZGF0ZSkuc2V0KHsgZGF0ZTogMSwgbW9udGg6IDAgfSk7XG4gICAgICAgIGNvbnN0IGVuZCA9IHN0YXJ0LmFkZCh0aGlzLmRheUludGVydmFsLCAxMik7XG5cbiAgICAgICAgcmV0dXJuIEFycmF5LmZyb20oXG4gICAgICAgICAgICBjYWxlbmRhclJhbmdlKHsgc3RhcnQsIGVuZCwgdW5pdDogdGhpcy5kYXlJbnRlcnZhbCB9KSxcbiAgICAgICAgKS5tYXAoKG0pID0+IG0ubmF0aXZlKTtcbiAgICB9XG5cbiAgICAvKipcbiAgICAgKiBAaGlkZGVuXG4gICAgICovXG4gICAgcHJpdmF0ZSBfbW9udGhGb3JtYXQgPSBcInNob3J0XCI7XG5cbiAgICBjb25zdHJ1Y3RvcihcbiAgICAgICAgcHVibGljIGVsOiBFbGVtZW50UmVmLFxuICAgICAgICBASW5qZWN0KERBWV9JTlRFUlZBTF9UT0tFTikgZGF5SW50ZXJ2YWw6IERheUludGVydmFsLFxuICAgICkge1xuICAgICAgICBzdXBlcihkYXlJbnRlcnZhbCk7XG4gICAgfVxuXG4gICAgLyoqXG4gICAgICogUmV0dXJucyB0aGUgbG9jYWxlIHJlcHJlc2VudGF0aW9uIG9mIHRoZSBtb250aCBpbiB0aGUgbW9udGhzIHZpZXcuXG4gICAgICpcbiAgICAgKiBAaGlkZGVuXG4gICAgICovXG4gICAgcHVibGljIGZvcm1hdHRlZE1vbnRoKHZhbHVlOiBEYXRlKTogeyBsb25nOiBzdHJpbmc7IGZvcm1hdHRlZDogc3RyaW5nIH0ge1xuICAgICAgICBjb25zdCByYXdGb3JtYXR0ZXIgPSBuZXcgSW50bC5EYXRlVGltZUZvcm1hdCh0aGlzLmxvY2FsZSwge1xuICAgICAgICAgICAgbW9udGg6IFwibG9uZ1wiLFxuICAgICAgICAgICAgeWVhcjogXCJudW1lcmljXCIsXG4gICAgICAgIH0pO1xuXG4gICAgICAgIGlmICh0aGlzLmZvcm1hdFZpZXcpIHtcbiAgICAgICAgICAgIHJldHVybiB7XG4gICAgICAgICAgICAgICAgbG9uZzogcmF3Rm9ybWF0dGVyLmZvcm1hdCh2YWx1ZSksXG4gICAgICAgICAgICAgICAgZm9ybWF0dGVkOiB0aGlzLl9mb3JtYXR0ZXIuZm9ybWF0KHZhbHVlKSxcbiAgICAgICAgICAgIH07XG4gICAgICAgIH1cblxuICAgICAgICByZXR1cm4ge1xuICAgICAgICAgICAgbG9uZzogcmF3Rm9ybWF0dGVyLmZvcm1hdCh2YWx1ZSksXG4gICAgICAgICAgICBmb3JtYXR0ZWQ6IGAke3ZhbHVlLmdldE1vbnRoKCl9YCxcbiAgICAgICAgfTtcbiAgICB9XG5cbiAgICAvKipcbiAgICAgKiBAaGlkZGVuXG4gICAgICovXG4gICAgcHVibGljIG1vbnRoVHJhY2tlcihfOiBudW1iZXIsIGl0ZW06IERhdGUpOiBzdHJpbmcge1xuICAgICAgICByZXR1cm4gYCR7aXRlbS5nZXRNb250aCgpfX1gO1xuICAgIH1cblxuICAgIC8qKlxuICAgICAqIEBoaWRkZW5cbiAgICAgKi9cbiAgICBwcm90ZWN0ZWQgaW5pdEZvcm1hdHRlcigpIHtcbiAgICAgICAgdGhpcy5fZm9ybWF0dGVyID0gbmV3IEludGwuRGF0ZVRpbWVGb3JtYXQodGhpcy5fbG9jYWxlLCB7XG4gICAgICAgICAgICBtb250aDogdGhpcy5tb250aEZvcm1hdCxcbiAgICAgICAgfSk7XG4gICAgfVxufVxuIiwiPGRpdiBjbGFzcz1cImlneC1tb250aHMtdmlld19fZ3JpZFwiIHJvbGU9XCJyb3dcIj5cbiAgICA8c3BhblxuICAgICAgICBpZ3hDYWxlbmRhck1vbnRoXG4gICAgICAgICNpdGVtPVwiaWd4Q2FsZW5kYXJNb250aFwiXG4gICAgICAgICpuZ0Zvcj1cImxldCBtb250aCBvZiByYW5nZTsgdHJhY2tCeTogbW9udGhUcmFja2VyXCJcbiAgICAgICAgY2xhc3M9XCJpZ3gtbW9udGhzLXZpZXdfX21vbnRoXCJcbiAgICAgICAgcm9sZT1cImdyaWRjZWxsXCJcbiAgICAgICAgW2F0dHIuaWRdPVwibW9udGguZ2V0VGltZSgpXCJcbiAgICAgICAgW2F0dHIuYXJpYS1sYWJlbF09XCJmb3JtYXR0ZWRNb250aChtb250aCkubG9uZ1wiXG4gICAgICAgIFthdHRyLmFyaWEtc2VsZWN0ZWRdPVwiaXRlbS5pc1NlbGVjdGVkXCJcbiAgICAgICAgW3ZhbHVlXT1cIm1vbnRoXCJcbiAgICAgICAgW2RhdGVdPVwiZGF0ZVwiXG4gICAgICAgIFtzaG93QWN0aXZlXT1cInNob3dBY3RpdmVcIlxuICAgICAgICAoaXRlbVNlbGVjdGlvbik9XCJzZWxlY3REYXRlKCRldmVudClcIlxuICAgID5cbiAgICAgICAgPHNwYW4gY2xhc3M9XCJpZ3gtbW9udGhzLXZpZXdfX21vbnRoLWlubmVyXCIgYXJpYS1oaWRkZW49XCJ0cnVlXCI+XG4gICAgICAgICAgICB7eyBmb3JtYXR0ZWRNb250aChtb250aCkuZm9ybWF0dGVkIHwgdGl0bGVjYXNlIH19XG4gICAgICAgIDwvc3Bhbj5cbiAgICA8L3NwYW4+XG48L2Rpdj5cbiJdfQ==
|
|
171
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoibW9udGhzLXZpZXcuY29tcG9uZW50LmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvaWduaXRldWktYW5ndWxhci9zcmMvbGliL2NhbGVuZGFyL21vbnRocy12aWV3L21vbnRocy12aWV3LmNvbXBvbmVudC50cyIsIi4uLy4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL2lnbml0ZXVpLWFuZ3VsYXIvc3JjL2xpYi9jYWxlbmRhci9tb250aHMtdmlldy9tb250aHMtdmlldy5jb21wb25lbnQuaHRtbCJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQ0gsU0FBUyxFQUNULEtBQUssRUFDTCxXQUFXLEVBRVgsZ0JBQWdCLEVBQ2hCLE1BQU0sR0FDVCxNQUFNLGVBQWUsQ0FBQztBQUN2QixPQUFPLEVBQUUseUJBQXlCLEVBQUUsTUFBTSx3QkFBd0IsQ0FBQztBQUNuRSxPQUFPLEVBQUUsS0FBSyxFQUFFLGFBQWEsRUFBRSxRQUFRLEVBQUUsTUFBTSxpQkFBaUIsQ0FBQztBQUNqRSxPQUFPLEVBQ0gsd0JBQXdCLEVBQ3hCLGtCQUFrQixHQUNyQixNQUFNLG1DQUFtQyxDQUFDO0FBQzNDLE9BQU8sRUFBd0IsaUJBQWlCLEVBQUUsTUFBTSxnQkFBZ0IsQ0FBQztBQUN6RSxPQUFPLEVBQUUsV0FBVyxFQUFFLE1BQU0saUJBQWlCLENBQUM7QUFFOUMsT0FBTyxFQUFFLGFBQWEsRUFBRSxNQUFNLG1CQUFtQixDQUFDOztBQUVsRCxJQUFJLE9BQU8sR0FBRyxDQUFDLENBQUM7QUFtQmhCLE1BQU0sT0FBTyxzQkFBdUIsU0FBUSx3QkFBd0I7SUFDaEUsV0FBVyxDQUFRO0lBMEJuQjs7T0FFRztJQUNILElBRVcsVUFBVTtRQUNqQixPQUFPLElBQUksQ0FBQyxXQUFXLENBQUM7SUFDNUIsQ0FBQztJQUVELElBQVcsVUFBVSxDQUFDLEtBQWM7UUFDaEMsSUFBSSxDQUFDLFdBQVcsR0FBRyxLQUFLLENBQUM7SUFD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QUNwQjtTQUNKLGlEQ2hDTCxzdEJBb0JBLDRDRGdCYyxLQUFLLG1IQUFFLHlCQUF5QiwwRkFBRSxhQUFhOzsyRkFFaEQsc0JBQXNCO2tCQWpCbEMsU0FBUztnQ0FDSzt3QkFDUDs0QkFDSSxPQUFPLEVBQUUsaUJBQWlCOzRCQUMxQixXQUFXLHdCQUF3Qjs0QkFDbkMsS0FBSyxFQUFFLElBQUk7eUJBQ2Q7d0JBQ0Q7NEJBQ0ksT0FBTyxFQUFFLGtCQUFrQjs0QkFDM0IsUUFBUSxFQUFFLE9BQU87eUJBQ3BCO3FCQUNKLFlBQ1MsaUJBQWlCLGNBRWYsSUFBSSxXQUNQLENBQUMsS0FBSyxFQUFFLHlCQUF5QixFQUFFLGFBQWEsRUFBRSxRQUFRLENBQUM7OzBCQWlHL0QsTUFBTTsyQkFBQyxrQkFBa0I7eUNBOUV2QixFQUFFO3NCQUZSLFdBQVc7dUJBQUMsU0FBUzs7c0JBQ3JCLEtBQUs7Z0JBU1UsU0FBUztzQkFEeEIsV0FBVzt1QkFBQyx1QkFBdUI7Z0JBUXpCLFVBQVU7c0JBRnBCLEtBQUs7O3NCQUNMLFdBQVc7dUJBQUMsbUNBQW1DO2dCQWdCckMsV0FBVztzQkFEckIsS0FBSztnQkF1QlUsVUFBVTtzQkFEekIsS0FBSzt1QkFBQyxFQUFFLFNBQVMsRUFBRSxnQkFBZ0IsRUFBRSIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7XG4gICAgQ29tcG9uZW50LFxuICAgIElucHV0LFxuICAgIEhvc3RCaW5kaW5nLFxuICAgIEVsZW1lbnRSZWYsXG4gICAgYm9vbGVhbkF0dHJpYnV0ZSxcbiAgICBJbmplY3QsXG59IGZyb20gXCJAYW5ndWxhci9jb3JlXCI7XG5pbXBvcnQgeyBJZ3hDYWxlbmRhck1vbnRoRGlyZWN0aXZlIH0gZnJvbSBcIi4uL2NhbGVuZGFyLmRpcmVjdGl2ZXNcIjtcbmltcG9ydCB7IE5nRm9yLCBUaXRsZUNhc2VQaXBlLCBEYXRlUGlwZSB9IGZyb20gXCJAYW5ndWxhci9jb21tb25cIjtcbmltcG9ydCB7XG4gICAgSWd4Q2FsZW5kYXJWaWV3RGlyZWN0aXZlLFxuICAgIERBWV9JTlRFUlZBTF9UT0tFTixcbn0gZnJvbSBcIi4uL2NvbW1vbi9jYWxlbmRhci12aWV3LmRpcmVjdGl2ZVwiO1xuaW1wb3J0IHsgQ29udHJvbFZhbHVlQWNjZXNzb3IsIE5HX1ZBTFVFX0FDQ0VTU09SIH0gZnJvbSBcIkBhbmd1bGFyL2Zvcm1zXCI7XG5pbXBvcnQgeyBDYWxlbmRhckRheSB9IGZyb20gXCIuLi9jb21tb24vbW9kZWxcIjtcbmltcG9ydCB0eXBlIHsgRGF5SW50ZXJ2YWwgfSBmcm9tIFwiLi4vY29tbW9uL21vZGVsXCI7XG5pbXBvcnQgeyBjYWxlbmRhclJhbmdlIH0gZnJvbSBcIi4uL2NvbW1vbi9oZWxwZXJzXCI7XG5cbmxldCBORVhUX0lEID0gMDtcblxuQENvbXBvbmVudCh7XG4gICAgcHJvdmlkZXJzOiBbXG4gICAgICAgIHtcbiAgICAgICAgICAgIHByb3ZpZGU6IE5HX1ZBTFVFX0FDQ0VTU09SLFxuICAgICAgICAgICAgdXNlRXhpc3Rpbmc6IElneE1vbnRoc1ZpZXdDb21wb25lbnQsXG4gICAgICAgICAgICBtdWx0aTogdHJ1ZSxcbiAgICAgICAgfSxcbiAgICAgICAge1xuICAgICAgICAgICAgcHJvdmlkZTogREFZX0lOVEVSVkFMX1RPS0VOLFxuICAgICAgICAgICAgdXNlVmFsdWU6IFwibW9udGhcIixcbiAgICAgICAgfSxcbiAgICBdLFxuICAgIHNlbGVjdG9yOiBcImlneC1tb250aHMtdmlld1wiLFxuICAgIHRlbXBsYXRlVXJsOiBcIm1vbnRocy12aWV3LmNvbXBvbmVudC5odG1sXCIsXG4gICAgc3RhbmRhbG9uZTogdHJ1ZSxcbiAgICBpbXBvcnRzOiBbTmdGb3IsIElneENhbGVuZGFyTW9udGhEaXJlY3RpdmUsIFRpdGxlQ2FzZVBpcGUsIERhdGVQaXBlXSxcbn0pXG5leHBvcnQgY2xhc3MgSWd4TW9udGhzVmlld0NvbXBvbmVudCBleHRlbmRzIElneENhbGVuZGFyVmlld0RpcmVjdGl2ZSBpbXBsZW1lbnRzIENvbnRyb2xWYWx1ZUFjY2Vzc29yIHtcbiAgICAjc3RhbmRhbG9uZSA9IHRydWU7XG5cbiAgICAvKipcbiAgICAgKiBTZXRzL2dldHMgdGhlIGBpZGAgb2YgdGhlIG1vbnRocyB2aWV3LlxuICAgICAqIElmIG5vdCBzZXQsIHRoZSBgaWRgIHdpbGwgaGF2ZSB2YWx1ZSBgXCJpZ3gtbW9udGhzLXZpZXctMFwiYC5cbiAgICAgKiBgYGBodG1sXG4gICAgICogPGlneC1tb250aHMtdmlldyBpZD1cIm15LW1vbnRocy12aWV3XCI+PC9pZ3gtbW9udGhzLXZpZXc+XG4gICAgICogYGBgXG4gICAgICogYGBgdHlwZXNjcmlwdFxuICAgICAqIGxldCBtb250aHNWaWV3SWQgPSAgdGhpcy5tb250aHNWaWV3LmlkO1xuICAgICAqIGBgYFxuICAgICAqXG4gICAgICogQG1lbWJlcm9mIElneE1vbnRoc1ZpZXdDb21wb25lbnRcbiAgICAgKi9cbiAgICBASG9zdEJpbmRpbmcoXCJhdHRyLmlkXCIpXG4gICAgQElucHV0KClcbiAgICBwdWJsaWMgaWQgPSBgaWd4LW1vbnRocy12aWV3LSR7TkVYVF9JRCsrfWA7XG5cbiAgICAvKipcbiAgICAgKiBUaGUgZGVmYXVsdCBjc3MgY2xhc3MgYXBwbGllZCB0byB0aGUgY29tcG9uZW50LlxuICAgICAqXG4gICAgICogQGhpZGRlblxuICAgICAqL1xuICAgIEBIb3N0QmluZGluZyhcImNsYXNzLmlneC1tb250aHMtdmlld1wiKVxuICAgIHB1YmxpYyByZWFkb25seSB2aWV3Q2xhc3MgPSB0cnVlO1xuXG4gICAgLyoqXG4gICAgICogQGhpZGRlbiBAaW50ZXJuYWxcbiAgICAgKi9cbiAgICBASW5wdXQoKVxuICAgIEBIb3N0QmluZGluZyhcImNsYXNzLmlneC1tb250aHMtdmlldy0tc3RhbmRhbG9uZVwiKVxuICAgIHB1YmxpYyBnZXQgc3RhbmRhbG9uZSgpIHtcbiAgICAgICAgcmV0dXJuIHRoaXMuI3N0YW5kYWxvbmU7XG4gICAgfVxuXG4gICAgcHVibGljIHNldCBzdGFuZGFsb25lKHZhbHVlOiBib29sZWFuKSB7XG4gICAgICAgIHRoaXMuI3N0YW5kYWxvbmUgPSB2YWx1ZTtcbiAgICB9XG5cbiAgICAvKipcbiAgICAgKiBHZXRzIHRoZSBtb250aCBmb3JtYXQgb3B0aW9uIG9mIHRoZSBtb250aHMgdmlldy5cbiAgICAgKiBgYGB0eXBlc2NyaXB0XG4gICAgICogbGV0IG1vbnRoRm9ybWF0ID0gdGhpcy5tb250aHNWaWV3Lm1vbnRoRm9ybWF0LlxuICAgICAqIGBgYFxuICAgICAqL1xuICAgIEBJbnB1dCgpXG4gICAgcHVibGljIGdldCBtb250aEZvcm1hdCgpOiBhbnkge1xuICAgICAgICByZXR1cm4gdGhpcy5fbW9udGhGb3JtYXQ7XG4gICAgfVxuXG4gICAgLyoqXG4gICAgICogU2V0cyB0aGUgbW9udGggZm9ybWF0IG9wdGlvbiBvZiB0aGUgbW9udGhzIHZpZXcuXG4gICAgICogYGBgaHRtbFxuICAgICAqIDxpZ3gtbW9udGhzLXZpZXc+IFttb250aEZvcm1hdF09XCJzaG9ydCdcIjwvaWd4LW1vbnRocy12aWV3PlxuICAgICAqIGBgYFxuICAgICAqXG4gICAgICogQG1lbWJlcm9mIElneE1vbnRoc1ZpZXdDb21wb25lbnRcbiAgICAgKi9cbiAgICBwdWJsaWMgc2V0IG1vbnRoRm9ybWF0KHZhbHVlOiBhbnkpIHtcbiAgICAgICAgdGhpcy5fbW9udGhGb3JtYXQgPSB2YWx1ZTtcbiAgICAgICAgdGhpcy5pbml0Rm9ybWF0dGVyKCk7XG4gICAgfVxuXG4gICAgLyoqXG4gICAgICogR2V0cy9zZXRzIHdoZXRoZXIgdGhlIHZpZXcgc2hvdWxkIGJlIHJlbmRlcmVkXG4gICAgICogYWNjb3JkaW5nIHRvIHRoZSBsb2NhbGUgYW5kIGZvcm1hdCwgaWYgYW55LlxuICAgICAqL1xuICAgIEBJbnB1dCh7IHRyYW5zZm9ybTogYm9vbGVhbkF0dHJpYnV0ZSB9KVxuICAgIHB1YmxpYyBvdmVycmlkZSBmb3JtYXRWaWV3ID0gdHJ1ZTtcblxuICAgIC8qKlxuICAgICAqIFJldHVybnMgYW4gYXJyYXkgb2YgZGF0ZSBvYmplY3RzIHdoaWNoIGFyZSB0aGVuIHVzZWQgdG9cbiAgICAgKiBwcm9wZXJseSByZW5kZXIgdGhlIG1vbnRoIG5hbWVzLlxuICAgICAqXG4gICAgICogVXNlZCBpbiB0aGUgdGVtcGxhdGUgb2YgdGhlIGNvbXBvbmVudFxuICAgICAqXG4gICAgICogQGhpZGRlbiBAaW50ZXJuYWxcbiAgICAgKi9cbiAgICBwdWJsaWMgZ2V0IHJhbmdlKCk6IERhdGVbXSB7XG4gICAgICAgIGNvbnN0IHN0YXJ0ID0gQ2FsZW5kYXJEYXkuZnJvbSh0aGlzLmRhdGUpLnNldCh7IGRhdGU6IDEsIG1vbnRoOiAwIH0pO1xuICAgICAgICBjb25zdCBlbmQgPSBzdGFydC5hZGQodGhpcy5kYXlJbnRlcnZhbCwgMTIpO1xuXG4gICAgICAgIHJldHVybiBBcnJheS5mcm9tKFxuICAgICAgICAgICAgY2FsZW5kYXJSYW5nZSh7IHN0YXJ0LCBlbmQsIHVuaXQ6IHRoaXMuZGF5SW50ZXJ2YWwgfSksXG4gICAgICAgICkubWFwKChtKSA9PiBtLm5hdGl2ZSk7XG4gICAgfVxuXG4gICAgLyoqXG4gICAgICogQGhpZGRlblxuICAgICAqL1xuICAgIHByaXZhdGUgX21vbnRoRm9ybWF0ID0gXCJzaG9ydFwiO1xuXG4gICAgY29uc3RydWN0b3IoXG4gICAgICAgIHB1YmxpYyBlbDogRWxlbWVudFJlZixcbiAgICAgICAgQEluamVjdChEQVlfSU5URVJWQUxfVE9LRU4pIGRheUludGVydmFsOiBEYXlJbnRlcnZhbCxcbiAgICApIHtcbiAgICAgICAgc3VwZXIoZGF5SW50ZXJ2YWwpO1xuICAgIH1cblxuICAgIC8qKlxuICAgICAqIFJldHVybnMgdGhlIGxvY2FsZSByZXByZXNlbnRhdGlvbiBvZiB0aGUgbW9udGggaW4gdGhlIG1vbnRocyB2aWV3LlxuICAgICAqXG4gICAgICogQGhpZGRlblxuICAgICAqL1xuICAgIHB1YmxpYyBmb3JtYXR0ZWRNb250aCh2YWx1ZTogRGF0ZSk6IHsgbG9uZzogc3RyaW5nOyBmb3JtYXR0ZWQ6IHN0cmluZyB9IHtcbiAgICAgICAgY29uc3QgcmF3Rm9ybWF0dGVyID0gbmV3IEludGwuRGF0ZVRpbWVGb3JtYXQodGhpcy5sb2NhbGUsIHtcbiAgICAgICAgICAgIG1vbnRoOiBcImxvbmdcIixcbiAgICAgICAgICAgIHllYXI6IFwibnVtZXJpY1wiLFxuICAgICAgICB9KTtcblxuICAgICAgICBpZiAodGhpcy5mb3JtYXRWaWV3KSB7XG4gICAgICAgICAgICByZXR1cm4ge1xuICAgICAgICAgICAgICAgIGxvbmc6IHJhd0Zvcm1hdHRlci5mb3JtYXQodmFsdWUpLFxuICAgICAgICAgICAgICAgIGZvcm1hdHRlZDogdGhpcy5fZm9ybWF0dGVyLmZvcm1hdCh2YWx1ZSksXG4gICAgICAgICAgICB9O1xuICAgICAgICB9XG5cbiAgICAgICAgcmV0dXJuIHtcbiAgICAgICAgICAgIGxvbmc6IHJhd0Zvcm1hdHRlci5mb3JtYXQodmFsdWUpLFxuICAgICAgICAgICAgZm9ybWF0dGVkOiBgJHt2YWx1ZS5nZXRNb250aCgpfWAsXG4gICAgICAgIH07XG4gICAgfVxuXG4gICAgLyoqXG4gICAgICogQGhpZGRlblxuICAgICAqL1xuICAgIHB1YmxpYyBtb250aFRyYWNrZXIoXzogbnVtYmVyLCBpdGVtOiBEYXRlKTogc3RyaW5nIHtcbiAgICAgICAgcmV0dXJuIGAke2l0ZW0uZ2V0TW9udGgoKX19YDtcbiAgICB9XG5cbiAgICAvKipcbiAgICAgKiBAaGlkZGVuXG4gICAgICovXG4gICAgcHJvdGVjdGVkIGluaXRGb3JtYXR0ZXIoKSB7XG4gICAgICAgIHRoaXMuX2Zvcm1hdHRlciA9IG5ldyBJbnRsLkRhdGVUaW1lRm9ybWF0KHRoaXMuX2xvY2FsZSwge1xuICAgICAgICAgICAgbW9udGg6IHRoaXMubW9udGhGb3JtYXQsXG4gICAgICAgIH0pO1xuICAgIH1cbn1cbiIsIjxkaXYgY2xhc3M9XCJpZ3gtbW9udGhzLXZpZXdfX2dyaWRcIiByb2xlPVwicm93XCI+XG4gICAgPHNwYW5cbiAgICAgICAgaWd4Q2FsZW5kYXJNb250aFxuICAgICAgICAjaXRlbT1cImlneENhbGVuZGFyTW9udGhcIlxuICAgICAgICAqbmdGb3I9XCJsZXQgbW9udGggb2YgcmFuZ2U7IHRyYWNrQnk6IG1vbnRoVHJhY2tlclwiXG4gICAgICAgIGNsYXNzPVwiaWd4LW1vbnRocy12aWV3X19tb250aFwiXG4gICAgICAgIHJvbGU9XCJncmlkY2VsbFwiXG4gICAgICAgIFthdHRyLmlkXT1cIm1vbnRoLmdldFRpbWUoKVwiXG4gICAgICAgIFthdHRyLmFyaWEtbGFiZWxdPVwiZm9ybWF0dGVkTW9udGgobW9udGgpLmxvbmdcIlxuICAgICAgICBbYXR0ci5hcmlhLXNlbGVjdGVkXT1cIml0ZW0uaXNTZWxlY3RlZFwiXG4gICAgICAgIFt2YWx1ZV09XCJtb250aFwiXG4gICAgICAgIFtkYXRlXT1cImRhdGVcIlxuICAgICAgICBbc2hvd0FjdGl2ZV09XCJzaG93QWN0aXZlXCJcbiAgICAgICAgKGl0ZW1TZWxlY3Rpb24pPVwic2VsZWN0RGF0ZSgkZXZlbnQpXCJcbiAgICA+XG4gICAgICAgIDxzcGFuIGNsYXNzPVwiaWd4LW1vbnRocy12aWV3X19tb250aC1pbm5lclwiIGFyaWEtaGlkZGVuPVwidHJ1ZVwiPlxuICAgICAgICAgICAge3sgZm9ybWF0dGVkTW9udGgobW9udGgpLmZvcm1hdHRlZCB8IHRpdGxlY2FzZSB9fVxuICAgICAgICA8L3NwYW4+XG4gICAgPC9zcGFuPlxuPC9kaXY+XG4iXX0=
|
|
@@ -146,4 +146,4 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.2.4", ngImpor
|
|
|
146
146
|
}], yearFormat: [{
|
|
147
147
|
type: Input
|
|
148
148
|
}] } });
|
|
149
|
-
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoieWVhcnMtdmlldy5jb21wb25lbnQuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9pZ25pdGV1aS1hbmd1bGFyL3NyYy9saWIvY2FsZW5kYXIveWVhcnMtdmlldy95ZWFycy12aWV3LmNvbXBvbmVudC50cyIsIi4uLy4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL2lnbml0ZXVpLWFuZ3VsYXIvc3JjL2xpYi9jYWxlbmRhci95ZWFycy12aWV3L3llYXJzLXZpZXcuY29tcG9uZW50Lmh0bWwiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUNILFNBQVMsRUFDVCxLQUFLLEVBQ0wsV0FBVyxFQUVYLE1BQU0sR0FDVCxNQUFNLGVBQWUsQ0FBQztBQUN2QixPQUFPLEVBQUUsd0JBQXdCLEVBQUUsTUFBTSx3QkFBd0IsQ0FBQztBQUNsRSxPQUFPLEVBQUUsS0FBSyxFQUFFLE1BQU0saUJBQWlCLENBQUM7QUFDeEMsT0FBTyxFQUNILHdCQUF3QixFQUN4QixrQkFBa0IsR0FDckIsTUFBTSxtQ0FBbUMsQ0FBQztBQUMzQyxPQUFPLEVBQXdCLGlCQUFpQixFQUFFLE1BQU0sZ0JBQWdCLENBQUM7QUFDekUsT0FBTyxFQUFFLFdBQVcsRUFBZSxNQUFNLGlCQUFpQixDQUFDO0FBQzNELE9BQU8sRUFBRSxhQUFhLEVBQUUsTUFBTSxtQkFBbUIsQ0FBQzs7QUFtQmxELE1BQU0sT0FBTyxxQkFBc0IsU0FBUSx3QkFBd0I7SUFDL0QsV0FBVyxDQUFRO0lBVW5COztPQUVHO0lBQ0gsSUFFUSxVQUFVO1FBQ2QsT0FBTyxJQUFJLENBQUMsV0FBVyxDQUFDO0lBQzVCLENBQUM7SUFFSixJQUFXLFVBQVUsQ0FBQyxLQUFjO1FBQzdCLElBQUksQ0FBQyxXQUFXLEdBQUcsS0FBSyxDQUFDO0lBQzdCLENBQUM7SUFZRDs7Ozs7T0FLRztJQUNILElBQ1csVUFBVTtRQUNqQixPQUFPLElBQUksQ0FBQyxXQUFXLENBQUM7SUFD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QUVoQyxxQkFBcUI7a0JBakJqQyxTQUFTO2dDQUNLO3dCQUNQOzRCQUNJLE9BQU8sRUFBRSxpQkFBaUI7NEJBQzFCLFdBQVcsdUJBQXVCOzRCQUNsQyxLQUFLLEVBQUUsSUFBSTt5QkFDZDt3QkFDRDs0QkFDSSxPQUFPLEVBQUUsa0JBQWtCOzRCQUMzQixRQUFRLEVBQUUsTUFBTTt5QkFDbkI7cUJBQ0osWUFDUyxnQkFBZ0IsY0FFZCxJQUFJLFdBQ1AsQ0FBQyxLQUFLLEVBQUUsd0JBQXdCLENBQUM7OzBCQW1GckMsTUFBTTsyQkFBQyxrQkFBa0I7eUNBeEVkLFNBQVM7c0JBRHhCLFdBQVc7dUJBQUMsc0JBQXNCO2dCQVEzQixVQUFVO3NCQUZqQixLQUFLOztzQkFDUixXQUFXO3VCQUFDLGtDQUFrQztnQkEwQmpDLFVBQVU7c0JBRHBCLEtBQUsiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQge1xuICAgIENvbXBvbmVudCxcbiAgICBJbnB1dCxcbiAgICBIb3N0QmluZGluZyxcbiAgICBFbGVtZW50UmVmLFxuICAgIEluamVjdCxcbn0gZnJvbSBcIkBhbmd1bGFyL2NvcmVcIjtcbmltcG9ydCB7IElneENhbGVuZGFyWWVhckRpcmVjdGl2ZSB9IGZyb20gXCIuLi9jYWxlbmRhci5kaXJlY3RpdmVzXCI7XG5pbXBvcnQgeyBOZ0ZvciB9IGZyb20gXCJAYW5ndWxhci9jb21tb25cIjtcbmltcG9ydCB7XG4gICAgSWd4Q2FsZW5kYXJWaWV3RGlyZWN0aXZlLFxuICAgIERBWV9JTlRFUlZBTF9UT0tFTixcbn0gZnJvbSBcIi4uL2NvbW1vbi9jYWxlbmRhci12aWV3LmRpcmVjdGl2ZVwiO1xuaW1wb3J0IHsgQ29udHJvbFZhbHVlQWNjZXNzb3IsIE5HX1ZBTFVFX0FDQ0VTU09SIH0gZnJvbSBcIkBhbmd1bGFyL2Zvcm1zXCI7XG5pbXBvcnQgeyBDYWxlbmRhckRheSwgRGF5SW50ZXJ2YWwgfSBmcm9tIFwiLi4vY29tbW9uL21vZGVsXCI7XG5pbXBvcnQgeyBjYWxlbmRhclJhbmdlIH0gZnJvbSBcIi4uL2NvbW1vbi9oZWxwZXJzXCI7XG5cbkBDb21wb25lbnQoe1xuICAgIHByb3ZpZGVyczogW1xuICAgICAgICB7XG4gICAgICAgICAgICBwcm92aWRlOiBOR19WQUxVRV9BQ0NFU1NPUixcbiAgICAgICAgICAgIHVzZUV4aXN0aW5nOiBJZ3hZZWFyc1ZpZXdDb21wb25lbnQsXG4gICAgICAgICAgICBtdWx0aTogdHJ1ZSxcbiAgICAgICAgfSxcbiAgICAgICAge1xuICAgICAgICAgICAgcHJvdmlkZTogREFZX0lOVEVSVkFMX1RPS0VOLFxuICAgICAgICAgICAgdXNlVmFsdWU6IFwieWVhclwiLFxuICAgICAgICB9LFxuICAgIF0sXG4gICAgc2VsZWN0b3I6IFwiaWd4LXllYXJzLXZpZXdcIixcbiAgICB0ZW1wbGF0ZVVybDogXCJ5ZWFycy12aWV3LmNvbXBvbmVudC5odG1sXCIsXG4gICAgc3RhbmRhbG9uZTogdHJ1ZSxcbiAgICBpbXBvcnRzOiBbTmdGb3IsIElneENhbGVuZGFyWWVhckRpcmVjdGl2ZV0sXG59KVxuZXhwb3J0IGNsYXNzIElneFllYXJzVmlld0NvbXBvbmVudCBleHRlbmRzIElneENhbGVuZGFyVmlld0RpcmVjdGl2ZSBpbXBsZW1lbnRzIENvbnRyb2xWYWx1ZUFjY2Vzc29yIHtcbiAgICAjc3RhbmRhbG9uZSA9IHRydWU7XG5cbiAgICAvKipcbiAgICAgKiBUaGUgZGVmYXVsdCBjc3MgY2xhc3MgYXBwbGllZCB0byB0aGUgY29tcG9uZW50LlxuICAgICAqXG4gICAgICogQGhpZGRlblxuICAgICAqL1xuICAgIEBIb3N0QmluZGluZyhcImNsYXNzLmlneC15ZWFycy12aWV3XCIpXG4gICAgcHVibGljIHJlYWRvbmx5IHZpZXdDbGFzcyA9IHRydWU7XG5cbiAgICAvKipcbiAgICAgKiBAaGlkZGVuIEBpbnRlcm5hbFxuICAgICAqL1xuICAgIEBJbnB1dCgpXG5cdEBIb3N0QmluZGluZygnY2xhc3MuaWd4LXllYXJzLXZpZXctLXN0YW5kYWxvbmUnKVxuXHRwdWJsaWMgZ2V0IHN0YW5kYWxvbmUoKSB7XG4gICAgICAgIHJldHVybiB0aGlzLiNzdGFuZGFsb25lO1xuICAgIH1cblxuXHRwdWJsaWMgc2V0IHN0YW5kYWxvbmUodmFsdWU6IGJvb2xlYW4pIHtcbiAgICAgICAgdGhpcy4jc3RhbmRhbG9uZSA9IHZhbHVlO1xuICAgIH1cblxuICAgIC8qKlxuICAgICAqIEBoaWRkZW5cbiAgICAgKi9cbiAgICBwcml2YXRlIF95ZWFyRm9ybWF0ID0gXCJudW1lcmljXCI7XG5cbiAgICAvKipcbiAgICAgKiBAaGlkZGVuXG4gICAgICovXG4gICAgcHJpdmF0ZSBfeWVhcnNQZXJQYWdlID0gMTU7XG5cbiAgICAvKipcbiAgICAgKiBHZXRzIHRoZSB5ZWFyIGZvcm1hdCBvcHRpb24gb2YgdGhlIHllYXJzIHZpZXcuXG4gICAgICogYGBgdHlwZXNjcmlwdFxuICAgICAqIGxldCB5ZWFyRm9ybWF0ID0gdGhpcy55ZWFyc1ZpZXcueWVhckZvcm1hdC5cbiAgICAgKiBgYGBcbiAgICAgKi9cbiAgICBASW5wdXQoKVxuICAgIHB1YmxpYyBnZXQgeWVhckZvcm1hdCgpOiBhbnkge1xuICAgICAgICByZXR1cm4gdGhpcy5feWVhckZvcm1hdDtcbiAgICB9XG5cbiAgICAvKipcbiAgICAgKiBTZXRzIHRoZSB5ZWFyIGZvcm1hdCBvcHRpb24gb2YgdGhlIHllYXJzIHZpZXcuXG4gICAgICogYGBgaHRtbFxuICAgICAqIDxpZ3gteWVhcnMtdmlldyBbeWVhckZvcm1hdF09XCJudW1lcmljXCI+PC9pZ3gteWVhcnMtdmlldz5cbiAgICAgKiBgYGBcbiAgICAgKlxuICAgICAqIEBtZW1iZXJvZiBJZ3hZZWFyc1ZpZXdDb21wb25lbnRcbiAgICAgKi9cbiAgICBwdWJsaWMgc2V0IHllYXJGb3JtYXQodmFsdWU6IGFueSkge1xuICAgICAgICB0aGlzLl95ZWFyRm9ybWF0ID0gdmFsdWU7XG4gICAgICAgIHRoaXMuaW5pdEZvcm1hdHRlcigpO1xuICAgIH1cblxuICAgIC8qKlxuICAgICAqIFJldHVybnMgYW4gYXJyYXkgb2YgZGF0ZSBvYmplY3RzIHdoaWNoIGFyZSB0aGVuIHVzZWQgdG8gcHJvcGVybHlcbiAgICAgKiByZW5kZXIgdGhlIHllYXJzLlxuICAgICAqXG4gICAgICogVXNlZCBpbiB0aGUgdGVtcGxhdGUgb2YgdGhlIGNvbXBvbmVudC5cbiAgICAgKlxuICAgICAqIEBoaWRkZW4gQGludGVybmFsXG4gICAgICovXG4gICAgcHVibGljIGdldCByYW5nZSgpOiBEYXRlW10ge1xuICAgICAgICBjb25zdCB5ZWFyID0gdGhpcy5kYXRlLmdldEZ1bGxZZWFyKCk7XG4gICAgICAgIGNvbnN0IHN0YXJ0ID0gbmV3IENhbGVuZGFyRGF5KHtcbiAgICAgICAgICAgIHllYXI6IE1hdGguZmxvb3IoeWVhciAvIHRoaXMuX3llYXJzUGVyUGFnZSkgKiB0aGlzLl95ZWFyc1BlclBhZ2UsXG4gICAgICAgICAgICBtb250aDogdGhpcy5kYXRlLmdldE1vbnRoKCksXG4gICAgICAgIH0pO1xuICAgICAgICBjb25zdCBlbmQgPSBzdGFydC5hZGQodGhpcy5kYXlJbnRlcnZhbCwgdGhpcy5feWVhcnNQZXJQYWdlKTtcblxuICAgICAgICByZXR1cm4gQXJyYXkuZnJvbShjYWxlbmRhclJhbmdlKHsgc3RhcnQsIGVuZCwgdW5pdDogdGhpcy5kYXlJbnRlcnZhbCB9KSkubWFwKFxuICAgICAgICAgICAgKG0pID0+IG0ubmF0aXZlLFxuICAgICAgICApO1xuICAgIH1cblxuICAgIGNvbnN0cnVjdG9yKFxuICAgICAgICBwdWJsaWMgZWw6IEVsZW1lbnRSZWYsXG4gICAgICAgIEBJbmplY3QoREFZX0lOVEVSVkFMX1RPS0VOKSBkYXlJbnRlcnZhbDogRGF5SW50ZXJ2YWwsXG4gICAgKSB7XG4gICAgICAgIHN1cGVyKGRheUludGVydmFsKTtcbiAgICB9XG5cbiAgICAvKipcbiAgICAgKiBSZXR1cm5zIHRoZSBsb2NhbGUgcmVwcmVzZW50YXRpb24gb2YgdGhlIHllYXIgaW4gdGhlIHllYXJzIHZpZXcuXG4gICAgICpcbiAgICAgKiBAaGlkZGVuXG4gICAgICovXG4gICAgcHVibGljIGZvcm1hdHRlZFllYXIodmFsdWU6IERhdGUpOiB7bG9uZzogc3RyaW5nLCBmb3JtYXR0ZWQ6IHN0cmluZ30ge1xuICAgICAgICBjb25zdCByYXdGb3JtYXR0ZXIgPSBuZXcgSW50bC5EYXRlVGltZUZvcm1hdCh0aGlzLmxvY2FsZSwgeyB5ZWFyOiAnbnVtZXJpYycgfSk7XG5cbiAgICAgICAgaWYgKHRoaXMuZm9ybWF0Vmlldykge1xuICAgICAgICAgICAgcmV0dXJuIHtcbiAgICAgICAgICAgICAgICBsb25nOiByYXdGb3JtYXR0ZXIuZm9ybWF0KHZhbHVlKSxcbiAgICAgICAgICAgICAgICBmb3JtYXR0ZWQ6IHRoaXMuX2Zvcm1hdHRlci5mb3JtYXQodmFsdWUpXG4gICAgICAgICAgICB9XG4gICAgICAgIH1cblxuICAgICAgICByZXR1cm4ge1xuICAgICAgICAgICAgbG9uZzogcmF3Rm9ybWF0dGVyLmZvcm1hdCh2YWx1ZSksXG4gICAgICAgICAgICBmb3JtYXR0ZWQ6IGAke3ZhbHVlLmdldEZ1bGxZZWFyKCl9YFxuICAgICAgICB9XG4gICAgfVxuXG4gICAgLyoqXG4gICAgICogQGhpZGRlblxuICAgICAqL1xuICAgIHB1YmxpYyB5ZWFyVHJhY2tlcihfOiBudW1iZXIsIGl0ZW06IERhdGUpOiBzdHJpbmcge1xuICAgICAgICByZXR1cm4gYCR7aXRlbS5nZXRGdWxsWWVhcigpfX1gO1xuICAgIH1cblxuICAgIC8qKlxuICAgICAqIEBoaWRkZW5cbiAgICAgKi9cbiAgICBwcm90ZWN0ZWQgaW5pdEZvcm1hdHRlcigpIHtcbiAgICAgICAgdGhpcy5fZm9ybWF0dGVyID0gbmV3IEludGwuRGF0ZVRpbWVGb3JtYXQodGhpcy5fbG9jYWxlLCB7XG4gICAgICAgICAgICB5ZWFyOiB0aGlzLnllYXJGb3JtYXQsXG4gICAgICAgIH0pO1xuICAgIH1cbn1cbiIsIjxkaXYgY2xhc3M9XCJpZ3gteWVhcnMtdmlld19fZ3JpZFwiIHJvbGU9XCJyb3dcIj5cbiAgICA8c3BhblxuICAgICAgICBpZ3hDYWxlbmRhclllYXJcbiAgICAgICAgI2l0ZW09XCJpZ3hDYWxlbmRhclllYXJcIlxuICAgICAgICAqbmdGb3I9XCJsZXQgeWVhciBvZiByYW5nZTsgdHJhY2tCeTogeWVhclRyYWNrZXJcIlxuICAgICAgICBjbGFzcz1cImlneC15ZWFycy12aWV3X195ZWFyXCJcbiAgICAgICAgcm9sZT1cImdyaWRjZWxsXCJcbiAgICAgICAgW2F0dHIuaWRdPVwieWVhci5nZXRUaW1lKClcIlxuICAgICAgICBbYXR0ci5hcmlhLWxhYmVsXT1cImZvcm1hdHRlZFllYXIoeWVhcikubG9uZ1wiXG4gICAgICAgIFthdHRyLmFyaWEtc2VsZWN0ZWRdPVwiaXRlbS5pc1NlbGVjdGVkXCJcbiAgICAgICAgW2F0dHIuYXJpYS1jdXJyZW50XT1cIml0ZW0uaXNDdXJyZW50XCJcbiAgICAgICAgW3ZhbHVlXT1cInllYXJcIlxuICAgICAgICBbZGF0ZV09XCJkYXRlXCJcbiAgICAgICAgW3Nob3dBY3RpdmVdPVwic2hvd0FjdGl2ZVwiXG4gICAgICAgIChpdGVtU2VsZWN0aW9uKT1cInNlbGVjdERhdGUoJGV2ZW50KVwiXG4gICAgPlxuICAgICAgICA8c3BhbiBjbGFzcz1cImlneC15ZWFycy12aWV3X195ZWFyLWlubmVyXCIgYXJpYS1oaWRkZW49XCJ0cnVlXCI+XG4gICAgICAgICAgICB7eyBmb3JtYXR0ZWRZZWFyKHllYXIpLmZvcm1hdHRlZCB9fVxuICAgICAgICA8L3NwYW4+XG4gICAgPC9zcGFuPlxuPC9kaXY+XG4iXX0=
|
|
149
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoieWVhcnMtdmlldy5jb21wb25lbnQuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9pZ25pdGV1aS1hbmd1bGFyL3NyYy9saWIvY2FsZW5kYXIveWVhcnMtdmlldy95ZWFycy12aWV3LmNvbXBvbmVudC50cyIsIi4uLy4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL2lnbml0ZXVpLWFuZ3VsYXIvc3JjL2xpYi9jYWxlbmRhci95ZWFycy12aWV3L3llYXJzLXZpZXcuY29tcG9uZW50Lmh0bWwiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUNILFNBQVMsRUFDVCxLQUFLLEVBQ0wsV0FBVyxFQUVYLE1BQU0sR0FDVCxNQUFNLGVBQWUsQ0FBQztBQUN2QixPQUFPLEVBQUUsd0JBQXdCLEVBQUUsTUFBTSx3QkFBd0IsQ0FBQztBQUNsRSxPQUFPLEVBQUUsS0FBSyxFQUFFLE1BQU0saUJBQWlCLENBQUM7QUFDeEMsT0FBTyxFQUNILHdCQUF3QixFQUN4QixrQkFBa0IsR0FDckIsTUFBTSxtQ0FBbUMsQ0FBQztBQUMzQyxPQUFPLEVBQXdCLGlCQUFpQixFQUFFLE1BQU0sZ0JBQWdCLENBQUM7QUFDekUsT0FBTyxFQUFFLFdBQVcsRUFBRSxNQUFNLGlCQUFpQixDQUFDO0FBRTlDLE9BQU8sRUFBRSxhQUFhLEVBQUUsTUFBTSxtQkFBbUIsQ0FBQzs7QUFtQmxELE1BQU0sT0FBTyxxQkFBc0IsU0FBUSx3QkFBd0I7SUFDL0QsV0FBVyxDQUFRO0lBVW5COztPQUVHO0lBQ0gsSUFFUSxVQUFVO1FBQ2QsT0FBTyxJQUFJLENBQUMsV0FBVyxDQUFDO0lBQzVCLENBQUM7SUFFSixJQUFXLFVBQVUsQ0FBQyxLQUFjO1FBQzdCLElBQUksQ0FBQyxXQUFXLEdBQUcsS0FBSyxDQUFDO0lBQzdCLENBQUM7SUFZRDs7Ozs7T0FLRztJQUNILElBQ1csVUFBVTtRQUNqQixPQUFPLElBQUksQ0FBQyxXQUFXLENBQUM7SUFD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QUVoQyxxQkFBcUI7a0JBakJqQyxTQUFTO2dDQUNLO3dCQUNQOzRCQUNJLE9BQU8sRUFBRSxpQkFBaUI7NEJBQzFCLFdBQVcsdUJBQXVCOzRCQUNsQyxLQUFLLEVBQUUsSUFBSTt5QkFDZDt3QkFDRDs0QkFDSSxPQUFPLEVBQUUsa0JBQWtCOzRCQUMzQixRQUFRLEVBQUUsTUFBTTt5QkFDbkI7cUJBQ0osWUFDUyxnQkFBZ0IsY0FFZCxJQUFJLFdBQ1AsQ0FBQyxLQUFLLEVBQUUsd0JBQXdCLENBQUM7OzBCQW1GckMsTUFBTTsyQkFBQyxrQkFBa0I7eUNBeEVkLFNBQVM7c0JBRHhCLFdBQVc7dUJBQUMsc0JBQXNCO2dCQVEzQixVQUFVO3NCQUZqQixLQUFLOztzQkFDUixXQUFXO3VCQUFDLGtDQUFrQztnQkEwQmpDLFVBQVU7c0JBRHBCLEtBQUsiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQge1xuICAgIENvbXBvbmVudCxcbiAgICBJbnB1dCxcbiAgICBIb3N0QmluZGluZyxcbiAgICBFbGVtZW50UmVmLFxuICAgIEluamVjdCxcbn0gZnJvbSBcIkBhbmd1bGFyL2NvcmVcIjtcbmltcG9ydCB7IElneENhbGVuZGFyWWVhckRpcmVjdGl2ZSB9IGZyb20gXCIuLi9jYWxlbmRhci5kaXJlY3RpdmVzXCI7XG5pbXBvcnQgeyBOZ0ZvciB9IGZyb20gXCJAYW5ndWxhci9jb21tb25cIjtcbmltcG9ydCB7XG4gICAgSWd4Q2FsZW5kYXJWaWV3RGlyZWN0aXZlLFxuICAgIERBWV9JTlRFUlZBTF9UT0tFTixcbn0gZnJvbSBcIi4uL2NvbW1vbi9jYWxlbmRhci12aWV3LmRpcmVjdGl2ZVwiO1xuaW1wb3J0IHsgQ29udHJvbFZhbHVlQWNjZXNzb3IsIE5HX1ZBTFVFX0FDQ0VTU09SIH0gZnJvbSBcIkBhbmd1bGFyL2Zvcm1zXCI7XG5pbXBvcnQgeyBDYWxlbmRhckRheSB9IGZyb20gXCIuLi9jb21tb24vbW9kZWxcIjtcbmltcG9ydCB0eXBlIHsgRGF5SW50ZXJ2YWwgfSBmcm9tIFwiLi4vY29tbW9uL21vZGVsXCI7XG5pbXBvcnQgeyBjYWxlbmRhclJhbmdlIH0gZnJvbSBcIi4uL2NvbW1vbi9oZWxwZXJzXCI7XG5cbkBDb21wb25lbnQoe1xuICAgIHByb3ZpZGVyczogW1xuICAgICAgICB7XG4gICAgICAgICAgICBwcm92aWRlOiBOR19WQUxVRV9BQ0NFU1NPUixcbiAgICAgICAgICAgIHVzZUV4aXN0aW5nOiBJZ3hZZWFyc1ZpZXdDb21wb25lbnQsXG4gICAgICAgICAgICBtdWx0aTogdHJ1ZSxcbiAgICAgICAgfSxcbiAgICAgICAge1xuICAgICAgICAgICAgcHJvdmlkZTogREFZX0lOVEVSVkFMX1RPS0VOLFxuICAgICAgICAgICAgdXNlVmFsdWU6IFwieWVhclwiLFxuICAgICAgICB9LFxuICAgIF0sXG4gICAgc2VsZWN0b3I6IFwiaWd4LXllYXJzLXZpZXdcIixcbiAgICB0ZW1wbGF0ZVVybDogXCJ5ZWFycy12aWV3LmNvbXBvbmVudC5odG1sXCIsXG4gICAgc3RhbmRhbG9uZTogdHJ1ZSxcbiAgICBpbXBvcnRzOiBbTmdGb3IsIElneENhbGVuZGFyWWVhckRpcmVjdGl2ZV0sXG59KVxuZXhwb3J0IGNsYXNzIElneFllYXJzVmlld0NvbXBvbmVudCBleHRlbmRzIElneENhbGVuZGFyVmlld0RpcmVjdGl2ZSBpbXBsZW1lbnRzIENvbnRyb2xWYWx1ZUFjY2Vzc29yIHtcbiAgICAjc3RhbmRhbG9uZSA9IHRydWU7XG5cbiAgICAvKipcbiAgICAgKiBUaGUgZGVmYXVsdCBjc3MgY2xhc3MgYXBwbGllZCB0byB0aGUgY29tcG9uZW50LlxuICAgICAqXG4gICAgICogQGhpZGRlblxuICAgICAqL1xuICAgIEBIb3N0QmluZGluZyhcImNsYXNzLmlneC15ZWFycy12aWV3XCIpXG4gICAgcHVibGljIHJlYWRvbmx5IHZpZXdDbGFzcyA9IHRydWU7XG5cbiAgICAvKipcbiAgICAgKiBAaGlkZGVuIEBpbnRlcm5hbFxuICAgICAqL1xuICAgIEBJbnB1dCgpXG5cdEBIb3N0QmluZGluZygnY2xhc3MuaWd4LXllYXJzLXZpZXctLXN0YW5kYWxvbmUnKVxuXHRwdWJsaWMgZ2V0IHN0YW5kYWxvbmUoKSB7XG4gICAgICAgIHJldHVybiB0aGlzLiNzdGFuZGFsb25lO1xuICAgIH1cblxuXHRwdWJsaWMgc2V0IHN0YW5kYWxvbmUodmFsdWU6IGJvb2xlYW4pIHtcbiAgICAgICAgdGhpcy4jc3RhbmRhbG9uZSA9IHZhbHVlO1xuICAgIH1cblxuICAgIC8qKlxuICAgICAqIEBoaWRkZW5cbiAgICAgKi9cbiAgICBwcml2YXRlIF95ZWFyRm9ybWF0ID0gXCJudW1lcmljXCI7XG5cbiAgICAvKipcbiAgICAgKiBAaGlkZGVuXG4gICAgICovXG4gICAgcHJpdmF0ZSBfeWVhcnNQZXJQYWdlID0gMTU7XG5cbiAgICAvKipcbiAgICAgKiBHZXRzIHRoZSB5ZWFyIGZvcm1hdCBvcHRpb24gb2YgdGhlIHllYXJzIHZpZXcuXG4gICAgICogYGBgdHlwZXNjcmlwdFxuICAgICAqIGxldCB5ZWFyRm9ybWF0ID0gdGhpcy55ZWFyc1ZpZXcueWVhckZvcm1hdC5cbiAgICAgKiBgYGBcbiAgICAgKi9cbiAgICBASW5wdXQoKVxuICAgIHB1YmxpYyBnZXQgeWVhckZvcm1hdCgpOiBhbnkge1xuICAgICAgICByZXR1cm4gdGhpcy5feWVhckZvcm1hdDtcbiAgICB9XG5cbiAgICAvKipcbiAgICAgKiBTZXRzIHRoZSB5ZWFyIGZvcm1hdCBvcHRpb24gb2YgdGhlIHllYXJzIHZpZXcuXG4gICAgICogYGBgaHRtbFxuICAgICAqIDxpZ3gteWVhcnMtdmlldyBbeWVhckZvcm1hdF09XCJudW1lcmljXCI+PC9pZ3gteWVhcnMtdmlldz5cbiAgICAgKiBgYGBcbiAgICAgKlxuICAgICAqIEBtZW1iZXJvZiBJZ3hZZWFyc1ZpZXdDb21wb25lbnRcbiAgICAgKi9cbiAgICBwdWJsaWMgc2V0IHllYXJGb3JtYXQodmFsdWU6IGFueSkge1xuICAgICAgICB0aGlzLl95ZWFyRm9ybWF0ID0gdmFsdWU7XG4gICAgICAgIHRoaXMuaW5pdEZvcm1hdHRlcigpO1xuICAgIH1cblxuICAgIC8qKlxuICAgICAqIFJldHVybnMgYW4gYXJyYXkgb2YgZGF0ZSBvYmplY3RzIHdoaWNoIGFyZSB0aGVuIHVzZWQgdG8gcHJvcGVybHlcbiAgICAgKiByZW5kZXIgdGhlIHllYXJzLlxuICAgICAqXG4gICAgICogVXNlZCBpbiB0aGUgdGVtcGxhdGUgb2YgdGhlIGNvbXBvbmVudC5cbiAgICAgKlxuICAgICAqIEBoaWRkZW4gQGludGVybmFsXG4gICAgICovXG4gICAgcHVibGljIGdldCByYW5nZSgpOiBEYXRlW10ge1xuICAgICAgICBjb25zdCB5ZWFyID0gdGhpcy5kYXRlLmdldEZ1bGxZZWFyKCk7XG4gICAgICAgIGNvbnN0IHN0YXJ0ID0gbmV3IENhbGVuZGFyRGF5KHtcbiAgICAgICAgICAgIHllYXI6IE1hdGguZmxvb3IoeWVhciAvIHRoaXMuX3llYXJzUGVyUGFnZSkgKiB0aGlzLl95ZWFyc1BlclBhZ2UsXG4gICAgICAgICAgICBtb250aDogdGhpcy5kYXRlLmdldE1vbnRoKCksXG4gICAgICAgIH0pO1xuICAgICAgICBjb25zdCBlbmQgPSBzdGFydC5hZGQodGhpcy5kYXlJbnRlcnZhbCwgdGhpcy5feWVhcnNQZXJQYWdlKTtcblxuICAgICAgICByZXR1cm4gQXJyYXkuZnJvbShjYWxlbmRhclJhbmdlKHsgc3RhcnQsIGVuZCwgdW5pdDogdGhpcy5kYXlJbnRlcnZhbCB9KSkubWFwKFxuICAgICAgICAgICAgKG0pID0+IG0ubmF0aXZlLFxuICAgICAgICApO1xuICAgIH1cblxuICAgIGNvbnN0cnVjdG9yKFxuICAgICAgICBwdWJsaWMgZWw6IEVsZW1lbnRSZWYsXG4gICAgICAgIEBJbmplY3QoREFZX0lOVEVSVkFMX1RPS0VOKSBkYXlJbnRlcnZhbDogRGF5SW50ZXJ2YWwsXG4gICAgKSB7XG4gICAgICAgIHN1cGVyKGRheUludGVydmFsKTtcbiAgICB9XG5cbiAgICAvKipcbiAgICAgKiBSZXR1cm5zIHRoZSBsb2NhbGUgcmVwcmVzZW50YXRpb24gb2YgdGhlIHllYXIgaW4gdGhlIHllYXJzIHZpZXcuXG4gICAgICpcbiAgICAgKiBAaGlkZGVuXG4gICAgICovXG4gICAgcHVibGljIGZvcm1hdHRlZFllYXIodmFsdWU6IERhdGUpOiB7bG9uZzogc3RyaW5nLCBmb3JtYXR0ZWQ6IHN0cmluZ30ge1xuICAgICAgICBjb25zdCByYXdGb3JtYXR0ZXIgPSBuZXcgSW50bC5EYXRlVGltZUZvcm1hdCh0aGlzLmxvY2FsZSwgeyB5ZWFyOiAnbnVtZXJpYycgfSk7XG5cbiAgICAgICAgaWYgKHRoaXMuZm9ybWF0Vmlldykge1xuICAgICAgICAgICAgcmV0dXJuIHtcbiAgICAgICAgICAgICAgICBsb25nOiByYXdGb3JtYXR0ZXIuZm9ybWF0KHZhbHVlKSxcbiAgICAgICAgICAgICAgICBmb3JtYXR0ZWQ6IHRoaXMuX2Zvcm1hdHRlci5mb3JtYXQodmFsdWUpXG4gICAgICAgICAgICB9XG4gICAgICAgIH1cblxuICAgICAgICByZXR1cm4ge1xuICAgICAgICAgICAgbG9uZzogcmF3Rm9ybWF0dGVyLmZvcm1hdCh2YWx1ZSksXG4gICAgICAgICAgICBmb3JtYXR0ZWQ6IGAke3ZhbHVlLmdldEZ1bGxZZWFyKCl9YFxuICAgICAgICB9XG4gICAgfVxuXG4gICAgLyoqXG4gICAgICogQGhpZGRlblxuICAgICAqL1xuICAgIHB1YmxpYyB5ZWFyVHJhY2tlcihfOiBudW1iZXIsIGl0ZW06IERhdGUpOiBzdHJpbmcge1xuICAgICAgICByZXR1cm4gYCR7aXRlbS5nZXRGdWxsWWVhcigpfX1gO1xuICAgIH1cblxuICAgIC8qKlxuICAgICAqIEBoaWRkZW5cbiAgICAgKi9cbiAgICBwcm90ZWN0ZWQgaW5pdEZvcm1hdHRlcigpIHtcbiAgICAgICAgdGhpcy5fZm9ybWF0dGVyID0gbmV3IEludGwuRGF0ZVRpbWVGb3JtYXQodGhpcy5fbG9jYWxlLCB7XG4gICAgICAgICAgICB5ZWFyOiB0aGlzLnllYXJGb3JtYXQsXG4gICAgICAgIH0pO1xuICAgIH1cbn1cbiIsIjxkaXYgY2xhc3M9XCJpZ3gteWVhcnMtdmlld19fZ3JpZFwiIHJvbGU9XCJyb3dcIj5cbiAgICA8c3BhblxuICAgICAgICBpZ3hDYWxlbmRhclllYXJcbiAgICAgICAgI2l0ZW09XCJpZ3hDYWxlbmRhclllYXJcIlxuICAgICAgICAqbmdGb3I9XCJsZXQgeWVhciBvZiByYW5nZTsgdHJhY2tCeTogeWVhclRyYWNrZXJcIlxuICAgICAgICBjbGFzcz1cImlneC15ZWFycy12aWV3X195ZWFyXCJcbiAgICAgICAgcm9sZT1cImdyaWRjZWxsXCJcbiAgICAgICAgW2F0dHIuaWRdPVwieWVhci5nZXRUaW1lKClcIlxuICAgICAgICBbYXR0ci5hcmlhLWxhYmVsXT1cImZvcm1hdHRlZFllYXIoeWVhcikubG9uZ1wiXG4gICAgICAgIFthdHRyLmFyaWEtc2VsZWN0ZWRdPVwiaXRlbS5pc1NlbGVjdGVkXCJcbiAgICAgICAgW2F0dHIuYXJpYS1jdXJyZW50XT1cIml0ZW0uaXNDdXJyZW50XCJcbiAgICAgICAgW3ZhbHVlXT1cInllYXJcIlxuICAgICAgICBbZGF0ZV09XCJkYXRlXCJcbiAgICAgICAgW3Nob3dBY3RpdmVdPVwic2hvd0FjdGl2ZVwiXG4gICAgICAgIChpdGVtU2VsZWN0aW9uKT1cInNlbGVjdERhdGUoJGV2ZW50KVwiXG4gICAgPlxuICAgICAgICA8c3BhbiBjbGFzcz1cImlneC15ZWFycy12aWV3X195ZWFyLWlubmVyXCIgYXJpYS1oaWRkZW49XCJ0cnVlXCI+XG4gICAgICAgICAgICB7eyBmb3JtYXR0ZWRZZWFyKHllYXIpLmZvcm1hdHRlZCB9fVxuICAgICAgICA8L3NwYW4+XG4gICAgPC9zcGFuPlxuPC9kaXY+XG4iXX0=
|