@skyux/config 8.7.2 → 9.0.0-alpha.1

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.
@@ -0,0 +1,30 @@
1
+ import { Injectable } from '@angular/core';
2
+ import * as i0 from "@angular/core";
3
+ const DEFAULTS = {
4
+ frameOptions: {
5
+ none: true,
6
+ },
7
+ url: 'https://host.nxt.blackbaud.com/',
8
+ };
9
+ /**
10
+ * Host configuration for components and applications.
11
+ * @deprecated Use `SkyAppConfig.skyux.host` instead.
12
+ */
13
+ export class SkyAppConfigHost {
14
+ get host() {
15
+ return this.#_host;
16
+ }
17
+ #_host;
18
+ init(config) {
19
+ this.#_host = {
20
+ ...DEFAULTS,
21
+ ...(config || {}),
22
+ };
23
+ }
24
+ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "16.1.7", ngImport: i0, type: SkyAppConfigHost, deps: [], target: i0.ɵɵFactoryTarget.Injectable }); }
25
+ static { this.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "16.1.7", ngImport: i0, type: SkyAppConfigHost }); }
26
+ }
27
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "16.1.7", ngImport: i0, type: SkyAppConfigHost, decorators: [{
28
+ type: Injectable
29
+ }] });
30
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiYXBwLWNvbmZpZy1ob3N0LmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vbGlicy9jb21wb25lbnRzL2NvbmZpZy9zcmMvbGliL2FwcC1jb25maWctaG9zdC50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQUUsVUFBVSxFQUFFLE1BQU0sZUFBZSxDQUFDOztBQUkzQyxNQUFNLFFBQVEsR0FBb0I7SUFDaEMsWUFBWSxFQUFFO1FBQ1osSUFBSSxFQUFFLElBQUk7S0FDWDtJQUNELEdBQUcsRUFBRSxpQ0FBaUM7Q0FDdkMsQ0FBQztBQUVGOzs7R0FHRztBQUVILE1BQU0sT0FBTyxnQkFBZ0I7SUFDM0IsSUFBVyxJQUFJO1FBQ2IsT0FBTyxJQUFJLENBQUMsTUFBTSxDQUFDO0lBQ3JCLENBQUM7SUFFRCxNQUFNLENBQW1CO0lBRWxCLElBQUksQ0FBQyxNQUF3QjtRQUNsQyxJQUFJLENBQUMsTUFBTSxHQUFHO1lBQ1osR0FBRyxRQUFRO1lBQ1gsR0FBRyxDQUFDLE1BQU0sSUFBSSxFQUFFLENBQUM7U0FDbEIsQ0FBQztJQUNKLENBQUM7OEdBWlUsZ0JBQWdCO2tIQUFoQixnQkFBZ0I7OzJGQUFoQixnQkFBZ0I7a0JBRDVCLFVBQVUiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBJbmplY3RhYmxlIH0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XG5cbmltcG9ydCB7IFNreXV4Q29uZmlnSG9zdCB9IGZyb20gJy4vY29uZmlnJztcblxuY29uc3QgREVGQVVMVFM6IFNreXV4Q29uZmlnSG9zdCA9IHtcbiAgZnJhbWVPcHRpb25zOiB7XG4gICAgbm9uZTogdHJ1ZSxcbiAgfSxcbiAgdXJsOiAnaHR0cHM6Ly9ob3N0Lm54dC5ibGFja2JhdWQuY29tLycsXG59O1xuXG4vKipcbiAqIEhvc3QgY29uZmlndXJhdGlvbiBmb3IgY29tcG9uZW50cyBhbmQgYXBwbGljYXRpb25zLlxuICogQGRlcHJlY2F0ZWQgVXNlIGBTa3lBcHBDb25maWcuc2t5dXguaG9zdGAgaW5zdGVhZC5cbiAqL1xuQEluamVjdGFibGUoKVxuZXhwb3J0IGNsYXNzIFNreUFwcENvbmZpZ0hvc3Qge1xuICBwdWJsaWMgZ2V0IGhvc3QoKTogU2t5dXhDb25maWdIb3N0IHtcbiAgICByZXR1cm4gdGhpcy4jX2hvc3Q7XG4gIH1cblxuICAjX2hvc3QhOiBTa3l1eENvbmZpZ0hvc3Q7XG5cbiAgcHVibGljIGluaXQoY29uZmlnPzogU2t5dXhDb25maWdIb3N0KTogdm9pZCB7XG4gICAgdGhpcy4jX2hvc3QgPSB7XG4gICAgICAuLi5ERUZBVUxUUyxcbiAgICAgIC4uLihjb25maWcgfHwge30pLFxuICAgIH07XG4gIH1cbn1cbiJdfQ==
@@ -0,0 +1,34 @@
1
+ import { Injectable } from '@angular/core';
2
+ import * as i0 from "@angular/core";
3
+ const DEFAULTS = {
4
+ envid: {
5
+ required: false,
6
+ },
7
+ leid: {
8
+ required: false,
9
+ },
10
+ svcid: {
11
+ required: false,
12
+ },
13
+ };
14
+ /**
15
+ * @deprecated Use `SkyAppConfig.skyux.params` instead.
16
+ */
17
+ export class SkyAppConfigParams {
18
+ get params() {
19
+ return this.#_params;
20
+ }
21
+ #_params;
22
+ init(params) {
23
+ this.#_params = {
24
+ ...DEFAULTS,
25
+ ...(params || {}),
26
+ };
27
+ }
28
+ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "16.1.7", ngImport: i0, type: SkyAppConfigParams, deps: [], target: i0.ɵɵFactoryTarget.Injectable }); }
29
+ static { this.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "16.1.7", ngImport: i0, type: SkyAppConfigParams }); }
30
+ }
31
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "16.1.7", ngImport: i0, type: SkyAppConfigParams, decorators: [{
32
+ type: Injectable
33
+ }] });
34
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiYXBwLWNvbmZpZy1wYXJhbXMuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi9saWJzL2NvbXBvbmVudHMvY29uZmlnL3NyYy9saWIvYXBwLWNvbmZpZy1wYXJhbXMudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFFLFVBQVUsRUFBRSxNQUFNLGVBQWUsQ0FBQzs7QUFJM0MsTUFBTSxRQUFRLEdBQXNCO0lBQ2xDLEtBQUssRUFBRTtRQUNMLFFBQVEsRUFBRSxLQUFLO0tBQ2hCO0lBQ0QsSUFBSSxFQUFFO1FBQ0osUUFBUSxFQUFFLEtBQUs7S0FDaEI7SUFDRCxLQUFLLEVBQUU7UUFDTCxRQUFRLEVBQUUsS0FBSztLQUNoQjtDQUNGLENBQUM7QUFFRjs7R0FFRztBQUVILE1BQU0sT0FBTyxrQkFBa0I7SUFDN0IsSUFBVyxNQUFNO1FBQ2YsT0FBTyxJQUFJLENBQUMsUUFBUSxDQUFDO0lBQ3ZCLENBQUM7SUFFRCxRQUFRLENBQXFCO0lBRXRCLElBQUksQ0FBQyxNQUEwQjtRQUNwQyxJQUFJLENBQUMsUUFBUSxHQUFHO1lBQ2QsR0FBRyxRQUFRO1lBQ1gsR0FBRyxDQUFDLE1BQU0sSUFBSSxFQUFFLENBQUM7U0FDbEIsQ0FBQztJQUNKLENBQUM7OEdBWlUsa0JBQWtCO2tIQUFsQixrQkFBa0I7OzJGQUFsQixrQkFBa0I7a0JBRDlCLFVBQVUiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBJbmplY3RhYmxlIH0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XG5cbmltcG9ydCB7IFNreXV4Q29uZmlnUGFyYW1zIH0gZnJvbSAnLi9jb25maWctcGFyYW1zJztcblxuY29uc3QgREVGQVVMVFM6IFNreXV4Q29uZmlnUGFyYW1zID0ge1xuICBlbnZpZDoge1xuICAgIHJlcXVpcmVkOiBmYWxzZSxcbiAgfSxcbiAgbGVpZDoge1xuICAgIHJlcXVpcmVkOiBmYWxzZSxcbiAgfSxcbiAgc3ZjaWQ6IHtcbiAgICByZXF1aXJlZDogZmFsc2UsXG4gIH0sXG59O1xuXG4vKipcbiAqIEBkZXByZWNhdGVkIFVzZSBgU2t5QXBwQ29uZmlnLnNreXV4LnBhcmFtc2AgaW5zdGVhZC5cbiAqL1xuQEluamVjdGFibGUoKVxuZXhwb3J0IGNsYXNzIFNreUFwcENvbmZpZ1BhcmFtcyB7XG4gIHB1YmxpYyBnZXQgcGFyYW1zKCk6IFNreXV4Q29uZmlnUGFyYW1zIHtcbiAgICByZXR1cm4gdGhpcy4jX3BhcmFtcztcbiAgfVxuXG4gICNfcGFyYW1zITogU2t5dXhDb25maWdQYXJhbXM7XG5cbiAgcHVibGljIGluaXQocGFyYW1zPzogU2t5dXhDb25maWdQYXJhbXMpOiB2b2lkIHtcbiAgICB0aGlzLiNfcGFyYW1zID0ge1xuICAgICAgLi4uREVGQVVMVFMsXG4gICAgICAuLi4ocGFyYW1zIHx8IHt9KSxcbiAgICB9O1xuICB9XG59XG4iXX0=
@@ -29,12 +29,12 @@ export class SkyAppConfigModule {
29
29
  ],
30
30
  };
31
31
  }
32
+ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "16.1.7", ngImport: i0, type: SkyAppConfigModule, deps: [], target: i0.ɵɵFactoryTarget.NgModule }); }
33
+ static { this.ɵmod = i0.ɵɵngDeclareNgModule({ minVersion: "14.0.0", version: "16.1.7", ngImport: i0, type: SkyAppConfigModule }); }
34
+ static { this.ɵinj = i0.ɵɵngDeclareInjector({ minVersion: "12.0.0", version: "16.1.7", ngImport: i0, type: SkyAppConfigModule }); }
32
35
  }
33
- SkyAppConfigModule.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "15.2.9", ngImport: i0, type: SkyAppConfigModule, deps: [], target: i0.ɵɵFactoryTarget.NgModule });
34
- SkyAppConfigModule.ɵmod = i0.ɵɵngDeclareNgModule({ minVersion: "14.0.0", version: "15.2.9", ngImport: i0, type: SkyAppConfigModule });
35
- SkyAppConfigModule.ɵinj = i0.ɵɵngDeclareInjector({ minVersion: "12.0.0", version: "15.2.9", ngImport: i0, type: SkyAppConfigModule });
36
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "15.2.9", ngImport: i0, type: SkyAppConfigModule, decorators: [{
36
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "16.1.7", ngImport: i0, type: SkyAppConfigModule, decorators: [{
37
37
  type: NgModule,
38
38
  args: [{}]
39
39
  }] });
