@frontegg/angular 4.5.3 → 4.5.4-alpha.1667893406
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/bundles/frontegg-angular.umd.js +34 -17
- package/bundles/frontegg-angular.umd.js.map +1 -1
- package/bundles/frontegg-angular.umd.min.js +1 -1
- package/bundles/frontegg-angular.umd.min.js.map +1 -1
- package/esm2015/lib/frontegg-app.service.js +15 -11
- package/esm2015/lib/guards/frontegg-auth.guard.js +22 -8
- package/fesm2015/frontegg-angular.js +34 -16
- package/fesm2015/frontegg-angular.js.map +1 -1
- package/frontegg-angular.metadata.json +1 -1
- package/lib/frontegg-app.service.d.ts +3 -1
- package/lib/frontegg-app.service.d.ts.map +1 -1
- package/lib/guards/frontegg-auth.guard.d.ts +5 -1
- package/lib/guards/frontegg-auth.guard.d.ts.map +1 -1
- package/package.json +1 -1
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
import { Inject, Injectable } from '@angular/core';
|
|
1
|
+
import { Inject, Injectable, NgZone } from '@angular/core';
|
|
2
2
|
import { Router } from '@angular/router';
|
|
3
3
|
import { initialize } from '@frontegg/admin-portal';
|
|
4
4
|
import { BehaviorSubject } from 'rxjs';
|
|
@@ -15,9 +15,10 @@ export class FronteggAppOptionsClass {
|
|
|
15
15
|
}
|
|
16
16
|
}
|
|
17
17
|
export class FronteggAppService {
|
|
18
|
-
constructor(config, router) {
|
|
18
|
+
constructor(config, router, ngZone) {
|
|
19
19
|
this.config = config;
|
|
20
20
|
this.router = router;
|
|
21
|
+
this.ngZone = ngZone;
|
|
21
22
|
this.isLoadingSubject = new BehaviorSubject(true);
|
|
22
23
|
this.isAuthenticatedSubject = new BehaviorSubject(false);
|
|
23
24
|
this.stateSubject = new BehaviorSubject({});
|
|
@@ -39,12 +40,14 @@ export class FronteggAppService {
|
|
|
39
40
|
window.location.href = path;
|
|
40
41
|
}
|
|
41
42
|
else {
|
|
42
|
-
|
|
43
|
-
|
|
44
|
-
|
|
45
|
-
|
|
46
|
-
|
|
47
|
-
|
|
43
|
+
this.ngZone.run(() => {
|
|
44
|
+
if (opts === null || opts === void 0 ? void 0 : opts.replace) {
|
|
45
|
+
this.router.navigateByUrl(path, { replaceUrl: true });
|
|
46
|
+
}
|
|
47
|
+
else {
|
|
48
|
+
this.router.navigateByUrl(path);
|
|
49
|
+
}
|
|
50
|
+
});
|
|
48
51
|
}
|
|
49
52
|
};
|
|
50
53
|
ContextHolder.setOnRedirectTo(onRedirectTo);
|
|
@@ -126,7 +129,7 @@ export class FronteggAppService {
|
|
|
126
129
|
(_a = this.fronteggApp) === null || _a === void 0 ? void 0 : _a.hideAdminPortal();
|
|
127
130
|
}
|
|
128
131
|
}
|
|
129
|
-
FronteggAppService.ɵprov = i0.ɵɵdefineInjectable({ factory: function FronteggAppService_Factory() { return new FronteggAppService(i0.ɵɵinject(FronteggAppOptionsClass), i0.ɵɵinject(i1.Router)); }, token: FronteggAppService, providedIn: "root" });
|
|
132
|
+
FronteggAppService.ɵprov = i0.ɵɵdefineInjectable({ factory: function FronteggAppService_Factory() { return new FronteggAppService(i0.ɵɵinject(FronteggAppOptionsClass), i0.ɵɵinject(i1.Router), i0.ɵɵinject(i0.NgZone)); }, token: FronteggAppService, providedIn: "root" });
|
|
130
133
|
FronteggAppService.decorators = [
|
|
131
134
|
{ type: Injectable, args: [{
|
|
132
135
|
providedIn: 'root',
|
|
@@ -134,6 +137,7 @@ FronteggAppService.decorators = [
|
|
|
134
137
|
];
|
|
135
138
|
FronteggAppService.ctorParameters = () => [
|
|
136
139
|
{ type: undefined, decorators: [{ type: Inject, args: [FronteggAppOptionsClass,] }] },
|
|
137
|
-
{ type: Router }
|
|
140
|
+
{ type: Router },
|
|
141
|
+
{ type: NgZone }
|
|
138
142
|
];
|
|
139
|
-
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZnJvbnRlZ2ctYXBwLnNlcnZpY2UuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9mcm9udGVnZy1hcHAvc3JjL2xpYi9mcm9udGVnZy1hcHAuc2VydmljZS50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQUUsTUFBTSxFQUFFLFVBQVUsRUFBRSxNQUFNLGVBQWUsQ0FBQztBQUNuRCxPQUFPLEVBQTBCLE1BQU0sRUFBb0IsTUFBTSxpQkFBaUIsQ0FBQztBQUNuRixPQUFPLEVBQWlDLFVBQVUsRUFBRSxNQUFNLHdCQUF3QixDQUFDO0FBRW5GLE9BQU8sRUFBRSxlQUFlLEVBQWMsTUFBTSxNQUFNLENBQUM7QUFDbkQsT0FBTyxFQUFFLGlCQUFpQixFQUFFLE1BQU0sOEJBQThCLENBQUM7QUFDakUsT0FBTyxFQUFFLGFBQWEsRUFBbUIsTUFBTSxvQkFBb0IsQ0FBQztBQUNwRSxPQUFPLEVBQUUsaUJBQWlCLEVBQUUsTUFBTSxzQkFBc0IsQ0FBQzs7O0FBT3pELE1BQU0sT0FBTyx1QkFBdUI7SUFBcEM7UUFDRSxtQkFBYyxHQUF5QztZQUNyRCxPQUFPLEVBQUUsNEJBQTRCO1NBQ3RDLENBQUM7SUFDSixDQUFDO0NBQUE7QUFLRCxNQUFNLE9BQU8sa0JBQWtCO0lBOEM3QixZQUFxRCxNQUEwQixFQUFVLE1BQWM7UUFBbEQsV0FBTSxHQUFOLE1BQU0sQ0FBb0I7UUFBVSxXQUFNLEdBQU4sTUFBTSxDQUFRO1FBM0MvRixxQkFBZ0IsR0FBRyxJQUFJLGVBQWUsQ0FBVSxJQUFJLENBQUMsQ0FBQztRQUN0RCwyQkFBc0IsR0FBRyxJQUFJLGVBQWUsQ0FBVSxLQUFLLENBQUMsQ0FBQztRQUM3RCxpQkFBWSxHQUFHLElBQUksZUFBZSxDQUFnQixFQUFtQixDQUFDLENBQUM7UUFDdkUscUJBQWdCLEdBQUcsSUFBSSxlQUFlLENBQXdCLEVBQTJCLENBQUMsQ0FBQztRQUMzRix1QkFBa0IsR0FBRyxJQUFJ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QUFDLFVBQVUsQ0FBQztRQUNuQyxPQUFRLE1BQU0sQ0FBQyxJQUFJLENBQUMsVUFBVSxDQUE4QjthQUN6RCxNQUFNLENBQUMsQ0FBQyxHQUF5QixFQUFFLEVBQUUsQ0FBQyxHQUFHLEtBQUssa0JBQWtCLElBQUksR0FBRyxLQUFLLGtCQUFrQixJQUFJLEdBQUcsSUFBSSxJQUFJLENBQUM7YUFDOUcsR0FBRyxDQUFDLENBQUMsR0FBeUIsRUFBRSxFQUFFOztZQUFDLE9BQUEsQ0FBQztnQkFDbkMsSUFBSSxFQUFFLE1BQUEsVUFBVSxDQUFDLEdBQUcsQ0FBQywwQ0FBRSxTQUFTLENBQUMsQ0FBQyxDQUFDO2dCQUNuQyxTQUFTLEVBQUUsaUJBQWlCO2FBQzdCLENBQUMsQ0FBQTtTQUFBLENBQUMsQ0FBQztJQUNSLENBQUM7SUFFRCxJQUFJLFVBQVU7UUFDWixPQUFPLElBQUksQ0FBQyxXQUFXLENBQUMsS0FBSyxDQUFDLFFBQVEsRUFBRSxDQUFDLElBQUksQ0FBQyxNQUFNLENBQUM7SUFDdkQsQ0FBQztJQUVELG9CQUFvQjtJQUNiLGVBQWU7UUFDcEIsSUFBSSxDQUFDLFdBQVcsQ0FBQyxlQUFlLEVBQUUsQ0FBQztJQUNyQyxDQUFDO0lBRUQsb0JBQW9CO0lBQ2IsZUFBZTs7UUFDcEIsTUFBQSxJQUFJLENBQUMsV0FBVywwQ0FBRSxlQUFlLEVBQUUsQ0FBQztJQUN0QyxDQUFDOzs7O1lBaklGLFVBQVUsU0FBQztnQkFDVixVQUFVLEVBQUUsTUFBTTthQUNuQjs7OzRDQStDYyxNQUFNLFNBQUMsdUJBQXVCO1lBcEVaLE1BQU0iLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBJbmplY3QsIEluamVjdGFibGUgfSBmcm9tICdAYW5ndWxhci9jb3JlJztcbmltcG9ydCB7IE5hdmlnYXRpb25TdGFydCwgUm91dGUsIFJvdXRlciwgUm91dGVzUmVjb2duaXplZCB9IGZyb20gJ0Bhbmd1bGFyL3JvdXRlcic7XG5pbXBvcnQgeyBBdXRoUGFnZVJvdXRlcywgRnJvbnRlZ2dTdGF0ZSwgaW5pdGlhbGl6ZSB9IGZyb20gJ0Bmcm9udGVnZy9hZG1pbi1wb3J0YWwnO1xuaW1wb3J0IHsgRnJvbnRlZ2dBcHBJbnN0YW5jZSwgRnJvbnRlZ2dBcHBPcHRpb25zIH0gZnJvbSAnQGZyb250ZWdnL3R5cGVzJztcbmltcG9ydCB7IEJlaGF2aW9yU3ViamVjdCwgT2JzZXJ2YWJsZSB9IGZyb20gJ3J4anMnO1xuaW1wb3J0IHsgRnJvbnRlZ2dMb2FkR3VhcmQgfSBmcm9tICcuL2d1YXJkcy9mcm9udGVnZy1sb2FkLmd1YXJkJztcbmltcG9ydCB7IENvbnRleHRIb2xkZXIsIFJlZGlyZWN0T3B0aW9ucyB9IGZyb20gJ0Bmcm9udGVnZy9yZXN0LWFwaSc7XG5pbXBvcnQgeyBGcm9udGVnZ0NvbXBvbmVudCB9IGZyb20gJy4vZnJvbnRlZ2cuY29tcG9uZW50JztcblxudHlwZSBGcm9udGVnZ0FwcCA9IEZyb250ZWdnQXBwSW5zdGFuY2UgJiB7XG4gIHNob3dBZG1pblBvcnRhbCgpOiB2b2lkO1xuICBoaWRlQWRtaW5Qb3J0YWwoKTogdm9pZDtcbn07XG5cbmV4cG9ydCBjbGFzcyBGcm9udGVnZ0FwcE9wdGlvbnNDbGFzcyBpbXBsZW1lbnRzIEZyb250ZWdnQXBwT3B0aW9ucyB7XG4gIGNvbnRleHRPcHRpb25zOiBGcm9udGVnZ0FwcE9wdGlvbnNbJ2NvbnRleHRPcHRpb25zJ10gPSB7XG4gICAgYmFzZVVybDogJ2h0dHBzOi8vZGF2aWQuZnJvbnRlZ2cuY29tJyxcbiAgfTtcbn1cblxuQEluamVjdGFibGUoe1xuICBwcm92aWRlZEluOiAncm9vdCcsXG59KVxuZXhwb3J0IGNsYXNzIEZyb250ZWdnQXBwU2VydmljZSB7XG4gIGZyb250ZWdnQXBwOiBGcm9udGVnZ0FwcDtcblxuICBwcml2YXRlIGlzTG9hZGluZ1N1YmplY3QgPSBuZXcgQmVoYXZpb3JTdWJqZWN0PGJvb2xlYW4+KHRydWUpO1xuICBwcml2YXRlIGlzQXV0aGVudGljYXRlZFN1YmplY3QgPSBuZXcgQmVoYXZpb3JTdWJqZWN0PGJvb2xlYW4+KGZhbHNlKTtcbiAgcHJpdmF0ZSBzdGF0ZVN1YmplY3QgPSBuZXcgQmVoYXZpb3JTdWJqZWN0PEZyb250ZWdnU3RhdGU+KHt9IGFzIEZyb250ZWdnU3RhdGUpO1xuICBwcml2YXRlIGF1dGhTdGF0ZVN1YmplY3QgPSBuZXcgQmVoYXZpb3JTdWJqZWN0PEZyb250ZWdnU3RhdGVbJ2F1dGgnXT4oe30gYXMgRnJvbnRlZ2dTdGF0ZVsnYXV0aCddKTtcbiAgcHJpdmF0ZSBhdWRpdHNTdGF0ZVN1YmplY3QgPSBuZXcgQmVoYXZpb3JTdWJqZWN0PEZyb250ZWdnU3RhdGVbJ2F1ZGl0cyddPih7fSBhcyBGcm9udGVnZ1N0YXRlWydhdWRpdHMnXSk7XG4gIHByaXZhdGUgY29ubmVjdGl2aXR5U3RhdGVTdWJqZWN0ID0gbmV3IEJlaGF2aW9yU3ViamVjdDxGcm9udGVnZ1N0YXRlWydjb25uZWN0aXZpdHknXT4oe30gYXMgRnJvbnRlZ2dTdGF0ZVsnY29ubmVjdGl2aXR5J10pO1xuICBwcml2YXRlIHN1YnNjcmlwdGlvbnNTdGF0ZVN1YmplY3QgPSBuZXcgQmVoYXZpb3JTdWJqZWN0PEZyb250ZWdnU3RhdGVbJ3N1YnNjcmlwdGlvbnMnXT4oe30gYXMgRnJvbnRlZ2dTdGF0ZVsnc3Vic2NyaXB0aW9ucyddKTtcbiAgcHJpdmF0ZSB2ZW5kb3JTdGF0ZVN1YmplY3QgPSBuZXcgQmVoYXZpb3JTdWJqZWN0PEZyb250ZWdnU3RhdGVbJ3ZlbmRvciddPih7fSBhcyBGcm9udGVnZ1N0YXRlWyd2ZW5kb3InXSk7XG5cblxuICBnZXQgc3RhdGUkKCk6IE9ic2VydmFibGU8RnJvbnRlZ2dTdGF0ZT4ge1xuICAgIHJldHVybiB0aGlzLnN0YXRlU3ViamVjdC5hc09ic2VydmFibGUoKTtcbiAgfVxuXG4gIGdldCBhdXRoU3RhdGUkKCk6IE9ic2VydmFibGU8RnJvbnRlZ2dTdGF0ZVsnYXV0aCddPiB7XG4gICAgcmV0dXJuIHRoaXMuYXV0aFN0YXRlU3ViamVjdC5hc09ic2VydmFibGUoKTtcbiAgfVxuXG4gIGdldCBhdWRpdHNTdGF0ZSQoKTogT2JzZXJ2YWJsZTxGcm9udGVnZ1N0YXRlWydhdWRpdHMnXT4ge1xuICAgIHJldHVybiB0aGlzLmF1ZGl0c1N0YXRlU3ViamVjdC5hc09ic2VydmFibGUoKTtcbiAgfVxuXG4gIGdldCBjb25uZWN0aXZpdHlTdGF0ZSQoKTogT2JzZXJ2YWJsZTxGcm9udGVnZ1N0YXRlWydjb25uZWN0aXZpdHknXT4ge1xuICAgIHJldHVybiB0aGlzLmNvbm5lY3Rpdml0eVN0YXRlU3ViamVjdC5hc09ic2VydmFibGUoKTtcbiAgfVxuXG4gIGdldCBzdWJzY3JpcHRpb25zU3RhdGUkKCk6IE9ic2VydmFibGU8RnJvbnRlZ2dTdGF0ZVsnc3Vic2NyaXB0aW9ucyddPiB7XG4gICAgcmV0dXJuIHRoaXMuc3Vic2NyaXB0aW9uc1N0YXRlU3ViamVjdC5hc09ic2VydmFibGUoKTtcbiAgfVxuXG4gIGdldCB2ZW5kb3JTdGF0ZSQoKTogT2JzZXJ2YWJsZTxGcm9udGVnZ1N0YXRlWyd2ZW5kb3InXT4ge1xuICAgIHJldHVybiB0aGlzLnZlbmRvclN0YXRlU3ViamVjdC5hc09ic2VydmFibGUoKTtcbiAgfVxuXG4gIGdldCBpc0xvYWRpbmckKCk6IE9ic2VydmFibGU8Ym9vbGVhbj4ge1xuICAgIHJldHVybiB0aGlzLmlzTG9hZGluZ1N1YmplY3QuYXNPYnNlcnZhYmxlKCk7XG4gIH07XG5cblxuICBnZXQgaXNBdXRoZW50aWNhdGVkJCgpOiBPYnNlcnZhYmxlPGJvb2xlYW4+IHtcbiAgICByZXR1cm4gdGhpcy5pc0F1dGhlbnRpY2F0ZWRTdWJqZWN0LmFzT2JzZXJ2YWJsZSgpO1xuICB9O1xuXG4gIGNvbnN0cnVjdG9yKEBJbmplY3QoRnJvbnRlZ2dBcHBPcHRpb25zQ2xhc3MpIHByaXZhdGUgY29uZmlnOiBGcm9udGVnZ0FwcE9wdGlvbnMsIHByaXZhdGUgcm91dGVyOiBSb3V0ZXIpIHtcbiAgICBpZiAoIXRoaXMuY29uZmlnKSB7XG4gICAgICB0aHJvdyBFcnJvcignTmVlZCB0byBwYXNzIGNvbmZpZzogRnJvbnRlZ2dDb25maWdPcHRpb25zIGluIEZyb250ZWdnQXBwTW9kdWxlLmZvclJvb3QoY29uZmlnKScpO1xuICAgIH1cblxuICAgIGNvbnN0IG9uUmVkaXJlY3RUbyA9ICh0bzogc3RyaW5nLCBvcHRzPzogUmVkaXJlY3RPcHRpb25zKSA9PiB7XG4gICAgICBjb25zdCBiYXNlTmFtZSA9IHdpbmRvdy5sb2NhdGlvbi5vcmlnaW47XG4gICAgICBsZXQgcGF0aCA9IHRvO1xuICAgICAgaWYgKHBhdGguc3RhcnRzV2l0aChiYXNlTmFtZSkgJiYgYmFzZU5hbWUgIT09ICcvJykge1xuICAgICAgICBwYXRoID0gcGF0aC5zdWJzdHJpbmcoYmFzZU5hbWUubGVuZ3RoIC0gMSk7XG4gICAgICB9XG5cbiAgICAgIGlmIChvcHRzPy5yZWZyZXNoKSB7XG4gICAgICAgIHdpbmRvdy5sb2NhdGlvbi5ocmVmID0gcGF0aDtcbiAgICAgIH0gZWxzZSB7XG4gICAgICAgIGlmIChvcHRzPy5yZXBsYWNlKSB7XG4gICAgICAgICAgdGhpcy5yb3V0ZXIubmF2aWdhdGVCeVVybChwYXRoLCB7IHJlcGxhY2VVcmw6IHRydWUgfSk7XG4gICAgICAgIH0gZWxzZSB7XG4gICAgICAgICAgdGhpcy5yb3V0ZXIubmF2aWdhdGVCeVVybChwYXRoKVxuICAgICAgICB9XG4gICAgICB9XG4gICAgfTtcbiAgICBDb250ZXh0SG9sZGVyLnNldE9uUmVkaXJlY3RUbyhvblJlZGlyZWN0VG8pO1xuICAgIHRoaXMuZnJvbnRlZ2dBcHAgPSBpbml0aWFsaXplKHtcbiAgICAgIG9uUmVkaXJlY3RUbyxcbiAgICAgIC4uLnRoaXMuY29uZmlnLFxuICAgIH0pO1xuXG5cbiAgICAvLyBBZGQgYWxsIGxvZ2luIGJveCByb3V0ZXMgdG8gQW5ndWxhciByb3V0ZXIgY29uZmlnXG4gICAgdGhpcy5yb3V0ZXIucmVzZXRDb25maWcoW1xuICAgICAgLi4udGhpcy5tYXBBdXRoQ29tcG9uZW50cyxcbiAgICAgIHtcbiAgICAgICAgcGF0aDogJycsXG4gICAgICAgIGNhbkFjdGl2YXRlOiBbRnJvbnRlZ2dMb2FkR3VhcmRdLFxuICAgICAgICBjaGlsZHJlbjogWy4uLnRoaXMucm91dGVyLmNvbmZpZ10sXG4gICAgICB9LFxuICAgIF0pO1xuXG4gICAgLy8gU3Vic2NyaWJlIG9uIGZyb250ZWdnQXBwIHN0b3JlIHRvIGNoYW5nZSBzdGF0ZSBzdWJqZWN0c1xuICAgIHRoaXMuZnJvbnRlZ2dBcHAuc3RvcmUuc3Vic2NyaWJlKCgpID0+IHtcbiAgICAgIGNvbnN0IGZyb250ZWdnU3RvcmUgPSB0aGlzLmZyb250ZWdnQXBwLnN0b3JlLmdldFN0YXRlKCkgYXMgRnJvbnRlZ2dTdGF0ZTtcbiAgICAgIGlmICh0aGlzLmlzTG9hZGluZ1N1YmplY3QuZ2V0VmFsdWUoKSAhPT0gZnJvbnRlZ2dTdG9yZS5hdXRoLmlzTG9hZGluZykge1xuICAgICAgICB0aGlzLmlzTG9hZGluZ1N1YmplY3QubmV4dChmcm9udGVnZ1N0b3JlLmF1dGguaXNMb2FkaW5nKTtcbiAgICAgIH1cbiAgICAgIGlmICh0aGlzLmlzQXV0aGVudGljYXRlZFN1YmplY3QuZ2V0VmFsdWUoKSAhPT0gZnJvbnRlZ2dTdG9yZS5hdXRoLmlzQXV0aGVudGljYXRlZCkge1xuICAgICAgICB0aGlzLmlzQXV0aGVudGljYXRlZFN1YmplY3QubmV4dChmcm9udGVnZ1N0b3JlLmF1dGguaXNBdXRoZW50aWNhdGVkKTtcbiAgICAgIH1cblxuICAgICAgdGhpcy5zdGF0ZVN1YmplY3QubmV4dChmcm9udGVnZ1N0b3JlKTtcbiAgICAgIHRoaXMuYXV0aFN0YXRlU3ViamVjdC5uZXh0KGZyb250ZWdnU3RvcmUuYXV0aCk7XG4gICAgICB0aGlzLmF1ZGl0c1N0YXRlU3ViamVjdC5uZXh0KGZyb250ZWdnU3RvcmUuYXVkaXRzKTtcbiAgICAgIHRoaXMuY29ubmVjdGl2aXR5U3RhdGVTdWJqZWN0Lm5leHQoZnJvbnRlZ2dTdG9yZS5jb25uZWN0aXZpdHkpO1xuICAgICAgdGhpcy5zdWJzY3JpcHRpb25zU3RhdGVTdWJqZWN0Lm5leHQoZnJvbnRlZ2dTdG9yZS5zdWJzY3JpcHRpb25zKTtcbiAgICAgIHRoaXMudmVuZG9yU3RhdGVTdWJqZWN0Lm5leHQoZnJvbnRlZ2dTdG9yZS52ZW5kb3IpO1xuICAgIH0pO1xuICB9XG5cbiAgZ2V0IG1hcEF1dGhDb21wb25lbnRzKCk6IFJvdXRlW10ge1xuICAgIGNvbnN0IGF1dGhSb3V0ZXMgPSB0aGlzLmF1dGhSb3V0ZXM7XG4gICAgcmV0dXJuIChPYmplY3Qua2V5cyhhdXRoUm91dGVzKSBhcyAoa2V5b2YgQXV0aFBhZ2VSb3V0ZXMpW10pXG4gICAgICAuZmlsdGVyKChrZXk6IGtleW9mIEF1dGhQYWdlUm91dGVzKSA9PiBrZXkgIT09ICdhdXRoZW50aWNhdGVkVXJsJyAmJiBrZXkgIT09ICdzaWduVXBTdWNjZXNzVXJsJyAmJiBrZXkgIT0gbnVsbClcbiAgICAgIC5tYXAoKGtleToga2V5b2YgQXV0aFBhZ2VSb3V0ZXMpID0+ICh7XG4gICAgICAgIHBhdGg6IGF1dGhSb3V0ZXNba2V5XT8uc3Vic3RyaW5nKDEpLFxuICAgICAgICBjb21wb25lbnQ6IEZyb250ZWdnQ29tcG9uZW50LFxuICAgICAgfSkpO1xuICB9XG5cbiAgZ2V0IGF1dGhSb3V0ZXMoKTogQXV0aFBhZ2VSb3V0ZXMge1xuICAgIHJldHVybiB0aGlzLmZyb250ZWdnQXBwLnN0b3JlLmdldFN0YXRlKCkuYXV0aC5yb3V0ZXM7XG4gIH1cblxuICAvLyBPcGVuIGFkbWluIHBvcnRhbFxuICBwdWJsaWMgc2hvd0FkbWluUG9ydGFsKCk6IHZvaWQge1xuICAgIHRoaXMuZnJvbnRlZ2dBcHAuc2hvd0FkbWluUG9ydGFsKCk7XG4gIH1cblxuICAvLyBPcGVuIGFkbWluIHBvcnRhbFxuICBwdWJsaWMgaGlkZUFkbWluUG9ydGFsKCk6IHZvaWQge1xuICAgIHRoaXMuZnJvbnRlZ2dBcHA/LmhpZGVBZG1pblBvcnRhbCgpO1xuICB9XG59XG4iXX0=
|
|
143
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZnJvbnRlZ2ctYXBwLnNlcnZpY2UuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9mcm9udGVnZy1hcHAvc3JjL2xpYi9mcm9udGVnZy1hcHAuc2VydmljZS50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQUUsTUFBTSxFQUFFLFVBQVUsRUFBRSxNQUFNLEVBQUUsTUFBTSxlQUFlLENBQUM7QUFDM0QsT0FBTyxFQUEwQixNQUFNLEVBQW9CLE1BQU0saUJBQWlCLENBQUM7QUFDbkYsT0FBTyxFQUFpQyxVQUFVLEVBQUUsTUFBTSx3QkFBd0IsQ0FBQztBQUVuRixPQUFPLEVBQUUsZUFBZSxFQUFjLE1BQU0sTUFBTSxDQUFDO0FBQ25ELE9BQU8sRUFBRSxpQkFBaUIsRUFBRSxNQUFNLDhCQUE4QixDQUFDO0FBQ2pFLE9BQU8sRUFBRSxhQUFhLEVBQW1CLE1BQU0sb0JBQW9CLENBQUM7QUFDcEUsT0FBTyxFQUFFLGlCQUFpQixFQUFFLE1BQU0sc0JBQXNCLENBQUM7OztBQU96RCxNQUFNLE9BQU8sdUJBQXVCO0lBQXBDO1FBQ0UsbUJBQWMsR0FBeUM7WUFDckQsT0FBTyxFQUFFLDRCQUE0QjtTQUN0QyxDQUFDO0lBQ0osQ0FBQztDQUFBO0FBS0QsTUFBTSxPQUFPLGtCQUFrQjtJQThDN0IsWUFBcUQsTUFBMEIsRUFBVSxNQUFjLEVBQVUsTUFBYztRQUExRSxXQUFNLEdBQU4sTUFBTSxDQUFvQjtRQUFVLFdBQU0sR0FBTixNQUFNLENBQVE7UUFBVSxXQUFNLEdBQU4sTUFBTSxDQUFRO1FBM0N2SCxxQkFBZ0IsR0FBRyxJQUFJLGVBQWUsQ0FBVSxJQUFJLENBQUMsQ0FBQztRQUN0RCwyQkFBc0IsR0FBRyxJQUFJLGVBQWUsQ0FBVSxLQUFLLENBQUMsQ0FBQztRQUM3RCxpQkFBWSxHQUFHLElBQUksZUFBZSxDQUFnQixFQUFtQixDQUFDLENBQUM7UUFDdkUscUJBQWdCLEdBQUcsSUFBSSxlQUFl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QUNsQixPQUFPLElBQUksQ0FBQyxzQkFBc0IsQ0FBQyxZQUFZLEVBQUUsQ0FBQztJQUNwRCxDQUFDO0lBQUEsQ0FBQztJQThERixJQUFJLGlCQUFpQjtRQUNuQixNQUFNLFVBQVUsR0FBRyxJQUFJLENBQUMsVUFBVSxDQUFDO1FBQ25DLE9BQVEsTUFBTSxDQUFDLElBQUksQ0FBQyxVQUFVLENBQThCO2FBQ3pELE1BQU0sQ0FBQyxDQUFDLEdBQXlCLEVBQUUsRUFBRSxDQUFDLEdBQUcsS0FBSyxrQkFBa0IsSUFBSSxHQUFHLEtBQUssa0JBQWtCLElBQUksR0FBRyxJQUFJLElBQUksQ0FBQzthQUM5RyxHQUFHLENBQUMsQ0FBQyxHQUF5QixFQUFFLEVBQUU7O1lBQUMsT0FBQSxDQUFDO2dCQUNuQyxJQUFJLEVBQUUsTUFBQSxVQUFVLENBQUMsR0FBRyxDQUFDLDBDQUFFLFNBQVMsQ0FBQyxDQUFDLENBQUM7Z0JBQ25DLFNBQVMsRUFBRSxpQkFBaUI7YUFDN0IsQ0FBQyxDQUFBO1NBQUEsQ0FBQyxDQUFDO0lBQ1IsQ0FBQztJQUVELElBQUksVUFBVTtRQUNaLE9BQU8sSUFBSSxDQUFDLFdBQVcsQ0FBQyxLQUFLLENBQUMsUUFBUSxFQUFFLENBQUMsSUFBSSxDQUFDLE1BQU0sQ0FBQztJQUN2RCxDQUFDO0lBRUQsb0JBQW9CO0lBQ2IsZUFBZTtRQUNwQixJQUFJLENBQUMsV0FBVyxDQUFDLGVBQWUsRUFBRSxDQUFDO0lBQ3JDLENBQUM7SUFFRCxvQkFBb0I7SUFDYixlQUFlOztRQUNwQixNQUFBLElBQUksQ0FBQyxXQUFXLDBDQUFFLGVBQWUsRUFBRSxDQUFDO0lBQ3RDLENBQUM7Ozs7WUFuSUYsVUFBVSxTQUFDO2dCQUNWLFVBQVUsRUFBRSxNQUFNO2FBQ25COzs7NENBK0NjLE1BQU0sU0FBQyx1QkFBdUI7WUFwRVosTUFBTTtZQURWLE1BQU0iLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBJbmplY3QsIEluamVjdGFibGUsIE5nWm9uZSB9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xuaW1wb3J0IHsgTmF2aWdhdGlvblN0YXJ0LCBSb3V0ZSwgUm91dGVyLCBSb3V0ZXNSZWNvZ25pemVkIH0gZnJvbSAnQGFuZ3VsYXIvcm91dGVyJztcbmltcG9ydCB7IEF1dGhQYWdlUm91dGVzLCBGcm9udGVnZ1N0YXRlLCBpbml0aWFsaXplIH0gZnJvbSAnQGZyb250ZWdnL2FkbWluLXBvcnRhbCc7XG5pbXBvcnQgeyBGcm9udGVnZ0FwcEluc3RhbmNlLCBGcm9udGVnZ0FwcE9wdGlvbnMgfSBmcm9tICdAZnJvbnRlZ2cvdHlwZXMnO1xuaW1wb3J0IHsgQmVoYXZpb3JTdWJqZWN0LCBPYnNlcnZhYmxlIH0gZnJvbSAncnhqcyc7XG5pbXBvcnQgeyBGcm9udGVnZ0xvYWRHdWFyZCB9IGZyb20gJy4vZ3VhcmRzL2Zyb250ZWdnLWxvYWQuZ3VhcmQnO1xuaW1wb3J0IHsgQ29udGV4dEhvbGRlciwgUmVkaXJlY3RPcHRpb25zIH0gZnJvbSAnQGZyb250ZWdnL3Jlc3QtYXBpJztcbmltcG9ydCB7IEZyb250ZWdnQ29tcG9uZW50IH0gZnJvbSAnLi9mcm9udGVnZy5jb21wb25lbnQnO1xuXG50eXBlIEZyb250ZWdnQXBwID0gRnJvbnRlZ2dBcHBJbnN0YW5jZSAmIHtcbiAgc2hvd0FkbWluUG9ydGFsKCk6IHZvaWQ7XG4gIGhpZGVBZG1pblBvcnRhbCgpOiB2b2lkO1xufTtcblxuZXhwb3J0IGNsYXNzIEZyb250ZWdnQXBwT3B0aW9uc0NsYXNzIGltcGxlbWVudHMgRnJvbnRlZ2dBcHBPcHRpb25zIHtcbiAgY29udGV4dE9wdGlvbnM6IEZyb250ZWdnQXBwT3B0aW9uc1snY29udGV4dE9wdGlvbnMnXSA9IHtcbiAgICBiYXNlVXJsOiAnaHR0cHM6Ly9kYXZpZC5mcm9udGVnZy5jb20nLFxuICB9O1xufVxuXG5ASW5qZWN0YWJsZSh7XG4gIHByb3ZpZGVkSW46ICdyb290Jyxcbn0pXG5leHBvcnQgY2xhc3MgRnJvbnRlZ2dBcHBTZXJ2aWNlIHtcbiAgZnJvbnRlZ2dBcHA6IEZyb250ZWdnQXBwO1xuXG4gIHByaXZhdGUgaXNMb2FkaW5nU3ViamVjdCA9IG5ldyBCZWhhdmlvclN1YmplY3Q8Ym9vbGVhbj4odHJ1ZSk7XG4gIHByaXZhdGUgaXNBdXRoZW50aWNhdGVkU3ViamVjdCA9IG5ldyBCZWhhdmlvclN1YmplY3Q8Ym9vbGVhbj4oZmFsc2UpO1xuICBwcml2YXRlIHN0YXRlU3ViamVjdCA9IG5ldyBCZWhhdmlvclN1YmplY3Q8RnJvbnRlZ2dTdGF0ZT4oe30gYXMgRnJvbnRlZ2dTdGF0ZSk7XG4gIHByaXZhdGUgYXV0aFN0YXRlU3ViamVjdCA9IG5ldyBCZWhhdmlvclN1YmplY3Q8RnJvbnRlZ2dTdGF0ZVsnYXV0aCddPih7fSBhcyBGcm9udGVnZ1N0YXRlWydhdXRoJ10pO1xuICBwcml2YXRlIGF1ZGl0c1N0YXRlU3ViamVjdCA9IG5ldyBCZWhhdmlvclN1YmplY3Q8RnJvbnRlZ2dTdGF0ZVsnYXVkaXRzJ10+KHt9IGFzIEZyb250ZWdnU3RhdGVbJ2F1ZGl0cyddKTtcbiAgcHJpdmF0ZSBjb25uZWN0aXZpdHlTdGF0ZVN1YmplY3QgPSBuZXcgQmVoYXZpb3JTdWJqZWN0PEZyb250ZWdnU3RhdGVbJ2Nvbm5lY3Rpdml0eSddPih7fSBhcyBGcm9udGVnZ1N0YXRlWydjb25uZWN0aXZpdHknXSk7XG4gIHByaXZhdGUgc3Vic2NyaXB0aW9uc1N0YXRlU3ViamVjdCA9IG5ldyBCZWhhdmlvclN1YmplY3Q8RnJvbnRlZ2dTdGF0ZVsnc3Vic2NyaXB0aW9ucyddPih7fSBhcyBGcm9udGVnZ1N0YXRlWydzdWJzY3JpcHRpb25zJ10pO1xuICBwcml2YXRlIHZlbmRvclN0YXRlU3ViamVjdCA9IG5ldyBCZWhhdmlvclN1YmplY3Q8RnJvbnRlZ2dTdGF0ZVsndmVuZG9yJ10+KHt9IGFzIEZyb250ZWdnU3RhdGVbJ3ZlbmRvciddKTtcblxuXG4gIGdldCBzdGF0ZSQoKTogT2JzZXJ2YWJsZTxGcm9udGVnZ1N0YXRlPiB7XG4gICAgcmV0dXJuIHRoaXMuc3RhdGVTdWJqZWN0LmFzT2JzZXJ2YWJsZSgpO1xuICB9XG5cbiAgZ2V0IGF1dGhTdGF0ZSQoKTogT2JzZXJ2YWJsZTxGcm9udGVnZ1N0YXRlWydhdXRoJ10+IHtcbiAgICByZXR1cm4gdGhpcy5hdXRoU3RhdGVTdWJqZWN0LmFzT2JzZXJ2YWJsZSgpO1xuICB9XG5cbiAgZ2V0IGF1ZGl0c1N0YXRlJCgpOiBPYnNlcnZhYmxlPEZyb250ZWdnU3RhdGVbJ2F1ZGl0cyddPiB7XG4gICAgcmV0dXJuIHRoaXMuYXVkaXRzU3RhdGVTdWJqZWN0LmFzT2JzZXJ2YWJsZSgpO1xuICB9XG5cbiAgZ2V0IGNvbm5lY3Rpdml0eVN0YXRlJCgpOiBPYnNlcnZhYmxlPEZyb250ZWdnU3RhdGVbJ2Nvbm5lY3Rpdml0eSddPiB7XG4gICAgcmV0dXJuIHRoaXMuY29ubmVjdGl2aXR5U3RhdGVTdWJqZWN0LmFzT2JzZXJ2YWJsZSgpO1xuICB9XG5cbiAgZ2V0IHN1YnNjcmlwdGlvbnNTdGF0ZSQoKTogT2JzZXJ2YWJsZTxGcm9udGVnZ1N0YXRlWydzdWJzY3JpcHRpb25zJ10+IHtcbiAgICByZXR1cm4gdGhpcy5zdWJzY3JpcHRpb25zU3RhdGVTdWJqZWN0LmFzT2JzZXJ2YWJsZSgpO1xuICB9XG5cbiAgZ2V0IHZlbmRvclN0YXRlJCgpOiBPYnNlcnZhYmxlPEZyb250ZWdnU3RhdGVbJ3ZlbmRvciddPiB7XG4gICAgcmV0dXJuIHRoaXMudmVuZG9yU3RhdGVTdWJqZWN0LmFzT2JzZXJ2YWJsZSgpO1xuICB9XG5cbiAgZ2V0IGlzTG9hZGluZyQoKTogT2JzZXJ2YWJsZTxib29sZWFuPiB7XG4gICAgcmV0dXJuIHRoaXMuaXNMb2FkaW5nU3ViamVjdC5hc09ic2VydmFibGUoKTtcbiAgfTtcblxuXG4gIGdldCBpc0F1dGhlbnRpY2F0ZWQkKCk6IE9ic2VydmFibGU8Ym9vbGVhbj4ge1xuICAgIHJldHVybiB0aGlzLmlzQXV0aGVudGljYXRlZFN1YmplY3QuYXNPYnNlcnZhYmxlKCk7XG4gIH07XG5cbiAgY29uc3RydWN0b3IoQEluamVjdChGcm9udGVnZ0FwcE9wdGlvbnNDbGFzcykgcHJpdmF0ZSBjb25maWc6IEZyb250ZWdnQXBwT3B0aW9ucywgcHJpdmF0ZSByb3V0ZXI6IFJvdXRlciwgcHJpdmF0ZSBuZ1pvbmU6IE5nWm9uZSkge1xuICAgIGlmICghdGhpcy5jb25maWcpIHtcbiAgICAgIHRocm93IEVycm9yKCdOZWVkIHRvIHBhc3MgY29uZmlnOiBGcm9udGVnZ0NvbmZpZ09wdGlvbnMgaW4gRnJvbnRlZ2dBcHBNb2R1bGUuZm9yUm9vdChjb25maWcpJyk7XG4gICAgfVxuXG4gICAgY29uc3Qgb25SZWRpcmVjdFRvID0gKHRvOiBzdHJpbmcsIG9wdHM/OiBSZWRpcmVjdE9wdGlvbnMpID0+IHtcbiAgICAgIGNvbnN0IGJhc2VOYW1lID0gd2luZG93LmxvY2F0aW9uLm9yaWdpbjtcbiAgICAgIGxldCBwYXRoID0gdG87XG4gICAgICBpZiAocGF0aC5zdGFydHNXaXRoKGJhc2VOYW1lKSAmJiBiYXNlTmFtZSAhPT0gJy8nKSB7XG4gICAgICAgIHBhdGggPSBwYXRoLnN1YnN0cmluZyhiYXNlTmFtZS5sZW5ndGggLSAxKTtcbiAgICAgIH1cblxuICAgICAgaWYgKG9wdHM/LnJlZnJlc2gpIHtcbiAgICAgICAgd2luZG93LmxvY2F0aW9uLmhyZWYgPSBwYXRoO1xuICAgICAgfSBlbHNlIHtcbiAgICAgICAgdGhpcy5uZ1pvbmUucnVuKCgpID0+IHtcbiAgICAgICAgICBpZiAob3B0cz8ucmVwbGFjZSkge1xuICAgICAgICAgICAgdGhpcy5yb3V0ZXIubmF2aWdhdGVCeVVybChwYXRoLCB7IHJlcGxhY2VVcmw6IHRydWUgfSk7XG4gICAgICAgICAgfSBlbHNlIHtcbiAgICAgICAgICAgIHRoaXMucm91dGVyLm5hdmlnYXRlQnlVcmwocGF0aCk7XG4gICAgICAgICAgfVxuICAgICAgICB9KTtcbiAgICAgIH1cbiAgICB9O1xuICAgIENvbnRleHRIb2xkZXIuc2V0T25SZWRpcmVjdFRvKG9uUmVkaXJlY3RUbyk7XG4gICAgdGhpcy5mcm9udGVnZ0FwcCA9IGluaXRpYWxpemUoe1xuICAgICAgb25SZWRpcmVjdFRvLFxuICAgICAgLi4udGhpcy5jb25maWcsXG4gICAgfSk7XG5cblxuICAgIC8vIEFkZCBhbGwgbG9naW4gYm94IHJvdXRlcyB0byBBbmd1bGFyIHJvdXRlciBjb25maWdcbiAgICB0aGlzLnJvdXRlci5yZXNldENvbmZpZyhbXG4gICAgICAuLi50aGlzLm1hcEF1dGhDb21wb25lbnRzLFxuICAgICAge1xuICAgICAgICBwYXRoOiAnJyxcbiAgICAgICAgY2FuQWN0aXZhdGU6IFtGcm9udGVnZ0xvYWRHdWFyZF0sXG4gICAgICAgIGNoaWxkcmVuOiBbLi4udGhpcy5yb3V0ZXIuY29uZmlnXSxcbiAgICAgIH0sXG4gICAgXSk7XG5cbiAgICAvLyBTdWJzY3JpYmUgb24gZnJvbnRlZ2dBcHAgc3RvcmUgdG8gY2hhbmdlIHN0YXRlIHN1YmplY3RzXG4gICAgdGhpcy5mcm9udGVnZ0FwcC5zdG9yZS5zdWJzY3JpYmUoKCkgPT4ge1xuICAgICAgY29uc3QgZnJvbnRlZ2dTdG9yZSA9IHRoaXMuZnJvbnRlZ2dBcHAuc3RvcmUuZ2V0U3RhdGUoKSBhcyBGcm9udGVnZ1N0YXRlO1xuICAgICAgaWYgKHRoaXMuaXNMb2FkaW5nU3ViamVjdC5nZXRWYWx1ZSgpICE9PSBmcm9udGVnZ1N0b3JlLmF1dGguaXNMb2FkaW5nKSB7XG4gICAgICAgIHRoaXMuaXNMb2FkaW5nU3ViamVjdC5uZXh0KGZyb250ZWdnU3RvcmUuYXV0aC5pc0xvYWRpbmcpO1xuICAgICAgfVxuICAgICAgaWYgKHRoaXMuaXNBdXRoZW50aWNhdGVkU3ViamVjdC5nZXRWYWx1ZSgpICE9PSBmcm9udGVnZ1N0b3JlLmF1dGguaXNBdXRoZW50aWNhdGVkKSB7XG4gICAgICAgIHRoaXMuaXNBdXRoZW50aWNhdGVkU3ViamVjdC5uZXh0KGZyb250ZWdnU3RvcmUuYXV0aC5pc0F1dGhlbnRpY2F0ZWQpO1xuICAgICAgfVxuXG4gICAgICB0aGlzLnN0YXRlU3ViamVjdC5uZXh0KGZyb250ZWdnU3RvcmUpO1xuICAgICAgdGhpcy5hdXRoU3RhdGVTdWJqZWN0Lm5leHQoZnJvbnRlZ2dTdG9yZS5hdXRoKTtcbiAgICAgIHRoaXMuYXVkaXRzU3RhdGVTdWJqZWN0Lm5leHQoZnJvbnRlZ2dTdG9yZS5hdWRpdHMpO1xuICAgICAgdGhpcy5jb25uZWN0aXZpdHlTdGF0ZVN1YmplY3QubmV4dChmcm9udGVnZ1N0b3JlLmNvbm5lY3Rpdml0eSk7XG4gICAgICB0aGlzLnN1YnNjcmlwdGlvbnNTdGF0ZVN1YmplY3QubmV4dChmcm9udGVnZ1N0b3JlLnN1YnNjcmlwdGlvbnMpO1xuICAgICAgdGhpcy52ZW5kb3JTdGF0ZVN1YmplY3QubmV4dChmcm9udGVnZ1N0b3JlLnZlbmRvcik7XG4gICAgfSk7XG4gIH1cblxuICBnZXQgbWFwQXV0aENvbXBvbmVudHMoKTogUm91dGVbXSB7XG4gICAgY29uc3QgYXV0aFJvdXRlcyA9IHRoaXMuYXV0aFJvdXRlcztcbiAgICByZXR1cm4gKE9iamVjdC5rZXlzKGF1dGhSb3V0ZXMpIGFzIChrZXlvZiBBdXRoUGFnZVJvdXRlcylbXSlcbiAgICAgIC5maWx0ZXIoKGtleToga2V5b2YgQXV0aFBhZ2VSb3V0ZXMpID0+IGtleSAhPT0gJ2F1dGhlbnRpY2F0ZWRVcmwnICYmIGtleSAhPT0gJ3NpZ25VcFN1Y2Nlc3NVcmwnICYmIGtleSAhPSBudWxsKVxuICAgICAgLm1hcCgoa2V5OiBrZXlvZiBBdXRoUGFnZVJvdXRlcykgPT4gKHtcbiAgICAgICAgcGF0aDogYXV0aFJvdXRlc1trZXldPy5zdWJzdHJpbmcoMSksXG4gICAgICAgIGNvbXBvbmVudDogRnJvbnRlZ2dDb21wb25lbnQsXG4gICAgICB9KSk7XG4gIH1cblxuICBnZXQgYXV0aFJvdXRlcygpOiBBdXRoUGFnZVJvdXRlcyB7XG4gICAgcmV0dXJuIHRoaXMuZnJvbnRlZ2dBcHAuc3RvcmUuZ2V0U3RhdGUoKS5hdXRoLnJvdXRlcztcbiAgfVxuXG4gIC8vIE9wZW4gYWRtaW4gcG9ydGFsXG4gIHB1YmxpYyBzaG93QWRtaW5Qb3J0YWwoKTogdm9pZCB7XG4gICAgdGhpcy5mcm9udGVnZ0FwcC5zaG93QWRtaW5Qb3J0YWwoKTtcbiAgfVxuXG4gIC8vIE9wZW4gYWRtaW4gcG9ydGFsXG4gIHB1YmxpYyBoaWRlQWRtaW5Qb3J0YWwoKTogdm9pZCB7XG4gICAgdGhpcy5mcm9udGVnZ0FwcD8uaGlkZUFkbWluUG9ydGFsKCk7XG4gIH1cbn1cbiJdfQ==
|
|
@@ -1,33 +1,47 @@
|
|
|
1
|
-
import { Injectable } from '@angular/core';
|
|
1
|
+
import { Injectable, NgZone } from '@angular/core';
|
|
2
2
|
import { Router } from '@angular/router';
|
|
3
3
|
import { Observable } from 'rxjs';
|
|
4
4
|
import { FronteggBaseGuard } from './frontegg-base-guard';
|
|
5
5
|
import { FronteggAppService } from '../frontegg-app.service';
|
|
6
6
|
export class FronteggAuthGuard extends FronteggBaseGuard {
|
|
7
|
-
constructor(fronteggAppService, router) {
|
|
7
|
+
constructor(fronteggAppService, router, ngZone) {
|
|
8
8
|
super();
|
|
9
9
|
this.fronteggAppService = fronteggAppService;
|
|
10
10
|
this.router = router;
|
|
11
|
-
|
|
12
|
-
|
|
13
|
-
return new Observable(obs => {
|
|
11
|
+
this.ngZone = ngZone;
|
|
12
|
+
this.authObservable = new Observable(obs => {
|
|
14
13
|
this.fronteggAppService.isAuthenticated$.subscribe((isAuthenticated) => {
|
|
15
14
|
if (isAuthenticated) {
|
|
16
15
|
obs.next(true);
|
|
17
16
|
}
|
|
18
17
|
else {
|
|
19
|
-
|
|
18
|
+
if (NgZone.isInAngularZone()) {
|
|
19
|
+
this.navigateToUrl();
|
|
20
|
+
}
|
|
21
|
+
else {
|
|
22
|
+
this.ngZone.run(() => {
|
|
23
|
+
this.navigateToUrl();
|
|
24
|
+
});
|
|
25
|
+
}
|
|
20
26
|
obs.next(false);
|
|
21
27
|
}
|
|
22
28
|
});
|
|
23
29
|
});
|
|
24
30
|
}
|
|
31
|
+
navigateToUrl() {
|
|
32
|
+
const redirectUrl = this.router.routerState.snapshot.url;
|
|
33
|
+
this.router.navigateByUrl(this.fronteggAppService.authRoutes.loginUrl + '?redirectUrl=' + encodeURIComponent(redirectUrl));
|
|
34
|
+
}
|
|
35
|
+
canActivate(route, state) {
|
|
36
|
+
return this.authObservable;
|
|
37
|
+
}
|
|
25
38
|
}
|
|
26
39
|
FronteggAuthGuard.decorators = [
|
|
27
40
|
{ type: Injectable }
|
|
28
41
|
];
|
|
29
42
|
FronteggAuthGuard.ctorParameters = () => [
|
|
30
43
|
{ type: FronteggAppService },
|
|
31
|
-
{ type: Router }
|
|
44
|
+
{ type: Router },
|
|
45
|
+
{ type: NgZone }
|
|
32
46
|
];
|
|
33
|
-
//# sourceMappingURL=data:application/json;base64,
|
|
47
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZnJvbnRlZ2ctYXV0aC5ndWFyZC5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL2Zyb250ZWdnLWFwcC9zcmMvbGliL2d1YXJkcy9mcm9udGVnZy1hdXRoLmd1YXJkLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBRSxVQUFVLEVBQUUsTUFBTSxFQUFFLE1BQU0sZUFBZSxDQUFDO0FBQ25ELE9BQU8sRUFBMEIsTUFBTSxFQUF1QixNQUFNLGlCQUFpQixDQUFDO0FBQ3RGLE9BQU8sRUFBRSxVQUFVLEVBQUUsTUFBTSxNQUFNLENBQUM7QUFDbEMsT0FBTyxFQUFFLGlCQUFpQixFQUFFLE1BQU0sdUJBQXVCLENBQUM7QUFDMUQsT0FBTyxFQUFFLGtCQUFrQixFQUFFLE1BQU0seUJBQXlCLENBQUM7QUFHN0QsTUFBTSxPQUFPLGlCQUFrQixTQUFRLGlCQUFpQjtJQUd0RCxZQUFzQixrQkFBc0MsRUFBWSxNQUFjLEVBQVksTUFBYztRQUM5RyxLQUFLLEVBQUUsQ0FBQztRQURZLHVCQUFrQixHQUFsQixrQkFBa0IsQ0FBb0I7UUFBWSxXQUFNLEdBQU4sTUFBTSxDQUFRO1FBQVksV0FBTSxHQUFOLE1BQU0sQ0FBUTtRQUU5RyxJQUFJLENBQUMsY0FBYyxHQUFHLElBQUksVUFBVSxDQUFVLEdBQUcsQ0FBQyxFQUFFO1lBQ2xELElBQUksQ0FBQyxrQkFBa0IsQ0FBQyxnQkFBZ0IsQ0FBQyxTQUFTLENBQUMsQ0FBQyxlQUF3QixFQUFFLEVBQUU7Z0JBQzlFLElBQUksZUFBZSxFQUFFO29CQUNuQixHQUFHLENBQUMsSUFBSSxDQUFDLElBQUksQ0FBQyxDQUFDO2lCQUNoQjtxQkFBTTtvQkFDTCxJQUFJLE1BQU0sQ0FBQyxlQUFlLEVBQUUsRUFBRTt3QkFDNUIsSUFBSSxDQUFDLGFBQWEsRUFBRSxDQUFDO3FCQUN0Qjt5QkFBTTt3QkFDTCxJQUFJLENBQUMsTUFBTSxDQUFDLEdBQUcsQ0FBQyxHQUFHLEVBQUU7NEJBQ25CLElBQUksQ0FBQyxhQUFhLEVBQUUsQ0FBQzt3QkFDdkIsQ0FBQyxDQUFDLENBQUM7cUJBQ0o7b0JBQ0QsR0FBRyxDQUFDLElBQUksQ0FBQyxLQUFLLENBQUMsQ0FBQztpQkFDakI7WUFDSCxDQUFDLENBQUMsQ0FBQztRQUNMLENBQUMsQ0FBQyxDQUFDO0lBQ0wsQ0FBQztJQUVELGFBQWE7UUFDWCxNQUFNLFdBQVcsR0FBRyxJQUFJLENBQUMsTUFBTSxDQUFDLFdBQVcsQ0FBQyxRQUFRLENBQUMsR0FBRyxDQUFDO1FBQ3pELElBQUksQ0FBQyxNQUFNLENBQUMsYUFBYSxDQUFDLElBQUksQ0FBQyxrQkFBa0IsQ0FBQyxVQUFVLENBQUMsUUFBUSxHQUFHLGVBQWUsR0FBRyxrQkFBa0IsQ0FBQyxXQUFXLENBQUMsQ0FBQyxDQUFDO0lBQzdILENBQUM7SUFFRCxXQUFXLENBQUMsS0FBNkIsRUFBRSxLQUEwQjtRQUNuRSxPQUFPLElBQUksQ0FBQyxjQUFjLENBQUM7SUFDN0IsQ0FBQzs7O1lBL0JGLFVBQVU7OztZQUZGLGtCQUFrQjtZQUhNLE1BQU07WUFEbEIsTUFBTSIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IEluamVjdGFibGUsIE5nWm9uZSB9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xuaW1wb3J0IHsgQWN0aXZhdGVkUm91dGVTbmFwc2hvdCwgUm91dGVyLCBSb3V0ZXJTdGF0ZVNuYXBzaG90IH0gZnJvbSAnQGFuZ3VsYXIvcm91dGVyJztcbmltcG9ydCB7IE9ic2VydmFibGUgfSBmcm9tICdyeGpzJztcbmltcG9ydCB7IEZyb250ZWdnQmFzZUd1YXJkIH0gZnJvbSAnLi9mcm9udGVnZy1iYXNlLWd1YXJkJztcbmltcG9ydCB7IEZyb250ZWdnQXBwU2VydmljZSB9IGZyb20gJy4uL2Zyb250ZWdnLWFwcC5zZXJ2aWNlJztcblxuQEluamVjdGFibGUoKVxuZXhwb3J0IGNsYXNzIEZyb250ZWdnQXV0aEd1YXJkIGV4dGVuZHMgRnJvbnRlZ2dCYXNlR3VhcmQge1xuICBwcml2YXRlIHJlYWRvbmx5IGF1dGhPYnNlcnZhYmxlOiBPYnNlcnZhYmxlPGJvb2xlYW4+O1xuXG4gIGNvbnN0cnVjdG9yKHByb3RlY3RlZCBmcm9udGVnZ0FwcFNlcnZpY2U6IEZyb250ZWdnQXBwU2VydmljZSwgcHJvdGVjdGVkIHJvdXRlcjogUm91dGVyLCBwcm90ZWN0ZWQgbmdab25lOiBOZ1pvbmUpIHtcbiAgICBzdXBlcigpO1xuICAgIHRoaXMuYXV0aE9ic2VydmFibGUgPSBuZXcgT2JzZXJ2YWJsZTxib29sZWFuPihvYnMgPT4ge1xuICAgICAgdGhpcy5mcm9udGVnZ0FwcFNlcnZpY2UuaXNBdXRoZW50aWNhdGVkJC5zdWJzY3JpYmUoKGlzQXV0aGVudGljYXRlZDogYm9vbGVhbikgPT4ge1xuICAgICAgICBpZiAoaXNBdXRoZW50aWNhdGVkKSB7XG4gICAgICAgICAgb2JzLm5leHQodHJ1ZSk7XG4gICAgICAgIH0gZWxzZSB7XG4gICAgICAgICAgaWYgKE5nWm9uZS5pc0luQW5ndWxhclpvbmUoKSkge1xuICAgICAgICAgICAgdGhpcy5uYXZpZ2F0ZVRvVXJsKCk7XG4gICAgICAgICAgfSBlbHNlIHtcbiAgICAgICAgICAgIHRoaXMubmdab25lLnJ1bigoKSA9PiB7XG4gICAgICAgICAgICAgIHRoaXMubmF2aWdhdGVUb1VybCgpO1xuICAgICAgICAgICAgfSk7XG4gICAgICAgICAgfVxuICAgICAgICAgIG9icy5uZXh0KGZhbHNlKTtcbiAgICAgICAgfVxuICAgICAgfSk7XG4gICAgfSk7XG4gIH1cblxuICBuYXZpZ2F0ZVRvVXJsKCk6IHZvaWQge1xuICAgIGNvbnN0IHJlZGlyZWN0VXJsID0gdGhpcy5yb3V0ZXIucm91dGVyU3RhdGUuc25hcHNob3QudXJsO1xuICAgIHRoaXMucm91dGVyLm5hdmlnYXRlQnlVcmwodGhpcy5mcm9udGVnZ0FwcFNlcnZpY2UuYXV0aFJvdXRlcy5sb2dpblVybCArICc/cmVkaXJlY3RVcmw9JyArIGVuY29kZVVSSUNvbXBvbmVudChyZWRpcmVjdFVybCkpO1xuICB9XG5cbiAgY2FuQWN0aXZhdGUocm91dGU6IEFjdGl2YXRlZFJvdXRlU25hcHNob3QsIHN0YXRlOiBSb3V0ZXJTdGF0ZVNuYXBzaG90KTogT2JzZXJ2YWJsZTxib29sZWFuPiB8IFByb21pc2U8Ym9vbGVhbj4gfCBib29sZWFuIHtcbiAgICByZXR1cm4gdGhpcy5hdXRoT2JzZXJ2YWJsZTtcbiAgfVxufVxuIl19
|
|
@@ -1,5 +1,5 @@
|
|
|
1
1
|
import * as i0 from '@angular/core';
|
|
2
|
-
import { Injectable, Component, Inject, Directive, TemplateRef, ViewContainerRef, Input, NgModule } from '@angular/core';
|
|
2
|
+
import { Injectable, Component, Inject, NgZone, Directive, TemplateRef, ViewContainerRef, Input, NgModule } from '@angular/core';
|
|
3
3
|
import * as i1 from '@angular/router';
|
|
4
4
|
import { Router, DefaultUrlSerializer, RouterModule } from '@angular/router';
|
|
5
5
|
import { initialize } from '@frontegg/admin-portal';
|
|
@@ -48,9 +48,10 @@ class FronteggAppOptionsClass {
|
|
|
48
48
|
}
|
|
49
49
|
}
|
|
50
50
|
class FronteggAppService {
|
|
51
|
-
constructor(config, router) {
|
|
51
|
+
constructor(config, router, ngZone) {
|
|
52
52
|
this.config = config;
|
|
53
53
|
this.router = router;
|
|
54
|
+
this.ngZone = ngZone;
|
|
54
55
|
this.isLoadingSubject = new BehaviorSubject(true);
|
|
55
56
|
this.isAuthenticatedSubject = new BehaviorSubject(false);
|
|
56
57
|
this.stateSubject = new BehaviorSubject({});
|
|
@@ -72,12 +73,14 @@ class FronteggAppService {
|
|
|
72
73
|
window.location.href = path;
|
|
73
74
|
}
|
|
74
75
|
else {
|
|
75
|
-
|
|
76
|
-
|
|
77
|
-
|
|
78
|
-
|
|
79
|
-
|
|
80
|
-
|
|
76
|
+
this.ngZone.run(() => {
|
|
77
|
+
if (opts === null || opts === void 0 ? void 0 : opts.replace) {
|
|
78
|
+
this.router.navigateByUrl(path, { replaceUrl: true });
|
|
79
|
+
}
|
|
80
|
+
else {
|
|
81
|
+
this.router.navigateByUrl(path);
|
|
82
|
+
}
|
|
83
|
+
});
|
|
81
84
|
}
|
|
82
85
|
};
|
|
83
86
|
ContextHolder.setOnRedirectTo(onRedirectTo);
|
|
@@ -159,7 +162,7 @@ class FronteggAppService {
|
|
|
159
162
|
(_a = this.fronteggApp) === null || _a === void 0 ? void 0 : _a.hideAdminPortal();
|
|
160
163
|
}
|
|
161
164
|
}
|
|
162
|
-
FronteggAppService.ɵprov = i0.ɵɵdefineInjectable({ factory: function FronteggAppService_Factory() { return new FronteggAppService(i0.ɵɵinject(FronteggAppOptionsClass), i0.ɵɵinject(i1.Router)); }, token: FronteggAppService, providedIn: "root" });
|
|
165
|
+
FronteggAppService.ɵprov = i0.ɵɵdefineInjectable({ factory: function FronteggAppService_Factory() { return new FronteggAppService(i0.ɵɵinject(FronteggAppOptionsClass), i0.ɵɵinject(i1.Router), i0.ɵɵinject(i0.NgZone)); }, token: FronteggAppService, providedIn: "root" });
|
|
163
166
|
FronteggAppService.decorators = [
|
|
164
167
|
{ type: Injectable, args: [{
|
|
165
168
|
providedIn: 'root',
|
|
@@ -167,7 +170,8 @@ FronteggAppService.decorators = [
|
|
|
167
170
|
];
|
|
168
171
|
FronteggAppService.ctorParameters = () => [
|
|
169
172
|
{ type: undefined, decorators: [{ type: Inject, args: [FronteggAppOptionsClass,] }] },
|
|
170
|
-
{ type: Router }
|
|
173
|
+
{ type: Router },
|
|
174
|
+
{ type: NgZone }
|
|
171
175
|
];
|
|
172
176
|
|
|
173
177
|
class FronteggAuthService {
|
|
@@ -472,31 +476,45 @@ class FronteggBaseGuard {
|
|
|
472
476
|
}
|
|
473
477
|
|
|
474
478
|
class FronteggAuthGuard extends FronteggBaseGuard {
|
|
475
|
-
constructor(fronteggAppService, router) {
|
|
479
|
+
constructor(fronteggAppService, router, ngZone) {
|
|
476
480
|
super();
|
|
477
481
|
this.fronteggAppService = fronteggAppService;
|
|
478
482
|
this.router = router;
|
|
479
|
-
|
|
480
|
-
|
|
481
|
-
return new Observable(obs => {
|
|
483
|
+
this.ngZone = ngZone;
|
|
484
|
+
this.authObservable = new Observable(obs => {
|
|
482
485
|
this.fronteggAppService.isAuthenticated$.subscribe((isAuthenticated) => {
|
|
483
486
|
if (isAuthenticated) {
|
|
484
487
|
obs.next(true);
|
|
485
488
|
}
|
|
486
489
|
else {
|
|
487
|
-
|
|
490
|
+
if (NgZone.isInAngularZone()) {
|
|
491
|
+
this.navigateToUrl();
|
|
492
|
+
}
|
|
493
|
+
else {
|
|
494
|
+
this.ngZone.run(() => {
|
|
495
|
+
this.navigateToUrl();
|
|
496
|
+
});
|
|
497
|
+
}
|
|
488
498
|
obs.next(false);
|
|
489
499
|
}
|
|
490
500
|
});
|
|
491
501
|
});
|
|
492
502
|
}
|
|
503
|
+
navigateToUrl() {
|
|
504
|
+
const redirectUrl = this.router.routerState.snapshot.url;
|
|
505
|
+
this.router.navigateByUrl(this.fronteggAppService.authRoutes.loginUrl + '?redirectUrl=' + encodeURIComponent(redirectUrl));
|
|
506
|
+
}
|
|
507
|
+
canActivate(route, state) {
|
|
508
|
+
return this.authObservable;
|
|
509
|
+
}
|
|
493
510
|
}
|
|
494
511
|
FronteggAuthGuard.decorators = [
|
|
495
512
|
{ type: Injectable }
|
|
496
513
|
];
|
|
497
514
|
FronteggAuthGuard.ctorParameters = () => [
|
|
498
515
|
{ type: FronteggAppService },
|
|
499
|
-
{ type: Router }
|
|
516
|
+
{ type: Router },
|
|
517
|
+
{ type: NgZone }
|
|
500
518
|
];
|
|
501
519
|
|
|
502
520
|
class AuthorizedContentDirective {
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"frontegg-angular.js","sources":["../../../../projects/frontegg-app/src/lib/guards/frontegg-load.guard.ts","../../../../projects/frontegg-app/src/lib/frontegg.component.ts","../../../../projects/frontegg-app/src/lib/frontegg-app.service.ts","../../../../projects/frontegg-app/src/lib/frontegg-auth.service.ts","../../../../projects/frontegg-app/src/lib/guards/frontegg-base-guard.ts","../../../../projects/frontegg-app/src/lib/guards/frontegg-auth.guard.ts","../../../../projects/frontegg-app/src/lib/directives/authorized-content.directive.ts","../../../../projects/frontegg-app/src/lib/frontegg-app.module.ts","../../../../projects/frontegg-app/src/public-api.ts","../../../../projects/frontegg-app/src/frontegg-angular.ts"],"sourcesContent":["import { Injectable } from '@angular/core';\nimport { ActivatedRouteSnapshot, CanActivate, Router, RouterStateSnapshot } from '@angular/router';\nimport { Observable } from 'rxjs';\nimport { FronteggAppService } from '../frontegg-app.service';\n\n@Injectable()\nexport class FronteggLoadGuard implements CanActivate {\n constructor(protected fronteggAppService: FronteggAppService) {\n }\n\n canActivate(route: ActivatedRouteSnapshot, state: RouterStateSnapshot): Observable<boolean> | Promise<boolean> | boolean {\n return new Observable<boolean>(obs => {\n this.fronteggAppService.isLoading$.subscribe(loading => {\n if (!loading) {\n obs.next(true);\n }\n });\n });\n }\n}\n","import { Component } from '@angular/core';\n\n\n@Component({\n // tslint:disable-next-line:component-selector\n selector: 'frontegg',\n template: ``,\n})\nexport class FronteggComponent {\n}\n","import { Inject, Injectable } from '@angular/core';\nimport { NavigationStart, Route, Router, RoutesRecognized } from '@angular/router';\nimport { AuthPageRoutes, FronteggState, initialize } from '@frontegg/admin-portal';\nimport { FronteggAppInstance, FronteggAppOptions } from '@frontegg/types';\nimport { BehaviorSubject, Observable } from 'rxjs';\nimport { FronteggLoadGuard } from './guards/frontegg-load.guard';\nimport { ContextHolder, RedirectOptions } from '@frontegg/rest-api';\nimport { FronteggComponent } from './frontegg.component';\n\ntype FronteggApp = FronteggAppInstance & {\n showAdminPortal(): void;\n hideAdminPortal(): void;\n};\n\nexport class FronteggAppOptionsClass implements FronteggAppOptions {\n contextOptions: FronteggAppOptions['contextOptions'] = {\n baseUrl: 'https://david.frontegg.com',\n };\n}\n\n@Injectable({\n providedIn: 'root',\n})\nexport class FronteggAppService {\n fronteggApp: FronteggApp;\n\n private isLoadingSubject = new BehaviorSubject<boolean>(true);\n private isAuthenticatedSubject = new BehaviorSubject<boolean>(false);\n private stateSubject = new BehaviorSubject<FronteggState>({} as FronteggState);\n private authStateSubject = new BehaviorSubject<FronteggState['auth']>({} as FronteggState['auth']);\n private auditsStateSubject = new BehaviorSubject<FronteggState['audits']>({} as FronteggState['audits']);\n private connectivityStateSubject = new BehaviorSubject<FronteggState['connectivity']>({} as FronteggState['connectivity']);\n private subscriptionsStateSubject = new BehaviorSubject<FronteggState['subscriptions']>({} as FronteggState['subscriptions']);\n private vendorStateSubject = new BehaviorSubject<FronteggState['vendor']>({} as FronteggState['vendor']);\n\n\n get state$(): Observable<FronteggState> {\n return this.stateSubject.asObservable();\n }\n\n get authState$(): Observable<FronteggState['auth']> {\n return this.authStateSubject.asObservable();\n }\n\n get auditsState$(): Observable<FronteggState['audits']> {\n return this.auditsStateSubject.asObservable();\n }\n\n get connectivityState$(): Observable<FronteggState['connectivity']> {\n return this.connectivityStateSubject.asObservable();\n }\n\n get subscriptionsState$(): Observable<FronteggState['subscriptions']> {\n return this.subscriptionsStateSubject.asObservable();\n }\n\n get vendorState$(): Observable<FronteggState['vendor']> {\n return this.vendorStateSubject.asObservable();\n }\n\n get isLoading$(): Observable<boolean> {\n return this.isLoadingSubject.asObservable();\n };\n\n\n get isAuthenticated$(): Observable<boolean> {\n return this.isAuthenticatedSubject.asObservable();\n };\n\n constructor(@Inject(FronteggAppOptionsClass) private config: FronteggAppOptions, private router: Router) {\n if (!this.config) {\n throw Error('Need to pass config: FronteggConfigOptions in FronteggAppModule.forRoot(config)');\n }\n\n const onRedirectTo = (to: string, opts?: RedirectOptions) => {\n const baseName = window.location.origin;\n let path = to;\n if (path.startsWith(baseName) && baseName !== '/') {\n path = path.substring(baseName.length - 1);\n }\n\n if (opts?.refresh) {\n window.location.href = path;\n } else {\n if (opts?.replace) {\n this.router.navigateByUrl(path, { replaceUrl: true });\n } else {\n this.router.navigateByUrl(path)\n }\n }\n };\n ContextHolder.setOnRedirectTo(onRedirectTo);\n this.fronteggApp = initialize({\n onRedirectTo,\n ...this.config,\n });\n\n\n // Add all login box routes to Angular router config\n this.router.resetConfig([\n ...this.mapAuthComponents,\n {\n path: '',\n canActivate: [FronteggLoadGuard],\n children: [...this.router.config],\n },\n ]);\n\n // Subscribe on fronteggApp store to change state subjects\n this.fronteggApp.store.subscribe(() => {\n const fronteggStore = this.fronteggApp.store.getState() as FronteggState;\n if (this.isLoadingSubject.getValue() !== fronteggStore.auth.isLoading) {\n this.isLoadingSubject.next(fronteggStore.auth.isLoading);\n }\n if (this.isAuthenticatedSubject.getValue() !== fronteggStore.auth.isAuthenticated) {\n this.isAuthenticatedSubject.next(fronteggStore.auth.isAuthenticated);\n }\n\n this.stateSubject.next(fronteggStore);\n this.authStateSubject.next(fronteggStore.auth);\n this.auditsStateSubject.next(fronteggStore.audits);\n this.connectivityStateSubject.next(fronteggStore.connectivity);\n this.subscriptionsStateSubject.next(fronteggStore.subscriptions);\n this.vendorStateSubject.next(fronteggStore.vendor);\n });\n }\n\n get mapAuthComponents(): Route[] {\n const authRoutes = this.authRoutes;\n return (Object.keys(authRoutes) as (keyof AuthPageRoutes)[])\n .filter((key: keyof AuthPageRoutes) => key !== 'authenticatedUrl' && key !== 'signUpSuccessUrl' && key != null)\n .map((key: keyof AuthPageRoutes) => ({\n path: authRoutes[key]?.substring(1),\n component: FronteggComponent,\n }));\n }\n\n get authRoutes(): AuthPageRoutes {\n return this.fronteggApp.store.getState().auth.routes;\n }\n\n // Open admin portal\n public showAdminPortal(): void {\n this.fronteggApp.showAdminPortal();\n }\n\n // Open admin portal\n public hideAdminPortal(): void {\n this.fronteggApp?.hideAdminPortal();\n }\n}\n","import { Injectable } from '@angular/core';\nimport { BehaviorSubject } from 'rxjs';\nimport { FronteggAppService } from './frontegg-app.service';\nimport FastDeepEqual from 'fast-deep-equal';\nimport {\n RolesState,\n TenantsState,\n AccountSettingsState,\n SaveSecurityPolicyPasswordHistoryPayload,\n SaveSecurityPolicyLockoutPayload,\n SaveSecurityPolicyMfaPayload,\n PasswordPolicyState,\n PasswordHistoryPolicyState,\n MfaPolicyState,\n CaptchaPolicyState,\n LockoutPolicyState,\n PublicPolicyState,\n GlobalPolicyState,\n SecurityPolicyState,\n AddUserApiTokenPayload,\n AddTenantApiTokenPayload,\n ApiTokenType,\n ApiTokensState,\n ApiStateIndicator,\n ISetDeleteUserDialog,\n ISetAddUserDialog,\n LoadRolesAndPermissionsPayload,\n TeamState,\n TeamStateIndicator,\n MFAState,\n SaveSSOConfigurationPayload,\n SSOState,\n ProfileState,\n SaveSSOConfigurationFilePayload,\n UpdateSSOAuthorizationRolesPayload,\n DeleteSamlGroupPayload,\n CreateSamlGroupPayload,\n SaveProfilePayload,\n SignUpState,\n ForgotPasswordState,\n AcceptInvitationState,\n AuthState,\n User,\n authStoreName,\n LoginState,\n ActivateAccountStrategyState,\n EnhancedStore,\n} from '@frontegg/redux-store';\nimport {\n ILogin,\n ILoginWithMfa,\n IPostLogin,\n IPreLogin,\n IRecoverMFAToken,\n IActivateAccount,\n ILoginViaSocialLogin,\n ISetSocialLoginError,\n IResendActivationEmail,\n IGetActivateAccountStrategy,\n IGetActivateAccountStrategyResponse,\n IAcceptInvitation,\n IForgotPassword,\n IResetPassword,\n IGetUserPasswordConfig,\n ISignUpUser,\n IChangePassword,\n IOidcPostLogin,\n IVerifyMfa,\n IDisableMfa,\n ILoadUsers,\n ITeamUser,\n IAddUser,\n IUpdateUser,\n IDeleteUser,\n IResendActivationLink,\n ISettingsResponse,\n ISwitchTenant,\n ITenantsResponse,\n IAddRole,\n IRole,\n IUpdateRole,\n IDeleteRole,\n IAttachPermissionsToRole,\n IResendInvitationLink,\n IRolePermission,\n} from '@frontegg/rest-api';\nimport { ActivateAccountState, SocialLoginState } from '@frontegg/redux-store/auth';\nimport { Observable } from 'rxjs';\n\ninterface AuthSubStates {\n field: Partial<keyof AuthState>;\n subject: BehaviorSubject<any>;\n}\n\nexport type WithCallback<T = {}, R = boolean> = T & {\n callback?: (data: R | null, error?: string) => void;\n};\n\nexport type WithSilentLoad<T> = T & {\n silentLoading?: boolean;\n};\n\n@Injectable({\n providedIn: 'root',\n})\nexport class FronteggAuthService {\n private acceptInvitationStateSubject = new BehaviorSubject<AuthState['acceptInvitationState']>({} as AuthState['acceptInvitationState']);\n private accountSettingsStateSubject = new BehaviorSubject<AuthState['accountSettingsState']>({} as AuthState['accountSettingsState']);\n private activateStateSubject = new BehaviorSubject<AuthState['activateState']>({} as AuthState['activateState']);\n private apiTokensStateSubject = new BehaviorSubject<AuthState['apiTokensState']>({} as AuthState['apiTokensState']);\n private forgotPasswordStateSubject = new BehaviorSubject<AuthState['forgotPasswordState']>({} as AuthState['forgotPasswordState']);\n private loginStateSubject = new BehaviorSubject<AuthState['loginState']>({} as AuthState['loginState']);\n private mfaStateSubject = new BehaviorSubject<AuthState['mfaState']>({} as AuthState['mfaState']);\n private profileStateSubject = new BehaviorSubject<AuthState['profileState']>({} as AuthState['profileState']);\n private rolesStateSubject = new BehaviorSubject<AuthState['rolesState']>({} as AuthState['rolesState']);\n private routesSubject = new BehaviorSubject<AuthState['routes']>({} as AuthState['routes']);\n private securityPolicyStateSubject = new BehaviorSubject<AuthState['securityPolicyState']>({} as AuthState['securityPolicyState']);\n private signUpStateSubject = new BehaviorSubject<AuthState['signUpState']>({} as AuthState['signUpState']);\n private socialLoginStateSubject = new BehaviorSubject<AuthState['socialLoginState']>({} as AuthState['socialLoginState']);\n private ssoStateSubject = new BehaviorSubject<AuthState['ssoState']>({} as AuthState['ssoState']);\n private teamStateSubject = new BehaviorSubject<AuthState['teamState']>({} as AuthState['teamState']);\n private tenantsStateSubject = new BehaviorSubject<AuthState['tenantsState']>({} as AuthState['tenantsState']);\n private userSubject = new BehaviorSubject<AuthState['user']>({} as AuthState['user']);\n private isAuthenticatedSubject = new BehaviorSubject<AuthState['isAuthenticated']>(false);\n private isLoadingSubject = new BehaviorSubject<AuthState['isLoading']>(true);\n private isSSOAuthSubject = new BehaviorSubject<AuthState['isSSOAuth']>(false);\n private ssoACSSubject = new BehaviorSubject<AuthState['ssoACS']>('');\n\n\n get acceptInvitationState$(): Observable<AuthState['acceptInvitationState']> {\n return this.acceptInvitationStateSubject.asObservable();\n }\n\n get accountSettingsState$(): Observable<AuthState['accountSettingsState']> {\n return this.accountSettingsStateSubject.asObservable();\n }\n\n get activateState$(): Observable<AuthState['activateState']> {\n return this.activateStateSubject.asObservable();\n }\n\n get apiTokensState$(): Observable<AuthState['apiTokensState']> {\n return this.apiTokensStateSubject.asObservable();\n }\n\n get forgotPasswordState$(): Observable<AuthState['forgotPasswordState']> {\n return this.forgotPasswordStateSubject.asObservable();\n }\n\n get loginState$(): Observable<AuthState['loginState']> {\n return this.loginStateSubject.asObservable();\n }\n\n get mfaState$(): Observable<AuthState['mfaState']> {\n return this.mfaStateSubject.asObservable();\n }\n\n get profileState$(): Observable<AuthState['profileState']> {\n return this.profileStateSubject.asObservable();\n }\n\n get rolesState$(): Observable<AuthState['rolesState']> {\n return this.rolesStateSubject.asObservable();\n }\n\n get routesState$(): Observable<AuthState['routes']> {\n return this.routesSubject.asObservable();\n }\n\n get securityPolicyState$(): Observable<AuthState['securityPolicyState']> {\n return this.securityPolicyStateSubject.asObservable();\n }\n\n get signUpState$(): Observable<AuthState['signUpState']> {\n return this.signUpStateSubject.asObservable();\n }\n\n get socialLoginState$(): Observable<AuthState['socialLoginState']> {\n return this.socialLoginStateSubject.asObservable();\n }\n\n get ssoState$(): Observable<AuthState['ssoState']> {\n return this.ssoStateSubject.asObservable();\n }\n\n get teamState$(): Observable<AuthState['teamState']> {\n return this.teamStateSubject.asObservable();\n }\n\n get tenantsState$(): Observable<AuthState['tenantsState']> {\n return this.tenantsStateSubject.asObservable();\n }\n\n get user$(): Observable<AuthState['user']> {\n return this.userSubject.asObservable();\n }\n\n get user(): AuthState['user'] {\n return this.fronteggAppService.fronteggApp.store.getState().auth.user;\n }\n\n\n get isAuthenticated$(): Observable<AuthState['isAuthenticated']> {\n return this.isAuthenticatedSubject.asObservable();\n }\n\n get isAuthenticated(): AuthState['isAuthenticated'] {\n return this.fronteggAppService.fronteggApp.store.getState().auth.isAuthenticated;\n }\n\n get isLoading$(): Observable<AuthState['isLoading']> {\n return this.isLoadingSubject.asObservable();\n }\n\n get isSSOAuth$(): Observable<AuthState['isSSOAuth']> {\n return this.isSSOAuthSubject.asObservable();\n }\n\n get ssoACS$(): Observable<AuthState['ssoACS']> {\n return this.ssoACSSubject.asObservable();\n }\n\n constructor(private fronteggAppService: FronteggAppService) {\n const authSubStates: AuthSubStates[] = [\n { field: 'acceptInvitationState', subject: this.acceptInvitationStateSubject },\n { field: 'accountSettingsState', subject: this.accountSettingsStateSubject },\n { field: 'activateState', subject: this.activateStateSubject },\n { field: 'apiTokensState', subject: this.apiTokensStateSubject },\n { field: 'forgotPasswordState', subject: this.forgotPasswordStateSubject },\n { field: 'tenantsState', subject: this.tenantsStateSubject },\n { field: 'loginState', subject: this.loginStateSubject },\n { field: 'mfaState', subject: this.mfaStateSubject },\n { field: 'profileState', subject: this.profileStateSubject },\n { field: 'rolesState', subject: this.rolesStateSubject },\n { field: 'routes', subject: this.routesSubject },\n { field: 'securityPolicyState', subject: this.securityPolicyStateSubject },\n { field: 'signUpState', subject: this.signUpStateSubject },\n { field: 'socialLoginState', subject: this.socialLoginStateSubject },\n { field: 'ssoState', subject: this.ssoStateSubject },\n { field: 'teamState', subject: this.teamStateSubject },\n { field: 'user', subject: this.userSubject },\n { field: 'isSSOAuth', subject: this.isSSOAuthSubject },\n { field: 'ssoACS', subject: this.ssoACSSubject },\n ];\n\n // Memoized Auth State\n this.fronteggAppService.authState$.subscribe((authState) => {\n if (authState != null) {\n for (const authSubState of authSubStates) {\n if (!FastDeepEqual(authSubState.subject.getValue(), authState[authSubState.field])) {\n authSubState.subject.next(authState[authSubState.field]);\n }\n }\n this.isAuthenticatedSubject.next(authState.isAuthenticated);\n this.isLoadingSubject.next(authState.isLoading);\n }\n });\n }\n\n private dispatchAction(type: string, payload?: any): void {\n const store: EnhancedStore = this.fronteggAppService.fronteggApp.store;\n store.dispatch({ type: `${authStoreName}/${type}`, payload });\n }\n\n // Root Actions\n setState = (state: Partial<AuthState>) => this.dispatchAction('setState', state);\n resetState = () => this.dispatchAction('resetState');\n setUser = (user: User) => this.dispatchAction('setUser', user);\n\n // Login Actions\n setLoginState = (state: Partial<LoginState>) => this.dispatchAction('setLoginState', state);\n resetLoginState = () => this.dispatchAction('resetLoginState');\n requestAuthorize = (firstTime?: boolean) => this.dispatchAction('requestAuthorize', firstTime);\n loginWithRedirect = () => this.dispatchAction('requestHostedLoginAuthorize');\n preLogin = (payload: IPreLogin) => this.dispatchAction('preLogin', payload);\n postLogin = (payload: IPostLogin) => this.dispatchAction('postLogin', payload);\n login = (payload: ILogin) => this.dispatchAction('login', payload);\n loginWithMfa = (payload: WithCallback<ILoginWithMfa>) => this.dispatchAction('loginWithMfa', payload);\n recoverMfa = (payload: IRecoverMFAToken) => this.dispatchAction('recoverMfa', payload);\n logout = (callback?: () => void) => this.dispatchAction('logout', callback);\n silentLogout = (callback?: () => void) => this.dispatchAction('silentLogout', callback);\n checkIfAllowToRememberMfaDevice = (payload: { mfaToken: string }) =>\n this.dispatchAction('checkIfAllowToRememberMfaDevice', payload);\n\n // Social Logins Actions\n setSocialLoginsState = (state: Partial<SocialLoginState>) => this.dispatchAction('setSocialLoginsState', state);\n resetSocialLoginsState = () => this.dispatchAction('resetSocialLoginsState');\n loadSocialLoginsConfiguration = () => this.dispatchAction('loadSocialLoginsConfiguration');\n loginViaSocialLogin = (payload: ILoginViaSocialLogin) => this.dispatchAction('loginViaSocialLogin', payload);\n setSocialLoginError = (payload: ISetSocialLoginError) => this.dispatchAction('setSocialLoginError', payload);\n\n // Activate Account Actions\n setActivateState = (state: Partial<ActivateAccountState>) => this.dispatchAction('setActivateState', state);\n resetActivateState = () => this.dispatchAction('resetActivateState');\n setActivateStrategyState = (state: Partial<ActivateAccountStrategyState>) =>\n this.dispatchAction('setActivateStrategyState', state);\n activateAccount = (payload: IActivateAccount) => this.dispatchAction('activateAccount', payload);\n resendActivationEmail = (payload: IResendActivationEmail) => this.dispatchAction('resendActivationEmail', payload);\n getActivateAccountStrategy = (\n payload: WithCallback<IGetActivateAccountStrategy, IGetActivateAccountStrategyResponse>,\n ) => this.dispatchAction('getActivateAccountStrategy', payload);\n\n // Accept Invitation Actions\n setAcceptInvitationState = (state: Partial<AcceptInvitationState>) =>\n this.dispatchAction('setAcceptInvitationState', state);\n resetAcceptInvitationState = () => this.dispatchAction('resetAcceptInvitationState');\n acceptInvitation = (payload: IAcceptInvitation) => this.dispatchAction('acceptInvitation', payload);\n\n // Forgot Password Actions\n setForgotPasswordState = (state: Partial<ForgotPasswordState>) =>\n this.dispatchAction('setForgotPasswordState', state);\n resetForgotPasswordState = () => this.dispatchAction('resetForgotPasswordState');\n forgotPassword = (payload: IForgotPassword) => this.dispatchAction('forgotPassword', payload);\n resetPassword = (payload: IResetPassword) => this.dispatchAction('resetPassword', payload);\n loadPasswordConfig = (payload?: IGetUserPasswordConfig) => this.dispatchAction('loadPasswordConfig', payload);\n\n // Sign Up Actions\n setSignUpState = (state: Partial<SignUpState>) => this.dispatchAction('setSignUpState', state);\n resetSignUpState = () => this.dispatchAction('resetSignUpState');\n signUpUser = (payload: ISignUpUser) => this.dispatchAction('signUpUser', payload);\n resetSignUpStateSoft = () => this.dispatchAction('resetSignUpStateSoft');\n\n // Profile Actions\n setProfileState = (state: Partial<ProfileState>) => this.dispatchAction('setProfileState', state);\n resetProfileState = () => this.dispatchAction('resetProfileState');\n loadProfile = () => this.dispatchAction('loadProfile');\n saveProfile = (payload: SaveProfilePayload) => this.dispatchAction('saveProfile', payload);\n changePassword = (payload: WithCallback<IChangePassword>) => this.dispatchAction('changePassword', payload);\n\n // SSO actions\n setSSOState = (state: Partial<SSOState>) => this.dispatchAction('setSSOState', state);\n resetSSOState = () => this.dispatchAction('resetSSOState');\n loadSSOConfigurations = () => this.dispatchAction('loadSSOConfigurations');\n loadSSOAuthorizationRoles = () => this.dispatchAction('loadSSOAuthorizationRoles');\n saveSSOConfigurations = (payload: SaveSSOConfigurationPayload) =>\n this.dispatchAction('saveSSOConfigurations', payload);\n saveSSOConfigurationsFile = (payload: File[]) => this.dispatchAction('saveSSOConfigurationsFile', payload);\n saveSSOConfigurationsFileWithCallback = (payload: SaveSSOConfigurationFilePayload) =>\n this.dispatchAction('saveSSOConfigurationsFileWithCallback', payload);\n validateSSODomain = (payload?: WithCallback) => this.dispatchAction('validateSSODomain', payload);\n updateSSOAuthorizationRoles = (payload: UpdateSSOAuthorizationRolesPayload) =>\n this.dispatchAction('updateSSOAuthorizationRoles', payload);\n deleteSamlGroup = (payload: DeleteSamlGroupPayload) => this.dispatchAction('deleteSamlGroup', payload);\n createSamlGroup = (payload: CreateSamlGroupPayload) => this.dispatchAction('createSamlGroup', payload);\n oidcPostlogin = (payload: IOidcPostLogin) => this.dispatchAction('oidcPostlogin', payload);\n\n // Mfa actions\n setMfaState = (state: Partial<MFAState>) => this.dispatchAction('setMfaState', state);\n resetMfaState = () => this.dispatchAction('resetMfaState');\n enrollMfa = () => this.dispatchAction('enrollMfa');\n verifyMfa = (payload: WithCallback<IVerifyMfa, string | undefined>) => this.dispatchAction('verifyMfa', payload);\n verifyMfaAfterForce = (payload: WithCallback<ILoginWithMfa, string | undefined>) =>\n this.dispatchAction('verifyMfaAfterForce', payload);\n disableMfa = (payload: WithCallback<IDisableMfa>) => this.dispatchAction('disableMfa', payload);\n\n // Team actions\n setTeamLoader = (payload: TeamStateIndicator) => this.dispatchAction('setTeamLoader', payload);\n setTeamError = (payload: TeamStateIndicator) => this.dispatchAction('setTeamError', payload);\n setTeamState = (payload: Partial<TeamState>) => this.dispatchAction('setTeamState', payload);\n resetTeamState = () => this.dispatchAction('resetTeamState');\n loadUsers = (payload: WithCallback<WithSilentLoad<ILoadUsers>, ITeamUser[]>) =>\n this.dispatchAction('loadUsers', payload);\n loadRoles = (payload?: LoadRolesAndPermissionsPayload) => this.dispatchAction('loadRoles', payload);\n addUser = (payload: WithCallback<IAddUser, ITeamUser>) => this.dispatchAction('addUser', payload);\n updateUser = (payload: WithCallback<IUpdateUser, ITeamUser>) => this.dispatchAction('updateUser', payload);\n deleteUser = (payload: WithCallback<IDeleteUser>) => this.dispatchAction('deleteUser', payload);\n resendActivationLink = (payload: WithCallback<IResendActivationLink>) =>\n this.dispatchAction('resendActivationLink', payload);\n resendInvitationLink = (payload: WithCallback<IResendInvitationLink>) =>\n this.dispatchAction('resendInvitationLink', payload);\n openAddUserDialog = (payload?: ISetAddUserDialog) => this.dispatchAction('openAddUserDialog', payload);\n closeAddUserDialog = (payload?: any) => this.dispatchAction('closeAddUserDialog', payload);\n openDeleteUserDialog = (payload?: ISetDeleteUserDialog) => this.dispatchAction('openDeleteUserDialog', payload);\n closeDeleteUserDialog = (payload?: any) => this.dispatchAction('closeDeleteUserDialog', payload);\n\n // API Token Actions\n setApiTokensLoader = (payload: ApiStateIndicator) => this.dispatchAction('setApiTokensLoader', payload);\n setApiTokensError = (payload: ApiStateIndicator) => this.dispatchAction('setApiTokensError', payload);\n setApiTokensState = (state: Partial<ApiTokensState>) => this.dispatchAction('setApiTokensState', state);\n resetApiTokensState = () => this.dispatchAction('resetApiTokensState');\n loadApiTokens = (payload?: WithSilentLoad<WithCallback>) => this.dispatchAction('loadApiTokens', payload);\n initApiTokensData = (payload: ApiTokenType) => this.dispatchAction('initApiTokensData', payload);\n addTenantApiToken = (payload: AddTenantApiTokenPayload) => this.dispatchAction('addTenantApiToken', payload);\n addUserApiToken = (payload: AddUserApiTokenPayload) => this.dispatchAction('addUserApiToken', payload);\n deleteUserApiToken = (payload: string) => this.dispatchAction('deleteUserApiToken', payload);\n deleteTenantApiToken = (payload: string) => this.dispatchAction('deleteTenantApiToken', payload);\n\n // Security Policy Actions\n setSecurityPolicyState = (state: Partial<SecurityPolicyState>) =>\n this.dispatchAction('setSecurityPolicyState', state);\n setSecurityPolicyGlobalState = (state: Partial<GlobalPolicyState>) =>\n this.dispatchAction('setSecurityPolicyGlobalState', state);\n setSecurityPolicyPublicState = (state: Partial<PublicPolicyState>) =>\n this.dispatchAction('setSecurityPolicyPublicState', state);\n setSecurityPolicyMfaState = (state: Partial<MfaPolicyState>) =>\n this.dispatchAction('setSecurityPolicyMfaState', state);\n setSecurityPolicyLockoutState = (state: Partial<LockoutPolicyState>) =>\n this.dispatchAction('setSecurityPolicyLockoutState', state);\n setSecurityPolicyCaptchaState = (state: Partial<CaptchaPolicyState>) =>\n this.dispatchAction('setSecurityPolicyCaptchaState', state);\n setSecurityPolicyPasswordHistoryState = (state: Partial<PasswordHistoryPolicyState>) =>\n this.dispatchAction('setSecurityPolicyPasswordHistoryState', state);\n resetSecurityPolicyState = () => this.dispatchAction('resetSecurityPolicyState');\n setSecurityPolicyPasswordState = (state: Partial<PasswordPolicyState>) =>\n this.dispatchAction('setSecurityPolicyPasswordState', state);\n loadSecurityPolicy = () => this.dispatchAction('loadSecurityPolicy');\n loadPublicSecurityPolicy = () => this.dispatchAction('loadPublicSecurityPolicy');\n loadVendorPasswordConfig = () => this.dispatchAction('loadVendorPasswordConfig');\n loadSecurityPolicyMfa = () => this.dispatchAction('loadSecurityPolicyMfa');\n saveSecurityPolicyMfa = (payload: SaveSecurityPolicyMfaPayload) =>\n this.dispatchAction('saveSecurityPolicyMfa', payload);\n loadSecurityPolicyLockout = () => this.dispatchAction('loadSecurityPolicyLockout');\n saveSecurityPolicyLockout = (payload: SaveSecurityPolicyLockoutPayload) =>\n this.dispatchAction('saveSecurityPolicyLockout', payload);\n loadSecurityPolicyCaptcha = () => this.dispatchAction('loadSecurityPolicyCaptcha');\n loadSecurityPolicyPasswordHistory = () => this.dispatchAction('loadSecurityPolicyPasswordHistory');\n saveSecurityPolicyPasswordHistory = (payload: SaveSecurityPolicyPasswordHistoryPayload) =>\n this.dispatchAction('saveSecurityPolicyPasswordHistory', payload);\n\n // Account Settings Actions\n setAccountSettingsState = (state: Partial<AccountSettingsState>) =>\n this.dispatchAction('setAccountSettingsState', state);\n resetAccountSettingsState = () => this.dispatchAction('resetAccountSettingsState');\n loadAccountSettings = (payload?: WithCallback<WithSilentLoad<{}>>) =>\n this.dispatchAction('loadAccountSettings', payload);\n saveAccountSettings = (payload: WithCallback<ISettingsResponse, ISettingsResponse>) =>\n this.dispatchAction('saveAccountSettings', payload);\n\n // Tenants Actions\n setTenantsState = (state: Partial<TenantsState>) => this.dispatchAction('setTenantsState', state);\n resetTenantsState = () => this.dispatchAction('resetTenantsState');\n switchTenant = (payload: WithCallback<ISwitchTenant>) => this.dispatchAction('switchTenant', payload);\n loadTenants = (payload?: WithCallback<{}, ITenantsResponse[]>) => this.dispatchAction('loadTenants', payload);\n\n // Roles Actions\n setRolesState = (state: RolesState) => this.dispatchAction('setRolesState', state);\n resetRolesState = () => this.dispatchAction('resetRolesState');\n loadRolesAndPermissions = (payload?: WithSilentLoad<{}>) => this.dispatchAction('loadRolesAndPermissions', payload);\n addRole = (payload: WithCallback<IAddRole, IRole>) => this.dispatchAction('addRole', payload);\n updateRole = (payload: WithCallback<IUpdateRole, IRole>) => this.dispatchAction('updateRole', payload);\n deleteRole = (payload: WithCallback<IDeleteRole>) => this.dispatchAction('deleteRole', payload);\n attachPermissionsToRole = (payload: WithCallback<IAttachPermissionsToRole, IRole>) =>\n this.dispatchAction('attachPermissionsToRole', payload);\n\n attachPermissionToRoles = (\n payload: WithCallback<{\n permissionId: string;\n roleIds: string[];\n },\n IRolePermission>,\n ) => this.dispatchAction('attachPermissionToRoles', payload);\n}\n","import { ActivatedRouteSnapshot, CanActivate, DefaultUrlSerializer, Router, RouterStateSnapshot, UrlSerializer, UrlTree } from '@angular/router';\nimport { Observable } from 'rxjs';\n\nexport abstract class FronteggBaseGuard implements UrlSerializer, CanActivate {\n\n abstract canActivate(route: ActivatedRouteSnapshot, state: RouterStateSnapshot)\n : Observable<boolean | UrlTree> | Promise<boolean | UrlTree> | boolean | UrlTree;\n\n parse(url: any): UrlTree {\n const dus = new DefaultUrlSerializer();\n return dus.parse(url);\n }\n\n serialize(tree: UrlTree): any {\n const dus = new DefaultUrlSerializer();\n\n return dus\n .serialize(tree)\n .replace(/%40/gi, '@')\n .replace(/%3A/gi, ':')\n .replace(/%24/gi, '$')\n .replace(/%2C/gi, ',')\n .replace(/%3B/gi, ';')\n .replace(/%2B/gi, '+')\n .replace(/%3D/gi, '=')\n .replace(/%3F/gi, '?')\n .replace(/%2F/gi, '/')\n .replace(/(https?):\\/([\\w\\d])/gi, '$1://$2');\n }\n}\n","import { Injectable } from '@angular/core';\nimport { ActivatedRouteSnapshot, Router, RouterStateSnapshot } from '@angular/router';\nimport { Observable } from 'rxjs';\nimport { FronteggBaseGuard } from './frontegg-base-guard';\nimport { FronteggAppService } from '../frontegg-app.service';\n\n@Injectable()\nexport class FronteggAuthGuard extends FronteggBaseGuard {\n constructor(protected fronteggAppService: FronteggAppService, protected router: Router) {\n super();\n }\n\n canActivate(route: ActivatedRouteSnapshot, state: RouterStateSnapshot): Observable<boolean> | Promise<boolean> | boolean {\n return new Observable<boolean>(obs => {\n this.fronteggAppService.isAuthenticated$.subscribe((isAuthenticated: boolean) => {\n if (isAuthenticated) {\n obs.next(true);\n } else {\n this.router.navigateByUrl(this.fronteggAppService.authRoutes.loginUrl + '?redirectUrl=' + encodeURIComponent(state.url));\n obs.next(false);\n }\n });\n });\n }\n}\n","import {\n AfterContentInit,\n Directive,\n Input,\n TemplateRef,\n ViewContainerRef,\n } from '@angular/core';\n import { FronteggAuthService } from '../frontegg-auth.service';\n \n @Directive({\n selector: '[authorizedContent]',\n })\n export class AuthorizedContentDirective implements AfterContentInit {\n private _roles: string[] = [];\n \n constructor(\n private templateRef: TemplateRef<any>,\n private viewContainer: ViewContainerRef,\n private fronteggAuthService: FronteggAuthService\n ) {}\n \n @Input()\n set authorizedContent(roles: string[]) {\n this._roles = roles;\n }\n \n ngAfterContentInit() {\n this.fronteggAuthService.user$.subscribe((user) => {\n if (user?.roles?.some((role) => this._roles.includes(role.name))) {\n this.viewContainer.createEmbeddedView(this.templateRef);\n } else {\n this.viewContainer.clear();\n }\n });\n }\n }\n ","import { ModuleWithProviders, NgModule } from '@angular/core';\nimport { CommonModule } from '@angular/common';\nimport { RouterModule } from '@angular/router';\nimport { FronteggAppOptions } from '@frontegg/types';\nimport { FronteggAppOptionsClass, FronteggAppService } from './frontegg-app.service';\nimport { FronteggComponent } from './frontegg.component';\nimport { FronteggLoadGuard } from './guards/frontegg-load.guard';\nimport { FronteggAuthGuard } from './guards/frontegg-auth.guard';\nimport { FronteggAuthService } from './frontegg-auth.service';\nimport { AuthorizedContentDirective } from './directives/authorized-content.directive';\n\n@NgModule({\n imports: [CommonModule, RouterModule],\n declarations: [FronteggComponent, AuthorizedContentDirective],\n exports: [FronteggComponent, AuthorizedContentDirective],\n})\nexport class FronteggAppModule {\n static forRoot(config: FronteggAppOptions): ModuleWithProviders<FronteggAppModule> {\n return {\n ngModule: FronteggAppModule,\n providers: [\n FronteggAppService,\n FronteggAuthGuard,\n FronteggLoadGuard,\n FronteggAuthService,\n {\n provide: FronteggAppOptionsClass,\n useValue: config,\n },\n ],\n };\n }\n}\n","/*\n * Public API Surface of frontegg-app\n */\n\nexport { FronteggAppService } from './lib/frontegg-app.service';\nexport { FronteggAuthService } from './lib/frontegg-auth.service';\nexport { FronteggComponent } from './lib/frontegg.component';\nexport { FronteggAppModule } from './lib/frontegg-app.module';\nexport * from './lib/directives/authorized-content.directive';\nexport * from './lib/guards/frontegg-auth.guard';\nexport * from './lib/guards/frontegg-load.guard';\n","/**\n * Generated bundle index. Do not edit.\n */\n\nexport * from './public-api';\n\nexport {FronteggAppOptionsClass as ɵa} from './lib/frontegg-app.service';\nexport {FronteggBaseGuard as ɵb} from './lib/guards/frontegg-base-guard';"],"names":[],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"frontegg-angular.js","sources":["../../../../projects/frontegg-app/src/lib/guards/frontegg-load.guard.ts","../../../../projects/frontegg-app/src/lib/frontegg.component.ts","../../../../projects/frontegg-app/src/lib/frontegg-app.service.ts","../../../../projects/frontegg-app/src/lib/frontegg-auth.service.ts","../../../../projects/frontegg-app/src/lib/guards/frontegg-base-guard.ts","../../../../projects/frontegg-app/src/lib/guards/frontegg-auth.guard.ts","../../../../projects/frontegg-app/src/lib/directives/authorized-content.directive.ts","../../../../projects/frontegg-app/src/lib/frontegg-app.module.ts","../../../../projects/frontegg-app/src/public-api.ts","../../../../projects/frontegg-app/src/frontegg-angular.ts"],"sourcesContent":["import { Injectable } from '@angular/core';\nimport { ActivatedRouteSnapshot, CanActivate, Router, RouterStateSnapshot } from '@angular/router';\nimport { Observable } from 'rxjs';\nimport { FronteggAppService } from '../frontegg-app.service';\n\n@Injectable()\nexport class FronteggLoadGuard implements CanActivate {\n constructor(protected fronteggAppService: FronteggAppService) {\n }\n\n canActivate(route: ActivatedRouteSnapshot, state: RouterStateSnapshot): Observable<boolean> | Promise<boolean> | boolean {\n return new Observable<boolean>(obs => {\n this.fronteggAppService.isLoading$.subscribe(loading => {\n if (!loading) {\n obs.next(true);\n }\n });\n });\n }\n}\n","import { Component } from '@angular/core';\n\n\n@Component({\n // tslint:disable-next-line:component-selector\n selector: 'frontegg',\n template: ``,\n})\nexport class FronteggComponent {\n}\n","import { Inject, Injectable, NgZone } from '@angular/core';\nimport { NavigationStart, Route, Router, RoutesRecognized } from '@angular/router';\nimport { AuthPageRoutes, FronteggState, initialize } from '@frontegg/admin-portal';\nimport { FronteggAppInstance, FronteggAppOptions } from '@frontegg/types';\nimport { BehaviorSubject, Observable } from 'rxjs';\nimport { FronteggLoadGuard } from './guards/frontegg-load.guard';\nimport { ContextHolder, RedirectOptions } from '@frontegg/rest-api';\nimport { FronteggComponent } from './frontegg.component';\n\ntype FronteggApp = FronteggAppInstance & {\n showAdminPortal(): void;\n hideAdminPortal(): void;\n};\n\nexport class FronteggAppOptionsClass implements FronteggAppOptions {\n contextOptions: FronteggAppOptions['contextOptions'] = {\n baseUrl: 'https://david.frontegg.com',\n };\n}\n\n@Injectable({\n providedIn: 'root',\n})\nexport class FronteggAppService {\n fronteggApp: FronteggApp;\n\n private isLoadingSubject = new BehaviorSubject<boolean>(true);\n private isAuthenticatedSubject = new BehaviorSubject<boolean>(false);\n private stateSubject = new BehaviorSubject<FronteggState>({} as FronteggState);\n private authStateSubject = new BehaviorSubject<FronteggState['auth']>({} as FronteggState['auth']);\n private auditsStateSubject = new BehaviorSubject<FronteggState['audits']>({} as FronteggState['audits']);\n private connectivityStateSubject = new BehaviorSubject<FronteggState['connectivity']>({} as FronteggState['connectivity']);\n private subscriptionsStateSubject = new BehaviorSubject<FronteggState['subscriptions']>({} as FronteggState['subscriptions']);\n private vendorStateSubject = new BehaviorSubject<FronteggState['vendor']>({} as FronteggState['vendor']);\n\n\n get state$(): Observable<FronteggState> {\n return this.stateSubject.asObservable();\n }\n\n get authState$(): Observable<FronteggState['auth']> {\n return this.authStateSubject.asObservable();\n }\n\n get auditsState$(): Observable<FronteggState['audits']> {\n return this.auditsStateSubject.asObservable();\n }\n\n get connectivityState$(): Observable<FronteggState['connectivity']> {\n return this.connectivityStateSubject.asObservable();\n }\n\n get subscriptionsState$(): Observable<FronteggState['subscriptions']> {\n return this.subscriptionsStateSubject.asObservable();\n }\n\n get vendorState$(): Observable<FronteggState['vendor']> {\n return this.vendorStateSubject.asObservable();\n }\n\n get isLoading$(): Observable<boolean> {\n return this.isLoadingSubject.asObservable();\n };\n\n\n get isAuthenticated$(): Observable<boolean> {\n return this.isAuthenticatedSubject.asObservable();\n };\n\n constructor(@Inject(FronteggAppOptionsClass) private config: FronteggAppOptions, private router: Router, private ngZone: NgZone) {\n if (!this.config) {\n throw Error('Need to pass config: FronteggConfigOptions in FronteggAppModule.forRoot(config)');\n }\n\n const onRedirectTo = (to: string, opts?: RedirectOptions) => {\n const baseName = window.location.origin;\n let path = to;\n if (path.startsWith(baseName) && baseName !== '/') {\n path = path.substring(baseName.length - 1);\n }\n\n if (opts?.refresh) {\n window.location.href = path;\n } else {\n this.ngZone.run(() => {\n if (opts?.replace) {\n this.router.navigateByUrl(path, { replaceUrl: true });\n } else {\n this.router.navigateByUrl(path);\n }\n });\n }\n };\n ContextHolder.setOnRedirectTo(onRedirectTo);\n this.fronteggApp = initialize({\n onRedirectTo,\n ...this.config,\n });\n\n\n // Add all login box routes to Angular router config\n this.router.resetConfig([\n ...this.mapAuthComponents,\n {\n path: '',\n canActivate: [FronteggLoadGuard],\n children: [...this.router.config],\n },\n ]);\n\n // Subscribe on fronteggApp store to change state subjects\n this.fronteggApp.store.subscribe(() => {\n const fronteggStore = this.fronteggApp.store.getState() as FronteggState;\n if (this.isLoadingSubject.getValue() !== fronteggStore.auth.isLoading) {\n this.isLoadingSubject.next(fronteggStore.auth.isLoading);\n }\n if (this.isAuthenticatedSubject.getValue() !== fronteggStore.auth.isAuthenticated) {\n this.isAuthenticatedSubject.next(fronteggStore.auth.isAuthenticated);\n }\n\n this.stateSubject.next(fronteggStore);\n this.authStateSubject.next(fronteggStore.auth);\n this.auditsStateSubject.next(fronteggStore.audits);\n this.connectivityStateSubject.next(fronteggStore.connectivity);\n this.subscriptionsStateSubject.next(fronteggStore.subscriptions);\n this.vendorStateSubject.next(fronteggStore.vendor);\n });\n }\n\n get mapAuthComponents(): Route[] {\n const authRoutes = this.authRoutes;\n return (Object.keys(authRoutes) as (keyof AuthPageRoutes)[])\n .filter((key: keyof AuthPageRoutes) => key !== 'authenticatedUrl' && key !== 'signUpSuccessUrl' && key != null)\n .map((key: keyof AuthPageRoutes) => ({\n path: authRoutes[key]?.substring(1),\n component: FronteggComponent,\n }));\n }\n\n get authRoutes(): AuthPageRoutes {\n return this.fronteggApp.store.getState().auth.routes;\n }\n\n // Open admin portal\n public showAdminPortal(): void {\n this.fronteggApp.showAdminPortal();\n }\n\n // Open admin portal\n public hideAdminPortal(): void {\n this.fronteggApp?.hideAdminPortal();\n }\n}\n","import { Injectable } from '@angular/core';\nimport { BehaviorSubject } from 'rxjs';\nimport { FronteggAppService } from './frontegg-app.service';\nimport FastDeepEqual from 'fast-deep-equal';\nimport {\n RolesState,\n TenantsState,\n AccountSettingsState,\n SaveSecurityPolicyPasswordHistoryPayload,\n SaveSecurityPolicyLockoutPayload,\n SaveSecurityPolicyMfaPayload,\n PasswordPolicyState,\n PasswordHistoryPolicyState,\n MfaPolicyState,\n CaptchaPolicyState,\n LockoutPolicyState,\n PublicPolicyState,\n GlobalPolicyState,\n SecurityPolicyState,\n AddUserApiTokenPayload,\n AddTenantApiTokenPayload,\n ApiTokenType,\n ApiTokensState,\n ApiStateIndicator,\n ISetDeleteUserDialog,\n ISetAddUserDialog,\n LoadRolesAndPermissionsPayload,\n TeamState,\n TeamStateIndicator,\n MFAState,\n SaveSSOConfigurationPayload,\n SSOState,\n ProfileState,\n SaveSSOConfigurationFilePayload,\n UpdateSSOAuthorizationRolesPayload,\n DeleteSamlGroupPayload,\n CreateSamlGroupPayload,\n SaveProfilePayload,\n SignUpState,\n ForgotPasswordState,\n AcceptInvitationState,\n AuthState,\n User,\n authStoreName,\n LoginState,\n ActivateAccountStrategyState,\n EnhancedStore,\n} from '@frontegg/redux-store';\nimport {\n ILogin,\n ILoginWithMfa,\n IPostLogin,\n IPreLogin,\n IRecoverMFAToken,\n IActivateAccount,\n ILoginViaSocialLogin,\n ISetSocialLoginError,\n IResendActivationEmail,\n IGetActivateAccountStrategy,\n IGetActivateAccountStrategyResponse,\n IAcceptInvitation,\n IForgotPassword,\n IResetPassword,\n IGetUserPasswordConfig,\n ISignUpUser,\n IChangePassword,\n IOidcPostLogin,\n IVerifyMfa,\n IDisableMfa,\n ILoadUsers,\n ITeamUser,\n IAddUser,\n IUpdateUser,\n IDeleteUser,\n IResendActivationLink,\n ISettingsResponse,\n ISwitchTenant,\n ITenantsResponse,\n IAddRole,\n IRole,\n IUpdateRole,\n IDeleteRole,\n IAttachPermissionsToRole,\n IResendInvitationLink,\n IRolePermission,\n} from '@frontegg/rest-api';\nimport { ActivateAccountState, SocialLoginState } from '@frontegg/redux-store/auth';\nimport { Observable } from 'rxjs';\n\ninterface AuthSubStates {\n field: Partial<keyof AuthState>;\n subject: BehaviorSubject<any>;\n}\n\nexport type WithCallback<T = {}, R = boolean> = T & {\n callback?: (data: R | null, error?: string) => void;\n};\n\nexport type WithSilentLoad<T> = T & {\n silentLoading?: boolean;\n};\n\n@Injectable({\n providedIn: 'root',\n})\nexport class FronteggAuthService {\n private acceptInvitationStateSubject = new BehaviorSubject<AuthState['acceptInvitationState']>({} as AuthState['acceptInvitationState']);\n private accountSettingsStateSubject = new BehaviorSubject<AuthState['accountSettingsState']>({} as AuthState['accountSettingsState']);\n private activateStateSubject = new BehaviorSubject<AuthState['activateState']>({} as AuthState['activateState']);\n private apiTokensStateSubject = new BehaviorSubject<AuthState['apiTokensState']>({} as AuthState['apiTokensState']);\n private forgotPasswordStateSubject = new BehaviorSubject<AuthState['forgotPasswordState']>({} as AuthState['forgotPasswordState']);\n private loginStateSubject = new BehaviorSubject<AuthState['loginState']>({} as AuthState['loginState']);\n private mfaStateSubject = new BehaviorSubject<AuthState['mfaState']>({} as AuthState['mfaState']);\n private profileStateSubject = new BehaviorSubject<AuthState['profileState']>({} as AuthState['profileState']);\n private rolesStateSubject = new BehaviorSubject<AuthState['rolesState']>({} as AuthState['rolesState']);\n private routesSubject = new BehaviorSubject<AuthState['routes']>({} as AuthState['routes']);\n private securityPolicyStateSubject = new BehaviorSubject<AuthState['securityPolicyState']>({} as AuthState['securityPolicyState']);\n private signUpStateSubject = new BehaviorSubject<AuthState['signUpState']>({} as AuthState['signUpState']);\n private socialLoginStateSubject = new BehaviorSubject<AuthState['socialLoginState']>({} as AuthState['socialLoginState']);\n private ssoStateSubject = new BehaviorSubject<AuthState['ssoState']>({} as AuthState['ssoState']);\n private teamStateSubject = new BehaviorSubject<AuthState['teamState']>({} as AuthState['teamState']);\n private tenantsStateSubject = new BehaviorSubject<AuthState['tenantsState']>({} as AuthState['tenantsState']);\n private userSubject = new BehaviorSubject<AuthState['user']>({} as AuthState['user']);\n private isAuthenticatedSubject = new BehaviorSubject<AuthState['isAuthenticated']>(false);\n private isLoadingSubject = new BehaviorSubject<AuthState['isLoading']>(true);\n private isSSOAuthSubject = new BehaviorSubject<AuthState['isSSOAuth']>(false);\n private ssoACSSubject = new BehaviorSubject<AuthState['ssoACS']>('');\n\n\n get acceptInvitationState$(): Observable<AuthState['acceptInvitationState']> {\n return this.acceptInvitationStateSubject.asObservable();\n }\n\n get accountSettingsState$(): Observable<AuthState['accountSettingsState']> {\n return this.accountSettingsStateSubject.asObservable();\n }\n\n get activateState$(): Observable<AuthState['activateState']> {\n return this.activateStateSubject.asObservable();\n }\n\n get apiTokensState$(): Observable<AuthState['apiTokensState']> {\n return this.apiTokensStateSubject.asObservable();\n }\n\n get forgotPasswordState$(): Observable<AuthState['forgotPasswordState']> {\n return this.forgotPasswordStateSubject.asObservable();\n }\n\n get loginState$(): Observable<AuthState['loginState']> {\n return this.loginStateSubject.asObservable();\n }\n\n get mfaState$(): Observable<AuthState['mfaState']> {\n return this.mfaStateSubject.asObservable();\n }\n\n get profileState$(): Observable<AuthState['profileState']> {\n return this.profileStateSubject.asObservable();\n }\n\n get rolesState$(): Observable<AuthState['rolesState']> {\n return this.rolesStateSubject.asObservable();\n }\n\n get routesState$(): Observable<AuthState['routes']> {\n return this.routesSubject.asObservable();\n }\n\n get securityPolicyState$(): Observable<AuthState['securityPolicyState']> {\n return this.securityPolicyStateSubject.asObservable();\n }\n\n get signUpState$(): Observable<AuthState['signUpState']> {\n return this.signUpStateSubject.asObservable();\n }\n\n get socialLoginState$(): Observable<AuthState['socialLoginState']> {\n return this.socialLoginStateSubject.asObservable();\n }\n\n get ssoState$(): Observable<AuthState['ssoState']> {\n return this.ssoStateSubject.asObservable();\n }\n\n get teamState$(): Observable<AuthState['teamState']> {\n return this.teamStateSubject.asObservable();\n }\n\n get tenantsState$(): Observable<AuthState['tenantsState']> {\n return this.tenantsStateSubject.asObservable();\n }\n\n get user$(): Observable<AuthState['user']> {\n return this.userSubject.asObservable();\n }\n\n get user(): AuthState['user'] {\n return this.fronteggAppService.fronteggApp.store.getState().auth.user;\n }\n\n\n get isAuthenticated$(): Observable<AuthState['isAuthenticated']> {\n return this.isAuthenticatedSubject.asObservable();\n }\n\n get isAuthenticated(): AuthState['isAuthenticated'] {\n return this.fronteggAppService.fronteggApp.store.getState().auth.isAuthenticated;\n }\n\n get isLoading$(): Observable<AuthState['isLoading']> {\n return this.isLoadingSubject.asObservable();\n }\n\n get isSSOAuth$(): Observable<AuthState['isSSOAuth']> {\n return this.isSSOAuthSubject.asObservable();\n }\n\n get ssoACS$(): Observable<AuthState['ssoACS']> {\n return this.ssoACSSubject.asObservable();\n }\n\n constructor(private fronteggAppService: FronteggAppService) {\n const authSubStates: AuthSubStates[] = [\n { field: 'acceptInvitationState', subject: this.acceptInvitationStateSubject },\n { field: 'accountSettingsState', subject: this.accountSettingsStateSubject },\n { field: 'activateState', subject: this.activateStateSubject },\n { field: 'apiTokensState', subject: this.apiTokensStateSubject },\n { field: 'forgotPasswordState', subject: this.forgotPasswordStateSubject },\n { field: 'tenantsState', subject: this.tenantsStateSubject },\n { field: 'loginState', subject: this.loginStateSubject },\n { field: 'mfaState', subject: this.mfaStateSubject },\n { field: 'profileState', subject: this.profileStateSubject },\n { field: 'rolesState', subject: this.rolesStateSubject },\n { field: 'routes', subject: this.routesSubject },\n { field: 'securityPolicyState', subject: this.securityPolicyStateSubject },\n { field: 'signUpState', subject: this.signUpStateSubject },\n { field: 'socialLoginState', subject: this.socialLoginStateSubject },\n { field: 'ssoState', subject: this.ssoStateSubject },\n { field: 'teamState', subject: this.teamStateSubject },\n { field: 'user', subject: this.userSubject },\n { field: 'isSSOAuth', subject: this.isSSOAuthSubject },\n { field: 'ssoACS', subject: this.ssoACSSubject },\n ];\n\n // Memoized Auth State\n this.fronteggAppService.authState$.subscribe((authState) => {\n if (authState != null) {\n for (const authSubState of authSubStates) {\n if (!FastDeepEqual(authSubState.subject.getValue(), authState[authSubState.field])) {\n authSubState.subject.next(authState[authSubState.field]);\n }\n }\n this.isAuthenticatedSubject.next(authState.isAuthenticated);\n this.isLoadingSubject.next(authState.isLoading);\n }\n });\n }\n\n private dispatchAction(type: string, payload?: any): void {\n const store: EnhancedStore = this.fronteggAppService.fronteggApp.store;\n store.dispatch({ type: `${authStoreName}/${type}`, payload });\n }\n\n // Root Actions\n setState = (state: Partial<AuthState>) => this.dispatchAction('setState', state);\n resetState = () => this.dispatchAction('resetState');\n setUser = (user: User) => this.dispatchAction('setUser', user);\n\n // Login Actions\n setLoginState = (state: Partial<LoginState>) => this.dispatchAction('setLoginState', state);\n resetLoginState = () => this.dispatchAction('resetLoginState');\n requestAuthorize = (firstTime?: boolean) => this.dispatchAction('requestAuthorize', firstTime);\n loginWithRedirect = () => this.dispatchAction('requestHostedLoginAuthorize');\n preLogin = (payload: IPreLogin) => this.dispatchAction('preLogin', payload);\n postLogin = (payload: IPostLogin) => this.dispatchAction('postLogin', payload);\n login = (payload: ILogin) => this.dispatchAction('login', payload);\n loginWithMfa = (payload: WithCallback<ILoginWithMfa>) => this.dispatchAction('loginWithMfa', payload);\n recoverMfa = (payload: IRecoverMFAToken) => this.dispatchAction('recoverMfa', payload);\n logout = (callback?: () => void) => this.dispatchAction('logout', callback);\n silentLogout = (callback?: () => void) => this.dispatchAction('silentLogout', callback);\n checkIfAllowToRememberMfaDevice = (payload: { mfaToken: string }) =>\n this.dispatchAction('checkIfAllowToRememberMfaDevice', payload);\n\n // Social Logins Actions\n setSocialLoginsState = (state: Partial<SocialLoginState>) => this.dispatchAction('setSocialLoginsState', state);\n resetSocialLoginsState = () => this.dispatchAction('resetSocialLoginsState');\n loadSocialLoginsConfiguration = () => this.dispatchAction('loadSocialLoginsConfiguration');\n loginViaSocialLogin = (payload: ILoginViaSocialLogin) => this.dispatchAction('loginViaSocialLogin', payload);\n setSocialLoginError = (payload: ISetSocialLoginError) => this.dispatchAction('setSocialLoginError', payload);\n\n // Activate Account Actions\n setActivateState = (state: Partial<ActivateAccountState>) => this.dispatchAction('setActivateState', state);\n resetActivateState = () => this.dispatchAction('resetActivateState');\n setActivateStrategyState = (state: Partial<ActivateAccountStrategyState>) =>\n this.dispatchAction('setActivateStrategyState', state);\n activateAccount = (payload: IActivateAccount) => this.dispatchAction('activateAccount', payload);\n resendActivationEmail = (payload: IResendActivationEmail) => this.dispatchAction('resendActivationEmail', payload);\n getActivateAccountStrategy = (\n payload: WithCallback<IGetActivateAccountStrategy, IGetActivateAccountStrategyResponse>,\n ) => this.dispatchAction('getActivateAccountStrategy', payload);\n\n // Accept Invitation Actions\n setAcceptInvitationState = (state: Partial<AcceptInvitationState>) =>\n this.dispatchAction('setAcceptInvitationState', state);\n resetAcceptInvitationState = () => this.dispatchAction('resetAcceptInvitationState');\n acceptInvitation = (payload: IAcceptInvitation) => this.dispatchAction('acceptInvitation', payload);\n\n // Forgot Password Actions\n setForgotPasswordState = (state: Partial<ForgotPasswordState>) =>\n this.dispatchAction('setForgotPasswordState', state);\n resetForgotPasswordState = () => this.dispatchAction('resetForgotPasswordState');\n forgotPassword = (payload: IForgotPassword) => this.dispatchAction('forgotPassword', payload);\n resetPassword = (payload: IResetPassword) => this.dispatchAction('resetPassword', payload);\n loadPasswordConfig = (payload?: IGetUserPasswordConfig) => this.dispatchAction('loadPasswordConfig', payload);\n\n // Sign Up Actions\n setSignUpState = (state: Partial<SignUpState>) => this.dispatchAction('setSignUpState', state);\n resetSignUpState = () => this.dispatchAction('resetSignUpState');\n signUpUser = (payload: ISignUpUser) => this.dispatchAction('signUpUser', payload);\n resetSignUpStateSoft = () => this.dispatchAction('resetSignUpStateSoft');\n\n // Profile Actions\n setProfileState = (state: Partial<ProfileState>) => this.dispatchAction('setProfileState', state);\n resetProfileState = () => this.dispatchAction('resetProfileState');\n loadProfile = () => this.dispatchAction('loadProfile');\n saveProfile = (payload: SaveProfilePayload) => this.dispatchAction('saveProfile', payload);\n changePassword = (payload: WithCallback<IChangePassword>) => this.dispatchAction('changePassword', payload);\n\n // SSO actions\n setSSOState = (state: Partial<SSOState>) => this.dispatchAction('setSSOState', state);\n resetSSOState = () => this.dispatchAction('resetSSOState');\n loadSSOConfigurations = () => this.dispatchAction('loadSSOConfigurations');\n loadSSOAuthorizationRoles = () => this.dispatchAction('loadSSOAuthorizationRoles');\n saveSSOConfigurations = (payload: SaveSSOConfigurationPayload) =>\n this.dispatchAction('saveSSOConfigurations', payload);\n saveSSOConfigurationsFile = (payload: File[]) => this.dispatchAction('saveSSOConfigurationsFile', payload);\n saveSSOConfigurationsFileWithCallback = (payload: SaveSSOConfigurationFilePayload) =>\n this.dispatchAction('saveSSOConfigurationsFileWithCallback', payload);\n validateSSODomain = (payload?: WithCallback) => this.dispatchAction('validateSSODomain', payload);\n updateSSOAuthorizationRoles = (payload: UpdateSSOAuthorizationRolesPayload) =>\n this.dispatchAction('updateSSOAuthorizationRoles', payload);\n deleteSamlGroup = (payload: DeleteSamlGroupPayload) => this.dispatchAction('deleteSamlGroup', payload);\n createSamlGroup = (payload: CreateSamlGroupPayload) => this.dispatchAction('createSamlGroup', payload);\n oidcPostlogin = (payload: IOidcPostLogin) => this.dispatchAction('oidcPostlogin', payload);\n\n // Mfa actions\n setMfaState = (state: Partial<MFAState>) => this.dispatchAction('setMfaState', state);\n resetMfaState = () => this.dispatchAction('resetMfaState');\n enrollMfa = () => this.dispatchAction('enrollMfa');\n verifyMfa = (payload: WithCallback<IVerifyMfa, string | undefined>) => this.dispatchAction('verifyMfa', payload);\n verifyMfaAfterForce = (payload: WithCallback<ILoginWithMfa, string | undefined>) =>\n this.dispatchAction('verifyMfaAfterForce', payload);\n disableMfa = (payload: WithCallback<IDisableMfa>) => this.dispatchAction('disableMfa', payload);\n\n // Team actions\n setTeamLoader = (payload: TeamStateIndicator) => this.dispatchAction('setTeamLoader', payload);\n setTeamError = (payload: TeamStateIndicator) => this.dispatchAction('setTeamError', payload);\n setTeamState = (payload: Partial<TeamState>) => this.dispatchAction('setTeamState', payload);\n resetTeamState = () => this.dispatchAction('resetTeamState');\n loadUsers = (payload: WithCallback<WithSilentLoad<ILoadUsers>, ITeamUser[]>) =>\n this.dispatchAction('loadUsers', payload);\n loadRoles = (payload?: LoadRolesAndPermissionsPayload) => this.dispatchAction('loadRoles', payload);\n addUser = (payload: WithCallback<IAddUser, ITeamUser>) => this.dispatchAction('addUser', payload);\n updateUser = (payload: WithCallback<IUpdateUser, ITeamUser>) => this.dispatchAction('updateUser', payload);\n deleteUser = (payload: WithCallback<IDeleteUser>) => this.dispatchAction('deleteUser', payload);\n resendActivationLink = (payload: WithCallback<IResendActivationLink>) =>\n this.dispatchAction('resendActivationLink', payload);\n resendInvitationLink = (payload: WithCallback<IResendInvitationLink>) =>\n this.dispatchAction('resendInvitationLink', payload);\n openAddUserDialog = (payload?: ISetAddUserDialog) => this.dispatchAction('openAddUserDialog', payload);\n closeAddUserDialog = (payload?: any) => this.dispatchAction('closeAddUserDialog', payload);\n openDeleteUserDialog = (payload?: ISetDeleteUserDialog) => this.dispatchAction('openDeleteUserDialog', payload);\n closeDeleteUserDialog = (payload?: any) => this.dispatchAction('closeDeleteUserDialog', payload);\n\n // API Token Actions\n setApiTokensLoader = (payload: ApiStateIndicator) => this.dispatchAction('setApiTokensLoader', payload);\n setApiTokensError = (payload: ApiStateIndicator) => this.dispatchAction('setApiTokensError', payload);\n setApiTokensState = (state: Partial<ApiTokensState>) => this.dispatchAction('setApiTokensState', state);\n resetApiTokensState = () => this.dispatchAction('resetApiTokensState');\n loadApiTokens = (payload?: WithSilentLoad<WithCallback>) => this.dispatchAction('loadApiTokens', payload);\n initApiTokensData = (payload: ApiTokenType) => this.dispatchAction('initApiTokensData', payload);\n addTenantApiToken = (payload: AddTenantApiTokenPayload) => this.dispatchAction('addTenantApiToken', payload);\n addUserApiToken = (payload: AddUserApiTokenPayload) => this.dispatchAction('addUserApiToken', payload);\n deleteUserApiToken = (payload: string) => this.dispatchAction('deleteUserApiToken', payload);\n deleteTenantApiToken = (payload: string) => this.dispatchAction('deleteTenantApiToken', payload);\n\n // Security Policy Actions\n setSecurityPolicyState = (state: Partial<SecurityPolicyState>) =>\n this.dispatchAction('setSecurityPolicyState', state);\n setSecurityPolicyGlobalState = (state: Partial<GlobalPolicyState>) =>\n this.dispatchAction('setSecurityPolicyGlobalState', state);\n setSecurityPolicyPublicState = (state: Partial<PublicPolicyState>) =>\n this.dispatchAction('setSecurityPolicyPublicState', state);\n setSecurityPolicyMfaState = (state: Partial<MfaPolicyState>) =>\n this.dispatchAction('setSecurityPolicyMfaState', state);\n setSecurityPolicyLockoutState = (state: Partial<LockoutPolicyState>) =>\n this.dispatchAction('setSecurityPolicyLockoutState', state);\n setSecurityPolicyCaptchaState = (state: Partial<CaptchaPolicyState>) =>\n this.dispatchAction('setSecurityPolicyCaptchaState', state);\n setSecurityPolicyPasswordHistoryState = (state: Partial<PasswordHistoryPolicyState>) =>\n this.dispatchAction('setSecurityPolicyPasswordHistoryState', state);\n resetSecurityPolicyState = () => this.dispatchAction('resetSecurityPolicyState');\n setSecurityPolicyPasswordState = (state: Partial<PasswordPolicyState>) =>\n this.dispatchAction('setSecurityPolicyPasswordState', state);\n loadSecurityPolicy = () => this.dispatchAction('loadSecurityPolicy');\n loadPublicSecurityPolicy = () => this.dispatchAction('loadPublicSecurityPolicy');\n loadVendorPasswordConfig = () => this.dispatchAction('loadVendorPasswordConfig');\n loadSecurityPolicyMfa = () => this.dispatchAction('loadSecurityPolicyMfa');\n saveSecurityPolicyMfa = (payload: SaveSecurityPolicyMfaPayload) =>\n this.dispatchAction('saveSecurityPolicyMfa', payload);\n loadSecurityPolicyLockout = () => this.dispatchAction('loadSecurityPolicyLockout');\n saveSecurityPolicyLockout = (payload: SaveSecurityPolicyLockoutPayload) =>\n this.dispatchAction('saveSecurityPolicyLockout', payload);\n loadSecurityPolicyCaptcha = () => this.dispatchAction('loadSecurityPolicyCaptcha');\n loadSecurityPolicyPasswordHistory = () => this.dispatchAction('loadSecurityPolicyPasswordHistory');\n saveSecurityPolicyPasswordHistory = (payload: SaveSecurityPolicyPasswordHistoryPayload) =>\n this.dispatchAction('saveSecurityPolicyPasswordHistory', payload);\n\n // Account Settings Actions\n setAccountSettingsState = (state: Partial<AccountSettingsState>) =>\n this.dispatchAction('setAccountSettingsState', state);\n resetAccountSettingsState = () => this.dispatchAction('resetAccountSettingsState');\n loadAccountSettings = (payload?: WithCallback<WithSilentLoad<{}>>) =>\n this.dispatchAction('loadAccountSettings', payload);\n saveAccountSettings = (payload: WithCallback<ISettingsResponse, ISettingsResponse>) =>\n this.dispatchAction('saveAccountSettings', payload);\n\n // Tenants Actions\n setTenantsState = (state: Partial<TenantsState>) => this.dispatchAction('setTenantsState', state);\n resetTenantsState = () => this.dispatchAction('resetTenantsState');\n switchTenant = (payload: WithCallback<ISwitchTenant>) => this.dispatchAction('switchTenant', payload);\n loadTenants = (payload?: WithCallback<{}, ITenantsResponse[]>) => this.dispatchAction('loadTenants', payload);\n\n // Roles Actions\n setRolesState = (state: RolesState) => this.dispatchAction('setRolesState', state);\n resetRolesState = () => this.dispatchAction('resetRolesState');\n loadRolesAndPermissions = (payload?: WithSilentLoad<{}>) => this.dispatchAction('loadRolesAndPermissions', payload);\n addRole = (payload: WithCallback<IAddRole, IRole>) => this.dispatchAction('addRole', payload);\n updateRole = (payload: WithCallback<IUpdateRole, IRole>) => this.dispatchAction('updateRole', payload);\n deleteRole = (payload: WithCallback<IDeleteRole>) => this.dispatchAction('deleteRole', payload);\n attachPermissionsToRole = (payload: WithCallback<IAttachPermissionsToRole, IRole>) =>\n this.dispatchAction('attachPermissionsToRole', payload);\n\n attachPermissionToRoles = (\n payload: WithCallback<{\n permissionId: string;\n roleIds: string[];\n },\n IRolePermission>,\n ) => this.dispatchAction('attachPermissionToRoles', payload);\n}\n","import { ActivatedRouteSnapshot, CanActivate, DefaultUrlSerializer, Router, RouterStateSnapshot, UrlSerializer, UrlTree } from '@angular/router';\nimport { Observable } from 'rxjs';\n\nexport abstract class FronteggBaseGuard implements UrlSerializer, CanActivate {\n\n abstract canActivate(route: ActivatedRouteSnapshot, state: RouterStateSnapshot)\n : Observable<boolean | UrlTree> | Promise<boolean | UrlTree> | boolean | UrlTree;\n\n parse(url: any): UrlTree {\n const dus = new DefaultUrlSerializer();\n return dus.parse(url);\n }\n\n serialize(tree: UrlTree): any {\n const dus = new DefaultUrlSerializer();\n\n return dus\n .serialize(tree)\n .replace(/%40/gi, '@')\n .replace(/%3A/gi, ':')\n .replace(/%24/gi, '$')\n .replace(/%2C/gi, ',')\n .replace(/%3B/gi, ';')\n .replace(/%2B/gi, '+')\n .replace(/%3D/gi, '=')\n .replace(/%3F/gi, '?')\n .replace(/%2F/gi, '/')\n .replace(/(https?):\\/([\\w\\d])/gi, '$1://$2');\n }\n}\n","import { Injectable, NgZone } from '@angular/core';\nimport { ActivatedRouteSnapshot, Router, RouterStateSnapshot } from '@angular/router';\nimport { Observable } from 'rxjs';\nimport { FronteggBaseGuard } from './frontegg-base-guard';\nimport { FronteggAppService } from '../frontegg-app.service';\n\n@Injectable()\nexport class FronteggAuthGuard extends FronteggBaseGuard {\n private readonly authObservable: Observable<boolean>;\n\n constructor(protected fronteggAppService: FronteggAppService, protected router: Router, protected ngZone: NgZone) {\n super();\n this.authObservable = new Observable<boolean>(obs => {\n this.fronteggAppService.isAuthenticated$.subscribe((isAuthenticated: boolean) => {\n if (isAuthenticated) {\n obs.next(true);\n } else {\n if (NgZone.isInAngularZone()) {\n this.navigateToUrl();\n } else {\n this.ngZone.run(() => {\n this.navigateToUrl();\n });\n }\n obs.next(false);\n }\n });\n });\n }\n\n navigateToUrl(): void {\n const redirectUrl = this.router.routerState.snapshot.url;\n this.router.navigateByUrl(this.fronteggAppService.authRoutes.loginUrl + '?redirectUrl=' + encodeURIComponent(redirectUrl));\n }\n\n canActivate(route: ActivatedRouteSnapshot, state: RouterStateSnapshot): Observable<boolean> | Promise<boolean> | boolean {\n return this.authObservable;\n }\n}\n","import {\n AfterContentInit,\n Directive,\n Input,\n TemplateRef,\n ViewContainerRef,\n } from '@angular/core';\n import { FronteggAuthService } from '../frontegg-auth.service';\n \n @Directive({\n selector: '[authorizedContent]',\n })\n export class AuthorizedContentDirective implements AfterContentInit {\n private _roles: string[] = [];\n \n constructor(\n private templateRef: TemplateRef<any>,\n private viewContainer: ViewContainerRef,\n private fronteggAuthService: FronteggAuthService\n ) {}\n \n @Input()\n set authorizedContent(roles: string[]) {\n this._roles = roles;\n }\n \n ngAfterContentInit() {\n this.fronteggAuthService.user$.subscribe((user) => {\n if (user?.roles?.some((role) => this._roles.includes(role.name))) {\n this.viewContainer.createEmbeddedView(this.templateRef);\n } else {\n this.viewContainer.clear();\n }\n });\n }\n }\n ","import { ModuleWithProviders, NgModule } from '@angular/core';\nimport { CommonModule } from '@angular/common';\nimport { RouterModule } from '@angular/router';\nimport { FronteggAppOptions } from '@frontegg/types';\nimport { FronteggAppOptionsClass, FronteggAppService } from './frontegg-app.service';\nimport { FronteggComponent } from './frontegg.component';\nimport { FronteggLoadGuard } from './guards/frontegg-load.guard';\nimport { FronteggAuthGuard } from './guards/frontegg-auth.guard';\nimport { FronteggAuthService } from './frontegg-auth.service';\nimport { AuthorizedContentDirective } from './directives/authorized-content.directive';\n\n@NgModule({\n imports: [CommonModule, RouterModule],\n declarations: [FronteggComponent, AuthorizedContentDirective],\n exports: [FronteggComponent, AuthorizedContentDirective],\n})\nexport class FronteggAppModule {\n static forRoot(config: FronteggAppOptions): ModuleWithProviders<FronteggAppModule> {\n return {\n ngModule: FronteggAppModule,\n providers: [\n FronteggAppService,\n FronteggAuthGuard,\n FronteggLoadGuard,\n FronteggAuthService,\n {\n provide: FronteggAppOptionsClass,\n useValue: config,\n },\n ],\n };\n }\n}\n","/*\n * Public API Surface of frontegg-app\n */\n\nexport { FronteggAppService } from './lib/frontegg-app.service';\nexport { FronteggAuthService } from './lib/frontegg-auth.service';\nexport { FronteggComponent } from './lib/frontegg.component';\nexport { FronteggAppModule } from './lib/frontegg-app.module';\nexport * from './lib/directives/authorized-content.directive';\nexport * from './lib/guards/frontegg-auth.guard';\nexport * from './lib/guards/frontegg-load.guard';\n","/**\n * Generated bundle index. Do not edit.\n */\n\nexport * from './public-api';\n\nexport {FronteggAppOptionsClass as ɵa} from './lib/frontegg-app.service';\nexport {FronteggBaseGuard as ɵb} from './lib/guards/frontegg-base-guard';"],"names":[],"mappings":";;;;;;;;;;;MAMa,iBAAiB;IAC5B,YAAsB,kBAAsC;QAAtC,uBAAkB,GAAlB,kBAAkB,CAAoB;KAC3D;IAED,WAAW,CAAC,KAA6B,EAAE,KAA0B;QACnE,OAAO,IAAI,UAAU,CAAU,GAAG;YAChC,IAAI,CAAC,kBAAkB,CAAC,UAAU,CAAC,SAAS,CAAC,OAAO;gBAClD,IAAI,CAAC,OAAO,EAAE;oBACZ,GAAG,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;iBAChB;aACF,CAAC,CAAC;SACJ,CAAC,CAAC;KACJ;;;YAbF,UAAU;;;YAFF,kBAAkB;;;MCKd,iBAAiB;;;YAL7B,SAAS,SAAC;;gBAET,QAAQ,EAAE,UAAU;gBACpB,QAAQ,EAAE,EAAE;aACb;;;MCOY,uBAAuB;IAApC;QACE,mBAAc,GAAyC;YACrD,OAAO,EAAE,4BAA4B;SACtC,CAAC;KACH;CAAA;MAKY,kBAAkB;IA8C7B,YAAqD,MAA0B,EAAU,MAAc,EAAU,MAAc;QAA1E,WAAM,GAAN,MAAM,CAAoB;QAAU,WAAM,GAAN,MAAM,CAAQ;QAAU,WAAM,GAAN,MAAM,CAAQ;QA3CvH,qBAAgB,GAAG,IAAI,eAAe,CAAU,IAAI,CAAC,CAAC;QACtD,2BAAsB,GAAG,IAAI,eAAe,CAAU,KAAK,CAAC,CAAC;QAC7D,iBAAY,GAAG,IAAI,eAAe,CAAgB,EAAmB,CAAC,CAAC;QACvE,qBAAgB,GAAG,IAAI,eAAe,CAAwB,EAA2B,CAAC,CAAC;QAC3F,uBAAkB,GAAG,IAAI,eAAe,CAA0B,EAA6B,CAAC,CAAC;QACjG,6BAAwB,GAAG,IAAI,eAAe,CAAgC,EAAmC,CAAC,CAAC;QACnH,8BAAyB,GAAG,IAAI,eAAe,CAAiC,EAAoC,CAAC,CAAC;QACtH,uBAAkB,GAAG,IAAI,eAAe,CAA0B,EAA6B,CAAC,CAAC;QAqCvG,IAAI,CAAC,IAAI,CAAC,MAAM,EAAE;YAChB,MAAM,KAAK,CAAC,iFAAiF,CAAC,CAAC;SAChG;QAED,MAAM,YAAY,GAAG,CAAC,EAAU,EAAE,IAAsB;YACtD,MAAM,QAAQ,GAAG,MAAM,CAAC,QAAQ,CAAC,MAAM,CAAC;YACxC,IAAI,IAAI,GAAG,EAAE,CAAC;YACd,IAAI,IAAI,CAAC,UAAU,CAAC,QAAQ,CAAC,IAAI,QAAQ,KAAK,GAAG,EAAE;gBACjD,IAAI,GAAG,IAAI,CAAC,SAAS,CAAC,QAAQ,CAAC,MAAM,GAAG,CAAC,CAAC,CAAC;aAC5C;YAED,IAAI,IAAI,aAAJ,IAAI,uBAAJ,IAAI,CAAE,OAAO,EAAE;gBACjB,MAAM,CAAC,QAAQ,CAAC,IAAI,GAAG,IAAI,CAAC;aAC7B;iBAAM;gBACL,IAAI,CAAC,MAAM,CAAC,GAAG,CAAC;oBACd,IAAI,IAAI,aAAJ,IAAI,uBAAJ,IAAI,CAAE,OAAO,EAAE;wBACjB,IAAI,CAAC,MAAM,CAAC,aAAa,CAAC,IAAI,EAAE,EAAE,UAAU,EAAE,IAAI,EAAE,CAAC,CAAC;qBACvD;yBAAM;wBACL,IAAI,CAAC,MAAM,CAAC,aAAa,CAAC,IAAI,CAAC,CAAC;qBACjC;iBACF,CAAC,CAAC;aACJ;SACF,CAAC;QACF,aAAa,CAAC,eAAe,CAAC,YAAY,CAAC,CAAC;QAC5C,IAAI,CAAC,WAAW,GAAG,UAAU,iBAC3B,YAAY,IACT,IAAI,CAAC,MAAM,EACd,CAAC;;QAIH,IAAI,CAAC,MAAM,CAAC,WAAW,CAAC;YACtB,GAAG,IAAI,CAAC,iBAAiB;YACzB;gBACE,IAAI,EAAE,EAAE;gBACR,WAAW,EAAE,CAAC,iBAAiB,CAAC;gBAChC,QAAQ,EAAE,CAAC,GAAG,IAAI,CAAC,MAAM,CAAC,MAAM,CAAC;aAClC;SACF,CAAC,CAAC;;QAGH,IAAI,CAAC,WAAW,CAAC,KAAK,CAAC,SAAS,CAAC;YAC/B,MAAM,aAAa,GAAG,IAAI,CAAC,WAAW,CAAC,KAAK,CAAC,QAAQ,EAAmB,CAAC;YACzE,IAAI,IAAI,CAAC,gBAAgB,CAAC,QAAQ,EAAE,KAAK,aAAa,CAAC,IAAI,CAAC,SAAS,EAAE;gBACrE,IAAI,CAAC,gBAAgB,CAAC,IAAI,CAAC,aAAa,CAAC,IAAI,CAAC,SAAS,CAAC,CAAC;aAC1D;YACD,IAAI,IAAI,CAAC,sBAAsB,CAAC,QAAQ,EAAE,KAAK,aAAa,CAAC,IAAI,CAAC,eAAe,EAAE;gBACjF,IAAI,CAAC,sBAAsB,CAAC,IAAI,CAAC,aAAa,CAAC,IAAI,CAAC,eAAe,CAAC,CAAC;aACtE;YAED,IAAI,CAAC,YAAY,CAAC,IAAI,CAAC,aAAa,CAAC,CAAC;YACtC,IAAI,CAAC,gBAAgB,CAAC,IAAI,CAAC,aAAa,CAAC,IAAI,CAAC,CAAC;YAC/C,IAAI,CAAC,kBAAkB,CAAC,IAAI,CAAC,aAAa,CAAC,MAAM,CAAC,CAAC;YACnD,IAAI,CAAC,wBAAwB,CAAC,IAAI,CAAC,aAAa,CAAC,YAAY,CAAC,CAAC;YAC/D,IAAI,CAAC,yBAAyB,CAAC,IAAI,CAAC,aAAa,CAAC,aAAa,CAAC,CAAC;YACjE,IAAI,CAAC,kBAAkB,CAAC,IAAI,CAAC,aAAa,CAAC,MAAM,CAAC,CAAC;SACpD,CAAC,CAAC;KACJ;IA3FD,IAAI,MAAM;QACR,OAAO,IAAI,CAAC,YAAY,CAAC,YAAY,EAAE,CAAC;KACzC;IAED,IAAI,UAAU;QACZ,OAAO,IAAI,CAAC,gBAAgB,CAAC,YAAY,EAAE,CAAC;KAC7C;IAED,IAAI,YAAY;QACd,OAAO,IAAI,CAAC,kBAAkB,CAAC,YAAY,EAAE,CAAC;KAC/C;IAED,IAAI,kBAAkB;QACpB,OAAO,IAAI,CAAC,wBAAwB,CAAC,YAAY,EAAE,CAAC;KACrD;IAED,IAAI,mBAAmB;QACrB,OAAO,IAAI,CAAC,yBAAyB,CAAC,YAAY,EAAE,CAAC;KACtD;IAED,IAAI,YAAY;QACd,OAAO,IAAI,CAAC,kBAAkB,CAAC,YAAY,EAAE,CAAC;KAC/C;IAED,IAAI,UAAU;QACZ,OAAO,IAAI,CAAC,gBAAgB,CAAC,YAAY,EAAE,CAAC;KAC7C;;IAGD,IAAI,gBAAgB;QAClB,OAAO,IAAI,CAAC,sBAAsB,CAAC,YAAY,EAAE,CAAC;KACnD;;IA8DD,IAAI,iBAAiB;QACnB,MAAM,UAAU,GAAG,IAAI,CAAC,UAAU,CAAC;QACnC,OAAQ,MAAM,CAAC,IAAI,CAAC,UAAU,CAA8B;aACzD,MAAM,CAAC,CAAC,GAAyB,KAAK,GAAG,KAAK,kBAAkB,IAAI,GAAG,KAAK,kBAAkB,IAAI,GAAG,IAAI,IAAI,CAAC;aAC9G,GAAG,CAAC,CAAC,GAAyB;;YAAK,QAAC;gBACnC,IAAI,EAAE,MAAA,UAAU,CAAC,GAAG,CAAC,0CAAE,SAAS,CAAC,CAAC,CAAC;gBACnC,SAAS,EAAE,iBAAiB;aAC7B,EAAC;SAAA,CAAC,CAAC;KACP;IAED,IAAI,UAAU;QACZ,OAAO,IAAI,CAAC,WAAW,CAAC,KAAK,CAAC,QAAQ,EAAE,CAAC,IAAI,CAAC,MAAM,CAAC;KACtD;;IAGM,eAAe;QACpB,IAAI,CAAC,WAAW,CAAC,eAAe,EAAE,CAAC;KACpC;;IAGM,eAAe;;QACpB,MAAA,IAAI,CAAC,WAAW,0CAAE,eAAe,EAAE,CAAC;KACrC;;;;YAnIF,UAAU,SAAC;gBACV,UAAU,EAAE,MAAM;aACnB;;;4CA+Cc,MAAM,SAAC,uBAAuB;YApEZ,MAAM;YADV,MAAM;;;MCyGtB,mBAAmB;IAqH9B,YAAoB,kBAAsC;QAAtC,uBAAkB,GAAlB,kBAAkB,CAAoB;QApHlD,iCAA4B,GAAG,IAAI,eAAe,CAAqC,EAAwC,CAAC,CAAC;QACjI,gCAA2B,GAAG,IAAI,eAAe,CAAoC,EAAuC,CAAC,CAAC;QAC9H,yBAAoB,GAAG,IAAI,eAAe,CAA6B,EAAgC,CAAC,CAAC;QACzG,0BAAqB,GAAG,IAAI,eAAe,CAA8B,EAAiC,CAAC,CAAC;QAC5G,+BAA0B,GAAG,IAAI,eAAe,CAAmC,EAAsC,CAAC,CAAC;QAC3H,sBAAiB,GAAG,IAAI,eAAe,CAA0B,EAA6B,CAAC,CAAC;QAChG,oBAAe,GAAG,IAAI,eAAe,CAAwB,EAA2B,CAAC,CAAC;QAC1F,wBAAmB,GAAG,IAAI,eAAe,CAA4B,EAA+B,CAAC,CAAC;QACtG,sBAAiB,GAAG,IAAI,eAAe,CAA0B,EAA6B,CAAC,CAAC;QAChG,kBAAa,GAAG,IAAI,eAAe,CAAsB,EAAyB,CAAC,CAAC;QACpF,+BAA0B,GAAG,IAAI,eAAe,CAAmC,EAAsC,CAAC,CAAC;QAC3H,uBAAkB,GAAG,IAAI,eAAe,CAA2B,EAA8B,CAAC,CAAC;QACnG,4BAAuB,GAAG,IAAI,eAAe,CAAgC,EAAmC,CAAC,CAAC;QAClH,oBAAe,GAAG,IAAI,eAAe,CAAwB,EAA2B,CAAC,CAAC;QAC1F,qBAAgB,GAAG,IAAI,eAAe,CAAyB,EAA4B,CAAC,CAAC;QAC7F,wBAAmB,GAAG,IAAI,eAAe,CAA4B,EAA+B,CAAC,CAAC;QACtG,gBAAW,GAAG,IAAI,eAAe,CAAoB,EAAuB,CAAC,CAAC;QAC9E,2BAAsB,GAAG,IAAI,eAAe,CAA+B,KAAK,CAAC,CAAC;QAClF,qBAAgB,GAAG,IAAI,eAAe,CAAyB,IAAI,CAAC,CAAC;QACrE,qBAAgB,GAAG,IAAI,eAAe,CAAyB,KAAK,CAAC,CAAC;QACtE,kBAAa,GAAG,IAAI,eAAe,CAAsB,EAAE,CAAC,CAAC;;QA2IrE,aAAQ,GAAG,CAAC,KAAyB,KAAK,IAAI,CAAC,cAAc,CAAC,UAAU,EAAE,KAAK,CAAC,CAAC;QACjF,eAAU,GAAG,MAAM,IAAI,CAAC,cAAc,CAAC,YAAY,CAAC,CAAC;QACrD,YAAO,GAAG,CAAC,IAAU,KAAK,IAAI,CAAC,cAAc,CAAC,SAAS,EAAE,IAAI,CAAC,CAAC;;QAG/D,kBAAa,GAAG,CAAC,KAA0B,KAAK,IAAI,CAAC,cAAc,CAAC,eAAe,EAAE,KAAK,CAAC,CAAC;QAC5F,oBAAe,GAAG,MAAM,IAAI,CAAC,cAAc,CAAC,iBAAiB,CAAC,CAAC;QAC/D,qBAAgB,GAAG,CAAC,SAAmB,KAAK,IAAI,CAAC,cAAc,CAAC,kBAAkB,EAAE,SAAS,CAAC,CAAC;QAC/F,sBAAiB,GAAG,MAAM,IAAI,CAAC,cAAc,CAAC,6BAA6B,CAAC,CAAC;QAC7E,aAAQ,GAAG,CAAC,OAAkB,KAAK,IAAI,CAAC,cAAc,CAAC,UAAU,EAAE,OAAO,CAAC,CAAC;QAC5E,cAAS,GAAG,CAAC,OAAmB,KAAK,IAAI,CAAC,cAAc,CAAC,WAAW,EAAE,OAAO,CAAC,CAAC;QAC/E,UAAK,GAAG,CAAC,OAAe,KAAK,IAAI,CAAC,cAAc,CAAC,OAAO,EAAE,OAAO,CAAC,CAAC;QACnE,iBAAY,GAAG,CAAC,OAAoC,KAAK,IAAI,CAAC,cAAc,CAAC,cAAc,EAAE,OAAO,CAAC,CAAC;QACtG,eAAU,GAAG,CAAC,OAAyB,KAAK,IAAI,CAAC,cAAc,CAAC,YAAY,EAAE,OAAO,CAAC,CAAC;QACvF,WAAM,GAAG,CAAC,QAAqB,KAAK,IAAI,CAAC,cAAc,CAAC,QAAQ,EAAE,QAAQ,CAAC,CAAC;QAC5E,iBAAY,GAAG,CAAC,QAAqB,KAAK,IAAI,CAAC,cAAc,CAAC,cAAc,EAAE,QAAQ,CAAC,CAAC;QACxF,oCAA+B,GAAG,CAAC,OAA6B,KAC9D,IAAI,CAAC,cAAc,CAAC,iCAAiC,EAAE,OAAO,CAAC,CAAC;;QAGlE,yBAAoB,GAAG,CAAC,KAAgC,KAAK,IAAI,CAAC,cAAc,CAAC,sBAAsB,EAAE,KAAK,CAAC,CAAC;QAChH,2BAAsB,GAAG,MAAM,IAAI,CAAC,cAAc,CAAC,wBAAwB,CAAC,CAAC;QAC7E,kCAA6B,GAAG,MAAM,IAAI,CAAC,cAAc,CAAC,+BAA+B,CAAC,CAAC;QAC3F,wBAAmB,GAAG,CAAC,OAA6B,KAAK,IAAI,CAAC,cAAc,CAAC,qBAAqB,EAAE,OAAO,CAAC,CAAC;QAC7G,wBAAmB,GAAG,CAAC,OAA6B,KAAK,IAAI,CAAC,cAAc,CAAC,qBAAqB,EAAE,OAAO,CAAC,CAAC;;QAG7G,qBAAgB,GAAG,CAAC,KAAoC,KAAK,IAAI,CAAC,cAAc,CAAC,kBAAkB,EAAE,KAAK,CAAC,CAAC;QAC5G,uBAAkB,GAAG,MAAM,IAAI,CAAC,cAAc,CAAC,oBAAoB,CAAC,CAAC;QACrE,6BAAwB,GAAG,CAAC,KAA4C,KACtE,IAAI,CAAC,cAAc,CAAC,0BAA0B,EAAE,KAAK,CAAC,CAAC;QACzD,oBAAe,GAAG,CAAC,OAAyB,KAAK,IAAI,CAAC,cAAc,CAAC,iBAAiB,EAAE,OAAO,CAAC,CAAC;QACjG,0BAAqB,GAAG,CAAC,OAA+B,KAAK,IAAI,CAAC,cAAc,CAAC,uBAAuB,EAAE,OAAO,CAAC,CAAC;QACnH,+BAA0B,GAAG,CAC3B,OAAuF,KACpF,IAAI,CAAC,cAAc,CAAC,4BAA4B,EAAE,OAAO,CAAC,CAAC;;QAGhE,6BAAwB,GAAG,CAAC,KAAqC,KAC/D,IAAI,CAAC,cAAc,CAAC,0BAA0B,EAAE,KAAK,CAAC,CAAC;QACzD,+BAA0B,GAAG,MAAM,IAAI,CAAC,cAAc,CAAC,4BAA4B,CAAC,CAAC;QACrF,qBAAgB,GAAG,CAAC,OAA0B,KAAK,IAAI,CAAC,cAAc,CAAC,kBAAkB,EAAE,OAAO,CAAC,CAAC;;QAGpG,2BAAsB,GAAG,CAAC,KAAmC,KAC3D,IAAI,CAAC,cAAc,CAAC,wBAAwB,EAAE,KAAK,CAAC,CAAC;QACvD,6BAAwB,GAAG,MAAM,IAAI,CAAC,cAAc,CAAC,0BAA0B,CAAC,CAAC;QACjF,mBAAc,GAAG,CAAC,OAAwB,KAAK,IAAI,CAAC,cAAc,CAAC,gBAAgB,EAAE,OAAO,CAAC,CAAC;QAC9F,kBAAa,GAAG,CAAC,OAAuB,KAAK,IAAI,CAAC,cAAc,CAAC,eAAe,EAAE,OAAO,CAAC,CAAC;QAC3F,uBAAkB,GAAG,CAAC,OAAgC,KAAK,IAAI,CAAC,cAAc,CAAC,oBAAoB,EAAE,OAAO,CAAC,CAAC;;QAG9G,mBAAc,GAAG,CAAC,KAA2B,KAAK,IAAI,CAAC,cAAc,CAAC,gBAAgB,EAAE,KAAK,CAAC,CAAC;QAC/F,qBAAgB,GAAG,MAAM,IAAI,CAAC,cAAc,CAAC,kBAAkB,CAAC,CAAC;QACjE,eAAU,GAAG,CAAC,OAAoB,KAAK,IAAI,CAAC,cAAc,CAAC,YAAY,EAAE,OAAO,CAAC,CAAC;QAClF,yBAAoB,GAAG,MAAM,IAAI,CAAC,cAAc,CAAC,sBAAsB,CAAC,CAAC;;QAGzE,oBAAe,GAAG,CAAC,KAA4B,KAAK,IAAI,CAAC,cAAc,CAAC,iBAAiB,EAAE,KAAK,CAAC,CAAC;QAClG,sBAAiB,GAAG,MAAM,IAAI,CAAC,cAAc,CAAC,mBAAmB,CAAC,CAAC;QACnE,gBAAW,GAAG,MAAM,IAAI,CAAC,cAAc,CAAC,aAAa,CAAC,CAAC;QACvD,gBAAW,GAAG,CAAC,OAA2B,KAAK,IAAI,CAAC,cAAc,CAAC,aAAa,EAAE,OAAO,CAAC,CAAC;QAC3F,mBAAc,GAAG,CAAC,OAAsC,KAAK,IAAI,CAAC,cAAc,CAAC,gBAAgB,EAAE,OAAO,CAAC,CAAC;;QAG5G,gBAAW,GAAG,CAAC,KAAwB,KAAK,IAAI,CAAC,cAAc,CAAC,aAAa,EAAE,KAAK,CAAC,CAAC;QACtF,kBAAa,GAAG,MAAM,IAAI,CAAC,cAAc,CAAC,eAAe,CAAC,CAAC;QAC3D,0BAAqB,GAAG,MAAM,IAAI,CAAC,cAAc,CAAC,uBAAuB,CAAC,CAAC;QAC3E,8BAAyB,GAAG,MAAM,IAAI,CAAC,cAAc,CAAC,2BAA2B,CAAC,CAAC;QACnF,0BAAqB,GAAG,CAAC,OAAoC,KAC3D,IAAI,CAAC,cAAc,CAAC,uBAAuB,EAAE,OAAO,CAAC,CAAC;QACxD,8BAAyB,GAAG,CAAC,OAAe,KAAK,IAAI,CAAC,cAAc,CAAC,2BAA2B,EAAE,OAAO,CAAC,CAAC;QAC3G,0CAAqC,GAAG,CAAC,OAAwC,KAC/E,IAAI,CAAC,cAAc,CAAC,uCAAuC,EAAE,OAAO,CAAC,CAAC;QACxE,sBAAiB,GAAG,CAAC,OAAsB,KAAK,IAAI,CAAC,cAAc,CAAC,mBAAmB,EAAE,OAAO,CAAC,CAAC;QAClG,gCAA2B,GAAG,CAAC,OAA2C,KACxE,IAAI,CAAC,cAAc,CAAC,6BAA6B,EAAE,OAAO,CAAC,CAAC;QAC9D,oBAAe,GAAG,CAAC,OAA+B,KAAK,IAAI,CAAC,cAAc,CAAC,iBAAiB,EAAE,OAAO,CAAC,CAAC;QACvG,oBAAe,GAAG,CAAC,OAA+B,KAAK,IAAI,CAAC,cAAc,CAAC,iBAAiB,EAAE,OAAO,CAAC,CAAC;QACvG,kBAAa,GAAG,CAAC,OAAuB,KAAK,IAAI,CAAC,cAAc,CAAC,eAAe,EAAE,OAAO,CAAC,CAAC;;QAG3F,gBAAW,GAAG,CAAC,KAAwB,KAAK,IAAI,CAAC,cAAc,CAAC,aAAa,EAAE,KAAK,CAAC,CAAC;QACtF,kBAAa,GAAG,MAAM,IAAI,CAAC,cAAc,CAAC,eAAe,CAAC,CAAC;QAC3D,cAAS,GAAG,MAAM,IAAI,CAAC,cAAc,CAAC,WAAW,CAAC,CAAC;QACnD,cAAS,GAAG,CAAC,OAAqD,KAAK,IAAI,CAAC,cAAc,CAAC,WAAW,EAAE,OAAO,CAAC,CAAC;QACjH,wBAAmB,GAAG,CAAC,OAAwD,KAC7E,IAAI,CAAC,cAAc,CAAC,qBAAqB,EAAE,OAAO,CAAC,CAAC;QACtD,eAAU,GAAG,CAAC,OAAkC,KAAK,IAAI,CAAC,cAAc,CAAC,YAAY,EAAE,OAAO,CAAC,CAAC;;QAGhG,kBAAa,GAAG,CAAC,OAA2B,KAAK,IAAI,CAAC,cAAc,CAAC,eAAe,EAAE,OAAO,CAAC,CAAC;QAC/F,iBAAY,GAAG,CAAC,OAA2B,KAAK,IAAI,CAAC,cAAc,CAAC,cAAc,EAAE,OAAO,CAAC,CAAC;QAC7F,iBAAY,GAAG,CAAC,OAA2B,KAAK,IAAI,CAAC,cAAc,CAAC,cAAc,EAAE,OAAO,CAAC,CAAC;QAC7F,mBAAc,GAAG,MAAM,IAAI,CAAC,cAAc,CAAC,gBAAgB,CAAC,CAAC;QAC7D,cAAS,GAAG,CAAC,OAA8D,KACzE,IAAI,CAAC,cAAc,CAAC,WAAW,EAAE,OAAO,CAAC,CAAC;QAC5C,cAAS,GAAG,CAAC,OAAwC,KAAK,IAAI,CAAC,cAAc,CAAC,WAAW,EAAE,OAAO,CAAC,CAAC;QACpG,YAAO,GAAG,CAAC,OAA0C,KAAK,IAAI,CAAC,cAAc,CAAC,SAAS,EAAE,OAAO,CAAC,CAAC;QAClG,eAAU,GAAG,CAAC,OAA6C,KAAK,IAAI,CAAC,cAAc,CAAC,YAAY,EAAE,OAAO,CAAC,CAAC;QAC3G,eAAU,GAAG,CAAC,OAAkC,KAAK,IAAI,CAAC,cAAc,CAAC,YAAY,EAAE,OAAO,CAAC,CAAC;QAChG,yBAAoB,GAAG,CAAC,OAA4C,KAClE,IAAI,CAAC,cAAc,CAAC,sBAAsB,EAAE,OAAO,CAAC,CAAC;QACvD,yBAAoB,GAAG,CAAC,OAA4C,KAClE,IAAI,CAAC,cAAc,CAAC,sBAAsB,EAAE,OAAO,CAAC,CAAC;QACvD,sBAAiB,GAAG,CAAC,OAA2B,KAAK,IAAI,CAAC,cAAc,CAAC,mBAAmB,EAAE,OAAO,CAAC,CAAC;QACvG,uBAAkB,GAAG,CAAC,OAAa,KAAK,IAAI,CAAC,cAAc,CAAC,oBAAoB,EAAE,OAAO,CAAC,CAAC;QAC3F,yBAAoB,GAAG,CAAC,OAA8B,KAAK,IAAI,CAAC,cAAc,CAAC,sBAAsB,EAAE,OAAO,CAAC,CAAC;QAChH,0BAAqB,GAAG,CAAC,OAAa,KAAK,IAAI,CAAC,cAAc,CAAC,uBAAuB,EAAE,OAAO,CAAC,CAAC;;QAGjG,uBAAkB,GAAG,CAAC,OAA0B,KAAK,IAAI,CAAC,cAAc,CAAC,oBAAoB,EAAE,OAAO,CAAC,CAAC;QACxG,sBAAiB,GAAG,CAAC,OAA0B,KAAK,IAAI,CAAC,cAAc,CAAC,mBAAmB,EAAE,OAAO,CAAC,CAAC;QACtG,sBAAiB,GAAG,CAAC,KAA8B,KAAK,IAAI,CAAC,cAAc,CAAC,mBAAmB,EAAE,KAAK,CAAC,CAAC;QACxG,wBAAmB,GAAG,MAAM,IAAI,CAAC,cAAc,CAAC,qBAAqB,CAAC,CAAC;QACvE,kBAAa,GAAG,CAAC,OAAsC,KAAK,IAAI,CAAC,cAAc,CAAC,eAAe,EAAE,OAAO,CAAC,CAAC;QAC1G,sBAAiB,GAAG,CAAC,OAAqB,KAAK,IAAI,CAAC,cAAc,CAAC,mBAAmB,EAAE,OAAO,CAAC,CAAC;QACjG,sBAAiB,GAAG,CAAC,OAAiC,KAAK,IAAI,CAAC,cAAc,CAAC,mBAAmB,EAAE,OAAO,CAAC,CAAC;QAC7G,oBAAe,GAAG,CAAC,OAA+B,KAAK,IAAI,CAAC,cAAc,CAAC,iBAAiB,EAAE,OAAO,CAAC,CAAC;QACvG,uBAAkB,GAAG,CAAC,OAAe,KAAK,IAAI,CAAC,cAAc,CAAC,oBAAoB,EAAE,OAAO,CAAC,CAAC;QAC7F,yBAAoB,GAAG,CAAC,OAAe,KAAK,IAAI,CAAC,cAAc,CAAC,sBAAsB,EAAE,OAAO,CAAC,CAAC;;QAGjG,2BAAsB,GAAG,CAAC,KAAmC,KAC3D,IAAI,CAAC,cAAc,CAAC,wBAAwB,EAAE,KAAK,CAAC,CAAC;QACvD,iCAA4B,GAAG,CAAC,KAAiC,KAC/D,IAAI,CAAC,cAAc,CAAC,8BAA8B,EAAE,KAAK,CAAC,CAAC;QAC7D,iCAA4B,GAAG,CAAC,KAAiC,KAC/D,IAAI,CAAC,cAAc,CAAC,8BAA8B,EAAE,KAAK,CAAC,CAAC;QAC7D,8BAAyB,GAAG,CAAC,KAA8B,KACzD,IAAI,CAAC,cAAc,CAAC,2BAA2B,EAAE,KAAK,CAAC,CAAC;QAC1D,kCAA6B,GAAG,CAAC,KAAkC,KACjE,IAAI,CAAC,cAAc,CAAC,+BAA+B,EAAE,KAAK,CAAC,CAAC;QAC9D,kCAA6B,GAAG,CAAC,KAAkC,KACjE,IAAI,CAAC,cAAc,CAAC,+BAA+B,EAAE,KAAK,CAAC,CAAC;QAC9D,0CAAqC,GAAG,CAAC,KAA0C,KACjF,IAAI,CAAC,cAAc,CAAC,uCAAuC,EAAE,KAAK,CAAC,CAAC;QACtE,6BAAwB,GAAG,MAAM,IAAI,CAAC,cAAc,CAAC,0BAA0B,CAAC,CAAC;QACjF,mCAA8B,GAAG,CAAC,KAAmC,KACnE,IAAI,CAAC,cAAc,CAAC,gCAAgC,EAAE,KAAK,CAAC,CAAC;QAC/D,uBAAkB,GAAG,MAAM,IAAI,CAAC,cAAc,CAAC,oBAAoB,CAAC,CAAC;QACrE,6BAAwB,GAAG,MAAM,IAAI,CAAC,cAAc,CAAC,0BAA0B,CAAC,CAAC;QACjF,6BAAwB,GAAG,MAAM,IAAI,CAAC,cAAc,CAAC,0BAA0B,CAAC,CAAC;QACjF,0BAAqB,GAAG,MAAM,IAAI,CAAC,cAAc,CAAC,uBAAuB,CAAC,CAAC;QAC3E,0BAAqB,GAAG,CAAC,OAAqC,KAC5D,IAAI,CAAC,cAAc,CAAC,uBAAuB,EAAE,OAAO,CAAC,CAAC;QACxD,8BAAyB,GAAG,MAAM,IAAI,CAAC,cAAc,CAAC,2BAA2B,CAAC,CAAC;QACnF,8BAAyB,GAAG,CAAC,OAAyC,KACpE,IAAI,CAAC,cAAc,CAAC,2BAA2B,EAAE,OAAO,CAAC,CAAC;QAC5D,8BAAyB,GAAG,MAAM,IAAI,CAAC,cAAc,CAAC,2BAA2B,CAAC,CAAC;QACnF,sCAAiC,GAAG,MAAM,IAAI,CAAC,cAAc,CAAC,mCAAmC,CAAC,CAAC;QACnG,sCAAiC,GAAG,CAAC,OAAiD,KACpF,IAAI,CAAC,cAAc,CAAC,mCAAmC,EAAE,OAAO,CAAC,CAAC;;QAGpE,4BAAuB,GAAG,CAAC,KAAoC,KAC7D,IAAI,CAAC,cAAc,CAAC,yBAAyB,EAAE,KAAK,CAAC,CAAC;QACxD,8BAAyB,GAAG,MAAM,IAAI,CAAC,cAAc,CAAC,2BAA2B,CAAC,CAAC;QACnF,wBAAmB,GAAG,CAAC,OAA0C,KAC/D,IAAI,CAAC,cAAc,CAAC,qBAAqB,EAAE,OAAO,CAAC,CAAC;QACtD,wBAAmB,GAAG,CAAC,OAA2D,KAChF,IAAI,CAAC,cAAc,CAAC,qBAAqB,EAAE,OAAO,CAAC,CAAC;;QAGtD,oBAAe,GAAG,CAAC,KAA4B,KAAK,IAAI,CAAC,cAAc,CAAC,iBAAiB,EAAE,KAAK,CAAC,CAAC;QAClG,sBAAiB,GAAG,MAAM,IAAI,CAAC,cAAc,CAAC,mBAAmB,CAAC,CAAC;QACnE,iBAAY,GAAG,CAAC,OAAoC,KAAK,IAAI,CAAC,cAAc,CAAC,cAAc,EAAE,OAAO,CAAC,CAAC;QACtG,gBAAW,GAAG,CAAC,OAA8C,KAAK,IAAI,CAAC,cAAc,CAAC,aAAa,EAAE,OAAO,CAAC,CAAC;;QAG9G,kBAAa,GAAG,CAAC,KAAiB,KAAK,IAAI,CAAC,cAAc,CAAC,eAAe,EAAE,KAAK,CAAC,CAAC;QACnF,oBAAe,GAAG,MAAM,IAAI,CAAC,cAAc,CAAC,iBAAiB,CAAC,CAAC;QAC/D,4BAAuB,GAAG,CAAC,OAA4B,KAAK,IAAI,CAAC,cAAc,CAAC,yBAAyB,EAAE,OAAO,CAAC,CAAC;QACpH,YAAO,GAAG,CAAC,OAAsC,KAAK,IAAI,CAAC,cAAc,CAAC,SAAS,EAAE,OAAO,CAAC,CAAC;QAC9F,eAAU,GAAG,CAAC,OAAyC,KAAK,IAAI,CAAC,cAAc,CAAC,YAAY,EAAE,OAAO,CAAC,CAAC;QACvG,eAAU,GAAG,CAAC,OAAkC,KAAK,IAAI,CAAC,cAAc,CAAC,YAAY,EAAE,OAAO,CAAC,CAAC;QAChG,4BAAuB,GAAG,CAAC,OAAsD,KAC/E,IAAI,CAAC,cAAc,CAAC,yBAAyB,EAAE,OAAO,CAAC,CAAC;QAE1D,4BAAuB,GAAG,CACxB,OAIkB,KACf,IAAI,CAAC,cAAc,CAAC,yBAAyB,EAAE,OAAO,CAAC,CAAC;QAnO3D,MAAM,aAAa,GAAoB;YACrC,EAAE,KAAK,EAAE,uBAAuB,EAAE,OAAO,EAAE,IAAI,CAAC,4BAA4B,EAAE;YAC9E,EAAE,KAAK,EAAE,sBAAsB,EAAE,OAAO,EAAE,IAAI,CAAC,2BAA2B,EAAE;YAC5E,EAAE,KAAK,EAAE,eAAe,EAAE,OAAO,EAAE,IAAI,CAAC,oBAAoB,EAAE;YAC9D,EAAE,KAAK,EAAE,gBAAgB,EAAE,OAAO,EAAE,IAAI,CAAC,qBAAqB,EAAE;YAChE,EAAE,KAAK,EAAE,qBAAqB,EAAE,OAAO,EAAE,IAAI,CAAC,0BAA0B,EAAE;YAC1E,EAAE,KAAK,EAAE,cAAc,EAAE,OAAO,EAAE,IAAI,CAAC,mBAAmB,EAAE;YAC5D,EAAE,KAAK,EAAE,YAAY,EAAE,OAAO,EAAE,IAAI,CAAC,iBAAiB,EAAE;YACxD,EAAE,KAAK,EAAE,UAAU,EAAE,OAAO,EAAE,IAAI,CAAC,eAAe,EAAE;YACpD,EAAE,KAAK,EAAE,cAAc,EAAE,OAAO,EAAE,IAAI,CAAC,mBAAmB,EAAE;YAC5D,EAAE,KAAK,EAAE,YAAY,EAAE,OAAO,EAAE,IAAI,CAAC,iBAAiB,EAAE;YACxD,EAAE,KAAK,EAAE,QAAQ,EAAE,OAAO,EAAE,IAAI,CAAC,aAAa,EAAE;YAChD,EAAE,KAAK,EAAE,qBAAqB,EAAE,OAAO,EAAE,IAAI,CAAC,0BAA0B,EAAE;YAC1E,EAAE,KAAK,EAAE,aAAa,EAAE,OAAO,EAAE,IAAI,CAAC,kBAAkB,EAAE;YAC1D,EAAE,KAAK,EAAE,kBAAkB,EAAE,OAAO,EAAE,IAAI,CAAC,uBAAuB,EAAE;YACpE,EAAE,KAAK,EAAE,UAAU,EAAE,OAAO,EAAE,IAAI,CAAC,eAAe,EAAE;YACpD,EAAE,KAAK,EAAE,WAAW,EAAE,OAAO,EAAE,IAAI,CAAC,gBAAgB,EAAE;YACtD,EAAE,KAAK,EAAE,MAAM,EAAE,OAAO,EAAE,IAAI,CAAC,WAAW,EAAE;YAC5C,EAAE,KAAK,EAAE,WAAW,EAAE,OAAO,EAAE,IAAI,CAAC,gBAAgB,EAAE;YACtD,EAAE,KAAK,EAAE,QAAQ,EAAE,OAAO,EAAE,IAAI,CAAC,aAAa,EAAE;SACjD,CAAC;;QAGF,IAAI,CAAC,kBAAkB,CAAC,UAAU,CAAC,SAAS,CAAC,CAAC,SAAS;YACrD,IAAI,SAAS,IAAI,IAAI,EAAE;gBACrB,KAAK,MAAM,YAAY,IAAI,aAAa,EAAE;oBACxC,IAAI,CAAC,aAAa,CAAC,YAAY,CAAC,OAAO,CAAC,QAAQ,EAAE,EAAE,SAAS,CAAC,YAAY,CAAC,KAAK,CAAC,CAAC,EAAE;wBAClF,YAAY,CAAC,OAAO,CAAC,IAAI,CAAC,SAAS,CAAC,YAAY,CAAC,KAAK,CAAC,CAAC,CAAC;qBAC1D;iBACF;gBACD,IAAI,CAAC,sBAAsB,CAAC,IAAI,CAAC,SAAS,CAAC,eAAe,CAAC,CAAC;gBAC5D,IAAI,CAAC,gBAAgB,CAAC,IAAI,CAAC,SAAS,CAAC,SAAS,CAAC,CAAC;aACjD;SACF,CAAC,CAAC;KACJ;IAhID,IAAI,sBAAsB;QACxB,OAAO,IAAI,CAAC,4BAA4B,CAAC,YAAY,EAAE,CAAC;KACzD;IAED,IAAI,qBAAqB;QACvB,OAAO,IAAI,CAAC,2BAA2B,CAAC,YAAY,EAAE,CAAC;KACxD;IAED,IAAI,cAAc;QAChB,OAAO,IAAI,CAAC,oBAAoB,CAAC,YAAY,EAAE,CAAC;KACjD;IAED,IAAI,eAAe;QACjB,OAAO,IAAI,CAAC,qBAAqB,CAAC,YAAY,EAAE,CAAC;KAClD;IAED,IAAI,oBAAoB;QACtB,OAAO,IAAI,CAAC,0BAA0B,CAAC,YAAY,EAAE,CAAC;KACvD;IAED,IAAI,WAAW;QACb,OAAO,IAAI,CAAC,iBAAiB,CAAC,YAAY,EAAE,CAAC;KAC9C;IAED,IAAI,SAAS;QACX,OAAO,IAAI,CAAC,eAAe,CAAC,YAAY,EAAE,CAAC;KAC5C;IAED,IAAI,aAAa;QACf,OAAO,IAAI,CAAC,mBAAmB,CAAC,YAAY,EAAE,CAAC;KAChD;IAED,IAAI,WAAW;QACb,OAAO,IAAI,CAAC,iBAAiB,CAAC,YAAY,EAAE,CAAC;KAC9C;IAED,IAAI,YAAY;QACd,OAAO,IAAI,CAAC,aAAa,CAAC,YAAY,EAAE,CAAC;KAC1C;IAED,IAAI,oBAAoB;QACtB,OAAO,IAAI,CAAC,0BAA0B,CAAC,YAAY,EAAE,CAAC;KACvD;IAED,IAAI,YAAY;QACd,OAAO,IAAI,CAAC,kBAAkB,CAAC,YAAY,EAAE,CAAC;KAC/C;IAED,IAAI,iBAAiB;QACnB,OAAO,IAAI,CAAC,uBAAuB,CAAC,YAAY,EAAE,CAAC;KACpD;IAED,IAAI,SAAS;QACX,OAAO,IAAI,CAAC,eAAe,CAAC,YAAY,EAAE,CAAC;KAC5C;IAED,IAAI,UAAU;QACZ,OAAO,IAAI,CAAC,gBAAgB,CAAC,YAAY,EAAE,CAAC;KAC7C;IAED,IAAI,aAAa;QACf,OAAO,IAAI,CAAC,mBAAmB,CAAC,YAAY,EAAE,CAAC;KAChD;IAED,IAAI,KAAK;QACP,OAAO,IAAI,CAAC,WAAW,CAAC,YAAY,EAAE,CAAC;KACxC;IAED,IAAI,IAAI;QACN,OAAO,IAAI,CAAC,kBAAkB,CAAC,WAAW,CAAC,KAAK,CAAC,QAAQ,EAAE,CAAC,IAAI,CAAC,IAAI,CAAC;KACvE;IAGD,IAAI,gBAAgB;QAClB,OAAO,IAAI,CAAC,sBAAsB,CAAC,YAAY,EAAE,CAAC;KACnD;IAED,IAAI,eAAe;QACjB,OAAO,IAAI,CAAC,kBAAkB,CAAC,WAAW,CAAC,KAAK,CAAC,QAAQ,EAAE,CAAC,IAAI,CAAC,eAAe,CAAC;KAClF;IAED,IAAI,UAAU;QACZ,OAAO,IAAI,CAAC,gBAAgB,CAAC,YAAY,EAAE,CAAC;KAC7C;IAED,IAAI,UAAU;QACZ,OAAO,IAAI,CAAC,gBAAgB,CAAC,YAAY,EAAE,CAAC;KAC7C;IAED,IAAI,OAAO;QACT,OAAO,IAAI,CAAC,aAAa,CAAC,YAAY,EAAE,CAAC;KAC1C;IAuCO,cAAc,CAAC,IAAY,EAAE,OAAa;QAChD,MAAM,KAAK,GAAkB,IAAI,CAAC,kBAAkB,CAAC,WAAW,CAAC,KAAK,CAAC;QACvE,KAAK,CAAC,QAAQ,CAAC,EAAE,IAAI,EAAE,GAAG,aAAa,IAAI,IAAI,EAAE,EAAE,OAAO,EAAE,CAAC,CAAC;KAC/D;;;;YAhKF,UAAU,SAAC;gBACV,UAAU,EAAE,MAAM;aACnB;;;YAtGQ,kBAAkB;;;MCCL,iBAAiB;IAKrC,KAAK,CAAC,GAAQ;QACZ,MAAM,GAAG,GAAG,IAAI,oBAAoB,EAAE,CAAC;QACvC,OAAO,GAAG,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC;KACvB;IAED,SAAS,CAAC,IAAa;QACrB,MAAM,GAAG,GAAG,IAAI,oBAAoB,EAAE,CAAC;QAEvC,OAAO,GAAG;aACP,SAAS,CAAC,IAAI,CAAC;aACf,OAAO,CAAC,OAAO,EAAE,GAAG,CAAC;aACrB,OAAO,CAAC,OAAO,EAAE,GAAG,CAAC;aACrB,OAAO,CAAC,OAAO,EAAE,GAAG,CAAC;aACrB,OAAO,CAAC,OAAO,EAAE,GAAG,CAAC;aACrB,OAAO,CAAC,OAAO,EAAE,GAAG,CAAC;aACrB,OAAO,CAAC,OAAO,EAAE,GAAG,CAAC;aACrB,OAAO,CAAC,OAAO,EAAE,GAAG,CAAC;aACrB,OAAO,CAAC,OAAO,EAAE,GAAG,CAAC;aACrB,OAAO,CAAC,OAAO,EAAE,GAAG,CAAC;aACrB,OAAO,CAAC,uBAAuB,EAAE,SAAS,CAAC,CAAC;KAChD;;;MCrBU,iBAAkB,SAAQ,iBAAiB;IAGtD,YAAsB,kBAAsC,EAAY,MAAc,EAAY,MAAc;QAC9G,KAAK,EAAE,CAAC;QADY,uBAAkB,GAAlB,kBAAkB,CAAoB;QAAY,WAAM,GAAN,MAAM,CAAQ;QAAY,WAAM,GAAN,MAAM,CAAQ;QAE9G,IAAI,CAAC,cAAc,GAAG,IAAI,UAAU,CAAU,GAAG;YAC/C,IAAI,CAAC,kBAAkB,CAAC,gBAAgB,CAAC,SAAS,CAAC,CAAC,eAAwB;gBAC1E,IAAI,eAAe,EAAE;oBACnB,GAAG,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;iBAChB;qBAAM;oBACL,IAAI,MAAM,CAAC,eAAe,EAAE,EAAE;wBAC5B,IAAI,CAAC,aAAa,EAAE,CAAC;qBACtB;yBAAM;wBACL,IAAI,CAAC,MAAM,CAAC,GAAG,CAAC;4BACd,IAAI,CAAC,aAAa,EAAE,CAAC;yBACtB,CAAC,CAAC;qBACJ;oBACD,GAAG,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC;iBACjB;aACF,CAAC,CAAC;SACJ,CAAC,CAAC;KACJ;IAED,aAAa;QACX,MAAM,WAAW,GAAG,IAAI,CAAC,MAAM,CAAC,WAAW,CAAC,QAAQ,CAAC,GAAG,CAAC;QACzD,IAAI,CAAC,MAAM,CAAC,aAAa,CAAC,IAAI,CAAC,kBAAkB,CAAC,UAAU,CAAC,QAAQ,GAAG,eAAe,GAAG,kBAAkB,CAAC,WAAW,CAAC,CAAC,CAAC;KAC5H;IAED,WAAW,CAAC,KAA6B,EAAE,KAA0B;QACnE,OAAO,IAAI,CAAC,cAAc,CAAC;KAC5B;;;YA/BF,UAAU;;;YAFF,kBAAkB;YAHM,MAAM;YADlB,MAAM;;;MCYZ,0BAA0B;IAGrC,YACU,WAA6B,EAC7B,aAA+B,EAC/B,mBAAwC;QAFxC,gBAAW,GAAX,WAAW,CAAkB;QAC7B,kBAAa,GAAb,aAAa,CAAkB;QAC/B,wBAAmB,GAAnB,mBAAmB,CAAqB;QAL1C,WAAM,GAAa,EAAE,CAAC;KAM1B;IAEJ,IACI,iBAAiB,CAAC,KAAe;QACnC,IAAI,CAAC,MAAM,GAAG,KAAK,CAAC;KACrB;IAED,kBAAkB;QAChB,IAAI,CAAC,mBAAmB,CAAC,KAAK,CAAC,SAAS,CAAC,CAAC,IAAI;;YAC5C,IAAI,MAAA,IAAI,aAAJ,IAAI,uBAAJ,IAAI,CAAE,KAAK,0CAAE,IAAI,CAAC,CAAC,IAAI,KAAK,IAAI,CAAC,MAAM,CAAC,QAAQ,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC,EAAE;gBAChE,IAAI,CAAC,aAAa,CAAC,kBAAkB,CAAC,IAAI,CAAC,WAAW,CAAC,CAAC;aACzD;iBAAM;gBACL,IAAI,CAAC,aAAa,CAAC,KAAK,EAAE,CAAC;aAC5B;SACF,CAAC,CAAC;KACJ;;;YAzBF,SAAS,SAAC;gBACT,QAAQ,EAAE,qBAAqB;aAChC;;;YAPC,WAAW;YACX,gBAAgB;YAET,mBAAmB;;;gCAczB,KAAK;;;MCLG,iBAAiB;IAC5B,OAAO,OAAO,CAAC,MAA0B;QACvC,OAAO;YACL,QAAQ,EAAE,iBAAiB;YAC3B,SAAS,EAAE;gBACT,kBAAkB;gBAClB,iBAAiB;gBACjB,iBAAiB;gBACjB,mBAAmB;gBACnB;oBACE,OAAO,EAAE,uBAAuB;oBAChC,QAAQ,EAAE,MAAM;iBACjB;aACF;SACF,CAAC;KACH;;;YApBF,QAAQ,SAAC;gBACR,OAAO,EAAE,CAAC,YAAY,EAAE,YAAY,CAAC;gBACrC,YAAY,EAAE,CAAC,iBAAiB,EAAE,0BAA0B,CAAC;gBAC7D,OAAO,EAAE,CAAC,iBAAiB,EAAE,0BAA0B,CAAC;aACzD;;;ACfD;;;;ACAA;;;;;;"}
|