payload 2.0.2 → 2.0.4

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.
Files changed (46) hide show
  1. package/README.md +7 -0
  2. package/dist/admin/components/elements/ArrayAction/index.js +2 -2
  3. package/dist/admin/components/elements/DeleteDocument/index.d.ts.map +1 -1
  4. package/dist/admin/components/elements/DeleteDocument/index.js +38 -31
  5. package/dist/admin/components/elements/DocumentControls/index.d.ts.map +1 -1
  6. package/dist/admin/components/elements/DocumentControls/index.js +4 -4
  7. package/dist/admin/components/elements/DocumentHeader/index.d.ts.map +1 -1
  8. package/dist/admin/components/elements/DocumentHeader/index.js +4 -5
  9. package/dist/admin/components/elements/DuplicateDocument/index.d.ts.map +1 -1
  10. package/dist/admin/components/elements/DuplicateDocument/index.js +3 -4
  11. package/dist/admin/components/elements/RenderTitle/index.d.ts.map +1 -1
  12. package/dist/admin/components/elements/RenderTitle/index.js +6 -3
  13. package/dist/admin/components/forms/Form/fieldReducer.d.ts.map +1 -1
  14. package/dist/admin/components/forms/Form/fieldReducer.js +20 -13
  15. package/dist/admin/components/forms/Form/index.d.ts.map +1 -1
  16. package/dist/admin/components/forms/Form/index.js +11 -11
  17. package/dist/admin/components/forms/Form/rows.js +4 -4
  18. package/dist/admin/components/forms/Form/types.d.ts +2 -2
  19. package/dist/admin/components/forms/Form/types.d.ts.map +1 -1
  20. package/dist/admin/components/forms/field-types/Row/index.d.ts.map +1 -1
  21. package/dist/admin/components/forms/field-types/Row/index.js +2 -3
  22. package/dist/admin/components/forms/field-types/Row/index.scss +13 -3
  23. package/dist/admin/components/forms/field-types/Upload/Input.d.ts.map +1 -1
  24. package/dist/admin/components/forms/field-types/Upload/Input.js +3 -3
  25. package/dist/admin/components/views/API/index.d.ts +2 -3
  26. package/dist/admin/components/views/API/index.d.ts.map +1 -1
  27. package/dist/admin/components/views/API/index.js +22 -5
  28. package/dist/admin/components/views/API/index.scss +8 -0
  29. package/dist/admin/components/views/Global/Default/index.scss +3 -2
  30. package/dist/admin/components/views/collections/Edit/Default/index.scss +3 -2
  31. package/dist/admin/components/views/collections/Edit/SetStepNav.d.ts +1 -1
  32. package/dist/admin/components/views/collections/Edit/SetStepNav.d.ts.map +1 -1
  33. package/dist/admin/components/views/collections/Edit/SetStepNav.js +7 -5
  34. package/dist/admin/hooks/useTitle.d.ts +6 -1
  35. package/dist/admin/hooks/useTitle.d.ts.map +1 -1
  36. package/dist/admin/hooks/useTitle.js +18 -10
  37. package/dist/bin/generateTypes.d.ts.map +1 -1
  38. package/dist/bin/generateTypes.js +9 -2
  39. package/dist/fields/validations.d.ts.map +1 -1
  40. package/dist/fields/validations.js +15 -15
  41. package/dist/fields/validations.spec.js +16 -10
  42. package/dist/utilities/configToJSONSchema.d.ts +3 -3
  43. package/dist/utilities/configToJSONSchema.d.ts.map +1 -1
  44. package/dist/utilities/configToJSONSchema.js +11 -8
  45. package/dist/utilities/configToJSONSchema.spec.js +2 -2
  46. package/package.json +1 -1
@@ -418,13 +418,13 @@ function fieldsToJSONSchema(collectionIDFieldTypes, fields, interfaceNameDefinit
418
418
  required: Array.from(requiredFields)
419
419
  };
420
420
  }
