@senior-agronegocio/angular-components 0.0.89 → 0.0.90
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/bundles/senior-agronegocio-angular-components.umd.js +345 -342
- package/bundles/senior-agronegocio-angular-components.umd.js.map +1 -1
- package/bundles/senior-agronegocio-angular-components.umd.min.js +2 -2
- package/bundles/senior-agronegocio-angular-components.umd.min.js.map +1 -1
- package/common/agro-platform-utils.class.d.ts +9 -0
- package/common/agro-string-utils.class.d.ts +46 -146
- package/common/colors.class.d.ts +2 -0
- package/components/cancel-event-dialog/cancel-event-dialog.component.d.ts +2 -2
- package/enums/agro-numbers.enum.d.ts +3 -2
- package/esm2015/common/agro-cookie-utils.class.js +7 -3
- package/esm2015/common/agro-date-utils.class.js +7 -3
- package/esm2015/common/agro-logics.class.js +22 -20
- package/esm2015/common/agro-name-utils.class.js +5 -4
- package/esm2015/common/agro-number-utils.class.js +20 -10
- package/esm2015/common/agro-object-utils.class.js +9 -7
- package/esm2015/common/agro-platform-utils.class.js +46 -50
- package/esm2015/common/agro-string-utils.class.js +217 -215
- package/esm2015/common/colors.class.js +3 -1
- package/esm2015/components/cancel-event-dialog/cancel-event-dialog.component.js +8 -8
- package/esm2015/components/event-control-board/event-control-board.component.js +2 -2
- package/esm2015/components/event-steps/index.js +1 -1
- package/esm2015/enums/agro-numbers.enum.js +3 -2
- package/esm2015/services/websocket/websocket.service.js +2 -2
- package/esm5/common/agro-cookie-utils.class.js +7 -3
- package/esm5/common/agro-date-utils.class.js +7 -3
- package/esm5/common/agro-logics.class.js +34 -42
- package/esm5/common/agro-name-utils.class.js +5 -4
- package/esm5/common/agro-number-utils.class.js +20 -10
- package/esm5/common/agro-object-utils.class.js +9 -7
- package/esm5/common/agro-platform-utils.class.js +46 -50
- package/esm5/common/agro-string-utils.class.js +217 -215
- package/esm5/common/colors.class.js +3 -1
- package/esm5/components/cancel-event-dialog/cancel-event-dialog.component.js +8 -8
- package/esm5/components/event-control-board/event-control-board.component.js +2 -2
- package/esm5/components/event-steps/index.js +1 -1
- package/esm5/enums/agro-numbers.enum.js +3 -2
- package/esm5/services/websocket/websocket.service.js +2 -2
- package/fesm2015/senior-agronegocio-angular-components.js +334 -321
- package/fesm2015/senior-agronegocio-angular-components.js.map +1 -1
- package/fesm5/senior-agronegocio-angular-components.js +345 -342
- package/fesm5/senior-agronegocio-angular-components.js.map +1 -1
- package/package.json +1 -1
- package/common/numbers.d.ts +0 -6
- package/esm2015/common/numbers.js +0 -8
- package/esm5/common/numbers.js +0 -8
|
@@ -1,6 +1,9 @@
|
|
|
1
1
|
import { AgroCookieUtils } from "./agro-cookie-utils.class";
|
|
2
|
-
import { AgroObjectUtils } from "./agro-object-utils.class";
|
|
3
2
|
import { StringUtils } from "./agro-string-utils.class";
|
|
3
|
+
// Cookie name constants
|
|
4
|
+
var COOKIE_TOKEN = 'com.senior.token';
|
|
5
|
+
var COOKIE_BASE_URL = 'com.senior.base.url';
|
|
6
|
+
var COOKIE_SERVICES_URL = 'com.senior.services.url';
|
|
4
7
|
export { AgroPlatformUtils as APU, AgroPlatformUtils as PlatformUtils };
|
|
5
8
|
var AgroPlatformUtils = /** @class */ (function () {
|
|
6
9
|
function AgroPlatformUtils() {
|
|
@@ -11,31 +14,30 @@ var AgroPlatformUtils = /** @class */ (function () {
|
|
|
11
14
|
* @returns
|
|
12
15
|
*/
|
|
13
16
|
AgroPlatformUtils.getCurrentTenant = function () {
|
|
14
|
-
var
|
|
15
|
-
|
|
16
|
-
|
|
17
|
-
var str = (_a = AgroObjectUtils.fromString(cookie)) === null || _a === void 0 ? void 0 : _a.tenantName;
|
|
18
|
-
if (str) {
|
|
19
|
-
return str;
|
|
20
|
-
}
|
|
17
|
+
var tenant = AgroPlatformUtils.getTokenField('tenantName');
|
|
18
|
+
if (tenant) {
|
|
19
|
+
return tenant;
|
|
21
20
|
}
|
|
22
|
-
throw new Error(
|
|
21
|
+
throw new Error("Cookie: \"" + COOKIE_TOKEN + "\" n\u00E3o encontrado.");
|
|
23
22
|
};
|
|
24
23
|
/**
|
|
25
24
|
* Retorna o locale do tenant atual
|
|
26
25
|
*
|
|
27
26
|
* @returns
|
|
28
27
|
*/
|
|
29
|
-
AgroPlatformUtils.
|
|
30
|
-
var
|
|
31
|
-
|
|
32
|
-
|
|
33
|
-
var str = (_a = AgroObjectUtils.fromString(cookie)) === null || _a === void 0 ? void 0 : _a.locale;
|
|
34
|
-
if (str) {
|
|
35
|
-
return str;
|
|
36
|
-
}
|
|
28
|
+
AgroPlatformUtils.getCurrentTenantLocale = function () {
|
|
29
|
+
var locale = AgroPlatformUtils.getTokenField('locale');
|
|
30
|
+
if (locale) {
|
|
31
|
+
return locale;
|
|
37
32
|
}
|
|
38
|
-
throw new Error(
|
|
33
|
+
throw new Error("Cookie: \"" + COOKIE_TOKEN + "\" n\u00E3o encontrado.");
|
|
34
|
+
};
|
|
35
|
+
/**
|
|
36
|
+
* @deprecated Use getCurrentTenantLocale()
|
|
37
|
+
* Mantido por compatibilidade retroativa.
|
|
38
|
+
*/
|
|
39
|
+
AgroPlatformUtils.getCurrenTenantLocale = function () {
|
|
40
|
+
return AgroPlatformUtils.getCurrentTenantLocale();
|
|
39
41
|
};
|
|
40
42
|
/**
|
|
41
43
|
* Retorna o usuário logado
|
|
@@ -43,15 +45,8 @@ var AgroPlatformUtils = /** @class */ (function () {
|
|
|
43
45
|
* @returns string || null
|
|
44
46
|
*/
|
|
45
47
|
AgroPlatformUtils.getCurrentUserName = function () {
|
|
46
|
-
var
|
|
47
|
-
|
|
48
|
-
if (cookie) {
|
|
49
|
-
var str = (_a = AgroCookieUtils.parseCookieToObject(cookie, true)) === null || _a === void 0 ? void 0 : _a.fullName;
|
|
50
|
-
if (str) {
|
|
51
|
-
return str;
|
|
52
|
-
}
|
|
53
|
-
}
|
|
54
|
-
return null;
|
|
48
|
+
var name = AgroPlatformUtils.getTokenField('fullName');
|
|
49
|
+
return name || null;
|
|
55
50
|
};
|
|
56
51
|
/**
|
|
57
52
|
* Retorna o e-mail do usuário logado
|
|
@@ -59,16 +54,11 @@ var AgroPlatformUtils = /** @class */ (function () {
|
|
|
59
54
|
* @returns string
|
|
60
55
|
*/
|
|
61
56
|
AgroPlatformUtils.getCurrentUserEmail = function () {
|
|
62
|
-
var
|
|
63
|
-
|
|
64
|
-
|
|
65
|
-
var str = (_a = AgroCookieUtils.parseCookieToObject(cookie, true)) === null || _a === void 0 ? void 0 : _a.email;
|
|
66
|
-
if (str) {
|
|
67
|
-
return str;
|
|
68
|
-
}
|
|
57
|
+
var email = AgroPlatformUtils.getTokenField('email');
|
|
58
|
+
if (!email) {
|
|
59
|
+
console.info("Cookie: \"" + COOKIE_TOKEN + "\" n\u00E3o encontrado.");
|
|
69
60
|
}
|
|
70
|
-
|
|
71
|
-
return null;
|
|
61
|
+
return email || null;
|
|
72
62
|
};
|
|
73
63
|
/**
|
|
74
64
|
* Retorna uma string com a baseURL atual
|
|
@@ -76,11 +66,11 @@ var AgroPlatformUtils = /** @class */ (function () {
|
|
|
76
66
|
* @example "https://cloud-leaf.senior.com.br" || "https://platform.senior.com.br"
|
|
77
67
|
*/
|
|
78
68
|
AgroPlatformUtils.getBaseURL = function () {
|
|
79
|
-
var cookie = AgroCookieUtils.getCookie(
|
|
69
|
+
var cookie = AgroCookieUtils.getCookie(COOKIE_BASE_URL);
|
|
80
70
|
if (cookie) {
|
|
81
71
|
return decodeURIComponent(cookie);
|
|
82
72
|
}
|
|
83
|
-
throw new Error(
|
|
73
|
+
throw new Error("Cookie: \"" + COOKIE_BASE_URL + "\" n\u00E3o encontrado.");
|
|
84
74
|
};
|
|
85
75
|
/**
|
|
86
76
|
* Retorna uma string com a URL dos serviços
|
|
@@ -88,29 +78,35 @@ var AgroPlatformUtils = /** @class */ (function () {
|
|
|
88
78
|
* @example "https://cloud-leaf.senior.com.br/t/senior.com.br/bridge/1.0/"
|
|
89
79
|
*/
|
|
90
80
|
AgroPlatformUtils.getServicesURL = function () {
|
|
91
|
-
var cookie = AgroCookieUtils.getCookie(
|
|
81
|
+
var cookie = AgroCookieUtils.getCookie(COOKIE_SERVICES_URL);
|
|
92
82
|
if (StringUtils.isNotEmpty(cookie)) {
|
|
93
83
|
return decodeURIComponent(cookie);
|
|
94
84
|
}
|
|
95
|
-
throw new Error(
|
|
85
|
+
throw new Error("Cookie: \"" + COOKIE_SERVICES_URL + "\" n\u00E3o encontrado.");
|
|
96
86
|
};
|
|
97
87
|
/**
|
|
98
88
|
* Retorna uma string com o token de acesso atual
|
|
99
89
|
* Caso contrário, retorna uma instância de Error
|
|
100
90
|
*/
|
|
101
91
|
AgroPlatformUtils.getCurrentAccessToken = function () {
|
|
102
|
-
var
|
|
103
|
-
|
|
104
|
-
|
|
105
|
-
|
|
106
|
-
|
|
107
|
-
|
|
108
|
-
|
|
92
|
+
var token = AgroPlatformUtils.getTokenField('access_token');
|
|
93
|
+
if (!token) {
|
|
94
|
+
console.info("Cookie: \"" + COOKIE_TOKEN + "\" n\u00E3o encontrado.");
|
|
95
|
+
}
|
|
96
|
+
return token || null;
|
|
97
|
+
};
|
|
98
|
+
/**
|
|
99
|
+
* Helper para extrair um campo do cookie de token.
|
|
100
|
+
*/
|
|
101
|
+
AgroPlatformUtils.getTokenField = function (field) {
|
|
102
|
+
var cookie = AgroCookieUtils.getCookie(COOKIE_TOKEN);
|
|
103
|
+
if (!cookie) {
|
|
104
|
+
return undefined;
|
|
109
105
|
}
|
|
110
|
-
|
|
111
|
-
return
|
|
106
|
+
var obj = AgroCookieUtils.parseCookieToObject(cookie, true);
|
|
107
|
+
return obj[field];
|
|
112
108
|
};
|
|
113
109
|
return AgroPlatformUtils;
|
|
114
110
|
}());
|
|
115
111
|
export { AgroPlatformUtils };
|
|
116
|
-
//# sourceMappingURL=data:application/json;base64,
|
|
112
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiYWdyby1wbGF0Zm9ybS11dGlscy5jbGFzcy5qcyIsInNvdXJjZVJvb3QiOiJuZzovL0BzZW5pb3ItYWdyb25lZ29jaW8vYW5ndWxhci1jb21wb25lbnRzLyIsInNvdXJjZXMiOlsiY29tbW9uL2Fncm8tcGxhdGZvcm0tdXRpbHMuY2xhc3MudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFFLGVBQWUsRUFBRSxNQUFNLDJCQUEyQixDQUFDO0FBRTVELE9BQU8sRUFBRSxXQUFXLEVBQUUsTUFBTSwyQkFBMkIsQ0FBQztBQUV4RCx3QkFBd0I7QUFDeEIsSUFBTSxZQUFZLEdBQUcsa0JBQWtCLENBQUM7QUFDeEMsSUFBTSxlQUFlLEdBQUcscUJBQXFCLENBQUM7QUFDOUMsSUFBTSxtQkFBbUIsR0FBRyx5QkFBeUIsQ0FBQztBQUV0RCxPQUFPLEVBQUMsaUJBQWlCLElBQUksR0FBRyxFQUFFLGlCQUFpQixJQUFJLGFBQWEsRUFBQyxDQUFDO0FBRXRFO0lBQUE7SUE2R0EsQ0FBQztJQTNHRzs7OztPQUlHO0lBQ0ksa0NBQWdCLEdBQXZCO1FBQ0ksSUFBTSxNQUFNLEdBQUcsaUJBQWlCLENBQUMsYUFBYSxDQUFDLFlBQVksQ0FBQyxDQUFDO1FBQzdELElBQUksTUFBTSxFQUFFO1lBQ1IsT0FBTyxNQUFNLENBQUM7U0FDakI7UUFDRCxNQUFNLElBQUksS0FBSyxDQUFDLGVBQVksWUFBWSw0QkFBbUIsQ0FBQyxDQUFDO0lBQ2pFLENBQUM7SUFFRDs7OztPQUlHO0lBQ0ksd0NBQXNCLEdBQTdCO1FBQ0ksSUFBTSxNQUFNLEdBQUcsaUJBQWlCLENBQUMsYUFBYSxDQUFDLFFBQVEsQ0FBQyxDQUFDO1FBQ3pELElBQUksTUFBTSxFQUFFO1lBQ1IsT0FBTyxNQUFNLENBQUM7U0FDakI7UUFDRCxNQUFNLElBQUksS0FBSyxDQUFDLGVBQVksWUFBWSw0QkFBbUIsQ0FBQyxDQUFDO0lBQ2pFLENBQUM7SUFFRDs7O09BR0c7SUFDSSx1Q0FBcUIsR0FBNUI7UUFDSSxPQUFPLGlCQUFpQixDQUFDLHNCQUFzQixFQUFFLENBQUM7SUFDdEQsQ0FBQztJQUVEOzs7O09BSUc7SUFDSSxvQ0FBa0IsR0FBekI7UUFDSSxJQUFNLElBQUksR0FBRyxpQkFBaUIsQ0FBQyxhQUFhLENBQUMsVUFBVSxDQUFDLENBQUM7UUFDekQsT0FBTyxJQUFJLElBQUksSUFBSSxDQUFDO0lBQ3hCLENBQUM7SUFFRDs7OztPQUlHO0lBQ0kscUNBQW1CLEdBQTFCO1FBQ0ksSUFBTSxLQUFLLEdBQUcsaUJBQWlCLENBQUMsYUFBYSxDQUFDLE9BQU8sQ0FBQyxDQUFDO1FBQ3ZELElBQUksQ0FBQyxLQUFLLEVBQUU7WUFDUixPQUFPLENBQUMsSUFBSSxDQUFDLGVBQVksWUFBWSw0QkFBbUIsQ0FBQyxDQUFDO1NBQzdEO1FBQ0QsT0FBTyxLQUFLLElBQUksSUFBSSxDQUFDO0lBQ3pCLENBQUM7SUFFRDs7OztPQUlHO0lBQ0ksNEJBQVUsR0FBakI7UUFDSSxJQUFNLE1BQU0sR0FBRyxlQUFlLENBQUMsU0FBUyxDQUFDLGVBQWUsQ0FBQyxDQUFDO1FBQzFELElBQUksTUFBTSxFQUFFO1lBQ1IsT0FBTyxrQkFBa0IsQ0FBQyxNQUFNLENBQUMsQ0FBQztTQUNyQztRQUNELE1BQU0sSUFBSSxLQUFLLENBQUMsZUFBWSxlQUFlLDRCQUFtQixDQUFDLENBQUM7SUFDcEUsQ0FBQztJQUVEOzs7O09BSUc7SUFDSSxnQ0FBYyxHQUFyQjtRQUNJLElBQU0sTUFBTSxHQUFHLGVBQWUsQ0FBQyxTQUFTLENBQUMsbUJBQW1CLENBQUMsQ0FBQztRQUM5RCxJQUFJLFdBQVcsQ0FBQyxVQUFVLENBQUMsTUFBTSxDQUFDLEVBQUU7WUFDaEMsT0FBTyxrQkFBa0IsQ0FBQyxNQUFNLENBQUMsQ0FBQztTQUNyQztRQUNELE1BQU0sSUFBSSxLQUFLLENBQUMsZUFBWSxtQkFBbUIsNEJBQW1CLENBQUMsQ0FBQztJQUN4RSxDQUFDO0lBRUQ7OztPQUdHO0lBQ0ksdUNBQXFCLEdBQTVCO1FBQ0ksSUFBTSxLQUFLLEdBQUcsaUJBQWlCLENBQUMsYUFBYSxDQUFDLGNBQWMsQ0FBQyxDQUFDO1FBQzlELElBQUksQ0FBQyxLQUFLLEVBQUU7WUFDUixPQUFPLENBQUMsSUFBSSxDQUFDLGVBQVksWUFBWSw0QkFBbUIsQ0FBQyxDQUFDO1NBQzdEO1FBQ0QsT0FBTyxLQUFLLElBQUksSUFBSSxDQUFDO0lBQ3pCLENBQUM7SUFFRDs7T0FFRztJQUNZLCtCQUFhLEdBQTVCLFVBQTZCLEtBQWE7UUFDdEMsSUFBTSxNQUFNLEdBQUcsZUFBZSxDQUFDLFNBQVMsQ0FBQyxZQUFZLENBQUMsQ0FBQztRQUN2RCxJQUFJLENBQUMsTUFBTSxFQUFFO1lBQ1QsT0FBTyxTQUFTLENBQUM7U0FDcEI7UUFDRCxJQUFNLEdBQUcsR0FBRyxlQUFlLENBQUMsbUJBQW1CLENBQUMsTUFBTSxFQUFFLElBQUksQ0FBQyxDQUFDO1FBQzlELE9BQU8sR0FBRyxDQUFDLEtBQUssQ0FBQyxDQUFDO0lBQ3RCLENBQUM7SUFFTCx3QkFBQztBQUFELENBQUMsQUE3R0QsSUE2R0MiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBBZ3JvQ29va2llVXRpbHMgfSBmcm9tIFwiLi9hZ3JvLWNvb2tpZS11dGlscy5jbGFzc1wiO1xyXG5pbXBvcnQgeyBBZ3JvT2JqZWN0VXRpbHMgfSBmcm9tIFwiLi9hZ3JvLW9iamVjdC11dGlscy5jbGFzc1wiO1xyXG5pbXBvcnQgeyBTdHJpbmdVdGlscyB9IGZyb20gXCIuL2Fncm8tc3RyaW5nLXV0aWxzLmNsYXNzXCI7XHJcblxyXG4vLyBDb29raWUgbmFtZSBjb25zdGFudHNcclxuY29uc3QgQ09PS0lFX1RPS0VOID0gJ2NvbS5zZW5pb3IudG9rZW4nO1xyXG5jb25zdCBDT09LSUVfQkFTRV9VUkwgPSAnY29tLnNlbmlvci5iYXNlLnVybCc7XHJcbmNvbnN0IENPT0tJRV9TRVJWSUNFU19VUkwgPSAnY29tLnNlbmlvci5zZXJ2aWNlcy51cmwnO1xyXG5cclxuZXhwb3J0IHtBZ3JvUGxhdGZvcm1VdGlscyBhcyBBUFUsIEFncm9QbGF0Zm9ybVV0aWxzIGFzIFBsYXRmb3JtVXRpbHN9O1xyXG5cclxuZXhwb3J0IGNsYXNzIEFncm9QbGF0Zm9ybVV0aWxzIHtcclxuXHJcbiAgICAvKipcclxuICAgICAqIFJldG9ybmEgbyB0ZW5hbnQgYXR1YWxcclxuICAgICAqIENhc28gY29udHLDoXJpbywgcmV0b3JuYSB1bWEgaW5zdMOibmNpYSBkZSBFcnJvclxyXG4gICAgICogQHJldHVybnNcclxuICAgICAqL1xyXG4gICAgc3RhdGljIGdldEN1cnJlbnRUZW5hbnQoKTogc3RyaW5nIHtcclxuICAgICAgICBjb25zdCB0ZW5hbnQgPSBBZ3JvUGxhdGZvcm1VdGlscy5nZXRUb2tlbkZpZWxkKCd0ZW5hbnROYW1lJyk7XHJcbiAgICAgICAgaWYgKHRlbmFudCkge1xyXG4gICAgICAgICAgICByZXR1cm4gdGVuYW50O1xyXG4gICAgICAgIH1cclxuICAgICAgICB0aHJvdyBuZXcgRXJyb3IoYENvb2tpZTogXCIke0NPT0tJRV9UT0tFTn1cIiBuw6NvIGVuY29udHJhZG8uYCk7XHJcbiAgICB9XHJcblxyXG4gICAgLyoqXHJcbiAgICAgKiBSZXRvcm5hIG8gbG9jYWxlIGRvIHRlbmFudCBhdHVhbFxyXG4gICAgICpcclxuICAgICAqIEByZXR1cm5zXHJcbiAgICAgKi9cclxuICAgIHN0YXRpYyBnZXRDdXJyZW50VGVuYW50TG9jYWxlKCk6IHN0cmluZyB7XHJcbiAgICAgICAgY29uc3QgbG9jYWxlID0gQWdyb1BsYXRmb3JtVXRpbHMuZ2V0VG9rZW5GaWVsZCgnbG9jYWxlJyk7XHJcbiAgICAgICAgaWYgKGxvY2FsZSkge1xyXG4gICAgICAgICAgICByZXR1cm4gbG9jYWxlO1xyXG4gICAgICAgIH1cclxuICAgICAgICB0aHJvdyBuZXcgRXJyb3IoYENvb2tpZTogXCIke0NPT0tJRV9UT0tFTn1cIiBuw6NvIGVuY29udHJhZG8uYCk7XHJcbiAgICB9XHJcblxyXG4gICAgLyoqXHJcbiAgICAgKiBAZGVwcmVjYXRlZCBVc2UgZ2V0Q3VycmVudFRlbmFudExvY2FsZSgpXHJcbiAgICAgKiBNYW50aWRvIHBvciBjb21wYXRpYmlsaWRhZGUgcmV0cm9hdGl2YS5cclxuICAgICAqL1xyXG4gICAgc3RhdGljIGdldEN1cnJlblRlbmFudExvY2FsZSgpOiBzdHJpbmcgeyAvLyBsZWdhY3kgdHlwbyByZXRhaW5lZFxyXG4gICAgICAgIHJldHVybiBBZ3JvUGxhdGZvcm1VdGlscy5nZXRDdXJyZW50VGVuYW50TG9jYWxlKCk7XHJcbiAgICB9XHJcblxyXG4gICAgLyoqXHJcbiAgICAgKiBSZXRvcm5hIG8gdXN1w6FyaW8gbG9nYWRvXHJcbiAgICAgKiBDYXNvIGNvbnRyw6FyaW8sIHJldG9ybmEgdW1hIGluc3TDom5jaWEgZGUgRXJyb3JcclxuICAgICAqIEByZXR1cm5zIHN0cmluZyB8fCBudWxsXHJcbiAgICAgKi9cclxuICAgIHN0YXRpYyBnZXRDdXJyZW50VXNlck5hbWUoKTogc3RyaW5nIHwgbnVsbCB7XHJcbiAgICAgICAgY29uc3QgbmFtZSA9IEFncm9QbGF0Zm9ybVV0aWxzLmdldFRva2VuRmllbGQoJ2Z1bGxOYW1lJyk7XHJcbiAgICAgICAgcmV0dXJuIG5hbWUgfHwgbnVsbDtcclxuICAgIH1cclxuXHJcbiAgICAvKipcclxuICAgICAqIFJldG9ybmEgbyBlLW1haWwgZG8gdXN1w6FyaW8gbG9nYWRvXHJcbiAgICAgKiBDYXNvIGNvbnRyw6FyaW8sIHJldG9ybmEgdW1hIGluc3TDom5jaWEgZGUgRXJyb3JcclxuICAgICAqIEByZXR1cm5zIHN0cmluZ1xyXG4gICAgICovXHJcbiAgICBzdGF0aWMgZ2V0Q3VycmVudFVzZXJFbWFpbCgpOiBzdHJpbmcgfCBudWxsIHtcclxuICAgICAgICBjb25zdCBlbWFpbCA9IEFncm9QbGF0Zm9ybVV0aWxzLmdldFRva2VuRmllbGQoJ2VtYWlsJyk7XHJcbiAgICAgICAgaWYgKCFlbWFpbCkge1xyXG4gICAgICAgICAgICBjb25zb2xlLmluZm8oYENvb2tpZTogXCIke0NPT0tJRV9UT0tFTn1cIiBuw6NvIGVuY29udHJhZG8uYCk7XHJcbiAgICAgICAgfVxyXG4gICAgICAgIHJldHVybiBlbWFpbCB8fCBudWxsO1xyXG4gICAgfVxyXG5cclxuICAgIC8qKlxyXG4gICAgICogUmV0b3JuYSB1bWEgc3RyaW5nIGNvbSBhIGJhc2VVUkwgYXR1YWxcclxuICAgICAqIENhc28gY29udHLDoXJpbywgcmV0b3JuYSB1bWEgaW5zdMOibmNpYSBkZSBFcnJvclxyXG4gICAgICogQGV4YW1wbGUgXCJodHRwczovL2Nsb3VkLWxlYWYuc2VuaW9yLmNvbS5iclwiIHx8IFwiaHR0cHM6Ly9wbGF0Zm9ybS5zZW5pb3IuY29tLmJyXCJcclxuICAgICAqL1xyXG4gICAgc3RhdGljIGdldEJhc2VVUkwoKTogc3RyaW5nIHtcclxuICAgICAgICBjb25zdCBjb29raWUgPSBBZ3JvQ29va2llVXRpbHMuZ2V0Q29va2llKENPT0tJRV9CQVNFX1VSTCk7XHJcbiAgICAgICAgaWYgKGNvb2tpZSkge1xyXG4gICAgICAgICAgICByZXR1cm4gZGVjb2RlVVJJQ29tcG9uZW50KGNvb2tpZSk7XHJcbiAgICAgICAgfVxyXG4gICAgICAgIHRocm93IG5ldyBFcnJvcihgQ29va2llOiBcIiR7Q09PS0lFX0JBU0VfVVJMfVwiIG7Do28gZW5jb250cmFkby5gKTtcclxuICAgIH1cclxuXHJcbiAgICAvKipcclxuICAgICAqIFJldG9ybmEgdW1hIHN0cmluZyBjb20gYSBVUkwgZG9zIHNlcnZpw6dvc1xyXG4gICAgICogQ2FzbyBjb250csOhcmlvLCByZXRvcm5hIHVtYSBpbnN0w6JuY2lhIGRlIEVycm9yXHJcbiAgICAgKiBAZXhhbXBsZSBcImh0dHBzOi8vY2xvdWQtbGVhZi5zZW5pb3IuY29tLmJyL3Qvc2VuaW9yLmNvbS5ici9icmlkZ2UvMS4wL1wiXHJcbiAgICAgKi9cclxuICAgIHN0YXRpYyBnZXRTZXJ2aWNlc1VSTCgpOiBzdHJpbmcge1xyXG4gICAgICAgIGNvbnN0IGNvb2tpZSA9IEFncm9Db29raWVVdGlscy5nZXRDb29raWUoQ09PS0lFX1NFUlZJQ0VTX1VSTCk7XHJcbiAgICAgICAgaWYgKFN0cmluZ1V0aWxzLmlzTm90RW1wdHkoY29va2llKSkge1xyXG4gICAgICAgICAgICByZXR1cm4gZGVjb2RlVVJJQ29tcG9uZW50KGNvb2tpZSk7XHJcbiAgICAgICAgfVxyXG4gICAgICAgIHRocm93IG5ldyBFcnJvcihgQ29va2llOiBcIiR7Q09PS0lFX1NFUlZJQ0VTX1VSTH1cIiBuw6NvIGVuY29udHJhZG8uYCk7XHJcbiAgICB9XHJcblxyXG4gICAgLyoqXHJcbiAgICAgKiBSZXRvcm5hIHVtYSBzdHJpbmcgY29tIG8gdG9rZW4gZGUgYWNlc3NvIGF0dWFsXHJcbiAgICAgKiBDYXNvIGNvbnRyw6FyaW8sIHJldG9ybmEgdW1hIGluc3TDom5jaWEgZGUgRXJyb3JcclxuICAgICAqL1xyXG4gICAgc3RhdGljIGdldEN1cnJlbnRBY2Nlc3NUb2tlbigpOiBzdHJpbmcgfCBudWxsIHtcclxuICAgICAgICBjb25zdCB0b2tlbiA9IEFncm9QbGF0Zm9ybVV0aWxzLmdldFRva2VuRmllbGQoJ2FjY2Vzc190b2tlbicpO1xyXG4gICAgICAgIGlmICghdG9rZW4pIHtcclxuICAgICAgICAgICAgY29uc29sZS5pbmZvKGBDb29raWU6IFwiJHtDT09LSUVfVE9LRU59XCIgbsOjbyBlbmNvbnRyYWRvLmApO1xyXG4gICAgICAgIH1cclxuICAgICAgICByZXR1cm4gdG9rZW4gfHwgbnVsbDtcclxuICAgIH1cclxuXHJcbiAgICAvKipcclxuICAgICAqIEhlbHBlciBwYXJhIGV4dHJhaXIgdW0gY2FtcG8gZG8gY29va2llIGRlIHRva2VuLlxyXG4gICAgICovXHJcbiAgICBwcml2YXRlIHN0YXRpYyBnZXRUb2tlbkZpZWxkKGZpZWxkOiBzdHJpbmcpOiBzdHJpbmcgfCB1bmRlZmluZWQge1xyXG4gICAgICAgIGNvbnN0IGNvb2tpZSA9IEFncm9Db29raWVVdGlscy5nZXRDb29raWUoQ09PS0lFX1RPS0VOKTtcclxuICAgICAgICBpZiAoIWNvb2tpZSkge1xyXG4gICAgICAgICAgICByZXR1cm4gdW5kZWZpbmVkO1xyXG4gICAgICAgIH1cclxuICAgICAgICBjb25zdCBvYmogPSBBZ3JvQ29va2llVXRpbHMucGFyc2VDb29raWVUb09iamVjdChjb29raWUsIHRydWUpO1xyXG4gICAgICAgIHJldHVybiBvYmpbZmllbGRdO1xyXG4gICAgfVxyXG5cclxufVxyXG4iXX0=
|