@dereekb/dbx-analytics 1.2.0 → 3.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 -1
- package/esm2020/lib/action/analytics.action.directive.mjs +8 -8
- package/esm2020/lib/action/analytics.action.module.mjs +6 -6
- package/esm2020/lib/analytics/analytics.mjs +1 -1
- package/esm2020/lib/analytics/analytics.module.mjs +7 -7
- package/esm2020/lib/analytics/analytics.service.mjs +35 -34
- package/esm2020/lib/analytics/analytics.stream.mjs +11 -11
- package/esm2020/lib/providers/segment/segment.listener.service.mjs +15 -15
- package/esm2020/lib/providers/segment/segment.module.mjs +9 -9
- package/esm2020/lib/providers/segment/segment.service.mjs +12 -12
- package/fesm2015/dereekb-dbx-analytics.mjs +89 -88
- package/fesm2015/dereekb-dbx-analytics.mjs.map +1 -1
- package/fesm2020/dereekb-dbx-analytics.mjs +89 -88
- package/fesm2020/dereekb-dbx-analytics.mjs.map +1 -1
- package/lib/action/analytics.action.directive.d.ts +9 -9
- package/lib/action/analytics.action.module.d.ts +4 -4
- package/lib/analytics/analytics.d.ts +14 -14
- package/lib/analytics/analytics.service.d.ts +45 -45
- package/lib/analytics/analytics.stream.d.ts +7 -7
- package/lib/providers/segment/segment.listener.service.d.ts +10 -10
- package/lib/providers/segment/segment.module.d.ts +5 -5
- package/lib/providers/segment/segment.service.d.ts +6 -6
- package/package.json +4 -23
package/README.md
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
@dereekb/dbx-analytics
|
|
2
2
|
=======
|
|
3
3
|
|
|
4
|
-
The sources for this package are in the main [@dereekb/
|
|
4
|
+
The sources for this package are in the main [@dereekb/dbx-components](https://github.com/dereekb/dbx-components) repo. Please file issues and pull requests against that repo.
|
|
5
5
|
|
|
6
6
|
License: MIT
|
|
@@ -2,8 +2,8 @@ import { filterMaybe } from '@dereekb/rxjs';
|
|
|
2
2
|
import { switchMap, tap, shareReplay } from 'rxjs/operators';
|
|
3
3
|
import { Host, Directive, Input } from '@angular/core';
|
|
4
4
|
import { BehaviorSubject, merge, of } from 'rxjs';
|
|
5
|
-
import {
|
|
6
|
-
import {
|
|
5
|
+
import { DbxActionContextStoreSourceInstance, AbstractSubscriptionDirective } from '@dereekb/dbx-core';
|
|
6
|
+
import { DbxAnalyticsService } from '../analytics/analytics.service';
|
|
7
7
|
import * as i0 from "@angular/core";
|
|
8
8
|
import * as i1 from "@dereekb/dbx-core";
|
|
9
9
|
import * as i2 from "../analytics/analytics.service";
|
|
@@ -61,17 +61,17 @@ export class DbxActionAnalyticsDirective extends AbstractSubscriptionDirective {
|
|
|
61
61
|
});
|
|
62
62
|
}
|
|
63
63
|
}
|
|
64
|
-
DbxActionAnalyticsDirective.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "13.2
|
|
65
|
-
DbxActionAnalyticsDirective.ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "12.0.0", version: "13.2
|
|
66
|
-
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "13.2
|
|
64
|
+
DbxActionAnalyticsDirective.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "13.3.2", ngImport: i0, type: DbxActionAnalyticsDirective, deps: [{ token: i1.DbxActionContextStoreSourceInstance, host: true }, { token: i2.DbxAnalyticsService }], target: i0.ɵɵFactoryTarget.Directive });
|
|
65
|
+
DbxActionAnalyticsDirective.ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "12.0.0", version: "13.3.2", type: DbxActionAnalyticsDirective, selector: "[dbxActionAnalytics]", inputs: { config: ["dbxActionAnalytics", "config"] }, usesInheritance: true, ngImport: i0 });
|
|
66
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "13.3.2", ngImport: i0, type: DbxActionAnalyticsDirective, decorators: [{
|
|
67
67
|
type: Directive,
|
|
68
68
|
args: [{
|
|
69
69
|
selector: '[dbxActionAnalytics]',
|
|
70
70
|
}]
|
|
71
|
-
}], ctorParameters: function () { return [{ type: i1.
|
|
71
|
+
}], ctorParameters: function () { return [{ type: i1.DbxActionContextStoreSourceInstance, decorators: [{
|
|
72
72
|
type: Host
|
|
73
|
-
}] }, { type: i2.
|
|
73
|
+
}] }, { type: i2.DbxAnalyticsService }]; }, propDecorators: { config: [{
|
|
74
74
|
type: Input,
|
|
75
75
|
args: ['dbxActionAnalytics']
|
|
76
76
|
}] } });
|
|
77
|
-
//# sourceMappingURL=data:application/json;base64,
|
|
77
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiYW5hbHl0aWNzLmFjdGlvbi5kaXJlY3RpdmUuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi9wYWNrYWdlcy9kYngtYW5hbHl0aWNzL3NyYy9saWIvYWN0aW9uL2FuYWx5dGljcy5hY3Rpb24uZGlyZWN0aXZlLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBRSxXQUFXLEVBQUUsTUFBTSxlQUFlLENBQUM7QUFDNUMsT0FBTyxFQUFFLFNBQVMsRUFBRSxHQUFHLEVBQUUsV0FBVyxFQUFFLE1BQU0sZ0JBQWdCLENBQUM7QUFDN0QsT0FBTyxFQUFFLElBQUksRUFBRSxTQUFTLEVBQUUsS0FBSyxFQUFxQixNQUFNLGVBQWUsQ0FBQztBQUMxRSxPQUFPLEVBQUUsZUFBZSxFQUFFLEtBQUssRUFBYyxFQUFFLEVBQUUsTUFBTSxNQUFNLENBQUM7QUFDOUQsT0FBTyxFQUFFLG1DQUFtQyxFQUFFLDZCQUE2QixFQUFFLE1BQU0sbUJBQW1CLENBQUM7QUFDdkcsT0FBTyxFQUFFLG1CQUFtQixFQUFFLE1BQU0sZ0NBQWdDLENBQUM7Ozs7QUFHckUsTUFBTSxDQUFOLElBQVksNkJBS1g7QUFMRCxXQUFZLDZCQUE2QjtJQUN2Qyx1RkFBTyxDQUFBO0lBQ1AsbUZBQUssQ0FBQTtJQUNMLHVGQUFPLENBQUE7SUFDUCxtRkFBSyxDQUFBO0FBQ1AsQ0FBQyxFQUxXLDZCQUE2QixLQUE3Qiw2QkFBNkIsUUFLeEM7QUFTRDs7R0FFRztBQUlILE1BQU0sT0FBTywyQkFBK0IsU0FBUSw2QkFBNkI7SUFjL0UsWUFDbUIsTUFBMkMsRUFDbkQsZ0JBQXFDO1FBRTlDLEtBQUssRUFBRSxDQUFDO1FBSFMsV0FBTSxHQUFOLE1BQU0sQ0FBcUM7UUFDbkQscUJBQWdCLEdBQWhCLGdCQUFnQixDQUFxQjtRQWR4QyxZQUFPLEdBQUcsSUFBSSxlQUFlLENBQWtDLFNBQVMsQ0FBQyxDQUFDO1FBQ3pFLFlBQU8sR0FBRyxJQUFJLENBQUMsT0FBTyxDQUFDLElBQUksQ0FBQyxXQUFXLEVBQUUsRUFBRSxXQUFXLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQztJQWdCcEUsQ0FBQztJQWRELElBQ0ksTUFBTTtRQUNSLE9BQU8sSUFBSSxDQUFDLE9BQU8sQ0FBQyxLQUFLLENBQUM7SUFDNUIsQ0FBQztJQUVELElBQUksTUFBTSxDQUFDLE1BQXVDO1FBQ2hELElBQUksQ0FBQyxPQUFPLENBQUMsSUFBSSxDQUFDLE1BQU0sQ0FBQyxDQUFDO0lBQzVCLENBQUM7SUFTRCxRQUFRO1FBQ04sSUFBSSxDQUFDLEdBQUcsR0FBRyxJQUFJLENBQUMsT0FBTyxDQUFDLElBQUksQ0FDMUIsU0FBUyxDQUFDLENBQUMsRUFBRSxXQUFXLEVBQUUsT0FBTyxFQUFFLFNBQVMsRUFBRSxPQUFPLEVBQUUsRUFBRSxFQUFFO1lBQ3pELE1BQU0sVUFBVSxHQUFzQixFQUFFLENBQUM7WUFFekMsSUFBSSxXQUFXLEVBQUU7Z0JBQ2YsVUFBVSxDQUFDLElBQUksQ0FBQyxJQUFJLENBQUMsTUFBTSxDQUFDLFVBQVUsQ0FBQyxJQUFJLENBQ3pDLEdBQUcsQ0FBQyxHQUFHLEVBQUUsQ0FBQyxXQUFXLENBQUMsSUFBSSxDQUFDLGdCQUFnQixDQUFDLENBQUMsQ0FDOUMsQ0FBQyxDQUFDO2FBQ0o7WUFFRCxJQUFJLE9BQU8sRUFBRTtnQkFDWCxVQUFVLENBQUMsSUFBSSxDQUFDLElBQUksQ0FBQyxNQUFNLENBQUMsV0FBVyxDQUFDLElBQUksQ0FDMUMsR0FBRyxDQUFDLENBQUMsS0FBSyxFQUFFLEVBQUUsQ0FBQyxPQUFPLENBQUMsSUFBSSxDQUFDLGdCQUFnQixFQUFFLEtBQUssQ0FBQyxDQUFDLENBQ3RELENBQUMsQ0FBQzthQUNKO1lBRUQsSUFBSSxTQUFTLEVBQUU7Z0JBQ2IsVUFBVSxDQUFDLElBQUksQ0FBQyxJQUFJLENBQUMsTUFBTSxDQUFDLFFBQVEsQ0FBQyxJQUFJLENBQ3ZDLEdBQUcsQ0FBQyxDQUFDLE1BQU0sRUFBRSxFQUFFLENBQUMsU0FBUyxDQUFDLElBQUksQ0FBQyxnQkFBZ0IsRUFBRSxNQUFNLENBQUMsQ0FBQyxDQUMxRCxDQUFDLENBQUM7YUFDSjtZQUVELElBQUksT0FBTyxFQUFFO2dCQUNYLFVBQVUsQ0FBQyxJQUFJLENBQUMsSUFBSSxDQUFDLE1BQU0sQ0FBQyxNQUFNLENBQUMsSUFBSSxDQUNyQyxHQUFHLENBQUMsQ0FBQyxLQUFLLEVBQUUsRUFBRSxDQUFDLE9BQU8sQ0FBQyxJQUFJLENBQUMsZ0JBQWdCLEVBQUUsS0FBSyxDQUFDLENBQUMsQ0FDdEQsQ0FBQyxDQUFDO2FBQ0o7WUFFRCxJQUFJLFVBQVUsQ0FBQyxNQUFNLEVBQUU7Z0JBQ3JCLE9BQU8sS0FBSyxDQUFDLFVBQVUsQ0FBQyxDQUFDO2FBQzFCO2lCQUFNO2dCQUNMLE9BQU8sRUFBRSxFQUFFLENBQUM7YUFDYjtRQUNILENBQUMsQ0FBQyxDQUNILENBQUMsU0FBUyxFQUFFLENBQUM7SUFDaEIsQ0FBQztJQUVRLFdBQVc7UUFDbEIsSUFBSSxDQUFDLE1BQU0sQ0FBQyxPQUFPLENBQUMsWUFBWSxDQUFDLEdBQUcsRUFBRTtZQUNwQyxLQUFLLENBQUMsV0FBVyxFQUFFLENBQUM7WUFDcEIsSUFBSSxDQUFDLE9BQU8sQ0FBQyxRQUFRLEVBQUUsQ0FBQztRQUMxQixDQUFDLENBQUMsQ0FBQztJQUNMLENBQUM7O3dIQWhFVSwyQkFBMkI7NEdBQTNCLDJCQUEyQjsyRkFBM0IsMkJBQTJCO2tCQUh2QyxTQUFTO21CQUFDO29CQUNULFFBQVEsRUFBRSxzQkFBc0I7aUJBQ2pDOzswQkFnQkksSUFBSTs4RUFUSCxNQUFNO3NCQURULEtBQUs7dUJBQUMsb0JBQW9CIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgZmlsdGVyTWF5YmUgfSBmcm9tICdAZGVyZWVrYi9yeGpzJztcbmltcG9ydCB7IHN3aXRjaE1hcCwgdGFwLCBzaGFyZVJlcGxheSB9IGZyb20gJ3J4anMvb3BlcmF0b3JzJztcbmltcG9ydCB7IEhvc3QsIERpcmVjdGl2ZSwgSW5wdXQsIE9uSW5pdCwgT25EZXN0cm95IH0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XG5pbXBvcnQgeyBCZWhhdmlvclN1YmplY3QsIG1lcmdlLCBPYnNlcnZhYmxlLCBvZiB9IGZyb20gJ3J4anMnO1xuaW1wb3J0IHsgRGJ4QWN0aW9uQ29udGV4dFN0b3JlU291cmNlSW5zdGFuY2UsIEFic3RyYWN0U3Vic2NyaXB0aW9uRGlyZWN0aXZlIH0gZnJvbSAnQGRlcmVla2IvZGJ4LWNvcmUnO1xuaW1wb3J0IHsgRGJ4QW5hbHl0aWNzU2VydmljZSB9IGZyb20gJy4uL2FuYWx5dGljcy9hbmFseXRpY3Muc2VydmljZSc7XG5pbXBvcnQgeyBNYXliZSwgUmVhZGFibGVFcnJvciB9IGZyb20gJ0BkZXJlZWtiL3V0aWwnO1xuXG5leHBvcnQgZW51bSBEYnhBY3Rpb25BbmFseXRpY3NUcmlnZ2VyVHlwZSB7XG4gIFRSSUdHRVIsXG4gIFJFQURZLFxuICBTVUNDRVNTLFxuICBFUlJPUlxufVxuXG5leHBvcnQgaW50ZXJmYWNlIERieEFjdGlvbkFuYWx5dGljc0NvbmZpZzxUID0gYW55LCBPID0gYW55PiB7XG4gIG9uVHJpZ2dlcmVkOiAoc2VydmljZTogRGJ4QW5hbHl0aWNzU2VydmljZSkgPT4gdm9pZDtcbiAgb25SZWFkeTogKHNlcnZpY2U6IERieEFuYWx5dGljc1NlcnZpY2UsIHZhbHVlOiBUKSA9PiB2b2lkO1xuICBvblN1Y2Nlc3M6IChzZXJ2aWNlOiBEYnhBbmFseXRpY3NTZXJ2aWNlLCB2YWx1ZTogTWF5YmU8Tz4pID0+IHZvaWQ7XG4gIG9uRXJyb3I6IChzZXJ2aWNlOiBEYnhBbmFseXRpY3NTZXJ2aWNlLCBlcnJvcjogTWF5YmU8UmVhZGFibGVFcnJvcj4pID0+IHZvaWQ7XG59XG5cbi8qKlxuICogVXNlZCB0byBsaXN0ZW4gdG8gYW4gQWN0aW9uQ29udGV4dCBhbmQgc2VuZCBhbmFseXRpY2FsIGV2ZW50cyBiYXNlZCBvbiBhY3Rpb24gZXZlbnRzLlxuICovXG5ARGlyZWN0aXZlKHtcbiAgc2VsZWN0b3I6ICdbZGJ4QWN0aW9uQW5hbHl0aWNzXScsXG59KVxuZXhwb3J0IGNsYXNzIERieEFjdGlvbkFuYWx5dGljc0RpcmVjdGl2ZTxUPiBleHRlbmRzIEFic3RyYWN0U3Vic2NyaXB0aW9uRGlyZWN0aXZlIGltcGxlbWVudHMgT25Jbml0LCBPbkRlc3Ryb3kge1xuXG4gIHByaXZhdGUgX2NvbmZpZyA9IG5ldyBCZWhhdmlvclN1YmplY3Q8TWF5YmU8RGJ4QWN0aW9uQW5hbHl0aWNzQ29uZmlnPj4odW5kZWZpbmVkKTtcbiAgcmVhZG9ubHkgY29uZmlnJCA9IHRoaXMuX2NvbmZpZy5waXBlKGZpbHRlck1heWJlKCksIHNoYXJlUmVwbGF5KDEpKTtcblxuICBASW5wdXQoJ2RieEFjdGlvbkFuYWx5dGljcycpXG4gIGdldCBjb25maWcoKTogTWF5YmU8RGJ4QWN0aW9uQW5hbHl0aWNzQ29uZmlnPiB7XG4gICAgcmV0dXJuIHRoaXMuX2NvbmZpZy52YWx1ZTtcbiAgfVxuXG4gIHNldCBjb25maWcoY29uZmlnOiBNYXliZTxEYnhBY3Rpb25BbmFseXRpY3NDb25maWc+KSB7XG4gICAgdGhpcy5fY29uZmlnLm5leHQoY29uZmlnKTtcbiAgfVxuXG4gIGNvbnN0cnVjdG9yKFxuICAgIEBIb3N0KCkgcmVhZG9ubHkgc291cmNlOiBEYnhBY3Rpb25Db250ZXh0U3RvcmVTb3VyY2VJbnN0YW5jZSxcbiAgICByZWFkb25seSBhbmFseXRpY3NTZXJ2aWNlOiBEYnhBbmFseXRpY3NTZXJ2aWNlXG4gICkge1xuICAgIHN1cGVyKCk7XG4gIH1cblxuICBuZ09uSW5pdCgpOiB2b2lkIHtcbiAgICB0aGlzLnN1YiA9IHRoaXMuY29uZmlnJC5waXBlKFxuICAgICAgc3dpdGNoTWFwKCh7IG9uVHJpZ2dlcmVkLCBvblJlYWR5LCBvblN1Y2Nlc3MsIG9uRXJyb3IgfSkgPT4ge1xuICAgICAgICBjb25zdCB0cmlnZ2VyT2JzOiBPYnNlcnZhYmxlPGFueT5bXSA9IFtdO1xuXG4gICAgICAgIGlmIChvblRyaWdnZXJlZCkge1xuICAgICAgICAgIHRyaWdnZXJPYnMucHVzaCh0aGlzLnNvdXJjZS50cmlnZ2VyZWQkLnBpcGUoXG4gICAgICAgICAgICB0YXAoKCkgPT4gb25UcmlnZ2VyZWQodGhpcy5hbmFseXRpY3NTZXJ2aWNlKSlcbiAgICAgICAgICApKTtcbiAgICAgICAgfVxuXG4gICAgICAgIGlmIChvblJlYWR5KSB7XG4gICAgICAgICAgdHJpZ2dlck9icy5wdXNoKHRoaXMuc291cmNlLnZhbHVlUmVhZHkkLnBpcGUoXG4gICAgICAgICAgICB0YXAoKHZhbHVlKSA9PiBvblJlYWR5KHRoaXMuYW5hbHl0aWNzU2VydmljZSwgdmFsdWUpKVxuICAgICAgICAgICkpO1xuICAgICAgICB9XG5cbiAgICAgICAgaWYgKG9uU3VjY2Vzcykge1xuICAgICAgICAgIHRyaWdnZXJPYnMucHVzaCh0aGlzLnNvdXJjZS5zdWNjZXNzJC5waXBlKFxuICAgICAgICAgICAgdGFwKChyZXN1bHQpID0+IG9uU3VjY2Vzcyh0aGlzLmFuYWx5dGljc1NlcnZpY2UsIHJlc3VsdCkpXG4gICAgICAgICAgKSk7XG4gICAgICAgIH1cblxuICAgICAgICBpZiAob25FcnJvcikge1xuICAgICAgICAgIHRyaWdnZXJPYnMucHVzaCh0aGlzLnNvdXJjZS5lcnJvciQucGlwZShcbiAgICAgICAgICAgIHRhcCgoZXJyb3IpID0+IG9uRXJyb3IodGhpcy5hbmFseXRpY3NTZXJ2aWNlLCBlcnJvcikpXG4gICAgICAgICAgKSk7XG4gICAgICAgIH1cblxuICAgICAgICBpZiAodHJpZ2dlck9icy5sZW5ndGgpIHtcbiAgICAgICAgICByZXR1cm4gbWVyZ2UodHJpZ2dlck9icyk7XG4gICAgICAgIH0gZWxzZSB7XG4gICAgICAgICAgcmV0dXJuIG9mKCk7XG4gICAgICAgIH1cbiAgICAgIH0pXG4gICAgKS5zdWJzY3JpYmUoKTtcbiAgfVxuXG4gIG92ZXJyaWRlIG5nT25EZXN0cm95KCk6IHZvaWQge1xuICAgIHRoaXMuc291cmNlLmxvY2tTZXQub25OZXh0VW5sb2NrKCgpID0+IHtcbiAgICAgIHN1cGVyLm5nT25EZXN0cm95KCk7XG4gICAgICB0aGlzLl9jb25maWcuY29tcGxldGUoKTtcbiAgICB9KTtcbiAgfVxuXG59XG4iXX0=
|
|
@@ -1,12 +1,12 @@
|
|
|
1
1
|
import { NgModule } from '@angular/core';
|
|
2
2
|
import { DbxActionAnalyticsDirective } from './analytics.action.directive';
|
|
3
3
|
import * as i0 from "@angular/core";
|
|
4
|
-
export class
|
|
4
|
+
export class DbxAnalyticsActionModule {
|
|
5
5
|
}
|
|
6
|
-
|
|
7
|
-
|
|
8
|
-
|
|
9
|
-
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "13.2
|
|
6
|
+
DbxAnalyticsActionModule.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "13.3.2", ngImport: i0, type: DbxAnalyticsActionModule, deps: [], target: i0.ɵɵFactoryTarget.NgModule });
|
|
7
|
+
DbxAnalyticsActionModule.ɵmod = i0.ɵɵngDeclareNgModule({ minVersion: "12.0.0", version: "13.3.2", ngImport: i0, type: DbxAnalyticsActionModule, declarations: [DbxActionAnalyticsDirective], exports: [DbxActionAnalyticsDirective] });
|
|
8
|
+
DbxAnalyticsActionModule.ɵinj = i0.ɵɵngDeclareInjector({ minVersion: "12.0.0", version: "13.3.2", ngImport: i0, type: DbxAnalyticsActionModule });
|
|
9
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "13.3.2", ngImport: i0, type: DbxAnalyticsActionModule, decorators: [{
|
|
10
10
|
type: NgModule,
|
|
11
11
|
args: [{
|
|
12
12
|
declarations: [
|
|
@@ -17,4 +17,4 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "13.2.4", ngImpor
|
|
|
17
17
|
]
|
|
18
18
|
}]
|
|
19
19
|
}] });
|
|
20
|
-
//# sourceMappingURL=data:application/json;base64,
|
|
20
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiYW5hbHl0aWNzLmFjdGlvbi5tb2R1bGUuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi9wYWNrYWdlcy9kYngtYW5hbHl0aWNzL3NyYy9saWIvYWN0aW9uL2FuYWx5dGljcy5hY3Rpb24ubW9kdWxlLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBRSxRQUFRLEVBQUUsTUFBTSxlQUFlLENBQUM7QUFDekMsT0FBTyxFQUFFLDJCQUEyQixFQUFFLE1BQU0sOEJBQThCLENBQUM7O0FBVTNFLE1BQU0sT0FBTyx3QkFBd0I7O3FIQUF4Qix3QkFBd0I7c0hBQXhCLHdCQUF3QixpQkFOakMsMkJBQTJCLGFBRzNCLDJCQUEyQjtzSEFHbEIsd0JBQXdCOzJGQUF4Qix3QkFBd0I7a0JBUnBDLFFBQVE7bUJBQUM7b0JBQ1IsWUFBWSxFQUFFO3dCQUNaLDJCQUEyQjtxQkFDNUI7b0JBQ0QsT0FBTyxFQUFFO3dCQUNQLDJCQUEyQjtxQkFDNUI7aUJBQ0YiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBOZ01vZHVsZSB9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xuaW1wb3J0IHsgRGJ4QWN0aW9uQW5hbHl0aWNzRGlyZWN0aXZlIH0gZnJvbSAnLi9hbmFseXRpY3MuYWN0aW9uLmRpcmVjdGl2ZSc7XG5cbkBOZ01vZHVsZSh7XG4gIGRlY2xhcmF0aW9uczogW1xuICAgIERieEFjdGlvbkFuYWx5dGljc0RpcmVjdGl2ZVxuICBdLFxuICBleHBvcnRzOiBbXG4gICAgRGJ4QWN0aW9uQW5hbHl0aWNzRGlyZWN0aXZlXG4gIF1cbn0pXG5leHBvcnQgY2xhc3MgRGJ4QW5hbHl0aWNzQWN0aW9uTW9kdWxlIHsgfVxuIl19
|
|
@@ -1,2 +1,2 @@
|
|
|
1
1
|
export {};
|
|
2
|
-
//# sourceMappingURL=data:application/json;base64,
|
|
2
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiYW5hbHl0aWNzLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vcGFja2FnZXMvZGJ4LWFuYWx5dGljcy9zcmMvbGliL2FuYWx5dGljcy9hbmFseXRpY3MudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IiIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IE1heWJlLCBQcmltYXRpdmVLZXkgfSBmcm9tIFwiQGRlcmVla2IvdXRpbFwiO1xuXG5leHBvcnQgdHlwZSBEYnhBbmFseXRpY3NFdmVudE5hbWUgPSBzdHJpbmc7XG5leHBvcnQgdHlwZSBEYnhBbmFseXRpY3NVc2VySWQgPSBzdHJpbmc7XG5cbmV4cG9ydCBpbnRlcmZhY2UgRGJ4QW5hbHl0aWNzVXNlciB7XG4gIHJlYWRvbmx5IHVzZXI6IERieEFuYWx5dGljc1VzZXJJZDtcbiAgcmVhZG9ubHkgcHJvcGVydGllcz86IHtcbiAgICByZWFkb25seSBba2V5OiBzdHJpbmddOiBQcmltYXRpdmVLZXkgfCBib29sZWFuO1xuICB9O1xufVxuXG5leHBvcnQgaW50ZXJmYWNlIERieEFuYWx5dGljc0V2ZW50RGF0YSB7XG4gIHJlYWRvbmx5IFtrZXk6IHN0cmluZ106IFByaW1hdGl2ZUtleSB8IGJvb2xlYW47XG59XG5cbmV4cG9ydCBpbnRlcmZhY2UgRGJ4QW5hbHl0aWNzRXZlbnQge1xuICByZWFkb25seSBuYW1lPzogRGJ4QW5hbHl0aWNzRXZlbnROYW1lO1xuICByZWFkb25seSB2YWx1ZT86IG51bWJlcjtcbiAgcmVhZG9ubHkgZGF0YT86IERieEFuYWx5dGljc0V2ZW50RGF0YTtcbn1cblxuZXhwb3J0IGludGVyZmFjZSBEYnhVc2VyQW5hbHl0aWNzRXZlbnQgZXh0ZW5kcyBEYnhBbmFseXRpY3NFdmVudCB7XG4gIHJlYWRvbmx5IHVzZXI/OiBNYXliZTxEYnhBbmFseXRpY3NVc2VyPjtcbn1cblxuLy8gTUFSSzogTmV3IFVzZXJcbmV4cG9ydCB0eXBlIE5ld1VzZXJSZWdpc3RyYXRpb25NZXRob2QgPSAnZmFjZWJvb2snIHwgJ2dvb2dsZScgfCAnZW1haWwnIHwgc3RyaW5nO1xuXG5leHBvcnQgaW50ZXJmYWNlIE5ld1VzZXJBbmFseXRpY3NFdmVudERhdGEgZXh0ZW5kcyBEYnhBbmFseXRpY3NFdmVudERhdGEge1xuICBtZXRob2Q6IE5ld1VzZXJSZWdpc3RyYXRpb25NZXRob2Q7XG59XG4iXX0=
|
|
@@ -1,5 +1,5 @@
|
|
|
1
1
|
import { NgModule } from '@angular/core';
|
|
2
|
-
import {
|
|
2
|
+
import { DbxAnalyticsService } from './analytics.service';
|
|
3
3
|
import * as i0 from "@angular/core";
|
|
4
4
|
export class DbxAnalyticsModule {
|
|
5
5
|
static forRoot(options) {
|
|
@@ -9,15 +9,15 @@ export class DbxAnalyticsModule {
|
|
|
9
9
|
// Configuration
|
|
10
10
|
options.analyticsConfigurationProvider,
|
|
11
11
|
// Service
|
|
12
|
-
|
|
12
|
+
DbxAnalyticsService
|
|
13
13
|
]
|
|
14
14
|
};
|
|
15
15
|
}
|
|
16
16
|
}
|
|
17
|
-
DbxAnalyticsModule.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "13.2
|
|
18
|
-
DbxAnalyticsModule.ɵmod = i0.ɵɵngDeclareNgModule({ minVersion: "12.0.0", version: "13.2
|
|
19
|
-
DbxAnalyticsModule.ɵinj = i0.ɵɵngDeclareInjector({ minVersion: "12.0.0", version: "13.2
|
|
20
|
-
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "13.2
|
|
17
|
+
DbxAnalyticsModule.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "13.3.2", ngImport: i0, type: DbxAnalyticsModule, deps: [], target: i0.ɵɵFactoryTarget.NgModule });
|
|
18
|
+
DbxAnalyticsModule.ɵmod = i0.ɵɵngDeclareNgModule({ minVersion: "12.0.0", version: "13.3.2", ngImport: i0, type: DbxAnalyticsModule });
|
|
19
|
+
DbxAnalyticsModule.ɵinj = i0.ɵɵngDeclareInjector({ minVersion: "12.0.0", version: "13.3.2", ngImport: i0, type: DbxAnalyticsModule });
|
|
20
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "13.3.2", ngImport: i0, type: DbxAnalyticsModule, decorators: [{
|
|
21
21
|
type: NgModule
|
|
22
22
|
}] });
|
|
23
|
-
//# sourceMappingURL=data:application/json;base64,
|
|
23
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiYW5hbHl0aWNzLm1vZHVsZS5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uL3BhY2thZ2VzL2RieC1hbmFseXRpY3Mvc3JjL2xpYi9hbmFseXRpY3MvYW5hbHl0aWNzLm1vZHVsZS50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQUUsUUFBUSxFQUFpQyxNQUFNLGVBQWUsQ0FBQztBQUN4RSxPQUFPLEVBQUUsbUJBQW1CLEVBQUUsTUFBTSxxQkFBcUIsQ0FBQzs7QUFhMUQsTUFBTSxPQUFPLGtCQUFrQjtJQUU3QixNQUFNLENBQUMsT0FBTyxDQUFDLE9BQWtDO1FBQy9DLE9BQU87WUFDTCxRQUFRLEVBQUUsa0JBQWtCO1lBQzVCLFNBQVMsRUFBRTtnQkFDVCxnQkFBZ0I7Z0JBQ2hCLE9BQU8sQ0FBQyw4QkFBOEI7Z0JBQ3RDLFVBQVU7Z0JBQ1YsbUJBQW1CO2FBQ3BCO1NBQ0YsQ0FBQztJQUNKLENBQUM7OytHQVpVLGtCQUFrQjtnSEFBbEIsa0JBQWtCO2dIQUFsQixrQkFBa0I7MkZBQWxCLGtCQUFrQjtrQkFEOUIsUUFBUSIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IE5nTW9kdWxlLCBNb2R1bGVXaXRoUHJvdmlkZXJzLCBQcm92aWRlciB9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xuaW1wb3J0IHsgRGJ4QW5hbHl0aWNzU2VydmljZSB9IGZyb20gJy4vYW5hbHl0aWNzLnNlcnZpY2UnO1xuXG5cbmV4cG9ydCBpbnRlcmZhY2UgRGJ4QW5hbHl0aWNzTW9kdWxlT3B0aW9ucyB7XG5cbiAgLyoqXG4gICAqIFByb3ZpZGVzIGEgQW5hbHl0aWNzU2VydmljZUNvbmZpZ3VyYXRpb24gdmFsdWUuXG4gICAqL1xuICBhbmFseXRpY3NDb25maWd1cmF0aW9uUHJvdmlkZXI6IFByb3ZpZGVyO1xuXG59XG5cbkBOZ01vZHVsZSgpXG5leHBvcnQgY2xhc3MgRGJ4QW5hbHl0aWNzTW9kdWxlIHtcblxuICBzdGF0aWMgZm9yUm9vdChvcHRpb25zOiBEYnhBbmFseXRpY3NNb2R1bGVPcHRpb25zKTogTW9kdWxlV2l0aFByb3ZpZGVyczxEYnhBbmFseXRpY3NNb2R1bGU+IHtcbiAgICByZXR1cm4ge1xuICAgICAgbmdNb2R1bGU6IERieEFuYWx5dGljc01vZHVsZSxcbiAgICAgIHByb3ZpZGVyczogW1xuICAgICAgICAvLyBDb25maWd1cmF0aW9uXG4gICAgICAgIG9wdGlvbnMuYW5hbHl0aWNzQ29uZmlndXJhdGlvblByb3ZpZGVyLFxuICAgICAgICAvLyBTZXJ2aWNlXG4gICAgICAgIERieEFuYWx5dGljc1NlcnZpY2VcbiAgICAgIF1cbiAgICB9O1xuICB9XG5cbn1cbiJdfQ==
|
|
@@ -2,20 +2,20 @@ import { Subject, BehaviorSubject, of } from 'rxjs';
|
|
|
2
2
|
import { first, shareReplay, switchMap } from 'rxjs/operators';
|
|
3
3
|
import { Inject, Injectable, Optional } from '@angular/core';
|
|
4
4
|
import { SubscriptionObject, filterMaybe } from '@dereekb/rxjs';
|
|
5
|
-
import {
|
|
5
|
+
import { DbxAnalyticsStreamEventType } from './analytics.stream';
|
|
6
6
|
import * as i0 from "@angular/core";
|
|
7
|
-
export class
|
|
7
|
+
export class DbxAnalyticsEventEmitterService {
|
|
8
8
|
}
|
|
9
|
-
export class
|
|
9
|
+
export class DbxAnalyticsEventStreamService {
|
|
10
10
|
}
|
|
11
|
-
export class
|
|
11
|
+
export class DbxAnalyticsUserSource {
|
|
12
12
|
}
|
|
13
|
-
export class
|
|
13
|
+
export class DbxAnalyticsServiceListener {
|
|
14
14
|
}
|
|
15
15
|
/**
|
|
16
16
|
* Abstract AnalyticsServiceListener implementation.
|
|
17
17
|
*/
|
|
18
|
-
export class
|
|
18
|
+
export class AbstractDbxAnalyticsServiceListener {
|
|
19
19
|
constructor() {
|
|
20
20
|
this._sub = new SubscriptionObject();
|
|
21
21
|
this._analytics = new BehaviorSubject(undefined);
|
|
@@ -36,13 +36,13 @@ export class AbstractAnalyticsServiceListener {
|
|
|
36
36
|
this._sub.destroy();
|
|
37
37
|
}
|
|
38
38
|
}
|
|
39
|
-
export class
|
|
39
|
+
export class DbxAnalyticsServiceConfiguration {
|
|
40
40
|
constructor() {
|
|
41
41
|
this.listeners = [];
|
|
42
42
|
}
|
|
43
43
|
}
|
|
44
|
-
export class
|
|
45
|
-
constructor(event, type =
|
|
44
|
+
export class DbxAnalyticsStreamEventAnalyticsEventWrapper {
|
|
45
|
+
constructor(event, type = DbxAnalyticsStreamEventType.Event) {
|
|
46
46
|
this.event = event;
|
|
47
47
|
this.type = type;
|
|
48
48
|
}
|
|
@@ -56,7 +56,7 @@ export class AnalyticsStreamEventAnalyticsEventWrapper {
|
|
|
56
56
|
/**
|
|
57
57
|
* Primary analytics service that emits analytics events that components can listen to.
|
|
58
58
|
*/
|
|
59
|
-
export class
|
|
59
|
+
export class DbxAnalyticsService {
|
|
60
60
|
constructor(_config, userSource = _config.userSource) {
|
|
61
61
|
this._config = _config;
|
|
62
62
|
this._subject = new Subject();
|
|
@@ -90,30 +90,30 @@ export class AnalyticsService {
|
|
|
90
90
|
*/
|
|
91
91
|
sendNewUserEvent(user, data) {
|
|
92
92
|
this.sendNextEvent({
|
|
93
|
-
name:
|
|
93
|
+
name: DbxAnalyticsService.USER_REGISTRATION_EVENT_NAME,
|
|
94
94
|
data
|
|
95
|
-
},
|
|
95
|
+
}, DbxAnalyticsStreamEventType.NewUserEvent, user);
|
|
96
96
|
}
|
|
97
97
|
sendUserLoginEvent(user, data) {
|
|
98
98
|
this.sendNextEvent({
|
|
99
|
-
name:
|
|
99
|
+
name: DbxAnalyticsService.USER_LOGIN_EVENT_NAME,
|
|
100
100
|
data
|
|
101
|
-
},
|
|
101
|
+
}, DbxAnalyticsStreamEventType.UserLoginEvent, user);
|
|
102
102
|
}
|
|
103
103
|
sendUserLogoutEvent(data, clearUser = true) {
|
|
104
104
|
this.sendNextEvent({
|
|
105
|
-
name:
|
|
105
|
+
name: DbxAnalyticsService.USER_LOGOUT_EVENT_NAME,
|
|
106
106
|
data
|
|
107
|
-
},
|
|
107
|
+
}, DbxAnalyticsStreamEventType.UserLogoutEvent);
|
|
108
108
|
if (clearUser) {
|
|
109
109
|
this.setUser(undefined);
|
|
110
110
|
}
|
|
111
111
|
}
|
|
112
112
|
sendUserPropertiesEvent(user, data) {
|
|
113
113
|
this.sendNextEvent({
|
|
114
|
-
name:
|
|
114
|
+
name: DbxAnalyticsService.USER_PROPERTIES_EVENT_NAME,
|
|
115
115
|
data
|
|
116
|
-
},
|
|
116
|
+
}, DbxAnalyticsStreamEventType.UserPropertiesEvent, user);
|
|
117
117
|
}
|
|
118
118
|
sendEventData(name, data) {
|
|
119
119
|
return this.sendEvent({
|
|
@@ -124,15 +124,15 @@ export class AnalyticsService {
|
|
|
124
124
|
sendEventType(eventType) {
|
|
125
125
|
this.sendNextEvent({
|
|
126
126
|
name: eventType
|
|
127
|
-
},
|
|
127
|
+
}, DbxAnalyticsStreamEventType.Event);
|
|
128
128
|
}
|
|
129
129
|
sendEvent(event) {
|
|
130
|
-
this.sendNextEvent(event,
|
|
130
|
+
this.sendNextEvent(event, DbxAnalyticsStreamEventType.Event);
|
|
131
131
|
}
|
|
132
132
|
sendPageView(page) {
|
|
133
133
|
this.sendNextEvent({
|
|
134
134
|
name: page
|
|
135
|
-
},
|
|
135
|
+
}, DbxAnalyticsStreamEventType.PageView);
|
|
136
136
|
}
|
|
137
137
|
sendNextEvent(event = {}, type, userOverride) {
|
|
138
138
|
this.user$.pipe(first()).subscribe((analyticsUser) => {
|
|
@@ -142,7 +142,7 @@ export class AnalyticsService {
|
|
|
142
142
|
});
|
|
143
143
|
}
|
|
144
144
|
nextEvent(event, type) {
|
|
145
|
-
const wrapper = new
|
|
145
|
+
const wrapper = new DbxAnalyticsStreamEventAnalyticsEventWrapper(event, type);
|
|
146
146
|
this._subject.next(wrapper);
|
|
147
147
|
}
|
|
148
148
|
// MARK: Internal
|
|
@@ -160,31 +160,32 @@ export class AnalyticsService {
|
|
|
160
160
|
console.log('AnalyticsService: Log analytics events enabled.');
|
|
161
161
|
// Create a new subscription
|
|
162
162
|
this._loggerSub.subscription = this._subject.subscribe((x) => {
|
|
163
|
-
console.log(`AnalyticsService: Analytics Event - ${
|
|
163
|
+
console.log(`AnalyticsService: Analytics Event - ${DbxAnalyticsStreamEventType[x.type]} User: ${x.userId} Data: ${JSON.stringify(x.event)}.`);
|
|
164
164
|
});
|
|
165
165
|
}
|
|
166
166
|
this._userSourceSub.subscription = this.user$.subscribe(() => {
|
|
167
|
-
this.sendNextEvent({},
|
|
167
|
+
this.sendNextEvent({}, DbxAnalyticsStreamEventType.UserChange);
|
|
168
168
|
});
|
|
169
169
|
}
|
|
170
170
|
destroy() {
|
|
171
|
+
this._subject.complete();
|
|
171
172
|
this._userSourceSub.destroy();
|
|
172
173
|
this._loggerSub.destroy();
|
|
173
174
|
}
|
|
174
175
|
}
|
|
175
176
|
// TODO: Make these configurable.
|
|
176
|
-
|
|
177
|
-
|
|
178
|
-
|
|
179
|
-
|
|
180
|
-
|
|
181
|
-
|
|
182
|
-
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "13.2
|
|
177
|
+
DbxAnalyticsService.USER_REGISTRATION_EVENT_NAME = 'User Registered';
|
|
178
|
+
DbxAnalyticsService.USER_LOGIN_EVENT_NAME = 'User Login';
|
|
179
|
+
DbxAnalyticsService.USER_LOGOUT_EVENT_NAME = 'User Logout';
|
|
180
|
+
DbxAnalyticsService.USER_PROPERTIES_EVENT_NAME = 'User Properties';
|
|
181
|
+
DbxAnalyticsService.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "13.3.2", ngImport: i0, type: DbxAnalyticsService, deps: [{ token: DbxAnalyticsServiceConfiguration }, { token: DbxAnalyticsUserSource, optional: true }], target: i0.ɵɵFactoryTarget.Injectable });
|
|
182
|
+
DbxAnalyticsService.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "13.3.2", ngImport: i0, type: DbxAnalyticsService });
|
|
183
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "13.3.2", ngImport: i0, type: DbxAnalyticsService, decorators: [{
|
|
183
184
|
type: Injectable
|
|
184
|
-
}], ctorParameters: function () { return [{ type:
|
|
185
|
+
}], ctorParameters: function () { return [{ type: DbxAnalyticsServiceConfiguration }, { type: undefined, decorators: [{
|
|
185
186
|
type: Optional
|
|
186
187
|
}, {
|
|
187
188
|
type: Inject,
|
|
188
|
-
args: [
|
|
189
|
+
args: [DbxAnalyticsUserSource]
|
|
189
190
|
}] }]; } });
|
|
190
|
-
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiYW5hbHl0aWNzLnNlcnZpY2UuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi9wYWNrYWdlcy9kYngtYW5hbHl0aWNzL3NyYy9saWIvYW5hbHl0aWNzL2FuYWx5dGljcy5zZXJ2aWNlLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBYyxPQUFPLEVBQUUsZUFBZSxFQUFFLEVBQUUsRUFBZ0IsTUFBTSxNQUFNLENBQUM7QUFDOUUsT0FBTyxFQUFVLEtBQUssRUFBRSxXQUFXLEVBQUUsU0FBUyxFQUFFLE1BQU0sZ0JBQWdCLENBQUM7QUFDdkUsT0FBTyxFQUFFLE1BQU0sRUFBRSxVQUFVLEVBQUUsUUFBUSxFQUFFLE1BQU0sZUFBZSxDQUFDO0FBQzdELE9BQU8sRUFBRSxrQkFBa0IsRUFBRSxXQUFXLEVBQUUsTUFBTSxlQUFlLENBQUM7QUFFaEUsT0FBTyxFQUF3Qix3QkFBd0IsRUFBRSxNQUFNLG9CQUFvQixDQUFDOztBQUdwRixNQUFNLE9BQWdCLDRCQUE0QjtDQVFqRDtBQUVELE1BQU0sT0FBZ0IsMkJBQTJCO0NBRWhEO0FBRUQsTUFBTSxPQUFnQixtQkFBbUI7Q0FFeEM7QUFFRCxNQUFNLE9BQWdCLHdCQUF3QjtDQUU3QztBQUVEOztHQUVHO0FBQ0gsTUFBTSxPQUFnQixnQ0FBZ0M7SUFBdEQ7UUFFVSxTQUFJLEdBQUcsSUFBSSxrQkFBa0IsRUFBRSxDQUFDO1FBQzlCLGVBQVUsR0FBRyxJQUFJLGVBQWUsQ0FBMEIsU0FBUyxDQUFDLENBQUM7UUFFdEUsZUFBVSxHQUFHLElBQUksQ0FBQyxVQUFVLENBQUMsSUFBSSxDQUFDLFdBQVcsRUFBRSxFQUFFLFdBQVcsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDO1FBQ2pFLHFCQUFnQixHQUFHLElBQUksQ0FBQyxVQUFVLENBQUMsSUFBSSxDQUFDLFNBQVMsQ0FBQyxDQUFDLENBQUMsRUFBRSxDQUFDLENBQUMsQ0FBQyxPQUFPLENBQUMsRUFBRSxXQUFX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aUhBcEI5QixnQkFBZ0I7MkZBQWhCLGdCQUFnQjtrQkFENUIsVUFBVTswREFvQlUsNkJBQTZCOzBCQUM3QyxRQUFROzswQkFBSSxNQUFNOzJCQUFDLG1CQUFtQiIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IE9ic2VydmFibGUsIFN1YmplY3QsIEJlaGF2aW9yU3ViamVjdCwgb2YsIFN1YnNjcmlwdGlvbiB9IGZyb20gJ3J4anMnO1xuaW1wb3J0IHsgZmlsdGVyLCBmaXJzdCwgc2hhcmVSZXBsYXksIHN3aXRjaE1hcCB9IGZyb20gJ3J4anMvb3BlcmF0b3JzJztcbmltcG9ydCB7IEluamVjdCwgSW5qZWN0YWJsZSwgT3B0aW9uYWwgfSBmcm9tICdAYW5ndWxhci9jb3JlJztcbmltcG9ydCB7IFN1YnNjcmlwdGlvbk9iamVjdCwgZmlsdGVyTWF5YmUgfSBmcm9tICdAZGVyZWVrYi9yeGpzJztcbmltcG9ydCB7IEFuYWx5dGljc0V2ZW50LCBBbmFseXRpY3NFdmVudERhdGEsIEFuYWx5dGljc0V2ZW50TmFtZSwgQW5hbHl0aWNzVXNlciwgTmV3VXNlckFuYWx5dGljc0V2ZW50RGF0YSwgVXNlckFuYWx5dGljc0V2ZW50IH0gZnJvbSAnLi9hbmFseXRpY3MnO1xuaW1wb3J0IHsgQW5hbHl0aWNzU3RyZWFtRXZlbnQsIEFuYWx5dGljc1N0cmVhbUV2ZW50VHlwZSB9IGZyb20gJy4vYW5hbHl0aWNzLnN0cmVhbSc7XG5pbXBvcnQgeyBNYXliZSwgRGVzdHJveWFibGUgfSBmcm9tICdAZGVyZWVrYi91dGlsJztcblxuZXhwb3J0IGFic3RyYWN0IGNsYXNzIEFuYWx5dGljc0V2ZW50RW1pdHRlclNlcnZpY2Uge1xuICBhYnN0cmFjdCBzZW5kTmV3VXNlckV2ZW50KHVzZXI6IEFuYWx5dGljc1VzZXIsIGRhdGE6IE5ld1VzZXJBbmFseXRpY3NFdmVudERhdGEpOiB2b2lkO1xuICBhYnN0cmFjdCBzZW5kVXNlckxvZ2luRXZlbnQodXNlcjogQW5hbHl0aWNzVXNlciwgZGF0YT86IEFuYWx5dGljc0V2ZW50RGF0YSk6IHZvaWQ7XG4gIGFic3RyYWN0IHNlbmRVc2VyTG9nb3V0RXZlbnQoZGF0YT86IEFuYWx5dGljc0V2ZW50RGF0YSk6IHZvaWQ7XG4gIGFic3RyYWN0IHNlbmRVc2VyUHJvcGVydGllc0V2ZW50KHVzZXI6IEFuYWx5dGljc1VzZXIsIGRhdGE/OiBBbmFseXRpY3NFdmVudERhdGEpOiB2b2lkO1xuICBhYnN0cmFjdCBzZW5kRXZlbnREYXRhKG5hbWU6IEFuYWx5dGljc0V2ZW50TmFtZSwgZGF0YT86IEFuYWx5dGljc0V2ZW50RGF0YSk6IHZvaWQ7XG4gIGFic3RyYWN0IHNlbmRFdmVudChldmVudDogQW5hbHl0aWNzRXZlbnQpOiB2b2lkO1xuICBhYnN0cmFjdCBzZW5kUGFnZVZpZXcocGFnZT86IHN0cmluZyk6IHZvaWQ7XG59XG5cbmV4cG9ydCBhYnN0cmFjdCBjbGFzcyBBbmFseXRpY3NFdmVudFN0cmVhbVNlcnZpY2Uge1xuICBhYnN0cmFjdCByZWFkb25seSBldmVudHMkOiBPYnNlcnZhYmxlPEFuYWx5dGljc1N0cmVhbUV2ZW50Pjtcbn1cblxuZXhwb3J0IGFic3RyYWN0IGNsYXNzIEFuYWx5dGljc1VzZXJTb3VyY2Uge1xuICBhYnN0cmFjdCByZWFkb25seSBhbmFseXRpY3NVc2VyJDogT2JzZXJ2YWJsZTxNYXliZTxBbmFseXRpY3NVc2VyPj47XG59XG5cbmV4cG9ydCBhYnN0cmFjdCBjbGFzcyBBbmFseXRpY3NTZXJ2aWNlTGlzdGVuZXIge1xuICBwdWJsaWMgYWJzdHJhY3QgbGlzdGVuVG9TZXJ2aWNlKHNlcnZpY2U6IEFuYWx5dGljc1NlcnZpY2UpOiB2b2lkO1xufVxuXG4vKipcbiAqIEFic3RyYWN0IEFuYWx5dGljc1NlcnZpY2VMaXN0ZW5lciBpbXBsZW1lbnRhdGlvbi5cbiAqL1xuZXhwb3J0IGFic3RyYWN0IGNsYXNzIEFic3RyYWN0QW5hbHl0aWNzU2VydmljZUxpc3RlbmVyIGltcGxlbWVudHMgQW5hbHl0aWNzU2VydmljZUxpc3RlbmVyLCBEZXN0cm95YWJsZSB7XG5cbiAgcHJpdmF0ZSBfc3ViID0gbmV3IFN1YnNjcmlwdGlvbk9iamVjdCgpO1xuICBwcm90ZWN0ZWQgX2FuYWx5dGljcyA9IG5ldyBCZWhhdmlvclN1YmplY3Q8TWF5YmU8QW5hbHl0aWNzU2VydmljZT4+KHVuZGVmaW5lZCk7XG5cbiAgcmVhZG9ubHkgYW5hbHl0aWNzJCA9IHRoaXMuX2FuYWx5dGljcy5waXBlKGZpbHRlck1heWJlKCksIHNoYXJlUmVwbGF5KDEpKTtcbiAgcmVhZG9ubHkgYW5hbHl0aWNzRXZlbnRzJCA9IHRoaXMuYW5hbHl0aWNzJC5waXBlKHN3aXRjaE1hcCh4ID0+IHguZXZlbnRzJCksIHNoYXJlUmVwbGF5KDEpKTtcblxuICAvLyBNQVJLOiBBbmFseXRpY3NTZXJ2aWNlTGlzdGVuZXJcbiAgbGlzdGVuVG9TZXJ2aWNlKHNlcnZpY2U6IEFuYWx5dGljc1NlcnZpY2UpOiB2b2lkIHtcbiAgICB0aGlzLl9hbmFseXRpY3MubmV4dChzZXJ2aWNlKTtcbiAgICBjb25zdCBzdWIgPSB0aGlzLl9pbml0aWFsaXplU2VydmljZVN1YnNjcmlwdGlvbigpO1xuXG4gICAgaWYgKHN1YiAhPT0gZmFsc2UpIHtcbiAgICAgIHRoaXMuX3N1Yi5zdWJzY3JpcHRpb24gPSBzdWI7XG4gICAgfVxuICB9XG5cbiAgcHJvdGVjdGVkIGFic3RyYWN0IF9pbml0aWFsaXplU2VydmljZVN1YnNjcmlwdGlvbigpOiBTdWJzY3JpcHRpb24gfCBmYWxzZTtcblxuICAvLyBNQVJLOiBEZXN0cm95XG4gIGRlc3Ryb3koKTogdm9pZCB7XG4gICAgdGhpcy5fYW5hbHl0aWNzLmNvbXBsZXRlKCk7XG4gICAgdGhpcy5fc3ViLmRlc3Ryb3koKTtcbiAgfVxuXG59XG5cbmV4cG9ydCBhYnN0cmFjdCBjbGFzcyBBbmFseXRpY3NTZXJ2aWNlQ29uZmlndXJhdGlvbiB7XG4gIGxpc3RlbmVyczogQW5hbHl0aWNzU2VydmljZUxpc3RlbmVyW10gPSBbXTtcbiAgaXNQcm9kdWN0aW9uPzogYm9vbGVhbjtcbiAgbG9nRXZlbnRzPzogYm9vbGVhbjtcbiAgdXNlclNvdXJjZT86IEFuYWx5dGljc1VzZXJTb3VyY2U7XG59XG5cbmV4cG9ydCBjbGFzcyBBbmFseXRpY3NTdHJlYW1FdmVudEFuYWx5dGljc0V2ZW50V3JhcHBlciBpbXBsZW1lbnRzIEFuYWx5dGljc1N0cmVhbUV2ZW50IHtcblxuICBjb25zdHJ1Y3RvcihwdWJsaWMgcmVhZG9ubHkgZXZlbnQ6IFVzZXJBbmFseXRpY3NFdmVudCwgcHVibGljIHJlYWRvbmx5IHR5cGU6IEFuYWx5dGljc1N0cmVhbUV2ZW50VHlwZSA9IEFuYWx5dGljc1N0cmVhbUV2ZW50VHlwZS5FdmVudCkgeyB9XG5cbiAgcHVibGljIGdldCB1c2VyKCk6IE1heWJlPEFuYWx5dGljc1VzZXI+IHtcbiAgICByZXR1cm4gdGhpcy5ldmVudC51c2VyO1xuICB9XG5cbiAgcHVibGljIGdldCB1c2VySWQoKTogc3RyaW5nIHwgdW5kZWZpbmVkIHtcbiAgICByZXR1cm4gKHRoaXMudXNlcikgPyB0aGlzLnVzZXIudXNlciA6IHVuZGVmaW5lZDtcbiAgfVxuXG59XG5cbi8qKlxuICogUHJpbWFyeSBhbmFseXRpY3Mgc2VydmljZSB0aGF0IGVtaXRzIGFuYWx5dGljcyBldmVudHMgdGhhdCBjb21wb25lbnRzIGNhbiBsaXN0ZW4gdG8uXG4gKi9cbkBJbmplY3RhYmxlKClcbmV4cG9ydCBjbGFzcyBBbmFseXRpY3NTZXJ2aWNlIGltcGxlbWVudHMgQW5hbHl0aWNzRXZlbnRTdHJlYW1TZXJ2aWNlLCBBbmFseXRpY3NFdmVudEVtaXR0ZXJTZXJ2aWNlLCBEZXN0cm95YWJsZSB7XG5cbiAgLy8gVE9ETzogTWFrZSB0aGVzZSBjb25maWd1cmFibGUuXG5cbiAgc3RhdGljIHJlYWRvbmx5IFVTRVJfUkVHSVNUUkFUSU9OX0VWRU5UX05BTUUgPSAnVXNlciBSZWdpc3RlcmVkJztcbiAgc3RhdGljIHJlYWRvbmx5IFVTRVJfTE9HSU5fRVZFTlRfTkFNRSA9ICdVc2VyIExvZ2luJztcbiAgc3RhdGljIHJlYWRvbmx5IFVTRVJfTE9HT1VUX0VWRU5UX05BTUUgPSAnVXNlciBMb2dvdXQnO1xuICBzdGF0aWMgcmVhZG9ubHkgVVNFUl9QUk9QRVJUSUVTX0VWRU5UX05BTUUgPSAnVXNlciBQcm9wZXJ0aWVzJztcblxuICBwcml2YXRlIF9zdWJqZWN0ID0gbmV3IFN1YmplY3Q8QW5hbHl0aWNzU3RyZWFtRXZlbnQ+KCk7XG4gIHJlYWRvbmx5IGV2ZW50cyQgPSB0aGlzLl9zdWJqZWN0LmFzT2JzZXJ2YWJsZSgpO1xuXG4gIHByaXZhdGUgX3VzZXJTb3VyY2UgPSBuZXcgQmVoYXZpb3JTdWJqZWN0PE1heWJlPEFuYWx5dGljc1VzZXJTb3VyY2U+Pih1bmRlZmluZWQpO1xuICByZWFkb25seSB1c2VyJCA9IHRoaXMuX3VzZXJTb3VyY2UucGlwZShzd2l0Y2hNYXAoeCA9PiAoeCkgPyB4LmFuYWx5dGljc1VzZXIkIDogb2YodW5kZWZpbmVkKSksIHNoYXJlUmVwbGF5KDEpKTtcblxuICBwcml2YXRlIF91c2VyU291cmNlU3ViID0gbmV3IFN1YnNjcmlwdGlvbk9iamVjdCgpO1xuICBwcml2YXRlIF9sb2dnZXJTdWIgPSBuZXcgU3Vic2NyaXB0aW9uT2JqZWN0KCk7XG5cbiAgY29uc3RydWN0b3IoXG4gICAgcHJpdmF0ZSBfY29uZmlnOiBBbmFseXRpY3NTZXJ2aWNlQ29uZmlndXJhdGlvbixcbiAgICBAT3B0aW9uYWwoKSBASW5qZWN0KEFuYWx5dGljc1VzZXJTb3VyY2UpIHVzZXJTb3VyY2U6IE1heWJlPEFuYWx5dGljc1VzZXJTb3VyY2U+ID0gX2NvbmZpZy51c2VyU291cmNlXG4gICkge1xuICAgIHRoaXMuX2luaXQoKTtcblxuICAgIGlmICh1c2VyU291cmNlKSB7XG4gICAgICB0aGlzLnNldFVzZXJTb3VyY2UodXNlclNvdXJjZSk7XG4gICAgfVxuICB9XG5cbiAgLy8gTUFSSzogU291cmNlXG4gIC8qKlxuICAgKiBTZXRzIHRoZSB1c2VyIGRpcmVjdGx5LlxuICAgKi9cbiAgcHVibGljIHNldFVzZXIodXNlcjogTWF5YmU8QW5hbHl0aWNzVXNlcj4pOiB2b2lkIHtcbiAgICBsZXQgc291cmNlOiBNYXliZTxBbmFseXRpY3NVc2VyU291cmNlPjtcblxuICAgIGlmICh1c2VyKSB7XG4gICAgICBzb3VyY2UgPSB7IGFuYWx5dGljc1VzZXIkOiBvZih1c2VyKSB9O1xuICAgIH1cblxuICAgIHRoaXMuX3VzZXJTb3VyY2UubmV4dChzb3VyY2UpO1xuICB9XG5cbiAgcHVibGljIHNldFVzZXJTb3VyY2Uoc291cmNlOiBBbmFseXRpY3NVc2VyU291cmNlKTogdm9pZCB7XG4gICAgdGhpcy5fdXNlclNvdXJjZS5uZXh0KHNvdXJjZSk7XG4gIH1cblxuICAvLyBNQVJLOiBBbmFseXRpY3NFdmVudEVtaXR0ZXJTZXJ2aWNlXG4gIC8qKlxuICAgKiBTZW5kcyBhbiBldmVudC5cbiAgICovXG4gIHB1YmxpYyBzZW5kTmV3VXNlckV2ZW50KHVzZXI6IEFuYWx5dGljc1VzZXIsIGRhdGE6IE5ld1VzZXJBbmFseXRpY3NFdmVudERhdGEpOiB2b2lkIHtcbiAgICB0aGlzLnNlbmROZXh0RXZlbnQoe1xuICAgICAgbmFtZTogQW5hbHl0aWNzU2VydmljZS5VU0VSX1JFR0lTVFJBVElPTl9FVkVOVF9OQU1FLFxuICAgICAgZGF0YVxuICAgIH0sIEFuYWx5dGljc1N0cmVhbUV2ZW50VHlwZS5OZXdVc2VyRXZlbnQsIHVzZXIpO1xuICB9XG5cbiAgcHVibGljIHNlbmRVc2VyTG9naW5FdmVudCh1c2VyOiBBbmFseXRpY3NVc2VyLCBkYXRhPzogQW5hbHl0aWNzRXZlbnREYXRhKTogdm9pZCB7XG4gICAgdGhpcy5zZW5kTmV4dEV2ZW50KHtcbiAgICAgIG5hbWU6IEFuYWx5dGljc1NlcnZpY2UuVVNFUl9MT0dJTl9FVkVOVF9OQU1FLFxuICAgICAgZGF0YVxuICAgIH0sIEFuYWx5dGljc1N0cmVhbUV2ZW50VHlwZS5Vc2VyTG9naW5FdmVudCwgdXNlcik7XG4gIH1cblxuICBwdWJsaWMgc2VuZFVzZXJMb2dvdXRFdmVudChkYXRhPzogQW5hbHl0aWNzRXZlbnREYXRhLCBjbGVhclVzZXIgPSB0cnVlKTogdm9pZCB7XG4gICAgdGhpcy5zZW5kTmV4dEV2ZW50KHtcbiAgICAgIG5hbWU6IEFuYWx5dGljc1NlcnZpY2UuVVNFUl9MT0dPVVRfRVZFTlRfTkFNRSxcbiAgICAgIGRhdGFcbiAgICB9LCBBbmFseXRpY3NTdHJlYW1FdmVudFR5cGUuVXNlckxvZ291dEV2ZW50KTtcblxuICAgIGlmIChjbGVhclVzZXIpIHtcbiAgICAgIHRoaXMuc2V0VXNlcih1bmRlZmluZWQpO1xuICAgIH1cbiAgfVxuXG4gIHB1YmxpYyBzZW5kVXNlclByb3BlcnRpZXNFdmVudCh1c2VyOiBBbmFseXRpY3NVc2VyLCBkYXRhPzogQW5hbHl0aWNzRXZlbnREYXRhKTogdm9pZCB7XG4gICAgdGhpcy5zZW5kTmV4dEV2ZW50KHtcbiAgICAgIG5hbWU6IEFuYWx5dGljc1NlcnZpY2UuVVNFUl9QUk9QRVJUSUVTX0VWRU5UX05BTUUsXG4gICAgICBkYXRhXG4gICAgfSwgQW5hbHl0aWNzU3RyZWFtRXZlbnRUeXBlLlVzZXJQcm9wZXJ0aWVzRXZlbnQsIHVzZXIpO1xuICB9XG5cbiAgcHVibGljIHNlbmRFdmVudERhdGEobmFtZTogQW5hbHl0aWNzRXZlbnROYW1lLCBkYXRhPzogQW5hbHl0aWNzRXZlbnREYXRhKTogdm9pZCB7XG4gICAgcmV0dXJuIHRoaXMuc2VuZEV2ZW50KHtcbiAgICAgIG5hbWUsXG4gICAgICBkYXRhXG4gICAgfSk7XG4gIH1cblxuICBwdWJsaWMgc2VuZEV2ZW50VHlwZShldmVudFR5cGU6IEFuYWx5dGljc0V2ZW50TmFtZSk6IHZvaWQge1xuICAgIHRoaXMuc2VuZE5leHRFdmVudCh7XG4gICAgICBuYW1lOiBldmVudFR5cGVcbiAgICB9LCBBbmFseXRpY3NTdHJlYW1FdmVudFR5cGUuRXZlbnQpO1xuICB9XG5cbiAgcHVibGljIHNlbmRFdmVudChldmVudDogQW5hbHl0aWNzRXZlbnQpOiB2b2lkIHtcbiAgICB0aGlzLnNlbmROZXh0RXZlbnQoZXZlbnQsIEFuYWx5dGljc1N0cmVhbUV2ZW50VHlwZS5FdmVudCk7XG4gIH1cblxuICBwdWJsaWMgc2VuZFBhZ2VWaWV3KHBhZ2U/OiBzdHJpbmcpOiB2b2lkIHtcbiAgICB0aGlzLnNlbmROZXh0RXZlbnQoe1xuICAgICAgbmFtZTogcGFnZVxuICAgIH0sIEFuYWx5dGljc1N0cmVhbUV2ZW50VHlwZS5QYWdlVmlldyk7XG4gIH1cblxuICBwcm90ZWN0ZWQgc2VuZE5leHRFdmVudChldmVudDogQW5hbHl0aWNzRXZlbnQgPSB7fSwgdHlwZTogQW5hbHl0aWNzU3RyZWFtRXZlbnRUeXBlLCB1c2VyT3ZlcnJpZGU/OiBBbmFseXRpY3NVc2VyKTogdm9pZCB7XG4gICAgdGhpcy51c2VyJC5waXBlKGZpcnN0KCkpLnN1YnNjcmliZSgoYW5hbHl0aWNzVXNlcikgPT4ge1xuICAgICAgY29uc3QgdXNlcjogTWF5YmU8QW5hbHl0aWNzVXNlcj4gPSAodXNlck92ZXJyaWRlICE9IG51bGwpID8gdXNlck92ZXJyaWRlIDogYW5hbHl0aWNzVXNlcjtcbiAgICAgIGNvbnN0IGFuYWx5dGljc0V2ZW50OiBVc2VyQW5hbHl0aWNzRXZlbnQgPSB7IC4uLmV2ZW50LCB1c2VyIH07XG4gICAgICB0aGlzLm5leHRFdmVudChhbmFseXRpY3NFdmVudCwgdHlwZSk7XG4gICAgfSk7XG4gIH1cblxuICBwcm90ZWN0ZWQgbmV4dEV2ZW50KGV2ZW50OiBVc2VyQW5hbHl0aWNzRXZlbnQsIHR5cGU6IEFuYWx5dGljc1N0cmVhbUV2ZW50VHlwZSk6IHZvaWQge1xuICAgIGNvbnN0IHdyYXBwZXIgPSBuZXcgQW5hbHl0aWNzU3RyZWFtRXZlbnRBbmFseXRpY3NFdmVudFdyYXBwZXIoZXZlbnQsIHR5cGUpO1xuICAgIHRoaXMuX3N1YmplY3QubmV4dCh3cmFwcGVyKTtcbiAgfVxuXG4gIC8vIE1BUks6IEludGVybmFsXG4gIHByaXZhdGUgX2luaXQoKTogdm9pZCB7XG5cbiAgICBpZiAodGhpcy5fY29uZmlnLmlzUHJvZHVjdGlvbikge1xuICAgICAgLy8gSW5pdGlhbGl6ZSBsaXN0ZW5lcnMuXG4gICAgICB0aGlzLl9jb25maWcubGlzdGVuZXJzLmZvckVhY2goKGxpc3RlbmVyKSA9PiB7XG4gICAgICAgIGxpc3RlbmVyLmxpc3RlblRvU2VydmljZSh0aGlzKTtcbiAgICAgIH0pO1xuICAgIH0gZWxzZSB7XG4gICAgICBjb25zb2xlLndhcm4oJ0FuYWx5dGljc1NlcnZpY2U6IEFuYWx5dGljcyBub3QgaW4gcHJvZHVjdGlvbiBtb2RlLiBBbGwgYW5hbHl0aWNzIGV2ZW50cyBhcmUgaWdub3JlZC4nKTtcbiAgICB9XG5cbiAgICBpZiAodGhpcy5fY29uZmlnLmxvZ0V2ZW50cyB8fCAhdGhpcy5fY29uZmlnLmlzUHJvZHVjdGlvbikge1xuICAgICAgY29uc29sZS5sb2coJ0FuYWx5dGljc1NlcnZpY2U6IExvZyBhbmFseXRpY3MgZXZlbnRzIGVuYWJsZWQuJyk7XG5cbiAgICAgIC8vIENyZWF0ZSBhIG5ldyBzdWJzY3JpcHRpb25cbiAgICAgIHRoaXMuX2xvZ2dlclN1Yi5zdWJzY3JpcHRpb24gPSB0aGlzLl9zdWJqZWN0LnN1YnNjcmliZSgoeCkgPT4ge1xuICAgICAgICBjb25zb2xlLmxvZyhgQW5hbHl0aWNzU2VydmljZTogQW5hbHl0aWNzIEV2ZW50IC0gJHtBbmFseXRpY3NTdHJlYW1FdmVudFR5cGVbeC50eXBlXX0gVXNlcjogJHt4LnVzZXJJZH0gRGF0YTogJHtKU09OLnN0cmluZ2lmeSh4LmV2ZW50KX0uYCk7XG4gICAgICB9KTtcbiAgICB9XG5cbiAgICB0aGlzLl91c2VyU291cmNlU3ViLnN1YnNjcmlwdGlvbiA9IHRoaXMudXNlciQuc3Vic2NyaWJlKCgpID0+IHtcbiAgICAgIHRoaXMuc2VuZE5leHRFdmVudCh7fSwgQW5hbHl0aWNzU3RyZWFtRXZlbnRUeXBlLlVzZXJDaGFuZ2UpO1xuICAgIH0pO1xuICB9XG5cbiAgZGVzdHJveSgpIHtcbiAgICB0aGlzLl91c2VyU291cmNlU3ViLmRlc3Ryb3koKTtcbiAgICB0aGlzLl9sb2dnZXJTdWIuZGVzdHJveSgpO1xuICB9XG5cbn1cbiJdfQ==
|
|
191
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiYW5hbHl0aWNzLnNlcnZpY2UuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi9wYWNrYWdlcy9kYngtYW5hbHl0aWNzL3NyYy9saWIvYW5hbHl0aWNzL2FuYWx5dGljcy5zZXJ2aWNlLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBYyxPQUFPLEVBQUUsZUFBZSxFQUFFLEVBQUUsRUFBZ0IsTUFBTSxNQUFNLENBQUM7QUFDOUUsT0FBTyxFQUFVLEtBQUssRUFBRSxXQUFXLEVBQUUsU0FBUyxFQUFFLE1BQU0sZ0JBQWdCLENBQUM7QUFDdkUsT0FBTyxFQUFFLE1BQU0sRUFBRSxVQUFVLEVBQUUsUUFBUSxFQUFFLE1BQU0sZUFBZSxDQUFDO0FBQzdELE9BQU8sRUFBRSxrQkFBa0IsRUFBRSxXQUFXLEVBQUUsTUFBTSxlQUFlLENBQUM7QUFFaEUsT0FBTyxFQUEyQiwyQkFBMkIsRUFBRSxNQUFNLG9CQUFvQixDQUFDOztBQUcxRixNQUFNLE9BQWdCLCtCQUErQjtDQVFwRDtBQUVELE1BQU0sT0FBZ0IsOEJBQThCO0NBRW5EO0FBRUQsTUFBTSxPQUFnQixzQkFBc0I7Q0FFM0M7QUFFRCxNQUFNLE9BQWdCLDJCQUEyQjtDQUVoRDtBQUVEOztHQUVHO0FBQ0gsTUFBTSxPQUFnQixtQ0FBbUM7SUFBekQ7UUFFVSxTQUFJLEdBQUcsSUFBSSxrQkFBa0IsRUFBRSxDQUFDO1FBQzlCLGVBQVUsR0FBRyxJQUFJLGVBQWUsQ0FBNkIsU0FBUyxDQUFDLENBQUM7UUFFekUsZUFBVSxHQUFHLElBQUksQ0FBQyxVQUFVLENBQUMsSUFBSSxDQUFDLFdBQVcsRUFBRSxFQUFFLFdBQVcsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDO1FBQ2pFLHFCQUFnQixHQUFHLElBQUksQ0FBQyxVQUFVLENBQUMsSUFBSSxDQUFDLFNBQVMsQ0FBQyxDQUFDLENBQUMsRUFBRSxDQUFDLENBQUMsQ0FBQyxPQUFPLENBQUMsRUFBRSxXQUFX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Z0hBUHBELG1CQUFtQixrQkFtQlgsZ0NBQWdDLGFBQzdCLHNCQUFzQjtvSEFwQmpDLG1CQUFtQjsyRkFBbkIsbUJBQW1CO2tCQUQvQixVQUFVOzBEQW9CVSxnQ0FBZ0M7MEJBQ2hELFFBQVE7OzBCQUFJLE1BQU07MkJBQUMsc0JBQXNCIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgT2JzZXJ2YWJsZSwgU3ViamVjdCwgQmVoYXZpb3JTdWJqZWN0LCBvZiwgU3Vic2NyaXB0aW9uIH0gZnJvbSAncnhqcyc7XG5pbXBvcnQgeyBmaWx0ZXIsIGZpcnN0LCBzaGFyZVJlcGxheSwgc3dpdGNoTWFwIH0gZnJvbSAncnhqcy9vcGVyYXRvcnMnO1xuaW1wb3J0IHsgSW5qZWN0LCBJbmplY3RhYmxlLCBPcHRpb25hbCB9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xuaW1wb3J0IHsgU3Vic2NyaXB0aW9uT2JqZWN0LCBmaWx0ZXJNYXliZSB9IGZyb20gJ0BkZXJlZWtiL3J4anMnO1xuaW1wb3J0IHsgRGJ4QW5hbHl0aWNzRXZlbnQsIERieEFuYWx5dGljc0V2ZW50RGF0YSwgRGJ4QW5hbHl0aWNzRXZlbnROYW1lLCBEYnhBbmFseXRpY3NVc2VyLCBOZXdVc2VyQW5hbHl0aWNzRXZlbnREYXRhLCBEYnhVc2VyQW5hbHl0aWNzRXZlbnQgfSBmcm9tICcuL2FuYWx5dGljcyc7XG5pbXBvcnQgeyBEYnhBbmFseXRpY3NTdHJlYW1FdmVudCwgRGJ4QW5hbHl0aWNzU3RyZWFtRXZlbnRUeXBlIH0gZnJvbSAnLi9hbmFseXRpY3Muc3RyZWFtJztcbmltcG9ydCB7IE1heWJlLCBEZXN0cm95YWJsZSB9IGZyb20gJ0BkZXJlZWtiL3V0aWwnO1xuXG5leHBvcnQgYWJzdHJhY3QgY2xhc3MgRGJ4QW5hbHl0aWNzRXZlbnRFbWl0dGVyU2VydmljZSB7XG4gIGFic3RyYWN0IHNlbmROZXdVc2VyRXZlbnQodXNlcjogRGJ4QW5hbHl0aWNzVXNlciwgZGF0YTogTmV3VXNlckFuYWx5dGljc0V2ZW50RGF0YSk6IHZvaWQ7XG4gIGFic3RyYWN0IHNlbmRVc2VyTG9naW5FdmVudCh1c2VyOiBEYnhBbmFseXRpY3NVc2VyLCBkYXRhPzogRGJ4QW5hbHl0aWNzRXZlbnREYXRhKTogdm9pZDtcbiAgYWJzdHJhY3Qgc2VuZFVzZXJMb2dvdXRFdmVudChkYXRhPzogRGJ4QW5hbHl0aWNzRXZlbnREYXRhKTogdm9pZDtcbiAgYWJzdHJhY3Qgc2VuZFVzZXJQcm9wZXJ0aWVzRXZlbnQodXNlcjogRGJ4QW5hbHl0aWNzVXNlciwgZGF0YT86IERieEFuYWx5dGljc0V2ZW50RGF0YSk6IHZvaWQ7XG4gIGFic3RyYWN0IHNlbmRFdmVudERhdGEobmFtZTogRGJ4QW5hbHl0aWNzRXZlbnROYW1lLCBkYXRhPzogRGJ4QW5hbHl0aWNzRXZlbnREYXRhKTogdm9pZDtcbiAgYWJzdHJhY3Qgc2VuZEV2ZW50KGV2ZW50OiBEYnhBbmFseXRpY3NFdmVudCk6IHZvaWQ7XG4gIGFic3RyYWN0IHNlbmRQYWdlVmlldyhwYWdlPzogc3RyaW5nKTogdm9pZDtcbn1cblxuZXhwb3J0IGFic3RyYWN0IGNsYXNzIERieEFuYWx5dGljc0V2ZW50U3RyZWFtU2VydmljZSB7XG4gIGFic3RyYWN0IHJlYWRvbmx5IGV2ZW50cyQ6IE9ic2VydmFibGU8RGJ4QW5hbHl0aWNzU3RyZWFtRXZlbnQ+O1xufVxuXG5leHBvcnQgYWJzdHJhY3QgY2xhc3MgRGJ4QW5hbHl0aWNzVXNlclNvdXJjZSB7XG4gIGFic3RyYWN0IHJlYWRvbmx5IGFuYWx5dGljc1VzZXIkOiBPYnNlcnZhYmxlPE1heWJlPERieEFuYWx5dGljc1VzZXI+Pjtcbn1cblxuZXhwb3J0IGFic3RyYWN0IGNsYXNzIERieEFuYWx5dGljc1NlcnZpY2VMaXN0ZW5lciB7XG4gIHB1YmxpYyBhYnN0cmFjdCBsaXN0ZW5Ub1NlcnZpY2Uoc2VydmljZTogRGJ4QW5hbHl0aWNzU2VydmljZSk6IHZvaWQ7XG59XG5cbi8qKlxuICogQWJzdHJhY3QgQW5hbHl0aWNzU2VydmljZUxpc3RlbmVyIGltcGxlbWVudGF0aW9uLlxuICovXG5leHBvcnQgYWJzdHJhY3QgY2xhc3MgQWJzdHJhY3REYnhBbmFseXRpY3NTZXJ2aWNlTGlzdGVuZXIgaW1wbGVtZW50cyBEYnhBbmFseXRpY3NTZXJ2aWNlTGlzdGVuZXIsIERlc3Ryb3lhYmxlIHtcblxuICBwcml2YXRlIF9zdWIgPSBuZXcgU3Vic2NyaXB0aW9uT2JqZWN0KCk7XG4gIHByb3RlY3RlZCBfYW5hbHl0aWNzID0gbmV3IEJlaGF2aW9yU3ViamVjdDxNYXliZTxEYnhBbmFseXRpY3NTZXJ2aWNlPj4odW5kZWZpbmVkKTtcblxuICByZWFkb25seSBhbmFseXRpY3MkID0gdGhpcy5fYW5hbHl0aWNzLnBpcGUoZmlsdGVyTWF5YmUoKSwgc2hhcmVSZXBsYXkoMSkpO1xuICByZWFkb25seSBhbmFseXRpY3NFdmVudHMkID0gdGhpcy5hbmFseXRpY3MkLnBpcGUoc3dpdGNoTWFwKHggPT4geC5ldmVudHMkKSwgc2hhcmVSZXBsYXkoMSkpO1xuXG4gIC8vIE1BUks6IEFuYWx5dGljc1NlcnZpY2VMaXN0ZW5lclxuICBsaXN0ZW5Ub1NlcnZpY2Uoc2VydmljZTogRGJ4QW5hbHl0aWNzU2VydmljZSk6IHZvaWQge1xuICAgIHRoaXMuX2FuYWx5dGljcy5uZXh0KHNlcnZpY2UpO1xuICAgIGNvbnN0IHN1YiA9IHRoaXMuX2luaXRpYWxpemVTZXJ2aWNlU3Vic2NyaXB0aW9uKCk7XG5cbiAgICBpZiAoc3ViICE9PSBmYWxzZSkge1xuICAgICAgdGhpcy5fc3ViLnN1YnNjcmlwdGlvbiA9IHN1YjtcbiAgICB9XG4gIH1cblxuICBwcm90ZWN0ZWQgYWJzdHJhY3QgX2luaXRpYWxpemVTZXJ2aWNlU3Vic2NyaXB0aW9uKCk6IFN1YnNjcmlwdGlvbiB8IGZhbHNlO1xuXG4gIC8vIE1BUks6IERlc3Ryb3lcbiAgZGVzdHJveSgpOiB2b2lkIHtcbiAgICB0aGlzLl9hbmFseXRpY3MuY29tcGxldGUoKTtcbiAgICB0aGlzLl9zdWIuZGVzdHJveSgpO1xuICB9XG5cbn1cblxuZXhwb3J0IGFic3RyYWN0IGNsYXNzIERieEFuYWx5dGljc1NlcnZpY2VDb25maWd1cmF0aW9uIHtcbiAgbGlzdGVuZXJzOiBEYnhBbmFseXRpY3NTZXJ2aWNlTGlzdGVuZXJbXSA9IFtdO1xuICBpc1Byb2R1Y3Rpb24/OiBib29sZWFuO1xuICBsb2dFdmVudHM/OiBib29sZWFuO1xuICB1c2VyU291cmNlPzogRGJ4QW5hbHl0aWNzVXNlclNvdXJjZTtcbn1cblxuZXhwb3J0IGNsYXNzIERieEFuYWx5dGljc1N0cmVhbUV2ZW50QW5hbHl0aWNzRXZlbnRXcmFwcGVyIGltcGxlbWVudHMgRGJ4QW5hbHl0aWNzU3RyZWFtRXZlbnQge1xuXG4gIGNvbnN0cnVjdG9yKHB1YmxpYyByZWFkb25seSBldmVudDogRGJ4VXNlckFuYWx5dGljc0V2ZW50LCBwdWJsaWMgcmVhZG9ubHkgdHlwZTogRGJ4QW5hbHl0aWNzU3RyZWFtRXZlbnRUeXBlID0gRGJ4QW5hbHl0aWNzU3RyZWFtRXZlbnRUeXBlLkV2ZW50KSB7IH1cblxuICBwdWJsaWMgZ2V0IHVzZXIoKTogTWF5YmU8RGJ4QW5hbHl0aWNzVXNlcj4ge1xuICAgIHJldHVybiB0aGlzLmV2ZW50LnVzZXI7XG4gIH1cblxuICBwdWJsaWMgZ2V0IHVzZXJJZCgpOiBzdHJpbmcgfCB1bmRlZmluZWQge1xuICAgIHJldHVybiAodGhpcy51c2VyKSA/IHRoaXMudXNlci51c2VyIDogdW5kZWZpbmVkO1xuICB9XG5cbn1cblxuLyoqXG4gKiBQcmltYXJ5IGFuYWx5dGljcyBzZXJ2aWNlIHRoYXQgZW1pdHMgYW5hbHl0aWNzIGV2ZW50cyB0aGF0IGNvbXBvbmVudHMgY2FuIGxpc3RlbiB0by5cbiAqL1xuQEluamVjdGFibGUoKVxuZXhwb3J0IGNsYXNzIERieEFuYWx5dGljc1NlcnZpY2UgaW1wbGVtZW50cyBEYnhBbmFseXRpY3NFdmVudFN0cmVhbVNlcnZpY2UsIERieEFuYWx5dGljc0V2ZW50RW1pdHRlclNlcnZpY2UsIERlc3Ryb3lhYmxlIHtcblxuICAvLyBUT0RPOiBNYWtlIHRoZXNlIGNvbmZpZ3VyYWJsZS5cblxuICBzdGF0aWMgcmVhZG9ubHkgVVNFUl9SRUdJU1RSQVRJT05fRVZFTlRfTkFNRSA9ICdVc2VyIFJlZ2lzdGVyZWQnO1xuICBzdGF0aWMgcmVhZG9ubHkgVVNFUl9MT0dJTl9FVkVOVF9OQU1FID0gJ1VzZXIgTG9naW4nO1xuICBzdGF0aWMgcmVhZG9ubHkgVVNFUl9MT0dPVVRfRVZFTlRfTkFNRSA9ICdVc2VyIExvZ291dCc7XG4gIHN0YXRpYyByZWFkb25seSBVU0VSX1BST1BFUlRJRVNfRVZFTlRfTkFNRSA9ICdVc2VyIFByb3BlcnRpZXMnO1xuXG4gIHByaXZhdGUgX3N1YmplY3QgPSBuZXcgU3ViamVjdDxEYnhBbmFseXRpY3NTdHJlYW1FdmVudD4oKTtcbiAgcmVhZG9ubHkgZXZlbnRzJCA9IHRoaXMuX3N1YmplY3QuYXNPYnNlcnZhYmxlKCk7XG5cbiAgcHJpdmF0ZSBfdXNlclNvdXJjZSA9IG5ldyBCZWhhdmlvclN1YmplY3Q8TWF5YmU8RGJ4QW5hbHl0aWNzVXNlclNvdXJjZT4+KHVuZGVmaW5lZCk7XG4gIHJlYWRvbmx5IHVzZXIkID0gdGhpcy5fdXNlclNvdXJjZS5waXBlKHN3aXRjaE1hcCh4ID0+ICh4KSA/IHguYW5hbHl0aWNzVXNlciQgOiBvZih1bmRlZmluZWQpKSwgc2hhcmVSZXBsYXkoMSkpO1xuXG4gIHByaXZhdGUgX3VzZXJTb3VyY2VTdWIgPSBuZXcgU3Vic2NyaXB0aW9uT2JqZWN0KCk7XG4gIHByaXZhdGUgX2xvZ2dlclN1YiA9IG5ldyBTdWJzY3JpcHRpb25PYmplY3QoKTtcblxuICBjb25zdHJ1Y3RvcihcbiAgICBwcml2YXRlIF9jb25maWc6IERieEFuYWx5dGljc1NlcnZpY2VDb25maWd1cmF0aW9uLFxuICAgIEBPcHRpb25hbCgpIEBJbmplY3QoRGJ4QW5hbHl0aWNzVXNlclNvdXJjZSkgdXNlclNvdXJjZTogTWF5YmU8RGJ4QW5hbHl0aWNzVXNlclNvdXJjZT4gPSBfY29uZmlnLnVzZXJTb3VyY2VcbiAgKSB7XG4gICAgdGhpcy5faW5pdCgpO1xuXG4gICAgaWYgKHVzZXJTb3VyY2UpIHtcbiAgICAgIHRoaXMuc2V0VXNlclNvdXJjZSh1c2VyU291cmNlKTtcbiAgICB9XG4gIH1cblxuICAvLyBNQVJLOiBTb3VyY2VcbiAgLyoqXG4gICAqIFNldHMgdGhlIHVzZXIgZGlyZWN0bHkuXG4gICAqL1xuICBwdWJsaWMgc2V0VXNlcih1c2VyOiBNYXliZTxEYnhBbmFseXRpY3NVc2VyPik6IHZvaWQge1xuICAgIGxldCBzb3VyY2U6IE1heWJlPERieEFuYWx5dGljc1VzZXJTb3VyY2U+O1xuXG4gICAgaWYgKHVzZXIpIHtcbiAgICAgIHNvdXJjZSA9IHsgYW5hbHl0aWNzVXNlciQ6IG9mKHVzZXIpIH07XG4gICAgfVxuXG4gICAgdGhpcy5fdXNlclNvdXJjZS5uZXh0KHNvdXJjZSk7XG4gIH1cblxuICBwdWJsaWMgc2V0VXNlclNvdXJjZShzb3VyY2U6IERieEFuYWx5dGljc1VzZXJTb3VyY2UpOiB2b2lkIHtcbiAgICB0aGlzLl91c2VyU291cmNlLm5leHQoc291cmNlKTtcbiAgfVxuXG4gIC8vIE1BUks6IEFuYWx5dGljc0V2ZW50RW1pdHRlclNlcnZpY2VcbiAgLyoqXG4gICAqIFNlbmRzIGFuIGV2ZW50LlxuICAgKi9cbiAgcHVibGljIHNlbmROZXdVc2VyRXZlbnQodXNlcjogRGJ4QW5hbHl0aWNzVXNlciwgZGF0YTogTmV3VXNlckFuYWx5dGljc0V2ZW50RGF0YSk6IHZvaWQge1xuICAgIHRoaXMuc2VuZE5leHRFdmVudCh7XG4gICAgICBuYW1lOiBEYnhBbmFseXRpY3NTZXJ2aWNlLlVTRVJfUkVHSVNUUkFUSU9OX0VWRU5UX05BTUUsXG4gICAgICBkYXRhXG4gICAgfSwgRGJ4QW5hbHl0aWNzU3RyZWFtRXZlbnRUeXBlLk5ld1VzZXJFdmVudCwgdXNlcik7XG4gIH1cblxuICBwdWJsaWMgc2VuZFVzZXJMb2dpbkV2ZW50KHVzZXI6IERieEFuYWx5dGljc1VzZXIsIGRhdGE/OiBEYnhBbmFseXRpY3NFdmVudERhdGEpOiB2b2lkIHtcbiAgICB0aGlzLnNlbmROZXh0RXZlbnQoe1xuICAgICAgbmFtZTogRGJ4QW5hbHl0aWNzU2VydmljZS5VU0VSX0xPR0lOX0VWRU5UX05BTUUsXG4gICAgICBkYXRhXG4gICAgfSwgRGJ4QW5hbHl0aWNzU3RyZWFtRXZlbnRUeXBlLlVzZXJMb2dpbkV2ZW50LCB1c2VyKTtcbiAgfVxuXG4gIHB1YmxpYyBzZW5kVXNlckxvZ291dEV2ZW50KGRhdGE/OiBEYnhBbmFseXRpY3NFdmVudERhdGEsIGNsZWFyVXNlciA9IHRydWUpOiB2b2lkIHtcbiAgICB0aGlzLnNlbmROZXh0RXZlbnQoe1xuICAgICAgbmFtZTogRGJ4QW5hbHl0aWNzU2VydmljZS5VU0VSX0xPR09VVF9FVkVOVF9OQU1FLFxuICAgICAgZGF0YVxuICAgIH0sIERieEFuYWx5dGljc1N0cmVhbUV2ZW50VHlwZS5Vc2VyTG9nb3V0RXZlbnQpO1xuXG4gICAgaWYgKGNsZWFyVXNlcikge1xuICAgICAgdGhpcy5zZXRVc2VyKHVuZGVmaW5lZCk7XG4gICAgfVxuICB9XG5cbiAgcHVibGljIHNlbmRVc2VyUHJvcGVydGllc0V2ZW50KHVzZXI6IERieEFuYWx5dGljc1VzZXIsIGRhdGE/OiBEYnhBbmFseXRpY3NFdmVudERhdGEpOiB2b2lkIHtcbiAgICB0aGlzLnNlbmROZXh0RXZlbnQoe1xuICAgICAgbmFtZTogRGJ4QW5hbHl0aWNzU2VydmljZS5VU0VSX1BST1BFUlRJRVNfRVZFTlRfTkFNRSxcbiAgICAgIGRhdGFcbiAgICB9LCBEYnhBbmFseXRpY3NTdHJlYW1FdmVudFR5cGUuVXNlclByb3BlcnRpZXNFdmVudCwgdXNlcik7XG4gIH1cblxuICBwdWJsaWMgc2VuZEV2ZW50RGF0YShuYW1lOiBEYnhBbmFseXRpY3NFdmVudE5hbWUsIGRhdGE/OiBEYnhBbmFseXRpY3NFdmVudERhdGEpOiB2b2lkIHtcbiAgICByZXR1cm4gdGhpcy5zZW5kRXZlbnQoe1xuICAgICAgbmFtZSxcbiAgICAgIGRhdGFcbiAgICB9KTtcbiAgfVxuXG4gIHB1YmxpYyBzZW5kRXZlbnRUeXBlKGV2ZW50VHlwZTogRGJ4QW5hbHl0aWNzRXZlbnROYW1lKTogdm9pZCB7XG4gICAgdGhpcy5zZW5kTmV4dEV2ZW50KHtcbiAgICAgIG5hbWU6IGV2ZW50VHlwZVxuICAgIH0sIERieEFuYWx5dGljc1N0cmVhbUV2ZW50VHlwZS5FdmVudCk7XG4gIH1cblxuICBwdWJsaWMgc2VuZEV2ZW50KGV2ZW50OiBEYnhBbmFseXRpY3NFdmVudCk6IHZvaWQge1xuICAgIHRoaXMuc2VuZE5leHRFdmVudChldmVudCwgRGJ4QW5hbHl0aWNzU3RyZWFtRXZlbnRUeXBlLkV2ZW50KTtcbiAgfVxuXG4gIHB1YmxpYyBzZW5kUGFnZVZpZXcocGFnZT86IHN0cmluZyk6IHZvaWQge1xuICAgIHRoaXMuc2VuZE5leHRFdmVudCh7XG4gICAgICBuYW1lOiBwYWdlXG4gICAgfSwgRGJ4QW5hbHl0aWNzU3RyZWFtRXZlbnRUeXBlLlBhZ2VWaWV3KTtcbiAgfVxuXG4gIHByb3RlY3RlZCBzZW5kTmV4dEV2ZW50KGV2ZW50OiBEYnhBbmFseXRpY3NFdmVudCA9IHt9LCB0eXBlOiBEYnhBbmFseXRpY3NTdHJlYW1FdmVudFR5cGUsIHVzZXJPdmVycmlkZT86IERieEFuYWx5dGljc1VzZXIpOiB2b2lkIHtcbiAgICB0aGlzLnVzZXIkLnBpcGUoZmlyc3QoKSkuc3Vic2NyaWJlKChhbmFseXRpY3NVc2VyKSA9PiB7XG4gICAgICBjb25zdCB1c2VyOiBNYXliZTxEYnhBbmFseXRpY3NVc2VyPiA9ICh1c2VyT3ZlcnJpZGUgIT0gbnVsbCkgPyB1c2VyT3ZlcnJpZGUgOiBhbmFseXRpY3NVc2VyO1xuICAgICAgY29uc3QgYW5hbHl0aWNzRXZlbnQ6IERieFVzZXJBbmFseXRpY3NFdmVudCA9IHsgLi4uZXZlbnQsIHVzZXIgfTtcbiAgICAgIHRoaXMubmV4dEV2ZW50KGFuYWx5dGljc0V2ZW50LCB0eXBlKTtcbiAgICB9KTtcbiAgfVxuXG4gIHByb3RlY3RlZCBuZXh0RXZlbnQoZXZlbnQ6IERieFVzZXJBbmFseXRpY3NFdmVudCwgdHlwZTogRGJ4QW5hbHl0aWNzU3RyZWFtRXZlbnRUeXBlKTogdm9pZCB7XG4gICAgY29uc3Qgd3JhcHBlciA9IG5ldyBEYnhBbmFseXRpY3NTdHJlYW1FdmVudEFuYWx5dGljc0V2ZW50V3JhcHBlcihldmVudCwgdHlwZSk7XG4gICAgdGhpcy5fc3ViamVjdC5uZXh0KHdyYXBwZXIpO1xuICB9XG5cbiAgLy8gTUFSSzogSW50ZXJuYWxcbiAgcHJpdmF0ZSBfaW5pdCgpOiB2b2lkIHtcblxuICAgIGlmICh0aGlzLl9jb25maWcuaXNQcm9kdWN0aW9uKSB7XG4gICAgICAvLyBJbml0aWFsaXplIGxpc3RlbmVycy5cbiAgICAgIHRoaXMuX2NvbmZpZy5saXN0ZW5lcnMuZm9yRWFjaCgobGlzdGVuZXIpID0+IHtcbiAgICAgICAgbGlzdGVuZXIubGlzdGVuVG9TZXJ2aWNlKHRoaXMpO1xuICAgICAgfSk7XG4gICAgfSBlbHNlIHtcbiAgICAgIGNvbnNvbGUud2FybignQW5hbHl0aWNzU2VydmljZTogQW5hbHl0aWNzIG5vdCBpbiBwcm9kdWN0aW9uIG1vZGUuIEFsbCBhbmFseXRpY3MgZXZlbnRzIGFyZSBpZ25vcmVkLicpO1xuICAgIH1cblxuICAgIGlmICh0aGlzLl9jb25maWcubG9nRXZlbnRzIHx8ICF0aGlzLl9jb25maWcuaXNQcm9kdWN0aW9uKSB7XG4gICAgICBjb25zb2xlLmxvZygnQW5hbHl0aWNzU2VydmljZTogTG9nIGFuYWx5dGljcyBldmVudHMgZW5hYmxlZC4nKTtcblxuICAgICAgLy8gQ3JlYXRlIGEgbmV3IHN1YnNjcmlwdGlvblxuICAgICAgdGhpcy5fbG9nZ2VyU3ViLnN1YnNjcmlwdGlvbiA9IHRoaXMuX3N1YmplY3Quc3Vic2NyaWJlKCh4KSA9PiB7XG4gICAgICAgIGNvbnNvbGUubG9nKGBBbmFseXRpY3NTZXJ2aWNlOiBBbmFseXRpY3MgRXZlbnQgLSAke0RieEFuYWx5dGljc1N0cmVhbUV2ZW50VHlwZVt4LnR5cGVdfSBVc2VyOiAke3gudXNlcklkfSBEYXRhOiAke0pTT04uc3RyaW5naWZ5KHguZXZlbnQpfS5gKTtcbiAgICAgIH0pO1xuICAgIH1cblxuICAgIHRoaXMuX3VzZXJTb3VyY2VTdWIuc3Vic2NyaXB0aW9uID0gdGhpcy51c2VyJC5zdWJzY3JpYmUoKCkgPT4ge1xuICAgICAgdGhpcy5zZW5kTmV4dEV2ZW50KHt9LCBEYnhBbmFseXRpY3NTdHJlYW1FdmVudFR5cGUuVXNlckNoYW5nZSk7XG4gICAgfSk7XG4gIH1cblxuICBkZXN0cm95KCkge1xuICAgIHRoaXMuX3N1YmplY3QuY29tcGxldGUoKTtcbiAgICB0aGlzLl91c2VyU291cmNlU3ViLmRlc3Ryb3koKTtcbiAgICB0aGlzLl9sb2dnZXJTdWIuZGVzdHJveSgpO1xuICB9XG5cbn1cbiJdfQ==
|
|
@@ -1,13 +1,13 @@
|
|
|
1
|
-
export var
|
|
2
|
-
(function (
|
|
3
|
-
|
|
4
|
-
|
|
1
|
+
export var DbxAnalyticsStreamEventType;
|
|
2
|
+
(function (DbxAnalyticsStreamEventType) {
|
|
3
|
+
DbxAnalyticsStreamEventType[DbxAnalyticsStreamEventType["PageView"] = 0] = "PageView";
|
|
4
|
+
DbxAnalyticsStreamEventType[DbxAnalyticsStreamEventType["UserChange"] = 1] = "UserChange";
|
|
5
5
|
// User Events
|
|
6
|
-
|
|
7
|
-
|
|
8
|
-
|
|
9
|
-
|
|
6
|
+
DbxAnalyticsStreamEventType[DbxAnalyticsStreamEventType["NewUserEvent"] = 2] = "NewUserEvent";
|
|
7
|
+
DbxAnalyticsStreamEventType[DbxAnalyticsStreamEventType["UserLoginEvent"] = 3] = "UserLoginEvent";
|
|
8
|
+
DbxAnalyticsStreamEventType[DbxAnalyticsStreamEventType["UserLogoutEvent"] = 4] = "UserLogoutEvent";
|
|
9
|
+
DbxAnalyticsStreamEventType[DbxAnalyticsStreamEventType["UserPropertiesEvent"] = 5] = "UserPropertiesEvent";
|
|
10
10
|
// Events
|
|
11
|
-
|
|
12
|
-
})(
|
|
13
|
-
//# sourceMappingURL=data:application/json;base64,
|
|
11
|
+
DbxAnalyticsStreamEventType[DbxAnalyticsStreamEventType["Event"] = 6] = "Event";
|
|
12
|
+
})(DbxAnalyticsStreamEventType || (DbxAnalyticsStreamEventType = {}));
|
|
13
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiYW5hbHl0aWNzLnN0cmVhbS5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uL3BhY2thZ2VzL2RieC1hbmFseXRpY3Mvc3JjL2xpYi9hbmFseXRpY3MvYW5hbHl0aWNzLnN0cmVhbS50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFHQSxNQUFNLENBQU4sSUFBWSwyQkFjWDtBQWRELFdBQVksMkJBQTJCO0lBRXJDLHFGQUFRLENBQUE7SUFDUix5RkFBVSxDQUFBO0lBRVYsY0FBYztJQUNkLDZGQUFZLENBQUE7SUFDWixpR0FBYyxDQUFBO0lBQ2QsbUdBQWUsQ0FBQTtJQUNmLDJHQUFtQixDQUFBO0lBRW5CLFNBQVM7SUFDVCwrRUFBSyxDQUFBO0FBRVAsQ0FBQyxFQWRXLDJCQUEyQixLQUEzQiwyQkFBMkIsUUFjdEMiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBNYXliZSB9IGZyb20gXCJAZGVyZWVrYi91dGlsXCI7XG5pbXBvcnQgeyBEYnhBbmFseXRpY3NVc2VyLCBEYnhVc2VyQW5hbHl0aWNzRXZlbnQsIERieEFuYWx5dGljc1VzZXJJZCB9IGZyb20gXCIuL2FuYWx5dGljc1wiO1xuXG5leHBvcnQgZW51bSBEYnhBbmFseXRpY3NTdHJlYW1FdmVudFR5cGUge1xuXG4gIFBhZ2VWaWV3LFxuICBVc2VyQ2hhbmdlLFxuXG4gIC8vIFVzZXIgRXZlbnRzXG4gIE5ld1VzZXJFdmVudCxcbiAgVXNlckxvZ2luRXZlbnQsXG4gIFVzZXJMb2dvdXRFdmVudCxcbiAgVXNlclByb3BlcnRpZXNFdmVudCxcblxuICAvLyBFdmVudHNcbiAgRXZlbnRcblxufVxuXG5leHBvcnQgaW50ZXJmYWNlIERieEFuYWx5dGljc1N0cmVhbUV2ZW50IHtcbiAgcmVhZG9ubHkgdHlwZTogRGJ4QW5hbHl0aWNzU3RyZWFtRXZlbnRUeXBlO1xuICByZWFkb25seSB1c2VyPzogTWF5YmU8RGJ4QW5hbHl0aWNzVXNlcj47XG4gIHJlYWRvbmx5IGV2ZW50PzogRGJ4VXNlckFuYWx5dGljc0V2ZW50O1xuICByZWFkb25seSB1c2VySWQ/OiBEYnhBbmFseXRpY3NVc2VySWQ7XG59XG4iXX0=
|
|
@@ -1,13 +1,13 @@
|
|
|
1
1
|
import { Injectable } from '@angular/core';
|
|
2
2
|
import { combineLatest } from 'rxjs';
|
|
3
|
-
import {
|
|
4
|
-
import {
|
|
3
|
+
import { AbstractDbxAnalyticsServiceListener, DbxAnalyticsStreamEventType } from '../../analytics';
|
|
4
|
+
import { DbxAnalyticsSegmentApiService } from './segment.service';
|
|
5
5
|
import * as i0 from "@angular/core";
|
|
6
6
|
import * as i1 from "./segment.service";
|
|
7
7
|
/**
|
|
8
|
-
*
|
|
8
|
+
* DbxAnalyticsServiceListener adapter for Segment.
|
|
9
9
|
*/
|
|
10
|
-
export class
|
|
10
|
+
export class DbxAnalyticsSegmentServiceListener extends AbstractDbxAnalyticsServiceListener {
|
|
11
11
|
constructor(_segmentApi) {
|
|
12
12
|
super();
|
|
13
13
|
this._segmentApi = _segmentApi;
|
|
@@ -30,20 +30,20 @@ export class SegmentAnalyticsListenerService extends AbstractAnalyticsServiceLis
|
|
|
30
30
|
}
|
|
31
31
|
handleStreamEvent(api, streamEvent) {
|
|
32
32
|
switch (streamEvent.type) {
|
|
33
|
-
case
|
|
33
|
+
case DbxAnalyticsStreamEventType.NewUserEvent:
|
|
34
34
|
this.updateWithNewUserEvent(api, streamEvent);
|
|
35
35
|
break;
|
|
36
|
-
case
|
|
37
|
-
case
|
|
36
|
+
case DbxAnalyticsStreamEventType.UserLoginEvent:
|
|
37
|
+
case DbxAnalyticsStreamEventType.Event:
|
|
38
38
|
this.updateWithEvent(api, streamEvent);
|
|
39
39
|
break;
|
|
40
|
-
case
|
|
40
|
+
case DbxAnalyticsStreamEventType.UserLogoutEvent:
|
|
41
41
|
this.changeUser(api, undefined);
|
|
42
42
|
break;
|
|
43
|
-
case
|
|
43
|
+
case DbxAnalyticsStreamEventType.PageView:
|
|
44
44
|
api.page();
|
|
45
45
|
break;
|
|
46
|
-
case
|
|
46
|
+
case DbxAnalyticsStreamEventType.UserChange:
|
|
47
47
|
this.changeUser(api, streamEvent.user);
|
|
48
48
|
break;
|
|
49
49
|
}
|
|
@@ -84,9 +84,9 @@ export class SegmentAnalyticsListenerService extends AbstractAnalyticsServiceLis
|
|
|
84
84
|
}
|
|
85
85
|
}
|
|
86
86
|
}
|
|
87
|
-
|
|
88
|
-
|
|
89
|
-
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "13.2
|
|
87
|
+
DbxAnalyticsSegmentServiceListener.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "13.3.2", ngImport: i0, type: DbxAnalyticsSegmentServiceListener, deps: [{ token: i1.DbxAnalyticsSegmentApiService }], target: i0.ɵɵFactoryTarget.Injectable });
|
|
88
|
+
DbxAnalyticsSegmentServiceListener.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "13.3.2", ngImport: i0, type: DbxAnalyticsSegmentServiceListener });
|
|
89
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "13.3.2", ngImport: i0, type: DbxAnalyticsSegmentServiceListener, decorators: [{
|
|
90
90
|
type: Injectable
|
|
91
|
-
}], ctorParameters: function () { return [{ type: i1.
|
|
92
|
-
//# sourceMappingURL=data:application/json;base64,
|
|
91
|
+
}], ctorParameters: function () { return [{ type: i1.DbxAnalyticsSegmentApiService }]; } });
|
|
92
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoic2VnbWVudC5saXN0ZW5lci5zZXJ2aWNlLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vLi4vcGFja2FnZXMvZGJ4LWFuYWx5dGljcy9zcmMvbGliL3Byb3ZpZGVycy9zZWdtZW50L3NlZ21lbnQubGlzdGVuZXIuc2VydmljZS50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQUUsVUFBVSxFQUFFLE1BQU0sZUFBZSxDQUFDO0FBRTNDLE9BQU8sRUFBRSxhQUFhLEVBQUUsTUFBTSxNQUFNLENBQUM7QUFDckMsT0FBTyxFQUFFLG1DQUFtQyxFQUEyQiwyQkFBMkIsRUFBb0IsTUFBTSxpQkFBaUIsQ0FBQztBQUM5SSxPQUFPLEVBQUUsNkJBQTZCLEVBQUUsTUFBTSxtQkFBbUIsQ0FBQzs7O0FBRWxFOztHQUVHO0FBRUgsTUFBTSxPQUFPLGtDQUFtQyxTQUFRLG1DQUFtQztJQUV6RixZQUFvQixXQUEwQztRQUM1RCxLQUFLLEVBQUUsQ0FBQztRQURVLGdCQUFXLEdBQVgsV0FBVyxDQUErQjtRQUc1RCxJQUFJLElBQUksQ0FBQyxXQUFXLENBQUMsTUFBTSxDQUFDLE9BQU8sRUFBRTtZQUNuQyxPQUFPLENBQUMsR0FBRyxDQUFDLDZEQUE2RCxDQUFDLENBQUM7U0FDNUU7UUFFRCxJQUFJLElBQUksQ0FBQyxXQUFXLENBQUMsTUFBTSxDQUFDLE1BQU0sRUFBRTtZQUNsQyxPQUFPLENBQUMsR0FBRyxDQUFDLHlGQUF5RixDQUFDLENBQUM7U0FDeEc7SUFDSCxDQUFDO0lBRVMsOEJBQThCO1FBQ3RDLE9BQU8sYUFBYSxDQUFDLENBQUMsSUFBSSxDQUFDLFdBQVcsQ0FBQyxRQUFRLEVBQUUsSUFBSSxDQUFDLGdCQUFnQixDQUFDLENBQUMsQ0FBQyxTQUFTLENBQ2hGLENBQUMsQ0FBQyxPQUFPLEVBQUUsV0FBVyxDQUEwRCxFQUFFLEVBQUU7WUFDbEYsSUFBSSxJQUFJLENBQUMsV0FBVyxDQUFDLE1BQU0sQ0FB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QkFEOUMsVUFBVSIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IEluamVjdGFibGUgfSBmcm9tICdAYW5ndWxhci9jb3JlJztcbmltcG9ydCB7IE1heWJlIH0gZnJvbSAnQGRlcmVla2IvdXRpbCc7XG5pbXBvcnQgeyBjb21iaW5lTGF0ZXN0IH0gZnJvbSAncnhqcyc7XG5pbXBvcnQgeyBBYnN0cmFjdERieEFuYWx5dGljc1NlcnZpY2VMaXN0ZW5lciwgRGJ4QW5hbHl0aWNzU3RyZWFtRXZlbnQsIERieEFuYWx5dGljc1N0cmVhbUV2ZW50VHlwZSwgRGJ4QW5hbHl0aWNzVXNlciB9IGZyb20gJy4uLy4uL2FuYWx5dGljcyc7XG5pbXBvcnQgeyBEYnhBbmFseXRpY3NTZWdtZW50QXBpU2VydmljZSB9IGZyb20gJy4vc2VnbWVudC5zZXJ2aWNlJztcblxuLyoqXG4gKiBEYnhBbmFseXRpY3NTZXJ2aWNlTGlzdGVuZXIgYWRhcHRlciBmb3IgU2VnbWVudC5cbiAqL1xuQEluamVjdGFibGUoKVxuZXhwb3J0IGNsYXNzIERieEFuYWx5dGljc1NlZ21lbnRTZXJ2aWNlTGlzdGVuZXIgZXh0ZW5kcyBBYnN0cmFjdERieEFuYWx5dGljc1NlcnZpY2VMaXN0ZW5lciB7XG5cbiAgY29uc3RydWN0b3IocHJpdmF0ZSBfc2VnbWVudEFwaTogRGJ4QW5hbHl0aWNzU2VnbWVudEFwaVNlcnZpY2UpIHtcbiAgICBzdXBlcigpO1xuXG4gICAgaWYgKHRoaXMuX3NlZ21lbnRBcGkuY29uZmlnLmxvZ2dpbmcpIHtcbiAgICAgIGNvbnNvbGUubG9nKCdTZWdtZW50QW5hbHl0aWNzTGlzdGVuZXJTZXJ2aWNlOiBTZWdtZW50IGlzIGxvZ2dpbmcgZXZlbnRzLicpO1xuICAgIH1cblxuICAgIGlmICh0aGlzLl9zZWdtZW50QXBpLmNvbmZpZy5hY3RpdmUpIHtcbiAgICAgIGNvbnNvbGUubG9nKCdTZWdtZW50QW5hbHl0aWNzTGlzdGVuZXJTZXJ2aWNlOiBTZWdtZW50IGlzIGRpc2FibGVkIGZyb20gc2VuZGluZyBldmVudHMgdG8gdGhlIHNlcnZlci4nKTtcbiAgICB9XG4gIH1cblxuICBwcm90ZWN0ZWQgX2luaXRpYWxpemVTZXJ2aWNlU3Vic2NyaXB0aW9uKCkge1xuICAgIHJldHVybiBjb21iaW5lTGF0ZXN0KFt0aGlzLl9zZWdtZW50QXBpLnNlcnZpY2UkLCB0aGlzLmFuYWx5dGljc0V2ZW50cyRdKS5zdWJzY3JpYmUoXG4gICAgICAoW3NlZ21lbnQsIHN0cmVhbUV2ZW50XTogW1NlZ21lbnRBbmFseXRpY3MuQW5hbHl0aWNzSlMsIERieEFuYWx5dGljc1N0cmVhbUV2ZW50XSkgPT4ge1xuICAgICAgICBpZiAodGhpcy5fc2VnbWVudEFwaS5jb25maWcubG9nZ2luZykge1xuICAgICAgICAgIGNvbnNvbGUubG9nKCdTZWdtZW50IExpc3RlbmVyIExvZ2dpbmcgRXZlbnQ6ICcsIHN0cmVhbUV2ZW50KTtcbiAgICAgICAgfVxuXG4gICAgICAgIGlmICh0aGlzLl9zZWdtZW50QXBpLmNvbmZpZy5hY3RpdmUpIHtcbiAgICAgICAgICB0aGlzLmhhbmRsZVN0cmVhbUV2ZW50KHNlZ21lbnQsIHN0cmVhbUV2ZW50KTtcbiAgICAgICAgfVxuICAgICAgfSk7XG4gIH1cblxuICBwcm90ZWN0ZWQgaGFuZGxlU3RyZWFtRXZlbnQoYXBpOiBTZWdtZW50QW5hbHl0aWNzLkFuYWx5dGljc0pTLCBzdHJlYW1FdmVudDogRGJ4QW5hbHl0aWNzU3RyZWFtRXZlbnQpOiB2b2lkIHtcbiAgICBzd2l0Y2ggKHN0cmVhbUV2ZW50LnR5cGUpIHtcbiAgICAgIGNhc2UgRGJ4QW5hbHl0aWNzU3RyZWFtRXZlbnRUeXBlLk5ld1VzZXJFdmVudDpcbiAgICAgICAgdGhpcy51cGRhdGVXaXRoTmV3VXNlckV2ZW50KGFwaSwgc3RyZWFtRXZlbnQpO1xuICAgICAgICBicmVhaztcbiAgICAgIGNhc2UgRGJ4QW5hbHl0aWNzU3RyZWFtRXZlbnRUeXBlLlVzZXJMb2dpbkV2ZW50OlxuICAgICAgY2FzZSBEYnhBbmFseXRpY3NTdHJlYW1FdmVudFR5cGUuRXZlbnQ6XG4gICAgICAgIHRoaXMudXBkYXRlV2l0aEV2ZW50KGFwaSwgc3RyZWFtRXZlbnQpO1xuICAgICAgICBicmVhaztcbiAgICAgIGNhc2UgRGJ4QW5hbHl0aWNzU3RyZWFtRXZlbnRUeXBlLlVzZXJMb2dvdXRFdmVudDpcbiAgICAgICAgdGhpcy5jaGFuZ2VVc2VyKGFwaSwgdW5kZWZpbmVkKTtcbiAgICAgICAgYnJlYWs7XG4gICAgICBjYXNlIERieEFuYWx5dGljc1N0cmVhbUV2ZW50VHlwZS5QYWdlVmlldzpcbiAgICAgICAgYXBpLnBhZ2UoKTtcbiAgICAgICAgYnJlYWs7XG4gICAgICBjYXNlIERieEFuYWx5dGljc1N0cmVhbUV2ZW50VHlwZS5Vc2VyQ2hhbmdlOlxuICAgICAgICB0aGlzLmNoYW5nZVVzZXIoYXBpLCBzdHJlYW1FdmVudC51c2VyKTtcbiAgICAgICAgYnJlYWs7XG4gICAgfVxuICB9XG5cbiAgcHJvdGVjdGVkIHVwZGF0ZVdpdGhOZXdVc2VyRXZlbnQoYXBpOiBTZWdtZW50QW5hbHl0aWNzLkFuYWx5dGljc0pTLCBzdHJlYW1FdmVudDogRGJ4QW5hbHl0aWNzU3RyZWFtRXZlbnQpOiB2b2lkIHtcbiAgICB0aGlzLmNoYW5nZVVzZXIoYXBpLCBzdHJlYW1FdmVudC51c2VyKTtcbiAgfVxuXG4gIHByb3RlY3RlZCB1cGRhdGVXaXRoRXZlbnQoYXBpOiBTZWdtZW50QW5hbHl0aWNzLkFuYWx5dGljc0pTLCBzdHJlYW1FdmVudDogRGJ4QW5hbHl0aWNzU3RyZWFtRXZlbnQsIG5hbWU/OiBzdHJpbmcpOiB2b2lkIHtcbiAgICBjb25zdCBldmVudCA9IHN0cmVhbUV2ZW50LmV2ZW50O1xuICAgIGNvbnN0IGV2ZW50TmFtZSA9IG5hbWUgfHwgZXZlbnQ/Lm5hbWU7XG5cbiAgICBpZiAoZXZlbnROYW1lKSB7XG4gICAgICBjb25zdCB2YWx1ZSA9IGV2ZW50Py52YWx1ZVxuICAgICAgY29uc3QgZGF0YSA9IGV2ZW50Py5kYXRhO1xuXG4gICAgICBhcGkudHJhY2soZXZlbnROYW1lLCB7XG4gICAgICAgIC4uLih2YWx1ZSAhPSBudWxsKSA/IHtcbiAgICAgICAgICB2YWx1ZVxuICAgICAgICB9IDogdW5kZWZpbmVkLFxuICAgICAgICAuLi5kYXRhXG4gICAgICB9LCB7fSwgKCkgPT4ge1xuICAgICAgICBpZiAodGhpcy5fc2VnbWVudEFwaS5jb25maWcubG9nZ2luZykge1xuICAgICAgICAgIGNvbnNvbGUubG9nKCdTZWdtZW50IHRyYWNrIHN1Y2Nlc3MuJyk7XG4gICAgICAgIH1cbiAgICAgIH0pO1xuICAgIH1cbiAgfVxuXG4gIHByaXZhdGUgY2hhbmdlVXNlcihhcGk6IFNlZ21lbnRBbmFseXRpY3MuQW5hbHl0aWNzSlMsIHVzZXI6IE1heWJlPERieEFuYWx5dGljc1VzZXI+KTogdm9pZCB7XG4gICAgaWYgKHVzZXIpIHtcbiAgICAgIGFwaS5pZGVudGlmeSh1c2VyLnVzZXIsIHtcbiAgICAgICAgLi4udXNlci5wcm9wZXJ0aWVzXG4gICAgICB9LCB7fSwgKCkgPT4ge1xuICAgICAgICBpZiAodGhpcy5fc2VnbWVudEFwaS5jb25maWcubG9nZ2luZykge1xuICAgICAgICAgIGNvbnNvbGUubG9nKCdTZWdtZW50IGlkZW50aWZ5IHN1Y2Nlc3MuJyk7XG4gICAgICAgIH1cbiAgICAgIH0pO1xuICAgIH0gZWxzZSB7XG4gICAgICBhcGkucmVzZXQoKTtcbiAgICB9XG4gIH1cblxufVxuIl19
|
|
@@ -1,28 +1,28 @@
|
|
|
1
1
|
import { NgModule } from '@angular/core';
|
|
2
|
-
import { PRELOAD_SEGMENT_TOKEN,
|
|
2
|
+
import { PRELOAD_SEGMENT_TOKEN, DbxAnalyticsSegmentApiService } from './segment.service';
|
|
3
3
|
import * as i0 from "@angular/core";
|
|
4
|
-
export class
|
|
4
|
+
export class DbxAnalyticsSegmentModule {
|
|
5
5
|
static forRoot(preloadService) {
|
|
6
6
|
return {
|
|
7
|
-
ngModule:
|
|
7
|
+
ngModule: DbxAnalyticsSegmentModule,
|
|
8
8
|
providers: [
|
|
9
9
|
{
|
|
10
10
|
provide: PRELOAD_SEGMENT_TOKEN,
|
|
11
11
|
useValue: preloadService
|
|
12
12
|
},
|
|
13
|
-
|
|
13
|
+
DbxAnalyticsSegmentApiService
|
|
14
14
|
]
|
|
15
15
|
};
|
|
16
16
|
}
|
|
17
17
|
}
|
|
18
|
-
|
|
19
|
-
|
|
20
|
-
|
|
21
|
-
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "13.2
|
|
18
|
+
DbxAnalyticsSegmentModule.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "13.3.2", ngImport: i0, type: DbxAnalyticsSegmentModule, deps: [], target: i0.ɵɵFactoryTarget.NgModule });
|
|
19
|
+
DbxAnalyticsSegmentModule.ɵmod = i0.ɵɵngDeclareNgModule({ minVersion: "12.0.0", version: "13.3.2", ngImport: i0, type: DbxAnalyticsSegmentModule });
|
|
20
|
+
DbxAnalyticsSegmentModule.ɵinj = i0.ɵɵngDeclareInjector({ minVersion: "12.0.0", version: "13.3.2", ngImport: i0, type: DbxAnalyticsSegmentModule, imports: [[]] });
|
|
21
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "13.3.2", ngImport: i0, type: DbxAnalyticsSegmentModule, decorators: [{
|
|
22
22
|
type: NgModule,
|
|
23
23
|
args: [{
|
|
24
24
|
declarations: [],
|
|
25
25
|
imports: []
|
|
26
26
|
}]
|
|
27
27
|
}] });
|
|
28
|
-
//# sourceMappingURL=data:application/json;base64,
|
|
28
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoic2VnbWVudC5tb2R1bGUuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi8uLi9wYWNrYWdlcy9kYngtYW5hbHl0aWNzL3NyYy9saWIvcHJvdmlkZXJzL3NlZ21lbnQvc2VnbWVudC5tb2R1bGUudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFFLFFBQVEsRUFBdUIsTUFBTSxlQUFlLENBQUM7QUFDOUQsT0FBTyxFQUFFLHFCQUFxQixFQUFFLDZCQUE2QixFQUFFLE1BQU0sbUJBQW1CLENBQUM7O0FBTXpGLE1BQU0sT0FBTyx5QkFBeUI7SUFFcEMsTUFBTSxDQUFDLE9BQU8sQ0FBQyxjQUF3QjtRQUNyQyxPQUFPO1lBQ0wsUUFBUSxFQUFFLHlCQUF5QjtZQUNuQyxTQUFTLEVBQUU7Z0JBQ1Q7b0JBQ0UsT0FBTyxFQUFFLHFCQUFxQjtvQkFDOUIsUUFBUSxFQUFFLGNBQWM7aUJBQ3pCO2dCQUNELDZCQUE2QjthQUM5QjtTQUNGLENBQUM7SUFDSixDQUFDOztzSEFiVSx5QkFBeUI7dUhBQXpCLHlCQUF5Qjt1SEFBekIseUJBQXlCLFlBRjNCLEVBQUU7MkZBRUEseUJBQXlCO2tCQUpyQyxRQUFRO21CQUFDO29CQUNSLFlBQVksRUFBRSxFQUFFO29CQUNoQixPQUFPLEVBQUUsRUFBRTtpQkFDWiIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IE5nTW9kdWxlLCBNb2R1bGVXaXRoUHJvdmlkZXJzIH0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XG5pbXBvcnQgeyBQUkVMT0FEX1NFR01FTlRfVE9LRU4sIERieEFuYWx5dGljc1NlZ21lbnRBcGlTZXJ2aWNlIH0gZnJvbSAnLi9zZWdtZW50LnNlcnZpY2UnO1xuXG5ATmdNb2R1bGUoe1xuICBkZWNsYXJhdGlvbnM6IFtdLFxuICBpbXBvcnRzOiBbXVxufSlcbmV4cG9ydCBjbGFzcyBEYnhBbmFseXRpY3NTZWdtZW50TW9kdWxlIHtcblxuICBzdGF0aWMgZm9yUm9vdChwcmVsb2FkU2VydmljZT86IGJvb2xlYW4pOiBNb2R1bGVXaXRoUHJvdmlkZXJzPERieEFuYWx5dGljc1NlZ21lbnRNb2R1bGU+IHtcbiAgICByZXR1cm4ge1xuICAgICAgbmdNb2R1bGU6IERieEFuYWx5dGljc1NlZ21lbnRNb2R1bGUsXG4gICAgICBwcm92aWRlcnM6IFtcbiAgICAgICAge1xuICAgICAgICAgIHByb3ZpZGU6IFBSRUxPQURfU0VHTUVOVF9UT0tFTixcbiAgICAgICAgICB1c2VWYWx1ZTogcHJlbG9hZFNlcnZpY2VcbiAgICAgICAgfSxcbiAgICAgICAgRGJ4QW5hbHl0aWNzU2VnbWVudEFwaVNlcnZpY2VcbiAgICAgIF1cbiAgICB9O1xuICB9XG5cbn1cbiJdfQ==
|