@veloceapps/sdk 8.0.0-98 → 9.0.0-0
Sign up to get free protection for your applications and to get access to all the features.
- package/cms/README.md +0 -20
- package/cms/cms.actions.d.ts +13 -1
- package/cms/components/preview/preview.component.d.ts +2 -3
- package/cms/components/preview/preview.types.d.ts +4 -0
- package/cms/index.d.ts +1 -0
- package/cms/modules/runtime/services/runtime.service.d.ts +1 -1
- package/cms/services/index.d.ts +0 -1
- package/cms/services/resources.service.d.ts +2 -0
- package/cms/types/index.d.ts +0 -1
- package/cms/utils/element-metadata-worker.d.ts +11 -0
- package/cms/utils/elements-resolver.d.ts +0 -2
- package/cms/utils/index.d.ts +3 -0
- package/cms/utils/transpilation-worker.d.ts +13 -0
- package/cms/vendor-map.d.ts +23 -18
- package/core/README.md +20 -0
- package/core/modules/configuration/configuration.module.d.ts +2 -1
- package/core/modules/configuration/helpers.d.ts +2 -1
- package/core/modules/configuration/index.d.ts +1 -1
- package/core/modules/configuration/services/configuration-state.service.d.ts +54 -0
- package/core/modules/configuration/services/configuration.service.d.ts +6 -6
- package/core/modules/configuration/types/configuration.types.d.ts +4 -0
- package/core/modules/flow-configuration/flow-configuration.module.d.ts +2 -1
- package/core/modules/flow-configuration/services/flow-configuration.service.d.ts +5 -0
- package/core/services/context.service.d.ts +2 -0
- package/core/services/flow-info.service.d.ts +29 -0
- package/core/services/flow-state-configuration.service.d.ts +19 -0
- package/core/services/flow-state.service.d.ts +80 -0
- package/core/services/index.d.ts +4 -1
- package/core/services/quote-draft.service.d.ts +12 -28
- package/core/types/flow-customization.types.d.ts +22 -0
- package/core/types/flow-state.types.d.ts +11 -0
- package/core/types/index.d.ts +3 -1
- package/{cms → core}/types/integration.types.d.ts +1 -1
- package/core/utils/line-item.utils.d.ts +1 -3
- package/esm2020/cms/cms.actions.mjs +21 -1
- package/esm2020/cms/components/element-renderer/element-renderer.component.mjs +3 -3
- package/esm2020/cms/components/element-tools-panel/element-tools-panel.component.mjs +3 -3
- package/esm2020/cms/components/preview/preview.component.mjs +10 -10
- package/esm2020/cms/components/preview/preview.module.mjs +2 -2
- package/esm2020/cms/components/preview/preview.types.mjs +1 -1
- package/esm2020/cms/index.mjs +2 -1
- package/esm2020/cms/launcher.module.mjs +4 -4
- package/esm2020/cms/modules/migrations/migrations.mjs +2 -2
- package/esm2020/cms/modules/migrations/services/migrations.service.mjs +6 -2
- package/esm2020/cms/modules/runtime/services/compilation.service.mjs +11 -7
- package/esm2020/cms/modules/runtime/services/runtime.service.mjs +4 -4
- package/esm2020/cms/plugins/configuration.plugin.mjs +8 -4
- package/esm2020/cms/services/index.mjs +1 -2
- package/esm2020/cms/services/io-provider.service.mjs +10 -9
- package/esm2020/cms/services/resources.service.mjs +10 -6
- package/esm2020/cms/services/templates.service.mjs +10 -9
- package/esm2020/cms/types/index.mjs +1 -2
- package/esm2020/cms/utils/element-metadata-worker.mjs +31 -0
- package/esm2020/cms/utils/elements-resolver.mjs +13 -27
- package/esm2020/cms/utils/encoding.utils.mjs +3 -2
- package/esm2020/cms/utils/index.mjs +4 -1
- package/esm2020/cms/utils/path.utils.mjs +3 -3
- package/esm2020/cms/utils/script.utils.mjs +19 -15
- package/esm2020/cms/utils/transpilation-worker.mjs +52 -0
- package/esm2020/cms/vendor-map.mjs +12 -5
- package/esm2020/core/core.module.mjs +19 -3
- package/esm2020/core/modules/configuration/configuration.module.mjs +7 -23
- package/esm2020/core/modules/configuration/helpers.mjs +21 -1
- package/esm2020/core/modules/configuration/index.mjs +2 -2
- package/esm2020/core/modules/configuration/services/configuration-state.service.mjs +335 -0
- package/esm2020/core/modules/configuration/services/configuration.service.mjs +56 -50
- package/esm2020/core/modules/configuration/types/configuration.types.mjs +1 -1
- package/esm2020/core/modules/flow-configuration/flow-configuration.module.mjs +6 -6
- package/esm2020/core/modules/flow-configuration/services/flow-configuration.service.mjs +12 -9
- package/esm2020/core/services/context.service.mjs +17 -5
- package/esm2020/core/services/flow-info.service.mjs +99 -0
- package/esm2020/core/services/flow-state-configuration.service.mjs +53 -0
- package/esm2020/core/services/flow-state.service.mjs +512 -0
- package/esm2020/core/services/index.mjs +5 -2
- package/esm2020/core/services/integration.state.mjs +36 -0
- package/esm2020/core/services/product-images.service.mjs +4 -5
- package/esm2020/core/services/quote-draft.service.mjs +39 -91
- package/esm2020/core/services/runtime-settings.service.mjs +7 -5
- package/esm2020/core/types/flow-customization.types.mjs +3 -0
- package/esm2020/core/types/flow-state.types.mjs +2 -0
- package/esm2020/core/types/index.mjs +4 -2
- package/esm2020/core/types/integration.types.mjs +2 -0
- package/esm2020/core/utils/line-item.utils.mjs +33 -32
- package/esm2020/src/components/doc-gen/doc-gen.component.mjs +52 -55
- package/esm2020/src/components/flow-header/flow-header.component.mjs +108 -0
- package/esm2020/src/components/flow-header/flow-header.module.mjs +19 -0
- package/esm2020/src/components/flow-header/index.mjs +2 -0
- package/esm2020/src/components/guided-selling/guided-selling.component.mjs +40 -48
- package/esm2020/src/configure-primeng.mjs +33 -0
- package/esm2020/src/flow-routing.module.mjs +5 -18
- package/esm2020/src/flow.component.mjs +22 -37
- package/esm2020/src/flow.module.mjs +7 -5
- package/esm2020/src/guards/context.guard.mjs +6 -11
- package/esm2020/src/guards/flow.guard.mjs +23 -9
- package/esm2020/src/pages/assets/assets.component.mjs +30 -34
- package/esm2020/src/pages/catalog/catalog.component.mjs +30 -34
- package/esm2020/src/pages/debug/debug.component.mjs +2 -2
- package/esm2020/src/pages/product/product.component.mjs +34 -20
- package/esm2020/src/pages/record-not-found/record-not-found.component.mjs +6 -3
- package/esm2020/src/pages/remote/remote.component.mjs +15 -14
- package/esm2020/src/pages/shopping-cart/shopping-cart.component.mjs +31 -35
- package/esm2020/src/resolvers/flow.resolver.mjs +37 -55
- package/esm2020/src/resolvers/quote.resolver.mjs +55 -67
- package/esm2020/src/services/doc-gen.service.mjs +4 -3
- package/esm2020/src/services/flow-dialog.service.mjs +21 -6
- package/esm2020/src/services/flow-router.service.mjs +56 -15
- package/esm2020/src/services/flow.service.mjs +76 -48
- package/esm2020/src/services/guided-selling.service.mjs +5 -4
- package/esm2020/src/services/index.mjs +3 -1
- package/esm2020/src/types/index.mjs +1 -2
- package/fesm2015/veloceapps-sdk-cms.mjs +286 -192
- package/fesm2015/veloceapps-sdk-cms.mjs.map +1 -1
- package/fesm2015/veloceapps-sdk-core.mjs +1195 -427
- package/fesm2015/veloceapps-sdk-core.mjs.map +1 -1
- package/fesm2015/veloceapps-sdk.mjs +801 -1455
- package/fesm2015/veloceapps-sdk.mjs.map +1 -1
- package/fesm2020/veloceapps-sdk-cms.mjs +291 -207
- package/fesm2020/veloceapps-sdk-cms.mjs.map +1 -1
- package/fesm2020/veloceapps-sdk-core.mjs +1176 -454
- package/fesm2020/veloceapps-sdk-core.mjs.map +1 -1
- package/fesm2020/veloceapps-sdk.mjs +770 -1420
- package/fesm2020/veloceapps-sdk.mjs.map +1 -1
- package/package.json +8 -7
- package/src/components/doc-gen/doc-gen.component.d.ts +7 -10
- package/src/components/flow-header/flow-header.component.d.ts +25 -0
- package/src/components/flow-header/flow-header.module.d.ts +9 -0
- package/src/components/flow-header/index.d.ts +1 -0
- package/src/components/guided-selling/guided-selling.component.d.ts +6 -9
- package/src/configure-primeng.d.ts +1 -0
- package/src/flow-routing.module.d.ts +1 -2
- package/src/flow.component.d.ts +7 -12
- package/src/flow.module.d.ts +2 -2
- package/src/guards/context.guard.d.ts +0 -1
- package/src/guards/flow.guard.d.ts +1 -1
- package/src/pages/assets/assets.component.d.ts +5 -7
- package/src/pages/catalog/catalog.component.d.ts +5 -7
- package/src/pages/product/product.component.d.ts +8 -7
- package/src/pages/record-not-found/record-not-found.component.d.ts +2 -0
- package/src/pages/remote/remote.component.d.ts +2 -3
- package/src/pages/shopping-cart/shopping-cart.component.d.ts +5 -7
- package/src/resolvers/flow.resolver.d.ts +6 -9
- package/src/resolvers/quote.resolver.d.ts +7 -14
- package/src/services/doc-gen.service.d.ts +1 -1
- package/src/services/flow-dialog.service.d.ts +5 -2
- package/src/services/flow-router.service.d.ts +7 -3
- package/src/services/flow.service.d.ts +10 -12
- package/src/services/guided-selling.service.d.ts +1 -1
- package/src/services/index.d.ts +2 -0
- package/src/types/index.d.ts +0 -1
- package/core/modules/configuration/services/configuration.state.d.ts +0 -30
- package/core/services/metric-calculation/metric-calculation.service.d.ts +0 -25
- package/core/services/metric-calculation/metric-calculation.types.d.ts +0 -1
- package/core/services/metric-calculation/metric-calculation.utils.d.ts +0 -5
- package/esm2020/cms/services/integration.state.mjs +0 -37
- package/esm2020/cms/types/integration.types.mjs +0 -2
- package/esm2020/core/modules/configuration/services/configuration.state.mjs +0 -142
- package/esm2020/core/services/metric-calculation/metric-calculation.service.mjs +0 -85
- package/esm2020/core/services/metric-calculation/metric-calculation.types.mjs +0 -2
- package/esm2020/core/services/metric-calculation/metric-calculation.utils.mjs +0 -42
- package/esm2020/src/components/header/cart-overlay/cart-preview.component.mjs +0 -119
- package/esm2020/src/components/header/cart-overlay/cart-preview.module.mjs +0 -47
- package/esm2020/src/components/header/header.component.mjs +0 -355
- package/esm2020/src/components/header/header.module.mjs +0 -52
- package/esm2020/src/components/header/header.types.mjs +0 -2
- package/esm2020/src/components/header/metrics/index.mjs +0 -2
- package/esm2020/src/components/header/metrics/metrics.component.mjs +0 -255
- package/esm2020/src/components/header/metrics/metrics.definitions.mjs +0 -2
- package/esm2020/src/components/header/metrics/metrics.module.mjs +0 -69
- package/esm2020/src/pages/empty-account/empty-account.component.mjs +0 -12
- package/esm2020/src/pages/empty-account/empty-account.module.mjs +0 -20
- package/esm2020/src/types/flow-customization.types.mjs +0 -3
- package/src/components/header/cart-overlay/cart-preview.component.d.ts +0 -36
- package/src/components/header/cart-overlay/cart-preview.module.d.ts +0 -14
- package/src/components/header/header.component.d.ts +0 -70
- package/src/components/header/header.module.d.ts +0 -16
- package/src/components/header/header.types.d.ts +0 -20
- package/src/components/header/metrics/index.d.ts +0 -1
- package/src/components/header/metrics/metrics.component.d.ts +0 -67
- package/src/components/header/metrics/metrics.definitions.d.ts +0 -1
- package/src/components/header/metrics/metrics.module.d.ts +0 -18
- package/src/pages/empty-account/empty-account.component.d.ts +0 -5
- package/src/pages/empty-account/empty-account.module.d.ts +0 -10
- package/src/types/flow-customization.types.d.ts +0 -12
- /package/{cms → core}/services/integration.state.d.ts +0 -0
@@ -0,0 +1,36 @@
|
|
1
|
+
import { Injectable } from '@angular/core';
|
2
|
+
import { BehaviorSubject, filter, map, Subject } from 'rxjs';
|
3
|
+
import * as i0 from "@angular/core";
|
4
|
+
export class IntegrationState {
|
5
|
+
constructor() {
|
6
|
+
this.stateSubj$ = new BehaviorSubject({});
|
7
|
+
this.action$ = new Subject();
|
8
|
+
}
|
9
|
+
get state$() {
|
10
|
+
return this.stateSubj$.asObservable();
|
11
|
+
}
|
12
|
+
get state() {
|
13
|
+
return this.stateSubj$.getValue();
|
14
|
+
}
|
15
|
+
patchState(update) {
|
16
|
+
this.stateSubj$.next({ ...this.stateSubj$.getValue(), ...update });
|
17
|
+
}
|
18
|
+
dispatch(action) {
|
19
|
+
this.action$.next(action);
|
20
|
+
}
|
21
|
+
listen$(actionType) {
|
22
|
+
return this.action$.pipe(filter(action => action.type === actionType), map(action => action.payload));
|
23
|
+
}
|
24
|
+
listenAll$() {
|
25
|
+
return this.action$.asObservable();
|
26
|
+
}
|
27
|
+
clear() {
|
28
|
+
this.stateSubj$.next({});
|
29
|
+
}
|
30
|
+
}
|
31
|
+
IntegrationState.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "15.2.9", ngImport: i0, type: IntegrationState, deps: [], target: i0.ɵɵFactoryTarget.Injectable });
|
32
|
+
IntegrationState.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "15.2.9", ngImport: i0, type: IntegrationState });
|
33
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "15.2.9", ngImport: i0, type: IntegrationState, decorators: [{
|
34
|
+
type: Injectable
|
35
|
+
}] });
|
36
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaW50ZWdyYXRpb24uc3RhdGUuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi9saWJzL3Nkay9jb3JlL3NlcnZpY2VzL2ludGVncmF0aW9uLnN0YXRlLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBRSxVQUFVLEVBQUUsTUFBTSxlQUFlLENBQUM7QUFDM0MsT0FBTyxFQUFFLGVBQWUsRUFBRSxNQUFNLEVBQUUsR0FBRyxFQUFjLE9BQU8sRUFBRSxNQUFNLE1BQU0sQ0FBQzs7QUFJekUsTUFBTSxPQUFPLGdCQUFnQjtJQUQ3QjtRQUVtQixlQUFVLEdBQUcsSUFBSSxlQUFlLENBQUksRUFBTyxDQUFDLENBQUM7UUFDN0MsWUFBTyxHQUFHLElBQUksT0FBTyxFQUFxQixDQUFDO0tBZ0M3RDtJQTlCQyxJQUFXLE1BQU07UUFDZixPQUFPLElBQUksQ0FBQyxVQUFVLENBQUMsWUFBWSxFQUFFLENBQUM7SUFDeEMsQ0FBQztJQUVELElBQVcsS0FBSztRQUNkLE9BQU8sSUFBSSxDQUFDLFVBQVUsQ0FBQyxRQUFRLEVBQUUsQ0FBQztJQUNwQyxDQUFDO0lBRU0sVUFBVSxDQUFDLE1BQWtCO1FBQ2xDLElBQUksQ0FBQyxVQUFVLENBQUMsSUFBSSxDQUFDLEVBQUUsR0FBRyxJQUFJLENBQUMsVUFBVSxDQUFDLFFBQVEsRUFBRSxFQUFFLEdBQUcsTUFBTSxFQUFFLENBQUMsQ0FBQztJQUNyRSxDQUFDO0lBRU0sUUFBUSxDQUFDLE1BQXlCO1FBQ3ZDLElBQUksQ0FBQyxPQUFPLENBQUMsSUFBSSxDQUFDLE1BQU0sQ0FBQyxDQUFDO0lBQzVCLENBQUM7SUFFTSxPQUFPLENBQVUsVUFBa0I7UUFDeEMsT0FBTyxJQUFJLENBQUMsT0FBTyxDQUFDLElBQUksQ0FDdEIsTUFBTSxDQUFDLE1BQU0sQ0FBQyxFQUFFLENBQUMsTUFBTSxDQUFDLElBQUksS0FBSyxVQUFVLENBQUMsRUFDNUMsR0FBRyxDQUFDLE1BQU0sQ0FBQyxFQUFFLENBQUMsTUFBTSxDQUFDLE9BQVksQ0FBQyxDQUNuQyxDQUFDO0lBQ0osQ0FBQztJQUVNLFVBQVU7UUFDZixPQUFPLElBQUksQ0FBQyxPQUFPLENBQUMsWUFBWSxFQUFtQixDQUFDO0lBQ3RELENBQUM7SUFFTSxLQUFLO1FBQ1YsSUFBSSxDQUFDLFVBQVUsQ0FBQyxJQUFJLENBQUMsRUFBTyxDQUFDLENBQUM7SUFDaEMsQ0FBQzs7NkdBakNVLGdCQUFnQjtpSEFBaEIsZ0JBQWdCOzJGQUFoQixnQkFBZ0I7a0JBRDVCLFVBQVUiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBJbmplY3RhYmxlIH0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XG5pbXBvcnQgeyBCZWhhdmlvclN1YmplY3QsIGZpbHRlciwgbWFwLCBPYnNlcnZhYmxlLCBTdWJqZWN0IH0gZnJvbSAncnhqcyc7XG5pbXBvcnQgeyBJbnRlZ3JhdGlvbkFjdGlvbiwgSW50ZWdyYXRpb25TdGF0ZU1vZGVsIH0gZnJvbSAnLi4vdHlwZXMvaW50ZWdyYXRpb24udHlwZXMnO1xuXG5ASW5qZWN0YWJsZSgpXG5leHBvcnQgY2xhc3MgSW50ZWdyYXRpb25TdGF0ZTxTID0gSW50ZWdyYXRpb25TdGF0ZU1vZGVsPiB7XG4gIHByaXZhdGUgcmVhZG9ubHkgc3RhdGVTdWJqJCA9IG5ldyBCZWhhdmlvclN1YmplY3Q8Uz4oe30gYXMgUyk7XG4gIHByaXZhdGUgcmVhZG9ubHkgYWN0aW9uJCA9IG5ldyBTdWJqZWN0PEludGVncmF0aW9uQWN0aW9uPigpO1xuXG4gIHB1YmxpYyBnZXQgc3RhdGUkKCk6IE9ic2VydmFibGU8Uz4ge1xuICAgIHJldHVybiB0aGlzLnN0YXRlU3ViaiQuYXNPYnNlcnZhYmxlKCk7XG4gIH1cblxuICBwdWJsaWMgZ2V0IHN0YXRlKCk6IFMge1xuICAgIHJldHVybiB0aGlzLnN0YXRlU3ViaiQuZ2V0VmFsdWUoKTtcbiAgfVxuXG4gIHB1YmxpYyBwYXRjaFN0YXRlKHVwZGF0ZTogUGFydGlhbDxTPik6IHZvaWQge1xuICAgIHRoaXMuc3RhdGVTdWJqJC5uZXh0KHsgLi4udGhpcy5zdGF0ZVN1YmokLmdldFZhbHVlKCksIC4uLnVwZGF0ZSB9KTtcbiAgfVxuXG4gIHB1YmxpYyBkaXNwYXRjaChhY3Rpb246IEludGVncmF0aW9uQWN0aW9uKTogdm9pZCB7XG4gICAgdGhpcy5hY3Rpb24kLm5leHQoYWN0aW9uKTtcbiAgfVxuXG4gIHB1YmxpYyBsaXN0ZW4kPFAgPSBhbnk+KGFjdGlvblR5cGU6IHN0cmluZyk6IE9ic2VydmFibGU8UD4ge1xuICAgIHJldHVybiB0aGlzLmFjdGlvbiQucGlwZShcbiAgICAgIGZpbHRlcihhY3Rpb24gPT4gYWN0aW9uLnR5cGUgPT09IGFjdGlvblR5cGUpLFxuICAgICAgbWFwKGFjdGlvbiA9PiBhY3Rpb24ucGF5bG9hZCBhcyBQKSxcbiAgICApO1xuICB9XG5cbiAgcHVibGljIGxpc3RlbkFsbCQ8VCBleHRlbmRzIEludGVncmF0aW9uQWN0aW9uPigpOiBPYnNlcnZhYmxlPFQ+IHtcbiAgICByZXR1cm4gdGhpcy5hY3Rpb24kLmFzT2JzZXJ2YWJsZSgpIGFzIE9ic2VydmFibGU8VD47XG4gIH1cblxuICBwdWJsaWMgY2xlYXIoKTogdm9pZCB7XG4gICAgdGhpcy5zdGF0ZVN1YmokLm5leHQoe30gYXMgUyk7XG4gIH1cbn1cbiJdfQ==
|
@@ -13,7 +13,7 @@ export class ProductImagesService {
|
|
13
13
|
this.imagesMap$.next({ ...this.imagesMap$.value, [productId]: '' });
|
14
14
|
this.fetchProductImage(productId);
|
15
15
|
}
|
16
|
-
return this.imagesMap$.pipe(map(imagesMap => imagesMap[productId]), distinctUntilChanged());
|
16
|
+
return this.imagesMap$.pipe(map(imagesMap => imagesMap[productId] ?? null), distinctUntilChanged());
|
17
17
|
}
|
18
18
|
fetchProductImage(productId) {
|
19
19
|
this.productApiService
|
@@ -23,9 +23,8 @@ export class ProductImagesService {
|
|
23
23
|
}
|
24
24
|
}
|
25
25
|
ProductImagesService.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "15.2.9", ngImport: i0, type: ProductImagesService, deps: [{ token: i1.ProductApiService }], target: i0.ɵɵFactoryTarget.Injectable });
|
26
|
-
ProductImagesService.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "15.2.9", ngImport: i0, type: ProductImagesService
|
26
|
+
ProductImagesService.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "15.2.9", ngImport: i0, type: ProductImagesService });
|
27
27
|
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "15.2.9", ngImport: i0, type: ProductImagesService, decorators: [{
|
28
|
-
type: Injectable
|
29
|
-
args: [{ providedIn: 'root' }]
|
28
|
+
type: Injectable
|
30
29
|
}], ctorParameters: function () { return [{ type: i1.ProductApiService }]; } });
|
31
|
-
//# sourceMappingURL=data:application/json;base64,
|
30
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicHJvZHVjdC1pbWFnZXMuc2VydmljZS5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uL2xpYnMvc2RrL2NvcmUvc2VydmljZXMvcHJvZHVjdC1pbWFnZXMuc2VydmljZS50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQUUsVUFBVSxFQUFFLE1BQU0sZUFBZSxDQUFDO0FBQzNDLE9BQU8sRUFBRSxpQkFBaUIsRUFBRSxNQUFNLGlCQUFpQixDQUFDO0FBRXBELE9BQU8sRUFBRSxlQUFlLEVBQUUsVUFBVSxFQUFFLG9CQUFvQixFQUFFLEdBQUcsRUFBYyxFQUFFLEVBQUUsR0FBRyxFQUFFLE1BQU0sTUFBTSxDQUFDOzs7QUFHbkcsTUFBTSxPQUFPLG9CQUFvQjtJQUcvQixZQUFvQixpQkFBb0M7UUFBcEMsc0JBQWlCLEdBQWpCLGlCQUFpQixDQUFtQjtRQUZoRCxlQUFVLEdBQUcsSUFBSSxlQUFlLENBQXFCLEVBQUUsQ0FBQyxDQUFDO0lBRU4sQ0FBQztJQUVyRCxZQUFZLENBQUMsU0FBaUI7UUFDbkMsSUFBSSxJQUFJLENBQUMsVUFBVSxDQUFDLEtBQUssQ0FBQyxTQUFTLENBQUMsSUFBSSxJQUFJLEVBQUU7WUFDNUMsSUFBSSxDQUFDLFVBQVUsQ0FBQyxJQUFJLENBQUMsRUFBRSxHQUFHLElBQUksQ0FBQyxVQUFVLENBQUMsS0FBSyxFQUFFLENBQUMsU0FBUyxDQUFDLEVBQUUsRUFBRSxFQUFFLENBQUMsQ0FBQztZQUNwRSxJQUFJLENBQUMsaUJBQWlCLENBQUMsU0FBUyxDQUFDLENBQUM7U0FDbkM7UUFFRCxPQUFPLElBQUksQ0FBQyxVQUFVLENBQUMsSUFBSSxDQUN6QixHQUFHLENBQUMsU0FBUyxDQUFDLEVBQUUsQ0FBQyxTQUFTLENBQUMsU0FBUyxDQUFDLElBQUksSUFBSSxDQUFDLEVBQzlDLG9CQUFvQixFQUFFLENBQ3ZCLENBQUM7SUFDSixDQUFDO0lBRU8saUJBQWlCLENBQUMsU0FBaUI7UUFDekMsSUFBSSxDQUFDLGlCQUFpQjthQUNuQixXQUFXLENBQUMsU0FBUyxDQUFDO2FBQ3RCLElBQUksQ0FDSCxHQUFHLENBQUMsSUFBSSxDQUFDLEVBQUUsQ0FBQyxHQUFHLENBQUMsZUFBZSxDQUFDLElBQUksQ0FBQyxDQUFDLEVBQ3RDLFVBQVUsQ0FBQyxHQUFHLEVBQUUsQ0FBQyxFQUFFLENBQUMsRUFBRSxDQUFDLENBQUMsRUFDeEIsR0FBRyxDQUFDLEdBQUcsQ0FBQyxFQUFFLENBQUMsSUFBSSxDQUFDLFVBQVUsQ0FBQyxJQUFJLENBQUMsRUFBRSxHQUFHLElBQUksQ0FBQyxVQUFVLENBQUMsS0FBSyxFQUFFLENBQUMsU0FBUyxDQUFDLEVBQUUsR0FBRyxFQUFFLENBQUMsQ0FBQyxDQUNqRjthQUNBLFNBQVMsRUFBRSxDQUFDO0lBQ2pCLENBQUM7O2lIQTFCVSxvQkFBb0I7cUhBQXBCLG9CQUFvQjsyRkFBcEIsb0JBQW9CO2tCQURoQyxVQUFVIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgSW5qZWN0YWJsZSB9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xuaW1wb3J0IHsgUHJvZHVjdEFwaVNlcnZpY2UgfSBmcm9tICdAdmVsb2NlYXBwcy9hcGknO1xuaW1wb3J0IHsgRGljdGlvbmFyeSB9IGZyb20gJ2xvZGFzaCc7XG5pbXBvcnQgeyBCZWhhdmlvclN1YmplY3QsIGNhdGNoRXJyb3IsIGRpc3RpbmN0VW50aWxDaGFuZ2VkLCBtYXAsIE9ic2VydmFibGUsIG9mLCB0YXAgfSBmcm9tICdyeGpzJztcblxuQEluamVjdGFibGUoKVxuZXhwb3J0IGNsYXNzIFByb2R1Y3RJbWFnZXNTZXJ2aWNlIHtcbiAgcHJpdmF0ZSBpbWFnZXNNYXAkID0gbmV3IEJlaGF2aW9yU3ViamVjdDxEaWN0aW9uYXJ5PHN0cmluZz4+KHt9KTtcblxuICBjb25zdHJ1Y3Rvcihwcml2YXRlIHByb2R1Y3RBcGlTZXJ2aWNlOiBQcm9kdWN0QXBpU2VydmljZSkge31cblxuICBwdWJsaWMgZ2V0SW1hZ2VVcmwkKHByb2R1Y3RJZDogc3RyaW5nKTogT2JzZXJ2YWJsZTxzdHJpbmcgfCBudWxsPiB7XG4gICAgaWYgKHRoaXMuaW1hZ2VzTWFwJC52YWx1ZVtwcm9kdWN0SWRdID09IG51bGwpIHtcbiAgICAgIHRoaXMuaW1hZ2VzTWFwJC5uZXh0KHsgLi4udGhpcy5pbWFnZXNNYXAkLnZhbHVlLCBbcHJvZHVjdElkXTogJycgfSk7XG4gICAgICB0aGlzLmZldGNoUHJvZHVjdEltYWdlKHByb2R1Y3RJZCk7XG4gICAgfVxuXG4gICAgcmV0dXJuIHRoaXMuaW1hZ2VzTWFwJC5waXBlKFxuICAgICAgbWFwKGltYWdlc01hcCA9PiBpbWFnZXNNYXBbcHJvZHVjdElkXSA/PyBudWxsKSxcbiAgICAgIGRpc3RpbmN0VW50aWxDaGFuZ2VkKCksXG4gICAgKTtcbiAgfVxuXG4gIHByaXZhdGUgZmV0Y2hQcm9kdWN0SW1hZ2UocHJvZHVjdElkOiBzdHJpbmcpOiB2b2lkIHtcbiAgICB0aGlzLnByb2R1Y3RBcGlTZXJ2aWNlXG4gICAgICAuZmV0Y2hJbWFnZSQocHJvZHVjdElkKVxuICAgICAgLnBpcGUoXG4gICAgICAgIG1hcChmaWxlID0+IFVSTC5jcmVhdGVPYmplY3RVUkwoZmlsZSkpLFxuICAgICAgICBjYXRjaEVycm9yKCgpID0+IG9mKCcnKSksXG4gICAgICAgIHRhcCh1cmwgPT4gdGhpcy5pbWFnZXNNYXAkLm5leHQoeyAuLi50aGlzLmltYWdlc01hcCQudmFsdWUsIFtwcm9kdWN0SWRdOiB1cmwgfSkpLFxuICAgICAgKVxuICAgICAgLnN1YnNjcmliZSgpO1xuICB9XG59XG4iXX0=
|
@@ -1,14 +1,17 @@
|
|
1
1
|
import { Injectable } from '@angular/core';
|
2
|
-
import {
|
2
|
+
import { AccountApiService, QuoteApiService } from '@veloceapps/api';
|
3
3
|
import { ConfigurationContextMode } from '@veloceapps/core';
|
4
4
|
import { isEqual } from 'lodash';
|
5
|
-
import { BehaviorSubject, combineLatest, noop, zip } from 'rxjs';
|
5
|
+
import { BehaviorSubject, combineLatest, noop, of, zip } from 'rxjs';
|
6
6
|
import { filter, map, shareReplay, skip, switchMap, take, tap } from 'rxjs/operators';
|
7
7
|
import { ContextService } from './context.service';
|
8
8
|
import * as i0 from "@angular/core";
|
9
9
|
import * as i1 from "./context.service";
|
10
10
|
import * as i2 from "@veloceapps/api";
|
11
11
|
export class QuoteDraftService {
|
12
|
+
get isInitialized$() {
|
13
|
+
return this.isInitializedSubj$.asObservable();
|
14
|
+
}
|
12
15
|
get isInitialized() {
|
13
16
|
return this.isInitializedSubj$.getValue();
|
14
17
|
}
|
@@ -30,22 +33,28 @@ export class QuoteDraftService {
|
|
30
33
|
return this.quoteSubj$.pipe(map(() => this.hasProducts));
|
31
34
|
}
|
32
35
|
get hasProducts() {
|
33
|
-
|
34
|
-
|
36
|
+
return Boolean(this.quoteSubj$.value?.currentState.length);
|
37
|
+
}
|
38
|
+
get hasAssets$() {
|
39
|
+
return this.assetsSubj$.pipe(map(() => this.hasAssets));
|
40
|
+
}
|
41
|
+
get hasAssets() {
|
42
|
+
return Boolean(this.assetsSubj$.value?.currentState.length);
|
35
43
|
}
|
36
|
-
|
44
|
+
get assetsState() {
|
45
|
+
return this.assetsSubj$.value;
|
46
|
+
}
|
47
|
+
constructor(context, accountApiService, quoteApiService) {
|
37
48
|
this.context = context;
|
49
|
+
this.accountApiService = accountApiService;
|
38
50
|
this.quoteApiService = quoteApiService;
|
39
|
-
this.priceApiService = priceApiService;
|
40
51
|
this.quoteSubj$ = new BehaviorSubject(null);
|
52
|
+
this.assetsSubj$ = new BehaviorSubject(null);
|
41
53
|
this.resetSubj$ = new BehaviorSubject(true);
|
42
54
|
this.isInitializedSubj$ = new BehaviorSubject(false);
|
43
55
|
this.initialCurrentState = [];
|
44
56
|
this._hasUnsavedChanges = false;
|
45
|
-
this.allPriceLists = [];
|
46
|
-
this.assetPriceLists = [];
|
47
57
|
this.reset$ = this.resetSubj$.asObservable();
|
48
|
-
this.activePriceList$ = this.context.resolve$().pipe(map(ctx => this.allPriceLists.find(priceList => priceList.id === ctx.properties.PriceListId)), map(priceList => priceList ?? null));
|
49
58
|
this.isInitializedSubj$
|
50
59
|
.pipe(filter(isInitialized => isInitialized), switchMap(() => this.quoteSubj$.asObservable()), skip(1), tap(quote => this.markAsUpdated(quote)))
|
51
60
|
.subscribe();
|
@@ -53,17 +62,25 @@ export class QuoteDraftService {
|
|
53
62
|
reset() {
|
54
63
|
this.resetSubj$.next(true);
|
55
64
|
this.quoteSubj$.next(null);
|
65
|
+
this.assetsSubj$.next(null);
|
56
66
|
this.isInitialized = false;
|
57
67
|
this.hasUnsavedChanges = false;
|
58
68
|
}
|
59
|
-
init(
|
60
|
-
|
61
|
-
|
69
|
+
init(headerId, params) {
|
70
|
+
const ctx = this.context.resolve();
|
71
|
+
const accountId = this.context.mode === ConfigurationContextMode.ACCOUNT ? headerId : ctx.properties.AccountId;
|
72
|
+
return zip(accountId ? this.accountApiService.getAssetsState(accountId, params) : of(null), this.quoteApiService.getQuoteState(headerId, params)).pipe(tap(([assets, quote]) => {
|
73
|
+
if (assets) {
|
74
|
+
this.assetsSubj$.next(assets);
|
75
|
+
}
|
62
76
|
this.quoteSubj$.next(quote);
|
63
77
|
this.context.update(quote.context);
|
64
|
-
this.populateActivePriceLists$();
|
65
78
|
}), map(() => noop()), take(1));
|
66
79
|
}
|
80
|
+
finalizeInit() {
|
81
|
+
this.isInitialized = true;
|
82
|
+
this.hasUnsavedChanges = false;
|
83
|
+
}
|
67
84
|
setCurrentLineItemState(lineItems) {
|
68
85
|
const quoteDraft = this.quoteSubj$.value;
|
69
86
|
if (!quoteDraft) {
|
@@ -103,6 +120,9 @@ export class QuoteDraftService {
|
|
103
120
|
approvalItems: priceSummary.approvalItems,
|
104
121
|
});
|
105
122
|
}
|
123
|
+
setAssetsState(assetsState) {
|
124
|
+
this.assetsSubj$.next(assetsState);
|
125
|
+
}
|
106
126
|
get quoteDraft$() {
|
107
127
|
return combineLatest([this.quoteSubj$, this.context.resolve$()]).pipe(map(() => this.quoteDraft), filter((quote) => Boolean(quote)), shareReplay());
|
108
128
|
}
|
@@ -116,54 +136,12 @@ export class QuoteDraftService {
|
|
116
136
|
context: this.context.resolve(),
|
117
137
|
};
|
118
138
|
}
|
119
|
-
get quoteDraftForActivePriceList() {
|
120
|
-
const quoteDraft = this.quoteDraft;
|
121
|
-
if (!quoteDraft) {
|
122
|
-
return null;
|
123
|
-
}
|
124
|
-
return {
|
125
|
-
...quoteDraft,
|
126
|
-
initialState: this.filterByActivePriceList(quoteDraft.initialState),
|
127
|
-
currentState: this.filterByActivePriceList(quoteDraft.currentState),
|
128
|
-
};
|
129
|
-
}
|
130
139
|
get currentState$() {
|
131
140
|
return this.quoteDraft$.pipe(map(quote => quote.currentState));
|
132
141
|
}
|
133
142
|
get currentState() {
|
134
143
|
return this.quoteDraft?.currentState ?? [];
|
135
144
|
}
|
136
|
-
/**
|
137
|
-
* Stream of activeCurrentState
|
138
|
-
*/
|
139
|
-
get activeCurrentState$() {
|
140
|
-
return this.quoteDraft$.pipe(map(() => this.activeCurrentState));
|
141
|
-
}
|
142
|
-
/**
|
143
|
-
* activeCurrentState is currentState passed through additional filters
|
144
|
-
*/
|
145
|
-
get activeCurrentState() {
|
146
|
-
let currentState = this.quoteDraft?.currentState ?? [];
|
147
|
-
currentState = this.filterByActivePriceList(currentState);
|
148
|
-
return currentState;
|
149
|
-
}
|
150
|
-
/**
|
151
|
-
* Stream of activeInitialState
|
152
|
-
*/
|
153
|
-
get activeInitialState$() {
|
154
|
-
return this.quoteDraft$.pipe(map(() => this.activeInitialState));
|
155
|
-
}
|
156
|
-
/**
|
157
|
-
* activeInitialState is initialState passed through additional filters
|
158
|
-
*/
|
159
|
-
get activeInitialState() {
|
160
|
-
const ctx = this.context.resolve();
|
161
|
-
let initialState = this.quoteDraft?.initialState ?? [];
|
162
|
-
if (ctx.mode === ConfigurationContextMode.ACCOUNT) {
|
163
|
-
initialState = this.filterByActivePriceList(initialState);
|
164
|
-
}
|
165
|
-
return initialState;
|
166
|
-
}
|
167
145
|
get isStandalone() {
|
168
146
|
return this.context.resolve().properties.standalone === 'true';
|
169
147
|
}
|
@@ -186,37 +164,8 @@ export class QuoteDraftService {
|
|
186
164
|
}
|
187
165
|
return false;
|
188
166
|
}
|
189
|
-
updateActivePriceList(priceListId) {
|
190
|
-
this.context.update({ properties: { PriceListId: priceListId } });
|
191
|
-
}
|
192
|
-
populateActivePriceLists$() {
|
193
|
-
const ctx = this.context.resolve();
|
194
|
-
const quoteDraft = this.quoteDraft;
|
195
|
-
if (!quoteDraft) {
|
196
|
-
return;
|
197
|
-
}
|
198
|
-
// In ACCOUNT mode populate price lists from related assets
|
199
|
-
if (ctx.mode === ConfigurationContextMode.ACCOUNT) {
|
200
|
-
// Populate list of price lists
|
201
|
-
this.assetPriceLists = quoteDraft.currentState
|
202
|
-
.map(({ priceListId }) => priceListId)
|
203
|
-
.reduce((trunk, priceListId) => {
|
204
|
-
if (!priceListId || trunk.some(item => item.id === priceListId)) {
|
205
|
-
return trunk;
|
206
|
-
}
|
207
|
-
return [
|
208
|
-
...trunk,
|
209
|
-
{ id: priceListId, name: this.allPriceLists.find(item => item.id === priceListId)?.name ?? '' },
|
210
|
-
];
|
211
|
-
}, []);
|
212
|
-
}
|
213
|
-
}
|
214
|
-
filterByActivePriceList(lineItems) {
|
215
|
-
const ctx = this.context.resolve();
|
216
|
-
return lineItems.filter(li => !li.priceListId || li.priceListId === ctx.properties.PriceListId);
|
217
|
-
}
|
218
167
|
markAsUpdated(quote) {
|
219
|
-
if (quote?.context.properties
|
168
|
+
if (quote?.context.properties['#mode'] === ConfigurationContextMode.ACCOUNT) {
|
220
169
|
this.hasUnsavedChanges = !!quote && !quote.currentState.every(li => li.actionCode === 'EXIST');
|
221
170
|
}
|
222
171
|
else {
|
@@ -224,10 +173,9 @@ export class QuoteDraftService {
|
|
224
173
|
}
|
225
174
|
}
|
226
175
|
}
|
227
|
-
QuoteDraftService.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "15.2.9", ngImport: i0, type: QuoteDraftService, deps: [{ token: i1.ContextService }, { token: i2.
|
228
|
-
QuoteDraftService.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "15.2.9", ngImport: i0, type: QuoteDraftService
|
176
|
+
QuoteDraftService.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "15.2.9", ngImport: i0, type: QuoteDraftService, deps: [{ token: i1.ContextService }, { token: i2.AccountApiService }, { token: i2.QuoteApiService }], target: i0.ɵɵFactoryTarget.Injectable });
|
177
|
+
QuoteDraftService.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "15.2.9", ngImport: i0, type: QuoteDraftService });
|
229
178
|
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "15.2.9", ngImport: i0, type: QuoteDraftService, decorators: [{
|
230
|
-
type: Injectable
|
231
|
-
|
232
|
-
}], ctorParameters: function () { return [{ type: i1.ContextService }, { type: i2.QuoteApiService }, { type: i2.PriceApiService }]; } });
|
233
|
-
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicXVvdGUtZHJhZnQuc2VydmljZS5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uL2xpYnMvc2RrL2NvcmUvc2VydmljZXMvcXVvdGUtZHJhZnQuc2VydmljZS50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQUUsVUFBVSxFQUFFLE1BQU0sZUFBZSxDQUFDO0FBQzNDLE9BQU8sRUFBRSxlQUFlLEVBQUUsZUFBZSxFQUFFLE1BQU0saUJBQWlCLENBQUM7QUFDbkUsT0FBTyxFQUFFLHdCQUF3QixFQUFpRCxNQUFNLGtCQUFrQixDQUFDO0FBQzNHLE9BQU8sRUFBYyxPQUFPLEVBQUUsTUFBTSxRQUFRLENBQUM7QUFDN0MsT0FBTyxFQUFFLGVBQWUsRUFBYyxhQUFhLEVBQUUsSUFBSSxFQUFFLEdBQUcsRUFBRSxNQUFNLE1BQU0sQ0FBQztBQUM3RSxPQUFPLEVBQUUsTUFBTSxFQUFFLEdBQUcsRUFBRSxXQUFXLEVBQUUsSUFBSSxFQUFFLFNBQVMsRUFBRSxJQUFJLEVBQUUsR0FBRyxFQUFFLE1BQU0sZ0JBQWdCLENBQUM7QUFDdEYsT0FBTyxFQUFFLGNBQWMsRUFBRSxNQUFNLG1CQUFtQixDQUFDOzs7O0FBR25ELE1BQU0sT0FBTyxpQkFBaUI7SUFPNUIsSUFBVyxhQUFhO1FBQ3RCLE9BQU8sSUFBSSxDQUFDLGtCQUFrQixDQUFDLFFBQVEsRUFBRSxDQUFDO0lBQzVDLENBQUM7SUFDRCxJQUFXLGFBQWEsQ0FBQyxLQUFjO1FBQ3JDLElBQUksSUFBSSxDQUFDLGFBQWEsS0FBSyxLQUFLLEVBQUU7WUFDaEMsSUFBSSxDQUFDLGtCQUFrQixDQUFDLElBQUksQ0FBQyxLQUFLLENBQUMsQ0FBQztTQUNyQztJQUNILENBQUM7SUFFRCxJQUFXLGlCQUFpQjtRQUMxQixPQUFPLElBQUksQ0FBQyxrQkFBa0IsQ0FBQztJQUNqQyxDQUFDO0lBQ0QsSUFBVyxpQkFBaUIsQ0FBQyxLQUFjO1FBQ3pDLElBQUksQ0FBQyxr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RSxJQUFJLElBQUksRUFBRSxFQUFFO2lCQUNoRyxDQUFDO1lBQ0osQ0FBQyxFQUFFLEVBQUUsQ0FBQyxDQUFDO1NBQ1Y7SUFDSCxDQUFDO0lBRU8sdUJBQXVCLENBQUMsU0FBcUI7UUFDbkQsTUFBTSxHQUFHLEdBQUcsSUFBSSxDQUFDLE9BQU8sQ0FBQyxPQUFPLEVBQUUsQ0FBQztRQUVuQyxPQUFPLFNBQVMsQ0FBQyxNQUFNLENBQUMsRUFBRSxDQUFDLEVBQUUsQ0FBQyxDQUFDLEVBQUUsQ0FBQyxXQUFXLElBQUksRUFBRSxDQUFDLFdBQVcsS0FBSyxHQUFHLENBQUMsVUFBVSxDQUFDLFdBQVcsQ0FBQyxDQUFDO0lBQ2xHLENBQUM7SUFFTyxhQUFhLENBQUMsS0FBd0I7UUFDNUMsSUFBSSxLQUFLLEVBQUUsT0FBTyxDQUFDLFVBQVUsQ0FBQyxJQUFJLEtBQUssd0JBQXdCLENBQUMsT0FBTyxFQUFFO1lBQ3ZFLElBQUksQ0FBQyxpQkFBaUIsR0FBRyxDQUFDLENBQUMsS0FBSyxJQUFJLENBQUMsS0FBSyxDQUFDLFlBQVksQ0FBQyxLQUFLLENBQUMsRUFBRSxDQUFDLEVBQUUsQ0FBQyxFQUFFLENBQUMsVUFBVSxLQUFLLE9BQU8sQ0FBQyxDQUFDO1NBQ2hHO2FBQU07WUFDTCxJQUFJLENBQUMsaUJBQWlCLEdBQUcsQ0FBQyxPQUFPLENBQUMsSUFBSSxDQUFDLG1CQUFtQixFQUFFLEtBQUssRUFBRSxZQUFZLENBQUMsQ0FBQztTQUNsRjtJQUNILENBQUM7OzhHQTlSVSxpQkFBaUI7a0hBQWpCLGlCQUFpQixjQURKLE1BQU07MkZBQ25CLGlCQUFpQjtrQkFEN0IsVUFBVTttQkFBQyxFQUFFLFVBQVUsRUFBRSxNQUFNLEVBQUUiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBJbmplY3RhYmxlIH0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XG5pbXBvcnQgeyBQcmljZUFwaVNlcnZpY2UsIFF1b3RlQXBpU2VydmljZSB9IGZyb20gJ0B2ZWxvY2VhcHBzL2FwaSc7XG5pbXBvcnQgeyBDb25maWd1cmF0aW9uQ29udGV4dE1vZGUsIExpbmVJdGVtLCBQcmljZUxpc3QsIFByaWNlU3VtbWFyeSwgUXVvdGVEcmFmdCB9IGZyb20gJ0B2ZWxvY2VhcHBzL2NvcmUnO1xuaW1wb3J0IHsgRGljdGlvbmFyeSwgaXNFcXVhbCB9IGZyb20gJ2xvZGFzaCc7XG5pbXBvcnQgeyBCZWhhdmlvclN1YmplY3QsIE9ic2VydmFibGUsIGNvbWJpbmVMYXRlc3QsIG5vb3AsIHppcCB9IGZyb20gJ3J4anMnO1xuaW1wb3J0IHsgZmlsdGVyLCBtYXAsIHNoYXJlUmVwbGF5LCBza2lwLCBzd2l0Y2hNYXAsIHRha2UsIHRhcCB9IGZyb20gJ3J4anMvb3BlcmF0b3JzJztcbmltcG9ydCB7IENvbnRleHRTZXJ2aWNlIH0gZnJvbSAnLi9jb250ZXh0LnNlcnZpY2UnO1xuXG5ASW5qZWN0YWJsZSh7IHByb3ZpZGVkSW46ICdyb290JyB9KVxuZXhwb3J0IGNsYXNzIFF1b3RlRHJhZnRTZXJ2aWNlIHtcbiAgcHJpdmF0ZSBxdW90ZVN1YmokID0gbmV3IEJlaGF2aW9yU3ViamVjdDxRdW90ZURyYWZ0IHwgbnVsbD4obnVsbCk7XG4gIHByaXZhdGUgcmVzZXRTdWJqJCA9IG5ldyBCZWhhdmlvclN1YmplY3Q8Ym9vbGVhbj4odHJ1ZSk7XG4gIHByaXZhdGUgaXNJbml0aWFsaXplZFN1YmokID0gbmV3IEJlaGF2aW9yU3ViamVjdDxib29sZWFuPihmYWxzZSk7XG4gIHByaXZhdGUgaW5pdGlhbEN1cnJlbnRTdGF0ZTogTGluZUl0ZW1bXSA9IFtdO1xuICBwcml2YXRlIF9oYXNVbnNhdmVkQ2hhbmdlcyA9IGZhbHNlO1xuXG4gIHB1YmxpYyBnZXQgaXNJbml0aWFsaXplZCgpOiBib29sZWFuIHtcbiAgICByZXR1cm4gdGhpcy5pc0luaXRpYWxpemVkU3ViaiQuZ2V0VmFsdWUoKTtcbiAgfVxuICBwdWJsaWMgc2V0IGlzSW5pdGlhbGl6ZWQodmFsdWU6IGJvb2xlYW4pIHtcbiAgICBpZiAodGhpcy5pc0luaXRpYWxpemVkICE9PSB2YWx1ZSkge1xuICAgICAgdGhpcy5pc0luaXRpYWxpemVkU3ViaiQubmV4dCh2YWx1ZSk7XG4gICAgfVxuICB9XG5cbiAgcHVibGljIGdldCBoYXNVbnNhdmVkQ2hhbmdlcygpOiBib29sZWFuIHtcbiAgICByZXR1cm4gdGhpcy5faGFzVW5zYXZlZENoYW5nZXM7XG4gIH1cbiAgcHVibGljIHNldCBoYXNVbnNhdmVkQ2hhbmdlcyh2YWx1ZTogYm9vbGVhbikge1xuICAgIHRoaXMuX2hhc1Vuc2F2ZWRDaGFuZ2VzID0gdmFsdWU7XG5cbiAgICBpZiAoIXRoaXMuX2hhc1Vuc2F2ZWRDaGFuZ2VzKSB7XG4gICAgICB0aGlzLmluaXRpYWxDdXJyZW50U3RhdGUgPSB0aGlzLnF1b3RlRHJhZnQ/LmN1cnJlbnRTdGF0ZSA/PyBbXTtcbiAgICB9XG4gIH1cblxuICBwdWJsaWMgZ2V0IGhhc1Byb2R1Y3RzJCgpOiBPYnNlcnZhYmxlPGJvb2xlYW4+IHtcbiAgICByZXR1cm4gdGhpcy5xdW90ZVN1YmokLnBpcGUobWFwKCgpID0+IHRoaXMuaGFzUHJvZHVjdHMpKTtcbiAgfVxuICBwdWJsaWMgZ2V0IGhhc1Byb2R1Y3RzKCk6IGJvb2xlYW4ge1xuICAgIGNvbnN0IHF1b3RlRHJhZnQgPSB0aGlzLnF1b3RlU3ViaiQudmFsdWU7XG4gICAgcmV0dXJuIEJvb2xlYW4ocXVvdGVEcmFmdCAmJiBxdW90ZURyYWZ0LmN1cnJlbnRTdGF0ZS5sZW5ndGggPiAwKTtcbiAgfVxuXG4gIHB1YmxpYyBhbGxQcmljZUxpc3RzOiBQcmljZUxpc3RbXSA9IFtdO1xuICBwdWJsaWMgYXNzZXRQcmljZUxpc3RzOiBQcmljZUxpc3RbXSA9IFtdO1xuICBwdWJsaWMgcmVzZXQkID0gdGhpcy5yZXNldFN1YmokLmFzT2JzZXJ2YWJsZSgpO1xuICBwdWJsaWMgYWN0aXZlUHJpY2VMaXN0JDogT2JzZXJ2YWJsZTxQcmljZUxpc3QgfCBudWxsPjtcblxuICBjb25zdHJ1Y3RvcihcbiAgICBwcml2YXRlIGNvbnRleHQ6IENvbnRleHRTZXJ2aWNlLFxuICAgIHByaXZhdGUgcXVvdGVBcGlTZXJ2aWNlOiBRdW90ZUFwaVNlcnZpY2UsXG4gICAgcHJpdmF0ZSBwcmljZUFwaVNlcnZpY2U6IFByaWNlQXBpU2VydmljZSxcbiAgKSB7XG4gICAgdGhpcy5hY3RpdmVQcmljZUxpc3QkID0gdGhpcy5jb250ZXh0LnJlc29sdmUkKCkucGlwZShcbiAgICAgIG1hcChjdHggPT4gdGhpcy5hbGxQcmljZUxpc3RzLmZpbmQocHJpY2VMaXN0ID0+IHByaWNlTGlzdC5pZCA9PT0gY3R4LnByb3BlcnRpZXMuUHJpY2VMaXN0SWQpKSxcbiAgICAgIG1hcChwcmljZUxpc3QgPT4gcHJpY2VMaXN0ID8/IG51bGwpLFxuICAgICk7XG5cbiAgICB0aGlzLmlzSW5pdGlhbGl6ZWRTdWJqJFxuICAgICAgLnBpcGUoXG4gICAgICAgIGZpbHRlcihpc0luaXRpYWxpemVkID0+IGlzSW5pdGlhbGl6ZWQpLFxuICAgICAgICBzd2l0Y2hNYXAoKCkgPT4gdGhpcy5xdW90ZVN1YmokLmFzT2JzZXJ2YWJsZSgpKSxcbiAgICAgICAgc2tpcCgxKSxcbiAgICAgICAgdGFwKHF1b3RlID0+IHRoaXMubWFya0FzVXBkYXRlZChxdW90ZSkpLFxuICAgICAgKVxuICAgICAgLnN1YnNjcmliZSgpO1xuICB9XG5cbiAgcHVibGljIHJlc2V0KCk6IHZvaWQge1xuICAgIHRoaXMucmVzZXRTdWJqJC5uZXh0KHRydWUpO1xuICAgIHRoaXMucXVvdGVTdWJqJC5uZXh0KG51bGwpO1xuICAgIHRoaXMuaXNJbml0aWFsaXplZCA9IGZhbHNlO1xuICAgIHRoaXMuaGFzVW5zYXZlZENoYW5nZXMgPSBmYWxzZTtcbiAgfVxuXG4gIHB1YmxpYyBpbml0KHF1b3RlSWQ6IHN0cmluZywgcGFyYW1zOiBEaWN0aW9uYXJ5PHN0cmluZz4pOiBPYnNlcnZhYmxlPHZvaWQ+IHtcbiAgICByZXR1cm4gemlwKHRoaXMucXVvdGVBcGlTZXJ2aWNlLmdldFF1b3RlRHJhZnQocXVvdGVJZCwgcGFyYW1zKSwgdGhpcy5wcmljZUFwaVNlcnZpY2UuZ2V0UHJpY2VMaXN0cygpKS5waXBlKFxuICAgICAgdGFwKChbcXVvdGUsIGFsbFByaWNlTGlzdHNdKSA9PiB7XG4gICAgICAgIHRoaXMuYWxsUHJpY2VMaXN0cyA9IGFsbFByaWNlTGlzdHM7XG4gICAgICAgIHRoaXMucXVvdGVTdWJqJC5uZXh0KHF1b3RlKTtcblxuICAgICAgICB0aGlzLmNvbnRleHQudXBkYXRlKHF1b3RlLmNvbnRleHQpO1xuXG4gICAgICAgIHRoaXMucG9wdWxhdGVBY3RpdmVQcmljZUxpc3RzJCgpO1xuICAgICAgfSksXG4gICAgICBtYXAoKCkgPT4gbm9vcCgpKSxcbiAgICAgIHRha2UoMSksXG4gICAgKTtcbiAgfVxuXG4gIHB1YmxpYyBzZXRDdXJyZW50TGluZUl0ZW1TdGF0ZShsaW5lSXRlbXM6IExpbmVJdGVtW10pOiB2b2lkIHtcbiAgICBjb25zdCBxdW90ZURyYWZ0ID0gdGhpcy5xdW90ZVN1YmokLnZhbHVlO1xuXG4gICAgaWYgKCFxdW90ZURyYWZ0KSB7XG4gICAgICByZXR1cm47XG4gICAgfVxuXG4gICAgdGhpcy5xdW90ZVN1YmokLm5leHQoe1xuICAgICAgLi4ucXVvdGVEcmFmdCxcbiAgICAgIGN1cnJlbnRTdGF0ZTogbGluZUl0ZW1zLFxuICAgIH0pO1xuICB9XG5cbiAgcHVibGljIHVwZGF0ZVF1b3RlRHJhZnQodXBkYXRlOiBQYXJ0aWFsPFF1b3RlRHJhZnQ+KTogdm9pZCB7XG4gICAgY29uc3QgcXVvdGVEcmFmdCA9IHRoaXMucXVvdGVTdWJqJC52YWx1ZTtcblxuICAgIGlmICghcXVvdGVEcmFmdCkge1xuICAgICAgcmV0dXJuO1xuICAgIH1cblxuICAgIGlmICh1cGRhdGUuY29udGV4dCkge1xuICAgICAgdGhpcy5jb250ZXh0LnNldCh1cGRhdGUuY29udGV4dCk7XG4gICAgfVxuXG4gICAgdGhpcy5xdW90ZVN1YmokLm5leHQoe1xuICAgICAgLi4ucXVvdGVEcmFmdCxcbiAgICAgIC4uLnVwZGF0ZSxcbiAgICB9KTtcbiAgfVxuXG4gIHB1YmxpYyB1cGRhdGVCeVByaWNlU3VtbWFyeShwcmljZVN1bW1hcnk6IFByaWNlU3VtbWFyeSk6IHZvaWQge1xuICAgIGNvbnN0IHF1b3RlRHJhZnQgPSB0aGlzLnF1b3RlU3ViaiQudmFsdWU7XG5cbiAgICBpZiAoIXF1b3RlRHJhZnQpIHtcbiAgICAgIHJldHVybjtcbiAgICB9XG5cbiAgICBjb25zdCB1cGRhdGVkQ3VycmVudFN0YXRlID0gdGhpcy5jdXJyZW50U3RhdGUubWFwKGxpbmVJdGVtID0+IHtcbiAgICAgIGNvbnN0IHVwZGF0ZWQgPSBwcmljZVN1bW1hcnkubGluZUl0ZW1zLmZpbmQobGkgPT4gbGkuaWQgPT09IGxpbmVJdGVtLmlkKTtcbiAgICAgIHJldHVybiB1cGRhdGVkID8/IGxpbmVJdGVtO1xuICAgIH0pO1xuXG4gICAgdGhpcy5xdW90ZVN1YmokLm5leHQoe1xuICAgICAgLi4ucXVvdGVEcmFmdCxcbiAgICAgIGN1cnJlbnRTdGF0ZTogdXBkYXRlZEN1cnJlbnRTdGF0ZSxcbiAgICAgIHRvdGFsUHJpY2VzOiBwcmljZVN1bW1hcnkudG90YWxQcmljZXMsXG4gICAgICBhcHByb3ZhbEl0ZW1zOiBwcmljZVN1bW1hcnkuYXBwcm92YWxJdGVtcyxcbiAgICB9KTtcbiAgfVxuXG4gIHB1YmxpYyBnZXQgcXVvdGVEcmFmdCQoKTogT2JzZXJ2YWJsZTxRdW90ZURyYWZ0PiB7XG4gICAgcmV0dXJuIGNvbWJpbmVMYXRlc3QoW3RoaXMucXVvdGVTdWJqJCwgdGhpcy5jb250ZXh0LnJlc29sdmUkKCldKS5waXBlKFxuICAgICAgbWFwKCgpID0+IHRoaXMucXVvdGVEcmFmdCksXG4gICAgICBmaWx0ZXIoKHF1b3RlKTogcXVvdGUgaXMgUXVvdGVEcmFmdCA9PiBCb29sZWFuKHF1b3RlKSksXG4gICAgICBzaGFyZVJlcGxheSgpLFxuICAgICk7XG4gIH1cblxuICBwdWJsaWMgZ2V0IHF1b3RlRHJhZnQoKTogUXVvdGVEcmFmdCB8IG51bGwge1xuICAgIGNvbnN0IHF1b3RlID0gdGhpcy5xdW90ZVN1YmokLnZhbHVlO1xuXG4gICAgaWYgKCFxdW90ZSkge1xuICAgICAgcmV0dXJuIG51bGw7XG4gICAgfVxuXG4gICAgcmV0dXJuIHtcbiAgICAgIC4uLnF1b3RlLFxuICAgICAgY29udGV4dDogdGhpcy5jb250ZXh0LnJlc29sdmUoKSxcbiAgICB9O1xuICB9XG5cbiAgcHVibGljIGdldCBxdW90ZURyYWZ0Rm9yQWN0aXZlUHJpY2VMaXN0KCk6IFF1b3RlRHJhZnQgfCBudWxsIHtcbiAgICBjb25zdCBxdW90ZURyYWZ0ID0gdGhpcy5xdW90ZURyYWZ0O1xuXG4gICAgaWYgKCFxdW90ZURyYWZ0KSB7XG4gICAgICByZXR1cm4gbnVsbDtcbiAgICB9XG5cbiAgICByZXR1cm4ge1xuICAgICAgLi4ucXVvdGVEcmFmdCxcbiAgICAgIGluaXRpYWxTdGF0ZTogdGhpcy5maWx0ZXJCeUFjdGl2ZVByaWNlTGlzdChxdW90ZURyYWZ0LmluaXRpYWxTdGF0ZSksXG4gICAgICBjdXJyZW50U3RhdGU6IHRoaXMuZmlsdGVyQnlBY3RpdmVQcmljZUxpc3QocXVvdGVEcmFmdC5jdXJyZW50U3RhdGUpLFxuICAgIH07XG4gIH1cblxuICBwdWJsaWMgZ2V0IGN1cnJlbnRTdGF0ZSQoKTogT2JzZXJ2YWJsZTxMaW5lSXRlbVtdPiB7XG4gICAgcmV0dXJuIHRoaXMucXVvdGVEcmFmdCQucGlwZShtYXAocXVvdGUgPT4gcXVvdGUuY3VycmVudFN0YXRlKSk7XG4gIH1cblxuICBwdWJsaWMgZ2V0IGN1cnJlbnRTdGF0ZSgpOiBMaW5lSXRlbVtdIHtcbiAgICByZXR1cm4gdGhpcy5xdW90ZURyYWZ0Py5jdXJyZW50U3RhdGUgPz8gW107XG4gIH1cblxuICAvKipcbiAgICogU3RyZWFtIG9mIGFjdGl2ZUN1cnJlbnRTdGF0ZVxuICAgKi9cbiAgcHVibGljIGdldCBhY3RpdmVDdXJyZW50U3RhdGUkKCk6IE9ic2VydmFibGU8TGluZUl0ZW1bXT4ge1xuICAgIHJldHVybiB0aGlzLnF1b3RlRHJhZnQkLnBpcGUobWFwKCgpID0+IHRoaXMuYWN0aXZlQ3VycmVudFN0YXRlKSk7XG4gIH1cblxuICAvKipcbiAgICogYWN0aXZlQ3VycmVudFN0YXRlIGlzIGN1cnJlbnRTdGF0ZSBwYXNzZWQgdGhyb3VnaCBhZGRpdGlvbmFsIGZpbHRlcnNcbiAgICovXG4gIHB1YmxpYyBnZXQgYWN0aXZlQ3VycmVudFN0YXRlKCk6IExpbmVJdGVtW10ge1xuICAgIGxldCBjdXJyZW50U3RhdGUgPSB0aGlzLnF1b3RlRHJhZnQ/LmN1cnJlbnRTdGF0ZSA/PyBbXTtcblxuICAgIGN1cnJlbnRTdGF0ZSA9IHRoaXMuZmlsdGVyQnlBY3RpdmVQcmljZUxpc3QoY3VycmVudFN0YXRlKTtcblxuICAgIHJldHVybiBjdXJyZW50U3RhdGU7XG4gIH1cblxuICAvKipcbiAgICogU3RyZWFtIG9mIGFjdGl2ZUluaXRpYWxTdGF0ZVxuICAgKi9cbiAgcHVibGljIGdldCBhY3RpdmVJbml0aWFsU3RhdGUkKCk6IE9ic2VydmFibGU8TGluZUl0ZW1bXT4ge1xuICAgIHJldHVybiB0aGlzLnF1b3RlRHJhZnQkLnBpcGUobWFwKCgpID0+IHRoaXMuYWN0aXZlSW5pdGlhbFN0YXRlKSk7XG4gIH1cblxuICAvKipcbiAgICogYWN0aXZlSW5pdGlhbFN0YXRlIGlzIGluaXRpYWxTdGF0ZSBwYXNzZWQgdGhyb3VnaCBhZGRpdGlvbmFsIGZpbHRlcnNcbiAgICovXG4gIHB1YmxpYyBnZXQgYWN0aXZlSW5pdGlhbFN0YXRlKCk6IExpbmVJdGVtW10ge1xuICAgIGNvbnN0IGN0eCA9IHRoaXMuY29udGV4dC5yZXNvbHZlKCk7XG4gICAgbGV0IGluaXRpYWxTdGF0ZSA9IHRoaXMucXVvdGVEcmFmdD8uaW5pdGlhbFN0YXRlID8/IFtdO1xuXG4gICAgaWYgKGN0eC5tb2RlID09PSBDb25maWd1cmF0aW9uQ29udGV4dE1vZGUuQUNDT1VOVCkge1xuICAgICAgaW5pdGlhbFN0YXRlID0gdGhpcy5maWx0ZXJCeUFjdGl2ZVByaWNlTGlzdChpbml0aWFsU3RhdGUpO1xuICAgIH1cblxuICAgIHJldHVybiBpbml0aWFsU3RhdGU7XG4gIH1cblxuICBwdWJsaWMgZ2V0IGlzU3RhbmRhbG9uZSgpOiBib29sZWFuIHtcbiAgICByZXR1cm4gdGhpcy5jb250ZXh0LnJlc29sdmUoKS5wcm9wZXJ0aWVzLnN0YW5kYWxvbmUgPT09ICd0cnVlJztcbiAgfVxuXG4gIHB1YmxpYyBnZXQgaXNTdGFuZGFsb25lJCgpOiBPYnNlcnZhYmxlPGJvb2xlYW4+IHtcbiAgICByZXR1cm4gdGhpcy5jb250ZXh0LnJlc29sdmUkKCkucGlwZShtYXAoKCkgPT4gdGhpcy5pc1N0YW5kYWxvbmUpKTtcbiAgfVxuXG4gIHB1YmxpYyBnZXRJbml0aWFsQ3VycmVudFN0YXRlKCk6IExpbmVJdGVtW10ge1xuICAgIHJldHVybiB0aGlzLmluaXRpYWxDdXJyZW50U3RhdGU7XG4gIH1cblxuICBwdWJsaWMgaXNFZGl0TW9kZSQoKTogT2JzZXJ2YWJsZTxib29sZWFuPiB7XG4gICAgcmV0dXJuIHRoaXMuY29udGV4dC5yZXNvbHZlJCgpLnBpcGUobWFwKCgpID0+IHRoaXMuaXNFZGl0TW9kZSgpKSk7XG4gIH1cblxuICBwdWJsaWMgaXNFZGl0TW9kZSgpOiBib29sZWFuIHtcbiAgICBjb25zdCBjb250ZXh0ID0gdGhpcy5jb250ZXh0LnJlc29sdmUoKTtcblxuICAgIGlmIChjb250ZXh0Lm1vZGUgPT09IENvbmZpZ3VyYXRpb25Db250ZXh0TW9kZS5BQ0NPVU5UKSB7XG4gICAgICByZXR1cm4gdHJ1ZTtcbiAgICB9XG5cbiAgICBpZiAoY29udGV4dC5tb2RlID09PSBDb25maWd1cmF0aW9uQ29udGV4dE1vZGUuUVVPVEUpIHtcbiAgICAgIHJldHVybiBjb250ZXh0LnByb3BlcnRpZXMuU3RhdHVzID09PSAnRHJhZnQnO1xuICAgIH1cblxuICAgIHJldHVybiBmYWxzZTtcbiAgfVxuXG4gIHB1YmxpYyB1cGRhdGVBY3RpdmVQcmljZUxpc3QocHJpY2VMaXN0SWQ6IHN0cmluZyk6IHZvaWQge1xuICAgIHRoaXMuY29udGV4dC51cGRhdGUoeyBwcm9wZXJ0aWVzOiB7IFByaWNlTGlzdElkOiBwcmljZUxpc3RJZCB9IH0pO1xuICB9XG5cbiAgcHJpdmF0ZSBwb3B1bGF0ZUFjdGl2ZVByaWNlTGlzdHMkKCk6IHZvaWQge1xuICAgIGNvbnN0IGN0eCA9IHRoaXMuY29udGV4dC5yZXNvbHZlKCk7XG4gICAgY29uc3QgcXVvdGVEcmFmdCA9IHRoaXMucXVvdGVEcmFmdDtcblxuICAgIGlmICghcXVvdGVEcmFmdCkge1xuICAgICAgcmV0dXJuO1xuICAgIH1cblxuICAgIC8vIEluIEFDQ09VTlQgbW9kZSBwb3B1bGF0ZSBwcmljZSBsaXN0cyBmcm9tIHJlbGF0ZWQgYXNzZXRzXG4gICAgaWYgKGN0eC5tb2RlID09PSBDb25maWd1cmF0aW9uQ29udGV4dE1vZGUuQUNDT1VOVCkge1xuICAgICAgLy8gUG9wdWxhdGUgbGlzdCBvZiBwcmljZSBsaXN0c1xuICAgICAgdGhpcy5hc3NldFByaWNlTGlzdHMgPSBxdW90ZURyYWZ0LmN1cnJlbnRTdGF0ZVxuICAgICAgICAubWFwKCh7IHByaWNlTGlzdElkIH0pID0+IHByaWNlTGlzdElkKVxuICAgICAgICAucmVkdWNlPFByaWNlTGlzdFtdPigodHJ1bmssIHByaWNlTGlzdElkKSA9PiB7XG4gICAgICAgICAgaWYgKCFwcmljZUxpc3RJZCB8fCB0cnVuay5zb21lKGl0ZW0gPT4gaXRlbS5pZCA9PT0gcHJpY2VMaXN0SWQpKSB7XG4gICAgICAgICAgICByZXR1cm4gdHJ1bms7XG4gICAgICAgICAgfVxuXG4gICAgICAgICAgcmV0dXJuIFtcbiAgICAgICAgICAgIC4uLnRydW5rLFxuICAgICAgICAgICAgeyBpZDogcHJpY2VMaXN0SWQsIG5hbWU6IHRoaXMuYWxsUHJpY2VMaXN0cy5maW5kKGl0ZW0gPT4gaXRlbS5pZCA9PT0gcHJpY2VMaXN0SWQpPy5uYW1lID8/ICcnIH0sXG4gICAgICAgICAgXTtcbiAgICAgICAgfSwgW10pO1xuICAgIH1cbiAgfVxuXG4gIHByaXZhdGUgZmlsdGVyQnlBY3RpdmVQcmljZUxpc3QobGluZUl0ZW1zOiBMaW5lSXRlbVtdKTogTGluZUl0ZW1bXSB7XG4gICAgY29uc3QgY3R4ID0gdGhpcy5jb250ZXh0LnJlc29sdmUoKTtcblxuICAgIHJldHVybiBsaW5lSXRlbXMuZmlsdGVyKGxpID0+ICFsaS5wcmljZUxpc3RJZCB8fCBsaS5wcmljZUxpc3RJZCA9PT0gY3R4LnByb3BlcnRpZXMuUHJpY2VMaXN0SWQpO1xuICB9XG5cbiAgcHJpdmF0ZSBtYXJrQXNVcGRhdGVkKHF1b3RlOiBRdW90ZURyYWZ0IHwgbnVsbCk6IHZvaWQge1xuICAgIGlmIChxdW90ZT8uY29udGV4dC5wcm9wZXJ0aWVzLm1vZGUgPT09IENvbmZpZ3VyYXRpb25Db250ZXh0TW9kZS5BQ0NPVU5UKSB7XG4gICAgICB0aGlzLmhhc1Vuc2F2ZWRDaGFuZ2VzID0gISFxdW90ZSAmJiAhcXVvdGUuY3VycmVudFN0YXRlLmV2ZXJ5KGxpID0+IGxpLmFjdGlvbkNvZGUgPT09ICdFWElTVCcpO1xuICAgIH0gZWxzZSB7XG4gICAgICB0aGlzLmhhc1Vuc2F2ZWRDaGFuZ2VzID0gIWlzRXF1YWwodGhpcy5pbml0aWFsQ3VycmVudFN0YXRlLCBxdW90ZT8uY3VycmVudFN0YXRlKTtcbiAgICB9XG4gIH1cbn1cbiJdfQ==
|
179
|
+
type: Injectable
|
180
|
+
}], ctorParameters: function () { return [{ type: i1.ContextService }, { type: i2.AccountApiService }, { type: i2.QuoteApiService }]; } });
|
181
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicXVvdGUtZHJhZnQuc2VydmljZS5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uL2xpYnMvc2RrL2NvcmUvc2VydmljZXMvcXVvdGUtZHJhZnQuc2VydmljZS50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQUUsVUFBVSxFQUFFLE1BQU0sZUFBZSxDQUFDO0FBQzNDLE9BQU8sRUFBRSxpQkFBaUIsRUFBRSxlQUFlLEVBQUUsTUFBTSxpQkFBaUIsQ0FBQztBQUNyRSxPQUFPLEVBQXNCLHdCQUF3QixFQUFzQyxNQUFNLGtCQUFrQixDQUFDO0FBQ3BILE9BQU8sRUFBYyxPQUFPLEVBQUUsTUFBTSxRQUFRLENBQUM7QUFDN0MsT0FBTyxFQUFFLGVBQWUsRUFBRSxhQUFhLEVBQUUsSUFBSSxFQUFjLEVBQUUsRUFBRSxHQUFHLEVBQUUsTUFBTSxNQUFNLENBQUM7QUFDakYsT0FBTyxFQUFFLE1BQU0sRUFBRSxHQUFHLEVBQUUsV0FBVyxFQUFFLElBQUksRUFBRSxTQUFTLEVBQUUsSUFBSSxFQUFFLEdBQUcsRUFBRSxNQUFNLGdCQUFnQixDQUFDO0FBQ3RGLE9BQU8sRUFBRSxjQUFjLEVBQUUsTUFBTSxtQkFBbUIsQ0FBQzs7OztBQUduRCxNQUFNLE9BQU8saUJBQWlCO0lBUTVCLElBQVcsY0FBYztRQUN2QixPQUFPLElBQUksQ0FBQyxrQkFBa0IsQ0FBQyxZQUFZLEVBQUUsQ0FBQztJQUNoRCxDQUFDO0lBQ0QsSUFBVyxhQUFhO1FBQ3RCLE9BQU8sSUFBSSxDQUFDLGtCQUFrQixDQUFDLFFBQVEsRUFBRSxDQUFDO0lBQzVDLENBQUM7SUFDRCxJQUFXLGFBQWEsQ0FBQyxLQUFjO1FBQ3JDLElBQUksSUFBSSxDQUFDLGFBQWEsS0FBSyxLQUFLLEVBQUU7WUFDaEMsSUFBSSxDQUFDLGtCQUFrQixDQUFDLElBQUksQ0FBQyxLQUFLLENBQUMsQ0FBQztTQUNyQztJQUNILENBQUM7SUFFRCxJQUFXLGlCQUFpQjtRQUMxQixPQUFPLElBQUksQ0FBQyxrQkFBa0IsQ0FBQztJQUNqQyxDQUFDO0lBQ0QsSUFBVyxpQkFBaUIsQ0FBQyxLQUFjO1FBQ3pDLElBQUksQ0FBQyxrQkFBa0IsR0FBRyxLQUFLLENBQUM7UUFFaEMsSUFBSSxDQUFDLElBQUksQ0FBQyxrQkFBa0IsRUFBRTtZQUM1QixJQUFJLENBQUMsbUJBQW1CLEdBQUcsSUFBSSxDQUFDLFVBQVUsRUFBRSxZQUFZLElBQUksRUFBRSxDQUFDO1NBQ2hFO0lBQ0gsQ0FBQztJQUVELElBQVcsWUFBWTtRQUNyQixPQUFPLElBQUksQ0FBQyxVQUFVLENBQUMsSUFBSSxDQUFDLEdBQUcsQ0FBQyxHQUFHLEVBQUUsQ0FBQyxJQUFJLENBQUMsV0FBVyxDQUFDLENBQUMsQ0FBQztJQUMzRCxDQUFDO0lBQ0QsSUFBVyxXQUFXO1FBQ3BCLE9BQU8sT0FBTyxDQUFDLElBQUksQ0FBQyxVQUFVLENBQUMsS0FBSyxFQUFFLFlBQVksQ0FBQyxNQUFNLENBQUMsQ0FBQztJQUM3RCxDQUFDO0lBRUQsSUFBVyxVQUFVO1FBQ25CLE9BQU8sSUFBSSxDQUFDLFdBQVcsQ0FBQyxJQUFJLENBQUMsR0FBRyxDQUFDLEdBQUcsRUFBRSxDQUFDLElBQUksQ0FBQyxTQUFTLENBQUMsQ0FBQyxDQUFDO0lBQzFELENBQUM7SUFDRCxJQUFXLFNBQVM7UUFDbEIsT0FBTyxPQUFPLENBQUMsSUFBSSxDQUFDLFdBQVcsQ0FBQyxLQUFLLEVBQUUsWUFBWSxDQUFDLE1BQU0sQ0FBQyxDQUFDO0lBQzlELENBQUM7SUFFRCxJQUFXLFdBQVc7UUFDcEIsT0FBTyxJQUFJLENBQUMsV0FBVyxDQUFDLEtBQUssQ0FBQztJQUNoQyxDQUFDO0lBSUQsWUFDVSxPQUF1QixFQUN2QixpQkFBb0MsRUFDcEMsZUFBZ0M7UUFGaEMsWUFBTyxHQUFQLE9BQU8sQ0FBZ0I7UUFDdkIsc0JBQWlCLEdBQWpCLGlCQUFpQixDQUFtQjtRQUNwQyxvQkFBZSxHQUFmLGVBQWUsQ0FBaUI7UUFyRGxDLGVBQVUsR0FBRyxJQUFJLGVBQWUsQ0FBb0IsSUFBSSxDQUFDLENBQUM7UUFDMUQsZ0JBQVcsR0FBRyxJQUFJLGVBQWUsQ0FBNEIsSUFBSSxDQUFDLENBQUM7UUFDbkUsZUFBVSxHQUFHLElBQUksZUFBZSxDQUFVLElBQUksQ0FBQyxDQUFDO1FBQ2hELHVCQUFrQixHQUFHLElBQUksZUFBZSxDQUFVLEtBQUssQ0FBQyxDQUFDO1FBQ3pELHdCQUFtQixHQUFlLEVBQUUsQ0FBQztRQUNyQyx1QkFBa0IsR0FBRyxLQUFLLENBQUM7UUEyQzVCLFdBQU0sR0FBRyxJQUFJLENBQUMsVUFBVSxDQUFDLFlBQVksRUFBRSxDQUFDO1FBTzdDLElBQUksQ0FBQyxrQkFBa0I7YUFDcEIsSUFBSSxDQUNILE1BQU0sQ0FBQyxhQUFhLENBQUMsRUFBRSxDQUFDLGFBQWEsQ0FBQyxFQUN0QyxTQUFTLENBQUMsR0FBRyxFQUFFLENBQUMsSUFBSSxDQUFDLFVBQVUsQ0FBQyxZQUFZLEVBQUUsQ0FBQyxFQUMvQyxJQUFJLENBQUMsQ0FBQyxDQUFDLEVBQ1AsR0FBRyxDQUFDLEtBQUssQ0FBQyxFQUFFLENBQUMsSUFBSSxDQUFDLGFBQWEsQ0FBQyxLQUFLLENBQUMsQ0FBQyxDQUN4QzthQUNBLFNBQVMsRUFBRSxDQUFDO0lBQ2pCLENBQUM7SUFFTSxLQUFLO1FBQ1YsSUFBSSxDQUFDLFVBQVUsQ0FBQyxJQUFJLENBQUMsSUFBSSxDQUFDLENBQUM7UUFDM0IsSUFBSSxDQUFDLFVBQVUsQ0FBQyxJQUFJLENBQUMsSUFBSSxDQUFDLENBQUM7UUFDM0IsSUFBSSxDQUFDLFdBQVcsQ0FBQyxJQUFJLENBQUMsSUFBSSxDQUFDLENBQUM7UUFDNUIsSUFBSSxDQUFDLGFBQWEsR0FBRyxLQUFLLENBQUM7UUFDM0IsSUFBSSxDQUFDLGlCQUFpQixHQUFHLEtBQUssQ0FBQztJQUNqQyxDQUFDO0lBRU0sSUFBSSxDQUFDLFFBQWdCLEVBQUUsTUFBMEI7UUFDdEQsTUFBTSxHQUFHLEdBQUcsSUFBSSxDQUFDLE9BQU8sQ0FBQyxPQUFPLEVBQUUsQ0FBQztRQUNuQyxNQUFNLFNBQVMsR0FBRyxJQUFJLENBQUMsT0FBTyxDQUFDLElBQUksS0FBSyx3QkFBd0IsQ0FBQyxPQUFPLENBQUMsQ0FBQyxDQUFDLFFBQVEsQ0FBQyxDQUFDLENBQUMsR0FBRyxDQUFDLFVBQVUsQ0FBQyxTQUFTLENBQUM7UUFFL0csT0FBTyxHQUFHLENBQ1IsU0FBUyxDQUFDLENBQUMsQ0FBQyxJQUFJLENBQUMsaUJBQWlCLENBQUMsY0FBYyxDQUFDLFNBQVMsRUFBRSxNQUFNLENBQUMsQ0FBQyxDQUFDLENBQUMsRUFBRSxDQUFDLElBQUksQ0FBQyxFQUMvRSxJQUFJLENBQUMsZUFBZSxDQUFDLGFBQWEsQ0FBQyxRQUFRLEVBQUUsTUFBTSxDQUFDLENBQ3JELENBQUMsSUFBSSxDQUNKLEdBQUcsQ0FBQyxDQUFDLENBQUMsTUFBTSxFQUFFLEtBQUssQ0FBQyxFQUFFLEVBQUU7WUFDdEIsSUFBSSxNQUFNLEVBQUU7Z0JBQ1YsSUFBSSxDQUFDLFdBQVcsQ0FBQyxJQUFJLENBQUMsTUFBTSxDQUFDLENBQUM7YUFDL0I7WUFFRCxJQUFJLENBQUMsVUFBVSxDQUFDLElBQUksQ0FBQyxLQUFLLENBQUMsQ0FBQztZQUM1QixJQUFJLENBQUMsT0FBTyxDQUFDLE1BQU0sQ0FBQyxLQUFLLENBQUMsT0FBTyxDQUFDLENBQUM7UUFDckMsQ0FBQyxDQUFDLEVBQ0YsR0FBRyxDQUFDLEdBQUcsRUFBRSxDQUFDLElBQUksRUFBRSxDQUFDLEVBQ2pCLElBQUksQ0FBQyxDQUFDLENBQUMsQ0FDUixDQUFDO0lBQ0osQ0FBQztJQUVNLFlBQVk7UUFDakIsSUFBSSxDQUFDLGFBQWEsR0FBRyxJQUFJLENBQUM7UUFDMUIsSUFBSSxDQUFDLGlCQUFpQixHQUFHLEtBQUssQ0FBQztJQUNqQyxDQUFDO0lBRU0sdUJBQXVCLENBQUMsU0FBcUI7UUFDbEQsTUFBTSxVQUFVLEdBQUcsSUFBSSxDQUFDLFVBQVUsQ0FBQyxLQUFLLENBQUM7UUFFekMsSUFBSSxDQUFDLFVBQVUsRUFBRTtZQUNmLE9BQU87U0FDUjtRQUVELElBQUksQ0FBQyxVQUFVLENBQUMsSUFBSSxDQUFDO1lBQ25CLEdBQUcsVUFBVTtZQUNiLFlBQVksRUFBRSxTQUFTO1NBQ3hCLENBQUMsQ0FBQztJQUNMLENBQUM7SUFFTSxnQkFBZ0IsQ0FBQyxNQUEyQjtRQUNqRCxNQUFNLFVBQVUsR0FBRyxJQUFJLENBQUMsVUFBVSxDQUFDLEtBQUssQ0FBQztRQUV6QyxJQUFJLENBQUMsVUFBVSxFQUFFO1lBQ2YsT0FBTztTQUNSO1FBRUQsSUFBSSxNQUFNLENBQUMsT0FBTyxFQUFFO1lBQ2xCLElBQUksQ0FBQyxPQUFPLENBQUMsR0FBRyxDQUFDLE1BQU0sQ0FBQyxPQUFPLENBQUMsQ0FBQztTQUNsQztRQUVELElBQUksQ0FBQyxVQUFVLENBQUMsSUFBSSxDQUFDO1lBQ25CLEdBQUcsVUFBVTtZQUNiLEdBQUcsTUFBTTtTQUNWLENBQUMsQ0FBQztJQUNMLENBQUM7SUFFTSxvQkFBb0IsQ0FBQyxZQUEwQjtRQUNwRCxNQUFNLFVBQVUsR0FBRyxJQUFJLENBQUMsVUFBVSxDQUFDLEtBQUssQ0FBQztRQUV6QyxJQUFJLENBQUMsVUFBVSxFQUFFO1lBQ2YsT0FBTztTQUNSO1FBRUQsTUFBTSxtQkFBbUIsR0FBRyxJQUFJLENBQUMsWUFBWSxDQUFDLEdBQUcsQ0FBQyxRQUFRLENBQUMsRUFBRTtZQUMzRCxNQUFNLE9BQU8sR0FBRyxZQUFZLENBQUMsU0FBUyxDQUFDLElBQUksQ0FBQyxFQUFFLENBQUMsRUFBRSxDQUFDLEVBQUUsQ0FBQyxFQUFFLEtBQUssUUFBUSxDQUFDLEVBQUUsQ0FBQyxDQUFDO1lBQ3pFLE9BQU8sT0FBTyxJQUFJLFFBQVEsQ0FBQztRQUM3QixDQUFDLENBQUMsQ0FBQztRQUVILElBQUksQ0FBQyxVQUFVLENBQUMsSUFBSSxDQUFDO1lBQ25CLEdBQUcsVUFBVTtZQUNiLFlBQVksRUFBRSxtQkFBbUI7WUFDakMsV0FBVyxFQUFFLFlBQVksQ0FBQyxXQUFXO1lBQ3JDLGFBQWEsRUFBRSxZQUFZLENBQUMsYUFBYTtTQUMxQyxDQUFDLENBQUM7SUFDTCxDQUFDO0lBRU0sY0FBYyxDQUFDLFdBQStCO1FBQ25ELElBQUksQ0FBQyxXQUFXLENBQUMsSUFBSSxDQUFDLFdBQVcsQ0FBQyxDQUFDO0lBQ3JDLENBQUM7SUFFRCxJQUFXLFdBQVc7UUFDcEIsT0FBTyxhQUFhLENBQUMsQ0FBQyxJQUFJLENBQUMsVUFBVSxFQUFFLElBQUksQ0FBQyxPQUFPLENBQUMsUUFBUSxFQUFFLENBQUMsQ0FBQyxDQUFDLElBQUksQ0FDbkUsR0FBRyxDQUFDLEdBQUcsRUFBRSxDQUFDLElBQUksQ0FBQyxVQUFVLENBQUMsRUFDMUIsTUFBTSxDQUFDLENBQUMsS0FBSyxFQUF1QixFQUFFLENBQUMsT0FBTyxDQUFDLEtBQUssQ0FBQyxDQUFDLEVBQ3RELFdBQVcsRUFBRSxDQUNkLENBQUM7SUFDSixDQUFDO0lBRUQsSUFBVyxVQUFVO1FBQ25CLE1BQU0sS0FBSyxHQUFHLElBQUksQ0FBQyxVQUFVLENBQUMsS0FBSyxDQUFDO1FBRXBDLElBQUksQ0FBQyxLQUFLLEVBQUU7WUFDVixPQUFPLElBQUksQ0FBQztTQUNiO1FBRUQsT0FBTztZQUNMLEdBQUcsS0FBSztZQUNSLE9BQU8sRUFBRSxJQUFJLENBQUMsT0FBTyxDQUFDLE9BQU8sRUFBRTtTQUNoQyxDQUFDO0lBQ0osQ0FBQztJQUVELElBQVcsYUFBYTtRQUN0QixPQUFPLElBQUksQ0FBQyxXQUFXLENBQUMsSUFBSSxDQUFDLEdBQUcsQ0FBQyxLQUFLLENBQUMsRUFBRSxDQUFDLEtBQUssQ0FBQyxZQUFZLENBQUMsQ0FBQyxDQUFDO0lBQ2pFLENBQUM7SUFFRCxJQUFXLFlBQVk7UUFDckIsT0FBTyxJQUFJLENBQUMsVUFBVSxFQUFFLFlBQVksSUFBSSxFQUFFLENBQUM7SUFDN0MsQ0FBQztJQUVELElBQVcsWUFBWTtRQUNyQixPQUFPLElBQUksQ0FBQyxPQUFPLENBQUMsT0FBTyxFQUFFLENBQUMsVUFBVSxDQUFDLFVBQVUsS0FBSyxNQUFNLENBQUM7SUFDakUsQ0FBQztJQUVELElBQVcsYUFBYTtRQUN0QixPQUFPLElBQUksQ0FBQyxPQUFPLENBQUMsUUFBUSxFQUFFLENBQUMsSUFBSSxDQUFDLEdBQUcsQ0FBQyxHQUFHLEVBQUUsQ0FBQyxJQUFJLENBQUMsWUFBWSxDQUFDLENBQUMsQ0FBQztJQUNwRSxDQUFDO0lBRU0sc0JBQXNCO1FBQzNCLE9BQU8sSUFBSSxDQUFDLG1CQUFtQixDQUFDO0lBQ2xDLENBQUM7SUFFTSxXQUFXO1FBQ2hCLE9BQU8sSUFBSSxDQUFDLE9BQU8sQ0FBQyxRQUFRLEVBQUUsQ0FBQyxJQUFJLENBQUMsR0FBRyxDQUFDLEdBQUcsRUFBRSxDQUFDLElBQUksQ0FBQyxVQUFVLEVBQUUsQ0FBQyxDQUFDLENBQUM7SUFDcEUsQ0FBQztJQUVNLFVBQVU7UUFDZixNQUFNLE9BQU8sR0FBRyxJQUFJLENBQUMsT0FBTyxDQUFDLE9BQU8sRUFBRSxDQUFDO1FBRXZDLElBQUksT0FBTyxDQUFDLElBQUksS0FBSyx3QkFBd0IsQ0FBQyxPQUFPLEVBQUU7WUFDckQsT0FBTyxJQUFJLENBQUM7U0FDYjtRQUVELElBQUksT0FBTyxDQUFDLElBQUksS0FBSyx3QkFBd0IsQ0FBQyxLQUFLLEVBQUU7WUFDbkQsT0FBTyxPQUFPLENBQUMsVUFBVSxDQUFDLE1BQU0sS0FBSyxPQUFPLENBQUM7U0FDOUM7UUFFRCxPQUFPLEtBQUssQ0FBQztJQUNmLENBQUM7SUFFTyxhQUFhLENBQUMsS0FBd0I7UUFDNUMsSUFBSSxLQUFLLEVBQUUsT0FBTyxDQUFDLFVBQVUsQ0FBQyxPQUFPLENBQUMsS0FBSyx3QkFBd0IsQ0FBQyxPQUFPLEVBQUU7WUFDM0UsSUFBSSxDQUFDLGlCQUFpQixHQUFHLENBQUMsQ0FBQyxLQUFLLElBQUksQ0FBQyxLQUFLLENBQUMsWUFBWSxDQUFDLEtBQUssQ0FBQyxFQUFFLENBQUMsRUFBRSxDQUFDLEVBQUUsQ0FBQyxVQUFVLEtBQUssT0FBTyxDQUFDLENBQUM7U0FDaEc7YUFBTTtZQUNMLElBQUksQ0FBQyxpQkFBaUIsR0FBRyxDQUFDLE9BQU8sQ0FBQyxJQUFJLENBQUMsbUJBQW1CLEVBQUUsS0FBSyxFQUFFLFlBQVksQ0FBQyxDQUFDO1NBQ2xGO0lBQ0gsQ0FBQzs7OEdBM05VLGlCQUFpQjtrSEFBakIsaUJBQWlCOzJGQUFqQixpQkFBaUI7a0JBRDdCLFVBQVUiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBJbmplY3RhYmxlIH0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XG5pbXBvcnQgeyBBY2NvdW50QXBpU2VydmljZSwgUXVvdGVBcGlTZXJ2aWNlIH0gZnJvbSAnQHZlbG9jZWFwcHMvYXBpJztcbmltcG9ydCB7IEFjY291bnRBc3NldHNTdGF0ZSwgQ29uZmlndXJhdGlvbkNvbnRleHRNb2RlLCBMaW5lSXRlbSwgUHJpY2VTdW1tYXJ5LCBRdW90ZURyYWZ0IH0gZnJvbSAnQHZlbG9jZWFwcHMvY29yZSc7XG5pbXBvcnQgeyBEaWN0aW9uYXJ5LCBpc0VxdWFsIH0gZnJvbSAnbG9kYXNoJztcbmltcG9ydCB7IEJlaGF2aW9yU3ViamVjdCwgY29tYmluZUxhdGVzdCwgbm9vcCwgT2JzZXJ2YWJsZSwgb2YsIHppcCB9IGZyb20gJ3J4anMnO1xuaW1wb3J0IHsgZmlsdGVyLCBtYXAsIHNoYXJlUmVwbGF5LCBza2lwLCBzd2l0Y2hNYXAsIHRha2UsIHRhcCB9IGZyb20gJ3J4anMvb3BlcmF0b3JzJztcbmltcG9ydCB7IENvbnRleHRTZXJ2aWNlIH0gZnJvbSAnLi9jb250ZXh0LnNlcnZpY2UnO1xuXG5ASW5qZWN0YWJsZSgpXG5leHBvcnQgY2xhc3MgUXVvdGVEcmFmdFNlcnZpY2Uge1xuICBwcml2YXRlIHF1b3RlU3ViaiQgPSBuZXcgQmVoYXZpb3JTdWJqZWN0PFF1b3RlRHJhZnQgfCBudWxsPihudWxsKTtcbiAgcHJpdmF0ZSBhc3NldHNTdWJqJCA9IG5ldyBCZWhhdmlvclN1YmplY3Q8QWNjb3VudEFzc2V0c1N0YXRlIHwgbnVsbD4obnVsbCk7XG4gIHByaXZhdGUgcmVzZXRTdWJqJCA9IG5ldyBCZWhhdmlvclN1YmplY3Q8Ym9vbGVhbj4odHJ1ZSk7XG4gIHByaXZhdGUgaXNJbml0aWFsaXplZFN1YmokID0gbmV3IEJlaGF2aW9yU3ViamVjdDxib29sZWFuPihmYWxzZSk7XG4gIHByaXZhdGUgaW5pdGlhbEN1cnJlbnRTdGF0ZTogTGluZUl0ZW1bXSA9IFtdO1xuICBwcml2YXRlIF9oYXNVbnNhdmVkQ2hhbmdlcyA9IGZhbHNlO1xuXG4gIHB1YmxpYyBnZXQgaXNJbml0aWFsaXplZCQoKTogT2JzZXJ2YWJsZTxib29sZWFuPiB7XG4gICAgcmV0dXJuIHRoaXMuaXNJbml0aWFsaXplZFN1YmokLmFzT2JzZXJ2YWJsZSgpO1xuICB9XG4gIHB1YmxpYyBnZXQgaXNJbml0aWFsaXplZCgpOiBib29sZWFuIHtcbiAgICByZXR1cm4gdGhpcy5pc0luaXRpYWxpemVkU3ViaiQuZ2V0VmFsdWUoKTtcbiAgfVxuICBwdWJsaWMgc2V0IGlzSW5pdGlhbGl6ZWQodmFsdWU6IGJvb2xlYW4pIHtcbiAgICBpZiAodGhpcy5pc0luaXRpYWxpemVkICE9PSB2YWx1ZSkge1xuICAgICAgdGhpcy5pc0luaXRpYWxpemVkU3ViaiQubmV4dCh2YWx1ZSk7XG4gICAgfVxuICB9XG5cbiAgcHVibGljIGdldCBoYXNVbnNhdmVkQ2hhbmdlcygpOiBib29sZWFuIHtcbiAgICByZXR1cm4gdGhpcy5faGFzVW5zYXZlZENoYW5nZXM7XG4gIH1cbiAgcHVibGljIHNldCBoYXNVbnNhdmVkQ2hhbmdlcyh2YWx1ZTogYm9vbGVhbikge1xuICAgIHRoaXMuX2hhc1Vuc2F2ZWRDaGFuZ2VzID0gdmFsdWU7XG5cbiAgICBpZiAoIXRoaXMuX2hhc1Vuc2F2ZWRDaGFuZ2VzKSB7XG4gICAgICB0aGlzLmluaXRpYWxDdXJyZW50U3RhdGUgPSB0aGlzLnF1b3RlRHJhZnQ/LmN1cnJlbnRTdGF0ZSA/PyBbXTtcbiAgICB9XG4gIH1cblxuICBwdWJsaWMgZ2V0IGhhc1Byb2R1Y3RzJCgpOiBPYnNlcnZhYmxlPGJvb2xlYW4+IHtcbiAgICByZXR1cm4gdGhpcy5xdW90ZVN1YmokLnBpcGUobWFwKCgpID0+IHRoaXMuaGFzUHJvZHVjdHMpKTtcbiAgfVxuICBwdWJsaWMgZ2V0IGhhc1Byb2R1Y3RzKCk6IGJvb2xlYW4ge1xuICAgIHJldHVybiBCb29sZWFuKHRoaXMucXVvdGVTdWJqJC52YWx1ZT8uY3VycmVudFN0YXRlLmxlbmd0aCk7XG4gIH1cblxuICBwdWJsaWMgZ2V0IGhhc0Fzc2V0cyQoKTogT2JzZXJ2YWJsZTxib29sZWFuPiB7XG4gICAgcmV0dXJuIHRoaXMuYXNzZXRzU3ViaiQucGlwZShtYXAoKCkgPT4gdGhpcy5oYXNBc3NldHMpKTtcbiAgfVxuICBwdWJsaWMgZ2V0IGhhc0Fzc2V0cygpOiBib29sZWFuIHtcbiAgICByZXR1cm4gQm9vbGVhbih0aGlzLmFzc2V0c1N1YmokLnZhbHVlPy5jdXJyZW50U3RhdGUubGVuZ3RoKTtcbiAgfVxuXG4gIHB1YmxpYyBnZXQgYXNzZXRzU3RhdGUoKTogQWNjb3VudEFzc2V0c1N0YXRlIHwgbnVsbCB7XG4gICAgcmV0dXJuIHRoaXMuYXNzZXRzU3ViaiQudmFsdWU7XG4gIH1cblxuICBwdWJsaWMgcmVzZXQkID0gdGhpcy5yZXNldFN1YmokLmFzT2JzZXJ2YWJsZSgpO1xuXG4gIGNvbnN0cnVjdG9yKFxuICAgIHByaXZhdGUgY29udGV4dDogQ29udGV4dFNlcnZpY2UsXG4gICAgcHJpdmF0ZSBhY2NvdW50QXBpU2VydmljZTogQWNjb3VudEFwaVNlcnZpY2UsXG4gICAgcHJpdmF0ZSBxdW90ZUFwaVNlcnZpY2U6IFF1b3RlQXBpU2VydmljZSxcbiAgKSB7XG4gICAgdGhpcy5pc0luaXRpYWxpemVkU3ViaiRcbiAgICAgIC5waXBlKFxuICAgICAgICBmaWx0ZXIoaXNJbml0aWFsaXplZCA9PiBpc0luaXRpYWxpemVkKSxcbiAgICAgICAgc3dpdGNoTWFwKCgpID0+IHRoaXMucXVvdGVTdWJqJC5hc09ic2VydmFibGUoKSksXG4gICAgICAgIHNraXAoMSksXG4gICAgICAgIHRhcChxdW90ZSA9PiB0aGlzLm1hcmtBc1VwZGF0ZWQocXVvdGUpKSxcbiAgICAgIClcbiAgICAgIC5zdWJzY3JpYmUoKTtcbiAgfVxuXG4gIHB1YmxpYyByZXNldCgpOiB2b2lkIHtcbiAgICB0aGlzLnJlc2V0U3ViaiQubmV4dCh0cnVlKTtcbiAgICB0aGlzLnF1b3RlU3ViaiQubmV4dChudWxsKTtcbiAgICB0aGlzLmFzc2V0c1N1YmokLm5leHQobnVsbCk7XG4gICAgdGhpcy5pc0luaXRpYWxpemVkID0gZmFsc2U7XG4gICAgdGhpcy5oYXNVbnNhdmVkQ2hhbmdlcyA9IGZhbHNlO1xuICB9XG5cbiAgcHVibGljIGluaXQoaGVhZGVySWQ6IHN0cmluZywgcGFyYW1zOiBEaWN0aW9uYXJ5PHN0cmluZz4pOiBPYnNlcnZhYmxlPHZvaWQ+IHtcbiAgICBjb25zdCBjdHggPSB0aGlzLmNvbnRleHQucmVzb2x2ZSgpO1xuICAgIGNvbnN0IGFjY291bnRJZCA9IHRoaXMuY29udGV4dC5tb2RlID09PSBDb25maWd1cmF0aW9uQ29udGV4dE1vZGUuQUNDT1VOVCA/IGhlYWRlcklkIDogY3R4LnByb3BlcnRpZXMuQWNjb3VudElkO1xuXG4gICAgcmV0dXJuIHppcChcbiAgICAgIGFjY291bnRJZCA/IHRoaXMuYWNjb3VudEFwaVNlcnZpY2UuZ2V0QXNzZXRzU3RhdGUoYWNjb3VudElkLCBwYXJhbXMpIDogb2YobnVsbCksXG4gICAgICB0aGlzLnF1b3RlQXBpU2VydmljZS5nZXRRdW90ZVN0YXRlKGhlYWRlcklkLCBwYXJhbXMpLFxuICAgICkucGlwZShcbiAgICAgIHRhcCgoW2Fzc2V0cywgcXVvdGVdKSA9PiB7XG4gICAgICAgIGlmIChhc3NldHMpIHtcbiAgICAgICAgICB0aGlzLmFzc2V0c1N1YmokLm5leHQoYXNzZXRzKTtcbiAgICAgICAgfVxuXG4gICAgICAgIHRoaXMucXVvdGVTdWJqJC5uZXh0KHF1b3RlKTtcbiAgICAgICAgdGhpcy5jb250ZXh0LnVwZGF0ZShxdW90ZS5jb250ZXh0KTtcbiAgICAgIH0pLFxuICAgICAgbWFwKCgpID0+IG5vb3AoKSksXG4gICAgICB0YWtlKDEpLFxuICAgICk7XG4gIH1cblxuICBwdWJsaWMgZmluYWxpemVJbml0KCk6IHZvaWQge1xuICAgIHRoaXMuaXNJbml0aWFsaXplZCA9IHRydWU7XG4gICAgdGhpcy5oYXNVbnNhdmVkQ2hhbmdlcyA9IGZhbHNlO1xuICB9XG5cbiAgcHVibGljIHNldEN1cnJlbnRMaW5lSXRlbVN0YXRlKGxpbmVJdGVtczogTGluZUl0ZW1bXSk6IHZvaWQge1xuICAgIGNvbnN0IHF1b3RlRHJhZnQgPSB0aGlzLnF1b3RlU3ViaiQudmFsdWU7XG5cbiAgICBpZiAoIXF1b3RlRHJhZnQpIHtcbiAgICAgIHJldHVybjtcbiAgICB9XG5cbiAgICB0aGlzLnF1b3RlU3ViaiQubmV4dCh7XG4gICAgICAuLi5xdW90ZURyYWZ0LFxuICAgICAgY3VycmVudFN0YXRlOiBsaW5lSXRlbXMsXG4gICAgfSk7XG4gIH1cblxuICBwdWJsaWMgdXBkYXRlUXVvdGVEcmFmdCh1cGRhdGU6IFBhcnRpYWw8UXVvdGVEcmFmdD4pOiB2b2lkIHtcbiAgICBjb25zdCBxdW90ZURyYWZ0ID0gdGhpcy5xdW90ZVN1YmokLnZhbHVlO1xuXG4gICAgaWYgKCFxdW90ZURyYWZ0KSB7XG4gICAgICByZXR1cm47XG4gICAgfVxuXG4gICAgaWYgKHVwZGF0ZS5jb250ZXh0KSB7XG4gICAgICB0aGlzLmNvbnRleHQuc2V0KHVwZGF0ZS5jb250ZXh0KTtcbiAgICB9XG5cbiAgICB0aGlzLnF1b3RlU3ViaiQubmV4dCh7XG4gICAgICAuLi5xdW90ZURyYWZ0LFxuICAgICAgLi4udXBkYXRlLFxuICAgIH0pO1xuICB9XG5cbiAgcHVibGljIHVwZGF0ZUJ5UHJpY2VTdW1tYXJ5KHByaWNlU3VtbWFyeTogUHJpY2VTdW1tYXJ5KTogdm9pZCB7XG4gICAgY29uc3QgcXVvdGVEcmFmdCA9IHRoaXMucXVvdGVTdWJqJC52YWx1ZTtcblxuICAgIGlmICghcXVvdGVEcmFmdCkge1xuICAgICAgcmV0dXJuO1xuICAgIH1cblxuICAgIGNvbnN0IHVwZGF0ZWRDdXJyZW50U3RhdGUgPSB0aGlzLmN1cnJlbnRTdGF0ZS5tYXAobGluZUl0ZW0gPT4ge1xuICAgICAgY29uc3QgdXBkYXRlZCA9IHByaWNlU3VtbWFyeS5saW5lSXRlbXMuZmluZChsaSA9PiBsaS5pZCA9PT0gbGluZUl0ZW0uaWQpO1xuICAgICAgcmV0dXJuIHVwZGF0ZWQgPz8gbGluZUl0ZW07XG4gICAgfSk7XG5cbiAgICB0aGlzLnF1b3RlU3ViaiQubmV4dCh7XG4gICAgICAuLi5xdW90ZURyYWZ0LFxuICAgICAgY3VycmVudFN0YXRlOiB1cGRhdGVkQ3VycmVudFN0YXRlLFxuICAgICAgdG90YWxQcmljZXM6IHByaWNlU3VtbWFyeS50b3RhbFByaWNlcyxcbiAgICAgIGFwcHJvdmFsSXRlbXM6IHByaWNlU3VtbWFyeS5hcHByb3ZhbEl0ZW1zLFxuICAgIH0pO1xuICB9XG5cbiAgcHVibGljIHNldEFzc2V0c1N0YXRlKGFzc2V0c1N0YXRlOiBBY2NvdW50QXNzZXRzU3RhdGUpOiB2b2lkIHtcbiAgICB0aGlzLmFzc2V0c1N1YmokLm5leHQoYXNzZXRzU3RhdGUpO1xuICB9XG5cbiAgcHVibGljIGdldCBxdW90ZURyYWZ0JCgpOiBPYnNlcnZhYmxlPFF1b3RlRHJhZnQ+IHtcbiAgICByZXR1cm4gY29tYmluZUxhdGVzdChbdGhpcy5xdW90ZVN1YmokLCB0aGlzLmNvbnRleHQucmVzb2x2ZSQoKV0pLnBpcGUoXG4gICAgICBtYXAoKCkgPT4gdGhpcy5xdW90ZURyYWZ0KSxcbiAgICAgIGZpbHRlcigocXVvdGUpOiBxdW90ZSBpcyBRdW90ZURyYWZ0ID0+IEJvb2xlYW4ocXVvdGUpKSxcbiAgICAgIHNoYXJlUmVwbGF5KCksXG4gICAgKTtcbiAgfVxuXG4gIHB1YmxpYyBnZXQgcXVvdGVEcmFmdCgpOiBRdW90ZURyYWZ0IHwgbnVsbCB7XG4gICAgY29uc3QgcXVvdGUgPSB0aGlzLnF1b3RlU3ViaiQudmFsdWU7XG5cbiAgICBpZiAoIXF1b3RlKSB7XG4gICAgICByZXR1cm4gbnVsbDtcbiAgICB9XG5cbiAgICByZXR1cm4ge1xuICAgICAgLi4ucXVvdGUsXG4gICAgICBjb250ZXh0OiB0aGlzLmNvbnRleHQucmVzb2x2ZSgpLFxuICAgIH07XG4gIH1cblxuICBwdWJsaWMgZ2V0IGN1cnJlbnRTdGF0ZSQoKTogT2JzZXJ2YWJsZTxMaW5lSXRlbVtdPiB7XG4gICAgcmV0dXJuIHRoaXMucXVvdGVEcmFmdCQucGlwZShtYXAocXVvdGUgPT4gcXVvdGUuY3VycmVudFN0YXRlKSk7XG4gIH1cblxuICBwdWJsaWMgZ2V0IGN1cnJlbnRTdGF0ZSgpOiBMaW5lSXRlbVtdIHtcbiAgICByZXR1cm4gdGhpcy5xdW90ZURyYWZ0Py5jdXJyZW50U3RhdGUgPz8gW107XG4gIH1cblxuICBwdWJsaWMgZ2V0IGlzU3RhbmRhbG9uZSgpOiBib29sZWFuIHtcbiAgICByZXR1cm4gdGhpcy5jb250ZXh0LnJlc29sdmUoKS5wcm9wZXJ0aWVzLnN0YW5kYWxvbmUgPT09ICd0cnVlJztcbiAgfVxuXG4gIHB1YmxpYyBnZXQgaXNTdGFuZGFsb25lJCgpOiBPYnNlcnZhYmxlPGJvb2xlYW4+IHtcbiAgICByZXR1cm4gdGhpcy5jb250ZXh0LnJlc29sdmUkKCkucGlwZShtYXAoKCkgPT4gdGhpcy5pc1N0YW5kYWxvbmUpKTtcbiAgfVxuXG4gIHB1YmxpYyBnZXRJbml0aWFsQ3VycmVudFN0YXRlKCk6IExpbmVJdGVtW10ge1xuICAgIHJldHVybiB0aGlzLmluaXRpYWxDdXJyZW50U3RhdGU7XG4gIH1cblxuICBwdWJsaWMgaXNFZGl0TW9kZSQoKTogT2JzZXJ2YWJsZTxib29sZWFuPiB7XG4gICAgcmV0dXJuIHRoaXMuY29udGV4dC5yZXNvbHZlJCgpLnBpcGUobWFwKCgpID0+IHRoaXMuaXNFZGl0TW9kZSgpKSk7XG4gIH1cblxuICBwdWJsaWMgaXNFZGl0TW9kZSgpOiBib29sZWFuIHtcbiAgICBjb25zdCBjb250ZXh0ID0gdGhpcy5jb250ZXh0LnJlc29sdmUoKTtcblxuICAgIGlmIChjb250ZXh0Lm1vZGUgPT09IENvbmZpZ3VyYXRpb25Db250ZXh0TW9kZS5BQ0NPVU5UKSB7XG4gICAgICByZXR1cm4gdHJ1ZTtcbiAgICB9XG5cbiAgICBpZiAoY29udGV4dC5tb2RlID09PSBDb25maWd1cmF0aW9uQ29udGV4dE1vZGUuUVVPVEUpIHtcbiAgICAgIHJldHVybiBjb250ZXh0LnByb3BlcnRpZXMuU3RhdHVzID09PSAnRHJhZnQnO1xuICAgIH1cblxuICAgIHJldHVybiBmYWxzZTtcbiAgfVxuXG4gIHByaXZhdGUgbWFya0FzVXBkYXRlZChxdW90ZTogUXVvdGVEcmFmdCB8IG51bGwpOiB2b2lkIHtcbiAgICBpZiAocXVvdGU/LmNvbnRleHQucHJvcGVydGllc1snI21vZGUnXSA9PT0gQ29uZmlndXJhdGlvbkNvbnRleHRNb2RlLkFDQ09VTlQpIHtcbiAgICAgIHRoaXMuaGFzVW5zYXZlZENoYW5nZXMgPSAhIXF1b3RlICYmICFxdW90ZS5jdXJyZW50U3RhdGUuZXZlcnkobGkgPT4gbGkuYWN0aW9uQ29kZSA9PT0gJ0VYSVNUJyk7XG4gICAgfSBlbHNlIHtcbiAgICAgIHRoaXMuaGFzVW5zYXZlZENoYW5nZXMgPSAhaXNFcXVhbCh0aGlzLmluaXRpYWxDdXJyZW50U3RhdGUsIHF1b3RlPy5jdXJyZW50U3RhdGUpO1xuICAgIH1cbiAgfVxufVxuIl19
|
@@ -1,6 +1,6 @@
|
|
1
1
|
import { Injectable } from '@angular/core';
|
2
2
|
import { ConfigurationSettingsApiService } from '@veloceapps/api';
|
3
|
-
import { DEFAULT_CURRENCY_ISO_CODE, DEFAULT_CURRENCY_SYMBOL, DEFAULT_DATE_FORMAT, DEFAULT_DECIMALS_COUNT, DEFAULT_DECIMAL_SEPARATOR, DEFAULT_THOUSANDS_SEPARATOR, getSupportedDateFormats, parseJsonSafely, validateDateFormat,
|
3
|
+
import { DEFAULT_ACTION_CODE_LABELS, DEFAULT_CURRENCY_ISO_CODE, DEFAULT_CURRENCY_SYMBOL, DEFAULT_DATE_FORMAT, DEFAULT_DECIMALS_COUNT, DEFAULT_DECIMAL_SEPARATOR, DEFAULT_THOUSANDS_SEPARATOR, getSupportedDateFormats, parseJsonSafely, validateDateFormat, } from '@veloceapps/core';
|
4
4
|
import { uniqBy } from 'lodash';
|
5
5
|
import { BehaviorSubject, map, tap } from 'rxjs';
|
6
6
|
import * as i0 from "@angular/core";
|
@@ -32,6 +32,9 @@ export class RuntimeSettingsService {
|
|
32
32
|
if (iso) {
|
33
33
|
const symbol = this.getCurrencySymbol('en-US', iso);
|
34
34
|
this.currencySettings$.next({ iso, symbol });
|
35
|
+
if (this.formattingSettings) {
|
36
|
+
this.formattingSettings.currencySymbol = symbol;
|
37
|
+
}
|
35
38
|
}
|
36
39
|
}
|
37
40
|
getFormattingSettings() {
|
@@ -102,9 +105,8 @@ export class RuntimeSettingsService {
|
|
102
105
|
}
|
103
106
|
}
|
104
107
|
RuntimeSettingsService.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "15.2.9", ngImport: i0, type: RuntimeSettingsService, deps: [{ token: i1.ConfigurationSettingsApiService }], target: i0.ɵɵFactoryTarget.Injectable });
|
105
|
-
RuntimeSettingsService.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "15.2.9", ngImport: i0, type: RuntimeSettingsService
|
108
|
+
RuntimeSettingsService.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "15.2.9", ngImport: i0, type: RuntimeSettingsService });
|
106
109
|
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "15.2.9", ngImport: i0, type: RuntimeSettingsService, decorators: [{
|
107
|
-
type: Injectable
|
108
|
-
args: [{ providedIn: 'root' }]
|
110
|
+
type: Injectable
|
109
111
|
}], ctorParameters: function () { return [{ type: i1.ConfigurationSettingsApiService }]; } });
|
110
|
-
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicnVudGltZS1zZXR0aW5ncy5zZXJ2aWNlLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vbGlicy9zZGsvY29yZS9zZXJ2aWNlcy9ydW50aW1lLXNldHRpbmdzLnNlcnZpY2UudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFFLFVBQVUsRUFBRSxNQUFNLGVBQWUsQ0FBQztBQUMzQyxPQUFPLEVBQUUsK0JBQStCLEVBQUUsTUFBTSxpQkFBaUIsQ0FBQztBQUNsRSxPQUFPLEVBRUwseUJBQXlCLEVBQ3pCLHVCQUF1QixFQUN2QixtQkFBbUIsRUFDbkIsc0JBQXNCLEVBQ3RCLHlCQUF5QixFQUN6QiwyQkFBMkIsRUFNM0IsdUJBQXVCLEVBQ3ZCLGVBQWUsRUFDZixrQkFBa0IsRUFDbEIsMEJBQTBCLEdBQzNCLE1BQU0sa0JBQWtCLENBQUM7QUFDMUIsT0FBTyxFQUFjLE1BQU0sRUFBRSxNQUFNLFFBQVEsQ0FBQztBQUM1QyxPQUFPLEVBQUUsZUFBZSxFQUFjLEdBQUcsRUFBRSxHQUFHLEVBQUUsTUFBTSxNQUFNLENBQUM7OztBQUk3RCxNQUFNLE9BQU8sc0JBQXNCO0lBU2pDLFlBQW9CLCtCQUFnRTtRQUFoRSxvQ0FBK0IsR0FBL0IsK0JBQStCLENBQWlDO1FBUjVFLDJCQUFzQixHQUFHLElBQUksZUFBZSxDQUErQixFQUFFLENBQUMsQ0FBQztRQUMvRSxzQkFBaUIsR0FBRyxJQUFJLGVBQWUsQ0FBMEI7WUFDdkUsR0FBRyxFQUFFLHlCQUF5QjtZQUM5QixNQUFNLEVBQUUsdUJBQXVCO1NBQ2hDLENBQUMsQ0FBQztRQUVLLDBCQUFxQixHQUFHLElBQUksZUFBZSxDQUF3QixFQUFFLENBQUMsQ0FBQztRQW9HdkUsc0JBQWlCLEdBQUcsQ0FBQyxNQUFjLEVBQUUsUUFBZ0IsRUFBRSxFQUFFO1lBQy9ELE9BQU8sQ0FBQyxDQUFDLENBQUM7aUJBQ1AsY0FBYyxDQUFDLE1BQU0sRUFBRSxFQUFFLEtBQUss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QUFLLEVBQUUsRUFBRSxDQUFDLENBQUM7b0JBQ2pGLE1BQU07Z0JBQ1IsS0FBSyxZQUFZO29CQUNmLEdBQUcsQ0FBQyxVQUFVLEdBQUcsZUFBZSxDQUFzQixPQUFPLENBQUMsS0FBSyxFQUFFLEVBQUUsQ0FBQyxDQUFDO29CQUN6RSxNQUFNO2dCQUNSLEtBQUssT0FBTztvQkFDVixHQUFHLENBQUMsS0FBSyxHQUFHLGVBQWUsQ0FBUyxPQUFPLENBQUMsS0FBSyxFQUFFLEVBQUUsQ0FBQyxDQUFDO29CQUN2RCxNQUFNO2dCQUNSO29CQUNFLEdBQUcsQ0FBQyxPQUFPLENBQUMsR0FBRyxDQUFDLEdBQUcsT0FBTyxDQUFDLEtBQUssQ0FBQzthQUNwQztZQUVELE9BQU8sR0FBRyxDQUFDO1FBQ2IsQ0FBQyxFQUFFLEVBQUUsQ0FBQyxDQUFDO0lBQ1QsQ0FBQztJQVNNLHVCQUF1QixDQUFDLFFBQStCO1FBQzVELDhDQUE4QztRQUM5QyxNQUFNLFdBQVcsR0FBRyxNQUFNLENBQUMsQ0FBQyxHQUFHLFFBQVEsRUFBRSxHQUFHLElBQUksQ0FBQyxxQkFBcUIsQ0FBQyxLQUFLLENBQUMsRUFBRSxJQUFJLENBQUMsQ0FBQztRQUNyRixJQUFJLENBQUMscUJBQXFCLENBQUMsSUFBSSxDQUFDLFdBQVcsQ0FBQyxDQUFDO0lBQy9DLENBQUM7O21IQXRIVSxzQkFBc0I7dUhBQXRCLHNCQUFzQixjQURULE1BQU07MkZBQ25CLHNCQUFzQjtrQkFEbEMsVUFBVTttQkFBQyxFQUFFLFVBQVUsRUFBRSxNQUFNLEVBQUUiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBJbmplY3RhYmxlIH0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XG5pbXBvcnQgeyBDb25maWd1cmF0aW9uU2V0dGluZ3NBcGlTZXJ2aWNlIH0gZnJvbSAnQHZlbG9jZWFwcHMvYXBpJztcbmltcG9ydCB7XG4gIENvbmZpZ3VyYXRpb25TZXR0aW5ncyxcbiAgREVGQVVMVF9DVVJSRU5DWV9JU09fQ09ERSxcbiAgREVGQVVMVF9DVVJSRU5DWV9TWU1CT0wsXG4gIERFRkFVTFRfREFURV9GT1JNQVQsXG4gIERFRkFVTFRfREVDSU1BTFNfQ09VTlQsXG4gIERFRkFVTFRfREVDSU1BTF9TRVBBUkFUT1IsXG4gIERFRkFVTFRfVEhPVVNBTkRTX1NFUEFSQVRPUixcbiAgRmxvdyxcbiAgUnVudGltZUNvbmZpZ3VyYXRpb25TZXR0aW5ncyxcbiAgUnVudGltZUN1cnJlbmN5U2V0dGluZ3MsXG4gIFNob3BwaW5nQ2FydFNldHRpbmcsXG4gIFNob3BwaW5nQ2FydFNldHRpbmdzLFxuICBnZXRTdXBwb3J0ZWREYXRlRm9ybWF0cyxcbiAgcGFyc2VKc29uU2FmZWx5LFxuICB2YWxpZGF0ZURhdGVGb3JtYXQsXG4gIERFRkFVTFRfQUNUSU9OX0NPREVfTEFCRUxTLFxufSBmcm9tICdAdmVsb2NlYXBwcy9jb3JlJztcbmltcG9ydCB7IERpY3Rpb25hcnksIHVuaXFCeSB9IGZyb20gJ2xvZGFzaCc7XG5pbXBvcnQgeyBCZWhhdmlvclN1YmplY3QsIE9ic2VydmFibGUsIG1hcCwgdGFwIH0gZnJvbSAncnhqcyc7XG5pbXBvcnQgeyBGb3JtYXR0aW5nU2V0dGluZ3MgfSBmcm9tICcuLi90eXBlcyc7XG5cbkBJbmplY3RhYmxlKHsgcHJvdmlkZWRJbjogJ3Jvb3QnIH0pXG5leHBvcnQgY2xhc3MgUnVudGltZVNldHRpbmdzU2VydmljZSB7XG4gIHByaXZhdGUgY29uZmlndXJhdGlvblNldHRpbmdzJCA9IG5ldyBCZWhhdmlvclN1YmplY3Q8UnVudGltZUNvbmZpZ3VyYXRpb25TZXR0aW5ncz4oe30pO1xuICBwcml2YXRlIGN1cnJlbmN5U2V0dGluZ3MkID0gbmV3IEJlaGF2aW9yU3ViamVjdDxSdW50aW1lQ3VycmVuY3lTZXR0aW5ncz4oe1xuICAgIGlzbzogREVGQVVMVF9DVVJSRU5DWV9JU09fQ09ERSxcbiAgICBzeW1ib2w6IERFRkFVTFRfQ1VSUkVOQ1lfU1lNQk9MLFxuICB9KTtcbiAgcHJpdmF0ZSBmb3JtYXR0aW5nU2V0dGluZ3MhOiBGb3JtYXR0aW5nU2V0dGluZ3M7XG4gIHByaXZhdGUgc2hvcHBpbmdDYXJ0U2V0dGluZ3MkID0gbmV3IEJlaGF2aW9yU3ViamVjdDxTaG9wcGluZ0NhcnRTZXR0aW5nW10+KFtdKTtcblxuICBjb25zdHJ1Y3Rvcihwcml2YXRlIGNvbmZpZ3VyYXRpb25TZXR0aW5nc0FwaVNlcnZpY2U6IENvbmZpZ3VyYXRpb25TZXR0aW5nc0FwaVNlcnZpY2UpIHt9XG5cbiAgcHVibGljIGNyZWF0ZSgpOiBPYnNlcnZhYmxlPHZvaWQ+IHtcbiAgICByZXR1cm4gdGhpcy5jb25maWd1cmF0aW9uU2V0dGluZ3NBcGlTZXJ2aWNlLmZldGNoU2V0dGluZ3MoKS5waXBlKFxuICAgICAgbWFwKHNldHRpbmdzID0+IHRoaXMucGFyc2VDb25maWd1cmF0aW9uU2V0dGluZ3Moc2V0dGluZ3MpKSxcbiAgICAgIHRhcChjb25maWd1cmF0aW9uU2V0dGluZ3MgPT4ge1xuICAgICAgICB0aGlzLmNvbmZpZ3VyYXRpb25TZXR0aW5ncyQubmV4dChjb25maWd1cmF0aW9uU2V0dGluZ3MpO1xuICAgICAgICB0aGlzLmFkZFNob3BwaW5nQ2FydFNldHRpbmdzKGNvbmZpZ3VyYXRpb25TZXR0aW5nc1snc2hvcHBpbmctY2FydCddID8/IFtdKTtcbiAgICAgICAgdGhpcy5mb3JtYXR0aW5nU2V0dGluZ3MgPSB0aGlzLmdldEZvcm1hdHRpbmdTZXR0aW5ncygpO1xuICAgICAgfSksXG4gICAgICBtYXAoKCkgPT4gdW5kZWZpbmVkKSxcbiAgICApO1xuICB9XG5cbiAgcHVibGljIGluaXRDdXJyZW5jeShpc28/OiBzdHJpbmcpOiB2b2lkIHtcbiAgICBpZiAoaXNvKSB7XG4gICAgICBjb25zdCBzeW1ib2wgPSB0aGlzLmdldEN1cnJlbmN5U3ltYm9sKCdlbi1VUycsIGlzbyk7XG4gICAgICB0aGlzLmN1cnJlbmN5U2V0dGluZ3MkLm5leHQoeyBpc28sIHN5bWJvbCB9KTtcbiAgICB9XG4gIH1cblxuICBwdWJsaWMgZ2V0Rm9ybWF0dGluZ1NldHRpbmdzKCk6IEZvcm1hdHRpbmdTZXR0aW5ncyB7XG4gICAgaWYgKHRoaXMuZm9ybWF0dGluZ1NldHRpbmdzKSB7XG4gICAgICByZXR1cm4gdGhpcy5mb3JtYXR0aW5nU2V0dGluZ3M7XG4gICAgfVxuXG4gICAgY29uc3Qgc2hvcHBpbmdDYXJ0U2V0dGluZ3MgPSB0aGlzLmdldENvbmZpZ3VyYXRpb25TZXR0aW5ncygpWydzaG9wcGluZy1jYXJ0J10/LnJlZHVjZSgoYWNjLCBzZXR0aW5nKSA9PiB7XG4gICAgICByZXR1cm4geyAuLi5hY2MsIFtzZXR0aW5nLmlkXTogc2V0dGluZy5wcm9wZXJ0aWVzIH07XG4gICAgfSwge30gYXMgU2hvcHBpbmdDYXJ0U2V0dGluZ3MpO1xuICAgIGNvbnN0IGN1cnJlbmN5U2V0dGluZ3MgPSB0aGlzLmdldEN1cnJlbmN5U2V0dGluZ3MoKTtcbiAgICBjb25zdCBkYXRlRm9ybWF0ID1cbiAgICAgICh2YWxpZGF0ZURhdGVGb3JtYXQoc2hvcHBpbmdDYXJ0U2V0dGluZ3M/LkRBVEVfRk9STUFUID8/ICcnKSAmJiBzaG9wcGluZ0NhcnRTZXR0aW5ncz8uREFURV9GT1JNQVQpIHx8XG4gICAgICBERUZBVUxUX0RBVEVfRk9STUFUO1xuICAgIGNvbnN0IGRlY2ltYWxTZXBhcmF0b3IgPSBzaG9wcGluZ0NhcnRTZXR0aW5ncz8uREVDSU1BTF9TRVBBUkFUT1I7XG4gICAgY29uc3QgdGhvdXNhbmRzU2VwYXJhdG9yID0gc2hvcHBpbmdDYXJ0U2V0dGluZ3M/LlRIT1VTQU5EU19TRVBBUkFUT1I7XG4gICAgLy8gdGhlIG51bWJlciBvZiBkZWNpbWFsIHBsYWNlcyBjYW4gYmUgMFxuICAgIGNvbnN0IHByaWNlU2NhbGUgPSBzaG9wcGluZ0NhcnRTZXR0aW5ncz8uUFJJQ0VfU0NBTEU7XG4gICAgY29uc3QgZGVjaW1hbHNDb3VudCA9XG4gICAgICBwcmljZVNjYWxlICE9PSBudWxsICYmIHByaWNlU2NhbGUgIT09ICcnICYmICFpc05hTihOdW1iZXIocHJpY2VTY2FsZSkpICYmIE51bWJlcihwcmljZVNjYWxlKSA+PSAwXG4gICAgICAgID8gTnVtYmVyKHByaWNlU2NhbGUpXG4gICAgICAgIDogREVGQVVMVF9ERUNJTUFMU19DT1VOVDtcblxuICAgIGNvbnN0IGFjdGlvbkNvZGVTZXR0aW5ncyA9IHNob3BwaW5nQ2FydFNldHRpbmdzPy5TVEFUVVNfTEFCRUw7XG5cbiAgICByZXR1cm4ge1xuICAgICAgY3VycmVuY3lTeW1ib2w6IGN1cnJlbmN5U2V0dGluZ3Muc3ltYm9sLFxuICAgICAgZGF0ZUZvcm1hdHM6IGdldFN1cHBvcnRlZERhdGVGb3JtYXRzKGRhdGVGb3JtYXQpLFxuICAgICAgZGVjaW1hbHNDb3VudCxcbiAgICAgIGRlY2ltYWxTZXBhcmF0b3I6XG4gICAgICAgIGRlY2ltYWxTZXBhcmF0b3IgIT09IHVuZGVmaW5lZCAmJiBbJy4nLCAnLCddLmluY2x1ZGVzKGRlY2ltYWxTZXBhcmF0b3IpXG4gICAgICAgICAgPyBkZWNpbWFsU2VwYXJhdG9yXG4gICAgICAgICAgOiBERUZBVUxUX0RFQ0lNQUxfU0VQQVJBVE9SLFxuICAgICAgLy8gdGhvdXNhbmRzIHNlcGFyYXRvciBjYW4gYmUgYSBibGFuayB2YWx1ZSwgc28gaXQgY2FuIGFsc28gYmUgbnVsbFxuICAgICAgdGhvdXNhbmRzU2VwYXJhdG9yOlxuICAgICAgICB0aG91c2FuZHNTZXBhcmF0b3IgIT09IHVuZGVmaW5lZCAmJiBbJy4nLCAnLCcsICcnLCBudWxsXS5pbmNsdWRlcyh0aG91c2FuZHNTZXBhcmF0b3IpXG4gICAgICAgICAgPyB0aG91c2FuZHNTZXBhcmF0b3IgfHwgJydcbiAgICAgICAgICA6IERFRkFVTFRfVEhPVVNBTkRTX1NFUEFSQVRPUixcbiAgICAgIGFjdGlvbkNvZGVMYWJlbHM6IGFjdGlvbkNvZGVTZXR0aW5ncz8ubGVuZ3RoXG4gICAgICAgID8gYWN0aW9uQ29kZVNldHRpbmdzLnJlZHVjZShcbiAgICAgICAgICAgIChyZXN1bHQsIHNldHRpbmcpID0+ICh7IC4uLnJlc3VsdCwgW3NldHRpbmcuc3RhdHVzX2xhYmVsXTogc2V0dGluZy5jdXN0b21fbGFiZWwgfSksXG4gICAgICAgICAgICB7fSxcbiAgICAgICAgICApXG4gICAgICAgIDogREVGQVVMVF9BQ1RJT05fQ09ERV9MQUJFTFMsXG4gICAgfTtcbiAgfVxuXG4gIHB1YmxpYyBnZXRDb25maWd1cmF0aW9uU2V0dGluZ3MoKTogUnVudGltZUNvbmZpZ3VyYXRpb25TZXR0aW5ncyB7XG4gICAgcmV0dXJuIHRoaXMuY29uZmlndXJhdGlvblNldHRpbmdzJC52YWx1ZTtcbiAgfVxuXG4gIHB1YmxpYyBnZXRTaG9wcGluZ0NhcnRTZXR0aW5ncygpOiBTaG9wcGluZ0NhcnRTZXR0aW5nW10ge1xuICAgIHJldHVybiB0aGlzLnNob3BwaW5nQ2FydFNldHRpbmdzJC52YWx1ZTtcbiAgfVxuXG4gIHB1YmxpYyBnZXRDdXJyZW5jeVNldHRpbmdzKCk6IFJ1bnRpbWVDdXJyZW5jeVNldHRpbmdzIHtcbiAgICByZXR1cm4gdGhpcy5jdXJyZW5jeVNldHRpbmdzJC52YWx1ZTtcbiAgfVxuXG4gIHByaXZhdGUgcGFyc2VDb25maWd1cmF0aW9uU2V0dGluZ3Moc2V0dGluZ3M6IENvbmZpZ3VyYXRpb25TZXR0aW5nc1tdKTogUnVudGltZUNvbmZpZ3VyYXRpb25TZXR0aW5ncyB7XG4gICAgcmV0dXJuIHNldHRpbmdzLnJlZHVjZSgoYWNjOiBSdW50aW1lQ29uZmlndXJhdGlvblNldHRpbmdzLCBzZXR0aW5nKSA9PiB7XG4gICAgICBzd2l0Y2ggKHNldHRpbmcua2V5KSB7XG4gICAgICAgIGNhc2UgJ3Nob3BwaW5nLWNhcnQnOlxuICAgICAgICAgIGFjY1snc2hvcHBpbmctY2FydCddID0gcGFyc2VKc29uU2FmZWx5PFNob3BwaW5nQ2FydFNldHRpbmdbXT4oc2V0dGluZy52YWx1ZSwgW10pO1xuICAgICAgICAgIGJyZWFrO1xuICAgICAgICBjYXNlICduYXZpZ2F0aW9uJzpcbiAgICAgICAgICBhY2MubmF2aWdhdGlvbiA9IHBhcnNlSnNvblNhZmVseTxEaWN0aW9uYXJ5PGJvb2xlYW4+PihzZXR0aW5nLnZhbHVlLCB7fSk7XG4gICAgICAgICAgYnJlYWs7XG4gICAgICAgIGNhc2UgJ2Zsb3dzJzpcbiAgICAgICAgICBhY2MuZmxvd3MgPSBwYXJzZUpzb25TYWZlbHk8Rmxvd1tdPihzZXR0aW5nLnZhbHVlLCBbXSk7XG4gICAgICAgICAgYnJlYWs7XG4gICAgICAgIGRlZmF1bHQ6XG4gICAgICAgICAgYWNjW3NldHRpbmcua2V5XSA9IHNldHRpbmcudmFsdWU7XG4gICAgICB9XG5cbiAgICAgIHJldHVybiBhY2M7XG4gICAgfSwge30pO1xuICB9XG5cbiAgcHJpdmF0ZSBnZXRDdXJyZW5jeVN5bWJvbCA9IChsb2NhbGU6IHN0cmluZywgY3VycmVuY3k6IHN0cmluZykgPT4ge1xuICAgIHJldHVybiAoMClcbiAgICAgIC50b0xvY2FsZVN0cmluZyhsb2NhbGUsIHsgc3R5bGU6ICdjdXJyZW5jeScsIGN1cnJlbmN5LCBtaW5pbXVtRnJhY3Rpb25EaWdpdHM6IDAsIG1heGltdW1GcmFjdGlvbkRpZ2l0czogMCB9KVxuICAgICAgLnJlcGxhY2UoL1xcZC9nLCAnJylcbiAgICAgIC50cmltKCk7XG4gIH07XG5cbiAgcHVibGljIGFkZFNob3BwaW5nQ2FydFNldHRpbmdzKHNldHRpbmdzOiBTaG9wcGluZ0NhcnRTZXR0aW5nW10pIHtcbiAgICAvLyB1bmlxQnkgcmVtb3ZlcyBpdGVtcyB3aXRoIHRoZSBiaWdnZXN0IGluZGV4XG4gICAgY29uc3QgbmV3U2V0dGluZ3MgPSB1bmlxQnkoWy4uLnNldHRpbmdzLCAuLi50aGlzLnNob3BwaW5nQ2FydFNldHRpbmdzJC52YWx1ZV0sICdpZCcpO1xuICAgIHRoaXMuc2hvcHBpbmdDYXJ0U2V0dGluZ3MkLm5leHQobmV3U2V0dGluZ3MpO1xuICB9XG59XG4iXX0=
|
112
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicnVudGltZS1zZXR0aW5ncy5zZXJ2aWNlLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vbGlicy9zZGsvY29yZS9zZXJ2aWNlcy9ydW50aW1lLXNldHRpbmdzLnNlcnZpY2UudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFFLFVBQVUsRUFBRSxNQUFNLGVBQWUsQ0FBQztBQUMzQyxPQUFPLEVBQUUsK0JBQStCLEVBQUUsTUFBTSxpQkFBaUIsQ0FBQztBQUNsRSxPQUFPLEVBRUwsMEJBQTBCLEVBQzFCLHlCQUF5QixFQUN6Qix1QkFBdUIsRUFDdkIsbUJBQW1CLEVBQ25CLHNCQUFzQixFQUN0Qix5QkFBeUIsRUFDekIsMkJBQTJCLEVBRTNCLHVCQUF1QixFQUN2QixlQUFlLEVBS2Ysa0JBQWtCLEdBQ25CLE1BQU0sa0JBQWtCLENBQUM7QUFDMUIsT0FBTyxFQUFjLE1BQU0sRUFBRSxNQUFNLFFBQVEsQ0FBQztBQUM1QyxPQUFPLEVBQUUsZUFBZSxFQUFFLEdBQUcsRUFBYyxHQUFHLEVBQUUsTUFBTSxNQUFNLENBQUM7OztBQUk3RCxNQUFNLE9BQU8sc0JBQXNCO0lBU2pDLFlBQW9CLCtCQUFnRTtRQUFoRSxvQ0FBK0IsR0FBL0IsK0JBQStCLENBQWlDO1FBUjVFLDJCQUFzQixHQUFHLElBQUksZUFBZSxDQUErQixFQUFFLENBQUMsQ0FBQztRQUMvRSxzQkFBaUIsR0FBRyxJQUFJLGVBQWUsQ0FBMEI7WUFDdkUsR0FBRyxFQUFFLHlCQUF5QjtZQUM5QixNQUFNLEVBQUUsdUJBQXVCO1NBQ2hDLENBQUMsQ0FBQztRQUVLLDBCQUFxQixHQUFHLElBQUksZUFBZSxDQUF3QixFQUFFLENBQUMsQ0FBQztRQXVHdkUsc0JBQWlCLEdBQUcsQ0FBQyxNQUFjLEVBQUUsUUFBZ0IsRUFBRSxFQUFFO1lBQy9ELE9BQU8sQ0FBQyxDQUFDLENBQUM7aUJBQ1AsY0FBYyxDQUFDLE1BQU0sRUFBRSxFQUFFLEtBQUss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LENBQUMsR0FBRyxFQUFFO2dCQUNuQixLQUFLLGVBQWU7b0JBQ2xCLEdBQUcsQ0FBQyxlQUFlLENBQUMsR0FBRyxlQUFlLENBQXdCLE9BQU8sQ0FBQyxLQUFLLEVBQUUsRUFBRSxDQUFDLENBQUM7b0JBQ2pGLE1BQU07Z0JBQ1IsS0FBSyxZQUFZO29CQUNmLEdBQUcsQ0FBQyxVQUFVLEdBQUcsZUFBZSxDQUFzQixPQUFPLENBQUMsS0FBSyxFQUFFLEVBQUUsQ0FBQyxDQUFDO29CQUN6RSxNQUFNO2dCQUNSLEtBQUssT0FBTztvQkFDVixHQUFHLENBQUMsS0FBSyxHQUFHLGVBQWUsQ0FBUyxPQUFPLENBQUMsS0FBSyxFQUFFLEVBQUUsQ0FBQyxDQUFDO29CQUN2RCxNQUFNO2dCQUNSO29CQUNFLEdBQUcsQ0FBQyxPQUFPLENBQUMsR0FBRyxDQUFDLEdBQUcsT0FBTyxDQUFDLEtBQUssQ0FBQzthQUNwQztZQUVELE9BQU8sR0FBRyxDQUFDO1FBQ2IsQ0FBQyxFQUFFLEVBQUUsQ0FBQyxDQUFDO0lBQ1QsQ0FBQztJQVNNLHVCQUF1QixDQUFDLFFBQStCO1FBQzVELDhDQUE4QztRQUM5QyxNQUFNLFdBQVcsR0FBRyxNQUFNLENBQUMsQ0FBQyxHQUFHLFFBQVEsRUFBRSxHQUFHLElBQUksQ0FBQyxxQkFBcUIsQ0FBQyxLQUFLLENBQUMsRUFBRSxJQUFJLENBQUMsQ0FBQztRQUNyRixJQUFJLENBQUMscUJBQXFCLENBQUMsSUFBSSxDQUFDLFdBQVcsQ0FBQyxDQUFDO0lBQy9DLENBQUM7O21IQXpIVSxzQkFBc0I7dUhBQXRCLHNCQUFzQjsyRkFBdEIsc0JBQXNCO2tCQURsQyxVQUFVIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgSW5qZWN0YWJsZSB9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xuaW1wb3J0IHsgQ29uZmlndXJhdGlvblNldHRpbmdzQXBpU2VydmljZSB9IGZyb20gJ0B2ZWxvY2VhcHBzL2FwaSc7XG5pbXBvcnQge1xuICBDb25maWd1cmF0aW9uU2V0dGluZ3MsXG4gIERFRkFVTFRfQUNUSU9OX0NPREVfTEFCRUxTLFxuICBERUZBVUxUX0NVUlJFTkNZX0lTT19DT0RFLFxuICBERUZBVUxUX0NVUlJFTkNZX1NZTUJPTCxcbiAgREVGQVVMVF9EQVRFX0ZPUk1BVCxcbiAgREVGQVVMVF9ERUNJTUFMU19DT1VOVCxcbiAgREVGQVVMVF9ERUNJTUFMX1NFUEFSQVRPUixcbiAgREVGQVVMVF9USE9VU0FORFNfU0VQQVJBVE9SLFxuICBGbG93LFxuICBnZXRTdXBwb3J0ZWREYXRlRm9ybWF0cyxcbiAgcGFyc2VKc29uU2FmZWx5LFxuICBSdW50aW1lQ29uZmlndXJhdGlvblNldHRpbmdzLFxuICBSdW50aW1lQ3VycmVuY3lTZXR0aW5ncyxcbiAgU2hvcHBpbmdDYXJ0U2V0dGluZyxcbiAgU2hvcHBpbmdDYXJ0U2V0dGluZ3MsXG4gIHZhbGlkYXRlRGF0ZUZvcm1hdCxcbn0gZnJvbSAnQHZlbG9jZWFwcHMvY29yZSc7XG5pbXBvcnQgeyBEaWN0aW9uYXJ5LCB1bmlxQnkgfSBmcm9tICdsb2Rhc2gnO1xuaW1wb3J0IHsgQmVoYXZpb3JTdWJqZWN0LCBtYXAsIE9ic2VydmFibGUsIHRhcCB9IGZyb20gJ3J4anMnO1xuaW1wb3J0IHsgRm9ybWF0dGluZ1NldHRpbmdzIH0gZnJvbSAnLi4vdHlwZXMnO1xuXG5ASW5qZWN0YWJsZSgpXG5leHBvcnQgY2xhc3MgUnVudGltZVNldHRpbmdzU2VydmljZSB7XG4gIHByaXZhdGUgY29uZmlndXJhdGlvblNldHRpbmdzJCA9IG5ldyBCZWhhdmlvclN1YmplY3Q8UnVudGltZUNvbmZpZ3VyYXRpb25TZXR0aW5ncz4oe30pO1xuICBwcml2YXRlIGN1cnJlbmN5U2V0dGluZ3MkID0gbmV3IEJlaGF2aW9yU3ViamVjdDxSdW50aW1lQ3VycmVuY3lTZXR0aW5ncz4oe1xuICAgIGlzbzogREVGQVVMVF9DVVJSRU5DWV9JU09fQ09ERSxcbiAgICBzeW1ib2w6IERFRkFVTFRfQ1VSUkVOQ1lfU1lNQk9MLFxuICB9KTtcbiAgcHJpdmF0ZSBmb3JtYXR0aW5nU2V0dGluZ3MhOiBGb3JtYXR0aW5nU2V0dGluZ3M7XG4gIHByaXZhdGUgc2hvcHBpbmdDYXJ0U2V0dGluZ3MkID0gbmV3IEJlaGF2aW9yU3ViamVjdDxTaG9wcGluZ0NhcnRTZXR0aW5nW10+KFtdKTtcblxuICBjb25zdHJ1Y3Rvcihwcml2YXRlIGNvbmZpZ3VyYXRpb25TZXR0aW5nc0FwaVNlcnZpY2U6IENvbmZpZ3VyYXRpb25TZXR0aW5nc0FwaVNlcnZpY2UpIHt9XG5cbiAgcHVibGljIGNyZWF0ZSgpOiBPYnNlcnZhYmxlPHZvaWQ+IHtcbiAgICByZXR1cm4gdGhpcy5jb25maWd1cmF0aW9uU2V0dGluZ3NBcGlTZXJ2aWNlLmZldGNoU2V0dGluZ3MoKS5waXBlKFxuICAgICAgbWFwKHNldHRpbmdzID0+IHRoaXMucGFyc2VDb25maWd1cmF0aW9uU2V0dGluZ3Moc2V0dGluZ3MpKSxcbiAgICAgIHRhcChjb25maWd1cmF0aW9uU2V0dGluZ3MgPT4ge1xuICAgICAgICB0aGlzLmNvbmZpZ3VyYXRpb25TZXR0aW5ncyQubmV4dChjb25maWd1cmF0aW9uU2V0dGluZ3MpO1xuICAgICAgICB0aGlzLmFkZFNob3BwaW5nQ2FydFNldHRpbmdzKGNvbmZpZ3VyYXRpb25TZXR0aW5nc1snc2hvcHBpbmctY2FydCddID8/IFtdKTtcbiAgICAgICAgdGhpcy5mb3JtYXR0aW5nU2V0dGluZ3MgPSB0aGlzLmdldEZvcm1hdHRpbmdTZXR0aW5ncygpO1xuICAgICAgfSksXG4gICAgICBtYXAoKCkgPT4gdW5kZWZpbmVkKSxcbiAgICApO1xuICB9XG5cbiAgcHVibGljIGluaXRDdXJyZW5jeShpc28/OiBzdHJpbmcpOiB2b2lkIHtcbiAgICBpZiAoaXNvKSB7XG4gICAgICBjb25zdCBzeW1ib2wgPSB0aGlzLmdldEN1cnJlbmN5U3ltYm9sKCdlbi1VUycsIGlzbyk7XG4gICAgICB0aGlzLmN1cnJlbmN5U2V0dGluZ3MkLm5leHQoeyBpc28sIHN5bWJvbCB9KTtcbiAgICAgIGlmICh0aGlzLmZvcm1hdHRpbmdTZXR0aW5ncykge1xuICAgICAgICB0aGlzLmZvcm1hdHRpbmdTZXR0aW5ncy5jdXJyZW5jeVN5bWJvbCA9IHN5bWJvbDtcbiAgICAgIH1cbiAgICB9XG4gIH1cblxuICBwdWJsaWMgZ2V0Rm9ybWF0dGluZ1NldHRpbmdzKCk6IEZvcm1hdHRpbmdTZXR0aW5ncyB7XG4gICAgaWYgKHRoaXMuZm9ybWF0dGluZ1NldHRpbmdzKSB7XG4gICAgICByZXR1cm4gdGhpcy5mb3JtYXR0aW5nU2V0dGluZ3M7XG4gICAgfVxuXG4gICAgY29uc3Qgc2hvcHBpbmdDYXJ0U2V0dGluZ3MgPSB0aGlzLmdldENvbmZpZ3VyYXRpb25TZXR0aW5ncygpWydzaG9wcGluZy1jYXJ0J10/LnJlZHVjZSgoYWNjLCBzZXR0aW5nKSA9PiB7XG4gICAgICByZXR1cm4geyAuLi5hY2MsIFtzZXR0aW5nLmlkXTogc2V0dGluZy5wcm9wZXJ0aWVzIH07XG4gICAgfSwge30gYXMgU2hvcHBpbmdDYXJ0U2V0dGluZ3MpO1xuICAgIGNvbnN0IGN1cnJlbmN5U2V0dGluZ3MgPSB0aGlzLmdldEN1cnJlbmN5U2V0dGluZ3MoKTtcbiAgICBjb25zdCBkYXRlRm9ybWF0ID1cbiAgICAgICh2YWxpZGF0ZURhdGVGb3JtYXQoc2hvcHBpbmdDYXJ0U2V0dGluZ3M/LkRBVEVfRk9STUFUID8/ICcnKSAmJiBzaG9wcGluZ0NhcnRTZXR0aW5ncz8uREFURV9GT1JNQVQpIHx8XG4gICAgICBERUZBVUxUX0RBVEVfRk9STUFUO1xuICAgIGNvbnN0IGRlY2ltYWxTZXBhcmF0b3IgPSBzaG9wcGluZ0NhcnRTZXR0aW5ncz8uREVDSU1BTF9TRVBBUkFUT1I7XG4gICAgY29uc3QgdGhvdXNhbmRzU2VwYXJhdG9yID0gc2hvcHBpbmdDYXJ0U2V0dGluZ3M/LlRIT1VTQU5EU19TRVBBUkFUT1I7XG4gICAgLy8gdGhlIG51bWJlciBvZiBkZWNpbWFsIHBsYWNlcyBjYW4gYmUgMFxuICAgIGNvbnN0IHByaWNlU2NhbGUgPSBzaG9wcGluZ0NhcnRTZXR0aW5ncz8uUFJJQ0VfU0NBTEU7XG4gICAgY29uc3QgZGVjaW1hbHNDb3VudCA9XG4gICAgICBwcmljZVNjYWxlICE9PSBudWxsICYmIHByaWNlU2NhbGUgIT09ICcnICYmICFpc05hTihOdW1iZXIocHJpY2VTY2FsZSkpICYmIE51bWJlcihwcmljZVNjYWxlKSA+PSAwXG4gICAgICAgID8gTnVtYmVyKHByaWNlU2NhbGUpXG4gICAgICAgIDogREVGQVVMVF9ERUNJTUFMU19DT1VOVDtcblxuICAgIGNvbnN0IGFjdGlvbkNvZGVTZXR0aW5ncyA9IHNob3BwaW5nQ2FydFNldHRpbmdzPy5TVEFUVVNfTEFCRUw7XG5cbiAgICByZXR1cm4ge1xuICAgICAgY3VycmVuY3lTeW1ib2w6IGN1cnJlbmN5U2V0dGluZ3Muc3ltYm9sLFxuICAgICAgZGF0ZUZvcm1hdHM6IGdldFN1cHBvcnRlZERhdGVGb3JtYXRzKGRhdGVGb3JtYXQpLFxuICAgICAgZGVjaW1hbHNDb3VudCxcbiAgICAgIGRlY2ltYWxTZXBhcmF0b3I6XG4gICAgICAgIGRlY2ltYWxTZXBhcmF0b3IgIT09IHVuZGVmaW5lZCAmJiBbJy4nLCAnLCddLmluY2x1ZGVzKGRlY2ltYWxTZXBhcmF0b3IpXG4gICAgICAgICAgPyBkZWNpbWFsU2VwYXJhdG9yXG4gICAgICAgICAgOiBERUZBVUxUX0RFQ0lNQUxfU0VQQVJBVE9SLFxuICAgICAgLy8gdGhvdXNhbmRzIHNlcGFyYXRvciBjYW4gYmUgYSBibGFuayB2YWx1ZSwgc28gaXQgY2FuIGFsc28gYmUgbnVsbFxuICAgICAgdGhvdXNhbmRzU2VwYXJhdG9yOlxuICAgICAgICB0aG91c2FuZHNTZXBhcmF0b3IgIT09IHVuZGVmaW5lZCAmJiBbJy4nLCAnLCcsICcnLCBudWxsXS5pbmNsdWRlcyh0aG91c2FuZHNTZXBhcmF0b3IpXG4gICAgICAgICAgPyB0aG91c2FuZHNTZXBhcmF0b3IgfHwgJydcbiAgICAgICAgICA6IERFRkFVTFRfVEhPVVNBTkRTX1NFUEFSQVRPUixcbiAgICAgIGFjdGlvbkNvZGVMYWJlbHM6IGFjdGlvbkNvZGVTZXR0aW5ncz8ubGVuZ3RoXG4gICAgICAgID8gYWN0aW9uQ29kZVNldHRpbmdzLnJlZHVjZShcbiAgICAgICAgICAgIChyZXN1bHQsIHNldHRpbmcpID0+ICh7IC4uLnJlc3VsdCwgW3NldHRpbmcuc3RhdHVzX2xhYmVsXTogc2V0dGluZy5jdXN0b21fbGFiZWwgfSksXG4gICAgICAgICAgICB7fSxcbiAgICAgICAgICApXG4gICAgICAgIDogREVGQVVMVF9BQ1RJT05fQ09ERV9MQUJFTFMsXG4gICAgfTtcbiAgfVxuXG4gIHB1YmxpYyBnZXRDb25maWd1cmF0aW9uU2V0dGluZ3MoKTogUnVudGltZUNvbmZpZ3VyYXRpb25TZXR0aW5ncyB7XG4gICAgcmV0dXJuIHRoaXMuY29uZmlndXJhdGlvblNldHRpbmdzJC52YWx1ZTtcbiAgfVxuXG4gIHB1YmxpYyBnZXRTaG9wcGluZ0NhcnRTZXR0aW5ncygpOiBTaG9wcGluZ0NhcnRTZXR0aW5nW10ge1xuICAgIHJldHVybiB0aGlzLnNob3BwaW5nQ2FydFNldHRpbmdzJC52YWx1ZTtcbiAgfVxuXG4gIHB1YmxpYyBnZXRDdXJyZW5jeVNldHRpbmdzKCk6IFJ1bnRpbWVDdXJyZW5jeVNldHRpbmdzIHtcbiAgICByZXR1cm4gdGhpcy5jdXJyZW5jeVNldHRpbmdzJC52YWx1ZTtcbiAgfVxuXG4gIHByaXZhdGUgcGFyc2VDb25maWd1cmF0aW9uU2V0dGluZ3Moc2V0dGluZ3M6IENvbmZpZ3VyYXRpb25TZXR0aW5nc1tdKTogUnVudGltZUNvbmZpZ3VyYXRpb25TZXR0aW5ncyB7XG4gICAgcmV0dXJuIHNldHRpbmdzLnJlZHVjZSgoYWNjOiBSdW50aW1lQ29uZmlndXJhdGlvblNldHRpbmdzLCBzZXR0aW5nKSA9PiB7XG4gICAgICBzd2l0Y2ggKHNldHRpbmcua2V5KSB7XG4gICAgICAgIGNhc2UgJ3Nob3BwaW5nLWNhcnQnOlxuICAgICAgICAgIGFjY1snc2hvcHBpbmctY2FydCddID0gcGFyc2VKc29uU2FmZWx5PFNob3BwaW5nQ2FydFNldHRpbmdbXT4oc2V0dGluZy52YWx1ZSwgW10pO1xuICAgICAgICAgIGJyZWFrO1xuICAgICAgICBjYXNlICduYXZpZ2F0aW9uJzpcbiAgICAgICAgICBhY2MubmF2aWdhdGlvbiA9IHBhcnNlSnNvblNhZmVseTxEaWN0aW9uYXJ5PGJvb2xlYW4+PihzZXR0aW5nLnZhbHVlLCB7fSk7XG4gICAgICAgICAgYnJlYWs7XG4gICAgICAgIGNhc2UgJ2Zsb3dzJzpcbiAgICAgICAgICBhY2MuZmxvd3MgPSBwYXJzZUpzb25TYWZlbHk8Rmxvd1tdPihzZXR0aW5nLnZhbHVlLCBbXSk7XG4gICAgICAgICAgYnJlYWs7XG4gICAgICAgIGRlZmF1bHQ6XG4gICAgICAgICAgYWNjW3NldHRpbmcua2V5XSA9IHNldHRpbmcudmFsdWU7XG4gICAgICB9XG5cbiAgICAgIHJldHVybiBhY2M7XG4gICAgfSwge30pO1xuICB9XG5cbiAgcHJpdmF0ZSBnZXRDdXJyZW5jeVN5bWJvbCA9IChsb2NhbGU6IHN0cmluZywgY3VycmVuY3k6IHN0cmluZykgPT4ge1xuICAgIHJldHVybiAoMClcbiAgICAgIC50b0xvY2FsZVN0cmluZyhsb2NhbGUsIHsgc3R5bGU6ICdjdXJyZW5jeScsIGN1cnJlbmN5LCBtaW5pbXVtRnJhY3Rpb25EaWdpdHM6IDAsIG1heGltdW1GcmFjdGlvbkRpZ2l0czogMCB9KVxuICAgICAgLnJlcGxhY2UoL1xcZC9nLCAnJylcbiAgICAgIC50cmltKCk7XG4gIH07XG5cbiAgcHVibGljIGFkZFNob3BwaW5nQ2FydFNldHRpbmdzKHNldHRpbmdzOiBTaG9wcGluZ0NhcnRTZXR0aW5nW10pIHtcbiAgICAvLyB1bmlxQnkgcmVtb3ZlcyBpdGVtcyB3aXRoIHRoZSBiaWdnZXN0IGluZGV4XG4gICAgY29uc3QgbmV3U2V0dGluZ3MgPSB1bmlxQnkoWy4uLnNldHRpbmdzLCAuLi50aGlzLnNob3BwaW5nQ2FydFNldHRpbmdzJC52YWx1ZV0sICdpZCcpO1xuICAgIHRoaXMuc2hvcHBpbmdDYXJ0U2V0dGluZ3MkLm5leHQobmV3U2V0dGluZ3MpO1xuICB9XG59XG4iXX0=
|
@@ -0,0 +1,3 @@
|
|
1
|
+
import { InjectionToken } from '@angular/core';
|
2
|
+
export const FLOW_CUSTOMIZATION = new InjectionToken('FLOW_CUSTOMIZATION');
|
3
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZmxvdy1jdXN0b21pemF0aW9uLnR5cGVzLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vbGlicy9zZGsvY29yZS90eXBlcy9mbG93LWN1c3RvbWl6YXRpb24udHlwZXMudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFFLGNBQWMsRUFBRSxNQUFNLGVBQWUsQ0FBQztBQVMvQyxNQUFNLENBQUMsTUFBTSxrQkFBa0IsR0FBRyxJQUFJLGNBQWMsQ0FBb0Isb0JBQW9CLENBQUMsQ0FBQyIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IEluamVjdGlvblRva2VuIH0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XG5pbXBvcnQge1xuICBDb25maWd1cmF0aW9uUHJvY2Vzc29yLFxuICBUZW1wbGF0ZUNvbXBvbmVudFdpdGhBdHRhY2htZW50cyxcbiAgVUlEZWZpbml0aW9uQ29udGFpbmVyLFxuICBVSVRlbXBsYXRlLFxufSBmcm9tICdAdmVsb2NlYXBwcy9jb3JlJztcbmltcG9ydCB7IE9ic2VydmFibGUgfSBmcm9tICdyeGpzJztcblxuZXhwb3J0IGNvbnN0IEZMT1dfQ1VTVE9NSVpBVElPTiA9IG5ldyBJbmplY3Rpb25Ub2tlbjxGbG93Q3VzdG9taXphdGlvbj4oJ0ZMT1dfQ1VTVE9NSVpBVElPTicpO1xuXG5leHBvcnQgaW50ZXJmYWNlIEZsb3dDdXN0b21pemF0aW9uIHtcbiAgZ2V0VWlEZWZpbml0aW9uPyhwcm9kdWN0SWQ6IHN0cmluZyk6IE9ic2VydmFibGU8VUlEZWZpbml0aW9uQ29udGFpbmVyIHwgbnVsbD47XG5cbiAgLyoqXG4gICAqIEBkZXByZWNhdGVkIFVzZSBgZ2V0VGVtcGxhdGVDb21wb25lbnRzYCBpbnN0ZWFkXG4gICAqL1xuICBnZXRTaG9wcGluZ0NhcnRDb21wb25lbnQ/KHRlbXBsYXRlTmFtZTogc3RyaW5nKTogT2JzZXJ2YWJsZTxUZW1wbGF0ZUNvbXBvbmVudFdpdGhBdHRhY2htZW50cyB8IG51bGw+O1xuXG4gIC8qKlxuICAgKiBAZGVwcmVjYXRlZCBVc2UgYGdldFRlbXBsYXRlQ29tcG9uZW50c2AgaW5zdGVhZFxuICAgKi9cbiAgZ2V0Q2F0YWxvZ0NvbXBvbmVudD8odGVtcGxhdGVOYW1lOiBzdHJpbmcpOiBPYnNlcnZhYmxlPFRlbXBsYXRlQ29tcG9uZW50V2l0aEF0dGFjaG1lbnRzIHwgbnVsbD47XG5cbiAgLyoqXG4gICAqIEBkZXByZWNhdGVkIFVzZSBgZ2V0VGVtcGxhdGVDb21wb25lbnRzYCBpbnN0ZWFkXG4gICAqL1xuICBnZXRBc3NldHNDb21wb25lbnQ/KHRlbXBsYXRlTmFtZTogc3RyaW5nKTogT2JzZXJ2YWJsZTxUZW1wbGF0ZUNvbXBvbmVudFdpdGhBdHRhY2htZW50cyB8IG51bGw+O1xuXG4gIGdldFRlbXBsYXRlcz8oKTogT2JzZXJ2YWJsZTxVSVRlbXBsYXRlW10+O1xuICBnZXRUZW1wbGF0ZUNvbXBvbmVudHM/KHRlbXBsYXRlTmFtZTogc3RyaW5nKTogT2JzZXJ2YWJsZTxUZW1wbGF0ZUNvbXBvbmVudFdpdGhBdHRhY2htZW50c1tdIHwgbnVsbD47XG5cbiAgZ2V0VGVtcGxhdGVDb25maWd1cmF0aW9uUHJvY2Vzc29ycz8odGVtcGxhdGVOYW1lOiBzdHJpbmcpOiBPYnNlcnZhYmxlPENvbmZpZ3VyYXRpb25Qcm9jZXNzb3JbXSB8IG51bGw+O1xufVxuIl19
|
@@ -0,0 +1,2 @@
|
|
1
|
+
export {};
|
2
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZmxvdy1zdGF0ZS50eXBlcy5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uL2xpYnMvc2RrL2NvcmUvdHlwZXMvZmxvdy1zdGF0ZS50eXBlcy50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgQWNjb3VudEFzc2V0c1N0YXRlIH0gZnJvbSAnQHZlbG9jZWFwcHMvY29yZSc7XG5cbmV4cG9ydCBpbnRlcmZhY2UgRmxvd1N0YXRlU3Vic2NyaXB0aW9uT3B0aW9ucyB7XG4gIC8qKlxuICAgKiBXaGVuICd0cnVlJywgZG9uJ3QgZXhlY3V0ZSBhY3Rpb24gdG8gcmV0cmlldmUgY3VycmVudCB2YWx1ZVxuICAgKi9cbiAgY29sZD86IGJvb2xlYW47XG59XG5cbmV4cG9ydCBpbnRlcmZhY2UgRmxvd1N0b3JlIHtcbiAgYXNzZXRzPzogQWNjb3VudEFzc2V0c1N0YXRlO1xuXG4gIFtrZXk6IHN0cmluZ106IHVua25vd247XG59XG4iXX0=
|
@@ -1,5 +1,7 @@
|
|
1
|
+
export * from './flow-customization.types';
|
1
2
|
export * from './formatting-settings.types';
|
3
|
+
export * from './integration.types';
|
4
|
+
export * from './pipe.types';
|
2
5
|
export * from './runtime.types';
|
3
6
|
export * from './ui-definition.types';
|
4
|
-
|
5
|
-
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaW5kZXguanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi9saWJzL3Nkay9jb3JlL3R5cGVzL2luZGV4LnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLGNBQWMsNkJBQTZCLENBQUM7QUFDNUMsY0FBYyxpQkFBaUIsQ0FBQztBQUNoQyxjQUFjLHVCQUF1QixDQUFDO0FBQ3RDLGNBQWMsY0FBYyxDQUFDIiwic291cmNlc0NvbnRlbnQiOlsiZXhwb3J0ICogZnJvbSAnLi9mb3JtYXR0aW5nLXNldHRpbmdzLnR5cGVzJztcbmV4cG9ydCAqIGZyb20gJy4vcnVudGltZS50eXBlcyc7XG5leHBvcnQgKiBmcm9tICcuL3VpLWRlZmluaXRpb24udHlwZXMnO1xuZXhwb3J0ICogZnJvbSAnLi9waXBlLnR5cGVzJztcbiJdfQ==
|
7
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaW5kZXguanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi9saWJzL3Nkay9jb3JlL3R5cGVzL2luZGV4LnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLGNBQWMsNEJBQTRCLENBQUM7QUFDM0MsY0FBYyw2QkFBNkIsQ0FBQztBQUM1QyxjQUFjLHFCQUFxQixDQUFDO0FBQ3BDLGNBQWMsY0FBYyxDQUFDO0FBQzdCLGNBQWMsaUJBQWlCLENBQUM7QUFDaEMsY0FBYyx1QkFBdUIsQ0FBQyIsInNvdXJjZXNDb250ZW50IjpbImV4cG9ydCAqIGZyb20gJy4vZmxvdy1jdXN0b21pemF0aW9uLnR5cGVzJztcbmV4cG9ydCAqIGZyb20gJy4vZm9ybWF0dGluZy1zZXR0aW5ncy50eXBlcyc7XG5leHBvcnQgKiBmcm9tICcuL2ludGVncmF0aW9uLnR5cGVzJztcbmV4cG9ydCAqIGZyb20gJy4vcGlwZS50eXBlcyc7XG5leHBvcnQgKiBmcm9tICcuL3J1bnRpbWUudHlwZXMnO1xuZXhwb3J0ICogZnJvbSAnLi91aS1kZWZpbml0aW9uLnR5cGVzJztcbiJdfQ==
|
@@ -0,0 +1,2 @@
|
|
1
|
+
export {};
|
2
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaW50ZWdyYXRpb24udHlwZXMuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi9saWJzL3Nkay9jb3JlL3R5cGVzL2ludGVncmF0aW9uLnR5cGVzLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiIiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBEaWN0aW9uYXJ5IH0gZnJvbSAnbG9kYXNoJztcblxuZXhwb3J0IGludGVyZmFjZSBJbnRlZ3JhdGlvbkFjdGlvbjxUID0gYW55PiB7XG4gIHR5cGU6IHN0cmluZztcbiAgcGF5bG9hZD86IFQ7XG59XG5cbmV4cG9ydCB0eXBlIEludGVncmF0aW9uU3RhdGVNb2RlbCA9IHtcbiAgZ3VpZGVkU2VsbGluZz86IERpY3Rpb25hcnk8YW55PjtcbiAgZmxvd1BhdGg6IHN0cmluZztcbiAgZGlhbG9nUmVzdWx0PzogYm9vbGVhbjtcbn0gJiBEaWN0aW9uYXJ5PGFueT47XG4iXX0=
|