@infrab4a/connect-angular 4.1.3-beta.0 → 4.1.3
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/angular-connect.module.d.ts +6 -5
- package/angular-firebase-auth.module.d.ts +2 -3
- package/angular-firestore.module.d.ts +2 -3
- package/esm2020/angular-connect.module.mjs +35 -4
- package/esm2020/angular-firebase-auth.module.mjs +6 -21
- package/esm2020/angular-firestore.module.mjs +22 -26
- package/fesm2015/infrab4a-connect-angular.mjs +78 -66
- package/fesm2015/infrab4a-connect-angular.mjs.map +1 -1
- package/fesm2020/infrab4a-connect-angular.mjs +78 -66
- package/fesm2020/infrab4a-connect-angular.mjs.map +1 -1
- package/package.json +2 -2
|
@@ -4,10 +4,11 @@ import { AxiosElasticSearchConfig, Shops } from '@infrab4a/connect';
|
|
|
4
4
|
import { HasuraGraphQLOptions } from './angular-hasura-graphql.module';
|
|
5
5
|
import { FirebaseAppConfig } from './types';
|
|
6
6
|
import * as i0 from "@angular/core";
|
|
7
|
-
import * as i1 from "
|
|
8
|
-
import * as i2 from "./angular-
|
|
9
|
-
import * as i3 from "./angular-
|
|
10
|
-
import * as i4 from "./angular-
|
|
7
|
+
import * as i1 from "@angular/fire/app";
|
|
8
|
+
import * as i2 from "./angular-elastic-search.module";
|
|
9
|
+
import * as i3 from "./angular-firebase-auth.module";
|
|
10
|
+
import * as i4 from "./angular-firestore.module";
|
|
11
|
+
import * as i5 from "./angular-hasura-graphql.module";
|
|
11
12
|
export declare class AngularConnectModule {
|
|
12
13
|
static initializeApp(defaultShop: Shops, options: {
|
|
13
14
|
firebase: FirebaseOptions;
|
|
@@ -17,6 +18,6 @@ export declare class AngularConnectModule {
|
|
|
17
18
|
oldCategoryStructure?: boolean;
|
|
18
19
|
}, nameOrConfig?: string | FirebaseAppConfig): ModuleWithProviders<AngularConnectModule>;
|
|
19
20
|
static ɵfac: i0.ɵɵFactoryDeclaration<AngularConnectModule, never>;
|
|
20
|
-
static ɵmod: i0.ɵɵNgModuleDeclaration<AngularConnectModule, never, [typeof i1.
|
|
21
|
+
static ɵmod: i0.ɵɵNgModuleDeclaration<AngularConnectModule, never, [typeof i1.FirebaseAppModule, typeof i2.AngularElasticSeachModule, typeof i3.AngularFirebaseAuthModule, typeof i4.AngularFirestoreModule, typeof i5.AngularHasuraGraphQLModule], never>;
|
|
21
22
|
static ɵinj: i0.ɵɵInjectorDeclaration<AngularConnectModule>;
|
|
22
23
|
}
|
|
@@ -2,11 +2,10 @@ import { ModuleWithProviders } from '@angular/core';
|
|
|
2
2
|
import { FirebaseOptions } from '@angular/fire/app';
|
|
3
3
|
import { FirebaseAppConfig } from './types';
|
|
4
4
|
import * as i0 from "@angular/core";
|
|
5
|
-
import * as i1 from "@angular/fire/
|
|
6
|
-
import * as i2 from "@angular/fire/auth";
|
|
5
|
+
import * as i1 from "@angular/fire/auth";
|
|
7
6
|
export declare class AngularFirebaseAuthModule {
|
|
8
7
|
static initializeApp(options: FirebaseOptions, nameOrConfig?: string | FirebaseAppConfig): ModuleWithProviders<AngularFirebaseAuthModule>;
|
|
9
8
|
static ɵfac: i0.ɵɵFactoryDeclaration<AngularFirebaseAuthModule, never>;
|
|
10
|
-
static ɵmod: i0.ɵɵNgModuleDeclaration<AngularFirebaseAuthModule, never, [typeof i1.
|
|
9
|
+
static ɵmod: i0.ɵɵNgModuleDeclaration<AngularFirebaseAuthModule, never, [typeof i1.AuthModule], never>;
|
|
11
10
|
static ɵinj: i0.ɵɵInjectorDeclaration<AngularFirebaseAuthModule>;
|
|
12
11
|
}
|
|
@@ -4,8 +4,7 @@ import { AxiosElasticSearchConfig, FirestoreConstructorParams } from '@infrab4a/
|
|
|
4
4
|
import { FirebaseAppConfig } from './types';
|
|
5
5
|
import * as i0 from "@angular/core";
|
|
6
6
|
import * as i1 from "./angular-elastic-search.module";
|
|
7
|
-
import * as i2 from "@angular/fire/
|
|
8
|
-
import * as i3 from "@angular/fire/firestore";
|
|
7
|
+
import * as i2 from "@angular/fire/firestore";
|
|
9
8
|
export type FirestoreOptions = Pick<FirestoreConstructorParams<any>, 'firestore' | 'interceptors'>;
|
|
10
9
|
export declare class AngularFirestoreModule {
|
|
11
10
|
static initializeApp(options: {
|
|
@@ -13,6 +12,6 @@ export declare class AngularFirestoreModule {
|
|
|
13
12
|
elasticSearch: AxiosElasticSearchConfig;
|
|
14
13
|
}, nameOrConfig?: string | FirebaseAppConfig): ModuleWithProviders<AngularFirestoreModule>;
|
|
15
14
|
static ɵfac: i0.ɵɵFactoryDeclaration<AngularFirestoreModule, never>;
|
|
16
|
-
static ɵmod: i0.ɵɵNgModuleDeclaration<AngularFirestoreModule, never, [typeof i1.AngularElasticSeachModule, typeof i2.
|
|
15
|
+
static ɵmod: i0.ɵɵNgModuleDeclaration<AngularFirestoreModule, never, [typeof i1.AngularElasticSeachModule, typeof i2.FirestoreModule], never>;
|
|
17
16
|
static ɵinj: i0.ɵɵInjectorDeclaration<AngularFirestoreModule>;
|
|
18
17
|
}
|
|
@@ -1,4 +1,5 @@
|
|
|
1
1
|
import { NgModule } from '@angular/core';
|
|
2
|
+
import { getApp, initializeApp, provideFirebaseApp } from '@angular/fire/app';
|
|
2
3
|
import { isNil } from '@infrab4a/connect';
|
|
3
4
|
import { AngularElasticSeachModule } from './angular-elastic-search.module';
|
|
4
5
|
import { AngularFirebaseAuthModule } from './angular-firebase-auth.module';
|
|
@@ -8,6 +9,7 @@ import { BACKEND_URL, CATEGORY_STRUCTURE, DEFAULT_SHOP, ES_CONFIG, FIREBASE_APP_
|
|
|
8
9
|
import { AuthService, CartService, CatalogService, CategoryService, CheckoutService, CheckoutSubscriptionService, CouponService, HomeShopService, OrderService, ShippingService, WishlistService, } from './services';
|
|
9
10
|
import { NewCategoryStructureAdapter, OldCategoryStructureAdapter } from './services/catalog/adapters';
|
|
10
11
|
import * as i0 from "@angular/core";
|
|
12
|
+
import * as i1 from "@angular/fire/app";
|
|
11
13
|
export class AngularConnectModule {
|
|
12
14
|
static initializeApp(defaultShop, options, nameOrConfig) {
|
|
13
15
|
return {
|
|
@@ -30,7 +32,10 @@ export class AngularConnectModule {
|
|
|
30
32
|
}
|
|
31
33
|
}
|
|
32
34
|
AngularConnectModule.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "15.1.0", ngImport: i0, type: AngularConnectModule, deps: [], target: i0.ɵɵFactoryTarget.NgModule });
|
|
33
|
-
AngularConnectModule.ɵmod = i0.ɵɵngDeclareNgModule({ minVersion: "14.0.0", version: "15.1.0", ngImport: i0, type: AngularConnectModule, imports: [
|
|
35
|
+
AngularConnectModule.ɵmod = i0.ɵɵngDeclareNgModule({ minVersion: "14.0.0", version: "15.1.0", ngImport: i0, type: AngularConnectModule, imports: [i1.FirebaseAppModule, AngularElasticSeachModule,
|
|
36
|
+
AngularFirebaseAuthModule,
|
|
37
|
+
AngularFirestoreModule,
|
|
38
|
+
AngularHasuraGraphQLModule] });
|
|
34
39
|
AngularConnectModule.ɵinj = i0.ɵɵngDeclareInjector({ minVersion: "12.0.0", version: "15.1.0", ngImport: i0, type: AngularConnectModule, providers: [
|
|
35
40
|
AuthService,
|
|
36
41
|
CartService,
|
|
@@ -43,11 +48,37 @@ AngularConnectModule.ɵinj = i0.ɵɵngDeclareInjector({ minVersion: "12.0.0", ve
|
|
|
43
48
|
OrderService,
|
|
44
49
|
ShippingService,
|
|
45
50
|
WishlistService,
|
|
46
|
-
], imports: [
|
|
51
|
+
], imports: [provideFirebaseApp((injector) => {
|
|
52
|
+
const appName = injector.get(FIREBASE_APP_NAME) || '[DEFAULT]';
|
|
53
|
+
try {
|
|
54
|
+
return getApp(appName);
|
|
55
|
+
}
|
|
56
|
+
catch (error) {
|
|
57
|
+
return initializeApp(injector.get(FIREBASE_OPTIONS), appName);
|
|
58
|
+
}
|
|
59
|
+
}),
|
|
60
|
+
AngularElasticSeachModule,
|
|
61
|
+
AngularFirebaseAuthModule,
|
|
62
|
+
AngularFirestoreModule,
|
|
63
|
+
AngularHasuraGraphQLModule] });
|
|
47
64
|
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "15.1.0", ngImport: i0, type: AngularConnectModule, decorators: [{
|
|
48
65
|
type: NgModule,
|
|
49
66
|
args: [{
|
|
50
|
-
imports: [
|
|
67
|
+
imports: [
|
|
68
|
+
provideFirebaseApp((injector) => {
|
|
69
|
+
const appName = injector.get(FIREBASE_APP_NAME) || '[DEFAULT]';
|
|
70
|
+
try {
|
|
71
|
+
return getApp(appName);
|
|
72
|
+
}
|
|
73
|
+
catch (error) {
|
|
74
|
+
return initializeApp(injector.get(FIREBASE_OPTIONS), appName);
|
|
75
|
+
}
|
|
76
|
+
}),
|
|
77
|
+
AngularElasticSeachModule,
|
|
78
|
+
AngularFirebaseAuthModule,
|
|
79
|
+
AngularFirestoreModule,
|
|
80
|
+
AngularHasuraGraphQLModule,
|
|
81
|
+
],
|
|
51
82
|
providers: [
|
|
52
83
|
AuthService,
|
|
53
84
|
CartService,
|
|
@@ -63,4 +94,4 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "15.1.0", ngImpor
|
|
|
63
94
|
],
|
|
64
95
|
}]
|
|
65
96
|
}] });
|
|
66
|
-
//# sourceMappingURL=data:application/json;base64,
|
|
97
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiYW5ndWxhci1jb25uZWN0Lm1vZHVsZS5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uL3Byb2plY3RzL2Nvbm5lY3QtYW5ndWxhci9zcmMvYW5ndWxhci1jb25uZWN0Lm1vZHVsZS50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQWlDLFFBQVEsRUFBRSxNQUFNLGVBQWUsQ0FBQTtBQUN2RSxPQUFPLEVBQW1CLE1BQU0sRUFBRSxhQUFhLEVBQUUsa0JBQWtCLEVBQUUsTUFBTSxtQkFBbUIsQ0FBQTtBQUM5RixPQUFPLEVBQTRCLEtBQUssRUFBUyxNQUFNLG1CQUFtQixDQUFBO0FBQzFFLE9BQU8sRUFBRSx5QkFBeUIsRUFBRSxNQUFNLGlDQUFpQyxDQUFBO0FBQzNFLE9BQU8sRUFBRSx5QkFBeUIsRUFBRSxNQUFNLGdDQUFnQyxDQUFBO0FBQzFFLE9BQU8sRUFBRSxzQkFBc0IsRUFBRSxNQUFNLDRCQUE0QixDQUFBO0FBQ25FLE9BQU8sRUFBRSwwQkFBMEIsRUFBd0IsTUFBTSxpQ0FBaUMsQ0FBQTtBQUNsRyxPQUFPLEVBQ0wsV0FBVyxFQUNYLGtCQUFrQixFQUNsQixZQUFZLEVBQ1osU0FBUyxFQUNULGlCQUFpQixFQUNqQixnQkFBZ0IsRUFDaEIsY0FBYyxHQUNmLE1BQU0sVUFBVSxDQUFBO0FBQ2pCLE9BQU8sRUFDTCxXQUFXLEVBQ1gsV0FBVyxFQUNYLGNBQWMsRUFDZCxlQUFlLEVBQ2YsZUFBZSxFQUNmLDJCQUEyQixFQUMzQixhQUFhLEVBQ2IsZUFBZSxFQUNmLFlBQVksRUFDWixlQUFlLEVBQ2YsZUFBZSxHQUNoQixNQUFNLFlBQVksQ0FBQTtBQUNuQixPQUFPLEVBQUUsMkJBQTJCLEVBQUUsMkJBQTJCLEVBQUUsTUFBTSw2QkFBNkIsQ0FBQTs7O0FBaUN0RyxNQUFNLE9BQU8sb0JBQW9CO0lBQy9CLE1BQU0sQ0FBQyxhQUFhLENBQ2xCLFdBQWtCLEVBQ2xCLE9BTUMsRUFDRCxZQUF5QztRQUV6QyxPQUFP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LFdBQVcsQ0FBQTs0QkFFdEUsSUFBSTtnQ0FDRixPQUFPLE1BQU0sQ0FBQyxPQUFPLENBQUMsQ0FBQTs2QkFDdkI7NEJBQUMsT0FBTyxLQUFLLEVBQUU7Z0NBQ2QsT0FBTyxhQUFhLENBQUMsUUFBUSxDQUFDLEdBQUcsQ0FBQyxnQkFBZ0IsQ0FBQyxFQUFFLE9BQU8sQ0FBQyxDQUFBOzZCQUM5RDt3QkFDSCxDQUFDLENBQUM7d0JBQ0YseUJBQXlCO3dCQUN6Qix5QkFBeUI7d0JBQ3pCLHNCQUFzQjt3QkFDdEIsMEJBQTBCO3FCQUMzQjtvQkFDRCxTQUFTLEVBQUU7d0JBQ1QsV0FBVzt3QkFDWCxXQUFXO3dCQUNYLGNBQWM7d0JBQ2QsZUFBZTt3QkFDZixlQUFlO3dCQUNmLDJCQUEyQjt3QkFDM0IsYUFBYTt3QkFDYixlQUFlO3dCQUNmLFlBQVk7d0JBQ1osZUFBZTt3QkFDZixlQUFlO3FCQUNoQjtpQkFDRiIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IEluamVjdG9yLCBNb2R1bGVXaXRoUHJvdmlkZXJzLCBOZ01vZHVsZSB9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnXG5pbXBvcnQgeyBGaXJlYmFzZU9wdGlvbnMsIGdldEFwcCwgaW5pdGlhbGl6ZUFwcCwgcHJvdmlkZUZpcmViYXNlQXBwIH0gZnJvbSAnQGFuZ3VsYXIvZmlyZS9hcHAnXG5pbXBvcnQgeyBBeGlvc0VsYXN0aWNTZWFyY2hDb25maWcsIGlzTmlsLCBTaG9wcyB9IGZyb20gJ0BpbmZyYWI0YS9jb25uZWN0J1xuaW1wb3J0IHsgQW5ndWxhckVsYXN0aWNTZWFjaE1vZHVsZSB9IGZyb20gJy4vYW5ndWxhci1lbGFzdGljLXNlYXJjaC5tb2R1bGUnXG5pbXBvcnQgeyBBbmd1bGFyRmlyZWJhc2VBdXRoTW9kdWxlIH0gZnJvbSAnLi9hbmd1bGFyLWZpcmViYXNlLWF1dGgubW9kdWxlJ1xuaW1wb3J0IHsgQW5ndWxhckZpcmVzdG9yZU1vZHVsZSB9IGZyb20gJy4vYW5ndWxhci1maXJlc3RvcmUubW9kdWxlJ1xuaW1wb3J0IHsgQW5ndWxhckhhc3VyYUdyYXBoUUxNb2R1bGUsIEhhc3VyYUdyYXBoUUxPcHRpb25zIH0gZnJvbSAnLi9hbmd1bGFyLWhhc3VyYS1ncmFwaHFsLm1vZHVsZSdcbmltcG9ydCB7XG4gIEJBQ0tFTkRfVVJMLFxuICBDQVRFR09SWV9TVFJVQ1RVUkUsXG4gIERFRkFVTFRfU0hPUCxcbiAgRVNfQ09ORklHLFxuICBGSVJFQkFTRV9BUFBfTkFNRSxcbiAgRklSRUJBU0VfT1BUSU9OUyxcbiAgSEFTVVJBX09QVElPTlMsXG59IGZyb20gJy4vY29uc3RzJ1xuaW1wb3J0IHtcbiAgQXV0aFNlcnZpY2UsXG4gIENhcnRTZXJ2aWNlLFxuICBDYXRhbG9nU2VydmljZSxcbiAgQ2F0ZWdvcnlTZXJ2aWNlLFxuICBDaGVja291dFNlcnZpY2UsXG4gIENoZWNrb3V0U3Vic2NyaXB0aW9uU2VydmljZSxcbiAgQ291cG9uU2VydmljZSxcbiAgSG9tZVNob3BTZXJ2aWNlLFxuICBPcmRlclNlcnZpY2UsXG4gIFNoaXBwaW5nU2VydmljZSxcbiAgV2lzaGxpc3RTZXJ2aWNlLFxufSBmcm9tICcuL3NlcnZpY2VzJ1xuaW1wb3J0IHsgTmV3Q2F0ZWdvcnlTdHJ1Y3R1cmVBZGFwdGVyLCBPbGRDYXRlZ29yeVN0cnVjdHVyZUFkYXB0ZXIgfSBmcm9tICcuL3NlcnZpY2VzL2NhdGFsb2cvYWRhcHRlcnMnXG5pbXBvcnQgeyBGaXJlYmFzZUFwcENvbmZpZyB9IGZyb20gJy4vdHlwZXMnXG5cbkBOZ01vZHVsZSh7XG4gIGltcG9ydHM6IFtcbiAgICBwcm92aWRlRmlyZWJhc2VBcHAoKGluamVjdG9yOiBJbmplY3RvcikgPT4ge1xuICAgICAgY29uc3QgYXBwTmFtZSA9IGluamVjdG9yLmdldDxzdHJpbmc+KEZJUkVCQVNFX0FQUF9OQU1FKSB8fCAnW0RFRkFVTFRdJ1xuXG4gICAgICB0cnkge1xuICAgICAgICByZXR1cm4gZ2V0QXBwKGFwcE5hbWUpXG4gICAgICB9IGNhdGNoIChlcnJvcikge1xuICAgICAgICByZXR1cm4gaW5pdGlhbGl6ZUFwcChpbmplY3Rvci5nZXQoRklSRUJBU0VfT1BUSU9OUyksIGFwcE5hbWUpXG4gICAgICB9XG4gICAgfSksXG4gICAgQW5ndWxhckVsYXN0aWNTZWFjaE1vZHVsZSxcbiAgICBBbmd1bGFyRmlyZWJhc2VBdXRoTW9kdWxlLFxuICAgIEFuZ3VsYXJGaXJlc3RvcmVNb2R1bGUsXG4gICAgQW5ndWxhckhhc3VyYUdyYXBoUUxNb2R1bGUsXG4gIF0sXG4gIHByb3ZpZGVyczogW1xuICAgIEF1dGhTZXJ2aWNlLFxuICAgIENhcnRTZXJ2aWNlLFxuICAgIENhdGFsb2dTZXJ2aWNlLFxuICAgIENhdGVnb3J5U2VydmljZSxcbiAgICBDaGVja291dFNlcnZpY2UsXG4gICAgQ2hlY2tvdXRTdWJzY3JpcHRpb25TZXJ2aWNlLFxuICAgIENvdXBvblNlcnZpY2UsXG4gICAgSG9tZVNob3BTZXJ2aWNlLFxuICAgIE9yZGVyU2VydmljZSxcbiAgICBTaGlwcGluZ1NlcnZpY2UsXG4gICAgV2lzaGxpc3RTZXJ2aWNlLFxuICBdLFxufSlcbmV4cG9ydCBjbGFzcyBBbmd1bGFyQ29ubmVjdE1vZHVsZSB7XG4gIHN0YXRpYyBpbml0aWFsaXplQXBwKFxuICAgIGRlZmF1bHRTaG9wOiBTaG9wcyxcbiAgICBvcHRpb25zOiB7XG4gICAgICBmaXJlYmFzZTogRmlyZWJhc2VPcHRpb25zXG4gICAgICBlbGFzdGljU2VhcmNoOiBBeGlvc0VsYXN0aWNTZWFyY2hDb25maWdcbiAgICAgIGhhc3VyYTogSGFzdXJhR3JhcGhRTE9wdGlvbnNcbiAgICAgIGJhY2tlbmRVcmw6IHN0cmluZ1xuICAgICAgb2xkQ2F0ZWdvcnlTdHJ1Y3R1cmU/OiBib29sZWFuXG4gICAgfSxcbiAgICBuYW1lT3JDb25maWc/OiBzdHJpbmcgfCBGaXJlYmFzZUFwcENvbmZpZyxcbiAgKTogTW9kdWxlV2l0aFByb3ZpZGVyczxBbmd1bGFyQ29ubmVjdE1vZHVsZT4ge1xuICAgIHJldHVybiB7XG4gICAgICBuZ01vZHVsZTogQW5ndWxhckNvbm5lY3RNb2R1bGUsXG4gICAgICBwcm92aWRlcnM6IFtcbiAgICAgICAge1xuICAgICAgICAgIHByb3ZpZGU6IENBVEVHT1JZX1NUUlVDVFVSRSxcbiAgICAgICAgICB1c2VDbGFzczpcbiAgICAgICAgICAgIGlzTmlsKG9wdGlvbnM/Lm9sZENhdGVnb3J5U3RydWN0dXJlKSB8fCBvcHRpb25zPy5vbGRDYXRlZ29yeVN0cnVjdHVyZVxuICAgICAgICAgICAgICA/IE9sZENhdGVnb3J5U3RydWN0dXJlQWRhcHRlclxuICAgICAgICAgICAgICA6IE5ld0NhdGVnb3J5U3RydWN0dXJlQWRhcHRlcixcbiAgICAgICAgfSxcbiAgICAgICAgLi4uKGlzTmlsKGRlZmF1bHRTaG9wKSA/IFtdIDogW3sgcHJvdmlkZTogREVGQVVMVF9TSE9QLCB1c2VWYWx1ZTogZGVmYXVsdFNob3AgfV0pLFxuICAgICAgICAuLi4oaXNOaWwob3B0aW9ucz8uZmlyZWJhc2UpID8gW10gOiBbeyBwcm92aWRlOiBGSVJFQkFTRV9PUFRJT05TLCB1c2VWYWx1ZTogb3B0aW9ucz8uZmlyZWJhc2UgfV0pLFxuICAgICAgICAuLi4oaXNOaWwob3B0aW9ucz8uZmlyZWJhc2UpID8gW10gOiBbeyBwcm92aWRlOiBGSVJFQkFTRV9BUFBfTkFNRSwgdXNlVmFsdWU6IG5hbWVPckNvbmZpZyB9XSksXG4gICAgICAgIC4uLihpc05pbChvcHRpb25zPy5lbGFzdGljU2VhcmNoKSA/IFtdIDogW3sgcHJvdmlkZTogRVNfQ09ORklHLCB1c2VWYWx1ZTogb3B0aW9ucy5lbGFzdGljU2VhcmNoIH1dKSxcbiAgICAgICAgLi4uKGlzTmlsKG9wdGlvbnM/Lmhhc3VyYSkgPyBbXSA6IFt7IHByb3ZpZGU6IEhBU1VSQV9PUFRJT05TLCB1c2VWYWx1ZTogb3B0aW9ucy5oYXN1cmEgfV0pLFxuICAgICAgICAuLi4oaXNOaWwob3B0aW9ucz8uYmFja2VuZFVybCkgPyBbXSA6IFt7IHByb3ZpZGU6IEJBQ0tFTkRfVVJMLCB1c2VWYWx1ZTogb3B0aW9ucy5iYWNrZW5kVXJsIH1dKSxcbiAgICAgIF0sXG4gICAgfVxuICB9XG59XG4iXX0=
|
|
@@ -1,11 +1,10 @@
|
|
|
1
1
|
import { NgModule } from '@angular/core';
|
|
2
|
-
import {
|
|
2
|
+
import { FirebaseApp } from '@angular/fire/app';
|
|
3
3
|
import { Auth, getAuth, provideAuth } from '@angular/fire/auth';
|
|
4
4
|
import { Authentication, AuthenticationFirebaseAuthService, RecoveryPassword, Register, RegisterFirebaseAuthService, SignOut, } from '@infrab4a/connect';
|
|
5
5
|
import { FIREBASE_APP_NAME, FIREBASE_OPTIONS } from './consts';
|
|
6
6
|
import * as i0 from "@angular/core";
|
|
7
|
-
import * as i1 from "@angular/fire/
|
|
8
|
-
import * as i2 from "@angular/fire/auth";
|
|
7
|
+
import * as i1 from "@angular/fire/auth";
|
|
9
8
|
export class AngularFirebaseAuthModule {
|
|
10
9
|
static initializeApp(options, nameOrConfig) {
|
|
11
10
|
return {
|
|
@@ -18,7 +17,7 @@ export class AngularFirebaseAuthModule {
|
|
|
18
17
|
}
|
|
19
18
|
}
|
|
20
19
|
AngularFirebaseAuthModule.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "15.1.0", ngImport: i0, type: AngularFirebaseAuthModule, deps: [], target: i0.ɵɵFactoryTarget.NgModule });
|
|
21
|
-
AngularFirebaseAuthModule.ɵmod = i0.ɵɵngDeclareNgModule({ minVersion: "14.0.0", version: "15.1.0", ngImport: i0, type: AngularFirebaseAuthModule, imports: [i1.
|
|
20
|
+
AngularFirebaseAuthModule.ɵmod = i0.ɵɵngDeclareNgModule({ minVersion: "14.0.0", version: "15.1.0", ngImport: i0, type: AngularFirebaseAuthModule, imports: [i1.AuthModule] });
|
|
22
21
|
AngularFirebaseAuthModule.ɵinj = i0.ɵɵngDeclareInjector({ minVersion: "12.0.0", version: "15.1.0", ngImport: i0, type: AngularFirebaseAuthModule, providers: [
|
|
23
22
|
{
|
|
24
23
|
provide: 'Authentication',
|
|
@@ -62,25 +61,11 @@ AngularFirebaseAuthModule.ɵinj = i0.ɵɵngDeclareInjector({ minVersion: "12.0.0
|
|
|
62
61
|
},
|
|
63
62
|
deps: ['AuthenticationService'],
|
|
64
63
|
},
|
|
65
|
-
], imports: [
|
|
66
|
-
const appName = injector.get(FIREBASE_APP_NAME);
|
|
67
|
-
return appName
|
|
68
|
-
? initializeApp(injector.get(FIREBASE_OPTIONS), appName)
|
|
69
|
-
: initializeApp(injector.get(FIREBASE_OPTIONS));
|
|
70
|
-
}),
|
|
71
|
-
provideAuth(() => getAuth())] });
|
|
64
|
+
], imports: [provideAuth((injector) => getAuth(injector.get(FirebaseApp)))] });
|
|
72
65
|
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "15.1.0", ngImport: i0, type: AngularFirebaseAuthModule, decorators: [{
|
|
73
66
|
type: NgModule,
|
|
74
67
|
args: [{
|
|
75
|
-
imports: [
|
|
76
|
-
provideFirebaseApp((injector) => {
|
|
77
|
-
const appName = injector.get(FIREBASE_APP_NAME);
|
|
78
|
-
return appName
|
|
79
|
-
? initializeApp(injector.get(FIREBASE_OPTIONS), appName)
|
|
80
|
-
: initializeApp(injector.get(FIREBASE_OPTIONS));
|
|
81
|
-
}),
|
|
82
|
-
provideAuth(() => getAuth()),
|
|
83
|
-
],
|
|
68
|
+
imports: [provideAuth((injector) => getAuth(injector.get(FirebaseApp)))],
|
|
84
69
|
providers: [
|
|
85
70
|
{
|
|
86
71
|
provide: 'Authentication',
|
|
@@ -127,4 +112,4 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "15.1.0", ngImpor
|
|
|
127
112
|
],
|
|
128
113
|
}]
|
|
129
114
|
}] });
|
|
130
|
-
//# sourceMappingURL=data:application/json;base64,
|
|
115
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiYW5ndWxhci1maXJlYmFzZS1hdXRoLm1vZHVsZS5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uL3Byb2plY3RzL2Nvbm5lY3QtYW5ndWxhci9zcmMvYW5ndWxhci1maXJlYmFzZS1hdXRoLm1vZHVsZS50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQWlDLFFBQVEsRUFBRSxNQUFNLGVBQWUsQ0FBQTtBQUN2RSxPQUFPLEVBQUUsV0FBVyxFQUFtQixNQUFNLG1CQUFtQixDQUFBO0FBQ2hFLE9BQU8sRUFBRSxJQUFJLEVBQUUsT0FBTyxFQUFFLFdBQVcsRUFBRSxNQUFNLG9CQUFvQixDQUFBO0FBQy9ELE9BQU8sRUFDTCxjQUFjLEVBQ2QsaUNBQWlDLEVBRWpDLGdCQUFnQixFQUNoQixRQUFRLEVBQ1IsMkJBQTJCLEVBRTNCLE9BQU8sR0FFUixNQUFNLG1CQUFtQixDQUFBO0FBRTFCLE9BQU8sRUFBRSxpQkFBaUIsRUFBRSxnQkFBZ0IsRUFBRSxNQUFNLFVBQVUsQ0FBQTs7O0FBa0Q5RCxNQUFNLE9BQU8seUJBQXlCO0lBQ3BDLE1BQU0sQ0FBQyxhQUFhLENBQ2xCLE9BQXdCLEVBQ3hCLFlBQXlDO1FBRXpDLE9BQU87WUFDTCxRQUFRLEVBQUUseUJBQXlCO1lBQ25DLFNBQVMsRUFBRTtnQkFDVCxFQUFFLE9BQU8sRUFBRSxnQkFBZ0IsRUFBRSxRQUFRLEVBQUUsT0FBTyxFQUFFO2dCQUNoRCxFQUFFLE9BQU8sRUFBRSxpQkFBaUIsRUFBRSxRQUFRLEVBQUUsWUFBWSxFQUFFO2FBQ3ZEO1NBQ0YsQ0FBQTtJQUNILENBQUM7O3NIQVpVLHlCQUF5Qjt1SEFBekIseUJBQXlCO3VIQUF6Qix5QkFBeUIsYUE3Q3pCO1FBQ1Q7WUFDRSxPQUFPLEVBQUUsZ0JBQWdCO1lBQ3pCLFVBQVUsRUFBRSxDQUFDLHFCQUE0QyxFQUFFLGNBQThCLEVBQWtCLEVBQUU7Z0JBQzNHLE9BQU8sSUFBSSxjQUFjLENBQUMscUJBQXFCLEVBQUUs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ZSxDQUFDLENBQUE7NEJBQ3pELENBQUM7NEJBQ0QsSUFBSSxFQUFFLENBQUMsSUFBSSxDQUFDO3lCQUNiO3dCQUNEOzRCQUNFLE9BQU8sRUFBRSxTQUFTOzRCQUNsQixVQUFVLEVBQUUsQ0FBQyxxQkFBNEMsRUFBVyxFQUFFO2dDQUNwRSxPQUFPLElBQUksT0FBTyxDQUFDLHFCQUFxQixDQUFDLENBQUE7NEJBQzNDLENBQUM7NEJBQ0QsSUFBSSxFQUFFLENBQUMsdUJBQXVCLENBQUM7eUJBQ2hDO3dCQUNEOzRCQUNFLE9BQU8sRUFBRSxrQkFBa0I7NEJBQzNCLFVBQVUsRUFBRSxDQUFDLHFCQUE0QyxFQUFvQixFQUFFO2dDQUM3RSxPQUFPLElBQUksZ0JBQWdCLENBQUMscUJBQXFCLENBQUMsQ0FBQTs0QkFDcEQsQ0FBQzs0QkFDRCxJQUFJLEVBQUUsQ0FBQyx1QkFBdUIsQ0FBQzt5QkFDaEM7cUJBQ0Y7aUJBQ0YiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBJbmplY3RvciwgTW9kdWxlV2l0aFByb3ZpZGVycywgTmdNb2R1bGUgfSBmcm9tICdAYW5ndWxhci9jb3JlJ1xuaW1wb3J0IHsgRmlyZWJhc2VBcHAsIEZpcmViYXNlT3B0aW9ucyB9IGZyb20gJ0Bhbmd1bGFyL2ZpcmUvYXBwJ1xuaW1wb3J0IHsgQXV0aCwgZ2V0QXV0aCwgcHJvdmlkZUF1dGggfSBmcm9tICdAYW5ndWxhci9maXJlL2F1dGgnXG5pbXBvcnQge1xuICBBdXRoZW50aWNhdGlvbixcbiAgQXV0aGVudGljYXRpb25GaXJlYmFzZUF1dGhTZXJ2aWNlLFxuICBBdXRoZW50aWNhdGlvblNlcnZpY2UsXG4gIFJlY292ZXJ5UGFzc3dvcmQsXG4gIFJlZ2lzdGVyLFxuICBSZWdpc3RlckZpcmViYXNlQXV0aFNlcnZpY2UsXG4gIFJlZ2lzdGVyU2VydmljZSxcbiAgU2lnbk91dCxcbiAgVXNlclJlcG9zaXRvcnksXG59IGZyb20gJ0BpbmZyYWI0YS9jb25uZWN0J1xuXG5pbXBvcnQgeyBGSVJFQkFTRV9BUFBfTkFNRSwgRklSRUJBU0VfT1BUSU9OUyB9IGZyb20gJy4vY29uc3RzJ1xuaW1wb3J0IHsgRmlyZWJhc2VBcHBDb25maWcgfSBmcm9tICcuL3R5cGVzJ1xuXG5ATmdNb2R1bGUoe1xuICBpbXBvcnRzOiBbcHJvdmlkZUF1dGgoKGluamVjdG9yOiBJbmplY3RvcikgPT4gZ2V0QXV0aChpbmplY3Rvci5nZXQoRmlyZWJhc2VBcHApKSldLFxuICBwcm92aWRlcnM6IFtcbiAgICB7XG4gICAgICBwcm92aWRlOiAnQXV0aGVudGljYXRpb24nLFxuICAgICAgdXNlRmFjdG9yeTogKGF1dGhlbnRpY2F0aW9uU2VydmljZTogQXV0aGVudGljYXRpb25TZXJ2aWNlLCB1c2VyUmVwb3NpdG9yeTogVXNlclJlcG9zaXRvcnkpOiBBdXRoZW50aWNhdGlvbiA9PiB7XG4gICAgICAgIHJldHVybiBuZXcgQXV0aGVudGljYXRpb24oYXV0aGVudGljYXRpb25TZXJ2aWNlLCB1c2VyUmVwb3NpdG9yeSlcbiAgICAgIH0sXG4gICAgICBkZXBzOiBbJ0F1dGhlbnRpY2F0aW9uU2VydmljZScsICdVc2VyUmVwb3NpdG9yeSddLFxuICAgIH0sXG4gICAge1xuICAgICAgcHJvdmlkZTogJ0F1dGhlbnRpY2F0aW9uU2VydmljZScsXG4gICAgICB1c2VGYWN0b3J5OiAoYW5ndWxhckZpcmVBdXRoOiBBdXRoKTogQXV0aGVudGljYXRpb25TZXJ2aWNlID0+IHtcbiAgICAgICAgcmV0dXJuIG5ldyBBdXRoZW50aWNhdGlvbkZpcmViYXNlQXV0aFNlcnZpY2UoYW5ndWxhckZpcmVBdXRoKVxuICAgICAgfSxcbiAgICAgIGRlcHM6IFtBdXRoXSxcbiAgICB9LFxuICAgIHtcbiAgICAgIHByb3ZpZGU6ICdSZWdpc3RlcicsXG4gICAgICB1c2VGYWN0b3J5OiAocmVnaXN0ZXJTZXJ2aWNlOiBSZWdpc3RlclNlcnZpY2UsIHVzZXJSZXBvc2l0b3J5OiBVc2VyUmVwb3NpdG9yeSk6IFJlZ2lzdGVyID0+IHtcbiAgICAgICAgcmV0dXJuIG5ldyBSZWdpc3RlcihyZWdpc3RlclNlcnZpY2UsIHVzZXJSZXBvc2l0b3J5KVxuICAgICAgfSxcbiAgICAgIGRlcHM6IFsnUmVnaXN0ZXJTZXJ2aWNlJywgJ1VzZXJSZXBvc2l0b3J5J10sXG4gICAgfSxcbiAgICB7XG4gICAgICBwcm92aWRlOiAnUmVnaXN0ZXJTZXJ2aWNlJyxcbiAgICAgIHVzZUZhY3Rvcnk6IChhbmd1bGFyRmlyZUF1dGg6IEF1dGgpOiBSZWdpc3RlclNlcnZpY2UgPT4ge1xuICAgICAgICByZXR1cm4gbmV3IFJlZ2lzdGVyRmlyZWJhc2VBdXRoU2VydmljZShhbmd1bGFyRmlyZUF1dGgpXG4gICAgICB9LFxuICAgICAgZGVwczogW0F1dGhdLFxuICAgIH0sXG4gICAge1xuICAgICAgcHJvdmlkZTogJ1NpZ25PdXQnLFxuICAgICAgdXNlRmFjdG9yeTogKGF1dGhlbnRpY2F0aW9uU2VydmljZTogQXV0aGVudGljYXRpb25TZXJ2aWNlKTogU2lnbk91dCA9PiB7XG4gICAgICAgIHJldHVybiBuZXcgU2lnbk91dChhdXRoZW50aWNhdGlvblNlcnZpY2UpXG4gICAgICB9LFxuICAgICAgZGVwczogWydBdXRoZW50aWNhdGlvblNlcnZpY2UnXSxcbiAgICB9LFxuICAgIHtcbiAgICAgIHByb3ZpZGU6ICdSZWNvdmVyeVBhc3N3b3JkJyxcbiAgICAgIHVzZUZhY3Rvcnk6IChhdXRoZW50aWNhdGlvblNlcnZpY2U6IEF1dGhlbnRpY2F0aW9uU2VydmljZSk6IFJlY292ZXJ5UGFzc3dvcmQgPT4ge1xuICAgICAgICByZXR1cm4gbmV3IFJlY292ZXJ5UGFzc3dvcmQoYXV0aGVudGljYXRpb25TZXJ2aWNlKVxuICAgICAgfSxcbiAgICAgIGRlcHM6IFsnQXV0aGVudGljYXRpb25TZXJ2aWNlJ10sXG4gICAgfSxcbiAgXSxcbn0pXG5leHBvcnQgY2xhc3MgQW5ndWxhckZpcmViYXNlQXV0aE1vZHVsZSB7XG4gIHN0YXRpYyBpbml0aWFsaXplQXBwKFxuICAgIG9wdGlvbnM6IEZpcmViYXNlT3B0aW9ucyxcbiAgICBuYW1lT3JDb25maWc/OiBzdHJpbmcgfCBGaXJlYmFzZUFwcENvbmZpZyxcbiAgKTogTW9kdWxlV2l0aFByb3ZpZGVyczxBbmd1bGFyRmlyZWJhc2VBdXRoTW9kdWxlPiB7XG4gICAgcmV0dXJuIHtcbiAgICAgIG5nTW9kdWxlOiBBbmd1bGFyRmlyZWJhc2VBdXRoTW9kdWxlLFxuICAgICAgcHJvdmlkZXJzOiBbXG4gICAgICAgIHsgcHJvdmlkZTogRklSRUJBU0VfT1BUSU9OUywgdXNlVmFsdWU6IG9wdGlvbnMgfSxcbiAgICAgICAgeyBwcm92aWRlOiBGSVJFQkFTRV9BUFBfTkFNRSwgdXNlVmFsdWU6IG5hbWVPckNvbmZpZyB9LFxuICAgICAgXSxcbiAgICB9XG4gIH1cbn1cbiJdfQ==
|
|
@@ -1,15 +1,13 @@
|
|
|
1
|
-
import { isPlatformBrowser } from '@angular/common';
|
|
1
|
+
import { isPlatformBrowser, isPlatformServer } from '@angular/common';
|
|
2
2
|
import { NgModule, PLATFORM_ID } from '@angular/core';
|
|
3
|
-
import { FirebaseApp
|
|
4
|
-
import {
|
|
3
|
+
import { FirebaseApp } from '@angular/fire/app';
|
|
4
|
+
import { Firestore, getFirestore, initializeFirestore, memoryLocalCache, provideFirestore, } from '@angular/fire/firestore';
|
|
5
5
|
import { Buy2WinFirestoreRepository, CampaignDashboardFirestoreRepository, CampaignHashtagFirestoreRepository, CategoryFirestoreRepository, CheckoutFirestoreRepository, CheckoutSubscriptionFirestoreRepository, CouponFirestoreRepository, HomeFirestoreRepository, LeadFirestoreRepository, LegacyOrderFirestoreRepository, OrderFirestoreRepository, PaymentFirestoreRepository, ProductFirestoreRepository, ProductVariantFirestoreRepository, ShopMenuFirestoreRepository, ShopSettingsFirestoreRepository, SubscriptionEditionFirestoreRepository, SubscriptionFirestoreRepository, SubscriptionPaymentFirestoreRepository, SubscriptionPlanFirestoreRepository, SubscriptionProductFirestoreRepository, UserAddressFirestoreRepository, UserBeautyProfileFirestoreRepository, UserFirestoreRepository, UserPaymentMethodFirestoreRepository, } from '@infrab4a/connect';
|
|
6
|
-
import { initializeApp } from 'firebase/app';
|
|
7
6
|
import { AngularElasticSeachModule } from './angular-elastic-search.module';
|
|
8
7
|
import { ES_CONFIG, FIREBASE_APP_NAME, FIREBASE_OPTIONS } from './consts';
|
|
9
8
|
import { MobileOperationSystemCheckerHelper } from './helpers';
|
|
10
9
|
import * as i0 from "@angular/core";
|
|
11
|
-
import * as i1 from "@angular/fire/
|
|
12
|
-
import * as i2 from "@angular/fire/firestore";
|
|
10
|
+
import * as i1 from "@angular/fire/firestore";
|
|
13
11
|
export class AngularFirestoreModule {
|
|
14
12
|
static initializeApp(options, nameOrConfig) {
|
|
15
13
|
return {
|
|
@@ -23,7 +21,7 @@ export class AngularFirestoreModule {
|
|
|
23
21
|
}
|
|
24
22
|
}
|
|
25
23
|
AngularFirestoreModule.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "15.1.0", ngImport: i0, type: AngularFirestoreModule, deps: [], target: i0.ɵɵFactoryTarget.NgModule });
|
|
26
|
-
AngularFirestoreModule.ɵmod = i0.ɵɵngDeclareNgModule({ minVersion: "14.0.0", version: "15.1.0", ngImport: i0, type: AngularFirestoreModule, imports: [AngularElasticSeachModule, i1.
|
|
24
|
+
AngularFirestoreModule.ɵmod = i0.ɵɵngDeclareNgModule({ minVersion: "14.0.0", version: "15.1.0", ngImport: i0, type: AngularFirestoreModule, imports: [AngularElasticSeachModule, i1.FirestoreModule] });
|
|
27
25
|
AngularFirestoreModule.ɵinj = i0.ɵɵngDeclareInjector({ minVersion: "12.0.0", version: "15.1.0", ngImport: i0, type: AngularFirestoreModule, providers: [
|
|
28
26
|
{
|
|
29
27
|
provide: 'FirestoreOptions',
|
|
@@ -223,17 +221,16 @@ AngularFirestoreModule.ɵinj = i0.ɵɵngDeclareInjector({ minVersion: "12.0.0",
|
|
|
223
221
|
deps: ['FirestoreOptions', ProductFirestoreRepository],
|
|
224
222
|
},
|
|
225
223
|
], imports: [AngularElasticSeachModule,
|
|
226
|
-
provideFirebaseApp((injector) => {
|
|
227
|
-
const appName = injector.get(FIREBASE_APP_NAME);
|
|
228
|
-
return appName
|
|
229
|
-
? initializeApp(injector.get(FIREBASE_OPTIONS), appName)
|
|
230
|
-
: initializeApp(injector.get(FIREBASE_OPTIONS));
|
|
231
|
-
}),
|
|
232
224
|
provideFirestore((injector) => {
|
|
225
|
+
const platformId = injector.get(PLATFORM_ID);
|
|
226
|
+
if (isPlatformServer(platformId))
|
|
227
|
+
return getFirestore(injector.get(FirebaseApp));
|
|
233
228
|
if (!MobileOperationSystemCheckerHelper.isAppleDevice())
|
|
234
|
-
return getFirestore();
|
|
235
|
-
const firestore = initializeFirestore(injector.get(FirebaseApp), {
|
|
236
|
-
|
|
229
|
+
return getFirestore(injector.get(FirebaseApp));
|
|
230
|
+
const firestore = initializeFirestore(injector.get(FirebaseApp), {
|
|
231
|
+
experimentalForceLongPolling: true,
|
|
232
|
+
localCache: memoryLocalCache(),
|
|
233
|
+
});
|
|
237
234
|
return firestore;
|
|
238
235
|
})] });
|
|
239
236
|
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "15.1.0", ngImport: i0, type: AngularFirestoreModule, decorators: [{
|
|
@@ -241,17 +238,16 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "15.1.0", ngImpor
|
|
|
241
238
|
args: [{
|
|
242
239
|
imports: [
|
|
243
240
|
AngularElasticSeachModule,
|
|
244
|
-
provideFirebaseApp((injector) => {
|
|
245
|
-
const appName = injector.get(FIREBASE_APP_NAME);
|
|
246
|
-
return appName
|
|
247
|
-
? initializeApp(injector.get(FIREBASE_OPTIONS), appName)
|
|
248
|
-
: initializeApp(injector.get(FIREBASE_OPTIONS));
|
|
249
|
-
}),
|
|
250
241
|
provideFirestore((injector) => {
|
|
242
|
+
const platformId = injector.get(PLATFORM_ID);
|
|
243
|
+
if (isPlatformServer(platformId))
|
|
244
|
+
return getFirestore(injector.get(FirebaseApp));
|
|
251
245
|
if (!MobileOperationSystemCheckerHelper.isAppleDevice())
|
|
252
|
-
return getFirestore();
|
|
253
|
-
const firestore = initializeFirestore(injector.get(FirebaseApp), {
|
|
254
|
-
|
|
246
|
+
return getFirestore(injector.get(FirebaseApp));
|
|
247
|
+
const firestore = initializeFirestore(injector.get(FirebaseApp), {
|
|
248
|
+
experimentalForceLongPolling: true,
|
|
249
|
+
localCache: memoryLocalCache(),
|
|
250
|
+
});
|
|
255
251
|
return firestore;
|
|
256
252
|
}),
|
|
257
253
|
],
|
|
@@ -456,4 +452,4 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "15.1.0", ngImpor
|
|
|
456
452
|
],
|
|
457
453
|
}]
|
|
458
454
|
}] });
|
|
459
|
-
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiYW5ndWxhci1maXJlc3RvcmUubW9kdWxlLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vcHJvamVjdHMvY29ubmVjdC1hbmd1bGFyL3NyYy9hbmd1bGFyLWZpcmVzdG9yZS5tb2R1bGUudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFFLGlCQUFpQixFQUFFLE1BQU0saUJBQWlCLENBQUE7QUFDbkQsT0FBTyxFQUFpQyxRQUFRLEVBQUUsV0FBVyxFQUFFLE1BQU0sZUFBZSxDQUFBO0FBQ3BGLE9BQU8sRUFBRSxXQUFXLEVBQW1CLGtCQUFrQixFQUFFLE1BQU0sbUJBQW1CLENBQUE7QUFDcEYsT0FBTyxFQUNMLDBCQUEwQixFQUMxQixTQUFTLEVBQ1QsWUFBWSxFQUNaLG1CQUFtQixFQUNuQixnQkFBZ0IsR0FDakIsTUFBTSx5QkFBeUIsQ0FBQTtBQUNoQyxPQUFPLEVBR0wsMEJBQTBCLEVBRTFCLG9DQUFvQyxFQUVwQyxrQ0FBa0MsRUFFbEMsMkJBQTJCLEVBRTNCLDJCQUEyQixFQUUzQix1Q0FBdUMsRUFFdkMseUJBQXlCLEVBS3pCLHVCQUF1QixFQUV2Qix1QkFBdUIsRUFFdkIsOEJBQThCLEVBRTlCLHdCQUF3QixFQUV4QiwwQkFBMEIsRUFFMUIsMEJBQTBCLEVBRTFCLGlDQUFpQyxFQUNqQywyQkFBMkIsRUFFM0IsK0JBQStCLEVBRS9CLHNDQUFzQyxFQUN0QywrQkFBK0IsRUFDL0Isc0NBQXNDLEVBRXRDLG1DQUFtQyxFQUVuQyxzQ0FBc0MsRUFHdEMsOEJBQThCLEVBRTlCLG9DQUFvQyxFQUNwQyx1QkFBdUIsRUFDdkIsb0NBQW9DLEdBSXJDLE1BQU0sbUJBQW1CLENBQUE7QUFDMUIsT0FBTyxFQUFFLGFBQWEsRUFBRSxNQUFNLGNBQWMsQ0FBQTtBQUU1QyxPQUFPLEVBQUUseUJBQXlCLEVBQUUsTUFBTSxpQ0FBaUMsQ0FBQTtBQUMzRSxPQUFPLEVBQUUsU0FBUyxFQUFFLGlCQUFpQixFQUFFLGdCQUFn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RSxPQUFPLEVBQUUsdUJBQXVCOzRCQUNoQyxVQUFVLEVBQUUsQ0FBQyxPQUF5QixFQUFFLGNBQXVDLEVBQXlCLEVBQUU7Z0NBQ3hHLE9BQU8sSUFBSSw4QkFBOEIsQ0FBQyxPQUFPLEVBQUUsY0FBYyxDQUFDLENBQUE7NEJBQ3BFLENBQUM7NEJBQ0QsSUFBSSxFQUFFLENBQUMsa0JBQWtCLEVBQUUsZ0JBQWdCLENBQUM7eUJBQzdDO3dCQUNEOzRCQUNFLE9BQU8sRUFBRSw2QkFBNkI7NEJBQ3RDLFVBQVUsRUFBRSxDQUFDLE9BQXlCLEVBQUUsY0FBdUMsRUFBK0IsRUFBRTtnQ0FDOUcsT0FBTyxJQUFJLG9DQUFvQyxDQUFDLE9BQU8sRUFBRSxjQUFjLENBQUMsQ0FBQTs0QkFDMUUsQ0FBQzs0QkFDRCxJQUFJLEVBQUUsQ0FBQyxrQkFBa0IsRUFBRSxnQkFBZ0IsQ0FBQzt5QkFDN0M7d0JBQ0Q7NEJBQ0UsT0FBTyxFQUFFLGlDQUFpQzs0QkFDMUMsVUFBVSxFQUFFLENBQUMsT0FBeUIsRUFBRSxpQkFBNkMsRUFBcUIsRUFBRTtnQ0FDMUcsT0FBTyxJQUFJLGlDQUFpQyxDQUFDLE9BQU8sRUFBRSxpQkFBaUIsQ0FBQyxDQUFBOzRCQUMxRSxDQUFDOzRCQUNELElBQUksRUFBRSxDQUFDLGtCQUFrQixFQUFFLDBCQUEwQixDQUFDO3lCQUN2RDtxQkFDRjtpQkFDRiIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IGlzUGxhdGZvcm1Ccm93c2VyIH0gZnJvbSAnQGFuZ3VsYXIvY29tbW9uJ1xuaW1wb3J0IHsgSW5qZWN0b3IsIE1vZHVsZVdpdGhQcm92aWRlcnMsIE5nTW9kdWxlLCBQTEFURk9STV9JRCB9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnXG5pbXBvcnQgeyBGaXJlYmFzZUFwcCwgRmlyZWJhc2VPcHRpb25zLCBwcm92aWRlRmlyZWJhc2VBcHAgfSBmcm9tICdAYW5ndWxhci9maXJlL2FwcCdcbmltcG9ydCB7XG4gIGVuYWJsZUluZGV4ZWREYlBlcnNpc3RlbmNlLFxuICBGaXJlc3RvcmUsXG4gIGdldEZpcmVzdG9yZSxcbiAgaW5pdGlhbGl6ZUZpcmVzdG9yZSxcbiAgcHJvdmlkZUZpcmVzdG9yZSxcbn0gZnJvbSAnQGFuZ3VsYXIvZmlyZS9maXJlc3RvcmUnXG5pbXBvcnQge1xuICBBeGlvc0VsYXN0aWNTZWFyY2hDb25maWcsXG4gIEJlYXV0eVByb2ZpbGVSZXBvc2l0b3J5LFxuICBCdXkyV2luRmlyZXN0b3JlUmVwb3NpdG9yeSxcbiAgQnV5MldpblJlcG9zaXRvcnksXG4gIENhbXBhaWduRGFzaGJvYXJkRmlyZXN0b3JlUmVwb3NpdG9yeSxcbiAgQ2FtcGFpZ25EYXNoYm9hcmRSZXBvc2l0b3J5LFxuICBDYW1wYWlnbkhhc2h0YWdGaXJlc3RvcmVSZXBvc2l0b3J5LFxuICBDYW1wYWlnbkhhc2h0YWdSZXBvc2l0b3J5LFxuICBDYXRlZ29yeUZpcmVzdG9yZVJlcG9zaXRvcnksXG4gIENhdGVnb3J5UmVwb3NpdG9yeSxcbiAgQ2hlY2tvdXRGaXJlc3RvcmVSZXBvc2l0b3J5LFxuICBDaGVja291dFJlcG9zaXRvcnksXG4gIENoZWNrb3V0U3Vic2NyaXB0aW9uRmlyZXN0b3JlUmVwb3NpdG9yeSxcbiAgQ2hlY2tvdXRTdWJzY3JpcHRpb25SZXBvc2l0b3J5LFxuICBDb3Vwb25GaXJlc3RvcmVSZXBvc2l0b3J5LFxuICBDb3Vwb25SZXBvc2l0b3J5LFxuICBFZGl0aW9uUmVwb3NpdG9yeSxcbiAgRmlyZXN0b3JlQ29uc3RydWN0b3JQYXJhbXMsXG4gIEZpcmVzdG9yZUludGVydGNlcHRvclJlcXVlc3RQYXJhbXMsXG4gIEhvbWVGaXJlc3RvcmVSZXBvc2l0b3J5LFxuICBIb21lUmVwb3NpdG9yeSxcbiAgTGVhZEZpcmVzdG9yZVJlcG9zaXRvcnksXG4gIExlYWRSZXBvc2l0b3J5LFxuICBMZWdhY3lPcmRlckZpcmVzdG9yZVJlcG9zaXRvcnksXG4gIExlZ2FjeU9yZGVyUmVwb3NpdG9yeSxcbiAgT3JkZXJGaXJlc3RvcmVSZXBvc2l0b3J5LFxuICBPcmRlclJlcG9zaXRvcnksXG4gIFBheW1lbnRGaXJlc3RvcmVSZXBvc2l0b3J5LFxuICBQYXltZW50UmVwb3NpdG9yeSxcbiAgUHJvZHVjdEZpcmVzdG9yZVJlcG9zaXRvcnksXG4gIFByb2R1Y3RSZXBvc2l0b3J5LFxuICBQcm9kdWN0VmFyaWFudEZpcmVzdG9yZVJlcG9zaXRvcnksXG4gIFNob3BNZW51RmlyZXN0b3JlUmVwb3NpdG9yeSxcbiAgU2hvcE1lbnVSZXBvc2l0b3J5LFxuICBTaG9wU2V0dGluZ3NGaXJlc3RvcmVSZXBvc2l0b3J5LFxuICBTaG9wU2V0dGluZ3NSZXBvc2l0b3J5LFxuICBTdWJzY3JpcHRpb25FZGl0aW9uRmlyZXN0b3JlUmVwb3NpdG9yeSxcbiAgU3Vic2NyaXB0aW9uRmlyZXN0b3JlUmVwb3NpdG9yeSxcbiAgU3Vic2NyaXB0aW9uUGF5bWVudEZpcmVzdG9yZVJlcG9zaXRvcnksXG4gIFN1YnNjcmlwdGlvblBheW1lbnRSZXBvc2l0b3J5LFxuICBTdWJzY3JpcHRpb25QbGFuRmlyZXN0b3JlUmVwb3NpdG9yeSxcbiAgU3Vic2NyaXB0aW9uUGxhblJlcG9zaXRvcnksXG4gIFN1YnNjcmlwdGlvblByb2R1Y3RGaXJlc3RvcmVSZXBvc2l0b3J5LFxuICBTdWJzY3JpcHRpb25Qcm9kdWN0UmVwb3NpdG9yeSxcbiAgU3Vic2NyaXB0aW9uUmVwb3NpdG9yeSxcbiAgVXNlckFkZHJlc3NGaXJlc3RvcmVSZXBvc2l0b3J5LFxuICBVc2VyQWRkcmVzc1JlcG9zaXRvcnksXG4gIFVzZXJCZWF1dHlQcm9maWxlRmlyZXN0b3JlUmVwb3NpdG9yeSxcbiAgVXNlckZpcmVzdG9yZVJlcG9zaXRvcnksXG4gIFVzZXJQYXltZW50TWV0aG9kRmlyZXN0b3JlUmVwb3NpdG9yeSxcbiAgVXNlclBheW1lbnRNZXRob2RSZXBvc2l0b3J5LFxuICBVc2VyUmVwb3NpdG9yeSxcbiAgVmFyaWFudFJlcG9zaXRvcnksXG59IGZyb20gJ0BpbmZyYWI0YS9jb25uZWN0J1xuaW1wb3J0IHsgaW5pdGlhbGl6ZUFwcCB9IGZyb20gJ2ZpcmViYXNlL2FwcCdcblxuaW1wb3J0IHsgQW5ndWxhckVsYXN0aWNTZWFjaE1vZHVsZSB9IGZyb20gJy4vYW5ndWxhci1lbGFzdGljLXNlYXJjaC5tb2R1bGUnXG5pbXBvcnQgeyBFU19DT05GSUcsIEZJUkVCQVNFX0FQUF9OQU1FLCBGSVJFQkFTRV9PUFRJT05TIH0gZnJvbSAnLi9jb25zdHMnXG5pbXBvcnQgeyBNb2JpbGVPcGVyYXRpb25TeXN0ZW1DaGVja2VySGVscGVyIH0gZnJvbSAnLi9oZWxwZXJzJ1xuaW1wb3J0IHsgRmlyZWJhc2VBcHBDb25maWcgfSBmcm9tICcuL3R5cGVzJ1xuXG5leHBvcnQgdHlwZSBGaXJlc3RvcmVPcHRpb25zID0gUGljazxGaXJlc3RvcmVDb25zdHJ1Y3RvclBhcmFtczxhbnk+LCAnZmlyZXN0b3JlJyB8ICdpbnRlcmNlcHRvcnMnPlxuXG5ATmdNb2R1bGUoe1xuICBpbXBvcnRzOiBbXG4gICAgQW5ndWxhckVsYXN0aWNTZWFjaE1vZHVsZSxcbiAgICBwcm92aWRlRmlyZWJhc2VBcHAoKGluamVjdG9yOiBJbmplY3RvcikgPT4ge1xuICAgICAgY29uc3QgYXBwTmFtZSA9IGluamVjdG9yLmdldChGSVJFQkFTRV9BUFBfTkFNRSlcblxuICAgICAgcmV0dXJuIGFwcE5hbWVcbiAgICAgICAgPyBpbml0aWFsaXplQXBwKGluamVjdG9yLmdldChGSVJFQkFTRV9PUFRJT05TKSwgYXBwTmFtZSlcbiAgICAgICAgOiBpbml0aWFsaXplQXBwKGluamVjdG9yLmdldChGSVJFQkFTRV9PUFRJT05TKSlcbiAgICB9KSxcbiAgICBwcm92aWRlRmlyZXN0b3JlKChpbmplY3RvcjogSW5qZWN0b3IpID0+IHtcbiAgICAgIGlmICghTW9iaWxlT3BlcmF0aW9uU3lzdGVtQ2hlY2tlckhlbHBlci5pc0FwcGxlRGV2aWNlKCkpIHJldHVybiBnZXRGaXJlc3RvcmUoKVxuXG4gICAgICBjb25zdCBmaXJlc3RvcmUgPSBpbml0aWFsaXplRmlyZXN0b3JlKGluamVjdG9yLmdldChGaXJlYmFzZUFwcCksIHsgZXhwZXJpbWVudGFsRm9yY2VMb25nUG9sbGluZzogdHJ1ZSB9KVxuXG4gICAgICBlbmFibGVJbmRleGVkRGJQZXJzaXN0ZW5jZShmaXJlc3RvcmUpLmNhdGNoKGNvbnNvbGUuZXJyb3IpXG5cbiAgICAgIHJldHVybiBmaXJlc3RvcmVcbiAgICB9KSxcbiAgXSxcbiAgcHJvdmlkZXJzOiBbXG4gICAge1xuICAgICAgcHJvdmlkZTogJ0ZpcmVzdG9yZU9wdGlvbnMnLFxuICAgICAgdXNlRmFjdG9yeTogKGZpcmVzdG9yZTogRmlyZXN0b3JlLCBwbGF0Zm9ybUlkOiBzdHJpbmcpOiBGaXJlc3RvcmVPcHRpb25zID0+ICh7XG4gICAgICAgIGZpcmVzdG9yZSxcbiAgICAgICAgaW50ZXJjZXB0b3JzOiB7XG4gICAgICAgICAgcmVxdWVzdDogKHJlcXVlc3Q6IEZpcmVzdG9yZUludGVydGNlcHRvclJlcXVlc3RQYXJhbXM8YW55PiAmIHsgaW50ZXJ2YWw6IE5vZGVKUy5UaW1lb3V0IH0pID0+IHtcbiAgICAgICAgICAgIGlmIChpc1BsYXRmb3JtQnJvd3NlcihwbGF0Zm9ybUlkKSkgcmV0dXJuIHJlcXVlc3RcblxuICAgICAgICAgICAgY29uc3QgaW50ZXJ2YWwgPSBzZXRJbnRlcnZhbCgoKSA9PiB7fSwgMTAwKVxuXG4gICAgICAgICAgICByZXF1ZXN0LmludGVydmFsID0gaW50ZXJ2YWxcblxuICAgICAgICAgICAgcmV0dXJuIHJlcXVlc3RcbiAgICAgICAgICB9LFxuICAgICAgICAgIHJlc3BvbnNlOiAoXG4gICAgICAgICAgICByZXNwb25zZTogYW55LFxuICAgICAgICAgICAgcmVxdWVzdDogRmlyZXN0b3JlSW50ZXJ0Y2VwdG9yUmVxdWVzdFBhcmFtczxhbnk+ICYgeyBpbnRlcnZhbDogTm9kZUpTLlRpbWVvdXQgfSxcbiAgICAgICAgICApID0+IHtcbiAgICAgICAgICAgIGlmIChpc1BsYXRmb3JtQnJvd3NlcihwbGF0Zm9ybUlkKSkgcmV0dXJuIHJlc3BvbnNlXG5cbiAgICAgICAgICAgIGNsZWFySW50ZXJ2YWwocmVxdWVzdC5pbnRlcnZhbClcblxuICAgICAgICAgICAgcmV0dXJuIHJlc3BvbnNlXG4gICAgICAgICAgfSxcbiAgICAgICAgfSxcbiAgICAgIH0pLFxuICAgICAgZGVwczogW0ZpcmVzdG9yZSwgUExBVEZPUk1fSURdLFxuICAgIH0sXG4gICAge1xuICAgICAgcHJvdmlkZTogJ0JlYXV0eVByb2ZpbGVSZXBvc2l0b3J5JyxcbiAgICAgIHVzZUZhY3Rvcnk6IChjb25maWc6IEZpcmVzdG9yZU9wdGlvbnMsIHVzZXJSZXBvc2l0b3J5OiBVc2VyRmlyZXN0b3JlUmVwb3NpdG9yeSk6IEJlYXV0eVByb2ZpbGVSZXBvc2l0b3J5ID0+IHtcbiAgICAgICAgcmV0dXJuIG5ldyBVc2VyQmVhdXR5UHJvZmlsZUZpcmVzdG9yZVJlcG9zaXRvcnkoY29uZmlnLCB1c2VyUmVwb3NpdG9yeSlcbiAgICAgIH0sXG4gICAgICBkZXBzOiBbJ0ZpcmVzdG9yZU9wdGlvbnMnLCAnVXNlclJlcG9zaXRvcnknXSxcbiAgICB9LFxuICAgIHtcbiAgICAgIHByb3ZpZGU6ICdCdXkyV2luUmVwb3NpdG9yeScsXG4gICAgICB1c2VGYWN0b3J5OiAob3B0aW9uczogRmlyZXN0b3JlT3B0aW9ucyk6IEJ1eTJXaW5SZXBvc2l0b3J5ID0+IHtcbiAgICAgICAgcmV0dXJuIG5ldyBCdXkyV2luRmlyZXN0b3JlUmVwb3NpdG9yeShvcHRpb25zKVxuICAgICAgfSxcbiAgICAgIGRlcHM6IFsnRmlyZXN0b3JlT3B0aW9ucyddLFxuICAgIH0sXG4gICAge1xuICAgICAgcHJvdmlkZTogQ2F0ZWdvcnlGaXJlc3RvcmVSZXBvc2l0b3J5LFxuICAgICAgdXNlRmFjdG9yeTogKG9wdGlvbnM6IEZpcmVzdG9yZU9wdGlvbnMpOiBDYXRlZ29yeVJlcG9zaXRvcnkgPT4ge1xuICAgICAgICByZXR1cm4gbmV3IENhdGVnb3J5RmlyZXN0b3JlUmVwb3NpdG9yeShvcHRpb25zKVxuICAgICAgfSxcbiAgICAgIGRlcHM6IFsnRmlyZXN0b3JlT3B0aW9ucyddLFxuICAgIH0sXG4gICAge1xuICAgICAgcHJvdmlkZTogJ0NoZWNrb3V0UmVwb3NpdG9yeScsXG4gICAgICB1c2VGYWN0b3J5OiAob3B0aW9uczogRmlyZXN0b3JlT3B0aW9ucyk6IENoZWNrb3V0UmVwb3NpdG9yeSA9PiB7XG4gICAgICAgIHJldHVybiBuZXcgQ2hlY2tvdXRGaXJlc3RvcmVSZXBvc2l0b3J5KG9wdGlvbnMpXG4gICAgICB9LFxuICAgICAgZGVwczogWydGaXJlc3RvcmVPcHRpb25zJ10sXG4gICAgfSxcbiAgICB7XG4gICAgICBwcm92aWRlOiAnQ2hlY2tvdXRTdWJzY3JpcHRpb25SZXBvc2l0b3J5JyxcbiAgICAgIHVzZUZhY3Rvcnk6IChvcHRpb25zOiBGaXJlc3RvcmVPcHRpb25zKTogQ2hlY2tvdXRTdWJzY3JpcHRpb25SZXBvc2l0b3J5ID0+IHtcbiAgICAgICAgcmV0dXJuIG5ldyBDaGVja291dFN1YnNjcmlwdGlvbkZpcmVzdG9yZVJlcG9zaXRvcnkob3B0aW9ucylcbiAgICAgIH0sXG4gICAgICBkZXBzOiBbJ0ZpcmVzdG9yZU9wdGlvbnMnXSxcbiAgICB9LFxuICAgIHtcbiAgICAgIHByb3ZpZGU6ICdDb3Vwb25SZXBvc2l0b3J5JyxcbiAgICAgIHVzZUZhY3Rvcnk6IChvcHRpb25zOiBGaXJlc3RvcmVPcHRpb25zKTogQ291cG9uUmVwb3NpdG9yeSA9PiB7XG4gICAgICAgIHJldHVybiBuZXcgQ291cG9uRmlyZXN0b3JlUmVwb3NpdG9yeShvcHRpb25zKVxuICAgICAgfSxcbiAgICAgIGRlcHM6IFsnRmlyZXN0b3JlT3B0aW9ucyddLFxuICAgIH0sXG4gICAge1xuICAgICAgcHJvdmlkZTogJ0NhbXBhaWduSGFzaHRhZ1JlcG9zaXRvcnknLFxuICAgICAgdXNlRmFjdG9yeTogKG9wdGlvbnM6IEZpcmVzdG9yZU9wdGlvbnMpOiBDYW1wYWlnbkhhc2h0YWdSZXBvc2l0b3J5ID0+IHtcbiAgICAgICAgcmV0dXJuIG5ldyBDYW1wYWlnbkhhc2h0YWdGaXJlc3RvcmVSZXBvc2l0b3J5KG9wdGlvbnMpXG4gICAgICB9LFxuICAgICAgZGVwczogWydGaXJlc3RvcmVPcHRpb25zJ10sXG4gICAgfSxcbiAgICB7XG4gICAgICBwcm92aWRlOiAnQ2FtcGFpZ25EYXNoYm9hcmRSZXBvc2l0b3J5JyxcbiAgICAgIHVzZUZhY3Rvcnk6IChvcHRpb25zOiBGaXJlc3RvcmVPcHRpb25zKTogQ2FtcGFpZ25EYXNoYm9hcmRSZXBvc2l0b3J5ID0+IHtcbiAgICAgICAgcmV0dXJuIG5ldyBDYW1wYWlnbkRhc2hib2FyZEZpcmVzdG9yZVJlcG9zaXRvcnkob3B0aW9ucylcbiAgICAgIH0sXG4gICAgICBkZXBzOiBbJ0ZpcmVzdG9yZU9wdGlvbnMnXSxcbiAgICB9LFxuICAgIHtcbiAgICAgIHByb3ZpZGU6ICdFZGl0aW9uUmVwb3NpdG9yeScsXG4gICAgICB1c2VGYWN0b3J5OiAoXG4gICAgICAgIG9wdGlvbnM6IEZpcmVzdG9yZU9wdGlvbnMsXG4gICAgICAgIHN1YnNjcmlwdGlvblJlcG9zaXRvcnk6IFN1YnNjcmlwdGlvbkZpcmVzdG9yZVJlcG9zaXRvcnksXG4gICAgICApOiBFZGl0aW9uUmVwb3NpdG9yeSA9PiB7XG4gICAgICAgIHJldHVybiBuZXcgU3Vic2NyaXB0aW9uRWRpdGlvbkZpcmVzdG9yZVJlcG9zaXRvcnkob3B0aW9ucywgc3Vic2NyaXB0aW9uUmVwb3NpdG9yeSlcbiAgICAgIH0sXG4gICAgICBkZXBzOiBbJ0ZpcmVzdG9yZU9wdGlvbnMnLCAnU3Vic2NyaXB0aW9uUmVwb3NpdG9yeSddLFxuICAgIH0sXG4gICAge1xuICAgICAgcHJvdmlkZTogJ0hvbWVSZXBvc2l0b3J5JyxcbiAgICAgIHVzZUZhY3Rvcnk6IChvcHRpb25zOiBGaXJlc3RvcmVPcHRpb25zKTogSG9tZVJlcG9zaXRvcnkgPT4ge1xuICAgICAgICByZXR1cm4gbmV3IEhvbWVGaXJlc3RvcmVSZXBvc2l0b3J5KG9wdGlvbnMpXG4gICAgICB9LFxuICAgICAgZGVwczogWydGaXJlc3RvcmVPcHRpb25zJ10sXG4gICAgfSxcbiAgICB7XG4gICAgICBwcm92aWRlOiAnTGVhZFJlcG9zaXRvcnknLFxuICAgICAgdXNlRmFjdG9yeTogKG9wdGlvbnM6IEZpcmVzdG9yZU9wdGlvbnMpOiBMZWFkUmVwb3NpdG9yeSA9PiB7XG4gICAgICAgIHJldHVybiBuZXcgTGVhZEZpcmVzdG9yZVJlcG9zaXRvcnkob3B0aW9ucylcbiAgICAgIH0sXG4gICAgICBkZXBzOiBbJ0ZpcmVzdG9yZU9wdGlvbnMnXSxcbiAgICB9LFxuICAgIHtcbiAgICAgIHByb3ZpZGU6ICdMZWdhY3lPcmRlclJlcG9zaXRvcnknLFxuICAgICAgdXNlRmFjdG9yeTogKG9wdGlvbnM6IEZpcmVzdG9yZU9wdGlvbnMpOiBMZWdhY3lPcmRlclJlcG9zaXRvcnkgPT4ge1xuICAgICAgICByZXR1cm4gbmV3IExlZ2FjeU9yZGVyRmlyZXN0b3JlUmVwb3NpdG9yeShvcHRpb25zKVxuICAgICAgfSxcbiAgICAgIGRlcHM6IFsnRmlyZXN0b3JlT3B0aW9ucyddLFxuICAgIH0sXG4gICAge1xuICAgICAgcHJvdmlkZTogJ1Nob3BNZW51UmVwb3NpdG9yeScsXG4gICAgICB1c2VGYWN0b3J5OiAob3B0aW9uczogRmlyZXN0b3JlT3B0aW9ucyk6IFNob3BNZW51UmVwb3NpdG9yeSA9PiB7XG4gICAgICAgIHJldHVybiBuZXcgU2hvcE1lbnVGaXJlc3RvcmVSZXBvc2l0b3J5KG9wdGlvbnMpXG4gICAgICB9LFxuICAgICAgZGVwczogWydGaXJlc3RvcmVPcHRpb25zJ10sXG4gICAgfSxcbiAgICB7XG4gICAgICBwcm92aWRlOiAnT3JkZXJSZXBvc2l0b3J5JyxcbiAgICAgIHVzZUZhY3Rvcnk6IChvcHRpb25zOiBGaXJlc3RvcmVPcHRpb25zKTogT3JkZXJSZXBvc2l0b3J5ID0+IHtcbiAgICAgICAgcmV0dXJuIG5ldyBPcmRlckZpcmVzdG9yZVJlcG9zaXRvcnkob3B0aW9ucylcbiAgICAgIH0sXG4gICAgICBkZXBzOiBbJ0ZpcmVzdG9yZU9wdGlvbnMnXSxcbiAgICB9LFxuICAgIHtcbiAgICAgIHByb3ZpZGU6ICdQYXltZW50UmVwb3NpdG9yeScsXG4gICAgICB1c2VGYWN0b3J5OiAob3B0aW9uczogRmlyZXN0b3JlT3B0aW9ucyk6IFBheW1lbnRSZXBvc2l0b3J5ID0+IHtcbiAgICAgICAgcmV0dXJuIG5ldyBQYXltZW50RmlyZXN0b3JlUmVwb3NpdG9yeShvcHRpb25zKVxuICAgICAgfSxcbiAgICAgIGRlcHM6IFsnRmlyZXN0b3JlT3B0aW9ucyddLFxuICAgIH0sXG4gICAge1xuICAgICAgcHJvdmlkZTogUHJvZHVjdEZpcmVzdG9yZVJlcG9zaXRvcnksXG4gICAgICB1c2VGYWN0b3J5OiAob3B0aW9uczogRmlyZXN0b3JlT3B0aW9ucyk6IFByb2R1Y3RSZXBvc2l0b3J5ID0+IHtcbiAgICAgICAgcmV0dXJuIG5ldyBQcm9kdWN0RmlyZXN0b3JlUmVwb3NpdG9yeShvcHRpb25zKVxuICAgICAgfSxcbiAgICAgIGRlcHM6IFsnRmlyZXN0b3JlT3B0aW9ucyddLFxuICAgIH0sXG4gICAge1xuICAgICAgcHJvdmlkZTogJ1Nob3BTZXR0aW5nc1JlcG9zaXRvcnknLFxuICAgICAgdXNlRmFjdG9yeTogKG9wdGlvbnM6IEZpcmVzdG9yZU9wdGlvbnMpOiBTaG9wU2V0dGluZ3NSZXBvc2l0b3J5ID0+IHtcbiAgICAgICAgcmV0dXJuIG5ldyBTaG9wU2V0dGluZ3NGaXJlc3RvcmVSZXBvc2l0b3J5KG9wdGlvbnMpXG4gICAgICB9LFxuICAgICAgZGVwczogWydGaXJlc3RvcmVPcHRpb25zJ10sXG4gICAgfSxcbiAgICB7XG4gICAgICBwcm92aWRlOiAnU3Vic2NyaXB0aW9uUGF5bWVudFJlcG9zaXRvcnknLFxuICAgICAgdXNlRmFjdG9yeTogKFxuICAgICAgICBvcHRpb25zOiBGaXJlc3RvcmVPcHRpb25zLFxuICAgICAgICBzdWJzY3JpcHRpb25SZXBvc2l0b3J5OiBTdWJzY3JpcHRpb25GaXJlc3RvcmVSZXBvc2l0b3J5LFxuICAgICAgKTogU3Vic2NyaXB0aW9uUGF5bWVudFJlcG9zaXRvcnkgPT4ge1xuICAgICAgICByZXR1cm4gbmV3IFN1YnNjcmlwdGlvblBheW1lbnRGaXJlc3RvcmVSZXBvc2l0b3J5KG9wdGlvbnMsIHN1YnNjcmlwdGlvblJlcG9zaXRvcnkpXG4gICAgICB9LFxuICAgICAgZGVwczogWydGaXJlc3RvcmVPcHRpb25zJywgJ1N1YnNjcmlwdGlvblJlcG9zaXRvcnknXSxcbiAgICB9LFxuICAgIHtcbiAgICAgIHByb3ZpZGU6ICdTdWJzY3JpcHRpb25QbGFuUmVwb3NpdG9yeScsXG4gICAgICB1c2VGYWN0b3J5OiAob3B0aW9uczogRmlyZXN0b3JlT3B0aW9ucyk6IFN1YnNjcmlwdGlvblBsYW5SZXBvc2l0b3J5ID0+IHtcbiAgICAgICAgcmV0dXJuIG5ldyBTdWJzY3JpcHRpb25QbGFuRmlyZXN0b3JlUmVwb3NpdG9yeShvcHRpb25zKVxuICAgICAgfSxcbiAgICAgIGRlcHM6IFsnRmlyZXN0b3JlT3B0aW9ucyddLFxuICAgIH0sXG4gICAge1xuICAgICAgcHJvdmlkZTogJ1N1YnNjcmlwdGlvblByb2R1Y3RSZXBvc2l0b3J5JyxcbiAgICAgIHVzZUZhY3Rvcnk6IChvcHRpb25zOiBGaXJlc3RvcmVPcHRpb25zKTogU3Vic2NyaXB0aW9uUHJvZHVjdFJlcG9zaXRvcnkgPT4ge1xuICAgICAgICByZXR1cm4gbmV3IFN1YnNjcmlwdGlvblByb2R1Y3RGaXJlc3RvcmVSZXBvc2l0b3J5KG9wdGlvbnMpXG4gICAgICB9LFxuICAgICAgZGVwczogWydGaXJlc3RvcmVPcHRpb25zJ10sXG4gICAgfSxcbiAgICB7XG4gICAgICBwcm92aWRlOiAnU3Vic2NyaXB0aW9uUmVwb3NpdG9yeScsXG4gICAgICB1c2VGYWN0b3J5OiAob3B0aW9uczogRmlyZXN0b3JlT3B0aW9ucyk6IFN1YnNjcmlwdGlvblJlcG9zaXRvcnkgPT4ge1xuICAgICAgICByZXR1cm4gbmV3IFN1YnNjcmlwdGlvbkZpcmVzdG9yZVJlcG9zaXRvcnkob3B0aW9ucylcbiAgICAgIH0sXG4gICAgICBkZXBzOiBbJ0ZpcmVzdG9yZU9wdGlvbnMnXSxcbiAgICB9LFxuICAgIHtcbiAgICAgIHByb3ZpZGU6ICdVc2VyUmVwb3NpdG9yeScsXG4gICAgICB1c2VGYWN0b3J5OiAob3B0aW9uczogRmlyZXN0b3JlT3B0aW9ucyk6IFVzZXJSZXBvc2l0b3J5ID0+IHtcbiAgICAgICAgcmV0dXJuIG5ldyBVc2VyRmlyZXN0b3JlUmVwb3NpdG9yeShvcHRpb25zKVxuICAgICAgfSxcbiAgICAgIGRlcHM6IFsnRmlyZXN0b3JlT3B0aW9ucyddLFxuICAgIH0sXG4gICAge1xuICAgICAgcHJvdmlkZTogJ1VzZXJBZGRyZXNzUmVwb3NpdG9yeScsXG4gICAgICB1c2VGYWN0b3J5OiAob3B0aW9uczogRmlyZXN0b3JlT3B0aW9ucywgdXNlclJlcG9zaXRvcnk6IFVzZXJGaXJlc3RvcmVSZXBvc2l0b3J5KTogVXNlckFkZHJlc3NSZXBvc2l0b3J5ID0+IHtcbiAgICAgICAgcmV0dXJuIG5ldyBVc2VyQWRkcmVzc0ZpcmVzdG9yZVJlcG9zaXRvcnkob3B0aW9ucywgdXNlclJlcG9zaXRvcnkpXG4gICAgICB9LFxuICAgICAgZGVwczogWydGaXJlc3RvcmVPcHRpb25zJywgJ1VzZXJSZXBvc2l0b3J5J10sXG4gICAgfSxcbiAgICB7XG4gICAgICBwcm92aWRlOiAnVXNlclBheW1lbnRNZXRob2RSZXBvc2l0b3J5JyxcbiAgICAgIHVzZUZhY3Rvcnk6IChvcHRpb25zOiBGaXJlc3RvcmVPcHRpb25zLCB1c2VyUmVwb3NpdG9yeTogVXNlckZpcmVzdG9yZVJlcG9zaXRvcnkpOiBVc2VyUGF5bWVudE1ldGhvZFJlcG9zaXRvcnkgPT4ge1xuICAgICAgICByZXR1cm4gbmV3IFVzZXJQYXltZW50TWV0aG9kRmlyZXN0b3JlUmVwb3NpdG9yeShvcHRpb25zLCB1c2VyUmVwb3NpdG9yeSlcbiAgICAgIH0sXG4gICAgICBkZXBzOiBbJ0ZpcmVzdG9yZU9wdGlvbnMnLCAnVXNlclJlcG9zaXRvcnknXSxcbiAgICB9LFxuICAgIHtcbiAgICAgIHByb3ZpZGU6IFByb2R1Y3RWYXJpYW50RmlyZXN0b3JlUmVwb3NpdG9yeSxcbiAgICAgIHVzZUZhY3Rvcnk6IChvcHRpb25zOiBGaXJlc3RvcmVPcHRpb25zLCBwcm9kdWN0UmVwb3NpdG9yeTogUHJvZHVjdEZpcmVzdG9yZVJlcG9zaXRvcnkpOiBWYXJpYW50UmVwb3NpdG9yeSA9PiB7XG4gICAgICAgIHJldHVybiBuZXcgUHJvZHVjdFZhcmlhbnRGaXJlc3RvcmVSZXBvc2l0b3J5KG9wdGlvbnMsIHByb2R1Y3RSZXBvc2l0b3J5KVxuICAgICAgfSxcbiAgICAgIGRlcHM6IFsnRmlyZXN0b3JlT3B0aW9ucycsIFByb2R1Y3RGaXJlc3RvcmVSZXBvc2l0b3J5XSxcbiAgICB9LFxuICBdLFxufSlcbmV4cG9ydCBjbGFzcyBBbmd1bGFyRmlyZXN0b3JlTW9kdWxlIHtcbiAgc3RhdGljIGluaXRpYWxpemVBcHAoXG4gICAgb3B0aW9uczoge1xuICAgICAgZmlyZWJhc2U6IEZpcmViYXNlT3B0aW9uc1xuICAgICAgZWxhc3RpY1NlYXJjaDogQXhpb3NFbGFzdGljU2VhcmNoQ29uZmlnXG4gICAgfSxcbiAgICBuYW1lT3JDb25maWc/OiBzdHJpbmcgfCBGaXJlYmFzZUFwcENvbmZpZyxcbiAgKTogTW9kdWxlV2l0aFByb3ZpZGVyczxBbmd1bGFyRmlyZXN0b3JlTW9kdWxlPiB7XG4gICAgcmV0dXJuIHtcbiAgICAgIG5nTW9kdWxlOiBBbmd1bGFyRmlyZXN0b3JlTW9kdWxlLFxuICAgICAgcHJvdmlkZXJzOiBbXG4gICAgICAgIHsgcHJvdmlkZTogRklSRUJBU0VfT1BUSU9OUywgdXNlVmFsdWU6IG9wdGlvbnMuZmlyZWJhc2UgfSxcbiAgICAgICAgeyBwcm92aWRlOiBGSVJFQkFTRV9BUFBfTkFNRSwgdXNlVmFsdWU6IG5hbWVPckNvbmZpZyB9LFxuICAgICAgICB7IHByb3ZpZGU6IEVTX0NPTkZJRywgdXNlVmFsdWU6IG9wdGlvbnMuZWxhc3RpY1NlYXJjaCB9LFxuICAgICAgXSxcbiAgICB9XG4gIH1cbn1cbiJdfQ==
|
|
455
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiYW5ndWxhci1maXJlc3RvcmUubW9kdWxlLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vcHJvamVjdHMvY29ubmVjdC1hbmd1bGFyL3NyYy9hbmd1bGFyLWZpcmVzdG9yZS5tb2R1bGUudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFFLGlCQUFpQixFQUFFLGdCQUFnQixFQUFFLE1BQU0saUJBQWlCLENBQUE7QUFDckUsT0FBTyxFQUFpQyxRQUFRLEVBQUUsV0FBVyxFQUFFLE1BQU0sZUFBZSxDQUFBO0FBQ3BGLE9BQU8sRUFBRSxXQUFXLEVBQW1CLE1BQU0sbUJBQW1CLENBQUE7QUFDaEUsT0FBTyxFQUNMLFNBQVMsRUFDVCxZQUFZLEVBQ1osbUJBQW1CLEVBQ25CLGdCQUFnQixFQUNoQixnQkFBZ0IsR0FDakIsTUFBTSx5QkFBeUIsQ0FBQTtBQUNoQyxPQUFPLEVBR0wsMEJBQTBCLEVBRTFCLG9DQUFvQyxFQUVwQyxrQ0FBa0MsRUFFbEMsMkJBQTJCLEVBRTNCLDJCQUEyQixFQUUzQix1Q0FBdUMsRUFFdkMseUJBQXlCLEVBS3pCLHVCQUF1QixFQUV2Qix1QkFBdUIsRUFFdkIsOEJBQThCLEVBRTlCLHdCQUF3QixFQUV4QiwwQkFBMEIsRUFFMUIsMEJBQTBCLEVBRTFCLGlDQUFpQyxFQUNqQywyQkFBMkIsRUFFM0IsK0JBQStCLEVBRS9CLHNDQUFzQyxFQUN0QywrQkFBK0IsRUFDL0Isc0NBQXNDLEVBRXRDLG1DQUFtQyxFQUVuQyxzQ0FBc0MsRUFHdEMsOEJBQThCLEVBRTlCLG9DQUFvQyxFQUNwQyx1QkFBdUIsRUFDdkIsb0NBQW9DLEdBSXJDLE1BQU0sbUJBQW1CLENBQUE7QUFFMUIsT0FBTyxFQUFFLHlCQUF5QixFQUFFLE1BQU0saUNBQWlDLENBQUE7QUFDM0UsT0FBTyxFQUFFLFNBQVMsRUFBRSxpQkFBaUIsRUFBRSxnQkFBZ0IsRUFBRSxNQUFNLFVBQVUsQ0FBQTtBQUN6RSxPQUFPLEVBQUUsa0NB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QyxDQUFDLE9BQU8sRUFBRSxjQUFjLENBQUMsQ0FBQTs0QkFDMUUsQ0FBQzs0QkFDRCxJQUFJLEVBQUUsQ0FBQyxrQkFBa0IsRUFBRSxnQkFBZ0IsQ0FBQzt5QkFDN0M7d0JBQ0Q7NEJBQ0UsT0FBTyxFQUFFLGlDQUFpQzs0QkFDMUMsVUFBVSxFQUFFLENBQUMsT0FBeUIsRUFBRSxpQkFBNkMsRUFBcUIsRUFBRTtnQ0FDMUcsT0FBTyxJQUFJLGlDQUFpQyxDQUFDLE9BQU8sRUFBRSxpQkFBaUIsQ0FBQyxDQUFBOzRCQUMxRSxDQUFDOzRCQUNELElBQUksRUFBRSxDQUFDLGtCQUFrQixFQUFFLDBCQUEwQixDQUFDO3lCQUN2RDtxQkFDRjtpQkFDRiIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IGlzUGxhdGZvcm1Ccm93c2VyLCBpc1BsYXRmb3JtU2VydmVyIH0gZnJvbSAnQGFuZ3VsYXIvY29tbW9uJ1xuaW1wb3J0IHsgSW5qZWN0b3IsIE1vZHVsZVdpdGhQcm92aWRlcnMsIE5nTW9kdWxlLCBQTEFURk9STV9JRCB9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnXG5pbXBvcnQgeyBGaXJlYmFzZUFwcCwgRmlyZWJhc2VPcHRpb25zIH0gZnJvbSAnQGFuZ3VsYXIvZmlyZS9hcHAnXG5pbXBvcnQge1xuICBGaXJlc3RvcmUsXG4gIGdldEZpcmVzdG9yZSxcbiAgaW5pdGlhbGl6ZUZpcmVzdG9yZSxcbiAgbWVtb3J5TG9jYWxDYWNoZSxcbiAgcHJvdmlkZUZpcmVzdG9yZSxcbn0gZnJvbSAnQGFuZ3VsYXIvZmlyZS9maXJlc3RvcmUnXG5pbXBvcnQge1xuICBBeGlvc0VsYXN0aWNTZWFyY2hDb25maWcsXG4gIEJlYXV0eVByb2ZpbGVSZXBvc2l0b3J5LFxuICBCdXkyV2luRmlyZXN0b3JlUmVwb3NpdG9yeSxcbiAgQnV5MldpblJlcG9zaXRvcnksXG4gIENhbXBhaWduRGFzaGJvYXJkRmlyZXN0b3JlUmVwb3NpdG9yeSxcbiAgQ2FtcGFpZ25EYXNoYm9hcmRSZXBvc2l0b3J5LFxuICBDYW1wYWlnbkhhc2h0YWdGaXJlc3RvcmVSZXBvc2l0b3J5LFxuICBDYW1wYWlnbkhhc2h0YWdSZXBvc2l0b3J5LFxuICBDYXRlZ29yeUZpcmVzdG9yZVJlcG9zaXRvcnksXG4gIENhdGVnb3J5UmVwb3NpdG9yeSxcbiAgQ2hlY2tvdXRGaXJlc3RvcmVSZXBvc2l0b3J5LFxuICBDaGVja291dFJlcG9zaXRvcnksXG4gIENoZWNrb3V0U3Vic2NyaXB0aW9uRmlyZXN0b3JlUmVwb3NpdG9yeSxcbiAgQ2hlY2tvdXRTdWJzY3JpcHRpb25SZXBvc2l0b3J5LFxuICBDb3Vwb25GaXJlc3RvcmVSZXBvc2l0b3J5LFxuICBDb3Vwb25SZXBvc2l0b3J5LFxuICBFZGl0aW9uUmVwb3NpdG9yeSxcbiAgRmlyZXN0b3JlQ29uc3RydWN0b3JQYXJhbXMsXG4gIEZpcmVzdG9yZUludGVydGNlcHRvclJlcXVlc3RQYXJhbXMsXG4gIEhvbWVGaXJlc3RvcmVSZXBvc2l0b3J5LFxuICBIb21lUmVwb3NpdG9yeSxcbiAgTGVhZEZpcmVzdG9yZVJlcG9zaXRvcnksXG4gIExlYWRSZXBvc2l0b3J5LFxuICBMZWdhY3lPcmRlckZpcmVzdG9yZVJlcG9zaXRvcnksXG4gIExlZ2FjeU9yZGVyUmVwb3NpdG9yeSxcbiAgT3JkZXJGaXJlc3RvcmVSZXBvc2l0b3J5LFxuICBPcmRlclJlcG9zaXRvcnksXG4gIFBheW1lbnRGaXJlc3RvcmVSZXBvc2l0b3J5LFxuICBQYXltZW50UmVwb3NpdG9yeSxcbiAgUHJvZHVjdEZpcmVzdG9yZVJlcG9zaXRvcnksXG4gIFByb2R1Y3RSZXBvc2l0b3J5LFxuICBQcm9kdWN0VmFyaWFudEZpcmVzdG9yZVJlcG9zaXRvcnksXG4gIFNob3BNZW51RmlyZXN0b3JlUmVwb3NpdG9yeSxcbiAgU2hvcE1lbnVSZXBvc2l0b3J5LFxuICBTaG9wU2V0dGluZ3NGaXJlc3RvcmVSZXBvc2l0b3J5LFxuICBTaG9wU2V0dGluZ3NSZXBvc2l0b3J5LFxuICBTdWJzY3JpcHRpb25FZGl0aW9uRmlyZXN0b3JlUmVwb3NpdG9yeSxcbiAgU3Vic2NyaXB0aW9uRmlyZXN0b3JlUmVwb3NpdG9yeSxcbiAgU3Vic2NyaXB0aW9uUGF5bWVudEZpcmVzdG9yZVJlcG9zaXRvcnksXG4gIFN1YnNjcmlwdGlvblBheW1lbnRSZXBvc2l0b3J5LFxuICBTdWJzY3JpcHRpb25QbGFuRmlyZXN0b3JlUmVwb3NpdG9yeSxcbiAgU3Vic2NyaXB0aW9uUGxhblJlcG9zaXRvcnksXG4gIFN1YnNjcmlwdGlvblByb2R1Y3RGaXJlc3RvcmVSZXBvc2l0b3J5LFxuICBTdWJzY3JpcHRpb25Qcm9kdWN0UmVwb3NpdG9yeSxcbiAgU3Vic2NyaXB0aW9uUmVwb3NpdG9yeSxcbiAgVXNlckFkZHJlc3NGaXJlc3RvcmVSZXBvc2l0b3J5LFxuICBVc2VyQWRkcmVzc1JlcG9zaXRvcnksXG4gIFVzZXJCZWF1dHlQcm9maWxlRmlyZXN0b3JlUmVwb3NpdG9yeSxcbiAgVXNlckZpcmVzdG9yZVJlcG9zaXRvcnksXG4gIFVzZXJQYXltZW50TWV0aG9kRmlyZXN0b3JlUmVwb3NpdG9yeSxcbiAgVXNlclBheW1lbnRNZXRob2RSZXBvc2l0b3J5LFxuICBVc2VyUmVwb3NpdG9yeSxcbiAgVmFyaWFudFJlcG9zaXRvcnksXG59IGZyb20gJ0BpbmZyYWI0YS9jb25uZWN0J1xuXG5pbXBvcnQgeyBBbmd1bGFyRWxhc3RpY1NlYWNoTW9kdWxlIH0gZnJvbSAnLi9hbmd1bGFyLWVsYXN0aWMtc2VhcmNoLm1vZHVsZSdcbmltcG9ydCB7IEVTX0NPTkZJRywgRklSRUJBU0VfQVBQX05BTUUsIEZJUkVCQVNFX09QVElPTlMgfSBmcm9tICcuL2NvbnN0cydcbmltcG9ydCB7IE1vYmlsZU9wZXJhdGlvblN5c3RlbUNoZWNrZXJIZWxwZXIgfSBmcm9tICcuL2hlbHBlcnMnXG5pbXBvcnQgeyBGaXJlYmFzZUFwcENvbmZpZyB9IGZyb20gJy4vdHlwZXMnXG5cbmV4cG9ydCB0eXBlIEZpcmVzdG9yZU9wdGlvbnMgPSBQaWNrPEZpcmVzdG9yZUNvbnN0cnVjdG9yUGFyYW1zPGFueT4sICdmaXJlc3RvcmUnIHwgJ2ludGVyY2VwdG9ycyc+XG5cbkBOZ01vZHVsZSh7XG4gIGltcG9ydHM6IFtcbiAgICBBbmd1bGFyRWxhc3RpY1NlYWNoTW9kdWxlLFxuICAgIHByb3ZpZGVGaXJlc3RvcmUoKGluamVjdG9yOiBJbmplY3RvcikgPT4ge1xuICAgICAgY29uc3QgcGxhdGZvcm1JZCA9IGluamVjdG9yLmdldChQTEFURk9STV9JRClcblxuICAgICAgaWYgKGlzUGxhdGZvcm1TZXJ2ZXIocGxhdGZvcm1JZCkpIHJldHVybiBnZXRGaXJlc3RvcmUoaW5qZWN0b3IuZ2V0KEZpcmViYXNlQXBwKSlcbiAgICAgIGlmICghTW9iaWxlT3BlcmF0aW9uU3lzdGVtQ2hlY2tlckhlbHBlci5pc0FwcGxlRGV2aWNlKCkpIHJldHVybiBnZXRGaXJlc3RvcmUoaW5qZWN0b3IuZ2V0KEZpcmViYXNlQXBwKSlcblxuICAgICAgY29uc3QgZmlyZXN0b3JlID0gaW5pdGlhbGl6ZUZpcmVzdG9yZShpbmplY3Rvci5nZXQoRmlyZWJhc2VBcHApLCB7XG4gICAgICAgIGV4cGVyaW1lbnRhbEZvcmNlTG9uZ1BvbGxpbmc6IHRydWUsXG4gICAgICAgIGxvY2FsQ2FjaGU6IG1lbW9yeUxvY2FsQ2FjaGUoKSxcbiAgICAgIH0pXG5cbiAgICAgIHJldHVybiBmaXJlc3RvcmVcbiAgICB9KSxcbiAgXSxcbiAgcHJvdmlkZXJzOiBbXG4gICAge1xuICAgICAgcHJvdmlkZTogJ0ZpcmVzdG9yZU9wdGlvbnMnLFxuICAgICAgdXNlRmFjdG9yeTogKGZpcmVzdG9yZTogRmlyZXN0b3JlLCBwbGF0Zm9ybUlkOiBzdHJpbmcpOiBGaXJlc3RvcmVPcHRpb25zID0+ICh7XG4gICAgICAgIGZpcmVzdG9yZSxcbiAgICAgICAgaW50ZXJjZXB0b3JzOiB7XG4gICAgICAgICAgcmVxdWVzdDogKHJlcXVlc3Q6IEZpcmVzdG9yZUludGVydGNlcHRvclJlcXVlc3RQYXJhbXM8YW55PiAmIHsgaW50ZXJ2YWw6IE5vZGVKUy5UaW1lb3V0IH0pID0+IHtcbiAgICAgICAgICAgIGlmIChpc1BsYXRmb3JtQnJvd3NlcihwbGF0Zm9ybUlkKSkgcmV0dXJuIHJlcXVlc3RcblxuICAgICAgICAgICAgY29uc3QgaW50ZXJ2YWwgPSBzZXRJbnRlcnZhbCgoKSA9PiB7fSwgMTAwKVxuXG4gICAgICAgICAgICByZXF1ZXN0LmludGVydmFsID0gaW50ZXJ2YWxcblxuICAgICAgICAgICAgcmV0dXJuIHJlcXVlc3RcbiAgICAgICAgICB9LFxuICAgICAgICAgIHJlc3BvbnNlOiAoXG4gICAgICAgICAgICByZXNwb25zZTogYW55LFxuICAgICAgICAgICAgcmVxdWVzdDogRmlyZXN0b3JlSW50ZXJ0Y2VwdG9yUmVxdWVzdFBhcmFtczxhbnk+ICYgeyBpbnRlcnZhbDogTm9kZUpTLlRpbWVvdXQgfSxcbiAgICAgICAgICApID0+IHtcbiAgICAgICAgICAgIGlmIChpc1BsYXRmb3JtQnJvd3NlcihwbGF0Zm9ybUlkKSkgcmV0dXJuIHJlc3BvbnNlXG5cbiAgICAgICAgICAgIGNsZWFySW50ZXJ2YWwocmVxdWVzdC5pbnRlcnZhbClcblxuICAgICAgICAgICAgcmV0dXJuIHJlc3BvbnNlXG4gICAgICAgICAgfSxcbiAgICAgICAgfSxcbiAgICAgIH0pLFxuICAgICAgZGVwczogW0ZpcmVzdG9yZSwgUExBVEZPUk1fSURdLFxuICAgIH0sXG4gICAge1xuICAgICAgcHJvdmlkZTogJ0JlYXV0eVByb2ZpbGVSZXBvc2l0b3J5JyxcbiAgICAgIHVzZUZhY3Rvcnk6IChjb25maWc6IEZpcmVzdG9yZU9wdGlvbnMsIHVzZXJSZXBvc2l0b3J5OiBVc2VyRmlyZXN0b3JlUmVwb3NpdG9yeSk6IEJlYXV0eVByb2ZpbGVSZXBvc2l0b3J5ID0+IHtcbiAgICAgICAgcmV0dXJuIG5ldyBVc2VyQmVhdXR5UHJvZmlsZUZpcmVzdG9yZVJlcG9zaXRvcnkoY29uZmlnLCB1c2VyUmVwb3NpdG9yeSlcbiAgICAgIH0sXG4gICAgICBkZXBzOiBbJ0ZpcmVzdG9yZU9wdGlvbnMnLCAnVXNlclJlcG9zaXRvcnknXSxcbiAgICB9LFxuICAgIHtcbiAgICAgIHByb3ZpZGU6ICdCdXkyV2luUmVwb3NpdG9yeScsXG4gICAgICB1c2VGYWN0b3J5OiAob3B0aW9uczogRmlyZXN0b3JlT3B0aW9ucyk6IEJ1eTJXaW5SZXBvc2l0b3J5ID0+IHtcbiAgICAgICAgcmV0dXJuIG5ldyBCdXkyV2luRmlyZXN0b3JlUmVwb3NpdG9yeShvcHRpb25zKVxuICAgICAgfSxcbiAgICAgIGRlcHM6IFsnRmlyZXN0b3JlT3B0aW9ucyddLFxuICAgIH0sXG4gICAge1xuICAgICAgcHJvdmlkZTogQ2F0ZWdvcnlGaXJlc3RvcmVSZXBvc2l0b3J5LFxuICAgICAgdXNlRmFjdG9yeTogKG9wdGlvbnM6IEZpcmVzdG9yZU9wdGlvbnMpOiBDYXRlZ29yeVJlcG9zaXRvcnkgPT4ge1xuICAgICAgICByZXR1cm4gbmV3IENhdGVnb3J5RmlyZXN0b3JlUmVwb3NpdG9yeShvcHRpb25zKVxuICAgICAgfSxcbiAgICAgIGRlcHM6IFsnRmlyZXN0b3JlT3B0aW9ucyddLFxuICAgIH0sXG4gICAge1xuICAgICAgcHJvdmlkZTogJ0NoZWNrb3V0UmVwb3NpdG9yeScsXG4gICAgICB1c2VGYWN0b3J5OiAob3B0aW9uczogRmlyZXN0b3JlT3B0aW9ucyk6IENoZWNrb3V0UmVwb3NpdG9yeSA9PiB7XG4gICAgICAgIHJldHVybiBuZXcgQ2hlY2tvdXRGaXJlc3RvcmVSZXBvc2l0b3J5KG9wdGlvbnMpXG4gICAgICB9LFxuICAgICAgZGVwczogWydGaXJlc3RvcmVPcHRpb25zJ10sXG4gICAgfSxcbiAgICB7XG4gICAgICBwcm92aWRlOiAnQ2hlY2tvdXRTdWJzY3JpcHRpb25SZXBvc2l0b3J5JyxcbiAgICAgIHVzZUZhY3Rvcnk6IChvcHRpb25zOiBGaXJlc3RvcmVPcHRpb25zKTogQ2hlY2tvdXRTdWJzY3JpcHRpb25SZXBvc2l0b3J5ID0+IHtcbiAgICAgICAgcmV0dXJuIG5ldyBDaGVja291dFN1YnNjcmlwdGlvbkZpcmVzdG9yZVJlcG9zaXRvcnkob3B0aW9ucylcbiAgICAgIH0sXG4gICAgICBkZXBzOiBbJ0ZpcmVzdG9yZU9wdGlvbnMnXSxcbiAgICB9LFxuICAgIHtcbiAgICAgIHByb3ZpZGU6ICdDb3Vwb25SZXBvc2l0b3J5JyxcbiAgICAgIHVzZUZhY3Rvcnk6IChvcHRpb25zOiBGaXJlc3RvcmVPcHRpb25zKTogQ291cG9uUmVwb3NpdG9yeSA9PiB7XG4gICAgICAgIHJldHVybiBuZXcgQ291cG9uRmlyZXN0b3JlUmVwb3NpdG9yeShvcHRpb25zKVxuICAgICAgfSxcbiAgICAgIGRlcHM6IFsnRmlyZXN0b3JlT3B0aW9ucyddLFxuICAgIH0sXG4gICAge1xuICAgICAgcHJvdmlkZTogJ0NhbXBhaWduSGFzaHRhZ1JlcG9zaXRvcnknLFxuICAgICAgdXNlRmFjdG9yeTogKG9wdGlvbnM6IEZpcmVzdG9yZU9wdGlvbnMpOiBDYW1wYWlnbkhhc2h0YWdSZXBvc2l0b3J5ID0+IHtcbiAgICAgICAgcmV0dXJuIG5ldyBDYW1wYWlnbkhhc2h0YWdGaXJlc3RvcmVSZXBvc2l0b3J5KG9wdGlvbnMpXG4gICAgICB9LFxuICAgICAgZGVwczogWydGaXJlc3RvcmVPcHRpb25zJ10sXG4gICAgfSxcbiAgICB7XG4gICAgICBwcm92aWRlOiAnQ2FtcGFpZ25EYXNoYm9hcmRSZXBvc2l0b3J5JyxcbiAgICAgIHVzZUZhY3Rvcnk6IChvcHRpb25zOiBGaXJlc3RvcmVPcHRpb25zKTogQ2FtcGFpZ25EYXNoYm9hcmRSZXBvc2l0b3J5ID0+IHtcbiAgICAgICAgcmV0dXJuIG5ldyBDYW1wYWlnbkRhc2hib2FyZEZpcmVzdG9yZVJlcG9zaXRvcnkob3B0aW9ucylcbiAgICAgIH0sXG4gICAgICBkZXBzOiBbJ0ZpcmVzdG9yZU9wdGlvbnMnXSxcbiAgICB9LFxuICAgIHtcbiAgICAgIHByb3ZpZGU6ICdFZGl0aW9uUmVwb3NpdG9yeScsXG4gICAgICB1c2VGYWN0b3J5OiAoXG4gICAgICAgIG9wdGlvbnM6IEZpcmVzdG9yZU9wdGlvbnMsXG4gICAgICAgIHN1YnNjcmlwdGlvblJlcG9zaXRvcnk6IFN1YnNjcmlwdGlvbkZpcmVzdG9yZVJlcG9zaXRvcnksXG4gICAgICApOiBFZGl0aW9uUmVwb3NpdG9yeSA9PiB7XG4gICAgICAgIHJldHVybiBuZXcgU3Vic2NyaXB0aW9uRWRpdGlvbkZpcmVzdG9yZVJlcG9zaXRvcnkob3B0aW9ucywgc3Vic2NyaXB0aW9uUmVwb3NpdG9yeSlcbiAgICAgIH0sXG4gICAgICBkZXBzOiBbJ0ZpcmVzdG9yZU9wdGlvbnMnLCAnU3Vic2NyaXB0aW9uUmVwb3NpdG9yeSddLFxuICAgIH0sXG4gICAge1xuICAgICAgcHJvdmlkZTogJ0hvbWVSZXBvc2l0b3J5JyxcbiAgICAgIHVzZUZhY3Rvcnk6IChvcHRpb25zOiBGaXJlc3RvcmVPcHRpb25zKTogSG9tZVJlcG9zaXRvcnkgPT4ge1xuICAgICAgICByZXR1cm4gbmV3IEhvbWVGaXJlc3RvcmVSZXBvc2l0b3J5KG9wdGlvbnMpXG4gICAgICB9LFxuICAgICAgZGVwczogWydGaXJlc3RvcmVPcHRpb25zJ10sXG4gICAgfSxcbiAgICB7XG4gICAgICBwcm92aWRlOiAnTGVhZFJlcG9zaXRvcnknLFxuICAgICAgdXNlRmFjdG9yeTogKG9wdGlvbnM6IEZpcmVzdG9yZU9wdGlvbnMpOiBMZWFkUmVwb3NpdG9yeSA9PiB7XG4gICAgICAgIHJldHVybiBuZXcgTGVhZEZpcmVzdG9yZVJlcG9zaXRvcnkob3B0aW9ucylcbiAgICAgIH0sXG4gICAgICBkZXBzOiBbJ0ZpcmVzdG9yZU9wdGlvbnMnXSxcbiAgICB9LFxuICAgIHtcbiAgICAgIHByb3ZpZGU6ICdMZWdhY3lPcmRlclJlcG9zaXRvcnknLFxuICAgICAgdXNlRmFjdG9yeTogKG9wdGlvbnM6IEZpcmVzdG9yZU9wdGlvbnMpOiBMZWdhY3lPcmRlclJlcG9zaXRvcnkgPT4ge1xuICAgICAgICByZXR1cm4gbmV3IExlZ2FjeU9yZGVyRmlyZXN0b3JlUmVwb3NpdG9yeShvcHRpb25zKVxuICAgICAgfSxcbiAgICAgIGRlcHM6IFsnRmlyZXN0b3JlT3B0aW9ucyddLFxuICAgIH0sXG4gICAge1xuICAgICAgcHJvdmlkZTogJ1Nob3BNZW51UmVwb3NpdG9yeScsXG4gICAgICB1c2VGYWN0b3J5OiAob3B0aW9uczogRmlyZXN0b3JlT3B0aW9ucyk6IFNob3BNZW51UmVwb3NpdG9yeSA9PiB7XG4gICAgICAgIHJldHVybiBuZXcgU2hvcE1lbnVGaXJlc3RvcmVSZXBvc2l0b3J5KG9wdGlvbnMpXG4gICAgICB9LFxuICAgICAgZGVwczogWydGaXJlc3RvcmVPcHRpb25zJ10sXG4gICAgfSxcbiAgICB7XG4gICAgICBwcm92aWRlOiAnT3JkZXJSZXBvc2l0b3J5JyxcbiAgICAgIHVzZUZhY3Rvcnk6IChvcHRpb25zOiBGaXJlc3RvcmVPcHRpb25zKTogT3JkZXJSZXBvc2l0b3J5ID0+IHtcbiAgICAgICAgcmV0dXJuIG5ldyBPcmRlckZpcmVzdG9yZVJlcG9zaXRvcnkob3B0aW9ucylcbiAgICAgIH0sXG4gICAgICBkZXBzOiBbJ0ZpcmVzdG9yZU9wdGlvbnMnXSxcbiAgICB9LFxuICAgIHtcbiAgICAgIHByb3ZpZGU6ICdQYXltZW50UmVwb3NpdG9yeScsXG4gICAgICB1c2VGYWN0b3J5OiAob3B0aW9uczogRmlyZXN0b3JlT3B0aW9ucyk6IFBheW1lbnRSZXBvc2l0b3J5ID0+IHtcbiAgICAgICAgcmV0dXJuIG5ldyBQYXltZW50RmlyZXN0b3JlUmVwb3NpdG9yeShvcHRpb25zKVxuICAgICAgfSxcbiAgICAgIGRlcHM6IFsnRmlyZXN0b3JlT3B0aW9ucyddLFxuICAgIH0sXG4gICAge1xuICAgICAgcHJvdmlkZTogUHJvZHVjdEZpcmVzdG9yZVJlcG9zaXRvcnksXG4gICAgICB1c2VGYWN0b3J5OiAob3B0aW9uczogRmlyZXN0b3JlT3B0aW9ucyk6IFByb2R1Y3RSZXBvc2l0b3J5ID0+IHtcbiAgICAgICAgcmV0dXJuIG5ldyBQcm9kdWN0RmlyZXN0b3JlUmVwb3NpdG9yeShvcHRpb25zKVxuICAgICAgfSxcbiAgICAgIGRlcHM6IFsnRmlyZXN0b3JlT3B0aW9ucyddLFxuICAgIH0sXG4gICAge1xuICAgICAgcHJvdmlkZTogJ1Nob3BTZXR0aW5nc1JlcG9zaXRvcnknLFxuICAgICAgdXNlRmFjdG9yeTogKG9wdGlvbnM6IEZpcmVzdG9yZU9wdGlvbnMpOiBTaG9wU2V0dGluZ3NSZXBvc2l0b3J5ID0+IHtcbiAgICAgICAgcmV0dXJuIG5ldyBTaG9wU2V0dGluZ3NGaXJlc3RvcmVSZXBvc2l0b3J5KG9wdGlvbnMpXG4gICAgICB9LFxuICAgICAgZGVwczogWydGaXJlc3RvcmVPcHRpb25zJ10sXG4gICAgfSxcbiAgICB7XG4gICAgICBwcm92aWRlOiAnU3Vic2NyaXB0aW9uUGF5bWVudFJlcG9zaXRvcnknLFxuICAgICAgdXNlRmFjdG9yeTogKFxuICAgICAgICBvcHRpb25zOiBGaXJlc3RvcmVPcHRpb25zLFxuICAgICAgICBzdWJzY3JpcHRpb25SZXBvc2l0b3J5OiBTdWJzY3JpcHRpb25GaXJlc3RvcmVSZXBvc2l0b3J5LFxuICAgICAgKTogU3Vic2NyaXB0aW9uUGF5bWVudFJlcG9zaXRvcnkgPT4ge1xuICAgICAgICByZXR1cm4gbmV3IFN1YnNjcmlwdGlvblBheW1lbnRGaXJlc3RvcmVSZXBvc2l0b3J5KG9wdGlvbnMsIHN1YnNjcmlwdGlvblJlcG9zaXRvcnkpXG4gICAgICB9LFxuICAgICAgZGVwczogWydGaXJlc3RvcmVPcHRpb25zJywgJ1N1YnNjcmlwdGlvblJlcG9zaXRvcnknXSxcbiAgICB9LFxuICAgIHtcbiAgICAgIHByb3ZpZGU6ICdTdWJzY3JpcHRpb25QbGFuUmVwb3NpdG9yeScsXG4gICAgICB1c2VGYWN0b3J5OiAob3B0aW9uczogRmlyZXN0b3JlT3B0aW9ucyk6IFN1YnNjcmlwdGlvblBsYW5SZXBvc2l0b3J5ID0+IHtcbiAgICAgICAgcmV0dXJuIG5ldyBTdWJzY3JpcHRpb25QbGFuRmlyZXN0b3JlUmVwb3NpdG9yeShvcHRpb25zKVxuICAgICAgfSxcbiAgICAgIGRlcHM6IFsnRmlyZXN0b3JlT3B0aW9ucyddLFxuICAgIH0sXG4gICAge1xuICAgICAgcHJvdmlkZTogJ1N1YnNjcmlwdGlvblByb2R1Y3RSZXBvc2l0b3J5JyxcbiAgICAgIHVzZUZhY3Rvcnk6IChvcHRpb25zOiBGaXJlc3RvcmVPcHRpb25zKTogU3Vic2NyaXB0aW9uUHJvZHVjdFJlcG9zaXRvcnkgPT4ge1xuICAgICAgICByZXR1cm4gbmV3IFN1YnNjcmlwdGlvblByb2R1Y3RGaXJlc3RvcmVSZXBvc2l0b3J5KG9wdGlvbnMpXG4gICAgICB9LFxuICAgICAgZGVwczogWydGaXJlc3RvcmVPcHRpb25zJ10sXG4gICAgfSxcbiAgICB7XG4gICAgICBwcm92aWRlOiAnU3Vic2NyaXB0aW9uUmVwb3NpdG9yeScsXG4gICAgICB1c2VGYWN0b3J5OiAob3B0aW9uczogRmlyZXN0b3JlT3B0aW9ucyk6IFN1YnNjcmlwdGlvblJlcG9zaXRvcnkgPT4ge1xuICAgICAgICByZXR1cm4gbmV3IFN1YnNjcmlwdGlvbkZpcmVzdG9yZVJlcG9zaXRvcnkob3B0aW9ucylcbiAgICAgIH0sXG4gICAgICBkZXBzOiBbJ0ZpcmVzdG9yZU9wdGlvbnMnXSxcbiAgICB9LFxuICAgIHtcbiAgICAgIHByb3ZpZGU6ICdVc2VyUmVwb3NpdG9yeScsXG4gICAgICB1c2VGYWN0b3J5OiAob3B0aW9uczogRmlyZXN0b3JlT3B0aW9ucyk6IFVzZXJSZXBvc2l0b3J5ID0+IHtcbiAgICAgICAgcmV0dXJuIG5ldyBVc2VyRmlyZXN0b3JlUmVwb3NpdG9yeShvcHRpb25zKVxuICAgICAgfSxcbiAgICAgIGRlcHM6IFsnRmlyZXN0b3JlT3B0aW9ucyddLFxuICAgIH0sXG4gICAge1xuICAgICAgcHJvdmlkZTogJ1VzZXJBZGRyZXNzUmVwb3NpdG9yeScsXG4gICAgICB1c2VGYWN0b3J5OiAob3B0aW9uczogRmlyZXN0b3JlT3B0aW9ucywgdXNlclJlcG9zaXRvcnk6IFVzZXJGaXJlc3RvcmVSZXBvc2l0b3J5KTogVXNlckFkZHJlc3NSZXBvc2l0b3J5ID0+IHtcbiAgICAgICAgcmV0dXJuIG5ldyBVc2VyQWRkcmVzc0ZpcmVzdG9yZVJlcG9zaXRvcnkob3B0aW9ucywgdXNlclJlcG9zaXRvcnkpXG4gICAgICB9LFxuICAgICAgZGVwczogWydGaXJlc3RvcmVPcHRpb25zJywgJ1VzZXJSZXBvc2l0b3J5J10sXG4gICAgfSxcbiAgICB7XG4gICAgICBwcm92aWRlOiAnVXNlclBheW1lbnRNZXRob2RSZXBvc2l0b3J5JyxcbiAgICAgIHVzZUZhY3Rvcnk6IChvcHRpb25zOiBGaXJlc3RvcmVPcHRpb25zLCB1c2VyUmVwb3NpdG9yeTogVXNlckZpcmVzdG9yZVJlcG9zaXRvcnkpOiBVc2VyUGF5bWVudE1ldGhvZFJlcG9zaXRvcnkgPT4ge1xuICAgICAgICByZXR1cm4gbmV3IFVzZXJQYXltZW50TWV0aG9kRmlyZXN0b3JlUmVwb3NpdG9yeShvcHRpb25zLCB1c2VyUmVwb3NpdG9yeSlcbiAgICAgIH0sXG4gICAgICBkZXBzOiBbJ0ZpcmVzdG9yZU9wdGlvbnMnLCAnVXNlclJlcG9zaXRvcnknXSxcbiAgICB9LFxuICAgIHtcbiAgICAgIHByb3ZpZGU6IFByb2R1Y3RWYXJpYW50RmlyZXN0b3JlUmVwb3NpdG9yeSxcbiAgICAgIHVzZUZhY3Rvcnk6IChvcHRpb25zOiBGaXJlc3RvcmVPcHRpb25zLCBwcm9kdWN0UmVwb3NpdG9yeTogUHJvZHVjdEZpcmVzdG9yZVJlcG9zaXRvcnkpOiBWYXJpYW50UmVwb3NpdG9yeSA9PiB7XG4gICAgICAgIHJldHVybiBuZXcgUHJvZHVjdFZhcmlhbnRGaXJlc3RvcmVSZXBvc2l0b3J5KG9wdGlvbnMsIHByb2R1Y3RSZXBvc2l0b3J5KVxuICAgICAgfSxcbiAgICAgIGRlcHM6IFsnRmlyZXN0b3JlT3B0aW9ucycsIFByb2R1Y3RGaXJlc3RvcmVSZXBvc2l0b3J5XSxcbiAgICB9LFxuICBdLFxufSlcbmV4cG9ydCBjbGFzcyBBbmd1bGFyRmlyZXN0b3JlTW9kdWxlIHtcbiAgc3RhdGljIGluaXRpYWxpemVBcHAoXG4gICAgb3B0aW9uczoge1xuICAgICAgZmlyZWJhc2U6IEZpcmViYXNlT3B0aW9uc1xuICAgICAgZWxhc3RpY1NlYXJjaDogQXhpb3NFbGFzdGljU2VhcmNoQ29uZmlnXG4gICAgfSxcbiAgICBuYW1lT3JDb25maWc/OiBzdHJpbmcgfCBGaXJlYmFzZUFwcENvbmZpZyxcbiAgKTogTW9kdWxlV2l0aFByb3ZpZGVyczxBbmd1bGFyRmlyZXN0b3JlTW9kdWxlPiB7XG4gICAgcmV0dXJuIHtcbiAgICAgIG5nTW9kdWxlOiBBbmd1bGFyRmlyZXN0b3JlTW9kdWxlLFxuICAgICAgcHJvdmlkZXJzOiBbXG4gICAgICAgIHsgcHJvdmlkZTogRklSRUJBU0VfT1BUSU9OUywgdXNlVmFsdWU6IG9wdGlvbnMuZmlyZWJhc2UgfSxcbiAgICAgICAgeyBwcm92aWRlOiBGSVJFQkFTRV9BUFBfTkFNRSwgdXNlVmFsdWU6IG5hbWVPckNvbmZpZyB9LFxuICAgICAgICB7IHByb3ZpZGU6IEVTX0NPTkZJRywgdXNlVmFsdWU6IG9wdGlvbnMuZWxhc3RpY1NlYXJjaCB9LFxuICAgICAgXSxcbiAgICB9XG4gIH1cbn1cbiJdfQ==
|