@provoly/dashboard 0.15.9 → 0.15.10
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/esm2022/filters/date/date-filter.component.mjs +3 -3
- package/esm2022/lib/core/components/modal-status/modal-status.component.mjs +2 -2
- package/esm2022/lib/core/model/dataset.interface.mjs +1 -1
- package/esm2022/lib/core/model/filter.interface.mjs +1 -1
- package/esm2022/lib/core/public-api.mjs +2 -2
- package/esm2022/lib/core/store/aggregation/frontend-aggregation/aggregation-utils.class.mjs +184 -0
- package/esm2022/lib/core/store/aggregation/frontend-aggregation/frontend-aggregation.service.mjs +93 -0
- package/esm2022/lib/dashboard/store/dashboard.selectors.mjs +2 -2
- package/fesm2022/provoly-dashboard-filters-date.mjs +2 -2
- package/fesm2022/provoly-dashboard-filters-date.mjs.map +1 -1
- package/fesm2022/provoly-dashboard.mjs +230 -164
- package/fesm2022/provoly-dashboard.mjs.map +1 -1
- package/lib/core/model/dataset.interface.d.ts +1 -1
- package/lib/core/model/filter.interface.d.ts +1 -1
- package/lib/core/public-api.d.ts +1 -1
- package/lib/core/store/aggregation/frontend-aggregation/aggregation-utils.class.d.ts +33 -0
- package/lib/core/store/aggregation/frontend-aggregation/frontend-aggregation.service.d.ts +22 -0
- package/lib/dashboard/store/dashboard.selectors.d.ts +1 -1
- package/package.json +1 -1
- package/esm2022/lib/core/store/aggregation/frontend-aggregation.service.mjs +0 -210
- package/lib/core/store/aggregation/frontend-aggregation.service.d.ts +0 -33
|
@@ -17,8 +17,8 @@ export class DateFilterComponent extends BaseFilterComponent {
|
|
|
17
17
|
}
|
|
18
18
|
ngOnInit() {
|
|
19
19
|
if (this.filter?.hasDateRange) {
|
|
20
|
-
this.date1 = (this.filter?.value ?? '').split(',')[0];
|
|
21
|
-
this.date2 = (this.filter?.value ?? '').split(',')[1];
|
|
20
|
+
this.date1 = (this.filter?.value ?? '').toString().split(',')[0];
|
|
21
|
+
this.date2 = (this.filter?.value ?? '').toString().split(',')[1];
|
|
22
22
|
// subscription responsible for sending api requests
|
|
23
23
|
this.subscriptions.add(combineLatest([
|
|
24
24
|
this.date1$.pipe(debounceTime(1000), startWith(this.date1)),
|
|
@@ -63,4 +63,4 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "16.1.6", ngImpor
|
|
|
63
63
|
type: Component,
|
|
64
64
|
args: [{ selector: 'pry-date-filter', template: "<div *ngIf=\"filter\" class=\"m-filter\">\n <div *ngIf=\"!filter?.hasDateRange; else dateRange\">\n <label class=\"a-label\" for=\"{{ filter.name }}\">{{ filter.name }}</label>\n <div class=\"m-filter__wrapper\">\n <input\n [ngModel]=\"filter.value\"\n (ngModelChange)=\"this.value$.next($event)\"\n type=\"date\"\n class=\"a-form-field\"\n [id]=\"filter.name\"\n />\n <span\n *ngIf=\"!!filter.value\"\n class=\"m-filter__clear-wrapper m-filter__clear-wrapper--date\"\n (click)=\"setFilter('')\"\n [title]=\"'@pry.filters.clear' | i18n\"\n >\n <span class=\"m-filter__clear\">x</span>\n <span class=\"u-visually-hidden\">{{ '@pry.toolbox.close' | i18n }}</span>\n </span>\n </div>\n </div>\n <ng-template #dateRange>\n <label class=\"a-label\" for=\"{{ filter.name }}\">{{ filter.name }}</label>\n <div class=\"m-filter__wrapper\">\n <div class=\"m-filter__wrapper\">\n <input\n [ngModel]=\"date1\"\n (ngModelChange)=\"date1$.next($event)\"\n type=\"date\"\n class=\"a-form-field\"\n [id]=\"filter.name + '1'\"\n />\n <span\n *ngIf=\"!!date1\"\n class=\"m-filter__clear-wrapper m-filter__clear-wrapper--date\"\n (click)=\"clearDate(1)\"\n [title]=\"'@pry.filters.clear' | i18n\"\n >\n <span class=\"m-filter__clear\">x</span>\n <span class=\"u-visually-hidden\">{{ '@pry.toolbox.close' | i18n }}</span>\n </span>\n </div>\n <div class=\"m-filter__wrapper\">\n <input\n [ngModel]=\"date2\"\n (ngModelChange)=\"date2$.next($event)\"\n type=\"date\"\n class=\"a-form-field\"\n [id]=\"filter.name + '2'\"\n />\n <span\n *ngIf=\"!!date2\"\n class=\"m-filter__clear-wrapper m-filter__clear-wrapper--date\"\n (click)=\"clearDate(2)\"\n [title]=\"'@pry.filters.clear' | i18n\"\n >\n <span class=\"m-filter__clear\">\u00D7</span>\n <span class=\"u-visually-hidden\">{{ '@pry.toolbox.close' | i18n }}</span>\n </span>\n </div>\n </div>\n </ng-template>\n</div>\n" }]
|
|
65
65
|
}], ctorParameters: function () { return [{ type: i1.Store }]; } });
|
|
66
|
-
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZGF0ZS1maWx0ZXIuY29tcG9uZW50LmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvcHJvdm9seS9kYXNoYm9hcmQvZmlsdGVycy9kYXRlL2RhdGUtZmlsdGVyLmNvbXBvbmVudC50cyIsIi4uLy4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL3Byb3ZvbHkvZGFzaGJvYXJkL2ZpbHRlcnMvZGF0ZS9kYXRlLWZpbHRlci5jb21wb25lbnQuaHRtbCJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQUUsU0FBUyxFQUFVLE1BQU0sZUFBZSxDQUFDO0FBRWxELE9BQU8sRUFBRSxtQkFBbUIsRUFBNEIsTUFBTSxvQkFBb0IsQ0FBQztBQUNuRixPQUFPLEVBQUUsYUFBYSxFQUFFLFlBQVksRUFBRSxTQUFTLEVBQUUsT0FBTyxFQUFFLE1BQU0sTUFBTSxDQUFDO0FBQ3ZFLE9BQU8sRUFBRSxvQkFBb0IsRUFBRSxTQUFTLEVBQUUsTUFBTSxnQkFBZ0IsQ0FBQzs7Ozs7O0FBTWpFLE1BQU0sT0FBTyxtQkFBb0IsU0FBUSxtQkFBbUI7SUFPMUQsWUFBWSxLQUFZO1FBQ3RCLEtBQUssQ0FBQyxLQUFLLENBQUMsQ0FBQztRQVBmLFdBQU0sR0FBRyxJQUFJLE9BQU8sRUFBVSxDQUFDO1FBRy9CLFdBQU0sR0FBRyxJQUFJLE9BQU8sRUFBVSxDQUFDO1FBQy9CLFdBQU0sR0FBRyxJQUFJLE9BQU8sRUFBVSxDQUFDO1FBSTdCLElBQUksQ0FBQyxJQUFJLEdBQUcsTUFBTSxDQUFDO0lBQ3JCLENBQUM7SUFFRCxRQUFRO1FBQ04sSUFBSSxJQUFJLENBQUMsTUFBTSxFQUFFLFlBQVksRUFBRTtZQUM3QixJQUFJLENBQUMsS0FBSyxHQUFHLENBQUMsSUFBSSxDQUFDLE1BQU0sRUFBRSxLQUFLLElBQUksRUFBRSxDQUFDLENBQUMsS0FBSyxDQUFDLEdBQUcsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDO1lBQ3RELElBQUks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QUFFLENBQUMsQ0FBQztTQUN0QjtJQUNILENBQUM7OEdBekRVLG1CQUFtQjtrR0FBbkIsbUJBQW1CLDhFQ1ZoQywwdEVBZ0VBOzsyRkR0RGEsbUJBQW1CO2tCQUovQixTQUFTOytCQUNFLGlCQUFpQiIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IENvbXBvbmVudCwgT25Jbml0IH0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XG5pbXBvcnQgeyBTdG9yZSB9IGZyb20gJ0BuZ3J4L3N0b3JlJztcbmltcG9ydCB7IEJhc2VGaWx0ZXJDb21wb25lbnQsIFN1YnNjcmlwdGlvbm5lckRpcmVjdGl2ZSB9IGZyb20gJ0Bwcm92b2x5L2Rhc2hib2FyZCc7XG5pbXBvcnQgeyBjb21iaW5lTGF0ZXN0LCBkZWJvdW5jZVRpbWUsIHN0YXJ0V2l0aCwgU3ViamVjdCB9IGZyb20gJ3J4anMnO1xuaW1wb3J0IHsgZGlzdGluY3RVbnRpbENoYW5nZWQsIHNraXBXaGlsZSB9IGZyb20gJ3J4anMvb3BlcmF0b3JzJztcblxuQENvbXBvbmVudCh7XG4gIHNlbGVjdG9yOiAncHJ5LWRhdGUtZmlsdGVyJyxcbiAgdGVtcGxhdGVVcmw6ICcuL2RhdGUtZmlsdGVyLmNvbXBvbmVudC5odG1sJ1xufSlcbmV4cG9ydCBjbGFzcyBEYXRlRmlsdGVyQ29tcG9uZW50IGV4dGVuZHMgQmFzZUZpbHRlckNvbXBvbmVudCBpbXBsZW1lbnRzIFN1YnNjcmlwdGlvbm5lckRpcmVjdGl2ZSwgT25Jbml0IHtcbiAgdmFsdWUkID0gbmV3IFN1YmplY3Q8c3RyaW5nPigpO1xuICBkYXRlMT86IHN0cmluZztcbiAgZGF0ZTI/OiBzdHJpbmc7XG4gIGRhdGUxJCA9IG5ldyBTdWJqZWN0PHN0cmluZz4oKTtcbiAgZGF0ZTIkID0gbmV3IFN1YmplY3Q8c3RyaW5nPigpO1xuXG4gIGNvbnN0cnVjdG9yKHN0b3JlOiBTdG9yZSkge1xuICAgIHN1cGVyKHN0b3JlKTtcbiAgICB0aGlzLnR5cGUgPSAnZGF0ZSc7XG4gIH1cblxuICBuZ09uSW5pdCgpIHtcbiAgICBpZiAodGhpcy5maWx0ZXI/Lmhhc0RhdGVSYW5nZSkge1xuICAgICAgdGhpcy5kYXRlMSA9ICh0aGlzLmZpbHRlcj8udmFsdWUgPz8gJycpLnNwbGl0KCcsJylbMF07XG4gICAgICB0aGlzLmRhdGUyID0gKHRoaXMuZmlsdGVyPy52YWx1ZSA/PyAnJykuc3BsaXQoJywnKVsxXTtcbiAgICAgIC8vIHN1YnNjcmlwdGlvbiByZXNwb25zaWJsZSBmb3Igc2VuZGluZyBhcGkgcmVxdWVzdHNcbiAgICAgIHRoaXMuc3Vic2NyaXB0aW9ucy5hZGQoXG4gICAgICAgIGNvbWJpbmVMYXRlc3QoW1xuICAgICAgICAgIHRoaXMuZGF0ZTEkLnBpcGUoZGVib3VuY2VUaW1lKDEwMDApLCBzdGFydFdpdGgodGhpcy5kYXRlMSkpLFxuICAgICAgICAgIHRoaXMuZGF0ZTIkLnBpcGUoZGVib3VuY2VUaW1lKDEwMDApLCBzdGFydFdpdGgodGhpcy5kYXRlMikpXG4gICAgICAgIF0pXG4gICAgICAgICAgLnBpcGUoc2tpcFdoaWxlKChbZGF0ZTEsIGRhdGUyXSkgPT4gZGF0ZTEgPT09IHRoaXMuZGF0ZTEgJiYgZGF0ZTIgPT09IHRoaXMuZGF0ZTIpKVxuICAgICAgICAgIC5zdWJzY3JpYmUoKFtkYXRlMSwgZGF0ZTJdKSA9PiB7XG4gICAgICAgICAgICBpZiAoZGF0ZTEgJiYgZGF0ZTIpIHtcbiAgICAgICAgICAgICAgdGhpcy5zZXRGaWx0ZXIoZGF0ZTEgKyAnLCcgKyBkYXRlMik7XG4gICAgICAgICAgICB9IGVsc2UgaWYgKCFkYXRlMSAmJiAhZGF0ZTIpIHtcbiAgICAgICAgICAgICAgdGhpcy5zZXRGaWx0ZXIoJycpO1xuICAgICAgICAgICAgfVxuICAgICAgICAgIH0pXG4gICAgICApO1xuICAgICAgLy8gc3Vic2NyaXB0aW9uIHJlc3BvbnNpYmxlIGZvciB1cGRhdGluZyB0aGUgdWlcbiAgICAgIHRoaXMuc3Vic2NyaXB0aW9ucy5hZGQoXG4gICAgICAgIGNvbWJpbmVMYXRlc3QoW3RoaXMuZGF0ZTEkLnBpcGUoc3RhcnRXaXRoKHRoaXMuZGF0ZTEpKSwgdGhpcy5kYXRlMiQucGlwZShzdGFydFdpdGgodGhpcy5kYXRlMikpXSlcbiAgICAgICAgICAucGlwZShza2lwV2hpbGUoKFtkYXRlMSwgZGF0ZTJdKSA9PiBkYXRlMSA9PT0gdGhpcy5kYXRlMSAmJiBkYXRlMiA9PT0gdGhpcy5kYXRlMikpXG4gICAgICAgICAgLnN1YnNjcmliZSgoW2RhdGUxLCBkYXRlMl0pID0+IHtcbiAgICAgICAgICAgIHRoaXMuZGF0ZTEgPSBkYXRlMSA/IGRhdGUxIDogJyc7XG4gICAgICAgICAgICB0aGlzLmRhdGUyID0gZGF0ZTIgPyBkYXRlMiA6ICcnO1xuICAgICAgICAgIH0pXG4gICAgICApO1xuICAgIH0gZWxzZSB7XG4gICAgICB0aGlzLnN1YnNjcmlwdGlvbnMuYWRkKFxuICAgICAgICB0aGlzLnZhbHVlJC5waXBlKGRpc3RpbmN0VW50aWxDaGFuZ2VkKCksIGRlYm91bmNlVGltZSgxMDAwKSkuc3Vic2NyaWJlKCh2YWx1ZSkgPT4gdGhpcy5zZXRGaWx0ZXIodmFsdWUpKVxuICAgICAgKTtcbiAgICB9XG4gIH1cblxuICBzZXRGaWx0ZXIodmFsdWU6IHN0cmluZykge1xuICAgIHN1cGVyLnVwZGF0ZUZpbHRlcih2YWx1ZSk7XG4gIH1cblxuICBjbGVhckRhdGUoaW5kZXg6IG51bWJlcikge1xuICAgIGlmIChpbmRleCA9PT0gMSkge1xuICAgICAgdGhpcy5kYXRlMSQubmV4dCgnJyk7XG4gICAgfSBlbHNlIHtcbiAgICAgIHRoaXMuZGF0ZTIkLm5leHQoJycpO1xuICAgIH1cbiAgfVxufVxuIiwiPGRpdiAqbmdJZj1cImZpbHRlclwiIGNsYXNzPVwibS1maWx0ZXJcIj5cbiAgPGRpdiAqbmdJZj1cIiFmaWx0ZXI/Lmhhc0RhdGVSYW5nZTsgZWxzZSBkYXRlUmFuZ2VcIj5cbiAgICA8bGFiZWwgY2xhc3M9XCJhLWxhYmVsXCIgZm9yPVwie3sgZmlsdGVyLm5hbWUgfX1cIj57eyBmaWx0ZXIubmFtZSB9fTwvbGFiZWw+XG4gICAgPGRpdiBjbGFzcz1cIm0tZmlsdGVyX193cmFwcGVyXCI+XG4gICAgICA8aW5wdXRcbiAgICAgICAgW25nTW9kZWxdPVwiZmlsdGVyLnZhbHVlXCJcbiAgICAgICAgKG5nTW9kZWxDaGFuZ2UpPVwidGhpcy52YWx1ZSQubmV4dCgkZXZlbnQpXCJcbiAgICAgICAgdHlwZT1cImRhdGVcIlxuICAgICAgICBjbGFzcz1cImEtZm9ybS1maWVsZFwiXG4gICAgICAgIFtpZF09XCJmaWx0ZXIubmFtZVwiXG4gICAgICAvPlxuICAgICAgPHNwYW5cbiAgICAgICAgKm5nSWY9XCIhIWZpbHRlci52YWx1ZVwiXG4gICAgICAgIGNsYXNzPVwibS1maWx0ZXJfX2NsZWFyLXdyYXBwZXIgbS1maWx0ZXJfX2NsZWFyLXdyYXBwZXItLWRhdGVcIlxuICAgICAgICAoY2xpY2spPVwic2V0RmlsdGVyKCcnKVwiXG4gICAgICAgIFt0aXRsZV09XCInQHByeS5maWx0ZXJzLmNsZWFyJyB8IGkxOG5cIlxuICAgICAgPlxuICAgICAgICA8c3BhbiBjbGFzcz1cIm0tZmlsdGVyX19jbGVhclwiPng8L3NwYW4+XG4gICAgICAgIDxzcGFuIGNsYXNzPVwidS12aXN1YWxseS1oaWRkZW5cIj57eyAnQHByeS50b29sYm94LmNsb3NlJyB8IGkxOG4gfX08L3NwYW4+XG4gICAgICA8L3NwYW4+XG4gICAgPC9kaXY+XG4gIDwvZGl2PlxuICA8bmctdGVtcGxhdGUgI2RhdGVSYW5nZT5cbiAgICA8bGFiZWwgY2xhc3M9XCJhLWxhYmVsXCIgZm9yPVwie3sgZmlsdGVyLm5hbWUgfX1cIj57eyBmaWx0ZXIubmFtZSB9fTwvbGFiZWw+XG4gICAgPGRpdiBjbGFzcz1cIm0tZmlsdGVyX193cmFwcGVyXCI+XG4gICAgICA8ZGl2IGNsYXNzPVwibS1maWx0ZXJfX3dyYXBwZXJcIj5cbiAgICAgICAgPGlucHV0XG4gICAgICAgICAgW25nTW9kZWxdPVwiZGF0ZTFcIlxuICAgICAgICAgIChuZ01vZGVsQ2hhbmdlKT1cImRhdGUxJC5uZXh0KCRldmVudClcIlxuICAgICAgICAgIHR5cGU9XCJkYXRlXCJcbiAgICAgICAgICBjbGFzcz1cImEtZm9ybS1maWVsZFwiXG4gICAgICAgICAgW2lkXT1cImZpbHRlci5uYW1lICsgJzEnXCJcbiAgICAgICAgLz5cbiAgICAgICAgPHNwYW5cbiAgICAgICAgICAqbmdJZj1cIiEhZGF0ZTFcIlxuICAgICAgICAgIGNsYXNzPVwibS1maWx0ZXJfX2NsZWFyLXdyYXBwZXIgbS1maWx0ZXJfX2NsZWFyLXdyYXBwZXItLWRhdGVcIlxuICAgICAgICAgIChjbGljayk9XCJjbGVhckRhdGUoMSlcIlxuICAgICAgICAgIFt0aXRsZV09XCInQHByeS5maWx0ZXJzLmNsZWFyJyB8IGkxOG5cIlxuICAgICAgICA+XG4gICAgICAgICAgPHNwYW4gY2xhc3M9XCJtLWZpbHRlcl9fY2xlYXJcIj54PC9zcGFuPlxuICAgICAgICAgIDxzcGFuIGNsYXNzPVwidS12aXN1YWxseS1oaWRkZW5cIj57eyAnQHByeS50b29sYm94LmNsb3NlJyB8IGkxOG4gfX08L3NwYW4+XG4gICAgICAgIDwvc3Bhbj5cbiAgICAgIDwvZGl2PlxuICAgICAgPGRpdiBjbGFzcz1cIm0tZmlsdGVyX193cmFwcGVyXCI+XG4gICAgICAgIDxpbnB1dFxuICAgICAgICAgIFtuZ01vZGVsXT1cImRhdGUyXCJcbiAgICAgICAgICAobmdNb2RlbENoYW5nZSk9XCJkYXRlMiQubmV4dCgkZXZlbnQpXCJcbiAgICAgICAgICB0eXBlPVwiZGF0ZVwiXG4gICAgICAgICAgY2xhc3M9XCJhLWZvcm0tZmllbGRcIlxuICAgICAgICAgIFtpZF09XCJmaWx0ZXIubmFtZSArICcyJ1wiXG4gICAgICAgIC8+XG4gICAgICAgIDxzcGFuXG4gICAgICAgICAgKm5nSWY9XCIhIWRhdGUyXCJcbiAgICAgICAgICBjbGFzcz1cIm0tZmlsdGVyX19jbGVhci13cmFwcGVyIG0tZmlsdGVyX19jbGVhci13cmFwcGVyLS1kYXRlXCJcbiAgICAgICAgICAoY2xpY2spPVwiY2xlYXJEYXRlKDIpXCJcbiAgICAgICAgICBbdGl0bGVdPVwiJ0BwcnkuZmlsdGVycy5jbGVhcicgfCBpMThuXCJcbiAgICAgICAgPlxuICAgICAgICAgIDxzcGFuIGNsYXNzPVwibS1maWx0ZXJfX2NsZWFyXCI+w5c8L3NwYW4+XG4gICAgICAgICAgPHNwYW4gY2xhc3M9XCJ1LXZpc3VhbGx5LWhpZGRlblwiPnt7ICdAcHJ5LnRvb2xib3guY2xvc2UnIHwgaTE4biB9fTwvc3Bhbj5cbiAgICAgICAgPC9zcGFuPlxuICAgICAgPC9kaXY+XG4gICAgPC9kaXY+XG4gIDwvbmctdGVtcGxhdGU+XG48L2Rpdj5cbiJdfQ==
|
|
66
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZGF0ZS1maWx0ZXIuY29tcG9uZW50LmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvcHJvdm9seS9kYXNoYm9hcmQvZmlsdGVycy9kYXRlL2RhdGUtZmlsdGVyLmNvbXBvbmVudC50cyIsIi4uLy4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL3Byb3ZvbHkvZGFzaGJvYXJkL2ZpbHRlcnMvZGF0ZS9kYXRlLWZpbHRlci5jb21wb25lbnQuaHRtbCJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQUUsU0FBUyxFQUFVLE1BQU0sZUFBZSxDQUFDO0FBRWxELE9BQU8sRUFBRSxtQkFBbUIsRUFBNEIsTUFBTSxvQkFBb0IsQ0FBQztBQUNuRixPQUFPLEVBQUUsYUFBYSxFQUFFLFlBQVksRUFBRSxTQUFTLEVBQUUsT0FBTyxFQUFFLE1BQU0sTUFBTSxDQUFDO0FBQ3ZFLE9BQU8sRUFBRSxvQkFBb0IsRUFBRSxTQUFTLEVBQUUsTUFBTSxnQkFBZ0IsQ0FBQzs7Ozs7O0FBTWpFLE1BQU0sT0FBTyxtQkFBb0IsU0FBUSxtQkFBbUI7SUFPMUQsWUFBWSxLQUFZO1FBQ3RCLEtBQUssQ0FBQyxLQUFLLENBQUMsQ0FBQztRQVBmLFdBQU0sR0FBRyxJQUFJLE9BQU8sRUFBVSxDQUFDO1FBRy9CLFdBQU0sR0FBRyxJQUFJLE9BQU8sRUFBVSxDQUFDO1FBQy9CLFdBQU0sR0FBRyxJQUFJLE9BQU8sRUFBVSxDQUFDO1FBSTdCLElBQUksQ0FBQyxJQUFJLEdBQUcsTUFBTSxDQUFDO0lBQ3JCLENBQUM7SUFFRCxRQUFRO1FBQ04sSUFBSSxJQUFJLENBQUMsTUFBTSxFQUFFLFlBQVksRUFBRTtZQUM3QixJQUFJLENBQUMsS0FBSyxHQUFHLENBQUMsSUFBSSxDQUFDLE1BQU0sRUFBRSxLQUFLLElBQUksRUFBRSxDQUFDLENBQUMsUUFBUSxFQUFFLENBQUMsS0FBSyxDQUFDLEdBQUcsQ0FBQyxDQUFDLENBQUMsQ0FBQyxD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QUFJLENBQUMsTUFBTSxDQUFDLElBQUksQ0FBQyxFQUFFLENBQUMsQ0FBQztTQUN0QjtJQUNILENBQUM7OEdBekRVLG1CQUFtQjtrR0FBbkIsbUJBQW1CLDhFQ1ZoQywwdEVBZ0VBOzsyRkR0RGEsbUJBQW1CO2tCQUovQixTQUFTOytCQUNFLGlCQUFpQiIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IENvbXBvbmVudCwgT25Jbml0IH0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XG5pbXBvcnQgeyBTdG9yZSB9IGZyb20gJ0BuZ3J4L3N0b3JlJztcbmltcG9ydCB7IEJhc2VGaWx0ZXJDb21wb25lbnQsIFN1YnNjcmlwdGlvbm5lckRpcmVjdGl2ZSB9IGZyb20gJ0Bwcm92b2x5L2Rhc2hib2FyZCc7XG5pbXBvcnQgeyBjb21iaW5lTGF0ZXN0LCBkZWJvdW5jZVRpbWUsIHN0YXJ0V2l0aCwgU3ViamVjdCB9IGZyb20gJ3J4anMnO1xuaW1wb3J0IHsgZGlzdGluY3RVbnRpbENoYW5nZWQsIHNraXBXaGlsZSB9IGZyb20gJ3J4anMvb3BlcmF0b3JzJztcblxuQENvbXBvbmVudCh7XG4gIHNlbGVjdG9yOiAncHJ5LWRhdGUtZmlsdGVyJyxcbiAgdGVtcGxhdGVVcmw6ICcuL2RhdGUtZmlsdGVyLmNvbXBvbmVudC5odG1sJ1xufSlcbmV4cG9ydCBjbGFzcyBEYXRlRmlsdGVyQ29tcG9uZW50IGV4dGVuZHMgQmFzZUZpbHRlckNvbXBvbmVudCBpbXBsZW1lbnRzIFN1YnNjcmlwdGlvbm5lckRpcmVjdGl2ZSwgT25Jbml0IHtcbiAgdmFsdWUkID0gbmV3IFN1YmplY3Q8c3RyaW5nPigpO1xuICBkYXRlMT86IHN0cmluZztcbiAgZGF0ZTI/OiBzdHJpbmc7XG4gIGRhdGUxJCA9IG5ldyBTdWJqZWN0PHN0cmluZz4oKTtcbiAgZGF0ZTIkID0gbmV3IFN1YmplY3Q8c3RyaW5nPigpO1xuXG4gIGNvbnN0cnVjdG9yKHN0b3JlOiBTdG9yZSkge1xuICAgIHN1cGVyKHN0b3JlKTtcbiAgICB0aGlzLnR5cGUgPSAnZGF0ZSc7XG4gIH1cblxuICBuZ09uSW5pdCgpIHtcbiAgICBpZiAodGhpcy5maWx0ZXI/Lmhhc0RhdGVSYW5nZSkge1xuICAgICAgdGhpcy5kYXRlMSA9ICh0aGlzLmZpbHRlcj8udmFsdWUgPz8gJycpLnRvU3RyaW5nKCkuc3BsaXQoJywnKVswXTtcbiAgICAgIHRoaXMuZGF0ZTIgPSAodGhpcy5maWx0ZXI/LnZhbHVlID8/ICcnKS50b1N0cmluZygpLnNwbGl0KCcsJylbMV07XG4gICAgICAvLyBzdWJzY3JpcHRpb24gcmVzcG9uc2libGUgZm9yIHNlbmRpbmcgYXBpIHJlcXVlc3RzXG4gICAgICB0aGlzLnN1YnNjcmlwdGlvbnMuYWRkKFxuICAgICAgICBjb21iaW5lTGF0ZXN0KFtcbiAgICAgICAgICB0aGlzLmRhdGUxJC5waXBlKGRlYm91bmNlVGltZSgxMDAwKSwgc3RhcnRXaXRoKHRoaXMuZGF0ZTEpKSxcbiAgICAgICAgICB0aGlzLmRhdGUyJC5waXBlKGRlYm91bmNlVGltZSgxMDAwKSwgc3RhcnRXaXRoKHRoaXMuZGF0ZTIpKVxuICAgICAgICBdKVxuICAgICAgICAgIC5waXBlKHNraXBXaGlsZSgoW2RhdGUxLCBkYXRlMl0pID0+IGRhdGUxID09PSB0aGlzLmRhdGUxICYmIGRhdGUyID09PSB0aGlzLmRhdGUyKSlcbiAgICAgICAgICAuc3Vic2NyaWJlKChbZGF0ZTEsIGRhdGUyXSkgPT4ge1xuICAgICAgICAgICAgaWYgKGRhdGUxICYmIGRhdGUyKSB7XG4gICAgICAgICAgICAgIHRoaXMuc2V0RmlsdGVyKGRhdGUxICsgJywnICsgZGF0ZTIpO1xuICAgICAgICAgICAgfSBlbHNlIGlmICghZGF0ZTEgJiYgIWRhdGUyKSB7XG4gICAgICAgICAgICAgIHRoaXMuc2V0RmlsdGVyKCcnKTtcbiAgICAgICAgICAgIH1cbiAgICAgICAgICB9KVxuICAgICAgKTtcbiAgICAgIC8vIHN1YnNjcmlwdGlvbiByZXNwb25zaWJsZSBmb3IgdXBkYXRpbmcgdGhlIHVpXG4gICAgICB0aGlzLnN1YnNjcmlwdGlvbnMuYWRkKFxuICAgICAgICBjb21iaW5lTGF0ZXN0KFt0aGlzLmRhdGUxJC5waXBlKHN0YXJ0V2l0aCh0aGlzLmRhdGUxKSksIHRoaXMuZGF0ZTIkLnBpcGUoc3RhcnRXaXRoKHRoaXMuZGF0ZTIpKV0pXG4gICAgICAgICAgLnBpcGUoc2tpcFdoaWxlKChbZGF0ZTEsIGRhdGUyXSkgPT4gZGF0ZTEgPT09IHRoaXMuZGF0ZTEgJiYgZGF0ZTIgPT09IHRoaXMuZGF0ZTIpKVxuICAgICAgICAgIC5zdWJzY3JpYmUoKFtkYXRlMSwgZGF0ZTJdKSA9PiB7XG4gICAgICAgICAgICB0aGlzLmRhdGUxID0gZGF0ZTEgPyBkYXRlMSA6ICcnO1xuICAgICAgICAgICAgdGhpcy5kYXRlMiA9IGRhdGUyID8gZGF0ZTIgOiAnJztcbiAgICAgICAgICB9KVxuICAgICAgKTtcbiAgICB9IGVsc2Uge1xuICAgICAgdGhpcy5zdWJzY3JpcHRpb25zLmFkZChcbiAgICAgICAgdGhpcy52YWx1ZSQucGlwZShkaXN0aW5jdFVudGlsQ2hhbmdlZCgpLCBkZWJvdW5jZVRpbWUoMTAwMCkpLnN1YnNjcmliZSgodmFsdWUpID0+IHRoaXMuc2V0RmlsdGVyKHZhbHVlKSlcbiAgICAgICk7XG4gICAgfVxuICB9XG5cbiAgc2V0RmlsdGVyKHZhbHVlOiBzdHJpbmcpIHtcbiAgICBzdXBlci51cGRhdGVGaWx0ZXIodmFsdWUpO1xuICB9XG5cbiAgY2xlYXJEYXRlKGluZGV4OiBudW1iZXIpIHtcbiAgICBpZiAoaW5kZXggPT09IDEpIHtcbiAgICAgIHRoaXMuZGF0ZTEkLm5leHQoJycpO1xuICAgIH0gZWxzZSB7XG4gICAgICB0aGlzLmRhdGUyJC5uZXh0KCcnKTtcbiAgICB9XG4gIH1cbn1cbiIsIjxkaXYgKm5nSWY9XCJmaWx0ZXJcIiBjbGFzcz1cIm0tZmlsdGVyXCI+XG4gIDxkaXYgKm5nSWY9XCIhZmlsdGVyPy5oYXNEYXRlUmFuZ2U7IGVsc2UgZGF0ZVJhbmdlXCI+XG4gICAgPGxhYmVsIGNsYXNzPVwiYS1sYWJlbFwiIGZvcj1cInt7IGZpbHRlci5uYW1lIH19XCI+e3sgZmlsdGVyLm5hbWUgfX08L2xhYmVsPlxuICAgIDxkaXYgY2xhc3M9XCJtLWZpbHRlcl9fd3JhcHBlclwiPlxuICAgICAgPGlucHV0XG4gICAgICAgIFtuZ01vZGVsXT1cImZpbHRlci52YWx1ZVwiXG4gICAgICAgIChuZ01vZGVsQ2hhbmdlKT1cInRoaXMudmFsdWUkLm5leHQoJGV2ZW50KVwiXG4gICAgICAgIHR5cGU9XCJkYXRlXCJcbiAgICAgICAgY2xhc3M9XCJhLWZvcm0tZmllbGRcIlxuICAgICAgICBbaWRdPVwiZmlsdGVyLm5hbWVcIlxuICAgICAgLz5cbiAgICAgIDxzcGFuXG4gICAgICAgICpuZ0lmPVwiISFmaWx0ZXIudmFsdWVcIlxuICAgICAgICBjbGFzcz1cIm0tZmlsdGVyX19jbGVhci13cmFwcGVyIG0tZmlsdGVyX19jbGVhci13cmFwcGVyLS1kYXRlXCJcbiAgICAgICAgKGNsaWNrKT1cInNldEZpbHRlcignJylcIlxuICAgICAgICBbdGl0bGVdPVwiJ0BwcnkuZmlsdGVycy5jbGVhcicgfCBpMThuXCJcbiAgICAgID5cbiAgICAgICAgPHNwYW4gY2xhc3M9XCJtLWZpbHRlcl9fY2xlYXJcIj54PC9zcGFuPlxuICAgICAgICA8c3BhbiBjbGFzcz1cInUtdmlzdWFsbHktaGlkZGVuXCI+e3sgJ0BwcnkudG9vbGJveC5jbG9zZScgfCBpMThuIH19PC9zcGFuPlxuICAgICAgPC9zcGFuPlxuICAgIDwvZGl2PlxuICA8L2Rpdj5cbiAgPG5nLXRlbXBsYXRlICNkYXRlUmFuZ2U+XG4gICAgPGxhYmVsIGNsYXNzPVwiYS1sYWJlbFwiIGZvcj1cInt7IGZpbHRlci5uYW1lIH19XCI+e3sgZmlsdGVyLm5hbWUgfX08L2xhYmVsPlxuICAgIDxkaXYgY2xhc3M9XCJtLWZpbHRlcl9fd3JhcHBlclwiPlxuICAgICAgPGRpdiBjbGFzcz1cIm0tZmlsdGVyX193cmFwcGVyXCI+XG4gICAgICAgIDxpbnB1dFxuICAgICAgICAgIFtuZ01vZGVsXT1cImRhdGUxXCJcbiAgICAgICAgICAobmdNb2RlbENoYW5nZSk9XCJkYXRlMSQubmV4dCgkZXZlbnQpXCJcbiAgICAgICAgICB0eXBlPVwiZGF0ZVwiXG4gICAgICAgICAgY2xhc3M9XCJhLWZvcm0tZmllbGRcIlxuICAgICAgICAgIFtpZF09XCJmaWx0ZXIubmFtZSArICcxJ1wiXG4gICAgICAgIC8+XG4gICAgICAgIDxzcGFuXG4gICAgICAgICAgKm5nSWY9XCIhIWRhdGUxXCJcbiAgICAgICAgICBjbGFzcz1cIm0tZmlsdGVyX19jbGVhci13cmFwcGVyIG0tZmlsdGVyX19jbGVhci13cmFwcGVyLS1kYXRlXCJcbiAgICAgICAgICAoY2xpY2spPVwiY2xlYXJEYXRlKDEpXCJcbiAgICAgICAgICBbdGl0bGVdPVwiJ0BwcnkuZmlsdGVycy5jbGVhcicgfCBpMThuXCJcbiAgICAgICAgPlxuICAgICAgICAgIDxzcGFuIGNsYXNzPVwibS1maWx0ZXJfX2NsZWFyXCI+eDwvc3Bhbj5cbiAgICAgICAgICA8c3BhbiBjbGFzcz1cInUtdmlzdWFsbHktaGlkZGVuXCI+e3sgJ0BwcnkudG9vbGJveC5jbG9zZScgfCBpMThuIH19PC9zcGFuPlxuICAgICAgICA8L3NwYW4+XG4gICAgICA8L2Rpdj5cbiAgICAgIDxkaXYgY2xhc3M9XCJtLWZpbHRlcl9fd3JhcHBlclwiPlxuICAgICAgICA8aW5wdXRcbiAgICAgICAgICBbbmdNb2RlbF09XCJkYXRlMlwiXG4gICAgICAgICAgKG5nTW9kZWxDaGFuZ2UpPVwiZGF0ZTIkLm5leHQoJGV2ZW50KVwiXG4gICAgICAgICAgdHlwZT1cImRhdGVcIlxuICAgICAgICAgIGNsYXNzPVwiYS1mb3JtLWZpZWxkXCJcbiAgICAgICAgICBbaWRdPVwiZmlsdGVyLm5hbWUgKyAnMidcIlxuICAgICAgICAvPlxuICAgICAgICA8c3BhblxuICAgICAgICAgICpuZ0lmPVwiISFkYXRlMlwiXG4gICAgICAgICAgY2xhc3M9XCJtLWZpbHRlcl9fY2xlYXItd3JhcHBlciBtLWZpbHRlcl9fY2xlYXItd3JhcHBlci0tZGF0ZVwiXG4gICAgICAgICAgKGNsaWNrKT1cImNsZWFyRGF0ZSgyKVwiXG4gICAgICAgICAgW3RpdGxlXT1cIidAcHJ5LmZpbHRlcnMuY2xlYXInIHwgaTE4blwiXG4gICAgICAgID5cbiAgICAgICAgICA8c3BhbiBjbGFzcz1cIm0tZmlsdGVyX19jbGVhclwiPsOXPC9zcGFuPlxuICAgICAgICAgIDxzcGFuIGNsYXNzPVwidS12aXN1YWxseS1oaWRkZW5cIj57eyAnQHByeS50b29sYm94LmNsb3NlJyB8IGkxOG4gfX08L3NwYW4+XG4gICAgICAgIDwvc3Bhbj5cbiAgICAgIDwvZGl2PlxuICAgIDwvZGl2PlxuICA8L25nLXRlbXBsYXRlPlxuPC9kaXY+XG4iXX0=
|
|
@@ -17,7 +17,7 @@ export class PryModalStatusComponent {
|
|
|
17
17
|
.flat()
|
|
18
18
|
.map((preview) => ({
|
|
19
19
|
...preview,
|
|
20
|
-
name: preview.name.split(',').join(', ')
|
|
20
|
+
name: (preview.name ?? '').split(',').join(', ')
|
|
21
21
|
}))));
|
|
22
22
|
this.messageCount$ = this.store.select(DataSourceSelectors.datasetPreviews).pipe(map((previews) => {
|
|
23
23
|
return previews.map((preview) => preview.count).reduce((p, c) => p + c, 0);
|
|
@@ -42,4 +42,4 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "16.1.6", ngImpor
|
|
|
42
42
|
}], version: [{
|
|
43
43
|
type: Input
|
|
44
44
|
}] } });
|
|
45
|
-
//# sourceMappingURL=data:application/json;base64,
|
|
45
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoibW9kYWwtc3RhdHVzLmNvbXBvbmVudC5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL3Byb3ZvbHkvZGFzaGJvYXJkL2xpYi9jb3JlL2NvbXBvbmVudHMvbW9kYWwtc3RhdHVzL21vZGFsLXN0YXR1cy5jb21wb25lbnQudHMiLCIuLi8uLi8uLi8uLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9wcm92b2x5L2Rhc2hib2FyZC9saWIvY29yZS9jb21wb25lbnRzL21vZGFsLXN0YXR1cy9tb2RhbC1zdGF0dXMuY29tcG9uZW50Lmh0bWwiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFFLFNBQVMsRUFBRSxZQUFZLEVBQUUsS0FBSyxFQUFFLE1BQU0sRUFBRSxNQUFNLGVBQWUsQ0FBQztBQUV2RSxPQUFPLEVBQUUsR0FBRyxFQUFjLE1BQU0sTUFBTSxDQUFDO0FBQ3ZDLE9BQU8sRUFBRSxpQkFBaUIsRUFBRSxNQUFNLDZDQUE2QyxDQUFDO0FBRWhGLE9BQU8sRUFBRSxtQkFBbUIsRUFBRSxNQUFNLCtDQUErQyxDQUFDOzs7Ozs7QUFNcEYsTUFBTSxPQUFPLHVCQUF1QjtJQWVsQyxJQUFhLE9BQU8sQ0FBQyxPQUFtQztRQUN0RCxJQUFJLENBQUMsUUFBUSxHQUFHLE9BQU8sQ0FBQztRQUN4QixJQUFJLENBQUMsQ0FBQyxPQUFPLEVBQUU7WUFDYixJQUFJLENBQUMsS0FBSyxDQUFDLFFBQVEsQ0FBQyxpQkFBaUIsQ0FBQyxPQUFPLENBQUMsUUFBUSxDQUFDLE9BQU8sQ0FBQyxFQUFFLEVBQUUsRUFBRSxPQUFPLENBQUMsRUFBRSxFQUFFLENBQUMsQ0FBQyxDQUFDO1lBQ3BGLElBQUksQ0FBQyxnQkFBZ0IsR0FBRyxJQUFJLENBQUMsS0FBSyxDQUFDLE1BQU0sQ0FBQyxtQkFBbUIsQ0FBQyxlQUFlLENBQUMsQ0FBQyxJQUFJLENBQ2pGLEdBQUcsQ0FBQyxDQUFDLFFBQVEsRUFBRSxFQUFFLENBQ2YsUUFBUTtpQkFDTCxHQUFHLENBQUMsQ0FBQyxPQUFPLEVBQUUsRUFBRSxDQUFDLE9BQU8sQ0FBQyxRQUFRLENBQUM7aUJBQ2xDLElBQUksRUFBRTtpQkFDTixHQUFHLENBQUMsQ0FBQyxPQUFPLEVBQUUsRUFBRSxDQUFDLENBQUM7Z0JBQ2pCLEdBQUcsT0FBTztnQkFDVixJQUFJLEVBQUUsQ0FBQyxPQUFPLENBQUMsSUFBSSxJQUFJLEVBQUUsQ0FBQyxDQUFDLEtBQUssQ0FBQyxHQUFHLENBQUMsQ0FBQyxJQUFJLENBQUMsSUFBSSxDQUFDO2FBQ2pELENBQUMsQ0FBQyxDQUNOLENBQ0YsQ0FBQztZQUNGLElBQUksQ0FBQyxhQUFhLEdBQUcsSUFBSSxDQUFDLEtBQUssQ0FBQyxNQUFNLENBQUMsbUJBQW1CLENBQUMsZUFBZSxDQUFDLENBQUMsSUFBSSxDQUM5RSxHQUFHLENBQUMsQ0FBQyxRQUFRLEVBQUUsRUFBRTtnQkFDZixPQUFPLFFBQVEsQ0FBQyxHQUFHLENBQUMsQ0FBQyxPQUFPLEVBQUUsRUFBRSxDQUFDLE9BQU8sQ0FBQyxLQUFLLENBQUMsQ0FBQyxNQUFNLENBQUMsQ0FBQyxDQUFDLEVBQUUsQ0FBQyxFQUFFLEVBQUUsQ0FBQyxDQUFDLEdBQUcsQ0FBQyxFQUFFLENBQUMsQ0FBQyxDQUFDO1lBQzdFLENBQUMsQ0FBQyxDQUNILENBQUM7U0FDSDtJQUNILENBQUM7SUFFRCxZQUFvQixLQUFZO1FBQVosVUFBSyxHQUFMLEtBQUssQ0FBTztRQXJDdEIsZ0JBQVcsR0FBRyxJQUFJLFlBQVksRUFBa0IsQ0FBQztJQXFDeEIsQ0FBQztJQUVwQyxNQUFNO1FBQ0osSUFBSSxDQUFDLFdBQVcsQ0FBQyxJQUFJLENBQUMsSUFBSSxDQUFDLE9BQU8sQ0FBQyxDQUFDO0lBQ3RDLENBQUM7OEdBMUNVLHVCQUF1QjtrR0FBdkIsdUJBQXVCLGlJQ1hwQywyOUNBNENBOzsyRkRqQ2EsdUJBQXVCO2tCQUpuQyxTQUFTOytCQUNFLGtCQUFrQjs0RkFJbEIsV0FBVztzQkFBcEIsTUFBTTtnQkFjTSxPQUFPO3NCQUFuQixLQUFLIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgQ29tcG9uZW50LCBFdmVudEVtaXR0ZXIsIElucHV0LCBPdXRwdXQgfSBmcm9tICdAYW5ndWxhci9jb3JlJztcbmltcG9ydCB7IFN0b3JlIH0gZnJvbSAnQG5ncngvc3RvcmUnO1xuaW1wb3J0IHsgbWFwLCBPYnNlcnZhYmxlIH0gZnJvbSAncnhqcyc7XG5pbXBvcnQgeyBEYXRhU291cmNlQWN0aW9ucyB9IGZyb20gJy4uLy4uL3N0b3JlL2RhdGEtc291cmNlL2RhdGEtc291cmNlLmFjdGlvbnMnO1xuaW1wb3J0IHsgRGF0YXNldFZlcnNpb24gfSBmcm9tICcuLi8uLi9zdG9yZS9kYXRhLXNvdXJjZS9kYXRhLXNvdXJjZS5tb2RlbCc7XG5pbXBvcnQgeyBEYXRhU291cmNlU2VsZWN0b3JzIH0gZnJvbSAnLi4vLi4vc3RvcmUvZGF0YS1zb3VyY2UvZGF0YS1zb3VyY2Uuc2VsZWN0b3JzJztcblxuQENvbXBvbmVudCh7XG4gIHNlbGVjdG9yOiAncHJ5LW1vZGFsLXN0YXR1cycsXG4gIHRlbXBsYXRlVXJsOiAnbW9kYWwtc3RhdHVzLmNvbXBvbmVudC5odG1sJ1xufSlcbmV4cG9ydCBjbGFzcyBQcnlNb2RhbFN0YXR1c0NvbXBvbmVudCB7XG4gIEBPdXRwdXQoKSBnb3RvQ29uc3VsdCA9IG5ldyBFdmVudEVtaXR0ZXI8RGF0YXNldFZlcnNpb24+KCk7XG4gIGRhdGFzZXRQcmV2aWV3cyQ/OiBPYnNlcnZhYmxlPFxuICAgIHtcbiAgICAgIGRhdGFzZXRWZXJzaW9uSWQ6IHN0cmluZztcbiAgICAgIGV4dHJhY3RNZXNzYWdlQ29kZTogc3RyaW5nO1xuICAgICAgbGV2ZWw6ICdFUlJPUicgfCAnV0FSTklORyc7XG4gICAgICBuYW1lOiBzdHJpbmc7XG4gICAgICByZWNvcmRJZDogc3RyaW5nO1xuICAgICAgdHlwZTogc3RyaW5nO1xuICAgIH1bXVxuICA+O1xuICBtZXNzYWdlQ291bnQkPzogT2JzZXJ2YWJsZTxudW1iZXI+O1xuICBfdmVyc2lvbj86IERhdGFzZXRWZXJzaW9uO1xuXG4gIEBJbnB1dCgpIHNldCB2ZXJzaW9uKHZlcnNpb246IERhdGFzZXRWZXJzaW9uIHwgdW5kZWZpbmVkKSB7XG4gICAgdGhpcy5fdmVyc2lvbiA9IHZlcnNpb247XG4gICAgaWYgKCEhdmVyc2lvbikge1xuICAgICAgdGhpcy5zdG9yZS5kaXNwYXRjaChEYXRhU291cmNlQWN0aW9ucy5kYXRhc2V0LnByZXZpZXdzLmdldEJ5SWQoeyBpZDogdmVyc2lvbi5pZCB9KSk7XG4gICAgICB0aGlzLmRhdGFzZXRQcmV2aWV3cyQgPSB0aGlzLnN0b3JlLnNlbGVjdChEYXRhU291cmNlU2VsZWN0b3JzLmRhdGFzZXRQcmV2aWV3cykucGlwZShcbiAgICAgICAgbWFwKChwcmV2aWV3cykgPT5cbiAgICAgICAgICBwcmV2aWV3c1xuICAgICAgICAgICAgLm1hcCgocHJldmlldykgPT4gcHJldmlldy5tZXNzYWdlcylcbiAgICAgICAgICAgIC5mbGF0KClcbiAgICAgICAgICAgIC5tYXAoKHByZXZpZXcpID0+ICh7XG4gICAgICAgICAgICAgIC4uLnByZXZpZXcsXG4gICAgICAgICAgICAgIG5hbWU6IChwcmV2aWV3Lm5hbWUgPz8gJycpLnNwbGl0KCcsJykuam9pbignLCAnKVxuICAgICAgICAgICAgfSkpXG4gICAgICAgIClcbiAgICAgICk7XG4gICAgICB0aGlzLm1lc3NhZ2VDb3VudCQgPSB0aGlzLnN0b3JlLnNlbGVjdChEYXRhU291cmNlU2VsZWN0b3JzLmRhdGFzZXRQcmV2aWV3cykucGlwZShcbiAgICAgICAgbWFwKChwcmV2aWV3cykgPT4ge1xuICAgICAgICAgIHJldHVybiBwcmV2aWV3cy5tYXAoKHByZXZpZXcpID0+IHByZXZpZXcuY291bnQpLnJlZHVjZSgocCwgYykgPT4gcCArIGMsIDApO1xuICAgICAgICB9KVxuICAgICAgKTtcbiAgICB9XG4gIH1cblxuICBjb25zdHJ1Y3Rvcihwcml2YXRlIHN0b3JlOiBTdG9yZSkge31cblxuICBnb0JhY2soKSB7XG4gICAgdGhpcy5nb3RvQ29uc3VsdC5lbWl0KHRoaXMudmVyc2lvbik7XG4gIH1cbn1cbiIsIjxkaXYgY2xhc3M9XCJvLW1vZGFsLXdyYXBwZXIgLWV4dHJhLWxhcmdlXCI+XG4gIDxkaXYgY2xhc3M9XCJvLW1vZGFsX190b3BcIj5cbiAgICA8ZGl2IGNsYXNzPVwiby1tb2RhbF9fdG9wX190aXRsZVwiPlxuICAgICAgPGgyIGNsYXNzPVwiYS1oMlwiPlxuICAgICAgICB7e1xuICAgICAgICAgICdAcHJ5LmRhdGFzZXQuZXJyb3IubW9kYWxUaXRsZS4nICtcbiAgICAgICAgICAgIChfdmVyc2lvbj8uc3RhdGUgIT09ICdFUlJPUicgJiYgX3ZlcnNpb24/Lmhhc1dhcm5pbmdzID8gJ1dBUk5JTkcnIDogJ0VSUk9SJykgfCBpMThuXG4gICAgICAgIH19XG4gICAgICAgICh7eyBtZXNzYWdlQ291bnQkIHwgYXN5bmMgfX0pXG4gICAgICA8L2gyPlxuICAgIDwvZGl2PlxuICAgIDxkaXYgY2xhc3M9XCJvLW1vZGFsX190b3BfX2Nsb3NlXCI+XG4gICAgICA8YnV0dG9uIGNsYXNzPVwiYS1idG4gYS1idG4tLWljb24tb25seVwiIChjbGljayk9XCJnb0JhY2soKVwiPlxuICAgICAgICA8cHJ5LWljb24gaWNvblN2Zz1cImNsb3NlXCIgW2hlaWdodF09XCIzNVwiIFt3aWR0aF09XCIzNVwiPjwvcHJ5LWljb24+XG4gICAgICAgIDxzcGFuIGNsYXNzPVwidS12aXN1YWxseS1oaWRkZW5cIj57eyAnQHByeS50b29sYm94LmNsb3NlJyB8IGkxOG4gfX08L3NwYW4+XG4gICAgICA8L2J1dHRvbj5cbiAgICA8L2Rpdj5cbiAgPC9kaXY+XG4gIDx0YWJsZSBjbGFzcz1cImEtdGFibGVcIj5cbiAgICA8dGhlYWQ+XG4gICAgICA8dHI+XG4gICAgICAgIDx0aD57eyAnQHByeS5kYXRhc2V0LmVycm9yLnR5cGUnIHwgaTE4biB9fTwvdGg+XG4gICAgICAgIDx0aD57eyAnQHByeS5kYXRhc2V0LmVycm9yLmVsZW1lbnRzJyB8IGkxOG4gfX08L3RoPlxuICAgICAgICA8dGg+e3sgJ0BwcnkuZGF0YXNldC5lcnJvci5tZXNzYWdlJyB8IGkxOG4gfX08L3RoPlxuICAgICAgPC90cj5cbiAgICA8L3RoZWFkPlxuICAgIDx0Ym9keT5cbiAgICAgIDx0ciAqbmdGb3I9XCJsZXQgcHJldmlldyBvZiBkYXRhc2V0UHJldmlld3MkIHwgYXN5bmMgfCBzbGljZSA6IDAgOiA1XCI+XG4gICAgICAgIDx0ZD5cbiAgICAgICAgICB7eyAnQHByeS5kYXRhc2V0LmVycm9yLmxldmVsLicgKyBwcmV2aWV3LmxldmVsIHwgaTE4biB9fVxuICAgICAgICA8L3RkPlxuICAgICAgICA8dGQ+XG4gICAgICAgICAge3sgcHJldmlldy5yZWNvcmRJZCB9fVxuICAgICAgICA8L3RkPlxuICAgICAgICA8dGQ+XG4gICAgICAgICAge3tcbiAgICAgICAgICAgICdAcHJ5LmRhdGFzZXQuZXJyb3IuY29kZS4nICsgcHJldmlldy5leHRyYWN0TWVzc2FnZUNvZGVcbiAgICAgICAgICAgICAgfCBpMThuIDogeyBwbHVyYWw6IHByZXZpZXcubmFtZS5pbmNsdWRlcygnLCcpID8gJ3MnIDogJycsIG5hbWU6IHByZXZpZXcubmFtZSwgcmVjb3JkSWQ6IHByZXZpZXcucmVjb3JkSWQgfVxuICAgICAgICAgIH19XG4gICAgICAgIDwvdGQ+XG4gICAgICA8L3RyPlxuICAgIDwvdGJvZHk+XG4gIDwvdGFibGU+XG48L2Rpdj5cbiJdfQ==
|
|
@@ -10,4 +10,4 @@ export var GeoMetadata;
|
|
|
10
10
|
GeoMetadata["KEY"] = "_geoKey";
|
|
11
11
|
GeoMetadata["OPACITY"] = "_geoOpacity";
|
|
12
12
|
})(GeoMetadata || (GeoMetadata = {}));
|
|
13
|
-
//# sourceMappingURL=data:application/json;base64,
|
|
13
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZGF0YXNldC5pbnRlcmZhY2UuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9wcm92b2x5L2Rhc2hib2FyZC9saWIvY29yZS9tb2RlbC9kYXRhc2V0LmludGVyZmFjZS50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxNQUFNLENBQU4sSUFBWSxjQUlYO0FBSkQsV0FBWSxjQUFjO0lBQ3hCLCtCQUFhLENBQUE7SUFDYixtQ0FBaUIsQ0FBQTtJQUNqQiwyQ0FBeUIsQ0FBQTtBQUMzQixDQUFDLEVBSlcsY0FBYyxLQUFkLGNBQWMsUUFJekI7QUFPRCxNQUFNLENBQU4sSUFBWSxXQUlYO0FBSkQsV0FBWSxXQUFXO0lBQ3JCLDBDQUEyQixDQUFBO0lBQzNCLDhCQUFlLENBQUE7SUFDZixzQ0FBdUIsQ0FBQTtBQUN6QixDQUFDLEVBSlcsV0FBVyxLQUFYLFdBQVcsUUFJdEIiLCJzb3VyY2VzQ29udGVudCI6WyJleHBvcnQgZW51bSBQcnlEYXRhc2V0VHlwZSB7XG4gIE9QRU4gPSAnT1BFTicsXG4gIENMT1NFRCA9ICdDTE9TRUQnLFxuICBNT0RJRklBQkxFID0gJ01PRElGSUFCTEUnXG59XG5cbmV4cG9ydCBpbnRlcmZhY2UgRGF0YXNldENvdW50IHtcbiAgaWQ6IHN0cmluZztcbiAgY291bnQ6IG51bWJlcjtcbn1cblxuZXhwb3J0IGVudW0gR2VvTWV0YWRhdGEge1xuICBOQU1FU1BBQ0UgPSAnX2dlb05hbWVzcGFjZScsXG4gIEtFWSA9ICdfZ2VvS2V5JyxcbiAgT1BBQ0lUWSA9ICdfZ2VvT3BhY2l0eSdcbn1cblxuZXhwb3J0IGludGVyZmFjZSBEYXRhc2V0TWVzc2FnZSB7XG4gIGV4dHJhY3RNZXNzYWdlQ29kZTogc3RyaW5nO1xuICB0eXBlOiBzdHJpbmc7XG4gIG5hbWU/OiBzdHJpbmc7XG4gIHJlY29yZElkOiBzdHJpbmc7XG4gIGRhdGFzZXRWZXJzaW9uSWQ6IHN0cmluZztcbiAgbGV2ZWw6ICdFUlJPUicgfCAnV0FSTklORyc7XG59XG5cbmV4cG9ydCBpbnRlcmZhY2UgRGF0YXNldFByZXZpZXcge1xuICBsZXZlbDogJ0VSUk9SJyB8ICdXQVJOSU5HJztcbiAgbWVzc2FnZXM6IERhdGFzZXRNZXNzYWdlW107XG4gIGNvdW50OiBudW1iZXI7XG59XG4iXX0=
|
|
@@ -1,2 +1,2 @@
|
|
|
1
1
|
export {};
|
|
2
|
-
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZmlsdGVyLmludGVyZmFjZS5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL3Byb3ZvbHkvZGFzaGJvYXJkL2xpYi9jb3JlL21vZGVsL2ZpbHRlci5pbnRlcmZhY2UudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IiIsInNvdXJjZXNDb250ZW50IjpbImV4cG9ydCBpbnRlcmZhY2UgRmlsdGVyIHtcbiAgaWQ6IHN0cmluZztcbiAgbmFtZTogc3RyaW5nO1xuICB0eXBlOiBzdHJpbmc7XG4gIGF0dHJpYnV0ZXM6IHsgaWQ6IHN0cmluZzsgbmFtZTogc3RyaW5nOyBsYWJlbDogc3RyaW5nOyBkYXRhc291cmNlOiBzdHJpbmcgfVtdO1xuICBvcGVyYXRvcj86IHN0cmluZztcbiAgdmFsdWU/
|
|
2
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZmlsdGVyLmludGVyZmFjZS5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL3Byb3ZvbHkvZGFzaGJvYXJkL2xpYi9jb3JlL21vZGVsL2ZpbHRlci5pbnRlcmZhY2UudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IiIsInNvdXJjZXNDb250ZW50IjpbImV4cG9ydCBpbnRlcmZhY2UgRmlsdGVyIHtcbiAgaWQ6IHN0cmluZztcbiAgbmFtZTogc3RyaW5nO1xuICB0eXBlOiBzdHJpbmc7XG4gIGF0dHJpYnV0ZXM6IHsgaWQ6IHN0cmluZzsgbmFtZTogc3RyaW5nOyBsYWJlbDogc3RyaW5nOyBkYXRhc291cmNlOiBzdHJpbmcgfVtdO1xuICBvcGVyYXRvcj86IHN0cmluZztcbiAgdmFsdWU/OiBzdHJpbmcgfCBudW1iZXI7XG4gIHBvc3NpYmxlVmFsdWVzPzogc3RyaW5nO1xuICBoYXNEYXRlUmFuZ2U/OiBib29sZWFuO1xufVxuXG5leHBvcnQgaW50ZXJmYWNlIEZpbHRlckNvbnRleHQge1xuICBhdHRyaWJ1dGU6IHN0cmluZztcbiAgb3BlcmF0b3I6IHN0cmluZztcbiAgdmFsdWU6IHN0cmluZyB8IHVuZGVmaW5lZCB8IG51bWJlcjtcbn1cbiJdfQ==
|
|
@@ -44,7 +44,7 @@ export * from './store/context-menu/context-menu.reducer';
|
|
|
44
44
|
export * from './store/raw/raw.service';
|
|
45
45
|
export * from './store/aggregation/base-aggregation.service';
|
|
46
46
|
export * from './store/aggregation/backend-aggregation.service';
|
|
47
|
-
export * from './store/aggregation/frontend-aggregation.service';
|
|
47
|
+
export * from './store/aggregation/frontend-aggregation/frontend-aggregation.service';
|
|
48
48
|
export * from './components/nq-color-selector/nq-color-selector.component';
|
|
49
49
|
export * from './components/translate-id/translate-id.pipe';
|
|
50
50
|
export * from './components/translate-item-to-symbol/translate-item-to-symbol.pipe';
|
|
@@ -118,4 +118,4 @@ export * from './i18n/deep-merge.function';
|
|
|
118
118
|
export * from './errors/http-error-interceptor.service';
|
|
119
119
|
export * from './components/about/pry-about.module';
|
|
120
120
|
export * from './components/about/about.component';
|
|
121
|
-
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicHVibGljLWFwaS5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL3Byb3ZvbHkvZGFzaGJvYXJkL2xpYi9jb3JlL3B1YmxpYy1hcGkudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsY0FBYyxlQUFlLENBQUM7QUFDOUIsY0FBYyxpQ0FBaUMsQ0FBQztBQUNoRCxjQUFjLCtCQUErQixDQUFDO0FBQzlDLGNBQWMsK0JBQStCLENBQUM7QUFDOUMsY0FBYywyQ0FBMkMsQ0FBQztBQUMxRCxjQUFjLHdDQUF3QyxDQUFDO0FBQ3ZELGNBQWMsNkJBQTZCLENBQUM7QUFDNUMsY0FBYywrQkFBK0IsQ0FBQztBQUM5QyxjQUFjLCtCQUErQixDQUFDO0FBQzlDLGNBQWMsNkJBQTZCLENBQUM7QUFDNUMsY0FBYyw2QkFBNkIsQ0FBQztBQUM1QyxjQUFjLDZCQUE2QixDQUFDO0FBQzVDLGNBQWMsK0JBQStCLENBQUM7QUFDOUMsY0FBYywrQkFBK0IsQ0FBQztBQUM5QyxjQUFjLDZCQUE2QixDQUFDO0FBRTVDLGNBQWMsNkJBQTZCLENBQUM7QUFDNUMsY0FBYywrQkFBK0IsQ0FBQztBQUM5QyxjQUFjLDZCQUE2QixDQUFDO0FBQzVDLGNBQWMsNkJBQTZCLENBQUM7QUFDNUMsY0FBYywrQkFBK0IsQ0FBQztBQUM5QyxjQUFjLGlDQUFpQyxDQUFDO0FBQ2hELGNBQWMsaUNBQWlDLENBQUM7QUFDaEQsY0FBYywrQkFBK0IsQ0FBQztBQUM5QyxjQUFjLCtCQUErQixDQUFDO0FBQzlDLGNBQWMsb0VBQW9FLENBQUM7QUFDbkYsY0FBYyxtQ0FBbUMsQ0FBQztBQUNsRCxjQUFjLHFDQUFxQyxDQUFDO0FBQ3BELGNBQWMsbUNBQW1DLENBQUM7QUFDbEQsY0FBYyxxQ0FBcUMsQ0FBQztBQUNwRCxjQUFjLHlDQUF5QyxDQUFDO0FBQ3hELGNBQWMseUNBQXlDLENBQUM7QUFDeEQsY0FBYywyQ0FBMkMsQ0FBQztBQUMxRCxjQUFj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QixDQUFDO0FBQ25DLGNBQWMsa0JBQWtCLENBQUM7QUFDakMsY0FBYyxvQkFBb0IsQ0FBQztBQUNuQyxjQUFjLHFCQUFxQixDQUFDO0FBQ3BDLGNBQWMsd0JBQXdCLENBQUM7QUFDdkMsY0FBYyx3QkFBd0IsQ0FBQztBQUN2QyxjQUFjLDRCQUE0QixDQUFDO0FBQzNDLGNBQWMseUNBQXlDLENBQUM7QUFDeEQsY0FBYyxxQ0FBcUMsQ0FBQztBQUNwRCxjQUFjLG9DQUFvQyxDQUFDIiwic291cmNlc0NvbnRlbnQiOlsiZXhwb3J0ICogZnJvbSAnLi9jb3JlLm1vZHVsZSc7XG5leHBvcnQgKiBmcm9tICcuL3N0b3JlL2NvbmZpZy9jb25maWcuc2VsZWN0b3JzJztcbmV4cG9ydCAqIGZyb20gJy4vc3RvcmUvY29uZmlnL2NvbmZpZy5hY3Rpb25zJztcbmV4cG9ydCAqIGZyb20gJy4vc3RvcmUvY29uZmlnL2NvbmZpZy5zZXJ2aWNlJztcbmV4cG9ydCAqIGZyb20gJy4vc3RvcmUvY29uZmlnL2ljb24tZGVmaW5pdGlvbnMuaW50ZXJmYWNlJztcbmV4cG9ydCAqIGZyb20gJy4vc3RvcmUvY29uZmlnL2NvbmZpZy53aWRnZXQuY29uc3RhbnRzJztcbmV4cG9ydCAqIGZyb20gJy4vc3RvcmUvY2xhc3MvY2xhc3MuYWN0aW9ucyc7XG5leHBvcnQgKiBmcm9tICcuL3N0b3JlL2NsYXNzL2NsYXNzLnNlbGVjdG9ycyc7XG5leHBvcnQgKiBmcm9tICcuL3N0b3JlL2NsYXNzL2NsYXNzLmludGVyZmFjZSc7XG5leHBvcnQgKiBmcm9tICcuL3N0b3JlL2NsYXNzL2NsYXNzLnJlZHVjZXInO1xuZXhwb3J0ICogZnJvbSAnLi9zdG9yZS9jbGFzcy9jbGFzcy5zZXJ2aWNlJztcbmV4cG9ydCAqIGZyb20gJy4vc3RvcmUvZmllbGQvZmllbGQuYWN0aW9ucyc7XG5leHBvcnQgKiBmcm9tICcuL3N0b3JlL2ZpZWxkL2ZpZWxkLnNlbGVjdG9ycyc7XG5leHBvcnQgKiBmcm9tICcuL3N0b3JlL2ZpZWxkL2ZpZWxkLmludGVyZmFjZSc7XG5leHBvcnQgKiBmcm9tICcuL3N0b3JlL2ZpZWxkL2ZpZWxkLnNlcnZpY2UnO1xuZXhwb3J0IHsgRmllbGRTdGF0ZSB9IGZyb20gJy4vc3RvcmUvZmllbGQvZmllbGQucmVkdWNlcic7XG5leHBvcnQgKiBmcm9tICcuL3N0b3JlL2ltYWdlL2ltYWdlLmFjdGlvbnMnO1xuZXhwb3J0ICogZnJvbSAnLi9zdG9yZS9pbWFnZS9pbWFnZS5zZWxlY3RvcnMnO1xuZXhwb3J0ICogZnJvbSAnLi9zdG9yZS9pbWFnZS9pbWFnZS5zZXJ2aWNlJztcbmV4cG9ydCAqIGZyb20gJy4vc3RvcmUvaW1hZ2UvaW1hZ2UucmVkdWNlcic7XG5leHBvcnQgKiBmcm9tICcuL3N0b3JlL3NlYXJjaC9zZWFyY2guYWN0aW9ucyc7XG5leHBvcnQgKiBmcm9tICcuL3N0b3JlL3NlYXJjaC9zZWFyY2guY29uc3RhbnRzJztcbmV4cG9ydCAqIGZyb20gJy4vc3RvcmUvc2VhcmNoL3NlYXJjaC5zZWxlY3RvcnMnO1xuZXhwb3J0ICogZnJvbSAnLi9zdG9yZS9zZWFyY2gvc2VhcmNoLnNlcnZpY2UnO1xuZXhwb3J0ICogZnJvbSAnLi9zdG9yZS9zZWFyY2gvc2VhcmNoLnJlZHVjZXInO1xuZXhwb3J0ICogZnJvbSAnLi9zdG9yZS9zZWFyY2gvbGF0LWxvbi10by1nZW9ncmFwaGljLWZpZWxkLXRyYW5zZm9ybWF0aW9uLmZ1bmN0aW9uJztcbmV4cG9ydCAqIGZyb20gJy4vc3RvcmUvY2F0ZWdvcnkvY2F0ZWdvcnkuYWN0aW9ucyc7XG5leHBvcnQgKiBmcm9tICcuL3N0b3JlL2NhdGVnb3J5L2NhdGVnb3J5LmludGVyZmFjZSc7XG5leHBvcnQgKiBmcm9tICcuL3N0b3JlL2NhdGVnb3J5L2NhdGVnb3J5LnNlcnZpY2UnO1xuZXhwb3J0ICogZnJvbSAnLi9zdG9yZS9jYXRlZ29yeS9jYXRlZ29yeS5zZWxlY3RvcnMnO1xuZXhwb3J0ICogZnJvbSAnLi9zdG9yZS9kYXRhLXNvdXJjZS9kYXRhLXNvdXJjZS5zZXJ2aWNlJztcbmV4cG9ydCAqIGZyb20gJy4vc3RvcmUvZGF0YS1zb3VyY2UvZGF0YS1zb3VyY2UuYWN0aW9ucyc7XG5leHBvcnQgKiBmcm9tICcuL3N0b3JlL2RhdGEtc291cmNlL2RhdGEtc291cmNlLnNlbGVjdG9ycyc7XG5leHBvcnQgKiBmcm9tICcuL3N0b3JlL2RhdGEtc291cmNlL2RhdGEtc291cmNlLnJlZHVjZXInO1xuZXhwb3J0ICogZnJvbSAnLi9zdG9yZS9kYXRhLXNvdXJjZS9kYXRhLXNvdXJjZS5tb2RlbCc7XG5leHBvcnQgKiBmcm9tICcuL3N0b3JlL2RhdGEtc291cmNlL25hbWVkLXF1ZXJ5LXR5cGVzLm1vZGVsJztcbmV4cG9ydCAqIGZyb20gJy4vc3RvcmUvZGF0YS1zb3VyY2UvZGF0YXNvdXJjZS11dGlscyc7XG5leHBvcnQgKiBmcm9tICcuL3N0b3JlL3JlbGF0aW9uLXR5cGVzL3JlbGF0aW9uLXR5cGVzLmFjdGlvbnMnO1xuZXhwb3J0ICogZnJvbSAnLi9zdG9yZS9yZWxhdGlvbi10eXBlcy9yZWxhdGlvbi10eXBlcy5zZXJ2aWNlJztcbmV4cG9ydCAqIGZyb20gJy4vc3RvcmUvcmVsYXRpb24tdHlwZXMvcmVsYXRpb24tdHlwZXMuc2VsZWN0b3JzJztcbmV4cG9ydCAqIGZyb20gJy4vc3RvcmUvcmVsYXRpb24tdHlwZXMvcmVsYXRpb24tdHlwZXMuaW50ZXJmYWNlJztcbmV4cG9ydCAqIGZyb20gJy4vc3RvcmUvY29udGV4dC1tZW51L2NvbnRleHQtbWVudS5hY3Rpb25zJztcbmV4cG9ydCAqIGZyb20gJy4vc3RvcmUvY29udGV4dC1tZW51L2NvbnRleHQtbWVudS5zZWxlY3RvcnMnO1xuZXhwb3J0ICogZnJvbSAnLi9zdG9yZS9jb250ZXh0LW1lbnUvY29udGV4dC1tZW51LnJlZHVjZXInO1xuZXhwb3J0ICogZnJvbSAnLi9zdG9yZS9yYXcvcmF3LnNlcnZpY2UnO1xuZXhwb3J0ICogZnJvbSAnLi9zdG9yZS9hZ2dyZWdhdGlvbi9iYXNlLWFnZ3JlZ2F0aW9uLnNlcnZpY2UnO1xuZXhwb3J0ICogZnJvbSAnLi9zdG9yZS9hZ2dyZWdhdGlvbi9iYWNrZW5kLWFnZ3JlZ2F0aW9uLnNlcnZpY2UnO1xuZXhwb3J0ICogZnJvbSAnLi9zdG9yZS9hZ2dyZWdhdGlvbi9mcm9udGVuZC1hZ2dyZWdhdGlvbi5zZXJ2aWNlJztcbmV4cG9ydCAqIGZyb20gJy4vY29tcG9uZW50cy9ucS1jb2xvci1zZWxlY3Rvci9ucS1jb2xvci1zZWxlY3Rvci5jb21wb25lbnQnO1xuZXhwb3J0ICogZnJvbSAnLi9jb21wb25lbnRzL3RyYW5zbGF0ZS1pZC90cmFuc2xhdGUtaWQucGlwZSc7XG5leHBvcnQgKiBmcm9tICcuL2NvbXBvbmVudHMvdHJhbnNsYXRlLWl0ZW0tdG8tc3ltYm9sL3RyYW5zbGF0ZS1pdGVtLXRvLXN5bWJvbC5waXBlJztcbmV4cG9ydCAqIGZyb20gJy4vY29tcG9uZW50cy9nZXQtc2VjdXJlZC1pbWFnZS9nZXQtc2VjdXJlZC1pbWFnZS5waXBlJztcbmV4cG9ydCAqIGZyb20gJy4vY29tcG9uZW50cy9hY2NvcmRpb24vYWNjb3JkaW9uLmNvbXBvbmVudCc7XG5leHBvcnQgKiBmcm9tICcuL2NvbXBvbmVudHMvYWNjb3JkaW9uL2FjY29yZGlvbi1pdGVtL2FjY29yZGlvbi1pdGVtLmNvbXBvbmVudCc7XG5leHBvcnQgKiBmcm9tICcuL2NvbXBvbmVudHMvYmFzZS1sYXlvdXQvYmFzZS1sYXlvdXQuY29tcG9uZW50JztcbmV4cG9ydCAqIGZyb20gJy4vY29tcG9uZW50cy9iYXNlLW1lbnUvYmFzZS1tZW51LmNvbXBvbmVudCc7XG5leHBvcnQgKiBmcm9tICcuL2NvbXBvbmVudHMvYmFzZS10b29sYm94L2Jhc2UtdG9vbGJveC5jb21wb25lbnQnO1xuZXhwb3J0ICogZnJvbSAnLi9jb21wb25lbnRzL2Jhc2UtdG9vbGJveC9iYXNlLXRvb2xib3gtYWN0aW9uLmludGVyZmFjZSc7XG5leHBvcnQgKiBmcm9tICcuL2NvbXBvbmVudHMvdXBsb2FkL3VwbG9hZC5jb21wb25lbnQnO1xuZXhwb3J0ICogZnJvbSAnLi9jb21wb25lbnRzL3NlbGVjdC1pbWFnZS9zZWxlY3QtaW1hZ2UuY29tcG9uZW50JztcbmV4cG9ydCAqIGZyb20gJy4vY29tcG9uZW50cy9pY29uL2ljb24uY29tcG9uZW50JztcbmV4cG9ydCAqIGZyb20gJy4vY29tcG9uZW50cy9pY29uL2ljb24ubW9kdWxlJztcbmV4cG9ydCAqIGZyb20gJy4vY29tcG9uZW50cy9vdmVybGF5L292ZXJsYXkuZGlyZWN0aXZlJztcbmV4cG9ydCAqIGZyb20gJy4vY29tcG9uZW50cy9vdmVybGF5L292ZXJsYXkubW9kdWxlJztcbmV4cG9ydCAqIGZyb20gJy4vY29tcG9uZW50cy9vdmVybGF5L2RpYWxvZy1yZWYnO1xuZXhwb3J0ICogZnJvbSAnLi9jb21wb25lbnRzL292ZXJsYXkvZGlhbG9nLnNlcnZpY2UnO1xuZXhwb3J0ICogZnJvbSAnLi9jb21wb25lbnRzL292ZXJsYXkvZGlhbG9nLWNvbmZpcm0uY29tcG9uZW50JztcbmV4cG9ydCAqIGZyb20gJy4vY29tcG9uZW50cy9kYXRlLXBpY2tlci9kYXRlLXBpY2tlci5tb2R1bGUnO1xuZXhwb3J0ICogZnJvbSAnLi9jb21wb25lbnRzL2RhdGUtcGlja2VyL2RhdGUtcGlja2VyLmNvbXBvbmVudCc7XG5leHBvcnQgKiBmcm9tICcuL2NvbXBvbmVudHMvZGF0ZS1waWNrZXIvZGF0ZS1yYW5nZS1oaWdobGlnaHQucGlwZSc7XG5leHBvcnQgKiBmcm9tICcuL2NvbXBvbmVudHMvZGF0ZS1waWNrZXIvdGltZS1waWNrZXIvdGltZS1waWNrZXIuY29tcG9uZW50JztcbmV4cG9ydCAqIGZyb20gJy4vY29tcG9uZW50cy9kYXRlLXBpY2tlci90aW1lLXBpY2tlci9sb29wLXNjcm9sbC1jb2x1bW4vbG9vcC1zY3JvbGwtY29sdW1uLmNvbXBvbmVudCc7XG5leHBvcnQgKiBmcm9tICcuL2NvbXBvbmVudHMvZWRpdC1pbnB1dC9lZGl0LWlucHV0Lm1vZHVsZSc7XG5leHBvcnQgKiBmcm9tICcuL2NvbXBvbmVudHMvZWRpdC1pbnB1dC9lZGl0LWlucHV0LmNvbXBvbmVudCc7XG5leHBvcnQgKiBmcm9tICcuL2NvbXBvbmVudHMvaGlkZGVuLXdoZW4tb3ZlcmxheS9oaWRkZW4td2hlbi1vdmVybGF5LmRpcmVjdGl2ZSc7XG5leHBvcnQgKiBmcm9tICcuL2NvbXBvbmVudHMvaGlkZGVuLXdoZW4tb3ZlcmxheS9oaWRkZW4td2hlbi1vdmVybGF5Lm1vZHVsZSc7XG5leHBvcnQgKiBmcm9tICcuL2NvbXBvbmVudHMvbW9kYWwvbW9kYWwuY29tcG9uZW50JztcbmV4cG9ydCAqIGZyb20gJy4vY29tcG9uZW50cy9tb2RhbC9wcnktbW9kYWwubW9kdWxlJztcbmV4cG9ydCAqIGZyb20gJy4vY29tcG9uZW50cy9tb2RhbC1zdGF0dXMvbW9kYWwtc3RhdHVzLmNvbXBvbmVudCc7XG5leHBvcnQgKiBmcm9tICcuL2NvbXBvbmVudHMvbW9kYWwtc3RhdHVzL21vZGFsLXN0YXR1cy5tb2R1bGUnO1xuZXhwb3J0ICogZnJvbSAnLi9jb21wb25lbnRzL3RvZ2dsZS90b2dnbGUuY29tcG9uZW50JztcbmV4cG9ydCAqIGZyb20gJy4vY29tcG9uZW50cy90b2dnbGUvdG9nZ2xlLm1vZHVsZSc7XG5leHBvcnQgKiBmcm9tICcuL2NvbXBvbmVudHMvc29ydC9zb3J0LWRhdGEucGlwZSc7XG5leHBvcnQgKiBmcm9tICcuL2NvbXBvbmVudHMvc29ydC9zb3J0LWhlYWRlci5kaXJlY3RpdmUnO1xuZXhwb3J0ICogZnJvbSAnLi9jb21wb25lbnRzL3NvcnQvc29ydC1oZWFkZXIvc29ydC1oZWFkZXIuY29tcG9uZW50JztcbmV4cG9ydCAqIGZyb20gJy4vY29tcG9uZW50cy9zb3J0L3NvcnQtdGFibGUuZGlyZWN0aXZlJztcbmV4cG9ydCAqIGZyb20gJy4vY29tcG9uZW50cy9zb3J0L3NvcnQubW9kZWwnO1xuZXhwb3J0ICogZnJvbSAnLi9jb21wb25lbnRzL3NvcnQvc29ydC5tb2R1bGUnO1xuZXhwb3J0ICogZnJvbSAnLi9jb21wb25lbnRzL3NlbGVjdC9zZWxlY3QuY29tcG9uZW50JztcbmV4cG9ydCAqIGZyb20gJy4vY29tcG9uZW50cy9zZWxlY3Qvc2VsZWN0Lm1vZHVsZSc7XG5leHBvcnQgKiBmcm9tICcuL2NvbXBvbmVudHMvcmFuZ2UvcmFuZ2UuY29tcG9uZW50JztcbmV4cG9ydCAqIGZyb20gJy4vY29tcG9uZW50cy9yYW5nZS9yYW5nZS5tb2R1bGUnO1xuZXhwb3J0ICogZnJvbSAnLi9jb21wb25lbnRzL3NoYXJlL3NoYXJlLmNvbXBvbmVudCc7XG5leHBvcnQgKiBmcm9tICcuL2NvbXBvbmVudHMvc2hhcmUvc2hhcmUubW9kZWwnO1xuZXhwb3J0ICogZnJvbSAnLi9jb21wb25lbnRzL3NoYXJlL3NoYXJlLm1vZHVsZSc7XG5leHBvcnQgKiBmcm9tICcuL2NvbXBvbmVudHMvc25hY2tiYXIvc25hY2suaW50ZXJmYWNlJztcbmV4cG9ydCAqIGZyb20gJy4vY29tcG9uZW50cy9zbmFja2Jhci9zbmFja2Jhci5tb2R1bGUnO1xuZXhwb3J0ICogZnJvbSAnLi9jb21wb25lbnRzL3NuYWNrYmFyL3NuYWNrYmFyLnNlcnZpY2UnO1xuZXhwb3J0ICogZnJvbSAnLi9jb21wb25lbnRzL3NuYWNrYmFyL3NuYWNrYmFyL3NuYWNrYmFyLmNvbXBvbmVudCc7XG5leHBvcnQgKiBmcm9tICcuL2NvbXBvbmVudHMvdGFicy90YWItZ3JvdXAuY29tcG9uZW50JztcbmV4cG9ydCAqIGZyb20gJy4vY29tcG9uZW50cy90YWJzL3RhYi5jb21wb25lbnQnO1xuZXhwb3J0ICogZnJvbSAnLi9hY2Nlc3MvYWNjZXNzLmRpcmVjdGl2ZSc7XG5leHBvcnQgKiBmcm9tICcuL2FjY2Vzcy9hY2Nlc3MuZ3VhcmQnO1xuZXhwb3J0ICogZnJvbSAnLi9hY2Nlc3MvYWNjZXNzLm1vZGVsJztcbmV4cG9ydCAqIGZyb20gJy4vYWNjZXNzL2FjY2Vzcy5zZXJ2aWNlJztcbmV4cG9ydCAqIGZyb20gJy4vYWNjZXNzL2FjY2Vzcy51dGlscyc7XG5leHBvcnQgKiBmcm9tICcuL2F1dGgvZ2VvQXV0aC5zZXJ2aWNlJztcbmV4cG9ydCAqIGZyb20gJy4vd3Mvd2Vic29ja2V0LnNlcnZpY2UnO1xuZXhwb3J0ICogZnJvbSAnLi9zeW1ib2wvc3ltYm9sLnNlcnZpY2UnO1xuZXhwb3J0ICogZnJvbSAnLi90b29sYm94L3Rvb2xib3gtbWFuaWZlc3Quc2VydmljZSc7XG5leHBvcnQgKiBmcm9tICcuL3Rvb2xib3gvdG9vbGJveC1tZW51LnNlcnZpY2UnO1xuZXhwb3J0ICogZnJvbSAnLi9tb2RlbC9wdWJsaWMtYXBpJztcbmV4cG9ydCAqIGZyb20gJy4vaTE4bi9pMThuLnBpcGUnO1xuZXhwb3J0ICogZnJvbSAnLi9pMThuL2kxOG4ubW9kdWxlJztcbmV4cG9ydCAqIGZyb20gJy4vaTE4bi9pMThuLnNlcnZpY2UnO1xuZXhwb3J0ICogZnJvbSAnLi9pMThuL2ZyLnRyYW5zbGF0aW9ucyc7XG5leHBvcnQgKiBmcm9tICcuL2kxOG4vZW4udHJhbnNsYXRpb25zJztcbmV4cG9ydCAqIGZyb20gJy4vaTE4bi9kZWVwLW1lcmdlLmZ1bmN0aW9uJztcbmV4cG9ydCAqIGZyb20gJy4vZXJyb3JzL2h0dHAtZXJyb3ItaW50ZXJjZXB0b3Iuc2VydmljZSc7XG5leHBvcnQgKiBmcm9tICcuL2NvbXBvbmVudHMvYWJvdXQvcHJ5LWFib3V0Lm1vZHVsZSc7XG5leHBvcnQgKiBmcm9tICcuL2NvbXBvbmVudHMvYWJvdXQvYWJvdXQuY29tcG9uZW50JztcbiJdfQ==
|
|
121
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicHVibGljLWFwaS5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL3Byb3ZvbHkvZGFzaGJvYXJkL2xpYi9jb3JlL3B1YmxpYy1hcGkudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsY0FBYyxlQUFlLENBQUM7QUFDOUIsY0FBYyxpQ0FBaUMsQ0FBQztBQUNoRCxjQUFjLCtCQUErQixDQUFDO0FBQzlDLGNBQWMsK0JBQStCLENBQUM7QUFDOUMsY0FBYywyQ0FBMkMsQ0FBQztBQUMxRCxjQUFjLHdDQUF3QyxDQUFDO0FBQ3ZELGNBQWMsNkJBQTZCLENBQUM7QUFDNUMsY0FBYywrQkFBK0IsQ0FBQztBQUM5QyxjQUFjLCtCQUErQixDQUFDO0FBQzlDLGNBQWMsNkJBQTZCLENBQUM7QUFDNUMsY0FBYyw2QkFBNkIsQ0FBQztBQUM1QyxjQUFjLDZCQUE2QixDQUFDO0FBQzVDLGNBQWMsK0JBQStCLENBQUM7QUFDOUMsY0FBYywrQkFBK0IsQ0FBQztBQUM5QyxjQUFjLDZCQUE2QixDQUFDO0FBRTVDLGNBQWMsNkJBQTZCLENBQUM7QUFDNUMsY0FBYywrQkFBK0IsQ0FBQztBQUM5QyxjQUFjLDZCQUE2QixDQUFDO0FBQzVDLGNBQWMsNkJBQTZCLENBQUM7QUFDNUMsY0FBYywrQkFBK0IsQ0FBQztBQUM5QyxjQUFjLGlDQUFpQyxDQUFDO0FBQ2hELGNBQWMsaUNBQWlDLENBQUM7QUFDaEQsY0FBYywrQkFBK0IsQ0FBQztBQUM5QyxjQUFjLCtCQUErQixDQUFDO0FBQzlDLGNBQWMsb0VBQW9FLENBQUM7QUFDbkYsY0FBYyxtQ0FBbUMsQ0FBQztBQUNsRCxjQUFjLHFDQUFxQyxDQUFDO0FBQ3BELGNBQWMsbUNBQW1DLENBQUM7QUFDbEQsY0FBYyxxQ0FBcUMsQ0FBQztBQUNwRCxjQUFjLHlDQUF5QyxDQUFDO0FBQ3hELGNBQWMseUNBQXlDLENBQUM7QUFDeEQsY0FBYywyQ0FBMkMsQ0FBQztBQUMxRCxjQUFj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QixDQUFDO0FBQ25DLGNBQWMsa0JBQWtCLENBQUM7QUFDakMsY0FBYyxvQkFBb0IsQ0FBQztBQUNuQyxjQUFjLHFCQUFxQixDQUFDO0FBQ3BDLGNBQWMsd0JBQXdCLENBQUM7QUFDdkMsY0FBYyx3QkFBd0IsQ0FBQztBQUN2QyxjQUFjLDRCQUE0QixDQUFDO0FBQzNDLGNBQWMseUNBQXlDLENBQUM7QUFDeEQsY0FBYyxxQ0FBcUMsQ0FBQztBQUNwRCxjQUFjLG9DQUFvQyxDQUFDIiwic291cmNlc0NvbnRlbnQiOlsiZXhwb3J0ICogZnJvbSAnLi9jb3JlLm1vZHVsZSc7XG5leHBvcnQgKiBmcm9tICcuL3N0b3JlL2NvbmZpZy9jb25maWcuc2VsZWN0b3JzJztcbmV4cG9ydCAqIGZyb20gJy4vc3RvcmUvY29uZmlnL2NvbmZpZy5hY3Rpb25zJztcbmV4cG9ydCAqIGZyb20gJy4vc3RvcmUvY29uZmlnL2NvbmZpZy5zZXJ2aWNlJztcbmV4cG9ydCAqIGZyb20gJy4vc3RvcmUvY29uZmlnL2ljb24tZGVmaW5pdGlvbnMuaW50ZXJmYWNlJztcbmV4cG9ydCAqIGZyb20gJy4vc3RvcmUvY29uZmlnL2NvbmZpZy53aWRnZXQuY29uc3RhbnRzJztcbmV4cG9ydCAqIGZyb20gJy4vc3RvcmUvY2xhc3MvY2xhc3MuYWN0aW9ucyc7XG5leHBvcnQgKiBmcm9tICcuL3N0b3JlL2NsYXNzL2NsYXNzLnNlbGVjdG9ycyc7XG5leHBvcnQgKiBmcm9tICcuL3N0b3JlL2NsYXNzL2NsYXNzLmludGVyZmFjZSc7XG5leHBvcnQgKiBmcm9tICcuL3N0b3JlL2NsYXNzL2NsYXNzLnJlZHVjZXInO1xuZXhwb3J0ICogZnJvbSAnLi9zdG9yZS9jbGFzcy9jbGFzcy5zZXJ2aWNlJztcbmV4cG9ydCAqIGZyb20gJy4vc3RvcmUvZmllbGQvZmllbGQuYWN0aW9ucyc7XG5leHBvcnQgKiBmcm9tICcuL3N0b3JlL2ZpZWxkL2ZpZWxkLnNlbGVjdG9ycyc7XG5leHBvcnQgKiBmcm9tICcuL3N0b3JlL2ZpZWxkL2ZpZWxkLmludGVyZmFjZSc7XG5leHBvcnQgKiBmcm9tICcuL3N0b3JlL2ZpZWxkL2ZpZWxkLnNlcnZpY2UnO1xuZXhwb3J0IHsgRmllbGRTdGF0ZSB9IGZyb20gJy4vc3RvcmUvZmllbGQvZmllbGQucmVkdWNlcic7XG5leHBvcnQgKiBmcm9tICcuL3N0b3JlL2ltYWdlL2ltYWdlLmFjdGlvbnMnO1xuZXhwb3J0ICogZnJvbSAnLi9zdG9yZS9pbWFnZS9pbWFnZS5zZWxlY3RvcnMnO1xuZXhwb3J0ICogZnJvbSAnLi9zdG9yZS9pbWFnZS9pbWFnZS5zZXJ2aWNlJztcbmV4cG9ydCAqIGZyb20gJy4vc3RvcmUvaW1hZ2UvaW1hZ2UucmVkdWNlcic7XG5leHBvcnQgKiBmcm9tICcuL3N0b3JlL3NlYXJjaC9zZWFyY2guYWN0aW9ucyc7XG5leHBvcnQgKiBmcm9tICcuL3N0b3JlL3NlYXJjaC9zZWFyY2guY29uc3RhbnRzJztcbmV4cG9ydCAqIGZyb20gJy4vc3RvcmUvc2VhcmNoL3NlYXJjaC5zZWxlY3RvcnMnO1xuZXhwb3J0ICogZnJvbSAnLi9zdG9yZS9zZWFyY2gvc2VhcmNoLnNlcnZpY2UnO1xuZXhwb3J0ICogZnJvbSAnLi9zdG9yZS9zZWFyY2gvc2VhcmNoLnJlZHVjZXInO1xuZXhwb3J0ICogZnJvbSAnLi9zdG9yZS9zZWFyY2gvbGF0LWxvbi10by1nZW9ncmFwaGljLWZpZWxkLXRyYW5zZm9ybWF0aW9uLmZ1bmN0aW9uJztcbmV4cG9ydCAqIGZyb20gJy4vc3RvcmUvY2F0ZWdvcnkvY2F0ZWdvcnkuYWN0aW9ucyc7XG5leHBvcnQgKiBmcm9tICcuL3N0b3JlL2NhdGVnb3J5L2NhdGVnb3J5LmludGVyZmFjZSc7XG5leHBvcnQgKiBmcm9tICcuL3N0b3JlL2NhdGVnb3J5L2NhdGVnb3J5LnNlcnZpY2UnO1xuZXhwb3J0ICogZnJvbSAnLi9zdG9yZS9jYXRlZ29yeS9jYXRlZ29yeS5zZWxlY3RvcnMnO1xuZXhwb3J0ICogZnJvbSAnLi9zdG9yZS9kYXRhLXNvdXJjZS9kYXRhLXNvdXJjZS5zZXJ2aWNlJztcbmV4cG9ydCAqIGZyb20gJy4vc3RvcmUvZGF0YS1zb3VyY2UvZGF0YS1zb3VyY2UuYWN0aW9ucyc7XG5leHBvcnQgKiBmcm9tICcuL3N0b3JlL2RhdGEtc291cmNlL2RhdGEtc291cmNlLnNlbGVjdG9ycyc7XG5leHBvcnQgKiBmcm9tICcuL3N0b3JlL2RhdGEtc291cmNlL2RhdGEtc291cmNlLnJlZHVjZXInO1xuZXhwb3J0ICogZnJvbSAnLi9zdG9yZS9kYXRhLXNvdXJjZS9kYXRhLXNvdXJjZS5tb2RlbCc7XG5leHBvcnQgKiBmcm9tICcuL3N0b3JlL2RhdGEtc291cmNlL25hbWVkLXF1ZXJ5LXR5cGVzLm1vZGVsJztcbmV4cG9ydCAqIGZyb20gJy4vc3RvcmUvZGF0YS1zb3VyY2UvZGF0YXNvdXJjZS11dGlscyc7XG5leHBvcnQgKiBmcm9tICcuL3N0b3JlL3JlbGF0aW9uLXR5cGVzL3JlbGF0aW9uLXR5cGVzLmFjdGlvbnMnO1xuZXhwb3J0ICogZnJvbSAnLi9zdG9yZS9yZWxhdGlvbi10eXBlcy9yZWxhdGlvbi10eXBlcy5zZXJ2aWNlJztcbmV4cG9ydCAqIGZyb20gJy4vc3RvcmUvcmVsYXRpb24tdHlwZXMvcmVsYXRpb24tdHlwZXMuc2VsZWN0b3JzJztcbmV4cG9ydCAqIGZyb20gJy4vc3RvcmUvcmVsYXRpb24tdHlwZXMvcmVsYXRpb24tdHlwZXMuaW50ZXJmYWNlJztcbmV4cG9ydCAqIGZyb20gJy4vc3RvcmUvY29udGV4dC1tZW51L2NvbnRleHQtbWVudS5hY3Rpb25zJztcbmV4cG9ydCAqIGZyb20gJy4vc3RvcmUvY29udGV4dC1tZW51L2NvbnRleHQtbWVudS5zZWxlY3RvcnMnO1xuZXhwb3J0ICogZnJvbSAnLi9zdG9yZS9jb250ZXh0LW1lbnUvY29udGV4dC1tZW51LnJlZHVjZXInO1xuZXhwb3J0ICogZnJvbSAnLi9zdG9yZS9yYXcvcmF3LnNlcnZpY2UnO1xuZXhwb3J0ICogZnJvbSAnLi9zdG9yZS9hZ2dyZWdhdGlvbi9iYXNlLWFnZ3JlZ2F0aW9uLnNlcnZpY2UnO1xuZXhwb3J0ICogZnJvbSAnLi9zdG9yZS9hZ2dyZWdhdGlvbi9iYWNrZW5kLWFnZ3JlZ2F0aW9uLnNlcnZpY2UnO1xuZXhwb3J0ICogZnJvbSAnLi9zdG9yZS9hZ2dyZWdhdGlvbi9mcm9udGVuZC1hZ2dyZWdhdGlvbi9mcm9udGVuZC1hZ2dyZWdhdGlvbi5zZXJ2aWNlJztcbmV4cG9ydCAqIGZyb20gJy4vY29tcG9uZW50cy9ucS1jb2xvci1zZWxlY3Rvci9ucS1jb2xvci1zZWxlY3Rvci5jb21wb25lbnQnO1xuZXhwb3J0ICogZnJvbSAnLi9jb21wb25lbnRzL3RyYW5zbGF0ZS1pZC90cmFuc2xhdGUtaWQucGlwZSc7XG5leHBvcnQgKiBmcm9tICcuL2NvbXBvbmVudHMvdHJhbnNsYXRlLWl0ZW0tdG8tc3ltYm9sL3RyYW5zbGF0ZS1pdGVtLXRvLXN5bWJvbC5waXBlJztcbmV4cG9ydCAqIGZyb20gJy4vY29tcG9uZW50cy9nZXQtc2VjdXJlZC1pbWFnZS9nZXQtc2VjdXJlZC1pbWFnZS5waXBlJztcbmV4cG9ydCAqIGZyb20gJy4vY29tcG9uZW50cy9hY2NvcmRpb24vYWNjb3JkaW9uLmNvbXBvbmVudCc7XG5leHBvcnQgKiBmcm9tICcuL2NvbXBvbmVudHMvYWNjb3JkaW9uL2FjY29yZGlvbi1pdGVtL2FjY29yZGlvbi1pdGVtLmNvbXBvbmVudCc7XG5leHBvcnQgKiBmcm9tICcuL2NvbXBvbmVudHMvYmFzZS1sYXlvdXQvYmFzZS1sYXlvdXQuY29tcG9uZW50JztcbmV4cG9ydCAqIGZyb20gJy4vY29tcG9uZW50cy9iYXNlLW1lbnUvYmFzZS1tZW51LmNvbXBvbmVudCc7XG5leHBvcnQgKiBmcm9tICcuL2NvbXBvbmVudHMvYmFzZS10b29sYm94L2Jhc2UtdG9vbGJveC5jb21wb25lbnQnO1xuZXhwb3J0ICogZnJvbSAnLi9jb21wb25lbnRzL2Jhc2UtdG9vbGJveC9iYXNlLXRvb2xib3gtYWN0aW9uLmludGVyZmFjZSc7XG5leHBvcnQgKiBmcm9tICcuL2NvbXBvbmVudHMvdXBsb2FkL3VwbG9hZC5jb21wb25lbnQnO1xuZXhwb3J0ICogZnJvbSAnLi9jb21wb25lbnRzL3NlbGVjdC1pbWFnZS9zZWxlY3QtaW1hZ2UuY29tcG9uZW50JztcbmV4cG9ydCAqIGZyb20gJy4vY29tcG9uZW50cy9pY29uL2ljb24uY29tcG9uZW50JztcbmV4cG9ydCAqIGZyb20gJy4vY29tcG9uZW50cy9pY29uL2ljb24ubW9kdWxlJztcbmV4cG9ydCAqIGZyb20gJy4vY29tcG9uZW50cy9vdmVybGF5L292ZXJsYXkuZGlyZWN0aXZlJztcbmV4cG9ydCAqIGZyb20gJy4vY29tcG9uZW50cy9vdmVybGF5L292ZXJsYXkubW9kdWxlJztcbmV4cG9ydCAqIGZyb20gJy4vY29tcG9uZW50cy9vdmVybGF5L2RpYWxvZy1yZWYnO1xuZXhwb3J0ICogZnJvbSAnLi9jb21wb25lbnRzL292ZXJsYXkvZGlhbG9nLnNlcnZpY2UnO1xuZXhwb3J0ICogZnJvbSAnLi9jb21wb25lbnRzL292ZXJsYXkvZGlhbG9nLWNvbmZpcm0uY29tcG9uZW50JztcbmV4cG9ydCAqIGZyb20gJy4vY29tcG9uZW50cy9kYXRlLXBpY2tlci9kYXRlLXBpY2tlci5tb2R1bGUnO1xuZXhwb3J0ICogZnJvbSAnLi9jb21wb25lbnRzL2RhdGUtcGlja2VyL2RhdGUtcGlja2VyLmNvbXBvbmVudCc7XG5leHBvcnQgKiBmcm9tICcuL2NvbXBvbmVudHMvZGF0ZS1waWNrZXIvZGF0ZS1yYW5nZS1oaWdobGlnaHQucGlwZSc7XG5leHBvcnQgKiBmcm9tICcuL2NvbXBvbmVudHMvZGF0ZS1waWNrZXIvdGltZS1waWNrZXIvdGltZS1waWNrZXIuY29tcG9uZW50JztcbmV4cG9ydCAqIGZyb20gJy4vY29tcG9uZW50cy9kYXRlLXBpY2tlci90aW1lLXBpY2tlci9sb29wLXNjcm9sbC1jb2x1bW4vbG9vcC1zY3JvbGwtY29sdW1uLmNvbXBvbmVudCc7XG5leHBvcnQgKiBmcm9tICcuL2NvbXBvbmVudHMvZWRpdC1pbnB1dC9lZGl0LWlucHV0Lm1vZHVsZSc7XG5leHBvcnQgKiBmcm9tICcuL2NvbXBvbmVudHMvZWRpdC1pbnB1dC9lZGl0LWlucHV0LmNvbXBvbmVudCc7XG5leHBvcnQgKiBmcm9tICcuL2NvbXBvbmVudHMvaGlkZGVuLXdoZW4tb3ZlcmxheS9oaWRkZW4td2hlbi1vdmVybGF5LmRpcmVjdGl2ZSc7XG5leHBvcnQgKiBmcm9tICcuL2NvbXBvbmVudHMvaGlkZGVuLXdoZW4tb3ZlcmxheS9oaWRkZW4td2hlbi1vdmVybGF5Lm1vZHVsZSc7XG5leHBvcnQgKiBmcm9tICcuL2NvbXBvbmVudHMvbW9kYWwvbW9kYWwuY29tcG9uZW50JztcbmV4cG9ydCAqIGZyb20gJy4vY29tcG9uZW50cy9tb2RhbC9wcnktbW9kYWwubW9kdWxlJztcbmV4cG9ydCAqIGZyb20gJy4vY29tcG9uZW50cy9tb2RhbC1zdGF0dXMvbW9kYWwtc3RhdHVzLmNvbXBvbmVudCc7XG5leHBvcnQgKiBmcm9tICcuL2NvbXBvbmVudHMvbW9kYWwtc3RhdHVzL21vZGFsLXN0YXR1cy5tb2R1bGUnO1xuZXhwb3J0ICogZnJvbSAnLi9jb21wb25lbnRzL3RvZ2dsZS90b2dnbGUuY29tcG9uZW50JztcbmV4cG9ydCAqIGZyb20gJy4vY29tcG9uZW50cy90b2dnbGUvdG9nZ2xlLm1vZHVsZSc7XG5leHBvcnQgKiBmcm9tICcuL2NvbXBvbmVudHMvc29ydC9zb3J0LWRhdGEucGlwZSc7XG5leHBvcnQgKiBmcm9tICcuL2NvbXBvbmVudHMvc29ydC9zb3J0LWhlYWRlci5kaXJlY3RpdmUnO1xuZXhwb3J0ICogZnJvbSAnLi9jb21wb25lbnRzL3NvcnQvc29ydC1oZWFkZXIvc29ydC1oZWFkZXIuY29tcG9uZW50JztcbmV4cG9ydCAqIGZyb20gJy4vY29tcG9uZW50cy9zb3J0L3NvcnQtdGFibGUuZGlyZWN0aXZlJztcbmV4cG9ydCAqIGZyb20gJy4vY29tcG9uZW50cy9zb3J0L3NvcnQubW9kZWwnO1xuZXhwb3J0ICogZnJvbSAnLi9jb21wb25lbnRzL3NvcnQvc29ydC5tb2R1bGUnO1xuZXhwb3J0ICogZnJvbSAnLi9jb21wb25lbnRzL3NlbGVjdC9zZWxlY3QuY29tcG9uZW50JztcbmV4cG9ydCAqIGZyb20gJy4vY29tcG9uZW50cy9zZWxlY3Qvc2VsZWN0Lm1vZHVsZSc7XG5leHBvcnQgKiBmcm9tICcuL2NvbXBvbmVudHMvcmFuZ2UvcmFuZ2UuY29tcG9uZW50JztcbmV4cG9ydCAqIGZyb20gJy4vY29tcG9uZW50cy9yYW5nZS9yYW5nZS5tb2R1bGUnO1xuZXhwb3J0ICogZnJvbSAnLi9jb21wb25lbnRzL3NoYXJlL3NoYXJlLmNvbXBvbmVudCc7XG5leHBvcnQgKiBmcm9tICcuL2NvbXBvbmVudHMvc2hhcmUvc2hhcmUubW9kZWwnO1xuZXhwb3J0ICogZnJvbSAnLi9jb21wb25lbnRzL3NoYXJlL3NoYXJlLm1vZHVsZSc7XG5leHBvcnQgKiBmcm9tICcuL2NvbXBvbmVudHMvc25hY2tiYXIvc25hY2suaW50ZXJmYWNlJztcbmV4cG9ydCAqIGZyb20gJy4vY29tcG9uZW50cy9zbmFja2Jhci9zbmFja2Jhci5tb2R1bGUnO1xuZXhwb3J0ICogZnJvbSAnLi9jb21wb25lbnRzL3NuYWNrYmFyL3NuYWNrYmFyLnNlcnZpY2UnO1xuZXhwb3J0ICogZnJvbSAnLi9jb21wb25lbnRzL3NuYWNrYmFyL3NuYWNrYmFyL3NuYWNrYmFyLmNvbXBvbmVudCc7XG5leHBvcnQgKiBmcm9tICcuL2NvbXBvbmVudHMvdGFicy90YWItZ3JvdXAuY29tcG9uZW50JztcbmV4cG9ydCAqIGZyb20gJy4vY29tcG9uZW50cy90YWJzL3RhYi5jb21wb25lbnQnO1xuZXhwb3J0ICogZnJvbSAnLi9hY2Nlc3MvYWNjZXNzLmRpcmVjdGl2ZSc7XG5leHBvcnQgKiBmcm9tICcuL2FjY2Vzcy9hY2Nlc3MuZ3VhcmQnO1xuZXhwb3J0ICogZnJvbSAnLi9hY2Nlc3MvYWNjZXNzLm1vZGVsJztcbmV4cG9ydCAqIGZyb20gJy4vYWNjZXNzL2FjY2Vzcy5zZXJ2aWNlJztcbmV4cG9ydCAqIGZyb20gJy4vYWNjZXNzL2FjY2Vzcy51dGlscyc7XG5leHBvcnQgKiBmcm9tICcuL2F1dGgvZ2VvQXV0aC5zZXJ2aWNlJztcbmV4cG9ydCAqIGZyb20gJy4vd3Mvd2Vic29ja2V0LnNlcnZpY2UnO1xuZXhwb3J0ICogZnJvbSAnLi9zeW1ib2wvc3ltYm9sLnNlcnZpY2UnO1xuZXhwb3J0ICogZnJvbSAnLi90b29sYm94L3Rvb2xib3gtbWFuaWZlc3Quc2VydmljZSc7XG5leHBvcnQgKiBmcm9tICcuL3Rvb2xib3gvdG9vbGJveC1tZW51LnNlcnZpY2UnO1xuZXhwb3J0ICogZnJvbSAnLi9tb2RlbC9wdWJsaWMtYXBpJztcbmV4cG9ydCAqIGZyb20gJy4vaTE4bi9pMThuLnBpcGUnO1xuZXhwb3J0ICogZnJvbSAnLi9pMThuL2kxOG4ubW9kdWxlJztcbmV4cG9ydCAqIGZyb20gJy4vaTE4bi9pMThuLnNlcnZpY2UnO1xuZXhwb3J0ICogZnJvbSAnLi9pMThuL2ZyLnRyYW5zbGF0aW9ucyc7XG5leHBvcnQgKiBmcm9tICcuL2kxOG4vZW4udHJhbnNsYXRpb25zJztcbmV4cG9ydCAqIGZyb20gJy4vaTE4bi9kZWVwLW1lcmdlLmZ1bmN0aW9uJztcbmV4cG9ydCAqIGZyb20gJy4vZXJyb3JzL2h0dHAtZXJyb3ItaW50ZXJjZXB0b3Iuc2VydmljZSc7XG5leHBvcnQgKiBmcm9tICcuL2NvbXBvbmVudHMvYWJvdXQvcHJ5LWFib3V0Lm1vZHVsZSc7XG5leHBvcnQgKiBmcm9tICcuL2NvbXBvbmVudHMvYWJvdXQvYWJvdXQuY29tcG9uZW50JztcbiJdfQ==
|
|
@@ -0,0 +1,184 @@
|
|
|
1
|
+
import { Operation } from '../../../model/widget-aggregated-chart-manifest.interface';
|
|
2
|
+
import { ResultsetUtils } from '../../../../dashboard/resultset-utils';
|
|
3
|
+
import { ItemUtils } from '../../../../dashboard/item-utils';
|
|
4
|
+
export class AggregationUtils {
|
|
5
|
+
static getAxisAttribute(classes, options, axis) {
|
|
6
|
+
return classes
|
|
7
|
+
.map((clazz) => clazz.attributes.find((attr) => attr.id === options[axis].attribute))
|
|
8
|
+
.find((attr) => !!attr)?.name;
|
|
9
|
+
}
|
|
10
|
+
static getChartDatasourceResultSet(datasources, resultSets) {
|
|
11
|
+
return datasources
|
|
12
|
+
.filter((rsName) => rsName in resultSets)
|
|
13
|
+
.map((rsName) => resultSets[rsName])
|
|
14
|
+
.reduce((rs1, rs2) => ResultsetUtils.mergeResultSets(rs1, rs2), {
|
|
15
|
+
items: {},
|
|
16
|
+
relations: [],
|
|
17
|
+
merged: datasources.filter((rsName) => rsName in resultSets).length
|
|
18
|
+
});
|
|
19
|
+
}
|
|
20
|
+
static getAggregatedValue(operation, groupedItems, abscissaAttribute, ordinateAttribute) {
|
|
21
|
+
return this.getAggregatedValueForOperation(operation, groupedItems[abscissaAttribute].map((item) => this.getValueFromAttribute(item, ordinateAttribute).value));
|
|
22
|
+
}
|
|
23
|
+
static getValueFromAttribute(item, attribute) {
|
|
24
|
+
let value = ItemUtils.getAttributeValue(item, attribute);
|
|
25
|
+
return Array.isArray(value) ? value[0] : value;
|
|
26
|
+
}
|
|
27
|
+
static getAggregatedValueForOperation(operation, values) {
|
|
28
|
+
switch (operation) {
|
|
29
|
+
case Operation.COUNT:
|
|
30
|
+
return values.length;
|
|
31
|
+
case Operation.SUM:
|
|
32
|
+
return values.reduce((acc, val) => acc + val, 0);
|
|
33
|
+
case Operation.DISTINCT:
|
|
34
|
+
return [...new Set(values)].length;
|
|
35
|
+
case Operation.AVERAGE:
|
|
36
|
+
return values.reduce((acc, val) => acc + val, 0) / values.length;
|
|
37
|
+
case Operation.MEDIAN:
|
|
38
|
+
return this.getQuartile(values, 0.5);
|
|
39
|
+
case Operation.Q1:
|
|
40
|
+
return this.getQuartile(values, 0.25);
|
|
41
|
+
case Operation.Q3:
|
|
42
|
+
return this.getQuartile(values, 0.75);
|
|
43
|
+
case Operation.MIN:
|
|
44
|
+
return Math.min(...values);
|
|
45
|
+
case Operation.MAX:
|
|
46
|
+
return Math.max(...values);
|
|
47
|
+
default:
|
|
48
|
+
return -1;
|
|
49
|
+
}
|
|
50
|
+
}
|
|
51
|
+
static getQuartile(values, q) {
|
|
52
|
+
if (values.length === 0)
|
|
53
|
+
return 0;
|
|
54
|
+
values.sort((a, b) => a - b);
|
|
55
|
+
let pos = (values.length - 1) * q;
|
|
56
|
+
if (pos % 1 === 0) {
|
|
57
|
+
return values[pos];
|
|
58
|
+
}
|
|
59
|
+
pos = Math.floor(pos);
|
|
60
|
+
return values[pos + 1] !== undefined ? (values[pos] + values[pos + 1]) / 2 : values[pos];
|
|
61
|
+
}
|
|
62
|
+
static formatByLimit(data, limit, operation) {
|
|
63
|
+
if (!limit.isTimeLimit) {
|
|
64
|
+
data
|
|
65
|
+
.sort((a, b) => (limit.order === 'asc' ? (a.value > b.value ? 1 : -1) : a.value < b.value ? 1 : -1))
|
|
66
|
+
.splice(limit.at);
|
|
67
|
+
return data;
|
|
68
|
+
}
|
|
69
|
+
return this.formatDataByTimeLimit(data, limit, operation);
|
|
70
|
+
}
|
|
71
|
+
static formatDataByTimeLimit(data, limit, operation) {
|
|
72
|
+
let distinctValues = [];
|
|
73
|
+
data
|
|
74
|
+
.map((obj) => ({ ...obj, key: this.getKeyValueForTimeInterval(obj.key, limit.interval) }))
|
|
75
|
+
.forEach((obj) => {
|
|
76
|
+
const isNotDistinct = distinctValues.find((distinct) => obj.key === distinct.key);
|
|
77
|
+
if (!!isNotDistinct) {
|
|
78
|
+
isNotDistinct.values.push(obj.value);
|
|
79
|
+
}
|
|
80
|
+
else {
|
|
81
|
+
distinctValues.push({ key: obj.key, values: [] });
|
|
82
|
+
}
|
|
83
|
+
});
|
|
84
|
+
return distinctValues.map((obj) => ({
|
|
85
|
+
...obj,
|
|
86
|
+
value: AggregationUtils.getAggregatedValueForOperation(operation, obj.values)
|
|
87
|
+
}));
|
|
88
|
+
}
|
|
89
|
+
static getKeyValueForTimeInterval(key, interval) {
|
|
90
|
+
const date = new Date(key);
|
|
91
|
+
switch (interval) {
|
|
92
|
+
case 'second':
|
|
93
|
+
return new Date(date.getFullYear(), date.getMonth(), date.getDate(), date.getHours(), date.getMinutes(), date.getSeconds()).toISOString();
|
|
94
|
+
case 'minute':
|
|
95
|
+
return new Date(date.getFullYear(), date.getMonth(), date.getDate(), date.getHours(), date.getMinutes()).toISOString();
|
|
96
|
+
case 'hour':
|
|
97
|
+
return new Date(date.getFullYear(), date.getMonth(), date.getDate(), date.getHours()).toISOString();
|
|
98
|
+
case 'day':
|
|
99
|
+
return new Date(date.getFullYear(), date.getMonth(), date.getDate()).toISOString();
|
|
100
|
+
case 'week':
|
|
101
|
+
const daysToSubtract = (7 + date.getUTCDay()) % 7;
|
|
102
|
+
date.setUTCDate(date.getUTCDate() - daysToSubtract);
|
|
103
|
+
return date.toISOString();
|
|
104
|
+
case 'quarter':
|
|
105
|
+
const quarterStartMonths = [0, 3, 6, 9]; // January, April, July, October
|
|
106
|
+
const quarter = Math.floor(date.getUTCMonth() / 3);
|
|
107
|
+
const year = date.getUTCFullYear();
|
|
108
|
+
const startOfQuarter = new Date(Date.UTC(year, quarterStartMonths[quarter], 1, 0, 0, 0, 0));
|
|
109
|
+
return startOfQuarter.toISOString();
|
|
110
|
+
case 'year':
|
|
111
|
+
return new Date(new Date(key).getFullYear(), 0, 1).toISOString();
|
|
112
|
+
default:
|
|
113
|
+
return date.toISOString();
|
|
114
|
+
}
|
|
115
|
+
}
|
|
116
|
+
static filterItems(items, filters) {
|
|
117
|
+
let filtersByAttribute = filters
|
|
118
|
+
.map((filter) => filter.attributes.map((attribute) => ({
|
|
119
|
+
...filter,
|
|
120
|
+
attribute: attribute.id,
|
|
121
|
+
attributes: undefined
|
|
122
|
+
})))
|
|
123
|
+
.flat();
|
|
124
|
+
return filters.length > 0
|
|
125
|
+
? [
|
|
126
|
+
...new Set(filtersByAttribute
|
|
127
|
+
.map((filter) => items.filter((item) => this.doesItemValuePassFilter(item, filter.attribute, filter.operator, filter.value)))
|
|
128
|
+
.flat())
|
|
129
|
+
]
|
|
130
|
+
: items;
|
|
131
|
+
}
|
|
132
|
+
static doesItemValuePassFilter(item, attribute, operator, filterValue) {
|
|
133
|
+
let value = AggregationUtils.getValueFromAttribute(item, attribute)?.value;
|
|
134
|
+
let date1, date2;
|
|
135
|
+
console.log(operator);
|
|
136
|
+
switch (operator) {
|
|
137
|
+
case 'EQUALS':
|
|
138
|
+
return value === filterValue;
|
|
139
|
+
case 'NOT_EQUALS':
|
|
140
|
+
return value !== filterValue;
|
|
141
|
+
case 'CONTAINS':
|
|
142
|
+
return value.includes(filterValue);
|
|
143
|
+
case 'START_WITH':
|
|
144
|
+
return value.startsWith(filterValue);
|
|
145
|
+
case 'END_WITH':
|
|
146
|
+
return value.endsWith(filterValue);
|
|
147
|
+
case 'GREATER_THAN':
|
|
148
|
+
if (typeof filterValue === 'number') {
|
|
149
|
+
return value > filterValue;
|
|
150
|
+
}
|
|
151
|
+
else if (typeof filterValue === 'string') {
|
|
152
|
+
return new Date(value) > new Date(filterValue);
|
|
153
|
+
}
|
|
154
|
+
else {
|
|
155
|
+
return false;
|
|
156
|
+
}
|
|
157
|
+
case 'LOWER_THAN':
|
|
158
|
+
if (typeof filterValue === 'number') {
|
|
159
|
+
return value < filterValue;
|
|
160
|
+
}
|
|
161
|
+
else if (typeof filterValue === 'string') {
|
|
162
|
+
return new Date(value) < new Date(filterValue);
|
|
163
|
+
}
|
|
164
|
+
else {
|
|
165
|
+
return false;
|
|
166
|
+
}
|
|
167
|
+
case 'INSIDE':
|
|
168
|
+
[date1, date2] = [
|
|
169
|
+
new Date(filterValue.split(',')[0]),
|
|
170
|
+
new Date(filterValue.split(',')[1])
|
|
171
|
+
];
|
|
172
|
+
return new Date(value) > new Date(date1) && new Date(value) < new Date(date2);
|
|
173
|
+
case 'OUTSIDE':
|
|
174
|
+
[date1, date2] = [
|
|
175
|
+
new Date(filterValue.split(',')[0]),
|
|
176
|
+
new Date(filterValue.split(',')[1])
|
|
177
|
+
];
|
|
178
|
+
return new Date(value) < new Date(date1) && new Date(value) > new Date(date2);
|
|
179
|
+
default:
|
|
180
|
+
return true;
|
|
181
|
+
}
|
|
182
|
+
}
|
|
183
|
+
}
|
|
184
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiYWdncmVnYXRpb24tdXRpbHMuY2xhc3MuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9wcm92b2x5L2Rhc2hib2FyZC9saWIvY29yZS9zdG9yZS9hZ2dyZWdhdGlvbi9mcm9udGVuZC1hZ2dyZWdhdGlvbi9hZ2dyZWdhdGlvbi11dGlscy5jbGFzcy50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBR0wsU0FBUyxFQUVWLE1BQU0sMkRBQTJELENBQUM7QUFJbkUsT0FBTyxFQUFFLGNBQWMsRUFBRSxNQUFNLHVDQUF1QyxDQUFDO0FBQ3ZFLE9BQU8sRUFBRSxTQUFTLEVBQUUsTUFBTSxrQ0FBa0MsQ0FBQztBQUc3RCxNQUFNLE9BQU8sZ0JBQWdCO0lBQzNCLE1BQU0sQ0FBQyxnQkFBZ0IsQ0FBQyxPQUFnQixFQUFFLE9BQXFDLEVBQUUsSUFBNkI7UUFDNUcsT0FBTyxPQUFPO2FBQ1gsR0FBRyxDQUFDLENBQUMsS0FBSyxFQUFFLEVBQUUsQ0FBQyxLQUFLLENBQUMsVUFBVSxDQUFDLElBQUksQ0FBQyxDQUFDLElBQUksRUFBRSxFQUFFLENBQUMsSUFBSSxDQUFDLEVBQUUsS0FBSyxPQUFPLENBQUMsSUFBSSxDQUFDLENBQUMsU0FBUyxDQUFDLENBQUM7YUFDcEYsSUFBSSxDQUFDLENBQUMsSUFBSSxFQUFFLEVBQUUsQ0FBQyxDQUFDLENBQUMsSUFBSSxDQUFDLEVBQUUsSUFBSSxDQUFDO0lBQ2xDLENBQUM7SUFFRCxNQUFNLENBQUMsMkJBQTJCLENBQUMsV0FBcUIsRUFBRSxVQUFzQjtRQUM5RSxPQUFPLFdBQVc7YUFDZixNQUFNLENBQUMsQ0FBQyxNQUFNLEVBQUUsRUFBRSxDQUFDLE1BQU0sSUFBSSxVQUFVLENBQUM7YUFDeEMsR0FBRyxDQUFDLENBQUMsTUFBTSxFQUFFLEVBQUUsQ0FBQyxVQUFVLENBQUMsTUFBTSxDQUFDLENBQUM7YUFDbkMsTUFBTSxDQUFDLENBQUMsR0FBRyxFQUFFLEdBQUcsRUFBRSxFQUFFLENBQUMsY0FBYyxDQUFDLGVBQWUsQ0FBQyxHQUFHLEVBQUUsR0FBRyxDQUFDLEVBQUU7WUFDOUQsS0FBSyxFQUFFLEVBQUU7WUFDVCxTQUFTLEVBQUUsRUFBRTtZQUNiLE1BQU0sRUFBRSxXQUFXLENBQUMsTUFBTSxDQUFDLENBQUMsTUFBTSxFQUFFLEVBQUUsQ0FBQyxNQUFNLElBQUksVUFBVSxDQUFDLENBQUMsTUFBTTtTQUNwRSxDQUFDLENBQUM7SUFDUCxDQUFDO0lBRUQsTUFBTSxDQUFDLGtCQUFrQixDQUN2QixTQUFvQixFQUNwQixZQUFnRCxFQUNoRCxpQkFBNEMsRUFDNUMsaUJBQXlCO1FBRXpCLE9BQU8sSUFBSSxDQUFDLDhCQUE4QixDQUN4QyxTQUFTLEVBQ1QsWUFBWSxDQUFDLGlCQUFpQixDQUFDLENBQUMsR0FBRyxDQUFDLENBQUMsSUFBSSxFQUFFLEVBQUUsQ0FBQyxJQUFJLENBQUMscUJBQXFCLENBQUMsSUFBSSxFQUFFLGlCQUFpQixDQUFDLENBQUMsS0FBZSxDQUFDLENBQ25ILENBQUM7SUFDSixDQUFDO0lBRUQsTUFBTSxDQUFDLHFCQUFxQixDQUFDLElBQVUsRUFBRSxTQUFpQjtRQUN4RCxJQUFJLEtBQUssR0FBRyxTQUFTLENBQUMsaUJBQWlCLENBQUMsSUFBSSxFQUFFLFNBQVMsQ0FBQyxDQUFDO1FBQ3pELE9BQU8sS0FBSyxDQUFDLE9BQU8sQ0FBQyxLQUFLLENBQUMsQ0FBQyxDQUFDLENBQUMsS0FBSyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxLQUFLLENBQUM7SUFDakQsQ0FBQztJQUVELE1BQU0sQ0FBQyw4QkFBOEIsQ0FBQyxTQUFvQixFQUFFLE1BQWdCO1FBQzFFLFFBQVEsU0FBUyxFQUFFO1lBQ2pCLEtBQUssU0FBUyxDQUFDLEtBQUs7Z0JBQ2xCLE9BQU8sTUFBTSxDQUFDLE1BQU0sQ0FBQztZQUN2QixLQUFLLFNBQVMsQ0FBQyxHQUFHO2dCQUNoQixPQUFPLE1BQU0sQ0FBQyxNQUFNLENBQUMsQ0FBQyxHQUFHLEVBQUUsR0FBRyxFQUFFLEVBQUUsQ0FBQyxHQUFHLEdBQUcsR0FBRyxFQUFFLENBQUMsQ0FBQyxDQUFDO1lBQ25ELEtBQUssU0FBUyxDQUFDLFFBQVE7Z0JBQ3JCLE9BQU8sQ0FBQyxHQUFHLElBQUksR0FBRyxDQUFDLE1BQU0sQ0FBQyxDQUFDLENBQUMsTUFBTSxDQUFDO1lBQ3JDLEtBQUssU0FBUyxDQUFDLE9BQU87Z0JBQ3BCLE9BQU8sTUFBTSxDQUFDLE1BQU0sQ0FBQyxDQUFDLEdBQUcsRUFBRSxHQUFHLEVBQUUsRUFBRSxDQUFDLEdBQUcsR0FBRyxHQUFHLEVBQUUsQ0FBQyxDQUFDLEdBQUcsTUFBTSxDQUFDLE1BQU0sQ0FBQztZQUNuRSxLQUFLLFNBQVMsQ0FBQyxNQUFNO2dCQUNuQixPQUFPLElBQUksQ0FBQyxXQUFXLENBQUMsTUFBTSxFQUFFLEdBQUcsQ0FBQyxDQUFDO1lBQ3ZDLEtBQUssU0FBUyxDQUFDLEVBQUU7Z0JBQ2YsT0FBTyxJQUFJLENBQUMsV0FBVyxDQUFDLE1BQU0sRUFBRSxJQUFJLENBQUMsQ0FBQztZQUN4QyxLQUFLLFNBQVMsQ0FBQyxFQUFFO2dCQUNmLE9BQU8sSUFBSSxDQUFDLFdBQVcsQ0FBQyxNQUFNLEVBQUUsSUFBSSxDQUFDLENBQUM7WUFDeEMsS0FBSyxTQUFTLENBQUMsR0FBRztnQkFDaEIsT0FBTyxJQUFJLENBQUMsR0FBRyxDQUFDLEdBQUcsTUFBTSxDQUFDLENBQUM7WUFDN0IsS0FBSyxTQUFTLENBQUMsR0FBRztnQkFDaEIsT0FBTyxJQUFJLENBQUMsR0FBRyxDQUFDLEdBQUcsTUFBTSxDQUFDLENBQUM7WUFDN0I7Z0JBQ0UsT0FBTyxDQUFDLENBQUMsQ0FBQztTQUNiO0lBQ0gsQ0FBQztJQUVELE1BQU0sQ0FBQyxXQUFXLENBQUMsTUFBZ0IsRUFBRSxDQUFTO1FBQzVDLElBQUksTUFBTSxDQUFDLE1BQU0sS0FBSyxDQUFDO1lBQUUsT0FBTyxDQUFDLENBQUM7UUFDbEMsTUFBTSxDQUFDLElBQUksQ0FBQyxDQUFDLENBQVMsRUFBRSxDQUFTLEVBQUUsRUFBRSxDQUFDLENBQUMsR0FBRyxDQUFDLENBQUMsQ0FBQztRQUU3QyxJQUFJLEdBQUcsR0FBRyxDQUFDLE1BQU0sQ0FBQyxNQUFNLEdBQUcsQ0FBQyxDQUFDLEdBQUcsQ0FBQyxDQUFDO1FBQ2xDLElBQUksR0FBRyxHQUFHLENBQUMsS0FBSyxDQUFDLEVBQUU7WUFDakIsT0FBTyxNQUFNLENBQUMsR0FBRyxDQUFDLENBQUM7U0FDcEI7UUFFRCxHQUFHLEdBQUcsSUFBSSxDQUFDLEtBQUssQ0FBQyxHQUFHLENBQUMsQ0FBQztRQUN0QixPQUFPLE1BQU0sQ0FBQyxHQUFHLEdBQUcsQ0FBQyxDQUFDLEtBQUssU0FBUyxDQUFDLENBQUMsQ0FBQyxDQUFDLE1BQU0sQ0FBQyxHQUFHLENBQUMsR0FBRyxNQUFNLENBQUMsR0FBRyxHQUFHLENBQUMsQ0FBQyxDQUFDLEdBQUcsQ0FBQyxDQUFDLENBQUMsQ0FBQyxNQUFNLENBQUMsR0FBRyxDQUFDLENBQUM7SUFDM0YsQ0FBQztJQUVELE1BQU0sQ0FBQyxhQUFhLENBQUMsSUFBNEMsRUFBRSxLQUEwQixFQUFFLFNBQW9CO1FBQ2pILElBQUksQ0FBQyxLQUFLLENBQUMsV0FBVyxFQUFFO1lBQ3RCLElBQUk7aUJBQ0QsSUFBSSxDQUFDLENBQUMsQ0FBQyxFQUFFLENBQUMsRUFBRSxFQUFFLENBQUMsQ0FBQyxLQUFLLENBQUMsS0FBSyxLQUFLLEtBQUssQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsS0FBSyxHQUFHLENBQUMsQ0FBQyxLQUFLLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLEtBQUssR0FBRyxDQUFDLENBQUMsS0FBSyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUM7aUJBQ25HLE1BQU0sQ0FBQyxLQUFLLENBQUMsRUFBRSxDQUFDLENBQUM7WUFDcEIsT0FBTyxJQUFJLENBQUM7U0FDYjtRQUNELE9BQU8sSUFBSSxDQUFDLHFCQUFxQixDQUFDLElBQUksRUFBRSxLQUFLLEVBQUUsU0FBUyxDQUFDLENBQUM7SUFDNUQsQ0FBQztJQUNELE1BQU0sQ0FBQyxxQkFBcUIsQ0FBQyxJQUE0QyxFQUFFLEtBQWdCLEVBQUUsU0FBb0I7UUFDL0csSUFBSSxjQUFjLEdBQThDLEVBQUUsQ0FBQztRQUNuRSxJQUFJO2FBQ0QsR0FBRyxDQUFDLENBQUMsR0FBRyxFQUFFLEVBQUUsQ0FBQyxDQUFDLEVBQUUsR0FBRyxHQUFHLEVBQUUsR0FBRyxFQUFFLElBQUksQ0FBQywwQkFBMEIsQ0FBQyxHQUFHLENBQUMsR0FBRyxFQUFFLEtBQUssQ0FBQyxRQUFRLENBQUMsRUFBRSxDQUFDLENBQUM7YUFDekYsT0FBTyxDQUFDLENBQUMsR0FBRyxFQUFFLEVBQUU7WUFDZixNQUFNLGFBQWEsR0FBRyxjQUFjLENBQUMsSUFBSSxDQUFDLENBQUMsUUFBUSxFQUFFLEVBQUUsQ0FBQyxHQUFHLENBQUMsR0FBRyxLQUFLLFFBQVEsQ0FBQyxHQUFHLENBQUMsQ0FBQztZQUNsRixJQUFJLENBQUMsQ0FBQyxhQUFhLEVBQUU7Z0JBQ25CLGFBQWEsQ0FBQyxNQUFNLENBQUMsSUFBSSxDQUFDLEdBQUcsQ0FBQyxLQUFLLENBQUMsQ0FBQzthQUN0QztpQkFBTTtnQkFDTCxjQUFjLENBQUMsSUFBSSxDQUFDLEVBQUUsR0FBRyxFQUFFLEdBQUcsQ0FBQyxHQUFHLEVBQUUsTUFBTSxFQUFFLEVBQUUsRUFBRSxDQUFDLENBQUM7YUFDbkQ7UUFDSCxDQUFDLENBQUMsQ0FBQztRQUNMLE9BQU8sY0FBYyxDQUFDLEdBQUcsQ0FBQyxDQUFDLEdBQUcsRUFBRSxFQUFFLENBQUMsQ0FBQztZQUNsQyxHQUFHLEdBQUc7WUFDTixLQUFLLEVBQUUsZ0JBQWdCLENBQUMsOEJBQThCLENBQUMsU0FBUyxFQUFFLEdBQUcsQ0FBQyxNQUFrQixDQUFDO1NBQzFGLENBQUMsQ0FBQyxDQUFDO0lBQ04sQ0FBQztJQUVELE1BQU0sQ0FBQywwQkFBMEIsQ0FDL0IsR0FBYyxFQUNkLFFBQTRFO1FBRTVFLE1BQU0sSUFBSSxHQUFHLElBQUksSUFBSSxDQUFDLEdBQWEsQ0FBQyxDQUFDO1FBQ3JDLFFBQVEsUUFBUSxFQUFFO1lBQ2hCLEtBQUssUUFBUTtnQkFDWCxPQUFPLElBQUksSUFBSSxDQUNiLElBQUksQ0FBQyxXQUFXLEVBQUUsRUFDbEIsSUFBSSxDQUFDLFFBQVEsRUFBRSxFQUNmLElBQUksQ0FBQyxPQUFPLEVBQUUsRUFDZCxJQUFJLENBQUMsUUFBUSxFQUFFLEVBQ2YsSUFBSSxDQUFDLFVBQVUsRUFBRSxFQUNqQixJQUFJLENBQUMsVUFBVSxFQUFFLENBQ2xCLENBQUMsV0FBVyxFQUFFLENBQUM7WUFDbEIsS0FBSyxRQUFRO2dCQUNYLE9BQU8sSUFBSSxJQUFJLENBQ2IsSUFBSSxDQUFDLFdBQVcsRUFBRSxFQUNsQixJQUFJLENBQUMsUUFBUSxFQUFFLEVBQ2YsSUFBSSxDQUFDLE9BQU8sRUFBRSxFQUNkLElBQUksQ0FBQyxRQUFRLEVBQUUsRUFDZixJQUFJLENBQUMsVUFBVSxFQUFFLENBQ2xCLENBQUMsV0FBVyxFQUFFLENBQUM7WUFDbEIsS0FBSyxNQUFNO2dCQUNULE9BQU8sSUFBSSxJQUFJLENBQUMsSUFBSSxDQUFDLFdBQVcsRUFBRSxFQUFFLElBQUksQ0FBQyxRQUFRLEVBQUUsRUFBRSxJQUFJLENBQUMsT0FBTyxFQUFFLEVBQUUsSUFBSSxDQUFDLFFBQVEsRUFBRSxDQUFDLENBQUMsV0FBVyxFQUFFLENBQUM7WUFDdEcsS0FBSyxLQUFLO2dCQUNSLE9BQU8sSUFBSSxJQUFJLENBQUMsSUFBSSxDQUFDLFdBQVcsRUFBRSxFQUFFLElBQUksQ0FBQyxRQUFRLEVBQUUsRUFBRSxJQUFJLENBQUMsT0FBTyxFQUFFLENBQUMsQ0FBQyxXQUFXLEVBQUUsQ0FBQztZQUNyRixLQUFLLE1BQU07Z0JBQ1QsTUFBTSxjQUFjLEdBQUcsQ0FBQyxDQUFDLEdBQUcsSUFBSSxDQUFDLFNBQVMsRUFBRSxDQUFDLEdBQUcsQ0FBQyxDQUFDO2dCQUNsRCxJQUFJLENBQUMsVUFBVSxDQUFDLElBQUksQ0FBQyxVQUFVLEVBQUUsR0FBRyxjQUFjLENBQUMsQ0FBQztnQkFDcEQsT0FBTyxJQUFJLENBQUMsV0FBVyxFQUFFLENBQUM7WUFDNUIsS0FBSyxTQUFTO2dCQUNaLE1BQU0sa0JBQWtCLEdBQUcsQ0FBQyxDQUFDLEVBQUUsQ0FBQyxFQUFFLENBQUMsRUFBRSxDQUFDLENBQUMsQ0FBQyxDQUFDLGdDQUFnQztnQkFDekUsTUFBTSxPQUFPLEdBQUcsSUFBSSxDQUFDLEtBQUssQ0FBQyxJQUFJLENBQUMsV0FBVyxFQUFFLEdBQUcsQ0FBQyxDQUFDLENBQUM7Z0JBQ25ELE1BQU0sSUFBSSxHQUFHLElBQUksQ0FBQyxjQUFjLEVBQUUsQ0FBQztnQkFFbkMsTUFBTSxjQUFjLEdBQUcsSUFBSSxJQUFJLENBQUMsSUFBSSxDQUFDLEdBQUcsQ0FBQyxJQUFJLEVBQUUsa0JBQWtCLENBQUMsT0FBTyxDQUFDLEVBQUUsQ0FBQyxFQUFFLENBQUMsRUFBRSxDQUFDLEVBQUUsQ0FBQyxFQUFFLENBQUMsQ0FBQyxDQUFDLENBQUM7Z0JBQzVGLE9BQU8sY0FBYyxDQUFDLFdBQVcsRUFBRSxDQUFDO1lBQ3RDLEtBQUssTUFBTTtnQkFDVCxPQUFPLElBQUksSUFBSSxDQUFDLElBQUksSUFBSSxDQUFDLEdBQWEsQ0FBQyxDQUFDLFdBQVcsRUFBRSxFQUFFLENBQUMsRUFBRSxDQUFDLENBQUMsQ0FBQyxXQUFXLEVBQUUsQ0FBQztZQUM3RTtnQkFDRSxPQUFPLElBQUksQ0FBQyxXQUFXLEVBQUUsQ0FBQztTQUM3QjtJQUNILENBQUM7SUFFRCxNQUFNLENBQUMsV0FBVyxDQUFDLEtBQWEsRUFBRSxPQUFpQjtRQUNqRCxJQUFJLGtCQUFrQixHQUFHLE9BQU87YUFDN0IsR0FBRyxDQUFDLENBQUMsTUFBTSxFQUFFLEVBQUUsQ0FDZCxNQUFNLENBQUMsVUFBVSxDQUFDLEdBQUcsQ0FBQyxDQUFDLFNBQVMsRUFBRSxFQUFFLENBQUMsQ0FBQztZQUNwQyxHQUFHLE1BQU07WUFDVCxTQUFTLEVBQUUsU0FBUyxDQUFDLEVBQUU7WUFDdkIsVUFBVSxFQUFFLFNBQVM7U0FDdEIsQ0FBQyxDQUFDLENBQ0o7YUFDQSxJQUFJLEVBQUUsQ0FBQztRQUVWLE9BQU8sT0FBTyxDQUFDLE1BQU0sR0FBRyxDQUFDO1lBQ3ZCLENBQUMsQ0FBQztnQkFDRSxHQUFHLElBQUksR0FBRyxDQUNSLGtCQUFrQjtxQkFDZixHQUFHLENBQUMsQ0FBQyxNQUFNLEVBQUUsRUFBRSxDQUNkLEtBQUssQ0FBQyxNQUFNLENBQUMsQ0FBQyxJQUFJLEVBQUUsRUFBRSxDQUNwQixJQUFJLENBQUMsdUJBQXVCLENBQUMsSUFBSSxFQUFFLE1BQU0sQ0FBQyxTQUFTLEVBQUUsTUFBTSxDQUFDLFFBQVEsRUFBRSxNQUFNLENBQUMsS0FBSyxDQUFDLENBQ3BGLENBQ0Y7cUJBQ0EsSUFBSSxFQUFFLENBQ1Y7YUFDRjtZQUNILENBQUMsQ0FBQyxLQUFLLENBQUM7SUFDWixDQUFDO0lBRUQsTUFBTSxDQUFDLHVCQUF1QixDQUM1QixJQUFVLEVBQ1YsU0FBaUIsRUFDakIsUUFBNEIsRUFDNUIsV0FBd0M7UUFFeEMsSUFBSSxLQUFLLEdBQUcsZ0JBQWdCLENBQUMscUJBQXFCLENBQUMsSUFBSSxFQUFFLFNBQVMsQ0FBQyxFQUFFLEtBQXdCLENBQUM7UUFDOUYsSUFBSSxLQUFXLEVBQUUsS0FBVyxDQUFDO1FBRTdCLE9BQU8sQ0FBQyxHQUFHLENBQUMsUUFBUSxDQUFDLENBQUM7UUFFdEIsUUFBUSxRQUFRLEVBQUU7WUFDaEIsS0FBSyxRQUFRO2dCQUNYLE9BQU8sS0FBSyxLQUFLLFdBQVcsQ0FBQztZQUMvQixLQUFLLFlBQVk7Z0JBQ2YsT0FBTyxLQUFLLEtBQUssV0FBVyxDQUFDO1lBQy9CLEtBQUssVUFBVTtnQkFDYixPQUFRLEtBQWdCLENBQUMsUUFBUSxDQUFDLFdBQXFCLENBQUMsQ0FBQztZQUMzRCxLQUFLLFlBQVk7Z0JBQ2YsT0FBUSxLQUFnQixDQUFDLFVBQVUsQ0FBQyxXQUFxQixDQUFDLENBQUM7WUFDN0QsS0FBSyxVQUFVO2dCQUNiLE9BQVEsS0FBZ0IsQ0FBQyxRQUFRLENBQUMsV0FBcUIsQ0FBQyxDQUFDO1lBQzNELEtBQUssY0FBYztnQkFDakIsSUFBSSxPQUFPLFdBQVcsS0FBSyxRQUFRLEVBQUU7b0JBQ25DLE9BQU8sS0FBSyxHQUFHLFdBQVcsQ0FBQztpQkFDNUI7cUJBQU0sSUFBSSxPQUFPLFdBQVcsS0FBSyxRQUFRLEVBQUU7b0JBQzFDLE9BQU8sSUFBSSxJQUFJLENBQUMsS0FBSyxDQUFDLEdBQUcsSUFBSSxJQUFJLENBQUMsV0FBVyxDQUFDLENBQUM7aUJBQ2hEO3FCQUFNO29CQUNMLE9BQU8sS0FBSyxDQUFDO2lCQUNkO1lBQ0gsS0FBSyxZQUFZO2dCQUNmLElBQUksT0FBTyxXQUFXLEtBQUssUUFBUSxFQUFFO29CQUNuQyxPQUFPLEtBQUssR0FBRyxXQUFXLENBQUM7aUJBQzVCO3FCQUFNLElBQUksT0FBTyxXQUFXLEtBQUssUUFBUSxFQUFFO29CQUMxQyxPQUFPLElBQUksSUFBSSxDQUFDLEtBQUssQ0FBQyxHQUFHLElBQUksSUFBSSxDQUFDLFdBQVcsQ0FBQyxDQUFDO2lCQUNoRDtxQkFBTTtvQkFDTCxPQUFPLEtBQUssQ0FBQztpQkFDZDtZQUNILEtBQUssUUFBUTtnQkFDWCxDQUFDLEtBQUssRUFBRSxLQUFLLENBQUMsR0FBRztvQkFDZixJQUFJLElBQUksQ0FBRSxXQUFzQixDQUFDLEtBQUssQ0FBQyxHQUFHLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQztvQkFDL0MsSUFBSSxJQUFJLENBQUUsV0FBc0IsQ0FBQyxLQUFLLENBQUMsR0FBRyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUM7aUJBQ2hELENBQUM7Z0JBQ0YsT0FBTyxJQUFJLElBQUksQ0FBQyxLQUFLLENBQUMsR0FBRyxJQUFJLElBQUksQ0FBQyxLQUFLLENBQUMsSUFBSSxJQUFJLElBQUksQ0FBQyxLQUFLLENBQUMsR0FBRyxJQUFJLElBQUksQ0FBQyxLQUFLLENBQUMsQ0FBQztZQUNoRixLQUFLLFNBQVM7Z0JBQ1osQ0FBQyxLQUFLLEVBQUUsS0FBSyxDQUFDLEdBQUc7b0JBQ2YsSUFBSSxJQUFJLENBQUUsV0FBc0IsQ0FBQyxLQUFLLENBQUMsR0FBRyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUM7b0JBQy9DLElBQUksSUFBSSxDQUFFLFdBQXNCLENBQUMsS0FBSyxDQUFDLEdBQUcsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDO2lCQUNoRCxDQUFDO2dCQUNGLE9BQU8sSUFBSSxJQUFJLENBQUMsS0FBSyxDQUFDLEdBQUcsSUFBSSxJQUFJLENBQUMsS0FBSyxDQUFDLElBQUksSUFBSSxJQUFJLENBQUMsS0FBSyxDQUFDLEdBQUcsSUFBSSxJQUFJLENBQUMsS0FBSyxDQUFDLENBQUM7WUFDaEY7Z0JBQ0UsT0FBTyxJQUFJLENBQUM7U0FDZjtJQUNILENBQUM7Q0FDRiIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7XG4gIEF0TGltaXQsXG4gIENoYXJ0QWdncmVnYXRlZFdpZGdldE9wdGlvbnMsXG4gIE9wZXJhdGlvbixcbiAgVGltZUxpbWl0XG59IGZyb20gJy4uLy4uLy4uL21vZGVsL3dpZGdldC1hZ2dyZWdhdGVkLWNoYXJ0LW1hbmlmZXN0LmludGVyZmFjZSc7XG5pbXBvcnQgeyBDbGFzcyB9IGZyb20gJy4uLy4uL2NsYXNzL2NsYXNzLmludGVyZmFjZSc7XG5pbXBvcnQgeyBJdGVtLCBWYWx1ZVR5cGUgfSBmcm9tICcuLi8uLi8uLi9tb2RlbC9pdGVtLmludGVyZmFjZSc7XG5pbXBvcnQgeyBSZXN1bHRTZXRzIH0gZnJvbSAnLi4vLi4vLi4vbW9kZWwvcmVzdWx0LXNldC5pbnRlcmZhY2UnO1xuaW1wb3J0IHsgUmVzdWx0c2V0VXRpbHMgfSBmcm9tICcuLi8uLi8uLi8uLi9kYXNoYm9hcmQvcmVzdWx0c2V0LXV0aWxzJztcbmltcG9ydCB7IEl0ZW1VdGlscyB9IGZyb20gJy4uLy4uLy4uLy4uL2Rhc2hib2FyZC9pdGVtLXV0aWxzJztcbmltcG9ydCB7IEZpbHRlciB9IGZyb20gJy4uLy4uLy4uL21vZGVsL2ZpbHRlci5pbnRlcmZhY2UnO1xuXG5leHBvcnQgY2xhc3MgQWdncmVnYXRpb25VdGlscyB7XG4gIHN0YXRpYyBnZXRBeGlzQXR0cmlidXRlKGNsYXNzZXM6IENsYXNzW10sIG9wdGlvbnM6IENoYXJ0QWdncmVnYXRlZFdpZGdldE9wdGlvbnMsIGF4aXM6ICdvcmRpbmF0ZScgfCAnYWJzY2lzc2EnKSB7XG4gICAgcmV0dXJuIGNsYXNzZXNcbiAgICAgIC5tYXAoKGNsYXp6KSA9PiBjbGF6ei5hdHRyaWJ1dGVzLmZpbmQoKGF0dHIpID0+IGF0dHIuaWQgPT09IG9wdGlvbnNbYXhpc10uYXR0cmlidXRlKSlcbiAgICAgIC5maW5kKChhdHRyKSA9PiAhIWF0dHIpPy5uYW1lO1xuICB9XG5cbiAgc3RhdGljIGdldENoYXJ0RGF0YXNvdXJjZVJlc3VsdFNldChkYXRhc291cmNlczogc3RyaW5nW10sIHJlc3VsdFNldHM6IFJlc3VsdFNldHMpIHtcbiAgICByZXR1cm4gZGF0YXNvdXJjZXNcbiAgICAgIC5maWx0ZXIoKHJzTmFtZSkgPT4gcnNOYW1lIGluIHJlc3VsdFNldHMpXG4gICAgICAubWFwKChyc05hbWUpID0+IHJlc3VsdFNldHNbcnNOYW1lXSlcbiAgICAgIC5yZWR1Y2UoKHJzMSwgcnMyKSA9PiBSZXN1bHRzZXRVdGlscy5tZXJnZVJlc3VsdFNldHMocnMxLCByczIpLCB7XG4gICAgICAgIGl0ZW1zOiB7fSxcbiAgICAgICAgcmVsYXRpb25zOiBbXSxcbiAgICAgICAgbWVyZ2VkOiBkYXRhc291cmNlcy5maWx0ZXIoKHJzTmFtZSkgPT4gcnNOYW1lIGluIHJlc3VsdFNldHMpLmxlbmd0aFxuICAgICAgfSk7XG4gIH1cblxuICBzdGF0aWMgZ2V0QWdncmVnYXRlZFZhbHVlKFxuICAgIG9wZXJhdGlvbjogT3BlcmF0aW9uLFxuICAgIGdyb3VwZWRJdGVtczogeyBba2V5OiBzdHJpbmcgfCBudW1iZXJdOiBJdGVtW10gfSxcbiAgICBhYnNjaXNzYUF0dHJpYnV0ZToga2V5b2YgdHlwZW9mIGdyb3VwZWRJdGVtcyxcbiAgICBvcmRpbmF0ZUF0dHJpYnV0ZTogc3RyaW5nXG4gICk6IG51bWJlciB8IFZhbHVlVHlwZSB7XG4gICAgcmV0dXJuIHRoaXMuZ2V0QWdncmVnYXRlZFZhbHVlRm9yT3BlcmF0aW9uKFxuICAgICAgb3BlcmF0aW9uLFxuICAgICAgZ3JvdXBlZEl0ZW1zW2Fic2Npc3NhQXR0cmlidXRlXS5tYXAoKGl0ZW0pID0+IHRoaXMuZ2V0VmFsdWVGcm9tQXR0cmlidXRlKGl0ZW0sIG9yZGluYXRlQXR0cmlidXRlKS52YWx1ZSBhcyBudW1iZXIpXG4gICAgKTtcbiAgfVxuXG4gIHN0YXRpYyBnZXRWYWx1ZUZyb21BdHRyaWJ1dGUoaXRlbTogSXRlbSwgYXR0cmlidXRlOiBzdHJpbmcpIHtcbiAgICBsZXQgdmFsdWUgPSBJdGVtVXRpbHMuZ2V0QXR0cmlidXRlVmFsdWUoaXRlbSwgYXR0cmlidXRlKTtcbiAgICByZXR1cm4gQXJyYXkuaXNBcnJheSh2YWx1ZSkgPyB2YWx1ZVswXSA6IHZhbHVlO1xuICB9XG5cbiAgc3RhdGljIGdldEFnZ3JlZ2F0ZWRWYWx1ZUZvck9wZXJhdGlvbihvcGVyYXRpb246IE9wZXJhdGlvbiwgdmFsdWVzOiBudW1iZXJbXSk6IG51bWJlciB8IFZhbHVlVHlwZSB7XG4gICAgc3dpdGNoIChvcGVyYXRpb24pIHtcbiAgICAgIGNhc2UgT3BlcmF0aW9uLkNPVU5UOlxuICAgICAgICByZXR1cm4gdmFsdWVzLmxlbmd0aDtcbiAgICAgIGNhc2UgT3BlcmF0aW9uLlNVTTpcbiAgICAgICAgcmV0dXJuIHZhbHVlcy5yZWR1Y2UoKGFjYywgdmFsKSA9PiBhY2MgKyB2YWwsIDApO1xuICAgICAgY2FzZSBPcGVyYXRpb24uRElTVElOQ1Q6XG4gICAgICAgIHJldHVybiBbLi4ubmV3IFNldCh2YWx1ZXMpXS5sZW5ndGg7XG4gICAgICBjYXNlIE9wZXJhdGlvbi5BVkVSQUdFOlxuICAgICAgICByZXR1cm4gdmFsdWVzLnJlZHVjZSgoYWNjLCB2YWwpID0+IGFjYyArIHZhbCwgMCkgLyB2YWx1ZXMubGVuZ3RoO1xuICAgICAgY2FzZSBPcGVyYXRpb24uTUVESUFOOlxuICAgICAgICByZXR1cm4gdGhpcy5nZXRRdWFydGlsZSh2YWx1ZXMsIDAuNSk7XG4gICAgICBjYXNlIE9wZXJhdGlvbi5RMTpcbiAgICAgICAgcmV0dXJuIHRoaXMuZ2V0UXVhcnRpbGUodmFsdWVzLCAwLjI1KTtcbiAgICAgIGNhc2UgT3BlcmF0aW9uLlEzOlxuICAgICAgICByZXR1cm4gdGhpcy5nZXRRdWFydGlsZSh2YWx1ZXMsIDAuNzUpO1xuICAgICAgY2FzZSBPcGVyYXRpb24uTUlOOlxuICAgICAgICByZXR1cm4gTWF0aC5taW4oLi4udmFsdWVzKTtcbiAgICAgIGNhc2UgT3BlcmF0aW9uLk1BWDpcbiAgICAgICAgcmV0dXJuIE1hdGgubWF4KC4uLnZhbHVlcyk7XG4gICAgICBkZWZhdWx0OlxuICAgICAgICByZXR1cm4gLTE7XG4gICAgfVxuICB9XG5cbiAgc3RhdGljIGdldFF1YXJ0aWxlKHZhbHVlczogbnVtYmVyW10sIHE6IG51bWJlcikge1xuICAgIGlmICh2YWx1ZXMubGVuZ3RoID09PSAwKSByZXR1cm4gMDtcbiAgICB2YWx1ZXMuc29ydCgoYTogbnVtYmVyLCBiOiBudW1iZXIpID0+IGEgLSBiKTtcblxuICAgIGxldCBwb3MgPSAodmFsdWVzLmxlbmd0aCAtIDEpICogcTtcbiAgICBpZiAocG9zICUgMSA9PT0gMCkge1xuICAgICAgcmV0dXJuIHZhbHVlc1twb3NdO1xuICAgIH1cblxuICAgIHBvcyA9IE1hdGguZmxvb3IocG9zKTtcbiAgICByZXR1cm4gdmFsdWVzW3BvcyArIDFdICE9PSB1bmRlZmluZWQgPyAodmFsdWVzW3Bvc10gKyB2YWx1ZXNbcG9zICsgMV0pIC8gMiA6IHZhbHVlc1twb3NdO1xuICB9XG5cbiAgc3RhdGljIGZvcm1hdEJ5TGltaXQoZGF0YTogeyBrZXk6IFZhbHVlVHlwZTsgdmFsdWU6IFZhbHVlVHlwZSB9W10sIGxpbWl0OiBBdExpbWl0IHwgVGltZUxpbWl0LCBvcGVyYXRpb246IE9wZXJhdGlvbikge1xuICAgIGlmICghbGltaXQuaXNUaW1lTGltaXQpIHtcbiAgICAgIGRhdGFcbiAgICAgICAgLnNvcnQoKGEsIGIpID0+IChsaW1pdC5vcmRlciA9PT0gJ2FzYycgPyAoYS52YWx1ZSA+IGIudmFsdWUgPyAxIDogLTEpIDogYS52YWx1ZSA8IGIudmFsdWUgPyAxIDogLTEpKVxuICAgICAgICAuc3BsaWNlKGxpbWl0LmF0KTtcbiAgICAgIHJldHVybiBkYXRhO1xuICAgIH1cbiAgICByZXR1cm4gdGhpcy5mb3JtYXREYXRhQnlUaW1lTGltaXQoZGF0YSwgbGltaXQsIG9wZXJhdGlvbik7XG4gIH1cbiAgc3RhdGljIGZvcm1hdERhdGFCeVRpbWVMaW1pdChkYXRhOiB7IGtleTogVmFsdWVUeXBlOyB2YWx1ZTogVmFsdWVUeXBlIH1bXSwgbGltaXQ6IFRpbWVMaW1pdCwgb3BlcmF0aW9uOiBPcGVyYXRpb24pIHtcbiAgICBsZXQgZGlzdGluY3RWYWx1ZXM6IHsga2V5OiBWYWx1ZVR5cGU7IHZhbHVlczogVmFsdWVUeXBlW10gfVtdID0gW107XG4gICAgZGF0YVxuICAgICAgLm1hcCgob2JqKSA9PiAoeyAuLi5vYmosIGtleTogdGhpcy5nZXRLZXlWYWx1ZUZvclRpbWVJbnRlcnZhbChvYmoua2V5LCBsaW1pdC5pbnRlcnZhbCkgfSkpXG4gICAgICAuZm9yRWFjaCgob2JqKSA9PiB7XG4gICAgICAgIGNvbnN0IGlzTm90RGlzdGluY3QgPSBkaXN0aW5jdFZhbHVlcy5maW5kKChkaXN0aW5jdCkgPT4gb2JqLmtleSA9PT0gZGlzdGluY3Qua2V5KTtcbiAgICAgICAgaWYgKCEhaXNOb3REaXN0aW5jdCkge1xuICAgICAgICAgIGlzTm90RGlzdGluY3QudmFsdWVzLnB1c2gob2JqLnZhbHVlKTtcbiAgICAgICAgfSBlbHNlIHtcbiAgICAgICAgICBkaXN0aW5jdFZhbHVlcy5wdXNoKHsga2V5OiBvYmoua2V5LCB2YWx1ZXM6IFtdIH0pO1xuICAgICAgICB9XG4gICAgICB9KTtcbiAgICByZXR1cm4gZGlzdGluY3RWYWx1ZXMubWFwKChvYmopID0+ICh7XG4gICAgICAuLi5vYmosXG4gICAgICB2YWx1ZTogQWdncmVnYXRpb25VdGlscy5nZXRBZ2dyZWdhdGVkVmFsdWVGb3JPcGVyYXRpb24ob3BlcmF0aW9uLCBvYmoudmFsdWVzIGFzIG51bWJlcltdKVxuICAgIH0pKTtcbiAgfVxuXG4gIHN0YXRpYyBnZXRLZXlWYWx1ZUZvclRpbWVJbnRlcnZhbChcbiAgICBrZXk6IFZhbHVlVHlwZSxcbiAgICBpbnRlcnZhbDogJ3NlY29uZCcgfCAnbWludXRlJyB8ICdob3VyJyB8ICdkYXknIHwgJ3dlZWsnIHwgJ3F1YXJ0ZXInIHwgJ3llYXInXG4gICk6IHN0cmluZyB7XG4gICAgY29uc3QgZGF0ZSA9IG5ldyBEYXRlKGtleSBhcyBzdHJpbmcpO1xuICAgIHN3aXRjaCAoaW50ZXJ2YWwpIHtcbiAgICAgIGNhc2UgJ3NlY29uZCc6XG4gICAgICAgIHJldHVybiBuZXcgRGF0ZShcbiAgICAgICAgICBkYXRlLmdldEZ1bGxZZWFyKCksXG4gICAgICAgICAgZGF0ZS5nZXRNb250aCgpLFxuICAgICAgICAgIGRhdGUuZ2V0RGF0ZSgpLFxuICAgICAgICAgIGRhdGUuZ2V0SG91cnMoKSxcbiAgICAgICAgICBkYXRlLmdldE1pbnV0ZXMoKSxcbiAgICAgICAgICBkYXRlLmdldFNlY29uZHMoKVxuICAgICAgICApLnRvSVNPU3RyaW5nKCk7XG4gICAgICBjYXNlICdtaW51dGUnOlxuICAgICAgICByZXR1cm4gbmV3IERhdGUoXG4gICAgICAgICAgZGF0ZS5nZXRGdWxsWWVhcigpLFxuICAgICAgICAgIGRhdGUuZ2V0TW9udGgoKSxcbiAgICAgICAgICBkYXRlLmdldERhdGUoKSxcbiAgICAgICAgICBkYXRlLmdldEhvdXJzKCksXG4gICAgICAgICAgZGF0ZS5nZXRNaW51dGVzKClcbiAgICAgICAgKS50b0lTT1N0cmluZygpO1xuICAgICAgY2FzZSAnaG91cic6XG4gICAgICAgIHJldHVybiBuZXcgRGF0ZShkYXRlLmdldEZ1bGxZZWFyKCksIGRhdGUuZ2V0TW9udGgoKSwgZGF0ZS5nZXREYXRlKCksIGRhdGUuZ2V0SG91cnMoKSkudG9JU09TdHJpbmcoKTtcbiAgICAgIGNhc2UgJ2RheSc6XG4gICAgICAgIHJldHVybiBuZXcgRGF0ZShkYXRlLmdldEZ1bGxZZWFyKCksIGRhdGUuZ2V0TW9udGgoKSwgZGF0ZS5nZXREYXRlKCkpLnRvSVNPU3RyaW5nKCk7XG4gICAgICBjYXNlICd3ZWVrJzpcbiAgICAgICAgY29uc3QgZGF5c1RvU3VidHJhY3QgPSAoNyArIGRhdGUuZ2V0VVRDRGF5KCkpICUgNztcbiAgICAgICAgZGF0ZS5zZXRVVENEYXRlKGRhdGUuZ2V0VVRDRGF0ZSgpIC0gZGF5c1RvU3VidHJhY3QpO1xuICAgICAgICByZXR1cm4gZGF0ZS50b0lTT1N0cmluZygpO1xuICAgICAgY2FzZSAncXVhcnRlcic6XG4gICAgICAgIGNvbnN0IHF1YXJ0ZXJTdGFydE1vbnRocyA9IFswLCAzLCA2LCA5XTsgLy8gSmFudWFyeSwgQXByaWwsIEp1bHksIE9jdG9iZXJcbiAgICAgICAgY29uc3QgcXVhcnRlciA9IE1hdGguZmxvb3IoZGF0ZS5nZXRVVENNb250aCgpIC8gMyk7XG4gICAgICAgIGNvbnN0IHllYXIgPSBkYXRlLmdldFVUQ0Z1bGxZZWFyKCk7XG5cbiAgICAgICAgY29uc3Qgc3RhcnRPZlF1YXJ0ZXIgPSBuZXcgRGF0ZShEYXRlLlVUQyh5ZWFyLCBxdWFydGVyU3RhcnRNb250aHNbcXVhcnRlcl0sIDEsIDAsIDAsIDAsIDApKTtcbiAgICAgICAgcmV0dXJuIHN0YXJ0T2ZRdWFydGVyLnRvSVNPU3RyaW5nKCk7XG4gICAgICBjYXNlICd5ZWFyJzpcbiAgICAgICAgcmV0dXJuIG5ldyBEYXRlKG5ldyBEYXRlKGtleSBhcyBzdHJpbmcpLmdldEZ1bGxZZWFyKCksIDAsIDEpLnRvSVNPU3RyaW5nKCk7XG4gICAgICBkZWZhdWx0OlxuICAgICAgICByZXR1cm4gZGF0ZS50b0lTT1N0cmluZygpO1xuICAgIH1cbiAgfVxuXG4gIHN0YXRpYyBmaWx0ZXJJdGVtcyhpdGVtczogSXRlbVtdLCBmaWx0ZXJzOiBGaWx0ZXJbXSkge1xuICAgIGxldCBmaWx0ZXJzQnlBdHRyaWJ1dGUgPSBmaWx0ZXJzXG4gICAgICAubWFwKChmaWx0ZXIpID0+XG4gICAgICAgIGZpbHRlci5hdHRyaWJ1dGVzLm1hcCgoYXR0cmlidXRlKSA9PiAoe1xuICAgICAgICAgIC4uLmZpbHRlcixcbiAgICAgICAgICBhdHRyaWJ1dGU6IGF0dHJpYnV0ZS5pZCxcbiAgICAgICAgICBhdHRyaWJ1dGVzOiB1bmRlZmluZWRcbiAgICAgICAgfSkpXG4gICAgICApXG4gICAgICAuZmxhdCgpO1xuXG4gICAgcmV0dXJuIGZpbHRlcnMubGVuZ3RoID4gMFxuICAgICAgPyBbXG4gICAgICAgICAgLi4ubmV3IFNldChcbiAgICAgICAgICAgIGZpbHRlcnNCeUF0dHJpYnV0ZVxuICAgICAgICAgICAgICAubWFwKChmaWx0ZXIpID0+XG4gICAgICAgICAgICAgICAgaXRlbXMuZmlsdGVyKChpdGVtKSA9PlxuICAgICAgICAgICAgICAgICAgdGhpcy5kb2VzSXRlbVZhbHVlUGFzc0ZpbHRlcihpdGVtLCBmaWx0ZXIuYXR0cmlidXRlLCBmaWx0ZXIub3BlcmF0b3IsIGZpbHRlci52YWx1ZSlcbiAgICAgICAgICAgICAgICApXG4gICAgICAgICAgICAgIClcbiAgICAgICAgICAgICAgLmZsYXQoKVxuICAgICAgICAgIClcbiAgICAgICAgXVxuICAgICAgOiBpdGVtcztcbiAgfVxuXG4gIHN0YXRpYyBkb2VzSXRlbVZhbHVlUGFzc0ZpbHRlcihcbiAgICBpdGVtOiBJdGVtLFxuICAgIGF0dHJpYnV0ZTogc3RyaW5nLFxuICAgIG9wZXJhdG9yOiBzdHJpbmcgfCB1bmRlZmluZWQsXG4gICAgZmlsdGVyVmFsdWU6IHN0cmluZyB8IG51bWJlciB8IHVuZGVmaW5lZFxuICApOiBib29sZWFuIHtcbiAgICBsZXQgdmFsdWUgPSBBZ2dyZWdhdGlvblV0aWxzLmdldFZhbHVlRnJvbUF0dHJpYnV0ZShpdGVtLCBhdHRyaWJ1dGUpPy52YWx1ZSBhcyBzdHJpbmcgfCBudW1iZXI7XG4gICAgbGV0IGRhdGUxOiBEYXRlLCBkYXRlMjogRGF0ZTtcblxuICAgIGNvbnNvbGUubG9nKG9wZXJhdG9yKTtcblxuICAgIHN3aXRjaCAob3BlcmF0b3IpIHtcbiAgICAgIGNhc2UgJ0VRVUFMUyc6XG4gICAgICAgIHJldHVybiB2YWx1ZSA9PT0gZmlsdGVyVmFsdWU7XG4gICAgICBjYXNlICdOT1RfRVFVQUxTJzpcbiAgICAgICAgcmV0dXJuIHZhbHVlICE9PSBmaWx0ZXJWYWx1ZTtcbiAgICAgIGNhc2UgJ0NPTlRBSU5TJzpcbiAgICAgICAgcmV0dXJuICh2YWx1ZSBhcyBzdHJpbmcpLmluY2x1ZGVzKGZpbHRlclZhbHVlIGFzIHN0cmluZyk7XG4gICAgICBjYXNlICdTVEFSVF9XSVRIJzpcbiAgICAgICAgcmV0dXJuICh2YWx1ZSBhcyBzdHJpbmcpLnN0YXJ0c1dpdGgoZmlsdGVyVmFsdWUgYXMgc3RyaW5nKTtcbiAgICAgIGNhc2UgJ0VORF9XSVRIJzpcbiAgICAgICAgcmV0dXJuICh2YWx1ZSBhcyBzdHJpbmcpLmVuZHNXaXRoKGZpbHRlclZhbHVlIGFzIHN0cmluZyk7XG4gICAgICBjYXNlICdHUkVBVEVSX1RIQU4nOlxuICAgICAgICBpZiAodHlwZW9mIGZpbHRlclZhbHVlID09PSAnbnVtYmVyJykge1xuICAgICAgICAgIHJldHVybiB2YWx1ZSA+IGZpbHRlclZhbHVlO1xuICAgICAgICB9IGVsc2UgaWYgKHR5cGVvZiBmaWx0ZXJWYWx1ZSA9PT0gJ3N0cmluZycpIHtcbiAgICAgICAgICByZXR1cm4gbmV3IERhdGUodmFsdWUpID4gbmV3IERhdGUoZmlsdGVyVmFsdWUpO1xuICAgICAgICB9IGVsc2Uge1xuICAgICAgICAgIHJldHVybiBmYWxzZTtcbiAgICAgICAgfVxuICAgICAgY2FzZSAnTE9XRVJfVEhBTic6XG4gICAgICAgIGlmICh0eXBlb2YgZmlsdGVyVmFsdWUgPT09ICdudW1iZXInKSB7XG4gICAgICAgICAgcmV0dXJuIHZhbHVlIDwgZmlsdGVyVmFsdWU7XG4gICAgICAgIH0gZWxzZSBpZiAodHlwZW9mIGZpbHRlclZhbHVlID09PSAnc3RyaW5nJykge1xuICAgICAgICAgIHJldHVybiBuZXcgRGF0ZSh2YWx1ZSkgPCBuZXcgRGF0ZShmaWx0ZXJWYWx1ZSk7XG4gICAgICAgIH0gZWxzZSB7XG4gICAgICAgICAgcmV0dXJuIGZhbHNlO1xuICAgICAgICB9XG4gICAgICBjYXNlICdJTlNJREUnOlxuICAgICAgICBbZGF0ZTEsIGRhdGUyXSA9IFtcbiAgICAgICAgICBuZXcgRGF0ZSgoZmlsdGVyVmFsdWUgYXMgc3RyaW5nKS5zcGxpdCgnLCcpWzBdKSxcbiAgICAgICAgICBuZXcgRGF0ZSgoZmlsdGVyVmFsdWUgYXMgc3RyaW5nKS5zcGxpdCgnLCcpWzFdKVxuICAgICAgICBdO1xuICAgICAgICByZXR1cm4gbmV3IERhdGUodmFsdWUpID4gbmV3IERhdGUoZGF0ZTEpICYmIG5ldyBEYXRlKHZhbHVlKSA8IG5ldyBEYXRlKGRhdGUyKTtcbiAgICAgIGNhc2UgJ09VVFNJREUnOlxuICAgICAgICBbZGF0ZTEsIGRhdGUyXSA9IFtcbiAgICAgICAgICBuZXcgRGF0ZSgoZmlsdGVyVmFsdWUgYXMgc3RyaW5nKS5zcGxpdCgnLCcpWzBdKSxcbiAgICAgICAgICBuZXcgRGF0ZSgoZmlsdGVyVmFsdWUgYXMgc3RyaW5nKS5zcGxpdCgnLCcpWzFdKVxuICAgICAgICBdO1xuICAgICAgICByZXR1cm4gbmV3IERhdGUodmFsdWUpIDwgbmV3IERhdGUoZGF0ZTEpICYmIG5ldyBEYXRlKHZhbHVlKSA+IG5ldyBEYXRlKGRhdGUyKTtcbiAgICAgIGRlZmF1bHQ6XG4gICAgICAgIHJldHVybiB0cnVlO1xuICAgIH1cbiAgfVxufVxuIl19
|
package/esm2022/lib/core/store/aggregation/frontend-aggregation/frontend-aggregation.service.mjs
ADDED
|
@@ -0,0 +1,93 @@
|
|
|
1
|
+
import { Injectable } from '@angular/core';
|
|
2
|
+
import { combineLatest, map } from 'rxjs';
|
|
3
|
+
import { DashboardSelectors } from '../../../../dashboard/store/dashboard.selectors';
|
|
4
|
+
import { ClassSelectors } from '../../class/class.selectors';
|
|
5
|
+
import { PryAggregationService } from '../base-aggregation.service';
|
|
6
|
+
import { AggregationUtils } from './aggregation-utils.class';
|
|
7
|
+
import * as i0 from "@angular/core";
|
|
8
|
+
import * as i1 from "@ngrx/store";
|
|
9
|
+
export class PryFrontendAggregationService extends PryAggregationService {
|
|
10
|
+
constructor(store) {
|
|
11
|
+
super();
|
|
12
|
+
this.store = store;
|
|
13
|
+
}
|
|
14
|
+
aggregate(datasources, options) {
|
|
15
|
+
return combineLatest([
|
|
16
|
+
this.store.select(DashboardSelectors.resultSets),
|
|
17
|
+
this.store.select(ClassSelectors.classes),
|
|
18
|
+
this.store.select(DashboardSelectors.filters)
|
|
19
|
+
]).pipe(map(([resultSets, classes, filters]) => {
|
|
20
|
+
const resultSet = AggregationUtils.getChartDatasourceResultSet(datasources, resultSets);
|
|
21
|
+
let items = Object.keys(resultSet.items)
|
|
22
|
+
.map((classId) => resultSet.items[classId])
|
|
23
|
+
.reduce((prev, curr) => [...prev, ...curr], []);
|
|
24
|
+
items = AggregationUtils.filterItems(items, filters);
|
|
25
|
+
return this.getAggregationResult(options, classes, items);
|
|
26
|
+
}));
|
|
27
|
+
}
|
|
28
|
+
getAggregationResult(options, classes, items) {
|
|
29
|
+
const [abscissa, ordinate] = [
|
|
30
|
+
AggregationUtils.getAxisAttribute(classes, options, 'abscissa') ?? '',
|
|
31
|
+
AggregationUtils.getAxisAttribute(classes, options, 'ordinate') ?? ''
|
|
32
|
+
];
|
|
33
|
+
const aggregationResult = {
|
|
34
|
+
operation: options.ordinate.operation,
|
|
35
|
+
values: []
|
|
36
|
+
};
|
|
37
|
+
if (!options.groupBy) {
|
|
38
|
+
if (!!options.ordinate.operation)
|
|
39
|
+
console.warn('no ordinate operation selected');
|
|
40
|
+
aggregationResult.values = this.getChartDataBasedOnOperation(items, options.ordinate.operation, abscissa, ordinate, options.abscissa.limit);
|
|
41
|
+
console.log(aggregationResult.values);
|
|
42
|
+
}
|
|
43
|
+
else {
|
|
44
|
+
const groupByAttribute = classes
|
|
45
|
+
.map((clazz) => clazz.attributes.find((attr) => attr.id === options.groupBy?.attribute))
|
|
46
|
+
.find((attr) => !!attr)?.name ?? '';
|
|
47
|
+
const itemsGrouped = this.getItemsGroupedByAttributeValue(items, groupByAttribute);
|
|
48
|
+
aggregationResult.values = Object.keys(itemsGrouped).map((key) => ({
|
|
49
|
+
key,
|
|
50
|
+
groupBy: this.getChartDataBasedOnOperation(itemsGrouped[key], options.ordinate.operation, abscissa, ordinate, options.abscissa.limit)
|
|
51
|
+
}));
|
|
52
|
+
}
|
|
53
|
+
return aggregationResult;
|
|
54
|
+
}
|
|
55
|
+
getItemsGroupedByAttributeValue(items, attribute) {
|
|
56
|
+
if (attribute === '')
|
|
57
|
+
console.warn('groupBy attribute not found');
|
|
58
|
+
let distinctValues = {};
|
|
59
|
+
items.forEach((item) => {
|
|
60
|
+
let value = AggregationUtils.getValueFromAttribute(item, attribute)?.value;
|
|
61
|
+
if (!!value)
|
|
62
|
+
distinctValues[value] = [...(distinctValues[value] ?? []), item];
|
|
63
|
+
});
|
|
64
|
+
return distinctValues;
|
|
65
|
+
}
|
|
66
|
+
// get { key, value } object list that will be our data to show in the chart
|
|
67
|
+
getChartDataBasedOnOperation(items, operation, abscissa, ordinate, limit) {
|
|
68
|
+
if (abscissa === '' || ordinate === '')
|
|
69
|
+
console.warn('abscissa or ordinate attribute not found');
|
|
70
|
+
const groupByAbscissa = this.getItemsGroupedByAttributeValue(items, abscissa);
|
|
71
|
+
let result = [
|
|
72
|
+
...Object.keys(groupByAbscissa).map((abscissaAttribute) => {
|
|
73
|
+
console.log(AggregationUtils.getAggregatedValue(operation, groupByAbscissa, abscissaAttribute, ordinate ?? ''));
|
|
74
|
+
return {
|
|
75
|
+
key: +abscissaAttribute || abscissaAttribute,
|
|
76
|
+
value: AggregationUtils.getAggregatedValue(operation, groupByAbscissa, abscissaAttribute, ordinate ?? '')
|
|
77
|
+
};
|
|
78
|
+
})
|
|
79
|
+
];
|
|
80
|
+
if (limit)
|
|
81
|
+
result = AggregationUtils.formatByLimit(result, limit, operation);
|
|
82
|
+
return result;
|
|
83
|
+
}
|
|
84
|
+
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "16.1.6", ngImport: i0, type: PryFrontendAggregationService, deps: [{ token: i1.Store }], target: i0.ɵɵFactoryTarget.Injectable }); }
|
|
85
|
+
static { this.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "16.1.6", ngImport: i0, type: PryFrontendAggregationService, providedIn: 'root' }); }
|
|
86
|
+
}
|
|
87
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "16.1.6", ngImport: i0, type: PryFrontendAggregationService, decorators: [{
|
|
88
|
+
type: Injectable,
|
|
89
|
+
args: [{
|
|
90
|
+
providedIn: 'root'
|
|
91
|
+
}]
|
|
92
|
+
}], ctorParameters: function () { return [{ type: i1.Store }]; } });
|
|
93
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZnJvbnRlbmQtYWdncmVnYXRpb24uc2VydmljZS5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL3Byb3ZvbHkvZGFzaGJvYXJkL2xpYi9jb3JlL3N0b3JlL2FnZ3JlZ2F0aW9uL2Zyb250ZW5kLWFnZ3JlZ2F0aW9uL2Zyb250ZW5kLWFnZ3JlZ2F0aW9uLnNlcnZpY2UudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFFLFVBQVUsRUFBRSxNQUFNLGVBQWUsQ0FBQztBQUUzQyxPQUFPLEVBQUUsYUFBYSxFQUFFLEdBQUcsRUFBYyxNQUFNLE1BQU0sQ0FBQztBQUN0RCxPQUFPLEVBQUUsa0JBQWtCLEVBQUUsTUFBTSxpREFBaUQsQ0FBQztBQVFyRixPQUFPLEVBQUUsY0FBYyxFQUFFLE1BQU0sNkJBQTZCLENBQUM7QUFDN0QsT0FBTyxFQUFxQixxQkFBcUIsRUFBRSxNQUFNLDZCQUE2QixDQUFDO0FBQ3ZGLE9BQU8sRUFBRSxnQkFBZ0IsRUFBRSxNQUFNLDJCQUEyQixDQUFDOzs7QUFNN0QsTUFBTSxPQUFPLDZCQUE4QixTQUFRLHFCQUFxQjtJQUN0RSxZQUFvQixLQUFZO1FBQzlCLEtBQUssRUFBRSxDQUFDO1FBRFUsVUFBSyxHQUFMLEtBQUssQ0FBTztJQUVoQyxDQUFDO0lBRVEsU0FBUyxDQUFDLFdBQXFCLEVBQUUsT0FBcUM7UUFDN0UsT0FBTyxhQUFhLENBQUM7WUFDbkIsSUFBSSxDQUFDLEtBQUssQ0FBQyxNQUFNLENBQUMsa0JBQWtCLENBQUMsVUFBVSxDQUFDO1lBQ2hELElBQUksQ0FBQyxLQUFLLENBQUMsTUFBTSxDQUFDLGNBQWMsQ0FBQyxPQUFPLENBQUM7WUFDekMsSUFBSSxDQUFDLEtBQUssQ0FBQyxNQUFNLENBQUMsa0JBQWtCLENBQUMsT0FBTyxDQUFDO1NBQzlDLENBQUMsQ0FBQyxJQUFJLENBQ0wsR0FBRyxDQUFDLENBQUMsQ0FBQyxVQUFVLEVB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UUFBUSxJQUFJLEVBQUUsQ0FBQyxDQUFDLENBQUM7Z0JBQ2hILE9BQU87b0JBQ0wsR0FBRyxFQUFFLENBQUMsaUJBQWlCLElBQUksaUJBQWlCO29CQUM1QyxLQUFLLEVBQUUsZ0JBQWdCLENBQUMsa0JBQWtCLENBQUMsU0FBUyxFQUFFLGVBQWUsRUFBRSxpQkFBaUIsRUFBRSxRQUFRLElBQUksRUFBRSxDQUFDO2lCQUMxRyxDQUFDO1lBQ0osQ0FBQyxDQUFDO1NBQ0gsQ0FBQztRQUVGLElBQUksS0FBSztZQUFFLE1BQU0sR0FBRyxnQkFBZ0IsQ0FBQyxhQUFhLENBQUMsTUFBTSxFQUFFLEtBQUssRUFBRSxTQUFTLENBQUMsQ0FBQztRQUM3RSxPQUFPLE1BQU0sQ0FBQztJQUNoQixDQUFDOzhHQW5HVSw2QkFBNkI7a0hBQTdCLDZCQUE2QixjQUY1QixNQUFNOzsyRkFFUCw2QkFBNkI7a0JBSHpDLFVBQVU7bUJBQUM7b0JBQ1YsVUFBVSxFQUFFLE1BQU07aUJBQ25CIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgSW5qZWN0YWJsZSB9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xuaW1wb3J0IHsgU3RvcmUgfSBmcm9tICdAbmdyeC9zdG9yZSc7XG5pbXBvcnQgeyBjb21iaW5lTGF0ZXN0LCBtYXAsIE9ic2VydmFibGUgfSBmcm9tICdyeGpzJztcbmltcG9ydCB7IERhc2hib2FyZFNlbGVjdG9ycyB9IGZyb20gJy4uLy4uLy4uLy4uL2Rhc2hib2FyZC9zdG9yZS9kYXNoYm9hcmQuc2VsZWN0b3JzJztcbmltcG9ydCB7IEl0ZW0sIFZhbHVlVHlwZSB9IGZyb20gJy4uLy4uLy4uL21vZGVsL2l0ZW0uaW50ZXJmYWNlJztcbmltcG9ydCB7XG4gIEF0TGltaXQsXG4gIENoYXJ0QWdncmVnYXRlZFdpZGdldE9wdGlvbnMsXG4gIE9wZXJhdGlvbixcbiAgVGltZUxpbWl0XG59IGZyb20gJy4uLy4uLy4uL21vZGVsL3dpZGdldC1hZ2dyZWdhdGVkLWNoYXJ0LW1hbmlmZXN0LmludGVyZmFjZSc7XG5pbXBvcnQgeyBDbGFzc1NlbGVjdG9ycyB9IGZyb20gJy4uLy4uL2NsYXNzL2NsYXNzLnNlbGVjdG9ycyc7XG5pbXBvcnQgeyBBZ2dyZWdhdGlvblJlc3VsdCwgUHJ5QWdncmVnYXRpb25TZXJ2aWNlIH0gZnJvbSAnLi4vYmFzZS1hZ2dyZWdhdGlvbi5zZXJ2aWNlJztcbmltcG9ydCB7IEFnZ3JlZ2F0aW9uVXRpbHMgfSBmcm9tICcuL2FnZ3JlZ2F0aW9uLXV0aWxzLmNsYXNzJztcbmltcG9ydCB7IENsYXNzIH0gZnJvbSAnLi4vLi4vY2xhc3MvY2xhc3MuaW50ZXJmYWNlJztcblxuQEluamVjdGFibGUoe1xuICBwcm92aWRlZEluOiAncm9vdCdcbn0pXG5leHBvcnQgY2xhc3MgUHJ5RnJvbnRlbmRBZ2dyZWdhdGlvblNlcnZpY2UgZXh0ZW5kcyBQcnlBZ2dyZWdhdGlvblNlcnZpY2Uge1xuICBjb25zdHJ1Y3Rvcihwcml2YXRlIHN0b3JlOiBTdG9yZSkge1xuICAgIHN1cGVyKCk7XG4gIH1cblxuICBvdmVycmlkZSBhZ2dyZWdhdGUoZGF0YXNvdXJjZXM6IHN0cmluZ1tdLCBvcHRpb25zOiBDaGFydEFnZ3JlZ2F0ZWRXaWRnZXRPcHRpb25zKTogT2JzZXJ2YWJsZTxBZ2dyZWdhdGlvblJlc3VsdD4ge1xuICAgIHJldHVybiBjb21iaW5lTGF0ZXN0KFtcbiAgICAgIHRoaXMuc3RvcmUuc2VsZWN0KERhc2hib2FyZFNlbGVjdG9ycy5yZXN1bHRTZXRzKSxcbiAgICAgIHRoaXMuc3RvcmUuc2VsZWN0KENsYXNzU2VsZWN0b3JzLmNsYXNzZXMpLFxuICAgICAgdGhpcy5zdG9yZS5zZWxlY3QoRGFzaGJvYXJkU2VsZWN0b3JzLmZpbHRlcnMpXG4gICAgXSkucGlwZShcbiAgICAgIG1hcCgoW3Jlc3VsdFNldHMsIGNsYXNzZXMsIGZpbHRlcnNdKSA9PiB7XG4gICAgICAgIGNvbnN0IHJlc3VsdFNldCA9IEFnZ3JlZ2F0aW9uVXRpbHMuZ2V0Q2hhcnREYXRhc291cmNlUmVzdWx0U2V0KGRhdGFzb3VyY2VzLCByZXN1bHRTZXRzKTtcbiAgICAgICAgbGV0IGl0ZW1zOiBJdGVtW10gPSBPYmplY3Qua2V5cyhyZXN1bHRTZXQuaXRlbXMpXG4gICAgICAgICAgLm1hcCgoY2xhc3NJZCkgPT4gcmVzdWx0U2V0Lml0ZW1zW2NsYXNzSWRdKVxuICAgICAgICAgIC5yZWR1Y2UoKHByZXYsIGN1cnIpID0+IFsuLi5wcmV2LCAuLi5jdXJyXSwgW10pIGFzIEl0ZW1bXTtcbiAgICAgICAgaXRlbXMgPSBBZ2dyZWdhdGlvblV0aWxzLmZpbHRlckl0ZW1zKGl0ZW1zLCBmaWx0ZXJzKTtcbiAgICAgICAgcmV0dXJuIHRoaXMuZ2V0QWdncmVnYXRpb25SZXN1bHQob3B0aW9ucywgY2xhc3NlcywgaXRlbXMpO1xuICAgICAgfSlcbiAgICApO1xuICB9XG5cbiAgZ2V0QWdncmVnYXRpb25SZXN1bHQob3B0aW9uczogQ2hhcnRBZ2dyZWdhdGVkV2lkZ2V0T3B0aW9ucywgY2xhc3NlczogQ2xhc3NbXSwgaXRlbXM6IEl0ZW1bXSk6IEFnZ3JlZ2F0aW9uUmVzdWx0IHtcbiAgICBjb25zdCBbYWJzY2lzc2EsIG9yZGluYXRlXSA9IFtcbiAgICAgIEFnZ3JlZ2F0aW9uVXRpbHMuZ2V0QXhpc0F0dHJpYnV0ZShjbGFzc2VzLCBvcHRpb25zLCAnYWJzY2lzc2EnKSA/PyAnJyxcbiAgICAgIEFnZ3JlZ2F0aW9uVXRpbHMuZ2V0QXhpc0F0dHJpYnV0ZShjbGFzc2VzLCBvcHRpb25zLCAnb3JkaW5hdGUnKSA/PyAnJ1xuICAgIF07XG5cbiAgICBjb25zdCBhZ2dyZWdhdGlvblJlc3VsdDogQWdncmVnYXRpb25SZXN1bHQgPSB7XG4gICAgICBvcGVyYXRpb246IG9wdGlvbnMub3JkaW5hdGUub3BlcmF0aW9uLFxuICAgICAgdmFsdWVzOiBbXVxuICAgIH07XG5cbiAgICBpZiAoIW9wdGlvbnMuZ3JvdXBCeSkge1xuICAgICAgaWYgKCEhb3B0aW9ucy5vcmRpbmF0ZS5vcGVyYXRpb24pIGNvbnNvbGUud2Fybignbm8gb3JkaW5hdGUgb3BlcmF0aW9uIHNlbGVjdGVkJyk7XG4gICAgICBhZ2dyZWdhdGlvblJlc3VsdC52YWx1ZXMgPSB0aGlzLmdldENoYXJ0RGF0YUJhc2VkT25PcGVyYXRpb24oXG4gICAgICAgIGl0ZW1zLFxuICAgICAgICBvcHRpb25zLm9yZGluYXRlLm9wZXJhdGlvbixcbiAgICAgICAgYWJzY2lzc2EsXG4gICAgICAgIG9yZGluYXRlLFxuICAgICAgICBvcHRpb25zLmFic2Npc3NhLmxpbWl0XG4gICAgICApO1xuICAgICAgY29uc29sZS5sb2coYWdncmVnYXRpb25SZXN1bHQudmFsdWVzKTtcbiAgICB9IGVsc2Uge1xuICAgICAgY29uc3QgZ3JvdXBCeUF0dHJpYnV0ZSA9XG4gICAgICAgIGNsYXNzZXNcbiAgICAgICAgICAubWFwKChjbGF6eikgPT4gY2xhenouYXR0cmlidXRlcy5maW5kKChhdHRyKSA9PiBhdHRyLmlkID09PSBvcHRpb25zLmdyb3VwQnk/LmF0dHJpYnV0ZSkpXG4gICAgICAgICAgLmZpbmQoKGF0dHIpID0+ICEhYXR0cik/Lm5hbWUgPz8gJyc7XG4gICAgICBjb25zdCBpdGVtc0dyb3VwZWQ6IHsgW2tleTogc3RyaW5nIHwgbnVtYmVyXTogSXRlbVtdIH0gPSB0aGlzLmdldEl0ZW1zR3JvdXBlZEJ5QXR0cmlidXRlVmFsdWUoXG4gICAgICAgIGl0ZW1zLFxuICAgICAgICBncm91cEJ5QXR0cmlidXRlXG4gICAgICApO1xuXG4gICAgICBhZ2dyZWdhdGlvblJlc3VsdC52YWx1ZXMgPSBPYmplY3Qua2V5cyhpdGVtc0dyb3VwZWQpLm1hcCgoa2V5KSA9PiAoe1xuICAgICAgICBrZXksXG4gICAgICAgIGdyb3VwQnk6IHRoaXMuZ2V0Q2hhcnREYXRhQmFzZWRPbk9wZXJhdGlvbihcbiAgICAgICAgICBpdGVtc0dyb3VwZWRba2V5XSxcbiAgICAgICAgICBvcHRpb25zLm9yZGluYXRlLm9wZXJhdGlvbixcbiAgICAgICAgICBhYnNjaXNzYSxcbiAgICAgICAgICBvcmRpbmF0ZSxcbiAgICAgICAgICBvcHRpb25zLmFic2Npc3NhLmxpbWl0XG4gICAgICAgIClcbiAgICAgIH0pKTtcbiAgICB9XG4gICAgcmV0dXJuIGFnZ3JlZ2F0aW9uUmVzdWx0O1xuICB9XG5cbiAgZ2V0SXRlbXNHcm91cGVkQnlBdHRyaWJ1dGVWYWx1ZShpdGVtczogSXRlbVtdLCBhdHRyaWJ1dGU6IHN0cmluZyk6IHsgW2tleTogc3RyaW5nIHwgbnVtYmVyXTogSXRlbVtdIH0ge1xuICAgIGlmIChhdHRyaWJ1dGUgPT09ICcnKSBjb25zb2xlLndhcm4oJ2dyb3VwQnkgYXR0cmlidXRlIG5vdCBmb3VuZCcpO1xuICAgIGxldCBkaXN0aW5jdFZhbHVlczogeyBba2V5OiBzdHJpbmcgfCBudW1iZXJdOiBJdGVtW10gfSA9IHt9O1xuICAgIGl0ZW1zLmZvckVhY2goKGl0ZW06IEl0ZW0pID0+IHtcbiAgICAgIGxldCB2YWx1ZSA9IEFnZ3JlZ2F0aW9uVXRpbHMuZ2V0VmFsdWVGcm9tQXR0cmlidXRlKGl0ZW0sIGF0dHJpYnV0ZSk/LnZhbHVlIGFzIHN0cmluZyB8IG51bWJlcjtcbiAgICAgIGlmICghIXZhbHVlKSBkaXN0aW5jdFZhbHVlc1t2YWx1ZV0gPSBbLi4uKGRpc3RpbmN0VmFsdWVzW3ZhbHVlXSA/PyBbXSksIGl0ZW1dO1xuICAgIH0pO1xuICAgIHJldHVybiBkaXN0aW5jdFZhbHVlcztcbiAgfVxuXG4gIC8vIGdldCB7IGtleSwgdmFsdWUgfSBvYmplY3QgbGlzdCB0aGF0IHdpbGwgYmUgb3VyIGRhdGEgdG8gc2hvdyBpbiB0aGUgY2hhcnRcbiAgZ2V0Q2hhcnREYXRhQmFzZWRPbk9wZXJhdGlvbihcbiAgICBpdGVtczogSXRlbVtdLFxuICAgIG9wZXJhdGlvbjogT3BlcmF0aW9uLFxuICAgIGFic2Npc3NhOiBzdHJpbmcsXG4gICAgb3JkaW5hdGU6IHN0cmluZyxcbiAgICBsaW1pdD86IEF0TGltaXQgfCBUaW1lTGltaXRcbiAgKTogeyBrZXk6IFZhbHVlVHlwZTsgdmFsdWU6IFZhbHVlVHlwZSB9W10ge1xuICAgIGlmIChhYnNjaXNzYSA9PT0gJycgfHwgb3JkaW5hdGUgPT09ICcnKSBjb25zb2xlLndhcm4oJ2Fic2Npc3NhIG9yIG9yZGluYXRlIGF0dHJpYnV0ZSBub3QgZm91bmQnKTtcbiAgICBjb25zdCBncm91cEJ5QWJzY2lzc2EgPSB0aGlzLmdldEl0ZW1zR3JvdXBlZEJ5QXR0cmlidXRlVmFsdWUoaXRlbXMsIGFic2Npc3NhKTtcbiAgICBsZXQgcmVzdWx0OiB7IGtleTogVmFsdWVUeXBlOyB2YWx1ZTogVmFsdWVUeXBlIH1bXSA9IFtcbiAgICAgIC4uLk9iamVjdC5rZXlzKGdyb3VwQnlBYnNjaXNzYSkubWFwKChhYnNjaXNzYUF0dHJpYnV0ZSkgPT4ge1xuICAgICAgICBjb25zb2xlLmxvZyhBZ2dyZWdhdGlvblV0aWxzLmdldEFnZ3JlZ2F0ZWRWYWx1ZShvcGVyYXRpb24sIGdyb3VwQnlBYnNjaXNzYSwgYWJzY2lzc2FBdHRyaWJ1dGUsIG9yZGluYXRlID8/ICcnKSk7XG4gICAgICAgIHJldHVybiB7XG4gICAgICAgICAga2V5OiArYWJzY2lzc2FBdHRyaWJ1dGUgfHwgYWJzY2lzc2FBdHRyaWJ1dGUsXG4gICAgICAgICAgdmFsdWU6IEFnZ3JlZ2F0aW9uVXRpbHMuZ2V0QWdncmVnYXRlZFZhbHVlKG9wZXJhdGlvbiwgZ3JvdXBCeUFic2Npc3NhLCBhYnNjaXNzYUF0dHJpYnV0ZSwgb3JkaW5hdGUgPz8gJycpXG4gICAgICAgIH07XG4gICAgICB9KVxuICAgIF07XG5cbiAgICBpZiAobGltaXQpIHJlc3VsdCA9IEFnZ3JlZ2F0aW9uVXRpbHMuZm9ybWF0QnlMaW1pdChyZXN1bHQsIGxpbWl0LCBvcGVyYXRpb24pO1xuICAgIHJldHVybiByZXN1bHQ7XG4gIH1cbn1cbiJdfQ==
|