40
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiYXBwLWNvbmZpZy5tb2R1bGUuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi9saWJzL2NvbXBvbmVudHMvY29uZmlnL3NyYy9saWIvYXBwLWNvbmZpZy5tb2R1bGUudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUF1QixRQUFRLEVBQUUsTUFBTSxlQUFlLENBQUM7QUFFOUQsT0FBTyxFQUFFLGdCQUFnQixFQUFFLE1BQU0sbUJBQW1CLENBQUM7QUFFckQsT0FBTyxFQUFFLGtCQUFrQixFQUFFLE1BQU0scUJBQXFCLENBQUM7O0FBRXpEOztHQUVHO0FBRUgsTUFBTSxPQUFPLGtCQUFrQjtJQUN0QixNQUFNLENBQUMsT0FBTyxDQUNuQixTQUF3QyxFQUFFO1FBRTFDLE9BQU87WUFDTCxRQUFRLEVBQUUsa0JBQWtCO1lBQzVCLFNBQVMsRUFBRTtnQkFDVDtvQkFDRSxPQUFPLEVBQUUsa0JBQWtCO29CQUMzQixVQUFVO3dCQUNSLE1BQU0sZUFBZSxHQUFHLElBQUksa0JBQWtCLEVBQUUsQ0FBQzt3QkFDakQsZUFBZSxDQUFDLElBQUksQ0FBQyxNQUFNLENBQUMsTUFBTSxDQUFDLENBQUM7d0JBQ3BDLE9BQU8sZUFBZSxDQUFDO29CQUN6QixDQUFDO2lCQUNGO2dCQUNEO29CQUNFLE9BQU8sRUFBRSxnQkFBZ0I7b0JBQ3pCLFVBQVU7d0JBQ1IsTUFBTSxhQUFhLEdBQUcsSUFBSSxnQkFBZ0IsRUFBRSxDQUFDO3dCQUM3QyxhQUFhLENBQUMsSUFBSSxDQUFDLE1BQU0sQ0FBQyxJQUFJLENBQUMsQ0FBQzt3QkFDaEMsT0FBTyxhQUFhLENBQUM7b0JBQ3ZCLENBQUM7aUJBQ0Y7YUFDRjtTQUNGLENBQUM7SUFDSixDQUFDOzsrR0F6QlUsa0JBQWtCO2dIQUFsQixrQkFBa0I7Z0hBQWxCLGtCQUFrQjsyRkFBbEIsa0JBQWtCO2tCQUQ5QixRQUFRO21CQUFDLEVBQUUiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBNb2R1bGVXaXRoUHJvdmlkZXJzLCBOZ01vZHVsZSB9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xuXG5pbXBvcnQgeyBTa3lBcHBDb25maWdIb3N0IH0gZnJvbSAnLi9hcHAtY29uZmlnLWhvc3QnO1xuaW1wb3J0IHsgU2t5QXBwQ29uZmlnTW9kdWxlRm9yUm9vdEFyZ3MgfSBmcm9tICcuL2FwcC1jb25maWctbW9kdWxlLWZvci1yb290LWFyZ3MnO1xuaW1wb3J0IHsgU2t5QXBwQ29uZmlnUGFyYW1zIH0gZnJvbSAnLi9hcHAtY29uZmlnLXBhcmFtcyc7XG5cbi8qKlxuICogQGRlcHJlY2F0ZWQgUHJvdmlkZSBgU2t5QXBwQ29uZmlnYCBhdCB0aGUgcm9vdCBpbnN0ZWFkLlxuICovXG5ATmdNb2R1bGUoe30pXG5leHBvcnQgY2xhc3MgU2t5QXBwQ29uZmlnTW9kdWxlIHtcbiAgcHVibGljIHN0YXRpYyBmb3JSb290KFxuICAgIGNvbmZpZzogU2t5QXBwQ29uZmlnTW9kdWxlRm9yUm9vdEFyZ3MgPSB7fVxuICApOiBNb2R1bGVXaXRoUHJvdmlkZXJzPFNreUFwcENvbmZpZ01vZHVsZT4ge1xuICAgIHJldHVybiB7XG4gICAgICBuZ01vZHVsZTogU2t5QXBwQ29uZmlnTW9kdWxlLFxuICAgICAgcHJvdmlkZXJzOiBbXG4gICAgICAgIHtcbiAgICAgICAgICBwcm92aWRlOiBTa3lBcHBDb25maWdQYXJhbXMsXG4gICAgICAgICAgdXNlRmFjdG9yeSgpIHtcbiAgICAgICAgICAgIGNvbnN0IGFwcENvbmZpZ1BhcmFtcyA9IG5ldyBTa3lBcHBDb25maWdQYXJhbXMoKTtcbiAgICAgICAgICAgIGFwcENvbmZpZ1BhcmFtcy5pbml0KGNvbmZpZy5wYXJhbXMpO1xuICAgICAgICAgICAgcmV0dXJuIGFwcENvbmZpZ1BhcmFtcztcbiAgICAgICAgICB9LFxuICAgICAgICB9LFxuICAgICAgICB7XG4gICAgICAgICAgcHJvdmlkZTogU2t5QXBwQ29uZmlnSG9zdCxcbiAgICAgICAgICB1c2VGYWN0b3J5KCkge1xuICAgICAgICAgICAgY29uc3QgYXBwQ29uZmlnSG9zdCA9IG5ldyBTa3lBcHBDb25maWdIb3N0KCk7XG4gICAgICAgICAgICBhcHBDb25maWdIb3N0LmluaXQoY29uZmlnLmhvc3QpO1xuICAgICAgICAgICAgcmV0dXJuIGFwcENvbmZpZ0hvc3Q7XG4gICAgICAgICAgfSxcbiAgICAgICAgfSxcbiAgICAgIF0sXG4gICAgfTtcbiAgfVxufVxuIl19
40
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiYXBwLWNvbmZpZy5tb2R1bGUuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi9saWJzL2NvbXBvbmVudHMvY29uZmlnL3NyYy9saWIvYXBwLWNvbmZpZy5tb2R1bGUudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUF1QixRQUFRLEVBQUUsTUFBTSxlQUFlLENBQUM7QUFFOUQsT0FBTyxFQUFFLGdCQUFnQixFQUFFLE1BQU0sbUJBQW1CLENBQUM7QUFFckQsT0FBTyxFQUFFLGtCQUFrQixFQUFFLE1BQU0scUJBQXFCLENBQUM7O0FBRXpEOztHQUVHO0FBRUgsTUFBTSxPQUFPLGtCQUFrQjtJQUN0QixNQUFNLENBQUMsT0FBTyxDQUNuQixTQUF3QyxFQUFFO1FBRTFDLE9BQU87WUFDTCxRQUFRLEVBQUUsa0JBQWtCO1lBQzVCLFNBQVMsRUFBRTtnQkFDVDtvQkFDRSxPQUFPLEVBQUUsa0JBQWtCO29CQUMzQixVQUFVO3dCQUNSLE1BQU0sZUFBZSxHQUFHLElBQUksa0JBQWtCLEVBQUUsQ0FBQzt3QkFDakQsZUFBZSxDQUFDLElBQUksQ0FBQyxNQUFNLENBQUMsTUFBTSxDQUFDLENBQUM7d0JBQ3BDLE9BQU8sZUFBZSxDQUFDO29CQUN6QixDQUFDO2lCQUNGO2dCQUNEO29CQUNFLE9BQU8sRUFBRSxnQkFBZ0I7b0JBQ3pCLFVBQVU7d0JBQ1IsTUFBTSxhQUFhLEdBQUcsSUFBSSxnQkFBZ0IsRUFBRSxDQUFDO3dCQUM3QyxhQUFhLENBQUMsSUFBSSxDQUFDLE1BQU0sQ0FBQyxJQUFJLENBQUMsQ0FBQzt3QkFDaEMsT0FBTyxhQUFhLENBQUM7b0JBQ3ZCLENBQUM7aUJBQ0Y7YUFDRjtTQUNGLENBQUM7SUFDSixDQUFDOzhHQXpCVSxrQkFBa0I7K0dBQWxCLGtCQUFrQjsrR0FBbEIsa0JBQWtCOzsyRkFBbEIsa0JBQWtCO2tCQUQ5QixRQUFRO21CQUFDLEVBQUUiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBNb2R1bGVXaXRoUHJvdmlkZXJzLCBOZ01vZHVsZSB9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xuXG5pbXBvcnQgeyBTa3lBcHBDb25maWdIb3N0IH0gZnJvbSAnLi9hcHAtY29uZmlnLWhvc3QnO1xuaW1wb3J0IHsgU2t5QXBwQ29uZmlnTW9kdWxlRm9yUm9vdEFyZ3MgfSBmcm9tICcuL2FwcC1jb25maWctbW9kdWxlLWZvci1yb290LWFyZ3MnO1xuaW1wb3J0IHsgU2t5QXBwQ29uZmlnUGFyYW1zIH0gZnJvbSAnLi9hcHAtY29uZmlnLXBhcmFtcyc7XG5cbi8qKlxuICogQGRlcHJlY2F0ZWQgUHJvdmlkZSBgU2t5QXBwQ29uZmlnYCBhdCB0aGUgcm9vdCBpbnN0ZWFkLlxuICovXG5ATmdNb2R1bGUoe30pXG5leHBvcnQgY2xhc3MgU2t5QXBwQ29uZmlnTW9kdWxlIHtcbiAgcHVibGljIHN0YXRpYyBmb3JSb290KFxuICAgIGNvbmZpZzogU2t5QXBwQ29uZmlnTW9kdWxlRm9yUm9vdEFyZ3MgPSB7fVxuICApOiBNb2R1bGVXaXRoUHJvdmlkZXJzPFNreUFwcENvbmZpZ01vZHVsZT4ge1xuICAgIHJldHVybiB7XG4gICAgICBuZ01vZHVsZTogU2t5QXBwQ29uZmlnTW9kdWxlLFxuICAgICAgcHJvdmlkZXJzOiBbXG4gICAgICAgIHtcbiAgICAgICAgICBwcm92aWRlOiBTa3lBcHBDb25maWdQYXJhbXMsXG4gICAgICAgICAgdXNlRmFjdG9yeSgpIHtcbiAgICAgICAgICAgIGNvbnN0IGFwcENvbmZpZ1BhcmFtcyA9IG5ldyBTa3lBcHBDb25maWdQYXJhbXMoKTtcbiAgICAgICAgICAgIGFwcENvbmZpZ1BhcmFtcy5pbml0KGNvbmZpZy5wYXJhbXMpO1xuICAgICAgICAgICAgcmV0dXJuIGFwcENvbmZpZ1BhcmFtcztcbiAgICAgICAgICB9LFxuICAgICAgICB9LFxuICAgICAgICB7XG4gICAgICAgICAgcHJvdmlkZTogU2t5QXBwQ29uZmlnSG9zdCxcbiAgICAgICAgICB1c2VGYWN0b3J5KCkge1xuICAgICAgICAgICAgY29uc3QgYXBwQ29uZmlnSG9zdCA9IG5ldyBTa3lBcHBDb25maWdIb3N0KCk7XG4gICAgICAgICAgICBhcHBDb25maWdIb3N0LmluaXQoY29uZmlnLmhvc3QpO1xuICAgICAgICAgICAgcmV0dXJuIGFwcENvbmZpZ0hvc3Q7XG4gICAgICAgICAgfSxcbiAgICAgICAgfSxcbiAgICAgIF0sXG4gICAgfTtcbiAgfVxufVxuIl19
@@ -3,10 +3,10 @@ import * as i0 from "@angular/core";
3
3
  export class SkyuxPactConfig {
4
4
  }
