UNPKG

@asadi/angular-date-components

Version:

`Angular Date Components` is a comprehensive angular library of date-related components designed to meet the needs of applications that require localization based on various calendar systems. While the package currently includes two powerful components (S

143 lines 14.5 kB
import { Directive, EventEmitter, Input, Output } from '@angular/core'; import { BehaviorSubject } from 'rxjs'; import * as i0 from "@angular/core"; /** * Directive to manage and emit events related to the scheduler, such as date range selection and event selection. * It handles holidays, weekends, and events and provides observables for changes in these values. */ export class ADCSchedulerSource { constructor() { this._events = new BehaviorSubject([]); this._holidays = new BehaviorSubject([]); this._weekends = new BehaviorSubject([]); /** * Emitted when a date range is selected by the user. * This output allows handling of date range selection events in the parent component. * * @example * <div SchedulerSource (DateRangeSelect)="onDateRangeSelect($event)"></div> */ this.dateRangeSelect = new EventEmitter(); /** * Emitted when an event is selected in the scheduler. * This output allows handling of event selection events in the parent component. * * @example * <div SchedulerSource (EventSelect)="onEventSelect($event)"></div> */ this.EventSelect = new EventEmitter(); /** * Emitted when the date range is changed. * This output allows handling of date range change events in the parent component. * * @example * <div SchedulerSource (DateRangeChange)="onDateRangeChange($event)"></div> */ this.dateRangeChange = new EventEmitter(); this.startOf = null; } /** * The list of holiday dates to exclude in the scheduler. * When this value is updated, it updates the internal holidays list. * * @example * <div SchedulerSource [Holidays]="holidayList"></div> */ set holidays(value) { if (value == null) { this._holidays.next([]); } else { this._holidays.next(value); } } get holidays() { return this._holidays.value; } /** * The list of weekend days (represented as day numbers, e.g., [0, 6] for Sunday and Saturday). * When this value is updated, it updates the internal weekends list. * * @example * <div SchedulerSource [Weekends]="[0, 6]"></div> */ set weekends(value) { if (value == null) { this._weekends.next([]); } else { this._weekends.next(value); } } get weekends() { return this._weekends.value; } /** * The list of scheduler events to be displayed in the scheduler. * When this value is updated, it updates the internal events list. * * @example * <div SchedulerSource [Events]="eventList"></div> */ set events(value) { if (value == null) { this._events.next([]); } else { this._events.next(value); } } get events() { return this._events.value; } eventChanges() { return this._events.asObservable(); } holidayChanges() { return this._holidays.asObservable(); } weekendChanges() { return this._weekends.asObservable(); } onEventSelect(e) { this.EventSelect.emit(e); } onDateRangeSelect(e) { this.dateRangeSelect.next(e); } ; onDateRangeChange(e) { this.dateRangeChange.next(e); } static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "17.0.7", ngImport: i0, type: ADCSchedulerSource, deps: [], target: i0.ɵɵFactoryTarget.Directive }); } static { this.ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "14.0.0", version: "17.0.7", type: ADCSchedulerSource, isStandalone: true, selector: "[SchedulerSource]", inputs: { holidays: "holidays", weekends: "weekends", startOf: "startOf", events: "events" }, outputs: { dateRangeSelect: "dateRangeSelect", EventSelect: "eventSelect", dateRangeChange: "dateRangeChange" }, ngImport: i0 }); } } i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.0.7", ngImport: i0, type: ADCSchedulerSource, decorators: [{ type: Directive, args: [{ selector: '[SchedulerSource]', standalone: true }] }], propDecorators: { dateRangeSelect: [{ type: Output, args: ['dateRangeSelect'] }], EventSelect: [{ type: Output, args: ['eventSelect'] }], dateRangeChange: [{ type: Output, args: ['dateRangeChange'] }], holidays: [{ type: Input, args: ['holidays'] }], weekends: [{ type: Input, args: ['weekends'] }], startOf: [{ type: Input, args: ['startOf'] }], events: [{ type: Input, args: ['events'] }] } }); //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiYWRjLXNjaGVkdWxlci1zb3VyY2UuZGlyZWN0aXZlLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvYXNhZGkvYW5ndWxhci1kYXRlLWNvbXBvbmVudHMvc2NoZWR1bGVyL3NyYy9kaXJlY3RpdmVzL2FkYy1zY2hlZHVsZXItc291cmNlLmRpcmVjdGl2ZS50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQUUsU0FBUyxFQUFFLFlBQVksRUFBRSxLQUFLLEVBQUUsTUFBTSxFQUFDLE1BQU0sZUFBZSxDQUFDO0FBQ3RFLE9BQU8sRUFBRSxlQUFlLEVBQWMsTUFBTSxNQUFNLENBQUM7O0FBS25EOzs7R0FHRztBQUtILE1BQU0sT0FBTyxrQkFBa0I7SUFKL0I7UUFNVSxZQUFPLEdBQTJDLElBQUksZUFBZSxDQUFFLEVBQTJCLENBQUMsQ0FBQztRQUNwRyxjQUFTLEdBQThCLElBQUksZUFBZSxDQUFFLEVBQWUsQ0FBQyxDQUFDO1FBQzdFLGNBQVMsR0FBOEIsSUFBSSxlQUFlLENBQUUsRUFBZSxDQUFDLENBQUM7UUFFbkY7Ozs7OztTQU1DO1FBRUssb0JBQWUsR0FBb0QsSUFBSSxZQUFZLEVBQXFDLENBQUM7UUFFL0g7Ozs7OztTQU1DO1FBRUssZ0JBQVcsR0FBZ0QsSUFBSSxZQUFZLEVBQWlDLENBQUM7UUFFbkg7Ozs7OztTQU1DO1FBRUssb0JBQWUsR0FBMkMsSUFBSSxZQUFZLEVBQTRCLENBQUM7UUFrRC9HLFlBQU8sR0FBa0IsSUFBSSxDQUFDO0tBdUQvQjtJQXZHQzs7Ozs7O09BTUc7SUFDSCxJQUNJLFFBQVEsQ0FBQyxLQUFlO1FBRTFCLElBQUcsS0FBSyxJQUFJLElBQUksRUFDaEI7WUFDRSxJQUFJLENBQUMsU0FBUyxDQUFDLElBQUksQ0FBQyxFQUFFLENBQUMsQ0FBQztTQUN6QjthQUNEO1lBQ0UsSUFBSSxDQUFDLFNBQVMsQ0FBQyxJQUFJLENBQUMsS0FBSyxDQUFDLENBQUM7U0FDNUI7SUFDSCxDQUFDO0lBQ0QsSUFBSSxRQUFRO1FBRVYsT0FBTyxJQUFJLENBQUMsU0FBUyxDQUFDLEtBQUssQ0FBQztJQUM5QixDQUFDO0lBR0M7Ozs7OztLQU1DO0lBQ0gsSUFDSSxRQUFRLENBQUMsS0FBZTtRQUUxQixJQUFHLEtBQUssSUFBSSxJQUFJLEVBQ2hCO1lBQ0UsSUFBSSxDQUFDLFNBQVMsQ0FBQyxJQUFJLENBQUMsRUFBRSxDQUFDLENBQUM7U0FDekI7YUFDRDtZQUNFLElBQUksQ0FBQyxTQUFTLENBQUMsSUFBSSxDQUFDLEtBQUssQ0FBQyxDQUFDO1NBQzVCO0lBQ0gsQ0FBQztJQUNELElBQUksUUFBUTtRQUVWLE9BQU8sSUFBSSxDQUFDLFNBQVMsQ0FBQyxLQUFLLENBQUM7SUFDOUIsQ0FBQztJQUtDOzs7Ozs7S0FNQztJQUNILElBQ0ksTUFBTSxDQUFDLEtBQTJCO1FBRXBDLElBQUcsS0FBSyxJQUFJLElBQUksRUFDaEI7WUFDRSxJQUFJLENBQUMsT0FBTyxDQUFDLElBQUksQ0FBQyxFQUFFLENBQUMsQ0FBQztTQUN2QjthQUNEO1lBQ0UsSUFBSSxDQUFDLE9BQU8sQ0FBQyxJQUFJLENBQUMsS0FBSyxDQUFDLENBQUM7U0FDMUI7SUFFSCxDQUFDO0lBQ0QsSUFBSSxNQUFNO1FBRVIsT0FBTyxJQUFJLENBQUMsT0FBTyxDQUFDLEtBQUssQ0FBQztJQUM1QixDQUFDO0lBRUQsWUFBWTtRQUVWLE9BQU8sSUFBSSxDQUFDLE9BQU8sQ0FBQyxZQUFZLEVBQUUsQ0FBQztJQUNyQyxDQUFDO0lBRUQsY0FBYztRQUVaLE9BQU8sSUFBSSxDQUFDLFNBQVMsQ0FBQyxZQUFZLEVBQUUsQ0FBQztJQUN2QyxDQUFDO0lBRUQsY0FBYztRQUVaLE9BQU8sSUFBSSxDQUFDLFNBQVMsQ0FBQyxZQUFZLEVBQUUsQ0FBQztJQUN2QyxDQUFDO0lBRUQsYUFBYSxDQUFDLENBQWdDO1FBRTVDLElBQUksQ0FBQyxXQUFXLENBQUMsSUFBSSxDQUFDLENBQUMsQ0FBQyxDQUFDO0lBQzNCLENBQUM7SUFFRCxpQkFBaUIsQ0FBQyxDQUFvQztRQUVwRCxJQUFJLENBQUMsZUFBZSxDQUFDLElBQUksQ0FBQyxDQUFDLENBQUMsQ0FBQztJQUMvQixDQUFDO0lBQUEsQ0FBQztJQUVGLGlCQUFpQixDQUFDLENBQTJCO1FBRTNDLElBQUksQ0FBQyxlQUFlLENBQUMsSUFBSSxDQUFDLENBQUMsQ0FBQyxDQUFDO0lBQy9CLENBQUM7OEdBMUlVLGtCQUFrQjtrR0FBbEIsa0JBQWtCOzsyRkFBbEIsa0JBQWtCO2tCQUo5QixTQUFTO21CQUFDO29CQUNULFFBQVEsRUFBRSxtQkFBbUI7b0JBQzdCLFVBQVUsRUFBRSxJQUFJO2lCQUNqQjs4QkFlUyxlQUFlO3NCQUR0QixNQUFNO3VCQUFDLGlCQUFpQjtnQkFXakIsV0FBVztzQkFEbEIsTUFBTTt1QkFBQyxhQUFhO2dCQVdiLGVBQWU7c0JBRHRCLE1BQU07dUJBQUMsaUJBQWlCO2dCQVdyQixRQUFRO3NCQURYLEtBQUs7dUJBQUMsVUFBVTtnQkF5QmIsUUFBUTtzQkFEWCxLQUFLO3VCQUFDLFVBQVU7Z0JBaUJqQixPQUFPO3NCQUROLEtBQUs7dUJBQUMsU0FBUztnQkFXWixNQUFNO3NCQURULEtBQUs7dUJBQUMsUUFBUSIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IERpcmVjdGl2ZSwgRXZlbnRFbWl0dGVyLCBJbnB1dCwgT3V0cHV0fSBmcm9tICdAYW5ndWxhci9jb3JlJztcclxuaW1wb3J0IHsgQmVoYXZpb3JTdWJqZWN0LCBPYnNlcnZhYmxlIH0gZnJvbSAncnhqcyc7XHJcbmltcG9ydCB7IEFEQ0lTY2hlZHVsZXJEYXRlUmFuZ2VTZWxlY3RFdmVudCwgQURDSVNjaGVkdWxlckV2ZW50LCBBRENJU2NoZWR1bGVyRXZlbnRTZWxlY3RFdmVudCB9IGZyb20gJy4uL2ludGVyZmFjZS5nbG9iYWwnO1xyXG5pbXBvcnQgeyBBRENJRGF0ZVJhbmdlQ2hhbmdlRXZlbnQgfSBmcm9tICdAYXNhZGkvYW5ndWxhci1kYXRlLWNvbXBvbmVudHMvY29yZSc7XHJcblxyXG5cclxuLyoqXHJcbiAqIERpcmVjdGl2ZSB0byBtYW5hZ2UgYW5kIGVtaXQgZXZlbnRzIHJlbGF0ZWQgdG8gdGhlIHNjaGVkdWxlciwgc3VjaCBhcyBkYXRlIHJhbmdlIHNlbGVjdGlvbiBhbmQgZXZlbnQgc2VsZWN0aW9uLlxyXG4gKiBJdCBoYW5kbGVzIGhvbGlkYXlzLCB3ZWVrZW5kcywgYW5kIGV2ZW50cyBhbmQgcHJvdmlkZXMgb2JzZXJ2YWJsZXMgZm9yIGNoYW5nZXMgaW4gdGhlc2UgdmFsdWVzLlxyXG4gKi9cclxuQERpcmVjdGl2ZSh7XHJcbiAgc2VsZWN0b3I6ICdbU2NoZWR1bGVyU291cmNlXScsXHJcbiAgc3RhbmRhbG9uZTogdHJ1ZVxyXG59KVxyXG5leHBvcnQgY2xhc3MgQURDU2NoZWR1bGVyU291cmNlIHtcclxuXHJcbiAgcHJpdmF0ZSBfZXZlbnRzOiBCZWhhdmlvclN1YmplY3Q8QURDSVNjaGVkdWxlckV2ZW50W10+ICA9IG5ldyBCZWhhdmlvclN1YmplY3QoKFtdIGFzIEFEQ0lTY2hlZHVsZXJFdmVudFtdKSk7XHJcbiAgcHJpdmF0ZSBfaG9saWRheXM6IEJlaGF2aW9yU3ViamVjdDxzdHJpbmdbXT4gPSBuZXcgQmVoYXZpb3JTdWJqZWN0KChbXSBhcyBzdHJpbmdbXSkpO1xyXG4gIHByaXZhdGUgX3dlZWtlbmRzOiBCZWhhdmlvclN1YmplY3Q8bnVtYmVyW10+ID0gbmV3IEJlaGF2aW9yU3ViamVjdCgoW10gYXMgbnVtYmVyW10pKTtcclxuICBcclxuICAgIC8qKlxyXG4gICAqIEVtaXR0ZWQgd2hlbiBhIGRhdGUgcmFuZ2UgaXMgc2VsZWN0ZWQgYnkgdGhlIHVzZXIuXHJcbiAgICogVGhpcyBvdXRwdXQgYWxsb3dzIGhhbmRsaW5nIG9mIGRhdGUgcmFuZ2Ugc2VsZWN0aW9uIGV2ZW50cyBpbiB0aGUgcGFyZW50IGNvbXBvbmVudC5cclxuICAgKiBcclxuICAgKiBAZXhhbXBsZVxyXG4gICAqIDxkaXYgU2NoZWR1bGVyU291cmNlIChEYXRlUmFuZ2VTZWxlY3QpPVwib25EYXRlUmFuZ2VTZWxlY3QoJGV2ZW50KVwiPjwvZGl2PlxyXG4gICAqL1xyXG4gIEBPdXRwdXQoJ2RhdGVSYW5nZVNlbGVjdCcpXHJcbiAgcHJpdmF0ZSBkYXRlUmFuZ2VTZWxlY3Q6IEV2ZW50RW1pdHRlcjxBRENJU2NoZWR1bGVyRGF0ZVJhbmdlU2VsZWN0RXZlbnQ+ID0gbmV3IEV2ZW50RW1pdHRlcjxBRENJU2NoZWR1bGVyRGF0ZVJhbmdlU2VsZWN0RXZlbnQ+KCk7XHJcblxyXG4gICAgLyoqXHJcbiAgICogRW1pdHRlZCB3aGVuIGFuIGV2ZW50IGlzIHNlbGVjdGVkIGluIHRoZSBzY2hlZHVsZXIuXHJcbiAgICogVGhpcyBvdXRwdXQgYWxsb3dzIGhhbmRsaW5nIG9mIGV2ZW50IHNlbGVjdGlvbiBldmVudHMgaW4gdGhlIHBhcmVudCBjb21wb25lbnQuXHJcbiAgICogXHJcbiAgICogQGV4YW1wbGVcclxuICAgKiA8ZGl2IFNjaGVkdWxlclNvdXJjZSAoRXZlbnRTZWxlY3QpPVwib25FdmVudFNlbGVjdCgkZXZlbnQpXCI+PC9kaXY+XHJcbiAgICovXHJcbiAgQE91dHB1dCgnZXZlbnRTZWxlY3QnKVxyXG4gIHByaXZhdGUgRXZlbnRTZWxlY3Q6IEV2ZW50RW1pdHRlcjxBRENJU2NoZWR1bGVyRXZlbnRTZWxlY3RFdmVudD4gPSBuZXcgRXZlbnRFbWl0dGVyPEFEQ0lTY2hlZHVsZXJFdmVudFNlbGVjdEV2ZW50PigpO1xyXG5cclxuICAgIC8qKlxyXG4gICAqIEVtaXR0ZWQgd2hlbiB0aGUgZGF0ZSByYW5nZSBpcyBjaGFuZ2VkLlxyXG4gICAqIFRoaXMgb3V0cHV0IGFsbG93cyBoYW5kbGluZyBvZiBkYXRlIHJhbmdlIGNoYW5nZSBldmVudHMgaW4gdGhlIHBhcmVudCBjb21wb25lbnQuXHJcbiAgICogXHJcbiAgICogQGV4YW1wbGVcclxuICAgKiA8ZGl2IFNjaGVkdWxlclNvdXJjZSAoRGF0ZVJhbmdlQ2hhbmdlKT1cIm9uRGF0ZVJhbmdlQ2hhbmdlKCRldmVudClcIj48L2Rpdj5cclxuICAgKi9cclxuICBAT3V0cHV0KCdkYXRlUmFuZ2VDaGFuZ2UnKVxyXG4gIHByaXZhdGUgZGF0ZVJhbmdlQ2hhbmdlOiBFdmVudEVtaXR0ZXI8QURDSURhdGVSYW5nZUNoYW5nZUV2ZW50PiA9IG5ldyBFdmVudEVtaXR0ZXI8QURDSURhdGVSYW5nZUNoYW5nZUV2ZW50PigpO1xyXG5cclxuICAvKipcclxuICAgKiBUaGUgbGlzdCBvZiBob2xpZGF5IGRhdGVzIHRvIGV4Y2x1ZGUgaW4gdGhlIHNjaGVkdWxlci5cclxuICAgKiBXaGVuIHRoaXMgdmFsdWUgaXMgdXBkYXRlZCwgaXQgdXBkYXRlcyB0aGUgaW50ZXJuYWwgaG9saWRheXMgbGlzdC5cclxuICAgKiBcclxuICAgKiBAZXhhbXBsZVxyXG4gICAqIDxkaXYgU2NoZWR1bGVyU291cmNlIFtIb2xpZGF5c109XCJob2xpZGF5TGlzdFwiPjwvZGl2PlxyXG4gICAqL1xyXG4gIEBJbnB1dCgnaG9saWRheXMnKVxyXG4gIHNldCBob2xpZGF5cyh2YWx1ZTogc3RyaW5nW10pXHJcbiAge1xyXG4gICAgaWYodmFsdWUgPT0gbnVsbClcclxuICAgIHtcclxuICAgICAgdGhpcy5faG9saWRheXMubmV4dChbXSk7XHJcbiAgICB9ZWxzZVxyXG4gICAge1xyXG4gICAgICB0aGlzLl9ob2xpZGF5cy5uZXh0KHZhbHVlKTtcclxuICAgIH1cclxuICB9XHJcbiAgZ2V0IGhvbGlkYXlzKCk6IHN0cmluZ1tdXHJcbiAge1xyXG4gICAgcmV0dXJuIHRoaXMuX2hvbGlkYXlzLnZhbHVlO1xyXG4gIH1cclxuXHJcblxyXG4gICAgLyoqXHJcbiAgICogVGhlIGxpc3Qgb2Ygd2Vla2VuZCBkYXlzIChyZXByZXNlbnRlZCBhcyBkYXkgbnVtYmVycywgZS5nLiwgWzAsIDZdIGZvciBTdW5kYXkgYW5kIFNhdHVyZGF5KS5cclxuICAgKiBXaGVuIHRoaXMgdmFsdWUgaXMgdXBkYXRlZCwgaXQgdXBkYXRlcyB0aGUgaW50ZXJuYWwgd2Vla2VuZHMgbGlzdC5cclxuICAgKiBcclxuICAgKiBAZXhhbXBsZVxyXG4gICAqIDxkaXYgU2NoZWR1bGVyU291cmNlIFtXZWVrZW5kc109XCJbMCwgNl1cIj48L2Rpdj5cclxuICAgKi9cclxuICBASW5wdXQoJ3dlZWtlbmRzJylcclxuICBzZXQgd2Vla2VuZHModmFsdWU6IG51bWJlcltdKVxyXG4gIHtcclxuICAgIGlmKHZhbHVlID09IG51bGwpXHJcbiAgICB7XHJcbiAgICAgIHRoaXMuX3dlZWtlbmRzLm5leHQoW10pO1xyXG4gICAgfWVsc2VcclxuICAgIHtcclxuICAgICAgdGhpcy5fd2Vla2VuZHMubmV4dCh2YWx1ZSk7XHJcbiAgICB9XHJcbiAgfVxyXG4gIGdldCB3ZWVrZW5kcygpOiBudW1iZXJbXVxyXG4gIHtcclxuICAgIHJldHVybiB0aGlzLl93ZWVrZW5kcy52YWx1ZTtcclxuICB9XHJcblxyXG4gIEBJbnB1dCgnc3RhcnRPZicpXHJcbiAgc3RhcnRPZjogc3RyaW5nIHwgbnVsbCA9IG51bGw7XHJcblxyXG4gICAgLyoqXHJcbiAgICogVGhlIGxpc3Qgb2Ygc2NoZWR1bGVyIGV2ZW50cyB0byBiZSBkaXNwbGF5ZWQgaW4gdGhlIHNjaGVkdWxlci5cclxuICAgKiBXaGVuIHRoaXMgdmFsdWUgaXMgdXBkYXRlZCwgaXQgdXBkYXRlcyB0aGUgaW50ZXJuYWwgZXZlbnRzIGxpc3QuXHJcbiAgICogXHJcbiAgICogQGV4YW1wbGVcclxuICAgKiA8ZGl2IFNjaGVkdWxlclNvdXJjZSBbRXZlbnRzXT1cImV2ZW50TGlzdFwiPjwvZGl2PlxyXG4gICAqL1xyXG4gIEBJbnB1dCgnZXZlbnRzJylcclxuICBzZXQgZXZlbnRzKHZhbHVlOiBBRENJU2NoZWR1bGVyRXZlbnRbXSlcclxuICB7XHJcbiAgICBpZih2YWx1ZSA9PSBudWxsKVxyXG4gICAge1xyXG4gICAgICB0aGlzLl9ldmVudHMubmV4dChbXSk7XHJcbiAgICB9ZWxzZVxyXG4gICAge1xyXG4gICAgICB0aGlzLl9ldmVudHMubmV4dCh2YWx1ZSk7XHJcbiAgICB9XHJcbiAgICBcclxuICB9XHJcbiAgZ2V0IGV2ZW50cygpOiBBRENJU2NoZWR1bGVyRXZlbnRbXVxyXG4gIHtcclxuICAgIHJldHVybiB0aGlzLl9ldmVudHMudmFsdWU7XHJcbiAgfVxyXG5cclxuICBldmVudENoYW5nZXMoKTogT2JzZXJ2YWJsZTxBRENJU2NoZWR1bGVyRXZlbnRbXT5cclxuICB7XHJcbiAgICByZXR1cm4gdGhpcy5fZXZlbnRzLmFzT2JzZXJ2YWJsZSgpO1xyXG4gIH1cclxuXHJcbiAgaG9saWRheUNoYW5nZXMoKTogT2JzZXJ2YWJsZTxzdHJpbmdbXT5cclxuICB7XHJcbiAgICByZXR1cm4gdGhpcy5faG9saWRheXMuYXNPYnNlcnZhYmxlKCk7XHJcbiAgfVxyXG5cclxuICB3ZWVrZW5kQ2hhbmdlcygpOiBPYnNlcnZhYmxlPG51bWJlcltdPlxyXG4gIHtcclxuICAgIHJldHVybiB0aGlzLl93ZWVrZW5kcy5hc09ic2VydmFibGUoKTtcclxuICB9XHJcblxyXG4gIG9uRXZlbnRTZWxlY3QoZTogQURDSVNjaGVkdWxlckV2ZW50U2VsZWN0RXZlbnQpOiB2b2lkXHJcbiAge1xyXG4gICAgdGhpcy5FdmVudFNlbGVjdC5lbWl0KGUpO1xyXG4gIH1cclxuXHJcbiAgb25EYXRlUmFuZ2VTZWxlY3QoZTogQURDSVNjaGVkdWxlckRhdGVSYW5nZVNlbGVjdEV2ZW50KVxyXG4gIHtcclxuICAgIHRoaXMuZGF0ZVJhbmdlU2VsZWN0Lm5leHQoZSk7XHJcbiAgfTtcclxuXHJcbiAgb25EYXRlUmFuZ2VDaGFuZ2UoZTogQURDSURhdGVSYW5nZUNoYW5nZUV2ZW50KTogdm9pZFxyXG4gIHtcclxuICAgIHRoaXMuZGF0ZVJhbmdlQ2hhbmdlLm5leHQoZSk7XHJcbiAgfVxyXG59XHJcbiJdfQ==