payload 2.23.1 → 2.24.1
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/dist/admin/components/elements/Dropzone/index.d.ts +2 -1
- package/dist/admin/components/elements/Dropzone/index.d.ts.map +1 -1
- package/dist/admin/components/elements/Dropzone/index.js +15 -10
- package/dist/admin/components/elements/EditUpload/index.d.ts +12 -4
- package/dist/admin/components/elements/EditUpload/index.d.ts.map +1 -1
- package/dist/admin/components/elements/EditUpload/index.js +41 -40
- package/dist/admin/components/utilities/Auth/index.d.ts.map +1 -1
- package/dist/admin/components/utilities/Auth/index.js +64 -61
- package/dist/admin/components/utilities/Auth/types.d.ts +3 -1
- package/dist/admin/components/utilities/Auth/types.d.ts.map +1 -1
- package/dist/admin/components/utilities/Locale/index.d.ts.map +1 -1
- package/dist/admin/components/utilities/Locale/index.js +31 -20
- package/dist/admin/components/utilities/UploadEdits/index.d.ts +1 -0
- package/dist/admin/components/utilities/UploadEdits/index.d.ts.map +1 -1
- package/dist/admin/components/utilities/UploadEdits/index.js +6 -1
- package/dist/admin/components/views/Unauthorized/index.d.ts.map +1 -1
- package/dist/admin/components/views/Unauthorized/index.js +6 -4
- package/dist/admin/components/views/collections/Edit/Upload/index.d.ts.map +1 -1
- package/dist/admin/components/views/collections/Edit/Upload/index.js +120 -28
- package/dist/admin/components/views/collections/Edit/Upload/index.scss +6 -3
- package/dist/admin/components/views/collections/Edit/types.d.ts +0 -12
- package/dist/admin/components/views/collections/Edit/types.d.ts.map +1 -1
- package/dist/collections/config/types.d.ts.map +1 -1
- package/dist/collections/config/types.js +1 -1
- package/dist/exports/types.d.ts +1 -1
- package/dist/exports/types.d.ts.map +1 -1
- package/dist/exports/types.js +1 -1
- package/dist/fields/hooks/beforeValidate/promise.d.ts +2 -1
- package/dist/fields/hooks/beforeValidate/promise.d.ts.map +1 -1
- package/dist/fields/hooks/beforeValidate/promise.js +18 -6
- package/dist/fields/hooks/beforeValidate/traverseFields.d.ts +2 -1
- package/dist/fields/hooks/beforeValidate/traverseFields.d.ts.map +1 -1
- package/dist/fields/hooks/beforeValidate/traverseFields.js +18 -3
- package/dist/translations/ar.json +3 -1
- package/dist/translations/az.json +3 -1
- package/dist/translations/bg.json +3 -1
- package/dist/translations/cs.json +3 -1
- package/dist/translations/de.json +3 -1
- package/dist/translations/en.json +2 -0
- package/dist/translations/es.json +3 -1
- package/dist/translations/fa.json +3 -1
- package/dist/translations/fr.json +3 -1
- package/dist/translations/hr.json +3 -1
- package/dist/translations/hu.json +3 -1
- package/dist/translations/index.d.ts +60 -0
- package/dist/translations/index.d.ts.map +1 -1
- package/dist/translations/it.json +3 -1
- package/dist/translations/ja.json +3 -1
- package/dist/translations/ko.json +3 -1
- package/dist/translations/my.json +3 -1
- package/dist/translations/nb.json +3 -1
- package/dist/translations/nl.json +3 -1
- package/dist/translations/pl.json +3 -1
- package/dist/translations/pt.json +3 -1
- package/dist/translations/ro.json +3 -1
- package/dist/translations/rs-latin.json +3 -1
- package/dist/translations/rs.json +3 -1
- package/dist/translations/ru.json +3 -1
- package/dist/translations/sv.json +3 -1
- package/dist/translations/th.json +3 -1
- package/dist/translations/tr.json +3 -1
- package/dist/translations/translation-schema.json +6 -0
- package/dist/translations/ua.json +3 -1
- package/dist/translations/vi.json +3 -1
- package/dist/translations/zh-tw.json +3 -1
- package/dist/translations/zh.json +3 -1
- package/dist/uploads/cropImage.d.ts +15 -6
- package/dist/uploads/cropImage.d.ts.map +1 -1
- package/dist/uploads/cropImage.js +6 -6
- package/dist/uploads/generateFileData.d.ts.map +1 -1
- package/dist/uploads/generateFileData.js +9 -7
- package/dist/uploads/imageResizer.d.ts.map +1 -1
- package/dist/uploads/imageResizer.js +117 -84
- package/dist/uploads/types.d.ts +16 -10
- package/dist/uploads/types.d.ts.map +1 -1
- package/package.json +1 -1
- package/types.d.ts +1 -1
- package/types.js +1 -1
|
@@ -25,7 +25,6 @@ const _reacttoastify = require("react-toastify");
|
|
|
25
25
|
const _api = require("../../../api");
|
|
26
26
|
const _useDebounce = /*#__PURE__*/ _interop_require_default(require("../../../hooks/useDebounce"));
|
|
27
27
|
const _Config = require("../Config");
|
|
28
|
-
const _Locale = require("../Locale");
|
|
29
28
|
function _interop_require_default(obj) {
|
|
30
29
|
return obj && obj.__esModule ? obj : {
|
|
31
30
|
default: obj
|
|
@@ -81,7 +80,6 @@ const AuthProvider = ({ children })=>{
|
|
|
81
80
|
const [strategy, setStrategy] = (0, _react.useState)();
|
|
82
81
|
const { pathname } = (0, _reactrouterdom.useLocation)();
|
|
83
82
|
const { push } = (0, _reactrouterdom.useHistory)();
|
|
84
|
-
const { code } = (0, _Locale.useLocale)();
|
|
85
83
|
const config = (0, _Config.useConfig)();
|
|
86
84
|
const { admin: { autoLogin, inactivityRoute: logoutInactivityRoute, user: userSlug }, routes: { admin, api }, serverURL } = config;
|
|
87
85
|
const [permissions, setPermissions] = (0, _react.useState)();
|
|
@@ -89,7 +87,41 @@ const AuthProvider = ({ children })=>{
|
|
|
89
87
|
const { closeAllModals, openModal } = (0, _modal.useModal)();
|
|
90
88
|
const [lastLocationChange, setLastLocationChange] = (0, _react.useState)(0);
|
|
91
89
|
const debouncedLocationChange = (0, _useDebounce.default)(lastLocationChange, 10000);
|
|
90
|
+
const userIDRef = _react.default.useRef();
|
|
92
91
|
const id = user?.id;
|
|
92
|
+
const refreshPermissions = (0, _react.useCallback)(async ({ locale } = {})=>{
|
|
93
|
+
const params = {
|
|
94
|
+
locale
|
|
95
|
+
};
|
|
96
|
+
try {
|
|
97
|
+
const request = await _api.requests.get(`${serverURL}${api}/access${_qs.default.stringify(params, {
|
|
98
|
+
addQueryPrefix: true
|
|
99
|
+
})}`, {
|
|
100
|
+
headers: {
|
|
101
|
+
'Accept-Language': i18n.language
|
|
102
|
+
}
|
|
103
|
+
});
|
|
104
|
+
if (request.status === 200) {
|
|
105
|
+
const json = await request.json();
|
|
106
|
+
setPermissions(json);
|
|
107
|
+
} else {
|
|
108
|
+
throw new Error(`Fetching permissions failed with status code ${request.status}`);
|
|
109
|
+
}
|
|
110
|
+
} catch (e) {
|
|
111
|
+
_reacttoastify.toast.error(`Refreshing permissions failed: ${e.message}`);
|
|
112
|
+
}
|
|
113
|
+
}, [
|
|
114
|
+
serverURL,
|
|
115
|
+
api,
|
|
116
|
+
i18n
|
|
117
|
+
]);
|
|
118
|
+
const setActiveUser = _react.default.useCallback((user)=>{
|
|
119
|
+
setUser(user);
|
|
120
|
+
userIDRef.current = user?.id || null;
|
|
121
|
+
void refreshPermissions();
|
|
122
|
+
}, [
|
|
123
|
+
refreshPermissions
|
|
124
|
+
]);
|
|
93
125
|
const redirectToInactivityRoute = (0, _react.useCallback)(()=>{
|
|
94
126
|
if (window.location.pathname.startsWith(admin)) {
|
|
95
127
|
const redirectParam = `?redirect=${encodeURIComponent(window.location.pathname.replace(admin, ''))}`;
|
|
@@ -136,10 +168,10 @@ const AuthProvider = ({ children })=>{
|
|
|
136
168
|
});
|
|
137
169
|
if (request.status === 200) {
|
|
138
170
|
const json = await request.json();
|
|
139
|
-
|
|
171
|
+
setActiveUser(json.user);
|
|
140
172
|
setTokenAndExpiration(json);
|
|
141
173
|
} else {
|
|
142
|
-
|
|
174
|
+
setActiveUser(null);
|
|
143
175
|
redirectToInactivityRoute();
|
|
144
176
|
}
|
|
145
177
|
} catch (e) {
|
|
@@ -152,9 +184,10 @@ const AuthProvider = ({ children })=>{
|
|
|
152
184
|
serverURL,
|
|
153
185
|
api,
|
|
154
186
|
userSlug,
|
|
155
|
-
i18n,
|
|
156
|
-
|
|
157
|
-
setTokenAndExpiration
|
|
187
|
+
i18n.language,
|
|
188
|
+
setActiveUser,
|
|
189
|
+
setTokenAndExpiration,
|
|
190
|
+
redirectToInactivityRoute
|
|
158
191
|
]);
|
|
159
192
|
const refreshCookieAsync = (0, _react.useCallback)(async (skipSetUser)=>{
|
|
160
193
|
try {
|
|
@@ -166,12 +199,12 @@ const AuthProvider = ({ children })=>{
|
|
|
166
199
|
if (request.status === 200) {
|
|
167
200
|
const json = await request.json();
|
|
168
201
|
if (!skipSetUser) {
|
|
169
|
-
|
|
202
|
+
setActiveUser(json.user);
|
|
170
203
|
setTokenAndExpiration(json);
|
|
171
204
|
}
|
|
172
205
|
return json.user;
|
|
173
206
|
}
|
|
174
|
-
|
|
207
|
+
setActiveUser(null);
|
|
175
208
|
redirectToInactivityRoute();
|
|
176
209
|
return null;
|
|
177
210
|
} catch (e) {
|
|
@@ -184,42 +217,19 @@ const AuthProvider = ({ children })=>{
|
|
|
184
217
|
userSlug,
|
|
185
218
|
i18n,
|
|
186
219
|
redirectToInactivityRoute,
|
|
187
|
-
setTokenAndExpiration
|
|
220
|
+
setTokenAndExpiration,
|
|
221
|
+
setActiveUser
|
|
188
222
|
]);
|
|
189
223
|
const logOut = (0, _react.useCallback)(()=>{
|
|
190
|
-
|
|
224
|
+
setActiveUser(null);
|
|
191
225
|
revokeTokenAndExpire();
|
|
192
|
-
_api.requests.post(`${serverURL}${api}/${userSlug}/logout`);
|
|
226
|
+
void _api.requests.post(`${serverURL}${api}/${userSlug}/logout`);
|
|
193
227
|
}, [
|
|
194
228
|
serverURL,
|
|
195
229
|
api,
|
|
196
230
|
userSlug,
|
|
197
|
-
revokeTokenAndExpire
|
|
198
|
-
|
|
199
|
-
const refreshPermissions = (0, _react.useCallback)(async ()=>{
|
|
200
|
-
const params = {
|
|
201
|
-
locale: code
|
|
202
|
-
};
|
|
203
|
-
try {
|
|
204
|
-
const request = await _api.requests.get(`${serverURL}${api}/access?${_qs.default.stringify(params)}`, {
|
|
205
|
-
headers: {
|
|
206
|
-
'Accept-Language': i18n.language
|
|
207
|
-
}
|
|
208
|
-
});
|
|
209
|
-
if (request.status === 200) {
|
|
210
|
-
const json = await request.json();
|
|
211
|
-
setPermissions(json);
|
|
212
|
-
} else {
|
|
213
|
-
throw new Error(`Fetching permissions failed with status code ${request.status}`);
|
|
214
|
-
}
|
|
215
|
-
} catch (e) {
|
|
216
|
-
_reacttoastify.toast.error(`Refreshing permissions failed: ${e.message}`);
|
|
217
|
-
}
|
|
218
|
-
}, [
|
|
219
|
-
serverURL,
|
|
220
|
-
api,
|
|
221
|
-
i18n,
|
|
222
|
-
code
|
|
231
|
+
revokeTokenAndExpire,
|
|
232
|
+
setActiveUser
|
|
223
233
|
]);
|
|
224
234
|
const fetchFullUser = _react.default.useCallback(async ()=>{
|
|
225
235
|
try {
|
|
@@ -231,7 +241,7 @@ const AuthProvider = ({ children })=>{
|
|
|
231
241
|
if (request.status === 200) {
|
|
232
242
|
const json = await request.json();
|
|
233
243
|
if (json?.user) {
|
|
234
|
-
|
|
244
|
+
setActiveUser(json.user);
|
|
235
245
|
if (json?.token) {
|
|
236
246
|
setTokenAndExpiration(json);
|
|
237
247
|
}
|
|
@@ -250,16 +260,16 @@ const AuthProvider = ({ children })=>{
|
|
|
250
260
|
});
|
|
251
261
|
if (autoLoginResult.status === 200) {
|
|
252
262
|
const autoLoginJson = await autoLoginResult.json();
|
|
253
|
-
|
|
263
|
+
setActiveUser(autoLoginJson.user);
|
|
254
264
|
if (autoLoginJson?.token) {
|
|
255
265
|
setTokenAndExpiration(autoLoginJson);
|
|
256
266
|
}
|
|
257
267
|
} else {
|
|
258
|
-
|
|
268
|
+
setActiveUser(null);
|
|
259
269
|
revokeTokenAndExpire();
|
|
260
270
|
}
|
|
261
271
|
} else {
|
|
262
|
-
|
|
272
|
+
setActiveUser(null);
|
|
263
273
|
revokeTokenAndExpire();
|
|
264
274
|
}
|
|
265
275
|
}
|
|
@@ -273,13 +283,17 @@ const AuthProvider = ({ children })=>{
|
|
|
273
283
|
i18n,
|
|
274
284
|
autoLogin,
|
|
275
285
|
setTokenAndExpiration,
|
|
276
|
-
revokeTokenAndExpire
|
|
286
|
+
revokeTokenAndExpire,
|
|
287
|
+
setActiveUser
|
|
277
288
|
]);
|
|
278
289
|
// On mount, get user and set
|
|
279
290
|
(0, _react.useEffect)(()=>{
|
|
280
|
-
|
|
291
|
+
if (id === undefined || id !== userIDRef.current) {
|
|
292
|
+
void fetchFullUser();
|
|
293
|
+
}
|
|
281
294
|
}, [
|
|
282
|
-
fetchFullUser
|
|
295
|
+
fetchFullUser,
|
|
296
|
+
id
|
|
283
297
|
]);
|
|
284
298
|
// When location changes, refresh cookie
|
|
285
299
|
(0, _react.useEffect)(()=>{
|
|
@@ -296,18 +310,6 @@ const AuthProvider = ({ children })=>{
|
|
|
296
310
|
}, [
|
|
297
311
|
pathname
|
|
298
312
|
]);
|
|
299
|
-
// When user changes, get new access
|
|
300
|
-
(0, _react.useEffect)(()=>{
|
|
301
|
-
if (id) {
|
|
302
|
-
refreshPermissions();
|
|
303
|
-
}
|
|
304
|
-
}, [
|
|
305
|
-
i18n,
|
|
306
|
-
id,
|
|
307
|
-
api,
|
|
308
|
-
serverURL,
|
|
309
|
-
refreshPermissions
|
|
310
|
-
]);
|
|
311
313
|
(0, _react.useEffect)(()=>{
|
|
312
314
|
let reminder;
|
|
313
315
|
const now = Math.round(new Date().getTime() / 1000);
|
|
@@ -330,7 +332,7 @@ const AuthProvider = ({ children })=>{
|
|
|
330
332
|
const remainingTime = typeof tokenExpiration === 'number' ? tokenExpiration - now : 0;
|
|
331
333
|
if (remainingTime > 0) {
|
|
332
334
|
forceLogOut = setTimeout(()=>{
|
|
333
|
-
|
|
335
|
+
setActiveUser(null);
|
|
334
336
|
revokeTokenAndExpire();
|
|
335
337
|
redirectToInactivityRoute();
|
|
336
338
|
}, Math.max(Math.min(remainingTime * 1000, maxTimeoutTime), 0));
|
|
@@ -343,7 +345,8 @@ const AuthProvider = ({ children })=>{
|
|
|
343
345
|
closeAllModals,
|
|
344
346
|
i18n,
|
|
345
347
|
redirectToInactivityRoute,
|
|
346
|
-
revokeTokenAndExpire
|
|
348
|
+
revokeTokenAndExpire,
|
|
349
|
+
setActiveUser
|
|
347
350
|
]);
|
|
348
351
|
return /*#__PURE__*/ _react.default.createElement(Context.Provider, {
|
|
349
352
|
value: {
|
|
@@ -353,7 +356,7 @@ const AuthProvider = ({ children })=>{
|
|
|
353
356
|
refreshCookie,
|
|
354
357
|
refreshCookieAsync,
|
|
355
358
|
refreshPermissions,
|
|
356
|
-
setUser,
|
|
359
|
+
setUser: setActiveUser,
|
|
357
360
|
strategy,
|
|
358
361
|
token: tokenInMemory,
|
|
359
362
|
tokenExpiration,
|
|
@@ -363,4 +366,4 @@ const AuthProvider = ({ children })=>{
|
|
|
363
366
|
};
|
|
364
367
|
const useAuth = ()=>(0, _react.useContext)(Context);
|
|
365
368
|
|
|
366
|
-
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uL3NyYy9hZG1pbi9jb21wb25lbnRzL3V0aWxpdGllcy9BdXRoL2luZGV4LnRzeCJdLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyB1c2VNb2RhbCB9IGZyb20gJ0BmYWNlbGVzcy11aS9tb2RhbCdcbmltcG9ydCBxcyBmcm9tICdxcydcbmltcG9ydCBSZWFjdCwgeyBjcmVhdGVDb250ZXh0LCB1c2VDYWxsYmFjaywgdXNlQ29udGV4dCwgdXNlRWZmZWN0LCB1c2VTdGF0ZSB9IGZyb20gJ3JlYWN0J1xuaW1wb3J0IHsgdXNlVHJhbnNsYXRpb24gfSBmcm9tICdyZWFjdC1pMThuZXh0J1xuaW1wb3J0IHsgdXNlSGlzdG9yeSwgdXNlTG9jYXRpb24gfSBmcm9tICdyZWFjdC1yb3V0ZXItZG9tJ1xuaW1wb3J0IHsgdG9hc3QgfSBmcm9tICdyZWFjdC10b2FzdGlmeSdcblxuaW1wb3J0IHR5cGUgeyBQZXJtaXNzaW9ucywgVXNlciB9IGZyb20gJy4uLy4uLy4uLy4uL2F1dGgvdHlwZXMnXG5pbXBvcnQgdHlwZSB7IEF1dGhDb250ZXh0IH0gZnJvbSAnLi90eXBlcydcblxuaW1wb3J0IHsgcmVxdWVzdHMgfSBmcm9tICcuLi8uLi8uLi9hcGknXG5pbXBvcnQgdXNlRGVib3VuY2UgZnJvbSAnLi4vLi4vLi4vaG9va3MvdXNlRGVib3VuY2UnXG5pbXBvcnQgeyB1c2VDb25maWcgfSBmcm9tICcuLi9Db25maWcnXG5pbXBvcnQgeyB1c2VMb2NhbGUgfSBmcm9tICcuLi9Mb2NhbGUnXG5cbmNvbnN0IENvbnRleHQgPSBjcmVhdGVDb250ZXh0KHt9IGFzIEF1dGhDb250ZXh0KVxuXG5jb25zdCBtYXhUaW1lb3V0VGltZSA9IDIxNDc0ODM2NDdcblxuZXhwb3J0IGNvbnN0IEF1dGhQcm92aWRlcjogUmVhY3QuRkM8eyBjaGlsZHJlbjogUmVhY3QuUmVhY3ROb2RlIH0+ID0gKHsgY2hpbGRyZW4gfSkgPT4ge1xuICBjb25zdCBbdXNlciwgc2V0VXNlcl0gPSB1c2VTdGF0ZTxVc2VyIHwgbnVsbD4oKVxuICBjb25zdCBbdG9rZW5Jbk1lbW9yeSwgc2V0VG9rZW5Jbk1lbW9yeV0gPSB1c2VTdGF0ZTxzdHJpbmc+KClcbiAgY29uc3QgW3Rva2VuRXhwaXJhdGlvbiwgc2V0VG9rZW5FeHBpcmF0aW9uXSA9IHVzZVN0YXRlPG51bWJlcj4oKVxuICBjb25zdCBbc3RyYXRlZ3ksIHNldFN0cmF0ZWd5XSA9IHVzZVN0YXRlPHN0cmluZz4oKVxuICBjb25zdCB7IHBhdGhuYW1lIH0gPSB1c2VMb2NhdGlvbigpXG4gIGNvbnN0IHsgcHVzaCB9ID0gdXNlSGlzdG9yeSgpXG4gIGNvbnN0IHsgY29kZSB9ID0gdXNlTG9jYWxlKClcblxuICBjb25zdCBjb25maWcgPSB1c2VDb25maWcoKVxuXG4gIGNvbnN0IHtcbiAgICBhZG1pbjogeyBhdXRvTG9naW4sIGluYWN0aXZpdHlSb3V0ZTogbG9nb3V0SW5hY3Rpdml0eVJvdXRlLCB1c2VyOiB1c2VyU2x1ZyB9LFxuICAgIHJvdXRlczogeyBhZG1pbiwgYXBpIH0sXG4gICAgc2VydmVyVVJMLFxuICB9ID0gY29uZmlnXG5cbiAgY29uc3QgW3Blcm1pc3Npb25zLCBzZXRQZXJtaXNzaW9uc10gPSB1c2VTdGF0ZTxQZXJtaXNzaW9ucz4oKVxuXG4gIGNvbnN0IHsgaTE4biB9ID0gdXNlVHJhbnNsYXRpb24oKVxuICBjb25zdCB7IGNsb3NlQWxsTW9kYWxzLCBvcGVuTW9kYWwgfSA9IHVzZU1vZGFsKClcbiAgY29uc3QgW2xhc3RMb2NhdGlvbkNoYW5nZSwgc2V0TGFzdExvY2F0aW9uQ2hhbmdlXSA9IHVzZVN0YXRlKDApXG4gIGNvbnN0IGRlYm91bmNlZExvY2F0aW9uQ2hhbmdlID0gdXNlRGVib3VuY2UobGFzdExvY2F0aW9uQ2hhbmdlLCAxMDAwMClcblxuICBjb25zdCBpZCA9IHVzZXI/LmlkXG5cbiAgY29uc3QgcmVkaXJlY3RUb0luYWN0aXZpdHlSb3V0ZSA9IHVzZUNhbGxiYWNrKCgpID0+IHtcbiAgICBpZiAod2luZG93LmxvY2F0aW9uLnBhdGhuYW1lLnN0YXJ0c1dpdGgoYWRtaW4pKSB7XG4gICAgICBjb25zdCByZWRpcmVjdFBhcmFtID0gYD9yZWRpcmVjdD0ke2VuY29kZVVSSUNvbXBvbmVudChcbiAgICAgICAgd2luZG93LmxvY2F0aW9uLnBhdGhuYW1lLnJlcGxhY2UoYWRtaW4sICcnKSxcbiAgICAgICl9YFxuICAgICAgcHVzaChgJHthZG1pbn0ke2xvZ291dEluYWN0aXZpdHlSb3V0ZX0ke3JlZGlyZWN0UGFyYW19YClcbiAgICB9IGVsc2Uge1xuICAgICAgcHVzaChgJHthZG1pbn0ke2xvZ291dEluYWN0aXZpdHlSb3V0ZX1gKVxuICAgIH1cbiAgICBjbG9zZUFsbE1vZGFscygpXG4gIH0sIFtwdXNoLCBhZG1pbiwgbG9nb3V0SW5hY3Rpdml0eVJvdXRlLCBjbG9zZUFsbE1vZGFsc10pXG5cbiAgY29uc3QgcmV2b2tlVG9rZW5BbmRFeHBpcmUgPSB1c2VDYWxsYmFjaygoKSA9PiB7XG4gICAgc2V0VG9rZW5Jbk1lbW9yeSh1bmRlZmluZWQpXG4gICAgc2V0VG9rZW5FeHBpcmF0aW9uKHVuZGVmaW5lZClcbiAgICBzZXRTdHJhdGVneSh1bmRlZmluZWQpXG4gIH0sIFtdKVxuXG4gIGNvbnN0IHNldFRva2VuQW5kRXhwaXJhdGlvbiA9IHVzZUNhbGxiYWNrKFxuICAgIChqc29uKSA9PiB7XG4gICAgICBjb25zdCB0b2tlbiA9IGpzb24/LnRva2VuIHx8IGpzb24/LnJlZnJlc2hlZFRva2VuXG4gICAgICBpZiAodG9rZW4gJiYganNvbj8uZXhwKSB7XG4gICAgICAgIHNldFRva2VuSW5NZW1vcnkodG9rZW4pXG4gICAgICAgIHNldFRva2VuRXhwaXJhdGlvbihqc29uLmV4cClcbiAgICAgICAgaWYgKGpzb24uc3RyYXRlZ3kpIHtcbiAgICAgICAgICBzZXRTdHJhdGVneShqc29uLnN0cmF0ZWd5KVxuICAgICAgICB9XG4gICAgICB9IGVsc2Uge1xuICAgICAgICByZXZva2VUb2tlbkFuZEV4cGlyZSgpXG4gICAgICB9XG4gICAgfSxcbiAgICBbcmV2b2tlVG9rZW5BbmRFeHBpcmVdLFxuICApXG5cbiAgY29uc3QgcmVmcmVzaENvb2tpZSA9IHVzZUNhbGxiYWNrKFxuICAgIChmb3JjZVJlZnJlc2g/OiBib29sZWFuKSA9PiB7XG4gICAgICBjb25zdCBub3cgPSBNYXRoLnJvdW5kKG5ldyBEYXRlKCkuZ2V0VGltZSgpIC8gMTAwMClcbiAgICAgIGNvbnN0IHJlbWFpbmluZ1RpbWUgPSAodHlwZW9mIHRva2VuRXhwaXJhdGlvbiA9PT0gJ251bWJlcicgPyB0b2tlbkV4cGlyYXRpb24gOiAwKSAtIG5vd1xuXG4gICAgICBpZiAoZm9yY2VSZWZyZXNoIHx8ICh0b2tlbkV4cGlyYXRpb24gJiYgcmVtYWluaW5nVGltZSA8IDEyMCkpIHtcbiAgICAgICAgc2V0VGltZW91dChhc3luYyAoKSA9PiB7XG4gICAgICAgICAgdHJ5IHtcbiAgICAgICAgICAgIGNvbnN0IHJlcXVlc3QgPSBhd2FpdCByZXF1ZXN0cy5wb3N0KGAke3NlcnZlclVSTH0ke2FwaX0vJHt1c2VyU2x1Z30vcmVmcmVzaC10b2tlbmAsIHtcbiAgICAgICAgICAgICAgaGVhZGVyczoge1xuICAgICAgICAgICAgICAgICdBY2NlcHQtTGFuZ3VhZ2UnOiBpMThuLmxhbmd1YWdlLFxuICAgICAgICAgICAgICB9LFxuICAgICAgICAgICAgfSlcblxuICAgICAgICAgICAgaWYgKHJlcXVlc3Quc3RhdHVzID09PSAyMDApIHtcbiAgICAgICAgICAgICAgY29uc3QganNvbiA9IGF3YWl0IHJlcXVlc3QuanNvbigpXG4gICAgICAgICAgICAgIHNldFVzZXIoanNvbi51c2VyKVxuICAgICAgICAgICAgICBzZXRUb2tlbkFuZEV4cGlyYXRpb24oanNvbilcbiAgICAgICAgICAgIH0gZWxzZSB7XG4gICAgICAgICAgICAgIHNldFVzZXIobnVsbClcbiAgICAgICAgICAgICAgcmVkaXJlY3RUb0luYWN0aXZpdHlSb3V0ZSgpXG4gICAgICAgICAgICB9XG4gICAgICAgICAgfSBjYXRjaCAoZSkge1xuICAgICAgICAgICAgdG9hc3QuZXJyb3IoZS5tZXNzYWdlKVxuICAgICAgICAgIH1cbiAgICAgICAgfSwgMTAwMClcbiAgICAgIH1cbiAgICB9LFxuICAgIFtcbiAgICAgIHRva2VuRXhwaXJhdGlvbixcbiAgICAgIHNlcnZlclVSTCxcbiAgICAgIGFwaSxcbiAgICAgIHVzZXJTbHVnLFxuICAgICAgaTE4bixcbiAgICAgIHJlZGlyZWN0VG9JbmFjdGl2aXR5Um91dGUsXG4gICAgICBzZXRUb2tlbkFuZEV4cGlyYXRpb24sXG4gICAgXSxcbiAgKVxuXG4gIGNvbnN0IHJlZnJlc2hDb29raWVBc3luYyA9IHVzZUNhbGxiYWNrKFxuICAgIGFzeW5jIChza2lwU2V0VXNlcj86IGJvb2xlYW4pOiBQcm9taXNlPFVzZXI+ID0+IHtcbiAgICAgIHRyeSB7XG4gICAgICAgIGNvbnN0IHJlcXVlc3QgPSBhd2FpdCByZXF1ZXN0cy5wb3N0KGAke3NlcnZlclVSTH0ke2FwaX0vJHt1c2VyU2x1Z30vcmVmcmVzaC10b2tlbmAsIHtcbiAgICAgICAgICBoZWFkZXJzOiB7XG4gICAgICAgICAgICAnQWNjZXB0LUxhbmd1YWdlJzogaTE4bi5sYW5ndWFnZSxcbiAgICAgICAgICB9LFxuICAgICAgICB9KVxuXG4gICAgICAgIGlmIChyZXF1ZXN0LnN0YXR1cyA9PT0gMjAwKSB7XG4gICAgICAgICAgY29uc3QganNvbiA9IGF3YWl0IHJlcXVlc3QuanNvbigpXG4gICAgICAgICAgaWYgKCFza2lwU2V0VXNlcikge1xuICAgICAgICAgICAgc2V0VXNlcihqc29uLnVzZXIpXG4gICAgICAgICAgICBzZXRUb2tlbkFuZEV4cGlyYXRpb24oanNvbilcbiAgICAgICAgICB9XG4gICAgICAgICAgcmV0dXJuIGpzb24udXNlclxuICAgICAgICB9XG5cbiAgICAgICAgc2V0VXNlcihudWxsKVxuICAgICAgICByZWRpcmVjdFRvSW5hY3Rpdml0eVJvdXRlKClcbiAgICAgICAgcmV0dXJuIG51bGxcbiAgICAgIH0gY2F0Y2ggKGUpIHtcbiAgICAgICAgdG9hc3QuZXJyb3IoYFJlZnJlc2hpbmcgdG9rZW4gZmFpbGVkOiAke2UubWVzc2FnZX1gKVxuICAgICAgICByZXR1cm4gbnVsbFxuICAgICAgfVxuICAgIH0sXG4gICAgW3NlcnZlclVSTCwgYXBpLCB1c2VyU2x1ZywgaTE4biwgcmVkaXJlY3RUb0luYWN0aXZpdHlSb3V0ZSwgc2V0VG9rZW5BbmRFeHBpcmF0aW9uXSxcbiAgKVxuXG4gIGNvbnN0IGxvZ091dCA9IHVzZUNhbGxiYWNrKCgpID0+IHtcbiAgICBzZXRVc2VyKG51bGwpXG4gICAgcmV2b2tlVG9rZW5BbmRFeHBpcmUoKVxuICAgIHJlcXVlc3RzLnBvc3QoYCR7c2VydmVyVVJMfSR7YXBpfS8ke3VzZXJTbHVnfS9sb2dvdXRgKVxuICB9LCBbc2VydmVyVVJMLCBhcGksIHVzZXJTbHVnLCByZXZva2VUb2tlbkFuZEV4cGlyZV0pXG5cbiAgY29uc3QgcmVmcmVzaFBlcm1pc3Npb25zID0gdXNlQ2FsbGJhY2soYXN5bmMgKCkgPT4ge1xuICAgIGNvbnN0IHBhcmFtcyA9IHtcbiAgICAgIGxvY2FsZTogY29kZSxcbiAgICB9XG4gICAgdHJ5IHtcbiAgICAgIGNvbnN0IHJlcXVlc3QgPSBhd2FpdCByZXF1ZXN0cy5nZXQoYCR7c2VydmVyVVJMfSR7YXBpfS9hY2Nlc3M/JHtxcy5zdHJpbmdpZnkocGFyYW1zKX1gLCB7XG4gICAgICAgIGhlYWRlcnM6IHtcbiAgICAgICAgICAnQWNjZXB0LUxhbmd1YWdlJzogaTE4bi5sYW5ndWFnZSxcbiAgICAgICAgfSxcbiAgICAgIH0pXG5cbiAgICAgIGlmIChyZXF1ZXN0LnN0YXR1cyA9PT0gMjAwKSB7XG4gICAgICAgIGNvbnN0IGpzb246IFBlcm1pc3Npb25zID0gYXdhaXQgcmVxdWVzdC5qc29uKClcbiAgICAgICAgc2V0UGVybWlzc2lvbnMoanNvbilcbiAgICAgIH0gZWxzZSB7XG4gICAgICAgIHRocm93IG5ldyBFcnJvcihgRmV0Y2hpbmcgcGVybWlzc2lvbnMgZmFpbGVkIHdpdGggc3RhdHVzIGNvZGUgJHtyZXF1ZXN0LnN0YXR1c31gKVxuICAgICAgfVxuICAgIH0gY2F0Y2ggKGUpIHtcbiAgICAgIHRvYXN0LmVycm9yKGBSZWZyZXNoaW5nIHBlcm1pc3Npb25zIGZhaWxlZDogJHtlLm1lc3NhZ2V9YClcbiAgICB9XG4gIH0sIFtzZXJ2ZXJVUkwsIGFwaSwgaTE4biwgY29kZV0pXG5cbiAgY29uc3QgZmV0Y2hGdWxsVXNlciA9IFJlYWN0LnVzZUNhbGxiYWNrKGFzeW5jICgpID0+IHtcbiAgICB0cnkge1xuICAgICAgY29uc3QgcmVxdWVzdCA9IGF3YWl0IHJlcXVlc3RzLmdldChgJHtzZXJ2ZXJVUkx9JHthcGl9LyR7dXNlclNsdWd9L21lYCwge1xuICAgICAgICBoZWFkZXJzOiB7XG4gICAgICAgICAgJ0FjY2VwdC1MYW5ndWFnZSc6IGkxOG4ubGFuZ3VhZ2UsXG4gICAgICAgIH0sXG4gICAgICB9KVxuXG4gICAgICBpZiAocmVxdWVzdC5zdGF0dXMgPT09IDIwMCkge1xuICAgICAgICBjb25zdCBqc29uID0gYXdhaXQgcmVxdWVzdC5qc29uKClcblxuICAgICAgICBpZiAoanNvbj8udXNlcikge1xuICAgICAgICAgIHNldFVzZXIoanNvbi51c2VyKVxuICAgICAgICAgIGlmIChqc29uPy50b2tlbikge1xuICAgICAgICAgICAgc2V0VG9rZW5BbmRFeHBpcmF0aW9uKGpzb24pXG4gICAgICAgICAgfVxuICAgICAgICB9IGVsc2UgaWYgKGF1dG9Mb2dpbiAmJiBhdXRvTG9naW4ucHJlZmlsbE9ubHkgIT09IHRydWUpIHtcbiAgICAgICAgICAvLyBhdXRvIGxvZy1pbiB3aXRoIHRoZSBwcm92aWRlZCBhdXRvTG9naW4gY3JlZGVudGlhbHMuIFRoaXMgaXMgdXNlZCBpbiBkZXYgbW9kZVxuICAgICAgICAgIC8vIHNvIHlvdSBkb24ndCBoYXZlIHRvIGxvZyBpbiBvdmVyIGFuZCBvdmVyIGFnYWluXG4gICAgICAgICAgY29uc3QgYXV0b0xvZ2luUmVzdWx0ID0gYXdhaXQgcmVxdWVzdHMucG9zdChgJHtzZXJ2ZXJVUkx9JHthcGl9LyR7dXNlclNsdWd9L2xvZ2luYCwge1xuICAgICAgICAgICAgYm9keTogSlNPTi5zdHJpbmdpZnkoe1xuICAgICAgICAgICAgICBlbWFpbDogYXV0b0xvZ2luLmVtYWlsLFxuICAgICAgICAgICAgICBwYXNzd29yZDogYXV0b0xvZ2luLnBhc3N3b3JkLFxuICAgICAgICAgICAgfSksXG4gICAgICAgICAgICBoZWFkZXJzOiB7XG4gICAgICAgICAgICAgICdBY2NlcHQtTGFuZ3VhZ2UnOiBpMThuLmxhbmd1YWdlLFxuICAgICAgICAgICAgICAnQ29udGVudC1UeXBlJzogJ2FwcGxpY2F0aW9uL2pzb24nLFxuICAgICAgICAgICAgfSxcbiAgICAgICAgICB9KVxuICAgICAgICAgIGlmIChhdXRvTG9naW5SZXN1bHQuc3RhdHVzID09PSAyMDApIHtcbiAgICAgICAgICAgIGNvbnN0IGF1dG9Mb2dpbkpzb24gPSBhd2FpdCBhdXRvTG9naW5SZXN1bHQuanNvbigpXG4gICAgICAgICAgICBzZXRVc2VyKGF1dG9Mb2dpbkpzb24udXNlcilcbiAgICAgICAgICAgIGlmIChhdXRvTG9naW5Kc29uPy50b2tlbikge1xuICAgICAgICAgICAgICBzZXRUb2tlbkFuZEV4cGlyYXRpb24oYXV0b0xvZ2luSnNvbilcbiAgICAgICAgICAgIH1cbiAgICAgICAgICB9IGVsc2Uge1xuICAgICAgICAgICAgc2V0VXNlcihudWxsKVxuICAgICAgICAgICAgcmV2b2tlVG9rZW5BbmRFeHBpcmUoKVxuICAgICAgICAgIH1cbiAgICAgICAgfSBlbHNlIHtcbiAgICAgICAgICBzZXRVc2VyKG51bGwpXG4gICAgICAgICAgcmV2b2tlVG9rZW5BbmRFeHBpcmUoKVxuICAgICAgICB9XG4gICAgICB9XG4gICAgfSBjYXRjaCAoZSkge1xuICAgICAgdG9hc3QuZXJyb3IoYEZldGNoaW5nIHVzZXIgZmFpbGVkOiAke2UubWVzc2FnZX1gKVxuICAgIH1cbiAgfSwgW3NlcnZlclVSTCwgYXBpLCB1c2VyU2x1ZywgaTE4biwgYXV0b0xvZ2luLCBzZXRUb2tlbkFuZEV4cGlyYXRpb24sIHJldm9rZVRva2VuQW5kRXhwaXJlXSlcblxuICAvLyBPbiBtb3VudCwgZ2V0IHVzZXIgYW5kIHNldFxuICB1c2VFZmZlY3QoKCkgPT4ge1xuICAgIGZldGNoRnVsbFVzZXIoKVxuICB9LCBbZmV0Y2hGdWxsVXNlcl0pXG5cbiAgLy8gV2hlbiBsb2NhdGlvbiBjaGFuZ2VzLCByZWZyZXNoIGNvb2tpZVxuICB1c2VFZmZlY3QoKCkgPT4ge1xuICAgIGlmIChpZCkge1xuICAgICAgcmVmcmVzaENvb2tpZSgpXG4gICAgfVxuICB9LCBbZGVib3VuY2VkTG9jYXRpb25DaGFuZ2UsIHJlZnJlc2hDb29raWUsIGlkXSlcblxuICB1c2VFZmZlY3QoKCkgPT4ge1xuICAgIHNldExhc3RMb2NhdGlvbkNoYW5nZShEYXRlLm5vdygpKVxuICB9LCBbcGF0aG5hbWVdKVxuXG4gIC8vIFdoZW4gdXNlciBjaGFuZ2VzLCBnZXQgbmV3IGFjY2Vzc1xuICB1c2VFZmZlY3QoKCkgPT4ge1xuICAgIGlmIChpZCkge1xuICAgICAgcmVmcmVzaFBlcm1pc3Npb25zKClcbiAgICB9XG4gIH0sIFtpMThuLCBpZCwgYXBpLCBzZXJ2ZXJVUkwsIHJlZnJlc2hQZXJtaXNzaW9uc10pXG5cbiAgdXNlRWZmZWN0KCgpID0+IHtcbiAgICBsZXQgcmVtaW5kZXI6IFJldHVyblR5cGU8dHlwZW9mIHNldFRpbWVvdXQ+XG4gICAgY29uc3Qgbm93ID0gTWF0aC5yb3VuZChuZXcgRGF0ZSgpLmdldFRpbWUoKSAvIDEwMDApXG4gICAgY29uc3QgcmVtYWluaW5nVGltZSA9IHR5cGVvZiB0b2tlbkV4cGlyYXRpb24gPT09ICdudW1iZXInID8gdG9rZW5FeHBpcmF0aW9uIC0gbm93IDogMFxuXG4gICAgaWYgKHJlbWFpbmluZ1RpbWUgPiAwKSB7XG4gICAgICByZW1pbmRlciA9IHNldFRpbWVvdXQoXG4gICAgICAgICgpID0+IHtcbiAgICAgICAgICBvcGVuTW9kYWwoJ3N0YXktbG9nZ2VkLWluJylcbiAgICAgICAgfSxcbiAgICAgICAgTWF0aC5tYXgoTWF0aC5taW4oKHJlbWFpbmluZ1RpbWUgLSA2MCkgKiAxMDAwLCBtYXhUaW1lb3V0VGltZSkpLFxuICAgICAgKVxuICAgIH1cblxuICAgIHJldHVybiAoKSA9PiB7XG4gICAgICBpZiAocmVtaW5kZXIpIGNsZWFyVGltZW91dChyZW1pbmRlcilcbiAgICB9XG4gIH0sIFt0b2tlbkV4cGlyYXRpb24sIG9wZW5Nb2RhbF0pXG5cbiAgdXNlRWZmZWN0KCgpID0+IHtcbiAgICBsZXQgZm9yY2VMb2dPdXQ6IFJldHVyblR5cGU8dHlwZW9mIHNldFRpbWVvdXQ+XG4gICAgY29uc3Qgbm93ID0gTWF0aC5yb3VuZChuZXcgRGF0ZSgpLmdldFRpbWUoKSAvIDEwMDApXG4gICAgY29uc3QgcmVtYWluaW5nVGltZSA9IHR5cGVvZiB0b2tlbkV4cGlyYXRpb24gPT09ICdudW1iZXInID8gdG9rZW5FeHBpcmF0aW9uIC0gbm93IDogMFxuXG4gICAgaWYgKHJlbWFpbmluZ1RpbWUgPiAwKSB7XG4gICAgICBmb3JjZUxvZ091dCA9IHNldFRpbWVvdXQoXG4gICAgICAgICgpID0+IHtcbiAgICAgICAgICBzZXRVc2VyKG51bGwpXG4gICAgICAgICAgcmV2b2tlVG9rZW5BbmRFeHBpcmUoKVxuICAgICAgICAgIHJlZGlyZWN0VG9JbmFjdGl2aXR5Um91dGUoKVxuICAgICAgICB9LFxuICAgICAgICBNYXRoLm1heChNYXRoLm1pbihyZW1haW5pbmdUaW1lICogMTAwMCwgbWF4VGltZW91dFRpbWUpLCAwKSxcbiAgICAgIClcbiAgICB9XG5cbiAgICByZXR1cm4gKCkgPT4ge1xuICAgICAgaWYgKGZvcmNlTG9nT3V0KSBjbGVhclRpbWVvdXQoZm9yY2VMb2dPdXQpXG4gICAgfVxuICB9LCBbdG9rZW5FeHBpcmF0aW9uLCBjbG9zZUFsbE1vZGFscywgaTE4biwgcmVkaXJlY3RUb0luYWN0aXZpdHlSb3V0ZSwgcmV2b2tlVG9rZW5BbmRFeHBpcmVdKVxuXG4gIHJldHVybiAoXG4gICAgPENvbnRleHQuUHJvdmlkZXJcbiAgICAgIHZhbHVlPXt7XG4gICAgICAgIGZldGNoRnVsbFVzZXIsXG4gICAgICAgIGxvZ091dCxcbiAgICAgICAgcGVybWlzc2lvbnMsXG4gICAgICAgIHJlZnJlc2hDb29raWUsXG4gICAgICAgIHJlZnJlc2hDb29raWVBc3luYyxcbiAgICAgICAgcmVmcmVzaFBlcm1pc3Npb25zLFxuICAgICAgICBzZXRVc2VyLFxuICAgICAgICBzdHJhdGVneSxcbiAgICAgICAgdG9rZW46IHRva2VuSW5NZW1vcnksXG4gICAgICAgIHRva2VuRXhwaXJhdGlvbixcbiAgICAgICAgdXNlcixcbiAgICAgIH19XG4gICAgPlxuICAgICAge2NoaWxkcmVufVxuICAgIDwvQ29udGV4dC5Qcm92aWRlcj5cbiAgKVxufVxuXG5leHBvcnQgY29uc3QgdXNlQXV0aCA9IDxUID0gVXNlciw+KCk6IEF1dGhDb250ZXh0PFQ+ID0+IHVzZUNvbnRleHQoQ29udGV4dCkgYXMgQXV0aENvbnRleHQ8VD5cbiJdLCJuYW1lcyI6WyJBdXRoUHJvdmlkZXIiLCJ1c2VBdXRoIiwiQ29udGV4dCIsImNyZWF0ZUNvbnRleHQiLCJtYXhUaW1lb3V0VGltZSIsImNoaWxkcmVuIiwidXNlciIsInNldFVzZXIiLCJ1c2VTdGF0ZSIsInRva2VuSW5NZW1vcnkiLCJzZXRUb2tlbkluTWVtb3J5IiwidG9rZW5FeHBpcmF0aW9uIiwic2V0VG9rZW5FeHBpcmF0aW9uIiwic3RyYXRlZ3kiLCJzZXRTdHJhdGVneSIsInBhdGhuYW1lIiwidXNlTG9jYXRpb24iLCJwdXNoIiwidXNlSGlzdG9yeSIsImNvZGUiLCJ1c2VMb2NhbGUiLCJjb25maWciLCJ1c2VDb25maWciLCJhZG1pbiIsImF1dG9Mb2dpbiIsImluYWN0aXZpdHlSb3V0ZSIsImxvZ291dEluYWN0aXZpdHlSb3V0ZSIsInVzZXJTbHVnIiwicm91dGVzIiwiYXBpIiwic2VydmVyVVJMIiwicGVybWlzc2lvbnMiLCJzZXRQZXJtaXNzaW9ucyIsImkxOG4iLCJ1c2VUcmFuc2xhdGlvbiIsImNsb3NlQWxsTW9kYWxzIiwib3Blbk1vZGFsIiwidXNlTW9kYWwiLCJsYXN0TG9jYXRpb25DaGFuZ2UiLCJzZXRMYXN0TG9jYXRpb25DaGFuZ2UiLCJkZWJvdW5jZWRMb2NhdGlvbkNoYW5nZSIsInVzZURlYm91bmNlIiwiaWQiLCJyZWRpcmVjdFRvSW5hY3Rpdml0eVJvdXRlIiwidXNlQ2FsbGJhY2siLCJ3aW5kb3ciLCJsb2NhdGlvbiIsInN0YXJ0c1dpdGgiLCJyZWRpcmVjdFBhcmFtIiwiZW5jb2RlVVJJQ29tcG9uZW50IiwicmVwbGFjZSIsInJldm9rZVRva2VuQW5kRXhwaXJlIiwidW5kZWZpbmVkIiwic2V0VG9rZW5BbmRFeHBpcmF0aW9uIiwianNvbiIsInRva2VuIiwicmVmcmVzaGVkVG9rZW4iLCJleHAiLCJyZWZyZXNoQ29va2llIiwiZm9yY2VSZWZyZXNoIiwibm93IiwiTWF0aCIsInJvdW5kIiwiRGF0ZSIsImdldFRpbWUiLCJyZW1haW5pbmdUaW1lIiwic2V0VGltZW91dCIsInJlcXVlc3QiLCJyZXF1ZXN0cyIsInBvc3QiLCJoZWFkZXJzIiwibGFuZ3VhZ2UiLCJzdGF0dXMiLCJlIiwidG9hc3QiLCJlcnJvciIsIm1lc3NhZ2UiLCJyZWZyZXNoQ29va2llQXN5bmMiLCJza2lwU2V0VXNlciIsImxvZ091dCIsInJlZnJlc2hQZXJtaXNzaW9ucyIsInBhcmFtcyIsImxvY2FsZSIsImdldCIsInFzIiwic3RyaW5naWZ5IiwiRXJyb3IiLCJmZXRjaEZ1bGxVc2VyIiwiUmVhY3QiLCJwcmVmaWxsT25seSIsImF1dG9Mb2dpblJlc3VsdCIsImJvZHkiLCJKU09OIiwiZW1haWwiLCJwYXNzd29yZCIsImF1dG9Mb2dpbkpzb24iLCJ1c2VFZmZlY3QiLCJyZW1pbmRlciIsIm1heCIsIm1pbiIsImNsZWFyVGltZW91dCIsImZvcmNlTG9nT3V0IiwiUHJvdmlkZXIiLCJ2YWx1ZSIsInVzZUNvbnRleHQiXSwicmFuZ2VNYXBwaW5ncyI6Ijs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7OyIsIm1hcHBpbmdzIjoiOzs7Ozs7Ozs7OztJQW1CYUEsWUFBWTtlQUFaQTs7SUFpU0FDLE9BQU87ZUFBUEE7Ozt1QkFwVFk7MkRBQ1Y7K0RBQ29FOzhCQUNwRDtnQ0FDUzsrQkFDbEI7cUJBS0c7b0VBQ0Q7d0JBQ0U7d0JBQ0E7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7O0FBRTFCLE1BQU1DLHdCQUFVQyxJQUFBQSxvQkFBYSxFQUFDLENBQUM7QUFFL0IsTUFBTUMsaUJBQWlCO0FBRWhCLE1BQU1KLGVBQXdELENBQUMsRUFBRUssUUFBUSxFQUFFO0lBQ2hGLE1BQU0sQ0FBQ0MsTUFBTUMsUUFBUSxHQUFHQyxJQUFBQSxlQUFRO0lBQ2hDLE1BQU0sQ0FBQ0MsZUFBZUMsaUJBQWlCLEdBQUdGLElBQUFBLGVBQVE7SUFDbEQsTUFBTSxDQUFDRyxpQkFBaUJDLG1CQUFtQixHQUFHSixJQUFBQSxlQUFRO0lBQ3RELE1BQU0sQ0FBQ0ssVUFBVUMsWUFBWSxHQUFHTixJQUFBQSxlQUFRO0lBQ3hDLE1BQU0sRUFBRU8sUUFBUSxFQUFFLEdBQUdDLElBQUFBLDJCQUFXO0lB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
|
|
369
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uL3NyYy9hZG1pbi9jb21wb25lbnRzL3V0aWxpdGllcy9BdXRoL2luZGV4LnRzeCJdLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyB1c2VNb2RhbCB9IGZyb20gJ0BmYWNlbGVzcy11aS9tb2RhbCdcbmltcG9ydCBxcyBmcm9tICdxcydcbmltcG9ydCBSZWFjdCwgeyBjcmVhdGVDb250ZXh0LCB1c2VDYWxsYmFjaywgdXNlQ29udGV4dCwgdXNlRWZmZWN0LCB1c2VTdGF0ZSB9IGZyb20gJ3JlYWN0J1xuaW1wb3J0IHsgdXNlVHJhbnNsYXRpb24gfSBmcm9tICdyZWFjdC1pMThuZXh0J1xuaW1wb3J0IHsgdXNlSGlzdG9yeSwgdXNlTG9jYXRpb24gfSBmcm9tICdyZWFjdC1yb3V0ZXItZG9tJ1xuaW1wb3J0IHsgdG9hc3QgfSBmcm9tICdyZWFjdC10b2FzdGlmeSdcblxuaW1wb3J0IHR5cGUgeyBQZXJtaXNzaW9ucywgVXNlciB9IGZyb20gJy4uLy4uLy4uLy4uL2F1dGgvdHlwZXMnXG5pbXBvcnQgdHlwZSB7IEF1dGhDb250ZXh0IH0gZnJvbSAnLi90eXBlcydcblxuaW1wb3J0IHsgcmVxdWVzdHMgfSBmcm9tICcuLi8uLi8uLi9hcGknXG5pbXBvcnQgdXNlRGVib3VuY2UgZnJvbSAnLi4vLi4vLi4vaG9va3MvdXNlRGVib3VuY2UnXG5pbXBvcnQgeyB1c2VDb25maWcgfSBmcm9tICcuLi9Db25maWcnXG5cbmNvbnN0IENvbnRleHQgPSBjcmVhdGVDb250ZXh0KHt9IGFzIEF1dGhDb250ZXh0KVxuXG5jb25zdCBtYXhUaW1lb3V0VGltZSA9IDIxNDc0ODM2NDdcblxuZXhwb3J0IGNvbnN0IEF1dGhQcm92aWRlcjogUmVhY3QuRkM8eyBjaGlsZHJlbjogUmVhY3QuUmVhY3ROb2RlIH0+ID0gKHsgY2hpbGRyZW4gfSkgPT4ge1xuICBjb25zdCBbdXNlciwgc2V0VXNlcl0gPSB1c2VTdGF0ZTxVc2VyIHwgbnVsbD4oKVxuICBjb25zdCBbdG9rZW5Jbk1lbW9yeSwgc2V0VG9rZW5Jbk1lbW9yeV0gPSB1c2VTdGF0ZTxzdHJpbmc+KClcbiAgY29uc3QgW3Rva2VuRXhwaXJhdGlvbiwgc2V0VG9rZW5FeHBpcmF0aW9uXSA9IHVzZVN0YXRlPG51bWJlcj4oKVxuICBjb25zdCBbc3RyYXRlZ3ksIHNldFN0cmF0ZWd5XSA9IHVzZVN0YXRlPHN0cmluZz4oKVxuICBjb25zdCB7IHBhdGhuYW1lIH0gPSB1c2VMb2NhdGlvbigpXG4gIGNvbnN0IHsgcHVzaCB9ID0gdXNlSGlzdG9yeSgpXG5cbiAgY29uc3QgY29uZmlnID0gdXNlQ29uZmlnKClcblxuICBjb25zdCB7XG4gICAgYWRtaW46IHsgYXV0b0xvZ2luLCBpbmFjdGl2aXR5Um91dGU6IGxvZ291dEluYWN0aXZpdHlSb3V0ZSwgdXNlcjogdXNlclNsdWcgfSxcbiAgICByb3V0ZXM6IHsgYWRtaW4sIGFwaSB9LFxuICAgIHNlcnZlclVSTCxcbiAgfSA9IGNvbmZpZ1xuXG4gIGNvbnN0IFtwZXJtaXNzaW9ucywgc2V0UGVybWlzc2lvbnNdID0gdXNlU3RhdGU8UGVybWlzc2lvbnM+KClcblxuICBjb25zdCB7IGkxOG4gfSA9IHVzZVRyYW5zbGF0aW9uKClcbiAgY29uc3QgeyBjbG9zZUFsbE1vZGFscywgb3Blbk1vZGFsIH0gPSB1c2VNb2RhbCgpXG4gIGNvbnN0IFtsYXN0TG9jYXRpb25DaGFuZ2UsIHNldExhc3RMb2NhdGlvbkNoYW5nZV0gPSB1c2VTdGF0ZSgwKVxuICBjb25zdCBkZWJvdW5jZWRMb2NhdGlvbkNoYW5nZSA9IHVzZURlYm91bmNlKGxhc3RMb2NhdGlvbkNoYW5nZSwgMTAwMDApXG4gIGNvbnN0IHVzZXJJRFJlZiA9IFJlYWN0LnVzZVJlZjxudWxsIHwgbnVtYmVyIHwgc3RyaW5nPigpXG5cbiAgY29uc3QgaWQgPSB1c2VyPy5pZFxuXG4gIGNvbnN0IHJlZnJlc2hQZXJtaXNzaW9ucyA9IHVzZUNhbGxiYWNrKFxuICAgIGFzeW5jICh7IGxvY2FsZSB9OiB7IGxvY2FsZT86IHN0cmluZyB9ID0ge30pID0+IHtcbiAgICAgIGNvbnN0IHBhcmFtcyA9IHtcbiAgICAgICAgbG9jYWxlLFxuICAgICAgfVxuICAgICAgdHJ5IHtcbiAgICAgICAgY29uc3QgcmVxdWVzdCA9IGF3YWl0IHJlcXVlc3RzLmdldChcbiAgICAgICAgICBgJHtzZXJ2ZXJVUkx9JHthcGl9L2FjY2VzcyR7cXMuc3RyaW5naWZ5KHBhcmFtcywgeyBhZGRRdWVyeVByZWZpeDogdHJ1ZSB9KX1gLFxuICAgICAgICAgIHtcbiAgICAgICAgICAgIGhlYWRlcnM6IHtcbiAgICAgICAgICAgICAgJ0FjY2VwdC1MYW5ndWFnZSc6IGkxOG4ubGFuZ3VhZ2UsXG4gICAgICAgICAgICB9LFxuICAgICAgICAgIH0sXG4gICAgICAgIClcblxuICAgICAgICBpZiAocmVxdWVzdC5zdGF0dXMgPT09IDIwMCkge1xuICAgICAgICAgIGNvbnN0IGpzb246IFBlcm1pc3Npb25zID0gYXdhaXQgcmVxdWVzdC5qc29uKClcbiAgICAgICAgICBzZXRQZXJtaXNzaW9ucyhqc29uKVxuICAgICAgICB9IGVsc2Uge1xuICAgICAgICAgIHRocm93IG5ldyBFcnJvcihgRmV0Y2hpbmcgcGVybWlzc2lvbnMgZmFpbGVkIHdpdGggc3RhdHVzIGNvZGUgJHtyZXF1ZXN0LnN0YXR1c31gKVxuICAgICAgICB9XG4gICAgICB9IGNhdGNoIChlKSB7XG4gICAgICAgIHRvYXN0LmVycm9yKGBSZWZyZXNoaW5nIHBlcm1pc3Npb25zIGZhaWxlZDogJHtlLm1lc3NhZ2V9YClcbiAgICAgIH1cbiAgICB9LFxuICAgIFtzZXJ2ZXJVUkwsIGFwaSwgaTE4bl0sXG4gIClcblxuICBjb25zdCBzZXRBY3RpdmVVc2VyID0gUmVhY3QudXNlQ2FsbGJhY2soXG4gICAgKHVzZXI6IFVzZXIgfCBudWxsKSA9PiB7XG4gICAgICBzZXRVc2VyKHVzZXIpXG4gICAgICB1c2VySURSZWYuY3VycmVudCA9IHVzZXI/LmlkIHx8IG51bGxcbiAgICAgIHZvaWQgcmVmcmVzaFBlcm1pc3Npb25zKClcbiAgICB9LFxuICAgIFtyZWZyZXNoUGVybWlzc2lvbnNdLFxuICApXG5cbiAgY29uc3QgcmVkaXJlY3RUb0luYWN0aXZpdHlSb3V0ZSA9IHVzZUNhbGxiYWNrKCgpID0+IHtcbiAgICBpZiAod2luZG93LmxvY2F0aW9uLnBhdGhuYW1lLnN0YXJ0c1dpdGgoYWRtaW4pKSB7XG4gICAgICBjb25zdCByZWRpcmVjdFBhcmFtID0gYD9yZWRpcmVjdD0ke2VuY29kZVVSSUNvbXBvbmVudChcbiAgICAgICAgd2luZG93LmxvY2F0aW9uLnBhdGhuYW1lLnJlcGxhY2UoYWRtaW4sICcnKSxcbiAgICAgICl9YFxuICAgICAgcHVzaChgJHthZG1pbn0ke2xvZ291dEluYWN0aXZpdHlSb3V0ZX0ke3JlZGlyZWN0UGFyYW19YClcbiAgICB9IGVsc2Uge1xuICAgICAgcHVzaChgJHthZG1pbn0ke2xvZ291dEluYWN0aXZpdHlSb3V0ZX1gKVxuICAgIH1cbiAgICBjbG9zZUFsbE1vZGFscygpXG4gIH0sIFtwdXNoLCBhZG1pbiwgbG9nb3V0SW5hY3Rpdml0eVJvdXRlLCBjbG9zZUFsbE1vZGFsc10pXG5cbiAgY29uc3QgcmV2b2tlVG9rZW5BbmRFeHBpcmUgPSB1c2VDYWxsYmFjaygoKSA9PiB7XG4gICAgc2V0VG9rZW5Jbk1lbW9yeSh1bmRlZmluZWQpXG4gICAgc2V0VG9rZW5FeHBpcmF0aW9uKHVuZGVmaW5lZClcbiAgICBzZXRTdHJhdGVneSh1bmRlZmluZWQpXG4gIH0sIFtdKVxuXG4gIGNvbnN0IHNldFRva2VuQW5kRXhwaXJhdGlvbiA9IHVzZUNhbGxiYWNrKFxuICAgIChqc29uKSA9PiB7XG4gICAgICBjb25zdCB0b2tlbiA9IGpzb24/LnRva2VuIHx8IGpzb24/LnJlZnJlc2hlZFRva2VuXG4gICAgICBpZiAodG9rZW4gJiYganNvbj8uZXhwKSB7XG4gICAgICAgIHNldFRva2VuSW5NZW1vcnkodG9rZW4pXG4gICAgICAgIHNldFRva2VuRXhwaXJhdGlvbihqc29uLmV4cClcbiAgICAgICAgaWYgKGpzb24uc3RyYXRlZ3kpIHtcbiAgICAgICAgICBzZXRTdHJhdGVneShqc29uLnN0cmF0ZWd5KVxuICAgICAgICB9XG4gICAgICB9IGVsc2Uge1xuICAgICAgICByZXZva2VUb2tlbkFuZEV4cGlyZSgpXG4gICAgICB9XG4gICAgfSxcbiAgICBbcmV2b2tlVG9rZW5BbmRFeHBpcmVdLFxuICApXG5cbiAgY29uc3QgcmVmcmVzaENvb2tpZSA9IHVzZUNhbGxiYWNrKFxuICAgIChmb3JjZVJlZnJlc2g/OiBib29sZWFuKSA9PiB7XG4gICAgICBjb25zdCBub3cgPSBNYXRoLnJvdW5kKG5ldyBEYXRlKCkuZ2V0VGltZSgpIC8gMTAwMClcbiAgICAgIGNvbnN0IHJlbWFpbmluZ1RpbWUgPSAodHlwZW9mIHRva2VuRXhwaXJhdGlvbiA9PT0gJ251bWJlcicgPyB0b2tlbkV4cGlyYXRpb24gOiAwKSAtIG5vd1xuXG4gICAgICBpZiAoZm9yY2VSZWZyZXNoIHx8ICh0b2tlbkV4cGlyYXRpb24gJiYgcmVtYWluaW5nVGltZSA8IDEyMCkpIHtcbiAgICAgICAgc2V0VGltZW91dChhc3luYyAoKSA9PiB7XG4gICAgICAgICAgdHJ5IHtcbiAgICAgICAgICAgIGNvbnN0IHJlcXVlc3QgPSBhd2FpdCByZXF1ZXN0cy5wb3N0KGAke3NlcnZlclVSTH0ke2FwaX0vJHt1c2VyU2x1Z30vcmVmcmVzaC10b2tlbmAsIHtcbiAgICAgICAgICAgICAgaGVhZGVyczoge1xuICAgICAgICAgICAgICAgICdBY2NlcHQtTGFuZ3VhZ2UnOiBpMThuLmxhbmd1YWdlLFxuICAgICAgICAgICAgICB9LFxuICAgICAgICAgICAgfSlcblxuICAgICAgICAgICAgaWYgKHJlcXVlc3Quc3RhdHVzID09PSAyMDApIHtcbiAgICAgICAgICAgICAgY29uc3QganNvbiA9IGF3YWl0IHJlcXVlc3QuanNvbigpXG4gICAgICAgICAgICAgIHNldEFjdGl2ZVVzZXIoanNvbi51c2VyKVxuICAgICAgICAgICAgICBzZXRUb2tlbkFuZEV4cGlyYXRpb24oanNvbilcbiAgICAgICAgICAgIH0gZWxzZSB7XG4gICAgICAgICAgICAgIHNldEFjdGl2ZVVzZXIobnVsbClcbiAgICAgICAgICAgICAgcmVkaXJlY3RUb0luYWN0aXZpdHlSb3V0ZSgpXG4gICAgICAgICAgICB9XG4gICAgICAgICAgfSBjYXRjaCAoZSkge1xuICAgICAgICAgICAgdG9hc3QuZXJyb3IoZS5tZXNzYWdlKVxuICAgICAgICAgIH1cbiAgICAgICAgfSwgMTAwMClcbiAgICAgIH1cbiAgICB9LFxuICAgIFtcbiAgICAgIHRva2VuRXhwaXJhdGlvbixcbiAgICAgIHNlcnZlclVSTCxcbiAgICAgIGFwaSxcbiAgICAgIHVzZXJTbHVnLFxuICAgICAgaTE4bi5sYW5ndWFnZSxcbiAgICAgIHNldEFjdGl2ZVVzZXIsXG4gICAgICBzZXRUb2tlbkFuZEV4cGlyYXRpb24sXG4gICAgICByZWRpcmVjdFRvSW5hY3Rpdml0eVJvdXRlLFxuICAgIF0sXG4gIClcblxuICBjb25zdCByZWZyZXNoQ29va2llQXN5bmMgPSB1c2VDYWxsYmFjayhcbiAgICBhc3luYyAoc2tpcFNldFVzZXI/OiBib29sZWFuKTogUHJvbWlzZTxVc2VyPiA9PiB7XG4gICAgICB0cnkge1xuICAgICAgICBjb25zdCByZXF1ZXN0ID0gYXdhaXQgcmVxdWVzdHMucG9zdChgJHtzZXJ2ZXJVUkx9JHthcGl9LyR7dXNlclNsdWd9L3JlZnJlc2gtdG9rZW5gLCB7XG4gICAgICAgICAgaGVhZGVyczoge1xuICAgICAgICAgICAgJ0FjY2VwdC1MYW5ndWFnZSc6IGkxOG4ubGFuZ3VhZ2UsXG4gICAgICAgICAgfSxcbiAgICAgICAgfSlcblxuICAgICAgICBpZiAocmVxdWVzdC5zdGF0dXMgPT09IDIwMCkge1xuICAgICAgICAgIGNvbnN0IGpzb24gPSBhd2FpdCByZXF1ZXN0Lmpzb24oKVxuICAgICAgICAgIGlmICghc2tpcFNldFVzZXIpIHtcbiAgICAgICAgICAgIHNldEFjdGl2ZVVzZXIoanNvbi51c2VyKVxuICAgICAgICAgICAgc2V0VG9rZW5BbmRFeHBpcmF0aW9uKGpzb24pXG4gICAgICAgICAgfVxuICAgICAgICAgIHJldHVybiBqc29uLnVzZXJcbiAgICAgICAgfVxuXG4gICAgICAgIHNldEFjdGl2ZVVzZXIobnVsbClcbiAgICAgICAgcmVkaXJlY3RUb0luYWN0aXZpdHlSb3V0ZSgpXG4gICAgICAgIHJldHVybiBudWxsXG4gICAgICB9IGNhdGNoIChlKSB7XG4gICAgICAgIHRvYXN0LmVycm9yKGBSZWZyZXNoaW5nIHRva2VuIGZhaWxlZDogJHtlLm1lc3NhZ2V9YClcbiAgICAgICAgcmV0dXJuIG51bGxcbiAgICAgIH1cbiAgICB9LFxuICAgIFtcbiAgICAgIHNlcnZlclVSTCxcbiAgICAgIGFwaSxcbiAgICAgIHVzZXJTbHVnLFxuICAgICAgaTE4bixcbiAgICAgIHJlZGlyZWN0VG9JbmFjdGl2aXR5Um91dGUsXG4gICAgICBzZXRUb2tlbkFuZEV4cGlyYXRpb24sXG4gICAgICBzZXRBY3RpdmVVc2VyLFxuICAgIF0sXG4gIClcblxuICBjb25zdCBsb2dPdXQgPSB1c2VDYWxsYmFjaygoKSA9PiB7XG4gICAgc2V0QWN0aXZlVXNlcihudWxsKVxuICAgIHJldm9rZVRva2VuQW5kRXhwaXJlKClcbiAgICB2b2lkIHJlcXVlc3RzLnBvc3QoYCR7c2VydmVyVVJMfSR7YXBpfS8ke3VzZXJTbHVnfS9sb2dvdXRgKVxuICB9LCBbc2VydmVyVVJMLCBhcGksIHVzZXJTbHVnLCByZXZva2VUb2tlbkFuZEV4cGlyZSwgc2V0QWN0aXZlVXNlcl0pXG5cbiAgY29uc3QgZmV0Y2hGdWxsVXNlciA9IFJlYWN0LnVzZUNhbGxiYWNrKGFzeW5jICgpID0+IHtcbiAgICB0cnkge1xuICAgICAgY29uc3QgcmVxdWVzdCA9IGF3YWl0IHJlcXVlc3RzLmdldChgJHtzZXJ2ZXJVUkx9JHthcGl9LyR7dXNlclNsdWd9L21lYCwge1xuICAgICAgICBoZWFkZXJzOiB7XG4gICAgICAgICAgJ0FjY2VwdC1MYW5ndWFnZSc6IGkxOG4ubGFuZ3VhZ2UsXG4gICAgICAgIH0sXG4gICAgICB9KVxuXG4gICAgICBpZiAocmVxdWVzdC5zdGF0dXMgPT09IDIwMCkge1xuICAgICAgICBjb25zdCBqc29uID0gYXdhaXQgcmVxdWVzdC5qc29uKClcblxuICAgICAgICBpZiAoanNvbj8udXNlcikge1xuICAgICAgICAgIHNldEFjdGl2ZVVzZXIoanNvbi51c2VyKVxuICAgICAgICAgIGlmIChqc29uPy50b2tlbikge1xuICAgICAgICAgICAgc2V0VG9rZW5BbmRFeHBpcmF0aW9uKGpzb24pXG4gICAgICAgICAgfVxuICAgICAgICB9IGVsc2UgaWYgKGF1dG9Mb2dpbiAmJiBhdXRvTG9naW4ucHJlZmlsbE9ubHkgIT09IHRydWUpIHtcbiAgICAgICAgICAvLyBhdXRvIGxvZy1pbiB3aXRoIHRoZSBwcm92aWRlZCBhdXRvTG9naW4gY3JlZGVudGlhbHMuIFRoaXMgaXMgdXNlZCBpbiBkZXYgbW9kZVxuICAgICAgICAgIC8vIHNvIHlvdSBkb24ndCBoYXZlIHRvIGxvZyBpbiBvdmVyIGFuZCBvdmVyIGFnYWluXG4gICAgICAgICAgY29uc3QgYXV0b0xvZ2luUmVzdWx0ID0gYXdhaXQgcmVxdWVzdHMucG9zdChgJHtzZXJ2ZXJVUkx9JHthcGl9LyR7dXNlclNsdWd9L2xvZ2luYCwge1xuICAgICAgICAgICAgYm9keTogSlNPTi5zdHJpbmdpZnkoe1xuICAgICAgICAgICAgICBlbWFpbDogYXV0b0xvZ2luLmVtYWlsLFxuICAgICAgICAgICAgICBwYXNzd29yZDogYXV0b0xvZ2luLnBhc3N3b3JkLFxuICAgICAgICAgICAgfSksXG4gICAgICAgICAgICBoZWFkZXJzOiB7XG4gICAgICAgICAgICAgICdBY2NlcHQtTGFuZ3VhZ2UnOiBpMThuLmxhbmd1YWdlLFxuICAgICAgICAgICAgICAnQ29udGVudC1UeXBlJzogJ2FwcGxpY2F0aW9uL2pzb24nLFxuICAgICAgICAgICAgfSxcbiAgICAgICAgICB9KVxuICAgICAgICAgIGlmIChhdXRvTG9naW5SZXN1bHQuc3RhdHVzID09PSAyMDApIHtcbiAgICAgICAgICAgIGNvbnN0IGF1dG9Mb2dpbkpzb24gPSBhd2FpdCBhdXRvTG9naW5SZXN1bHQuanNvbigpXG4gICAgICAgICAgICBzZXRBY3RpdmVVc2VyKGF1dG9Mb2dpbkpzb24udXNlcilcbiAgICAgICAgICAgIGlmIChhdXRvTG9naW5Kc29uPy50b2tlbikge1xuICAgICAgICAgICAgICBzZXRUb2tlbkFuZEV4cGlyYXRpb24oYXV0b0xvZ2luSnNvbilcbiAgICAgICAgICAgIH1cbiAgICAgICAgICB9IGVsc2Uge1xuICAgICAgICAgICAgc2V0QWN0aXZlVXNlcihudWxsKVxuICAgICAgICAgICAgcmV2b2tlVG9rZW5BbmRFeHBpcmUoKVxuICAgICAgICAgIH1cbiAgICAgICAgfSBlbHNlIHtcbiAgICAgICAgICBzZXRBY3RpdmVVc2VyKG51bGwpXG4gICAgICAgICAgcmV2b2tlVG9rZW5BbmRFeHBpcmUoKVxuICAgICAgICB9XG4gICAgICB9XG4gICAgfSBjYXRjaCAoZSkge1xuICAgICAgdG9hc3QuZXJyb3IoYEZldGNoaW5nIHVzZXIgZmFpbGVkOiAke2UubWVzc2FnZX1gKVxuICAgIH1cbiAgfSwgW1xuICAgIHNlcnZlclVSTCxcbiAgICBhcGksXG4gICAgdXNlclNsdWcsXG4gICAgaTE4bixcbiAgICBhdXRvTG9naW4sXG4gICAgc2V0VG9rZW5BbmRFeHBpcmF0aW9uLFxuICAgIHJldm9rZVRva2VuQW5kRXhwaXJlLFxuICAgIHNldEFjdGl2ZVVzZXIsXG4gIF0pXG5cbiAgLy8gT24gbW91bnQsIGdldCB1c2VyIGFuZCBzZXRcbiAgdXNlRWZmZWN0KCgpID0+IHtcbiAgICBpZiAoaWQgPT09IHVuZGVmaW5lZCB8fCBpZCAhPT0gdXNlcklEUmVmLmN1cnJlbnQpIHtcbiAgICAgIHZvaWQgZmV0Y2hGdWxsVXNlcigpXG4gICAgfVxuICB9LCBbZmV0Y2hGdWxsVXNlciwgaWRdKVxuXG4gIC8vIFdoZW4gbG9jYXRpb24gY2hhbmdlcywgcmVmcmVzaCBjb29raWVcbiAgdXNlRWZmZWN0KCgpID0+IHtcbiAgICBpZiAoaWQpIHtcbiAgICAgIHJlZnJlc2hDb29raWUoKVxuICAgIH1cbiAgfSwgW2RlYm91bmNlZExvY2F0aW9uQ2hhbmdlLCByZWZyZXNoQ29va2llLCBpZF0pXG5cbiAgdXNlRWZmZWN0KCgpID0+IHtcbiAgICBzZXRMYXN0TG9jYXRpb25DaGFuZ2UoRGF0ZS5ub3coKSlcbiAgfSwgW3BhdGhuYW1lXSlcblxuICB1c2VFZmZlY3QoKCkgPT4ge1xuICAgIGxldCByZW1pbmRlcjogUmV0dXJuVHlwZTx0eXBlb2Ygc2V0VGltZW91dD5cbiAgICBjb25zdCBub3cgPSBNYXRoLnJvdW5kKG5ldyBEYXRlKCkuZ2V0VGltZSgpIC8gMTAwMClcbiAgICBjb25zdCByZW1haW5pbmdUaW1lID0gdHlwZW9mIHRva2VuRXhwaXJhdGlvbiA9PT0gJ251bWJlcicgPyB0b2tlbkV4cGlyYXRpb24gLSBub3cgOiAwXG5cbiAgICBpZiAocmVtYWluaW5nVGltZSA+IDApIHtcbiAgICAgIHJlbWluZGVyID0gc2V0VGltZW91dChcbiAgICAgICAgKCkgPT4ge1xuICAgICAgICAgIG9wZW5Nb2RhbCgnc3RheS1sb2dnZWQtaW4nKVxuICAgICAgICB9LFxuICAgICAgICBNYXRoLm1heChNYXRoLm1pbigocmVtYWluaW5nVGltZSAtIDYwKSAqIDEwMDAsIG1heFRpbWVvdXRUaW1lKSksXG4gICAgICApXG4gICAgfVxuXG4gICAgcmV0dXJuICgpID0+IHtcbiAgICAgIGlmIChyZW1pbmRlcikgY2xlYXJUaW1lb3V0KHJlbWluZGVyKVxuICAgIH1cbiAgfSwgW3Rva2VuRXhwaXJhdGlvbiwgb3Blbk1vZGFsXSlcblxuICB1c2VFZmZlY3QoKCkgPT4ge1xuICAgIGxldCBmb3JjZUxvZ091dDogUmV0dXJuVHlwZTx0eXBlb2Ygc2V0VGltZW91dD5cbiAgICBjb25zdCBub3cgPSBNYXRoLnJvdW5kKG5ldyBEYXRlKCkuZ2V0VGltZSgpIC8gMTAwMClcbiAgICBjb25zdCByZW1haW5pbmdUaW1lID0gdHlwZW9mIHRva2VuRXhwaXJhdGlvbiA9PT0gJ251bWJlcicgPyB0b2tlbkV4cGlyYXRpb24gLSBub3cgOiAwXG5cbiAgICBpZiAocmVtYWluaW5nVGltZSA+IDApIHtcbiAgICAgIGZvcmNlTG9nT3V0ID0gc2V0VGltZW91dChcbiAgICAgICAgKCkgPT4ge1xuICAgICAgICAgIHNldEFjdGl2ZVVzZXIobnVsbClcbiAgICAgICAgICByZXZva2VUb2tlbkFuZEV4cGlyZSgpXG4gICAgICAgICAgcmVkaXJlY3RUb0luYWN0aXZpdHlSb3V0ZSgpXG4gICAgICAgIH0sXG4gICAgICAgIE1hdGgubWF4KE1hdGgubWluKHJlbWFpbmluZ1RpbWUgKiAxMDAwLCBtYXhUaW1lb3V0VGltZSksIDApLFxuICAgICAgKVxuICAgIH1cblxuICAgIHJldHVybiAoKSA9PiB7XG4gICAgICBpZiAoZm9yY2VMb2dPdXQpIGNsZWFyVGltZW91dChmb3JjZUxvZ091dClcbiAgICB9XG4gIH0sIFtcbiAgICB0b2tlbkV4cGlyYXRpb24sXG4gICAgY2xvc2VBbGxNb2RhbHMsXG4gICAgaTE4bixcbiAgICByZWRpcmVjdFRvSW5hY3Rpdml0eVJvdXRlLFxuICAgIHJldm9rZVRva2VuQW5kRXhwaXJlLFxuICAgIHNldEFjdGl2ZVVzZXIsXG4gIF0pXG5cbiAgcmV0dXJuIChcbiAgICA8Q29udGV4dC5Qcm92aWRlclxuICAgICAgdmFsdWU9e3tcbiAgICAgICAgZmV0Y2hGdWxsVXNlcixcbiAgICAgICAgbG9nT3V0LFxuICAgICAgICBwZXJtaXNzaW9ucyxcbiAgICAgICAgcmVmcmVzaENvb2tpZSxcbiAgICAgICAgcmVmcmVzaENvb2tpZUFzeW5jLFxuICAgICAgICByZWZyZXNoUGVybWlzc2lvbnMsXG4gICAgICAgIHNldFVzZXI6IHNldEFjdGl2ZVVzZXIsXG4gICAgICAgIHN0cmF0ZWd5LFxuICAgICAgICB0b2tlbjogdG9rZW5Jbk1lbW9yeSxcbiAgICAgICAgdG9rZW5FeHBpcmF0aW9uLFxuICAgICAgICB1c2VyLFxuICAgICAgfX1cbiAgICA+XG4gICAgICB7Y2hpbGRyZW59XG4gICAgPC9Db250ZXh0LlByb3ZpZGVyPlxuICApXG59XG5cbmV4cG9ydCBjb25zdCB1c2VBdXRoID0gPFQgPSBVc2VyLD4oKTogQXV0aENvbnRleHQ8VD4gPT4gdXNlQ29udGV4dChDb250ZXh0KSBhcyBBdXRoQ29udGV4dDxUPlxuIl0sIm5hbWVzIjpbIkF1dGhQcm92aWRlciIsInVzZUF1dGgiLCJDb250ZXh0IiwiY3JlYXRlQ29udGV4dCIsIm1heFRpbWVvdXRUaW1lIiwiY2hpbGRyZW4iLCJ1c2VyIiwic2V0VXNlciIsInVzZVN0YXRlIiwidG9rZW5Jbk1lbW9yeSIsInNldFRva2VuSW5NZW1vcnkiLCJ0b2tlbkV4cGlyYXRpb24iLCJzZXRUb2tlbkV4cGlyYXRpb24iLCJzdHJhdGVneSIsInNldFN0cmF0ZWd5IiwicGF0aG5hbWUiLCJ1c2VMb2NhdGlvbiIsInB1c2giLCJ1c2VIaXN0b3J5IiwiY29uZmlnIiwidXNlQ29uZmlnIiwiYWRtaW4iLCJhdXRvTG9naW4iLCJpbmFjdGl2aXR5Um91dGUiLCJsb2dvdXRJbmFjdGl2aXR5Um91dGUiLCJ1c2VyU2x1ZyIsInJvdXRlcyIsImFwaSIsInNlcnZlclVSTCIsInBlcm1pc3Npb25zIiwic2V0UGVybWlzc2lvbnMiLCJpMThuIiwidXNlVHJhbnNsYXRpb24iLCJjbG9zZUFsbE1vZGFscyIsIm9wZW5Nb2RhbCIsInVzZU1vZGFsIiwibGFzdExvY2F0aW9uQ2hhbmdlIiwic2V0TGFzdExvY2F0aW9uQ2hhbmdlIiwiZGVib3VuY2VkTG9jYXRpb25DaGFuZ2UiLCJ1c2VEZWJvdW5jZSIsInVzZXJJRFJlZiIsIlJlYWN0IiwidXNlUmVmIiwiaWQiLCJyZWZyZXNoUGVybWlzc2lvbnMiLCJ1c2VDYWxsYmFjayIsImxvY2FsZSIsInBhcmFtcyIsInJlcXVlc3QiLCJyZXF1ZXN0cyIsImdldCIsInFzIiwic3RyaW5naWZ5IiwiYWRkUXVlcnlQcmVmaXgiLCJoZWFkZXJzIiwibGFuZ3VhZ2UiLCJzdGF0dXMiLCJqc29uIiwiRXJyb3IiLCJlIiwidG9hc3QiLCJlcnJvciIsIm1lc3NhZ2UiLCJzZXRBY3RpdmVVc2VyIiwiY3VycmVudCIsInJlZGlyZWN0VG9JbmFjdGl2aXR5Um91dGUiLCJ3aW5kb3ciLCJsb2NhdGlvbiIsInN0YXJ0c1dpdGgiLCJyZWRpcmVjdFBhcmFtIiwiZW5jb2RlVVJJQ29tcG9uZW50IiwicmVwbGFjZSIsInJldm9rZVRva2VuQW5kRXhwaXJlIiwidW5kZWZpbmVkIiwic2V0VG9rZW5BbmRFeHBpcmF0aW9uIiwidG9rZW4iLCJyZWZyZXNoZWRUb2tlbiIsImV4cCIsInJlZnJlc2hDb29raWUiLCJmb3JjZVJlZnJlc2giLCJub3ciLCJNYXRoIiwicm91bmQiLCJEYXRlIiwiZ2V0VGltZSIsInJlbWFpbmluZ1RpbWUiLCJzZXRUaW1lb3V0IiwicG9zdCIsInJlZnJlc2hDb29raWVBc3luYyIsInNraXBTZXRVc2VyIiwibG9nT3V0IiwiZmV0Y2hGdWxsVXNlciIsInByZWZpbGxPbmx5IiwiYXV0b0xvZ2luUmVzdWx0IiwiYm9keSIsIkpTT04iLCJlbWFpbCIsInBhc3N3b3JkIiwiYXV0b0xvZ2luSnNvbiIsInVzZUVmZmVjdCIsInJlbWluZGVyIiwibWF4IiwibWluIiwiY2xlYXJUaW1lb3V0IiwiZm9yY2VMb2dPdXQiLCJQcm92aWRlciIsInZhbHVlIiwidXNlQ29udGV4dCJdLCJyYW5nZU1hcHBpbmdzIjoiOzs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7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
|
|
@@ -5,7 +5,9 @@ export type AuthContext<T = User> = {
|
|
|
5
5
|
permissions?: Permissions;
|
|
6
6
|
refreshCookie: (forceRefresh?: boolean) => void;
|
|
7
7
|
refreshCookieAsync: () => Promise<User>;
|
|
8
|
-
refreshPermissions: (
|
|
8
|
+
refreshPermissions: ({ locale }?: {
|
|
9
|
+
locale?: string;
|
|
10
|
+
}) => Promise<void>;
|
|
9
11
|
setUser: (user: T) => void;
|
|
10
12
|
strategy?: string;
|
|
11
13
|
token?: string;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"types.d.ts","sourceRoot":"","sources":["../../../../../src/admin/components/utilities/Auth/types.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,WAAW,EAAE,IAAI,EAAE,MAAM,wBAAwB,CAAA;AAE/D,MAAM,MAAM,WAAW,CAAC,CAAC,GAAG,IAAI,IAAI;IAClC,aAAa,EAAE,MAAM,OAAO,CAAC,IAAI,CAAC,CAAA;IAClC,MAAM,EAAE,MAAM,IAAI,CAAA;IAClB,WAAW,CAAC,EAAE,WAAW,CAAA;IACzB,aAAa,EAAE,CAAC,YAAY,CAAC,EAAE,OAAO,KAAK,IAAI,CAAA;IAC/C,kBAAkB,EAAE,MAAM,OAAO,CAAC,IAAI,CAAC,CAAA;IACvC,kBAAkB,EAAE,MAAM,OAAO,CAAC,IAAI,CAAC,CAAA;
|
|
1
|
+
{"version":3,"file":"types.d.ts","sourceRoot":"","sources":["../../../../../src/admin/components/utilities/Auth/types.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,WAAW,EAAE,IAAI,EAAE,MAAM,wBAAwB,CAAA;AAE/D,MAAM,MAAM,WAAW,CAAC,CAAC,GAAG,IAAI,IAAI;IAClC,aAAa,EAAE,MAAM,OAAO,CAAC,IAAI,CAAC,CAAA;IAClC,MAAM,EAAE,MAAM,IAAI,CAAA;IAClB,WAAW,CAAC,EAAE,WAAW,CAAA;IACzB,aAAa,EAAE,CAAC,YAAY,CAAC,EAAE,OAAO,KAAK,IAAI,CAAA;IAC/C,kBAAkB,EAAE,MAAM,OAAO,CAAC,IAAI,CAAC,CAAA;IACvC,kBAAkB,EAAE,CAAC,EAAE,MAAM,EAAE,CAAC,EAAE;QAAE,MAAM,CAAC,EAAE,MAAM,CAAA;KAAE,KAAK,OAAO,CAAC,IAAI,CAAC,CAAA;IACvE,OAAO,EAAE,CAAC,IAAI,EAAE,CAAC,KAAK,IAAI,CAAA;IAC1B,QAAQ,CAAC,EAAE,MAAM,CAAA;IACjB,KAAK,CAAC,EAAE,MAAM,CAAA;IACd,eAAe,CAAC,EAAE,MAAM,CAAA;IACxB,IAAI,CAAC,EAAE,CAAC,GAAG,IAAI,CAAA;CAChB,CAAA"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../../../src/admin/components/utilities/Locale/index.tsx"],"names":[],"mappings":"AAAA,OAAO,KAAyD,MAAM,OAAO,CAAA;AAE7E,OAAO,KAAK,EAAE,MAAM,EAAE,MAAM,0BAA0B,CAAA;AAQtD,QAAA,MAAM,aAAa,uBAA8B,CAAA;AAEjD,eAAO,MAAM,cAAc,EAAE,KAAK,CAAC,EAAE,CAAC;IAAE,QAAQ,CAAC,EAAE,KAAK,CAAC,SAAS,CAAA;CAAE,
|
|
1
|
+
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../../../src/admin/components/utilities/Locale/index.tsx"],"names":[],"mappings":"AAAA,OAAO,KAAyD,MAAM,OAAO,CAAA;AAE7E,OAAO,KAAK,EAAE,MAAM,EAAE,MAAM,0BAA0B,CAAA;AAQtD,QAAA,MAAM,aAAa,uBAA8B,CAAA;AAEjD,eAAO,MAAM,cAAc,EAAE,KAAK,CAAC,EAAE,CAAC;IAAE,QAAQ,CAAC,EAAE,KAAK,CAAC,SAAS,CAAA;CAAE,CA0DnE,CAAA;AAED;;GAEG;AACH,eAAO,MAAM,SAAS,QAAO,MAAmC,CAAA;AAEhE,eAAe,aAAa,CAAA"}
|
|
@@ -69,47 +69,58 @@ function _interop_require_wildcard(obj, nodeInterop) {
|
|
|
69
69
|
const LocaleContext = /*#__PURE__*/ (0, _react.createContext)({});
|
|
70
70
|
const LocaleProvider = ({ children })=>{
|
|
71
71
|
const { localization } = (0, _Config.useConfig)();
|
|
72
|
-
const { user } = (0, _Auth.useAuth)();
|
|
72
|
+
const { refreshPermissions, user } = (0, _Auth.useAuth)();
|
|
73
73
|
const defaultLocale = localization && localization.defaultLocale ? localization.defaultLocale : 'en';
|
|
74
74
|
const searchParams = (0, _SearchParams.useSearchParams)();
|
|
75
75
|
const [localeCode, setLocaleCode] = (0, _react.useState)(searchParams?.locale || defaultLocale);
|
|
76
76
|
const [locale, setLocale] = (0, _react.useState)(localization && (0, _findLocaleFromCode.findLocaleFromCode)(localization, localeCode));
|
|
77
77
|
const { getPreference, setPreference } = (0, _Preferences.usePreferences)();
|
|
78
78
|
const localeFromParams = searchParams.locale;
|
|
79
|
+
const handleLocaleChange = _react.default.useCallback((newLocaleCode)=>{
|
|
80
|
+
if (!localization) return;
|
|
81
|
+
if (localization.localeCodes.indexOf(newLocaleCode) > -1) {
|
|
82
|
+
setLocaleCode(newLocaleCode);
|
|
83
|
+
setLocale((0, _findLocaleFromCode.findLocaleFromCode)(localization, newLocaleCode));
|
|
84
|
+
if (user) {
|
|
85
|
+
void setPreference('locale', newLocaleCode);
|
|
86
|
+
void refreshPermissions({
|
|
87
|
+
locale: newLocaleCode
|
|
88
|
+
});
|
|
89
|
+
}
|
|
90
|
+
}
|
|
91
|
+
}, [
|
|
92
|
+
localization,
|
|
93
|
+
setPreference,
|
|
94
|
+
user,
|
|
95
|
+
refreshPermissions
|
|
96
|
+
]);
|
|
79
97
|
(0, _react.useEffect)(()=>{
|
|
80
98
|
if (!localization) {
|
|
81
99
|
return;
|
|
82
100
|
}
|
|
83
101
|
// set locale from search param
|
|
84
102
|
if (localeFromParams && localization.localeCodes.indexOf(localeFromParams) > -1) {
|
|
85
|
-
|
|
86
|
-
setLocale((0, _findLocaleFromCode.findLocaleFromCode)(localization, localeFromParams));
|
|
87
|
-
if (user) setPreference('locale', localeFromParams);
|
|
103
|
+
handleLocaleChange(localeFromParams);
|
|
88
104
|
return;
|
|
89
105
|
}
|
|
90
|
-
|
|
106
|
+
// set locale from preferences or default
|
|
107
|
+
const initializeLocale = async ()=>{
|
|
91
108
|
let preferenceLocale;
|
|
92
|
-
let isPreferenceInConfig;
|
|
93
109
|
if (user) {
|
|
94
110
|
preferenceLocale = await getPreference('locale');
|
|
95
|
-
|
|
96
|
-
|
|
97
|
-
setLocaleCode(preferenceLocale);
|
|
98
|
-
setLocale((0, _findLocaleFromCode.findLocaleFromCode)(localization, preferenceLocale));
|
|
99
|
-
return;
|
|
100
|
-
}
|
|
101
|
-
setPreference('locale', defaultLocale);
|
|
111
|
+
handleLocaleChange(preferenceLocale);
|
|
112
|
+
return;
|
|
102
113
|
}
|
|
103
|
-
|
|
104
|
-
|
|
105
|
-
|
|
114
|
+
handleLocaleChange(defaultLocale);
|
|
115
|
+
};
|
|
116
|
+
void initializeLocale();
|
|
106
117
|
}, [
|
|
107
118
|
defaultLocale,
|
|
108
119
|
getPreference,
|
|
120
|
+
handleLocaleChange,
|
|
109
121
|
localeFromParams,
|
|
110
|
-
|
|
111
|
-
user
|
|
112
|
-
localization
|
|
122
|
+
localization,
|
|
123
|
+
user
|
|
113
124
|
]);
|
|
114
125
|
return /*#__PURE__*/ _react.default.createElement(LocaleContext.Provider, {
|
|
115
126
|
value: locale
|
|
@@ -118,4 +129,4 @@ const LocaleProvider = ({ children })=>{
|
|
|
118
129
|
const useLocale = ()=>(0, _react.useContext)(LocaleContext);
|
|
119
130
|
const _default = LocaleContext;
|
|
120
131
|
|
|
121
|
-
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uL3NyYy9hZG1pbi9jb21wb25lbnRzL3V0aWxpdGllcy9Mb2NhbGUvaW5kZXgudHN4Il0sInNvdXJjZXNDb250ZW50IjpbImltcG9ydCBSZWFjdCwgeyBjcmVhdGVDb250ZXh0LCB1c2VDb250ZXh0LCB1c2VFZmZlY3QsIHVzZVN0YXRlIH0gZnJvbSAncmVhY3QnXG5cbmltcG9ydCB0eXBlIHsgTG9jYWxlIH0gZnJvbSAnLi4vLi4vLi4vLi4vY29uZmlnL3R5cGVzJ1xuXG5pbXBvcnQgeyBmaW5kTG9jYWxlRnJvbUNvZGUgfSBmcm9tICcuLi8uLi8uLi8uLi91dGlsaXRpZXMvZmluZExvY2FsZUZyb21Db2RlJ1xuaW1wb3J0IHsgdXNlQXV0aCB9IGZyb20gJy4uL0F1dGgnXG5pbXBvcnQgeyB1c2VDb25maWcgfSBmcm9tICcuLi9Db25maWcnXG5pbXBvcnQgeyB1c2VQcmVmZXJlbmNlcyB9IGZyb20gJy4uL1ByZWZlcmVuY2VzJ1xuaW1wb3J0IHsgdXNlU2VhcmNoUGFyYW1zIH0gZnJvbSAnLi4vU2VhcmNoUGFyYW1zJ1xuXG5jb25zdCBMb2NhbGVDb250ZXh0ID0gY3JlYXRlQ29udGV4dCh7fSBhcyBMb2NhbGUpXG5cbmV4cG9ydCBjb25zdCBMb2NhbGVQcm92aWRlcjogUmVhY3QuRkM8eyBjaGlsZHJlbj86IFJlYWN0LlJlYWN0Tm9kZSB9PiA9ICh7IGNoaWxkcmVuIH0pID0+
|
|
132
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uL3NyYy9hZG1pbi9jb21wb25lbnRzL3V0aWxpdGllcy9Mb2NhbGUvaW5kZXgudHN4Il0sInNvdXJjZXNDb250ZW50IjpbImltcG9ydCBSZWFjdCwgeyBjcmVhdGVDb250ZXh0LCB1c2VDb250ZXh0LCB1c2VFZmZlY3QsIHVzZVN0YXRlIH0gZnJvbSAncmVhY3QnXG5cbmltcG9ydCB0eXBlIHsgTG9jYWxlIH0gZnJvbSAnLi4vLi4vLi4vLi4vY29uZmlnL3R5cGVzJ1xuXG5pbXBvcnQgeyBmaW5kTG9jYWxlRnJvbUNvZGUgfSBmcm9tICcuLi8uLi8uLi8uLi91dGlsaXRpZXMvZmluZExvY2FsZUZyb21Db2RlJ1xuaW1wb3J0IHsgdXNlQXV0aCB9IGZyb20gJy4uL0F1dGgnXG5pbXBvcnQgeyB1c2VDb25maWcgfSBmcm9tICcuLi9Db25maWcnXG5pbXBvcnQgeyB1c2VQcmVmZXJlbmNlcyB9IGZyb20gJy4uL1ByZWZlcmVuY2VzJ1xuaW1wb3J0IHsgdXNlU2VhcmNoUGFyYW1zIH0gZnJvbSAnLi4vU2VhcmNoUGFyYW1zJ1xuXG5jb25zdCBMb2NhbGVDb250ZXh0ID0gY3JlYXRlQ29udGV4dCh7fSBhcyBMb2NhbGUpXG5cbmV4cG9ydCBjb25zdCBMb2NhbGVQcm92aWRlcjogUmVhY3QuRkM8eyBjaGlsZHJlbj86IFJlYWN0LlJlYWN0Tm9kZSB9PiA9ICh7IGNoaWxkcmVuIH0pID0+IHtcbiAgY29uc3QgeyBsb2NhbGl6YXRpb24gfSA9IHVzZUNvbmZpZygpXG5cbiAgY29uc3QgeyByZWZyZXNoUGVybWlzc2lvbnMsIHVzZXIgfSA9IHVzZUF1dGgoKVxuICBjb25zdCBkZWZhdWx0TG9jYWxlID1cbiAgICBsb2NhbGl6YXRpb24gJiYgbG9jYWxpemF0aW9uLmRlZmF1bHRMb2NhbGUgPyBsb2NhbGl6YXRpb24uZGVmYXVsdExvY2FsZSA6ICdlbidcbiAgY29uc3Qgc2VhcmNoUGFyYW1zID0gdXNlU2VhcmNoUGFyYW1zKClcbiAgY29uc3QgW2xvY2FsZUNvZGUsIHNldExvY2FsZUNvZGVdID0gdXNlU3RhdGU8c3RyaW5nPihcbiAgICAoc2VhcmNoUGFyYW1zPy5sb2NhbGUgYXMgc3RyaW5nKSB8fCBkZWZhdWx0TG9jYWxlLFxuICApXG4gIGNvbnN0IFtsb2NhbGUsIHNldExvY2FsZV0gPSB1c2VTdGF0ZTxMb2NhbGUgfCBudWxsPihcbiAgICBsb2NhbGl6YXRpb24gJiYgZmluZExvY2FsZUZyb21Db2RlKGxvY2FsaXphdGlvbiwgbG9jYWxlQ29kZSksXG4gIClcbiAgY29uc3QgeyBnZXRQcmVmZXJlbmNlLCBzZXRQcmVmZXJlbmNlIH0gPSB1c2VQcmVmZXJlbmNlcygpXG4gIGNvbnN0IGxvY2FsZUZyb21QYXJhbXMgPSBzZWFyY2hQYXJhbXMubG9jYWxlXG5cbiAgY29uc3QgaGFuZGxlTG9jYWxlQ2hhbmdlID0gUmVhY3QudXNlQ2FsbGJhY2soXG4gICAgKG5ld0xvY2FsZUNvZGU6IHN0cmluZykgPT4ge1xuICAgICAgaWYgKCFsb2NhbGl6YXRpb24pIHJldHVyblxuXG4gICAgICBpZiAobG9jYWxpemF0aW9uLmxvY2FsZUNvZGVzLmluZGV4T2YobmV3TG9jYWxlQ29kZSkgPiAtMSkge1xuICAgICAgICBzZXRMb2NhbGVDb2RlKG5ld0xvY2FsZUNvZGUpXG4gICAgICAgIHNldExvY2FsZShmaW5kTG9jYWxlRnJvbUNvZGUobG9jYWxpemF0aW9uLCBuZXdMb2NhbGVDb2RlKSlcbiAgICAgICAgaWYgKHVzZXIpIHtcbiAgICAgICAgICB2b2lkIHNldFByZWZlcmVuY2UoJ2xvY2FsZScsIG5ld0xvY2FsZUNvZGUpXG4gICAgICAgICAgdm9pZCByZWZyZXNoUGVybWlzc2lvbnMoeyBsb2NhbGU6IG5ld0xvY2FsZUNvZGUgfSlcbiAgICAgICAgfVxuICAgICAgfVxuICAgIH0sXG4gICAgW2xvY2FsaXphdGlvbiwgc2V0UHJlZmVyZW5jZSwgdXNlciwgcmVmcmVzaFBlcm1pc3Npb25zXSxcbiAgKVxuXG4gIHVzZUVmZmVjdCgoKSA9PiB7XG4gICAgaWYgKCFsb2NhbGl6YXRpb24pIHtcbiAgICAgIHJldHVyblxuICAgIH1cblxuICAgIC8vIHNldCBsb2NhbGUgZnJvbSBzZWFyY2ggcGFyYW1cbiAgICBpZiAobG9jYWxlRnJvbVBhcmFtcyAmJiBsb2NhbGl6YXRpb24ubG9jYWxlQ29kZXMuaW5kZXhPZihsb2NhbGVGcm9tUGFyYW1zIGFzIHN0cmluZykgPiAtMSkge1xuICAgICAgaGFuZGxlTG9jYWxlQ2hhbmdlKGxvY2FsZUZyb21QYXJhbXMgYXMgc3RyaW5nKVxuICAgICAgcmV0dXJuXG4gICAgfVxuXG4gICAgLy8gc2V0IGxvY2FsZSBmcm9tIHByZWZlcmVuY2VzIG9yIGRlZmF1bHRcbiAgICBjb25zdCBpbml0aWFsaXplTG9jYWxlID0gYXN5bmMgKCkgPT4ge1xuICAgICAgbGV0IHByZWZlcmVuY2VMb2NhbGU6IHN0cmluZ1xuICAgICAgaWYgKHVzZXIpIHtcbiAgICAgICAgcHJlZmVyZW5jZUxvY2FsZSA9IGF3YWl0IGdldFByZWZlcmVuY2U8c3RyaW5nPignbG9jYWxlJylcbiAgICAgICAgaGFuZGxlTG9jYWxlQ2hhbmdlKHByZWZlcmVuY2VMb2NhbGUpXG4gICAgICAgIHJldHVyblxuICAgICAgfVxuICAgICAgaGFuZGxlTG9jYWxlQ2hhbmdlKGRlZmF1bHRMb2NhbGUpXG4gICAgfVxuXG4gICAgdm9pZCBpbml0aWFsaXplTG9jYWxlKClcbiAgfSwgW2RlZmF1bHRMb2NhbGUsIGdldFByZWZlcmVuY2UsIGhhbmRsZUxvY2FsZUNoYW5nZSwgbG9jYWxlRnJvbVBhcmFtcywgbG9jYWxpemF0aW9uLCB1c2VyXSlcblxuICByZXR1cm4gPExvY2FsZUNvbnRleHQuUHJvdmlkZXIgdmFsdWU9e2xvY2FsZX0+e2NoaWxkcmVufTwvTG9jYWxlQ29udGV4dC5Qcm92aWRlcj5cbn1cblxuLyoqXG4gKiBBIGhvb2sgdGhhdCByZXR1cm5zIHRoZSBjdXJyZW50IGxvY2FsZSBvYmplY3QuXG4gKi9cbmV4cG9ydCBjb25zdCB1c2VMb2NhbGUgPSAoKTogTG9jYWxlID0+IHVzZUNvbnRleHQoTG9jYWxlQ29udGV4dClcblxuZXhwb3J0IGRlZmF1bHQgTG9jYWxlQ29udGV4dFxuIl0sIm5hbWVzIjpbIkxvY2FsZVByb3ZpZGVyIiwidXNlTG9jYWxlIiwiTG9jYWxlQ29udGV4dCIsImNyZWF0ZUNvbnRleHQiLCJjaGlsZHJlbiIsImxvY2FsaXphdGlvbiIsInVzZUNvbmZpZyIsInJlZnJlc2hQZXJtaXNzaW9ucyIsInVzZXIiLCJ1c2VBdXRoIiwiZGVmYXVsdExvY2FsZSIsInNlYXJjaFBhcmFtcyIsInVzZVNlYXJjaFBhcmFtcyIsImxvY2FsZUNvZGUiLCJzZXRMb2NhbGVDb2RlIiwidXNlU3RhdGUiLCJsb2NhbGUiLCJzZXRMb2NhbGUiLCJmaW5kTG9jYWxlRnJvbUNvZGUiLCJnZXRQcmVmZXJlbmNlIiwic2V0UHJlZmVyZW5jZSIsInVzZVByZWZlcmVuY2VzIiwibG9jYWxlRnJvbVBhcmFtcyIsImhhbmRsZUxvY2FsZUNoYW5nZSIsIlJlYWN0IiwidXNlQ2FsbGJhY2siLCJuZXdMb2NhbGVDb2RlIiwibG9jYWxlQ29kZXMiLCJpbmRleE9mIiwidXNlRWZmZWN0IiwiaW5pdGlhbGl6ZUxvY2FsZSIsInByZWZlcmVuY2VMb2NhbGUiLCJQcm92aWRlciIsInZhbHVlIiwidXNlQ29udGV4dCJdLCJyYW5nZU1hcHBpbmdzIjoiOzs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7IiwibWFwcGluZ3MiOiI7Ozs7Ozs7Ozs7O0lBWWFBLGNBQWM7ZUFBZEE7O0lBaUViLE9BQTRCO2VBQTVCOztJQUZhQyxTQUFTO2VBQVRBOzs7K0RBM0V5RDtvQ0FJbkM7c0JBQ1g7d0JBQ0U7NkJBQ0s7OEJBQ0M7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7OztBQUVoQyxNQUFNQyw4QkFBZ0JDLElBQUFBLG9CQUFhLEVBQUMsQ0FBQztBQUU5QixNQUFNSCxpQkFBMkQsQ0FBQyxFQUFFSSxRQUFRLEVBQUU7SUFDbkYsTUFBTSxFQUFFQyxZQUFZLEVBQUUsR0FBR0MsSUFBQUEsaUJBQVM7SUFFbEMsTUFBTSxFQUFFQyxrQkFBa0IsRUFBRUMsSUFBSSxFQUFFLEdBQUdDLElBQUFBLGFBQU87SUFDNUMsTUFBTUMsZ0JBQ0pMLGdCQUFnQkEsYUFBYUssYUFBYSxHQUFHTCxhQUFhSyxhQUFhLEdBQUc7SUFDNUUsTUFBTUMsZUFBZUMsSUFBQUEsNkJBQWU7SUFDcEMsTUFBTSxDQUFDQyxZQUFZQyxjQUFjLEdBQUdDLElBQUFBLGVBQVEsRUFDMUMsQUFBQ0osY0FBY0ssVUFBcUJOO0lBRXRDLE1BQU0sQ0FBQ00sUUFBUUMsVUFBVSxHQUFHRixJQUFBQSxlQUFRLEVBQ2xDVixnQkFBZ0JhLElBQUFBLHNDQUFrQixFQUFDYixjQUFjUTtJQUVuRCxNQUFNLEVBQUVNLGFBQWEsRUFBRUMsYUFBYSxFQUFFLEdBQUdDLElBQUFBLDJCQUFjO0lBQ3ZELE1BQU1DLG1CQUFtQlgsYUFBYUssTUFBTTtJQUU1QyxNQUFNTyxxQkFBcUJDLGNBQUssQ0FBQ0MsV0FBVyxDQUMxQyxDQUFDQztRQUNDLElBQUksQ0FBQ3JCLGNBQWM7UUFFbkIsSUFBSUEsYUFBYXNCLFdBQVcsQ0FBQ0MsT0FBTyxDQUFDRixpQkFBaUIsQ0FBQyxHQUFHO1lBQ3hEWixjQUFjWTtZQUNkVCxVQUFVQyxJQUFBQSxzQ0FBa0IsRUFBQ2IsY0FBY3FCO1lBQzNDLElBQUlsQixNQUFNO2dCQUNSLEtBQUtZLGNBQWMsVUFBVU07Z0JBQzdCLEtBQUtuQixtQkFBbUI7b0JBQUVTLFFBQVFVO2dCQUFjO1lBQ2xEO1FBQ0Y7SUFDRixHQUNBO1FBQUNyQjtRQUFjZTtRQUFlWjtRQUFNRDtLQUFtQjtJQUd6RHNCLElBQUFBLGdCQUFTLEVBQUM7UUFDUixJQUFJLENBQUN4QixjQUFjO1lBQ2pCO1FBQ0Y7UUFFQSwrQkFBK0I7UUFDL0IsSUFBSWlCLG9CQUFvQmpCLGFBQWFzQixXQUFXLENBQUNDLE9BQU8sQ0FBQ04sb0JBQThCLENBQUMsR0FBRztZQUN6RkMsbUJBQW1CRDtZQUNuQjtRQUNGO1FBRUEseUNBQXlDO1FBQ3pDLE1BQU1RLG1CQUFtQjtZQUN2QixJQUFJQztZQUNKLElBQUl2QixNQUFNO2dCQUNSdUIsbUJBQW1CLE1BQU1aLGNBQXNCO2dCQUMvQ0ksbUJBQW1CUTtnQkFDbkI7WUFDRjtZQUNBUixtQkFBbUJiO1FBQ3JCO1FBRUEsS0FBS29CO0lBQ1AsR0FBRztRQUFDcEI7UUFBZVM7UUFBZUk7UUFBb0JEO1FBQWtCakI7UUFBY0c7S0FBSztJQUUzRixxQkFBTyw2QkFBQ04sY0FBYzhCLFFBQVE7UUFBQ0MsT0FBT2pCO09BQVNaO0FBQ2pEO0FBS08sTUFBTUgsWUFBWSxJQUFjaUMsSUFBQUEsaUJBQVUsRUFBQ2hDO01BRWxELFdBQWVBIn0=
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../../../src/admin/components/utilities/UploadEdits/index.tsx"],"names":[],"mappings":"AAAA,OAAO,KAAK,MAAM,OAAO,CAAA;AAEzB,OAAO,KAAK,EAAE,WAAW,EAAE,MAAM,2BAA2B,CAAA;AAE5D,MAAM,MAAM,kBAAkB,GAAG;IAC/B,iBAAiB,EAAE,CAAC,KAAK,EAAE,WAAW,KAAK,IAAI,CAAA;IAC/C,WAAW,EAAE,WAAW,CAAA;CACzB,CAAA;
|
|
1
|
+
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../../../src/admin/components/utilities/UploadEdits/index.tsx"],"names":[],"mappings":"AAAA,OAAO,KAAK,MAAM,OAAO,CAAA;AAEzB,OAAO,KAAK,EAAE,WAAW,EAAE,MAAM,2BAA2B,CAAA;AAE5D,MAAM,MAAM,kBAAkB,GAAG;IAC/B,gBAAgB,EAAE,MAAM,IAAI,CAAA;IAC5B,iBAAiB,EAAE,CAAC,KAAK,EAAE,WAAW,KAAK,IAAI,CAAA;IAC/C,WAAW,EAAE,WAAW,CAAA;CACzB,CAAA;AAQD,eAAO,MAAM,mBAAmB;;uBAmB/B,CAAA;AAED,eAAO,MAAM,cAAc,QAAO,kBAA+C,CAAA"}
|
|
@@ -23,11 +23,15 @@ function _interop_require_default(obj) {
|
|
|
23
23
|
};
|
|
24
24
|
}
|
|
25
25
|
const Context = /*#__PURE__*/ _react.default.createContext({
|
|
26
|
+
resetUploadEdits: undefined,
|
|
26
27
|
updateUploadEdits: undefined,
|
|
27
28
|
uploadEdits: undefined
|
|
28
29
|
});
|
|
29
30
|
const UploadEditsProvider = ({ children })=>{
|
|
30
31
|
const [uploadEdits, setUploadEdits] = _react.default.useState(undefined);
|
|
32
|
+
const resetUploadEdits = ()=>{
|
|
33
|
+
setUploadEdits({});
|
|
34
|
+
};
|
|
31
35
|
const updateUploadEdits = (edits)=>{
|
|
32
36
|
setUploadEdits((prevEdits)=>({
|
|
33
37
|
...prevEdits || {},
|
|
@@ -36,6 +40,7 @@ const UploadEditsProvider = ({ children })=>{
|
|
|
36
40
|
};
|
|
37
41
|
return /*#__PURE__*/ _react.default.createElement(Context.Provider, {
|
|
38
42
|
value: {
|
|
43
|
+
resetUploadEdits,
|
|
39
44
|
updateUploadEdits,
|
|
40
45
|
uploadEdits
|
|
41
46
|
}
|
|
@@ -43,4 +48,4 @@ const UploadEditsProvider = ({ children })=>{
|
|
|
43
48
|
};
|
|
44
49
|
const useUploadEdits = ()=>_react.default.useContext(Context);
|
|
45
50
|
|
|
46
|
-
//# sourceMappingURL=data:application/json;base64,
|
|
51
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uL3NyYy9hZG1pbi9jb21wb25lbnRzL3V0aWxpdGllcy9VcGxvYWRFZGl0cy9pbmRleC50c3giXSwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IFJlYWN0IGZyb20gJ3JlYWN0J1xuXG5pbXBvcnQgdHlwZSB7IFVwbG9hZEVkaXRzIH0gZnJvbSAnLi4vLi4vLi4vLi4vdXBsb2Fkcy90eXBlcydcblxuZXhwb3J0IHR5cGUgVXBsb2FkRWRpdHNDb250ZXh0ID0ge1xuICByZXNldFVwbG9hZEVkaXRzOiAoKSA9PiB2b2lkXG4gIHVwZGF0ZVVwbG9hZEVkaXRzOiAoZWRpdHM6IFVwbG9hZEVkaXRzKSA9PiB2b2lkXG4gIHVwbG9hZEVkaXRzOiBVcGxvYWRFZGl0c1xufVxuXG5jb25zdCBDb250ZXh0ID0gUmVhY3QuY3JlYXRlQ29udGV4dDxVcGxvYWRFZGl0c0NvbnRleHQ+KHtcbiAgcmVzZXRVcGxvYWRFZGl0czogdW5kZWZpbmVkLFxuICB1cGRhdGVVcGxvYWRFZGl0czogdW5kZWZpbmVkLFxuICB1cGxvYWRFZGl0czogdW5kZWZpbmVkLFxufSlcblxuZXhwb3J0IGNvbnN0IFVwbG9hZEVkaXRzUHJvdmlkZXIgPSAoeyBjaGlsZHJlbiB9KSA9PiB7XG4gIGNvbnN0IFt1cGxvYWRFZGl0cywgc2V0VXBsb2FkRWRpdHNdID0gUmVhY3QudXNlU3RhdGU8VXBsb2FkRWRpdHM+KHVuZGVmaW5lZClcblxuICBjb25zdCByZXNldFVwbG9hZEVkaXRzID0gKCkgPT4ge1xuICAgIHNldFVwbG9hZEVkaXRzKHt9KVxuICB9XG5cbiAgY29uc3QgdXBkYXRlVXBsb2FkRWRpdHMgPSAoZWRpdHM6IFVwbG9hZEVkaXRzKSA9PiB7XG4gICAgc2V0VXBsb2FkRWRpdHMoKHByZXZFZGl0cykgPT4gKHtcbiAgICAgIC4uLihwcmV2RWRpdHMgfHwge30pLFxuICAgICAgLi4uKGVkaXRzIHx8IHt9KSxcbiAgICB9KSlcbiAgfVxuXG4gIHJldHVybiAoXG4gICAgPENvbnRleHQuUHJvdmlkZXIgdmFsdWU9e3sgcmVzZXRVcGxvYWRFZGl0cywgdXBkYXRlVXBsb2FkRWRpdHMsIHVwbG9hZEVkaXRzIH19PlxuICAgICAge2NoaWxkcmVufVxuICAgIDwvQ29udGV4dC5Qcm92aWRlcj5cbiAgKVxufVxuXG5leHBvcnQgY29uc3QgdXNlVXBsb2FkRWRpdHMgPSAoKTogVXBsb2FkRWRpdHNDb250ZXh0ID0+IFJlYWN0LnVzZUNvbnRleHQoQ29udGV4dClcbiJdLCJuYW1lcyI6WyJVcGxvYWRFZGl0c1Byb3ZpZGVyIiwidXNlVXBsb2FkRWRpdHMiLCJDb250ZXh0IiwiUmVhY3QiLCJjcmVhdGVDb250ZXh0IiwicmVzZXRVcGxvYWRFZGl0cyIsInVuZGVmaW5lZCIsInVwZGF0ZVVwbG9hZEVkaXRzIiwidXBsb2FkRWRpdHMiLCJjaGlsZHJlbiIsInNldFVwbG9hZEVkaXRzIiwidXNlU3RhdGUiLCJlZGl0cyIsInByZXZFZGl0cyIsIlByb3ZpZGVyIiwidmFsdWUiLCJ1c2VDb250ZXh0Il0sInJhbmdlTWFwcGluZ3MiOiI7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7OzsiLCJtYXBwaW5ncyI6Ijs7Ozs7Ozs7Ozs7SUFnQmFBLG1CQUFtQjtlQUFuQkE7O0lBcUJBQyxjQUFjO2VBQWRBOzs7OERBckNLOzs7Ozs7QUFVbEIsTUFBTUMsd0JBQVVDLGNBQUssQ0FBQ0MsYUFBYSxDQUFxQjtJQUN0REMsa0JBQWtCQztJQUNsQkMsbUJBQW1CRDtJQUNuQkUsYUFBYUY7QUFDZjtBQUVPLE1BQU1OLHNCQUFzQixDQUFDLEVBQUVTLFFBQVEsRUFBRTtJQUM5QyxNQUFNLENBQUNELGFBQWFFLGVBQWUsR0FBR1AsY0FBSyxDQUFDUSxRQUFRLENBQWNMO0lBRWxFLE1BQU1ELG1CQUFtQjtRQUN2QkssZUFBZSxDQUFDO0lBQ2xCO0lBRUEsTUFBTUgsb0JBQW9CLENBQUNLO1FBQ3pCRixlQUFlLENBQUNHLFlBQWUsQ0FBQTtnQkFDN0IsR0FBSUEsYUFBYSxDQUFDLENBQUM7Z0JBQ25CLEdBQUlELFNBQVMsQ0FBQyxDQUFDO1lBQ2pCLENBQUE7SUFDRjtJQUVBLHFCQUNFLDZCQUFDVixRQUFRWSxRQUFRO1FBQUNDLE9BQU87WUFBRVY7WUFBa0JFO1lBQW1CQztRQUFZO09BQ3pFQztBQUdQO0FBRU8sTUFBTVIsaUJBQWlCLElBQTBCRSxjQUFLLENBQUNhLFVBQVUsQ0FBQ2QifQ==
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../../../src/admin/components/views/Unauthorized/index.tsx"],"names":[],"mappings":"AAAA,OAAO,KAAK,MAAM,OAAO,CAAA;
|
|
1
|
+
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../../../src/admin/components/views/Unauthorized/index.tsx"],"names":[],"mappings":"AAAA,OAAO,KAAK,MAAM,OAAO,CAAA;AASzB,QAAA,MAAM,YAAY,EAAE,KAAK,CAAC,EAuBzB,CAAA;AAED,eAAe,YAAY,CAAA"}
|
|
@@ -12,6 +12,7 @@ const _react = /*#__PURE__*/ _interop_require_default(require("react"));
|
|
|
12
12
|
const _reacti18next = require("react-i18next");
|
|
13
13
|
const _Button = /*#__PURE__*/ _interop_require_default(require("../../elements/Button"));
|
|
14
14
|
const _Minimal = /*#__PURE__*/ _interop_require_default(require("../../templates/Minimal"));
|
|
15
|
+
const _Auth = require("../../utilities/Auth");
|
|
15
16
|
const _Config = require("../../utilities/Config");
|
|
16
17
|
const _Meta = /*#__PURE__*/ _interop_require_default(require("../../utilities/Meta"));
|
|
17
18
|
function _interop_require_default(obj) {
|
|
@@ -22,6 +23,7 @@ function _interop_require_default(obj) {
|
|
|
22
23
|
const Unauthorized = ()=>{
|
|
23
24
|
const { t } = (0, _reacti18next.useTranslation)('general');
|
|
24
25
|
const config = (0, _Config.useConfig)();
|
|
26
|
+
const { user } = (0, _Auth.useAuth)();
|
|
25
27
|
const { admin: { logoutRoute }, routes: { admin } } = config;
|
|
26
28
|
return /*#__PURE__*/ _react.default.createElement(_Minimal.default, {
|
|
27
29
|
className: "unauthorized"
|
|
@@ -29,11 +31,11 @@ const Unauthorized = ()=>{
|
|
|
29
31
|
description: t('error:unauthorized'),
|
|
30
32
|
keywords: t('error:unauthorized'),
|
|
31
33
|
title: t('error:unauthorized')
|
|
32
|
-
}), /*#__PURE__*/ _react.default.createElement("h2", null, t('error:unauthorized')), /*#__PURE__*/ _react.default.createElement("p", null, t('error:notAllowedToAccessPage')), /*#__PURE__*/ _react.default.createElement("br", null), /*#__PURE__*/ _react.default.createElement(_Button.default, {
|
|
34
|
+
}), /*#__PURE__*/ _react.default.createElement("h2", null, user ? t('general:unauthorized') : t('error:unauthorized')), /*#__PURE__*/ _react.default.createElement("p", null, t('error:notAllowedToAccessPage')), /*#__PURE__*/ _react.default.createElement("br", null), /*#__PURE__*/ _react.default.createElement(_Button.default, {
|
|
33
35
|
el: "link",
|
|
34
|
-
to: `${admin}${logoutRoute}`
|
|
35
|
-
}, t('authentication:logOut')));
|
|
36
|
+
to: `${admin}${user ? '' : logoutRoute}`
|
|
37
|
+
}, user ? t('general:backToDashboard') : t('authentication:logOut')));
|
|
36
38
|
};
|
|
37
39
|
const _default = Unauthorized;
|
|
38
40
|
|
|
39
|
-
//# sourceMappingURL=data:application/json;base64,
|
|
41
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uL3NyYy9hZG1pbi9jb21wb25lbnRzL3ZpZXdzL1VuYXV0aG9yaXplZC9pbmRleC50c3giXSwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IFJlYWN0IGZyb20gJ3JlYWN0J1xuaW1wb3J0IHsgdXNlVHJhbnNsYXRpb24gfSBmcm9tICdyZWFjdC1pMThuZXh0J1xuXG5pbXBvcnQgQnV0dG9uIGZyb20gJy4uLy4uL2VsZW1lbnRzL0J1dHRvbidcbmltcG9ydCBNaW5pbWFsVGVtcGxhdGUgZnJvbSAnLi4vLi4vdGVtcGxhdGVzL01pbmltYWwnXG5pbXBvcnQgeyB1c2VBdXRoIH0gZnJvbSAnLi4vLi4vdXRpbGl0aWVzL0F1dGgnXG5pbXBvcnQgeyB1c2VDb25maWcgfSBmcm9tICcuLi8uLi91dGlsaXRpZXMvQ29uZmlnJ1xuaW1wb3J0IE1ldGEgZnJvbSAnLi4vLi4vdXRpbGl0aWVzL01ldGEnXG5cbmNvbnN0IFVuYXV0aG9yaXplZDogUmVhY3QuRkMgPSAoKSA9PiB7XG4gIGNvbnN0IHsgdCB9ID0gdXNlVHJhbnNsYXRpb24oJ2dlbmVyYWwnKVxuICBjb25zdCBjb25maWcgPSB1c2VDb25maWcoKVxuICBjb25zdCB7IHVzZXIgfSA9IHVzZUF1dGgoKVxuICBjb25zdCB7XG4gICAgYWRtaW46IHsgbG9nb3V0Um91dGUgfSxcbiAgICByb3V0ZXM6IHsgYWRtaW4gfSxcbiAgfSA9IGNvbmZpZ1xuICByZXR1cm4gKFxuICAgIDxNaW5pbWFsVGVtcGxhdGUgY2xhc3NOYW1lPVwidW5hdXRob3JpemVkXCI+XG4gICAgICA8TWV0YVxuICAgICAgICBkZXNjcmlwdGlvbj17dCgnZXJyb3I6dW5hdXRob3JpemVkJyl9XG4gICAgICAgIGtleXdvcmRzPXt0KCdlcnJvcjp1bmF1dGhvcml6ZWQnKX1cbiAgICAgICAgdGl0bGU9e3QoJ2Vycm9yOnVuYXV0aG9yaXplZCcpfVxuICAgICAgLz5cbiAgICAgIDxoMj57dXNlciA/IHQoJ2dlbmVyYWw6dW5hdXRob3JpemVkJykgOiB0KCdlcnJvcjp1bmF1dGhvcml6ZWQnKX08L2gyPlxuICAgICAgPHA+e3QoJ2Vycm9yOm5vdEFsbG93ZWRUb0FjY2Vzc1BhZ2UnKX08L3A+XG4gICAgICA8YnIgLz5cbiAgICAgIDxCdXR0b24gZWw9XCJsaW5rXCIgdG89e2Ake2FkbWlufSR7dXNlciA/ICcnIDogbG9nb3V0Um91dGV9YH0+XG4gICAgICAgIHt1c2VyID8gdCgnZ2VuZXJhbDpiYWNrVG9EYXNoYm9hcmQnKSA6IHQoJ2F1dGhlbnRpY2F0aW9uOmxvZ091dCcpfVxuICAgICAgPC9CdXR0b24+XG4gICAgPC9NaW5pbWFsVGVtcGxhdGU+XG4gIClcbn1cblxuZXhwb3J0IGRlZmF1bHQgVW5hdXRob3JpemVkXG4iXSwibmFtZXMiOlsiVW5hdXRob3JpemVkIiwidCIsInVzZVRyYW5zbGF0aW9uIiwiY29uZmlnIiwidXNlQ29uZmlnIiwidXNlciIsInVzZUF1dGgiLCJhZG1pbiIsImxvZ291dFJvdXRlIiwicm91dGVzIiwiTWluaW1hbFRlbXBsYXRlIiwiY2xhc3NOYW1lIiwiTWV0YSIsImRlc2NyaXB0aW9uIiwia2V5d29yZHMiLCJ0aXRsZSIsImgyIiwicCIsImJyIiwiQnV0dG9uIiwiZWwiLCJ0byJdLCJyYW5nZU1hcHBpbmdzIjoiOzs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7OzsiLCJtYXBwaW5ncyI6Ijs7OzsrQkFrQ0E7OztlQUFBOzs7OERBbENrQjs4QkFDYTsrREFFWjtnRUFDUztzQkFDSjt3QkFDRTs2REFDVDs7Ozs7O0FBRWpCLE1BQU1BLGVBQXlCO0lBQzdCLE1BQU0sRUFBRUMsQ0FBQyxFQUFFLEdBQUdDLElBQUFBLDRCQUFjLEVBQUM7SUFDN0IsTUFBTUMsU0FBU0MsSUFBQUEsaUJBQVM7SUFDeEIsTUFBTSxFQUFFQyxJQUFJLEVBQUUsR0FBR0MsSUFBQUEsYUFBTztJQUN4QixNQUFNLEVBQ0pDLE9BQU8sRUFBRUMsV0FBVyxFQUFFLEVBQ3RCQyxRQUFRLEVBQUVGLEtBQUssRUFBRSxFQUNsQixHQUFHSjtJQUNKLHFCQUNFLDZCQUFDTyxnQkFBZTtRQUFDQyxXQUFVO3FCQUN6Qiw2QkFBQ0MsYUFBSTtRQUNIQyxhQUFhWixFQUFFO1FBQ2ZhLFVBQVViLEVBQUU7UUFDWmMsT0FBT2QsRUFBRTtzQkFFWCw2QkFBQ2UsWUFBSVgsT0FBT0osRUFBRSwwQkFBMEJBLEVBQUUsc0NBQzFDLDZCQUFDZ0IsV0FBR2hCLEVBQUUsZ0RBQ04sNkJBQUNpQiwyQkFDRCw2QkFBQ0MsZUFBTTtRQUFDQyxJQUFHO1FBQU9DLElBQUksQ0FBQyxFQUFFZCxNQUFNLEVBQUVGLE9BQU8sS0FBS0csWUFBWSxDQUFDO09BQ3ZESCxPQUFPSixFQUFFLDZCQUE2QkEsRUFBRTtBQUlqRDtNQUVBLFdBQWVEIn0=
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../../../../../src/admin/components/views/collections/Edit/Upload/index.tsx"],"names":[],"mappings":"AAAA,OAAO,
|
|
1
|
+
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../../../../../src/admin/components/views/collections/Edit/Upload/index.tsx"],"names":[],"mappings":"AAAA,OAAO,KAAmD,MAAM,OAAO,CAAA;AAKvE,OAAO,KAAK,EAAE,KAAK,EAAE,MAAM,SAAS,CAAA;AAiBpC,OAAO,cAAc,CAAA;AAGrB,eAAO,MAAM,cAAc,gBAAgB,CAAA;AAC3C,eAAO,MAAM,eAAe,kBAAkB,CAAA;AAU9C,eAAO,MAAM,aAAa;;;uBAgBzB,CAAA;AAED,eAAO,MAAM,MAAM,EAAE,KAAK,CAAC,EAAE,CAAC,KAAK,CAmQlC,CAAA"}
|