5
5
  export class SkyAppConfig {
6
+ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "16.1.7", ngImport: i0, type: SkyAppConfig, deps: [], target: i0.ɵɵFactoryTarget.Injectable }); }
7
+ static { this.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "16.1.7", ngImport: i0, type: SkyAppConfig }); }
6
8
  }
7
- SkyAppConfig.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "15.2.9", ngImport: i0, type: SkyAppConfig, deps: [], target: i0.ɵɵFactoryTarget.Injectable });
8
- SkyAppConfig.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "15.2.9", ngImport: i0, type: SkyAppConfig });
9
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "15.2.9", ngImport: i0, type: SkyAppConfig, decorators: [{
9
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "16.1.7", ngImport: i0, type: SkyAppConfig, decorators: [{
10
10
  type: Injectable
11
11
  }] });
12
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiY29uZmlnLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vbGlicy9jb21wb25lbnRzL2NvbmZpZy9zcmMvbGliL2NvbmZpZy50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQUUsVUFBVSxFQUFFLE1BQU0sZUFBZSxDQUFDOztBQVkzQyxNQUFNLE9BQU8sZUFBZTtDQVMzQjtBQWtLRCxNQUFNLE9BQU8sWUFBWTs7eUdBQVosWUFBWTs2R0FBWixZQUFZOzJGQUFaLFlBQVk7a0JBRHhCLFVBQVUiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBJbmplY3RhYmxlIH0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XG5cbmltcG9ydCB7IFNreXV4Q29uZmlnUGFyYW1zIH0gZnJvbSAnLi9jb25maWctcGFyYW1zJztcbmltcG9ydCB7IFNreUFwcFJ1bnRpbWVDb25maWdQYXJhbXMgfSBmcm9tICcuL3BhcmFtcyc7XG5cbmV4cG9ydCBpbnRlcmZhY2UgUnVudGltZUNvbmZpZ0FwcCB7XG4gIGJhc2U6IHN0cmluZztcbiAgaW5qZWN0OiBib29sZWFuO1xuICBuYW1lPzogc3RyaW5nO1xuICB0ZW1wbGF0ZTogc3RyaW5nO1xufVxuXG5leHBvcnQgY2xhc3MgU2t5dXhQYWN0Q29uZmlnIHtcbiAgcHVibGljIHByb3ZpZGVycz86IHtcbiAgICBbcHJvdmlkZXI6IHN0cmluZ106IHtcbiAgICAgIGhvc3Q/OiBzdHJpbmc7XG4gICAgICBwb3J0Pzogc3RyaW5nO1xuICAgICAgZnVsbFVybD86IHN0cmluZztcbiAgICB9O1xuICB9O1xuICBwdWJsaWMgcGFjdFByb3h5U2VydmVyPzogc3RyaW5nO1xufVxuXG5leHBvcnQgaW50ZXJmYWNlIFNreXV4Q29uZmlnRTJFVGVzdFNldHRpbmdzIHtcbiAgYnJvd3NlclNldD86ICdzcGVlZHknO1xufVxuXG5leHBvcnQgaW50ZXJmYWNlIFNreXV4Q29uZmlnVW5pdFRlc3RTZXR0aW5ncyB7XG4gIGJyb3dzZXJTZXQ/OiAnc3BlZWR5JyB8ICdxdWlya3knIHwgJ3BhcmFub2lkJztcbn1cblxuZXhwb3J0IGludGVyZmFjZSBTa3l1eENvbmZpZ1Rlc3RTZXR0aW5ncyB7XG4gIGUyZT86IFNreXV4Q29uZmlnRTJFVGVzdFNldHRpbmdzO1xuICB1bml0PzogU2t5dXhDb25maWdVbml0VGVzdFNldHRpbmdzO1xufVxuXG5leHBvcnQgaW50ZXJmYWNlIFNreXV4Q29uZmlnTGlicmFyeVNldHRpbmdzIHtcbiAgd2hpdGVsaXN0ZWROb25QZWVyRGVwZW5kZW5jaWVzPzogc3RyaW5nW107XG59XG5cbmV4cG9ydCBpbnRlcmZhY2UgUnVudGltZUNvbmZpZyB7XG4gIGFwcDogUnVudGltZUNvbmZpZ0FwcDtcbiAgY29tbWFuZD86IHN0cmluZzsgLy8gRHluYW1pY2FsbHkgYWRkZWQgaW4gXCJoaWdoZXIgdXBcIiB3ZWJwYWNrc1xuICBjb21wb25lbnRzUGF0dGVybjogc3RyaW5nO1xuICBjb21wb25lbnRzSWdub3JlUGF0dGVybjogc3RyaW5nO1xuICBoYW5kbGU0MDQ/OiBib29sZWFuOyAvLyBEeW5hbWljYWxseSBhZGRlZCBpbiBza3ktcGFnZXMtbW9kdWxlLWdlbmVyYXRvci5qc1xuICBpbmNsdWRlUm91dGVNb2R1bGU6IGJvb2xlYW47XG4gIHBhY3RDb25maWc/OiBTa3l1eFBhY3RDb25maWc7XG4gIHBhcmFtczogU2t5QXBwUnVudGltZUNvbmZpZ1BhcmFtcztcbiAgcm91dGVzPzogT2JqZWN0W107IC8vIER5bmFtaWNhbGx5IGFkZGVkIGluIHNreS1wYWdlcy1tb2R1bGUtZ2VuZXJhdG9yLmpzXG4gIHJvdXRlc1BhdHRlcm46IHN0cmluZztcbiAgcnVudGltZUFsaWFzOiBzdHJpbmc7XG4gIHNwYVBhdGhBbGlhczogc3RyaW5nO1xuICBza3lQYWdlc091dEFsaWFzOiBzdHJpbmc7XG4gIHNreXV4UGF0aEFsaWFzOiBzdHJpbmc7XG4gIHNyY1BhdGg6IHN0cmluZztcbiAgdXNlVGVtcGxhdGVVcmw6IGJvb2xlYW47XG59XG5cbmV4cG9ydCBpbnRlcmZhY2UgU2t5dXhDb25maWdBMTF5IHtcbiAgcnVsZXM/OiBhbnk7XG59XG5cbmV4cG9ydCB0eXBlIFNreXV4Q29uZmlnQXBwU3VwcG9ydGVkVGhlbWUgPSAnZGVmYXVsdCcgfCAnbW9kZXJuJztcblxuZXhwb3J0IGludGVyZmFjZSBTa3l1eENvbmZpZ0FwcFRoZW1pbmcge1xuICBzdXBwb3J0ZWRUaGVtZXM6IFNreXV4Q29uZmlnQXBwU3VwcG9ydGVkVGhlbWVbXTtcbiAgdGhlbWU6IFNreXV4Q29uZmlnQXBwU3VwcG9ydGVkVGhlbWU7XG59XG5cbmV4cG9ydCBpbnRlcmZhY2UgU2t5dXhDb25maWdBcHAge1xuICBiYXNlPzogc3RyaW5nO1xuICBleHRlcm5hbHM/OiBPYmplY3Q7XG4gIHBvcnQ/OiBzdHJpbmc7XG4gIHN0eWxlcz86IHN0cmluZ1tdO1xuICB0aGVtaW5nPzogU2t5dXhDb25maWdBcHBUaGVtaW5nO1xuICB0aXRsZT86IHN0cmluZztcbn1cblxuZXhwb3J0IGludGVyZmFjZSBTa3l1eENvbmZpZ0F1dGhTZXR0aW5ncyB7XG4gIGJsYWNrYmF1ZEVtcGxveWVlPzogYm9vbGVhbjtcbn1cblxuZXhwb3J0IGludGVyZmFjZSBTa3l1eENvbmZpZ0hvc3RCQkNoZWNrb3V0IHtcbiAgdmVyc2lvbjogJzInO1xufVxuXG5leHBvcnQgaW50ZXJmYWNlIFNreXV4Q29uZmlnSG9zdEZyYW1lT3B0aW9uc05vbmUge1xuICBibGFja2JhdWQ/OiBmYWxzZTtcbiAgbm9uZTogdHJ1ZTtcbiAgc2VsZj86IGZhbHNlO1xuICB1cmxzPzogW107XG59XG5cbmV4cG9ydCBpbnRlcmZhY2UgU2t5dXhDb25maWdIb3N0RnJhbWVPcHRpb25zT3RoZXJzIHtcbiAgYmxhY2tiYXVkPzogYm9vbGVhbjtcbiAgbm9uZT86IGZhbHNlO1xuICBzZWxmPzogYm9vbGVhbjtcbiAgdXJscz86IHN0cmluZ1tdO1xufVxuXG5leHBvcnQgaW50ZXJmYWNlIFNreXV4Q29uZmlnSG9zdENzcERpcmVjdGl2ZXMge1xuICBbZGlyZWN0aXZlTmFtZTogc3RyaW5nXTogc3RyaW5nW107XG59XG5cbmV4cG9ydCBpbnRlcmZhY2UgU2t5dXhDb25maWdIb3N0Q3NwIHtcbiAgZW5hYmxlZDogYm9vbGVhbjtcbiAgZGlyZWN0aXZlcz86IFNreXV4Q29uZmlnSG9zdENzcERpcmVjdGl2ZXM7XG59XG5cbi8qKlxuICogQmxhY2tiYXVkIE9ubHkgLSBTcGVjaWZpZXMgY29uZmlndXJhdGlvbiBvcHRpb25zIGZvciBjb21tdW5pY2F0aW9uIHdpdGggU0tZIFVYIEhvc3QuXG4gKi9cbmV4cG9ydCBpbnRlcmZhY2UgU2t5dXhDb25maWdIb3N0IHtcbiAgYmJDaGVja291dD86IFNreXV4Q29uZmlnSG9zdEJCQ2hlY2tvdXQ7XG4gIGNzcD86IFNreXV4Q29uZmlnSG9zdENzcDtcbiAgZnJhbWVPcHRpb25zPzpcbiAgICB8IFNreXV4Q29uZmlnSG9zdEZyYW1lT3B0aW9uc05vbmVcbiAgICB8IFNreXV4Q29uZmlnSG9zdEZyYW1lT3B0aW9uc090aGVycztcbiAgdXJsPzogc3RyaW5nO1xufVxuXG5leHBvcnQgaW50ZXJmYWNlIFNreXV4Q29uZmlnQW55QWxsU2V0IHtcbiAgYW55Pzogc3RyaW5nW107XG4gIGFsbD86IHN0cmluZ1tdO1xufVxuXG5leHBvcnQgaW50ZXJmYWNlIFNreXV4Q29uZmlnIHtcbiAgJHNjaGVtYT86IHN0cmluZztcbiAgYTExeT86IFNreXV4Q29uZmlnQTExeSB8IGJvb2xlYW47XG4gIGFuZ3VsYXJTZXR0aW5ncz86IHtcbiAgICBkZWZhdWx0UHJvamVjdDogc3RyaW5nO1xuICB9O1xuICBhcHA/OiBTa3l1eENvbmZpZ0FwcDtcbiAgYXBwU2V0dGluZ3M/OiBhbnk7XG4gIGF1dGg/OiBib29sZWFuO1xuICBhdXRoU2V0dGluZ3M/OiBTa3l1eENvbmZpZ0F1dGhTZXR0aW5ncztcbiAgY29kZUNvdmVyYWdlVGhyZXNob2xkPzogJ25vbmUnIHwgJ3N0YW5kYXJkJyB8ICdzdHJpY3QnO1xuICBjb21tYW5kPzogc3RyaW5nO1xuICBjb21waWxlTW9kZT86IHN0cmluZztcbiAgY3NzUGF0aD86IHN0cmluZztcbiAgZGVwZW5kZW5jaWVzRm9yVHJhbnNwaWxhdGlvbj86IHN0cmluZ1tdO1xuICBlbmFibGVJdnk/OiBib29sZWFuO1xuICBoZWxwPzogYW55O1xuICBob3N0PzogU2t5dXhDb25maWdIb3N0O1xuICBpbXBvcnRQYXRoPzogc3RyaW5nO1xuICBsaWJyYXJ5U2V0dGluZ3M/OiBTa3l1eENvbmZpZ0xpYnJhcnlTZXR0aW5ncztcbiAgbW9kZT86IHN0cmluZztcbiAgbW9kdWxlQWxpYXNlcz86IHsgW2tleTogc3RyaW5nXTogc3RyaW5nIH07XG4gIG5hbWU/OiBzdHJpbmc7XG4gIHBhY3RzPzogYW55W107XG4gIHBhcmFtcz86IFNreXV4Q29uZmlnUGFyYW1zOyAvLyBMaXN0IG9mIGFsbG93ZWQgcGFyYW1zXG4gIHBpcGVsaW5lU2V0dGluZ3M/OiBhbnk7XG4gIHBsdWdpbnM/OiBzdHJpbmdbXTtcbiAgcmVkaXJlY3RzPzogeyBbZnJvbTogc3RyaW5nXTogc3RyaW5nIH07XG4gIHJvdXRlcz86IHtcbiAgICBwdWJsaWM/OiB7XG4gICAgICB0aXRsZT86IHN0cmluZztcbiAgICAgIGRlc2NyaXB0aW9uPzogc3RyaW5nO1xuICAgICAgZ2xvYmFsPzogYm9vbGVhbjtcbiAgICAgIHJvdXRlOiBzdHJpbmc7XG4gICAgICBjbGFpbXM/OiBTa3l1eENvbmZpZ0FueUFsbFNldDtcbiAgICAgIGVudGl0bGVtZW50VHlwZT86IHN0cmluZztcbiAgICAgIGVudGl0bGVtZW50cz86IFNreXV4Q29uZmlnQW55QWxsU2V0O1xuICAgICAgcGVybWlzc2lvbklkPzogc3RyaW5nO1xuICAgICAgcGVybWlzc2lvbnM/OiB7XG4gICAgICAgIGFkbWluPzogYm9vbGVhbjtcbiAgICAgICAgbGVnYWxFbnRpdHlBZG1pbj86IGJvb2xlYW47XG4gICAgICAgIHBlcm1pc3Npb25JZHM/OiBTa3l1eENvbmZpZ0FueUFsbFNldDtcbiAgICAgIH07XG4gICAgfVtdO1xuICAgIHJlZmVyZW5jZWQ/OiB7XG4gICAgICBhcHA6IHN0cmluZztcbiAgICAgIHJvdXRlOiBzdHJpbmc7XG4gICAgfVtdO1xuICB9O1xuICB0ZXN0U2V0dGluZ3M/OiBTa3l1eENvbmZpZ1Rlc3RTZXR0aW5ncztcbiAgb21uaWJhcj86IGFueTtcbiAgdXNlSGFzaFJvdXRpbmc/OiBib29sZWFuO1xuICBza3l1eE1vZHVsZXM/OiBzdHJpbmdbXTtcbn1cblxuQEluamVjdGFibGUoKVxuZXhwb3J0IGNsYXNzIFNreUFwcENvbmZpZyB7XG4gIC8vIEFueSBwcm9wZXJ0aWVzIGR5bmFtaWNhbGx5IGFkZGVkIHZpYSBjb2RlXG4gIHB1YmxpYyBydW50aW1lITogUnVudGltZUNvbmZpZztcblxuICAvLyBBbnkgcHJvcGVydGllcyBkZWZpbmVkIGluIG9yIGluaGVyaXRlZCBmcm9tIHNreXV4Y29uZmlnLmpzb24gLyBza3l1eGNvbmZpZy5jb21tYW5kLmpzb25cbiAgcHVibGljIHNreXV4ITogU2t5dXhDb25maWc7XG59XG4iXX0=
12
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiY29uZmlnLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vbGlicy9jb21wb25lbnRzL2NvbmZpZy9zcmMvbGliL2NvbmZpZy50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQUUsVUFBVSxFQUFFLE1BQU0sZUFBZSxDQUFDOztBQVkzQyxNQUFNLE9BQU8sZUFBZTtDQVMzQjtBQWtLRCxNQUFNLE9BQU8sWUFBWTs4R0FBWixZQUFZO2tIQUFaLFlBQVk7OzJGQUFaLFlBQVk7a0JBRHhCLFVBQVUiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBJbmplY3RhYmxlIH0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XG5cbmltcG9ydCB7IFNreXV4Q29uZmlnUGFyYW1zIH0gZnJvbSAnLi9jb25maWctcGFyYW1zJztcbmltcG9ydCB7IFNreUFwcFJ1bnRpbWVDb25maWdQYXJhbXMgfSBmcm9tICcuL3BhcmFtcyc7XG5cbmV4cG9ydCBpbnRlcmZhY2UgUnVudGltZUNvbmZpZ0FwcCB7XG4gIGJhc2U6IHN0cmluZztcbiAgaW5qZWN0OiBib29sZWFuO1xuICBuYW1lPzogc3RyaW5nO1xuICB0ZW1wbGF0ZTogc3RyaW5nO1xufVxuXG5leHBvcnQgY2xhc3MgU2t5dXhQYWN0Q29uZmlnIHtcbiAgcHVibGljIHByb3ZpZGVycz86IHtcbiAgICBbcHJvdmlkZXI6IHN0cmluZ106IHtcbiAgICAgIGhvc3Q/OiBzdHJpbmc7XG4gICAgICBwb3J0Pzogc3RyaW5nO1xuICAgICAgZnVsbFVybD86IHN0cmluZztcbiAgICB9O1xuICB9O1xuICBwdWJsaWMgcGFjdFByb3h5U2VydmVyPzogc3RyaW5nO1xufVxuXG5leHBvcnQgaW50ZXJmYWNlIFNreXV4Q29uZmlnRTJFVGVzdFNldHRpbmdzIHtcbiAgYnJvd3NlclNldD86ICdzcGVlZHknO1xufVxuXG5leHBvcnQgaW50ZXJmYWNlIFNreXV4Q29uZmlnVW5pdFRlc3RTZXR0aW5ncyB7XG4gIGJyb3dzZXJTZXQ/OiAnc3BlZWR5JyB8ICdxdWlya3knIHwgJ3BhcmFub2lkJztcbn1cblxuZXhwb3J0IGludGVyZmFjZSBTa3l1eENvbmZpZ1Rlc3RTZXR0aW5ncyB7XG4gIGUyZT86IFNreXV4Q29uZmlnRTJFVGVzdFNldHRpbmdzO1xuICB1bml0PzogU2t5dXhDb25maWdVbml0VGVzdFNldHRpbmdzO1xufVxuXG5leHBvcnQgaW50ZXJmYWNlIFNreXV4Q29uZmlnTGlicmFyeVNldHRpbmdzIHtcbiAgd2hpdGVsaXN0ZWROb25QZWVyRGVwZW5kZW5jaWVzPzogc3RyaW5nW107XG59XG5cbmV4cG9ydCBpbnRlcmZhY2UgUnVudGltZUNvbmZpZyB7XG4gIGFwcDogUnVudGltZUNvbmZpZ0FwcDtcbiAgY29tbWFuZD86IHN0cmluZzsgLy8gRHluYW1pY2FsbHkgYWRkZWQgaW4gXCJoaWdoZXIgdXBcIiB3ZWJwYWNrc1xuICBjb21wb25lbnRzUGF0dGVybjogc3RyaW5nO1xuICBjb21wb25lbnRzSWdub3JlUGF0dGVybjogc3RyaW5nO1xuICBoYW5kbGU0MDQ/OiBib29sZWFuOyAvLyBEeW5hbWljYWxseSBhZGRlZCBpbiBza3ktcGFnZXMtbW9kdWxlLWdlbmVyYXRvci5qc1xuICBpbmNsdWRlUm91dGVNb2R1bGU6IGJvb2xlYW47XG4gIHBhY3RDb25maWc/OiBTa3l1eFBhY3RDb25maWc7XG4gIHBhcmFtczogU2t5QXBwUnVudGltZUNvbmZpZ1BhcmFtcztcbiAgcm91dGVzPzogT2JqZWN0W107IC8vIER5bmFtaWNhbGx5IGFkZGVkIGluIHNreS1wYWdlcy1tb2R1bGUtZ2VuZXJhdG9yLmpzXG4gIHJvdXRlc1BhdHRlcm46IHN0cmluZztcbiAgcnVudGltZUFsaWFzOiBzdHJpbmc7XG4gIHNwYVBhdGhBbGlhczogc3RyaW5nO1xuICBza3lQYWdlc091dEFsaWFzOiBzdHJpbmc7XG4gIHNreXV4UGF0aEFsaWFzOiBzdHJpbmc7XG4gIHNyY1BhdGg6IHN0cmluZztcbiAgdXNlVGVtcGxhdGVVcmw6IGJvb2xlYW47XG59XG5cbmV4cG9ydCBpbnRlcmZhY2UgU2t5dXhDb25maWdBMTF5IHtcbiAgcnVsZXM/OiBhbnk7XG59XG5cbmV4cG9ydCB0eXBlIFNreXV4Q29uZmlnQXBwU3VwcG9ydGVkVGhlbWUgPSAnZGVmYXVsdCcgfCAnbW9kZXJuJztcblxuZXhwb3J0IGludGVyZmFjZSBTa3l1eENvbmZpZ0FwcFRoZW1pbmcge1xuICBzdXBwb3J0ZWRUaGVtZXM6IFNreXV4Q29uZmlnQXBwU3VwcG9ydGVkVGhlbWVbXTtcbiAgdGhlbWU6IFNreXV4Q29uZmlnQXBwU3VwcG9ydGVkVGhlbWU7XG59XG5cbmV4cG9ydCBpbnRlcmZhY2UgU2t5dXhDb25maWdBcHAge1xuICBiYXNlPzogc3RyaW5nO1xuICBleHRlcm5hbHM/OiBPYmplY3Q7XG4gIHBvcnQ/OiBzdHJpbmc7XG4gIHN0eWxlcz86IHN0cmluZ1tdO1xuICB0aGVtaW5nPzogU2t5dXhDb25maWdBcHBUaGVtaW5nO1xuICB0aXRsZT86IHN0cmluZztcbn1cblxuZXhwb3J0IGludGVyZmFjZSBTa3l1eENvbmZpZ0F1dGhTZXR0aW5ncyB7XG4gIGJsYWNrYmF1ZEVtcGxveWVlPzogYm9vbGVhbjtcbn1cblxuZXhwb3J0IGludGVyZmFjZSBTa3l1eENvbmZpZ0hvc3RCQkNoZWNrb3V0IHtcbiAgdmVyc2lvbjogJzInO1xufVxuXG5leHBvcnQgaW50ZXJmYWNlIFNreXV4Q29uZmlnSG9zdEZyYW1lT3B0aW9uc05vbmUge1xuICBibGFja2JhdWQ/OiBmYWxzZTtcbiAgbm9uZTogdHJ1ZTtcbiAgc2VsZj86IGZhbHNlO1xuICB1cmxzPzogW107XG59XG5cbmV4cG9ydCBpbnRlcmZhY2UgU2t5dXhDb25maWdIb3N0RnJhbWVPcHRpb25zT3RoZXJzIHtcbiAgYmxhY2tiYXVkPzogYm9vbGVhbjtcbiAgbm9uZT86IGZhbHNlO1xuICBzZWxmPzogYm9vbGVhbjtcbiAgdXJscz86IHN0cmluZ1tdO1xufVxuXG5leHBvcnQgaW50ZXJmYWNlIFNreXV4Q29uZmlnSG9zdENzcERpcmVjdGl2ZXMge1xuICBbZGlyZWN0aXZlTmFtZTogc3RyaW5nXTogc3RyaW5nW107XG59XG5cbmV4cG9ydCBpbnRlcmZhY2UgU2t5dXhDb25maWdIb3N0Q3NwIHtcbiAgZW5hYmxlZDogYm9vbGVhbjtcbiAgZGlyZWN0aXZlcz86IFNreXV4Q29uZmlnSG9zdENzcERpcmVjdGl2ZXM7XG59XG5cbi8qKlxuICogQmxhY2tiYXVkIE9ubHkgLSBTcGVjaWZpZXMgY29uZmlndXJhdGlvbiBvcHRpb25zIGZvciBjb21tdW5pY2F0aW9uIHdpdGggU0tZIFVYIEhvc3QuXG4gKi9cbmV4cG9ydCBpbnRlcmZhY2UgU2t5dXhDb25maWdIb3N0IHtcbiAgYmJDaGVja291dD86IFNreXV4Q29uZmlnSG9zdEJCQ2hlY2tvdXQ7XG4gIGNzcD86IFNreXV4Q29uZmlnSG9zdENzcDtcbiAgZnJhbWVPcHRpb25zPzpcbiAgICB8IFNreXV4Q29uZmlnSG9zdEZyYW1lT3B0aW9uc05vbmVcbiAgICB8IFNreXV4Q29uZmlnSG9zdEZyYW1lT3B0aW9uc090aGVycztcbiAgdXJsPzogc3RyaW5nO1xufVxuXG5leHBvcnQgaW50ZXJmYWNlIFNreXV4Q29uZmlnQW55QWxsU2V0IHtcbiAgYW55Pzogc3RyaW5nW107XG4gIGFsbD86IHN0cmluZ1tdO1xufVxuXG5leHBvcnQgaW50ZXJmYWNlIFNreXV4Q29uZmlnIHtcbiAgJHNjaGVtYT86IHN0cmluZztcbiAgYTExeT86IFNreXV4Q29uZmlnQTExeSB8IGJvb2xlYW47XG4gIGFuZ3VsYXJTZXR0aW5ncz86IHtcbiAgICBkZWZhdWx0UHJvamVjdDogc3RyaW5nO1xuICB9O1xuICBhcHA/OiBTa3l1eENvbmZpZ0FwcDtcbiAgYXBwU2V0dGluZ3M/OiBhbnk7XG4gIGF1dGg/OiBib29sZWFuO1xuICBhdXRoU2V0dGluZ3M/OiBTa3l1eENvbmZpZ0F1dGhTZXR0aW5ncztcbiAgY29kZUNvdmVyYWdlVGhyZXNob2xkPzogJ25vbmUnIHwgJ3N0YW5kYXJkJyB8ICdzdHJpY3QnO1xuICBjb21tYW5kPzogc3RyaW5nO1xuICBjb21waWxlTW9kZT86IHN0cmluZztcbiAgY3NzUGF0aD86IHN0cmluZztcbiAgZGVwZW5kZW5jaWVzRm9yVHJhbnNwaWxhdGlvbj86IHN0cmluZ1tdO1xuICBlbmFibGVJdnk/OiBib29sZWFuO1xuICBoZWxwPzogYW55O1xuICBob3N0PzogU2t5dXhDb25maWdIb3N0O1xuICBpbXBvcnRQYXRoPzogc3RyaW5nO1xuICBsaWJyYXJ5U2V0dGluZ3M/OiBTa3l1eENvbmZpZ0xpYnJhcnlTZXR0aW5ncztcbiAgbW9kZT86IHN0cmluZztcbiAgbW9kdWxlQWxpYXNlcz86IHsgW2tleTogc3RyaW5nXTogc3RyaW5nIH07XG4gIG5hbWU/OiBzdHJpbmc7XG4gIHBhY3RzPzogYW55W107XG4gIHBhcmFtcz86IFNreXV4Q29uZmlnUGFyYW1zOyAvLyBMaXN0IG9mIGFsbG93ZWQgcGFyYW1zXG4gIHBpcGVsaW5lU2V0dGluZ3M/OiBhbnk7XG4gIHBsdWdpbnM/OiBzdHJpbmdbXTtcbiAgcmVkaXJlY3RzPzogeyBbZnJvbTogc3RyaW5nXTogc3RyaW5nIH07XG4gIHJvdXRlcz86IHtcbiAgICBwdWJsaWM/OiB7XG4gICAgICB0aXRsZT86IHN0cmluZztcbiAgICAgIGRlc2NyaXB0aW9uPzogc3RyaW5nO1xuICAgICAgZ2xvYmFsPzogYm9vbGVhbjtcbiAgICAgIHJvdXRlOiBzdHJpbmc7XG4gICAgICBjbGFpbXM/OiBTa3l1eENvbmZpZ0FueUFsbFNldDtcbiAgICAgIGVudGl0bGVtZW50VHlwZT86IHN0cmluZztcbiAgICAgIGVudGl0bGVtZW50cz86IFNreXV4Q29uZmlnQW55QWxsU2V0O1xuICAgICAgcGVybWlzc2lvbklkPzogc3RyaW5nO1xuICAgICAgcGVybWlzc2lvbnM/OiB7XG4gICAgICAgIGFkbWluPzogYm9vbGVhbjtcbiAgICAgICAgbGVnYWxFbnRpdHlBZG1pbj86IGJvb2xlYW47XG4gICAgICAgIHBlcm1pc3Npb25JZHM/OiBTa3l1eENvbmZpZ0FueUFsbFNldDtcbiAgICAgIH07XG4gICAgfVtdO1xuICAgIHJlZmVyZW5jZWQ/OiB7XG4gICAgICBhcHA6IHN0cmluZztcbiAgICAgIHJvdXRlOiBzdHJpbmc7XG4gICAgfVtdO1xuICB9O1xuICB0ZXN0U2V0dGluZ3M/OiBTa3l1eENvbmZpZ1Rlc3RTZXR0aW5ncztcbiAgb21uaWJhcj86IGFueTtcbiAgdXNlSGFzaFJvdXRpbmc/OiBib29sZWFuO1xuICBza3l1eE1vZHVsZXM/OiBzdHJpbmdbXTtcbn1cblxuQEluamVjdGFibGUoKVxuZXhwb3J0IGNsYXNzIFNreUFwcENvbmZpZyB7XG4gIC8vIEFueSBwcm9wZXJ0aWVzIGR5bmFtaWNhbGx5IGFkZGVkIHZpYSBjb2RlXG4gIHB1YmxpYyBydW50aW1lITogUnVudGltZUNvbmZpZztcblxuICAvLyBBbnkgcHJvcGVydGllcyBkZWZpbmVkIGluIG9yIGluaGVyaXRlZCBmcm9tIHNreXV4Y29uZmlnLmpzb24gLyBza3l1eGNvbmZpZy5jb21tYW5kLmpzb25cbiAgcHVibGljIHNreXV4ITogU2t5dXhDb25maWc7XG59XG4iXX0=
@@ -0,0 +1,28 @@
1
+ import { Injectable, Optional } from '@angular/core';
2
+ import { SkyAppRuntimeConfigParams } from './params';
3
+ import * as i0 from "@angular/core";
4
+ import * as i1 from "./app-config-params";
5
+ /**
6
+ * Provides methods to interact with runtime config query parameters.
7
+ * @deprecated Use `SkyAppConfig.runtime.params` instead.
8
+ */
9
+ export class SkyAppRuntimeConfigParamsProvider {
10
+ get params() {
11
+ return this.#_params;
12
+ }
13
+ #_params;
14
+ constructor(configParams) {
15
+ this.#_params = new SkyAppRuntimeConfigParams(window.location.href, configParams?.params || {});
16
+ }
17
+ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "16.1.7", ngImport: i0, type: SkyAppRuntimeConfigParamsProvider, deps: [{ token: i1.SkyAppConfigParams, optional: true }], target: i0.ɵɵFactoryTarget.Injectable }); }
18
+ static { this.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "16.1.7", ngImport: i0, type: SkyAppRuntimeConfigParamsProvider, providedIn: 'root' }); }
19
+ }
20
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "16.1.7", ngImport: i0, type: SkyAppRuntimeConfigParamsProvider, decorators: [{
21
+ type: Injectable,
22
+ args: [{
23
+ providedIn: 'root',
24
+ }]
25
+ }], ctorParameters: function () { return [{ type: i1.SkyAppConfigParams, decorators: [{
26
+ type: Optional
27
+ }] }]; } });
28
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicGFyYW1zLXByb3ZpZGVyLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vbGlicy9jb21wb25lbnRzL2NvbmZpZy9zcmMvbGliL3BhcmFtcy1wcm92aWRlci50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQUUsVUFBVSxFQUFFLFFBQVEsRUFBRSxNQUFNLGVBQWUsQ0FBQztBQUdyRCxPQUFPLEVBQUUseUJBQXlCLEVBQUUsTUFBTSxVQUFVLENBQUM7OztBQUVyRDs7O0dBR0c7QUFJSCxNQUFNLE9BQU8saUNBQWlDO0lBQzVDLElBQVcsTUFBTTtRQUNmLE9BQU8sSUFBSSxDQUFDLFFBQVEsQ0FBQztJQUN2QixDQUFDO0lBRUQsUUFBUSxDQUE0QjtJQUVwQyxZQUF3QixZQUFpQztRQUN2RCxJQUFJLENBQUMsUUFBUSxHQUFHLElBQUkseUJBQXlCLENBQzNDLE1BQU0sQ0FBQyxRQUFRLENBQUMsSUFBSSxFQUNwQixZQUFZLEVBQUUsTUFBTSxJQUFJLEVBQUUsQ0FDM0IsQ0FBQztJQUNKLENBQUM7OEdBWlUsaUNBQWlDO2tIQUFqQyxpQ0FBaUMsY0FGaEMsTUFBTTs7MkZBRVAsaUNBQWlDO2tCQUg3QyxVQUFVO21CQUFDO29CQUNWLFVBQVUsRUFBRSxNQUFNO2lCQUNuQjs7MEJBUWMsUUFBUSIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IEluamVjdGFibGUsIE9wdGlvbmFsIH0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XG5cbmltcG9ydCB7IFNreUFwcENvbmZpZ1BhcmFtcyB9IGZyb20gJy4vYXBwLWNvbmZpZy1wYXJhbXMnO1xuaW1wb3J0IHsgU2t5QXBwUnVudGltZUNvbmZpZ1BhcmFtcyB9IGZyb20gJy4vcGFyYW1zJztcblxuLyoqXG4gKiBQcm92aWRlcyBtZXRob2RzIHRvIGludGVyYWN0IHdpdGggcnVudGltZSBjb25maWcgcXVlcnkgcGFyYW1ldGVycy5cbiAqIEBkZXByZWNhdGVkIFVzZSBgU2t5QXBwQ29uZmlnLnJ1bnRpbWUucGFyYW1zYCBpbnN0ZWFkLlxuICovXG5ASW5qZWN0YWJsZSh7XG4gIHByb3ZpZGVkSW46ICdyb290Jyxcbn0pXG5leHBvcnQgY2xhc3MgU2t5QXBwUnVudGltZUNvbmZpZ1BhcmFtc1Byb3ZpZGVyIHtcbiAgcHVibGljIGdldCBwYXJhbXMoKTogU2t5QXBwUnVudGltZUNvbmZpZ1BhcmFtcyB7XG4gICAgcmV0dXJuIHRoaXMuI19wYXJhbXM7XG4gIH1cblxuICAjX3BhcmFtczogU2t5QXBwUnVudGltZUNvbmZpZ1BhcmFtcztcblxuICBjb25zdHJ1Y3RvcihAT3B0aW9uYWwoKSBjb25maWdQYXJhbXM/OiBTa3lBcHBDb25maWdQYXJhbXMpIHtcbiAgICB0aGlzLiNfcGFyYW1zID0gbmV3IFNreUFwcFJ1bnRpbWVDb25maWdQYXJhbXMoXG4gICAgICB3aW5kb3cubG9jYXRpb24uaHJlZixcbiAgICAgIGNvbmZpZ1BhcmFtcz8ucGFyYW1zIHx8IHt9XG4gICAgKTtcbiAgfVxufVxuIl19
@@ -0,0 +1,175 @@
1
+ import { HttpParams, HttpUrlEncodingCodec } from '@angular/common/http';
2
+ /**
3
+ * Override Angular's default encoder because it excludes certain characters.
4
+ * @see https://github.com/angular/angular/blob/cb31dbc75ca4141d61cec3ba6e60505198208a0a/packages/common/http/src/params.ts#L96-L111
5
+ */
6
+ class UrlEncoder extends HttpUrlEncodingCodec {
7
+ encodeKey(key) {
8
+ return encodeURIComponent(key);
9
+ }
10
+ encodeValue(key) {
11
+ return encodeURIComponent(key);
12
+ }
13
+ }
14
+ /**
15
+ * Given a "url" (could be just querystring, or fully qualified),
16
+ * Returns the extracted HttpParams.
17
+ */
18
+ function getUrlSearchParams(url) {
19
+ let qs = '';
20
+ if (url.indexOf('?') > -1) {
21
+ qs = url.split('?')[1];
22
+ qs = qs.split('#')[0];
23
+ }
24
+ return new HttpParams({
25
+ encoder: new UrlEncoder(),
26
+ fromString: qs,
27
+ });
28
+ }
29
+ export class SkyAppRuntimeConfigParams {
30
+ #params = {};
31
+ #defaultParamValues = {};
32
+ #requiredParams = [];
33
+ #encodedParams = [];
34
+ #excludeFromLinksParams = new Set();
35
+ #excludeFromRequestsParams = new Set();
36
+ constructor(url, configParams) {
37
+ const allowed = [];
38
+ for (const paramName of Object.keys(configParams)) {
39
+ const configParam = configParams[paramName];
40
+ // The config param could be present but be set to false/undefined indicating
41
+ // an override of the default parameter.
42
+ if (configParam) {
43
+ allowed.push(paramName);
44
+ // A boolean value may be present to simply indicate that a parameter is allowed.
45
+ // If the type is object, look for additional config properties.
46
+ if (typeof configParam === 'object') {
47
+ const paramValue = configParam.value;
48
+ if (configParam.required) {
49
+ this.#requiredParams.push(paramName);
50
+ }
51
+ if (paramValue) {
52
+ this.#params[paramName] = paramValue;
53
+ this.#defaultParamValues[paramName] = paramValue;
54
+ }
55
+ if (configParam.excludeFromLinks) {
56
+ this.#excludeFromLinksParams.add(paramName);
57
+ }
58
+ if (configParam.excludeFromRequests) {
59
+ this.#excludeFromRequestsParams.add(paramName);
60
+ }
61
+ }
62
+ }
63
+ }
64
+ const httpParams = getUrlSearchParams(url);
65
+ // Get uppercase keys.
66
+ const allowedKeysUC = allowed.map((key) => key.toUpperCase());
67
+ const urlSearchParamKeys = Array.from(httpParams.keys());
68
+ // Filter to allowed params and override default values.
69
+ urlSearchParamKeys.forEach((givenKey) => {
70
+ const givenKeyUC = givenKey.toUpperCase();
71
+ allowedKeysUC.forEach((allowedKeyUC, index) => {
72
+ if (givenKeyUC === allowedKeyUC) {
73
+ const param = httpParams.get(givenKey);
74
+ if (param) {
75
+ this.#params[allowed[index]] = param;
76
+ this.#encodedParams.push(givenKey);
77
+ }
78
+ }
79
+ });
80
+ });
81
+ }
82
+ /**
83
+ * Does the key exist
84
+ */
85
+ has(key) {
86
+ return Object.prototype.hasOwnProperty.call(this.#params, key);
87
+ }
88
+ /**
89
+ * Are all the required params defined?
90
+ */
91
+ hasAllRequiredParams() {
92
+ if (this.#requiredParams.length === 0) {
93
+ return true;
94
+ }
95
+ return this.#requiredParams.every((param) => {
96
+ return this.#params[param] !== undefined;
97
+ });
98
+ }
99
+ /**
100
+ * Returns a flag indicating whether a parameter is required.
101
+ */
102
+ isRequired(key) {
103
+ return this.#requiredParams.indexOf(key) >= 0;
104
+ }
105
+ /**
106
+ * Returns the decoded value of the requested param.
107
+ * @param key The parameter's key.
108
+ */
109
+ get(key) {
110
+ if (this.has(key)) {
111
+ return this.#params[key];
112
+ }
113
+ return;
114
+ }
115
+ /**
116
+ * Returns the params object.
117
+ * @param excludeDefaults Exclude params that have default values
118
+ */
119
+ getAll(excludeDefaults) {
120
+ const filteredParams = {};
121
+ this.getAllKeys().forEach((key) => {
122
+ if (!excludeDefaults ||
123
+ this.#params[key] !== this.#defaultParamValues[key]) {
124
+ filteredParams[key] = this.#params[key];
125
+ }
126
+ });
127
+ return filteredParams;
128
+ }
129
+ /**
130
+ * Returns all keys for current params.
131
+ */
132
+ getAllKeys() {
133
+ return Object.keys(this.#params);
134
+ }
135
+ /**
136
+ * Adds the current params to the supplied URL.
137
+ */
138
+ getUrl(url) {
139
+ return this.#buildUrlWithParams(url, this.#excludeFromRequestsParams);
140
+ }
141
+ /**
142
+ * Adds the current params to the supplied link URL.
143
+ */
144
+ getLinkUrl(url) {
145
+ return this.#buildUrlWithParams(url, new Set([
146
+ ...this.#excludeFromRequestsParams,
147
+ ...this.#excludeFromLinksParams,
148
+ ]));
149
+ }
150
+ #buildUrlWithParams(url, excludeParams) {
151
+ const existingParams = getUrlSearchParams(url);
152
+ // When encoding the params, keep the requested params separate so that
153
+ // we can leave the existing params as-is.
154
+ let requestedParams = getUrlSearchParams('');
155
+ // Add requested parameters to the URL.
156
+ for (const key of this.getAllKeys()) {
157
+ if (!excludeParams.has(key) && !existingParams.has(key)) {
158
+ const decodedValue = this.get(key);
159
+ if (decodedValue) {
160
+ requestedParams = requestedParams.set(key, decodedValue);
161
+ }
162
+ }
163
+ }
164
+ // Combine all requested parameters and their values, e.g. 'a=b'.
165
+ const joinedParams = requestedParams.toString();
166
+ // Build and return the final URL.
167
+ const [beforeFragment, fragment] = url.split('#', 2);
168
+ const delimiter = url.includes('?') ? '&' : '?';
169
+ return joinedParams.length === 0
170
+ ? url
171
+ : `${beforeFragment}${delimiter}${joinedParams}` +
172
+ (fragment ? `#${fragment}` : '');
173
+ }
174
+ }
175
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicGFyYW1zLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vbGlicy9jb21wb25lbnRzL2NvbmZpZy9zcmMvbGliL3BhcmFtcy50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQUUsVUFBVSxFQUFFLG9CQUFvQixFQUFFLE1BQU0sc0JBQXNCLENBQUM7QUFJeEU7OztHQUdHO0FBQ0gsTUFBTSxVQUFXLFNBQVEsb0JBQW9CO0lBQzNCLFNBQVMsQ0FBQyxHQUE4QjtRQUN0RCxPQUFPLGtCQUFrQixDQUFDLEdBQUcsQ0FBQyxDQUFDO0lBQ2pDLENBQUM7SUFFZSxXQUFXLENBQUMsR0FBOEI7UUFDeEQsT0FBTyxrQkFBa0IsQ0FBQyxHQUFHLENBQUMsQ0FBQztJQUNqQyxDQUFDO0NBQ0Y7QUFFRDs7O0dBR0c7QUFDSCxTQUFTLGtCQUFrQixDQUFDLEdBQVc7SUFDckMsSUFBSSxFQUFFLEdBQUcsRUFBRSxDQUFDO0lBRVosSUFBSSxHQUFHLENBQUMsT0FBTyxDQUFDLEdBQUcsQ0FBQyxHQUFHLENBQUMsQ0FBQyxFQUFFO1FBQ3pCLEVBQUUsR0FBRyxHQUFHLENBQUMsS0FBSyxDQUFDLEdBQUcsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDO1FBQ3ZCLEVBQUUsR0FBRyxFQUFFLENBQUMsS0FBSyxDQUFDLEdBQUcsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDO0tBQ3ZCO0lBRUQsT0FBTyxJQUFJLFVBQVUsQ0FBQztRQUNwQixPQUFPLEVBQUUsSUFBSSxVQUFVLEVBQUU7UUFDekIsVUFBVSxFQUFFLEVBQUU7S0FDZixDQUFDLENBQUM7QUFDTCxDQUFDO0FBRUQsTUFBTSxPQUFPLHlCQUF5QjtJQUNwQyxPQUFPLEdBQTJCLEVBQUUsQ0FBQztJQUVyQyxtQkFBbUIsR0FBMkIsRUFBRSxDQUFDO0lBRWpELGVBQWUsR0FBYSxFQUFFLENBQUM7SUFFL0IsY0FBYyxHQUFhLEVBQUUsQ0FBQztJQUU5Qix1QkFBdUIsR0FB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LEdBQUcsQ0FBQztRQUVoRCxPQUFPLFlBQVksQ0FBQyxNQUFNLEtBQUssQ0FBQztZQUM5QixDQUFDLENBQUMsR0FBRztZQUNMLENBQUMsQ0FBQyxHQUFHLGNBQWMsR0FBRyxTQUFTLEdBQUcsWUFBWSxFQUFFO2dCQUM1QyxDQUFDLFFBQVEsQ0FBQyxDQUFDLENBQUMsSUFBSSxRQUFRLEVBQUUsQ0FBQyxDQUFDLENBQUMsRUFBRSxDQUFDLENBQUM7SUFDekMsQ0FBQztDQUNGIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgSHR0cFBhcmFtcywgSHR0cFVybEVuY29kaW5nQ29kZWMgfSBmcm9tICdAYW5ndWxhci9jb21tb24vaHR0cCc7XG5cbmltcG9ydCB7IFNreXV4Q29uZmlnUGFyYW1zIH0gZnJvbSAnLi9jb25maWctcGFyYW1zJztcblxuLyoqXG4gKiBPdmVycmlkZSBBbmd1bGFyJ3MgZGVmYXVsdCBlbmNvZGVyIGJlY2F1c2UgaXQgZXhjbHVkZXMgY2VydGFpbiBjaGFyYWN0ZXJzLlxuICogQHNlZSBodHRwczovL2dpdGh1Yi5jb20vYW5ndWxhci9hbmd1bGFyL2Jsb2IvY2IzMWRiYzc1Y2E0MTQxZDYxY2VjM2JhNmU2MDUwNTE5ODIwOGEwYS9wYWNrYWdlcy9jb21tb24vaHR0cC9zcmMvcGFyYW1zLnRzI0w5Ni1MMTExXG4gKi9cbmNsYXNzIFVybEVuY29kZXIgZXh0ZW5kcyBIdHRwVXJsRW5jb2RpbmdDb2RlYyB7XG4gIHB1YmxpYyBvdmVycmlkZSBlbmNvZGVLZXkoa2V5OiBzdHJpbmcgfCBudW1iZXIgfCBib29sZWFuKTogc3RyaW5nIHtcbiAgICByZXR1cm4gZW5jb2RlVVJJQ29tcG9uZW50KGtleSk7XG4gIH1cblxuICBwdWJsaWMgb3ZlcnJpZGUgZW5jb2RlVmFsdWUoa2V5OiBzdHJpbmcgfCBudW1iZXIgfCBib29sZWFuKTogc3RyaW5nIHtcbiAgICByZXR1cm4gZW5jb2RlVVJJQ29tcG9uZW50KGtleSk7XG4gIH1cbn1cblxuLyoqXG4gKiBHaXZlbiBhIFwidXJsXCIgKGNvdWxkIGJlIGp1c3QgcXVlcnlzdHJpbmcsIG9yIGZ1bGx5IHF1YWxpZmllZCksXG4gKiBSZXR1cm5zIHRoZSBleHRyYWN0ZWQgSHR0cFBhcmFtcy5cbiAqL1xuZnVuY3Rpb24gZ2V0VXJsU2VhcmNoUGFyYW1zKHVybDogc3RyaW5nKTogSHR0cFBhcmFtcyB7XG4gIGxldCBxcyA9ICcnO1xuXG4gIGlmICh1cmwuaW5kZXhPZignPycpID4gLTEpIHtcbiAgICBxcyA9IHVybC5zcGxpdCgnPycpWzFdO1xuICAgIHFzID0gcXMuc3BsaXQoJyMnKVswXTtcbiAgfVxuXG4gIHJldHVybiBuZXcgSHR0cFBhcmFtcyh7XG4gICAgZW5jb2RlcjogbmV3IFVybEVuY29kZXIoKSxcbiAgICBmcm9tU3RyaW5nOiBxcyxcbiAgfSk7XG59XG5cbmV4cG9ydCBjbGFzcyBTa3lBcHBSdW50aW1lQ29uZmlnUGFyYW1zIHtcbiAgI3BhcmFtczogUmVjb3JkPHN0cmluZywgc3RyaW5nPiA9IHt9O1xuXG4gICNkZWZhdWx0UGFyYW1WYWx1ZXM6IFJlY29yZDxzdHJpbmcsIHN0cmluZz4gPSB7fTtcblxuICAjcmVxdWlyZWRQYXJhbXM6IHN0cmluZ1tdID0gW107XG5cbiAgI2VuY29kZWRQYXJhbXM6IHN0cmluZ1tdID0gW107XG5cbiAgI2V4Y2x1ZGVGcm9tTGlua3NQYXJhbXMgPSBuZXcgU2V0PHN0cmluZz4oKTtcbiAgI2V4Y2x1ZGVGcm9tUmVxdWVzdHNQYXJhbXMgPSBuZXcgU2V0PHN0cmluZz4oKTtcblxuICBjb25zdHJ1Y3Rvcih1cmw6IHN0cmluZywgY29uZmlnUGFyYW1zOiBTa3l1eENvbmZpZ1BhcmFtcykge1xuICAgIGNvbnN0IGFsbG93ZWQ6IHN0cmluZ1tdID0gW107XG5cbiAgICBmb3IgKGNvbnN0IHBhcmFtTmFtZSBvZiBPYmplY3Qua2V5cyhjb25maWdQYXJhbXMpKSB7XG4gICAgICBjb25zdCBjb25maWdQYXJhbSA9IGNvbmZpZ1BhcmFtc1twYXJhbU5hbWVdO1xuXG4gICAgICAvLyBUaGUgY29uZmlnIHBhcmFtIGNvdWxkIGJlIHByZXNlbnQgYnV0IGJlIHNldCB0byBmYWxzZS91bmRlZmluZWQgaW5kaWNhdGluZ1xuICAgICAgLy8gYW4gb3ZlcnJpZGUgb2YgdGhlIGRlZmF1bHQgcGFyYW1ldGVyLlxuICAgICAgaWYgKGNvbmZpZ1BhcmFtKSB7XG4gICAgICAgIGFsbG93ZWQucHVzaChwYXJhbU5hbWUpO1xuXG4gICAgICAgIC8vIEEgYm9vbGVhbiB2YWx1ZSBtYXkgYmUgcHJlc2VudCB0byBzaW1wbHkgaW5kaWNhdGUgdGhhdCBhIHBhcmFtZXRlciBpcyBhbGxvd2VkLlxuICAgICAgICAvLyBJZiB0aGUgdHlwZSBpcyBvYmplY3QsIGxvb2sgZm9yIGFkZGl0aW9uYWwgY29uZmlnIHByb3BlcnRpZXMuXG4gICAgICAgIGlmICh0eXBlb2YgY29uZmlnUGFyYW0gPT09ICdvYmplY3QnKSB7XG4gICAgICAgICAgY29uc3QgcGFyYW1WYWx1ZSA9IGNvbmZpZ1BhcmFtLnZhbHVlO1xuXG4gICAgICAgICAgaWYgKGNvbmZpZ1BhcmFtLnJlcXVpcmVkKSB7XG4gICAgICAgICAgICB0aGlzLiNyZXF1aXJlZFBhcmFtcy5wdXNoKHBhcmFtTmFtZSk7XG4gICAgICAgICAgfVxuXG4gICAgICAgICAgaWYgKHBhcmFtVmFsdWUpIHtcbiAgICAgICAgICAgIHRoaXMuI3BhcmFtc1twYXJhbU5hbWVdID0gcGFyYW1WYWx1ZTtcbiAgICAgICAgICAgIHRoaXMuI2RlZmF1bHRQYXJhbVZhbHVlc1twYXJhbU5hbWVdID0gcGFyYW1WYWx1ZTtcbiAgICAgICAgICB9XG5cbiAgICAgICAgICBpZiAoY29uZmlnUGFyYW0uZXhjbHVkZUZyb21MaW5rcykge1xuICAgICAgICAgICAgdGhpcy4jZXhjbHVkZUZyb21MaW5rc1BhcmFtcy5hZGQocGFyYW1OYW1lKTtcbiAgICAgICAgICB9XG5cbiAgICAgICAgICBpZiAoY29uZmlnUGFyYW0uZXhjbHVkZUZyb21SZXF1ZXN0cykge1xuICAgICAgICAgICAgdGhpcy4jZXhjbHVkZUZyb21SZXF1ZXN0c1BhcmFtcy5hZGQocGFyYW1OYW1lKTtcbiAgICAgICAgICB9XG4gICAgICAgIH1cbiAgICAgIH1cbiAgICB9XG5cbiAgICBjb25zdCBodHRwUGFyYW1zID0gZ2V0VXJsU2VhcmNoUGFyYW1zKHVybCk7XG5cbiAgICAvLyBHZXQgdXBwZXJjYXNlIGtleXMuXG4gICAgY29uc3QgYWxsb3dlZEtleXNVQyA9IGFsbG93ZWQubWFwKChrZXkpID0+IGtleS50b1VwcGVyQ2FzZSgpKTtcbiAgICBjb25zdCB1cmxTZWFyY2hQYXJhbUtleXMgPSBBcnJheS5mcm9tKGh0dHBQYXJhbXMua2V5cygpKTtcblxuICAgIC8vIEZpbHRlciB0byBhbGxvd2VkIHBhcmFtcyBhbmQgb3ZlcnJpZGUgZGVmYXVsdCB2YWx1ZXMuXG4gICAgdXJsU2VhcmNoUGFyYW1LZXlzLmZvckVhY2goKGdpdmVuS2V5KSA9PiB7XG4gICAgICBjb25zdCBnaXZlbktleVVDID0gZ2l2ZW5LZXkudG9VcHBlckNhc2UoKTtcbiAgICAgIGFsbG93ZWRLZXlzVUMuZm9yRWFjaCgoYWxsb3dlZEtleVVDLCBpbmRleCkgPT4ge1xuICAgICAgICBpZiAoZ2l2ZW5LZXlVQyA9PT0gYWxsb3dlZEtleVVDKSB7XG4gICAgICAgICAgY29uc3QgcGFyYW0gPSBodHRwUGFyYW1zLmdldChnaXZlbktleSk7XG5cbiAgICAgICAgICBpZiAocGFyYW0pIHtcbiAgICAgICAgICAgIHRoaXMuI3BhcmFtc1thbGxvd2VkW2luZGV4XV0gPSBwYXJhbTtcbiAgICAgICAgICAgIHRoaXMuI2VuY29kZWRQYXJhbXMucHVzaChnaXZlbktleSk7XG4gICAgICAgICAgfVxuICAgICAgICB9XG4gICAgICB9KTtcbiAgICB9KTtcbiAgfVxuXG4gIC8qKlxuICAgKiBEb2VzIHRoZSBrZXkgZXhpc3RcbiAgICovXG4gIHB1YmxpYyBoYXMoa2V5OiBzdHJpbmcpOiBib29sZWFuIHtcbiAgICByZXR1cm4gT2JqZWN0LnByb3RvdHlwZS5oYXNPd25Qcm9wZXJ0eS5jYWxsKHRoaXMuI3BhcmFtcywga2V5KTtcbiAgfVxuXG4gIC8qKlxuICAgKiBBcmUgYWxsIHRoZSByZXF1aXJlZCBwYXJhbXMgZGVmaW5lZD9cbiAgICovXG4gIHB1YmxpYyBoYXNBbGxSZXF1aXJlZFBhcmFtcygpOiBib29sZWFuIHtcbiAgICBpZiAodGhpcy4jcmVxdWlyZWRQYXJhbXMubGVuZ3RoID09PSAwKSB7XG4gICAgICByZXR1cm4gdHJ1ZTtcbiAgICB9XG5cbiAgICByZXR1cm4gdGhpcy4jcmVxdWlyZWRQYXJhbXMuZXZlcnkoKHBhcmFtOiBzdHJpbmcpID0+IHtcbiAgICAgIHJldHVybiB0aGlzLiNwYXJhbXNbcGFyYW1dICE9PSB1bmRlZmluZWQ7XG4gICAgfSk7XG4gIH1cblxuICAvKipcbiAgICogUmV0dXJucyBhIGZsYWcgaW5kaWNhdGluZyB3aGV0aGVyIGEgcGFyYW1ldGVyIGlzIHJlcXVpcmVkLlxuICAgKi9cbiAgcHVibGljIGlzUmVxdWlyZWQoa2V5OiBzdHJpbmcpOiBib29sZWFuIHtcbiAgICByZXR1cm4gdGhpcy4jcmVxdWlyZWRQYXJhbXMuaW5kZXhPZihrZXkpID49IDA7XG4gIH1cblxuICAvKipcbiAgICogUmV0dXJucyB0aGUgZGVjb2RlZCB2YWx1ZSBvZiB0aGUgcmVxdWVzdGVkIHBhcmFtLlxuICAgKiBAcGFyYW0ga2V5IFRoZSBwYXJhbWV0ZXIncyBrZXkuXG4gICAqL1xuICBwdWJsaWMgZ2V0KGtleTogc3RyaW5nKTogc3RyaW5nIHwgdW5kZWZpbmVkIHtcbiAgICBpZiAodGhpcy5oYXMoa2V5KSkge1xuICAgICAgcmV0dXJuIHRoaXMuI3BhcmFtc1trZXldO1xuICAgIH1cblxuICAgIHJldHVybjtcbiAgfVxuXG4gIC8qKlxuICAgKiBSZXR1cm5zIHRoZSBwYXJhbXMgb2JqZWN0LlxuICAgKiBAcGFyYW0gZXhjbHVkZURlZmF1bHRzIEV4Y2x1ZGUgcGFyYW1zIHRoYXQgaGF2ZSBkZWZhdWx0IHZhbHVlc1xuICAgKi9cbiAgcHVibGljIGdldEFsbChleGNsdWRlRGVmYXVsdHM/OiBib29sZWFuKTogUmVjb3JkPHN0cmluZywgc3RyaW5nPiB7XG4gICAgY29uc3QgZmlsdGVyZWRQYXJhbXM6IFJlY29yZDxzdHJpbmcsIHN0cmluZz4gPSB7fTtcblxuICAgIHRoaXMuZ2V0QWxsS2V5cygpLmZvckVhY2goKGtleSkgPT4ge1xuICAgICAgaWYgKFxuICAgICAgICAhZXhjbHVkZURlZmF1bHRzIHx8XG4gICAgICAgIHRoaXMuI3BhcmFtc1trZXldICE9PSB0aGlzLiNkZWZhdWx0UGFyYW1WYWx1ZXNba2V5XVxuICAgICAgKSB7XG4gICAgICAgIGZpbHRlcmVkUGFyYW1zW2tleV0gPSB0aGlzLiNwYXJhbXNba2V5XTtcbiAgICAgIH1cbiAgICB9KTtcblxuICAgIHJldHVybiBmaWx0ZXJlZFBhcmFtcztcbiAgfVxuXG4gIC8qKlxuICAgKiBSZXR1cm5zIGFsbCBrZXlzIGZvciBjdXJyZW50IHBhcmFtcy5cbiAgICovXG4gIHB1YmxpYyBnZXRBbGxLZXlzKCk6IHN0cmluZ1tdIHtcbiAgICByZXR1cm4gT2JqZWN0LmtleXModGhpcy4jcGFyYW1zKTtcbiAgfVxuXG4gIC8qKlxuICAgKiBBZGRzIHRoZSBjdXJyZW50IHBhcmFtcyB0byB0aGUgc3VwcGxpZWQgVVJMLlxuICAgKi9cbiAgcHVibGljIGdldFVybCh1cmw6IHN0cmluZyk6IHN0cmluZyB7XG4gICAgcmV0dXJuIHRoaXMuI2J1aWxkVXJsV2l0aFBhcmFtcyh1cmwsIHRoaXMuI2V4Y2x1ZGVGcm9tUmVxdWVzdHNQYXJhbXMpO1xuICB9XG5cbiAgLyoqXG4gICAqIEFkZHMgdGhlIGN1cnJlbnQgcGFyYW1zIHRvIHRoZSBzdXBwbGllZCBsaW5rIFVSTC5cbiAgICovXG4gIHB1YmxpYyBnZXRMaW5rVXJsKHVybDogc3RyaW5nKTogc3RyaW5nIHtcbiAgICByZXR1cm4gdGhpcy4jYnVpbGRVcmxXaXRoUGFyYW1zKFxuICAgICAgdXJsLFxuICAgICAgbmV3IFNldChbXG4gICAgICAgIC4uLnRoaXMuI2V4Y2x1ZGVGcm9tUmVxdWVzdHNQYXJhbXMsXG4gICAgICAgIC4uLnRoaXMuI2V4Y2x1ZGVGcm9tTGlua3NQYXJhbXMsXG4gICAgICBdKVxuICAgICk7XG4gIH1cblxuICAjYnVpbGRVcmxXaXRoUGFyYW1zKHVybDogc3RyaW5nLCBleGNsdWRlUGFyYW1zOiBTZXQ8c3RyaW5nPik6IHN0cmluZyB7XG4gICAgY29uc3QgZXhpc3RpbmdQYXJhbXMgPSBnZXRVcmxTZWFyY2hQYXJhbXModXJsKTtcblxuICAgIC8vIFdoZW4gZW5jb2RpbmcgdGhlIHBhcmFtcywga2VlcCB0aGUgcmVxdWVzdGVkIHBhcmFtcyBzZXBhcmF0ZSBzbyB0aGF0XG4gICAgLy8gd2UgY2FuIGxlYXZlIHRoZSBleGlzdGluZyBwYXJhbXMgYXMtaXMuXG4gICAgbGV0IHJlcXVlc3RlZFBhcmFtcyA9IGdldFVybFNlYXJjaFBhcmFtcygnJyk7XG5cbiAgICAvLyBBZGQgcmVxdWVzdGVkIHBhcmFtZXRlcnMgdG8gdGhlIFVSTC5cbiAgICBmb3IgKGNvbnN0IGtleSBvZiB0aGlzLmdldEFsbEtleXMoKSkge1xuICAgICAgaWYgKCFleGNsdWRlUGFyYW1zLmhhcyhrZXkpICYmICFleGlzdGluZ1BhcmFtcy5oYXMoa2V5KSkge1xuICAgICAgICBjb25zdCBkZWNvZGVkVmFsdWUgPSB0aGlzLmdldChrZXkpO1xuICAgICAgICBpZiAoZGVjb2RlZFZhbHVlKSB7XG4gICAgICAgICAgcmVxdWVzdGVkUGFyYW1zID0gcmVxdWVzdGVkUGFyYW1zLnNldChrZXksIGRlY29kZWRWYWx1ZSk7XG4gICAgICAgIH1cbiAgICAgIH1cbiAgICB9XG5cbiAgICAvLyBDb21iaW5lIGFsbCByZXF1ZXN0ZWQgcGFyYW1ldGVycyBhbmQgdGhlaXIgdmFsdWVzLCBlLmcuICdhPWInLlxuICAgIGNvbnN0IGpvaW5lZFBhcmFtcyA9IHJlcXVlc3RlZFBhcmFtcy50b1N0cmluZygpO1xuXG4gICAgLy8gQnVpbGQgYW5kIHJldHVybiB0aGUgZmluYWwgVVJMLlxuICAgIGNvbnN0IFtiZWZvcmVGcmFnbWVudCwgZnJhZ21lbnRdID0gdXJsLnNwbGl0KCcjJywgMik7XG4gICAgY29uc3QgZGVsaW1pdGVyID0gdXJsLmluY2x1ZGVzKCc/JykgPyAnJicgOiAnPyc7XG5cbiAgICByZXR1cm4gam9pbmVkUGFyYW1zLmxlbmd0aCA9PT0gMFxuICAgICAgPyB1cmxcbiAgICAgIDogYCR7YmVmb3JlRnJhZ21lbnR9JHtkZWxpbWl0ZXJ9JHtqb2luZWRQYXJhbXN9YCArXG4gICAgICAgICAgKGZyYWdtZW50ID8gYCMke2ZyYWdtZW50fWAgOiAnJyk7XG4gIH1cbn1cbiJdfQ==