angulartics2 12.2.0 → 13.0.0
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/README.md +1 -0
- package/angulartics2On.d.ts +1 -1
- package/esm2020/angular-router.mjs +3 -3
- package/esm2020/angulartics2-core.mjs +3 -3
- package/esm2020/angulartics2.module.mjs +5 -5
- package/esm2020/angulartics2On.mjs +7 -7
- package/esm2020/providers/adobeanalytics/adobeanalytics.mjs +3 -3
- package/esm2020/providers/amplitude/amplitude.mjs +3 -3
- package/esm2020/providers/appinsights/appinsights.mjs +3 -3
- package/esm2020/providers/baidu/baidu.mjs +3 -3
- package/esm2020/providers/clicky/clicky.mjs +3 -3
- package/esm2020/providers/facebook/facebook.mjs +3 -3
- package/esm2020/providers/ga/ga.mjs +3 -3
- package/esm2020/providers/ga-enhanced-ecom/ga-enhanced-ecom.mjs +3 -3
- package/esm2020/providers/gosquared/gosquared.mjs +3 -3
- package/esm2020/providers/gst/gst.mjs +3 -3
- package/esm2020/providers/gtm/gtm.mjs +3 -3
- package/esm2020/providers/hubspot/hubspot.mjs +3 -3
- package/esm2020/providers/ibm-digital-analytics/ibm-digital-analytics.mjs +3 -3
- package/esm2020/providers/intercom/intercom.mjs +3 -3
- package/esm2020/providers/kissmetrics/kissmetrics.mjs +3 -3
- package/esm2020/providers/launch/launch.mjs +3 -3
- package/esm2020/providers/matomo/matomo.mjs +4 -4
- package/esm2020/providers/mixpanel/mixpanel.mjs +3 -3
- package/esm2020/providers/pyze/pyze.mjs +3 -3
- package/esm2020/providers/segment/segment.mjs +3 -3
- package/esm2020/providers/splunk/splunk.mjs +3 -3
- package/esm2020/providers/woopra/woopra.mjs +3 -3
- package/esm2020/routerless.module.mjs +5 -5
- package/fesm2015/angulartics2.mjs +87 -87
- package/fesm2015/angulartics2.mjs.map +1 -1
- package/fesm2020/angulartics2.mjs +87 -87
- package/fesm2020/angulartics2.mjs.map +1 -1
- package/package.json +6 -7
- package/providers/matomo/matomo.d.ts +9 -4
- /package/{angulartics2.d.ts → index.d.ts} +0 -0
package/README.md
CHANGED
@@ -282,6 +282,7 @@ System.config({
|
|
282
282
|
* [Hubspot](/src/lib/providers/hubspot)
|
283
283
|
* [Adobe Analytics (Omniture)](/src/lib/providers/adobeanalytics)
|
284
284
|
* [Launch, by Adobe](src/lib/providers/launch) (works with DTM, too)
|
285
|
+
* [Incendium](/src/lib/providers/incendium)
|
285
286
|
* [Intercom](/src/lib/providers/intercom)
|
286
287
|
* [Woopra](/src/lib/providers/woopra)
|
287
288
|
* [Clicky](/src/lib/providers/clicky)
|
package/angulartics2On.d.ts
CHANGED
@@ -15,7 +15,7 @@ export declare class Angulartics2On implements AfterContentInit {
|
|
15
15
|
ngAfterContentInit(): void;
|
16
16
|
eventTrack(event: Event): void;
|
17
17
|
static ɵfac: i0.ɵɵFactoryDeclaration<Angulartics2On, never>;
|
18
|
-
static ɵdir: i0.ɵɵDirectiveDeclaration<Angulartics2On, "[angulartics2On]", never, { "angulartics2On": "angulartics2On"; "angularticsAction": "angularticsAction"; "angularticsCategory": "angularticsCategory"; "angularticsLabel": "angularticsLabel"; "angularticsValue": "angularticsValue"; "angularticsProperties": "angularticsProperties"; }, {}, never>;
|
18
|
+
static ɵdir: i0.ɵɵDirectiveDeclaration<Angulartics2On, "[angulartics2On]", never, { "angulartics2On": "angulartics2On"; "angularticsAction": "angularticsAction"; "angularticsCategory": "angularticsCategory"; "angularticsLabel": "angularticsLabel"; "angularticsValue": "angularticsValue"; "angularticsProperties": "angularticsProperties"; }, {}, never, never, false>;
|
19
19
|
}
|
20
20
|
export declare class Angulartics2OnModule {
|
21
21
|
static ɵfac: i0.ɵɵFactoryDeclaration<Angulartics2OnModule, never>;
|
@@ -24,9 +24,9 @@ export class AngularRouterTracking {
|
|
24
24
|
return this.location.prepareExternalUrl(url);
|
25
25
|
}
|
26
26
|
}
|
27
|
-
AngularRouterTracking.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "
|
28
|
-
AngularRouterTracking.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "
|
29
|
-
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "
|
27
|
+
AngularRouterTracking.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "14.3.0", ngImport: i0, type: AngularRouterTracking, deps: [{ token: i1.Router }, { token: i2.Location }], target: i0.ɵɵFactoryTarget.Injectable });
|
28
|
+
AngularRouterTracking.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "14.3.0", ngImport: i0, type: AngularRouterTracking, providedIn: 'root' });
|
29
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "14.3.0", ngImport: i0, type: AngularRouterTracking, decorators: [{
|
30
30
|
type: Injectable,
|
31
31
|
args: [{ providedIn: 'root' }]
|
32
32
|
}], ctorParameters: function () { return [{ type: i1.Router }, { type: i2.Location }]; } });
|
@@ -81,9 +81,9 @@ export class Angulartics2 {
|
|
81
81
|
return url;
|
82
82
|
}
|
83
83
|
}
|
84
|
-
Angulartics2.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "
|
85
|
-
Angulartics2.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "
|
86
|
-
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "
|
84
|
+
Angulartics2.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "14.3.0", ngImport: i0, type: Angulartics2, deps: [{ token: i1.RouterlessTracking }, { token: ANGULARTICS2_TOKEN }], target: i0.ɵɵFactoryTarget.Injectable });
|
85
|
+
Angulartics2.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "14.3.0", ngImport: i0, type: Angulartics2, providedIn: 'root' });
|
86
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "14.3.0", ngImport: i0, type: Angulartics2, decorators: [{
|
87
87
|
type: Injectable,
|
88
88
|
args: [{ providedIn: 'root' }]
|
89
89
|
}], ctorParameters: function () { return [{ type: i1.RouterlessTracking }, { type: undefined, decorators: [{
|
@@ -17,14 +17,14 @@ export class Angulartics2Module {
|
|
17
17
|
};
|
18
18
|
}
|
19
19
|
}
|
20
|
-
Angulartics2Module.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "
|
21
|
-
Angulartics2Module.ɵmod = i0.ɵɵngDeclareNgModule({ minVersion: "
|
22
|
-
Angulartics2Module.ɵinj = i0.ɵɵngDeclareInjector({ minVersion: "12.0.0", version: "
|
23
|
-
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "
|
20
|
+
Angulartics2Module.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "14.3.0", ngImport: i0, type: Angulartics2Module, deps: [], target: i0.ɵɵFactoryTarget.NgModule });
|
21
|
+
Angulartics2Module.ɵmod = i0.ɵɵngDeclareNgModule({ minVersion: "14.0.0", version: "14.3.0", ngImport: i0, type: Angulartics2Module, imports: [Angulartics2OnModule], exports: [Angulartics2On] });
|
22
|
+
Angulartics2Module.ɵinj = i0.ɵɵngDeclareInjector({ minVersion: "12.0.0", version: "14.3.0", ngImport: i0, type: Angulartics2Module, imports: [Angulartics2OnModule] });
|
23
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "14.3.0", ngImport: i0, type: Angulartics2Module, decorators: [{
|
24
24
|
type: NgModule,
|
25
25
|
args: [{
|
26
26
|
imports: [Angulartics2OnModule],
|
27
27
|
exports: [Angulartics2On],
|
28
28
|
}]
|
29
29
|
}] });
|
30
|
-
//# sourceMappingURL=data:application/json;base64,
|
30
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiYW5ndWxhcnRpY3MyLm1vZHVsZS5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uL3NyYy9saWIvYW5ndWxhcnRpY3MyLm1vZHVsZS50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQXVCLFFBQVEsRUFBRSxNQUFNLGVBQWUsQ0FBQztBQUU5RCxPQUFPLEVBQUUscUJBQXFCLEVBQUUsTUFBTSxrQkFBa0IsQ0FBQztBQUV6RCxPQUFPLEVBQUUsWUFBWSxFQUFFLE1BQU0scUJBQXFCLENBQUM7QUFDbkQsT0FBTyxFQUFFLGtCQUFrQixFQUFFLE1BQU0sc0JBQXNCLENBQUM7QUFDMUQsT0FBTyxFQUFFLGNBQWMsRUFBRSxvQkFBb0IsRUFBRSxNQUFNLGtCQUFrQixDQUFDO0FBQ3hFLE9BQU8sRUFBRSxrQkFBa0IsRUFBRSxNQUFNLGNBQWMsQ0FBQzs7QUFNbEQsTUFBTSxPQUFPLGtCQUFrQjtJQUM3QixNQUFNLENBQUMsT0FBTyxDQUNaLFdBQTBDLEVBQUU7UUFFNUMsT0FBTztZQUNMLFFBQVEsRUFBRSxrQkFBa0I7WUFDNUIsU0FBUyxFQUFFO2dCQUNULEVBQUUsT0FBTyxFQUFFLGtCQUFrQixFQUFFLFFBQVEsRUFBRSxFQUFFLFFBQVEsRUFBRSxFQUFFO2dCQUN2RCxFQUFFLE9BQU8sRUFBRSxrQkFBa0IsRUFBRSxRQUFRLEVBQUUscUJBQXFCLEVBQUU7Z0JBQ2hFLFlBQVk7YUFDYjtTQUNGLENBQUM7SUFDSixDQUFDOzsrR0FaVSxrQkFBa0I7Z0hBQWxCLGtCQUFrQixZQUhuQixvQkFBb0IsYUFDcEIsY0FBYztnSEFFYixrQkFBa0IsWUFIbkIsb0JBQW9COzJGQUduQixrQkFBa0I7a0JBSjlCLFFBQVE7bUJBQUM7b0JBQ1IsT0FBTyxFQUFFLENBQUMsb0JBQW9CLENBQUM7b0JBQy9CLE9BQU8sRUFBRSxDQUFDLGNBQWMsQ0FBQztpQkFDMUIiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBNb2R1bGVXaXRoUHJvdmlkZXJzLCBOZ01vZHVsZSB9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xuXG5pbXBvcnQgeyBBbmd1bGFyUm91dGVyVHJhY2tpbmcgfSBmcm9tICcuL2FuZ3VsYXItcm91dGVyJztcbmltcG9ydCB7IEFuZ3VsYXJ0aWNzMlNldHRpbmdzIH0gZnJvbSAnLi9hbmd1bGFydGljczItY29uZmlnJztcbmltcG9ydCB7IEFuZ3VsYXJ0aWNzMiB9IGZyb20gJy4vYW5ndWxhcnRpY3MyLWNvcmUnO1xuaW1wb3J0IHsgQU5HVUxBUlRJQ1MyX1RPS0VOIH0gZnJvbSAnLi9hbmd1bGFydGljczItdG9rZW4nO1xuaW1wb3J0IHsgQW5ndWxhcnRpY3MyT24sIEFuZ3VsYXJ0aWNzMk9uTW9kdWxlIH0gZnJvbSAnLi9hbmd1bGFydGljczJPbic7XG5pbXBvcnQgeyBSb3V0ZXJsZXNzVHJhY2tpbmcgfSBmcm9tICcuL3JvdXRlcmxlc3MnO1xuXG5ATmdNb2R1bGUoe1xuICBpbXBvcnRzOiBbQW5ndWxhcnRpY3MyT25Nb2R1bGVdLFxuICBleHBvcnRzOiBbQW5ndWxhcnRpY3MyT25dLFxufSlcbmV4cG9ydCBjbGFzcyBBbmd1bGFydGljczJNb2R1bGUge1xuICBzdGF0aWMgZm9yUm9vdChcbiAgICBzZXR0aW5nczogUGFydGlhbDxBbmd1bGFydGljczJTZXR0aW5ncz4gPSB7fSxcbiAgKTogTW9kdWxlV2l0aFByb3ZpZGVyczxBbmd1bGFydGljczJNb2R1bGU+IHtcbiAgICByZXR1cm4ge1xuICAgICAgbmdNb2R1bGU6IEFuZ3VsYXJ0aWNzMk1vZHVsZSxcbiAgICAgIHByb3ZpZGVyczogW1xuICAgICAgICB7IHByb3ZpZGU6IEFOR1VMQVJUSUNTMl9UT0tFTiwgdXNlVmFsdWU6IHsgc2V0dGluZ3MgfSB9LFxuICAgICAgICB7IHByb3ZpZGU6IFJvdXRlcmxlc3NUcmFja2luZywgdXNlQ2xhc3M6IEFuZ3VsYXJSb3V0ZXJUcmFja2luZyB9LFxuICAgICAgICBBbmd1bGFydGljczIsXG4gICAgICBdLFxuICAgIH07XG4gIH1cbn1cbiJdfQ==
|
@@ -32,9 +32,9 @@ export class Angulartics2On {
|
|
32
32
|
});
|
33
33
|
}
|
34
34
|
}
|
35
|
-
Angulartics2On.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "
|
36
|
-
Angulartics2On.ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "
|
37
|
-
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "
|
35
|
+
Angulartics2On.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "14.3.0", ngImport: i0, type: Angulartics2On, deps: [{ token: i0.ElementRef }, { token: i1.Angulartics2 }, { token: i0.Renderer2 }], target: i0.ɵɵFactoryTarget.Directive });
|
36
|
+
Angulartics2On.ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "14.0.0", version: "14.3.0", type: Angulartics2On, selector: "[angulartics2On]", inputs: { angulartics2On: "angulartics2On", angularticsAction: "angularticsAction", angularticsCategory: "angularticsCategory", angularticsLabel: "angularticsLabel", angularticsValue: "angularticsValue", angularticsProperties: "angularticsProperties" }, ngImport: i0 });
|
37
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "14.3.0", ngImport: i0, type: Angulartics2On, decorators: [{
|
38
38
|
type: Directive,
|
39
39
|
args: [{ selector: '[angulartics2On]' }]
|
40
40
|
}], ctorParameters: function () { return [{ type: i0.ElementRef }, { type: i1.Angulartics2 }, { type: i0.Renderer2 }]; }, propDecorators: { angulartics2On: [{
|
@@ -53,10 +53,10 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "13.0.3", ngImpor
|
|
53
53
|
}] } });
|
54
54
|
export class Angulartics2OnModule {
|
55
55
|
}
|
56
|
-
Angulartics2OnModule.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "
|
57
|
-
Angulartics2OnModule.ɵmod = i0.ɵɵngDeclareNgModule({ minVersion: "
|
58
|
-
Angulartics2OnModule.ɵinj = i0.ɵɵngDeclareInjector({ minVersion: "12.0.0", version: "
|
59
|
-
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "
|
56
|
+
Angulartics2OnModule.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "14.3.0", ngImport: i0, type: Angulartics2OnModule, deps: [], target: i0.ɵɵFactoryTarget.NgModule });
|
57
|
+
Angulartics2OnModule.ɵmod = i0.ɵɵngDeclareNgModule({ minVersion: "14.0.0", version: "14.3.0", ngImport: i0, type: Angulartics2OnModule, declarations: [Angulartics2On], exports: [Angulartics2On] });
|
58
|
+
Angulartics2OnModule.ɵinj = i0.ɵɵngDeclareInjector({ minVersion: "12.0.0", version: "14.3.0", ngImport: i0, type: Angulartics2OnModule });
|
59
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "14.3.0", ngImport: i0, type: Angulartics2OnModule, decorators: [{
|
60
60
|
type: NgModule,
|
61
61
|
args: [{
|
62
62
|
declarations: [Angulartics2On],
|
@@ -89,9 +89,9 @@ export class Angulartics2AdobeAnalytics {
|
|
89
89
|
}
|
90
90
|
}
|
91
91
|
}
|
92
|
-
Angulartics2AdobeAnalytics.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "
|
93
|
-
Angulartics2AdobeAnalytics.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "
|
94
|
-
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "
|
92
|
+
Angulartics2AdobeAnalytics.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "14.3.0", ngImport: i0, type: Angulartics2AdobeAnalytics, deps: [{ token: i1.Angulartics2 }, { token: i2.Location }], target: i0.ɵɵFactoryTarget.Injectable });
|
93
|
+
Angulartics2AdobeAnalytics.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "14.3.0", ngImport: i0, type: Angulartics2AdobeAnalytics, providedIn: 'root' });
|
94
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "14.3.0", ngImport: i0, type: Angulartics2AdobeAnalytics, decorators: [{
|
95
95
|
type: Injectable,
|
96
96
|
args: [{ providedIn: 'root' }]
|
97
97
|
}], ctorParameters: function () { return [{ type: i1.Angulartics2 }, { type: i2.Location }]; } });
|
@@ -59,9 +59,9 @@ export class Angulartics2Amplitude {
|
|
59
59
|
}
|
60
60
|
}
|
61
61
|
}
|
62
|
-
Angulartics2Amplitude.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "
|
63
|
-
Angulartics2Amplitude.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "
|
64
|
-
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "
|
62
|
+
Angulartics2Amplitude.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "14.3.0", ngImport: i0, type: Angulartics2Amplitude, deps: [{ token: i1.Angulartics2 }], target: i0.ɵɵFactoryTarget.Injectable });
|
63
|
+
Angulartics2Amplitude.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "14.3.0", ngImport: i0, type: Angulartics2Amplitude, providedIn: 'root' });
|
64
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "14.3.0", ngImport: i0, type: Angulartics2Amplitude, decorators: [{
|
65
65
|
type: Injectable,
|
66
66
|
args: [{ providedIn: 'root' }]
|
67
67
|
}], ctorParameters: function () { return [{ type: i1.Angulartics2 }]; } });
|
@@ -109,9 +109,9 @@ export class Angulartics2AppInsights {
|
|
109
109
|
}
|
110
110
|
}
|
111
111
|
}
|
112
|
-
Angulartics2AppInsights.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "
|
113
|
-
Angulartics2AppInsights.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "
|
114
|
-
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "
|
112
|
+
Angulartics2AppInsights.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "14.3.0", ngImport: i0, type: Angulartics2AppInsights, deps: [{ token: i1.Angulartics2 }, { token: i2.Title }, { token: i3.Router }], target: i0.ɵɵFactoryTarget.Injectable });
|
113
|
+
Angulartics2AppInsights.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "14.3.0", ngImport: i0, type: Angulartics2AppInsights, providedIn: 'root' });
|
114
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "14.3.0", ngImport: i0, type: Angulartics2AppInsights, decorators: [{
|
115
115
|
type: Injectable,
|
116
116
|
args: [{ providedIn: 'root' }]
|
117
117
|
}], ctorParameters: function () { return [{ type: i1.Angulartics2 }, { type: i2.Title }, { type: i3.Router }]; } });
|
@@ -72,9 +72,9 @@ export class Angulartics2BaiduAnalytics {
|
|
72
72
|
_hmt.push(['_setCustomVar', 2, 'user', JSON.stringify(properties)]);
|
73
73
|
}
|
74
74
|
}
|
75
|
-
Angulartics2BaiduAnalytics.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "
|
76
|
-
Angulartics2BaiduAnalytics.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "
|
77
|
-
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "
|
75
|
+
Angulartics2BaiduAnalytics.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "14.3.0", ngImport: i0, type: Angulartics2BaiduAnalytics, deps: [{ token: i1.Angulartics2 }], target: i0.ɵɵFactoryTarget.Injectable });
|
76
|
+
Angulartics2BaiduAnalytics.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "14.3.0", ngImport: i0, type: Angulartics2BaiduAnalytics, providedIn: 'root' });
|
77
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "14.3.0", ngImport: i0, type: Angulartics2BaiduAnalytics, decorators: [{
|
78
78
|
type: Injectable,
|
79
79
|
args: [{ providedIn: 'root' }]
|
80
80
|
}], ctorParameters: function () { return [{ type: i1.Angulartics2 }]; } });
|
@@ -55,9 +55,9 @@ export class Angulartics2Clicky {
|
|
55
55
|
return EventType.indexOf(type) > -1 ? type : 'pageview';
|
56
56
|
}
|
57
57
|
}
|
58
|
-
Angulartics2Clicky.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "
|
59
|
-
Angulartics2Clicky.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "
|
60
|
-
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "
|
58
|
+
Angulartics2Clicky.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "14.3.0", ngImport: i0, type: Angulartics2Clicky, deps: [{ token: i1.Angulartics2 }, { token: i2.Title }], target: i0.ɵɵFactoryTarget.Injectable });
|
59
|
+
Angulartics2Clicky.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "14.3.0", ngImport: i0, type: Angulartics2Clicky, providedIn: 'root' });
|
60
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "14.3.0", ngImport: i0, type: Angulartics2Clicky, decorators: [{
|
61
61
|
type: Injectable,
|
62
62
|
args: [{ providedIn: 'root' }]
|
63
63
|
}], ctorParameters: function () { return [{ type: i1.Angulartics2 }, { type: i2.Title }]; } });
|
@@ -36,9 +36,9 @@ export class Angulartics2Facebook {
|
|
36
36
|
return fbq('track', action, properties);
|
37
37
|
}
|
38
38
|
}
|
39
|
-
Angulartics2Facebook.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "
|
40
|
-
Angulartics2Facebook.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "
|
41
|
-
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "
|
39
|
+
Angulartics2Facebook.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "14.3.0", ngImport: i0, type: Angulartics2Facebook, deps: [{ token: i1.Angulartics2 }], target: i0.ɵɵFactoryTarget.Injectable });
|
40
|
+
Angulartics2Facebook.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "14.3.0", ngImport: i0, type: Angulartics2Facebook, providedIn: 'root' });
|
41
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "14.3.0", ngImport: i0, type: Angulartics2Facebook, decorators: [{
|
42
42
|
type: Injectable,
|
43
43
|
args: [{ providedIn: 'root' }]
|
44
44
|
}], ctorParameters: function () { return [{ type: i1.Angulartics2 }]; } });
|
@@ -210,9 +210,9 @@ export class Angulartics2GoogleAnalytics {
|
|
210
210
|
});
|
211
211
|
}
|
212
212
|
}
|
213
|
-
Angulartics2GoogleAnalytics.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "
|
214
|
-
Angulartics2GoogleAnalytics.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "
|
215
|
-
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "
|
213
|
+
Angulartics2GoogleAnalytics.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "14.3.0", ngImport: i0, type: Angulartics2GoogleAnalytics, deps: [{ token: i1.Angulartics2 }], target: i0.ɵɵFactoryTarget.Injectable });
|
214
|
+
Angulartics2GoogleAnalytics.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "14.3.0", ngImport: i0, type: Angulartics2GoogleAnalytics, providedIn: 'root' });
|
215
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "14.3.0", ngImport: i0, type: Angulartics2GoogleAnalytics, decorators: [{
|
216
216
|
type: Injectable,
|
217
217
|
args: [{ providedIn: 'root' }]
|
218
218
|
}], ctorParameters: function () { return [{ type: i1.Angulartics2 }]; } });
|
@@ -23,9 +23,9 @@ export class Angulartics2GoogleAnalyticsEnhancedEcommerce {
|
|
23
23
|
ga('ec:setAction', action, properties);
|
24
24
|
}
|
25
25
|
}
|
26
|
-
Angulartics2GoogleAnalyticsEnhancedEcommerce.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "
|
27
|
-
Angulartics2GoogleAnalyticsEnhancedEcommerce.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "
|
28
|
-
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "
|
26
|
+
Angulartics2GoogleAnalyticsEnhancedEcommerce.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "14.3.0", ngImport: i0, type: Angulartics2GoogleAnalyticsEnhancedEcommerce, deps: [], target: i0.ɵɵFactoryTarget.Injectable });
|
27
|
+
Angulartics2GoogleAnalyticsEnhancedEcommerce.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "14.3.0", ngImport: i0, type: Angulartics2GoogleAnalyticsEnhancedEcommerce, providedIn: 'root' });
|
28
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "14.3.0", ngImport: i0, type: Angulartics2GoogleAnalyticsEnhancedEcommerce, decorators: [{
|
29
29
|
type: Injectable,
|
30
30
|
args: [{ providedIn: 'root' }]
|
31
31
|
}] });
|
@@ -46,9 +46,9 @@ export class Angulartics2GoSquared {
|
|
46
46
|
}
|
47
47
|
}
|
48
48
|
}
|
49
|
-
Angulartics2GoSquared.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "
|
50
|
-
Angulartics2GoSquared.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "
|
51
|
-
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "
|
49
|
+
Angulartics2GoSquared.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "14.3.0", ngImport: i0, type: Angulartics2GoSquared, deps: [{ token: i1.Angulartics2 }], target: i0.ɵɵFactoryTarget.Injectable });
|
50
|
+
Angulartics2GoSquared.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "14.3.0", ngImport: i0, type: Angulartics2GoSquared, providedIn: 'root' });
|
51
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "14.3.0", ngImport: i0, type: Angulartics2GoSquared, decorators: [{
|
52
52
|
type: Injectable,
|
53
53
|
args: [{ providedIn: 'root' }]
|
54
54
|
}], ctorParameters: function () { return [{ type: i1.Angulartics2 }]; } });
|
@@ -188,9 +188,9 @@ export class Angulartics2GoogleGlobalSiteTag {
|
|
188
188
|
}
|
189
189
|
}
|
190
190
|
}
|
191
|
-
Angulartics2GoogleGlobalSiteTag.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "
|
192
|
-
Angulartics2GoogleGlobalSiteTag.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "
|
193
|
-
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "
|
191
|
+
Angulartics2GoogleGlobalSiteTag.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "14.3.0", ngImport: i0, type: Angulartics2GoogleGlobalSiteTag, deps: [{ token: i1.Angulartics2 }], target: i0.ɵɵFactoryTarget.Injectable });
|
192
|
+
Angulartics2GoogleGlobalSiteTag.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "14.3.0", ngImport: i0, type: Angulartics2GoogleGlobalSiteTag, providedIn: 'root' });
|
193
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "14.3.0", ngImport: i0, type: Angulartics2GoogleGlobalSiteTag, decorators: [{
|
194
194
|
type: Injectable,
|
195
195
|
args: [{ providedIn: 'root' }]
|
196
196
|
}], ctorParameters: function () { return [{ type: i1.Angulartics2 }]; } });
|
@@ -105,9 +105,9 @@ export class Angulartics2GoogleTagManager {
|
|
105
105
|
this.angulartics2.settings.gtm.userId = userId;
|
106
106
|
}
|
107
107
|
}
|
108
|
-
Angulartics2GoogleTagManager.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "
|
109
|
-
Angulartics2GoogleTagManager.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "
|
110
|
-
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "
|
108
|
+
Angulartics2GoogleTagManager.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "14.3.0", ngImport: i0, type: Angulartics2GoogleTagManager, deps: [{ token: i1.Angulartics2 }], target: i0.ɵɵFactoryTarget.Injectable });
|
109
|
+
Angulartics2GoogleTagManager.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "14.3.0", ngImport: i0, type: Angulartics2GoogleTagManager, providedIn: 'root' });
|
110
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "14.3.0", ngImport: i0, type: Angulartics2GoogleTagManager, decorators: [{
|
111
111
|
type: Injectable,
|
112
112
|
args: [{ providedIn: 'root' }]
|
113
113
|
}], ctorParameters: function () { return [{ type: i1.Angulartics2 }]; } });
|
@@ -31,9 +31,9 @@ export class Angulartics2Hubspot {
|
|
31
31
|
}
|
32
32
|
}
|
33
33
|
}
|
34
|
-
Angulartics2Hubspot.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "
|
35
|
-
Angulartics2Hubspot.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "
|
36
|
-
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "
|
34
|
+
Angulartics2Hubspot.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "14.3.0", ngImport: i0, type: Angulartics2Hubspot, deps: [{ token: i1.Angulartics2 }], target: i0.ɵɵFactoryTarget.Injectable });
|
35
|
+
Angulartics2Hubspot.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "14.3.0", ngImport: i0, type: Angulartics2Hubspot, providedIn: 'root' });
|
36
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "14.3.0", ngImport: i0, type: Angulartics2Hubspot, decorators: [{
|
37
37
|
type: Injectable,
|
38
38
|
args: [{ providedIn: 'root' }]
|
39
39
|
}], ctorParameters: function () { return [{ type: i1.Angulartics2 }]; } });
|
@@ -116,9 +116,9 @@ export class Angulartics2IBMDigitalAnalytics {
|
|
116
116
|
}
|
117
117
|
}
|
118
118
|
}
|
119
|
-
Angulartics2IBMDigitalAnalytics.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "
|
120
|
-
Angulartics2IBMDigitalAnalytics.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "
|
121
|
-
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "
|
119
|
+
Angulartics2IBMDigitalAnalytics.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "14.3.0", ngImport: i0, type: Angulartics2IBMDigitalAnalytics, deps: [{ token: i1.Angulartics2 }], target: i0.ɵɵFactoryTarget.Injectable });
|
120
|
+
Angulartics2IBMDigitalAnalytics.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "14.3.0", ngImport: i0, type: Angulartics2IBMDigitalAnalytics, providedIn: 'root' });
|
121
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "14.3.0", ngImport: i0, type: Angulartics2IBMDigitalAnalytics, decorators: [{
|
122
122
|
type: Injectable,
|
123
123
|
args: [{ providedIn: 'root' }]
|
124
124
|
}], ctorParameters: function () { return [{ type: i1.Angulartics2 }]; } });
|
@@ -51,9 +51,9 @@ export class Angulartics2Intercom {
|
|
51
51
|
}
|
52
52
|
}
|
53
53
|
}
|
54
|
-
Angulartics2Intercom.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "
|
55
|
-
Angulartics2Intercom.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "
|
56
|
-
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "
|
54
|
+
Angulartics2Intercom.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "14.3.0", ngImport: i0, type: Angulartics2Intercom, deps: [{ token: i1.Angulartics2 }], target: i0.ɵɵFactoryTarget.Injectable });
|
55
|
+
Angulartics2Intercom.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "14.3.0", ngImport: i0, type: Angulartics2Intercom, providedIn: 'root' });
|
56
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "14.3.0", ngImport: i0, type: Angulartics2Intercom, decorators: [{
|
57
57
|
type: Injectable,
|
58
58
|
args: [{ providedIn: 'root' }]
|
59
59
|
}], ctorParameters: function () { return [{ type: i1.Angulartics2 }]; } });
|
@@ -31,9 +31,9 @@ export class Angulartics2Kissmetrics {
|
|
31
31
|
_kmq.push(['set', properties]);
|
32
32
|
}
|
33
33
|
}
|
34
|
-
Angulartics2Kissmetrics.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "
|
35
|
-
Angulartics2Kissmetrics.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "
|
36
|
-
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "
|
34
|
+
Angulartics2Kissmetrics.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "14.3.0", ngImport: i0, type: Angulartics2Kissmetrics, deps: [{ token: i1.Angulartics2 }], target: i0.ɵɵFactoryTarget.Injectable });
|
35
|
+
Angulartics2Kissmetrics.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "14.3.0", ngImport: i0, type: Angulartics2Kissmetrics, providedIn: 'root' });
|
36
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "14.3.0", ngImport: i0, type: Angulartics2Kissmetrics, decorators: [{
|
37
37
|
type: Injectable,
|
38
38
|
args: [{ providedIn: 'root' }]
|
39
39
|
}], ctorParameters: function () { return [{ type: i1.Angulartics2 }]; } });
|
@@ -50,9 +50,9 @@ export class Angulartics2LaunchByAdobe {
|
|
50
50
|
}
|
51
51
|
}
|
52
52
|
}
|
53
|
-
Angulartics2LaunchByAdobe.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "
|
54
|
-
Angulartics2LaunchByAdobe.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "
|
55
|
-
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "
|
53
|
+
Angulartics2LaunchByAdobe.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "14.3.0", ngImport: i0, type: Angulartics2LaunchByAdobe, deps: [{ token: i1.Angulartics2 }], target: i0.ɵɵFactoryTarget.Injectable });
|
54
|
+
Angulartics2LaunchByAdobe.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "14.3.0", ngImport: i0, type: Angulartics2LaunchByAdobe, providedIn: 'root' });
|
55
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "14.3.0", ngImport: i0, type: Angulartics2LaunchByAdobe, decorators: [{
|
56
56
|
type: Injectable,
|
57
57
|
args: [{ providedIn: 'root' }]
|
58
58
|
}], ctorParameters: function () { return [{ type: i1.Angulartics2 }]; } });
|
@@ -294,10 +294,10 @@ export class Angulartics2Matomo {
|
|
294
294
|
return dimensions;
|
295
295
|
}
|
296
296
|
}
|
297
|
-
Angulartics2Matomo.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "
|
298
|
-
Angulartics2Matomo.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "
|
299
|
-
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "
|
297
|
+
Angulartics2Matomo.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "14.3.0", ngImport: i0, type: Angulartics2Matomo, deps: [{ token: i1.Angulartics2 }], target: i0.ɵɵFactoryTarget.Injectable });
|
298
|
+
Angulartics2Matomo.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "14.3.0", ngImport: i0, type: Angulartics2Matomo, providedIn: 'root' });
|
299
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "14.3.0", ngImport: i0, type: Angulartics2Matomo, decorators: [{
|
300
300
|
type: Injectable,
|
301
301
|
args: [{ providedIn: 'root' }]
|
302
302
|
}], ctorParameters: function () { return [{ type: i1.Angulartics2 }]; } });
|
303
|
-
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoibWF0b21vLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vc3JjL2xpYi9wcm92aWRlcnMvbWF0b21vL21hdG9tby50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQUUsVUFBVSxFQUFFLE1BQU0sZUFBZSxDQUFDOzs7QUF5STNDLE1BQU0sT0FBTyxrQkFBa0I7SUFDN0IsWUFBb0IsWUFBMEI7UUFBMUIsaUJBQVksR0FBWixZQUFZLENBQWM7UUFDNUMsSUFBSSxPQUFPLElBQUksS0FBSyxXQUFXLEVBQUU7WUFDL0IsT0FBTyxDQUFDLElBQUksQ0FBQyxrQkFBa0IsQ0FBQyxDQUFDO1NBQ2xDO1FBQ0QsSUFBSSxDQUFDLFlBQVksQ0FBQyxXQUFXLENBQUMsU0FBUyxDQUFDLENBQUMsQ0FBUyxFQUFFLEVBQUUsQ0FBQyxJQUFJLENBQUMsV0FBVyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUM7UUFDNUUsSUFBSSxDQUFDLFlBQVksQ0FBQyxpQkFBaUIsQ0FBQyxTQUFTLENBQUMsQ0FBQyxDQUFvQyxFQUFFLEVBQUUsQ0FDckYsSUFBSSxDQUFDLGlCQUFpQixDQUFDLENBQUMsQ0FBQyxDQUMxQixDQUFDO0lBQ0osQ0FBQztJQUVELGFBQWE7UUFDWCxJQUFJLENBQUMsWUFBWSxDQUFDLFNBQVM7YUFDeEIsSUFBSSxDQUFDLElBQUksQ0FBQyxZQUFZLENBQUMsbUJBQW1CLEVBQUUsQ0FBQzthQUM3QyxTQUFTLENBQUMsQ0FBQyxDQUFDLEVBQUUsQ0FBQyxJQUFJLENBQUMsU0FBUyxDQUFDLENBQUMsQ0FBQyxJQUFJLENBQUMsQ0FBQyxDQUFDO1FBQzFDLElBQUksQ0FBQyxZQUFZLENBQUMsVUFBVTthQUN6QixJQUFJLENBQUMsSUFBSSxDQUFDLFlBQVksQ0FBQyxtQkFBbUIsRUFBRSxDQUFDO2FBQzdDLFNBQVMsQ0FBQyxDQUFDLENBQUMsRUFBRSxDQUFDLElBQUksQ0FBQyxVQUFVLENBQUMsQ0FBQyxDQUFDLE1BQU0s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LE1BQU0sQ0FBQyxDQUFDO2FBQ1Q7U0FDRjtJQUNILENBQUM7SUFFTyxtQkFBbUIsQ0FBQyxVQUE2QztRQUN2RSxNQUFNLGNBQWMsR0FBVyxtQkFBbUIsQ0FBQztRQUNuRCxNQUFNLFVBQVUsR0FBRyxNQUFNLENBQUMsSUFBSSxDQUFDLFVBQVUsQ0FBQyxDQUFDLE1BQU0sQ0FBQyxHQUFHLENBQUMsRUFBRSxDQUFDLGNBQWMsQ0FBQyxJQUFJLENBQUMsR0FBRyxDQUFDLENBQUMsQ0FBQztRQUNuRixVQUFVLENBQUMsT0FBTyxDQUFDLFNBQVMsQ0FBQyxFQUFFO1lBQzdCLE1BQU0sTUFBTSxHQUFHLE1BQU0sQ0FBQyxTQUFTLENBQUMsTUFBTSxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUM7WUFDM0MsSUFBSSxDQUFDLElBQUksQ0FBQyxDQUFDLG9CQUFvQixFQUFFLE1BQU0sRUFBRSxVQUFVLENBQUMsU0FBUyxDQUFDLENBQUMsQ0FBQyxDQUFDO1FBQ25FLENBQUMsQ0FBQyxDQUFDO1FBQ0gsT0FBTyxVQUFVLENBQUM7SUFDcEIsQ0FBQzs7K0dBMVRVLGtCQUFrQjttSEFBbEIsa0JBQWtCLGNBREwsTUFBTTsyRkFDbkIsa0JBQWtCO2tCQUQ5QixVQUFVO21CQUFDLEVBQUUsVUFBVSxFQUFFLE1BQU0sRUFBRSIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IEluamVjdGFibGUgfSBmcm9tICdAYW5ndWxhci9jb3JlJztcblxuaW1wb3J0IHsgQW5ndWxhcnRpY3MyIH0gZnJvbSAnLi4vLi4vYW5ndWxhcnRpY3MyLWNvcmUnO1xuXG5kZWNsYXJlIHZhciBfcGFxOiBhbnk7XG5cbmV4cG9ydCB0eXBlIEV2ZW50VHJhY2tBY3Rpb24gPVxuICB8ICdzZXRFY29tbWVyY2VWaWV3J1xuICB8ICdhZGRFY29tbWVyY2VJdGVtJ1xuICB8ICd0cmFja0Vjb21tZXJjZUNhcnRVcGRhdGUnXG4gIHwgJ3RyYWNrRWNvbW1lcmNlT3JkZXInXG4gIHwgJ3RyYWNrTGluaydcbiAgfCAndHJhY2tHb2FsJ1xuICB8ICd0cmFja1NpdGVTZWFyY2gnXG4gIHwgc3RyaW5nO1xuXG5leHBvcnQgdHlwZSBTY29wZU1hdG9tbyA9ICd2aXNpdCcgfCAncGFnZSc7XG5cbmV4cG9ydCBpbnRlcmZhY2UgRGltZW5zaW9uc01hdG9tb1Byb3BlcnRpZXMge1xuICBkaW1lbnNpb24wPzogc3RyaW5nO1xuICBkaW1lbnNpb24xPzogc3RyaW5nO1xuICBkaW1lbnNpb24yPzogc3RyaW5nO1xuICBkaW1lbnNpb24zPzogc3RyaW5nO1xuICBkaW1lbnNpb240Pzogc3RyaW5nO1xuICBkaW1lbnNpb241Pzogc3RyaW5nO1xuICBkaW1lbnNpb242Pzogc3RyaW5nO1xuICBkaW1lbnNpb243Pzogc3RyaW5nO1xuICBkaW1lbnNpb244Pzogc3RyaW5nO1xuICBkaW1lbnNpb245Pzogc3RyaW5nO1xufVxuZXhwb3J0IGludGVyZmFjZSBTZXRFY29tbWVyY2VWaWV3TWF0b21vUHJvcGVydGllcyB7XG4gIC8qKiBAY2xhc3MgU2V0RWNvbW1lcmNlVmlld01hdG9tb1Byb3BlcnRpZXMgKi9cbiAgcHJvZHVjdFNLVTogc3RyaW5nO1xuICAvKiogQGNsYXNzIFNldEVjb21tZXJjZVZpZXdNYXRvbW9Qcm9wZXJ0aWVzICovXG4gIHByb2R1Y3ROYW1lOiBzdHJpbmc7XG4gIC8qKiBAY2xhc3MgU2V0RWNvbW1lcmNlVmlld01hdG9tb1Byb3BlcnRpZXMgKi9cbiAgY2F0ZWdvcnlOYW1lOiBzdHJpbmc7XG4gIC8qKiBAY2xhc3MgU2V0RWNvbW1lcmNlVmlld01hdG9tb1Byb3BlcnRpZXMgKi9cbiAgcHJpY2U6IHN0cmluZztcbn1cblxuZXhwb3J0IGludGVyZmFjZSBBZGRFY29tbWVyY2VJdGVtUHJvcGVydGllcyB7XG4gIC8qKiBAY2xhc3MgQWRkRWNvbW1lcmNlSXRlbVByb3BlcnRpZXMgKi9cbiAgcHJvZHVjdFNLVTogc3RyaW5nO1xuICAvKiogQGNsYXNzIEFkZEVjb21tZXJjZUl0ZW1Qcm9wZXJ0aWVzICovXG4gIHByb2R1Y3ROYW1lOiBzdHJpbmc7XG4gIC8qKiBAY2xhc3MgQWRkRWNvbW1lcmNlSXRlbVByb3BlcnRpZXMgKi9cbiAgcHJvZHVjdENhdGVnb3J5OiBzdHJpbmc7XG4gIC8qKiBAY2xhc3MgQWRkRWNvbW1lcmNlSXRlbVByb3BlcnRpZXMgKi9cbiAgcHJpY2U6IHN0cmluZztcbiAgLyoqIEBjbGFzcyBBZGRFY29tbWVyY2VJdGVtUHJvcGVydGllcyAqL1xuICBxdWFudGl0eTogc3RyaW5nO1xufVxuXG5leHBvcnQgaW50ZXJmYWNlIFRyYWNrRWNvbW1lcmNlQ2FydFVwZGF0ZU1hdG9tb1Byb3BlcnRpZXMge1xuICAvKiogQGNsYXNzIFRyYWNrRWNvbW1lcmNlQ2FydFVwZGF0ZU1hdG9tb1Byb3BlcnRpZXMgKi9cbiAgZ3JhbmRUb3RhbDogc3RyaW5nO1xufVxuXG5leHBvcnQgaW50ZXJmYWNlIFRyYWNrRWNvbW1lcmNlT3JkZXJNYXRvbW9Qcm9wZXJ0aWVzIHtcbiAgLyoqIEBjbGFzcyBUcmFja0Vjb21tZXJjZU9yZGVyTWF0b21vUHJvcGVydGllcyAqL1xuICBvcmRlcklkOiBzdHJpbmc7XG4gIC8qKiBAY2xhc3MgVHJhY2tFY29tbWVyY2VPcmRlck1hdG9tb1Byb3BlcnRpZXMgKi9cbiAgZ3JhbmRUb3RhbDogc3RyaW5nO1xuICAvKiogQGNsYXNzIFRyYWNrRWNvbW1lcmNlT3JkZXJNYXRvbW9Qcm9wZXJ0aWVzICovXG4gIHN1YlRvdGFsOiBzdHJpbmc7XG4gIC8qKiBAY2xhc3MgVHJhY2tFY29tbWVyY2VPcmRlck1hdG9tb1Byb3BlcnRpZXMgKi9cbiAgdGF4OiBzdHJpbmc7XG4gIC8qKiBAY2xhc3MgVHJhY2tFY29tbWVyY2VPcmRlck1hdG9tb1Byb3BlcnRpZXMgKi9cbiAgc2hpcHBpbmc6IHN0cmluZztcbiAgLyoqIEBjbGFzcyBUcmFja0Vjb21tZXJjZU9yZGVyTWF0b21vUHJvcGVydGllcyAqL1xuICBkaXNjb3VudDogc3RyaW5nO1xufVxuXG5leHBvcnQgaW50ZXJmYWNlIFRyYWNrTGlua01hdG9tb1Byb3BlcnRpZXMge1xuICAvKiogQGNsYXNzIFRyYWNrTGlua01hdG9tb1Byb3BlcnRpZXMgKi9cbiAgdXJsOiBzdHJpbmc7XG4gIC8qKiBAY2xhc3MgVHJhY2tMaW5rTWF0b21vUHJvcGVydGllcyAqL1xuICBsaW5rVHlwZTogc3RyaW5nO1xufVxuXG5leHBvcnQgaW50ZXJmYWNlIFRyYWNrR29hbE1hdG9tb1Byb3BlcnRpZXMge1xuICAvKiogQGNsYXNzIFRyYWNrR29hbE1hdG9tb1Byb3BlcnRpZXMgKi9cbiAgZ29hbElkOiBzdHJpbmc7XG4gIC8qKiBAY2xhc3MgVHJhY2tHb2FsTWF0b21vUHJvcGVydGllcyAqL1xuICB2YWx1ZTogc3RyaW5nO1xufVxuXG5leHBvcnQgaW50ZXJmYWNlIFRyYWNrU2l0ZVNlYXJjaE1hdG9tb1Byb3BlcnRpZXMge1xuICAvKiogQGNsYXNzIFRyYWNrU2l0ZVNlYXJjaE1hdG9tb1Byb3BlcnRpZXMgKi9cbiAga2V5d29yZDogc3RyaW5nO1xuICAvKiogQGNsYXNzIFRyYWNrU2l0ZVNlYXJjaE1hdG9tb1Byb3BlcnRpZXMgKi9cbiAgY2F0ZWdvcnk6IHN0cmluZztcbiAgLyoqIEBjbGFzcyBUcmFja1NpdGVTZWFyY2hNYXRvbW9Qcm9wZXJ0aWVzICovXG4gIHNlYXJjaENvdW50OiBzdHJpbmc7XG59XG5cbmV4cG9ydCBpbnRlcmZhY2UgVHJhY2tFdmVudE1hdG9tb1Byb3BlcnRpZXMge1xuICAvKiogQGNsYXNzIFRyYWNrRXZlbnRNYXRvbW9Qcm9wZXJ0aWVzICovXG4gIGNhdGVnb3J5OiBzdHJpbmc7XG4gIC8qKiBAY2xhc3MgVHJhY2tFdmVudE1hdG9tb1Byb3BlcnRpZXMgKi9cbiAgbmFtZT86IHN0cmluZztcbiAgLyoqIEBjbGFzcyBUcmFja0V2ZW50TWF0b21vUHJvcGVydGllcyAqL1xuICBsYWJlbD86IHN0cmluZztcbiAgLyoqIEBjbGFzcyBUcmFja0V2ZW50TWF0b21vUHJvcGVydGllcyAqL1xuICB2YWx1ZTogbnVtYmVyIHwgc3RyaW5nO1xufVxuXG5leHBvcnQgaW50ZXJmYWNlIFNldEN1c3RvbVZhcmlhYmxlTWF0b21vUHJvcGVydGllcyBleHRlbmRzIERpbWVuc2lvbnNNYXRvbW9Qcm9wZXJ0aWVzIHtcbiAgLyoqIEBjbGFzcyBTZXRDdXN0b21WYXJpYWJsZU1hdG9tb1Byb3BlcnRpZXMgKi9cbiAgaW5kZXg6IG51bWJlcjtcbiAgLyoqIEBjbGFzcyBTZXRDdXN0b21WYXJpYWJsZU1hdG9tb1Byb3BlcnRpZXMgKi9cbiAgbmFtZTogc3RyaW5nO1xuICAvKiogQGNsYXNzIFNldEN1c3RvbVZhcmlhYmxlTWF0b21vUHJvcGVydGllcyAqL1xuICB2YWx1ZTogc3RyaW5nO1xuICAvKiogQGNsYXNzIFNldEN1c3RvbVZhcmlhYmxlTWF0b21vUHJvcGVydGllcyAqL1xuICBzY29wZTogU2NvcGVNYXRvbW87XG59XG5cbmV4cG9ydCBpbnRlcmZhY2UgRGVsZXRlQ3VzdG9tVmFyaWFibGVNYXRvbW9Qcm9wZXJ0aWVzIHtcbiAgLyoqIEBjbGFzcyBEZWxldGVDdXN0b21WYXJpYWJsZU1hdG9tb1Byb3BlcnRpZXMgKi9cbiAgaW5kZXg6IG51bWJlcjtcbiAgLyoqIEBjbGFzcyBEZWxldGVDdXN0b21WYXJpYWJsZU1hdG9tb1Byb3BlcnRpZXMgKi9cbiAgc2NvcGU6IFNjb3BlTWF0b21vO1xufVxuXG5leHBvcnQgdHlwZSBFdmVudFRyYWNrYWN0aW9uUHJvcGVydGllcyA9XG4gIHwgU2V0RWNvbW1lcmNlVmlld01hdG9tb1Byb3BlcnRpZXNcbiAgfCBBZGRFY29tbWVyY2VJdGVtUHJvcGVydGllc1xuICB8IFRyYWNrRWNvbW1lcmNlQ2FydFVwZGF0ZU1hdG9tb1Byb3BlcnRpZXNcbiAgfCBUcmFja0Vjb21tZXJjZU9yZGVyTWF0b21vUHJvcGVydGllc1xuICB8IFRyYWNrTGlua01hdG9tb1Byb3BlcnRpZXNcbiAgfCBUcmFja0dvYWxNYXRvbW9Qcm9wZXJ0aWVzXG4gIHwgVHJhY2tTaXRlU2VhcmNoTWF0b21vUHJvcGVydGllc1xuICB8IFRyYWNrRXZlbnRNYXRvbW9Qcm9wZXJ0aWVzO1xuXG5ASW5qZWN0YWJsZSh7IHByb3ZpZGVkSW46ICdyb290JyB9KVxuZXhwb3J0IGNsYXNzIEFuZ3VsYXJ0aWNzMk1hdG9tbyB7XG4gIGNvbnN0cnVjdG9yKHByaXZhdGUgYW5ndWxhcnRpY3MyOiBBbmd1bGFydGljczIpIHtcbiAgICBpZiAodHlwZW9mIF9wYXEgPT09ICd1bmRlZmluZWQnKSB7XG4gICAgICBjb25zb2xlLndhcm4oJ01hdG9tbyBub3QgZm91bmQnKTtcbiAgICB9XG4gICAgdGhpcy5hbmd1bGFydGljczIuc2V0VXNlcm5hbWUuc3Vic2NyaWJlKCh4OiBzdHJpbmcpID0+IHRoaXMuc2V0VXNlcm5hbWUoeCkpO1xuICAgIHRoaXMuYW5ndWxhcnRpY3MyLnNldFVzZXJQcm9wZXJ0aWVzLnN1YnNjcmliZSgoeDogU2V0Q3VzdG9tVmFyaWFibGVNYXRvbW9Qcm9wZXJ0aWVzKSA9PlxuICAgICAgdGhpcy5zZXRVc2VyUHJvcGVydGllcyh4KSxcbiAgICApO1xuICB9XG5cbiAgc3RhcnRUcmFja2luZygpOiB2b2lkIHtcbiAgICB0aGlzLmFuZ3VsYXJ0aWNzMi5wYWdlVHJhY2tcbiAgICAgIC5waXBlKHRoaXMuYW5ndWxhcnRpY3MyLmZpbHRlckRldmVsb3Blck1vZGUoKSlcbiAgICAgIC5zdWJzY3JpYmUoeCA9PiB0aGlzLnBhZ2VUcmFjayh4LnBhdGgpKTtcbiAgICB0aGlzLmFuZ3VsYXJ0aWNzMi5ldmVudFRyYWNrXG4gICAgICAucGlwZSh0aGlzLmFuZ3VsYXJ0aWNzMi5maWx0ZXJEZXZlbG9wZXJNb2RlKCkpXG4gICAgICAuc3Vic2NyaWJlKHggPT4gdGhpcy5ldmVudFRyYWNrKHguYWN0aW9uLCB4LnByb3BlcnRpZXMpKTtcbiAgfVxuXG4gIHBhZ2VUcmFjayhwYXRoOiBzdHJpbmcsIHRpdGxlPzogc3RyaW5nKSB7XG4gICAgdHJ5IHtcbiAgICAgIGlmICghd2luZG93LmxvY2F0aW9uLm9yaWdpbikge1xuICAgICAgICAod2luZG93LmxvY2F0aW9uIGFzIGFueSkub3JpZ2luID1cbiAgICAgICAgICB3aW5kb3cubG9jYXRpb24ucHJvdG9jb2wgK1xuICAgICAgICAgICcvLycgK1xuICAgICAgICAgIHdpbmRvdy5sb2NhdGlvbi5ob3N0bmFtZSArXG4gICAgICAgICAgKHdpbmRvdy5sb2NhdGlvbi5wb3J0ID8gJzonICsgd2luZG93LmxvY2F0aW9uLnBvcnQgOiAnJyk7XG4gICAgICB9XG4gICAgICBfcGFxLnB1c2goWydzZXREb2N1bWVudFRpdGxlJywgdGl0bGUgfHwgd2luZG93LmRvY3VtZW50LnRpdGxlXSk7XG4gICAgICBfcGFxLnB1c2goWydzZXRDdXN0b21VcmwnLCB3aW5kb3cubG9jYXRpb24ub3JpZ2luICsgcGF0aF0pO1xuICAgICAgX3BhcS5wdXNoKFsndHJhY2tQYWdlVmlldyddKTtcbiAgICB9IGNhdGNoIChlKSB7XG4gICAgICBpZiAoIShlIGluc3RhbmNlb2YgUmVmZXJlbmNlRXJyb3IpKSB7XG4gICAgICAgIHRocm93IGU7XG4gICAgICB9XG4gICAgfVxuICB9XG5cbiAgcmVzZXRVc2VyKCkge1xuICAgIHRyeSB7XG4gICAgICBfcGFxLnB1c2goWydhcHBlbmRUb1RyYWNraW5nVXJsJywgJ25ld192aXNpdD0xJ10pOyAvLyAoMSkgZm9yY2VzIGEgbmV3IHZpc2l0XG4gICAgICBfcGFxLnB1c2goWydkZWxldGVDb29raWVzJ10pOyAvLyAoMikgZGVsZXRlcyBleGlzdGluZyB0cmFja2luZyBjb29raWVzIHRvIHN0YXJ0IHRoZSBuZXcgdmlzaXRcbiAgICB9IGNhdGNoIChlKSB7XG4gICAgICBpZiAoIShlIGluc3RhbmNlb2YgUmVmZXJlbmNlRXJyb3IpKSB7XG4gICAgICAgIHRocm93IGU7XG4gICAgICB9XG4gICAgfVxuICB9XG5cbiAgZXZlbnRUcmFjayhhY3Rpb246ICdzZXRFY29tbWVyY2VWaWV3JywgcHJvcGVydGllczogU2V0RWNvbW1lcmNlVmlld01hdG9tb1Byb3BlcnRpZXMpOiB2b2lkO1xuICBldmVudFRyYWNrKGFjdGlvbjogJ2FkZEVjb21tZXJjZUl0ZW0nLCBwcm9wZXJ0aWVzOiBBZGRFY29tbWVyY2VJdGVtUHJvcGVydGllcyk6IHZvaWQ7XG4gIGV2ZW50VHJhY2soXG4gICAgYWN0aW9uOiAndHJhY2tFY29tbWVyY2VDYXJ0VXBkYXRlJyxcbiAgICBwcm9wZXJ0aWVzOiBUcmFja0Vjb21tZXJjZUNhcnRVcGRhdGVNYXRvbW9Qcm9wZXJ0aWVzLFxuICApOiB2b2lkO1xuICBldmVudFRyYWNrKGFjdGlvbjogJ3RyYWNrRWNvbW1lcmNlT3JkZXInLCBwcm9wZXJ0aWVzOiBUcmFja0Vjb21tZXJjZU9yZGVyTWF0b21vUHJvcGVydGllcyk6IHZvaWQ7XG4gIGV2ZW50VHJhY2soYWN0aW9uOiAndHJhY2tMaW5rJywgcHJvcGVydGllczogVHJhY2tMaW5rTWF0b21vUHJvcGVydGllcyk6IHZvaWQ7XG4gIGV2ZW50VHJhY2soYWN0aW9uOiAndHJhY2tHb2FsJywgcHJvcGVydGllczogVHJhY2tHb2FsTWF0b21vUHJvcGVydGllcyk6IHZvaWQ7XG4gIGV2ZW50VHJhY2soYWN0aW9uOiAndHJhY2tTaXRlU2VhcmNoJywgcHJvcGVydGllczogVHJhY2tTaXRlU2VhcmNoTWF0b21vUHJvcGVydGllcyk6IHZvaWQ7XG4gIGV2ZW50VHJhY2soYWN0aW9uOiBzdHJpbmcsIHByb3BlcnRpZXM6IFRyYWNrRXZlbnRNYXRvbW9Qcm9wZXJ0aWVzKTogdm9pZDtcblxuICAvKipcbiAgICogVHJhY2sgYSBiYXNpYyBldmVudCBpbiBNYXRvbW8sIG9yIHNlbmQgYW4gZWNvbW1lcmNlIGV2ZW50LlxuICAgKlxuICAgKiBAcGFyYW0gYWN0aW9uIEEgc3RyaW5nIGNvcnJlc3BvbmRpbmcgdG8gdGhlIHR5cGUgb2YgZXZlbnQgdGhhdCBuZWVkcyB0byBiZSB0cmFja2VkLlxuICAgKiBAcGFyYW0gcHJvcGVydGllcyBUaGUgcHJvcGVydGllcyB0aGF0IG5lZWQgdG8gYmUgbG9nZ2VkIHdpdGggdGhlIGV2ZW50LlxuICAgKi9cbiAgZXZlbnRUcmFjayhhY3Rpb246IEV2ZW50VHJhY2tBY3Rpb24sIHByb3BlcnRpZXM/OiBFdmVudFRyYWNrYWN0aW9uUHJvcGVydGllcykge1xuICAgIGxldCBwYXJhbXMgPSBbXTtcbiAgICBzd2l0Y2ggKGFjdGlvbikge1xuICAgICAgLyoqXG4gICAgICAgKiBAZGVzY3JpcHRpb24gU2V0cyB0aGUgY3VycmVudCBwYWdlIHZpZXcgYXMgYSBwcm9kdWN0IG9yIGNhdGVnb3J5IHBhZ2Ugdmlldy4gV2hlbiB5b3UgY2FsbFxuICAgICAgICogc2V0RWNvbW1lcmNlVmlldyBpdCBtdXN0IGJlIGZvbGxvd2VkIGJ5IGEgY2FsbCB0byB0cmFja1BhZ2VWaWV3IHRvIHJlY29yZCB0aGUgcHJvZHVjdCBvclxuICAgICAgICogY2F0ZWdvcnkgcGFnZSB2aWV3LlxuICAgICAgICpcbiAgICAgICAqIEBsaW5rIGh0dHBzOi8vbWF0b21vLm9yZy9kb2NzL2Vjb21tZXJjZS1hbmFseXRpY3MvI3RyYWNraW5nLXByb2R1Y3QtcGFnZS12aWV3cy1jYXRlZ29yeS1wYWdlLXZpZXdzLW9wdGlvbmFsXG4gICAgICAgKiBAbGluayBodHRwczovL2RldmVsb3Blci5tYXRvbW8ub3JnL2FwaS1yZWZlcmVuY2UvdHJhY2tpbmctamF2YXNjcmlwdCNlY29tbWVyY2VcbiAgICAgICAqXG4gICAgICAgKiBAcHJvcGVydHkgcHJvZHVjdFNLVSAocmVxdWlyZWQpIFNLVTogUHJvZHVjdCB1bmlxdWUgaWRlbnRpZmllclxuICAgICAgICogQHByb3BlcnR5IHByb2R1Y3ROYW1lIChvcHRpb25hbCkgUHJvZHVjdCBuYW1lXG4gICAgICAgKiBAcHJvcGVydHkgY2F0ZWdvcnlOYW1lIChvcHRpb25hbCkgUHJvZHVjdCBjYXRlZ29yeSwgb3IgYXJyYXkgb2YgdXAgdG8gNSBjYXRlZ29yaWVzXG4gICAgICAgKiBAcHJvcGVydHkgcHJpY2UgKG9wdGlvbmFsKSBQcm9kdWN0IFByaWNlIGFzIGRpc3BsYXllZCBvbiB0aGUgcGFnZVxuICAgICAgICovXG4gICAgICBjYXNlICdzZXRFY29tbWVyY2VWaWV3JzpcbiAgICAgICAgcGFyYW1zID0gW1xuICAgICAgICAgICdzZXRFY29tbWVyY2VWaWV3JyxcbiAgICAgICAgICAocHJvcGVydGllcyBhcyBTZXRFY29tbWVyY2VWaWV3TWF0b21vUHJvcGVydGllcykucHJvZHVjdFNLVSxcbiAgICAgICAgICAocHJvcGVydGllcyBhcyBTZXRFY29tbWVyY2VWaWV3TWF0b21vUHJvcGVydGllcykucHJvZHVjdE5hbWUsXG4gICAgICAgICAgKHByb3BlcnRpZXMgYXMgU2V0RWNvbW1lcmNlVmlld01hdG9tb1Byb3BlcnRpZXMpLmNhdGVnb3J5TmFtZSxcbiAgICAgICAgICAocHJvcGVydGllcyBhcyBTZXRFY29tbWVyY2VWaWV3TWF0b21vUHJvcGVydGllcykucHJpY2UsXG4gICAgICAgIF07XG4gICAgICAgIGJyZWFrO1xuXG4gICAgICAvKipcbiAgICAgICAqIEBkZXNjcmlwdGlvbiBBZGRzIGEgcHJvZHVjdCBpbnRvIHRoZSBlY29tbWVyY2Ugb3JkZXIuIE11c3QgYmUgY2FsbGVkIGZvciBlYWNoIHByb2R1Y3QgaW5cbiAgICAgICAqIHRoZSBvcmRlci5cbiAgICAgICAqXG4gICAgICAgKiBAbGluayBodHRwczovL21hdG9tby5vcmcvZG9jcy9lY29tbWVyY2UtYW5hbHl0aWNzLyN0cmFja2luZy1lY29tbWVyY2Utb3JkZXJzLWl0ZW1zLXB1cmNoYXNlZC1yZXF1aXJlZFxuICAgICAgICogQGxpbmsgaHR0cHM6Ly9kZXZlbG9wZXIubWF0b21vLm9yZy9hcGktcmVmZXJlbmNlL3RyYWNraW5nLWphdmFzY3JpcHQjZWNvbW1lcmNlXG4gICAgICAgKlxuICAgICAgICogQHByb3BlcnR5IHByb2R1Y3RTS1UgKHJlcXVpcmVkKSBTS1U6IFByb2R1Y3QgdW5pcXVlIGlkZW50aWZpZXJcbiAgICAgICAqIEBwcm9wZXJ0eSBwcm9kdWN0TmFtZSAob3B0aW9uYWwpIFByb2R1Y3QgbmFtZVxuICAgICAgICogQHByb3BlcnR5IGNhdGVnb3J5TmFtZSAob3B0aW9uYWwpIFByb2R1Y3QgY2F0ZWdvcnksIG9yIGFycmF5IG9mIHVwIHRvIDUgY2F0ZWdvcmllc1xuICAgICAgICogQHByb3BlcnR5IHByaWNlIChyZWNvbW1lbmRlZCkgUHJvZHVjdCBwcmljZVxuICAgICAgICogQHByb3BlcnR5IHF1YW50aXR5IChvcHRpb25hbCwgZGVmYXVsdCB0byAxKSBQcm9kdWN0IHF1YW50aXR5XG4gICAgICAgKi9cbiAgICAgIGNhc2UgJ2FkZEVjb21tZXJjZUl0ZW0nOlxuICAgICAgICBwYXJhbXMgPSBbXG4gICAgICAgICAgJ2FkZEVjb21tZXJjZUl0ZW0nLFxuICAgICAgICAgIChwcm9wZXJ0aWVzIGFzIEFkZEVjb21tZXJjZUl0ZW1Qcm9wZXJ0aWVzKS5wcm9kdWN0U0tVLFxuICAgICAgICAgIChwcm9wZXJ0aWVzIGFzIEFkZEVjb21tZXJjZUl0ZW1Qcm9wZXJ0aWVzKS5wcm9kdWN0TmFtZSxcbiAgICAgICAgICAocHJvcGVydGllcyBhcyBBZGRFY29tbWVyY2VJdGVtUHJvcGVydGllcykucHJvZHVjdENhdGVnb3J5LFxuICAgICAgICAgIChwcm9wZXJ0aWVzIGFzIEFkZEVjb21tZXJjZUl0ZW1Qcm9wZXJ0aWVzKS5wcmljZSxcbiAgICAgICAgICAocHJvcGVydGllcyBhcyBBZGRFY29tbWVyY2VJdGVtUHJvcGVydGllcykucXVhbnRpdHksXG4gICAgICAgIF07XG4gICAgICAgIGJyZWFrO1xuXG4gICAgICAvKipcbiAgICAgICAqIEBkZXNjcmlwdGlvbiBUcmFja3MgYSBzaG9wcGluZyBjYXJ0LiBDYWxsIHRoaXMgamF2YXNjcmlwdCBmdW5jdGlvbiBldmVyeSB0aW1lIGEgdXNlciBpc1xuICAgICAgICogYWRkaW5nLCB1cGRhdGluZyBvciBkZWxldGluZyBhIHByb2R1Y3QgZnJvbSB0aGUgY2FydC5cbiAgICAgICAqXG4gICAgICAgKiBAbGluayBodHRwczovL21hdG9tby5vcmcvZG9jcy9lY29tbWVyY2UtYW5hbHl0aWNzLyN0cmFja2luZy1hZGQtdG8tY2FydC1pdGVtcy1hZGRlZC10by10aGUtY2FydC1vcHRpb25hbFxuICAgICAgICogQGxpbmsgaHR0cHM6Ly9kZXZlbG9wZXIubWF0b21vLm9yZy9hcGktcmVmZXJlbmNlL3RyYWNraW5nLWphdmFzY3JpcHQjZWNvbW1lcmNlXG4gICAgICAgKlxuICAgICAgICogQHByb3BlcnR5IGdyYW5kVG90YWwgKHJlcXVpcmVkKSBDYXJ0IGFtb3VudFxuICAgICAgICovXG4gICAgICBjYXNlICd0cmFja0Vjb21tZXJjZUNhcnRVcGRhdGUnOlxuICAgICAgICBwYXJhbXMgPSBbXG4gICAgICAgICAgJ3RyYWNrRWNvbW1lcmNlQ2FydFVwZGF0ZScsXG4gICAgICAgICAgKHByb3BlcnRpZXMgYXMgVHJhY2tFY29tbWVyY2VDYXJ0VXBkYXRlTWF0b21vUHJvcGVydGllcykuZ3JhbmRUb3RhbCxcbiAgICAgICAgXTtcbiAgICAgICAgYnJlYWs7XG5cbiAgICAgIC8qKlxuICAgICAgICogQGRlc2NyaXB0aW9uIFRyYWNrcyBhbiBFY29tbWVyY2Ugb3JkZXIsIGluY2x1ZGluZyBhbnkgZWNvbW1lcmNlIGl0ZW0gcHJldmlvdXNseSBhZGRlZCB0b1xuICAgICAgICogdGhlIG9yZGVyLiBvcmRlcklkIGFuZCBncmFuZFRvdGFsIChpZS4gcmV2ZW51ZSkgYXJlIHJlcXVpcmVkIHBhcmFtZXRlcnMuXG4gICAgICAgKlxuICAgICAgICogQGxpbmsgaHR0cHM6Ly9tYXRvbW8ub3JnL2RvY3MvZWNvbW1lcmNlLWFuYWx5dGljcy8jdHJhY2tpbmctZWNvbW1lcmNlLW9yZGVycy1pdGVtcy1wdXJjaGFzZWQtcmVxdWlyZWRcbiAgICAgICAqIEBsaW5rIGh0dHBzOi8vZGV2ZWxvcGVyLm1hdG9tby5vcmcvYXBpLXJlZmVyZW5jZS90cmFja2luZy1qYXZhc2NyaXB0I2Vjb21tZXJjZVxuICAgICAgICpcbiAgICAgICAqIEBwcm9wZXJ0eSBvcmRlcklkIChyZXF1aXJlZCkgVW5pcXVlIE9yZGVyIElEXG4gICAgICAgKiBAcHJvcGVydHkgZ3JhbmRUb3RhbCAocmVxdWlyZWQpIE9yZGVyIFJldmVudWUgZ3JhbmQgdG90YWwgKGluY2x1ZGVzIHRheCwgc2hpcHBpbmcsIGFuZCBzdWJ0cmFjdGVkIGRpc2NvdW50KVxuICAgICAgICogQHByb3BlcnR5IHN1YlRvdGFsIChvcHRpb25hbCkgT3JkZXIgc3ViIHRvdGFsIChleGNsdWRlcyBzaGlwcGluZylcbiAgICAgICAqIEBwcm9wZXJ0eSB0YXggKG9wdGlvbmFsKSBUYXggYW1vdW50XG4gICAgICAgKiBAcHJvcGVydHkgc2hpcHBpbmcgKG9wdGlvbmFsKSBTaGlwcGluZyBhbW91bnRcbiAgICAgICAqIEBwcm9wZXJ0eSBkaXNjb3VudCAob3B0aW9uYWwpIERpc2NvdW50IG9mZmVyZWQgKHNldCB0byBmYWxzZSBmb3IgdW5zcGVjaWZpZWQgcGFyYW1ldGVyKVxuICAgICAgICovXG4gICAgICBjYXNlICd0cmFja0Vjb21tZXJjZU9yZGVyJzpcbiAgICAgICAgcGFyYW1zID0gW1xuICAgICAgICAgICd0cmFja0Vjb21tZXJjZU9yZGVyJyxcbiAgICAgICAgICAocHJvcGVydGllcyBhcyBUcmFja0Vjb21tZXJjZU9yZGVyTWF0b21vUHJvcGVydGllcykub3JkZXJJZCxcbiAgICAgICAgICAocHJvcGVydGllcyBhcyBUcmFja0Vjb21tZXJjZU9yZGVyTWF0b21vUHJvcGVydGllcykuZ3JhbmRUb3RhbCxcbiAgICAgICAgICAocHJvcGVydGllcyBhcyBUcmFja0Vjb21tZXJjZU9yZGVyTWF0b21vUHJvcGVydGllcykuc3ViVG90YWwsXG4gICAgICAgICAgKHByb3BlcnRpZXMgYXMgVHJhY2tFY29tbWVyY2VPcmRlck1hdG9tb1Byb3BlcnRpZXMpLnRheCxcbiAgICAgICAgICAocHJvcGVydGllcyBhcyBUcmFja0Vjb21tZXJjZU9yZGVyTWF0b21vUHJvcGVydGllcykuc2hpcHBpbmcsXG4gICAgICAgICAgKHByb3BlcnRpZXMgYXMgVHJhY2tFY29tbWVyY2VPcmRlck1hdG9tb1Byb3BlcnRpZXMpLmRpc2NvdW50LFxuICAgICAgICBdO1xuICAgICAgICBicmVhaztcblxuICAgICAgLyoqXG4gICAgICAgKiBAZGVzY3JpcHRpb24gVG8gbWFudWFsbHkgdHJpZ2dlciBhbiBvdXRsaW5rXG4gICAgICAgKlxuICAgICAgICogQGxpbmsgaHR0cHM6Ly9tYXRvbW8ub3JnL2RvY3MvdHJhY2tpbmctZ29hbHMtd2ViLWFuYWx5dGljcy9cbiAgICAgICAqIEBsaW5rIGh0dHBzOi8vZGV2ZWxvcGVyLm1hdG9tby5vcmcvZ3VpZGVzL3RyYWNraW5nLWphdmFzY3JpcHQtZ3VpZGUjdHJhY2tpbmctYS1jbGljay1hcy1hbi1vdXRsaW5rLXZpYS1jc3Mtb3ItamF2YXNjcmlwdFxuICAgICAgICpcbiAgICAgICAqIEBwcm9wZXJ0eSB1cmwgKHJlcXVpcmVkKSBsaW5rIHVybFxuICAgICAgICogQHByb3BlcnR5IGxpbmtUeXBlIChvcHRpb25hbCkgdHlwZSBvZiBsaW5rXG4gICAgICAgKi9cbiAgICAgIGNhc2UgJ3RyYWNrTGluayc6XG4gICAgICAgIHBhcmFtcyA9IFtcbiAgICAgICAgICAndHJhY2tMaW5rJyxcbiAgICAgICAgICAocHJvcGVydGllcyBhcyBUcmFja0xpbmtNYXRvbW9Qcm9wZXJ0aWVzKS51cmwsXG4gICAgICAgICAgKHByb3BlcnRpZXMgYXMgVHJhY2tMaW5rTWF0b21vUHJvcGVydGllcykubGlua1R5cGUsXG4gICAgICAgIF07XG4gICAgICAgIGJyZWFrO1xuXG4gICAgICAvKipcbiAgICAgICAqIEBkZXNjcmlwdGlvbiBUcmFja3MgYW4gRWNvbW1lcmNlIGdvYWxcbiAgICAgICAqXG4gICAgICAgKiBAbGluayBodHRwczovL21hdG9tby5vcmcvZG9jcy90cmFja2luZy1nb2Fscy13ZWItYW5hbHl0aWNzL1xuICAgICAgICogQGxpbmsgaHR0cHM6Ly9kZXZlbG9wZXIubWF0b21vLm9yZy9ndWlkZXMvdHJhY2tpbmctamF2YXNjcmlwdC1ndWlkZSNtYW51YWxseS10cmlnZ2VyLWdvYWwtY29udmVyc2lvbnNcbiAgICAgICAqXG4gICAgICAgKiBAcHJvcGVydHkgZ29hbElkIChyZXF1aXJlZCkgVW5pcXVlIEdvYWwgSURcbiAgICAgICAqIEBwcm9wZXJ0eSB2YWx1ZSAob3B0aW9uYWwpIHBhc3NlZCB0byBnb2FsIHRyYWNraW5nXG4gICAgICAgKi9cbiAgICAgIGNhc2UgJ3RyYWNrR29hbCc6XG4gICAgICAgIHBhcmFtcyA9IFtcbiAgICAgICAgICAndHJhY2tHb2FsJyxcbiAgICAgICAgICAocHJvcGVydGllcyBhcyBUcmFja0dvYWxNYXRvbW9Qcm9wZXJ0aWVzKS5nb2FsSWQsXG4gICAgICAgICAgKHByb3BlcnRpZXMgYXMgVHJhY2tHb2FsTWF0b21vUHJvcGVydGllcykudmFsdWUsXG4gICAgICAgIF07XG4gICAgICAgIGJyZWFrO1xuXG4gICAgICAvKipcbiAgICAgICAqIEBkZXNjcmlwdGlvbiBUcmFja3MgYSBzaXRlIHNlYXJjaFxuICAgICAgICpcbiAgICAgICAqIEBsaW5rIGh0dHBzOi8vbWF0b21vLm9yZy9kb2NzL3NpdGUtc2VhcmNoL1xuICAgICAgICogQGxpbmsgaHR0cHM6Ly9kZXZlbG9wZXIubWF0b21vLm9yZy9ndWlkZXMvdHJhY2tpbmctamF2YXNjcmlwdC1ndWlkZSNpbnRlcm5hbC1zZWFyY2gtdHJhY2tpbmdcbiAgICAgICAqXG4gICAgICAgKiBAcHJvcGVydHkga2V5d29yZCAocmVxdWlyZWQpIEtleXdvcmQgc2VhcmNoZWQgZm9yXG4gICAgICAgKiBAcHJvcGVydHkgY2F0ZWdvcnkgKG9wdGlvbmFsKSBTZWFyY2ggY2F0ZWdvcnlcbiAgICAgICAqIEBwcm9wZXJ0eSBzZWFyY2hDb3VudCAob3B0aW9uYWwpIE51bWJlciBvZiByZXN1bHRzXG4gICAgICAgKi9cbiAgICAgIGNhc2UgJ3RyYWNrU2l0ZVNlYXJjaCc6XG4gICAgICAgIHBhcmFtcyA9IFtcbiAgICAgICAgICAndHJhY2tTaXRlU2VhcmNoJyxcbiAgICAgICAgICAocHJvcGVydGllcyBhcyBUcmFja1NpdGVTZWFyY2hNYXRvbW9Qcm9wZXJ0aWVzKS5rZXl3b3JkLFxuICAgICAgICAgIChwcm9wZXJ0aWVzIGFzIFRyYWNrU2l0ZVNlYXJjaE1hdG9tb1Byb3BlcnRpZXMpLmNhdGVnb3J5LFxuICAgICAgICAgIChwcm9wZXJ0aWVzIGFzIFRyYWNrU2l0ZVNlYXJjaE1hdG9tb1Byb3BlcnRpZXMpLnNlYXJjaENvdW50LFxuICAgICAgICBdO1xuICAgICAgICBicmVhaztcblxuICAgICAgLyoqXG4gICAgICAgKiBAZGVzY3JpcHRpb24gTG9ncyBhbiBldmVudCB3aXRoIGFuIGV2ZW50IGNhdGVnb3J5IChWaWRlb3MsIE11c2ljLCBHYW1lcy4uLiksIGFuIGV2ZW50XG4gICAgICAgKiBhY3Rpb24gKFBsYXksIFBhdXNlLCBEdXJhdGlvbiwgQWRkIFBsYXlsaXN0LCBEb3dubG9hZGVkLCBDbGlja2VkLi4uKSwgYW5kIGFuIG9wdGlvbmFsXG4gICAgICAgKiBldmVudCBuYW1lIGFuZCBvcHRpb25hbCBudW1lcmljIHZhbHVlLlxuICAgICAgICpcbiAgICAgICAqIEBsaW5rIGh0dHBzOi8vbWF0b21vLm9yZy9kb2NzL2V2ZW50LXRyYWNraW5nL1xuICAgICAgICogQGxpbmsgaHR0cHM6Ly9kZXZlbG9wZXIubWF0b21vLm9yZy9hcGktcmVmZXJlbmNlL3RyYWNraW5nLWphdmFzY3JpcHQjdXNpbmctdGhlLXRyYWNrZXItb2JqZWN0XG4gICAgICAgKlxuICAgICAgICogQHByb3BlcnR5IGNhdGVnb3J5XG4gICAgICAgKiBAcHJvcGVydHkgYWN0aW9uXG4gICAgICAgKiBAcHJvcGVydHkgbmFtZSAob3B0aW9uYWwsIHJlY29tbWVuZGVkKVxuICAgICAgICogQHByb3BlcnR5IHZhbHVlIChvcHRpb25hbClcbiAgICAgICAqL1xuICAgICAgZGVmYXVsdDpcbiAgICAgICAgLy8gUEFRIHJlcXVpcmVzIHRoYXQgZXZlbnRWYWx1ZSBiZSBhbiBpbnRlZ2VyLCBzZWU6IGh0dHA6Ly9tYXRvbW8ub3JnL2RvY3MvZXZlbnQtdHJhY2tpbmdcbiAgICAgICAgaWYgKChwcm9wZXJ0aWVzIGFzIFRyYWNrRXZlbnRNYXRvbW9Qcm9wZXJ0aWVzKS52YWx1ZSkge1xuICAgICAgICAgIGNvbnN0IHBhcnNlZCA9IHBhcnNlSW50KChwcm9wZXJ0aWVzIGFzIFRyYWNrRXZlbnRNYXRvbW9Qcm9wZXJ0aWVzKS52YWx1ZSBhcyBhbnksIDEwKTtcbiAgICAgICAgICAocHJvcGVydGllcyBhcyBUcmFja0V2ZW50TWF0b21vUHJvcGVydGllcykudmFsdWUgPSBpc05hTihwYXJzZWQpID8gMCA6IHBhcnNlZDtcbiAgICAgICAgfVxuXG4gICAgICAgIHBhcmFtcyA9IFtcbiAgICAgICAgICAndHJhY2tFdmVudCcsXG4gICAgICAgICAgKHByb3BlcnRpZXMgYXMgVHJhY2tFdmVudE1hdG9tb1Byb3BlcnRpZXMpLmNhdGVnb3J5LFxuICAgICAgICAgIGFjdGlvbixcbiAgICAgICAgICAocHJvcGVydGllcyBhcyBUcmFja0V2ZW50TWF0b21vUHJvcGVydGllcykubmFtZSB8fFxuICAgICAgICAgICAgKHByb3BlcnRpZXMgYXMgVHJhY2tFdmVudE1hdG9tb1Byb3BlcnRpZXMpLmxhYmVsLCAvLyBDaGFuZ2VkIGluIGZhdm91ciBvZiBNYXRvbW8gZG9jdW1lbnRhdGlvbi4gQWRkZWQgZmFsbGJhY2sgc28gaXQncyBiYWNrd2FyZHMgY29tcGF0aWJsZS5cbiAgICAgICAgICAocHJvcGVydGllcyBhcyBUcmFja0V2ZW50TWF0b21vUHJvcGVydGllcykudmFsdWUsXG4gICAgICAgIF07XG4gICAgfVxuICAgIHRyeSB7XG4gICAgICBfcGFxLnB1c2gocGFyYW1zKTtcbiAgICB9IGNhdGNoIChlKSB7XG4gICAgICBpZiAoIShlIGluc3RhbmNlb2YgUmVmZXJlbmNlRXJyb3IpKSB7XG4gICAgICAgIHRocm93IGU7XG4gICAgICB9XG4gICAgfVxuICB9XG5cbiAgc2V0VXNlcm5hbWUodXNlcklkOiBzdHJpbmcgfCBib29sZWFuKSB7XG4gICAgdHJ5IHtcbiAgICAgIF9wYXEucHVzaChbJ3NldFVzZXJJZCcsIHVzZXJJZF0pO1xuICAgIH0gY2F0Y2ggKGUpIHtcbiAgICAgIGlmICghKGUgaW5zdGFuY2VvZiBSZWZlcmVuY2VFcnJvcikpIHtcbiAgICAgICAgdGhyb3cgZTtcbiAgICAgIH1cbiAgICB9XG4gIH1cblxuICAvKipcbiAgICogU2V0cyBjdXN0b20gZGltZW5zaW9ucyBpZiBhdCBsZWFzdCBvbmUgcHJvcGVydHkgaGFzIHRoZSBrZXkgXCJkaW1lbnNpb248bj5cIixcbiAgICogZS5nLiBkaW1lbnNpb24xMC4gSWYgdGhlcmUgYXJlIGN1c3RvbSBkaW1lbnNpb25zLCBhbnkgb3RoZXIgcHJvcGVydHkgaXMgaWdub3JlZC5cbiAgICpcbiAgICogSWYgdGhlcmUgYXJlIG5vIGN1c3RvbSBkaW1lbnNpb25zIGluIHRoZSBnaXZlbiBwcm9wZXJ0aWVzIG9iamVjdCwgdGhlIHByb3BlcnRpZXNcbiAgICogb2JqZWN0IGlzIHNhdmVkIGFzIGEgY3VzdG9tIHZhcmlhYmxlLlxuICAgKlxuICAgKiBJZiBpbiBkb3VidCwgcHJlZmVyIGN1c3RvbSBkaW1lbnNpb25zLlxuICAgKiBAbGluayBodHRwczovL21hdG9tby5vcmcvZG9jcy9jdXN0b20tdmFyaWFibGVzL1xuICAgKi9cbiAgc2V0VXNlclByb3BlcnRpZXMocHJvcGVydGllczogU2V0Q3VzdG9tVmFyaWFibGVNYXRvbW9Qcm9wZXJ0aWVzKSB7XG4gICAgY29uc3QgZGltZW5zaW9ucyA9IHRoaXMuc2V0Q3VzdG9tRGltZW5zaW9ucyhwcm9wZXJ0aWVzKTtcbiAgICB0cnkge1xuICAgICAgaWYgKGRpbWVuc2lvbnMubGVuZ3RoID09PSAwKSB7XG4gICAgICAgIF9wYXEucHVzaChbXG4gICAgICAgICAgJ3NldEN1c3RvbVZhcmlhYmxlJyxcbiAgICAgICAgICBwcm9wZXJ0aWVzLmluZGV4LFxuICAgICAgICAgIHByb3BlcnRpZXMubmFtZSxcbiAgICAgICAgICBwcm9wZXJ0aWVzLnZhbHVlLFxuICAgICAgICAgIHByb3BlcnRpZXMuc2NvcGUsXG4gICAgICAgIF0pO1xuICAgICAgfVxuICAgIH0gY2F0Y2ggKGUpIHtcbiAgICAgIGlmICghKGUgaW5zdGFuY2VvZiBSZWZlcmVuY2VFcnJvcikpIHtcbiAgICAgICAgdGhyb3cgZTtcbiAgICAgIH1cbiAgICB9XG4gIH1cblxuICAvKipcbiAgICogSWYgeW91IGNyZWF0ZWQgYSBjdXN0b20gdmFyaWFibGUgYW5kIHRoZW4gZGVjaWRlIHRvIHJlbW92ZSB0aGlzIHZhcmlhYmxlIGZyb21cbiAgICogYSB2aXNpdCBvciBwYWdlIHZpZXcsIHlvdSBjYW4gdXNlIGRlbGV0ZUN1c3RvbVZhcmlhYmxlLlxuICAgKlxuICAgKiBAbGluayBodHRwczovL2RldmVsb3Blci5tYXRvbW8ub3JnL2d1aWRlcy90cmFja2luZy1qYXZhc2NyaXB0LWd1aWRlI2RlbGV0aW5nLWEtY3VzdG9tLXZhcmlhYmxlXG4gICAqL1xuICBkZWxldGVkVXNlclByb3BlcnRpZXMocHJvcGVydGllczogRGVsZXRlQ3VzdG9tVmFyaWFibGVNYXRvbW9Qcm9wZXJ0aWVzKSB7XG4gICAgdHJ5IHtcbiAgICAgIF9wYXEucHVzaChbJ2RlbGV0ZUN1c3RvbVZhcmlhYmxlJywgcHJvcGVydGllcy5pbmRleCwgcHJvcGVydGllcy5zY29wZV0pO1xuICAgIH0gY2F0Y2ggKGUpIHtcbiAgICAgIGlmICghKGUgaW5zdGFuY2VvZiBSZWZlcmVuY2VFcnJvcikpIHtcbiAgICAgICAgdGhyb3cgZTtcbiAgICAgIH1cbiAgICB9XG4gIH1cblxuICBwcml2YXRlIHNldEN1c3RvbURpbWVuc2lvbnMocHJvcGVydGllczogU2V0Q3VzdG9tVmFyaWFibGVNYXRvbW9Qcm9wZXJ0aWVzKTogc3RyaW5nW10ge1xuICAgIGNvbnN0IGRpbWVuc2lvblJlZ2V4OiBSZWdFeHAgPSAvZGltZW5zaW9uWzEtOV1cXGQqLztcbiAgICBjb25zdCBkaW1lbnNpb25zID0gT2JqZWN0LmtleXMocHJvcGVydGllcykuZmlsdGVyKGtleSA9PiBkaW1lbnNpb25SZWdleC5leGVjKGtleSkpO1xuICAgIGRpbWVuc2lvbnMuZm9yRWFjaChkaW1lbnNpb24gPT4ge1xuICAgICAgY29uc3QgbnVtYmVyID0gTnVtYmVyKGRpbWVuc2lvbi5zdWJzdHIoOSkpO1xuICAgICAgX3BhcS5wdXNoKFsnc2V0Q3VzdG9tRGltZW5zaW9uJywgbnVtYmVyLCBwcm9wZXJ0aWVzW2RpbWVuc2lvbl1dKTtcbiAgICB9KTtcbiAgICByZXR1cm4gZGltZW5zaW9ucztcbiAgfVxufVxuIl19
|
303
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoibWF0b21vLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vc3JjL2xpYi9wcm92aWRlcnMvbWF0b21vL21hdG9tby50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQUUsVUFBVSxFQUFFLE1BQU0sZUFBZSxDQUFDOzs7QUE4STNDLE1BQU0sT0FBTyxrQkFBa0I7SUFDN0IsWUFBb0IsWUFBMEI7UUFBMUIsaUJBQVksR0FBWixZQUFZLENBQWM7UUFDNUMsSUFBSSxPQUFPLElBQUksS0FBSyxXQUFXLEVBQUU7WUFDL0IsT0FBTyxDQUFDLElBQUksQ0FBQyxrQkFBa0IsQ0FBQyxDQUFDO1NBQ2xDO1FBQ0QsSUFBSSxDQUFDLFlBQVksQ0FBQyxXQUFXLENBQUMsU0FBUyxDQUFDLENBQUMsQ0FBUyxFQUFFLEVBQUUsQ0FBQyxJQUFJLENBQUMsV0FBVyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUM7UUFDNUUsSUFBSSxDQUFDLFlBQVksQ0FBQyxpQkFBaUIsQ0FBQyxTQUFTLENBQUMsQ0FBQyxDQUFNLEVBQUUsRUFBRSxDQUN2RCxJQUFJLENBQUMsaUJBQWlCLENBQUMsQ0FBQyxDQUFDLENBQzFCLENBQUM7SUFDSixDQUFDO0lBRUQsYUFBYTtRQUNYLElBQUksQ0FBQyxZQUFZLENBQUMsU0FBUzthQUN4QixJQUFJLENBQUMsSUFBSSxDQUFDLFlBQVksQ0FBQyxtQkFBbUIsRUFBRSxDQUFDO2FBQzdDLFNBQVMsQ0FBQyxDQUFDLENBQUMsRUFBRSxDQUFDLElBQUksQ0FBQyxTQUFTLENBQUMsQ0FBQyxDQUFDLElBQUksQ0FBQyxDQUFDLENBQUM7UUFDMUMsSUFBSSxDQUFDLFlBQVksQ0FBQyxVQUFVO2FBQ3pCLElBQUksQ0FBQyxJQUFJLENBQUMsWUFBWSxDQUFDLG1CQUFtQixFQUFFLENBQUM7YUFDN0MsU0FBUyxDQUFDLENBQUMsQ0FBQyxFQUFFLENBQUMsSUFBSSxDQUFDLFVBQVUsQ0FBQyxDQUFDLENBQUMsTUFBTSxF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QUNsQyxNQUFNLENBQUMsQ0FBQzthQUNUO1NBQ0Y7SUFDSCxDQUFDO0lBRU8sbUJBQW1CLENBQUMsVUFBMEU7UUFDcEcsTUFBTSxjQUFjLEdBQVcsbUJBQW1CLENBQUM7UUFDbkQsTUFBTSxVQUFVLEdBQUcsTUFBTSxDQUFDLElBQUksQ0FBQyxVQUFVLENBQUMsQ0FBQyxNQUFNLENBQUMsR0FBRyxDQUFDLEVBQUUsQ0FBQyxjQUFjLENBQUMsSUFBSSxDQUFDLEdBQUcsQ0FBQyxDQUFDLENBQUM7UUFDbkYsVUFBVSxDQUFDLE9BQU8sQ0FBQyxTQUFTLENBQUMsRUFBRTtZQUM3QixNQUFNLE1BQU0sR0FBRyxNQUFNLENBQUMsU0FBUyxDQUFDLE1BQU0sQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDO1lBQzNDLElBQUksQ0FBQyxJQUFJLENBQUMsQ0FBQyxvQkFBb0IsRUFBRSxNQUFNLEVBQUUsVUFBVSxDQUFDLFNBQVMsQ0FBQyxDQUFDLENBQUMsQ0FBQztRQUNuRSxDQUFDLENBQUMsQ0FBQztRQUNILE9BQU8sVUFBVSxDQUFDO0lBQ3BCLENBQUM7OytHQTFUVSxrQkFBa0I7bUhBQWxCLGtCQUFrQixjQURMLE1BQU07MkZBQ25CLGtCQUFrQjtrQkFEOUIsVUFBVTttQkFBQyxFQUFFLFVBQVUsRUFBRSxNQUFNLEVBQUUiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBJbmplY3RhYmxlIH0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XG5cbmltcG9ydCB7IEFuZ3VsYXJ0aWNzMiB9IGZyb20gJy4uLy4uL2FuZ3VsYXJ0aWNzMi1jb3JlJztcblxuZGVjbGFyZSB2YXIgX3BhcTogYW55O1xuXG5leHBvcnQgdHlwZSBFdmVudFRyYWNrQWN0aW9uID1cbiAgfCAnc2V0RWNvbW1lcmNlVmlldydcbiAgfCAnYWRkRWNvbW1lcmNlSXRlbSdcbiAgfCAndHJhY2tFY29tbWVyY2VDYXJ0VXBkYXRlJ1xuICB8ICd0cmFja0Vjb21tZXJjZU9yZGVyJ1xuICB8ICd0cmFja0xpbmsnXG4gIHwgJ3RyYWNrR29hbCdcbiAgfCAndHJhY2tTaXRlU2VhcmNoJ1xuICB8IHN0cmluZztcblxuZXhwb3J0IHR5cGUgU2NvcGVNYXRvbW8gPSAndmlzaXQnIHwgJ3BhZ2UnO1xuXG5leHBvcnQgaW50ZXJmYWNlIERpbWVuc2lvbnNNYXRvbW9Qcm9wZXJ0aWVzIHtcbiAgZGltZW5zaW9uMT86IHN0cmluZztcbiAgZGltZW5zaW9uMj86IHN0cmluZztcbiAgZGltZW5zaW9uMz86IHN0cmluZztcbiAgZGltZW5zaW9uND86IHN0cmluZztcbiAgZGltZW5zaW9uNT86IHN0cmluZztcbiAgZGltZW5zaW9uNj86IHN0cmluZztcbiAgZGltZW5zaW9uNz86IHN0cmluZztcbiAgZGltZW5zaW9uOD86IHN0cmluZztcbiAgZGltZW5zaW9uOT86IHN0cmluZztcbiAgZGltZW5zaW9uMTA/OiBzdHJpbmc7XG4gIGRpbWVuc2lvbjExPzogc3RyaW5nO1xuICBkaW1lbnNpb24xMj86IHN0cmluZztcbiAgZGltZW5zaW9uMTM/OiBzdHJpbmc7XG4gIGRpbWVuc2lvbjE0Pzogc3RyaW5nO1xuICBkaW1lbnNpb24xNT86IHN0cmluZztcbn1cbmV4cG9ydCBpbnRlcmZhY2UgU2V0RWNvbW1lcmNlVmlld01hdG9tb1Byb3BlcnRpZXMge1xuICAvKiogQGNsYXNzIFNldEVjb21tZXJjZVZpZXdNYXRvbW9Qcm9wZXJ0aWVzICovXG4gIHByb2R1Y3RTS1U6IHN0cmluZztcbiAgLyoqIEBjbGFzcyBTZXRFY29tbWVyY2VWaWV3TWF0b21vUHJvcGVydGllcyAqL1xuICBwcm9kdWN0TmFtZTogc3RyaW5nO1xuICAvKiogQGNsYXNzIFNldEVjb21tZXJjZVZpZXdNYXRvbW9Qcm9wZXJ0aWVzICovXG4gIGNhdGVnb3J5TmFtZTogc3RyaW5nO1xuICAvKiogQGNsYXNzIFNldEVjb21tZXJjZVZpZXdNYXRvbW9Qcm9wZXJ0aWVzICovXG4gIHByaWNlOiBzdHJpbmc7XG59XG5cbmV4cG9ydCBpbnRlcmZhY2UgQWRkRWNvbW1lcmNlSXRlbVByb3BlcnRpZXMge1xuICAvKiogQGNsYXNzIEFkZEVjb21tZXJjZUl0ZW1Qcm9wZXJ0aWVzICovXG4gIHByb2R1Y3RTS1U6IHN0cmluZztcbiAgLyoqIEBjbGFzcyBBZGRFY29tbWVyY2VJdGVtUHJvcGVydGllcyAqL1xuICBwcm9kdWN0TmFtZTogc3RyaW5nO1xuICAvKiogQGNsYXNzIEFkZEVjb21tZXJjZUl0ZW1Qcm9wZXJ0aWVzICovXG4gIHByb2R1Y3RDYXRlZ29yeTogc3RyaW5nO1xuICAvKiogQGNsYXNzIEFkZEVjb21tZXJjZUl0ZW1Qcm9wZXJ0aWVzICovXG4gIHByaWNlOiBzdHJpbmc7XG4gIC8qKiBAY2xhc3MgQWRkRWNvbW1lcmNlSXRlbVByb3BlcnRpZXMgKi9cbiAgcXVhbnRpdHk6IHN0cmluZztcbn1cblxuZXhwb3J0IGludGVyZmFjZSBUcmFja0Vjb21tZXJjZUNhcnRVcGRhdGVNYXRvbW9Qcm9wZXJ0aWVzIHtcbiAgLyoqIEBjbGFzcyBUcmFja0Vjb21tZXJjZUNhcnRVcGRhdGVNYXRvbW9Qcm9wZXJ0aWVzICovXG4gIGdyYW5kVG90YWw6IHN0cmluZztcbn1cblxuZXhwb3J0IGludGVyZmFjZSBUcmFja0Vjb21tZXJjZU9yZGVyTWF0b21vUHJvcGVydGllcyB7XG4gIC8qKiBAY2xhc3MgVHJhY2tFY29tbWVyY2VPcmRlck1hdG9tb1Byb3BlcnRpZXMgKi9cbiAgb3JkZXJJZDogc3RyaW5nO1xuICAvKiogQGNsYXNzIFRyYWNrRWNvbW1lcmNlT3JkZXJNYXRvbW9Qcm9wZXJ0aWVzICovXG4gIGdyYW5kVG90YWw6IHN0cmluZztcbiAgLyoqIEBjbGFzcyBUcmFja0Vjb21tZXJjZU9yZGVyTWF0b21vUHJvcGVydGllcyAqL1xuICBzdWJUb3RhbDogc3RyaW5nO1xuICAvKiogQGNsYXNzIFRyYWNrRWNvbW1lcmNlT3JkZXJNYXRvbW9Qcm9wZXJ0aWVzICovXG4gIHRheDogc3RyaW5nO1xuICAvKiogQGNsYXNzIFRyYWNrRWNvbW1lcmNlT3JkZXJNYXRvbW9Qcm9wZXJ0aWVzICovXG4gIHNoaXBwaW5nOiBzdHJpbmc7XG4gIC8qKiBAY2xhc3MgVHJhY2tFY29tbWVyY2VPcmRlck1hdG9tb1Byb3BlcnRpZXMgKi9cbiAgZGlzY291bnQ6IHN0cmluZztcbn1cblxuZXhwb3J0IGludGVyZmFjZSBUcmFja0xpbmtNYXRvbW9Qcm9wZXJ0aWVzIHtcbiAgLyoqIEBjbGFzcyBUcmFja0xpbmtNYXRvbW9Qcm9wZXJ0aWVzICovXG4gIHVybDogc3RyaW5nO1xuICAvKiogQGNsYXNzIFRyYWNrTGlua01hdG9tb1Byb3BlcnRpZXMgKi9cbiAgbGlua1R5cGU6IHN0cmluZztcbn1cblxuZXhwb3J0IGludGVyZmFjZSBUcmFja0dvYWxNYXRvbW9Qcm9wZXJ0aWVzIHtcbiAgLyoqIEBjbGFzcyBUcmFja0dvYWxNYXRvbW9Qcm9wZXJ0aWVzICovXG4gIGdvYWxJZDogc3RyaW5nO1xuICAvKiogQGNsYXNzIFRyYWNrR29hbE1hdG9tb1Byb3BlcnRpZXMgKi9cbiAgdmFsdWU6IHN0cmluZztcbn1cblxuZXhwb3J0IGludGVyZmFjZSBUcmFja1NpdGVTZWFyY2hNYXRvbW9Qcm9wZXJ0aWVzIHtcbiAgLyoqIEBjbGFzcyBUcmFja1NpdGVTZWFyY2hNYXRvbW9Qcm9wZXJ0aWVzICovXG4gIGtleXdvcmQ6IHN0cmluZztcbiAgLyoqIEBjbGFzcyBUcmFja1NpdGVTZWFyY2hNYXRvbW9Qcm9wZXJ0aWVzICovXG4gIGNhdGVnb3J5OiBzdHJpbmc7XG4gIC8qKiBAY2xhc3MgVHJhY2tTaXRlU2VhcmNoTWF0b21vUHJvcGVydGllcyAqL1xuICBzZWFyY2hDb3VudDogc3RyaW5nO1xufVxuXG5leHBvcnQgaW50ZXJmYWNlIFRyYWNrRXZlbnRNYXRvbW9Qcm9wZXJ0aWVzIHtcbiAgLyoqIEBjbGFzcyBUcmFja0V2ZW50TWF0b21vUHJvcGVydGllcyAqL1xuICBjYXRlZ29yeTogc3RyaW5nO1xuICAvKiogQGNsYXNzIFRyYWNrRXZlbnRNYXRvbW9Qcm9wZXJ0aWVzICovXG4gIG5hbWU/OiBzdHJpbmc7XG4gIC8qKiBAY2xhc3MgVHJhY2tFdmVudE1hdG9tb1Byb3BlcnRpZXMgKi9cbiAgbGFiZWw/OiBzdHJpbmc7XG4gIC8qKiBAY2xhc3MgVHJhY2tFdmVudE1hdG9tb1Byb3BlcnRpZXMgKi9cbiAgdmFsdWU/OiBudW1iZXIgfCBzdHJpbmc7XG59XG5cbmV4cG9ydCBpbnRlcmZhY2UgU2V0Q3VzdG9tVmFyaWFibGVNYXRvbW9Qcm9wZXJ0aWVzIHtcbiAgLyoqIEBjbGFzcyBTZXRDdXN0b21WYXJpYWJsZU1hdG9tb1Byb3BlcnRpZXMgKi9cbiAgaW5kZXg6IG51bWJlcjtcbiAgLyoqIEBjbGFzcyBTZXRDdXN0b21WYXJpYWJsZU1hdG9tb1Byb3BlcnRpZXMgKi9cbiAgbmFtZTogc3RyaW5nO1xuICAvKiogQGNsYXNzIFNldEN1c3RvbVZhcmlhYmxlTWF0b21vUHJvcGVydGllcyAqL1xuICB2YWx1ZTogc3RyaW5nO1xuICAvKiogQGNsYXNzIFNldEN1c3RvbVZhcmlhYmxlTWF0b21vUHJvcGVydGllcyAqL1xuICBzY29wZTogU2NvcGVNYXRvbW87XG59XG5cbmV4cG9ydCBpbnRlcmZhY2UgRGVsZXRlQ3VzdG9tVmFyaWFibGVNYXRvbW9Qcm9wZXJ0aWVzIHtcbiAgLyoqIEBjbGFzcyBEZWxldGVDdXN0b21WYXJpYWJsZU1hdG9tb1Byb3BlcnRpZXMgKi9cbiAgaW5kZXg6IG51bWJlcjtcbiAgLyoqIEBjbGFzcyBEZWxldGVDdXN0b21WYXJpYWJsZU1hdG9tb1Byb3BlcnRpZXMgKi9cbiAgc2NvcGU6IFNjb3BlTWF0b21vO1xufVxuXG5leHBvcnQgdHlwZSBFdmVudFRyYWNrYWN0aW9uUHJvcGVydGllcyA9XG4gIHwgU2V0RWNvbW1lcmNlVmlld01hdG9tb1Byb3BlcnRpZXNcbiAgfCBBZGRFY29tbWVyY2VJdGVtUHJvcGVydGllc1xuICB8IFRyYWNrRWNvbW1lcmNlQ2FydFVwZGF0ZU1hdG9tb1Byb3BlcnRpZXNcbiAgfCBUcmFja0Vjb21tZXJjZU9yZGVyTWF0b21vUHJvcGVydGllc1xuICB8IFRyYWNrTGlua01hdG9tb1Byb3BlcnRpZXNcbiAgfCBUcmFja0dvYWxNYXRvbW9Qcm9wZXJ0aWVzXG4gIHwgVHJhY2tTaXRlU2VhcmNoTWF0b21vUHJvcGVydGllc1xuICB8IFRyYWNrRXZlbnRNYXRvbW9Qcm9wZXJ0aWVzO1xuXG5ASW5qZWN0YWJsZSh7IHByb3ZpZGVkSW46ICdyb290JyB9KVxuZXhwb3J0IGNsYXNzIEFuZ3VsYXJ0aWNzMk1hdG9tbyB7XG4gIGNvbnN0cnVjdG9yKHByaXZhdGUgYW5ndWxhcnRpY3MyOiBBbmd1bGFydGljczIpIHtcbiAgICBpZiAodHlwZW9mIF9wYXEgPT09ICd1bmRlZmluZWQnKSB7XG4gICAgICBjb25zb2xlLndhcm4oJ01hdG9tbyBub3QgZm91bmQnKTtcbiAgICB9XG4gICAgdGhpcy5hbmd1bGFydGljczIuc2V0VXNlcm5hbWUuc3Vic2NyaWJlKCh4OiBzdHJpbmcpID0+IHRoaXMuc2V0VXNlcm5hbWUoeCkpO1xuICAgIHRoaXMuYW5ndWxhcnRpY3MyLnNldFVzZXJQcm9wZXJ0aWVzLnN1YnNjcmliZSgoeDogYW55KSA9PlxuICAgICAgdGhpcy5zZXRVc2VyUHJvcGVydGllcyh4KSxcbiAgICApO1xuICB9XG5cbiAgc3RhcnRUcmFja2luZygpOiB2b2lkIHtcbiAgICB0aGlzLmFuZ3VsYXJ0aWNzMi5wYWdlVHJhY2tcbiAgICAgIC5waXBlKHRoaXMuYW5ndWxhcnRpY3MyLmZpbHRlckRldmVsb3Blck1vZGUoKSlcbiAgICAgIC5zdWJzY3JpYmUoeCA9PiB0aGlzLnBhZ2VUcmFjayh4LnBhdGgpKTtcbiAgICB0aGlzLmFuZ3VsYXJ0aWNzMi5ldmVudFRyYWNrXG4gICAgICAucGlwZSh0aGlzLmFuZ3VsYXJ0aWNzMi5maWx0ZXJEZXZlbG9wZXJNb2RlKCkpXG4gICAgICAuc3Vic2NyaWJlKHggPT4gdGhpcy5ldmVudFRyYWNrKHguYWN0aW9uLCB4LnByb3BlcnRpZXMpKTtcbiAgfVxuXG4gIHBhZ2VUcmFjayhwYXRoOiBzdHJpbmcsIHRpdGxlPzogc3RyaW5nKSB7XG4gICAgdHJ5IHtcbiAgICAgIGlmICghd2luZG93LmxvY2F0aW9uLm9yaWdpbikge1xuICAgICAgICAod2luZG93LmxvY2F0aW9uIGFzIGFueSkub3JpZ2luID1cbiAgICAgICAgICB3aW5kb3cubG9jYXRpb24ucHJvdG9jb2wgK1xuICAgICAgICAgICcvLycgK1xuICAgICAgICAgIHdpbmRvdy5sb2NhdGlvbi5ob3N0bmFtZSArXG4gICAgICAgICAgKHdpbmRvdy5sb2NhdGlvbi5wb3J0ID8gJzonICsgd2luZG93LmxvY2F0aW9uLnBvcnQgOiAnJyk7XG4gICAgICB9XG4gICAgICBfcGFxLnB1c2goWydzZXREb2N1bWVudFRpdGxlJywgdGl0bGUgfHwgd2luZG93LmRvY3VtZW50LnRpdGxlXSk7XG4gICAgICBfcGFxLnB1c2goWydzZXRDdXN0b21VcmwnLCB3aW5kb3cubG9jYXRpb24ub3JpZ2luICsgcGF0aF0pO1xuICAgICAgX3BhcS5wdXNoKFsndHJhY2tQYWdlVmlldyddKTtcbiAgICB9IGNhdGNoIChlKSB7XG4gICAgICBpZiAoIShlIGluc3RhbmNlb2YgUmVmZXJlbmNlRXJyb3IpKSB7XG4gICAgICAgIHRocm93IGU7XG4gICAgICB9XG4gICAgfVxuICB9XG5cbiAgcmVzZXRVc2VyKCkge1xuICAgIHRyeSB7XG4gICAgICBfcGFxLnB1c2goWydhcHBlbmRUb1RyYWNraW5nVXJsJywgJ25ld192aXNpdD0xJ10pOyAvLyAoMSkgZm9yY2VzIGEgbmV3IHZpc2l0XG4gICAgICBfcGFxLnB1c2goWydkZWxldGVDb29raWVzJ10pOyAvLyAoMikgZGVsZXRlcyBleGlzdGluZyB0cmFja2luZyBjb29raWVzIHRvIHN0YXJ0IHRoZSBuZXcgdmlzaXRcbiAgICB9IGNhdGNoIChlKSB7XG4gICAgICBpZiAoIShlIGluc3RhbmNlb2YgUmVmZXJlbmNlRXJyb3IpKSB7XG4gICAgICAgIHRocm93IGU7XG4gICAgICB9XG4gICAgfVxuICB9XG5cbiAgZXZlbnRUcmFjayhhY3Rpb246ICdzZXRFY29tbWVyY2VWaWV3JywgcHJvcGVydGllczogU2V0RWNvbW1lcmNlVmlld01hdG9tb1Byb3BlcnRpZXMpOiB2b2lkO1xuICBldmVudFRyYWNrKGFjdGlvbjogJ2FkZEVjb21tZXJjZUl0ZW0nLCBwcm9wZXJ0aWVzOiBBZGRFY29tbWVyY2VJdGVtUHJvcGVydGllcyk6IHZvaWQ7XG4gIGV2ZW50VHJhY2soXG4gICAgYWN0aW9uOiAndHJhY2tFY29tbWVyY2VDYXJ0VXBkYXRlJyxcbiAgICBwcm9wZXJ0aWVzOiBUcmFja0Vjb21tZXJjZUNhcnRVcGRhdGVNYXRvbW9Qcm9wZXJ0aWVzLFxuICApOiB2b2lkO1xuICBldmVudFRyYWNrKGFjdGlvbjogJ3RyYWNrRWNvbW1lcmNlT3JkZXInLCBwcm9wZXJ0aWVzOiBUcmFja0Vjb21tZXJjZU9yZGVyTWF0b21vUHJvcGVydGllcyk6IHZvaWQ7XG4gIGV2ZW50VHJhY2soYWN0aW9uOiAndHJhY2tMaW5rJywgcHJvcGVydGllczogVHJhY2tMaW5rTWF0b21vUHJvcGVydGllcyk6IHZvaWQ7XG4gIGV2ZW50VHJhY2soYWN0aW9uOiAndHJhY2tHb2FsJywgcHJvcGVydGllczogVHJhY2tHb2FsTWF0b21vUHJvcGVydGllcyk6IHZvaWQ7XG4gIGV2ZW50VHJhY2soYWN0aW9uOiAndHJhY2tTaXRlU2VhcmNoJywgcHJvcGVydGllczogVHJhY2tTaXRlU2VhcmNoTWF0b21vUHJvcGVydGllcyk6IHZvaWQ7XG4gIGV2ZW50VHJhY2soYWN0aW9uOiBzdHJpbmcsIHByb3BlcnRpZXM6IFRyYWNrRXZlbnRNYXRvbW9Qcm9wZXJ0aWVzKTogdm9pZDtcblxuICAvKipcbiAgICogVHJhY2sgYSBiYXNpYyBldmVudCBpbiBNYXRvbW8sIG9yIHNlbmQgYW4gZWNvbW1lcmNlIGV2ZW50LlxuICAgKlxuICAgKiBAcGFyYW0gYWN0aW9uIEEgc3RyaW5nIGNvcnJlc3BvbmRpbmcgdG8gdGhlIHR5cGUgb2YgZXZlbnQgdGhhdCBuZWVkcyB0byBiZSB0cmFja2VkLlxuICAgKiBAcGFyYW0gcHJvcGVydGllcyBUaGUgcHJvcGVydGllcyB0aGF0IG5lZWQgdG8gYmUgbG9nZ2VkIHdpdGggdGhlIGV2ZW50LlxuICAgKi9cbiAgZXZlbnRUcmFjayhhY3Rpb246IEV2ZW50VHJhY2tBY3Rpb24sIHByb3BlcnRpZXM/OiBFdmVudFRyYWNrYWN0aW9uUHJvcGVydGllcykge1xuICAgIGxldCBwYXJhbXMgPSBbXTtcbiAgICBzd2l0Y2ggKGFjdGlvbikge1xuICAgICAgLyoqXG4gICAgICAgKiBAZGVzY3JpcHRpb24gU2V0cyB0aGUgY3VycmVudCBwYWdlIHZpZXcgYXMgYSBwcm9kdWN0IG9yIGNhdGVnb3J5IHBhZ2Ugdmlldy4gV2hlbiB5b3UgY2FsbFxuICAgICAgICogc2V0RWNvbW1lcmNlVmlldyBpdCBtdXN0IGJlIGZvbGxvd2VkIGJ5IGEgY2FsbCB0byB0cmFja1BhZ2VWaWV3IHRvIHJlY29yZCB0aGUgcHJvZHVjdCBvclxuICAgICAgICogY2F0ZWdvcnkgcGFnZSB2aWV3LlxuICAgICAgICpcbiAgICAgICAqIEBsaW5rIGh0dHBzOi8vbWF0b21vLm9yZy9kb2NzL2Vjb21tZXJjZS1hbmFseXRpY3MvI3RyYWNraW5nLXByb2R1Y3QtcGFnZS12aWV3cy1jYXRlZ29yeS1wYWdlLXZpZXdzLW9wdGlvbmFsXG4gICAgICAgKiBAbGluayBodHRwczovL2RldmVsb3Blci5tYXRvbW8ub3JnL2FwaS1yZWZlcmVuY2UvdHJhY2tpbmctamF2YXNjcmlwdCNlY29tbWVyY2VcbiAgICAgICAqXG4gICAgICAgKiBAcHJvcGVydHkgcHJvZHVjdFNLVSAocmVxdWlyZWQpIFNLVTogUHJvZHVjdCB1bmlxdWUgaWRlbnRpZmllclxuICAgICAgICogQHByb3BlcnR5IHByb2R1Y3ROYW1lIChvcHRpb25hbCkgUHJvZHVjdCBuYW1lXG4gICAgICAgKiBAcHJvcGVydHkgY2F0ZWdvcnlOYW1lIChvcHRpb25hbCkgUHJvZHVjdCBjYXRlZ29yeSwgb3IgYXJyYXkgb2YgdXAgdG8gNSBjYXRlZ29yaWVzXG4gICAgICAgKiBAcHJvcGVydHkgcHJpY2UgKG9wdGlvbmFsKSBQcm9kdWN0IFByaWNlIGFzIGRpc3BsYXllZCBvbiB0aGUgcGFnZVxuICAgICAgICovXG4gICAgICBjYXNlICdzZXRFY29tbWVyY2VWaWV3JzpcbiAgICAgICAgcGFyYW1zID0gW1xuICAgICAgICAgICdzZXRFY29tbWVyY2VWaWV3JyxcbiAgICAgICAgICAocHJvcGVydGllcyBhcyBTZXRFY29tbWVyY2VWaWV3TWF0b21vUHJvcGVydGllcykucHJvZHVjdFNLVSxcbiAgICAgICAgICAocHJvcGVydGllcyBhcyBTZXRFY29tbWVyY2VWaWV3TWF0b21vUHJvcGVydGllcykucHJvZHVjdE5hbWUsXG4gICAgICAgICAgKHByb3BlcnRpZXMgYXMgU2V0RWNvbW1lcmNlVmlld01hdG9tb1Byb3BlcnRpZXMpLmNhdGVnb3J5TmFtZSxcbiAgICAgICAgICAocHJvcGVydGllcyBhcyBTZXRFY29tbWVyY2VWaWV3TWF0b21vUHJvcGVydGllcykucHJpY2UsXG4gICAgICAgIF07XG4gICAgICAgIGJyZWFrO1xuXG4gICAgICAvKipcbiAgICAgICAqIEBkZXNjcmlwdGlvbiBBZGRzIGEgcHJvZHVjdCBpbnRvIHRoZSBlY29tbWVyY2Ugb3JkZXIuIE11c3QgYmUgY2FsbGVkIGZvciBlYWNoIHByb2R1Y3QgaW5cbiAgICAgICAqIHRoZSBvcmRlci5cbiAgICAgICAqXG4gICAgICAgKiBAbGluayBodHRwczovL21hdG9tby5vcmcvZG9jcy9lY29tbWVyY2UtYW5hbHl0aWNzLyN0cmFja2luZy1lY29tbWVyY2Utb3JkZXJzLWl0ZW1zLXB1cmNoYXNlZC1yZXF1aXJlZFxuICAgICAgICogQGxpbmsgaHR0cHM6Ly9kZXZlbG9wZXIubWF0b21vLm9yZy9hcGktcmVmZXJlbmNlL3RyYWNraW5nLWphdmFzY3JpcHQjZWNvbW1lcmNlXG4gICAgICAgKlxuICAgICAgICogQHByb3BlcnR5IHByb2R1Y3RTS1UgKHJlcXVpcmVkKSBTS1U6IFByb2R1Y3QgdW5pcXVlIGlkZW50aWZpZXJcbiAgICAgICAqIEBwcm9wZXJ0eSBwcm9kdWN0TmFtZSAob3B0aW9uYWwpIFByb2R1Y3QgbmFtZVxuICAgICAgICogQHByb3BlcnR5IGNhdGVnb3J5TmFtZSAob3B0aW9uYWwpIFByb2R1Y3QgY2F0ZWdvcnksIG9yIGFycmF5IG9mIHVwIHRvIDUgY2F0ZWdvcmllc1xuICAgICAgICogQHByb3BlcnR5IHByaWNlIChyZWNvbW1lbmRlZCkgUHJvZHVjdCBwcmljZVxuICAgICAgICogQHByb3BlcnR5IHF1YW50aXR5IChvcHRpb25hbCwgZGVmYXVsdCB0byAxKSBQcm9kdWN0IHF1YW50aXR5XG4gICAgICAgKi9cbiAgICAgIGNhc2UgJ2FkZEVjb21tZXJjZUl0ZW0nOlxuICAgICAgICBwYXJhbXMgPSBbXG4gICAgICAgICAgJ2FkZEVjb21tZXJjZUl0ZW0nLFxuICAgICAgICAgIChwcm9wZXJ0aWVzIGFzIEFkZEVjb21tZXJjZUl0ZW1Qcm9wZXJ0aWVzKS5wcm9kdWN0U0tVLFxuICAgICAgICAgIChwcm9wZXJ0aWVzIGFzIEFkZEVjb21tZXJjZUl0ZW1Qcm9wZXJ0aWVzKS5wcm9kdWN0TmFtZSxcbiAgICAgICAgICAocHJvcGVydGllcyBhcyBBZGRFY29tbWVyY2VJdGVtUHJvcGVydGllcykucHJvZHVjdENhdGVnb3J5LFxuICAgICAgICAgIChwcm9wZXJ0aWVzIGFzIEFkZEVjb21tZXJjZUl0ZW1Qcm9wZXJ0aWVzKS5wcmljZSxcbiAgICAgICAgICAocHJvcGVydGllcyBhcyBBZGRFY29tbWVyY2VJdGVtUHJvcGVydGllcykucXVhbnRpdHksXG4gICAgICAgIF07XG4gICAgICAgIGJyZWFrO1xuXG4gICAgICAvKipcbiAgICAgICAqIEBkZXNjcmlwdGlvbiBUcmFja3MgYSBzaG9wcGluZyBjYXJ0LiBDYWxsIHRoaXMgamF2YXNjcmlwdCBmdW5jdGlvbiBldmVyeSB0aW1lIGEgdXNlciBpc1xuICAgICAgICogYWRkaW5nLCB1cGRhdGluZyBvciBkZWxldGluZyBhIHByb2R1Y3QgZnJvbSB0aGUgY2FydC5cbiAgICAgICAqXG4gICAgICAgKiBAbGluayBodHRwczovL21hdG9tby5vcmcvZG9jcy9lY29tbWVyY2UtYW5hbHl0aWNzLyN0cmFja2luZy1hZGQtdG8tY2FydC1pdGVtcy1hZGRlZC10by10aGUtY2FydC1vcHRpb25hbFxuICAgICAgICogQGxpbmsgaHR0cHM6Ly9kZXZlbG9wZXIubWF0b21vLm9yZy9hcGktcmVmZXJlbmNlL3RyYWNraW5nLWphdmFzY3JpcHQjZWNvbW1lcmNlXG4gICAgICAgKlxuICAgICAgICogQHByb3BlcnR5IGdyYW5kVG90YWwgKHJlcXVpcmVkKSBDYXJ0IGFtb3VudFxuICAgICAgICovXG4gICAgICBjYXNlICd0cmFja0Vjb21tZXJjZUNhcnRVcGRhdGUnOlxuICAgICAgICBwYXJhbXMgPSBbXG4gICAgICAgICAgJ3RyYWNrRWNvbW1lcmNlQ2FydFVwZGF0ZScsXG4gICAgICAgICAgKHByb3BlcnRpZXMgYXMgVHJhY2tFY29tbWVyY2VDYXJ0VXBkYXRlTWF0b21vUHJvcGVydGllcykuZ3JhbmRUb3RhbCxcbiAgICAgICAgXTtcbiAgICAgICAgYnJlYWs7XG5cbiAgICAgIC8qKlxuICAgICAgICogQGRlc2NyaXB0aW9uIFRyYWNrcyBhbiBFY29tbWVyY2Ugb3JkZXIsIGluY2x1ZGluZyBhbnkgZWNvbW1lcmNlIGl0ZW0gcHJldmlvdXNseSBhZGRlZCB0b1xuICAgICAgICogdGhlIG9yZGVyLiBvcmRlcklkIGFuZCBncmFuZFRvdGFsIChpZS4gcmV2ZW51ZSkgYXJlIHJlcXVpcmVkIHBhcmFtZXRlcnMuXG4gICAgICAgKlxuICAgICAgICogQGxpbmsgaHR0cHM6Ly9tYXRvbW8ub3JnL2RvY3MvZWNvbW1lcmNlLWFuYWx5dGljcy8jdHJhY2tpbmctZWNvbW1lcmNlLW9yZGVycy1pdGVtcy1wdXJjaGFzZWQtcmVxdWlyZWRcbiAgICAgICAqIEBsaW5rIGh0dHBzOi8vZGV2ZWxvcGVyLm1hdG9tby5vcmcvYXBpLXJlZmVyZW5jZS90cmFja2luZy1qYXZhc2NyaXB0I2Vjb21tZXJjZVxuICAgICAgICpcbiAgICAgICAqIEBwcm9wZXJ0eSBvcmRlcklkIChyZXF1aXJlZCkgVW5pcXVlIE9yZGVyIElEXG4gICAgICAgKiBAcHJvcGVydHkgZ3JhbmRUb3RhbCAocmVxdWlyZWQpIE9yZGVyIFJldmVudWUgZ3JhbmQgdG90YWwgKGluY2x1ZGVzIHRheCwgc2hpcHBpbmcsIGFuZCBzdWJ0cmFjdGVkIGRpc2NvdW50KVxuICAgICAgICogQHByb3BlcnR5IHN1YlRvdGFsIChvcHRpb25hbCkgT3JkZXIgc3ViIHRvdGFsIChleGNsdWRlcyBzaGlwcGluZylcbiAgICAgICAqIEBwcm9wZXJ0eSB0YXggKG9wdGlvbmFsKSBUYXggYW1vdW50XG4gICAgICAgKiBAcHJvcGVydHkgc2hpcHBpbmcgKG9wdGlvbmFsKSBTaGlwcGluZyBhbW91bnRcbiAgICAgICAqIEBwcm9wZXJ0eSBkaXNjb3VudCAob3B0aW9uYWwpIERpc2NvdW50IG9mZmVyZWQgKHNldCB0byBmYWxzZSBmb3IgdW5zcGVjaWZpZWQgcGFyYW1ldGVyKVxuICAgICAgICovXG4gICAgICBjYXNlICd0cmFja0Vjb21tZXJjZU9yZGVyJzpcbiAgICAgICAgcGFyYW1zID0gW1xuICAgICAgICAgICd0cmFja0Vjb21tZXJjZU9yZGVyJyxcbiAgICAgICAgICAocHJvcGVydGllcyBhcyBUcmFja0Vjb21tZXJjZU9yZGVyTWF0b21vUHJvcGVydGllcykub3JkZXJJZCxcbiAgICAgICAgICAocHJvcGVydGllcyBhcyBUcmFja0Vjb21tZXJjZU9yZGVyTWF0b21vUHJvcGVydGllcykuZ3JhbmRUb3RhbCxcbiAgICAgICAgICAocHJvcGVydGllcyBhcyBUcmFja0Vjb21tZXJjZU9yZGVyTWF0b21vUHJvcGVydGllcykuc3ViVG90YWwsXG4gICAgICAgICAgKHByb3BlcnRpZXMgYXMgVHJhY2tFY29tbWVyY2VPcmRlck1hdG9tb1Byb3BlcnRpZXMpLnRheCxcbiAgICAgICAgICAocHJvcGVydGllcyBhcyBUcmFja0Vjb21tZXJjZU9yZGVyTWF0b21vUHJvcGVydGllcykuc2hpcHBpbmcsXG4gICAgICAgICAgKHByb3BlcnRpZXMgYXMgVHJhY2tFY29tbWVyY2VPcmRlck1hdG9tb1Byb3BlcnRpZXMpLmRpc2NvdW50LFxuICAgICAgICBdO1xuICAgICAgICBicmVhaztcblxuICAgICAgLyoqXG4gICAgICAgKiBAZGVzY3JpcHRpb24gVG8gbWFudWFsbHkgdHJpZ2dlciBhbiBvdXRsaW5rXG4gICAgICAgKlxuICAgICAgICogQGxpbmsgaHR0cHM6Ly9tYXRvbW8ub3JnL2RvY3MvdHJhY2tpbmctZ29hbHMtd2ViLWFuYWx5dGljcy9cbiAgICAgICAqIEBsaW5rIGh0dHBzOi8vZGV2ZWxvcGVyLm1hdG9tby5vcmcvZ3VpZGVzL3RyYWNraW5nLWphdmFzY3JpcHQtZ3VpZGUjdHJhY2tpbmctYS1jbGljay1hcy1hbi1vdXRsaW5rLXZpYS1jc3Mtb3ItamF2YXNjcmlwdFxuICAgICAgICpcbiAgICAgICAqIEBwcm9wZXJ0eSB1cmwgKHJlcXVpcmVkKSBsaW5rIHVybFxuICAgICAgICogQHByb3BlcnR5IGxpbmtUeXBlIChvcHRpb25hbCkgdHlwZSBvZiBsaW5rXG4gICAgICAgKi9cbiAgICAgIGNhc2UgJ3RyYWNrTGluayc6XG4gICAgICAgIHBhcmFtcyA9IFtcbiAgICAgICAgICAndHJhY2tMaW5rJyxcbiAgICAgICAgICAocHJvcGVydGllcyBhcyBUcmFja0xpbmtNYXRvbW9Qcm9wZXJ0aWVzKS51cmwsXG4gICAgICAgICAgKHByb3BlcnRpZXMgYXMgVHJhY2tMaW5rTWF0b21vUHJvcGVydGllcykubGlua1R5cGUsXG4gICAgICAgIF07XG4gICAgICAgIGJyZWFrO1xuXG4gICAgICAvKipcbiAgICAgICAqIEBkZXNjcmlwdGlvbiBUcmFja3MgYW4gRWNvbW1lcmNlIGdvYWxcbiAgICAgICAqXG4gICAgICAgKiBAbGluayBodHRwczovL21hdG9tby5vcmcvZG9jcy90cmFja2luZy1nb2Fscy13ZWItYW5hbHl0aWNzL1xuICAgICAgICogQGxpbmsgaHR0cHM6Ly9kZXZlbG9wZXIubWF0b21vLm9yZy9ndWlkZXMvdHJhY2tpbmctamF2YXNjcmlwdC1ndWlkZSNtYW51YWxseS10cmlnZ2VyLWdvYWwtY29udmVyc2lvbnNcbiAgICAgICAqXG4gICAgICAgKiBAcHJvcGVydHkgZ29hbElkIChyZXF1aXJlZCkgVW5pcXVlIEdvYWwgSURcbiAgICAgICAqIEBwcm9wZXJ0eSB2YWx1ZSAob3B0aW9uYWwpIHBhc3NlZCB0byBnb2FsIHRyYWNraW5nXG4gICAgICAgKi9cbiAgICAgIGNhc2UgJ3RyYWNrR29hbCc6XG4gICAgICAgIHBhcmFtcyA9IFtcbiAgICAgICAgICAndHJhY2tHb2FsJyxcbiAgICAgICAgICAocHJvcGVydGllcyBhcyBUcmFja0dvYWxNYXRvbW9Qcm9wZXJ0aWVzKS5nb2FsSWQsXG4gICAgICAgICAgKHByb3BlcnRpZXMgYXMgVHJhY2tHb2FsTWF0b21vUHJvcGVydGllcykudmFsdWUsXG4gICAgICAgIF07XG4gICAgICAgIGJyZWFrO1xuXG4gICAgICAvKipcbiAgICAgICAqIEBkZXNjcmlwdGlvbiBUcmFja3MgYSBzaXRlIHNlYXJjaFxuICAgICAgICpcbiAgICAgICAqIEBsaW5rIGh0dHBzOi8vbWF0b21vLm9yZy9kb2NzL3NpdGUtc2VhcmNoL1xuICAgICAgICogQGxpbmsgaHR0cHM6Ly9kZXZlbG9wZXIubWF0b21vLm9yZy9ndWlkZXMvdHJhY2tpbmctamF2YXNjcmlwdC1ndWlkZSNpbnRlcm5hbC1zZWFyY2gtdHJhY2tpbmdcbiAgICAgICAqXG4gICAgICAgKiBAcHJvcGVydHkga2V5d29yZCAocmVxdWlyZWQpIEtleXdvcmQgc2VhcmNoZWQgZm9yXG4gICAgICAgKiBAcHJvcGVydHkgY2F0ZWdvcnkgKG9wdGlvbmFsKSBTZWFyY2ggY2F0ZWdvcnlcbiAgICAgICAqIEBwcm9wZXJ0eSBzZWFyY2hDb3VudCAob3B0aW9uYWwpIE51bWJlciBvZiByZXN1bHRzXG4gICAgICAgKi9cbiAgICAgIGNhc2UgJ3RyYWNrU2l0ZVNlYXJjaCc6XG4gICAgICAgIHBhcmFtcyA9IFtcbiAgICAgICAgICAndHJhY2tTaXRlU2VhcmNoJyxcbiAgICAgICAgICAocHJvcGVydGllcyBhcyBUcmFja1NpdGVTZWFyY2hNYXRvbW9Qcm9wZXJ0aWVzKS5rZXl3b3JkLFxuICAgICAgICAgIChwcm9wZXJ0aWVzIGFzIFRyYWNrU2l0ZVNlYXJjaE1hdG9tb1Byb3BlcnRpZXMpLmNhdGVnb3J5LFxuICAgICAgICAgIChwcm9wZXJ0aWVzIGFzIFRyYWNrU2l0ZVNlYXJjaE1hdG9tb1Byb3BlcnRpZXMpLnNlYXJjaENvdW50LFxuICAgICAgICBdO1xuICAgICAgICBicmVhaztcblxuICAgICAgLyoqXG4gICAgICAgKiBAZGVzY3JpcHRpb24gTG9ncyBhbiBldmVudCB3aXRoIGFuIGV2ZW50IGNhdGVnb3J5IChWaWRlb3MsIE11c2ljLCBHYW1lcy4uLiksIGFuIGV2ZW50XG4gICAgICAgKiBhY3Rpb24gKFBsYXksIFBhdXNlLCBEdXJhdGlvbiwgQWRkIFBsYXlsaXN0LCBEb3dubG9hZGVkLCBDbGlja2VkLi4uKSwgYW5kIGFuIG9wdGlvbmFsXG4gICAgICAgKiBldmVudCBuYW1lIGFuZCBvcHRpb25hbCBudW1lcmljIHZhbHVlLlxuICAgICAgICpcbiAgICAgICAqIEBsaW5rIGh0dHBzOi8vbWF0b21vLm9yZy9kb2NzL2V2ZW50LXRyYWNraW5nL1xuICAgICAgICogQGxpbmsgaHR0cHM6Ly9kZXZlbG9wZXIubWF0b21vLm9yZy9hcGktcmVmZXJlbmNlL3RyYWNraW5nLWphdmFzY3JpcHQjdXNpbmctdGhlLXRyYWNrZXItb2JqZWN0XG4gICAgICAgKlxuICAgICAgICogQHByb3BlcnR5IGNhdGVnb3J5XG4gICAgICAgKiBAcHJvcGVydHkgYWN0aW9uXG4gICAgICAgKiBAcHJvcGVydHkgbmFtZSAob3B0aW9uYWwsIHJlY29tbWVuZGVkKVxuICAgICAgICogQHByb3BlcnR5IHZhbHVlIChvcHRpb25hbClcbiAgICAgICAqL1xuICAgICAgZGVmYXVsdDpcbiAgICAgICAgLy8gUEFRIHJlcXVpcmVzIHRoYXQgZXZlbnRWYWx1ZSBiZSBhbiBpbnRlZ2VyLCBzZWU6IGh0dHA6Ly9tYXRvbW8ub3JnL2RvY3MvZXZlbnQtdHJhY2tpbmdcbiAgICAgICAgaWYgKChwcm9wZXJ0aWVzIGFzIFRyYWNrRXZlbnRNYXRvbW9Qcm9wZXJ0aWVzKS52YWx1ZSkge1xuICAgICAgICAgIGNvbnN0IHBhcnNlZCA9IHBhcnNlSW50KChwcm9wZXJ0aWVzIGFzIFRyYWNrRXZlbnRNYXRvbW9Qcm9wZXJ0aWVzKS52YWx1ZSBhcyBhbnksIDEwKTtcbiAgICAgICAgICAocHJvcGVydGllcyBhcyBUcmFja0V2ZW50TWF0b21vUHJvcGVydGllcykudmFsdWUgPSBpc05hTihwYXJzZWQpID8gMCA6IHBhcnNlZDtcbiAgICAgICAgfVxuXG4gICAgICAgIHBhcmFtcyA9IFtcbiAgICAgICAgICAndHJhY2tFdmVudCcsXG4gICAgICAgICAgKHByb3BlcnRpZXMgYXMgVHJhY2tFdmVudE1hdG9tb1Byb3BlcnRpZXMpLmNhdGVnb3J5LFxuICAgICAgICAgIGFjdGlvbixcbiAgICAgICAgICAocHJvcGVydGllcyBhcyBUcmFja0V2ZW50TWF0b21vUHJvcGVydGllcykubmFtZSB8fFxuICAgICAgICAgICAgKHByb3BlcnRpZXMgYXMgVHJhY2tFdmVudE1hdG9tb1Byb3BlcnRpZXMpLmxhYmVsLCAvLyBDaGFuZ2VkIGluIGZhdm91ciBvZiBNYXRvbW8gZG9jdW1lbnRhdGlvbi4gQWRkZWQgZmFsbGJhY2sgc28gaXQncyBiYWNrd2FyZHMgY29tcGF0aWJsZS5cbiAgICAgICAgICAocHJvcGVydGllcyBhcyBUcmFja0V2ZW50TWF0b21vUHJvcGVydGllcykudmFsdWUsXG4gICAgICAgIF07XG4gICAgfVxuICAgIHRyeSB7XG4gICAgICBfcGFxLnB1c2gocGFyYW1zKTtcbiAgICB9IGNhdGNoIChlKSB7XG4gICAgICBpZiAoIShlIGluc3RhbmNlb2YgUmVmZXJlbmNlRXJyb3IpKSB7XG4gICAgICAgIHRocm93IGU7XG4gICAgICB9XG4gICAgfVxuICB9XG5cbiAgc2V0VXNlcm5hbWUodXNlcklkOiBzdHJpbmcgfCBib29sZWFuKSB7XG4gICAgdHJ5IHtcbiAgICAgIF9wYXEucHVzaChbJ3NldFVzZXJJZCcsIHVzZXJJZF0pO1xuICAgIH0gY2F0Y2ggKGUpIHtcbiAgICAgIGlmICghKGUgaW5zdGFuY2VvZiBSZWZlcmVuY2VFcnJvcikpIHtcbiAgICAgICAgdGhyb3cgZTtcbiAgICAgIH1cbiAgICB9XG4gIH1cblxuICAvKipcbiAgICogU2V0cyBjdXN0b20gZGltZW5zaW9ucyBpZiBhdCBsZWFzdCBvbmUgcHJvcGVydHkgaGFzIHRoZSBrZXkgXCJkaW1lbnNpb248bj5cIixcbiAgICogZS5nLiBkaW1lbnNpb24xMC4gSWYgdGhlcmUgYXJlIGN1c3RvbSBkaW1lbnNpb25zLCBhbnkgb3RoZXIgcHJvcGVydHkgaXMgaWdub3JlZC5cbiAgICpcbiAgICogSWYgdGhlcmUgYXJlIG5vIGN1c3RvbSBkaW1lbnNpb25zIGluIHRoZSBnaXZlbiBwcm9wZXJ0aWVzIG9iamVjdCwgdGhlIHByb3BlcnRpZXNcbiAgICogb2JqZWN0IGlzIHNhdmVkIGFzIGEgY3VzdG9tIHZhcmlhYmxlLlxuICAgKlxuICAgKiBJZiBpbiBkb3VidCwgcHJlZmVyIGN1c3RvbSBkaW1lbnNpb25zLlxuICAgKiBAbGluayBodHRwczovL21hdG9tby5vcmcvZG9jcy9jdXN0b20tdmFyaWFibGVzL1xuICAgKi9cbiAgc2V0VXNlclByb3BlcnRpZXMocHJvcGVydGllczogU2V0Q3VzdG9tVmFyaWFibGVNYXRvbW9Qcm9wZXJ0aWVzIHwgRGltZW5zaW9uc01hdG9tb1Byb3BlcnRpZXMpIHtcbiAgICBjb25zdCBkaW1lbnNpb25zID0gdGhpcy5zZXRDdXN0b21EaW1lbnNpb25zKHByb3BlcnRpZXMpO1xuICAgIHRyeSB7XG4gICAgICBpZiAoZGltZW5zaW9ucy5sZW5ndGggPT09IDApIHtcbiAgICAgICAgX3BhcS5wdXNoKFtcbiAgICAgICAgICAnc2V0Q3VzdG9tVmFyaWFibGUnLFxuICAgICAgICAgIChwcm9wZXJ0aWVzIGFzIFNldEN1c3RvbVZhcmlhYmxlTWF0b21vUHJvcGVydGllcykuaW5kZXgsXG4gICAgICAgICAgKHByb3BlcnRpZXMgYXMgU2V0Q3VzdG9tVmFyaWFibGVNYXRvbW9Qcm9wZXJ0aWVzKS5uYW1lLFxuICAgICAgICAgIChwcm9wZXJ0aWVzIGFzIFNldEN1c3RvbVZhcmlhYmxlTWF0b21vUHJvcGVydGllcykudmFsdWUsXG4gICAgICAgICAgKHByb3BlcnRpZXMgYXMgU2V0Q3VzdG9tVmFyaWFibGVNYXRvbW9Qcm9wZXJ0aWVzKS5zY29wZSxcbiAgICAgICAgXSk7XG4gICAgICB9XG4gICAgfSBjYXRjaCAoZSkge1xuICAgICAgaWYgKCEoZSBpbnN0YW5jZW9mIFJlZmVyZW5jZUVycm9yKSkge1xuICAgICAgICB0aHJvdyBlO1xuICAgICAgfVxuICAgIH1cbiAgfVxuXG4gIC8qKlxuICAgKiBJZiB5b3UgY3JlYXRlZCBhIGN1c3RvbSB2YXJpYWJsZSBhbmQgdGhlbiBkZWNpZGUgdG8gcmVtb3ZlIHRoaXMgdmFyaWFibGUgZnJvbVxuICAgKiBhIHZpc2l0IG9yIHBhZ2UgdmlldywgeW91IGNhbiB1c2UgZGVsZXRlQ3VzdG9tVmFyaWFibGUuXG4gICAqXG4gICAqIEBsaW5rIGh0dHBzOi8vZGV2ZWxvcGVyLm1hdG9tby5vcmcvZ3VpZGVzL3RyYWNraW5nLWphdmFzY3JpcHQtZ3VpZGUjZGVsZXRpbmctYS1jdXN0b20tdmFyaWFibGVcbiAgICovXG4gIGRlbGV0ZWRVc2VyUHJvcGVydGllcyhwcm9wZXJ0aWVzOiBEZWxldGVDdXN0b21WYXJpYWJsZU1hdG9tb1Byb3BlcnRpZXMpIHtcbiAgICB0cnkge1xuICAgICAgX3BhcS5wdXNoKFsnZGVsZXRlQ3VzdG9tVmFyaWFibGUnLCBwcm9wZXJ0aWVzLmluZGV4LCBwcm9wZXJ0aWVzLnNjb3BlXSk7XG4gICAgfSBjYXRjaCAoZSkge1xuICAgICAgaWYgKCEoZSBpbnN0YW5jZW9mIFJlZmVyZW5jZUVycm9yKSkge1xuICAgICAgICB0aHJvdyBlO1xuICAgICAgfVxuICAgIH1cbiAgfVxuXG4gIHByaXZhdGUgc2V0Q3VzdG9tRGltZW5zaW9ucyhwcm9wZXJ0aWVzOiBTZXRDdXN0b21WYXJpYWJsZU1hdG9tb1Byb3BlcnRpZXMgfCBEaW1lbnNpb25zTWF0b21vUHJvcGVydGllcyk6IHN0cmluZ1tdIHtcbiAgICBjb25zdCBkaW1lbnNpb25SZWdleDogUmVnRXhwID0gL2RpbWVuc2lvblsxLTldXFxkKi87XG4gICAgY29uc3QgZGltZW5zaW9ucyA9IE9iamVjdC5rZXlzKHByb3BlcnRpZXMpLmZpbHRlcihrZXkgPT4gZGltZW5zaW9uUmVnZXguZXhlYyhrZXkpKTtcbiAgICBkaW1lbnNpb25zLmZvckVhY2goZGltZW5zaW9uID0+IHtcbiAgICAgIGNvbnN0IG51bWJlciA9IE51bWJlcihkaW1lbnNpb24uc3Vic3RyKDkpKTtcbiAgICAgIF9wYXEucHVzaChbJ3NldEN1c3RvbURpbWVuc2lvbicsIG51bWJlciwgcHJvcGVydGllc1tkaW1lbnNpb25dXSk7XG4gICAgfSk7XG4gICAgcmV0dXJuIGRpbWVuc2lvbnM7XG4gIH1cbn1cbiJdfQ==
|
@@ -100,9 +100,9 @@ export class Angulartics2Mixpanel {
|
|
100
100
|
}
|
101
101
|
}
|
102
102
|
}
|
103
|
-
Angulartics2Mixpanel.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "
|
104
|
-
Angulartics2Mixpanel.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "
|
105
|
-
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "
|
103
|
+
Angulartics2Mixpanel.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "14.3.0", ngImport: i0, type: Angulartics2Mixpanel, deps: [{ token: i1.Angulartics2 }], target: i0.ɵɵFactoryTarget.Injectable });
|
104
|
+
Angulartics2Mixpanel.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "14.3.0", ngImport: i0, type: Angulartics2Mixpanel, providedIn: 'root' });
|
105
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "14.3.0", ngImport: i0, type: Angulartics2Mixpanel, decorators: [{
|
106
106
|
type: Injectable,
|
107
107
|
args: [{ providedIn: 'root' }]
|
108
108
|
}], ctorParameters: function () { return [{ type: i1.Angulartics2 }]; } });
|
@@ -56,9 +56,9 @@ export class Angulartics2Pyze {
|
|
56
56
|
}
|
57
57
|
}
|
58
58
|
}
|
59
|
-
Angulartics2Pyze.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "
|
60
|
-
Angulartics2Pyze.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "
|
61
|
-
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "
|
59
|
+
Angulartics2Pyze.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "14.3.0", ngImport: i0, type: Angulartics2Pyze, deps: [{ token: i1.Angulartics2 }], target: i0.ɵɵFactoryTarget.Injectable });
|
60
|
+
Angulartics2Pyze.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "14.3.0", ngImport: i0, type: Angulartics2Pyze, providedIn: 'root' });
|
61
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "14.3.0", ngImport: i0, type: Angulartics2Pyze, decorators: [{
|
62
62
|
type: Injectable,
|
63
63
|
args: [{ providedIn: 'root' }]
|
64
64
|
}], ctorParameters: function () { return [{ type: i1.Angulartics2 }]; } });
|
@@ -91,9 +91,9 @@ export class Angulartics2Segment {
|
|
91
91
|
}
|
92
92
|
}
|
93
93
|
}
|
94
|
-
Angulartics2Segment.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "
|
95
|
-
Angulartics2Segment.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "
|
96
|
-
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "
|
94
|
+
Angulartics2Segment.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "14.3.0", ngImport: i0, type: Angulartics2Segment, deps: [{ token: i1.Angulartics2 }], target: i0.ɵɵFactoryTarget.Injectable });
|
95
|
+
Angulartics2Segment.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "14.3.0", ngImport: i0, type: Angulartics2Segment, providedIn: 'root' });
|
96
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "14.3.0", ngImport: i0, type: Angulartics2Segment, decorators: [{
|
97
97
|
type: Injectable,
|
98
98
|
args: [{ providedIn: 'root' }]
|
99
99
|
}], ctorParameters: function () { return [{ type: i1.Angulartics2 }]; } });
|
@@ -37,9 +37,9 @@ export class Angulartics2Splunk {
|
|
37
37
|
}
|
38
38
|
}
|
39
39
|
}
|
40
|
-
Angulartics2Splunk.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "
|
41
|
-
Angulartics2Splunk.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "
|
42
|
-
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "
|
40
|
+
Angulartics2Splunk.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "14.3.0", ngImport: i0, type: Angulartics2Splunk, deps: [{ token: i1.Angulartics2 }], target: i0.ɵɵFactoryTarget.Injectable });
|
41
|
+
Angulartics2Splunk.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "14.3.0", ngImport: i0, type: Angulartics2Splunk, providedIn: 'root' });
|
42
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "14.3.0", ngImport: i0, type: Angulartics2Splunk, decorators: [{
|
43
43
|
type: Injectable,
|
44
44
|
args: [{ providedIn: 'root' }]
|
45
45
|
}], ctorParameters: function () { return [{ type: i1.Angulartics2 }]; } });
|