@datorama/core 22.13.0-beta.9 → 22.13.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/bundle.scss +55 -13
- package/bundles/datorama-core.umd.js +63 -66
- package/bundles/datorama-core.umd.js.map +1 -1
- package/bundles/datorama-core.umd.min.js +7 -7
- package/bundles/datorama-core.umd.min.js.map +1 -1
- package/datorama-core.metadata.json +1 -1
- package/esm2015/lib/directives/clipboard.directive.js +7 -16
- package/esm2015/lib/grid/dato-grid-api.js +1 -1
- package/esm2015/lib/grid/dato-grid.js +1 -1
- package/esm2015/lib/grid/grid/grid.component.js +4 -3
- package/esm2015/lib/grid/grid-header/grid-header.component.js +1 -1
- package/esm2015/lib/grid/grid-helper.js +1 -1
- package/esm2015/lib/grid/grid-pagination/grid-pagination.component.js +2 -2
- package/esm2015/lib/grid/grid-toolbar/grid-toolbar.component.js +2 -2
- package/esm2015/lib/grid/grid.module.js +2 -2
- package/esm2015/lib/grid-v2/grid/grid-v2.component.js +2 -2
- package/esm2015/lib/grid-v2/grid/grid-v2.types.js +1 -1
- package/esm2015/lib/grid-v2/grid-column-cell-components/grid-avatar-cell/grid-avatar-cell.component.js +3 -3
- package/esm2015/lib/grid-v2/grid-column-cell-components/grid-initials-cell/grid-initials-cell.component.js +2 -2
- package/esm2015/lib/grid-v2/grid-column-cell-components/grid-items-cell/grid-items-cell.component.js +1 -1
- package/esm2015/lib/grid-v2/grid-column-cell-components/grid-items-count-cell/grid-items-count-cell.component.js +1 -1
- package/esm2015/lib/grid-v2/grid-column-cell-components/grid-status-cell/grid-status-cell.component.js +1 -1
- package/esm2015/lib/grid-v2/grid-column-header/grid-column-header.component.js +1 -1
- package/esm2015/lib/grid-v2/grid-column-header/grid-column-header.types.js +1 -1
- package/esm2015/lib/grid-v2/grid-column-header/grid-multi-select-header/grid-multi-select-header.component.js +1 -1
- package/esm2015/lib/grid-v2/grid-column-header-more-menu/grid-column-header-more-menu.component.js +1 -1
- package/esm2015/lib/grid-v2/grid-columns-display-menu/grid-columns-display-menu.component.js +1 -1
- package/esm2015/lib/grid-v2/grid-controller/grid-controller.component.js +4 -4
- package/esm2015/lib/grid-v2/grid-controller/grid-controller.types.js +1 -1
- package/esm2015/lib/grid-v2/grid-custom-header/custom-header-template.directive.js +1 -1
- package/esm2015/lib/grid-v2/grid-filter/filter-validator.js +1 -1
- package/esm2015/lib/grid-v2/grid-filter/grid-filter.component.js +1 -1
- package/esm2015/lib/grid-v2/grid-groups-menu/grid-groups-menu.component.js +1 -1
- package/esm2015/lib/grid-v2/grid-loader/grid-v2-loader.component.js +1 -1
- package/esm2015/lib/grid-v2/grid-no-data-overlay/grid-v2-no-data-overlay.component.js +1 -1
- package/esm2015/lib/grid-v2/grid-on-hover/grid-on-hover.component.js +1 -1
- package/esm2015/lib/grid-v2/grid-pagination/grid-pagination.component.js +1 -1
- package/esm2015/lib/grid-v2/grid-store/grid.query.js +2 -2
- package/esm2015/lib/grid-v2/grid-store/grid.service.js +32 -29
- package/esm2015/lib/grid-v2/grid-store/util.js +1 -1
- package/esm2015/lib/grid-v2/grid-toolbar/grid-toolbar.component.js +1 -1
- package/esm2015/lib/grid-v2/grid-toolbar/grid-toolbar.types.js +1 -1
- package/esm2015/lib/grid-v2/grid-v2.module.js +2 -2
- package/esm2015/lib/grid-v2/grid-v2.util.js +1 -1
- package/esm2015/lib/icon/icon.types.js +1 -1
- package/esm2015/lib/version.js +1 -1
- package/esm5/lib/directives/clipboard.directive.js +7 -16
- package/esm5/lib/grid/dato-grid-api.js +1 -1
- package/esm5/lib/grid/dato-grid.js +1 -1
- package/esm5/lib/grid/grid/grid.component.js +4 -3
- package/esm5/lib/grid/grid-header/grid-header.component.js +1 -1
- package/esm5/lib/grid/grid-helper.js +1 -1
- package/esm5/lib/grid/grid-pagination/grid-pagination.component.js +2 -2
- package/esm5/lib/grid/grid-toolbar/grid-toolbar.component.js +2 -2
- package/esm5/lib/grid/grid.module.js +2 -2
- package/esm5/lib/grid-v2/grid/grid-v2.component.js +2 -2
- package/esm5/lib/grid-v2/grid/grid-v2.types.js +1 -1
- package/esm5/lib/grid-v2/grid-column-cell-components/grid-avatar-cell/grid-avatar-cell.component.js +3 -3
- package/esm5/lib/grid-v2/grid-column-cell-components/grid-initials-cell/grid-initials-cell.component.js +2 -2
- package/esm5/lib/grid-v2/grid-column-cell-components/grid-items-cell/grid-items-cell.component.js +1 -1
- package/esm5/lib/grid-v2/grid-column-cell-components/grid-items-count-cell/grid-items-count-cell.component.js +1 -1
- package/esm5/lib/grid-v2/grid-column-cell-components/grid-status-cell/grid-status-cell.component.js +1 -1
- package/esm5/lib/grid-v2/grid-column-header/grid-column-header.component.js +1 -1
- package/esm5/lib/grid-v2/grid-column-header/grid-column-header.types.js +1 -1
- package/esm5/lib/grid-v2/grid-column-header/grid-multi-select-header/grid-multi-select-header.component.js +1 -1
- package/esm5/lib/grid-v2/grid-column-header-more-menu/grid-column-header-more-menu.component.js +1 -1
- package/esm5/lib/grid-v2/grid-columns-display-menu/grid-columns-display-menu.component.js +1 -1
- package/esm5/lib/grid-v2/grid-controller/grid-controller.component.js +4 -4
- package/esm5/lib/grid-v2/grid-controller/grid-controller.types.js +1 -1
- package/esm5/lib/grid-v2/grid-custom-header/custom-header-template.directive.js +1 -1
- package/esm5/lib/grid-v2/grid-filter/filter-validator.js +1 -1
- package/esm5/lib/grid-v2/grid-filter/grid-filter.component.js +1 -1
- package/esm5/lib/grid-v2/grid-groups-menu/grid-groups-menu.component.js +1 -1
- package/esm5/lib/grid-v2/grid-loader/grid-v2-loader.component.js +1 -1
- package/esm5/lib/grid-v2/grid-no-data-overlay/grid-v2-no-data-overlay.component.js +1 -1
- package/esm5/lib/grid-v2/grid-on-hover/grid-on-hover.component.js +1 -1
- package/esm5/lib/grid-v2/grid-pagination/grid-pagination.component.js +1 -1
- package/esm5/lib/grid-v2/grid-store/grid.query.js +2 -2
- package/esm5/lib/grid-v2/grid-store/grid.service.js +32 -29
- package/esm5/lib/grid-v2/grid-store/util.js +1 -1
- package/esm5/lib/grid-v2/grid-toolbar/grid-toolbar.component.js +1 -1
- package/esm5/lib/grid-v2/grid-toolbar/grid-toolbar.types.js +1 -1
- package/esm5/lib/grid-v2/grid-v2.module.js +2 -2
- package/esm5/lib/grid-v2/grid-v2.util.js +1 -1
- package/esm5/lib/icon/icon.types.js +1 -1
- package/esm5/lib/version.js +1 -1
- package/fesm2015/datorama-core.js +46 -50
- package/fesm2015/datorama-core.js.map +1 -1
- package/fesm5/datorama-core.js +46 -50
- package/fesm5/datorama-core.js.map +1 -1
- package/lib/directives/clipboard.directive.d.ts +2 -1
- package/lib/grid/dato-grid-api.d.ts +1 -1
- package/lib/grid/dato-grid.d.ts +1 -1
- package/lib/grid/grid/grid.component.d.ts +2 -3
- package/lib/grid/grid-helper.d.ts +1 -1
- package/lib/grid/grid-pagination/grid-pagination.component.d.ts +1 -1
- package/lib/grid-v2/grid/grid-v2.component.d.ts +1 -1
- package/lib/grid-v2/grid/grid-v2.types.d.ts +1 -2
- package/lib/grid-v2/grid-column-cell-components/grid-avatar-cell/grid-avatar-cell.component.d.ts +2 -2
- package/lib/grid-v2/grid-column-cell-components/grid-initials-cell/grid-initials-cell.component.d.ts +2 -2
- package/lib/grid-v2/grid-column-cell-components/grid-items-cell/grid-items-cell.component.d.ts +2 -2
- package/lib/grid-v2/grid-column-cell-components/grid-items-count-cell/grid-items-count-cell.component.d.ts +2 -2
- package/lib/grid-v2/grid-column-cell-components/grid-status-cell/grid-status-cell.component.d.ts +2 -2
- package/lib/grid-v2/grid-column-header/grid-column-header.component.d.ts +2 -2
- package/lib/grid-v2/grid-column-header/grid-column-header.types.d.ts +1 -1
- package/lib/grid-v2/grid-column-header/grid-multi-select-header/grid-multi-select-header.component.d.ts +2 -2
- package/lib/grid-v2/grid-column-header-more-menu/grid-column-header-more-menu.component.d.ts +1 -1
- package/lib/grid-v2/grid-columns-display-menu/grid-columns-display-menu.component.d.ts +1 -1
- package/lib/grid-v2/grid-controller/grid-controller.component.d.ts +3 -3
- package/lib/grid-v2/grid-controller/grid-controller.types.d.ts +1 -1
- package/lib/grid-v2/grid-custom-header/custom-header-template.directive.d.ts +1 -1
- package/lib/grid-v2/grid-filter/filter-validator.d.ts +1 -1
- package/lib/grid-v2/grid-groups-menu/grid-groups-menu.component.d.ts +1 -1
- package/lib/grid-v2/grid-loader/grid-v2-loader.component.d.ts +2 -2
- package/lib/grid-v2/grid-no-data-overlay/grid-v2-no-data-overlay.component.d.ts +2 -2
- package/lib/grid-v2/grid-on-hover/grid-on-hover.component.d.ts +1 -1
- package/lib/grid-v2/grid-store/grid.query.d.ts +2 -2
- package/lib/grid-v2/grid-store/grid.service.d.ts +373 -2
- package/lib/grid-v2/grid-store/util.d.ts +1 -1
- package/lib/grid-v2/grid-toolbar/grid-toolbar.types.d.ts +1 -1
- package/lib/grid-v2/grid-v2.util.d.ts +1 -1
- package/lib/icon/icon.types.d.ts +1 -1
- package/package.json +1 -1
|
@@ -1,19 +1,10 @@
|
|
|
1
1
|
import { __decorate, __metadata } from "tslib";
|
|
2
2
|
import { Directive, EventEmitter, HostListener, Input, Output } from '@angular/core';
|
|
3
|
-
|
|
4
|
-
|
|
5
|
-
|
|
6
|
-
|
|
7
|
-
|
|
8
|
-
el.setAttribute('readonly', '');
|
|
9
|
-
setStyles(el, { position: 'absolute', left: '-9999px' });
|
|
10
|
-
const remove = appendToBody(el);
|
|
11
|
-
// Select text inside element
|
|
12
|
-
el.select();
|
|
13
|
-
// Copy text to clipboard
|
|
14
|
-
document.execCommand('copy');
|
|
15
|
-
// Remove temporary element
|
|
16
|
-
remove();
|
|
3
|
+
export function writeToClipboard(value) {
|
|
4
|
+
navigator.clipboard.writeText(value);
|
|
5
|
+
}
|
|
6
|
+
export function readFromClipboard() {
|
|
7
|
+
return navigator.clipboard.readText();
|
|
17
8
|
}
|
|
18
9
|
let DatoClipboardDirective = class DatoClipboardDirective {
|
|
19
10
|
constructor() {
|
|
@@ -23,7 +14,7 @@ let DatoClipboardDirective = class DatoClipboardDirective {
|
|
|
23
14
|
this.value = value;
|
|
24
15
|
}
|
|
25
16
|
onClick() {
|
|
26
|
-
|
|
17
|
+
writeToClipboard(this.value);
|
|
27
18
|
this.copied.emit(this.value);
|
|
28
19
|
}
|
|
29
20
|
};
|
|
@@ -48,4 +39,4 @@ DatoClipboardDirective = __decorate([
|
|
|
48
39
|
})
|
|
49
40
|
], DatoClipboardDirective);
|
|
50
41
|
export { DatoClipboardDirective };
|
|
51
|
-
//# sourceMappingURL=data:application/json;base64,
|
|
42
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiY2xpcGJvYXJkLmRpcmVjdGl2ZS5qcyIsInNvdXJjZVJvb3QiOiJuZzovL0BkYXRvcmFtYS9jb3JlLyIsInNvdXJjZXMiOlsibGliL2RpcmVjdGl2ZXMvY2xpcGJvYXJkLmRpcmVjdGl2ZS50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiO0FBQUEsT0FBTyxFQUFFLFNBQVMsRUFBRSxZQUFZLEVBQUUsWUFBWSxFQUFFLEtBQUssRUFBRSxNQUFNLEVBQUUsTUFBTSxlQUFlLENBQUM7QUFHckYsTUFBTSxVQUFVLGdCQUFnQixDQUFDLEtBQWE7SUFDNUMsU0FBUyxDQUFDLFNBQVMsQ0FBQyxTQUFTLENBQUMsS0FBSyxDQUFDLENBQUM7QUFDdkMsQ0FBQztBQUVELE1BQU0sVUFBVSxpQkFBaUI7SUFDL0IsT0FBTyxTQUFTLENBQUMsU0FBUyxDQUFDLFFBQVEsRUFBRSxDQUFDO0FBQ3hDLENBQUM7QUFLRCxJQUFhLHNCQUFzQixHQUFuQyxNQUFhLHNCQUFzQjtJQUFuQztRQUVZLFdBQU0sR0FBRyxJQUFJLFlBQVksRUFBRSxDQUFDO0lBWXhDLENBQUM7SUFUQyxJQUFJLGFBQWEsQ0FBQyxLQUFhO1FBQzdCLElBQUksQ0FBQyxLQUFLLEdBQUcsS0FBSyxDQUFDO0lBQ3JCLENBQUM7SUFHRCxPQUFPO1FBQ0wsZ0JBQWdCLENBQUMsSUFBSSxDQUFDLEtBQUssQ0FBQyxDQUFDO1FBQzdCLElBQUksQ0FBQyxNQUFNLENBQUMsSUFBSSxDQUFDLElBQUksQ0FBQyxLQUFLLENBQUMsQ0FBQztJQUMvQixDQUFDO0NBQ0YsQ0FBQTtBQVpXO0lBQVQsTUFBTSxFQUFFOztzREFBNkI7QUFHdEM7SUFEQyxLQUFLLEVBQUU7OzsyREFHUDtBQUdEO0lBREMsWUFBWSxDQUFDLE9BQU8sQ0FBQzs7OztxREFJckI7QUFiVSxzQkFBc0I7SUFIbEMsU0FBUyxDQUFDO1FBQ1QsUUFBUSxFQUFFLGlCQUFpQjtLQUM1QixDQUFDO0dBQ1csc0JBQXNCLENBY2xDO1NBZFksc0JBQXNCIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgRGlyZWN0aXZlLCBFdmVudEVtaXR0ZXIsIEhvc3RMaXN0ZW5lciwgSW5wdXQsIE91dHB1dCB9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xuaW1wb3J0IHsgYXBwZW5kVG9Cb2R5LCBjcmVhdGVFbGVtZW50LCBzZXRTdHlsZXMgfSBmcm9tICcuLi9pbnRlcm5hbC9oZWxwZXJzJztcblxuZXhwb3J0IGZ1bmN0aW9uIHdyaXRlVG9DbGlwYm9hcmQodmFsdWU6IHN0cmluZykge1xuICBuYXZpZ2F0b3IuY2xpcGJvYXJkLndyaXRlVGV4dCh2YWx1ZSk7XG59XG5cbmV4cG9ydCBmdW5jdGlvbiByZWFkRnJvbUNsaXBib2FyZCgpOiBQcm9taXNlPHN0cmluZz4ge1xuICByZXR1cm4gbmF2aWdhdG9yLmNsaXBib2FyZC5yZWFkVGV4dCgpO1xufVxuXG5ARGlyZWN0aXZlKHtcbiAgc2VsZWN0b3I6ICdbZGF0b0NsaXBib2FyZF0nXG59KVxuZXhwb3J0IGNsYXNzIERhdG9DbGlwYm9hcmREaXJlY3RpdmUge1xuICBwcml2YXRlIHZhbHVlOiBzdHJpbmc7XG4gIEBPdXRwdXQoKSBjb3BpZWQgPSBuZXcgRXZlbnRFbWl0dGVyKCk7XG5cbiAgQElucHV0KClcbiAgc2V0IGRhdG9DbGlwYm9hcmQodmFsdWU6IHN0cmluZykge1xuICAgIHRoaXMudmFsdWUgPSB2YWx1ZTtcbiAgfVxuXG4gIEBIb3N0TGlzdGVuZXIoJ2NsaWNrJylcbiAgb25DbGljaygpIHtcbiAgICB3cml0ZVRvQ2xpcGJvYXJkKHRoaXMudmFsdWUpO1xuICAgIHRoaXMuY29waWVkLmVtaXQodGhpcy52YWx1ZSk7XG4gIH1cbn1cbiJdfQ==
|
|
@@ -129,4 +129,4 @@ export class DatoGridAPI {
|
|
|
129
129
|
this._gridRef.updateColumns(columns);
|
|
130
130
|
}
|
|
131
131
|
}
|
|
132
|
-
//# sourceMappingURL=data:application/json;base64,
|
|
132
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZGF0by1ncmlkLWFwaS5qcyIsInNvdXJjZVJvb3QiOiJuZzovL0BkYXRvcmFtYS9jb3JlLyIsInNvdXJjZXMiOlsibGliL2dyaWQvZGF0by1ncmlkLWFwaS50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQTs7Ozs7O0dBTUc7QUFJSCxPQUFPLEVBQUUsV0FBVyxFQUFFLE1BQU0saUJBQWlCLENBQUM7QUFDOUMsT0FBTyxFQUFFLEtBQUssRUFBRSxNQUFNLHFCQUFxQixDQUFDO0FBRTVDOztHQUVHO0FBQ0gsTUFBTSxPQUFPLFdBQVc7SUFpQ3RCLFlBQVksT0FBaUI7UUFDM0IsSUFBSSxDQUFDLE9BQU8sR0FBRyxPQUFPLENBQUM7SUFDekIsQ0FBQztJQTlCRCxJQUFJLEtBQUs7UUFDUCxPQUFPLENBQUMsS0FBSyxDQUFDLElBQUksQ0FBQyxPQUFPLENBQUMsQ0FBQztJQUM5QixDQUFDO0lBRUQsSUFBSSxPQUFPO1FBQ1QsT0FBTyxJQUFJLENBQUMsUUFBUSxDQUFDO0lBQ3ZCLENBQUM7SUFFRCxJQUFJLE9BQU8sQ0FBQyxPQUFnQjtRQUMxQixJQUFJLENBQUMsUUFBUSxHQUFHLE9BQU8sQ0FBQztJQUMxQixDQUFDO0lBRUQsSUFBSSxTQUFTO1FBQ1gsT0FBTyxJQUFJLENBQUMsVUFBVSxDQUFDO0lBQ3pCLENBQUM7SUFFRCxJQUFJLFNBQVMsQ0FBQyxTQUFvQjtRQUNoQyxJQUFJLENBQUMsVUFBVSxHQUFHLFNBQVMsQ0FBQztJQUM5QixDQUFDO0lBRUQsSUFBSSxPQUFPO1FBQ1QsT0FBTyxJQUFJLENBQUMsUUFBUSxDQUFDO0lBQ3ZCLENBQUM7SUFFRCxJQUFJLE9BQU8sQ0FBQyxPQUEwQjtRQUNwQyxJQUFJLENBQUMsUUFBUSxHQUFHLE9BQU8sQ0FBQztJQUMxQixDQUFDO0lBTUQsZUFBZSxDQUFDLEdBQWtDO1FBQ2hELE1BQU0sSUFBSSxHQUFHLFdBQVcsQ0FBQyxHQUFHLENBQUMsQ0FBQztRQUM5QixJQUFJLENBQUMsT0FBTyxDQUFDLFdBQVcsQ0FBQyxPQUFPLENBQUMsRUFBRTtZQUNqQyxNQUFNLFVBQVUsR0FBRyxJQUFJLENBQUMsSUFBSSxDQUFDLENBQUMsQ0FBQyxFQUFFLENBQUMsQ0FBQyxLQUFLLE9BQU8sQ0FBQyxJQUFJLENBQUMsQ0FBQztZQUN0RCw0QkFBNEI7WUFDNUIsSUFBSSxPQUFPLENBQUMsVUFBVSxFQUFFLEtBQUssVUFBVSxFQUFFO2dCQUN2QyxPQUFPLENBQUMsV0FBVyxDQUFDLFVBQVUsQ0FBQyxDQUFDO2FBQ2pDO1FBQ0gsQ0FBQyxDQUFDLENBQUM7SUFDTCxDQUFDO0lBU0QsZUFBZSxDQUFDLFlBQVksR0FBRyxLQUFLO1FBQ2xDLE1BQU0sSUFBSSxHQUFHLElBQUksQ0FBQyxPQUFPLENBQUMsZUFBZSxFQUFFLENBQUM7UUFDNUMsSUFBSSxDQUFDLFlBQVksRUFBRTtZQUNqQixPQUFPLElBQUksQ0FBQztTQUNiO1FBQ0QsT0FBTyxJQUFJLENBQUMsTUFBTSxDQUFDLENBQUMsQ0FBQyxJQUFJLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLElBQUksQ0FBQztJQUN0QyxDQUFDO0lBRUQ7OztPQUdHO0lBQ0gsT0FBTyxDQUFDLElBQVM7UUFDZixJQUFJLENBQUMsT0FBTyxDQUFDLFVBQVUsQ0FBQyxJQUFJLENBQUMsQ0FBQztRQUM5QixJQUFJLENBQUMsT0FBTyxDQUFDLGdCQUFnQixFQUFFLENBQUM7SUFDbEMsQ0FBQztJQUVEOzs7OztPQUtHO0lBQ0gsT0FBTyxDQUFDLEdBQU0sRUFBRSxRQUFnQixJQUFJO1FBQ2xDLE1BQU0sSUFBSSxHQUFHLFdBQVcsQ0FBQyxHQUFHLENBQUMsQ0FBQztRQUM5QixJQUFJLElBQUksR0FBUTtZQUNkLEdBQUcsRUFBRSxJQUFJO1NBQ1YsQ0FBQztRQUNGLElBQUksQ0FBQyxLQUFLLENBQUMsS0FBSyxDQUFDLEVBQUU7WUFDakIsSUFBSSxDQUFDLFFBQVEsR0FBRyxLQUFLLENBQUM7U0FDdkI7UUFDRCxPQUFPLElBQUksQ0FBQyxPQUFPLENBQUMsYUFBYSxDQUFDLElBQUksQ0FBQyxDQUFDO0lBQzFDLENBQUM7SUFFRDs7OztPQUlHO0lBQ0gsVUFBVSxDQUFDLEdBQVE7UUFDakIsTUFBTSxJQUFJLEdBQUcsV0FBVyxDQUFDLEdBQUcsQ0FBQyxDQUFDO1FBQzlCLE9BQU8sSUFBSSxDQUFDLE9BQU8sQ0FBQyxhQUFhLENBQUM7WUFDaEMsTUFBTSxFQUFFLElBQUk7U0FDYixDQUFDLENBQUM7SUFDTCxDQUFDO0lBRUQ7Ozs7O09BS0c7SUFDSCxjQUFjLENBQUMsRUFBVSxFQUFFLEdBQVcsRUFBRSxRQUFhO1FBQ25ELE1BQU0sT0FBTyxHQUFHLElBQUksQ0FBQyxPQUFPLENBQUMsVUFBVSxDQUFDLEVBQUUsQ0FBQyxDQUFDO1FBQzVDLE9BQU8sQ0FBQyxZQUFZLENBQUMsR0FBRyxFQUFFLFFBQVEsQ0FBQyxDQUFDO0lBQ3RDLENBQUM7SUFFRDs7OztPQUlHO0lBQ0gsVUFBVSxDQUFDLEdBQXdCO1FBQ2pDLE1BQU0sSUFBSSxHQUFHLFdBQVcsQ0FBQyxHQUFHLENBQUMsQ0FBQztRQUM5QixPQUFPLElBQUksQ0FBQyxPQUFPLENBQUMsYUFBYSxDQUFDO1lBQ2hDLE1BQU0sRUFBRSxJQUFJO1NBQ2IsQ0FBQyxDQUFDO0lBQ0wsQ0FBQztJQUVEOzs7T0FHRztJQUNILGtCQUFrQjtRQUNoQixNQUFNLFlBQVksR0FBRyxJQUFJLENBQUMsZUFBZSxFQUFFLENBQUM7UUFDNUMsT0FBTyxJQUFJLENBQUMsVUFBVSxDQUFDLFlBQVksQ0FBQyxDQUFDO0lBQ3ZDLENBQUM7SUFFRDs7T0FFRztJQUNILFVBQVU7UUFDUixJQUFJLENBQUMsT0FBTyxDQUFDLEVBQUUsQ0FBQyxDQUFDO0lBQ25CLENBQUM7SUFFRDs7T0FFRztJQUNILGFBQWEsQ0FBQyxPQUFPO1FBQ25CLElBQUksQ0FBQyxRQUFRLENBQUMsYUFBYSxDQUFDLE9BQU8sQ0FBQyxDQUFDO0lBQ3ZDLENBQUM7Q0FDRiIsInNvdXJjZXNDb250ZW50IjpbIi8qKlxuICogQGxpY2Vuc2VcbiAqIENvcHlyaWdodCBEYXRvcmFtYS4gQWxsIFJpZ2h0cyBSZXNlcnZlZC5cbiAqXG4gKiBVc2Ugb2YgdGhpcyBzb3VyY2UgY29kZSBpcyBnb3Zlcm5lZCBieSBhbiBBcGFjaGUgTGljZW5zZSAyLjAgbGljZW5zZSB0aGF0IGNhbiBiZVxuICogZm91bmQgaW4gdGhlIExJQ0VOU0UgZmlsZSBhdCBodHRwczovL2dpdGh1Yi5jb20vZGF0b3JhbWEvY2xpZW50LWNvcmUvYmxvYi9tYXN0ZXIvTElDRU5TRVxuICovXG5cbmltcG9ydCB7IEdyaWRBcGksIFJvd05vZGUsIENvbHVtbkFwaSB9IGZyb20gJ0BhZy1ncmlkLWNvbW11bml0eS9jb3JlJztcbmltcG9ydCB7IERhdG9HcmlkQ29tcG9uZW50IH0gZnJvbSAnLi9ncmlkL2dyaWQuY29tcG9uZW50JztcbmltcG9ydCB7IGNvZXJjZUFycmF5IH0gZnJvbSAnQGRhdG9yYW1hL2FraXRhJztcbmltcG9ydCB7IGlzTmlsIH0gZnJvbSAnLi4vdXRpbHMvcHVibGljX2FwaSc7XG5cbi8qKlxuICogRGF0b3JhbWEgYWJzdHJhY3Rpb24gdG8gYWdHcmlkIEFQSVxuICovXG5leHBvcnQgY2xhc3MgRGF0b0dyaWRBUEk8VCA9IGFueT4ge1xuICBwcml2YXRlIF9ncmlkQXBpOiBHcmlkQXBpO1xuICBwcml2YXRlIF9jb2x1bW5BcGk6IENvbHVtbkFwaTtcbiAgcHJpdmF0ZSBfZ3JpZFJlZjogRGF0b0dyaWRDb21wb25lbnQ7XG5cbiAgZ2V0IHJlYWR5KCkge1xuICAgIHJldHVybiAhaXNOaWwodGhpcy5ncmlkQXBpKTtcbiAgfVxuXG4gIGdldCBncmlkQXBpKCkge1xuICAgIHJldHVybiB0aGlzLl9ncmlkQXBpO1xuICB9XG5cbiAgc2V0IGdyaWRBcGkoZ3JpZEFwaTogR3JpZEFwaSkge1xuICAgIHRoaXMuX2dyaWRBcGkgPSBncmlkQXBpO1xuICB9XG5cbiAgZ2V0IGNvbHVtbkFwaSgpIHtcbiAgICByZXR1cm4gdGhpcy5fY29sdW1uQXBpO1xuICB9XG5cbiAgc2V0IGNvbHVtbkFwaShjb2x1bW5BcGk6IENvbHVtbkFwaSkge1xuICAgIHRoaXMuX2NvbHVtbkFwaSA9IGNvbHVtbkFwaTtcbiAgfVxuXG4gIGdldCBncmlkUmVmKCkge1xuICAgIHJldHVybiB0aGlzLl9ncmlkUmVmO1xuICB9XG5cbiAgc2V0IGdyaWRSZWYoZ3JpZFJlZjogRGF0b0dyaWRDb21wb25lbnQpIHtcbiAgICB0aGlzLl9ncmlkUmVmID0gZ3JpZFJlZjtcbiAgfVxuXG4gIGNvbnN0cnVjdG9yKGdyaWRBcGk/OiBHcmlkQXBpKSB7XG4gICAgdGhpcy5ncmlkQXBpID0gZ3JpZEFwaTtcbiAgfVxuXG4gIHNldFNlbGVjdGVkUm93cyhyb3c6IFQgJiBSb3dOb2RlIHwgVFtdICYgUm93Tm9kZVtdKSB7XG4gICAgY29uc3Qgcm93cyA9IGNvZXJjZUFycmF5KHJvdyk7XG4gICAgdGhpcy5ncmlkQXBpLmZvckVhY2hOb2RlKHJvd05vZGUgPT4ge1xuICAgICAgY29uc3QgaXNTZWxlY3RlZCA9IHJvd3Muc29tZShyID0+IHIgPT09IHJvd05vZGUuZGF0YSk7XG4gICAgICAvLyBwcmV2ZW50IHJlZHVuZGFudCB1cGRhdGVzXG4gICAgICBpZiAocm93Tm9kZS5pc1NlbGVjdGVkKCkgIT09IGlzU2VsZWN0ZWQpIHtcbiAgICAgICAgcm93Tm9kZS5zZXRTZWxlY3RlZChpc1NlbGVjdGVkKTtcbiAgICAgIH1cbiAgICB9KTtcbiAgfVxuXG4gIC8qKlxuICAgKlxuICAgKiBAcmV0dXJucyB7VH1cbiAgICovXG4gIGdldFNlbGVjdGVkUm93cyhvbmx5Rmlyc3RSb3c6IHRydWUpOiBUICYgUm93Tm9kZTtcbiAgZ2V0U2VsZWN0ZWRSb3dzKG9ubHlGaXJzdFJvdz86IGZhbHNlKTogVFtdICYgUm93Tm9kZVtdO1xuICBnZXRTZWxlY3RlZFJvd3Mob25seUZpcnN0Um93OiBib29sZWFuKTogVFtdICYgUm93Tm9kZVtdIHwgVCAmIFJvd05vZGU7XG4gIGdldFNlbGVjdGVkUm93cyhvbmx5Rmlyc3RSb3cgPSBmYWxzZSk6IFRbXSAmIFJvd05vZGVbXSB8IFQgJiBSb3dOb2RlIHtcbiAgICBjb25zdCByb3dzID0gdGhpcy5ncmlkQXBpLmdldFNlbGVjdGVkUm93cygpO1xuICAgIGlmICghb25seUZpcnN0Um93KSB7XG4gICAgICByZXR1cm4gcm93cztcbiAgICB9XG4gICAgcmV0dXJuIHJvd3MubGVuZ3RoID8gcm93c1swXSA6IG51bGw7XG4gIH1cblxuICAvKipcbiAgICpcbiAgICogQHBhcmFtIGRhdGFcbiAgICovXG4gIHNldFJvd3MoZGF0YTogVFtdKSB7XG4gICAgdGhpcy5ncmlkQXBpLnNldFJvd0RhdGEoZGF0YSk7XG4gICAgdGhpcy5ncmlkQXBpLnNpemVDb2x1bW5zVG9GaXQoKTtcbiAgfVxuXG4gIC8qKlxuICAgKlxuICAgKiBAcGFyYW0ge1R9IHJvd1xuICAgKiBAcGFyYW0ge251bWJlcn0gaW5kZXhcbiAgICogQHJldHVybnMge1Jvd05vZGVUcmFuc2FjdGlvbn1cbiAgICovXG4gIGFkZFJvd3Mocm93OiBULCBpbmRleDogbnVtYmVyID0gbnVsbCk6IGFueSB7XG4gICAgY29uc3Qgcm93cyA9IGNvZXJjZUFycmF5KHJvdyk7XG4gICAgbGV0IGRhdGE6IGFueSA9IHtcbiAgICAgIGFkZDogcm93c1xuICAgIH07XG4gICAgaWYgKCFpc05pbChpbmRleCkpIHtcbiAgICAgIGRhdGEuYWRkSW5kZXggPSBpbmRleDtcbiAgICB9XG4gICAgcmV0dXJuIHRoaXMuZ3JpZEFwaS51cGRhdGVSb3dEYXRhKGRhdGEpO1xuICB9XG5cbiAgLyoqXG4gICAqXG4gICAqIEBwYXJhbSB7VFtdfSByb3dcbiAgICogQHJldHVybnMge1Jvd05vZGVUcmFuc2FjdGlvbn1cbiAgICovXG4gIHVwZGF0ZVJvd3Mocm93OiBUW10pOiBhbnkge1xuICAgIGNvbnN0IHJvd3MgPSBjb2VyY2VBcnJheShyb3cpO1xuICAgIHJldHVybiB0aGlzLmdyaWRBcGkudXBkYXRlUm93RGF0YSh7XG4gICAgICB1cGRhdGU6IHJvd3NcbiAgICB9KTtcbiAgfVxuXG4gIC8qKlxuICAgKlxuICAgKiBAcGFyYW0ge3N0cmluZ30gaWRcbiAgICogQHBhcmFtIHtzdHJpbmd9IGtleVxuICAgKiBAcGFyYW0gbmV3VmFsdWVcbiAgICovXG4gIHVwZGF0ZVJvd1ZhbHVlKGlkOiBzdHJpbmcsIGtleTogc3RyaW5nLCBuZXdWYWx1ZTogYW55KSB7XG4gICAgY29uc3Qgcm93Tm9kZSA9IHRoaXMuZ3JpZEFwaS5nZXRSb3dOb2RlKGlkKTtcbiAgICByb3dOb2RlLnNldERhdGFWYWx1ZShrZXksIG5ld1ZhbHVlKTtcbiAgfVxuXG4gIC8qKlxuICAgKlxuICAgKiBAcGFyYW0ge1Jvd05vZGUgfCBSb3dOb2RlW119IHJvd1xuICAgKiBAcmV0dXJucyB7Um93Tm9kZVRyYW5zYWN0aW9ufVxuICAgKi9cbiAgcmVtb3ZlUm93cyhyb3c6IFJvd05vZGUgfCBSb3dOb2RlW10pOiBhbnkge1xuICAgIGNvbnN0IHJvd3MgPSBjb2VyY2VBcnJheShyb3cpO1xuICAgIHJldHVybiB0aGlzLmdyaWRBcGkudXBkYXRlUm93RGF0YSh7XG4gICAgICByZW1vdmU6IHJvd3NcbiAgICB9KTtcbiAgfVxuXG4gIC8qKlxuICAgKlxuICAgKiBAcmV0dXJucyB7Um93Tm9kZVRyYW5zYWN0aW9ufVxuICAgKi9cbiAgcmVtb3ZlU2VsZWN0ZWRSb3dzKCkge1xuICAgIGNvbnN0IHNlbGVjdGVkUm93cyA9IHRoaXMuZ2V0U2VsZWN0ZWRSb3dzKCk7XG4gICAgcmV0dXJuIHRoaXMucmVtb3ZlUm93cyhzZWxlY3RlZFJvd3MpO1xuICB9XG5cbiAgLyoqXG4gICAqIENsZWFyIGFsbCB0aGUgcm93c1xuICAgKi9cbiAgY2xlYXJUYWJsZSgpIHtcbiAgICB0aGlzLnNldFJvd3MoW10pO1xuICB9XG5cbiAgLyoqXG4gICAqIFVwZGF0ZSB0aGUgZ3JpZHMgY29sdW1uc1xuICAgKi9cbiAgdXBkYXRlQ29sdW1ucyhjb2x1bW5zKSB7XG4gICAgdGhpcy5fZ3JpZFJlZi51cGRhdGVDb2x1bW5zKGNvbHVtbnMpO1xuICB9XG59XG4iXX0=
|
|
@@ -115,4 +115,4 @@ DatoGrid = __decorate([
|
|
|
115
115
|
__metadata("design:paramtypes", [])
|
|
116
116
|
], DatoGrid);
|
|
117
117
|
export { DatoGrid };
|
|
118
|
-
//# sourceMappingURL=data:application/json;base64,
|
|
118
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZGF0by1ncmlkLmpzIiwic291cmNlUm9vdCI6Im5nOi8vQGRhdG9yYW1hL2NvcmUvIiwic291cmNlcyI6WyJsaWIvZ3JpZC9kYXRvLWdyaWQudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUE7Ozs7OztHQU1HOztBQUdILE9BQU8sRUFBRSxZQUFZLEVBQVUsU0FBUyxFQUFFLFNBQVMsRUFBRSxNQUFNLGVBQWUsQ0FBQztBQUUzRSxPQUFPLEVBQUUsaUJBQWlCLEVBQUUsTUFBTSx1QkFBdUIsQ0FBQztBQUMxRCxPQUFPLEVBQUUsT0FBTyxFQUFFLE1BQU0sTUFBTSxDQUFDO0FBQy9CLE9BQU8sRUFBRSxZQUFZLEVBQUUsWUFBWSxFQUFFLE1BQU0sZUFBZSxDQUFDO0FBQzNELE9BQU8sRUFBRSxXQUFXLEVBQUUsTUFBTSxpQkFBaUIsQ0FBQztBQUM5QyxPQUFPLEVBQUUsZUFBZSxFQUFFLE1BQU0scUJBQXFCLENBQUM7QUFJdEQ7O0dBRUc7QUFFSCxJQUFzQixRQUFRLEdBQTlCLE1BQXNCLFFBQVksU0FBUSxXQUFjO0lBa0J0RDtRQUNFLEtBQUssRUFBRSxDQUFDO1FBTlYsa0JBQWEsR0FBRyxJQUFJLE9BQU8sRUFBa0IsQ0FBQztRQU81QyxJQUFJLENBQUMsdUJBQXVCLEdBQUcsSUFBSSxDQUFDLG1CQUFtQixDQUFDLElBQUksQ0FBQyxJQUFJLENBQUMsQ0FBQztRQUNuRSxJQUFJLENBQUMsUUFBUSxHQUFHLElBQUksQ0FBQyxXQUFXLEVBQUUsQ0FBQztJQUNyQyxDQUFDO0lBcEJELElBQUksYUFBYSxDQUFDLGFBQWdDO1FBQ2hELElBQUksQ0FBQyxnQkFBZ0IsQ0FBQyxhQUFhLENBQUMsQ0FBQztJQUN2QyxDQUFDO0lBR0QsSUFBSSxnQkFBZ0IsQ0FBQyxhQUFnQztRQUNuRCxJQUFJLENBQUMsZ0JBQWdCLENBQUMsYUFBYSxDQUFDLENBQUM7SUFDdkMsQ0FBQztJQW1CRDs7T0FFRztJQUNPLFdBQVc7UUFDbkIsT0FBTyxlQUFlLENBQUMsSUFBSSxDQUFD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dXJjZXNDb250ZW50IjpbIi8qKlxuICogQGxpY2Vuc2VcbiAqIENvcHlyaWdodCBEYXRvcmFtYS4gQWxsIFJpZ2h0cyBSZXNlcnZlZC5cbiAqXG4gKiBVc2Ugb2YgdGhpcyBzb3VyY2UgY29kZSBpcyBnb3Zlcm5lZCBieSBhbiBBcGFjaGUgTGljZW5zZSAyLjAgbGljZW5zZSB0aGF0IGNhbiBiZVxuICogZm91bmQgaW4gdGhlIExJQ0VOU0UgZmlsZSBhdCBodHRwczovL2dpdGh1Yi5jb20vZGF0b3JhbWEvY2xpZW50LWNvcmUvYmxvYi9tYXN0ZXIvTElDRU5TRVxuICovXG5cbmltcG9ydCB7IENvbERlZiwgQ29sR3JvdXBEZWYsIERldGFpbEdyaWRJbmZvLCBHcmlkT3B0aW9ucyB9IGZyb20gJ0BhZy1ncmlkLWNvbW11bml0eS9jb3JlJztcbmltcG9ydCB7IENvbnRlbnRDaGlsZCwgT25Jbml0LCBWaWV3Q2hpbGQsIERpcmVjdGl2ZSB9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xuaW1wb3J0IHsgVG9vbGJhckFjdGlvbiB9IGZyb20gJy4vZ3JpZC10b29sYmFyL2dyaWQtdG9vbGJhci50eXBlcyc7XG5pbXBvcnQgeyBEYXRvR3JpZENvbXBvbmVudCB9IGZyb20gJy4vZ3JpZC9ncmlkLmNvbXBvbmVudCc7XG5pbXBvcnQgeyBTdWJqZWN0IH0gZnJvbSAncnhqcyc7XG5pbXBvcnQgeyBnZXRHcmlkTW9kZWwsIHNldEdyaWRNb2RlbCB9IGZyb20gJy4vZ3JpZC1jb25maWcnO1xuaW1wb3J0IHsgRGF0b0dyaWRBUEkgfSBmcm9tICcuL2RhdG8tZ3JpZC1hcGknO1xuaW1wb3J0IHsgZ2V0RnVuY3Rpb25OYW1lIH0gZnJvbSAnLi4vdXRpbHMvcHVibGljX2FwaSc7XG5cbmV4cG9ydCB0eXBlIEdyaWRDb2x1bW5zID0gKENvbERlZiB8IENvbEdyb3VwRGVmKVtdO1xuXG4vKipcbiAqIEJhc2UgY29tcG9uZW50IGZvciBncmlkIGNvbXBvbmVudHNcbiAqL1xuQERpcmVjdGl2ZSgpXG5leHBvcnQgYWJzdHJhY3QgY2xhc3MgRGF0b0dyaWQ8VD4gZXh0ZW5kcyBEYXRvR3JpZEFQSTxUPiBpbXBsZW1lbnRzIE9uSW5pdCB7XG4gIEBWaWV3Q2hpbGQoRGF0b0dyaWRDb21wb25lbnQpXG4gIHNldCBncmlkVmlld0NoaWxkKGdyaWRDb21wb25lbnQ6IERhdG9HcmlkQ29tcG9uZW50KSB7XG4gICAgdGhpcy5pbml0aWFsR3JpZFJlYWR5KGdyaWRDb21wb25lbnQpO1xuICB9XG5cbiAgQENvbnRlbnRDaGlsZChEYXRvR3JpZENvbXBvbmVudClcbiAgc2V0IGdyaWRDb250ZW50Q2hpbGQoZ3JpZENvbXBvbmVudDogRGF0b0dyaWRDb21wb25lbnQpIHtcbiAgICB0aGlzLmluaXRpYWxHcmlkUmVhZHkoZ3JpZENvbXBvbmVudCk7XG4gIH1cblxuICBvcHRpb25zOiBHcmlkT3B0aW9ucztcbiAgdG9vbGJhckFjdGlvbnM6IFRvb2xiYXJBY3Rpb25bXTtcbiAgZGF0b0dyaWRSZWFkeSA9IG5ldyBTdWJqZWN0PERldGFpbEdyaWRJbmZvPigpO1xuXG4gIHByaXZhdGUgb25GaWx0ZXJTb3J0Q2hhbmdlZEJpbmQ7XG4gIHByaXZhdGUgZ3JpZE5hbWU6IHN0cmluZztcblxuICBjb25zdHJ1Y3RvcigpIHtcbiAgICBzdXBlcigpO1xuICAgIHRoaXMub25GaWx0ZXJTb3J0Q2hhbmdlZEJpbmQgPSB0aGlzLm9uRmlsdGVyU29ydENoYW5nZWQuYmluZCh0aGlzKTtcbiAgICB0aGlzLmdyaWROYW1lID0gdGhpcy5nZXRHcmlkTmFtZSgpO1xuICB9XG5cbiAgYWJzdHJhY3QgZ2V0Q29sdW1ucygpOiBHcmlkQ29sdW1ucztcblxuICBhYnN0cmFjdCBnZXRUb29sYmFyQWN0aW9ucygpOiBUb29sYmFyQWN0aW9uW107XG5cbiAgLyoqXG4gICAqIEByZXR1cm4gdGhlIG5hbWUgb2YgdGhpcyBncmlkIGNvbXBvbmVudC4gVGhlIG5hbWUgdXNlZCB0byBzdG9yZSBmaWx0ZXJzICYgc29ydCBjb25maWd1cmF0aW9uLlxuICAgKi9cbiAgcHJvdGVjdGVkIGdldEdyaWROYW1lKCk6IHN0cmluZyB7XG4gICAgcmV0dXJuIGdldEZ1bmN0aW9uTmFtZSh0aGlzLmNvbnN0cnVjdG9yKTtcbiAgfVxuXG4gIC8qKlxuICAgKiBFeHRlbmQgR3JpZE9wdGlvbnNcbiAgICogQHJldHVybiB7R3JpZE9wdGlvbnN9XG4gICAqL1xuICBwcm90ZWN0ZWQgZ2V0T3B0aW9ucygpOiBHcmlkT3B0aW9ucyB7XG4gICAgcmV0dXJuIHt9O1xuICB9XG5cbiAgbmdPbkluaXQoKSB7XG4gICAgdGhpcy5vcHRpb25zID0geyBjb2x1bW5EZWZzOiB0aGlzLmdldENvbHVtbnMoKSwgLi4udGhpcy5nZXRPcHRpb25zKCkgfTtcbiAgICB0aGlzLnRvb2xiYXJBY3Rpb25zID0gdGhpcy5nZXRUb29sYmFyQWN0aW9ucygpO1xuICB9XG5cbiAgbmdPbkRlc3Ryb3koKSB7XG4gICAgdGhpcy5kYXRvR3JpZFJlYWR5LmNvbXBsZXRlKCk7XG4gIH1cblxuICBwcml2YXRlIHJlbW92ZUV2ZW50TGlzdGVuZXJzKCkge1xuICAgIHRoaXMuZ3JpZEFwaS5yZW1vdmVFdmVudExpc3RlbmVyKCdmaWx0ZXJDaGFuZ2VkJywgdGhpcy5vbkZpbHRlclNvcnRDaGFuZ2VkQmluZCk7XG4gICAgdGhpcy5ncmlkQXBpLnJlbW92ZUV2ZW50TGlzdGVuZXIoJ3NvcnRDaGFuZ2VkJywgdGhpcy5vbkZpbHRlclNvcnRDaGFuZ2VkQmluZCk7XG4gIH1cblxuICBwcml2YXRlIHJlZ2lzdGVyRXZlbnRzKCkge1xuICAgIHRoaXMucmVtb3ZlRXZlbnRMaXN0ZW5lcnMoKTtcbiAgICB0aGlzLmdyaWRBcGkuYWRkRXZlbnRMaXN0ZW5lcignZmlsdGVyQ2hhbmdlZCcsIHRoaXMub25GaWx0ZXJTb3J0Q2hhbmdlZEJpbmQpO1xuICAgIHRoaXMuZ3JpZEFwaS5hZGRFdmVudExpc3RlbmVyKCdzb3J0Q2hhbmdlZCcsIHRoaXMub25GaWx0ZXJTb3J0Q2hhbmdlZEJpbmQpO1xuICB9XG5cbiAgLyoqXG4gICAqIEFuIGV2ZW50IGhhbmRsZXIgZm9yIHNhdmluZyBmaWx0ZXIgJiBzb3J0aW5nIHVwb24gY2hhbmdlLlxuICAgKi9cbiAgcHJpdmF0ZSBvbkZpbHRlclNvcnRDaGFuZ2VkKCkge1xuICAgIGNvbnN0IGZpbHRlciA9IHRoaXMuZ3JpZEFwaS5nZXRGaWx0ZXJNb2RlbCgpO1xuICAgIGNvbnN0IHNvcnQgPSB0aGlzLmdyaWRBcGkuZ2V0U29ydE1vZGVsKCk7XG5cbiAgICAvLyBzYXZlIGdyaWQncyBjb25maWd1cmF0aW9uXG4gICAgc2V0R3JpZE1vZGVsKHRoaXMuZ3JpZE5hbWUsIHtcbiAgICAgIGZpbHRlcixcbiAgICAgIHNvcnRcbiAgICB9KTtcbiAgfVxuXG4gIC8qKlxuICAgKiBTYXZlIGN1cnJlbnQgZmlsdGVyICYgc29ydGluZyBtb2RlbHNcbiAgICovXG4gIHByaXZhdGUgc2V0U2F2ZWRNb2RlbCgpIHtcbiAgICBjb25zdCB7IHNvcnQsIGZpbHRlciB9ID0gZ2V0R3JpZE1vZGVsKHRoaXMuZ3JpZE5hbWUpO1xuICAgIGlmIChzb3J0KSB7XG4gICAgICB0aGlzLmdyaWRBcGkuc2V0U29ydE1vZGVsKHNvcnQpO1xuICAgIH1cbiAgICBpZiAoZmlsdGVyKSB7XG4gICAgICB0aGlzLmdyaWRBcGkuc2V0RmlsdGVyTW9kZWwoZmlsdGVyKTtcbiAgICB9XG4gIH1cblxuICAvKipcbiAgICogSW5pdGlhbCB0aGUgZ3JpZCByZWFkeSBldmVudFxuICAgKiBAcGFyYW0ge0RhdG9HcmlkQ29tcG9uZW50fSBkYXRvR3JpZFxuICAgKi9cbiAgcHJpdmF0ZSBpbml0aWFsR3JpZFJlYWR5KGRhdG9HcmlkOiBEYXRvR3JpZENvbXBvbmVudCkge1xuICAgIGlmIChkYXRvR3JpZCkge1xuICAgICAgZGF0b0dyaWQuZ3JpZFJlYWR5LnN1YnNjcmliZSgoZ3JpZDogRGV0YWlsR3JpZEluZm8pID0+IHtcbiAgICAgICAgdGhpcy5ncmlkQXBpID0gZ3JpZC5hcGk7XG4gICAgICAgIHRoaXMuY29sdW1uQXBpID0gZ3JpZC5jb2x1bW5BcGk7XG4gICAgICAgIHRoaXMuZ3JpZFJlZiA9IGRhdG9HcmlkO1xuICAgICAgICB0aGlzLmRhdG9HcmlkUmVhZHkubmV4dChncmlkKTtcblxuICAgICAgICAvLyBsb2FkIHNhdmVkIGdyaWQncyBtb2RlbFxuICAgICAgICB0aGlzLnNldFNhdmVkTW9kZWwoKTtcbiAgICAgICAgLy8gcmVnaXN0ZXIgdG8gZmlsdGVyICYgc29ydGluZyBjaGFuZ2VcbiAgICAgICAgdGhpcy5yZWdpc3RlckV2ZW50cygpO1xuICAgICAgfSk7XG4gICAgfVxuICB9XG59XG4iXX0=
|
|
@@ -17,7 +17,7 @@ import { take } from 'rxjs/operators';
|
|
|
17
17
|
import { DatoGridHelper } from '../grid-helper';
|
|
18
18
|
import { untilDestroyed } from 'ngx-take-until-destroy';
|
|
19
19
|
import { addClass, removeClass } from '../../internal/helpers';
|
|
20
|
-
import { AgGridAngular } from 'ag-grid-angular';
|
|
20
|
+
import { AgGridAngular } from '@ag-grid-community/angular';
|
|
21
21
|
import { DatoGridPaginationComponent } from '../grid-pagination/grid-pagination.component';
|
|
22
22
|
import { coerceArray } from '@datorama/akita';
|
|
23
23
|
const valueAccessor = {
|
|
@@ -103,7 +103,8 @@ let DatoGridComponent = class DatoGridComponent extends BaseCustomControl {
|
|
|
103
103
|
this.gridColumnApi = event.columnApi;
|
|
104
104
|
if (this.gridColumnApi.getRowGroupColumns().length >= 1) {
|
|
105
105
|
this.gridComponent.rowGroupOpened.pipe(untilDestroyed(this)).subscribe(event => this.rowGroupStateChange(event));
|
|
106
|
-
this.paginationComponent
|
|
106
|
+
this.paginationComponent &&
|
|
107
|
+
this.paginationComponent.toggleRowGroup.pipe(untilDestroyed(this)).subscribe(() => this.toggleCollapseState());
|
|
107
108
|
}
|
|
108
109
|
this.cdr.detectChanges();
|
|
109
110
|
this.gridReady.emit(event);
|
|
@@ -225,4 +226,4 @@ DatoGridComponent = __decorate([
|
|
|
225
226
|
ChangeDetectorRef])
|
|
226
227
|
], DatoGridComponent);
|
|
227
228
|
export { DatoGridComponent };
|
|
228
|
-
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZ3JpZC5jb21wb25lbnQuanMiLCJzb3VyY2VSb290Ijoibmc6Ly9AZGF0b3JhbWEvY29yZS8iLCJzb3VyY2VzIjpbImxpYi9ncmlkL2dyaWQvZ3JpZC5jb21wb25lbnQudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUE7Ozs7OztHQU1HOztBQUVILE9BQU8sRUFDTCx1QkFBdUIsRUFDdkIsaUJBQWlCLEVBQ2pCLFNBQVMsRUFDVCxVQUFVLEVBQ1YsWUFBWSxFQUNaLFVBQVUsRUFDVixLQUFLLEVBQ0wsU0FBUyxFQUNULE1BQU0sRUFDTixTQUFTLEVBQ1QsaUJBQWlCLEVBQ2xCLE1BQU0sZUFBZSxDQUFDO0FBWXZCLE9BQU8sRUFBRSxZQUFZLEVBQUUsTUFBTSw4QkFBOEIsQ0FBQztBQUM1RCxPQUFPLEVBQUUsWUFBWSxFQUFFLE1BQU0sY0FBYyxDQUFDO0FBQzVDLE9BQU8sRUFBRSxpQkFBaUIsRUFBRSxNQUFNLDBDQUEwQyxDQUFDO0FBQzdFLE9BQU8sRUFBd0IsaUJBQWlCLEVBQUUsTUFBTSxnQkFBZ0IsQ0FBQztBQUN6RSxPQUFPLEVBQUUsV0FBVyxFQUFFLE1BQU0sa0JBQWtCLENBQUM7QUFDL0MsT0FBTyxFQUFFLGFBQWEsRUFBRSxPQUFPLEVBQUUsTUFBTSxNQUFNLENBQUM7QUFDOUMsT0FBTyxFQUFFLElBQUksRUFBRSxNQUFNLGdCQUFnQixDQUFDO0FBQ3RDLE9BQU8sRUFBRSxjQUFjLEVBQUUsTUFBTSxnQkFBZ0IsQ0FBQztBQUNoRCxPQUFPLEVBQUUsY0FBYyxFQUFFLE1BQU0sd0JBQXdCLENBQUM7QUFDeEQsT0FBTyxFQUFFLFFBQVEsRUFBRSxXQUFXLEVBQUUsTUFBTSx3QkFBd0IsQ0FBQztBQUUvRCxPQUFPLEVBQUUsYUFBYSxFQUFFLE1BQU0saUJBQWlCLENBQUM7QUFDaEQsT0FBTyxFQUFFLDJCQUEyQixFQUFFLE1BQU0sOENBQThDLENBQUM7QUFDM0YsT0FBTyxFQUFFLFdBQVcsRUFBRSxNQUFNLGlCQUFpQixDQUFDO0FBRTlDLE1B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QkFBaUI7R0EzRXJCLGlCQUFpQixDQWtNN0I7U0FsTVksaUJBQWlCIiwic291cmNlc0NvbnRlbnQiOlsiLyoqXG4gKiBAbGljZW5zZVxuICogQ29weXJpZ2h0IERhdG9yYW1hLiBBbGwgUmlnaHRzIFJlc2VydmVkLlxuICpcbiAqIFVzZSBvZiB0aGlzIHNvdXJjZSBjb2RlIGlzIGdvdmVybmVkIGJ5IGFuIEFwYWNoZSBMaWNlbnNlIDIuMCBsaWNlbnNlIHRoYXQgY2FuIGJlXG4gKiBmb3VuZCBpbiB0aGUgTElDRU5TRSBmaWxlIGF0IGh0dHBzOi8vZ2l0aHViLmNvbS9kYXRvcmFtYS9jbGllbnQtY29yZS9ibG9iL21hc3Rlci9MSUNFTlNFXG4gKi9cblxuaW1wb3J0IHtcbiAgQ2hhbmdlRGV0ZWN0aW9uU3RyYXRlZ3ksXG4gIENoYW5nZURldGVjdG9yUmVmLFxuICBDb21wb25lbnQsXG4gIEVsZW1lbnRSZWYsXG4gIEV2ZW50RW1pdHRlcixcbiAgZm9yd2FyZFJlZixcbiAgSW5wdXQsXG4gIE9uRGVzdHJveSxcbiAgT3V0cHV0LFxuICBWaWV3Q2hpbGQsXG4gIFZpZXdFbmNhcHN1bGF0aW9uXG59IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xuaW1wb3J0IHtcbiAgQ29sdW1uQXBpLFxuICBHcmlkT3B0aW9ucyxcbiAgR3JpZFJlYWR5RXZlbnQsXG4gIENvbERlZixcbiAgQ29sR3JvdXBEZWYsXG4gIFJvd0RhdGFDaGFuZ2VkRXZlbnQsXG4gIFJvd0RhdGFVcGRhdGVkRXZlbnQsXG4gIFJvd0dyb3VwT3BlbmVkRXZlbnQsXG4gIFJvd05vZGVcbn0gZnJvbSAnYWctZ3JpZC1jb21tdW5pdHknO1xuaW1wb3J0IHsgSWNvblJlZ2lzdHJ5IH0gZnJvbSAnLi4vLi4vc2VydmljZXMvaWNvbi1yZWdpc3RyeSc7XG5pbXBvcnQgeyBnZXRHcmlkSWNvbnMgfSBmcm9tICcuL2dyaWQtaWNvbnMnO1xuaW1wb3J0IHsgQmFzZUN1c3RvbUNvbnRyb2wgfSBmcm9tICcuLi8uLi9jdXN0b20tY29udHJvbC9iYXNlLWN1c3RvbS1jb250cm9sJztcbmltcG9ydCB7IENvbnRyb2xWYWx1ZUFjY2Vzc29yLCBOR19WQUxVRV9BQ0NFU1NPUiB9IGZyb20gJ0Bhbmd1bGFyL2Zvcm1zJztcbmltcG9ydCB7IERhdG9HcmlkQVBJIH0gZnJvbSAnLi4vZGF0by1ncmlkLWFwaSc7XG5pbXBvcnQgeyBjb21iaW5lTGF0ZXN0LCBTdWJqZWN0IH0gZnJvbSAncnhqcyc7XG5pbXBvcnQgeyB0YWtlIH0gZnJvbSAncnhqcy9vcGVyYXRvcnMnO1xuaW1wb3J0IHsgRGF0b0dyaWRIZWxwZXIgfSBmcm9tICcuLi9ncmlkLWhlbHBlcic7XG5pbXBvcnQgeyB1bnRpbERlc3Ryb3llZCB9IGZyb20gJ25neC10YWtlLXVudGlsLWRlc3Ryb3knO1xuaW1wb3J0IHsgYWRkQ2xhc3MsIHJlbW92ZUNsYXNzIH0gZnJvbSAnLi4vLi4vaW50ZXJuYWwvaGVscGVycyc7XG5pbXBvcnQgeyBEYXRvVGFibGVBbGlnbm1lbnQgfSBmcm9tICcuLi9ncmlkLnR5cGVzJztcbmltcG9ydCB7IEFnR3JpZEFuZ3VsYXIgfSBmcm9tICdhZy1ncmlkLWFuZ3VsYXInO1xuaW1wb3J0IHsgRGF0b0dyaWRQYWdpbmF0aW9uQ29tcG9uZW50IH0gZnJvbSAnLi4vZ3JpZC1wYWdpbmF0aW9uL2dyaWQtcGFnaW5hdGlvbi5jb21wb25lbnQnO1xuaW1wb3J0IHsgY29lcmNlQXJyYXkgfSBmcm9tICdAZGF0b3JhbWEvYWtpdGEnO1xuXG5jb25zdCB2YWx1ZUFjY2Vzc29yID0ge1xuICBwcm92aWRlOiBOR19WQUxVRV9BQ0NFU1NPUixcbiAgdXNlRXhpc3Rpbmc6IGZvcndhcmRSZWYoKCkgPT4gRGF0b0dyaWRDb21wb25lbnQpLFxuICBtdWx0aTogdHJ1ZVxufTtcblxuQENvbXBvbmVudCh7XG4gIHNlbGVjdG9yOiAnZGF0by1ncmlkJyxcbiAgdGVtcGxhdGVVcmw6ICcuL2dyaWQuY29tcG9uZW50Lmh0bWwnLFxuICBzdHlsZVVybHM6IFsnLi9ncmlkLmNvbXBvbmVudC5zY3NzJ10sXG4gIGNoYW5nZURldGVjdGlvbjogQ2hhbmdlRGV0ZWN0aW9uU3RyYXRlZ3kuT25QdXNoLFxuICBlbmNhcHN1bGF0aW9uOiBWaWV3RW5jYXBzdWxhdGlvbi5Ob25lLFxuICBwcm92aWRlcnM6IFt2YWx1ZUFjY2Vzc29yXVxufSlcbmV4cG9ydCBjbGFzcyBEYXRvR3JpZENvbXBvbmVudCBleHRlbmRzIEJhc2VDdXN0b21Db250cm9sIGltcGxlbWVudHMgQ29udHJvbFZhbHVlQWNjZXNzb3IsIE9uRGVzdHJveSB7XG4gIGFwaTogRGF0b0dyaWRBUEk8YW55PjtcbiAgZ3JpZENvbHVtbkFwaTogQ29sdW1uQXBpO1xuICBncmlkT3B0aW9uczogR3JpZE9wdGlvbnM7XG4gIHJvd0RhdGFDaGFuZ2VkID0gbmV3IFN1YmplY3Q8Um93RGF0YUNoYW5nZWRFdmVudCB8IFJvd0RhdGFVcGRhdGVkRXZlbnQ+KCk7XG4gIGhhc1BhZ2luYXRpb24gPSB0cnVlO1xuICBAVmlld0NoaWxkKEFnR3JpZEFuZ3VsYXIsIHsgc3RhdGljOiB0cnVlIH0pIGdyaWRDb21wb25lbnQ6IEFnR3JpZEFuZ3VsYXI7XG4gIEBWaWV3Q2hpbGQoRGF0b0dyaWRQYWdpbmF0aW9uQ29tcG9uZW50LCB7IHN0YXRpYzogdHJ1ZSB9KSBwYWdpbmF0aW9uQ29tcG9uZW50OiBEYXRvR3JpZFBhZ2luYXRpb25Db21wb25lbnQ7XG5cbiAgQElucHV0KClcbiAgc2V0IG9wdGlvbnMob3B0aW9uczogR3JpZE9wdGlvbnMpIHtcbiAgICBvcHRpb25zLmNvbHVtbkRlZnMgPSB0aGlzLmdyaWRIZWxwZXIubm9ybWFsaXplQ29sdW1ucyhvcHRpb25zLmNvbHVtbkRlZnMpO1xuICAgIHRoaXMuZ3JpZE9wdGlvbnMgPSB7XG4gICAgICAuLi50aGlzLmRlZmF1bHRHcmlkT3B0aW9ucyxcbiAgICAgIC4uLm9wdGlvbnMsXG4gICAgICBkZWZhdWx0Q29sRGVmOiB7XG4gICAgICAgIC4uLnRoaXMuZGVmYXVsdEdyaWRPcHRpb25zLmRlZmF1bHRDb2xEZWYsXG4gICAgICAgIC4uLihvcHRpb25zLmRlZmF1bHRDb2xEZWYgfHwge30pXG4gICAgICB9XG4gICAgfTtcbiAgICBpZiAoIXRoaXMuZ3JpZE9wdGlvbnMuc3VwcHJlc3NSb3dDbGlja1NlbGVjdGlvbikge1xuICAgICAgdGhpcy5ncmlkT3B0aW9ucy5yb3dDbGFzcyA9ICdzZWxlY3RhYmxlJztcbiAgICB9XG4gICAgLy8gY2hlY2sgaWYgd2UgZ290IGEgcGFnaW5hdGlvblxuICAgIHRoaXMuaGFzUGFnaW5hdGlvbiA9IHRoaXMuZ3JpZE9wdGlvbnMucGFnaW5hdGlvbjtcbiAgICBjb25zdCBjbGFzc0Z1bmMgPSB0aGlzLmhhc1BhZ2luYXRpb24gPyBhZGRDbGFzcyA6IHJlbW92ZUNsYXNzO1xuICAgIGNsYXNzRnVuYyh0aGlzLmhvc3RFbGVtZW50LCAnZ3JpZC1wYWdpbmF0aW9uJyk7XG4gICAgaWYgKHRoaXMuZ3JpZE9wdGlvbnMucm93TW9kZWxUeXBlID09PSAnaW5maW5pdGUnIHx8IHRoaXMuZ3JpZE9wdGlvbnMucm93TW9kZWxUeXBlID09PSAnc2VydmVyU2lkZScpIHtcbiAgICAgIHRoaXMuaW5maW5pdGVQYWdpbmF0aW9uID0gdHJ1ZTtcbiAgICAgIGNvbnN0IHsgZGVmYXVsdENvbERlZiB9ID0gdGhpcy5ncmlkT3B0aW9ucztcbiAgICAgIGlmIChkZWZhdWx0Q29sRGVmLmZpbHRlcikge1xuICAgICAgICBkZWZhdWx0Q29sRGVmLmZpbHRlclBhcmFtcyA9IHsgbmV3Um93c0FjdGlvbjogJ2tlZXAnIH07XG4gICAgICB9XG4gICAgfVxuICB9XG5cbiAgQE91dHB1dCgpIGdyaWRSZWFkeSA9IG5ldyBFdmVudEVtaXR0ZXI8R3JpZFJlYWR5RXZlbnQ+KCk7XG5cbiAgcHJpdmF0ZSBpY29ucztcbiAgcHJpdmF0ZSBhY3RpdmVNZW51O1xuICBwcml2YXRlIGRlZmF1bHRHcmlkT3B0aW9uczogR3JpZE9wdGlvbnMgPSB7XG4gICAgLyoqIFJlcGxhY2UgdGhlIGJ1aWxkLWluIHBhZ2luYXRpb24gKi9cbiAgICBzdXBwcmVzc1BhZ2luYXRpb25QYW5lbDogdHJ1ZSxcbiAgICBwYWdpbmF0aW9uOiB0cnVlLFxuICAgIGRlZmF1bHRDb2xEZWY6IHtcbiAgICAgIHNvcnRhYmxlOiB0cnVlLFxuICAgICAgcmVzaXphYmxlOiB0cnVlLFxuICAgICAgZmlsdGVyOiAnYWdUZXh0Q29sdW1uRmlsdGVyJyxcbiAgICAgIG1lbnVUYWJzOiBbJ2ZpbHRlck1lbnVUYWInXVxuICAgIH0sXG4gICAgcm93SGVpZ2h0OiAzNSxcbiAgICBoZWFkZXJIZWlnaHQ6IDMwLFxuICAgIG9uUm93RGF0YUNoYW5nZWQ6IGV2ZW50ID0+IHtcbiAgICAgIHRoaXMucm93RGF0YUNoYW5nZWQubmV4dChldmVudCk7XG4gICAgfSxcbiAgICBvblJvd0RhdGFVcGRhdGVkOiBldmVudCA9PiB7XG4gICAgICB0aGlzLnJvd0RhdGFDaGFuZ2VkLm5leHQoZXZlbnQpO1xuICAgIH0sXG4gICAgb25TZWxlY3Rpb25DaGFuZ2VkOiBldmVudCA9PiB7XG4gICAgICBjb25zdCBzZWxlY3RlZFJvd3MgPSB0aGlzLmFwaS5nZXRTZWxlY3RlZFJvd3MoKTtcbiAgICAgIHRoaXMub25DaGFuZ2Uoc2VsZWN0ZWRSb3dzKTtcbiAgICB9LFxuICAgIHJvd1NlbGVjdGlvbjogJ211bHRpcGxlJyxcbiAgICByb3dEZXNlbGVjdGlvbjogdHJ1ZSxcbiAgICB1blNvcnRJY29uOiB0cnVlLFxuICAgIGFuaW1hdGVSb3dzOiB0cnVlLFxuICAgIHJlbWVtYmVyR3JvdXBTdGF0ZVdoZW5OZXdEYXRhOiB0cnVlXG4gIH07XG4gIGluZmluaXRlUGFnaW5hdGlvbiA9IGZhbHNlO1xuICBpc1Jvd3NDb2xsYXBzZWQgPSB0cnVlO1xuXG4gIGNvbnN0cnVjdG9yKFxuICAgIHByaXZhdGUgZ3JpZEhlbHBlcjogRGF0b0dyaWRIZWxwZXIsXG4gICAgcHJpdmF0ZSBlbGVtZW50OiBFbGVtZW50UmVmLFxuICAgIHByaXZhdGUgaWNvblJlZ2lzdHJ5OiBJY29uUmVnaXN0cnksXG4gICAgcHJpdmF0ZSBjZHI6IENoYW5nZURldGVjdG9yUmVmXG4gICkge1xuICAgIHN1cGVyKCk7XG4gICAgdGhpcy5hcGkgPSBuZXcgRGF0b0dyaWRBUEkoKTtcbiAgICB0aGlzLmRlZmF1bHRHcmlkT3B0aW9ucy5pY29ucyA9IGdldEdyaWRJY29ucygpO1xuICAgIHRoaXMuZ3JpZE9wdGlvbnMgPSB7IC4uLnRoaXMuZGVmYXVsdEdyaWRPcHRpb25zIH07XG4gIH1cblxuICBnZXQgb3B0aW9ucygpOiBHcmlkT3B0aW9ucyB7XG4gICAgcmV0dXJuIHRoaXMuZ3JpZE9wdGlvbnM7XG4gIH1cblxuICBuZ09uRGVzdHJveSgpOiB2b2lkIHtcbiAgICB0aGlzLnJvd0RhdGFDaGFuZ2VkLmNvbXBsZXRlKCk7XG4gIH1cblxuICAvKipcbiAgICogT24gZ3JpZCByZWFkeVxuICAgKiBAcGFyYW0ge0dyaWRSZWFkeUV2ZW50fSBldmVudFxuICAgKi9cbiAgb25HcmlkUmVhZHkoZXZlbnQ6IEdyaWRSZWFkeUV2ZW50KSB7XG4gICAgLy8gc2V0IGdyaWQgQVBJXG4gICAgdGhpcy5hcGkuZ3JpZEFwaSA9IGV2ZW50LmFwaTtcbiAgICB0aGlzLmdyaWRDb2x1bW5BcGkgPSBldmVudC5jb2x1bW5BcGk7XG4gICAgaWYgKHRoaXMuZ3JpZENvbHVtbkFwaS5nZXRSb3dHcm91cENvbHVtbnMoKS5sZW5ndGggPj0gMSkge1xuICAgICAgdGhpcy5ncmlkQ29tcG9uZW50LnJvd0dyb3VwT3BlbmVkLnBpcGUodW50aWxEZXN0cm95ZWQodGhpcykpLnN1YnNjcmliZShldmVudCA9PiB0aGlzLnJvd0dyb3VwU3RhdGVDaGFuZ2UoZXZlbnQpKTtcbiAgICAgIHRoaXMucGFnaW5hdGlvbkNvbXBvbmVudC50b2dnbGVSb3dHcm91cC5waXBlKHVudGlsRGVzdHJveWVkKHRoaXMpKS5zdWJzY3JpYmUoKCkgPT4gdGhpcy50b2dnbGVDb2xsYXBzZVN0YXRlKCkpO1xuICAgIH1cbiAgICB0aGlzLmNkci5kZXRlY3RDaGFuZ2VzKCk7XG4gICAgdGhpcy5ncmlkUmVhZHkuZW1pdChldmVudCk7XG4gIH1cblxuICBhbGlnblRhYmxlKGFsaWduTW9kZTogRGF0b1RhYmxlQWxpZ25tZW50KSB7XG4gICAgaWYgKGFsaWduTW9kZSA9PT0gRGF0b1RhYmxlQWxpZ25tZW50LkZJVF9DT05UQUlORVIpIHtcbiAgICAgIHRoaXMuZml0VG9Db250YWluZXIoKTtcbiAgICB9IGVsc2Uge1xuICAgICAgdGhpcy5maXRUb0NvbnRlbnQoKTtcbiAgICB9XG4gIH1cblxuICAvKipcbiAgICogVXBkYWV0IHRoZSBjb2x1bW5zIGRlZmluaXRpb25zXG4gICAqIEBwYXJhbSB7KENvbERlZiB8IENvbEdyb3VwRGVmKVtdfSBjb2x1bW5EZWZzXG4gICAqL1xuICB1cGRhdGVDb2x1bW5zKGNvbHVtbkRlZnM6IChDb2xEZWYgfCBDb2xHcm91cERlZilbXSkge1xuICAgIHRoaXMuZ3JpZEhlbHBlci51cGRhdGVDb2x1bW5zKHRoaXMuYXBpLmdyaWRBcGksIGNvbHVtbkRlZnMpO1xuICB9XG5cbiAgd3JpdGVWYWx1ZShvYmo6IGFueSk6IHZvaWQge1xuICAgIGNvbnN0IHJvd3MgPSBvYmogPyBjb2VyY2VBcnJheShvYmopIDogW107XG5cbiAgICBpZiAodGhpcy5hcGkucmVhZHkpIHtcbiAgICAgIHRoaXMuYXBpLnNldFNlbGVjdGVkUm93cyhyb3dzKTtcbiAgICB9IGVsc2Uge1xuICAgICAgLy8gd2FpdCBmb3IgdGhlIGdyaWQgdG8gYmUgcmVhZHkgYW5kIHRoZSBkYXRhIGhhcyBiZWVuIHNldFxuICAgICAgY29tYmluZUxhdGVzdCh0aGlzLnJvd0RhdGFDaGFuZ2VkLCB0aGlzLmdyaWRSZWFkeSlcbiAgICAgICAgLnBpcGUoXG4gICAgICAgICAgdGFrZSgxKSxcbiAgICAgICAgICB1bnRpbERlc3Ryb3llZCh0aGlzKVxuICAgICAgICApXG4gICAgICAgIC5zdWJzY3JpYmUoKCkgPT4gdGhpcy5hcGkuc2V0U2VsZWN0ZWRSb3dzKHJvd3MpKTtcbiAgICB9XG4gIH1cblxuICAvKipcbiAgICogY2FsbCBhZy1ncmlkJ3Mgc2l6ZSBhbGwgY29sdW1ucyB0byBmaXQgdG8gY29udGFpbmVyXG4gICAqL1xuICBwcml2YXRlIGZpdFRvQ29udGFpbmVyKCk6IHZvaWQge1xuICAgIHRoaXMuZ3JpZE9wdGlvbnMuYXBpLnNpemVDb2x1bW5zVG9GaXQoKTtcbiAgfVxuXG4gIC8qKlxuICAgKiBjYWxsIGFnLWdyaWQncyBzaXplIGFsbCBjb2x1bW5zIHRvIGZpdCB0byBjb250ZW50XG4gICAqL1xuICBwcml2YXRlIGZpdFRvQ29udGVudCgpOiB2b2lkIHtcbiAgICB0aGlzLmdyaWRPcHRpb25zLmNvbHVtbkFwaS5hdXRvU2l6ZUFsbENvbHVtbnMoKTtcbiAgICBjb25zdCB7IHdpZHRoIH0gPSB0aGlzLmhvc3RFbGVtZW50LmdldEJvdW5kaW5nQ2xpZW50UmVjdCgpO1xuICAgIGNvbnN0IGFnQm9keSA9IHRoaXMuaG9zdEVsZW1lbnQucXVlcnlTZWxlY3RvcignLmFnLWJvZHktY29udGFpbmVyJyk7XG4gICAgY29uc3QgYm9keVdpZHRoOiBudW1iZXIgPSBhZ0JvZHkgPyBhZ0JvZHkuY2xpZW50V2lkdGggOiAwO1xuICAgIGlmICh3aWR0aCA+IGJvZHlXaWR0aCkge1xuICAgICAgdGhpcy5maXRUb0NvbnRhaW5lcigpO1xuICAgIH1cbiAgfVxuXG4gIHByaXZhdGUgcm93R3JvdXBTdGF0ZUNoYW5nZShldmVudDogUm93R3JvdXBPcGVuZWRFdmVudCkge1xuICAgIGlmIChldmVudC5ub2RlLnJvd0dyb3VwSW5kZXggPT09IDApIHtcbiAgICAgIGxldCBjb2xsYXBzZWQgPSB0cnVlO1xuICAgICAgZXZlbnQuYXBpLmZvckVhY2hOb2RlKChub2RlOiBSb3dOb2RlKSA9PiB7XG4gICAgICAgIGlmIChub2RlLnJvd0dyb3VwSW5kZXggPT09IDAgJiYgbm9kZS5leHBhbmRlZCkge1xuICAgICAgICAgIGNvbGxhcHNlZCA9IGZhbHNlO1xuICAgICAgICB9XG4gICAgICB9KTtcbiAgICAgIHRoaXMuaXNSb3dzQ29sbGFwc2VkID0gY29sbGFwc2VkO1xuICAgICAgdGhpcy5wYWdpbmF0aW9uQ29tcG9uZW50LmluaXRQYWdpbmF0aW9uKCk7XG4gICAgfVxuICB9XG5cbiAgLyoqXG4gICAqIGNvbGxhcHNlIGFuZCBleHBvYW5kIGFsbCB0aGUgZ3JvdXBlZCByb3dzIGluIGNyb3NzIHRhYiB0YWJsZVxuICAgKiB3aGVuIHRyaWdnZXJlZCBmcm9tIHRoZSBuYXZpZ2F0aW9uLWNvbnRyb2wgcGFuZWxcbiAgICovXG4gIHByaXZhdGUgdG9nZ2xlQ29sbGFwc2VTdGF0ZSgpIHtcbiAgICBpZiAodGhpcy5pc1Jvd3NDb2xsYXBzZWQpIHtcbiAgICAgIHRoaXMuYXBpLmdyaWRBcGkuZXhwYW5kQWxsKCk7XG4gICAgfSBlbHNlIHtcbiAgICAgIHRoaXMuYXBpLmdyaWRBcGkuY29sbGFwc2VBbGwoKTtcbiAgICB9XG4gICAgdGhpcy5pc1Jvd3NDb2xsYXBzZWQgPSAhdGhpcy5pc1Jvd3NDb2xsYXBzZWQ7XG4gICAgdGhpcy5wYWdpbmF0aW9uQ29tcG9uZW50LmluaXRQYWdpbmF0aW9uKCk7XG4gIH1cblxuICBwcml2YXRlIGdldCBob3N0RWxlbWVudCgpIHtcbiAgICByZXR1cm4gdGhpcy5lbGVtZW50Lm5hdGl2ZUVsZW1lbnQ7XG4gIH1cblxuICBwcml2YXRlIGhpZGVNZW51SWNvbigpIHtcbiAgICByZW1vdmVDbGFzcyh0aGlzLmFjdGl2ZU1lbnUsICdtZW51LWFjdGl2ZScpO1xuICAgIHRoaXMuYWN0aXZlTWVudSA9IG51bGw7XG4gIH1cbn1cbiJdfQ==
|
|
229
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZ3JpZC5jb21wb25lbnQuanMiLCJzb3VyY2VSb290Ijoibmc6Ly9AZGF0b3JhbWEvY29yZS8iLCJzb3VyY2VzIjpbImxpYi9ncmlkL2dyaWQvZ3JpZC5jb21wb25lbnQudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUE7Ozs7OztHQU1HOztBQUVILE9BQU8sRUFDTCx1QkFBdUIsRUFDdkIsaUJBQWlCLEVBQ2pCLFNBQVMsRUFDVCxVQUFVLEVBQ1YsWUFBWSxFQUNaLFVBQVUsRUFDVixLQUFLLEVBQ0wsU0FBUyxFQUNULE1BQU0sRUFDTixTQUFTLEVBQ1QsaUJBQWlCLEVBQ2xCLE1BQU0sZUFBZSxDQUFDO0FBWXZCLE9BQU8sRUFBRSxZQUFZLEVBQUUsTUFBTSw4QkFBOEIsQ0FBQztBQUM1RCxPQUFPLEVBQUUsWUFBWSxFQUFFLE1BQU0sY0FBYyxDQUFDO0FBQzVDLE9BQU8sRUFBRSxpQkFBaUIsRUFBRSxNQUFNLDBDQUEwQyxDQUFDO0FBQzdFLE9BQU8sRUFBd0IsaUJBQWlCLEVBQUUsTUFBTSxnQkFBZ0IsQ0FBQztBQUN6RSxPQUFPLEVBQUUsV0FBVyxFQUFFLE1BQU0sa0JBQWtCLENBQUM7QUFDL0MsT0FBTyxFQUFFLGFBQWEsRUFBRSxPQUFPLEVBQUUsTUFBTSxNQUFNLENBQUM7QUFDOUMsT0FBTyxFQUFFLElBQUksRUFBRSxNQUFNLGdCQUFnQixDQUFDO0FBQ3RDLE9BQU8sRUFBRSxjQUFjLEVBQUUsTUFBTSxnQkFBZ0IsQ0FBQztBQUNoRCxPQUFPLEVBQUUsY0FBYyxFQUFFLE1BQU0sd0JBQXdCLENBQUM7QUFDeEQsT0FBTyxFQUFFLFFBQVEsRUFBRSxXQUFXLEVBQUUsTUFBTSx3QkFBd0IsQ0FBQztBQUUvRCxPQUFPLEVBQUUsYUFBYSxFQUFFLE1BQU0sNEJBQTRCLENBQUM7QUFDM0QsT0FBTyxFQUFFLDJCQUEyQixFQUFFLE1BQU0sOENBQThDLENBQUM7QUFDM0YsT0FBTyxFQUFFLFdBQVcsRUFBRSxNQUFNLGlCQUFpQixDQUFDO0FBRTlDLE1B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QixVQUFVO1FBQ0wsWUFBWTtRQUNyQixpQkFBaUI7R0ExRXJCLGlCQUFpQixDQWtNN0I7U0FsTVksaUJBQWlCIiwic291cmNlc0NvbnRlbnQiOlsiLyoqXG4gKiBAbGljZW5zZVxuICogQ29weXJpZ2h0IERhdG9yYW1hLiBBbGwgUmlnaHRzIFJlc2VydmVkLlxuICpcbiAqIFVzZSBvZiB0aGlzIHNvdXJjZSBjb2RlIGlzIGdvdmVybmVkIGJ5IGFuIEFwYWNoZSBMaWNlbnNlIDIuMCBsaWNlbnNlIHRoYXQgY2FuIGJlXG4gKiBmb3VuZCBpbiB0aGUgTElDRU5TRSBmaWxlIGF0IGh0dHBzOi8vZ2l0aHViLmNvbS9kYXRvcmFtYS9jbGllbnQtY29yZS9ibG9iL21hc3Rlci9MSUNFTlNFXG4gKi9cblxuaW1wb3J0IHtcbiAgQ2hhbmdlRGV0ZWN0aW9uU3RyYXRlZ3ksXG4gIENoYW5nZURldGVjdG9yUmVmLFxuICBDb21wb25lbnQsXG4gIEVsZW1lbnRSZWYsXG4gIEV2ZW50RW1pdHRlcixcbiAgZm9yd2FyZFJlZixcbiAgSW5wdXQsXG4gIE9uRGVzdHJveSxcbiAgT3V0cHV0LFxuICBWaWV3Q2hpbGQsXG4gIFZpZXdFbmNhcHN1bGF0aW9uXG59IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xuaW1wb3J0IHtcbiAgQ29sdW1uQXBpLFxuICBHcmlkT3B0aW9ucyxcbiAgR3JpZFJlYWR5RXZlbnQsXG4gIENvbERlZixcbiAgQ29sR3JvdXBEZWYsXG4gIFJvd0RhdGFDaGFuZ2VkRXZlbnQsXG4gIFJvd0RhdGFVcGRhdGVkRXZlbnQsXG4gIFJvd0dyb3VwT3BlbmVkRXZlbnQsXG4gIFJvd05vZGVcbn0gZnJvbSAnQGFnLWdyaWQtY29tbXVuaXR5L2NvcmUnO1xuaW1wb3J0IHsgSWNvblJlZ2lzdHJ5IH0gZnJvbSAnLi4vLi4vc2VydmljZXMvaWNvbi1yZWdpc3RyeSc7XG5pbXBvcnQgeyBnZXRHcmlkSWNvbnMgfSBmcm9tICcuL2dyaWQtaWNvbnMnO1xuaW1wb3J0IHsgQmFzZUN1c3RvbUNvbnRyb2wgfSBmcm9tICcuLi8uLi9jdXN0b20tY29udHJvbC9iYXNlLWN1c3RvbS1jb250cm9sJztcbmltcG9ydCB7IENvbnRyb2xWYWx1ZUFjY2Vzc29yLCBOR19WQUxVRV9BQ0NFU1NPUiB9IGZyb20gJ0Bhbmd1bGFyL2Zvcm1zJztcbmltcG9ydCB7IERhdG9HcmlkQVBJIH0gZnJvbSAnLi4vZGF0by1ncmlkLWFwaSc7XG5pbXBvcnQgeyBjb21iaW5lTGF0ZXN0LCBTdWJqZWN0IH0gZnJvbSAncnhqcyc7XG5pbXBvcnQgeyB0YWtlIH0gZnJvbSAncnhqcy9vcGVyYXRvcnMnO1xuaW1wb3J0IHsgRGF0b0dyaWRIZWxwZXIgfSBmcm9tICcuLi9ncmlkLWhlbHBlcic7XG5pbXBvcnQgeyB1bnRpbERlc3Ryb3llZCB9IGZyb20gJ25neC10YWtlLXVudGlsLWRlc3Ryb3knO1xuaW1wb3J0IHsgYWRkQ2xhc3MsIHJlbW92ZUNsYXNzIH0gZnJvbSAnLi4vLi4vaW50ZXJuYWwvaGVscGVycyc7XG5pbXBvcnQgeyBEYXRvVGFibGVBbGlnbm1lbnQgfSBmcm9tICcuLi9ncmlkLnR5cGVzJztcbmltcG9ydCB7IEFnR3JpZEFuZ3VsYXIgfSBmcm9tICdAYWctZ3JpZC1jb21tdW5pdHkvYW5ndWxhcic7XG5pbXBvcnQgeyBEYXRvR3JpZFBhZ2luYXRpb25Db21wb25lbnQgfSBmcm9tICcuLi9ncmlkLXBhZ2luYXRpb24vZ3JpZC1wYWdpbmF0aW9uLmNvbXBvbmVudCc7XG5pbXBvcnQgeyBjb2VyY2VBcnJheSB9IGZyb20gJ0BkYXRvcmFtYS9ha2l0YSc7XG5cbmNvbnN0IHZhbHVlQWNjZXNzb3IgPSB7XG4gIHByb3ZpZGU6IE5HX1ZBTFVFX0FDQ0VTU09SLFxuICB1c2VFeGlzdGluZzogZm9yd2FyZFJlZigoKSA9PiBEYXRvR3JpZENvbXBvbmVudCksXG4gIG11bHRpOiB0cnVlXG59O1xuXG5AQ29tcG9uZW50KHtcbiAgc2VsZWN0b3I6ICdkYXRvLWdyaWQnLFxuICB0ZW1wbGF0ZVVybDogJy4vZ3JpZC5jb21wb25lbnQuaHRtbCcsXG4gIHN0eWxlVXJsczogWycuL2dyaWQuY29tcG9uZW50LnNjc3MnXSxcbiAgY2hhbmdlRGV0ZWN0aW9uOiBDaGFuZ2VEZXRlY3Rpb25TdHJhdGVneS5PblB1c2gsXG4gIGVuY2Fwc3VsYXRpb246IFZpZXdFbmNhcHN1bGF0aW9uLk5vbmUsXG4gIHByb3ZpZGVyczogW3ZhbHVlQWNjZXNzb3JdXG59KVxuZXhwb3J0IGNsYXNzIERhdG9HcmlkQ29tcG9uZW50IGV4dGVuZHMgQmFzZUN1c3RvbUNvbnRyb2wgaW1wbGVtZW50cyBDb250cm9sVmFsdWVBY2Nlc3NvciwgT25EZXN0cm95IHtcbiAgYXBpOiBEYXRvR3JpZEFQSTxhbnk+O1xuICBncmlkQ29sdW1uQXBpOiBDb2x1bW5BcGk7XG4gIGdyaWRPcHRpb25zOiBHcmlkT3B0aW9ucztcbiAgcm93RGF0YUNoYW5nZWQgPSBuZXcgU3ViamVjdDxSb3dEYXRhQ2hhbmdlZEV2ZW50IHwgUm93RGF0YVVwZGF0ZWRFdmVudD4oKTtcbiAgaGFzUGFnaW5hdGlvbiA9IHRydWU7XG4gIEBWaWV3Q2hpbGQoQWdHcmlkQW5ndWxhciwgeyBzdGF0aWM6IHRydWUgfSkgZ3JpZENvbXBvbmVudDogQWdHcmlkQW5ndWxhcjtcbiAgQFZpZXdDaGlsZChEYXRvR3JpZFBhZ2luYXRpb25Db21wb25lbnQsIHsgc3RhdGljOiB0cnVlIH0pIHBhZ2luYXRpb25Db21wb25lbnQ6IERhdG9HcmlkUGFnaW5hdGlvbkNvbXBvbmVudDtcblxuICBASW5wdXQoKVxuICBzZXQgb3B0aW9ucyhvcHRpb25zOiBHcmlkT3B0aW9ucykge1xuICAgIG9wdGlvbnMuY29sdW1uRGVmcyA9IHRoaXMuZ3JpZEhlbHBlci5ub3JtYWxpemVDb2x1bW5zKG9wdGlvbnMuY29sdW1uRGVmcyk7XG4gICAgdGhpcy5ncmlkT3B0aW9ucyA9IHtcbiAgICAgIC4uLnRoaXMuZGVmYXVsdEdyaWRPcHRpb25zLFxuICAgICAgLi4ub3B0aW9ucyxcbiAgICAgIGRlZmF1bHRDb2xEZWY6IHtcbiAgICAgICAgLi4udGhpcy5kZWZhdWx0R3JpZE9wdGlvbnMuZGVmYXVsdENvbERlZixcbiAgICAgICAgLi4uKG9wdGlvbnMuZGVmYXVsdENvbERlZiB8fCB7fSlcbiAgICAgIH1cbiAgICB9O1xuICAgIGlmICghdGhpcy5ncmlkT3B0aW9ucy5zdXBwcmVzc1Jvd0NsaWNrU2VsZWN0aW9uKSB7XG4gICAgICB0aGlzLmdyaWRPcHRpb25zLnJvd0NsYXNzID0gJ3NlbGVjdGFibGUnO1xuICAgIH1cbiAgICAvLyBjaGVjayBpZiB3ZSBnb3QgYSBwYWdpbmF0aW9uXG4gICAgdGhpcy5oYXNQYWdpbmF0aW9uID0gdGhpcy5ncmlkT3B0aW9ucy5wYWdpbmF0aW9uO1xuICAgIGNvbnN0IGNsYXNzRnVuYyA9IHRoaXMuaGFzUGFnaW5hdGlvbiA/IGFkZENsYXNzIDogcmVtb3ZlQ2xhc3M7XG4gICAgY2xhc3NGdW5jKHRoaXMuaG9zdEVsZW1lbnQsICdncmlkLXBhZ2luYXRpb24nKTtcbiAgICBpZiAodGhpcy5ncmlkT3B0aW9ucy5yb3dNb2RlbFR5cGUgPT09ICdpbmZpbml0ZScgfHwgdGhpcy5ncmlkT3B0aW9ucy5yb3dNb2RlbFR5cGUgPT09ICdzZXJ2ZXJTaWRlJykge1xuICAgICAgdGhpcy5pbmZpbml0ZVBhZ2luYXRpb24gPSB0cnVlO1xuICAgICAgY29uc3QgeyBkZWZhdWx0Q29sRGVmIH0gPSB0aGlzLmdyaWRPcHRpb25zO1xuICAgICAgaWYgKGRlZmF1bHRDb2xEZWYuZmlsdGVyKSB7XG4gICAgICAgIGRlZmF1bHRDb2xEZWYuZmlsdGVyUGFyYW1zID0geyBuZXdSb3dzQWN0aW9uOiAna2VlcCcgfTtcbiAgICAgIH1cbiAgICB9XG4gIH1cblxuICBAT3V0cHV0KCkgZ3JpZFJlYWR5ID0gbmV3IEV2ZW50RW1pdHRlcjxHcmlkUmVhZHlFdmVudD4oKTtcblxuICBwcml2YXRlIGFjdGl2ZU1lbnU7XG4gIHByaXZhdGUgZGVmYXVsdEdyaWRPcHRpb25zOiBHcmlkT3B0aW9ucyA9IHtcbiAgICAvKiogUmVwbGFjZSB0aGUgYnVpbGQtaW4gcGFnaW5hdGlvbiAqL1xuICAgIHN1cHByZXNzUGFnaW5hdGlvblBhbmVsOiB0cnVlLFxuICAgIHBhZ2luYXRpb246IHRydWUsXG4gICAgZGVmYXVsdENvbERlZjoge1xuICAgICAgc29ydGFibGU6IHRydWUsXG4gICAgICByZXNpemFibGU6IHRydWUsXG4gICAgICBmaWx0ZXI6ICdhZ1RleHRDb2x1bW5GaWx0ZXInLFxuICAgICAgbWVudVRhYnM6IFsnZmlsdGVyTWVudVRhYiddXG4gICAgfSxcbiAgICByb3dIZWlnaHQ6IDM1LFxuICAgIGhlYWRlckhlaWdodDogMzAsXG4gICAgb25Sb3dEYXRhQ2hhbmdlZDogZXZlbnQgPT4ge1xuICAgICAgdGhpcy5yb3dEYXRhQ2hhbmdlZC5uZXh0KGV2ZW50KTtcbiAgICB9LFxuICAgIG9uUm93RGF0YVVwZGF0ZWQ6IGV2ZW50ID0+IHtcbiAgICAgIHRoaXMucm93RGF0YUNoYW5nZWQubmV4dChldmVudCk7XG4gICAgfSxcbiAgICBvblNlbGVjdGlvbkNoYW5nZWQ6IGV2ZW50ID0+IHtcbiAgICAgIGNvbnN0IHNlbGVjdGVkUm93cyA9IHRoaXMuYXBpLmdldFNlbGVjdGVkUm93cygpO1xuICAgICAgdGhpcy5vbkNoYW5nZShzZWxlY3RlZFJvd3MpO1xuICAgIH0sXG4gICAgcm93U2VsZWN0aW9uOiAnbXVsdGlwbGUnLFxuICAgIHJvd0Rlc2VsZWN0aW9uOiB0cnVlLFxuICAgIHVuU29ydEljb246IHRydWUsXG4gICAgYW5pbWF0ZVJvd3M6IHRydWUsXG4gICAgcmVtZW1iZXJHcm91cFN0YXRlV2hlbk5ld0RhdGE6IHRydWVcbiAgfTtcbiAgaW5maW5pdGVQYWdpbmF0aW9uID0gZmFsc2U7XG4gIGlzUm93c0NvbGxhcHNlZCA9IHRydWU7XG5cbiAgY29uc3RydWN0b3IoXG4gICAgcHJpdmF0ZSBncmlkSGVscGVyOiBEYXRvR3JpZEhlbHBlcixcbiAgICBwcml2YXRlIGVsZW1lbnQ6IEVsZW1lbnRSZWYsXG4gICAgcHJpdmF0ZSBpY29uUmVnaXN0cnk6IEljb25SZWdpc3RyeSxcbiAgICBwcml2YXRlIGNkcjogQ2hhbmdlRGV0ZWN0b3JSZWZcbiAgKSB7XG4gICAgc3VwZXIoKTtcbiAgICB0aGlzLmFwaSA9IG5ldyBEYXRvR3JpZEFQSSgpO1xuICAgIHRoaXMuZGVmYXVsdEdyaWRPcHRpb25zLmljb25zID0gZ2V0R3JpZEljb25zKCk7XG4gICAgdGhpcy5ncmlkT3B0aW9ucyA9IHsgLi4udGhpcy5kZWZhdWx0R3JpZE9wdGlvbnMgfTtcbiAgfVxuXG4gIGdldCBvcHRpb25zKCk6IEdyaWRPcHRpb25zIHtcbiAgICByZXR1cm4gdGhpcy5ncmlkT3B0aW9ucztcbiAgfVxuXG4gIG5nT25EZXN0cm95KCk6IHZvaWQge1xuICAgIHRoaXMucm93RGF0YUNoYW5nZWQuY29tcGxldGUoKTtcbiAgfVxuXG4gIC8qKlxuICAgKiBPbiBncmlkIHJlYWR5XG4gICAqIEBwYXJhbSB7R3JpZFJlYWR5RXZlbnR9IGV2ZW50XG4gICAqL1xuICBvbkdyaWRSZWFkeShldmVudDogR3JpZFJlYWR5RXZlbnQpIHtcbiAgICAvLyBzZXQgZ3JpZCBBUElcbiAgICB0aGlzLmFwaS5ncmlkQXBpID0gZXZlbnQuYXBpO1xuICAgIHRoaXMuZ3JpZENvbHVtbkFwaSA9IGV2ZW50LmNvbHVtbkFwaTtcbiAgICBpZiAodGhpcy5ncmlkQ29sdW1uQXBpLmdldFJvd0dyb3VwQ29sdW1ucygpLmxlbmd0aCA+PSAxKSB7XG4gICAgICB0aGlzLmdyaWRDb21wb25lbnQucm93R3JvdXBPcGVuZWQucGlwZSh1bnRpbERlc3Ryb3llZCh0aGlzKSkuc3Vic2NyaWJlKGV2ZW50ID0+IHRoaXMucm93R3JvdXBTdGF0ZUNoYW5nZShldmVudCkpO1xuICAgICAgdGhpcy5wYWdpbmF0aW9uQ29tcG9uZW50ICYmXG4gICAgICAgIHRoaXMucGFnaW5hdGlvbkNvbXBvbmVudC50b2dnbGVSb3dHcm91cC5waXBlKHVudGlsRGVzdHJveWVkKHRoaXMpKS5zdWJzY3JpYmUoKCkgPT4gdGhpcy50b2dnbGVDb2xsYXBzZVN0YXRlKCkpO1xuICAgIH1cbiAgICB0aGlzLmNkci5kZXRlY3RDaGFuZ2VzKCk7XG4gICAgdGhpcy5ncmlkUmVhZHkuZW1pdChldmVudCk7XG4gIH1cblxuICBhbGlnblRhYmxlKGFsaWduTW9kZTogRGF0b1RhYmxlQWxpZ25tZW50KSB7XG4gICAgaWYgKGFsaWduTW9kZSA9PT0gRGF0b1RhYmxlQWxpZ25tZW50LkZJVF9DT05UQUlORVIpIHtcbiAgICAgIHRoaXMuZml0VG9Db250YWluZXIoKTtcbiAgICB9IGVsc2Uge1xuICAgICAgdGhpcy5maXRUb0NvbnRlbnQoKTtcbiAgICB9XG4gIH1cblxuICAvKipcbiAgICogVXBkYWV0IHRoZSBjb2x1bW5zIGRlZmluaXRpb25zXG4gICAqIEBwYXJhbSB7KENvbERlZiB8IENvbEdyb3VwRGVmKVtdfSBjb2x1bW5EZWZzXG4gICAqL1xuICB1cGRhdGVDb2x1bW5zKGNvbHVtbkRlZnM6IChDb2xEZWYgfCBDb2xHcm91cERlZilbXSkge1xuICAgIHRoaXMuZ3JpZEhlbHBlci51cGRhdGVDb2x1bW5zKHRoaXMuYXBpLmdyaWRBcGksIGNvbHVtbkRlZnMpO1xuICB9XG5cbiAgd3JpdGVWYWx1ZShvYmo6IGFueSk6IHZvaWQge1xuICAgIGNvbnN0IHJvd3MgPSBvYmogPyBjb2VyY2VBcnJheShvYmopIDogW107XG5cbiAgICBpZiAodGhpcy5hcGkucmVhZHkpIHtcbiAgICAgIHRoaXMuYXBpLnNldFNlbGVjdGVkUm93cyhyb3dzKTtcbiAgICB9IGVsc2Uge1xuICAgICAgLy8gd2FpdCBmb3IgdGhlIGdyaWQgdG8gYmUgcmVhZHkgYW5kIHRoZSBkYXRhIGhhcyBiZWVuIHNldFxuICAgICAgY29tYmluZUxhdGVzdCh0aGlzLnJvd0RhdGFDaGFuZ2VkLCB0aGlzLmdyaWRSZWFkeSlcbiAgICAgICAgLnBpcGUoXG4gICAgICAgICAgdGFrZSgxKSxcbiAgICAgICAgICB1bnRpbERlc3Ryb3llZCh0aGlzKVxuICAgICAgICApXG4gICAgICAgIC5zdWJzY3JpYmUoKCkgPT4gdGhpcy5hcGkuc2V0U2VsZWN0ZWRSb3dzKHJvd3MpKTtcbiAgICB9XG4gIH1cblxuICAvKipcbiAgICogY2FsbCBhZy1ncmlkJ3Mgc2l6ZSBhbGwgY29sdW1ucyB0byBmaXQgdG8gY29udGFpbmVyXG4gICAqL1xuICBwcml2YXRlIGZpdFRvQ29udGFpbmVyKCk6IHZvaWQge1xuICAgIHRoaXMuZ3JpZE9wdGlvbnMuYXBpLnNpemVDb2x1bW5zVG9GaXQoKTtcbiAgfVxuXG4gIC8qKlxuICAgKiBjYWxsIGFnLWdyaWQncyBzaXplIGFsbCBjb2x1bW5zIHRvIGZpdCB0byBjb250ZW50XG4gICAqL1xuICBwcml2YXRlIGZpdFRvQ29udGVudCgpOiB2b2lkIHtcbiAgICB0aGlzLmdyaWRPcHRpb25zLmNvbHVtbkFwaS5hdXRvU2l6ZUFsbENvbHVtbnMoKTtcbiAgICBjb25zdCB7IHdpZHRoIH0gPSB0aGlzLmhvc3RFbGVtZW50LmdldEJvdW5kaW5nQ2xpZW50UmVjdCgpO1xuICAgIGNvbnN0IGFnQm9keSA9IHRoaXMuaG9zdEVsZW1lbnQucXVlcnlTZWxlY3RvcignLmFnLWJvZHktY29udGFpbmVyJyk7XG4gICAgY29uc3QgYm9keVdpZHRoOiBudW1iZXIgPSBhZ0JvZHkgPyBhZ0JvZHkuY2xpZW50V2lkdGggOiAwO1xuICAgIGlmICh3aWR0aCA+IGJvZHlXaWR0aCkge1xuICAgICAgdGhpcy5maXRUb0NvbnRhaW5lcigpO1xuICAgIH1cbiAgfVxuXG4gIHByaXZhdGUgcm93R3JvdXBTdGF0ZUNoYW5nZShldmVudDogUm93R3JvdXBPcGVuZWRFdmVudCkge1xuICAgIGlmIChldmVudC5ub2RlLnJvd0dyb3VwSW5kZXggPT09IDApIHtcbiAgICAgIGxldCBjb2xsYXBzZWQgPSB0cnVlO1xuICAgICAgZXZlbnQuYXBpLmZvckVhY2hOb2RlKChub2RlOiBSb3dOb2RlKSA9PiB7XG4gICAgICAgIGlmIChub2RlLnJvd0dyb3VwSW5kZXggPT09IDAgJiYgbm9kZS5leHBhbmRlZCkge1xuICAgICAgICAgIGNvbGxhcHNlZCA9IGZhbHNlO1xuICAgICAgICB9XG4gICAgICB9KTtcbiAgICAgIHRoaXMuaXNSb3dzQ29sbGFwc2VkID0gY29sbGFwc2VkO1xuICAgICAgdGhpcy5wYWdpbmF0aW9uQ29tcG9uZW50LmluaXRQYWdpbmF0aW9uKCk7XG4gICAgfVxuICB9XG5cbiAgLyoqXG4gICAqIGNvbGxhcHNlIGFuZCBleHBvYW5kIGFsbCB0aGUgZ3JvdXBlZCByb3dzIGluIGNyb3NzIHRhYiB0YWJsZVxuICAgKiB3aGVuIHRyaWdnZXJlZCBmcm9tIHRoZSBuYXZpZ2F0aW9uLWNvbnRyb2wgcGFuZWxcbiAgICovXG4gIHByaXZhdGUgdG9nZ2xlQ29sbGFwc2VTdGF0ZSgpIHtcbiAgICBpZiAodGhpcy5pc1Jvd3NDb2xsYXBzZWQpIHtcbiAgICAgIHRoaXMuYXBpLmdyaWRBcGkuZXhwYW5kQWxsKCk7XG4gICAgfSBlbHNlIHtcbiAgICAgIHRoaXMuYXBpLmdyaWRBcGkuY29sbGFwc2VBbGwoKTtcbiAgICB9XG4gICAgdGhpcy5pc1Jvd3NDb2xsYXBzZWQgPSAhdGhpcy5pc1Jvd3NDb2xsYXBzZWQ7XG4gICAgdGhpcy5wYWdpbmF0aW9uQ29tcG9uZW50LmluaXRQYWdpbmF0aW9uKCk7XG4gIH1cblxuICBwcml2YXRlIGdldCBob3N0RWxlbWVudCgpIHtcbiAgICByZXR1cm4gdGhpcy5lbGVtZW50Lm5hdGl2ZUVsZW1lbnQ7XG4gIH1cblxuICBwcml2YXRlIGhpZGVNZW51SWNvbigpIHtcbiAgICByZW1vdmVDbGFzcyh0aGlzLmFjdGl2ZU1lbnUsICdtZW51LWFjdGl2ZScpO1xuICAgIHRoaXMuYWN0aXZlTWVudSA9IG51bGw7XG4gIH1cbn1cbiJdfQ==
|
|
@@ -38,4 +38,4 @@ DatoGridHeaderComponent = __decorate([
|
|
|
38
38
|
})
|
|
39
39
|
], DatoGridHeaderComponent);
|
|
40
40
|
export { DatoGridHeaderComponent };
|
|
41
|
-
//# sourceMappingURL=data:application/json;base64,
|
|
41
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZ3JpZC1oZWFkZXIuY29tcG9uZW50LmpzIiwic291cmNlUm9vdCI6Im5nOi8vQGRhdG9yYW1hL2NvcmUvIiwic291cmNlcyI6WyJsaWIvZ3JpZC9ncmlkLWhlYWRlci9ncmlkLWhlYWRlci5jb21wb25lbnQudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUE7Ozs7OztHQU1HOztBQUVILE9BQU8sRUFBRSx1QkFBdUIsRUFBRSxTQUFTLEVBQUUsS0FBSyxFQUFhLE1BQU0sZUFBZSxDQUFDO0FBQ3JGLE9BQU8sRUFBRSxjQUFjLEVBQUUsTUFBTSx3QkFBd0IsQ0FBQztBQUV4RCxPQUFPLEVBQUUsaUJBQWlCLEVBQUUsTUFBTSx3QkFBd0IsQ0FBQztBQUMzRCxPQUFPLEVBQUUsR0FBRyxFQUFFLE1BQU0sZ0JBQWdCLENBQUM7QUFTckMsSUFBYSx1QkFBdUIsR0FBcEMsTUFBYSx1QkFBdUI7SUFHbEM7OztPQUdHO0lBRUgsSUFBSSxJQUFJLENBQUMsSUFBdUI7UUFDOUIsSUFBSSxDQUFDLElBQUksQ0FBQyxRQUFRLEVBQUU7WUFDbEIsSUFBSSxDQUFDLFFBQVEsR0FBRyxJQUFJLENBQUMsY0FBYztpQkFDaEMsSUFBSSxDQUFDLGNBQWMsQ0FBQyxJQUFJLENBQUMsQ0FBQztpQkFDMUIsSUFBSSxDQUFDLEdBQUcsQ0FBQyxDQUFDLElBQWlCLEVBQUUsRUFBRSxDQUFDLElBQUksQ0FBQyxHQUFHLENBQUMsb0JBQW9CLEVBQUUsQ0FBQyxDQUFDLENBQUM7U0FDdEU7SUFDSCxDQUFDO0lBRUQsV0FBVyxLQUFVLENBQUM7Q0FDdkIsQ0FBQTtBQVRDO0lBREMsS0FBSyxFQUFFOzhCQUNPLGlCQUFpQjtxQ0FBakIsaUJBQWlCO21EQU0vQjtBQWRVLHVCQUF1QjtJQU5uQyxTQUFTLENBQUM7UUFDVCxRQUFRLEVBQUUsa0JBQWtCO1FBQzVCLDRNQUEyQztRQUUzQyxlQUFlLEVBQUUsdUJBQXVCLENBQUMsTUFBTTs7S0FDaEQsQ0FBQztHQUNXLHVCQUF1QixDQWlCbkM7U0FqQlksdUJBQXVCIiwic291cmNlc0NvbnRlbnQiOlsiLyoqXG4gKiBAbGljZW5zZVxuICogQ29weXJpZ2h0IERhdG9yYW1hLiBBbGwgUmlnaHRzIFJlc2VydmVkLlxuICpcbiAqIFVzZSBvZiB0aGlzIHNvdXJjZSBjb2RlIGlzIGdvdmVybmVkIGJ5IGFuIEFwYWNoZSBMaWNlbnNlIDIuMCBsaWNlbnNlIHRoYXQgY2FuIGJlXG4gKiBmb3VuZCBpbiB0aGUgTElDRU5TRSBmaWxlIGF0IGh0dHBzOi8vZ2l0aHViLmNvbS9kYXRvcmFtYS9jbGllbnQtY29yZS9ibG9iL21hc3Rlci9MSUNFTlNFXG4gKi9cblxuaW1wb3J0IHsgQ2hhbmdlRGV0ZWN0aW9uU3RyYXRlZ3ksIENvbXBvbmVudCwgSW5wdXQsIE9uRGVzdHJveSB9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xuaW1wb3J0IHsgdW50aWxEZXN0cm95ZWQgfSBmcm9tICduZ3gtdGFrZS11bnRpbC1kZXN0cm95JztcbmltcG9ydCB7IEFnR3JpZEV2ZW50IH0gZnJvbSAnQGFnLWdyaWQtY29tbXVuaXR5L2NvcmUnO1xuaW1wb3J0IHsgRGF0b0dyaWRDb21wb25lbnQgfSBmcm9tICcuLi9ncmlkL2dyaWQuY29tcG9uZW50JztcbmltcG9ydCB7IG1hcCB9IGZyb20gJ3J4anMvb3BlcmF0b3JzJztcbmltcG9ydCB7IE9ic2VydmFibGUgfSBmcm9tICdyeGpzJztcblxuQENvbXBvbmVudCh7XG4gIHNlbGVjdG9yOiAnZGF0by1ncmlkLWhlYWRlcicsXG4gIHRlbXBsYXRlVXJsOiAnLi9ncmlkLWhlYWRlci5jb21wb25lbnQuaHRtbCcsXG4gIHN0eWxlVXJsczogW2AuL2dyaWQtaGVhZGVyLmNvbXBvbmVudC5zY3NzYF0sXG4gIGNoYW5nZURldGVjdGlvbjogQ2hhbmdlRGV0ZWN0aW9uU3RyYXRlZ3kuT25QdXNoXG59KVxuZXhwb3J0IGNsYXNzIERhdG9HcmlkSGVhZGVyQ29tcG9uZW50IGltcGxlbWVudHMgT25EZXN0cm95IHtcbiAgcm93Q291bnQ6IE9ic2VydmFibGU8bnVtYmVyPjtcblxuICAvKipcbiAgICpcbiAgICogQHBhcmFtIHtEYXRvR3JpZENvbXBvbmVudH0gZ3JpZFxuICAgKi9cbiAgQElucHV0KClcbiAgc2V0IGdyaWQoZ3JpZDogRGF0b0dyaWRDb21wb25lbnQpIHtcbiAgICBpZiAoIXRoaXMucm93Q291bnQpIHtcbiAgICAgIHRoaXMucm93Q291bnQgPSBncmlkLnJvd0RhdGFDaGFuZ2VkXG4gICAgICAgIC5waXBlKHVudGlsRGVzdHJveWVkKHRoaXMpKVxuICAgICAgICAucGlwZShtYXAoKGdyaWQ6IEFnR3JpZEV2ZW50KSA9PiBncmlkLmFwaS5nZXREaXNwbGF5ZWRSb3dDb3VudCgpKSk7XG4gICAgfVxuICB9XG5cbiAgbmdPbkRlc3Ryb3koKTogdm9pZCB7fVxufVxuIl19
|
|
@@ -39,4 +39,4 @@ DatoGridHelper = __decorate([
|
|
|
39
39
|
__metadata("design:paramtypes", [DatoTranslateService])
|
|
40
40
|
], DatoGridHelper);
|
|
41
41
|
export { DatoGridHelper };
|
|
42
|
-
//# sourceMappingURL=data:application/json;base64,
|
|
42
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZ3JpZC1oZWxwZXIuanMiLCJzb3VyY2VSb290Ijoibmc6Ly9AZGF0b3JhbWEvY29yZS8iLCJzb3VyY2VzIjpbImxpYi9ncmlkL2dyaWQtaGVscGVyLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiI7QUFBQSxPQUFPLEVBQUUsVUFBVSxFQUFFLE1BQU0sZUFBZSxDQUFDO0FBRTNDLE9BQU8sRUFBRSxvQkFBb0IsRUFBRSxNQUFNLCtCQUErQixDQUFDO0FBQ3JFLE9BQU8sRUFBRSxhQUFhLEVBQUUsTUFBTSxXQUFXLENBQUM7QUFHMUMsSUFBYSxjQUFjLEdBQTNCLE1BQWEsY0FBYztJQUN6QixZQUFvQixTQUErQjtRQUEvQixjQUFTLEdBQVQsU0FBUyxDQUFzQjtJQUFHLENBQUM7SUFFdkQsZ0JBQWdCLENBQUMsVUFBb0M7UUFDbkQsSUFBSSxVQUFVLEdBQUcsSUFBSSxDQUFDLGdCQUFnQixDQUFDLFVBQVUsQ0FBQyxDQUFDO1FBRW5ELE9BQU8sVUFBVSxDQUFDO0lBQ3BCLENBQUM7SUFFRDs7OztPQUlHO0lBQ0gsYUFBYSxDQUFDLE9BQWdCLEVBQUUsVUFBb0M7UUFDbEUsSUFBSSxDQUFDLFVBQVUsRUFBRTtZQUNmLE1BQU0sSUFBSSxhQUFhLENBQUMsOEJBQThCLENBQUMsQ0FBQztTQUN6RDtRQUVELFVBQVUsR0FBRyxJQUFJLENBQUMsZ0JBQWdCLENBQUMsVUFBVSxDQUFDLENBQUM7UUFDL0MsT0FBTyxDQUFDLGFBQWEsQ0FBQyxVQUFVLENBQUMsQ0FBQztJQUNwQyxDQUFDO0lBRUQ7O09BRUc7SUFDSCxnQkFBZ0IsQ0FBQyxVQUFvQztRQUNuRCxPQUFPLFVBQVUsQ0FBQyxHQUFHLENBQUMsTUFBTSxDQUFDLEVBQUU7WUFDN0IsdUNBQ0ssTUFBTSxLQUNULFVBQVUsRUFBRSxJQUFJLENBQUMsU0FBUyxDQUFDLFNBQVMsQ0FBQyxNQUFNLENBQUMsVUFBVSxDQUFDLElBQ3ZEO1FBQ0osQ0FBQyxDQUFDLENBQUM7SUFDTCxDQUFDO0NBQ0YsQ0FBQTs7WUFqQ2dDLG9CQUFvQjs7QUFEeEMsY0FBYztJQUQxQixVQUFVLEVBQUU7cUNBRW9CLG9CQUFvQjtHQUR4QyxjQUFjLENBa0MxQjtTQWxDWSxjQUFjIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgSW5qZWN0YWJsZSB9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xuaW1wb3J0IHsgQ29sRGVmLCBDb2xHcm91cERlZiwgR3JpZEFwaSB9IGZyb20gJ0BhZy1ncmlkLWNvbW11bml0eS9jb3JlJztcbmltcG9ydCB7IERhdG9UcmFuc2xhdGVTZXJ2aWNlIH0gZnJvbSAnLi4vc2VydmljZXMvdHJhbnNsYXRlLnNlcnZpY2UnO1xuaW1wb3J0IHsgRGF0b0NvcmVFcnJvciB9IGZyb20gJy4uL2Vycm9ycyc7XG5cbkBJbmplY3RhYmxlKClcbmV4cG9ydCBjbGFzcyBEYXRvR3JpZEhlbHBlciB7XG4gIGNvbnN0cnVjdG9yKHByaXZhdGUgdHJhbnNsYXRlOiBEYXRvVHJhbnNsYXRlU2VydmljZSkge31cblxuICBub3JtYWxpemVDb2x1bW5zKGNvbHVtbkRlZnM6IChDb2xEZWYgfCBDb2xHcm91cERlZilbXSk6IChDb2xEZWYgfCBDb2xHcm91cERlZilbXSB7XG4gICAgbGV0IG5vcm1hbGl6ZWQgPSB0aGlzLnRyYW5zbGF0ZUNvbHVtbnMoY29sdW1uRGVmcyk7XG5cbiAgICByZXR1cm4gbm9ybWFsaXplZDtcbiAgfVxuXG4gIC8qKlxuICAgKiBVcGRhZXQgdGhlIGNvbHVtbnMgZGVmaW5pdGlvbnNcbiAgICogQHBhcmFtIHtHcmlkQXBpfSBncmlkQXBpXG4gICAqIEBwYXJhbSB7KENvbERlZiB8IENvbEdyb3VwRGVmKVtdfSBjb2x1bW5EZWZzXG4gICAqL1xuICB1cGRhdGVDb2x1bW5zKGdyaWRBcGk6IEdyaWRBcGksIGNvbHVtbkRlZnM6IChDb2xEZWYgfCBDb2xHcm91cERlZilbXSkge1xuICAgIGlmICghY29sdW1uRGVmcykge1xuICAgICAgdGhyb3cgbmV3IERhdG9Db3JlRXJyb3IoJ05vIGNvbHVtbkRlZnMgd2VyZSBwcm92aWRlZC4nKTtcbiAgICB9XG5cbiAgICBjb2x1bW5EZWZzID0gdGhpcy5ub3JtYWxpemVDb2x1bW5zKGNvbHVtbkRlZnMpO1xuICAgIGdyaWRBcGkuc2V0Q29sdW1uRGVmcyhjb2x1bW5EZWZzKTtcbiAgfVxuXG4gIC8qKlxuICAgKiBUcmFuc2xhdGUgdGhlIGhlYWRlciBuYW1lIG9mIGVhY2ggY29sdW1uXG4gICAqL1xuICB0cmFuc2xhdGVDb2x1bW5zKGNvbHVtbkRlZnM6IChDb2xEZWYgfCBDb2xHcm91cERlZilbXSk6IChDb2xEZWYgfCBDb2xHcm91cERlZilbXSB7XG4gICAgcmV0dXJuIGNvbHVtbkRlZnMubWFwKGNvbHVtbiA9PiB7XG4gICAgICByZXR1cm4ge1xuICAgICAgICAuLi5jb2x1bW4sXG4gICAgICAgIGhlYWRlck5hbWU6IHRoaXMudHJhbnNsYXRlLnRyYW5zZm9ybShjb2x1bW4uaGVhZGVyTmFtZSlcbiAgICAgIH07XG4gICAgfSk7XG4gIH1cbn1cbiJdfQ==
|
|
@@ -7,7 +7,7 @@
|
|
|
7
7
|
*/
|
|
8
8
|
import { __decorate, __metadata } from "tslib";
|
|
9
9
|
import { ChangeDetectionStrategy, ChangeDetectorRef, Component, ElementRef, EventEmitter, Input, OnInit, Output, ViewChild } from '@angular/core';
|
|
10
|
-
import { ColumnApi, GridApi } from 'ag-grid-community';
|
|
10
|
+
import { ColumnApi, GridApi } from '@ag-grid-community/core';
|
|
11
11
|
import { Subject } from 'rxjs';
|
|
12
12
|
import { untilDestroyed } from 'ngx-take-until-destroy';
|
|
13
13
|
import { DatoTranslateService } from '../../services/translate.service';
|
|
@@ -332,4 +332,4 @@ DatoGridPaginationComponent = __decorate([
|
|
|
332
332
|
__metadata("design:paramtypes", [ChangeDetectorRef, DatoTranslateService])
|
|
333
333
|
], DatoGridPaginationComponent);
|
|
334
334
|
export { DatoGridPaginationComponent };
|
|
335
|
-
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZ3JpZC1wYWdpbmF0aW9uLmNvbXBvbmVudC5qcyIsInNvdXJjZVJvb3QiOiJuZzovL0BkYXRvcmFtYS9jb3JlLyIsInNvdXJjZXMiOlsibGliL2dyaWQvZ3JpZC1wYWdpbmF0aW9uL2dyaWQtcGFnaW5hdGlvbi5jb21wb25lbnQudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUE7Ozs7OztHQU1HOztBQUVILE9BQU8sRUFDTCx1QkFBdUIsRUFDdkIsaUJBQWlCLEVBQ2pCLFNBQVMsRUFDVCxVQUFVLEVBQ1YsWUFBWSxFQUNaLEtBQUssRUFDTCxNQUFNLEVBQ04sTUFBTSxFQUNOLFNBQVMsRUFDVixNQUFNLGVBQWUsQ0FBQztBQUN2QixPQUFPLEVBQWUsU0FBUyxFQUFFLE9BQU8sRUFBRSxNQUFNLG1CQUFtQixDQUFDO0FBQ3BFLE9BQU8sRUFBRSxPQUFPLEVBQUUsTUFBTSxNQUFNLENBQUM7QUFDL0IsT0FBTyxFQUFFLGNBQWMsRUFBRSxNQUFNLHdCQUF3QixDQUFDO0FBRXhELE9BQU8sRUFBRSxvQkFBb0IsRUFBRSxNQUFNLGtDQUFrQyxDQUFDO0FBQ3hFLE9BQU8sRUFBRSxZQUFZLEVBQUUsTUFBTSxnQkFBZ0IsQ0FBQztBQVE5QyxJQUFhLDJCQUEyQixHQUF4QyxNQUFhLDJCQUEyQjtJQStIdEMsWUFBb0IsR0FBc0IsRUFBVSxTQUErQjtRQUEvRCxRQUFHLEdBQUgsR0FBRyxDQUFtQjtRQUFVLGNBQVMsR0FBVCxTQUFTLENBQXNCO1FBdEhuRixnREFBZ0Q7UUFDdkMscUJBQWdCLEdBQUcsSUFBSSxDQUFDO1FBQ2pDLDRDQUE0QztRQUNuQyx1QkFBa0IsR0FBRyxLQUFLLENBQUM7UUFLcEMsOEJBQThCO1FBQ3BCLGVBQVUsR0FBcUMsSUFBSSxZQUFZLEVBQUUsQ0FBQztRQUM1RSx5Q0FBeUM7UUFDL0IsbUJBQWMsR0FBc0IsSUFBSSxZQUFZLEVBQUUsQ0FBQztRQWtCekQsaUJBQVksR0FBRztZQUNyQixFQUFFLEVBQUUsSUFBSSxDQUFDLFNBQVMsQ0FB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QUFVLEdBQUcsQ0FBQyxJQUFJLENBQUMsWUFBWSxHQUFHLENBQUMsQ0FBQyxDQUFDO1NBQ3pEO1FBQ0QsT0FBTyxXQUFXLENBQUM7SUFDckIsQ0FBQztDQUNGLENBQUE7O1lBMUwwQixpQkFBaUI7WUFBcUIsb0JBQW9COztBQTdIMUU7SUFBUixLQUFLLEVBQUU7OEJBQVksT0FBTzs4REFBQztBQUVuQjtJQUFSLEtBQUssRUFBRTs4QkFBZ0MsU0FBUztxQ0FBVCxTQUFTO2tFQUVoRDtBQUVRO0lBQVIsS0FBSyxFQUFFOztnRUFBc0I7QUFFckI7SUFBUixLQUFLLEVBQUU7O3FFQUF5QjtBQUV4QjtJQUFSLEtBQUssRUFBRTs7dUVBQTRCO0FBRzNCO0lBQVIsS0FBSyxFQUFFOzhCQUFpQixPQUFPO21FQUFjO0FBR3BDO0lBQVQsTUFBTSxFQUFFOzhCQUFhLFlBQVk7K0RBQTBDO0FBRWxFO0lBQVQsTUFBTSxFQUFFOzhCQUFpQixZQUFZO21FQUEyQjtBQVFqRTtJQURDLFNBQVMsQ0FBQyxZQUFZLEVBQUUsRUFBRSxNQUFNLEVBQUUsSUFBSSxFQUFFLENBQUM7OEJBQ3JCLFVBQVU7cUNBQVYsVUFBVTswREFLOUI7QUFqQ1UsMkJBQTJCO0lBTnZDLFNBQVMsQ0FBQztRQUNULFFBQVEsRUFBRSxzQkFBc0I7UUFDaEMsZUFBZSxFQUFFLHVCQUF1QixDQUFDLE1BQU07UUFDL0MsdXJJQUErQzs7S0FFaEQsQ0FBQztxQ0FnSXlCLGlCQUFpQixFQUFxQixvQkFBb0I7R0EvSHhFLDJCQUEyQixDQXlUdkM7U0F6VFksMkJBQTJCIiwic291cmNlc0NvbnRlbnQiOlsiLyoqXG4gKiBAbGljZW5zZVxuICogQ29weXJpZ2h0IERhdG9yYW1hLiBBbGwgUmlnaHRzIFJlc2VydmVkLlxuICpcbiAqIFVzZSBvZiB0aGlzIHNvdXJjZSBjb2RlIGlzIGdvdmVybmVkIGJ5IGFuIEFwYWNoZSBMaWNlbnNlIDIuMCBsaWNlbnNlIHRoYXQgY2FuIGJlXG4gKiBmb3VuZCBpbiB0aGUgTElDRU5TRSBmaWxlIGF0IGh0dHBzOi8vZ2l0aHViLmNvbS9kYXRvcmFtYS9jbGllbnQtY29yZS9ibG9iL21hc3Rlci9MSUNFTlNFXG4gKi9cblxuaW1wb3J0IHtcbiAgQ2hhbmdlRGV0ZWN0aW9uU3RyYXRlZ3ksXG4gIENoYW5nZURldGVjdG9yUmVmLFxuICBDb21wb25lbnQsXG4gIEVsZW1lbnRSZWYsXG4gIEV2ZW50RW1pdHRlcixcbiAgSW5wdXQsXG4gIE9uSW5pdCxcbiAgT3V0cHV0LFxuICBWaWV3Q2hpbGRcbn0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XG5pbXBvcnQgeyBBZ0dyaWRFdmVudCwgQ29sdW1uQXBpLCBHcmlkQXBpIH0gZnJvbSAnYWctZ3JpZC1jb21tdW5pdHknO1xuaW1wb3J0IHsgU3ViamVjdCB9IGZyb20gJ3J4anMnO1xuaW1wb3J0IHsgdW50aWxEZXN0cm95ZWQgfSBmcm9tICduZ3gtdGFrZS11bnRpbC1kZXN0cm95JztcbmltcG9ydCB7IERhdG9UYWJsZUFsaWdubWVudCB9IGZyb20gJy4uL2dyaWQudHlwZXMnO1xuaW1wb3J0IHsgRGF0b1RyYW5zbGF0ZVNlcnZpY2UgfSBmcm9tICcuLi8uLi9zZXJ2aWNlcy90cmFuc2xhdGUuc2VydmljZSc7XG5pbXBvcnQgeyB0aHJvdHRsZVRpbWUgfSBmcm9tICdyeGpzL29wZXJhdG9ycyc7XG5cbkBDb21wb25lbnQoe1xuICBzZWxlY3RvcjogJ2RhdG8tZ3JpZC1wYWdpbmF0aW9uJyxcbiAgY2hhbmdlRGV0ZWN0aW9uOiBDaGFuZ2VEZXRlY3Rpb25TdHJhdGVneS5PblB1c2gsXG4gIHRlbXBsYXRlVXJsOiAnLi9ncmlkLXBhZ2luYXRpb24uY29tcG9uZW50Lmh0bWwnLFxuICBzdHlsZVVybHM6IFsnLi9ncmlkLXBhZ2luYXRpb24uY29tcG9uZW50LnNjc3MnXVxufSlcbmV4cG9ydCBjbGFzcyBEYXRvR3JpZFBhZ2luYXRpb25Db21wb25lbnQgaW1wbGVtZW50cyBPbkluaXQge1xuICAvKiogVGhlIGFnLWdyaWQgYXBpICovXG4gIEBJbnB1dCgpIGFnR3JpZEFwaTogR3JpZEFwaTtcbiAgLyoqIFRoZSBhZy1ncmlkIGNvbHVtbiBhcGkgKi9cbiAgQElucHV0KCkgc2V0IGFnR3JpZENvbHVtbkFwaShjb2x1bW5BcGk6IENvbHVtbkFwaSkge1xuICAgIHRoaXMuc2hvd0NvbGxhcHNlRXhwYW5kID0gY29sdW1uQXBpICYmIGNvbHVtbkFwaS5nZXRSb3dHcm91cENvbHVtbnMoKS5sZW5ndGggPj0gMTtcbiAgfVxuICAvKiogdXBkYXRlIHRoZSBleHBhbmQgY29sbGFwc2UgaXRlbSBhY2NvcmRpbmcgdG8gdGhlIHRhYmxlIHN0YXRlICovXG4gIEBJbnB1dCgpIGlzQ29sbGFwc2VkOiBib29sZWFuO1xuICAvKiogV2hldGhlciB0byBzaG93IHRoZSBGaXQtVG8tQ29udGVudCBidXR0b24gKi9cbiAgQElucHV0KCkgc2hvd0ZpdFRvQ29udGVudCA9IHRydWU7XG4gIC8qKiBXaGV0aGVyIGl0J3MgYSBzZXJ2ZXIgc2lkZSBwYWdpbmF0aW9uICovXG4gIEBJbnB1dCgpIGluZmluaXRlUGFnaW5hdGlvbiA9IGZhbHNlO1xuXG4gIC8qKiBFdmVudCBlbWl0dGVyIGZvciBkYXRhIGNoYW5nZXMgKi9cbiAgQElucHV0KCkgcm93RGF0YUNoYW5nZWQ6IFN1YmplY3Q8QWdHcmlkRXZlbnQ+O1xuXG4gIC8qKiBidWJibGUgYWxpZ25tZW50IGV2ZW50cyAqL1xuICBAT3V0cHV0KCkgYWxpZ25UYWJsZTogRXZlbnRFbWl0dGVyPERhdG9UYWJsZUFsaWdubWVudD4gPSBuZXcgRXZlbnRFbWl0dGVyKCk7XG4gIC8qKiBidWJibGUgZ3JvdXBlZCByb3cgZXhwYW5kIGNvbGxhcHNlICovXG4gIEBPdXRwdXQoKSB0b2dnbGVSb3dHcm91cDogRXZlbnRFbWl0dGVyPGFueT4gPSBuZXcgRXZlbnRFbWl0dGVyKCk7XG5cbiAgLyoqXG4gICAqIFRoaXMgc2V0dGVyIGlzIHVzZWQgdG8gYXNzaWduIHRoZSBuYXZpZ2F0aW9uIGVsZW1lbnQgcmVmIGFuZCB0byBzZXRcbiAgICogdGhlIHBhZ2luYXRpb24gc2l6ZSB3aGVuIHRoZSBjb21wb25lbnQgc3RhcnRzXG4gICAqIEBwYXJhbSB7RWxlbWVudFJlZn0gY29udGVudFxuICAgKi9cbiAgQFZpZXdDaGlsZCgnbmF2aWdhdGlvbicsIHsgc3RhdGljOiB0cnVlIH0pXG4gIHNldCBjb250ZW50KGNvbnRlbnQ6IEVsZW1lbnRSZWYpIHtcbiAgICB0aGlzLm5hdmlnYXRpb25FbGVtZW50ID0gY29udGVudDtcbiAgICBpZiAoY29udGVudCAmJiB0aGlzLnNtYWxsVmVyc2lvbiA9PT0gbnVsbCkge1xuICAgICAgdGhpcy5jYWxjdWxhdGVOYXZpZ2F0aW9uU2l6ZSgpO1xuICAgIH1cbiAgfVxuXG4gIC8vIG51bWJlciBvZiByb3dzIGluIHRoZSB0YWJsZVxuICBwcml2YXRlIHJvd0NvdW50OiBudW1iZXI7XG4gIHByaXZhdGUgcm93c1BlclBhZ2U6IG51bWJlcjtcbiAgcHJpdmF0ZSB0cmFuc2xhdGlvbnMgPSB7XG4gICAgb2Y6IHRoaXMudHJhbnNsYXRlLnRyYW5zZm9ybSgnY29yZS5vZicpLFxuICAgIGl0ZW1zOiB0aGlzLnRyYW5zbGF0ZS50cmFuc2Zvcm0oJ2NvcmUuaXRlbXMnKVxuICB9O1xuICAvLyBob3cgbWFueSBudW1iZXJzIGFyZSBzaG93aW5nIG9uIHRoZSBzYW1lIHRpbWUgYmVzaWRlcyB0aGUgbGFzdCBwYWdlIG51bWJlclxuICBwcml2YXRlIF9wYWdlc0luVmlldzogbnVtYmVyO1xuICAvLyBUaGUgbnVtYmVyIG9mIHBhZ2VzIGRpc3BsYXllZCBvbiBlYWNoIHNpZGUgb2YgdGhlIHNlbGVjdGVkIHBhZ2UuXG4gIHByaXZhdGUgcGFnZXNPblNpZGVzOiBudW1iZXI7XG4gIC8vIGlmIHRoZSBudW1iZXIgb2YgcGFnZXMgaW4gdGhlIHRhYmxlIGZpdHMgdGhlIG51bWJlciBvZiBkaXNwbGF5aW5nIHBhZ2VzXG4gIHByaXZhdGUgcGFnZXNGaXRWaWV3OiBib29sZWFuO1xuICAvLyBob3cgbWFueSBudW1iZXJzIHRvIHNob3cgb24gZWFjaCBzaWRlIGJlc2lkZXMgdGhlIHNlbGVjdGVkIG51bWJlclxuICBwcml2YXRlIG5hdmlnYXRpb25FbGVtZW50OiBFbGVtZW50UmVmO1xuICAvLyBUaGUgbnVtYmVyIG9mIHBhZ2VzIGRpc3BsYXllZCBpbiB0aGUgbmF2aWdhdGlvbiBwYW5lbCBmb3IgZWFjaCB2aWV3IGFzIGRlZmluZWQgYnkgcHJvZHVjdC5cbiAgcHJpdmF0ZSByZWFkb25seSBNSU5JX0RJU1BMQVlfTEVOR1RIOiBudW1iZXIgPSAyO1xuICBwcml2YXRlIHJlYWRvbmx5IERJU1BMQVlfTEVOR1RIOiBudW1iZXIgPSA1O1xuICAvLyBXaWRnZXQncyB3aWR0aCB0aGUgZGV0ZXJtaW5lcyB0aGUgcGFnaW5hdGlvbiB2aWV3IHR5cGUgWyBzbWFsbCwgeHNdIGFzIGRlZmluZWQgYnkgcHJvZHVjdC5cbiAgcHJpdmF0ZSByZWFkb25seSBYU19ESVNQTEFZX1NJWkU6IG51bWJlciA9IDE2MDtcbiAgcHJpdmF0ZSByZWFkb25seSBTTUFMTF9ESVNQTEFZX1NJWkU6IG51bWJlciA9IDM5MDtcblxuICBnZXQgcHJldlBhZ2VEaXNhYmxlZCgpIHtcbiAgICByZXR1cm4gIXRoaXMuaW5maW5pdGVQYWdpbmF0aW9uICYmIHRoaXMucGFnZU51bWJlcnNEaXNwbGF5LmN1cnJlbnRQYWdlID09PSAxO1xuICB9XG5cbiAgZ2V0IG5leHRQYWdlRGlzYWJsZWQoKSB7XG4gICAgcmV0dXJuICF0aGlzLmluZmluaXRlUGFnaW5hdGlvbiAmJiB0aGlzLnBhZ2VOdW1iZXJzRGlzcGxheS5jdXJyZW50UGFnZSA9PT0gdGhpcy50b3RhbFBhZ2VzO1xuICB9XG5cbiAgbmdPbkluaXQoKSB7XG4gICAgdGhpcy5yb3dEYXRhQ2hhbmdlZFxuICAgICAgLnBpcGUoXG4gICAgICAgIHRocm90dGxlVGltZSgxMDApLFxuICAgICAgICB1bnRpbERlc3Ryb3llZCh0aGlzKVxuICAgICAgKVxuICAgICAgLnN1YnNjcmliZSgoKSA9PiB0aGlzLmluaXRQYWdpbmF0aW9uKCkpO1xuICB9XG5cbiAgLyoqXG4gICAqIFJlY2FsY3VsYXRlIHRoZSByb3cgY291bnQgYW5kIHBhZ2UgbGVuZ3Roc1xuICAgKi9cbiAgY2FsY3VsYXRlUm93c0NvdW50KCkge1xuICAgIHRoaXMudG90YWxQYWdlcyA9IHRoaXMuaW5maW5pdGVQYWdpbmF0aW9uXG4gICAgICA/IHRoaXMucGFnZU51bWJlcnNEaXNwbGF5LmN1cnJlbnRQYWdlICsgMVxuICAgICAgOiB0aGlzLmFnR3JpZEFwaS5wYWdpbmF0aW9uR2V0VG90YWxQYWdlcygpO1xuICAgIHRoaXMucm93Q291bnQgPSB0aGlzLmFnR3JpZEFwaS5wYWdpbmF0aW9uR2V0Um93Q291bnQoKTtcbiAgICB0aGlzLnNldFJvd3NEaXNwbGF5UmFuZ2UodGhpcy5wYWdlTnVtYmVyc0Rpc3BsYXkuY3VycmVudFBhZ2UpO1xuICAgIHRoaXMuY2RyLmRldGVjdENoYW5nZXMoKTtcbiAgfVxuXG4gIGluaXRQYWdpbmF0aW9uKHBhZ2VOdW1iZXIgPSAwKSB7XG4gICAgLyoqIHJldHVybnMgdGhlIGxlbmd0aCBvZiB0aGUgcGFnZXMgc3RhcnRpbmcgZnJvbSAxICovXG4gICAgdGhpcy5yb3dzUGVyUGFnZSA9IHRoaXMuYWdHcmlkQXBpLnBhZ2luYXRpb25HZXRQYWdlU2l6ZSgpO1xuICAgIHRoaXMuY2FsY3VsYXRlUm93c0NvdW50KCk7XG4gICAgLyoqIHNldCB0aGUgaW5pdCB2YWx1ZSBvZiB0aGUgcGFnaW5hdGlvbiB2aWV3IHRvIG5vcm1hbCBzaXplICovXG4gICAgdGhpcy5wYWdlc0luVmlldyA9IHRoaXMuRElTUExBWV9MRU5HVEg7XG4gICAgLyoqIGN1cnJlbnQgcGFnZSBpbmRleCBzdGFydHMgZnJvbSAwICovXG4gICAgdGhpcy5uYXZpZ2F0ZVBhZ2UocGFnZU51bWJlcik7XG4gIH1cblxuICAvKipcbiAgICogU2V0IHRoZSBudW1iZXIgb2YgcGFnZSBudW1iZXJzIHNob3dpbmcgYXQgdGhlIHNhbWUgdGltZSBpbiB0aGUgbmF2aWdhdGlvblxuICAgKiBwYW5lbCAmIHVwZGF0ZSB0aGUgbnVtYmVyIG9mIHBhZ2VzIGRpc3BsYXllZCBvbiBlYWNoIHNpZGUgb2YgdGhlIHNlbGVjdGVkIHBhZ2UuXG4gICAqIEBwYXJhbSB7bnVtYmVyfSBuZXdOdW1iZXJzTGVuZ3RoIC0gVGhlIG5ldyBsZW5ndGggb2YgdGhlIGRpc3BsYXlpbmcgbnVtYmVyc1xuICAgKi9cbiAgc2V0IHBhZ2VzSW5WaWV3KG5ld051bWJlcnNMZW5ndGg6IG51bWJlcikge1xuICAgIHRoaXMuX3BhZ2VzSW5WaWV3ID0gbmV3TnVtYmVyc0xlbmd0aDtcbiAgICB0aGlzLnBhZ2VzT25TaWRlcyA9IE1hdGguZmxvb3IodGhpcy5fcGFnZXNJblZpZXcgLyAyKTtcbiAgICB0aGlzLnBhZ2VzRml0VmlldyA9IHRoaXMuX3BhZ2VzSW5WaWV3ICsgMSA+PSB0aGlzLnRvdGFsUGFnZXM7XG4gICAgLy8gaW52YWxpZGF0ZSBkaXNwbGF5aW5nIHBhZ2VzIHVwb24gcmVzaXplXG4gICAgdGhpcy5wYWdlTnVtYmVyc0Rpc3BsYXkucGFnZXMgPSBbXTtcbiAgfVxuXG4gIC8vIHdoZW4gdGhlIHdpZGdldCdzIHdpZHRoIGlzIHNtYWxsZXIgdGhhbiBYU19ESVNQTEFZX1NJWkUgZGlzYWJsZSBnbyB0byBmaXJzdC9sYXN0IGJ1dHRvbnNcbiAgZGlzYWJsZUJ1dHRvbnM6IGJvb2xlYW4gPSBudWxsO1xuICAvLyB3aGVuIHRoZSB3aWRnZXQncyB3aWR0aCBpcyBzbWFsbGVyIHRoYW4gU01BTExfRElTUExBWV9TSVpFIGNoYW5nZSB0byBzbWFsbCBwYWdpbmF0aW9uIHZpZXdcbiAgc21hbGxWZXJzaW9uOiBib29sZWFuIHwgbnVsbCA9IG51bGw7XG4gIC8vIG51bWJlciBvZiBwYWdlcyBpbiB0aGUgdGFibGVcbiAgdG90YWxQYWdlczogbnVtYmVyO1xuICAvLyBJcyB0aGUgdGFibGUgY3Jvc3MgdGFiIHRhYmxlXG4gIHNob3dDb2xsYXBzZUV4cGFuZCA9IGZhbHNlO1xuICAvLyBUaGUgZGlzcGxheSByb3dzIHJhbmdlXG4gIHJvd3NSYW5nZTogc3RyaW5nO1xuICAvLyBtYW5hZ2luZyBvYmplY3QgZm9yIHRoZSBuYXZpZ2F0aW9uXG4gIHBhZ2VOdW1iZXJzRGlzcGxheSA9IHtcbiAgICBjdXJyZW50UGFnZTogMSxcbiAgICBwYWdlczogW10sXG4gICAgc2hvd0ZpcnN0RWxsaXBzaXM6IGZhbHNlLFxuICAgIHNob3dMYXN0UGFnZTogZmFsc2VcbiAgfTtcblxuICBjb25zdHJ1Y3Rvcihwcml2YXRlIGNkcjogQ2hhbmdlRGV0ZWN0b3JSZWYsIHByaXZhdGUgdHJhbnNsYXRlOiBEYXRvVHJhbnNsYXRlU2VydmljZSkge31cblxuICAvKiogVE9ETyBUaGlzIGlzIG5vdCBsaXN0ZW5pbmcgdG8gc2l6ZSBjaGFuZ2VzICovXG4gIGNhbGN1bGF0ZU5hdmlnYXRpb25TaXplKCkge1xuICAgIGlmICh0aGlzLm5hdmlnYXRpb25FbGVtZW50KSB7XG4gICAgICBjb25zdCBlbGVtZW50V2lkdGggPSB0aGlzLm5hdmlnYXRpb25FbGVtZW50Lm5hdGl2ZUVsZW1lbnQucGFyZW50RWxlbWVudC5jbGllbnRXaWR0aDtcbiAgICAgIHRoaXMuZGlzYWJsZUJ1dHRvbnMgPSBlbGVtZW50V2lkdGggPCB0aGlzLlhTX0RJU1BMQVlfU0laRTtcbiAgICAgIGlmIChlbGVtZW50V2lkdGggPCB0aGlzLlNNQUxMX0RJU1BMQVlfU0laRSkge1xuICAgICAgICBpZiAodGhpcy5fcGFnZXNJblZpZXcgIT09IHRoaXMuTUlOSV9ESVNQTEFZX0xFTkdUSCkge1xuICAgICAgICAgIHRoaXMuc21hbGxWZXJzaW9uID0gdHJ1ZTtcbiAgICAgICAgICB0aGlzLnBhZ2VzSW5WaWV3ID0gdGhpcy5NSU5JX0RJU1BMQVlfTEVOR1RIO1xuICAgICAgICB9XG4gICAgICB9IGVsc2Uge1xuICAgICAgICBpZiAodGhpcy5fcGFnZXNJblZpZXcgIT09IHRoaXMuRElTUExBWV9MRU5HVEgpIHtcbiAgICAgICAgICB0aGlzLnNtYWxsVmVyc2lvbiA9IGZhbHNlO1xuICAgICAgICAgIHRoaXMucGFnZXNJblZpZXcgPSB0aGlzLkRJU1BMQVlfTEVOR1RIO1xuICAgICAgICB9XG4gICAgICB9XG4gICAgICB0aGlzLmNkci5kZXRlY3RDaGFuZ2VzKCk7XG4gICAgfVxuICB9XG5cbiAgLyoqXG4gICAqIE5hdmlnYXRlcyB0byBhIGdpdmVuIHBhZ2UuXG4gICAqIHVwZGF0ZXMgdGhlIGRpc3BsYXlpbmcgcGFnZSBudW1iZXJzIGFuZCB0aGUgY3VycmVudCBudW1iZXIuXG4gICAqIEBwYXJhbSBwYWdlTnVtYmVyIC0gVGhlIHBhZ2UgbnVtYmVyIHRvIG5hdmlnYXRlIHRvXG4gICAqL1xuICBuYXZpZ2F0ZVBhZ2UocGFnZU51bWJlcikge1xuICAgIGlmIChwYWdlTnVtYmVyID49IDAgJiYgcGFnZU51bWJlciA8PSB0aGlzLnRvdGFsUGFnZXMgLSAxKSB7XG4gICAgICB0aGlzLmFnR3JpZEFwaS5wYWdpbmF0aW9uR29Ub1BhZ2UocGFnZU51bWJlcik7XG4gICAgICAvLyBBZGQgMSBiZWNhdXNlIGFnLWdyaWQgQVBJIHdvcmtzIHdpdGggZmlyc3QgaW5kZXggMFxuICAgICAgY29uc3QgZGlzcGxheU51bWJlciA9IHBhZ2VOdW1iZXIgKyAxO1xuICAgICAgdGhpcy5wYWdlTnVtYmVyc0Rpc3BsYXkuY3VycmVudFBhZ2UgPSBkaXNwbGF5TnVtYmVyO1xuXG4gICAgICBpZiAodGhpcy5wYWdlTnVtYmVyc0Rpc3BsYXkucGFnZXMubGVuZ3RoID09PSAwIHx8ICF0aGlzLnBhZ2VzRml0Vmlldykge1xuICAgICAgICB0aGlzLnBhZ2VOdW1iZXJzRGlzcGxheS5wYWdlcyA9IHRoaXMuZ2V0UGFnZXMoZGlzcGxheU51bWJlcik7XG4gICAgICB9XG5cbiAgICAgIC8vIFNldCB0aGUgZGlzcGxheWluZyByb3dzIHJhbmdlXG4gICAgICB0aGlzLnNldFJvd3NEaXNwbGF5UmFuZ2UoZGlzcGxheU51bWJlcik7XG4gICAgICB0aGlzLmNkci5kZXRlY3RDaGFuZ2VzKCk7XG4gICAgfVxuICB9XG5cbiAgbmF2aWdhdGVGaXJzdFBhZ2UoKSB7XG4gICAgaWYgKHRoaXMuaW5maW5pdGVQYWdpbmF0aW9uKSB7XG4gICAgICB0aGlzLmFnR3JpZEFwaS5wYWdpbmF0aW9uR29Ub0ZpcnN0UGFnZSgpO1xuICAgIH0gZWxzZSB7XG4gICAgICB0aGlzLm5hdmlnYXRlUGFnZSgwKTtcbiAgICB9XG4gIH1cblxuICBuYXZpZ2F0ZU5leHRQYWdlKCkge1xuICAgIGlmICh0aGlzLmluZmluaXRlUGFnaW5hdGlvbikge1xuICAgICAgdGhpcy5hZ0dyaWRBcGkucGFnaW5hdGlvbkdvVG9OZXh0UGFnZSgpO1xuICAgIH0gZWxzZSB7XG4gICAgICB0aGlzLm5hdmlnYXRlUGFnZSh0aGlzLnBhZ2VOdW1iZXJzRGlzcGxheS5jdXJyZW50UGFnZSk7XG4gICAgfVxuICB9XG5cbiAgbmF2aWdhdGVQcmV2UGFnZSgpIHtcbiAgICBpZiAodGhpcy5pbmZpbml0ZVBhZ2luYXRpb24pIHtcbiAgICAgIHRoaXMuYWdHcmlkQXBpLnBhZ2luYXRpb25Hb1RvUHJldmlvdXNQYWdlKCk7XG4gICAgfSBlbHNlIHtcbiAgICAgIC8qKiBhZy1ncmlkIEFQSSB3b3JrcyB3aXRoIGZpcnN0IGluZGV4IDAgc28gd2UgbmVlZCB0byByZWR1Y2UgMiBpbnN0ZWFkIG9mIG9uZSAqL1xuICAgICAgY29uc3QgcHJldmlvdXNQYWdlSW5kZXggPSB0aGlzLnBhZ2VOdW1iZXJzRGlzcGxheS5jdXJyZW50UGFnZSAtIDI7XG4gICAgICB0aGlzLm5hdmlnYXRlUGFnZShwcmV2aW91c1BhZ2VJbmRleCk7XG4gICAgfVxuICB9XG5cbiAgLyoqXG4gICAqIHVwZGF0ZXMgdGhlIGRpc3BsYXlpbmcgcGFnZSBudW1iZXJzIHRvIHNob3cgdGhlIG5leHQgbnVtYmVycyBzZXRcbiAgICovXG4gIHNob3dOZXh0QmF0Y2goKSB7XG4gICAgY29uc3QgYW5jaG9yID0gdGhpcy5wYWdlTnVtYmVyc0Rpc3BsYXkucGFnZXNbMF0gKyB0aGlzLl9wYWdlc0luVmlldyArIHRoaXMucGFnZXNPblNpZGVzO1xuICAgIHRoaXMucGFnZU51bWJlcnNEaXNwbGF5LnBhZ2VzID0gdGhpcy5nZXRQYWdlcyhhbmNob3IpO1xuICB9XG5cbiAgLyoqXG4gICAqIHVwZGF0ZXMgdGhlIGRpc3BsYXlpbmcgcGFnZSBudW1iZXJzIHRvIHNob3cgdGhlIHByZXZpb3VzIG51bWJlcnMgc2V0XG4gICAqL1xuICBzaG93UHJldmlvdXNCYXRjaCgpIHtcbiAgICBjb25zdCBhbmNob3IgPSB0aGlzLnBhZ2VOdW1iZXJzRGlzcGxheS5wYWdlc1swXSAtIHRoaXMuX3BhZ2VzSW5WaWV3ICsgdGhpcy5wYWdlc09uU2lkZXM7XG4gICAgdGhpcy5wYWdlTnVtYmVyc0Rpc3BsYXkucGFnZXMgPSB0aGlzLmdldFBhZ2VzKGFuY2hvcik7XG4gIH1cblxuICAvKipcbiAgICogcmVzaXplIHRoZSBjb2x1bW5zIHdpZHRoIHRvIGZpdCB0aGVpciBjb250ZW50IGlmIHRoZSBjb2x1bW5zIHdpZHRoIGlzIHNtYWxsZXJcbiAgICogdGhhbiB0aGUgY29udGFpbmVyIHRoZSBncmlkIHdpbGwgZmlyIHRoZSBjb250YWluZXIuXG4gICAqL1xuICBmaXRUb0NvbnRhaW5lcigpIHtcbiAgICB0aGlzLmFsaWduVGFibGUuZW1pdChEYXRvVGFibGVBbGlnbm1lbnQuRklUX0NPTlRBSU5FUik7XG4gIH1cblxuICAvKipcbiAgICogcmVzaXplIHRoZSBjb2x1bW5zIHdpZHRoIHRvIGZpdCB0aGVpciBjb250ZW50IGlmIHRoZSBjb2x1bW5zIHdpZHRoIGlzIHNtYWxsZXJcbiAgICogdGhhbiB0aGUgY29udGFpbmVyIHRoZSBncmlkIHdpbGwgZmlyIHRoZSBjb250YWluZXIuXG4gICAqL1xuICBmaXRUb0NvbnRlbnQoKSB7XG4gICAgdGhpcy5hbGlnblRhYmxlLmVtaXQoRGF0b1RhYmxlQWxpZ25tZW50LkZJVF9DT05URU5UKTtcbiAgfVxuXG4gIC8qKlxuICAgKiBFeHBhbmQvQ29sbGFwc2UgdGhlIGdyb3VwZWQgcm93c1xuICAgKi9cbiAgdG9nZ2xlRXhwYW5kKCkge1xuICAgIHRoaXMudG9nZ2xlUm93R3JvdXAuZW1pdCgpO1xuICB9XG5cbiAgLyoqXG4gICAqIFRoZSB0cmFja0J5IGZ1bmN0aW9uIGZvciB0aGUgbmdGb3JcbiAgICogQHBhcmFtIGluZGV4IC0gY3VycmVudCBpdGVtIGluZGV4XG4gICAqIEBwYXJhbSBwYWdlIC0gdGhlIGN1cnJlbnQgaXRlbSdzIHBhZ2UgbnVtYmVyXG4gICAqIEByZXR1cm4ge251bWJlcn1cbiAgICovXG4gIHRyYWNrQnlGdW5jKGluZGV4OiBudW1iZXIsIHBhZ2U6IG51bWJlcikge1xuICAgIHJldHVybiBwYWdlO1xuICB9XG5cbiAgbmdPbkRlc3Ryb3koKTogdm9pZCB7fVxuXG4gIC8qKlxuICAgKiBTZXRzIHRoZSByb3dzIGRpc3BsYXkgc3RyaW5nXG4gICAqIEBwYXJhbSBkaXNwbGF5TnVtYmVyIC0gVGhlIGN1cnJlbnQgcGFnZSBudW1iZXIgKHN0YXJ0aW5nIGluZGV4IDEpXG4gICAqIEBwcml2YXRlXG4gICAqL1xuICBwcml2YXRlIHNldFJvd3NEaXNwbGF5UmFuZ2UoZGlzcGxheU51bWJlcik6IHZvaWQge1xuICAgIC8qKiBEZWNyZWFzZSBieSAxIGJlY2F1c2UgYWctZ3JpZCBBUEkgd29ya3Mgd2l0aCBmaXJzdCBpbmRleCAwICovXG4gICAgY29uc3QgcGFnZU51bWJlciA9IGRpc3BsYXlOdW1iZXIgLSAxO1xuICAgIGNvbnN0IGZpcnN0Um93SW5kZXggPSAxICsgcGFnZU51bWJlciAqIHRoaXMucm93c1BlclBhZ2U7XG4gICAgY29uc3QgbGFzdFJvdyA9IChwYWdlTnVtYmVyICsgMSkgKiB0aGlzLnJvd3NQZXJQYWdlO1xuICAgIGNvbnN0IGxhc3RSb3dJbmRleCA9IHRoaXMucm93Q291bnQgPiBsYXN0Um93ID8gbGFzdFJvdyA6IHRoaXMucm93Q291bnQ7XG4gICAgdGhpcy5yb3dzUmFuZ2UgPSB0aGlzLnRyYW5zbGF0ZS50cmFuc2Zvcm0oJ2NvcmUuaXRlbXNSYW5nZScsIHtcbiAgICAgIHJhbmdlOiBgJHtmaXJzdFJvd0luZGV4fSAtICR7bGFzdFJvd0luZGV4fWAsXG4gICAgICBudW1iZXI6IHRoaXMucm93Q291bnRcbiAgICB9KTtcbiAgfVxuXG4gIC8qKlxuICAgKiBHZXRzIGEgbnVtYmVyIGFuZCByZXR1cm5zIGFuIGFycmF5IG9mIHRoZSBkaXNwbGF5aW5nIG51bWJlcnMuXG4gICAqIEBwYXJhbSBhbmNob3IgLSBUaGUgbnVtYmVyIHRvIHVzZSBhcyBhbiBhbmNob3IgZm9yIHRoZSBjYWxjdWxhdGlvbnMuXG4gICAqIEByZXR1cm4ge251bWJlcltdfSAtIEFuIGFycmF5IG9mIHRoZSBuZXcgbnVtYmVycyB0byBkaXNwbGF5XG4gICAqIEBwcml2YXRlXG4gICAqL1xuICBwcml2YXRlIGdldFBhZ2VzKGFuY2hvcjogbnVtYmVyKTogbnVtYmVyW10ge1xuICAgIGNvbnN0IHBhZ2VzVG9EaXNwbGF5ID0gW107XG4gICAgLy8gaW5kaWNhdGVzIHJhdGhlciB0aGUgdGFibGUgaGFzIG1vcmUgcGFnZXMgdGhhbiB0aGUgZGlzcGxheSBsZW5ndGgsIHdlIGFkZCAxIGJlY2F1c2Ugb2ZcbiAgICAvLyBhIGxvZ2ljIHRoYXQgc2F5cyB0aGF0IGlmIHlvdXIgY3VycmVudCB2aWV3IGlzIDEgbnVtYmVyIGF3YXkgZnJvbSB0aGUgbGFzdCBwYWdlXG4gICAgLy8gZGlzcGxheSBoaW0gYXMgd2VsbC5cbiAgICB0aGlzLnBhZ2VOdW1iZXJzRGlzcGxheS5zaG93TGFzdFBhZ2UgPSAhdGhpcy5wYWdlc0ZpdFZpZXcgJiYgYW5jaG9yICsgdGhpcy5wYWdlc09uU2lkZXMgPCB0aGlzLnRvdGFsUGFnZXM7XG4gICAgdGhpcy5wYWdlTnVtYmVyc0Rpc3BsYXkuc2hvd0ZpcnN0RWxsaXBzaXMgPSAhdGhpcy5wYWdlc0ZpdFZpZXcgJiYgYW5jaG9yIC0gdGhpcy5wYWdlc09uU2lkZXMgPiAxO1xuXG4gICAgLy8gc2V0IHRoZSBmaXJzdCBudW1iZXIgdG8gYmUgZGlzcGxheWVkXG4gICAgY29uc3QgZmlyc3ROdW1iZXIgPSB0aGlzLmdldEZpcnN0UGFnZU51bWJlcihhbmNob3IpO1xuICAgIGNvbnN0IGxvb3BMZW5ndGggPSB0aGlzLnBhZ2VzRml0VmlldyA/IHRoaXMudG90YWxQYWdlcyA6IHRoaXMuX3BhZ2VzSW5WaWV3O1xuICAgIGZvciAobGV0IGkgPSAwOyBpIDwgbG9vcExlbmd0aDsgaSsrKSB7XG4gICAgICBwYWdlc1RvRGlzcGxheS5wdXNoKGZpcnN0TnVtYmVyICsgaSk7XG4gICAgfVxuICAgIC8vIElmIHRoZSBsYXN0IGRpc3BsYXllZCBudW1iZXIgaXMgMSBudW1iZXIgYmVmb3JlIHRoZSBsYXN0IHBhZ2UgZGlzcGxheSBoaW0gYXMgd2VsbFxuICAgIGlmICghdGhpcy5zbWFsbFZlcnNpb24gJiYgcGFnZXNUb0Rpc3BsYXlbbG9vcExlbmd0aCAtIDFdICsgMSA9PT0gdGhpcy50b3RhbFBhZ2VzKSB7XG4gICAgICBwYWdlc1RvRGlzcGxheS5wdXNoKHRoaXMudG90YWxQYWdlcyk7XG4gICAgICB0aGlzLnBhZ2VOdW1iZXJzRGlzcGxheS5zaG93TGFzdFBhZ2UgPSBmYWxzZTtcbiAgICB9XG4gICAgcmV0dXJuIHBhZ2VzVG9EaXNwbGF5O1xuICB9XG5cbiAgLyoqXG4gICAqIFJldHVybnMgdGhlIGZpcnN0IG51bWJlciB0byBiZSBkaXNwbGF5ZWQgaW4gdGhlIHBhZ2luYXRpb24gbmF2aWdhdGlvbiB2aWV3XG4gICAqIEBwYXJhbSB7bnVtYmVyfSBhbmNob3IgLSBUaGUgYW5jaG9yIGZvciB0aGUgY2FsY3VsYXRpb25zXG4gICAqIEByZXR1cm4ge251bWJlcn0gLSBUaGUgZmlyc3QgbnVtYmVyIHRvIGJlIGRpc3BsYXllZFxuICAgKiBAcHJpdmF0ZVxuICAgKi9cbiAgcHJpdmF0ZSBnZXRGaXJzdFBhZ2VOdW1iZXIoYW5jaG9yOiBudW1iZXIpOiBudW1iZXIge1xuICAgIGxldCBmaXJzdE51bWJlciA9IGFuY2hvciAtIHRoaXMucGFnZXNPblNpZGVzO1xuICAgIC8vIElmIGluIHNtYWxsIHZlcnNpb24gc2hvdyBvbmx5IG5leHQgcGFnZSBzbyBzZXQgZmlyc3QgcGFnZSB0byBhbmNob3JcbiAgICBpZiAodGhpcy5zbWFsbFZlcnNpb24gJiYgYW5jaG9yID4gMSkge1xuICAgICAgaWYgKGFuY2hvciAhPT0gdGhpcy50b3RhbFBhZ2VzKSB7XG4gICAgICAgIGZpcnN0TnVtYmVyID0gYW5jaG9yO1xuICAgICAgfVxuICAgIH0gZWxzZSBpZiAoIXRoaXMucGFnZU51bWJlcnNEaXNwbGF5LnNob3dGaXJzdEVsbGlwc2lzKSB7XG4gICAgICBmaXJzdE51bWJlciA9IDE7XG4gICAgfSBlbHNlIGlmICghdGhpcy5wYWdlTnVtYmVyc0Rpc3BsYXkuc2hvd0xhc3RQYWdlKSB7XG4gICAgICBmaXJzdE51bWJlciA9IHRoaXMudG90YWxQYWdlcyAtICh0aGlzLl9wYWdlc0luVmlldyAtIDEpO1xuICAgIH1cbiAgICByZXR1cm4gZmlyc3ROdW1iZXI7XG4gIH1cbn1cbiJdfQ==
|
|
335
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZ3JpZC1wYWdpbmF0aW9uLmNvbXBvbmVudC5qcyIsInNvdXJjZVJvb3QiOiJuZzovL0BkYXRvcmFtYS9jb3JlLyIsInNvdXJjZXMiOlsibGliL2dyaWQvZ3JpZC1wYWdpbmF0aW9uL2dyaWQtcGFnaW5hdGlvbi5jb21wb25lbnQudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUE7Ozs7OztHQU1HOztBQUVILE9BQU8sRUFDTCx1QkFBdUIsRUFDdkIsaUJBQWlCLEVBQ2pCLFNBQVMsRUFDVCxVQUFVLEVBQ1YsWUFBWSxFQUNaLEtBQUssRUFDTCxNQUFNLEVBQ04sTUFBTSxFQUNOLFNBQVMsRUFDVixNQUFNLGVBQWUsQ0FBQztBQUN2QixPQUFPLEVBQWUsU0FBUyxFQUFFLE9BQU8sRUFBRSxNQUFNLHlCQUF5QixDQUFDO0FBQzFFLE9BQU8sRUFBRSxPQUFPLEVBQUUsTUFBTSxNQUFNLENBQUM7QUFDL0IsT0FBTyxFQUFFLGNBQWMsRUFBRSxNQUFNLHdCQUF3QixDQUFDO0FBRXhELE9BQU8sRUFBRSxvQkFBb0IsRUFBRSxNQUFNLGtDQUFrQyxDQUFDO0FBQ3hFLE9BQU8sRUFBRSxZQUFZLEVBQUUsTUFBTSxnQkFBZ0IsQ0FBQztBQVE5QyxJQUFhLDJCQUEyQixHQUF4QyxNQUFhLDJCQUEyQjtJQStIdEMsWUFBb0IsR0FBc0IsRUFBVSxTQUErQjtRQUEvRCxRQUFHLEdBQUgsR0FBRyxDQUFtQjtRQUFVLGNBQVMsR0FBVCxTQUFTLENBQXNCO1FBdEhuRixnREFBZ0Q7UUFDdkMscUJBQWdCLEdBQUcsSUFBSSxDQUFDO1FBQ2pDLDRDQUE0QztRQUNuQyx1QkFBa0IsR0FBRyxLQUFLLENBQUM7UUFLcEMsOEJBQThCO1FBQ3BCLGVBQVUsR0FBcUMsSUFBSSxZQUFZLEVBQUUsQ0FBQztRQUM1RSx5Q0FBeUM7UUFDL0IsbUJBQWMsR0FBc0IsSUFBSSxZQUFZLEVBQUUsQ0FBQztRQWtCekQsaUJBQVksR0FBRztZQUNyQixFQUFFLEVBQUUsSUFBSSxDQUFDLFNBQVMsQ0FB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QUFVLEdBQUcsQ0FBQyxJQUFJLENBQUMsWUFBWSxHQUFHLENBQUMsQ0FBQyxDQUFDO1NBQ3pEO1FBQ0QsT0FBTyxXQUFXLENBQUM7SUFDckIsQ0FBQztDQUNGLENBQUE7O1lBMUwwQixpQkFBaUI7WUFBcUIsb0JBQW9COztBQTdIMUU7SUFBUixLQUFLLEVBQUU7OEJBQVksT0FBTzs4REFBQztBQUVuQjtJQUFSLEtBQUssRUFBRTs4QkFBZ0MsU0FBUztxQ0FBVCxTQUFTO2tFQUVoRDtBQUVRO0lBQVIsS0FBSyxFQUFFOztnRUFBc0I7QUFFckI7SUFBUixLQUFLLEVBQUU7O3FFQUF5QjtBQUV4QjtJQUFSLEtBQUssRUFBRTs7dUVBQTRCO0FBRzNCO0lBQVIsS0FBSyxFQUFFOzhCQUFpQixPQUFPO21FQUFjO0FBR3BDO0lBQVQsTUFBTSxFQUFFOzhCQUFhLFlBQVk7K0RBQTBDO0FBRWxFO0lBQVQsTUFBTSxFQUFFOzhCQUFpQixZQUFZO21FQUEyQjtBQVFqRTtJQURDLFNBQVMsQ0FBQyxZQUFZLEVBQUUsRUFBRSxNQUFNLEVBQUUsSUFBSSxFQUFFLENBQUM7OEJBQ3JCLFVBQVU7cUNBQVYsVUFBVTswREFLOUI7QUFqQ1UsMkJBQTJCO0lBTnZDLFNBQVMsQ0FBQztRQUNULFFBQVEsRUFBRSxzQkFBc0I7UUFDaEMsZUFBZSxFQUFFLHVCQUF1QixDQUFDLE1BQU07UUFDL0MsdXJJQUErQzs7S0FFaEQsQ0FBQztxQ0FnSXlCLGlCQUFpQixFQUFxQixvQkFBb0I7R0EvSHhFLDJCQUEyQixDQXlUdkM7U0F6VFksMkJBQTJCIiwic291cmNlc0NvbnRlbnQiOlsiLyoqXG4gKiBAbGljZW5zZVxuICogQ29weXJpZ2h0IERhdG9yYW1hLiBBbGwgUmlnaHRzIFJlc2VydmVkLlxuICpcbiAqIFVzZSBvZiB0aGlzIHNvdXJjZSBjb2RlIGlzIGdvdmVybmVkIGJ5IGFuIEFwYWNoZSBMaWNlbnNlIDIuMCBsaWNlbnNlIHRoYXQgY2FuIGJlXG4gKiBmb3VuZCBpbiB0aGUgTElDRU5TRSBmaWxlIGF0IGh0dHBzOi8vZ2l0aHViLmNvbS9kYXRvcmFtYS9jbGllbnQtY29yZS9ibG9iL21hc3Rlci9MSUNFTlNFXG4gKi9cblxuaW1wb3J0IHtcbiAgQ2hhbmdlRGV0ZWN0aW9uU3RyYXRlZ3ksXG4gIENoYW5nZURldGVjdG9yUmVmLFxuICBDb21wb25lbnQsXG4gIEVsZW1lbnRSZWYsXG4gIEV2ZW50RW1pdHRlcixcbiAgSW5wdXQsXG4gIE9uSW5pdCxcbiAgT3V0cHV0LFxuICBWaWV3Q2hpbGRcbn0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XG5pbXBvcnQgeyBBZ0dyaWRFdmVudCwgQ29sdW1uQXBpLCBHcmlkQXBpIH0gZnJvbSAnQGFnLWdyaWQtY29tbXVuaXR5L2NvcmUnO1xuaW1wb3J0IHsgU3ViamVjdCB9IGZyb20gJ3J4anMnO1xuaW1wb3J0IHsgdW50aWxEZXN0cm95ZWQgfSBmcm9tICduZ3gtdGFrZS11bnRpbC1kZXN0cm95JztcbmltcG9ydCB7IERhdG9UYWJsZUFsaWdubWVudCB9IGZyb20gJy4uL2dyaWQudHlwZXMnO1xuaW1wb3J0IHsgRGF0b1RyYW5zbGF0ZVNlcnZpY2UgfSBmcm9tICcuLi8uLi9zZXJ2aWNlcy90cmFuc2xhdGUuc2VydmljZSc7XG5pbXBvcnQgeyB0aHJvdHRsZVRpbWUgfSBmcm9tICdyeGpzL29wZXJhdG9ycyc7XG5cbkBDb21wb25lbnQoe1xuICBzZWxlY3RvcjogJ2RhdG8tZ3JpZC1wYWdpbmF0aW9uJyxcbiAgY2hhbmdlRGV0ZWN0aW9uOiBDaGFuZ2VEZXRlY3Rpb25TdHJhdGVneS5PblB1c2gsXG4gIHRlbXBsYXRlVXJsOiAnLi9ncmlkLXBhZ2luYXRpb24uY29tcG9uZW50Lmh0bWwnLFxuICBzdHlsZVVybHM6IFsnLi9ncmlkLXBhZ2luYXRpb24uY29tcG9uZW50LnNjc3MnXVxufSlcbmV4cG9ydCBjbGFzcyBEYXRvR3JpZFBhZ2luYXRpb25Db21wb25lbnQgaW1wbGVtZW50cyBPbkluaXQge1xuICAvKiogVGhlIGFnLWdyaWQgYXBpICovXG4gIEBJbnB1dCgpIGFnR3JpZEFwaTogR3JpZEFwaTtcbiAgLyoqIFRoZSBhZy1ncmlkIGNvbHVtbiBhcGkgKi9cbiAgQElucHV0KCkgc2V0IGFnR3JpZENvbHVtbkFwaShjb2x1bW5BcGk6IENvbHVtbkFwaSkge1xuICAgIHRoaXMuc2hvd0NvbGxhcHNlRXhwYW5kID0gY29sdW1uQXBpICYmIGNvbHVtbkFwaS5nZXRSb3dHcm91cENvbHVtbnMoKS5sZW5ndGggPj0gMTtcbiAgfVxuICAvKiogdXBkYXRlIHRoZSBleHBhbmQgY29sbGFwc2UgaXRlbSBhY2NvcmRpbmcgdG8gdGhlIHRhYmxlIHN0YXRlICovXG4gIEBJbnB1dCgpIGlzQ29sbGFwc2VkOiBib29sZWFuO1xuICAvKiogV2hldGhlciB0byBzaG93IHRoZSBGaXQtVG8tQ29udGVudCBidXR0b24gKi9cbiAgQElucHV0KCkgc2hvd0ZpdFRvQ29udGVudCA9IHRydWU7XG4gIC8qKiBXaGV0aGVyIGl0J3MgYSBzZXJ2ZXIgc2lkZSBwYWdpbmF0aW9uICovXG4gIEBJbnB1dCgpIGluZmluaXRlUGFnaW5hdGlvbiA9IGZhbHNlO1xuXG4gIC8qKiBFdmVudCBlbWl0dGVyIGZvciBkYXRhIGNoYW5nZXMgKi9cbiAgQElucHV0KCkgcm93RGF0YUNoYW5nZWQ6IFN1YmplY3Q8QWdHcmlkRXZlbnQ+O1xuXG4gIC8qKiBidWJibGUgYWxpZ25tZW50IGV2ZW50cyAqL1xuICBAT3V0cHV0KCkgYWxpZ25UYWJsZTogRXZlbnRFbWl0dGVyPERhdG9UYWJsZUFsaWdubWVudD4gPSBuZXcgRXZlbnRFbWl0dGVyKCk7XG4gIC8qKiBidWJibGUgZ3JvdXBlZCByb3cgZXhwYW5kIGNvbGxhcHNlICovXG4gIEBPdXRwdXQoKSB0b2dnbGVSb3dHcm91cDogRXZlbnRFbWl0dGVyPGFueT4gPSBuZXcgRXZlbnRFbWl0dGVyKCk7XG5cbiAgLyoqXG4gICAqIFRoaXMgc2V0dGVyIGlzIHVzZWQgdG8gYXNzaWduIHRoZSBuYXZpZ2F0aW9uIGVsZW1lbnQgcmVmIGFuZCB0byBzZXRcbiAgICogdGhlIHBhZ2luYXRpb24gc2l6ZSB3aGVuIHRoZSBjb21wb25lbnQgc3RhcnRzXG4gICAqIEBwYXJhbSB7RWxlbWVudFJlZn0gY29udGVudFxuICAgKi9cbiAgQFZpZXdDaGlsZCgnbmF2aWdhdGlvbicsIHsgc3RhdGljOiB0cnVlIH0pXG4gIHNldCBjb250ZW50KGNvbnRlbnQ6IEVsZW1lbnRSZWYpIHtcbiAgICB0aGlzLm5hdmlnYXRpb25FbGVtZW50ID0gY29udGVudDtcbiAgICBpZiAoY29udGVudCAmJiB0aGlzLnNtYWxsVmVyc2lvbiA9PT0gbnVsbCkge1xuICAgICAgdGhpcy5jYWxjdWxhdGVOYXZpZ2F0aW9uU2l6ZSgpO1xuICAgIH1cbiAgfVxuXG4gIC8vIG51bWJlciBvZiByb3dzIGluIHRoZSB0YWJsZVxuICBwcml2YXRlIHJvd0NvdW50OiBudW1iZXI7XG4gIHByaXZhdGUgcm93c1BlclBhZ2U6IG51bWJlcjtcbiAgcHJpdmF0ZSB0cmFuc2xhdGlvbnMgPSB7XG4gICAgb2Y6IHRoaXMudHJhbnNsYXRlLnRyYW5zZm9ybSgnY29yZS5vZicpLFxuICAgIGl0ZW1zOiB0aGlzLnRyYW5zbGF0ZS50cmFuc2Zvcm0oJ2NvcmUuaXRlbXMnKVxuICB9O1xuICAvLyBob3cgbWFueSBudW1iZXJzIGFyZSBzaG93aW5nIG9uIHRoZSBzYW1lIHRpbWUgYmVzaWRlcyB0aGUgbGFzdCBwYWdlIG51bWJlclxuICBwcml2YXRlIF9wYWdlc0luVmlldzogbnVtYmVyO1xuICAvLyBUaGUgbnVtYmVyIG9mIHBhZ2VzIGRpc3BsYXllZCBvbiBlYWNoIHNpZGUgb2YgdGhlIHNlbGVjdGVkIHBhZ2UuXG4gIHByaXZhdGUgcGFnZXNPblNpZGVzOiBudW1iZXI7XG4gIC8vIGlmIHRoZSBudW1iZXIgb2YgcGFnZXMgaW4gdGhlIHRhYmxlIGZpdHMgdGhlIG51bWJlciBvZiBkaXNwbGF5aW5nIHBhZ2VzXG4gIHByaXZhdGUgcGFnZXNGaXRWaWV3OiBib29sZWFuO1xuICAvLyBob3cgbWFueSBudW1iZXJzIHRvIHNob3cgb24gZWFjaCBzaWRlIGJlc2lkZXMgdGhlIHNlbGVjdGVkIG51bWJlclxuICBwcml2YXRlIG5hdmlnYXRpb25FbGVtZW50OiBFbGVtZW50UmVmO1xuICAvLyBUaGUgbnVtYmVyIG9mIHBhZ2VzIGRpc3BsYXllZCBpbiB0aGUgbmF2aWdhdGlvbiBwYW5lbCBmb3IgZWFjaCB2aWV3IGFzIGRlZmluZWQgYnkgcHJvZHVjdC5cbiAgcHJpdmF0ZSByZWFkb25seSBNSU5JX0RJU1BMQVlfTEVOR1RIOiBudW1iZXIgPSAyO1xuICBwcml2YXRlIHJlYWRvbmx5IERJU1BMQVlfTEVOR1RIOiBudW1iZXIgPSA1O1xuICAvLyBXaWRnZXQncyB3aWR0aCB0aGUgZGV0ZXJtaW5lcyB0aGUgcGFnaW5hdGlvbiB2aWV3IHR5cGUgWyBzbWFsbCwgeHNdIGFzIGRlZmluZWQgYnkgcHJvZHVjdC5cbiAgcHJpdmF0ZSByZWFkb25seSBYU19ESVNQTEFZX1NJWkU6IG51bWJlciA9IDE2MDtcbiAgcHJpdmF0ZSByZWFkb25seSBTTUFMTF9ESVNQTEFZX1NJWkU6IG51bWJlciA9IDM5MDtcblxuICBnZXQgcHJldlBhZ2VEaXNhYmxlZCgpIHtcbiAgICByZXR1cm4gIXRoaXMuaW5maW5pdGVQYWdpbmF0aW9uICYmIHRoaXMucGFnZU51bWJlcnNEaXNwbGF5LmN1cnJlbnRQYWdlID09PSAxO1xuICB9XG5cbiAgZ2V0IG5leHRQYWdlRGlzYWJsZWQoKSB7XG4gICAgcmV0dXJuICF0aGlzLmluZmluaXRlUGFnaW5hdGlvbiAmJiB0aGlzLnBhZ2VOdW1iZXJzRGlzcGxheS5jdXJyZW50UGFnZSA9PT0gdGhpcy50b3RhbFBhZ2VzO1xuICB9XG5cbiAgbmdPbkluaXQoKSB7XG4gICAgdGhpcy5yb3dEYXRhQ2hhbmdlZFxuICAgICAgLnBpcGUoXG4gICAgICAgIHRocm90dGxlVGltZSgxMDApLFxuICAgICAgICB1bnRpbERlc3Ryb3llZCh0aGlzKVxuICAgICAgKVxuICAgICAgLnN1YnNjcmliZSgoKSA9PiB0aGlzLmluaXRQYWdpbmF0aW9uKCkpO1xuICB9XG5cbiAgLyoqXG4gICAqIFJlY2FsY3VsYXRlIHRoZSByb3cgY291bnQgYW5kIHBhZ2UgbGVuZ3Roc1xuICAgKi9cbiAgY2FsY3VsYXRlUm93c0NvdW50KCkge1xuICAgIHRoaXMudG90YWxQYWdlcyA9IHRoaXMuaW5maW5pdGVQYWdpbmF0aW9uXG4gICAgICA/IHRoaXMucGFnZU51bWJlcnNEaXNwbGF5LmN1cnJlbnRQYWdlICsgMVxuICAgICAgOiB0aGlzLmFnR3JpZEFwaS5wYWdpbmF0aW9uR2V0VG90YWxQYWdlcygpO1xuICAgIHRoaXMucm93Q291bnQgPSB0aGlzLmFnR3JpZEFwaS5wYWdpbmF0aW9uR2V0Um93Q291bnQoKTtcbiAgICB0aGlzLnNldFJvd3NEaXNwbGF5UmFuZ2UodGhpcy5wYWdlTnVtYmVyc0Rpc3BsYXkuY3VycmVudFBhZ2UpO1xuICAgIHRoaXMuY2RyLmRldGVjdENoYW5nZXMoKTtcbiAgfVxuXG4gIGluaXRQYWdpbmF0aW9uKHBhZ2VOdW1iZXIgPSAwKSB7XG4gICAgLyoqIHJldHVybnMgdGhlIGxlbmd0aCBvZiB0aGUgcGFnZXMgc3RhcnRpbmcgZnJvbSAxICovXG4gICAgdGhpcy5yb3dzUGVyUGFnZSA9IHRoaXMuYWdHcmlkQXBpLnBhZ2luYXRpb25HZXRQYWdlU2l6ZSgpO1xuICAgIHRoaXMuY2FsY3VsYXRlUm93c0NvdW50KCk7XG4gICAgLyoqIHNldCB0aGUgaW5pdCB2YWx1ZSBvZiB0aGUgcGFnaW5hdGlvbiB2aWV3IHRvIG5vcm1hbCBzaXplICovXG4gICAgdGhpcy5wYWdlc0luVmlldyA9IHRoaXMuRElTUExBWV9MRU5HVEg7XG4gICAgLyoqIGN1cnJlbnQgcGFnZSBpbmRleCBzdGFydHMgZnJvbSAwICovXG4gICAgdGhpcy5uYXZpZ2F0ZVBhZ2UocGFnZU51bWJlcik7XG4gIH1cblxuICAvKipcbiAgICogU2V0IHRoZSBudW1iZXIgb2YgcGFnZSBudW1iZXJzIHNob3dpbmcgYXQgdGhlIHNhbWUgdGltZSBpbiB0aGUgbmF2aWdhdGlvblxuICAgKiBwYW5lbCAmIHVwZGF0ZSB0aGUgbnVtYmVyIG9mIHBhZ2VzIGRpc3BsYXllZCBvbiBlYWNoIHNpZGUgb2YgdGhlIHNlbGVjdGVkIHBhZ2UuXG4gICAqIEBwYXJhbSB7bnVtYmVyfSBuZXdOdW1iZXJzTGVuZ3RoIC0gVGhlIG5ldyBsZW5ndGggb2YgdGhlIGRpc3BsYXlpbmcgbnVtYmVyc1xuICAgKi9cbiAgc2V0IHBhZ2VzSW5WaWV3KG5ld051bWJlcnNMZW5ndGg6IG51bWJlcikge1xuICAgIHRoaXMuX3BhZ2VzSW5WaWV3ID0gbmV3TnVtYmVyc0xlbmd0aDtcbiAgICB0aGlzLnBhZ2VzT25TaWRlcyA9IE1hdGguZmxvb3IodGhpcy5fcGFnZXNJblZpZXcgLyAyKTtcbiAgICB0aGlzLnBhZ2VzRml0VmlldyA9IHRoaXMuX3BhZ2VzSW5WaWV3ICsgMSA+PSB0aGlzLnRvdGFsUGFnZXM7XG4gICAgLy8gaW52YWxpZGF0ZSBkaXNwbGF5aW5nIHBhZ2VzIHVwb24gcmVzaXplXG4gICAgdGhpcy5wYWdlTnVtYmVyc0Rpc3BsYXkucGFnZXMgPSBbXTtcbiAgfVxuXG4gIC8vIHdoZW4gdGhlIHdpZGdldCdzIHdpZHRoIGlzIHNtYWxsZXIgdGhhbiBYU19ESVNQTEFZX1NJWkUgZGlzYWJsZSBnbyB0byBmaXJzdC9sYXN0IGJ1dHRvbnNcbiAgZGlzYWJsZUJ1dHRvbnM6IGJvb2xlYW4gPSBudWxsO1xuICAvLyB3aGVuIHRoZSB3aWRnZXQncyB3aWR0aCBpcyBzbWFsbGVyIHRoYW4gU01BTExfRElTUExBWV9TSVpFIGNoYW5nZSB0byBzbWFsbCBwYWdpbmF0aW9uIHZpZXdcbiAgc21hbGxWZXJzaW9uOiBib29sZWFuIHwgbnVsbCA9IG51bGw7XG4gIC8vIG51bWJlciBvZiBwYWdlcyBpbiB0aGUgdGFibGVcbiAgdG90YWxQYWdlczogbnVtYmVyO1xuICAvLyBJcyB0aGUgdGFibGUgY3Jvc3MgdGFiIHRhYmxlXG4gIHNob3dDb2xsYXBzZUV4cGFuZCA9IGZhbHNlO1xuICAvLyBUaGUgZGlzcGxheSByb3dzIHJhbmdlXG4gIHJvd3NSYW5nZTogc3RyaW5nO1xuICAvLyBtYW5hZ2luZyBvYmplY3QgZm9yIHRoZSBuYXZpZ2F0aW9uXG4gIHBhZ2VOdW1iZXJzRGlzcGxheSA9IHtcbiAgICBjdXJyZW50UGFnZTogMSxcbiAgICBwYWdlczogW10sXG4gICAgc2hvd0ZpcnN0RWxsaXBzaXM6IGZhbHNlLFxuICAgIHNob3dMYXN0UGFnZTogZmFsc2VcbiAgfTtcblxuICBjb25zdHJ1Y3Rvcihwcml2YXRlIGNkcjogQ2hhbmdlRGV0ZWN0b3JSZWYsIHByaXZhdGUgdHJhbnNsYXRlOiBEYXRvVHJhbnNsYXRlU2VydmljZSkge31cblxuICAvKiogVE9ETyBUaGlzIGlzIG5vdCBsaXN0ZW5pbmcgdG8gc2l6ZSBjaGFuZ2VzICovXG4gIGNhbGN1bGF0ZU5hdmlnYXRpb25TaXplKCkge1xuICAgIGlmICh0aGlzLm5hdmlnYXRpb25FbGVtZW50KSB7XG4gICAgICBjb25zdCBlbGVtZW50V2lkdGggPSB0aGlzLm5hdmlnYXRpb25FbGVtZW50Lm5hdGl2ZUVsZW1lbnQucGFyZW50RWxlbWVudC5jbGllbnRXaWR0aDtcbiAgICAgIHRoaXMuZGlzYWJsZUJ1dHRvbnMgPSBlbGVtZW50V2lkdGggPCB0aGlzLlhTX0RJU1BMQVlfU0laRTtcbiAgICAgIGlmIChlbGVtZW50V2lkdGggPCB0aGlzLlNNQUxMX0RJU1BMQVlfU0laRSkge1xuICAgICAgICBpZiAodGhpcy5fcGFnZXNJblZpZXcgIT09IHRoaXMuTUlOSV9ESVNQTEFZX0xFTkdUSCkge1xuICAgICAgICAgIHRoaXMuc21hbGxWZXJzaW9uID0gdHJ1ZTtcbiAgICAgICAgICB0aGlzLnBhZ2VzSW5WaWV3ID0gdGhpcy5NSU5JX0RJU1BMQVlfTEVOR1RIO1xuICAgICAgICB9XG4gICAgICB9IGVsc2Uge1xuICAgICAgICBpZiAodGhpcy5fcGFnZXNJblZpZXcgIT09IHRoaXMuRElTUExBWV9MRU5HVEgpIHtcbiAgICAgICAgICB0aGlzLnNtYWxsVmVyc2lvbiA9IGZhbHNlO1xuICAgICAgICAgIHRoaXMucGFnZXNJblZpZXcgPSB0aGlzLkRJU1BMQVlfTEVOR1RIO1xuICAgICAgICB9XG4gICAgICB9XG4gICAgICB0aGlzLmNkci5kZXRlY3RDaGFuZ2VzKCk7XG4gICAgfVxuICB9XG5cbiAgLyoqXG4gICAqIE5hdmlnYXRlcyB0byBhIGdpdmVuIHBhZ2UuXG4gICAqIHVwZGF0ZXMgdGhlIGRpc3BsYXlpbmcgcGFnZSBudW1iZXJzIGFuZCB0aGUgY3VycmVudCBudW1iZXIuXG4gICAqIEBwYXJhbSBwYWdlTnVtYmVyIC0gVGhlIHBhZ2UgbnVtYmVyIHRvIG5hdmlnYXRlIHRvXG4gICAqL1xuICBuYXZpZ2F0ZVBhZ2UocGFnZU51bWJlcikge1xuICAgIGlmIChwYWdlTnVtYmVyID49IDAgJiYgcGFnZU51bWJlciA8PSB0aGlzLnRvdGFsUGFnZXMgLSAxKSB7XG4gICAgICB0aGlzLmFnR3JpZEFwaS5wYWdpbmF0aW9uR29Ub1BhZ2UocGFnZU51bWJlcik7XG4gICAgICAvLyBBZGQgMSBiZWNhdXNlIGFnLWdyaWQgQVBJIHdvcmtzIHdpdGggZmlyc3QgaW5kZXggMFxuICAgICAgY29uc3QgZGlzcGxheU51bWJlciA9IHBhZ2VOdW1iZXIgKyAxO1xuICAgICAgdGhpcy5wYWdlTnVtYmVyc0Rpc3BsYXkuY3VycmVudFBhZ2UgPSBkaXNwbGF5TnVtYmVyO1xuXG4gICAgICBpZiAodGhpcy5wYWdlTnVtYmVyc0Rpc3BsYXkucGFnZXMubGVuZ3RoID09PSAwIHx8ICF0aGlzLnBhZ2VzRml0Vmlldykge1xuICAgICAgICB0aGlzLnBhZ2VOdW1iZXJzRGlzcGxheS5wYWdlcyA9IHRoaXMuZ2V0UGFnZXMoZGlzcGxheU51bWJlcik7XG4gICAgICB9XG5cbiAgICAgIC8vIFNldCB0aGUgZGlzcGxheWluZyByb3dzIHJhbmdlXG4gICAgICB0aGlzLnNldFJvd3NEaXNwbGF5UmFuZ2UoZGlzcGxheU51bWJlcik7XG4gICAgICB0aGlzLmNkci5kZXRlY3RDaGFuZ2VzKCk7XG4gICAgfVxuICB9XG5cbiAgbmF2aWdhdGVGaXJzdFBhZ2UoKSB7XG4gICAgaWYgKHRoaXMuaW5maW5pdGVQYWdpbmF0aW9uKSB7XG4gICAgICB0aGlzLmFnR3JpZEFwaS5wYWdpbmF0aW9uR29Ub0ZpcnN0UGFnZSgpO1xuICAgIH0gZWxzZSB7XG4gICAgICB0aGlzLm5hdmlnYXRlUGFnZSgwKTtcbiAgICB9XG4gIH1cblxuICBuYXZpZ2F0ZU5leHRQYWdlKCkge1xuICAgIGlmICh0aGlzLmluZmluaXRlUGFnaW5hdGlvbikge1xuICAgICAgdGhpcy5hZ0dyaWRBcGkucGFnaW5hdGlvbkdvVG9OZXh0UGFnZSgpO1xuICAgIH0gZWxzZSB7XG4gICAgICB0aGlzLm5hdmlnYXRlUGFnZSh0aGlzLnBhZ2VOdW1iZXJzRGlzcGxheS5jdXJyZW50UGFnZSk7XG4gICAgfVxuICB9XG5cbiAgbmF2aWdhdGVQcmV2UGFnZSgpIHtcbiAgICBpZiAodGhpcy5pbmZpbml0ZVBhZ2luYXRpb24pIHtcbiAgICAgIHRoaXMuYWdHcmlkQXBpLnBhZ2luYXRpb25Hb1RvUHJldmlvdXNQYWdlKCk7XG4gICAgfSBlbHNlIHtcbiAgICAgIC8qKiBhZy1ncmlkIEFQSSB3b3JrcyB3aXRoIGZpcnN0IGluZGV4IDAgc28gd2UgbmVlZCB0byByZWR1Y2UgMiBpbnN0ZWFkIG9mIG9uZSAqL1xuICAgICAgY29uc3QgcHJldmlvdXNQYWdlSW5kZXggPSB0aGlzLnBhZ2VOdW1iZXJzRGlzcGxheS5jdXJyZW50UGFnZSAtIDI7XG4gICAgICB0aGlzLm5hdmlnYXRlUGFnZShwcmV2aW91c1BhZ2VJbmRleCk7XG4gICAgfVxuICB9XG5cbiAgLyoqXG4gICAqIHVwZGF0ZXMgdGhlIGRpc3BsYXlpbmcgcGFnZSBudW1iZXJzIHRvIHNob3cgdGhlIG5leHQgbnVtYmVycyBzZXRcbiAgICovXG4gIHNob3dOZXh0QmF0Y2goKSB7XG4gICAgY29uc3QgYW5jaG9yID0gdGhpcy5wYWdlTnVtYmVyc0Rpc3BsYXkucGFnZXNbMF0gKyB0aGlzLl9wYWdlc0luVmlldyArIHRoaXMucGFnZXNPblNpZGVzO1xuICAgIHRoaXMucGFnZU51bWJlcnNEaXNwbGF5LnBhZ2VzID0gdGhpcy5nZXRQYWdlcyhhbmNob3IpO1xuICB9XG5cbiAgLyoqXG4gICAqIHVwZGF0ZXMgdGhlIGRpc3BsYXlpbmcgcGFnZSBudW1iZXJzIHRvIHNob3cgdGhlIHByZXZpb3VzIG51bWJlcnMgc2V0XG4gICAqL1xuICBzaG93UHJldmlvdXNCYXRjaCgpIHtcbiAgICBjb25zdCBhbmNob3IgPSB0aGlzLnBhZ2VOdW1iZXJzRGlzcGxheS5wYWdlc1swXSAtIHRoaXMuX3BhZ2VzSW5WaWV3ICsgdGhpcy5wYWdlc09uU2lkZXM7XG4gICAgdGhpcy5wYWdlTnVtYmVyc0Rpc3BsYXkucGFnZXMgPSB0aGlzLmdldFBhZ2VzKGFuY2hvcik7XG4gIH1cblxuICAvKipcbiAgICogcmVzaXplIHRoZSBjb2x1bW5zIHdpZHRoIHRvIGZpdCB0aGVpciBjb250ZW50IGlmIHRoZSBjb2x1bW5zIHdpZHRoIGlzIHNtYWxsZXJcbiAgICogdGhhbiB0aGUgY29udGFpbmVyIHRoZSBncmlkIHdpbGwgZmlyIHRoZSBjb250YWluZXIuXG4gICAqL1xuICBmaXRUb0NvbnRhaW5lcigpIHtcbiAgICB0aGlzLmFsaWduVGFibGUuZW1pdChEYXRvVGFibGVBbGlnbm1lbnQuRklUX0NPTlRBSU5FUik7XG4gIH1cblxuICAvKipcbiAgICogcmVzaXplIHRoZSBjb2x1bW5zIHdpZHRoIHRvIGZpdCB0aGVpciBjb250ZW50IGlmIHRoZSBjb2x1bW5zIHdpZHRoIGlzIHNtYWxsZXJcbiAgICogdGhhbiB0aGUgY29udGFpbmVyIHRoZSBncmlkIHdpbGwgZmlyIHRoZSBjb250YWluZXIuXG4gICAqL1xuICBmaXRUb0NvbnRlbnQoKSB7XG4gICAgdGhpcy5hbGlnblRhYmxlLmVtaXQoRGF0b1RhYmxlQWxpZ25tZW50LkZJVF9DT05URU5UKTtcbiAgfVxuXG4gIC8qKlxuICAgKiBFeHBhbmQvQ29sbGFwc2UgdGhlIGdyb3VwZWQgcm93c1xuICAgKi9cbiAgdG9nZ2xlRXhwYW5kKCkge1xuICAgIHRoaXMudG9nZ2xlUm93R3JvdXAuZW1pdCgpO1xuICB9XG5cbiAgLyoqXG4gICAqIFRoZSB0cmFja0J5IGZ1bmN0aW9uIGZvciB0aGUgbmdGb3JcbiAgICogQHBhcmFtIGluZGV4IC0gY3VycmVudCBpdGVtIGluZGV4XG4gICAqIEBwYXJhbSBwYWdlIC0gdGhlIGN1cnJlbnQgaXRlbSdzIHBhZ2UgbnVtYmVyXG4gICAqIEByZXR1cm4ge251bWJlcn1cbiAgICovXG4gIHRyYWNrQnlGdW5jKGluZGV4OiBudW1iZXIsIHBhZ2U6IG51bWJlcikge1xuICAgIHJldHVybiBwYWdlO1xuICB9XG5cbiAgbmdPbkRlc3Ryb3koKTogdm9pZCB7fVxuXG4gIC8qKlxuICAgKiBTZXRzIHRoZSByb3dzIGRpc3BsYXkgc3RyaW5nXG4gICAqIEBwYXJhbSBkaXNwbGF5TnVtYmVyIC0gVGhlIGN1cnJlbnQgcGFnZSBudW1iZXIgKHN0YXJ0aW5nIGluZGV4IDEpXG4gICAqIEBwcml2YXRlXG4gICAqL1xuICBwcml2YXRlIHNldFJvd3NEaXNwbGF5UmFuZ2UoZGlzcGxheU51bWJlcik6IHZvaWQge1xuICAgIC8qKiBEZWNyZWFzZSBieSAxIGJlY2F1c2UgYWctZ3JpZCBBUEkgd29ya3Mgd2l0aCBmaXJzdCBpbmRleCAwICovXG4gICAgY29uc3QgcGFnZU51bWJlciA9IGRpc3BsYXlOdW1iZXIgLSAxO1xuICAgIGNvbnN0IGZpcnN0Um93SW5kZXggPSAxICsgcGFnZU51bWJlciAqIHRoaXMucm93c1BlclBhZ2U7XG4gICAgY29uc3QgbGFzdFJvdyA9IChwYWdlTnVtYmVyICsgMSkgKiB0aGlzLnJvd3NQZXJQYWdlO1xuICAgIGNvbnN0IGxhc3RSb3dJbmRleCA9IHRoaXMucm93Q291bnQgPiBsYXN0Um93ID8gbGFzdFJvdyA6IHRoaXMucm93Q291bnQ7XG4gICAgdGhpcy5yb3dzUmFuZ2UgPSB0aGlzLnRyYW5zbGF0ZS50cmFuc2Zvcm0oJ2NvcmUuaXRlbXNSYW5nZScsIHtcbiAgICAgIHJhbmdlOiBgJHtmaXJzdFJvd0luZGV4fSAtICR7bGFzdFJvd0luZGV4fWAsXG4gICAgICBudW1iZXI6IHRoaXMucm93Q291bnRcbiAgICB9KTtcbiAgfVxuXG4gIC8qKlxuICAgKiBHZXRzIGEgbnVtYmVyIGFuZCByZXR1cm5zIGFuIGFycmF5IG9mIHRoZSBkaXNwbGF5aW5nIG51bWJlcnMuXG4gICAqIEBwYXJhbSBhbmNob3IgLSBUaGUgbnVtYmVyIHRvIHVzZSBhcyBhbiBhbmNob3IgZm9yIHRoZSBjYWxjdWxhdGlvbnMuXG4gICAqIEByZXR1cm4ge251bWJlcltdfSAtIEFuIGFycmF5IG9mIHRoZSBuZXcgbnVtYmVycyB0byBkaXNwbGF5XG4gICAqIEBwcml2YXRlXG4gICAqL1xuICBwcml2YXRlIGdldFBhZ2VzKGFuY2hvcjogbnVtYmVyKTogbnVtYmVyW10ge1xuICAgIGNvbnN0IHBhZ2VzVG9EaXNwbGF5ID0gW107XG4gICAgLy8gaW5kaWNhdGVzIHJhdGhlciB0aGUgdGFibGUgaGFzIG1vcmUgcGFnZXMgdGhhbiB0aGUgZGlzcGxheSBsZW5ndGgsIHdlIGFkZCAxIGJlY2F1c2Ugb2ZcbiAgICAvLyBhIGxvZ2ljIHRoYXQgc2F5cyB0aGF0IGlmIHlvdXIgY3VycmVudCB2aWV3IGlzIDEgbnVtYmVyIGF3YXkgZnJvbSB0aGUgbGFzdCBwYWdlXG4gICAgLy8gZGlzcGxheSBoaW0gYXMgd2VsbC5cbiAgICB0aGlzLnBhZ2VOdW1iZXJzRGlzcGxheS5zaG93TGFzdFBhZ2UgPSAhdGhpcy5wYWdlc0ZpdFZpZXcgJiYgYW5jaG9yICsgdGhpcy5wYWdlc09uU2lkZXMgPCB0aGlzLnRvdGFsUGFnZXM7XG4gICAgdGhpcy5wYWdlTnVtYmVyc0Rpc3BsYXkuc2hvd0ZpcnN0RWxsaXBzaXMgPSAhdGhpcy5wYWdlc0ZpdFZpZXcgJiYgYW5jaG9yIC0gdGhpcy5wYWdlc09uU2lkZXMgPiAxO1xuXG4gICAgLy8gc2V0IHRoZSBmaXJzdCBudW1iZXIgdG8gYmUgZGlzcGxheWVkXG4gICAgY29uc3QgZmlyc3ROdW1iZXIgPSB0aGlzLmdldEZpcnN0UGFnZU51bWJlcihhbmNob3IpO1xuICAgIGNvbnN0IGxvb3BMZW5ndGggPSB0aGlzLnBhZ2VzRml0VmlldyA/IHRoaXMudG90YWxQYWdlcyA6IHRoaXMuX3BhZ2VzSW5WaWV3O1xuICAgIGZvciAobGV0IGkgPSAwOyBpIDwgbG9vcExlbmd0aDsgaSsrKSB7XG4gICAgICBwYWdlc1RvRGlzcGxheS5wdXNoKGZpcnN0TnVtYmVyICsgaSk7XG4gICAgfVxuICAgIC8vIElmIHRoZSBsYXN0IGRpc3BsYXllZCBudW1iZXIgaXMgMSBudW1iZXIgYmVmb3JlIHRoZSBsYXN0IHBhZ2UgZGlzcGxheSBoaW0gYXMgd2VsbFxuICAgIGlmICghdGhpcy5zbWFsbFZlcnNpb24gJiYgcGFnZXNUb0Rpc3BsYXlbbG9vcExlbmd0aCAtIDFdICsgMSA9PT0gdGhpcy50b3RhbFBhZ2VzKSB7XG4gICAgICBwYWdlc1RvRGlzcGxheS5wdXNoKHRoaXMudG90YWxQYWdlcyk7XG4gICAgICB0aGlzLnBhZ2VOdW1iZXJzRGlzcGxheS5zaG93TGFzdFBhZ2UgPSBmYWxzZTtcbiAgICB9XG4gICAgcmV0dXJuIHBhZ2VzVG9EaXNwbGF5O1xuICB9XG5cbiAgLyoqXG4gICAqIFJldHVybnMgdGhlIGZpcnN0IG51bWJlciB0byBiZSBkaXNwbGF5ZWQgaW4gdGhlIHBhZ2luYXRpb24gbmF2aWdhdGlvbiB2aWV3XG4gICAqIEBwYXJhbSB7bnVtYmVyfSBhbmNob3IgLSBUaGUgYW5jaG9yIGZvciB0aGUgY2FsY3VsYXRpb25zXG4gICAqIEByZXR1cm4ge251bWJlcn0gLSBUaGUgZmlyc3QgbnVtYmVyIHRvIGJlIGRpc3BsYXllZFxuICAgKiBAcHJpdmF0ZVxuICAgKi9cbiAgcHJpdmF0ZSBnZXRGaXJzdFBhZ2VOdW1iZXIoYW5jaG9yOiBudW1iZXIpOiBudW1iZXIge1xuICAgIGxldCBmaXJzdE51bWJlciA9IGFuY2hvciAtIHRoaXMucGFnZXNPblNpZGVzO1xuICAgIC8vIElmIGluIHNtYWxsIHZlcnNpb24gc2hvdyBvbmx5IG5leHQgcGFnZSBzbyBzZXQgZmlyc3QgcGFnZSB0byBhbmNob3JcbiAgICBpZiAodGhpcy5zbWFsbFZlcnNpb24gJiYgYW5jaG9yID4gMSkge1xuICAgICAgaWYgKGFuY2hvciAhPT0gdGhpcy50b3RhbFBhZ2VzKSB7XG4gICAgICAgIGZpcnN0TnVtYmVyID0gYW5jaG9yO1xuICAgICAgfVxuICAgIH0gZWxzZSBpZiAoIXRoaXMucGFnZU51bWJlcnNEaXNwbGF5LnNob3dGaXJzdEVsbGlwc2lzKSB7XG4gICAgICBmaXJzdE51bWJlciA9IDE7XG4gICAgfSBlbHNlIGlmICghdGhpcy5wYWdlTnVtYmVyc0Rpc3BsYXkuc2hvd0xhc3RQYWdlKSB7XG4gICAgICBmaXJzdE51bWJlciA9IHRoaXMudG90YWxQYWdlcyAtICh0aGlzLl9wYWdlc0luVmlldyAtIDEpO1xuICAgIH1cbiAgICByZXR1cm4gZmlyc3ROdW1iZXI7XG4gIH1cbn1cbiJdfQ==
|
|
@@ -3,7 +3,7 @@ import { ChangeDetectorRef, Component, ContentChildren, ElementRef, HostListener
|
|
|
3
3
|
import { DatoGridToolbarItemDirective } from './grid-toolbar-item.directive';
|
|
4
4
|
import { debounce, delay } from 'helpful-decorators';
|
|
5
5
|
import { DatoGridComponent } from '../grid/grid.component';
|
|
6
|
-
import { Events } from 'ag-grid-community';
|
|
6
|
+
import { Events } from '@ag-grid-community/core';
|
|
7
7
|
import { first } from 'rxjs/operators';
|
|
8
8
|
import { untilDestroyed } from 'ngx-take-until-destroy';
|
|
9
9
|
import { RowSelectionType, ToolbarActionType, ToolbarArea } from './grid-toolbar.types';
|
|
@@ -285,4 +285,4 @@ DatoGridToolbarComponent = __decorate([
|
|
|
285
285
|
GridToolbarService])
|
|
286
286
|
], DatoGridToolbarComponent);
|
|
287
287
|
export { DatoGridToolbarComponent };
|
|
288
|
-
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZ3JpZC10b29sYmFyLmNvbXBvbmVudC5qcyIsInNvdXJjZVJvb3QiOiJuZzovL0BkYXRvcmFtYS9jb3JlLyIsInNvdXJjZXMiOlsibGliL2dyaWQvZ3JpZC10b29sYmFyL2dyaWQtdG9vbGJhci5jb21wb25lbnQudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IjtBQUFBLE9BQU8sRUFDTCxpQkFBaUIsRUFDakIsU0FBUyxFQUNULGVBQWUsRUFDZixVQUFVLEVBQ1YsWUFBWSxFQUNaLEtBQUssRUFDTCxNQUFNLEVBQ04sU0FBUyxFQUNULFNBQVMsRUFDVCxZQUFZLEVBQ2IsTUFBTSxlQUFlLENBQUM7QUFDdkIsT0FBTyxFQUFFLDRCQUE0QixFQUFFLE1BQU0sK0JBQStCLENBQUM7QUFDN0UsT0FBTyxFQUFFLFFBQVEsRUFBRSxLQUFLLEVBQUUsTUFBTSxvQkFBb0IsQ0FBQztBQUNyRCxPQUFPLEVBQUUsaUJBQWlCLEVBQUUsTUFBTSx3QkFBd0IsQ0FBQztBQUMzRCxPQUFPLEVBQUUsTUFBTSxFQUFrQixNQUFNLG1CQUFtQixDQUFDO0FBQzNELE9BQU8sRUFBRSxLQUFLLEVBQUUsTUFBTSxnQkFBZ0IsQ0FBQztBQUN2QyxPQUFPLEVBQUUsY0FBYyxFQUFFLE1BQU0sd0JBQXdCLENBQUM7QUFFeEQsT0FBTyxFQUFFLGdCQUFnQixFQUErQixpQkFBaUIsRUFBRSxXQUFXLEVBQUUsTUFBTSxzQkFBc0IsQ0FBQztBQUNySCxPQUFPLEVBQUUsb0JBQW9CLEVBQUUsTUFBTSxrQ0FBa0MsQ0FBQztBQUN4RSxPQUFPLEVBQUUsa0JBQWtCLEVBQUUsTUFBTSx3QkFBd0IsQ0FBQztBQUM1RCxPQUFPLEVBQUUsV0FBVyxFQUFFLE1BQU0sa0JBQWtCLENBQUM7QUFDL0MsT0FBTyxFQUFFLFVBQVUsRUFBRSxNQUFNLHdCQUF3QixDQUFDO0FBUXBELElBQWEsd0JBQXdCLEdBQXJDLE1BQWEsd0JBQXdCO0lBMkVuQyxZQUNVLEdBQXNCLEVBQ3RCLFNBQStCLEVBQy9CLGtCQUFzQztR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bUI7UUFDN0IsMjRIQUE0Qzs7S0FFN0MsQ0FBQztxQ0E2RWUsaUJBQWlCO1FBQ1gsb0JBQW9CO1FBQ1gsa0JBQWtCO0dBOUVyQyx3QkFBd0IsQ0FrUnBDO1NBbFJZLHdCQUF3QiIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7XG4gIENoYW5nZURldGVjdG9yUmVmLFxuICBDb21wb25lbnQsXG4gIENvbnRlbnRDaGlsZHJlbixcbiAgRWxlbWVudFJlZixcbiAgSG9zdExpc3RlbmVyLFxuICBJbnB1dCxcbiAgT25Jbml0LFxuICBRdWVyeUxpc3QsXG4gIFZpZXdDaGlsZCxcbiAgVmlld0NoaWxkcmVuXG59IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xuaW1wb3J0IHsgRGF0b0dyaWRUb29sYmFySXRlbURpcmVjdGl2ZSB9IGZyb20gJy4vZ3JpZC10b29sYmFyLWl0ZW0uZGlyZWN0aXZlJztcbmltcG9ydCB7IGRlYm91bmNlLCBkZWxheSB9IGZyb20gJ2hlbHBmdWwtZGVjb3JhdG9ycyc7XG5pbXBvcnQgeyBEYXRvR3JpZENvbXBvbmVudCB9IGZyb20gJy4uL2dyaWQvZ3JpZC5jb21wb25lbnQnO1xuaW1wb3J0IHsgRXZlbnRzLCBHcmlkUmVhZHlFdmVudCB9IGZyb20gJ2FnLWdyaWQtY29tbXVuaXR5JztcbmltcG9ydCB7IGZpcnN0IH0gZnJvbSAncnhqcy9vcGVyYXRvcnMnO1xuaW1wb3J0IHsgdW50aWxEZXN0cm95ZWQgfSBmcm9tICduZ3gtdGFrZS11bnRpbC1kZXN0cm95JztcbmltcG9ydCB7IE9ic2VydmFibGUgfSBmcm9tICdyeGpzJztcbmltcG9ydCB7IFJvd1NlbGVjdGlvblR5cGUsIHNob3dXaGVuRnVuYywgVG9vbGJhckFjdGlvbiwgVG9vbGJhckFjdGlvblR5cGUsIFRvb2xiYXJBcmVhIH0gZnJvbSAnLi9ncmlkLXRvb2xiYXIudHlwZXMnO1xuaW1wb3J0IHsgRGF0b1RyYW5zbGF0ZVNlcnZpY2UgfSBmcm9tICcuLi8uLi9zZXJ2aWNlcy90cmFuc2xhdGUuc2VydmljZSc7XG5pbXBvcnQgeyBHcmlkVG9vbGJhclNlcnZpY2UgfSBmcm9tICcuL2dyaWQtdG9vbGJhci5zZXJ2aWNlJztcbmltcG9ydCB7IERhdG9HcmlkQVBJIH0gZnJvbSAnLi4vZGF0by1ncmlkLWFwaSc7XG5pbXBvcnQgeyBpc0Z1bmN0aW9uIH0gZnJvbSAnLi4vLi4vdXRpbHMvcHVibGljX2FwaSc7XG5pbXBvcnQgeyBIYXNoTWFwIH0gZnJvbSAnQGRhdG9yYW1hL2FraXRhJztcblxuQENvbXBvbmVudCh7XG4gIHNlbGVjdG9yOiAnZGF0by1ncmlkLXRvb2xiYXInLFxuICB0ZW1wbGF0ZVVybDogJy4vZ3JpZC10b29sYmFyLmNvbXBvbmVudC5odG1sJyxcbiAgc3R5bGVVcmxzOiBbJy4vZ3JpZC10b29sYmFyLmNvbXBvbmVudC5zY3NzJ11cbn0pXG5leHBvcnQgY2xhc3MgRGF0b0dyaWRUb29sYmFyQ29tcG9uZW50IGltcGxlbWVudHMgT25Jbml0IHtcbiAgcHJpdmF0ZSBldmVudEhhbmRsZXI7XG4gIHByaXZhdGUgYXJlYUFjdGlvbnM6IEhhc2hNYXA8VG9vbGJhckFyZWE+ID0ge1xuICAgIFtUb29sYmFyQWN0aW9uVHlwZS5CdXR0b25dOiBUb29sYmFyQXJlYS5MZWZ0LFxuICAgIFtUb29sYmFyQWN0aW9uVHlwZS5BZGRdOiBUb29sYmFyQXJlYS5JbnRlcm5hbEFyZWEsXG4gICAgW1Rvb2xiYXJBY3Rpb25UeXBlLkNvcHldOiBUb29sYmFyQXJlYS5QcmVzZXJ2ZWRBcmVhLFxuICAgIFtUb29sYmFyQWN0aW9uVHlwZS5FZGl0XTogVG9vbGJhckFyZWEuUHJlc2VydmVkQXJlYSxcbiAgICBbVG9vbGJhckFjdGlvblR5cGUuRGVsZXRlXTogVG9vbGJhckFyZWEuUHJlc2VydmVkQXJlYSxcbiAgICBbVG9vbGJhckFjdGlvblR5cGUuTWVudUl0ZW1dOiBUb29sYmFyQXJlYS5NZW51XG4gIH07XG5cbiAgcHJpdmF0ZSBhcGk6IERhdG9HcmlkQVBJO1xuXG4gIHByaXZhdGUgc2VsZWN0ZWRSb3dzQ291bnQgPSAwO1xuXG4gIHByaXZhdGUgX2FjdGlvbnM6IFRvb2xiYXJBY3Rpb25bXSA9IFtdO1xuXG4gIEBJbnB1dCgpXG4gIHNldCBhY3Rpb25zKGFjdGlvbnM6IFRvb2xiYXJBY3Rpb25bXSkge1xuICAgIHRoaXMuX2FjdGlvbnMgPSBhY3Rpb25zO1xuICB9XG4gIGdldCBhY3Rpb25zKCk6IFRvb2xiYXJBY3Rpb25bXSB7XG4gICAgcmV0dXJuIHRoaXMuX2FjdGlvbnM7XG4gIH1cblxuICBASW5wdXQoKVxuICBzZXQgZ3JpZChncmlkOiBEYXRvR3JpZENvbXBvbmVudCkge1xuICAgIGlmIChncmlkICYmICF0aGlzLmFwaSkge1xuICAgICAgdGhpcy5hcGkgPSBuZXcgRGF0b0dyaWRBUEkoKTtcbiAgICAgIC8vIGdldCBncmlkQXBpXG4gICAgICBncmlkLmdyaWRSZWFkeVxuICAgICAgICAucGlwZShcbiAgICAgICAgICB1bnRpbERlc3Ryb3llZCh0aGlzKSxcbiAgICAgICAgICBmaXJzdCgpXG4gICAgICAgIClcbiAgICAgICAgLnN1YnNjcmliZSgoZXZlbnQ6IEdyaWRSZWFkeUV2ZW50KSA9PiB7XG4gICAgICAgICAgdGhpcy5hcGkuZ3JpZEFwaSA9IGV2ZW50LmFwaTtcbiAgICAgICAgICB0aGlzLm9uR3JpZFJlYWR5KCk7XG4gICAgICAgIH0pO1xuICAgIH1cbiAgfVxuXG4gIGdldCBsZWZ0QXJlYUl0ZW1zKCkge1xuICAgIHJldHVybiB0aGlzLmZpbHRlcmVkSXRlbXNbVG9vbGJhckFyZWEuTGVmdF07XG4gIH1cblxuICBnZXQgcHJlc2VydmVkQXJlYUl0ZW1zKCkge1xuICAgIHJldHVybiB0aGlzLmZpbHRlcmVkSXRlbXNbVG9vbGJhckFyZWEuUHJlc2VydmVkQXJlYV07XG4gIH1cblxuICBnZXQgaW50ZXJuYWxBcmVhSXRlbXMoKSB7XG4gICAgcmV0dXJuIHRoaXMuZmlsdGVyZWRJdGVtc1tUb29sYmFyQXJlYS5JbnRlcm5hbEFyZWFdO1xuICB9XG5cbiAgQENvbnRlbnRDaGlsZHJlbihEYXRvR3JpZFRvb2xiYXJJdGVtRGlyZWN0aXZlKSBpdGVtczogUXVlcnlMaXN0PERhdG9HcmlkVG9vbGJhckl0ZW1EaXJlY3RpdmU+O1xuICBAVmlld0NoaWxkcmVuKERhdG9HcmlkVG9vbGJhckl0ZW1EaXJlY3RpdmUpIGFjdGlvbkl0ZW1zOiBRdWVyeUxpc3Q8RGF0b0dyaWRUb29sYmFySXRlbURpcmVjdGl2ZT47XG4gIEBWaWV3Q2hpbGQoJ2NvbnRhaW5lcicsIHsgc3RhdGljOiB0cnVlIH0pIGNvbnRhaW5lcjogRWxlbWVudFJlZjtcblxuICBvcGVuID0gZmFsc2U7XG5cbiAgLyoqXG4gICAqIENvbnRhaW5zIHRoZSBjdXN0b20gZWxlbWVudHNcbiAgICogQHR5cGUge2FueVtdfVxuICAgKi9cbiAgZmlsdGVyZWRJdGVtczogSGFzaE1hcDxEYXRvR3JpZFRvb2xiYXJJdGVtRGlyZWN0aXZlW10+ID0ge1xuICAgIFtUb29sYmFyQXJlYS5NZW51XTogW10sXG4gICAgW1Rvb2xiYXJBcmVhLkxlZnRdOiBbXSxcbiAgICBbVG9vbGJhckFyZWEuUHJlc2VydmVkQXJlYV06IFtdLFxuICAgIFtUb29sYmFyQXJlYS5JbnRlcm5hbEFyZWFdOiBbXVxuICB9O1xuXG4gIGdldCBpdGVtVGVtcGxhdGVzKCkge1xuICAgIHJldHVybiBbLi4udGhpcy5pdGVtcy50b0FycmF5KCksIC4uLnRoaXMuYWN0aW9uSXRlbXMudG9BcnJheSgpXTtcbiAgfVxuXG4gIGNvbnN0cnVjdG9yKFxuICAgIHByaXZhdGUgY2RyOiBDaGFuZ2VEZXRlY3RvclJlZixcbiAgICBwcml2YXRlIHRyYW5zbGF0ZTogRGF0b1RyYW5zbGF0ZVNlcnZpY2UsXG4gICAgcHJpdmF0ZSBncmlkVG9vbGJhclNlcnZpY2U6IEdyaWRUb29sYmFyU2VydmljZVxuICApIHt9XG5cbiAgbmdPbkluaXQoKSB7XG4gICAgdGhpcy50cmFuc2xhdGVBY3Rpb25zKCk7XG4gIH1cblxuICAvKipcbiAgICogVHJhbnNsYXRlIHRoZSBhY3Rpb25zXG4gICAqL1xuICB0cmFuc2xhdGVBY3Rpb25zKCkge1xuICAgIHRoaXMuYWN0aW9ucyA9IHRoaXMuYWN0aW9ucy5tYXAoYWN0aW9uID0+IHtcbiAgICAgIHJldHVybiB7XG4gICAgICAgIC4uLmFjdGlvbixcbiAgICAgICAgdGV4dDogdGhpcy50cmFuc2xhdGUudHJhbnNmb3JtKGFjdGlvbi50ZXh0KVxuICAgICAgfTtcbiAgICB9KTtcbiAgfVxuXG4gIC8qKlxuICAgKlxuICAgKiBAbWVtYmVyb2YgRGFHcmlkVG9vbGJhckNvbXBvbmVudFxuICAgKi9cbiAgQEhvc3RMaXN0ZW5lcignd2luZG93OnJlc2l6ZScpXG4gIEBkZWJvdW5jZSgzMDApXG4gIHJlc2l6ZSgpIHtcbiAgICB0aGlzLmFwaS5ncmlkQXBpLnNpemVDb2x1bW5zVG9GaXQoKTtcbiAgfVxuXG4gIG5nT25EZXN0cm95KCkge1xuICAgIHRoaXMuYXBpICYmIHRoaXMuYXBpLmdyaWRBcGkucmVtb3ZlRXZlbnRMaXN0ZW5lcihFdmVudHMuRVZFTlRfU0VMRUNUSU9OX0NIQU5HRUQsIHRoaXMuZXZlbnRIYW5kbGVyKTtcbiAgfVxuXG4gIGFjdGlvbkNsaWNrKGFjdGlvbjogVG9vbGJhckFjdGlvbikge1xuICAgIHRoaXMuZ3JpZFRvb2xiYXJTZXJ2aWNlLmV4ZWN1dGVBY3Rpb24oYWN0aW9uLCB0aGlzLmFwaSk7XG4gIH1cblxuICBwcml2YXRlIG9uR3JpZFJlYWR5KCkge1xuICAgIHRoaXMuZXZlbnRIYW5kbGVyID0gdGhpcy5yb3dTZWxlY3Rpb25DaGFuZ2UuYmluZCh0aGlzKTtcblxuICAgIHRoaXMuYXBpLmdyaWRBcGkuYWRkRXZlbnRMaXN0ZW5lcihFdmVudHMuRVZFTlRfU0VMRUNUSU9OX0NIQU5HRUQsIHRoaXMuZXZlbnRIYW5kbGVyKTtcblxuICAgIHRoaXMuX2ZpbHRlckl0ZW1zKHRydWUpO1xuICAgIHRoaXMuZml0R3JpZFNpemVPbkluaXQoKTtcbiAgfVxuXG4gIHByaXZhdGUgcm93U2VsZWN0aW9uQ2hhbmdlKCkge1xuICAgIGNvbnN0IHJvd0RhdGEgPSB0aGlzLmFwaS5nZXRTZWxlY3RlZFJvd3MoKTtcbiAgICBjb25zdCByb3dzQ291bnQgPSByb3dEYXRhLmxlbmd0aDtcbiAgICB0aGlzLm9wZW4gPSBmYWxzZTtcblxuICAgIGlmICh0aGlzLl9zaG91bGROb3RSZXJlbmRlcihyb3dzQ291bnQpKSB7XG4gICAgICByZXR1cm47XG4gICAgfVxuXG4gICAgdGhpcy5zZWxlY3RlZFJvd3NDb3VudCA9IHJvd3NDb3VudDtcbiAgICB0aGlzLl9maWx0ZXJJdGVtcyhmYWxzZSwgcm93c0NvdW50LCByb3dEYXRhKTtcbiAgICB0aGlzLmNkci5kZXRlY3RDaGFuZ2VzKCk7XG4gIH1cblxuICAvKipcbiAgICogT25seSByZXJlbmRlciBpZiB3ZSB0aGUgcm93cyBjb3VudCBjaGFuZ2VkIGFuZCB3ZSBkb24ndCBoYXZlIGEgY3VzdG9tIGZ1bmN0aW9uc1xuICAgKiBAcHJpdmF0ZVxuICAgKiBAcGFyYW0ge251bWJlcn0gcm93c0NvdW50XG4gICAqIEByZXR1cm5zXG4gICAqIEBtZW1iZXJvZiBEYUdyaWRUb29sYmFyQ29tcG9uZW50XG4gICAqL1xuICBwcml2YXRlIF9zaG91bGROb3RSZXJlbmRlcihyb3dzQ291bnQ6IG51bWJlcikge1xuICAgIHJldHVybiB0aGlzLnNlbGVjdGVkUm93c0NvdW50ID09PSByb3dzQ291bnQgJiYgIXRoaXMuX2hhc0N1c3RvbUZ1bmN0aW9ucygpO1xuICB9XG5cbiAgLyoqXG4gICAqXG4gICAqIEBwcml2YXRlXG4gICAqIEByZXR1cm5zXG4gICAqIEBtZW1iZXJvZiBEYUdyaWRUb29sYmFyQ29tcG9uZW50XG4gICAqL1xuICBwcml2YXRlIF9oYXNDdXN0b21GdW5jdGlvbnMoKSB7XG4gICAgcmV0dXJuIHRoaXMuaXRlbVRlbXBsYXRlcy5maWx0ZXIoaXRlbSA9PiBpc0Z1bmN0aW9uKGl0ZW0uc2hvd1doZW4pKS5sZW5ndGg7XG4gIH1cblxuICAvKipcbiAgICpcbiAgICogQHByaXZhdGVcbiAgICogQHBhcmFtIHtib29sZWFufSBpbml0XG4gICAqIEBwYXJhbSB7bnVtYmVyfSBbcm93c0NvdW50XVxuICAgKiBAcGFyYW0geyp9IFtkYXRhXVxuICAgKiBAcmV0dXJuc1xuICAgKiBAbWVtYmVyb2YgRGFHcmlkVG9vbGJhckNvbXBvbmVudFxuICAgKi9cbiAgcHJpdmF0ZSBfZmlsdGVySXRlbXMoaW5pdDogYm9vbGVhbiwgcm93c0NvdW50PzogbnVtYmVyLCBkYXRhPzogYW55KSB7XG4gICAgY29uc3QgaW5pdGlhbEl0ZW1zOiBIYXNoTWFwPERhdG9HcmlkVG9vbGJhckl0ZW1EaXJlY3RpdmVbXT4gPSB7XG4gICAgICBbVG9vbGJhckFyZWEuTWVudV06IFtdLFxuICAgICAgW1Rvb2xiYXJBcmVhLkxlZnRdOiBbXSxcbiAgICAgIFtUb29sYmFyQXJlYS5QcmVzZXJ2ZWRBcmVhXTogW10sXG4gICAgICBbVG9vbGJhckFyZWEuSW50ZXJuYWxBcmVhXTogW11cbiAgICB9O1xuXG4gICAgLy8gMS4gZGVjaWRlIHdoaWNoIGl0ZW1zIHRvIHNob3csIGJhc2VkIG9uIHRoZWlyIGNvbmRpdGlvblxuICAgIC8vIDIuIEdyb3VwIHRoZSBpdGVtcyBieSB0aGVpciBhcmVhXG4gICAgdGhpcy5maWx0ZXJlZEl0ZW1zID0gdGhpcy5pdGVtVGVtcGxhdGVzXG4gICAgICAuZmlsdGVyKGl0ZW0gPT4ge1xuICAgICAgICBjb25zdCBjb25kaXRpb24gPSBpdGVtLnNob3dXaGVuIHx8ICdhbHdheXMnO1xuICAgICAgICBpZiAoaXNGdW5jdGlvbihjb25kaXRpb24pKSB7XG4gICAgICAgICAgcmV0dXJuIHRoaXMuX2hhbmRsZUN1c3RvbUZ1bmN0aW9uKGNvbmRpdGlvbiwgZGF0YSk7XG4gICAgICAgIH0gZWxzZSB7XG4gICAgICAgICAgcmV0dXJuIChcbiAgICAgICAgICAgIHRoaXMuX2lzU2luZ2xlKGNvbmRpdGlvbiwgcm93c0NvdW50KSB8fFxuICAgICAgICAgICAgdGhpcy5faXNNdWx0aXBsZShjb25kaXRpb24sIHJvd3NDb3VudCkgfHxcbiAgICAgICAgICAgIHRoaXMuX2lzTm9uZShjb25kaXRpb24sIHJvd3NDb3VudCkgfHxcbiAgICAgICAgICAgIHRoaXMuX3Nob3dBbHdheXMoY29uZGl0aW9uKVxuICAgICAgICAgICk7XG4gICAgICAgIH1cbiAgICAgIH0pXG4gICAgICAuc29ydCgoYSwgYikgPT4ge1xuICAgICAgICByZXR1cm4gYS5vcmRlciAtIGIub3JkZXI7XG4gICAgICB9KVxuICAgICAgLnJlZHVjZSgocHJldmlvdXNWYWx1ZSwgY3VycmVudFZhbHVlKSA9PiB7XG4gICAgICAgIC8vIHJldHJpZXZlIHRoZSBpdGVtIHR5cGUuIERlZmF1bHQgdG8gY3VzdG9tXG4gICAgICAgIGNvbnN0IGFjdGlvblR5cGUgPSBjdXJyZW50VmFsdWUuYWN0aW9uVHlwZSB8fCBUb29sYmFyQWN0aW9uVHlwZS5CdXR0b247XG4gICAgICAgIC8vIGdldCB0aGUgYXJlYSB3ZSBuZWVkIHRvIHBsYWNlIHRoaXMgaXRlbVxuICAgICAgICBjb25zdCBhcmVhOiBUb29sYmFyQXJlYSA9IHRoaXMuYXJlYUFjdGlvbnNbYWN0aW9uVHlwZV07XG4gICAgICAgIHByZXZpb3VzVmFsdWVbYXJlYV0ucHVzaChjdXJyZW50VmFsdWUpO1xuXG4gICAgICAgIHJldHVybiBwcmV2aW91c1ZhbHVlO1xuICAgICAgfSwgaW5pdGlhbEl0ZW1zKTtcbiAgfVxuXG4gIC8qKlxuICAgKlxuICAgKiBAcGFyYW0gY29uZGl0aW9uXG4gICAqIEByZXR1cm5zIHtib29sZWFufVxuICAgKiBAcHJpdmF0ZVxuICAgKi9cbiAgcHJpdmF0ZSBfc2hvd0Fsd2F5cyhjb25kaXRpb24pIHtcbiAgICByZXR1cm4gY29uZGl0aW9uID09PSBSb3dTZWxlY3Rpb25UeXBlLkFMV0FZUztcbiAgfVxuXG4gIC8qKlxuICAgKlxuICAgKiBAcHJpdmF0ZVxuICAgKiBAcGFyYW0geyhzdHJpbmcgfCBzaG93V2hlbkZ1bmMpfSBjb25kaXRpb25cbiAgICogQHBhcmFtIHthbnlbXX0gc2VsZWN0ZWRSb3dzXG4gICAqIEByZXR1cm5zXG4gICAqIEBtZW1iZXJvZiBEYUdyaWRUb29sYmFyQ29tcG9uZW50XG4gICAqL1xuICBwcml2YXRlIF9oYW5kbGVDdXN0b21GdW5jdGlvbihjb25kaXRpb246IHN0cmluZyB8IHNob3dXaGVuRnVuYywgc2VsZWN0ZWRSb3dzOiBhbnlbXSkge1xuICAgIGlmIChpc0Z1bmN0aW9uKGNvbmRpdGlvbikpIHtcbiAgICAgIHJldHVybiAoY29uZGl0aW9uIGFzIEZ1bmN0aW9uKShzZWxlY3RlZFJvd3MgfHwgW10pO1xuICAgIH1cbiAgICByZXR1cm4gZmFsc2U7XG4gIH1cblxuICAvKipcbiAgICogQXNzZXJ0IGlmIG9ubHkgb25lIHJvdyBzZWxlY3RlZFxuICAgKiBAcHJpdmF0ZVxuICAgKiBAcGFyYW0geyhzdHJpbmcgfCBGdW5jdGlvbil9IGNvbmRpdGlvblxuICAgKiBAcGFyYW0ge251bWJlcn0gcm93c0NvdW50XG4gICAqIEByZXR1cm5zXG4gICAqIEBtZW1iZXJvZiBEYUdyaWRUb29sYmFyQ29tcG9uZW50XG4gICAqL1xuICBwcml2YXRlIF9pc1NpbmdsZShjb25kaXRpb246IHN0cmluZyB8IHNob3dXaGVuRnVuYywgcm93c0NvdW50OiBudW1iZXIpIHtcbiAgICByZXR1cm4gY29uZGl0aW9uID09PSBSb3dTZWxlY3Rpb25UeXBlLlNJTkdMRSAmJiByb3dzQ291bnQgPT09IDE7XG4gIH1cblxuICAvKipcbiAgICogQXNzZXJ0IGlmIG5vIHJvd3Mgc2VsZWN0ZWQuXG4gICAqIEBwYXJhbSB7c3RyaW5nIHwgc2hvd1doZW5GdW5jfSBjb25kaXRpb25cbiAgICogQHBhcmFtIHtudW1iZXIgfCB1bmRlZmluZWR9IHJvd3NDb3VudFxuICAgKiBAcmV0dXJuIHtib29sZWFufVxuICAgKiBAcHJpdmF0ZVxuICAgKi9cbiAgcHJpdmF0ZSBfaXNOb25lKGNvbmRpdGlvbjogc3RyaW5nIHwgc2hvd1doZW5GdW5jLCByb3dzQ291bnQ6IG51bWJlciB8IHVuZGVmaW5lZCkge1xuICAgIHJldHVybiBjb25kaXRpb24gPT09IFJvd1NlbGVjdGlvblR5cGUuTk9ORSAmJiAhcm93c0NvdW50O1xuICB9XG5cbiAgLyoqXG4gICAqXG4gICAqIEBwYXJhbSB7c3RyaW5nIHwgc2hvd1doZW5GdW5jfSBjb25kaXRpb25cbiAgICogQHBhcmFtIHtudW1iZXJ9IHJvd3NDb3VudFxuICAgKiBAcmV0dXJucyB7Ym9vbGVhbn1cbiAgICogQHByaXZhdGVcbiAgICovXG4gIHByaXZhdGUgX2lzTXVsdGlwbGUoY29uZGl0aW9uOiBzdHJpbmcgfCBzaG93V2hlbkZ1bmMsIHJvd3NDb3VudDogbnVtYmVyKSB7XG4gICAgcmV0dXJuIGNvbmRpdGlvbiA9PT0gUm93U2VsZWN0aW9uVHlwZS5NVUxUSSAmJiByb3dzQ291bnQgPj0gMTtcbiAgfVxuXG4gIC8qKlxuICAgKiBGb3IgdGhlIGdyaWQgdG8gYmUgcmVzcG9uc2l2ZVxuICAgKiBAcHJpdmF0ZVxuICAgKiBAbWVtYmVyb2YgRGFHcmlkVG9vbGJhckNvbXBvbmVudFxuICAgKi9cbiAgQGRlbGF5KClcbiAgcHJpdmF0ZSBmaXRHcmlkU2l6ZU9uSW5pdCgpIHtcbiAgICB0aGlzLmFwaS5ncmlkQXBpLnNpemVDb2x1bW5zVG9GaXQoKTtcbiAgfVxufVxuIl19
|
|
288
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZ3JpZC10b29sYmFyLmNvbXBvbmVudC5qcyIsInNvdXJjZVJvb3QiOiJuZzovL0BkYXRvcmFtYS9jb3JlLyIsInNvdXJjZXMiOlsibGliL2dyaWQvZ3JpZC10b29sYmFyL2dyaWQtdG9vbGJhci5jb21wb25lbnQudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IjtBQUFBLE9BQU8sRUFDTCxpQkFBaUIsRUFDakIsU0FBUyxFQUNULGVBQWUsRUFDZixVQUFVLEVBQ1YsWUFBWSxFQUNaLEtBQUssRUFDTCxNQUFNLEVBQ04sU0FBUyxFQUNULFNBQVMsRUFDVCxZQUFZLEVBQ2IsTUFBTSxlQUFlLENBQUM7QUFDdkIsT0FBTyxFQUFFLDRCQUE0QixFQUFFLE1BQU0sK0JBQStCLENBQUM7QUFDN0UsT0FBTyxFQUFFLFFBQVEsRUFBRSxLQUFLLEVBQUUsTUFBTSxvQkFBb0IsQ0FBQztBQUNyRCxPQUFPLEVBQUUsaUJBQWlCLEVBQUUsTUFBTSx3QkFBd0IsQ0FBQztBQUMzRCxPQUFPLEVBQUUsTUFBTSxFQUFrQixNQUFNLHlCQUF5QixDQUFDO0FBQ2pFLE9BQU8sRUFBRSxLQUFLLEVBQUUsTUFBTSxnQkFBZ0IsQ0FBQztBQUN2QyxPQUFPLEVBQUUsY0FBYyxFQUFFLE1BQU0sd0JBQXdCLENBQUM7QUFFeEQsT0FBTyxFQUFFLGdCQUFnQixFQUErQixpQkFBaUIsRUFBRSxXQUFXLEVBQUUsTUFBTSxzQkFBc0IsQ0FBQztBQUNySCxPQUFPLEVBQUUsb0JBQW9CLEVBQUUsTUFBTSxrQ0FBa0MsQ0FBQztBQUN4RSxPQUFPLEVBQUUsa0JBQWtCLEVBQUUsTUFBTSx3QkFBd0IsQ0FBQztBQUM1RCxPQUFPLEVBQUUsV0FBVyxFQUFFLE1BQU0sa0JBQWtCLENBQUM7QUFDL0MsT0FBTyxFQUFFLFVBQVUsRUFBRSxNQUFNLHdCQUF3QixDQUFDO0FBUXBELElBQWEsd0JBQXdCLEdBQXJDLE1BQWEsd0JBQXdCO0lBMkVuQyxZQUNVLEdBQXNCLEVBQ3RCLFNBQStCLEVBQy9CLGtCQUFzQztR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bUI7UUFDN0IsMjRIQUE0Qzs7S0FFN0MsQ0FBQztxQ0E2RWUsaUJBQWlCO1FBQ1gsb0JBQW9CO1FBQ1gsa0JBQWtCO0dBOUVyQyx3QkFBd0IsQ0FrUnBDO1NBbFJZLHdCQUF3QiIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7XG4gIENoYW5nZURldGVjdG9yUmVmLFxuICBDb21wb25lbnQsXG4gIENvbnRlbnRDaGlsZHJlbixcbiAgRWxlbWVudFJlZixcbiAgSG9zdExpc3RlbmVyLFxuICBJbnB1dCxcbiAgT25Jbml0LFxuICBRdWVyeUxpc3QsXG4gIFZpZXdDaGlsZCxcbiAgVmlld0NoaWxkcmVuXG59IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xuaW1wb3J0IHsgRGF0b0dyaWRUb29sYmFySXRlbURpcmVjdGl2ZSB9IGZyb20gJy4vZ3JpZC10b29sYmFyLWl0ZW0uZGlyZWN0aXZlJztcbmltcG9ydCB7IGRlYm91bmNlLCBkZWxheSB9IGZyb20gJ2hlbHBmdWwtZGVjb3JhdG9ycyc7XG5pbXBvcnQgeyBEYXRvR3JpZENvbXBvbmVudCB9IGZyb20gJy4uL2dyaWQvZ3JpZC5jb21wb25lbnQnO1xuaW1wb3J0IHsgRXZlbnRzLCBHcmlkUmVhZHlFdmVudCB9IGZyb20gJ0BhZy1ncmlkLWNvbW11bml0eS9jb3JlJztcbmltcG9ydCB7IGZpcnN0IH0gZnJvbSAncnhqcy9vcGVyYXRvcnMnO1xuaW1wb3J0IHsgdW50aWxEZXN0cm95ZWQgfSBmcm9tICduZ3gtdGFrZS11bnRpbC1kZXN0cm95JztcbmltcG9ydCB7IE9ic2VydmFibGUgfSBmcm9tICdyeGpzJztcbmltcG9ydCB7IFJvd1NlbGVjdGlvblR5cGUsIHNob3dXaGVuRnVuYywgVG9vbGJhckFjdGlvbiwgVG9vbGJhckFjdGlvblR5cGUsIFRvb2xiYXJBcmVhIH0gZnJvbSAnLi9ncmlkLXRvb2xiYXIudHlwZXMnO1xuaW1wb3J0IHsgRGF0b1RyYW5zbGF0ZVNlcnZpY2UgfSBmcm9tICcuLi8uLi9zZXJ2aWNlcy90cmFuc2xhdGUuc2VydmljZSc7XG5pbXBvcnQgeyBHcmlkVG9vbGJhclNlcnZpY2UgfSBmcm9tICcuL2dyaWQtdG9vbGJhci5zZXJ2aWNlJztcbmltcG9ydCB7IERhdG9HcmlkQVBJIH0gZnJvbSAnLi4vZGF0by1ncmlkLWFwaSc7XG5pbXBvcnQgeyBpc0Z1bmN0aW9uIH0gZnJvbSAnLi4vLi4vdXRpbHMvcHVibGljX2FwaSc7XG5pbXBvcnQgeyBIYXNoTWFwIH0gZnJvbSAnQGRhdG9yYW1hL2FraXRhJztcblxuQENvbXBvbmVudCh7XG4gIHNlbGVjdG9yOiAnZGF0by1ncmlkLXRvb2xiYXInLFxuICB0ZW1wbGF0ZVVybDogJy4vZ3JpZC10b29sYmFyLmNvbXBvbmVudC5odG1sJyxcbiAgc3R5bGVVcmxzOiBbJy4vZ3JpZC10b29sYmFyLmNvbXBvbmVudC5zY3NzJ11cbn0pXG5leHBvcnQgY2xhc3MgRGF0b0dyaWRUb29sYmFyQ29tcG9uZW50IGltcGxlbWVudHMgT25Jbml0IHtcbiAgcHJpdmF0ZSBldmVudEhhbmRsZXI7XG4gIHByaXZhdGUgYXJlYUFjdGlvbnM6IEhhc2hNYXA8VG9vbGJhckFyZWE+ID0ge1xuICAgIFtUb29sYmFyQWN0aW9uVHlwZS5CdXR0b25dOiBUb29sYmFyQXJlYS5MZWZ0LFxuICAgIFtUb29sYmFyQWN0aW9uVHlwZS5BZGRdOiBUb29sYmFyQXJlYS5JbnRlcm5hbEFyZWEsXG4gICAgW1Rvb2xiYXJBY3Rpb25UeXBlLkNvcHldOiBUb29sYmFyQXJlYS5QcmVzZXJ2ZWRBcmVhLFxuICAgIFtUb29sYmFyQWN0aW9uVHlwZS5FZGl0XTogVG9vbGJhckFyZWEuUHJlc2VydmVkQXJlYSxcbiAgICBbVG9vbGJhckFjdGlvblR5cGUuRGVsZXRlXTogVG9vbGJhckFyZWEuUHJlc2VydmVkQXJlYSxcbiAgICBbVG9vbGJhckFjdGlvblR5cGUuTWVudUl0ZW1dOiBUb29sYmFyQXJlYS5NZW51XG4gIH07XG5cbiAgcHJpdmF0ZSBhcGk6IERhdG9HcmlkQVBJO1xuXG4gIHByaXZhdGUgc2VsZWN0ZWRSb3dzQ291bnQgPSAwO1xuXG4gIHByaXZhdGUgX2FjdGlvbnM6IFRvb2xiYXJBY3Rpb25bXSA9IFtdO1xuXG4gIEBJbnB1dCgpXG4gIHNldCBhY3Rpb25zKGFjdGlvbnM6IFRvb2xiYXJBY3Rpb25bXSkge1xuICAgIHRoaXMuX2FjdGlvbnMgPSBhY3Rpb25zO1xuICB9XG4gIGdldCBhY3Rpb25zKCk6IFRvb2xiYXJBY3Rpb25bXSB7XG4gICAgcmV0dXJuIHRoaXMuX2FjdGlvbnM7XG4gIH1cblxuICBASW5wdXQoKVxuICBzZXQgZ3JpZChncmlkOiBEYXRvR3JpZENvbXBvbmVudCkge1xuICAgIGlmIChncmlkICYmICF0aGlzLmFwaSkge1xuICAgICAgdGhpcy5hcGkgPSBuZXcgRGF0b0dyaWRBUEkoKTtcbiAgICAgIC8vIGdldCBncmlkQXBpXG4gICAgICBncmlkLmdyaWRSZWFkeVxuICAgICAgICAucGlwZShcbiAgICAgICAgICB1bnRpbERlc3Ryb3llZCh0aGlzKSxcbiAgICAgICAgICBmaXJzdCgpXG4gICAgICAgIClcbiAgICAgICAgLnN1YnNjcmliZSgoZXZlbnQ6IEdyaWRSZWFkeUV2ZW50KSA9PiB7XG4gICAgICAgICAgdGhpcy5hcGkuZ3JpZEFwaSA9IGV2ZW50LmFwaTtcbiAgICAgICAgICB0aGlzLm9uR3JpZFJlYWR5KCk7XG4gICAgICAgIH0pO1xuICAgIH1cbiAgfVxuXG4gIGdldCBsZWZ0QXJlYUl0ZW1zKCkge1xuICAgIHJldHVybiB0aGlzLmZpbHRlcmVkSXRlbXNbVG9vbGJhckFyZWEuTGVmdF07XG4gIH1cblxuICBnZXQgcHJlc2VydmVkQXJlYUl0ZW1zKCkge1xuICAgIHJldHVybiB0aGlzLmZpbHRlcmVkSXRlbXNbVG9vbGJhckFyZWEuUHJlc2VydmVkQXJlYV07XG4gIH1cblxuICBnZXQgaW50ZXJuYWxBcmVhSXRlbXMoKSB7XG4gICAgcmV0dXJuIHRoaXMuZmlsdGVyZWRJdGVtc1tUb29sYmFyQXJlYS5JbnRlcm5hbEFyZWFdO1xuICB9XG5cbiAgQENvbnRlbnRDaGlsZHJlbihEYXRvR3JpZFRvb2xiYXJJdGVtRGlyZWN0aXZlKSBpdGVtczogUXVlcnlMaXN0PERhdG9HcmlkVG9vbGJhckl0ZW1EaXJlY3RpdmU+O1xuICBAVmlld0NoaWxkcmVuKERhdG9HcmlkVG9vbGJhckl0ZW1EaXJlY3RpdmUpIGFjdGlvbkl0ZW1zOiBRdWVyeUxpc3Q8RGF0b0dyaWRUb29sYmFySXRlbURpcmVjdGl2ZT47XG4gIEBWaWV3Q2hpbGQoJ2NvbnRhaW5lcicsIHsgc3RhdGljOiB0cnVlIH0pIGNvbnRhaW5lcjogRWxlbWVudFJlZjtcblxuICBvcGVuID0gZmFsc2U7XG5cbiAgLyoqXG4gICAqIENvbnRhaW5zIHRoZSBjdXN0b20gZWxlbWVudHNcbiAgICogQHR5cGUge2FueVtdfVxuICAgKi9cbiAgZmlsdGVyZWRJdGVtczogSGFzaE1hcDxEYXRvR3JpZFRvb2xiYXJJdGVtRGlyZWN0aXZlW10+ID0ge1xuICAgIFtUb29sYmFyQXJlYS5NZW51XTogW10sXG4gICAgW1Rvb2xiYXJBcmVhLkxlZnRdOiBbXSxcbiAgICBbVG9vbGJhckFyZWEuUHJlc2VydmVkQXJlYV06IFtdLFxuICAgIFtUb29sYmFyQXJlYS5JbnRlcm5hbEFyZWFdOiBbXVxuICB9O1xuXG4gIGdldCBpdGVtVGVtcGxhdGVzKCkge1xuICAgIHJldHVybiBbLi4udGhpcy5pdGVtcy50b0FycmF5KCksIC4uLnRoaXMuYWN0aW9uSXRlbXMudG9BcnJheSgpXTtcbiAgfVxuXG4gIGNvbnN0cnVjdG9yKFxuICAgIHByaXZhdGUgY2RyOiBDaGFuZ2VEZXRlY3RvclJlZixcbiAgICBwcml2YXRlIHRyYW5zbGF0ZTogRGF0b1RyYW5zbGF0ZVNlcnZpY2UsXG4gICAgcHJpdmF0ZSBncmlkVG9vbGJhclNlcnZpY2U6IEdyaWRUb29sYmFyU2VydmljZVxuICApIHt9XG5cbiAgbmdPbkluaXQoKSB7XG4gICAgdGhpcy50cmFuc2xhdGVBY3Rpb25zKCk7XG4gIH1cblxuICAvKipcbiAgICogVHJhbnNsYXRlIHRoZSBhY3Rpb25zXG4gICAqL1xuICB0cmFuc2xhdGVBY3Rpb25zKCkge1xuICAgIHRoaXMuYWN0aW9ucyA9IHRoaXMuYWN0aW9ucy5tYXAoYWN0aW9uID0+IHtcbiAgICAgIHJldHVybiB7XG4gICAgICAgIC4uLmFjdGlvbixcbiAgICAgICAgdGV4dDogdGhpcy50cmFuc2xhdGUudHJhbnNmb3JtKGFjdGlvbi50ZXh0KVxuICAgICAgfTtcbiAgICB9KTtcbiAgfVxuXG4gIC8qKlxuICAgKlxuICAgKiBAbWVtYmVyb2YgRGFHcmlkVG9vbGJhckNvbXBvbmVudFxuICAgKi9cbiAgQEhvc3RMaXN0ZW5lcignd2luZG93OnJlc2l6ZScpXG4gIEBkZWJvdW5jZSgzMDApXG4gIHJlc2l6ZSgpIHtcbiAgICB0aGlzLmFwaS5ncmlkQXBpLnNpemVDb2x1bW5zVG9GaXQoKTtcbiAgfVxuXG4gIG5nT25EZXN0cm95KCkge1xuICAgIHRoaXMuYXBpICYmIHRoaXMuYXBpLmdyaWRBcGkucmVtb3ZlRXZlbnRMaXN0ZW5lcihFdmVudHMuRVZFTlRfU0VMRUNUSU9OX0NIQU5HRUQsIHRoaXMuZXZlbnRIYW5kbGVyKTtcbiAgfVxuXG4gIGFjdGlvbkNsaWNrKGFjdGlvbjogVG9vbGJhckFjdGlvbikge1xuICAgIHRoaXMuZ3JpZFRvb2xiYXJTZXJ2aWNlLmV4ZWN1dGVBY3Rpb24oYWN0aW9uLCB0aGlzLmFwaSk7XG4gIH1cblxuICBwcml2YXRlIG9uR3JpZFJlYWR5KCkge1xuICAgIHRoaXMuZXZlbnRIYW5kbGVyID0gdGhpcy5yb3dTZWxlY3Rpb25DaGFuZ2UuYmluZCh0aGlzKTtcblxuICAgIHRoaXMuYXBpLmdyaWRBcGkuYWRkRXZlbnRMaXN0ZW5lcihFdmVudHMuRVZFTlRfU0VMRUNUSU9OX0NIQU5HRUQsIHRoaXMuZXZlbnRIYW5kbGVyKTtcblxuICAgIHRoaXMuX2ZpbHRlckl0ZW1zKHRydWUpO1xuICAgIHRoaXMuZml0R3JpZFNpemVPbkluaXQoKTtcbiAgfVxuXG4gIHByaXZhdGUgcm93U2VsZWN0aW9uQ2hhbmdlKCkge1xuICAgIGNvbnN0IHJvd0RhdGEgPSB0aGlzLmFwaS5nZXRTZWxlY3RlZFJvd3MoKTtcbiAgICBjb25zdCByb3dzQ291bnQgPSByb3dEYXRhLmxlbmd0aDtcbiAgICB0aGlzLm9wZW4gPSBmYWxzZTtcblxuICAgIGlmICh0aGlzLl9zaG91bGROb3RSZXJlbmRlcihyb3dzQ291bnQpKSB7XG4gICAgICByZXR1cm47XG4gICAgfVxuXG4gICAgdGhpcy5zZWxlY3RlZFJvd3NDb3VudCA9IHJvd3NDb3VudDtcbiAgICB0aGlzLl9maWx0ZXJJdGVtcyhmYWxzZSwgcm93c0NvdW50LCByb3dEYXRhKTtcbiAgICB0aGlzLmNkci5kZXRlY3RDaGFuZ2VzKCk7XG4gIH1cblxuICAvKipcbiAgICogT25seSByZXJlbmRlciBpZiB3ZSB0aGUgcm93cyBjb3VudCBjaGFuZ2VkIGFuZCB3ZSBkb24ndCBoYXZlIGEgY3VzdG9tIGZ1bmN0aW9uc1xuICAgKiBAcHJpdmF0ZVxuICAgKiBAcGFyYW0ge251bWJlcn0gcm93c0NvdW50XG4gICAqIEByZXR1cm5zXG4gICAqIEBtZW1iZXJvZiBEYUdyaWRUb29sYmFyQ29tcG9uZW50XG4gICAqL1xuICBwcml2YXRlIF9zaG91bGROb3RSZXJlbmRlcihyb3dzQ291bnQ6IG51bWJlcikge1xuICAgIHJldHVybiB0aGlzLnNlbGVjdGVkUm93c0NvdW50ID09PSByb3dzQ291bnQgJiYgIXRoaXMuX2hhc0N1c3RvbUZ1bmN0aW9ucygpO1xuICB9XG5cbiAgLyoqXG4gICAqXG4gICAqIEBwcml2YXRlXG4gICAqIEByZXR1cm5zXG4gICAqIEBtZW1iZXJvZiBEYUdyaWRUb29sYmFyQ29tcG9uZW50XG4gICAqL1xuICBwcml2YXRlIF9oYXNDdXN0b21GdW5jdGlvbnMoKSB7XG4gICAgcmV0dXJuIHRoaXMuaXRlbVRlbXBsYXRlcy5maWx0ZXIoaXRlbSA9PiBpc0Z1bmN0aW9uKGl0ZW0uc2hvd1doZW4pKS5sZW5ndGg7XG4gIH1cblxuICAvKipcbiAgICpcbiAgICogQHByaXZhdGVcbiAgICogQHBhcmFtIHtib29sZWFufSBpbml0XG4gICAqIEBwYXJhbSB7bnVtYmVyfSBbcm93c0NvdW50XVxuICAgKiBAcGFyYW0geyp9IFtkYXRhXVxuICAgKiBAcmV0dXJuc1xuICAgKiBAbWVtYmVyb2YgRGFHcmlkVG9vbGJhckNvbXBvbmVudFxuICAgKi9cbiAgcHJpdmF0ZSBfZmlsdGVySXRlbXMoaW5pdDogYm9vbGVhbiwgcm93c0NvdW50PzogbnVtYmVyLCBkYXRhPzogYW55KSB7XG4gICAgY29uc3QgaW5pdGlhbEl0ZW1zOiBIYXNoTWFwPERhdG9HcmlkVG9vbGJhckl0ZW1EaXJlY3RpdmVbXT4gPSB7XG4gICAgICBbVG9vbGJhckFyZWEuTWVudV06IFtdLFxuICAgICAgW1Rvb2xiYXJBcmVhLkxlZnRdOiBbXSxcbiAgICAgIFtUb29sYmFyQXJlYS5QcmVzZXJ2ZWRBcmVhXTogW10sXG4gICAgICBbVG9vbGJhckFyZWEuSW50ZXJuYWxBcmVhXTogW11cbiAgICB9O1xuXG4gICAgLy8gMS4gZGVjaWRlIHdoaWNoIGl0ZW1zIHRvIHNob3csIGJhc2VkIG9uIHRoZWlyIGNvbmRpdGlvblxuICAgIC8vIDIuIEdyb3VwIHRoZSBpdGVtcyBieSB0aGVpciBhcmVhXG4gICAgdGhpcy5maWx0ZXJlZEl0ZW1zID0gdGhpcy5pdGVtVGVtcGxhdGVzXG4gICAgICAuZmlsdGVyKGl0ZW0gPT4ge1xuICAgICAgICBjb25zdCBjb25kaXRpb24gPSBpdGVtLnNob3dXaGVuIHx8ICdhbHdheXMnO1xuICAgICAgICBpZiAoaXNGdW5jdGlvbihjb25kaXRpb24pKSB7XG4gICAgICAgICAgcmV0dXJuIHRoaXMuX2hhbmRsZUN1c3RvbUZ1bmN0aW9uKGNvbmRpdGlvbiwgZGF0YSk7XG4gICAgICAgIH0gZWxzZSB7XG4gICAgICAgICAgcmV0dXJuIChcbiAgICAgICAgICAgIHRoaXMuX2lzU2luZ2xlKGNvbmRpdGlvbiwgcm93c0NvdW50KSB8fFxuICAgICAgICAgICAgdGhpcy5faXNNdWx0aXBsZShjb25kaXRpb24sIHJvd3NDb3VudCkgfHxcbiAgICAgICAgICAgIHRoaXMuX2lzTm9uZShjb25kaXRpb24sIHJvd3NDb3VudCkgfHxcbiAgICAgICAgICAgIHRoaXMuX3Nob3dBbHdheXMoY29uZGl0aW9uKVxuICAgICAgICAgICk7XG4gICAgICAgIH1cbiAgICAgIH0pXG4gICAgICAuc29ydCgoYSwgYikgPT4ge1xuICAgICAgICByZXR1cm4gYS5vcmRlciAtIGIub3JkZXI7XG4gICAgICB9KVxuICAgICAgLnJlZHVjZSgocHJldmlvdXNWYWx1ZSwgY3VycmVudFZhbHVlKSA9PiB7XG4gICAgICAgIC8vIHJldHJpZXZlIHRoZSBpdGVtIHR5cGUuIERlZmF1bHQgdG8gY3VzdG9tXG4gICAgICAgIGNvbnN0IGFjdGlvblR5cGUgPSBjdXJyZW50VmFsdWUuYWN0aW9uVHlwZSB8fCBUb29sYmFyQWN0aW9uVHlwZS5CdXR0b247XG4gICAgICAgIC8vIGdldCB0aGUgYXJlYSB3ZSBuZWVkIHRvIHBsYWNlIHRoaXMgaXRlbVxuICAgICAgICBjb25zdCBhcmVhOiBUb29sYmFyQXJlYSA9IHRoaXMuYXJlYUFjdGlvbnNbYWN0aW9uVHlwZV07XG4gICAgICAgIHByZXZpb3VzVmFsdWVbYXJlYV0ucHVzaChjdXJyZW50VmFsdWUpO1xuXG4gICAgICAgIHJldHVybiBwcmV2aW91c1ZhbHVlO1xuICAgICAgfSwgaW5pdGlhbEl0ZW1zKTtcbiAgfVxuXG4gIC8qKlxuICAgKlxuICAgKiBAcGFyYW0gY29uZGl0aW9uXG4gICAqIEByZXR1cm5zIHtib29sZWFufVxuICAgKiBAcHJpdmF0ZVxuICAgKi9cbiAgcHJpdmF0ZSBfc2hvd0Fsd2F5cyhjb25kaXRpb24pIHtcbiAgICByZXR1cm4gY29uZGl0aW9uID09PSBSb3dTZWxlY3Rpb25UeXBlLkFMV0FZUztcbiAgfVxuXG4gIC8qKlxuICAgKlxuICAgKiBAcHJpdmF0ZVxuICAgKiBAcGFyYW0geyhzdHJpbmcgfCBzaG93V2hlbkZ1bmMpfSBjb25kaXRpb25cbiAgICogQHBhcmFtIHthbnlbXX0gc2VsZWN0ZWRSb3dzXG4gICAqIEByZXR1cm5zXG4gICAqIEBtZW1iZXJvZiBEYUdyaWRUb29sYmFyQ29tcG9uZW50XG4gICAqL1xuICBwcml2YXRlIF9oYW5kbGVDdXN0b21GdW5jdGlvbihjb25kaXRpb246IHN0cmluZyB8IHNob3dXaGVuRnVuYywgc2VsZWN0ZWRSb3dzOiBhbnlbXSkge1xuICAgIGlmIChpc0Z1bmN0aW9uKGNvbmRpdGlvbikpIHtcbiAgICAgIHJldHVybiAoY29uZGl0aW9uIGFzIEZ1bmN0aW9uKShzZWxlY3RlZFJvd3MgfHwgW10pO1xuICAgIH1cbiAgICByZXR1cm4gZmFsc2U7XG4gIH1cblxuICAvKipcbiAgICogQXNzZXJ0IGlmIG9ubHkgb25lIHJvdyBzZWxlY3RlZFxuICAgKiBAcHJpdmF0ZVxuICAgKiBAcGFyYW0geyhzdHJpbmcgfCBGdW5jdGlvbil9IGNvbmRpdGlvblxuICAgKiBAcGFyYW0ge251bWJlcn0gcm93c0NvdW50XG4gICAqIEByZXR1cm5zXG4gICAqIEBtZW1iZXJvZiBEYUdyaWRUb29sYmFyQ29tcG9uZW50XG4gICAqL1xuICBwcml2YXRlIF9pc1NpbmdsZShjb25kaXRpb246IHN0cmluZyB8IHNob3dXaGVuRnVuYywgcm93c0NvdW50OiBudW1iZXIpIHtcbiAgICByZXR1cm4gY29uZGl0aW9uID09PSBSb3dTZWxlY3Rpb25UeXBlLlNJTkdMRSAmJiByb3dzQ291bnQgPT09IDE7XG4gIH1cblxuICAvKipcbiAgICogQXNzZXJ0IGlmIG5vIHJvd3Mgc2VsZWN0ZWQuXG4gICAqIEBwYXJhbSB7c3RyaW5nIHwgc2hvd1doZW5GdW5jfSBjb25kaXRpb25cbiAgICogQHBhcmFtIHtudW1iZXIgfCB1bmRlZmluZWR9IHJvd3NDb3VudFxuICAgKiBAcmV0dXJuIHtib29sZWFufVxuICAgKiBAcHJpdmF0ZVxuICAgKi9cbiAgcHJpdmF0ZSBfaXNOb25lKGNvbmRpdGlvbjogc3RyaW5nIHwgc2hvd1doZW5GdW5jLCByb3dzQ291bnQ6IG51bWJlciB8IHVuZGVmaW5lZCkge1xuICAgIHJldHVybiBjb25kaXRpb24gPT09IFJvd1NlbGVjdGlvblR5cGUuTk9ORSAmJiAhcm93c0NvdW50O1xuICB9XG5cbiAgLyoqXG4gICAqXG4gICAqIEBwYXJhbSB7c3RyaW5nIHwgc2hvd1doZW5GdW5jfSBjb25kaXRpb25cbiAgICogQHBhcmFtIHtudW1iZXJ9IHJvd3NDb3VudFxuICAgKiBAcmV0dXJucyB7Ym9vbGVhbn1cbiAgICogQHByaXZhdGVcbiAgICovXG4gIHByaXZhdGUgX2lzTXVsdGlwbGUoY29uZGl0aW9uOiBzdHJpbmcgfCBzaG93V2hlbkZ1bmMsIHJvd3NDb3VudDogbnVtYmVyKSB7XG4gICAgcmV0dXJuIGNvbmRpdGlvbiA9PT0gUm93U2VsZWN0aW9uVHlwZS5NVUxUSSAmJiByb3dzQ291bnQgPj0gMTtcbiAgfVxuXG4gIC8qKlxuICAgKiBGb3IgdGhlIGdyaWQgdG8gYmUgcmVzcG9uc2l2ZVxuICAgKiBAcHJpdmF0ZVxuICAgKiBAbWVtYmVyb2YgRGFHcmlkVG9vbGJhckNvbXBvbmVudFxuICAgKi9cbiAgQGRlbGF5KClcbiAgcHJpdmF0ZSBmaXRHcmlkU2l6ZU9uSW5pdCgpIHtcbiAgICB0aGlzLmFwaS5ncmlkQXBpLnNpemVDb2x1bW5zVG9GaXQoKTtcbiAgfVxufVxuIl19
|
|
@@ -9,7 +9,7 @@ import { __decorate } from "tslib";
|
|
|
9
9
|
import { NgModule } from '@angular/core';
|
|
10
10
|
import { CommonModule } from '@angular/common';
|
|
11
11
|
import { ReactiveFormsModule } from '@angular/forms';
|
|
12
|
-
import { AgGridModule } from 'ag-grid-angular';
|
|
12
|
+
import { AgGridModule } from '@ag-grid-community/angular';
|
|
13
13
|
import { DatoGridComponent } from './grid/grid.component';
|
|
14
14
|
import { DatoGridToolbarComponent } from './grid-toolbar/grid-toolbar.component';
|
|
15
15
|
import { DatoGridPaginationComponent } from './grid-pagination/grid-pagination.component';
|
|
@@ -67,4 +67,4 @@ DatoGridModule = __decorate([
|
|
|
67
67
|
})
|
|
68
68
|
], DatoGridModule);
|
|
69
69
|
export { DatoGridModule };
|
|
70
|
-
//# sourceMappingURL=data:application/json;base64,
|
|
70
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZ3JpZC5tb2R1bGUuanMiLCJzb3VyY2VSb290Ijoibmc6Ly9AZGF0b3JhbWEvY29yZS8iLCJzb3VyY2VzIjpbImxpYi9ncmlkL2dyaWQubW9kdWxlLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBOzs7Ozs7R0FNRzs7QUFFSCxPQUFPLEVBQUUsUUFBUSxFQUFFLE1BQU0sZUFBZSxDQUFDO0FBQ3pDLE9BQU8sRUFBRSxZQUFZLEVBQUUsTUFBTSxpQkFBaUIsQ0FBQztBQUMvQyxPQUFPLEVBQUUsbUJBQW1CLEVBQUUsTUFBTSxnQkFBZ0IsQ0FBQztBQUNyRCxPQUFPLEVBQUUsWUFBWSxFQUFFLE1BQU0sNEJBQTRCLENBQUM7QUFDMUQsT0FBTyxFQUFFLGlCQUFpQixFQUFFLE1BQU0sdUJBQXVCLENBQUM7QUFDMUQsT0FBTyxFQUFFLHdCQUF3QixFQUFFLE1BQU0sdUNBQXVDLENBQUM7QUFDakYsT0FBTyxFQUFFLDJCQUEyQixFQUFFLE1BQU0sNkNBQTZDLENBQUM7QUFDMUYsT0FBTyxFQUFFLG9CQUFvQixFQUFFLE1BQU0sbUNBQW1DLENBQUM7QUFDekUsT0FBTyxFQUFFLG9CQUFvQixFQUFFLE1BQU0sbUNBQW1DLENBQUM7QUFDekUsT0FBTyxFQUFFLGdCQUFnQixFQUFFLE1BQU0seUJBQXlCLENBQUM7QUFDM0QsT0FBTyxFQUFFLGNBQWMsRUFBRSxNQUFNLHFCQUFxQixDQUFDO0FBQ3JELE9BQU8sRUFBRSxvQkFBb0IsRUFBRSxNQUFNLGlDQUFpQyxDQUFDO0FBQ3ZFLE9BQU8sRUFBRSxjQUFjLEVBQUUsTUFBTSxxQkFBcUIsQ0FBQztBQUNyRCxPQUFPLEVBQ0wsNEJBQTRCLEVBQzVCLG1DQUFtQyxFQUNwQyxNQUFNLDRDQUE0QyxDQUFDO0FBQ3BELE9BQU8sRUFBRSxnQkFBZ0IsRUFBRSxNQUFNLHlCQUF5QixDQUFDO0FBQzNELE9BQU8sRUFBRSx1QkFBdUIsRUFBRSxNQUFNLHFDQUFxQyxDQUFDO0FBQzlFLE9BQU8sRUFBRSxrQkFBa0IsRUFBRSxNQUFNLHFDQUFxQyxDQUFDO0FBQ3pFLE9BQU8sRUFBRSxjQUFjLEVBQUUsTUFBTSxlQUFlLENBQUM7QUFDL0MsT0FBTyxFQUFFLG1CQUFtQixFQUFFLE1BQU0sK0JBQStCLENBQUM7QUFDcEUsT0FBTyxFQUFFLGVBQWUsRUFBRSxNQUFNLHVCQUF1QixDQUFDO0FBQ3hELE9BQU8sRUFBRSxnQkFBZ0IsRUFBRSxNQUFNLHlCQUF5QixDQUFDO0FBQzNELE9BQU8sRUFBRSxpQkFBaUIsRUFBRSxNQUFNLDJCQUEyQixDQUFDO0FBQzlELE9BQU8sRUFBRSxlQUFlLEVBQUUsTUFBTSx1QkFBdUIsQ0FBQztBQUN4RCxPQUFPLEVBQUUsY0FBYyxFQUFFLE1BQU0scUJBQXFCLENBQUM7QUFFckQsTUFBTSxZQUFZLEdBQUc7SUFDbkIsaUJBQWlCO0lBQ2pCLDJCQUEyQjtJQUMzQix3QkFBd0I7SUFDeEIsNEJBQTRCO0lBQzVCLG1DQUFtQztJQUNuQyx1QkFBdUI7Q0FDeEIsQ0FBQztBQTBCRixJQUFhLGNBQWMsR0FBM0IsTUFBYSxjQUFjO0NBQUcsQ0FBQTtBQUFqQixjQUFjO0lBeEIxQixRQUFRLENBQUM7UUFDUixPQUFPLEVBQUU7WUFDUCxZQUFZO1lBQ1osbUJBQW1CO1lBQ25CLGdCQUFnQjtZQUNoQixvQkFBb0I7WUFDcEIsb0JBQW9CO1lBQ3BCLGNBQWM7WUFDZCxjQUFjO1lBQ2QsZ0JBQWdCO1lBQ2hCLG9CQUFvQjtZQUNwQixtQkFBbUI7WUFDbkIsZUFBZTtZQUNmLGdCQUFnQjtZQUNoQixpQkFBaUI7WUFDakIsZUFBZTtZQUNmLGNBQWM7WUFDZCxZQUFZO1NBQ2I7UUFDRCxlQUFlLEVBQUUsRUFBRTtRQUNuQixTQUFTLEVBQUUsQ0FBQyxrQkFBa0IsRUFBRSxjQUFjLENBQUM7UUFDL0MsWUFBWSxFQUFFLENBQUMsWUFBWSxDQUFDO1FBQzVCLE9BQU8sRUFBRSxDQUFDLFlBQVksRUFBRSxvQkFBb0IsRUFBRSxZQUFZLENBQUM7S0FDNUQsQ0FBQztHQUNXLGNBQWMsQ0FBRztTQUFqQixjQUFjIiwic291cmNlc0NvbnRlbnQiOlsiLyoqXG4gKiBAbGljZW5zZVxuICogQ29weXJpZ2h0IERhdG9yYW1hLiBBbGwgUmlnaHRzIFJlc2VydmVkLlxuICpcbiAqIFVzZSBvZiB0aGlzIHNvdXJjZSBjb2RlIGlzIGdvdmVybmVkIGJ5IGFuIEFwYWNoZSBMaWNlbnNlIDIuMCBsaWNlbnNlIHRoYXQgY2FuIGJlXG4gKiBmb3VuZCBpbiB0aGUgTElDRU5TRSBmaWxlIGF0IGh0dHBzOi8vZ2l0aHViLmNvbS9kYXRvcmFtYS9jbGllbnQtY29yZS9ibG9iL21hc3Rlci9MSUNFTlNFXG4gKi9cblxuaW1wb3J0IHsgTmdNb2R1bGUgfSBmcm9tICdAYW5ndWxhci9jb3JlJztcbmltcG9ydCB7IENvbW1vbk1vZHVsZSB9IGZyb20gJ0Bhbmd1bGFyL2NvbW1vbic7XG5pbXBvcnQgeyBSZWFjdGl2ZUZvcm1zTW9kdWxlIH0gZnJvbSAnQGFuZ3VsYXIvZm9ybXMnO1xuaW1wb3J0IHsgQWdHcmlkTW9kdWxlIH0gZnJvbSAnQGFnLWdyaWQtY29tbXVuaXR5L2FuZ3VsYXInO1xuaW1wb3J0IHsgRGF0b0dyaWRDb21wb25lbnQgfSBmcm9tICcuL2dyaWQvZ3JpZC5jb21wb25lbnQnO1xuaW1wb3J0IHsgRGF0b0dyaWRUb29sYmFyQ29tcG9uZW50IH0gZnJvbSAnLi9ncmlkLXRvb2xiYXIvZ3JpZC10b29sYmFyLmNvbXBvbmVudCc7XG5pbXBvcnQgeyBEYXRvR3JpZFBhZ2luYXRpb25Db21wb25lbnQgfSBmcm9tICcuL2dyaWQtcGFnaW5hdGlvbi9ncmlkLXBhZ2luYXRpb24uY29tcG9uZW50JztcbmltcG9ydCB7IERhdG9JY29uQnV0dG9uTW9kdWxlIH0gZnJvbSAnLi4vaWNvbi1idXR0b24vaWNvbi1idXR0b24ubW9kdWxlJztcbmltcG9ydCB7IERhdG9MaW5rQnV0dG9uTW9kdWxlIH0gZnJvbSAnLi4vbGluay1idXR0b24vbGluay1idXR0b24ubW9kdWxlJztcbmltcG9ydCB7IERhdG9CdXR0b25Nb2R1bGUgfSBmcm9tICcuLi9idXR0b24vYnV0dG9uLm1vZHVsZSc7XG5pbXBvcnQgeyBEYXRvSWNvbk1vZHVsZSB9IGZyb20gJy4uL2ljb24vaWNvbi5tb2R1bGUnO1xuaW1wb3J0IHsgRGF0b0RpcmVjdGl2ZXNNb2R1bGUgfSBmcm9tICcuLi9kaXJlY3RpdmVzL2RpcmVjdGl2ZXMubW9kdWxlJztcbmltcG9ydCB7IERhdG9UZXh0TW9kdWxlIH0gZnJvbSAnLi4vdGV4dC90ZXh0Lm1vZHVsZSc7XG5pbXBvcnQge1xuICBEYXRvR3JpZFRvb2xiYXJJdGVtRGlyZWN0aXZlLFxuICBEYXRvR3JpZFRvb2xiYXJJdGVtRWxlbWVudERpcmVjdGl2ZVxufSBmcm9tICcuL2dyaWQtdG9vbGJhci9ncmlkLXRvb2xiYXItaXRlbS5kaXJlY3RpdmUnO1xuaW1wb3J0IHsgRGF0b1RoZW1lc01vZHVsZSB9IGZyb20gJy4uL3RoZW1lcy90aGVtZXMubW9kdWxlJztcbmltcG9ydCB7IERhdG9HcmlkSGVhZGVyQ29tcG9uZW50IH0gZnJvbSAnLi9ncmlkLWhlYWRlci9ncmlkLWhlYWRlci5jb21wb25lbnQnO1xuaW1wb3J0IHsgR3JpZFRvb2xiYXJTZXJ2aWNlIH0gZnJvbSAnLi9ncmlkLXRvb2xiYXIvZ3JpZC10b29sYmFyLnNlcnZpY2UnO1xuaW1wb3J0IHsgRGF0b0dyaWRIZWxwZXIgfSBmcm9tICcuL2dyaWQtaGVscGVyJztcbmltcG9ydCB7IERhdG9BY2NvcmRpb25Nb2R1bGUgfSBmcm9tICcuLi9hY2NvcmRpb24vYWNjb3JkaW9uLm1vZHVsZSc7XG5pbXBvcnQgeyBEYXRvSW5wdXRNb2R1bGUgfSBmcm9tICcuLi9pbnB1dC9pbnB1dC5tb2R1bGUnO1xuaW1wb3J0IHsgRGF0b1NlbGVjdE1vZHVsZSB9IGZyb20gJy4uL3NlbGVjdC9zZWxlY3QubW9kdWxlJztcbmltcG9ydCB7IERhdG9PcHRpb25zTW9kdWxlIH0gZnJvbSAnLi4vb3B0aW9ucy9vcHRpb25zLm1vZHVsZSc7XG5pbXBvcnQgeyBEYXRvUGlwZXNNb2R1bGUgfSBmcm9tICcuLi9waXBlcy9waXBlcy5tb2R1bGUnO1xuaW1wb3J0IHsgRGF0b0xpc3RNb2R1bGUgfSBmcm9tICcuLi9saXN0L2xpc3QubW9kdWxlJztcblxuY29uc3QgZGVjbGFyYXRpb25zID0gW1xuICBEYXRvR3JpZENvbXBvbmVudCxcbiAgRGF0b0dyaWRQYWdpbmF0aW9uQ29tcG9uZW50LFxuICBEYXRvR3JpZFRvb2xiYXJDb21wb25lbnQsXG4gIERhdG9HcmlkVG9vbGJhckl0ZW1EaXJlY3RpdmUsXG4gIERhdG9HcmlkVG9vbGJhckl0ZW1FbGVtZW50RGlyZWN0aXZlLFxuICBEYXRvR3JpZEhlYWRlckNvbXBvbmVudFxuXTtcblxuQE5nTW9kdWxlKHtcbiAgaW1wb3J0czogW1xuICAgIENvbW1vbk1vZHVsZSxcbiAgICBSZWFjdGl2ZUZvcm1zTW9kdWxlLFxuICAgIERhdG9CdXR0b25Nb2R1bGUsXG4gICAgRGF0b0xpbmtCdXR0b25Nb2R1bGUsXG4gICAgRGF0b0ljb25CdXR0b25Nb2R1bGUsXG4gICAgRGF0b0ljb25Nb2R1bGUsXG4gICAgRGF0b1RleHRNb2R1bGUsXG4gICAgRGF0b1RoZW1lc01vZHVsZSxcbiAgICBEYXRvRGlyZWN0aXZlc01vZHVsZSxcbiAgICBEYXRvQWNjb3JkaW9uTW9kdWxlLFxuICAgIERhdG9JbnB1dE1vZHVsZSxcbiAgICBEYXRvU2VsZWN0TW9kdWxlLFxuICAgIERhdG9PcHRpb25zTW9kdWxlLFxuICAgIERhdG9QaXBlc01vZHVsZSxcbiAgICBEYXRvTGlzdE1vZHVsZSxcbiAgICBBZ0dyaWRNb2R1bGVcbiAgXSxcbiAgZW50cnlDb21wb25lbnRzOiBbXSxcbiAgcHJvdmlkZXJzOiBbR3JpZFRvb2xiYXJTZXJ2aWNlLCBEYXRvR3JpZEhlbHBlcl0sXG4gIGRlY2xhcmF0aW9uczogW2RlY2xhcmF0aW9uc10sXG4gIGV4cG9ydHM6IFtBZ0dyaWRNb2R1bGUsIERhdG9JY29uQnV0dG9uTW9kdWxlLCBkZWNsYXJhdGlvbnNdXG59KVxuZXhwb3J0IGNsYXNzIERhdG9HcmlkTW9kdWxlIHt9XG4iXX0=
|