@veloceapps/sdk 6.0.0-23 → 6.0.0-24
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/bundles/veloceapps-sdk-core.umd.js +19 -22
- package/bundles/veloceapps-sdk-core.umd.js.map +1 -1
- package/bundles/veloceapps-sdk-runtime.umd.js.map +1 -1
- package/bundles/veloceapps-sdk.umd.js +6 -16
- package/bundles/veloceapps-sdk.umd.js.map +1 -1
- package/core/modules/configuration/services/configuration-runtime.service.d.ts +1 -3
- package/core/modules/configuration/services/configuration.service.d.ts +4 -3
- package/core/modules/configuration/types/configuration-runtime.types.d.ts +0 -2
- package/core/services/quote-draft.service.d.ts +2 -2
- package/core/types/index.d.ts +0 -1
- package/esm2015/core/modules/configuration/services/configuration-runtime.service.js +1 -6
- package/esm2015/core/modules/configuration/services/configuration.service.js +17 -15
- package/esm2015/core/modules/configuration/types/configuration-runtime.types.js +1 -1
- package/esm2015/core/services/quote-draft.service.js +4 -4
- package/esm2015/core/types/index.js +1 -2
- package/esm2015/runtime/execution/directives/vl-quote.directive.js +1 -1
- package/esm2015/runtime/services/configuration.service.js +1 -1
- package/esm2015/runtime/services/runtime.service.js +1 -1
- package/esm2015/runtime/types/index.js +2 -1
- package/esm2015/runtime/types/quote-states.types.js +2 -0
- package/esm2015/src/components/header/header.component.js +3 -3
- package/esm2015/src/pages/legacy-product/legacy-product.component.js +1 -1
- package/esm2015/src/pages/product/product.component.js +2 -9
- package/esm2015/src/pages/remote/remote.component.js +2 -5
- package/esm2015/src/resolvers/quote.resolver.js +3 -3
- package/fesm2015/veloceapps-sdk-core.js +19 -22
- package/fesm2015/veloceapps-sdk-core.js.map +1 -1
- package/fesm2015/veloceapps-sdk-runtime.js.map +1 -1
- package/fesm2015/veloceapps-sdk.js +6 -16
- package/fesm2015/veloceapps-sdk.js.map +1 -1
- package/package.json +1 -1
- package/runtime/services/configuration.service.d.ts +2 -1
- package/runtime/services/runtime.service.d.ts +2 -1
- package/runtime/types/index.d.ts +1 -0
- package/{core → runtime}/types/quote-states.types.d.ts +0 -0
- package/src/pages/product/product.component.d.ts +0 -1
- package/esm2015/core/types/quote-states.types.js +0 -2
@@ -1,5 +1,5 @@
|
|
1
1
|
import { ConfigurationApiService } from '@veloceapps/api';
|
2
|
-
import {
|
2
|
+
import { RuntimeModel } from '@veloceapps/core';
|
3
3
|
import { Observable } from 'rxjs';
|
4
4
|
import { ContextService } from '../../../services/context.service';
|
5
5
|
import { RuntimeContext, UIDefinition, UIDefinitionProps } from '../../../types';
|
@@ -11,7 +11,6 @@ export declare class ConfigurationRuntimeService {
|
|
11
11
|
private contextService;
|
12
12
|
private runtimeContextService;
|
13
13
|
private _runtimeContext?;
|
14
|
-
private _assets?;
|
15
14
|
private _isInitialized;
|
16
15
|
initializationProps?: RuntimeInitializationProps;
|
17
16
|
uiDefinitionProperties: UIDefinitionProps;
|
@@ -20,7 +19,6 @@ export declare class ConfigurationRuntimeService {
|
|
20
19
|
initTestMode(modelId: string, uiDefinition: UIDefinition): any;
|
21
20
|
init(props: RuntimeInitializationProps): Observable<RuntimeContext | undefined>;
|
22
21
|
private id15to18;
|
23
|
-
getAsset(lineItem: LineItem): LineItem | undefined;
|
24
22
|
get isInitialized(): boolean;
|
25
23
|
get runtimeModel(): RuntimeModel | undefined;
|
26
24
|
get runtimeContext(): RuntimeContext | undefined;
|
@@ -6,7 +6,7 @@ import { DialogService } from 'primeng/dynamicdialog';
|
|
6
6
|
import { Observable } from 'rxjs';
|
7
7
|
import { ContextService } from '../../../services/context.service';
|
8
8
|
import { QuoteDraftService } from '../../../services/quote-draft.service';
|
9
|
-
import {
|
9
|
+
import { RuntimeContext } from '../../../types';
|
10
10
|
import { ConfigurationRuntimeService } from './configuration-runtime.service';
|
11
11
|
import * as i0 from "@angular/core";
|
12
12
|
export declare class ConfigurationService {
|
@@ -17,7 +17,7 @@ export declare class ConfigurationService {
|
|
17
17
|
private messageService;
|
18
18
|
private dialogService;
|
19
19
|
private mode;
|
20
|
-
private
|
20
|
+
private configurableRamp;
|
21
21
|
private lineItem;
|
22
22
|
private charges;
|
23
23
|
private pricePlans;
|
@@ -26,7 +26,7 @@ export declare class ConfigurationService {
|
|
26
26
|
reset(): void;
|
27
27
|
patch$(lineItem: LineItem): Observable<LineItem>;
|
28
28
|
patch(lineItem: LineItem): void;
|
29
|
-
|
29
|
+
setConfigurableRamp(lineItem: LineItem): void;
|
30
30
|
get(): Observable<LineItem | undefined>;
|
31
31
|
getSnapshot(): LineItem | undefined;
|
32
32
|
getRuntimeModel(): RuntimeModel | undefined;
|
@@ -41,6 +41,7 @@ export declare class ConfigurationService {
|
|
41
41
|
configureExternal$(productId: string, qty?: number): Observable<LineItem>;
|
42
42
|
private createRequest;
|
43
43
|
private showInactiveProductsConfirmation;
|
44
|
+
private getAsset;
|
44
45
|
static ɵfac: i0.ɵɵFactoryDeclaration<ConfigurationService, never>;
|
45
46
|
static ɵprov: i0.ɵɵInjectableDeclaration<ConfigurationService>;
|
46
47
|
}
|
@@ -17,8 +17,8 @@ export declare class QuoteDraftService {
|
|
17
17
|
set isInitialized(value: boolean);
|
18
18
|
get hasUnsavedChanges(): boolean;
|
19
19
|
set hasUnsavedChanges(value: boolean);
|
20
|
-
get
|
21
|
-
get
|
20
|
+
get hasProducts$(): Observable<boolean>;
|
21
|
+
get hasProducts(): boolean;
|
22
22
|
allPriceLists: PriceList[];
|
23
23
|
assetPriceLists: PriceList[];
|
24
24
|
reset$: Observable<boolean>;
|
package/core/types/index.d.ts
CHANGED
@@ -18,7 +18,6 @@ export class ConfigurationRuntimeService {
|
|
18
18
|
reset() {
|
19
19
|
this._isInitialized = false;
|
20
20
|
this._runtimeContext = undefined;
|
21
|
-
this._assets = undefined;
|
22
21
|
this.initializationProps = undefined;
|
23
22
|
this.uiDefinitionProperties = {};
|
24
23
|
}
|
@@ -44,7 +43,6 @@ export class ConfigurationRuntimeService {
|
|
44
43
|
}
|
45
44
|
init(props) {
|
46
45
|
this.initializationProps = props;
|
47
|
-
this._assets = props.assets;
|
48
46
|
const context = this.contextService.resolve();
|
49
47
|
return this.runtimeContextService.getRuntimeContext(props.productId, props.offeringId).pipe(tap(runtimeContext => {
|
50
48
|
var _a, _b, _c, _d;
|
@@ -70,9 +68,6 @@ export class ConfigurationRuntimeService {
|
|
70
68
|
source[propertyName] = SalesforceIdUtils.generateId18FromId15(value);
|
71
69
|
}
|
72
70
|
}
|
73
|
-
getAsset(lineItem) {
|
74
|
-
return this._assets && this._assets.find(a => a.id === lineItem.openOrderLineItemId || a.id === lineItem.assetId);
|
75
|
-
}
|
76
71
|
get isInitialized() {
|
77
72
|
return this._isInitialized;
|
78
73
|
}
|
@@ -89,4 +84,4 @@ ConfigurationRuntimeService.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "1
|
|
89
84
|
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "12.2.17", ngImport: i0, type: ConfigurationRuntimeService, decorators: [{
|
90
85
|
type: Injectable
|
91
86
|
}], ctorParameters: function () { return [{ type: i1.ConfigurationApiService }, { type: i2.ContextService }, { type: i3.RuntimeContextService }]; } });
|
92
|
-
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiY29uZmlndXJhdGlvbi1ydW50aW1lLnNlcnZpY2UuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi8uLi8uLi9saWJzL3Nkay9jb3JlL21vZHVsZXMvY29uZmlndXJhdGlvbi9zZXJ2aWNlcy9jb25maWd1cmF0aW9uLXJ1bnRpbWUuc2VydmljZS50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQUUsVUFBVSxFQUFFLE1BQU0sZUFBZSxDQUFDO0FBRTNDLE9BQU8sRUFBRSx3QkFBd0IsRUFBWSxZQUFZLEVBQUUsaUJBQWlCLEVBQUUsTUFBTSxrQkFBa0IsQ0FBQztBQUV2RyxPQUFPLEVBQUUsYUFBYSxFQUFjLE1BQU0sTUFBTSxDQUFDO0FBQ2pELE9BQU8sRUFBRSxLQUFLLEVBQUUsR0FBRyxFQUFFLE1BQU0sZ0JBQWdCLENBQUM7QUFFNUMsT0FBTyxFQUFrQixXQUFXLEVBQW1DLE1BQU0sZ0JBQWdCLENBQUM7Ozs7O0FBSzlGLE1BQU0sT0FBTywyQkFBMkI7SUFRdEMsWUFDVSxVQUFtQyxFQUNuQyxjQUE4QixFQUM5QixxQkFBNEM7UUFGNUMsZUFBVSxHQUFWLFVBQVUsQ0FBeUI7UUFDbkMsbUJBQWMsR0FBZCxjQUFjLENBQWdCO1FBQzlCLDBCQUFxQixHQUFyQixxQkFBcUIsQ0FBdUI7UUFSOUMsbUJBQWMsR0FBRyxLQUFLLENBQUM7UUFHeEIsMkJBQXNCLEdBQXNCLEVBQUUsQ0FBQztJQU1uRCxDQUFDO0lBRUcsS0FBSztRQUNWLElBQUksQ0FBQyxjQUFjLEdBQUcsS0FBSyxDQUFDO1FBQzVCLElBQUksQ0FBQyxlQUFlLEdBQUcsU0FBUyxDQUFDO1FBQ2pDLElBQUksQ0FBQyxPQUFPLEdBQUcsU0FBUyxDQUFDO1FBQ3pCLElBQUksQ0FBQyxtQkFBbUIsR0FBRyxTQUFTLENBQUM7UUFDckMsSUFBSSxDQUFDLHNCQUFzQixHQUFHLEVBQUUsQ0FBQztJQUNuQyxDQUFDO0lBRU0sWUFBWSxDQUFDLE9B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QVUiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBJbmplY3RhYmxlIH0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XG5pbXBvcnQgeyBDb25maWd1cmF0aW9uQXBpU2VydmljZSB9IGZyb20gJ0B2ZWxvY2VhcHBzL2FwaSc7XG5pbXBvcnQgeyBDb25maWd1cmF0aW9uQ29udGV4dE1vZGUsIExpbmVJdGVtLCBSdW50aW1lTW9kZWwsIFNhbGVzZm9yY2VJZFV0aWxzIH0gZnJvbSAnQHZlbG9jZWFwcHMvY29yZSc7XG5pbXBvcnQgeyBEaWN0aW9uYXJ5IH0gZnJvbSAnbG9kYXNoJztcbmltcG9ydCB7IGNvbWJpbmVMYXRlc3QsIE9ic2VydmFibGUgfSBmcm9tICdyeGpzJztcbmltcG9ydCB7IGZpcnN0LCB0YXAgfSBmcm9tICdyeGpzL29wZXJhdG9ycyc7XG5pbXBvcnQgeyBDb250ZXh0U2VydmljZSB9IGZyb20gJy4uLy4uLy4uL3NlcnZpY2VzL2NvbnRleHQuc2VydmljZSc7XG5pbXBvcnQgeyBSdW50aW1lQ29udGV4dCwgUnVudGltZU1vZGUsIFVJRGVmaW5pdGlvbiwgVUlEZWZpbml0aW9uUHJvcHMgfSBmcm9tICcuLi8uLi8uLi90eXBlcyc7XG5pbXBvcnQgeyBSdW50aW1lSW5pdGlhbGl6YXRpb25Qcm9wcyB9IGZyb20gJy4uL3R5cGVzL2NvbmZpZ3VyYXRpb24tcnVudGltZS50eXBlcyc7XG5pbXBvcnQgeyBSdW50aW1lQ29udGV4dFNlcnZpY2UgfSBmcm9tICcuL3J1bnRpbWUtY29udGV4dC5zZXJ2aWNlJztcblxuQEluamVjdGFibGUoKVxuZXhwb3J0IGNsYXNzIENvbmZpZ3VyYXRpb25SdW50aW1lU2VydmljZSB7XG4gIHByaXZhdGUgX3J1bnRpbWVDb250ZXh0PzogUnVudGltZUNvbnRleHQ7XG4gIHByaXZhdGUgX2Fzc2V0cz86IExpbmVJdGVtW107XG4gIHByaXZhdGUgX2lzSW5pdGlhbGl6ZWQgPSBmYWxzZTtcblxuICBwdWJsaWMgaW5pdGlhbGl6YXRpb25Qcm9wcz86IFJ1bnRpbWVJbml0aWFsaXphdGlvblByb3BzO1xuICBwdWJsaWMgdWlEZWZpbml0aW9uUHJvcGVydGllczogVUlEZWZpbml0aW9uUHJvcHMgPSB7fTtcblxuICBjb25zdHJ1Y3RvcihcbiAgICBwcml2YXRlIGFwaVNlcnZpY2U6IENvbmZpZ3VyYXRpb25BcGlTZXJ2aWNlLFxuICAgIHByaXZhdGUgY29udGV4dFNlcnZpY2U6IENvbnRleHRTZXJ2aWNlLFxuICAgIHByaXZhdGUgcnVudGltZUNvbnRleHRTZXJ2aWNlOiBSdW50aW1lQ29udGV4dFNlcnZpY2UsXG4gICkge31cblxuICBwdWJsaWMgcmVzZXQoKTogdm9pZCB7XG4gICAgdGhpcy5faXNJbml0aWFsaXplZCA9IGZhbHNlO1xuICAgIHRoaXMuX3J1bnRpbWVDb250ZXh0ID0gdW5kZWZpbmVkO1xuICAgIHRoaXMuX2Fzc2V0cyA9IHVuZGVmaW5lZDtcbiAgICB0aGlzLmluaXRpYWxpemF0aW9uUHJvcHMgPSB1bmRlZmluZWQ7XG4gICAgdGhpcy51aURlZmluaXRpb25Qcm9wZXJ0aWVzID0ge307XG4gIH1cblxuICBwdWJsaWMgaW5pdFRlc3RNb2RlKG1vZGVsSWQ6IHN0cmluZywgdWlEZWZpbml0aW9uOiBVSURlZmluaXRpb24pOiBhbnkge1xuICAgIHRoaXMudWlEZWZpbml0aW9uUHJvcGVydGllcyA9IHVpRGVmaW5pdGlvbi5wcm9wZXJ0aWVzID8/IHt9O1xuICAgIGNvbnN0IHVpRGVmaW5pdGlvbkV4dGVybmFscyA9IHVpRGVmaW5pdGlvbi5leHRlcm5hbHMgPz8ge307XG5cbiAgICByZXR1cm4gY29tYmluZUxhdGVzdChbXG4gICAgICB0aGlzLmFwaVNlcnZpY2UuZ2V0UnVudGltZURhdGFCeU1vZGVsSWQobW9kZWxJZCksXG4gICAgICB0aGlzLmNvbnRleHRTZXJ2aWNlLmNyZWF0ZSgnVGVzdElkJywgQ29uZmlndXJhdGlvbkNvbnRleHRNb2RlLlRFU1QpLFxuICAgIF0pLnBpcGUoXG4gICAgICBmaXJzdCgpLFxuICAgICAgdGFwKChbcnVudGltZURhdGEsIGNvbnRleHRdKSA9PiB7XG4gICAgICAgIHRoaXMuX3J1bnRpbWVDb250ZXh0ID0ge1xuICAgICAgICAgIG1vZGVsSWQ6IG1vZGVsSWQsXG4gICAgICAgICAgcnVudGltZU1vZGVsOiBSdW50aW1lTW9kZWwuY3JlYXRlKHJ1bnRpbWVEYXRhLnR5cGVzLCBydW50aW1lRGF0YS5wcm9kdWN0cyksXG4gICAgICAgICAgcnVudGltZU1vZGU6IFJ1bnRpbWVNb2RlLlRFU1QsXG4gICAgICAgIH07XG5cbiAgICAgICAgdGhpcy5jb250ZXh0U2VydmljZS51cGRhdGUoe1xuICAgICAgICAgIHByb3BlcnRpZXM6IHtcbiAgICAgICAgICAgIC4uLnRoaXMucnVudGltZUNvbnRleHQ/LnByb3BlcnRpZXMsXG4gICAgICAgICAgICAuLi5jb250ZXh0LnByb3BlcnRpZXMsXG4gICAgICAgICAgICBNb2RlbElkOiBtb2RlbElkLFxuICAgICAgICAgICAgUnVudGltZU1vZGU6IENvbmZpZ3VyYXRpb25Db250ZXh0TW9kZS5URVNULFxuICAgICAgICAgICAgUHJpY2luZ0VuYWJsZWQ6IHRoaXMudWlEZWZpbml0aW9uUHJvcGVydGllcy5wcmljaW5nRW5hYmxlZCA/ICd0cnVlJyA6ICdmYWxzZScsXG4gICAgICAgICAgICBTdGFydERhdGU6IG5ldyBEYXRlKCkudG9JU09TdHJpbmcoKS5zdWJzdHJpbmcoMCwgMTApLFxuICAgICAgICAgICAgUHJpY2VMaXN0SWQ6IHRoaXMudWlEZWZpbml0aW9uUHJvcGVydGllcy5wcmljZUxpc3QsXG4gICAgICAgICAgICBzdGFuZGFsb25lOiAndHJ1ZScsXG4gICAgICAgICAgICAuLi51aURlZmluaXRpb25FeHRlcm5hbHMsXG4gICAgICAgICAgfSxcbiAgICAgICAgfSk7XG5cbiAgICAgICAgdGhpcy5faXNJbml0aWFsaXplZCA9IHRydWU7XG4gICAgICB9KSxcbiAgICApO1xuICB9XG5cbiAgcHVibGljIGluaXQocHJvcHM6IFJ1bnRpbWVJbml0aWFsaXphdGlvblByb3BzKTogT2JzZXJ2YWJsZTxSdW50aW1lQ29udGV4dCB8IHVuZGVmaW5lZD4ge1xuICAgIHRoaXMuaW5pdGlhbGl6YXRpb25Qcm9wcyA9IHByb3BzO1xuICAgIHRoaXMuX2Fzc2V0cyA9IHByb3BzLmFzc2V0cztcbiAgICBjb25zdCBjb250ZXh0ID0gdGhpcy5jb250ZXh0U2VydmljZS5yZXNvbHZlKCk7XG5cbiAgICByZXR1cm4gdGhpcy5ydW50aW1lQ29udGV4dFNlcnZpY2UuZ2V0UnVudGltZUNvbnRleHQocHJvcHMucHJvZHVjdElkLCBwcm9wcy5vZmZlcmluZ0lkKS5waXBlKFxuICAgICAgdGFwKHJ1bnRpbWVDb250ZXh0ID0+IHtcbiAgICAgICAgdGhpcy51aURlZmluaXRpb25Qcm9wZXJ0aWVzID0gcnVudGltZUNvbnRleHQudWlEZWZpbml0aW9uPy5wcm9wZXJ0aWVzID8/IHt9O1xuICAgICAgICBjb25zdCB7IFByaWNlTGlzdElkIH0gPSBjb250ZXh0LnByb3BlcnRpZXMgPz8ge307XG5cbiAgICAgICAgY29uc3QgbWVyZ2VDb250ZXh0OiBSdW50aW1lQ29udGV4dCA9IHtcbiAgICAgICAgICAuLi5ydW50aW1lQ29udGV4dCxcbiAgICAgICAgICBwcm9wZXJ0aWVzOiB7XG4gICAgICAgICAgICAuLi5ydW50aW1lQ29udGV4dC5wcm9wZXJ0aWVzLFxuICAgICAgICAgICAgLi4uY29udGV4dC5wcm9wZXJ0aWVzLFxuICAgICAgICAgICAgUHJpY2luZ0VuYWJsZWQ6IFByaWNlTGlzdElkID8gJ3RydWUnIDogJ2ZhbHNlJyxcbiAgICAgICAgICB9LFxuICAgICAgICB9O1xuXG4gICAgICAgIHRoaXMuaWQxNXRvMTgoJ0FjY291bnRJZCcsIG1lcmdlQ29udGV4dC5wcm9wZXJ0aWVzKTtcbiAgICAgICAgdGhpcy5fcnVudGltZUNvbnRleHQgPSBtZXJnZUNvbnRleHQ7XG5cbiAgICAgICAgaWYgKGNvbnRleHQucHJvcGVydGllcyAmJiB0aGlzLl9ydW50aW1lQ29udGV4dC5wcm9wZXJ0aWVzPy5TdGFydERhdGUpIHtcbiAgICAgICAgICB0aGlzLmNvbnRleHRTZXJ2aWNlLnVwZGF0ZSh7XG4gICAgICAgICAgICBwcm9wZXJ0aWVzOiB7XG4gICAgICAgICAgICAgIC4uLnRoaXMuX3J1bnRpbWVDb250ZXh0LnByb3BlcnRpZXMsXG4gICAgICAgICAgICAgIC4uLmNvbnRleHQucHJvcGVydGllcyxcbiAgICAgICAgICAgIH0sXG4gICAgICAgICAgfSk7XG4gICAgICAgIH1cblxuICAgICAgICB0aGlzLl9pc0luaXRpYWxpemVkID0gdHJ1ZTtcbiAgICAgIH0pLFxuICAgICk7XG4gIH1cblxuICBwcml2YXRlIGlkMTV0bzE4KHByb3BlcnR5TmFtZTogc3RyaW5nLCBzb3VyY2U/OiBEaWN0aW9uYXJ5PGFueT4pOiB2b2lkIHtcbiAgICBpZiAoIXNvdXJjZSkge1xuICAgICAgcmV0dXJuO1xuICAgIH1cblxuICAgIGNvbnN0IHZhbHVlID0gc291cmNlW3Byb3BlcnR5TmFtZV07XG5cbiAgICBpZiAodHlwZW9mIHZhbHVlID09PSAnc3RyaW5nJyAmJiB2YWx1ZS5sZW5ndGggPT09IDE1KSB7XG4gICAgICBzb3VyY2VbcHJvcGVydHlOYW1lXSA9IFNhbGVzZm9yY2VJZFV0aWxzLmdlbmVyYXRlSWQxOEZyb21JZDE1KHZhbHVlKTtcbiAgICB9XG4gIH1cblxuICBwdWJsaWMgZ2V0QXNzZXQobGluZUl0ZW06IExpbmVJdGVtKTogTGluZUl0ZW0gfCB1bmRlZmluZWQge1xuICAgIHJldHVybiB0aGlzLl9hc3NldHMgJiYgdGhpcy5fYXNzZXRzLmZpbmQoYSA9PiBhLmlkID09PSBsaW5lSXRlbS5vcGVuT3JkZXJMaW5lSXRlbUlkIHx8IGEuaWQgPT09IGxpbmVJdGVtLmFzc2V0SWQpO1xuICB9XG5cbiAgcHVibGljIGdldCBpc0luaXRpYWxpemVkKCk6IGJvb2xlYW4ge1xuICAgIHJldHVybiB0aGlzLl9pc0luaXRpYWxpemVkO1xuICB9XG5cbiAgcHVibGljIGdldCBydW50aW1lTW9kZWwoKTogUnVudGltZU1vZGVsIHwgdW5kZWZpbmVkIHtcbiAgICByZXR1cm4gdGhpcy5ydW50aW1lQ29udGV4dD8ucnVudGltZU1vZGVsO1xuICB9XG5cbiAgcHVibGljIGdldCBydW50aW1lQ29udGV4dCgpOiBSdW50aW1lQ29udGV4dCB8IHVuZGVmaW5lZCB7XG4gICAgcmV0dXJuIHRoaXMuX3J1bnRpbWVDb250ZXh0O1xuICB9XG59XG4iXX0=
|
87
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiY29uZmlndXJhdGlvbi1ydW50aW1lLnNlcnZpY2UuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi8uLi8uLi9saWJzL3Nkay9jb3JlL21vZHVsZXMvY29uZmlndXJhdGlvbi9zZXJ2aWNlcy9jb25maWd1cmF0aW9uLXJ1bnRpbWUuc2VydmljZS50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQUUsVUFBVSxFQUFFLE1BQU0sZUFBZSxDQUFDO0FBRTNDLE9BQU8sRUFBRSx3QkFBd0IsRUFBRSxZQUFZLEVBQUUsaUJBQWlCLEVBQUUsTUFBTSxrQkFBa0IsQ0FBQztBQUU3RixPQUFPLEVBQUUsYUFBYSxFQUFjLE1BQU0sTUFBTSxDQUFDO0FBQ2pELE9BQU8sRUFBRSxLQUFLLEVBQUUsR0FBRyxFQUFFLE1BQU0sZ0JBQWdCLENBQUM7QUFFNUMsT0FBTyxFQUFrQixXQUFXLEVBQW1DLE1BQU0sZ0JBQWdCLENBQUM7Ozs7O0FBSzlGLE1BQU0sT0FBTywyQkFBMkI7SUFPdEMsWUFDVSxVQUFtQyxFQUNuQyxjQUE4QixFQUM5QixxQkFBNEM7UUFGNUMsZUFBVSxHQUFWLFVBQVUsQ0FBeUI7UUFDbkMsbUJBQWMsR0FBZCxjQUFjLENBQWdCO1FBQzlCLDBCQUFxQixHQUFyQixxQkFBcUIsQ0FBdUI7UUFSOUMsbUJBQWMsR0FBRyxLQUFLLENBQUM7UUFHeEIsMkJBQXNCLEdBQXNCLEVBQUUsQ0FBQztJQU1uRCxDQUFDO0lBRUcsS0FBSztRQUNWLElBQUksQ0FBQyxjQUFjLEdBQUcsS0FBSyxDQUFDO1FBQzVCLElBQUksQ0FBQyxlQUFlLEdBQUcsU0FBUyxDQUFDO1FBQ2pDLElBQUksQ0FBQyxtQkFBbUIsR0FBRyxTQUFTLENBQUM7UUFDckMsSUFBSSxDQUFDLHNCQUFzQixHQUFHLEVBQUUsQ0FBQztJQUNuQyxDQUFDO0lBRU0sWUFBWSxDQUFDLE9BQWUsRUFBRSxZQUEwQjs7UUFDN0QsSUFBSSxDQUFDLHNCQUFz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Q0FBQyxVQUFVLENBQ3RCO2lCQUNGLENBQUMsQ0FBQzthQUNKO1lBRUQsSUFBSSxDQUFDLGNBQWMsR0FBRyxJQUFJLENBQUM7UUFDN0IsQ0FBQyxDQUFDLENBQ0gsQ0FBQztJQUNKLENBQUM7SUFFTyxRQUFRLENBQUMsWUFBb0IsRUFBRSxNQUF3QjtRQUM3RCxJQUFJLENBQUMsTUFBTSxFQUFFO1lBQ1gsT0FBTztTQUNSO1FBRUQsTUFBTSxLQUFLLEdBQUcsTUFBTSxDQUFDLFlBQVksQ0FBQyxDQUFDO1FBRW5DLElBQUksT0FBTyxLQUFLLEtBQUssUUFBUSxJQUFJLEtBQUssQ0FBQyxNQUFNLEtBQUssRUFBRSxFQUFFO1lBQ3BELE1BQU0sQ0FBQyxZQUFZLENBQUMsR0FBRyxpQkFBaUIsQ0FBQyxvQkFBb0IsQ0FBQyxLQUFLLENBQUMsQ0FBQztTQUN0RTtJQUNILENBQUM7SUFFRCxJQUFXLGFBQWE7UUFDdEIsT0FBTyxJQUFJLENBQUMsY0FBYyxDQUFDO0lBQzdCLENBQUM7SUFFRCxJQUFXLFlBQVk7O1FBQ3JCLE9BQU8sTUFBQSxJQUFJLENBQUMsY0FBYywwQ0FBRSxZQUFZLENBQUM7SUFDM0MsQ0FBQztJQUVELElBQVcsY0FBYztRQUN2QixPQUFPLElBQUksQ0FBQyxlQUFlLENBQUM7SUFDOUIsQ0FBQzs7eUhBaEhVLDJCQUEyQjs2SEFBM0IsMkJBQTJCOzRGQUEzQiwyQkFBMkI7a0JBRHZDLFVBQVUiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBJbmplY3RhYmxlIH0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XG5pbXBvcnQgeyBDb25maWd1cmF0aW9uQXBpU2VydmljZSB9IGZyb20gJ0B2ZWxvY2VhcHBzL2FwaSc7XG5pbXBvcnQgeyBDb25maWd1cmF0aW9uQ29udGV4dE1vZGUsIFJ1bnRpbWVNb2RlbCwgU2FsZXNmb3JjZUlkVXRpbHMgfSBmcm9tICdAdmVsb2NlYXBwcy9jb3JlJztcbmltcG9ydCB7IERpY3Rpb25hcnkgfSBmcm9tICdsb2Rhc2gnO1xuaW1wb3J0IHsgY29tYmluZUxhdGVzdCwgT2JzZXJ2YWJsZSB9IGZyb20gJ3J4anMnO1xuaW1wb3J0IHsgZmlyc3QsIHRhcCB9IGZyb20gJ3J4anMvb3BlcmF0b3JzJztcbmltcG9ydCB7IENvbnRleHRTZXJ2aWNlIH0gZnJvbSAnLi4vLi4vLi4vc2VydmljZXMvY29udGV4dC5zZXJ2aWNlJztcbmltcG9ydCB7IFJ1bnRpbWVDb250ZXh0LCBSdW50aW1lTW9kZSwgVUlEZWZpbml0aW9uLCBVSURlZmluaXRpb25Qcm9wcyB9IGZyb20gJy4uLy4uLy4uL3R5cGVzJztcbmltcG9ydCB7IFJ1bnRpbWVJbml0aWFsaXphdGlvblByb3BzIH0gZnJvbSAnLi4vdHlwZXMvY29uZmlndXJhdGlvbi1ydW50aW1lLnR5cGVzJztcbmltcG9ydCB7IFJ1bnRpbWVDb250ZXh0U2VydmljZSB9IGZyb20gJy4vcnVudGltZS1jb250ZXh0LnNlcnZpY2UnO1xuXG5ASW5qZWN0YWJsZSgpXG5leHBvcnQgY2xhc3MgQ29uZmlndXJhdGlvblJ1bnRpbWVTZXJ2aWNlIHtcbiAgcHJpdmF0ZSBfcnVudGltZUNvbnRleHQ/OiBSdW50aW1lQ29udGV4dDtcbiAgcHJpdmF0ZSBfaXNJbml0aWFsaXplZCA9IGZhbHNlO1xuXG4gIHB1YmxpYyBpbml0aWFsaXphdGlvblByb3BzPzogUnVudGltZUluaXRpYWxpemF0aW9uUHJvcHM7XG4gIHB1YmxpYyB1aURlZmluaXRpb25Qcm9wZXJ0aWVzOiBVSURlZmluaXRpb25Qcm9wcyA9IHt9O1xuXG4gIGNvbnN0cnVjdG9yKFxuICAgIHByaXZhdGUgYXBpU2VydmljZTogQ29uZmlndXJhdGlvbkFwaVNlcnZpY2UsXG4gICAgcHJpdmF0ZSBjb250ZXh0U2VydmljZTogQ29udGV4dFNlcnZpY2UsXG4gICAgcHJpdmF0ZSBydW50aW1lQ29udGV4dFNlcnZpY2U6IFJ1bnRpbWVDb250ZXh0U2VydmljZSxcbiAgKSB7fVxuXG4gIHB1YmxpYyByZXNldCgpOiB2b2lkIHtcbiAgICB0aGlzLl9pc0luaXRpYWxpemVkID0gZmFsc2U7XG4gICAgdGhpcy5fcnVudGltZUNvbnRleHQgPSB1bmRlZmluZWQ7XG4gICAgdGhpcy5pbml0aWFsaXphdGlvblByb3BzID0gdW5kZWZpbmVkO1xuICAgIHRoaXMudWlEZWZpbml0aW9uUHJvcGVydGllcyA9IHt9O1xuICB9XG5cbiAgcHVibGljIGluaXRUZXN0TW9kZShtb2RlbElkOiBzdHJpbmcsIHVpRGVmaW5pdGlvbjogVUlEZWZpbml0aW9uKTogYW55IHtcbiAgICB0aGlzLnVpRGVmaW5pdGlvblByb3BlcnRpZXMgPSB1aURlZmluaXRpb24ucHJvcGVydGllcyA/PyB7fTtcbiAgICBjb25zdCB1aURlZmluaXRpb25FeHRlcm5hbHMgPSB1aURlZmluaXRpb24uZXh0ZXJuYWxzID8/IHt9O1xuXG4gICAgcmV0dXJuIGNvbWJpbmVMYXRlc3QoW1xuICAgICAgdGhpcy5hcGlTZXJ2aWNlLmdldFJ1bnRpbWVEYXRhQnlNb2RlbElkKG1vZGVsSWQpLFxuICAgICAgdGhpcy5jb250ZXh0U2VydmljZS5jcmVhdGUoJ1Rlc3RJZCcsIENvbmZpZ3VyYXRpb25Db250ZXh0TW9kZS5URVNUKSxcbiAgICBdKS5waXBlKFxuICAgICAgZmlyc3QoKSxcbiAgICAgIHRhcCgoW3J1bnRpbWVEYXRhLCBjb250ZXh0XSkgPT4ge1xuICAgICAgICB0aGlzLl9ydW50aW1lQ29udGV4dCA9IHtcbiAgICAgICAgICBtb2RlbElkOiBtb2RlbElkLFxuICAgICAgICAgIHJ1bnRpbWVNb2RlbDogUnVudGltZU1vZGVsLmNyZWF0ZShydW50aW1lRGF0YS50eXBlcywgcnVudGltZURhdGEucHJvZHVjdHMpLFxuICAgICAgICAgIHJ1bnRpbWVNb2RlOiBSdW50aW1lTW9kZS5URVNULFxuICAgICAgICB9O1xuXG4gICAgICAgIHRoaXMuY29udGV4dFNlcnZpY2UudXBkYXRlKHtcbiAgICAgICAgICBwcm9wZXJ0aWVzOiB7XG4gICAgICAgICAgICAuLi50aGlzLnJ1bnRpbWVDb250ZXh0Py5wcm9wZXJ0aWVzLFxuICAgICAgICAgICAgLi4uY29udGV4dC5wcm9wZXJ0aWVzLFxuICAgICAgICAgICAgTW9kZWxJZDogbW9kZWxJZCxcbiAgICAgICAgICAgIFJ1bnRpbWVNb2RlOiBDb25maWd1cmF0aW9uQ29udGV4dE1vZGUuVEVTVCxcbiAgICAgICAgICAgIFByaWNpbmdFbmFibGVkOiB0aGlzLnVpRGVmaW5pdGlvblByb3BlcnRpZXMucHJpY2luZ0VuYWJsZWQgPyAndHJ1ZScgOiAnZmFsc2UnLFxuICAgICAgICAgICAgU3RhcnREYXRlOiBuZXcgRGF0ZSgpLnRvSVNPU3RyaW5nKCkuc3Vic3RyaW5nKDAsIDEwKSxcbiAgICAgICAgICAgIFByaWNlTGlzdElkOiB0aGlzLnVpRGVmaW5pdGlvblByb3BlcnRpZXMucHJpY2VMaXN0LFxuICAgICAgICAgICAgc3RhbmRhbG9uZTogJ3RydWUnLFxuICAgICAgICAgICAgLi4udWlEZWZpbml0aW9uRXh0ZXJuYWxzLFxuICAgICAgICAgIH0sXG4gICAgICAgIH0pO1xuXG4gICAgICAgIHRoaXMuX2lzSW5pdGlhbGl6ZWQgPSB0cnVlO1xuICAgICAgfSksXG4gICAgKTtcbiAgfVxuXG4gIHB1YmxpYyBpbml0KHByb3BzOiBSdW50aW1lSW5pdGlhbGl6YXRpb25Qcm9wcyk6IE9ic2VydmFibGU8UnVudGltZUNvbnRleHQgfCB1bmRlZmluZWQ+IHtcbiAgICB0aGlzLmluaXRpYWxpemF0aW9uUHJvcHMgPSBwcm9wcztcbiAgICBjb25zdCBjb250ZXh0ID0gdGhpcy5jb250ZXh0U2VydmljZS5yZXNvbHZlKCk7XG5cbiAgICByZXR1cm4gdGhpcy5ydW50aW1lQ29udGV4dFNlcnZpY2UuZ2V0UnVudGltZUNvbnRleHQocHJvcHMucHJvZHVjdElkLCBwcm9wcy5vZmZlcmluZ0lkKS5waXBlKFxuICAgICAgdGFwKHJ1bnRpbWVDb250ZXh0ID0+IHtcbiAgICAgICAgdGhpcy51aURlZmluaXRpb25Qcm9wZXJ0aWVzID0gcnVudGltZUNvbnRleHQudWlEZWZpbml0aW9uPy5wcm9wZXJ0aWVzID8/IHt9O1xuICAgICAgICBjb25zdCB7IFByaWNlTGlzdElkIH0gPSBjb250ZXh0LnByb3BlcnRpZXMgPz8ge307XG5cbiAgICAgICAgY29uc3QgbWVyZ2VDb250ZXh0OiBSdW50aW1lQ29udGV4dCA9IHtcbiAgICAgICAgICAuLi5ydW50aW1lQ29udGV4dCxcbiAgICAgICAgICBwcm9wZXJ0aWVzOiB7XG4gICAgICAgICAgICAuLi5ydW50aW1lQ29udGV4dC5wcm9wZXJ0aWVzLFxuICAgICAgICAgICAgLi4uY29udGV4dC5wcm9wZXJ0aWVzLFxuICAgICAgICAgICAgUHJpY2luZ0VuYWJsZWQ6IFByaWNlTGlzdElkID8gJ3RydWUnIDogJ2ZhbHNlJyxcbiAgICAgICAgICB9LFxuICAgICAgICB9O1xuXG4gICAgICAgIHRoaXMuaWQxNXRvMTgoJ0FjY291bnRJZCcsIG1lcmdlQ29udGV4dC5wcm9wZXJ0aWVzKTtcbiAgICAgICAgdGhpcy5fcnVudGltZUNvbnRleHQgPSBtZXJnZUNvbnRleHQ7XG5cbiAgICAgICAgaWYgKGNvbnRleHQucHJvcGVydGllcyAmJiB0aGlzLl9ydW50aW1lQ29udGV4dC5wcm9wZXJ0aWVzPy5TdGFydERhdGUpIHtcbiAgICAgICAgICB0aGlzLmNvbnRleHRTZXJ2aWNlLnVwZGF0ZSh7XG4gICAgICAgICAgICBwcm9wZXJ0aWVzOiB7XG4gICAgICAgICAgICAgIC4uLnRoaXMuX3J1bnRpbWVDb250ZXh0LnByb3BlcnRpZXMsXG4gICAgICAgICAgICAgIC4uLmNvbnRleHQucHJvcGVydGllcyxcbiAgICAgICAgICAgIH0sXG4gICAgICAgICAgfSk7XG4gICAgICAgIH1cblxuICAgICAgICB0aGlzLl9pc0luaXRpYWxpemVkID0gdHJ1ZTtcbiAgICAgIH0pLFxuICAgICk7XG4gIH1cblxuICBwcml2YXRlIGlkMTV0bzE4KHByb3BlcnR5TmFtZTogc3RyaW5nLCBzb3VyY2U/OiBEaWN0aW9uYXJ5PGFueT4pOiB2b2lkIHtcbiAgICBpZiAoIXNvdXJjZSkge1xuICAgICAgcmV0dXJuO1xuICAgIH1cblxuICAgIGNvbnN0IHZhbHVlID0gc291cmNlW3Byb3BlcnR5TmFtZV07XG5cbiAgICBpZiAodHlwZW9mIHZhbHVlID09PSAnc3RyaW5nJyAmJiB2YWx1ZS5sZW5ndGggPT09IDE1KSB7XG4gICAgICBzb3VyY2VbcHJvcGVydHlOYW1lXSA9IFNhbGVzZm9yY2VJZFV0aWxzLmdlbmVyYXRlSWQxOEZyb21JZDE1KHZhbHVlKTtcbiAgICB9XG4gIH1cblxuICBwdWJsaWMgZ2V0IGlzSW5pdGlhbGl6ZWQoKTogYm9vbGVhbiB7XG4gICAgcmV0dXJuIHRoaXMuX2lzSW5pdGlhbGl6ZWQ7XG4gIH1cblxuICBwdWJsaWMgZ2V0IHJ1bnRpbWVNb2RlbCgpOiBSdW50aW1lTW9kZWwgfCB1bmRlZmluZWQge1xuICAgIHJldHVybiB0aGlzLnJ1bnRpbWVDb250ZXh0Py5ydW50aW1lTW9kZWw7XG4gIH1cblxuICBwdWJsaWMgZ2V0IHJ1bnRpbWVDb250ZXh0KCk6IFJ1bnRpbWVDb250ZXh0IHwgdW5kZWZpbmVkIHtcbiAgICByZXR1cm4gdGhpcy5fcnVudGltZUNvbnRleHQ7XG4gIH1cbn1cbiJdfQ==
|
@@ -22,7 +22,6 @@ export class ConfigurationService {
|
|
22
22
|
this.messageService = messageService;
|
23
23
|
this.dialogService = dialogService;
|
24
24
|
this.mode = ConfigurationMode.SEARCH;
|
25
|
-
this.states = {};
|
26
25
|
this.lineItem = new BehaviorSubject(undefined);
|
27
26
|
this.charges = new BehaviorSubject({});
|
28
27
|
this.pricePlans = new BehaviorSubject({});
|
@@ -31,7 +30,7 @@ export class ConfigurationService {
|
|
31
30
|
reset() {
|
32
31
|
this.hasUnsavedChanges = false;
|
33
32
|
this.runtimeService.reset();
|
34
|
-
this.
|
33
|
+
this.configurableRamp = undefined;
|
35
34
|
this.lineItem.next(undefined);
|
36
35
|
this.charges.next({});
|
37
36
|
this.pricePlans.next({});
|
@@ -40,10 +39,7 @@ export class ConfigurationService {
|
|
40
39
|
if (!this.lineItem.value) {
|
41
40
|
return throwError(() => new Error(`Source LineItem not found`));
|
42
41
|
}
|
43
|
-
this.
|
44
|
-
this.states.asset = this.states.configurableRamp
|
45
|
-
? this.runtimeService.getAsset(this.states.configurableRamp)
|
46
|
-
: undefined;
|
42
|
+
this.configurableRamp = new LineItemWorker(this.lineItem.value).replace(lineItem).li;
|
47
43
|
return this.configure().pipe(catchError(error => {
|
48
44
|
console.error(error);
|
49
45
|
if (!this.runtimeService.uiDefinitionProperties.suppressToastMessages) {
|
@@ -61,8 +57,8 @@ export class ConfigurationService {
|
|
61
57
|
patch(lineItem) {
|
62
58
|
this.patch$(lineItem).subscribe();
|
63
59
|
}
|
64
|
-
|
65
|
-
this.
|
60
|
+
setConfigurableRamp(lineItem) {
|
61
|
+
this.configurableRamp = lineItem;
|
66
62
|
}
|
67
63
|
get() {
|
68
64
|
return this.lineItem.asObservable().pipe(shareReplay());
|
@@ -103,7 +99,7 @@ export class ConfigurationService {
|
|
103
99
|
}
|
104
100
|
const uiDefinitionProperties = Object.assign(Object.assign({}, ((_b = (_a = runtimeContext.uiDefinition) === null || _a === void 0 ? void 0 : _a.properties) !== null && _b !== void 0 ? _b : {})), ((_c = this.runtimeService.uiDefinitionProperties) !== null && _c !== void 0 ? _c : {}));
|
105
101
|
const qty = (_d = this.runtimeService.initializationProps) === null || _d === void 0 ? void 0 : _d.defaultQty;
|
106
|
-
const lineItem = (_e = this.
|
102
|
+
const lineItem = (_e = this.configurableRamp) !== null && _e !== void 0 ? _e : getDefaultLineItem(runtimeContext, uiDefinitionProperties, qty);
|
107
103
|
const configurationRequest = this.createRequest(lineItem);
|
108
104
|
const mainPricingEnabled = (_f = runtimeContext.properties) === null || _f === void 0 ? void 0 : _f.PricingEnabled;
|
109
105
|
const pricingEnabled = mainPricingEnabled ? mainPricingEnabled === 'true' : uiDefinitionProperties.pricingEnabled;
|
@@ -121,23 +117,21 @@ export class ConfigurationService {
|
|
121
117
|
.pipe(tap(lineItem => lineItem && this.lineItem.next(lineItem)), catchError(error => throwError(() => { var _a; return new Error(((_a = error.error) === null || _a === void 0 ? void 0 : _a.message) || error.message || JSON.stringify(error)); })));
|
122
118
|
}
|
123
119
|
configureExternal$(productId, qty) {
|
124
|
-
this.updateCurrentStates({
|
125
|
-
currentState: this.quoteDraftService.currentState,
|
126
|
-
});
|
127
120
|
return this.runtimeService.init({ productId, defaultQty: qty }).pipe(switchMap(() => this.configure()), first(), catchError(error => {
|
128
121
|
this.messageService.add({ severity: ToastType.error, summary: error });
|
129
122
|
throw error;
|
130
123
|
}), finalize(() => this.reset()));
|
131
124
|
}
|
132
125
|
createRequest(lineItem) {
|
126
|
+
var _a;
|
133
127
|
return {
|
134
128
|
lineItem,
|
135
129
|
mode: this.mode,
|
136
130
|
step: !this.lineItem.value ? RuntimeStep.START : RuntimeStep.UPDATE,
|
137
131
|
attributeDomainMode: 'ALL',
|
138
132
|
context: this.contextService.resolve(),
|
139
|
-
lineItems: this.
|
140
|
-
asset: this.
|
133
|
+
lineItems: ((_a = this.quoteDraftService.quoteDraft) === null || _a === void 0 ? void 0 : _a.currentState) || [],
|
134
|
+
asset: this.getAsset(),
|
141
135
|
};
|
142
136
|
}
|
143
137
|
showInactiveProductsConfirmation() {
|
@@ -165,10 +159,18 @@ export class ConfigurationService {
|
|
165
159
|
}
|
166
160
|
});
|
167
161
|
}
|
162
|
+
getAsset() {
|
163
|
+
var _a;
|
164
|
+
const lineItem = this.configurableRamp;
|
165
|
+
if (!lineItem) {
|
166
|
+
return;
|
167
|
+
}
|
168
|
+
return (_a = this.quoteDraftService.quoteDraft) === null || _a === void 0 ? void 0 : _a.initialState.find(a => a.id === lineItem.openOrderLineItemId || a.id === lineItem.assetId);
|
169
|
+
}
|
168
170
|
}
|
169
171
|
ConfigurationService.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "12.2.17", ngImport: i0, type: ConfigurationService, deps: [{ token: i1.QuoteDraftService }, { token: i2.ConfigurationRuntimeService }, { token: i3.ContextService }, { token: i4.ConfigurationApiService }, { token: i5.MessageService }, { token: i6.DialogService }], target: i0.ɵɵFactoryTarget.Injectable });
|
170
172
|
ConfigurationService.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "12.2.17", ngImport: i0, type: ConfigurationService });
|
171
173
|
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "12.2.17", ngImport: i0, type: ConfigurationService, decorators: [{
|
172
174
|
type: Injectable
|
173
175
|
}], ctorParameters: function () { return [{ type: i1.QuoteDraftService }, { type: i2.ConfigurationRuntimeService }, { type: i3.ContextService }, { type: i4.ConfigurationApiService }, { type: i5.MessageService }, { type: i6.DialogService }]; } });
|
174
|
-
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiY29uZmlndXJhdGlvbi5zZXJ2aWNlLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vLi4vLi4vbGlicy9zZGsvY29yZS9tb2R1bGVzL2NvbmZpZ3VyYXRpb24vc2VydmljZXMvY29uZmlndXJhdGlvbi5zZXJ2aWNlLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBRSxVQUFVLEVBQUUsTUFBTSxlQUFlLENBQUM7QUFFM0MsT0FBTyxFQUFFLHFCQUFxQixFQUFFLFNBQVMsRUFBRSxNQUFNLHdCQUF3QixDQUFDO0FBQzFFLE9BQU8sRUFJTCxpQkFBaUIsR0FLbEIsTUFBTSxrQkFBa0IsQ0FBQztBQUkxQixPQUFPLEVBQUUsZUFBZSxFQUFjLFdBQVcsRUFBRSxVQUFVLEVBQUUsTUFBTSxNQUFNLENBQUM7QUFDNUUsT0FBTyxFQUFFLFVBQVUsRUFBRSxRQUFRLEVBQUUsS0FBSyxFQUFFLEdBQUcsRUFBRSxTQUFTLEVBQUUsR0FBRyxFQUFFLE1BQU0sZ0JBQWdCLENBQUM7QUFHbEYsT0FBTyxFQUErQixXQUFXLEVBQUUsTUFBTSxnQkFBZ0IsQ0FBQztBQUMxRSxPQUFPLEVBQUUsY0FBYyxFQUFFLE1BQU0saUNBQWlDLENBQUM7QUFDakUsT0FBTyxFQUFFLGtCQUFrQixFQUFFLE1BQU0sWUFBWSxDQUFDOzs7Ozs7OztBQU1oRCxNQUFNLE9BQU8sb0JBQW9CO0lBVS9CLFlBQ1UsaUJBQW9DLEVBQ3BDLGNBQTJDLEVBQzNDLGNBQThCLEVBQzlCLHVCQUFnRCxFQUNoRCxjQUE4QixFQUM5QixhQUE0QjtRQUw1QixzQkFBaUIsR0FBakIsaUJBQWlCLENBQW1CO1FBQ3BDLG1CQUFjLEdBQWQsY0FBYyxDQUE2QjtRQUMzQyxtQkFBYyxHQUFkLGNBQWMsQ0FBZ0I7UUFDOUIsNEJBQXVCLEdBQXZCLHVCQUF1QixDQUF5QjtRQUNoRCxtQkFBYyxHQUFkLGNBQWMsQ0FBZ0I7UUFDOUIsa0JBQWEsR0FBYixhQUFhLENB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QjthQUNGO1NBQ0YsQ0FBQzthQUNELE9BQU8sQ0FBQyxTQUFTLENBQUMsTUFBTSxDQUFDLEVBQUU7WUFDMUIsSUFBSSxDQUFDLE1BQU0sRUFBRTtnQkFDWCxNQUFNLE9BQU8sR0FBRyxJQUFJLENBQUMsY0FBYyxDQUFDLE9BQU8sRUFBRSxDQUFDO2dCQUM5QyxNQUFNLENBQUMsY0FBYyxDQUFDLENBQUMsS0FBSyxDQUFDLElBQUksRUFBRSxDQUFDLE9BQU8sQ0FBQyxRQUFRLENBQUMsQ0FBQyxDQUFDO2FBQ3hEO1FBQ0gsQ0FBQyxDQUFDLENBQUM7SUFDUCxDQUFDOztrSEExTVUsb0JBQW9CO3NIQUFwQixvQkFBb0I7NEZBQXBCLG9CQUFvQjtrQkFEaEMsVUFBVSIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IEluamVjdGFibGUgfSBmcm9tICdAYW5ndWxhci9jb3JlJztcbmltcG9ydCB7IENvbmZpZ3VyYXRpb25BcGlTZXJ2aWNlIH0gZnJvbSAnQHZlbG9jZWFwcHMvYXBpJztcbmltcG9ydCB7IENvbmZpcm1hdGlvbkNvbXBvbmVudCwgVG9hc3RUeXBlIH0gZnJvbSAnQHZlbG9jZWFwcHMvY29tcG9uZW50cyc7XG5pbXBvcnQge1xuICBDaGFyZ2UsXG4gIENvbXBpbGVkUHJpY2VQbGFuLFxuICBDb25maWd1cmF0aW9uQ29udGV4dCxcbiAgQ29uZmlndXJhdGlvbk1vZGUsXG4gIENvbmZpZ3VyYXRpb25SZXF1ZXN0LFxuICBMaW5lSXRlbSxcbiAgUnVudGltZU1vZGVsLFxuICBWbFdpbmRvdyxcbn0gZnJvbSAnQHZlbG9jZWFwcHMvY29yZSc7XG5pbXBvcnQgeyBEaWN0aW9uYXJ5IH0gZnJvbSAnbG9kYXNoJztcbmltcG9ydCB7IE1lc3NhZ2VTZXJ2aWNlIH0gZnJvbSAncHJpbWVuZy9hcGknO1xuaW1wb3J0IHsgRGlhbG9nU2VydmljZSB9IGZyb20gJ3ByaW1lbmcvZHluYW1pY2RpYWxvZyc7XG5pbXBvcnQgeyBCZWhhdmlvclN1YmplY3QsIE9ic2VydmFibGUsIHNoYXJlUmVwbGF5LCB0aHJvd0Vycm9yIH0gZnJvbSAncnhqcyc7XG5pbXBvcnQgeyBjYXRjaEVycm9yLCBmaW5hbGl6ZSwgZmlyc3QsIG1hcCwgc3dpdGNoTWFwLCB0YXAgfSBmcm9tICdyeGpzL29wZXJhdG9ycyc7XG5pbXBvcnQgeyBDb250ZXh0U2VydmljZSB9IGZyb20gJy4uLy4uLy4uL3NlcnZpY2VzL2NvbnRleHQuc2VydmljZSc7XG5pbXBvcnQgeyBRdW90ZURyYWZ0U2VydmljZSB9IGZyb20gJy4uLy4uLy4uL3NlcnZpY2VzL3F1b3RlLWRyYWZ0LnNlcnZpY2UnO1xuaW1wb3J0IHsgUXVvdGVTdGF0ZXMsIFJ1bnRpbWVDb250ZXh0LCBSdW50aW1lU3RlcCB9IGZyb20gJy4uLy4uLy4uL3R5cGVzJztcbmltcG9ydCB7IExpbmVJdGVtV29ya2VyIH0gZnJvbSAnLi4vLi4vLi4vdXRpbHMvbGluZS1pdGVtLndvcmtlcic7XG5pbXBvcnQgeyBnZXREZWZhdWx0TGluZUl0ZW0gfSBmcm9tICcuLi9oZWxwZXJzJztcbmltcG9ydCB7IENvbmZpZ3VyYXRpb25SdW50aW1lU2VydmljZSB9IGZyb20gJy4vY29uZmlndXJhdGlvbi1ydW50aW1lLnNlcnZpY2UnO1xuXG5kZWNsYXJlIGNvbnN0IHdpbmRvdzogVmxXaW5kb3c7XG5cbkBJbmplY3RhYmxlKClcbmV4cG9ydCBjbGFzcyBDb25maWd1cmF0aW9uU2VydmljZSB7XG4gIHByaXZhdGUgbW9kZSA9IENvbmZpZ3VyYXRpb25Nb2RlLlNFQVJDSDtcbiAgcHJpdmF0ZSBzdGF0ZXM6IFF1b3RlU3RhdGVzID0ge307XG5cbiAgcHJpdmF0ZSBsaW5lSXRlbSA9IG5ldyBCZWhhdmlvclN1YmplY3Q8TGluZUl0ZW0gfCB1bmRlZmluZWQ+KHVuZGVmaW5lZCk7XG4gIHByaXZhdGUgY2hhcmdlcyA9IG5ldyBCZWhhdmlvclN1YmplY3Q8RGljdGlvbmFyeTxDaGFyZ2U+Pih7fSk7XG4gIHByaXZhdGUgcHJpY2VQbGFucyA9IG5ldyBCZWhhdmlvclN1YmplY3Q8RGljdGlvbmFyeTxDb21waWxlZFByaWNlUGxhbj4+KHt9KTtcblxuICBwdWJsaWMgaGFzVW5zYXZlZENoYW5nZXMgPSBmYWxzZTtcblxuICBjb25zdHJ1Y3RvcihcbiAgICBwcml2YXRlIHF1b3RlRHJhZnRTZXJ2aWNlOiBRdW90ZURyYWZ0U2VydmljZSxcbiAgICBwcml2YXRlIHJ1bnRpbWVTZXJ2aWNlOiBDb25maWd1cmF0aW9uUnVudGltZVNlcnZpY2UsXG4gICAgcHJpdmF0ZSBjb250ZXh0U2VydmljZTogQ29udGV4dFNlcnZpY2UsXG4gICAgcHJpdmF0ZSBjb25maWd1cmF0aW9uQXBpU2VydmljZTogQ29uZmlndXJhdGlvbkFwaVNlcnZpY2UsXG4gICAgcHJpdmF0ZSBtZXNzYWdlU2VydmljZTogTWVzc2FnZVNlcnZpY2UsXG4gICAgcHJpdmF0ZSBkaWFsb2dTZXJ2aWNlOiBEaWFsb2dTZXJ2aWNlLFxuICApIHt9XG5cbiAgcHVibGljIHJlc2V0KCk6IHZvaWQge1xuICAgIHRoaXMuaGFzVW5zYXZlZENoYW5nZXMgPSBmYWxzZTtcbiAgICB0aGlzLnJ1bnRpbWVTZXJ2aWNlLnJlc2V0KCk7XG5cbiAgICB0aGlzLnN0YXRlcyA9IHt9O1xuICAgIHRoaXMubGluZUl0ZW0ubmV4dCh1bmRlZmluZWQpO1xuICAgIHRoaXMuY2hhcmdlcy5uZXh0KHt9KTtcbiAgICB0aGlzLnByaWNlUGxhbnMubmV4dCh7fSk7XG4gIH1cblxuICBwdWJsaWMgcGF0Y2gkKGxpbmVJdGVtOiBMaW5lSXRlbSk6IE9ic2VydmFibGU8TGluZUl0ZW0+IHtcbiAgICBpZiAoIXRoaXMubGluZUl0ZW0udmFsdWUpIHtcbiAgICAgIHJldHVybiB0aHJvd0Vycm9yKCgpID0+IG5ldyBFcnJvcihgU291cmNlIExpbmVJdGVtIG5vdCBmb3VuZGApKTtcbiAgICB9XG5cbiAgICB0aGlzLnN0YXRlcy5jb25maWd1cmFibGVSYW1wID0gbmV3IExpbmVJdGVtV29ya2VyKHRoaXMubGluZUl0ZW0udmFsdWUpLnJlcGxhY2UobGluZUl0ZW0pLmxpO1xuICAgIHRoaXMuc3RhdGVzLmFzc2V0ID0gdGhpcy5zdGF0ZXMuY29uZmlndXJhYmxlUmFtcFxuICAgICAgPyB0aGlzLnJ1bnRpbWVTZXJ2aWNlLmdldEFzc2V0KHRoaXMuc3RhdGVzLmNvbmZpZ3VyYWJsZVJhbXApXG4gICAgICA6IHVuZGVmaW5lZDtcblxuICAgIHJldHVybiB0aGlzLmNvbmZpZ3VyZSgpLnBpcGUoXG4gICAgICBjYXRjaEVycm9yKGVycm9yID0+IHtcbiAgICAgICAgY29uc29sZS5lcnJvcihlcnJvcik7XG5cbiAgICAgICAgaWYgKCF0aGlzLnJ1bnRpbWVTZXJ2aWNlLnVpRGVmaW5pdGlvblByb3BlcnRpZXMuc3VwcHJlc3NUb2FzdE1lc3NhZ2VzKSB7XG4gICAgICAgICAgdGhpcy5tZXNzYWdlU2VydmljZS5hZGQoeyBzZXZlcml0eTogJ2Vycm9yJywgc3VtbWFyeTogZXJyb3IgfSk7XG4gICAgICAgIH1cblxuICAgICAgICAvLyBib3VuY2UgYmFjayBpZiBjb25maWd1cmF0aW9uIGNhbGwgaGFzIGZhaWxlZFxuICAgICAgICB0aGlzLmxpbmVJdGVtLm5leHQodGhpcy5saW5lSXRlbS52YWx1ZSA/IHsgLi4udGhpcy5saW5lSXRlbS52YWx1ZSB9IDogdW5kZWZpbmVkKTtcblxuICAgICAgICByZXR1cm4gdGhyb3dFcnJvcigoKSA9PiBlcnJvcik7XG4gICAgICB9KSxcbiAgICAgIHRhcCgoKSA9PiB7XG4gICAgICAgIGlmICghdGhpcy5oYXNVbnNhdmVkQ2hhbmdlcykge1xuICAgICAgICAgIHRoaXMuaGFzVW5zYXZlZENoYW5nZXMgPSB0cnVlO1xuICAgICAgICB9XG4gICAgICB9KSxcbiAgICApO1xuICB9XG5cbiAgcHVibGljIHBhdGNoKGxpbmVJdGVtOiBMaW5lSXRlbSk6IHZvaWQge1xuICAgIHRoaXMucGF0Y2gkKGxpbmVJdGVtKS5zdWJzY3JpYmUoKTtcbiAgfVxuXG4gIHB1YmxpYyB1cGRhdGVDdXJyZW50U3RhdGVzKHVwZGF0ZTogUGFydGlhbDxRdW90ZVN0YXRlcz4pOiB2b2lkIHtcbiAgICB0aGlzLnN0YXRlcyA9IHtcbiAgICAgIC4uLnRoaXMuc3RhdGVzLFxuICAgICAgLi4udXBkYXRlLFxuICAgIH07XG4gIH1cblxuICBwdWJsaWMgZ2V0KCk6IE9ic2VydmFibGU8TGluZUl0ZW0gfCB1bmRlZmluZWQ+IHtcbiAgICByZXR1cm4gdGhpcy5saW5lSXRlbS5hc09ic2VydmFibGUoKS5waXBlKHNoYXJlUmVwbGF5KCkpO1xuICB9XG5cbiAgcHVibGljIGdldFNuYXBzaG90KCk6IExpbmVJdGVtIHwgdW5kZWZpbmVkIHtcbiAgICByZXR1cm4gdGhpcy5saW5lSXRlbS52YWx1ZSA/IHsgLi4udGhpcy5saW5lSXRlbS52YWx1ZSB9IDogdW5kZWZpbmVkO1xuICB9XG5cbiAgcHVibGljIGdldFJ1bnRpbWVNb2RlbCgpOiBSdW50aW1lTW9kZWwgfCB1bmRlZmluZWQge1xuICAgIHJldHVybiB0aGlzLnJ1bnRpbWVTZXJ2aWNlLnJ1bnRpbWVNb2RlbDtcbiAgfVxuXG4gIHB1YmxpYyBnZXRSdW50aW1lQ29udGV4dCgpOiBSdW50aW1lQ29udGV4dCB8IHVuZGVmaW5lZCB7XG4gICAgcmV0dXJuIHRoaXMucnVudGltZVNlcnZpY2UucnVudGltZUNvbnRleHQ7XG4gIH1cblxuICBwdWJsaWMgZ2V0IGNvbnRleHRTbmFwc2hvdCgpOiBDb25maWd1cmF0aW9uQ29udGV4dCB7XG4gICAgcmV0dXJuIHRoaXMuY29udGV4dFNlcnZpY2UucmVzb2x2ZSgpO1xuICB9XG5cbiAgcHVibGljIGdldCBjb250ZXh0JCgpOiBPYnNlcnZhYmxlPENvbmZpZ3VyYXRpb25Db250ZXh0PiB7XG4gICAgcmV0dXJuIHRoaXMuY29udGV4dFNlcnZpY2UucmVzb2x2ZSQoKTtcbiAgfVxuXG4gIHB1YmxpYyBnZXQgY2hhcmdlcyQoKTogT2JzZXJ2YWJsZTxEaWN0aW9uYXJ5PENoYXJnZT4+IHtcbiAgICByZXR1cm4gdGhpcy5jaGFyZ2VzLmFzT2JzZXJ2YWJsZSgpO1xuICB9XG5cbiAgcHVibGljIGdldCBjaGFyZ2VzU25hcHNob3QoKTogRGljdGlvbmFyeTxDaGFyZ2U+IHtcbiAgICByZXR1cm4gdGhpcy5jaGFyZ2VzLnZhbHVlO1xuICB9XG5cbiAgcHVibGljIGdldCBwcmljZVBsYW5zJCgpOiBPYnNlcnZhYmxlPERpY3Rpb25hcnk8Q29tcGlsZWRQcmljZVBsYW4+PiB7XG4gICAgcmV0dXJuIHRoaXMucHJpY2VQbGFucy5hc09ic2VydmFibGUoKTtcbiAgfVxuXG4gIHB1YmxpYyBnZXQgcHJpY2VQbGFuc1NuYXBzaG90KCk6IERpY3Rpb25hcnk8Q29tcGlsZWRQcmljZVBsYW4+IHtcbiAgICByZXR1cm4gdGhpcy5wcmljZVBsYW5zLnZhbHVlO1xuICB9XG5cbiAgcHVibGljIGNvbmZpZ3VyZSgpOiBPYnNlcnZhYmxlPExpbmVJdGVtPiB7XG4gICAgY29uc3QgcnVudGltZUNvbnRleHQgPSB0aGlzLmdldFJ1bnRpbWVDb250ZXh0KCk7XG4gICAgY29uc3QgcnVudGltZU1vZGVsID0gdGhpcy5nZXRSdW50aW1lTW9kZWwoKTtcbiAgICBpZiAoIXJ1bnRpbWVDb250ZXh0IHx8ICFydW50aW1lTW9kZWwpIHtcbiAgICAgIHJldHVybiB0aHJvd0Vycm9yKCgpID0+IG5ldyBFcnJvcignUnVudGltZSBjb250ZXh0L21vZGVsIG5vdCBpbml0aWFsaXplZCcpKTtcbiAgICB9XG5cbiAgICBjb25zdCB1aURlZmluaXRpb25Qcm9wZXJ0aWVzID0ge1xuICAgICAgLi4uKHJ1bnRpbWVDb250ZXh0LnVpRGVmaW5pdGlvbj8ucHJvcGVydGllcyA/PyB7fSksXG4gICAgICAuLi4odGhpcy5ydW50aW1lU2VydmljZS51aURlZmluaXRpb25Qcm9wZXJ0aWVzID8/IHt9KSxcbiAgICB9O1xuICAgIGNvbnN0IHF0eSA9IHRoaXMucnVudGltZVNlcnZpY2UuaW5pdGlhbGl6YXRpb25Qcm9wcz8uZGVmYXVsdFF0eTtcbiAgICBjb25zdCBsaW5lSXRlbSA9IHRoaXMuc3RhdGVzLmNvbmZpZ3VyYWJsZVJhbXAgPz8gZ2V0RGVmYXVsdExpbmVJdGVtKHJ1bnRpbWVDb250ZXh0LCB1aURlZmluaXRpb25Qcm9wZXJ0aWVzLCBxdHkpO1xuICAgIGNvbnN0IGNvbmZpZ3VyYXRpb25SZXF1ZXN0ID0gdGhpcy5jcmVhdGVSZXF1ZXN0KGxpbmVJdGVtKTtcblxuICAgIGNvbnN0IG1haW5QcmljaW5nRW5hYmxlZCA9IHJ1bnRpbWVDb250ZXh0LnByb3BlcnRpZXM/LlByaWNpbmdFbmFibGVkO1xuICAgIGNvbnN0IHByaWNpbmdFbmFibGVkID0gbWFpblByaWNpbmdFbmFibGVkID8gbWFpblByaWNpbmdFbmFibGVkID09PSAndHJ1ZScgOiB1aURlZmluaXRpb25Qcm9wZXJ0aWVzLnByaWNpbmdFbmFibGVkO1xuXG4gICAgcmV0dXJuIHRoaXMuY29uZmlndXJhdGlvbkFwaVNlcnZpY2VcbiAgICAgIC5jb25maWd1cmVMaW5lSXRlbSh7IGNvbmZpZ3VyYXRpb25SZXF1ZXN0LCBydW50aW1lTW9kZWwsIHByaWNpbmdFbmFibGVkIH0pXG4gICAgICAucGlwZShcbiAgICAgICAgbWFwKCh7IGxpbmVJdGVtLCBjb250ZXh0LCBjaGFyZ2VzLCBwcmljZVBsYW5zLCBkZWxldGVkTGluZUl0ZW1zIH0pID0+IHtcbiAgICAgICAgICB0aGlzLmNvbnRleHRTZXJ2aWNlLnVwZGF0ZShjb250ZXh0ID8/IHt9KTtcbiAgICAgICAgICB0aGlzLmNoYXJnZXMubmV4dChjaGFyZ2VzID8/IHt9KTtcbiAgICAgICAgICB0aGlzLnByaWNlUGxhbnMubmV4dChwcmljZVBsYW5zID8/IHt9KTtcbiAgICAgICAgICBpZiAoZGVsZXRlZExpbmVJdGVtcz8ubGVuZ3RoKSB7XG4gICAgICAgICAgICB0aGlzLnNob3dJbmFjdGl2ZVByb2R1Y3RzQ29uZmlybWF0aW9uKCk7XG4gICAgICAgICAgfVxuICAgICAgICAgIHJldHVybiBsaW5lSXRlbTtcbiAgICAgICAgfSksXG4gICAgICApXG4gICAgICAucGlwZShcbiAgICAgICAgdGFwKGxpbmVJdGVtID0+IGxpbmVJdGVtICYmIHRoaXMubGluZUl0ZW0ubmV4dChsaW5lSXRlbSkpLFxuICAgICAgICBjYXRjaEVycm9yKGVycm9yID0+XG4gICAgICAgICAgdGhyb3dFcnJvcigoKSA9PiBuZXcgRXJyb3IoZXJyb3IuZXJyb3I/Lm1lc3NhZ2UgfHwgZXJyb3IubWVzc2FnZSB8fCBKU09OLnN0cmluZ2lmeShlcnJvcikpKSxcbiAgICAgICAgKSxcbiAgICAgICk7XG4gIH1cblxuICBwdWJsaWMgY29uZmlndXJlRXh0ZXJuYWwkKHByb2R1Y3RJZDogc3RyaW5nLCBxdHk/OiBudW1iZXIpOiBPYnNlcnZhYmxlPExpbmVJdGVtPiB7XG4gICAgdGhpcy51cGRhdGVDdXJyZW50U3RhdGVzKHtcbiAgICAgIGN1cnJlbnRTdGF0ZTogdGhpcy5xdW90ZURyYWZ0U2VydmljZS5jdXJyZW50U3RhdGUsXG4gICAgfSk7XG5cbiAgICByZXR1cm4gdGhpcy5ydW50aW1lU2VydmljZS5pbml0KHsgcHJvZHVjdElkLCBkZWZhdWx0UXR5OiBxdHkgfSkucGlwZShcbiAgICAgIHN3aXRjaE1hcCgoKSA9PiB0aGlzLmNvbmZpZ3VyZSgpKSxcbiAgICAgIGZpcnN0KCksXG4gICAgICBjYXRjaEVycm9yKGVycm9yID0+IHtcbiAgICAgICAgdGhpcy5tZXNzYWdlU2VydmljZS5hZGQoeyBzZXZlcml0eTogVG9hc3RUeXBlLmVycm9yLCBzdW1tYXJ5OiBlcnJvciB9KTtcbiAgICAgICAgdGhyb3cgZXJyb3I7XG4gICAgICB9KSxcbiAgICAgIGZpbmFsaXplKCgpID0+IHRoaXMucmVzZXQoKSksXG4gICAgKTtcbiAgfVxuXG4gIHByaXZhdGUgY3JlYXRlUmVxdWVzdChsaW5lSXRlbTogTGluZUl0ZW0pOiBDb25maWd1cmF0aW9uUmVxdWVzdCB7XG4gICAgcmV0dXJuIHtcbiAgICAgIGxpbmVJdGVtLFxuICAgICAgbW9kZTogdGhpcy5tb2RlLFxuICAgICAgc3RlcDogIXRoaXMubGluZUl0ZW0udmFsdWUgPyBSdW50aW1lU3RlcC5TVEFSVCA6IFJ1bnRpbWVTdGVwLlVQREFURSxcbiAgICAgIGF0dHJpYnV0ZURvbWFpbk1vZGU6ICdBTEwnLFxuICAgICAgY29udGV4dDogdGhpcy5jb250ZXh0U2VydmljZS5yZXNvbHZlKCksXG4gICAgICBsaW5lSXRlbXM6IHRoaXMuc3RhdGVzLmN1cnJlbnRTdGF0ZSB8fCBbXSxcbiAgICAgIGFzc2V0OiB0aGlzLnN0YXRlcy5hc3NldCxcbiAgICB9O1xuICB9XG5cbiAgcHJpdmF0ZSBzaG93SW5hY3RpdmVQcm9kdWN0c0NvbmZpcm1hdGlvbigpOiB2b2lkIHtcbiAgICB0aGlzLmRpYWxvZ1NlcnZpY2VcbiAgICAgIC5vcGVuKENvbmZpcm1hdGlvbkNvbXBvbmVudCwge1xuICAgICAgICBkaXNtaXNzYWJsZU1hc2s6IGZhbHNlLFxuICAgICAgICBjbG9zZU9uRXNjYXBlOiBmYWxzZSxcbiAgICAgICAgY2xvc2FibGU6IGZhbHNlLFxuICAgICAgICBzaG93SGVhZGVyOiB0cnVlLFxuICAgICAgICBoZWFkZXI6IGBJbmFjdGl2ZSBQcm9kdWN0cyBpbiBRdW90ZWAsXG4gICAgICAgIHdpZHRoOiAnNDQwcHgnLFxuICAgICAgICBkYXRhOiB7XG4gICAgICAgICAgY29uZmlybWF0aW9uQ29uZmlnOiB7XG4gICAgICAgICAgICB0aXRsZTogJyAnLFxuICAgICAgICAgICAgZGVzY3JpcHRpb246ICdUaGlzIHF1b3RlIGNvbnRhaW5zIGluYWN0aXZlIHByb2R1Y3RzLiBEbyB5b3Ugd2FudCB0byByZW1vdmUgdGhlbT8nLFxuICAgICAgICAgICAgc3VibWl0QnRuOiAnUmVtb3ZlIHByb2R1Y3RzJyxcbiAgICAgICAgICAgIGNhbmNlbEJ0bjogJ0JhY2sgdG8gUXVvdGUnLFxuICAgICAgICAgIH0sXG4gICAgICAgIH0sXG4gICAgICB9KVxuICAgICAgLm9uQ2xvc2Uuc3Vic2NyaWJlKHJlc3VsdCA9PiB7XG4gICAgICAgIGlmICghcmVzdWx0KSB7XG4gICAgICAgICAgY29uc3QgY29udGV4dCA9IHRoaXMuY29udGV4dFNlcnZpY2UucmVzb2x2ZSgpO1xuICAgICAgICAgIHdpbmRvd1snVkVMT19CQUNLX0ZOJ10uYXBwbHkobnVsbCwgW2NvbnRleHQuaGVhZGVySWRdKTtcbiAgICAgICAgfVxuICAgICAgfSk7XG4gIH1cbn1cbiJdfQ==
|
176
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiY29uZmlndXJhdGlvbi5zZXJ2aWNlLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vLi4vLi4vbGlicy9zZGsvY29yZS9tb2R1bGVzL2NvbmZpZ3VyYXRpb24vc2VydmljZXMvY29uZmlndXJhdGlvbi5zZXJ2aWNlLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBRSxVQUFVLEVBQUUsTUFBTSxlQUFlLENBQUM7QUFFM0MsT0FBTyxFQUFFLHFCQUFxQixFQUFFLFNBQVMsRUFBRSxNQUFNLHdCQUF3QixDQUFDO0FBQzFFLE9BQU8sRUFJTCxpQkFBaUIsR0FLbEIsTUFBTSxrQkFBa0IsQ0FBQztBQUkxQixPQUFPLEVBQUUsZUFBZSxFQUFjLFdBQVcsRUFBRSxVQUFVLEVBQUUsTUFBTSxNQUFNLENBQUM7QUFDNUUsT0FBTyxFQUFFLFVBQVUsRUFBRSxRQUFRLEVBQUUsS0FBSyxFQUFFLEdBQUcsRUFBRSxTQUFTLEVBQUUsR0FBRyxFQUFFLE1BQU0sZ0JBQWdCLENBQUM7QUFHbEYsT0FBTyxFQUFrQixXQUFXLEVBQUUsTUFBTSxnQkFBZ0IsQ0FBQztBQUM3RCxPQUFPLEVBQUUsY0FBYyxFQUFFLE1BQU0saUNBQWlDLENBQUM7QUFDakUsT0FBTyxFQUFFLGtCQUFrQixFQUFFLE1BQU0sWUFBWSxDQUFDOzs7Ozs7OztBQU1oRCxNQUFNLE9BQU8sb0JBQW9CO0lBVS9CLFlBQ1UsaUJBQW9DLEVBQ3BDLGNBQTJDLEVBQzNDLGNBQThCLEVBQzlCLHVCQUFnRCxFQUNoRCxjQUE4QixFQUM5QixhQUE0QjtRQUw1QixzQkFBaUIsR0FBakIsaUJBQWlCLENBQW1CO1FBQ3BDLG1CQUFjLEdBQWQsY0FBYyxDQUE2QjtRQUMzQyxtQkFBYyxHQUFkLGNBQWMsQ0FBZ0I7UUFDOUIsNEJBQXVCLEdBQXZCLHVCQUF1QixDQUF5QjtRQUNoRCxtQkFBYyxHQUFkLGNBQWMsQ0FBZ0I7UUFDOUIsa0JBQWEsR0FBYixhQUFhLENB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QyxnQkFBZ0IsQ0FBQztRQUN2QyxJQUFJLENBQUMsUUFBUSxFQUFFO1lBQ2IsT0FBTztTQUNSO1FBRUQsT0FBTyxNQUFBLElBQUksQ0FBQyxpQkFBaUIsQ0FBQyxVQUFVLDBDQUFFLFlBQVksQ0FBQyxJQUFJLENBQ3pELENBQUMsQ0FBQyxFQUFFLENBQUMsQ0FBQyxDQUFDLEVBQUUsS0FBSyxRQUFRLENBQUMsbUJBQW1CLElBQUksQ0FBQyxDQUFDLEVBQUUsS0FBSyxRQUFRLENBQUMsT0FBTyxDQUN4RSxDQUFDO0lBQ0osQ0FBQzs7a0hBM01VLG9CQUFvQjtzSEFBcEIsb0JBQW9COzRGQUFwQixvQkFBb0I7a0JBRGhDLFVBQVUiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBJbmplY3RhYmxlIH0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XG5pbXBvcnQgeyBDb25maWd1cmF0aW9uQXBpU2VydmljZSB9IGZyb20gJ0B2ZWxvY2VhcHBzL2FwaSc7XG5pbXBvcnQgeyBDb25maXJtYXRpb25Db21wb25lbnQsIFRvYXN0VHlwZSB9IGZyb20gJ0B2ZWxvY2VhcHBzL2NvbXBvbmVudHMnO1xuaW1wb3J0IHtcbiAgQ2hhcmdlLFxuICBDb21waWxlZFByaWNlUGxhbixcbiAgQ29uZmlndXJhdGlvbkNvbnRleHQsXG4gIENvbmZpZ3VyYXRpb25Nb2RlLFxuICBDb25maWd1cmF0aW9uUmVxdWVzdCxcbiAgTGluZUl0ZW0sXG4gIFJ1bnRpbWVNb2RlbCxcbiAgVmxXaW5kb3csXG59IGZyb20gJ0B2ZWxvY2VhcHBzL2NvcmUnO1xuaW1wb3J0IHsgRGljdGlvbmFyeSB9IGZyb20gJ2xvZGFzaCc7XG5pbXBvcnQgeyBNZXNzYWdlU2VydmljZSB9IGZyb20gJ3ByaW1lbmcvYXBpJztcbmltcG9ydCB7IERpYWxvZ1NlcnZpY2UgfSBmcm9tICdwcmltZW5nL2R5bmFtaWNkaWFsb2cnO1xuaW1wb3J0IHsgQmVoYXZpb3JTdWJqZWN0LCBPYnNlcnZhYmxlLCBzaGFyZVJlcGxheSwgdGhyb3dFcnJvciB9IGZyb20gJ3J4anMnO1xuaW1wb3J0IHsgY2F0Y2hFcnJvciwgZmluYWxpemUsIGZpcnN0LCBtYXAsIHN3aXRjaE1hcCwgdGFwIH0gZnJvbSAncnhqcy9vcGVyYXRvcnMnO1xuaW1wb3J0IHsgQ29udGV4dFNlcnZpY2UgfSBmcm9tICcuLi8uLi8uLi9zZXJ2aWNlcy9jb250ZXh0LnNlcnZpY2UnO1xuaW1wb3J0IHsgUXVvdGVEcmFmdFNlcnZpY2UgfSBmcm9tICcuLi8uLi8uLi9zZXJ2aWNlcy9xdW90ZS1kcmFmdC5zZXJ2aWNlJztcbmltcG9ydCB7IFJ1bnRpbWVDb250ZXh0LCBSdW50aW1lU3RlcCB9IGZyb20gJy4uLy4uLy4uL3R5cGVzJztcbmltcG9ydCB7IExpbmVJdGVtV29ya2VyIH0gZnJvbSAnLi4vLi4vLi4vdXRpbHMvbGluZS1pdGVtLndvcmtlcic7XG5pbXBvcnQgeyBnZXREZWZhdWx0TGluZUl0ZW0gfSBmcm9tICcuLi9oZWxwZXJzJztcbmltcG9ydCB7IENvbmZpZ3VyYXRpb25SdW50aW1lU2VydmljZSB9IGZyb20gJy4vY29uZmlndXJhdGlvbi1ydW50aW1lLnNlcnZpY2UnO1xuXG5kZWNsYXJlIGNvbnN0IHdpbmRvdzogVmxXaW5kb3c7XG5cbkBJbmplY3RhYmxlKClcbmV4cG9ydCBjbGFzcyBDb25maWd1cmF0aW9uU2VydmljZSB7XG4gIHByaXZhdGUgbW9kZSA9IENvbmZpZ3VyYXRpb25Nb2RlLlNFQVJDSDtcbiAgcHJpdmF0ZSBjb25maWd1cmFibGVSYW1wOiBMaW5lSXRlbSB8IHVuZGVmaW5lZDtcblxuICBwcml2YXRlIGxpbmVJdGVtID0gbmV3IEJlaGF2aW9yU3ViamVjdDxMaW5lSXRlbSB8IHVuZGVmaW5lZD4odW5kZWZpbmVkKTtcbiAgcHJpdmF0ZSBjaGFyZ2VzID0gbmV3IEJlaGF2aW9yU3ViamVjdDxEaWN0aW9uYXJ5PENoYXJnZT4+KHt9KTtcbiAgcHJpdmF0ZSBwcmljZVBsYW5zID0gbmV3IEJlaGF2aW9yU3ViamVjdDxEaWN0aW9uYXJ5PENvbXBpbGVkUHJpY2VQbGFuPj4oe30pO1xuXG4gIHB1YmxpYyBoYXNVbnNhdmVkQ2hhbmdlcyA9IGZhbHNlO1xuXG4gIGNvbnN0cnVjdG9yKFxuICAgIHByaXZhdGUgcXVvdGVEcmFmdFNlcnZpY2U6IFF1b3RlRHJhZnRTZXJ2aWNlLFxuICAgIHByaXZhdGUgcnVudGltZVNlcnZpY2U6IENvbmZpZ3VyYXRpb25SdW50aW1lU2VydmljZSxcbiAgICBwcml2YXRlIGNvbnRleHRTZXJ2aWNlOiBDb250ZXh0U2VydmljZSxcbiAgICBwcml2YXRlIGNvbmZpZ3VyYXRpb25BcGlTZXJ2aWNlOiBDb25maWd1cmF0aW9uQXBpU2VydmljZSxcbiAgICBwcml2YXRlIG1lc3NhZ2VTZXJ2aWNlOiBNZXNzYWdlU2VydmljZSxcbiAgICBwcml2YXRlIGRpYWxvZ1NlcnZpY2U6IERpYWxvZ1NlcnZpY2UsXG4gICkge31cblxuICBwdWJsaWMgcmVzZXQoKTogdm9pZCB7XG4gICAgdGhpcy5oYXNVbnNhdmVkQ2hhbmdlcyA9IGZhbHNlO1xuICAgIHRoaXMucnVudGltZVNlcnZpY2UucmVzZXQoKTtcblxuICAgIHRoaXMuY29uZmlndXJhYmxlUmFtcCA9IHVuZGVmaW5lZDtcbiAgICB0aGlzLmxpbmVJdGVtLm5leHQodW5kZWZpbmVkKTtcbiAgICB0aGlzLmNoYXJnZXMubmV4dCh7fSk7XG4gICAgdGhpcy5wcmljZVBsYW5zLm5leHQoe30pO1xuICB9XG5cbiAgcHVibGljIHBhdGNoJChsaW5lSXRlbTogTGluZUl0ZW0pOiBPYnNlcnZhYmxlPExpbmVJdGVtPiB7XG4gICAgaWYgKCF0aGlzLmxpbmVJdGVtLnZhbHVlKSB7XG4gICAgICByZXR1cm4gdGhyb3dFcnJvcigoKSA9PiBuZXcgRXJyb3IoYFNvdXJjZSBMaW5lSXRlbSBub3QgZm91bmRgKSk7XG4gICAgfVxuXG4gICAgdGhpcy5jb25maWd1cmFibGVSYW1wID0gbmV3IExpbmVJdGVtV29ya2VyKHRoaXMubGluZUl0ZW0udmFsdWUpLnJlcGxhY2UobGluZUl0ZW0pLmxpO1xuXG4gICAgcmV0dXJuIHRoaXMuY29uZmlndXJlKCkucGlwZShcbiAgICAgIGNhdGNoRXJyb3IoZXJyb3IgPT4ge1xuICAgICAgICBjb25zb2xlLmVycm9yKGVycm9yKTtcblxuICAgICAgICBpZiAoIXRoaXMucnVudGltZVNlcnZpY2UudWlEZWZpbml0aW9uUHJvcGVydGllcy5zdXBwcmVzc1RvYXN0TWVzc2FnZXMpIHtcbiAgICAgICAgICB0aGlzLm1lc3NhZ2VTZXJ2aWNlLmFkZCh7IHNldmVyaXR5OiAnZXJyb3InLCBzdW1tYXJ5OiBlcnJvciB9KTtcbiAgICAgICAgfVxuXG4gICAgICAgIC8vIGJvdW5jZSBiYWNrIGlmIGNvbmZpZ3VyYXRpb24gY2FsbCBoYXMgZmFpbGVkXG4gICAgICAgIHRoaXMubGluZUl0ZW0ubmV4dCh0aGlzLmxpbmVJdGVtLnZhbHVlID8geyAuLi50aGlzLmxpbmVJdGVtLnZhbHVlIH0gOiB1bmRlZmluZWQpO1xuXG4gICAgICAgIHJldHVybiB0aHJvd0Vycm9yKCgpID0+IGVycm9yKTtcbiAgICAgIH0pLFxuICAgICAgdGFwKCgpID0+IHtcbiAgICAgICAgaWYgKCF0aGlzLmhhc1Vuc2F2ZWRDaGFuZ2VzKSB7XG4gICAgICAgICAgdGhpcy5oYXNVbnNhdmVkQ2hhbmdlcyA9IHRydWU7XG4gICAgICAgIH1cbiAgICAgIH0pLFxuICAgICk7XG4gIH1cblxuICBwdWJsaWMgcGF0Y2gobGluZUl0ZW06IExpbmVJdGVtKTogdm9pZCB7XG4gICAgdGhpcy5wYXRjaCQobGluZUl0ZW0pLnN1YnNjcmliZSgpO1xuICB9XG5cbiAgcHVibGljIHNldENvbmZpZ3VyYWJsZVJhbXAobGluZUl0ZW06IExpbmVJdGVtKTogdm9pZCB7XG4gICAgdGhpcy5jb25maWd1cmFibGVSYW1wID0gbGluZUl0ZW07XG4gIH1cblxuICBwdWJsaWMgZ2V0KCk6IE9ic2VydmFibGU8TGluZUl0ZW0gfCB1bmRlZmluZWQ+IHtcbiAgICByZXR1cm4gdGhpcy5saW5lSXRlbS5hc09ic2VydmFibGUoKS5waXBlKHNoYXJlUmVwbGF5KCkpO1xuICB9XG5cbiAgcHVibGljIGdldFNuYXBzaG90KCk6IExpbmVJdGVtIHwgdW5kZWZpbmVkIHtcbiAgICByZXR1cm4gdGhpcy5saW5lSXRlbS52YWx1ZSA/IHsgLi4udGhpcy5saW5lSXRlbS52YWx1ZSB9IDogdW5kZWZpbmVkO1xuICB9XG5cbiAgcHVibGljIGdldFJ1bnRpbWVNb2RlbCgpOiBSdW50aW1lTW9kZWwgfCB1bmRlZmluZWQge1xuICAgIHJldHVybiB0aGlzLnJ1bnRpbWVTZXJ2aWNlLnJ1bnRpbWVNb2RlbDtcbiAgfVxuXG4gIHB1YmxpYyBnZXRSdW50aW1lQ29udGV4dCgpOiBSdW50aW1lQ29udGV4dCB8IHVuZGVmaW5lZCB7XG4gICAgcmV0dXJuIHRoaXMucnVudGltZVNlcnZpY2UucnVudGltZUNvbnRleHQ7XG4gIH1cblxuICBwdWJsaWMgZ2V0IGNvbnRleHRTbmFwc2hvdCgpOiBDb25maWd1cmF0aW9uQ29udGV4dCB7XG4gICAgcmV0dXJuIHRoaXMuY29udGV4dFNlcnZpY2UucmVzb2x2ZSgpO1xuICB9XG5cbiAgcHVibGljIGdldCBjb250ZXh0JCgpOiBPYnNlcnZhYmxlPENvbmZpZ3VyYXRpb25Db250ZXh0PiB7XG4gICAgcmV0dXJuIHRoaXMuY29udGV4dFNlcnZpY2UucmVzb2x2ZSQoKTtcbiAgfVxuXG4gIHB1YmxpYyBnZXQgY2hhcmdlcyQoKTogT2JzZXJ2YWJsZTxEaWN0aW9uYXJ5PENoYXJnZT4+IHtcbiAgICByZXR1cm4gdGhpcy5jaGFyZ2VzLmFzT2JzZXJ2YWJsZSgpO1xuICB9XG5cbiAgcHVibGljIGdldCBjaGFyZ2VzU25hcHNob3QoKTogRGljdGlvbmFyeTxDaGFyZ2U+IHtcbiAgICByZXR1cm4gdGhpcy5jaGFyZ2VzLnZhbHVlO1xuICB9XG5cbiAgcHVibGljIGdldCBwcmljZVBsYW5zJCgpOiBPYnNlcnZhYmxlPERpY3Rpb25hcnk8Q29tcGlsZWRQcmljZVBsYW4+PiB7XG4gICAgcmV0dXJuIHRoaXMucHJpY2VQbGFucy5hc09ic2VydmFibGUoKTtcbiAgfVxuXG4gIHB1YmxpYyBnZXQgcHJpY2VQbGFuc1NuYXBzaG90KCk6IERpY3Rpb25hcnk8Q29tcGlsZWRQcmljZVBsYW4+IHtcbiAgICByZXR1cm4gdGhpcy5wcmljZVBsYW5zLnZhbHVlO1xuICB9XG5cbiAgcHVibGljIGNvbmZpZ3VyZSgpOiBPYnNlcnZhYmxlPExpbmVJdGVtPiB7XG4gICAgY29uc3QgcnVudGltZUNvbnRleHQgPSB0aGlzLmdldFJ1bnRpbWVDb250ZXh0KCk7XG4gICAgY29uc3QgcnVudGltZU1vZGVsID0gdGhpcy5nZXRSdW50aW1lTW9kZWwoKTtcbiAgICBpZiAoIXJ1bnRpbWVDb250ZXh0IHx8ICFydW50aW1lTW9kZWwpIHtcbiAgICAgIHJldHVybiB0aHJvd0Vycm9yKCgpID0+IG5ldyBFcnJvcignUnVudGltZSBjb250ZXh0L21vZGVsIG5vdCBpbml0aWFsaXplZCcpKTtcbiAgICB9XG5cbiAgICBjb25zdCB1aURlZmluaXRpb25Qcm9wZXJ0aWVzID0ge1xuICAgICAgLi4uKHJ1bnRpbWVDb250ZXh0LnVpRGVmaW5pdGlvbj8ucHJvcGVydGllcyA/PyB7fSksXG4gICAgICAuLi4odGhpcy5ydW50aW1lU2VydmljZS51aURlZmluaXRpb25Qcm9wZXJ0aWVzID8/IHt9KSxcbiAgICB9O1xuICAgIGNvbnN0IHF0eSA9IHRoaXMucnVudGltZVNlcnZpY2UuaW5pdGlhbGl6YXRpb25Qcm9wcz8uZGVmYXVsdFF0eTtcbiAgICBjb25zdCBsaW5lSXRlbSA9IHRoaXMuY29uZmlndXJhYmxlUmFtcCA/PyBnZXREZWZhdWx0TGluZUl0ZW0ocnVudGltZUNvbnRleHQsIHVpRGVmaW5pdGlvblByb3BlcnRpZXMsIHF0eSk7XG4gICAgY29uc3QgY29uZmlndXJhdGlvblJlcXVlc3QgPSB0aGlzLmNyZWF0ZVJlcXVlc3QobGluZUl0ZW0pO1xuXG4gICAgY29uc3QgbWFpblByaWNpbmdFbmFibGVkID0gcnVudGltZUNvbnRleHQucHJvcGVydGllcz8uUHJpY2luZ0VuYWJsZWQ7XG4gICAgY29uc3QgcHJpY2luZ0VuYWJsZWQgPSBtYWluUHJpY2luZ0VuYWJsZWQgPyBtYWluUHJpY2luZ0VuYWJsZWQgPT09ICd0cnVlJyA6IHVpRGVmaW5pdGlvblByb3BlcnRpZXMucHJpY2luZ0VuYWJsZWQ7XG5cbiAgICByZXR1cm4gdGhpcy5jb25maWd1cmF0aW9uQXBpU2VydmljZVxuICAgICAgLmNvbmZpZ3VyZUxpbmVJdGVtKHsgY29uZmlndXJhdGlvblJlcXVlc3QsIHJ1bnRpbWVNb2RlbCwgcHJpY2luZ0VuYWJsZWQgfSlcbiAgICAgIC5waXBlKFxuICAgICAgICBtYXAoKHsgbGluZUl0ZW0sIGNvbnRleHQsIGNoYXJnZXMsIHByaWNlUGxhbnMsIGRlbGV0ZWRMaW5lSXRlbXMgfSkgPT4ge1xuICAgICAgICAgIHRoaXMuY29udGV4dFNlcnZpY2UudXBkYXRlKGNvbnRleHQgPz8ge30pO1xuICAgICAgICAgIHRoaXMuY2hhcmdlcy5uZXh0KGNoYXJnZXMgPz8ge30pO1xuICAgICAgICAgIHRoaXMucHJpY2VQbGFucy5uZXh0KHByaWNlUGxhbnMgPz8ge30pO1xuICAgICAgICAgIGlmIChkZWxldGVkTGluZUl0ZW1zPy5sZW5ndGgpIHtcbiAgICAgICAgICAgIHRoaXMuc2hvd0luYWN0aXZlUHJvZHVjdHNDb25maXJtYXRpb24oKTtcbiAgICAgICAgICB9XG4gICAgICAgICAgcmV0dXJuIGxpbmVJdGVtO1xuICAgICAgICB9KSxcbiAgICAgIClcbiAgICAgIC5waXBlKFxuICAgICAgICB0YXAobGluZUl0ZW0gPT4gbGluZUl0ZW0gJiYgdGhpcy5saW5lSXRlbS5uZXh0KGxpbmVJdGVtKSksXG4gICAgICAgIGNhdGNoRXJyb3IoZXJyb3IgPT5cbiAgICAgICAgICB0aHJvd0Vycm9yKCgpID0+IG5ldyBFcnJvcihlcnJvci5lcnJvcj8ubWVzc2FnZSB8fCBlcnJvci5tZXNzYWdlIHx8IEpTT04uc3RyaW5naWZ5KGVycm9yKSkpLFxuICAgICAgICApLFxuICAgICAgKTtcbiAgfVxuXG4gIHB1YmxpYyBjb25maWd1cmVFeHRlcm5hbCQocHJvZHVjdElkOiBzdHJpbmcsIHF0eT86IG51bWJlcik6IE9ic2VydmFibGU8TGluZUl0ZW0+IHtcbiAgICByZXR1cm4gdGhpcy5ydW50aW1lU2VydmljZS5pbml0KHsgcHJvZHVjdElkLCBkZWZhdWx0UXR5OiBxdHkgfSkucGlwZShcbiAgICAgIHN3aXRjaE1hcCgoKSA9PiB0aGlzLmNvbmZpZ3VyZSgpKSxcbiAgICAgIGZpcnN0KCksXG4gICAgICBjYXRjaEVycm9yKGVycm9yID0+IHtcbiAgICAgICAgdGhpcy5tZXNzYWdlU2VydmljZS5hZGQoeyBzZXZlcml0eTogVG9hc3RUeXBlLmVycm9yLCBzdW1tYXJ5OiBlcnJvciB9KTtcbiAgICAgICAgdGhyb3cgZXJyb3I7XG4gICAgICB9KSxcbiAgICAgIGZpbmFsaXplKCgpID0+IHRoaXMucmVzZXQoKSksXG4gICAgKTtcbiAgfVxuXG4gIHByaXZhdGUgY3JlYXRlUmVxdWVzdChsaW5lSXRlbTogTGluZUl0ZW0pOiBDb25maWd1cmF0aW9uUmVxdWVzdCB7XG4gICAgcmV0dXJuIHtcbiAgICAgIGxpbmVJdGVtLFxuICAgICAgbW9kZTogdGhpcy5tb2RlLFxuICAgICAgc3RlcDogIXRoaXMubGluZUl0ZW0udmFsdWUgPyBSdW50aW1lU3RlcC5TVEFSVCA6IFJ1bnRpbWVTdGVwLlVQREFURSxcbiAgICAgIGF0dHJpYnV0ZURvbWFpbk1vZGU6ICdBTEwnLFxuICAgICAgY29udGV4dDogdGhpcy5jb250ZXh0U2VydmljZS5yZXNvbHZlKCksXG4gICAgICBsaW5lSXRlbXM6IHRoaXMucXVvdGVEcmFmdFNlcnZpY2UucXVvdGVEcmFmdD8uY3VycmVudFN0YXRlIHx8IFtdLFxuICAgICAgYXNzZXQ6IHRoaXMuZ2V0QXNzZXQoKSxcbiAgICB9O1xuICB9XG5cbiAgcHJpdmF0ZSBzaG93SW5hY3RpdmVQcm9kdWN0c0NvbmZpcm1hdGlvbigpOiB2b2lkIHtcbiAgICB0aGlzLmRpYWxvZ1NlcnZpY2VcbiAgICAgIC5vcGVuKENvbmZpcm1hdGlvbkNvbXBvbmVudCwge1xuICAgICAgICBkaXNtaXNzYWJsZU1hc2s6IGZhbHNlLFxuICAgICAgICBjbG9zZU9uRXNjYXBlOiBmYWxzZSxcbiAgICAgICAgY2xvc2FibGU6IGZhbHNlLFxuICAgICAgICBzaG93SGVhZGVyOiB0cnVlLFxuICAgICAgICBoZWFkZXI6IGBJbmFjdGl2ZSBQcm9kdWN0cyBpbiBRdW90ZWAsXG4gICAgICAgIHdpZHRoOiAnNDQwcHgnLFxuICAgICAgICBkYXRhOiB7XG4gICAgICAgICAgY29uZmlybWF0aW9uQ29uZmlnOiB7XG4gICAgICAgICAgICB0aXRsZTogJyAnLFxuICAgICAgICAgICAgZGVzY3JpcHRpb246ICdUaGlzIHF1b3RlIGNvbnRhaW5zIGluYWN0aXZlIHByb2R1Y3RzLiBEbyB5b3Ugd2FudCB0byByZW1vdmUgdGhlbT8nLFxuICAgICAgICAgICAgc3VibWl0QnRuOiAnUmVtb3ZlIHByb2R1Y3RzJyxcbiAgICAgICAgICAgIGNhbmNlbEJ0bjogJ0JhY2sgdG8gUXVvdGUnLFxuICAgICAgICAgIH0sXG4gICAgICAgIH0sXG4gICAgICB9KVxuICAgICAgLm9uQ2xvc2Uuc3Vic2NyaWJlKHJlc3VsdCA9PiB7XG4gICAgICAgIGlmICghcmVzdWx0KSB7XG4gICAgICAgICAgY29uc3QgY29udGV4dCA9IHRoaXMuY29udGV4dFNlcnZpY2UucmVzb2x2ZSgpO1xuICAgICAgICAgIHdpbmRvd1snVkVMT19CQUNLX0ZOJ10uYXBwbHkobnVsbCwgW2NvbnRleHQuaGVhZGVySWRdKTtcbiAgICAgICAgfVxuICAgICAgfSk7XG4gIH1cblxuICBwcml2YXRlIGdldEFzc2V0KCk6IExpbmVJdGVtIHwgdW5kZWZpbmVkIHtcbiAgICBjb25zdCBsaW5lSXRlbSA9IHRoaXMuY29uZmlndXJhYmxlUmFtcDtcbiAgICBpZiAoIWxpbmVJdGVtKSB7XG4gICAgICByZXR1cm47XG4gICAgfVxuXG4gICAgcmV0dXJuIHRoaXMucXVvdGVEcmFmdFNlcnZpY2UucXVvdGVEcmFmdD8uaW5pdGlhbFN0YXRlLmZpbmQoXG4gICAgICBhID0+IGEuaWQgPT09IGxpbmVJdGVtLm9wZW5PcmRlckxpbmVJdGVtSWQgfHwgYS5pZCA9PT0gbGluZUl0ZW0uYXNzZXRJZCxcbiAgICApO1xuICB9XG59XG4iXX0=
|
@@ -1,2 +1,2 @@
|
|
1
1
|
export {};
|
2
|
-
//# sourceMappingURL=data:application/json;base64,
|
2
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiY29uZmlndXJhdGlvbi1ydW50aW1lLnR5cGVzLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vLi4vLi4vbGlicy9zZGsvY29yZS9tb2R1bGVzL2NvbmZpZ3VyYXRpb24vdHlwZXMvY29uZmlndXJhdGlvbi1ydW50aW1lLnR5cGVzLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiIiLCJzb3VyY2VzQ29udGVudCI6WyJleHBvcnQgaW50ZXJmYWNlIFJ1bnRpbWVJbml0aWFsaXphdGlvblByb3BzIHtcbiAgcHJvZHVjdElkOiBzdHJpbmc7XG4gIG9mZmVyaW5nSWQ/OiBzdHJpbmc7XG4gIGRlZmF1bHRRdHk/OiBudW1iZXI7XG59XG4iXX0=
|
@@ -42,10 +42,10 @@ export class QuoteDraftService {
|
|
42
42
|
this.initialCurrentState = (_b = (_a = this.quoteDraft) === null || _a === void 0 ? void 0 : _a.currentState) !== null && _b !== void 0 ? _b : [];
|
43
43
|
}
|
44
44
|
}
|
45
|
-
get
|
46
|
-
return this.quoteSubj$.pipe(map(() => this.
|
45
|
+
get hasProducts$() {
|
46
|
+
return this.quoteSubj$.pipe(map(() => this.hasProducts));
|
47
47
|
}
|
48
|
-
get
|
48
|
+
get hasProducts() {
|
49
49
|
const quoteDraft = this.quoteSubj$.value;
|
50
50
|
return Boolean(quoteDraft && quoteDraft.currentState.length > 0);
|
51
51
|
}
|
@@ -214,4 +214,4 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "12.2.17", ngImpo
|
|
214
214
|
type: Injectable,
|
215
215
|
args: [{ providedIn: 'root' }]
|
216
216
|
}], ctorParameters: function () { return [{ type: i1.ContextService }, { type: i2.QuoteApiService }, { type: i2.PriceApiService }]; } });
|
217
|
-
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicXVvdGUtZHJhZnQuc2VydmljZS5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uL2xpYnMvc2RrL2NvcmUvc2VydmljZXMvcXVvdGUtZHJhZnQuc2VydmljZS50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQUUsVUFBVSxFQUFFLE1BQU0sZUFBZSxDQUFDO0FBRTNDLE9BQU8sRUFBRSx3QkFBd0IsRUFBaUQsTUFBTSxrQkFBa0IsQ0FBQztBQUMzRyxPQUFPLEVBQWMsT0FBTyxFQUFFLE1BQU0sUUFBUSxDQUFDO0FBQzdDLE9BQU8sRUFBRSxlQUFlLEVBQUUsYUFBYSxFQUFFLElBQUksRUFBYyxHQUFHLEVBQUUsTUFBTSxNQUFNLENBQUM7QUFDN0UsT0FBTyxFQUFFLE1BQU0sRUFBRSxHQUFHLEVBQUUsV0FBVyxFQUFFLElBQUksRUFBRSxTQUFTLEVBQUUsSUFBSSxFQUFFLEdBQUcsRUFBRSxNQUFNLGdCQUFnQixDQUFDOzs7O0FBSXRGLE1BQU0sT0FBTyxpQkFBaUI7SUF3QzVCLFlBQ1UsT0FBdUIsRUFDdkIsZUFBZ0MsRUFDaEMsZUFBZ0M7UUFGaEMsWUFBTyxHQUFQLE9BQU8sQ0FBZ0I7UUFDdkIsb0JBQWUsR0FBZixlQUFlLENBQWlCO1FBQ2hDLG9CQUFlLEdBQWYsZUFBZSxDQUFpQjtRQTFDbEMsZUFBVSxHQUFHLElBQUksZUFBZSxDQUFvQixJQUFJLENBQUMsQ0FBQztRQUMxRCxlQUFVLEdBQUcsSUFBSSxlQUFlLENBQVUsSUFBSSxDQUFDLENBQUM7UUFDaEQsdUJBQWtCLEdBQUcsSUFBSSxlQUFlLENBQVUsS0FBSyxDQUFDLENBQUM7UUFDekQsd0JBQW1CLEdBQWUsRUFBRSxDQUFDO1FBQ3JDLHVCQUFrQixHQUFHLEtBQUssQ0FBQztRQThCNUIsa0JBQWEsR0FBZ0IsRUFBRSxDQUFDO1FBQ2hDLG9CQUFlLEdBQWdCLEVBQUUsQ0FBQztRQUNsQyxXQUFNLEdBQUcsSUFBSSxDQUFDLFVBQVUs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UUFDbkQsTUFBTSxHQUFHLEdBQUcsSUFBSSxDQUFDLE9BQU8sQ0FBQyxPQUFPLEVBQUUsQ0FBQztRQUVuQyxPQUFPLFNBQVMsQ0FBQyxNQUFNLENBQUMsRUFBRSxDQUFDLEVBQUUsQ0FBQyxDQUFDLEVBQUUsQ0FBQyxXQUFXLElBQUksRUFBRSxDQUFDLFdBQVcsS0FBSyxHQUFHLENBQUMsVUFBVSxDQUFDLFdBQVcsQ0FBQyxDQUFDO0lBQ2xHLENBQUM7SUFFTyxhQUFhLENBQUMsS0FBd0I7UUFDNUMsSUFBSSxDQUFBLEtBQUssYUFBTCxLQUFLLHVCQUFMLEtBQUssQ0FBRSxPQUFPLENBQUMsVUFBVSxDQUFDLElBQUksTUFBSyx3QkFBd0IsQ0FBQyxPQUFPLEVBQUU7WUFDdkUsSUFBSSxDQUFDLGlCQUFpQixHQUFHLENBQUMsQ0FBQyxLQUFLLElBQUksQ0FBQyxLQUFLLENBQUMsWUFBWSxDQUFDLEtBQUssQ0FBQyxFQUFFLENBQUMsRUFBRSxDQUFDLEVBQUUsQ0FBQyxVQUFVLEtBQUssT0FBTyxDQUFDLENBQUM7U0FDaEc7YUFBTTtZQUNMLElBQUksQ0FBQyxpQkFBaUIsR0FBRyxDQUFDLE9BQU8sQ0FBQyxJQUFJLENBQUMsbUJBQW1CLEVBQUUsS0FBSyxhQUFMLEtBQUssdUJBQUwsS0FBSyxDQUFFLFlBQVksQ0FBQyxDQUFDO1NBQ2xGO0lBQ0gsQ0FBQzs7K0dBN1JVLGlCQUFpQjttSEFBakIsaUJBQWlCLGNBREosTUFBTTs0RkFDbkIsaUJBQWlCO2tCQUQ3QixVQUFVO21CQUFDLEVBQUUsVUFBVSxFQUFFLE1BQU0sRUFBRSIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IEluamVjdGFibGUgfSBmcm9tICdAYW5ndWxhci9jb3JlJztcbmltcG9ydCB7IFByaWNlQXBpU2VydmljZSwgUXVvdGVBcGlTZXJ2aWNlIH0gZnJvbSAnQHZlbG9jZWFwcHMvYXBpJztcbmltcG9ydCB7IENvbmZpZ3VyYXRpb25Db250ZXh0TW9kZSwgTGluZUl0ZW0sIFByaWNlTGlzdCwgUHJpY2VTdW1tYXJ5LCBRdW90ZURyYWZ0IH0gZnJvbSAnQHZlbG9jZWFwcHMvY29yZSc7XG5pbXBvcnQgeyBEaWN0aW9uYXJ5LCBpc0VxdWFsIH0gZnJvbSAnbG9kYXNoJztcbmltcG9ydCB7IEJlaGF2aW9yU3ViamVjdCwgY29tYmluZUxhdGVzdCwgbm9vcCwgT2JzZXJ2YWJsZSwgemlwIH0gZnJvbSAncnhqcyc7XG5pbXBvcnQgeyBmaWx0ZXIsIG1hcCwgc2hhcmVSZXBsYXksIHNraXAsIHN3aXRjaE1hcCwgdGFrZSwgdGFwIH0gZnJvbSAncnhqcy9vcGVyYXRvcnMnO1xuaW1wb3J0IHsgQ29udGV4dFNlcnZpY2UgfSBmcm9tICcuL2NvbnRleHQuc2VydmljZSc7XG5cbkBJbmplY3RhYmxlKHsgcHJvdmlkZWRJbjogJ3Jvb3QnIH0pXG5leHBvcnQgY2xhc3MgUXVvdGVEcmFmdFNlcnZpY2Uge1xuICBwcml2YXRlIHF1b3RlU3ViaiQgPSBuZXcgQmVoYXZpb3JTdWJqZWN0PFF1b3RlRHJhZnQgfCBudWxsPihudWxsKTtcbiAgcHJpdmF0ZSByZXNldFN1YmokID0gbmV3IEJlaGF2aW9yU3ViamVjdDxib29sZWFuPih0cnVlKTtcbiAgcHJpdmF0ZSBpc0luaXRpYWxpemVkU3ViaiQgPSBuZXcgQmVoYXZpb3JTdWJqZWN0PGJvb2xlYW4+KGZhbHNlKTtcbiAgcHJpdmF0ZSBpbml0aWFsQ3VycmVudFN0YXRlOiBMaW5lSXRlbVtdID0gW107XG4gIHByaXZhdGUgX2hhc1Vuc2F2ZWRDaGFuZ2VzID0gZmFsc2U7XG5cbiAgcHVibGljIGdldCBpc0luaXRpYWxpemVkKCk6IGJvb2xlYW4ge1xuICAgIHJldHVybiB0aGlzLmlzSW5pdGlhbGl6ZWRTdWJqJC5nZXRWYWx1ZSgpO1xuICB9XG4gIHB1YmxpYyBzZXQgaXNJbml0aWFsaXplZCh2YWx1ZTogYm9vbGVhbikge1xuICAgIGlmICh0aGlzLmlzSW5pdGlhbGl6ZWQgIT09IHZhbHVlKSB7XG4gICAgICB0aGlzLmlzSW5pdGlhbGl6ZWRTdWJqJC5uZXh0KHZhbHVlKTtcbiAgICB9XG4gIH1cblxuICBwdWJsaWMgZ2V0IGhhc1Vuc2F2ZWRDaGFuZ2VzKCk6IGJvb2xlYW4ge1xuICAgIHJldHVybiB0aGlzLl9oYXNVbnNhdmVkQ2hhbmdlcztcbiAgfVxuICBwdWJsaWMgc2V0IGhhc1Vuc2F2ZWRDaGFuZ2VzKHZhbHVlOiBib29sZWFuKSB7XG4gICAgdGhpcy5faGFzVW5zYXZlZENoYW5nZXMgPSB2YWx1ZTtcblxuICAgIGlmICghdGhpcy5faGFzVW5zYXZlZENoYW5nZXMpIHtcbiAgICAgIHRoaXMuaW5pdGlhbEN1cnJlbnRTdGF0ZSA9IHRoaXMucXVvdGVEcmFmdD8uY3VycmVudFN0YXRlID8/IFtdO1xuICAgIH1cbiAgfVxuXG4gIHB1YmxpYyBnZXQgaGFzQXNzZXRzJCgpOiBPYnNlcnZhYmxlPGJvb2xlYW4+IHtcbiAgICByZXR1cm4gdGhpcy5xdW90ZVN1YmokLnBpcGUobWFwKCgpID0+IHRoaXMuaGFzQXNzZXRzKSk7XG4gIH1cbiAgcHVibGljIGdldCBoYXNBc3NldHMoKTogYm9vbGVhbiB7XG4gICAgY29uc3QgcXVvdGVEcmFmdCA9IHRoaXMucXVvdGVTdWJqJC52YWx1ZTtcbiAgICByZXR1cm4gQm9vbGVhbihxdW90ZURyYWZ0ICYmIHF1b3RlRHJhZnQuY3VycmVudFN0YXRlLmxlbmd0aCA+IDApO1xuICB9XG5cbiAgcHVibGljIGFsbFByaWNlTGlzdHM6IFByaWNlTGlzdFtdID0gW107XG4gIHB1YmxpYyBhc3NldFByaWNlTGlzdHM6IFByaWNlTGlzdFtdID0gW107XG4gIHB1YmxpYyByZXNldCQgPSB0aGlzLnJlc2V0U3ViaiQuYXNPYnNlcnZhYmxlKCk7XG4gIHB1YmxpYyBhY3RpdmVQcmljZUxpc3QkOiBPYnNlcnZhYmxlPFByaWNlTGlzdCB8IG51bGw+O1xuXG4gIGNvbnN0cnVjdG9yKFxuICAgIHByaXZhdGUgY29udGV4dDogQ29udGV4dFNlcnZpY2UsXG4gICAgcHJpdmF0ZSBxdW90ZUFwaVNlcnZpY2U6IFF1b3RlQXBpU2VydmljZSxcbiAgICBwcml2YXRlIHByaWNlQXBpU2VydmljZTogUHJpY2VBcGlTZXJ2aWNlLFxuICApIHtcbiAgICB0aGlzLmFjdGl2ZVByaWNlTGlzdCQgPSB0aGlzLmNvbnRleHQucmVzb2x2ZSQoKS5waXBlKFxuICAgICAgbWFwKGN0eCA9PiB0aGlzLmFsbFByaWNlTGlzdHMuZmluZChwcmljZUxpc3QgPT4gcHJpY2VMaXN0LmlkID09PSBjdHgucHJvcGVydGllcy5QcmljZUxpc3RJZCkpLFxuICAgICAgbWFwKHByaWNlTGlzdCA9PiBwcmljZUxpc3QgPz8gbnVsbCksXG4gICAgKTtcblxuICAgIHRoaXMuaXNJbml0aWFsaXplZFN1YmokXG4gICAgICAucGlwZShcbiAgICAgICAgZmlsdGVyKGlzSW5pdGlhbGl6ZWQgPT4gaXNJbml0aWFsaXplZCksXG4gICAgICAgIHN3aXRjaE1hcCgoKSA9PiB0aGlzLnF1b3RlU3ViaiQuYXNPYnNlcnZhYmxlKCkpLFxuICAgICAgICBza2lwKDEpLFxuICAgICAgICB0YXAocXVvdGUgPT4gdGhpcy5tYXJrQXNVcGRhdGVkKHF1b3RlKSksXG4gICAgICApXG4gICAgICAuc3Vic2NyaWJlKCk7XG4gIH1cblxuICBwdWJsaWMgcmVzZXQoKTogdm9pZCB7XG4gICAgdGhpcy5yZXNldFN1YmokLm5leHQodHJ1ZSk7XG4gICAgdGhpcy5xdW90ZVN1YmokLm5leHQobnVsbCk7XG4gICAgdGhpcy5oYXNVbnNhdmVkQ2hhbmdlcyA9IGZhbHNlO1xuICB9XG5cbiAgcHVibGljIGluaXQocXVvdGVJZDogc3RyaW5nLCBwYXJhbXM6IERpY3Rpb25hcnk8c3RyaW5nPik6IE9ic2VydmFibGU8dm9pZD4ge1xuICAgIHJldHVybiB6aXAodGhpcy5xdW90ZUFwaVNlcnZpY2UuZ2V0UXVvdGVEcmFmdChxdW90ZUlkLCBwYXJhbXMpLCB0aGlzLnByaWNlQXBpU2VydmljZS5nZXRQcmljZUxpc3RzKCkpLnBpcGUoXG4gICAgICB0YXAoKFtxdW90ZSwgYWxsUHJpY2VMaXN0c10pID0+IHtcbiAgICAgICAgdGhpcy5hbGxQcmljZUxpc3RzID0gYWxsUHJpY2VMaXN0cztcbiAgICAgICAgdGhpcy5xdW90ZVN1YmokLm5leHQocXVvdGUpO1xuXG4gICAgICAgIHRoaXMuY29udGV4dC51cGRhdGUocXVvdGUuY29udGV4dCk7XG5cbiAgICAgICAgdGhpcy5wb3B1bGF0ZUFjdGl2ZVByaWNlTGlzdHMkKCk7XG4gICAgICB9KSxcbiAgICAgIG1hcCgoKSA9PiBub29wKCkpLFxuICAgICAgdGFrZSgxKSxcbiAgICApO1xuICB9XG5cbiAgcHVibGljIHNldEN1cnJlbnRMaW5lSXRlbVN0YXRlKGxpbmVJdGVtczogTGluZUl0ZW1bXSk6IHZvaWQge1xuICAgIGNvbnN0IHF1b3RlRHJhZnQgPSB0aGlzLnF1b3RlU3ViaiQudmFsdWU7XG5cbiAgICBpZiAoIXF1b3RlRHJhZnQpIHtcbiAgICAgIHJldHVybjtcbiAgICB9XG5cbiAgICB0aGlzLnF1b3RlU3ViaiQubmV4dCh7XG4gICAgICAuLi5xdW90ZURyYWZ0LFxuICAgICAgY3VycmVudFN0YXRlOiBsaW5lSXRlbXMsXG4gICAgfSk7XG4gIH1cblxuICBwdWJsaWMgdXBkYXRlUXVvdGVEcmFmdCh1cGRhdGU6IFBhcnRpYWw8UXVvdGVEcmFmdD4pOiB2b2lkIHtcbiAgICBjb25zdCBxdW90ZURyYWZ0ID0gdGhpcy5xdW90ZVN1YmokLnZhbHVlO1xuXG4gICAgaWYgKCFxdW90ZURyYWZ0KSB7XG4gICAgICByZXR1cm47XG4gICAgfVxuXG4gICAgaWYgKHVwZGF0ZS5jb250ZXh0KSB7XG4gICAgICB0aGlzLmNvbnRleHQuc2V0KHVwZGF0ZS5jb250ZXh0KTtcbiAgICB9XG5cbiAgICB0aGlzLnF1b3RlU3ViaiQubmV4dCh7XG4gICAgICAuLi5xdW90ZURyYWZ0LFxuICAgICAgLi4udXBkYXRlLFxuICAgIH0pO1xuICB9XG5cbiAgcHVibGljIHVwZGF0ZUJ5UHJpY2VTdW1tYXJ5KHByaWNlU3VtbWFyeTogUHJpY2VTdW1tYXJ5KTogdm9pZCB7XG4gICAgY29uc3QgcXVvdGVEcmFmdCA9IHRoaXMucXVvdGVTdWJqJC52YWx1ZTtcblxuICAgIGlmICghcXVvdGVEcmFmdCkge1xuICAgICAgcmV0dXJuO1xuICAgIH1cblxuICAgIGNvbnN0IHVwZGF0ZWRDdXJyZW50U3RhdGUgPSB0aGlzLmN1cnJlbnRTdGF0ZS5tYXAobGluZUl0ZW0gPT4ge1xuICAgICAgY29uc3QgdXBkYXRlZCA9IHByaWNlU3VtbWFyeS5saW5lSXRlbXMuZmluZChsaSA9PiBsaS5pZCA9PT0gbGluZUl0ZW0uaWQpO1xuICAgICAgcmV0dXJuIHVwZGF0ZWQgPz8gbGluZUl0ZW07XG4gICAgfSk7XG5cbiAgICB0aGlzLnF1b3RlU3ViaiQubmV4dCh7XG4gICAgICAuLi5xdW90ZURyYWZ0LFxuICAgICAgY3VycmVudFN0YXRlOiB1cGRhdGVkQ3VycmVudFN0YXRlLFxuICAgICAgdG90YWxQcmljZXM6IHByaWNlU3VtbWFyeS50b3RhbFByaWNlcyxcbiAgICAgIGFwcHJvdmFsSXRlbXM6IHByaWNlU3VtbWFyeS5hcHByb3ZhbEl0ZW1zLFxuICAgIH0pO1xuICB9XG5cbiAgcHVibGljIGdldCBxdW90ZURyYWZ0JCgpOiBPYnNlcnZhYmxlPFF1b3RlRHJhZnQ+IHtcbiAgICByZXR1cm4gY29tYmluZUxhdGVzdChbdGhpcy5xdW90ZVN1YmokLCB0aGlzLmNvbnRleHQucmVzb2x2ZSQoKV0pLnBpcGUoXG4gICAgICBtYXAoKCkgPT4gdGhpcy5xdW90ZURyYWZ0KSxcbiAgICAgIGZpbHRlcigocXVvdGUpOiBxdW90ZSBpcyBRdW90ZURyYWZ0ID0+IEJvb2xlYW4ocXVvdGUpKSxcbiAgICAgIHNoYXJlUmVwbGF5KCksXG4gICAgKTtcbiAgfVxuXG4gIHB1YmxpYyBnZXQgcXVvdGVEcmFmdCgpOiBRdW90ZURyYWZ0IHwgbnVsbCB7XG4gICAgY29uc3QgcXVvdGUgPSB0aGlzLnF1b3RlU3ViaiQudmFsdWU7XG5cbiAgICBpZiAoIXF1b3RlKSB7XG4gICAgICByZXR1cm4gbnVsbDtcbiAgICB9XG5cbiAgICByZXR1cm4ge1xuICAgICAgLi4ucXVvdGUsXG4gICAgICBjb250ZXh0OiB0aGlzLmNvbnRleHQucmVzb2x2ZSgpLFxuICAgIH07XG4gIH1cblxuICBwdWJsaWMgZ2V0IHF1b3RlRHJhZnRGb3JBY3RpdmVQcmljZUxpc3QoKTogUXVvdGVEcmFmdCB8IG51bGwge1xuICAgIGNvbnN0IHF1b3RlRHJhZnQgPSB0aGlzLnF1b3RlRHJhZnQ7XG5cbiAgICBpZiAoIXF1b3RlRHJhZnQpIHtcbiAgICAgIHJldHVybiBudWxsO1xuICAgIH1cblxuICAgIHJldHVybiB7XG4gICAgICAuLi5xdW90ZURyYWZ0LFxuICAgICAgaW5pdGlhbFN0YXRlOiB0aGlzLmZpbHRlckJ5QWN0aXZlUHJpY2VMaXN0KHF1b3RlRHJhZnQuaW5pdGlhbFN0YXRlKSxcbiAgICAgIGN1cnJlbnRTdGF0ZTogdGhpcy5maWx0ZXJCeUFjdGl2ZVByaWNlTGlzdChxdW90ZURyYWZ0LmN1cnJlbnRTdGF0ZSksXG4gICAgfTtcbiAgfVxuXG4gIHB1YmxpYyBnZXQgY3VycmVudFN0YXRlJCgpOiBPYnNlcnZhYmxlPExpbmVJdGVtW10+IHtcbiAgICByZXR1cm4gdGhpcy5xdW90ZURyYWZ0JC5waXBlKG1hcChxdW90ZSA9PiBxdW90ZS5jdXJyZW50U3RhdGUpKTtcbiAgfVxuXG4gIHB1YmxpYyBnZXQgY3VycmVudFN0YXRlKCk6IExpbmVJdGVtW10ge1xuICAgIHJldHVybiB0aGlzLnF1b3RlRHJhZnQ/LmN1cnJlbnRTdGF0ZSA/PyBbXTtcbiAgfVxuXG4gIC8qKlxuICAgKiBTdHJlYW0gb2YgYWN0aXZlQ3VycmVudFN0YXRlXG4gICAqL1xuICBwdWJsaWMgZ2V0IGFjdGl2ZUN1cnJlbnRTdGF0ZSQoKTogT2JzZXJ2YWJsZTxMaW5lSXRlbVtdPiB7XG4gICAgcmV0dXJuIHRoaXMucXVvdGVEcmFmdCQucGlwZShtYXAoKCkgPT4gdGhpcy5hY3RpdmVDdXJyZW50U3RhdGUpKTtcbiAgfVxuXG4gIC8qKlxuICAgKiBhY3RpdmVDdXJyZW50U3RhdGUgaXMgY3VycmVudFN0YXRlIHBhc3NlZCB0aHJvdWdoIGFkZGl0aW9uYWwgZmlsdGVyc1xuICAgKi9cbiAgcHVibGljIGdldCBhY3RpdmVDdXJyZW50U3RhdGUoKTogTGluZUl0ZW1bXSB7XG4gICAgbGV0IGN1cnJlbnRTdGF0ZSA9IHRoaXMucXVvdGVEcmFmdD8uY3VycmVudFN0YXRlID8/IFtdO1xuXG4gICAgY3VycmVudFN0YXRlID0gdGhpcy5maWx0ZXJCeUFjdGl2ZVByaWNlTGlzdChjdXJyZW50U3RhdGUpO1xuXG4gICAgcmV0dXJuIGN1cnJlbnRTdGF0ZTtcbiAgfVxuXG4gIC8qKlxuICAgKiBTdHJlYW0gb2YgYWN0aXZlSW5pdGlhbFN0YXRlXG4gICAqL1xuICBwdWJsaWMgZ2V0IGFjdGl2ZUluaXRpYWxTdGF0ZSQoKTogT2JzZXJ2YWJsZTxMaW5lSXRlbVtdPiB7XG4gICAgcmV0dXJuIHRoaXMucXVvdGVEcmFmdCQucGlwZShtYXAoKCkgPT4gdGhpcy5hY3RpdmVJbml0aWFsU3RhdGUpKTtcbiAgfVxuXG4gIC8qKlxuICAgKiBhY3RpdmVJbml0aWFsU3RhdGUgaXMgaW5pdGlhbFN0YXRlIHBhc3NlZCB0aHJvdWdoIGFkZGl0aW9uYWwgZmlsdGVyc1xuICAgKi9cbiAgcHVibGljIGdldCBhY3RpdmVJbml0aWFsU3RhdGUoKTogTGluZUl0ZW1bXSB7XG4gICAgY29uc3QgY3R4ID0gdGhpcy5jb250ZXh0LnJlc29sdmUoKTtcbiAgICBsZXQgaW5pdGlhbFN0YXRlID0gdGhpcy5xdW90ZURyYWZ0Py5pbml0aWFsU3RhdGUgPz8gW107XG5cbiAgICBpZiAoY3R4Lm1vZGUgPT09IENvbmZpZ3VyYXRpb25Db250ZXh0TW9kZS5BQ0NPVU5UKSB7XG4gICAgICBpbml0aWFsU3RhdGUgPSB0aGlzLmZpbHRlckJ5QWN0aXZlUHJpY2VMaXN0KGluaXRpYWxTdGF0ZSk7XG4gICAgfVxuXG4gICAgcmV0dXJuIGluaXRpYWxTdGF0ZTtcbiAgfVxuXG4gIHB1YmxpYyBnZXQgaXNTdGFuZGFsb25lKCk6IGJvb2xlYW4ge1xuICAgIHJldHVybiB0aGlzLmNvbnRleHQucmVzb2x2ZSgpLnByb3BlcnRpZXMuc3RhbmRhbG9uZSA9PT0gJ3RydWUnO1xuICB9XG5cbiAgcHVibGljIGdldCBpc1N0YW5kYWxvbmUkKCk6IE9ic2VydmFibGU8Ym9vbGVhbj4ge1xuICAgIHJldHVybiB0aGlzLmNvbnRleHQucmVzb2x2ZSQoKS5waXBlKG1hcCgoKSA9PiB0aGlzLmlzU3RhbmRhbG9uZSkpO1xuICB9XG5cbiAgcHVibGljIGdldEluaXRpYWxDdXJyZW50U3RhdGUoKTogTGluZUl0ZW1bXSB7XG4gICAgcmV0dXJuIHRoaXMuaW5pdGlhbEN1cnJlbnRTdGF0ZTtcbiAgfVxuXG4gIHB1YmxpYyBpc0VkaXRNb2RlJCgpOiBPYnNlcnZhYmxlPGJvb2xlYW4+IHtcbiAgICByZXR1cm4gdGhpcy5jb250ZXh0LnJlc29sdmUkKCkucGlwZShtYXAoKCkgPT4gdGhpcy5pc0VkaXRNb2RlKCkpKTtcbiAgfVxuXG4gIHB1YmxpYyBpc0VkaXRNb2RlKCk6IGJvb2xlYW4ge1xuICAgIGNvbnN0IGNvbnRleHQgPSB0aGlzLmNvbnRleHQucmVzb2x2ZSgpO1xuXG4gICAgaWYgKGNvbnRleHQubW9kZSA9PT0gQ29uZmlndXJhdGlvbkNvbnRleHRNb2RlLkFDQ09VTlQpIHtcbiAgICAgIHJldHVybiB0cnVlO1xuICAgIH1cblxuICAgIGlmIChjb250ZXh0Lm1vZGUgPT09IENvbmZpZ3VyYXRpb25Db250ZXh0TW9kZS5RVU9URSkge1xuICAgICAgcmV0dXJuIGNvbnRleHQucHJvcGVydGllcy5TdGF0dXMgPT09ICdEcmFmdCc7XG4gICAgfVxuXG4gICAgcmV0dXJuIGZhbHNlO1xuICB9XG5cbiAgcHVibGljIHVwZGF0ZUFjdGl2ZVByaWNlTGlzdChwcmljZUxpc3RJZDogc3RyaW5nKTogdm9pZCB7XG4gICAgdGhpcy5jb250ZXh0LnVwZGF0ZSh7IHByb3BlcnRpZXM6IHsgUHJpY2VMaXN0SWQ6IHByaWNlTGlzdElkIH0gfSk7XG4gIH1cblxuICBwcml2YXRlIHBvcHVsYXRlQWN0aXZlUHJpY2VMaXN0cyQoKTogdm9pZCB7XG4gICAgY29uc3QgY3R4ID0gdGhpcy5jb250ZXh0LnJlc29sdmUoKTtcbiAgICBjb25zdCBxdW90ZURyYWZ0ID0gdGhpcy5xdW90ZURyYWZ0O1xuXG4gICAgaWYgKCFxdW90ZURyYWZ0KSB7XG4gICAgICByZXR1cm47XG4gICAgfVxuXG4gICAgLy8gSW4gQUNDT1VOVCBtb2RlIHBvcHVsYXRlIHByaWNlIGxpc3RzIGZyb20gcmVsYXRlZCBhc3NldHNcbiAgICBpZiAoY3R4Lm1vZGUgPT09IENvbmZpZ3VyYXRpb25Db250ZXh0TW9kZS5BQ0NPVU5UKSB7XG4gICAgICAvLyBQb3B1bGF0ZSBsaXN0IG9mIHByaWNlIGxpc3RzXG4gICAgICB0aGlzLmFzc2V0UHJpY2VMaXN0cyA9IHF1b3RlRHJhZnQuY3VycmVudFN0YXRlXG4gICAgICAgIC5tYXAoKHsgcHJpY2VMaXN0SWQgfSkgPT4gcHJpY2VMaXN0SWQpXG4gICAgICAgIC5yZWR1Y2U8UHJpY2VMaXN0W10+KCh0cnVuaywgcHJpY2VMaXN0SWQpID0+IHtcbiAgICAgICAgICBpZiAoIXByaWNlTGlzdElkIHx8IHRydW5rLnNvbWUoaXRlbSA9PiBpdGVtLmlkID09PSBwcmljZUxpc3RJZCkpIHtcbiAgICAgICAgICAgIHJldHVybiB0cnVuaztcbiAgICAgICAgICB9XG5cbiAgICAgICAgICByZXR1cm4gW1xuICAgICAgICAgICAgLi4udHJ1bmssXG4gICAgICAgICAgICB7IGlkOiBwcmljZUxpc3RJZCwgbmFtZTogdGhpcy5hbGxQcmljZUxpc3RzLmZpbmQoaXRlbSA9PiBpdGVtLmlkID09PSBwcmljZUxpc3RJZCk/Lm5hbWUgPz8gJycgfSxcbiAgICAgICAgICBdO1xuICAgICAgICB9LCBbXSk7XG4gICAgfVxuICB9XG5cbiAgcHJpdmF0ZSBmaWx0ZXJCeUFjdGl2ZVByaWNlTGlzdChsaW5lSXRlbXM6IExpbmVJdGVtW10pOiBMaW5lSXRlbVtdIHtcbiAgICBjb25zdCBjdHggPSB0aGlzLmNvbnRleHQucmVzb2x2ZSgpO1xuXG4gICAgcmV0dXJuIGxpbmVJdGVtcy5maWx0ZXIobGkgPT4gIWxpLnByaWNlTGlzdElkIHx8IGxpLnByaWNlTGlzdElkID09PSBjdHgucHJvcGVydGllcy5QcmljZUxpc3RJZCk7XG4gIH1cblxuICBwcml2YXRlIG1hcmtBc1VwZGF0ZWQocXVvdGU6IFF1b3RlRHJhZnQgfCBudWxsKTogdm9pZCB7XG4gICAgaWYgKHF1b3RlPy5jb250ZXh0LnByb3BlcnRpZXMubW9kZSA9PT0gQ29uZmlndXJhdGlvbkNvbnRleHRNb2RlLkFDQ09VTlQpIHtcbiAgICAgIHRoaXMuaGFzVW5zYXZlZENoYW5nZXMgPSAhIXF1b3RlICYmICFxdW90ZS5jdXJyZW50U3RhdGUuZXZlcnkobGkgPT4gbGkuYWN0aW9uQ29kZSA9PT0gJ0VYSVNUJyk7XG4gICAgfSBlbHNlIHtcbiAgICAgIHRoaXMuaGFzVW5zYXZlZENoYW5nZXMgPSAhaXNFcXVhbCh0aGlzLmluaXRpYWxDdXJyZW50U3RhdGUsIHF1b3RlPy5jdXJyZW50U3RhdGUpO1xuICAgIH1cbiAgfVxufVxuIl19
|
217
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicXVvdGUtZHJhZnQuc2VydmljZS5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uL2xpYnMvc2RrL2NvcmUvc2VydmljZXMvcXVvdGUtZHJhZnQuc2VydmljZS50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQUUsVUFBVSxFQUFFLE1BQU0sZUFBZSxDQUFDO0FBRTNDLE9BQU8sRUFBRSx3QkFBd0IsRUFBaUQsTUFBTSxrQkFBa0IsQ0FBQztBQUMzRyxPQUFPLEVBQWMsT0FBTyxFQUFFLE1BQU0sUUFBUSxDQUFDO0FBQzdDLE9BQU8sRUFBRSxlQUFlLEVBQUUsYUFBYSxFQUFFLElBQUksRUFBYyxHQUFHLEVBQUUsTUFBTSxNQUFNLENBQUM7QUFDN0UsT0FBTyxFQUFFLE1BQU0sRUFBRSxHQUFHLEVBQUUsV0FBVyxFQUFFLElBQUksRUFBRSxTQUFTLEVBQUUsSUFBSSxFQUFFLEdBQUcsRUFBRSxNQUFNLGdCQUFnQixDQUFDOzs7O0FBSXRGLE1BQU0sT0FBTyxpQkFBaUI7SUF3QzVCLFlBQ1UsT0FBdUIsRUFDdkIsZUFBZ0MsRUFDaEMsZUFBZ0M7UUFGaEMsWUFBTyxHQUFQLE9BQU8sQ0FBZ0I7UUFDdkIsb0JBQWUsR0FBZixlQUFlLENBQWlCO1FBQ2hDLG9CQUFlLEdBQWYsZUFBZSxDQUFpQjtRQTFDbEMsZUFBVSxHQUFHLElBQUksZUFBZSxDQUFvQixJQUFJLENBQUMsQ0FBQztRQUMxRCxlQUFVLEdBQUcsSUFBSSxlQUFlLENBQVUsSUFBSSxDQUFDLENBQUM7UUFDaEQsdUJBQWtCLEdBQUcsSUFBSSxlQUFlLENBQVUsS0FBSyxDQUFDLENBQUM7UUFDekQsd0JBQW1CLEdBQWUsRUFBRSxDQUFDO1FBQ3JDLHVCQUFrQixHQUFHLEtBQUssQ0FBQztRQThCNUIsa0JBQWEsR0FBZ0IsRUFBRSxDQUFDO1FBQ2hDLG9CQUFlLEdBQWdCLEVBQUUsQ0FBQztRQUNsQyxXQUFNLEdBQUcsSUFBSSxDQUFDLFVBQVUs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UUFDbkQsTUFBTSxHQUFHLEdBQUcsSUFBSSxDQUFDLE9BQU8sQ0FBQyxPQUFPLEVBQUUsQ0FBQztRQUVuQyxPQUFPLFNBQVMsQ0FBQyxNQUFNLENBQUMsRUFBRSxDQUFDLEVBQUUsQ0FBQyxDQUFDLEVBQUUsQ0FBQyxXQUFXLElBQUksRUFBRSxDQUFDLFdBQVcsS0FBSyxHQUFHLENBQUMsVUFBVSxDQUFDLFdBQVcsQ0FBQyxDQUFDO0lBQ2xHLENBQUM7SUFFTyxhQUFhLENBQUMsS0FBd0I7UUFDNUMsSUFBSSxDQUFBLEtBQUssYUFBTCxLQUFLLHVCQUFMLEtBQUssQ0FBRSxPQUFPLENBQUMsVUFBVSxDQUFDLElBQUksTUFBSyx3QkFBd0IsQ0FBQyxPQUFPLEVBQUU7WUFDdkUsSUFBSSxDQUFDLGlCQUFpQixHQUFHLENBQUMsQ0FBQyxLQUFLLElBQUksQ0FBQyxLQUFLLENBQUMsWUFBWSxDQUFDLEtBQUssQ0FBQyxFQUFFLENBQUMsRUFBRSxDQUFDLEVBQUUsQ0FBQyxVQUFVLEtBQUssT0FBTyxDQUFDLENBQUM7U0FDaEc7YUFBTTtZQUNMLElBQUksQ0FBQyxpQkFBaUIsR0FBRyxDQUFDLE9BQU8sQ0FBQyxJQUFJLENBQUMsbUJBQW1CLEVBQUUsS0FBSyxhQUFMLEtBQUssdUJBQUwsS0FBSyxDQUFFLFlBQVksQ0FBQyxDQUFDO1NBQ2xGO0lBQ0gsQ0FBQzs7K0dBN1JVLGlCQUFpQjttSEFBakIsaUJBQWlCLGNBREosTUFBTTs0RkFDbkIsaUJBQWlCO2tCQUQ3QixVQUFVO21CQUFDLEVBQUUsVUFBVSxFQUFFLE1BQU0sRUFBRSIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IEluamVjdGFibGUgfSBmcm9tICdAYW5ndWxhci9jb3JlJztcbmltcG9ydCB7IFByaWNlQXBpU2VydmljZSwgUXVvdGVBcGlTZXJ2aWNlIH0gZnJvbSAnQHZlbG9jZWFwcHMvYXBpJztcbmltcG9ydCB7IENvbmZpZ3VyYXRpb25Db250ZXh0TW9kZSwgTGluZUl0ZW0sIFByaWNlTGlzdCwgUHJpY2VTdW1tYXJ5LCBRdW90ZURyYWZ0IH0gZnJvbSAnQHZlbG9jZWFwcHMvY29yZSc7XG5pbXBvcnQgeyBEaWN0aW9uYXJ5LCBpc0VxdWFsIH0gZnJvbSAnbG9kYXNoJztcbmltcG9ydCB7IEJlaGF2aW9yU3ViamVjdCwgY29tYmluZUxhdGVzdCwgbm9vcCwgT2JzZXJ2YWJsZSwgemlwIH0gZnJvbSAncnhqcyc7XG5pbXBvcnQgeyBmaWx0ZXIsIG1hcCwgc2hhcmVSZXBsYXksIHNraXAsIHN3aXRjaE1hcCwgdGFrZSwgdGFwIH0gZnJvbSAncnhqcy9vcGVyYXRvcnMnO1xuaW1wb3J0IHsgQ29udGV4dFNlcnZpY2UgfSBmcm9tICcuL2NvbnRleHQuc2VydmljZSc7XG5cbkBJbmplY3RhYmxlKHsgcHJvdmlkZWRJbjogJ3Jvb3QnIH0pXG5leHBvcnQgY2xhc3MgUXVvdGVEcmFmdFNlcnZpY2Uge1xuICBwcml2YXRlIHF1b3RlU3ViaiQgPSBuZXcgQmVoYXZpb3JTdWJqZWN0PFF1b3RlRHJhZnQgfCBudWxsPihudWxsKTtcbiAgcHJpdmF0ZSByZXNldFN1YmokID0gbmV3IEJlaGF2aW9yU3ViamVjdDxib29sZWFuPih0cnVlKTtcbiAgcHJpdmF0ZSBpc0luaXRpYWxpemVkU3ViaiQgPSBuZXcgQmVoYXZpb3JTdWJqZWN0PGJvb2xlYW4+KGZhbHNlKTtcbiAgcHJpdmF0ZSBpbml0aWFsQ3VycmVudFN0YXRlOiBMaW5lSXRlbVtdID0gW107XG4gIHByaXZhdGUgX2hhc1Vuc2F2ZWRDaGFuZ2VzID0gZmFsc2U7XG5cbiAgcHVibGljIGdldCBpc0luaXRpYWxpemVkKCk6IGJvb2xlYW4ge1xuICAgIHJldHVybiB0aGlzLmlzSW5pdGlhbGl6ZWRTdWJqJC5nZXRWYWx1ZSgpO1xuICB9XG4gIHB1YmxpYyBzZXQgaXNJbml0aWFsaXplZCh2YWx1ZTogYm9vbGVhbikge1xuICAgIGlmICh0aGlzLmlzSW5pdGlhbGl6ZWQgIT09IHZhbHVlKSB7XG4gICAgICB0aGlzLmlzSW5pdGlhbGl6ZWRTdWJqJC5uZXh0KHZhbHVlKTtcbiAgICB9XG4gIH1cblxuICBwdWJsaWMgZ2V0IGhhc1Vuc2F2ZWRDaGFuZ2VzKCk6IGJvb2xlYW4ge1xuICAgIHJldHVybiB0aGlzLl9oYXNVbnNhdmVkQ2hhbmdlcztcbiAgfVxuICBwdWJsaWMgc2V0IGhhc1Vuc2F2ZWRDaGFuZ2VzKHZhbHVlOiBib29sZWFuKSB7XG4gICAgdGhpcy5faGFzVW5zYXZlZENoYW5nZXMgPSB2YWx1ZTtcblxuICAgIGlmICghdGhpcy5faGFzVW5zYXZlZENoYW5nZXMpIHtcbiAgICAgIHRoaXMuaW5pdGlhbEN1cnJlbnRTdGF0ZSA9IHRoaXMucXVvdGVEcmFmdD8uY3VycmVudFN0YXRlID8/IFtdO1xuICAgIH1cbiAgfVxuXG4gIHB1YmxpYyBnZXQgaGFzUHJvZHVjdHMkKCk6IE9ic2VydmFibGU8Ym9vbGVhbj4ge1xuICAgIHJldHVybiB0aGlzLnF1b3RlU3ViaiQucGlwZShtYXAoKCkgPT4gdGhpcy5oYXNQcm9kdWN0cykpO1xuICB9XG4gIHB1YmxpYyBnZXQgaGFzUHJvZHVjdHMoKTogYm9vbGVhbiB7XG4gICAgY29uc3QgcXVvdGVEcmFmdCA9IHRoaXMucXVvdGVTdWJqJC52YWx1ZTtcbiAgICByZXR1cm4gQm9vbGVhbihxdW90ZURyYWZ0ICYmIHF1b3RlRHJhZnQuY3VycmVudFN0YXRlLmxlbmd0aCA+IDApO1xuICB9XG5cbiAgcHVibGljIGFsbFByaWNlTGlzdHM6IFByaWNlTGlzdFtdID0gW107XG4gIHB1YmxpYyBhc3NldFByaWNlTGlzdHM6IFByaWNlTGlzdFtdID0gW107XG4gIHB1YmxpYyByZXNldCQgPSB0aGlzLnJlc2V0U3ViaiQuYXNPYnNlcnZhYmxlKCk7XG4gIHB1YmxpYyBhY3RpdmVQcmljZUxpc3QkOiBPYnNlcnZhYmxlPFByaWNlTGlzdCB8IG51bGw+O1xuXG4gIGNvbnN0cnVjdG9yKFxuICAgIHByaXZhdGUgY29udGV4dDogQ29udGV4dFNlcnZpY2UsXG4gICAgcHJpdmF0ZSBxdW90ZUFwaVNlcnZpY2U6IFF1b3RlQXBpU2VydmljZSxcbiAgICBwcml2YXRlIHByaWNlQXBpU2VydmljZTogUHJpY2VBcGlTZXJ2aWNlLFxuICApIHtcbiAgICB0aGlzLmFjdGl2ZVByaWNlTGlzdCQgPSB0aGlzLmNvbnRleHQucmVzb2x2ZSQoKS5waXBlKFxuICAgICAgbWFwKGN0eCA9PiB0aGlzLmFsbFByaWNlTGlzdHMuZmluZChwcmljZUxpc3QgPT4gcHJpY2VMaXN0LmlkID09PSBjdHgucHJvcGVydGllcy5QcmljZUxpc3RJZCkpLFxuICAgICAgbWFwKHByaWNlTGlzdCA9PiBwcmljZUxpc3QgPz8gbnVsbCksXG4gICAgKTtcblxuICAgIHRoaXMuaXNJbml0aWFsaXplZFN1YmokXG4gICAgICAucGlwZShcbiAgICAgICAgZmlsdGVyKGlzSW5pdGlhbGl6ZWQgPT4gaXNJbml0aWFsaXplZCksXG4gICAgICAgIHN3aXRjaE1hcCgoKSA9PiB0aGlzLnF1b3RlU3ViaiQuYXNPYnNlcnZhYmxlKCkpLFxuICAgICAgICBza2lwKDEpLFxuICAgICAgICB0YXAocXVvdGUgPT4gdGhpcy5tYXJrQXNVcGRhdGVkKHF1b3RlKSksXG4gICAgICApXG4gICAgICAuc3Vic2NyaWJlKCk7XG4gIH1cblxuICBwdWJsaWMgcmVzZXQoKTogdm9pZCB7XG4gICAgdGhpcy5yZXNldFN1YmokLm5leHQodHJ1ZSk7XG4gICAgdGhpcy5xdW90ZVN1YmokLm5leHQobnVsbCk7XG4gICAgdGhpcy5oYXNVbnNhdmVkQ2hhbmdlcyA9IGZhbHNlO1xuICB9XG5cbiAgcHVibGljIGluaXQocXVvdGVJZDogc3RyaW5nLCBwYXJhbXM6IERpY3Rpb25hcnk8c3RyaW5nPik6IE9ic2VydmFibGU8dm9pZD4ge1xuICAgIHJldHVybiB6aXAodGhpcy5xdW90ZUFwaVNlcnZpY2UuZ2V0UXVvdGVEcmFmdChxdW90ZUlkLCBwYXJhbXMpLCB0aGlzLnByaWNlQXBpU2VydmljZS5nZXRQcmljZUxpc3RzKCkpLnBpcGUoXG4gICAgICB0YXAoKFtxdW90ZSwgYWxsUHJpY2VMaXN0c10pID0+IHtcbiAgICAgICAgdGhpcy5hbGxQcmljZUxpc3RzID0gYWxsUHJpY2VMaXN0cztcbiAgICAgICAgdGhpcy5xdW90ZVN1YmokLm5leHQocXVvdGUpO1xuXG4gICAgICAgIHRoaXMuY29udGV4dC51cGRhdGUocXVvdGUuY29udGV4dCk7XG5cbiAgICAgICAgdGhpcy5wb3B1bGF0ZUFjdGl2ZVByaWNlTGlzdHMkKCk7XG4gICAgICB9KSxcbiAgICAgIG1hcCgoKSA9PiBub29wKCkpLFxuICAgICAgdGFrZSgxKSxcbiAgICApO1xuICB9XG5cbiAgcHVibGljIHNldEN1cnJlbnRMaW5lSXRlbVN0YXRlKGxpbmVJdGVtczogTGluZUl0ZW1bXSk6IHZvaWQge1xuICAgIGNvbnN0IHF1b3RlRHJhZnQgPSB0aGlzLnF1b3RlU3ViaiQudmFsdWU7XG5cbiAgICBpZiAoIXF1b3RlRHJhZnQpIHtcbiAgICAgIHJldHVybjtcbiAgICB9XG5cbiAgICB0aGlzLnF1b3RlU3ViaiQubmV4dCh7XG4gICAgICAuLi5xdW90ZURyYWZ0LFxuICAgICAgY3VycmVudFN0YXRlOiBsaW5lSXRlbXMsXG4gICAgfSk7XG4gIH1cblxuICBwdWJsaWMgdXBkYXRlUXVvdGVEcmFmdCh1cGRhdGU6IFBhcnRpYWw8UXVvdGVEcmFmdD4pOiB2b2lkIHtcbiAgICBjb25zdCBxdW90ZURyYWZ0ID0gdGhpcy5xdW90ZVN1YmokLnZhbHVlO1xuXG4gICAgaWYgKCFxdW90ZURyYWZ0KSB7XG4gICAgICByZXR1cm47XG4gICAgfVxuXG4gICAgaWYgKHVwZGF0ZS5jb250ZXh0KSB7XG4gICAgICB0aGlzLmNvbnRleHQuc2V0KHVwZGF0ZS5jb250ZXh0KTtcbiAgICB9XG5cbiAgICB0aGlzLnF1b3RlU3ViaiQubmV4dCh7XG4gICAgICAuLi5xdW90ZURyYWZ0LFxuICAgICAgLi4udXBkYXRlLFxuICAgIH0pO1xuICB9XG5cbiAgcHVibGljIHVwZGF0ZUJ5UHJpY2VTdW1tYXJ5KHByaWNlU3VtbWFyeTogUHJpY2VTdW1tYXJ5KTogdm9pZCB7XG4gICAgY29uc3QgcXVvdGVEcmFmdCA9IHRoaXMucXVvdGVTdWJqJC52YWx1ZTtcblxuICAgIGlmICghcXVvdGVEcmFmdCkge1xuICAgICAgcmV0dXJuO1xuICAgIH1cblxuICAgIGNvbnN0IHVwZGF0ZWRDdXJyZW50U3RhdGUgPSB0aGlzLmN1cnJlbnRTdGF0ZS5tYXAobGluZUl0ZW0gPT4ge1xuICAgICAgY29uc3QgdXBkYXRlZCA9IHByaWNlU3VtbWFyeS5saW5lSXRlbXMuZmluZChsaSA9PiBsaS5pZCA9PT0gbGluZUl0ZW0uaWQpO1xuICAgICAgcmV0dXJuIHVwZGF0ZWQgPz8gbGluZUl0ZW07XG4gICAgfSk7XG5cbiAgICB0aGlzLnF1b3RlU3ViaiQubmV4dCh7XG4gICAgICAuLi5xdW90ZURyYWZ0LFxuICAgICAgY3VycmVudFN0YXRlOiB1cGRhdGVkQ3VycmVudFN0YXRlLFxuICAgICAgdG90YWxQcmljZXM6IHByaWNlU3VtbWFyeS50b3RhbFByaWNlcyxcbiAgICAgIGFwcHJvdmFsSXRlbXM6IHByaWNlU3VtbWFyeS5hcHByb3ZhbEl0ZW1zLFxuICAgIH0pO1xuICB9XG5cbiAgcHVibGljIGdldCBxdW90ZURyYWZ0JCgpOiBPYnNlcnZhYmxlPFF1b3RlRHJhZnQ+IHtcbiAgICByZXR1cm4gY29tYmluZUxhdGVzdChbdGhpcy5xdW90ZVN1YmokLCB0aGlzLmNvbnRleHQucmVzb2x2ZSQoKV0pLnBpcGUoXG4gICAgICBtYXAoKCkgPT4gdGhpcy5xdW90ZURyYWZ0KSxcbiAgICAgIGZpbHRlcigocXVvdGUpOiBxdW90ZSBpcyBRdW90ZURyYWZ0ID0+IEJvb2xlYW4ocXVvdGUpKSxcbiAgICAgIHNoYXJlUmVwbGF5KCksXG4gICAgKTtcbiAgfVxuXG4gIHB1YmxpYyBnZXQgcXVvdGVEcmFmdCgpOiBRdW90ZURyYWZ0IHwgbnVsbCB7XG4gICAgY29uc3QgcXVvdGUgPSB0aGlzLnF1b3RlU3ViaiQudmFsdWU7XG5cbiAgICBpZiAoIXF1b3RlKSB7XG4gICAgICByZXR1cm4gbnVsbDtcbiAgICB9XG5cbiAgICByZXR1cm4ge1xuICAgICAgLi4ucXVvdGUsXG4gICAgICBjb250ZXh0OiB0aGlzLmNvbnRleHQucmVzb2x2ZSgpLFxuICAgIH07XG4gIH1cblxuICBwdWJsaWMgZ2V0IHF1b3RlRHJhZnRGb3JBY3RpdmVQcmljZUxpc3QoKTogUXVvdGVEcmFmdCB8IG51bGwge1xuICAgIGNvbnN0IHF1b3RlRHJhZnQgPSB0aGlzLnF1b3RlRHJhZnQ7XG5cbiAgICBpZiAoIXF1b3RlRHJhZnQpIHtcbiAgICAgIHJldHVybiBudWxsO1xuICAgIH1cblxuICAgIHJldHVybiB7XG4gICAgICAuLi5xdW90ZURyYWZ0LFxuICAgICAgaW5pdGlhbFN0YXRlOiB0aGlzLmZpbHRlckJ5QWN0aXZlUHJpY2VMaXN0KHF1b3RlRHJhZnQuaW5pdGlhbFN0YXRlKSxcbiAgICAgIGN1cnJlbnRTdGF0ZTogdGhpcy5maWx0ZXJCeUFjdGl2ZVByaWNlTGlzdChxdW90ZURyYWZ0LmN1cnJlbnRTdGF0ZSksXG4gICAgfTtcbiAgfVxuXG4gIHB1YmxpYyBnZXQgY3VycmVudFN0YXRlJCgpOiBPYnNlcnZhYmxlPExpbmVJdGVtW10+IHtcbiAgICByZXR1cm4gdGhpcy5xdW90ZURyYWZ0JC5waXBlKG1hcChxdW90ZSA9PiBxdW90ZS5jdXJyZW50U3RhdGUpKTtcbiAgfVxuXG4gIHB1YmxpYyBnZXQgY3VycmVudFN0YXRlKCk6IExpbmVJdGVtW10ge1xuICAgIHJldHVybiB0aGlzLnF1b3RlRHJhZnQ/LmN1cnJlbnRTdGF0ZSA/PyBbXTtcbiAgfVxuXG4gIC8qKlxuICAgKiBTdHJlYW0gb2YgYWN0aXZlQ3VycmVudFN0YXRlXG4gICAqL1xuICBwdWJsaWMgZ2V0IGFjdGl2ZUN1cnJlbnRTdGF0ZSQoKTogT2JzZXJ2YWJsZTxMaW5lSXRlbVtdPiB7XG4gICAgcmV0dXJuIHRoaXMucXVvdGVEcmFmdCQucGlwZShtYXAoKCkgPT4gdGhpcy5hY3RpdmVDdXJyZW50U3RhdGUpKTtcbiAgfVxuXG4gIC8qKlxuICAgKiBhY3RpdmVDdXJyZW50U3RhdGUgaXMgY3VycmVudFN0YXRlIHBhc3NlZCB0aHJvdWdoIGFkZGl0aW9uYWwgZmlsdGVyc1xuICAgKi9cbiAgcHVibGljIGdldCBhY3RpdmVDdXJyZW50U3RhdGUoKTogTGluZUl0ZW1bXSB7XG4gICAgbGV0IGN1cnJlbnRTdGF0ZSA9IHRoaXMucXVvdGVEcmFmdD8uY3VycmVudFN0YXRlID8/IFtdO1xuXG4gICAgY3VycmVudFN0YXRlID0gdGhpcy5maWx0ZXJCeUFjdGl2ZVByaWNlTGlzdChjdXJyZW50U3RhdGUpO1xuXG4gICAgcmV0dXJuIGN1cnJlbnRTdGF0ZTtcbiAgfVxuXG4gIC8qKlxuICAgKiBTdHJlYW0gb2YgYWN0aXZlSW5pdGlhbFN0YXRlXG4gICAqL1xuICBwdWJsaWMgZ2V0IGFjdGl2ZUluaXRpYWxTdGF0ZSQoKTogT2JzZXJ2YWJsZTxMaW5lSXRlbVtdPiB7XG4gICAgcmV0dXJuIHRoaXMucXVvdGVEcmFmdCQucGlwZShtYXAoKCkgPT4gdGhpcy5hY3RpdmVJbml0aWFsU3RhdGUpKTtcbiAgfVxuXG4gIC8qKlxuICAgKiBhY3RpdmVJbml0aWFsU3RhdGUgaXMgaW5pdGlhbFN0YXRlIHBhc3NlZCB0aHJvdWdoIGFkZGl0aW9uYWwgZmlsdGVyc1xuICAgKi9cbiAgcHVibGljIGdldCBhY3RpdmVJbml0aWFsU3RhdGUoKTogTGluZUl0ZW1bXSB7XG4gICAgY29uc3QgY3R4ID0gdGhpcy5jb250ZXh0LnJlc29sdmUoKTtcbiAgICBsZXQgaW5pdGlhbFN0YXRlID0gdGhpcy5xdW90ZURyYWZ0Py5pbml0aWFsU3RhdGUgPz8gW107XG5cbiAgICBpZiAoY3R4Lm1vZGUgPT09IENvbmZpZ3VyYXRpb25Db250ZXh0TW9kZS5BQ0NPVU5UKSB7XG4gICAgICBpbml0aWFsU3RhdGUgPSB0aGlzLmZpbHRlckJ5QWN0aXZlUHJpY2VMaXN0KGluaXRpYWxTdGF0ZSk7XG4gICAgfVxuXG4gICAgcmV0dXJuIGluaXRpYWxTdGF0ZTtcbiAgfVxuXG4gIHB1YmxpYyBnZXQgaXNTdGFuZGFsb25lKCk6IGJvb2xlYW4ge1xuICAgIHJldHVybiB0aGlzLmNvbnRleHQucmVzb2x2ZSgpLnByb3BlcnRpZXMuc3RhbmRhbG9uZSA9PT0gJ3RydWUnO1xuICB9XG5cbiAgcHVibGljIGdldCBpc1N0YW5kYWxvbmUkKCk6IE9ic2VydmFibGU8Ym9vbGVhbj4ge1xuICAgIHJldHVybiB0aGlzLmNvbnRleHQucmVzb2x2ZSQoKS5waXBlKG1hcCgoKSA9PiB0aGlzLmlzU3RhbmRhbG9uZSkpO1xuICB9XG5cbiAgcHVibGljIGdldEluaXRpYWxDdXJyZW50U3RhdGUoKTogTGluZUl0ZW1bXSB7XG4gICAgcmV0dXJuIHRoaXMuaW5pdGlhbEN1cnJlbnRTdGF0ZTtcbiAgfVxuXG4gIHB1YmxpYyBpc0VkaXRNb2RlJCgpOiBPYnNlcnZhYmxlPGJvb2xlYW4+IHtcbiAgICByZXR1cm4gdGhpcy5jb250ZXh0LnJlc29sdmUkKCkucGlwZShtYXAoKCkgPT4gdGhpcy5pc0VkaXRNb2RlKCkpKTtcbiAgfVxuXG4gIHB1YmxpYyBpc0VkaXRNb2RlKCk6IGJvb2xlYW4ge1xuICAgIGNvbnN0IGNvbnRleHQgPSB0aGlzLmNvbnRleHQucmVzb2x2ZSgpO1xuXG4gICAgaWYgKGNvbnRleHQubW9kZSA9PT0gQ29uZmlndXJhdGlvbkNvbnRleHRNb2RlLkFDQ09VTlQpIHtcbiAgICAgIHJldHVybiB0cnVlO1xuICAgIH1cblxuICAgIGlmIChjb250ZXh0Lm1vZGUgPT09IENvbmZpZ3VyYXRpb25Db250ZXh0TW9kZS5RVU9URSkge1xuICAgICAgcmV0dXJuIGNvbnRleHQucHJvcGVydGllcy5TdGF0dXMgPT09ICdEcmFmdCc7XG4gICAgfVxuXG4gICAgcmV0dXJuIGZhbHNlO1xuICB9XG5cbiAgcHVibGljIHVwZGF0ZUFjdGl2ZVByaWNlTGlzdChwcmljZUxpc3RJZDogc3RyaW5nKTogdm9pZCB7XG4gICAgdGhpcy5jb250ZXh0LnVwZGF0ZSh7IHByb3BlcnRpZXM6IHsgUHJpY2VMaXN0SWQ6IHByaWNlTGlzdElkIH0gfSk7XG4gIH1cblxuICBwcml2YXRlIHBvcHVsYXRlQWN0aXZlUHJpY2VMaXN0cyQoKTogdm9pZCB7XG4gICAgY29uc3QgY3R4ID0gdGhpcy5jb250ZXh0LnJlc29sdmUoKTtcbiAgICBjb25zdCBxdW90ZURyYWZ0ID0gdGhpcy5xdW90ZURyYWZ0O1xuXG4gICAgaWYgKCFxdW90ZURyYWZ0KSB7XG4gICAgICByZXR1cm47XG4gICAgfVxuXG4gICAgLy8gSW4gQUNDT1VOVCBtb2RlIHBvcHVsYXRlIHByaWNlIGxpc3RzIGZyb20gcmVsYXRlZCBhc3NldHNcbiAgICBpZiAoY3R4Lm1vZGUgPT09IENvbmZpZ3VyYXRpb25Db250ZXh0TW9kZS5BQ0NPVU5UKSB7XG4gICAgICAvLyBQb3B1bGF0ZSBsaXN0IG9mIHByaWNlIGxpc3RzXG4gICAgICB0aGlzLmFzc2V0UHJpY2VMaXN0cyA9IHF1b3RlRHJhZnQuY3VycmVudFN0YXRlXG4gICAgICAgIC5tYXAoKHsgcHJpY2VMaXN0SWQgfSkgPT4gcHJpY2VMaXN0SWQpXG4gICAgICAgIC5yZWR1Y2U8UHJpY2VMaXN0W10+KCh0cnVuaywgcHJpY2VMaXN0SWQpID0+IHtcbiAgICAgICAgICBpZiAoIXByaWNlTGlzdElkIHx8IHRydW5rLnNvbWUoaXRlbSA9PiBpdGVtLmlkID09PSBwcmljZUxpc3RJZCkpIHtcbiAgICAgICAgICAgIHJldHVybiB0cnVuaztcbiAgICAgICAgICB9XG5cbiAgICAgICAgICByZXR1cm4gW1xuICAgICAgICAgICAgLi4udHJ1bmssXG4gICAgICAgICAgICB7IGlkOiBwcmljZUxpc3RJZCwgbmFtZTogdGhpcy5hbGxQcmljZUxpc3RzLmZpbmQoaXRlbSA9PiBpdGVtLmlkID09PSBwcmljZUxpc3RJZCk/Lm5hbWUgPz8gJycgfSxcbiAgICAgICAgICBdO1xuICAgICAgICB9LCBbXSk7XG4gICAgfVxuICB9XG5cbiAgcHJpdmF0ZSBmaWx0ZXJCeUFjdGl2ZVByaWNlTGlzdChsaW5lSXRlbXM6IExpbmVJdGVtW10pOiBMaW5lSXRlbVtdIHtcbiAgICBjb25zdCBjdHggPSB0aGlzLmNvbnRleHQucmVzb2x2ZSgpO1xuXG4gICAgcmV0dXJuIGxpbmVJdGVtcy5maWx0ZXIobGkgPT4gIWxpLnByaWNlTGlzdElkIHx8IGxpLnByaWNlTGlzdElkID09PSBjdHgucHJvcGVydGllcy5QcmljZUxpc3RJZCk7XG4gIH1cblxuICBwcml2YXRlIG1hcmtBc1VwZGF0ZWQocXVvdGU6IFF1b3RlRHJhZnQgfCBudWxsKTogdm9pZCB7XG4gICAgaWYgKHF1b3RlPy5jb250ZXh0LnByb3BlcnRpZXMubW9kZSA9PT0gQ29uZmlndXJhdGlvbkNvbnRleHRNb2RlLkFDQ09VTlQpIHtcbiAgICAgIHRoaXMuaGFzVW5zYXZlZENoYW5nZXMgPSAhIXF1b3RlICYmICFxdW90ZS5jdXJyZW50U3RhdGUuZXZlcnkobGkgPT4gbGkuYWN0aW9uQ29kZSA9PT0gJ0VYSVNUJyk7XG4gICAgfSBlbHNlIHtcbiAgICAgIHRoaXMuaGFzVW5zYXZlZENoYW5nZXMgPSAhaXNFcXVhbCh0aGlzLmluaXRpYWxDdXJyZW50U3RhdGUsIHF1b3RlPy5jdXJyZW50U3RhdGUpO1xuICAgIH1cbiAgfVxufVxuIl19
|
@@ -1,4 +1,3 @@
|
|
1
|
-
export * from './quote-states.types';
|
2
1
|
export * from './runtime.types';
|
3
2
|
export * from './ui-definition.types';
|
4
|
-
//# sourceMappingURL=data:application/json;base64,
|
3
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaW5kZXguanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi9saWJzL3Nkay9jb3JlL3R5cGVzL2luZGV4LnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLGNBQWMsaUJBQWlCLENBQUM7QUFDaEMsY0FBYyx1QkFBdUIsQ0FBQyIsInNvdXJjZXNDb250ZW50IjpbImV4cG9ydCAqIGZyb20gJy4vcnVudGltZS50eXBlcyc7XG5leHBvcnQgKiBmcm9tICcuL3VpLWRlZmluaXRpb24udHlwZXMnO1xuIl19
|
@@ -38,4 +38,4 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "12.2.17", ngImpo
|
|
38
38
|
exportAs: 'quoteApi',
|
39
39
|
}]
|
40
40
|
}], ctorParameters: function () { return [{ type: i1.QuoteApiService }, { type: i2.RuntimeService }]; } });
|
41
|
-
//# sourceMappingURL=data:application/json;base64,
|
41
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidmwtcXVvdGUuZGlyZWN0aXZlLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vLi4vbGlicy9zZGsvcnVudGltZS9leGVjdXRpb24vZGlyZWN0aXZlcy92bC1xdW90ZS5kaXJlY3RpdmUudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFFLFNBQVMsRUFBRSxNQUFNLGVBQWUsQ0FBQztBQUUxQyxPQUFPLEVBQUUsVUFBVSxFQUFjLE1BQU0sa0JBQWtCLENBQUM7QUFHMUQsT0FBTyxFQUFFLFlBQVksRUFBRSxNQUFNLDRCQUE0QixDQUFDOzs7O0FBTzFELE1BQU0sT0FBTyxnQkFBZ0I7SUFDM0IsWUFBb0IsZUFBZ0MsRUFBVSxjQUE4QjtRQUF4RSxvQkFBZSxHQUFmLGVBQWUsQ0FBaUI7UUFBVSxtQkFBYyxHQUFkLGNBQWMsQ0FBZ0I7SUFBRyxDQUFDO0lBRXpGLFFBQVEsQ0FBQyxPQUFlO1FBQzdCLE9BQU8sSUFBSSxDQUFDLGVBQWUsQ0FBQyxhQUFhLENBQUMsT0FBTyxDQUFDLENBQUMsU0FBUyxFQUF5QixDQUFDO0lBQ3hGLENBQUM7SUFFTSxXQUFXLENBQUMsVUFBc0I7UUFDdkMsT0FBTyxJQUFJLENBQUMsZUFBZSxDQUFDLFdBQVcsQ0FBQyxVQUFVLENBQUMsQ0FBQyxTQUFTLEVBQUUsQ0FBQztJQUNsRSxDQUFDO0lBRU0sY0FBYyxDQUFDLFVBQXNCLEVBQUUsY0FBc0I7O1FBQ2xFLE1BQU0sWUFBWSxHQUFHLFVBQVUsQ0FBQyxRQUFRLENBQUMsY0FBYyxFQUFFLFVBQVUsQ0FBQyxZQUFZLENBQUMsQ0FBQztRQUNsRixNQUFNLEtBQUssR0FBRyxNQUFBLFVBQVUsQ0FBQyxZQUFZLDBDQUFFLElBQUksQ0FBQyxDQUFDLENBQUMsRUFBRSxDQUFDLENBQUMsQ0FBQyxFQUFFLEtBQUssWUFBWSxDQUFDLE9BQU8sQ0FBQyxDQUFDO1FBQ2hGLE1BQU0sRUFBRSxPQUFPLEVBQUUsR0FBRyxVQUFVLENBQUM7UUFFL0IsTUFBTSxNQUFNLEdBQWdCO1lBQzFCLGdCQUFnQixFQUFFLFlBQVksQ0FBQyxrQkFBa0IsQ0FBQyxZQUFZLENBQUM7WUFDL0QsWUFBWSxFQUFFLFVBQVUsQ0FBQyxZQUFZO1lBQ3JDLEtBQUs7U0FDTixDQUFDO1FBRUYsSUFBSSxDQUFDLGNBQWMsQ0FBQyxhQUFhLENBQUMsTUFBTSxFQUFFLE9BQU8sQ0FBQyxVQUFVLENBQUMsQ0FBQztJQUNoRSxDQUFDOzs4R0F2QlUsZ0JBQWdCO2tHQUFoQixnQkFBZ0I7NEZBQWhCLGdCQUFnQjtrQkFMNUIsU0FBUzttQkFBQztvQkFDVCw4REFBOEQ7b0JBQzlELFFBQVEsRUFBRSxVQUFVO29CQUNwQixRQUFRLEVBQUUsVUFBVTtpQkFDckIiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBEaXJlY3RpdmUgfSBmcm9tICdAYW5ndWxhci9jb3JlJztcbmltcG9ydCB7IFF1b3RlQXBpU2VydmljZSB9IGZyb20gJ0B2ZWxvY2VhcHBzL2FwaSc7XG5pbXBvcnQgeyBFbnRpdHlVdGlsLCBRdW90ZURyYWZ0IH0gZnJvbSAnQHZlbG9jZWFwcHMvY29yZSc7XG5pbXBvcnQgeyBSdW50aW1lU2VydmljZSB9IGZyb20gJy4uLy4uL3NlcnZpY2VzL3J1bnRpbWUuc2VydmljZSc7XG5pbXBvcnQgeyBRdW90ZVN0YXRlcyB9IGZyb20gJy4uLy4uL3R5cGVzL3F1b3RlLXN0YXRlcy50eXBlcyc7XG5pbXBvcnQgeyBMaW5lSXRlbVV0aWwgfSBmcm9tICcuLi8uLi91dGlscy9saW5lLWl0ZW0udXRpbCc7XG5cbkBEaXJlY3RpdmUoe1xuICAvLyBlc2xpbnQtZGlzYWJsZS1uZXh0LWxpbmUgQGFuZ3VsYXItZXNsaW50L2RpcmVjdGl2ZS1zZWxlY3RvclxuICBzZWxlY3RvcjogJ3ZsLXF1b3RlJyxcbiAgZXhwb3J0QXM6ICdxdW90ZUFwaScsXG59KVxuZXhwb3J0IGNsYXNzIFZsUXVvdGVEaXJlY3RpdmUge1xuICBjb25zdHJ1Y3Rvcihwcml2YXRlIHF1b3RlQXBpU2VydmljZTogUXVvdGVBcGlTZXJ2aWNlLCBwcml2YXRlIHJ1bnRpbWVTZXJ2aWNlOiBSdW50aW1lU2VydmljZSkge31cblxuICBwdWJsaWMgZ2V0UXVvdGUocXVvdGVJZDogc3RyaW5nKTogUHJvbWlzZTxRdW90ZURyYWZ0PiB7XG4gICAgcmV0dXJuIHRoaXMucXVvdGVBcGlTZXJ2aWNlLmdldFF1b3RlRHJhZnQocXVvdGVJZCkudG9Qcm9taXNlKCkgYXMgUHJvbWlzZTxRdW90ZURyYWZ0PjtcbiAgfVxuXG4gIHB1YmxpYyB1cHNlcnRRdW90ZShxdW90ZURyYWZ0OiBRdW90ZURyYWZ0KTogUHJvbWlzZTxhbnk+IHtcbiAgICByZXR1cm4gdGhpcy5xdW90ZUFwaVNlcnZpY2UudXBzZXJ0UXVvdGUocXVvdGVEcmFmdCkudG9Qcm9taXNlKCk7XG4gIH1cblxuICBwdWJsaWMgY29uZmlndXJlUXVvdGUocXVvdGVEcmFmdDogUXVvdGVEcmFmdCwgcm9vdExpbmVJdGVtSWQ6IHN0cmluZyk6IHZvaWQge1xuICAgIGNvbnN0IHJvb3RMaW5lSXRlbSA9IEVudGl0eVV0aWwuZmluZEJ5SWQocm9vdExpbmVJdGVtSWQsIHF1b3RlRHJhZnQuY3VycmVudFN0YXRlKTtcbiAgICBjb25zdCBhc3NldCA9IHF1b3RlRHJhZnQuaW5pdGlhbFN0YXRlPy5maW5kKGEgPT4gYS5pZCA9PT0gcm9vdExpbmVJdGVtLmFzc2V0SWQpO1xuICAgIGNvbnN0IHsgY29udGV4dCB9ID0gcXVvdGVEcmFmdDtcblxuICAgIGNvbnN0IHN0YXRlczogUXVvdGVTdGF0ZXMgPSB7XG4gICAgICBjb25maWd1cmFibGVSYW1wOiBMaW5lSXRlbVV0aWwucmVtb3ZlRGVsZXRlZEl0ZW1zKHJvb3RMaW5lSXRlbSksXG4gICAgICBjdXJyZW50U3RhdGU6IHF1b3RlRHJhZnQuY3VycmVudFN0YXRlLFxuICAgICAgYXNzZXQsXG4gICAgfTtcblxuICAgIHRoaXMucnVudGltZVNlcnZpY2UudXBkYXRlUnVudGltZShzdGF0ZXMsIGNvbnRleHQucHJvcGVydGllcyk7XG4gIH1cbn1cbiJdfQ==
|
@@ -99,4 +99,4 @@ ConfigurationService.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0",
|
|
99
99
|
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "12.2.17", ngImport: i0, type: ConfigurationService, decorators: [{
|
100
100
|
type: Injectable
|
101
101
|
}], ctorParameters: function () { return [{ type: i1.ConfigurationApiService }, { type: i2.ContextService }, { type: i3.DialogService }]; } });
|
102
|
-
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiY29uZmlndXJhdGlvbi5zZXJ2aWNlLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vbGlicy9zZGsvcnVudGltZS9zZXJ2aWNlcy9jb25maWd1cmF0aW9uLnNlcnZpY2UudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFFLFVBQVUsRUFBRSxNQUFNLGVBQWUsQ0FBQztBQUUzQyxPQUFPLEVBQUUscUJBQXFCLEVBQUUsTUFBTSx3QkFBd0IsQ0FBQztBQUMvRCxPQUFPLEVBQUUsaUJBQWlCLEVBQWtDLElBQUksRUFBWSxNQUFNLGtCQUFrQixDQUFDO0FBQ3JHLE9BQU8sRUFBK0IsV0FBVyxFQUFFLE1BQU0sc0JBQXNCLENBQUM7QUFJaEYsT0FBTyxFQUFFLEdBQUcsRUFBRSxNQUFNLGdCQUFnQixDQUFDOzs7OztBQU1yQyxNQUFNLE9BQU8sb0JBQW9CO0lBQy9CLFlBQ1UsdUJBQWdELEVBQ2hELGNBQThCLEVBQzlCLGFBQTRCO1FBRjVCLDRCQUF1QixHQUF2Qix1QkFBdUIsQ0FBeUI7UUFDaEQsbUJBQWMsR0FBZCxjQUFjLENBQWdCO1FBQzlCLGtCQUFhLEdBQWIsYUFBYSxDQUFlO0lBQ25DLENBQUM7SUFFRyxTQUFTLENBQUMsY0FBb0MsRUFBRSxNQUFtQixFQUFFLE9BQWlCOztRQUMzRixNQUFNLFFBQVEsR0FBRyxDQUFDLE1BQU0sSUFBSSxNQUFNLENBQUMsZ0JBQWdCLENBQUMsSUFBSSxJQUFJLENBQUMsa0JBQWtCLENBQUMsY0FBYyxDQUFDLENBQUM7UUFDaEcsTUFBTSxpQkFBaUIsR0FBRyxPQUFPLENBQUMsQ0FBQyxDQUFDLGlCQUFpQixDQUFDLE9BQU8sQ0FBQyxDQUFDLENBQUMsaUJBQWlCLENBQUMsTUFBTSxDQUFDO1FBQ3pGLE1BQU0sb0JBQW9CLEdBQUcsSUFBSSxDQUFDLGFBQWEsQ0FBQyxRQUFRLEVBQUUsY0FBYyxFQUFFLGlCQUFpQixDQUFDLENBQUM7UUFDN0Ysb0JBQW9CLENB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QUFvQjtzSEFBcEIsb0JBQW9COzRGQUFwQixvQkFBb0I7a0JBRGhDLFVBQVUiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBJbmplY3RhYmxlIH0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XG5pbXBvcnQgeyBDb25maWd1cmF0aW9uQXBpU2VydmljZSB9IGZyb20gJ0B2ZWxvY2VhcHBzL2FwaSc7XG5pbXBvcnQgeyBDb25maXJtYXRpb25Db21wb25lbnQgfSBmcm9tICdAdmVsb2NlYXBwcy9jb21wb25lbnRzJztcbmltcG9ydCB7IENvbmZpZ3VyYXRpb25Nb2RlLCBDb25maWd1cmF0aW9uUmVxdWVzdCwgTGluZUl0ZW0sIFVVSUQsIFZsV2luZG93IH0gZnJvbSAnQHZlbG9jZWFwcHMvY29yZSc7XG5pbXBvcnQgeyBDb250ZXh0U2VydmljZSwgUXVvdGVTdGF0ZXMsIFJ1bnRpbWVNb2RlIH0gZnJvbSAnQHZlbG9jZWFwcHMvc2RrL2NvcmUnO1xuaW1wb3J0IHsgRGljdGlvbmFyeSB9IGZyb20gJ2xvZGFzaCc7XG5pbXBvcnQgeyBEaWFsb2dTZXJ2aWNlIH0gZnJvbSAncHJpbWVuZy9keW5hbWljZGlhbG9nJztcbmltcG9ydCB7IE9ic2VydmFibGUgfSBmcm9tICdyeGpzJztcbmltcG9ydCB7IG1hcCB9IGZyb20gJ3J4anMvb3BlcmF0b3JzJztcbmltcG9ydCB7IExlZ2FjeVJ1bnRpbWVDb250ZXh0IH0gZnJvbSAnLi4vdHlwZXMnO1xuXG5kZWNsYXJlIGNvbnN0IHdpbmRvdzogVmxXaW5kb3c7XG5cbkBJbmplY3RhYmxlKClcbmV4cG9ydCBjbGFzcyBDb25maWd1cmF0aW9uU2VydmljZSB7XG4gIGNvbnN0cnVjdG9yKFxuICAgIHByaXZhdGUgY29uZmlndXJhdGlvbkFwaVNlcnZpY2U6IENvbmZpZ3VyYXRpb25BcGlTZXJ2aWNlLFxuICAgIHByaXZhdGUgY29udGV4dFNlcnZpY2U6IENvbnRleHRTZXJ2aWNlLFxuICAgIHByaXZhdGUgZGlhbG9nU2VydmljZTogRGlhbG9nU2VydmljZSxcbiAgKSB7fVxuXG4gIHB1YmxpYyBjb25maWd1cmUocnVudGltZUNvbnRleHQ6IExlZ2FjeVJ1bnRpbWVDb250ZXh0LCBzdGF0ZXM6IFF1b3RlU3RhdGVzLCByZXNvbHZlPzogYm9vbGVhbik6IE9ic2VydmFibGU8TGluZUl0ZW0+IHtcbiAgICBjb25zdCBsaW5lSXRlbSA9IChzdGF0ZXMgJiYgc3RhdGVzLmNvbmZpZ3VyYWJsZVJhbXApIHx8IHRoaXMuZ2V0RGVmYXVsdExpbmVJdGVtKHJ1bnRpbWVDb250ZXh0KTtcbiAgICBjb25zdCBjb25maWd1cmF0aW9uTW9kZSA9IHJlc29sdmUgPyBDb25maWd1cmF0aW9uTW9kZS5SRVNPTFZFIDogQ29uZmlndXJhdGlvbk1vZGUuU0VBUkNIO1xuICAgIGNvbnN0IGNvbmZpZ3VyYXRpb25SZXF1ZXN0ID0gdGhpcy5jcmVhdGVSZXF1ZXN0KGxpbmVJdGVtLCBydW50aW1lQ29udGV4dCwgY29uZmlndXJhdGlvbk1vZGUpO1xuICAgIGNvbmZpZ3VyYXRpb25SZXF1ZXN0LmxpbmVJdGVtcyA9IHN0YXRlcy5jdXJyZW50U3RhdGUgfHwgW107XG4gICAgY29uZmlndXJhdGlvblJlcXVlc3QuYXNzZXQgPSBzdGF0ZXMuYXNzZXQ7XG4gICAgY29uc3QgcnVudGltZU1vZGVsID0gcnVudGltZUNvbnRleHQucnVudGltZU1vZGVsO1xuICAgIGNvbnN0IHByaWNpbmdFbmFibGVkID0gcnVudGltZUNvbnRleHQudWlEZWZpbml0aW9uPy5wcmljaW5nRW5hYmxlZDtcbiAgICByZXR1cm4gdGhpcy5jb25maWd1cmF0aW9uQXBpU2VydmljZVxuICAgICAgLmNvbmZpZ3VyZUxpbmVJdGVtKHtcbiAgICAgICAgY29uZmlndXJhdGlvblJlcXVlc3QsXG4gICAgICAgIHJ1bnRpbWVNb2RlbCxcbiAgICAgICAgcHJpY2luZ0VuYWJsZWQsXG4gICAgICB9KVxuICAgICAgLnBpcGUoXG4gICAgICAgIG1hcCgoeyBsaW5lSXRlbSwgY29udGV4dCwgZGVsZXRlZExpbmVJdGVtcyB9KSA9PiB7XG4gICAgICAgICAgaWYgKGNvbnRleHQpIHtcbiAgICAgICAgICAgIHRoaXMuY29udGV4dFNlcnZpY2UudXBkYXRlKHsgcHJvcGVydGllczogY29udGV4dC5wcm9wZXJ0aWVzIH0pO1xuICAgICAgICAgIH1cbiAgICAgICAgICBpZiAoZGVsZXRlZExpbmVJdGVtcz8ubGVuZ3RoKSB7XG4gICAgICAgICAgICB0aGlzLnNob3dJbmFjdGl2ZVByb2R1Y3RzQ29uZmlybWF0aW9uKCk7XG4gICAgICAgICAgfVxuICAgICAgICAgIHJldHVybiBsaW5lSXRlbTtcbiAgICAgICAgfSksXG4gICAgICApO1xuICB9XG5cbiAgcHJpdmF0ZSBjcmVhdGVSZXF1ZXN0KFxuICAgIGxpbmVJdGVtOiBMaW5lSXRlbSxcbiAgICBydW50aW1lQ29udGV4dDogTGVnYWN5UnVudGltZUNvbnRleHQsXG4gICAgY29uZmlndXJhdGlvbk1vZGU6IENvbmZpZ3VyYXRpb25Nb2RlLFxuICApOiBDb25maWd1cmF0aW9uUmVxdWVzdCB7XG4gICAgaWYgKHJ1bnRpbWVDb250ZXh0LnJ1bnRpbWVNb2RlID09PSBSdW50aW1lTW9kZS5URVNUKSB7XG4gICAgICBjb25zdCBwcm9wZXJ0aWVzOiBEaWN0aW9uYXJ5PGFueT4gPSB7XG4gICAgICAgIC4uLnJ1bnRpbWVDb250ZXh0LnByb3BlcnRpZXMsXG4gICAgICAgIE1vZGVsSWQ6IHJ1bnRpbWVDb250ZXh0Lm1vZGVsSWQsXG4gICAgICAgIFJ1bnRpbWVNb2RlOiAnVEVTVCcsXG4gICAgICAgIFByaWNpbmdFbmFibGVkOiBTdHJpbmcocnVudGltZUNvbnRleHQudWlEZWZpbml0aW9uPy5wcmljaW5nRW5hYmxlZCksXG4gICAgICAgIFN0YXJ0RGF0ZTogcnVudGltZUNvbnRleHQucHJvcGVydGllcz8uU3RhcnREYXRlID8/IG5ldyBEYXRlKCkudG9JU09TdHJpbmcoKS5zdWJzdHJpbmcoMCwgMTApLFxuICAgICAgICBQcmljZUxpc3RJZDogcnVudGltZUNvbnRleHQudWlEZWZpbml0aW9uPy5wcmljZUxpc3QsXG4gICAgICB9O1xuXG4gICAgICB0aGlzLmNvbnRleHRTZXJ2aWNlLnVwZGF0ZSh7IHByb3BlcnRpZXMgfSk7XG4gICAgfSBlbHNlIHtcbiAgICAgIGNvbnN0IGNvbnRleHQgPSB0aGlzLmNvbnRleHRTZXJ2aWNlLnJlc29sdmUoKTtcblxuICAgICAgaWYgKGNvbnRleHQucHJvcGVydGllcyAmJiBydW50aW1lQ29udGV4dC5wcm9wZXJ0aWVzPy5TdGFydERhdGUpIHtcbiAgICAgICAgdGhpcy5jb250ZXh0U2VydmljZS51cGRhdGUoe1xuICAgICAgICAgIHByb3BlcnRpZXM6IHtcbiAgICAgICAgICAgIC4uLmNvbnRleHQucHJvcGVydGllcyxcbiAgICAgICAgICAgIC4uLnJ1bnRpbWVDb250ZXh0LnByb3BlcnRpZXMsXG4gICAgICAgICAgfSxcbiAgICAgICAgfSk7XG4gICAgICB9XG4gICAgfVxuXG4gICAgcmV0dXJuIHtcbiAgICAgIGxpbmVJdGVtLFxuICAgICAgbW9kZTogY29uZmlndXJhdGlvbk1vZGUsXG4gICAgICBzdGVwOiBydW50aW1lQ29udGV4dC5pbnZvY2F0aW9uQ29udGV4dCAmJiBydW50aW1lQ29udGV4dC5pbnZvY2F0aW9uQ29udGV4dC5ydW50aW1lU3RlcCxcbiAgICAgIGF0dHJpYnV0ZURvbWFpbk1vZGU6ICdBTEwnLFxuICAgICAgY29udGV4dDogdGhpcy5jb250ZXh0U2VydmljZS5yZXNvbHZlKCksXG4gICAgfTtcbiAgfVxuXG4gIHByaXZhdGUgZ2V0RGVmYXVsdExpbmVJdGVtKGNvbnRleHQ6IExlZ2FjeVJ1bnRpbWVDb250ZXh0KTogTGluZUl0ZW0ge1xuICAgIGNvbnN0IGlkID0gVVVJRC5VVUlEKCk7XG5cbiAgICBjb25zdCBsaW5lSXRlbTogTGluZUl0ZW0gPSB7XG4gICAgICBpZCxcbiAgICAgIHR5cGU6IGNvbnRleHQudWlEZWZpbml0aW9uPy5yb290VHlwZSA/PyAnJyxcbiAgICAgIGNmZ1N0YXR1czogJ0RlZmF1bHQnLFxuICAgICAgcXR5OiAxLFxuICAgICAgcHJvZHVjdE5hbWU6IGNvbnRleHQucHJvcGVydGllcz8uZGlzcGxheU5hbWUgfHwgY29udGV4dC5wcm9kdWN0TmFtZSxcbiAgICAgIHByb2R1Y3RJZDogY29udGV4dC5wcm9kdWN0SWQgPz8gJycsXG4gICAgICBvZmZlcmluZ0lkOiBjb250ZXh0Lm9mZmVyaW5nSWQsXG4gICAgICAuLi4oY29udGV4dC5vZmZlcmluZ0lkXG4gICAgICAgID8geyBvZmZlcmluZ0lkOiBjb250ZXh0Lm9mZmVyaW5nSWQsIG9mZmVyaW5nSW5zdGFuY2VJZDogY29udGV4dC5vZmZlcmluZ0luc3RhbmNlSWQgfHwgaWQgfVxuICAgICAgICA6IHt9KSxcbiAgICB9IGFzIExpbmVJdGVtO1xuXG4gICAgcmV0dXJuIGxpbmVJdGVtO1xuICB9XG5cbiAgcHJpdmF0ZSBzaG93SW5hY3RpdmVQcm9kdWN0c0NvbmZpcm1hdGlvbigpOiB2b2lkIHtcbiAgICB0aGlzLmRpYWxvZ1NlcnZpY2VcbiAgICAgIC5vcGVuKENvbmZpcm1hdGlvbkNvbXBvbmVudCwge1xuICAgICAgICBkaXNtaXNzYWJsZU1hc2s6IGZhbHNlLFxuICAgICAgICBjbG9zZU9uRXNjYXBlOiBmYWxzZSxcbiAgICAgICAgY2xvc2FibGU6IGZhbHNlLFxuICAgICAgICBzaG93SGVhZGVyOiB0cnVlLFxuICAgICAgICBoZWFkZXI6IGBJbmFjdGl2ZSBQcm9kdWN0cyBpbiBRdW90ZWAsXG4gICAgICAgIHdpZHRoOiAnNDQwcHgnLFxuICAgICAgICBkYXRhOiB7XG4gICAgICAgICAgY29uZmlybWF0aW9uQ29uZmlnOiB7XG4gICAgICAgICAgICB0aXRsZTogJyAnLFxuICAgICAgICAgICAgZGVzY3JpcHRpb246ICdUaGlzIHF1b3RlIGNvbnRhaW5zIGluYWN0aXZlIHByb2R1Y3RzLiBEbyB5b3Ugd2FudCB0byByZW1vdmUgdGhlbT8nLFxuICAgICAgICAgICAgc3VibWl0QnRuOiAnUmVtb3ZlIHByb2R1Y3RzJyxcbiAgICAgICAgICAgIGNhbmNlbEJ0bjogJ0JhY2sgdG8gUXVvdGUnLFxuICAgICAgICAgIH0sXG4gICAgICAgIH0sXG4gICAgICB9KVxuICAgICAgLm9uQ2xvc2Uuc3Vic2NyaWJlKHJlc3VsdCA9PiB7XG4gICAgICAgIGlmICghcmVzdWx0KSB7XG4gICAgICAgICAgY29uc3QgY29udGV4dCA9IHRoaXMuY29udGV4dFNlcnZpY2UucmVzb2x2ZSgpO1xuICAgICAgICAgIHdpbmRvd1snVkVMT19CQUNLX0ZOJ10uYXBwbHkobnVsbCwgW2NvbnRleHQuaGVhZGVySWRdKTtcbiAgICAgICAgfVxuICAgICAgfSk7XG4gIH1cbn1cbiJdfQ==
|
102
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiY29uZmlndXJhdGlvbi5zZXJ2aWNlLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vbGlicy9zZGsvcnVudGltZS9zZXJ2aWNlcy9jb25maWd1cmF0aW9uLnNlcnZpY2UudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFFLFVBQVUsRUFBRSxNQUFNLGVBQWUsQ0FBQztBQUUzQyxPQUFPLEVBQUUscUJBQXFCLEVBQUUsTUFBTSx3QkFBd0IsQ0FBQztBQUMvRCxPQUFPLEVBQUUsaUJBQWlCLEVBQWtDLElBQUksRUFBWSxNQUFNLGtCQUFrQixDQUFDO0FBQ3JHLE9BQU8sRUFBa0IsV0FBVyxFQUFFLE1BQU0sc0JBQXNCLENBQUM7QUFJbkUsT0FBTyxFQUFFLEdBQUcsRUFBRSxNQUFNLGdCQUFnQixDQUFDOzs7OztBQU9yQyxNQUFNLE9BQU8sb0JBQW9CO0lBQy9CLFlBQ1UsdUJBQWdELEVBQ2hELGNBQThCLEVBQzlCLGFBQTRCO1FBRjVCLDRCQUF1QixHQUF2Qix1QkFBdUIsQ0FBeUI7UUFDaEQsbUJBQWMsR0FBZCxjQUFjLENBQWdCO1FBQzlCLGtCQUFhLEdBQWIsYUFBYSxDQUFlO0lBQ25DLENBQUM7SUFFRyxTQUFTLENBQUMsY0FBb0MsRUFBRSxNQUFtQixFQUFFLE9BQWlCOztRQUMzRixNQUFNLFFBQVEsR0FBRyxDQUFDLE1BQU0sSUFBSSxNQUFNLENBQUMsZ0JBQWdCLENBQUMsSUFBSSxJQUFJLENBQUMsa0JBQWtCLENBQUMsY0FBYyxDQUFDLENBQUM7UUFDaEcsTUFBTSxpQkFBaUIsR0FBRyxPQUFPLENBQUMsQ0FBQyxDQUFDLGlCQUFpQixDQUFDLE9BQU8sQ0FBQyxDQUFDLENBQUMsaUJBQWlCLENBQUMsTUFBTSxDQUFDO1FBQ3pGLE1BQU0sb0JBQW9CLEdBQUcsSUFBSSxDQUFDLGFBQWEsQ0FBQyxRQUFRLEVBQUUsY0FBYyxFQUFFLGlCQUFpQixDQUFDLENBQUM7UUFDN0Ysb0JBQW9CLENB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QUFvQjtzSEFBcEIsb0JBQW9COzRGQUFwQixvQkFBb0I7a0JBRGhDLFVBQVUiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBJbmplY3RhYmxlIH0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XG5pbXBvcnQgeyBDb25maWd1cmF0aW9uQXBpU2VydmljZSB9IGZyb20gJ0B2ZWxvY2VhcHBzL2FwaSc7XG5pbXBvcnQgeyBDb25maXJtYXRpb25Db21wb25lbnQgfSBmcm9tICdAdmVsb2NlYXBwcy9jb21wb25lbnRzJztcbmltcG9ydCB7IENvbmZpZ3VyYXRpb25Nb2RlLCBDb25maWd1cmF0aW9uUmVxdWVzdCwgTGluZUl0ZW0sIFVVSUQsIFZsV2luZG93IH0gZnJvbSAnQHZlbG9jZWFwcHMvY29yZSc7XG5pbXBvcnQgeyBDb250ZXh0U2VydmljZSwgUnVudGltZU1vZGUgfSBmcm9tICdAdmVsb2NlYXBwcy9zZGsvY29yZSc7XG5pbXBvcnQgeyBEaWN0aW9uYXJ5IH0gZnJvbSAnbG9kYXNoJztcbmltcG9ydCB7IERpYWxvZ1NlcnZpY2UgfSBmcm9tICdwcmltZW5nL2R5bmFtaWNkaWFsb2cnO1xuaW1wb3J0IHsgT2JzZXJ2YWJsZSB9IGZyb20gJ3J4anMnO1xuaW1wb3J0IHsgbWFwIH0gZnJvbSAncnhqcy9vcGVyYXRvcnMnO1xuaW1wb3J0IHsgTGVnYWN5UnVudGltZUNvbnRleHQgfSBmcm9tICcuLi90eXBlcyc7XG5pbXBvcnQgeyBRdW90ZVN0YXRlcyB9IGZyb20gJy4uL3R5cGVzL3F1b3RlLXN0YXRlcy50eXBlcyc7XG5cbmRlY2xhcmUgY29uc3Qgd2luZG93OiBWbFdpbmRvdztcblxuQEluamVjdGFibGUoKVxuZXhwb3J0IGNsYXNzIENvbmZpZ3VyYXRpb25TZXJ2aWNlIHtcbiAgY29uc3RydWN0b3IoXG4gICAgcHJpdmF0ZSBjb25maWd1cmF0aW9uQXBpU2VydmljZTogQ29uZmlndXJhdGlvbkFwaVNlcnZpY2UsXG4gICAgcHJpdmF0ZSBjb250ZXh0U2VydmljZTogQ29udGV4dFNlcnZpY2UsXG4gICAgcHJpdmF0ZSBkaWFsb2dTZXJ2aWNlOiBEaWFsb2dTZXJ2aWNlLFxuICApIHt9XG5cbiAgcHVibGljIGNvbmZpZ3VyZShydW50aW1lQ29udGV4dDogTGVnYWN5UnVudGltZUNvbnRleHQsIHN0YXRlczogUXVvdGVTdGF0ZXMsIHJlc29sdmU/OiBib29sZWFuKTogT2JzZXJ2YWJsZTxMaW5lSXRlbT4ge1xuICAgIGNvbnN0IGxpbmVJdGVtID0gKHN0YXRlcyAmJiBzdGF0ZXMuY29uZmlndXJhYmxlUmFtcCkgfHwgdGhpcy5nZXREZWZhdWx0TGluZUl0ZW0ocnVudGltZUNvbnRleHQpO1xuICAgIGNvbnN0IGNvbmZpZ3VyYXRpb25Nb2RlID0gcmVzb2x2ZSA/IENvbmZpZ3VyYXRpb25Nb2RlLlJFU09MVkUgOiBDb25maWd1cmF0aW9uTW9kZS5TRUFSQ0g7XG4gICAgY29uc3QgY29uZmlndXJhdGlvblJlcXVlc3QgPSB0aGlzLmNyZWF0ZVJlcXVlc3QobGluZUl0ZW0sIHJ1bnRpbWVDb250ZXh0LCBjb25maWd1cmF0aW9uTW9kZSk7XG4gICAgY29uZmlndXJhdGlvblJlcXVlc3QubGluZUl0ZW1zID0gc3RhdGVzLmN1cnJlbnRTdGF0ZSB8fCBbXTtcbiAgICBjb25maWd1cmF0aW9uUmVxdWVzdC5hc3NldCA9IHN0YXRlcy5hc3NldDtcbiAgICBjb25zdCBydW50aW1lTW9kZWwgPSBydW50aW1lQ29udGV4dC5ydW50aW1lTW9kZWw7XG4gICAgY29uc3QgcHJpY2luZ0VuYWJsZWQgPSBydW50aW1lQ29udGV4dC51aURlZmluaXRpb24/LnByaWNpbmdFbmFibGVkO1xuICAgIHJldHVybiB0aGlzLmNvbmZpZ3VyYXRpb25BcGlTZXJ2aWNlXG4gICAgICAuY29uZmlndXJlTGluZUl0ZW0oe1xuICAgICAgICBjb25maWd1cmF0aW9uUmVxdWVzdCxcbiAgICAgICAgcnVudGltZU1vZGVsLFxuICAgICAgICBwcmljaW5nRW5hYmxlZCxcbiAgICAgIH0pXG4gICAgICAucGlwZShcbiAgICAgICAgbWFwKCh7IGxpbmVJdGVtLCBjb250ZXh0LCBkZWxldGVkTGluZUl0ZW1zIH0pID0+IHtcbiAgICAgICAgICBpZiAoY29udGV4dCkge1xuICAgICAgICAgICAgdGhpcy5jb250ZXh0U2VydmljZS51cGRhdGUoeyBwcm9wZXJ0aWVzOiBjb250ZXh0LnByb3BlcnRpZXMgfSk7XG4gICAgICAgICAgfVxuICAgICAgICAgIGlmIChkZWxldGVkTGluZUl0ZW1zPy5sZW5ndGgpIHtcbiAgICAgICAgICAgIHRoaXMuc2hvd0luYWN0aXZlUHJvZHVjdHNDb25maXJtYXRpb24oKTtcbiAgICAgICAgICB9XG4gICAgICAgICAgcmV0dXJuIGxpbmVJdGVtO1xuICAgICAgICB9KSxcbiAgICAgICk7XG4gIH1cblxuICBwcml2YXRlIGNyZWF0ZVJlcXVlc3QoXG4gICAgbGluZUl0ZW06IExpbmVJdGVtLFxuICAgIHJ1bnRpbWVDb250ZXh0OiBMZWdhY3lSdW50aW1lQ29udGV4dCxcbiAgICBjb25maWd1cmF0aW9uTW9kZTogQ29uZmlndXJhdGlvbk1vZGUsXG4gICk6IENvbmZpZ3VyYXRpb25SZXF1ZXN0IHtcbiAgICBpZiAocnVudGltZUNvbnRleHQucnVudGltZU1vZGUgPT09IFJ1bnRpbWVNb2RlLlRFU1QpIHtcbiAgICAgIGNvbnN0IHByb3BlcnRpZXM6IERpY3Rpb25hcnk8YW55PiA9IHtcbiAgICAgICAgLi4ucnVudGltZUNvbnRleHQucHJvcGVydGllcyxcbiAgICAgICAgTW9kZWxJZDogcnVudGltZUNvbnRleHQubW9kZWxJZCxcbiAgICAgICAgUnVudGltZU1vZGU6ICdURVNUJyxcbiAgICAgICAgUHJpY2luZ0VuYWJsZWQ6IFN0cmluZyhydW50aW1lQ29udGV4dC51aURlZmluaXRpb24/LnByaWNpbmdFbmFibGVkKSxcbiAgICAgICAgU3RhcnREYXRlOiBydW50aW1lQ29udGV4dC5wcm9wZXJ0aWVzPy5TdGFydERhdGUgPz8gbmV3IERhdGUoKS50b0lTT1N0cmluZygpLnN1YnN0cmluZygwLCAxMCksXG4gICAgICAgIFByaWNlTGlzdElkOiBydW50aW1lQ29udGV4dC51aURlZmluaXRpb24/LnByaWNlTGlzdCxcbiAgICAgIH07XG5cbiAgICAgIHRoaXMuY29udGV4dFNlcnZpY2UudXBkYXRlKHsgcHJvcGVydGllcyB9KTtcbiAgICB9IGVsc2Uge1xuICAgICAgY29uc3QgY29udGV4dCA9IHRoaXMuY29udGV4dFNlcnZpY2UucmVzb2x2ZSgpO1xuXG4gICAgICBpZiAoY29udGV4dC5wcm9wZXJ0aWVzICYmIHJ1bnRpbWVDb250ZXh0LnByb3BlcnRpZXM/LlN0YXJ0RGF0ZSkge1xuICAgICAgICB0aGlzLmNvbnRleHRTZXJ2aWNlLnVwZGF0ZSh7XG4gICAgICAgICAgcHJvcGVydGllczoge1xuICAgICAgICAgICAgLi4uY29udGV4dC5wcm9wZXJ0aWVzLFxuICAgICAgICAgICAgLi4ucnVudGltZUNvbnRleHQucHJvcGVydGllcyxcbiAgICAgICAgICB9LFxuICAgICAgICB9KTtcbiAgICAgIH1cbiAgICB9XG5cbiAgICByZXR1cm4ge1xuICAgICAgbGluZUl0ZW0sXG4gICAgICBtb2RlOiBjb25maWd1cmF0aW9uTW9kZSxcbiAgICAgIHN0ZXA6IHJ1bnRpbWVDb250ZXh0Lmludm9jYXRpb25Db250ZXh0ICYmIHJ1bnRpbWVDb250ZXh0Lmludm9jYXRpb25Db250ZXh0LnJ1bnRpbWVTdGVwLFxuICAgICAgYXR0cmlidXRlRG9tYWluTW9kZTogJ0FMTCcsXG4gICAgICBjb250ZXh0OiB0aGlzLmNvbnRleHRTZXJ2aWNlLnJlc29sdmUoKSxcbiAgICB9O1xuICB9XG5cbiAgcHJpdmF0ZSBnZXREZWZhdWx0TGluZUl0ZW0oY29udGV4dDogTGVnYWN5UnVudGltZUNvbnRleHQpOiBMaW5lSXRlbSB7XG4gICAgY29uc3QgaWQgPSBVVUlELlVVSUQoKTtcblxuICAgIGNvbnN0IGxpbmVJdGVtOiBMaW5lSXRlbSA9IHtcbiAgICAgIGlkLFxuICAgICAgdHlwZTogY29udGV4dC51aURlZmluaXRpb24/LnJvb3RUeXBlID8/ICcnLFxuICAgICAgY2ZnU3RhdHVzOiAnRGVmYXVsdCcsXG4gICAgICBxdHk6IDEsXG4gICAgICBwcm9kdWN0TmFtZTogY29udGV4dC5wcm9wZXJ0aWVzPy5kaXNwbGF5TmFtZSB8fCBjb250ZXh0LnByb2R1Y3ROYW1lLFxuICAgICAgcHJvZHVjdElkOiBjb250ZXh0LnByb2R1Y3RJZCA/PyAnJyxcbiAgICAgIG9mZmVyaW5nSWQ6IGNvbnRleHQub2ZmZXJpbmdJZCxcbiAgICAgIC4uLihjb250ZXh0Lm9mZmVyaW5nSWRcbiAgICAgICAgPyB7IG9mZmVyaW5nSWQ6IGNvbnRleHQub2ZmZXJpbmdJZCwgb2ZmZXJpbmdJbnN0YW5jZUlkOiBjb250ZXh0Lm9mZmVyaW5nSW5zdGFuY2VJZCB8fCBpZCB9XG4gICAgICAgIDoge30pLFxuICAgIH0gYXMgTGluZUl0ZW07XG5cbiAgICByZXR1cm4gbGluZUl0ZW07XG4gIH1cblxuICBwcml2YXRlIHNob3dJbmFjdGl2ZVByb2R1Y3RzQ29uZmlybWF0aW9uKCk6IHZvaWQge1xuICAgIHRoaXMuZGlhbG9nU2VydmljZVxuICAgICAgLm9wZW4oQ29uZmlybWF0aW9uQ29tcG9uZW50LCB7XG4gICAgICAgIGRpc21pc3NhYmxlTWFzazogZmFsc2UsXG4gICAgICAgIGNsb3NlT25Fc2NhcGU6IGZhbHNlLFxuICAgICAgICBjbG9zYWJsZTogZmFsc2UsXG4gICAgICAgIHNob3dIZWFkZXI6IHRydWUsXG4gICAgICAgIGhlYWRlcjogYEluYWN0aXZlIFByb2R1Y3RzIGluIFF1b3RlYCxcbiAgICAgICAgd2lkdGg6ICc0NDBweCcsXG4gICAgICAgIGRhdGE6IHtcbiAgICAgICAgICBjb25maXJtYXRpb25Db25maWc6IHtcbiAgICAgICAgICAgIHRpdGxlOiAnICcsXG4gICAgICAgICAgICBkZXNjcmlwdGlvbjogJ1RoaXMgcXVvdGUgY29udGFpbnMgaW5hY3RpdmUgcHJvZHVjdHMuIERvIHlvdSB3YW50IHRvIHJlbW92ZSB0aGVtPycsXG4gICAgICAgICAgICBzdWJtaXRCdG46ICdSZW1vdmUgcHJvZHVjdHMnLFxuICAgICAgICAgICAgY2FuY2VsQnRuOiAnQmFjayB0byBRdW90ZScsXG4gICAgICAgICAgfSxcbiAgICAgICAgfSxcbiAgICAgIH0pXG4gICAgICAub25DbG9zZS5zdWJzY3JpYmUocmVzdWx0ID0+IHtcbiAgICAgICAgaWYgKCFyZXN1bHQpIHtcbiAgICAgICAgICBjb25zdCBjb250ZXh0ID0gdGhpcy5jb250ZXh0U2VydmljZS5yZXNvbHZlKCk7XG4gICAgICAgICAgd2luZG93WydWRUxPX0JBQ0tfRk4nXS5hcHBseShudWxsLCBbY29udGV4dC5oZWFkZXJJZF0pO1xuICAgICAgICB9XG4gICAgICB9KTtcbiAgfVxufVxuIl19
|