421
- function entityToJSONSchema(config, incomingEntity, interfaceNameDefinitions) {
421
+ function entityToJSONSchema(config, incomingEntity, interfaceNameDefinitions, defaultIDType) {
422
422
  const entity = (0, _deepCopyObject.deepCopyObject)(incomingEntity);
423
423
  const title = entity.typescript?.interface ? entity.typescript.interface : (0, _pluralize.singular)((0, _formatLabels.toWords)(entity.slug, true));
424
424
  const idField = {
425
425
  name: 'id',
426
426
  required: true,
427
- type: 'text'
427
+ type: defaultIDType
428
428
  };
429
429
  const customIdField = entity.fields.find((field)=>(0, _types.fieldAffectsData)(field) && field.name === 'id');
430
430
  if (customIdField && customIdField.type !== 'group' && customIdField.type !== 'tab') {
@@ -453,7 +453,10 @@ function entityToJSONSchema(config, incomingEntity, interfaceNameDefinitions) {
453
453
  // used for relationship fields, to determine whether to use a string or number type for the ID
454
454
  const collectionIDFieldTypes = config.collections.reduce((acc, collection)=>{
455
455
  const customCollectionIdField = collection.fields.find((field)=>'name' in field && field.name === 'id');
456
- acc[collection.slug] = customCollectionIdField?.type === 'number' ? 'number' : 'string';
456
+ acc[collection.slug] = defaultIDType === 'text' ? 'string' : 'number';
457
+ if (customCollectionIdField) {
458
+ acc[collection.slug] = customCollectionIdField.type === 'number' ? 'number' : 'string';
459
+ }
457
460
  return acc;
458
461
  }, {});
459
462
  return {
@@ -463,14 +466,14 @@ function entityToJSONSchema(config, incomingEntity, interfaceNameDefinitions) {
463
466
  ...fieldsToJSONSchema(collectionIDFieldTypes, entity.fields, interfaceNameDefinitions)
464
467
  };
465
468
  }
466
- function configToJSONSchema(config) {
469
+ function configToJSONSchema(config, defaultIDType) {
467
470
  // a mutable Map to store custom top-level `interfaceName` types
468
471
  const interfaceNameDefinitions = new Map();
469
472
  const entityDefinitions = [
470
473
  ...config.globals,
471
474
  ...config.collections
472
475
  ].reduce((acc, entity)=>{
473
- acc[entity.slug] = entityToJSONSchema(config, entity, interfaceNameDefinitions);
476
+ acc[entity.slug] = entityToJSONSchema(config, entity, interfaceNameDefinitions, defaultIDType);
474
477
  return acc;
475
478
  }, {});
476
479
  return {
@@ -480,8 +483,8 @@ function configToJSONSchema(config) {
480
483
  ...Object.fromEntries(interfaceNameDefinitions)
481
484
  },
482
485
  properties: {
483
- collections: generateEntitySchemas(config.collections),
484
- globals: generateEntitySchemas(config.globals)
486
+ collections: generateEntitySchemas(config.collections || []),
487
+ globals: generateEntitySchemas(config.globals || [])
485
488
  },
486
489
  required: [
487
490
  'collections',
@@ -492,4 +495,4 @@ function configToJSONSchema(config) {
492
495
  };
493
496
  }
494
497
 
495
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIi4uLy4uL3NyYy91dGlsaXRpZXMvY29uZmlnVG9KU09OU2NoZW1hLnRzIl0sInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB0eXBlIHsgSlNPTlNjaGVtYTQgfSBmcm9tICdqc29uLXNjaGVtYSdcblxuaW1wb3J0IHsgc2luZ3VsYXIgfSBmcm9tICdwbHVyYWxpemUnXG5cbmltcG9ydCB0eXBlIHsgU2FuaXRpemVkQ29sbGVjdGlvbkNvbmZpZyB9IGZyb20gJy4uL2NvbGxlY3Rpb25zL2NvbmZpZy90eXBlcydcbmltcG9ydCB0eXBlIHsgU2FuaXRpemVkQ29uZmlnIH0gZnJvbSAnLi4vY29uZmlnL3R5cGVzJ1xuaW1wb3J0IHR5cGUgeyBGaWVsZCwgRmllbGRBZmZlY3RpbmdEYXRhLCBPcHRpb24gfSBmcm9tICcuLi9maWVsZHMvY29uZmlnL3R5cGVzJ1xuaW1wb3J0IHR5cGUgeyBTYW5pdGl6ZWRHbG9iYWxDb25maWcgfSBmcm9tICcuLi9nbG9iYWxzL2NvbmZpZy90eXBlcydcblxuaW1wb3J0IHsgZmllbGRBZmZlY3RzRGF0YSwgdGFiSGFzTmFtZSB9IGZyb20gJy4uL2ZpZWxkcy9jb25maWcvdHlwZXMnXG5pbXBvcnQgeyBkZWVwQ29weU9iamVjdCB9IGZyb20gJy4vZGVlcENvcHlPYmplY3QnXG5pbXBvcnQgeyB0b1dvcmRzIH0gZnJvbSAnLi9mb3JtYXRMYWJlbHMnXG5cbmNvbnN0IHByb3BlcnR5SXNSZXF1aXJlZCA9IChmaWVsZDogRmllbGQpID0+IHtcbiAgaWYgKGZpZWxkQWZmZWN0c0RhdGEoZmllbGQpICYmICdyZXF1aXJlZCcgaW4gZmllbGQgJiYgZmllbGQucmVxdWlyZWQgPT09IHRydWUpIHJldHVybiB0cnVlXG5cbiAgaWYgKCdmaWVsZHMnIGluIGZpZWxkICYmIGZpZWxkLnR5cGUgIT09ICdhcnJheScpIHtcbiAgICBpZiAoZmllbGQuYWRtaW4/LmNvbmRpdGlvbiB8fCBmaWVsZC5hY2Nlc3M/LnJlYWQpIHJldHVybiBmYWxzZVxuICAgIHJldHVybiBmaWVsZC5maWVsZHMuZmluZCgoc3ViRmllbGQpID0+IHByb3BlcnR5SXNSZXF1aXJlZChzdWJGaWVsZCkpXG4gIH1cblxuICBpZiAoZmllbGQudHlwZSA9PT0gJ3RhYnMnKSB7XG4gICAgcmV0dXJuIGZpZWxkLnRhYnMuc29tZShcbiAgICAgICh0YWIpID0+ICduYW1lJyBpbiB0YWIgJiYgdGFiLmZpZWxkcy5maW5kKChzdWJGaWVsZCkgPT4gcHJvcGVydHlJc1JlcXVpcmVkKHN1YkZpZWxkKSksXG4gICAgKVxuICB9XG5cbiAgcmV0dXJuIGZhbHNlXG59XG5cbmZ1bmN0aW9uIHJldHVybk9wdGlvbkVudW1zKG9wdGlvbnM6IE9wdGlvbltdKTogc3RyaW5nW10ge1xuICByZXR1cm4gb3B0aW9ucy5tYXAoKG9wdGlvbikgPT4ge1xuICAgIGlmICh0eXBlb2Ygb3B0aW9uID09PSAnb2JqZWN0JyAmJiAndmFsdWUnIGluIG9wdGlvbikge1xuICAgICAgcmV0dXJuIG9wdGlvbi52YWx1ZVxuICAgIH1cblxuICAgIHJldHVybiBvcHRpb25cbiAgfSlcbn1cblxuLyoqXG4gKiBUaGlzIGlzIHVzZWQgZm9yIGdlbmVyYXRpbmcgdGhlIFR5cGVTY3JpcHQgdHlwZXMgKHBheWxvYWQtdHlwZXMudHMpIHdpdGggdGhlIHBheWxvYWQgZ2VuZXJhdGU6dHlwZXMgY29tbWFuZC5cbiAqL1xuZnVuY3Rpb24gZ2VuZXJhdGVFbnRpdHlTY2hlbWFzKFxuICBlbnRpdGllczogKFNhbml0aXplZENvbGxlY3Rpb25Db25maWcgfCBTYW5pdGl6ZWRHbG9iYWxDb25maWcpW10sXG4pOiBKU09OU2NoZW1hNCB7XG4gIGNvbnN0IHByb3BlcnRpZXMgPSBbLi4uZW50aXRpZXNdLnJlZHVjZSgoYWNjLCB7IHNsdWcgfSkgPT4ge1xuICAgIGFjY1tzbHVnXSA9IHtcbiAgICAgICRyZWY6IGAjL2RlZmluaXRpb25zLyR7c2x1Z31gLFxuICAgIH1cblxuICAgIHJldHVybiBhY2NcbiAgfSwge30pXG5cbiAgcmV0dXJuIHtcbiAgICBhZGRpdGlvbmFsUHJvcGVydGllczogZmFsc2UsXG4gICAgcHJvcGVydGllcyxcbiAgICByZXF1aXJlZDogT2JqZWN0LmtleXMocHJvcGVydGllcyksXG4gICAgdHlwZTogJ29iamVjdCcsXG4gIH1cbn1cblxuZnVuY3Rpb24gZmllbGRzVG9KU09OU2NoZW1hKFxuICBjb2xsZWN0aW9uSURGaWVsZFR5cGVzOiB7IFtrZXk6IHN0cmluZ106ICdudW1iZXInIHwgJ3N0cmluZycgfSxcbiAgZmllbGRzOiBGaWVsZFtdLFxuICBpbnRlcmZhY2VOYW1lRGVmaW5pdGlvbnM6IE1hcDxzdHJpbmcsIEpTT05TY2hlbWE0Pixcbik6IHtcbiAgcHJvcGVydGllczoge1xuICAgIFtrOiBzdHJpbmddOiBKU09OU2NoZW1hNFxuICB9XG4gIHJlcXVpcmVkOiBzdHJpbmdbXVxufSB7XG4gIC8vIHJlcXVpcmVkIGZpZWxkcyBmb3IgYSBzY2hlbWEgKGNvdWxkIGJlIGZvciBhIG5lc3RlZCBzY2hlbWEpXG4gIGNvbnN0IHJlcXVpcmVkRmllbGRzID0gbmV3IFNldDxzdHJpbmc+KFxuICAgIGZpZWxkcy5maWx0ZXIocHJvcGVydHlJc1JlcXVpcmVkKS5tYXAoKGZpZWxkKSA9PiAoZmllbGRBZmZlY3RzRGF0YShmaWVsZCkgPyBmaWVsZC5uYW1lIDogJycpKSxcbiAgKVxuXG4gIHJldHVybiB7XG4gICAgcHJvcGVydGllczogT2JqZWN0LmZyb21FbnRyaWVzKFxuICAgICAgZmllbGRzLnJlZHVjZSgoZmllbGRTY2hlbWFzLCBmaWVsZCkgPT4ge1xuICAgICAgICBsZXQgZmllbGRTY2hlbWE6IEpTT05TY2hlbWE0XG4gICAgICAgIHN3aXRjaCAoZmllbGQudHlwZSkge1xuICAgICAgICAgIGNhc2UgJ3RleHQnOlxuICAgICAgICAgIGNhc2UgJ3RleHRhcmVhJzpcbiAgICAgICAgICBjYXNlICdjb2RlJzpcbiAgICAgICAgICBjYXNlICdlbWFpbCc6XG4gICAgICAgICAgY2FzZSAnZGF0ZSc6IHtcbiAgICAgICAgICAgIGZpZWxkU2NoZW1hID0geyB0eXBlOiAnc3RyaW5nJyB9XG4gICAgICAgICAgICBicmVha1xuICAgICAgICAgIH1cblxuICAgICAgICAgIGNhc2UgJ251bWJlcic6IHtcbiAgICAgICAgICAgIGlmIChmaWVsZC5oYXNNYW55ID09PSB0cnVlKSB7XG4gICAgICAgICAgICAgIGZpZWxkU2NoZW1hID0geyBpdGVtczogeyB0eXBlOiAnbnVtYmVyJyB9LCB0eXBlOiAnYXJyYXknIH1cbiAgICAgICAgICAgIH0gZWxzZSB7XG4gICAgICAgICAgICAgIGZpZWxkU2NoZW1hID0geyB0eXBlOiAnbnVtYmVyJyB9XG4gICAgICAgICAgICB9XG4gICAgICAgICAgICBicmVha1xuICAgICAgICAgIH1cblxuICAgICAgICAgIGNhc2UgJ2NoZWNrYm94Jzoge1xuICAgICAgICAgICAgZmllbGRTY2hlbWEgPSB7IHR5cGU6ICdib29sZWFuJyB9XG4gICAgICAgICAgICBicmVha1xuICAgICAgICAgIH1cblxuICAgICAgICAgIGNhc2UgJ2pzb24nOiB7XG4gICAgICAgICAgICAvLyBodHRwczovL3d3dy5yZmMtZWRpdG9yLm9yZy9yZmMvcmZjNzE1OSNzZWN0aW9uLTNcbiAgICAgICAgICAgIGZpZWxkU2NoZW1hID0ge1xuICAgICAgICAgICAgICBvbmVPZjogW1xuICAgICAgICAgICAgICAgIHsgdHlwZTogJ29iamVjdCcgfSxcbiAgICAgICAgICAgICAgICB7IHR5cGU6ICdhcnJheScgfSxcbiAgICAgICAgICAgICAgICB7IHR5cGU6ICdzdHJpbmcnIH0sXG4gICAgICAgICAgICAgICAgeyB0eXBlOiAnbnVtYmVyJyB9LFxuICAgICAgICAgICAgICAgIHsgdHlwZTogJ2Jvb2xlYW4nIH0sXG4gICAgICAgICAgICAgICAgeyB0eXBlOiAnbnVsbCcgfSxcbiAgICAgICAgICAgICAgXSxcbiAgICAgICAgICAgIH1cbiAgICAgICAgICAgIGJyZWFrXG4gICAgICAgICAgfVxuXG4gICAgICAgICAgY2FzZSAncmljaFRleHQnOiB7XG4gICAgICAgICAgICBmaWVsZFNjaGVtYSA9IHtcbiAgICAgICAgICAgICAgaXRlbXM6IHtcbiAgICAgICAgICAgICAgICB0eXBlOiAnb2JqZWN0JyxcbiAgICAgICAgICAgICAgfSxcbiAgICAgICAgICAgICAgdHlwZTogJ2FycmF5JyxcbiAgICAgICAgICAgIH1cblxuICAgICAgICAgICAgYnJlYWtcbiAgICAgICAgICB9XG5cbiAgICAgICAgICBjYXNlICdyYWRpbyc6IHtcbiAgICAgICAgICAgIGZpZWxkU2NoZW1hID0ge1xuICAgICAgICAgICAgICBlbnVtOiByZXR1cm5PcHRpb25FbnVtcyhmaWVsZC5vcHRpb25zKSxcbiAgICAgICAgICAgICAgdHlwZTogJ3N0cmluZycsXG4gICAgICAgICAgICB9XG5cbiAgICAgICAgICAgIGJyZWFrXG4gICAgICAgICAgfVxuXG4gICAgICAgICAgY2FzZSAnc2VsZWN0Jzoge1xuICAgICAgICAgICAgY29uc3Qgc2VsZWN0VHlwZTogSlNPTlNjaGVtYTQgPSB7XG4gICAgICAgICAgICAgIGVudW06IHJldHVybk9wdGlvbkVudW1zKGZpZWxkLm9wdGlvbnMpLFxuICAgICAgICAgICAgICB0eXBlOiAnc3RyaW5nJyxcbiAgICAgICAgICAgIH1cblxuICAgICAgICAgICAgaWYgKGZpZWxkLmhhc01hbnkpIHtcbiAgICAgICAgICAgICAgZmllbGRTY2hlbWEgPSB7XG4gICAgICAgICAgICAgICAgaXRlbXM6IHNlbGVjdFR5cGUsXG4gICAgICAgICAgICAgICAgdHlwZTogJ2FycmF5JyxcbiAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgfSBlbHNlIHtcbiAgICAgICAgICAgICAgZmllbGRTY2hlbWEgPSBzZWxlY3RUeXBlXG4gICAgICAgICAgICB9XG5cbiAgICAgICAgICAgIGJyZWFrXG4gICAgICAgICAgfVxuXG4gICAgICAgICAgY2FzZSAncG9pbnQnOiB7XG4gICAgICAgICAgICBmaWVsZFNjaGVtYSA9IHtcbiAgICAgICAgICAgICAgaXRlbXM6IFtcbiAgICAgICAgICAgICAgICB7XG4gICAgICAgICAgICAgICAgICB0eXBlOiAnbnVtYmVyJyxcbiAgICAgICAgICAgICAgICB9LFxuICAgICAgICAgICAgICAgIHtcbiAgICAgICAgICAgICAgICAgIHR5cGU6ICdudW1iZXInLFxuICAgICAgICAgICAgICAgIH0sXG4gICAgICAgICAgICAgIF0sXG4gICAgICAgICAgICAgIG1heEl0ZW1zOiAyLFxuICAgICAgICAgICAgICBtaW5JdGVtczogMixcbiAgICAgICAgICAgICAgdHlwZTogJ2FycmF5JyxcbiAgICAgICAgICAgIH1cbiAgICAgICAgICAgIGJyZWFrXG4gICAgICAgICAgfVxuXG4gICAgICAgICAgY2FzZSAncmVsYXRpb25zaGlwJzoge1xuICAgICAgICAgICAgaWYgKEFycmF5LmlzQXJyYXkoZmllbGQucmVsYXRpb25UbykpIHtcbiAgICAgICAgICAgICAgaWYgKGZpZWxkLmhhc01hbnkpIHtcbiAgICAgICAgICAgICAgICBmaWVsZFNjaGVtYSA9IHtcbiAgICAgICAgICAgICAgICAgIG9uZU9mOiBbXG4gICAgICAgICAgICAgICAgICAgIHtcbiAgICAgICAgICAgICAgICAgICAgICBpdGVtczoge1xuICAgICAgICAgICAgICAgICAgICAgICAgb25lT2Y6IGZpZWxkLnJlbGF0aW9uVG8ubWFwKChyZWxhdGlvbikgPT4ge1xuICAgICAgICAgICAgICAgICAgICAgICAgICByZXR1cm4ge1xuICAgICAgICAgICAgICAgICAgICAgICAgICAgIGFkZGl0aW9uYWxQcm9wZXJ0aWVzOiBmYWxzZSxcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICBwcm9wZXJ0aWVzOiB7XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICByZWxhdGlvblRvOiB7XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGNvbnN0OiByZWxhdGlvbixcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIH0sXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICB2YWx1ZToge1xuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB0eXBlOiBjb2xsZWN0aW9uSURGaWVsZFR5cGVzW3JlbGF0aW9uXSxcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIH0sXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgfSxcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICByZXF1aXJlZDogWyd2YWx1ZScsICdyZWxhdGlvblRvJ10sXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgdHlwZTogJ29iamVjdCcsXG4gICAgICAgICAgICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgICAgICAgICAgICAgIH0pLFxuICAgICAgICAgICAgICAgICAgICAgIH0sXG4gICAgICAgICAgICAgICAgICAgICAgdHlwZTogJ2FycmF5JyxcbiAgICAgICAgICAgICAgICAgICAgfSxcbiAgICAgICAgICAgICAgICAgICAge1xuICAgICAgICAgICAgICAgICAgICAgIGl0ZW1zOiB7XG4gICAgICAgICAgICAgICAgICAgICAgICBvbmVPZjogZmllbGQucmVsYXRpb25Uby5tYXAoKHJlbGF0aW9uKSA9PiB7XG4gICAgICAgICAgICAgICAgICAgICAgICAgIHJldHVybiB7XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgYWRkaXRpb25hbFByb3BlcnRpZXM6IGZhbHNlLFxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIHByb3BlcnRpZXM6IHtcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHJlbGF0aW9uVG86IHtcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgY29uc3Q6IHJlbGF0aW9uLFxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgfSxcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHZhbHVlOiB7XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICRyZWY6IGAjL2RlZmluaXRpb25zLyR7cmVsYXRpb259YCxcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIH0sXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgfSxcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICByZXF1aXJlZDogWyd2YWx1ZScsICdyZWxhdGlvblRvJ10sXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgdHlwZTogJ29iamVjdCcsXG4gICAgICAgICAgICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgICAgICAgICAgICAgIH0pLFxuICAgICAgICAgICAgICAgICAgICAgIH0sXG4gICAgICAgICAgICAgICAgICAgICAgdHlwZTogJ2FycmF5JyxcbiAgICAgICAgICAgICAgICAgICAgfSxcbiAgICAgICAgICAgICAgICAgIF0sXG4gICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgICB9IGVsc2Uge1xuICAgICAgICAgICAgICAgIGZpZWxkU2NoZW1hID0ge1xuICAgICAgICAgICAgICAgICAgb25lT2Y6IGZpZWxkLnJlbGF0aW9uVG8ubWFwKChyZWxhdGlvbikgPT4ge1xuICAgICAgICAgICAgICAgICAgICByZXR1cm4ge1xuICAgICAgICAgICAgICAgICAgICAgIGFkZGl0aW9uYWxQcm9wZXJ0aWVzOiBmYWxzZSxcbiAgICAgICAgICAgICAgICAgICAgICBwcm9wZXJ0aWVzOiB7XG4gICAgICAgICAgICAgICAgICAgICAgICByZWxhdGlvblRvOiB7XG4gICAgICAgICAgICAgICAgICAgICAgICAgIGNvbnN0OiByZWxhdGlvbixcbiAgICAgICAgICAgICAgICAgICAgICAgIH0sXG4gICAgICAgICAgICAgICAgICAgICAgICB2YWx1ZToge1xuICAgICAgICAgICAgICAgICAgICAgICAgICBvbmVPZjogW1xuICAgICAgICAgICAgICAgICAgICAgICAgICAgIHtcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHR5cGU6IGNvbGxlY3Rpb25JREZpZWxkVHlwZXNbcmVsYXRpb25dLFxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIH0sXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAge1xuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgJHJlZjogYCMvZGVmaW5pdGlvbnMvJHtyZWxhdGlvbn1gLFxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIH0sXG4gICAgICAgICAgICAgICAgICAgICAgICAgIF0sXG4gICAgICAgICAgICAgICAgICAgICAgICB9LFxuICAgICAgICAgICAgICAgICAgICAgIH0sXG4gICAgICAgICAgICAgICAgICAgICAgcmVxdWlyZWQ6IFsndmFsdWUnLCAncmVsYXRpb25UbyddLFxuICAgICAgICAgICAgICAgICAgICAgIHR5cGU6ICdvYmplY3QnLFxuICAgICAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICAgICAgICB9KSxcbiAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICAgIH1cbiAgICAgICAgICAgIH0gZWxzZSBpZiAoZmllbGQuaGFzTWFueSkge1xuICAgICAgICAgICAgICBmaWVsZFNjaGVtYSA9IHtcbiAgICAgICAgICAgICAgICBvbmVPZjogW1xuICAgICAgICAgICAgICAgICAge1xuICAgICAgICAgICAgICAgICAgICBpdGVtczoge1xuICAgICAgICAgICAgICAgICAgICAgIHR5cGU6IGNvbGxlY3Rpb25JREZpZWxkVHlwZXNbZmllbGQucmVsYXRpb25Ub10sXG4gICAgICAgICAgICAgICAgICAgIH0sXG4gICAgICAgICAgICAgICAgICAgIHR5cGU6ICdhcnJheScsXG4gICAgICAgICAgICAgICAgICB9LFxuICAgICAgICAgICAgICAgICAge1xuICAgICAgICAgICAgICAgICAgICBpdGVtczoge1xuICAgICAgICAgICAgICAgICAgICAgICRyZWY6IGAjL2RlZmluaXRpb25zLyR7ZmllbGQucmVsYXRpb25Ub31gLFxuICAgICAgICAgICAgICAgICAgICB9LFxuICAgICAgICAgICAgICAgICAgICB0eXBlOiAnYXJyYXknLFxuICAgICAgICAgICAgICAgICAgfSxcbiAgICAgICAgICAgICAgICBdLFxuICAgICAgICAgICAgICB9XG4gICAgICAgICAgICB9IGVsc2Uge1xuICAgICAgICAgICAgICBmaWVsZFNjaGVtYSA9IHtcbiAgICAgICAgICAgICAgICBvbmVPZjogW1xuICAgICAgICAgICAgICAgICAge1xuICAgICAgICAgICAgICAgICAgICB0eXBlOiBjb2xsZWN0aW9uSURGaWVsZFR5cGVzW2ZpZWxkLnJlbGF0aW9uVG9dLFxuICAgICAgICAgICAgICAgICAgfSxcbiAgICAgICAgICAgICAgICAgIHtcbiAgICAgICAgICAgICAgICAgICAgJHJlZjogYCMvZGVmaW5pdGlvbnMvJHtmaWVsZC5yZWxhdGlvblRvfWAsXG4gICAgICAgICAgICAgICAgICB9LFxuICAgICAgICAgICAgICAgIF0sXG4gICAgICAgICAgICAgIH1cbiAgICAgICAgICAgIH1cblxuICAgICAgICAgICAgYnJlYWtcbiAgICAgICAgICB9XG5cbiAgICAgICAgICBjYXNlICd1cGxvYWQnOiB7XG4gICAgICAgICAgICBmaWVsZFNjaGVtYSA9IHtcbiAgICAgICAgICAgICAgb25lT2Y6IFtcbiAgICAgICAgICAgICAgICB7XG4gICAgICAgICAgICAgICAgICB0eXBlOiBjb2xsZWN0aW9uSURGaWVsZFR5cGVzW2ZpZWxkLnJlbGF0aW9uVG9dLFxuICAgICAgICAgICAgICAgIH0sXG4gICAgICAgICAgICAgICAge1xuICAgICAgICAgICAgICAgICAgJHJlZjogYCMvZGVmaW5pdGlvbnMvJHtmaWVsZC5yZWxhdGlvblRvfWAsXG4gICAgICAgICAgICAgICAgfSxcbiAgICAgICAgICAgICAgXSxcbiAgICAgICAgICAgIH1cbiAgICAgICAgICAgIGJyZWFrXG4gICAgICAgICAgfVxuXG4gICAgICAgICAgY2FzZSAnYmxvY2tzJzoge1xuICAgICAgICAgICAgZmllbGRTY2hlbWEgPSB7XG4gICAgICAgICAgICAgIGl0ZW1zOiB7XG4gICAgICAgICAgICAgICAgb25lT2Y6IGZpZWxkLmJsb2Nrcy5tYXAoKGJsb2NrKSA9PiB7XG4gICAgICAgICAgICAgICAgICBjb25zdCBibG9ja0ZpZWxkU2NoZW1hcyA9IGZpZWxkc1RvSlNPTlNjaGVtYShcbiAgICAgICAgICAgICAgICAgICAgY29sbGVjdGlvbklERmllbGRUeXBlcyxcbiAgICAgICAgICAgICAgICAgICAgYmxvY2suZmllbGRzLFxuICAgICAgICAgICAgICAgICAgICBpbnRlcmZhY2VOYW1lRGVmaW5pdGlvbnMsXG4gICAgICAgICAgICAgICAgICApXG5cbiAgICAgICAgICAgICAgICAgIGNvbnN0IGJsb2NrU2NoZW1hOiBKU09OU2NoZW1hNCA9IHtcbiAgICAgICAgICAgICAgICAgICAgYWRkaXRpb25hbFByb3BlcnRpZXM6IGZhbHNlLFxuICAgICAgICAgICAgICAgICAgICBwcm9wZXJ0aWVzOiB7XG4gICAgICAgICAgICAgICAgICAgICAgLi4uYmxvY2tGaWVsZFNjaGVtYXMucHJvcGVydGllcyxcbiAgICAgICAgICAgICAgICAgICAgICBibG9ja1R5cGU6IHtcbiAgICAgICAgICAgICAgICAgICAgICAgIGNvbnN0OiBibG9jay5zbHVnLFxuICAgICAgICAgICAgICAgICAgICAgIH0sXG4gICAgICAgICAgICAgICAgICAgIH0sXG4gICAgICAgICAgICAgICAgICAgIHJlcXVpcmVkOiBbJ2Jsb2NrVHlwZScsIC4uLmJsb2NrRmllbGRTY2hlbWFzLnJlcXVpcmVkXSxcbiAgICAgICAgICAgICAgICAgICAgdHlwZTogJ29iamVjdCcsXG4gICAgICAgICAgICAgICAgICB9XG5cbiAgICAgICAgICAgICAgICAgIGlmIChibG9jay5pbnRlcmZhY2VOYW1lKSB7XG4gICAgICAgICAgICAgICAgICAgIGludGVyZmFjZU5hbWVEZWZpbml0aW9ucy5zZXQoYmxvY2suaW50ZXJmYWNlTmFtZSwgYmxvY2tTY2hlbWEpXG5cbiAgICAgICAgICAgICAgICAgICAgcmV0dXJuIHtcbiAgICAgICAgICAgICAgICAgICAgICAkcmVmOiBgIy9kZWZpbml0aW9ucy8ke2Jsb2NrLmludGVyZmFjZU5hbWV9YCxcbiAgICAgICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgICAgICAgfVxuXG4gICAgICAgICAgICAgICAgICByZXR1cm4gYmxvY2tTY2hlbWFcbiAgICAgICAgICAgICAgICB9KSxcbiAgICAgICAgICAgICAgfSxcbiAgICAgICAgICAgICAgdHlwZTogJ2FycmF5JyxcbiAgICAgICAgICAgIH1cbiAgICAgICAgICAgIGJyZWFrXG4gICAgICAgICAgfVxuXG4gICAgICAgICAgY2FzZSAnYXJyYXknOiB7XG4gICAgICAgICAgICBmaWVsZFNjaGVtYSA9IHtcbiAgICAgICAgICAgICAgaXRlbXM6IHtcbiAgICAgICAgICAgICAgICBhZGRpdGlvbmFsUHJvcGVydGllczogZmFsc2UsXG4gICAgICAgICAgICAgICAgdHlwZTogJ29iamVjdCcsXG4gICAgICAgICAgICAgICAgLi4uZmllbGRzVG9KU09OU2NoZW1hKFxuICAgICAgICAgICAgICAgICAgY29sbGVjdGlvbklERmllbGRUeXBlcyxcbiAgICAgICAgICAgICAgICAgIGZpZWxkLmZpZWxkcyxcbiAgICAgICAgICAgICAgICAgIGludGVyZmFjZU5hbWVEZWZpbml0aW9ucyxcbiAgICAgICAgICAgICAgICApLFxuICAgICAgICAgICAgICB9LFxuICAgICAgICAgICAgICB0eXBlOiAnYXJyYXknLFxuICAgICAgICAgICAgfVxuXG4gICAgICAgICAgICBpZiAoZmllbGQuaW50ZXJmYWNlTmFtZSkge1xuICAgICAgICAgICAgICBpbnRlcmZhY2VOYW1lRGVmaW5pdGlvbnMuc2V0KGZpZWxkLmludGVyZmFjZU5hbWUsIGZpZWxkU2NoZW1hKVxuXG4gICAgICAgICAgICAgIGZpZWxkU2NoZW1hID0ge1xuICAgICAgICAgICAgICAgICRyZWY6IGAjL2RlZmluaXRpb25zLyR7ZmllbGQuaW50ZXJmYWNlTmFtZX1gLFxuICAgICAgICAgICAgICB9XG4gICAgICAgICAgICB9XG4gICAgICAgICAgICBicmVha1xuICAgICAgICAgIH1cblxuICAgICAgICAgIGNhc2UgJ3Jvdyc6XG4gICAgICAgICAgY2FzZSAnY29sbGFwc2libGUnOiB7XG4gICAgICAgICAgICBjb25zdCBjaGlsZFNjaGVtYSA9IGZpZWxkc1RvSlNPTlNjaGVtYShcbiAgICAgICAgICAgICAgY29sbGVjdGlvbklERmllbGRUeXBlcyxcbiAgICAgICAgICAgICAgZmllbGQuZmllbGRzLFxuICAgICAgICAgICAgICBpbnRlcmZhY2VOYW1lRGVmaW5pdGlvbnMsXG4gICAgICAgICAgICApXG4gICAgICAgICAgICBPYmplY3QuZW50cmllcyhjaGlsZFNjaGVtYS5wcm9wZXJ0aWVzKS5mb3JFYWNoKChbcHJvcE5hbWUsIHByb3BTY2hlbWFdKSA9PiB7XG4gICAgICAgICAgICAgIGZpZWxkU2NoZW1hcy5zZXQocHJvcE5hbWUsIHByb3BTY2hlbWEpXG4gICAgICAgICAgICB9KVxuICAgICAgICAgICAgY2hpbGRTY2hlbWEucmVxdWlyZWQuZm9yRWFjaCgocHJvcE5hbWUpID0+IHtcbiAgICAgICAgICAgICAgcmVxdWlyZWRGaWVsZHMuYWRkKHByb3BOYW1lKVxuICAgICAgICAgICAgfSlcbiAgICAgICAgICAgIGJyZWFrXG4gICAgICAgICAgfVxuXG4gICAgICAgICAgY2FzZSAndGFicyc6IHtcbiAgICAgICAgICAgIGZpZWxkLnRhYnMuZm9yRWFjaCgodGFiKSA9PiB7XG4gICAgICAgICAgICAgIGNvbnN0IGNoaWxkU2NoZW1hID0gZmllbGRzVG9KU09OU2NoZW1hKFxuICAgICAgICAgICAgICAgIGNvbGxlY3Rpb25JREZpZWxkVHlwZXMsXG4gICAgICAgICAgICAgICAgdGFiLmZpZWxkcyxcbiAgICAgICAgICAgICAgICBpbnRlcmZhY2VOYW1lRGVmaW5pdGlvbnMsXG4gICAgICAgICAgICAgIClcbiAgICAgICAgICAgICAgaWYgKHRhYkhhc05hbWUodGFiKSkge1xuICAgICAgICAgICAgICAgIC8vIGNvdWxkIGhhdmUgaW50ZXJmYWNlXG4gICAgICAgICAgICAgICAgZmllbGRTY2hlbWFzLnNldCh0YWIubmFtZSwge1xuICAgICAgICAgICAgICAgICAgYWRkaXRpb25hbFByb3BlcnRpZXM6IGZhbHNlLFxuICAgICAgICAgICAgICAgICAgdHlwZTogJ29iamVjdCcsXG4gICAgICAgICAgICAgICAgICAuLi5jaGlsZFNjaGVtYSxcbiAgICAgICAgICAgICAgICB9KVxuICAgICAgICAgICAgICAgIHJlcXVpcmVkRmllbGRzLmFkZCh0YWIubmFtZSlcbiAgICAgICAgICAgICAgfSBlbHNlIHtcbiAgICAgICAgICAgICAgICBPYmplY3QuZW50cmllcyhjaGlsZFNjaGVtYS5wcm9wZXJ0aWVzKS5mb3JFYWNoKChbcHJvcE5hbWUsIHByb3BTY2hlbWFdKSA9PiB7XG4gICAgICAgICAgICAgICAgICBmaWVsZFNjaGVtYXMuc2V0KHByb3BOYW1lLCBwcm9wU2NoZW1hKVxuICAgICAgICAgICAgICAgIH0pXG4gICAgICAgICAgICAgICAgY2hpbGRTY2hlbWEucmVxdWlyZWQuZm9yRWFjaCgocHJvcE5hbWUpID0+IHtcbiAgICAgICAgICAgICAgICAgIHJlcXVpcmVkRmllbGRzLmFkZChwcm9wTmFtZSlcbiAgICAgICAgICAgICAgICB9KVxuICAgICAgICAgICAgICB9XG4gICAgICAgICAgICB9KVxuICAgICAgICAgICAgYnJlYWtcbiAgICAgICAgICB9XG5cbiAgICAgICAgICBjYXNlICdncm91cCc6IHtcbiAgICAgICAgICAgIGZpZWxkU2NoZW1hID0ge1xuICAgICAgICAgICAgICBhZGRpdGlvbmFsUHJvcGVydGllczogZmFsc2UsXG4gICAgICAgICAgICAgIHR5cGU6ICdvYmplY3QnLFxuICAgICAgICAgICAgICAuLi5maWVsZHNUb0pTT05TY2hlbWEoY29sbGVjdGlvbklERmllbGRUeXBlcywgZmllbGQuZmllbGRzLCBpbnRlcmZhY2VOYW1lRGVmaW5pdGlvbnMpLFxuICAgICAgICAgICAgfVxuXG4gICAgICAgICAgICBpZiAoZmllbGQuaW50ZXJmYWNlTmFtZSkge1xuICAgICAgICAgICAgICBpbnRlcmZhY2VOYW1lRGVmaW5pdGlvbnMuc2V0KGZpZWxkLmludGVyZmFjZU5hbWUsIGZpZWxkU2NoZW1hKVxuXG4gICAgICAgICAgICAgIGZpZWxkU2NoZW1hID0ge1xuICAgICAgICAgICAgICAgICRyZWY6IGAjL2RlZmluaXRpb25zLyR7ZmllbGQuaW50ZXJmYWNlTmFtZX1gLFxuICAgICAgICAgICAgICB9XG4gICAgICAgICAgICB9XG4gICAgICAgICAgICBicmVha1xuICAgICAgICAgIH1cblxuICAgICAgICAgIGRlZmF1bHQ6IHtcbiAgICAgICAgICAgIGJyZWFrXG4gICAgICAgICAgfVxuICAgICAgICB9XG5cbiAgICAgICAgaWYgKGZpZWxkU2NoZW1hICYmIGZpZWxkQWZmZWN0c0RhdGEoZmllbGQpKSB7XG4gICAgICAgICAgZmllbGRTY2hlbWFzLnNldChmaWVsZC5uYW1lLCBmaWVsZFNjaGVtYSlcbiAgICAgICAgfVxuXG4gICAgICAgIHJldHVybiBmaWVsZFNjaGVtYXNcbiAgICAgIH0sIG5ldyBNYXA8c3RyaW5nLCBKU09OU2NoZW1hND4oKSksXG4gICAgKSxcbiAgICByZXF1aXJlZDogQXJyYXkuZnJvbShyZXF1aXJlZEZpZWxkcyksXG4gIH1cbn1cblxuLy8gVGhpcyBmdW5jdGlvbiBpcyBwYXJ0IG9mIHRoZSBwdWJsaWMgQVBJIGFuZCBpcyBleHBvcnRlZCB0aHJvdWdoIHBheWxvYWQvdXRpbGl0aWVzXG5leHBvcnQgZnVuY3Rpb24gZW50aXR5VG9KU09OU2NoZW1hKFxuICBjb25maWc6IFNhbml0aXplZENvbmZpZyxcbiAgaW5jb21pbmdFbnRpdHk6IFNhbml0aXplZENvbGxlY3Rpb25Db25maWcgfCBTYW5pdGl6ZWRHbG9iYWxDb25maWcsXG4gIGludGVyZmFjZU5hbWVEZWZpbml0aW9uczogTWFwPHN0cmluZywgSlNPTlNjaGVtYTQ+LFxuKTogSlNPTlNjaGVtYTQge1xuICBjb25zdCBlbnRpdHk6IFNhbml0aXplZENvbGxlY3Rpb25Db25maWcgfCBTYW5pdGl6ZWRHbG9iYWxDb25maWcgPSBkZWVwQ29weU9iamVjdChpbmNvbWluZ0VudGl0eSlcbiAgY29uc3QgdGl0bGUgPSBlbnRpdHkudHlwZXNjcmlwdD8uaW50ZXJmYWNlXG4gICAgPyBlbnRpdHkudHlwZXNjcmlwdC5pbnRlcmZhY2VcbiAgICA6IHNpbmd1bGFyKHRvV29yZHMoZW50aXR5LnNsdWcsIHRydWUpKVxuXG4gIGNvbnN0IGlkRmllbGQ6IEZpZWxkQWZmZWN0aW5nRGF0YSA9IHsgbmFtZTogJ2lkJywgcmVxdWlyZWQ6IHRydWUsIHR5cGU6ICd0ZXh0JyB9XG4gIGNvbnN0IGN1c3RvbUlkRmllbGQgPSBlbnRpdHkuZmllbGRzLmZpbmQoXG4gICAgKGZpZWxkKSA9PiBmaWVsZEFmZmVjdHNEYXRhKGZpZWxkKSAmJiBmaWVsZC5uYW1lID09PSAnaWQnLFxuICApIGFzIEZpZWxkQWZmZWN0aW5nRGF0YVxuXG4gIGlmIChjdXN0b21JZEZpZWxkICYmIGN1c3RvbUlkRmllbGQudHlwZSAhPT0gJ2dyb3VwJyAmJiBjdXN0b21JZEZpZWxkLnR5cGUgIT09ICd0YWInKSB7XG4gICAgY3VzdG9tSWRGaWVsZC5yZXF1aXJlZCA9IHRydWVcbiAgfSBlbHNlIHtcbiAgICBlbnRpdHkuZmllbGRzLnVuc2hpZnQoaWRGaWVsZClcbiAgfVxuXG4gIC8vIG1hcmsgdGltZXN0YW1wIGZpZWxkcyByZXF1aXJlZFxuICBpZiAoJ3RpbWVzdGFtcHMnIGluIGVudGl0eSAmJiBlbnRpdHkudGltZXN0YW1wcyAhPT0gZmFsc2UpIHtcbiAgICBlbnRpdHkuZmllbGRzID0gZW50aXR5LmZpZWxkcy5tYXAoKGZpZWxkKSA9PiB7XG4gICAgICBpZiAoZmllbGRBZmZlY3RzRGF0YShmaWVsZCkgJiYgKGZpZWxkLm5hbWUgPT09ICdjcmVhdGVkQXQnIHx8IGZpZWxkLm5hbWUgPT09ICd1cGRhdGVkQXQnKSkge1xuICAgICAgICByZXR1cm4ge1xuICAgICAgICAgIC4uLmZpZWxkLFxuICAgICAgICAgIHJlcXVpcmVkOiB0cnVlLFxuICAgICAgICB9XG4gICAgICB9XG4gICAgICByZXR1cm4gZmllbGRcbiAgICB9KVxuICB9XG5cbiAgaWYgKCdhdXRoJyBpbiBlbnRpdHkgJiYgZW50aXR5LmF1dGggJiYgIWVudGl0eS5hdXRoPy5kaXNhYmxlTG9jYWxTdHJhdGVneSkge1xuICAgIGVudGl0eS5maWVsZHMucHVzaCh7XG4gICAgICBuYW1lOiAncGFzc3dvcmQnLFxuICAgICAgdHlwZTogJ3RleHQnLFxuICAgIH0pXG4gIH1cblxuICAvLyB1c2VkIGZvciByZWxhdGlvbnNoaXAgZmllbGRzLCB0byBkZXRlcm1pbmUgd2hldGhlciB0byB1c2UgYSBzdHJpbmcgb3IgbnVtYmVyIHR5cGUgZm9yIHRoZSBJRFxuICBjb25zdCBjb2xsZWN0aW9uSURGaWVsZFR5cGVzOiB7IFtrZXk6IHN0cmluZ106ICdudW1iZXInIHwgJ3N0cmluZycgfSA9IGNvbmZpZy5jb2xsZWN0aW9ucy5yZWR1Y2UoXG4gICAgKGFjYywgY29sbGVjdGlvbikgPT4ge1xuICAgICAgY29uc3QgY3VzdG9tQ29sbGVjdGlvbklkRmllbGQgPSBjb2xsZWN0aW9uLmZpZWxkcy5maW5kKFxuICAgICAgICAoZmllbGQpID0+ICduYW1lJyBpbiBmaWVsZCAmJiBmaWVsZC5uYW1lID09PSAnaWQnLFxuICAgICAgKVxuXG4gICAgICBhY2NbY29sbGVjdGlvbi5zbHVnXSA9IGN1c3RvbUNvbGxlY3Rpb25JZEZpZWxkPy50eXBlID09PSAnbnVtYmVyJyA/ICdudW1iZXInIDogJ3N0cmluZydcblxuICAgICAgcmV0dXJuIGFjY1xuICAgIH0sXG4gICAge30sXG4gIClcblxuICByZXR1cm4ge1xuICAgIGFkZGl0aW9uYWxQcm9wZXJ0aWVzOiBmYWxzZSxcbiAgICB0aXRsZSxcbiAgICB0eXBlOiAnb2JqZWN0JyxcbiAgICAuLi5maWVsZHNUb0pTT05TY2hlbWEoY29sbGVjdGlvbklERmllbGRUeXBlcywgZW50aXR5LmZpZWxkcywgaW50ZXJmYWNlTmFtZURlZmluaXRpb25zKSxcbiAgfVxufVxuXG5leHBvcnQgZnVuY3Rpb24gY29uZmlnVG9KU09OU2NoZW1hKGNvbmZpZzogU2FuaXRpemVkQ29uZmlnKTogSlNPTlNjaGVtYTQge1xuICAvLyBhIG11dGFibGUgTWFwIHRvIHN0b3JlIGN1c3RvbSB0b3AtbGV2ZWwgYGludGVyZmFjZU5hbWVgIHR5cGVzXG4gIGNvbnN0IGludGVyZmFjZU5hbWVEZWZpbml0aW9uczogTWFwPHN0cmluZywgSlNPTlNjaGVtYTQ+ID0gbmV3IE1hcCgpXG4gIGNvbnN0IGVudGl0eURlZmluaXRpb25zOiB7IFtrOiBzdHJpbmddOiBKU09OU2NoZW1hNCB9ID0gW1xuICAgIC4uLmNvbmZpZy5nbG9iYWxzLFxuICAgIC4uLmNvbmZpZy5jb2xsZWN0aW9ucyxcbiAgXS5yZWR1Y2UoKGFjYywgZW50aXR5KSA9PiB7XG4gICAgYWNjW2VudGl0eS5zbHVnXSA9IGVudGl0eVRvSlNPTlNjaGVtYShjb25maWcsIGVudGl0eSwgaW50ZXJmYWNlTmFtZURlZmluaXRpb25zKVxuICAgIHJldHVybiBhY2NcbiAgfSwge30pXG5cbiAgcmV0dXJuIHtcbiAgICBhZGRpdGlvbmFsUHJvcGVydGllczogZmFsc2UsXG4gICAgZGVmaW5pdGlvbnM6IHsgLi4uZW50aXR5RGVmaW5pdGlvbnMsIC4uLk9iamVjdC5mcm9tRW50cmllcyhpbnRlcmZhY2VOYW1lRGVmaW5pdGlvbnMpIH0sXG4gICAgcHJvcGVydGllczoge1xuICAgICAgY29sbGVjdGlvbnM6IGdlbmVyYXRlRW50aXR5U2NoZW1hcyhjb25maWcuY29sbGVjdGlvbnMpLFxuICAgICAgZ2xvYmFsczogZ2VuZXJhdGVFbnRpdHlTY2hlbWFzKGNvbmZpZy5nbG9iYWxzKSxcbiAgICB9LFxuICAgIHJlcXVpcmVkOiBbJ2NvbGxlY3Rpb25zJywgJ2dsb2JhbHMnXSxcbiAgICB0aXRsZTogJ0NvbmZpZycsXG4gICAgdHlwZTogJ29iamVjdCcsXG4gIH1cbn1cbiJdLCJuYW1lcyI6WyJlbnRpdHlUb0pTT05TY2hlbWEiLCJjb25maWdUb0pTT05TY2hlbWEiLCJwcm9wZXJ0eUlzUmVxdWlyZWQiLCJmaWVsZCIsImZpZWxkQWZmZWN0c0RhdGEiLCJyZXF1aXJlZCIsInR5cGUiLCJhZG1pbiIsImNvbmRpdGlvbiIsImFjY2VzcyIsInJlYWQiLCJmaWVsZHMiLCJmaW5kIiwic3ViRmllbGQiLCJ0YWJzIiwic29tZSIsInRhYiIsInJldHVybk9wdGlvbkVudW1zIiwib3B0aW9ucyIsIm1hcCIsIm9wdGlvbiIsInZhbHVlIiwiZ2VuZXJhdGVFbnRpdHlTY2hlbWFzIiwiZW50aXRpZXMiLCJwcm9wZXJ0aWVzIiwicmVkdWNlIiwiYWNjIiwic2x1ZyIsIiRyZWYiLCJhZGRpdGlvbmFsUHJvcGVydGllcyIsIk9iamVjdCIsImtleXMiLCJmaWVsZHNUb0pTT05TY2hlbWEiLCJjb2xsZWN0aW9uSURGaWVsZFR5cGVzIiwiaW50ZXJmYWNlTmFtZURlZmluaXRpb25zIiwicmVxdWlyZWRGaWVsZHMiLCJTZXQiLCJmaWx0ZXIiLCJuYW1lIiwiZnJvbUVudHJpZXMiLCJmaWVsZFNjaGVtYXMiLCJmaWVsZFNjaGVtYSIsImhhc01hbnkiLCJpdGVtcyIsIm9uZU9mIiwiZW51bSIsInNlbGVjdFR5cGUiLCJtYXhJdGVtcyIsIm1pbkl0ZW1zIiwiQXJyYXkiLCJpc0FycmF5IiwicmVsYXRpb25UbyIsInJlbGF0aW9uIiwiY29uc3QiLCJibG9ja3MiLCJibG9jayIsImJsb2NrRmllbGRTY2hlbWFzIiwiYmxvY2tTY2hlbWEiLCJibG9ja1R5cGUiLCJpbnRlcmZhY2VOYW1lIiwic2V0IiwiY2hpbGRTY2hlbWEiLCJlbnRyaWVzIiwiZm9yRWFjaCIsInByb3BOYW1lIiwicHJvcFNjaGVtYSIsImFkZCIsInRhYkhhc05hbWUiLCJNYXAiLCJmcm9tIiwiY29uZmlnIiwiaW5jb21pbmdFbnRpdHkiLCJlbnRpdHkiLCJkZWVwQ29weU9iamVjdCIsInRpdGxlIiwidHlwZXNjcmlwdCIsImludGVyZmFjZSIsInNpbmd1bGFyIiwidG9Xb3JkcyIsImlkRmllbGQiLCJjdXN0b21JZEZpZWxkIiwidW5zaGlmdCIsInRpbWVzdGFtcHMiLCJhdXRoIiwiZGlzYWJsZUxvY2FsU3RyYXRlZ3kiLCJwdXNoIiwiY29sbGVjdGlvbnMiLCJjb2xsZWN0aW9uIiwiY3VzdG9tQ29sbGVjdGlvbklkRmllbGQiLCJlbnRpdHlEZWZpbml0aW9ucyIsImdsb2JhbHMiLCJkZWZpbml0aW9ucyJdLCJtYXBwaW5ncyI6Ijs7Ozs7Ozs7Ozs7SUFrYmdCQSxrQkFBa0I7ZUFBbEJBOztJQStEQUMsa0JBQWtCO2VBQWxCQTs7OzJCQS9lUzt1QkFPb0I7Z0NBQ2Q7OEJBQ1A7QUFFeEIsTUFBTUMscUJBQXFCLENBQUNDO0lBQzFCLElBQUlDLElBQUFBLHVCQUFnQixFQUFDRCxVQUFVLGNBQWNBLFNBQVNBLE1BQU1FLFFBQVEsS0FBSyxNQUFNLE9BQU87SUFFdEYsSUFBSSxZQUFZRixTQUFTQSxNQUFNRyxJQUFJLEtBQUssU0FBUztRQUMvQyxJQUFJSCxNQUFNSSxLQUFLLEVBQUVDLGFBQWFMLE1BQU1NLE1BQU0sRUFBRUMsTUFBTSxPQUFPO1FBQ3pELE9BQU9QLE1BQU1RLE1BQU0sQ0FBQ0MsSUFBSSxDQUFDLENBQUNDLFdBQWFYLG1CQUFtQlc7SUFDNUQ7SUFFQSxJQUFJVixNQUFNRyxJQUFJLEtBQUssUUFBUTtRQUN6QixPQUFPSCxNQUFNVyxJQUFJLENBQUNDLElBQUksQ0FDcEIsQ0FBQ0MsTUFBUSxVQUFVQSxPQUFPQSxJQUFJTCxNQUFNLENBQUNDLElBQUksQ0FBQyxDQUFDQyxXQUFhWCxtQkFBbUJXO0lBRS9FO0lBRUEsT0FBTztBQUNUO0FBRUEsU0FBU0ksa0JBQWtCQyxPQUFpQjtJQUMxQyxPQUFPQSxRQUFRQyxHQUFHLENBQUMsQ0FBQ0M7UUFDbEIsSUFBSSxPQUFPQSxXQUFXLFlBQVksV0FBV0EsUUFBUTtZQUNuRCxPQUFPQSxPQUFPQyxLQUFLO1FBQ3JCO1FBRUEsT0FBT0Q7SUFDVDtBQUNGO0FBRUE7O0NBRUMsR0FDRCxTQUFTRSxzQkFDUEMsUUFBK0Q7SUFF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
498
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIi4uLy4uL3NyYy91dGlsaXRpZXMvY29uZmlnVG9KU09OU2NoZW1hLnRzIl0sInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB0eXBlIHsgSlNPTlNjaGVtYTQgfSBmcm9tICdqc29uLXNjaGVtYSdcblxuaW1wb3J0IHsgc2luZ3VsYXIgfSBmcm9tICdwbHVyYWxpemUnXG5cbmltcG9ydCB0eXBlIHsgU2FuaXRpemVkQ29sbGVjdGlvbkNvbmZpZyB9IGZyb20gJy4uL2NvbGxlY3Rpb25zL2NvbmZpZy90eXBlcydcbmltcG9ydCB0eXBlIHsgU2FuaXRpemVkQ29uZmlnIH0gZnJvbSAnLi4vZXhwb3J0cy9jb25maWcnXG5pbXBvcnQgdHlwZSB7IEZpZWxkLCBGaWVsZEFmZmVjdGluZ0RhdGEsIE9wdGlvbiB9IGZyb20gJy4uL2ZpZWxkcy9jb25maWcvdHlwZXMnXG5pbXBvcnQgdHlwZSB7IFNhbml0aXplZEdsb2JhbENvbmZpZyB9IGZyb20gJy4uL2dsb2JhbHMvY29uZmlnL3R5cGVzJ1xuXG5pbXBvcnQgeyBmaWVsZEFmZmVjdHNEYXRhLCB0YWJIYXNOYW1lIH0gZnJvbSAnLi4vZmllbGRzL2NvbmZpZy90eXBlcydcbmltcG9ydCB7IGRlZXBDb3B5T2JqZWN0IH0gZnJvbSAnLi9kZWVwQ29weU9iamVjdCdcbmltcG9ydCB7IHRvV29yZHMgfSBmcm9tICcuL2Zvcm1hdExhYmVscydcblxuY29uc3QgcHJvcGVydHlJc1JlcXVpcmVkID0gKGZpZWxkOiBGaWVsZCkgPT4ge1xuICBpZiAoZmllbGRBZmZlY3RzRGF0YShmaWVsZCkgJiYgJ3JlcXVpcmVkJyBpbiBmaWVsZCAmJiBmaWVsZC5yZXF1aXJlZCA9PT0gdHJ1ZSkgcmV0dXJuIHRydWVcblxuICBpZiAoJ2ZpZWxkcycgaW4gZmllbGQgJiYgZmllbGQudHlwZSAhPT0gJ2FycmF5Jykge1xuICAgIGlmIChmaWVsZC5hZG1pbj8uY29uZGl0aW9uIHx8IGZpZWxkLmFjY2Vzcz8ucmVhZCkgcmV0dXJuIGZhbHNlXG4gICAgcmV0dXJuIGZpZWxkLmZpZWxkcy5maW5kKChzdWJGaWVsZCkgPT4gcHJvcGVydHlJc1JlcXVpcmVkKHN1YkZpZWxkKSlcbiAgfVxuXG4gIGlmIChmaWVsZC50eXBlID09PSAndGFicycpIHtcbiAgICByZXR1cm4gZmllbGQudGFicy5zb21lKFxuICAgICAgKHRhYikgPT4gJ25hbWUnIGluIHRhYiAmJiB0YWIuZmllbGRzLmZpbmQoKHN1YkZpZWxkKSA9PiBwcm9wZXJ0eUlzUmVxdWlyZWQoc3ViRmllbGQpKSxcbiAgICApXG4gIH1cblxuICByZXR1cm4gZmFsc2Vcbn1cblxuZnVuY3Rpb24gcmV0dXJuT3B0aW9uRW51bXMob3B0aW9uczogT3B0aW9uW10pOiBzdHJpbmdbXSB7XG4gIHJldHVybiBvcHRpb25zLm1hcCgob3B0aW9uKSA9PiB7XG4gICAgaWYgKHR5cGVvZiBvcHRpb24gPT09ICdvYmplY3QnICYmICd2YWx1ZScgaW4gb3B0aW9uKSB7XG4gICAgICByZXR1cm4gb3B0aW9uLnZhbHVlXG4gICAgfVxuXG4gICAgcmV0dXJuIG9wdGlvblxuICB9KVxufVxuXG4vKipcbiAqIFRoaXMgaXMgdXNlZCBmb3IgZ2VuZXJhdGluZyB0aGUgVHlwZVNjcmlwdCB0eXBlcyAocGF5bG9hZC10eXBlcy50cykgd2l0aCB0aGUgcGF5bG9hZCBnZW5lcmF0ZTp0eXBlcyBjb21tYW5kLlxuICovXG5mdW5jdGlvbiBnZW5lcmF0ZUVudGl0eVNjaGVtYXMoXG4gIGVudGl0aWVzOiAoU2FuaXRpemVkQ29sbGVjdGlvbkNvbmZpZyB8IFNhbml0aXplZEdsb2JhbENvbmZpZylbXSxcbik6IEpTT05TY2hlbWE0IHtcbiAgY29uc3QgcHJvcGVydGllcyA9IFsuLi5lbnRpdGllc10ucmVkdWNlKChhY2MsIHsgc2x1ZyB9KSA9PiB7XG4gICAgYWNjW3NsdWddID0ge1xuICAgICAgJHJlZjogYCMvZGVmaW5pdGlvbnMvJHtzbHVnfWAsXG4gICAgfVxuXG4gICAgcmV0dXJuIGFjY1xuICB9LCB7fSlcblxuICByZXR1cm4ge1xuICAgIGFkZGl0aW9uYWxQcm9wZXJ0aWVzOiBmYWxzZSxcbiAgICBwcm9wZXJ0aWVzLFxuICAgIHJlcXVpcmVkOiBPYmplY3Qua2V5cyhwcm9wZXJ0aWVzKSxcbiAgICB0eXBlOiAnb2JqZWN0JyxcbiAgfVxufVxuXG5mdW5jdGlvbiBmaWVsZHNUb0pTT05TY2hlbWEoXG4gIGNvbGxlY3Rpb25JREZpZWxkVHlwZXM6IHsgW2tleTogc3RyaW5nXTogJ251bWJlcicgfCAnc3RyaW5nJyB9LFxuICBmaWVsZHM6IEZpZWxkW10sXG4gIGludGVyZmFjZU5hbWVEZWZpbml0aW9uczogTWFwPHN0cmluZywgSlNPTlNjaGVtYTQ+LFxuKToge1xuICBwcm9wZXJ0aWVzOiB7XG4gICAgW2s6IHN0cmluZ106IEpTT05TY2hlbWE0XG4gIH1cbiAgcmVxdWlyZWQ6IHN0cmluZ1tdXG59IHtcbiAgLy8gcmVxdWlyZWQgZmllbGRzIGZvciBhIHNjaGVtYSAoY291bGQgYmUgZm9yIGEgbmVzdGVkIHNjaGVtYSlcbiAgY29uc3QgcmVxdWlyZWRGaWVsZHMgPSBuZXcgU2V0PHN0cmluZz4oXG4gICAgZmllbGRzLmZpbHRlcihwcm9wZXJ0eUlzUmVxdWlyZWQpLm1hcCgoZmllbGQpID0+IChmaWVsZEFmZmVjdHNEYXRhKGZpZWxkKSA/IGZpZWxkLm5hbWUgOiAnJykpLFxuICApXG5cbiAgcmV0dXJuIHtcbiAgICBwcm9wZXJ0aWVzOiBPYmplY3QuZnJvbUVudHJpZXMoXG4gICAgICBmaWVsZHMucmVkdWNlKChmaWVsZFNjaGVtYXMsIGZpZWxkKSA9PiB7XG4gICAgICAgIGxldCBmaWVsZFNjaGVtYTogSlNPTlNjaGVtYTRcbiAgICAgICAgc3dpdGNoIChmaWVsZC50eXBlKSB7XG4gICAgICAgICAgY2FzZSAndGV4dCc6XG4gICAgICAgICAgY2FzZSAndGV4dGFyZWEnOlxuICAgICAgICAgIGNhc2UgJ2NvZGUnOlxuICAgICAgICAgIGNhc2UgJ2VtYWlsJzpcbiAgICAgICAgICBjYXNlICdkYXRlJzoge1xuICAgICAgICAgICAgZmllbGRTY2hlbWEgPSB7IHR5cGU6ICdzdHJpbmcnIH1cbiAgICAgICAgICAgIGJyZWFrXG4gICAgICAgICAgfVxuXG4gICAgICAgICAgY2FzZSAnbnVtYmVyJzoge1xuICAgICAgICAgICAgaWYgKGZpZWxkLmhhc01hbnkgPT09IHRydWUpIHtcbiAgICAgICAgICAgICAgZmllbGRTY2hlbWEgPSB7IGl0ZW1zOiB7IHR5cGU6ICdudW1iZXInIH0sIHR5cGU6ICdhcnJheScgfVxuICAgICAgICAgICAgfSBlbHNlIHtcbiAgICAgICAgICAgICAgZmllbGRTY2hlbWEgPSB7IHR5cGU6ICdudW1iZXInIH1cbiAgICAgICAgICAgIH1cbiAgICAgICAgICAgIGJyZWFrXG4gICAgICAgICAgfVxuXG4gICAgICAgICAgY2FzZSAnY2hlY2tib3gnOiB7XG4gICAgICAgICAgICBmaWVsZFNjaGVtYSA9IHsgdHlwZTogJ2Jvb2xlYW4nIH1cbiAgICAgICAgICAgIGJyZWFrXG4gICAgICAgICAgfVxuXG4gICAgICAgICAgY2FzZSAnanNvbic6IHtcbiAgICAgICAgICAgIC8vIGh0dHBzOi8vd3d3LnJmYy1lZGl0b3Iub3JnL3JmYy9yZmM3MTU5I3NlY3Rpb24tM1xuICAgICAgICAgICAgZmllbGRTY2hlbWEgPSB7XG4gICAgICAgICAgICAgIG9uZU9mOiBbXG4gICAgICAgICAgICAgICAgeyB0eXBlOiAnb2JqZWN0JyB9LFxuICAgICAgICAgICAgICAgIHsgdHlwZTogJ2FycmF5JyB9LFxuICAgICAgICAgICAgICAgIHsgdHlwZTogJ3N0cmluZycgfSxcbiAgICAgICAgICAgICAgICB7IHR5cGU6ICdudW1iZXInIH0sXG4gICAgICAgICAgICAgICAgeyB0eXBlOiAnYm9vbGVhbicgfSxcbiAgICAgICAgICAgICAgICB7IHR5cGU6ICdudWxsJyB9LFxuICAgICAgICAgICAgICBdLFxuICAgICAgICAgICAgfVxuICAgICAgICAgICAgYnJlYWtcbiAgICAgICAgICB9XG5cbiAgICAgICAgICBjYXNlICdyaWNoVGV4dCc6IHtcbiAgICAgICAgICAgIGZpZWxkU2NoZW1hID0ge1xuICAgICAgICAgICAgICBpdGVtczoge1xuICAgICAgICAgICAgICAgIHR5cGU6ICdvYmplY3QnLFxuICAgICAgICAgICAgICB9LFxuICAgICAgICAgICAgICB0eXBlOiAnYXJyYXknLFxuICAgICAgICAgICAgfVxuXG4gICAgICAgICAgICBicmVha1xuICAgICAgICAgIH1cblxuICAgICAgICAgIGNhc2UgJ3JhZGlvJzoge1xuICAgICAgICAgICAgZmllbGRTY2hlbWEgPSB7XG4gICAgICAgICAgICAgIGVudW06IHJldHVybk9wdGlvbkVudW1zKGZpZWxkLm9wdGlvbnMpLFxuICAgICAgICAgICAgICB0eXBlOiAnc3RyaW5nJyxcbiAgICAgICAgICAgIH1cblxuICAgICAgICAgICAgYnJlYWtcbiAgICAgICAgICB9XG5cbiAgICAgICAgICBjYXNlICdzZWxlY3QnOiB7XG4gICAgICAgICAgICBjb25zdCBzZWxlY3RUeXBlOiBKU09OU2NoZW1hNCA9IHtcbiAgICAgICAgICAgICAgZW51bTogcmV0dXJuT3B0aW9uRW51bXMoZmllbGQub3B0aW9ucyksXG4gICAgICAgICAgICAgIHR5cGU6ICdzdHJpbmcnLFxuICAgICAgICAgICAgfVxuXG4gICAgICAgICAgICBpZiAoZmllbGQuaGFzTWFueSkge1xuICAgICAgICAgICAgICBmaWVsZFNjaGVtYSA9IHtcbiAgICAgICAgICAgICAgICBpdGVtczogc2VsZWN0VHlwZSxcbiAgICAgICAgICAgICAgICB0eXBlOiAnYXJyYXknLFxuICAgICAgICAgICAgICB9XG4gICAgICAgICAgICB9IGVsc2Uge1xuICAgICAgICAgICAgICBmaWVsZFNjaGVtYSA9IHNlbGVjdFR5cGVcbiAgICAgICAgICAgIH1cblxuICAgICAgICAgICAgYnJlYWtcbiAgICAgICAgICB9XG5cbiAgICAgICAgICBjYXNlICdwb2ludCc6IHtcbiAgICAgICAgICAgIGZpZWxkU2NoZW1hID0ge1xuICAgICAgICAgICAgICBpdGVtczogW1xuICAgICAgICAgICAgICAgIHtcbiAgICAgICAgICAgICAgICAgIHR5cGU6ICdudW1iZXInLFxuICAgICAgICAgICAgICAgIH0sXG4gICAgICAgICAgICAgICAge1xuICAgICAgICAgICAgICAgICAgdHlwZTogJ251bWJlcicsXG4gICAgICAgICAgICAgICAgfSxcbiAgICAgICAgICAgICAgXSxcbiAgICAgICAgICAgICAgbWF4SXRlbXM6IDIsXG4gICAgICAgICAgICAgIG1pbkl0ZW1zOiAyLFxuICAgICAgICAgICAgICB0eXBlOiAnYXJyYXknLFxuICAgICAgICAgICAgfVxuICAgICAgICAgICAgYnJlYWtcbiAgICAgICAgICB9XG5cbiAgICAgICAgICBjYXNlICdyZWxhdGlvbnNoaXAnOiB7XG4gICAgICAgICAgICBpZiAoQXJyYXkuaXNBcnJheShmaWVsZC5yZWxhdGlvblRvKSkge1xuICAgICAgICAgICAgICBpZiAoZmllbGQuaGFzTWFueSkge1xuICAgICAgICAgICAgICAgIGZpZWxkU2NoZW1hID0ge1xuICAgICAgICAgICAgICAgICAgb25lT2Y6IFtcbiAgICAgICAgICAgICAgICAgICAge1xuICAgICAgICAgICAgICAgICAgICAgIGl0ZW1zOiB7XG4gICAgICAgICAgICAgICAgICAgICAgICBvbmVPZjogZmllbGQucmVsYXRpb25Uby5tYXAoKHJlbGF0aW9uKSA9PiB7XG4gICAgICAgICAgICAgICAgICAgICAgICAgIHJldHVybiB7XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgYWRkaXRpb25hbFByb3BlcnRpZXM6IGZhbHNlLFxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIHByb3BlcnRpZXM6IHtcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHJlbGF0aW9uVG86IHtcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgY29uc3Q6IHJlbGF0aW9uLFxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgfSxcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHZhbHVlOiB7XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHR5cGU6IGNvbGxlY3Rpb25JREZpZWxkVHlwZXNbcmVsYXRpb25dLFxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgfSxcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICB9LFxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIHJlcXVpcmVkOiBbJ3ZhbHVlJywgJ3JlbGF0aW9uVG8nXSxcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICB0eXBlOiAnb2JqZWN0JyxcbiAgICAgICAgICAgICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgICAgICAgICAgICAgfSksXG4gICAgICAgICAgICAgICAgICAgICAgfSxcbiAgICAgICAgICAgICAgICAgICAgICB0eXBlOiAnYXJyYXknLFxuICAgICAgICAgICAgICAgICAgICB9LFxuICAgICAgICAgICAgICAgICAgICB7XG4gICAgICAgICAgICAgICAgICAgICAgaXRlbXM6IHtcbiAgICAgICAgICAgICAgICAgICAgICAgIG9uZU9mOiBmaWVsZC5yZWxhdGlvblRvLm1hcCgocmVsYXRpb24pID0+IHtcbiAgICAgICAgICAgICAgICAgICAgICAgICAgcmV0dXJuIHtcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICBhZGRpdGlvbmFsUHJvcGVydGllczogZmFsc2UsXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgcHJvcGVydGllczoge1xuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgcmVsYXRpb25Ubzoge1xuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBjb25zdDogcmVsYXRpb24sXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICB9LFxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgdmFsdWU6IHtcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgJHJlZjogYCMvZGVmaW5pdGlvbnMvJHtyZWxhdGlvbn1gLFxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgfSxcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICB9LFxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIHJlcXVpcmVkOiBbJ3ZhbHVlJywgJ3JlbGF0aW9uVG8nXSxcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICB0eXBlOiAnb2JqZWN0JyxcbiAgICAgICAgICAgICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgICAgICAgICAgICAgfSksXG4gICAgICAgICAgICAgICAgICAgICAgfSxcbiAgICAgICAgICAgICAgICAgICAgICB0eXBlOiAnYXJyYXknLFxuICAgICAgICAgICAgICAgICAgICB9LFxuICAgICAgICAgICAgICAgICAgXSxcbiAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICAgIH0gZWxzZSB7XG4gICAgICAgICAgICAgICAgZmllbGRTY2hlbWEgPSB7XG4gICAgICAgICAgICAgICAgICBvbmVPZjogZmllbGQucmVsYXRpb25Uby5tYXAoKHJlbGF0aW9uKSA9PiB7XG4gICAgICAgICAgICAgICAgICAgIHJldHVybiB7XG4gICAgICAgICAgICAgICAgICAgICAgYWRkaXRpb25hbFByb3BlcnRpZXM6IGZhbHNlLFxuICAgICAgICAgICAgICAgICAgICAgIHByb3BlcnRpZXM6IHtcbiAgICAgICAgICAgICAgICAgICAgICAgIHJlbGF0aW9uVG86IHtcbiAgICAgICAgICAgICAgICAgICAgICAgICAgY29uc3Q6IHJlbGF0aW9uLFxuICAgICAgICAgICAgICAgICAgICAgICAgfSxcbiAgICAgICAgICAgICAgICAgICAgICAgIHZhbHVlOiB7XG4gICAgICAgICAgICAgICAgICAgICAgICAgIG9uZU9mOiBbXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAge1xuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgdHlwZTogY29sbGVjdGlvbklERmllbGRUeXBlc1tyZWxhdGlvbl0sXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgfSxcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICB7XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAkcmVmOiBgIy9kZWZpbml0aW9ucy8ke3JlbGF0aW9ufWAsXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgfSxcbiAgICAgICAgICAgICAgICAgICAgICAgICAgXSxcbiAgICAgICAgICAgICAgICAgICAgICAgIH0sXG4gICAgICAgICAgICAgICAgICAgICAgfSxcbiAgICAgICAgICAgICAgICAgICAgICByZXF1aXJlZDogWyd2YWx1ZScsICdyZWxhdGlvblRvJ10sXG4gICAgICAgICAgICAgICAgICAgICAgdHlwZTogJ29iamVjdCcsXG4gICAgICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgICAgICAgIH0pLFxuICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgfSBlbHNlIGlmIChmaWVsZC5oYXNNYW55KSB7XG4gICAgICAgICAgICAgIGZpZWxkU2NoZW1hID0ge1xuICAgICAgICAgICAgICAgIG9uZU9mOiBbXG4gICAgICAgICAgICAgICAgICB7XG4gICAgICAgICAgICAgICAgICAgIGl0ZW1zOiB7XG4gICAgICAgICAgICAgICAgICAgICAgdHlwZTogY29sbGVjdGlvbklERmllbGRUeXBlc1tmaWVsZC5yZWxhdGlvblRvXSxcbiAgICAgICAgICAgICAgICAgICAgfSxcbiAgICAgICAgICAgICAgICAgICAgdHlwZTogJ2FycmF5JyxcbiAgICAgICAgICAgICAgICAgIH0sXG4gICAgICAgICAgICAgICAgICB7XG4gICAgICAgICAgICAgICAgICAgIGl0ZW1zOiB7XG4gICAgICAgICAgICAgICAgICAgICAgJHJlZjogYCMvZGVmaW5pdGlvbnMvJHtmaWVsZC5yZWxhdGlvblRvfWAsXG4gICAgICAgICAgICAgICAgICAgIH0sXG4gICAgICAgICAgICAgICAgICAgIHR5cGU6ICdhcnJheScsXG4gICAgICAgICAgICAgICAgICB9LFxuICAgICAgICAgICAgICAgIF0sXG4gICAgICAgICAgICAgIH1cbiAgICAgICAgICAgIH0gZWxzZSB7XG4gICAgICAgICAgICAgIGZpZWxkU2NoZW1hID0ge1xuICAgICAgICAgICAgICAgIG9uZU9mOiBbXG4gICAgICAgICAgICAgICAgICB7XG4gICAgICAgICAgICAgICAgICAgIHR5cGU6IGNvbGxlY3Rpb25JREZpZWxkVHlwZXNbZmllbGQucmVsYXRpb25Ub10sXG4gICAgICAgICAgICAgICAgICB9LFxuICAgICAgICAgICAgICAgICAge1xuICAgICAgICAgICAgICAgICAgICAkcmVmOiBgIy9kZWZpbml0aW9ucy8ke2ZpZWxkLnJlbGF0aW9uVG99YCxcbiAgICAgICAgICAgICAgICAgIH0sXG4gICAgICAgICAgICAgICAgXSxcbiAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgfVxuXG4gICAgICAgICAgICBicmVha1xuICAgICAgICAgIH1cblxuICAgICAgICAgIGNhc2UgJ3VwbG9hZCc6IHtcbiAgICAgICAgICAgIGZpZWxkU2NoZW1hID0ge1xuICAgICAgICAgICAgICBvbmVPZjogW1xuICAgICAgICAgICAgICAgIHtcbiAgICAgICAgICAgICAgICAgIHR5cGU6IGNvbGxlY3Rpb25JREZpZWxkVHlwZXNbZmllbGQucmVsYXRpb25Ub10sXG4gICAgICAgICAgICAgICAgfSxcbiAgICAgICAgICAgICAgICB7XG4gICAgICAgICAgICAgICAgICAkcmVmOiBgIy9kZWZpbml0aW9ucy8ke2ZpZWxkLnJlbGF0aW9uVG99YCxcbiAgICAgICAgICAgICAgICB9LFxuICAgICAgICAgICAgICBdLFxuICAgICAgICAgICAgfVxuICAgICAgICAgICAgYnJlYWtcbiAgICAgICAgICB9XG5cbiAgICAgICAgICBjYXNlICdibG9ja3MnOiB7XG4gICAgICAgICAgICBmaWVsZFNjaGVtYSA9IHtcbiAgICAgICAgICAgICAgaXRlbXM6IHtcbiAgICAgICAgICAgICAgICBvbmVPZjogZmllbGQuYmxvY2tzLm1hcCgoYmxvY2spID0+IHtcbiAgICAgICAgICAgICAgICAgIGNvbnN0IGJsb2NrRmllbGRTY2hlbWFzID0gZmllbGRzVG9KU09OU2NoZW1hKFxuICAgICAgICAgICAgICAgICAgICBjb2xsZWN0aW9uSURGaWVsZFR5cGVzLFxuICAgICAgICAgICAgICAgICAgICBibG9jay5maWVsZHMsXG4gICAgICAgICAgICAgICAgICAgIGludGVyZmFjZU5hbWVEZWZpbml0aW9ucyxcbiAgICAgICAgICAgICAgICAgIClcblxuICAgICAgICAgICAgICAgICAgY29uc3QgYmxvY2tTY2hlbWE6IEpTT05TY2hlbWE0ID0ge1xuICAgICAgICAgICAgICAgICAgICBhZGRpdGlvbmFsUHJvcGVydGllczogZmFsc2UsXG4gICAgICAgICAgICAgICAgICAgIHByb3BlcnRpZXM6IHtcbiAgICAgICAgICAgICAgICAgICAgICAuLi5ibG9ja0ZpZWxkU2NoZW1hcy5wcm9wZXJ0aWVzLFxuICAgICAgICAgICAgICAgICAgICAgIGJsb2NrVHlwZToge1xuICAgICAgICAgICAgICAgICAgICAgICAgY29uc3Q6IGJsb2NrLnNsdWcsXG4gICAgICAgICAgICAgICAgICAgICAgfSxcbiAgICAgICAgICAgICAgICAgICAgfSxcbiAgICAgICAgICAgICAgICAgICAgcmVxdWlyZWQ6IFsnYmxvY2tUeXBlJywgLi4uYmxvY2tGaWVsZFNjaGVtYXMucmVxdWlyZWRdLFxuICAgICAgICAgICAgICAgICAgICB0eXBlOiAnb2JqZWN0JyxcbiAgICAgICAgICAgICAgICAgIH1cblxuICAgICAgICAgICAgICAgICAgaWYgKGJsb2NrLmludGVyZmFjZU5hbWUpIHtcbiAgICAgICAgICAgICAgICAgICAgaW50ZXJmYWNlTmFtZURlZmluaXRpb25zLnNldChibG9jay5pbnRlcmZhY2VOYW1lLCBibG9ja1NjaGVtYSlcblxuICAgICAgICAgICAgICAgICAgICByZXR1cm4ge1xuICAgICAgICAgICAgICAgICAgICAgICRyZWY6IGAjL2RlZmluaXRpb25zLyR7YmxvY2suaW50ZXJmYWNlTmFtZX1gLFxuICAgICAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICAgICAgICB9XG5cbiAgICAgICAgICAgICAgICAgIHJldHVybiBibG9ja1NjaGVtYVxuICAgICAgICAgICAgICAgIH0pLFxuICAgICAgICAgICAgICB9LFxuICAgICAgICAgICAgICB0eXBlOiAnYXJyYXknLFxuICAgICAgICAgICAgfVxuICAgICAgICAgICAgYnJlYWtcbiAgICAgICAgICB9XG5cbiAgICAgICAgICBjYXNlICdhcnJheSc6IHtcbiAgICAgICAgICAgIGZpZWxkU2NoZW1hID0ge1xuICAgICAgICAgICAgICBpdGVtczoge1xuICAgICAgICAgICAgICAgIGFkZGl0aW9uYWxQcm9wZXJ0aWVzOiBmYWxzZSxcbiAgICAgICAgICAgICAgICB0eXBlOiAnb2JqZWN0JyxcbiAgICAgICAgICAgICAgICAuLi5maWVsZHNUb0pTT05TY2hlbWEoXG4gICAgICAgICAgICAgICAgICBjb2xsZWN0aW9uSURGaWVsZFR5cGVzLFxuICAgICAgICAgICAgICAgICAgZmllbGQuZmllbGRzLFxuICAgICAgICAgICAgICAgICAgaW50ZXJmYWNlTmFtZURlZmluaXRpb25zLFxuICAgICAgICAgICAgICAgICksXG4gICAgICAgICAgICAgIH0sXG4gICAgICAgICAgICAgIHR5cGU6ICdhcnJheScsXG4gICAgICAgICAgICB9XG5cbiAgICAgICAgICAgIGlmIChmaWVsZC5pbnRlcmZhY2VOYW1lKSB7XG4gICAgICAgICAgICAgIGludGVyZmFjZU5hbWVEZWZpbml0aW9ucy5zZXQoZmllbGQuaW50ZXJmYWNlTmFtZSwgZmllbGRTY2hlbWEpXG5cbiAgICAgICAgICAgICAgZmllbGRTY2hlbWEgPSB7XG4gICAgICAgICAgICAgICAgJHJlZjogYCMvZGVmaW5pdGlvbnMvJHtmaWVsZC5pbnRlcmZhY2VOYW1lfWAsXG4gICAgICAgICAgICAgIH1cbiAgICAgICAgICAgIH1cbiAgICAgICAgICAgIGJyZWFrXG4gICAgICAgICAgfVxuXG4gICAgICAgICAgY2FzZSAncm93JzpcbiAgICAgICAgICBjYXNlICdjb2xsYXBzaWJsZSc6IHtcbiAgICAgICAgICAgIGNvbnN0IGNoaWxkU2NoZW1hID0gZmllbGRzVG9KU09OU2NoZW1hKFxuICAgICAgICAgICAgICBjb2xsZWN0aW9uSURGaWVsZFR5cGVzLFxuICAgICAgICAgICAgICBmaWVsZC5maWVsZHMsXG4gICAgICAgICAgICAgIGludGVyZmFjZU5hbWVEZWZpbml0aW9ucyxcbiAgICAgICAgICAgIClcbiAgICAgICAgICAgIE9iamVjdC5lbnRyaWVzKGNoaWxkU2NoZW1hLnByb3BlcnRpZXMpLmZvckVhY2goKFtwcm9wTmFtZSwgcHJvcFNjaGVtYV0pID0+IHtcbiAgICAgICAgICAgICAgZmllbGRTY2hlbWFzLnNldChwcm9wTmFtZSwgcHJvcFNjaGVtYSlcbiAgICAgICAgICAgIH0pXG4gICAgICAgICAgICBjaGlsZFNjaGVtYS5yZXF1aXJlZC5mb3JFYWNoKChwcm9wTmFtZSkgPT4ge1xuICAgICAgICAgICAgICByZXF1aXJlZEZpZWxkcy5hZGQocHJvcE5hbWUpXG4gICAgICAgICAgICB9KVxuICAgICAgICAgICAgYnJlYWtcbiAgICAgICAgICB9XG5cbiAgICAgICAgICBjYXNlICd0YWJzJzoge1xuICAgICAgICAgICAgZmllbGQudGFicy5mb3JFYWNoKCh0YWIpID0+IHtcbiAgICAgICAgICAgICAgY29uc3QgY2hpbGRTY2hlbWEgPSBmaWVsZHNUb0pTT05TY2hlbWEoXG4gICAgICAgICAgICAgICAgY29sbGVjdGlvbklERmllbGRUeXBlcyxcbiAgICAgICAgICAgICAgICB0YWIuZmllbGRzLFxuICAgICAgICAgICAgICAgIGludGVyZmFjZU5hbWVEZWZpbml0aW9ucyxcbiAgICAgICAgICAgICAgKVxuICAgICAgICAgICAgICBpZiAodGFiSGFzTmFtZSh0YWIpKSB7XG4gICAgICAgICAgICAgICAgLy8gY291bGQgaGF2ZSBpbnRlcmZhY2VcbiAgICAgICAgICAgICAgICBmaWVsZFNjaGVtYXMuc2V0KHRhYi5uYW1lLCB7XG4gICAgICAgICAgICAgICAgICBhZGRpdGlvbmFsUHJvcGVydGllczogZmFsc2UsXG4gICAgICAgICAgICAgICAgICB0eXBlOiAnb2JqZWN0JyxcbiAgICAgICAgICAgICAgICAgIC4uLmNoaWxkU2NoZW1hLFxuICAgICAgICAgICAgICAgIH0pXG4gICAgICAgICAgICAgICAgcmVxdWlyZWRGaWVsZHMuYWRkKHRhYi5uYW1lKVxuICAgICAgICAgICAgICB9IGVsc2Uge1xuICAgICAgICAgICAgICAgIE9iamVjdC5lbnRyaWVzKGNoaWxkU2NoZW1hLnByb3BlcnRpZXMpLmZvckVhY2goKFtwcm9wTmFtZSwgcHJvcFNjaGVtYV0pID0+IHtcbiAgICAgICAgICAgICAgICAgIGZpZWxkU2NoZW1hcy5zZXQocHJvcE5hbWUsIHByb3BTY2hlbWEpXG4gICAgICAgICAgICAgICAgfSlcbiAgICAgICAgICAgICAgICBjaGlsZFNjaGVtYS5yZXF1aXJlZC5mb3JFYWNoKChwcm9wTmFtZSkgPT4ge1xuICAgICAgICAgICAgICAgICAgcmVxdWlyZWRGaWVsZHMuYWRkKHByb3BOYW1lKVxuICAgICAgICAgICAgICAgIH0pXG4gICAgICAgICAgICAgIH1cbiAgICAgICAgICAgIH0pXG4gICAgICAgICAgICBicmVha1xuICAgICAgICAgIH1cblxuICAgICAgICAgIGNhc2UgJ2dyb3VwJzoge1xuICAgICAgICAgICAgZmllbGRTY2hlbWEgPSB7XG4gICAgICAgICAgICAgIGFkZGl0aW9uYWxQcm9wZXJ0aWVzOiBmYWxzZSxcbiAgICAgICAgICAgICAgdHlwZTogJ29iamVjdCcsXG4gICAgICAgICAgICAgIC4uLmZpZWxkc1RvSlNPTlNjaGVtYShjb2xsZWN0aW9uSURGaWVsZFR5cGVzLCBmaWVsZC5maWVsZHMsIGludGVyZmFjZU5hbWVEZWZpbml0aW9ucyksXG4gICAgICAgICAgICB9XG5cbiAgICAgICAgICAgIGlmIChmaWVsZC5pbnRlcmZhY2VOYW1lKSB7XG4gICAgICAgICAgICAgIGludGVyZmFjZU5hbWVEZWZpbml0aW9ucy5zZXQoZmllbGQuaW50ZXJmYWNlTmFtZSwgZmllbGRTY2hlbWEpXG5cbiAgICAgICAgICAgICAgZmllbGRTY2hlbWEgPSB7XG4gICAgICAgICAgICAgICAgJHJlZjogYCMvZGVmaW5pdGlvbnMvJHtmaWVsZC5pbnRlcmZhY2VOYW1lfWAsXG4gICAgICAgICAgICAgIH1cbiAgICAgICAgICAgIH1cbiAgICAgICAgICAgIGJyZWFrXG4gICAgICAgICAgfVxuXG4gICAgICAgICAgZGVmYXVsdDoge1xuICAgICAgICAgICAgYnJlYWtcbiAgICAgICAgICB9XG4gICAgICAgIH1cblxuICAgICAgICBpZiAoZmllbGRTY2hlbWEgJiYgZmllbGRBZmZlY3RzRGF0YShmaWVsZCkpIHtcbiAgICAgICAgICBmaWVsZFNjaGVtYXMuc2V0KGZpZWxkLm5hbWUsIGZpZWxkU2NoZW1hKVxuICAgICAgICB9XG5cbiAgICAgICAgcmV0dXJuIGZpZWxkU2NoZW1hc1xuICAgICAgfSwgbmV3IE1hcDxzdHJpbmcsIEpTT05TY2hlbWE0PigpKSxcbiAgICApLFxuICAgIHJlcXVpcmVkOiBBcnJheS5mcm9tKHJlcXVpcmVkRmllbGRzKSxcbiAgfVxufVxuXG4vLyBUaGlzIGZ1bmN0aW9uIGlzIHBhcnQgb2YgdGhlIHB1YmxpYyBBUEkgYW5kIGlzIGV4cG9ydGVkIHRocm91Z2ggcGF5bG9hZC91dGlsaXRpZXNcbmV4cG9ydCBmdW5jdGlvbiBlbnRpdHlUb0pTT05TY2hlbWEoXG4gIGNvbmZpZzogU2FuaXRpemVkQ29uZmlnLFxuICBpbmNvbWluZ0VudGl0eTogU2FuaXRpemVkQ29sbGVjdGlvbkNvbmZpZyB8IFNhbml0aXplZEdsb2JhbENvbmZpZyxcbiAgaW50ZXJmYWNlTmFtZURlZmluaXRpb25zOiBNYXA8c3RyaW5nLCBKU09OU2NoZW1hND4sXG4gIGRlZmF1bHRJRFR5cGU6ICdudW1iZXInIHwgJ3RleHQnLFxuKTogSlNPTlNjaGVtYTQge1xuICBjb25zdCBlbnRpdHk6IFNhbml0aXplZENvbGxlY3Rpb25Db25maWcgfCBTYW5pdGl6ZWRHbG9iYWxDb25maWcgPSBkZWVwQ29weU9iamVjdChpbmNvbWluZ0VudGl0eSlcbiAgY29uc3QgdGl0bGUgPSBlbnRpdHkudHlwZXNjcmlwdD8uaW50ZXJmYWNlXG4gICAgPyBlbnRpdHkudHlwZXNjcmlwdC5pbnRlcmZhY2VcbiAgICA6IHNpbmd1bGFyKHRvV29yZHMoZW50aXR5LnNsdWcsIHRydWUpKVxuXG4gIGNvbnN0IGlkRmllbGQ6IEZpZWxkQWZmZWN0aW5nRGF0YSA9IHsgbmFtZTogJ2lkJywgcmVxdWlyZWQ6IHRydWUsIHR5cGU6IGRlZmF1bHRJRFR5cGUgYXMgJ3RleHQnIH1cbiAgY29uc3QgY3VzdG9tSWRGaWVsZCA9IGVudGl0eS5maWVsZHMuZmluZChcbiAgICAoZmllbGQpID0+IGZpZWxkQWZmZWN0c0RhdGEoZmllbGQpICYmIGZpZWxkLm5hbWUgPT09ICdpZCcsXG4gICkgYXMgRmllbGRBZmZlY3RpbmdEYXRhXG5cbiAgaWYgKGN1c3RvbUlkRmllbGQgJiYgY3VzdG9tSWRGaWVsZC50eXBlICE9PSAnZ3JvdXAnICYmIGN1c3RvbUlkRmllbGQudHlwZSAhPT0gJ3RhYicpIHtcbiAgICBjdXN0b21JZEZpZWxkLnJlcXVpcmVkID0gdHJ1ZVxuICB9IGVsc2Uge1xuICAgIGVudGl0eS5maWVsZHMudW5zaGlmdChpZEZpZWxkKVxuICB9XG5cbiAgLy8gbWFyayB0aW1lc3RhbXAgZmllbGRzIHJlcXVpcmVkXG4gIGlmICgndGltZXN0YW1wcycgaW4gZW50aXR5ICYmIGVudGl0eS50aW1lc3RhbXBzICE9PSBmYWxzZSkge1xuICAgIGVudGl0eS5maWVsZHMgPSBlbnRpdHkuZmllbGRzLm1hcCgoZmllbGQpID0+IHtcbiAgICAgIGlmIChmaWVsZEFmZmVjdHNEYXRhKGZpZWxkKSAmJiAoZmllbGQubmFtZSA9PT0gJ2NyZWF0ZWRBdCcgfHwgZmllbGQubmFtZSA9PT0gJ3VwZGF0ZWRBdCcpKSB7XG4gICAgICAgIHJldHVybiB7XG4gICAgICAgICAgLi4uZmllbGQsXG4gICAgICAgICAgcmVxdWlyZWQ6IHRydWUsXG4gICAgICAgIH1cbiAgICAgIH1cbiAgICAgIHJldHVybiBmaWVsZFxuICAgIH0pXG4gIH1cblxuICBpZiAoJ2F1dGgnIGluIGVudGl0eSAmJiBlbnRpdHkuYXV0aCAmJiAhZW50aXR5LmF1dGg/LmRpc2FibGVMb2NhbFN0cmF0ZWd5KSB7XG4gICAgZW50aXR5LmZpZWxkcy5wdXNoKHtcbiAgICAgIG5hbWU6ICdwYXNzd29yZCcsXG4gICAgICB0eXBlOiAndGV4dCcsXG4gICAgfSlcbiAgfVxuXG4gIC8vIHVzZWQgZm9yIHJlbGF0aW9uc2hpcCBmaWVsZHMsIHRvIGRldGVybWluZSB3aGV0aGVyIHRvIHVzZSBhIHN0cmluZyBvciBudW1iZXIgdHlwZSBmb3IgdGhlIElEXG4gIGNvbnN0IGNvbGxlY3Rpb25JREZpZWxkVHlwZXM6IHsgW2tleTogc3RyaW5nXTogJ251bWJlcicgfCAnc3RyaW5nJyB9ID0gY29uZmlnLmNvbGxlY3Rpb25zLnJlZHVjZShcbiAgICAoYWNjLCBjb2xsZWN0aW9uKSA9PiB7XG4gICAgICBjb25zdCBjdXN0b21Db2xsZWN0aW9uSWRGaWVsZCA9IGNvbGxlY3Rpb24uZmllbGRzLmZpbmQoXG4gICAgICAgIChmaWVsZCkgPT4gJ25hbWUnIGluIGZpZWxkICYmIGZpZWxkLm5hbWUgPT09ICdpZCcsXG4gICAgICApXG5cbiAgICAgIGFjY1tjb2xsZWN0aW9uLnNsdWddID0gZGVmYXVsdElEVHlwZSA9PT0gJ3RleHQnID8gJ3N0cmluZycgOiAnbnVtYmVyJ1xuXG4gICAgICBpZiAoY3VzdG9tQ29sbGVjdGlvbklkRmllbGQpIHtcbiAgICAgICAgYWNjW2NvbGxlY3Rpb24uc2x1Z10gPSBjdXN0b21Db2xsZWN0aW9uSWRGaWVsZC50eXBlID09PSAnbnVtYmVyJyA/ICdudW1iZXInIDogJ3N0cmluZydcbiAgICAgIH1cblxuICAgICAgcmV0dXJuIGFjY1xuICAgIH0sXG4gICAge30sXG4gIClcblxuICByZXR1cm4ge1xuICAgIGFkZGl0aW9uYWxQcm9wZXJ0aWVzOiBmYWxzZSxcbiAgICB0aXRsZSxcbiAgICB0eXBlOiAnb2JqZWN0JyxcbiAgICAuLi5maWVsZHNUb0pTT05TY2hlbWEoY29sbGVjdGlvbklERmllbGRUeXBlcywgZW50aXR5LmZpZWxkcywgaW50ZXJmYWNlTmFtZURlZmluaXRpb25zKSxcbiAgfVxufVxuXG5leHBvcnQgZnVuY3Rpb24gY29uZmlnVG9KU09OU2NoZW1hKFxuICBjb25maWc6IFNhbml0aXplZENvbmZpZyxcbiAgZGVmYXVsdElEVHlwZT86ICdudW1iZXInIHwgJ3RleHQnLFxuKTogSlNPTlNjaGVtYTQge1xuICAvLyBhIG11dGFibGUgTWFwIHRvIHN0b3JlIGN1c3RvbSB0b3AtbGV2ZWwgYGludGVyZmFjZU5hbWVgIHR5cGVzXG4gIGNvbnN0IGludGVyZmFjZU5hbWVEZWZpbml0aW9uczogTWFwPHN0cmluZywgSlNPTlNjaGVtYTQ+ID0gbmV3IE1hcCgpXG4gIGNvbnN0IGVudGl0eURlZmluaXRpb25zOiB7IFtrOiBzdHJpbmddOiBKU09OU2NoZW1hNCB9ID0gW1xuICAgIC4uLmNvbmZpZy5nbG9iYWxzLFxuICAgIC4uLmNvbmZpZy5jb2xsZWN0aW9ucyxcbiAgXS5yZWR1Y2UoKGFjYywgZW50aXR5KSA9PiB7XG4gICAgYWNjW2VudGl0eS5zbHVnXSA9IGVudGl0eVRvSlNPTlNjaGVtYShjb25maWcsIGVudGl0eSwgaW50ZXJmYWNlTmFtZURlZmluaXRpb25zLCBkZWZhdWx0SURUeXBlKVxuICAgIHJldHVybiBhY2NcbiAgfSwge30pXG5cbiAgcmV0dXJuIHtcbiAgICBhZGRpdGlvbmFsUHJvcGVydGllczogZmFsc2UsXG4gICAgZGVmaW5pdGlvbnM6IHsgLi4uZW50aXR5RGVmaW5pdGlvbnMsIC4uLk9iamVjdC5mcm9tRW50cmllcyhpbnRlcmZhY2VOYW1lRGVmaW5pdGlvbnMpIH0sXG4gICAgcHJvcGVydGllczoge1xuICAgICAgY29sbGVjdGlvbnM6IGdlbmVyYXRlRW50aXR5U2NoZW1hcyhjb25maWcuY29sbGVjdGlvbnMgfHwgW10pLFxuICAgICAgZ2xvYmFsczogZ2VuZXJhdGVFbnRpdHlTY2hlbWFzKGNvbmZpZy5nbG9iYWxzIHx8IFtdKSxcbiAgICB9LFxuICAgIHJlcXVpcmVkOiBbJ2NvbGxlY3Rpb25zJywgJ2dsb2JhbHMnXSxcbiAgICB0aXRsZTogJ0NvbmZpZycsXG4gICAgdHlwZTogJ29iamVjdCcsXG4gIH1cbn1cbiJdLCJuYW1lcyI6WyJlbnRpdHlUb0pTT05TY2hlbWEiLCJjb25maWdUb0pTT05TY2hlbWEiLCJwcm9wZXJ0eUlzUmVxdWlyZWQiLCJmaWVsZCIsImZpZWxkQWZmZWN0c0RhdGEiLCJyZXF1aXJlZCIsInR5cGUiLCJhZG1pbiIsImNvbmRpdGlvbiIsImFjY2VzcyIsInJlYWQiLCJmaWVsZHMiLCJmaW5kIiwic3ViRmllbGQiLCJ0YWJzIiwic29tZSIsInRhYiIsInJldHVybk9wdGlvbkVudW1zIiwib3B0aW9ucyIsIm1hcCIsIm9wdGlvbiIsInZhbHVlIiwiZ2VuZXJhdGVFbnRpdHlTY2hlbWFzIiwiZW50aXRpZXMiLCJwcm9wZXJ0aWVzIiwicmVkdWNlIiwiYWNjIiwic2x1ZyIsIiRyZWYiLCJhZGRpdGlvbmFsUHJvcGVydGllcyIsIk9iamVjdCIsImtleXMiLCJmaWVsZHNUb0pTT05TY2hlbWEiLCJjb2xsZWN0aW9uSURGaWVsZFR5cGVzIiwiaW50ZXJmYWNlTmFtZURlZmluaXRpb25zIiwicmVxdWlyZWRGaWVsZHMiLCJTZXQiLCJmaWx0ZXIiLCJuYW1lIiwiZnJvbUVudHJpZXMiLCJmaWVsZFNjaGVtYXMiLCJmaWVsZFNjaGVtYSIsImhhc01hbnkiLCJpdGVtcyIsIm9uZU9mIiwiZW51bSIsInNlbGVjdFR5cGUiLCJtYXhJdGVtcyIsIm1pbkl0ZW1zIiwiQXJyYXkiLCJpc0FycmF5IiwicmVsYXRpb25UbyIsInJlbGF0aW9uIiwiY29uc3QiLCJibG9ja3MiLCJibG9jayIsImJsb2NrRmllbGRTY2hlbWFzIiwiYmxvY2tTY2hlbWEiLCJibG9ja1R5cGUiLCJpbnRlcmZhY2VOYW1lIiwic2V0IiwiY2hpbGRTY2hlbWEiLCJlbnRyaWVzIiwiZm9yRWFjaCIsInByb3BOYW1lIiwicHJvcFNjaGVtYSIsImFkZCIsInRhYkhhc05hbWUiLCJNYXAiLCJmcm9tIiwiY29uZmlnIiwiaW5jb21pbmdFbnRpdHkiLCJkZWZhdWx0SURUeXBlIiwiZW50aXR5IiwiZGVlcENvcHlPYmplY3QiLCJ0aXRsZSIsInR5cGVzY3JpcHQiLCJpbnRlcmZhY2UiLCJzaW5ndWxhciIsInRvV29yZHMiLCJpZEZpZWxkIiwiY3VzdG9tSWRGaWVsZCIsInVuc2hpZnQiLCJ0aW1lc3RhbXBzIiwiYXV0aCIsImRpc2FibGVMb2NhbFN0cmF0ZWd5IiwicHVzaCIsImNvbGxlY3Rpb25zIiwiY29sbGVjdGlvbiIsImN1c3RvbUNvbGxlY3Rpb25JZEZpZWxkIiwiZW50aXR5RGVmaW5pdGlvbnMiLCJnbG9iYWxzIiwiZGVmaW5pdGlvbnMiXSwibWFwcGluZ3MiOiI7Ozs7Ozs7Ozs7O0lBa2JnQkEsa0JBQWtCO2VBQWxCQTs7SUFvRUFDLGtCQUFrQjtlQUFsQkE7OzsyQkFwZlM7dUJBT29CO2dDQUNkOzhCQUNQO0FBRXhCLE1BQU1DLHFCQUFxQixDQUFDQztJQUMxQixJQUFJQyxJQUFBQSx1QkFBZ0IsRUFBQ0QsVUFBVSxjQUFjQSxTQUFTQSxNQUFNRSxRQUFRLEtBQUssTUFBTSxPQUFPO0lBRXRGLElBQUksWUFBWUYsU0FBU0EsTUFBTUcsSUFBSSxLQUFLLFNBQVM7UUFDL0MsSUFBSUgsTUFBTUksS0FBSyxFQUFFQyxhQUFhTCxNQUFNTSxNQUFNLEVBQUVDLE1BQU0sT0FBTztRQUN6RCxPQUFPUCxNQUFNUSxNQUFNLENBQUNDLElBQUksQ0FBQyxDQUFDQyxXQUFhWCxtQkFBbUJXO0lBQzVEO0lBRUEsSUFBSVYsTUFBTUcsSUFBSSxLQUFLLFFBQVE7UUFDekIsT0FBT0gsTUFBTVcsSUFBSSxDQUFDQyxJQUFJLENBQ3BCLENBQUND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
@@ -28,7 +28,7 @@ describe('configToJSONSchema', ()=>{
28
28
  ]
29
29
  };
30
30
  const sanitizedConfig = (0, _sanitize.sanitizeConfig)(config);
31
- const schema = (0, _configToJSONSchema.configToJSONSchema)(sanitizedConfig);
31
+ const schema = (0, _configToJSONSchema.configToJSONSchema)(sanitizedConfig, 'text');
32
32
  expect(schema?.definitions?.test).toStrictEqual({
33
33
  additionalProperties: false,
34
34
  properties: {
@@ -63,4 +63,4 @@ describe('configToJSONSchema', ()=>{
63
63
  });
64
64
  });
65
65
 
66
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIi4uLy4uL3NyYy91dGlsaXRpZXMvY29uZmlnVG9KU09OU2NoZW1hLnNwZWMudHMiXSwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHR5cGUgeyBDb25maWcgfSBmcm9tICcuLi9jb25maWcvdHlwZXMnXG5cbmltcG9ydCB7IHNhbml0aXplQ29uZmlnIH0gZnJvbSAnLi4vY29uZmlnL3Nhbml0aXplJ1xuaW1wb3J0IHsgY29uZmlnVG9KU09OU2NoZW1hIH0gZnJvbSAnLi9jb25maWdUb0pTT05TY2hlbWEnXG5cbmRlc2NyaWJlKCdjb25maWdUb0pTT05TY2hlbWEnLCAoKSA9PiB7XG4gIGl0KCdzaG91bGQgaGFuZGxlIG9wdGlvbmFsIGFycmF5cyB3aXRoIHJlcXVpcmVkIGZpZWxkcycsICgpID0+IHtcbiAgICBjb25zdCBjb25maWc6IENvbmZpZyA9IHtcbiAgICAgIGNvbGxlY3Rpb25zOiBbXG4gICAgICAgIHtcbiAgICAgICAgICBmaWVsZHM6IFtcbiAgICAgICAgICAgIHtcbiAgICAgICAgICAgICAgZmllbGRzOiBbXG4gICAgICAgICAgICAgICAge1xuICAgICAgICAgICAgICAgICAgbmFtZTogJ3NvbWVSZXF1aXJlZEZpZWxkJyxcbiAgICAgICAgICAgICAgICAgIHJlcXVpcmVkOiB0cnVlLFxuICAgICAgICAgICAgICAgICAgdHlwZTogJ3RleHQnLFxuICAgICAgICAgICAgICAgIH0sXG4gICAgICAgICAgICAgIF0sXG4gICAgICAgICAgICAgIG5hbWU6ICdzb21lUmVxdWlyZWRGaWVsZCcsXG4gICAgICAgICAgICAgIHR5cGU6ICdhcnJheScsXG4gICAgICAgICAgICB9LFxuICAgICAgICAgIF0sXG4gICAgICAgICAgc2x1ZzogJ3Rlc3QnLFxuICAgICAgICAgIHRpbWVzdGFtcHM6IGZhbHNlLFxuICAgICAgICB9LFxuICAgICAgXSxcbiAgICB9XG5cbiAgICBjb25zdCBzYW5pdGl6ZWRDb25maWcgPSBzYW5pdGl6ZUNvbmZpZyhjb25maWcpXG4gICAgY29uc3Qgc2NoZW1hID0gY29uZmlnVG9KU09OU2NoZW1hKHNhbml0aXplZENvbmZpZylcbiAgICBleHBlY3Qoc2NoZW1hPy5kZWZpbml0aW9ucz8udGVzdCkudG9TdHJpY3RFcXVhbCh7XG4gICAgICBhZGRpdGlvbmFsUHJvcGVydGllczogZmFsc2UsXG4gICAgICBwcm9wZXJ0aWVzOiB7XG4gICAgICAgIGlkOiB7XG4gICAgICAgICAgdHlwZTogJ3N0cmluZycsXG4gICAgICAgIH0sXG4gICAgICAgIHNvbWVSZXF1aXJlZEZpZWxkOiB7XG4gICAgICAgICAgaXRlbXM6IHtcbiAgICAgICAgICAgIGFkZGl0aW9uYWxQcm9wZXJ0aWVzOiBmYWxzZSxcbiAgICAgICAgICAgIHByb3BlcnRpZXM6IHtcbiAgICAgICAgICAgICAgaWQ6IHtcbiAgICAgICAgICAgICAgICB0eXBlOiAnc3RyaW5nJyxcbiAgICAgICAgICAgICAgfSxcbiAgICAgICAgICAgICAgc29tZVJlcXVpcmVkRmllbGQ6IHtcbiAgICAgICAgICAgICAgICB0eXBlOiAnc3RyaW5nJyxcbiAgICAgICAgICAgICAgfSxcbiAgICAgICAgICAgIH0sXG4gICAgICAgICAgICByZXF1aXJlZDogWydzb21lUmVxdWlyZWRGaWVsZCddLFxuICAgICAgICAgICAgdHlwZTogJ29iamVjdCcsXG4gICAgICAgICAgfSxcbiAgICAgICAgICB0eXBlOiAnYXJyYXknLFxuICAgICAgICB9LFxuICAgICAgfSxcbiAgICAgIHJlcXVpcmVkOiBbJ2lkJ10sXG4gICAgICB0aXRsZTogJ1Rlc3QnLFxuICAgICAgdHlwZTogJ29iamVjdCcsXG4gICAgfSlcbiAgfSlcbn0pXG4iXSwibmFtZXMiOlsiZGVzY3JpYmUiLCJpdCIsImNvbmZpZyIsImNvbGxlY3Rpb25zIiwiZmllbGRzIiwibmFtZSIsInJlcXVpcmVkIiwidHlwZSIsInNsdWciLCJ0aW1lc3RhbXBzIiwic2FuaXRpemVkQ29uZmlnIiwic2FuaXRpemVDb25maWciLCJzY2hlbWEiLCJjb25maWdUb0pTT05TY2hlbWEiLCJleHBlY3QiLCJkZWZpbml0aW9ucyIsInRlc3QiLCJ0b1N0cmljdEVxdWFsIiwiYWRkaXRpb25hbFByb3BlcnRpZXMiLCJwcm9wZXJ0aWVzIiwiaWQiLCJzb21lUmVxdWlyZWRGaWVsZCIsIml0ZW1zIiwidGl0bGUiXSwibWFwcGluZ3MiOiI7Ozs7MEJBRStCO29DQUNJO0FBRW5DQSxTQUFTLHNCQUFzQjtJQUM3QkMsR0FBRyxzREFBc0Q7UUFDdkQsTUFBTUMsU0FBaUI7WUFDckJDLGFBQWE7Z0JBQ1g7b0JBQ0VDLFFBQVE7d0JBQ047NEJBQ0VBLFFBQVE7Z0NBQ047b0NBQ0VDLE1BQU07b0NBQ05DLFVBQVU7b0NBQ1ZDLE1BQU07Z0NBQ1I7NkJBQ0Q7NEJBQ0RGLE1BQU07NEJBQ05FLE1BQU07d0JBQ1I7cUJBQ0Q7b0JBQ0RDLE1BQU07b0JBQ05DLFlBQVk7Z0JBQ2Q7YUFDRDtRQUNIO1FBRUEsTUFBTUMsa0JBQWtCQyxJQUFBQSx3QkFBYyxFQUFDVDtRQUN2QyxNQUFNVSxTQUFTQyxJQUFBQSxzQ0FBa0IsRUFBQ0g7UUFDbENJLE9BQU9GLFFBQVFHLGFBQWFDLE1BQU1DLGFBQWEsQ0FBQztZQUM5Q0Msc0JBQXNCO1lBQ3RCQyxZQUFZO2dCQUNWQyxJQUFJO29CQUNGYixNQUFNO2dCQUNSO2dCQUNBYyxtQkFBbUI7b0JBQ2pCQyxPQUFPO3dCQUNMSixzQkFBc0I7d0JBQ3RCQyxZQUFZOzRCQUNWQyxJQUFJO2dDQUNGYixNQUFNOzRCQUNSOzRCQUNBYyxtQkFBbUI7Z0NBQ2pCZCxNQUFNOzRCQUNSO3dCQUNGO3dCQUNBRCxVQUFVOzRCQUFDO3lCQUFvQjt3QkFDL0JDLE1BQU07b0JBQ1I7b0JBQ0FBLE1BQU07Z0JBQ1I7WUFDRjtZQUNBRCxVQUFVO2dCQUFDO2FBQUs7WUFDaEJpQixPQUFPO1lBQ1BoQixNQUFNO1FBQ1I7SUFDRjtBQUNGIn0=
66
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIi4uLy4uL3NyYy91dGlsaXRpZXMvY29uZmlnVG9KU09OU2NoZW1hLnNwZWMudHMiXSwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHR5cGUgeyBDb25maWcgfSBmcm9tICcuLi9jb25maWcvdHlwZXMnXG5cbmltcG9ydCB7IHNhbml0aXplQ29uZmlnIH0gZnJvbSAnLi4vY29uZmlnL3Nhbml0aXplJ1xuaW1wb3J0IHsgY29uZmlnVG9KU09OU2NoZW1hIH0gZnJvbSAnLi9jb25maWdUb0pTT05TY2hlbWEnXG5cbmRlc2NyaWJlKCdjb25maWdUb0pTT05TY2hlbWEnLCAoKSA9PiB7XG4gIGl0KCdzaG91bGQgaGFuZGxlIG9wdGlvbmFsIGFycmF5cyB3aXRoIHJlcXVpcmVkIGZpZWxkcycsICgpID0+IHtcbiAgICBjb25zdCBjb25maWc6IENvbmZpZyA9IHtcbiAgICAgIGNvbGxlY3Rpb25zOiBbXG4gICAgICAgIHtcbiAgICAgICAgICBmaWVsZHM6IFtcbiAgICAgICAgICAgIHtcbiAgICAgICAgICAgICAgZmllbGRzOiBbXG4gICAgICAgICAgICAgICAge1xuICAgICAgICAgICAgICAgICAgbmFtZTogJ3NvbWVSZXF1aXJlZEZpZWxkJyxcbiAgICAgICAgICAgICAgICAgIHJlcXVpcmVkOiB0cnVlLFxuICAgICAgICAgICAgICAgICAgdHlwZTogJ3RleHQnLFxuICAgICAgICAgICAgICAgIH0sXG4gICAgICAgICAgICAgIF0sXG4gICAgICAgICAgICAgIG5hbWU6ICdzb21lUmVxdWlyZWRGaWVsZCcsXG4gICAgICAgICAgICAgIHR5cGU6ICdhcnJheScsXG4gICAgICAgICAgICB9LFxuICAgICAgICAgIF0sXG4gICAgICAgICAgc2x1ZzogJ3Rlc3QnLFxuICAgICAgICAgIHRpbWVzdGFtcHM6IGZhbHNlLFxuICAgICAgICB9LFxuICAgICAgXSxcbiAgICB9XG5cbiAgICBjb25zdCBzYW5pdGl6ZWRDb25maWcgPSBzYW5pdGl6ZUNvbmZpZyhjb25maWcpXG4gICAgY29uc3Qgc2NoZW1hID0gY29uZmlnVG9KU09OU2NoZW1hKHNhbml0aXplZENvbmZpZywgJ3RleHQnKVxuICAgIGV4cGVjdChzY2hlbWE/LmRlZmluaXRpb25zPy50ZXN0KS50b1N0cmljdEVxdWFsKHtcbiAgICAgIGFkZGl0aW9uYWxQcm9wZXJ0aWVzOiBmYWxzZSxcbiAgICAgIHByb3BlcnRpZXM6IHtcbiAgICAgICAgaWQ6IHtcbiAgICAgICAgICB0eXBlOiAnc3RyaW5nJyxcbiAgICAgICAgfSxcbiAgICAgICAgc29tZVJlcXVpcmVkRmllbGQ6IHtcbiAgICAgICAgICBpdGVtczoge1xuICAgICAgICAgICAgYWRkaXRpb25hbFByb3BlcnRpZXM6IGZhbHNlLFxuICAgICAgICAgICAgcHJvcGVydGllczoge1xuICAgICAgICAgICAgICBpZDoge1xuICAgICAgICAgICAgICAgIHR5cGU6ICdzdHJpbmcnLFxuICAgICAgICAgICAgICB9LFxuICAgICAgICAgICAgICBzb21lUmVxdWlyZWRGaWVsZDoge1xuICAgICAgICAgICAgICAgIHR5cGU6ICdzdHJpbmcnLFxuICAgICAgICAgICAgICB9LFxuICAgICAgICAgICAgfSxcbiAgICAgICAgICAgIHJlcXVpcmVkOiBbJ3NvbWVSZXF1aXJlZEZpZWxkJ10sXG4gICAgICAgICAgICB0eXBlOiAnb2JqZWN0JyxcbiAgICAgICAgICB9LFxuICAgICAgICAgIHR5cGU6ICdhcnJheScsXG4gICAgICAgIH0sXG4gICAgICB9LFxuICAgICAgcmVxdWlyZWQ6IFsnaWQnXSxcbiAgICAgIHRpdGxlOiAnVGVzdCcsXG4gICAgICB0eXBlOiAnb2JqZWN0JyxcbiAgICB9KVxuICB9KVxufSlcbiJdLCJuYW1lcyI6WyJkZXNjcmliZSIsIml0IiwiY29uZmlnIiwiY29sbGVjdGlvbnMiLCJmaWVsZHMiLCJuYW1lIiwicmVxdWlyZWQiLCJ0eXBlIiwic2x1ZyIsInRpbWVzdGFtcHMiLCJzYW5pdGl6ZWRDb25maWciLCJzYW5pdGl6ZUNvbmZpZyIsInNjaGVtYSIsImNvbmZpZ1RvSlNPTlNjaGVtYSIsImV4cGVjdCIsImRlZmluaXRpb25zIiwidGVzdCIsInRvU3RyaWN0RXF1YWwiLCJhZGRpdGlvbmFsUHJvcGVydGllcyIsInByb3BlcnRpZXMiLCJpZCIsInNvbWVSZXF1aXJlZEZpZWxkIiwiaXRlbXMiLCJ0aXRsZSJdLCJtYXBwaW5ncyI6Ijs7OzswQkFFK0I7b0NBQ0k7QUFFbkNBLFNBQVMsc0JBQXNCO0lBQzdCQyxHQUFHLHNEQUFzRDtRQUN2RCxNQUFNQyxTQUFpQjtZQUNyQkMsYUFBYTtnQkFDWDtvQkFDRUMsUUFBUTt3QkFDTjs0QkFDRUEsUUFBUTtnQ0FDTjtvQ0FDRUMsTUFBTTtvQ0FDTkMsVUFBVTtvQ0FDVkMsTUFBTTtnQ0FDUjs2QkFDRDs0QkFDREYsTUFBTTs0QkFDTkUsTUFBTTt3QkFDUjtxQkFDRDtvQkFDREMsTUFBTTtvQkFDTkMsWUFBWTtnQkFDZDthQUNEO1FBQ0g7UUFFQSxNQUFNQyxrQkFBa0JDLElBQUFBLHdCQUFjLEVBQUNUO1FBQ3ZDLE1BQU1VLFNBQVNDLElBQUFBLHNDQUFrQixFQUFDSCxpQkFBaUI7UUFDbkRJLE9BQU9GLFFBQVFHLGFBQWFDLE1BQU1DLGFBQWEsQ0FBQztZQUM5Q0Msc0JBQXNCO1lBQ3RCQyxZQUFZO2dCQUNWQyxJQUFJO29CQUNGYixNQUFNO2dCQUNSO2dCQUNBYyxtQkFBbUI7b0JBQ2pCQyxPQUFPO3dCQUNMSixzQkFBc0I7d0JBQ3RCQyxZQUFZOzRCQUNWQyxJQUFJO2dDQUNGYixNQUFNOzRCQUNSOzRCQUNBYyxtQkFBbUI7Z0NBQ2pCZCxNQUFNOzRCQUNSO3dCQUNGO3dCQUNBRCxVQUFVOzRCQUFDO3lCQUFvQjt3QkFDL0JDLE1BQU07b0JBQ1I7b0JBQ0FBLE1BQU07Z0JBQ1I7WUFDRjtZQUNBRCxVQUFVO2dCQUFDO2FBQUs7WUFDaEJpQixPQUFPO1lBQ1BoQixNQUFNO1FBQ1I7SUFDRjtBQUNGIn0=
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "payload",
3
- "version": "2.0.2",
3
+ "version": "2.0.4",
4
4
  "description": "Node, React and MongoDB Headless CMS and Application Framework",
5
5
  "license": "MIT",
6
6
  "main": "./dist/index.js",