payload 2.0.11 → 2.0.12
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/.eslintrc.js +58 -0
- package/dist/admin/components/elements/DocumentFields/index.d.ts +14 -0
- package/dist/admin/components/elements/DocumentFields/index.d.ts.map +1 -0
- package/dist/admin/components/elements/DocumentFields/index.js +70 -0
- package/dist/admin/components/{views/Global/Default → elements/DocumentFields}/index.scss +5 -13
- package/dist/admin/components/elements/DuplicateDocument/index.d.ts.map +1 -1
- package/dist/admin/components/elements/DuplicateDocument/index.js +3 -1
- package/dist/admin/components/elements/ListControls/index.d.ts +1 -2
- package/dist/admin/components/elements/ListControls/index.d.ts.map +1 -1
- package/dist/admin/components/elements/ListControls/index.js +14 -25
- package/dist/admin/components/elements/ListControls/types.d.ts +3 -0
- package/dist/admin/components/elements/ListControls/types.d.ts.map +1 -1
- package/dist/admin/components/elements/ListDrawer/DrawerContent.d.ts.map +1 -1
- package/dist/admin/components/elements/ListDrawer/DrawerContent.js +59 -14
- package/dist/admin/components/elements/ReactSelect/MultiValue/index.d.ts.map +1 -1
- package/dist/admin/components/elements/ReactSelect/MultiValue/index.js +4 -3
- package/dist/admin/components/elements/ReactSelect/index.js +3 -3
- package/dist/admin/components/elements/ReactSelect/types.d.ts +0 -4
- package/dist/admin/components/elements/ReactSelect/types.d.ts.map +1 -1
- package/dist/admin/components/elements/SearchFilter/index.d.ts.map +1 -1
- package/dist/admin/components/elements/SearchFilter/index.js +4 -32
- package/dist/admin/components/elements/SearchFilter/types.d.ts +1 -2
- package/dist/admin/components/elements/SearchFilter/types.d.ts.map +1 -1
- package/dist/admin/components/elements/WhereBuilder/Condition/index.js +2 -2
- package/dist/admin/components/forms/field-types/RichText/types.d.ts +6 -1
- package/dist/admin/components/forms/field-types/RichText/types.d.ts.map +1 -1
- package/dist/admin/components/views/Account/Default.d.ts.map +1 -1
- package/dist/admin/components/views/Account/Default.js +27 -71
- package/dist/admin/components/views/Account/Settings/index.d.ts +6 -0
- package/dist/admin/components/views/Account/Settings/index.d.ts.map +1 -0
- package/dist/admin/components/views/Account/Settings/index.js +48 -0
- package/dist/admin/components/views/Account/Settings/index.scss +45 -0
- package/dist/admin/components/views/Account/index.scss +7 -35
- package/dist/admin/components/views/Global/Default/index.d.ts +0 -1
- package/dist/admin/components/views/Global/Default/index.d.ts.map +1 -1
- package/dist/admin/components/views/Global/Default/index.js +14 -57
- package/dist/admin/components/views/collections/Edit/Default/index.d.ts.map +1 -1
- package/dist/admin/components/views/collections/Edit/Default/index.js +25 -60
- package/dist/admin/components/views/collections/Edit/Default/index.scss +5 -158
- package/dist/admin/components/views/collections/List/Default.d.ts.map +1 -1
- package/dist/admin/components/views/collections/List/Default.js +7 -5
- package/dist/admin/components/views/collections/List/index.d.ts.map +1 -1
- package/dist/admin/components/views/collections/List/index.js +56 -6
- package/dist/admin/components/views/collections/List/types.d.ts +4 -0
- package/dist/admin/components/views/collections/List/types.d.ts.map +1 -1
- package/dist/admin/hooks/useUseAsTitle.d.ts +3 -0
- package/dist/admin/hooks/useUseAsTitle.d.ts.map +1 -0
- package/dist/admin/hooks/useUseAsTitle.js +24 -0
- package/dist/auth/operations/forgotPassword.d.ts.map +1 -1
- package/dist/auth/operations/forgotPassword.js +4 -1
- package/dist/auth/operations/local/forgotPassword.js +2 -2
- package/dist/auth/operations/local/login.js +2 -2
- package/dist/auth/operations/local/resetPassword.d.ts.map +1 -1
- package/dist/auth/operations/local/resetPassword.js +2 -2
- package/dist/auth/operations/local/unlock.js +2 -2
- package/dist/auth/operations/local/verifyEmail.js +2 -2
- package/dist/auth/operations/login.d.ts.map +1 -1
- package/dist/auth/operations/login.js +9 -2
- package/dist/auth/operations/logout.d.ts.map +1 -1
- package/dist/auth/operations/logout.js +2 -1
- package/dist/auth/operations/me.d.ts.map +1 -1
- package/dist/auth/operations/me.js +2 -1
- package/dist/auth/operations/refresh.d.ts.map +1 -1
- package/dist/auth/operations/refresh.js +4 -1
- package/dist/collections/config/types.d.ts +33 -1
- package/dist/collections/config/types.d.ts.map +1 -1
- package/dist/collections/config/types.js +1 -1
- package/dist/collections/operations/create.d.ts.map +1 -1
- package/dist/collections/operations/create.js +21 -32
- package/dist/collections/operations/delete.d.ts.map +1 -1
- package/dist/collections/operations/delete.js +8 -2
- package/dist/collections/operations/deleteByID.d.ts.map +1 -1
- package/dist/collections/operations/deleteByID.js +8 -2
- package/dist/collections/operations/find.d.ts.map +1 -1
- package/dist/collections/operations/find.js +7 -2
- package/dist/collections/operations/findByID.d.ts.map +1 -1
- package/dist/collections/operations/findByID.js +7 -2
- package/dist/collections/operations/findVersionByID.d.ts.map +1 -1
- package/dist/collections/operations/findVersionByID.js +5 -2
- package/dist/collections/operations/findVersions.d.ts.map +1 -1
- package/dist/collections/operations/findVersions.js +5 -2
- package/dist/collections/operations/local/find.js +2 -2
- package/dist/collections/operations/local/findByID.js +2 -2
- package/dist/collections/operations/local/findVersionByID.js +2 -2
- package/dist/collections/operations/restoreVersion.d.ts.map +1 -1
- package/dist/collections/operations/restoreVersion.js +7 -3
- package/dist/collections/operations/update.d.ts.map +1 -1
- package/dist/collections/operations/update.js +17 -6
- package/dist/collections/operations/updateByID.d.ts.map +1 -1
- package/dist/collections/operations/updateByID.js +17 -6
- package/dist/collections/operations/utils.d.ts +21 -1
- package/dist/collections/operations/utils.d.ts.map +1 -1
- package/dist/collections/operations/utils.js +3 -2
- package/dist/config/schema.d.ts.map +1 -1
- package/dist/config/schema.js +4 -3
- package/dist/express/middleware/errorHandler.d.ts.map +1 -1
- package/dist/express/middleware/errorHandler.js +3 -3
- package/dist/fields/config/schema.d.ts.map +1 -1
- package/dist/fields/config/schema.js +5 -4
- package/dist/fields/config/types.d.ts +8 -1
- package/dist/fields/config/types.d.ts.map +1 -1
- package/dist/fields/config/types.js +1 -1
- package/dist/fields/hooks/afterChange/index.d.ts +3 -2
- package/dist/fields/hooks/afterChange/index.d.ts.map +1 -1
- package/dist/fields/hooks/afterChange/index.js +5 -3
- package/dist/fields/hooks/afterChange/promise.d.ts +5 -1
- package/dist/fields/hooks/afterChange/promise.d.ts.map +1 -1
- package/dist/fields/hooks/afterChange/promise.js +17 -2
- package/dist/fields/hooks/afterChange/traverseFields.d.ts +5 -1
- package/dist/fields/hooks/afterChange/traverseFields.d.ts.map +1 -1
- package/dist/fields/hooks/afterChange/traverseFields.js +4 -2
- package/dist/fields/hooks/afterRead/index.d.ts +2 -1
- package/dist/fields/hooks/afterRead/index.d.ts.map +1 -1
- package/dist/fields/hooks/afterRead/index.js +5 -3
- package/dist/fields/hooks/afterRead/promise.d.ts +5 -1
- package/dist/fields/hooks/afterRead/promise.d.ts.map +1 -1
- package/dist/fields/hooks/afterRead/promise.js +38 -4
- package/dist/fields/hooks/afterRead/traverseFields.d.ts +5 -1
- package/dist/fields/hooks/afterRead/traverseFields.d.ts.map +1 -1
- package/dist/fields/hooks/afterRead/traverseFields.js +4 -2
- package/dist/fields/hooks/beforeChange/index.d.ts +3 -2
- package/dist/fields/hooks/beforeChange/index.d.ts.map +1 -1
- package/dist/fields/hooks/beforeChange/index.js +5 -3
- package/dist/fields/hooks/beforeChange/promise.d.ts +5 -1
- package/dist/fields/hooks/beforeChange/promise.d.ts.map +1 -1
- package/dist/fields/hooks/beforeChange/promise.js +17 -2
- package/dist/fields/hooks/beforeChange/traverseFields.d.ts +5 -1
- package/dist/fields/hooks/beforeChange/traverseFields.d.ts.map +1 -1
- package/dist/fields/hooks/beforeChange/traverseFields.js +4 -2
- package/dist/fields/hooks/beforeValidate/index.d.ts +3 -2
- package/dist/fields/hooks/beforeValidate/index.d.ts.map +1 -1
- package/dist/fields/hooks/beforeValidate/index.js +5 -3
- package/dist/fields/hooks/beforeValidate/promise.d.ts +5 -1
- package/dist/fields/hooks/beforeValidate/promise.d.ts.map +1 -1
- package/dist/fields/hooks/beforeValidate/promise.js +19 -4
- package/dist/fields/hooks/beforeValidate/traverseFields.d.ts +5 -1
- package/dist/fields/hooks/beforeValidate/traverseFields.d.ts.map +1 -1
- package/dist/fields/hooks/beforeValidate/traverseFields.js +4 -2
- package/dist/globals/config/types.d.ts +16 -0
- package/dist/globals/config/types.d.ts.map +1 -1
- package/dist/globals/operations/findOne.d.ts.map +1 -1
- package/dist/globals/operations/findOne.js +7 -2
- package/dist/globals/operations/findVersionByID.d.ts.map +1 -1
- package/dist/globals/operations/findVersionByID.js +7 -2
- package/dist/globals/operations/findVersions.d.ts.map +1 -1
- package/dist/globals/operations/findVersions.js +5 -2
- package/dist/globals/operations/restoreVersion.d.ts.map +1 -1
- package/dist/globals/operations/restoreVersion.js +9 -3
- package/dist/globals/operations/update.d.ts.map +1 -1
- package/dist/globals/operations/update.js +19 -6
- package/dist/graphql/errorHandler.js +2 -2
- package/dist/graphql/schema/buildObjectType.d.ts.map +1 -1
- package/dist/graphql/schema/buildObjectType.js +8 -3
- package/package.json +2 -2
|
@@ -16,7 +16,7 @@ function _interop_require_default(obj) {
|
|
|
16
16
|
default: obj
|
|
17
17
|
};
|
|
18
18
|
}
|
|
19
|
-
const promise = async ({ context, currentDepth, depth, doc, field, fieldPromises, findMany, flattenLocales, overrideAccess, populationPromises, req, showHiddenFields, siblingDoc })=>{
|
|
19
|
+
const promise = async ({ collection, context, currentDepth, depth, doc, field, fieldPromises, findMany, flattenLocales, global, overrideAccess, populationPromises, req, showHiddenFields, siblingDoc })=>{
|
|
20
20
|
if ((0, _types.fieldAffectsData)(field) && field.hidden && typeof siblingDoc[field.name] !== 'undefined' && !showHiddenFields) {
|
|
21
21
|
delete siblingDoc[field.name];
|
|
22
22
|
}
|
|
@@ -76,8 +76,9 @@ const promise = async ({ context, currentDepth, depth, doc, field, fieldPromises
|
|
|
76
76
|
case 'richText':
|
|
77
77
|
{
|
|
78
78
|
const editor = field?.editor;
|
|
79
|
-
|
|
80
|
-
|
|
79
|
+
// This is run here AND in the GraphQL Resolver
|
|
80
|
+
if (editor?.populationPromise) {
|
|
81
|
+
const populationPromise = editor.populationPromise({
|
|
81
82
|
currentDepth,
|
|
82
83
|
depth,
|
|
83
84
|
field,
|
|
@@ -86,6 +87,17 @@ const promise = async ({ context, currentDepth, depth, doc, field, fieldPromises
|
|
|
86
87
|
showHiddenFields,
|
|
87
88
|
siblingDoc
|
|
88
89
|
});
|
|
90
|
+
if (populationPromise) {
|
|
91
|
+
populationPromises.push(populationPromise);
|
|
92
|
+
}
|
|
93
|
+
}
|
|
94
|
+
// This is only run here, independent of depth
|
|
95
|
+
if (editor?.afterReadPromise) {
|
|
96
|
+
const afterReadPromise = editor?.afterReadPromise({
|
|
97
|
+
field,
|
|
98
|
+
incomingEditorState: siblingDoc[field.name],
|
|
99
|
+
siblingDoc
|
|
100
|
+
});
|
|
89
101
|
if (afterReadPromise) {
|
|
90
102
|
populationPromises.push(afterReadPromise);
|
|
91
103
|
}
|
|
@@ -116,8 +128,11 @@ const promise = async ({ context, currentDepth, depth, doc, field, fieldPromises
|
|
|
116
128
|
if (shouldRunHookOnAllLocales) {
|
|
117
129
|
const hookPromises = Object.entries(siblingDoc[field.name]).map(([locale, value])=>(async ()=>{
|
|
118
130
|
const hookedValue = await currentHook({
|
|
131
|
+
collection,
|
|
119
132
|
context,
|
|
120
133
|
data: doc,
|
|
134
|
+
field,
|
|
135
|
+
global,
|
|
121
136
|
operation: 'read',
|
|
122
137
|
originalDoc: doc,
|
|
123
138
|
req,
|
|
@@ -131,9 +146,12 @@ const promise = async ({ context, currentDepth, depth, doc, field, fieldPromises
|
|
|
131
146
|
await Promise.all(hookPromises);
|
|
132
147
|
} else {
|
|
133
148
|
const hookedValue = await currentHook({
|
|
149
|
+
collection,
|
|
134
150
|
context,
|
|
135
151
|
data: doc,
|
|
152
|
+
field,
|
|
136
153
|
findMany,
|
|
154
|
+
global,
|
|
137
155
|
operation: 'read',
|
|
138
156
|
originalDoc: doc,
|
|
139
157
|
req,
|
|
@@ -177,6 +195,7 @@ const promise = async ({ context, currentDepth, depth, doc, field, fieldPromises
|
|
|
177
195
|
let groupDoc = siblingDoc[field.name];
|
|
178
196
|
if (typeof siblingDoc[field.name] !== 'object') groupDoc = {};
|
|
179
197
|
(0, _traverseFields.traverseFields)({
|
|
198
|
+
collection,
|
|
180
199
|
context,
|
|
181
200
|
currentDepth,
|
|
182
201
|
depth,
|
|
@@ -185,6 +204,7 @@ const promise = async ({ context, currentDepth, depth, doc, field, fieldPromises
|
|
|
185
204
|
fields: field.fields,
|
|
186
205
|
findMany,
|
|
187
206
|
flattenLocales,
|
|
207
|
+
global,
|
|
188
208
|
overrideAccess,
|
|
189
209
|
populationPromises,
|
|
190
210
|
req,
|
|
@@ -199,6 +219,7 @@ const promise = async ({ context, currentDepth, depth, doc, field, fieldPromises
|
|
|
199
219
|
if (Array.isArray(rows)) {
|
|
200
220
|
rows.forEach((row)=>{
|
|
201
221
|
(0, _traverseFields.traverseFields)({
|
|
222
|
+
collection,
|
|
202
223
|
context,
|
|
203
224
|
currentDepth,
|
|
204
225
|
depth,
|
|
@@ -207,6 +228,7 @@ const promise = async ({ context, currentDepth, depth, doc, field, fieldPromises
|
|
|
207
228
|
fields: field.fields,
|
|
208
229
|
findMany,
|
|
209
230
|
flattenLocales,
|
|
231
|
+
global,
|
|
210
232
|
overrideAccess,
|
|
211
233
|
populationPromises,
|
|
212
234
|
req,
|
|
@@ -219,6 +241,7 @@ const promise = async ({ context, currentDepth, depth, doc, field, fieldPromises
|
|
|
219
241
|
if (Array.isArray(localeRows)) {
|
|
220
242
|
localeRows.forEach((row)=>{
|
|
221
243
|
(0, _traverseFields.traverseFields)({
|
|
244
|
+
collection,
|
|
222
245
|
context,
|
|
223
246
|
currentDepth,
|
|
224
247
|
depth,
|
|
@@ -227,6 +250,7 @@ const promise = async ({ context, currentDepth, depth, doc, field, fieldPromises
|
|
|
227
250
|
fields: field.fields,
|
|
228
251
|
findMany,
|
|
229
252
|
flattenLocales,
|
|
253
|
+
global,
|
|
230
254
|
overrideAccess,
|
|
231
255
|
populationPromises,
|
|
232
256
|
req,
|
|
@@ -249,6 +273,7 @@ const promise = async ({ context, currentDepth, depth, doc, field, fieldPromises
|
|
|
249
273
|
const block = field.blocks.find((blockType)=>blockType.slug === row.blockType);
|
|
250
274
|
if (block) {
|
|
251
275
|
(0, _traverseFields.traverseFields)({
|
|
276
|
+
collection,
|
|
252
277
|
context,
|
|
253
278
|
currentDepth,
|
|
254
279
|
depth,
|
|
@@ -257,6 +282,7 @@ const promise = async ({ context, currentDepth, depth, doc, field, fieldPromises
|
|
|
257
282
|
fields: block.fields,
|
|
258
283
|
findMany,
|
|
259
284
|
flattenLocales,
|
|
285
|
+
global,
|
|
260
286
|
overrideAccess,
|
|
261
287
|
populationPromises,
|
|
262
288
|
req,
|
|
@@ -272,6 +298,7 @@ const promise = async ({ context, currentDepth, depth, doc, field, fieldPromises
|
|
|
272
298
|
const block = field.blocks.find((blockType)=>blockType.slug === row.blockType);
|
|
273
299
|
if (block) {
|
|
274
300
|
(0, _traverseFields.traverseFields)({
|
|
301
|
+
collection,
|
|
275
302
|
context,
|
|
276
303
|
currentDepth,
|
|
277
304
|
depth,
|
|
@@ -280,6 +307,7 @@ const promise = async ({ context, currentDepth, depth, doc, field, fieldPromises
|
|
|
280
307
|
fields: block.fields,
|
|
281
308
|
findMany,
|
|
282
309
|
flattenLocales,
|
|
310
|
+
global,
|
|
283
311
|
overrideAccess,
|
|
284
312
|
populationPromises,
|
|
285
313
|
req,
|
|
@@ -299,6 +327,7 @@ const promise = async ({ context, currentDepth, depth, doc, field, fieldPromises
|
|
|
299
327
|
case 'collapsible':
|
|
300
328
|
{
|
|
301
329
|
(0, _traverseFields.traverseFields)({
|
|
330
|
+
collection,
|
|
302
331
|
context,
|
|
303
332
|
currentDepth,
|
|
304
333
|
depth,
|
|
@@ -307,6 +336,7 @@ const promise = async ({ context, currentDepth, depth, doc, field, fieldPromises
|
|
|
307
336
|
fields: field.fields,
|
|
308
337
|
findMany,
|
|
309
338
|
flattenLocales,
|
|
339
|
+
global,
|
|
310
340
|
overrideAccess,
|
|
311
341
|
populationPromises,
|
|
312
342
|
req,
|
|
@@ -323,6 +353,7 @@ const promise = async ({ context, currentDepth, depth, doc, field, fieldPromises
|
|
|
323
353
|
if (typeof siblingDoc[field.name] !== 'object') tabDoc = {};
|
|
324
354
|
}
|
|
325
355
|
await (0, _traverseFields.traverseFields)({
|
|
356
|
+
collection,
|
|
326
357
|
context,
|
|
327
358
|
currentDepth,
|
|
328
359
|
depth,
|
|
@@ -331,6 +362,7 @@ const promise = async ({ context, currentDepth, depth, doc, field, fieldPromises
|
|
|
331
362
|
fields: field.fields,
|
|
332
363
|
findMany,
|
|
333
364
|
flattenLocales,
|
|
365
|
+
global,
|
|
334
366
|
overrideAccess,
|
|
335
367
|
populationPromises,
|
|
336
368
|
req,
|
|
@@ -342,6 +374,7 @@ const promise = async ({ context, currentDepth, depth, doc, field, fieldPromises
|
|
|
342
374
|
case 'tabs':
|
|
343
375
|
{
|
|
344
376
|
(0, _traverseFields.traverseFields)({
|
|
377
|
+
collection,
|
|
345
378
|
context,
|
|
346
379
|
currentDepth,
|
|
347
380
|
depth,
|
|
@@ -353,6 +386,7 @@ const promise = async ({ context, currentDepth, depth, doc, field, fieldPromises
|
|
|
353
386
|
})),
|
|
354
387
|
findMany,
|
|
355
388
|
flattenLocales,
|
|
389
|
+
global,
|
|
356
390
|
overrideAccess,
|
|
357
391
|
populationPromises,
|
|
358
392
|
req,
|
|
@@ -368,4 +402,4 @@ const promise = async ({ context, currentDepth, depth, doc, field, fieldPromises
|
|
|
368
402
|
}
|
|
369
403
|
};
|
|
370
404
|
|
|
371
|
-
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uL3NyYy9maWVsZHMvaG9va3MvYWZ0ZXJSZWFkL3Byb21pc2UudHMiXSwic291cmNlc0NvbnRlbnQiOlsiLyogZXNsaW50LWRpc2FibGUgbm8tcGFyYW0tcmVhc3NpZ24gKi9cbmltcG9ydCB0eXBlIHsgUmljaFRleHRBZGFwdGVyIH0gZnJvbSAnLi4vLi4vLi4vYWRtaW4vY29tcG9uZW50cy9mb3Jtcy9maWVsZC10eXBlcy9SaWNoVGV4dC90eXBlcydcbmltcG9ydCB0eXBlIHsgUGF5bG9hZFJlcXVlc3QsIFJlcXVlc3RDb250ZXh0IH0gZnJvbSAnLi4vLi4vLi4vZXhwcmVzcy90eXBlcydcbmltcG9ydCB0eXBlIHsgRmllbGQsIFRhYkFzRmllbGQgfSBmcm9tICcuLi8uLi9jb25maWcvdHlwZXMnXG5cbmltcG9ydCB7IGZpZWxkQWZmZWN0c0RhdGEsIHRhYkhhc05hbWUgfSBmcm9tICcuLi8uLi9jb25maWcvdHlwZXMnXG5pbXBvcnQgcmVsYXRpb25zaGlwUG9wdWxhdGlvblByb21pc2UgZnJvbSAnLi9yZWxhdGlvbnNoaXBQb3B1bGF0aW9uUHJvbWlzZSdcbmltcG9ydCB7IHRyYXZlcnNlRmllbGRzIH0gZnJvbSAnLi90cmF2ZXJzZUZpZWxkcydcblxudHlwZSBBcmdzID0ge1xuICBjb250ZXh0OiBSZXF1ZXN0Q29udGV4dFxuICBjdXJyZW50RGVwdGg6IG51bWJlclxuICBkZXB0aDogbnVtYmVyXG4gIGRvYzogUmVjb3JkPHN0cmluZywgdW5rbm93bj5cbiAgZmllbGQ6IEZpZWxkIHwgVGFiQXNGaWVsZFxuICBmaWVsZFByb21pc2VzOiBQcm9taXNlPHZvaWQ+W11cbiAgZmluZE1hbnk6IGJvb2xlYW5cbiAgZmxhdHRlbkxvY2FsZXM6IGJvb2xlYW5cbiAgb3ZlcnJpZGVBY2Nlc3M6IGJvb2xlYW5cbiAgcG9wdWxhdGlvblByb21pc2VzOiBQcm9taXNlPHZvaWQ+W11cbiAgcmVxOiBQYXlsb2FkUmVxdWVzdFxuICBzaG93SGlkZGVuRmllbGRzOiBib29sZWFuXG4gIHNpYmxpbmdEb2M6IFJlY29yZDxzdHJpbmcsIHVua25vd24+XG59XG5cbi8vIFRoaXMgZnVuY3Rpb24gaXMgcmVzcG9uc2libGUgZm9yIHRoZSBmb2xsb3dpbmcgYWN0aW9ucywgaW4gb3JkZXI6XG4vLyAtIFJlbW92ZSBoaWRkZW4gZmllbGRzIGZyb20gcmVzcG9uc2Vcbi8vIC0gRmxhdHRlbiBsb2NhbGVzIGludG8gcmVxdWVzdGVkIGxvY2FsZVxuLy8gLSBTYW5pdGl6ZSBvdXRnb2luZyBkYXRhIChwb2ludCBmaWVsZCwgZXRjKVxuLy8gLSBFeGVjdXRlIGZpZWxkIGhvb2tzXG4vLyAtIEV4ZWN1dGUgcmVhZCBhY2Nlc3MgY29udHJvbFxuLy8gLSBQb3B1bGF0ZSByZWxhdGlvbnNoaXBzXG5cbmV4cG9ydCBjb25zdCBwcm9taXNlID0gYXN5bmMgKHtcbiAgY29udGV4dCxcbiAgY3VycmVudERlcHRoLFxuICBkZXB0aCxcbiAgZG9jLFxuICBmaWVsZCxcbiAgZmllbGRQcm9taXNlcyxcbiAgZmluZE1hbnksXG4gIGZsYXR0ZW5Mb2NhbGVzLFxuICBvdmVycmlkZUFjY2VzcyxcbiAgcG9wdWxhdGlvblByb21pc2VzLFxuICByZXEsXG4gIHNob3dIaWRkZW5GaWVsZHMsXG4gIHNpYmxpbmdEb2MsXG59OiBBcmdzKTogUHJvbWlzZTx2b2lkPiA9PiB7XG4gIGlmIChcbiAgICBmaWVsZEFmZmVjdHNEYXRhKGZpZWxkKSAmJlxuICAgIGZpZWxkLmhpZGRlbiAmJlxuICAgIHR5cGVvZiBzaWJsaW5nRG9jW2ZpZWxkLm5hbWVdICE9PSAndW5kZWZpbmVkJyAmJlxuICAgICFzaG93SGlkZGVuRmllbGRzXG4gICkge1xuICAgIGRlbGV0ZSBzaWJsaW5nRG9jW2ZpZWxkLm5hbWVdXG4gIH1cblxuICBjb25zdCBzaG91bGRIb2lzdExvY2FsaXplZFZhbHVlID1cbiAgICBmbGF0dGVuTG9jYWxlcyAmJlxuICAgIGZpZWxkQWZmZWN0c0RhdGEoZmllbGQpICYmXG4gICAgdHlwZW9mIHNpYmxpbmdEb2NbZmllbGQubmFtZV0gPT09ICdvYmplY3QnICYmXG4gICAgc2libGluZ0RvY1tmaWVsZC5uYW1lXSAhPT0gbnVsbCAmJlxuICAgIGZpZWxkLmxvY2FsaXplZCAmJlxuICAgIHJlcS5sb2NhbGUgIT09ICdhbGwnICYmXG4gICAgcmVxLnBheWxvYWQuY29uZmlnLmxvY2FsaXphdGlvblxuXG4gIGlmIChzaG91bGRIb2lzdExvY2FsaXplZFZhbHVlKSB7XG4gICAgLy8gcmVwbGFjZSBhY3R1YWwgdmFsdWUgd2l0aCBsb2NhbGl6ZWQgdmFsdWUgYmVmb3JlIHNhbml0aXppbmdcbiAgICAvLyB7IFtsb2NhbGVdOiBmaWVsZHMgfSAtPiBmaWVsZHNcbiAgICBjb25zdCB7IGxvY2FsZSB9ID0gcmVxXG4gICAgY29uc3QgdmFsdWUgPSBzaWJsaW5nRG9jW2ZpZWxkLm5hbWVdW2xvY2FsZV1cbiAgICBjb25zdCBmYWxsYmFja0xvY2FsZSA9XG4gICAgICByZXEucGF5bG9hZC5jb25maWcubG9jYWxpemF0aW9uICYmXG4gICAgICByZXEucGF5bG9hZC5jb25maWcubG9jYWxpemF0aW9uPy5mYWxsYmFjayAmJlxuICAgICAgcmVxLmZhbGxiYWNrTG9jYWxlXG5cbiAgICBsZXQgaG9pc3RlZFZhbHVlID0gdmFsdWVcblxuICAgIGlmIChmYWxsYmFja0xvY2FsZSAmJiBmYWxsYmFja0xvY2FsZSAhPT0gbG9jYWxlKSB7XG4gICAgICBjb25zdCBmYWxsYmFja1ZhbHVlID0gc2libGluZ0RvY1tmaWVsZC5uYW1lXVtmYWxsYmFja0xvY2FsZV1cbiAgICAgIGNvbnN0IGlzTnVsbE9yVW5kZWZpbmVkID0gdHlwZW9mIHZhbHVlID09PSAndW5kZWZpbmVkJyB8fCB2YWx1ZSA9PT0gbnVsbFxuXG4gICAgICBpZiAoZmFsbGJhY2tWYWx1ZSkge1xuICAgICAgICBzd2l0Y2ggKGZpZWxkLnR5cGUpIHtcbiAgICAgICAgICBjYXNlICd0ZXh0JzpcbiAgICAgICAgICBjYXNlICd0ZXh0YXJlYSc6IHtcbiAgICAgICAgICAgIGlmICh2YWx1ZSA9PT0gJycgfHwgaXNOdWxsT3JVbmRlZmluZWQpIHtcbiAgICAgICAgICAgICAgaG9pc3RlZFZhbHVlID0gZmFsbGJhY2tWYWx1ZVxuICAgICAgICAgICAgfVxuICAgICAgICAgICAgYnJlYWtcbiAgICAgICAgICB9XG5cbiAgICAgICAgICBkZWZhdWx0OiB7XG4gICAgICAgICAgICBpZiAoaXNOdWxsT3JVbmRlZmluZWQpIHtcbiAgICAgICAgICAgICAgaG9pc3RlZFZhbHVlID0gZmFsbGJhY2tWYWx1ZVxuICAgICAgICAgICAgfVxuICAgICAgICAgICAgYnJlYWtcbiAgICAgICAgICB9XG4gICAgICAgIH1cbiAgICAgIH1cbiAgICB9XG5cbiAgICBzaWJsaW5nRG9jW2ZpZWxkLm5hbWVdID0gaG9pc3RlZFZhbHVlXG4gIH1cblxuICAvLyBTYW5pdGl6ZSBvdXRnb2luZyBmaWVsZCB2YWx1ZVxuICBzd2l0Y2ggKGZpZWxkLnR5cGUpIHtcbiAgICBjYXNlICdncm91cCc6IHtcbiAgICAgIC8vIEZpbGwgZ3JvdXBzIHdpdGggZW1wdHkgb2JqZWN0cyBzbyBmaWVsZHMgd2l0aCBob29rcyB3aXRoaW4gZ3JvdXBzIGNhbiBwb3B1bGF0ZVxuICAgICAgLy8gdGhlbXNlbHZlcyB2aXJ0dWFsbHkgYXMgbmVjZXNzYXJ5XG4gICAgICBpZiAodHlwZW9mIHNpYmxpbmdEb2NbZmllbGQubmFtZV0gPT09ICd1bmRlZmluZWQnKSB7XG4gICAgICAgIHNpYmxpbmdEb2NbZmllbGQubmFtZV0gPSB7fVxuICAgICAgfVxuXG4gICAgICBicmVha1xuICAgIH1cbiAgICBjYXNlICd0YWJzJzoge1xuICAgICAgZmllbGQudGFicy5mb3JFYWNoKCh0YWIpID0+IHtcbiAgICAgICAgaWYgKFxuICAgICAgICAgIHRhYkhhc05hbWUodGFiKSAmJlxuICAgICAgICAgICh0eXBlb2Ygc2libGluZ0RvY1t0YWIubmFtZV0gPT09ICd1bmRlZmluZWQnIHx8IHNpYmxpbmdEb2NbdGFiLm5hbWVdID09PSBudWxsKVxuICAgICAgICApIHtcbiAgICAgICAgICBzaWJsaW5nRG9jW3RhYi5uYW1lXSA9IHt9XG4gICAgICAgIH1cbiAgICAgIH0pXG5cbiAgICAgIGJyZWFrXG4gICAgfVxuXG4gICAgY2FzZSAncmljaFRleHQnOiB7XG4gICAgICBjb25zdCBlZGl0b3I6IFJpY2hUZXh0QWRhcHRlciA9IGZpZWxkPy5lZGl0b3JcbiAgICAgIGlmIChlZGl0b3I/LmFmdGVyUmVhZFByb21pc2UpIHtcbiAgICAgICAgY29uc3QgYWZ0ZXJSZWFkUHJvbWlzZSA9IGVkaXRvci5hZnRlclJlYWRQcm9taXNlKHtcbiAgICAgICAgICBjdXJyZW50RGVwdGgsXG4gICAgICAgICAgZGVwdGgsXG4gICAgICAgICAgZmllbGQsXG4gICAgICAgICAgb3ZlcnJpZGVBY2Nlc3MsXG4gICAgICAgICAgcmVxLFxuICAgICAgICAgIHNob3dIaWRkZW5GaWVsZHMsXG4gICAgICAgICAgc2libGluZ0RvYyxcbiAgICAgICAgfSlcblxuICAgICAgICBpZiAoYWZ0ZXJSZWFkUHJvbWlzZSkge1xuICAgICAgICAgIHBvcHVsYXRpb25Qcm9taXNlcy5wdXNoKGFmdGVyUmVhZFByb21pc2UpXG4gICAgICAgIH1cbiAgICAgIH1cblxuICAgICAgYnJlYWtcbiAgICB9XG5cbiAgICBjYXNlICdwb2ludCc6IHtcbiAgICAgIGNvbnN0IHBvaW50RG9jID0gc2libGluZ0RvY1tmaWVsZC5uYW1lXSBhcyBSZWNvcmQ8c3RyaW5nLCB1bmtub3duPlxuICAgICAgaWYgKEFycmF5LmlzQXJyYXkocG9pbnREb2M/LmNvb3JkaW5hdGVzKSAmJiBwb2ludERvYy5jb29yZGluYXRlcy5sZW5ndGggPT09IDIpIHtcbiAgICAgICAgc2libGluZ0RvY1tmaWVsZC5uYW1lXSA9IHBvaW50RG9jLmNvb3JkaW5hdGVzXG4gICAgICB9IGVsc2Uge1xuICAgICAgICBzaWJsaW5nRG9jW2ZpZWxkLm5hbWVdID0gdW5kZWZpbmVkXG4gICAgICB9XG5cbiAgICAgIGJyZWFrXG4gICAgfVxuXG4gICAgZGVmYXVsdDoge1xuICAgICAgYnJlYWtcbiAgICB9XG4gIH1cblxuICBpZiAoZmllbGRBZmZlY3RzRGF0YShmaWVsZCkpIHtcbiAgICAvLyBFeGVjdXRlIGhvb2tzXG4gICAgaWYgKGZpZWxkLmhvb2tzPy5hZnRlclJlYWQpIHtcbiAgICAgIGF3YWl0IGZpZWxkLmhvb2tzLmFmdGVyUmVhZC5yZWR1Y2UoYXN5bmMgKHByaW9ySG9vaywgY3VycmVudEhvb2spID0+IHtcbiAgICAgICAgYXdhaXQgcHJpb3JIb29rXG5cbiAgICAgICAgY29uc3Qgc2hvdWxkUnVuSG9va09uQWxsTG9jYWxlcyA9XG4gICAgICAgICAgZmllbGQubG9jYWxpemVkICYmXG4gICAgICAgICAgKHJlcS5sb2NhbGUgPT09ICdhbGwnIHx8ICFmbGF0dGVuTG9jYWxlcykgJiZcbiAgICAgICAgICB0eXBlb2Ygc2libGluZ0RvY1tmaWVsZC5uYW1lXSA9PT0gJ29iamVjdCdcblxuICAgICAgICBpZiAoc2hvdWxkUnVuSG9va09uQWxsTG9jYWxlcykge1xuICAgICAgICAgIGNvbnN0IGhvb2tQcm9taXNlcyA9IE9iamVjdC5lbnRyaWVzKHNpYmxpbmdEb2NbZmllbGQubmFtZV0pLm1hcCgoW2xvY2FsZSwgdmFsdWVdKSA9PlxuICAgICAgICAgICAgKGFzeW5jICgpID0+IHtcbiAgICAgICAgICAgICAgY29uc3QgaG9va2VkVmFsdWUgPSBhd2FpdCBjdXJyZW50SG9vayh7XG4gICAgICAgICAgICAgICAgY29udGV4dCxcbiAgICAgICAgICAgICAgICBkYXRhOiBkb2MsXG4gICAgICAgICAgICAgICAgb3BlcmF0aW9uOiAncmVhZCcsXG4gICAgICAgICAgICAgICAgb3JpZ2luYWxEb2M6IGRvYyxcbiAgICAgICAgICAgICAgICByZXEsXG4gICAgICAgICAgICAgICAgc2libGluZ0RhdGE6IHNpYmxpbmdEb2MsXG4gICAgICAgICAgICAgICAgdmFsdWUsXG4gICAgICAgICAgICAgIH0pXG5cbiAgICAgICAgICAgICAgaWYgKGhvb2tlZFZhbHVlICE9PSB1bmRlZmluZWQpIHtcbiAgICAgICAgICAgICAgICBzaWJsaW5nRG9jW2ZpZWxkLm5hbWVdW2xvY2FsZV0gPSBob29rZWRWYWx1ZVxuICAgICAgICAgICAgICB9XG4gICAgICAgICAgICB9KSgpLFxuICAgICAgICAgIClcblxuICAgICAgICAgIGF3YWl0IFByb21pc2UuYWxsKGhvb2tQcm9taXNlcylcbiAgICAgICAgfSBlbHNlIHtcbiAgICAgICAgICBjb25zdCBob29rZWRWYWx1ZSA9IGF3YWl0IGN1cnJlbnRIb29rKHtcbiAgICAgICAgICAgIGNvbnRleHQsXG4gICAgICAgICAgICBkYXRhOiBkb2MsXG4gICAgICAgICAgICBmaW5kTWFueSxcbiAgICAgICAgICAgIG9wZXJhdGlvbjogJ3JlYWQnLFxuICAgICAgICAgICAgb3JpZ2luYWxEb2M6IGRvYyxcbiAgICAgICAgICAgIHJlcSxcbiAgICAgICAgICAgIHNpYmxpbmdEYXRhOiBzaWJsaW5nRG9jLFxuICAgICAgICAgICAgdmFsdWU6IHNpYmxpbmdEb2NbZmllbGQubmFtZV0sXG4gICAgICAgICAgfSlcblxuICAgICAgICAgIGlmIChob29rZWRWYWx1ZSAhPT0gdW5kZWZpbmVkKSB7XG4gICAgICAgICAgICBzaWJsaW5nRG9jW2ZpZWxkLm5hbWVdID0gaG9va2VkVmFsdWVcbiAgICAgICAgICB9XG4gICAgICAgIH1cbiAgICAgIH0sIFByb21pc2UucmVzb2x2ZSgpKVxuICAgIH1cblxuICAgIC8vIEV4ZWN1dGUgYWNjZXNzIGNvbnRyb2xcbiAgICBpZiAoZmllbGQuYWNjZXNzICYmIGZpZWxkLmFjY2Vzcy5yZWFkKSB7XG4gICAgICBjb25zdCByZXN1bHQgPSBvdmVycmlkZUFjY2Vzc1xuICAgICAgICA/IHRydWVcbiAgICAgICAgOiBhd2FpdCBmaWVsZC5hY2Nlc3MucmVhZCh7XG4gICAgICAgICAgICBpZDogZG9jLmlkIGFzIG51bWJlciB8IHN0cmluZyxcbiAgICAgICAgICAgIGRhdGE6IGRvYyxcbiAgICAgICAgICAgIGRvYyxcbiAgICAgICAgICAgIHJlcSxcbiAgICAgICAgICAgIHNpYmxpbmdEYXRhOiBzaWJsaW5nRG9jLFxuICAgICAgICAgIH0pXG5cbiAgICAgIGlmICghcmVzdWx0KSB7XG4gICAgICAgIGRlbGV0ZSBzaWJsaW5nRG9jW2ZpZWxkLm5hbWVdXG4gICAgICB9XG4gICAgfVxuXG4gICAgaWYgKGZpZWxkLnR5cGUgPT09ICdyZWxhdGlvbnNoaXAnIHx8IGZpZWxkLnR5cGUgPT09ICd1cGxvYWQnKSB7XG4gICAgICBwb3B1bGF0aW9uUHJvbWlzZXMucHVzaChcbiAgICAgICAgcmVsYXRpb25zaGlwUG9wdWxhdGlvblByb21pc2Uoe1xuICAgICAgICAgIGN1cnJlbnREZXB0aCxcbiAgICAgICAgICBkZXB0aCxcbiAgICAgICAgICBmaWVsZCxcbiAgICAgICAgICBvdmVycmlkZUFjY2VzcyxcbiAgICAgICAgICByZXEsXG4gICAgICAgICAgc2hvd0hpZGRlbkZpZWxkcyxcbiAgICAgICAgICBzaWJsaW5nRG9jLFxuICAgICAgICB9KSxcbiAgICAgIClcbiAgICB9XG4gIH1cblxuICBzd2l0Y2ggKGZpZWxkLnR5cGUpIHtcbiAgICBjYXNlICdncm91cCc6IHtcbiAgICAgIGxldCBncm91cERvYyA9IHNpYmxpbmdEb2NbZmllbGQubmFtZV0gYXMgUmVjb3JkPHN0cmluZywgdW5rbm93bj5cbiAgICAgIGlmICh0eXBlb2Ygc2libGluZ0RvY1tmaWVsZC5uYW1lXSAhPT0gJ29iamVjdCcpIGdyb3VwRG9jID0ge31cblxuICAgICAgdHJhdmVyc2VGaWVsZHMoe1xuICAgICAgICBjb250ZXh0LFxuICAgICAgICBjdXJyZW50RGVwdGgsXG4gICAgICAgIGRlcHRoLFxuICAgICAgICBkb2MsXG4gICAgICAgIGZpZWxkUHJvbWlzZXMsXG4gICAgICAgIGZpZWxkczogZmllbGQuZmllbGRzLFxuICAgICAgICBmaW5kTWFueSxcbiAgICAgICAgZmxhdHRlbkxvY2FsZXMsXG4gICAgICAgIG92ZXJyaWRlQWNjZXNzLFxuICAgICAgICBwb3B1bGF0aW9uUHJvbWlzZXMsXG4gICAgICAgIHJlcSxcbiAgICAgICAgc2hvd0hpZGRlbkZpZWxkcyxcbiAgICAgICAgc2libGluZ0RvYzogZ3JvdXBEb2MsXG4gICAgICB9KVxuXG4gICAgICBicmVha1xuICAgIH1cblxuICAgIGNhc2UgJ2FycmF5Jzoge1xuICAgICAgY29uc3Qgcm93cyA9IHNpYmxpbmdEb2NbZmllbGQubmFtZV1cblxuICAgICAgaWYgKEFycmF5LmlzQXJyYXkocm93cykpIHtcbiAgICAgICAgcm93cy5mb3JFYWNoKChyb3cpID0+IHtcbiAgICAgICAgICB0cmF2ZXJzZUZpZWxkcyh7XG4gICAgICAgICAgICBjb250ZXh0LFxuICAgICAgICAgICAgY3VycmVudERlcHRoLFxuICAgICAgICAgICAgZGVwdGgsXG4gICAgICAgICAgICBkb2MsXG4gICAgICAgICAgICBmaWVsZFByb21pc2VzLFxuICAgICAgICAgICAgZmllbGRzOiBmaWVsZC5maWVsZHMsXG4gICAgICAgICAgICBmaW5kTWFueSxcbiAgICAgICAgICAgIGZsYXR0ZW5Mb2NhbGVzLFxuICAgICAgICAgICAgb3ZlcnJpZGVBY2Nlc3MsXG4gICAgICAgICAgICBwb3B1bGF0aW9uUHJvbWlzZXMsXG4gICAgICAgICAgICByZXEsXG4gICAgICAgICAgICBzaG93SGlkZGVuRmllbGRzLFxuICAgICAgICAgICAgc2libGluZ0RvYzogcm93IHx8IHt9LFxuICAgICAgICAgIH0pXG4gICAgICAgIH0pXG4gICAgICB9IGVsc2UgaWYgKCFzaG91bGRIb2lzdExvY2FsaXplZFZhbHVlICYmIHR5cGVvZiByb3dzID09PSAnb2JqZWN0JyAmJiByb3dzICE9PSBudWxsKSB7XG4gICAgICAgIE9iamVjdC52YWx1ZXMocm93cykuZm9yRWFjaCgobG9jYWxlUm93cykgPT4ge1xuICAgICAgICAgIGlmIChBcnJheS5pc0FycmF5KGxvY2FsZVJvd3MpKSB7XG4gICAgICAgICAgICBsb2NhbGVSb3dzLmZvckVhY2goKHJvdykgPT4ge1xuICAgICAgICAgICAgICB0cmF2ZXJzZUZpZWxkcyh7XG4gICAgICAgICAgICAgICAgY29udGV4dCxcbiAgICAgICAgICAgICAgICBjdXJyZW50RGVwdGgsXG4gICAgICAgICAgICAgICAgZGVwdGgsXG4gICAgICAgICAgICAgICAgZG9jLFxuICAgICAgICAgICAgICAgIGZpZWxkUHJvbWlzZXMsXG4gICAgICAgICAgICAgICAgZmllbGRzOiBmaWVsZC5maWVsZHMsXG4gICAgICAgICAgICAgICAgZmluZE1hbnksXG4gICAgICAgICAgICAgICAgZmxhdHRlbkxvY2FsZXMsXG4gICAgICAgICAgICAgICAgb3ZlcnJpZGVBY2Nlc3MsXG4gICAgICAgICAgICAgICAgcG9wdWxhdGlvblByb21pc2VzLFxuICAgICAgICAgICAgICAgIHJlcSxcbiAgICAgICAgICAgICAgICBzaG93SGlkZGVuRmllbGRzLFxuICAgICAgICAgICAgICAgIHNpYmxpbmdEb2M6IHJvdyB8fCB7fSxcbiAgICAgICAgICAgICAgfSlcbiAgICAgICAgICAgIH0pXG4gICAgICAgICAgfVxuICAgICAgICB9KVxuICAgICAgfSBlbHNlIHtcbiAgICAgICAgc2libGluZ0RvY1tmaWVsZC5uYW1lXSA9IFtdXG4gICAgICB9XG4gICAgICBicmVha1xuICAgIH1cblxuICAgIGNhc2UgJ2Jsb2Nrcyc6IHtcbiAgICAgIGNvbnN0IHJvd3MgPSBzaWJsaW5nRG9jW2ZpZWxkLm5hbWVdXG5cbiAgICAgIGlmIChBcnJheS5pc0FycmF5KHJvd3MpKSB7XG4gICAgICAgIHJvd3MuZm9yRWFjaCgocm93KSA9PiB7XG4gICAgICAgICAgY29uc3QgYmxvY2sgPSBmaWVsZC5ibG9ja3MuZmluZCgoYmxvY2tUeXBlKSA9PiBibG9ja1R5cGUuc2x1ZyA9PT0gcm93LmJsb2NrVHlwZSlcblxuICAgICAgICAgIGlmIChibG9jaykge1xuICAgICAgICAgICAgdHJhdmVyc2VGaWVsZHMoe1xuICAgICAgICAgICAgICBjb250ZXh0LFxuICAgICAgICAgICAgICBjdXJyZW50RGVwdGgsXG4gICAgICAgICAgICAgIGRlcHRoLFxuICAgICAgICAgICAgICBkb2MsXG4gICAgICAgICAgICAgIGZpZWxkUHJvbWlzZXMsXG4gICAgICAgICAgICAgIGZpZWxkczogYmxvY2suZmllbGRzLFxuICAgICAgICAgICAgICBmaW5kTWFueSxcbiAgICAgICAgICAgICAgZmxhdHRlbkxvY2FsZXMsXG4gICAgICAgICAgICAgIG92ZXJyaWRlQWNjZXNzLFxuICAgICAgICAgICAgICBwb3B1bGF0aW9uUHJvbWlzZXMsXG4gICAgICAgICAgICAgIHJlcSxcbiAgICAgICAgICAgICAgc2hvd0hpZGRlbkZpZWxkcyxcbiAgICAgICAgICAgICAgc2libGluZ0RvYzogcm93IHx8IHt9LFxuICAgICAgICAgICAgfSlcbiAgICAgICAgICB9XG4gICAgICAgIH0pXG4gICAgICB9IGVsc2UgaWYgKCFzaG91bGRIb2lzdExvY2FsaXplZFZhbHVlICYmIHR5cGVvZiByb3dzID09PSAnb2JqZWN0JyAmJiByb3dzICE9PSBudWxsKSB7XG4gICAgICAgIE9iamVjdC52YWx1ZXMocm93cykuZm9yRWFjaCgobG9jYWxlUm93cykgPT4ge1xuICAgICAgICAgIGlmIChBcnJheS5pc0FycmF5KGxvY2FsZVJvd3MpKSB7XG4gICAgICAgICAgICBsb2NhbGVSb3dzLmZvckVhY2goKHJvdykgPT4ge1xuICAgICAgICAgICAgICBjb25zdCBibG9jayA9IGZpZWxkLmJsb2Nrcy5maW5kKChibG9ja1R5cGUpID0+IGJsb2NrVHlwZS5zbHVnID09PSByb3cuYmxvY2tUeXBlKVxuXG4gICAgICAgICAgICAgIGlmIChibG9jaykge1xuICAgICAgICAgICAgICAgIHRyYXZlcnNlRmllbGRzKHtcbiAgICAgICAgICAgICAgICAgIGNvbnRleHQsXG4gICAgICAgICAgICAgICAgICBjdXJyZW50RGVwdGgsXG4gICAgICAgICAgICAgICAgICBkZXB0aCxcbiAgICAgICAgICAgICAgICAgIGRvYyxcbiAgICAgICAgICAgICAgICAgIGZpZWxkUHJvbWlzZXMsXG4gICAgICAgICAgICAgICAgICBmaWVsZHM6IGJsb2NrLmZpZWxkcyxcbiAgICAgICAgICAgICAgICAgIGZpbmRNYW55LFxuICAgICAgICAgICAgICAgICAgZmxhdHRlbkxvY2FsZXMsXG4gICAgICAgICAgICAgICAgICBvdmVycmlkZUFjY2VzcyxcbiAgICAgICAgICAgICAgICAgIHBvcHVsYXRpb25Qcm9taXNlcyxcbiAgICAgICAgICAgICAgICAgIHJlcSxcbiAgICAgICAgICAgICAgICAgIHNob3dIaWRkZW5GaWVsZHMsXG4gICAgICAgICAgICAgICAgICBzaWJsaW5nRG9jOiByb3cgfHwge30sXG4gICAgICAgICAgICAgICAgfSlcbiAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgfSlcbiAgICAgICAgICB9XG4gICAgICAgIH0pXG4gICAgICB9IGVsc2Uge1xuICAgICAgICBzaWJsaW5nRG9jW2ZpZWxkLm5hbWVdID0gW11cbiAgICAgIH1cblxuICAgICAgYnJlYWtcbiAgICB9XG5cbiAgICBjYXNlICdyb3cnOlxuICAgIGNhc2UgJ2NvbGxhcHNpYmxlJzoge1xuICAgICAgdHJhdmVyc2VGaWVsZHMoe1xuICAgICAgICBjb250ZXh0LFxuICAgICAgICBjdXJyZW50RGVwdGgsXG4gICAgICAgIGRlcHRoLFxuICAgICAgICBkb2MsXG4gICAgICAgIGZpZWxkUHJvbWlzZXMsXG4gICAgICAgIGZpZWxkczogZmllbGQuZmllbGRzLFxuICAgICAgICBmaW5kTWFueSxcbiAgICAgICAgZmxhdHRlbkxvY2FsZXMsXG4gICAgICAgIG92ZXJyaWRlQWNjZXNzLFxuICAgICAgICBwb3B1bGF0aW9uUHJvbWlzZXMsXG4gICAgICAgIHJlcSxcbiAgICAgICAgc2hvd0hpZGRlbkZpZWxkcyxcbiAgICAgICAgc2libGluZ0RvYyxcbiAgICAgIH0pXG5cbiAgICAgIGJyZWFrXG4gICAgfVxuXG4gICAgY2FzZSAndGFiJzoge1xuICAgICAgbGV0IHRhYkRvYyA9IHNpYmxpbmdEb2NcbiAgICAgIGlmICh0YWJIYXNOYW1lKGZpZWxkKSkge1xuICAgICAgICB0YWJEb2MgPSBzaWJsaW5nRG9jW2ZpZWxkLm5hbWVdIGFzIFJlY29yZDxzdHJpbmcsIHVua25vd24+XG4gICAgICAgIGlmICh0eXBlb2Ygc2libGluZ0RvY1tmaWVsZC5uYW1lXSAhPT0gJ29iamVjdCcpIHRhYkRvYyA9IHt9XG4gICAgICB9XG5cbiAgICAgIGF3YWl0IHRyYXZlcnNlRmllbGRzKHtcbiAgICAgICAgY29udGV4dCxcbiAgICAgICAgY3VycmVudERlcHRoLFxuICAgICAgICBkZXB0aCxcbiAgICAgICAgZG9jLFxuICAgICAgICBmaWVsZFByb21pc2VzLFxuICAgICAgICBmaWVsZHM6IGZpZWxkLmZpZWxkcyxcbiAgICAgICAgZmluZE1hbnksXG4gICAgICAgIGZsYXR0ZW5Mb2NhbGVzLFxuICAgICAgICBvdmVycmlkZUFjY2VzcyxcbiAgICAgICAgcG9wdWxhdGlvblByb21pc2VzLFxuICAgICAgICByZXEsXG4gICAgICAgIHNob3dIaWRkZW5GaWVsZHMsXG4gICAgICAgIHNpYmxpbmdEb2M6IHRhYkRvYyxcbiAgICAgIH0pXG5cbiAgICAgIGJyZWFrXG4gICAgfVxuXG4gICAgY2FzZSAndGFicyc6IHtcbiAgICAgIHRyYXZlcnNlRmllbGRzKHtcbiAgICAgICAgY29udGV4dCxcbiAgICAgICAgY3VycmVudERlcHRoLFxuICAgICAgICBkZXB0aCxcbiAgICAgICAgZG9jLFxuICAgICAgICBmaWVsZFByb21pc2VzLFxuICAgICAgICBmaWVsZHM6IGZpZWxkLnRhYnMubWFwKCh0YWIpID0+ICh7IC4uLnRhYiwgdHlwZTogJ3RhYicgfSkpLFxuICAgICAgICBmaW5kTWFueSxcbiAgICAgICAgZmxhdHRlbkxvY2FsZXMsXG4gICAgICAgIG92ZXJyaWRlQWNjZXNzLFxuICAgICAgICBwb3B1bGF0aW9uUHJvbWlzZXMsXG4gICAgICAgIHJlcSxcbiAgICAgICAgc2hvd0hpZGRlbkZpZWxkcyxcbiAgICAgICAgc2libGluZ0RvYyxcbiAgICAgIH0pXG4gICAgICBicmVha1xuICAgIH1cblxuICAgIGRlZmF1bHQ6IHtcbiAgICAgIGJyZWFrXG4gICAgfVxuICB9XG59XG4iXSwibmFtZXMiOlsicHJvbWlzZSIsImNvbnRleHQiLCJjdXJyZW50RGVwdGgiLCJkZXB0aCIsImRvYyIsImZpZWxkIiwiZmllbGRQcm9taXNlcyIsImZpbmRNYW55IiwiZmxhdHRlbkxvY2FsZXMiLCJvdmVycmlkZUFjY2VzcyIsInBvcHVsYXRpb25Qcm9taXNlcyIsInJlcSIsInNob3dIaWRkZW5GaWVsZHMiLCJzaWJsaW5nRG9jIiwiZmllbGRBZmZlY3RzRGF0YSIsImhpZGRlbiIsIm5hbWUiLCJzaG91bGRIb2lzdExvY2FsaXplZFZhbHVlIiwibG9jYWxpemVkIiwibG9jYWxlIiwicGF5bG9hZCIsImNvbmZpZyIsImxvY2FsaXphdGlvbiIsInZhbHVlIiwiZmFsbGJhY2tMb2NhbGUiLCJmYWxsYmFjayIsImhvaXN0ZWRWYWx1ZSIsImZhbGxiYWNrVmFsdWUiLCJpc051bGxPclVuZGVmaW5lZCIsInR5cGUiLCJ0YWJzIiwiZm9yRWFjaCIsInRhYiIsInRhYkhhc05hbWUiLCJlZGl0b3IiLCJhZnRlclJlYWRQcm9taXNlIiwicHVzaCIsInBvaW50RG9jIiwiQXJyYXkiLCJpc0FycmF5IiwiY29vcmRpbmF0ZXMiLCJsZW5ndGgiLCJ1bmRlZmluZWQiLCJob29rcyIsImFmdGVyUmVhZCIsInJlZHVjZSIsInByaW9ySG9vayIsImN1cnJlbnRIb29rIiwic2hvdWxkUnVuSG9va09uQWxsTG9jYWxlcyIsImhvb2tQcm9taXNlcyIsIk9iamVjdCIsImVudHJpZXMiLCJtYXAiLCJob29rZWRWYWx1ZSIsImRhdGEiLCJvcGVyYXRpb24iLCJvcmlnaW5hbERvYyIsInNpYmxpbmdEYXRhIiwiUHJvbWlzZSIsImFsbCIsInJlc29sdmUiLCJhY2Nlc3MiLCJyZWFkIiwicmVzdWx0IiwiaWQiLCJyZWxhdGlvbnNoaXBQb3B1bGF0aW9uUHJvbWlzZSIsImdyb3VwRG9jIiwidHJhdmVyc2VGaWVsZHMiLCJmaWVsZHMiLCJyb3dzIiwicm93IiwidmFsdWVzIiwibG9jYWxlUm93cyIsImJsb2NrIiwiYmxvY2tzIiwiZmluZCIsImJsb2NrVHlwZSIsInNsdWciLCJ0YWJEb2MiXSwibWFwcGluZ3MiOiJBQUFBLG9DQUFvQzs7OzsrQkFpQ3ZCQTs7O2VBQUFBOzs7dUJBNUJnQztzRkFDSDtnQ0FDWDs7Ozs7O0FBMEJ4QixNQUFNQSxVQUFVLE9BQU8sRUFDNUJDLE9BQU8sRUFDUEMsWUFBWSxFQUNaQyxLQUFLLEVBQ0xDLEdBQUcsRUFDSEMsS0FBSyxFQUNMQyxhQUFhLEVBQ2JDLFFBQVEsRUFDUkMsY0FBYyxFQUNkQyxjQUFjLEVBQ2RDLGtCQUFrQixFQUNsQkMsR0FBRyxFQUNIQyxnQkFBZ0IsRUFDaEJDLFVBQVUsRUFDTDtJQUNMLElBQ0VDLElBQUFBLHVCQUFnQixFQUFDVCxVQUNqQkEsTUFBTVUsTUFBTSxJQUNaLE9BQU9GLFVBQVUsQ0FBQ1IsTUFBTVcsSUFBSSxDQUFDLEtBQUssZUFDbEMsQ0FBQ0osa0JBQ0Q7UUFDQSxPQUFPQyxVQUFVLENBQUNSLE1BQU1XLElBQUksQ0FBQztJQUMvQjtJQUVBLE1BQU1DLDRCQUNKVCxrQkFDQU0sSUFBQUEsdUJBQWdCLEVBQUNULFVBQ2pCLE9BQU9RLFVBQVUsQ0FBQ1IsTUFBTVcsSUFBSSxDQUFDLEtBQUssWUFDbENILFVBQVUsQ0FBQ1IsTUFBTVcsSUFBSSxDQUFDLEtBQUssUUFDM0JYLE1BQU1hLFNBQVMsSUFDZlAsSUFBSVEsTUFBTSxLQUFLLFNBQ2ZSLElBQUlTLE9BQU8sQ0FBQ0MsTUFBTSxDQUFDQyxZQUFZO0lBRWpDLElBQUlMLDJCQUEyQjtRQUM3Qiw4REFBOEQ7UUFDOUQsaUNBQWlDO1FBQ2pDLE1BQU0sRUFBRUUsTUFBTSxFQUFFLEdBQUdSO1FBQ25CLE1BQU1ZLFFBQVFWLFVBQVUsQ0FBQ1IsTUFBTVcsSUFBSSxDQUFDLENBQUNHLE9BQU87UUFDNUMsTUFBTUssaUJBQ0piLElBQUlTLE9BQU8s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
|
|
405
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uL3NyYy9maWVsZHMvaG9va3MvYWZ0ZXJSZWFkL3Byb21pc2UudHMiXSwic291cmNlc0NvbnRlbnQiOlsiLyogZXNsaW50LWRpc2FibGUgbm8tcGFyYW0tcmVhc3NpZ24gKi9cbmltcG9ydCB0eXBlIHsgUmljaFRleHRBZGFwdGVyIH0gZnJvbSAnLi4vLi4vLi4vYWRtaW4vY29tcG9uZW50cy9mb3Jtcy9maWVsZC10eXBlcy9SaWNoVGV4dC90eXBlcydcbmltcG9ydCB0eXBlIHsgU2FuaXRpemVkQ29sbGVjdGlvbkNvbmZpZyB9IGZyb20gJy4uLy4uLy4uL2NvbGxlY3Rpb25zL2NvbmZpZy90eXBlcydcbmltcG9ydCB0eXBlIHsgUGF5bG9hZFJlcXVlc3QsIFJlcXVlc3RDb250ZXh0IH0gZnJvbSAnLi4vLi4vLi4vZXhwcmVzcy90eXBlcydcbmltcG9ydCB0eXBlIHsgU2FuaXRpemVkR2xvYmFsQ29uZmlnIH0gZnJvbSAnLi4vLi4vLi4vZ2xvYmFscy9jb25maWcvdHlwZXMnXG5pbXBvcnQgdHlwZSB7IEZpZWxkLCBUYWJBc0ZpZWxkIH0gZnJvbSAnLi4vLi4vY29uZmlnL3R5cGVzJ1xuXG5pbXBvcnQgeyBmaWVsZEFmZmVjdHNEYXRhLCB0YWJIYXNOYW1lIH0gZnJvbSAnLi4vLi4vY29uZmlnL3R5cGVzJ1xuaW1wb3J0IHJlbGF0aW9uc2hpcFBvcHVsYXRpb25Qcm9taXNlIGZyb20gJy4vcmVsYXRpb25zaGlwUG9wdWxhdGlvblByb21pc2UnXG5pbXBvcnQgeyB0cmF2ZXJzZUZpZWxkcyB9IGZyb20gJy4vdHJhdmVyc2VGaWVsZHMnXG5cbnR5cGUgQXJncyA9IHtcbiAgY29sbGVjdGlvbjogU2FuaXRpemVkQ29sbGVjdGlvbkNvbmZpZyB8IG51bGxcbiAgY29udGV4dDogUmVxdWVzdENvbnRleHRcbiAgY3VycmVudERlcHRoOiBudW1iZXJcbiAgZGVwdGg6IG51bWJlclxuICBkb2M6IFJlY29yZDxzdHJpbmcsIHVua25vd24+XG4gIGZpZWxkOiBGaWVsZCB8IFRhYkFzRmllbGRcbiAgZmllbGRQcm9taXNlczogUHJvbWlzZTx2b2lkPltdXG4gIGZpbmRNYW55OiBib29sZWFuXG4gIGZsYXR0ZW5Mb2NhbGVzOiBib29sZWFuXG4gIGdsb2JhbDogU2FuaXRpemVkR2xvYmFsQ29uZmlnIHwgbnVsbFxuICBvdmVycmlkZUFjY2VzczogYm9vbGVhblxuICBwb3B1bGF0aW9uUHJvbWlzZXM6IFByb21pc2U8dm9pZD5bXVxuICByZXE6IFBheWxvYWRSZXF1ZXN0XG4gIHNob3dIaWRkZW5GaWVsZHM6IGJvb2xlYW5cbiAgc2libGluZ0RvYzogUmVjb3JkPHN0cmluZywgdW5rbm93bj5cbn1cblxuLy8gVGhpcyBmdW5jdGlvbiBpcyByZXNwb25zaWJsZSBmb3IgdGhlIGZvbGxvd2luZyBhY3Rpb25zLCBpbiBvcmRlcjpcbi8vIC0gUmVtb3ZlIGhpZGRlbiBmaWVsZHMgZnJvbSByZXNwb25zZVxuLy8gLSBGbGF0dGVuIGxvY2FsZXMgaW50byByZXF1ZXN0ZWQgbG9jYWxlXG4vLyAtIFNhbml0aXplIG91dGdvaW5nIGRhdGEgKHBvaW50IGZpZWxkLCBldGMpXG4vLyAtIEV4ZWN1dGUgZmllbGQgaG9va3Ncbi8vIC0gRXhlY3V0ZSByZWFkIGFjY2VzcyBjb250cm9sXG4vLyAtIFBvcHVsYXRlIHJlbGF0aW9uc2hpcHNcblxuZXhwb3J0IGNvbnN0IHByb21pc2UgPSBhc3luYyAoe1xuICBjb2xsZWN0aW9uLFxuICBjb250ZXh0LFxuICBjdXJyZW50RGVwdGgsXG4gIGRlcHRoLFxuICBkb2MsXG4gIGZpZWxkLFxuICBmaWVsZFByb21pc2VzLFxuICBmaW5kTWFueSxcbiAgZmxhdHRlbkxvY2FsZXMsXG4gIGdsb2JhbCxcbiAgb3ZlcnJpZGVBY2Nlc3MsXG4gIHBvcHVsYXRpb25Qcm9taXNlcyxcbiAgcmVxLFxuICBzaG93SGlkZGVuRmllbGRzLFxuICBzaWJsaW5nRG9jLFxufTogQXJncyk6IFByb21pc2U8dm9pZD4gPT4ge1xuICBpZiAoXG4gICAgZmllbGRBZmZlY3RzRGF0YShmaWVsZCkgJiZcbiAgICBmaWVsZC5oaWRkZW4gJiZcbiAgICB0eXBlb2Ygc2libGluZ0RvY1tmaWVsZC5uYW1lXSAhPT0gJ3VuZGVmaW5lZCcgJiZcbiAgICAhc2hvd0hpZGRlbkZpZWxkc1xuICApIHtcbiAgICBkZWxldGUgc2libGluZ0RvY1tmaWVsZC5uYW1lXVxuICB9XG5cbiAgY29uc3Qgc2hvdWxkSG9pc3RMb2NhbGl6ZWRWYWx1ZSA9XG4gICAgZmxhdHRlbkxvY2FsZXMgJiZcbiAgICBmaWVsZEFmZmVjdHNEYXRhKGZpZWxkKSAmJlxuICAgIHR5cGVvZiBzaWJsaW5nRG9jW2ZpZWxkLm5hbWVdID09PSAnb2JqZWN0JyAmJlxuICAgIHNpYmxpbmdEb2NbZmllbGQubmFtZV0gIT09IG51bGwgJiZcbiAgICBmaWVsZC5sb2NhbGl6ZWQgJiZcbiAgICByZXEubG9jYWxlICE9PSAnYWxsJyAmJlxuICAgIHJlcS5wYXlsb2FkLmNvbmZpZy5sb2NhbGl6YXRpb25cblxuICBpZiAoc2hvdWxkSG9pc3RMb2NhbGl6ZWRWYWx1ZSkge1xuICAgIC8vIHJlcGxhY2UgYWN0dWFsIHZhbHVlIHdpdGggbG9jYWxpemVkIHZhbHVlIGJlZm9yZSBzYW5pdGl6aW5nXG4gICAgLy8geyBbbG9jYWxlXTogZmllbGRzIH0gLT4gZmllbGRzXG4gICAgY29uc3QgeyBsb2NhbGUgfSA9IHJlcVxuICAgIGNvbnN0IHZhbHVlID0gc2libGluZ0RvY1tmaWVsZC5uYW1lXVtsb2NhbGVdXG4gICAgY29uc3QgZmFsbGJhY2tMb2NhbGUgPVxuICAgICAgcmVxLnBheWxvYWQuY29uZmlnLmxvY2FsaXphdGlvbiAmJlxuICAgICAgcmVxLnBheWxvYWQuY29uZmlnLmxvY2FsaXphdGlvbj8uZmFsbGJhY2sgJiZcbiAgICAgIHJlcS5mYWxsYmFja0xvY2FsZVxuXG4gICAgbGV0IGhvaXN0ZWRWYWx1ZSA9IHZhbHVlXG5cbiAgICBpZiAoZmFsbGJhY2tMb2NhbGUgJiYgZmFsbGJhY2tMb2NhbGUgIT09IGxvY2FsZSkge1xuICAgICAgY29uc3QgZmFsbGJhY2tWYWx1ZSA9IHNpYmxpbmdEb2NbZmllbGQubmFtZV1bZmFsbGJhY2tMb2NhbGVdXG4gICAgICBjb25zdCBpc051bGxPclVuZGVmaW5lZCA9IHR5cGVvZiB2YWx1ZSA9PT0gJ3VuZGVmaW5lZCcgfHwgdmFsdWUgPT09IG51bGxcblxuICAgICAgaWYgKGZhbGxiYWNrVmFsdWUpIHtcbiAgICAgICAgc3dpdGNoIChmaWVsZC50eXBlKSB7XG4gICAgICAgICAgY2FzZSAndGV4dCc6XG4gICAgICAgICAgY2FzZSAndGV4dGFyZWEnOiB7XG4gICAgICAgICAgICBpZiAodmFsdWUgPT09ICcnIHx8IGlzTnVsbE9yVW5kZWZpbmVkKSB7XG4gICAgICAgICAgICAgIGhvaXN0ZWRWYWx1ZSA9IGZhbGxiYWNrVmFsdWVcbiAgICAgICAgICAgIH1cbiAgICAgICAgICAgIGJyZWFrXG4gICAgICAgICAgfVxuXG4gICAgICAgICAgZGVmYXVsdDoge1xuICAgICAgICAgICAgaWYgKGlzTnVsbE9yVW5kZWZpbmVkKSB7XG4gICAgICAgICAgICAgIGhvaXN0ZWRWYWx1ZSA9IGZhbGxiYWNrVmFsdWVcbiAgICAgICAgICAgIH1cbiAgICAgICAgICAgIGJyZWFrXG4gICAgICAgICAgfVxuICAgICAgICB9XG4gICAgICB9XG4gICAgfVxuXG4gICAgc2libGluZ0RvY1tmaWVsZC5uYW1lXSA9IGhvaXN0ZWRWYWx1ZVxuICB9XG5cbiAgLy8gU2FuaXRpemUgb3V0Z29pbmcgZmllbGQgdmFsdWVcbiAgc3dpdGNoIChmaWVsZC50eXBlKSB7XG4gICAgY2FzZSAnZ3JvdXAnOiB7XG4gICAgICAvLyBGaWxsIGdyb3VwcyB3aXRoIGVtcHR5IG9iamVjdHMgc28gZmllbGRzIHdpdGggaG9va3Mgd2l0aGluIGdyb3VwcyBjYW4gcG9wdWxhdGVcbiAgICAgIC8vIHRoZW1zZWx2ZXMgdmlydHVhbGx5IGFzIG5lY2Vzc2FyeVxuICAgICAgaWYgKHR5cGVvZiBzaWJsaW5nRG9jW2ZpZWxkLm5hbWVdID09PSAndW5kZWZpbmVkJykge1xuICAgICAgICBzaWJsaW5nRG9jW2ZpZWxkLm5hbWVdID0ge31cbiAgICAgIH1cblxuICAgICAgYnJlYWtcbiAgICB9XG4gICAgY2FzZSAndGFicyc6IHtcbiAgICAgIGZpZWxkLnRhYnMuZm9yRWFjaCgodGFiKSA9PiB7XG4gICAgICAgIGlmIChcbiAgICAgICAgICB0YWJIYXNOYW1lKHRhYikgJiZcbiAgICAgICAgICAodHlwZW9mIHNpYmxpbmdEb2NbdGFiLm5hbWVdID09PSAndW5kZWZpbmVkJyB8fCBzaWJsaW5nRG9jW3RhYi5uYW1lXSA9PT0gbnVsbClcbiAgICAgICAgKSB7XG4gICAgICAgICAgc2libGluZ0RvY1t0YWIubmFtZV0gPSB7fVxuICAgICAgICB9XG4gICAgICB9KVxuXG4gICAgICBicmVha1xuICAgIH1cblxuICAgIGNhc2UgJ3JpY2hUZXh0Jzoge1xuICAgICAgY29uc3QgZWRpdG9yOiBSaWNoVGV4dEFkYXB0ZXIgPSBmaWVsZD8uZWRpdG9yXG4gICAgICAvLyBUaGlzIGlzIHJ1biBoZXJlIEFORCBpbiB0aGUgR3JhcGhRTCBSZXNvbHZlclxuICAgICAgaWYgKGVkaXRvcj8ucG9wdWxhdGlvblByb21pc2UpIHtcbiAgICAgICAgY29uc3QgcG9wdWxhdGlvblByb21pc2UgPSBlZGl0b3IucG9wdWxhdGlvblByb21pc2Uoe1xuICAgICAgICAgIGN1cnJlbnREZXB0aCxcbiAgICAgICAgICBkZXB0aCxcbiAgICAgICAgICBmaWVsZCxcbiAgICAgICAgICBvdmVycmlkZUFjY2VzcyxcbiAgICAgICAgICByZXEsXG4gICAgICAgICAgc2hvd0hpZGRlbkZpZWxkcyxcbiAgICAgICAgICBzaWJsaW5nRG9jLFxuICAgICAgICB9KVxuXG4gICAgICAgIGlmIChwb3B1bGF0aW9uUHJvbWlzZSkge1xuICAgICAgICAgIHBvcHVsYXRpb25Qcm9taXNlcy5wdXNoKHBvcHVsYXRpb25Qcm9taXNlKVxuICAgICAgICB9XG4gICAgICB9XG5cbiAgICAgIC8vIFRoaXMgaXMgb25seSBydW4gaGVyZSwgaW5kZXBlbmRlbnQgb2YgZGVwdGhcbiAgICAgIGlmIChlZGl0b3I/LmFmdGVyUmVhZFByb21pc2UpIHtcbiAgICAgICAgY29uc3QgYWZ0ZXJSZWFkUHJvbWlzZSA9IGVkaXRvcj8uYWZ0ZXJSZWFkUHJvbWlzZSh7XG4gICAgICAgICAgZmllbGQsXG4gICAgICAgICAgaW5jb21pbmdFZGl0b3JTdGF0ZTogc2libGluZ0RvY1tmaWVsZC5uYW1lXSBhcyBvYmplY3QsXG4gICAgICAgICAgc2libGluZ0RvYyxcbiAgICAgICAgfSlcblxuICAgICAgICBpZiAoYWZ0ZXJSZWFkUHJvbWlzZSkge1xuICAgICAgICAgIHBvcHVsYXRpb25Qcm9taXNlcy5wdXNoKGFmdGVyUmVhZFByb21pc2UpXG4gICAgICAgIH1cbiAgICAgIH1cblxuICAgICAgYnJlYWtcbiAgICB9XG5cbiAgICBjYXNlICdwb2ludCc6IHtcbiAgICAgIGNvbnN0IHBvaW50RG9jID0gc2libGluZ0RvY1tmaWVsZC5uYW1lXSBhcyBSZWNvcmQ8c3RyaW5nLCB1bmtub3duPlxuICAgICAgaWYgKEFycmF5LmlzQXJyYXkocG9pbnREb2M/LmNvb3JkaW5hdGVzKSAmJiBwb2ludERvYy5jb29yZGluYXRlcy5sZW5ndGggPT09IDIpIHtcbiAgICAgICAgc2libGluZ0RvY1tmaWVsZC5uYW1lXSA9IHBvaW50RG9jLmNvb3JkaW5hdGVzXG4gICAgICB9IGVsc2Uge1xuICAgICAgICBzaWJsaW5nRG9jW2ZpZWxkLm5hbWVdID0gdW5kZWZpbmVkXG4gICAgICB9XG5cbiAgICAgIGJyZWFrXG4gICAgfVxuXG4gICAgZGVmYXVsdDoge1xuICAgICAgYnJlYWtcbiAgICB9XG4gIH1cblxuICBpZiAoZmllbGRBZmZlY3RzRGF0YShmaWVsZCkpIHtcbiAgICAvLyBFeGVjdXRlIGhvb2tzXG4gICAgaWYgKGZpZWxkLmhvb2tzPy5hZnRlclJlYWQpIHtcbiAgICAgIGF3YWl0IGZpZWxkLmhvb2tzLmFmdGVyUmVhZC5yZWR1Y2UoYXN5bmMgKHByaW9ySG9vaywgY3VycmVudEhvb2spID0+IHtcbiAgICAgICAgYXdhaXQgcHJpb3JIb29rXG5cbiAgICAgICAgY29uc3Qgc2hvdWxkUnVuSG9va09uQWxsTG9jYWxlcyA9XG4gICAgICAgICAgZmllbGQubG9jYWxpemVkICYmXG4gICAgICAgICAgKHJlcS5sb2NhbGUgPT09ICdhbGwnIHx8ICFmbGF0dGVuTG9jYWxlcykgJiZcbiAgICAgICAgICB0eXBlb2Ygc2libGluZ0RvY1tmaWVsZC5uYW1lXSA9PT0gJ29iamVjdCdcblxuICAgICAgICBpZiAoc2hvdWxkUnVuSG9va09uQWxsTG9jYWxlcykge1xuICAgICAgICAgIGNvbnN0IGhvb2tQcm9taXNlcyA9IE9iamVjdC5lbnRyaWVzKHNpYmxpbmdEb2NbZmllbGQubmFtZV0pLm1hcCgoW2xvY2FsZSwgdmFsdWVdKSA9PlxuICAgICAgICAgICAgKGFzeW5jICgpID0+IHtcbiAgICAgICAgICAgICAgY29uc3QgaG9va2VkVmFsdWUgPSBhd2FpdCBjdXJyZW50SG9vayh7XG4gICAgICAgICAgICAgICAgY29sbGVjdGlvbixcbiAgICAgICAgICAgICAgICBjb250ZXh0LFxuICAgICAgICAgICAgICAgIGRhdGE6IGRvYyxcbiAgICAgICAgICAgICAgICBmaWVsZCxcbiAgICAgICAgICAgICAgICBnbG9iYWwsXG4gICAgICAgICAgICAgICAgb3BlcmF0aW9uOiAncmVhZCcsXG4gICAgICAgICAgICAgICAgb3JpZ2luYWxEb2M6IGRvYyxcbiAgICAgICAgICAgICAgICByZXEsXG4gICAgICAgICAgICAgICAgc2libGluZ0RhdGE6IHNpYmxpbmdEb2MsXG4gICAgICAgICAgICAgICAgdmFsdWUsXG4gICAgICAgICAgICAgIH0pXG5cbiAgICAgICAgICAgICAgaWYgKGhvb2tlZFZhbHVlICE9PSB1bmRlZmluZWQpIHtcbiAgICAgICAgICAgICAgICBzaWJsaW5nRG9jW2ZpZWxkLm5hbWVdW2xvY2FsZV0gPSBob29rZWRWYWx1ZVxuICAgICAgICAgICAgICB9XG4gICAgICAgICAgICB9KSgpLFxuICAgICAgICAgIClcblxuICAgICAgICAgIGF3YWl0IFByb21pc2UuYWxsKGhvb2tQcm9taXNlcylcbiAgICAgICAgfSBlbHNlIHtcbiAgICAgICAgICBjb25zdCBob29rZWRWYWx1ZSA9IGF3YWl0IGN1cnJlbnRIb29rKHtcbiAgICAgICAgICAgIGNvbGxlY3Rpb24sXG4gICAgICAgICAgICBjb250ZXh0LFxuICAgICAgICAgICAgZGF0YTogZG9jLFxuICAgICAgICAgICAgZmllbGQsXG4gICAgICAgICAgICBmaW5kTWFueSxcbiAgICAgICAgICAgIGdsb2JhbCxcbiAgICAgICAgICAgIG9wZXJhdGlvbjogJ3JlYWQnLFxuICAgICAgICAgICAgb3JpZ2luYWxEb2M6IGRvYyxcbiAgICAgICAgICAgIHJlcSxcbiAgICAgICAgICAgIHNpYmxpbmdEYXRhOiBzaWJsaW5nRG9jLFxuICAgICAgICAgICAgdmFsdWU6IHNpYmxpbmdEb2NbZmllbGQubmFtZV0sXG4gICAgICAgICAgfSlcblxuICAgICAgICAgIGlmIChob29rZWRWYWx1ZSAhPT0gdW5kZWZpbmVkKSB7XG4gICAgICAgICAgICBzaWJsaW5nRG9jW2ZpZWxkLm5hbWVdID0gaG9va2VkVmFsdWVcbiAgICAgICAgICB9XG4gICAgICAgIH1cbiAgICAgIH0sIFByb21pc2UucmVzb2x2ZSgpKVxuICAgIH1cblxuICAgIC8vIEV4ZWN1dGUgYWNjZXNzIGNvbnRyb2xcbiAgICBpZiAoZmllbGQuYWNjZXNzICYmIGZpZWxkLmFjY2Vzcy5yZWFkKSB7XG4gICAgICBjb25zdCByZXN1bHQgPSBvdmVycmlkZUFjY2Vzc1xuICAgICAgICA/IHRydWVcbiAgICAgICAgOiBhd2FpdCBmaWVsZC5hY2Nlc3MucmVhZCh7XG4gICAgICAgICAgICBpZDogZG9jLmlkIGFzIG51bWJlciB8IHN0cmluZyxcbiAgICAgICAgICAgIGRhdGE6IGRvYyxcbiAgICAgICAgICAgIGRvYyxcbiAgICAgICAgICAgIHJlcSxcbiAgICAgICAgICAgIHNpYmxpbmdEYXRhOiBzaWJsaW5nRG9jLFxuICAgICAgICAgIH0pXG5cbiAgICAgIGlmICghcmVzdWx0KSB7XG4gICAgICAgIGRlbGV0ZSBzaWJsaW5nRG9jW2ZpZWxkLm5hbWVdXG4gICAgICB9XG4gICAgfVxuXG4gICAgaWYgKGZpZWxkLnR5cGUgPT09ICdyZWxhdGlvbnNoaXAnIHx8IGZpZWxkLnR5cGUgPT09ICd1cGxvYWQnKSB7XG4gICAgICBwb3B1bGF0aW9uUHJvbWlzZXMucHVzaChcbiAgICAgICAgcmVsYXRpb25zaGlwUG9wdWxhdGlvblByb21pc2Uoe1xuICAgICAgICAgIGN1cnJlbnREZXB0aCxcbiAgICAgICAgICBkZXB0aCxcbiAgICAgICAgICBmaWVsZCxcbiAgICAgICAgICBvdmVycmlkZUFjY2VzcyxcbiAgICAgICAgICByZXEsXG4gICAgICAgICAgc2hvd0hpZGRlbkZpZWxkcyxcbiAgICAgICAgICBzaWJsaW5nRG9jLFxuICAgICAgICB9KSxcbiAgICAgIClcbiAgICB9XG4gIH1cblxuICBzd2l0Y2ggKGZpZWxkLnR5cGUpIHtcbiAgICBjYXNlICdncm91cCc6IHtcbiAgICAgIGxldCBncm91cERvYyA9IHNpYmxpbmdEb2NbZmllbGQubmFtZV0gYXMgUmVjb3JkPHN0cmluZywgdW5rbm93bj5cbiAgICAgIGlmICh0eXBlb2Ygc2libGluZ0RvY1tmaWVsZC5uYW1lXSAhPT0gJ29iamVjdCcpIGdyb3VwRG9jID0ge31cblxuICAgICAgdHJhdmVyc2VGaWVsZHMoe1xuICAgICAgICBjb2xsZWN0aW9uLFxuICAgICAgICBjb250ZXh0LFxuICAgICAgICBjdXJyZW50RGVwdGgsXG4gICAgICAgIGRlcHRoLFxuICAgICAgICBkb2MsXG4gICAgICAgIGZpZWxkUHJvbWlzZXMsXG4gICAgICAgIGZpZWxkczogZmllbGQuZmllbGRzLFxuICAgICAgICBmaW5kTWFueSxcbiAgICAgICAgZmxhdHRlbkxvY2FsZXMsXG4gICAgICAgIGdsb2JhbCxcbiAgICAgICAgb3ZlcnJpZGVBY2Nlc3MsXG4gICAgICAgIHBvcHVsYXRpb25Qcm9taXNlcyxcbiAgICAgICAgcmVxLFxuICAgICAgICBzaG93SGlkZGVuRmllbGRzLFxuICAgICAgICBzaWJsaW5nRG9jOiBncm91cERvYyxcbiAgICAgIH0pXG5cbiAgICAgIGJyZWFrXG4gICAgfVxuXG4gICAgY2FzZSAnYXJyYXknOiB7XG4gICAgICBjb25zdCByb3dzID0gc2libGluZ0RvY1tmaWVsZC5uYW1lXVxuXG4gICAgICBpZiAoQXJyYXkuaXNBcnJheShyb3dzKSkge1xuICAgICAgICByb3dzLmZvckVhY2goKHJvdykgPT4ge1xuICAgICAgICAgIHRyYXZlcnNlRmllbGRzKHtcbiAgICAgICAgICAgIGNvbGxlY3Rpb24sXG4gICAgICAgICAgICBjb250ZXh0LFxuICAgICAgICAgICAgY3VycmVudERlcHRoLFxuICAgICAgICAgICAgZGVwdGgsXG4gICAgICAgICAgICBkb2MsXG4gICAgICAgICAgICBmaWVsZFByb21pc2VzLFxuICAgICAgICAgICAgZmllbGRzOiBmaWVsZC5maWVsZHMsXG4gICAgICAgICAgICBmaW5kTWFueSxcbiAgICAgICAgICAgIGZsYXR0ZW5Mb2NhbGVzLFxuICAgICAgICAgICAgZ2xvYmFsLFxuICAgICAgICAgICAgb3ZlcnJpZGVBY2Nlc3MsXG4gICAgICAgICAgICBwb3B1bGF0aW9uUHJvbWlzZXMsXG4gICAgICAgICAgICByZXEsXG4gICAgICAgICAgICBzaG93SGlkZGVuRmllbGRzLFxuICAgICAgICAgICAgc2libGluZ0RvYzogcm93IHx8IHt9LFxuICAgICAgICAgIH0pXG4gICAgICAgIH0pXG4gICAgICB9IGVsc2UgaWYgKCFzaG91bGRIb2lzdExvY2FsaXplZFZhbHVlICYmIHR5cGVvZiByb3dzID09PSAnb2JqZWN0JyAmJiByb3dzICE9PSBudWxsKSB7XG4gICAgICAgIE9iamVjdC52YWx1ZXMocm93cykuZm9yRWFjaCgobG9jYWxlUm93cykgPT4ge1xuICAgICAgICAgIGlmIChBcnJheS5pc0FycmF5KGxvY2FsZVJvd3MpKSB7XG4gICAgICAgICAgICBsb2NhbGVSb3dzLmZvckVhY2goKHJvdykgPT4ge1xuICAgICAgICAgICAgICB0cmF2ZXJzZUZpZWxkcyh7XG4gICAgICAgICAgICAgICAgY29sbGVjdGlvbixcbiAgICAgICAgICAgICAgICBjb250ZXh0LFxuICAgICAgICAgICAgICAgIGN1cnJlbnREZXB0aCxcbiAgICAgICAgICAgICAgICBkZXB0aCxcbiAgICAgICAgICAgICAgICBkb2MsXG4gICAgICAgICAgICAgICAgZmllbGRQcm9taXNlcyxcbiAgICAgICAgICAgICAgICBmaWVsZHM6IGZpZWxkLmZpZWxkcyxcbiAgICAgICAgICAgICAgICBmaW5kTWFueSxcbiAgICAgICAgICAgICAgICBmbGF0dGVuTG9jYWxlcyxcbiAgICAgICAgICAgICAgICBnbG9iYWwsXG4gICAgICAgICAgICAgICAgb3ZlcnJpZGVBY2Nlc3MsXG4gICAgICAgICAgICAgICAgcG9wdWxhdGlvblByb21pc2VzLFxuICAgICAgICAgICAgICAgIHJlcSxcbiAgICAgICAgICAgICAgICBzaG93SGlkZGVuRmllbGRzLFxuICAgICAgICAgICAgICAgIHNpYmxpbmdEb2M6IHJvdyB8fCB7fSxcbiAgICAgICAgICAgICAgfSlcbiAgICAgICAgICAgIH0pXG4gICAgICAgICAgfVxuICAgICAgICB9KVxuICAgICAgfSBlbHNlIHtcbiAgICAgICAgc2libGluZ0RvY1tmaWVsZC5uYW1lXSA9IFtdXG4gICAgICB9XG4gICAgICBicmVha1xuICAgIH1cblxuICAgIGNhc2UgJ2Jsb2Nrcyc6IHtcbiAgICAgIGNvbnN0IHJvd3MgPSBzaWJsaW5nRG9jW2ZpZWxkLm5hbWVdXG5cbiAgICAgIGlmIChBcnJheS5pc0FycmF5KHJvd3MpKSB7XG4gICAgICAgIHJvd3MuZm9yRWFjaCgocm93KSA9PiB7XG4gICAgICAgICAgY29uc3QgYmxvY2sgPSBmaWVsZC5ibG9ja3MuZmluZCgoYmxvY2tUeXBlKSA9PiBibG9ja1R5cGUuc2x1ZyA9PT0gcm93LmJsb2NrVHlwZSlcblxuICAgICAgICAgIGlmIChibG9jaykge1xuICAgICAgICAgICAgdHJhdmVyc2VGaWVsZHMoe1xuICAgICAgICAgICAgICBjb2xsZWN0aW9uLFxuICAgICAgICAgICAgICBjb250ZXh0LFxuICAgICAgICAgICAgICBjdXJyZW50RGVwdGgsXG4gICAgICAgICAgICAgIGRlcHRoLFxuICAgICAgICAgICAgICBkb2MsXG4gICAgICAgICAgICAgIGZpZWxkUHJvbWlzZXMsXG4gICAgICAgICAgICAgIGZpZWxkczogYmxvY2suZmllbGRzLFxuICAgICAgICAgICAgICBmaW5kTWFueSxcbiAgICAgICAgICAgICAgZmxhdHRlbkxvY2FsZXMsXG4gICAgICAgICAgICAgIGdsb2JhbCxcbiAgICAgICAgICAgICAgb3ZlcnJpZGVBY2Nlc3MsXG4gICAgICAgICAgICAgIHBvcHVsYXRpb25Qcm9taXNlcyxcbiAgICAgICAgICAgICAgcmVxLFxuICAgICAgICAgICAgICBzaG93SGlkZGVuRmllbGRzLFxuICAgICAgICAgICAgICBzaWJsaW5nRG9jOiByb3cgfHwge30sXG4gICAgICAgICAgICB9KVxuICAgICAgICAgIH1cbiAgICAgICAgfSlcbiAgICAgIH0gZWxzZSBpZiAoIXNob3VsZEhvaXN0TG9jYWxpemVkVmFsdWUgJiYgdHlwZW9mIHJvd3MgPT09ICdvYmplY3QnICYmIHJvd3MgIT09IG51bGwpIHtcbiAgICAgICAgT2JqZWN0LnZhbHVlcyhyb3dzKS5mb3JFYWNoKChsb2NhbGVSb3dzKSA9PiB7XG4gICAgICAgICAgaWYgKEFycmF5LmlzQXJyYXkobG9jYWxlUm93cykpIHtcbiAgICAgICAgICAgIGxvY2FsZVJvd3MuZm9yRWFjaCgocm93KSA9PiB7XG4gICAgICAgICAgICAgIGNvbnN0IGJsb2NrID0gZmllbGQuYmxvY2tzLmZpbmQoKGJsb2NrVHlwZSkgPT4gYmxvY2tUeXBlLnNsdWcgPT09IHJvdy5ibG9ja1R5cGUpXG5cbiAgICAgICAgICAgICAgaWYgKGJsb2NrKSB7XG4gICAgICAgICAgICAgICAgdHJhdmVyc2VGaWVsZHMoe1xuICAgICAgICAgICAgICAgICAgY29sbGVjdGlvbixcbiAgICAgICAgICAgICAgICAgIGNvbnRleHQsXG4gICAgICAgICAgICAgICAgICBjdXJyZW50RGVwdGgsXG4gICAgICAgICAgICAgICAgICBkZXB0aCxcbiAgICAgICAgICAgICAgICAgIGRvYyxcbiAgICAgICAgICAgICAgICAgIGZpZWxkUHJvbWlzZXMsXG4gICAgICAgICAgICAgICAgICBmaWVsZHM6IGJsb2NrLmZpZWxkcyxcbiAgICAgICAgICAgICAgICAgIGZpbmRNYW55LFxuICAgICAgICAgICAgICAgICAgZmxhdHRlbkxvY2FsZXMsXG4gICAgICAgICAgICAgICAgICBnbG9iYWwsXG4gICAgICAgICAgICAgICAgICBvdmVycmlkZUFjY2VzcyxcbiAgICAgICAgICAgICAgICAgIHBvcHVsYXRpb25Qcm9taXNlcyxcbiAgICAgICAgICAgICAgICAgIHJlcSxcbiAgICAgICAgICAgICAgICAgIHNob3dIaWRkZW5GaWVsZHMsXG4gICAgICAgICAgICAgICAgICBzaWJsaW5nRG9jOiByb3cgfHwge30sXG4gICAgICAgICAgICAgICAgfSlcbiAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgfSlcbiAgICAgICAgICB9XG4gICAgICAgIH0pXG4gICAgICB9IGVsc2Uge1xuICAgICAgICBzaWJsaW5nRG9jW2ZpZWxkLm5hbWVdID0gW11cbiAgICAgIH1cblxuICAgICAgYnJlYWtcbiAgICB9XG5cbiAgICBjYXNlICdyb3cnOlxuICAgIGNhc2UgJ2NvbGxhcHNpYmxlJzoge1xuICAgICAgdHJhdmVyc2VGaWVsZHMoe1xuICAgICAgICBjb2xsZWN0aW9uLFxuICAgICAgICBjb250ZXh0LFxuICAgICAgICBjdXJyZW50RGVwdGgsXG4gICAgICAgIGRlcHRoLFxuICAgICAgICBkb2MsXG4gICAgICAgIGZpZWxkUHJvbWlzZXMsXG4gICAgICAgIGZpZWxkczogZmllbGQuZmllbGRzLFxuICAgICAgICBmaW5kTWFueSxcbiAgICAgICAgZmxhdHRlbkxvY2FsZXMsXG4gICAgICAgIGdsb2JhbCxcbiAgICAgICAgb3ZlcnJpZGVBY2Nlc3MsXG4gICAgICAgIHBvcHVsYXRpb25Qcm9taXNlcyxcbiAgICAgICAgcmVxLFxuICAgICAgICBzaG93SGlkZGVuRmllbGRzLFxuICAgICAgICBzaWJsaW5nRG9jLFxuICAgICAgfSlcblxuICAgICAgYnJlYWtcbiAgICB9XG5cbiAgICBjYXNlICd0YWInOiB7XG4gICAgICBsZXQgdGFiRG9jID0gc2libGluZ0RvY1xuICAgICAgaWYgKHRhYkhhc05hbWUoZmllbGQpKSB7XG4gICAgICAgIHRhYkRvYyA9IHNpYmxpbmdEb2NbZmllbGQubmFtZV0gYXMgUmVjb3JkPHN0cmluZywgdW5rbm93bj5cbiAgICAgICAgaWYgKHR5cGVvZiBzaWJsaW5nRG9jW2ZpZWxkLm5hbWVdICE9PSAnb2JqZWN0JykgdGFiRG9jID0ge31cbiAgICAgIH1cblxuICAgICAgYXdhaXQgdHJhdmVyc2VGaWVsZHMoe1xuICAgICAgICBjb2xsZWN0aW9uLFxuICAgICAgICBjb250ZXh0LFxuICAgICAgICBjdXJyZW50RGVwdGgsXG4gICAgICAgIGRlcHRoLFxuICAgICAgICBkb2MsXG4gICAgICAgIGZpZWxkUHJvbWlzZXMsXG4gICAgICAgIGZpZWxkczogZmllbGQuZmllbGRzLFxuICAgICAgICBmaW5kTWFueSxcbiAgICAgICAgZmxhdHRlbkxvY2FsZXMsXG4gICAgICAgIGdsb2JhbCxcbiAgICAgICAgb3ZlcnJpZGVBY2Nlc3MsXG4gICAgICAgIHBvcHVsYXRpb25Qcm9taXNlcyxcbiAgICAgICAgcmVxLFxuICAgICAgICBzaG93SGlkZGVuRmllbGRzLFxuICAgICAgICBzaWJsaW5nRG9jOiB0YWJEb2MsXG4gICAgICB9KVxuXG4gICAgICBicmVha1xuICAgIH1cblxuICAgIGNhc2UgJ3RhYnMnOiB7XG4gICAgICB0cmF2ZXJzZUZpZWxkcyh7XG4gICAgICAgIGNvbGxlY3Rpb24sXG4gICAgICAgIGNvbnRleHQsXG4gICAgICAgIGN1cnJlbnREZXB0aCxcbiAgICAgICAgZGVwdGgsXG4gICAgICAgIGRvYyxcbiAgICAgICAgZmllbGRQcm9taXNlcyxcbiAgICAgICAgZmllbGRzOiBmaWVsZC50YWJzLm1hcCgodGFiKSA9PiAoeyAuLi50YWIsIHR5cGU6ICd0YWInIH0pKSxcbiAgICAgICAgZmluZE1hbnksXG4gICAgICAgIGZsYXR0ZW5Mb2NhbGVzLFxuICAgICAgICBnbG9iYWwsXG4gICAgICAgIG92ZXJyaWRlQWNjZXNzLFxuICAgICAgICBwb3B1bGF0aW9uUHJvbWlzZXMsXG4gICAgICAgIHJlcSxcbiAgICAgICAgc2hvd0hpZGRlbkZpZWxkcyxcbiAgICAgICAgc2libGluZ0RvYyxcbiAgICAgIH0pXG4gICAgICBicmVha1xuICAgIH1cblxuICAgIGRlZmF1bHQ6IHtcbiAgICAgIGJyZWFrXG4gICAgfVxuICB9XG59XG4iXSwibmFtZXMiOlsicHJvbWlzZSIsImNvbGxlY3Rpb24iLCJjb250ZXh0IiwiY3VycmVudERlcHRoIiwiZGVwdGgiLCJkb2MiLCJmaWVsZCIsImZpZWxkUHJvbWlzZXMiLCJmaW5kTWFueSIsImZsYXR0ZW5Mb2NhbGVzIiwiZ2xvYmFsIiwib3ZlcnJpZGVBY2Nlc3MiLCJwb3B1bGF0aW9uUHJvbWlzZXMiLCJyZXEiLCJzaG93SGlkZGVuRmllbGRzIiwic2libGluZ0RvYyIsImZpZWxkQWZmZWN0c0RhdGEiLCJoaWRkZW4iLCJuYW1lIiwic2hvdWxkSG9pc3RMb2NhbGl6ZWRWYWx1ZSIsImxvY2FsaXplZCIsImxvY2FsZSIsInBheWxvYWQiLCJjb25maWciLCJsb2NhbGl6YXRpb24iLCJ2YWx1ZSIsImZhbGxiYWNrTG9jYWxlIiwiZmFsbGJhY2siLCJob2lzdGVkVmFsdWUiLCJmYWxsYmFja1ZhbHVlIiwiaXNOdWxsT3JVbmRlZmluZWQiLCJ0eXBlIiwidGFicyIsImZvckVhY2giLCJ0YWIiLCJ0YWJIYXNOYW1lIiwiZWRpdG9yIiwicG9wdWxhdGlvblByb21pc2UiLCJwdXNoIiwiYWZ0ZXJSZWFkUHJvbWlzZSIsImluY29taW5nRWRpdG9yU3RhdGUiLCJwb2ludERvYyIsIkFycmF5IiwiaXNBcnJheSIsImNvb3JkaW5hdGVzIiwibGVuZ3RoIiwidW5kZWZpbmVkIiwiaG9va3MiLCJhZnRlclJlYWQiLCJyZWR1Y2UiLCJwcmlvckhvb2siLCJjdXJyZW50SG9vayIsInNob3VsZFJ1bkhvb2tPbkFsbExvY2FsZXMiLCJob29rUHJvbWlzZXMiLCJPYmplY3QiLCJlbnRyaWVzIiwibWFwIiwiaG9va2VkVmFsdWUiLCJkYXRhIiwib3BlcmF0aW9uIiwib3JpZ2luYWxEb2MiLCJzaWJsaW5nRGF0YSIsIlByb21pc2UiLCJhbGwiLCJyZXNvbHZlIiwiYWNjZXNzIiwicmVhZCIsInJlc3VsdCIsImlkIiwicmVsYXRpb25zaGlwUG9wdWxhdGlvblByb21pc2UiLCJncm91cERvYyIsInRyYXZlcnNlRmllbGRzIiwiZmllbGRzIiwicm93cyIsInJvdyIsInZhbHVlcyIsImxvY2FsZVJvd3MiLCJibG9jayIsImJsb2NrcyIsImZpbmQiLCJibG9ja1R5cGUiLCJzbHVnIiwidGFiRG9jIl0sIm1hcHBpbmdzIjoiQUFBQSxvQ0FBb0M7Ozs7K0JBcUN2QkE7OztlQUFBQTs7O3VCQTlCZ0M7c0ZBQ0g7Z0NBQ1g7Ozs7OztBQTRCeEIsTUFBTUEsVUFBVSxPQUFPLEVBQzVCQyxVQUFVLEVBQ1ZDLE9BQU8sRUFDUEMsWUFBWSxFQUNaQyxLQUFLLEVBQ0xDLEdBQUcsRUFDSEMsS0FBSyxFQUNMQyxhQUFhLEVBQ2JDLFFBQVEsRUFDUkMsY0FBYyxFQUNkQyxNQUFNLEVBQ05DLGNBQWMsRUFDZEMsa0JBQWtCLEVBQ2xCQyxHQUFHLEVBQ0hDLGdCQUFnQixFQUNoQkMsVUFBVSxFQUNMO0lBQ0wsSUFDRUMsSUFBQUEsdUJBQWdCLEVBQUNWLFVBQ2pCQSxNQUFNVyxNQUFNLElBQ1osT0FBT0YsVUFBVSxDQUFDVCxNQUFNWSxJQUFJLENBQUMsS0FBSyxlQUNsQyxDQUFDSixrQkFDRDtRQUNBLE9B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
|
|
@@ -1,6 +1,9 @@
|
|
|
1
|
+
import type { SanitizedCollectionConfig } from '../../../collections/config/types';
|
|
1
2
|
import type { PayloadRequest, RequestContext } from '../../../express/types';
|
|
3
|
+
import type { SanitizedGlobalConfig } from '../../../globals/config/types';
|
|
2
4
|
import type { Field, TabAsField } from '../../config/types';
|
|
3
5
|
type Args = {
|
|
6
|
+
collection: SanitizedCollectionConfig | null;
|
|
4
7
|
context: RequestContext;
|
|
5
8
|
currentDepth: number;
|
|
6
9
|
depth: number;
|
|
@@ -9,12 +12,13 @@ type Args = {
|
|
|
9
12
|
fields: (Field | TabAsField)[];
|
|
10
13
|
findMany: boolean;
|
|
11
14
|
flattenLocales: boolean;
|
|
15
|
+
global: SanitizedGlobalConfig | null;
|
|
12
16
|
overrideAccess: boolean;
|
|
13
17
|
populationPromises: Promise<void>[];
|
|
14
18
|
req: PayloadRequest;
|
|
15
19
|
showHiddenFields: boolean;
|
|
16
20
|
siblingDoc: Record<string, unknown>;
|
|
17
21
|
};
|
|
18
|
-
export declare const traverseFields: ({ context, currentDepth, depth, doc, fieldPromises, fields, findMany, flattenLocales, overrideAccess, populationPromises, req, showHiddenFields, siblingDoc, }: Args) => void;
|
|
22
|
+
export declare const traverseFields: ({ collection, context, currentDepth, depth, doc, fieldPromises, fields, findMany, flattenLocales, global, overrideAccess, populationPromises, req, showHiddenFields, siblingDoc, }: Args) => void;
|
|
19
23
|
export {};
|
|
20
24
|
//# sourceMappingURL=traverseFields.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"traverseFields.d.ts","sourceRoot":"","sources":["../../../../src/fields/hooks/afterRead/traverseFields.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,cAAc,EAAE,cAAc,EAAE,MAAM,wBAAwB,CAAA;AAC5E,OAAO,KAAK,EAAE,KAAK,EAAE,UAAU,EAAE,MAAM,oBAAoB,CAAA;AAI3D,KAAK,IAAI,GAAG;IACV,OAAO,EAAE,cAAc,CAAA;IACvB,YAAY,EAAE,MAAM,CAAA;IACpB,KAAK,EAAE,MAAM,CAAA;IACb,GAAG,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAAA;IAC5B,aAAa,EAAE,OAAO,CAAC,IAAI,CAAC,EAAE,CAAA;IAC9B,MAAM,EAAE,CAAC,KAAK,GAAG,UAAU,CAAC,EAAE,CAAA;IAC9B,QAAQ,EAAE,OAAO,CAAA;IACjB,cAAc,EAAE,OAAO,CAAA;IACvB,cAAc,EAAE,OAAO,CAAA;IACvB,kBAAkB,EAAE,OAAO,CAAC,IAAI,CAAC,EAAE,CAAA;IACnC,GAAG,EAAE,cAAc,CAAA;IACnB,gBAAgB,EAAE,OAAO,CAAA;IACzB,UAAU,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAAA;CACpC,CAAA;AAED,eAAO,MAAM,cAAc,
|
|
1
|
+
{"version":3,"file":"traverseFields.d.ts","sourceRoot":"","sources":["../../../../src/fields/hooks/afterRead/traverseFields.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,yBAAyB,EAAE,MAAM,mCAAmC,CAAA;AAClF,OAAO,KAAK,EAAE,cAAc,EAAE,cAAc,EAAE,MAAM,wBAAwB,CAAA;AAC5E,OAAO,KAAK,EAAE,qBAAqB,EAAE,MAAM,+BAA+B,CAAA;AAC1E,OAAO,KAAK,EAAE,KAAK,EAAE,UAAU,EAAE,MAAM,oBAAoB,CAAA;AAI3D,KAAK,IAAI,GAAG;IACV,UAAU,EAAE,yBAAyB,GAAG,IAAI,CAAA;IAC5C,OAAO,EAAE,cAAc,CAAA;IACvB,YAAY,EAAE,MAAM,CAAA;IACpB,KAAK,EAAE,MAAM,CAAA;IACb,GAAG,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAAA;IAC5B,aAAa,EAAE,OAAO,CAAC,IAAI,CAAC,EAAE,CAAA;IAC9B,MAAM,EAAE,CAAC,KAAK,GAAG,UAAU,CAAC,EAAE,CAAA;IAC9B,QAAQ,EAAE,OAAO,CAAA;IACjB,cAAc,EAAE,OAAO,CAAA;IACvB,MAAM,EAAE,qBAAqB,GAAG,IAAI,CAAA;IACpC,cAAc,EAAE,OAAO,CAAA;IACvB,kBAAkB,EAAE,OAAO,CAAC,IAAI,CAAC,EAAE,CAAA;IACnC,GAAG,EAAE,cAAc,CAAA;IACnB,gBAAgB,EAAE,OAAO,CAAA;IACzB,UAAU,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAAA;CACpC,CAAA;AAED,eAAO,MAAM,cAAc,uLAgBxB,IAAI,KAAG,IAsBT,CAAA"}
|
|
@@ -9,9 +9,10 @@ Object.defineProperty(exports, "traverseFields", {
|
|
|
9
9
|
}
|
|
10
10
|
});
|
|
11
11
|
const _promise = require("./promise");
|
|
12
|
-
const traverseFields = ({ context, currentDepth, depth, doc, fieldPromises, fields, findMany, flattenLocales, overrideAccess, populationPromises, req, showHiddenFields, siblingDoc })=>{
|
|
12
|
+
const traverseFields = ({ collection, context, currentDepth, depth, doc, fieldPromises, fields, findMany, flattenLocales, global, overrideAccess, populationPromises, req, showHiddenFields, siblingDoc })=>{
|
|
13
13
|
fields.forEach((field)=>{
|
|
14
14
|
fieldPromises.push((0, _promise.promise)({
|
|
15
|
+
collection,
|
|
15
16
|
context,
|
|
16
17
|
currentDepth,
|
|
17
18
|
depth,
|
|
@@ -20,6 +21,7 @@ const traverseFields = ({ context, currentDepth, depth, doc, fieldPromises, fiel
|
|
|
20
21
|
fieldPromises,
|
|
21
22
|
findMany,
|
|
22
23
|
flattenLocales,
|
|
24
|
+
global,
|
|
23
25
|
overrideAccess,
|
|
24
26
|
populationPromises,
|
|
25
27
|
req,
|
|
@@ -29,4 +31,4 @@ const traverseFields = ({ context, currentDepth, depth, doc, fieldPromises, fiel
|
|
|
29
31
|
});
|
|
30
32
|
};
|
|
31
33
|
|
|
32
|
-
//# sourceMappingURL=data:application/json;base64,
|
|
34
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uL3NyYy9maWVsZHMvaG9va3MvYWZ0ZXJSZWFkL3RyYXZlcnNlRmllbGRzLnRzIl0sInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB0eXBlIHsgU2FuaXRpemVkQ29sbGVjdGlvbkNvbmZpZyB9IGZyb20gJy4uLy4uLy4uL2NvbGxlY3Rpb25zL2NvbmZpZy90eXBlcydcbmltcG9ydCB0eXBlIHsgUGF5bG9hZFJlcXVlc3QsIFJlcXVlc3RDb250ZXh0IH0gZnJvbSAnLi4vLi4vLi4vZXhwcmVzcy90eXBlcydcbmltcG9ydCB0eXBlIHsgU2FuaXRpemVkR2xvYmFsQ29uZmlnIH0gZnJvbSAnLi4vLi4vLi4vZ2xvYmFscy9jb25maWcvdHlwZXMnXG5pbXBvcnQgdHlwZSB7IEZpZWxkLCBUYWJBc0ZpZWxkIH0gZnJvbSAnLi4vLi4vY29uZmlnL3R5cGVzJ1xuXG5pbXBvcnQgeyBwcm9taXNlIH0gZnJvbSAnLi9wcm9taXNlJ1xuXG50eXBlIEFyZ3MgPSB7XG4gIGNvbGxlY3Rpb246IFNhbml0aXplZENvbGxlY3Rpb25Db25maWcgfCBudWxsXG4gIGNvbnRleHQ6IFJlcXVlc3RDb250ZXh0XG4gIGN1cnJlbnREZXB0aDogbnVtYmVyXG4gIGRlcHRoOiBudW1iZXJcbiAgZG9jOiBSZWNvcmQ8c3RyaW5nLCB1bmtub3duPlxuICBmaWVsZFByb21pc2VzOiBQcm9taXNlPHZvaWQ+W11cbiAgZmllbGRzOiAoRmllbGQgfCBUYWJBc0ZpZWxkKVtdXG4gIGZpbmRNYW55OiBib29sZWFuXG4gIGZsYXR0ZW5Mb2NhbGVzOiBib29sZWFuXG4gIGdsb2JhbDogU2FuaXRpemVkR2xvYmFsQ29uZmlnIHwgbnVsbFxuICBvdmVycmlkZUFjY2VzczogYm9vbGVhblxuICBwb3B1bGF0aW9uUHJvbWlzZXM6IFByb21pc2U8dm9pZD5bXVxuICByZXE6IFBheWxvYWRSZXF1ZXN0XG4gIHNob3dIaWRkZW5GaWVsZHM6IGJvb2xlYW5cbiAgc2libGluZ0RvYzogUmVjb3JkPHN0cmluZywgdW5rbm93bj5cbn1cblxuZXhwb3J0IGNvbnN0IHRyYXZlcnNlRmllbGRzID0gKHtcbiAgY29sbGVjdGlvbixcbiAgY29udGV4dCxcbiAgY3VycmVudERlcHRoLFxuICBkZXB0aCxcbiAgZG9jLFxuICBmaWVsZFByb21pc2VzLFxuICBmaWVsZHMsXG4gIGZpbmRNYW55LFxuICBmbGF0dGVuTG9jYWxlcyxcbiAgZ2xvYmFsLFxuICBvdmVycmlkZUFjY2VzcyxcbiAgcG9wdWxhdGlvblByb21pc2VzLFxuICByZXEsXG4gIHNob3dIaWRkZW5GaWVsZHMsXG4gIHNpYmxpbmdEb2MsXG59OiBBcmdzKTogdm9pZCA9PiB7XG4gIGZpZWxkcy5mb3JFYWNoKChmaWVsZCkgPT4ge1xuICAgIGZpZWxkUHJvbWlzZXMucHVzaChcbiAgICAgIHByb21pc2Uoe1xuICAgICAgICBjb2xsZWN0aW9uLFxuICAgICAgICBjb250ZXh0LFxuICAgICAgICBjdXJyZW50RGVwdGgsXG4gICAgICAgIGRlcHRoLFxuICAgICAgICBkb2MsXG4gICAgICAgIGZpZWxkLFxuICAgICAgICBmaWVsZFByb21pc2VzLFxuICAgICAgICBmaW5kTWFueSxcbiAgICAgICAgZmxhdHRlbkxvY2FsZXMsXG4gICAgICAgIGdsb2JhbCxcbiAgICAgICAgb3ZlcnJpZGVBY2Nlc3MsXG4gICAgICAgIHBvcHVsYXRpb25Qcm9taXNlcyxcbiAgICAgICAgcmVxLFxuICAgICAgICBzaG93SGlkZGVuRmllbGRzLFxuICAgICAgICBzaWJsaW5nRG9jLFxuICAgICAgfSksXG4gICAgKVxuICB9KVxufVxuIl0sIm5hbWVzIjpbInRyYXZlcnNlRmllbGRzIiwiY29sbGVjdGlvbiIsImNvbnRleHQiLCJjdXJyZW50RGVwdGgiLCJkZXB0aCIsImRvYyIsImZpZWxkUHJvbWlzZXMiLCJmaWVsZHMiLCJmaW5kTWFueSIsImZsYXR0ZW5Mb2NhbGVzIiwiZ2xvYmFsIiwib3ZlcnJpZGVBY2Nlc3MiLCJwb3B1bGF0aW9uUHJvbWlzZXMiLCJyZXEiLCJzaG93SGlkZGVuRmllbGRzIiwic2libGluZ0RvYyIsImZvckVhY2giLCJmaWVsZCIsInB1c2giLCJwcm9taXNlIl0sIm1hcHBpbmdzIjoiOzs7OytCQXlCYUE7OztlQUFBQTs7O3lCQXBCVztBQW9CakIsTUFBTUEsaUJBQWlCLENBQUMsRUFDN0JDLFVBQVUsRUFDVkMsT0FBTyxFQUNQQyxZQUFZLEVBQ1pDLEtBQUssRUFDTEMsR0FBRyxFQUNIQyxhQUFhLEVBQ2JDLE1BQU0sRUFDTkMsUUFBUSxFQUNSQyxjQUFjLEVBQ2RDLE1BQU0sRUFDTkMsY0FBYyxFQUNkQyxrQkFBa0IsRUFDbEJDLEdBQUcsRUFDSEMsZ0JBQWdCLEVBQ2hCQyxVQUFVLEVBQ0w7SUFDTFIsT0FBT1MsT0FBTyxDQUFDLENBQUNDO1FBQ2RYLGNBQWNZLElBQUksQ0FDaEJDLElBQUFBLGdCQUFPLEVBQUM7WUFDTmxCO1lBQ0FDO1lBQ0FDO1lBQ0FDO1lBQ0FDO1lBQ0FZO1lBQ0FYO1lBQ0FFO1lBQ0FDO1lBQ0FDO1lBQ0FDO1lBQ0FDO1lBQ0FDO1lBQ0FDO1lBQ0FDO1FBQ0Y7SUFFSjtBQUNGIn0=
|
|
@@ -3,16 +3,17 @@ import type { PayloadRequest, RequestContext } from '../../../express/types';
|
|
|
3
3
|
import type { SanitizedGlobalConfig } from '../../../globals/config/types';
|
|
4
4
|
import type { Operation } from '../../../types';
|
|
5
5
|
type Args<T> = {
|
|
6
|
+
collection: SanitizedCollectionConfig | null;
|
|
6
7
|
context: RequestContext;
|
|
7
8
|
data: Record<string, unknown> | T;
|
|
8
9
|
doc: Record<string, unknown> | T;
|
|
9
10
|
docWithLocales: Record<string, unknown>;
|
|
10
|
-
|
|
11
|
+
global: SanitizedGlobalConfig | null;
|
|
11
12
|
id?: number | string;
|
|
12
13
|
operation: Operation;
|
|
13
14
|
req: PayloadRequest;
|
|
14
15
|
skipValidation?: boolean;
|
|
15
16
|
};
|
|
16
|
-
export declare const beforeChange: <T extends Record<string, unknown>>({ id, context, data: incomingData, doc, docWithLocales,
|
|
17
|
+
export declare const beforeChange: <T extends Record<string, unknown>>({ id, collection, context, data: incomingData, doc, docWithLocales, global, operation, req, skipValidation, }: Args<T>) => Promise<T>;
|
|
17
18
|
export {};
|
|
18
19
|
//# sourceMappingURL=index.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../../src/fields/hooks/beforeChange/index.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,yBAAyB,EAAE,MAAM,mCAAmC,CAAA;AAClF,OAAO,KAAK,EAAE,cAAc,EAAE,cAAc,EAAE,MAAM,wBAAwB,CAAA;AAC5E,OAAO,KAAK,EAAE,qBAAqB,EAAE,MAAM,+BAA+B,CAAA;AAC1E,OAAO,KAAK,EAAE,SAAS,EAAE,MAAM,gBAAgB,CAAA;AAM/C,KAAK,IAAI,CAAC,CAAC,IAAI;IACb,OAAO,EAAE,cAAc,CAAA;IACvB,IAAI,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,GAAG,CAAC,CAAA;IACjC,GAAG,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,GAAG,CAAC,CAAA;IAChC,cAAc,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAAA;IACvC,
|
|
1
|
+
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../../src/fields/hooks/beforeChange/index.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,yBAAyB,EAAE,MAAM,mCAAmC,CAAA;AAClF,OAAO,KAAK,EAAE,cAAc,EAAE,cAAc,EAAE,MAAM,wBAAwB,CAAA;AAC5E,OAAO,KAAK,EAAE,qBAAqB,EAAE,MAAM,+BAA+B,CAAA;AAC1E,OAAO,KAAK,EAAE,SAAS,EAAE,MAAM,gBAAgB,CAAA;AAM/C,KAAK,IAAI,CAAC,CAAC,IAAI;IACb,UAAU,EAAE,yBAAyB,GAAG,IAAI,CAAA;IAC5C,OAAO,EAAE,cAAc,CAAA;IACvB,IAAI,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,GAAG,CAAC,CAAA;IACjC,GAAG,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,GAAG,CAAC,CAAA;IAChC,cAAc,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAAA;IACvC,MAAM,EAAE,qBAAqB,GAAG,IAAI,CAAA;IACpC,EAAE,CAAC,EAAE,MAAM,GAAG,MAAM,CAAA;IACpB,SAAS,EAAE,SAAS,CAAA;IACpB,GAAG,EAAE,cAAc,CAAA;IACnB,cAAc,CAAC,EAAE,OAAO,CAAA;CACzB,CAAA;AAED,eAAO,MAAM,YAAY,2KA2CxB,CAAA"}
|
|
@@ -11,18 +11,20 @@ Object.defineProperty(exports, "beforeChange", {
|
|
|
11
11
|
const _errors = require("../../../errors");
|
|
12
12
|
const _deepCopyObject = require("../../../utilities/deepCopyObject");
|
|
13
13
|
const _traverseFields = require("./traverseFields");
|
|
14
|
-
const beforeChange = async ({ id, context, data: incomingData, doc, docWithLocales,
|
|
14
|
+
const beforeChange = async ({ id, collection, context, data: incomingData, doc, docWithLocales, global, operation, req, skipValidation })=>{
|
|
15
15
|
const data = (0, _deepCopyObject.deepCopyObject)(incomingData);
|
|
16
16
|
const mergeLocaleActions = [];
|
|
17
17
|
const errors = [];
|
|
18
18
|
await (0, _traverseFields.traverseFields)({
|
|
19
19
|
id,
|
|
20
|
+
collection,
|
|
20
21
|
context,
|
|
21
22
|
data,
|
|
22
23
|
doc,
|
|
23
24
|
docWithLocales,
|
|
24
25
|
errors,
|
|
25
|
-
fields:
|
|
26
|
+
fields: collection?.fields || global?.fields,
|
|
27
|
+
global,
|
|
26
28
|
mergeLocaleActions,
|
|
27
29
|
operation,
|
|
28
30
|
path: '',
|
|
@@ -39,4 +41,4 @@ const beforeChange = async ({ id, context, data: incomingData, doc, docWithLocal
|
|
|
39
41
|
return data;
|
|
40
42
|
};
|
|
41
43
|
|
|
42
|
-
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uL3NyYy9maWVsZHMvaG9va3MvYmVmb3JlQ2hhbmdlL2luZGV4LnRzIl0sInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB0eXBlIHsgU2FuaXRpemVkQ29sbGVjdGlvbkNvbmZpZyB9IGZyb20gJy4uLy4uLy4uL2NvbGxlY3Rpb25zL2NvbmZpZy90eXBlcydcbmltcG9ydCB0eXBlIHsgUGF5bG9hZFJlcXVlc3QsIFJlcXVlc3RDb250ZXh0IH0gZnJvbSAnLi4vLi4vLi4vZXhwcmVzcy90eXBlcydcbmltcG9ydCB0eXBlIHsgU2FuaXRpemVkR2xvYmFsQ29uZmlnIH0gZnJvbSAnLi4vLi4vLi4vZ2xvYmFscy9jb25maWcvdHlwZXMnXG5pbXBvcnQgdHlwZSB7IE9wZXJhdGlvbiB9IGZyb20gJy4uLy4uLy4uL3R5cGVzJ1xuXG5pbXBvcnQgeyBWYWxpZGF0aW9uRXJyb3IgfSBmcm9tICcuLi8uLi8uLi9lcnJvcnMnXG5pbXBvcnQgeyBkZWVwQ29weU9iamVjdCB9IGZyb20gJy4uLy4uLy4uL3V0aWxpdGllcy9kZWVwQ29weU9iamVjdCdcbmltcG9ydCB7IHRyYXZlcnNlRmllbGRzIH0gZnJvbSAnLi90cmF2ZXJzZUZpZWxkcydcblxudHlwZSBBcmdzPFQ+
|
|
44
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uL3NyYy9maWVsZHMvaG9va3MvYmVmb3JlQ2hhbmdlL2luZGV4LnRzIl0sInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB0eXBlIHsgU2FuaXRpemVkQ29sbGVjdGlvbkNvbmZpZyB9IGZyb20gJy4uLy4uLy4uL2NvbGxlY3Rpb25zL2NvbmZpZy90eXBlcydcbmltcG9ydCB0eXBlIHsgUGF5bG9hZFJlcXVlc3QsIFJlcXVlc3RDb250ZXh0IH0gZnJvbSAnLi4vLi4vLi4vZXhwcmVzcy90eXBlcydcbmltcG9ydCB0eXBlIHsgU2FuaXRpemVkR2xvYmFsQ29uZmlnIH0gZnJvbSAnLi4vLi4vLi4vZ2xvYmFscy9jb25maWcvdHlwZXMnXG5pbXBvcnQgdHlwZSB7IE9wZXJhdGlvbiB9IGZyb20gJy4uLy4uLy4uL3R5cGVzJ1xuXG5pbXBvcnQgeyBWYWxpZGF0aW9uRXJyb3IgfSBmcm9tICcuLi8uLi8uLi9lcnJvcnMnXG5pbXBvcnQgeyBkZWVwQ29weU9iamVjdCB9IGZyb20gJy4uLy4uLy4uL3V0aWxpdGllcy9kZWVwQ29weU9iamVjdCdcbmltcG9ydCB7IHRyYXZlcnNlRmllbGRzIH0gZnJvbSAnLi90cmF2ZXJzZUZpZWxkcydcblxudHlwZSBBcmdzPFQ+ID0ge1xuICBjb2xsZWN0aW9uOiBTYW5pdGl6ZWRDb2xsZWN0aW9uQ29uZmlnIHwgbnVsbFxuICBjb250ZXh0OiBSZXF1ZXN0Q29udGV4dFxuICBkYXRhOiBSZWNvcmQ8c3RyaW5nLCB1bmtub3duPiB8IFRcbiAgZG9jOiBSZWNvcmQ8c3RyaW5nLCB1bmtub3duPiB8IFRcbiAgZG9jV2l0aExvY2FsZXM6IFJlY29yZDxzdHJpbmcsIHVua25vd24+XG4gIGdsb2JhbDogU2FuaXRpemVkR2xvYmFsQ29uZmlnIHwgbnVsbFxuICBpZD86IG51bWJlciB8IHN0cmluZ1xuICBvcGVyYXRpb246IE9wZXJhdGlvblxuICByZXE6IFBheWxvYWRSZXF1ZXN0XG4gIHNraXBWYWxpZGF0aW9uPzogYm9vbGVhblxufVxuXG5leHBvcnQgY29uc3QgYmVmb3JlQ2hhbmdlID0gYXN5bmMgPFQgZXh0ZW5kcyBSZWNvcmQ8c3RyaW5nLCB1bmtub3duPj4oe1xuICBpZCxcbiAgY29sbGVjdGlvbixcbiAgY29udGV4dCxcbiAgZGF0YTogaW5jb21pbmdEYXRhLFxuICBkb2MsXG4gIGRvY1dpdGhMb2NhbGVzLFxuICBnbG9iYWwsXG4gIG9wZXJhdGlvbixcbiAgcmVxLFxuICBza2lwVmFsaWRhdGlvbixcbn06IEFyZ3M8VD4pOiBQcm9taXNlPFQ+ID0+IHtcbiAgY29uc3QgZGF0YSA9IGRlZXBDb3B5T2JqZWN0KGluY29taW5nRGF0YSlcbiAgY29uc3QgbWVyZ2VMb2NhbGVBY3Rpb25zID0gW11cbiAgY29uc3QgZXJyb3JzOiB7IGZpZWxkOiBzdHJpbmc7IG1lc3NhZ2U6IHN0cmluZyB9W10gPSBbXVxuXG4gIGF3YWl0IHRyYXZlcnNlRmllbGRzKHtcbiAgICBpZCxcbiAgICBjb2xsZWN0aW9uLFxuICAgIGNvbnRleHQsXG4gICAgZGF0YSxcbiAgICBkb2MsXG4gICAgZG9jV2l0aExvY2FsZXMsXG4gICAgZXJyb3JzLFxuICAgIGZpZWxkczogY29sbGVjdGlvbj8uZmllbGRzIHx8IGdsb2JhbD8uZmllbGRzLFxuICAgIGdsb2JhbCxcbiAgICBtZXJnZUxvY2FsZUFjdGlvbnMsXG4gICAgb3BlcmF0aW9uLFxuICAgIHBhdGg6ICcnLFxuICAgIHJlcSxcbiAgICBzaWJsaW5nRGF0YTogZGF0YSxcbiAgICBzaWJsaW5nRG9jOiBkb2MsXG4gICAgc2libGluZ0RvY1dpdGhMb2NhbGVzOiBkb2NXaXRoTG9jYWxlcyxcbiAgICBza2lwVmFsaWRhdGlvbixcbiAgfSlcblxuICBpZiAoZXJyb3JzLmxlbmd0aCA+IDApIHtcbiAgICB0aHJvdyBuZXcgVmFsaWRhdGlvbkVycm9yKGVycm9ycywgcmVxLnQpXG4gIH1cblxuICBtZXJnZUxvY2FsZUFjdGlvbnMuZm9yRWFjaCgoYWN0aW9uKSA9PiBhY3Rpb24oKSlcblxuICByZXR1cm4gZGF0YVxufVxuIl0sIm5hbWVzIjpbImJlZm9yZUNoYW5nZSIsImlkIiwiY29sbGVjdGlvbiIsImNvbnRleHQiLCJkYXRhIiwiaW5jb21pbmdEYXRhIiwiZG9jIiwiZG9jV2l0aExvY2FsZXMiLCJnbG9iYWwiLCJvcGVyYXRpb24iLCJyZXEiLCJza2lwVmFsaWRhdGlvbiIsImRlZXBDb3B5T2JqZWN0IiwibWVyZ2VMb2NhbGVBY3Rpb25zIiwiZXJyb3JzIiwidHJhdmVyc2VGaWVsZHMiLCJmaWVsZHMiLCJwYXRoIiwic2libGluZ0RhdGEiLCJzaWJsaW5nRG9jIiwic2libGluZ0RvY1dpdGhMb2NhbGVzIiwibGVuZ3RoIiwiVmFsaWRhdGlvbkVycm9yIiwidCIsImZvckVhY2giLCJhY3Rpb24iXSwibWFwcGluZ3MiOiI7Ozs7K0JBc0JhQTs7O2VBQUFBOzs7d0JBakJtQjtnQ0FDRDtnQ0FDQTtBQWV4QixNQUFNQSxlQUFlLE9BQTBDLEVBQ3BFQyxFQUFFLEVBQ0ZDLFVBQVUsRUFDVkMsT0FBTyxFQUNQQyxNQUFNQyxZQUFZLEVBQ2xCQyxHQUFHLEVBQ0hDLGNBQWMsRUFDZEMsTUFBTSxFQUNOQyxTQUFTLEVBQ1RDLEdBQUcsRUFDSEMsY0FBYyxFQUNOO0lBQ1IsTUFBTVAsT0FBT1EsSUFBQUEsOEJBQWMsRUFBQ1A7SUFDNUIsTUFBTVEscUJBQXFCLEVBQUU7SUFDN0IsTUFBTUMsU0FBK0MsRUFBRTtJQUV2RCxNQUFNQyxJQUFBQSw4QkFBYyxFQUFDO1FBQ25CZDtRQUNBQztRQUNBQztRQUNBQztRQUNBRTtRQUNBQztRQUNBTztRQUNBRSxRQUFRZCxZQUFZYyxVQUFVUixRQUFRUTtRQUN0Q1I7UUFDQUs7UUFDQUo7UUFDQVEsTUFBTTtRQUNOUDtRQUNBUSxhQUFhZDtRQUNiZSxZQUFZYjtRQUNaYyx1QkFBdUJiO1FBQ3ZCSTtJQUNGO0lBRUEsSUFBSUcsT0FBT08sTUFBTSxHQUFHLEdBQUc7UUFDckIsTUFBTSxJQUFJQyx1QkFBZSxDQUFDUixRQUFRSixJQUFJYSxDQUFDO0lBQ3pDO0lBRUFWLG1CQUFtQlcsT0FBTyxDQUFDLENBQUNDLFNBQVdBO0lBRXZDLE9BQU9yQjtBQUNUIn0=
|
|
@@ -1,7 +1,10 @@
|
|
|
1
|
+
import type { SanitizedCollectionConfig } from '../../../collections/config/types';
|
|
1
2
|
import type { PayloadRequest, RequestContext } from '../../../express/types';
|
|
3
|
+
import type { SanitizedGlobalConfig } from '../../../globals/config/types';
|
|
2
4
|
import type { Operation } from '../../../types';
|
|
3
5
|
import type { Field, TabAsField } from '../../config/types';
|
|
4
6
|
type Args = {
|
|
7
|
+
collection: SanitizedCollectionConfig | null;
|
|
5
8
|
context: RequestContext;
|
|
6
9
|
data: Record<string, unknown>;
|
|
7
10
|
doc: Record<string, unknown>;
|
|
@@ -11,6 +14,7 @@ type Args = {
|
|
|
11
14
|
message: string;
|
|
12
15
|
}[];
|
|
13
16
|
field: Field | TabAsField;
|
|
17
|
+
global: SanitizedGlobalConfig | null;
|
|
14
18
|
id?: number | string;
|
|
15
19
|
mergeLocaleActions: (() => void)[];
|
|
16
20
|
operation: Operation;
|
|
@@ -21,6 +25,6 @@ type Args = {
|
|
|
21
25
|
siblingDocWithLocales?: Record<string, unknown>;
|
|
22
26
|
skipValidation: boolean;
|
|
23
27
|
};
|
|
24
|
-
export declare const promise: ({ id, context, data, doc, docWithLocales, errors, field, mergeLocaleActions, operation, path, req, siblingData, siblingDoc, siblingDocWithLocales, skipValidation, }: Args) => Promise<void>;
|
|
28
|
+
export declare const promise: ({ id, collection, context, data, doc, docWithLocales, errors, field, global, mergeLocaleActions, operation, path, req, siblingData, siblingDoc, siblingDocWithLocales, skipValidation, }: Args) => Promise<void>;
|
|
25
29
|
export {};
|
|
26
30
|
//# sourceMappingURL=promise.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"promise.d.ts","sourceRoot":"","sources":["../../../../src/fields/hooks/beforeChange/promise.ts"],"names":[],"mappings":"AAGA,OAAO,KAAK,EAAE,cAAc,EAAE,cAAc,EAAE,MAAM,wBAAwB,CAAA;AAC5E,OAAO,KAAK,EAAE,SAAS,EAAE,MAAM,gBAAgB,CAAA;AAC/C,OAAO,KAAK,EAAE,KAAK,EAAE,UAAU,EAAE,MAAM,oBAAoB,CAAA;AAM3D,KAAK,IAAI,GAAG;IACV,OAAO,EAAE,cAAc,CAAA;IACvB,IAAI,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAAA;IAC7B,GAAG,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAAA;IAC5B,cAAc,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAAA;IACvC,MAAM,EAAE;QAAE,KAAK,EAAE,MAAM,CAAC;QAAC,OAAO,EAAE,MAAM,CAAA;KAAE,EAAE,CAAA;IAC5C,KAAK,EAAE,KAAK,GAAG,UAAU,CAAA;IACzB,EAAE,CAAC,EAAE,MAAM,GAAG,MAAM,CAAA;IACpB,kBAAkB,EAAE,CAAC,MAAM,IAAI,CAAC,EAAE,CAAA;IAClC,SAAS,EAAE,SAAS,CAAA;IACpB,IAAI,EAAE,MAAM,CAAA;IACZ,GAAG,EAAE,cAAc,CAAA;IACnB,WAAW,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAAA;IACpC,UAAU,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAAA;IACnC,qBAAqB,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAAA;IAC/C,cAAc,EAAE,OAAO,CAAA;CACxB,CAAA;AASD,eAAO,MAAM,OAAO,
|
|
1
|
+
{"version":3,"file":"promise.d.ts","sourceRoot":"","sources":["../../../../src/fields/hooks/beforeChange/promise.ts"],"names":[],"mappings":"AAGA,OAAO,KAAK,EAAE,yBAAyB,EAAE,MAAM,mCAAmC,CAAA;AAClF,OAAO,KAAK,EAAE,cAAc,EAAE,cAAc,EAAE,MAAM,wBAAwB,CAAA;AAC5E,OAAO,KAAK,EAAE,qBAAqB,EAAE,MAAM,+BAA+B,CAAA;AAC1E,OAAO,KAAK,EAAE,SAAS,EAAE,MAAM,gBAAgB,CAAA;AAC/C,OAAO,KAAK,EAAE,KAAK,EAAE,UAAU,EAAE,MAAM,oBAAoB,CAAA;AAM3D,KAAK,IAAI,GAAG;IACV,UAAU,EAAE,yBAAyB,GAAG,IAAI,CAAA;IAC5C,OAAO,EAAE,cAAc,CAAA;IACvB,IAAI,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAAA;IAC7B,GAAG,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAAA;IAC5B,cAAc,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAAA;IACvC,MAAM,EAAE;QAAE,KAAK,EAAE,MAAM,CAAC;QAAC,OAAO,EAAE,MAAM,CAAA;KAAE,EAAE,CAAA;IAC5C,KAAK,EAAE,KAAK,GAAG,UAAU,CAAA;IACzB,MAAM,EAAE,qBAAqB,GAAG,IAAI,CAAA;IACpC,EAAE,CAAC,EAAE,MAAM,GAAG,MAAM,CAAA;IACpB,kBAAkB,EAAE,CAAC,MAAM,IAAI,CAAC,EAAE,CAAA;IAClC,SAAS,EAAE,SAAS,CAAA;IACpB,IAAI,EAAE,MAAM,CAAA;IACZ,GAAG,EAAE,cAAc,CAAA;IACnB,WAAW,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAAA;IACpC,UAAU,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAAA;IACnC,qBAAqB,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAAA;IAC/C,cAAc,EAAE,OAAO,CAAA;CACxB,CAAA;AASD,eAAO,MAAM,OAAO,6LAkBjB,IAAI,KAAG,QAAQ,IAAI,CAyUrB,CAAA"}
|