payload 3.0.0-alpha.2 → 3.0.0-alpha.21
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/auth.js +5 -44
- package/bin.js +40 -1
- package/components.d.ts +14 -0
- package/components.js +71 -0
- package/config.js +10 -59
- package/database.js +21 -108
- package/dist/admin/RichText.js +2 -5
- package/dist/admin/elements/Cell.js +2 -5
- package/dist/admin/elements/DatePicker.js +2 -5
- package/dist/admin/elements/PreviewButton.js +2 -5
- package/dist/admin/elements/PublishButton.js +2 -5
- package/dist/admin/elements/SaveButton.js +2 -5
- package/dist/admin/elements/SaveDraftButton.js +2 -5
- package/dist/admin/elements/Tab.js +2 -5
- package/dist/admin/forms/Error.js +2 -5
- package/dist/admin/forms/FieldDescription.js +2 -5
- package/dist/admin/forms/FieldTypes.js +2 -5
- package/dist/admin/forms/Form.d.ts +22 -0
- package/dist/admin/forms/Form.d.ts.map +1 -1
- package/dist/admin/forms/Form.js +2 -5
- package/dist/admin/forms/Label.js +2 -5
- package/dist/admin/forms/RowLabel.js +2 -5
- package/dist/admin/types.d.ts +2 -1
- package/dist/admin/types.d.ts.map +1 -1
- package/dist/admin/types.js +2 -5
- package/dist/admin/views/types.d.ts +41 -0
- package/dist/admin/views/types.d.ts.map +1 -0
- package/dist/admin/views/types.js +3 -0
- package/dist/assets/assets.d.js +0 -1
- package/dist/auth/baseFields/accountLock.js +2 -12
- package/dist/auth/baseFields/apiKey.js +6 -21
- package/dist/auth/baseFields/auth.js +6 -16
- package/dist/auth/baseFields/verification.js +4 -14
- package/dist/auth/cookies.js +6 -33
- package/dist/auth/crypto.js +7 -30
- package/dist/auth/defaultAccess.js +2 -12
- package/dist/auth/defaultUser.js +4 -14
- package/dist/auth/executeAccess.js +5 -15
- package/dist/auth/extractJWT.js +4 -14
- package/dist/auth/getAccessResults.js +5 -15
- package/dist/auth/getAuthenticatedUser.js +2 -12
- package/dist/auth/getFieldsToSign.js +5 -15
- package/dist/auth/index.js +4 -27
- package/dist/auth/isLocked.js +2 -12
- package/dist/auth/operations/access.js +12 -22
- package/dist/auth/operations/forgotPassword.js +17 -32
- package/dist/auth/operations/init.js +2 -12
- package/dist/auth/operations/local/forgotPassword.js +8 -18
- package/dist/auth/operations/local/index.js +12 -27
- package/dist/auth/operations/local/login.js +8 -18
- package/dist/auth/operations/local/resetPassword.js +8 -18
- package/dist/auth/operations/local/unlock.js +8 -18
- package/dist/auth/operations/local/verifyEmail.js +8 -18
- package/dist/auth/operations/login.js +32 -47
- package/dist/auth/operations/logout.js +6 -21
- package/dist/auth/operations/me.js +4 -19
- package/dist/auth/operations/refresh.js +19 -34
- package/dist/auth/operations/registerFirstUser.js +10 -20
- package/dist/auth/operations/resetPassword.js +20 -43
- package/dist/auth/operations/unlock.js +16 -39
- package/dist/auth/operations/verifyEmail.js +14 -37
- package/dist/auth/sendVerificationEmail.js +4 -14
- package/dist/auth/strategies/apiKey.js +4 -19
- package/dist/auth/strategies/jwt.js +6 -21
- package/dist/auth/strategies/local/authenticate.js +6 -21
- package/dist/auth/strategies/local/generatePasswordSaltHash.js +7 -22
- package/dist/auth/strategies/local/incrementLoginAttempts.js +2 -12
- package/dist/auth/strategies/local/register.js +6 -16
- package/dist/auth/strategies/local/resetLoginAttempts.js +2 -12
- package/dist/auth/types.js +2 -12
- package/dist/bin/generateTypes.js +12 -27
- package/dist/bin/index.js +11 -53
- package/dist/bin/loadEnv.js +13 -26
- package/dist/bin/migrate.js +15 -30
- package/dist/bundlers/mocks/db-mongodb.js +0 -1
- package/dist/bundlers/mocks/db-postgres.js +2 -12
- package/dist/bundlers/mocks/dotENV.js +2 -12
- package/dist/bundlers/mocks/emptyModule.js +2 -12
- package/dist/bundlers/mocks/fileMock.js +2 -12
- package/dist/bundlers/types.js +2 -5
- package/dist/collections/config/build.js +2 -12
- package/dist/collections/config/defaults.js +9 -32
- package/dist/collections/config/sanitize.js +34 -49
- package/dist/collections/config/schema.js +157 -172
- package/dist/collections/config/types.d.ts +5 -5
- package/dist/collections/config/types.d.ts.map +1 -1
- package/dist/collections/config/types.js +2 -5
- package/dist/collections/dataloader.js +8 -23
- package/dist/collections/operations/create.js +38 -53
- package/dist/collections/operations/delete.js +27 -42
- package/dist/collections/operations/deleteByID.js +27 -42
- package/dist/collections/operations/docAccess.js +10 -20
- package/dist/collections/operations/find.js +25 -40
- package/dist/collections/operations/findByID.js +21 -36
- package/dist/collections/operations/findVersionByID.js +19 -34
- package/dist/collections/operations/findVersions.js +20 -35
- package/dist/collections/operations/local/create.js +10 -25
- package/dist/collections/operations/local/delete.js +10 -20
- package/dist/collections/operations/local/find.js +8 -18
- package/dist/collections/operations/local/findByID.js +8 -18
- package/dist/collections/operations/local/findVersionByID.js +8 -18
- package/dist/collections/operations/local/findVersions.js +8 -18
- package/dist/collections/operations/local/index.js +20 -35
- package/dist/collections/operations/local/restoreVersion.js +8 -18
- package/dist/collections/operations/local/update.js +12 -27
- package/dist/collections/operations/restoreVersion.js +26 -41
- package/dist/collections/operations/update.js +43 -58
- package/dist/collections/operations/updateByID.js +44 -59
- package/dist/collections/operations/utils.js +3 -12
- package/dist/config/build.js +9 -15
- package/dist/config/clientFiles.js +2 -12
- package/dist/config/createClientConfig.d.ts.map +1 -1
- package/dist/config/createClientConfig.js +12 -25
- package/dist/config/defaults.js +4 -19
- package/dist/config/find.js +18 -33
- package/dist/config/load.d.ts +1 -3
- package/dist/config/load.d.ts.map +1 -1
- package/dist/config/load.js +8 -37
- package/dist/config/sanitize.js +25 -40
- package/dist/config/schema.d.ts.map +1 -1
- package/dist/config/schema.js +116 -133
- package/dist/config/shared/adminViewSchema.js +9 -24
- package/dist/config/shared/componentSchema.js +21 -50
- package/dist/config/types.d.ts +12 -21
- package/dist/config/types.d.ts.map +1 -1
- package/dist/config/types.js +9 -21
- package/dist/config/validate.js +15 -71
- package/dist/database/combineQueries.js +4 -14
- package/dist/database/createDatabaseAdapter.js +14 -24
- package/dist/database/flattenWhereToOperators.js +2 -12
- package/dist/database/getLocalizedPaths.js +7 -22
- package/dist/database/migrations/createMigration.js +7 -22
- package/dist/database/migrations/getMigrations.js +4 -12
- package/dist/database/migrations/migrate.js +12 -22
- package/dist/database/migrations/migrateDown.js +12 -22
- package/dist/database/migrations/migrateRefresh.js +16 -24
- package/dist/database/migrations/migrateReset.js +12 -22
- package/dist/database/migrations/migrateStatus.js +8 -18
- package/dist/database/migrations/migrationTemplate.js +2 -12
- package/dist/database/migrations/migrationsCollection.js +2 -12
- package/dist/database/migrations/readMigrationFiles.d.ts.map +1 -1
- package/dist/database/migrations/readMigrationFiles.js +12 -24
- package/dist/database/queryValidation/types.js +2 -5
- package/dist/database/queryValidation/validateQueryPaths.js +13 -28
- package/dist/database/queryValidation/validateSearchParams.js +13 -21
- package/dist/database/types.d.ts +5 -2
- package/dist/database/types.d.ts.map +1 -1
- package/dist/database/types.js +2 -5
- package/dist/email/build.js +11 -26
- package/dist/email/defaults.js +2 -12
- package/dist/email/mockHandler.js +8 -23
- package/dist/email/sendEmail.js +2 -12
- package/dist/email/types.js +2 -5
- package/dist/errors/APIError.js +4 -19
- package/dist/errors/AuthenticationError.js +7 -22
- package/dist/errors/DuplicateCollection.js +4 -19
- package/dist/errors/DuplicateFieldName.js +4 -19
- package/dist/errors/DuplicateGlobal.js +4 -19
- package/dist/errors/ErrorDeletingFile.js +7 -22
- package/dist/errors/FileUploadError.js +7 -22
- package/dist/errors/Forbidden.js +7 -22
- package/dist/errors/InvalidConfiguration.js +6 -21
- package/dist/errors/InvalidFieldName.js +4 -19
- package/dist/errors/InvalidFieldRelationship.js +4 -19
- package/dist/errors/InvalidSchema.js +6 -21
- package/dist/errors/LockedAuth.js +7 -22
- package/dist/errors/MissingCollectionLabel.js +4 -19
- package/dist/errors/MissingFieldInputOptions.js +4 -19
- package/dist/errors/MissingFieldType.js +6 -21
- package/dist/errors/MissingFile.js +7 -22
- package/dist/errors/NotFound.js +7 -22
- package/dist/errors/QueryError.js +6 -21
- package/dist/errors/TimestampsRequired.js +4 -19
- package/dist/errors/UnathorizedError.js +7 -22
- package/dist/errors/ValidationError.js +8 -23
- package/dist/errors/index.js +20 -94
- package/dist/errors/types.js +2 -19
- package/dist/exports/auth.js +5 -44
- package/dist/exports/components/utilities.d.ts +0 -1
- package/dist/exports/components/utilities.js +0 -1
- package/dist/exports/config.js +10 -59
- package/dist/exports/database.js +21 -108
- package/dist/exports/errors.js +2 -68
- package/dist/exports/fields/index.js +3 -26
- package/dist/exports/fields/validations.js +2 -19
- package/dist/exports/operations.js +29 -125
- package/dist/exports/types.js +4 -74
- package/dist/exports/utilities.js +28 -141
- package/dist/exports/versions.js +9 -45
- package/dist/express/middleware/errorHandler.d.ts +0 -1
- package/dist/express/middleware/errorHandler.js +0 -1
- package/dist/express/middleware/index.d.ts +0 -1
- package/dist/express/middleware/index.js +0 -1
- package/dist/fields/baseFields/baseBlockFields.js +4 -14
- package/dist/fields/baseFields/baseIDField.js +4 -19
- package/dist/fields/config/sanitize.js +24 -39
- package/dist/fields/config/sanitize.spec.js +25 -29
- package/dist/fields/config/schema.js +329 -424
- package/dist/fields/config/types.js +15 -69
- package/dist/fields/getDefaultValue.js +2 -12
- package/dist/fields/hooks/afterChange/index.js +6 -16
- package/dist/fields/hooks/afterChange/promise.js +14 -22
- package/dist/fields/hooks/afterChange/traverseFields.js +4 -14
- package/dist/fields/hooks/afterRead/index.js +6 -16
- package/dist/fields/hooks/afterRead/promise.js +28 -36
- package/dist/fields/hooks/afterRead/relationshipPopulationPromise.js +5 -15
- package/dist/fields/hooks/afterRead/traverseFields.js +4 -14
- package/dist/fields/hooks/beforeChange/cloneDataFromOriginalDoc.js +2 -12
- package/dist/fields/hooks/beforeChange/getExistingRowDoc.js +2 -12
- package/dist/fields/hooks/beforeChange/index.js +8 -18
- package/dist/fields/hooks/beforeChange/promise.js +26 -35
- package/dist/fields/hooks/beforeChange/traverseFields.js +4 -14
- package/dist/fields/hooks/beforeValidate/index.js +6 -16
- package/dist/fields/hooks/beforeValidate/promise.js +30 -39
- package/dist/fields/hooks/beforeValidate/traverseFields.js +4 -14
- package/dist/fields/mergeBaseFields.js +8 -23
- package/dist/fields/sortableFieldTypes.js +2 -12
- package/dist/fields/validations.js +31 -97
- package/dist/fields/validations.spec.js +93 -87
- package/dist/globals/config/build.d.ts +0 -1
- package/dist/globals/config/build.js +0 -1
- package/dist/globals/config/sanitize.js +17 -32
- package/dist/globals/config/schema.js +55 -70
- package/dist/globals/config/types.d.ts +5 -5
- package/dist/globals/config/types.d.ts.map +1 -1
- package/dist/globals/config/types.js +2 -5
- package/dist/globals/graphql/resolvers/docAccess.d.ts +0 -1
- package/dist/globals/graphql/resolvers/docAccess.js +0 -1
- package/dist/globals/operations/docAccess.js +10 -20
- package/dist/globals/operations/findOne.js +14 -29
- package/dist/globals/operations/findVersionByID.js +18 -33
- package/dist/globals/operations/findVersions.js +20 -35
- package/dist/globals/operations/local/findOne.js +8 -18
- package/dist/globals/operations/local/findVersionByID.js +8 -18
- package/dist/globals/operations/local/findVersions.js +8 -18
- package/dist/globals/operations/local/index.js +12 -27
- package/dist/globals/operations/local/restoreVersion.js +8 -18
- package/dist/globals/operations/local/update.js +8 -18
- package/dist/globals/operations/restoreVersion.js +16 -31
- package/dist/globals/operations/update.js +23 -38
- package/dist/index.d.ts.map +1 -1
- package/dist/index.js +50 -70
- package/dist/localization/middleware.js +2 -12
- package/dist/localization/sanitizeFallbackLocale.js +2 -12
- package/dist/preferences/deleteUserPreferences.js +2 -12
- package/dist/preferences/operations/delete.js +10 -25
- package/dist/preferences/operations/findOne.js +2 -12
- package/dist/preferences/operations/update.js +8 -23
- package/dist/preferences/preferencesCollection.js +8 -18
- package/dist/preferences/requestHandlers/delete.js +6 -21
- package/dist/preferences/requestHandlers/findOne.js +6 -21
- package/dist/preferences/requestHandlers/update.js +6 -21
- package/dist/preferences/types.js +2 -5
- package/dist/translations/extractTranslations.js +4 -14
- package/dist/translations/getLocalI18n.js +5 -15
- package/dist/types/constants.js +2 -12
- package/dist/types/index.js +2 -12
- package/dist/uploads/canResizeImage.js +2 -12
- package/dist/uploads/cropImage.d.ts +3 -7
- package/dist/uploads/cropImage.d.ts.map +1 -1
- package/dist/uploads/cropImage.js +4 -28
- package/dist/uploads/deleteAssociatedFiles.js +11 -26
- package/dist/uploads/docWithFilenameExists.js +2 -12
- package/dist/uploads/fileExists.js +4 -19
- package/dist/uploads/formatFilesize.js +2 -12
- package/dist/uploads/generateFileData.d.ts.map +1 -1
- package/dist/uploads/generateFileData.js +40 -53
- package/dist/uploads/getBaseFields.js +6 -16
- package/dist/uploads/getExternalFile.js +5 -15
- package/dist/uploads/getFileByPath.js +10 -25
- package/dist/uploads/getImageSize.js +7 -22
- package/dist/uploads/getSafeFilename.js +8 -23
- package/dist/uploads/imageResizer.d.ts +3 -1
- package/dist/uploads/imageResizer.d.ts.map +1 -1
- package/dist/uploads/imageResizer.js +28 -44
- package/dist/uploads/isImage.js +2 -12
- package/dist/uploads/mimeTypeValidator.js +2 -12
- package/dist/uploads/mimeTypeValidator.spec.js +11 -15
- package/dist/uploads/saveBufferToFile.js +6 -21
- package/dist/uploads/types.d.ts +7 -1
- package/dist/uploads/types.d.ts.map +1 -1
- package/dist/uploads/types.js +2 -5
- package/dist/uploads/unlinkTempFiles.js +9 -22
- package/dist/uploads/uploadFiles.js +6 -21
- package/dist/utilities/checkDuplicateCollections.js +4 -14
- package/dist/utilities/combineMerge.js +4 -19
- package/dist/utilities/commitTransaction.js +4 -12
- package/dist/utilities/configToJSONSchema.js +22 -41
- package/dist/utilities/configToJSONSchema.spec.js +5 -9
- package/dist/utilities/convertData.js +3 -23
- package/dist/utilities/createArrayFromCommaDelineated.js +2 -12
- package/dist/utilities/createLocalReq.js +6 -16
- package/dist/utilities/deepCopyObject.js +2 -12
- package/dist/utilities/deepMerge.js +2 -12
- package/dist/utilities/fieldSchemaToJSON.js +2 -12
- package/dist/utilities/flattenTopLevelFields.js +6 -16
- package/dist/utilities/formatLabels.js +9 -70
- package/dist/utilities/formatLabels.spec.js +8 -12
- package/dist/utilities/getCSSVariable.js +2 -12
- package/dist/utilities/getEntityPolicies.js +4 -14
- package/dist/utilities/getIDType.js +2 -12
- package/dist/utilities/getObjectDotNotation.js +2 -12
- package/dist/utilities/getUniqueListBy.js +2 -12
- package/dist/utilities/initTransaction.js +5 -12
- package/dist/utilities/isEntityHidden.js +2 -12
- package/dist/utilities/isNumber.js +2 -12
- package/dist/utilities/isValidID.js +5 -20
- package/dist/utilities/isolateObjectProperty.js +2 -12
- package/dist/utilities/killTransaction.js +4 -12
- package/dist/utilities/logger.d.ts.map +1 -1
- package/dist/utilities/logger.js +16 -37
- package/dist/utilities/mapAsync.js +2 -12
- package/dist/utilities/overwriteMerge.js +2 -12
- package/dist/utilities/parseCookies.js +4 -14
- package/dist/utilities/pinoPretty.d.ts +1 -0
- package/dist/utilities/pinoPretty.d.ts.map +1 -0
- package/dist/utilities/pinoPretty.js +2 -0
- package/dist/utilities/sanitizeInternalFields.js +2 -12
- package/dist/utilities/setsAreEqual.js +2 -12
- package/dist/utilities/telemetry/events/adminInit.js +7 -17
- package/dist/utilities/telemetry/events/serverInit.js +4 -14
- package/dist/utilities/telemetry/index.js +17 -40
- package/dist/utilities/telemetry/oneWayHash.js +4 -14
- package/dist/utilities/timestamp.js +2 -12
- package/dist/utilities/toKebabCase.js +2 -12
- package/dist/utilities/wait.js +2 -12
- package/dist/utilities/wordBoundariesRegex.js +3 -13
- package/dist/versions/baseFields.js +5 -23
- package/dist/versions/buildCollectionFields.js +2 -12
- package/dist/versions/buildGlobalFields.js +2 -12
- package/dist/versions/deleteCollectionVersions.js +2 -12
- package/dist/versions/drafts/appendVersionToQueryKey.js +2 -12
- package/dist/versions/drafts/getQueryDraftsSort.js +2 -12
- package/dist/versions/drafts/replaceWithDraftIfAvailable.js +12 -27
- package/dist/versions/enforceMaxVersions.js +2 -12
- package/dist/versions/getLatestCollectionVersion.js +4 -14
- package/dist/versions/getLatestGlobalVersion.js +4 -14
- package/dist/versions/getVersionsModelName.js +2 -12
- package/dist/versions/saveVersion.js +8 -23
- package/dist/versions/types.js +2 -5
- package/errors.js +2 -68
- package/graphql.d.ts +3 -0
- package/graphql.js +27 -0
- package/operations.js +29 -125
- package/package.json +17 -5
- package/types.js +4 -74
- package/utilities.js +28 -141
- package/versions.js +9 -45
|
@@ -1,13 +1,3 @@
|
|
|
1
|
-
|
|
2
|
-
Object.defineProperty(exports, "__esModule", {
|
|
3
|
-
value: true
|
|
4
|
-
});
|
|
5
|
-
Object.defineProperty(exports, "default", {
|
|
6
|
-
enumerable: true,
|
|
7
|
-
get: function() {
|
|
8
|
-
return _default;
|
|
9
|
-
}
|
|
10
|
-
});
|
|
11
|
-
const _default = ()=>{};
|
|
1
|
+
export default (()=>{});
|
|
12
2
|
|
|
13
|
-
//# sourceMappingURL=data:application/json;base64,
|
|
3
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIi4uLy4uLy4uL3NyYy9idW5kbGVycy9tb2Nrcy9lbXB0eU1vZHVsZS5qcyJdLCJzb3VyY2VzQ29udGVudCI6WyJleHBvcnQgZGVmYXVsdCAoKSA9PiB7fVxuIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLGVBQWUsQ0FBQSxLQUFPLENBQUEsRUFBQyJ9
|
|
@@ -1,13 +1,3 @@
|
|
|
1
|
-
|
|
2
|
-
Object.defineProperty(exports, "__esModule", {
|
|
3
|
-
value: true
|
|
4
|
-
});
|
|
5
|
-
Object.defineProperty(exports, "default", {
|
|
6
|
-
enumerable: true,
|
|
7
|
-
get: function() {
|
|
8
|
-
return _default;
|
|
9
|
-
}
|
|
10
|
-
});
|
|
11
|
-
const _default = 'file-stub';
|
|
1
|
+
export default 'file-stub';
|
|
12
2
|
|
|
13
|
-
//# sourceMappingURL=data:application/json;base64,
|
|
3
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIi4uLy4uLy4uL3NyYy9idW5kbGVycy9tb2Nrcy9maWxlTW9jay5qcyJdLCJzb3VyY2VzQ29udGVudCI6WyJleHBvcnQgZGVmYXVsdCAnZmlsZS1zdHViJ1xuIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLGVBQWUsWUFBVyJ9
|
package/dist/bundlers/types.js
CHANGED
|
@@ -1,6 +1,3 @@
|
|
|
1
|
-
|
|
2
|
-
Object.defineProperty(exports, "__esModule", {
|
|
3
|
-
value: true
|
|
4
|
-
});
|
|
1
|
+
export { };
|
|
5
2
|
|
|
6
|
-
//# sourceMappingURL=data:application/json;base64,
|
|
3
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIi4uLy4uL3NyYy9idW5kbGVycy90eXBlcy50cyJdLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgdHlwZSB7IFBheWxvYWRIYW5kbGVyLCBTYW5pdGl6ZWRDb25maWcgfSBmcm9tICdwYXlsb2FkL2NvbmZpZydcblxuaW1wb3J0IHR5cGUgeyBQYXlsb2FkIH0gZnJvbSAnLi4vdHlwZXMnXG5cbmV4cG9ydCBpbnRlcmZhY2UgUGF5bG9hZEJ1bmRsZXIge1xuICBidWlsZDogKHBheWxvYWRDb25maWc6IFNhbml0aXplZENvbmZpZykgPT4gUHJvbWlzZTx2b2lkPiAvLyB1c2VkIGluIGBwYXlsb2FkIGJ1aWxkYFxuICBkZXY6IChwYXlsb2FkOiBQYXlsb2FkKSA9PiBQcm9taXNlPFBheWxvYWRIYW5kbGVyPiAvLyB0aGlzIHdvdWxkIGJlIGEgdHlwaWNhbCBFeHByZXNzIG1pZGRsZXdhcmUgaGFuZGxlclxuICBzZXJ2ZTogKHBheWxvYWQ6IFBheWxvYWQpID0+IFByb21pc2U8UGF5bG9hZEhhbmRsZXI+IC8vIHNlcnZlIGJ1aWx0IGZpbGVzIGluIHByb2R1Y3Rpb25cbn1cbiJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFJQSxXQUlDIn0=
|
|
@@ -1,14 +1,4 @@
|
|
|
1
|
-
"use strict";
|
|
2
|
-
Object.defineProperty(exports, "__esModule", {
|
|
3
|
-
value: true
|
|
4
|
-
});
|
|
5
|
-
Object.defineProperty(exports, "default", {
|
|
6
|
-
enumerable: true,
|
|
7
|
-
get: function() {
|
|
8
|
-
return _default;
|
|
9
|
-
}
|
|
10
|
-
});
|
|
11
1
|
const buildCollection = (collection)=>collection;
|
|
12
|
-
|
|
2
|
+
export default buildCollection;
|
|
13
3
|
|
|
14
|
-
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIi4uLy4uLy4uL3NyYy9jb2xsZWN0aW9ucy9jb25maWcvYnVpbGQudHMiXSwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHR5cGUgeyBDb2xsZWN0aW9uQ29uZmlnIH0gZnJvbSAnLi90eXBlcydcblxuY29uc3QgYnVpbGRDb2xsZWN0aW9uID0gKGNvbGxlY3Rpb246IENvbGxlY3Rpb25Db25maWcpOiBDb2xsZWN0aW9uQ29uZmlnID0+
|
|
4
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIi4uLy4uLy4uL3NyYy9jb2xsZWN0aW9ucy9jb25maWcvYnVpbGQudHMiXSwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHR5cGUgeyBDb2xsZWN0aW9uQ29uZmlnIH0gZnJvbSAnLi90eXBlcydcblxuY29uc3QgYnVpbGRDb2xsZWN0aW9uID0gKGNvbGxlY3Rpb246IENvbGxlY3Rpb25Db25maWcpOiBDb2xsZWN0aW9uQ29uZmlnID0+IGNvbGxlY3Rpb25cblxuZXhwb3J0IGRlZmF1bHQgYnVpbGRDb2xsZWN0aW9uXG4iXSwibmFtZXMiOlsiYnVpbGRDb2xsZWN0aW9uIiwiY29sbGVjdGlvbiJdLCJtYXBwaW5ncyI6IkFBRUEsTUFBTUEsa0JBQWtCLENBQUNDLGFBQW1EQTtBQUU1RSxlQUFlRCxnQkFBZSJ9
|
|
@@ -1,34 +1,11 @@
|
|
|
1
|
-
|
|
2
|
-
|
|
3
|
-
value: true
|
|
4
|
-
});
|
|
5
|
-
function _export(target, all) {
|
|
6
|
-
for(var name in all)Object.defineProperty(target, name, {
|
|
7
|
-
enumerable: true,
|
|
8
|
-
get: all[name]
|
|
9
|
-
});
|
|
10
|
-
}
|
|
11
|
-
_export(exports, {
|
|
12
|
-
authDefaults: function() {
|
|
13
|
-
return authDefaults;
|
|
14
|
-
},
|
|
15
|
-
defaults: function() {
|
|
16
|
-
return defaults;
|
|
17
|
-
}
|
|
18
|
-
});
|
|
19
|
-
const _defaultAccess = /*#__PURE__*/ _interop_require_default(require("../../auth/defaultAccess"));
|
|
20
|
-
function _interop_require_default(obj) {
|
|
21
|
-
return obj && obj.__esModule ? obj : {
|
|
22
|
-
default: obj
|
|
23
|
-
};
|
|
24
|
-
}
|
|
25
|
-
const defaults = {
|
|
1
|
+
import defaultAccess from '../../auth/defaultAccess';
|
|
2
|
+
export const defaults = {
|
|
26
3
|
access: {
|
|
27
|
-
create:
|
|
28
|
-
delete:
|
|
29
|
-
read:
|
|
30
|
-
unlock:
|
|
31
|
-
update:
|
|
4
|
+
create: defaultAccess,
|
|
5
|
+
delete: defaultAccess,
|
|
6
|
+
read: defaultAccess,
|
|
7
|
+
unlock: defaultAccess,
|
|
8
|
+
update: defaultAccess
|
|
32
9
|
},
|
|
33
10
|
admin: {
|
|
34
11
|
components: {},
|
|
@@ -71,7 +48,7 @@ const defaults = {
|
|
|
71
48
|
upload: false,
|
|
72
49
|
versions: false
|
|
73
50
|
};
|
|
74
|
-
const authDefaults = {
|
|
51
|
+
export const authDefaults = {
|
|
75
52
|
cookies: {
|
|
76
53
|
sameSite: 'Lax',
|
|
77
54
|
secure: false
|
|
@@ -83,4 +60,4 @@ const authDefaults = {
|
|
|
83
60
|
verify: false
|
|
84
61
|
};
|
|
85
62
|
|
|
86
|
-
//# sourceMappingURL=data:application/json;base64,
|
|
63
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIi4uLy4uLy4uL3NyYy9jb2xsZWN0aW9ucy9jb25maWcvZGVmYXVsdHMudHMiXSwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IGRlZmF1bHRBY2Nlc3MgZnJvbSAnLi4vLi4vYXV0aC9kZWZhdWx0QWNjZXNzJ1xuXG5leHBvcnQgY29uc3QgZGVmYXVsdHMgPSB7XG4gIGFjY2Vzczoge1xuICAgIGNyZWF0ZTogZGVmYXVsdEFjY2VzcyxcbiAgICBkZWxldGU6IGRlZmF1bHRBY2Nlc3MsXG4gICAgcmVhZDogZGVmYXVsdEFjY2VzcyxcbiAgICB1bmxvY2s6IGRlZmF1bHRBY2Nlc3MsXG4gICAgdXBkYXRlOiBkZWZhdWx0QWNjZXNzLFxuICB9LFxuICBhZG1pbjoge1xuICAgIGNvbXBvbmVudHM6IHt9LFxuICAgIGVuYWJsZVJpY2hUZXh0TGluazogdHJ1ZSxcbiAgICBlbmFibGVSaWNoVGV4dFJlbGF0aW9uc2hpcDogdHJ1ZSxcbiAgICBwYWdpbmF0aW9uOiB7XG4gICAgICBkZWZhdWx0TGltaXQ6IDEwLFxuICAgICAgbGltaXRzOiBbNSwgMTAsIDI1LCA1MCwgMTAwXSxcbiAgICB9LFxuICAgIHVzZUFzVGl0bGU6ICdpZCcsXG4gIH0sXG4gIGF1dGg6IGZhbHNlLFxuICBjdXN0b206IHt9LFxuICBlbmRwb2ludHM6IFtdLFxuICBmaWVsZHM6IFtdLFxuICBob29rczoge1xuICAgIGFmdGVyQ2hhbmdlOiBbXSxcbiAgICBhZnRlckRlbGV0ZTogW10sXG4gICAgYWZ0ZXJGb3Jnb3RQYXNzd29yZDogW10sXG4gICAgYWZ0ZXJMb2dpbjogW10sXG4gICAgYWZ0ZXJMb2dvdXQ6IFtdLFxuICAgIGFmdGVyTWU6IFtdLFxuICAgIGFmdGVyT3BlcmF0aW9uOiBbXSxcbiAgICBhZnRlclJlYWQ6IFtdLFxuICAgIGFmdGVyUmVmcmVzaDogW10sXG4gICAgYmVmb3JlQ2hhbmdlOiBbXSxcbiAgICBiZWZvcmVEZWxldGU6IFtdLFxuICAgIGJlZm9yZUxvZ2luOiBbXSxcbiAgICBiZWZvcmVPcGVyYXRpb246IFtdLFxuICAgIGJlZm9yZVJlYWQ6IFtdLFxuICAgIGJlZm9yZVZhbGlkYXRlOiBbXSxcbiAgfSxcbiAgdGltZXN0YW1wczogdHJ1ZSxcbiAgdXBsb2FkOiBmYWxzZSxcbiAgdmVyc2lvbnM6IGZhbHNlLFxufVxuXG5leHBvcnQgY29uc3QgYXV0aERlZmF1bHRzID0ge1xuICBjb29raWVzOiB7XG4gICAgc2FtZVNpdGU6ICdMYXgnLFxuICAgIHNlY3VyZTogZmFsc2UsXG4gIH0sXG4gIGZvcmdvdFBhc3N3b3JkOiB7fSxcbiAgbG9ja1RpbWU6IDYwMDAwMCwgLy8gMTAgbWludXRlc1xuICBtYXhMb2dpbkF0dGVtcHRzOiA1LFxuICB0b2tlbkV4cGlyYXRpb246IDcyMDAsXG4gIHZlcmlmeTogZmFsc2UsXG59XG4iXSwibmFtZXMiOlsiZGVmYXVsdEFjY2VzcyIsImRlZmF1bHRzIiwiYWNjZXNzIiwiY3JlYXRlIiwiZGVsZXRlIiwicmVhZCIsInVubG9jayIsInVwZGF0ZSIsImFkbWluIiwiY29tcG9uZW50cyIsImVuYWJsZVJpY2hUZXh0TGluayIsImVuYWJsZVJpY2hUZXh0UmVsYXRpb25zaGlwIiwicGFnaW5hdGlvbiIsImRlZmF1bHRMaW1pdCIsImxpbWl0cyIsInVzZUFzVGl0bGUiLCJhdXRoIiwiY3VzdG9tIiwiZW5kcG9pbnRzIiwiZmllbGRzIiwiaG9va3MiLCJhZnRlckNoYW5nZSIsImFmdGVyRGVsZXRlIiwiYWZ0ZXJGb3Jnb3RQYXNzd29yZCIsImFmdGVyTG9naW4iLCJhZnRlckxvZ291dCIsImFmdGVyTWUiLCJhZnRlck9wZXJhdGlvbiIsImFmdGVyUmVhZCIsImFmdGVyUmVmcmVzaCIsImJlZm9yZUNoYW5nZSIsImJlZm9yZURlbGV0ZSIsImJlZm9yZUxvZ2luIiwiYmVmb3JlT3BlcmF0aW9uIiwiYmVmb3JlUmVhZCIsImJlZm9yZVZhbGlkYXRlIiwidGltZXN0YW1wcyIsInVwbG9hZCIsInZlcnNpb25zIiwiYXV0aERlZmF1bHRzIiwiY29va2llcyIsInNhbWVTaXRlIiwic2VjdXJlIiwiZm9yZ290UGFzc3dvcmQiLCJsb2NrVGltZSIsIm1heExvZ2luQXR0ZW1wdHMiLCJ0b2tlbkV4cGlyYXRpb24iLCJ2ZXJpZnkiXSwibWFwcGluZ3MiOiJBQUFBLE9BQU9BLG1CQUFtQiwyQkFBMEI7QUFFcEQsT0FBTyxNQUFNQyxXQUFXO0lBQ3RCQyxRQUFRO1FBQ05DLFFBQVFIO1FBQ1JJLFFBQVFKO1FBQ1JLLE1BQU1MO1FBQ05NLFFBQVFOO1FBQ1JPLFFBQVFQO0lBQ1Y7SUFDQVEsT0FBTztRQUNMQyxZQUFZLENBQUM7UUFDYkMsb0JBQW9CO1FBQ3BCQyw0QkFBNEI7UUFDNUJDLFlBQVk7WUFDVkMsY0FBYztZQUNkQyxRQUFRO2dCQUFDO2dCQUFHO2dCQUFJO2dCQUFJO2dCQUFJO2FBQUk7UUFDOUI7UUFDQUMsWUFBWTtJQUNkO0lBQ0FDLE1BQU07SUFDTkMsUUFBUSxDQUFDO0lBQ1RDLFdBQVcsRUFBRTtJQUNiQyxRQUFRLEVBQUU7SUFDVkMsT0FBTztRQUNMQyxhQUFhLEVBQUU7UUFDZkMsYUFBYSxFQUFFO1FBQ2ZDLHFCQUFxQixFQUFFO1FBQ3ZCQyxZQUFZLEVBQUU7UUFDZEMsYUFBYSxFQUFFO1FBQ2ZDLFNBQVMsRUFBRTtRQUNYQyxnQkFBZ0IsRUFBRTtRQUNsQkMsV0FBVyxFQUFFO1FBQ2JDLGNBQWMsRUFBRTtRQUNoQkMsY0FBYyxFQUFFO1FBQ2hCQyxjQUFjLEVBQUU7UUFDaEJDLGFBQWEsRUFBRTtRQUNmQyxpQkFBaUIsRUFBRTtRQUNuQkMsWUFBWSxFQUFFO1FBQ2RDLGdCQUFnQixFQUFFO0lBQ3BCO0lBQ0FDLFlBQVk7SUFDWkMsUUFBUTtJQUNSQyxVQUFVO0FBQ1osRUFBQztBQUVELE9BQU8sTUFBTUMsZUFBZTtJQUMxQkMsU0FBUztRQUNQQyxVQUFVO1FBQ1ZDLFFBQVE7SUFDVjtJQUNBQyxnQkFBZ0IsQ0FBQztJQUNqQkMsVUFBVTtJQUNWQyxrQkFBa0I7SUFDbEJDLGlCQUFpQjtJQUNqQkMsUUFBUTtBQUNWLEVBQUMifQ==
|
|
@@ -1,34 +1,19 @@
|
|
|
1
|
-
|
|
2
|
-
|
|
3
|
-
|
|
4
|
-
|
|
5
|
-
|
|
6
|
-
|
|
7
|
-
|
|
8
|
-
|
|
9
|
-
|
|
10
|
-
|
|
11
|
-
|
|
12
|
-
|
|
13
|
-
|
|
14
|
-
|
|
15
|
-
|
|
16
|
-
const
|
|
17
|
-
const _TimestampsRequired = /*#__PURE__*/ _interop_require_default(require("../../errors/TimestampsRequired"));
|
|
18
|
-
const _sanitize = require("../../fields/config/sanitize");
|
|
19
|
-
const _types = require("../../fields/config/types");
|
|
20
|
-
const _mergeBaseFields = /*#__PURE__*/ _interop_require_default(require("../../fields/mergeBaseFields"));
|
|
21
|
-
const _extractTranslations = require("../../translations/extractTranslations");
|
|
22
|
-
const _getBaseFields = /*#__PURE__*/ _interop_require_default(require("../../uploads/getBaseFields"));
|
|
23
|
-
const _formatLabels = require("../../utilities/formatLabels");
|
|
24
|
-
const _baseFields = /*#__PURE__*/ _interop_require_default(require("../../versions/baseFields"));
|
|
25
|
-
const _defaults = require("./defaults");
|
|
26
|
-
function _interop_require_default(obj) {
|
|
27
|
-
return obj && obj.__esModule ? obj : {
|
|
28
|
-
default: obj
|
|
29
|
-
};
|
|
30
|
-
}
|
|
31
|
-
const translations = (0, _extractTranslations.extractTranslations)([
|
|
1
|
+
import merge from 'deepmerge';
|
|
2
|
+
import { isPlainObject } from 'is-plain-object';
|
|
3
|
+
import baseAccountLockFields from '../../auth/baseFields/accountLock';
|
|
4
|
+
import baseAPIKeyFields from '../../auth/baseFields/apiKey';
|
|
5
|
+
import baseAuthFields from '../../auth/baseFields/auth';
|
|
6
|
+
import baseVerificationFields from '../../auth/baseFields/verification';
|
|
7
|
+
import TimestampsRequired from '../../errors/TimestampsRequired';
|
|
8
|
+
import { sanitizeFields } from '../../fields/config/sanitize';
|
|
9
|
+
import { fieldAffectsData } from '../../fields/config/types';
|
|
10
|
+
import mergeBaseFields from '../../fields/mergeBaseFields';
|
|
11
|
+
import { extractTranslations } from '../../translations/extractTranslations';
|
|
12
|
+
import getBaseUploadFields from '../../uploads/getBaseFields';
|
|
13
|
+
import { formatLabels } from '../../utilities/formatLabels';
|
|
14
|
+
import baseVersionFields from '../../versions/baseFields';
|
|
15
|
+
import { authDefaults, defaults } from './defaults';
|
|
16
|
+
const translations = extractTranslations([
|
|
32
17
|
'general:createdAt',
|
|
33
18
|
'general:updatedAt'
|
|
34
19
|
]);
|
|
@@ -36,15 +21,15 @@ const sanitizeCollection = (config, collection)=>{
|
|
|
36
21
|
// /////////////////////////////////
|
|
37
22
|
// Make copy of collection config
|
|
38
23
|
// /////////////////////////////////
|
|
39
|
-
const sanitized = (
|
|
40
|
-
isMergeableObject:
|
|
24
|
+
const sanitized = merge(defaults, collection, {
|
|
25
|
+
isMergeableObject: isPlainObject
|
|
41
26
|
});
|
|
42
27
|
if (sanitized.timestamps !== false) {
|
|
43
28
|
// add default timestamps fields only as needed
|
|
44
29
|
let hasUpdatedAt = null;
|
|
45
30
|
let hasCreatedAt = null;
|
|
46
31
|
sanitized.fields.some((field)=>{
|
|
47
|
-
if (
|
|
32
|
+
if (fieldAffectsData(field)) {
|
|
48
33
|
if (field.name === 'updatedAt') hasUpdatedAt = true;
|
|
49
34
|
if (field.name === 'createdAt') hasCreatedAt = true;
|
|
50
35
|
}
|
|
@@ -75,13 +60,13 @@ const sanitizeCollection = (config, collection)=>{
|
|
|
75
60
|
});
|
|
76
61
|
}
|
|
77
62
|
}
|
|
78
|
-
sanitized.labels = sanitized.labels ||
|
|
63
|
+
sanitized.labels = sanitized.labels || formatLabels(sanitized.slug);
|
|
79
64
|
if (sanitized.versions) {
|
|
80
65
|
if (sanitized.versions === true) sanitized.versions = {
|
|
81
66
|
drafts: false
|
|
82
67
|
};
|
|
83
68
|
if (sanitized.timestamps === false) {
|
|
84
|
-
throw new
|
|
69
|
+
throw new TimestampsRequired(collection);
|
|
85
70
|
}
|
|
86
71
|
if (sanitized.versions.drafts) {
|
|
87
72
|
if (sanitized.versions.drafts === true) {
|
|
@@ -94,53 +79,53 @@ const sanitizeCollection = (config, collection)=>{
|
|
|
94
79
|
interval: 2000
|
|
95
80
|
};
|
|
96
81
|
}
|
|
97
|
-
sanitized.fields = (
|
|
82
|
+
sanitized.fields = mergeBaseFields(sanitized.fields, baseVersionFields);
|
|
98
83
|
}
|
|
99
84
|
}
|
|
100
85
|
if (sanitized.upload) {
|
|
101
86
|
if (sanitized.upload === true) sanitized.upload = {};
|
|
102
87
|
sanitized.upload.staticDir = sanitized.upload.staticDir || sanitized.slug;
|
|
103
88
|
sanitized.admin.useAsTitle = sanitized.admin.useAsTitle && sanitized.admin.useAsTitle !== 'id' ? sanitized.admin.useAsTitle : 'filename';
|
|
104
|
-
const uploadFields = (
|
|
89
|
+
const uploadFields = getBaseUploadFields({
|
|
105
90
|
collection: sanitized,
|
|
106
91
|
config
|
|
107
92
|
});
|
|
108
|
-
sanitized.fields = (
|
|
93
|
+
sanitized.fields = mergeBaseFields(sanitized.fields, uploadFields);
|
|
109
94
|
}
|
|
110
95
|
if (sanitized.auth) {
|
|
111
|
-
sanitized.auth = (
|
|
112
|
-
isMergeableObject:
|
|
96
|
+
sanitized.auth = merge(authDefaults, typeof sanitized.auth === 'object' ? sanitized.auth : {}, {
|
|
97
|
+
isMergeableObject: isPlainObject
|
|
113
98
|
});
|
|
114
99
|
let authFields = [];
|
|
115
100
|
if (sanitized.auth.useAPIKey) {
|
|
116
|
-
authFields = authFields.concat(
|
|
101
|
+
authFields = authFields.concat(baseAPIKeyFields);
|
|
117
102
|
}
|
|
118
103
|
if (!sanitized.auth.disableLocalStrategy) {
|
|
119
|
-
authFields = authFields.concat(
|
|
104
|
+
authFields = authFields.concat(baseAuthFields);
|
|
120
105
|
if (sanitized.auth.verify) {
|
|
121
106
|
if (sanitized.auth.verify === true) sanitized.auth.verify = {};
|
|
122
|
-
authFields = authFields.concat(
|
|
107
|
+
authFields = authFields.concat(baseVerificationFields);
|
|
123
108
|
}
|
|
124
109
|
if (sanitized.auth.maxLoginAttempts > 0) {
|
|
125
|
-
authFields = authFields.concat(
|
|
110
|
+
authFields = authFields.concat(baseAccountLockFields);
|
|
126
111
|
}
|
|
127
112
|
}
|
|
128
113
|
if (!sanitized.auth.strategies) {
|
|
129
114
|
sanitized.auth.strategies = [];
|
|
130
115
|
}
|
|
131
|
-
sanitized.fields = (
|
|
116
|
+
sanitized.fields = mergeBaseFields(sanitized.fields, authFields);
|
|
132
117
|
}
|
|
133
118
|
// /////////////////////////////////
|
|
134
119
|
// Sanitize fields
|
|
135
120
|
// /////////////////////////////////
|
|
136
121
|
const validRelationships = config.collections.map((c)=>c.slug) || [];
|
|
137
|
-
sanitized.fields =
|
|
122
|
+
sanitized.fields = sanitizeFields({
|
|
138
123
|
config,
|
|
139
124
|
fields: sanitized.fields,
|
|
140
125
|
validRelationships
|
|
141
126
|
});
|
|
142
127
|
return sanitized;
|
|
143
128
|
};
|
|
144
|
-
|
|
129
|
+
export default sanitizeCollection;
|
|
145
130
|
|
|
146
|
-
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIi4uLy4uLy4uL3NyYy9jb2xsZWN0aW9ucy9jb25maWcvc2FuaXRpemUudHMiXSwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IG1lcmdlIGZyb20gJ2RlZXBtZXJnZSdcbmltcG9ydCB7IGlzUGxhaW5PYmplY3QgfSBmcm9tICdpcy1wbGFpbi1vYmplY3QnXG5cbmltcG9ydCB0eXBlIHsgQ29uZmlnIH0gZnJvbSAnLi4vLi4vY29uZmlnL3R5cGVzJ1xuaW1wb3J0IHR5cGUgeyBDb2xsZWN0aW9uQ29uZmlnLCBTYW5pdGl6ZWRDb2xsZWN0aW9uQ29uZmlnIH0gZnJvbSAnLi90eXBlcydcblxuaW1wb3J0IGJhc2VBY2NvdW50TG9ja0ZpZWxkcyBmcm9tICcuLi8uLi9hdXRoL2Jhc2VGaWVsZHMvYWNjb3VudExvY2snXG5pbXBvcnQgYmFzZUFQSUtleUZpZWxkcyBmcm9tICcuLi8uLi9hdXRoL2Jhc2VGaWVsZHMvYXBpS2V5J1xuaW1wb3J0IGJhc2VBdXRoRmllbGRzIGZyb20gJy4uLy4uL2F1dGgvYmFzZUZpZWxkcy9hdXRoJ1xuaW1wb3J0IGJhc2VWZXJpZmljYXRpb25GaWVsZHMgZnJvbSAnLi4vLi4vYXV0aC9iYXNlRmllbGRzL3ZlcmlmaWNhdGlvbidcbmltcG9ydCBUaW1lc3RhbXBzUmVxdWlyZWQgZnJvbSAnLi4vLi4vZXJyb3JzL1RpbWVzdGFtcHNSZXF1aXJlZCdcbmltcG9ydCB7IHNhbml0aXplRmllbGRzIH0gZnJvbSAnLi4vLi4vZmllbGRzL2NvbmZpZy9zYW5pdGl6ZSdcbmltcG9ydCB7IGZpZWxkQWZmZWN0c0RhdGEgfSBmcm9tICcuLi8uLi9maWVsZHMvY29uZmlnL3R5cGVzJ1xuaW1wb3J0IG1lcmdlQmFzZUZpZWxkcyBmcm9tICcuLi8uLi9maWVsZHMvbWVyZ2VCYXNlRmllbGRzJ1xuaW1wb3J0IHsgZXh0cmFjdFRyYW5zbGF0aW9ucyB9IGZyb20gJy4uLy4uL3RyYW5zbGF0aW9ucy9leHRyYWN0VHJhbnNsYXRpb25zJ1xuaW1wb3J0IGdldEJhc2VVcGxvYWRGaWVsZHMgZnJvbSAnLi4vLi4vdXBsb2Fkcy9nZXRCYXNlRmllbGRzJ1xuaW1wb3J0IHsgZm9ybWF0TGFiZWxzIH0gZnJvbSAnLi4vLi4vdXRpbGl0aWVzL2Zvcm1hdExhYmVscydcbmltcG9ydCBiYXNlVmVyc2lvbkZpZWxkcyBmcm9tICcuLi8uLi92ZXJzaW9ucy9iYXNlRmllbGRzJ1xuaW1wb3J0IHsgYXV0aERlZmF1bHRzLCBkZWZhdWx0cyB9IGZyb20gJy4vZGVmYXVsdHMnXG5cbmNvbnN0IHRyYW5zbGF0aW9ucyA9IGV4dHJhY3RUcmFuc2xhdGlvbnMoWydnZW5lcmFsOmNyZWF0ZWRBdCcsICdnZW5lcmFsOnVwZGF0ZWRBdCddKVxuXG5jb25zdCBzYW5pdGl6ZUNvbGxlY3Rpb24gPSAoXG4gIGNvbmZpZzogQ29uZmlnLFxuICBjb2xsZWN0aW9uOiBDb2xsZWN0aW9uQ29uZmlnLFxuKTogU2FuaXRpemVkQ29sbGVjdGlvbkNvbmZpZyA9PiB7XG4gIC8vIC8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vL1xuICAvLyBNYWtlIGNvcHkgb2YgY29sbGVjdGlvbiBjb25maWdcbiAgLy8gLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vXG5cbiAgY29uc3Qgc2FuaXRpemVkOiBDb2xsZWN0aW9uQ29uZmlnID0gbWVyZ2UoZGVmYXVsdHMsIGNvbGxlY3Rpb24sIHtcbiAgICBpc01lcmdlYWJsZU9iamVjdDogaXNQbGFpbk9iamVjdCxcbiAgfSlcblxuICBpZiAoc2FuaXRpemVkLnRpbWVzdGFtcHMgIT09IGZhbHNlKSB7XG4gICAgLy8gYWRkIGRlZmF1bHQgdGltZXN0YW1wcyBmaWVsZHMgb25seSBhcyBuZWVkZWRcbiAgICBsZXQgaGFzVXBkYXRlZEF0ID0gbnVsbFxuICAgIGxldCBoYXNDcmVhdGVkQXQgPSBudWxsXG4gICAgc2FuaXRpemVkLmZpZWxkcy5zb21lKChmaWVsZCkgPT4ge1xuICAgICAgaWYgKGZpZWxkQWZmZWN0c0RhdGEoZmllbGQpKSB7XG4gICAgICAgIGlmIChmaWVsZC5uYW1lID09PSAndXBkYXRlZEF0JykgaGFzVXBkYXRlZEF0ID0gdHJ1ZVxuICAgICAgICBpZiAoZmllbGQubmFtZSA9PT0gJ2NyZWF0ZWRBdCcpIGhhc0NyZWF0ZWRBdCA9IHRydWVcbiAgICAgIH1cbiAgICAgIHJldHVybiBoYXNDcmVhdGVkQXQgJiYgaGFzVXBkYXRlZEF0XG4gICAgfSlcbiAgICBpZiAoIWhhc1VwZGF0ZWRBdCkge1xuICAgICAgc2FuaXRpemVkLmZpZWxkcy5wdXNoKHtcbiAgICAgICAgbmFtZTogJ3VwZGF0ZWRBdCcsXG4gICAgICAgIHR5cGU6ICdkYXRlJyxcbiAgICAgICAgYWRtaW46IHtcbiAgICAgICAgICBkaXNhYmxlQnVsa0VkaXQ6IHRydWUsXG4gICAgICAgICAgaGlkZGVuOiB0cnVlLFxuICAgICAgICB9LFxuICAgICAgICBsYWJlbDogdHJhbnNsYXRpb25zWydnZW5lcmFsOnVwZGF0ZWRBdCddLFxuICAgICAgfSlcbiAgICB9XG4gICAgaWYgKCFoYXNDcmVhdGVkQXQpIHtcbiAgICAgIHNhbml0aXplZC5maWVsZHMucHVzaCh7XG4gICAgICAgIG5hbWU6ICdjcmVhdGVkQXQnLFxuICAgICAgICBhZG1pbjoge1xuICAgICAgICAgIGRpc2FibGVCdWxrRWRpdDogdHJ1ZSxcbiAgICAgICAgICBoaWRkZW46IHRydWUsXG4gICAgICAgIH0sXG4gICAgICAgIC8vIFRoZSBkZWZhdWx0IHNvcnQgZm9yIGxpc3QgdmlldyBpcyBjcmVhdGVkQXQuIFRodXMsIGVuYWJsaW5nIGluZGV4aW5nIGJ5IGRlZmF1bHQsIGlzIGEgbWFqb3IgcGVyZm9ybWFuY2UgaW1wcm92ZW1lbnQsIGVzcGVjaWFsbHkgZm9yIGxhcmdlIG9yIGEgbGFyZ2UgYW1vdW50IG9mIGNvbGxlY3Rpb25zLlxuICAgICAgICB0eXBlOiAnZGF0ZScsXG4gICAgICAgIGluZGV4OiB0cnVlLFxuICAgICAgICBsYWJlbDogdHJhbnNsYXRpb25zWydnZW5lcmFsOmNyZWF0ZWRBdCddLFxuICAgICAgfSlcbiAgICB9XG4gIH1cblxuICBzYW5pdGl6ZWQubGFiZWxzID0gc2FuaXRpemVkLmxhYmVscyB8fCBmb3JtYXRMYWJlbHMoc2FuaXRpemVkLnNsdWcpXG5cbiAgaWYgKHNhbml0aXplZC52ZXJzaW9ucykge1xuICAgIGlmIChzYW5pdGl6ZWQudmVyc2lvbnMgPT09IHRydWUpIHNhbml0aXplZC52ZXJzaW9ucyA9IHsgZHJhZnRzOiBmYWxzZSB9XG5cbiAgICBpZiAoc2FuaXRpemVkLnRpbWVzdGFtcHMgPT09IGZhbHNlKSB7XG4gICAgICB0aHJvdyBuZXcgVGltZXN0YW1wc1JlcXVpcmVkKGNvbGxlY3Rpb24pXG4gICAgfVxuXG4gICAgaWYgKHNhbml0aXplZC52ZXJzaW9ucy5kcmFmdHMpIHtcbiAgICAgIGlmIChzYW5pdGl6ZWQudmVyc2lvbnMuZHJhZnRzID09PSB0cnVlKSB7XG4gICAgICAgIHNhbml0aXplZC52ZXJzaW9ucy5kcmFmdHMgPSB7XG4gICAgICAgICAgYXV0b3NhdmU6IGZhbHNlLFxuICAgICAgICB9XG4gICAgICB9XG5cbiAgICAgIGlmIChzYW5pdGl6ZWQudmVyc2lvbnMuZHJhZnRzLmF1dG9zYXZlID09PSB0cnVlKSB7XG4gICAgICAgIHNhbml0aXplZC52ZXJzaW9ucy5kcmFmdHMuYXV0b3NhdmUgPSB7XG4gICAgICAgICAgaW50ZXJ2YWw6IDIwMDAsXG4gICAgICAgIH1cbiAgICAgIH1cblxuICAgICAgc2FuaXRpemVkLmZpZWxkcyA9IG1lcmdlQmFzZUZpZWxkcyhzYW5pdGl6ZWQuZmllbGRzLCBiYXNlVmVyc2lvbkZpZWxkcylcbiAgICB9XG4gIH1cblxuICBpZiAoc2FuaXRpemVkLnVwbG9hZCkge1xuICAgIGlmIChzYW5pdGl6ZWQudXBsb2FkID09PSB0cnVlKSBzYW5pdGl6ZWQudXBsb2FkID0ge31cblxuICAgIHNhbml0aXplZC51cGxvYWQuc3RhdGljRGlyID0gc2FuaXRpemVkLnVwbG9hZC5zdGF0aWNEaXIgfHwgc2FuaXRpemVkLnNsdWdcbiAgICBzYW5pdGl6ZWQuYWRtaW4udXNlQXNUaXRsZSA9XG4gICAgICBzYW5pdGl6ZWQuYWRtaW4udXNlQXNUaXRsZSAmJiBzYW5pdGl6ZWQuYWRtaW4udXNlQXNUaXRsZSAhPT0gJ2lkJ1xuICAgICAgICA/IHNhbml0aXplZC5hZG1pbi51c2VBc1RpdGxlXG4gICAgICAgIDogJ2ZpbGVuYW1lJ1xuXG4gICAgY29uc3QgdXBsb2FkRmllbGRzID0gZ2V0QmFzZVVwbG9hZEZpZWxkcyh7XG4gICAgICBjb2xsZWN0aW9uOiBzYW5pdGl6ZWQsXG4gICAgICBjb25maWcsXG4gICAgfSlcblxuICAgIHNhbml0aXplZC5maWVsZHMgPSBtZXJnZUJhc2VGaWVsZHMoc2FuaXRpemVkLmZpZWxkcywgdXBsb2FkRmllbGRzKVxuICB9XG5cbiAgaWYgKHNhbml0aXplZC5hdXRoKSB7XG4gICAgc2FuaXRpemVkLmF1dGggPSBtZXJnZShhdXRoRGVmYXVsdHMsIHR5cGVvZiBzYW5pdGl6ZWQuYXV0aCA9PT0gJ29iamVjdCcgPyBzYW5pdGl6ZWQuYXV0aCA6IHt9LCB7XG4gICAgICBpc01lcmdlYWJsZU9iamVjdDogaXNQbGFpbk9iamVjdCxcbiAgICB9KVxuXG4gICAgbGV0IGF1dGhGaWVsZHMgPSBbXVxuXG4gICAgaWYgKHNhbml0aXplZC5hdXRoLnVzZUFQSUtleSkge1xuICAgICAgYXV0aEZpZWxkcyA9IGF1dGhGaWVsZHMuY29uY2F0KGJhc2VBUElLZXlGaWVsZHMpXG4gICAgfVxuXG4gICAgaWYgKCFzYW5pdGl6ZWQuYXV0aC5kaXNhYmxlTG9jYWxTdHJhdGVneSkge1xuICAgICAgYXV0aEZpZWxkcyA9IGF1dGhGaWVsZHMuY29uY2F0KGJhc2VBdXRoRmllbGRzKVxuXG4gICAgICBpZiAoc2FuaXRpemVkLmF1dGgudmVyaWZ5KSB7XG4gICAgICAgIGlmIChzYW5pdGl6ZWQuYXV0aC52ZXJpZnkgPT09IHRydWUpIHNhbml0aXplZC5hdXRoLnZlcmlmeSA9IHt9XG4gICAgICAgIGF1dGhGaWVsZHMgPSBhdXRoRmllbGRzLmNvbmNhdChiYXNlVmVyaWZpY2F0aW9uRmllbGRzKVxuICAgICAgfVxuXG4gICAgICBpZiAoc2FuaXRpemVkLmF1dGgubWF4TG9naW5BdHRlbXB0cyA+IDApIHtcbiAgICAgICAgYXV0aEZpZWxkcyA9IGF1dGhGaWVsZHMuY29uY2F0KGJhc2VBY2NvdW50TG9ja0ZpZWxkcylcbiAgICAgIH1cbiAgICB9XG5cbiAgICBpZiAoIXNhbml0aXplZC5hdXRoLnN0cmF0ZWdpZXMpIHtcbiAgICAgIHNhbml0aXplZC5hdXRoLnN0cmF0ZWdpZXMgPSBbXVxuICAgIH1cblxuICAgIHNhbml0aXplZC5maWVsZHMgPSBtZXJnZUJhc2VGaWVsZHMoc2FuaXRpemVkLmZpZWxkcywgYXV0aEZpZWxkcylcbiAgfVxuXG4gIC8vIC8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vL1xuICAvLyBTYW5pdGl6ZSBmaWVsZHNcbiAgLy8gLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vXG5cbiAgY29uc3QgdmFsaWRSZWxhdGlvbnNoaXBzID0gY29uZmlnLmNvbGxlY3Rpb25zLm1hcCgoYykgPT4gYy5zbHVnKSB8fCBbXVxuICBzYW5pdGl6ZWQuZmllbGRzID0gc2FuaXRpemVGaWVsZHMoe1xuICAgIGNvbmZpZyxcbiAgICBmaWVsZHM6IHNhbml0aXplZC5maWVsZHMsXG4gICAgdmFsaWRSZWxhdGlvbnNoaXBzLFxuICB9KVxuXG4gIHJldHVybiBzYW5pdGl6ZWQgYXMgU2FuaXRpemVkQ29sbGVjdGlvbkNvbmZpZ1xufVxuXG5leHBvcnQgZGVmYXVsdCBzYW5pdGl6ZUNvbGxlY3Rpb25cbiJdLCJuYW1lcyI6WyJ0cmFuc2xhdGlvbnMiLCJleHRyYWN0VHJhbnNsYXRpb25zIiwic2FuaXRpemVDb2xsZWN0aW9uIiwiY29uZmlnIiwiY29sbGVjdGlvbiIsInNhbml0aXplZCIsIm1lcmdlIiwiZGVmYXVsdHMiLCJpc01lcmdlYWJsZU9iamVjdCIsImlzUGxhaW5PYmplY3QiLCJ0aW1lc3RhbXBzIiwiaGFzVXBkYXRlZEF0IiwiaGFzQ3JlYXRlZEF0IiwiZmllbGRzIiwic29tZSIsImZpZWxkIiwiZmllbGRBZmZlY3RzRGF0YSIsIm5hbWUiLCJwdXNoIiwidHlwZSIsImFkbWluIiwiZGlzYWJsZUJ1bGtFZGl0IiwiaGlkZGVuIiwibGFiZWwiLCJpbmRleCIsImxhYmVscyIsImZvcm1hdExhYmVscyIsInNsdWciLCJ2ZXJzaW9ucyIsImRyYWZ0cyIsIlRpbWVzdGFtcHNSZXF1aXJlZCIsImF1dG9zYXZlIiwiaW50ZXJ2YWwiLCJtZXJnZUJhc2VGaWVsZHMiLCJiYXNlVmVyc2lvbkZpZWxkcyIsInVwbG9hZCIsInN0YXRpY0RpciIsInVzZUFzVGl0bGUiLCJ1cGxvYWRGaWVsZHMiLCJnZXRCYXNlVXBsb2FkRmllbGRzIiwiYXV0aCIsImF1dGhEZWZhdWx0cyIsImF1dGhGaWVsZHMiLCJ1c2VBUElLZXkiLCJjb25jYXQiLCJiYXNlQVBJS2V5RmllbGRzIiwiZGlzYWJsZUxvY2FsU3RyYXRlZ3kiLCJiYXNlQXV0aEZpZWxkcyIsInZlcmlmeSIsImJhc2VWZXJpZmljYXRpb25GaWVsZHMiLCJtYXhMb2dpbkF0dGVtcHRzIiwiYmFzZUFjY291bnRMb2NrRmllbGRzIiwic3RyYXRlZ2llcyIsInZhbGlkUmVsYXRpb25zaGlwcyIsImNvbGxlY3Rpb25zIiwibWFwIiwiYyIsInNhbml0aXplRmllbGRzIl0sIm1hcHBpbmdzIjoiOzs7OytCQStKQTs7O2VBQUE7OztrRUEvSmtCOytCQUNZO29FQUtJOytEQUNMOzZEQUNGO3FFQUNROzJFQUNKOzBCQUNBO3VCQUNFO3dFQUNMO3FDQUNRO3NFQUNKOzhCQUNIO21FQUNDOzBCQUNTOzs7Ozs7QUFFdkMsTUFBTUEsZUFBZUMsSUFBQUEsd0NBQW1CLEVBQUM7SUFBQztJQUFxQjtDQUFvQjtBQUVuRixNQUFNQyxxQkFBcUIsQ0FDekJDLFFBQ0FDO0lBRUEsb0NBQW9DO0lBQ3BDLGlDQUFpQztJQUNqQyxvQ0FBb0M7SUFFcEMsTUFBTUMsWUFBOEJDLElBQUFBLGtCQUFLLEVBQUNDLGtCQUFR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
|
|
131
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIi4uLy4uLy4uL3NyYy9jb2xsZWN0aW9ucy9jb25maWcvc2FuaXRpemUudHMiXSwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IG1lcmdlIGZyb20gJ2RlZXBtZXJnZSdcbmltcG9ydCB7IGlzUGxhaW5PYmplY3QgfSBmcm9tICdpcy1wbGFpbi1vYmplY3QnXG5cbmltcG9ydCB0eXBlIHsgQ29uZmlnIH0gZnJvbSAnLi4vLi4vY29uZmlnL3R5cGVzJ1xuaW1wb3J0IHR5cGUgeyBDb2xsZWN0aW9uQ29uZmlnLCBTYW5pdGl6ZWRDb2xsZWN0aW9uQ29uZmlnIH0gZnJvbSAnLi90eXBlcydcblxuaW1wb3J0IGJhc2VBY2NvdW50TG9ja0ZpZWxkcyBmcm9tICcuLi8uLi9hdXRoL2Jhc2VGaWVsZHMvYWNjb3VudExvY2snXG5pbXBvcnQgYmFzZUFQSUtleUZpZWxkcyBmcm9tICcuLi8uLi9hdXRoL2Jhc2VGaWVsZHMvYXBpS2V5J1xuaW1wb3J0IGJhc2VBdXRoRmllbGRzIGZyb20gJy4uLy4uL2F1dGgvYmFzZUZpZWxkcy9hdXRoJ1xuaW1wb3J0IGJhc2VWZXJpZmljYXRpb25GaWVsZHMgZnJvbSAnLi4vLi4vYXV0aC9iYXNlRmllbGRzL3ZlcmlmaWNhdGlvbidcbmltcG9ydCBUaW1lc3RhbXBzUmVxdWlyZWQgZnJvbSAnLi4vLi4vZXJyb3JzL1RpbWVzdGFtcHNSZXF1aXJlZCdcbmltcG9ydCB7IHNhbml0aXplRmllbGRzIH0gZnJvbSAnLi4vLi4vZmllbGRzL2NvbmZpZy9zYW5pdGl6ZSdcbmltcG9ydCB7IGZpZWxkQWZmZWN0c0RhdGEgfSBmcm9tICcuLi8uLi9maWVsZHMvY29uZmlnL3R5cGVzJ1xuaW1wb3J0IG1lcmdlQmFzZUZpZWxkcyBmcm9tICcuLi8uLi9maWVsZHMvbWVyZ2VCYXNlRmllbGRzJ1xuaW1wb3J0IHsgZXh0cmFjdFRyYW5zbGF0aW9ucyB9IGZyb20gJy4uLy4uL3RyYW5zbGF0aW9ucy9leHRyYWN0VHJhbnNsYXRpb25zJ1xuaW1wb3J0IGdldEJhc2VVcGxvYWRGaWVsZHMgZnJvbSAnLi4vLi4vdXBsb2Fkcy9nZXRCYXNlRmllbGRzJ1xuaW1wb3J0IHsgZm9ybWF0TGFiZWxzIH0gZnJvbSAnLi4vLi4vdXRpbGl0aWVzL2Zvcm1hdExhYmVscydcbmltcG9ydCBiYXNlVmVyc2lvbkZpZWxkcyBmcm9tICcuLi8uLi92ZXJzaW9ucy9iYXNlRmllbGRzJ1xuaW1wb3J0IHsgYXV0aERlZmF1bHRzLCBkZWZhdWx0cyB9IGZyb20gJy4vZGVmYXVsdHMnXG5cbmNvbnN0IHRyYW5zbGF0aW9ucyA9IGV4dHJhY3RUcmFuc2xhdGlvbnMoWydnZW5lcmFsOmNyZWF0ZWRBdCcsICdnZW5lcmFsOnVwZGF0ZWRBdCddKVxuXG5jb25zdCBzYW5pdGl6ZUNvbGxlY3Rpb24gPSAoXG4gIGNvbmZpZzogQ29uZmlnLFxuICBjb2xsZWN0aW9uOiBDb2xsZWN0aW9uQ29uZmlnLFxuKTogU2FuaXRpemVkQ29sbGVjdGlvbkNvbmZpZyA9PiB7XG4gIC8vIC8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vL1xuICAvLyBNYWtlIGNvcHkgb2YgY29sbGVjdGlvbiBjb25maWdcbiAgLy8gLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vXG5cbiAgY29uc3Qgc2FuaXRpemVkOiBDb2xsZWN0aW9uQ29uZmlnID0gbWVyZ2UoZGVmYXVsdHMsIGNvbGxlY3Rpb24sIHtcbiAgICBpc01lcmdlYWJsZU9iamVjdDogaXNQbGFpbk9iamVjdCxcbiAgfSlcblxuICBpZiAoc2FuaXRpemVkLnRpbWVzdGFtcHMgIT09IGZhbHNlKSB7XG4gICAgLy8gYWRkIGRlZmF1bHQgdGltZXN0YW1wcyBmaWVsZHMgb25seSBhcyBuZWVkZWRcbiAgICBsZXQgaGFzVXBkYXRlZEF0ID0gbnVsbFxuICAgIGxldCBoYXNDcmVhdGVkQXQgPSBudWxsXG4gICAgc2FuaXRpemVkLmZpZWxkcy5zb21lKChmaWVsZCkgPT4ge1xuICAgICAgaWYgKGZpZWxkQWZmZWN0c0RhdGEoZmllbGQpKSB7XG4gICAgICAgIGlmIChmaWVsZC5uYW1lID09PSAndXBkYXRlZEF0JykgaGFzVXBkYXRlZEF0ID0gdHJ1ZVxuICAgICAgICBpZiAoZmllbGQubmFtZSA9PT0gJ2NyZWF0ZWRBdCcpIGhhc0NyZWF0ZWRBdCA9IHRydWVcbiAgICAgIH1cbiAgICAgIHJldHVybiBoYXNDcmVhdGVkQXQgJiYgaGFzVXBkYXRlZEF0XG4gICAgfSlcbiAgICBpZiAoIWhhc1VwZGF0ZWRBdCkge1xuICAgICAgc2FuaXRpemVkLmZpZWxkcy5wdXNoKHtcbiAgICAgICAgbmFtZTogJ3VwZGF0ZWRBdCcsXG4gICAgICAgIHR5cGU6ICdkYXRlJyxcbiAgICAgICAgYWRtaW46IHtcbiAgICAgICAgICBkaXNhYmxlQnVsa0VkaXQ6IHRydWUsXG4gICAgICAgICAgaGlkZGVuOiB0cnVlLFxuICAgICAgICB9LFxuICAgICAgICBsYWJlbDogdHJhbnNsYXRpb25zWydnZW5lcmFsOnVwZGF0ZWRBdCddLFxuICAgICAgfSlcbiAgICB9XG4gICAgaWYgKCFoYXNDcmVhdGVkQXQpIHtcbiAgICAgIHNhbml0aXplZC5maWVsZHMucHVzaCh7XG4gICAgICAgIG5hbWU6ICdjcmVhdGVkQXQnLFxuICAgICAgICBhZG1pbjoge1xuICAgICAgICAgIGRpc2FibGVCdWxrRWRpdDogdHJ1ZSxcbiAgICAgICAgICBoaWRkZW46IHRydWUsXG4gICAgICAgIH0sXG4gICAgICAgIC8vIFRoZSBkZWZhdWx0IHNvcnQgZm9yIGxpc3QgdmlldyBpcyBjcmVhdGVkQXQuIFRodXMsIGVuYWJsaW5nIGluZGV4aW5nIGJ5IGRlZmF1bHQsIGlzIGEgbWFqb3IgcGVyZm9ybWFuY2UgaW1wcm92ZW1lbnQsIGVzcGVjaWFsbHkgZm9yIGxhcmdlIG9yIGEgbGFyZ2UgYW1vdW50IG9mIGNvbGxlY3Rpb25zLlxuICAgICAgICB0eXBlOiAnZGF0ZScsXG4gICAgICAgIGluZGV4OiB0cnVlLFxuICAgICAgICBsYWJlbDogdHJhbnNsYXRpb25zWydnZW5lcmFsOmNyZWF0ZWRBdCddLFxuICAgICAgfSlcbiAgICB9XG4gIH1cblxuICBzYW5pdGl6ZWQubGFiZWxzID0gc2FuaXRpemVkLmxhYmVscyB8fCBmb3JtYXRMYWJlbHMoc2FuaXRpemVkLnNsdWcpXG5cbiAgaWYgKHNhbml0aXplZC52ZXJzaW9ucykge1xuICAgIGlmIChzYW5pdGl6ZWQudmVyc2lvbnMgPT09IHRydWUpIHNhbml0aXplZC52ZXJzaW9ucyA9IHsgZHJhZnRzOiBmYWxzZSB9XG5cbiAgICBpZiAoc2FuaXRpemVkLnRpbWVzdGFtcHMgPT09IGZhbHNlKSB7XG4gICAgICB0aHJvdyBuZXcgVGltZXN0YW1wc1JlcXVpcmVkKGNvbGxlY3Rpb24pXG4gICAgfVxuXG4gICAgaWYgKHNhbml0aXplZC52ZXJzaW9ucy5kcmFmdHMpIHtcbiAgICAgIGlmIChzYW5pdGl6ZWQudmVyc2lvbnMuZHJhZnRzID09PSB0cnVlKSB7XG4gICAgICAgIHNhbml0aXplZC52ZXJzaW9ucy5kcmFmdHMgPSB7XG4gICAgICAgICAgYXV0b3NhdmU6IGZhbHNlLFxuICAgICAgICB9XG4gICAgICB9XG5cbiAgICAgIGlmIChzYW5pdGl6ZWQudmVyc2lvbnMuZHJhZnRzLmF1dG9zYXZlID09PSB0cnVlKSB7XG4gICAgICAgIHNhbml0aXplZC52ZXJzaW9ucy5kcmFmdHMuYXV0b3NhdmUgPSB7XG4gICAgICAgICAgaW50ZXJ2YWw6IDIwMDAsXG4gICAgICAgIH1cbiAgICAgIH1cblxuICAgICAgc2FuaXRpemVkLmZpZWxkcyA9IG1lcmdlQmFzZUZpZWxkcyhzYW5pdGl6ZWQuZmllbGRzLCBiYXNlVmVyc2lvbkZpZWxkcylcbiAgICB9XG4gIH1cblxuICBpZiAoc2FuaXRpemVkLnVwbG9hZCkge1xuICAgIGlmIChzYW5pdGl6ZWQudXBsb2FkID09PSB0cnVlKSBzYW5pdGl6ZWQudXBsb2FkID0ge31cblxuICAgIHNhbml0aXplZC51cGxvYWQuc3RhdGljRGlyID0gc2FuaXRpemVkLnVwbG9hZC5zdGF0aWNEaXIgfHwgc2FuaXRpemVkLnNsdWdcbiAgICBzYW5pdGl6ZWQuYWRtaW4udXNlQXNUaXRsZSA9XG4gICAgICBzYW5pdGl6ZWQuYWRtaW4udXNlQXNUaXRsZSAmJiBzYW5pdGl6ZWQuYWRtaW4udXNlQXNUaXRsZSAhPT0gJ2lkJ1xuICAgICAgICA/IHNhbml0aXplZC5hZG1pbi51c2VBc1RpdGxlXG4gICAgICAgIDogJ2ZpbGVuYW1lJ1xuXG4gICAgY29uc3QgdXBsb2FkRmllbGRzID0gZ2V0QmFzZVVwbG9hZEZpZWxkcyh7XG4gICAgICBjb2xsZWN0aW9uOiBzYW5pdGl6ZWQsXG4gICAgICBjb25maWcsXG4gICAgfSlcblxuICAgIHNhbml0aXplZC5maWVsZHMgPSBtZXJnZUJhc2VGaWVsZHMoc2FuaXRpemVkLmZpZWxkcywgdXBsb2FkRmllbGRzKVxuICB9XG5cbiAgaWYgKHNhbml0aXplZC5hdXRoKSB7XG4gICAgc2FuaXRpemVkLmF1dGggPSBtZXJnZShhdXRoRGVmYXVsdHMsIHR5cGVvZiBzYW5pdGl6ZWQuYXV0aCA9PT0gJ29iamVjdCcgPyBzYW5pdGl6ZWQuYXV0aCA6IHt9LCB7XG4gICAgICBpc01lcmdlYWJsZU9iamVjdDogaXNQbGFpbk9iamVjdCxcbiAgICB9KVxuXG4gICAgbGV0IGF1dGhGaWVsZHMgPSBbXVxuXG4gICAgaWYgKHNhbml0aXplZC5hdXRoLnVzZUFQSUtleSkge1xuICAgICAgYXV0aEZpZWxkcyA9IGF1dGhGaWVsZHMuY29uY2F0KGJhc2VBUElLZXlGaWVsZHMpXG4gICAgfVxuXG4gICAgaWYgKCFzYW5pdGl6ZWQuYXV0aC5kaXNhYmxlTG9jYWxTdHJhdGVneSkge1xuICAgICAgYXV0aEZpZWxkcyA9IGF1dGhGaWVsZHMuY29uY2F0KGJhc2VBdXRoRmllbGRzKVxuXG4gICAgICBpZiAoc2FuaXRpemVkLmF1dGgudmVyaWZ5KSB7XG4gICAgICAgIGlmIChzYW5pdGl6ZWQuYXV0aC52ZXJpZnkgPT09IHRydWUpIHNhbml0aXplZC5hdXRoLnZlcmlmeSA9IHt9XG4gICAgICAgIGF1dGhGaWVsZHMgPSBhdXRoRmllbGRzLmNvbmNhdChiYXNlVmVyaWZpY2F0aW9uRmllbGRzKVxuICAgICAgfVxuXG4gICAgICBpZiAoc2FuaXRpemVkLmF1dGgubWF4TG9naW5BdHRlbXB0cyA+IDApIHtcbiAgICAgICAgYXV0aEZpZWxkcyA9IGF1dGhGaWVsZHMuY29uY2F0KGJhc2VBY2NvdW50TG9ja0ZpZWxkcylcbiAgICAgIH1cbiAgICB9XG5cbiAgICBpZiAoIXNhbml0aXplZC5hdXRoLnN0cmF0ZWdpZXMpIHtcbiAgICAgIHNhbml0aXplZC5hdXRoLnN0cmF0ZWdpZXMgPSBbXVxuICAgIH1cblxuICAgIHNhbml0aXplZC5maWVsZHMgPSBtZXJnZUJhc2VGaWVsZHMoc2FuaXRpemVkLmZpZWxkcywgYXV0aEZpZWxkcylcbiAgfVxuXG4gIC8vIC8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vL1xuICAvLyBTYW5pdGl6ZSBmaWVsZHNcbiAgLy8gLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vXG5cbiAgY29uc3QgdmFsaWRSZWxhdGlvbnNoaXBzID0gY29uZmlnLmNvbGxlY3Rpb25zLm1hcCgoYykgPT4gYy5zbHVnKSB8fCBbXVxuICBzYW5pdGl6ZWQuZmllbGRzID0gc2FuaXRpemVGaWVsZHMoe1xuICAgIGNvbmZpZyxcbiAgICBmaWVsZHM6IHNhbml0aXplZC5maWVsZHMsXG4gICAgdmFsaWRSZWxhdGlvbnNoaXBzLFxuICB9KVxuXG4gIHJldHVybiBzYW5pdGl6ZWQgYXMgU2FuaXRpemVkQ29sbGVjdGlvbkNvbmZpZ1xufVxuXG5leHBvcnQgZGVmYXVsdCBzYW5pdGl6ZUNvbGxlY3Rpb25cbiJdLCJuYW1lcyI6WyJtZXJnZSIsImlzUGxhaW5PYmplY3QiLCJiYXNlQWNjb3VudExvY2tGaWVsZHMiLCJiYXNlQVBJS2V5RmllbGRzIiwiYmFzZUF1dGhGaWVsZHMiLCJiYXNlVmVyaWZpY2F0aW9uRmllbGRzIiwiVGltZXN0YW1wc1JlcXVpcmVkIiwic2FuaXRpemVGaWVsZHMiLCJmaWVsZEFmZmVjdHNEYXRhIiwibWVyZ2VCYXNlRmllbGRzIiwiZXh0cmFjdFRyYW5zbGF0aW9ucyIsImdldEJhc2VVcGxvYWRGaWVsZHMiLCJmb3JtYXRMYWJlbHMiLCJiYXNlVmVyc2lvbkZpZWxkcyIsImF1dGhEZWZhdWx0cyIsImRlZmF1bHRzIiwidHJhbnNsYXRpb25zIiwic2FuaXRpemVDb2xsZWN0aW9uIiwiY29uZmlnIiwiY29sbGVjdGlvbiIsInNhbml0aXplZCIsImlzTWVyZ2VhYmxlT2JqZWN0IiwidGltZXN0YW1wcyIsImhhc1VwZGF0ZWRBdCIsImhhc0NyZWF0ZWRBdCIsImZpZWxkcyIsInNvbWUiLCJmaWVsZCIsIm5hbWUiLCJwdXNoIiwidHlwZSIsImFkbWluIiwiZGlzYWJsZUJ1bGtFZGl0IiwiaGlkZGVuIiwibGFiZWwiLCJpbmRleCIsImxhYmVscyIsInNsdWciLCJ2ZXJzaW9ucyIsImRyYWZ0cyIsImF1dG9zYXZlIiwiaW50ZXJ2YWwiLCJ1cGxvYWQiLCJzdGF0aWNEaXIiLCJ1c2VBc1RpdGxlIiwidXBsb2FkRmllbGRzIiwiYXV0aCIsImF1dGhGaWVsZHMiLCJ1c2VBUElLZXkiLCJjb25jYXQiLCJkaXNhYmxlTG9jYWxTdHJhdGVneSIsInZlcmlmeSIsIm1heExvZ2luQXR0ZW1wdHMiLCJzdHJhdGVnaWVzIiwidmFsaWRSZWxhdGlvbnNoaXBzIiwiY29sbGVjdGlvbnMiLCJtYXAiLCJjIl0sIm1hcHBpbmdzIjoiQUFBQSxPQUFPQSxXQUFXLFlBQVc7QUFDN0IsU0FBU0MsYUFBYSxRQUFRLGtCQUFpQjtBQUsvQyxPQUFPQywyQkFBMkIsb0NBQW1DO0FBQ3JFLE9BQU9DLHNCQUFzQiwrQkFBOEI7QUFDM0QsT0FBT0Msb0JBQW9CLDZCQUE0QjtBQUN2RCxPQUFPQyw0QkFBNEIscUNBQW9DO0FBQ3ZFLE9BQU9DLHdCQUF3QixrQ0FBaUM7QUFDaEUsU0FBU0MsY0FBYyxRQUFRLCtCQUE4QjtBQUM3RCxTQUFTQyxnQkFBZ0IsUUFBUSw0QkFBMkI7QUFDNUQsT0FBT0MscUJBQXFCLCtCQUE4QjtBQUMxRCxTQUFTQyxtQkFB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
|