@mediusinc/mng-commons 0.4.3 → 0.4.6
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/esm2020/lib/config/models/mng-config.model.mjs +1 -1
- package/esm2020/lib/mng-commons.module.mjs +5 -3
- package/esm2020/lib/services/commons.service.mjs +9 -10
- package/esm2020/lib/services/configuration.service.mjs +53 -19
- package/esm2020/lib/services/internal/commons-init.provider.mjs +4 -0
- package/esm2020/lib/services/internal/commons-init.service.mjs +44 -0
- package/esm2020/lib/services/internal/index.mjs +3 -0
- package/esm2020/lib/services/providers/config-service.provider.mjs +13 -3
- package/esm2020/lib/services/providers/index.mjs +1 -2
- package/esm2020/lib/services/tokens/commons-init.token.mjs +3 -0
- package/esm2020/lib/services/tokens/index.mjs +2 -1
- package/esm2020/lib/utils/i18n.util.mjs +4 -5
- package/esm2020/public-api.mjs +3 -1
- package/fesm2015/mediusinc-mng-commons.mjs +122 -38
- package/fesm2015/mediusinc-mng-commons.mjs.map +1 -1
- package/fesm2020/mediusinc-mng-commons.mjs +116 -36
- package/fesm2020/mediusinc-mng-commons.mjs.map +1 -1
- package/lib/config/models/mng-config.model.d.ts +1 -1
- package/lib/services/commons.service.d.ts +4 -4
- package/lib/services/configuration.service.d.ts +3 -2
- package/lib/services/internal/commons-init.provider.d.ts +3 -0
- package/lib/services/internal/commons-init.service.d.ts +16 -0
- package/lib/services/internal/index.d.ts +2 -0
- package/lib/services/providers/config-service.provider.d.ts +2 -1
- package/lib/services/providers/index.d.ts +0 -1
- package/lib/services/tokens/commons-init.token.d.ts +3 -0
- package/lib/services/tokens/index.d.ts +1 -0
- package/package.json +1 -1
- package/public-api.d.ts +1 -0
- package/esm2020/lib/services/providers/commons-init.provider.mjs +0 -4
- package/lib/services/providers/commons-init.provider.d.ts +0 -2
|
@@ -1,4 +1,5 @@
|
|
|
1
|
-
import { of } from 'rxjs';
|
|
1
|
+
import { combineLatest, of } from 'rxjs';
|
|
2
|
+
import { map } from 'rxjs/operators';
|
|
2
3
|
import { MngConfigurationService } from '../configuration.service';
|
|
3
4
|
export const mngConfigurationServiceProvider = (httpClient, moduleConfig) => {
|
|
4
5
|
const service = MngConfigurationService.init(httpClient);
|
|
@@ -13,8 +14,17 @@ export function mngConfigJsonAppInitializerProvider(configService, moduleConfig)
|
|
|
13
14
|
return of(false);
|
|
14
15
|
}
|
|
15
16
|
else {
|
|
16
|
-
|
|
17
|
+
const jsonSource = moduleConfig?.configuration?.jsonSource;
|
|
18
|
+
if (!jsonSource) {
|
|
19
|
+
return configService.addJsonSource();
|
|
20
|
+
}
|
|
21
|
+
else if (Array.isArray(jsonSource)) {
|
|
22
|
+
return combineLatest(jsonSource.map(source => configService.addJsonSource(source))).pipe(map(sourcesRes => sourcesRes.every(s => s)));
|
|
23
|
+
}
|
|
24
|
+
else {
|
|
25
|
+
return configService.addJsonSource(jsonSource);
|
|
26
|
+
}
|
|
17
27
|
}
|
|
18
28
|
};
|
|
19
29
|
}
|
|
20
|
-
//# sourceMappingURL=data:application/json;base64,
|
|
30
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiY29uZmlnLXNlcnZpY2UucHJvdmlkZXIuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi9zcmMvbGliL3NlcnZpY2VzL3Byb3ZpZGVycy9jb25maWctc2VydmljZS5wcm92aWRlci50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFFQSxPQUFPLEVBQWEsYUFBYSxFQUFFLEVBQUUsRUFBQyxNQUFNLE1BQU0sQ0FBQztBQUNuRCxPQUFPLEVBQUMsR0FBRyxFQUFDLE1BQU0sZ0JBQWdCLENBQUM7QUFHbkMsT0FBTyxFQUFDLHVCQUF1QixFQUFDLE1BQU0sMEJBQTBCLENBQUM7QUFFakUsTUFBTSxDQUFDLE1BQU0sK0JBQStCLEdBQUcsQ0FBQyxVQUFzQixFQUFFLFlBQTZCLEVBQTJCLEVBQUU7SUFDOUgsTUFBTSxPQUFPLEdBQUcsdUJBQXVCLENBQUMsSUFBSSxDQUFDLFVBQVUsQ0FBQyxDQUFDO0lBQ3pELElBQUksWUFBWSxFQUFFLGFBQWEsRUFBRSxrQkFBa0IsRUFBRTtRQUNqRCxPQUFPLENBQUMsb0JBQW9CLENBQUMsWUFBWSxDQUFDLGFBQWEsQ0FBQyxrQkFBa0IsQ0FBQyxDQUFDO0tBQy9FO0lBQ0QsT0FBTyxPQUFPLENBQUM7QUFDbkIsQ0FBQyxDQUFDO0FBRUYsTUFBTSxVQUFVLG1DQUFtQyxDQUFDLGFBQXNDLEVBQUUsWUFBNkI7SUFDckgsT0FBTyxHQUFHLEVBQUU7UUFDUixJQUFJLFlBQVksRUFBRSxhQUFhLEVBQUUsa0JBQWtCLEVBQUU7WUFDakQsT0FBTyxFQUFFLENBQUMsS0FBSyxDQUFDLENBQUM7U0FDcEI7YUFBTTtZQUNILE1BQU0sVUFBVSxHQUFHLFlBQVksRUFBRSxhQUFhLEVBQUUsVUFBVSxDQUFDO1lBQzNELElBQUksQ0FBQyxVQUFVLEVBQUU7Z0JBQ2IsT0FBTyxhQUFhLENBQUMsYUFBYSxFQUFFLENBQUM7YUFDeEM7aUJBQU0sSUFBSSxLQUFLLENBQUMsT0FBTyxDQUFDLFVBQVUsQ0FBQyxFQUFFO2dCQUNsQyxPQUFPLGFBQWEsQ0FBQyxVQUFVLENBQUMsR0FBRyxDQUFDLE1BQU0sQ0FBQyxFQUFFLENBQUMsYUFBYSxDQUFDLGFBQWEsQ0FBQyxNQUFNLENBQUMsQ0FBQyxDQUFDLENBQUMsSUFBSSxDQUFDLEdBQUcsQ0FBQyxVQUFVLENBQUMsRUFBRSxDQUFDLFVBQVUsQ0FBQyxLQUFLLENBQUMsQ0FBQyxDQUFDLEVBQUUsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUM7YUFDekk7aUJBQU07Z0JBQ0gsT0FBTyxhQUFhLENBQUMsYUFBYSxDQUFDLFVBQVUsQ0FBQyxDQUFDO2FBQ2xEO1NBQ0o7SUFDTCxDQUFDLENBQUM7QUFDTixDQUFDIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHtIdHRwQ2xpZW50fSBmcm9tICdAYW5ndWxhci9jb21tb24vaHR0cCc7XG5cbmltcG9ydCB7T2JzZXJ2YWJsZSwgY29tYmluZUxhdGVzdCwgb2Z9IGZyb20gJ3J4anMnO1xuaW1wb3J0IHttYXB9IGZyb20gJ3J4anMvb3BlcmF0b3JzJztcblxuaW1wb3J0IHtNbmdNb2R1bGVDb25maWd9IGZyb20gJy4uLy4uL2NvbmZpZy9tb2RlbHMnO1xuaW1wb3J0IHtNbmdDb25maWd1cmF0aW9uU2VydmljZX0gZnJvbSAnLi4vY29uZmlndXJhdGlvbi5zZXJ2aWNlJztcblxuZXhwb3J0IGNvbnN0IG1uZ0NvbmZpZ3VyYXRpb25TZXJ2aWNlUHJvdmlkZXIgPSAoaHR0cENsaWVudDogSHR0cENsaWVudCwgbW9kdWxlQ29uZmlnOiBNbmdNb2R1bGVDb25maWcpOiBNbmdDb25maWd1cmF0aW9uU2VydmljZSA9PiB7XG4gICAgY29uc3Qgc2VydmljZSA9IE1uZ0NvbmZpZ3VyYXRpb25TZXJ2aWNlLmluaXQoaHR0cENsaWVudCk7XG4gICAgaWYgKG1vZHVsZUNvbmZpZz8uY29uZmlndXJhdGlvbj8ucHJvamVjdEVudmlyb25tZW50KSB7XG4gICAgICAgIHNlcnZpY2UuYWRkRW52aXJvbm1lbnRTb3VyY2UobW9kdWxlQ29uZmlnLmNvbmZpZ3VyYXRpb24ucHJvamVjdEVudmlyb25tZW50KTtcbiAgICB9XG4gICAgcmV0dXJuIHNlcnZpY2U7XG59O1xuXG5leHBvcnQgZnVuY3Rpb24gbW5nQ29uZmlnSnNvbkFwcEluaXRpYWxpemVyUHJvdmlkZXIoY29uZmlnU2VydmljZTogTW5nQ29uZmlndXJhdGlvblNlcnZpY2UsIG1vZHVsZUNvbmZpZzogTW5nTW9kdWxlQ29uZmlnKTogKCkgPT4gT2JzZXJ2YWJsZTxib29sZWFuPiB7XG4gICAgcmV0dXJuICgpID0+IHtcbiAgICAgICAgaWYgKG1vZHVsZUNvbmZpZz8uY29uZmlndXJhdGlvbj8uc2tpcEpzb25Tb3VyY2VJbml0KSB7XG4gICAgICAgICAgICByZXR1cm4gb2YoZmFsc2UpO1xuICAgICAgICB9IGVsc2Uge1xuICAgICAgICAgICAgY29uc3QganNvblNvdXJjZSA9IG1vZHVsZUNvbmZpZz8uY29uZmlndXJhdGlvbj8uanNvblNvdXJjZTtcbiAgICAgICAgICAgIGlmICghanNvblNvdXJjZSkge1xuICAgICAgICAgICAgICAgIHJldHVybiBjb25maWdTZXJ2aWNlLmFkZEpzb25Tb3VyY2UoKTtcbiAgICAgICAgICAgIH0gZWxzZSBpZiAoQXJyYXkuaXNBcnJheShqc29uU291cmNlKSkge1xuICAgICAgICAgICAgICAgIHJldHVybiBjb21iaW5lTGF0ZXN0KGpzb25Tb3VyY2UubWFwKHNvdXJjZSA9PiBjb25maWdTZXJ2aWNlLmFkZEpzb25Tb3VyY2Uoc291cmNlKSkpLnBpcGUobWFwKHNvdXJjZXNSZXMgPT4gc291cmNlc1Jlcy5ldmVyeShzID0+IHMpKSk7XG4gICAgICAgICAgICB9IGVsc2Uge1xuICAgICAgICAgICAgICAgIHJldHVybiBjb25maWdTZXJ2aWNlLmFkZEpzb25Tb3VyY2UoanNvblNvdXJjZSk7XG4gICAgICAgICAgICB9XG4gICAgICAgIH1cbiAgICB9O1xufVxuIl19
|
|
@@ -1,4 +1,3 @@
|
|
|
1
|
-
export * from './commons-init.provider';
|
|
2
1
|
export * from './config-service.provider';
|
|
3
2
|
export * from './formly-config.provider';
|
|
4
|
-
//# sourceMappingURL=data:application/json;base64,
|
|
3
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaW5kZXguanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi9zcmMvbGliL3NlcnZpY2VzL3Byb3ZpZGVycy9pbmRleC50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxjQUFjLDJCQUEyQixDQUFDO0FBQzFDLGNBQWMsMEJBQTBCLENBQUMiLCJzb3VyY2VzQ29udGVudCI6WyJleHBvcnQgKiBmcm9tICcuL2NvbmZpZy1zZXJ2aWNlLnByb3ZpZGVyJztcbmV4cG9ydCAqIGZyb20gJy4vZm9ybWx5LWNvbmZpZy5wcm92aWRlcic7XG4iXX0=
|
|
@@ -0,0 +1,3 @@
|
|
|
1
|
+
import { InjectionToken } from '@angular/core';
|
|
2
|
+
export const MNG_COMMONS_INITIALIZER_IT = new InjectionToken('MNG Commons Initializer');
|
|
3
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiY29tbW9ucy1pbml0LnRva2VuLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vc3JjL2xpYi9zZXJ2aWNlcy90b2tlbnMvY29tbW9ucy1pbml0LnRva2VuLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBQyxjQUFjLEVBQUMsTUFBTSxlQUFlLENBQUM7QUFJN0MsTUFBTSxDQUFDLE1BQU0sMEJBQTBCLEdBQUcsSUFBSSxjQUFjLENBQTJDLHlCQUF5QixDQUFDLENBQUMiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQge0luamVjdGlvblRva2VufSBmcm9tICdAYW5ndWxhci9jb3JlJztcblxuaW1wb3J0IHtPYnNlcnZhYmxlfSBmcm9tICdyeGpzJztcblxuZXhwb3J0IGNvbnN0IE1OR19DT01NT05TX0lOSVRJQUxJWkVSX0lUID0gbmV3IEluamVjdGlvblRva2VuPFJlYWRvbmx5QXJyYXk8KCkgPT4gT2JzZXJ2YWJsZTx1bmtub3duPj4+KCdNTkcgQ29tbW9ucyBJbml0aWFsaXplcicpO1xuIl19
|
|
@@ -1,4 +1,5 @@
|
|
|
1
1
|
export * from './browser-storage.token';
|
|
2
|
+
export * from './commons-init.token';
|
|
2
3
|
export * from './default-setting.token';
|
|
3
4
|
export * from './module-config.token';
|
|
4
|
-
//# sourceMappingURL=data:application/json;base64,
|
|
5
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaW5kZXguanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi9zcmMvbGliL3NlcnZpY2VzL3Rva2Vucy9pbmRleC50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxjQUFjLHlCQUF5QixDQUFDO0FBQ3hDLGNBQWMsc0JBQXNCLENBQUM7QUFDckMsY0FBYyx5QkFBeUIsQ0FBQztBQUN4QyxjQUFjLHVCQUF1QixDQUFDIiwic291cmNlc0NvbnRlbnQiOlsiZXhwb3J0ICogZnJvbSAnLi9icm93c2VyLXN0b3JhZ2UudG9rZW4nO1xuZXhwb3J0ICogZnJvbSAnLi9jb21tb25zLWluaXQudG9rZW4nO1xuZXhwb3J0ICogZnJvbSAnLi9kZWZhdWx0LXNldHRpbmcudG9rZW4nO1xuZXhwb3J0ICogZnJvbSAnLi9tb2R1bGUtY29uZmlnLnRva2VuJztcbiJdfQ==
|
|
@@ -169,12 +169,11 @@ export var I18nUtils;
|
|
|
169
169
|
return I18nUtils.Action.getAsync(translate, action, ['editor.title', 'title'], action.editorTitle ?? undefined, item);
|
|
170
170
|
}
|
|
171
171
|
static getParams(translate, action, item, params = {}) {
|
|
172
|
-
const
|
|
173
|
-
return I18nUtils.Action.populateParams(
|
|
172
|
+
const i18nParams = I18nUtils.Model.getParams(translate, action.model ?? undefined, item, params);
|
|
173
|
+
return I18nUtils.Action.populateParams(i18nParams);
|
|
174
174
|
}
|
|
175
175
|
static getParamsAsync(translate, action, item, params = {}) {
|
|
176
|
-
|
|
177
|
-
return I18nUtils.Model.getParamsAsync(translate, action.model ?? undefined, item, params).pipe(map(i18nParams => I18nUtils.Action.populateParams(modelI18nParams)));
|
|
176
|
+
return I18nUtils.Model.getParamsAsync(translate, action.model ?? undefined, item, params).pipe(map(i18nParams => I18nUtils.Action.populateParams(i18nParams)));
|
|
178
177
|
}
|
|
179
178
|
static populateParams(params = {}) {
|
|
180
179
|
params = { ...params };
|
|
@@ -231,4 +230,4 @@ export var I18nUtils;
|
|
|
231
230
|
}
|
|
232
231
|
I18nUtils.Error = Error;
|
|
233
232
|
})(I18nUtils || (I18nUtils = {}));
|
|
234
|
-
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaTE4bi51dGlsLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vc3JjL2xpYi91dGlscy9pMThuLnV0aWwudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQ0EsT0FBTyxFQUFhLEVBQUUsRUFBQyxNQUFNLE1BQU0sQ0FBQztBQUNwQyxPQUFPLEVBQUMsR0FBRyxFQUFFLFFBQVEsRUFBQyxNQUFNLGdCQUFnQixDQUFDO0FBSzdDLE9BQU8sRUFBQyxRQUFRLEVBQUMsTUFBTSxhQUFhLENBQUM7QUFFckMsTUFBTSxLQUFXLFNBQVMsQ0FvU3pCO0FBcFNELFdBQWlCLFNBQVM7SUFDdEIsTUFBYSxNQUFNO1FBQ1IsTUFBTSxDQUFDLFFBQVEsQ0FBQyxTQUEyQixFQUFFLE1BQVksRUFBRSxHQUFHLElBQW1CO1lBQ3BGLE9BQU8sU0FBUyxDQUFDLE1BQU0sQ0FBQyxJQUFJLEVBQUUsTUFBTSxDQUFDLENBQUMsSUFBSSxDQUFDLEdBQUcsQ0FBQyxJQUFJLENBQUMsRUFBRSxDQUFDLFNBQVMsQ0FBQyxNQUFNLENBQUMsVUFBVSxDQUFDLElBQUksRUFBRSxJQUFJLENBQUMsQ0FBQyxDQUFDLENBQUM7UUFDckcsQ0FBQztRQUVNLE1BQU0sQ0FBQyxHQUFHLENBQUMsU0FBMkIsRUFBRSxNQUFZLEVBQUUsR0FBRyxJQUFtQjtZQUMvRSxNQUFNLElBQUksR0FBRyxTQUFTLENBQUMsT0FBTyxDQUFDLElBQUksRUFBRSxNQUFNLENBQUMsQ0FBQztZQUM3QyxPQUFPLFNBQVMsQ0FBQyxNQUFNLENBQUMsVUFBVSxDQUFDLElBQUksRUFBRSxJQUFJLENBQUMsQ0FBQztRQUNuRCxDQUFDO1FBRU0sTUFBTSxDQUFDLGNBQWMsQ0FBQyxJQUFVLEVBQUUsU0FBYyxFQUFFO1lBQ3JELE1BQU0sU0FBUyxHQUFHLEVBQUMsR0FBRyxNQUFNLEVBQUMsQ0FBQztZQUM5QixJQUFJLElBQUksRUFBRTtnQkFDTixTQUFTLENBQUMsSUFBSSxHQUFHLElBQUksQ0FBQzth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RUFBRTtvQkFDTixPQUFPLElBQUksQ0FBQztpQkFDZjthQUNKO1lBQ0QsT0FBTyxTQUFTLENBQUMsTUFBTSxDQUFDLEdBQUcsQ0FBQyxTQUFTLEVBQUUsVUFBVSxFQUFFLEtBQUssQ0FBQyxPQUFPLENBQUMsQ0FBQztRQUN0RSxDQUFDO1FBRU0sTUFBTSxDQUFDLFNBQVMsQ0FBQyxLQUFlLEVBQUUsU0FBYyxFQUFFO1lBQ3JELE1BQU0sU0FBUyxHQUFHLEVBQUMsR0FBRyxNQUFNLEVBQUMsQ0FBQztZQUM5QixTQUFTLENBQUMsV0FBVyxHQUFHLEVBQUUsQ0FBQztZQUMzQixTQUFTLENBQUMsWUFBWSxHQUFHLEVBQUUsQ0FBQztZQUU1QixJQUFJLEtBQUssQ0FBQyxNQUFNLEVBQUU7Z0JBQ2QsU0FBUyxDQUFDLFdBQVcsR0FBRyxLQUFLLENBQUMsTUFBTSxDQUFDO2FBQ3hDO1lBQ0QsSUFBSSxLQUFLLENBQUMsT0FBTyxFQUFFO2dCQUNmLFNBQVMsQ0FBQyxZQUFZLEdBQUcsS0FBSyxDQUFDLE9BQU8sQ0FBQzthQUMxQztZQUNELElBQUksS0FBSyxDQUFDLGlCQUFpQixFQUFFO2dCQUN6QixTQUFTLENBQUMsc0JBQXNCLEdBQUcsS0FBSyxDQUFDLGlCQUFpQixDQUFDO2FBQzlEO1lBQ0QsU0FBUyxDQUFDLEtBQUssR0FBRyxLQUFLLENBQUM7WUFDeEIsT0FBTyxTQUFTLENBQUM7UUFDckIsQ0FBQztLQUNKO0lBOUJZLGVBQUssUUE4QmpCLENBQUE7QUFDTCxDQUFDLEVBcFNnQixTQUFTLEtBQVQsU0FBUyxRQW9TekIiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQge1RyYW5zbGF0ZVNlcnZpY2V9IGZyb20gJ0BuZ3gtdHJhbnNsYXRlL2NvcmUnO1xuaW1wb3J0IHtPYnNlcnZhYmxlLCBvZn0gZnJvbSAncnhqcyc7XG5pbXBvcnQge21hcCwgbWVyZ2VNYXB9IGZyb20gJ3J4anMvb3BlcmF0b3JzJztcblxuaW1wb3J0IHtBY3Rpb25EZXNjcmlwdG9yLCBBY3Rpb25FZGl0b3JEZXNjcmlwdG9yLCBNb2RlbERlc2NyaXB0b3J9IGZyb20gJy4uL2Rlc2NyaXB0b3JzJztcbmltcG9ydCB7TW5nRXJyb3J9IGZyb20gJy4uL21vZGVscyc7XG5pbXBvcnQge0NsYXNzVHlwZX0gZnJvbSAnLi4vdHlwZXMnO1xuaW1wb3J0IHtUeXBlVXRpbH0gZnJvbSAnLi90eXBlLnV0aWwnO1xuXG5leHBvcnQgbmFtZXNwYWNlIEkxOG5VdGlscyB7XG4gICAgZXhwb3J0IGNsYXNzIENvbW1vbiB7XG4gICAgICAgIHB1YmxpYyBzdGF0aWMgZ2V0QXN5bmModHJhbnNsYXRlOiBUcmFuc2xhdGVTZXJ2aWNlLCBwYXJhbXM/OiBhbnksIC4uLmtleXM6IEFycmF5PHN0cmluZz4pOiBPYnNlcnZhYmxlPHN0cmluZyB8IG51bGw+IHtcbiAgICAgICAgICAgIHJldHVybiB0cmFuc2xhdGUuc3RyZWFtKGtleXMsIHBhcmFtcykucGlwZShtYXAoaTE4biA9PiBJMThuVXRpbHMuQ29tbW9uLnNlbGVjdEkxOG4oa2V5cywgaTE4bikpKTtcbiAgICAgICAgfVxuXG4gICAgICAgIHB1YmxpYyBzdGF0aWMgZ2V0KHRyYW5zbGF0ZTogVHJhbnNsYXRlU2VydmljZSwgcGFyYW1zPzogYW55LCAuLi5rZXlzOiBBcnJheTxzdHJpbmc+KTogc3RyaW5nIHwgbnVsbCB7XG4gICAgICAgICAgICBjb25zdCBpMThuID0gdHJhbnNsYXRlLmluc3RhbnQoa2V5cywgcGFyYW1zKTtcbiAgICAgICAgICAgIHJldHVybiBJMThuVXRpbHMuQ29tbW9uLnNlbGVjdEkxOG4oa2V5cywgaTE4bik7XG4gICAgICAgIH1cblxuICAgICAgICBwdWJsaWMgc3RhdGljIHBvcHVsYXRlUGFyYW1zKGl0ZW0/OiBhbnksIHBhcmFtczogYW55ID0ge30pIHtcbiAgICAgICAgICAgIGNvbnN0IHBhcmFtc1JlcyA9IHsuLi5wYXJhbXN9O1xuICAgICAgICAgICAgaWYgKGl0ZW0pIHtcbiAgICAgICAgICAgICAgICBwYXJhbXNSZXMuaXRlbSA9IGl0ZW07XG4gICAgICAgICAgICB9XG4gICAgICAgICAgICByZXR1cm4gcGFyYW1zUmVzO1xuICAgICAgICB9XG5cbiAgICAgICAgcHVibGljIHN0YXRpYyBzZWxlY3RJMThuKGtleXM6IHN0cmluZ1tdLCBpMThuOiBhbnkpOiBzdHJpbmcgfCBudWxsIHtcbiAgICAgICAgICAgIGZvciAoY29uc3Qga2V5IG9mIGtleXMpIHtcbiAgICAgICAgICAgICAgICBpZiAoa2V5ICE9PSBpMThuW2tleV0pIHtcbiAgICAgICAgICAgICAgICAgICAgcmV0dXJuIGkxOG5ba2V5XTtcbiAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICB9XG4gICAgICAgICAgICByZXR1cm4gbnVsbDtcbiAgICAgICAgfVxuICAgIH1cblxuICAgIGV4cG9ydCBjbGFzcyBUeXBlIHtcbiAgICAgICAgcHVibGljIHN0YXRpYyBnZXRDbGFzc05hbWVBc3luYyh0cmFuc2xhdGU6IFRyYW5zbGF0ZVNlcnZpY2UsIGNsYXNzVHlwZTogQ2xhc3NUeXBlPGFueT4sIHNpbmd1bGFyPzogYm9vbGVhbik6IE9ic2VydmFibGU8c3RyaW5nIHwgbnVsbD4ge1xuICAgICAgICAgICAgY29uc3QgdHlwZU5hbWUgPSBUeXBlVXRpbC5maW5kVHlwZU5hbWUoY2xhc3NUeXBlKTtcbiAgICAgICAgICAgIHJldHVybiBJMThuVXRpbHMuVHlwZS5nZXROYW1lQXN5bmModHJhbnNsYXRlLCB0eXBlTmFtZSwgc2luZ3VsYXIpO1xuICAgICAgICB9XG5cbiAgICAgICAgcHVibGljIHN0YXRpYyBnZXRDbGFzc05hbWUodHJhbnNsYXRlOiBUcmFuc2xhdGVTZXJ2aWNlLCBjbGFzc1R5cGU6IENsYXNzVHlwZTxhbnk+LCBzaW5ndWxhcj86IGJvb2xlYW4pOiBzdHJpbmcgfCBudWxsIHtcbiAgICAgICAgICAgIGNvbnN0IHR5cGVOYW1lID0gVHlwZVV0aWwuZmluZFR5cGVOYW1lKGNsYXNzVHlwZSk7XG4gICAgICAgICAgICByZXR1cm4gSTE4blV0aWxzLlR5cGUuZ2V0TmFtZSh0cmFuc2xhdGUsIHR5cGVOYW1lLCBzaW5ndWxhcik7XG4gICAgICAgIH1cblxuICAgICAgICBwdWJsaWMgc3RhdGljIGdldE5hbWVBc3luYyh0cmFuc2xhdGU6IFRyYW5zbGF0ZVNlcnZpY2UsIHR5cGVOYW1lOiBzdHJpbmcsIHNpbmd1bGFyPzogYm9vbGVhbik6IE9ic2VydmFibGU8c3RyaW5nIHwgbnVsbD4ge1xuICAgICAgICAgICAgY29uc3Qga2V5cyA9IEkxOG5VdGlscy5UeXBlLmdldE5hbWVLZXlzKHR5cGVOYW1lLCBzaW5ndWxhcik7XG4gICAgICAgICAgICByZXR1cm4gSTE4blV0aWxzLkNvbW1vbi5nZXRBc3luYyh0cmFuc2xhdGUsIHVuZGVmaW5lZCwgLi4ua2V5cyk7XG4gICAgICAgIH1cblxuICAgICAgICBwdWJsaWMgc3RhdGljIGdldE5hbWUodHJhbnNsYXRlOiBUcmFuc2xhdGVTZXJ2aWNlLCB0eXBlTmFtZTogc3RyaW5nLCBzaW5ndWxhcj86IGJvb2xlYW4pOiBzdHJpbmcgfCBudWxsIHtcbiAgICAgICAgICAgIGNvbnN0IGtleXMgPSBJMThuVXRpbHMuVHlwZS5nZXROYW1lS2V5cyh0eXBlTmFtZSwgc2luZ3VsYXIpO1xuICAgICAgICAgICAgcmV0dXJuIEkxOG5VdGlscy5Db21tb24uZ2V0KHRyYW5zbGF0ZSwgdW5kZWZpbmVkLCAuLi5rZXlzKTtcbiAgICAgICAgfVxuXG4gICAgICAgIHB1YmxpYyBzdGF0aWMgZ2V0Q2xhc3NUYWJLZXkoY2xhc3NUeXBlOiBDbGFzc1R5cGU8YW55PiwgdGFiOiBzdHJpbmcpOiBzdHJpbmcge1xuICAgICAgICAgICAgY29uc3QgdHlwZU5hbWUgPSBUeXBlVXRpbC5maW5kVHlwZU5hbWUoY2xhc3NUeXBlKTtcbiAgICAgICAgICAgIHJldHVybiBJMThuVXRpbHMuVHlwZS5nZXRUYWJLZXkodHlwZU5hbWUsIHRhYik7XG4gICAgICAgIH1cblxuICAgICAgICBwdWJsaWMgc3RhdGljIGdldFRhYktleSh0eXBlTmFtZTogc3RyaW5nLCB0YWI6IHN0cmluZyk6IHN0cmluZyB7XG4gICAgICAgICAgICByZXR1cm4gSTE4blV0aWxzLlR5cGUuZ2V0UGF0aCh0eXBlTmFtZSwgJ3RhYnMnLCB0YWIpO1xuICAgICAgICB9XG5cbiAgICAgICAgcHVibGljIHN0YXRpYyBnZXRDbGFzc0dyb3VwS2V5KGNsYXNzVHlwZTogQ2xhc3NUeXBlPGFueT4sIGdyb3VwOiBzdHJpbmcpOiBzdHJpbmcge1xuICAgICAgICAgICAgY29uc3QgdHlwZU5hbWUgPSBUeXBlVXRpbC5maW5kVHlwZU5hbWUoY2xhc3NUeXBlKTtcbiAgICAgICAgICAgIHJldHVybiBJMThuVXRpbHMuVHlwZS5nZXRHcm91cEtleSh0eXBlTmFtZSwgZ3JvdXApO1xuICAgICAgICB9XG5cbiAgICAgICAgcHVibGljIHN0YXRpYyBnZXRHcm91cEtleSh0eXBlTmFtZTogc3RyaW5nLCBncm91cDogc3RyaW5nKTogc3RyaW5nIHtcbiAgICAgICAgICAgIHJldHVybiBJMThuVXRpbHMuVHlwZS5nZXRQYXRoKHR5cGVOYW1lLCAnZ3JvdXBzJywgZ3JvdXApO1xuICAgICAgICB9XG5cbiAgICAgICAgcHVibGljIHN0YXRpYyBnZXRDbGFzc1Byb3BlcnR5S2V5KGNsYXNzVHlwZTogQ2xhc3NUeXBlPGFueT4sIHByb3BlcnR5OiBzdHJpbmcpOiBzdHJpbmcge1xuICAgICAgICAgICAgY29uc3QgdHlwZU5hbWUgPSBUeXBlVXRpbC5maW5kVHlwZU5hbWUoY2xhc3NUeXBlKTtcbiAgICAgICAgICAgIHJldHVybiBJMThuVXRpbHMuVHlwZS5nZXRQcm9wZXJ0eUtleSh0eXBlTmFtZSwgcHJvcGVydHkpO1xuICAgICAgICB9XG5cbiAgICAgICAgcHVibGljIHN0YXRpYyBnZXRQcm9wZXJ0eUtleSh0eXBlTmFtZTogc3RyaW5nLCBwcm9wZXJ0eTogc3RyaW5nKTogc3RyaW5nIHtcbiAgICAgICAgICAgIHJldHVybiBJMThuVXRpbHMuVHlwZS5nZXRQYXRoKHR5cGVOYW1lLCAncHJvcGVydGllcycsIHByb3BlcnR5KTtcbiAgICAgICAgfVxuXG4gICAgICAgIHB1YmxpYyBzdGF0aWMgZ2V0Q2xhc3NQYXRoKGNsYXNzVHlwZTogQ2xhc3NUeXBlPGFueT4sIC4uLnBhdGg6IEFycmF5PHN0cmluZz4pOiBzdHJpbmcge1xuICAgICAgICAgICAgY29uc3QgdHlwZU5hbWUgPSBUeXBlVXRpbC5maW5kVHlwZU5hbWUoY2xhc3NUeXBlKTtcbiAgICAgICAgICAgIHJldHVybiBJMThuVXRpbHMuVHlwZS5nZXRQYXRoKHR5cGVOYW1lLCAuLi5wYXRoKTtcbiAgICAgICAgfVxuXG4gICAgICAgIHB1YmxpYyBzdGF0aWMgZ2V0UGF0aCh0eXBlTmFtZTogc3RyaW5nLCAuLi5wYXRoOiBBcnJheTxzdHJpbmc+KTogc3RyaW5nIHtcbiAgICAgICAgICAgIHJldHVybiBgJHt0eXBlTmFtZX0uJHtwYXRoLmpvaW4oJy4nKX1gO1xuICAgICAgICB9XG5cbiAgICAgICAgcHVibGljIHN0YXRpYyBnZXRDbGFzc1BhcmFtcyh0cmFuc2xhdGU6IFRyYW5zbGF0ZVNlcnZpY2UsIGNsYXNzVHlwZTogQ2xhc3NUeXBlPGFueT4sIGl0ZW06IGFueSwgcGFyYW1zOiBhbnkgPSB7fSk6IGFueSB7XG4gICAgICAgICAgICBjb25zdCB0eXBlTmFtZSA9IFR5cGVVdGlsLmZpbmRUeXBlTmFtZShjbGFzc1R5cGUpO1xuICAgICAgICAgICAgcmV0dXJuIEkxOG5VdGlscy5UeXBlLmdldFBhcmFtcyh0cmFuc2xhdGUsIHR5cGVOYW1lLCBpdGVtLCBwYXJhbXMpO1xuICAgICAgICB9XG5cbiAgICAgICAgcHVibGljIHN0YXRpYyBnZXRQYXJhbXModHJhbnNsYXRlOiBUcmFuc2xhdGVTZXJ2aWNlLCB0eXBlTmFtZT86IHN0cmluZywgaXRlbT86IGFueSwgcGFyYW1zOiBhbnkgPSB7fSk6IGFueSB7XG4gICAgICAgICAgICBjb25zdCBpMThuVHlwZU5hbWUgPSB0eXBlTmFtZSA/IEkxOG5VdGlscy5UeXBlLmdldE5hbWUodHJhbnNsYXRlLCB0eXBlTmFtZSwgdHJ1ZSkgOiBudWxsO1xuICAgICAgICAgICAgcmV0dXJuIEkxOG5VdGlscy5UeXBlLnBvcHVsYXRlUGFyYW1zKGkxOG5UeXBlTmFtZSA/PyB1bmRlZmluZWQsIGl0ZW0sIHBhcmFtcyk7XG4gICAgICAgIH1cblxuICAgICAgICBwdWJsaWMgc3RhdGljIGdldENsYXNzUGFyYW1zQXN5bmModHJhbnNsYXRlOiBUcmFuc2xhdGVTZXJ2aWNlLCBjbGFzc1R5cGU6IENsYXNzVHlwZTxhbnk+LCBpdGVtPzogYW55LCBwYXJhbXM6IGFueSA9IHt9KTogT2JzZXJ2YWJsZTxhbnk+IHtcbiAgICAgICAgICAgIGNvbnN0IHR5cGVOYW1lID0gVHlwZVV0aWwuZmluZFR5cGVOYW1lKGNsYXNzVHlwZSk7XG4gICAgICAgICAgICByZXR1cm4gSTE4blV0aWxzLlR5cGUuZ2V0UGFyYW1zQXN5bmModHJhbnNsYXRlLCB0eXBlTmFtZSwgaXRlbSwgcGFyYW1zKTtcbiAgICAgICAgfVxuXG4gICAgICAgIHB1YmxpYyBzdGF0aWMgZ2V0UGFyYW1zQXN5bmModHJhbnNsYXRlOiBUcmFuc2xhdGVTZXJ2aWNlLCB0eXBlTmFtZT86IHN0cmluZywgaXRlbT86IGFueSwgcGFyYW1zOiBhbnkgPSB7fSk6IE9ic2VydmFibGU8YW55PiB7XG4gICAgICAgICAgICByZXR1cm4gKHR5cGVOYW1lID8gSTE4blV0aWxzLlR5cGUuZ2V0TmFtZUFzeW5jKHRyYW5zbGF0ZSwgdHlwZU5hbWUsIHRydWUpIDogb2YobnVsbCkpLnBpcGUoXG4gICAgICAgICAgICAgICAgbWFwKGkxOG5UeXBlTmFtZSA9PiBJMThuVXRpbHMuVHlwZS5wb3B1bGF0ZVBhcmFtcyhpMThuVHlwZU5hbWUgPz8gdW5kZWZpbmVkLCBpdGVtLCBwYXJhbXMpKVxuICAgICAgICAgICAgKTtcbiAgICAgICAgfVxuXG4gICAgICAgIHB1YmxpYyBzdGF0aWMgcG9wdWxhdGVQYXJhbXMoaTE4blR5cGVOYW1lPzogc3RyaW5nLCBpdGVtPzogYW55LCBwYXJhbXM6IGFueSA9IHt9KTogYW55IHtcbiAgICAgICAgICAgIGNvbnN0IHBhcmFtc1JlcyA9IHsuLi5wYXJhbXN9O1xuICAgICAgICAgICAgaWYgKGkxOG5UeXBlTmFtZSkge1xuICAgICAgICAgICAgICAgIHBhcmFtc1Jlcy50eXBlTmFtZSA9IGkxOG5UeXBlTmFtZTtcbiAgICAgICAgICAgIH1cbiAgICAgICAgICAgIHJldHVybiBJMThuVXRpbHMuQ29tbW9uLnBvcHVsYXRlUGFyYW1zKGl0ZW0sIHBhcmFtc1Jlcyk7XG4gICAgICAgIH1cblxuICAgICAgICBwcml2YXRlIHN0YXRpYyBnZXROYW1lS2V5cyh0eXBlTmFtZTogc3RyaW5nLCBzaW5ndWxhcj86IGJvb2xlYW4pOiBBcnJheTxzdHJpbmc+IHtcbiAgICAgICAgICAgIGNvbnN0IGtleXMgPSBbXTtcbiAgICAgICAgICAgIGlmICh0eXBlb2Ygc2luZ3VsYXIgIT09ICd1bmRlZmluZWQnKSB7XG4gICAgICAgICAgICAgICAga2V5cy5wdXNoKHNpbmd1bGFyID8gYCR7dHlwZU5hbWV9Lm5hbWVTaW5ndWxhcmAgOiBgJHt0eXBlTmFtZX0ubmFtZVBsdXJhbGApO1xuICAgICAgICAgICAgfVxuICAgICAgICAgICAga2V5cy5wdXNoKGAke3R5cGVOYW1lfS5uYW1lYCk7XG4gICAgICAgICAgICByZXR1cm4ga2V5cztcbiAgICAgICAgfVxuICAgIH1cblxuICAgIGV4cG9ydCBjbGFzcyBNb2RlbCB7XG4gICAgICAgIHB1YmxpYyBzdGF0aWMgZ2V0KFxuICAgICAgICAgICAgdHJhbnNsYXRlOiBUcmFuc2xhdGVTZXJ2aWNlLFxuICAgICAgICAgICAgbW9kZWw6IE1vZGVsRGVzY3JpcHRvcjxhbnk+LFxuICAgICAgICAgICAga2V5UGF0aDogc3RyaW5nLFxuICAgICAgICAgICAgY3VzdG9tS2V5Pzogc3RyaW5nLFxuICAgICAgICAgICAgaXRlbT86IGFueSxcbiAgICAgICAgICAgIGZhbGxiYWNrS2V5Pzogc3RyaW5nLFxuICAgICAgICAgICAgcGFyYW1zPzogYW55XG4gICAgICAgICk6IHN0cmluZyB8IG51bGwge1xuICAgICAgICAgICAgY29uc3Qga2V5cyA9IEkxOG5VdGlscy5Nb2RlbC5nZXRLZXlzQnlQcmlvcml0eShtb2RlbCwga2V5UGF0aCwgY3VzdG9tS2V5LCBmYWxsYmFja0tleSk7XG4gICAgICAgICAgICBjb25zdCBpMThuUGFyYW1zID0gSTE4blV0aWxzLk1vZGVsLmdldFBhcmFtcyh0cmFuc2xhdGUsIG1vZGVsLCBpdGVtLCBwYXJhbXMpO1xuICAgICAgICAgICAgcmV0dXJuIEkxOG5VdGlscy5Db21tb24uZ2V0KHRyYW5zbGF0ZSwgaTE4blBhcmFtcywgLi4ua2V5cyk7XG4gICAgICAgIH1cblxuICAgICAgICBwdWJsaWMgc3RhdGljIGdldE5hbWUodHJhbnNsYXRlOiBUcmFuc2xhdGVTZXJ2aWNlLCBtb2RlbDogTW9kZWxEZXNjcmlwdG9yPGFueT4sIHNpbmd1bGFyPzogYm9vbGVhbik6IHN0cmluZyB8IG51bGwge1xuICAgICAgICAgICAgcmV0dXJuIEkxOG5VdGlscy5UeXBlLmdldE5hbWUodHJhbnNsYXRlLCBtb2RlbC50eXBlTmFtZSwgc2luZ3VsYXIpO1xuICAgICAgICB9XG5cbiAgICAgICAgcHVibGljIHN0YXRpYyBnZXROYW1lQXN5bmModHJhbnNsYXRlOiBUcmFuc2xhdGVTZXJ2aWNlLCBtb2RlbDogTW9kZWxEZXNjcmlwdG9yPGFueT4sIHNpbmd1bGFyPzogYm9vbGVhbik6IE9ic2VydmFibGU8c3RyaW5nIHwgbnVsbD4ge1xuICAgICAgICAgICAgcmV0dXJuIEkxOG5VdGlscy5UeXBlLmdldE5hbWVBc3luYyh0cmFuc2xhdGUsIG1vZGVsLnR5cGVOYW1lLCBzaW5ndWxhcik7XG4gICAgICAgIH1cblxuICAgICAgICBwdWJsaWMgc3RhdGljIGdldFBhcmFtcyh0cmFuc2xhdGU6IFRyYW5zbGF0ZVNlcnZpY2UsIG1vZGVsPzogTW9kZWxEZXNjcmlwdG9yPGFueT4sIGl0ZW0/OiBhbnksIHBhcmFtczogYW55ID0ge30pOiBhbnkge1xuICAgICAgICAgICAgY29uc3QgaTE4blBhcmFtcyA9IEkxOG5VdGlscy5UeXBlLmdldFBhcmFtcyh0cmFuc2xhdGUsIG1vZGVsPy50eXBlTmFtZSwgaXRlbSwgcGFyYW1zKTtcbiAgICAgICAgICAgIHJldHVybiBJMThuVXRpbHMuTW9kZWwucG9wdWxhdGVQYXJhbXMobW9kZWw/LmlkUHJvcGVydHlOYW1lLCBtb2RlbD8udGl0bGVQcm9wZXJ0eU5hbWUsIGl0ZW0sIGkxOG5QYXJhbXMpO1xuICAgICAgICB9XG5cbiAgICAgICAgcHVibGljIHN0YXRpYyBnZXRQYXJhbXNBc3luYyh0cmFuc2xhdGU6IFRyYW5zbGF0ZVNlcnZpY2UsIG1vZGVsPzogTW9kZWxEZXNjcmlwdG9yPGFueT4sIGl0ZW0/OiBhbnksIHBhcmFtczogYW55ID0ge30pOiBPYnNlcnZhYmxlPGFueT4ge1xuICAgICAgICAgICAgcmV0dXJuIEkxOG5VdGlscy5UeXBlLmdldFBhcmFtc0FzeW5jKHRyYW5zbGF0ZSwgbW9kZWw/LnR5cGVOYW1lLCBpdGVtLCBwYXJhbXMpLnBpcGUoXG4gICAgICAgICAgICAgICAgbWFwKGkxOG5QYXJhbXMgPT4gSTE4blV0aWxzLk1vZGVsLnBvcHVsYXRlUGFyYW1zKG1vZGVsPy5pZFByb3BlcnR5TmFtZSwgbW9kZWw/LnRpdGxlUHJvcGVydHlOYW1lLCBpdGVtLCBpMThuUGFyYW1zKSlcbiAgICAgICAgICAgICk7XG4gICAgICAgIH1cblxuICAgICAgICBwdWJsaWMgc3RhdGljIHBvcHVsYXRlUGFyYW1zKGlkUHJvcGVydHk/OiBzdHJpbmcsIHRpdGxlUHJvcGVydHk/OiBzdHJpbmcsIGl0ZW0/OiBhbnksIHBhcmFtczogYW55ID0ge30pOiBhbnkge1xuICAgICAgICAgICAgY29uc3QgcGFyYW1zUmVzID0gey4uLnBhcmFtcywgaXRlbUlkOiAnJywgaXRlbVRpdGxlOiAnJ307XG4gICAgICAgICAgICBpZiAoaXRlbSkge1xuICAgICAgICAgICAgICAgIGlmIChpZFByb3BlcnR5ICYmIGl0ZW1baWRQcm9wZXJ0eV0pIHtcbiAgICAgICAgICAgICAgICAgICAgcGFyYW1zUmVzLml0ZW1JZCA9IGl0ZW1baWRQcm9wZXJ0eV07XG4gICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgICAgIGlmICh0aXRsZVByb3BlcnR5ICYmIGl0ZW1bdGl0bGVQcm9wZXJ0eV0pIHtcbiAgICAgICAgICAgICAgICAgICAgcGFyYW1zUmVzLml0ZW1UaXRsZSA9IGl0ZW1bdGl0bGVQcm9wZXJ0eV07XG4gICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgfVxuICAgICAgICAgICAgcmV0dXJuIHBhcmFtc1JlcztcbiAgICAgICAgfVxuXG4gICAgICAgIHByaXZhdGUgc3RhdGljIGdldEtleXNCeVByaW9yaXR5KG1vZGVsOiBNb2RlbERlc2NyaXB0b3I8YW55Piwga2V5UGF0aDogc3RyaW5nLCBjdXN0b21LZXk/OiBzdHJpbmcsIGZhbGxiYWNrS2V5Pzogc3RyaW5nKSB7XG4gICAgICAgICAgICBjb25zdCBrZXlzID0gW107XG4gICAgICAgICAgICBpZiAoY3VzdG9tS2V5KSB7XG4gICAgICAgICAgICAgICAga2V5cy5wdXNoKGN1c3RvbUtleSk7XG4gICAgICAgICAgICB9XG4gICAgICAgICAgICBjb25zdCBtb2RlbEFjdGlvbktleSA9IEkxOG5VdGlscy5UeXBlLmdldFBhdGgobW9kZWwudHlwZU5hbWUsIC4uLmtleVBhdGgpO1xuICAgICAgICAgICAga2V5cy5wdXNoKG1vZGVsQWN0aW9uS2V5KTtcbiAgICAgICAgICAgIGlmIChmYWxsYmFja0tleSkge1xuICAgICAgICAgICAgICAgIGtleXMucHVzaChmYWxsYmFja0tleSk7XG4gICAgICAgICAgICB9XG4gICAgICAgICAgICByZXR1cm4ga2V5cztcbiAgICAgICAgfVxuICAgIH1cblxuICAgIGV4cG9ydCBjbGFzcyBBY3Rpb24ge1xuICAgICAgICBwdWJsaWMgc3RhdGljIGdldChcbiAgICAgICAgICAgIHRyYW5zbGF0ZTogVHJhbnNsYXRlU2VydmljZSxcbiAgICAgICAgICAgIGFjdGlvbjogQWN0aW9uRGVzY3JpcHRvcjxhbnk+LFxuICAgICAgICAgICAgYWN0aW9uUGF0aEtleXM6IHN0cmluZyB8IEFycmF5PHN0cmluZz4sXG4gICAgICAgICAgICBjdXN0b21LZXk/OiBzdHJpbmcsXG4gICAgICAgICAgICBpdGVtPzogYW55LFxuICAgICAgICAgICAgZmFsbGJhY2tLZXk/OiBzdHJpbmcsXG4gICAgICAgICAgICBwYXJhbXM/OiBhbnlcbiAgICAgICAgKTogc3RyaW5nIHwgbnVsbCB7XG4gICAgICAgICAgICBjb25zdCBrZXlzID0gSTE4blV0aWxzLkFjdGlvbi5nZXRLZXlzQnlQcmlvcml0eShhY3Rpb24sIGFjdGlvblBhdGhLZXlzLCBjdXN0b21LZXksIGZhbGxiYWNrS2V5KTtcbiAgICAgICAgICAgIGNvbnN0IGkxOG5QYXJhbXMgPSBJMThuVXRpbHMuQWN0aW9uLmdldFBhcmFtcyh0cmFuc2xhdGUsIGFjdGlvbiwgaXRlbSwgcGFyYW1zKTtcbiAgICAgICAgICAgIHJldHVybiBJMThuVXRpbHMuQ29tbW9uLmdldCh0cmFuc2xhdGUsIGkxOG5QYXJhbXMsIC4uLmtleXMpO1xuICAgICAgICB9XG5cbiAgICAgICAgcHVibGljIHN0YXRpYyBnZXRBc3luYyhcbiAgICAgICAgICAgIHRyYW5zbGF0ZTogVHJhbnNsYXRlU2VydmljZSxcbiAgICAgICAgICAgIGFjdGlvbjogQWN0aW9uRGVzY3JpcHRvcjxhbnk+LFxuICAgICAgICAgICAgYWN0aW9uUGF0aEtleXM6IHN0cmluZyB8IEFycmF5PHN0cmluZz4sXG4gICAgICAgICAgICBjdXN0b21LZXk/OiBzdHJpbmcsXG4gICAgICAgICAgICBpdGVtPzogYW55LFxuICAgICAgICAgICAgZmFsbGJhY2tLZXk/OiBzdHJpbmcsXG4gICAgICAgICAgICBwYXJhbXM/OiBhbnlcbiAgICAgICAgKTogT2JzZXJ2YWJsZTxzdHJpbmcgfCBudWxsPiB7XG4gICAgICAgICAgICByZXR1cm4gSTE4blV0aWxzLkFjdGlvbi5nZXRQYXJhbXNBc3luYyh0cmFuc2xhdGUsIGFjdGlvbiwgaXRlbSwgcGFyYW1zKS5waXBlKFxuICAgICAgICAgICAgICAgIG1lcmdlTWFwKGkxOG5QYXJhbXMgPT4ge1xuICAgICAgICAgICAgICAgICAgICBjb25zdCBrZXlzID0gSTE4blV0aWxzLkFjdGlvbi5nZXRLZXlzQnlQcmlvcml0eShhY3Rpb24sIGFjdGlvblBhdGhLZXlzLCBjdXN0b21LZXksIGZhbGxiYWNrS2V5KTtcbiAgICAgICAgICAgICAgICAgICAgcmV0dXJuIEkxOG5VdGlscy5Db21tb24uZ2V0QXN5bmModHJhbnNsYXRlLCBpMThuUGFyYW1zLCAuLi5rZXlzKTtcbiAgICAgICAgICAgICAgICB9KVxuICAgICAgICAgICAgKTtcbiAgICAgICAgfVxuXG4gICAgICAgIHB1YmxpYyBzdGF0aWMgZ2V0VGl0bGVBc3luYyh0cmFuc2xhdGU6IFRyYW5zbGF0ZVNlcnZpY2UsIGFjdGlvbjogQWN0aW9uRGVzY3JpcHRvcjxhbnk+LCBpdGVtPzogYW55KTogT2JzZXJ2YWJsZTxzdHJpbmcgfCBudWxsPiB7XG4gICAgICAgICAgICByZXR1cm4gSTE4blV0aWxzLkFjdGlvbi5nZXRBc3luYyh0cmFuc2xhdGUsIGFjdGlvbiwgJ3RpdGxlJywgdW5kZWZpbmVkLCBpdGVtKTtcbiAgICAgICAgfVxuXG4gICAgICAgIHB1YmxpYyBzdGF0aWMgZ2V0RWRpdG9yVGl0bGVBc3luYyh0cmFuc2xhdGU6IFRyYW5zbGF0ZVNlcnZpY2UsIGFjdGlvbjogQWN0aW9uRWRpdG9yRGVzY3JpcHRvcjxhbnk+LCBpdGVtPzogYW55KTogT2JzZXJ2YWJsZTxzdHJpbmcgfCBudWxsPiB7XG4gICAgICAgICAgICByZXR1cm4gSTE4blV0aWxzLkFjdGlvbi5nZXRBc3luYyh0cmFuc2xhdGUsIGFjdGlvbiwgWydlZGl0b3IudGl0bGUnLCAndGl0bGUnXSwgYWN0aW9uLmVkaXRvclRpdGxlID8/IHVuZGVmaW5lZCwgaXRlbSk7XG4gICAgICAgIH1cblxuICAgICAgICBwdWJsaWMgc3RhdGljIGdldFBhcmFtcyh0cmFuc2xhdGU6IFRyYW5zbGF0ZVNlcnZpY2UsIGFjdGlvbjogQWN0aW9uRGVzY3JpcHRvcjxhbnk+LCBpdGVtPzogYW55LCBwYXJhbXM6IGFueSA9IHt9KTogYW55IHtcbiAgICAgICAgICAgIGNvbnN0IG1vZGVsSTE4blBhcmFtcyA9IEkxOG5VdGlscy5Nb2RlbC5nZXRQYXJhbXModHJhbnNsYXRlLCBhY3Rpb24ubW9kZWwgPz8gdW5kZWZpbmVkLCBpdGVtLCBwYXJhbXMpO1xuICAgICAgICAgICAgcmV0dXJuIEkxOG5VdGlscy5BY3Rpb24ucG9wdWxhdGVQYXJhbXMobW9kZWxJMThuUGFyYW1zKTtcbiAgICAgICAgfVxuXG4gICAgICAgIHB1YmxpYyBzdGF0aWMgZ2V0UGFyYW1zQXN5bmModHJhbnNsYXRlOiBUcmFuc2xhdGVTZXJ2aWNlLCBhY3Rpb246IEFjdGlvbkRlc2NyaXB0b3I8YW55PiwgaXRlbT86IGFueSwgcGFyYW1zOiBhbnkgPSB7fSk6IE9ic2VydmFibGU8YW55PiB7XG4gICAgICAgICAgICBsZXQgbW9kZWxJMThuUGFyYW1zOiBhbnk7XG4gICAgICAgICAgICByZXR1cm4gSTE4blV0aWxzLk1vZGVsLmdldFBhcmFtc0FzeW5jKHRyYW5zbGF0ZSwgYWN0aW9uLm1vZGVsID8/IHVuZGVmaW5lZCwgaXRlbSwgcGFyYW1zKS5waXBlKG1hcChpMThuUGFyYW1zID0+IEkxOG5VdGlscy5BY3Rpb24ucG9wdWxhdGVQYXJhbXMobW9kZWxJMThuUGFyYW1zKSkpO1xuICAgICAgICB9XG5cbiAgICAgICAgcHVibGljIHN0YXRpYyBwb3B1bGF0ZVBhcmFtcyhwYXJhbXM6IGFueSA9IHt9KTogYW55IHtcbiAgICAgICAgICAgIHBhcmFtcyA9IHsuLi5wYXJhbXN9O1xuICAgICAgICAgICAgcmV0dXJuIHBhcmFtcztcbiAgICAgICAgfVxuXG4gICAgICAgIHByaXZhdGUgc3RhdGljIGdldEtleXNCeVByaW9yaXR5KGFjdGlvbjogQWN0aW9uRGVzY3JpcHRvcjxhbnk+LCBhY3Rpb25QYXRoS2V5czogc3RyaW5nIHwgQXJyYXk8c3RyaW5nPiwgY3VzdG9tS2V5Pzogc3RyaW5nLCBmYWxsYmFja0tleT86IHN0cmluZykge1xuICAgICAgICAgICAgY29uc3Qga2V5cyA9IFtdO1xuICAgICAgICAgICAgaWYgKGN1c3RvbUtleSkge1xuICAgICAgICAgICAgICAgIGtleXMucHVzaChjdXN0b21LZXkpO1xuICAgICAgICAgICAgfVxuICAgICAgICAgICAgaWYgKCFBcnJheS5pc0FycmF5KGFjdGlvblBhdGhLZXlzKSkge1xuICAgICAgICAgICAgICAgIGFjdGlvblBhdGhLZXlzID0gW2FjdGlvblBhdGhLZXlzXTtcbiAgICAgICAgICAgIH1cbiAgICAgICAgICAgIGFjdGlvblBhdGhLZXlzLmZvckVhY2goayA9PiB7XG4gICAgICAgICAgICAgICAgY29uc3QgbW9kZWxBY3Rpb25LZXkgPSBgJHthY3Rpb24uaTE4bk1vZGVsQWN0aW9uQmFzZUtleX0uJHtrfWA7XG4gICAgICAgICAgICAgICAgY29uc3QgYWN0aW9uS2V5ID0gYCR7YWN0aW9uLmFjdGlvbk5hbWV9LiR7a31gO1xuICAgICAgICAgICAgICAgIGtleXMucHVzaChtb2RlbEFjdGlvbktleSwgYWN0aW9uS2V5KTtcbiAgICAgICAgICAgIH0pO1xuICAgICAgICAgICAgaWYgKGZhbGxiYWNrS2V5KSB7XG4gICAgICAgICAgICAgICAga2V5cy5wdXNoKGZhbGxiYWNrS2V5KTtcbiAgICAgICAgICAgIH1cbiAgICAgICAgICAgIHJldHVybiBrZXlzO1xuICAgICAgICB9XG4gICAgfVxuXG4gICAgZXhwb3J0IGNsYXNzIEVycm9yIHtcbiAgICAgICAgcHVibGljIHN0YXRpYyBnZXQodHJhbnNsYXRlOiBUcmFuc2xhdGVTZXJ2aWNlLCBlcnJvcjogTW5nRXJyb3IsIHBhcmFtczogYW55ID0ge30pOiBzdHJpbmcgfCBudWxsIHtcbiAgICAgICAgICAgIGNvbnN0IGkxOG5QYXJhbXMgPSBJMThuVXRpbHMuRXJyb3IuZ2V0UGFyYW1zKGVycm9yLCBwYXJhbXMpO1xuICAgICAgICAgICAgaWYgKGVycm9yLm1lc3NhZ2VDb2RlKSB7XG4gICAgICAgICAgICAgICAgY29uc3Qga2V5cyA9IFtgZXJyb3JzLiR7ZXJyb3IubWVzc2FnZUNvZGV9YCwgYG1lc3NhZ2VzLiR7ZXJyb3IubWVzc2FnZUNvZGV9YF07XG4gICAgICAgICAgICAgICAgY29uc3QgaTE4biA9IEkxOG5VdGlscy5Db21tb24uZ2V0KHRyYW5zbGF0ZSwgaTE4blBhcmFtcywgLi4ua2V5cyk7XG4gICAgICAgICAgICAgICAgaWYgKGkxOG4pIHtcbiAgICAgICAgICAgICAgICAgICAgcmV0dXJuIGkxOG47XG4gICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgfVxuICAgICAgICAgICAgcmV0dXJuIEkxOG5VdGlscy5Db21tb24uZ2V0KHRyYW5zbGF0ZSwgaTE4blBhcmFtcywgZXJyb3IubWVzc2FnZSk7XG4gICAgICAgIH1cblxuICAgICAgICBwdWJsaWMgc3RhdGljIGdldFBhcmFtcyhlcnJvcjogTW5nRXJyb3IsIHBhcmFtczogYW55ID0ge30pIHtcbiAgICAgICAgICAgIGNvbnN0IHBhcmFtc1JlcyA9IHsuLi5wYXJhbXN9O1xuICAgICAgICAgICAgcGFyYW1zUmVzLmVycm9yU3RhdHVzID0gJyc7XG4gICAgICAgICAgICBwYXJhbXNSZXMuZXJyb3JNZXNzYWdlID0gJyc7XG5cbiAgICAgICAgICAgIGlmIChlcnJvci5zdGF0dXMpIHtcbiAgICAgICAgICAgICAgICBwYXJhbXNSZXMuZXJyb3JTdGF0dXMgPSBlcnJvci5zdGF0dXM7XG4gICAgICAgICAgICB9XG4gICAgICAgICAgICBpZiAoZXJyb3IubWVzc2FnZSkge1xuICAgICAgICAgICAgICAgIHBhcmFtc1Jlcy5lcnJvck1lc3NhZ2UgPSBlcnJvci5tZXNzYWdlO1xuICAgICAgICAgICAgfVxuICAgICAgICAgICAgaWYgKGVycm9yLnN0YXR1c0Rlc2NyaXB0aW9uKSB7XG4gICAgICAgICAgICAgICAgcGFyYW1zUmVzLmVycm9yU3RhdHVzRGVzY3JpcHRpb24gPSBlcnJvci5zdGF0dXNEZXNjcmlwdGlvbjtcbiAgICAgICAgICAgIH1cbiAgICAgICAgICAgIHBhcmFtc1Jlcy5lcnJvciA9IGVycm9yO1xuICAgICAgICAgICAgcmV0dXJuIHBhcmFtc1JlcztcbiAgICAgICAgfVxuICAgIH1cbn1cbiJdfQ==
|
|
233
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaTE4bi51dGlsLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vc3JjL2xpYi91dGlscy9pMThuLnV0aWwudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQ0EsT0FBTyxFQUFhLEVBQUUsRUFBQyxNQUFNLE1BQU0sQ0FBQztBQUNwQyxPQUFPLEVBQUMsR0FBRyxFQUFFLFFBQVEsRUFBQyxNQUFNLGdCQUFnQixDQUFDO0FBSzdDLE9BQU8sRUFBQyxRQUFRLEVBQUMsTUFBTSxhQUFhLENBQUM7QUFFckMsTUFBTSxLQUFXLFNBQVMsQ0FtU3pCO0FBblNELFdBQWlCLFNBQVM7SUFDdEIsTUFBYSxNQUFNO1FBQ1IsTUFBTSxDQUFDLFFBQVEsQ0FBQyxTQUEyQixFQUFFLE1BQVksRUFBRSxHQUFHLElBQW1CO1lBQ3BGLE9BQU8sU0FBUyxDQUFDLE1BQU0sQ0FBQyxJQUFJLEVBQUUsTUFBTSxDQUFDLENBQUMsSUFBSSxDQUFDLEdBQUcsQ0FBQyxJQUFJLENBQUMsRUFBRSxDQUFDLFNBQVMsQ0FBQyxNQUFNLENBQUMsVUFBVSxDQUFDLElBQUksRUFBRSxJQUFJLENBQUMsQ0FBQyxDQUFDLENBQUM7UUFDckcsQ0FBQztRQUVNLE1BQU0sQ0FBQyxHQUFHLENBQUMsU0FBMkIsRUFBRSxNQUFZLEVBQUUsR0FBRyxJQUFtQjtZQUMvRSxNQUFNLElBQUksR0FBRyxTQUFTLENBQUMsT0FBTyxDQUFDLElBQUksRUFBRSxNQUFNLENBQUMsQ0FBQztZQUM3QyxPQUFPLFNBQVMsQ0FBQyxNQUFNLENBQUMsVUFBVSxDQUFDLElBQUksRUFBRSxJQUFJLENBQUMsQ0FBQztRQUNuRCxDQUFDO1FBRU0sTUFBTSxDQUFDLGNBQWMsQ0FBQyxJQUFVLEVBQUUsU0FBYyxFQUFFO1lBQ3JELE1BQU0sU0FBUyxHQUFHLEVBQUMsR0FBRyxNQUFNLEVBQUMsQ0FBQztZQUM5QixJQUFJLElBQUksRUFBRTtnQkFDTixTQUFTLENBQUMsSUFBSSxHQUFHLElBQUksQ0FBQzth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QUFDO2lCQUNmO2FBQ0o7WUFDRCxPQUFPLFNBQVMsQ0FBQyxNQUFNLENBQUMsR0FBRyxDQUFDLFNBQVMsRUFBRSxVQUFVLEVBQUUsS0FBSyxDQUFDLE9BQU8sQ0FBQyxDQUFDO1FBQ3RFLENBQUM7UUFFTSxNQUFNLENBQUMsU0FBUyxDQUFDLEtBQWUsRUFBRSxTQUFjLEVBQUU7WUFDckQsTUFBTSxTQUFTLEdBQUcsRUFBQyxHQUFHLE1BQU0sRUFBQyxDQUFDO1lBQzlCLFNBQVMsQ0FBQyxXQUFXLEdBQUcsRUFBRSxDQUFDO1lBQzNCLFNBQVMsQ0FBQyxZQUFZLEdBQUcsRUFBRSxDQUFDO1lBRTVCLElBQUksS0FBSyxDQUFDLE1BQU0sRUFBRTtnQkFDZCxTQUFTLENBQUMsV0FBVyxHQUFHLEtBQUssQ0FBQyxNQUFNLENBQUM7YUFDeEM7WUFDRCxJQUFJLEtBQUssQ0FBQyxPQUFPLEVBQUU7Z0JBQ2YsU0FBUyxDQUFDLFlBQVksR0FBRyxLQUFLLENBQUMsT0FBTyxDQUFDO2FBQzFDO1lBQ0QsSUFBSSxLQUFLLENBQUMsaUJBQWlCLEVBQUU7Z0JBQ3pCLFNBQVMsQ0FBQyxzQkFBc0IsR0FBRyxLQUFLLENBQUMsaUJBQWlCLENBQUM7YUFDOUQ7WUFDRCxTQUFTLENBQUMsS0FBSyxHQUFHLEtBQUssQ0FBQztZQUN4QixPQUFPLFNBQVMsQ0FBQztRQUNyQixDQUFDO0tBQ0o7SUE5QlksZUFBSyxRQThCakIsQ0FBQTtBQUNMLENBQUMsRUFuU2dCLFNBQVMsS0FBVCxTQUFTLFFBbVN6QiIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7VHJhbnNsYXRlU2VydmljZX0gZnJvbSAnQG5neC10cmFuc2xhdGUvY29yZSc7XG5pbXBvcnQge09ic2VydmFibGUsIG9mfSBmcm9tICdyeGpzJztcbmltcG9ydCB7bWFwLCBtZXJnZU1hcH0gZnJvbSAncnhqcy9vcGVyYXRvcnMnO1xuXG5pbXBvcnQge0FjdGlvbkRlc2NyaXB0b3IsIEFjdGlvbkVkaXRvckRlc2NyaXB0b3IsIE1vZGVsRGVzY3JpcHRvcn0gZnJvbSAnLi4vZGVzY3JpcHRvcnMnO1xuaW1wb3J0IHtNbmdFcnJvcn0gZnJvbSAnLi4vbW9kZWxzJztcbmltcG9ydCB7Q2xhc3NUeXBlfSBmcm9tICcuLi90eXBlcyc7XG5pbXBvcnQge1R5cGVVdGlsfSBmcm9tICcuL3R5cGUudXRpbCc7XG5cbmV4cG9ydCBuYW1lc3BhY2UgSTE4blV0aWxzIHtcbiAgICBleHBvcnQgY2xhc3MgQ29tbW9uIHtcbiAgICAgICAgcHVibGljIHN0YXRpYyBnZXRBc3luYyh0cmFuc2xhdGU6IFRyYW5zbGF0ZVNlcnZpY2UsIHBhcmFtcz86IGFueSwgLi4ua2V5czogQXJyYXk8c3RyaW5nPik6IE9ic2VydmFibGU8c3RyaW5nIHwgbnVsbD4ge1xuICAgICAgICAgICAgcmV0dXJuIHRyYW5zbGF0ZS5zdHJlYW0oa2V5cywgcGFyYW1zKS5waXBlKG1hcChpMThuID0+IEkxOG5VdGlscy5Db21tb24uc2VsZWN0STE4bihrZXlzLCBpMThuKSkpO1xuICAgICAgICB9XG5cbiAgICAgICAgcHVibGljIHN0YXRpYyBnZXQodHJhbnNsYXRlOiBUcmFuc2xhdGVTZXJ2aWNlLCBwYXJhbXM/OiBhbnksIC4uLmtleXM6IEFycmF5PHN0cmluZz4pOiBzdHJpbmcgfCBudWxsIHtcbiAgICAgICAgICAgIGNvbnN0IGkxOG4gPSB0cmFuc2xhdGUuaW5zdGFudChrZXlzLCBwYXJhbXMpO1xuICAgICAgICAgICAgcmV0dXJuIEkxOG5VdGlscy5Db21tb24uc2VsZWN0STE4bihrZXlzLCBpMThuKTtcbiAgICAgICAgfVxuXG4gICAgICAgIHB1YmxpYyBzdGF0aWMgcG9wdWxhdGVQYXJhbXMoaXRlbT86IGFueSwgcGFyYW1zOiBhbnkgPSB7fSkge1xuICAgICAgICAgICAgY29uc3QgcGFyYW1zUmVzID0gey4uLnBhcmFtc307XG4gICAgICAgICAgICBpZiAoaXRlbSkge1xuICAgICAgICAgICAgICAgIHBhcmFtc1Jlcy5pdGVtID0gaXRlbTtcbiAgICAgICAgICAgIH1cbiAgICAgICAgICAgIHJldHVybiBwYXJhbXNSZXM7XG4gICAgICAgIH1cblxuICAgICAgICBwdWJsaWMgc3RhdGljIHNlbGVjdEkxOG4oa2V5czogc3RyaW5nW10sIGkxOG46IGFueSk6IHN0cmluZyB8IG51bGwge1xuICAgICAgICAgICAgZm9yIChjb25zdCBrZXkgb2Yga2V5cykge1xuICAgICAgICAgICAgICAgIGlmIChrZXkgIT09IGkxOG5ba2V5XSkge1xuICAgICAgICAgICAgICAgICAgICByZXR1cm4gaTE4bltrZXldO1xuICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgIH1cbiAgICAgICAgICAgIHJldHVybiBudWxsO1xuICAgICAgICB9XG4gICAgfVxuXG4gICAgZXhwb3J0IGNsYXNzIFR5cGUge1xuICAgICAgICBwdWJsaWMgc3RhdGljIGdldENsYXNzTmFtZUFzeW5jKHRyYW5zbGF0ZTogVHJhbnNsYXRlU2VydmljZSwgY2xhc3NUeXBlOiBDbGFzc1R5cGU8YW55Piwgc2luZ3VsYXI/OiBib29sZWFuKTogT2JzZXJ2YWJsZTxzdHJpbmcgfCBudWxsPiB7XG4gICAgICAgICAgICBjb25zdCB0eXBlTmFtZSA9IFR5cGVVdGlsLmZpbmRUeXBlTmFtZShjbGFzc1R5cGUpO1xuICAgICAgICAgICAgcmV0dXJuIEkxOG5VdGlscy5UeXBlLmdldE5hbWVBc3luYyh0cmFuc2xhdGUsIHR5cGVOYW1lLCBzaW5ndWxhcik7XG4gICAgICAgIH1cblxuICAgICAgICBwdWJsaWMgc3RhdGljIGdldENsYXNzTmFtZSh0cmFuc2xhdGU6IFRyYW5zbGF0ZVNlcnZpY2UsIGNsYXNzVHlwZTogQ2xhc3NUeXBlPGFueT4sIHNpbmd1bGFyPzogYm9vbGVhbik6IHN0cmluZyB8IG51bGwge1xuICAgICAgICAgICAgY29uc3QgdHlwZU5hbWUgPSBUeXBlVXRpbC5maW5kVHlwZU5hbWUoY2xhc3NUeXBlKTtcbiAgICAgICAgICAgIHJldHVybiBJMThuVXRpbHMuVHlwZS5nZXROYW1lKHRyYW5zbGF0ZSwgdHlwZU5hbWUsIHNpbmd1bGFyKTtcbiAgICAgICAgfVxuXG4gICAgICAgIHB1YmxpYyBzdGF0aWMgZ2V0TmFtZUFzeW5jKHRyYW5zbGF0ZTogVHJhbnNsYXRlU2VydmljZSwgdHlwZU5hbWU6IHN0cmluZywgc2luZ3VsYXI/OiBib29sZWFuKTogT2JzZXJ2YWJsZTxzdHJpbmcgfCBudWxsPiB7XG4gICAgICAgICAgICBjb25zdCBrZXlzID0gSTE4blV0aWxzLlR5cGUuZ2V0TmFtZUtleXModHlwZU5hbWUsIHNpbmd1bGFyKTtcbiAgICAgICAgICAgIHJldHVybiBJMThuVXRpbHMuQ29tbW9uLmdldEFzeW5jKHRyYW5zbGF0ZSwgdW5kZWZpbmVkLCAuLi5rZXlzKTtcbiAgICAgICAgfVxuXG4gICAgICAgIHB1YmxpYyBzdGF0aWMgZ2V0TmFtZSh0cmFuc2xhdGU6IFRyYW5zbGF0ZVNlcnZpY2UsIHR5cGVOYW1lOiBzdHJpbmcsIHNpbmd1bGFyPzogYm9vbGVhbik6IHN0cmluZyB8IG51bGwge1xuICAgICAgICAgICAgY29uc3Qga2V5cyA9IEkxOG5VdGlscy5UeXBlLmdldE5hbWVLZXlzKHR5cGVOYW1lLCBzaW5ndWxhcik7XG4gICAgICAgICAgICByZXR1cm4gSTE4blV0aWxzLkNvbW1vbi5nZXQodHJhbnNsYXRlLCB1bmRlZmluZWQsIC4uLmtleXMpO1xuICAgICAgICB9XG5cbiAgICAgICAgcHVibGljIHN0YXRpYyBnZXRDbGFzc1RhYktleShjbGFzc1R5cGU6IENsYXNzVHlwZTxhbnk+LCB0YWI6IHN0cmluZyk6IHN0cmluZyB7XG4gICAgICAgICAgICBjb25zdCB0eXBlTmFtZSA9IFR5cGVVdGlsLmZpbmRUeXBlTmFtZShjbGFzc1R5cGUpO1xuICAgICAgICAgICAgcmV0dXJuIEkxOG5VdGlscy5UeXBlLmdldFRhYktleSh0eXBlTmFtZSwgdGFiKTtcbiAgICAgICAgfVxuXG4gICAgICAgIHB1YmxpYyBzdGF0aWMgZ2V0VGFiS2V5KHR5cGVOYW1lOiBzdHJpbmcsIHRhYjogc3RyaW5nKTogc3RyaW5nIHtcbiAgICAgICAgICAgIHJldHVybiBJMThuVXRpbHMuVHlwZS5nZXRQYXRoKHR5cGVOYW1lLCAndGFicycsIHRhYik7XG4gICAgICAgIH1cblxuICAgICAgICBwdWJsaWMgc3RhdGljIGdldENsYXNzR3JvdXBLZXkoY2xhc3NUeXBlOiBDbGFzc1R5cGU8YW55PiwgZ3JvdXA6IHN0cmluZyk6IHN0cmluZyB7XG4gICAgICAgICAgICBjb25zdCB0eXBlTmFtZSA9IFR5cGVVdGlsLmZpbmRUeXBlTmFtZShjbGFzc1R5cGUpO1xuICAgICAgICAgICAgcmV0dXJuIEkxOG5VdGlscy5UeXBlLmdldEdyb3VwS2V5KHR5cGVOYW1lLCBncm91cCk7XG4gICAgICAgIH1cblxuICAgICAgICBwdWJsaWMgc3RhdGljIGdldEdyb3VwS2V5KHR5cGVOYW1lOiBzdHJpbmcsIGdyb3VwOiBzdHJpbmcpOiBzdHJpbmcge1xuICAgICAgICAgICAgcmV0dXJuIEkxOG5VdGlscy5UeXBlLmdldFBhdGgodHlwZU5hbWUsICdncm91cHMnLCBncm91cCk7XG4gICAgICAgIH1cblxuICAgICAgICBwdWJsaWMgc3RhdGljIGdldENsYXNzUHJvcGVydHlLZXkoY2xhc3NUeXBlOiBDbGFzc1R5cGU8YW55PiwgcHJvcGVydHk6IHN0cmluZyk6IHN0cmluZyB7XG4gICAgICAgICAgICBjb25zdCB0eXBlTmFtZSA9IFR5cGVVdGlsLmZpbmRUeXBlTmFtZShjbGFzc1R5cGUpO1xuICAgICAgICAgICAgcmV0dXJuIEkxOG5VdGlscy5UeXBlLmdldFByb3BlcnR5S2V5KHR5cGVOYW1lLCBwcm9wZXJ0eSk7XG4gICAgICAgIH1cblxuICAgICAgICBwdWJsaWMgc3RhdGljIGdldFByb3BlcnR5S2V5KHR5cGVOYW1lOiBzdHJpbmcsIHByb3BlcnR5OiBzdHJpbmcpOiBzdHJpbmcge1xuICAgICAgICAgICAgcmV0dXJuIEkxOG5VdGlscy5UeXBlLmdldFBhdGgodHlwZU5hbWUsICdwcm9wZXJ0aWVzJywgcHJvcGVydHkpO1xuICAgICAgICB9XG5cbiAgICAgICAgcHVibGljIHN0YXRpYyBnZXRDbGFzc1BhdGgoY2xhc3NUeXBlOiBDbGFzc1R5cGU8YW55PiwgLi4ucGF0aDogQXJyYXk8c3RyaW5nPik6IHN0cmluZyB7XG4gICAgICAgICAgICBjb25zdCB0eXBlTmFtZSA9IFR5cGVVdGlsLmZpbmRUeXBlTmFtZShjbGFzc1R5cGUpO1xuICAgICAgICAgICAgcmV0dXJuIEkxOG5VdGlscy5UeXBlLmdldFBhdGgodHlwZU5hbWUsIC4uLnBhdGgpO1xuICAgICAgICB9XG5cbiAgICAgICAgcHVibGljIHN0YXRpYyBnZXRQYXRoKHR5cGVOYW1lOiBzdHJpbmcsIC4uLnBhdGg6IEFycmF5PHN0cmluZz4pOiBzdHJpbmcge1xuICAgICAgICAgICAgcmV0dXJuIGAke3R5cGVOYW1lfS4ke3BhdGguam9pbignLicpfWA7XG4gICAgICAgIH1cblxuICAgICAgICBwdWJsaWMgc3RhdGljIGdldENsYXNzUGFyYW1zKHRyYW5zbGF0ZTogVHJhbnNsYXRlU2VydmljZSwgY2xhc3NUeXBlOiBDbGFzc1R5cGU8YW55PiwgaXRlbTogYW55LCBwYXJhbXM6IGFueSA9IHt9KTogYW55IHtcbiAgICAgICAgICAgIGNvbnN0IHR5cGVOYW1lID0gVHlwZVV0aWwuZmluZFR5cGVOYW1lKGNsYXNzVHlwZSk7XG4gICAgICAgICAgICByZXR1cm4gSTE4blV0aWxzLlR5cGUuZ2V0UGFyYW1zKHRyYW5zbGF0ZSwgdHlwZU5hbWUsIGl0ZW0sIHBhcmFtcyk7XG4gICAgICAgIH1cblxuICAgICAgICBwdWJsaWMgc3RhdGljIGdldFBhcmFtcyh0cmFuc2xhdGU6IFRyYW5zbGF0ZVNlcnZpY2UsIHR5cGVOYW1lPzogc3RyaW5nLCBpdGVtPzogYW55LCBwYXJhbXM6IGFueSA9IHt9KTogYW55IHtcbiAgICAgICAgICAgIGNvbnN0IGkxOG5UeXBlTmFtZSA9IHR5cGVOYW1lID8gSTE4blV0aWxzLlR5cGUuZ2V0TmFtZSh0cmFuc2xhdGUsIHR5cGVOYW1lLCB0cnVlKSA6IG51bGw7XG4gICAgICAgICAgICByZXR1cm4gSTE4blV0aWxzLlR5cGUucG9wdWxhdGVQYXJhbXMoaTE4blR5cGVOYW1lID8/IHVuZGVmaW5lZCwgaXRlbSwgcGFyYW1zKTtcbiAgICAgICAgfVxuXG4gICAgICAgIHB1YmxpYyBzdGF0aWMgZ2V0Q2xhc3NQYXJhbXNBc3luYyh0cmFuc2xhdGU6IFRyYW5zbGF0ZVNlcnZpY2UsIGNsYXNzVHlwZTogQ2xhc3NUeXBlPGFueT4sIGl0ZW0/OiBhbnksIHBhcmFtczogYW55ID0ge30pOiBPYnNlcnZhYmxlPGFueT4ge1xuICAgICAgICAgICAgY29uc3QgdHlwZU5hbWUgPSBUeXBlVXRpbC5maW5kVHlwZU5hbWUoY2xhc3NUeXBlKTtcbiAgICAgICAgICAgIHJldHVybiBJMThuVXRpbHMuVHlwZS5nZXRQYXJhbXNBc3luYyh0cmFuc2xhdGUsIHR5cGVOYW1lLCBpdGVtLCBwYXJhbXMpO1xuICAgICAgICB9XG5cbiAgICAgICAgcHVibGljIHN0YXRpYyBnZXRQYXJhbXNBc3luYyh0cmFuc2xhdGU6IFRyYW5zbGF0ZVNlcnZpY2UsIHR5cGVOYW1lPzogc3RyaW5nLCBpdGVtPzogYW55LCBwYXJhbXM6IGFueSA9IHt9KTogT2JzZXJ2YWJsZTxhbnk+IHtcbiAgICAgICAgICAgIHJldHVybiAodHlwZU5hbWUgPyBJMThuVXRpbHMuVHlwZS5nZXROYW1lQXN5bmModHJhbnNsYXRlLCB0eXBlTmFtZSwgdHJ1ZSkgOiBvZihudWxsKSkucGlwZShcbiAgICAgICAgICAgICAgICBtYXAoaTE4blR5cGVOYW1lID0+IEkxOG5VdGlscy5UeXBlLnBvcHVsYXRlUGFyYW1zKGkxOG5UeXBlTmFtZSA/PyB1bmRlZmluZWQsIGl0ZW0sIHBhcmFtcykpXG4gICAgICAgICAgICApO1xuICAgICAgICB9XG5cbiAgICAgICAgcHVibGljIHN0YXRpYyBwb3B1bGF0ZVBhcmFtcyhpMThuVHlwZU5hbWU/OiBzdHJpbmcsIGl0ZW0/OiBhbnksIHBhcmFtczogYW55ID0ge30pOiBhbnkge1xuICAgICAgICAgICAgY29uc3QgcGFyYW1zUmVzID0gey4uLnBhcmFtc307XG4gICAgICAgICAgICBpZiAoaTE4blR5cGVOYW1lKSB7XG4gICAgICAgICAgICAgICAgcGFyYW1zUmVzLnR5cGVOYW1lID0gaTE4blR5cGVOYW1lO1xuICAgICAgICAgICAgfVxuICAgICAgICAgICAgcmV0dXJuIEkxOG5VdGlscy5Db21tb24ucG9wdWxhdGVQYXJhbXMoaXRlbSwgcGFyYW1zUmVzKTtcbiAgICAgICAgfVxuXG4gICAgICAgIHByaXZhdGUgc3RhdGljIGdldE5hbWVLZXlzKHR5cGVOYW1lOiBzdHJpbmcsIHNpbmd1bGFyPzogYm9vbGVhbik6IEFycmF5PHN0cmluZz4ge1xuICAgICAgICAgICAgY29uc3Qga2V5cyA9IFtdO1xuICAgICAgICAgICAgaWYgKHR5cGVvZiBzaW5ndWxhciAhPT0gJ3VuZGVmaW5lZCcpIHtcbiAgICAgICAgICAgICAgICBrZXlzLnB1c2goc2luZ3VsYXIgPyBgJHt0eXBlTmFtZX0ubmFtZVNpbmd1bGFyYCA6IGAke3R5cGVOYW1lfS5uYW1lUGx1cmFsYCk7XG4gICAgICAgICAgICB9XG4gICAgICAgICAgICBrZXlzLnB1c2goYCR7dHlwZU5hbWV9Lm5hbWVgKTtcbiAgICAgICAgICAgIHJldHVybiBrZXlzO1xuICAgICAgICB9XG4gICAgfVxuXG4gICAgZXhwb3J0IGNsYXNzIE1vZGVsIHtcbiAgICAgICAgcHVibGljIHN0YXRpYyBnZXQoXG4gICAgICAgICAgICB0cmFuc2xhdGU6IFRyYW5zbGF0ZVNlcnZpY2UsXG4gICAgICAgICAgICBtb2RlbDogTW9kZWxEZXNjcmlwdG9yPGFueT4sXG4gICAgICAgICAgICBrZXlQYXRoOiBzdHJpbmcsXG4gICAgICAgICAgICBjdXN0b21LZXk/OiBzdHJpbmcsXG4gICAgICAgICAgICBpdGVtPzogYW55LFxuICAgICAgICAgICAgZmFsbGJhY2tLZXk/OiBzdHJpbmcsXG4gICAgICAgICAgICBwYXJhbXM/OiBhbnlcbiAgICAgICAgKTogc3RyaW5nIHwgbnVsbCB7XG4gICAgICAgICAgICBjb25zdCBrZXlzID0gSTE4blV0aWxzLk1vZGVsLmdldEtleXNCeVByaW9yaXR5KG1vZGVsLCBrZXlQYXRoLCBjdXN0b21LZXksIGZhbGxiYWNrS2V5KTtcbiAgICAgICAgICAgIGNvbnN0IGkxOG5QYXJhbXMgPSBJMThuVXRpbHMuTW9kZWwuZ2V0UGFyYW1zKHRyYW5zbGF0ZSwgbW9kZWwsIGl0ZW0sIHBhcmFtcyk7XG4gICAgICAgICAgICByZXR1cm4gSTE4blV0aWxzLkNvbW1vbi5nZXQodHJhbnNsYXRlLCBpMThuUGFyYW1zLCAuLi5rZXlzKTtcbiAgICAgICAgfVxuXG4gICAgICAgIHB1YmxpYyBzdGF0aWMgZ2V0TmFtZSh0cmFuc2xhdGU6IFRyYW5zbGF0ZVNlcnZpY2UsIG1vZGVsOiBNb2RlbERlc2NyaXB0b3I8YW55Piwgc2luZ3VsYXI/OiBib29sZWFuKTogc3RyaW5nIHwgbnVsbCB7XG4gICAgICAgICAgICByZXR1cm4gSTE4blV0aWxzLlR5cGUuZ2V0TmFtZSh0cmFuc2xhdGUsIG1vZGVsLnR5cGVOYW1lLCBzaW5ndWxhcik7XG4gICAgICAgIH1cblxuICAgICAgICBwdWJsaWMgc3RhdGljIGdldE5hbWVBc3luYyh0cmFuc2xhdGU6IFRyYW5zbGF0ZVNlcnZpY2UsIG1vZGVsOiBNb2RlbERlc2NyaXB0b3I8YW55Piwgc2luZ3VsYXI/OiBib29sZWFuKTogT2JzZXJ2YWJsZTxzdHJpbmcgfCBudWxsPiB7XG4gICAgICAgICAgICByZXR1cm4gSTE4blV0aWxzLlR5cGUuZ2V0TmFtZUFzeW5jKHRyYW5zbGF0ZSwgbW9kZWwudHlwZU5hbWUsIHNpbmd1bGFyKTtcbiAgICAgICAgfVxuXG4gICAgICAgIHB1YmxpYyBzdGF0aWMgZ2V0UGFyYW1zKHRyYW5zbGF0ZTogVHJhbnNsYXRlU2VydmljZSwgbW9kZWw/OiBNb2RlbERlc2NyaXB0b3I8YW55PiwgaXRlbT86IGFueSwgcGFyYW1zOiBhbnkgPSB7fSk6IGFueSB7XG4gICAgICAgICAgICBjb25zdCBpMThuUGFyYW1zID0gSTE4blV0aWxzLlR5cGUuZ2V0UGFyYW1zKHRyYW5zbGF0ZSwgbW9kZWw/LnR5cGVOYW1lLCBpdGVtLCBwYXJhbXMpO1xuICAgICAgICAgICAgcmV0dXJuIEkxOG5VdGlscy5Nb2RlbC5wb3B1bGF0ZVBhcmFtcyhtb2RlbD8uaWRQcm9wZXJ0eU5hbWUsIG1vZGVsPy50aXRsZVByb3BlcnR5TmFtZSwgaXRlbSwgaTE4blBhcmFtcyk7XG4gICAgICAgIH1cblxuICAgICAgICBwdWJsaWMgc3RhdGljIGdldFBhcmFtc0FzeW5jKHRyYW5zbGF0ZTogVHJhbnNsYXRlU2VydmljZSwgbW9kZWw/OiBNb2RlbERlc2NyaXB0b3I8YW55PiwgaXRlbT86IGFueSwgcGFyYW1zOiBhbnkgPSB7fSk6IE9ic2VydmFibGU8YW55PiB7XG4gICAgICAgICAgICByZXR1cm4gSTE4blV0aWxzLlR5cGUuZ2V0UGFyYW1zQXN5bmModHJhbnNsYXRlLCBtb2RlbD8udHlwZU5hbWUsIGl0ZW0sIHBhcmFtcykucGlwZShcbiAgICAgICAgICAgICAgICBtYXAoaTE4blBhcmFtcyA9PiBJMThuVXRpbHMuTW9kZWwucG9wdWxhdGVQYXJhbXMobW9kZWw/LmlkUHJvcGVydHlOYW1lLCBtb2RlbD8udGl0bGVQcm9wZXJ0eU5hbWUsIGl0ZW0sIGkxOG5QYXJhbXMpKVxuICAgICAgICAgICAgKTtcbiAgICAgICAgfVxuXG4gICAgICAgIHB1YmxpYyBzdGF0aWMgcG9wdWxhdGVQYXJhbXMoaWRQcm9wZXJ0eT86IHN0cmluZywgdGl0bGVQcm9wZXJ0eT86IHN0cmluZywgaXRlbT86IGFueSwgcGFyYW1zOiBhbnkgPSB7fSk6IGFueSB7XG4gICAgICAgICAgICBjb25zdCBwYXJhbXNSZXMgPSB7Li4ucGFyYW1zLCBpdGVtSWQ6ICcnLCBpdGVtVGl0bGU6ICcnfTtcbiAgICAgICAgICAgIGlmIChpdGVtKSB7XG4gICAgICAgICAgICAgICAgaWYgKGlkUHJvcGVydHkgJiYgaXRlbVtpZFByb3BlcnR5XSkge1xuICAgICAgICAgICAgICAgICAgICBwYXJhbXNSZXMuaXRlbUlkID0gaXRlbVtpZFByb3BlcnR5XTtcbiAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICAgICAgaWYgKHRpdGxlUHJvcGVydHkgJiYgaXRlbVt0aXRsZVByb3BlcnR5XSkge1xuICAgICAgICAgICAgICAgICAgICBwYXJhbXNSZXMuaXRlbVRpdGxlID0gaXRlbVt0aXRsZVByb3BlcnR5XTtcbiAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICB9XG4gICAgICAgICAgICByZXR1cm4gcGFyYW1zUmVzO1xuICAgICAgICB9XG5cbiAgICAgICAgcHJpdmF0ZSBzdGF0aWMgZ2V0S2V5c0J5UHJpb3JpdHkobW9kZWw6IE1vZGVsRGVzY3JpcHRvcjxhbnk+LCBrZXlQYXRoOiBzdHJpbmcsIGN1c3RvbUtleT86IHN0cmluZywgZmFsbGJhY2tLZXk/OiBzdHJpbmcpIHtcbiAgICAgICAgICAgIGNvbnN0IGtleXMgPSBbXTtcbiAgICAgICAgICAgIGlmIChjdXN0b21LZXkpIHtcbiAgICAgICAgICAgICAgICBrZXlzLnB1c2goY3VzdG9tS2V5KTtcbiAgICAgICAgICAgIH1cbiAgICAgICAgICAgIGNvbnN0IG1vZGVsQWN0aW9uS2V5ID0gSTE4blV0aWxzLlR5cGUuZ2V0UGF0aChtb2RlbC50eXBlTmFtZSwgLi4ua2V5UGF0aCk7XG4gICAgICAgICAgICBrZXlzLnB1c2gobW9kZWxBY3Rpb25LZXkpO1xuICAgICAgICAgICAgaWYgKGZhbGxiYWNrS2V5KSB7XG4gICAgICAgICAgICAgICAga2V5cy5wdXNoKGZhbGxiYWNrS2V5KTtcbiAgICAgICAgICAgIH1cbiAgICAgICAgICAgIHJldHVybiBrZXlzO1xuICAgICAgICB9XG4gICAgfVxuXG4gICAgZXhwb3J0IGNsYXNzIEFjdGlvbiB7XG4gICAgICAgIHB1YmxpYyBzdGF0aWMgZ2V0KFxuICAgICAgICAgICAgdHJhbnNsYXRlOiBUcmFuc2xhdGVTZXJ2aWNlLFxuICAgICAgICAgICAgYWN0aW9uOiBBY3Rpb25EZXNjcmlwdG9yPGFueT4sXG4gICAgICAgICAgICBhY3Rpb25QYXRoS2V5czogc3RyaW5nIHwgQXJyYXk8c3RyaW5nPixcbiAgICAgICAgICAgIGN1c3RvbUtleT86IHN0cmluZyxcbiAgICAgICAgICAgIGl0ZW0/OiBhbnksXG4gICAgICAgICAgICBmYWxsYmFja0tleT86IHN0cmluZyxcbiAgICAgICAgICAgIHBhcmFtcz86IGFueVxuICAgICAgICApOiBzdHJpbmcgfCBudWxsIHtcbiAgICAgICAgICAgIGNvbnN0IGtleXMgPSBJMThuVXRpbHMuQWN0aW9uLmdldEtleXNCeVByaW9yaXR5KGFjdGlvbiwgYWN0aW9uUGF0aEtleXMsIGN1c3RvbUtleSwgZmFsbGJhY2tLZXkpO1xuICAgICAgICAgICAgY29uc3QgaTE4blBhcmFtcyA9IEkxOG5VdGlscy5BY3Rpb24uZ2V0UGFyYW1zKHRyYW5zbGF0ZSwgYWN0aW9uLCBpdGVtLCBwYXJhbXMpO1xuICAgICAgICAgICAgcmV0dXJuIEkxOG5VdGlscy5Db21tb24uZ2V0KHRyYW5zbGF0ZSwgaTE4blBhcmFtcywgLi4ua2V5cyk7XG4gICAgICAgIH1cblxuICAgICAgICBwdWJsaWMgc3RhdGljIGdldEFzeW5jKFxuICAgICAgICAgICAgdHJhbnNsYXRlOiBUcmFuc2xhdGVTZXJ2aWNlLFxuICAgICAgICAgICAgYWN0aW9uOiBBY3Rpb25EZXNjcmlwdG9yPGFueT4sXG4gICAgICAgICAgICBhY3Rpb25QYXRoS2V5czogc3RyaW5nIHwgQXJyYXk8c3RyaW5nPixcbiAgICAgICAgICAgIGN1c3RvbUtleT86IHN0cmluZyxcbiAgICAgICAgICAgIGl0ZW0/OiBhbnksXG4gICAgICAgICAgICBmYWxsYmFja0tleT86IHN0cmluZyxcbiAgICAgICAgICAgIHBhcmFtcz86IGFueVxuICAgICAgICApOiBPYnNlcnZhYmxlPHN0cmluZyB8IG51bGw+IHtcbiAgICAgICAgICAgIHJldHVybiBJMThuVXRpbHMuQWN0aW9uLmdldFBhcmFtc0FzeW5jKHRyYW5zbGF0ZSwgYWN0aW9uLCBpdGVtLCBwYXJhbXMpLnBpcGUoXG4gICAgICAgICAgICAgICAgbWVyZ2VNYXAoaTE4blBhcmFtcyA9PiB7XG4gICAgICAgICAgICAgICAgICAgIGNvbnN0IGtleXMgPSBJMThuVXRpbHMuQWN0aW9uLmdldEtleXNCeVByaW9yaXR5KGFjdGlvbiwgYWN0aW9uUGF0aEtleXMsIGN1c3RvbUtleSwgZmFsbGJhY2tLZXkpO1xuICAgICAgICAgICAgICAgICAgICByZXR1cm4gSTE4blV0aWxzLkNvbW1vbi5nZXRBc3luYyh0cmFuc2xhdGUsIGkxOG5QYXJhbXMsIC4uLmtleXMpO1xuICAgICAgICAgICAgICAgIH0pXG4gICAgICAgICAgICApO1xuICAgICAgICB9XG5cbiAgICAgICAgcHVibGljIHN0YXRpYyBnZXRUaXRsZUFzeW5jKHRyYW5zbGF0ZTogVHJhbnNsYXRlU2VydmljZSwgYWN0aW9uOiBBY3Rpb25EZXNjcmlwdG9yPGFueT4sIGl0ZW0/OiBhbnkpOiBPYnNlcnZhYmxlPHN0cmluZyB8IG51bGw+IHtcbiAgICAgICAgICAgIHJldHVybiBJMThuVXRpbHMuQWN0aW9uLmdldEFzeW5jKHRyYW5zbGF0ZSwgYWN0aW9uLCAndGl0bGUnLCB1bmRlZmluZWQsIGl0ZW0pO1xuICAgICAgICB9XG5cbiAgICAgICAgcHVibGljIHN0YXRpYyBnZXRFZGl0b3JUaXRsZUFzeW5jKHRyYW5zbGF0ZTogVHJhbnNsYXRlU2VydmljZSwgYWN0aW9uOiBBY3Rpb25FZGl0b3JEZXNjcmlwdG9yPGFueT4sIGl0ZW0/OiBhbnkpOiBPYnNlcnZhYmxlPHN0cmluZyB8IG51bGw+IHtcbiAgICAgICAgICAgIHJldHVybiBJMThuVXRpbHMuQWN0aW9uLmdldEFzeW5jKHRyYW5zbGF0ZSwgYWN0aW9uLCBbJ2VkaXRvci50aXRsZScsICd0aXRsZSddLCBhY3Rpb24uZWRpdG9yVGl0bGUgPz8gdW5kZWZpbmVkLCBpdGVtKTtcbiAgICAgICAgfVxuXG4gICAgICAgIHB1YmxpYyBzdGF0aWMgZ2V0UGFyYW1zKHRyYW5zbGF0ZTogVHJhbnNsYXRlU2VydmljZSwgYWN0aW9uOiBBY3Rpb25EZXNjcmlwdG9yPGFueT4sIGl0ZW0/OiBhbnksIHBhcmFtczogYW55ID0ge30pOiBhbnkge1xuICAgICAgICAgICAgY29uc3QgaTE4blBhcmFtcyA9IEkxOG5VdGlscy5Nb2RlbC5nZXRQYXJhbXModHJhbnNsYXRlLCBhY3Rpb24ubW9kZWwgPz8gdW5kZWZpbmVkLCBpdGVtLCBwYXJhbXMpO1xuICAgICAgICAgICAgcmV0dXJuIEkxOG5VdGlscy5BY3Rpb24ucG9wdWxhdGVQYXJhbXMoaTE4blBhcmFtcyk7XG4gICAgICAgIH1cblxuICAgICAgICBwdWJsaWMgc3RhdGljIGdldFBhcmFtc0FzeW5jKHRyYW5zbGF0ZTogVHJhbnNsYXRlU2VydmljZSwgYWN0aW9uOiBBY3Rpb25EZXNjcmlwdG9yPGFueT4sIGl0ZW0/OiBhbnksIHBhcmFtczogYW55ID0ge30pOiBPYnNlcnZhYmxlPGFueT4ge1xuICAgICAgICAgICAgcmV0dXJuIEkxOG5VdGlscy5Nb2RlbC5nZXRQYXJhbXNBc3luYyh0cmFuc2xhdGUsIGFjdGlvbi5tb2RlbCA/PyB1bmRlZmluZWQsIGl0ZW0sIHBhcmFtcykucGlwZShtYXAoaTE4blBhcmFtcyA9PiBJMThuVXRpbHMuQWN0aW9uLnBvcHVsYXRlUGFyYW1zKGkxOG5QYXJhbXMpKSk7XG4gICAgICAgIH1cblxuICAgICAgICBwdWJsaWMgc3RhdGljIHBvcHVsYXRlUGFyYW1zKHBhcmFtczogYW55ID0ge30pOiBhbnkge1xuICAgICAgICAgICAgcGFyYW1zID0gey4uLnBhcmFtc307XG4gICAgICAgICAgICByZXR1cm4gcGFyYW1zO1xuICAgICAgICB9XG5cbiAgICAgICAgcHJpdmF0ZSBzdGF0aWMgZ2V0S2V5c0J5UHJpb3JpdHkoYWN0aW9uOiBBY3Rpb25EZXNjcmlwdG9yPGFueT4sIGFjdGlvblBhdGhLZXlzOiBzdHJpbmcgfCBBcnJheTxzdHJpbmc+LCBjdXN0b21LZXk/OiBzdHJpbmcsIGZhbGxiYWNrS2V5Pzogc3RyaW5nKSB7XG4gICAgICAgICAgICBjb25zdCBrZXlzID0gW107XG4gICAgICAgICAgICBpZiAoY3VzdG9tS2V5KSB7XG4gICAgICAgICAgICAgICAga2V5cy5wdXNoKGN1c3RvbUtleSk7XG4gICAgICAgICAgICB9XG4gICAgICAgICAgICBpZiAoIUFycmF5LmlzQXJyYXkoYWN0aW9uUGF0aEtleXMpKSB7XG4gICAgICAgICAgICAgICAgYWN0aW9uUGF0aEtleXMgPSBbYWN0aW9uUGF0aEtleXNdO1xuICAgICAgICAgICAgfVxuICAgICAgICAgICAgYWN0aW9uUGF0aEtleXMuZm9yRWFjaChrID0+IHtcbiAgICAgICAgICAgICAgICBjb25zdCBtb2RlbEFjdGlvbktleSA9IGAke2FjdGlvbi5pMThuTW9kZWxBY3Rpb25CYXNlS2V5fS4ke2t9YDtcbiAgICAgICAgICAgICAgICBjb25zdCBhY3Rpb25LZXkgPSBgJHthY3Rpb24uYWN0aW9uTmFtZX0uJHtrfWA7XG4gICAgICAgICAgICAgICAga2V5cy5wdXNoKG1vZGVsQWN0aW9uS2V5LCBhY3Rpb25LZXkpO1xuICAgICAgICAgICAgfSk7XG4gICAgICAgICAgICBpZiAoZmFsbGJhY2tLZXkpIHtcbiAgICAgICAgICAgICAgICBrZXlzLnB1c2goZmFsbGJhY2tLZXkpO1xuICAgICAgICAgICAgfVxuICAgICAgICAgICAgcmV0dXJuIGtleXM7XG4gICAgICAgIH1cbiAgICB9XG5cbiAgICBleHBvcnQgY2xhc3MgRXJyb3Ige1xuICAgICAgICBwdWJsaWMgc3RhdGljIGdldCh0cmFuc2xhdGU6IFRyYW5zbGF0ZVNlcnZpY2UsIGVycm9yOiBNbmdFcnJvciwgcGFyYW1zOiBhbnkgPSB7fSk6IHN0cmluZyB8IG51bGwge1xuICAgICAgICAgICAgY29uc3QgaTE4blBhcmFtcyA9IEkxOG5VdGlscy5FcnJvci5nZXRQYXJhbXMoZXJyb3IsIHBhcmFtcyk7XG4gICAgICAgICAgICBpZiAoZXJyb3IubWVzc2FnZUNvZGUpIHtcbiAgICAgICAgICAgICAgICBjb25zdCBrZXlzID0gW2BlcnJvcnMuJHtlcnJvci5tZXNzYWdlQ29kZX1gLCBgbWVzc2FnZXMuJHtlcnJvci5tZXNzYWdlQ29kZX1gXTtcbiAgICAgICAgICAgICAgICBjb25zdCBpMThuID0gSTE4blV0aWxzLkNvbW1vbi5nZXQodHJhbnNsYXRlLCBpMThuUGFyYW1zLCAuLi5rZXlzKTtcbiAgICAgICAgICAgICAgICBpZiAoaTE4bikge1xuICAgICAgICAgICAgICAgICAgICByZXR1cm4gaTE4bjtcbiAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICB9XG4gICAgICAgICAgICByZXR1cm4gSTE4blV0aWxzLkNvbW1vbi5nZXQodHJhbnNsYXRlLCBpMThuUGFyYW1zLCBlcnJvci5tZXNzYWdlKTtcbiAgICAgICAgfVxuXG4gICAgICAgIHB1YmxpYyBzdGF0aWMgZ2V0UGFyYW1zKGVycm9yOiBNbmdFcnJvciwgcGFyYW1zOiBhbnkgPSB7fSkge1xuICAgICAgICAgICAgY29uc3QgcGFyYW1zUmVzID0gey4uLnBhcmFtc307XG4gICAgICAgICAgICBwYXJhbXNSZXMuZXJyb3JTdGF0dXMgPSAnJztcbiAgICAgICAgICAgIHBhcmFtc1Jlcy5lcnJvck1lc3NhZ2UgPSAnJztcblxuICAgICAgICAgICAgaWYgKGVycm9yLnN0YXR1cykge1xuICAgICAgICAgICAgICAgIHBhcmFtc1Jlcy5lcnJvclN0YXR1cyA9IGVycm9yLnN0YXR1cztcbiAgICAgICAgICAgIH1cbiAgICAgICAgICAgIGlmIChlcnJvci5tZXNzYWdlKSB7XG4gICAgICAgICAgICAgICAgcGFyYW1zUmVzLmVycm9yTWVzc2FnZSA9IGVycm9yLm1lc3NhZ2U7XG4gICAgICAgICAgICB9XG4gICAgICAgICAgICBpZiAoZXJyb3Iuc3RhdHVzRGVzY3JpcHRpb24pIHtcbiAgICAgICAgICAgICAgICBwYXJhbXNSZXMuZXJyb3JTdGF0dXNEZXNjcmlwdGlvbiA9IGVycm9yLnN0YXR1c0Rlc2NyaXB0aW9uO1xuICAgICAgICAgICAgfVxuICAgICAgICAgICAgcGFyYW1zUmVzLmVycm9yID0gZXJyb3I7XG4gICAgICAgICAgICByZXR1cm4gcGFyYW1zUmVzO1xuICAgICAgICB9XG4gICAgfVxufVxuIl19
|
package/esm2020/public-api.mjs
CHANGED
|
@@ -8,6 +8,8 @@ export * from './lib/api/services';
|
|
|
8
8
|
export * from './lib/components/layout/services';
|
|
9
9
|
export * from './lib/services';
|
|
10
10
|
export * from './lib/services/providers';
|
|
11
|
+
// injection tokens
|
|
12
|
+
export * from './lib/services/tokens';
|
|
11
13
|
// utils
|
|
12
14
|
export * from './lib/api/utils';
|
|
13
15
|
export * from './lib/utils';
|
|
@@ -35,4 +37,4 @@ export * from './lib/models';
|
|
|
35
37
|
export * from './lib/router';
|
|
36
38
|
export * from './lib/router/models';
|
|
37
39
|
export * from './lib/types';
|
|
38
|
-
//# sourceMappingURL=data:application/json;base64,
|
|
40
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicHVibGljLWFwaS5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uL3NyYy9wdWJsaWMtYXBpLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBOztHQUVHO0FBRUgsU0FBUztBQUNULGNBQWMsMEJBQTBCLENBQUM7QUFFekMsV0FBVztBQUNYLGNBQWMsb0JBQW9CLENBQUM7QUFDbkMsY0FBYyxrQ0FBa0MsQ0FBQztBQUNqRCxjQUFjLGdCQUFnQixDQUFDO0FBQy9CLGNBQWMsMEJBQTBCLENBQUM7QUFFekMsbUJBQW1CO0FBQ25CLGNBQWMsdUJBQXVCLENBQUM7QUFFdEMsUUFBUTtBQUNSLGNBQWMsaUJBQWlCLENBQUM7QUFDaEMsY0FBYyxhQUFhLENBQUM7QUFFNUIsYUFBYTtBQUNiLGNBQWMseUJBQXlCLENBQUM7QUFDeEMsY0FBYyx1QkFBdUIsQ0FBQztBQUN0QyxjQUFjLHFDQUFxQyxDQUFDO0FBQ3BELGNBQWMsdUNBQXVDLENBQUM7QUFDdEQsY0FBYyx5QkFBeUIsQ0FBQztBQUN4QyxjQUFjLDRCQUE0QixDQUFDO0FBRTNDLGFBQWE7QUFDYixjQUFjLGtCQUFrQixDQUFDO0FBRWpDLFFBQVE7QUFDUixjQUFjLGFBQWEsQ0FBQztBQUU1QixlQUFlO0FBQ2YsY0FBYyxrQkFBa0IsQ0FBQztBQUNqQyxjQUFjLGdDQUFnQyxDQUFDO0FBQy9DLGNBQWMsOEJBQThCLENBQUM7QUFDN0MsY0FBYyxtQ0FBbUMsQ0FBQztBQUNsRCxjQUFjLHFCQUFxQixDQUFDO0FBQ3BDLGNBQWMsY0FBYyxDQUFDO0FBQzdCLGNBQWMsc0JBQXNCLENBQUM7QUFDckMsY0FBYyxtQkFBbUIsQ0FBQztBQUNsQyxjQUFjLGNBQWMsQ0FBQztBQUM3QixjQUFjLGNBQWMsQ0FBQztBQUM3QixjQUFjLHFCQUFxQixDQUFDO0FBQ3BDLGNBQWMsYUFBYSxDQUFDIiwic291cmNlc0NvbnRlbnQiOlsiLypcbiAqIFB1YmxpYyBBUEkgU3VyZmFjZSBvZiBtbmctY29tbW9uc1xuICovXG5cbi8vIG1vZHVsZVxuZXhwb3J0ICogZnJvbSAnLi9saWIvbW5nLWNvbW1vbnMubW9kdWxlJztcblxuLy8gc2VydmljZXNcbmV4cG9ydCAqIGZyb20gJy4vbGliL2FwaS9zZXJ2aWNlcyc7XG5leHBvcnQgKiBmcm9tICcuL2xpYi9jb21wb25lbnRzL2xheW91dC9zZXJ2aWNlcyc7XG5leHBvcnQgKiBmcm9tICcuL2xpYi9zZXJ2aWNlcyc7XG5leHBvcnQgKiBmcm9tICcuL2xpYi9zZXJ2aWNlcy9wcm92aWRlcnMnO1xuXG4vLyBpbmplY3Rpb24gdG9rZW5zXG5leHBvcnQgKiBmcm9tICcuL2xpYi9zZXJ2aWNlcy90b2tlbnMnO1xuXG4vLyB1dGlsc1xuZXhwb3J0ICogZnJvbSAnLi9saWIvYXBpL3V0aWxzJztcbmV4cG9ydCAqIGZyb20gJy4vbGliL3V0aWxzJztcblxuLy8gY29tcG9uZW50c1xuZXhwb3J0ICogZnJvbSAnLi9saWIvY29tcG9uZW50cy9hY3Rpb24nO1xuZXhwb3J0ICogZnJvbSAnLi9saWIvY29tcG9uZW50cy9mb3JtJztcbmV4cG9ydCAqIGZyb20gJy4vbGliL2NvbXBvbmVudHMvZm9ybS9mb3JtbHkvZmllbGRzJztcbmV4cG9ydCAqIGZyb20gJy4vbGliL2NvbXBvbmVudHMvZm9ybS9mb3JtbHkvd3JhcHBlcnMnO1xuZXhwb3J0ICogZnJvbSAnLi9saWIvY29tcG9uZW50cy9sYXlvdXQnO1xuZXhwb3J0ICogZnJvbSAnLi9saWIvY29tcG9uZW50cy90YWJsZXZpZXcnO1xuXG4vLyBkaXJlY3RpdmVzXG5leHBvcnQgKiBmcm9tICcuL2xpYi9kaXJlY3RpdmVzJztcblxuLy8gcGlwZXNcbmV4cG9ydCAqIGZyb20gJy4vbGliL3BpcGVzJztcblxuLy8gbW9kZWxzJm90aGVyXG5leHBvcnQgKiBmcm9tICcuL2xpYi9hcGkvbW9kZWxzJztcbmV4cG9ydCAqIGZyb20gJy4vbGliL2NvbXBvbmVudHMvYWN0aW9uL21vZGVscyc7XG5leHBvcnQgKiBmcm9tICcuL2xpYi9jb21wb25lbnRzL2Zvcm0vbW9kZWxzJztcbmV4cG9ydCAqIGZyb20gJy4vbGliL2NvbXBvbmVudHMvdGFibGV2aWV3L21vZGVscyc7XG5leHBvcnQgKiBmcm9tICcuL2xpYi9jb25maWcvbW9kZWxzJztcbmV4cG9ydCAqIGZyb20gJy4vbGliL2NvbmZpZyc7XG5leHBvcnQgKiBmcm9tICcuL2xpYi9kYXRhLXByb3ZpZGVycyc7XG5leHBvcnQgKiBmcm9tICcuL2xpYi9kZXNjcmlwdG9ycyc7XG5leHBvcnQgKiBmcm9tICcuL2xpYi9tb2RlbHMnO1xuZXhwb3J0ICogZnJvbSAnLi9saWIvcm91dGVyJztcbmV4cG9ydCAqIGZyb20gJy4vbGliL3JvdXRlci9tb2RlbHMnO1xuZXhwb3J0ICogZnJvbSAnLi9saWIvdHlwZXMnO1xuIl19
|
|
@@ -72,7 +72,7 @@ import * as i4$3 from 'primeng/toolbar';
|
|
|
72
72
|
import { ToolbarModule } from 'primeng/toolbar';
|
|
73
73
|
import * as i9 from 'primeng/tooltip';
|
|
74
74
|
import { TooltipModule } from 'primeng/tooltip';
|
|
75
|
-
import { throwError, of, Subject, Observable, from, BehaviorSubject, ReplaySubject, switchMap, distinctUntilChanged,
|
|
75
|
+
import { throwError, of, Subject, Observable, from, combineLatest, tap, BehaviorSubject, ReplaySubject, switchMap, distinctUntilChanged, mergeMap as mergeMap$1 } from 'rxjs';
|
|
76
76
|
import 'reflect-metadata';
|
|
77
77
|
import { map, mergeMap, first, catchError, filter, finalize, startWith } from 'rxjs/operators';
|
|
78
78
|
import * as i4$1 from '@angular/platform-browser';
|
|
@@ -3226,13 +3226,12 @@ var I18nUtils;
|
|
|
3226
3226
|
}
|
|
3227
3227
|
static getParams(translate, action, item, params = {}) {
|
|
3228
3228
|
var _a;
|
|
3229
|
-
const
|
|
3230
|
-
return I18nUtils.Action.populateParams(
|
|
3229
|
+
const i18nParams = I18nUtils.Model.getParams(translate, (_a = action.model) !== null && _a !== void 0 ? _a : undefined, item, params);
|
|
3230
|
+
return I18nUtils.Action.populateParams(i18nParams);
|
|
3231
3231
|
}
|
|
3232
3232
|
static getParamsAsync(translate, action, item, params = {}) {
|
|
3233
3233
|
var _a;
|
|
3234
|
-
|
|
3235
|
-
return I18nUtils.Model.getParamsAsync(translate, (_a = action.model) !== null && _a !== void 0 ? _a : undefined, item, params).pipe(map(i18nParams => I18nUtils.Action.populateParams(modelI18nParams)));
|
|
3234
|
+
return I18nUtils.Model.getParamsAsync(translate, (_a = action.model) !== null && _a !== void 0 ? _a : undefined, item, params).pipe(map(i18nParams => I18nUtils.Action.populateParams(i18nParams)));
|
|
3236
3235
|
}
|
|
3237
3236
|
static populateParams(params = {}) {
|
|
3238
3237
|
params = Object.assign({}, params);
|
|
@@ -3830,6 +3829,8 @@ const MNG_BROWSER_STORAGE_IT = new InjectionToken('Browser storage', {
|
|
|
3830
3829
|
factory: () => localStorage
|
|
3831
3830
|
});
|
|
3832
3831
|
|
|
3832
|
+
const MNG_COMMONS_INITIALIZER_IT = new InjectionToken('MNG Commons Initializer');
|
|
3833
|
+
|
|
3833
3834
|
const ACTION_EDITOR_DIALOG_COMPONENT_SETTING = new InjectionToken('ACTION_EDITOR_DIALOG_COMPONENT_SETTING');
|
|
3834
3835
|
|
|
3835
3836
|
const MNG_MODULE_CONFIG_IT = new InjectionToken('MngModuleConfig');
|
|
@@ -4404,7 +4405,7 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "13.1.3", ngImpor
|
|
|
4404
4405
|
class MngConfigurationService {
|
|
4405
4406
|
constructor(http) {
|
|
4406
4407
|
this.http = http;
|
|
4407
|
-
this.
|
|
4408
|
+
this.jsonSources = [];
|
|
4408
4409
|
this.configuration = Object.assign({}, this.projectEnvironment);
|
|
4409
4410
|
}
|
|
4410
4411
|
static init(httpClient) {
|
|
@@ -4431,23 +4432,57 @@ class MngConfigurationService {
|
|
|
4431
4432
|
* Adds new config source from JSON file.
|
|
4432
4433
|
* @param url Url to JSON file.
|
|
4433
4434
|
*/
|
|
4434
|
-
addJsonSource(url = this.projectEnvironment.configurationJsonSource) {
|
|
4435
|
+
addJsonSource(url = this.projectEnvironment.configurationJsonSource, load = false) {
|
|
4435
4436
|
if (!url) {
|
|
4436
|
-
console.
|
|
4437
|
+
console.debug('No path to configuration file specified. Setting default.');
|
|
4437
4438
|
url = 'assets/config/env{{environment}}.json';
|
|
4438
4439
|
}
|
|
4439
|
-
const
|
|
4440
|
-
|
|
4441
|
-
|
|
4442
|
-
|
|
4443
|
-
|
|
4444
|
-
|
|
4445
|
-
|
|
4446
|
-
|
|
4447
|
-
this.
|
|
4448
|
-
|
|
4449
|
-
|
|
4450
|
-
|
|
4440
|
+
const sourceInfo = {
|
|
4441
|
+
url: url,
|
|
4442
|
+
isEnvironment: false,
|
|
4443
|
+
isLoaded: false
|
|
4444
|
+
};
|
|
4445
|
+
this.jsonSources.push(sourceInfo);
|
|
4446
|
+
console.debug(`Added JSON source: ${url}`);
|
|
4447
|
+
if (load) {
|
|
4448
|
+
return this.loadJsonSources();
|
|
4449
|
+
}
|
|
4450
|
+
else {
|
|
4451
|
+
return of(true);
|
|
4452
|
+
}
|
|
4453
|
+
}
|
|
4454
|
+
loadJsonSources() {
|
|
4455
|
+
return combineLatest(this.jsonSources
|
|
4456
|
+
.filter(source => !source.isLoaded)
|
|
4457
|
+
.map(sourceInfo => {
|
|
4458
|
+
var _a;
|
|
4459
|
+
let url = sourceInfo.url;
|
|
4460
|
+
if (url.indexOf('{{environment}}') >= 0) {
|
|
4461
|
+
sourceInfo.isEnvironment = true;
|
|
4462
|
+
sourceInfo.environment = this.projectEnvironment.name || (this.projectEnvironment.production ? 'prod' : 'dev');
|
|
4463
|
+
url = url.replace('{{environment}}', '.' + sourceInfo.environment);
|
|
4464
|
+
}
|
|
4465
|
+
console.debug(`Loading JSON source: ${sourceInfo.url} with env ${(_a = sourceInfo.environment) !== null && _a !== void 0 ? _a : '/'}`);
|
|
4466
|
+
return this.http.get(url).pipe(catchError((err) => {
|
|
4467
|
+
var _a;
|
|
4468
|
+
if (sourceInfo.isEnvironment) {
|
|
4469
|
+
const noEnvUrl = sourceInfo.url.replace('{{environment}}', '');
|
|
4470
|
+
sourceInfo.environment = null;
|
|
4471
|
+
console.debug(`Reloading JSON source: ${sourceInfo.url} with env ${(_a = sourceInfo.environment) !== null && _a !== void 0 ? _a : '/'}`);
|
|
4472
|
+
return this.http.get(noEnvUrl);
|
|
4473
|
+
}
|
|
4474
|
+
else {
|
|
4475
|
+
const message = `Configuration file ${url} not loaded (${err.status}): ${err.message}.`;
|
|
4476
|
+
console.error(message);
|
|
4477
|
+
return throwError(() => new Error(message));
|
|
4478
|
+
}
|
|
4479
|
+
}), map(configuration => {
|
|
4480
|
+
sourceInfo.configuration = configuration;
|
|
4481
|
+
sourceInfo.isLoaded = true;
|
|
4482
|
+
console.debug(`JSON source loaded: ${sourceInfo.url}`);
|
|
4483
|
+
return true;
|
|
4484
|
+
}));
|
|
4485
|
+
})).pipe(map(sourceResults => sourceResults.every(sr => sr)), tap(sourceResults => this.mergeConfigs()));
|
|
4451
4486
|
}
|
|
4452
4487
|
/**
|
|
4453
4488
|
* Get configuration.
|
|
@@ -4467,9 +4502,10 @@ class MngConfigurationService {
|
|
|
4467
4502
|
*/
|
|
4468
4503
|
mergeConfigs() {
|
|
4469
4504
|
let config = Object.assign({}, this.projectEnvironment);
|
|
4470
|
-
|
|
4471
|
-
|
|
4472
|
-
|
|
4505
|
+
const jsonConfigs = this.jsonSources.filter(source => source.isLoaded && typeof source.configuration === 'object').map(source => source.configuration);
|
|
4506
|
+
if (jsonConfigs.length) {
|
|
4507
|
+
for (const jsonConfig of jsonConfigs) {
|
|
4508
|
+
config = Object.assign(Object.assign({}, config), jsonConfig);
|
|
4473
4509
|
}
|
|
4474
4510
|
}
|
|
4475
4511
|
this.configuration = config;
|
|
@@ -4478,12 +4514,11 @@ class MngConfigurationService {
|
|
|
4478
4514
|
MngConfigurationService._instance = null;
|
|
4479
4515
|
|
|
4480
4516
|
class MngCommonsService {
|
|
4481
|
-
constructor(router, primengConfig, translate, titleService,
|
|
4517
|
+
constructor(router, primengConfig, translate, titleService, moduleConfig, localStorage) {
|
|
4482
4518
|
this.router = router;
|
|
4483
4519
|
this.primengConfig = primengConfig;
|
|
4484
4520
|
this.translate = translate;
|
|
4485
4521
|
this.titleService = titleService;
|
|
4486
|
-
this.configurationService = configurationService;
|
|
4487
4522
|
this.moduleConfig = moduleConfig;
|
|
4488
4523
|
this.localStorage = localStorage;
|
|
4489
4524
|
// menu
|
|
@@ -4620,9 +4655,8 @@ class MngCommonsService {
|
|
|
4620
4655
|
get user$() {
|
|
4621
4656
|
return this.userSubject.asObservable();
|
|
4622
4657
|
}
|
|
4623
|
-
|
|
4624
|
-
var _a, _b, _c, _d, _e, _f, _g, _h, _j, _k, _l, _m;
|
|
4625
|
-
// menu
|
|
4658
|
+
reset() {
|
|
4659
|
+
var _a, _b, _c, _d, _e, _f, _g, _h, _j, _k, _l, _m, _o, _p;
|
|
4626
4660
|
this._menuMode = (_c = (_b = (_a = this.moduleConfig) === null || _a === void 0 ? void 0 : _a.menu) === null || _b === void 0 ? void 0 : _b.mode) !== null && _c !== void 0 ? _c : 'sidebar';
|
|
4627
4661
|
this._menuModeSubject.next(this._menuMode);
|
|
4628
4662
|
this._menuItems = (_f = (_e = (_d = this.moduleConfig) === null || _d === void 0 ? void 0 : _d.menu) === null || _e === void 0 ? void 0 : _e.menuItems) !== null && _f !== void 0 ? _f : [];
|
|
@@ -4656,7 +4690,8 @@ class MngCommonsService {
|
|
|
4656
4690
|
this.translate.langs = this.appLanguages;
|
|
4657
4691
|
this.translate.use(this.appLanguage);
|
|
4658
4692
|
this.translate.get('mngPrime').subscribe(value => this.primengConfig.setTranslation(value));
|
|
4659
|
-
this.
|
|
4693
|
+
(_o = this.routerEventsSubscription) === null || _o === void 0 ? void 0 : _o.unsubscribe();
|
|
4694
|
+
this.routerEventsSubscription = this.router.events
|
|
4660
4695
|
.pipe(
|
|
4661
4696
|
// Filter the NavigationEnd events as the breadcrumb is updated only when the route reaches its end
|
|
4662
4697
|
filter(event => event instanceof NavigationEnd))
|
|
@@ -4664,7 +4699,8 @@ class MngCommonsService {
|
|
|
4664
4699
|
this.updateBreadcrumbs();
|
|
4665
4700
|
this.setPageTitle();
|
|
4666
4701
|
});
|
|
4667
|
-
this.
|
|
4702
|
+
(_p = this.translateLangChangeSubscription) === null || _p === void 0 ? void 0 : _p.unsubscribe();
|
|
4703
|
+
this.translateLangChangeSubscription = this.translate.onLangChange.subscribe(() => {
|
|
4668
4704
|
this.updateBreadcrumbs();
|
|
4669
4705
|
this.setPageTitle();
|
|
4670
4706
|
});
|
|
@@ -4807,12 +4843,12 @@ class MngCommonsService {
|
|
|
4807
4843
|
return titlePieces.join(' - ');
|
|
4808
4844
|
}
|
|
4809
4845
|
}
|
|
4810
|
-
MngCommonsService.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "13.1.3", ngImport: i0, type: MngCommonsService, deps: [{ token: i1.Router }, { token: i2.PrimeNGConfig }, { token: i1$1.TranslateService }, { token: i4$1.Title }, { token:
|
|
4846
|
+
MngCommonsService.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "13.1.3", ngImport: i0, type: MngCommonsService, deps: [{ token: i1.Router }, { token: i2.PrimeNGConfig }, { token: i1$1.TranslateService }, { token: i4$1.Title }, { token: MNG_MODULE_CONFIG_IT }, { token: MNG_BROWSER_STORAGE_IT }], target: i0.ɵɵFactoryTarget.Injectable });
|
|
4811
4847
|
MngCommonsService.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "13.1.3", ngImport: i0, type: MngCommonsService });
|
|
4812
4848
|
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "13.1.3", ngImport: i0, type: MngCommonsService, decorators: [{
|
|
4813
4849
|
type: Injectable
|
|
4814
4850
|
}], ctorParameters: function () {
|
|
4815
|
-
return [{ type: i1.Router }, { type: i2.PrimeNGConfig }, { type: i1$1.TranslateService }, { type: i4$1.Title }, { type:
|
|
4851
|
+
return [{ type: i1.Router }, { type: i2.PrimeNGConfig }, { type: i1$1.TranslateService }, { type: i4$1.Title }, { type: undefined, decorators: [{
|
|
4816
4852
|
type: Inject,
|
|
4817
4853
|
args: [MNG_MODULE_CONFIG_IT]
|
|
4818
4854
|
}] }, { type: Storage, decorators: [{
|
|
@@ -7609,10 +7645,48 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "13.1.3", ngImpor
|
|
|
7609
7645
|
args: ['window:resize', ['$event']]
|
|
7610
7646
|
}] } });
|
|
7611
7647
|
|
|
7612
|
-
function mngCommonsInitializerProvider(
|
|
7613
|
-
return () =>
|
|
7648
|
+
function mngCommonsInitializerProvider(mngCommonsInit) {
|
|
7649
|
+
return () => mngCommonsInit.initialize();
|
|
7614
7650
|
}
|
|
7615
7651
|
|
|
7652
|
+
class MngCommonsInitService {
|
|
7653
|
+
constructor(translate, configurationService, mngCommons, commonsInitializers) {
|
|
7654
|
+
this.translate = translate;
|
|
7655
|
+
this.configurationService = configurationService;
|
|
7656
|
+
this.mngCommons = mngCommons;
|
|
7657
|
+
this.commonsInitializers = commonsInitializers;
|
|
7658
|
+
this.isInitialized = false;
|
|
7659
|
+
}
|
|
7660
|
+
initialize() {
|
|
7661
|
+
if (this.isInitialized) {
|
|
7662
|
+
return of(void 0);
|
|
7663
|
+
}
|
|
7664
|
+
console.debug(`Initializing @mediusinc/mng-commons.`);
|
|
7665
|
+
return this.configurationService.loadJsonSources().pipe(mergeMap$1(() => {
|
|
7666
|
+
if (this.commonsInitializers) {
|
|
7667
|
+
console.debug(`Module initializers for @mediusinc/mng-commons.`);
|
|
7668
|
+
return combineLatest(this.commonsInitializers.map(ci => ci())).pipe(map(res => res));
|
|
7669
|
+
}
|
|
7670
|
+
else {
|
|
7671
|
+
return of(true);
|
|
7672
|
+
}
|
|
7673
|
+
}), map(() => this.mngCommons.reset()));
|
|
7674
|
+
this.isInitialized = true;
|
|
7675
|
+
}
|
|
7676
|
+
}
|
|
7677
|
+
MngCommonsInitService.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "13.1.3", ngImport: i0, type: MngCommonsInitService, deps: [{ token: i1$1.TranslateService }, { token: MngConfigurationService }, { token: MngCommonsService }, { token: MNG_COMMONS_INITIALIZER_IT, optional: true }], target: i0.ɵɵFactoryTarget.Injectable });
|
|
7678
|
+
MngCommonsInitService.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "13.1.3", ngImport: i0, type: MngCommonsInitService });
|
|
7679
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "13.1.3", ngImport: i0, type: MngCommonsInitService, decorators: [{
|
|
7680
|
+
type: Injectable
|
|
7681
|
+
}], ctorParameters: function () {
|
|
7682
|
+
return [{ type: i1$1.TranslateService }, { type: MngConfigurationService }, { type: MngCommonsService }, { type: undefined, decorators: [{
|
|
7683
|
+
type: Inject,
|
|
7684
|
+
args: [MNG_COMMONS_INITIALIZER_IT]
|
|
7685
|
+
}, {
|
|
7686
|
+
type: Optional
|
|
7687
|
+
}] }];
|
|
7688
|
+
} });
|
|
7689
|
+
|
|
7616
7690
|
const mngConfigurationServiceProvider = (httpClient, moduleConfig) => {
|
|
7617
7691
|
var _a;
|
|
7618
7692
|
const service = MngConfigurationService.init(httpClient);
|
|
@@ -7623,12 +7697,21 @@ const mngConfigurationServiceProvider = (httpClient, moduleConfig) => {
|
|
|
7623
7697
|
};
|
|
7624
7698
|
function mngConfigJsonAppInitializerProvider(configService, moduleConfig) {
|
|
7625
7699
|
return () => {
|
|
7626
|
-
var _a, _b
|
|
7700
|
+
var _a, _b;
|
|
7627
7701
|
if ((_a = moduleConfig === null || moduleConfig === void 0 ? void 0 : moduleConfig.configuration) === null || _a === void 0 ? void 0 : _a.skipJsonSourceInit) {
|
|
7628
7702
|
return of(false);
|
|
7629
7703
|
}
|
|
7630
7704
|
else {
|
|
7631
|
-
|
|
7705
|
+
const jsonSource = (_b = moduleConfig === null || moduleConfig === void 0 ? void 0 : moduleConfig.configuration) === null || _b === void 0 ? void 0 : _b.jsonSource;
|
|
7706
|
+
if (!jsonSource) {
|
|
7707
|
+
return configService.addJsonSource();
|
|
7708
|
+
}
|
|
7709
|
+
else if (Array.isArray(jsonSource)) {
|
|
7710
|
+
return combineLatest(jsonSource.map(source => configService.addJsonSource(source))).pipe(map(sourcesRes => sourcesRes.every(s => s)));
|
|
7711
|
+
}
|
|
7712
|
+
else {
|
|
7713
|
+
return configService.addJsonSource(jsonSource);
|
|
7714
|
+
}
|
|
7632
7715
|
}
|
|
7633
7716
|
};
|
|
7634
7717
|
}
|
|
@@ -7915,6 +7998,7 @@ class MngCommonsModule {
|
|
|
7915
7998
|
DialogService,
|
|
7916
7999
|
MessageService,
|
|
7917
8000
|
ConfirmationService,
|
|
8001
|
+
MngCommonsInitService,
|
|
7918
8002
|
MngActionExecutorService,
|
|
7919
8003
|
MngNavigationService,
|
|
7920
8004
|
MngCommonsService,
|
|
@@ -7944,7 +8028,7 @@ class MngCommonsModule {
|
|
|
7944
8028
|
{
|
|
7945
8029
|
provide: APP_INITIALIZER,
|
|
7946
8030
|
useFactory: mngCommonsInitializerProvider,
|
|
7947
|
-
deps: [
|
|
8031
|
+
deps: [MngCommonsInitService],
|
|
7948
8032
|
multi: true
|
|
7949
8033
|
},
|
|
7950
8034
|
{
|
|
@@ -8783,5 +8867,5 @@ class RouteDataBuilder {
|
|
|
8783
8867
|
* Generated bundle index. Do not edit.
|
|
8784
8868
|
*/
|
|
8785
8869
|
|
|
8786
|
-
export { AFieldDescriptor, AFieldGroupDescriptor, AGenericFieldDescriptor, AMngApiService, AMngBaseApiService, AMngCrudApiService, AMngGetAllApiService, AMngTableviewRouteComponent, ActionActivationResult, ActionActivationTriggerEnum, ActionDeleteDescriptor, ActionDescriptor, ActionEditorAddDescriptor, ActionEditorDescriptor, ActionEditorDetailsDescriptor, ActionEditorEditDescriptor, ActionEditorSubmitDescriptor, ActionError, ActionExecContext, ActionLevelEnum, ActionLinkDescriptor, ActionPositionEnum, ActionRunResult, ActionSimpleDescriptor, ActionTriggerResult, ActionTypeEnum, ColumnDescriptor, DataProvider, DefaultMngErrorMapperService, EditorDataProvider, EditorDescriptor, EditorFormlyUtil, EnumName, EnumUtil, FieldDescriptor, FieldGroupDescriptor, FieldInputDescriptor, FieldLookupDescriptor, FieldLookupEnumDescriptor, FieldManyEditorDescriptor, FieldManyToManyEditorDescriptor, FieldTabGroupDescriptor, FieldValidator, FilterDescriptor, FilterLookupDescriptor, FilterLookupEnumDescriptor, I18nUtils, JsonPathPipe, LookupDataProvider, MNG_AUTOCOMPLETE_VALUE_ACCESSOR, MNG_DROPDOWN_VALUE_ACCESSOR, MediusFilterMatchType, MediusFilterParam, MediusQueryMode, MediusQueryParam, MediusQueryParamBuilder, MediusQueryResult, MediusRestUtil, MngActionComponent, MngActionEditorComponent, MngActionExecutorService, MngActionRouteComponent, MngAutocompleteComponent, MngBooleanPipe, MngBreadcrumbComponent, MngCommonsModule, MngCommonsService, MngComponentDirective, MngConfigurationService, MngDropdownComponent, MngEnumPipe, MngErrorMapperService, MngFooterComponent, MngFormEditorComponent, MngFormEditorSubmitEvent, MngFormFieldEvent, MngFormFieldEventComponentSubtype, MngFormFieldEventDialogSubtype, MngFormFieldEventTypeEnum, MngFormlyFieldAutocompleteComponent, MngFormlyFieldDropdownComponent, MngFormlyFieldFieldsetComponent, MngFormlyFieldInputComponent, MngFormlyFieldLookupDialogComponent, MngFormlyFieldTableDialogFormComponent, MngFormlyFieldTableDialogMultiselectComponent, MngFormlyFieldTabsComponent, MngFormlyFieldWrapperComponent, MngFormlyTableWrapperComponent, MngI18nPropertyPipe, MngLinkFormatterPipe, MngMainLayoutComponent, MngMainLayoutComponentService, MngMenuComponent, MngMenuItemComponent, MngNavigationService, MngTableCellClickEvent, MngTableColumnFilterComponent, MngTableColumnValueComponent, MngTableComponent, MngTableLoadEvent, MngTableReloadEvent, MngTableviewComponent, MngTableviewRouteComponent, MngTemplateDirective, MngTopbarComponent, MngViewContainerComponentService, ModelDescriptor, ModelUtil, NotificationUtil, ObjectSerializer, RouteBuilder, RouteDataBuilder, RoutesBuilder, TableDataProvider, TableDescriptor, TableviewDataProvider, TableviewDescriptor, TypeName, TypeUtil, enumNameDecoratorPropertyName, enumsMapBase, formlyTypesConfig, formlyWrappersConfig, getEmailValidationMessage, getFormlyValidationMessages, getMaxLengthValidationMessage, getMinLengthValidationMessage, getRequiredValidationMessage, getTextPatternValidationMessage,
|
|
8870
|
+
export { ACTION_EDITOR_DIALOG_COMPONENT_SETTING, AFieldDescriptor, AFieldGroupDescriptor, AGenericFieldDescriptor, AMngApiService, AMngBaseApiService, AMngCrudApiService, AMngGetAllApiService, AMngTableviewRouteComponent, ActionActivationResult, ActionActivationTriggerEnum, ActionDeleteDescriptor, ActionDescriptor, ActionEditorAddDescriptor, ActionEditorDescriptor, ActionEditorDetailsDescriptor, ActionEditorEditDescriptor, ActionEditorSubmitDescriptor, ActionError, ActionExecContext, ActionLevelEnum, ActionLinkDescriptor, ActionPositionEnum, ActionRunResult, ActionSimpleDescriptor, ActionTriggerResult, ActionTypeEnum, ColumnDescriptor, DataProvider, DefaultMngErrorMapperService, EditorDataProvider, EditorDescriptor, EditorFormlyUtil, EnumName, EnumUtil, FieldDescriptor, FieldGroupDescriptor, FieldInputDescriptor, FieldLookupDescriptor, FieldLookupEnumDescriptor, FieldManyEditorDescriptor, FieldManyToManyEditorDescriptor, FieldTabGroupDescriptor, FieldValidator, FilterDescriptor, FilterLookupDescriptor, FilterLookupEnumDescriptor, I18nUtils, JsonPathPipe, LookupDataProvider, MNG_AUTOCOMPLETE_VALUE_ACCESSOR, MNG_BROWSER_STORAGE_IT, MNG_COMMONS_INITIALIZER_IT, MNG_DROPDOWN_VALUE_ACCESSOR, MNG_MODULE_CONFIG_IT, MediusFilterMatchType, MediusFilterParam, MediusQueryMode, MediusQueryParam, MediusQueryParamBuilder, MediusQueryResult, MediusRestUtil, MngActionComponent, MngActionEditorComponent, MngActionExecutorService, MngActionRouteComponent, MngAutocompleteComponent, MngBooleanPipe, MngBreadcrumbComponent, MngCommonsModule, MngCommonsService, MngComponentDirective, MngConfigurationService, MngDropdownComponent, MngEnumPipe, MngErrorMapperService, MngFooterComponent, MngFormEditorComponent, MngFormEditorSubmitEvent, MngFormFieldEvent, MngFormFieldEventComponentSubtype, MngFormFieldEventDialogSubtype, MngFormFieldEventTypeEnum, MngFormlyFieldAutocompleteComponent, MngFormlyFieldDropdownComponent, MngFormlyFieldFieldsetComponent, MngFormlyFieldInputComponent, MngFormlyFieldLookupDialogComponent, MngFormlyFieldTableDialogFormComponent, MngFormlyFieldTableDialogMultiselectComponent, MngFormlyFieldTabsComponent, MngFormlyFieldWrapperComponent, MngFormlyTableWrapperComponent, MngI18nPropertyPipe, MngLinkFormatterPipe, MngMainLayoutComponent, MngMainLayoutComponentService, MngMenuComponent, MngMenuItemComponent, MngNavigationService, MngTableCellClickEvent, MngTableColumnFilterComponent, MngTableColumnValueComponent, MngTableComponent, MngTableLoadEvent, MngTableReloadEvent, MngTableviewComponent, MngTableviewRouteComponent, MngTemplateDirective, MngTopbarComponent, MngViewContainerComponentService, ModelDescriptor, ModelUtil, NotificationUtil, ObjectSerializer, RouteBuilder, RouteDataBuilder, RoutesBuilder, TableDataProvider, TableDescriptor, TableviewDataProvider, TableviewDescriptor, TypeName, TypeUtil, enumNameDecoratorPropertyName, enumsMapBase, formlyTypesConfig, formlyWrappersConfig, getEmailValidationMessage, getFormlyValidationMessages, getMaxLengthValidationMessage, getMinLengthValidationMessage, getRequiredValidationMessage, getTextPatternValidationMessage, mngConfigJsonAppInitializerProvider, mngConfigurationServiceProvider, mngFormlyConfigProvider, primeNgModules, typeMapBase, typeNameDecoratorPropertyName };
|
|
8787
8871
|
//# sourceMappingURL=mediusinc-mng-commons.mjs.map
|