@ts-core/angular 13.0.55 → 13.0.58
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/bottomSheet/BottomSheetService.d.ts +2 -0
- package/esm2020/bottomSheet/BottomSheetService.mjs +7 -1
- package/esm2020/window/WindowService.mjs +9 -6
- package/esm2020/window/component/WindowDragable.mjs +2 -1
- package/fesm2015/ts-core-angular.mjs +14 -5
- package/fesm2015/ts-core-angular.mjs.map +1 -1
- package/fesm2020/ts-core-angular.mjs +14 -5
- package/fesm2020/ts-core-angular.mjs.map +1 -1
- package/package.json +2 -2
- package/window/WindowService.d.ts +3 -1
|
@@ -14,6 +14,7 @@ import * as i0 from "@angular/core";
|
|
|
14
14
|
export declare class BottomSheetService extends Destroyable {
|
|
15
15
|
factory: WindowFactory<IWindow>;
|
|
16
16
|
questionComponent: ComponentType<IWindowContent>;
|
|
17
|
+
protected _window: IWindow;
|
|
17
18
|
protected dialog: MatBottomSheet;
|
|
18
19
|
protected language: LanguageService;
|
|
19
20
|
private observer;
|
|
@@ -23,6 +24,7 @@ export declare class BottomSheetService extends Destroyable {
|
|
|
23
24
|
destroy(): void;
|
|
24
25
|
info(translationId?: string, translation?: any, questionOptions?: IQuestionOptions, configOptions?: WindowConfigOptions): IQuestion;
|
|
25
26
|
question(translationId?: string, translation?: any, questionOptions?: IQuestionOptions, configOptions?: WindowConfigOptions): IQuestion;
|
|
27
|
+
get window(): IWindow;
|
|
26
28
|
get events(): Observable<ObservableData<WindowServiceEvent, IWindow>>;
|
|
27
29
|
static ɵfac: i0.ɵɵFactoryDeclaration<BottomSheetService, never>;
|
|
28
30
|
static ɵprov: i0.ɵɵInjectableDeclaration<BottomSheetService>;
|
|
@@ -39,11 +39,13 @@ export class BottomSheetService extends Destroyable {
|
|
|
39
39
|
let subscription = window.events.subscribe(event => {
|
|
40
40
|
switch (event) {
|
|
41
41
|
case WindowServiceEvent.OPENED:
|
|
42
|
+
this._window = window;
|
|
42
43
|
this.observer.next(new ObservableData(WindowServiceEvent.OPENED, window));
|
|
43
44
|
this.observer.next(new ObservableData(WindowServiceEvent.OPEN_FINISHED, window));
|
|
44
45
|
break;
|
|
45
46
|
case WindowServiceEvent.CLOSED:
|
|
46
47
|
subscription.unsubscribe();
|
|
48
|
+
this._window = null;
|
|
47
49
|
this.observer.next(new ObservableData(WindowServiceEvent.CLOSED, window));
|
|
48
50
|
break;
|
|
49
51
|
}
|
|
@@ -61,6 +63,7 @@ export class BottomSheetService extends Destroyable {
|
|
|
61
63
|
this.observer.complete();
|
|
62
64
|
this.observer = null;
|
|
63
65
|
}
|
|
66
|
+
this._window = null;
|
|
64
67
|
this.factory = null;
|
|
65
68
|
this.questionComponent = null;
|
|
66
69
|
this.dialog = null;
|
|
@@ -88,6 +91,9 @@ export class BottomSheetService extends Destroyable {
|
|
|
88
91
|
// Public Properties
|
|
89
92
|
//
|
|
90
93
|
// --------------------------------------------------------------------------
|
|
94
|
+
get window() {
|
|
95
|
+
return this._window;
|
|
96
|
+
}
|
|
91
97
|
get events() {
|
|
92
98
|
return this.observer.asObservable();
|
|
93
99
|
}
|
|
@@ -98,4 +104,4 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "13.3.11", ngImpo
|
|
|
98
104
|
type: Injectable,
|
|
99
105
|
args: [{ providedIn: 'root' }]
|
|
100
106
|
}], ctorParameters: function () { return [{ type: i1.MatBottomSheet }, { type: i2.LanguageService }]; } });
|
|
101
|
-
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiQm90dG9tU2hlZXRTZXJ2aWNlLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vc3JjL2JvdHRvbVNoZWV0L0JvdHRvbVNoZWV0U2VydmljZS50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFDQSxPQUFPLEVBQUUsVUFBVSxFQUFFLE1BQU0sZUFBZSxDQUFDO0FBRTNDLE9BQU8sRUFBRSxXQUFXLEVBQUUsTUFBTSxpQkFBaUIsQ0FBQztBQUM5QyxPQUFPLEVBQUUsY0FBYyxFQUFFLE1BQU0sMEJBQTBCLENBQUM7QUFFMUQsT0FBTyxLQUFLLENBQUMsTUFBTSxRQUFRLENBQUM7QUFDNUIsT0FBTyxFQUFjLE9BQU8sRUFBRSxNQUFNLE1BQU0sQ0FBQztBQUMzQyxPQUFPLEVBQUUsYUFBYSxFQUFFLE1BQU0seUJBQXlCLENBQUM7QUFFeEQsT0FBTyxFQUFFLFlBQVksRUFBdUIsTUFBTSx3QkFBd0IsQ0FBQztBQUUzRSxPQUFPLEVBQUUsa0JBQWtCLEVBQUUsTUFBTSx5QkFBeUIsQ0FBQztBQUM3RCxPQUFPLEVBQUUsZUFBZSxFQUFFLE1BQU0sNkJBQTZCLENBQUM7QUFDOUQsT0FBTyxFQUErQixZQUFZLEVBQUUsTUFBTSx1QkFBdUIsQ0FBQztBQUNsRixPQUFPLEVBQUUsdUJBQXVCLEVBQUUsTUFBTSwrREFBK0QsQ0FBQztBQUN4RyxPQUFPLEVBQUUsd0JBQXdCLEVBQUUsTUFBTSxzQ0FBc0MsQ0FBQzs7OztBQUdoRixNQUFNLE9BQU8sa0JBQW1CLFNBQVEsV0FBVztJQWUvQyw2RUFBNkU7SUFDN0UsRUFBRTtJQUNGLGVBQWU7SUFDZixFQUFFO0lBQ0YsNkVBQTZFO0lBRTdFLFlBQVksTUFBc0IsRUFBRSxRQUF5QjtRQUN6RCxLQUFLLEVBQUUsQ0FBQztRQUNSLElBQUksQ0FBQyxNQUFNLEdBQUcsTUFBTSxDQUFDO1FBQ3JCLElBQUksQ0FBQyxRQUFRLEdBQUcsUUFBUSxDQUFDO1FBQ3pCLElBQUksQ0FBQyxRQUFRLEdBQUcsSUFBSSxP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QVUsRUFBRSxNQUFNLEVBQUUiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBDb21wb25lbnRUeXBlIH0gZnJvbSAnQGFuZ3VsYXIvY2RrL3BvcnRhbCc7XG5pbXBvcnQgeyBJbmplY3RhYmxlIH0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XG5pbXBvcnQgeyBNYXRCb3R0b21TaGVldCwgTWF0Qm90dG9tU2hlZXRDb25maWcsIE1hdEJvdHRvbVNoZWV0UmVmIH0gZnJvbSAnQGFuZ3VsYXIvbWF0ZXJpYWwvYm90dG9tLXNoZWV0JztcbmltcG9ydCB7IERlc3Ryb3lhYmxlIH0gZnJvbSAnQHRzLWNvcmUvY29tbW9uJztcbmltcG9ydCB7IE9ic2VydmFibGVEYXRhIH0gZnJvbSAnQHRzLWNvcmUvY29tbW9uL29ic2VydmVyJztcbmltcG9ydCB7IExhbmd1YWdlU2VydmljZSB9IGZyb20gJ0B0cy1jb3JlL2Zyb250ZW5kL2xhbmd1YWdlJztcbmltcG9ydCAqIGFzIF8gZnJvbSAnbG9kYXNoJztcbmltcG9ydCB7IE9ic2VydmFibGUsIFN1YmplY3QgfSBmcm9tICdyeGpzJztcbmltcG9ydCB7IFdpbmRvd0ZhY3RvcnkgfSBmcm9tICcuLi93aW5kb3cvV2luZG93RmFjdG9yeSc7XG5pbXBvcnQgeyBJV2luZG93IH0gZnJvbSAnLi4vd2luZG93L0lXaW5kb3cnO1xuaW1wb3J0IHsgV2luZG93Q29uZmlnLCBXaW5kb3dDb25maWdPcHRpb25zIH0gZnJvbSAnLi4vd2luZG93L1dpbmRvd0NvbmZpZyc7XG5pbXBvcnQgeyBJV2luZG93Q29udGVudCB9IGZyb20gJy4uL3dpbmRvdy9JV2luZG93Q29udGVudCc7XG5pbXBvcnQgeyBXaW5kb3dTZXJ2aWNlRXZlbnQgfSBmcm9tICcuLi93aW5kb3cvV2luZG93U2VydmljZSc7XG5pbXBvcnQgeyBRdWVzdGlvbk1hbmFnZXIgfSBmcm9tICcuLi9xdWVzdGlvbi9RdWVzdGlvbk1hbmFnZXInO1xuaW1wb3J0IHsgSVF1ZXN0aW9uLCBJUXVlc3Rpb25PcHRpb25zLCBRdWVzdGlvbk1vZGUgfSBmcm9tICcuLi9xdWVzdGlvbi9JUXVlc3Rpb24nO1xuaW1wb3J0IHsgV2luZG93UXVlc3Rpb25Db21wb25lbnQgfSBmcm9tICcuLi93aW5kb3cvY29tcG9uZW50L3dpbmRvdy1xdWVzdGlvbi93aW5kb3ctcXVlc3Rpb24uY29tcG9uZW50JztcbmltcG9ydCB7IEJvdHRvbVNoZWV0QmFzZUNvbXBvbmVudCB9IGZyb20gJy4vY29tcG9uZW50L0JvdHRvbVNoZWV0QmFzZUNvbXBvbmVudCc7XG5cbkBJbmplY3RhYmxlKHsgcHJvdmlkZWRJbjogJ3Jvb3QnIH0pXG5leHBvcnQgY2xhc3MgQm90dG9tU2hlZXRTZXJ2aWNlIGV4dGVuZHMgRGVzdHJveWFibGUge1xuICAgIC8vIC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tXG4gICAgLy9cbiAgICAvLyBcdFByb3BlcnRpZXNcbiAgICAvL1xuICAgIC8vIC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tXG5cbiAgICBwdWJsaWMgZmFjdG9yeTogV2luZG93RmFjdG9yeTxJV2luZG93PjtcbiAgICBwdWJsaWMgcXVlc3Rpb25Db21wb25lbnQ6IENvbXBvbmVudFR5cGU8SVdpbmRvd0NvbnRlbnQ+O1xuXG4gICAgcHJvdGVjdGVkIGRpYWxvZzogTWF0Qm90dG9tU2hlZXQ7XG4gICAgcHJvdGVjdGVkIGxhbmd1YWdlOiBMYW5ndWFnZVNlcnZpY2U7XG5cbiAgICBwcml2YXRlIG9ic2VydmVyOiBTdWJqZWN0PE9ic2VydmFibGVEYXRhPFdpbmRvd1NlcnZpY2VFdmVudCwgSVdpbmRvdz4+O1xuXG4gICAgLy8gLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS1cbiAgICAvL1xuICAgIC8vIFx0Q29uc3RydWN0b3JcbiAgICAvL1xuICAgIC8vIC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tXG5cbiAgICBjb25zdHJ1Y3RvcihkaWFsb2c6IE1hdEJvdHRvbVNoZWV0LCBsYW5ndWFnZTogTGFuZ3VhZ2VTZXJ2aWNlKSB7XG4gICAgICAgIHN1cGVyKCk7XG4gICAgICAgIHRoaXMuZGlhbG9nID0gZGlhbG9nO1xuICAgICAgICB0aGlzLmxhbmd1YWdlID0gbGFuZ3VhZ2U7XG4gICAgICAgIHRoaXMub2JzZXJ2ZXIgPSBuZXcgU3ViamVjdCgpO1xuXG4gICAgICAgIHRoaXMuZmFjdG9yeSA9IG5ldyBXaW5kb3dGYWN0b3J5KEJvdHRvbVNoZWV0QmFzZUNvbXBvbmVudCk7XG4gICAgICAgIHRoaXMucXVlc3Rpb25Db21wb25lbnQgPSBXaW5kb3dRdWVzdGlvbkNvbXBvbmVudDtcbiAgICB9XG5cbiAgICAvLyAtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLVxuICAgIC8vXG4gICAgLy8gXHRQdWJsaWMgTWV0aG9kc1xuICAgIC8vXG4gICAgLy8gLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS1cblxuICAgIHB1YmxpYyBvcGVuPFQgZXh0ZW5kcyBJV2luZG93Q29udGVudD4oY29tcG9uZW50OiBDb21wb25lbnRUeXBlPFQ+LCBjb25maWc6IFdpbmRvd0NvbmZpZyk6IFQge1xuICAgICAgICBsZXQgcmVmZXJlbmNlOiBNYXRCb3R0b21TaGVldFJlZjxUPiA9IHRoaXMuZGlhbG9nLm9wZW4oY29tcG9uZW50LCBjb25maWcgYXMgTWF0Qm90dG9tU2hlZXRDb25maWc8VD4pO1xuXG4gICAgICAgIGxldCB3aW5kb3cgPSB0aGlzLmZhY3RvcnkuY3JlYXRlKHsgY29uZmlnLCByZWZlcmVuY2U6IHJlZmVyZW5jZSBhcyBhbnksIG92ZXJsYXk6IChyZWZlcmVuY2UgYXMgYW55KS5fb3ZlcmxheVJlZiB9KTtcbiAgICAgICAgdGhpcy5vYnNlcnZlci5uZXh0KG5ldyBPYnNlcnZhYmxlRGF0YShXaW5kb3dTZXJ2aWNlRXZlbnQuT1BFTl9TVEFSVEVELCB3aW5kb3cpKTtcblxuICAgICAgICBsZXQgc3Vic2NyaXB0aW9uID0gd2luZG93LmV2ZW50cy5zdWJzY3JpYmUoZXZlbnQgPT4ge1xuICAgICAgICAgICAgc3dpdGNoIChldmVudCkge1xuICAgICAgICAgICAgICAgIGNhc2UgV2luZG93U2VydmljZUV2ZW50Lk9QRU5FRDpcbiAgICAgICAgICAgICAgICAgICAgdGhpcy5vYnNlcnZlci5uZXh0KG5ldyBPYnNlcnZhYmxlRGF0YShXaW5kb3dTZXJ2aWNlRXZlbnQuT1BFTkVELCB3aW5kb3cpKTtcbiAgICAgICAgICAgICAgICAgICAgdGhpcy5vYnNlcnZlci5uZXh0KG5ldyBPYnNlcnZhYmxlRGF0YShXaW5kb3dTZXJ2aWNlRXZlbnQuT1BFTl9GSU5JU0hFRCwgd2luZG93KSk7XG4gICAgICAgICAgICAgICAgICAgIGJyZWFrO1xuXG4gICAgICAgICAgICAgICAgY2FzZSBXaW5kb3dTZXJ2aWNlRXZlbnQuQ0xPU0VEOlxuICAgICAgICAgICAgICAgICAgICBzdWJzY3JpcHRpb24udW5zdWJzY3JpYmUoKTtcbiAgICAgICAgICAgICAgICAgICAgdGhpcy5vYnNlcnZlci5uZXh0KG5ldyBPYnNlcnZhYmxlRGF0YShXaW5kb3dTZXJ2aWNlRXZlbnQuQ0xPU0VELCB3aW5kb3cpKTtcbiAgICAgICAgICAgICAgICAgICAgYnJlYWs7XG4gICAgICAgICAgICB9XG4gICAgICAgIH0pO1xuICAgICAgICByZXR1cm4gd2luZG93LmNvbnRlbnQgYXMgVDtcbiAgICB9XG5cbiAgICBwdWJsaWMgcmVtb3ZlQWxsKCk6IHZvaWQge31cblxuICAgIHB1YmxpYyBkZXN0cm95KCk6IHZvaWQge1xuICAgICAgICBpZiAodGhpcy5pc0Rlc3Ryb3llZCkge1xuICAgICAgICAgICAgcmV0dXJuO1xuICAgICAgICB9XG4gICAgICAgIHN1cGVyLmRlc3Ryb3koKTtcbiAgICAgICAgdGhpcy5yZW1vdmVBbGwoKTtcblxuICAgICAgICBpZiAoIV8uaXNOaWwodGhpcy5vYnNlcnZlcikpIHtcbiAgICAgICAgICAgIHRoaXMub2JzZXJ2ZXIuY29tcGxldGUoKTtcbiAgICAgICAgICAgIHRoaXMub2JzZXJ2ZXIgPSBudWxsO1xuICAgICAgICB9XG5cbiAgICAgICAgdGhpcy5mYWN0b3J5ID0gbnVsbDtcbiAgICAgICAgdGhpcy5xdWVzdGlvbkNvbXBvbmVudCA9IG51bGw7XG5cbiAgICAgICAgdGhpcy5kaWFsb2cgPSBudWxsO1xuICAgICAgICB0aGlzLmxhbmd1YWdlID0gbnVsbDtcbiAgICB9XG5cbiAgICAvLyAtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLVxuICAgIC8vXG4gICAgLy8gXHRBZGRpdGlvbmFsIE1ldGhvZHNcbiAgICAvL1xuICAgIC8vIC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tXG5cbiAgICBwdWJsaWMgaW5mbyh0cmFuc2xhdGlvbklkPzogc3RyaW5nLCB0cmFuc2xhdGlvbj86IGFueSwgcXVlc3Rpb25PcHRpb25zPzogSVF1ZXN0aW9uT3B0aW9ucywgY29uZmlnT3B0aW9ucz86IFdpbmRvd0NvbmZpZ09wdGlvbnMpOiBJUXVlc3Rpb24ge1xuICAgICAgICBsZXQgdGV4dCA9IHRoaXMubGFuZ3VhZ2UudHJhbnNsYXRlKHRyYW5zbGF0aW9uSWQsIHRyYW5zbGF0aW9uKTtcbiAgICAgICAgbGV0IGNvbmZpZzogV2luZG93Q29uZmlnPFF1ZXN0aW9uTWFuYWdlcj4gPSBfLmFzc2lnbihuZXcgV2luZG93Q29uZmlnKHRydWUsIGZhbHNlLCA0NTApLCBjb25maWdPcHRpb25zKTtcbiAgICAgICAgY29uZmlnLmRhdGEgPSBuZXcgUXVlc3Rpb25NYW5hZ2VyKF8uYXNzaWduKHF1ZXN0aW9uT3B0aW9ucywgeyBtb2RlOiBRdWVzdGlvbk1vZGUuSU5GTywgdGV4dCB9KSk7XG4gICAgICAgIHJldHVybiB0aGlzLm9wZW4odGhpcy5xdWVzdGlvbkNvbXBvbmVudCwgY29uZmlnKS5jb25maWcuZGF0YTtcbiAgICB9XG5cbiAgICBwdWJsaWMgcXVlc3Rpb24odHJhbnNsYXRpb25JZD86IHN0cmluZywgdHJhbnNsYXRpb24/OiBhbnksIHF1ZXN0aW9uT3B0aW9ucz86IElRdWVzdGlvbk9wdGlvbnMsIGNvbmZpZ09wdGlvbnM/OiBXaW5kb3dDb25maWdPcHRpb25zKTogSVF1ZXN0aW9uIHtcbiAgICAgICAgbGV0IHRleHQgPSB0aGlzLmxhbmd1YWdlLnRyYW5zbGF0ZSh0cmFuc2xhdGlvbklkLCB0cmFuc2xhdGlvbik7XG4gICAgICAgIGxldCBjb25maWc6IFdpbmRvd0NvbmZpZzxRdWVzdGlvbk1hbmFnZXI+ID0gXy5hc3NpZ24obmV3IFdpbmRvd0NvbmZpZyh0cnVlLCBmYWxzZSwgNDUwKSwgY29uZmlnT3B0aW9ucyk7XG4gICAgICAgIGNvbmZpZy5kYXRhID0gbmV3IFF1ZXN0aW9uTWFuYWdlcihfLmFzc2lnbihxdWVzdGlvbk9wdGlvbnMsIHsgbW9kZTogUXVlc3Rpb25Nb2RlLlFVRVNUSU9OLCB0ZXh0IH0pKTtcbiAgICAgICAgcmV0dXJuIHRoaXMub3Blbih0aGlzLnF1ZXN0aW9uQ29tcG9uZW50LCBjb25maWcpLmNvbmZpZy5kYXRhO1xuICAgIH1cblxuICAgIC8vIC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tXG4gICAgLy9cbiAgICAvLyBcdFB1YmxpYyBQcm9wZXJ0aWVzXG4gICAgLy9cbiAgICAvLyAtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLVxuXG4gICAgcHVibGljIGdldCBldmVudHMoKTogT2JzZXJ2YWJsZTxPYnNlcnZhYmxlRGF0YTxXaW5kb3dTZXJ2aWNlRXZlbnQsIElXaW5kb3c+PiB7XG4gICAgICAgIHJldHVybiB0aGlzLm9ic2VydmVyLmFzT2JzZXJ2YWJsZSgpO1xuICAgIH1cbn1cbiJdfQ==
|
|
107
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiQm90dG9tU2hlZXRTZXJ2aWNlLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vc3JjL2JvdHRvbVNoZWV0L0JvdHRvbVNoZWV0U2VydmljZS50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFDQSxPQUFPLEVBQUUsVUFBVSxFQUFFLE1BQU0sZUFBZSxDQUFDO0FBRTNDLE9BQU8sRUFBRSxXQUFXLEVBQUUsTUFBTSxpQkFBaUIsQ0FBQztBQUM5QyxPQUFPLEVBQUUsY0FBYyxFQUFFLE1BQU0sMEJBQTBCLENBQUM7QUFFMUQsT0FBTyxLQUFLLENBQUMsTUFBTSxRQUFRLENBQUM7QUFDNUIsT0FBTyxFQUFzQixPQUFPLEVBQWEsTUFBTSxNQUFNLENBQUM7QUFDOUQsT0FBTyxFQUFFLGFBQWEsRUFBRSxNQUFNLHlCQUF5QixDQUFDO0FBRXhELE9BQU8sRUFBRSxZQUFZLEVBQXVCLE1BQU0sd0JBQXdCLENBQUM7QUFFM0UsT0FBTyxFQUFFLGtCQUFrQixFQUFpQixNQUFNLHlCQUF5QixDQUFDO0FBQzVFLE9BQU8sRUFBRSxlQUFlLEVBQUUsTUFBTSw2QkFBNkIsQ0FBQztBQUM5RCxPQUFPLEVBQStCLFlBQVksRUFBRSxNQUFNLHVCQUF1QixDQUFDO0FBQ2xGLE9BQU8sRUFBRSx1QkFBdUIsRUFBRSxNQUFNLCtEQUErRCxDQUFDO0FBQ3hHLE9BQU8sRUFBRSx3QkFBd0IsRUFBRSxNQUFNLHNDQUFzQyxDQUFDOzs7O0FBR2hGLE1BQU0sT0FBTyxrQkFBbUIsU0FBUSxXQUFXO0lBaUIvQyw2RUFBNkU7SUFDN0UsRUFBRTtJQUNGLGVBQWU7SUFDZixFQUFFO0lBQ0YsNkVBQTZFO0lBRTdFLFlBQVksTUFBc0IsRUFBRSxRQUF5QjtRQUN6RCxLQUFLLEVBQUUsQ0FBQztRQUNSLElBQUksQ0FBQyxNQUFNLEdBQUcsTUFBTSxDQUFDO1FBQ3JCLElBQUksQ0FBQyxRQUFRLEdBQUcsUUFBUSxDQUFDO1FBQ3pCLElBQUksQ0FBQyxRQUFRLEdBQUcsSUFB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QUFPLENBQUM7SUFDeEIsQ0FBQztJQUVELElBQVcsTUFBTTtRQUNiLE9BQU8sSUFBSSxDQUFDLFFBQVEsQ0FBQyxZQUFZLEVBQUUsQ0FBQztJQUN4QyxDQUFDOztnSEF0SFEsa0JBQWtCO29IQUFsQixrQkFBa0IsY0FETCxNQUFNOzRGQUNuQixrQkFBa0I7a0JBRDlCLFVBQVU7bUJBQUMsRUFBRSxVQUFVLEVBQUUsTUFBTSxFQUFFIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgQ29tcG9uZW50VHlwZSB9IGZyb20gJ0Bhbmd1bGFyL2Nkay9wb3J0YWwnO1xuaW1wb3J0IHsgSW5qZWN0YWJsZSB9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xuaW1wb3J0IHsgTWF0Qm90dG9tU2hlZXQsIE1hdEJvdHRvbVNoZWV0Q29uZmlnLCBNYXRCb3R0b21TaGVldFJlZiB9IGZyb20gJ0Bhbmd1bGFyL21hdGVyaWFsL2JvdHRvbS1zaGVldCc7XG5pbXBvcnQgeyBEZXN0cm95YWJsZSB9IGZyb20gJ0B0cy1jb3JlL2NvbW1vbic7XG5pbXBvcnQgeyBPYnNlcnZhYmxlRGF0YSB9IGZyb20gJ0B0cy1jb3JlL2NvbW1vbi9vYnNlcnZlcic7XG5pbXBvcnQgeyBMYW5ndWFnZVNlcnZpY2UgfSBmcm9tICdAdHMtY29yZS9mcm9udGVuZC9sYW5ndWFnZSc7XG5pbXBvcnQgKiBhcyBfIGZyb20gJ2xvZGFzaCc7XG5pbXBvcnQgeyBmaWx0ZXIsIE9ic2VydmFibGUsIFN1YmplY3QsIHRha2VVbnRpbCB9IGZyb20gJ3J4anMnO1xuaW1wb3J0IHsgV2luZG93RmFjdG9yeSB9IGZyb20gJy4uL3dpbmRvdy9XaW5kb3dGYWN0b3J5JztcbmltcG9ydCB7IElXaW5kb3cgfSBmcm9tICcuLi93aW5kb3cvSVdpbmRvdyc7XG5pbXBvcnQgeyBXaW5kb3dDb25maWcsIFdpbmRvd0NvbmZpZ09wdGlvbnMgfSBmcm9tICcuLi93aW5kb3cvV2luZG93Q29uZmlnJztcbmltcG9ydCB7IElXaW5kb3dDb250ZW50IH0gZnJvbSAnLi4vd2luZG93L0lXaW5kb3dDb250ZW50JztcbmltcG9ydCB7IFdpbmRvd1NlcnZpY2VFdmVudCwgV2luZG93U2VydmljZSB9IGZyb20gJy4uL3dpbmRvdy9XaW5kb3dTZXJ2aWNlJztcbmltcG9ydCB7IFF1ZXN0aW9uTWFuYWdlciB9IGZyb20gJy4uL3F1ZXN0aW9uL1F1ZXN0aW9uTWFuYWdlcic7XG5pbXBvcnQgeyBJUXVlc3Rpb24sIElRdWVzdGlvbk9wdGlvbnMsIFF1ZXN0aW9uTW9kZSB9IGZyb20gJy4uL3F1ZXN0aW9uL0lRdWVzdGlvbic7XG5pbXBvcnQgeyBXaW5kb3dRdWVzdGlvbkNvbXBvbmVudCB9IGZyb20gJy4uL3dpbmRvdy9jb21wb25lbnQvd2luZG93LXF1ZXN0aW9uL3dpbmRvdy1xdWVzdGlvbi5jb21wb25lbnQnO1xuaW1wb3J0IHsgQm90dG9tU2hlZXRCYXNlQ29tcG9uZW50IH0gZnJvbSAnLi9jb21wb25lbnQvQm90dG9tU2hlZXRCYXNlQ29tcG9uZW50JztcblxuQEluamVjdGFibGUoeyBwcm92aWRlZEluOiAncm9vdCcgfSlcbmV4cG9ydCBjbGFzcyBCb3R0b21TaGVldFNlcnZpY2UgZXh0ZW5kcyBEZXN0cm95YWJsZSB7XG4gICAgLy8gLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS1cbiAgICAvL1xuICAgIC8vIFx0UHJvcGVydGllc1xuICAgIC8vXG4gICAgLy8gLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS1cblxuICAgIHB1YmxpYyBmYWN0b3J5OiBXaW5kb3dGYWN0b3J5PElXaW5kb3c+O1xuICAgIHB1YmxpYyBxdWVzdGlvbkNvbXBvbmVudDogQ29tcG9uZW50VHlwZTxJV2luZG93Q29udGVudD47XG5cbiAgICBwcm90ZWN0ZWQgX3dpbmRvdzogSVdpbmRvdztcblxuICAgIHByb3RlY3RlZCBkaWFsb2c6IE1hdEJvdHRvbVNoZWV0O1xuICAgIHByb3RlY3RlZCBsYW5ndWFnZTogTGFuZ3VhZ2VTZXJ2aWNlO1xuXG4gICAgcHJpdmF0ZSBvYnNlcnZlcjogU3ViamVjdDxPYnNlcnZhYmxlRGF0YTxXaW5kb3dTZXJ2aWNlRXZlbnQsIElXaW5kb3c+PjtcblxuICAgIC8vIC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tXG4gICAgLy9cbiAgICAvLyBcdENvbnN0cnVjdG9yXG4gICAgLy9cbiAgICAvLyAtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLVxuXG4gICAgY29uc3RydWN0b3IoZGlhbG9nOiBNYXRCb3R0b21TaGVldCwgbGFuZ3VhZ2U6IExhbmd1YWdlU2VydmljZSkge1xuICAgICAgICBzdXBlcigpO1xuICAgICAgICB0aGlzLmRpYWxvZyA9IGRpYWxvZztcbiAgICAgICAgdGhpcy5sYW5ndWFnZSA9IGxhbmd1YWdlO1xuICAgICAgICB0aGlzLm9ic2VydmVyID0gbmV3IFN1YmplY3QoKTtcblxuICAgICAgICB0aGlzLmZhY3RvcnkgPSBuZXcgV2luZG93RmFjdG9yeShCb3R0b21TaGVldEJhc2VDb21wb25lbnQpO1xuICAgICAgICB0aGlzLnF1ZXN0aW9uQ29tcG9uZW50ID0gV2luZG93UXVlc3Rpb25Db21wb25lbnQ7XG4gICAgfVxuXG4gICAgLy8gLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS1cbiAgICAvL1xuICAgIC8vIFx0UHVibGljIE1ldGhvZHNcbiAgICAvL1xuICAgIC8vIC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tXG5cbiAgICBwdWJsaWMgb3BlbjxUIGV4dGVuZHMgSVdpbmRvd0NvbnRlbnQ+KGNvbXBvbmVudDogQ29tcG9uZW50VHlwZTxUPiwgY29uZmlnOiBXaW5kb3dDb25maWcpOiBUIHtcbiAgICAgICAgbGV0IHJlZmVyZW5jZTogTWF0Qm90dG9tU2hlZXRSZWY8VD4gPSB0aGlzLmRpYWxvZy5vcGVuKGNvbXBvbmVudCwgY29uZmlnIGFzIE1hdEJvdHRvbVNoZWV0Q29uZmlnPFQ+KTtcblxuICAgICAgICBsZXQgd2luZG93ID0gdGhpcy5mYWN0b3J5LmNyZWF0ZSh7IGNvbmZpZywgcmVmZXJlbmNlOiByZWZlcmVuY2UgYXMgYW55LCBvdmVybGF5OiAocmVmZXJlbmNlIGFzIGFueSkuX292ZXJsYXlSZWYgfSk7XG4gICAgICAgIHRoaXMub2JzZXJ2ZXIubmV4dChuZXcgT2JzZXJ2YWJsZURhdGEoV2luZG93U2VydmljZUV2ZW50Lk9QRU5fU1RBUlRFRCwgd2luZG93KSk7XG5cbiAgICAgICAgbGV0IHN1YnNjcmlwdGlvbiA9IHdpbmRvdy5ldmVudHMuc3Vic2NyaWJlKGV2ZW50ID0+IHtcbiAgICAgICAgICAgIHN3aXRjaCAoZXZlbnQpIHtcbiAgICAgICAgICAgICAgICBjYXNlIFdpbmRvd1NlcnZpY2VFdmVudC5PUEVORUQ6XG4gICAgICAgICAgICAgICAgICAgIHRoaXMuX3dpbmRvdyA9IHdpbmRvdztcbiAgICAgICAgICAgICAgICAgICAgdGhpcy5vYnNlcnZlci5uZXh0KG5ldyBPYnNlcnZhYmxlRGF0YShXaW5kb3dTZXJ2aWNlRXZlbnQuT1BFTkVELCB3aW5kb3cpKTtcbiAgICAgICAgICAgICAgICAgICAgdGhpcy5vYnNlcnZlci5uZXh0KG5ldyBPYnNlcnZhYmxlRGF0YShXaW5kb3dTZXJ2aWNlRXZlbnQuT1BFTl9GSU5JU0hFRCwgd2luZG93KSk7XG4gICAgICAgICAgICAgICAgICAgIGJyZWFrO1xuXG4gICAgICAgICAgICAgICAgY2FzZSBXaW5kb3dTZXJ2aWNlRXZlbnQuQ0xPU0VEOlxuICAgICAgICAgICAgICAgICAgICBzdWJzY3JpcHRpb24udW5zdWJzY3JpYmUoKTtcbiAgICAgICAgICAgICAgICAgICAgdGhpcy5fd2luZG93ID0gbnVsbDtcbiAgICAgICAgICAgICAgICAgICAgdGhpcy5vYnNlcnZlci5uZXh0KG5ldyBPYnNlcnZhYmxlRGF0YShXaW5kb3dTZXJ2aWNlRXZlbnQuQ0xPU0VELCB3aW5kb3cpKTtcbiAgICAgICAgICAgICAgICAgICAgYnJlYWs7XG4gICAgICAgICAgICB9XG4gICAgICAgIH0pO1xuICAgICAgICByZXR1cm4gd2luZG93LmNvbnRlbnQgYXMgVDtcbiAgICB9XG5cbiAgICBwdWJsaWMgcmVtb3ZlQWxsKCk6IHZvaWQge31cblxuICAgIHB1YmxpYyBkZXN0cm95KCk6IHZvaWQge1xuICAgICAgICBpZiAodGhpcy5pc0Rlc3Ryb3llZCkge1xuICAgICAgICAgICAgcmV0dXJuO1xuICAgICAgICB9XG4gICAgICAgIHN1cGVyLmRlc3Ryb3koKTtcbiAgICAgICAgdGhpcy5yZW1vdmVBbGwoKTtcblxuICAgICAgICBpZiAoIV8uaXNOaWwodGhpcy5vYnNlcnZlcikpIHtcbiAgICAgICAgICAgIHRoaXMub2JzZXJ2ZXIuY29tcGxldGUoKTtcbiAgICAgICAgICAgIHRoaXMub2JzZXJ2ZXIgPSBudWxsO1xuICAgICAgICB9XG5cbiAgICAgICAgdGhpcy5fd2luZG93ID0gbnVsbDtcblxuICAgICAgICB0aGlzLmZhY3RvcnkgPSBudWxsO1xuICAgICAgICB0aGlzLnF1ZXN0aW9uQ29tcG9uZW50ID0gbnVsbDtcblxuICAgICAgICB0aGlzLmRpYWxvZyA9IG51bGw7XG4gICAgICAgIHRoaXMubGFuZ3VhZ2UgPSBudWxsO1xuICAgIH1cblxuICAgIC8vIC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tXG4gICAgLy9cbiAgICAvLyBcdEFkZGl0aW9uYWwgTWV0aG9kc1xuICAgIC8vXG4gICAgLy8gLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS1cblxuICAgIHB1YmxpYyBpbmZvKHRyYW5zbGF0aW9uSWQ/OiBzdHJpbmcsIHRyYW5zbGF0aW9uPzogYW55LCBxdWVzdGlvbk9wdGlvbnM/OiBJUXVlc3Rpb25PcHRpb25zLCBjb25maWdPcHRpb25zPzogV2luZG93Q29uZmlnT3B0aW9ucyk6IElRdWVzdGlvbiB7XG4gICAgICAgIGxldCB0ZXh0ID0gdGhpcy5sYW5ndWFnZS50cmFuc2xhdGUodHJhbnNsYXRpb25JZCwgdHJhbnNsYXRpb24pO1xuICAgICAgICBsZXQgY29uZmlnOiBXaW5kb3dDb25maWc8UXVlc3Rpb25NYW5hZ2VyPiA9IF8uYXNzaWduKG5ldyBXaW5kb3dDb25maWcodHJ1ZSwgZmFsc2UsIDQ1MCksIGNvbmZpZ09wdGlvbnMpO1xuICAgICAgICBjb25maWcuZGF0YSA9IG5ldyBRdWVzdGlvbk1hbmFnZXIoXy5hc3NpZ24ocXVlc3Rpb25PcHRpb25zLCB7IG1vZGU6IFF1ZXN0aW9uTW9kZS5JTkZPLCB0ZXh0IH0pKTtcbiAgICAgICAgcmV0dXJuIHRoaXMub3Blbih0aGlzLnF1ZXN0aW9uQ29tcG9uZW50LCBjb25maWcpLmNvbmZpZy5kYXRhO1xuICAgIH1cblxuICAgIHB1YmxpYyBxdWVzdGlvbih0cmFuc2xhdGlvbklkPzogc3RyaW5nLCB0cmFuc2xhdGlvbj86IGFueSwgcXVlc3Rpb25PcHRpb25zPzogSVF1ZXN0aW9uT3B0aW9ucywgY29uZmlnT3B0aW9ucz86IFdpbmRvd0NvbmZpZ09wdGlvbnMpOiBJUXVlc3Rpb24ge1xuICAgICAgICBsZXQgdGV4dCA9IHRoaXMubGFuZ3VhZ2UudHJhbnNsYXRlKHRyYW5zbGF0aW9uSWQsIHRyYW5zbGF0aW9uKTtcbiAgICAgICAgbGV0IGNvbmZpZzogV2luZG93Q29uZmlnPFF1ZXN0aW9uTWFuYWdlcj4gPSBfLmFzc2lnbihuZXcgV2luZG93Q29uZmlnKHRydWUsIGZhbHNlLCA0NTApLCBjb25maWdPcHRpb25zKTtcbiAgICAgICAgY29uZmlnLmRhdGEgPSBuZXcgUXVlc3Rpb25NYW5hZ2VyKF8uYXNzaWduKHF1ZXN0aW9uT3B0aW9ucywgeyBtb2RlOiBRdWVzdGlvbk1vZGUuUVVFU1RJT04sIHRleHQgfSkpO1xuICAgICAgICByZXR1cm4gdGhpcy5vcGVuKHRoaXMucXVlc3Rpb25Db21wb25lbnQsIGNvbmZpZykuY29uZmlnLmRhdGE7XG4gICAgfVxuXG4gICAgLy8gLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS1cbiAgICAvL1xuICAgIC8vIFx0UHVibGljIFByb3BlcnRpZXNcbiAgICAvL1xuICAgIC8vIC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tXG5cbiAgICBwdWJsaWMgZ2V0IHdpbmRvdygpOiBJV2luZG93IHtcbiAgICAgICAgcmV0dXJuIHRoaXMuX3dpbmRvdztcbiAgICB9XG5cbiAgICBwdWJsaWMgZ2V0IGV2ZW50cygpOiBPYnNlcnZhYmxlPE9ic2VydmFibGVEYXRhPFdpbmRvd1NlcnZpY2VFdmVudCwgSVdpbmRvdz4+IHtcbiAgICAgICAgcmV0dXJuIHRoaXMub2JzZXJ2ZXIuYXNPYnNlcnZhYmxlKCk7XG4gICAgfVxufVxuIl19
|
|
@@ -15,14 +15,16 @@ import * as i0 from "@angular/core";
|
|
|
15
15
|
import * as i1 from "@angular/material/dialog";
|
|
16
16
|
import * as i2 from "@ts-core/frontend/language";
|
|
17
17
|
import * as i3 from "../cookie/CookieService";
|
|
18
|
+
import * as i4 from "../bottomSheet/BottomSheetService";
|
|
18
19
|
export class WindowService extends Destroyable {
|
|
19
20
|
// --------------------------------------------------------------------------
|
|
20
21
|
//
|
|
21
22
|
// Constructor
|
|
22
23
|
//
|
|
23
24
|
// --------------------------------------------------------------------------
|
|
24
|
-
constructor(dialog, language, cookies) {
|
|
25
|
+
constructor(dialog, language, cookies, sheet) {
|
|
25
26
|
super();
|
|
27
|
+
this.sheet = sheet;
|
|
26
28
|
this.isNeedCheckPositionAfterOpen = true;
|
|
27
29
|
this.gapX = 25;
|
|
28
30
|
this.gapY = 25;
|
|
@@ -56,8 +58,9 @@ export class WindowService extends Destroyable {
|
|
|
56
58
|
updateTop() {
|
|
57
59
|
let zIndex = 0;
|
|
58
60
|
let topWindow = null;
|
|
59
|
-
|
|
60
|
-
|
|
61
|
+
let windows = [this.sheet.window, ...this.windowsArray];
|
|
62
|
+
for (let window of windows) {
|
|
63
|
+
if (_.isNil(window) || _.isNil(window.container)) {
|
|
61
64
|
continue;
|
|
62
65
|
}
|
|
63
66
|
let index = parseInt(ViewUtil.getStyle(window.container.parentElement, 'zIndex'), 10);
|
|
@@ -288,12 +291,12 @@ export class WindowService extends Destroyable {
|
|
|
288
291
|
return this._windows;
|
|
289
292
|
}
|
|
290
293
|
}
|
|
291
|
-
WindowService.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "13.3.11", ngImport: i0, type: WindowService, deps: [{ token: i1.MatDialog }, { token: i2.LanguageService }, { token: i3.CookieService }], target: i0.ɵɵFactoryTarget.Injectable });
|
|
294
|
+
WindowService.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "13.3.11", ngImport: i0, type: WindowService, deps: [{ token: i1.MatDialog }, { token: i2.LanguageService }, { token: i3.CookieService }, { token: i4.BottomSheetService }], target: i0.ɵɵFactoryTarget.Injectable });
|
|
292
295
|
WindowService.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "13.3.11", ngImport: i0, type: WindowService, providedIn: 'root' });
|
|
293
296
|
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "13.3.11", ngImport: i0, type: WindowService, decorators: [{
|
|
294
297
|
type: Injectable,
|
|
295
298
|
args: [{ providedIn: 'root' }]
|
|
296
|
-
}], ctorParameters: function () { return [{ type: i1.MatDialog }, { type: i2.LanguageService }, { type: i3.CookieService }]; } });
|
|
299
|
+
}], ctorParameters: function () { return [{ type: i1.MatDialog }, { type: i2.LanguageService }, { type: i3.CookieService }, { type: i4.BottomSheetService }]; } });
|
|
297
300
|
export class PropertiesManager extends Destroyable {
|
|
298
301
|
// --------------------------------------------------------------------------
|
|
299
302
|
//
|
|
@@ -343,4 +346,4 @@ export var WindowServiceEvent;
|
|
|
343
346
|
WindowServiceEvent["CLOSED"] = "CLOSED";
|
|
344
347
|
WindowServiceEvent["SETTED_ON_TOP"] = "SETTED_ON_TOP";
|
|
345
348
|
})(WindowServiceEvent || (WindowServiceEvent = {}));
|
|
346
|
-
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiV2luZG93U2VydmljZS5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uL3NyYy93aW5kb3cvV2luZG93U2VydmljZS50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFDQSxPQUFPLEVBQUUsVUFBVSxFQUFFLE1BQU0sZUFBZSxDQUFDO0FBRTNDLE9BQU8sRUFBRSxXQUFXLEVBQUUsTUFBTSxpQkFBaUIsQ0FBQztBQUM5QyxPQUFPLEVBQUUsY0FBYyxFQUFFLE1BQU0sMEJBQTBCLENBQUM7QUFFMUQsT0FBTyxLQUFLLENBQUMsTUFBTSxRQUFRLENBQUM7QUFDNUIsT0FBTyxFQUFjLE9BQU8sRUFBRSxNQUFNLE1BQU0sQ0FBQztBQUUzQyxPQUFPLEVBQStCLFlBQVksRUFBRSxNQUFNLHVCQUF1QixDQUFDO0FBQ2xGLE9BQU8sRUFBRSxlQUFlLEVBQUUsTUFBTSw2QkFBNkIsQ0FBQztBQUM5RCxPQUFPLEVBQUUsUUFBUSxFQUFFLE1BQU0sa0JBQWtCLENBQUM7QUFDNUMsT0FBTyxFQUFFLHVCQUF1QixFQUFFLE1BQU0sdURBQXVELENBQUM7QUFDaEcsT0FBTyxFQUFFLG1CQUFtQixFQUFFLE1BQU0saUNBQWlDLENBQUM7QUFDdEUsT0FBTyxFQUFXLFdBQVcsRUFBRSxNQUFNLFdBQVcsQ0FBQztBQUVqRCxPQUFPLEVBQUUsV0FBVyxFQUFFLFlBQVksRUFBdUIsTUFBTSxnQkFBZ0IsQ0FBQztBQUNoRixPQUFPLEVBQUUsYUFBYSxFQUFFLE1BQU0saUJBQWlCLENBQUM7Ozs7O0FBR2hELE1BQU0sT0FBTyxhQUFjLFNBQVEsV0FBVztJQW1DMUMsNkVBQTZFO0lBQzdFLEVBQUU7SUFDRixlQUFlO0lBQ2YsRUFBRTtJQUNGLDZFQUE2RTtJQUU3RSxZQUFZLE1BQWlCLEVBQUUsUUFBeUIsRUFBRSxPQUFzQjtRQUM1RSxLQUFLLEVBQUUsQ0FBQztRQWpDTCxpQ0FBNEIsR0FBWSxJQUFJLENBQUM7UUFVN0MsU0FBSSxHQUFXLEVBQUUsQ0FBQztRQUNs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UUFDckMsSUFBSSxDQUFDLE9BQU8sQ0FBQyxTQUFTLENBQUMsSUFBSSxHQUFHLFFBQVEsRUFBRTtZQUNwQyxLQUFLLEVBQUUsTUFBTSxDQUFDLFFBQVEsRUFBRTtZQUN4QixNQUFNLEVBQUUsTUFBTSxDQUFDLFNBQVMsRUFBRTtTQUM3QixDQUFDLENBQUM7SUFDUCxDQUFDO0lBRU0sT0FBTztRQUNWLElBQUksSUFBSSxDQUFDLFdBQVcsRUFBRTtZQUNsQixPQUFPO1NBQ1Y7UUFDRCxLQUFLLENBQUMsT0FBTyxFQUFFLENBQUM7UUFDaEIsSUFBSSxDQUFDLE9BQU8sR0FBRyxJQUFJLENBQUM7SUFDeEIsQ0FBQztDQUNKO0FBSUQsTUFBTSxDQUFOLElBQVksa0JBT1g7QUFQRCxXQUFZLGtCQUFrQjtJQUMxQixtREFBNkIsQ0FBQTtJQUM3Qix1Q0FBaUIsQ0FBQTtJQUNqQixxREFBK0IsQ0FBQTtJQUUvQix1Q0FBaUIsQ0FBQTtJQUNqQixxREFBK0IsQ0FBQTtBQUNuQyxDQUFDLEVBUFcsa0JBQWtCLEtBQWxCLGtCQUFrQixRQU83QiIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IENvbXBvbmVudFR5cGUgfSBmcm9tICdAYW5ndWxhci9jZGsvcG9ydGFsJztcbmltcG9ydCB7IEluamVjdGFibGUgfSBmcm9tICdAYW5ndWxhci9jb3JlJztcbmltcG9ydCB7IE1hdERpYWxvZywgTWF0RGlhbG9nUmVmIH0gZnJvbSAnQGFuZ3VsYXIvbWF0ZXJpYWwvZGlhbG9nJztcbmltcG9ydCB7IERlc3Ryb3lhYmxlIH0gZnJvbSAnQHRzLWNvcmUvY29tbW9uJztcbmltcG9ydCB7IE9ic2VydmFibGVEYXRhIH0gZnJvbSAnQHRzLWNvcmUvY29tbW9uL29ic2VydmVyJztcbmltcG9ydCB7IExhbmd1YWdlU2VydmljZSB9IGZyb20gJ0B0cy1jb3JlL2Zyb250ZW5kL2xhbmd1YWdlJztcbmltcG9ydCAqIGFzIF8gZnJvbSAnbG9kYXNoJztcbmltcG9ydCB7IE9ic2VydmFibGUsIFN1YmplY3QgfSBmcm9tICdyeGpzJztcbmltcG9ydCB7IENvb2tpZVNlcnZpY2UgfSBmcm9tICcuLi9jb29raWUvQ29va2llU2VydmljZSc7XG5pbXBvcnQgeyBJUXVlc3Rpb24sIElRdWVzdGlvbk9wdGlvbnMsIFF1ZXN0aW9uTW9kZSB9IGZyb20gJy4uL3F1ZXN0aW9uL0lRdWVzdGlvbic7XG5pbXBvcnQgeyBRdWVzdGlvbk1hbmFnZXIgfSBmcm9tICcuLi9xdWVzdGlvbi9RdWVzdGlvbk1hbmFnZXInO1xuaW1wb3J0IHsgVmlld1V0aWwgfSBmcm9tICcuLi91dGlsL1ZpZXdVdGlsJztcbmltcG9ydCB7IFdpbmRvd1F1ZXN0aW9uQ29tcG9uZW50IH0gZnJvbSAnLi9jb21wb25lbnQvd2luZG93LXF1ZXN0aW9uL3dpbmRvdy1xdWVzdGlvbi5jb21wb25lbnQnO1xuaW1wb3J0IHsgV2luZG93QmFzZUNvbXBvbmVudCB9IGZyb20gJy4vY29tcG9uZW50L1dpbmRvd0Jhc2VDb21wb25lbnQnO1xuaW1wb3J0IHsgSVdpbmRvdywgV2luZG93RXZlbnQgfSBmcm9tICcuL0lXaW5kb3cnO1xuaW1wb3J0IHsgSVdpbmRvd0NvbnRlbnQgfSBmcm9tICcuL0lXaW5kb3dDb250ZW50JztcbmltcG9ydCB7IFdpbmRvd0FsaWduLCBXaW5kb3dDb25maWcsIFdpbmRvd0NvbmZpZ09wdGlvbnMgfSBmcm9tICcuL1dpbmRvd0NvbmZpZyc7XG5pbXBvcnQgeyBXaW5kb3dGYWN0b3J5IH0gZnJvbSAnLi9XaW5kb3dGYWN0b3J5JztcblxuQEluamVjdGFibGUoeyBwcm92aWRlZEluOiAncm9vdCcgfSlcbmV4cG9ydCBjbGFzcyBXaW5kb3dTZXJ2aWNlIGV4dGVuZHMgRGVzdHJveWFibGUge1xuICAgIC8vIC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tXG4gICAgLy9cbiAgICAvLyBcdFByb3BlcnRpZXNcbiAgICAvL1xuICAgIC8vIC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tXG5cbiAgICBwdWJsaWMgZmFjdG9yeTogV2luZG93RmFjdG9yeTxJV2luZG93PjtcbiAgICBwdWJsaWMgcXVlc3Rpb25Db21wb25lbnQ6IENvbXBvbmVudFR5cGU8SVdpbmRvd0NvbnRlbnQ+O1xuICAgIHB1YmxpYyBpc05lZWRDaGVja1Bvc2l0aW9uQWZ0ZXJPcGVuOiBib29sZWFuID0gdHJ1ZTtcblxuICAgIHByb3RlY3RlZCBkaWFsb2c6IE1hdERpYWxvZztcbiAgICBwcm90ZWN0ZWQgbGFuZ3VhZ2U6IExhbmd1YWdlU2VydmljZTtcblxuICAgIHByaXZhdGUgX3dpbmRvd3M6IE1hcDxXaW5kb3dDb25maWcsIElXaW5kb3dDb250ZW50PjtcblxuICAgIHByaXZhdGUgb2JzZXJ2ZXI6IFN1YmplY3Q8T2JzZXJ2YWJsZURhdGE8V2luZG93U2VydmljZUV2ZW50LCBJV2luZG93Pj47XG4gICAgcHJpdmF0ZSBwcm9wZXJ0aWVzOiBQcm9wZXJ0aWVzTWFuYWdlcjtcblxuICAgIHB1YmxpYyBnYXBYOiBudW1iZXIgPSAyNTtcbiAgICBwdWJsaWMgZ2FwWTogbnVtYmVyID0gMjU7XG5cbiAgICBwdWJsaWMgbWluV2lkdGg6IG51bWJlciA9IDEwMDtcbiAgICBwdWJsaWMgbWluSGVpZ2h0OiBudW1iZXIgPSAxMDA7XG5cbiAgICBwdWJsaWMgcGFkZGluZ1RvcDogbnVtYmVyID0gMjU7XG4gICAgcHVibGljIHBhZGRpbmdMZWZ0OiBudW1iZXIgPSAyNTtcbiAgICBwdWJsaWMgcGFkZGluZ1JpZ2h0OiBudW1iZXIgPSAyNTtcbiAgICBwdWJsaWMgcGFkZGluZ0JvdHRvbTogbnVtYmVyID0gMjU7XG5cbiAgICBwdWJsaWMgZGVmYXVsdFZlcnRpY2FsQWxpZ246IFdpbmRvd0FsaWduID0gV2luZG93QWxpZ24uQ0VOVEVSO1xuICAgIHB1YmxpYyBkZWZhdWx0SG9yaXpvbnRhbEFsaWduOiBXaW5kb3dBbGlnbiA9IFdpbmRvd0FsaWduLkNFTlRFUjtcblxuICAgIHB1YmxpYyB0b3BaSW5kZXg6IG51bWJlciA9IDk5OTtcblxuICAgIC8vIC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tXG4gICAgLy9cbiAgICAvLyBcdENvbnN0cnVjdG9yXG4gICAgLy9cbiAgICAvLyAtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLVxuXG4gICAgY29uc3RydWN0b3IoZGlhbG9nOiBNYXREaWFsb2csIGxhbmd1YWdlOiBMYW5ndWFnZVNlcnZpY2UsIGNvb2tpZXM6IENvb2tpZVNlcnZpY2UpIHtcbiAgICAgICAgc3VwZXIoKTtcbiAgICAgICAgdGhpcy5fd2luZG93cyA9IG5ldyBNYXAoKTtcblxuICAgICAgICB0aGlzLmRpYWxvZyA9IGRpYWxvZztcbiAgICAgICAgdGhpcy5sYW5ndWFnZSA9IGxhbmd1YWdlO1xuICAgICAgICB0aGlzLm9ic2VydmVyID0gbmV3IFN1YmplY3QoKTtcbiAgICAgICAgdGhpcy5wcm9wZXJ0aWVzID0gbmV3IFByb3BlcnRpZXNNYW5hZ2VyKGNvb2tpZXMpO1xuXG4gICAgICAgIHRoaXMuZmFjdG9yeSA9IG5ldyBXaW5kb3dGYWN0b3J5KFdpbmRvd0Jhc2VDb21wb25lbnQpO1xuICAgICAgICB0aGlzLnF1ZXN0aW9uQ29tcG9uZW50ID0gV2luZG93UXVlc3Rpb25Db21wb25lbnQ7XG4gICAgfVxuXG4gICAgLy8gLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS1cbiAgICAvL1xuICAgIC8vIFx0UHJpdmF0ZSBNZXRob2RzXG4gICAgLy9cbiAgICAvLyAtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLVxuXG4gICAgcHJpdmF0ZSBzb3J0RnVuY3Rpb24oZmlyc3Q6IElXaW5kb3csIHNlY29uZDogSVdpbmRvdyk6IG51bWJlciB7XG4gICAgICAgIGxldCBmaXJzdEluZGV4ID0gZmlyc3QuY29udGFpbmVyID8gcGFyc2VJbnQoVmlld1V0aWwuZ2V0U3R5bGUoZmlyc3QuY29udGFpbmVyLnBhcmVudEVsZW1lbnQsICd6SW5kZXgnKSwgMTApIDogLTE7XG4gICAgICAgIGxldCBzZWNvbmRJbmRleCA9IHNlY29uZC5jb250YWluZXIgPyBwYXJzZUludChWaWV3VXRpbC5nZXRTdHlsZShzZWNvbmQuY29udGFpbmVyLnBhcmVudEVsZW1lbnQsICd6SW5kZXgnKSwgMTApIDogLTE7XG4gICAgICAgIHJldHVybiBmaXJzdEluZGV4ID4gc2Vjb25kSW5kZXggPyAtMSA6IDE7XG4gICAgfVxuXG4gICAgcHJpdmF0ZSB1cGRhdGVUb3AoKTogdm9pZCB7XG4gICAgICAgIGxldCB6SW5kZXggPSAwO1xuICAgICAgICBsZXQgdG9wV2luZG93OiBJV2luZG93ID0gbnVsbDtcblxuICAgICAgICBmb3IgKGxldCB3aW5kb3cgb2YgdGhpcy53aW5kb3dzQXJyYXkpIHtcbiAgICAgICAgICAgIGlmIChfLmlzTmlsKHdpbmRvdy5jb250YWluZXIpKSB7XG4gICAgICAgICAgICAgICAgY29udGludWU7XG4gICAgICAgICAgICB9XG4gICAgICAgICAgICBsZXQgaW5kZXggPSBwYXJzZUludChWaWV3VXRpbC5nZXRTdHlsZSh3aW5kb3cuY29udGFpbmVyLnBhcmVudEVsZW1lbnQsICd6SW5kZXgnKSwgMTApO1xuICAgICAgICAgICAgaWYgKHpJbmRleCA+PSBpbmRleCkge1xuICAgICAgICAgICAgICAgIGNvbnRpbnVlO1xuICAgICAgICAgICAgfVxuICAgICAgICAgICAgekluZGV4ID0gaW5kZXg7XG4gICAgICAgICAgICB0b3BXaW5kb3cgPSB3aW5kb3c7XG4gICAgICAgIH1cblxuICAgICAgICBpZiAoXy5pc05pbCh0b3BXaW5kb3cpIHx8IHRvcFdpbmRvdy5pc09uVG9wKSB7XG4gICAgICAgICAgICByZXR1cm47XG4gICAgICAgIH1cbiAgICAgICAgdG9wV2luZG93LmlzT25Ub3AgPSB0cnVlO1xuICAgICAgICB0aGlzLm9ic2VydmVyLm5leHQobmV3IE9ic2VydmFibGVEYXRhKFdpbmRvd1NlcnZpY2VFdmVudC5TRVRURURfT05fVE9QLCB0b3BXaW5kb3cpKTtcbiAgICB9XG5cbiAgICBwcml2YXRlIHNldFdpbmRvd09uVG9wKHRvcFdpbmRvdzogSVdpbmRvdyk6IHZvaWQge1xuICAgICAgICBsZXQgY3VycmVudEluZGV4ID0gdGhpcy50b3BaSW5kZXggLSAyO1xuICAgICAgICBmb3IgKGxldCB3aW5kb3cgb2YgdGhpcy53aW5kb3dzQXJyYXkpIHtcbiAgICAgICAgICAgIGlmIChfLmlzTmlsKHdpbmRvdy5jb250YWluZXIpKSB7XG4gICAgICAgICAgICAgICAgY29udGludWU7XG4gICAgICAgICAgICB9XG4gICAgICAgICAgICB3aW5kb3cuaXNPblRvcCA9IHdpbmRvdyA9PT0gdG9wV2luZG93O1xuXG4gICAgICAgICAgICBsZXQgekluZGV4ID0gd2luZG93LmlzT25Ub3AgPyB0aGlzLnRvcFpJbmRleCA6IGN1cnJlbnRJbmRleC0tO1xuICAgICAgICAgICAgVmlld1V0aWwuc2V0U3R5bGUod2luZG93LmJhY2tkcm9wLCAnekluZGV4JywgekluZGV4KTtcbiAgICAgICAgICAgIFZpZXdVdGlsLnNldFN0eWxlKHdpbmRvdy53cmFwcGVyLCAnekluZGV4JywgekluZGV4KTtcbiAgICAgICAgfVxuXG4gICAgICAgIHRoaXMud2luZG93c0FycmF5LnNvcnQodGhpcy5zb3J0RnVuY3Rpb24pO1xuICAgICAgICB0aGlzLm9ic2VydmVyLm5leHQobmV3IE9ic2VydmFibGVEYXRhKFdpbmRvd1NlcnZpY2VFdmVudC5TRVRURURfT05fVE9QLCB0b3BXaW5kb3cpKTtcbiAgICB9XG5cbiAgICBwcml2YXRlIGNoZWNrUG9zaXRpb24oaXRlbTogSVdpbmRvdyk6IHZvaWQge1xuICAgICAgICB3aGlsZSAodGhpcy5oYXNTYW1lUG9zaXRpb24oaXRlbSkpIHtcbiAgICAgICAgICAgIGl0ZW0ubW92ZShpdGVtLmdldFgoKSArIHRoaXMuZ2FwWCwgaXRlbS5nZXRZKCkgKyB0aGlzLmdhcFkpO1xuICAgICAgICB9XG4gICAgfVxuXG4gICAgcHJpdmF0ZSBoYXNTYW1lUG9zaXRpb24oaXRlbVdpbmRvdzogSVdpbmRvdyk6IGJvb2xlYW4ge1xuICAgICAgICBsZXQgeCA9IGl0ZW1XaW5kb3cuZ2V0WCgpO1xuICAgICAgICBsZXQgeSA9IGl0ZW1XaW5kb3cuZ2V0WSgpO1xuXG4gICAgICAgIGxldCByZXN1bHQgPSBmYWxzZTtcbiAgICAgICAgdGhpcy53aW5kb3dzQXJyYXkuZm9yRWFjaCh3aW5kb3cgPT4ge1xuICAgICAgICAgICAgaWYgKHdpbmRvdyAhPT0gaXRlbVdpbmRvdyAmJiB4ID09PSB3aW5kb3cuZ2V0WCgpICYmIHkgPT09IHdpbmRvdy5nZXRZKCkpIHtcbiAgICAgICAgICAgICAgICByZXN1bHQgPSB0cnVlO1xuICAgICAgICAgICAgfVxuICAgICAgICB9KTtcbiAgICAgICAgcmV0dXJuIHJlc3VsdDtcbiAgICB9XG5cbiAgICAvLyAtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLVxuICAgIC8vXG4gICAgLy8gXHRTZXR0ZXJzIE1ldGhvZHNcbiAgICAvL1xuICAgIC8vIC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tXG5cbiAgICBwcml2YXRlIGFkZChjb25maWc6IFdpbmRvd0NvbmZpZywgY29udGVudDogSVdpbmRvd0NvbnRlbnQpOiB2b2lkIHtcbiAgICAgICAgdGhpcy5fd2luZG93cy5zZXQoY29uZmlnLCBjb250ZW50KTtcbiAgICAgICAgdGhpcy5vYnNlcnZlci5uZXh0KG5ldyBPYnNlcnZhYmxlRGF0YShXaW5kb3dTZXJ2aWNlRXZlbnQuT1BFTkVELCBjb250ZW50LndpbmRvdykpO1xuICAgIH1cblxuICAgIHByaXZhdGUgcmVtb3ZlKGNvbmZpZzogV2luZG93Q29uZmlnKTogdm9pZCB7XG4gICAgICAgIGxldCB3aW5kb3cgPSB0aGlzLl93aW5kb3dzLmdldChjb25maWcpO1xuICAgICAgICBpZiAoIXdpbmRvdykge1xuICAgICAgICAgICAgcmV0dXJuIG51bGw7XG4gICAgICAgIH1cblxuICAgICAgICB3aW5kb3cuY2xvc2UoKTtcbiAgICAgICAgdGhpcy5fd2luZG93cy5kZWxldGUoY29uZmlnKTtcbiAgICAgICAgdGhpcy5vYnNlcnZlci5uZXh0KG5ldyBPYnNlcnZhYmxlRGF0YShXaW5kb3dTZXJ2aWNlRXZlbnQuQ0xPU0VELCB3aW5kb3cud2luZG93KSk7XG4gICAgfVxuXG4gICAgcHJpdmF0ZSBnZXRCeUlkPFQ+KGlkOiBzdHJpbmcpOiBJV2luZG93PFQ+IHtcbiAgICAgICAgbGV0IGl0ZW0gPSBfLmZpbmQoQXJyYXkuZnJvbSh0aGlzLl93aW5kb3dzLnZhbHVlcygpKSwgaXRlbSA9PiBpdGVtLmNvbmZpZy5pZCA9PT0gaWQpO1xuICAgICAgICByZXR1cm4gIV8uaXNOaWwoaXRlbSkgPyBpdGVtLndpbmRvdyA6IG51bGw7XG4gICAgfVxuXG4gICAgcHJpdmF0ZSBzZXREZWZhdWx0UHJvcGVydGllcyhjb25maWc6IFdpbmRvd0NvbmZpZyk6IHZvaWQge1xuICAgICAgICBpZiAoIWNvbmZpZy52ZXJ0aWNhbEFsaWduKSB7XG4gICAgICAgICAgICBjb25maWcudmVydGljYWxBbGlnbiA9IHRoaXMuZGVmYXVsdFZlcnRpY2FsQWxpZ247XG4gICAgICAgIH1cbiAgICAgICAgaWYgKCFjb25maWcuaG9yaXpvbnRhbEFsaWduKSB7XG4gICAgICAgICAgICBjb25maWcuaG9yaXpvbnRhbEFsaWduID0gdGhpcy5kZWZhdWx0SG9yaXpvbnRhbEFsaWduO1xuICAgICAgICB9XG5cbiAgICAgICAgaWYgKF8uaXNOYU4oY29uZmlnLmRlZmF1bHRNaW5XaWR0aCkpIHtcbiAgICAgICAgICAgIGNvbmZpZy5kZWZhdWx0TWluV2lkdGggPSB0aGlzLm1pbldpZHRoO1xuICAgICAgICB9XG4gICAgICAgIGlmIChfLmlzTmFOKGNvbmZpZy5kZWZhdWx0TWluSGVpZ2h0KSkge1xuICAgICAgICAgICAgY29uZmlnLmRlZmF1bHRNaW5IZWlnaHQgPSB0aGlzLm1pbkhlaWdodDtcbiAgICAgICAgfVxuXG4gICAgICAgIGlmIChfLmlzTmFOKGNvbmZpZy5wYWRkaW5nVG9wKSkge1xuICAgICAgICAgICAgY29uZmlnLnBhZGRpbmdUb3AgPSB0aGlzLnBhZGRpbmdUb3A7XG4gICAgICAgIH1cbiAgICAgICAgaWYgKF8uaXNOYU4oY29uZmlnLnBhZGRpbmdMZWZ0KSkge1xuICAgICAgICAgICAgY29uZmlnLnBhZGRpbmdMZWZ0ID0gdGhpcy5wYWRkaW5nTGVmdDtcbiAgICAgICAgfVxuICAgICAgICBpZiAoXy5pc05hTihjb25maWcucGFkZGluZ1JpZ2h0KSkge1xuICAgICAgICAgICAgY29uZmlnLnBhZGRpbmdSaWdodCA9IHRoaXMucGFkZGluZ1JpZ2h0O1xuICAgICAgICB9XG4gICAgICAgIGlmIChfLmlzTmFOKGNvbmZpZy5wYWRkaW5nQm90dG9tKSkge1xuICAgICAgICAgICAgY29uZmlnLnBhZGRpbmdCb3R0b20gPSB0aGlzLnBhZGRpbmdCb3R0b207XG4gICAgICAgIH1cblxuICAgICAgICBpZiAoY29uZmlnLnByb3BlcnRpZXNJZCkge1xuICAgICAgICAgICAgdGhpcy5wcm9wZXJ0aWVzLmxvYWQoY29uZmlnLnByb3BlcnRpZXNJZCwgY29uZmlnKTtcbiAgICAgICAgfVxuXG4gICAgICAgIGNvbmZpZy5zZXREZWZhdWx0UHJvcGVydGllcygpO1xuICAgIH1cblxuICAgIC8vIC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tXG4gICAgLy9cbiAgICAvLyBcdFB1YmxpYyBNZXRob2RzXG4gICAgLy9cbiAgICAvLyAtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLVxuXG4gICAgcHVibGljIG9wZW48VCBleHRlbmRzIElXaW5kb3dDb250ZW50Pihjb21wb25lbnQ6IENvbXBvbmVudFR5cGU8VD4sIGNvbmZpZzogV2luZG93Q29uZmlnKTogVCB7XG4gICAgICAgIGxldCB3aW5kb3c6IElXaW5kb3c8VD4gPSBudWxsO1xuICAgICAgICBpZiAoY29uZmlnLmlkKSB7XG4gICAgICAgICAgICB3aW5kb3cgPSB0aGlzLmdldEJ5SWQoY29uZmlnLmlkKTtcbiAgICAgICAgICAgIGlmICh3aW5kb3cpIHtcbiAgICAgICAgICAgICAgICByZXR1cm4gd2luZG93LmNvbnRlbnQgYXMgVDtcbiAgICAgICAgICAgIH1cbiAgICAgICAgfVxuXG4gICAgICAgIHRoaXMuc2V0RGVmYXVsdFByb3BlcnRpZXMoY29uZmlnKTtcblxuICAgICAgICAvLyBsZXQgZGlhbG9nID0gdGhpcy5kaWFsb2cgYXMgYW55O1xuICAgICAgICAvLyBkaWFsb2cuX2dldE92ZXJsYXlTdGF0ZSA9IGNvbmZpZy5pc01vZGFsID8gZGlhbG9nLmdldE92ZXJsYXlTdGF0ZU1vZGFsIDogZGlhbG9nLmdldE92ZXJsYXlTdGF0ZU5vbk1vZGFsO1xuXG4gICAgICAgIGxldCByZWZlcmVuY2U6IE1hdERpYWxvZ1JlZjxJV2luZG93Q29udGVudD4gPSB0aGlzLmRpYWxvZy5vcGVuKGNvbXBvbmVudCwgY29uZmlnKTtcbiAgICAgICAgd2luZG93ID0gdGhpcy5mYWN0b3J5LmNyZWF0ZSh7IGNvbmZpZywgcmVmZXJlbmNlLCBvdmVybGF5OiAocmVmZXJlbmNlIGFzIGFueSkuX292ZXJsYXlSZWYgfSk7XG5cbiAgICAgICAgdGhpcy5vYnNlcnZlci5uZXh0KG5ldyBPYnNlcnZhYmxlRGF0YShXaW5kb3dTZXJ2aWNlRXZlbnQuT1BFTl9TVEFSVEVELCB3aW5kb3cpKTtcblxuICAgICAgICBsZXQgc3Vic2NyaXB0aW9uID0gd2luZG93LmV2ZW50cy5zdWJzY3JpYmUoZXZlbnQgPT4ge1xuICAgICAgICAgICAgc3dpdGNoIChldmVudCkge1xuICAgICAgICAgICAgICAgIGNhc2UgV2luZG93RXZlbnQuT1BFTkVEOlxuICAgICAgICAgICAgICAgICAgICB0aGlzLmFkZChjb25maWcsIHJlZmVyZW5jZS5jb21wb25lbnRJbnN0YW5jZSk7XG4gICAgICAgICAgICAgICAgICAgIHRoaXMuc2V0V2luZG93T25Ub3Aod2luZG93KTtcbiAgICAgICAgICAgICAgICAgICAgaWYgKHRoaXMuaXNOZWVkQ2hlY2tQb3NpdGlvbkFmdGVyT3Blbikge1xuICAgICAgICAgICAgICAgICAgICAgICAgdGhpcy5jaGVja1Bvc2l0aW9uKHdpbmRvdyk7XG4gICAgICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgICAgICAgICAgdGhpcy5vYnNlcnZlci5uZXh0KG5ldyBPYnNlcnZhYmxlRGF0YShXaW5kb3dTZXJ2aWNlRXZlbnQuT1BFTl9GSU5JU0hFRCwgd2luZG93KSk7XG4gICAgICAgICAgICAgICAgICAgIGJyZWFrO1xuXG4gICAgICAgICAgICAgICAgY2FzZSBXaW5kb3dFdmVudC5DTE9TRUQ6XG4gICAgICAgICAgICAgICAgICAgIHN1YnNjcmlwdGlvbi51bnN1YnNjcmliZSgpO1xuICAgICAgICAgICAgICAgICAgICB0aGlzLnJlbW92ZShjb25maWcpO1xuICAgICAgICAgICAgICAgICAgICBpZiAod2luZG93LmlzT25Ub3AgJiYgdGhpcy53aW5kb3dzLnNpemUgPiAwKSB7XG4gICAgICAgICAgICAgICAgICAgICAgICB0aGlzLnVwZGF0ZVRvcCgpO1xuICAgICAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICAgICAgICAgIGJyZWFrO1xuXG4gICAgICAgICAgICAgICAgY2FzZSBXaW5kb3dFdmVudC5SRVNJWkVEOlxuICAgICAgICAgICAgICAgICAgICBpZiAoIV8uaXNOaWwoY29uZmlnLnByb3BlcnRpZXNJZCkpIHtcbiAgICAgICAgICAgICAgICAgICAgICAgIHRoaXMucHJvcGVydGllcy5zYXZlKGNvbmZpZy5wcm9wZXJ0aWVzSWQsIHdpbmRvdyk7XG4gICAgICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgICAgICAgICAgYnJlYWs7XG5cbiAgICAgICAgICAgICAgICBjYXNlIFdpbmRvd0V2ZW50LlNFVF9PTl9UT1A6XG4gICAgICAgICAgICAgICAgICAgIHRoaXMuc2V0V2luZG93T25Ub3Aod2luZG93KTtcbiAgICAgICAgICAgICAgICAgICAgYnJlYWs7XG4gICAgICAgICAgICB9XG4gICAgICAgIH0pO1xuICAgICAgICByZXR1cm4gd2luZG93LmNvbnRlbnQgYXMgVDtcbiAgICB9XG5cbiAgICBwdWJsaWMgZ2V0KHZhbHVlOiBXaW5kb3dJZCk6IElXaW5kb3dDb250ZW50IHtcbiAgICAgICAgbGV0IGlkID0gdmFsdWUudG9TdHJpbmcoKTtcbiAgICAgICAgaWYgKHZhbHVlIGluc3RhbmNlb2YgV2luZG93Q29uZmlnKSB7XG4gICAgICAgICAgICBpZCA9IHZhbHVlLmlkO1xuICAgICAgICB9XG4gICAgICAgIGlmICghaWQpIHtcbiAgICAgICAgICAgIHJldHVybiBudWxsO1xuICAgICAgICB9XG4gICAgICAgIGxldCB3aW5kb3cgPSB0aGlzLmdldEJ5SWQoaWQpO1xuICAgICAgICBpZiAoXy5pc05pbCh3aW5kb3cpKSB7XG4gICAgICAgICAgICByZXR1cm4gbnVsbDtcbiAgICAgICAgfVxuICAgICAgICByZXR1cm4gd2luZG93LmNvbnRlbnQ7XG4gICAgfVxuXG4gICAgcHVibGljIGhhcyh2YWx1ZTogV2luZG93SWQpOiBib29sZWFuIHtcbiAgICAgICAgcmV0dXJuICFfLmlzTmlsKHRoaXMuZ2V0KHZhbHVlKSk7XG4gICAgfVxuXG4gICAgcHVibGljIHNldE9uVG9wKHZhbHVlOiBXaW5kb3dJZCk6IGJvb2xlYW4ge1xuICAgICAgICBsZXQgY29udGVudCA9IHRoaXMuZ2V0KHZhbHVlKTtcbiAgICAgICAgaWYgKCFjb250ZW50KSB7XG4gICAgICAgICAgICByZXR1cm4gZmFsc2U7XG4gICAgICAgIH1cbiAgICAgICAgY29udGVudC53aW5kb3cuc2V0T25Ub3AoKTtcbiAgICAgICAgcmV0dXJuIHRydWU7XG4gICAgfVxuXG4gICAgcHVibGljIHJlbW92ZUFsbCgpOiB2b2lkIHtcbiAgICAgICAgdGhpcy53aW5kb3dzQXJyYXkuZm9yRWFjaCh3aW5kb3cgPT4gd2luZG93LmNsb3NlKCkpO1xuICAgIH1cblxuICAgIHB1YmxpYyBkZXN0cm95KCk6IHZvaWQge1xuICAgICAgICBpZiAodGhpcy5pc0Rlc3Ryb3llZCkge1xuICAgICAgICAgICAgcmV0dXJuO1xuICAgICAgICB9XG4gICAgICAgIHN1cGVyLmRlc3Ryb3koKTtcbiAgICAgICAgdGhpcy5yZW1vdmVBbGwoKTtcblxuICAgICAgICBpZiAoIV8uaXNOaWwodGhpcy5vYnNlcnZlcikpIHtcbiAgICAgICAgICAgIHRoaXMub2JzZXJ2ZXIuY29tcGxldGUoKTtcbiAgICAgICAgICAgIHRoaXMub2JzZXJ2ZXIgPSBudWxsO1xuICAgICAgICB9XG5cbiAgICAgICAgaWYgKCFfLmlzTmlsKHRoaXMucHJvcGVydGllcykpIHtcbiAgICAgICAgICAgIHRoaXMucHJvcGVydGllcy5kZXN0cm95KCk7XG4gICAgICAgICAgICB0aGlzLnByb3BlcnRpZXMgPSBudWxsO1xuICAgICAgICB9XG5cbiAgICAgICAgdGhpcy5mYWN0b3J5ID0gbnVsbDtcbiAgICAgICAgdGhpcy5xdWVzdGlvbkNvbXBvbmVudCA9IG51bGw7XG5cbiAgICAgICAgdGhpcy5kaWFsb2cgPSBudWxsO1xuICAgICAgICB0aGlzLmxhbmd1YWdlID0gbnVsbDtcblxuICAgICAgICB0aGlzLl93aW5kb3dzID0gbnVsbDtcbiAgICB9XG5cbiAgICAvLyAtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLVxuICAgIC8vXG4gICAgLy8gXHRBZGRpdGlvbmFsIE1ldGhvZHNcbiAgICAvL1xuICAgIC8vIC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tXG5cbiAgICBwdWJsaWMgaW5mbyh0cmFuc2xhdGlvbklkPzogc3RyaW5nLCB0cmFuc2xhdGlvbj86IGFueSwgcXVlc3Rpb25PcHRpb25zPzogSVF1ZXN0aW9uT3B0aW9ucywgY29uZmlnT3B0aW9ucz86IFdpbmRvd0NvbmZpZ09wdGlvbnMpOiBJUXVlc3Rpb24ge1xuICAgICAgICBsZXQgdGV4dCA9IHRoaXMubGFuZ3VhZ2UudHJhbnNsYXRlKHRyYW5zbGF0aW9uSWQsIHRyYW5zbGF0aW9uKTtcbiAgICAgICAgbGV0IGNvbmZpZzogV2luZG93Q29uZmlnPFF1ZXN0aW9uTWFuYWdlcj4gPSBfLmFzc2lnbihuZXcgV2luZG93Q29uZmlnKHRydWUsIGZhbHNlLCA0NTApLCBjb25maWdPcHRpb25zKTtcbiAgICAgICAgY29uZmlnLmRhdGEgPSBuZXcgUXVlc3Rpb25NYW5hZ2VyKF8uYXNzaWduKHF1ZXN0aW9uT3B0aW9ucywgeyBtb2RlOiBRdWVzdGlvbk1vZGUuSU5GTywgdGV4dCB9KSk7XG4gICAgICAgIHJldHVybiB0aGlzLm9wZW4odGhpcy5xdWVzdGlvbkNvbXBvbmVudCwgY29uZmlnKS5jb25maWcuZGF0YTtcbiAgICB9XG5cbiAgICBwdWJsaWMgcXVlc3Rpb24odHJhbnNsYXRpb25JZD86IHN0cmluZywgdHJhbnNsYXRpb24/OiBhbnksIHF1ZXN0aW9uT3B0aW9ucz86IElRdWVzdGlvbk9wdGlvbnMsIGNvbmZpZ09wdGlvbnM/OiBXaW5kb3dDb25maWdPcHRpb25zKTogSVF1ZXN0aW9uIHtcbiAgICAgICAgbGV0IHRleHQgPSB0aGlzLmxhbmd1YWdlLnRyYW5zbGF0ZSh0cmFuc2xhdGlvbklkLCB0cmFuc2xhdGlvbik7XG4gICAgICAgIGxldCBjb25maWc6IFdpbmRvd0NvbmZpZzxRdWVzdGlvbk1hbmFnZXI+ID0gXy5hc3NpZ24obmV3IFdpbmRvd0NvbmZpZyh0cnVlLCBmYWxzZSwgNDUwKSwgY29uZmlnT3B0aW9ucyk7XG4gICAgICAgIGNvbmZpZy5kYXRhID0gbmV3IFF1ZXN0aW9uTWFuYWdlcihfLmFzc2lnbihxdWVzdGlvbk9wdGlvbnMsIHsgbW9kZTogUXVlc3Rpb25Nb2RlLlFVRVNUSU9OLCB0ZXh0IH0pKTtcbiAgICAgICAgcmV0dXJuIHRoaXMub3Blbih0aGlzLnF1ZXN0aW9uQ29tcG9uZW50LCBjb25maWcpLmNvbmZpZy5kYXRhO1xuICAgIH1cblxuICAgIC8vIC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tXG4gICAgLy9cbiAgICAvLyBcdFByaXZhdGUgUHJvcGVydGllc1xuICAgIC8vXG4gICAgLy8gLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS1cblxuICAgIHByaXZhdGUgZ2V0IHdpbmRvd3NBcnJheSgpOiBBcnJheTxJV2luZG93PiB7XG4gICAgICAgIHJldHVybiBBcnJheS5mcm9tKHRoaXMud2luZG93cy52YWx1ZXMoKSkubWFwKGl0ZW0gPT4gaXRlbS53aW5kb3cpO1xuICAgIH1cblxuICAgIC8vIC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tXG4gICAgLy9cbiAgICAvLyBcdFB1YmxpYyBQcm9wZXJ0aWVzXG4gICAgLy9cbiAgICAvLyAtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLVxuXG4gICAgcHVibGljIGdldCBldmVudHMoKTogT2JzZXJ2YWJsZTxPYnNlcnZhYmxlRGF0YTxXaW5kb3dTZXJ2aWNlRXZlbnQsIElXaW5kb3c+PiB7XG4gICAgICAgIHJldHVybiB0aGlzLm9ic2VydmVyLmFzT2JzZXJ2YWJsZSgpO1xuICAgIH1cblxuICAgIHB1YmxpYyBnZXQgd2luZG93cygpOiBNYXA8V2luZG93Q29uZmlnLCBJV2luZG93Q29udGVudD4ge1xuICAgICAgICByZXR1cm4gdGhpcy5fd2luZG93cztcbiAgICB9XG59XG5cbmV4cG9ydCBjbGFzcyBQcm9wZXJ0aWVzTWFuYWdlciBleHRlbmRzIERlc3Ryb3lhYmxlIHtcbiAgICAvLyAtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLVxuICAgIC8vXG4gICAgLy8gXHRDb25zdHJ1Y3RvclxuICAgIC8vXG4gICAgLy8gLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS1cblxuICAgIGNvbnN0cnVjdG9yKHByaXZhdGUgY29va2llczogQ29va2llU2VydmljZSkge1xuICAgICAgICBzdXBlcigpO1xuICAgIH1cblxuICAgIC8vIC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tXG4gICAgLy9cbiAgICAvLyBcdFB1YmxpYyBNZXRob2RzXG4gICAgLy9cbiAgICAvLyAtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLVxuXG4gICAgcHVibGljIGxvYWQobmFtZTogc3RyaW5nLCBjb25maWc6IFdpbmRvd0NvbmZpZyk6IHZvaWQge1xuICAgICAgICBsZXQgaXRlbSA9IHRoaXMuY29va2llcy5nZXRPYmplY3QobmFtZSArICdXaW5kb3cnKSBhcyBhbnk7XG4gICAgICAgIGlmICghaXRlbSkge1xuICAgICAgICAgICAgcmV0dXJuO1xuICAgICAgICB9XG4gICAgICAgIGlmIChpdGVtLmhhc093blByb3BlcnR5KCd3aWR0aCcpKSB7XG4gICAgICAgICAgICBjb25maWcuZGVmYXVsdFdpZHRoID0gaXRlbS53aWR0aDtcbiAgICAgICAgfVxuICAgICAgICBpZiAoaXRlbS5oYXNPd25Qcm9wZXJ0eSgnaGVpZ2h0JykpIHtcbiAgICAgICAgICAgIGNvbmZpZy5kZWZhdWx0SGVpZ2h0ID0gaXRlbS5oZWlnaHQ7XG4gICAgICAgIH1cbiAgICB9XG5cbiAgICBwdWJsaWMgc2F2ZShuYW1lOiBzdHJpbmcsIHdpbmRvdzogSVdpbmRvdyk6IHZvaWQge1xuICAgICAgICB0aGlzLmNvb2tpZXMucHV0T2JqZWN0KG5hbWUgKyAnV2luZG93Jywge1xuICAgICAgICAgICAgd2lkdGg6IHdpbmRvdy5nZXRXaWR0aCgpLFxuICAgICAgICAgICAgaGVpZ2h0OiB3aW5kb3cuZ2V0SGVpZ2h0KClcbiAgICAgICAgfSk7XG4gICAgfVxuXG4gICAgcHVibGljIGRlc3Ryb3koKTogdm9pZCB7XG4gICAgICAgIGlmICh0aGlzLmlzRGVzdHJveWVkKSB7XG4gICAgICAgICAgICByZXR1cm47XG4gICAgICAgIH1cbiAgICAgICAgc3VwZXIuZGVzdHJveSgpO1xuICAgICAgICB0aGlzLmNvb2tpZXMgPSBudWxsO1xuICAgIH1cbn1cblxuZXhwb3J0IHR5cGUgV2luZG93SWQgPSBzdHJpbmcgfCBXaW5kb3dDb25maWc7XG5cbmV4cG9ydCBlbnVtIFdpbmRvd1NlcnZpY2VFdmVudCB7XG4gICAgT1BFTl9TVEFSVEVEID0gJ09QRU5fU1RBUlRFRCcsXG4gICAgT1BFTkVEID0gJ09QRU5FRCcsXG4gICAgT1BFTl9GSU5JU0hFRCA9ICdPUEVOX0ZJTklTSEVEJyxcblxuICAgIENMT1NFRCA9ICdDTE9TRUQnLFxuICAgIFNFVFRFRF9PTl9UT1AgPSAnU0VUVEVEX09OX1RPUCdcbn1cbiJdfQ==
|
|
349
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiV2luZG93U2VydmljZS5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uL3NyYy93aW5kb3cvV2luZG93U2VydmljZS50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFDQSxPQUFPLEVBQUUsVUFBVSxFQUFFLE1BQU0sZUFBZSxDQUFDO0FBRTNDLE9BQU8sRUFBRSxXQUFXLEVBQUUsTUFBTSxpQkFBaUIsQ0FBQztBQUM5QyxPQUFPLEVBQUUsY0FBYyxFQUFFLE1BQU0sMEJBQTBCLENBQUM7QUFFMUQsT0FBTyxLQUFLLENBQUMsTUFBTSxRQUFRLENBQUM7QUFDNUIsT0FBTyxFQUFjLE9BQU8sRUFBRSxNQUFNLE1BQU0sQ0FBQztBQUczQyxPQUFPLEVBQStCLFlBQVksRUFBRSxNQUFNLHVCQUF1QixDQUFDO0FBQ2xGLE9BQU8sRUFBRSxlQUFlLEVBQUUsTUFBTSw2QkFBNkIsQ0FBQztBQUM5RCxPQUFPLEVBQUUsUUFBUSxFQUFFLE1BQU0sa0JBQWtCLENBQUM7QUFDNUMsT0FBTyxFQUFFLHVCQUF1QixFQUFFLE1BQU0sdURBQXVELENBQUM7QUFDaEcsT0FBTyxFQUFFLG1CQUFtQixFQUFFLE1BQU0saUNBQWlDLENBQUM7QUFDdEUsT0FBTyxFQUFXLFdBQVcsRUFBRSxNQUFNLFdBQVcsQ0FBQztBQUVqRCxPQUFPLEVBQUUsV0FBVyxFQUFFLFlBQVksRUFBdUIsTUFBTSxnQkFBZ0IsQ0FBQztBQUNoRixPQUFPLEVBQUUsYUFBYSxFQUFFLE1BQU0saUJBQWlCLENBQUM7Ozs7OztBQUdoRCxNQUFNLE9BQU8sYUFBYyxTQUFRLFdBQVc7SUFtQzFDLDZFQUE2RTtJQUM3RSxFQUFFO0lBQ0YsZUFBZTtJQUNmLEVBQUU7SUFDRiw2RUFBNkU7SUFFN0UsWUFBWSxNQUFpQixFQUFFLFFBQXlCLEVBQUUsT0FBc0IsRUFBVSxLQUF5QjtRQUMvRyxLQUFLLEVBQUUsQ0FBQztRQUQ4RSxVQUFLLEdBQUwsS0FBSyxDQUFvQjtRQWhDNUcsaUNBQTRCLEdBQVks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QUssQ0FBQztTQUNwQztRQUNELElBQUksSUFBSSxDQUFDLGNBQWMsQ0FBQyxRQUFRLENBQUMsRUFBRTtZQUMvQixNQUFNLENBQUMsYUFBYSxHQUFHLElBQUksQ0FBQyxNQUFNLENBQUM7U0FDdEM7SUFDTCxDQUFDO0lBRU0sSUFBSSxDQUFDLElBQVksRUFBRSxNQUFlO1FBQ3JDLElBQUksQ0FBQyxPQUFPLENBQUMsU0FBUyxDQUFDLElBQUksR0FBRyxRQUFRLEVBQUU7WUFDcEMsS0FBSyxFQUFFLE1BQU0sQ0FBQyxRQUFRLEVBQUU7WUFDeEIsTUFBTSxFQUFFLE1BQU0sQ0FBQyxTQUFTLEVBQUU7U0FDN0IsQ0FBQyxDQUFDO0lBQ1AsQ0FBQztJQUVNLE9BQU87UUFDVixJQUFJLElBQUksQ0FBQyxXQUFXLEVBQUU7WUFDbEIsT0FBTztTQUNWO1FBQ0QsS0FBSyxDQUFDLE9BQU8sRUFBRSxDQUFDO1FBQ2hCLElBQUksQ0FBQyxPQUFPLEdBQUcsSUFBSSxDQUFDO0lBQ3hCLENBQUM7Q0FDSjtBQUlELE1BQU0sQ0FBTixJQUFZLGtCQU9YO0FBUEQsV0FBWSxrQkFBa0I7SUFDMUIsbURBQTZCLENBQUE7SUFDN0IsdUNBQWlCLENBQUE7SUFDakIscURBQStCLENBQUE7SUFFL0IsdUNBQWlCLENBQUE7SUFDakIscURBQStCLENBQUE7QUFDbkMsQ0FBQyxFQVBXLGtCQUFrQixLQUFsQixrQkFBa0IsUUFPN0IiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBDb21wb25lbnRUeXBlIH0gZnJvbSAnQGFuZ3VsYXIvY2RrL3BvcnRhbCc7XG5pbXBvcnQgeyBJbmplY3RhYmxlIH0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XG5pbXBvcnQgeyBNYXREaWFsb2csIE1hdERpYWxvZ1JlZiB9IGZyb20gJ0Bhbmd1bGFyL21hdGVyaWFsL2RpYWxvZyc7XG5pbXBvcnQgeyBEZXN0cm95YWJsZSB9IGZyb20gJ0B0cy1jb3JlL2NvbW1vbic7XG5pbXBvcnQgeyBPYnNlcnZhYmxlRGF0YSB9IGZyb20gJ0B0cy1jb3JlL2NvbW1vbi9vYnNlcnZlcic7XG5pbXBvcnQgeyBMYW5ndWFnZVNlcnZpY2UgfSBmcm9tICdAdHMtY29yZS9mcm9udGVuZC9sYW5ndWFnZSc7XG5pbXBvcnQgKiBhcyBfIGZyb20gJ2xvZGFzaCc7XG5pbXBvcnQgeyBPYnNlcnZhYmxlLCBTdWJqZWN0IH0gZnJvbSAncnhqcyc7XG5pbXBvcnQgeyBDb29raWVTZXJ2aWNlIH0gZnJvbSAnLi4vY29va2llL0Nvb2tpZVNlcnZpY2UnO1xuaW1wb3J0IHsgQm90dG9tU2hlZXRTZXJ2aWNlIH0gZnJvbSAnLi4vYm90dG9tU2hlZXQvQm90dG9tU2hlZXRTZXJ2aWNlJztcbmltcG9ydCB7IElRdWVzdGlvbiwgSVF1ZXN0aW9uT3B0aW9ucywgUXVlc3Rpb25Nb2RlIH0gZnJvbSAnLi4vcXVlc3Rpb24vSVF1ZXN0aW9uJztcbmltcG9ydCB7IFF1ZXN0aW9uTWFuYWdlciB9IGZyb20gJy4uL3F1ZXN0aW9uL1F1ZXN0aW9uTWFuYWdlcic7XG5pbXBvcnQgeyBWaWV3VXRpbCB9IGZyb20gJy4uL3V0aWwvVmlld1V0aWwnO1xuaW1wb3J0IHsgV2luZG93UXVlc3Rpb25Db21wb25lbnQgfSBmcm9tICcuL2NvbXBvbmVudC93aW5kb3ctcXVlc3Rpb24vd2luZG93LXF1ZXN0aW9uLmNvbXBvbmVudCc7XG5pbXBvcnQgeyBXaW5kb3dCYXNlQ29tcG9uZW50IH0gZnJvbSAnLi9jb21wb25lbnQvV2luZG93QmFzZUNvbXBvbmVudCc7XG5pbXBvcnQgeyBJV2luZG93LCBXaW5kb3dFdmVudCB9IGZyb20gJy4vSVdpbmRvdyc7XG5pbXBvcnQgeyBJV2luZG93Q29udGVudCB9IGZyb20gJy4vSVdpbmRvd0NvbnRlbnQnO1xuaW1wb3J0IHsgV2luZG93QWxpZ24sIFdpbmRvd0NvbmZpZywgV2luZG93Q29uZmlnT3B0aW9ucyB9IGZyb20gJy4vV2luZG93Q29uZmlnJztcbmltcG9ydCB7IFdpbmRvd0ZhY3RvcnkgfSBmcm9tICcuL1dpbmRvd0ZhY3RvcnknO1xuXG5ASW5qZWN0YWJsZSh7IHByb3ZpZGVkSW46ICdyb290JyB9KVxuZXhwb3J0IGNsYXNzIFdpbmRvd1NlcnZpY2UgZXh0ZW5kcyBEZXN0cm95YWJsZSB7XG4gICAgLy8gLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS1cbiAgICAvL1xuICAgIC8vIFx0UHJvcGVydGllc1xuICAgIC8vXG4gICAgLy8gLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS1cblxuICAgIHB1YmxpYyBmYWN0b3J5OiBXaW5kb3dGYWN0b3J5PElXaW5kb3c+O1xuICAgIHB1YmxpYyBxdWVzdGlvbkNvbXBvbmVudDogQ29tcG9uZW50VHlwZTxJV2luZG93Q29udGVudD47XG4gICAgcHVibGljIGlzTmVlZENoZWNrUG9zaXRpb25BZnRlck9wZW46IGJvb2xlYW4gPSB0cnVlO1xuXG4gICAgcHJvdGVjdGVkIGRpYWxvZzogTWF0RGlhbG9nO1xuICAgIHByb3RlY3RlZCBsYW5ndWFnZTogTGFuZ3VhZ2VTZXJ2aWNlO1xuXG4gICAgcHJpdmF0ZSBfd2luZG93czogTWFwPFdpbmRvd0NvbmZpZywgSVdpbmRvd0NvbnRlbnQ+O1xuXG4gICAgcHJpdmF0ZSBvYnNlcnZlcjogU3ViamVjdDxPYnNlcnZhYmxlRGF0YTxXaW5kb3dTZXJ2aWNlRXZlbnQsIElXaW5kb3c+PjtcbiAgICBwcml2YXRlIHByb3BlcnRpZXM6IFByb3BlcnRpZXNNYW5hZ2VyO1xuXG4gICAgcHVibGljIGdhcFg6IG51bWJlciA9IDI1O1xuICAgIHB1YmxpYyBnYXBZOiBudW1iZXIgPSAyNTtcblxuICAgIHB1YmxpYyBtaW5XaWR0aDogbnVtYmVyID0gMTAwO1xuICAgIHB1YmxpYyBtaW5IZWlnaHQ6IG51bWJlciA9IDEwMDtcblxuICAgIHB1YmxpYyBwYWRkaW5nVG9wOiBudW1iZXIgPSAyNTtcbiAgICBwdWJsaWMgcGFkZGluZ0xlZnQ6IG51bWJlciA9IDI1O1xuICAgIHB1YmxpYyBwYWRkaW5nUmlnaHQ6IG51bWJlciA9IDI1O1xuICAgIHB1YmxpYyBwYWRkaW5nQm90dG9tOiBudW1iZXIgPSAyNTtcblxuICAgIHB1YmxpYyBkZWZhdWx0VmVydGljYWxBbGlnbjogV2luZG93QWxpZ24gPSBXaW5kb3dBbGlnbi5DRU5URVI7XG4gICAgcHVibGljIGRlZmF1bHRIb3Jpem9udGFsQWxpZ246IFdpbmRvd0FsaWduID0gV2luZG93QWxpZ24uQ0VOVEVSO1xuXG4gICAgcHVibGljIHRvcFpJbmRleDogbnVtYmVyID0gOTk5O1xuXG4gICAgLy8gLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS1cbiAgICAvL1xuICAgIC8vIFx0Q29uc3RydWN0b3JcbiAgICAvL1xuICAgIC8vIC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tXG5cbiAgICBjb25zdHJ1Y3RvcihkaWFsb2c6IE1hdERpYWxvZywgbGFuZ3VhZ2U6IExhbmd1YWdlU2VydmljZSwgY29va2llczogQ29va2llU2VydmljZSwgcHJpdmF0ZSBzaGVldDogQm90dG9tU2hlZXRTZXJ2aWNlKSB7XG4gICAgICAgIHN1cGVyKCk7XG4gICAgICAgIHRoaXMuX3dpbmRvd3MgPSBuZXcgTWFwKCk7XG5cbiAgICAgICAgdGhpcy5kaWFsb2cgPSBkaWFsb2c7XG4gICAgICAgIHRoaXMubGFuZ3VhZ2UgPSBsYW5ndWFnZTtcbiAgICAgICAgdGhpcy5vYnNlcnZlciA9IG5ldyBTdWJqZWN0KCk7XG4gICAgICAgIHRoaXMucHJvcGVydGllcyA9IG5ldyBQcm9wZXJ0aWVzTWFuYWdlcihjb29raWVzKTtcblxuICAgICAgICB0aGlzLmZhY3RvcnkgPSBuZXcgV2luZG93RmFjdG9yeShXaW5kb3dCYXNlQ29tcG9uZW50KTtcbiAgICAgICAgdGhpcy5xdWVzdGlvbkNvbXBvbmVudCA9IFdpbmRvd1F1ZXN0aW9uQ29tcG9uZW50O1xuICAgIH1cblxuICAgIC8vIC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tXG4gICAgLy9cbiAgICAvLyBcdFByaXZhdGUgTWV0aG9kc1xuICAgIC8vXG4gICAgLy8gLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS1cblxuICAgIHByaXZhdGUgc29ydEZ1bmN0aW9uKGZpcnN0OiBJV2luZG93LCBzZWNvbmQ6IElXaW5kb3cpOiBudW1iZXIge1xuICAgICAgICBsZXQgZmlyc3RJbmRleCA9IGZpcnN0LmNvbnRhaW5lciA/IHBhcnNlSW50KFZpZXdVdGlsLmdldFN0eWxlKGZpcnN0LmNvbnRhaW5lci5wYXJlbnRFbGVtZW50LCAnekluZGV4JyksIDEwKSA6IC0xO1xuICAgICAgICBsZXQgc2Vjb25kSW5kZXggPSBzZWNvbmQuY29udGFpbmVyID8gcGFyc2VJbnQoVmlld1V0aWwuZ2V0U3R5bGUoc2Vjb25kLmNvbnRhaW5lci5wYXJlbnRFbGVtZW50LCAnekluZGV4JyksIDEwKSA6IC0xO1xuICAgICAgICByZXR1cm4gZmlyc3RJbmRleCA+IHNlY29uZEluZGV4ID8gLTEgOiAxO1xuICAgIH1cblxuICAgIHByaXZhdGUgdXBkYXRlVG9wKCk6IHZvaWQge1xuICAgICAgICBsZXQgekluZGV4ID0gMDtcbiAgICAgICAgbGV0IHRvcFdpbmRvdzogSVdpbmRvdyA9IG51bGw7XG5cbiAgICAgICAgbGV0IHdpbmRvd3MgPSBbdGhpcy5zaGVldC53aW5kb3csIC4uLnRoaXMud2luZG93c0FycmF5XTtcbiAgICAgICAgZm9yIChsZXQgd2luZG93IG9mIHdpbmRvd3MpIHtcbiAgICAgICAgICAgIGlmIChfLmlzTmlsKHdpbmRvdykgfHwgXy5pc05pbCh3aW5kb3cuY29udGFpbmVyKSkge1xuICAgICAgICAgICAgICAgIGNvbnRpbnVlO1xuICAgICAgICAgICAgfVxuICAgICAgICAgICAgbGV0IGluZGV4ID0gcGFyc2VJbnQoVmlld1V0aWwuZ2V0U3R5bGUod2luZG93LmNvbnRhaW5lci5wYXJlbnRFbGVtZW50LCAnekluZGV4JyksIDEwKTtcbiAgICAgICAgICAgIGlmICh6SW5kZXggPj0gaW5kZXgpIHtcbiAgICAgICAgICAgICAgICBjb250aW51ZTtcbiAgICAgICAgICAgIH1cbiAgICAgICAgICAgIHpJbmRleCA9IGluZGV4O1xuICAgICAgICAgICAgdG9wV2luZG93ID0gd2luZG93O1xuICAgICAgICB9XG5cbiAgICAgICAgaWYgKF8uaXNOaWwodG9wV2luZG93KSB8fCB0b3BXaW5kb3cuaXNPblRvcCkge1xuICAgICAgICAgICAgcmV0dXJuO1xuICAgICAgICB9XG4gICAgICAgIHRvcFdpbmRvdy5pc09uVG9wID0gdHJ1ZTtcbiAgICAgICAgdGhpcy5vYnNlcnZlci5uZXh0KG5ldyBPYnNlcnZhYmxlRGF0YShXaW5kb3dTZXJ2aWNlRXZlbnQuU0VUVEVEX09OX1RPUCwgdG9wV2luZG93KSk7XG4gICAgfVxuXG4gICAgcHJpdmF0ZSBzZXRXaW5kb3dPblRvcCh0b3BXaW5kb3c6IElXaW5kb3cpOiB2b2lkIHtcbiAgICAgICAgbGV0IGN1cnJlbnRJbmRleCA9IHRoaXMudG9wWkluZGV4IC0gMjtcbiAgICAgICAgZm9yIChsZXQgd2luZG93IG9mIHRoaXMud2luZG93c0FycmF5KSB7XG4gICAgICAgICAgICBpZiAoXy5pc05pbCh3aW5kb3cuY29udGFpbmVyKSkge1xuICAgICAgICAgICAgICAgIGNvbnRpbnVlO1xuICAgICAgICAgICAgfVxuICAgICAgICAgICAgd2luZG93LmlzT25Ub3AgPSB3aW5kb3cgPT09IHRvcFdpbmRvdztcblxuICAgICAgICAgICAgbGV0IHpJbmRleCA9IHdpbmRvdy5pc09uVG9wID8gdGhpcy50b3BaSW5kZXggOiBjdXJyZW50SW5kZXgtLTtcbiAgICAgICAgICAgIFZpZXdVdGlsLnNldFN0eWxlKHdpbmRvdy5iYWNrZHJvcCwgJ3pJbmRleCcsIHpJbmRleCk7XG4gICAgICAgICAgICBWaWV3VXRpbC5zZXRTdHlsZSh3aW5kb3cud3JhcHBlciwgJ3pJbmRleCcsIHpJbmRleCk7XG4gICAgICAgIH1cblxuICAgICAgICB0aGlzLndpbmRvd3NBcnJheS5zb3J0KHRoaXMuc29ydEZ1bmN0aW9uKTtcbiAgICAgICAgdGhpcy5vYnNlcnZlci5uZXh0KG5ldyBPYnNlcnZhYmxlRGF0YShXaW5kb3dTZXJ2aWNlRXZlbnQuU0VUVEVEX09OX1RPUCwgdG9wV2luZG93KSk7XG4gICAgfVxuXG4gICAgcHJpdmF0ZSBjaGVja1Bvc2l0aW9uKGl0ZW06IElXaW5kb3cpOiB2b2lkIHtcbiAgICAgICAgd2hpbGUgKHRoaXMuaGFzU2FtZVBvc2l0aW9uKGl0ZW0pKSB7XG4gICAgICAgICAgICBpdGVtLm1vdmUoaXRlbS5nZXRYKCkgKyB0aGlzLmdhcFgsIGl0ZW0uZ2V0WSgpICsgdGhpcy5nYXBZKTtcbiAgICAgICAgfVxuICAgIH1cblxuICAgIHByaXZhdGUgaGFzU2FtZVBvc2l0aW9uKGl0ZW1XaW5kb3c6IElXaW5kb3cpOiBib29sZWFuIHtcbiAgICAgICAgbGV0IHggPSBpdGVtV2luZG93LmdldFgoKTtcbiAgICAgICAgbGV0IHkgPSBpdGVtV2luZG93LmdldFkoKTtcblxuICAgICAgICBsZXQgcmVzdWx0ID0gZmFsc2U7XG4gICAgICAgIHRoaXMud2luZG93c0FycmF5LmZvckVhY2god2luZG93ID0+IHtcbiAgICAgICAgICAgIGlmICh3aW5kb3cgIT09IGl0ZW1XaW5kb3cgJiYgeCA9PT0gd2luZG93LmdldFgoKSAmJiB5ID09PSB3aW5kb3cuZ2V0WSgpKSB7XG4gICAgICAgICAgICAgICAgcmVzdWx0ID0gdHJ1ZTtcbiAgICAgICAgICAgIH1cbiAgICAgICAgfSk7XG4gICAgICAgIHJldHVybiByZXN1bHQ7XG4gICAgfVxuXG4gICAgLy8gLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS1cbiAgICAvL1xuICAgIC8vIFx0U2V0dGVycyBNZXRob2RzXG4gICAgLy9cbiAgICAvLyAtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLVxuXG4gICAgcHJpdmF0ZSBhZGQoY29uZmlnOiBXaW5kb3dDb25maWcsIGNvbnRlbnQ6IElXaW5kb3dDb250ZW50KTogdm9pZCB7XG4gICAgICAgIHRoaXMuX3dpbmRvd3Muc2V0KGNvbmZpZywgY29udGVudCk7XG4gICAgICAgIHRoaXMub2JzZXJ2ZXIubmV4dChuZXcgT2JzZXJ2YWJsZURhdGEoV2luZG93U2VydmljZUV2ZW50Lk9QRU5FRCwgY29udGVudC53aW5kb3cpKTtcbiAgICB9XG5cbiAgICBwcml2YXRlIHJlbW92ZShjb25maWc6IFdpbmRvd0NvbmZpZyk6IHZvaWQge1xuICAgICAgICBsZXQgd2luZG93ID0gdGhpcy5fd2luZG93cy5nZXQoY29uZmlnKTtcbiAgICAgICAgaWYgKCF3aW5kb3cpIHtcbiAgICAgICAgICAgIHJldHVybiBudWxsO1xuICAgICAgICB9XG5cbiAgICAgICAgd2luZG93LmNsb3NlKCk7XG4gICAgICAgIHRoaXMuX3dpbmRvd3MuZGVsZXRlKGNvbmZpZyk7XG4gICAgICAgIHRoaXMub2JzZXJ2ZXIubmV4dChuZXcgT2JzZXJ2YWJsZURhdGEoV2luZG93U2VydmljZUV2ZW50LkNMT1NFRCwgd2luZG93LndpbmRvdykpO1xuICAgIH1cblxuICAgIHByaXZhdGUgZ2V0QnlJZDxUPihpZDogc3RyaW5nKTogSVdpbmRvdzxUPiB7XG4gICAgICAgIGxldCBpdGVtID0gXy5maW5kKEFycmF5LmZyb20odGhpcy5fd2luZG93cy52YWx1ZXMoKSksIGl0ZW0gPT4gaXRlbS5jb25maWcuaWQgPT09IGlkKTtcbiAgICAgICAgcmV0dXJuICFfLmlzTmlsKGl0ZW0pID8gaXRlbS53aW5kb3cgOiBudWxsO1xuICAgIH1cblxuICAgIHByaXZhdGUgc2V0RGVmYXVsdFByb3BlcnRpZXMoY29uZmlnOiBXaW5kb3dDb25maWcpOiB2b2lkIHtcbiAgICAgICAgaWYgKCFjb25maWcudmVydGljYWxBbGlnbikge1xuICAgICAgICAgICAgY29uZmlnLnZlcnRpY2FsQWxpZ24gPSB0aGlzLmRlZmF1bHRWZXJ0aWNhbEFsaWduO1xuICAgICAgICB9XG4gICAgICAgIGlmICghY29uZmlnLmhvcml6b250YWxBbGlnbikge1xuICAgICAgICAgICAgY29uZmlnLmhvcml6b250YWxBbGlnbiA9IHRoaXMuZGVmYXVsdEhvcml6b250YWxBbGlnbjtcbiAgICAgICAgfVxuXG4gICAgICAgIGlmIChfLmlzTmFOKGNvbmZpZy5kZWZhdWx0TWluV2lkdGgpKSB7XG4gICAgICAgICAgICBjb25maWcuZGVmYXVsdE1pbldpZHRoID0gdGhpcy5taW5XaWR0aDtcbiAgICAgICAgfVxuICAgICAgICBpZiAoXy5pc05hTihjb25maWcuZGVmYXVsdE1pbkhlaWdodCkpIHtcbiAgICAgICAgICAgIGNvbmZpZy5kZWZhdWx0TWluSGVpZ2h0ID0gdGhpcy5taW5IZWlnaHQ7XG4gICAgICAgIH1cblxuICAgICAgICBpZiAoXy5pc05hTihjb25maWcucGFkZGluZ1RvcCkpIHtcbiAgICAgICAgICAgIGNvbmZpZy5wYWRkaW5nVG9wID0gdGhpcy5wYWRkaW5nVG9wO1xuICAgICAgICB9XG4gICAgICAgIGlmIChfLmlzTmFOKGNvbmZpZy5wYWRkaW5nTGVmdCkpIHtcbiAgICAgICAgICAgIGNvbmZpZy5wYWRkaW5nTGVmdCA9IHRoaXMucGFkZGluZ0xlZnQ7XG4gICAgICAgIH1cbiAgICAgICAgaWYgKF8uaXNOYU4oY29uZmlnLnBhZGRpbmdSaWdodCkpIHtcbiAgICAgICAgICAgIGNvbmZpZy5wYWRkaW5nUmlnaHQgPSB0aGlzLnBhZGRpbmdSaWdodDtcbiAgICAgICAgfVxuICAgICAgICBpZiAoXy5pc05hTihjb25maWcucGFkZGluZ0JvdHRvbSkpIHtcbiAgICAgICAgICAgIGNvbmZpZy5wYWRkaW5nQm90dG9tID0gdGhpcy5wYWRkaW5nQm90dG9tO1xuICAgICAgICB9XG5cbiAgICAgICAgaWYgKGNvbmZpZy5wcm9wZXJ0aWVzSWQpIHtcbiAgICAgICAgICAgIHRoaXMucHJvcGVydGllcy5sb2FkKGNvbmZpZy5wcm9wZXJ0aWVzSWQsIGNvbmZpZyk7XG4gICAgICAgIH1cblxuICAgICAgICBjb25maWcuc2V0RGVmYXVsdFByb3BlcnRpZXMoKTtcbiAgICB9XG5cbiAgICAvLyAtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLVxuICAgIC8vXG4gICAgLy8gXHRQdWJsaWMgTWV0aG9kc1xuICAgIC8vXG4gICAgLy8gLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS1cblxuICAgIHB1YmxpYyBvcGVuPFQgZXh0ZW5kcyBJV2luZG93Q29udGVudD4oY29tcG9uZW50OiBDb21wb25lbnRUeXBlPFQ+LCBjb25maWc6IFdpbmRvd0NvbmZpZyk6IFQge1xuICAgICAgICBsZXQgd2luZG93OiBJV2luZG93PFQ+ID0gbnVsbDtcbiAgICAgICAgaWYgKGNvbmZpZy5pZCkge1xuICAgICAgICAgICAgd2luZG93ID0gdGhpcy5nZXRCeUlkKGNvbmZpZy5pZCk7XG4gICAgICAgICAgICBpZiAod2luZG93KSB7XG4gICAgICAgICAgICAgICAgcmV0dXJuIHdpbmRvdy5jb250ZW50IGFzIFQ7XG4gICAgICAgICAgICB9XG4gICAgICAgIH1cblxuICAgICAgICB0aGlzLnNldERlZmF1bHRQcm9wZXJ0aWVzKGNvbmZpZyk7XG5cbiAgICAgICAgLy8gbGV0IGRpYWxvZyA9IHRoaXMuZGlhbG9nIGFzIGFueTtcbiAgICAgICAgLy8gZGlhbG9nLl9nZXRPdmVybGF5U3RhdGUgPSBjb25maWcuaXNNb2RhbCA/IGRpYWxvZy5nZXRPdmVybGF5U3RhdGVNb2RhbCA6IGRpYWxvZy5nZXRPdmVybGF5U3RhdGVOb25Nb2RhbDtcblxuICAgICAgICBsZXQgcmVmZXJlbmNlOiBNYXREaWFsb2dSZWY8SVdpbmRvd0NvbnRlbnQ+ID0gdGhpcy5kaWFsb2cub3Blbihjb21wb25lbnQsIGNvbmZpZyk7XG4gICAgICAgIHdpbmRvdyA9IHRoaXMuZmFjdG9yeS5jcmVhdGUoeyBjb25maWcsIHJlZmVyZW5jZSwgb3ZlcmxheTogKHJlZmVyZW5jZSBhcyBhbnkpLl9vdmVybGF5UmVmIH0pO1xuXG4gICAgICAgIHRoaXMub2JzZXJ2ZXIubmV4dChuZXcgT2JzZXJ2YWJsZURhdGEoV2luZG93U2VydmljZUV2ZW50Lk9QRU5fU1RBUlRFRCwgd2luZG93KSk7XG5cbiAgICAgICAgbGV0IHN1YnNjcmlwdGlvbiA9IHdpbmRvdy5ldmVudHMuc3Vic2NyaWJlKGV2ZW50ID0+IHtcbiAgICAgICAgICAgIHN3aXRjaCAoZXZlbnQpIHtcbiAgICAgICAgICAgICAgICBjYXNlIFdpbmRvd0V2ZW50Lk9QRU5FRDpcbiAgICAgICAgICAgICAgICAgICAgdGhpcy5hZGQoY29uZmlnLCByZWZlcmVuY2UuY29tcG9uZW50SW5zdGFuY2UpO1xuICAgICAgICAgICAgICAgICAgICB0aGlzLnNldFdpbmRvd09uVG9wKHdpbmRvdyk7XG4gICAgICAgICAgICAgICAgICAgIGlmICh0aGlzLmlzTmVlZENoZWNrUG9zaXRpb25BZnRlck9wZW4pIHtcbiAgICAgICAgICAgICAgICAgICAgICAgIHRoaXMuY2hlY2tQb3NpdGlvbih3aW5kb3cpO1xuICAgICAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICAgICAgICAgIHRoaXMub2JzZXJ2ZXIubmV4dChuZXcgT2JzZXJ2YWJsZURhdGEoV2luZG93U2VydmljZUV2ZW50Lk9QRU5fRklOSVNIRUQsIHdpbmRvdykpO1xuICAgICAgICAgICAgICAgICAgICBicmVhaztcblxuICAgICAgICAgICAgICAgIGNhc2UgV2luZG93RXZlbnQuQ0xPU0VEOlxuICAgICAgICAgICAgICAgICAgICBzdWJzY3JpcHRpb24udW5zdWJzY3JpYmUoKTtcbiAgICAgICAgICAgICAgICAgICAgdGhpcy5yZW1vdmUoY29uZmlnKTtcbiAgICAgICAgICAgICAgICAgICAgaWYgKHdpbmRvdy5pc09uVG9wICYmIHRoaXMud2luZG93cy5zaXplID4gMCkge1xuICAgICAgICAgICAgICAgICAgICAgICAgdGhpcy51cGRhdGVUb3AoKTtcbiAgICAgICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgICAgICAgICBicmVhaztcblxuICAgICAgICAgICAgICAgIGNhc2UgV2luZG93RXZlbnQuUkVTSVpFRDpcbiAgICAgICAgICAgICAgICAgICAgaWYgKCFfLmlzTmlsKGNvbmZpZy5wcm9wZXJ0aWVzSWQpKSB7XG4gICAgICAgICAgICAgICAgICAgICAgICB0aGlzLnByb3BlcnRpZXMuc2F2ZShjb25maWcucHJvcGVydGllc0lkLCB3aW5kb3cpO1xuICAgICAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICAgICAgICAgIGJyZWFrO1xuXG4gICAgICAgICAgICAgICAgY2FzZSBXaW5kb3dFdmVudC5TRVRfT05fVE9QOlxuICAgICAgICAgICAgICAgICAgICB0aGlzLnNldFdpbmRvd09uVG9wKHdpbmRvdyk7XG4gICAgICAgICAgICAgICAgICAgIGJyZWFrO1xuICAgICAgICAgICAgfVxuICAgICAgICB9KTtcbiAgICAgICAgcmV0dXJuIHdpbmRvdy5jb250ZW50IGFzIFQ7XG4gICAgfVxuXG4gICAgcHVibGljIGdldCh2YWx1ZTogV2luZG93SWQpOiBJV2luZG93Q29udGVudCB7XG4gICAgICAgIGxldCBpZCA9IHZhbHVlLnRvU3RyaW5nKCk7XG4gICAgICAgIGlmICh2YWx1ZSBpbnN0YW5jZW9mIFdpbmRvd0NvbmZpZykge1xuICAgICAgICAgICAgaWQgPSB2YWx1ZS5pZDtcbiAgICAgICAgfVxuICAgICAgICBpZiAoIWlkKSB7XG4gICAgICAgICAgICByZXR1cm4gbnVsbDtcbiAgICAgICAgfVxuICAgICAgICBsZXQgd2luZG93ID0gdGhpcy5nZXRCeUlkKGlkKTtcbiAgICAgICAgaWYgKF8uaXNOaWwod2luZG93KSkge1xuICAgICAgICAgICAgcmV0dXJuIG51bGw7XG4gICAgICAgIH1cbiAgICAgICAgcmV0dXJuIHdpbmRvdy5jb250ZW50O1xuICAgIH1cblxuICAgIHB1YmxpYyBoYXModmFsdWU6IFdpbmRvd0lkKTogYm9vbGVhbiB7XG4gICAgICAgIHJldHVybiAhXy5pc05pbCh0aGlzLmdldCh2YWx1ZSkpO1xuICAgIH1cblxuICAgIHB1YmxpYyBzZXRPblRvcCh2YWx1ZTogV2luZG93SWQpOiBib29sZWFuIHtcbiAgICAgICAgbGV0IGNvbnRlbnQgPSB0aGlzLmdldCh2YWx1ZSk7XG4gICAgICAgIGlmICghY29udGVudCkge1xuICAgICAgICAgICAgcmV0dXJuIGZhbHNlO1xuICAgICAgICB9XG4gICAgICAgIGNvbnRlbnQud2luZG93LnNldE9uVG9wKCk7XG4gICAgICAgIHJldHVybiB0cnVlO1xuICAgIH1cblxuICAgIHB1YmxpYyByZW1vdmVBbGwoKTogdm9pZCB7XG4gICAgICAgIHRoaXMud2luZG93c0FycmF5LmZvckVhY2god2luZG93ID0+IHdpbmRvdy5jbG9zZSgpKTtcbiAgICB9XG5cbiAgICBwdWJsaWMgZGVzdHJveSgpOiB2b2lkIHtcbiAgICAgICAgaWYgKHRoaXMuaXNEZXN0cm95ZWQpIHtcbiAgICAgICAgICAgIHJldHVybjtcbiAgICAgICAgfVxuICAgICAgICBzdXBlci5kZXN0cm95KCk7XG4gICAgICAgIHRoaXMucmVtb3ZlQWxsKCk7XG5cbiAgICAgICAgaWYgKCFfLmlzTmlsKHRoaXMub2JzZXJ2ZXIpKSB7XG4gICAgICAgICAgICB0aGlzLm9ic2VydmVyLmNvbXBsZXRlKCk7XG4gICAgICAgICAgICB0aGlzLm9ic2VydmVyID0gbnVsbDtcbiAgICAgICAgfVxuXG4gICAgICAgIGlmICghXy5pc05pbCh0aGlzLnByb3BlcnRpZXMpKSB7XG4gICAgICAgICAgICB0aGlzLnByb3BlcnRpZXMuZGVzdHJveSgpO1xuICAgICAgICAgICAgdGhpcy5wcm9wZXJ0aWVzID0gbnVsbDtcbiAgICAgICAgfVxuXG4gICAgICAgIHRoaXMuZmFjdG9yeSA9IG51bGw7XG4gICAgICAgIHRoaXMucXVlc3Rpb25Db21wb25lbnQgPSBudWxsO1xuXG4gICAgICAgIHRoaXMuZGlhbG9nID0gbnVsbDtcbiAgICAgICAgdGhpcy5sYW5ndWFnZSA9IG51bGw7XG5cbiAgICAgICAgdGhpcy5fd2luZG93cyA9IG51bGw7XG4gICAgfVxuXG4gICAgLy8gLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS1cbiAgICAvL1xuICAgIC8vIFx0QWRkaXRpb25hbCBNZXRob2RzXG4gICAgLy9cbiAgICAvLyAtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLVxuXG4gICAgcHVibGljIGluZm8odHJhbnNsYXRpb25JZD86IHN0cmluZywgdHJhbnNsYXRpb24/OiBhbnksIHF1ZXN0aW9uT3B0aW9ucz86IElRdWVzdGlvbk9wdGlvbnMsIGNvbmZpZ09wdGlvbnM/OiBXaW5kb3dDb25maWdPcHRpb25zKTogSVF1ZXN0aW9uIHtcbiAgICAgICAgbGV0IHRleHQgPSB0aGlzLmxhbmd1YWdlLnRyYW5zbGF0ZSh0cmFuc2xhdGlvbklkLCB0cmFuc2xhdGlvbik7XG4gICAgICAgIGxldCBjb25maWc6IFdpbmRvd0NvbmZpZzxRdWVzdGlvbk1hbmFnZXI+ID0gXy5hc3NpZ24obmV3IFdpbmRvd0NvbmZpZyh0cnVlLCBmYWxzZSwgNDUwKSwgY29uZmlnT3B0aW9ucyk7XG4gICAgICAgIGNvbmZpZy5kYXRhID0gbmV3IFF1ZXN0aW9uTWFuYWdlcihfLmFzc2lnbihxdWVzdGlvbk9wdGlvbnMsIHsgbW9kZTogUXVlc3Rpb25Nb2RlLklORk8sIHRleHQgfSkpO1xuICAgICAgICByZXR1cm4gdGhpcy5vcGVuKHRoaXMucXVlc3Rpb25Db21wb25lbnQsIGNvbmZpZykuY29uZmlnLmRhdGE7XG4gICAgfVxuXG4gICAgcHVibGljIHF1ZXN0aW9uKHRyYW5zbGF0aW9uSWQ/OiBzdHJpbmcsIHRyYW5zbGF0aW9uPzogYW55LCBxdWVzdGlvbk9wdGlvbnM/OiBJUXVlc3Rpb25PcHRpb25zLCBjb25maWdPcHRpb25zPzogV2luZG93Q29uZmlnT3B0aW9ucyk6IElRdWVzdGlvbiB7XG4gICAgICAgIGxldCB0ZXh0ID0gdGhpcy5sYW5ndWFnZS50cmFuc2xhdGUodHJhbnNsYXRpb25JZCwgdHJhbnNsYXRpb24pO1xuICAgICAgICBsZXQgY29uZmlnOiBXaW5kb3dDb25maWc8UXVlc3Rpb25NYW5hZ2VyPiA9IF8uYXNzaWduKG5ldyBXaW5kb3dDb25maWcodHJ1ZSwgZmFsc2UsIDQ1MCksIGNvbmZpZ09wdGlvbnMpO1xuICAgICAgICBjb25maWcuZGF0YSA9IG5ldyBRdWVzdGlvbk1hbmFnZXIoXy5hc3NpZ24ocXVlc3Rpb25PcHRpb25zLCB7IG1vZGU6IFF1ZXN0aW9uTW9kZS5RVUVTVElPTiwgdGV4dCB9KSk7XG4gICAgICAgIHJldHVybiB0aGlzLm9wZW4odGhpcy5xdWVzdGlvbkNvbXBvbmVudCwgY29uZmlnKS5jb25maWcuZGF0YTtcbiAgICB9XG5cbiAgICAvLyAtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLVxuICAgIC8vXG4gICAgLy8gXHRQcml2YXRlIFByb3BlcnRpZXNcbiAgICAvL1xuICAgIC8vIC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tXG5cbiAgICBwcml2YXRlIGdldCB3aW5kb3dzQXJyYXkoKTogQXJyYXk8SVdpbmRvdz4ge1xuICAgICAgICByZXR1cm4gQXJyYXkuZnJvbSh0aGlzLndpbmRvd3MudmFsdWVzKCkpLm1hcChpdGVtID0+IGl0ZW0ud2luZG93KTtcbiAgICB9XG5cbiAgICAvLyAtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLVxuICAgIC8vXG4gICAgLy8gXHRQdWJsaWMgUHJvcGVydGllc1xuICAgIC8vXG4gICAgLy8gLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS1cblxuICAgIHB1YmxpYyBnZXQgZXZlbnRzKCk6IE9ic2VydmFibGU8T2JzZXJ2YWJsZURhdGE8V2luZG93U2VydmljZUV2ZW50LCBJV2luZG93Pj4ge1xuICAgICAgICByZXR1cm4gdGhpcy5vYnNlcnZlci5hc09ic2VydmFibGUoKTtcbiAgICB9XG5cbiAgICBwdWJsaWMgZ2V0IHdpbmRvd3MoKTogTWFwPFdpbmRvd0NvbmZpZywgSVdpbmRvd0NvbnRlbnQ+IHtcbiAgICAgICAgcmV0dXJuIHRoaXMuX3dpbmRvd3M7XG4gICAgfVxufVxuXG5leHBvcnQgY2xhc3MgUHJvcGVydGllc01hbmFnZXIgZXh0ZW5kcyBEZXN0cm95YWJsZSB7XG4gICAgLy8gLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS1cbiAgICAvL1xuICAgIC8vIFx0Q29uc3RydWN0b3JcbiAgICAvL1xuICAgIC8vIC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tXG5cbiAgICBjb25zdHJ1Y3Rvcihwcml2YXRlIGNvb2tpZXM6IENvb2tpZVNlcnZpY2UpIHtcbiAgICAgICAgc3VwZXIoKTtcbiAgICB9XG5cbiAgICAvLyAtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLVxuICAgIC8vXG4gICAgLy8gXHRQdWJsaWMgTWV0aG9kc1xuICAgIC8vXG4gICAgLy8gLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS1cblxuICAgIHB1YmxpYyBsb2FkKG5hbWU6IHN0cmluZywgY29uZmlnOiBXaW5kb3dDb25maWcpOiB2b2lkIHtcbiAgICAgICAgbGV0IGl0ZW0gPSB0aGlzLmNvb2tpZXMuZ2V0T2JqZWN0KG5hbWUgKyAnV2luZG93JykgYXMgYW55O1xuICAgICAgICBpZiAoIWl0ZW0pIHtcbiAgICAgICAgICAgIHJldHVybjtcbiAgICAgICAgfVxuICAgICAgICBpZiAoaXRlbS5oYXNPd25Qcm9wZXJ0eSgnd2lkdGgnKSkge1xuICAgICAgICAgICAgY29uZmlnLmRlZmF1bHRXaWR0aCA9IGl0ZW0ud2lkdGg7XG4gICAgICAgIH1cbiAgICAgICAgaWYgKGl0ZW0uaGFzT3duUHJvcGVydHkoJ2hlaWdodCcpKSB7XG4gICAgICAgICAgICBjb25maWcuZGVmYXVsdEhlaWdodCA9IGl0ZW0uaGVpZ2h0O1xuICAgICAgICB9XG4gICAgfVxuXG4gICAgcHVibGljIHNhdmUobmFtZTogc3RyaW5nLCB3aW5kb3c6IElXaW5kb3cpOiB2b2lkIHtcbiAgICAgICAgdGhpcy5jb29raWVzLnB1dE9iamVjdChuYW1lICsgJ1dpbmRvdycsIHtcbiAgICAgICAgICAgIHdpZHRoOiB3aW5kb3cuZ2V0V2lkdGgoKSxcbiAgICAgICAgICAgIGhlaWdodDogd2luZG93LmdldEhlaWdodCgpXG4gICAgICAgIH0pO1xuICAgIH1cblxuICAgIHB1YmxpYyBkZXN0cm95KCk6IHZvaWQge1xuICAgICAgICBpZiAodGhpcy5pc0Rlc3Ryb3llZCkge1xuICAgICAgICAgICAgcmV0dXJuO1xuICAgICAgICB9XG4gICAgICAgIHN1cGVyLmRlc3Ryb3koKTtcbiAgICAgICAgdGhpcy5jb29raWVzID0gbnVsbDtcbiAgICB9XG59XG5cbmV4cG9ydCB0eXBlIFdpbmRvd0lkID0gc3RyaW5nIHwgV2luZG93Q29uZmlnO1xuXG5leHBvcnQgZW51bSBXaW5kb3dTZXJ2aWNlRXZlbnQge1xuICAgIE9QRU5fU1RBUlRFRCA9ICdPUEVOX1NUQVJURUQnLFxuICAgIE9QRU5FRCA9ICdPUEVORUQnLFxuICAgIE9QRU5fRklOSVNIRUQgPSAnT1BFTl9GSU5JU0hFRCcsXG5cbiAgICBDTE9TRUQgPSAnQ0xPU0VEJyxcbiAgICBTRVRURURfT05fVE9QID0gJ1NFVFRFRF9PTl9UT1AnXG59XG4iXX0=
|
|
@@ -27,6 +27,7 @@ export class WindowDragable extends WindowResizeable {
|
|
|
27
27
|
this.dragMoveHandlerProxy = this.dragMoveHandler.bind(this);
|
|
28
28
|
this.dragStartHandlerProxy = this.dragStartHandler.bind(this);
|
|
29
29
|
let param = {};
|
|
30
|
+
// let param = {} as any;
|
|
30
31
|
this.interactable.draggable(param);
|
|
31
32
|
this.interactable.on('dragmove', this.dragMoveHandlerProxy);
|
|
32
33
|
this.interactable.on('dragstart', this.dragStartHandlerProxy);
|
|
@@ -65,4 +66,4 @@ export class WindowDragable extends WindowResizeable {
|
|
|
65
66
|
this.dragStartHandlerProxy = null;
|
|
66
67
|
}
|
|
67
68
|
}
|
|
68
|
-
//# sourceMappingURL=data:application/json;base64,
|
|
69
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiV2luZG93RHJhZ2FibGUuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi9zcmMvd2luZG93L2NvbXBvbmVudC9XaW5kb3dEcmFnYWJsZS50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFDQSxPQUFPLEVBQUUsUUFBUSxFQUFFLE1BQU0scUJBQXFCLENBQUM7QUFDL0MsT0FBTyxFQUFFLGdCQUFnQixFQUFFLE1BQU0sb0JBQW9CLENBQUM7QUFFdEQsTUFBTSxPQUFPLGNBQWUsU0FBUSxnQkFBZ0I7SUFBcEQ7UUFDSSw2RUFBNkU7UUFDN0UsRUFBRTtRQUNGLHNCQUFzQjtRQUN0QixFQUFFO1FBQ0YsNkVBQTZFOztRQUVuRSxpQkFBWSxHQUFZLEtBQUssQ0FBQztJQXVFNUMsQ0FBQztJQWxFRyw2RUFBNkU7SUFDN0UsRUFBRTtJQUNGLHFCQUFxQjtJQUNyQixFQUFFO0lBQ0YsNkVBQTZFO0lBRW5FLGFBQWE7UUFDbkIsS0FBSyxDQUFDLGFBQWEsRUFBRSxDQUFDO1FBRXRCLElBQUksSUFBSSxDQUFDLE1BQU0sQ0FBQyxPQUFPLEVBQUU7WUFDckIsT0FBTztTQUNWO1FBQ0QsUUFBUSxDQUFDLFFBQVEsQ0FBQyxJQUFJLENBQUMsU0FBUyxFQUFFLGNBQWMsQ0FBQyxDQUFDO1FBQ2xELElBQUksQ0FBQyxJQUFJLENBQUMsTUFBTSxDQUFDLGlCQUFpQixFQUFFO1lBQ2hDLE9BQU87U0FDVjtRQUNELElBQUksQ0FBQyxvQkFBb0IsR0FBRyxJQUFJLENBQUMsZUFBZSxDQUFDLElBQUksQ0FBQyxJQUFJLENBQUMsQ0FBQztRQUM1RCxJQUFJLENBQUMscUJBQXFCLEdBQUcsSUFBSSxDQUFDLGdCQUFnQixDQUFDLElBQUksQ0FBQyxJQUFJLENBQUMsQ0FBQztRQUU5RCxJQUFJLEtBQUssR0FBRyxFQUFzQixDQUFDO1FBQ25DLHlCQUF5QjtRQUN6QixJQUFJLENBQUMsWUFBWSxDQUFDLFNBQVMsQ0FBQyxLQUFLLENBQUMsQ0FBQztRQUNuQyxJQUFJLENBQUMsWUFBWSxDQUFDLEVBQUUsQ0FBQyxVQUFVLEVBQUUsSUFBSSxDQUFDLG9CQUFvQixDQUFDLENBQUM7UUFDNUQsSUFBSSxDQUFDLFlBQVksQ0FBQyxFQUFFLENBQUMsV0FBVyxFQUFFLElBQUksQ0FBQyxxQkFBcUIsQ0FBQyxDQUFDO0lBQ2xFLENBQUM7SUFFUywwQkFBMEIsQ0FBQyxLQUFpQjtRQUNsRCxPQUFPLElBQUksQ0FBQyxZQUFZLElBQUksS0FBSyxDQUFDLDBCQUEwQixDQUFDLEtBQUssQ0FBQyxDQUFDO0lBQ3hFLENBQUM7SUFFRCw2RUFBNkU7SUFDN0UsRUFBRTtJQUNGLGtCQUFrQjtJQUNsQixFQUFFO0lBQ0YsNkVBQTZFO0lBRXRFLGdCQUFnQixDQUFDLEtBQW9CO1FBQ3hDLElBQUksQ0FBQyxZQUFZLEdBQUcsSUFBSSxDQUFDO0lBQzdCLENBQUM7SUFFTSxlQUFlLENBQUMsS0FBb0I7UUFDdkMsSUFBSSxDQUFDLEdBQUcsSUFBSSxDQUFDLElBQUksRUFBRSxHQUFHLEtBQUssQ0FBQyxFQUFFLENBQUM7UUFDL0IsSUFBSSxDQUFDLEdBQUcsSUFBSSxDQUFDLElBQUksRUFBRSxHQUFHLEtBQUssQ0FBQyxFQUFFLENBQUM7UUFDL0IsSUFBSSxDQUFDLElBQUksQ0FBQyxDQUFDLEVBQUUsQ0FBQyxDQUFDLENBQUM7SUFDcEIsQ0FBQztJQUVTLGlCQUFpQixDQUFDLEtBQWlCO1FBQ3pDLEtBQUssQ0FBQyxpQkFBaUIsQ0FBQyxLQUFLLENBQUMsQ0FBQztRQUMvQixJQUFJLENBQUMsWUFBWSxHQUFHLEtBQUssQ0FBQztJQUM5QixDQUFDO0lBRUQsNkVBQTZFO0lBQzdFLEVBQUU7SUFDRixrQkFBa0I7SUFDbEIsRUFBRTtJQUNGLDZFQUE2RTtJQUV0RSxPQUFPO1FBQ1YsSUFBSSxJQUFJLENBQUMsV0FBVyxFQUFFO1lBQ2xCLE9BQU87U0FDVjtRQUNELEtBQUssQ0FBQyxPQUFPLEVBQUUsQ0FBQztRQUVoQixJQUFJLENBQUMsb0JBQW9CLEdBQUcsSUFBSSxDQUFDO1FBQ2pDLElBQUksQ0FBQyxxQkFBcUIsR0FBRyxJQUFJLENBQUM7SUFDdEMsQ0FBQztDQUNKIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgSW50ZXJhY3RFdmVudCwgRHJhZ2dhYmxlT3B0aW9ucyB9IGZyb20gJ0BpbnRlcmFjdGpzL3R5cGVzJztcbmltcG9ydCB7IFZpZXdVdGlsIH0gZnJvbSAnLi4vLi4vdXRpbC9WaWV3VXRpbCc7XG5pbXBvcnQgeyBXaW5kb3dSZXNpemVhYmxlIH0gZnJvbSAnLi9XaW5kb3dSZXNpemVhYmxlJztcblxuZXhwb3J0IGNsYXNzIFdpbmRvd0RyYWdhYmxlIGV4dGVuZHMgV2luZG93UmVzaXplYWJsZSB7XG4gICAgLy8gLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS1cbiAgICAvL1xuICAgIC8vICBQcm9wZXJ0aWVzIE1ldGhvZHNcbiAgICAvL1xuICAgIC8vIC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tXG5cbiAgICBwcm90ZWN0ZWQgaXNXYXNEcmFnZ2VkOiBib29sZWFuID0gZmFsc2U7XG5cbiAgICBwcml2YXRlIGRyYWdNb3ZlSGFuZGxlclByb3h5OiAoLi4uYXJncykgPT4gYW55O1xuICAgIHByaXZhdGUgZHJhZ1N0YXJ0SGFuZGxlclByb3h5OiAoLi4uYXJncykgPT4gYW55O1xuXG4gICAgLy8gLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS1cbiAgICAvL1xuICAgIC8vICBQcm90ZWN0ZWQgTWV0aG9kc1xuICAgIC8vXG4gICAgLy8gLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS1cblxuICAgIHByb3RlY3RlZCBzZXRQcm9wZXJ0aWVzKCk6IHZvaWQge1xuICAgICAgICBzdXBlci5zZXRQcm9wZXJ0aWVzKCk7XG5cbiAgICAgICAgaWYgKHRoaXMuY29uZmlnLmlzTW9kYWwpIHtcbiAgICAgICAgICAgIHJldHVybjtcbiAgICAgICAgfVxuICAgICAgICBWaWV3VXRpbC5hZGRDbGFzcyh0aGlzLmNvbnRhaW5lciwgJ3ZpLWRyYWdnYWJsZScpO1xuICAgICAgICBpZiAoIXRoaXMuY29uZmlnLmlzQ29udGVudERyYWdhYmxlKSB7XG4gICAgICAgICAgICByZXR1cm47XG4gICAgICAgIH1cbiAgICAgICAgdGhpcy5kcmFnTW92ZUhhbmRsZXJQcm94eSA9IHRoaXMuZHJhZ01vdmVIYW5kbGVyLmJpbmQodGhpcyk7XG4gICAgICAgIHRoaXMuZHJhZ1N0YXJ0SGFuZGxlclByb3h5ID0gdGhpcy5kcmFnU3RhcnRIYW5kbGVyLmJpbmQodGhpcyk7XG5cbiAgICAgICAgbGV0IHBhcmFtID0ge30gYXMgRHJhZ2dhYmxlT3B0aW9ucztcbiAgICAgICAgLy8gbGV0IHBhcmFtID0ge30gYXMgYW55O1xuICAgICAgICB0aGlzLmludGVyYWN0YWJsZS5kcmFnZ2FibGUocGFyYW0pO1xuICAgICAgICB0aGlzLmludGVyYWN0YWJsZS5vbignZHJhZ21vdmUnLCB0aGlzLmRyYWdNb3ZlSGFuZGxlclByb3h5KTtcbiAgICAgICAgdGhpcy5pbnRlcmFjdGFibGUub24oJ2RyYWdzdGFydCcsIHRoaXMuZHJhZ1N0YXJ0SGFuZGxlclByb3h5KTtcbiAgICB9XG5cbiAgICBwcm90ZWN0ZWQgaXNOZWVkQ2xpY2tTdG9wUHJvcGFnYXRpb24oZXZlbnQ6IE1vdXNlRXZlbnQpOiBib29sZWFuIHtcbiAgICAgICAgcmV0dXJuIHRoaXMuaXNXYXNEcmFnZ2VkIHx8IHN1cGVyLmlzTmVlZENsaWNrU3RvcFByb3BhZ2F0aW9uKGV2ZW50KTtcbiAgICB9XG5cbiAgICAvLyAtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLVxuICAgIC8vXG4gICAgLy8gIEV2ZW50IEhhbmRsZXJzXG4gICAgLy9cbiAgICAvLyAtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLVxuXG4gICAgcHVibGljIGRyYWdTdGFydEhhbmRsZXIoZXZlbnQ6IEludGVyYWN0RXZlbnQpOiB2b2lkIHtcbiAgICAgICAgdGhpcy5pc1dhc0RyYWdnZWQgPSB0cnVlO1xuICAgIH1cblxuICAgIHB1YmxpYyBkcmFnTW92ZUhhbmRsZXIoZXZlbnQ6IEludGVyYWN0RXZlbnQpOiB2b2lkIHtcbiAgICAgICAgbGV0IHggPSB0aGlzLmdldFgoKSArIGV2ZW50LmR4O1xuICAgICAgICBsZXQgeSA9IHRoaXMuZ2V0WSgpICsgZXZlbnQuZHk7XG4gICAgICAgIHRoaXMubW92ZSh4LCB5KTtcbiAgICB9XG5cbiAgICBwcm90ZWN0ZWQgbW91c2VDbGlja0hhbmRsZXIoZXZlbnQ6IE1vdXNlRXZlbnQpOiB2b2lkIHtcbiAgICAgICAgc3VwZXIubW91c2VDbGlja0hhbmRsZXIoZXZlbnQpO1xuICAgICAgICB0aGlzLmlzV2FzRHJhZ2dlZCA9IGZhbHNlO1xuICAgIH1cblxuICAgIC8vIC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tXG4gICAgLy9cbiAgICAvLyBcdFB1YmxpYyBNZXRob2RzXG4gICAgLy9cbiAgICAvLyAtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLVxuXG4gICAgcHVibGljIGRlc3Ryb3koKTogdm9pZCB7XG4gICAgICAgIGlmICh0aGlzLmlzRGVzdHJveWVkKSB7XG4gICAgICAgICAgICByZXR1cm47XG4gICAgICAgIH1cbiAgICAgICAgc3VwZXIuZGVzdHJveSgpO1xuXG4gICAgICAgIHRoaXMuZHJhZ01vdmVIYW5kbGVyUHJveHkgPSBudWxsO1xuICAgICAgICB0aGlzLmRyYWdTdGFydEhhbmRsZXJQcm94eSA9IG51bGw7XG4gICAgfVxufVxuIl19
|
|
@@ -4484,6 +4484,7 @@ class WindowDragable extends WindowResizeable {
|
|
|
4484
4484
|
this.dragMoveHandlerProxy = this.dragMoveHandler.bind(this);
|
|
4485
4485
|
this.dragStartHandlerProxy = this.dragStartHandler.bind(this);
|
|
4486
4486
|
let param = {};
|
|
4487
|
+
// let param = {} as any;
|
|
4487
4488
|
this.interactable.draggable(param);
|
|
4488
4489
|
this.interactable.on('dragmove', this.dragMoveHandlerProxy);
|
|
4489
4490
|
this.interactable.on('dragstart', this.dragStartHandlerProxy);
|
|
@@ -4597,8 +4598,9 @@ class WindowService extends Destroyable {
|
|
|
4597
4598
|
// Constructor
|
|
4598
4599
|
//
|
|
4599
4600
|
// --------------------------------------------------------------------------
|
|
4600
|
-
constructor(dialog, language, cookies) {
|
|
4601
|
+
constructor(dialog, language, cookies, sheet) {
|
|
4601
4602
|
super();
|
|
4603
|
+
this.sheet = sheet;
|
|
4602
4604
|
this.isNeedCheckPositionAfterOpen = true;
|
|
4603
4605
|
this.gapX = 25;
|
|
4604
4606
|
this.gapY = 25;
|
|
@@ -4632,8 +4634,9 @@ class WindowService extends Destroyable {
|
|
|
4632
4634
|
updateTop() {
|
|
4633
4635
|
let zIndex = 0;
|
|
4634
4636
|
let topWindow = null;
|
|
4635
|
-
|
|
4636
|
-
|
|
4637
|
+
let windows = [this.sheet.window, ...this.windowsArray];
|
|
4638
|
+
for (let window of windows) {
|
|
4639
|
+
if (_.isNil(window) || _.isNil(window.container)) {
|
|
4637
4640
|
continue;
|
|
4638
4641
|
}
|
|
4639
4642
|
let index = parseInt(ViewUtil.getStyle(window.container.parentElement, 'zIndex'), 10);
|
|
@@ -4864,12 +4867,12 @@ class WindowService extends Destroyable {
|
|
|
4864
4867
|
return this._windows;
|
|
4865
4868
|
}
|
|
4866
4869
|
}
|
|
4867
|
-
WindowService.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "13.3.11", ngImport: i0, type: WindowService, deps: [{ token: i1.MatDialog }, { token: i1$1.LanguageService }, { token: CookieService }], target: i0.ɵɵFactoryTarget.Injectable });
|
|
4870
|
+
WindowService.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "13.3.11", ngImport: i0, type: WindowService, deps: [{ token: i1.MatDialog }, { token: i1$1.LanguageService }, { token: CookieService }, { token: BottomSheetService }], target: i0.ɵɵFactoryTarget.Injectable });
|
|
4868
4871
|
WindowService.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "13.3.11", ngImport: i0, type: WindowService, providedIn: 'root' });
|
|
4869
4872
|
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "13.3.11", ngImport: i0, type: WindowService, decorators: [{
|
|
4870
4873
|
type: Injectable,
|
|
4871
4874
|
args: [{ providedIn: 'root' }]
|
|
4872
|
-
}], ctorParameters: function () { return [{ type: i1.MatDialog }, { type: i1$1.LanguageService }, { type: CookieService }]; } });
|
|
4875
|
+
}], ctorParameters: function () { return [{ type: i1.MatDialog }, { type: i1$1.LanguageService }, { type: CookieService }, { type: BottomSheetService }]; } });
|
|
4873
4876
|
class PropertiesManager extends Destroyable {
|
|
4874
4877
|
// --------------------------------------------------------------------------
|
|
4875
4878
|
//
|
|
@@ -5264,11 +5267,13 @@ class BottomSheetService extends Destroyable {
|
|
|
5264
5267
|
let subscription = window.events.subscribe(event => {
|
|
5265
5268
|
switch (event) {
|
|
5266
5269
|
case WindowServiceEvent.OPENED:
|
|
5270
|
+
this._window = window;
|
|
5267
5271
|
this.observer.next(new ObservableData(WindowServiceEvent.OPENED, window));
|
|
5268
5272
|
this.observer.next(new ObservableData(WindowServiceEvent.OPEN_FINISHED, window));
|
|
5269
5273
|
break;
|
|
5270
5274
|
case WindowServiceEvent.CLOSED:
|
|
5271
5275
|
subscription.unsubscribe();
|
|
5276
|
+
this._window = null;
|
|
5272
5277
|
this.observer.next(new ObservableData(WindowServiceEvent.CLOSED, window));
|
|
5273
5278
|
break;
|
|
5274
5279
|
}
|
|
@@ -5286,6 +5291,7 @@ class BottomSheetService extends Destroyable {
|
|
|
5286
5291
|
this.observer.complete();
|
|
5287
5292
|
this.observer = null;
|
|
5288
5293
|
}
|
|
5294
|
+
this._window = null;
|
|
5289
5295
|
this.factory = null;
|
|
5290
5296
|
this.questionComponent = null;
|
|
5291
5297
|
this.dialog = null;
|
|
@@ -5313,6 +5319,9 @@ class BottomSheetService extends Destroyable {
|
|
|
5313
5319
|
// Public Properties
|
|
5314
5320
|
//
|
|
5315
5321
|
// --------------------------------------------------------------------------
|
|
5322
|
+
get window() {
|
|
5323
|
+
return this._window;
|
|
5324
|
+
}
|
|
5316
5325
|
get events() {
|
|
5317
5326
|
return this.observer.asObservable();
|
|
5318
5327
|
}
|