@alauda/ui 7.3.3-beta.30 → 7.3.3-beta.31
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.
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
import { Directive, ElementRef, inject, Input, Renderer2, } from '@angular/core';
|
|
2
2
|
import { fromEvent, map, merge, switchMap, take, takeUntil, } from 'rxjs';
|
|
3
3
|
import { buildBem } from '../utils';
|
|
4
|
-
import { tableBem, TableColumnDefDirective, TableComponent
|
|
4
|
+
import { tableBem, TableColumnDefDirective, TableComponent } from './index';
|
|
5
5
|
import * as i0 from "@angular/core";
|
|
6
6
|
let tableColumnResizableID = 0;
|
|
7
7
|
const resizableBem = buildBem('aui-table-column-resizable');
|
|
@@ -156,4 +156,4 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "16.2.3", ngImpor
|
|
|
156
156
|
}], maxWidth: [{
|
|
157
157
|
type: Input
|
|
158
158
|
}] } });
|
|
159
|
-
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidGFibGUtY29sdW1uLXJlc2l6YWJsZS5kaXJlY3RpdmUuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi9zcmMvdGFibGUvdGFibGUtY29sdW1uLXJlc2l6YWJsZS5kaXJlY3RpdmUudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUVMLFNBQVMsRUFDVCxVQUFVLEVBQ1YsTUFBTSxFQUNOLEtBQUssRUFDTCxTQUFTLEdBQ1YsTUFBTSxlQUFlLENBQUM7QUFDdkIsT0FBTyxFQUNMLFNBQVMsRUFDVCxHQUFHLEVBQ0gsS0FBSyxFQUVMLFNBQVMsRUFDVCxJQUFJLEVBQ0osU0FBUyxHQUNWLE1BQU0sTUFBTSxDQUFDO0FBRWQsT0FBTyxFQUFFLFFBQVEsRUFBRSxNQUFNLFVBQVUsQ0FBQztBQUVwQyxPQUFPLEVBQ0wsUUFBUSxFQUNSLHVCQUF1QixFQUN2QixjQUFjLEdBRWYsTUFBTSxTQUFTLENBQUM7O0FBRWpCLElBQUksc0JBQXNCLEdBQUcsQ0FBQyxDQUFDO0FBRS9CLE1BQU0sWUFBWSxHQUFHLFFBQVEsQ0FBQyw0QkFBNEIsQ0FBQyxDQUFDO0FBQzVELE1BQU0sYUFBYSxHQUFHLENBQUMsQ0FBQztBQU14QixNQUFNLE9BQU8sNkJBQTZCO0lBRXhDLFFBQVEsR0FBRyxNQUFNLENBQUM7SUFHbEIsUUFBUSxHQUFHLEtBQUssQ0FBQztJQUVBLFNBQVMsR0FBRyxNQUFNLENBQUMsU0FBUyxDQUFDLENBQUM7SUFDOUIsdUJBQXVCLEdBQUcsTUFBTSxDQUFDLHVCQUF1QixDQUFDLENBQUM7SUFDMUQsY0FBYyxHQUFHLE1BQU0sQ0FBQyxjQUFjLENBQUMsQ0FBQztJQVF4QyxhQUFhLEdBQzVCLE1BQU0sQ0FBQyxVQUFVLENBQUMsQ0FBQyxhQUFhLENBQUM7SUFDbEIsZ0JBQWdCLEdBQy9CLElBQUksQ0FBQyxjQUFjLENBQUMsVUFBVSxDQUFDLGFBQWEsQ0FBQztJQUV2QyxZQUFZLENBQW1CO0lBQy9CLFFBQVEsQ0FBUztJQUNqQixrQkFBa0IsQ0FBZTtJQUV6QyxlQUFlO1FBQ2IsTUFBTSxZQUFZLEdBQUcsSUFBSSxDQUFDLGtCQUFrQixFQUFFLENBQUM7UUFDL0MsSUFBSSxDQUFDLGFBQWEsQ0FBQyxZQUFZLENBQUMsQ0FBQztJQUNuQyxDQUFDO0lBRUQsV0FBVztRQUNULElBQUksQ0FBQyxrQkFBa0IsRUFBRSxXQUFXLEVBQUUsQ0FBQztRQUN2QyxJQUFJLENBQUMsWUFBWSxFQUFFLE1BQU0sRUFBRSxDQUFDO1FBQzVCLElBQUksSUFBSSxDQUFDLFFBQVEsRUFBRTtZQUNqQixJQUFJLENBQUMsZ0JBQWdCLENBQUMsZUFBZSxDQUFDLElBQUksQ0FBQyxRQUFRLENBQUMsQ0FBQztTQUN0RDtJQUNILENBQUM7SUFFTyxhQUFhLENBQUMsWUFBeUI7UUFDN0MsU0FBUyxDQUFhLFlBQVksRUFBRSxXQUFXLENBQUM7YUFDN0MsSUFBSSxDQUNILFNBQVMsQ0FBQyxjQUFjLENBQUMsRUFBRTtZQUN6QixjQUFjLENBQUMsY0FBYyxFQUFFLENBQUM7WUFDaEMsY0FBYyxDQUFDLGVBQWUsRUFBRSxDQUFDO1lBRWpDLElBQUksQ0FBQyxTQUFTLENBQUMsUUFBUSxDQUFDLFlBQVksRUFBRSxZQUFZLEVBQUUsUUFBUSxDQUFDLENBQUM7WUFDOUQsTUFBTSxXQUFXLEdBQUcsSUFBSSxDQUFDLGNBQWMsRUFBRSxDQUFDO1lBQzFDLE1BQU0sYUFBYSxHQUFHLGNBQWMsQ0FBQyxPQUFPLENBQUM7WUFDN0MsTUFBTSxXQUFXLEdBQUcsSUFBSSxDQUFDLGNBQWMsRUFBRSxDQUFDO1lBQzFDLE1BQU0sWUFBWSxHQUFHLElBQUksQ0FBQyxlQUFlLEVBQUUsQ0FBQztZQUM1QyxNQUFNLGNBQWMsR0FBRyxJQUFJLENBQUMsb0JBQW9CLENBQzlDLFlBQVksR0FBRyxXQUFXLENBQzNCLENBQUM7WUFDRixNQUFNLGFBQWEsR0FBRyxJQUFJLENBQUMsbUJBQW1CLEVBQUUsQ0FBQztZQUVqRCxNQUFNLFFBQVEsR0FBRyxTQUFTLENBQWEsUUFBUSxFQUFFLFNBQVMsQ0FBQyxDQUFDLElBQUksQ0FDOUQsSUFBSSxDQUFDLENBQUMsQ0FBQyxDQUNSLENBQUM7WUFDRixNQUFNLFVBQVUsR0FBRyxTQUFTLENBQWEsUUFBUSxFQUFFLFdBQVcsQ0FBQyxDQUFDLElBQUksQ0FDbEUsU0FBUyxDQUFDLFFBQVEsQ0FBQyxDQUNwQixDQUFDO1lBRUYsT0FBTyxLQUFLLENBQ1YsVUFBVSxDQUFDLElBQUksQ0FDYixHQUFHLENBQ0QsY0FBYyxDQUFDLEVBQUUsQ0FBQyxHQUFHLEVBQUUsQ0FDckIsY0FBYyxDQUFDLFlBQVksQ0FDekIsWUFBWTtnQkFDVixJQUFJLENBQUMsZUFBZSxDQUNsQixXQUFXLEVBQ1gsV0FBVyxHQUFHLGNBQWMsQ0FBQyxPQUFPLEdBQUcsYUFBYSxDQUNyRCxDQUNKLENBQ0osQ0FDRixFQUNELFFBQVEsQ0FBQyxJQUFJLENBQ1gsR0FBRyxDQUFDLFlBQVksQ0FBQyxFQUFFLENBQUMsR0FBRyxFQUFFO2dCQUN2QixJQUFJLENBQUMsU0FBUyxDQUFDLFdBQVcsQ0FBQyxZQUFZLEVBQUUsWUFBWSxDQUFDLENBQUM7Z0JBQ3ZELGNBQWMsQ0FBQyxPQUFPLEVBQUUsQ0FBQztnQkFDekIsYUFBYSxDQUFDLE9BQU8sRUFBRSxDQUFDO2dCQUV4QixJQUFJLENBQUMsaUJBQWlCLENBQ3BCLElBQUksQ0FBQyxlQUFlLENBQ2xCLFdBQVcsRUFDWCxXQUFXLEdBQUcsWUFBWSxDQUFDLE9BQU8sR0FBRyxhQUFhLENBQ25ELENBQ0YsQ0FBQztZQUNKLENBQUMsQ0FBQyxDQUNILENBQ0YsQ0FBQztRQUNKLENBQUMsQ0FBQyxDQUNIO2FBQ0EsU0FBUyxDQUFDLElBQUksQ0FBQyxFQUFFO1lBQ2hCLElBQUksRUFBRSxDQUFDO1FBQ1QsQ0FBQyxDQUFDLENBQUM7SUFDUCxDQUFDO0lBRU8sa0JBQWtCO1FBQ3hCLE1BQU0sWUFBWSxHQUFtQixJQUFJLENBQUMsU0FBUyxDQUFDLGFBQWEsQ0FBQyxLQUFLLENBQUMsQ0FBQztRQUN6RSxJQUFJLENBQUMsU0FBUyxDQUFDLFFBQVEsQ0FBQyxZQUFZLEVBQUUsWUFBWSxDQUFDLE9BQU8sQ0FBQyxRQUFRLENBQUMsQ0FBQyxDQUFDO1FBQ3RFLElBQUksQ0FBQyxTQUFTLENBQUMsV0FBVyxDQUFDLElBQUksQ0FBQyxhQUFhLEVBQUUsWUFBWSxDQUFDLENBQUM7UUFFN0QsT0FBTyxZQUFZLENBQUM7SUFDdEIsQ0FBQztJQUVPLG9CQUFvQixDQUFDLGFBQXFCO1FBQ2hELE1BQU0sUUFBUSxHQUFnQixJQUFJLENBQUMsU0FBUyxDQUFDLGFBQWEsQ0FBQyxLQUFLLENBQUMsQ0FBQztRQUNsRSxJQUFJLENBQUMsU0FBUyxDQUFDLFFBQVEsQ0FBQyxRQUFRLEVBQUUsWUFBWSxDQUFDLE9BQU8sQ0FBQyxXQUFXLENBQUMsQ0FBQyxDQUFDO1FBQ3JFLElBQUksQ0FBQyxTQUFTLENBQUMsUUFBUSxDQUNyQixRQUFRLEVBQ1IsTUFBTSxFQUNOLGFBQWEsR0FBRyxhQUFhLEdBQUcsSUFBSSxDQUNyQyxDQUFDO1FBQ0YsSUFBSSxJQUFJLENBQUMsd0JBQXdCLEVBQUUsRUFBRTtZQUNuQyxJQUFJLENBQUMsU0FBUyxDQUFDLFFBQVEsQ0FBQyxRQUFRLEVBQUUsd0JBQXdCLENBQUMsQ0FBQztTQUM3RDtRQUNELElBQUksQ0FBQyxTQUFTLENBQUMsV0FBVyxDQUFDLElBQUksQ0FBQyxnQkFBZ0IsRUFBRSxRQUFRLENBQUMsQ0FBQztRQUM1RCxPQUFPO1lBQ0wsT0FBTyxFQUFFLFFBQVE7WUFDakIsWUFBWSxFQUFFLENBQUMsTUFBYyxFQUFFLEVBQUU7Z0JBQy9CLElBQUksQ0FBQyxTQUFTLENBQUMsUUFBUSxDQUNyQixRQUFRLEVBQ1IsTUFBTSxFQUNOLE1BQU0sR0FBRyxhQUFhLEdBQUcsSUFBSSxDQUM5QixDQUFDO1lBQ0osQ0FBQztZQUNELE9BQU8sRUFBRSxHQUFHLEVBQUU7Z0JBQ1osSUFBSSxDQUFDLFNBQVMsQ0FBQyxXQUFXLENBQUMsSUFBSSxDQUFDLGdCQUFnQixFQUFFLFFBQVEsQ0FBQyxDQUFDO1lBQzlELENBQUM7U0FDRixDQUFDO0lBQ0osQ0FBQztJQUVPLG1CQUFtQjtRQUN6QixNQUFNLGFBQWEsR0FBRyxJQUFJLENBQUMsU0FBUyxDQUFDLGFBQWEsQ0FBQyxLQUFLLENBQUMsQ0FBQztRQUMxRCxJQUFJLENBQUMsU0FBUyxDQUFDLFFBQVEsQ0FBQyxhQUFhLEVBQUUsWUFBWSxDQUFDLE9BQU8sQ0FBQyxTQUFTLENBQUMsQ0FBQyxDQUFDO1FBQ3hFLElBQUksQ0FBQyxTQUFTLENBQUMsV0FBVyxDQUFDLElBQUksQ0FBQyxnQkFBZ0IsRUFBRSxhQUFhLENBQUMsQ0FBQztRQUNqRSxPQUFPO1lBQ0wsT0FBTyxFQUFFLGFBQWE7WUFDdEIsT0FBTyxFQUFFLEdBQUcsRUFBRTtnQkFDWixJQUFJLENBQUMsU0FBUyxDQUFDLFdBQVcsQ0FBQyxJQUFJLENBQUMsZ0JBQWdCLEVBQUUsYUFBYSxDQUFDLENBQUM7WUFDbkUsQ0FBQztTQUNGLENBQUM7SUFDSixDQUFDO0lBRU8sY0FBYztRQUNwQixPQUFPLElBQUksQ0FBQyxhQUFhLENBQUMsV0FBVyxDQUFDO0lBQ3hDLENBQUM7SUFFTyxlQUFlO1FBQ3JCLE9BQU8sQ0FDTCxJQUFJLENBQUMsYUFBYSxDQUFDLHFCQUFxQixFQUFFLENBQUMsSUFBSTtZQUMvQyxJQUFJLENBQUMsZ0JBQWdCLENBQUMscUJBQXFCLEVBQUUsQ0FBQyxJQUFJLENBQ25ELENBQUM7SUFDSixDQUFDO0lBRU8sZUFBZSxDQUNyQixDQUFDLFFBQVEsRUFBRSxRQUFRLENBQW1CLEVBQ3RDLEtBQWE7UUFFYixPQUFPLElBQUksQ0FBQyxHQUFHLENBQUMsSUFBSSxDQUFDLEdBQUcsQ0FBQyxLQUFLLEVBQUUsUUFBUSxDQUFDLEVBQUUsUUFBUSxDQUFDLENBQUM7SUFDdkQsQ0FBQztJQUVPLGNBQWM7UUFDcEIsTUFBTSxRQUFRLEdBQUcsSUFBSSxDQUFDLGNBQWMsQ0FBQyxJQUFJLENBQUMsUUFBUSxDQUFDLENBQUM7UUFDcEQsTUFBTSxRQUFRLEdBQUcsSUFBSSxDQUFDLGNBQWMsQ0FBQyxJQUFJLENBQUMsUUFBUSxDQUFDLENBQUM7UUFDcEQsT0FBTyxDQUFDLFFBQVEsRUFBRSxRQUFRLENBQUMsQ0FBQztJQUM5QixDQUFDO0lBRU8sY0FBYyxDQUFDLEtBQXNCO1FBQzNDLElBQUksT0FBTyxLQUFLLEtBQUssUUFBUSxFQUFFO1lBQzdCLE9BQU8sS0FBSyxDQUFDO1NBQ2Q7YUFBTSxJQUFJLEtBQUssQ0FBQyxRQUFRLENBQUMsSUFBSSxDQUFDLEVBQUU7WUFDL0IsT0FBTyxRQUFRLENBQUMsS0FBSyxDQUFDLEtBQUssQ0FBQyxDQUFDLEVBQUUsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDO1NBQ3JDO2FBQU0sSUFBSSxLQUFLLENBQUMsUUFBUSxDQUFDLEdBQUcsQ0FBQyxFQUFFO1lBQzlCLE9BQU8sQ0FDTCxDQUFDLElBQUksQ0FBQyxnQkFBZ0IsQ0FBQyxXQUFXLEdBQUcsUUFBUSxDQUFDLEtBQUssQ0FBQyxLQUFLLENBQUMsQ0FBQyxFQUFFLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxHQUFHLEdBQUcsQ0FDekUsQ0FBQztTQUNIO0lBQ0gsQ0FBQztJQUVPLHdCQUF3QjtRQUM5QixPQUFPLElBQUksQ0FBQyxhQUFhLENBQUMsU0FBUyxDQUFDLFFBQVEsQ0FDMUMsbUNBQW1DLENBQ3BDLENBQUM7SUFDSixDQUFDO0lBRU8saUJBQWlCLENBQUMsS0FBYTtRQUNyQyxNQUFNLFNBQVMsR0FBRyxRQUFRLENBQUMsT0FBTyxDQUNoQyxVQUFVLElBQUksQ0FBQyx1QkFBdUIsQ0FBQyxvQkFBb0IsRUFBRSxDQUM5RCxDQUFDO1FBQ0YsSUFBSSxDQUFDLElBQUksQ0FBQyxRQUFRLEVBQUU7WUFDbEIsSUFBSSxDQUFDLFFBQVEsR0FBRyxtQkFBbUIsc0JBQXNCLEVBQUUsRUFBRSxDQUFDO1lBQzlELElBQUksQ0FBQyxnQkFBZ0IsQ0FBQyxZQUFZLENBQUMsSUFBSSxDQUFDLFFBQVEsRUFBRSxFQUFFLENBQUMsQ0FBQztTQUN2RDtRQUNELE1BQU0sV0FBVyxHQUFHO1FBQ2hCLElBQUksQ0FBQyxRQUFRLE1BQU0sU0FBUzs7ZUFFckIsS0FBSzttQkFDRCxLQUFLO21CQUNMLEtBQUs7O0tBRW5CLENBQUM7UUFDRixJQUFJLElBQUksQ0FBQyxZQUFZLEVBQUU7WUFDckIsSUFBSSxDQUFDLFlBQVksQ0FBQyxTQUFTLEdBQUcsV0FBVyxDQUFDO1NBQzNDO2FBQU07WUFDTCxJQUFJLENBQUMsWUFBWSxHQUFHLElBQUksQ0FBQyxTQUFTLENBQUMsYUFBYSxDQUFDLE9BQU8sQ0FBQyxDQUFDO1lBQzFELElBQUksQ0FBQyxZQUFZLENBQUMsU0FBUyxHQUFHLFdBQVcsQ0FBQztZQUMxQyxJQUFJLENBQUMsU0FBUyxDQUFDLFdBQVcsQ0FDeEIsUUFBUSxDQUFDLGFBQWEsQ0FBQyxNQUFNLENBQUMsRUFDOUIsSUFBSSxDQUFDLFlBQVksQ0FDbEIsQ0FBQztTQUNIO1FBRUQsSUFBSSxDQUFDLGNBQWMsQ0FBQyx3QkFBd0IsRUFBRSxDQUFDO0lBQ2pELENBQUM7dUdBdk5VLDZCQUE2QjsyRkFBN0IsNkJBQTZCOzsyRkFBN0IsNkJBQTZCO2tCQUp6QyxTQUFTO21CQUFDO29CQUNULFFBQVEsRUFBRSwyQkFBMkI7b0JBQ3JDLFVBQVUsRUFBRSxJQUFJO2lCQUNqQjs4QkFHQyxRQUFRO3NCQURQLEtBQUs7Z0JBSU4sUUFBUTtzQkFEUCxLQUFLIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHtcbiAgQWZ0ZXJWaWV3SW5pdCxcbiAgRGlyZWN0aXZlLFxuICBFbGVtZW50UmVmLFxuICBpbmplY3QsXG4gIElucHV0LFxuICBSZW5kZXJlcjIsXG59IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xuaW1wb3J0IHtcbiAgZnJvbUV2ZW50LFxuICBtYXAsXG4gIG1lcmdlLFxuICBTdWJzY3JpcHRpb24sXG4gIHN3aXRjaE1hcCxcbiAgdGFrZSxcbiAgdGFrZVVudGlsLFxufSBmcm9tICdyeGpzJztcblxuaW1wb3J0IHsgYnVpbGRCZW0gfSBmcm9tICcuLi91dGlscyc7XG5cbmltcG9ydCB7XG4gIHRhYmxlQmVtLFxuICBUYWJsZUNvbHVtbkRlZkRpcmVjdGl2ZSxcbiAgVGFibGVDb21wb25lbnQsXG4gIC8vIFRhYmxlU2Nyb2xsV3JhcHBlckRpcmVjdGl2ZSxcbn0gZnJvbSAnLi9pbmRleCc7XG5cbmxldCB0YWJsZUNvbHVtblJlc2l6YWJsZUlEID0gMDtcblxuY29uc3QgcmVzaXphYmxlQmVtID0gYnVpbGRCZW0oJ2F1aS10YWJsZS1jb2x1bW4tcmVzaXphYmxlJyk7XG5jb25zdCBtYXJrTGluZVdpZHRoID0gMTtcblxuQERpcmVjdGl2ZSh7XG4gIHNlbGVjdG9yOiAnW2F1aVRhYmxlQ29sdW1uUmVzaXphYmxlXScsXG4gIHN0YW5kYWxvbmU6IHRydWUsXG59KVxuZXhwb3J0IGNsYXNzIFRhYmxlQ29sdW1uUmVzaXphYmxlRGlyZWN0aXZlIGltcGxlbWVudHMgQWZ0ZXJWaWV3SW5pdCB7XG4gIEBJbnB1dCgpXG4gIG1pbldpZHRoID0gJzQwcHgnO1xuXG4gIEBJbnB1dCgpXG4gIG1heFdpZHRoID0gJzgwJSc7XG5cbiAgcHJpdmF0ZSByZWFkb25seSByZW5kZXJlcjIgPSBpbmplY3QoUmVuZGVyZXIyKTtcbiAgcHJpdmF0ZSByZWFkb25seSB0YWJsZUNvbHVtbkRlZkRpcmVjdGl2ZSA9IGluamVjdChUYWJsZUNvbHVtbkRlZkRpcmVjdGl2ZSk7XG4gIHByaXZhdGUgcmVhZG9ubHkgdGFibGVDb21wb25lbnQgPSBpbmplY3QoVGFibGVDb21wb25lbnQpO1xuICAvLyBwcml2YXRlIHJlYWRvbmx5IHRhYmxlU2Nyb2xsV3JhcHBlckRpcmVjdGl2ZSA9IGluamVjdChcbiAgLy8gICBUYWJsZVNjcm9sbFdyYXBwZXJEaXJlY3RpdmUsXG4gIC8vICAge1xuICAvLyAgICAgb3B0aW9uYWw6IHRydWUsXG4gIC8vICAgfSxcbiAgLy8gKTtcblxuICBwcml2YXRlIHJlYWRvbmx5IGNvbHVtbkVsZW1lbnQ6IEhUTUxFbGVtZW50ID1cbiAgICBpbmplY3QoRWxlbWVudFJlZikubmF0aXZlRWxlbWVudDtcbiAgcHJpdmF0ZSByZWFkb25seSBjb250YWluZXJFbGVtZW50OiBIVE1MRWxlbWVudCA9XG4gICAgdGhpcy50YWJsZUNvbXBvbmVudC5lbGVtZW50UmVmLm5hdGl2ZUVsZW1lbnQ7XG5cbiAgcHJpdmF0ZSBzdHlsZUVsZW1lbnQ6IEhUTUxTdHlsZUVsZW1lbnQ7XG4gIHByaXZhdGUgaG9zdEF0dHI6IHN0cmluZztcbiAgcHJpdmF0ZSByZXNpemVTdWJzY3JpcHRpb246IFN1YnNjcmlwdGlvbjtcblxuICBuZ0FmdGVyVmlld0luaXQoKSB7XG4gICAgY29uc3QgcmVzaXplSGFuZGxlID0gdGhpcy5jcmVhdGVSZXNpemVIYW5kbGUoKTtcbiAgICB0aGlzLmJpbmRSZXNpemFibGUocmVzaXplSGFuZGxlKTtcbiAgfVxuXG4gIG5nT25EZXN0cm95KCkge1xuICAgIHRoaXMucmVzaXplU3Vic2NyaXB0aW9uPy51bnN1YnNjcmliZSgpO1xuICAgIHRoaXMuc3R5bGVFbGVtZW50Py5yZW1vdmUoKTtcbiAgICBpZiAodGhpcy5ob3N0QXR0cikge1xuICAgICAgdGhpcy5jb250YWluZXJFbGVtZW50LnJlbW92ZUF0dHJpYnV0ZSh0aGlzLmhvc3RBdHRyKTtcbiAgICB9XG4gIH1cblxuICBwcml2YXRlIGJpbmRSZXNpemFibGUocmVzaXplSGFuZGxlOiBIVE1MRWxlbWVudCkge1xuICAgIGZyb21FdmVudDxNb3VzZUV2ZW50PihyZXNpemVIYW5kbGUsICdtb3VzZWRvd24nKVxuICAgICAgLnBpcGUoXG4gICAgICAgIHN3aXRjaE1hcChtb3VzZURvd25FdmVudCA9PiB7XG4gICAgICAgICAgbW91c2VEb3duRXZlbnQucHJldmVudERlZmF1bHQoKTtcbiAgICAgICAgICBtb3VzZURvd25FdmVudC5zdG9wUHJvcGFnYXRpb24oKTtcblxuICAgICAgICAgIHRoaXMucmVuZGVyZXIyLnNldFN0eWxlKHJlc2l6ZUhhbmRsZSwgJ3Zpc2liaWxpdHknLCAnaGlkZGVuJyk7XG4gICAgICAgICAgY29uc3QgcmVzaXplUmFuZ2UgPSB0aGlzLmdldFJlc2l6ZVJhbmdlKCk7XG4gICAgICAgICAgY29uc3QgaW5pdGlhbE1vdXNlWCA9IG1vdXNlRG93bkV2ZW50LmNsaWVudFg7XG4gICAgICAgICAgY29uc3QgY29sdW1uV2lkdGggPSB0aGlzLmdldENvbHVtbldpZHRoKCk7XG4gICAgICAgICAgY29uc3QgY29sdW1uT2Zmc2V0ID0gdGhpcy5nZXRDb2x1bW5PZmZzZXQoKTtcbiAgICAgICAgICBjb25zdCByZXNpemVNYXJrTGluZSA9IHRoaXMuY3JlYXRlUmVzaXplTWFya0xpbmUoXG4gICAgICAgICAgICBjb2x1bW5PZmZzZXQgKyBjb2x1bW5XaWR0aCxcbiAgICAgICAgICApO1xuICAgICAgICAgIGNvbnN0IHJlc2l6ZU92ZXJsYXkgPSB0aGlzLmNyZWF0ZVJlc2l6ZU92ZXJsYXkoKTtcblxuICAgICAgICAgIGNvbnN0IG1vdXNlVXAkID0gZnJvbUV2ZW50PE1vdXNlRXZlbnQ+KGRvY3VtZW50LCAnbW91c2V1cCcpLnBpcGUoXG4gICAgICAgICAgICB0YWtlKDEpLFxuICAgICAgICAgICk7XG4gICAgICAgICAgY29uc3QgbW91c2VNb3ZlJCA9IGZyb21FdmVudDxNb3VzZUV2ZW50Pihkb2N1bWVudCwgJ21vdXNlbW92ZScpLnBpcGUoXG4gICAgICAgICAgICB0YWtlVW50aWwobW91c2VVcCQpLFxuICAgICAgICAgICk7XG5cbiAgICAgICAgICByZXR1cm4gbWVyZ2UoXG4gICAgICAgICAgICBtb3VzZU1vdmUkLnBpcGUoXG4gICAgICAgICAgICAgIG1hcChcbiAgICAgICAgICAgICAgICBtb3VzZU1vdmVFdmVudCA9PiAoKSA9PlxuICAgICAgICAgICAgICAgICAgcmVzaXplTWFya0xpbmUudXBkYXRlT2Zmc2V0KFxuICAgICAgICAgICAgICAgICAgICBjb2x1bW5PZmZzZXQgK1xuICAgICAgICAgICAgICAgICAgICAgIHRoaXMuZ2V0V2lkdGhJblJhbmdlKFxuICAgICAgICAgICAgICAgICAgICAgICAgcmVzaXplUmFuZ2UsXG4gICAgICAgICAgICAgICAgICAgICAgICBjb2x1bW5XaWR0aCArIG1vdXNlTW92ZUV2ZW50LmNsaWVudFggLSBpbml0aWFsTW91c2VYLFxuICAgICAgICAgICAgICAgICAgICAgICksXG4gICAgICAgICAgICAgICAgICApLFxuICAgICAgICAgICAgICApLFxuICAgICAgICAgICAgKSxcbiAgICAgICAgICAgIG1vdXNlVXAkLnBpcGUoXG4gICAgICAgICAgICAgIG1hcChtb3VzZVVwRXZlbnQgPT4gKCkgPT4ge1xuICAgICAgICAgICAgICAgIHRoaXMucmVuZGVyZXIyLnJlbW92ZVN0eWxlKHJlc2l6ZUhhbmRsZSwgJ3Zpc2liaWxpdHknKTtcbiAgICAgICAgICAgICAgICByZXNpemVNYXJrTGluZS5kZXN0cm95KCk7XG4gICAgICAgICAgICAgICAgcmVzaXplT3ZlcmxheS5kZXN0cm95KCk7XG5cbiAgICAgICAgICAgICAgICB0aGlzLnJlbmRlcldpZHRoU3R5bGVzKFxuICAgICAgICAgICAgICAgICAgdGhpcy5nZXRXaWR0aEluUmFuZ2UoXG4gICAgICAgICAgICAgICAgICAgIHJlc2l6ZVJhbmdlLFxuICAgICAgICAgICAgICAgICAgICBjb2x1bW5XaWR0aCArIG1vdXNlVXBFdmVudC5jbGllbnRYIC0gaW5pdGlhbE1vdXNlWCxcbiAgICAgICAgICAgICAgICAgICksXG4gICAgICAgICAgICAgICAgKTtcbiAgICAgICAgICAgICAgfSksXG4gICAgICAgICAgICApLFxuICAgICAgICAgICk7XG4gICAgICAgIH0pLFxuICAgICAgKVxuICAgICAgLnN1YnNjcmliZShleGVjID0+IHtcbiAgICAgICAgZXhlYygpO1xuICAgICAgfSk7XG4gIH1cblxuICBwcml2YXRlIGNyZWF0ZVJlc2l6ZUhhbmRsZSgpIHtcbiAgICBjb25zdCByZXNpemVIYW5kbGU6IEhUTUxEaXZFbGVtZW50ID0gdGhpcy5yZW5kZXJlcjIuY3JlYXRlRWxlbWVudCgnZGl2Jyk7XG4gICAgdGhpcy5yZW5kZXJlcjIuYWRkQ2xhc3MocmVzaXplSGFuZGxlLCByZXNpemFibGVCZW0uZWxlbWVudCgnaGFuZGxlJykpO1xuICAgIHRoaXMucmVuZGVyZXIyLmFwcGVuZENoaWxkKHRoaXMuY29sdW1uRWxlbWVudCwgcmVzaXplSGFuZGxlKTtcblxuICAgIHJldHVybiByZXNpemVIYW5kbGU7XG4gIH1cblxuICBwcml2YXRlIGNyZWF0ZVJlc2l6ZU1hcmtMaW5lKGluaXRpYWxPZmZzZXQ6IG51bWJlcikge1xuICAgIGNvbnN0IG1hcmtMaW5lOiBIVE1MRWxlbWVudCA9IHRoaXMucmVuZGVyZXIyLmNyZWF0ZUVsZW1lbnQoJ2RpdicpO1xuICAgIHRoaXMucmVuZGVyZXIyLmFkZENsYXNzKG1hcmtMaW5lLCByZXNpemFibGVCZW0uZWxlbWVudCgnbWFyay1saW5lJykpO1xuICAgIHRoaXMucmVuZGVyZXIyLnNldFN0eWxlKFxuICAgICAgbWFya0xpbmUsXG4gICAgICAnbGVmdCcsXG4gICAgICBpbml0aWFsT2Zmc2V0IC0gbWFya0xpbmVXaWR0aCArICdweCcsXG4gICAgKTtcbiAgICBpZiAodGhpcy5pc1N0aWNreUxlZnRCb3JkZXJDb2x1bW4oKSkge1xuICAgICAgdGhpcy5yZW5kZXJlcjIuYWRkQ2xhc3MobWFya0xpbmUsICdpblN0aWNreUJvcmRlckVsZW1MZWZ0Jyk7XG4gICAgfVxuICAgIHRoaXMucmVuZGVyZXIyLmFwcGVuZENoaWxkKHRoaXMuY29udGFpbmVyRWxlbWVudCwgbWFya0xpbmUpO1xuICAgIHJldHVybiB7XG4gICAgICBlbGVtZW50OiBtYXJrTGluZSxcbiAgICAgIHVwZGF0ZU9mZnNldDogKG9mZnNldDogbnVtYmVyKSA9PiB7XG4gICAgICAgIHRoaXMucmVuZGVyZXIyLnNldFN0eWxlKFxuICAgICAgICAgIG1hcmtMaW5lLFxuICAgICAgICAgICdsZWZ0JyxcbiAgICAgICAgICBvZmZzZXQgLSBtYXJrTGluZVdpZHRoICsgJ3B4JyxcbiAgICAgICAgKTtcbiAgICAgIH0sXG4gICAgICBkZXN0cm95OiAoKSA9PiB7XG4gICAgICAgIHRoaXMucmVuZGVyZXIyLnJlbW92ZUNoaWxkKHRoaXMuY29udGFpbmVyRWxlbWVudCwgbWFya0xpbmUpO1xuICAgICAgfSxcbiAgICB9O1xuICB9XG5cbiAgcHJpdmF0ZSBjcmVhdGVSZXNpemVPdmVybGF5KCkge1xuICAgIGNvbnN0IHJlc2l6ZU92ZXJsYXkgPSB0aGlzLnJlbmRlcmVyMi5jcmVhdGVFbGVtZW50KCdkaXYnKTtcbiAgICB0aGlzLnJlbmRlcmVyMi5hZGRDbGFzcyhyZXNpemVPdmVybGF5LCByZXNpemFibGVCZW0uZWxlbWVudCgnb3ZlcmxheScpKTtcbiAgICB0aGlzLnJlbmRlcmVyMi5hcHBlbmRDaGlsZCh0aGlzLmNvbnRhaW5lckVsZW1lbnQsIHJlc2l6ZU92ZXJsYXkpO1xuICAgIHJldHVybiB7XG4gICAgICBlbGVtZW50OiByZXNpemVPdmVybGF5LFxuICAgICAgZGVzdHJveTogKCkgPT4ge1xuICAgICAgICB0aGlzLnJlbmRlcmVyMi5yZW1vdmVDaGlsZCh0aGlzLmNvbnRhaW5lckVsZW1lbnQsIHJlc2l6ZU92ZXJsYXkpO1xuICAgICAgfSxcbiAgICB9O1xuICB9XG5cbiAgcHJpdmF0ZSBnZXRDb2x1bW5XaWR0aCgpIHtcbiAgICByZXR1cm4gdGhpcy5jb2x1bW5FbGVtZW50LmNsaWVudFdpZHRoO1xuICB9XG5cbiAgcHJpdmF0ZSBnZXRDb2x1bW5PZmZzZXQoKSB7XG4gICAgcmV0dXJuIChcbiAgICAgIHRoaXMuY29sdW1uRWxlbWVudC5nZXRCb3VuZGluZ0NsaWVudFJlY3QoKS5sZWZ0IC1cbiAgICAgIHRoaXMuY29udGFpbmVyRWxlbWVudC5nZXRCb3VuZGluZ0NsaWVudFJlY3QoKS5sZWZ0XG4gICAgKTtcbiAgfVxuXG4gIHByaXZhdGUgZ2V0V2lkdGhJblJhbmdlKFxuICAgIFttaW5XaWR0aCwgbWF4V2lkdGhdOiBbbnVtYmVyLCBudW1iZXJdLFxuICAgIHdpZHRoOiBudW1iZXIsXG4gICk6IG51bWJlciB7XG4gICAgcmV0dXJuIE1hdGgubWluKE1hdGgubWF4KHdpZHRoLCBtaW5XaWR0aCksIG1heFdpZHRoKTtcbiAgfVxuXG4gIHByaXZhdGUgZ2V0UmVzaXplUmFuZ2UoKTogW251bWJlciwgbnVtYmVyXSB7XG4gICAgY29uc3QgbWluV2lkdGggPSB0aGlzLmdldEFjdHVhbFdpZHRoKHRoaXMubWluV2lkdGgpO1xuICAgIGNvbnN0IG1heFdpZHRoID0gdGhpcy5nZXRBY3R1YWxXaWR0aCh0aGlzLm1heFdpZHRoKTtcbiAgICByZXR1cm4gW21pbldpZHRoLCBtYXhXaWR0aF07XG4gIH1cblxuICBwcml2YXRlIGdldEFjdHVhbFdpZHRoKHdpZHRoOiBudW1iZXIgfCBzdHJpbmcpOiBudW1iZXIge1xuICAgIGlmICh0eXBlb2Ygd2lkdGggPT09ICdudW1iZXInKSB7XG4gICAgICByZXR1cm4gd2lkdGg7XG4gICAgfSBlbHNlIGlmICh3aWR0aC5lbmRzV2l0aCgncHgnKSkge1xuICAgICAgcmV0dXJuIHBhcnNlSW50KHdpZHRoLnNsaWNlKDAsIC0yKSk7XG4gICAgfSBlbHNlIGlmICh3aWR0aC5lbmRzV2l0aCgnJScpKSB7XG4gICAgICByZXR1cm4gKFxuICAgICAgICAodGhpcy5jb250YWluZXJFbGVtZW50LmNsaWVudFdpZHRoICogcGFyc2VJbnQod2lkdGguc2xpY2UoMCwgLTEpKSkgLyAxMDBcbiAgICAgICk7XG4gICAgfVxuICB9XG5cbiAgcHJpdmF0ZSBpc1N0aWNreUxlZnRCb3JkZXJDb2x1bW4oKSB7XG4gICAgcmV0dXJuIHRoaXMuY29sdW1uRWxlbWVudC5jbGFzc0xpc3QuY29udGFpbnMoXG4gICAgICAnYXVpLXRhYmxlLXN0aWNreS1ib3JkZXItZWxlbS1sZWZ0JyxcbiAgICApO1xuICB9XG5cbiAgcHJpdmF0ZSByZW5kZXJXaWR0aFN0eWxlcyh3aWR0aDogbnVtYmVyKSB7XG4gICAgY29uc3QgY2xhc3NOYW1lID0gdGFibGVCZW0uZWxlbWVudChcbiAgICAgIGBjb2x1bW4tJHt0aGlzLnRhYmxlQ29sdW1uRGVmRGlyZWN0aXZlLmNzc0NsYXNzRnJpZW5kbHlOYW1lfWAsXG4gICAgKTtcbiAgICBpZiAoIXRoaXMuaG9zdEF0dHIpIHtcbiAgICAgIHRoaXMuaG9zdEF0dHIgPSBgdGFibGUtcmVzaXphYmxlLSR7dGFibGVDb2x1bW5SZXNpemFibGVJRCsrfWA7XG4gICAgICB0aGlzLmNvbnRhaW5lckVsZW1lbnQuc2V0QXR0cmlidXRlKHRoaXMuaG9zdEF0dHIsICcnKTtcbiAgICB9XG4gICAgY29uc3Qgc3R5bGVTdHJpbmcgPSBgXG4gICAgIFske3RoaXMuaG9zdEF0dHJ9XSAuJHtjbGFzc05hbWV9IHtcbiAgICAgIGZsZXg6IG5vbmUgIWltcG9ydGFudDtcbiAgICAgIHdpZHRoOiAke3dpZHRofXB4ICFpbXBvcnRhbnQ7XG4gICAgICBtaW4td2lkdGg6ICR7d2lkdGh9cHggIWltcG9ydGFudDtcbiAgICAgIG1heC13aWR0aDogJHt3aWR0aH1weCAhaW1wb3J0YW50O1xuICAgIH1cbiAgICBgO1xuICAgIGlmICh0aGlzLnN0eWxlRWxlbWVudCkge1xuICAgICAgdGhpcy5zdHlsZUVsZW1lbnQuaW5uZXJIVE1MID0gc3R5bGVTdHJpbmc7XG4gICAgfSBlbHNlIHtcbiAgICAgIHRoaXMuc3R5bGVFbGVtZW50ID0gdGhpcy5yZW5kZXJlcjIuY3JlYXRlRWxlbWVudCgnc3R5bGUnKTtcbiAgICAgIHRoaXMuc3R5bGVFbGVtZW50LmlubmVySFRNTCA9IHN0eWxlU3RyaW5nO1xuICAgICAgdGhpcy5yZW5kZXJlcjIuYXBwZW5kQ2hpbGQoXG4gICAgICAgIGRvY3VtZW50LnF1ZXJ5U2VsZWN0b3IoJ2hlYWQnKSxcbiAgICAgICAgdGhpcy5zdHlsZUVsZW1lbnQsXG4gICAgICApO1xuICAgIH1cblxuICAgIHRoaXMudGFibGVDb21wb25lbnQudXBkYXRlU3RpY2t5Q29sdW1uU3R5bGVzKCk7XG4gIH1cbn1cbiJdfQ==
|
|
159
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidGFibGUtY29sdW1uLXJlc2l6YWJsZS5kaXJlY3RpdmUuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi9zcmMvdGFibGUvdGFibGUtY29sdW1uLXJlc2l6YWJsZS5kaXJlY3RpdmUudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUVMLFNBQVMsRUFDVCxVQUFVLEVBQ1YsTUFBTSxFQUNOLEtBQUssRUFDTCxTQUFTLEdBQ1YsTUFBTSxlQUFlLENBQUM7QUFDdkIsT0FBTyxFQUNMLFNBQVMsRUFDVCxHQUFHLEVBQ0gsS0FBSyxFQUVMLFNBQVMsRUFDVCxJQUFJLEVBQ0osU0FBUyxHQUNWLE1BQU0sTUFBTSxDQUFDO0FBRWQsT0FBTyxFQUFFLFFBQVEsRUFBRSxNQUFNLFVBQVUsQ0FBQztBQUVwQyxPQUFPLEVBQUUsUUFBUSxFQUFFLHVCQUF1QixFQUFFLGNBQWMsRUFBRSxNQUFNLFNBQVMsQ0FBQzs7QUFFNUUsSUFBSSxzQkFBc0IsR0FBRyxDQUFDLENBQUM7QUFFL0IsTUFBTSxZQUFZLEdBQUcsUUFBUSxDQUFDLDRCQUE0QixDQUFDLENBQUM7QUFDNUQsTUFBTSxhQUFhLEdBQUcsQ0FBQyxDQUFDO0FBTXhCLE1BQU0sT0FBTyw2QkFBNkI7SUFFeEMsUUFBUSxHQUFHLE1BQU0sQ0FBQztJQUdsQixRQUFRLEdBQUcsS0FBSyxDQUFDO0lBRUEsU0FBUyxHQUFHLE1BQU0sQ0FBQyxTQUFTLENBQUMsQ0FBQztJQUM5Qix1QkFBdUIsR0FBRyxNQUFNLENBQUMsdUJBQXVCLENBQUMsQ0FBQztJQUMxRCxjQUFjLEdBQUcsTUFBTSxDQUFDLGNBQWMsQ0FBQyxDQUFDO0lBRXhDLGFBQWEsR0FDNUIsTUFBTSxDQUFDLFVBQVUsQ0FBQyxDQUFDLGFBQWEsQ0FBQztJQUNsQixnQkFBZ0IsR0FDL0IsSUFBSSxDQUFDLGNBQWMsQ0FBQyxVQUFVLENBQUMsYUFBYSxDQUFDO0lBRXZDLFlBQVksQ0FBbUI7SUFDL0IsUUFBUSxDQUFTO0lB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QUNELEtBQUs7bUJBQ0wsS0FBSzs7S0FFbkIsQ0FBQztRQUNGLElBQUksSUFBSSxDQUFDLFlBQVksRUFBRTtZQUNyQixJQUFJLENBQUMsWUFBWSxDQUFDLFNBQVMsR0FBRyxXQUFXLENBQUM7U0FDM0M7YUFBTTtZQUNMLElBQUksQ0FBQyxZQUFZLEdBQUcsSUFBSSxDQUFDLFNBQVMsQ0FBQyxhQUFhLENBQUMsT0FBTyxDQUFDLENBQUM7WUFDMUQsSUFBSSxDQUFDLFlBQVksQ0FBQyxTQUFTLEdBQUcsV0FBVyxDQUFDO1lBQzFDLElBQUksQ0FBQyxTQUFTLENBQUMsV0FBVyxDQUN4QixRQUFRLENBQUMsYUFBYSxDQUFDLE1BQU0sQ0FBQyxFQUM5QixJQUFJLENBQUMsWUFBWSxDQUNsQixDQUFDO1NBQ0g7UUFFRCxJQUFJLENBQUMsY0FBYyxDQUFDLHdCQUF3QixFQUFFLENBQUM7SUFDakQsQ0FBQzt1R0FqTlUsNkJBQTZCOzJGQUE3Qiw2QkFBNkI7OzJGQUE3Qiw2QkFBNkI7a0JBSnpDLFNBQVM7bUJBQUM7b0JBQ1QsUUFBUSxFQUFFLDJCQUEyQjtvQkFDckMsVUFBVSxFQUFFLElBQUk7aUJBQ2pCOzhCQUdDLFFBQVE7c0JBRFAsS0FBSztnQkFJTixRQUFRO3NCQURQLEtBQUsiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQge1xuICBBZnRlclZpZXdJbml0LFxuICBEaXJlY3RpdmUsXG4gIEVsZW1lbnRSZWYsXG4gIGluamVjdCxcbiAgSW5wdXQsXG4gIFJlbmRlcmVyMixcbn0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XG5pbXBvcnQge1xuICBmcm9tRXZlbnQsXG4gIG1hcCxcbiAgbWVyZ2UsXG4gIFN1YnNjcmlwdGlvbixcbiAgc3dpdGNoTWFwLFxuICB0YWtlLFxuICB0YWtlVW50aWwsXG59IGZyb20gJ3J4anMnO1xuXG5pbXBvcnQgeyBidWlsZEJlbSB9IGZyb20gJy4uL3V0aWxzJztcblxuaW1wb3J0IHsgdGFibGVCZW0sIFRhYmxlQ29sdW1uRGVmRGlyZWN0aXZlLCBUYWJsZUNvbXBvbmVudCB9IGZyb20gJy4vaW5kZXgnO1xuXG5sZXQgdGFibGVDb2x1bW5SZXNpemFibGVJRCA9IDA7XG5cbmNvbnN0IHJlc2l6YWJsZUJlbSA9IGJ1aWxkQmVtKCdhdWktdGFibGUtY29sdW1uLXJlc2l6YWJsZScpO1xuY29uc3QgbWFya0xpbmVXaWR0aCA9IDE7XG5cbkBEaXJlY3RpdmUoe1xuICBzZWxlY3RvcjogJ1thdWlUYWJsZUNvbHVtblJlc2l6YWJsZV0nLFxuICBzdGFuZGFsb25lOiB0cnVlLFxufSlcbmV4cG9ydCBjbGFzcyBUYWJsZUNvbHVtblJlc2l6YWJsZURpcmVjdGl2ZSBpbXBsZW1lbnRzIEFmdGVyVmlld0luaXQge1xuICBASW5wdXQoKVxuICBtaW5XaWR0aCA9ICc0MHB4JztcblxuICBASW5wdXQoKVxuICBtYXhXaWR0aCA9ICc4MCUnO1xuXG4gIHByaXZhdGUgcmVhZG9ubHkgcmVuZGVyZXIyID0gaW5qZWN0KFJlbmRlcmVyMik7XG4gIHByaXZhdGUgcmVhZG9ubHkgdGFibGVDb2x1bW5EZWZEaXJlY3RpdmUgPSBpbmplY3QoVGFibGVDb2x1bW5EZWZEaXJlY3RpdmUpO1xuICBwcml2YXRlIHJlYWRvbmx5IHRhYmxlQ29tcG9uZW50ID0gaW5qZWN0KFRhYmxlQ29tcG9uZW50KTtcblxuICBwcml2YXRlIHJlYWRvbmx5IGNvbHVtbkVsZW1lbnQ6IEhUTUxFbGVtZW50ID1cbiAgICBpbmplY3QoRWxlbWVudFJlZikubmF0aXZlRWxlbWVudDtcbiAgcHJpdmF0ZSByZWFkb25seSBjb250YWluZXJFbGVtZW50OiBIVE1MRWxlbWVudCA9XG4gICAgdGhpcy50YWJsZUNvbXBvbmVudC5lbGVtZW50UmVmLm5hdGl2ZUVsZW1lbnQ7XG5cbiAgcHJpdmF0ZSBzdHlsZUVsZW1lbnQ6IEhUTUxTdHlsZUVsZW1lbnQ7XG4gIHByaXZhdGUgaG9zdEF0dHI6IHN0cmluZztcbiAgcHJpdmF0ZSByZXNpemVTdWJzY3JpcHRpb246IFN1YnNjcmlwdGlvbjtcblxuICBuZ0FmdGVyVmlld0luaXQoKSB7XG4gICAgY29uc3QgcmVzaXplSGFuZGxlID0gdGhpcy5jcmVhdGVSZXNpemVIYW5kbGUoKTtcbiAgICB0aGlzLmJpbmRSZXNpemFibGUocmVzaXplSGFuZGxlKTtcbiAgfVxuXG4gIG5nT25EZXN0cm95KCkge1xuICAgIHRoaXMucmVzaXplU3Vic2NyaXB0aW9uPy51bnN1YnNjcmliZSgpO1xuICAgIHRoaXMuc3R5bGVFbGVtZW50Py5yZW1vdmUoKTtcbiAgICBpZiAodGhpcy5ob3N0QXR0cikge1xuICAgICAgdGhpcy5jb250YWluZXJFbGVtZW50LnJlbW92ZUF0dHJpYnV0ZSh0aGlzLmhvc3RBdHRyKTtcbiAgICB9XG4gIH1cblxuICBwcml2YXRlIGJpbmRSZXNpemFibGUocmVzaXplSGFuZGxlOiBIVE1MRWxlbWVudCkge1xuICAgIGZyb21FdmVudDxNb3VzZUV2ZW50PihyZXNpemVIYW5kbGUsICdtb3VzZWRvd24nKVxuICAgICAgLnBpcGUoXG4gICAgICAgIHN3aXRjaE1hcChtb3VzZURvd25FdmVudCA9PiB7XG4gICAgICAgICAgbW91c2VEb3duRXZlbnQucHJldmVudERlZmF1bHQoKTtcbiAgICAgICAgICBtb3VzZURvd25FdmVudC5zdG9wUHJvcGFnYXRpb24oKTtcblxuICAgICAgICAgIHRoaXMucmVuZGVyZXIyLnNldFN0eWxlKHJlc2l6ZUhhbmRsZSwgJ3Zpc2liaWxpdHknLCAnaGlkZGVuJyk7XG4gICAgICAgICAgY29uc3QgcmVzaXplUmFuZ2UgPSB0aGlzLmdldFJlc2l6ZVJhbmdlKCk7XG4gICAgICAgICAgY29uc3QgaW5pdGlhbE1vdXNlWCA9IG1vdXNlRG93bkV2ZW50LmNsaWVudFg7XG4gICAgICAgICAgY29uc3QgY29sdW1uV2lkdGggPSB0aGlzLmdldENvbHVtbldpZHRoKCk7XG4gICAgICAgICAgY29uc3QgY29sdW1uT2Zmc2V0ID0gdGhpcy5nZXRDb2x1bW5PZmZzZXQoKTtcbiAgICAgICAgICBjb25zdCByZXNpemVNYXJrTGluZSA9IHRoaXMuY3JlYXRlUmVzaXplTWFya0xpbmUoXG4gICAgICAgICAgICBjb2x1bW5PZmZzZXQgKyBjb2x1bW5XaWR0aCxcbiAgICAgICAgICApO1xuICAgICAgICAgIGNvbnN0IHJlc2l6ZU92ZXJsYXkgPSB0aGlzLmNyZWF0ZVJlc2l6ZU92ZXJsYXkoKTtcblxuICAgICAgICAgIGNvbnN0IG1vdXNlVXAkID0gZnJvbUV2ZW50PE1vdXNlRXZlbnQ+KGRvY3VtZW50LCAnbW91c2V1cCcpLnBpcGUoXG4gICAgICAgICAgICB0YWtlKDEpLFxuICAgICAgICAgICk7XG4gICAgICAgICAgY29uc3QgbW91c2VNb3ZlJCA9IGZyb21FdmVudDxNb3VzZUV2ZW50Pihkb2N1bWVudCwgJ21vdXNlbW92ZScpLnBpcGUoXG4gICAgICAgICAgICB0YWtlVW50aWwobW91c2VVcCQpLFxuICAgICAgICAgICk7XG5cbiAgICAgICAgICByZXR1cm4gbWVyZ2UoXG4gICAgICAgICAgICBtb3VzZU1vdmUkLnBpcGUoXG4gICAgICAgICAgICAgIG1hcChcbiAgICAgICAgICAgICAgICBtb3VzZU1vdmVFdmVudCA9PiAoKSA9PlxuICAgICAgICAgICAgICAgICAgcmVzaXplTWFya0xpbmUudXBkYXRlT2Zmc2V0KFxuICAgICAgICAgICAgICAgICAgICBjb2x1bW5PZmZzZXQgK1xuICAgICAgICAgICAgICAgICAgICAgIHRoaXMuZ2V0V2lkdGhJblJhbmdlKFxuICAgICAgICAgICAgICAgICAgICAgICAgcmVzaXplUmFuZ2UsXG4gICAgICAgICAgICAgICAgICAgICAgICBjb2x1bW5XaWR0aCArIG1vdXNlTW92ZUV2ZW50LmNsaWVudFggLSBpbml0aWFsTW91c2VYLFxuICAgICAgICAgICAgICAgICAgICAgICksXG4gICAgICAgICAgICAgICAgICApLFxuICAgICAgICAgICAgICApLFxuICAgICAgICAgICAgKSxcbiAgICAgICAgICAgIG1vdXNlVXAkLnBpcGUoXG4gICAgICAgICAgICAgIG1hcChtb3VzZVVwRXZlbnQgPT4gKCkgPT4ge1xuICAgICAgICAgICAgICAgIHRoaXMucmVuZGVyZXIyLnJlbW92ZVN0eWxlKHJlc2l6ZUhhbmRsZSwgJ3Zpc2liaWxpdHknKTtcbiAgICAgICAgICAgICAgICByZXNpemVNYXJrTGluZS5kZXN0cm95KCk7XG4gICAgICAgICAgICAgICAgcmVzaXplT3ZlcmxheS5kZXN0cm95KCk7XG5cbiAgICAgICAgICAgICAgICB0aGlzLnJlbmRlcldpZHRoU3R5bGVzKFxuICAgICAgICAgICAgICAgICAgdGhpcy5nZXRXaWR0aEluUmFuZ2UoXG4gICAgICAgICAgICAgICAgICAgIHJlc2l6ZVJhbmdlLFxuICAgICAgICAgICAgICAgICAgICBjb2x1bW5XaWR0aCArIG1vdXNlVXBFdmVudC5jbGllbnRYIC0gaW5pdGlhbE1vdXNlWCxcbiAgICAgICAgICAgICAgICAgICksXG4gICAgICAgICAgICAgICAgKTtcbiAgICAgICAgICAgICAgfSksXG4gICAgICAgICAgICApLFxuICAgICAgICAgICk7XG4gICAgICAgIH0pLFxuICAgICAgKVxuICAgICAgLnN1YnNjcmliZShleGVjID0+IHtcbiAgICAgICAgZXhlYygpO1xuICAgICAgfSk7XG4gIH1cblxuICBwcml2YXRlIGNyZWF0ZVJlc2l6ZUhhbmRsZSgpIHtcbiAgICBjb25zdCByZXNpemVIYW5kbGU6IEhUTUxEaXZFbGVtZW50ID0gdGhpcy5yZW5kZXJlcjIuY3JlYXRlRWxlbWVudCgnZGl2Jyk7XG4gICAgdGhpcy5yZW5kZXJlcjIuYWRkQ2xhc3MocmVzaXplSGFuZGxlLCByZXNpemFibGVCZW0uZWxlbWVudCgnaGFuZGxlJykpO1xuICAgIHRoaXMucmVuZGVyZXIyLmFwcGVuZENoaWxkKHRoaXMuY29sdW1uRWxlbWVudCwgcmVzaXplSGFuZGxlKTtcblxuICAgIHJldHVybiByZXNpemVIYW5kbGU7XG4gIH1cblxuICBwcml2YXRlIGNyZWF0ZVJlc2l6ZU1hcmtMaW5lKGluaXRpYWxPZmZzZXQ6IG51bWJlcikge1xuICAgIGNvbnN0IG1hcmtMaW5lOiBIVE1MRWxlbWVudCA9IHRoaXMucmVuZGVyZXIyLmNyZWF0ZUVsZW1lbnQoJ2RpdicpO1xuICAgIHRoaXMucmVuZGVyZXIyLmFkZENsYXNzKG1hcmtMaW5lLCByZXNpemFibGVCZW0uZWxlbWVudCgnbWFyay1saW5lJykpO1xuICAgIHRoaXMucmVuZGVyZXIyLnNldFN0eWxlKFxuICAgICAgbWFya0xpbmUsXG4gICAgICAnbGVmdCcsXG4gICAgICBpbml0aWFsT2Zmc2V0IC0gbWFya0xpbmVXaWR0aCArICdweCcsXG4gICAgKTtcbiAgICBpZiAodGhpcy5pc1N0aWNreUxlZnRCb3JkZXJDb2x1bW4oKSkge1xuICAgICAgdGhpcy5yZW5kZXJlcjIuYWRkQ2xhc3MobWFya0xpbmUsICdpblN0aWNreUJvcmRlckVsZW1MZWZ0Jyk7XG4gICAgfVxuICAgIHRoaXMucmVuZGVyZXIyLmFwcGVuZENoaWxkKHRoaXMuY29udGFpbmVyRWxlbWVudCwgbWFya0xpbmUpO1xuICAgIHJldHVybiB7XG4gICAgICBlbGVtZW50OiBtYXJrTGluZSxcbiAgICAgIHVwZGF0ZU9mZnNldDogKG9mZnNldDogbnVtYmVyKSA9PiB7XG4gICAgICAgIHRoaXMucmVuZGVyZXIyLnNldFN0eWxlKFxuICAgICAgICAgIG1hcmtMaW5lLFxuICAgICAgICAgICdsZWZ0JyxcbiAgICAgICAgICBvZmZzZXQgLSBtYXJrTGluZVdpZHRoICsgJ3B4JyxcbiAgICAgICAgKTtcbiAgICAgIH0sXG4gICAgICBkZXN0cm95OiAoKSA9PiB7XG4gICAgICAgIHRoaXMucmVuZGVyZXIyLnJlbW92ZUNoaWxkKHRoaXMuY29udGFpbmVyRWxlbWVudCwgbWFya0xpbmUpO1xuICAgICAgfSxcbiAgICB9O1xuICB9XG5cbiAgcHJpdmF0ZSBjcmVhdGVSZXNpemVPdmVybGF5KCkge1xuICAgIGNvbnN0IHJlc2l6ZU92ZXJsYXkgPSB0aGlzLnJlbmRlcmVyMi5jcmVhdGVFbGVtZW50KCdkaXYnKTtcbiAgICB0aGlzLnJlbmRlcmVyMi5hZGRDbGFzcyhyZXNpemVPdmVybGF5LCByZXNpemFibGVCZW0uZWxlbWVudCgnb3ZlcmxheScpKTtcbiAgICB0aGlzLnJlbmRlcmVyMi5hcHBlbmRDaGlsZCh0aGlzLmNvbnRhaW5lckVsZW1lbnQsIHJlc2l6ZU92ZXJsYXkpO1xuICAgIHJldHVybiB7XG4gICAgICBlbGVtZW50OiByZXNpemVPdmVybGF5LFxuICAgICAgZGVzdHJveTogKCkgPT4ge1xuICAgICAgICB0aGlzLnJlbmRlcmVyMi5yZW1vdmVDaGlsZCh0aGlzLmNvbnRhaW5lckVsZW1lbnQsIHJlc2l6ZU92ZXJsYXkpO1xuICAgICAgfSxcbiAgICB9O1xuICB9XG5cbiAgcHJpdmF0ZSBnZXRDb2x1bW5XaWR0aCgpIHtcbiAgICByZXR1cm4gdGhpcy5jb2x1bW5FbGVtZW50LmNsaWVudFdpZHRoO1xuICB9XG5cbiAgcHJpdmF0ZSBnZXRDb2x1bW5PZmZzZXQoKSB7XG4gICAgcmV0dXJuIChcbiAgICAgIHRoaXMuY29sdW1uRWxlbWVudC5nZXRCb3VuZGluZ0NsaWVudFJlY3QoKS5sZWZ0IC1cbiAgICAgIHRoaXMuY29udGFpbmVyRWxlbWVudC5nZXRCb3VuZGluZ0NsaWVudFJlY3QoKS5sZWZ0XG4gICAgKTtcbiAgfVxuXG4gIHByaXZhdGUgZ2V0V2lkdGhJblJhbmdlKFxuICAgIFttaW5XaWR0aCwgbWF4V2lkdGhdOiBbbnVtYmVyLCBudW1iZXJdLFxuICAgIHdpZHRoOiBudW1iZXIsXG4gICk6IG51bWJlciB7XG4gICAgcmV0dXJuIE1hdGgubWluKE1hdGgubWF4KHdpZHRoLCBtaW5XaWR0aCksIG1heFdpZHRoKTtcbiAgfVxuXG4gIHByaXZhdGUgZ2V0UmVzaXplUmFuZ2UoKTogW251bWJlciwgbnVtYmVyXSB7XG4gICAgY29uc3QgbWluV2lkdGggPSB0aGlzLmdldEFjdHVhbFdpZHRoKHRoaXMubWluV2lkdGgpO1xuICAgIGNvbnN0IG1heFdpZHRoID0gdGhpcy5nZXRBY3R1YWxXaWR0aCh0aGlzLm1heFdpZHRoKTtcbiAgICByZXR1cm4gW21pbldpZHRoLCBtYXhXaWR0aF07XG4gIH1cblxuICBwcml2YXRlIGdldEFjdHVhbFdpZHRoKHdpZHRoOiBudW1iZXIgfCBzdHJpbmcpOiBudW1iZXIge1xuICAgIGlmICh0eXBlb2Ygd2lkdGggPT09ICdudW1iZXInKSB7XG4gICAgICByZXR1cm4gd2lkdGg7XG4gICAgfSBlbHNlIGlmICh3aWR0aC5lbmRzV2l0aCgncHgnKSkge1xuICAgICAgcmV0dXJuIHBhcnNlSW50KHdpZHRoLnNsaWNlKDAsIC0yKSk7XG4gICAgfSBlbHNlIGlmICh3aWR0aC5lbmRzV2l0aCgnJScpKSB7XG4gICAgICByZXR1cm4gKFxuICAgICAgICAodGhpcy5jb250YWluZXJFbGVtZW50LmNsaWVudFdpZHRoICogcGFyc2VJbnQod2lkdGguc2xpY2UoMCwgLTEpKSkgLyAxMDBcbiAgICAgICk7XG4gICAgfVxuICB9XG5cbiAgcHJpdmF0ZSBpc1N0aWNreUxlZnRCb3JkZXJDb2x1bW4oKSB7XG4gICAgcmV0dXJuIHRoaXMuY29sdW1uRWxlbWVudC5jbGFzc0xpc3QuY29udGFpbnMoXG4gICAgICAnYXVpLXRhYmxlLXN0aWNreS1ib3JkZXItZWxlbS1sZWZ0JyxcbiAgICApO1xuICB9XG5cbiAgcHJpdmF0ZSByZW5kZXJXaWR0aFN0eWxlcyh3aWR0aDogbnVtYmVyKSB7XG4gICAgY29uc3QgY2xhc3NOYW1lID0gdGFibGVCZW0uZWxlbWVudChcbiAgICAgIGBjb2x1bW4tJHt0aGlzLnRhYmxlQ29sdW1uRGVmRGlyZWN0aXZlLmNzc0NsYXNzRnJpZW5kbHlOYW1lfWAsXG4gICAgKTtcbiAgICBpZiAoIXRoaXMuaG9zdEF0dHIpIHtcbiAgICAgIHRoaXMuaG9zdEF0dHIgPSBgdGFibGUtcmVzaXphYmxlLSR7dGFibGVDb2x1bW5SZXNpemFibGVJRCsrfWA7XG4gICAgICB0aGlzLmNvbnRhaW5lckVsZW1lbnQuc2V0QXR0cmlidXRlKHRoaXMuaG9zdEF0dHIsICcnKTtcbiAgICB9XG4gICAgY29uc3Qgc3R5bGVTdHJpbmcgPSBgXG4gICAgIFske3RoaXMuaG9zdEF0dHJ9XSAuJHtjbGFzc05hbWV9IHtcbiAgICAgIGZsZXg6IG5vbmUgIWltcG9ydGFudDtcbiAgICAgIHdpZHRoOiAke3dpZHRofXB4ICFpbXBvcnRhbnQ7XG4gICAgICBtaW4td2lkdGg6ICR7d2lkdGh9cHggIWltcG9ydGFudDtcbiAgICAgIG1heC13aWR0aDogJHt3aWR0aH1weCAhaW1wb3J0YW50O1xuICAgIH1cbiAgICBgO1xuICAgIGlmICh0aGlzLnN0eWxlRWxlbWVudCkge1xuICAgICAgdGhpcy5zdHlsZUVsZW1lbnQuaW5uZXJIVE1MID0gc3R5bGVTdHJpbmc7XG4gICAgfSBlbHNlIHtcbiAgICAgIHRoaXMuc3R5bGVFbGVtZW50ID0gdGhpcy5yZW5kZXJlcjIuY3JlYXRlRWxlbWVudCgnc3R5bGUnKTtcbiAgICAgIHRoaXMuc3R5bGVFbGVtZW50LmlubmVySFRNTCA9IHN0eWxlU3RyaW5nO1xuICAgICAgdGhpcy5yZW5kZXJlcjIuYXBwZW5kQ2hpbGQoXG4gICAgICAgIGRvY3VtZW50LnF1ZXJ5U2VsZWN0b3IoJ2hlYWQnKSxcbiAgICAgICAgdGhpcy5zdHlsZUVsZW1lbnQsXG4gICAgICApO1xuICAgIH1cblxuICAgIHRoaXMudGFibGVDb21wb25lbnQudXBkYXRlU3RpY2t5Q29sdW1uU3R5bGVzKCk7XG4gIH1cbn1cbiJdfQ==
|