@vendure/admin-ui 2.0.6 → 2.0.7
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/catalog/components/collection-detail/collection-detail.component.d.ts +3 -1
- package/catalog/components/create-product-variant-dialog/create-product-variant-dialog.component.d.ts +6 -4
- package/catalog/components/facet-detail/facet-detail.component.d.ts +3 -1
- package/catalog/components/product-detail/product-detail.component.d.ts +3 -1
- package/catalog/components/stock-location-detail/stock-location-detail.component.d.ts +3 -1
- package/core/common/utilities/custom-field-default-value.d.ts +6 -0
- package/core/common/version.d.ts +1 -1
- package/core/providers/data-table/data-table-filter-collection.d.ts +10 -6
- package/core/providers/data-table/data-table-filter.d.ts +13 -2
- package/core/public_api.d.ts +1 -0
- package/customer/components/customer-detail/customer-detail.component.d.ts +3 -1
- package/customer/components/customer-group-detail/customer-group-detail.component.d.ts +3 -1
- package/customer/components/customer-list/customer-list.component.d.ts +1 -0
- package/esm2022/catalog/components/asset-detail/asset-detail.component.mjs +3 -3
- package/esm2022/catalog/components/collection-detail/collection-detail.component.mjs +3 -3
- package/esm2022/catalog/components/collection-list/collection-list.component.mjs +2 -1
- package/esm2022/catalog/components/create-product-variant-dialog/create-product-variant-dialog.component.mjs +8 -5
- package/esm2022/catalog/components/facet-detail/facet-detail.component.mjs +3 -3
- package/esm2022/catalog/components/facet-list/facet-list.component.mjs +2 -1
- package/esm2022/catalog/components/product-detail/product-detail.component.mjs +3 -3
- package/esm2022/catalog/components/product-list/product-list.component.mjs +2 -7
- package/esm2022/catalog/components/product-variant-detail/product-variant-detail.component.mjs +3 -3
- package/esm2022/catalog/components/product-variant-list/product-variant-list.component.mjs +2 -7
- package/esm2022/catalog/components/product-variants-editor/product-variants-editor.component.mjs +1 -1
- package/esm2022/catalog/components/stock-location-detail/stock-location-detail.component.mjs +3 -3
- package/esm2022/catalog/components/stock-location-list/stock-location-list.component.mjs +2 -7
- package/esm2022/core/common/utilities/create-updated-translatable.mjs +5 -23
- package/esm2022/core/common/utilities/custom-field-default-value.mjs +28 -0
- package/esm2022/core/common/version.mjs +2 -2
- package/esm2022/core/components/channel-switcher/channel-switcher.component.mjs +3 -3
- package/esm2022/core/providers/dashboard-widget/register-dashboard-widget.mjs +1 -1
- package/esm2022/core/providers/data-table/data-table-filter-collection.mjs +51 -22
- package/esm2022/core/providers/data-table/data-table-filter.mjs +8 -1
- package/esm2022/core/providers/local-storage/local-storage.service.mjs +1 -1
- package/esm2022/core/public_api.mjs +2 -1
- package/esm2022/core/shared/components/asset-gallery/asset-gallery.component.mjs +3 -3
- package/esm2022/core/shared/components/card/card.component.mjs +1 -1
- package/esm2022/core/shared/components/chip/chip.component.mjs +2 -2
- package/esm2022/core/shared/components/data-table-2/data-table2.component.mjs +1 -1
- package/esm2022/core/shared/components/data-table-filter-label/data-table-filter-label.component.mjs +3 -3
- package/esm2022/core/shared/components/data-table-filters/data-table-filters.component.mjs +23 -4
- package/esm2022/core/shared/components/facet-value-chip/facet-value-chip.component.mjs +2 -2
- package/esm2022/core/shared/components/tabbed-custom-fields/tabbed-custom-fields.component.mjs +2 -2
- package/esm2022/customer/components/customer-detail/customer-detail.component.mjs +3 -3
- package/esm2022/customer/components/customer-group-detail/customer-group-detail.component.mjs +3 -3
- package/esm2022/customer/components/customer-group-detail-dialog/customer-group-detail-dialog.component.mjs +3 -2
- package/esm2022/customer/components/customer-group-list/customer-group-list.component.mjs +2 -1
- package/esm2022/customer/components/customer-list/customer-list.component.mjs +34 -30
- package/esm2022/dashboard/components/dashboard-widget/dashboard-widget.component.mjs +1 -1
- package/esm2022/marketing/components/promotion-detail/promotion-detail.component.mjs +3 -3
- package/esm2022/marketing/components/promotion-list/promotion-list.component.mjs +2 -1
- package/esm2022/order/components/order-detail/order-detail.component.mjs +3 -3
- package/esm2022/order/components/order-list/order-list.component.mjs +2 -1
- package/esm2022/settings/components/admin-detail/admin-detail.component.mjs +3 -3
- package/esm2022/settings/components/administrator-list/administrator-list.component.mjs +2 -1
- package/esm2022/settings/components/channel-detail/channel-detail.component.mjs +10 -10
- package/esm2022/settings/components/channel-list/channel-list.component.mjs +2 -1
- package/esm2022/settings/components/country-detail/country-detail.component.mjs +3 -3
- package/esm2022/settings/components/country-list/country-list.component.mjs +3 -2
- package/esm2022/settings/components/global-settings/global-settings.component.mjs +3 -3
- package/esm2022/settings/components/payment-method-detail/payment-method-detail.component.mjs +3 -3
- package/esm2022/settings/components/payment-method-list/payment-method-list.component.mjs +2 -1
- package/esm2022/settings/components/profile/profile.component.mjs +3 -3
- package/esm2022/settings/components/role-list/role-list.component.mjs +2 -1
- package/esm2022/settings/components/seller-detail/seller-detail.component.mjs +3 -3
- package/esm2022/settings/components/seller-list/seller-list.component.mjs +2 -1
- package/esm2022/settings/components/shipping-method-detail/shipping-method-detail.component.mjs +3 -3
- package/esm2022/settings/components/shipping-method-list/shipping-method-list.component.mjs +2 -1
- package/esm2022/settings/components/tax-category-detail/tax-category-detail.component.mjs +3 -3
- package/esm2022/settings/components/tax-category-list/tax-category-list.component.mjs +2 -1
- package/esm2022/settings/components/tax-rate-detail/tax-rate-detail.component.mjs +3 -3
- package/esm2022/settings/components/tax-rate-list/tax-rate-list.component.mjs +2 -1
- package/esm2022/settings/components/zone-detail/zone-detail.component.mjs +3 -3
- package/esm2022/settings/components/zone-list/zone-list.component.mjs +2 -1
- package/fesm2022/vendure-admin-ui-catalog.mjs +19 -29
- package/fesm2022/vendure-admin-ui-catalog.mjs.map +1 -1
- package/fesm2022/vendure-admin-ui-core.mjs +121 -58
- package/fesm2022/vendure-admin-ui-core.mjs.map +1 -1
- package/fesm2022/vendure-admin-ui-customer.mjs +34 -29
- package/fesm2022/vendure-admin-ui-customer.mjs.map +1 -1
- package/fesm2022/vendure-admin-ui-dashboard.mjs.map +1 -1
- package/fesm2022/vendure-admin-ui-marketing.mjs +3 -2
- package/fesm2022/vendure-admin-ui-marketing.mjs.map +1 -1
- package/fesm2022/vendure-admin-ui-order.mjs +3 -2
- package/fesm2022/vendure-admin-ui-order.mjs.map +1 -1
- package/fesm2022/vendure-admin-ui-settings.mjs +30 -20
- package/fesm2022/vendure-admin-ui-settings.mjs.map +1 -1
- package/marketing/components/promotion-detail/promotion-detail.component.d.ts +3 -1
- package/order/components/order-detail/order-detail.component.d.ts +3 -1
- package/package.json +8 -8
- package/settings/components/admin-detail/admin-detail.component.d.ts +3 -1
- package/settings/components/channel-detail/channel-detail.component.d.ts +5 -3
- package/settings/components/country-detail/country-detail.component.d.ts +3 -1
- package/settings/components/global-settings/global-settings.component.d.ts +3 -1
- package/settings/components/payment-method-detail/payment-method-detail.component.d.ts +3 -1
- package/settings/components/profile/profile.component.d.ts +3 -1
- package/settings/components/seller-detail/seller-detail.component.d.ts +3 -1
- package/settings/components/shipping-method-detail/shipping-method-detail.component.d.ts +3 -1
- package/settings/components/tax-category-detail/tax-category-detail.component.d.ts +3 -1
- package/settings/components/tax-rate-detail/tax-rate-detail.component.d.ts +3 -1
- package/settings/components/zone-detail/zone-detail.component.d.ts +3 -1
- package/static/i18n-messages/it.json +169 -169
|
@@ -41,10 +41,10 @@ export class ChannelSwitcherComponent {
|
|
|
41
41
|
this.channelService.setActiveChannel(channelId).subscribe(() => this.filterControl.patchValue(''));
|
|
42
42
|
}
|
|
43
43
|
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "16.0.3", ngImport: i0, type: ChannelSwitcherComponent, deps: [{ token: i1.DataService }, { token: i2.ChannelService }], target: i0.ɵɵFactoryTarget.Component }); }
|
|
44
|
-
static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "16.0.3", type: ChannelSwitcherComponent, selector: "vdr-channel-switcher", ngImport: i0, template: "<ng-container>\r\n <vdr-dropdown>\r\n <button class=\"active-channel m-auto\" vdrDropdownTrigger>\r\n <vdr-channel-badge [channelCode]=\"activeChannelCode$ | async\"></vdr-channel-badge>\r\n <span class=\"channel-label\">{{\r\n activeChannelCode$ | async | channelCodeToLabel | translate\r\n }}</span>\r\n <span class=\"trigger\"><clr-icon shape=\"ellipsis-vertical\"></clr-icon></span>\r\n </button>\r\n <vdr-dropdown-menu vdrPosition=\"bottom-right\">\r\n <input\r\n *ngIf=\"((channelCount$ | async) || 0) >= displayFilterThreshold\"\r\n [formControl]=\"filterControl\"\r\n type=\"text\"\r\n class=\"ml2 mr2\"\r\n [placeholder]=\"'common.filter' | translate\"\r\n />\r\n <button\r\n *ngFor=\"let channel of channels$ | async\"\r\n type=\"button\"\r\n vdrDropdownItem\r\n (click)=\"setActiveChannel(channel.id)\"\r\n >\r\n <vdr-channel-badge [channelCode]=\"channel.code\"></vdr-channel-badge>\r\n {{ channel.code | channelCodeToLabel | translate }}\r\n </button>\r\n </vdr-dropdown-menu>\r\n </vdr-dropdown>\r\n</ng-container>\r\n", styles: [":host{display:block;align-items:center;height:2.5rem}.active-channel{display:flex;justify-content:space-between;align-items:center;font-size:var(--font-size-xs);color:var(--color-left-nav-text);background-color:var(--color-channel-switcher-bg);border:none;cursor:pointer;width:100%;border-radius:var(--border-radius-lg);padding:var(--space-unit) calc(var(--space-unit) * 2);transition:background-color .1s,color .1s}.active-channel:hover{background-color:var(--color-channel-switcher-hover-bg);color:var(--color-left-nav-text-hover)}.active-channel clr-icon{color:var(--color-left-nav-text)}.channel-label{margin:0 3px;overflow:hidden;flex:1;white-space:nowrap;text-overflow:ellipsis}\n"], dependencies: [{ kind: "directive", type: i3.NgForOf, selector: "[ngFor][ngForOf]", inputs: ["ngForOf", "ngForTrackBy", "ngForTemplate"] }, { kind: "directive", type: i3.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { kind: "directive", type: i4.ClrIconCustomTag, selector: "clr-icon" }, { kind: "directive", type: i5.DefaultValueAccessor, selector: "input:not([type=checkbox])[formControlName],textarea[formControlName],input:not([type=checkbox])[formControl],textarea[formControl],input:not([type=checkbox])[ngModel],textarea[ngModel],[ngDefaultControl]" }, { kind: "directive", type: i5.NgControlStatus, selector: "[formControlName],[ngModel],[formControl]" }, { kind: "directive", type: i5.FormControlDirective, selector: "[formControl]", inputs: ["formControl", "disabled", "ngModel"], outputs: ["ngModelChange"], exportAs: ["ngForm"] }, { kind: "directive", type: i6.FormFieldControlDirective, selector: "input, textarea, select" }, { kind: "component", type: i7.DropdownComponent, selector: "vdr-dropdown", inputs: ["manualToggle"] }, { kind: "component", type: i8.DropdownMenuComponent, selector: "vdr-dropdown-menu", inputs: ["vdrPosition", "customClasses"] }, { kind: "directive", type: i9.DropdownTriggerDirective, selector: "[vdrDropdownTrigger]" }, { kind: "directive", type: i10.DropdownItemDirective, selector: "[vdrDropdownItem]" }, { kind: "component", type: i11.ChannelBadgeComponent, selector: "vdr-channel-badge", inputs: ["channelCode"] }, { kind: "pipe", type: i3.AsyncPipe, name: "async" }, { kind: "pipe", type: i12.TranslatePipe, name: "translate" }, { kind: "pipe", type: i13.ChannelLabelPipe, name: "channelCodeToLabel" }], changeDetection: i0.ChangeDetectionStrategy.OnPush }); }
|
|
44
|
+
static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "16.0.3", type: ChannelSwitcherComponent, selector: "vdr-channel-switcher", ngImport: i0, template: "<ng-container>\r\n <vdr-dropdown>\r\n <button class=\"active-channel m-auto\" vdrDropdownTrigger>\r\n <vdr-channel-badge [channelCode]=\"activeChannelCode$ | async\"></vdr-channel-badge>\r\n <span class=\"channel-label\">{{\r\n activeChannelCode$ | async | channelCodeToLabel | translate\r\n }}</span>\r\n <span class=\"trigger\"><clr-icon shape=\"ellipsis-vertical\" size=\"12\"></clr-icon></span>\r\n </button>\r\n <vdr-dropdown-menu vdrPosition=\"bottom-right\">\r\n <input\r\n *ngIf=\"((channelCount$ | async) || 0) >= displayFilterThreshold\"\r\n [formControl]=\"filterControl\"\r\n type=\"text\"\r\n class=\"ml2 mr2\"\r\n [placeholder]=\"'common.filter' | translate\"\r\n />\r\n <button\r\n *ngFor=\"let channel of channels$ | async\"\r\n type=\"button\"\r\n vdrDropdownItem\r\n (click)=\"setActiveChannel(channel.id)\"\r\n >\r\n <vdr-channel-badge [channelCode]=\"channel.code\"></vdr-channel-badge>\r\n {{ channel.code | channelCodeToLabel | translate }}\r\n </button>\r\n </vdr-dropdown-menu>\r\n </vdr-dropdown>\r\n</ng-container>\r\n", styles: [":host{display:block;align-items:center;height:2.5rem}.active-channel{display:flex;justify-content:space-between;align-items:center;font-size:var(--font-size-xs);color:var(--color-left-nav-text);background-color:var(--color-channel-switcher-bg);border:none;cursor:pointer;width:100%;border-radius:var(--border-radius-lg);padding:var(--space-unit) calc(var(--space-unit) * 2);transition:background-color .1s,color .1s}.active-channel:hover{background-color:var(--color-channel-switcher-hover-bg);color:var(--color-left-nav-text-hover)}.active-channel clr-icon{color:var(--color-left-nav-text)}.channel-label{margin:0 3px;overflow:hidden;flex:1;white-space:nowrap;text-overflow:ellipsis}\n"], dependencies: [{ kind: "directive", type: i3.NgForOf, selector: "[ngFor][ngForOf]", inputs: ["ngForOf", "ngForTrackBy", "ngForTemplate"] }, { kind: "directive", type: i3.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { kind: "directive", type: i4.ClrIconCustomTag, selector: "clr-icon" }, { kind: "directive", type: i5.DefaultValueAccessor, selector: "input:not([type=checkbox])[formControlName],textarea[formControlName],input:not([type=checkbox])[formControl],textarea[formControl],input:not([type=checkbox])[ngModel],textarea[ngModel],[ngDefaultControl]" }, { kind: "directive", type: i5.NgControlStatus, selector: "[formControlName],[ngModel],[formControl]" }, { kind: "directive", type: i5.FormControlDirective, selector: "[formControl]", inputs: ["formControl", "disabled", "ngModel"], outputs: ["ngModelChange"], exportAs: ["ngForm"] }, { kind: "directive", type: i6.FormFieldControlDirective, selector: "input, textarea, select" }, { kind: "component", type: i7.DropdownComponent, selector: "vdr-dropdown", inputs: ["manualToggle"] }, { kind: "component", type: i8.DropdownMenuComponent, selector: "vdr-dropdown-menu", inputs: ["vdrPosition", "customClasses"] }, { kind: "directive", type: i9.DropdownTriggerDirective, selector: "[vdrDropdownTrigger]" }, { kind: "directive", type: i10.DropdownItemDirective, selector: "[vdrDropdownItem]" }, { kind: "component", type: i11.ChannelBadgeComponent, selector: "vdr-channel-badge", inputs: ["channelCode"] }, { kind: "pipe", type: i3.AsyncPipe, name: "async" }, { kind: "pipe", type: i12.TranslatePipe, name: "translate" }, { kind: "pipe", type: i13.ChannelLabelPipe, name: "channelCodeToLabel" }], changeDetection: i0.ChangeDetectionStrategy.OnPush }); }
|
|
45
45
|
}
|
|
46
46
|
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "16.0.3", ngImport: i0, type: ChannelSwitcherComponent, decorators: [{
|
|
47
47
|
type: Component,
|
|
48
|
-
args: [{ selector: 'vdr-channel-switcher', changeDetection: ChangeDetectionStrategy.OnPush, template: "<ng-container>\r\n <vdr-dropdown>\r\n <button class=\"active-channel m-auto\" vdrDropdownTrigger>\r\n <vdr-channel-badge [channelCode]=\"activeChannelCode$ | async\"></vdr-channel-badge>\r\n <span class=\"channel-label\">{{\r\n activeChannelCode$ | async | channelCodeToLabel | translate\r\n }}</span>\r\n <span class=\"trigger\"><clr-icon shape=\"ellipsis-vertical\"></clr-icon></span>\r\n </button>\r\n <vdr-dropdown-menu vdrPosition=\"bottom-right\">\r\n <input\r\n *ngIf=\"((channelCount$ | async) || 0) >= displayFilterThreshold\"\r\n [formControl]=\"filterControl\"\r\n type=\"text\"\r\n class=\"ml2 mr2\"\r\n [placeholder]=\"'common.filter' | translate\"\r\n />\r\n <button\r\n *ngFor=\"let channel of channels$ | async\"\r\n type=\"button\"\r\n vdrDropdownItem\r\n (click)=\"setActiveChannel(channel.id)\"\r\n >\r\n <vdr-channel-badge [channelCode]=\"channel.code\"></vdr-channel-badge>\r\n {{ channel.code | channelCodeToLabel | translate }}\r\n </button>\r\n </vdr-dropdown-menu>\r\n </vdr-dropdown>\r\n</ng-container>\r\n", styles: [":host{display:block;align-items:center;height:2.5rem}.active-channel{display:flex;justify-content:space-between;align-items:center;font-size:var(--font-size-xs);color:var(--color-left-nav-text);background-color:var(--color-channel-switcher-bg);border:none;cursor:pointer;width:100%;border-radius:var(--border-radius-lg);padding:var(--space-unit) calc(var(--space-unit) * 2);transition:background-color .1s,color .1s}.active-channel:hover{background-color:var(--color-channel-switcher-hover-bg);color:var(--color-left-nav-text-hover)}.active-channel clr-icon{color:var(--color-left-nav-text)}.channel-label{margin:0 3px;overflow:hidden;flex:1;white-space:nowrap;text-overflow:ellipsis}\n"] }]
|
|
48
|
+
args: [{ selector: 'vdr-channel-switcher', changeDetection: ChangeDetectionStrategy.OnPush, template: "<ng-container>\r\n <vdr-dropdown>\r\n <button class=\"active-channel m-auto\" vdrDropdownTrigger>\r\n <vdr-channel-badge [channelCode]=\"activeChannelCode$ | async\"></vdr-channel-badge>\r\n <span class=\"channel-label\">{{\r\n activeChannelCode$ | async | channelCodeToLabel | translate\r\n }}</span>\r\n <span class=\"trigger\"><clr-icon shape=\"ellipsis-vertical\" size=\"12\"></clr-icon></span>\r\n </button>\r\n <vdr-dropdown-menu vdrPosition=\"bottom-right\">\r\n <input\r\n *ngIf=\"((channelCount$ | async) || 0) >= displayFilterThreshold\"\r\n [formControl]=\"filterControl\"\r\n type=\"text\"\r\n class=\"ml2 mr2\"\r\n [placeholder]=\"'common.filter' | translate\"\r\n />\r\n <button\r\n *ngFor=\"let channel of channels$ | async\"\r\n type=\"button\"\r\n vdrDropdownItem\r\n (click)=\"setActiveChannel(channel.id)\"\r\n >\r\n <vdr-channel-badge [channelCode]=\"channel.code\"></vdr-channel-badge>\r\n {{ channel.code | channelCodeToLabel | translate }}\r\n </button>\r\n </vdr-dropdown-menu>\r\n </vdr-dropdown>\r\n</ng-container>\r\n", styles: [":host{display:block;align-items:center;height:2.5rem}.active-channel{display:flex;justify-content:space-between;align-items:center;font-size:var(--font-size-xs);color:var(--color-left-nav-text);background-color:var(--color-channel-switcher-bg);border:none;cursor:pointer;width:100%;border-radius:var(--border-radius-lg);padding:var(--space-unit) calc(var(--space-unit) * 2);transition:background-color .1s,color .1s}.active-channel:hover{background-color:var(--color-channel-switcher-hover-bg);color:var(--color-left-nav-text-hover)}.active-channel clr-icon{color:var(--color-left-nav-text)}.channel-label{margin:0 3px;overflow:hidden;flex:1;white-space:nowrap;text-overflow:ellipsis}\n"] }]
|
|
49
49
|
}], ctorParameters: function () { return [{ type: i1.DataService }, { type: i2.ChannelService }]; } });
|
|
50
|
-
//# sourceMappingURL=data:application/json;base64,
|
|
50
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiY2hhbm5lbC1zd2l0Y2hlci5jb21wb25lbnQuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi9zcmMvbGliL2NvcmUvc3JjL2NvbXBvbmVudHMvY2hhbm5lbC1zd2l0Y2hlci9jaGFubmVsLXN3aXRjaGVyLmNvbXBvbmVudC50cyIsIi4uLy4uLy4uLy4uLy4uL3NyYy9saWIvY29yZS9zcmMvY29tcG9uZW50cy9jaGFubmVsLXN3aXRjaGVyL2NoYW5uZWwtc3dpdGNoZXIuY29tcG9uZW50Lmh0bWwiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFFLHVCQUF1QixFQUFFLFNBQVMsRUFBVSxNQUFNLGVBQWUsQ0FBQztBQUMzRSxPQUFPLEVBQUUsa0JBQWtCLEVBQUUsTUFBTSxnQkFBZ0IsQ0FBQztBQUNwRCxPQUFPLEVBQUUsa0JBQWtCLEVBQUUsTUFBTSxrQ0FBa0MsQ0FBQztBQUN0RSxPQUFPLEVBQUUsYUFBYSxFQUFjLE1BQU0sTUFBTSxDQUFDO0FBQ2pELE9BQU8sRUFBRSxNQUFNLEVBQUUsR0FBRyxFQUFFLFNBQVMsRUFBRSxNQUFNLGdCQUFnQixDQUFDOzs7Ozs7Ozs7Ozs7Ozs7QUFZeEQsTUFBTSxPQUFPLHdCQUF3QjtJQU1qQyxZQUFvQixXQUF3QixFQUFVLGNBQThCO1FBQWhFLGdCQUFXLEdBQVgsV0FBVyxDQUFhO1FBQVUsbUJBQWMsR0FBZCxjQUFjLENBQWdCO1FBTDNFLDJCQUFzQixHQUFHLEVBQUUsQ0FBQztRQUdyQyxrQkFBYSxHQUFHLElBQUksa0JBQWtCLENBQUMsRUFBRSxDQUFDLENBQUM7SUFFNEMsQ0FBQztJQUV4RixRQUFRO1FBQ0osTUFBTSxTQUFTLEdBQUcsSUFBSSxDQUFDLFdBQVcsQ0FBQyxNQUFNLENBQUMsVUFBVSxFQUFFLENBQUMsU0FBUyxDQUFDLElBQUksQ0FBQyxFQUFFLENBQUMsSUFBSSxDQUFDLFVBQVUsQ0FBQyxRQUFRLENBQUMsQ0FBQztRQUNuRyxNQUFNLFdBQVcsR0FBRyxJQUFJLENBQUMsYUFBYSxDQUFDLFlBQVksQ0FBQyxJQUFJLENBQVMsU0FBUyxDQUFDLEVBQUUsQ0FBQyxDQUFDLENBQUM7UUFDaEYsSUFBSSxDQUFDLFNBQVMsR0FBRyxhQUFhLENBQUMsU0FBUyxFQUFFLFdBQVcsQ0FBQyxDQUFDLElBQUksQ0FDdkQsR0FBRyxDQUFDLENBQUMsQ0FBQyxRQUFRLEVBQUUsVUFBVSxDQUFDLEVBQUUsRUFBRSxDQUFDLFVBQVU7WUFDbEMsQ0FBQyxDQUFDLFFBQVEsQ0FBQyxNQUFNLENBQUMsQ0FBQyxDQUFDLEVBQUUsQ0FDaEIsQ0FBQyxDQUFDLElBQUksQ0FBQyxpQkFBaUIsRUFBRSxDQUFDLFFBQVEsQ0FBQyxVQUFVLENBQUMsaUJBQWlCLEVBQUUsQ0FBQyxDQUN0RTtZQUNILENBQUMsQ0FBQyxRQUFRLENBQUMsQ0FDdEIsQ0FBQztRQUNGLElBQUksQ0FBQyxhQUFhLEdBQUcsU0FBUyxDQUFDLElBQUksQ0FBQyxHQUFHLENBQUMsUUFBUSxDQUFDLEVBQUUsQ0FBQyxRQUFRLENBQUMsTUFBTSxDQUFDLENBQUMsQ0FBQztRQUN0RSxNQUFNLGNBQWMsR0FBRyxJQUFJLENBQUMsV0FBVyxDQUFDLE1BQU07YUFDekMsVUFBVSxFQUFFO2FBQ1osU0FBUyxDQUFDLElBQUksQ0FBQyxFQUFFLENBQUMsSUFBSSxDQUFDLFVBQVUsQ0FBQyxRQUFRLENBQUMsSUFBSSxDQUFDLENBQUMsQ0FBQyxFQUFFLENBQUMsQ0FBQyxDQUFDLEVBQUUsS0FBSyxJQUFJLENBQUMsVUFBVSxDQUFDLGVBQWUsQ0FBQyxDQUFDO2FBQy9GLElBQUksQ0FBQyxNQUFNLENBQUMsa0JBQWtCLENBQUMsQ0FBQyxDQUFDO1FBQ3RDLElBQUksQ0FBQyxrQkFBa0IsR0FBRyxjQUFjLENBQUMsSUFBSSxDQUFDLEdBQUcsQ0FBQyxPQUFPLENBQUMsRUFBRSxDQUFDLE9BQU8sQ0FBQyxJQUFJLENBQUMsQ0FBQyxDQUFDO0lBQ2hGLENBQUM7SUFFRCxnQkFBZ0IsQ0FBQyxTQUFpQjtRQUM5QixJQUFJLENBQUMsY0FBYyxDQUFDLGdCQUFnQixDQUFDLFNBQVMsQ0FBQyxDQUFDLFNBQVMsQ0FBQyxHQUFHLEVBQUUsQ0FBQyxJQUFJLENBQUMsYUFBYSxDQUFDLFVBQVUsQ0FBQyxFQUFFLENBQUMsQ0FBQyxDQUFDO0lBQ3ZHLENBQUM7OEdBNUJRLHdCQUF3QjtrR0FBeEIsd0JBQXdCLDREQ2hCckMsKzBDQTZCQTs7MkZEYmEsd0JBQXdCO2tCQU5wQyxTQUFTOytCQUNJLHNCQUFzQixtQkFHZix1QkFBdUIsQ0FBQyxNQUFNIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgQ2hhbmdlRGV0ZWN0aW9uU3RyYXRlZ3ksIENvbXBvbmVudCwgT25Jbml0IH0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XHJcbmltcG9ydCB7IFVudHlwZWRGb3JtQ29udHJvbCB9IGZyb20gJ0Bhbmd1bGFyL2Zvcm1zJztcclxuaW1wb3J0IHsgbm90TnVsbE9yVW5kZWZpbmVkIH0gZnJvbSAnQHZlbmR1cmUvY29tbW9uL2xpYi9zaGFyZWQtdXRpbHMnO1xyXG5pbXBvcnQgeyBjb21iaW5lTGF0ZXN0LCBPYnNlcnZhYmxlIH0gZnJvbSAncnhqcyc7XHJcbmltcG9ydCB7IGZpbHRlciwgbWFwLCBzdGFydFdpdGggfSBmcm9tICdyeGpzL29wZXJhdG9ycyc7XHJcblxyXG5pbXBvcnQgeyBDdXJyZW50VXNlckNoYW5uZWwgfSBmcm9tICcuLi8uLi9jb21tb24vZ2VuZXJhdGVkLXR5cGVzJztcclxuaW1wb3J0IHsgRGF0YVNlcnZpY2UgfSBmcm9tICcuLi8uLi9kYXRhL3Byb3ZpZGVycy9kYXRhLnNlcnZpY2UnO1xyXG5pbXBvcnQgeyBDaGFubmVsU2VydmljZSB9IGZyb20gJy4uLy4uL3Byb3ZpZGVycy9jaGFubmVsL2NoYW5uZWwuc2VydmljZSc7XHJcblxyXG5AQ29tcG9uZW50KHtcclxuICAgIHNlbGVjdG9yOiAndmRyLWNoYW5uZWwtc3dpdGNoZXInLFxyXG4gICAgdGVtcGxhdGVVcmw6ICcuL2NoYW5uZWwtc3dpdGNoZXIuY29tcG9uZW50Lmh0bWwnLFxyXG4gICAgc3R5bGVVcmxzOiBbJy4vY2hhbm5lbC1zd2l0Y2hlci5jb21wb25lbnQuc2NzcyddLFxyXG4gICAgY2hhbmdlRGV0ZWN0aW9uOiBDaGFuZ2VEZXRlY3Rpb25TdHJhdGVneS5PblB1c2gsXHJcbn0pXHJcbmV4cG9ydCBjbGFzcyBDaGFubmVsU3dpdGNoZXJDb21wb25lbnQgaW1wbGVtZW50cyBPbkluaXQge1xyXG4gICAgcmVhZG9ubHkgZGlzcGxheUZpbHRlclRocmVzaG9sZCA9IDEwO1xyXG4gICAgY2hhbm5lbHMkOiBPYnNlcnZhYmxlPEN1cnJlbnRVc2VyQ2hhbm5lbFtdPjtcclxuICAgIGNoYW5uZWxDb3VudCQ6IE9ic2VydmFibGU8bnVtYmVyPjtcclxuICAgIGZpbHRlckNvbnRyb2wgPSBuZXcgVW50eXBlZEZvcm1Db250cm9sKCcnKTtcclxuICAgIGFjdGl2ZUNoYW5uZWxDb2RlJDogT2JzZXJ2YWJsZTxzdHJpbmc+O1xyXG4gICAgY29uc3RydWN0b3IocHJpdmF0ZSBkYXRhU2VydmljZTogRGF0YVNlcnZpY2UsIHByaXZhdGUgY2hhbm5lbFNlcnZpY2U6IENoYW5uZWxTZXJ2aWNlKSB7fVxyXG5cclxuICAgIG5nT25Jbml0KCkge1xyXG4gICAgICAgIGNvbnN0IGNoYW5uZWxzJCA9IHRoaXMuZGF0YVNlcnZpY2UuY2xpZW50LnVzZXJTdGF0dXMoKS5tYXBTdHJlYW0oZGF0YSA9PiBkYXRhLnVzZXJTdGF0dXMuY2hhbm5lbHMpO1xyXG4gICAgICAgIGNvbnN0IGZpbHRlclRlcm0kID0gdGhpcy5maWx0ZXJDb250cm9sLnZhbHVlQ2hhbmdlcy5waXBlPHN0cmluZz4oc3RhcnRXaXRoKCcnKSk7XHJcbiAgICAgICAgdGhpcy5jaGFubmVscyQgPSBjb21iaW5lTGF0ZXN0KGNoYW5uZWxzJCwgZmlsdGVyVGVybSQpLnBpcGUoXHJcbiAgICAgICAgICAgIG1hcCgoW2NoYW5uZWxzLCBmaWx0ZXJUZXJtXSkgPT4gZmlsdGVyVGVybVxyXG4gICAgICAgICAgICAgICAgICAgID8gY2hhbm5lbHMuZmlsdGVyKGMgPT5cclxuICAgICAgICAgICAgICAgICAgICAgICAgICBjLmNvZGUudG9Mb2NhbGVMb3dlckNhc2UoKS5pbmNsdWRlcyhmaWx0ZXJUZXJtLnRvTG9jYWxlTG93ZXJDYXNlKCkpLFxyXG4gICAgICAgICAgICAgICAgICAgICAgKVxyXG4gICAgICAgICAgICAgICAgICAgIDogY2hhbm5lbHMpLFxyXG4gICAgICAgICk7XHJcbiAgICAgICAgdGhpcy5jaGFubmVsQ291bnQkID0gY2hhbm5lbHMkLnBpcGUobWFwKGNoYW5uZWxzID0+IGNoYW5uZWxzLmxlbmd0aCkpO1xyXG4gICAgICAgIGNvbnN0IGFjdGl2ZUNoYW5uZWwkID0gdGhpcy5kYXRhU2VydmljZS5jbGllbnRcclxuICAgICAgICAgICAgLnVzZXJTdGF0dXMoKVxyXG4gICAgICAgICAgICAubWFwU3RyZWFtKGRhdGEgPT4gZGF0YS51c2VyU3RhdHVzLmNoYW5uZWxzLmZpbmQoYyA9PiBjLmlkID09PSBkYXRhLnVzZXJTdGF0dXMuYWN0aXZlQ2hhbm5lbElkKSlcclxuICAgICAgICAgICAgLnBpcGUoZmlsdGVyKG5vdE51bGxPclVuZGVmaW5lZCkpO1xyXG4gICAgICAgIHRoaXMuYWN0aXZlQ2hhbm5lbENvZGUkID0gYWN0aXZlQ2hhbm5lbCQucGlwZShtYXAoY2hhbm5lbCA9PiBjaGFubmVsLmNvZGUpKTtcclxuICAgIH1cclxuXHJcbiAgICBzZXRBY3RpdmVDaGFubmVsKGNoYW5uZWxJZDogc3RyaW5nKSB7XHJcbiAgICAgICAgdGhpcy5jaGFubmVsU2VydmljZS5zZXRBY3RpdmVDaGFubmVsKGNoYW5uZWxJZCkuc3Vic2NyaWJlKCgpID0+IHRoaXMuZmlsdGVyQ29udHJvbC5wYXRjaFZhbHVlKCcnKSk7XHJcbiAgICB9XHJcbn1cclxuIiwiPG5nLWNvbnRhaW5lcj5cclxuICAgIDx2ZHItZHJvcGRvd24+XHJcbiAgICAgICAgPGJ1dHRvbiBjbGFzcz1cImFjdGl2ZS1jaGFubmVsIG0tYXV0b1wiIHZkckRyb3Bkb3duVHJpZ2dlcj5cclxuICAgICAgICAgICAgPHZkci1jaGFubmVsLWJhZGdlIFtjaGFubmVsQ29kZV09XCJhY3RpdmVDaGFubmVsQ29kZSQgfCBhc3luY1wiPjwvdmRyLWNoYW5uZWwtYmFkZ2U+XHJcbiAgICAgICAgICAgIDxzcGFuIGNsYXNzPVwiY2hhbm5lbC1sYWJlbFwiPnt7XHJcbiAgICAgICAgICAgICAgICBhY3RpdmVDaGFubmVsQ29kZSQgfCBhc3luYyB8IGNoYW5uZWxDb2RlVG9MYWJlbCB8IHRyYW5zbGF0ZVxyXG4gICAgICAgICAgICB9fTwvc3Bhbj5cclxuICAgICAgICAgICAgPHNwYW4gY2xhc3M9XCJ0cmlnZ2VyXCI+PGNsci1pY29uIHNoYXBlPVwiZWxsaXBzaXMtdmVydGljYWxcIiBzaXplPVwiMTJcIj48L2Nsci1pY29uPjwvc3Bhbj5cclxuICAgICAgICA8L2J1dHRvbj5cclxuICAgICAgICA8dmRyLWRyb3Bkb3duLW1lbnUgdmRyUG9zaXRpb249XCJib3R0b20tcmlnaHRcIj5cclxuICAgICAgICAgICAgPGlucHV0XHJcbiAgICAgICAgICAgICAgICAqbmdJZj1cIigoY2hhbm5lbENvdW50JCB8IGFzeW5jKSB8fCAwKSA+PSBkaXNwbGF5RmlsdGVyVGhyZXNob2xkXCJcclxuICAgICAgICAgICAgICAgIFtmb3JtQ29udHJvbF09XCJmaWx0ZXJDb250cm9sXCJcclxuICAgICAgICAgICAgICAgIHR5cGU9XCJ0ZXh0XCJcclxuICAgICAgICAgICAgICAgIGNsYXNzPVwibWwyIG1yMlwiXHJcbiAgICAgICAgICAgICAgICBbcGxhY2Vob2xkZXJdPVwiJ2NvbW1vbi5maWx0ZXInIHwgdHJhbnNsYXRlXCJcclxuICAgICAgICAgICAgLz5cclxuICAgICAgICAgICAgPGJ1dHRvblxyXG4gICAgICAgICAgICAgICAgKm5nRm9yPVwibGV0IGNoYW5uZWwgb2YgY2hhbm5lbHMkIHwgYXN5bmNcIlxyXG4gICAgICAgICAgICAgICAgdHlwZT1cImJ1dHRvblwiXHJcbiAgICAgICAgICAgICAgICB2ZHJEcm9wZG93bkl0ZW1cclxuICAgICAgICAgICAgICAgIChjbGljayk9XCJzZXRBY3RpdmVDaGFubmVsKGNoYW5uZWwuaWQpXCJcclxuICAgICAgICAgICAgPlxyXG4gICAgICAgICAgICAgICAgPHZkci1jaGFubmVsLWJhZGdlIFtjaGFubmVsQ29kZV09XCJjaGFubmVsLmNvZGVcIj48L3Zkci1jaGFubmVsLWJhZGdlPlxyXG4gICAgICAgICAgICAgICAge3sgY2hhbm5lbC5jb2RlIHwgY2hhbm5lbENvZGVUb0xhYmVsIHwgdHJhbnNsYXRlIH19XHJcbiAgICAgICAgICAgIDwvYnV0dG9uPlxyXG4gICAgICAgIDwvdmRyLWRyb3Bkb3duLW1lbnU+XHJcbiAgICA8L3Zkci1kcm9wZG93bj5cclxuPC9uZy1jb250YWluZXI+XHJcbiJdfQ==
|
|
@@ -29,4 +29,4 @@ export function setDashboardWidgetLayout(layoutDef) {
|
|
|
29
29
|
deps: [DashboardWidgetService],
|
|
30
30
|
};
|
|
31
31
|
}
|
|
32
|
-
//# sourceMappingURL=data:application/json;base64,
|
|
32
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicmVnaXN0ZXItZGFzaGJvYXJkLXdpZGdldC5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uL3NyYy9saWIvY29yZS9zcmMvcHJvdmlkZXJzL2Rhc2hib2FyZC13aWRnZXQvcmVnaXN0ZXItZGFzaGJvYXJkLXdpZGdldC50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQUUsZUFBZSxFQUFtQixNQUFNLGVBQWUsQ0FBQztBQUdqRSxPQUFPLEVBQUUsc0JBQXNCLEVBQUUsTUFBTSw0QkFBNEIsQ0FBQztBQUVwRTs7OztHQUlHO0FBQ0gsTUFBTSxVQUFVLHVCQUF1QixDQUFDLEVBQVUsRUFBRSxNQUE2QjtJQUM3RSxPQUFPO1FBQ0gsT0FBTyxFQUFFLGVBQWU7UUFDeEIsS0FBSyxFQUFFLElBQUk7UUFDWCxVQUFVLEVBQUUsQ0FBQyxzQkFBOEMsRUFBRSxFQUFFLENBQUMsR0FBRyxFQUFFO1lBQ2pFLHNCQUFzQixDQUFDLGNBQWMsQ0FBQyxFQUFFLEVBQUUsTUFBTSxDQUFDLENBQUM7UUFDdEQsQ0FBQztRQUNELElBQUksRUFBRSxDQUFDLHNCQUFzQixDQUFDO0tBQ2pDLENBQUM7QUFDTixDQUFDO0FBRUQ7OztHQUdHO0FBQ0gsTUFBTSxVQUFVLHdCQUF3QixDQUFDLFNBQWlDO0lBQ3RFLE9BQU87UUFDSCxPQUFPLEVBQUUsZUFBZTtRQUN4QixLQUFLLEVBQUUsSUFBSTtRQUNYLFVBQVUsRUFBRSxDQUFDLHNCQUE4QyxFQUFFLEVBQUUsQ0FBQyxHQUFHLEVBQUU7WUFDakUsc0JBQXNCLENBQUMsZ0JBQWdCLENBQUMsU0FBUyxDQUFDLENBQUM7UUFDdkQsQ0FBQztRQUNELElBQUksRUFBRSxDQUFDLHNCQUFzQixDQUFDO0tBQ2pDLENBQUM7QUFDTixDQUFDIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgQVBQX0lOSVRJQUxJWkVSLCBGYWN0b3J5UHJvdmlkZXIgfSBmcm9tICdAYW5ndWxhci9jb3JlJztcclxuXHJcbmltcG9ydCB7IERhc2hib2FyZFdpZGdldENvbmZpZywgV2lkZ2V0TGF5b3V0RGVmaW5pdGlvbiB9IGZyb20gJy4vZGFzaGJvYXJkLXdpZGdldC10eXBlcyc7XHJcbmltcG9ydCB7IERhc2hib2FyZFdpZGdldFNlcnZpY2UgfSBmcm9tICcuL2Rhc2hib2FyZC13aWRnZXQuc2VydmljZSc7XHJcblxyXG4vKipcclxuICogQGRlc2NyaXB0aW9uXHJcbiAqIFJlZ2lzdGVycyBhIGRhc2hib2FyZCB3aWRnZXQuIE9uY2UgcmVnaXN0ZXJlZCwgdGhlIHdpZGdldCBjYW4gYmUgc2V0IGFzIHBhcnQgb2YgdGhlIGRlZmF1bHRcclxuICogKHVzaW5nIHtAbGluayBzZXREYXNoYm9hcmRXaWRnZXRMYXlvdXR9KS5cclxuICovXHJcbmV4cG9ydCBmdW5jdGlvbiByZWdpc3RlckRhc2hib2FyZFdpZGdldChpZDogc3RyaW5nLCBjb25maWc6IERhc2hib2FyZFdpZGdldENvbmZpZyk6IEZhY3RvcnlQcm92aWRlciB7XHJcbiAgICByZXR1cm4ge1xyXG4gICAgICAgIHByb3ZpZGU6IEFQUF9JTklUSUFMSVpFUixcclxuICAgICAgICBtdWx0aTogdHJ1ZSxcclxuICAgICAgICB1c2VGYWN0b3J5OiAoZGFzaGJvYXJkV2lkZ2V0U2VydmljZTogRGFzaGJvYXJkV2lkZ2V0U2VydmljZSkgPT4gKCkgPT4ge1xyXG4gICAgICAgICAgICBkYXNoYm9hcmRXaWRnZXRTZXJ2aWNlLnJlZ2lzdGVyV2lkZ2V0KGlkLCBjb25maWcpO1xyXG4gICAgICAgIH0sXHJcbiAgICAgICAgZGVwczogW0Rhc2hib2FyZFdpZGdldFNlcnZpY2VdLFxyXG4gICAgfTtcclxufVxyXG5cclxuLyoqXHJcbiAqIEBkZXNjcmlwdGlvblxyXG4gKiBTZXRzIHRoZSBkZWZhdWx0IHdpZGdldCBsYXlvdXQgZm9yIHRoZSBBZG1pbiBVSSBkYXNoYm9hcmQuXHJcbiAqL1xyXG5leHBvcnQgZnVuY3Rpb24gc2V0RGFzaGJvYXJkV2lkZ2V0TGF5b3V0KGxheW91dERlZjogV2lkZ2V0TGF5b3V0RGVmaW5pdGlvbik6IEZhY3RvcnlQcm92aWRlciB7XHJcbiAgICByZXR1cm4ge1xyXG4gICAgICAgIHByb3ZpZGU6IEFQUF9JTklUSUFMSVpFUixcclxuICAgICAgICBtdWx0aTogdHJ1ZSxcclxuICAgICAgICB1c2VGYWN0b3J5OiAoZGFzaGJvYXJkV2lkZ2V0U2VydmljZTogRGFzaGJvYXJkV2lkZ2V0U2VydmljZSkgPT4gKCkgPT4ge1xyXG4gICAgICAgICAgICBkYXNoYm9hcmRXaWRnZXRTZXJ2aWNlLnNldERlZmF1bHRMYXlvdXQobGF5b3V0RGVmKTtcclxuICAgICAgICB9LFxyXG4gICAgICAgIGRlcHM6IFtEYXNoYm9hcmRXaWRnZXRTZXJ2aWNlXSxcclxuICAgIH07XHJcbn1cclxuIl19
|
|
@@ -1,7 +1,8 @@
|
|
|
1
1
|
import { marker as _ } from '@biesbjerg/ngx-translate-extract-marker';
|
|
2
2
|
import { assertNever } from '@vendure/common/lib/shared-utils';
|
|
3
|
-
import { Subject } from 'rxjs';
|
|
4
3
|
import extend from 'just-extend';
|
|
4
|
+
import { Subject } from 'rxjs';
|
|
5
|
+
import { debounceTime, distinctUntilChanged, map, startWith } from 'rxjs/operators';
|
|
5
6
|
import { DataTableFilter, } from './data-table-filter';
|
|
6
7
|
export class FilterWithValue {
|
|
7
8
|
constructor(filter, value, onUpdate) {
|
|
@@ -21,6 +22,9 @@ export class FilterWithValue {
|
|
|
21
22
|
fn(value);
|
|
22
23
|
}
|
|
23
24
|
}
|
|
25
|
+
isId() {
|
|
26
|
+
return this.filter.type.kind === 'id';
|
|
27
|
+
}
|
|
24
28
|
isText() {
|
|
25
29
|
return this.filter.type.kind === 'text';
|
|
26
30
|
}
|
|
@@ -52,7 +56,7 @@ export class DataTableFilterCollection {
|
|
|
52
56
|
this.#activeFilters = [];
|
|
53
57
|
this.#valueChanges$ = new Subject();
|
|
54
58
|
this.#connectedToRouter = false;
|
|
55
|
-
this.valueChanges = this.#valueChanges$.asObservable();
|
|
59
|
+
this.valueChanges = this.#valueChanges$.asObservable().pipe(debounceTime(10));
|
|
56
60
|
this.#filtersQueryParamName = 'filters';
|
|
57
61
|
}
|
|
58
62
|
get length() {
|
|
@@ -74,6 +78,15 @@ export class DataTableFilterCollection {
|
|
|
74
78
|
}
|
|
75
79
|
return this;
|
|
76
80
|
}
|
|
81
|
+
addIdFilter() {
|
|
82
|
+
this.addFilter({
|
|
83
|
+
name: 'id',
|
|
84
|
+
type: { kind: 'id' },
|
|
85
|
+
label: _('common.id'),
|
|
86
|
+
filterField: 'id',
|
|
87
|
+
});
|
|
88
|
+
return this;
|
|
89
|
+
}
|
|
77
90
|
addDateFilters() {
|
|
78
91
|
this.addFilter({
|
|
79
92
|
name: 'createdAt',
|
|
@@ -148,29 +161,46 @@ export class DataTableFilterCollection {
|
|
|
148
161
|
}, {});
|
|
149
162
|
}
|
|
150
163
|
connectToRoute(route) {
|
|
151
|
-
this.valueChanges.subscribe(
|
|
164
|
+
this.valueChanges.subscribe(() => {
|
|
152
165
|
this.router.navigate(['./'], {
|
|
153
166
|
queryParams: { [this.#filtersQueryParamName]: this.serialize(), page: 1 },
|
|
154
167
|
relativeTo: route,
|
|
155
168
|
queryParamsHandling: 'merge',
|
|
156
169
|
});
|
|
157
170
|
});
|
|
158
|
-
|
|
159
|
-
.
|
|
160
|
-
.
|
|
161
|
-
|
|
162
|
-
|
|
163
|
-
|
|
164
|
-
|
|
165
|
-
const val = this.deserializeValue(filter, value);
|
|
166
|
-
this.#activeFilters.push(this.createFacetWithValue(filter, val));
|
|
171
|
+
route.queryParamMap
|
|
172
|
+
.pipe(map(params => params.get(this.#filtersQueryParamName)), distinctUntilChanged(), startWith(route.snapshot.queryParamMap.get(this.#filtersQueryParamName) ?? ''))
|
|
173
|
+
.subscribe(value => {
|
|
174
|
+
this.#activeFilters = [];
|
|
175
|
+
if (value === '') {
|
|
176
|
+
this.#valueChanges$.next(this.#activeFilters);
|
|
177
|
+
return;
|
|
167
178
|
}
|
|
168
|
-
|
|
179
|
+
const filterQueryParams = (value ?? '')
|
|
180
|
+
.split(';')
|
|
181
|
+
.map(value => value.split(':'))
|
|
182
|
+
.map(([name, value]) => ({ name, value }));
|
|
183
|
+
for (const { name, value } of filterQueryParams) {
|
|
184
|
+
const filter = this.getFilter(name);
|
|
185
|
+
if (filter) {
|
|
186
|
+
const val = this.deserializeValue(filter, value);
|
|
187
|
+
filter.activate(val);
|
|
188
|
+
}
|
|
189
|
+
}
|
|
190
|
+
});
|
|
169
191
|
this.#connectedToRouter = true;
|
|
170
192
|
return this;
|
|
171
193
|
}
|
|
194
|
+
serialize() {
|
|
195
|
+
return this.#activeFilters
|
|
196
|
+
.map((filterWithValue, i) => `${filterWithValue.filter.name}:${this.serializeValue(filterWithValue)}`)
|
|
197
|
+
.join(';');
|
|
198
|
+
}
|
|
172
199
|
serializeValue(filterWithValue) {
|
|
173
|
-
|
|
200
|
+
if (filterWithValue.isId()) {
|
|
201
|
+
const val = filterWithValue.value;
|
|
202
|
+
return `${val?.operator},${val?.term}`;
|
|
203
|
+
}
|
|
174
204
|
if (filterWithValue.isText()) {
|
|
175
205
|
const val = filterWithValue.value;
|
|
176
206
|
return `${val?.operator},${val?.term}`;
|
|
@@ -199,6 +229,10 @@ export class DataTableFilterCollection {
|
|
|
199
229
|
}
|
|
200
230
|
deserializeValue(filter, value) {
|
|
201
231
|
switch (filter.type.kind) {
|
|
232
|
+
case 'id': {
|
|
233
|
+
const [operator, term] = value.split(',');
|
|
234
|
+
return { operator, term };
|
|
235
|
+
}
|
|
202
236
|
case 'text': {
|
|
203
237
|
const [operator, term] = value.split(',');
|
|
204
238
|
return { operator, term };
|
|
@@ -222,17 +256,12 @@ export class DataTableFilterCollection {
|
|
|
222
256
|
assertNever(filter.type);
|
|
223
257
|
}
|
|
224
258
|
}
|
|
225
|
-
serialize() {
|
|
226
|
-
return this.#activeFilters
|
|
227
|
-
.map((filterWithValue, i) => `${filterWithValue.filter.name}:${this.serializeValue(filterWithValue)}`)
|
|
228
|
-
.join(';');
|
|
229
|
-
}
|
|
230
259
|
onActivateFilter(filter, value) {
|
|
231
|
-
this.#activeFilters.push(this.
|
|
260
|
+
this.#activeFilters.push(this.createFilterWithValue(filter, value));
|
|
232
261
|
this.#valueChanges$.next(this.#activeFilters);
|
|
233
262
|
}
|
|
234
|
-
|
|
263
|
+
createFilterWithValue(filter, value) {
|
|
235
264
|
return new FilterWithValue(filter, value, v => this.#valueChanges$.next(v));
|
|
236
265
|
}
|
|
237
266
|
}
|
|
238
|
-
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZGF0YS10YWJsZS1maWx0ZXItY29sbGVjdGlvbi5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uL3NyYy9saWIvY29yZS9zcmMvcHJvdmlkZXJzL2RhdGEtdGFibGUvZGF0YS10YWJsZS1maWx0ZXItY29sbGVjdGlvbi50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFDQSxPQUFPLEVBQUUsTUFBTSxJQUFJLENBQUMsRUFBRSxNQUFNLHlDQUF5QyxDQUFDO0FBRXRFLE9BQU8sRUFBRSxXQUFXLEVBQUUsTUFBTSxrQ0FBa0MsQ0FBQztBQUMvRCxPQUFPLEVBQUUsT0FBTyxFQUFFLE1BQU0sTUFBTSxDQUFDO0FBQy9CLE9BQU8sTUFBTSxNQUFNLGFBQWEsQ0FBQztBQU9qQyxPQUFPLEVBQ0gsZUFBZSxHQVVsQixNQUFNLHFCQUFxQixDQUFDO0FBRTdCLE1BQU0sT0FBTyxlQUFlO0lBRXhCLFlBQ29CLE1BQWtDLEVBQzNDLEtBQWlDLEVBQ3hDLFFBQXNEO1FBRnRDLFdBQU0sR0FBTixNQUFNLENBQTRCO1FBQzNDLFVBQUssR0FBTCxLQUFLLENBQTRCO1FBSHBDLGdCQUFXLEdBQUcsSUFBSSxHQUFHLEVBQStDLENBQUM7UUFNekUsSUFBSSxRQUFRLEVBQUU7WUFDVixJQUFJLENBQUMsV0FBVyxDQUFDLEdBQUcsQ0FBQyxRQUFRLENBQUMsQ0FBQztTQUNsQztJQUNMLENBQUM7SUFFRCxRQUFRLENBQUMsRUFBK0M7UUFDcEQsSUFBSSxDQUFDLFdBQVcsQ0FBQyxHQUFHLENBQUMsRUFBRSxDQUFDLENBQUM7SUFDN0IsQ0FBQztJQUVELFdBQVcsQ0FBQyxLQUFpQztRQUN6QyxJQUFJLENBQUMsS0FBSyxHQUFHLEtBQUssQ0FBQztRQUNuQixLQUFLLE1BQU0sRUFBRSxJQUFJLElBQUksQ0FBQyxXQUFXLEVBQUU7WUFDL0IsRUFBRSxDQUFDLEtBQUssQ0FBQyxDQUFDO1NBQ2I7SUFDTCxDQUFDO0lBRUQsTUFBTTtRQUNGLE9BQU8sSUFB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RUFBRSxHQUFHLEVBQUUsQ0FBQztZQUMxQixLQUFLLFFBQVE7Z0JBQ1QsT0FBTyxNQUFNLENBQUMsSUFBSSxDQUFDLGdCQUFnQixDQUFDLEtBQUssQ0FBQyxDQUFDO1lBQy9DO2dCQUNJLFdBQVcsQ0FBQyxNQUFNLENBQUMsSUFBSSxDQUFDLENBQUM7U0FDaEM7SUFDTCxDQUFDO0lBRU8sU0FBUztRQUNiLE9BQU8sSUFBSSxDQUFDLGNBQWM7YUFDckIsR0FBRyxDQUNBLENBQUMsZUFBZSxFQUFFLENBQUMsRUFBRSxFQUFFLENBQ25CLEdBQUcsZUFBZSxDQUFDLE1BQU0sQ0FBQyxJQUFJLElBQUksSUFBSSxDQUFDLGNBQWMsQ0FBQyxlQUFlLENBQUMsRUFBRSxDQUMvRTthQUNBLElBQUksQ0FBQyxHQUFHLENBQUMsQ0FBQztJQUNuQixDQUFDO0lBRU8sZ0JBQWdCLENBQUMsTUFBaUMsRUFBRSxLQUFnQztRQUN4RixJQUFJLENBQUMsY0FBYyxDQUFDLElBQUksQ0FBQyxJQUFJLENBQUMsb0JBQW9CLENBQUMsTUFBTSxFQUFFLEtBQUssQ0FBQyxDQUFDLENBQUM7UUFDbkUsSUFBSSxDQUFDLGNBQWMsQ0FBQyxJQUFJLENBQUMsSUFBSSxDQUFDLGNBQWMsQ0FBQyxDQUFDO0lBQ2xELENBQUM7SUFFTyxvQkFBb0IsQ0FDeEIsTUFBaUMsRUFDakMsS0FBZ0Q7UUFFaEQsT0FBTyxJQUFJLGVBQWUsQ0FBQyxNQUFNLEVBQUUsS0FBSyxFQUFFLENBQUMsQ0FBQyxFQUFFLENBQUMsSUFBSSxDQUFDLGNBQWMsQ0FBQyxJQUFJLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQztJQUNoRixDQUFDO0NBQ0oiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBBY3RpdmF0ZWRSb3V0ZSwgUm91dGVyIH0gZnJvbSAnQGFuZ3VsYXIvcm91dGVyJztcclxuaW1wb3J0IHsgbWFya2VyIGFzIF8gfSBmcm9tICdAYmllc2JqZXJnL25neC10cmFuc2xhdGUtZXh0cmFjdC1tYXJrZXInO1xyXG5pbXBvcnQgeyBDdXN0b21GaWVsZFR5cGUgfSBmcm9tICdAdmVuZHVyZS9jb21tb24vbGliL3NoYXJlZC10eXBlcyc7XHJcbmltcG9ydCB7IGFzc2VydE5ldmVyIH0gZnJvbSAnQHZlbmR1cmUvY29tbW9uL2xpYi9zaGFyZWQtdXRpbHMnO1xyXG5pbXBvcnQgeyBTdWJqZWN0IH0gZnJvbSAncnhqcyc7XHJcbmltcG9ydCBleHRlbmQgZnJvbSAnanVzdC1leHRlbmQnO1xyXG5pbXBvcnQge1xyXG4gICAgQ3VzdG9tRmllbGRDb25maWcsXHJcbiAgICBEYXRlT3BlcmF0b3JzLFxyXG4gICAgTnVtYmVyT3BlcmF0b3JzLFxyXG4gICAgU3RyaW5nT3BlcmF0b3JzLFxyXG59IGZyb20gJy4uLy4uL2NvbW1vbi9nZW5lcmF0ZWQtdHlwZXMnO1xyXG5pbXBvcnQge1xyXG4gICAgRGF0YVRhYmxlRmlsdGVyLFxyXG4gICAgRGF0YVRhYmxlRmlsdGVyQm9vbGVhblR5cGUsXHJcbiAgICBEYXRhVGFibGVGaWx0ZXJDdXN0b21UeXBlLFxyXG4gICAgRGF0YVRhYmxlRmlsdGVyRGF0ZVJhbmdlVHlwZSxcclxuICAgIERhdGFUYWJsZUZpbHRlck51bWJlclR5cGUsXHJcbiAgICBEYXRhVGFibGVGaWx0ZXJPcHRpb25zLFxyXG4gICAgRGF0YVRhYmxlRmlsdGVyU2VsZWN0VHlwZSxcclxuICAgIERhdGFUYWJsZUZpbHRlclRleHRUeXBlLFxyXG4gICAgRGF0YVRhYmxlRmlsdGVyVHlwZSxcclxuICAgIERhdGFUYWJsZUZpbHRlclZhbHVlLFxyXG59IGZyb20gJy4vZGF0YS10YWJsZS1maWx0ZXInO1xyXG5cclxuZXhwb3J0IGNsYXNzIEZpbHRlcldpdGhWYWx1ZTxUeXBlIGV4dGVuZHMgRGF0YVRhYmxlRmlsdGVyVHlwZSA9IERhdGFUYWJsZUZpbHRlclR5cGU+IHtcclxuICAgIHByaXZhdGUgb25VcGRhdGVGbnMgPSBuZXcgU2V0PCh2YWx1ZTogRGF0YVRhYmxlRmlsdGVyVmFsdWU8VHlwZT4pID0+IHZvaWQ+KCk7XHJcbiAgICBjb25zdHJ1Y3RvcihcclxuICAgICAgICBwdWJsaWMgcmVhZG9ubHkgZmlsdGVyOiBEYXRhVGFibGVGaWx0ZXI8YW55LCBUeXBlPixcclxuICAgICAgICBwdWJsaWMgdmFsdWU6IERhdGFUYWJsZUZpbHRlclZhbHVlPFR5cGU+LFxyXG4gICAgICAgIG9uVXBkYXRlPzogKHZhbHVlOiBEYXRhVGFibGVGaWx0ZXJWYWx1ZTxUeXBlPikgPT4gdm9pZCxcclxuICAgICkge1xyXG4gICAgICAgIGlmIChvblVwZGF0ZSkge1xyXG4gICAgICAgICAgICB0aGlzLm9uVXBkYXRlRm5zLmFkZChvblVwZGF0ZSk7XHJcbiAgICAgICAgfVxyXG4gICAgfVxyXG5cclxuICAgIG9uVXBkYXRlKGZuOiAodmFsdWU6IERhdGFUYWJsZUZpbHRlclZhbHVlPFR5cGU+KSA9PiB2b2lkKSB7XHJcbiAgICAgICAgdGhpcy5vblVwZGF0ZUZucy5hZGQoZm4pO1xyXG4gICAgfVxyXG5cclxuICAgIHVwZGF0ZVZhbHVlKHZhbHVlOiBEYXRhVGFibGVGaWx0ZXJWYWx1ZTxUeXBlPikge1xyXG4gICAgICAgIHRoaXMudmFsdWUgPSB2YWx1ZTtcclxuICAgICAgICBmb3IgKGNvbnN0IGZuIG9mIHRoaXMub25VcGRhdGVGbnMpIHtcclxuICAgICAgICAgICAgZm4odmFsdWUpO1xyXG4gICAgICAgIH1cclxuICAgIH1cclxuXHJcbiAgICBpc1RleHQoKTogdGhpcyBpcyBGaWx0ZXJXaXRoVmFsdWU8RGF0YVRhYmxlRmlsdGVyVGV4dFR5cGU+IHtcclxuICAgICAgICByZXR1cm4gdGhpcy5maWx0ZXIudHlwZS5raW5kID09PSAndGV4dCc7XHJcbiAgICB9XHJcblxyXG4gICAgaXNOdW1iZXIoKTogdGhpcyBpcyBGaWx0ZXJXaXRoVmFsdWU8RGF0YVRhYmxlRmlsdGVyTnVtYmVyVHlwZT4ge1xyXG4gICAgICAgIHJldHVybiB0aGlzLmZpbHRlci50eXBlLmtpbmQgPT09ICdudW1iZXInO1xyXG4gICAgfVxyXG5cclxuICAgIGlzQm9vbGVhbigpOiB0aGlzIGlzIEZpbHRlcldpdGhWYWx1ZTxEYXRhVGFibGVGaWx0ZXJCb29sZWFuVHlwZT4ge1xyXG4gICAgICAgIHJldHVybiB0aGlzLmZpbHRlci50eXBlLmtpbmQgPT09ICdib29sZWFuJztcclxuICAgIH1cclxuXHJcbiAgICBpc1NlbGVjdCgpOiB0aGlzIGlzIEZpbHRlcldpdGhWYWx1ZTxEYXRhVGFibGVGaWx0ZXJTZWxlY3RUeXBlPiB7XHJcbiAgICAgICAgcmV0dXJuIHRoaXMuZmlsdGVyLnR5cGUua2luZCA9PT0gJ3NlbGVjdCc7XHJcbiAgICB9XHJcblxyXG4gICAgaXNEYXRlUmFuZ2UoKTogdGhpcyBpcyBGaWx0ZXJXaXRoVmFsdWU8RGF0YVRhYmxlRmlsdGVyRGF0ZVJhbmdlVHlwZT4ge1xyXG4gICAgICAgIHJldHVybiB0aGlzLmZpbHRlci50eXBlLmtpbmQgPT09ICdkYXRlUmFuZ2UnO1xyXG4gICAgfVxyXG5cclxuICAgIGlzQ3VzdG9tKCk6IHRoaXMgaXMgRmlsdGVyV2l0aFZhbHVlPERhdGFUYWJsZUZpbHRlckN1c3RvbVR5cGU+IHtcclxuICAgICAgICByZXR1cm4gdGhpcy5maWx0ZXIudHlwZS5raW5kID09PSAnY3VzdG9tJztcclxuICAgIH1cclxufVxyXG5cclxuZXhwb3J0IGNsYXNzIERhdGFUYWJsZUZpbHRlckNvbGxlY3Rpb248RmlsdGVySW5wdXQgZXh0ZW5kcyBSZWNvcmQ8c3RyaW5nLCBhbnk+ID0gUmVjb3JkPHN0cmluZywgYW55Pj4ge1xyXG4gICAgcmVhZG9ubHkgI2ZpbHRlcnM6IEFycmF5PERhdGFUYWJsZUZpbHRlcjxGaWx0ZXJJbnB1dCwgYW55Pj4gPSBbXTtcclxuICAgICNhY3RpdmVGaWx0ZXJzOiBGaWx0ZXJXaXRoVmFsdWVbXSA9IFtdO1xyXG4gICAgI3ZhbHVlQ2hhbmdlcyQgPSBuZXcgU3ViamVjdDxGaWx0ZXJXaXRoVmFsdWVbXT4oKTtcclxuICAgICNjb25uZWN0ZWRUb1JvdXRlciA9IGZhbHNlO1xyXG4gICAgdmFsdWVDaGFuZ2VzID0gdGhpcy4jdmFsdWVDaGFuZ2VzJC5hc09ic2VydmFibGUoKTtcclxuICAgIHJlYWRvbmx5ICNmaWx0ZXJzUXVlcnlQYXJhbU5hbWUgPSAnZmlsdGVycyc7XHJcblxyXG4gICAgY29uc3RydWN0b3IocHJpdmF0ZSByb3V0ZXI6IFJvdXRlcikge31cclxuXHJcbiAgICBnZXQgbGVuZ3RoKCk6IG51bWJlciB7XHJcbiAgICAgICAgcmV0dXJuIHRoaXMuI2ZpbHRlcnMubGVuZ3RoO1xyXG4gICAgfVxyXG5cclxuICAgIGdldCBhY3RpdmVGaWx0ZXJzKCk6IEZpbHRlcldpdGhWYWx1ZVtdIHtcclxuICAgICAgICByZXR1cm4gdGhpcy4jYWN0aXZlRmlsdGVycztcclxuICAgIH1cclxuXHJcbiAgICBhZGRGaWx0ZXI8RmlsdGVyVHlwZSBleHRlbmRzIERhdGFUYWJsZUZpbHRlclR5cGU+KFxyXG4gICAgICAgIGNvbmZpZzogRGF0YVRhYmxlRmlsdGVyT3B0aW9uczxGaWx0ZXJJbnB1dCwgRmlsdGVyVHlwZT4sXHJcbiAgICApOiBEYXRhVGFibGVGaWx0ZXJDb2xsZWN0aW9uPEZpbHRlcklucHV0PiB7XHJcbiAgICAgICAgaWYgKHRoaXMuI2Nvbm5lY3RlZFRvUm91dGVyKSB7XHJcbiAgICAgICAgICAgIHRocm93IG5ldyBFcnJvcihcclxuICAgICAgICAgICAgICAgICdDYW5ub3QgYWRkIGZpbHRlciBhZnRlciBjb25uZWN0aW5nIHRvIHJvdXRlci4gTWFrZSBzdXJlIHRvIGNhbGwgYWRkRmlsdGVyKCkgYmVmb3JlIGNvbm5lY3RUb1JvdXRlKCknLFxyXG4gICAgICAgICAgICApO1xyXG4gICAgICAgIH1cclxuICAgICAgICB0aGlzLiNmaWx0ZXJzLnB1c2goXHJcbiAgICAgICAgICAgIG5ldyBEYXRhVGFibGVGaWx0ZXIoY29uZmlnLCAoZmlsdGVyLCB2YWx1ZSkgPT4gdGhpcy5vbkFjdGl2YXRlRmlsdGVyKGZpbHRlciwgdmFsdWUpKSxcclxuICAgICAgICApO1xyXG4gICAgICAgIHJldHVybiB0aGlzO1xyXG4gICAgfVxyXG5cclxuICAgIGFkZEZpbHRlcnM8RmlsdGVyVHlwZSBleHRlbmRzIERhdGFUYWJsZUZpbHRlclR5cGU+KFxyXG4gICAgICAgIGNvbmZpZ3M6IEFycmF5PERhdGFUYWJsZUZpbHRlck9wdGlvbnM8RmlsdGVySW5wdXQsIEZpbHRlclR5cGU+PixcclxuICAgICk6IERhdGFUYWJsZUZpbHRlckNvbGxlY3Rpb248RmlsdGVySW5wdXQ+IHtcclxuICAgICAgICBmb3IgKGNvbnN0IGNvbmZpZyBvZiBjb25maWdzKSB7XHJcbiAgICAgICAgICAgIHRoaXMuYWRkRmlsdGVyKGNvbmZpZyk7XHJcbiAgICAgICAgfVxyXG4gICAgICAgIHJldHVybiB0aGlzO1xyXG4gICAgfVxyXG5cclxuICAgIGFkZERhdGVGaWx0ZXJzKCk6IEZpbHRlcklucHV0IGV4dGVuZHMge1xyXG4gICAgICAgIGNyZWF0ZWRBdD86IERhdGVPcGVyYXRvcnMgfCBudWxsO1xyXG4gICAgICAgIHVwZGF0ZWRBdD86IERhdGVPcGVyYXRvcnMgfCBudWxsO1xyXG4gICAgfVxyXG4gICAgICAgID8gRGF0YVRhYmxlRmlsdGVyQ29sbGVjdGlvbjxGaWx0ZXJJbnB1dD5cclxuICAgICAgICA6IG5ldmVyIHtcclxuICAgICAgICB0aGlzLmFkZEZpbHRlcih7XHJcbiAgICAgICAgICAgIG5hbWU6ICdjcmVhdGVkQXQnLFxyXG4gICAgICAgICAgICB0eXBlOiB7IGtpbmQ6ICdkYXRlUmFuZ2UnIH0sXHJcbiAgICAgICAgICAgIGxhYmVsOiBfKCdjb21tb24uY3JlYXRlZC1hdCcpLFxyXG4gICAgICAgICAgICBmaWx0ZXJGaWVsZDogJ2NyZWF0ZWRBdCcsXHJcbiAgICAgICAgfSk7XHJcbiAgICAgICAgdGhpcy5hZGRGaWx0ZXIoe1xyXG4gICAgICAgICAgICBuYW1lOiAndXBkYXRlZEF0JyxcclxuICAgICAgICAgICAgdHlwZTogeyBraW5kOiAnZGF0ZVJhbmdlJyB9LFxyXG4gICAgICAgICAgICBsYWJlbDogXygnY29tbW9uLnVwZGF0ZWQtYXQnKSxcclxuICAgICAgICAgICAgZmlsdGVyRmllbGQ6ICd1cGRhdGVkQXQnLFxyXG4gICAgICAgIH0pO1xyXG4gICAgICAgIHJldHVybiB0aGlzIGFzIGFueTtcclxuICAgIH1cclxuXHJcbiAgICBhZGRDdXN0b21GaWVsZEZpbHRlcnMoY3VzdG9tRmllbGRzOiBDdXN0b21GaWVsZENvbmZpZ1tdKSB7XHJcbiAgICAgICAgZm9yIChjb25zdCBjb25maWcgb2YgY3VzdG9tRmllbGRzKSB7XHJcbiAgICAgICAgICAgIGNvbnN0IHR5cGUgPSBjb25maWcudHlwZSBhcyBDdXN0b21GaWVsZFR5cGU7XHJcbiAgICAgICAgICAgIGlmIChjb25maWcubGlzdCkge1xyXG4gICAgICAgICAgICAgICAgY29udGludWU7XHJcbiAgICAgICAgICAgIH1cclxuICAgICAgICAgICAgbGV0IGZpbHRlclR5cGU6IERhdGFUYWJsZUZpbHRlclR5cGUgfCB1bmRlZmluZWQ7XHJcbiAgICAgICAgICAgIHN3aXRjaCAodHlwZSkge1xyXG4gICAgICAgICAgICAgICAgY2FzZSAnYm9vbGVhbic6XHJcbiAgICAgICAgICAgICAgICAgICAgZmlsdGVyVHlwZSA9IHsga2luZDogJ2Jvb2xlYW4nIH07XHJcbiAgICAgICAgICAgICAgICAgICAgYnJlYWs7XHJcbiAgICAgICAgICAgICAgICBjYXNlICdpbnQnOlxyXG4gICAgICAgICAgICAgICAgY2FzZSAnZmxvYXQnOlxyXG4gICAgICAgICAgICAgICAgICAgIGZpbHRlclR5cGUgPSB7IGtpbmQ6ICdudW1iZXInIH07XHJcbiAgICAgICAgICAgICAgICAgICAgYnJlYWs7XHJcbiAgICAgICAgICAgICAgICBjYXNlICdkYXRldGltZSc6XHJcbiAgICAgICAgICAgICAgICAgICAgZmlsdGVyVHlwZSA9IHsga2luZDogJ2RhdGVSYW5nZScgfTtcclxuICAgICAgICAgICAgICAgICAgICBicmVhaztcclxuICAgICAgICAgICAgICAgIGNhc2UgJ3N0cmluZyc6XHJcbiAgICAgICAgICAgICAgICBjYXNlICdsb2NhbGVTdHJpbmcnOlxyXG4gICAgICAgICAgICAgICAgY2FzZSAnbG9jYWxlVGV4dCc6XHJcbiAgICAgICAgICAgICAgICBjYXNlICd0ZXh0JzpcclxuICAgICAgICAgICAgICAgICAgICBmaWx0ZXJUeXBlID0geyBraW5kOiAndGV4dCcgfTtcclxuICAgICAgICAgICAgICAgICAgICBicmVhaztcclxuICAgICAgICAgICAgICAgIGNhc2UgJ3JlbGF0aW9uJzpcclxuICAgICAgICAgICAgICAgICAgICAvLyBDYW5ub3Qgc29ydCByZWxhdGlvbnNcclxuICAgICAgICAgICAgICAgICAgICBicmVhaztcclxuICAgICAgICAgICAgICAgIGRlZmF1bHQ6XHJcbiAgICAgICAgICAgICAgICAgICAgYXNzZXJ0TmV2ZXIodHlwZSk7XHJcbiAgICAgICAgICAgIH1cclxuICAgICAgICAgICAgaWYgKGZpbHRlclR5cGUpIHtcclxuICAgICAgICAgICAgICAgIHRoaXMuYWRkRmlsdGVyKHtcclxuICAgICAgICAgICAgICAgICAgICBuYW1lOiBjb25maWcubmFtZSxcclxuICAgICAgICAgICAgICAgICAgICB0eXBlOiBmaWx0ZXJUeXBlLFxyXG4gICAgICAgICAgICAgICAgICAgIGxhYmVsOiBjb25maWcubGFiZWwgPz8gY29uZmlnLm5hbWUsXHJcbiAgICAgICAgICAgICAgICAgICAgZmlsdGVyRmllbGQ6IGNvbmZpZy5uYW1lLFxyXG4gICAgICAgICAgICAgICAgfSk7XHJcbiAgICAgICAgICAgIH1cclxuICAgICAgICB9XHJcbiAgICAgICAgcmV0dXJuIHRoaXM7XHJcbiAgICB9XHJcblxyXG4gICAgZ2V0RmlsdGVyKG5hbWU6IHN0cmluZyk6IERhdGFUYWJsZUZpbHRlcjxGaWx0ZXJJbnB1dD4gfCB1bmRlZmluZWQge1xyXG4gICAgICAgIHJldHVybiB0aGlzLiNmaWx0ZXJzLmZpbmQoZiA9PiBmLm5hbWUgPT09IG5hbWUpO1xyXG4gICAgfVxyXG5cclxuICAgIGdldEZpbHRlcnMoKTogQXJyYXk8RGF0YVRhYmxlRmlsdGVyPEZpbHRlcklucHV0Pj4ge1xyXG4gICAgICAgIHJldHVybiB0aGlzLiNmaWx0ZXJzO1xyXG4gICAgfVxyXG5cclxuICAgIHJlbW92ZUFjdGl2ZUZpbHRlckF0SW5kZXgoaW5kZXg6IG51bWJlcikge1xyXG4gICAgICAgIHRoaXMuI2FjdGl2ZUZpbHRlcnMuc3BsaWNlKGluZGV4LCAxKTtcclxuICAgICAgICB0aGlzLiN2YWx1ZUNoYW5nZXMkLm5leHQodGhpcy4jYWN0aXZlRmlsdGVycyk7XHJcbiAgICB9XHJcblxyXG4gICAgY3JlYXRlRmlsdGVySW5wdXQoKTogRmlsdGVySW5wdXQge1xyXG4gICAgICAgIHJldHVybiB0aGlzLiNhY3RpdmVGaWx0ZXJzLnJlZHVjZSgoYWNjLCB7IGZpbHRlciwgdmFsdWUgfSkgPT4ge1xyXG4gICAgICAgICAgICBjb25zdCBuZXdWYWx1ZSA9IHZhbHVlICE9IG51bGwgPyBmaWx0ZXIudG9GaWx0ZXJJbnB1dCh2YWx1ZSkgOiB7fTtcclxuICAgICAgICAgICAgY29uc3QgcmVzdWx0ID0gZXh0ZW5kKHRydWUsIGFjYywgbmV3VmFsdWUpO1xyXG4gICAgICAgICAgICByZXR1cm4gcmVzdWx0IGFzIEZpbHRlcklucHV0O1xyXG4gICAgICAgIH0sIHt9IGFzIEZpbHRlcklucHV0KTtcclxuICAgIH1cclxuXHJcbiAgICBjb25uZWN0VG9Sb3V0ZShyb3V0ZTogQWN0aXZhdGVkUm91dGUpIHtcclxuICAgICAgICB0aGlzLnZhbHVlQ2hhbmdlcy5zdWJzY3JpYmUodmFsdWUgPT4ge1xyXG4gICAgICAgICAgICB0aGlzLnJvdXRlci5uYXZpZ2F0ZShbJy4vJ10sIHtcclxuICAgICAgICAgICAgICAgIHF1ZXJ5UGFyYW1zOiB7IFt0aGlzLiNmaWx0ZXJzUXVlcnlQYXJhbU5hbWVdOiB0aGlzLnNlcmlhbGl6ZSgpLCBwYWdlOiAxIH0sXHJcbiAgICAgICAgICAgICAgICByZWxhdGl2ZVRvOiByb3V0ZSxcclxuICAgICAgICAgICAgICAgIHF1ZXJ5UGFyYW1zSGFuZGxpbmc6ICdtZXJnZScsXHJcbiAgICAgICAgICAgIH0pO1xyXG4gICAgICAgIH0pO1xyXG4gICAgICAgIGNvbnN0IGZpbHRlclF1ZXJ5UGFyYW1zID0gKHJvdXRlLnNuYXBzaG90LnF1ZXJ5UGFyYW1NYXAuZ2V0KHRoaXMuI2ZpbHRlcnNRdWVyeVBhcmFtTmFtZSkgPz8gJycpXHJcbiAgICAgICAgICAgIC5zcGxpdCgnOycpXHJcbiAgICAgICAgICAgIC5tYXAodmFsdWUgPT4gdmFsdWUuc3BsaXQoJzonKSlcclxuICAgICAgICAgICAgLm1hcCgoW25hbWUsIHZhbHVlXSkgPT4gKHsgbmFtZSwgdmFsdWUgfSkpO1xyXG4gICAgICAgIGZvciAoY29uc3QgeyBuYW1lLCB2YWx1ZSB9IG9mIGZpbHRlclF1ZXJ5UGFyYW1zKSB7XHJcbiAgICAgICAgICAgIGNvbnN0IGZpbHRlciA9IHRoaXMuZ2V0RmlsdGVyKG5hbWUpO1xyXG4gICAgICAgICAgICBpZiAoZmlsdGVyKSB7XHJcbiAgICAgICAgICAgICAgICBjb25zdCB2YWwgPSB0aGlzLmRlc2VyaWFsaXplVmFsdWUoZmlsdGVyLCB2YWx1ZSk7XHJcbiAgICAgICAgICAgICAgICB0aGlzLiNhY3RpdmVGaWx0ZXJzLnB1c2godGhpcy5jcmVhdGVGYWNldFdpdGhWYWx1ZShmaWx0ZXIsIHZhbCkpO1xyXG4gICAgICAgICAgICB9XHJcbiAgICAgICAgfVxyXG4gICAgICAgIHRoaXMuI2Nvbm5lY3RlZFRvUm91dGVyID0gdHJ1ZTtcclxuICAgICAgICByZXR1cm4gdGhpcztcclxuICAgIH1cclxuXHJcbiAgICBzZXJpYWxpemVWYWx1ZTxUeXBlIGV4dGVuZHMgRGF0YVRhYmxlRmlsdGVyVHlwZT4oXHJcbiAgICAgICAgZmlsdGVyV2l0aFZhbHVlOiBGaWx0ZXJXaXRoVmFsdWU8VHlwZT4sXHJcbiAgICApOiBzdHJpbmcgfCB1bmRlZmluZWQge1xyXG4gICAgICAgIGNvbnN0IHZhbHVlQXNUeXBlID0gPFQgZXh0ZW5kcyBEYXRhVGFibGVGaWx0ZXI8YW55LCBhbnk+PihcclxuICAgICAgICAgICAgX2ZpbHRlcjogVCxcclxuICAgICAgICAgICAgX3ZhbHVlOiBEYXRhVGFibGVGaWx0ZXJWYWx1ZTxhbnk+LFxyXG4gICAgICAgICk6IFQgZXh0ZW5kcyBEYXRhVGFibGVGaWx0ZXI8YW55LCBpbmZlciBSPiA/IERhdGFUYWJsZUZpbHRlclZhbHVlPFI+IDogYW55ID0+IF92YWx1ZTtcclxuXHJcbiAgICAgICAgaWYgKGZpbHRlcldpdGhWYWx1ZS5pc1RleHQoKSkge1xyXG4gICAgICAgICAgICBjb25zdCB2YWwgPSBmaWx0ZXJXaXRoVmFsdWUudmFsdWU7XHJcbiAgICAgICAgICAgIHJldHVybiBgJHt2YWw/Lm9wZXJhdG9yfSwke3ZhbD8udGVybX1gO1xyXG4gICAgICAgIH0gZWxzZSBpZiAoZmlsdGVyV2l0aFZhbHVlLmlzTnVtYmVyKCkpIHtcclxuICAgICAgICAgICAgY29uc3QgdmFsID0gZmlsdGVyV2l0aFZhbHVlLnZhbHVlO1xyXG4gICAgICAgICAgICByZXR1cm4gYCR7dmFsLm9wZXJhdG9yfSwke3ZhbC5hbW91bnR9YDtcclxuICAgICAgICB9IGVsc2UgaWYgKGZpbHRlcldpdGhWYWx1ZS5pc1NlbGVjdCgpKSB7XHJcbiAgICAgICAgICAgIGNvbnN0IHZhbCA9IGZpbHRlcldpdGhWYWx1ZS52YWx1ZTtcclxuICAgICAgICAgICAgcmV0dXJuIHZhbC5qb2luKCcsJyk7XHJcbiAgICAgICAgfSBlbHNlIGlmIChmaWx0ZXJXaXRoVmFsdWUuaXNCb29sZWFuKCkpIHtcclxuICAgICAgICAgICAgY29uc3QgdmFsID0gZmlsdGVyV2l0aFZhbHVlLnZhbHVlO1xyXG4gICAgICAgICAgICByZXR1cm4gdmFsID8gJzEnIDogJzAnO1xyXG4gICAgICAgIH0gZWxzZSBpZiAoZmlsdGVyV2l0aFZhbHVlLmlzRGF0ZVJhbmdlKCkpIHtcclxuICAgICAgICAgICAgY29uc3QgdmFsID0gZmlsdGVyV2l0aFZhbHVlLnZhbHVlO1xyXG4gICAgICAgICAgICBjb25zdCBzdGFydCA9IHZhbC5zdGFydCA/IG5ldyBEYXRlKHZhbC5zdGFydCkuZ2V0VGltZSgpIDogJyc7XHJcbiAgICAgICAgICAgIGNvbnN0IGVuZCA9IHZhbC5lbmQgPyBuZXcgRGF0ZSh2YWwuZW5kKS5nZXRUaW1lKCkgOiAnJztcclxuICAgICAgICAgICAgcmV0dXJuIGAke3N0YXJ0fSwke2VuZH1gO1xyXG4gICAgICAgIH0gZWxzZSBpZiAoZmlsdGVyV2l0aFZhbHVlLmlzQ3VzdG9tKCkpIHtcclxuICAgICAgICAgICAgcmV0dXJuIGZpbHRlcldpdGhWYWx1ZS5maWx0ZXIudHlwZS5zZXJpYWxpemVWYWx1ZShmaWx0ZXJXaXRoVmFsdWUudmFsdWUpO1xyXG4gICAgICAgIH1cclxuICAgIH1cclxuXHJcbiAgICBkZXNlcmlhbGl6ZVZhbHVlKGZpbHRlcjogRGF0YVRhYmxlRmlsdGVyLCB2YWx1ZTogc3RyaW5nKTogRGF0YVRhYmxlRmlsdGVyVmFsdWU8RGF0YVRhYmxlRmlsdGVyVHlwZT4ge1xyXG4gICAgICAgIHN3aXRjaCAoZmlsdGVyLnR5cGUua2luZCkge1xyXG4gICAgICAgICAgICBjYXNlICd0ZXh0Jzoge1xyXG4gICAgICAgICAgICAgICAgY29uc3QgW29wZXJhdG9yLCB0ZXJtXSA9IHZhbHVlLnNwbGl0KCcsJykgYXMgW2tleW9mIFN0cmluZ09wZXJhdG9ycywgc3RyaW5nXTtcclxuICAgICAgICAgICAgICAgIHJldHVybiB7IG9wZXJhdG9yLCB0ZXJtIH07XHJcbiAgICAgICAgICAgIH1cclxuICAgICAgICAgICAgY2FzZSAnbnVtYmVyJzoge1xyXG4gICAgICAgICAgICAgICAgY29uc3QgW29wZXJhdG9yLCBhbW91bnRdID0gdmFsdWUuc3BsaXQoJywnKSBhcyBba2V5b2YgTnVtYmVyT3BlcmF0b3JzLCBzdHJpbmddO1xyXG4gICAgICAgICAgICAgICAgcmV0dXJuIHsgb3BlcmF0b3IsIGFtb3VudDogK2Ftb3VudCB9O1xyXG4gICAgICAgICAgICB9XHJcbiAgICAgICAgICAgIGNhc2UgJ3NlbGVjdCc6XHJcbiAgICAgICAgICAgICAgICByZXR1cm4gdmFsdWUuc3BsaXQoJywnKTtcclxuICAgICAgICAgICAgY2FzZSAnYm9vbGVhbic6XHJcbiAgICAgICAgICAgICAgICByZXR1cm4gdmFsdWUgPT09ICcxJztcclxuICAgICAgICAgICAgY2FzZSAnZGF0ZVJhbmdlJzpcclxuICAgICAgICAgICAgICAgIGNvbnN0IFtzdGFydFRpbWVzdGFtcCwgZW5kVGltZXN0YW1wXSA9IHZhbHVlLnNwbGl0KCcsJyk7XHJcbiAgICAgICAgICAgICAgICBjb25zdCBzdGFydCA9IHN0YXJ0VGltZXN0YW1wID8gbmV3IERhdGUoTnVtYmVyKHN0YXJ0VGltZXN0YW1wKSkudG9JU09TdHJpbmcoKSA6ICcnO1xyXG4gICAgICAgICAgICAgICAgY29uc3QgZW5kID0gZW5kVGltZXN0YW1wID8gbmV3IERhdGUoTnVtYmVyKGVuZFRpbWVzdGFtcCkpLnRvSVNPU3RyaW5nKCkgOiAnJztcclxuICAgICAgICAgICAgICAgIHJldHVybiB7IHN0YXJ0LCBlbmQgfTtcclxuICAgICAgICAgICAgY2FzZSAnY3VzdG9tJzpcclxuICAgICAgICAgICAgICAgIHJldHVybiBmaWx0ZXIudHlwZS5kZXNlcmlhbGl6ZVZhbHVlKHZhbHVlKTtcclxuICAgICAgICAgICAgZGVmYXVsdDpcclxuICAgICAgICAgICAgICAgIGFzc2VydE5ldmVyKGZpbHRlci50eXBlKTtcclxuICAgICAgICB9XHJcbiAgICB9XHJcblxyXG4gICAgcHJpdmF0ZSBzZXJpYWxpemUoKTogc3RyaW5nIHtcclxuICAgICAgICByZXR1cm4gdGhpcy4jYWN0aXZlRmlsdGVyc1xyXG4gICAgICAgICAgICAubWFwKFxyXG4gICAgICAgICAgICAgICAgKGZpbHRlcldpdGhWYWx1ZSwgaSkgPT5cclxuICAgICAgICAgICAgICAgICAgICBgJHtmaWx0ZXJXaXRoVmFsdWUuZmlsdGVyLm5hbWV9OiR7dGhpcy5zZXJpYWxpemVWYWx1ZShmaWx0ZXJXaXRoVmFsdWUpfWAsXHJcbiAgICAgICAgICAgIClcclxuICAgICAgICAgICAgLmpvaW4oJzsnKTtcclxuICAgIH1cclxuXHJcbiAgICBwcml2YXRlIG9uQWN0aXZhdGVGaWx0ZXIoZmlsdGVyOiBEYXRhVGFibGVGaWx0ZXI8YW55LCBhbnk+LCB2YWx1ZTogRGF0YVRhYmxlRmlsdGVyVmFsdWU8YW55Pikge1xyXG4gICAgICAgIHRoaXMuI2FjdGl2ZUZpbHRlcnMucHVzaCh0aGlzLmNyZWF0ZUZhY2V0V2l0aFZhbHVlKGZpbHRlciwgdmFsdWUpKTtcclxuICAgICAgICB0aGlzLiN2YWx1ZUNoYW5nZXMkLm5leHQodGhpcy4jYWN0aXZlRmlsdGVycyk7XHJcbiAgICB9XHJcblxyXG4gICAgcHJpdmF0ZSBjcmVhdGVGYWNldFdpdGhWYWx1ZShcclxuICAgICAgICBmaWx0ZXI6IERhdGFUYWJsZUZpbHRlcjxhbnksIGFueT4sXHJcbiAgICAgICAgdmFsdWU6IERhdGFUYWJsZUZpbHRlclZhbHVlPERhdGFUYWJsZUZpbHRlclR5cGU+LFxyXG4gICAgKSB7XHJcbiAgICAgICAgcmV0dXJuIG5ldyBGaWx0ZXJXaXRoVmFsdWUoZmlsdGVyLCB2YWx1ZSwgdiA9PiB0aGlzLiN2YWx1ZUNoYW5nZXMkLm5leHQodikpO1xyXG4gICAgfVxyXG59XHJcbiJdfQ==
|
|
267
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZGF0YS10YWJsZS1maWx0ZXItY29sbGVjdGlvbi5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uL3NyYy9saWIvY29yZS9zcmMvcHJvdmlkZXJzL2RhdGEtdGFibGUvZGF0YS10YWJsZS1maWx0ZXItY29sbGVjdGlvbi50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFDQSxPQUFPLEVBQUUsTUFBTSxJQUFJLENBQUMsRUFBRSxNQUFNLHlDQUF5QyxDQUFDO0FBRXRFLE9BQU8sRUFBRSxXQUFXLEVBQUUsTUFBTSxrQ0FBa0MsQ0FBQztBQUMvRCxPQUFPLE1BQU0sTUFBTSxhQUFhLENBQUM7QUFDakMsT0FBTyxFQUFFLE9BQU8sRUFBRSxNQUFNLE1BQU0sQ0FBQztBQUMvQixPQUFPLEVBQUUsWUFBWSxFQUFFLG9CQUFvQixFQUFFLEdBQUcsRUFBRSxTQUFTLEVBQUUsTUFBTSxnQkFBZ0IsQ0FBQztBQVFwRixPQUFPLEVBQ0gsZUFBZSxHQVdsQixNQUFNLHFCQUFxQixDQUFDO0FBRTdCLE1BQU0sT0FBTyxlQUFlO0lBRXhCLFlBQ29CLE1BQWtDLEVBQzNDLEtBQWlDLEVBQ3hDLFFBQXNEO1FBRnRDLFdBQU0sR0FBTixNQUFNLENBQTRCO1FBQzNDLFVBQUssR0FBTCxLQUFLLENBQTRCO1FBSHBDLGdCQUFXLEdBQUcsSUFBSSxHQUFHLEVBQStDLENBQUM7UUFNekUsSUFBSSxRQUFRLEVBQUU7WUFDVixJQUFJLENBQUMsV0FBVyxDQUFDLEdBQUcsQ0FBQyxRQUFRLENBQUMsQ0FBQztTQUNsQztJQUNMLENBQUM7SUFFRCxRQUFRLENBQUMsRUFBK0M7UUFDcEQsSUFBSSxDQUFDLFdBQVcsQ0FBQyxHQUFHLENBQUMsRUFBRSxDQUFDLENBQUM7SUFDN0IsQ0FBQztJQUVELFdBQVcsQ0FBQyxLQUFpQztRQUN6QyxJQUFJLENBQUMsS0FBSyxHQUFHLEtBQUssQ0FBQztRQUNuQixLQUFLLE1BQU0sRUFBRSxJQUFJLElBQUksQ0FBQyxXQUFX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LGNBQWMsQ0FBQyxDQUFDLENBQUMsSUFBSSxJQUFJLENBQUMsTUFBTSxDQUFDLGNBQWMsQ0FBQyxDQUFDLENBQUMsV0FBVyxFQUFFLENBQUMsQ0FBQyxDQUFDLEVBQUUsQ0FBQztnQkFDbkYsTUFBTSxHQUFHLEdBQUcsWUFBWSxDQUFDLENBQUMsQ0FBQyxJQUFJLElBQUksQ0FBQyxNQUFNLENBQUMsWUFBWSxDQUFDLENBQUMsQ0FBQyxXQUFXLEVBQUUsQ0FBQyxDQUFDLENBQUMsRUFBRSxDQUFDO2dCQUM3RSxPQUFPLEVBQUUsS0FBSyxFQUFFLEdBQUcsRUFBRSxDQUFDO1lBQzFCLEtBQUssUUFBUTtnQkFDVCxPQUFPLE1BQU0sQ0FBQyxJQUFJLENBQUMsZ0JBQWdCLENBQUMsS0FBSyxDQUFDLENBQUM7WUFDL0M7Z0JBQ0ksV0FBVyxDQUFDLE1BQU0sQ0FBQyxJQUFJLENBQUMsQ0FBQztTQUNoQztJQUNMLENBQUM7SUFFTyxnQkFBZ0IsQ0FBQyxNQUFpQyxFQUFFLEtBQWdDO1FBQ3hGLElBQUksQ0FBQyxjQUFjLENBQUMsSUFBSSxDQUFDLElBQUksQ0FBQyxxQkFBcUIsQ0FBQyxNQUFNLEVBQUUsS0FBSyxDQUFDLENBQUMsQ0FBQztRQUNwRSxJQUFJLENBQUMsY0FBYyxDQUFDLElBQUksQ0FBQyxJQUFJLENBQUMsY0FBYyxDQUFDLENBQUM7SUFDbEQsQ0FBQztJQUVPLHFCQUFxQixDQUN6QixNQUFpQyxFQUNqQyxLQUFnRDtRQUVoRCxPQUFPLElBQUksZUFBZSxDQUFDLE1BQU0sRUFBRSxLQUFLLEVBQUUsQ0FBQyxDQUFDLEVBQUUsQ0FBQyxJQUFJLENBQUMsY0FBYyxDQUFDLElBQUksQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDO0lBQ2hGLENBQUM7Q0FDSiIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IEFjdGl2YXRlZFJvdXRlLCBSb3V0ZXIgfSBmcm9tICdAYW5ndWxhci9yb3V0ZXInO1xyXG5pbXBvcnQgeyBtYXJrZXIgYXMgXyB9IGZyb20gJ0BiaWVzYmplcmcvbmd4LXRyYW5zbGF0ZS1leHRyYWN0LW1hcmtlcic7XHJcbmltcG9ydCB7IEN1c3RvbUZpZWxkVHlwZSB9IGZyb20gJ0B2ZW5kdXJlL2NvbW1vbi9saWIvc2hhcmVkLXR5cGVzJztcclxuaW1wb3J0IHsgYXNzZXJ0TmV2ZXIgfSBmcm9tICdAdmVuZHVyZS9jb21tb24vbGliL3NoYXJlZC11dGlscyc7XHJcbmltcG9ydCBleHRlbmQgZnJvbSAnanVzdC1leHRlbmQnO1xyXG5pbXBvcnQgeyBTdWJqZWN0IH0gZnJvbSAncnhqcyc7XHJcbmltcG9ydCB7IGRlYm91bmNlVGltZSwgZGlzdGluY3RVbnRpbENoYW5nZWQsIG1hcCwgc3RhcnRXaXRoIH0gZnJvbSAncnhqcy9vcGVyYXRvcnMnO1xyXG5pbXBvcnQge1xyXG4gICAgQ3VzdG9tRmllbGRDb25maWcsXHJcbiAgICBEYXRlT3BlcmF0b3JzLFxyXG4gICAgSWRPcGVyYXRvcnMsXHJcbiAgICBOdW1iZXJPcGVyYXRvcnMsXHJcbiAgICBTdHJpbmdPcGVyYXRvcnMsXHJcbn0gZnJvbSAnLi4vLi4vY29tbW9uL2dlbmVyYXRlZC10eXBlcyc7XHJcbmltcG9ydCB7XHJcbiAgICBEYXRhVGFibGVGaWx0ZXIsXHJcbiAgICBEYXRhVGFibGVGaWx0ZXJCb29sZWFuVHlwZSxcclxuICAgIERhdGFUYWJsZUZpbHRlckN1c3RvbVR5cGUsXHJcbiAgICBEYXRhVGFibGVGaWx0ZXJEYXRlUmFuZ2VUeXBlLFxyXG4gICAgRGF0YVRhYmxlRmlsdGVySURUeXBlLFxyXG4gICAgRGF0YVRhYmxlRmlsdGVyTnVtYmVyVHlwZSxcclxuICAgIERhdGFUYWJsZUZpbHRlck9wdGlvbnMsXHJcbiAgICBEYXRhVGFibGVGaWx0ZXJTZWxlY3RUeXBlLFxyXG4gICAgRGF0YVRhYmxlRmlsdGVyVGV4dFR5cGUsXHJcbiAgICBEYXRhVGFibGVGaWx0ZXJUeXBlLFxyXG4gICAgRGF0YVRhYmxlRmlsdGVyVmFsdWUsXHJcbn0gZnJvbSAnLi9kYXRhLXRhYmxlLWZpbHRlcic7XHJcblxyXG5leHBvcnQgY2xhc3MgRmlsdGVyV2l0aFZhbHVlPFR5cGUgZXh0ZW5kcyBEYXRhVGFibGVGaWx0ZXJUeXBlID0gRGF0YVRhYmxlRmlsdGVyVHlwZT4ge1xyXG4gICAgcHJpdmF0ZSBvblVwZGF0ZUZucyA9IG5ldyBTZXQ8KHZhbHVlOiBEYXRhVGFibGVGaWx0ZXJWYWx1ZTxUeXBlPikgPT4gdm9pZD4oKTtcclxuICAgIGNvbnN0cnVjdG9yKFxyXG4gICAgICAgIHB1YmxpYyByZWFkb25seSBmaWx0ZXI6IERhdGFUYWJsZUZpbHRlcjxhbnksIFR5cGU+LFxyXG4gICAgICAgIHB1YmxpYyB2YWx1ZTogRGF0YVRhYmxlRmlsdGVyVmFsdWU8VHlwZT4sXHJcbiAgICAgICAgb25VcGRhdGU/OiAodmFsdWU6IERhdGFUYWJsZUZpbHRlclZhbHVlPFR5cGU+KSA9PiB2b2lkLFxyXG4gICAgKSB7XHJcbiAgICAgICAgaWYgKG9uVXBkYXRlKSB7XHJcbiAgICAgICAgICAgIHRoaXMub25VcGRhdGVGbnMuYWRkKG9uVXBkYXRlKTtcclxuICAgICAgICB9XHJcbiAgICB9XHJcblxyXG4gICAgb25VcGRhdGUoZm46ICh2YWx1ZTogRGF0YVRhYmxlRmlsdGVyVmFsdWU8VHlwZT4pID0+IHZvaWQpIHtcclxuICAgICAgICB0aGlzLm9uVXBkYXRlRm5zLmFkZChmbik7XHJcbiAgICB9XHJcblxyXG4gICAgdXBkYXRlVmFsdWUodmFsdWU6IERhdGFUYWJsZUZpbHRlclZhbHVlPFR5cGU+KSB7XHJcbiAgICAgICAgdGhpcy52YWx1ZSA9IHZhbHVlO1xyXG4gICAgICAgIGZvciAoY29uc3QgZm4gb2YgdGhpcy5vblVwZGF0ZUZucykge1xyXG4gICAgICAgICAgICBmbih2YWx1ZSk7XHJcbiAgICAgICAgfVxyXG4gICAgfVxyXG5cclxuICAgIGlzSWQoKTogdGhpcyBpcyBGaWx0ZXJXaXRoVmFsdWU8RGF0YVRhYmxlRmlsdGVySURUeXBlPiB7XHJcbiAgICAgICAgcmV0dXJuIHRoaXMuZmlsdGVyLnR5cGUua2luZCA9PT0gJ2lkJztcclxuICAgIH1cclxuXHJcbiAgICBpc1RleHQoKTogdGhpcyBpcyBGaWx0ZXJXaXRoVmFsdWU8RGF0YVRhYmxlRmlsdGVyVGV4dFR5cGU+IHtcclxuICAgICAgICByZXR1cm4gdGhpcy5maWx0ZXIudHlwZS5raW5kID09PSAndGV4dCc7XHJcbiAgICB9XHJcblxyXG4gICAgaXNOdW1iZXIoKTogdGhpcyBpcyBGaWx0ZXJXaXRoVmFsdWU8RGF0YVRhYmxlRmlsdGVyTnVtYmVyVHlwZT4ge1xyXG4gICAgICAgIHJldHVybiB0aGlzLmZpbHRlci50eXBlLmtpbmQgPT09ICdudW1iZXInO1xyXG4gICAgfVxyXG5cclxuICAgIGlzQm9vbGVhbigpOiB0aGlzIGlzIEZpbHRlcldpdGhWYWx1ZTxEYXRhVGFibGVGaWx0ZXJCb29sZWFuVHlwZT4ge1xyXG4gICAgICAgIHJldHVybiB0aGlzLmZpbHRlci50eXBlLmtpbmQgPT09ICdib29sZWFuJztcclxuICAgIH1cclxuXHJcbiAgICBpc1NlbGVjdCgpOiB0aGlzIGlzIEZpbHRlcldpdGhWYWx1ZTxEYXRhVGFibGVGaWx0ZXJTZWxlY3RUeXBlPiB7XHJcbiAgICAgICAgcmV0dXJuIHRoaXMuZmlsdGVyLnR5cGUua2luZCA9PT0gJ3NlbGVjdCc7XHJcbiAgICB9XHJcblxyXG4gICAgaXNEYXRlUmFuZ2UoKTogdGhpcyBpcyBGaWx0ZXJXaXRoVmFsdWU8RGF0YVRhYmxlRmlsdGVyRGF0ZVJhbmdlVHlwZT4ge1xyXG4gICAgICAgIHJldHVybiB0aGlzLmZpbHRlci50eXBlLmtpbmQgPT09ICdkYXRlUmFuZ2UnO1xyXG4gICAgfVxyXG5cclxuICAgIGlzQ3VzdG9tKCk6IHRoaXMgaXMgRmlsdGVyV2l0aFZhbHVlPERhdGFUYWJsZUZpbHRlckN1c3RvbVR5cGU+IHtcclxuICAgICAgICByZXR1cm4gdGhpcy5maWx0ZXIudHlwZS5raW5kID09PSAnY3VzdG9tJztcclxuICAgIH1cclxufVxyXG5cclxuZXhwb3J0IGNsYXNzIERhdGFUYWJsZUZpbHRlckNvbGxlY3Rpb248RmlsdGVySW5wdXQgZXh0ZW5kcyBSZWNvcmQ8c3RyaW5nLCBhbnk+ID0gUmVjb3JkPHN0cmluZywgYW55Pj4ge1xyXG4gICAgcmVhZG9ubHkgI2ZpbHRlcnM6IEFycmF5PERhdGFUYWJsZUZpbHRlcjxGaWx0ZXJJbnB1dCwgYW55Pj4gPSBbXTtcclxuICAgICNhY3RpdmVGaWx0ZXJzOiBGaWx0ZXJXaXRoVmFsdWVbXSA9IFtdO1xyXG4gICAgI3ZhbHVlQ2hhbmdlcyQgPSBuZXcgU3ViamVjdDxGaWx0ZXJXaXRoVmFsdWVbXT4oKTtcclxuICAgICNjb25uZWN0ZWRUb1JvdXRlciA9IGZhbHNlO1xyXG4gICAgdmFsdWVDaGFuZ2VzID0gdGhpcy4jdmFsdWVDaGFuZ2VzJC5hc09ic2VydmFibGUoKS5waXBlKGRlYm91bmNlVGltZSgxMCkpO1xyXG4gICAgcmVhZG9ubHkgI2ZpbHRlcnNRdWVyeVBhcmFtTmFtZSA9ICdmaWx0ZXJzJztcclxuXHJcbiAgICBjb25zdHJ1Y3Rvcihwcml2YXRlIHJvdXRlcjogUm91dGVyKSB7fVxyXG5cclxuICAgIGdldCBsZW5ndGgoKTogbnVtYmVyIHtcclxuICAgICAgICByZXR1cm4gdGhpcy4jZmlsdGVycy5sZW5ndGg7XHJcbiAgICB9XHJcblxyXG4gICAgZ2V0IGFjdGl2ZUZpbHRlcnMoKTogRmlsdGVyV2l0aFZhbHVlW10ge1xyXG4gICAgICAgIHJldHVybiB0aGlzLiNhY3RpdmVGaWx0ZXJzO1xyXG4gICAgfVxyXG5cclxuICAgIGFkZEZpbHRlcjxGaWx0ZXJUeXBlIGV4dGVuZHMgRGF0YVRhYmxlRmlsdGVyVHlwZT4oXHJcbiAgICAgICAgY29uZmlnOiBEYXRhVGFibGVGaWx0ZXJPcHRpb25zPEZpbHRlcklucHV0LCBGaWx0ZXJUeXBlPixcclxuICAgICk6IERhdGFUYWJsZUZpbHRlckNvbGxlY3Rpb248RmlsdGVySW5wdXQ+IHtcclxuICAgICAgICBpZiAodGhpcy4jY29ubmVjdGVkVG9Sb3V0ZXIpIHtcclxuICAgICAgICAgICAgdGhyb3cgbmV3IEVycm9yKFxyXG4gICAgICAgICAgICAgICAgJ0Nhbm5vdCBhZGQgZmlsdGVyIGFmdGVyIGNvbm5lY3RpbmcgdG8gcm91dGVyLiBNYWtlIHN1cmUgdG8gY2FsbCBhZGRGaWx0ZXIoKSBiZWZvcmUgY29ubmVjdFRvUm91dGUoKScsXHJcbiAgICAgICAgICAgICk7XHJcbiAgICAgICAgfVxyXG4gICAgICAgIHRoaXMuI2ZpbHRlcnMucHVzaChcclxuICAgICAgICAgICAgbmV3IERhdGFUYWJsZUZpbHRlcihjb25maWcsIChmaWx0ZXIsIHZhbHVlKSA9PiB0aGlzLm9uQWN0aXZhdGVGaWx0ZXIoZmlsdGVyLCB2YWx1ZSkpLFxyXG4gICAgICAgICk7XHJcbiAgICAgICAgcmV0dXJuIHRoaXM7XHJcbiAgICB9XHJcblxyXG4gICAgYWRkRmlsdGVyczxGaWx0ZXJUeXBlIGV4dGVuZHMgRGF0YVRhYmxlRmlsdGVyVHlwZT4oXHJcbiAgICAgICAgY29uZmlnczogQXJyYXk8RGF0YVRhYmxlRmlsdGVyT3B0aW9uczxGaWx0ZXJJbnB1dCwgRmlsdGVyVHlwZT4+LFxyXG4gICAgKTogRGF0YVRhYmxlRmlsdGVyQ29sbGVjdGlvbjxGaWx0ZXJJbnB1dD4ge1xyXG4gICAgICAgIGZvciAoY29uc3QgY29uZmlnIG9mIGNvbmZpZ3MpIHtcclxuICAgICAgICAgICAgdGhpcy5hZGRGaWx0ZXIoY29uZmlnKTtcclxuICAgICAgICB9XHJcbiAgICAgICAgcmV0dXJuIHRoaXM7XHJcbiAgICB9XHJcblxyXG4gICAgYWRkSWRGaWx0ZXIoKTogRmlsdGVySW5wdXQgZXh0ZW5kcyB7XHJcbiAgICAgICAgaWQ/OiBJZE9wZXJhdG9ycyB8IG51bGw7XHJcbiAgICB9XHJcbiAgICAgICAgPyBEYXRhVGFibGVGaWx0ZXJDb2xsZWN0aW9uPEZpbHRlcklucHV0PlxyXG4gICAgICAgIDogbmV2ZXIge1xyXG4gICAgICAgIHRoaXMuYWRkRmlsdGVyKHtcclxuICAgICAgICAgICAgbmFtZTogJ2lkJyxcclxuICAgICAgICAgICAgdHlwZTogeyBraW5kOiAnaWQnIH0sXHJcbiAgICAgICAgICAgIGxhYmVsOiBfKCdjb21tb24uaWQnKSxcclxuICAgICAgICAgICAgZmlsdGVyRmllbGQ6ICdpZCcsXHJcbiAgICAgICAgfSk7XHJcbiAgICAgICAgcmV0dXJuIHRoaXMgYXMgYW55O1xyXG4gICAgfVxyXG5cclxuICAgIGFkZERhdGVGaWx0ZXJzKCk6IEZpbHRlcklucHV0IGV4dGVuZHMge1xyXG4gICAgICAgIGNyZWF0ZWRBdD86IERhdGVPcGVyYXRvcnMgfCBudWxsO1xyXG4gICAgICAgIHVwZGF0ZWRBdD86IERhdGVPcGVyYXRvcnMgfCBudWxsO1xyXG4gICAgfVxyXG4gICAgICAgID8gRGF0YVRhYmxlRmlsdGVyQ29sbGVjdGlvbjxGaWx0ZXJJbnB1dD5cclxuICAgICAgICA6IG5ldmVyIHtcclxuICAgICAgICB0aGlzLmFkZEZpbHRlcih7XHJcbiAgICAgICAgICAgIG5hbWU6ICdjcmVhdGVkQXQnLFxyXG4gICAgICAgICAgICB0eXBlOiB7IGtpbmQ6ICdkYXRlUmFuZ2UnIH0sXHJcbiAgICAgICAgICAgIGxhYmVsOiBfKCdjb21tb24uY3JlYXRlZC1hdCcpLFxyXG4gICAgICAgICAgICBmaWx0ZXJGaWVsZDogJ2NyZWF0ZWRBdCcsXHJcbiAgICAgICAgfSk7XHJcbiAgICAgICAgdGhpcy5hZGRGaWx0ZXIoe1xyXG4gICAgICAgICAgICBuYW1lOiAndXBkYXRlZEF0JyxcclxuICAgICAgICAgICAgdHlwZTogeyBraW5kOiAnZGF0ZVJhbmdlJyB9LFxyXG4gICAgICAgICAgICBsYWJlbDogXygnY29tbW9uLnVwZGF0ZWQtYXQnKSxcclxuICAgICAgICAgICAgZmlsdGVyRmllbGQ6ICd1cGRhdGVkQXQnLFxyXG4gICAgICAgIH0pO1xyXG4gICAgICAgIHJldHVybiB0aGlzIGFzIGFueTtcclxuICAgIH1cclxuXHJcbiAgICBhZGRDdXN0b21GaWVsZEZpbHRlcnMoY3VzdG9tRmllbGRzOiBDdXN0b21GaWVsZENvbmZpZ1tdKSB7XHJcbiAgICAgICAgZm9yIChjb25zdCBjb25maWcgb2YgY3VzdG9tRmllbGRzKSB7XHJcbiAgICAgICAgICAgIGNvbnN0IHR5cGUgPSBjb25maWcudHlwZSBhcyBDdXN0b21GaWVsZFR5cGU7XHJcbiAgICAgICAgICAgIGlmIChjb25maWcubGlzdCkge1xyXG4gICAgICAgICAgICAgICAgY29udGludWU7XHJcbiAgICAgICAgICAgIH1cclxuICAgICAgICAgICAgbGV0IGZpbHRlclR5cGU6IERhdGFUYWJsZUZpbHRlclR5cGUgfCB1bmRlZmluZWQ7XHJcbiAgICAgICAgICAgIHN3aXRjaCAodHlwZSkge1xyXG4gICAgICAgICAgICAgICAgY2FzZSAnYm9vbGVhbic6XHJcbiAgICAgICAgICAgICAgICAgICAgZmlsdGVyVHlwZSA9IHsga2luZDogJ2Jvb2xlYW4nIH07XHJcbiAgICAgICAgICAgICAgICAgICAgYnJlYWs7XHJcbiAgICAgICAgICAgICAgICBjYXNlICdpbnQnOlxyXG4gICAgICAgICAgICAgICAgY2FzZSAnZmxvYXQnOlxyXG4gICAgICAgICAgICAgICAgICAgIGZpbHRlclR5cGUgPSB7IGtpbmQ6ICdudW1iZXInIH07XHJcbiAgICAgICAgICAgICAgICAgICAgYnJlYWs7XHJcbiAgICAgICAgICAgICAgICBjYXNlICdkYXRldGltZSc6XHJcbiAgICAgICAgICAgICAgICAgICAgZmlsdGVyVHlwZSA9IHsga2luZDogJ2RhdGVSYW5nZScgfTtcclxuICAgICAgICAgICAgICAgICAgICBicmVhaztcclxuICAgICAgICAgICAgICAgIGNhc2UgJ3N0cmluZyc6XHJcbiAgICAgICAgICAgICAgICBjYXNlICdsb2NhbGVTdHJpbmcnOlxyXG4gICAgICAgICAgICAgICAgY2FzZSAnbG9jYWxlVGV4dCc6XHJcbiAgICAgICAgICAgICAgICBjYXNlICd0ZXh0JzpcclxuICAgICAgICAgICAgICAgICAgICBmaWx0ZXJUeXBlID0geyBraW5kOiAndGV4dCcgfTtcclxuICAgICAgICAgICAgICAgICAgICBicmVhaztcclxuICAgICAgICAgICAgICAgIGNhc2UgJ3JlbGF0aW9uJzpcclxuICAgICAgICAgICAgICAgICAgICAvLyBDYW5ub3Qgc29ydCByZWxhdGlvbnNcclxuICAgICAgICAgICAgICAgICAgICBicmVhaztcclxuICAgICAgICAgICAgICAgIGRlZmF1bHQ6XHJcbiAgICAgICAgICAgICAgICAgICAgYXNzZXJ0TmV2ZXIodHlwZSk7XHJcbiAgICAgICAgICAgIH1cclxuICAgICAgICAgICAgaWYgKGZpbHRlclR5cGUpIHtcclxuICAgICAgICAgICAgICAgIHRoaXMuYWRkRmlsdGVyKHtcclxuICAgICAgICAgICAgICAgICAgICBuYW1lOiBjb25maWcubmFtZSxcclxuICAgICAgICAgICAgICAgICAgICB0eXBlOiBmaWx0ZXJUeXBlLFxyXG4gICAgICAgICAgICAgICAgICAgIGxhYmVsOiBjb25maWcubGFiZWwgPz8gY29uZmlnLm5hbWUsXHJcbiAgICAgICAgICAgICAgICAgICAgZmlsdGVyRmllbGQ6IGNvbmZpZy5uYW1lLFxyXG4gICAgICAgICAgICAgICAgfSk7XHJcbiAgICAgICAgICAgIH1cclxuICAgICAgICB9XHJcbiAgICAgICAgcmV0dXJuIHRoaXM7XHJcbiAgICB9XHJcblxyXG4gICAgZ2V0RmlsdGVyKG5hbWU6IHN0cmluZyk6IERhdGFUYWJsZUZpbHRlcjxGaWx0ZXJJbnB1dD4gfCB1bmRlZmluZWQge1xyXG4gICAgICAgIHJldHVybiB0aGlzLiNmaWx0ZXJzLmZpbmQoZiA9PiBmLm5hbWUgPT09IG5hbWUpO1xyXG4gICAgfVxyXG5cclxuICAgIGdldEZpbHRlcnMoKTogQXJyYXk8RGF0YVRhYmxlRmlsdGVyPEZpbHRlcklucHV0Pj4ge1xyXG4gICAgICAgIHJldHVybiB0aGlzLiNmaWx0ZXJzO1xyXG4gICAgfVxyXG5cclxuICAgIHJlbW92ZUFjdGl2ZUZpbHRlckF0SW5kZXgoaW5kZXg6IG51bWJlcikge1xyXG4gICAgICAgIHRoaXMuI2FjdGl2ZUZpbHRlcnMuc3BsaWNlKGluZGV4LCAxKTtcclxuICAgICAgICB0aGlzLiN2YWx1ZUNoYW5nZXMkLm5leHQodGhpcy4jYWN0aXZlRmlsdGVycyk7XHJcbiAgICB9XHJcblxyXG4gICAgY3JlYXRlRmlsdGVySW5wdXQoKTogRmlsdGVySW5wdXQge1xyXG4gICAgICAgIHJldHVybiB0aGlzLiNhY3RpdmVGaWx0ZXJzLnJlZHVjZSgoYWNjLCB7IGZpbHRlciwgdmFsdWUgfSkgPT4ge1xyXG4gICAgICAgICAgICBjb25zdCBuZXdWYWx1ZSA9IHZhbHVlICE9IG51bGwgPyBmaWx0ZXIudG9GaWx0ZXJJbnB1dCh2YWx1ZSkgOiB7fTtcclxuICAgICAgICAgICAgY29uc3QgcmVzdWx0ID0gZXh0ZW5kKHRydWUsIGFjYywgbmV3VmFsdWUpO1xyXG4gICAgICAgICAgICByZXR1cm4gcmVzdWx0IGFzIEZpbHRlcklucHV0O1xyXG4gICAgICAgIH0sIHt9IGFzIEZpbHRlcklucHV0KTtcclxuICAgIH1cclxuXHJcbiAgICBjb25uZWN0VG9Sb3V0ZShyb3V0ZTogQWN0aXZhdGVkUm91dGUpIHtcclxuICAgICAgICB0aGlzLnZhbHVlQ2hhbmdlcy5zdWJzY3JpYmUoKCkgPT4ge1xyXG4gICAgICAgICAgICB0aGlzLnJvdXRlci5uYXZpZ2F0ZShbJy4vJ10sIHtcclxuICAgICAgICAgICAgICAgIHF1ZXJ5UGFyYW1zOiB7IFt0aGlzLiNmaWx0ZXJzUXVlcnlQYXJhbU5hbWVdOiB0aGlzLnNlcmlhbGl6ZSgpLCBwYWdlOiAxIH0sXHJcbiAgICAgICAgICAgICAgICByZWxhdGl2ZVRvOiByb3V0ZSxcclxuICAgICAgICAgICAgICAgIHF1ZXJ5UGFyYW1zSGFuZGxpbmc6ICdtZXJnZScsXHJcbiAgICAgICAgICAgIH0pO1xyXG4gICAgICAgIH0pO1xyXG5cclxuICAgICAgICByb3V0ZS5xdWVyeVBhcmFtTWFwXHJcbiAgICAgICAgICAgIC5waXBlKFxyXG4gICAgICAgICAgICAgICAgbWFwKHBhcmFtcyA9PiBwYXJhbXMuZ2V0KHRoaXMuI2ZpbHRlcnNRdWVyeVBhcmFtTmFtZSkpLFxyXG4gICAgICAgICAgICAgICAgZGlzdGluY3RVbnRpbENoYW5nZWQoKSxcclxuICAgICAgICAgICAgICAgIHN0YXJ0V2l0aChyb3V0ZS5zbmFwc2hvdC5xdWVyeVBhcmFtTWFwLmdldCh0aGlzLiNmaWx0ZXJzUXVlcnlQYXJhbU5hbWUpID8/ICcnKSxcclxuICAgICAgICAgICAgKVxyXG4gICAgICAgICAgICAuc3Vic2NyaWJlKHZhbHVlID0+IHtcclxuICAgICAgICAgICAgICAgIHRoaXMuI2FjdGl2ZUZpbHRlcnMgPSBbXTtcclxuICAgICAgICAgICAgICAgIGlmICh2YWx1ZSA9PT0gJycpIHtcclxuICAgICAgICAgICAgICAgICAgICB0aGlzLiN2YWx1ZUNoYW5nZXMkLm5leHQodGhpcy4jYWN0aXZlRmlsdGVycyk7XHJcbiAgICAgICAgICAgICAgICAgICAgcmV0dXJuO1xyXG4gICAgICAgICAgICAgICAgfVxyXG4gICAgICAgICAgICAgICAgY29uc3QgZmlsdGVyUXVlcnlQYXJhbXMgPSAodmFsdWUgPz8gJycpXHJcbiAgICAgICAgICAgICAgICAgICAgLnNwbGl0KCc7JylcclxuICAgICAgICAgICAgICAgICAgICAubWFwKHZhbHVlID0+IHZhbHVlLnNwbGl0KCc6JykpXHJcbiAgICAgICAgICAgICAgICAgICAgLm1hcCgoW25hbWUsIHZhbHVlXSkgPT4gKHsgbmFtZSwgdmFsdWUgfSkpO1xyXG4gICAgICAgICAgICAgICAgZm9yIChjb25zdCB7IG5hbWUsIHZhbHVlIH0gb2YgZmlsdGVyUXVlcnlQYXJhbXMpIHtcclxuICAgICAgICAgICAgICAgICAgICBjb25zdCBmaWx0ZXIgPSB0aGlzLmdldEZpbHRlcihuYW1lKTtcclxuICAgICAgICAgICAgICAgICAgICBpZiAoZmlsdGVyKSB7XHJcbiAgICAgICAgICAgICAgICAgICAgICAgIGNvbnN0IHZhbCA9IHRoaXMuZGVzZXJpYWxpemVWYWx1ZShmaWx0ZXIsIHZhbHVlKTtcclxuICAgICAgICAgICAgICAgICAgICAgICAgZmlsdGVyLmFjdGl2YXRlKHZhbCk7XHJcbiAgICAgICAgICAgICAgICAgICAgfVxyXG4gICAgICAgICAgICAgICAgfVxyXG4gICAgICAgICAgICB9KTtcclxuXHJcbiAgICAgICAgdGhpcy4jY29ubmVjdGVkVG9Sb3V0ZXIgPSB0cnVlO1xyXG5cclxuICAgICAgICByZXR1cm4gdGhpcztcclxuICAgIH1cclxuXHJcbiAgICBzZXJpYWxpemUoKTogc3RyaW5nIHtcclxuICAgICAgICByZXR1cm4gdGhpcy4jYWN0aXZlRmlsdGVyc1xyXG4gICAgICAgICAgICAubWFwKFxyXG4gICAgICAgICAgICAgICAgKGZpbHRlcldpdGhWYWx1ZSwgaSkgPT5cclxuICAgICAgICAgICAgICAgICAgICBgJHtmaWx0ZXJXaXRoVmFsdWUuZmlsdGVyLm5hbWV9OiR7dGhpcy5zZXJpYWxpemVWYWx1ZShmaWx0ZXJXaXRoVmFsdWUpfWAsXHJcbiAgICAgICAgICAgIClcclxuICAgICAgICAgICAgLmpvaW4oJzsnKTtcclxuICAgIH1cclxuXHJcbiAgICBwcml2YXRlIHNlcmlhbGl6ZVZhbHVlPFR5cGUgZXh0ZW5kcyBEYXRhVGFibGVGaWx0ZXJUeXBlPihcclxuICAgICAgICBmaWx0ZXJXaXRoVmFsdWU6IEZpbHRlcldpdGhWYWx1ZTxUeXBlPixcclxuICAgICk6IHN0cmluZyB8IHVuZGVmaW5lZCB7XHJcbiAgICAgICAgaWYgKGZpbHRlcldpdGhWYWx1ZS5pc0lkKCkpIHtcclxuICAgICAgICAgICAgY29uc3QgdmFsID0gZmlsdGVyV2l0aFZhbHVlLnZhbHVlO1xyXG4gICAgICAgICAgICByZXR1cm4gYCR7dmFsPy5vcGVyYXRvcn0sJHt2YWw/LnRlcm19YDtcclxuICAgICAgICB9XHJcbiAgICAgICAgaWYgKGZpbHRlcldpdGhWYWx1ZS5pc1RleHQoKSkge1xyXG4gICAgICAgICAgICBjb25zdCB2YWwgPSBmaWx0ZXJXaXRoVmFsdWUudmFsdWU7XHJcbiAgICAgICAgICAgIHJldHVybiBgJHt2YWw/Lm9wZXJhdG9yfSwke3ZhbD8udGVybX1gO1xyXG4gICAgICAgIH0gZWxzZSBpZiAoZmlsdGVyV2l0aFZhbHVlLmlzTnVtYmVyKCkpIHtcclxuICAgICAgICAgICAgY29uc3QgdmFsID0gZmlsdGVyV2l0aFZhbHVlLnZhbHVlO1xyXG4gICAgICAgICAgICByZXR1cm4gYCR7dmFsLm9wZXJhdG9yfSwke3ZhbC5hbW91bnR9YDtcclxuICAgICAgICB9IGVsc2UgaWYgKGZpbHRlcldpdGhWYWx1ZS5pc1NlbGVjdCgpKSB7XHJcbiAgICAgICAgICAgIGNvbnN0IHZhbCA9IGZpbHRlcldpdGhWYWx1ZS52YWx1ZTtcclxuICAgICAgICAgICAgcmV0dXJuIHZhbC5qb2luKCcsJyk7XHJcbiAgICAgICAgfSBlbHNlIGlmIChmaWx0ZXJXaXRoVmFsdWUuaXNCb29sZWFuKCkpIHtcclxuICAgICAgICAgICAgY29uc3QgdmFsID0gZmlsdGVyV2l0aFZhbHVlLnZhbHVlO1xyXG4gICAgICAgICAgICByZXR1cm4gdmFsID8gJzEnIDogJzAnO1xyXG4gICAgICAgIH0gZWxzZSBpZiAoZmlsdGVyV2l0aFZhbHVlLmlzRGF0ZVJhbmdlKCkpIHtcclxuICAgICAgICAgICAgY29uc3QgdmFsID0gZmlsdGVyV2l0aFZhbHVlLnZhbHVlO1xyXG4gICAgICAgICAgICBjb25zdCBzdGFydCA9IHZhbC5zdGFydCA/IG5ldyBEYXRlKHZhbC5zdGFydCkuZ2V0VGltZSgpIDogJyc7XHJcbiAgICAgICAgICAgIGNvbnN0IGVuZCA9IHZhbC5lbmQgPyBuZXcgRGF0ZSh2YWwuZW5kKS5nZXRUaW1lKCkgOiAnJztcclxuICAgICAgICAgICAgcmV0dXJuIGAke3N0YXJ0fSwke2VuZH1gO1xyXG4gICAgICAgIH0gZWxzZSBpZiAoZmlsdGVyV2l0aFZhbHVlLmlzQ3VzdG9tKCkpIHtcclxuICAgICAgICAgICAgcmV0dXJuIGZpbHRlcldpdGhWYWx1ZS5maWx0ZXIudHlwZS5zZXJpYWxpemVWYWx1ZShmaWx0ZXJXaXRoVmFsdWUudmFsdWUpO1xyXG4gICAgICAgIH1cclxuICAgIH1cclxuXHJcbiAgICBwcml2YXRlIGRlc2VyaWFsaXplVmFsdWUoXHJcbiAgICAgICAgZmlsdGVyOiBEYXRhVGFibGVGaWx0ZXIsXHJcbiAgICAgICAgdmFsdWU6IHN0cmluZyxcclxuICAgICk6IERhdGFUYWJsZUZpbHRlclZhbHVlPERhdGFUYWJsZUZpbHRlclR5cGU+IHtcclxuICAgICAgICBzd2l0Y2ggKGZpbHRlci50eXBlLmtpbmQpIHtcclxuICAgICAgICAgICAgY2FzZSAnaWQnOiB7XHJcbiAgICAgICAgICAgICAgICBjb25zdCBbb3BlcmF0b3IsIHRlcm1dID0gdmFsdWUuc3BsaXQoJywnKSBhcyBba2V5b2YgU3RyaW5nT3BlcmF0b3JzLCBzdHJpbmddO1xyXG4gICAgICAgICAgICAgICAgcmV0dXJuIHsgb3BlcmF0b3IsIHRlcm0gfTtcclxuICAgICAgICAgICAgfVxyXG4gICAgICAgICAgICBjYXNlICd0ZXh0Jzoge1xyXG4gICAgICAgICAgICAgICAgY29uc3QgW29wZXJhdG9yLCB0ZXJtXSA9IHZhbHVlLnNwbGl0KCcsJykgYXMgW2tleW9mIFN0cmluZ09wZXJhdG9ycywgc3RyaW5nXTtcclxuICAgICAgICAgICAgICAgIHJldHVybiB7IG9wZXJhdG9yLCB0ZXJtIH07XHJcbiAgICAgICAgICAgIH1cclxuICAgICAgICAgICAgY2FzZSAnbnVtYmVyJzoge1xyXG4gICAgICAgICAgICAgICAgY29uc3QgW29wZXJhdG9yLCBhbW91bnRdID0gdmFsdWUuc3BsaXQoJywnKSBhcyBba2V5b2YgTnVtYmVyT3BlcmF0b3JzLCBzdHJpbmddO1xyXG4gICAgICAgICAgICAgICAgcmV0dXJuIHsgb3BlcmF0b3IsIGFtb3VudDogK2Ftb3VudCB9O1xyXG4gICAgICAgICAgICB9XHJcbiAgICAgICAgICAgIGNhc2UgJ3NlbGVjdCc6XHJcbiAgICAgICAgICAgICAgICByZXR1cm4gdmFsdWUuc3BsaXQoJywnKTtcclxuICAgICAgICAgICAgY2FzZSAnYm9vbGVhbic6XHJcbiAgICAgICAgICAgICAgICByZXR1cm4gdmFsdWUgPT09ICcxJztcclxuICAgICAgICAgICAgY2FzZSAnZGF0ZVJhbmdlJzpcclxuICAgICAgICAgICAgICAgIGNvbnN0IFtzdGFydFRpbWVzdGFtcCwgZW5kVGltZXN0YW1wXSA9IHZhbHVlLnNwbGl0KCcsJyk7XHJcbiAgICAgICAgICAgICAgICBjb25zdCBzdGFydCA9IHN0YXJ0VGltZXN0YW1wID8gbmV3IERhdGUoTnVtYmVyKHN0YXJ0VGltZXN0YW1wKSkudG9JU09TdHJpbmcoKSA6ICcnO1xyXG4gICAgICAgICAgICAgICAgY29uc3QgZW5kID0gZW5kVGltZXN0YW1wID8gbmV3IERhdGUoTnVtYmVyKGVuZFRpbWVzdGFtcCkpLnRvSVNPU3RyaW5nKCkgOiAnJztcclxuICAgICAgICAgICAgICAgIHJldHVybiB7IHN0YXJ0LCBlbmQgfTtcclxuICAgICAgICAgICAgY2FzZSAnY3VzdG9tJzpcclxuICAgICAgICAgICAgICAgIHJldHVybiBmaWx0ZXIudHlwZS5kZXNlcmlhbGl6ZVZhbHVlKHZhbHVlKTtcclxuICAgICAgICAgICAgZGVmYXVsdDpcclxuICAgICAgICAgICAgICAgIGFzc2VydE5ldmVyKGZpbHRlci50eXBlKTtcclxuICAgICAgICB9XHJcbiAgICB9XHJcblxyXG4gICAgcHJpdmF0ZSBvbkFjdGl2YXRlRmlsdGVyKGZpbHRlcjogRGF0YVRhYmxlRmlsdGVyPGFueSwgYW55PiwgdmFsdWU6IERhdGFUYWJsZUZpbHRlclZhbHVlPGFueT4pIHtcclxuICAgICAgICB0aGlzLiNhY3RpdmVGaWx0ZXJzLnB1c2godGhpcy5jcmVhdGVGaWx0ZXJXaXRoVmFsdWUoZmlsdGVyLCB2YWx1ZSkpO1xyXG4gICAgICAgIHRoaXMuI3ZhbHVlQ2hhbmdlcyQubmV4dCh0aGlzLiNhY3RpdmVGaWx0ZXJzKTtcclxuICAgIH1cclxuXHJcbiAgICBwcml2YXRlIGNyZWF0ZUZpbHRlcldpdGhWYWx1ZShcclxuICAgICAgICBmaWx0ZXI6IERhdGFUYWJsZUZpbHRlcjxhbnksIGFueT4sXHJcbiAgICAgICAgdmFsdWU6IERhdGFUYWJsZUZpbHRlclZhbHVlPERhdGFUYWJsZUZpbHRlclR5cGU+LFxyXG4gICAgKSB7XHJcbiAgICAgICAgcmV0dXJuIG5ldyBGaWx0ZXJXaXRoVmFsdWUoZmlsdGVyLCB2YWx1ZSwgdiA9PiB0aGlzLiN2YWx1ZUNoYW5nZXMkLm5leHQodikpO1xyXG4gICAgfVxyXG59XHJcbiJdfQ==
|
|
@@ -51,6 +51,10 @@ export class DataTableFilter {
|
|
|
51
51
|
return {
|
|
52
52
|
[value.operator]: value.term,
|
|
53
53
|
};
|
|
54
|
+
case 'id':
|
|
55
|
+
return {
|
|
56
|
+
[value.operator]: value.term,
|
|
57
|
+
};
|
|
54
58
|
case 'custom': {
|
|
55
59
|
return value;
|
|
56
60
|
}
|
|
@@ -74,6 +78,9 @@ export class DataTableFilter {
|
|
|
74
78
|
this.onActivate(this, value);
|
|
75
79
|
}
|
|
76
80
|
}
|
|
81
|
+
isId() {
|
|
82
|
+
return this.type.kind === 'id';
|
|
83
|
+
}
|
|
77
84
|
isText() {
|
|
78
85
|
return this.type.kind === 'text';
|
|
79
86
|
}
|
|
@@ -93,4 +100,4 @@ export class DataTableFilter {
|
|
|
93
100
|
return this.type.kind === 'custom';
|
|
94
101
|
}
|
|
95
102
|
}
|
|
96
|
-
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZGF0YS10YWJsZS1maWx0ZXIuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi9zcmMvbGliL2NvcmUvc3JjL3Byb3ZpZGVycy9kYXRhLXRhYmxlL2RhdGEtdGFibGUtZmlsdGVyLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUVBLE9BQU8sRUFBRSxXQUFXLEVBQUUsTUFBTSxrQ0FBa0MsQ0FBQztBQTRFL0QsTUFBTSxPQUFPLGVBQWU7SUFJeEIsWUFDcUIsT0FBa0QsRUFDM0QsVUFHQztRQUpRLFlBQU8sR0FBUCxPQUFPLENBQTJDO1FBQzNELGVBQVUsR0FBVixVQUFVLENBR1Q7SUFDVixDQUFDO0lBRUosSUFBSSxJQUFJO1FBQ0osT0FBTyxJQUFJLENBQUMsT0FBTyxDQUFDLElBQUksQ0FBQztJQUM3QixDQUFDO0lBRUQsSUFBSSxJQUFJO1FBQ0osT0FBTyxJQUFJLENBQUMsT0FBTyxDQUFDLElBQUksQ0FBQztJQUM3QixDQUFDO0lBRUQsSUFBSSxLQUFLO1FBQ0wsT0FBTyxJQUFJLENBQUMsT0FBTyxDQUFDLEtBQUssQ0FBQztJQUM5QixDQUFDO0lBRUQsaUJBQWlCLENBQUMsS0FBVTtRQUN4QixNQUFNLElBQUksR0FBRyxJQUFJLENBQUMsT0FBTyxDQUFDLElBQUksQ0FBQztRQUMvQixRQUFRLElBQUksQ0FBQyxJQUFJLEVBQUU7WUFDZixLQUFLLFNBQVM7Z0JBQ1YsT0FBTztvQkFDSCxFQUFFLEVBQUUsQ0FBQyxDQUFDLEtBQUs7aUJBQ2QsQ0FBQztZQUNOLEtBQUssV0FBVyxDQUFDLENBQUM7Z0JBQ2QsSUFBSSxhQUE0QixDQUFDO2dCQUNqQyxNQUFNLEtBQUssR0FBRyxLQUFLLENBQUMsS0FBSyxJQUFJLFNBQVMsQ0FBQztnQkFDdkMsTUFBTSxHQUFHLEdBQUcsS0FBSyxDQUFDLEdBQUcsSUFBSSxTQUFTLENBQUM7Z0JBQ25DLElBQUksS0FBSyxJQUFJLEdBQUcsRUFBRTtvQkFDZCxhQUFhLEdBQUc7d0JBQ1osT0FBTyxFQUFFLEVBQUUsS0FBSyxFQUFFLEdBQUcsRUFBRTtxQkFDMUIsQ0FBQztpQkFDTDtxQkFBTSxJQUFJLEtBQUssRUFBRTtvQkFDZCxhQUFhLEdBQUc7d0JBQ1osS0FBSyxFQUFFLEtBQUs7cUJBQ2YsQ0FBQztpQkFDTDtxQkFBTTtvQkFDSCxhQUFhLEdBQUc7d0JBQ1osTUFBTSxFQUFFLEdBQUc7cUJBQ2QsQ0FBQztpQkFDTDtnQkFDRCxPQUFPLGFBQWEsQ0FBQzthQUN4QjtZQUNELEtBQUssUUFBUTtnQkFDVCxPQUFPO29CQUNILENBQUMsS0FBSyxDQUFDLFFBQVEsQ0FBQyxFQUFFLE1BQU0sQ0FBQyxLQUFLLENBQUMsTUFBTSxDQUFDO2lCQUN6QyxDQUFDO1lBRU4sS0FBSyxRQUFRO2dCQUNULE9BQU8sRUFBRSxFQUFFLEVBQUUsS0FBSyxFQUFFLENBQUM7WUFDekIsS0FBSyxNQUFNO2dCQUNQLE9BQU87b0JBQ0gsQ0FBQyxLQUFLLENBQUMsUUFBUSxDQUFDLEVBQUUsS0FBSyxDQUFDLElBQUk7aUJBQy9CLENBQUM7WUFDTixLQUFLLFFBQVEsQ0FBQyxDQUFDO2dCQUNYLE9BQU8sS0FBSyxDQUFDO2FBQ2hCO1lBQ0Q7Z0JBQ0ksV0FBVyxDQUFDLElBQUksQ0FBQyxDQUFDO1NBQ3pCO0lBQ0wsQ0FBQztJQUVELGFBQWEsQ0FBQyxLQUFpQztRQUMzQyxJQUFJLElBQUksQ0FBQyxPQUFPLENBQUMsYUFBYSxFQUFFO1lBQzVCLE9BQU8sSUFBSSxDQUFDLE9BQU8sQ0FBQyxhQUFhLENBQUMsS0FBSyxDQUFDLENBQUM7U0FDNUM7UUFDRCxJQUFJLElBQUksQ0FBQyxPQUFPLENBQUMsV0FBVyxFQUFFO1lBQzFCLE9BQU8sRUFBRSxDQUFDLElBQUksQ0FBQyxPQUFPLENBQUMsV0FBVyxDQUFDLEVBQUUsSUFBSSxDQUFDLGlCQUFpQixDQUFDLEtBQUssQ0FBQyxFQUEwQixDQUFDO1NBQ2hHO2FBQU07WUFDSCxNQUFNLElBQUksS0FBSyxDQUNYLHlFQUF5RSxJQUFJLENBQUMsSUFBSSxLQUFLLENBQzFGLENBQUM7U0FDTDtJQUNMLENBQUM7SUFFRCxRQUFRLENBQUMsS0FBaUM7UUFDdEMsSUFBSSxJQUFJLENBQUMsVUFBVSxFQUFFO1lBQ2pCLElBQUksQ0FBQyxVQUFVLENBQUMsSUFBSSxFQUFFLEtBQUssQ0FBQyxDQUFDO1NBQ2hDO0lBQ0wsQ0FBQztJQUVELE1BQU07UUFDRixPQUFPLElBQUksQ0FBQyxJQUFJLENBQUMsSUFBSSxLQUFLLE1BQU0sQ0FBQztJQUNyQyxDQUFDO0lBRUQsUUFBUTtRQUNKLE9BQU8sSUFBSSxDQUFDLElBQUksQ0FBQyxJQUFJLEtBQUssUUFBUSxDQUFDO0lBQ3ZDLENBQUM7SUFFRCxTQUFTO1FBQ0wsT0FBTyxJQUFJLENBQUMsSUFBSSxDQUFDLElBQUksS0FBSyxTQUFTLENBQUM7SUFDeEMsQ0FBQztJQUVELFFBQVE7UUFDSixPQUFPLElBQUksQ0FBQyxJQUFJLENBQUMsSUFBSSxLQUFLLFFBQVEsQ0FBQztJQUN2QyxDQUFDO0lBRUQsV0FBVztRQUNQLE9BQU8sSUFBSSxDQUFDLElBQUksQ0FBQyxJQUFJLEtBQUssV0FBVyxDQUFDO0lBQzFDLENBQUM7SUFFRCxRQUFRO1FBQ0osT0FBTyxJQUFJLENBQUMsSUFBSSxDQUFDLElBQUksS0FBSyxRQUFRLENBQUM7SUFDdkMsQ0FBQztDQUNKIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgVHlwZSBhcyBDb21wb25lbnRUeXBlIH0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XHJcbmltcG9ydCB7IExvY2FsaXplZFN0cmluZyB9IGZyb20gJ0B2ZW5kdXJlL2NvbW1vbi9saWIvZ2VuZXJhdGVkLXR5cGVzJztcclxuaW1wb3J0IHsgYXNzZXJ0TmV2ZXIgfSBmcm9tICdAdmVuZHVyZS9jb21tb24vbGliL3NoYXJlZC11dGlscyc7XHJcbmltcG9ydCB7IEZvcm1JbnB1dENvbXBvbmVudCB9IGZyb20gJy4uLy4uL2NvbW1vbi9jb21wb25lbnQtcmVnaXN0cnktdHlwZXMnO1xyXG5pbXBvcnQge1xyXG4gICAgQm9vbGVhbk9wZXJhdG9ycyxcclxuICAgIERhdGVPcGVyYXRvcnMsXHJcbiAgICBOdW1iZXJPcGVyYXRvcnMsXHJcbiAgICBTdHJpbmdPcGVyYXRvcnMsXHJcbn0gZnJvbSAnLi4vLi4vY29tbW9uL2dlbmVyYXRlZC10eXBlcyc7XHJcblxyXG5leHBvcnQgaW50ZXJmYWNlIERhdGFUYWJsZUZpbHRlclRleHRUeXBlIHtcclxuICAgIGtpbmQ6ICd0ZXh0JztcclxuICAgIHBsYWNlaG9sZGVyPzogc3RyaW5nO1xyXG59XHJcblxyXG5leHBvcnQgaW50ZXJmYWNlIERhdGFUYWJsZUZpbHRlclNlbGVjdFR5cGUge1xyXG4gICAga2luZDogJ3NlbGVjdCc7XHJcbiAgICBvcHRpb25zOiBBcnJheTx7IHZhbHVlOiBhbnk7IGxhYmVsOiBzdHJpbmcgfT47XHJcbn1cclxuXHJcbmV4cG9ydCBpbnRlcmZhY2UgRGF0YVRhYmxlRmlsdGVyQm9vbGVhblR5cGUge1xyXG4gICAga2luZDogJ2Jvb2xlYW4nO1xyXG59XHJcblxyXG5leHBvcnQgaW50ZXJmYWNlIERhdGFUYWJsZUZpbHRlck51bWJlclR5cGUge1xyXG4gICAga2luZDogJ251bWJlcic7XHJcbiAgICBpbnB1dFR5cGU/OiAnbnVtYmVyJyB8ICdjdXJyZW5jeSc7XHJcbn1cclxuXHJcbmV4cG9ydCBpbnRlcmZhY2UgRGF0YVRhYmxlRmlsdGVyRGF0ZVJhbmdlVHlwZSB7XHJcbiAgICBraW5kOiAnZGF0ZVJhbmdlJztcclxufVxyXG5cclxuZXhwb3J0IGludGVyZmFjZSBEYXRhVGFibGVGaWx0ZXJDdXN0b21UeXBlIHtcclxuICAgIGtpbmQ6ICdjdXN0b20nO1xyXG4gICAgY29tcG9uZW50OiBDb21wb25lbnRUeXBlPEZvcm1JbnB1dENvbXBvbmVudD47XHJcbiAgICBzZXJpYWxpemVWYWx1ZTogKHZhbHVlOiBhbnkpID0+IHN0cmluZztcclxuICAgIGRlc2VyaWFsaXplVmFsdWU6IChzZXJpYWxpemVkOiBzdHJpbmcpID0+IGFueTtcclxuICAgIGdldExhYmVsKHZhbHVlOiBhbnkpOiBzdHJpbmcgfCBQcm9taXNlPHN0cmluZz47XHJcbn1cclxuXHJcbmV4cG9ydCB0eXBlIEtpbmRWYWx1ZU1hcCA9IHtcclxuICAgIHRleHQ6IHtcclxuICAgICAgICByYXc6IHtcclxuICAgICAgICAgICAgb3BlcmF0b3I6IGtleW9mIFN0cmluZ09wZXJhdG9ycztcclxuICAgICAgICAgICAgdGVybTogc3RyaW5nO1xyXG4gICAgICAgIH07XHJcbiAgICAgICAgaW5wdXQ6IFN0cmluZ09wZXJhdG9ycztcclxuICAgIH07XHJcbiAgICBzZWxlY3Q6IHsgcmF3OiBzdHJpbmdbXTsgaW5wdXQ6IFN0cmluZ09wZXJhdG9ycyB9O1xyXG4gICAgYm9vbGVhbjogeyByYXc6IGJvb2xlYW47IGlucHV0OiBCb29sZWFuT3BlcmF0b3JzIH07XHJcbiAgICBkYXRlUmFuZ2U6IHsgcmF3OiB7IHN0YXJ0Pzogc3RyaW5nOyBlbmQ/OiBzdHJpbmcgfTsgaW5wdXQ6IERhdGVPcGVyYXRvcnMgfTtcclxuICAgIG51bWJlcjogeyByYXc6IHsgb3BlcmF0b3I6IGtleW9mIE51bWJlck9wZXJhdG9yczsgYW1vdW50OiBudW1iZXIgfTsgaW5wdXQ6IE51bWJlck9wZXJhdG9ycyB9O1xyXG4gICAgY3VzdG9tOiB7IHJhdzogYW55OyBpbnB1dDogYW55IH07XHJcbn07XHJcbmV4cG9ydCB0eXBlIERhdGFUYWJsZUZpbHRlclR5cGUgPVxyXG4gICAgfCBEYXRhVGFibGVGaWx0ZXJUZXh0VHlwZVxyXG4gICAgfCBEYXRhVGFibGVGaWx0ZXJTZWxlY3RUeXBlXHJcbiAgICB8IERhdGFUYWJsZUZpbHRlckJvb2xlYW5UeXBlXHJcbiAgICB8IERhdGFUYWJsZUZpbHRlckRhdGVSYW5nZVR5cGVcclxuICAgIHwgRGF0YVRhYmxlRmlsdGVyTnVtYmVyVHlwZVxyXG4gICAgfCBEYXRhVGFibGVGaWx0ZXJDdXN0b21UeXBlO1xyXG5cclxuZXhwb3J0IGludGVyZmFjZSBEYXRhVGFibGVGaWx0ZXJPcHRpb25zPFxyXG4gICAgRmlsdGVySW5wdXQgZXh0ZW5kcyBSZWNvcmQ8c3RyaW5nLCBhbnk+ID0gYW55LFxyXG4gICAgVHlwZSBleHRlbmRzIERhdGFUYWJsZUZpbHRlclR5cGUgPSBEYXRhVGFibGVGaWx0ZXJUeXBlLFxyXG4+IHtcclxuICAgIHJlYWRvbmx5IG5hbWU6IHN0cmluZztcclxuICAgIHJlYWRvbmx5IHR5cGU6IFR5cGU7XHJcbiAgICByZWFkb25seSBsYWJlbDogc3RyaW5nIHwgTG9jYWxpemVkU3RyaW5nW107XHJcbiAgICByZWFkb25seSBmaWx0ZXJGaWVsZD86IGtleW9mIEZpbHRlcklucHV0O1xyXG4gICAgcmVhZG9ubHkgdG9GaWx0ZXJJbnB1dD86ICh2YWx1ZTogRGF0YVRhYmxlRmlsdGVyVmFsdWU8VHlwZT4pID0+IFBhcnRpYWw8RmlsdGVySW5wdXQ+O1xyXG59XHJcblxyXG5leHBvcnQgdHlwZSBEYXRhVGFibGVGaWx0ZXJWYWx1ZTxUeXBlIGV4dGVuZHMgRGF0YVRhYmxlRmlsdGVyVHlwZT4gPSBLaW5kVmFsdWVNYXBbVHlwZVsna2luZCddXVsncmF3J107XHJcbmV4cG9ydCB0eXBlIERhdGFUYWJsZUZpbHRlck9wZXJhdG9yPFR5cGUgZXh0ZW5kcyBEYXRhVGFibGVGaWx0ZXJUeXBlPiA9IEtpbmRWYWx1ZU1hcFtUeXBlWydraW5kJ11dWydpbnB1dCddO1xyXG5cclxuZXhwb3J0IGNsYXNzIERhdGFUYWJsZUZpbHRlcjxcclxuICAgIEZpbHRlcklucHV0IGV4dGVuZHMgUmVjb3JkPHN0cmluZywgYW55PiA9IGFueSxcclxuICAgIFR5cGUgZXh0ZW5kcyBEYXRhVGFibGVGaWx0ZXJUeXBlID0gRGF0YVRhYmxlRmlsdGVyVHlwZSxcclxuPiB7XHJcbiAgICBjb25zdHJ1Y3RvcihcclxuICAgICAgICBwcml2YXRlIHJlYWRvbmx5IG9wdGlvbnM6IERhdGFUYWJsZUZpbHRlck9wdGlvbnM8RmlsdGVySW5wdXQsIFR5cGU+LFxyXG4gICAgICAgIHByaXZhdGUgb25BY3RpdmF0ZT86IChcclxuICAgICAgICAgICAgZmlsdGVyOiBEYXRhVGFibGVGaWx0ZXI8RmlsdGVySW5wdXQsIFR5cGU+LFxyXG4gICAgICAgICAgICB2YWx1ZTogRGF0YVRhYmxlRmlsdGVyVmFsdWU8VHlwZT4gfCB1bmRlZmluZWQsXHJcbiAgICAgICAgKSA9PiB2b2lkLFxyXG4gICAgKSB7fVxyXG5cclxuICAgIGdldCBuYW1lKCk6IHN0cmluZyB7XHJcbiAgICAgICAgcmV0dXJuIHRoaXMub3B0aW9ucy5uYW1lO1xyXG4gICAgfVxyXG5cclxuICAgIGdldCB0eXBlKCk6IFR5cGUge1xyXG4gICAgICAgIHJldHVybiB0aGlzLm9wdGlvbnMudHlwZTtcclxuICAgIH1cclxuXHJcbiAgICBnZXQgbGFiZWwoKTogc3RyaW5nIHwgTG9jYWxpemVkU3RyaW5nW10ge1xyXG4gICAgICAgIHJldHVybiB0aGlzLm9wdGlvbnMubGFiZWw7XHJcbiAgICB9XHJcblxyXG4gICAgZ2V0RmlsdGVyT3BlcmF0b3IodmFsdWU6IGFueSk6IERhdGFUYWJsZUZpbHRlck9wZXJhdG9yPFR5cGU+IHtcclxuICAgICAgICBjb25zdCB0eXBlID0gdGhpcy5vcHRpb25zLnR5cGU7XHJcbiAgICAgICAgc3dpdGNoICh0eXBlLmtpbmQpIHtcclxuICAgICAgICAgICAgY2FzZSAnYm9vbGVhbic6XHJcbiAgICAgICAgICAgICAgICByZXR1cm4ge1xyXG4gICAgICAgICAgICAgICAgICAgIGVxOiAhIXZhbHVlLFxyXG4gICAgICAgICAgICAgICAgfTtcclxuICAgICAgICAgICAgY2FzZSAnZGF0ZVJhbmdlJzoge1xyXG4gICAgICAgICAgICAgICAgbGV0IGRhdGVPcGVyYXRvcnM6IERhdGVPcGVyYXRvcnM7XHJcbiAgICAgICAgICAgICAgICBjb25zdCBzdGFydCA9IHZhbHVlLnN0YXJ0ID8/IHVuZGVmaW5lZDtcclxuICAgICAgICAgICAgICAgIGNvbnN0IGVuZCA9IHZhbHVlLmVuZCA/PyB1bmRlZmluZWQ7XHJcbiAgICAgICAgICAgICAgICBpZiAoc3RhcnQgJiYgZW5kKSB7XHJcbiAgICAgICAgICAgICAgICAgICAgZGF0ZU9wZXJhdG9ycyA9IHtcclxuICAgICAgICAgICAgICAgICAgICAgICAgYmV0d2VlbjogeyBzdGFydCwgZW5kIH0sXHJcbiAgICAgICAgICAgICAgICAgICAgfTtcclxuICAgICAgICAgICAgICAgIH0gZWxzZSBpZiAoc3RhcnQpIHtcclxuICAgICAgICAgICAgICAgICAgICBkYXRlT3BlcmF0b3JzID0ge1xyXG4gICAgICAgICAgICAgICAgICAgICAgICBhZnRlcjogc3RhcnQsXHJcbiAgICAgICAgICAgICAgICAgICAgfTtcclxuICAgICAgICAgICAgICAgIH0gZWxzZSB7XHJcbiAgICAgICAgICAgICAgICAgICAgZGF0ZU9wZXJhdG9ycyA9IHtcclxuICAgICAgICAgICAgICAgICAgICAgICAgYmVmb3JlOiBlbmQsXHJcbiAgICAgICAgICAgICAgICAgICAgfTtcclxuICAgICAgICAgICAgICAgIH1cclxuICAgICAgICAgICAgICAgIHJldHVybiBkYXRlT3BlcmF0b3JzO1xyXG4gICAgICAgICAgICB9XHJcbiAgICAgICAgICAgIGNhc2UgJ251bWJlcic6XHJcbiAgICAgICAgICAgICAgICByZXR1cm4ge1xyXG4gICAgICAgICAgICAgICAgICAgIFt2YWx1ZS5vcGVyYXRvcl06IE51bWJlcih2YWx1ZS5hbW91bnQpLFxyXG4gICAgICAgICAgICAgICAgfTtcclxuXHJcbiAgICAgICAgICAgIGNhc2UgJ3NlbGVjdCc6XHJcbiAgICAgICAgICAgICAgICByZXR1cm4geyBpbjogdmFsdWUgfTtcclxuICAgICAgICAgICAgY2FzZSAndGV4dCc6XHJcbiAgICAgICAgICAgICAgICByZXR1cm4ge1xyXG4gICAgICAgICAgICAgICAgICAgIFt2YWx1ZS5vcGVyYXRvcl06IHZhbHVlLnRlcm0sXHJcbiAgICAgICAgICAgICAgICB9O1xyXG4gICAgICAgICAgICBjYXNlICdjdXN0b20nOiB7XHJcbiAgICAgICAgICAgICAgICByZXR1cm4gdmFsdWU7XHJcbiAgICAgICAgICAgIH1cclxuICAgICAgICAgICAgZGVmYXVsdDpcclxuICAgICAgICAgICAgICAgIGFzc2VydE5ldmVyKHR5cGUpO1xyXG4gICAgICAgIH1cclxuICAgIH1cclxuXHJcbiAgICB0b0ZpbHRlcklucHV0KHZhbHVlOiBEYXRhVGFibGVGaWx0ZXJWYWx1ZTxUeXBlPik6IFBhcnRpYWw8RmlsdGVySW5wdXQ+IHtcclxuICAgICAgICBpZiAodGhpcy5vcHRpb25zLnRvRmlsdGVySW5wdXQpIHtcclxuICAgICAgICAgICAgcmV0dXJuIHRoaXMub3B0aW9ucy50b0ZpbHRlcklucHV0KHZhbHVlKTtcclxuICAgICAgICB9XHJcbiAgICAgICAgaWYgKHRoaXMub3B0aW9ucy5maWx0ZXJGaWVsZCkge1xyXG4gICAgICAgICAgICByZXR1cm4geyBbdGhpcy5vcHRpb25zLmZpbHRlckZpZWxkXTogdGhpcy5nZXRGaWx0ZXJPcGVyYXRvcih2YWx1ZSkgfSBhcyBQYXJ0aWFsPEZpbHRlcklucHV0PjtcclxuICAgICAgICB9IGVsc2Uge1xyXG4gICAgICAgICAgICB0aHJvdyBuZXcgRXJyb3IoXHJcbiAgICAgICAgICAgICAgICBgRWl0aGVyIFwiZmlsdGVyRmllbGRcIiBvciBcInRvRmlsdGVySW5wdXRcIiBtdXN0IGJlIHByb3ZpZGVkIChmb3IgZmlsdGVyIFwiJHt0aGlzLm5hbWV9XCIpKWAsXHJcbiAgICAgICAgICAgICk7XHJcbiAgICAgICAgfVxyXG4gICAgfVxyXG5cclxuICAgIGFjdGl2YXRlKHZhbHVlOiBEYXRhVGFibGVGaWx0ZXJWYWx1ZTxUeXBlPikge1xyXG4gICAgICAgIGlmICh0aGlzLm9uQWN0aXZhdGUpIHtcclxuICAgICAgICAgICAgdGhpcy5vbkFjdGl2YXRlKHRoaXMsIHZhbHVlKTtcclxuICAgICAgICB9XHJcbiAgICB9XHJcblxyXG4gICAgaXNUZXh0KCk6IHRoaXMgaXMgRGF0YVRhYmxlRmlsdGVyPEZpbHRlcklucHV0LCBEYXRhVGFibGVGaWx0ZXJUZXh0VHlwZT4ge1xyXG4gICAgICAgIHJldHVybiB0aGlzLnR5cGUua2luZCA9PT0gJ3RleHQnO1xyXG4gICAgfVxyXG5cclxuICAgIGlzTnVtYmVyKCk6IHRoaXMgaXMgRGF0YVRhYmxlRmlsdGVyPEZpbHRlcklucHV0LCBEYXRhVGFibGVGaWx0ZXJOdW1iZXJUeXBlPiB7XHJcbiAgICAgICAgcmV0dXJuIHRoaXMudHlwZS5raW5kID09PSAnbnVtYmVyJztcclxuICAgIH1cclxuXHJcbiAgICBpc0Jvb2xlYW4oKTogdGhpcyBpcyBEYXRhVGFibGVGaWx0ZXI8RmlsdGVySW5wdXQsIERhdGFUYWJsZUZpbHRlckJvb2xlYW5UeXBlPiB7XHJcbiAgICAgICAgcmV0dXJuIHRoaXMudHlwZS5raW5kID09PSAnYm9vbGVhbic7XHJcbiAgICB9XHJcblxyXG4gICAgaXNTZWxlY3QoKTogdGhpcyBpcyBEYXRhVGFibGVGaWx0ZXI8RmlsdGVySW5wdXQsIERhdGFUYWJsZUZpbHRlclNlbGVjdFR5cGU+IHtcclxuICAgICAgICByZXR1cm4gdGhpcy50eXBlLmtpbmQgPT09ICdzZWxlY3QnO1xyXG4gICAgfVxyXG5cclxuICAgIGlzRGF0ZVJhbmdlKCk6IHRoaXMgaXMgRGF0YVRhYmxlRmlsdGVyPEZpbHRlcklucHV0LCBEYXRhVGFibGVGaWx0ZXJEYXRlUmFuZ2VUeXBlPiB7XHJcbiAgICAgICAgcmV0dXJuIHRoaXMudHlwZS5raW5kID09PSAnZGF0ZVJhbmdlJztcclxuICAgIH1cclxuXHJcbiAgICBpc0N1c3RvbSgpOiB0aGlzIGlzIERhdGFUYWJsZUZpbHRlcjxGaWx0ZXJJbnB1dCwgRGF0YVRhYmxlRmlsdGVyQ3VzdG9tVHlwZT4ge1xyXG4gICAgICAgIHJldHVybiB0aGlzLnR5cGUua2luZCA9PT0gJ2N1c3RvbSc7XHJcbiAgICB9XHJcbn1cclxuIl19
|
|
103
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZGF0YS10YWJsZS1maWx0ZXIuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi9zcmMvbGliL2NvcmUvc3JjL3Byb3ZpZGVycy9kYXRhLXRhYmxlL2RhdGEtdGFibGUtZmlsdGVyLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUVBLE9BQU8sRUFBRSxXQUFXLEVBQUUsTUFBTSxrQ0FBa0MsQ0FBQztBQXlGL0QsTUFBTSxPQUFPLGVBQWU7SUFJeEIsWUFDcUIsT0FBa0QsRUFDM0QsVUFHQztRQUpRLFlBQU8sR0FBUCxPQUFPLENBQTJDO1FBQzNELGVBQVUsR0FBVixVQUFVLENBR1Q7SUFDVixDQUFDO0lBRUosSUFBSSxJQUFJO1FBQ0osT0FBTyxJQUFJLENBQUMsT0FBTyxDQUFDLElBQUksQ0FBQztJQUM3QixDQUFDO0lBRUQsSUFBSSxJQUFJO1FBQ0osT0FBTyxJQUFJLENBQUMsT0FBTyxDQUFDLElBQUksQ0FBQztJQUM3QixDQUFDO0lBRUQsSUFBSSxLQUFLO1FBQ0wsT0FBTyxJQUFJLENBQUMsT0FBTyxDQUFDLEtBQUssQ0FBQztJQUM5QixDQUFDO0lBRUQsaUJBQWlCLENBQUMsS0FBVTtRQUN4QixNQUFNLElBQUksR0FBRyxJQUFJLENBQUMsT0FBTyxDQUFDLElBQUksQ0FBQztRQUMvQixRQUFRLElBQUksQ0FBQyxJQUFJLEVBQUU7WUFDZixLQUFLLFNBQVM7Z0JBQ1YsT0FBTztvQkFDSCxFQUFFLEVBQUUsQ0FBQyxDQUFDLEtBQUs7aUJBQ2QsQ0FBQztZQUNOLEtBQUssV0FBVyxDQUFDLENBQUM7Z0JBQ2QsSUFBSSxhQUE0QixDQUFDO2dCQUNqQyxNQUFNLEtBQUssR0FBRyxLQUFLLENBQUMsS0FBSyxJQUFJLFNBQVMsQ0FBQztnQkFDdkMsTUFBTSxHQUFHLEdBQUcsS0FBSyxDQUFDLEdBQUcsSUFBSSxTQUFTLENBQUM7Z0JBQ25DLElBQUksS0FBSyxJQUFJLEdBQUcsRUFBRTtvQkFDZCxhQUFhLEdBQUc7d0JBQ1osT0FBTyxFQUFFLEVBQUUsS0FBSyxFQUFFLEdBQUcsRUFBRTtxQkFDMUIsQ0FBQztpQkFDTDtxQkFBTSxJQUFJLEtBQUssRUFBRTtvQkFDZCxhQUFhLEdBQUc7d0JBQ1osS0FBSyxFQUFFLEtBQUs7cUJBQ2YsQ0FBQztpQkFDTDtxQkFBTTtvQkFDSCxhQUFhLEdBQUc7d0JBQ1osTUFBTSxFQUFFLEdBQUc7cUJBQ2QsQ0FBQztpQkFDTDtnQkFDRCxPQUFPLGFBQWEsQ0FBQzthQUN4QjtZQUNELEtBQUssUUFBUTtnQkFDVCxPQUFPO29CQUNILENBQUMsS0FBSyxDQUFDLFFBQVEsQ0FBQyxFQUFFLE1BQU0sQ0FBQyxLQUFLLENBQUMsTUFBTSxDQUFDO2lCQUN6QyxDQUFDO1lBRU4sS0FBSyxRQUFRO2dCQUNULE9BQU8sRUFBRSxFQUFFLEVBQUUsS0FBSyxFQUFFLENBQUM7WUFDekIsS0FBSyxNQUFNO2dCQUNQLE9BQU87b0JBQ0gsQ0FBQyxLQUFLLENBQUMsUUFBUSxDQUFDLEVBQUUsS0FBSyxDQUFDLElBQUk7aUJBQy9CLENBQUM7WUFDTixLQUFLLElBQUk7Z0JBQ0wsT0FBTztvQkFDSCxDQUFDLEtBQUssQ0FBQyxRQUFRLENBQUMsRUFBRSxLQUFLLENBQUMsSUFBSTtpQkFDL0IsQ0FBQztZQUNOLEtBQUssUUFBUSxDQUFDLENBQUM7Z0JBQ1gsT0FBTyxLQUFLLENBQUM7YUFDaEI7WUFDRDtnQkFDSSxXQUFXLENBQUMsSUFBSSxDQUFDLENBQUM7U0FDekI7SUFDTCxDQUFDO0lBRUQsYUFBYSxDQUFDLEtBQWlDO1FBQzNDLElBQUksSUFBSSxDQUFDLE9BQU8sQ0FBQyxhQUFhLEVBQUU7WUFDNUIsT0FBTyxJQUFJLENBQUMsT0FBTyxDQUFDLGFBQWEsQ0FBQyxLQUFLLENBQUMsQ0FBQztTQUM1QztRQUNELElBQUksSUFBSSxDQUFDLE9BQU8sQ0FBQyxXQUFXLEVBQUU7WUFDMUIsT0FBTyxFQUFFLENBQUMsSUFBSSxDQUFDLE9BQU8sQ0FBQyxXQUFXLENBQUMsRUFBRSxJQUFJLENBQUMsaUJBQWlCLENBQUMsS0FBSyxDQUFDLEVBQTBCLENBQUM7U0FDaEc7YUFBTTtZQUNILE1BQU0sSUFBSSxLQUFLLENBQ1gseUVBQXlFLElBQUksQ0FBQyxJQUFJLEtBQUssQ0FDMUYsQ0FBQztTQUNMO0lBQ0wsQ0FBQztJQUVELFFBQVEsQ0FBQyxLQUFpQztRQUN0QyxJQUFJLElBQUksQ0FBQyxVQUFVLEVBQUU7WUFDakIsSUFBSSxDQUFDLFVBQVUsQ0FBQyxJQUFJLEVBQUUsS0FBSyxDQUFDLENBQUM7U0FDaEM7SUFDTCxDQUFDO0lBRUQsSUFBSTtRQUNBLE9BQU8sSUFBSSxDQUFDLElBQUksQ0FBQyxJQUFJLEtBQUssSUFBSSxDQUFDO0lBQ25DLENBQUM7SUFFRCxNQUFNO1FBQ0YsT0FBTyxJQUFJLENBQUMsSUFBSSxDQUFDLElBQUksS0FBSyxNQUFNLENBQUM7SUFDckMsQ0FBQztJQUVELFFBQVE7UUFDSixPQUFPLElBQUksQ0FBQyxJQUFJLENBQUMsSUFBSSxLQUFLLFFBQVEsQ0FBQztJQUN2QyxDQUFDO0lBRUQsU0FBUztRQUNMLE9BQU8sSUFBSSxDQUFDLElBQUksQ0FBQyxJQUFJLEtBQUssU0FBUyxDQUFDO0lBQ3hDLENBQUM7SUFFRCxRQUFRO1FBQ0osT0FBTyxJQUFJLENBQUMsSUFBSSxDQUFDLElBQUksS0FBSyxRQUFRLENBQUM7SUFDdkMsQ0FBQztJQUVELFdBQVc7UUFDUCxPQUFPLElBQUksQ0FBQyxJQUFJLENBQUMsSUFBSSxLQUFLLFdBQVcsQ0FBQztJQUMxQyxDQUFDO0lBRUQsUUFBUTtRQUNKLE9BQU8sSUFBSSxDQUFDLElBQUksQ0FBQyxJQUFJLEtBQUssUUFBUSxDQUFDO0lBQ3ZDLENBQUM7Q0FDSiIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IFR5cGUgYXMgQ29tcG9uZW50VHlwZSB9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xyXG5pbXBvcnQgeyBMb2NhbGl6ZWRTdHJpbmcgfSBmcm9tICdAdmVuZHVyZS9jb21tb24vbGliL2dlbmVyYXRlZC10eXBlcyc7XHJcbmltcG9ydCB7IGFzc2VydE5ldmVyIH0gZnJvbSAnQHZlbmR1cmUvY29tbW9uL2xpYi9zaGFyZWQtdXRpbHMnO1xyXG5pbXBvcnQgeyBGb3JtSW5wdXRDb21wb25lbnQgfSBmcm9tICcuLi8uLi9jb21tb24vY29tcG9uZW50LXJlZ2lzdHJ5LXR5cGVzJztcclxuaW1wb3J0IHtcclxuICAgIEJvb2xlYW5PcGVyYXRvcnMsXHJcbiAgICBEYXRlT3BlcmF0b3JzLFxyXG4gICAgSWRPcGVyYXRvcnMsXHJcbiAgICBOdW1iZXJPcGVyYXRvcnMsXHJcbiAgICBTdHJpbmdPcGVyYXRvcnMsXHJcbn0gZnJvbSAnLi4vLi4vY29tbW9uL2dlbmVyYXRlZC10eXBlcyc7XHJcblxyXG5leHBvcnQgaW50ZXJmYWNlIERhdGFUYWJsZUZpbHRlcklEVHlwZSB7XHJcbiAgICBraW5kOiAnaWQnO1xyXG59XHJcblxyXG5leHBvcnQgaW50ZXJmYWNlIERhdGFUYWJsZUZpbHRlclRleHRUeXBlIHtcclxuICAgIGtpbmQ6ICd0ZXh0JztcclxuICAgIHBsYWNlaG9sZGVyPzogc3RyaW5nO1xyXG59XHJcblxyXG5leHBvcnQgaW50ZXJmYWNlIERhdGFUYWJsZUZpbHRlclNlbGVjdFR5cGUge1xyXG4gICAga2luZDogJ3NlbGVjdCc7XHJcbiAgICBvcHRpb25zOiBBcnJheTx7IHZhbHVlOiBhbnk7IGxhYmVsOiBzdHJpbmcgfT47XHJcbn1cclxuXHJcbmV4cG9ydCBpbnRlcmZhY2UgRGF0YVRhYmxlRmlsdGVyQm9vbGVhblR5cGUge1xyXG4gICAga2luZDogJ2Jvb2xlYW4nO1xyXG59XHJcblxyXG5leHBvcnQgaW50ZXJmYWNlIERhdGFUYWJsZUZpbHRlck51bWJlclR5cGUge1xyXG4gICAga2luZDogJ251bWJlcic7XHJcbiAgICBpbnB1dFR5cGU/OiAnbnVtYmVyJyB8ICdjdXJyZW5jeSc7XHJcbn1cclxuXHJcbmV4cG9ydCBpbnRlcmZhY2UgRGF0YVRhYmxlRmlsdGVyRGF0ZVJhbmdlVHlwZSB7XHJcbiAgICBraW5kOiAnZGF0ZVJhbmdlJztcclxufVxyXG5cclxuZXhwb3J0IGludGVyZmFjZSBEYXRhVGFibGVGaWx0ZXJDdXN0b21UeXBlIHtcclxuICAgIGtpbmQ6ICdjdXN0b20nO1xyXG4gICAgY29tcG9uZW50OiBDb21wb25lbnRUeXBlPEZvcm1JbnB1dENvbXBvbmVudD47XHJcbiAgICBzZXJpYWxpemVWYWx1ZTogKHZhbHVlOiBhbnkpID0+IHN0cmluZztcclxuICAgIGRlc2VyaWFsaXplVmFsdWU6IChzZXJpYWxpemVkOiBzdHJpbmcpID0+IGFueTtcclxuICAgIGdldExhYmVsKHZhbHVlOiBhbnkpOiBzdHJpbmcgfCBQcm9taXNlPHN0cmluZz47XHJcbn1cclxuXHJcbmV4cG9ydCB0eXBlIEtpbmRWYWx1ZU1hcCA9IHtcclxuICAgIGlkOiB7XHJcbiAgICAgICAgcmF3OiB7XHJcbiAgICAgICAgICAgIG9wZXJhdG9yOiBrZXlvZiBJZE9wZXJhdG9ycztcclxuICAgICAgICAgICAgdGVybTogc3RyaW5nO1xyXG4gICAgICAgIH07XHJcbiAgICAgICAgaW5wdXQ6IElkT3BlcmF0b3JzO1xyXG4gICAgfTtcclxuICAgIHRleHQ6IHtcclxuICAgICAgICByYXc6IHtcclxuICAgICAgICAgICAgb3BlcmF0b3I6IGtleW9mIFN0cmluZ09wZXJhdG9ycztcclxuICAgICAgICAgICAgdGVybTogc3RyaW5nO1xyXG4gICAgICAgIH07XHJcbiAgICAgICAgaW5wdXQ6IFN0cmluZ09wZXJhdG9ycztcclxuICAgIH07XHJcbiAgICBzZWxlY3Q6IHsgcmF3OiBzdHJpbmdbXTsgaW5wdXQ6IFN0cmluZ09wZXJhdG9ycyB9O1xyXG4gICAgYm9vbGVhbjogeyByYXc6IGJvb2xlYW47IGlucHV0OiBCb29sZWFuT3BlcmF0b3JzIH07XHJcbiAgICBkYXRlUmFuZ2U6IHsgcmF3OiB7IHN0YXJ0Pzogc3RyaW5nOyBlbmQ/OiBzdHJpbmcgfTsgaW5wdXQ6IERhdGVPcGVyYXRvcnMgfTtcclxuICAgIG51bWJlcjogeyByYXc6IHsgb3BlcmF0b3I6IGtleW9mIE51bWJlck9wZXJhdG9yczsgYW1vdW50OiBudW1iZXIgfTsgaW5wdXQ6IE51bWJlck9wZXJhdG9ycyB9O1xyXG4gICAgY3VzdG9tOiB7IHJhdzogYW55OyBpbnB1dDogYW55IH07XHJcbn07XHJcbmV4cG9ydCB0eXBlIERhdGFUYWJsZUZpbHRlclR5cGUgPVxyXG4gICAgfCBEYXRhVGFibGVGaWx0ZXJJRFR5cGVcclxuICAgIHwgRGF0YVRhYmxlRmlsdGVyVGV4dFR5cGVcclxuICAgIHwgRGF0YVRhYmxlRmlsdGVyU2VsZWN0VHlwZVxyXG4gICAgfCBEYXRhVGFibGVGaWx0ZXJCb29sZWFuVHlwZVxyXG4gICAgfCBEYXRhVGFibGVGaWx0ZXJEYXRlUmFuZ2VUeXBlXHJcbiAgICB8IERhdGFUYWJsZUZpbHRlck51bWJlclR5cGVcclxuICAgIHwgRGF0YVRhYmxlRmlsdGVyQ3VzdG9tVHlwZTtcclxuXHJcbmV4cG9ydCBpbnRlcmZhY2UgRGF0YVRhYmxlRmlsdGVyT3B0aW9uczxcclxuICAgIEZpbHRlcklucHV0IGV4dGVuZHMgUmVjb3JkPHN0cmluZywgYW55PiA9IGFueSxcclxuICAgIFR5cGUgZXh0ZW5kcyBEYXRhVGFibGVGaWx0ZXJUeXBlID0gRGF0YVRhYmxlRmlsdGVyVHlwZSxcclxuPiB7XHJcbiAgICByZWFkb25seSBuYW1lOiBzdHJpbmc7XHJcbiAgICByZWFkb25seSB0eXBlOiBUeXBlO1xyXG4gICAgcmVhZG9ubHkgbGFiZWw6IHN0cmluZyB8IExvY2FsaXplZFN0cmluZ1tdO1xyXG4gICAgcmVhZG9ubHkgZmlsdGVyRmllbGQ/OiBrZXlvZiBGaWx0ZXJJbnB1dDtcclxuICAgIHJlYWRvbmx5IHRvRmlsdGVySW5wdXQ/OiAodmFsdWU6IERhdGFUYWJsZUZpbHRlclZhbHVlPFR5cGU+KSA9PiBQYXJ0aWFsPEZpbHRlcklucHV0PjtcclxufVxyXG5cclxuZXhwb3J0IHR5cGUgRGF0YVRhYmxlRmlsdGVyVmFsdWU8VHlwZSBleHRlbmRzIERhdGFUYWJsZUZpbHRlclR5cGU+ID0gS2luZFZhbHVlTWFwW1R5cGVbJ2tpbmQnXV1bJ3JhdyddO1xyXG5leHBvcnQgdHlwZSBEYXRhVGFibGVGaWx0ZXJPcGVyYXRvcjxUeXBlIGV4dGVuZHMgRGF0YVRhYmxlRmlsdGVyVHlwZT4gPSBLaW5kVmFsdWVNYXBbVHlwZVsna2luZCddXVsnaW5wdXQnXTtcclxuXHJcbmV4cG9ydCBjbGFzcyBEYXRhVGFibGVGaWx0ZXI8XHJcbiAgICBGaWx0ZXJJbnB1dCBleHRlbmRzIFJlY29yZDxzdHJpbmcsIGFueT4gPSBhbnksXHJcbiAgICBUeXBlIGV4dGVuZHMgRGF0YVRhYmxlRmlsdGVyVHlwZSA9IERhdGFUYWJsZUZpbHRlclR5cGUsXHJcbj4ge1xyXG4gICAgY29uc3RydWN0b3IoXHJcbiAgICAgICAgcHJpdmF0ZSByZWFkb25seSBvcHRpb25zOiBEYXRhVGFibGVGaWx0ZXJPcHRpb25zPEZpbHRlcklucHV0LCBUeXBlPixcclxuICAgICAgICBwcml2YXRlIG9uQWN0aXZhdGU/OiAoXHJcbiAgICAgICAgICAgIGZpbHRlcjogRGF0YVRhYmxlRmlsdGVyPEZpbHRlcklucHV0LCBUeXBlPixcclxuICAgICAgICAgICAgdmFsdWU6IERhdGFUYWJsZUZpbHRlclZhbHVlPFR5cGU+IHwgdW5kZWZpbmVkLFxyXG4gICAgICAgICkgPT4gdm9pZCxcclxuICAgICkge31cclxuXHJcbiAgICBnZXQgbmFtZSgpOiBzdHJpbmcge1xyXG4gICAgICAgIHJldHVybiB0aGlzLm9wdGlvbnMubmFtZTtcclxuICAgIH1cclxuXHJcbiAgICBnZXQgdHlwZSgpOiBUeXBlIHtcclxuICAgICAgICByZXR1cm4gdGhpcy5vcHRpb25zLnR5cGU7XHJcbiAgICB9XHJcblxyXG4gICAgZ2V0IGxhYmVsKCk6IHN0cmluZyB8IExvY2FsaXplZFN0cmluZ1tdIHtcclxuICAgICAgICByZXR1cm4gdGhpcy5vcHRpb25zLmxhYmVsO1xyXG4gICAgfVxyXG5cclxuICAgIGdldEZpbHRlck9wZXJhdG9yKHZhbHVlOiBhbnkpOiBEYXRhVGFibGVGaWx0ZXJPcGVyYXRvcjxUeXBlPiB7XHJcbiAgICAgICAgY29uc3QgdHlwZSA9IHRoaXMub3B0aW9ucy50eXBlO1xyXG4gICAgICAgIHN3aXRjaCAodHlwZS5raW5kKSB7XHJcbiAgICAgICAgICAgIGNhc2UgJ2Jvb2xlYW4nOlxyXG4gICAgICAgICAgICAgICAgcmV0dXJuIHtcclxuICAgICAgICAgICAgICAgICAgICBlcTogISF2YWx1ZSxcclxuICAgICAgICAgICAgICAgIH07XHJcbiAgICAgICAgICAgIGNhc2UgJ2RhdGVSYW5nZSc6IHtcclxuICAgICAgICAgICAgICAgIGxldCBkYXRlT3BlcmF0b3JzOiBEYXRlT3BlcmF0b3JzO1xyXG4gICAgICAgICAgICAgICAgY29uc3Qgc3RhcnQgPSB2YWx1ZS5zdGFydCA/PyB1bmRlZmluZWQ7XHJcbiAgICAgICAgICAgICAgICBjb25zdCBlbmQgPSB2YWx1ZS5lbmQgPz8gdW5kZWZpbmVkO1xyXG4gICAgICAgICAgICAgICAgaWYgKHN0YXJ0ICYmIGVuZCkge1xyXG4gICAgICAgICAgICAgICAgICAgIGRhdGVPcGVyYXRvcnMgPSB7XHJcbiAgICAgICAgICAgICAgICAgICAgICAgIGJldHdlZW46IHsgc3RhcnQsIGVuZCB9LFxyXG4gICAgICAgICAgICAgICAgICAgIH07XHJcbiAgICAgICAgICAgICAgICB9IGVsc2UgaWYgKHN0YXJ0KSB7XHJcbiAgICAgICAgICAgICAgICAgICAgZGF0ZU9wZXJhdG9ycyA9IHtcclxuICAgICAgICAgICAgICAgICAgICAgICAgYWZ0ZXI6IHN0YXJ0LFxyXG4gICAgICAgICAgICAgICAgICAgIH07XHJcbiAgICAgICAgICAgICAgICB9IGVsc2Uge1xyXG4gICAgICAgICAgICAgICAgICAgIGRhdGVPcGVyYXRvcnMgPSB7XHJcbiAgICAgICAgICAgICAgICAgICAgICAgIGJlZm9yZTogZW5kLFxyXG4gICAgICAgICAgICAgICAgICAgIH07XHJcbiAgICAgICAgICAgICAgICB9XHJcbiAgICAgICAgICAgICAgICByZXR1cm4gZGF0ZU9wZXJhdG9ycztcclxuICAgICAgICAgICAgfVxyXG4gICAgICAgICAgICBjYXNlICdudW1iZXInOlxyXG4gICAgICAgICAgICAgICAgcmV0dXJuIHtcclxuICAgICAgICAgICAgICAgICAgICBbdmFsdWUub3BlcmF0b3JdOiBOdW1iZXIodmFsdWUuYW1vdW50KSxcclxuICAgICAgICAgICAgICAgIH07XHJcblxyXG4gICAgICAgICAgICBjYXNlICdzZWxlY3QnOlxyXG4gICAgICAgICAgICAgICAgcmV0dXJuIHsgaW46IHZhbHVlIH07XHJcbiAgICAgICAgICAgIGNhc2UgJ3RleHQnOlxyXG4gICAgICAgICAgICAgICAgcmV0dXJuIHtcclxuICAgICAgICAgICAgICAgICAgICBbdmFsdWUub3BlcmF0b3JdOiB2YWx1ZS50ZXJtLFxyXG4gICAgICAgICAgICAgICAgfTtcclxuICAgICAgICAgICAgY2FzZSAnaWQnOlxyXG4gICAgICAgICAgICAgICAgcmV0dXJuIHtcclxuICAgICAgICAgICAgICAgICAgICBbdmFsdWUub3BlcmF0b3JdOiB2YWx1ZS50ZXJtLFxyXG4gICAgICAgICAgICAgICAgfTtcclxuICAgICAgICAgICAgY2FzZSAnY3VzdG9tJzoge1xyXG4gICAgICAgICAgICAgICAgcmV0dXJuIHZhbHVlO1xyXG4gICAgICAgICAgICB9XHJcbiAgICAgICAgICAgIGRlZmF1bHQ6XHJcbiAgICAgICAgICAgICAgICBhc3NlcnROZXZlcih0eXBlKTtcclxuICAgICAgICB9XHJcbiAgICB9XHJcblxyXG4gICAgdG9GaWx0ZXJJbnB1dCh2YWx1ZTogRGF0YVRhYmxlRmlsdGVyVmFsdWU8VHlwZT4pOiBQYXJ0aWFsPEZpbHRlcklucHV0PiB7XHJcbiAgICAgICAgaWYgKHRoaXMub3B0aW9ucy50b0ZpbHRlcklucHV0KSB7XHJcbiAgICAgICAgICAgIHJldHVybiB0aGlzLm9wdGlvbnMudG9GaWx0ZXJJbnB1dCh2YWx1ZSk7XHJcbiAgICAgICAgfVxyXG4gICAgICAgIGlmICh0aGlzLm9wdGlvbnMuZmlsdGVyRmllbGQpIHtcclxuICAgICAgICAgICAgcmV0dXJuIHsgW3RoaXMub3B0aW9ucy5maWx0ZXJGaWVsZF06IHRoaXMuZ2V0RmlsdGVyT3BlcmF0b3IodmFsdWUpIH0gYXMgUGFydGlhbDxGaWx0ZXJJbnB1dD47XHJcbiAgICAgICAgfSBlbHNlIHtcclxuICAgICAgICAgICAgdGhyb3cgbmV3IEVycm9yKFxyXG4gICAgICAgICAgICAgICAgYEVpdGhlciBcImZpbHRlckZpZWxkXCIgb3IgXCJ0b0ZpbHRlcklucHV0XCIgbXVzdCBiZSBwcm92aWRlZCAoZm9yIGZpbHRlciBcIiR7dGhpcy5uYW1lfVwiKSlgLFxyXG4gICAgICAgICAgICApO1xyXG4gICAgICAgIH1cclxuICAgIH1cclxuXHJcbiAgICBhY3RpdmF0ZSh2YWx1ZTogRGF0YVRhYmxlRmlsdGVyVmFsdWU8VHlwZT4pIHtcclxuICAgICAgICBpZiAodGhpcy5vbkFjdGl2YXRlKSB7XHJcbiAgICAgICAgICAgIHRoaXMub25BY3RpdmF0ZSh0aGlzLCB2YWx1ZSk7XHJcbiAgICAgICAgfVxyXG4gICAgfVxyXG5cclxuICAgIGlzSWQoKTogdGhpcyBpcyBEYXRhVGFibGVGaWx0ZXI8RmlsdGVySW5wdXQsIERhdGFUYWJsZUZpbHRlcklEVHlwZT4ge1xyXG4gICAgICAgIHJldHVybiB0aGlzLnR5cGUua2luZCA9PT0gJ2lkJztcclxuICAgIH1cclxuXHJcbiAgICBpc1RleHQoKTogdGhpcyBpcyBEYXRhVGFibGVGaWx0ZXI8RmlsdGVySW5wdXQsIERhdGFUYWJsZUZpbHRlclRleHRUeXBlPiB7XHJcbiAgICAgICAgcmV0dXJuIHRoaXMudHlwZS5raW5kID09PSAndGV4dCc7XHJcbiAgICB9XHJcblxyXG4gICAgaXNOdW1iZXIoKTogdGhpcyBpcyBEYXRhVGFibGVGaWx0ZXI8RmlsdGVySW5wdXQsIERhdGFUYWJsZUZpbHRlck51bWJlclR5cGU+IHtcclxuICAgICAgICByZXR1cm4gdGhpcy50eXBlLmtpbmQgPT09ICdudW1iZXInO1xyXG4gICAgfVxyXG5cclxuICAgIGlzQm9vbGVhbigpOiB0aGlzIGlzIERhdGFUYWJsZUZpbHRlcjxGaWx0ZXJJbnB1dCwgRGF0YVRhYmxlRmlsdGVyQm9vbGVhblR5cGU+IHtcclxuICAgICAgICByZXR1cm4gdGhpcy50eXBlLmtpbmQgPT09ICdib29sZWFuJztcclxuICAgIH1cclxuXHJcbiAgICBpc1NlbGVjdCgpOiB0aGlzIGlzIERhdGFUYWJsZUZpbHRlcjxGaWx0ZXJJbnB1dCwgRGF0YVRhYmxlRmlsdGVyU2VsZWN0VHlwZT4ge1xyXG4gICAgICAgIHJldHVybiB0aGlzLnR5cGUua2luZCA9PT0gJ3NlbGVjdCc7XHJcbiAgICB9XHJcblxyXG4gICAgaXNEYXRlUmFuZ2UoKTogdGhpcyBpcyBEYXRhVGFibGVGaWx0ZXI8RmlsdGVySW5wdXQsIERhdGFUYWJsZUZpbHRlckRhdGVSYW5nZVR5cGU+IHtcclxuICAgICAgICByZXR1cm4gdGhpcy50eXBlLmtpbmQgPT09ICdkYXRlUmFuZ2UnO1xyXG4gICAgfVxyXG5cclxuICAgIGlzQ3VzdG9tKCk6IHRoaXMgaXMgRGF0YVRhYmxlRmlsdGVyPEZpbHRlcklucHV0LCBEYXRhVGFibGVGaWx0ZXJDdXN0b21UeXBlPiB7XHJcbiAgICAgICAgcmV0dXJuIHRoaXMudHlwZS5raW5kID09PSAnY3VzdG9tJztcclxuICAgIH1cclxufVxyXG4iXX0=
|
|
@@ -94,4 +94,4 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "16.0.3", ngImpor
|
|
|
94
94
|
providedIn: 'root',
|
|
95
95
|
}]
|
|
96
96
|
}], ctorParameters: function () { return [{ type: i1.Location }]; } });
|
|
97
|
-
//# sourceMappingURL=data:application/json;base64,
|
|
97
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoibG9jYWwtc3RvcmFnZS5zZXJ2aWNlLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vc3JjL2xpYi9jb3JlL3NyYy9wcm92aWRlcnMvbG9jYWwtc3RvcmFnZS9sb2NhbC1zdG9yYWdlLnNlcnZpY2UudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQ0EsT0FBTyxFQUFFLFVBQVUsRUFBWSxNQUFNLGVBQWUsQ0FBQzs7O0FBK0JyRDs7O0dBR0c7QUFDSCxNQUFNLG1CQUFtQixHQUFxQztJQUMxRCxhQUFhO0lBQ2IsdUJBQXVCO0lBQ3ZCLGFBQWE7SUFDYiwrQkFBK0I7SUFDL0IsaUJBQWlCO0NBQ3BCLENBQUM7QUFFRixNQUFNLE1BQU0sR0FBRyxNQUFNLENBQUM7QUFFdEI7O0dBRUc7QUFJSCxNQUFNLE9BQU8sbUJBQW1CO0lBRTVCLFlBQW9CLFFBQWtCO1FBQWxCLGFBQVEsR0FBUixRQUFRLENBQVU7UUFEOUIsWUFBTyxHQUFHLFlBQVksQ0FBQztJQUNVLENBQUM7SUFFbkMsVUFBVSxDQUFDLE9BQXVCO1FBQ3JDLElBQUksQ0FBQyxPQUFPLEdBQUcsT0FBTyxJQUFJLFlBQVksQ0FBQztJQUMzQyxDQUFDO0lBRUQ7O09BRUc7SUFDSSxHQUFHLENBQXNDLEdBQU0sRUFBRSxLQUE2QjtRQUNqRixNQUFNLE9BQU8sR0FBRyxJQUFJLENBQUMsT0FBTyxDQUFDLEdBQUcsQ0FBQyxDQUFDO1FBQ2xDLFlBQVksQ0FBQyxPQUFPLENBQUMsT0FBTyxFQUFFLElBQUksQ0FBQyxTQUFTLENBQUMsS0FBSyxDQUFDLENBQUMsQ0FBQztJQUN6RCxDQUFDO0lBRUQ7O09BRUc7SUFDSSxxQkFBcUIsQ0FDeEIsR0FBTSxFQUNOLEtBQTBDO1FBRTFDLE1BQU0sWUFBWSxHQUFHLElBQUksQ0FBQyxtQkFBbUIsQ0FBQyxHQUFHLENBQUMsQ0FBQztRQUNuRCxJQUFJLENBQUMsR0FBRyxDQUFDLFlBQW1CLEVBQUUsS0FBSyxDQUFDLENBQUM7SUFDekMsQ0FBQztJQUVEOztPQUVHO0lBQ0ksYUFBYSxDQUFzQyxHQUFNLEVBQUUsS0FBNkI7UUFDM0YsTUFBTSxPQUFPLEdBQUcsSUFBSSxDQUFDLE9BQU8sQ0FBQyxHQUFHLENBQUMsQ0FBQztRQUNsQyxjQUFjLENBQUMsT0FBTyxDQUFDLE9BQU8sRUFBRSxJQUFJLENBQUMsU0FBUyxDQUFDLEtBQUssQ0FBQyxDQUFDLENBQUM7SUFDM0QsQ0FBQztJQUVEOztPQUVHO0lBQ0ksR0FBRyxDQUFzQyxHQUFNO1FBQ2xELE1BQU0sT0FBTyxHQUFHLElBQUksQ0FBQyxPQUFPLENBQUMsR0FBRyxDQUFDLENBQUM7UUFDbEMsTUFBTSxJQUFJLEdBQUcsY0FBYyxDQUFDLE9BQU8sQ0FBQyxPQUFPLENBQUMsSUFBSSxZQUFZLENBQUMsT0FBTyxDQUFDLE9BQU8sQ0FBQyxDQUFDO1FBQzlFLElBQUksTUFBVyxDQUFDO1FBQ2hCLElBQUk7WUFDQSxNQUFNLEdBQUcsSUFBSSxDQUFDLEtBQUssQ0FBQyxJQUFJLElBQUksTUFBTSxDQUFDLENBQUM7U0FDdkM7UUFBQyxPQUFPLENBQU0sRUFBRTtZQUNiLHNDQUFzQztZQUN0QyxPQUFPLENBQUMsS0FBSyxDQUFDLCtDQUErQyxHQUFHLE1BQU0sSUFBSSxHQUFHLENBQUMsQ0FBQztTQUNsRjtRQUNELE9BQU8sTUFBTSxDQUFDO0lBQ2xCLENBQUM7SUFFRDs7T0FFRztJQUNJLHFCQUFxQixDQUN4QixHQUFNO1FBRU4sTUFBTSxZQUFZLEdBQUcsSUFBSSxDQUFDLG1CQUFtQixDQUFDLEdBQUcsQ0FBQyxDQUFDO1FBQ25ELE9BQU8sSUFBSSxDQUFDLEdBQUcsQ0FBQyxZQUFtQixDQUFDLENBQUM7SUFDekMsQ0FBQztJQUVNLE1BQU0sQ0FBQyxHQUE4QjtRQUN4QyxNQUFNLE9BQU8sR0FBRyxJQUFJLENBQUMsT0FBTyxDQUFDLEdBQUcsQ0FBQyxDQUFDO1FBQ2xDLGNBQWMsQ0FBQyxVQUFVLENBQUMsT0FBTyxDQUFDLENBQUM7UUFDbkMsWUFBWSxDQUFDLFVBQVUsQ0FBQyxPQUFPLENBQUMsQ0FBQztJQUNyQyxDQUFDO0lBRU8sbUJBQW1CLENBQUMsR0FBVztRQUNuQyxNQUFNLElBQUksR0FBRyxJQUFJLENBQUMsUUFBUSxDQUFDLElBQUksRUFBRSxDQUFDO1FBQ2xDLE9BQU8sR0FBRyxHQUFHLElBQUksQ0FBQztJQUN0QixDQUFDO0lBRU8sT0FBTyxDQUFDLEdBQThCO1FBQzFDLElBQUksbUJBQW1CLENBQUMsUUFBUSxDQUFDLEdBQUcsQ0FBQyxFQUFFO1lBQ25DLE9BQU8sR0FBRyxNQUFNLElBQUksSUFBSSxDQUFDLE9BQU8sSUFBSSxHQUFHLEVBQUUsQ0FBQztTQUM3QzthQUFNO1lBQ0gsT0FBTyxHQUFHLE1BQU0sSUFBSSxHQUFHLEVBQUUsQ0FBQztTQUM3QjtJQUNMLENBQUM7OEdBOUVRLG1CQUFtQjtrSEFBbkIsbUJBQW1CLGNBRmhCLE1BQU07OzJGQUVULG1CQUFtQjtrQkFIL0IsVUFBVTttQkFBQztvQkFDUixVQUFVLEVBQUUsTUFBTTtpQkFDckIiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBMb2NhdGlvbiB9IGZyb20gJ0Bhbmd1bGFyL2NvbW1vbic7XHJcbmltcG9ydCB7IEluamVjdGFibGUsIEluamVjdG9yIH0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XHJcblxyXG5pbXBvcnQgeyBMYW5ndWFnZUNvZGUgfSBmcm9tICcuLi8uLi9jb21tb24vZ2VuZXJhdGVkLXR5cGVzJztcclxuaW1wb3J0IHsgRGF0YVNlcnZpY2UgfSBmcm9tICcuLi8uLi9kYXRhL3Byb3ZpZGVycy9kYXRhLnNlcnZpY2UnO1xyXG5pbXBvcnQgeyBXaWRnZXRMYXlvdXREZWZpbml0aW9uIH0gZnJvbSAnLi4vZGFzaGJvYXJkLXdpZGdldC9kYXNoYm9hcmQtd2lkZ2V0LXR5cGVzJztcclxuXHJcbmV4cG9ydCB0eXBlIERhdGFUYWJsZUNvbmZpZyA9IHtcclxuICAgIFtpZDogc3RyaW5nXToge1xyXG4gICAgICAgIHZpc2liaWxpdHk6IHN0cmluZ1tdO1xyXG4gICAgICAgIG9yZGVyOiB7IFtpZDogc3RyaW5nXTogbnVtYmVyIH07XHJcbiAgICAgICAgc2hvd1NlYXJjaEZpbHRlclJvdzogYm9vbGVhbjtcclxuICAgIH07XHJcbn07XHJcblxyXG5leHBvcnQgdHlwZSBMb2NhbFN0b3JhZ2VUeXBlTWFwID0ge1xyXG4gICAgYWN0aXZlQ2hhbm5lbFRva2VuOiBzdHJpbmc7XHJcbiAgICBhdXRoVG9rZW46IHN0cmluZztcclxuICAgIHVpTGFuZ3VhZ2VDb2RlOiBMYW5ndWFnZUNvZGU7XHJcbiAgICB1aUxvY2FsZTogc3RyaW5nIHwgdW5kZWZpbmVkO1xyXG4gICAgY29udGVudExhbmd1YWdlQ29kZTogTGFuZ3VhZ2VDb2RlO1xyXG4gICAgZGFzaGJvYXJkV2lkZ2V0TGF5b3V0OiBXaWRnZXRMYXlvdXREZWZpbml0aW9uO1xyXG4gICAgYWN0aXZlVGhlbWU6IHN0cmluZztcclxuICAgIGxpdmVQcmV2aWV3Q29sbGVjdGlvbkNvbnRlbnRzOiBib29sZWFuO1xyXG4gICAgZGF0YVRhYmxlQ29uZmlnOiBEYXRhVGFibGVDb25maWc7XHJcbn07XHJcblxyXG5leHBvcnQgdHlwZSBMb2NhbFN0b3JhZ2VMb2NhdGlvbkJhc2VkVHlwZU1hcCA9IHtcclxuICAgIHNoaXBwaW5nVGVzdE9yZGVyOiBhbnk7XHJcbiAgICBzaGlwcGluZ1Rlc3RBZGRyZXNzOiBhbnk7XHJcbn07XHJcblxyXG4vKipcclxuICogVGhlc2Uga2V5cyBhcmUgc3RvcmVkIHNwZWNpZmljIHRvIGEgcGFydGljdWxhciBBZG1pbklkLCBzbyB0aGF0IG11bHRpcGxlXHJcbiAqIGFkbWlucyBjYW4gdXNlIHRoZSBzYW1lIGJyb3dzZXIgd2l0aG91dCBpbnRlcmZlcmluZyB3aXRoIGVhY2ggb3RoZXIncyBkYXRhLlxyXG4gKi9cclxuY29uc3QgQURNSU5fU1BFQ0lGSUNfS0VZUzogQXJyYXk8a2V5b2YgTG9jYWxTdG9yYWdlVHlwZU1hcD4gPSBbXHJcbiAgICAnYWN0aXZlVGhlbWUnLFxyXG4gICAgJ2Rhc2hib2FyZFdpZGdldExheW91dCcsXHJcbiAgICAnYWN0aXZlVGhlbWUnLFxyXG4gICAgJ2xpdmVQcmV2aWV3Q29sbGVjdGlvbkNvbnRlbnRzJyxcclxuICAgICdkYXRhVGFibGVDb25maWcnLFxyXG5dO1xyXG5cclxuY29uc3QgUFJFRklYID0gJ3ZuZF8nO1xyXG5cclxuLyoqXHJcbiAqIFdyYXBwZXIgYXJvdW5kIHRoZSBicm93c2VyJ3MgTG9jYWxTdG9yYWdlIC8gU2Vzc2lvblN0b3JhZ2Ugb2JqZWN0LCBmb3IgcGVyc2lzdGluZyBkYXRhIHRvIHRoZSBicm93c2VyLlxyXG4gKi9cclxuQEluamVjdGFibGUoe1xyXG4gICAgcHJvdmlkZWRJbjogJ3Jvb3QnLFxyXG59KVxyXG5leHBvcnQgY2xhc3MgTG9jYWxTdG9yYWdlU2VydmljZSB7XHJcbiAgICBwcml2YXRlIGFkbWluSWQgPSAnX19nbG9iYWxfXyc7XHJcbiAgICBjb25zdHJ1Y3Rvcihwcml2YXRlIGxvY2F0aW9uOiBMb2NhdGlvbikge31cclxuXHJcbiAgICBwdWJsaWMgc2V0QWRtaW5JZChhZG1pbklkPzogc3RyaW5nIHwgbnVsbCkge1xyXG4gICAgICAgIHRoaXMuYWRtaW5JZCA9IGFkbWluSWQgPz8gJ19fZ2xvYmFsX18nO1xyXG4gICAgfVxyXG5cclxuICAgIC8qKlxyXG4gICAgICogU2V0IGEga2V5LXZhbHVlIHBhaXIgaW4gdGhlIGJyb3dzZXIncyBMb2NhbFN0b3JhZ2VcclxuICAgICAqL1xyXG4gICAgcHVibGljIHNldDxLIGV4dGVuZHMga2V5b2YgTG9jYWxTdG9yYWdlVHlwZU1hcD4oa2V5OiBLLCB2YWx1ZTogTG9jYWxTdG9yYWdlVHlwZU1hcFtLXSk6IHZvaWQge1xyXG4gICAgICAgIGNvbnN0IGtleU5hbWUgPSB0aGlzLmtleU5hbWUoa2V5KTtcclxuICAgICAgICBsb2NhbFN0b3JhZ2Uuc2V0SXRlbShrZXlOYW1lLCBKU09OLnN0cmluZ2lmeSh2YWx1ZSkpO1xyXG4gICAgfVxyXG5cclxuICAgIC8qKlxyXG4gICAgICogU2V0IGEga2V5LXZhbHVlIHBhaXIgc3BlY2lmaWMgdG8gdGhlIGN1cnJlbnQgbG9jYXRpb24gKHVybClcclxuICAgICAqL1xyXG4gICAgcHVibGljIHNldEZvckN1cnJlbnRMb2NhdGlvbjxLIGV4dGVuZHMga2V5b2YgTG9jYWxTdG9yYWdlTG9jYXRpb25CYXNlZFR5cGVNYXA+KFxyXG4gICAgICAgIGtleTogSyxcclxuICAgICAgICB2YWx1ZTogTG9jYWxTdG9yYWdlTG9jYXRpb25CYXNlZFR5cGVNYXBbS10sXHJcbiAgICApIHtcclxuICAgICAgICBjb25zdCBjb21wb3NpdGVLZXkgPSB0aGlzLmdldExvY2F0aW9uQmFzZWRLZXkoa2V5KTtcclxuICAgICAgICB0aGlzLnNldChjb21wb3NpdGVLZXkgYXMgYW55LCB2YWx1ZSk7XHJcbiAgICB9XHJcblxyXG4gICAgLyoqXHJcbiAgICAgKiBTZXQgYSBrZXktdmFsdWUgcGFpciBpbiB0aGUgYnJvd3NlcidzIFNlc3Npb25TdG9yYWdlXHJcbiAgICAgKi9cclxuICAgIHB1YmxpYyBzZXRGb3JTZXNzaW9uPEsgZXh0ZW5kcyBrZXlvZiBMb2NhbFN0b3JhZ2VUeXBlTWFwPihrZXk6IEssIHZhbHVlOiBMb2NhbFN0b3JhZ2VUeXBlTWFwW0tdKTogdm9pZCB7XHJcbiAgICAgICAgY29uc3Qga2V5TmFtZSA9IHRoaXMua2V5TmFtZShrZXkpO1xyXG4gICAgICAgIHNlc3Npb25TdG9yYWdlLnNldEl0ZW0oa2V5TmFtZSwgSlNPTi5zdHJpbmdpZnkodmFsdWUpKTtcclxuICAgIH1cclxuXHJcbiAgICAvKipcclxuICAgICAqIEdldCB0aGUgdmFsdWUgb2YgdGhlIGdpdmVuIGtleSBmcm9tIHRoZSBTZXNzaW9uU3RvcmFnZSBvciBMb2NhbFN0b3JhZ2UuXHJcbiAgICAgKi9cclxuICAgIHB1YmxpYyBnZXQ8SyBleHRlbmRzIGtleW9mIExvY2FsU3RvcmFnZVR5cGVNYXA+KGtleTogSyk6IExvY2FsU3RvcmFnZVR5cGVNYXBbS10gfCBudWxsIHtcclxuICAgICAgICBjb25zdCBrZXlOYW1lID0gdGhpcy5rZXlOYW1lKGtleSk7XHJcbiAgICAgICAgY29uc3QgaXRlbSA9IHNlc3Npb25TdG9yYWdlLmdldEl0ZW0oa2V5TmFtZSkgfHwgbG9jYWxTdG9yYWdlLmdldEl0ZW0oa2V5TmFtZSk7XHJcbiAgICAgICAgbGV0IHJlc3VsdDogYW55O1xyXG4gICAgICAgIHRyeSB7XHJcbiAgICAgICAgICAgIHJlc3VsdCA9IEpTT04ucGFyc2UoaXRlbSB8fCAnbnVsbCcpO1xyXG4gICAgICAgIH0gY2F0Y2ggKGU6IGFueSkge1xyXG4gICAgICAgICAgICAvLyBlc2xpbnQtZGlzYWJsZS1uZXh0LWxpbmUgbm8tY29uc29sZVxyXG4gICAgICAgICAgICBjb25zb2xlLmVycm9yKGBDb3VsZCBub3QgcGFyc2UgdGhlIGxvY2FsU3RvcmFnZSB2YWx1ZSBmb3IgXCIke2tleX1cIiAoJHtpdGVtfSlgKTtcclxuICAgICAgICB9XHJcbiAgICAgICAgcmV0dXJuIHJlc3VsdDtcclxuICAgIH1cclxuXHJcbiAgICAvKipcclxuICAgICAqIEdldCB0aGUgdmFsdWUgb2YgdGhlIGdpdmVuIGtleSBmb3IgdGhlIGN1cnJlbnQgbG9jYXRpb24gKHVybClcclxuICAgICAqL1xyXG4gICAgcHVibGljIGdldEZvckN1cnJlbnRMb2NhdGlvbjxLIGV4dGVuZHMga2V5b2YgTG9jYWxTdG9yYWdlTG9jYXRpb25CYXNlZFR5cGVNYXA+KFxyXG4gICAgICAgIGtleTogSyxcclxuICAgICk6IExvY2FsU3RvcmFnZUxvY2F0aW9uQmFzZWRUeXBlTWFwW0tdIHtcclxuICAgICAgICBjb25zdCBjb21wb3NpdGVLZXkgPSB0aGlzLmdldExvY2F0aW9uQmFzZWRLZXkoa2V5KTtcclxuICAgICAgICByZXR1cm4gdGhpcy5nZXQoY29tcG9zaXRlS2V5IGFzIGFueSk7XHJcbiAgICB9XHJcblxyXG4gICAgcHVibGljIHJlbW92ZShrZXk6IGtleW9mIExvY2FsU3RvcmFnZVR5cGVNYXApOiB2b2lkIHtcclxuICAgICAgICBjb25zdCBrZXlOYW1lID0gdGhpcy5rZXlOYW1lKGtleSk7XHJcbiAgICAgICAgc2Vzc2lvblN0b3JhZ2UucmVtb3ZlSXRlbShrZXlOYW1lKTtcclxuICAgICAgICBsb2NhbFN0b3JhZ2UucmVtb3ZlSXRlbShrZXlOYW1lKTtcclxuICAgIH1cclxuXHJcbiAgICBwcml2YXRlIGdldExvY2F0aW9uQmFzZWRLZXkoa2V5OiBzdHJpbmcpIHtcclxuICAgICAgICBjb25zdCBwYXRoID0gdGhpcy5sb2NhdGlvbi5wYXRoKCk7XHJcbiAgICAgICAgcmV0dXJuIGtleSArIHBhdGg7XHJcbiAgICB9XHJcblxyXG4gICAgcHJpdmF0ZSBrZXlOYW1lKGtleToga2V5b2YgTG9jYWxTdG9yYWdlVHlwZU1hcCk6IHN0cmluZyB7XHJcbiAgICAgICAgaWYgKEFETUlOX1NQRUNJRklDX0tFWVMuaW5jbHVkZXMoa2V5KSkge1xyXG4gICAgICAgICAgICByZXR1cm4gYCR7UFJFRklYfV8ke3RoaXMuYWRtaW5JZH1fJHtrZXl9YDtcclxuICAgICAgICB9IGVsc2Uge1xyXG4gICAgICAgICAgICByZXR1cm4gYCR7UFJFRklYfV8ke2tleX1gO1xyXG4gICAgICAgIH1cclxuICAgIH1cclxufVxyXG4iXX0=
|