@alauda-fe/common 1.4.0 → 1.4.2
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/api/auth-api.service.d.ts +14 -0
- package/api/platform-ui.service.d.ts +1 -0
- package/api/public-api.d.ts +1 -0
- package/array-form-table/form/component.d.ts +7 -3
- package/assets/icons/icon-refresh-drag.svg +1 -0
- package/authorization/authorization.d.ts +27 -0
- package/authorization/constants.d.ts +11 -0
- package/authorization/interceptor.service.d.ts +2 -0
- package/authorization/public-api.d.ts +3 -0
- package/authorization/session-manage.service.d.ts +2 -4
- package/authorization/state.service.d.ts +6 -30
- package/authorization/storage-token.d.ts +4 -10
- package/business/resource-select/exports/project-selector/component.d.ts +1 -0
- package/core/abstract/base-nested-form-control.d.ts +1 -1
- package/core/directives/feature-gate.directive.d.ts +2 -1
- package/core/pipes/minimum-format.pipe.d.ts +1 -1
- package/core/services/feature-gate.service.d.ts +1 -0
- package/core/types/commons.d.ts +2 -0
- package/core/types/k8s/crd.d.ts +64 -0
- package/core/types/resource-definitions.d.ts +3 -3
- package/core/utils/cache-store.d.ts +15 -13
- package/core/utils/common.d.ts +1 -0
- package/core/utils/version.d.ts +1 -1
- package/effect-directive/event.directive.d.ts +36 -0
- package/esm2022/api/auth-api.service.mjs +34 -0
- package/esm2022/api/platform-ui.service.mjs +2 -1
- package/esm2022/api/public-api.mjs +2 -1
- package/esm2022/array-form-table/form/component.mjs +30 -15
- package/esm2022/authorization/authorization.mjs +157 -0
- package/esm2022/authorization/constants.mjs +15 -0
- package/esm2022/authorization/interceptor.service.mjs +32 -10
- package/esm2022/authorization/public-api.mjs +4 -1
- package/esm2022/authorization/session-manage.service.mjs +11 -24
- package/esm2022/authorization/state.service.mjs +46 -140
- package/esm2022/authorization/storage-token.mjs +12 -88
- package/esm2022/business/resource-select/exports/project-selector/component.mjs +14 -6
- package/esm2022/business/resource-select/internals/data-grid/component.mjs +2 -2
- package/esm2022/core/directives/feature-gate.directive.mjs +7 -4
- package/esm2022/core/guards/feature.guard.mjs +3 -2
- package/esm2022/core/pipes/minimum-format.pipe.mjs +4 -3
- package/esm2022/core/services/feature-gate.service.mjs +4 -3
- package/esm2022/core/types/commons.mjs +1 -1
- package/esm2022/core/types/k8s/crd.mjs +8 -1
- package/esm2022/core/types/resource-definitions.mjs +2 -2
- package/esm2022/core/utils/cache-store.mjs +56 -29
- package/esm2022/core/utils/common.mjs +9 -1
- package/esm2022/effect-directive/event.directive.mjs +79 -4
- package/esm2022/k8s-resource-list/footer/component.mjs +7 -5
- package/esm2022/multi-search/multi-search-tags/component.mjs +2 -2
- package/esm2022/multi-search/types.mjs +1 -1
- package/esm2022/page-scaffold/navigation/navconfig-loader/navconfig-loader.service.mjs +2 -2
- package/esm2022/page-scaffold/page-header/account-menu/component/component.mjs +3 -8
- package/esm2022/page-scaffold/page-header/common-layout/product-select/component.mjs +2 -2
- package/esm2022/pod-status/component.mjs +34 -55
- package/esm2022/searchable-selector/component.mjs +2 -2
- package/esm2022/widget/date-range-picker/component.mjs +1 -2
- package/esm2022/widget/status-icon/status-icon.component.mjs +1 -1
- package/multi-search/types.d.ts +1 -0
- package/package.json +1 -1
- package/page-scaffold/page/notices/notice.component.d.ts +1 -1
- package/pod-status/component.d.ts +1 -3
- package/styles/tailwind-preset.scss +1 -1
- package/table/helper.d.ts +1 -1
- package/table/module.d.ts +1 -1
|
@@ -1,98 +1,22 @@
|
|
|
1
|
-
import { ID_TOKEN_KEY
|
|
2
|
-
|
|
3
|
-
const SESSION_TOKEN_SHARE_CHANNEL = 'SESSION_TOKEN_SHARE_CHANNEL';
|
|
4
|
-
const SESSION_CLOSE_TIMESTAMP = 'session_close_timestamp';
|
|
5
|
-
const recordSessionTimestamp = () => {
|
|
6
|
-
sessionStorage.setItem(SESSION_CLOSE_TIMESTAMP, Date.now().toString());
|
|
7
|
-
};
|
|
8
|
-
const getStorage = (storageType) => storageType === 'session' ? sessionStorage : localStorage;
|
|
9
|
-
export function readStorageType() {
|
|
10
|
-
return (localStorage.getItem(STORAGE_TYPE_KEY) === 'session' ? 'session' : 'local');
|
|
11
|
-
}
|
|
1
|
+
import { ID_TOKEN_KEY } from './constants';
|
|
2
|
+
const APP_ALIVE_RECORD = 'app_alive_record';
|
|
12
3
|
export function cleanStorageToken() {
|
|
13
4
|
localStorage.removeItem(ID_TOKEN_KEY);
|
|
14
|
-
localStorage.removeItem(REFRESH_TOKEN_KEY);
|
|
15
|
-
sessionStorage.removeItem(ID_TOKEN_KEY);
|
|
16
|
-
sessionStorage.removeItem(REFRESH_TOKEN_KEY);
|
|
17
5
|
}
|
|
18
6
|
export function writeStorageToken(token) {
|
|
19
|
-
|
|
20
|
-
|
|
21
|
-
const storage = getStorage(token.storageType);
|
|
22
|
-
storage.setItem(ID_TOKEN_KEY, token.idToken);
|
|
23
|
-
storage.setItem(REFRESH_TOKEN_KEY, token.refreshToken);
|
|
24
|
-
localStorage.setItem(STORAGE_TYPE_KEY, token.storageType);
|
|
25
|
-
if (token.storageType === 'session') {
|
|
26
|
-
setupSessionTokenShareChannel();
|
|
27
|
-
}
|
|
28
|
-
else {
|
|
29
|
-
closeSessionTokenShareChannel();
|
|
7
|
+
if (!token) {
|
|
8
|
+
return;
|
|
30
9
|
}
|
|
10
|
+
cleanStorageToken();
|
|
11
|
+
localStorage.setItem(ID_TOKEN_KEY, token);
|
|
31
12
|
}
|
|
32
13
|
export function readStorageToken() {
|
|
33
|
-
|
|
34
|
-
if (storageType === 'session') {
|
|
35
|
-
const sessionTimestamp = sessionStorage.getItem(SESSION_CLOSE_TIMESTAMP);
|
|
36
|
-
sessionStorage.removeItem(SESSION_CLOSE_TIMESTAMP);
|
|
37
|
-
if (sessionTimestamp &&
|
|
38
|
-
Date.now() - parseInt(sessionTimestamp) > 30 * 1000) {
|
|
39
|
-
// 浏览器恢复标签时清除 session token
|
|
40
|
-
cleanStorageToken();
|
|
41
|
-
console.warn('session timeout');
|
|
42
|
-
}
|
|
43
|
-
setupSessionTokenShareChannel();
|
|
44
|
-
}
|
|
45
|
-
const storage = getStorage(storageType);
|
|
46
|
-
return {
|
|
47
|
-
storageType,
|
|
48
|
-
idToken: storage.getItem(ID_TOKEN_KEY),
|
|
49
|
-
refreshToken: storage.getItem(REFRESH_TOKEN_KEY),
|
|
50
|
-
};
|
|
14
|
+
return localStorage.getItem(ID_TOKEN_KEY);
|
|
51
15
|
}
|
|
52
|
-
export function
|
|
53
|
-
|
|
54
|
-
if (storageToken.storageType === 'session' && !storageToken.idToken) {
|
|
55
|
-
return new Promise(resolve => {
|
|
56
|
-
const timer = window.setTimeout(() => {
|
|
57
|
-
console.warn('request session token timeout');
|
|
58
|
-
sessionTokenShareChannel.removeEventListener('message', receiveSessionToken);
|
|
59
|
-
resolve({});
|
|
60
|
-
}, 50);
|
|
61
|
-
function receiveSessionToken({ data, }) {
|
|
62
|
-
if (data.type === 'provide') {
|
|
63
|
-
window.clearTimeout(timer);
|
|
64
|
-
sessionTokenShareChannel.removeEventListener('message', receiveSessionToken);
|
|
65
|
-
writeStorageToken(data.token);
|
|
66
|
-
resolve(data.token);
|
|
67
|
-
}
|
|
68
|
-
}
|
|
69
|
-
sessionTokenShareChannel.addEventListener('message', receiveSessionToken);
|
|
70
|
-
sessionTokenShareChannel.postMessage({ type: 'request' });
|
|
71
|
-
});
|
|
72
|
-
}
|
|
73
|
-
return Promise.resolve(storageToken);
|
|
74
|
-
}
|
|
75
|
-
function setupSessionTokenShareChannel() {
|
|
76
|
-
if (sessionTokenShareChannel) {
|
|
77
|
-
return;
|
|
78
|
-
}
|
|
79
|
-
sessionTokenShareChannel = new BroadcastChannel(SESSION_TOKEN_SHARE_CHANNEL);
|
|
80
|
-
sessionTokenShareChannel.addEventListener('message', ({ data }) => {
|
|
81
|
-
if (data.type === 'request') {
|
|
82
|
-
sessionTokenShareChannel.postMessage({
|
|
83
|
-
type: 'provide',
|
|
84
|
-
token: readStorageToken(),
|
|
85
|
-
});
|
|
86
|
-
}
|
|
87
|
-
});
|
|
88
|
-
window.addEventListener('beforeunload', recordSessionTimestamp);
|
|
16
|
+
export function refreshStorageAliveRecord() {
|
|
17
|
+
localStorage.setItem(APP_ALIVE_RECORD, Date.now().toString());
|
|
89
18
|
}
|
|
90
|
-
function
|
|
91
|
-
|
|
92
|
-
return;
|
|
93
|
-
}
|
|
94
|
-
sessionTokenShareChannel.close();
|
|
95
|
-
sessionTokenShareChannel = null;
|
|
96
|
-
window.removeEventListener('beforeunload', recordSessionTimestamp);
|
|
19
|
+
export function readStorageAliveRecord() {
|
|
20
|
+
return parseInt(localStorage.getItem(APP_ALIVE_RECORD));
|
|
97
21
|
}
|
|
98
|
-
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoic3RvcmFnZS10b2tlbi5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uL2xpYnMvY29tbW9uL3NyYy9hdXRob3JpemF0aW9uL3N0b3JhZ2UtdG9rZW4udHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUNMLFlBQVksRUFDWixpQkFBaUIsRUFDakIsZ0JBQWdCLEdBRWpCLE1BQU0saUJBQWlCLENBQUM7QUFFekIsSUFBSSx3QkFBMEMsQ0FBQztBQUUvQyxNQUFNLDJCQUEyQixHQUFHLDZCQUE2QixDQUFDO0FBRWxFLE1BQU0sdUJBQXVCLEdBQUcseUJBQXlCLENBQUM7QUFFMUQsTUFBTSxzQkFBc0IsR0FBRyxHQUFHLEVBQUU7SUFDbEMsY0FBYyxDQUFDLE9BQU8sQ0FBQyx1QkFBdUIsRUFBRSxJQUFJLENBQUMsR0FBRyxFQUFFLENBQUMsUUFBUSxFQUFFLENBQUMsQ0FBQztBQUN6RSxDQUFDLENBQUM7QUFFRixNQUFNLFVBQVUsR0FBRyxDQUFDLFdBQXdCLEVBQVcsRUFBRSxDQUN2RCxXQUFXLEtBQUssU0FBUyxDQUFDLENBQUMsQ0FBQyxjQUFjLENBQUMsQ0FBQyxDQUFDLFlBQVksQ0FBQztBQWU1RCxNQUFNLFVBQVUsZUFBZTtJQUM3QixPQUFPLENBQ0wsWUFBWSxDQUFDLE9BQU8sQ0FBQyxnQkFBZ0IsQ0FBQyxLQUFLLFNBQVMsQ0FBQyxDQUFDLENBQUMsU0FBUyxDQUFDLENBQUMsQ0FBQyxPQUFPLENBQzVELENBQUM7QUFDbkIsQ0FBQztBQUVELE1BQU0sVUFBVSxpQkFBaUI7SUFDL0IsWUFBWSxDQUFDLFVBQVUsQ0FBQyxZQUFZLENBQUMsQ0FBQztJQUN0QyxZQUFZLENBQUMsVUFBVSxDQUFDLGlCQUFpQixDQUFDLENBQUM7SUFFM0MsY0FBYyxDQUFDLFVBQVUsQ0FBQyxZQUFZLENBQUMsQ0FBQztJQUN4QyxjQUFjLENBQUMsVUFBVSxDQUFDLGlCQUFpQixDQUFDLENBQUM7QUFDL0MsQ0FBQztBQUVE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LENBQUMsQ0FBQztZQUUxRSx3QkFBd0IsQ0FBQyxXQUFXLENBQUMsRUFBRSxJQUFJLEVBQUUsU0FBUyxFQUFFLENBQUMsQ0FBQztRQUM1RCxDQUFDLENBQUMsQ0FBQztJQUNMLENBQUM7SUFFRCxPQUFPLE9BQU8sQ0FBQyxPQUFPLENBQUMsWUFBWSxDQUFDLENBQUM7QUFDdkMsQ0FBQztBQUVELFNBQVMsNkJBQTZCO0lBQ3BDLElBQUksd0JBQXdCLEVBQUUsQ0FBQztRQUM3QixPQUFPO0lBQ1QsQ0FBQztJQUVELHdCQUF3QixHQUFHLElBQUksZ0JBQWdCLENBQUMsMkJBQTJCLENBQUMsQ0FBQztJQUU3RSx3QkFBd0IsQ0FBQyxnQkFBZ0IsQ0FDdkMsU0FBUyxFQUNULENBQUMsRUFBRSxJQUFJLEVBQXVDLEVBQUUsRUFBRTtRQUNoRCxJQUFJLElBQUksQ0FBQyxJQUFJLEtBQUssU0FBUyxFQUFFLENBQUM7WUFDNUIsd0JBQXdCLENBQUMsV0FBVyxDQUFDO2dCQUNuQyxJQUFJLEVBQUUsU0FBUztnQkFDZixLQUFLLEVBQUUsZ0JBQWdCLEVBQUU7YUFDRCxDQUFDLENBQUM7UUFDOUIsQ0FBQztJQUNILENBQUMsQ0FDRixDQUFDO0lBRUYsTUFBTSxDQUFDLGdCQUFnQixDQUFDLGNBQWMsRUFBRSxzQkFBc0IsQ0FBQyxDQUFDO0FBQ2xFLENBQUM7QUFFRCxTQUFTLDZCQUE2QjtJQUNwQyxJQUFJLENBQUMsd0JBQXdCLEVBQUUsQ0FBQztRQUM5QixPQUFPO0lBQ1QsQ0FBQztJQUVELHdCQUF3QixDQUFDLEtBQUssRUFBRSxDQUFDO0lBQ2pDLHdCQUF3QixHQUFHLElBQUksQ0FBQztJQUVoQyxNQUFNLENBQUMsbUJBQW1CLENBQUMsY0FBYyxFQUFFLHNCQUFzQixDQUFDLENBQUM7QUFDckUsQ0FBQyIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7XG4gIElEX1RPS0VOX0tFWSxcbiAgUkVGUkVTSF9UT0tFTl9LRVksXG4gIFNUT1JBR0VfVFlQRV9LRVksXG4gIFN0b3JhZ2VUeXBlLFxufSBmcm9tICcuL3N0YXRlLnNlcnZpY2UnO1xuXG5sZXQgc2Vzc2lvblRva2VuU2hhcmVDaGFubmVsOiBCcm9hZGNhc3RDaGFubmVsO1xuXG5jb25zdCBTRVNTSU9OX1RPS0VOX1NIQVJFX0NIQU5ORUwgPSAnU0VTU0lPTl9UT0tFTl9TSEFSRV9DSEFOTkVMJztcblxuY29uc3QgU0VTU0lPTl9DTE9TRV9USU1FU1RBTVAgPSAnc2Vzc2lvbl9jbG9zZV90aW1lc3RhbXAnO1xuXG5jb25zdCByZWNvcmRTZXNzaW9uVGltZXN0YW1wID0gKCkgPT4ge1xuICBzZXNzaW9uU3RvcmFnZS5zZXRJdGVtKFNFU1NJT05fQ0xPU0VfVElNRVNUQU1QLCBEYXRlLm5vdygpLnRvU3RyaW5nKCkpO1xufTtcblxuY29uc3QgZ2V0U3RvcmFnZSA9IChzdG9yYWdlVHlwZTogU3RvcmFnZVR5cGUpOiBTdG9yYWdlID0+XG4gIHN0b3JhZ2VUeXBlID09PSAnc2Vzc2lvbicgPyBzZXNzaW9uU3RvcmFnZSA6IGxvY2FsU3RvcmFnZTtcblxudHlwZSBTZXNzaW9uVG9rZW5TaGFyZURhdGEgPVxuICB8IHtcbiAgICAgIHR5cGU6ICdwcm92aWRlJztcbiAgICAgIHRva2VuOiBTdG9yYWdlVG9rZW47XG4gICAgfVxuICB8IHsgdHlwZTogJ3JlcXVlc3QnIH07XG5cbmV4cG9ydCBpbnRlcmZhY2UgU3RvcmFnZVRva2VuIHtcbiAgc3RvcmFnZVR5cGU6IFN0b3JhZ2VUeXBlO1xuICBpZFRva2VuOiBzdHJpbmc7XG4gIHJlZnJlc2hUb2tlbjogc3RyaW5nO1xufVxuXG5leHBvcnQgZnVuY3Rpb24gcmVhZFN0b3JhZ2VUeXBlKCkge1xuICByZXR1cm4gKFxuICAgIGxvY2FsU3RvcmFnZS5nZXRJdGVtKFNUT1JBR0VfVFlQRV9LRVkpID09PSAnc2Vzc2lvbicgPyAnc2Vzc2lvbicgOiAnbG9jYWwnXG4gICkgYXMgU3RvcmFnZVR5cGU7XG59XG5cbmV4cG9ydCBmdW5jdGlvbiBjbGVhblN0b3JhZ2VUb2tlbigpIHtcbiAgbG9jYWxTdG9yYWdlLnJlbW92ZUl0ZW0oSURfVE9LRU5fS0VZKTtcbiAgbG9jYWxTdG9yYWdlLnJlbW92ZUl0ZW0oUkVGUkVTSF9UT0tFTl9LRVkpO1xuXG4gIHNlc3Npb25TdG9yYWdlLnJlbW92ZUl0ZW0oSURfVE9LRU5fS0VZKTtcbiAgc2Vzc2lvblN0b3JhZ2UucmVtb3ZlSXRlbShSRUZSRVNIX1RPS0VOX0tFWSk7XG59XG5cbmV4cG9ydCBmdW5jdGlvbiB3cml0ZVN0b3JhZ2VUb2tlbih0b2tlbjogU3RvcmFnZVRva2VuKSB7XG4gIGNsZWFuU3RvcmFnZVRva2VuKCk7XG4gIHNlc3Npb25TdG9yYWdlLnJlbW92ZUl0ZW0oU0VTU0lPTl9DTE9TRV9USU1FU1RBTVApO1xuXG4gIGNvbnN0IHN0b3JhZ2UgPSBnZXRTdG9yYWdlKHRva2VuLnN0b3JhZ2VUeXBlKTtcblxuICBzdG9yYWdlLnNldEl0ZW0oSURfVE9LRU5fS0VZLCB0b2tlbi5pZFRva2VuKTtcbiAgc3RvcmFnZS5zZXRJdGVtKFJFRlJFU0hfVE9LRU5fS0VZLCB0b2tlbi5yZWZyZXNoVG9rZW4pO1xuICBsb2NhbFN0b3JhZ2Uuc2V0SXRlbShTVE9SQUdFX1RZUEVfS0VZLCB0b2tlbi5zdG9yYWdlVHlwZSk7XG5cbiAgaWYgKHRva2VuLnN0b3JhZ2VUeXBlID09PSAnc2Vzc2lvbicpIHtcbiAgICBzZXR1cFNlc3Npb25Ub2tlblNoYXJlQ2hhbm5lbCgpO1xuICB9IGVsc2Uge1xuICAgIGNsb3NlU2Vzc2lvblRva2VuU2hhcmVDaGFubmVsKCk7XG4gIH1cbn1cblxuZXhwb3J0IGZ1bmN0aW9uIHJlYWRTdG9yYWdlVG9rZW4oKTogUGFydGlhbDxTdG9yYWdlVG9rZW4+IHtcbiAgY29uc3Qgc3RvcmFnZVR5cGUgPSByZWFkU3RvcmFnZVR5cGUoKTtcblxuICBpZiAoc3RvcmFnZVR5cGUgPT09ICdzZXNzaW9uJykge1xuICAgIGNvbnN0IHNlc3Npb25UaW1lc3RhbXAgPSBzZXNzaW9uU3RvcmFnZS5nZXRJdGVtKFNFU1NJT05fQ0xPU0VfVElNRVNUQU1QKTtcbiAgICBzZXNzaW9uU3RvcmFnZS5yZW1vdmVJdGVtKFNFU1NJT05fQ0xPU0VfVElNRVNUQU1QKTtcblxuICAgIGlmIChcbiAgICAgIHNlc3Npb25UaW1lc3RhbXAgJiZcbiAgICAgIERhdGUubm93KCkgLSBwYXJzZUludChzZXNzaW9uVGltZXN0YW1wKSA+IDMwICogMTAwMFxuICAgICkge1xuICAgICAgLy8g5rWP6KeI5Zmo5oGi5aSN5qCH562+5pe25riF6ZmkIHNlc3Npb24gdG9rZW5cbiAgICAgIGNsZWFuU3RvcmFnZVRva2VuKCk7XG4gICAgICBjb25zb2xlLndhcm4oJ3Nlc3Npb24gdGltZW91dCcpO1xuICAgIH1cblxuICAgIHNldHVwU2Vzc2lvblRva2VuU2hhcmVDaGFubmVsKCk7XG4gIH1cblxuICBjb25zdCBzdG9yYWdlID0gZ2V0U3RvcmFnZShzdG9yYWdlVHlwZSk7XG5cbiAgcmV0dXJuIHtcbiAgICBzdG9yYWdlVHlwZSxcbiAgICBpZFRva2VuOiBzdG9yYWdlLmdldEl0ZW0oSURfVE9LRU5fS0VZKSxcbiAgICByZWZyZXNoVG9rZW46IHN0b3JhZ2UuZ2V0SXRlbShSRUZSRVNIX1RPS0VOX0tFWSksXG4gIH07XG59XG5cbmV4cG9ydCBmdW5jdGlvbiBhc3luY1JlYWRTdG9yYWdlVG9rZW4oKTogUHJvbWlzZTxQYXJ0aWFsPFN0b3JhZ2VUb2tlbj4+IHtcbiAgY29uc3Qgc3RvcmFnZVRva2VuID0gcmVhZFN0b3JhZ2VUb2tlbigpO1xuXG4gIGlmIChzdG9yYWdlVG9rZW4uc3RvcmFnZVR5cGUgPT09ICdzZXNzaW9uJyAmJiAhc3RvcmFnZVRva2VuLmlkVG9rZW4pIHtcbiAgICByZXR1cm4gbmV3IFByb21pc2UocmVzb2x2ZSA9PiB7XG4gICAgICBjb25zdCB0aW1lciA9IHdpbmRvdy5zZXRUaW1lb3V0KCgpID0+IHtcbiAgICAgICAgY29uc29sZS53YXJuKCdyZXF1ZXN0IHNlc3Npb24gdG9rZW4gdGltZW91dCcpO1xuXG4gICAgICAgIHNlc3Npb25Ub2tlblNoYXJlQ2hhbm5lbC5yZW1vdmVFdmVudExpc3RlbmVyKFxuICAgICAgICAgICdtZXNzYWdlJyxcbiAgICAgICAgICByZWNlaXZlU2Vzc2lvblRva2VuLFxuICAgICAgICApO1xuICAgICAgICByZXNvbHZlKHt9KTtcbiAgICAgIH0sIDUwKTtcblxuICAgICAgZnVuY3Rpb24gcmVjZWl2ZVNlc3Npb25Ub2tlbih7XG4gICAgICAgIGRhdGEsXG4gICAgICB9OiBNZXNzYWdlRXZlbnQ8U2Vzc2lvblRva2VuU2hhcmVEYXRhPikge1xuICAgICAgICBpZiAoZGF0YS50eXBlID09PSAncHJvdmlkZScpIHtcbiAgICAgICAgICB3aW5kb3cuY2xlYXJUaW1lb3V0KHRpbWVyKTtcbiAgICAgICAgICBzZXNzaW9uVG9rZW5TaGFyZUNoYW5uZWwucmVtb3ZlRXZlbnRMaXN0ZW5lcihcbiAgICAgICAgICAgICdtZXNzYWdlJyxcbiAgICAgICAgICAgIHJlY2VpdmVTZXNzaW9uVG9rZW4sXG4gICAgICAgICAgKTtcblxuICAgICAgICAgIHdyaXRlU3RvcmFnZVRva2VuKGRhdGEudG9rZW4pO1xuICAgICAgICAgIHJlc29sdmUoZGF0YS50b2tlbik7XG4gICAgICAgIH1cbiAgICAgIH1cblxuICAgICAgc2Vzc2lvblRva2VuU2hhcmVDaGFubmVsLmFkZEV2ZW50TGlzdGVuZXIoJ21lc3NhZ2UnLCByZWNlaXZlU2Vzc2lvblRva2VuKTtcblxuICAgICAgc2Vzc2lvblRva2VuU2hhcmVDaGFubmVsLnBvc3RNZXNzYWdlKHsgdHlwZTogJ3JlcXVlc3QnIH0pO1xuICAgIH0pO1xuICB9XG5cbiAgcmV0dXJuIFByb21pc2UucmVzb2x2ZShzdG9yYWdlVG9rZW4pO1xufVxuXG5mdW5jdGlvbiBzZXR1cFNlc3Npb25Ub2tlblNoYXJlQ2hhbm5lbCgpIHtcbiAgaWYgKHNlc3Npb25Ub2tlblNoYXJlQ2hhbm5lbCkge1xuICAgIHJldHVybjtcbiAgfVxuXG4gIHNlc3Npb25Ub2tlblNoYXJlQ2hhbm5lbCA9IG5ldyBCcm9hZGNhc3RDaGFubmVsKFNFU1NJT05fVE9LRU5fU0hBUkVfQ0hBTk5FTCk7XG5cbiAgc2Vzc2lvblRva2VuU2hhcmVDaGFubmVsLmFkZEV2ZW50TGlzdGVuZXIoXG4gICAgJ21lc3NhZ2UnLFxuICAgICh7IGRhdGEgfTogTWVzc2FnZUV2ZW50PFNlc3Npb25Ub2tlblNoYXJlRGF0YT4pID0+IHtcbiAgICAgIGlmIChkYXRhLnR5cGUgPT09ICdyZXF1ZXN0Jykge1xuICAgICAgICBzZXNzaW9uVG9rZW5TaGFyZUNoYW5uZWwucG9zdE1lc3NhZ2Uoe1xuICAgICAgICAgIHR5cGU6ICdwcm92aWRlJyxcbiAgICAgICAgICB0b2tlbjogcmVhZFN0b3JhZ2VUb2tlbigpLFxuICAgICAgICB9IGFzIFNlc3Npb25Ub2tlblNoYXJlRGF0YSk7XG4gICAgICB9XG4gICAgfSxcbiAgKTtcblxuICB3aW5kb3cuYWRkRXZlbnRMaXN0ZW5lcignYmVmb3JldW5sb2FkJywgcmVjb3JkU2Vzc2lvblRpbWVzdGFtcCk7XG59XG5cbmZ1bmN0aW9uIGNsb3NlU2Vzc2lvblRva2VuU2hhcmVDaGFubmVsKCkge1xuICBpZiAoIXNlc3Npb25Ub2tlblNoYXJlQ2hhbm5lbCkge1xuICAgIHJldHVybjtcbiAgfVxuXG4gIHNlc3Npb25Ub2tlblNoYXJlQ2hhbm5lbC5jbG9zZSgpO1xuICBzZXNzaW9uVG9rZW5TaGFyZUNoYW5uZWwgPSBudWxsO1xuXG4gIHdpbmRvdy5yZW1vdmVFdmVudExpc3RlbmVyKCdiZWZvcmV1bmxvYWQnLCByZWNvcmRTZXNzaW9uVGltZXN0YW1wKTtcbn1cbiJdfQ==
|
|
22
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoic3RvcmFnZS10b2tlbi5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uL2xpYnMvY29tbW9uL3NyYy9hdXRob3JpemF0aW9uL3N0b3JhZ2UtdG9rZW4udHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFFLFlBQVksRUFBRSxNQUFNLGFBQWEsQ0FBQztBQUUzQyxNQUFNLGdCQUFnQixHQUFHLGtCQUFrQixDQUFDO0FBRTVDLE1BQU0sVUFBVSxpQkFBaUI7SUFDL0IsWUFBWSxDQUFDLFVBQVUsQ0FBQyxZQUFZLENBQUMsQ0FBQztBQUN4QyxDQUFDO0FBRUQsTUFBTSxVQUFVLGlCQUFpQixDQUFDLEtBQWE7SUFDN0MsSUFBSSxDQUFDLEtBQUssRUFBRSxDQUFDO1FBQ1gsT0FBTztJQUNULENBQUM7SUFDRCxpQkFBaUIsRUFBRSxDQUFDO0lBRXBCLFlBQVksQ0FBQyxPQUFPLENBQUMsWUFBWSxFQUFFLEtBQUssQ0FBQyxDQUFDO0FBQzVDLENBQUM7QUFFRCxNQUFNLFVBQVUsZ0JBQWdCO0lBQzlCLE9BQU8sWUFBWSxDQUFDLE9BQU8sQ0FBQyxZQUFZLENBQUMsQ0FBQztBQUM1QyxDQUFDO0FBRUQsTUFBTSxVQUFVLHlCQUF5QjtJQUN2QyxZQUFZLENBQUMsT0FBTyxDQUFDLGdCQUFnQixFQUFFLElBQUksQ0FBQyxHQUFHLEVBQUUsQ0FBQyxRQUFRLEVBQUUsQ0FBQyxDQUFDO0FBQ2hFLENBQUM7QUFFRCxNQUFNLFVBQVUsc0JBQXNCO0lBQ3BDLE9BQU8sUUFBUSxDQUFDLFlBQVksQ0FBQyxPQUFPLENBQUMsZ0JBQWdCLENBQUMsQ0FBQyxDQUFDO0FBQzFELENBQUMiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBJRF9UT0tFTl9LRVkgfSBmcm9tICcuL2NvbnN0YW50cyc7XG5cbmNvbnN0IEFQUF9BTElWRV9SRUNPUkQgPSAnYXBwX2FsaXZlX3JlY29yZCc7XG5cbmV4cG9ydCBmdW5jdGlvbiBjbGVhblN0b3JhZ2VUb2tlbigpIHtcbiAgbG9jYWxTdG9yYWdlLnJlbW92ZUl0ZW0oSURfVE9LRU5fS0VZKTtcbn1cblxuZXhwb3J0IGZ1bmN0aW9uIHdyaXRlU3RvcmFnZVRva2VuKHRva2VuOiBzdHJpbmcpIHtcbiAgaWYgKCF0b2tlbikge1xuICAgIHJldHVybjtcbiAgfVxuICBjbGVhblN0b3JhZ2VUb2tlbigpO1xuXG4gIGxvY2FsU3RvcmFnZS5zZXRJdGVtKElEX1RPS0VOX0tFWSwgdG9rZW4pO1xufVxuXG5leHBvcnQgZnVuY3Rpb24gcmVhZFN0b3JhZ2VUb2tlbigpOiBzdHJpbmcge1xuICByZXR1cm4gbG9jYWxTdG9yYWdlLmdldEl0ZW0oSURfVE9LRU5fS0VZKTtcbn1cblxuZXhwb3J0IGZ1bmN0aW9uIHJlZnJlc2hTdG9yYWdlQWxpdmVSZWNvcmQoKSB7XG4gIGxvY2FsU3RvcmFnZS5zZXRJdGVtKEFQUF9BTElWRV9SRUNPUkQsIERhdGUubm93KCkudG9TdHJpbmcoKSk7XG59XG5cbmV4cG9ydCBmdW5jdGlvbiByZWFkU3RvcmFnZUFsaXZlUmVjb3JkKCk6IG51bWJlciB7XG4gIHJldHVybiBwYXJzZUludChsb2NhbFN0b3JhZ2UuZ2V0SXRlbShBUFBfQUxJVkVfUkVDT1JEKSk7XG59XG4iXX0=
|
|
@@ -1,5 +1,7 @@
|
|
|
1
1
|
import { ChangeDetectionStrategy, ChangeDetectorRef, Component, ElementRef, EventEmitter, Input, Output, TemplateRef, ViewChild, } from '@angular/core';
|
|
2
|
+
import { takeUntil } from 'rxjs';
|
|
2
3
|
import { AuthorizationStateService } from '../../../../authorization/public-api';
|
|
4
|
+
import { onDestroy } from '../../../../core/utils/observable';
|
|
3
5
|
import { getWorkspaceParams, setWorkspaceParams } from '../../utils';
|
|
4
6
|
import { ResourceSelectorPopupService } from './../../internals/selector-popup/service';
|
|
5
7
|
import { ConfigurableField } from './../../types';
|
|
@@ -43,13 +45,19 @@ export class ProjectSelectorComponent {
|
|
|
43
45
|
ConfigurableField.Time,
|
|
44
46
|
];
|
|
45
47
|
this.isActive = false;
|
|
48
|
+
this.destroy$ = onDestroy();
|
|
46
49
|
}
|
|
47
50
|
ngAfterViewInit() {
|
|
48
|
-
|
|
49
|
-
|
|
50
|
-
|
|
51
|
-
|
|
52
|
-
|
|
51
|
+
this.auth
|
|
52
|
+
.getAccountInfo()
|
|
53
|
+
.pipe(takeUntil(this.destroy$))
|
|
54
|
+
.subscribe(info => {
|
|
55
|
+
const email = info.email;
|
|
56
|
+
const project = getWorkspaceParams(email)?.project;
|
|
57
|
+
if (this.value && !project) {
|
|
58
|
+
setWorkspaceParams({ project: this.value }, email);
|
|
59
|
+
}
|
|
60
|
+
});
|
|
53
61
|
}
|
|
54
62
|
openPopup() {
|
|
55
63
|
if (this.isActive) {
|
|
@@ -122,4 +130,4 @@ export class ProjectSelectorComponent {
|
|
|
122
130
|
type: Output
|
|
123
131
|
}] }); })();
|
|
124
132
|
(() => { (typeof ngDevMode === "undefined" || ngDevMode) && i0.ɵsetClassDebugInfo(ProjectSelectorComponent, { className: "ProjectSelectorComponent" }); })();
|
|
125
|
-
//# sourceMappingURL=data:application/json;base64,
|
|
133
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiY29tcG9uZW50LmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vLi4vLi4vbGlicy9jb21tb24vc3JjL2J1c2luZXNzL3Jlc291cmNlLXNlbGVjdC9leHBvcnRzL3Byb2plY3Qtc2VsZWN0b3IvY29tcG9uZW50LnRzIiwiLi4vLi4vLi4vLi4vLi4vLi4vLi4vLi4vbGlicy9jb21tb24vc3JjL2J1c2luZXNzL3Jlc291cmNlLXNlbGVjdC9leHBvcnRzL3Byb2plY3Qtc2VsZWN0b3IvdGVtcGxhdGUuaHRtbCJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBRUwsdUJBQXVCLEVBQ3ZCLGlCQUFpQixFQUNqQixTQUFTLEVBQ1QsVUFBVSxFQUNWLFlBQVksRUFDWixLQUFLLEVBQ0wsTUFBTSxFQUNOLFdBQVcsRUFDWCxTQUFTLEdBQ1YsTUFBTSxlQUFlLENBQUM7QUFDdkIsT0FBTyxFQUFFLFNBQVMsRUFBRSxNQUFNLE1BQU0sQ0FBQztBQUVqQyxPQUFPLEVBQUUseUJBQXlCLEVBQUUsTUFBTSxzQ0FBc0MsQ0FBQztBQUNqRixPQUFPLEVBQUUsU0FBUyxFQUFFLE1BQU0sbUNBQW1DLENBQUM7QUFDOUQsT0FBTyxFQUFFLGtCQUFrQixFQUFFLGtCQUFrQixFQUFFLE1BQU0sYUFBYSxDQUFDO0FBR3JFLE9BQU8sRUFBRSw0QkFBNEIsRUFBRSxNQUFNLDBDQUEwQyxDQUFDO0FBQ3hGLE9BQU8sRUFBRSxpQkFBaUIsRUFBZ0IsTUFBTSxlQUFlLENBQUM7Ozs7Ozs7SUNYNUQsK0JBR0M7SUFDQyw4QkFBNEM7SUFDOUMsaUJBQU87OztJQUNQLGdDQUdDO0lBQ0MsWUFDRjs7SUFBQSxpQkFBTzs7SUFETCxjQUNGO0lBREUsZ0VBQ0Y7Ozs7SUFTRiw0Q0FNQztJQUZDLHNOQUFjLHVCQUFnQixLQUFDO0lBRWhDLGlCQUFtQjs7O0lBRGxCLEFBRkEsQUFEQSw0Q0FBdUIsaURBQ1csdUJBRW5COztBRE5uQixNQUFNLE9BQU8s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QU5wQyxTQUFTOzJCQUNFLHNCQUFzQixtQkFHZix1QkFBdUIsQ0FBQyxNQUFNOzhKQUkvQyxhQUFhO2tCQURaLFNBQVM7bUJBQUMsT0FBTyxFQUFFLEVBQUUsTUFBTSxFQUFFLElBQUksRUFBRTtZQUlwQyxLQUFLO2tCQURKLEtBQUs7WUFLTixTQUFTO2tCQURSLEtBQUs7WUFJTixNQUFNO2tCQURMLEtBQUs7WUFJTixXQUFXO2tCQURWLE1BQU07O2tGQWRJLHdCQUF3QiIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7XG4gIEFmdGVyVmlld0luaXQsXG4gIENoYW5nZURldGVjdGlvblN0cmF0ZWd5LFxuICBDaGFuZ2VEZXRlY3RvclJlZixcbiAgQ29tcG9uZW50LFxuICBFbGVtZW50UmVmLFxuICBFdmVudEVtaXR0ZXIsXG4gIElucHV0LFxuICBPdXRwdXQsXG4gIFRlbXBsYXRlUmVmLFxuICBWaWV3Q2hpbGQsXG59IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xuaW1wb3J0IHsgdGFrZVVudGlsIH0gZnJvbSAncnhqcyc7XG5cbmltcG9ydCB7IEF1dGhvcml6YXRpb25TdGF0ZVNlcnZpY2UgfSBmcm9tICcuLi8uLi8uLi8uLi9hdXRob3JpemF0aW9uL3B1YmxpYy1hcGknO1xuaW1wb3J0IHsgb25EZXN0cm95IH0gZnJvbSAnLi4vLi4vLi4vLi4vY29yZS91dGlscy9vYnNlcnZhYmxlJztcbmltcG9ydCB7IGdldFdvcmtzcGFjZVBhcmFtcywgc2V0V29ya3NwYWNlUGFyYW1zIH0gZnJvbSAnLi4vLi4vdXRpbHMnO1xuXG5pbXBvcnQgeyBSZXNvdXJjZVNlbGVjdG9yUG9wdXBSZWYgfSBmcm9tICcuLy4uLy4uL2ludGVybmFscy9zZWxlY3Rvci1wb3B1cC9yZWYnO1xuaW1wb3J0IHsgUmVzb3VyY2VTZWxlY3RvclBvcHVwU2VydmljZSB9IGZyb20gJy4vLi4vLi4vaW50ZXJuYWxzL3NlbGVjdG9yLXBvcHVwL3NlcnZpY2UnO1xuaW1wb3J0IHsgQ29uZmlndXJhYmxlRmllbGQsIERhdGFJdGVtQmFzZSB9IGZyb20gJy4vLi4vLi4vdHlwZXMnO1xuXG5AQ29tcG9uZW50KHtcbiAgc2VsZWN0b3I6ICdhY2wtcHJvamVjdC1zZWxlY3RvcicsXG4gIHRlbXBsYXRlVXJsOiAnLi90ZW1wbGF0ZS5odG1sJyxcbiAgc3R5bGVVcmxzOiBbJy4vLi4vY2x1c3Rlci1zZWxlY3Rvci9zdHlsZS5zY3NzJ10sXG4gIGNoYW5nZURldGVjdGlvbjogQ2hhbmdlRGV0ZWN0aW9uU3RyYXRlZ3kuT25QdXNoLFxufSlcbmV4cG9ydCBjbGFzcyBQcm9qZWN0U2VsZWN0b3JDb21wb25lbnQgaW1wbGVtZW50cyBBZnRlclZpZXdJbml0IHtcbiAgQFZpZXdDaGlsZCgncG9wdXAnLCB7IHN0YXRpYzogdHJ1ZSB9KVxuICBwb3B1cFRlbXBsYXRlOiBUZW1wbGF0ZVJlZjxhbnk+O1xuXG4gIEBJbnB1dCgpXG4gIHZhbHVlOiBzdHJpbmc7XG5cbiAgLy8g5piv5ZCm5byA5ZCvIHBvcHVwIOeyvueugOaooeW8j++8jOmAgueUqOS6jumdouWMheWxkVxuICBASW5wdXQoKVxuICBwb3B1cExpdGU6IGJvb2xlYW47XG5cbiAgQElucHV0KClcbiAgZmllbGRzOiBDb25maWd1cmFibGVGaWVsZFtdO1xuXG4gIEBPdXRwdXQoKVxuICB2YWx1ZUNoYW5nZSA9IG5ldyBFdmVudEVtaXR0ZXI8c3RyaW5nPigpO1xuXG4gIGRpc3BsYXlGaWVsZHM6IENvbmZpZ3VyYWJsZUZpZWxkW10gPSBbXG4gICAgQ29uZmlndXJhYmxlRmllbGQuU3RhdHVzLFxuICAgIENvbmZpZ3VyYWJsZUZpZWxkLlRpbWUsXG4gIF07XG5cbiAgaXNBY3RpdmUgPSBmYWxzZTtcblxuICBwb3B1cFJlZjogUmVzb3VyY2VTZWxlY3RvclBvcHVwUmVmO1xuXG4gIGRlc3Ryb3kkID0gb25EZXN0cm95KCk7XG5cbiAgY29uc3RydWN0b3IoXG4gICAgcHJpdmF0ZSByZWFkb25seSBwb3B1cFNlcnZpY2U6IFJlc291cmNlU2VsZWN0b3JQb3B1cFNlcnZpY2UsXG4gICAgcHJpdmF0ZSByZWFkb25seSBjZHI6IENoYW5nZURldGVjdG9yUmVmLFxuICAgIHByaXZhdGUgcmVhZG9ubHkgZWxlbWVudFJlZjogRWxlbWVudFJlZixcbiAgICBwcml2YXRlIHJlYWRvbmx5IGF1dGg6IEF1dGhvcml6YXRpb25TdGF0ZVNlcnZpY2UsXG4gICkge31cblxuICBuZ0FmdGVyVmlld0luaXQoKTogdm9pZCB7XG4gICAgdGhpcy5hdXRoXG4gICAgICAuZ2V0QWNjb3VudEluZm8oKVxuICAgICAgLnBpcGUodGFrZVVudGlsKHRoaXMuZGVzdHJveSQpKVxuICAgICAgLnN1YnNjcmliZShpbmZvID0+IHtcbiAgICAgICAgY29uc3QgZW1haWwgPSBpbmZvLmVtYWlsO1xuICAgICAgICBjb25zdCBwcm9qZWN0ID0gZ2V0V29ya3NwYWNlUGFyYW1zKGVtYWlsKT8ucHJvamVjdDtcbiAgICAgICAgaWYgKHRoaXMudmFsdWUgJiYgIXByb2plY3QpIHtcbiAgICAgICAgICBzZXRXb3Jrc3BhY2VQYXJhbXMoeyBwcm9qZWN0OiB0aGlzLnZhbHVlIH0sIGVtYWlsKTtcbiAgICAgICAgfVxuICAgICAgfSk7XG4gIH1cblxuICBvcGVuUG9wdXAoKSB7XG4gICAgaWYgKHRoaXMuaXNBY3RpdmUpIHtcbiAgICAgIHRoaXMuY2xvc2VQb3B1cCgpO1xuICAgIH0gZWxzZSB7XG4gICAgICB0aGlzLmlzQWN0aXZlID0gdHJ1ZTtcbiAgICAgIHRoaXMucG9wdXBSZWYgPSB0aGlzLnBvcHVwU2VydmljZS5vcGVuKHtcbiAgICAgICAgb3JpZ2luOiB0aGlzLmVsZW1lbnRSZWYsXG4gICAgICAgIGNvbnRlbnQ6IHRoaXMucG9wdXBUZW1wbGF0ZSxcbiAgICAgICAgcG9wdXBMaXRlOiB0aGlzLnBvcHVwTGl0ZSxcbiAgICAgIH0pO1xuICAgICAgdGhpcy5wb3B1cFJlZi5hZnRlckNsb3NlZCgpLnN1YnNjcmliZSgoKSA9PiB7XG4gICAgICAgIHRoaXMuaXNBY3RpdmUgPSBmYWxzZTtcbiAgICAgICAgdGhpcy5jZHIubWFya0ZvckNoZWNrKCk7XG4gICAgICB9KTtcbiAgICB9XG4gIH1cblxuICBjbG9zZVBvcHVwKCkge1xuICAgIHRoaXMuaXNBY3RpdmUgPSBmYWxzZTtcbiAgICB0aGlzLnBvcHVwUmVmLmNsb3NlKCk7XG4gIH1cblxuICBvblNlbGVjdChpdGVtOiBEYXRhSXRlbUJhc2UpIHtcbiAgICB0aGlzLnZhbHVlID0gaXRlbS5uYW1lO1xuICAgIHRoaXMudmFsdWVDaGFuZ2UuZW1pdChpdGVtLm5hbWUpO1xuICAgIHRoaXMuY2xvc2VQb3B1cCgpO1xuICB9XG59XG4iLCI8ZGl2XG4gIGNsYXNzPVwiYWNsLXJlc291cmNlLXNlbGVjdG9yXCJcbiAgW25nQ2xhc3NdPVwie1xuICAgICdhY2wtcmVzb3VyY2Utc2VsZWN0b3ItLWFjdGl2ZSc6IGlzQWN0aXZlLFxuICAgICdhY2wtcmVzb3VyY2Utc2VsZWN0b3ItLWxpdGUnOiBwb3B1cExpdGVcbiAgfVwiXG4gIChjbGljayk9XCJvcGVuUG9wdXAoKVwiXG4+XG4gIDxkaXYgY2xhc3M9XCJhY2wtcmVzb3VyY2Utc2VsZWN0b3JfX2l0ZW0gcHJvamVjdFwiPlxuICAgIDxzcGFuXG4gICAgICBjbGFzcz1cImljb24td3JhcHBlclwiXG4gICAgICAqbmdJZj1cIiFwb3B1cExpdGVcIlxuICAgID5cbiAgICAgIDxhdWktaWNvbiBpY29uPVwiYmljb2xvcjpwcm9qZWN0XCI+PC9hdWktaWNvbj5cbiAgICA8L3NwYW4+XG4gICAgPHNwYW5cbiAgICAgIGNsYXNzPVwid2l0aC1jb2xvblwiXG4gICAgICAqbmdJZj1cIiFwb3B1cExpdGVcIlxuICAgID5cbiAgICAgIHt7ICdwcm9qZWN0JyB8IHRyYW5zbGF0ZSB9fVxuICAgIDwvc3Bhbj5cbiAgICA8c3BhbiBjbGFzcz1cInNlbGVjdGVkLW5hbWUgdGV4dC10cnVuY2F0ZVwiPnt7IHZhbHVlIH19PC9zcGFuPlxuICA8L2Rpdj5cbiAgPGRpdiBjbGFzcz1cImFjbC1yZXNvdXJjZS1zZWxlY3Rvcl9fYXJyb3dcIj5cbiAgICA8YXVpLWljb24gaWNvbj1cImNhcmV0X2Rvd25fc1wiPjwvYXVpLWljb24+XG4gIDwvZGl2PlxuPC9kaXY+XG5cbjxuZy10ZW1wbGF0ZSAjcG9wdXA+XG4gIDxhY2wtcHJvamVjdC1saXN0XG4gICAgY29udGV4dD1cInBvcHVwXCJcbiAgICBbcG9wdXBMaXRlXT1cInBvcHVwTGl0ZVwiXG4gICAgW2ZpZWxkc109XCJmaWVsZHMgfHwgZGlzcGxheUZpZWxkc1wiXG4gICAgKHNlbGVjdEl0ZW0pPVwib25TZWxlY3QoJGV2ZW50KVwiXG4gICAgW3ZhbHVlXT1cInZhbHVlXCJcbiAgPjwvYWNsLXByb2plY3QtbGlzdD5cbjwvbmctdGVtcGxhdGU+XG4iXX0=
|
|
@@ -451,7 +451,7 @@ export class ResourceDataGridComponent {
|
|
|
451
451
|
]).pipe(map(([data, keyword]) => data.filter(item => {
|
|
452
452
|
const k = keyword.toLowerCase();
|
|
453
453
|
return (item.name.toLowerCase().includes(k) ||
|
|
454
|
-
item.displayName
|
|
454
|
+
item.displayName?.toLowerCase()?.includes(k));
|
|
455
455
|
})));
|
|
456
456
|
}
|
|
457
457
|
initScroll(scrollEl) {
|
|
@@ -578,4 +578,4 @@ __decorate([
|
|
|
578
578
|
type: Output
|
|
579
579
|
}] }); })();
|
|
580
580
|
(() => { (typeof ngDevMode === "undefined" || ngDevMode) && i0.ɵsetClassDebugInfo(ResourceDataGridComponent, { className: "ResourceDataGridComponent" }); })();
|
|
581
|
-
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiY29tcG9uZW50LmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vLi4vLi4vbGlicy9jb21tb24vc3JjL2J1c2luZXNzL3Jlc291cmNlLXNlbGVjdC9pbnRlcm5hbHMvZGF0YS1ncmlkL2NvbXBvbmVudC50cyIsIi4uLy4uLy4uLy4uLy4uLy4uLy4uLy4uL2xpYnMvY29tbW9uL3NyYy9idXNpbmVzcy9yZXNvdXJjZS1zZWxlY3QvaW50ZXJuYWxzL2RhdGEtZ3JpZC90ZW1wbGF0ZS5odG1sIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiI7QUFBQSxPQUFPLEVBQ0wsdUJBQXVCLEVBQ3ZCLFNBQVMsRUFDVCxVQUFVLEVBQ1YsWUFBWSxFQUNaLEtBQUssRUFFTCxNQUFNLEVBQ04sV0FBVyxFQUNYLFNBQVMsR0FDVixNQUFNLGVBQWUsQ0FBQztBQUN2QixPQUFPLEVBQUUsVUFBVSxFQUFFLE1BQU0sV0FBVyxDQUFDO0FBQ3ZDLE9BQU8sRUFBRSxNQUFNLEVBQUUsTUFBTSxXQUFXLENBQUM7QUFDbkMsT0FBTyxFQUFFLFVBQVUsRUFBRSxhQUFhLEVBQUUsYUFBYSxFQUFFLEdBQUcsRUFBRSxTQUFTLEVBQUUsTUFBTSxNQUFNLENBQUM7QUFFaEYsT0FBTyxFQUFFLGVBQWUsRUFBRSxNQUFNLDZCQUE2QixDQUFDO0FBRTlELE9BQU8sRUFDTCxpQkFBaUIsR0FLbEIsTUFBTSxhQUFhLENBQUM7Ozs7Ozs7Ozs7OztJQ2JuQiwrQkFHQztJQUNDLGtCQUEwRDtJQUM1RCxpQkFBTTs7O0lBQ04sMEJBR087Ozs7SUFhTCxBQUpGLGdDQUdDLGVBS0U7SUFEQyxxTEFBUyxzQkFBZSxLQUFLLENBQUMsS0FBQztJQUUvQiwrQkFBaUM7SUFDbkMsaUJBQU87SUFDUCxnQ0FJQztJQURDLHFMQUFTLHNCQUFlLE1BQU0sQ0FBQyxLQUFDO0lBRWhDLCtCQUFpQztJQUVyQyxBQURFLGlCQUFPLEVBQ0Y7OztJQVpILGNBQThEO0lBQTlELG1GQUE4RDtJQU85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WUFBQSxZQUEyQzs7WUFFaEQsQUFGZ0QsaUJBQzdDLEVBQ0k7WUFPUCxBQU5BLDBFQUdDLCtEQU1BO1lBQ0Qsc0NBT0M7O1lBSEMsaUlBQWlCLHlCQUFxQixJQUFDO1lBR3hDLGlCQUFhO1lBQ2QsOEVBR0M7WUFnQkgsaUJBQU07WUFDTiw4RkFRQzs7OztZQTZNRCw0RUFHQzs7O1lBclFHLGNBQWdEO1lBQWhELG9FQUFnRDtZQUUxQyxlQUF5QztZQUF6Qyw0RkFBeUM7WUFFNUMsZUFBMkM7WUFBM0MscUlBQTJDO1lBSzdDLGVBQWdCO1lBQWhCLHFDQUFnQjtZQU1oQixjQUFlO1lBQWYsb0NBQWU7WUFHaEIsY0FBc0I7WUFJdEIsQUFGQSxBQURBLEFBREEsb0NBQXNCLHlFQUNzQyx3QkFDekMsbUJBRUQ7WUFLakIsZUFBd0I7WUFBeEIsNkNBQXdCO1lBbUIxQixjQUs0QztZQUw1QywwTEFLNEM7WUFpTjVDLGVBQWE7WUFBYixrQ0FBYTs7O0FEdk5kO0lBREMsZUFBZSxFQUFFOzhCQUNYLFVBQVU7d0RBQWlCO2lGQWpCdkIseUJBQXlCO2NBTnJDLFNBQVM7MkJBQ0Usd0JBQXdCLG1CQUdqQix1QkFBdUIsQ0FBQyxNQUFNO2dCQUd4QixJQUFJO2tCQUExQixTQUFTO21CQUFDLE1BQU07WUFPakIsT0FBTztrQkFETixLQUFLO1lBSU4sU0FBUztrQkFEUixLQUFLO1lBSU4sSUFBSTtrQkFESCxLQUFLO1lBSU4sS0FBSyxNQUdMLElBQUk7a0JBREgsS0FBSztZQUlOLE1BQU07a0JBREwsS0FBSztZQUlOLGlCQUFpQjtrQkFEaEIsS0FBSztZQUlOLFdBQVc7a0JBRFYsS0FBSztZQUlOLE9BQU87a0JBRE4sS0FBSztZQUlOLFVBQVU7a0JBRFQsTUFBTTtZQUlQLE1BQU07a0JBREwsTUFBTTtZQUlQLE1BQU07a0JBREwsTUFBTTs7a0ZBeENJLHlCQUF5QiIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7XG4gIENoYW5nZURldGVjdGlvblN0cmF0ZWd5LFxuICBDb21wb25lbnQsXG4gIEVsZW1lbnRSZWYsXG4gIEV2ZW50RW1pdHRlcixcbiAgSW5wdXQsXG4gIE9uSW5pdCxcbiAgT3V0cHV0LFxuICBUZW1wbGF0ZVJlZixcbiAgVmlld0NoaWxkLFxufSBmcm9tICdAYW5ndWxhci9jb3JlJztcbmltcG9ydCB7IGRpZmZlcmVuY2UgfSBmcm9tICdsb2Rhc2gtZXMnO1xuaW1wb3J0IHsgcGx1cmFsIH0gZnJvbSAncGx1cmFsaXplJztcbmltcG9ydCB7IE9ic2VydmFibGUsIFJlcGxheVN1YmplY3QsIGNvbWJpbmVMYXRlc3QsIG1hcCwgc3RhcnRXaXRoIH0gZnJvbSAncnhqcyc7XG5cbmltcG9ydCB7IE9ic2VydmFibGVJbnB1dCB9IGZyb20gJy4uLy4uLy4uLy4uL2NvcmUvcHVibGljLWFwaSc7XG5pbXBvcnQgeyBVc2FnZUNvbnRleHQgfSBmcm9tICcuLi8uLi9iYXNlLWxpc3QnO1xuaW1wb3J0IHtcbiAgQ29uZmlndXJhYmxlRmllbGQsXG4gIERhdGFJdGVtLFxuICBEYXRhSXRlbUJhc2UsXG4gIERhdGFUeXBlLFxuICBEaXNwbGF5TW9kZSxcbn0gZnJvbSAnLi4vLi4vdHlwZXMnO1xuXG5AQ29tcG9uZW50KHtcbiAgc2VsZWN0b3I6ICdhY2wtcmVzb3VyY2UtZGF0YS1ncmlkJyxcbiAgdGVtcGxhdGVVcmw6ICcuL3RlbXBsYXRlLmh0bWwnLFxuICBzdHlsZVVybHM6IFsnLi9zdHlsZS5zY3NzJ10sXG4gIGNoYW5nZURldGVjdGlvbjogQ2hhbmdlRGV0ZWN0aW9uU3RyYXRlZ3kuT25QdXNoLFxufSlcbmV4cG9ydCBjbGFzcyBSZXNvdXJjZURhdGFHcmlkQ29tcG9uZW50IGltcGxlbWVudHMgT25Jbml0IHtcbiAgQFZpZXdDaGlsZCgnZ3JpZCcpIHNldCBncmlkKGdyaWQ6IEVsZW1lbnRSZWY8SFRNTEVsZW1lbnQ+KSB7XG4gICAgaWYgKGdyaWQpIHtcbiAgICAgIHRoaXMuaW5pdFNjcm9sbChncmlkLm5hdGl2ZUVsZW1lbnQpO1xuICAgIH1cbiAgfVxuXG4gIEBJbnB1dCgpXG4gIGNvbnRleHQ6IFVzYWdlQ29udGV4dCA9ICdwYWdlJztcblxuICBASW5wdXQoKVxuICBwb3B1cExpdGUgPSBmYWxzZTtcblxuICBASW5wdXQoKVxuICBkYXRhOiBEYXRhSXRlbUJhc2VbXSA9IFtdO1xuXG4gIEBPYnNlcnZhYmxlSW5wdXQoKVxuICBkYXRhJDogT2JzZXJ2YWJsZTxEYXRhSXRlbUJhc2VbXT47XG5cbiAgQElucHV0KClcbiAgdHlwZTogRGF0YVR5cGUgPSAnbmFtZXNwYWNlJztcblxuICBASW5wdXQoKVxuICBmaWVsZHM6IENvbmZpZ3VyYWJsZUZpZWxkW10gPSBbQ29uZmlndXJhYmxlRmllbGQuVGltZV07XG5cbiAgQElucHV0KClcbiAgYWN0aW9uVGVtcGxhdGVSZWY6IFRlbXBsYXRlUmVmPGFueT47XG5cbiAgQElucHV0KClcbiAgc2VsZWN0ZWRVaWQ6IHN0cmluZztcblxuICBASW5wdXQoKVxuICBsb2FkaW5nID0gdHJ1ZTtcblxuICBAT3V0cHV0KClcbiAgc2VsZWN0SXRlbSA9IG5ldyBFdmVudEVtaXR0ZXI8RGF0YUl0ZW1CYXNlPigpO1xuXG4gIEBPdXRwdXQoKVxuICBmaWx0ZXIgPSBuZXcgRXZlbnRFbWl0dGVyPHN0cmluZz4oKTtcblxuICBAT3V0cHV0KClcbiAgcmVsb2FkID0gbmV3IEV2ZW50RW1pdHRlcjx2b2lkPigpO1xuXG4gIGtleXdvcmQgPSAnJztcblxuICBmaWVsZHNEZWYgPSBDb25maWd1cmFibGVGaWVsZDtcblxuICBkaXNwbGF5TW9kZTogRGlzcGxheU1vZGUgPSAncm93JztcblxuICBmaWx0ZXIkID0gbmV3IFJlcGxheVN1YmplY3Q8c3RyaW5nPigxKTtcblxuICBwcml2YXRlIHJlYWRvbmx5IGRpc3BsYXlNb2RlS2V5ID0gJ2FjbF9kaXNwbGF5X21vZGUnO1xuXG4gIGRpc3BsYXlEYXRhJDogT2JzZXJ2YWJsZTxEYXRhSXRlbUJhc2VbXT47XG5cbiAgcHJpdmF0ZSBzY3JvbGxJbml0aWFsaXplZCA9IGZhbHNlO1xuXG4gIHN0YXR1c0ljb246IFJlY29yZDxzdHJpbmcsIHN0cmluZz4gPSB7XG4gICAgbm9ybWFsOiAnY2hlY2tfY2lyY2xlX3MnLFxuICAgIGFibm9ybWFsOiAnZXhjbGFtYXRpb25fdHJpYW5nbGVfcycsXG4gICAgZW5hYmxlZDogJ2NoZWNrX2NpcmNsZV9zJyxcbiAgICBkaXNhYmxlZDogJ21pbnVzX2NpcmNsZV9zJyxcbiAgfTtcblxuICBuZ09uSW5pdCgpIHtcbiAgICBjb25zdCBkaXNwbGF5TW9kZSA9IHdpbmRvdy5sb2NhbFN0b3JhZ2UuZ2V0SXRlbSh0aGlzLmRpc3BsYXlNb2RlS2V5KTtcbiAgICB0aGlzLmRpc3BsYXlNb2RlID1cbiAgICAgIHRoaXMuY29udGV4dCA9PT0gJ3BvcHVwJ1xuICAgICAgICA/IHRoaXMucG9wdXBMaXRlXG4gICAgICAgICAgPyAncm93LWxpdGUnXG4gICAgICAgICAgOiAncm93J1xuICAgICAgICA6IFsncm93JywgJ2NhcmQnXS5pbmNsdWRlcyhkaXNwbGF5TW9kZSlcbiAgICAgICAgPyAoZGlzcGxheU1vZGUgYXMgRGlzcGxheU1vZGUpXG4gICAgICAgIDogJ3Jvdyc7XG4gICAgdGhpcy5kaXNwbGF5RGF0YSQgPSBjb21iaW5lTGF0ZXN0KFtcbiAgICAgIHRoaXMuZGF0YSQsXG4gICAgICB0aGlzLmZpbHRlciQucGlwZShzdGFydFdpdGgoJycpKSxcbiAgICBdKS5waXBlKFxuICAgICAgbWFwKChbZGF0YSwga2V5d29yZF0pID0+XG4gICAgICAgIGRhdGEuZmlsdGVyKGl0ZW0gPT4ge1xuICAgICAgICAgIGNvbnN0IGsgPSBrZXl3b3JkLnRvTG93ZXJDYXNlKCk7XG4gICAgICAgICAgcmV0dXJuIChcbiAgICAgICAgICAgIGl0ZW0ubmFtZS50b0xvd2VyQ2FzZSgpLmluY2x1ZGVzKGspIHx8XG4gICAgICAgICAgICBpdGVtLmRpc3BsYXlOYW1lLnRvTG93ZXJDYXNlKCkuaW5jbHVkZXMoaylcbiAgICAgICAgICApO1xuICAgICAgICB9KSxcbiAgICAgICksXG4gICAgKTtcbiAgfVxuXG4gIHByaXZhdGUgaW5pdFNjcm9sbChzY3JvbGxFbDogSFRNTEVsZW1lbnQpIHtcbiAgICBpZiAoXG4gICAgICB0aGlzLmNvbnRleHQgPT09ICdwYWdlJyB8fFxuICAgICAgdGhpcy5zY3JvbGxJbml0aWFsaXplZCB8fFxuICAgICAgIXRoaXMuZGF0YT8ubGVuZ3RoXG4gICAgKSB7XG4gICAgICByZXR1cm47XG4gICAgfVxuICAgIGNvbnN0IGN1cnJlbnRJbmRleCA9IHRoaXMuZGF0YS5maW5kSW5kZXgoXG4gICAgICBpdGVtID0+IGl0ZW0uX19vcmlnaW4ubWV0YWRhdGEudWlkID09PSB0aGlzLnNlbGVjdGVkVWlkLFxuICAgICk7XG4gICAgY29uc3Qgcm93SGVpZ2h0ID0gc2Nyb2xsRWwuc2Nyb2xsSGVpZ2h0IC8gdGhpcy5kYXRhLmxlbmd0aDtcbiAgICBpZiAoXG4gICAgICBjdXJyZW50SW5kZXggPiAtMSAmJlxuICAgICAgcm93SGVpZ2h0ICogKGN1cnJlbnRJbmRleCArIDEpID4gc2Nyb2xsRWwub2Zmc2V0SGVpZ2h0XG4gICAgKSB7XG4gICAgICBzY3JvbGxFbC5zY3JvbGxUbyh7XG4gICAgICAgIHRvcDogcm93SGVpZ2h0ICogY3VycmVudEluZGV4LFxuICAgICAgfSk7XG4gICAgfVxuICAgIHRoaXMuc2Nyb2xsSW5pdGlhbGl6ZWQgPSB0cnVlO1xuICB9XG5cbiAgZ2V0SGlnaGxpZ2h0ZWROYW1lU3RycyA9IChpdGVtOiBEYXRhSXRlbUJhc2UpID0+IHtcbiAgICBpZiAoIXRoaXMua2V5d29yZCkge1xuICAgICAgcmV0dXJuIFtcbiAgICAgICAge1xuICAgICAgICAgIHRleHQ6IGl0ZW0ubmFtZSxcbiAgICAgICAgfSxcbiAgICAgIF07XG4gICAgfVxuICAgIGNvbnN0IG9yaWdpbmFsID0gaXRlbS5uYW1lO1xuICAgIGNvbnN0IHN0cnMgPSBpdGVtLm5hbWUudG9Mb3dlckNhc2UoKS5zcGxpdCh0aGlzLmtleXdvcmQudG9Mb3dlckNhc2UoKSk7XG4gICAgY29uc3QgcmV0OiBBcnJheTx7XG4gICAgICB0ZXh0OiBzdHJpbmc7XG4gICAgICBpc0hpZ2hsaWdodGVkPzogYm9vbGVhbjtcbiAgICB9PiA9IFtdO1xuICAgIGxldCBwb3MgPSAwO1xuICAgIGZvciAoY29uc3QgW2ksIHN0cl0gb2Ygc3Rycy5lbnRyaWVzKCkpIHtcbiAgICAgIGNvbnN0IGVuZCA9IHBvcyArIHN0ci5sZW5ndGg7XG4gICAgICByZXQucHVzaCh7XG4gICAgICAgIHRleHQ6IG9yaWdpbmFsLnNsaWNlKHBvcywgZW5kKSxcbiAgICAgIH0pO1xuICAgICAgaWYgKGkgIT09IHN0cnMubGVuZ3RoIC0gMSkge1xuICAgICAgICByZXQucHVzaCh7XG4gICAgICAgICAgdGV4dDogb3JpZ2luYWwuc2xpY2UoZW5kLCBlbmQgKyB0aGlzLmtleXdvcmQubGVuZ3RoKSxcbiAgICAgICAgICBpc0hpZ2hsaWdodGVkOiB0cnVlLFxuICAgICAgICB9KTtcbiAgICAgIH1cbiAgICAgIHBvcyA9IGVuZCArIHRoaXMua2V5d29yZC5sZW5ndGg7XG4gICAgfVxuICAgIHJldHVybiByZXQ7XG4gIH07XG5cbiAgb25TZWxlY3QoaXRlbTogRGF0YUl0ZW1CYXNlKSB7XG4gICAgaWYgKFxuICAgICAgaXRlbS5zdGF0ZT8uZGlzYWJsZWQgfHxcbiAgICAgIHRoaXMuc2VsZWN0ZWRVaWQgPT09IGl0ZW0uX19vcmlnaW4ubWV0YWRhdGEudWlkXG4gICAgKSB7XG4gICAgICByZXR1cm47XG4gICAgfVxuICAgIHRoaXMuc2VsZWN0ZWRVaWQgPSBpdGVtLm5hbWU7XG4gICAgdGhpcy5zZWxlY3RJdGVtLmVtaXQoaXRlbSk7XG4gIH1cblxuICBzZXREaXNwbGF5TW9kZShtb2RlOiBEaXNwbGF5TW9kZSkge1xuICAgIHRoaXMuZGlzcGxheU1vZGUgPSBtb2RlO1xuICAgIHdpbmRvdy5sb2NhbFN0b3JhZ2Uuc2V0SXRlbSh0aGlzLmRpc3BsYXlNb2RlS2V5LCBtb2RlKTtcbiAgfVxuXG4gIGtleXdvcmRDaGFuZ2Uoa2V5d29yZDogc3RyaW5nKSB7XG4gICAgdGhpcy5rZXl3b3JkID0ga2V5d29yZDtcbiAgICB0aGlzLmZpbHRlciQubmV4dChrZXl3b3JkKTtcbiAgfVxuXG4gIGZpbHRlckRpc2FibGVkRGF0YShkYXRhOiBEYXRhSXRlbUJhc2VbXSwgY29udGV4dDogVXNhZ2VDb250ZXh0KSB7XG4gICAgLy8gd29ya2Fyb3VuZCBmb3IgdHlwaW5ncyBpbiB0ZW1wbGF0ZVxuICAgIHJldHVybiAoXG4gICAgICBjb250ZXh0ID09PSAncGFnZScgPyBkYXRhIDogZGF0YS5maWx0ZXIoaXRlbSA9PiAhaXRlbS5zdGF0ZT8uZGlzYWJsZWQpXG4gICAgKSBhcyBEYXRhSXRlbVtdO1xuICB9XG5cbiAgc29ydFdpdGhvdXRJc3RpbyA9IChkYXRhOiBEYXRhSXRlbUJhc2VbXSkgPT4ge1xuICAgIGNvbnN0IHdpdGhvdXRJc3RpbyA9IGRhdGEuZmlsdGVyKGl0ZW0gPT4gIWl0ZW0/LnNlcnZpY2VNZXNoSXN0aW9WZXJzaW9uKTtcbiAgICByZXR1cm4gWy4uLmRpZmZlcmVuY2UoZGF0YSwgd2l0aG91dElzdGlvKSwgLi4ud2l0aG91dElzdGlvXTtcbiAgfTtcblxuICBwbHVyYWxGb3JtKHR5cGU6IERhdGFUeXBlKSB7XG4gICAgcmV0dXJuIHBsdXJhbCh0eXBlKTtcbiAgfVxufVxuIiwiPGRpdiBjbGFzcz1cImhlYWRlclwiPlxuICA8c3BhblxuICAgIGNsYXNzPVwiaGVhZGVyX190aXRsZVwiXG4gICAgW25nQ2xhc3NdPVwieyAnaGVhZGVyX190aXRsZS0tbGl0ZSc6IHBvcHVwTGl0ZSB9XCJcbiAgPlxuICAgIDxzcGFuPnt7IHR5cGUgfCBwdXJlOiBwbHVyYWxGb3JtIHwgdHJhbnNsYXRlIH19PC9zcGFuXG4gICAgPjxzcGFuIGNsYXNzPVwiaGVhZGVyX19kZXNjXCJcbiAgICAgID7vvIh7eyAoZGlzcGxheURhdGEkIHwgYXN5bmMpPy5sZW5ndGggfHwgMCB9fe+8iTwvc3BhblxuICAgID5cbiAgPC9zcGFuPlxuICA8ZGl2XG4gICAgY2xhc3M9XCJoZWFkZXJfX2N1c3RvbVwiXG4gICAgKm5nSWY9XCIhcG9wdXBMaXRlXCJcbiAgPlxuICAgIDxuZy1jb250ZW50IHNlbGVjdD1cIlthY2xSZXNvdXJjZUdyaWRIZWFkZXJdXCI+PC9uZy1jb250ZW50PlxuICA8L2Rpdj5cbiAgPGRpdlxuICAgIGNsYXNzPVwidHctZmxleC0xXCJcbiAgICAqbmdJZj1cInBvcHVwTGl0ZVwiXG4gID48L2Rpdj5cbiAgPGF1aS1zZWFyY2hcbiAgICBbc2VhcmNoQnV0dG9uXT1cImZhbHNlXCJcbiAgICBbcGxhY2Vob2xkZXJdPVwiJ2ZpbHRlcl9ieV9uYW1lX29yX2Rpc3BsYXlfbmFtZScgfCB0cmFuc2xhdGVcIlxuICAgIFtrZXl3b3JkXT1cImtleXdvcmRcIlxuICAgIChrZXl3b3JkQ2hhbmdlKT1cImtleXdvcmRDaGFuZ2UoJGV2ZW50KVwiXG4gICAgW2NsZWFyYWJsZV09XCJ0cnVlXCJcbiAgICBzaXplPVwic21hbGxcIlxuICA+PC9hdWktc2VhcmNoPlxuICA8c3BhblxuICAgIGNsYXNzPVwiaGVhZGVyX19kaXNwbGF5LW1vZGVcIlxuICAgICpuZ0lmPVwiY29udGV4dCA9PT0gJ3BhZ2UnXCJcbiAgPlxuICAgIDxzcGFuXG4gICAgICBjbGFzcz1cInN3aXRjaC1idG5cIlxuICAgICAgW25nQ2xhc3NdPVwieyAnc3dpdGNoLWJ0bi0tc2VsZWN0ZWQnOiBkaXNwbGF5TW9kZSAhPT0gJ2NhcmQnIH1cIlxuICAgICAgKGNsaWNrKT1cInNldERpc3BsYXlNb2RlKCdyb3cnKVwiXG4gICAgPlxuICAgICAgPGF1aS1pY29uIGljb249XCJsaXN0XCI+PC9hdWktaWNvbj5cbiAgICA8L3NwYW4+XG4gICAgPHNwYW5cbiAgICAgIGNsYXNzPVwic3dpdGNoLWJ0blwiXG4gICAgICBbbmdDbGFzc109XCJ7ICdzd2l0Y2gtYnRuLS1zZWxlY3RlZCc6IGRpc3BsYXlNb2RlID09PSAnY2FyZCcgfVwiXG4gICAgICAoY2xpY2spPVwic2V0RGlzcGxheU1vZGUoJ2NhcmQnKVwiXG4gICAgPlxuICAgICAgPGF1aS1pY29uIGljb249XCJncmlkXCI+PC9hdWktaWNvbj5cbiAgICA8L3NwYW4+XG4gIDwvc3Bhbj5cbjwvZGl2PlxuPG5nLWNvbnRhaW5lclxuICAqbmdJZj1cIlxuICAgICFsb2FkaW5nICYmXG4gICAgKGRpc3BsYXlEYXRhJFxuICAgICAgfCBhc3luY1xuICAgICAgfCBwdXJlOiBzb3J0V2l0aG91dElzdGlvXG4gICAgICB8IHB1cmU6IGZpbHRlckRpc2FibGVkRGF0YTpjb250ZXh0KSBhcyBkaXNwbGF5RGF0YVxuICBcIlxuPlxuICA8ZGl2XG4gICAgY2xhc3M9XCJncmlkXCJcbiAgICAqbmdJZj1cImRpc3BsYXlEYXRhLmxlbmd0aFwiXG4gICAgI2dyaWRcbiAgICBbbmdDbGFzc109XCJ7XG4gICAgICAnZ3JpZC0tY2FyZCc6IGRpc3BsYXlNb2RlID09PSAnY2FyZCcgJiYgY29udGV4dCAhPT0gJ3BvcHVwJyxcbiAgICAgICdncmlkLS1wb3B1cCc6IGNvbnRleHQgPT09ICdwb3B1cCcsXG4gICAgICAnZ3JpZC0tcG9wdXAtLWxpdGUnOiBjb250ZXh0ID09PSAncG9wdXAnICYmIHBvcHVwTGl0ZVxuICAgIH1cIlxuICA+XG4gICAgPGRpdlxuICAgICAgY2xhc3M9XCJncmlkX19pdGVtXCJcbiAgICAgICpuZ0Zvcj1cImxldCBpdGVtIG9mIGRpc3BsYXlEYXRhXCJcbiAgICAgIFtuZ0NsYXNzXT1cIntcbiAgICAgICAgJ2dyaWRfX2l0ZW0tLXNlbGVjdGVkJzpcbiAgICAgICAgICBjb250ZXh0ID09PSAncG9wdXAnICYmIHNlbGVjdGVkVWlkID09PSBpdGVtLl9fb3JpZ2luLm1ldGFkYXRhLnVpZCxcbiAgICAgICAgJ2dyaWRfX2l0ZW0tLWRpc2FibGVkJzogaXRlbS5zdGF0ZT8uZGlzYWJsZWRcbiAgICAgIH1cIlxuICAgICAgKGNsaWNrKT1cIm9uU2VsZWN0KGl0ZW0pXCJcbiAgICAgIFthdHRyLmRhdGEtdGVzdF09XCJpdGVtLm5hbWUgKyAnLycgKyBpdGVtLmNsdXN0ZXJcIlxuICAgICAgW2F1aVRvb2x0aXBdPVwiaXRlbS5zdGF0ZT8udG9vbHRpcFwiXG4gICAgICBbYXVpVG9vbHRpcERpc2FibGVkXT1cIiFpdGVtLnN0YXRlPy5kaXNhYmxlZCB8fCAhaXRlbS5zdGF0ZT8udG9vbHRpcFwiXG4gICAgPlxuICAgICAgPGF1aS1pY29uXG4gICAgICAgICpuZ0lmPVwic2VsZWN0ZWRVaWQgPT09IGl0ZW0uX19vcmlnaW4ubWV0YWRhdGEudWlkXCJcbiAgICAgICAgY2xhc3M9XCJjaGVjay10cmlhbmdsZS1iYWRnZVwiXG4gICAgICAgIGljb249XCJjaGVja1wiXG4gICAgICA+PC9hdWktaWNvbj5cbiAgICAgIDwhLS0gaWNvbiAtLT5cbiAgICAgIDxkaXYgY2xhc3M9XCJncmlkX19maWVsZCBncmlkX19maWVsZC1pY29uXCI+XG4gICAgICAgIDxhY2wtcmVzb3VyY2UtaWNvblxuICAgICAgICAgIFt0eXBlXT1cInR5cGVcIlxuICAgICAgICAgIFtjb2xvcl09XCJcbiAgICAgICAgICAgIGNvbnRleHQgPT09ICdwb3B1cCcgJiZcbiAgICAgICAgICAgICFwb3B1cExpdGUgJiZcbiAgICAgICAgICAgIHNlbGVjdGVkVWlkID09PSBpdGVtLl9fb3JpZ2luLm1ldGFkYXRhLnVpZFxuICAgICAgICAgICAgICA/ICd3aGl0ZSdcbiAgICAgICAgICAgICAgOiAnYmx1ZSdcbiAgICAgICAgICBcIlxuICAgICAgICAgIFtkaXNwbGF5TW9kZV09XCJkaXNwbGF5TW9kZVwiXG4gICAgICAgID48L2FjbC1yZXNvdXJjZS1pY29uPlxuICAgICAgPC9kaXY+XG4gICAgICA8IS0tIG5hbWUgLS0+XG4gICAgICA8ZGl2IGNsYXNzPVwiZ3JpZF9fZmllbGQgZ3JpZF9fZmllbGQtbmFtZVwiPlxuICAgICAgICA8ZGl2IGNsYXNzPVwibmFtZVwiPlxuICAgICAgICAgIDxuZy1jb250YWluZXIgKm5nRm9yPVwibGV0IHN0ciBvZiBnZXRIaWdobGlnaHRlZE5hbWVTdHJzKGl0ZW0pXCI+XG4gICAgICAgICAgICA8c3BhbiBbbmdDbGFzc109XCJ7IGhpZ2hsaWdodGVkOiBzdHIuaXNIaWdobGlnaHRlZCB9XCI+e3tcbiAgICAgICAgICAgICAgc3RyLnRleHRcbiAgICAgICAgICAgIH19PC9zcGFuPlxuICAgICAgICAgIDwvbmctY29udGFpbmVyPlxuICAgICAgICA8L2Rpdj5cbiAgICAgICAgPGRpdlxuICAgICAgICAgIGNsYXNzPVwiZGVzXCJcbiAgICAgICAgICAqbmdJZj1cIiFwb3B1cExpdGVcIlxuICAgICAgICA+XG4gICAgICAgICAgPG5nLWNvbnRhaW5lciAqbmdJZj1cIml0ZW0uZGlzcGxheU5hbWVcIj57e1xuICAgICAgICAgICAgaXRlbS5kaXNwbGF5TmFtZVxuICAgICAgICAgIH19PC9uZy1jb250YWluZXI+XG4gICAgICAgIDwvZGl2PlxuICAgICAgPC9kaXY+XG4gICAgICA8IS0tIG5zOiBjbHVzdGVyIC0tPlxuICAgICAgPGRpdlxuICAgICAgICBjbGFzcz1cImdyaWRfX2ZpZWxkIGZsZXggZ3JpZF9fZmllbGQtY2x1c3RlclwiXG4gICAgICAgICpuZ0lmPVwiZmllbGRzLmluY2x1ZGVzKGZpZWxkc0RlZi5DbHVzdGVyKVwiXG4gICAgICA+XG4gICAgICAgIDxzcGFuXG4gICAgICAgICAgY2xhc3M9XCJiZWxvbmdlZC1jbHVzdGVyIHR3LWZsZXhcIlxuICAgICAgICAgIGF1aVRvb2x0aXA9XCJ7e1xuICAgICAgICAgICAgKCdiZWxvbmdlZF9jbHVzdGVyJyB8IHRyYW5zbGF0ZSkgKyAnOiAnICsgaXRlbS5jbHVzdGVyXG4gICAgICAgICAgfX1cIlxuICAgICAgICA+XG4gICAgICAgICAgPHNwYW4gY2xhc3M9XCJ3aXRoLWNvbG9uXCI+e3sgJ2JlbG9uZ2VkX2NsdXN0ZXInIHwgdHJhbnNsYXRlIH19PC9zcGFuPlxuICAgICAgICAgIDxzcGFuIGNsYXNzPVwidHctdGV4dC1lbGxpcHNpcyB0dy1vdmVyZmxvdy1oaWRkZW5cIlxuICAgICAgICAgICAgPnt7IGl0ZW0uY2x1c3RlclxuICAgICAgICAgICAgfX08bmctY29udGFpbmVyICpuZ0lmPVwiaXRlbS5jbHVzdGVyRGlzcGxheU5hbWVcIlxuICAgICAgICAgICAgICA+KHt7IGl0ZW0uY2x1c3RlckRpc3BsYXlOYW1lIH19KTwvbmctY29udGFpbmVyXG4gICAgICAgICAgICA+XG4gICAgICAgICAgPC9zcGFuPlxuICAgICAgICAgIDxhdWktdGFnXG4gICAgICAgICAgICB0eXBlPVwicHJpbWFyeVwiXG4gICAgICAgICAgICBzaXplPVwibWluaVwiXG4gICAgICAgICAgICAqbmdJZj1cIml0ZW0uY2x1c3RlckFyY2hcIlxuICAgICAgICAgID5cbiAgICAgICAgICAgIHt7IGl0ZW0uY2x1c3RlckFyY2ggfX1cbiAgICAgICAgICA8L2F1aS10YWc+XG4gICAgICAgIDwvc3Bhbj5cbiAgICAgIDwvZGl2PlxuICAgICAgPCEtLSBwcm9qZWN0OiBzdGF0dXMgLS0+XG4gICAgICA8ZGl2XG4gICAgICAgIGNsYXNzPVwiZ3JpZF9fZmllbGQgZ3JpZF9fZmllbGQtc3RhdHVzIHt7XG4gICAgICAgICAgJ2dyaWRfX2ZpZWxkLXN0YXR1cy0tJyArIGl0ZW0uc3RhdHVzXG4gICAgICAgIH19XCJcbiAgICAgICAgKm5nSWY9XCJmaWVsZHMuaW5jbHVkZXMoZmllbGRzRGVmLlN0YXR1cylcIlxuICAgICAgPlxuICAgICAgICA8bGFiZWxcbiAgICAgICAgICAqbmdJZj1cInBvcHVwTGl0ZVwiXG4gICAgICAgICAgY2xhc3M9XCJ0dy10ZXh0LWhlbHAtdGV4dCB0dy1tci04XCJcbiAgICAgICAgICA+e3sgJ3N0YXR1cycgfCB0cmFuc2xhdGUgfX06PC9sYWJlbFxuICAgICAgICA+XG4gICAgICAgIDxzcGFuIGNsYXNzPVwid2l0aC1jb2xvblwiPnt7ICdzdGF0dXMnIHwgdHJhbnNsYXRlIH19PC9zcGFuPlxuICAgICAgICA8YXVpLWljb25cbiAgICAgICAgICBbaWNvbl09XCJzdGF0dXNJY29uW2l0ZW0uc3RhdHVzXVwiXG4gICAgICAgICAgW2JhY2tncm91bmRdPVwiXG4gICAgICAgICAgICBzdGF0dXNJY29uW2l0ZW0uc3RhdHVzXS5lbmRzV2l0aCgnX3RyaWFuZ2xlX3MnKVxuICAgICAgICAgICAgICA/ICd0cmlhbmdsZSdcbiAgICAgICAgICAgICAgOiAnY2lyY2xlJ1xuICAgICAgICAgIFwiXG4gICAgICAgICAgY2xhc3M9XCJ7eyAnaWNvbi0nICsgaXRlbS5zdGF0dXMgfX1cIlxuICAgICAgICA+PC9hdWktaWNvbj5cbiAgICAgICAge3sgaXRlbS5zdGF0dXMgfCB0cmFuc2xhdGUgfX1cbiAgICAgIDwvZGl2PlxuICAgICAgPCEtLSBhc206IHNlcnZpY2UgbWVzaCAtLT5cbiAgICAgIDxkaXZcbiAgICAgICAgY2xhc3M9XCJncmlkX19maWVsZCBncmlkX19maWVsZC1zZXJ2aWNlbWVzaFwiXG4gICAgICAgICpuZ0lmPVwiZmllbGRzLmluY2x1ZGVzKGZpZWxkc0RlZi5TZXJ2aWNlTWVzaClcIlxuICAgICAgPlxuICAgICAgICA8c3BhbiBjbGFzcz1cIndpdGgtY29sb25cIj57eyAnYmVsb25nZWRfc2VydmljZW1lc2gnIHwgdHJhbnNsYXRlIH19PC9zcGFuPlxuICAgICAgICA8c3Bhbj4ge3sgaXRlbS5zZXJ2aWNlTWVzaE5hbWUgfX0gPC9zcGFuPlxuICAgICAgICA8ZGl2IGNsYXNzPVwiZGVzXCI+XG4gICAgICAgICAgPG5nLWNvbnRhaW5lciAqbmdJZj1cIml0ZW0uc2VydmljZU1lc2hJc3Rpb1ZlcnNpb25cIlxuICAgICAgICAgICAgPihJc3RpbyB7eyBpdGVtLnNlcnZpY2VNZXNoSXN0aW9WZXJzaW9uIH19KTwvbmctY29udGFpbmVyXG4gICAgICAgICAgPlxuICAgICAgICA8L2Rpdj5cbiAgICAgIDwvZGl2PlxuXG4gICAgICA8ZGl2XG4gICAgICAgIGNsYXNzPVwiZ3JpZF9fZmllbGQgZ3JpZF9fZmllbGQtc2VydmljZW1lc2hcIlxuICAgICAgICAqbmdJZj1cImZpZWxkcy5pbmNsdWRlcyhmaWVsZHNEZWYuU2VydmljZU1lc2gpXCJcbiAgICAgID5cbiAgICAgICAgPHNwYW4gY2xhc3M9XCJ3aXRoLWNvbG9uXCI+e3sgJ2NsdXN0ZXInIHwgdHJhbnNsYXRlIH19PC9zcGFuPlxuICAgICAgICA8c3BhblxuICAgICAgICAgID57eyBpdGVtLmNsdXN0ZXJcbiAgICAgICAgICB9fTxuZy1jb250YWluZXIgKm5nSWY9XCJpdGVtLmNsdXN0ZXJEaXNwbGF5TmFtZVwiXG4gICAgICAgICAgICA+KHt7IGl0ZW0uY2x1c3RlckRpc3BsYXlOYW1lIH19KTwvbmctY29udGFpbmVyXG4gICAgICAgICAgPlxuICAgICAgICA8L3NwYW4+XG4gICAgICAgIDxhdWktdGFnXG4gICAgICAgICAgdHlwZT1cInByaW1hcnlcIlxuICAgICAgICAgIHNpemU9XCJtaW5pXCJcbiAgICAgICAgICAqbmdJZj1cIml0ZW0uY2x1c3RlckFyY2hcIlxuICAgICAgICA+XG4gICAgICAgICAge3sgaXRlbS5jbHVzdGVyQXJjaCB9fVxuICAgICAgICA8L2F1aS10YWc+XG4gICAgICA8L2Rpdj5cblxuICAgICAgPCEtLSBtZXNoIGdyb3VwIC0tPlxuXG4gICAgICA8ZGl2XG4gICAgICAgIGNsYXNzPVwiZ3JpZF9fZmllbGQgZ3JpZF9fZmllbGQtc2VydmljZW1lc2hcIlxuICAgICAgICAqbmdJZj1cImZpZWxkcy5pbmNsdWRlcyhmaWVsZHNEZWYuU2VydmljZU1lc2hHcm91cClcIlxuICAgICAgPlxuICAgICAgICA8c3BhbiBjbGFzcz1cIndpdGgtY29sb25cIj57eyAnY2x1c3RlcicgfCB0cmFuc2xhdGUgfX08L3NwYW4+XG4gICAgICAgIDxzcGFuPnt7IGl0ZW0uY2x1c3RlciB9fSA8L3NwYW4+XG4gICAgICA8L2Rpdj5cbiAgICAgIDwhLS0gYXNtOiBpc3RpbyAtLT5cbiAgICAgIDxkaXZcbiAgICAgICAgY2xhc3M9XCJncmlkX19maWVsZCBncmlkX19maWVsZC1zZXJ2aWNlbWVzaFwiXG4gICAgICAgICpuZ0lmPVwiZmllbGRzLmluY2x1ZGVzKGZpZWxkc0RlZi5TZXJ2aWNlTWVzaEdyb3VwKVwiXG4gICAgICA+XG4gICAgICAgIDxzcGFuIGNsYXNzPVwid2l0aC1jb2xvblwiPnt7ICdJc3RpbycgfX08L3NwYW4+XG4gICAgICAgIDxzcGFuXG4gICAgICAgICAgPnt7IGl0ZW0uc2VydmljZU1lc2hJc3Rpb1ZlcnNpb24gfHwgKCdub3RfZGVwbG95ZWQnIHwgdHJhbnNsYXRlKSB9fVxuICAgICAgICA8L3NwYW4+XG4gICAgICA8L2Rpdj5cblxuICAgICAgPCEtLSB0aW1lIC0tPlxuICAgICAgPGRpdlxuICAgICAgICBjbGFzcz1cImdyaWRfX2ZpZWxkIGdyaWRfX2ZpZWxkLXRpbWVcIlxuICAgICAgICAqbmdJZj1cImZpZWxkcy5pbmNsdWRlcyhmaWVsZHNEZWYuVGltZSkgJiYgIXBvcHVwTGl0ZVwiXG4gICAgICA+XG4gICAgICAgIDxzcGFuIGNsYXNzPVwid2l0aC1jb2xvblwiPnt7ICdjcmVhdGVkX2F0JyB8IHRyYW5zbGF0ZSB9fTwvc3Bhbj5cbiAgICAgICAgPHNwYW4+e3sgaXRlbS50aW1lc3RhbXAgfCBhY2xSZWxhdGl2ZVRpbWUgfX08L3NwYW4+XG4gICAgICA8L2Rpdj5cbiAgICAgIDwhLS0gYWN0aW9uIC0tPlxuICAgICAgPGRpdlxuICAgICAgICBjbGFzcz1cImdyaWRfX2ZpZWxkIGdyaWRfX2ZpZWxkLWFjdGlvblwiXG4gICAgICAgIChjbGljayk9XCIkZXZlbnQuc3RvcFByb3BhZ2F0aW9uKClcIlxuICAgICAgICAqbmdJZj1cIlxuICAgICAgICAgIGZpZWxkcy5pbmNsdWRlcyhmaWVsZHNEZWYuQWN0aW9uKSAmJlxuICAgICAgICAgIGFjdGlvblRlbXBsYXRlUmVmICYmXG4gICAgICAgICAgY29udGV4dCAhPT0gJ3BvcHVwJ1xuICAgICAgICBcIlxuICAgICAgPlxuICAgICAgICA8bmctY29udGFpbmVyXG4gICAgICAgICAgW25nVGVtcGxhdGVPdXRsZXRdPVwiYWN0aW9uVGVtcGxhdGVSZWZcIlxuICAgICAgICAgIFtuZ1RlbXBsYXRlT3V0bGV0Q29udGV4dF09XCJ7XG4gICAgICAgICAgICAkaW1wbGljaXQ6IGl0ZW0uX19vcmlnaW5cbiAgICAgICAgICB9XCJcbiAgICAgICAgPjwvbmctY29udGFpbmVyPlxuICAgICAgPC9kaXY+XG4gICAgPC9kaXY+XG4gIDwvZGl2PlxuICA8YWNsLXJlc291cmNlLW5vLWRhdGFcbiAgICAqbmdJZj1cIiFwb3B1cExpdGUgJiYgIShkaXNwbGF5RGF0YSQgfCBhc3luYyk/Lmxlbmd0aFwiXG4gICAgW2lzRmlsdGVyZWRdPVwiISFrZXl3b3JkXCJcbiAgICBbdHlwZV09XCJ0eXBlXCJcbiAgICAocmVmcmVzaCk9XCJyZWxvYWQuZW1pdCgpXCJcbiAgICAoY2xlYXIpPVwia2V5d29yZENoYW5nZSgnJylcIlxuICA+PC9hY2wtcmVzb3VyY2Utbm8tZGF0YT5cbiAgPGFjbC16ZXJvLXN0YXRlXG4gICAgKm5nSWY9XCJwb3B1cExpdGUgJiYgIShkaXNwbGF5RGF0YSQgfCBhc3luYyk/Lmxlbmd0aFwiXG4gICAgY29udGV4dD1cInRhYmxlXCJcbiAgPjwvYWNsLXplcm8tc3RhdGU+XG48L25nLWNvbnRhaW5lcj5cbjxkaXZcbiAgY2xhc3M9XCJsb2FkaW5nXCJcbiAgKm5nSWY9XCJsb2FkaW5nXCJcbj5cbiAgPGFjbC1sb2FkaW5nLW1hc2tcbiAgICBbbG9hZGluZ109XCJsb2FkaW5nXCJcbiAgICB0eXBlPVwiY29udGVudFwiXG4gID48L2FjbC1sb2FkaW5nLW1hc2s+XG48L2Rpdj5cbiJdfQ==
|
|
581
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiY29tcG9uZW50LmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vLi4vLi4vbGlicy9jb21tb24vc3JjL2J1c2luZXNzL3Jlc291cmNlLXNlbGVjdC9pbnRlcm5hbHMvZGF0YS1ncmlkL2NvbXBvbmVudC50cyIsIi4uLy4uLy4uLy4uLy4uLy4uLy4uLy4uL2xpYnMvY29tbW9uL3NyYy9idXNpbmVzcy9yZXNvdXJjZS1zZWxlY3QvaW50ZXJuYWxzL2RhdGEtZ3JpZC90ZW1wbGF0ZS5odG1sIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiI7QUFBQSxPQUFPLEVBQ0wsdUJBQXVCLEVBQ3ZCLFNBQVMsRUFDVCxVQUFVLEVBQ1YsWUFBWSxFQUNaLEtBQUssRUFFTCxNQUFNLEVBQ04sV0FBVyxFQUNYLFNBQVMsR0FDVixNQUFNLGVBQWUsQ0FBQztBQUN2QixPQUFPLEVBQUUsVUFBVSxFQUFFLE1BQU0sV0FBVyxDQUFDO0FBQ3ZDLE9BQU8sRUFBRSxNQUFNLEVBQUUsTUFBTSxXQUFXLENBQUM7QUFDbkMsT0FBTyxFQUFFLFVBQVUsRUFBRSxhQUFhLEVBQUUsYUFBYSxFQUFFLEdBQUcsRUFBRSxTQUFTLEVBQUUsTUFBTSxNQUFNLENBQUM7QUFFaEYsT0FBTyxFQUFFLGVBQWUsRUFBRSxNQUFNLDZCQUE2QixDQUFDO0FBRTlELE9BQU8sRUFDTCxpQkFBaUIsR0FLbEIsTUFBTSxhQUFhLENBQUM7Ozs7Ozs7Ozs7OztJQ2JuQiwrQkFHQztJQUNDLGtCQUEwRDtJQUM1RCxpQkFBTTs7O0lBQ04sMEJBR087Ozs7SUFhTCxBQUpGLGdDQUdDLGVBS0U7SUFEQyxxTEFBUyxzQkFBZSxLQUFLLENBQUMsS0FBQztJQUUvQiwrQkFBaUM7SUFDbkMsaUJBQU87SUFDUCxnQ0FJQztJQURDLHFMQUFTLHNCQUFlLE1BQU0sQ0FBQyxLQUFDO0lBRWhDLCtCQUFpQztJQUVyQyxBQURFLGlCQUFPLEVBQ0Y7OztJQVpILGNBQThEO0lBQTlELG1GQUE4RDtJQU85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WUFBQSxZQUEyQzs7WUFFaEQsQUFGZ0QsaUJBQzdDLEVBQ0k7WUFPUCxBQU5BLDBFQUdDLCtEQU1BO1lBQ0Qsc0NBT0M7O1lBSEMsaUlBQWlCLHlCQUFxQixJQUFDO1lBR3hDLGlCQUFhO1lBQ2QsOEVBR0M7WUFnQkgsaUJBQU07WUFDTiw4RkFRQzs7OztZQTZNRCw0RUFHQzs7O1lBclFHLGNBQWdEO1lBQWhELG9FQUFnRDtZQUUxQyxlQUF5QztZQUF6Qyw0RkFBeUM7WUFFNUMsZUFBMkM7WUFBM0MscUlBQTJDO1lBSzdDLGVBQWdCO1lBQWhCLHFDQUFnQjtZQU1oQixjQUFlO1lBQWYsb0NBQWU7WUFHaEIsY0FBc0I7WUFJdEIsQUFGQSxBQURBLEFBREEsb0NBQXNCLHlFQUNzQyx3QkFDekMsbUJBRUQ7WUFLakIsZUFBd0I7WUFBeEIsNkNBQXdCO1lBbUIxQixjQUs0QztZQUw1QywwTEFLNEM7WUFpTjVDLGVBQWE7WUFBYixrQ0FBYTs7O0FEdk5kO0lBREMsZUFBZSxFQUFFOzhCQUNYLFVBQVU7d0RBQWlCO2lGQWpCdkIseUJBQXlCO2NBTnJDLFNBQVM7MkJBQ0Usd0JBQXdCLG1CQUdqQix1QkFBdUIsQ0FBQyxNQUFNO2dCQUd4QixJQUFJO2tCQUExQixTQUFTO21CQUFDLE1BQU07WUFPakIsT0FBTztrQkFETixLQUFLO1lBSU4sU0FBUztrQkFEUixLQUFLO1lBSU4sSUFBSTtrQkFESCxLQUFLO1lBSU4sS0FBSyxNQUdMLElBQUk7a0JBREgsS0FBSztZQUlOLE1BQU07a0JBREwsS0FBSztZQUlOLGlCQUFpQjtrQkFEaEIsS0FBSztZQUlOLFdBQVc7a0JBRFYsS0FBSztZQUlOLE9BQU87a0JBRE4sS0FBSztZQUlOLFVBQVU7a0JBRFQsTUFBTTtZQUlQLE1BQU07a0JBREwsTUFBTTtZQUlQLE1BQU07a0JBREwsTUFBTTs7a0ZBeENJLHlCQUF5QiIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7XG4gIENoYW5nZURldGVjdGlvblN0cmF0ZWd5LFxuICBDb21wb25lbnQsXG4gIEVsZW1lbnRSZWYsXG4gIEV2ZW50RW1pdHRlcixcbiAgSW5wdXQsXG4gIE9uSW5pdCxcbiAgT3V0cHV0LFxuICBUZW1wbGF0ZVJlZixcbiAgVmlld0NoaWxkLFxufSBmcm9tICdAYW5ndWxhci9jb3JlJztcbmltcG9ydCB7IGRpZmZlcmVuY2UgfSBmcm9tICdsb2Rhc2gtZXMnO1xuaW1wb3J0IHsgcGx1cmFsIH0gZnJvbSAncGx1cmFsaXplJztcbmltcG9ydCB7IE9ic2VydmFibGUsIFJlcGxheVN1YmplY3QsIGNvbWJpbmVMYXRlc3QsIG1hcCwgc3RhcnRXaXRoIH0gZnJvbSAncnhqcyc7XG5cbmltcG9ydCB7IE9ic2VydmFibGVJbnB1dCB9IGZyb20gJy4uLy4uLy4uLy4uL2NvcmUvcHVibGljLWFwaSc7XG5pbXBvcnQgeyBVc2FnZUNvbnRleHQgfSBmcm9tICcuLi8uLi9iYXNlLWxpc3QnO1xuaW1wb3J0IHtcbiAgQ29uZmlndXJhYmxlRmllbGQsXG4gIERhdGFJdGVtLFxuICBEYXRhSXRlbUJhc2UsXG4gIERhdGFUeXBlLFxuICBEaXNwbGF5TW9kZSxcbn0gZnJvbSAnLi4vLi4vdHlwZXMnO1xuXG5AQ29tcG9uZW50KHtcbiAgc2VsZWN0b3I6ICdhY2wtcmVzb3VyY2UtZGF0YS1ncmlkJyxcbiAgdGVtcGxhdGVVcmw6ICcuL3RlbXBsYXRlLmh0bWwnLFxuICBzdHlsZVVybHM6IFsnLi9zdHlsZS5zY3NzJ10sXG4gIGNoYW5nZURldGVjdGlvbjogQ2hhbmdlRGV0ZWN0aW9uU3RyYXRlZ3kuT25QdXNoLFxufSlcbmV4cG9ydCBjbGFzcyBSZXNvdXJjZURhdGFHcmlkQ29tcG9uZW50IGltcGxlbWVudHMgT25Jbml0IHtcbiAgQFZpZXdDaGlsZCgnZ3JpZCcpIHNldCBncmlkKGdyaWQ6IEVsZW1lbnRSZWY8SFRNTEVsZW1lbnQ+KSB7XG4gICAgaWYgKGdyaWQpIHtcbiAgICAgIHRoaXMuaW5pdFNjcm9sbChncmlkLm5hdGl2ZUVsZW1lbnQpO1xuICAgIH1cbiAgfVxuXG4gIEBJbnB1dCgpXG4gIGNvbnRleHQ6IFVzYWdlQ29udGV4dCA9ICdwYWdlJztcblxuICBASW5wdXQoKVxuICBwb3B1cExpdGUgPSBmYWxzZTtcblxuICBASW5wdXQoKVxuICBkYXRhOiBEYXRhSXRlbUJhc2VbXSA9IFtdO1xuXG4gIEBPYnNlcnZhYmxlSW5wdXQoKVxuICBkYXRhJDogT2JzZXJ2YWJsZTxEYXRhSXRlbUJhc2VbXT47XG5cbiAgQElucHV0KClcbiAgdHlwZTogRGF0YVR5cGUgPSAnbmFtZXNwYWNlJztcblxuICBASW5wdXQoKVxuICBmaWVsZHM6IENvbmZpZ3VyYWJsZUZpZWxkW10gPSBbQ29uZmlndXJhYmxlRmllbGQuVGltZV07XG5cbiAgQElucHV0KClcbiAgYWN0aW9uVGVtcGxhdGVSZWY6IFRlbXBsYXRlUmVmPGFueT47XG5cbiAgQElucHV0KClcbiAgc2VsZWN0ZWRVaWQ6IHN0cmluZztcblxuICBASW5wdXQoKVxuICBsb2FkaW5nID0gdHJ1ZTtcblxuICBAT3V0cHV0KClcbiAgc2VsZWN0SXRlbSA9IG5ldyBFdmVudEVtaXR0ZXI8RGF0YUl0ZW1CYXNlPigpO1xuXG4gIEBPdXRwdXQoKVxuICBmaWx0ZXIgPSBuZXcgRXZlbnRFbWl0dGVyPHN0cmluZz4oKTtcblxuICBAT3V0cHV0KClcbiAgcmVsb2FkID0gbmV3IEV2ZW50RW1pdHRlcjx2b2lkPigpO1xuXG4gIGtleXdvcmQgPSAnJztcblxuICBmaWVsZHNEZWYgPSBDb25maWd1cmFibGVGaWVsZDtcblxuICBkaXNwbGF5TW9kZTogRGlzcGxheU1vZGUgPSAncm93JztcblxuICBmaWx0ZXIkID0gbmV3IFJlcGxheVN1YmplY3Q8c3RyaW5nPigxKTtcblxuICBwcml2YXRlIHJlYWRvbmx5IGRpc3BsYXlNb2RlS2V5ID0gJ2FjbF9kaXNwbGF5X21vZGUnO1xuXG4gIGRpc3BsYXlEYXRhJDogT2JzZXJ2YWJsZTxEYXRhSXRlbUJhc2VbXT47XG5cbiAgcHJpdmF0ZSBzY3JvbGxJbml0aWFsaXplZCA9IGZhbHNlO1xuXG4gIHN0YXR1c0ljb246IFJlY29yZDxzdHJpbmcsIHN0cmluZz4gPSB7XG4gICAgbm9ybWFsOiAnY2hlY2tfY2lyY2xlX3MnLFxuICAgIGFibm9ybWFsOiAnZXhjbGFtYXRpb25fdHJpYW5nbGVfcycsXG4gICAgZW5hYmxlZDogJ2NoZWNrX2NpcmNsZV9zJyxcbiAgICBkaXNhYmxlZDogJ21pbnVzX2NpcmNsZV9zJyxcbiAgfTtcblxuICBuZ09uSW5pdCgpIHtcbiAgICBjb25zdCBkaXNwbGF5TW9kZSA9IHdpbmRvdy5sb2NhbFN0b3JhZ2UuZ2V0SXRlbSh0aGlzLmRpc3BsYXlNb2RlS2V5KTtcbiAgICB0aGlzLmRpc3BsYXlNb2RlID1cbiAgICAgIHRoaXMuY29udGV4dCA9PT0gJ3BvcHVwJ1xuICAgICAgICA/IHRoaXMucG9wdXBMaXRlXG4gICAgICAgICAgPyAncm93LWxpdGUnXG4gICAgICAgICAgOiAncm93J1xuICAgICAgICA6IFsncm93JywgJ2NhcmQnXS5pbmNsdWRlcyhkaXNwbGF5TW9kZSlcbiAgICAgICAgICA/IChkaXNwbGF5TW9kZSBhcyBEaXNwbGF5TW9kZSlcbiAgICAgICAgICA6ICdyb3cnO1xuICAgIHRoaXMuZGlzcGxheURhdGEkID0gY29tYmluZUxhdGVzdChbXG4gICAgICB0aGlzLmRhdGEkLFxuICAgICAgdGhpcy5maWx0ZXIkLnBpcGUoc3RhcnRXaXRoKCcnKSksXG4gICAgXSkucGlwZShcbiAgICAgIG1hcCgoW2RhdGEsIGtleXdvcmRdKSA9PlxuICAgICAgICBkYXRhLmZpbHRlcihpdGVtID0+IHtcbiAgICAgICAgICBjb25zdCBrID0ga2V5d29yZC50b0xvd2VyQ2FzZSgpO1xuICAgICAgICAgIHJldHVybiAoXG4gICAgICAgICAgICBpdGVtLm5hbWUudG9Mb3dlckNhc2UoKS5pbmNsdWRlcyhrKSB8fFxuICAgICAgICAgICAgaXRlbS5kaXNwbGF5TmFtZT8udG9Mb3dlckNhc2UoKT8uaW5jbHVkZXMoaylcbiAgICAgICAgICApO1xuICAgICAgICB9KSxcbiAgICAgICksXG4gICAgKTtcbiAgfVxuXG4gIHByaXZhdGUgaW5pdFNjcm9sbChzY3JvbGxFbDogSFRNTEVsZW1lbnQpIHtcbiAgICBpZiAoXG4gICAgICB0aGlzLmNvbnRleHQgPT09ICdwYWdlJyB8fFxuICAgICAgdGhpcy5zY3JvbGxJbml0aWFsaXplZCB8fFxuICAgICAgIXRoaXMuZGF0YT8ubGVuZ3RoXG4gICAgKSB7XG4gICAgICByZXR1cm47XG4gICAgfVxuICAgIGNvbnN0IGN1cnJlbnRJbmRleCA9IHRoaXMuZGF0YS5maW5kSW5kZXgoXG4gICAgICBpdGVtID0+IGl0ZW0uX19vcmlnaW4ubWV0YWRhdGEudWlkID09PSB0aGlzLnNlbGVjdGVkVWlkLFxuICAgICk7XG4gICAgY29uc3Qgcm93SGVpZ2h0ID0gc2Nyb2xsRWwuc2Nyb2xsSGVpZ2h0IC8gdGhpcy5kYXRhLmxlbmd0aDtcbiAgICBpZiAoXG4gICAgICBjdXJyZW50SW5kZXggPiAtMSAmJlxuICAgICAgcm93SGVpZ2h0ICogKGN1cnJlbnRJbmRleCArIDEpID4gc2Nyb2xsRWwub2Zmc2V0SGVpZ2h0XG4gICAgKSB7XG4gICAgICBzY3JvbGxFbC5zY3JvbGxUbyh7XG4gICAgICAgIHRvcDogcm93SGVpZ2h0ICogY3VycmVudEluZGV4LFxuICAgICAgfSk7XG4gICAgfVxuICAgIHRoaXMuc2Nyb2xsSW5pdGlhbGl6ZWQgPSB0cnVlO1xuICB9XG5cbiAgZ2V0SGlnaGxpZ2h0ZWROYW1lU3RycyA9IChpdGVtOiBEYXRhSXRlbUJhc2UpID0+IHtcbiAgICBpZiAoIXRoaXMua2V5d29yZCkge1xuICAgICAgcmV0dXJuIFtcbiAgICAgICAge1xuICAgICAgICAgIHRleHQ6IGl0ZW0ubmFtZSxcbiAgICAgICAgfSxcbiAgICAgIF07XG4gICAgfVxuICAgIGNvbnN0IG9yaWdpbmFsID0gaXRlbS5uYW1lO1xuICAgIGNvbnN0IHN0cnMgPSBpdGVtLm5hbWUudG9Mb3dlckNhc2UoKS5zcGxpdCh0aGlzLmtleXdvcmQudG9Mb3dlckNhc2UoKSk7XG4gICAgY29uc3QgcmV0OiBBcnJheTx7XG4gICAgICB0ZXh0OiBzdHJpbmc7XG4gICAgICBpc0hpZ2hsaWdodGVkPzogYm9vbGVhbjtcbiAgICB9PiA9IFtdO1xuICAgIGxldCBwb3MgPSAwO1xuICAgIGZvciAoY29uc3QgW2ksIHN0cl0gb2Ygc3Rycy5lbnRyaWVzKCkpIHtcbiAgICAgIGNvbnN0IGVuZCA9IHBvcyArIHN0ci5sZW5ndGg7XG4gICAgICByZXQucHVzaCh7XG4gICAgICAgIHRleHQ6IG9yaWdpbmFsLnNsaWNlKHBvcywgZW5kKSxcbiAgICAgIH0pO1xuICAgICAgaWYgKGkgIT09IHN0cnMubGVuZ3RoIC0gMSkge1xuICAgICAgICByZXQucHVzaCh7XG4gICAgICAgICAgdGV4dDogb3JpZ2luYWwuc2xpY2UoZW5kLCBlbmQgKyB0aGlzLmtleXdvcmQubGVuZ3RoKSxcbiAgICAgICAgICBpc0hpZ2hsaWdodGVkOiB0cnVlLFxuICAgICAgICB9KTtcbiAgICAgIH1cbiAgICAgIHBvcyA9IGVuZCArIHRoaXMua2V5d29yZC5sZW5ndGg7XG4gICAgfVxuICAgIHJldHVybiByZXQ7XG4gIH07XG5cbiAgb25TZWxlY3QoaXRlbTogRGF0YUl0ZW1CYXNlKSB7XG4gICAgaWYgKFxuICAgICAgaXRlbS5zdGF0ZT8uZGlzYWJsZWQgfHxcbiAgICAgIHRoaXMuc2VsZWN0ZWRVaWQgPT09IGl0ZW0uX19vcmlnaW4ubWV0YWRhdGEudWlkXG4gICAgKSB7XG4gICAgICByZXR1cm47XG4gICAgfVxuICAgIHRoaXMuc2VsZWN0ZWRVaWQgPSBpdGVtLm5hbWU7XG4gICAgdGhpcy5zZWxlY3RJdGVtLmVtaXQoaXRlbSk7XG4gIH1cblxuICBzZXREaXNwbGF5TW9kZShtb2RlOiBEaXNwbGF5TW9kZSkge1xuICAgIHRoaXMuZGlzcGxheU1vZGUgPSBtb2RlO1xuICAgIHdpbmRvdy5sb2NhbFN0b3JhZ2Uuc2V0SXRlbSh0aGlzLmRpc3BsYXlNb2RlS2V5LCBtb2RlKTtcbiAgfVxuXG4gIGtleXdvcmRDaGFuZ2Uoa2V5d29yZDogc3RyaW5nKSB7XG4gICAgdGhpcy5rZXl3b3JkID0ga2V5d29yZDtcbiAgICB0aGlzLmZpbHRlciQubmV4dChrZXl3b3JkKTtcbiAgfVxuXG4gIGZpbHRlckRpc2FibGVkRGF0YShkYXRhOiBEYXRhSXRlbUJhc2VbXSwgY29udGV4dDogVXNhZ2VDb250ZXh0KSB7XG4gICAgLy8gd29ya2Fyb3VuZCBmb3IgdHlwaW5ncyBpbiB0ZW1wbGF0ZVxuICAgIHJldHVybiAoXG4gICAgICBjb250ZXh0ID09PSAncGFnZScgPyBkYXRhIDogZGF0YS5maWx0ZXIoaXRlbSA9PiAhaXRlbS5zdGF0ZT8uZGlzYWJsZWQpXG4gICAgKSBhcyBEYXRhSXRlbVtdO1xuICB9XG5cbiAgc29ydFdpdGhvdXRJc3RpbyA9IChkYXRhOiBEYXRhSXRlbUJhc2VbXSkgPT4ge1xuICAgIGNvbnN0IHdpdGhvdXRJc3RpbyA9IGRhdGEuZmlsdGVyKGl0ZW0gPT4gIWl0ZW0/LnNlcnZpY2VNZXNoSXN0aW9WZXJzaW9uKTtcbiAgICByZXR1cm4gWy4uLmRpZmZlcmVuY2UoZGF0YSwgd2l0aG91dElzdGlvKSwgLi4ud2l0aG91dElzdGlvXTtcbiAgfTtcblxuICBwbHVyYWxGb3JtKHR5cGU6IERhdGFUeXBlKSB7XG4gICAgcmV0dXJuIHBsdXJhbCh0eXBlKTtcbiAgfVxufVxuIiwiPGRpdiBjbGFzcz1cImhlYWRlclwiPlxuICA8c3BhblxuICAgIGNsYXNzPVwiaGVhZGVyX190aXRsZVwiXG4gICAgW25nQ2xhc3NdPVwieyAnaGVhZGVyX190aXRsZS0tbGl0ZSc6IHBvcHVwTGl0ZSB9XCJcbiAgPlxuICAgIDxzcGFuPnt7IHR5cGUgfCBwdXJlOiBwbHVyYWxGb3JtIHwgdHJhbnNsYXRlIH19PC9zcGFuXG4gICAgPjxzcGFuIGNsYXNzPVwiaGVhZGVyX19kZXNjXCJcbiAgICAgID7vvIh7eyAoZGlzcGxheURhdGEkIHwgYXN5bmMpPy5sZW5ndGggfHwgMCB9fe+8iTwvc3BhblxuICAgID5cbiAgPC9zcGFuPlxuICA8ZGl2XG4gICAgY2xhc3M9XCJoZWFkZXJfX2N1c3RvbVwiXG4gICAgKm5nSWY9XCIhcG9wdXBMaXRlXCJcbiAgPlxuICAgIDxuZy1jb250ZW50IHNlbGVjdD1cIlthY2xSZXNvdXJjZUdyaWRIZWFkZXJdXCI+PC9uZy1jb250ZW50PlxuICA8L2Rpdj5cbiAgPGRpdlxuICAgIGNsYXNzPVwidHctZmxleC0xXCJcbiAgICAqbmdJZj1cInBvcHVwTGl0ZVwiXG4gID48L2Rpdj5cbiAgPGF1aS1zZWFyY2hcbiAgICBbc2VhcmNoQnV0dG9uXT1cImZhbHNlXCJcbiAgICBbcGxhY2Vob2xkZXJdPVwiJ2ZpbHRlcl9ieV9uYW1lX29yX2Rpc3BsYXlfbmFtZScgfCB0cmFuc2xhdGVcIlxuICAgIFtrZXl3b3JkXT1cImtleXdvcmRcIlxuICAgIChrZXl3b3JkQ2hhbmdlKT1cImtleXdvcmRDaGFuZ2UoJGV2ZW50KVwiXG4gICAgW2NsZWFyYWJsZV09XCJ0cnVlXCJcbiAgICBzaXplPVwic21hbGxcIlxuICA+PC9hdWktc2VhcmNoPlxuICA8c3BhblxuICAgIGNsYXNzPVwiaGVhZGVyX19kaXNwbGF5LW1vZGVcIlxuICAgICpuZ0lmPVwiY29udGV4dCA9PT0gJ3BhZ2UnXCJcbiAgPlxuICAgIDxzcGFuXG4gICAgICBjbGFzcz1cInN3aXRjaC1idG5cIlxuICAgICAgW25nQ2xhc3NdPVwieyAnc3dpdGNoLWJ0bi0tc2VsZWN0ZWQnOiBkaXNwbGF5TW9kZSAhPT0gJ2NhcmQnIH1cIlxuICAgICAgKGNsaWNrKT1cInNldERpc3BsYXlNb2RlKCdyb3cnKVwiXG4gICAgPlxuICAgICAgPGF1aS1pY29uIGljb249XCJsaXN0XCI+PC9hdWktaWNvbj5cbiAgICA8L3NwYW4+XG4gICAgPHNwYW5cbiAgICAgIGNsYXNzPVwic3dpdGNoLWJ0blwiXG4gICAgICBbbmdDbGFzc109XCJ7ICdzd2l0Y2gtYnRuLS1zZWxlY3RlZCc6IGRpc3BsYXlNb2RlID09PSAnY2FyZCcgfVwiXG4gICAgICAoY2xpY2spPVwic2V0RGlzcGxheU1vZGUoJ2NhcmQnKVwiXG4gICAgPlxuICAgICAgPGF1aS1pY29uIGljb249XCJncmlkXCI+PC9hdWktaWNvbj5cbiAgICA8L3NwYW4+XG4gIDwvc3Bhbj5cbjwvZGl2PlxuPG5nLWNvbnRhaW5lclxuICAqbmdJZj1cIlxuICAgICFsb2FkaW5nICYmXG4gICAgKGRpc3BsYXlEYXRhJFxuICAgICAgfCBhc3luY1xuICAgICAgfCBwdXJlOiBzb3J0V2l0aG91dElzdGlvXG4gICAgICB8IHB1cmU6IGZpbHRlckRpc2FibGVkRGF0YTpjb250ZXh0KSBhcyBkaXNwbGF5RGF0YVxuICBcIlxuPlxuICA8ZGl2XG4gICAgY2xhc3M9XCJncmlkXCJcbiAgICAqbmdJZj1cImRpc3BsYXlEYXRhLmxlbmd0aFwiXG4gICAgI2dyaWRcbiAgICBbbmdDbGFzc109XCJ7XG4gICAgICAnZ3JpZC0tY2FyZCc6IGRpc3BsYXlNb2RlID09PSAnY2FyZCcgJiYgY29udGV4dCAhPT0gJ3BvcHVwJyxcbiAgICAgICdncmlkLS1wb3B1cCc6IGNvbnRleHQgPT09ICdwb3B1cCcsXG4gICAgICAnZ3JpZC0tcG9wdXAtLWxpdGUnOiBjb250ZXh0ID09PSAncG9wdXAnICYmIHBvcHVwTGl0ZVxuICAgIH1cIlxuICA+XG4gICAgPGRpdlxuICAgICAgY2xhc3M9XCJncmlkX19pdGVtXCJcbiAgICAgICpuZ0Zvcj1cImxldCBpdGVtIG9mIGRpc3BsYXlEYXRhXCJcbiAgICAgIFtuZ0NsYXNzXT1cIntcbiAgICAgICAgJ2dyaWRfX2l0ZW0tLXNlbGVjdGVkJzpcbiAgICAgICAgICBjb250ZXh0ID09PSAncG9wdXAnICYmIHNlbGVjdGVkVWlkID09PSBpdGVtLl9fb3JpZ2luLm1ldGFkYXRhLnVpZCxcbiAgICAgICAgJ2dyaWRfX2l0ZW0tLWRpc2FibGVkJzogaXRlbS5zdGF0ZT8uZGlzYWJsZWRcbiAgICAgIH1cIlxuICAgICAgKGNsaWNrKT1cIm9uU2VsZWN0KGl0ZW0pXCJcbiAgICAgIFthdHRyLmRhdGEtdGVzdF09XCJpdGVtLm5hbWUgKyAnLycgKyBpdGVtLmNsdXN0ZXJcIlxuICAgICAgW2F1aVRvb2x0aXBdPVwiaXRlbS5zdGF0ZT8udG9vbHRpcFwiXG4gICAgICBbYXVpVG9vbHRpcERpc2FibGVkXT1cIiFpdGVtLnN0YXRlPy5kaXNhYmxlZCB8fCAhaXRlbS5zdGF0ZT8udG9vbHRpcFwiXG4gICAgPlxuICAgICAgPGF1aS1pY29uXG4gICAgICAgICpuZ0lmPVwic2VsZWN0ZWRVaWQgPT09IGl0ZW0uX19vcmlnaW4ubWV0YWRhdGEudWlkXCJcbiAgICAgICAgY2xhc3M9XCJjaGVjay10cmlhbmdsZS1iYWRnZVwiXG4gICAgICAgIGljb249XCJjaGVja1wiXG4gICAgICA+PC9hdWktaWNvbj5cbiAgICAgIDwhLS0gaWNvbiAtLT5cbiAgICAgIDxkaXYgY2xhc3M9XCJncmlkX19maWVsZCBncmlkX19maWVsZC1pY29uXCI+XG4gICAgICAgIDxhY2wtcmVzb3VyY2UtaWNvblxuICAgICAgICAgIFt0eXBlXT1cInR5cGVcIlxuICAgICAgICAgIFtjb2xvcl09XCJcbiAgICAgICAgICAgIGNvbnRleHQgPT09ICdwb3B1cCcgJiZcbiAgICAgICAgICAgICFwb3B1cExpdGUgJiZcbiAgICAgICAgICAgIHNlbGVjdGVkVWlkID09PSBpdGVtLl9fb3JpZ2luLm1ldGFkYXRhLnVpZFxuICAgICAgICAgICAgICA/ICd3aGl0ZSdcbiAgICAgICAgICAgICAgOiAnYmx1ZSdcbiAgICAgICAgICBcIlxuICAgICAgICAgIFtkaXNwbGF5TW9kZV09XCJkaXNwbGF5TW9kZVwiXG4gICAgICAgID48L2FjbC1yZXNvdXJjZS1pY29uPlxuICAgICAgPC9kaXY+XG4gICAgICA8IS0tIG5hbWUgLS0+XG4gICAgICA8ZGl2IGNsYXNzPVwiZ3JpZF9fZmllbGQgZ3JpZF9fZmllbGQtbmFtZVwiPlxuICAgICAgICA8ZGl2IGNsYXNzPVwibmFtZVwiPlxuICAgICAgICAgIDxuZy1jb250YWluZXIgKm5nRm9yPVwibGV0IHN0ciBvZiBnZXRIaWdobGlnaHRlZE5hbWVTdHJzKGl0ZW0pXCI+XG4gICAgICAgICAgICA8c3BhbiBbbmdDbGFzc109XCJ7IGhpZ2hsaWdodGVkOiBzdHIuaXNIaWdobGlnaHRlZCB9XCI+e3tcbiAgICAgICAgICAgICAgc3RyLnRleHRcbiAgICAgICAgICAgIH19PC9zcGFuPlxuICAgICAgICAgIDwvbmctY29udGFpbmVyPlxuICAgICAgICA8L2Rpdj5cbiAgICAgICAgPGRpdlxuICAgICAgICAgIGNsYXNzPVwiZGVzXCJcbiAgICAgICAgICAqbmdJZj1cIiFwb3B1cExpdGVcIlxuICAgICAgICA+XG4gICAgICAgICAgPG5nLWNvbnRhaW5lciAqbmdJZj1cIml0ZW0uZGlzcGxheU5hbWVcIj57e1xuICAgICAgICAgICAgaXRlbS5kaXNwbGF5TmFtZVxuICAgICAgICAgIH19PC9uZy1jb250YWluZXI+XG4gICAgICAgIDwvZGl2PlxuICAgICAgPC9kaXY+XG4gICAgICA8IS0tIG5zOiBjbHVzdGVyIC0tPlxuICAgICAgPGRpdlxuICAgICAgICBjbGFzcz1cImdyaWRfX2ZpZWxkIGZsZXggZ3JpZF9fZmllbGQtY2x1c3RlclwiXG4gICAgICAgICpuZ0lmPVwiZmllbGRzLmluY2x1ZGVzKGZpZWxkc0RlZi5DbHVzdGVyKVwiXG4gICAgICA+XG4gICAgICAgIDxzcGFuXG4gICAgICAgICAgY2xhc3M9XCJiZWxvbmdlZC1jbHVzdGVyIHR3LWZsZXhcIlxuICAgICAgICAgIGF1aVRvb2x0aXA9XCJ7e1xuICAgICAgICAgICAgKCdiZWxvbmdlZF9jbHVzdGVyJyB8IHRyYW5zbGF0ZSkgKyAnOiAnICsgaXRlbS5jbHVzdGVyXG4gICAgICAgICAgfX1cIlxuICAgICAgICA+XG4gICAgICAgICAgPHNwYW4gY2xhc3M9XCJ3aXRoLWNvbG9uXCI+e3sgJ2JlbG9uZ2VkX2NsdXN0ZXInIHwgdHJhbnNsYXRlIH19PC9zcGFuPlxuICAgICAgICAgIDxzcGFuIGNsYXNzPVwidHctdGV4dC1lbGxpcHNpcyB0dy1vdmVyZmxvdy1oaWRkZW5cIlxuICAgICAgICAgICAgPnt7IGl0ZW0uY2x1c3RlclxuICAgICAgICAgICAgfX08bmctY29udGFpbmVyICpuZ0lmPVwiaXRlbS5jbHVzdGVyRGlzcGxheU5hbWVcIlxuICAgICAgICAgICAgICA+KHt7IGl0ZW0uY2x1c3RlckRpc3BsYXlOYW1lIH19KTwvbmctY29udGFpbmVyXG4gICAgICAgICAgICA+XG4gICAgICAgICAgPC9zcGFuPlxuICAgICAgICAgIDxhdWktdGFnXG4gICAgICAgICAgICB0eXBlPVwicHJpbWFyeVwiXG4gICAgICAgICAgICBzaXplPVwibWluaVwiXG4gICAgICAgICAgICAqbmdJZj1cIml0ZW0uY2x1c3RlckFyY2hcIlxuICAgICAgICAgID5cbiAgICAgICAgICAgIHt7IGl0ZW0uY2x1c3RlckFyY2ggfX1cbiAgICAgICAgICA8L2F1aS10YWc+XG4gICAgICAgIDwvc3Bhbj5cbiAgICAgIDwvZGl2PlxuICAgICAgPCEtLSBwcm9qZWN0OiBzdGF0dXMgLS0+XG4gICAgICA8ZGl2XG4gICAgICAgIGNsYXNzPVwiZ3JpZF9fZmllbGQgZ3JpZF9fZmllbGQtc3RhdHVzIHt7XG4gICAgICAgICAgJ2dyaWRfX2ZpZWxkLXN0YXR1cy0tJyArIGl0ZW0uc3RhdHVzXG4gICAgICAgIH19XCJcbiAgICAgICAgKm5nSWY9XCJmaWVsZHMuaW5jbHVkZXMoZmllbGRzRGVmLlN0YXR1cylcIlxuICAgICAgPlxuICAgICAgICA8bGFiZWxcbiAgICAgICAgICAqbmdJZj1cInBvcHVwTGl0ZVwiXG4gICAgICAgICAgY2xhc3M9XCJ0dy10ZXh0LWhlbHAtdGV4dCB0dy1tci04XCJcbiAgICAgICAgICA+e3sgJ3N0YXR1cycgfCB0cmFuc2xhdGUgfX06PC9sYWJlbFxuICAgICAgICA+XG4gICAgICAgIDxzcGFuIGNsYXNzPVwid2l0aC1jb2xvblwiPnt7ICdzdGF0dXMnIHwgdHJhbnNsYXRlIH19PC9zcGFuPlxuICAgICAgICA8YXVpLWljb25cbiAgICAgICAgICBbaWNvbl09XCJzdGF0dXNJY29uW2l0ZW0uc3RhdHVzXVwiXG4gICAgICAgICAgW2JhY2tncm91bmRdPVwiXG4gICAgICAgICAgICBzdGF0dXNJY29uW2l0ZW0uc3RhdHVzXS5lbmRzV2l0aCgnX3RyaWFuZ2xlX3MnKVxuICAgICAgICAgICAgICA/ICd0cmlhbmdsZSdcbiAgICAgICAgICAgICAgOiAnY2lyY2xlJ1xuICAgICAgICAgIFwiXG4gICAgICAgICAgY2xhc3M9XCJ7eyAnaWNvbi0nICsgaXRlbS5zdGF0dXMgfX1cIlxuICAgICAgICA+PC9hdWktaWNvbj5cbiAgICAgICAge3sgaXRlbS5zdGF0dXMgfCB0cmFuc2xhdGUgfX1cbiAgICAgIDwvZGl2PlxuICAgICAgPCEtLSBhc206IHNlcnZpY2UgbWVzaCAtLT5cbiAgICAgIDxkaXZcbiAgICAgICAgY2xhc3M9XCJncmlkX19maWVsZCBncmlkX19maWVsZC1zZXJ2aWNlbWVzaFwiXG4gICAgICAgICpuZ0lmPVwiZmllbGRzLmluY2x1ZGVzKGZpZWxkc0RlZi5TZXJ2aWNlTWVzaClcIlxuICAgICAgPlxuICAgICAgICA8c3BhbiBjbGFzcz1cIndpdGgtY29sb25cIj57eyAnYmVsb25nZWRfc2VydmljZW1lc2gnIHwgdHJhbnNsYXRlIH19PC9zcGFuPlxuICAgICAgICA8c3Bhbj4ge3sgaXRlbS5zZXJ2aWNlTWVzaE5hbWUgfX0gPC9zcGFuPlxuICAgICAgICA8ZGl2IGNsYXNzPVwiZGVzXCI+XG4gICAgICAgICAgPG5nLWNvbnRhaW5lciAqbmdJZj1cIml0ZW0uc2VydmljZU1lc2hJc3Rpb1ZlcnNpb25cIlxuICAgICAgICAgICAgPihJc3RpbyB7eyBpdGVtLnNlcnZpY2VNZXNoSXN0aW9WZXJzaW9uIH19KTwvbmctY29udGFpbmVyXG4gICAgICAgICAgPlxuICAgICAgICA8L2Rpdj5cbiAgICAgIDwvZGl2PlxuXG4gICAgICA8ZGl2XG4gICAgICAgIGNsYXNzPVwiZ3JpZF9fZmllbGQgZ3JpZF9fZmllbGQtc2VydmljZW1lc2hcIlxuICAgICAgICAqbmdJZj1cImZpZWxkcy5pbmNsdWRlcyhmaWVsZHNEZWYuU2VydmljZU1lc2gpXCJcbiAgICAgID5cbiAgICAgICAgPHNwYW4gY2xhc3M9XCJ3aXRoLWNvbG9uXCI+e3sgJ2NsdXN0ZXInIHwgdHJhbnNsYXRlIH19PC9zcGFuPlxuICAgICAgICA8c3BhblxuICAgICAgICAgID57eyBpdGVtLmNsdXN0ZXJcbiAgICAgICAgICB9fTxuZy1jb250YWluZXIgKm5nSWY9XCJpdGVtLmNsdXN0ZXJEaXNwbGF5TmFtZVwiXG4gICAgICAgICAgICA+KHt7IGl0ZW0uY2x1c3RlckRpc3BsYXlOYW1lIH19KTwvbmctY29udGFpbmVyXG4gICAgICAgICAgPlxuICAgICAgICA8L3NwYW4+XG4gICAgICAgIDxhdWktdGFnXG4gICAgICAgICAgdHlwZT1cInByaW1hcnlcIlxuICAgICAgICAgIHNpemU9XCJtaW5pXCJcbiAgICAgICAgICAqbmdJZj1cIml0ZW0uY2x1c3RlckFyY2hcIlxuICAgICAgICA+XG4gICAgICAgICAge3sgaXRlbS5jbHVzdGVyQXJjaCB9fVxuICAgICAgICA8L2F1aS10YWc+XG4gICAgICA8L2Rpdj5cblxuICAgICAgPCEtLSBtZXNoIGdyb3VwIC0tPlxuXG4gICAgICA8ZGl2XG4gICAgICAgIGNsYXNzPVwiZ3JpZF9fZmllbGQgZ3JpZF9fZmllbGQtc2VydmljZW1lc2hcIlxuICAgICAgICAqbmdJZj1cImZpZWxkcy5pbmNsdWRlcyhmaWVsZHNEZWYuU2VydmljZU1lc2hHcm91cClcIlxuICAgICAgPlxuICAgICAgICA8c3BhbiBjbGFzcz1cIndpdGgtY29sb25cIj57eyAnY2x1c3RlcicgfCB0cmFuc2xhdGUgfX08L3NwYW4+XG4gICAgICAgIDxzcGFuPnt7IGl0ZW0uY2x1c3RlciB9fSA8L3NwYW4+XG4gICAgICA8L2Rpdj5cbiAgICAgIDwhLS0gYXNtOiBpc3RpbyAtLT5cbiAgICAgIDxkaXZcbiAgICAgICAgY2xhc3M9XCJncmlkX19maWVsZCBncmlkX19maWVsZC1zZXJ2aWNlbWVzaFwiXG4gICAgICAgICpuZ0lmPVwiZmllbGRzLmluY2x1ZGVzKGZpZWxkc0RlZi5TZXJ2aWNlTWVzaEdyb3VwKVwiXG4gICAgICA+XG4gICAgICAgIDxzcGFuIGNsYXNzPVwid2l0aC1jb2xvblwiPnt7ICdJc3RpbycgfX08L3NwYW4+XG4gICAgICAgIDxzcGFuXG4gICAgICAgICAgPnt7IGl0ZW0uc2VydmljZU1lc2hJc3Rpb1ZlcnNpb24gfHwgKCdub3RfZGVwbG95ZWQnIHwgdHJhbnNsYXRlKSB9fVxuICAgICAgICA8L3NwYW4+XG4gICAgICA8L2Rpdj5cblxuICAgICAgPCEtLSB0aW1lIC0tPlxuICAgICAgPGRpdlxuICAgICAgICBjbGFzcz1cImdyaWRfX2ZpZWxkIGdyaWRfX2ZpZWxkLXRpbWVcIlxuICAgICAgICAqbmdJZj1cImZpZWxkcy5pbmNsdWRlcyhmaWVsZHNEZWYuVGltZSkgJiYgIXBvcHVwTGl0ZVwiXG4gICAgICA+XG4gICAgICAgIDxzcGFuIGNsYXNzPVwid2l0aC1jb2xvblwiPnt7ICdjcmVhdGVkX2F0JyB8IHRyYW5zbGF0ZSB9fTwvc3Bhbj5cbiAgICAgICAgPHNwYW4+e3sgaXRlbS50aW1lc3RhbXAgfCBhY2xSZWxhdGl2ZVRpbWUgfX08L3NwYW4+XG4gICAgICA8L2Rpdj5cbiAgICAgIDwhLS0gYWN0aW9uIC0tPlxuICAgICAgPGRpdlxuICAgICAgICBjbGFzcz1cImdyaWRfX2ZpZWxkIGdyaWRfX2ZpZWxkLWFjdGlvblwiXG4gICAgICAgIChjbGljayk9XCIkZXZlbnQuc3RvcFByb3BhZ2F0aW9uKClcIlxuICAgICAgICAqbmdJZj1cIlxuICAgICAgICAgIGZpZWxkcy5pbmNsdWRlcyhmaWVsZHNEZWYuQWN0aW9uKSAmJlxuICAgICAgICAgIGFjdGlvblRlbXBsYXRlUmVmICYmXG4gICAgICAgICAgY29udGV4dCAhPT0gJ3BvcHVwJ1xuICAgICAgICBcIlxuICAgICAgPlxuICAgICAgICA8bmctY29udGFpbmVyXG4gICAgICAgICAgW25nVGVtcGxhdGVPdXRsZXRdPVwiYWN0aW9uVGVtcGxhdGVSZWZcIlxuICAgICAgICAgIFtuZ1RlbXBsYXRlT3V0bGV0Q29udGV4dF09XCJ7XG4gICAgICAgICAgICAkaW1wbGljaXQ6IGl0ZW0uX19vcmlnaW5cbiAgICAgICAgICB9XCJcbiAgICAgICAgPjwvbmctY29udGFpbmVyPlxuICAgICAgPC9kaXY+XG4gICAgPC9kaXY+XG4gIDwvZGl2PlxuICA8YWNsLXJlc291cmNlLW5vLWRhdGFcbiAgICAqbmdJZj1cIiFwb3B1cExpdGUgJiYgIShkaXNwbGF5RGF0YSQgfCBhc3luYyk/Lmxlbmd0aFwiXG4gICAgW2lzRmlsdGVyZWRdPVwiISFrZXl3b3JkXCJcbiAgICBbdHlwZV09XCJ0eXBlXCJcbiAgICAocmVmcmVzaCk9XCJyZWxvYWQuZW1pdCgpXCJcbiAgICAoY2xlYXIpPVwia2V5d29yZENoYW5nZSgnJylcIlxuICA+PC9hY2wtcmVzb3VyY2Utbm8tZGF0YT5cbiAgPGFjbC16ZXJvLXN0YXRlXG4gICAgKm5nSWY9XCJwb3B1cExpdGUgJiYgIShkaXNwbGF5RGF0YSQgfCBhc3luYyk/Lmxlbmd0aFwiXG4gICAgY29udGV4dD1cInRhYmxlXCJcbiAgPjwvYWNsLXplcm8tc3RhdGU+XG48L25nLWNvbnRhaW5lcj5cbjxkaXZcbiAgY2xhc3M9XCJsb2FkaW5nXCJcbiAgKm5nSWY9XCJsb2FkaW5nXCJcbj5cbiAgPGFjbC1sb2FkaW5nLW1hc2tcbiAgICBbbG9hZGluZ109XCJsb2FkaW5nXCJcbiAgICB0eXBlPVwiY29udGVudFwiXG4gID48L2FjbC1sb2FkaW5nLW1hc2s+XG48L2Rpdj5cbiJdfQ==
|
|
@@ -30,6 +30,7 @@ export class FeatureGateDirective {
|
|
|
30
30
|
this.crd = crd;
|
|
31
31
|
this.featureName = null;
|
|
32
32
|
this.cluster = null;
|
|
33
|
+
this.negate = false;
|
|
33
34
|
this.thenTemplateRef = null;
|
|
34
35
|
this.elseTemplateRef = null;
|
|
35
36
|
this.subscription = null;
|
|
@@ -40,8 +41,7 @@ export class FeatureGateDirective {
|
|
|
40
41
|
this.container.createEmbeddedView(this.thenTemplateRef);
|
|
41
42
|
return;
|
|
42
43
|
}
|
|
43
|
-
this.subscription = this.featureGate
|
|
44
|
-
.isEnabled(this.featureName, this.cluster)
|
|
44
|
+
this.subscription = this.featureGate[this.negate ? 'isNegateEnabled' : 'isEnabled'](this.featureName, this.cluster)
|
|
45
45
|
.pipe(distinctUntilChanged())
|
|
46
46
|
.subscribe(enabled => {
|
|
47
47
|
this.container.clear();
|
|
@@ -60,7 +60,7 @@ export class FeatureGateDirective {
|
|
|
60
60
|
}
|
|
61
61
|
}
|
|
62
62
|
static { this.ɵfac = function FeatureGateDirective_Factory(t) { return new (t || FeatureGateDirective)(i0.ɵɵdirectiveInject(i0.ViewContainerRef), i0.ɵɵdirectiveInject(i1.FeatureGateService), i0.ɵɵdirectiveInject(i0.ChangeDetectorRef), i0.ɵɵdirectiveInject(i0.TemplateRef)); }; }
|
|
63
|
-
static { this.ɵdir = /*@__PURE__*/ i0.ɵɵdefineDirective({ type: FeatureGateDirective, selectors: [["", "aclFeatureGate", ""]], inputs: { featureName: [0, "aclFeatureGate", "featureName"], cluster: [0, "aclFeatureGateCluster", "cluster"], then: [0, "aclFeatureGateThen", "then"], else: [0, "aclFeatureGateElse", "else"] }, standalone: true }); }
|
|
63
|
+
static { this.ɵdir = /*@__PURE__*/ i0.ɵɵdefineDirective({ type: FeatureGateDirective, selectors: [["", "aclFeatureGate", ""]], inputs: { featureName: [0, "aclFeatureGate", "featureName"], cluster: [0, "aclFeatureGateCluster", "cluster"], negate: [0, "aclFeatureGateNegate", "negate"], then: [0, "aclFeatureGateThen", "then"], else: [0, "aclFeatureGateElse", "else"] }, standalone: true }); }
|
|
64
64
|
}
|
|
65
65
|
(() => { (typeof ngDevMode === "undefined" || ngDevMode) && i0.ɵsetClassMetadata(FeatureGateDirective, [{
|
|
66
66
|
type: Directive,
|
|
@@ -71,6 +71,9 @@ export class FeatureGateDirective {
|
|
|
71
71
|
}], cluster: [{
|
|
72
72
|
type: Input,
|
|
73
73
|
args: ['aclFeatureGateCluster']
|
|
74
|
+
}], negate: [{
|
|
75
|
+
type: Input,
|
|
76
|
+
args: ['aclFeatureGateNegate']
|
|
74
77
|
}], then: [{
|
|
75
78
|
type: Input,
|
|
76
79
|
args: ['aclFeatureGateThen']
|
|
@@ -84,4 +87,4 @@ function assertTemplate(property, templateRef) {
|
|
|
84
87
|
throw new Error(`${property} must be a TemplateRef, but received '${stringify(templateRef)}'.`);
|
|
85
88
|
}
|
|
86
89
|
}
|
|
87
|
-
//# sourceMappingURL=data:application/json;base64,
|
|
90
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZmVhdHVyZS1nYXRlLmRpcmVjdGl2ZS5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uL2xpYnMvY29tbW9uL3NyYy9jb3JlL2RpcmVjdGl2ZXMvZmVhdHVyZS1nYXRlLmRpcmVjdGl2ZS50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQTs7O0dBR0c7QUFFSCxPQUFPLEVBQ0wsaUJBQWlCLEVBQ2pCLFNBQVMsRUFDVCxLQUFLLEVBR0wsV0FBVyxFQUNYLGdCQUFnQjtBQUNoQiw0QkFBNEI7QUFDNUIsVUFBVSxJQUFJLFNBQVMsR0FDeEIsTUFBTSxlQUFlLENBQUM7QUFDdkIsT0FBTyxFQUFnQixvQkFBb0IsRUFBRSxNQUFNLE1BQU0sQ0FBQztBQUUxRCxPQUFPLEVBQUUsa0JBQWtCLEVBQUUsTUFBTSxrQ0FBa0MsQ0FBQzs7O0FBRXRFOzs7OztHQUtHO0FBRUgsTUFBTSxPQUFPLG9CQUFvQjtJQVUvQixJQUNJLElBQUksQ0FBQyxXQUE4QjtRQUNyQyxjQUFjLENBQUMsb0JBQW9CLEVBQUUsV0FBVyxDQUFDLENBQUM7UUFDbEQsSUFBSSxDQUFDLGVBQWUsR0FBRyxXQUFXLENBQUM7SUFDckMsQ0FBQztJQUVELElBQ0ksSUFBSSxDQUFDLFdBQThCO1FBQ3JDLGNBQWMsQ0FBQyxvQkFBb0IsRUFBRSxXQUFXLENBQUMsQ0FBQztRQUNsRCxJQUFJLENBQUMsZUFBZSxHQUFHLFdBQVcsQ0FBQztJQUNyQyxDQUFDO0lBT0QsWUFDbUIsU0FBMkIsRUFDM0IsV0FBK0IsRUFDL0IsR0FBc0IsRUFDdkMsV0FBOEI7UUFIYixjQUFTLEdBQVQsU0FBUyxDQUFrQjtRQUMzQixnQkFBVyxHQUFYLFdBQVcsQ0FBb0I7UUFDL0IsUUFBRyxHQUFILEdBQUcsQ0FBbUI7UUE1QnpDLGdCQUFXLEdBQVcsSUFBSSxDQUFDO1FBRzNCLFlBQU8sR0FBVyxJQUFJLENBQUM7UUFHdkIsV0FBTSxHQUFZLEtBQUssQ0FBQztRQWNoQixvQkFBZSxHQUFzQixJQUFJLENBQUM7UUFDMUMsb0JBQWUsR0FBc0IsSUFBSSxDQUFDO1FBRTFDLGlCQUFZLEdBQWlCLElBQUksQ0FBQztRQVF4QyxJQUFJLENBQUMsZUFBZSxHQUFHLFdBQVcsQ0FBQztJQUNyQyxDQUFDO0lBRUQsUUFBUTtRQUNOLElBQUksQ0FBQyxJQUFJLENBQUMsV0FBVyxFQUFFLENBQUM7WUFDdEIsSUFBSSxDQUFDLFNBQVMsQ0FBQyxrQkFBa0IsQ0FBQyxJQUFJLENBQUMsZUFBZSxDQUFDLENBQUM7WUFDeEQsT0FBTztRQUNULENBQUM7UUFFRCxJQUFJLENBQUMsWUFBWSxHQUFHLElBQUksQ0FBQyxXQUFXLENBQ2xDLElBQUksQ0FBQyxNQUFNLENBQUMsQ0FBQyxDQUFDLGlCQUFpQixDQUFDLENBQUMsQ0FBQyxXQUFXLENBQzlDLENBQUMsSUFBSSxDQUFDLFdBQVcsRUFBRSxJQUFJLENBQUMsT0FBTyxDQUFDO2FBQzlCLElBQUksQ0FBQyxvQkFBb0IsRUFBRSxDQUFDO2FBQzVCLFNBQVMsQ0FBQyxPQUFPLENBQUMsRUFBRTtZQUNuQixJQUFJLENBQUMsU0FBUyxDQUFDLEtBQUssRUFBRSxDQUFDO1lBQ3ZCLElBQUksT0FBTyxFQUFFLENBQUM7Z0JBQ1osSUFBSSxDQUFDLFNBQVMsQ0FBQyxrQkFBa0IsQ0FBQyxJQUFJLENBQUMsZUFBZSxDQUFDLENBQUM7WUFDMUQsQ0FBQztpQkFBTSxJQUFJLElBQUksQ0FBQyxlQUFlLEVBQUUsQ0FBQztnQkFDaEMsSUFBSSxDQUFDLFNBQVMsQ0FBQyxrQkFBa0IsQ0FBQyxJQUFJLENBQUMsZUFBZSxDQUFDLENBQUM7WUFDMUQsQ0FBQztZQUNELElBQUksQ0FBQyxHQUFHLENBQUMsWUFBWSxFQUFFLENBQUM7UUFDMUIsQ0FBQyxDQUFDLENBQUM7SUFDUCxDQUFDO0lBRUQsV0FBVztRQUNULElBQUksSUFBSSxDQUFDLFlBQVksRUFBRSxDQUFDO1lBQ3RCLElBQUksQ0FBQyxZQUFZLENBQUMsV0FBVyxFQUFFLENBQUM7UUFDbEMsQ0FBQztJQUNILENBQUM7cUZBN0RVLG9CQUFvQjtvRUFBcEIsb0JBQW9COztpRkFBcEIsb0JBQW9CO2NBRGhDLFNBQVM7ZUFBQyxFQUFFLFFBQVEsRUFBRSxrQkFBa0IsRUFBRSxVQUFVLEVBQUUsSUFBSSxFQUFFOzRJQUczRCxXQUFXO2tCQURWLEtBQUs7bUJBQUMsZ0JBQWdCO1lBSXZCLE9BQU87a0JBRE4sS0FBSzttQkFBQyx1QkFBdUI7WUFJOUIsTUFBTTtrQkFETCxLQUFLO21CQUFDLHNCQUFzQjtZQUl6QixJQUFJO2tCQURQLEtBQUs7bUJBQUMsb0JBQW9CO1lBT3ZCLElBQUk7a0JBRFAsS0FBSzttQkFBQyxvQkFBb0I7O0FBZ0Q3QixTQUFTLGNBQWMsQ0FDckIsUUFBZ0IsRUFDaEIsV0FBb0M7SUFFcEMsTUFBTSxtQkFBbUIsR0FBRyxDQUFDLENBQUMsQ0FDNUIsQ0FBQyxXQUFXLElBQUksV0FBVyxDQUFDLGtCQUFrQixDQUMvQyxDQUFDO0lBQ0YsSUFBSSxDQUFDLG1CQUFtQixFQUFFLENBQUM7UUFDekIsTUFBTSxJQUFJLEtBQUssQ0FDYixHQUFHLFFBQVEseUNBQXlDLFNBQVMsQ0FDM0QsV0FBVyxDQUNaLElBQUksQ0FDTixDQUFDO0lBQ0osQ0FBQztBQUNILENBQUMiLCJzb3VyY2VzQ29udGVudCI6WyIvKipcbiAqIEBwYWNrYWdlRG9jdW1lbnRhdGlvblxuICogQG1vZHVsZSB1dGlsc1xuICovXG5cbmltcG9ydCB7XG4gIENoYW5nZURldGVjdG9yUmVmLFxuICBEaXJlY3RpdmUsXG4gIElucHV0LFxuICBPbkRlc3Ryb3ksXG4gIE9uSW5pdCxcbiAgVGVtcGxhdGVSZWYsXG4gIFZpZXdDb250YWluZXJSZWYsXG4gIC8vIGNzcGVsbDogZGlzYWJsZS1uZXh0LWxpbmVcbiAgybVzdHJpbmdpZnkgYXMgc3RyaW5naWZ5LFxufSBmcm9tICdAYW5ndWxhci9jb3JlJztcbmltcG9ydCB7IFN1YnNjcmlwdGlvbiwgZGlzdGluY3RVbnRpbENoYW5nZWQgfSBmcm9tICdyeGpzJztcblxuaW1wb3J0IHsgRmVhdHVyZUdhdGVTZXJ2aWNlIH0gZnJvbSAnLi4vc2VydmljZXMvZmVhdHVyZS1nYXRlLnNlcnZpY2UnO1xuXG4vKipcbiAqIEBleGFtcGxlXG4gKiBgYGBcbiAqIDxuZy1jb250YWluZXIgKmFjbEZlYXR1cmVHYXRlPVwiZ2F0ZS1uYW1lXCI+PC9uZy1jb250YWluZXI+XG4gKiBgYGBcbiAqL1xuQERpcmVjdGl2ZSh7IHNlbGVjdG9yOiAnW2FjbEZlYXR1cmVHYXRlXScsIHN0YW5kYWxvbmU6IHRydWUgfSlcbmV4cG9ydCBjbGFzcyBGZWF0dXJlR2F0ZURpcmVjdGl2ZSBpbXBsZW1lbnRzIE9uSW5pdCwgT25EZXN0cm95IHtcbiAgQElucHV0KCdhY2xGZWF0dXJlR2F0ZScpXG4gIGZlYXR1cmVOYW1lOiBzdHJpbmcgPSBudWxsO1xuXG4gIEBJbnB1dCgnYWNsRmVhdHVyZUdhdGVDbHVzdGVyJylcbiAgY2x1c3Rlcjogc3RyaW5nID0gbnVsbDtcblxuICBASW5wdXQoJ2FjbEZlYXR1cmVHYXRlTmVnYXRlJylcbiAgbmVnYXRlOiBib29sZWFuID0gZmFsc2U7XG5cbiAgQElucHV0KCdhY2xGZWF0dXJlR2F0ZVRoZW4nKVxuICBzZXQgdGhlbih0ZW1wbGF0ZVJlZjogVGVtcGxhdGVSZWY8dm9pZD4pIHtcbiAgICBhc3NlcnRUZW1wbGF0ZSgnYWNsRmVhdHVyZUdhdGVUaGVuJywgdGVtcGxhdGVSZWYpO1xuICAgIHRoaXMudGhlblRlbXBsYXRlUmVmID0gdGVtcGxhdGVSZWY7XG4gIH1cblxuICBASW5wdXQoJ2FjbEZlYXR1cmVHYXRlRWxzZScpXG4gIHNldCBlbHNlKHRlbXBsYXRlUmVmOiBUZW1wbGF0ZVJlZjx2b2lkPikge1xuICAgIGFzc2VydFRlbXBsYXRlKCdhY2xWZXJzaW9uR2F0ZUVsc2UnLCB0ZW1wbGF0ZVJlZik7XG4gICAgdGhpcy5lbHNlVGVtcGxhdGVSZWYgPSB0ZW1wbGF0ZVJlZjtcbiAgfVxuXG4gIHByaXZhdGUgdGhlblRlbXBsYXRlUmVmOiBUZW1wbGF0ZVJlZjx2b2lkPiA9IG51bGw7XG4gIHByaXZhdGUgZWxzZVRlbXBsYXRlUmVmOiBUZW1wbGF0ZVJlZjx2b2lkPiA9IG51bGw7XG5cbiAgcHJpdmF0ZSBzdWJzY3JpcHRpb246IFN1YnNjcmlwdGlvbiA9IG51bGw7XG5cbiAgY29uc3RydWN0b3IoXG4gICAgcHJpdmF0ZSByZWFkb25seSBjb250YWluZXI6IFZpZXdDb250YWluZXJSZWYsXG4gICAgcHJpdmF0ZSByZWFkb25seSBmZWF0dXJlR2F0ZTogRmVhdHVyZUdhdGVTZXJ2aWNlLFxuICAgIHByaXZhdGUgcmVhZG9ubHkgY3JkOiBDaGFuZ2VEZXRlY3RvclJlZixcbiAgICB0ZW1wbGF0ZVJlZjogVGVtcGxhdGVSZWY8dm9pZD4sXG4gICkge1xuICAgIHRoaXMudGhlblRlbXBsYXRlUmVmID0gdGVtcGxhdGVSZWY7XG4gIH1cblxuICBuZ09uSW5pdCgpIHtcbiAgICBpZiAoIXRoaXMuZmVhdHVyZU5hbWUpIHtcbiAgICAgIHRoaXMuY29udGFpbmVyLmNyZWF0ZUVtYmVkZGVkVmlldyh0aGlzLnRoZW5UZW1wbGF0ZVJlZik7XG4gICAgICByZXR1cm47XG4gICAgfVxuXG4gICAgdGhpcy5zdWJzY3JpcHRpb24gPSB0aGlzLmZlYXR1cmVHYXRlW1xuICAgICAgdGhpcy5uZWdhdGUgPyAnaXNOZWdhdGVFbmFibGVkJyA6ICdpc0VuYWJsZWQnXG4gICAgXSh0aGlzLmZlYXR1cmVOYW1lLCB0aGlzLmNsdXN0ZXIpXG4gICAgICAucGlwZShkaXN0aW5jdFVudGlsQ2hhbmdlZCgpKVxuICAgICAgLnN1YnNjcmliZShlbmFibGVkID0+IHtcbiAgICAgICAgdGhpcy5jb250YWluZXIuY2xlYXIoKTtcbiAgICAgICAgaWYgKGVuYWJsZWQpIHtcbiAgICAgICAgICB0aGlzLmNvbnRhaW5lci5jcmVhdGVFbWJlZGRlZFZpZXcodGhpcy50aGVuVGVtcGxhdGVSZWYpO1xuICAgICAgICB9IGVsc2UgaWYgKHRoaXMuZWxzZVRlbXBsYXRlUmVmKSB7XG4gICAgICAgICAgdGhpcy5jb250YWluZXIuY3JlYXRlRW1iZWRkZWRWaWV3KHRoaXMuZWxzZVRlbXBsYXRlUmVmKTtcbiAgICAgICAgfVxuICAgICAgICB0aGlzLmNyZC5tYXJrRm9yQ2hlY2soKTtcbiAgICAgIH0pO1xuICB9XG5cbiAgbmdPbkRlc3Ryb3koKSB7XG4gICAgaWYgKHRoaXMuc3Vic2NyaXB0aW9uKSB7XG4gICAgICB0aGlzLnN1YnNjcmlwdGlvbi51bnN1YnNjcmliZSgpO1xuICAgIH1cbiAgfVxufVxuXG5mdW5jdGlvbiBhc3NlcnRUZW1wbGF0ZShcbiAgcHJvcGVydHk6IHN0cmluZyxcbiAgdGVtcGxhdGVSZWY6IFRlbXBsYXRlUmVmPGFueT4gfCBudWxsLFxuKTogdm9pZCB7XG4gIGNvbnN0IGlzVGVtcGxhdGVSZWZPck51bGwgPSAhIShcbiAgICAhdGVtcGxhdGVSZWYgfHwgdGVtcGxhdGVSZWYuY3JlYXRlRW1iZWRkZWRWaWV3XG4gICk7XG4gIGlmICghaXNUZW1wbGF0ZVJlZk9yTnVsbCkge1xuICAgIHRocm93IG5ldyBFcnJvcihcbiAgICAgIGAke3Byb3BlcnR5fSBtdXN0IGJlIGEgVGVtcGxhdGVSZWYsIGJ1dCByZWNlaXZlZCAnJHtzdHJpbmdpZnkoXG4gICAgICAgIHRlbXBsYXRlUmVmLFxuICAgICAgKX0nLmAsXG4gICAgKTtcbiAgfVxufVxuIl19
|
|
@@ -29,13 +29,14 @@ export class FeatureGuard {
|
|
|
29
29
|
const data = {
|
|
30
30
|
featureName: '',
|
|
31
31
|
guard_url: DEFAULT_FEATURE_FORBIDDEN_URL,
|
|
32
|
+
negate: false,
|
|
32
33
|
...route.data,
|
|
33
34
|
};
|
|
34
35
|
let currentCluster;
|
|
35
36
|
if (this.getCluster) {
|
|
36
37
|
currentCluster = this.getCluster(route);
|
|
37
38
|
}
|
|
38
|
-
return this.featureGate.isEnabled(data.featureName, currentCluster).pipe(map(enabled => {
|
|
39
|
+
return this.featureGate[data.negate ? 'isNegateEnabled' : 'isEnabled'](data.featureName, currentCluster).pipe(map(enabled => {
|
|
39
40
|
if (enabled)
|
|
40
41
|
return true;
|
|
41
42
|
const errorUrl = `${data.guard_url}/${data.featureName}`;
|
|
@@ -55,4 +56,4 @@ export class FeatureGuard {
|
|
|
55
56
|
}, {
|
|
56
57
|
type: Optional
|
|
57
58
|
}] }], null); })();
|
|
58
|
-
//# sourceMappingURL=data:application/json;base64,
|
|
59
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZmVhdHVyZS5ndWFyZC5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uL2xpYnMvY29tbW9uL3NyYy9jb3JlL2d1YXJkcy9mZWF0dXJlLmd1YXJkLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBRSxNQUFNLEVBQUUsVUFBVSxFQUFFLGNBQWMsRUFBRSxRQUFRLEVBQUUsTUFBTSxlQUFlLENBQUM7QUFPN0UsT0FBTyxFQUFjLEdBQUcsRUFBRSxNQUFNLE1BQU0sQ0FBQztBQUV2QyxPQUFPLEVBQUUsa0JBQWtCLEVBQUUsTUFBTSxrQ0FBa0MsQ0FBQztBQUN0RSxPQUFPLEVBQUUsdUJBQXVCLEVBQUUsTUFBTSx1Q0FBdUMsQ0FBQzs7OztBQUloRixNQUFNLENBQUMsTUFBTSw2QkFBNkIsR0FBRyxtQkFBbUIsQ0FBQztBQUVqRSxNQUFNLENBQUMsTUFBTSxtQkFBbUIsR0FBRyxJQUFJLGNBQWMsQ0FDbkQsOEJBQThCLENBQy9CLENBQUM7QUFFRjs7Ozs7Ozs7R0FRRztBQUVILE1BQU0sT0FBTyxZQUFZO0lBQ3ZCLFlBQ21CLFdBQStCLEVBQy9CLGdCQUF5QyxFQUd6QyxVQUE2QjtRQUo3QixnQkFBVyxHQUFYLFdBQVcsQ0FBb0I7UUFDL0IscUJBQWdCLEdBQWhCLGdCQUFnQixDQUF5QjtRQUd6QyxlQUFVLEdBQVYsVUFBVSxDQUFtQjtJQUM3QyxDQUFDO0lBRUosZ0JBQWdCLENBQ2QsVUFBa0MsRUFDbEMsS0FBMEI7UUFFMUIsT0FBTyxJQUFJLENBQUMsV0FBVyxDQUFDLFVBQVUsRUFBRSxLQUFLLENBQUMsQ0FBQztJQUM3QyxDQUFDO0lBRUQsV0FBVyxDQUNULEtBQTZCLEVBQzdCLEtBQTBCO1FBRTFCLE1BQU0sSUFBSSxHQUFHO1lBQ1gsV0FBVyxFQUFFLEVBQUU7WUFDZixTQUFTLEVBQUUsNkJBQTZCO1lBQ3hDLE1BQU0sRUFBRSxLQUFLO1lBQ2IsR0FBRyxLQUFLLENBQUMsSUFBSTtTQUNkLENBQUM7UUFFRixJQUFJLGNBQXNCLENBQUM7UUFFM0IsSUFBSSxJQUFJLENBQUMsVUFBVSxFQUFFLENBQUM7WUFDcEIsY0FBYyxHQUFHLElBQUksQ0FBQyxVQUFVLENBQUMsS0FBSyxDQUFDLENBQUM7UUFDMUMsQ0FBQztRQUVELE9BQU8sSUFBSSxDQUFDLFdBQVcsQ0FBQyxJQUFJLENBQUMsTUFBTSxDQUFDLENBQUMsQ0FBQyxpQkFBaUIsQ0FBQyxDQUFDLENBQUMsV0FBVyxDQUFDLENBQ3BFLElBQUksQ0FBQyxXQUFXLEVBQ2hCLGNBQWMsQ0FDZixDQUFDLElBQUksQ0FDSixHQUFHLENBQUMsT0FBTyxDQUFDLEVBQUU7WUFDWixJQUFJLE9BQU87Z0JBQUUsT0FBTyxJQUFJLENBQUM7WUFDekIsTUFBTSxRQUFRLEdBQUcsR0FBRyxJQUFJLENBQUMsU0FBUyxJQUFJLElBQUksQ0FBQyxXQUFXLEVBQUUsQ0FBQztZQUV6RCxJQUFJLENBQUMsZ0JBQWdCLENBQUMsUUFBUSxDQUFDLEtBQUssQ0FBQyxHQUFHLEVBQUUsUUFBUSxDQUFDLENBQUM7WUFDcEQsT0FBTyxLQUFLLENBQUM7UUFDZixDQUFDLENBQUMsQ0FDSCxDQUFDO0lBQ0osQ0FBQzs2RUE3Q1UsWUFBWSwyRkFJYixtQkFBbUI7dUVBSmxCLFlBQVksV0FBWixZQUFZLG1CQURDLE1BQU07O2lGQUNuQixZQUFZO2NBRHhCLFVBQVU7ZUFBQyxFQUFFLFVBQVUsRUFBRSxNQUFNLEVBQUU7O3NCQUs3QixNQUFNO3VCQUFDLG1CQUFtQjs7c0JBQzFCLFFBQVEiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBJbmplY3QsIEluamVjdGFibGUsIEluamVjdGlvblRva2VuLCBPcHRpb25hbCB9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xuaW1wb3J0IHtcbiAgQWN0aXZhdGVkUm91dGVTbmFwc2hvdCxcbiAgQ2FuQWN0aXZhdGUsXG4gIENhbkFjdGl2YXRlQ2hpbGQsXG4gIFJvdXRlclN0YXRlU25hcHNob3QsXG59IGZyb20gJ0Bhbmd1bGFyL3JvdXRlcic7XG5pbXBvcnQgeyBPYnNlcnZhYmxlLCBtYXAgfSBmcm9tICdyeGpzJztcblxuaW1wb3J0IHsgRmVhdHVyZUdhdGVTZXJ2aWNlIH0gZnJvbSAnLi4vc2VydmljZXMvZmVhdHVyZS1nYXRlLnNlcnZpY2UnO1xuaW1wb3J0IHsgU2lsZW50bHlOYXZpZ2F0ZVNlcnZpY2UgfSBmcm9tICcuLi9zZXJ2aWNlcy9zaWxlbnRseS1uYXZpZ2F0ZS5zZXJ2aWNlJztcblxuZXhwb3J0IHR5cGUgR2V0Q3VycmVudENsdXN0ZXIgPSAocm91dGU6IEFjdGl2YXRlZFJvdXRlU25hcHNob3QpID0+IHN0cmluZztcblxuZXhwb3J0IGNvbnN0IERFRkFVTFRfRkVBVFVSRV9GT1JCSURERU5fVVJMID0gJ2ZlYXR1cmUtZm9yYmlkZGVuJztcblxuZXhwb3J0IGNvbnN0IEdFVF9DVVJSRU5UX0NMVVNURVIgPSBuZXcgSW5qZWN0aW9uVG9rZW48R2V0Q3VycmVudENsdXN0ZXI+KFxuICAnR2V0IGN1cnJlbnQgY2x1c3RlciBmdW5jdGlvbicsXG4pO1xuXG4vKipcbiAqIGBgYHRzXG4gKiBkYXRhOiB7XG4gKiAgcGF0aDogJ2hvbWUnLFxuICogIGNhbkFjdGl2YXRlOiBbIEZlYXR1cmVHdWFyZCBdLFxuICogIGRhdGE6IHsgZmVhdHVyZU5hbWU6ICdhY2UzJywgZ3VhcmRfdXJsOiAneHh4JyAgfVxuICogfVxuICogYGBgXG4gKi9cbkBJbmplY3RhYmxlKHsgcHJvdmlkZWRJbjogJ3Jvb3QnIH0pXG5leHBvcnQgY2xhc3MgRmVhdHVyZUd1YXJkIGltcGxlbWVudHMgQ2FuQWN0aXZhdGUsIENhbkFjdGl2YXRlQ2hpbGQge1xuICBjb25zdHJ1Y3RvcihcbiAgICBwcml2YXRlIHJlYWRvbmx5IGZlYXR1cmVHYXRlOiBGZWF0dXJlR2F0ZVNlcnZpY2UsXG4gICAgcHJpdmF0ZSByZWFkb25seSBzaWxlbnRseU5hdmlnYXRlOiBTaWxlbnRseU5hdmlnYXRlU2VydmljZSxcbiAgICBASW5qZWN0KEdFVF9DVVJSRU5UX0NMVVNURVIpXG4gICAgQE9wdGlvbmFsKClcbiAgICBwcml2YXRlIHJlYWRvbmx5IGdldENsdXN0ZXI6IEdldEN1cnJlbnRDbHVzdGVyLFxuICApIHt9XG5cbiAgY2FuQWN0aXZhdGVDaGlsZChcbiAgICBjaGlsZFJvdXRlOiBBY3RpdmF0ZWRSb3V0ZVNuYXBzaG90LFxuICAgIHN0YXRlOiBSb3V0ZXJTdGF0ZVNuYXBzaG90LFxuICApOiBPYnNlcnZhYmxlPGJvb2xlYW4+IHtcbiAgICByZXR1cm4gdGhpcy5jYW5BY3RpdmF0ZShjaGlsZFJvdXRlLCBzdGF0ZSk7XG4gIH1cblxuICBjYW5BY3RpdmF0ZShcbiAgICByb3V0ZTogQWN0aXZhdGVkUm91dGVTbmFwc2hvdCxcbiAgICBzdGF0ZTogUm91dGVyU3RhdGVTbmFwc2hvdCxcbiAgKTogT2JzZXJ2YWJsZTxib29sZWFuPiB7XG4gICAgY29uc3QgZGF0YSA9IHtcbiAgICAgIGZlYXR1cmVOYW1lOiAnJyxcbiAgICAgIGd1YXJkX3VybDogREVGQVVMVF9GRUFUVVJFX0ZPUkJJRERFTl9VUkwsXG4gICAgICBuZWdhdGU6IGZhbHNlLFxuICAgICAgLi4ucm91dGUuZGF0YSxcbiAgICB9O1xuXG4gICAgbGV0IGN1cnJlbnRDbHVzdGVyOiBzdHJpbmc7XG5cbiAgICBpZiAodGhpcy5nZXRDbHVzdGVyKSB7XG4gICAgICBjdXJyZW50Q2x1c3RlciA9IHRoaXMuZ2V0Q2x1c3Rlcihyb3V0ZSk7XG4gICAgfVxuXG4gICAgcmV0dXJuIHRoaXMuZmVhdHVyZUdhdGVbZGF0YS5uZWdhdGUgPyAnaXNOZWdhdGVFbmFibGVkJyA6ICdpc0VuYWJsZWQnXShcbiAgICAgIGRhdGEuZmVhdHVyZU5hbWUsXG4gICAgICBjdXJyZW50Q2x1c3RlcixcbiAgICApLnBpcGUoXG4gICAgICBtYXAoZW5hYmxlZCA9PiB7XG4gICAgICAgIGlmIChlbmFibGVkKSByZXR1cm4gdHJ1ZTtcbiAgICAgICAgY29uc3QgZXJyb3JVcmwgPSBgJHtkYXRhLmd1YXJkX3VybH0vJHtkYXRhLmZlYXR1cmVOYW1lfWA7XG5cbiAgICAgICAgdGhpcy5zaWxlbnRseU5hdmlnYXRlLm5hdmlnYXRlKHN0YXRlLnVybCwgZXJyb3JVcmwpO1xuICAgICAgICByZXR1cm4gZmFsc2U7XG4gICAgICB9KSxcbiAgICApO1xuICB9XG59XG4iXX0=
|
|
@@ -6,10 +6,11 @@ export class MinimumFormatPipe {
|
|
|
6
6
|
constructor(decimal) {
|
|
7
7
|
this.decimal = decimal;
|
|
8
8
|
}
|
|
9
|
-
transform(value) {
|
|
9
|
+
transform(value, decimalPlaces = 0) {
|
|
10
|
+
const decimalFormat = `1.${decimalPlaces}-${decimalPlaces || 2}`;
|
|
10
11
|
return +value > 0 && +value < 0.01
|
|
11
12
|
? '<0.01'
|
|
12
|
-
: this.decimal.transform(value,
|
|
13
|
+
: this.decimal.transform(value, decimalFormat)?.replace(/,/g, '');
|
|
13
14
|
}
|
|
14
15
|
static { this.ɵfac = function MinimumFormatPipe_Factory(t) { return new (t || MinimumFormatPipe)(i0.ɵɵdirectiveInject(i1.DecimalPipe, 16)); }; }
|
|
15
16
|
static { this.ɵpipe = /*@__PURE__*/ i0.ɵɵdefinePipe({ name: "aclMinimumFormat", type: MinimumFormatPipe, pure: true, standalone: true }); }
|
|
@@ -21,4 +22,4 @@ export class MinimumFormatPipe {
|
|
|
21
22
|
standalone: true,
|
|
22
23
|
}]
|
|
23
24
|
}], () => [{ type: i1.DecimalPipe }], null); })();
|
|
24
|
-
//# sourceMappingURL=data:application/json;base64,
|
|
25
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoibWluaW11bS1mb3JtYXQucGlwZS5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uL2xpYnMvY29tbW9uL3NyYy9jb3JlL3BpcGVzL21pbmltdW0tZm9ybWF0LnBpcGUudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFFLFdBQVcsRUFBRSxNQUFNLGlCQUFpQixDQUFDO0FBQzlDLE9BQU8sRUFBRSxJQUFJLEVBQWlCLE1BQU0sZUFBZSxDQUFDOzs7QUFNcEQsTUFBTSxPQUFPLGlCQUFpQjtJQUM1QixZQUE2QixPQUFvQjtRQUFwQixZQUFPLEdBQVAsT0FBTyxDQUFhO0lBQUcsQ0FBQztJQUVyRCxTQUFTLENBQUMsS0FBc0IsRUFBRSxhQUFhLEdBQUcsQ0FBQztRQUNqRCxNQUFNLGFBQWEsR0FBRyxLQUFLLGFBQWEsSUFBSSxhQUFhLElBQUksQ0FBQyxFQUFFLENBQUM7UUFDakUsT0FBTyxDQUFDLEtBQUssR0FBRyxDQUFDLElBQUksQ0FBQyxLQUFLLEdBQUcsSUFBSTtZQUNoQyxDQUFDLENBQUMsT0FBTztZQUNULENBQUMsQ0FBQyxJQUFJLENBQUMsT0FBTyxDQUFDLFNBQVMsQ0FBQyxLQUFLLEVBQUUsYUFBYSxDQUFDLEVBQUUsT0FBTyxDQUFDLElBQUksRUFBRSxFQUFFLENBQUMsQ0FBQztJQUN0RSxDQUFDO2tGQVJVLGlCQUFpQjswRkFBakIsaUJBQWlCOztpRkFBakIsaUJBQWlCO2NBSjdCLElBQUk7ZUFBQztnQkFDSixJQUFJLEVBQUUsa0JBQWtCO2dCQUN4QixVQUFVLEVBQUUsSUFBSTthQUNqQiIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IERlY2ltYWxQaXBlIH0gZnJvbSAnQGFuZ3VsYXIvY29tbW9uJztcbmltcG9ydCB7IFBpcGUsIFBpcGVUcmFuc2Zvcm0gfSBmcm9tICdAYW5ndWxhci9jb3JlJztcblxuQFBpcGUoe1xuICBuYW1lOiAnYWNsTWluaW11bUZvcm1hdCcsXG4gIHN0YW5kYWxvbmU6IHRydWUsXG59KVxuZXhwb3J0IGNsYXNzIE1pbmltdW1Gb3JtYXRQaXBlIGltcGxlbWVudHMgUGlwZVRyYW5zZm9ybSB7XG4gIGNvbnN0cnVjdG9yKHByaXZhdGUgcmVhZG9ubHkgZGVjaW1hbDogRGVjaW1hbFBpcGUpIHt9XG5cbiAgdHJhbnNmb3JtKHZhbHVlOiBudW1iZXIgfCBzdHJpbmcsIGRlY2ltYWxQbGFjZXMgPSAwKSB7XG4gICAgY29uc3QgZGVjaW1hbEZvcm1hdCA9IGAxLiR7ZGVjaW1hbFBsYWNlc30tJHtkZWNpbWFsUGxhY2VzIHx8IDJ9YDtcbiAgICByZXR1cm4gK3ZhbHVlID4gMCAmJiArdmFsdWUgPCAwLjAxXG4gICAgICA/ICc8MC4wMSdcbiAgICAgIDogdGhpcy5kZWNpbWFsLnRyYW5zZm9ybSh2YWx1ZSwgZGVjaW1hbEZvcm1hdCk/LnJlcGxhY2UoLywvZywgJycpO1xuICB9XG59XG4iXX0=
|
|
@@ -10,13 +10,11 @@ import { API_GATEWAY } from '../constants/public-api';
|
|
|
10
10
|
import { CacheStore } from '../utils/public-api';
|
|
11
11
|
import * as i0 from "@angular/core";
|
|
12
12
|
import * as i1 from "@angular/common/http";
|
|
13
|
-
const GlobalCluster = Symbol('Global Cluster');
|
|
14
13
|
export class FeatureGateService {
|
|
15
14
|
constructor(http) {
|
|
16
15
|
this.http = http;
|
|
17
16
|
this.cacheStore = new CacheStore({
|
|
18
17
|
share: () => shareReplay(1),
|
|
19
|
-
idGenerator: (cluster) => cluster || GlobalCluster,
|
|
20
18
|
fetcher: (cluster) => {
|
|
21
19
|
const url = cluster
|
|
22
20
|
? `${API_GATEWAY}/fg/v1/${cluster}/featuregates`
|
|
@@ -39,6 +37,9 @@ export class FeatureGateService {
|
|
|
39
37
|
isEnabled(gateName, cluster) {
|
|
40
38
|
return this.cacheStore.fetch(cluster).pipe(map(v => !!v[gateName]), take(1));
|
|
41
39
|
}
|
|
40
|
+
isNegateEnabled(gateName, cluster) {
|
|
41
|
+
return this.cacheStore.fetch(cluster).pipe(map(v => !v[gateName]), take(1));
|
|
42
|
+
}
|
|
42
43
|
/**
|
|
43
44
|
* filter list with gate, send items without feature gate as begin push (can skip by passing `skipNoFeatureGatePush` argument with true)
|
|
44
45
|
* @param items - list need filter
|
|
@@ -70,4 +71,4 @@ export class FeatureGateService {
|
|
|
70
71
|
type: Injectable,
|
|
71
72
|
args: [{ providedIn: 'root' }]
|
|
72
73
|
}], () => [{ type: i1.HttpClient }], null); })();
|
|
73
|
-
//# sourceMappingURL=data:application/json;base64,
|
|
74
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZmVhdHVyZS1nYXRlLnNlcnZpY2UuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi9saWJzL2NvbW1vbi9zcmMvY29yZS9zZXJ2aWNlcy9mZWF0dXJlLWdhdGUuc2VydmljZS50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQTs7O0dBR0c7QUFFSCxPQUFPLEVBQUUsVUFBVSxFQUFFLE1BQU0sc0JBQXNCLENBQUM7QUFDbEQsT0FBTyxFQUFFLFVBQVUsRUFBRSxNQUFNLGVBQWUsQ0FBQztBQUMzQyxPQUFPLEVBQUUsTUFBTSxJQUFJLE9BQU8sRUFBRSxHQUFHLEVBQUUsTUFBTSxXQUFXLENBQUM7QUFDbkQsT0FBTyxFQUVMLEVBQUUsRUFDRixVQUFVLEVBQ1YsR0FBRyxFQUNILFNBQVMsRUFDVCxXQUFXLEVBQ1gsSUFBSSxHQUNMLE1BQU0sTUFBTSxDQUFDO0FBRWQsT0FBTyxFQUFFLFdBQVcsRUFBRSxNQUFNLHlCQUF5QixDQUFDO0FBRXRELE9BQU8sRUFBRSxVQUFVLEVBQUUsTUFBTSxxQkFBcUIsQ0FBQzs7O0FBR2pELE1BQU0sT0FBTyxrQkFBa0I7SUF1QjdCLFlBQTZCLElBQWdCO1FBQWhCLFNBQUksR0FBSixJQUFJLENBQVk7UUF0QjVCLGVBQVUsR0FBRyxJQUFJLFVBQVUsQ0FBQztZQUMzQyxLQUFLLEVBQUUsR0FBRyxFQUFFLENBQUMsV0FBVyxDQUFDLENBQUMsQ0FBQztZQUMzQixPQUFPLEVBQUUsQ0FBQyxPQUFnQixFQUFFLEVBQUU7Z0JBQzVCLE1BQU0sR0FBRyxHQUFHLE9BQU87b0JBQ2pCLENBQUMsQ0FBQyxHQUFHLFdBQVcsVUFBVSxPQUFPLGVBQWU7b0JBQ2hELENBQUMsQ0FBQyxHQUFHLFdBQVcscUJBQXFCLENBQUM7Z0JBRXhDLE9BQU8sSUFBSSxDQUFDLElBQUksQ0FBQyxHQUFHLENBQXNDLEdBQUcsQ0FBQyxDQUFDLElBQUksQ0FDakUsR0FBRyxDQUFDLENBQUMsRUFBRSxLQUFLLEVBQUUs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QHBhY2thZ2VEb2N1bWVudGF0aW9uXG4gKiBAbW9kdWxlIHV0aWxzXG4gKi9cblxuaW1wb3J0IHsgSHR0cENsaWVudCB9IGZyb20gJ0Bhbmd1bGFyL2NvbW1vbi9odHRwJztcbmltcG9ydCB7IEluamVjdGFibGUgfSBmcm9tICdAYW5ndWxhci9jb3JlJztcbmltcG9ydCB7IGZpbHRlciBhcyBfZmlsdGVyLCBnZXQgfSBmcm9tICdsb2Rhc2gtZXMnO1xuaW1wb3J0IHtcbiAgT2JzZXJ2YWJsZSxcbiAgb2YsXG4gIGNhdGNoRXJyb3IsXG4gIG1hcCxcbiAgc3RhcnRXaXRoLFxuICBzaGFyZVJlcGxheSxcbiAgdGFrZSxcbn0gZnJvbSAncnhqcyc7XG5cbmltcG9ydCB7IEFQSV9HQVRFV0FZIH0gZnJvbSAnLi4vY29uc3RhbnRzL3B1YmxpYy1hcGknO1xuaW1wb3J0IHsgRmVhdHVyZUdhdGUsIEt1YmVybmV0ZXNSZXNvdXJjZUxpc3QgfSBmcm9tICcuLi90eXBlcy9wdWJsaWMtYXBpJztcbmltcG9ydCB7IENhY2hlU3RvcmUgfSBmcm9tICcuLi91dGlscy9wdWJsaWMtYXBpJztcblxuQEluamVjdGFibGUoeyBwcm92aWRlZEluOiAncm9vdCcgfSlcbmV4cG9ydCBjbGFzcyBGZWF0dXJlR2F0ZVNlcnZpY2Uge1xuICBwcml2YXRlIHJlYWRvbmx5IGNhY2hlU3RvcmUgPSBuZXcgQ2FjaGVTdG9yZSh7XG4gICAgc2hhcmU6ICgpID0+IHNoYXJlUmVwbGF5KDEpLFxuICAgIGZldGNoZXI6IChjbHVzdGVyPzogc3RyaW5nKSA9PiB7XG4gICAgICBjb25zdCB1cmwgPSBjbHVzdGVyXG4gICAgICAgID8gYCR7QVBJX0dBVEVXQVl9L2ZnL3YxLyR7Y2x1c3Rlcn0vZmVhdHVyZWdhdGVzYFxuICAgICAgICA6IGAke0FQSV9HQVRFV0FZfS9mZy92MS9mZWF0dXJlZ2F0ZXNgO1xuXG4gICAgICByZXR1cm4gdGhpcy5odHRwLmdldDxLdWJlcm5ldGVzUmVzb3VyY2VMaXN0PEZlYXR1cmVHYXRlPj4odXJsKS5waXBlKFxuICAgICAgICBtYXAoKHsgaXRlbXMgfSkgPT5cbiAgICAgICAgICBpdGVtcy5yZWR1Y2UoXG4gICAgICAgICAgICAoYWNjLCBjdXJyKSA9PiB7XG4gICAgICAgICAgICAgIGFjY1tjdXJyLm1ldGFkYXRhLm5hbWVdID0gY3Vyci5zdGF0dXMuZW5hYmxlZDtcbiAgICAgICAgICAgICAgcmV0dXJuIGFjYztcbiAgICAgICAgICAgIH0sXG4gICAgICAgICAgICB7fSBhcyBSZWNvcmQ8c3RyaW5nLCBib29sZWFuPixcbiAgICAgICAgICApLFxuICAgICAgICApLFxuICAgICAgICBjYXRjaEVycm9yKCgpID0+IG9mKHt9IGFzIFJlY29yZDxzdHJpbmcsIGJvb2xlYW4+KSksXG4gICAgICApO1xuICAgIH0sXG4gIH0pO1xuXG4gIGNvbnN0cnVjdG9yKHByaXZhdGUgcmVhZG9ubHkgaHR0cDogSHR0cENsaWVudCkge31cblxuICBsb2FkU3RhdGUoY2x1c3Rlcj86IHN0cmluZykge1xuICAgIHJldHVybiB0aGlzLmNhY2hlU3RvcmUuZmV0Y2hTdGF0ZShjbHVzdGVyKS5waXBlKG1hcChsb2FkID0+IGxvYWQuc3RhdGUpKTtcbiAgfVxuXG4gIC8qKlxuICAgKiBjaGVjayBnYXRlIHN0YXR1c1xuICAgKiBAcGFyYW0gZ2F0ZSAtIHNwZWNpZmllZCBmZWF0dXJlIGdhdGVcbiAgICogQHBhcmFtIGNsdXN0ZXIgLSBjaGVjayBnYXRlIGZvciBzcGVjaWZpZWQgY2x1c3RlclxuICAgKi9cbiAgaXNFbmFibGVkKGdhdGVOYW1lOiBzdHJpbmcsIGNsdXN0ZXI/OiBzdHJpbmcpOiBPYnNlcnZhYmxlPGJvb2xlYW4+IHtcbiAgICByZXR1cm4gdGhpcy5jYWNoZVN0b3JlLmZldGNoKGNsdXN0ZXIpLnBpcGUoXG4gICAgICBtYXAodiA9PiAhIXZbZ2F0ZU5hbWVdKSxcbiAgICAgIHRha2UoMSksXG4gICAgKTtcbiAgfVxuXG4gIGlzTmVnYXRlRW5hYmxlZChnYXRlTmFtZTogc3RyaW5nLCBjbHVzdGVyPzogc3RyaW5nKTogT2JzZXJ2YWJsZTxib29sZWFuPiB7XG4gICAgcmV0dXJuIHRoaXMuY2FjaGVTdG9yZS5mZXRjaChjbHVzdGVyKS5waXBlKFxuICAgICAgbWFwKHYgPT4gIXZbZ2F0ZU5hbWVdKSxcbiAgICAgIHRha2UoMSksXG4gICAgKTtcbiAgfVxuXG4gIC8qKlxuICAgKiBmaWx0ZXIgbGlzdCB3aXRoIGdhdGUsIHNlbmQgaXRlbXMgd2l0aG91dCBmZWF0dXJlIGdhdGUgYXMgYmVnaW4gcHVzaCAoY2FuIHNraXAgYnkgcGFzc2luZyBgc2tpcE5vRmVhdHVyZUdhdGVQdXNoYCBhcmd1bWVudCB3aXRoIHRydWUpXG4gICAqIEBwYXJhbSBpdGVtcyAtIGxpc3QgbmVlZCBmaWx0ZXJcbiAgICogQHBhcmFtIGdhdGVBY2Nlc3NvciAtIGhvdyB0byBnZXQgZ2F0ZSBmcm9tIGl0ZW1cbiAgICogQHBhcmFtIGNsdXN0ZXIgLSBjaGVjayBnYXRlIGZvciBzcGVjaWZpZWQgY2x1c3RlclxuICAgKiBAcGFyYW0gZmlsdGVyTWV0aG9kIC0gZmlsdGVyIG1ldGhvZCwgZGVmYXVsdCB0byBsaXN0IGZpbHRlciwgY2FuIGZpbHRlciBkZWVwIHdpdGggY3JlYXRlUmVjdXJzaXZlRmlsdGVyIG9yIHRvdGFsbHkgY3VzdG9tIG1ldGhvZC5cbiAgICogQHBhcmFtIHNraXBOb0ZlYXR1cmVHYXRlUHVzaCAtIHNraXAgYmVnaW4gcHVzaCAsIGRlZmF1bHQgZmFsc2UuXG4gICAqL1xuICBmaWx0ZXJFbmFibGVkPFQ+KFxuICAgIGl0ZW1zOiBUW10sXG4gICAgZ2F0ZUFjY2Vzc29yOiAoaXRlbTogVCkgPT4gc3RyaW5nLFxuICAgIGNsdXN0ZXI/OiBzdHJpbmcsXG4gICAgZmlsdGVyTWV0aG9kOiAoXG4gICAgICBpdGVtczogVFtdLFxuICAgICAgY29uZGl0aW9uOiAoaXRlbTogVCkgPT4gYm9vbGVhbixcbiAgICApID0+IFRbXSA9IF9maWx0ZXIsXG4gICAgc2tpcE5vRmVhdHVyZUdhdGVQdXNoID0gZmFsc2UsXG4gICk6IE9ic2VydmFibGU8VFtdPiB7XG4gICAgY29uc3QgZmlsdGVyZWQgPSB0aGlzLmNhY2hlU3RvcmUuZmV0Y2goY2x1c3RlcikucGlwZShcbiAgICAgIG1hcCh2ID0+XG4gICAgICAgIGZpbHRlck1ldGhvZChpdGVtcywgaXRlbSA9PiB7XG4gICAgICAgICAgY29uc3QgZ2F0ZSA9IGdhdGVBY2Nlc3NvcihpdGVtKTtcbiAgICAgICAgICByZXR1cm4gZ2F0ZSA/IChnZXQoaXRlbSwgJ25lZ2F0ZScpID8gIXZbZ2F0ZV0gOiAhIXZbZ2F0ZV0pIDogdHJ1ZTtcbiAgICAgICAgfSksXG4gICAgICApLFxuICAgICk7XG5cbiAgICByZXR1cm4gc2tpcE5vRmVhdHVyZUdhdGVQdXNoXG4gICAgICA/IGZpbHRlcmVkXG4gICAgICA6IGZpbHRlcmVkLnBpcGUoXG4gICAgICAgICAgc3RhcnRXaXRoKGZpbHRlck1ldGhvZChpdGVtcywgaXRlbSA9PiAhZ2F0ZUFjY2Vzc29yKGl0ZW0pKSksXG4gICAgICAgICk7XG4gIH1cblxuICAvKipcbiAgICogcmVmZXRjaCBjYWNoZWQgZmVhdHVyZSBnYXRlIHNldHRpbmdzXG4gICAqIEBwYXJhbSBjbHVzdGVyIC0gc3BlY2lmaWVkIGNsdXN0ZXIsIHJlZmV0Y2ggYWxsIGFscmVhZHkgY2FjaGVkIHNldHRpbmdzIHdoZW4gY2x1c3RlciBpcyBlbXB0eVxuICAgKi9cbiAgcmVmZXRjaENhY2hlKGNsdXN0ZXI/OiBzdHJpbmcpIHtcbiAgICB0aGlzLmNhY2hlU3RvcmUucmVmZXRjaChjbHVzdGVyKTtcbiAgfVxufVxuIl19
|
|
@@ -3,4 +3,4 @@
|
|
|
3
3
|
* @module types
|
|
4
4
|
*/
|
|
5
5
|
export {};
|
|
6
|
-
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiY29tbW9ucy5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uL2xpYnMvY29tbW9uL3NyYy9jb3JlL3R5cGVzL2NvbW1vbnMudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUE7OztHQUdHIiwic291cmNlc0NvbnRlbnQiOlsiLyoqXG4gKiBAcGFja2FnZURvY3VtZW50YXRpb25cbiAqIEBtb2R1bGUgdHlwZXNcbiAqL1xuXG5leHBvcnQgdHlwZSBTdHJpbmdNYXAgPSBSZWNvcmQ8c3RyaW5nLCBzdHJpbmc+O1xuXG5leHBvcnQgaW50ZXJmYWNlIEVudmlyb25tZW50cyB7XG4gIEdMT0JBTF9OQU1FU1BBQ0U/OiBzdHJpbmc7XG4gIExBQkVMX0JBU0VfRE9NQUlOPzogc3RyaW5nO1xuICBMT0dPX1VSTD86IHN0cmluZztcbiAgSU5ORVJfUFJPSkVDVF9OU19QUkVGSVg/
|
|
6
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiY29tbW9ucy5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uL2xpYnMvY29tbW9uL3NyYy9jb3JlL3R5cGVzL2NvbW1vbnMudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUE7OztHQUdHIiwic291cmNlc0NvbnRlbnQiOlsiLyoqXG4gKiBAcGFja2FnZURvY3VtZW50YXRpb25cbiAqIEBtb2R1bGUgdHlwZXNcbiAqL1xuXG5leHBvcnQgdHlwZSBTdHJpbmdNYXAgPSBSZWNvcmQ8c3RyaW5nLCBzdHJpbmc+O1xuXG5leHBvcnQgaW50ZXJmYWNlIEVudmlyb25tZW50cyB7XG4gIEdMT0JBTF9OQU1FU1BBQ0U/OiBzdHJpbmc7XG4gIExBQkVMX0JBU0VfRE9NQUlOPzogc3RyaW5nO1xuICBMT0dPX1VSTD86IHN0cmluZztcbiAgSU5ORVJfUFJPSkVDVF9OU19QUkVGSVg/OiBzdHJpbmc7XG4gIENQQUFTX1NFU1NJT05fU1dJVENIPzogJ29uJyB8ICdvZmYnO1xuICBDTE9TRV9CUk9XU0VSX0VORF9TRVNTSU9OPzogc3RyaW5nO1xufVxuXG5leHBvcnQgaW50ZXJmYWNlIFJlc291cmNlTGlzdFBhcmFtcyBleHRlbmRzIFN0cmluZ01hcCB7XG4gIGxpbWl0Pzogc3RyaW5nO1xuICBjb250aW51ZT86IHN0cmluZztcbiAgbGFiZWxTZWxlY3Rvcj86IHN0cmluZztcbiAgZmllbGRTZWxlY3Rvcj86IHN0cmluZztcbiAgZmllbGQ/OiBzdHJpbmc7XG4gIGtleXdvcmQ/OiBzdHJpbmc7XG59XG5cbmV4cG9ydCBpbnRlcmZhY2UgV29ya3NwYWNlUGFyYW1zIHtcbiAgcHJvamVjdD86IHN0cmluZztcbiAgY2x1c3Rlcj86IHN0cmluZztcbiAgbmFtZXNwYWNlPzogc3RyaW5nO1xuICBzZXJ2aWNlbWVzaD86IHN0cmluZztcbn1cblxuZXhwb3J0IGludGVyZmFjZSBXb3Jrc3BhY2VMaXN0UGFyYW1zXG4gIGV4dGVuZHMgV29ya3NwYWNlUGFyYW1zLFxuICAgIFJlc291cmNlTGlzdFBhcmFtcyB7fVxuXG5leHBvcnQgaW50ZXJmYWNlIFdvcmtzcGFjZURldGFpbFBhcmFtcyBleHRlbmRzIFdvcmtzcGFjZUxpc3RQYXJhbXMge1xuICBuYW1lPzogc3RyaW5nO1xufVxuXG5leHBvcnQgdHlwZSBLZXlWYWx1ZTxWID0gc3RyaW5nLCBUIGV4dGVuZHMgb2JqZWN0ID0gb2JqZWN0PiA9IFQgJiB7XG4gIGtleTogc3RyaW5nO1xuICB2YWx1ZTogVjtcbn07XG5cbmV4cG9ydCB0eXBlIFBhZ2luYXRpb248VCwgTyA9IHsgW2tleTogc3RyaW5nXTogdW5rbm93biB9PiA9IHtcbiAgdG90YWw6IG51bWJlcjtcbiAgaXRlbXM6IFRbXTtcbn0gJiBPO1xuIl19
|