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.
Files changed (348) hide show
  1. package/auth.js +5 -44
  2. package/bin.js +40 -1
  3. package/components.d.ts +14 -0
  4. package/components.js +71 -0
  5. package/config.js +10 -59
  6. package/database.js +21 -108
  7. package/dist/admin/RichText.js +2 -5
  8. package/dist/admin/elements/Cell.js +2 -5
  9. package/dist/admin/elements/DatePicker.js +2 -5
  10. package/dist/admin/elements/PreviewButton.js +2 -5
  11. package/dist/admin/elements/PublishButton.js +2 -5
  12. package/dist/admin/elements/SaveButton.js +2 -5
  13. package/dist/admin/elements/SaveDraftButton.js +2 -5
  14. package/dist/admin/elements/Tab.js +2 -5
  15. package/dist/admin/forms/Error.js +2 -5
  16. package/dist/admin/forms/FieldDescription.js +2 -5
  17. package/dist/admin/forms/FieldTypes.js +2 -5
  18. package/dist/admin/forms/Form.d.ts +22 -0
  19. package/dist/admin/forms/Form.d.ts.map +1 -1
  20. package/dist/admin/forms/Form.js +2 -5
  21. package/dist/admin/forms/Label.js +2 -5
  22. package/dist/admin/forms/RowLabel.js +2 -5
  23. package/dist/admin/types.d.ts +2 -1
  24. package/dist/admin/types.d.ts.map +1 -1
  25. package/dist/admin/types.js +2 -5
  26. package/dist/admin/views/types.d.ts +41 -0
  27. package/dist/admin/views/types.d.ts.map +1 -0
  28. package/dist/admin/views/types.js +3 -0
  29. package/dist/assets/assets.d.js +0 -1
  30. package/dist/auth/baseFields/accountLock.js +2 -12
  31. package/dist/auth/baseFields/apiKey.js +6 -21
  32. package/dist/auth/baseFields/auth.js +6 -16
  33. package/dist/auth/baseFields/verification.js +4 -14
  34. package/dist/auth/cookies.js +6 -33
  35. package/dist/auth/crypto.js +7 -30
  36. package/dist/auth/defaultAccess.js +2 -12
  37. package/dist/auth/defaultUser.js +4 -14
  38. package/dist/auth/executeAccess.js +5 -15
  39. package/dist/auth/extractJWT.js +4 -14
  40. package/dist/auth/getAccessResults.js +5 -15
  41. package/dist/auth/getAuthenticatedUser.js +2 -12
  42. package/dist/auth/getFieldsToSign.js +5 -15
  43. package/dist/auth/index.js +4 -27
  44. package/dist/auth/isLocked.js +2 -12
  45. package/dist/auth/operations/access.js +12 -22
  46. package/dist/auth/operations/forgotPassword.js +17 -32
  47. package/dist/auth/operations/init.js +2 -12
  48. package/dist/auth/operations/local/forgotPassword.js +8 -18
  49. package/dist/auth/operations/local/index.js +12 -27
  50. package/dist/auth/operations/local/login.js +8 -18
  51. package/dist/auth/operations/local/resetPassword.js +8 -18
  52. package/dist/auth/operations/local/unlock.js +8 -18
  53. package/dist/auth/operations/local/verifyEmail.js +8 -18
  54. package/dist/auth/operations/login.js +32 -47
  55. package/dist/auth/operations/logout.js +6 -21
  56. package/dist/auth/operations/me.js +4 -19
  57. package/dist/auth/operations/refresh.js +19 -34
  58. package/dist/auth/operations/registerFirstUser.js +10 -20
  59. package/dist/auth/operations/resetPassword.js +20 -43
  60. package/dist/auth/operations/unlock.js +16 -39
  61. package/dist/auth/operations/verifyEmail.js +14 -37
  62. package/dist/auth/sendVerificationEmail.js +4 -14
  63. package/dist/auth/strategies/apiKey.js +4 -19
  64. package/dist/auth/strategies/jwt.js +6 -21
  65. package/dist/auth/strategies/local/authenticate.js +6 -21
  66. package/dist/auth/strategies/local/generatePasswordSaltHash.js +7 -22
  67. package/dist/auth/strategies/local/incrementLoginAttempts.js +2 -12
  68. package/dist/auth/strategies/local/register.js +6 -16
  69. package/dist/auth/strategies/local/resetLoginAttempts.js +2 -12
  70. package/dist/auth/types.js +2 -12
  71. package/dist/bin/generateTypes.js +12 -27
  72. package/dist/bin/index.js +11 -53
  73. package/dist/bin/loadEnv.js +13 -26
  74. package/dist/bin/migrate.js +15 -30
  75. package/dist/bundlers/mocks/db-mongodb.js +0 -1
  76. package/dist/bundlers/mocks/db-postgres.js +2 -12
  77. package/dist/bundlers/mocks/dotENV.js +2 -12
  78. package/dist/bundlers/mocks/emptyModule.js +2 -12
  79. package/dist/bundlers/mocks/fileMock.js +2 -12
  80. package/dist/bundlers/types.js +2 -5
  81. package/dist/collections/config/build.js +2 -12
  82. package/dist/collections/config/defaults.js +9 -32
  83. package/dist/collections/config/sanitize.js +34 -49
  84. package/dist/collections/config/schema.js +157 -172
  85. package/dist/collections/config/types.d.ts +5 -5
  86. package/dist/collections/config/types.d.ts.map +1 -1
  87. package/dist/collections/config/types.js +2 -5
  88. package/dist/collections/dataloader.js +8 -23
  89. package/dist/collections/operations/create.js +38 -53
  90. package/dist/collections/operations/delete.js +27 -42
  91. package/dist/collections/operations/deleteByID.js +27 -42
  92. package/dist/collections/operations/docAccess.js +10 -20
  93. package/dist/collections/operations/find.js +25 -40
  94. package/dist/collections/operations/findByID.js +21 -36
  95. package/dist/collections/operations/findVersionByID.js +19 -34
  96. package/dist/collections/operations/findVersions.js +20 -35
  97. package/dist/collections/operations/local/create.js +10 -25
  98. package/dist/collections/operations/local/delete.js +10 -20
  99. package/dist/collections/operations/local/find.js +8 -18
  100. package/dist/collections/operations/local/findByID.js +8 -18
  101. package/dist/collections/operations/local/findVersionByID.js +8 -18
  102. package/dist/collections/operations/local/findVersions.js +8 -18
  103. package/dist/collections/operations/local/index.js +20 -35
  104. package/dist/collections/operations/local/restoreVersion.js +8 -18
  105. package/dist/collections/operations/local/update.js +12 -27
  106. package/dist/collections/operations/restoreVersion.js +26 -41
  107. package/dist/collections/operations/update.js +43 -58
  108. package/dist/collections/operations/updateByID.js +44 -59
  109. package/dist/collections/operations/utils.js +3 -12
  110. package/dist/config/build.js +9 -15
  111. package/dist/config/clientFiles.js +2 -12
  112. package/dist/config/createClientConfig.d.ts.map +1 -1
  113. package/dist/config/createClientConfig.js +12 -25
  114. package/dist/config/defaults.js +4 -19
  115. package/dist/config/find.js +18 -33
  116. package/dist/config/load.d.ts +1 -3
  117. package/dist/config/load.d.ts.map +1 -1
  118. package/dist/config/load.js +8 -37
  119. package/dist/config/sanitize.js +25 -40
  120. package/dist/config/schema.d.ts.map +1 -1
  121. package/dist/config/schema.js +116 -133
  122. package/dist/config/shared/adminViewSchema.js +9 -24
  123. package/dist/config/shared/componentSchema.js +21 -50
  124. package/dist/config/types.d.ts +12 -21
  125. package/dist/config/types.d.ts.map +1 -1
  126. package/dist/config/types.js +9 -21
  127. package/dist/config/validate.js +15 -71
  128. package/dist/database/combineQueries.js +4 -14
  129. package/dist/database/createDatabaseAdapter.js +14 -24
  130. package/dist/database/flattenWhereToOperators.js +2 -12
  131. package/dist/database/getLocalizedPaths.js +7 -22
  132. package/dist/database/migrations/createMigration.js +7 -22
  133. package/dist/database/migrations/getMigrations.js +4 -12
  134. package/dist/database/migrations/migrate.js +12 -22
  135. package/dist/database/migrations/migrateDown.js +12 -22
  136. package/dist/database/migrations/migrateRefresh.js +16 -24
  137. package/dist/database/migrations/migrateReset.js +12 -22
  138. package/dist/database/migrations/migrateStatus.js +8 -18
  139. package/dist/database/migrations/migrationTemplate.js +2 -12
  140. package/dist/database/migrations/migrationsCollection.js +2 -12
  141. package/dist/database/migrations/readMigrationFiles.d.ts.map +1 -1
  142. package/dist/database/migrations/readMigrationFiles.js +12 -24
  143. package/dist/database/queryValidation/types.js +2 -5
  144. package/dist/database/queryValidation/validateQueryPaths.js +13 -28
  145. package/dist/database/queryValidation/validateSearchParams.js +13 -21
  146. package/dist/database/types.d.ts +5 -2
  147. package/dist/database/types.d.ts.map +1 -1
  148. package/dist/database/types.js +2 -5
  149. package/dist/email/build.js +11 -26
  150. package/dist/email/defaults.js +2 -12
  151. package/dist/email/mockHandler.js +8 -23
  152. package/dist/email/sendEmail.js +2 -12
  153. package/dist/email/types.js +2 -5
  154. package/dist/errors/APIError.js +4 -19
  155. package/dist/errors/AuthenticationError.js +7 -22
  156. package/dist/errors/DuplicateCollection.js +4 -19
  157. package/dist/errors/DuplicateFieldName.js +4 -19
  158. package/dist/errors/DuplicateGlobal.js +4 -19
  159. package/dist/errors/ErrorDeletingFile.js +7 -22
  160. package/dist/errors/FileUploadError.js +7 -22
  161. package/dist/errors/Forbidden.js +7 -22
  162. package/dist/errors/InvalidConfiguration.js +6 -21
  163. package/dist/errors/InvalidFieldName.js +4 -19
  164. package/dist/errors/InvalidFieldRelationship.js +4 -19
  165. package/dist/errors/InvalidSchema.js +6 -21
  166. package/dist/errors/LockedAuth.js +7 -22
  167. package/dist/errors/MissingCollectionLabel.js +4 -19
  168. package/dist/errors/MissingFieldInputOptions.js +4 -19
  169. package/dist/errors/MissingFieldType.js +6 -21
  170. package/dist/errors/MissingFile.js +7 -22
  171. package/dist/errors/NotFound.js +7 -22
  172. package/dist/errors/QueryError.js +6 -21
  173. package/dist/errors/TimestampsRequired.js +4 -19
  174. package/dist/errors/UnathorizedError.js +7 -22
  175. package/dist/errors/ValidationError.js +8 -23
  176. package/dist/errors/index.js +20 -94
  177. package/dist/errors/types.js +2 -19
  178. package/dist/exports/auth.js +5 -44
  179. package/dist/exports/components/utilities.d.ts +0 -1
  180. package/dist/exports/components/utilities.js +0 -1
  181. package/dist/exports/config.js +10 -59
  182. package/dist/exports/database.js +21 -108
  183. package/dist/exports/errors.js +2 -68
  184. package/dist/exports/fields/index.js +3 -26
  185. package/dist/exports/fields/validations.js +2 -19
  186. package/dist/exports/operations.js +29 -125
  187. package/dist/exports/types.js +4 -74
  188. package/dist/exports/utilities.js +28 -141
  189. package/dist/exports/versions.js +9 -45
  190. package/dist/express/middleware/errorHandler.d.ts +0 -1
  191. package/dist/express/middleware/errorHandler.js +0 -1
  192. package/dist/express/middleware/index.d.ts +0 -1
  193. package/dist/express/middleware/index.js +0 -1
  194. package/dist/fields/baseFields/baseBlockFields.js +4 -14
  195. package/dist/fields/baseFields/baseIDField.js +4 -19
  196. package/dist/fields/config/sanitize.js +24 -39
  197. package/dist/fields/config/sanitize.spec.js +25 -29
  198. package/dist/fields/config/schema.js +329 -424
  199. package/dist/fields/config/types.js +15 -69
  200. package/dist/fields/getDefaultValue.js +2 -12
  201. package/dist/fields/hooks/afterChange/index.js +6 -16
  202. package/dist/fields/hooks/afterChange/promise.js +14 -22
  203. package/dist/fields/hooks/afterChange/traverseFields.js +4 -14
  204. package/dist/fields/hooks/afterRead/index.js +6 -16
  205. package/dist/fields/hooks/afterRead/promise.js +28 -36
  206. package/dist/fields/hooks/afterRead/relationshipPopulationPromise.js +5 -15
  207. package/dist/fields/hooks/afterRead/traverseFields.js +4 -14
  208. package/dist/fields/hooks/beforeChange/cloneDataFromOriginalDoc.js +2 -12
  209. package/dist/fields/hooks/beforeChange/getExistingRowDoc.js +2 -12
  210. package/dist/fields/hooks/beforeChange/index.js +8 -18
  211. package/dist/fields/hooks/beforeChange/promise.js +26 -35
  212. package/dist/fields/hooks/beforeChange/traverseFields.js +4 -14
  213. package/dist/fields/hooks/beforeValidate/index.js +6 -16
  214. package/dist/fields/hooks/beforeValidate/promise.js +30 -39
  215. package/dist/fields/hooks/beforeValidate/traverseFields.js +4 -14
  216. package/dist/fields/mergeBaseFields.js +8 -23
  217. package/dist/fields/sortableFieldTypes.js +2 -12
  218. package/dist/fields/validations.js +31 -97
  219. package/dist/fields/validations.spec.js +93 -87
  220. package/dist/globals/config/build.d.ts +0 -1
  221. package/dist/globals/config/build.js +0 -1
  222. package/dist/globals/config/sanitize.js +17 -32
  223. package/dist/globals/config/schema.js +55 -70
  224. package/dist/globals/config/types.d.ts +5 -5
  225. package/dist/globals/config/types.d.ts.map +1 -1
  226. package/dist/globals/config/types.js +2 -5
  227. package/dist/globals/graphql/resolvers/docAccess.d.ts +0 -1
  228. package/dist/globals/graphql/resolvers/docAccess.js +0 -1
  229. package/dist/globals/operations/docAccess.js +10 -20
  230. package/dist/globals/operations/findOne.js +14 -29
  231. package/dist/globals/operations/findVersionByID.js +18 -33
  232. package/dist/globals/operations/findVersions.js +20 -35
  233. package/dist/globals/operations/local/findOne.js +8 -18
  234. package/dist/globals/operations/local/findVersionByID.js +8 -18
  235. package/dist/globals/operations/local/findVersions.js +8 -18
  236. package/dist/globals/operations/local/index.js +12 -27
  237. package/dist/globals/operations/local/restoreVersion.js +8 -18
  238. package/dist/globals/operations/local/update.js +8 -18
  239. package/dist/globals/operations/restoreVersion.js +16 -31
  240. package/dist/globals/operations/update.js +23 -38
  241. package/dist/index.d.ts.map +1 -1
  242. package/dist/index.js +50 -70
  243. package/dist/localization/middleware.js +2 -12
  244. package/dist/localization/sanitizeFallbackLocale.js +2 -12
  245. package/dist/preferences/deleteUserPreferences.js +2 -12
  246. package/dist/preferences/operations/delete.js +10 -25
  247. package/dist/preferences/operations/findOne.js +2 -12
  248. package/dist/preferences/operations/update.js +8 -23
  249. package/dist/preferences/preferencesCollection.js +8 -18
  250. package/dist/preferences/requestHandlers/delete.js +6 -21
  251. package/dist/preferences/requestHandlers/findOne.js +6 -21
  252. package/dist/preferences/requestHandlers/update.js +6 -21
  253. package/dist/preferences/types.js +2 -5
  254. package/dist/translations/extractTranslations.js +4 -14
  255. package/dist/translations/getLocalI18n.js +5 -15
  256. package/dist/types/constants.js +2 -12
  257. package/dist/types/index.js +2 -12
  258. package/dist/uploads/canResizeImage.js +2 -12
  259. package/dist/uploads/cropImage.d.ts +3 -7
  260. package/dist/uploads/cropImage.d.ts.map +1 -1
  261. package/dist/uploads/cropImage.js +4 -28
  262. package/dist/uploads/deleteAssociatedFiles.js +11 -26
  263. package/dist/uploads/docWithFilenameExists.js +2 -12
  264. package/dist/uploads/fileExists.js +4 -19
  265. package/dist/uploads/formatFilesize.js +2 -12
  266. package/dist/uploads/generateFileData.d.ts.map +1 -1
  267. package/dist/uploads/generateFileData.js +40 -53
  268. package/dist/uploads/getBaseFields.js +6 -16
  269. package/dist/uploads/getExternalFile.js +5 -15
  270. package/dist/uploads/getFileByPath.js +10 -25
  271. package/dist/uploads/getImageSize.js +7 -22
  272. package/dist/uploads/getSafeFilename.js +8 -23
  273. package/dist/uploads/imageResizer.d.ts +3 -1
  274. package/dist/uploads/imageResizer.d.ts.map +1 -1
  275. package/dist/uploads/imageResizer.js +28 -44
  276. package/dist/uploads/isImage.js +2 -12
  277. package/dist/uploads/mimeTypeValidator.js +2 -12
  278. package/dist/uploads/mimeTypeValidator.spec.js +11 -15
  279. package/dist/uploads/saveBufferToFile.js +6 -21
  280. package/dist/uploads/types.d.ts +7 -1
  281. package/dist/uploads/types.d.ts.map +1 -1
  282. package/dist/uploads/types.js +2 -5
  283. package/dist/uploads/unlinkTempFiles.js +9 -22
  284. package/dist/uploads/uploadFiles.js +6 -21
  285. package/dist/utilities/checkDuplicateCollections.js +4 -14
  286. package/dist/utilities/combineMerge.js +4 -19
  287. package/dist/utilities/commitTransaction.js +4 -12
  288. package/dist/utilities/configToJSONSchema.js +22 -41
  289. package/dist/utilities/configToJSONSchema.spec.js +5 -9
  290. package/dist/utilities/convertData.js +3 -23
  291. package/dist/utilities/createArrayFromCommaDelineated.js +2 -12
  292. package/dist/utilities/createLocalReq.js +6 -16
  293. package/dist/utilities/deepCopyObject.js +2 -12
  294. package/dist/utilities/deepMerge.js +2 -12
  295. package/dist/utilities/fieldSchemaToJSON.js +2 -12
  296. package/dist/utilities/flattenTopLevelFields.js +6 -16
  297. package/dist/utilities/formatLabels.js +9 -70
  298. package/dist/utilities/formatLabels.spec.js +8 -12
  299. package/dist/utilities/getCSSVariable.js +2 -12
  300. package/dist/utilities/getEntityPolicies.js +4 -14
  301. package/dist/utilities/getIDType.js +2 -12
  302. package/dist/utilities/getObjectDotNotation.js +2 -12
  303. package/dist/utilities/getUniqueListBy.js +2 -12
  304. package/dist/utilities/initTransaction.js +5 -12
  305. package/dist/utilities/isEntityHidden.js +2 -12
  306. package/dist/utilities/isNumber.js +2 -12
  307. package/dist/utilities/isValidID.js +5 -20
  308. package/dist/utilities/isolateObjectProperty.js +2 -12
  309. package/dist/utilities/killTransaction.js +4 -12
  310. package/dist/utilities/logger.d.ts.map +1 -1
  311. package/dist/utilities/logger.js +16 -37
  312. package/dist/utilities/mapAsync.js +2 -12
  313. package/dist/utilities/overwriteMerge.js +2 -12
  314. package/dist/utilities/parseCookies.js +4 -14
  315. package/dist/utilities/pinoPretty.d.ts +1 -0
  316. package/dist/utilities/pinoPretty.d.ts.map +1 -0
  317. package/dist/utilities/pinoPretty.js +2 -0
  318. package/dist/utilities/sanitizeInternalFields.js +2 -12
  319. package/dist/utilities/setsAreEqual.js +2 -12
  320. package/dist/utilities/telemetry/events/adminInit.js +7 -17
  321. package/dist/utilities/telemetry/events/serverInit.js +4 -14
  322. package/dist/utilities/telemetry/index.js +17 -40
  323. package/dist/utilities/telemetry/oneWayHash.js +4 -14
  324. package/dist/utilities/timestamp.js +2 -12
  325. package/dist/utilities/toKebabCase.js +2 -12
  326. package/dist/utilities/wait.js +2 -12
  327. package/dist/utilities/wordBoundariesRegex.js +3 -13
  328. package/dist/versions/baseFields.js +5 -23
  329. package/dist/versions/buildCollectionFields.js +2 -12
  330. package/dist/versions/buildGlobalFields.js +2 -12
  331. package/dist/versions/deleteCollectionVersions.js +2 -12
  332. package/dist/versions/drafts/appendVersionToQueryKey.js +2 -12
  333. package/dist/versions/drafts/getQueryDraftsSort.js +2 -12
  334. package/dist/versions/drafts/replaceWithDraftIfAvailable.js +12 -27
  335. package/dist/versions/enforceMaxVersions.js +2 -12
  336. package/dist/versions/getLatestCollectionVersion.js +4 -14
  337. package/dist/versions/getLatestGlobalVersion.js +4 -14
  338. package/dist/versions/getVersionsModelName.js +2 -12
  339. package/dist/versions/saveVersion.js +8 -23
  340. package/dist/versions/types.js +2 -5
  341. package/errors.js +2 -68
  342. package/graphql.d.ts +3 -0
  343. package/graphql.js +27 -0
  344. package/operations.js +29 -125
  345. package/package.json +17 -5
  346. package/types.js +4 -74
  347. package/utilities.js +28 -141
  348. package/versions.js +9 -45
@@ -1,98 +1,44 @@
1
- /* eslint-disable no-use-before-define */ "use strict";
2
- Object.defineProperty(exports, "__esModule", {
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
- fieldAffectsData: function() {
13
- return fieldAffectsData;
14
- },
15
- fieldHasMaxDepth: function() {
16
- return fieldHasMaxDepth;
17
- },
18
- fieldHasSubFields: function() {
19
- return fieldHasSubFields;
20
- },
21
- fieldIsArrayType: function() {
22
- return fieldIsArrayType;
23
- },
24
- fieldIsBlockType: function() {
25
- return fieldIsBlockType;
26
- },
27
- fieldIsGroupType: function() {
28
- return fieldIsGroupType;
29
- },
30
- fieldIsLocalized: function() {
31
- return fieldIsLocalized;
32
- },
33
- fieldIsPresentationalOnly: function() {
34
- return fieldIsPresentationalOnly;
35
- },
36
- fieldSupportsMany: function() {
37
- return fieldSupportsMany;
38
- },
39
- optionIsObject: function() {
40
- return optionIsObject;
41
- },
42
- optionIsValue: function() {
43
- return optionIsValue;
44
- },
45
- optionsAreObjects: function() {
46
- return optionsAreObjects;
47
- },
48
- tabHasName: function() {
49
- return tabHasName;
50
- },
51
- valueIsValueWithRelation: function() {
52
- return valueIsValueWithRelation;
53
- }
54
- });
55
- function valueIsValueWithRelation(value) {
1
+ /* eslint-disable no-use-before-define */ export function valueIsValueWithRelation(value) {
56
2
  return value !== null && typeof value === 'object' && 'relationTo' in value && 'value' in value;
57
3
  }
58
- function fieldHasSubFields(field) {
4
+ export function fieldHasSubFields(field) {
59
5
  return field.type === 'group' || field.type === 'array' || field.type === 'row' || field.type === 'collapsible';
60
6
  }
61
- function fieldIsArrayType(field) {
7
+ export function fieldIsArrayType(field) {
62
8
  return field.type === 'array';
63
9
  }
64
- function fieldIsBlockType(field) {
10
+ export function fieldIsBlockType(field) {
65
11
  return field.type === 'blocks';
66
12
  }
67
- function fieldIsGroupType(field) {
13
+ export function fieldIsGroupType(field) {
68
14
  return field.type === 'group';
69
15
  }
70
- function optionIsObject(option) {
16
+ export function optionIsObject(option) {
71
17
  return typeof option === 'object';
72
18
  }
73
- function optionsAreObjects(options) {
19
+ export function optionsAreObjects(options) {
74
20
  return Array.isArray(options) && typeof options?.[0] === 'object';
75
21
  }
76
- function optionIsValue(option) {
22
+ export function optionIsValue(option) {
77
23
  return typeof option === 'string';
78
24
  }
79
- function fieldSupportsMany(field) {
25
+ export function fieldSupportsMany(field) {
80
26
  return field.type === 'select' || field.type === 'relationship';
81
27
  }
82
- function fieldHasMaxDepth(field) {
28
+ export function fieldHasMaxDepth(field) {
83
29
  return (field.type === 'upload' || field.type === 'relationship') && typeof field.maxDepth === 'number';
84
30
  }
85
- function fieldIsPresentationalOnly(field) {
31
+ export function fieldIsPresentationalOnly(field) {
86
32
  return field.type === 'ui';
87
33
  }
88
- function fieldAffectsData(field) {
34
+ export function fieldAffectsData(field) {
89
35
  return 'name' in field && !fieldIsPresentationalOnly(field);
90
36
  }
91
- function tabHasName(tab) {
37
+ export function tabHasName(tab) {
92
38
  return 'name' in tab;
93
39
  }
94
- function fieldIsLocalized(field) {
40
+ export function fieldIsLocalized(field) {
95
41
  return 'localized' in field && field.localized;
96
42
  }
97
43
 
98
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIi4uLy4uLy4uL3NyYy9maWVsZHMvY29uZmlnL3R5cGVzLnRzIl0sInNvdXJjZXNDb250ZW50IjpbIi8qIGVzbGludC1kaXNhYmxlIG5vLXVzZS1iZWZvcmUtZGVmaW5lICovXG5pbXBvcnQgdHlwZSB7IEVkaXRvclByb3BzIH0gZnJvbSAnQG1vbmFjby1lZGl0b3IvcmVhY3QnXG5pbXBvcnQgdHlwZSB7IENTU1Byb3BlcnRpZXMgfSBmcm9tICdyZWFjdCdcblxuLy9lc2xpbnQtZGlzYWJsZS1uZXh0LWxpbmUgQHR5cGVzY3JpcHQtZXNsaW50L25vLXVudXNlZC12YXJzXG5pbXBvcnQgbW9uYWNvZWRpdG9yIGZyb20gJ21vbmFjby1lZGl0b3InIC8vIElNUE9SVEFOVCAtIERPIE5PVCBSRU1PVkU6IFRoaXMgaXMgcmVxdWlyZWQgZm9yIHBucG0ncyBkZWZhdWx0IGlzb2xhdGVkIG1vZGUgdG8gd29yayAtIGV2ZW4gdGhvdWdoIHRoZSBpbXBvcnQgaXMgbm90IHVzZWQuIFRoaXMgaXMgZHVlIHRvIGEgdHlwZXNjcmlwdCBidWc6IGh0dHBzOi8vZ2l0aHViLmNvbS9taWNyb3NvZnQvVHlwZVNjcmlwdC9pc3N1ZXMvNDc2NjMjaXNzdWVjb21tZW50LTE1MTkxMzgxODkuICh0c2J1Z2lzb2xhdGVkbW9kZSlcbmltcG9ydCB0eXBlIFJlYWN0IGZyb20gJ3JlYWN0J1xuXG5pbXBvcnQgdHlwZSB7XG4gIENvbmRpdGlvbmFsRGF0ZVByb3BzLFxuICBEZXNjcmlwdGlvbixcbiAgRXJyb3JQcm9wcyxcbiAgTGFiZWxQcm9wcyxcbiAgUmljaFRleHRBZGFwdGVyLFxuICBSb3dMYWJlbCxcbn0gZnJvbSAnLi4vLi4vYWRtaW4vdHlwZXMnXG5pbXBvcnQgdHlwZSB7IFVzZXIgfSBmcm9tICcuLi8uLi9hdXRoJ1xuaW1wb3J0IHR5cGUgeyBTYW5pdGl6ZWRDb2xsZWN0aW9uQ29uZmlnLCBUeXBlV2l0aElEIH0gZnJvbSAnLi4vLi4vY29sbGVjdGlvbnMvY29uZmlnL3R5cGVzJ1xuaW1wb3J0IHR5cGUgeyBTYW5pdGl6ZWRHbG9iYWxDb25maWcgfSBmcm9tICcuLi8uLi9nbG9iYWxzL2NvbmZpZy90eXBlcydcbmltcG9ydCB0eXBlIHsgUGF5bG9hZFJlcXVlc3QsIFJlcXVlc3RDb250ZXh0IH0gZnJvbSAnLi4vLi4vdHlwZXMnXG5pbXBvcnQgdHlwZSB7IE9wZXJhdGlvbiwgV2hlcmUgfSBmcm9tICcuLi8uLi90eXBlcydcblxuZXhwb3J0IHR5cGUgRmllbGRIb29rQXJnczxUIGV4dGVuZHMgVHlwZVdpdGhJRCA9IGFueSwgUCA9IGFueSwgUyA9IGFueT4gPSB7XG4gIC8qKiBUaGUgY29sbGVjdGlvbiB3aGljaCB0aGUgZmllbGQgYmVsb25ncyB0by4gSWYgdGhlIGZpZWxkIGJlbG9uZ3MgdG8gYSBnbG9iYWwsIHRoaXMgd2lsbCBiZSBudWxsLiAqL1xuICBjb2xsZWN0aW9uOiBTYW5pdGl6ZWRDb2xsZWN0aW9uQ29uZmlnIHwgbnVsbFxuICBjb250ZXh0OiBSZXF1ZXN0Q29udGV4dFxuICAvKiogVGhlIGRhdGEgcGFzc2VkIHRvIHVwZGF0ZSB0aGUgZG9jdW1lbnQgd2l0aGluIGNyZWF0ZSBhbmQgdXBkYXRlIG9wZXJhdGlvbnMsIGFuZCB0aGUgZnVsbCBkb2N1bWVudCBpdHNlbGYgaW4gdGhlIGFmdGVyUmVhZCBob29rLiAqL1xuICBkYXRhPzogUGFydGlhbDxUPlxuICAvKiogVGhlIGZpZWxkIHdoaWNoIHRoZSBob29rIGlzIHJ1bm5pbmcgYWdhaW5zdC4gKi9cbiAgZmllbGQ6IEZpZWxkQWZmZWN0aW5nRGF0YVxuICAvKiogQm9vbGVhbiB0byBkZW5vdGUgaWYgdGhpcyBob29rIGlzIHJ1bm5pbmcgYWdhaW5zdCBmaW5kaW5nIG9uZSwgb3IgZmluZGluZyBtYW55IHdpdGhpbiB0aGUgYWZ0ZXJSZWFkIGhvb2suICovXG4gIGZpbmRNYW55PzogYm9vbGVhblxuICAvKiogVGhlIGdsb2JhbCB3aGljaCB0aGUgZmllbGQgYmVsb25ncyB0by4gSWYgdGhlIGZpZWxkIGJlbG9uZ3MgdG8gYSBjb2xsZWN0aW9uLCB0aGlzIHdpbGwgYmUgbnVsbC4gKi9cbiAgZ2xvYmFsOiBTYW5pdGl6ZWRHbG9iYWxDb25maWcgfCBudWxsXG4gIC8qKiBBIHN0cmluZyByZWxhdGluZyB0byB3aGljaCBvcGVyYXRpb24gdGhlIGZpZWxkIHR5cGUgaXMgY3VycmVudGx5IGV4ZWN1dGluZyB3aXRoaW4uIFVzZWZ1bCB3aXRoaW4gYmVmb3JlVmFsaWRhdGUsIGJlZm9yZUNoYW5nZSwgYW5kIGFmdGVyQ2hhbmdlIGhvb2tzIHRvIGRpZmZlcmVudGlhdGUgYmV0d2VlbiBjcmVhdGUgYW5kIHVwZGF0ZSBvcGVyYXRpb25zLiAqL1xuICBvcGVyYXRpb24/OiAnY3JlYXRlJyB8ICdkZWxldGUnIHwgJ3JlYWQnIHwgJ3VwZGF0ZSdcbiAgLyoqIFRoZSBmdWxsIG9yaWdpbmFsIGRvY3VtZW50IGluIGB1cGRhdGVgIG9wZXJhdGlvbnMuIEluIHRoZSBgYWZ0ZXJDaGFuZ2VgIGhvb2ssIHRoaXMgaXMgdGhlIHJlc3VsdGluZyBkb2N1bWVudCBvZiB0aGUgb3BlcmF0aW9uLiAqL1xuICBvcmlnaW5hbERvYz86IFRcbiAgLyoqIFRoZSBkb2N1bWVudCBiZWZvcmUgY2hhbmdlcyB3ZXJlIGFwcGxpZWQsIG9ubHkgaW4gYGFmdGVyQ2hhbmdlYCBob29rcy4gKi9cbiAgcHJldmlvdXNEb2M/OiBUXG4gIC8qKiBUaGUgc2libGluZyBkYXRhIG9mIHRoZSBkb2N1bWVudCBiZWZvcmUgY2hhbmdlcyBiZWluZyBhcHBsaWVkLCBvbmx5IGluIGBiZWZvcmVDaGFuZ2VgIGFuZCBgYWZ0ZXJDaGFuZ2VgIGhvb2suICovXG4gIHByZXZpb3VzU2libGluZ0RvYz86IFRcbiAgLyoqIFRoZSBwcmV2aW91cyB2YWx1ZSBvZiB0aGUgZmllbGQsIGJlZm9yZSBjaGFuZ2VzLCBvbmx5IGluIGBiZWZvcmVDaGFuZ2VgIGFuZCBgYWZ0ZXJDaGFuZ2VgIGhvb2tzLiAqL1xuICBwcmV2aW91c1ZhbHVlPzogUFxuICAvKiogVGhlIEV4cHJlc3MgcmVxdWVzdCBvYmplY3QuIEl0IGlzIG1vY2tlZCBmb3IgTG9jYWwgQVBJIG9wZXJhdGlvbnMuICovXG4gIHJlcTogUGF5bG9hZFJlcXVlc3RcbiAgLyoqIFRoZSBzaWJsaW5nIGRhdGEgcGFzc2VkIHRvIGEgZmllbGQgdGhhdCB0aGUgaG9vayBpcyBydW5uaW5nIGFnYWluc3QuICovXG4gIHNpYmxpbmdEYXRhOiBQYXJ0aWFsPFM+XG4gIC8qKiBUaGUgdmFsdWUgb2YgdGhlIGZpZWxkLiAqL1xuICB2YWx1ZT86IFBcbn1cblxuZXhwb3J0IHR5cGUgRmllbGRIb29rPFQgZXh0ZW5kcyBUeXBlV2l0aElEID0gYW55LCBQID0gYW55LCBTID0gYW55PiA9IChcbiAgYXJnczogRmllbGRIb29rQXJnczxULCBQLCBTPixcbikgPT4gUCB8IFByb21pc2U8UD5cblxuZXhwb3J0IHR5cGUgRmllbGRBY2Nlc3M8VCBleHRlbmRzIFR5cGVXaXRoSUQgPSBhbnksIFAgPSBhbnksIFUgPSBhbnk+ID0gKGFyZ3M6IHtcbiAgLyoqXG4gICAqIFRoZSBpbmNvbWluZyBkYXRhIHVzZWQgdG8gYGNyZWF0ZWAgb3IgYHVwZGF0ZWAgdGhlIGRvY3VtZW50IHdpdGguIGBkYXRhYCBpcyB1bmRlZmluZWQgZHVyaW5nIHRoZSBgcmVhZGAgb3BlcmF0aW9uLlxuICAgKi9cbiAgZGF0YT86IFBhcnRpYWw8VD5cbiAgLyoqXG4gICAqIFRoZSBvcmlnaW5hbCBkYXRhIG9mIHRoZSBkb2N1bWVudCBiZWZvcmUgdGhlIGB1cGRhdGVgIGlzIGFwcGxpZWQuIGBkb2NgIGlzIHVuZGVmaW5lZCBkdXJpbmcgdGhlIGBjcmVhdGVgIG9wZXJhdGlvbi5cbiAgICovXG4gIGRvYz86IFRcbiAgLyoqXG4gICAqIFRoZSBgaWRgIG9mIHRoZSBjdXJyZW50IGRvY3VtZW50IGJlaW5nIHJlYWQgb3IgdXBkYXRlZC4gYGlkYCBpcyB1bmRlZmluZWQgZHVyaW5nIHRoZSBgY3JlYXRlYCBvcGVyYXRpb24uXG4gICAqL1xuICBpZD86IG51bWJlciB8IHN0cmluZ1xuICAvKiogVGhlIGBFeHByZXNzYCByZXF1ZXN0IG9iamVjdCBjb250YWluaW5nIHRoZSBjdXJyZW50bHkgYXV0aGVudGljYXRlZCBgdXNlcmAgKi9cbiAgcmVxOiBQYXlsb2FkUmVxdWVzdDxVPlxuICAvKiogVGhlIGBwYXlsb2FkYCBvYmplY3QgdG8gaW50ZXJmYWNlIHdpdGggdGhlIHBheWxvYWQgQVBJICovXG4gIHNpYmxpbmdEYXRhPzogUGFydGlhbDxQPlxufSkgPT4gUHJvbWlzZTxib29sZWFuPiB8IGJvb2xlYW5cblxuZXhwb3J0IHR5cGUgQ29uZGl0aW9uPFQgZXh0ZW5kcyBUeXBlV2l0aElEID0gYW55LCBQID0gYW55PiA9IChcbiAgZGF0YTogUGFydGlhbDxUPixcbiAgc2libGluZ0RhdGE6IFBhcnRpYWw8UD4sXG4gIHsgdXNlciB9OiB7IHVzZXI6IFVzZXIgfSxcbikgPT4gYm9vbGVhblxuXG5leHBvcnQgdHlwZSBGaWx0ZXJPcHRpb25zUHJvcHM8VCA9IGFueT4gPSB7XG4gIGRhdGE6IFRcbiAgaWQ6IG51bWJlciB8IHN0cmluZ1xuICByZWxhdGlvblRvOiBzdHJpbmdcbiAgc2libGluZ0RhdGE6IHVua25vd25cbiAgdXNlcjogUGFydGlhbDxVc2VyPlxufVxuXG5leHBvcnQgdHlwZSBGaWx0ZXJPcHRpb25zPFQgPSBhbnk+ID1cbiAgfCAoKG9wdGlvbnM6IEZpbHRlck9wdGlvbnNQcm9wczxUPikgPT4gUHJvbWlzZTxXaGVyZSB8IGJvb2xlYW4+IHwgV2hlcmUgfCBib29sZWFuKVxuICB8IFdoZXJlXG4gIHwgbnVsbFxuXG50eXBlIEFkbWluID0ge1xuICBjbGFzc05hbWU/OiBzdHJpbmdcbiAgY29tcG9uZW50cz86IHtcbiAgICBDZWxsPzogUmVhY3QuQ29tcG9uZW50VHlwZTxhbnk+XG4gICAgRmllbGQ/OiBSZWFjdC5Db21wb25lbnRUeXBlPGFueT5cbiAgICBGaWx0ZXI/OiBSZWFjdC5Db21wb25lbnRUeXBlPGFueT5cbiAgfVxuICAvKipcbiAgICogWW91IGNhbiBwcm9ncmFtbWF0aWNhbGx5IHNob3cgLyBoaWRlIGZpZWxkcyBiYXNlZCBvbiB3aGF0IG90aGVyIGZpZWxkcyBhcmUgZG9pbmcuXG4gICAqIFRoaXMgaXMgYWxzbyBydW4gb24gdGhlIHNlcnZlciwgdG8gZGV0ZXJtaW5lIGlmIHRoZSBmaWVsZCBzaG91bGQgYmUgdmFsaWRhdGVkLlxuICAgKi9cbiAgY29uZGl0aW9uPzogQ29uZGl0aW9uXG4gIGRlc2NyaXB0aW9uPzogRGVzY3JpcHRpb25cbiAgZGlzYWJsZUJ1bGtFZGl0PzogYm9vbGVhblxuICBkaXNhYmxlZD86IGJvb2xlYW5cbiAgaGlkZGVuPzogYm9vbGVhblxuICBwb3NpdGlvbj86ICdzaWRlYmFyJ1xuICByZWFkT25seT86IGJvb2xlYW5cbiAgc3R5bGU/OiBDU1NQcm9wZXJ0aWVzXG4gIHdpZHRoPzogc3RyaW5nXG59XG5cbmV4cG9ydCB0eXBlIExhYmVscyA9IHtcbiAgcGx1cmFsOiBSZWNvcmQ8c3RyaW5nLCBzdHJpbmc+IHwgc3RyaW5nXG4gIHNpbmd1bGFyOiBSZWNvcmQ8c3RyaW5nLCBzdHJpbmc+IHwgc3RyaW5nXG59XG5cbmV4cG9ydCB0eXBlIEJhc2VWYWxpZGF0ZU9wdGlvbnM8VERhdGEsIFRTaWJsaW5nRGF0YT4gPSB7XG4gIGRhdGE6IFBhcnRpYWw8VERhdGE+XG4gIGlkPzogbnVtYmVyIHwgc3RyaW5nXG4gIG9wZXJhdGlvbj86IE9wZXJhdGlvblxuICByZXE6IFBheWxvYWRSZXF1ZXN0XG4gIHNpYmxpbmdEYXRhOiBQYXJ0aWFsPFRTaWJsaW5nRGF0YT5cbn1cblxuZXhwb3J0IHR5cGUgVmFsaWRhdGVPcHRpb25zPFREYXRhLCBUU2libGluZ0RhdGEsIFRGaWVsZENvbmZpZyBleHRlbmRzIG9iamVjdD4gPSBCYXNlVmFsaWRhdGVPcHRpb25zPFxuICBURGF0YSxcbiAgVFNpYmxpbmdEYXRhXG4+ICZcbiAgVEZpZWxkQ29uZmlnXG5cbmV4cG9ydCB0eXBlIFZhbGlkYXRlPFxuICBUVmFsdWUgPSBhbnksXG4gIFREYXRhID0gYW55LFxuICBUU2libGluZ0RhdGEgPSBhbnksXG4gIFRGaWVsZENvbmZpZyBleHRlbmRzIG9iamVjdCA9IHt9LFxuPiA9IChcbiAgdmFsdWU6IFRWYWx1ZSxcbiAgb3B0aW9uczogVmFsaWRhdGVPcHRpb25zPFREYXRhLCBUU2libGluZ0RhdGEsIFRGaWVsZENvbmZpZz4sXG4pID0+IFByb21pc2U8c3RyaW5nIHwgdHJ1ZT4gfCBzdHJpbmcgfCB0cnVlXG5cbmV4cG9ydCB0eXBlIENsaWVudFZhbGlkYXRlID0gT21pdDxWYWxpZGF0ZSwgJ3JlcSc+XG5cbmV4cG9ydCB0eXBlIE9wdGlvbk9iamVjdCA9IHtcbiAgbGFiZWw6IFJlY29yZDxzdHJpbmcsIHN0cmluZz4gfCBzdHJpbmdcbiAgdmFsdWU6IHN0cmluZ1xufVxuXG5leHBvcnQgdHlwZSBPcHRpb24gPSBPcHRpb25PYmplY3QgfCBzdHJpbmdcblxuZXhwb3J0IGludGVyZmFjZSBGaWVsZEJhc2Uge1xuICBhY2Nlc3M/OiB7XG4gICAgY3JlYXRlPzogRmllbGRBY2Nlc3NcbiAgICByZWFkPzogRmllbGRBY2Nlc3NcbiAgICB1cGRhdGU/OiBGaWVsZEFjY2Vzc1xuICB9XG4gIGFkbWluPzogQWRtaW5cbiAgLyoqIEV4dGVuc2lvbiBwb2ludCB0byBhZGQgeW91ciBjdXN0b20gZGF0YS4gKi9cbiAgY3VzdG9tPzogUmVjb3JkPHN0cmluZywgYW55PlxuICBkZWZhdWx0VmFsdWU/OiBhbnlcbiAgaGlkZGVuPzogYm9vbGVhblxuICBob29rcz86IHtcbiAgICBhZnRlckNoYW5nZT86IEZpZWxkSG9va1tdXG4gICAgYWZ0ZXJSZWFkPzogRmllbGRIb29rW11cbiAgICBiZWZvcmVDaGFuZ2U/OiBGaWVsZEhvb2tbXVxuICAgIGJlZm9yZVZhbGlkYXRlPzogRmllbGRIb29rW11cbiAgfVxuICBpbmRleD86IGJvb2xlYW5cbiAgbGFiZWw/OiBSZWNvcmQ8c3RyaW5nLCBzdHJpbmc+IHwgZmFsc2UgfCBzdHJpbmdcbiAgbG9jYWxpemVkPzogYm9vbGVhblxuICBuYW1lOiBzdHJpbmdcbiAgcmVxdWlyZWQ/OiBib29sZWFuXG4gIHNhdmVUb0pXVD86IGJvb2xlYW4gfCBzdHJpbmdcbiAgdW5pcXVlPzogYm9vbGVhblxuICB2YWxpZGF0ZT86IFZhbGlkYXRlXG59XG5cbmV4cG9ydCB0eXBlIE51bWJlckZpZWxkID0gRmllbGRCYXNlICYge1xuICBhZG1pbj86IEFkbWluICYge1xuICAgIC8qKiBTZXQgdGhpcyBwcm9wZXJ0eSB0byBhIHN0cmluZyB0aGF0IHdpbGwgYmUgdXNlZCBmb3IgYnJvd3NlciBhdXRvY29tcGxldGUuICovXG4gICAgYXV0b0NvbXBsZXRlPzogc3RyaW5nXG4gICAgY29tcG9uZW50cz86IHtcbiAgICAgIEVycm9yPzogUmVhY3QuQ29tcG9uZW50VHlwZTxFcnJvclByb3BzPlxuICAgICAgTGFiZWw/OiBSZWFjdC5Db21wb25lbnRUeXBlPExhYmVsUHJvcHM+XG4gICAgICBhZnRlcklucHV0PzogUmVhY3QuQ29tcG9uZW50VHlwZTxhbnk+W11cbiAgICAgIGJlZm9yZUlucHV0PzogUmVhY3QuQ29tcG9uZW50VHlwZTxhbnk+W11cbiAgICB9XG4gICAgLyoqIFNldCB0aGlzIHByb3BlcnR5IHRvIGRlZmluZSBhIHBsYWNlaG9sZGVyIHN0cmluZyBmb3IgdGhlIGZpZWxkLiAqL1xuICAgIHBsYWNlaG9sZGVyPzogUmVjb3JkPHN0cmluZywgc3RyaW5nPiB8IHN0cmluZ1xuICAgIC8qKiBTZXQgYSB2YWx1ZSBmb3IgdGhlIG51bWJlciBmaWVsZCB0byBpbmNyZW1lbnQgLyBkZWNyZW1lbnQgdXNpbmcgYnJvd3NlciBjb250cm9scy4gKi9cbiAgICBzdGVwPzogbnVtYmVyXG4gIH1cbiAgLyoqIE1heGltdW0gdmFsdWUgYWNjZXB0ZWQuIFVzZWQgaW4gdGhlIGRlZmF1bHQgYHZhbGlkYXRpb25gIGZ1bmN0aW9uLiAqL1xuICBtYXg/OiBudW1iZXJcbiAgLyoqIE1pbmltdW0gdmFsdWUgYWNjZXB0ZWQuIFVzZWQgaW4gdGhlIGRlZmF1bHQgYHZhbGlkYXRpb25gIGZ1bmN0aW9uLiAqL1xuICBtaW4/OiBudW1iZXJcbiAgdHlwZTogJ251bWJlcidcbn0gJiAoXG4gICAgfCB7XG4gICAgICAgIC8qKiBNYWtlcyB0aGlzIGZpZWxkIGFuIG9yZGVyZWQgYXJyYXkgb2YgbnVtYmVycyBpbnN0ZWFkIG9mIGp1c3QgYSBzaW5nbGUgbnVtYmVyLiAqL1xuICAgICAgICBoYXNNYW55OiB0cnVlXG4gICAgICAgIC8qKiBNYXhpbXVtIG51bWJlciBvZiBudW1iZXJzIGluIHRoZSBudW1iZXJzIGFycmF5LCBpZiBgaGFzTWFueWAgaXMgc2V0IHRvIHRydWUuICovXG4gICAgICAgIG1heFJvd3M/OiBudW1iZXJcbiAgICAgICAgLyoqIE1pbmltdW0gbnVtYmVyIG9mIG51bWJlcnMgaW4gdGhlIG51bWJlcnMgYXJyYXksIGlmIGBoYXNNYW55YCBpcyBzZXQgdG8gdHJ1ZS4gKi9cbiAgICAgICAgbWluUm93cz86IG51bWJlclxuICAgICAgfVxuICAgIHwge1xuICAgICAgICAvKiogTWFrZXMgdGhpcyBmaWVsZCBhbiBvcmRlcmVkIGFycmF5IG9mIG51bWJlcnMgaW5zdGVhZCBvZiBqdXN0IGEgc2luZ2xlIG51bWJlci4gKi9cbiAgICAgICAgaGFzTWFueT86IGZhbHNlIHwgdW5kZWZpbmVkXG4gICAgICAgIC8qKiBNYXhpbXVtIG51bWJlciBvZiBudW1iZXJzIGluIHRoZSBudW1iZXJzIGFycmF5LCBpZiBgaGFzTWFueWAgaXMgc2V0IHRvIHRydWUuICovXG4gICAgICAgIG1heFJvd3M/OiB1bmRlZmluZWRcbiAgICAgICAgLyoqIE1pbmltdW0gbnVtYmVyIG9mIG51bWJlcnMgaW4gdGhlIG51bWJlcnMgYXJyYXksIGlmIGBoYXNNYW55YCBpcyBzZXQgdG8gdHJ1ZS4gKi9cbiAgICAgICAgbWluUm93cz86IHVuZGVmaW5lZFxuICAgICAgfVxuICApXG5cbmV4cG9ydCB0eXBlIFRleHRGaWVsZCA9IEZpZWxkQmFzZSAmIHtcbiAgYWRtaW4/OiBBZG1pbiAmIHtcbiAgICBhdXRvQ29tcGxldGU/OiBzdHJpbmdcbiAgICBjb21wb25lbnRzPzoge1xuICAgICAgRXJyb3I/OiBSZWFjdC5Db21wb25lbnRUeXBlPEVycm9yUHJvcHM+XG4gICAgICBMYWJlbD86IFJlYWN0LkNvbXBvbmVudFR5cGU8TGFiZWxQcm9wcz5cbiAgICAgIGFmdGVySW5wdXQ/OiBSZWFjdC5Db21wb25lbnRUeXBlPGFueT5bXVxuICAgICAgYmVmb3JlSW5wdXQ/OiBSZWFjdC5Db21wb25lbnRUeXBlPGFueT5bXVxuICAgIH1cbiAgICBwbGFjZWhvbGRlcj86IFJlY29yZDxzdHJpbmcsIHN0cmluZz4gfCBzdHJpbmdcbiAgICBydGw/OiBib29sZWFuXG4gIH1cbiAgbWF4TGVuZ3RoPzogbnVtYmVyXG4gIG1pbkxlbmd0aD86IG51bWJlclxuICB0eXBlOiAndGV4dCdcbn0gJiAoXG4gICAgfCB7XG4gICAgICAgIC8qKiBNYWtlcyB0aGlzIGZpZWxkIGFuIG9yZGVyZWQgYXJyYXkgb2Ygc3RyaW5ncyBpbnN0ZWFkIG9mIGp1c3QgYSBzaW5nbGUgc3RyaW5nLiAqL1xuICAgICAgICBoYXNNYW55OiB0cnVlXG4gICAgICAgIC8qKiBNYXhpbXVtIG51bWJlciBvZiBzdHJpbmdzIGluIHRoZSBzdHJpbmdzIGFycmF5LCBpZiBgaGFzTWFueWAgaXMgc2V0IHRvIHRydWUuICovXG4gICAgICAgIG1heFJvd3M/OiBudW1iZXJcbiAgICAgICAgLyoqIE1pbmltdW0gbnVtYmVyIG9mIHN0cmluZ3MgaW4gdGhlIHN0cmluZ3MgYXJyYXksIGlmIGBoYXNNYW55YCBpcyBzZXQgdG8gdHJ1ZS4gKi9cbiAgICAgICAgbWluUm93cz86IG51bWJlclxuICAgICAgfVxuICAgIHwge1xuICAgICAgICAvKiogTWFrZXMgdGhpcyBmaWVsZCBhbiBvcmRlcmVkIGFycmF5IG9mIHN0cmluZ3MgaW5zdGVhZCBvZiBqdXN0IGEgc2luZ2xlIHN0cmluZy4gKi9cbiAgICAgICAgaGFzTWFueT86IGZhbHNlIHwgdW5kZWZpbmVkXG4gICAgICAgIC8qKiBNYXhpbXVtIG51bWJlciBvZiBzdHJpbmdzIGluIHRoZSBzdHJpbmdzIGFycmF5LCBpZiBgaGFzTWFueWAgaXMgc2V0IHRvIHRydWUuICovXG4gICAgICAgIG1heFJvd3M/OiB1bmRlZmluZWRcbiAgICAgICAgLyoqIE1pbmltdW0gbnVtYmVyIG9mIHN0cmluZ3MgaW4gdGhlIHN0cmluZ3MgYXJyYXksIGlmIGBoYXNNYW55YCBpcyBzZXQgdG8gdHJ1ZS4gKi9cbiAgICAgICAgbWluUm93cz86IHVuZGVmaW5lZFxuICAgICAgfVxuICApXG5cbmV4cG9ydCB0eXBlIEVtYWlsRmllbGQgPSBGaWVsZEJhc2UgJiB7XG4gIGFkbWluPzogQWRtaW4gJiB7XG4gICAgYXV0b0NvbXBsZXRlPzogc3RyaW5nXG4gICAgY29tcG9uZW50cz86IHtcbiAgICAgIEVycm9yPzogUmVhY3QuQ29tcG9uZW50VHlwZTxFcnJvclByb3BzPlxuICAgICAgTGFiZWw/OiBSZWFjdC5Db21wb25lbnRUeXBlPExhYmVsUHJvcHM+XG4gICAgICBhZnRlcklucHV0PzogUmVhY3QuQ29tcG9uZW50VHlwZTxhbnk+W11cbiAgICAgIGJlZm9yZUlucHV0PzogUmVhY3QuQ29tcG9uZW50VHlwZTxhbnk+W11cbiAgICB9XG4gICAgcGxhY2Vob2xkZXI/OiBSZWNvcmQ8c3RyaW5nLCBzdHJpbmc+IHwgc3RyaW5nXG4gIH1cbiAgdHlwZTogJ2VtYWlsJ1xufVxuXG5leHBvcnQgdHlwZSBUZXh0YXJlYUZpZWxkID0gRmllbGRCYXNlICYge1xuICBhZG1pbj86IEFkbWluICYge1xuICAgIGNvbXBvbmVudHM/OiB7XG4gICAgICBFcnJvcj86IFJlYWN0LkNvbXBvbmVudFR5cGU8RXJyb3JQcm9wcz5cbiAgICAgIExhYmVsPzogUmVhY3QuQ29tcG9uZW50VHlwZTxMYWJlbFByb3BzPlxuICAgICAgYWZ0ZXJJbnB1dD86IFJlYWN0LkNvbXBvbmVudFR5cGU8YW55PltdXG4gICAgICBiZWZvcmVJbnB1dD86IFJlYWN0LkNvbXBvbmVudFR5cGU8YW55PltdXG4gICAgfVxuICAgIHBsYWNlaG9sZGVyPzogUmVjb3JkPHN0cmluZywgc3RyaW5nPiB8IHN0cmluZ1xuICAgIHJvd3M/OiBudW1iZXJcbiAgICBydGw/OiBib29sZWFuXG4gIH1cbiAgbWF4TGVuZ3RoPzogbnVtYmVyXG4gIG1pbkxlbmd0aD86IG51bWJlclxuICB0eXBlOiAndGV4dGFyZWEnXG59XG5cbmV4cG9ydCB0eXBlIENoZWNrYm94RmllbGQgPSBGaWVsZEJhc2UgJiB7XG4gIGFkbWluPzogQWRtaW4gJiB7XG4gICAgY29tcG9uZW50cz86IHtcbiAgICAgIEVycm9yPzogUmVhY3QuQ29tcG9uZW50VHlwZTxFcnJvclByb3BzPlxuICAgICAgTGFiZWw/OiBSZWFjdC5Db21wb25lbnRUeXBlPExhYmVsUHJvcHM+XG4gICAgICBhZnRlcklucHV0PzogUmVhY3QuQ29tcG9uZW50VHlwZTxhbnk+W11cbiAgICAgIGJlZm9yZUlucHV0PzogUmVhY3QuQ29tcG9uZW50VHlwZTxhbnk+W11cbiAgICB9XG4gIH1cbiAgdHlwZTogJ2NoZWNrYm94J1xufVxuXG5leHBvcnQgdHlwZSBEYXRlRmllbGQgPSBGaWVsZEJhc2UgJiB7XG4gIGFkbWluPzogQWRtaW4gJiB7XG4gICAgY29tcG9uZW50cz86IHtcbiAgICAgIEVycm9yPzogUmVhY3QuQ29tcG9uZW50VHlwZTxFcnJvclByb3BzPlxuICAgICAgTGFiZWw/OiBSZWFjdC5Db21wb25lbnRUeXBlPExhYmVsUHJvcHM+XG4gICAgICBhZnRlcklucHV0PzogUmVhY3QuQ29tcG9uZW50VHlwZTxhbnk+W11cbiAgICAgIGJlZm9yZUlucHV0PzogUmVhY3QuQ29tcG9uZW50VHlwZTxhbnk+W11cbiAgICB9XG4gICAgZGF0ZT86IENvbmRpdGlvbmFsRGF0ZVByb3BzXG4gICAgcGxhY2Vob2xkZXI/OiBSZWNvcmQ8c3RyaW5nLCBzdHJpbmc+IHwgc3RyaW5nXG4gIH1cbiAgdHlwZTogJ2RhdGUnXG59XG5cbmV4cG9ydCB0eXBlIEdyb3VwRmllbGQgPSBPbWl0PEZpZWxkQmFzZSwgJ3JlcXVpcmVkJyB8ICd2YWxpZGF0aW9uJz4gJiB7XG4gIGFkbWluPzogQWRtaW4gJiB7XG4gICAgaGlkZUd1dHRlcj86IGJvb2xlYW5cbiAgfVxuICBmaWVsZHM6IEZpZWxkW11cbiAgLyoqIEN1c3RvbWl6ZSBnZW5lcmF0ZWQgR3JhcGhRTCBhbmQgVHlwZXNjcmlwdCBzY2hlbWEgbmFtZXMuXG4gICAqIEJ5IGRlZmF1bHQgaXQgaXMgYm91bmQgdG8gdGhlIGNvbGxlY3Rpb24uXG4gICAqXG4gICAqIFRoaXMgaXMgdXNlZnVsIGlmIHlvdSB3b3VsZCBsaWtlIHRvIGdlbmVyYXRlIGEgdG9wIGxldmVsIHR5cGUgdG8gc2hhcmUgYW1vbmdzdCBjb2xsZWN0aW9ucy9maWVsZHMuXG4gICAqICoqTm90ZSoqOiBUb3AgbGV2ZWwgdHlwZXMgY2FuIGNvbGxpZGUsIGVuc3VyZSB0aGV5IGFyZSB1bmlxdWUgYW1vbmcgY29sbGVjdGlvbnMsIGFycmF5cywgZ3JvdXBzLCBibG9ja3MsIHRhYnMuXG4gICAqL1xuICBpbnRlcmZhY2VOYW1lPzogc3RyaW5nXG4gIHR5cGU6ICdncm91cCdcbn1cblxuZXhwb3J0IHR5cGUgUm93QWRtaW4gPSBPbWl0PEFkbWluLCAnZGVzY3JpcHRpb24nPlxuXG5leHBvcnQgdHlwZSBSb3dGaWVsZCA9IE9taXQ8RmllbGRCYXNlLCAnYWRtaW4nIHwgJ2xhYmVsJyB8ICduYW1lJz4gJiB7XG4gIGFkbWluPzogUm93QWRtaW5cbiAgZmllbGRzOiBGaWVsZFtdXG4gIHR5cGU6ICdyb3cnXG59XG5cbmV4cG9ydCB0eXBlIENvbGxhcHNpYmxlRmllbGQgPSBPbWl0PEZpZWxkQmFzZSwgJ2xhYmVsJyB8ICduYW1lJz4gJiB7XG4gIGFkbWluPzogQWRtaW4gJiB7XG4gICAgaW5pdENvbGxhcHNlZD86IGJvb2xlYW5cbiAgfVxuICBmaWVsZHM6IEZpZWxkW11cbiAgbGFiZWw6IFJvd0xhYmVsXG4gIHR5cGU6ICdjb2xsYXBzaWJsZSdcbn1cblxuZXhwb3J0IHR5cGUgVGFic0FkbWluID0gT21pdDxBZG1pbiwgJ2Rlc2NyaXB0aW9uJz5cblxudHlwZSBUYWJCYXNlID0gT21pdDxGaWVsZEJhc2UsICdyZXF1aXJlZCcgfCAndmFsaWRhdGlvbic+ICYge1xuICBkZXNjcmlwdGlvbj86IERlc2NyaXB0aW9uXG4gIGZpZWxkczogRmllbGRbXVxuICBpbnRlcmZhY2VOYW1lPzogc3RyaW5nXG4gIHNhdmVUb0pXVD86IGJvb2xlYW4gfCBzdHJpbmdcbn1cblxuZXhwb3J0IHR5cGUgTmFtZWRUYWIgPSBUYWJCYXNlICYge1xuICAvKiogQ3VzdG9taXplIGdlbmVyYXRlZCBHcmFwaFFMIGFuZCBUeXBlc2NyaXB0IHNjaGVtYSBuYW1lcy5cbiAgICogVGhlIHNsdWcgaXMgdXNlZCBieSBkZWZhdWx0LlxuICAgKlxuICAgKiBUaGlzIGlzIHVzZWZ1bCBpZiB5b3Ugd291bGQgbGlrZSB0byBnZW5lcmF0ZSBhIHRvcCBsZXZlbCB0eXBlIHRvIHNoYXJlIGFtb25nc3QgY29sbGVjdGlvbnMvZmllbGRzLlxuICAgKiAqKk5vdGUqKjogVG9wIGxldmVsIHR5cGVzIGNhbiBjb2xsaWRlLCBlbnN1cmUgdGhleSBhcmUgdW5pcXVlIGFtb25nIGNvbGxlY3Rpb25zLCBhcnJheXMsIGdyb3VwcywgYmxvY2tzLCB0YWJzLlxuICAgKi9cbiAgaW50ZXJmYWNlTmFtZT86IHN0cmluZ1xufVxuXG5leHBvcnQgdHlwZSBVbm5hbWVkVGFiID0gT21pdDxUYWJCYXNlLCAnbmFtZSc+ICYge1xuICBpbnRlcmZhY2VOYW1lPzogbmV2ZXJcbiAgbGFiZWw6IFJlY29yZDxzdHJpbmcsIHN0cmluZz4gfCBzdHJpbmdcbiAgbG9jYWxpemVkPzogbmV2ZXJcbn1cblxuZXhwb3J0IHR5cGUgVGFiID0gTmFtZWRUYWIgfCBVbm5hbWVkVGFiXG5cbmV4cG9ydCB0eXBlIFRhYnNGaWVsZCA9IE9taXQ8RmllbGRCYXNlLCAnYWRtaW4nIHwgJ2xvY2FsaXplZCcgfCAnbmFtZScgfCAnc2F2ZVRvSldUJz4gJiB7XG4gIGFkbWluPzogVGFic0FkbWluXG4gIHRhYnM6IFRhYltdXG4gIHR5cGU6ICd0YWJzJ1xufVxuXG5leHBvcnQgdHlwZSBUYWJBc0ZpZWxkID0gVGFiICYge1xuICBuYW1lPzogc3RyaW5nXG4gIHR5cGU6ICd0YWInXG59XG5cbmV4cG9ydCB0eXBlIFVJRmllbGQgPSB7XG4gIGFkbWluOiB7XG4gICAgY29tcG9uZW50cz86IHtcbiAgICAgIENlbGw/OiBSZWFjdC5Db21wb25lbnRUeXBlPGFueT5cbiAgICAgIEZpZWxkOiBSZWFjdC5Db21wb25lbnRUeXBlPGFueT5cbiAgICAgIEZpbHRlcj86IFJlYWN0LkNvbXBvbmVudFR5cGU8YW55PlxuICAgIH1cbiAgICBjb25kaXRpb24/OiBDb25kaXRpb25cbiAgICBkaXNhYmxlQnVsa0VkaXQ/OiBib29sZWFuXG4gICAgcG9zaXRpb24/OiBzdHJpbmdcbiAgICB3aWR0aD86IHN0cmluZ1xuICB9XG4gIC8qKiBFeHRlbnNpb24gcG9pbnQgdG8gYWRkIHlvdXIgY3VzdG9tIGRhdGEuICovXG4gIGN1c3RvbT86IFJlY29yZDxzdHJpbmcsIGFueT5cbiAgbGFiZWw/OiBSZWNvcmQ8c3RyaW5nLCBzdHJpbmc+IHwgc3RyaW5nXG4gIG5hbWU6IHN0cmluZ1xuICB0eXBlOiAndWknXG59XG5cbmV4cG9ydCB0eXBlIFVwbG9hZEZpZWxkID0gRmllbGRCYXNlICYge1xuICBhZG1pbj86IHtcbiAgICBjb21wb25lbnRzPzoge1xuICAgICAgRXJyb3I/OiBSZWFjdC5Db21wb25lbnRUeXBlPEVycm9yUHJvcHM+XG4gICAgICBMYWJlbD86IFJlYWN0LkNvbXBvbmVudFR5cGU8TGFiZWxQcm9wcz5cbiAgICB9XG4gIH1cbiAgZmlsdGVyT3B0aW9ucz86IEZpbHRlck9wdGlvbnNcbiAgbWF4RGVwdGg/OiBudW1iZXJcbiAgcmVsYXRpb25Ubzogc3RyaW5nXG4gIHR5cGU6ICd1cGxvYWQnXG59XG5cbnR5cGUgQ29kZUFkbWluID0gQWRtaW4gJiB7XG4gIGNvbXBvbmVudHM/OiB7XG4gICAgRXJyb3I/OiBSZWFjdC5Db21wb25lbnRUeXBlPEVycm9yUHJvcHM+XG4gICAgTGFiZWw/OiBSZWFjdC5Db21wb25lbnRUeXBlPExhYmVsUHJvcHM+XG4gIH1cbiAgZWRpdG9yT3B0aW9ucz86IEVkaXRvclByb3BzWydvcHRpb25zJ11cbiAgbGFuZ3VhZ2U/OiBzdHJpbmdcbn1cblxuZXhwb3J0IHR5cGUgQ29kZUZpZWxkID0gT21pdDxGaWVsZEJhc2UsICdhZG1pbic+ICYge1xuICBhZG1pbj86IENvZGVBZG1pblxuICBtYXhMZW5ndGg/OiBudW1iZXJcbiAgbWluTGVuZ3RoPzogbnVtYmVyXG4gIHR5cGU6ICdjb2RlJ1xufVxuXG50eXBlIEpTT05BZG1pbiA9IEFkbWluICYge1xuICBjb21wb25lbnRzPzoge1xuICAgIEVycm9yPzogUmVhY3QuQ29tcG9uZW50VHlwZTxFcnJvclByb3BzPlxuICAgIExhYmVsPzogUmVhY3QuQ29tcG9uZW50VHlwZTxMYWJlbFByb3BzPlxuICB9XG4gIGVkaXRvck9wdGlvbnM/OiBFZGl0b3JQcm9wc1snb3B0aW9ucyddXG59XG5cbmV4cG9ydCB0eXBlIEpTT05GaWVsZCA9IE9taXQ8RmllbGRCYXNlLCAnYWRtaW4nPiAmIHtcbiAgYWRtaW4/OiBKU09OQWRtaW5cbiAgdHlwZTogJ2pzb24nXG59XG5cbmV4cG9ydCB0eXBlIFNlbGVjdEZpZWxkID0gRmllbGRCYXNlICYge1xuICBhZG1pbj86IEFkbWluICYge1xuICAgIGNvbXBvbmVudHM/OiB7XG4gICAgICBFcnJvcj86IFJlYWN0LkNvbXBvbmVudFR5cGU8RXJyb3JQcm9wcz5cbiAgICAgIExhYmVsPzogUmVhY3QuQ29tcG9uZW50VHlwZTxMYWJlbFByb3BzPlxuICAgIH1cbiAgICBpc0NsZWFyYWJsZT86IGJvb2xlYW5cbiAgICBpc1NvcnRhYmxlPzogYm9vbGVhblxuICB9XG4gIGhhc01hbnk/OiBib29sZWFuXG4gIG9wdGlvbnM6IE9wdGlvbltdXG4gIHR5cGU6ICdzZWxlY3QnXG59XG5cbnR5cGUgU2hhcmVkUmVsYXRpb25zaGlwUHJvcGVydGllcyA9IEZpZWxkQmFzZSAmIHtcbiAgZmlsdGVyT3B0aW9ucz86IEZpbHRlck9wdGlvbnNcbiAgaGFzTWFueT86IGJvb2xlYW5cbiAgbWF4RGVwdGg/OiBudW1iZXJcbiAgdHlwZTogJ3JlbGF0aW9uc2hpcCdcbn0gJiAoXG4gICAgfCB7XG4gICAgICAgIGhhc01hbnk6IHRydWVcbiAgICAgICAgLyoqXG4gICAgICAgICAqIEBkZXByZWNhdGVkIFVzZSAnbWF4Um93cycgaW5zdGVhZFxuICAgICAgICAgKi9cbiAgICAgICAgbWF4PzogbnVtYmVyXG4gICAgICAgIG1heFJvd3M/OiBudW1iZXJcbiAgICAgICAgLyoqXG4gICAgICAgICAqIEBkZXByZWNhdGVkIFVzZSAnbWluUm93cycgaW5zdGVhZFxuICAgICAgICAgKi9cbiAgICAgICAgbWluPzogbnVtYmVyXG4gICAgICAgIG1pblJvd3M/OiBudW1iZXJcbiAgICAgIH1cbiAgICB8IHtcbiAgICAgICAgaGFzTWFueT86IGZhbHNlIHwgdW5kZWZpbmVkXG4gICAgICAgIC8qKlxuICAgICAgICAgKiBAZGVwcmVjYXRlZCBVc2UgJ21heFJvd3MnIGluc3RlYWRcbiAgICAgICAgICovXG4gICAgICAgIG1heD86IHVuZGVmaW5lZFxuICAgICAgICBtYXhSb3dzPzogdW5kZWZpbmVkXG4gICAgICAgIC8qKlxuICAgICAgICAgKiBAZGVwcmVjYXRlZCBVc2UgJ21pblJvd3MnIGluc3RlYWRcbiAgICAgICAgICovXG4gICAgICAgIG1pbj86IHVuZGVmaW5lZFxuICAgICAgICBtaW5Sb3dzPzogdW5kZWZpbmVkXG4gICAgICB9XG4gIClcblxudHlwZSBSZWxhdGlvbnNoaXBBZG1pbiA9IEFkbWluICYge1xuICBhbGxvd0NyZWF0ZT86IGJvb2xlYW5cbiAgY29tcG9uZW50cz86IHtcbiAgICBFcnJvcj86IFJlYWN0LkNvbXBvbmVudFR5cGU8RXJyb3JQcm9wcz5cbiAgICBMYWJlbD86IFJlYWN0LkNvbXBvbmVudFR5cGU8TGFiZWxQcm9wcz5cbiAgfVxuICBpc1NvcnRhYmxlPzogYm9vbGVhblxufVxuZXhwb3J0IHR5cGUgUG9seW1vcnBoaWNSZWxhdGlvbnNoaXBGaWVsZCA9IFNoYXJlZFJlbGF0aW9uc2hpcFByb3BlcnRpZXMgJiB7XG4gIGFkbWluPzogUmVsYXRpb25zaGlwQWRtaW4gJiB7XG4gICAgc29ydE9wdGlvbnM/OiB7IFtjb2xsZWN0aW9uU2x1Zzogc3RyaW5nXTogc3RyaW5nIH1cbiAgfVxuICByZWxhdGlvblRvOiBzdHJpbmdbXVxufVxuZXhwb3J0IHR5cGUgU2luZ2xlUmVsYXRpb25zaGlwRmllbGQgPSBTaGFyZWRSZWxhdGlvbnNoaXBQcm9wZXJ0aWVzICYge1xuICBhZG1pbj86IFJlbGF0aW9uc2hpcEFkbWluICYge1xuICAgIHNvcnRPcHRpb25zPzogc3RyaW5nXG4gIH1cbiAgcmVsYXRpb25Ubzogc3RyaW5nXG59XG5leHBvcnQgdHlwZSBSZWxhdGlvbnNoaXBGaWVsZCA9IFBvbHltb3JwaGljUmVsYXRpb25zaGlwRmllbGQgfCBTaW5nbGVSZWxhdGlvbnNoaXBGaWVsZFxuXG5leHBvcnQgdHlwZSBWYWx1ZVdpdGhSZWxhdGlvbiA9IHtcbiAgcmVsYXRpb25Ubzogc3RyaW5nXG4gIHZhbHVlOiBudW1iZXIgfCBzdHJpbmdcbn1cblxuZXhwb3J0IGZ1bmN0aW9uIHZhbHVlSXNWYWx1ZVdpdGhSZWxhdGlvbih2YWx1ZTogdW5rbm93bik6IHZhbHVlIGlzIFZhbHVlV2l0aFJlbGF0aW9uIHtcbiAgcmV0dXJuIHZhbHVlICE9PSBudWxsICYmIHR5cGVvZiB2YWx1ZSA9PT0gJ29iamVjdCcgJiYgJ3JlbGF0aW9uVG8nIGluIHZhbHVlICYmICd2YWx1ZScgaW4gdmFsdWVcbn1cblxuZXhwb3J0IHR5cGUgUmVsYXRpb25zaGlwVmFsdWUgPVxuICB8IChudW1iZXIgfCBzdHJpbmcpW11cbiAgfCBWYWx1ZVdpdGhSZWxhdGlvblxuICB8IFZhbHVlV2l0aFJlbGF0aW9uW11cbiAgfCAobnVtYmVyIHwgc3RyaW5nKVxuXG5leHBvcnQgdHlwZSBSaWNoVGV4dEZpZWxkPFxuICBWYWx1ZSBleHRlbmRzIG9iamVjdCA9IGFueSxcbiAgQWRhcHRlclByb3BzID0gYW55LFxuICBFeHRyYVByb3BlcnRpZXMgPSB7fSxcbj4gPSBGaWVsZEJhc2UgJiB7XG4gIGFkbWluPzogQWRtaW5cbiAgZWRpdG9yPzogUmljaFRleHRBZGFwdGVyPFZhbHVlLCBBZGFwdGVyUHJvcHMsIEFkYXB0ZXJQcm9wcz5cbiAgdHlwZTogJ3JpY2hUZXh0J1xufSAmIEV4dHJhUHJvcGVydGllc1xuXG5leHBvcnQgdHlwZSBBcnJheUZpZWxkID0gRmllbGRCYXNlICYge1xuICBhZG1pbj86IEFkbWluICYge1xuICAgIGNvbXBvbmVudHM/OiB7XG4gICAgICBSb3dMYWJlbD86IFJvd0xhYmVsXG4gICAgfSAmIEFkbWluWydjb21wb25lbnRzJ11cbiAgICBpbml0Q29sbGFwc2VkPzogYm9vbGVhblxuICB9XG4gIGZpZWxkczogRmllbGRbXVxuICAvKiogQ3VzdG9taXplIGdlbmVyYXRlZCBHcmFwaFFMIGFuZCBUeXBlc2NyaXB0IHNjaGVtYSBuYW1lcy5cbiAgICogQnkgZGVmYXVsdCBpdCBpcyBib3VuZCB0byB0aGUgY29sbGVjdGlvbi5cbiAgICpcbiAgICogVGhpcyBpcyB1c2VmdWwgaWYgeW91IHdvdWxkIGxpa2UgdG8gZ2VuZXJhdGUgYSB0b3AgbGV2ZWwgdHlwZSB0byBzaGFyZSBhbW9uZ3N0IGNvbGxlY3Rpb25zL2ZpZWxkcy5cbiAgICogKipOb3RlKio6IFRvcCBsZXZlbCB0eXBlcyBjYW4gY29sbGlkZSwgZW5zdXJlIHRoZXkgYXJlIHVuaXF1ZSBhbW9uZyBjb2xsZWN0aW9ucywgYXJyYXlzLCBncm91cHMsIGJsb2NrcywgdGFicy5cbiAgICovXG4gIGludGVyZmFjZU5hbWU/OiBzdHJpbmdcbiAgbGFiZWxzPzogTGFiZWxzXG4gIG1heFJvd3M/OiBudW1iZXJcbiAgbWluUm93cz86IG51bWJlclxuICB0eXBlOiAnYXJyYXknXG59XG5cbmV4cG9ydCB0eXBlIFJhZGlvRmllbGQgPSBGaWVsZEJhc2UgJiB7XG4gIGFkbWluPzogQWRtaW4gJiB7XG4gICAgY29tcG9uZW50cz86IHtcbiAgICAgIEVycm9yPzogUmVhY3QuQ29tcG9uZW50VHlwZTxFcnJvclByb3BzPlxuICAgICAgTGFiZWw/OiBSZWFjdC5Db21wb25lbnRUeXBlPExhYmVsUHJvcHM+XG4gICAgfVxuICAgIGxheW91dD86ICdob3Jpem9udGFsJyB8ICd2ZXJ0aWNhbCdcbiAgfVxuICBvcHRpb25zOiBPcHRpb25bXVxuICB0eXBlOiAncmFkaW8nXG59XG5cbmV4cG9ydCB0eXBlIEJsb2NrID0ge1xuICAvKiogRXh0ZW5zaW9uIHBvaW50IHRvIGFkZCB5b3VyIGN1c3RvbSBkYXRhLiAqL1xuICBjdXN0b20/OiBSZWNvcmQ8c3RyaW5nLCBhbnk+XG4gIGZpZWxkczogRmllbGRbXVxuICAvKiogQGRlcHJlY2F0ZWQgLSBwbGVhc2UgbWlncmF0ZSB0byB0aGUgaW50ZXJmYWNlTmFtZSBwcm9wZXJ0eSBpbnN0ZWFkLiAqL1xuICBncmFwaFFMPzoge1xuICAgIHNpbmd1bGFyTmFtZT86IHN0cmluZ1xuICB9XG4gIGltYWdlQWx0VGV4dD86IHN0cmluZ1xuICBpbWFnZVVSTD86IHN0cmluZ1xuICAvKiogQ3VzdG9taXplIGdlbmVyYXRlZCBHcmFwaFFMIGFuZCBUeXBlc2NyaXB0IHNjaGVtYSBuYW1lcy5cbiAgICogVGhlIHNsdWcgaXMgdXNlZCBieSBkZWZhdWx0LlxuICAgKlxuICAgKiBUaGlzIGlzIHVzZWZ1bCBpZiB5b3Ugd291bGQgbGlrZSB0byBnZW5lcmF0ZSBhIHRvcCBsZXZlbCB0eXBlIHRvIHNoYXJlIGFtb25nc3QgY29sbGVjdGlvbnMvZmllbGRzLlxuICAgKiAqKk5vdGUqKjogVG9wIGxldmVsIHR5cGVzIGNhbiBjb2xsaWRlLCBlbnN1cmUgdGhleSBhcmUgdW5pcXVlIGFtb25nIGNvbGxlY3Rpb25zLCBhcnJheXMsIGdyb3VwcywgYmxvY2tzLCB0YWJzLlxuICAgKi9cbiAgaW50ZXJmYWNlTmFtZT86IHN0cmluZ1xuICBsYWJlbHM/OiBMYWJlbHNcbiAgc2x1Zzogc3RyaW5nXG59XG5cbmV4cG9ydCB0eXBlIEJsb2NrRmllbGQgPSBGaWVsZEJhc2UgJiB7XG4gIGFkbWluPzogQWRtaW4gJiB7XG4gICAgaW5pdENvbGxhcHNlZD86IGJvb2xlYW5cbiAgfVxuICBibG9ja3M6IEJsb2NrW11cbiAgZGVmYXVsdFZhbHVlPzogdW5rbm93blxuICBsYWJlbHM/OiBMYWJlbHNcbiAgbWF4Um93cz86IG51bWJlclxuICBtaW5Sb3dzPzogbnVtYmVyXG4gIHR5cGU6ICdibG9ja3MnXG59XG5cbmV4cG9ydCB0eXBlIFBvaW50RmllbGQgPSBGaWVsZEJhc2UgJiB7XG4gIHR5cGU6ICdwb2ludCdcbn1cblxuZXhwb3J0IHR5cGUgRmllbGQgPVxuICB8IEFycmF5RmllbGRcbiAgfCBCbG9ja0ZpZWxkXG4gIHwgQ2hlY2tib3hGaWVsZFxuICB8IENvZGVGaWVsZFxuICB8IENvbGxhcHNpYmxlRmllbGRcbiAgfCBEYXRlRmllbGRcbiAgfCBFbWFpbEZpZWxkXG4gIHwgR3JvdXBGaWVsZFxuICB8IEpTT05GaWVsZFxuICB8IE51bWJlckZpZWxkXG4gIHwgUG9pbnRGaWVsZFxuICB8IFJhZGlvRmllbGRcbiAgfCBSZWxhdGlvbnNoaXBGaWVsZFxuICB8IFJpY2hUZXh0RmllbGRcbiAgfCBSb3dGaWVsZFxuICB8IFNlbGVjdEZpZWxkXG4gIHwgVGFic0ZpZWxkXG4gIHwgVGV4dEZpZWxkXG4gIHwgVGV4dGFyZWFGaWVsZFxuICB8IFVJRmllbGRcbiAgfCBVcGxvYWRGaWVsZFxuXG5leHBvcnQgdHlwZSBDbGllbnRDb25maWdGaWVsZCA9IE9taXQ8RmllbGQsICdhY2Nlc3MnIHwgJ2RlZmF1bHRWYWx1ZScgfCAnaG9va3MnIHwgJ3ZhbGlkYXRlJz5cblxuZXhwb3J0IHR5cGUgRmllbGRBZmZlY3RpbmdEYXRhID1cbiAgfCBBcnJheUZpZWxkXG4gIHwgQmxvY2tGaWVsZFxuICB8IENoZWNrYm94RmllbGRcbiAgfCBDb2RlRmllbGRcbiAgfCBEYXRlRmllbGRcbiAgfCBFbWFpbEZpZWxkXG4gIHwgR3JvdXBGaWVsZFxuICB8IEpTT05GaWVsZFxuICB8IE51bWJlckZpZWxkXG4gIHwgUG9pbnRGaWVsZFxuICB8IFJhZGlvRmllbGRcbiAgfCBSZWxhdGlvbnNoaXBGaWVsZFxuICB8IFJpY2hUZXh0RmllbGRcbiAgfCBTZWxlY3RGaWVsZFxuICB8IFRhYkFzRmllbGRcbiAgfCBUZXh0RmllbGRcbiAgfCBUZXh0YXJlYUZpZWxkXG4gIHwgVXBsb2FkRmllbGRcblxuZXhwb3J0IHR5cGUgTm9uUHJlc2VudGF0aW9uYWxGaWVsZCA9XG4gIHwgQXJyYXlGaWVsZFxuICB8IEJsb2NrRmllbGRcbiAgfCBDaGVja2JveEZpZWxkXG4gIHwgQ29kZUZpZWxkXG4gIHwgQ29sbGFwc2libGVGaWVsZFxuICB8IERhdGVGaWVsZFxuICB8IEVtYWlsRmllbGRcbiAgfCBHcm91cEZpZWxkXG4gIHwgSlNPTkZpZWxkXG4gIHwgTnVtYmVyRmllbGRcbiAgfCBQb2ludEZpZWxkXG4gIHwgUmFkaW9GaWVsZFxuICB8IFJlbGF0aW9uc2hpcEZpZWxkXG4gIHwgUmljaFRleHRGaWVsZFxuICB8IFJvd0ZpZWxkXG4gIHwgU2VsZWN0RmllbGRcbiAgfCBUYWJzRmllbGRcbiAgfCBUZXh0RmllbGRcbiAgfCBUZXh0YXJlYUZpZWxkXG4gIHwgVXBsb2FkRmllbGRcblxuZXhwb3J0IHR5cGUgRmllbGRXaXRoUGF0aCA9IEZpZWxkICYge1xuICBwYXRoPzogc3RyaW5nXG59XG5cbmV4cG9ydCB0eXBlIEZpZWxkV2l0aFN1YkZpZWxkcyA9IEFycmF5RmllbGQgfCBDb2xsYXBzaWJsZUZpZWxkIHwgR3JvdXBGaWVsZCB8IFJvd0ZpZWxkXG5cbmV4cG9ydCB0eXBlIEZpZWxkUHJlc2VudGF0aW9uYWxPbmx5ID0gVUlGaWVsZFxuXG5leHBvcnQgdHlwZSBGaWVsZFdpdGhNYW55ID0gUmVsYXRpb25zaGlwRmllbGQgfCBTZWxlY3RGaWVsZFxuXG5leHBvcnQgdHlwZSBGaWVsZFdpdGhNYXhEZXB0aCA9IFJlbGF0aW9uc2hpcEZpZWxkIHwgVXBsb2FkRmllbGRcblxuZXhwb3J0IGZ1bmN0aW9uIGZpZWxkSGFzU3ViRmllbGRzKGZpZWxkOiBGaWVsZCk6IGZpZWxkIGlzIEZpZWxkV2l0aFN1YkZpZWxkcyB7XG4gIHJldHVybiAoXG4gICAgZmllbGQudHlwZSA9PT0gJ2dyb3VwJyB8fFxuICAgIGZpZWxkLnR5cGUgPT09ICdhcnJheScgfHxcbiAgICBmaWVsZC50eXBlID09PSAncm93JyB8fFxuICAgIGZpZWxkLnR5cGUgPT09ICdjb2xsYXBzaWJsZSdcbiAgKVxufVxuXG5leHBvcnQgZnVuY3Rpb24gZmllbGRJc0FycmF5VHlwZShmaWVsZDogRmllbGQpOiBmaWVsZCBpcyBBcnJheUZpZWxkIHtcbiAgcmV0dXJuIGZpZWxkLnR5cGUgPT09ICdhcnJheSdcbn1cblxuZXhwb3J0IGZ1bmN0aW9uIGZpZWxkSXNCbG9ja1R5cGUoZmllbGQ6IEZpZWxkKTogZmllbGQgaXMgQmxvY2tGaWVsZCB7XG4gIHJldHVybiBmaWVsZC50eXBlID09PSAnYmxvY2tzJ1xufVxuXG5leHBvcnQgZnVuY3Rpb24gZmllbGRJc0dyb3VwVHlwZShmaWVsZDogRmllbGQpOiBmaWVsZCBpcyBHcm91cEZpZWxkIHtcbiAgcmV0dXJuIGZpZWxkLnR5cGUgPT09ICdncm91cCdcbn1cblxuZXhwb3J0IGZ1bmN0aW9uIG9wdGlvbklzT2JqZWN0KG9wdGlvbjogT3B0aW9uKTogb3B0aW9uIGlzIE9wdGlvbk9iamVjdCB7XG4gIHJldHVybiB0eXBlb2Ygb3B0aW9uID09PSAnb2JqZWN0J1xufVxuXG5leHBvcnQgZnVuY3Rpb24gb3B0aW9uc0FyZU9iamVjdHMob3B0aW9uczogT3B0aW9uW10pOiBvcHRpb25zIGlzIE9wdGlvbk9iamVjdFtdIHtcbiAgcmV0dXJuIEFycmF5LmlzQXJyYXkob3B0aW9ucykgJiYgdHlwZW9mIG9wdGlvbnM/LlswXSA9PT0gJ29iamVjdCdcbn1cblxuZXhwb3J0IGZ1bmN0aW9uIG9wdGlvbklzVmFsdWUob3B0aW9uOiBPcHRpb24pOiBvcHRpb24gaXMgc3RyaW5nIHtcbiAgcmV0dXJuIHR5cGVvZiBvcHRpb24gPT09ICdzdHJpbmcnXG59XG5cbmV4cG9ydCBmdW5jdGlvbiBmaWVsZFN1cHBvcnRzTWFueShmaWVsZDogRmllbGQpOiBmaWVsZCBpcyBGaWVsZFdpdGhNYW55IHtcbiAgcmV0dXJuIGZpZWxkLnR5cGUgPT09ICdzZWxlY3QnIHx8IGZpZWxkLnR5cGUgPT09ICdyZWxhdGlvbnNoaXAnXG59XG5cbmV4cG9ydCBmdW5jdGlvbiBmaWVsZEhhc01heERlcHRoKGZpZWxkOiBGaWVsZCk6IGZpZWxkIGlzIEZpZWxkV2l0aE1heERlcHRoIHtcbiAgcmV0dXJuIChcbiAgICAoZmllbGQudHlwZSA9PT0gJ3VwbG9hZCcgfHwgZmllbGQudHlwZSA9PT0gJ3JlbGF0aW9uc2hpcCcpICYmIHR5cGVvZiBmaWVsZC5tYXhEZXB0aCA9PT0gJ251bWJlcidcbiAgKVxufVxuXG5leHBvcnQgZnVuY3Rpb24gZmllbGRJc1ByZXNlbnRhdGlvbmFsT25seShmaWVsZDogRmllbGQgfCBUYWJBc0ZpZWxkKTogZmllbGQgaXMgVUlGaWVsZCB7XG4gIHJldHVybiBmaWVsZC50eXBlID09PSAndWknXG59XG5cbmV4cG9ydCBmdW5jdGlvbiBmaWVsZEFmZmVjdHNEYXRhKGZpZWxkOiBGaWVsZCB8IFRhYkFzRmllbGQpOiBmaWVsZCBpcyBGaWVsZEFmZmVjdGluZ0RhdGEge1xuICByZXR1cm4gJ25hbWUnIGluIGZpZWxkICYmICFmaWVsZElzUHJlc2VudGF0aW9uYWxPbmx5KGZpZWxkKVxufVxuXG5leHBvcnQgZnVuY3Rpb24gdGFiSGFzTmFtZSh0YWI6IFRhYik6IHRhYiBpcyBOYW1lZFRhYiB7XG4gIHJldHVybiAnbmFtZScgaW4gdGFiXG59XG5cbmV4cG9ydCBmdW5jdGlvbiBmaWVsZElzTG9jYWxpemVkKGZpZWxkOiBGaWVsZCB8IFRhYik6IGJvb2xlYW4ge1xuICByZXR1cm4gJ2xvY2FsaXplZCcgaW4gZmllbGQgJiYgZmllbGQubG9jYWxpemVkXG59XG5cbmV4cG9ydCB0eXBlIEhvb2tOYW1lID1cbiAgfCAnYWZ0ZXJDaGFuZ2UnXG4gIHwgJ2FmdGVyUmVhZCdcbiAgfCAnYmVmb3JlQ2hhbmdlJ1xuICB8ICdiZWZvcmVSZWFkJ1xuICB8ICdiZWZvcmVWYWxpZGF0ZSdcbiJdLCJuYW1lcyI6WyJmaWVsZEFmZmVjdHNEYXRhIiwiZmllbGRIYXNNYXhEZXB0aCIsImZpZWxkSGFzU3ViRmllbGRzIiwiZmllbGRJc0FycmF5VHlwZSIsImZpZWxkSXNCbG9ja1R5cGUiLCJmaWVsZElzR3JvdXBUeXBlIiwiZmllbGRJc0xvY2FsaXplZCIsImZpZWxkSXNQcmVzZW50YXRpb25hbE9ubHkiLCJmaWVsZFN1cHBvcnRzTWFueSIsIm9wdGlvbklzT2JqZWN0Iiwib3B0aW9uSXNWYWx1ZSIsIm9wdGlvbnNBcmVPYmplY3RzIiwidGFiSGFzTmFtZSIsInZhbHVlSXNWYWx1ZVdpdGhSZWxhdGlvbiIsInZhbHVlIiwiZmllbGQiLCJ0eXBlIiwib3B0aW9uIiwib3B0aW9ucyIsIkFycmF5IiwiaXNBcnJheSIsIm1heERlcHRoIiwidGFiIiwibG9jYWxpemVkIl0sIm1hcHBpbmdzIjoiQUFBQSx1Q0FBdUM7Ozs7Ozs7Ozs7O0lBNnRCdkJBLGdCQUFnQjtlQUFoQkE7O0lBVkFDLGdCQUFnQjtlQUFoQkE7O0lBckNBQyxpQkFBaUI7ZUFBakJBOztJQVNBQyxnQkFBZ0I7ZUFBaEJBOztJQUlBQyxnQkFBZ0I7ZUFBaEJBOztJQUlBQyxnQkFBZ0I7ZUFBaEJBOztJQXNDQUMsZ0JBQWdCO2VBQWhCQTs7SUFaQUMseUJBQXlCO2VBQXpCQTs7SUFWQUMsaUJBQWlCO2VBQWpCQTs7SUFaQUMsY0FBYztlQUFkQTs7SUFRQUMsYUFBYTtlQUFiQTs7SUFKQUMsaUJBQWlCO2VBQWpCQTs7SUEwQkFDLFVBQVU7ZUFBVkE7O0lBNU5BQyx3QkFBd0I7ZUFBeEJBOzs7QUFBVCxTQUFTQSx5QkFBeUJDLEtBQWM7SUFDckQsT0FBT0EsVUFBVSxRQUFRLE9BQU9BLFVBQVUsWUFBWSxnQkFBZ0JBLFNBQVMsV0FBV0E7QUFDNUY7QUF1S08sU0FBU1osa0JBQWtCYSxLQUFZO0lBQzVDLE9BQ0VBLE1BQU1DLElBQUksS0FBSyxXQUNmRCxNQUFNQyxJQUFJLEtBQUssV0FDZkQsTUFBTUMsSUFBSSxLQUFLLFNBQ2ZELE1BQU1DLElBQUksS0FBSztBQUVuQjtBQUVPLFNBQVNiLGlCQUFpQlksS0FBWTtJQUMzQyxPQUFPQSxNQUFNQyxJQUFJLEtBQUs7QUFDeEI7QUFFTyxTQUFTWixpQkFBaUJXLEtBQVk7SUFDM0MsT0FBT0EsTUFBTUMsSUFBSSxLQUFLO0FBQ3hCO0FBRU8sU0FBU1gsaUJBQWlCVSxLQUFZO0lBQzNDLE9BQU9BLE1BQU1DLElBQUksS0FBSztBQUN4QjtBQUVPLFNBQVNQLGVBQWVRLE1BQWM7SUFDM0MsT0FBTyxPQUFPQSxXQUFXO0FBQzNCO0FBRU8sU0FBU04sa0JBQWtCTyxPQUFpQjtJQUNqRCxPQUFPQyxNQUFNQyxPQUFPLENBQUNGLFlBQVksT0FBT0EsU0FBUyxDQUFDLEVBQUUsS0FBSztBQUMzRDtBQUVPLFNBQVNSLGNBQWNPLE1BQWM7SUFDMUMsT0FBTyxPQUFPQSxXQUFXO0FBQzNCO0FBRU8sU0FBU1Qsa0JBQWtCTyxLQUFZO0lBQzVDLE9BQU9BLE1BQU1DLElBQUksS0FBSyxZQUFZRCxNQUFNQyxJQUFJLEtBQUs7QUFDbkQ7QUFFTyxTQUFTZixpQkFBaUJjLEtBQVk7SUFDM0MsT0FDRSxBQUFDQSxDQUFBQSxNQUFNQyxJQUFJLEtBQUssWUFBWUQsTUFBTUMsSUFBSSxLQUFLLGNBQWEsS0FBTSxPQUFPRCxNQUFNTSxRQUFRLEtBQUs7QUFFNUY7QUFFTyxTQUFTZCwwQkFBMEJRLEtBQXlCO0lBQ2pFLE9BQU9BLE1BQU1DLElBQUksS0FBSztBQUN4QjtBQUVPLFNBQVNoQixpQkFBaUJlLEtBQXlCO0lBQ3hELE9BQU8sVUFBVUEsU0FBUyxDQUFDUiwwQkFBMEJRO0FBQ3ZEO0FBRU8sU0FBU0gsV0FBV1UsR0FBUTtJQUNqQyxPQUFPLFVBQVVBO0FBQ25CO0FBRU8sU0FBU2hCLGlCQUFpQlMsS0FBa0I7SUFDakQsT0FBTyxlQUFlQSxTQUFTQSxNQUFNUSxTQUFTO0FBQ2hEIn0=
44
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIi4uLy4uLy4uL3NyYy9maWVsZHMvY29uZmlnL3R5cGVzLnRzIl0sInNvdXJjZXNDb250ZW50IjpbIi8qIGVzbGludC1kaXNhYmxlIG5vLXVzZS1iZWZvcmUtZGVmaW5lICovXG5pbXBvcnQgdHlwZSB7IEVkaXRvclByb3BzIH0gZnJvbSAnQG1vbmFjby1lZGl0b3IvcmVhY3QnXG5pbXBvcnQgdHlwZSB7IENTU1Byb3BlcnRpZXMgfSBmcm9tICdyZWFjdCdcblxuLy9lc2xpbnQtZGlzYWJsZS1uZXh0LWxpbmUgQHR5cGVzY3JpcHQtZXNsaW50L25vLXVudXNlZC12YXJzXG5pbXBvcnQgbW9uYWNvZWRpdG9yIGZyb20gJ21vbmFjby1lZGl0b3InIC8vIElNUE9SVEFOVCAtIERPIE5PVCBSRU1PVkU6IFRoaXMgaXMgcmVxdWlyZWQgZm9yIHBucG0ncyBkZWZhdWx0IGlzb2xhdGVkIG1vZGUgdG8gd29yayAtIGV2ZW4gdGhvdWdoIHRoZSBpbXBvcnQgaXMgbm90IHVzZWQuIFRoaXMgaXMgZHVlIHRvIGEgdHlwZXNjcmlwdCBidWc6IGh0dHBzOi8vZ2l0aHViLmNvbS9taWNyb3NvZnQvVHlwZVNjcmlwdC9pc3N1ZXMvNDc2NjMjaXNzdWVjb21tZW50LTE1MTkxMzgxODkuICh0c2J1Z2lzb2xhdGVkbW9kZSlcbmltcG9ydCB0eXBlIFJlYWN0IGZyb20gJ3JlYWN0J1xuXG5pbXBvcnQgdHlwZSB7XG4gIENvbmRpdGlvbmFsRGF0ZVByb3BzLFxuICBEZXNjcmlwdGlvbixcbiAgRXJyb3JQcm9wcyxcbiAgTGFiZWxQcm9wcyxcbiAgUmljaFRleHRBZGFwdGVyLFxuICBSb3dMYWJlbCxcbn0gZnJvbSAnLi4vLi4vYWRtaW4vdHlwZXMnXG5pbXBvcnQgdHlwZSB7IFVzZXIgfSBmcm9tICcuLi8uLi9hdXRoJ1xuaW1wb3J0IHR5cGUgeyBTYW5pdGl6ZWRDb2xsZWN0aW9uQ29uZmlnLCBUeXBlV2l0aElEIH0gZnJvbSAnLi4vLi4vY29sbGVjdGlvbnMvY29uZmlnL3R5cGVzJ1xuaW1wb3J0IHR5cGUgeyBTYW5pdGl6ZWRHbG9iYWxDb25maWcgfSBmcm9tICcuLi8uLi9nbG9iYWxzL2NvbmZpZy90eXBlcydcbmltcG9ydCB0eXBlIHsgUGF5bG9hZFJlcXVlc3QsIFJlcXVlc3RDb250ZXh0IH0gZnJvbSAnLi4vLi4vdHlwZXMnXG5pbXBvcnQgdHlwZSB7IE9wZXJhdGlvbiwgV2hlcmUgfSBmcm9tICcuLi8uLi90eXBlcydcblxuZXhwb3J0IHR5cGUgRmllbGRIb29rQXJnczxUIGV4dGVuZHMgVHlwZVdpdGhJRCA9IGFueSwgUCA9IGFueSwgUyA9IGFueT4gPSB7XG4gIC8qKiBUaGUgY29sbGVjdGlvbiB3aGljaCB0aGUgZmllbGQgYmVsb25ncyB0by4gSWYgdGhlIGZpZWxkIGJlbG9uZ3MgdG8gYSBnbG9iYWwsIHRoaXMgd2lsbCBiZSBudWxsLiAqL1xuICBjb2xsZWN0aW9uOiBTYW5pdGl6ZWRDb2xsZWN0aW9uQ29uZmlnIHwgbnVsbFxuICBjb250ZXh0OiBSZXF1ZXN0Q29udGV4dFxuICAvKiogVGhlIGRhdGEgcGFzc2VkIHRvIHVwZGF0ZSB0aGUgZG9jdW1lbnQgd2l0aGluIGNyZWF0ZSBhbmQgdXBkYXRlIG9wZXJhdGlvbnMsIGFuZCB0aGUgZnVsbCBkb2N1bWVudCBpdHNlbGYgaW4gdGhlIGFmdGVyUmVhZCBob29rLiAqL1xuICBkYXRhPzogUGFydGlhbDxUPlxuICAvKiogVGhlIGZpZWxkIHdoaWNoIHRoZSBob29rIGlzIHJ1bm5pbmcgYWdhaW5zdC4gKi9cbiAgZmllbGQ6IEZpZWxkQWZmZWN0aW5nRGF0YVxuICAvKiogQm9vbGVhbiB0byBkZW5vdGUgaWYgdGhpcyBob29rIGlzIHJ1bm5pbmcgYWdhaW5zdCBmaW5kaW5nIG9uZSwgb3IgZmluZGluZyBtYW55IHdpdGhpbiB0aGUgYWZ0ZXJSZWFkIGhvb2suICovXG4gIGZpbmRNYW55PzogYm9vbGVhblxuICAvKiogVGhlIGdsb2JhbCB3aGljaCB0aGUgZmllbGQgYmVsb25ncyB0by4gSWYgdGhlIGZpZWxkIGJlbG9uZ3MgdG8gYSBjb2xsZWN0aW9uLCB0aGlzIHdpbGwgYmUgbnVsbC4gKi9cbiAgZ2xvYmFsOiBTYW5pdGl6ZWRHbG9iYWxDb25maWcgfCBudWxsXG4gIC8qKiBBIHN0cmluZyByZWxhdGluZyB0byB3aGljaCBvcGVyYXRpb24gdGhlIGZpZWxkIHR5cGUgaXMgY3VycmVudGx5IGV4ZWN1dGluZyB3aXRoaW4uIFVzZWZ1bCB3aXRoaW4gYmVmb3JlVmFsaWRhdGUsIGJlZm9yZUNoYW5nZSwgYW5kIGFmdGVyQ2hhbmdlIGhvb2tzIHRvIGRpZmZlcmVudGlhdGUgYmV0d2VlbiBjcmVhdGUgYW5kIHVwZGF0ZSBvcGVyYXRpb25zLiAqL1xuICBvcGVyYXRpb24/OiAnY3JlYXRlJyB8ICdkZWxldGUnIHwgJ3JlYWQnIHwgJ3VwZGF0ZSdcbiAgLyoqIFRoZSBmdWxsIG9yaWdpbmFsIGRvY3VtZW50IGluIGB1cGRhdGVgIG9wZXJhdGlvbnMuIEluIHRoZSBgYWZ0ZXJDaGFuZ2VgIGhvb2ssIHRoaXMgaXMgdGhlIHJlc3VsdGluZyBkb2N1bWVudCBvZiB0aGUgb3BlcmF0aW9uLiAqL1xuICBvcmlnaW5hbERvYz86IFRcbiAgLyoqIFRoZSBkb2N1bWVudCBiZWZvcmUgY2hhbmdlcyB3ZXJlIGFwcGxpZWQsIG9ubHkgaW4gYGFmdGVyQ2hhbmdlYCBob29rcy4gKi9cbiAgcHJldmlvdXNEb2M/OiBUXG4gIC8qKiBUaGUgc2libGluZyBkYXRhIG9mIHRoZSBkb2N1bWVudCBiZWZvcmUgY2hhbmdlcyBiZWluZyBhcHBsaWVkLCBvbmx5IGluIGBiZWZvcmVDaGFuZ2VgIGFuZCBgYWZ0ZXJDaGFuZ2VgIGhvb2suICovXG4gIHByZXZpb3VzU2libGluZ0RvYz86IFRcbiAgLyoqIFRoZSBwcmV2aW91cyB2YWx1ZSBvZiB0aGUgZmllbGQsIGJlZm9yZSBjaGFuZ2VzLCBvbmx5IGluIGBiZWZvcmVDaGFuZ2VgIGFuZCBgYWZ0ZXJDaGFuZ2VgIGhvb2tzLiAqL1xuICBwcmV2aW91c1ZhbHVlPzogUFxuICAvKiogVGhlIEV4cHJlc3MgcmVxdWVzdCBvYmplY3QuIEl0IGlzIG1vY2tlZCBmb3IgTG9jYWwgQVBJIG9wZXJhdGlvbnMuICovXG4gIHJlcTogUGF5bG9hZFJlcXVlc3RcbiAgLyoqIFRoZSBzaWJsaW5nIGRhdGEgcGFzc2VkIHRvIGEgZmllbGQgdGhhdCB0aGUgaG9vayBpcyBydW5uaW5nIGFnYWluc3QuICovXG4gIHNpYmxpbmdEYXRhOiBQYXJ0aWFsPFM+XG4gIC8qKiBUaGUgdmFsdWUgb2YgdGhlIGZpZWxkLiAqL1xuICB2YWx1ZT86IFBcbn1cblxuZXhwb3J0IHR5cGUgRmllbGRIb29rPFQgZXh0ZW5kcyBUeXBlV2l0aElEID0gYW55LCBQID0gYW55LCBTID0gYW55PiA9IChcbiAgYXJnczogRmllbGRIb29rQXJnczxULCBQLCBTPixcbikgPT4gUCB8IFByb21pc2U8UD5cblxuZXhwb3J0IHR5cGUgRmllbGRBY2Nlc3M8VCBleHRlbmRzIFR5cGVXaXRoSUQgPSBhbnksIFAgPSBhbnksIFUgPSBhbnk+ID0gKGFyZ3M6IHtcbiAgLyoqXG4gICAqIFRoZSBpbmNvbWluZyBkYXRhIHVzZWQgdG8gYGNyZWF0ZWAgb3IgYHVwZGF0ZWAgdGhlIGRvY3VtZW50IHdpdGguIGBkYXRhYCBpcyB1bmRlZmluZWQgZHVyaW5nIHRoZSBgcmVhZGAgb3BlcmF0aW9uLlxuICAgKi9cbiAgZGF0YT86IFBhcnRpYWw8VD5cbiAgLyoqXG4gICAqIFRoZSBvcmlnaW5hbCBkYXRhIG9mIHRoZSBkb2N1bWVudCBiZWZvcmUgdGhlIGB1cGRhdGVgIGlzIGFwcGxpZWQuIGBkb2NgIGlzIHVuZGVmaW5lZCBkdXJpbmcgdGhlIGBjcmVhdGVgIG9wZXJhdGlvbi5cbiAgICovXG4gIGRvYz86IFRcbiAgLyoqXG4gICAqIFRoZSBgaWRgIG9mIHRoZSBjdXJyZW50IGRvY3VtZW50IGJlaW5nIHJlYWQgb3IgdXBkYXRlZC4gYGlkYCBpcyB1bmRlZmluZWQgZHVyaW5nIHRoZSBgY3JlYXRlYCBvcGVyYXRpb24uXG4gICAqL1xuICBpZD86IG51bWJlciB8IHN0cmluZ1xuICAvKiogVGhlIGBFeHByZXNzYCByZXF1ZXN0IG9iamVjdCBjb250YWluaW5nIHRoZSBjdXJyZW50bHkgYXV0aGVudGljYXRlZCBgdXNlcmAgKi9cbiAgcmVxOiBQYXlsb2FkUmVxdWVzdDxVPlxuICAvKiogVGhlIGBwYXlsb2FkYCBvYmplY3QgdG8gaW50ZXJmYWNlIHdpdGggdGhlIHBheWxvYWQgQVBJICovXG4gIHNpYmxpbmdEYXRhPzogUGFydGlhbDxQPlxufSkgPT4gUHJvbWlzZTxib29sZWFuPiB8IGJvb2xlYW5cblxuZXhwb3J0IHR5cGUgQ29uZGl0aW9uPFQgZXh0ZW5kcyBUeXBlV2l0aElEID0gYW55LCBQID0gYW55PiA9IChcbiAgZGF0YTogUGFydGlhbDxUPixcbiAgc2libGluZ0RhdGE6IFBhcnRpYWw8UD4sXG4gIHsgdXNlciB9OiB7IHVzZXI6IFVzZXIgfSxcbikgPT4gYm9vbGVhblxuXG5leHBvcnQgdHlwZSBGaWx0ZXJPcHRpb25zUHJvcHM8VCA9IGFueT4gPSB7XG4gIGRhdGE6IFRcbiAgaWQ6IG51bWJlciB8IHN0cmluZ1xuICByZWxhdGlvblRvOiBzdHJpbmdcbiAgc2libGluZ0RhdGE6IHVua25vd25cbiAgdXNlcjogUGFydGlhbDxVc2VyPlxufVxuXG5leHBvcnQgdHlwZSBGaWx0ZXJPcHRpb25zPFQgPSBhbnk+ID1cbiAgfCAoKG9wdGlvbnM6IEZpbHRlck9wdGlvbnNQcm9wczxUPikgPT4gUHJvbWlzZTxXaGVyZSB8IGJvb2xlYW4+IHwgV2hlcmUgfCBib29sZWFuKVxuICB8IFdoZXJlXG4gIHwgbnVsbFxuXG50eXBlIEFkbWluID0ge1xuICBjbGFzc05hbWU/OiBzdHJpbmdcbiAgY29tcG9uZW50cz86IHtcbiAgICBDZWxsPzogUmVhY3QuQ29tcG9uZW50VHlwZTxhbnk+XG4gICAgRmllbGQ/OiBSZWFjdC5Db21wb25lbnRUeXBlPGFueT5cbiAgICBGaWx0ZXI/OiBSZWFjdC5Db21wb25lbnRUeXBlPGFueT5cbiAgfVxuICAvKipcbiAgICogWW91IGNhbiBwcm9ncmFtbWF0aWNhbGx5IHNob3cgLyBoaWRlIGZpZWxkcyBiYXNlZCBvbiB3aGF0IG90aGVyIGZpZWxkcyBhcmUgZG9pbmcuXG4gICAqIFRoaXMgaXMgYWxzbyBydW4gb24gdGhlIHNlcnZlciwgdG8gZGV0ZXJtaW5lIGlmIHRoZSBmaWVsZCBzaG91bGQgYmUgdmFsaWRhdGVkLlxuICAgKi9cbiAgY29uZGl0aW9uPzogQ29uZGl0aW9uXG4gIGRlc2NyaXB0aW9uPzogRGVzY3JpcHRpb25cbiAgZGlzYWJsZUJ1bGtFZGl0PzogYm9vbGVhblxuICBkaXNhYmxlZD86IGJvb2xlYW5cbiAgaGlkZGVuPzogYm9vbGVhblxuICBwb3NpdGlvbj86ICdzaWRlYmFyJ1xuICByZWFkT25seT86IGJvb2xlYW5cbiAgc3R5bGU/OiBDU1NQcm9wZXJ0aWVzXG4gIHdpZHRoPzogc3RyaW5nXG59XG5cbmV4cG9ydCB0eXBlIExhYmVscyA9IHtcbiAgcGx1cmFsOiBSZWNvcmQ8c3RyaW5nLCBzdHJpbmc+IHwgc3RyaW5nXG4gIHNpbmd1bGFyOiBSZWNvcmQ8c3RyaW5nLCBzdHJpbmc+IHwgc3RyaW5nXG59XG5cbmV4cG9ydCB0eXBlIEJhc2VWYWxpZGF0ZU9wdGlvbnM8VERhdGEsIFRTaWJsaW5nRGF0YT4gPSB7XG4gIGRhdGE6IFBhcnRpYWw8VERhdGE+XG4gIGlkPzogbnVtYmVyIHwgc3RyaW5nXG4gIG9wZXJhdGlvbj86IE9wZXJhdGlvblxuICByZXE6IFBheWxvYWRSZXF1ZXN0XG4gIHNpYmxpbmdEYXRhOiBQYXJ0aWFsPFRTaWJsaW5nRGF0YT5cbn1cblxuZXhwb3J0IHR5cGUgVmFsaWRhdGVPcHRpb25zPFREYXRhLCBUU2libGluZ0RhdGEsIFRGaWVsZENvbmZpZyBleHRlbmRzIG9iamVjdD4gPSBCYXNlVmFsaWRhdGVPcHRpb25zPFxuICBURGF0YSxcbiAgVFNpYmxpbmdEYXRhXG4+ICZcbiAgVEZpZWxkQ29uZmlnXG5cbmV4cG9ydCB0eXBlIFZhbGlkYXRlPFxuICBUVmFsdWUgPSBhbnksXG4gIFREYXRhID0gYW55LFxuICBUU2libGluZ0RhdGEgPSBhbnksXG4gIFRGaWVsZENvbmZpZyBleHRlbmRzIG9iamVjdCA9IHt9LFxuPiA9IChcbiAgdmFsdWU6IFRWYWx1ZSxcbiAgb3B0aW9uczogVmFsaWRhdGVPcHRpb25zPFREYXRhLCBUU2libGluZ0RhdGEsIFRGaWVsZENvbmZpZz4sXG4pID0+IFByb21pc2U8c3RyaW5nIHwgdHJ1ZT4gfCBzdHJpbmcgfCB0cnVlXG5cbmV4cG9ydCB0eXBlIENsaWVudFZhbGlkYXRlID0gT21pdDxWYWxpZGF0ZSwgJ3JlcSc+XG5cbmV4cG9ydCB0eXBlIE9wdGlvbk9iamVjdCA9IHtcbiAgbGFiZWw6IFJlY29yZDxzdHJpbmcsIHN0cmluZz4gfCBzdHJpbmdcbiAgdmFsdWU6IHN0cmluZ1xufVxuXG5leHBvcnQgdHlwZSBPcHRpb24gPSBPcHRpb25PYmplY3QgfCBzdHJpbmdcblxuZXhwb3J0IGludGVyZmFjZSBGaWVsZEJhc2Uge1xuICBhY2Nlc3M/OiB7XG4gICAgY3JlYXRlPzogRmllbGRBY2Nlc3NcbiAgICByZWFkPzogRmllbGRBY2Nlc3NcbiAgICB1cGRhdGU/OiBGaWVsZEFjY2Vzc1xuICB9XG4gIGFkbWluPzogQWRtaW5cbiAgLyoqIEV4dGVuc2lvbiBwb2ludCB0byBhZGQgeW91ciBjdXN0b20gZGF0YS4gKi9cbiAgY3VzdG9tPzogUmVjb3JkPHN0cmluZywgYW55PlxuICBkZWZhdWx0VmFsdWU/OiBhbnlcbiAgaGlkZGVuPzogYm9vbGVhblxuICBob29rcz86IHtcbiAgICBhZnRlckNoYW5nZT86IEZpZWxkSG9va1tdXG4gICAgYWZ0ZXJSZWFkPzogRmllbGRIb29rW11cbiAgICBiZWZvcmVDaGFuZ2U/OiBGaWVsZEhvb2tbXVxuICAgIGJlZm9yZVZhbGlkYXRlPzogRmllbGRIb29rW11cbiAgfVxuICBpbmRleD86IGJvb2xlYW5cbiAgbGFiZWw/OiBSZWNvcmQ8c3RyaW5nLCBzdHJpbmc+IHwgZmFsc2UgfCBzdHJpbmdcbiAgbG9jYWxpemVkPzogYm9vbGVhblxuICBuYW1lOiBzdHJpbmdcbiAgcmVxdWlyZWQ/OiBib29sZWFuXG4gIHNhdmVUb0pXVD86IGJvb2xlYW4gfCBzdHJpbmdcbiAgdW5pcXVlPzogYm9vbGVhblxuICB2YWxpZGF0ZT86IFZhbGlkYXRlXG59XG5cbmV4cG9ydCB0eXBlIE51bWJlckZpZWxkID0gRmllbGRCYXNlICYge1xuICBhZG1pbj86IEFkbWluICYge1xuICAgIC8qKiBTZXQgdGhpcyBwcm9wZXJ0eSB0byBhIHN0cmluZyB0aGF0IHdpbGwgYmUgdXNlZCBmb3IgYnJvd3NlciBhdXRvY29tcGxldGUuICovXG4gICAgYXV0b0NvbXBsZXRlPzogc3RyaW5nXG4gICAgY29tcG9uZW50cz86IHtcbiAgICAgIEVycm9yPzogUmVhY3QuQ29tcG9uZW50VHlwZTxFcnJvclByb3BzPlxuICAgICAgTGFiZWw/OiBSZWFjdC5Db21wb25lbnRUeXBlPExhYmVsUHJvcHM+XG4gICAgICBhZnRlcklucHV0PzogUmVhY3QuQ29tcG9uZW50VHlwZTxhbnk+W11cbiAgICAgIGJlZm9yZUlucHV0PzogUmVhY3QuQ29tcG9uZW50VHlwZTxhbnk+W11cbiAgICB9XG4gICAgLyoqIFNldCB0aGlzIHByb3BlcnR5IHRvIGRlZmluZSBhIHBsYWNlaG9sZGVyIHN0cmluZyBmb3IgdGhlIGZpZWxkLiAqL1xuICAgIHBsYWNlaG9sZGVyPzogUmVjb3JkPHN0cmluZywgc3RyaW5nPiB8IHN0cmluZ1xuICAgIC8qKiBTZXQgYSB2YWx1ZSBmb3IgdGhlIG51bWJlciBmaWVsZCB0byBpbmNyZW1lbnQgLyBkZWNyZW1lbnQgdXNpbmcgYnJvd3NlciBjb250cm9scy4gKi9cbiAgICBzdGVwPzogbnVtYmVyXG4gIH1cbiAgLyoqIE1heGltdW0gdmFsdWUgYWNjZXB0ZWQuIFVzZWQgaW4gdGhlIGRlZmF1bHQgYHZhbGlkYXRpb25gIGZ1bmN0aW9uLiAqL1xuICBtYXg/OiBudW1iZXJcbiAgLyoqIE1pbmltdW0gdmFsdWUgYWNjZXB0ZWQuIFVzZWQgaW4gdGhlIGRlZmF1bHQgYHZhbGlkYXRpb25gIGZ1bmN0aW9uLiAqL1xuICBtaW4/OiBudW1iZXJcbiAgdHlwZTogJ251bWJlcidcbn0gJiAoXG4gICAgfCB7XG4gICAgICAgIC8qKiBNYWtlcyB0aGlzIGZpZWxkIGFuIG9yZGVyZWQgYXJyYXkgb2YgbnVtYmVycyBpbnN0ZWFkIG9mIGp1c3QgYSBzaW5nbGUgbnVtYmVyLiAqL1xuICAgICAgICBoYXNNYW55OiB0cnVlXG4gICAgICAgIC8qKiBNYXhpbXVtIG51bWJlciBvZiBudW1iZXJzIGluIHRoZSBudW1iZXJzIGFycmF5LCBpZiBgaGFzTWFueWAgaXMgc2V0IHRvIHRydWUuICovXG4gICAgICAgIG1heFJvd3M/OiBudW1iZXJcbiAgICAgICAgLyoqIE1pbmltdW0gbnVtYmVyIG9mIG51bWJlcnMgaW4gdGhlIG51bWJlcnMgYXJyYXksIGlmIGBoYXNNYW55YCBpcyBzZXQgdG8gdHJ1ZS4gKi9cbiAgICAgICAgbWluUm93cz86IG51bWJlclxuICAgICAgfVxuICAgIHwge1xuICAgICAgICAvKiogTWFrZXMgdGhpcyBmaWVsZCBhbiBvcmRlcmVkIGFycmF5IG9mIG51bWJlcnMgaW5zdGVhZCBvZiBqdXN0IGEgc2luZ2xlIG51bWJlci4gKi9cbiAgICAgICAgaGFzTWFueT86IGZhbHNlIHwgdW5kZWZpbmVkXG4gICAgICAgIC8qKiBNYXhpbXVtIG51bWJlciBvZiBudW1iZXJzIGluIHRoZSBudW1iZXJzIGFycmF5LCBpZiBgaGFzTWFueWAgaXMgc2V0IHRvIHRydWUuICovXG4gICAgICAgIG1heFJvd3M/OiB1bmRlZmluZWRcbiAgICAgICAgLyoqIE1pbmltdW0gbnVtYmVyIG9mIG51bWJlcnMgaW4gdGhlIG51bWJlcnMgYXJyYXksIGlmIGBoYXNNYW55YCBpcyBzZXQgdG8gdHJ1ZS4gKi9cbiAgICAgICAgbWluUm93cz86IHVuZGVmaW5lZFxuICAgICAgfVxuICApXG5cbmV4cG9ydCB0eXBlIFRleHRGaWVsZCA9IEZpZWxkQmFzZSAmIHtcbiAgYWRtaW4/OiBBZG1pbiAmIHtcbiAgICBhdXRvQ29tcGxldGU/OiBzdHJpbmdcbiAgICBjb21wb25lbnRzPzoge1xuICAgICAgRXJyb3I/OiBSZWFjdC5Db21wb25lbnRUeXBlPEVycm9yUHJvcHM+XG4gICAgICBMYWJlbD86IFJlYWN0LkNvbXBvbmVudFR5cGU8TGFiZWxQcm9wcz5cbiAgICAgIGFmdGVySW5wdXQ/OiBSZWFjdC5Db21wb25lbnRUeXBlPGFueT5bXVxuICAgICAgYmVmb3JlSW5wdXQ/OiBSZWFjdC5Db21wb25lbnRUeXBlPGFueT5bXVxuICAgIH1cbiAgICBwbGFjZWhvbGRlcj86IFJlY29yZDxzdHJpbmcsIHN0cmluZz4gfCBzdHJpbmdcbiAgICBydGw/OiBib29sZWFuXG4gIH1cbiAgbWF4TGVuZ3RoPzogbnVtYmVyXG4gIG1pbkxlbmd0aD86IG51bWJlclxuICB0eXBlOiAndGV4dCdcbn0gJiAoXG4gICAgfCB7XG4gICAgICAgIC8qKiBNYWtlcyB0aGlzIGZpZWxkIGFuIG9yZGVyZWQgYXJyYXkgb2Ygc3RyaW5ncyBpbnN0ZWFkIG9mIGp1c3QgYSBzaW5nbGUgc3RyaW5nLiAqL1xuICAgICAgICBoYXNNYW55OiB0cnVlXG4gICAgICAgIC8qKiBNYXhpbXVtIG51bWJlciBvZiBzdHJpbmdzIGluIHRoZSBzdHJpbmdzIGFycmF5LCBpZiBgaGFzTWFueWAgaXMgc2V0IHRvIHRydWUuICovXG4gICAgICAgIG1heFJvd3M/OiBudW1iZXJcbiAgICAgICAgLyoqIE1pbmltdW0gbnVtYmVyIG9mIHN0cmluZ3MgaW4gdGhlIHN0cmluZ3MgYXJyYXksIGlmIGBoYXNNYW55YCBpcyBzZXQgdG8gdHJ1ZS4gKi9cbiAgICAgICAgbWluUm93cz86IG51bWJlclxuICAgICAgfVxuICAgIHwge1xuICAgICAgICAvKiogTWFrZXMgdGhpcyBmaWVsZCBhbiBvcmRlcmVkIGFycmF5IG9mIHN0cmluZ3MgaW5zdGVhZCBvZiBqdXN0IGEgc2luZ2xlIHN0cmluZy4gKi9cbiAgICAgICAgaGFzTWFueT86IGZhbHNlIHwgdW5kZWZpbmVkXG4gICAgICAgIC8qKiBNYXhpbXVtIG51bWJlciBvZiBzdHJpbmdzIGluIHRoZSBzdHJpbmdzIGFycmF5LCBpZiBgaGFzTWFueWAgaXMgc2V0IHRvIHRydWUuICovXG4gICAgICAgIG1heFJvd3M/OiB1bmRlZmluZWRcbiAgICAgICAgLyoqIE1pbmltdW0gbnVtYmVyIG9mIHN0cmluZ3MgaW4gdGhlIHN0cmluZ3MgYXJyYXksIGlmIGBoYXNNYW55YCBpcyBzZXQgdG8gdHJ1ZS4gKi9cbiAgICAgICAgbWluUm93cz86IHVuZGVmaW5lZFxuICAgICAgfVxuICApXG5cbmV4cG9ydCB0eXBlIEVtYWlsRmllbGQgPSBGaWVsZEJhc2UgJiB7XG4gIGFkbWluPzogQWRtaW4gJiB7XG4gICAgYXV0b0NvbXBsZXRlPzogc3RyaW5nXG4gICAgY29tcG9uZW50cz86IHtcbiAgICAgIEVycm9yPzogUmVhY3QuQ29tcG9uZW50VHlwZTxFcnJvclByb3BzPlxuICAgICAgTGFiZWw/OiBSZWFjdC5Db21wb25lbnRUeXBlPExhYmVsUHJvcHM+XG4gICAgICBhZnRlcklucHV0PzogUmVhY3QuQ29tcG9uZW50VHlwZTxhbnk+W11cbiAgICAgIGJlZm9yZUlucHV0PzogUmVhY3QuQ29tcG9uZW50VHlwZTxhbnk+W11cbiAgICB9XG4gICAgcGxhY2Vob2xkZXI/OiBSZWNvcmQ8c3RyaW5nLCBzdHJpbmc+IHwgc3RyaW5nXG4gIH1cbiAgdHlwZTogJ2VtYWlsJ1xufVxuXG5leHBvcnQgdHlwZSBUZXh0YXJlYUZpZWxkID0gRmllbGRCYXNlICYge1xuICBhZG1pbj86IEFkbWluICYge1xuICAgIGNvbXBvbmVudHM/OiB7XG4gICAgICBFcnJvcj86IFJlYWN0LkNvbXBvbmVudFR5cGU8RXJyb3JQcm9wcz5cbiAgICAgIExhYmVsPzogUmVhY3QuQ29tcG9uZW50VHlwZTxMYWJlbFByb3BzPlxuICAgICAgYWZ0ZXJJbnB1dD86IFJlYWN0LkNvbXBvbmVudFR5cGU8YW55PltdXG4gICAgICBiZWZvcmVJbnB1dD86IFJlYWN0LkNvbXBvbmVudFR5cGU8YW55PltdXG4gICAgfVxuICAgIHBsYWNlaG9sZGVyPzogUmVjb3JkPHN0cmluZywgc3RyaW5nPiB8IHN0cmluZ1xuICAgIHJvd3M/OiBudW1iZXJcbiAgICBydGw/OiBib29sZWFuXG4gIH1cbiAgbWF4TGVuZ3RoPzogbnVtYmVyXG4gIG1pbkxlbmd0aD86IG51bWJlclxuICB0eXBlOiAndGV4dGFyZWEnXG59XG5cbmV4cG9ydCB0eXBlIENoZWNrYm94RmllbGQgPSBGaWVsZEJhc2UgJiB7XG4gIGFkbWluPzogQWRtaW4gJiB7XG4gICAgY29tcG9uZW50cz86IHtcbiAgICAgIEVycm9yPzogUmVhY3QuQ29tcG9uZW50VHlwZTxFcnJvclByb3BzPlxuICAgICAgTGFiZWw/OiBSZWFjdC5Db21wb25lbnRUeXBlPExhYmVsUHJvcHM+XG4gICAgICBhZnRlcklucHV0PzogUmVhY3QuQ29tcG9uZW50VHlwZTxhbnk+W11cbiAgICAgIGJlZm9yZUlucHV0PzogUmVhY3QuQ29tcG9uZW50VHlwZTxhbnk+W11cbiAgICB9XG4gIH1cbiAgdHlwZTogJ2NoZWNrYm94J1xufVxuXG5leHBvcnQgdHlwZSBEYXRlRmllbGQgPSBGaWVsZEJhc2UgJiB7XG4gIGFkbWluPzogQWRtaW4gJiB7XG4gICAgY29tcG9uZW50cz86IHtcbiAgICAgIEVycm9yPzogUmVhY3QuQ29tcG9uZW50VHlwZTxFcnJvclByb3BzPlxuICAgICAgTGFiZWw/OiBSZWFjdC5Db21wb25lbnRUeXBlPExhYmVsUHJvcHM+XG4gICAgICBhZnRlcklucHV0PzogUmVhY3QuQ29tcG9uZW50VHlwZTxhbnk+W11cbiAgICAgIGJlZm9yZUlucHV0PzogUmVhY3QuQ29tcG9uZW50VHlwZTxhbnk+W11cbiAgICB9XG4gICAgZGF0ZT86IENvbmRpdGlvbmFsRGF0ZVByb3BzXG4gICAgcGxhY2Vob2xkZXI/OiBSZWNvcmQ8c3RyaW5nLCBzdHJpbmc+IHwgc3RyaW5nXG4gIH1cbiAgdHlwZTogJ2RhdGUnXG59XG5cbmV4cG9ydCB0eXBlIEdyb3VwRmllbGQgPSBPbWl0PEZpZWxkQmFzZSwgJ3JlcXVpcmVkJyB8ICd2YWxpZGF0aW9uJz4gJiB7XG4gIGFkbWluPzogQWRtaW4gJiB7XG4gICAgaGlkZUd1dHRlcj86IGJvb2xlYW5cbiAgfVxuICBmaWVsZHM6IEZpZWxkW11cbiAgLyoqIEN1c3RvbWl6ZSBnZW5lcmF0ZWQgR3JhcGhRTCBhbmQgVHlwZXNjcmlwdCBzY2hlbWEgbmFtZXMuXG4gICAqIEJ5IGRlZmF1bHQgaXQgaXMgYm91bmQgdG8gdGhlIGNvbGxlY3Rpb24uXG4gICAqXG4gICAqIFRoaXMgaXMgdXNlZnVsIGlmIHlvdSB3b3VsZCBsaWtlIHRvIGdlbmVyYXRlIGEgdG9wIGxldmVsIHR5cGUgdG8gc2hhcmUgYW1vbmdzdCBjb2xsZWN0aW9ucy9maWVsZHMuXG4gICAqICoqTm90ZSoqOiBUb3AgbGV2ZWwgdHlwZXMgY2FuIGNvbGxpZGUsIGVuc3VyZSB0aGV5IGFyZSB1bmlxdWUgYW1vbmcgY29sbGVjdGlvbnMsIGFycmF5cywgZ3JvdXBzLCBibG9ja3MsIHRhYnMuXG4gICAqL1xuICBpbnRlcmZhY2VOYW1lPzogc3RyaW5nXG4gIHR5cGU6ICdncm91cCdcbn1cblxuZXhwb3J0IHR5cGUgUm93QWRtaW4gPSBPbWl0PEFkbWluLCAnZGVzY3JpcHRpb24nPlxuXG5leHBvcnQgdHlwZSBSb3dGaWVsZCA9IE9taXQ8RmllbGRCYXNlLCAnYWRtaW4nIHwgJ2xhYmVsJyB8ICduYW1lJz4gJiB7XG4gIGFkbWluPzogUm93QWRtaW5cbiAgZmllbGRzOiBGaWVsZFtdXG4gIHR5cGU6ICdyb3cnXG59XG5cbmV4cG9ydCB0eXBlIENvbGxhcHNpYmxlRmllbGQgPSBPbWl0PEZpZWxkQmFzZSwgJ2xhYmVsJyB8ICduYW1lJz4gJiB7XG4gIGFkbWluPzogQWRtaW4gJiB7XG4gICAgaW5pdENvbGxhcHNlZD86IGJvb2xlYW5cbiAgfVxuICBmaWVsZHM6IEZpZWxkW11cbiAgbGFiZWw6IFJvd0xhYmVsXG4gIHR5cGU6ICdjb2xsYXBzaWJsZSdcbn1cblxuZXhwb3J0IHR5cGUgVGFic0FkbWluID0gT21pdDxBZG1pbiwgJ2Rlc2NyaXB0aW9uJz5cblxudHlwZSBUYWJCYXNlID0gT21pdDxGaWVsZEJhc2UsICdyZXF1aXJlZCcgfCAndmFsaWRhdGlvbic+ICYge1xuICBkZXNjcmlwdGlvbj86IERlc2NyaXB0aW9uXG4gIGZpZWxkczogRmllbGRbXVxuICBpbnRlcmZhY2VOYW1lPzogc3RyaW5nXG4gIHNhdmVUb0pXVD86IGJvb2xlYW4gfCBzdHJpbmdcbn1cblxuZXhwb3J0IHR5cGUgTmFtZWRUYWIgPSBUYWJCYXNlICYge1xuICAvKiogQ3VzdG9taXplIGdlbmVyYXRlZCBHcmFwaFFMIGFuZCBUeXBlc2NyaXB0IHNjaGVtYSBuYW1lcy5cbiAgICogVGhlIHNsdWcgaXMgdXNlZCBieSBkZWZhdWx0LlxuICAgKlxuICAgKiBUaGlzIGlzIHVzZWZ1bCBpZiB5b3Ugd291bGQgbGlrZSB0byBnZW5lcmF0ZSBhIHRvcCBsZXZlbCB0eXBlIHRvIHNoYXJlIGFtb25nc3QgY29sbGVjdGlvbnMvZmllbGRzLlxuICAgKiAqKk5vdGUqKjogVG9wIGxldmVsIHR5cGVzIGNhbiBjb2xsaWRlLCBlbnN1cmUgdGhleSBhcmUgdW5pcXVlIGFtb25nIGNvbGxlY3Rpb25zLCBhcnJheXMsIGdyb3VwcywgYmxvY2tzLCB0YWJzLlxuICAgKi9cbiAgaW50ZXJmYWNlTmFtZT86IHN0cmluZ1xufVxuXG5leHBvcnQgdHlwZSBVbm5hbWVkVGFiID0gT21pdDxUYWJCYXNlLCAnbmFtZSc+ICYge1xuICBpbnRlcmZhY2VOYW1lPzogbmV2ZXJcbiAgbGFiZWw6IFJlY29yZDxzdHJpbmcsIHN0cmluZz4gfCBzdHJpbmdcbiAgbG9jYWxpemVkPzogbmV2ZXJcbn1cblxuZXhwb3J0IHR5cGUgVGFiID0gTmFtZWRUYWIgfCBVbm5hbWVkVGFiXG5cbmV4cG9ydCB0eXBlIFRhYnNGaWVsZCA9IE9taXQ8RmllbGRCYXNlLCAnYWRtaW4nIHwgJ2xvY2FsaXplZCcgfCAnbmFtZScgfCAnc2F2ZVRvSldUJz4gJiB7XG4gIGFkbWluPzogVGFic0FkbWluXG4gIHRhYnM6IFRhYltdXG4gIHR5cGU6ICd0YWJzJ1xufVxuXG5leHBvcnQgdHlwZSBUYWJBc0ZpZWxkID0gVGFiICYge1xuICBuYW1lPzogc3RyaW5nXG4gIHR5cGU6ICd0YWInXG59XG5cbmV4cG9ydCB0eXBlIFVJRmllbGQgPSB7XG4gIGFkbWluOiB7XG4gICAgY29tcG9uZW50cz86IHtcbiAgICAgIENlbGw/OiBSZWFjdC5Db21wb25lbnRUeXBlPGFueT5cbiAgICAgIEZpZWxkOiBSZWFjdC5Db21wb25lbnRUeXBlPGFueT5cbiAgICAgIEZpbHRlcj86IFJlYWN0LkNvbXBvbmVudFR5cGU8YW55PlxuICAgIH1cbiAgICBjb25kaXRpb24/OiBDb25kaXRpb25cbiAgICBkaXNhYmxlQnVsa0VkaXQ/OiBib29sZWFuXG4gICAgcG9zaXRpb24/OiBzdHJpbmdcbiAgICB3aWR0aD86IHN0cmluZ1xuICB9XG4gIC8qKiBFeHRlbnNpb24gcG9pbnQgdG8gYWRkIHlvdXIgY3VzdG9tIGRhdGEuICovXG4gIGN1c3RvbT86IFJlY29yZDxzdHJpbmcsIGFueT5cbiAgbGFiZWw/OiBSZWNvcmQ8c3RyaW5nLCBzdHJpbmc+IHwgc3RyaW5nXG4gIG5hbWU6IHN0cmluZ1xuICB0eXBlOiAndWknXG59XG5cbmV4cG9ydCB0eXBlIFVwbG9hZEZpZWxkID0gRmllbGRCYXNlICYge1xuICBhZG1pbj86IHtcbiAgICBjb21wb25lbnRzPzoge1xuICAgICAgRXJyb3I/OiBSZWFjdC5Db21wb25lbnRUeXBlPEVycm9yUHJvcHM+XG4gICAgICBMYWJlbD86IFJlYWN0LkNvbXBvbmVudFR5cGU8TGFiZWxQcm9wcz5cbiAgICB9XG4gIH1cbiAgZmlsdGVyT3B0aW9ucz86IEZpbHRlck9wdGlvbnNcbiAgbWF4RGVwdGg/OiBudW1iZXJcbiAgcmVsYXRpb25Ubzogc3RyaW5nXG4gIHR5cGU6ICd1cGxvYWQnXG59XG5cbnR5cGUgQ29kZUFkbWluID0gQWRtaW4gJiB7XG4gIGNvbXBvbmVudHM/OiB7XG4gICAgRXJyb3I/OiBSZWFjdC5Db21wb25lbnRUeXBlPEVycm9yUHJvcHM+XG4gICAgTGFiZWw/OiBSZWFjdC5Db21wb25lbnRUeXBlPExhYmVsUHJvcHM+XG4gIH1cbiAgZWRpdG9yT3B0aW9ucz86IEVkaXRvclByb3BzWydvcHRpb25zJ11cbiAgbGFuZ3VhZ2U/OiBzdHJpbmdcbn1cblxuZXhwb3J0IHR5cGUgQ29kZUZpZWxkID0gT21pdDxGaWVsZEJhc2UsICdhZG1pbic+ICYge1xuICBhZG1pbj86IENvZGVBZG1pblxuICBtYXhMZW5ndGg/OiBudW1iZXJcbiAgbWluTGVuZ3RoPzogbnVtYmVyXG4gIHR5cGU6ICdjb2RlJ1xufVxuXG50eXBlIEpTT05BZG1pbiA9IEFkbWluICYge1xuICBjb21wb25lbnRzPzoge1xuICAgIEVycm9yPzogUmVhY3QuQ29tcG9uZW50VHlwZTxFcnJvclByb3BzPlxuICAgIExhYmVsPzogUmVhY3QuQ29tcG9uZW50VHlwZTxMYWJlbFByb3BzPlxuICB9XG4gIGVkaXRvck9wdGlvbnM/OiBFZGl0b3JQcm9wc1snb3B0aW9ucyddXG59XG5cbmV4cG9ydCB0eXBlIEpTT05GaWVsZCA9IE9taXQ8RmllbGRCYXNlLCAnYWRtaW4nPiAmIHtcbiAgYWRtaW4/OiBKU09OQWRtaW5cbiAgdHlwZTogJ2pzb24nXG59XG5cbmV4cG9ydCB0eXBlIFNlbGVjdEZpZWxkID0gRmllbGRCYXNlICYge1xuICBhZG1pbj86IEFkbWluICYge1xuICAgIGNvbXBvbmVudHM/OiB7XG4gICAgICBFcnJvcj86IFJlYWN0LkNvbXBvbmVudFR5cGU8RXJyb3JQcm9wcz5cbiAgICAgIExhYmVsPzogUmVhY3QuQ29tcG9uZW50VHlwZTxMYWJlbFByb3BzPlxuICAgIH1cbiAgICBpc0NsZWFyYWJsZT86IGJvb2xlYW5cbiAgICBpc1NvcnRhYmxlPzogYm9vbGVhblxuICB9XG4gIGhhc01hbnk/OiBib29sZWFuXG4gIG9wdGlvbnM6IE9wdGlvbltdXG4gIHR5cGU6ICdzZWxlY3QnXG59XG5cbnR5cGUgU2hhcmVkUmVsYXRpb25zaGlwUHJvcGVydGllcyA9IEZpZWxkQmFzZSAmIHtcbiAgZmlsdGVyT3B0aW9ucz86IEZpbHRlck9wdGlvbnNcbiAgaGFzTWFueT86IGJvb2xlYW5cbiAgbWF4RGVwdGg/OiBudW1iZXJcbiAgdHlwZTogJ3JlbGF0aW9uc2hpcCdcbn0gJiAoXG4gICAgfCB7XG4gICAgICAgIGhhc01hbnk6IHRydWVcbiAgICAgICAgLyoqXG4gICAgICAgICAqIEBkZXByZWNhdGVkIFVzZSAnbWF4Um93cycgaW5zdGVhZFxuICAgICAgICAgKi9cbiAgICAgICAgbWF4PzogbnVtYmVyXG4gICAgICAgIG1heFJvd3M/OiBudW1iZXJcbiAgICAgICAgLyoqXG4gICAgICAgICAqIEBkZXByZWNhdGVkIFVzZSAnbWluUm93cycgaW5zdGVhZFxuICAgICAgICAgKi9cbiAgICAgICAgbWluPzogbnVtYmVyXG4gICAgICAgIG1pblJvd3M/OiBudW1iZXJcbiAgICAgIH1cbiAgICB8IHtcbiAgICAgICAgaGFzTWFueT86IGZhbHNlIHwgdW5kZWZpbmVkXG4gICAgICAgIC8qKlxuICAgICAgICAgKiBAZGVwcmVjYXRlZCBVc2UgJ21heFJvd3MnIGluc3RlYWRcbiAgICAgICAgICovXG4gICAgICAgIG1heD86IHVuZGVmaW5lZFxuICAgICAgICBtYXhSb3dzPzogdW5kZWZpbmVkXG4gICAgICAgIC8qKlxuICAgICAgICAgKiBAZGVwcmVjYXRlZCBVc2UgJ21pblJvd3MnIGluc3RlYWRcbiAgICAgICAgICovXG4gICAgICAgIG1pbj86IHVuZGVmaW5lZFxuICAgICAgICBtaW5Sb3dzPzogdW5kZWZpbmVkXG4gICAgICB9XG4gIClcblxudHlwZSBSZWxhdGlvbnNoaXBBZG1pbiA9IEFkbWluICYge1xuICBhbGxvd0NyZWF0ZT86IGJvb2xlYW5cbiAgY29tcG9uZW50cz86IHtcbiAgICBFcnJvcj86IFJlYWN0LkNvbXBvbmVudFR5cGU8RXJyb3JQcm9wcz5cbiAgICBMYWJlbD86IFJlYWN0LkNvbXBvbmVudFR5cGU8TGFiZWxQcm9wcz5cbiAgfVxuICBpc1NvcnRhYmxlPzogYm9vbGVhblxufVxuZXhwb3J0IHR5cGUgUG9seW1vcnBoaWNSZWxhdGlvbnNoaXBGaWVsZCA9IFNoYXJlZFJlbGF0aW9uc2hpcFByb3BlcnRpZXMgJiB7XG4gIGFkbWluPzogUmVsYXRpb25zaGlwQWRtaW4gJiB7XG4gICAgc29ydE9wdGlvbnM/OiB7IFtjb2xsZWN0aW9uU2x1Zzogc3RyaW5nXTogc3RyaW5nIH1cbiAgfVxuICByZWxhdGlvblRvOiBzdHJpbmdbXVxufVxuZXhwb3J0IHR5cGUgU2luZ2xlUmVsYXRpb25zaGlwRmllbGQgPSBTaGFyZWRSZWxhdGlvbnNoaXBQcm9wZXJ0aWVzICYge1xuICBhZG1pbj86IFJlbGF0aW9uc2hpcEFkbWluICYge1xuICAgIHNvcnRPcHRpb25zPzogc3RyaW5nXG4gIH1cbiAgcmVsYXRpb25Ubzogc3RyaW5nXG59XG5leHBvcnQgdHlwZSBSZWxhdGlvbnNoaXBGaWVsZCA9IFBvbHltb3JwaGljUmVsYXRpb25zaGlwRmllbGQgfCBTaW5nbGVSZWxhdGlvbnNoaXBGaWVsZFxuXG5leHBvcnQgdHlwZSBWYWx1ZVdpdGhSZWxhdGlvbiA9IHtcbiAgcmVsYXRpb25Ubzogc3RyaW5nXG4gIHZhbHVlOiBudW1iZXIgfCBzdHJpbmdcbn1cblxuZXhwb3J0IGZ1bmN0aW9uIHZhbHVlSXNWYWx1ZVdpdGhSZWxhdGlvbih2YWx1ZTogdW5rbm93bik6IHZhbHVlIGlzIFZhbHVlV2l0aFJlbGF0aW9uIHtcbiAgcmV0dXJuIHZhbHVlICE9PSBudWxsICYmIHR5cGVvZiB2YWx1ZSA9PT0gJ29iamVjdCcgJiYgJ3JlbGF0aW9uVG8nIGluIHZhbHVlICYmICd2YWx1ZScgaW4gdmFsdWVcbn1cblxuZXhwb3J0IHR5cGUgUmVsYXRpb25zaGlwVmFsdWUgPVxuICB8IChudW1iZXIgfCBzdHJpbmcpW11cbiAgfCBWYWx1ZVdpdGhSZWxhdGlvblxuICB8IFZhbHVlV2l0aFJlbGF0aW9uW11cbiAgfCAobnVtYmVyIHwgc3RyaW5nKVxuXG5leHBvcnQgdHlwZSBSaWNoVGV4dEZpZWxkPFxuICBWYWx1ZSBleHRlbmRzIG9iamVjdCA9IGFueSxcbiAgQWRhcHRlclByb3BzID0gYW55LFxuICBFeHRyYVByb3BlcnRpZXMgPSB7fSxcbj4gPSBGaWVsZEJhc2UgJiB7XG4gIGFkbWluPzogQWRtaW5cbiAgZWRpdG9yPzogUmljaFRleHRBZGFwdGVyPFZhbHVlLCBBZGFwdGVyUHJvcHMsIEFkYXB0ZXJQcm9wcz5cbiAgdHlwZTogJ3JpY2hUZXh0J1xufSAmIEV4dHJhUHJvcGVydGllc1xuXG5leHBvcnQgdHlwZSBBcnJheUZpZWxkID0gRmllbGRCYXNlICYge1xuICBhZG1pbj86IEFkbWluICYge1xuICAgIGNvbXBvbmVudHM/OiB7XG4gICAgICBSb3dMYWJlbD86IFJvd0xhYmVsXG4gICAgfSAmIEFkbWluWydjb21wb25lbnRzJ11cbiAgICBpbml0Q29sbGFwc2VkPzogYm9vbGVhblxuICB9XG4gIGZpZWxkczogRmllbGRbXVxuICAvKiogQ3VzdG9taXplIGdlbmVyYXRlZCBHcmFwaFFMIGFuZCBUeXBlc2NyaXB0IHNjaGVtYSBuYW1lcy5cbiAgICogQnkgZGVmYXVsdCBpdCBpcyBib3VuZCB0byB0aGUgY29sbGVjdGlvbi5cbiAgICpcbiAgICogVGhpcyBpcyB1c2VmdWwgaWYgeW91IHdvdWxkIGxpa2UgdG8gZ2VuZXJhdGUgYSB0b3AgbGV2ZWwgdHlwZSB0byBzaGFyZSBhbW9uZ3N0IGNvbGxlY3Rpb25zL2ZpZWxkcy5cbiAgICogKipOb3RlKio6IFRvcCBsZXZlbCB0eXBlcyBjYW4gY29sbGlkZSwgZW5zdXJlIHRoZXkgYXJlIHVuaXF1ZSBhbW9uZyBjb2xsZWN0aW9ucywgYXJyYXlzLCBncm91cHMsIGJsb2NrcywgdGFicy5cbiAgICovXG4gIGludGVyZmFjZU5hbWU/OiBzdHJpbmdcbiAgbGFiZWxzPzogTGFiZWxzXG4gIG1heFJvd3M/OiBudW1iZXJcbiAgbWluUm93cz86IG51bWJlclxuICB0eXBlOiAnYXJyYXknXG59XG5cbmV4cG9ydCB0eXBlIFJhZGlvRmllbGQgPSBGaWVsZEJhc2UgJiB7XG4gIGFkbWluPzogQWRtaW4gJiB7XG4gICAgY29tcG9uZW50cz86IHtcbiAgICAgIEVycm9yPzogUmVhY3QuQ29tcG9uZW50VHlwZTxFcnJvclByb3BzPlxuICAgICAgTGFiZWw/OiBSZWFjdC5Db21wb25lbnRUeXBlPExhYmVsUHJvcHM+XG4gICAgfVxuICAgIGxheW91dD86ICdob3Jpem9udGFsJyB8ICd2ZXJ0aWNhbCdcbiAgfVxuICBvcHRpb25zOiBPcHRpb25bXVxuICB0eXBlOiAncmFkaW8nXG59XG5cbmV4cG9ydCB0eXBlIEJsb2NrID0ge1xuICAvKiogRXh0ZW5zaW9uIHBvaW50IHRvIGFkZCB5b3VyIGN1c3RvbSBkYXRhLiAqL1xuICBjdXN0b20/OiBSZWNvcmQ8c3RyaW5nLCBhbnk+XG4gIGZpZWxkczogRmllbGRbXVxuICAvKiogQGRlcHJlY2F0ZWQgLSBwbGVhc2UgbWlncmF0ZSB0byB0aGUgaW50ZXJmYWNlTmFtZSBwcm9wZXJ0eSBpbnN0ZWFkLiAqL1xuICBncmFwaFFMPzoge1xuICAgIHNpbmd1bGFyTmFtZT86IHN0cmluZ1xuICB9XG4gIGltYWdlQWx0VGV4dD86IHN0cmluZ1xuICBpbWFnZVVSTD86IHN0cmluZ1xuICAvKiogQ3VzdG9taXplIGdlbmVyYXRlZCBHcmFwaFFMIGFuZCBUeXBlc2NyaXB0IHNjaGVtYSBuYW1lcy5cbiAgICogVGhlIHNsdWcgaXMgdXNlZCBieSBkZWZhdWx0LlxuICAgKlxuICAgKiBUaGlzIGlzIHVzZWZ1bCBpZiB5b3Ugd291bGQgbGlrZSB0byBnZW5lcmF0ZSBhIHRvcCBsZXZlbCB0eXBlIHRvIHNoYXJlIGFtb25nc3QgY29sbGVjdGlvbnMvZmllbGRzLlxuICAgKiAqKk5vdGUqKjogVG9wIGxldmVsIHR5cGVzIGNhbiBjb2xsaWRlLCBlbnN1cmUgdGhleSBhcmUgdW5pcXVlIGFtb25nIGNvbGxlY3Rpb25zLCBhcnJheXMsIGdyb3VwcywgYmxvY2tzLCB0YWJzLlxuICAgKi9cbiAgaW50ZXJmYWNlTmFtZT86IHN0cmluZ1xuICBsYWJlbHM/OiBMYWJlbHNcbiAgc2x1Zzogc3RyaW5nXG59XG5cbmV4cG9ydCB0eXBlIEJsb2NrRmllbGQgPSBGaWVsZEJhc2UgJiB7XG4gIGFkbWluPzogQWRtaW4gJiB7XG4gICAgaW5pdENvbGxhcHNlZD86IGJvb2xlYW5cbiAgfVxuICBibG9ja3M6IEJsb2NrW11cbiAgZGVmYXVsdFZhbHVlPzogdW5rbm93blxuICBsYWJlbHM/OiBMYWJlbHNcbiAgbWF4Um93cz86IG51bWJlclxuICBtaW5Sb3dzPzogbnVtYmVyXG4gIHR5cGU6ICdibG9ja3MnXG59XG5cbmV4cG9ydCB0eXBlIFBvaW50RmllbGQgPSBGaWVsZEJhc2UgJiB7XG4gIHR5cGU6ICdwb2ludCdcbn1cblxuZXhwb3J0IHR5cGUgRmllbGQgPVxuICB8IEFycmF5RmllbGRcbiAgfCBCbG9ja0ZpZWxkXG4gIHwgQ2hlY2tib3hGaWVsZFxuICB8IENvZGVGaWVsZFxuICB8IENvbGxhcHNpYmxlRmllbGRcbiAgfCBEYXRlRmllbGRcbiAgfCBFbWFpbEZpZWxkXG4gIHwgR3JvdXBGaWVsZFxuICB8IEpTT05GaWVsZFxuICB8IE51bWJlckZpZWxkXG4gIHwgUG9pbnRGaWVsZFxuICB8IFJhZGlvRmllbGRcbiAgfCBSZWxhdGlvbnNoaXBGaWVsZFxuICB8IFJpY2hUZXh0RmllbGRcbiAgfCBSb3dGaWVsZFxuICB8IFNlbGVjdEZpZWxkXG4gIHwgVGFic0ZpZWxkXG4gIHwgVGV4dEZpZWxkXG4gIHwgVGV4dGFyZWFGaWVsZFxuICB8IFVJRmllbGRcbiAgfCBVcGxvYWRGaWVsZFxuXG5leHBvcnQgdHlwZSBDbGllbnRDb25maWdGaWVsZCA9IE9taXQ8RmllbGQsICdhY2Nlc3MnIHwgJ2RlZmF1bHRWYWx1ZScgfCAnaG9va3MnIHwgJ3ZhbGlkYXRlJz5cblxuZXhwb3J0IHR5cGUgRmllbGRBZmZlY3RpbmdEYXRhID1cbiAgfCBBcnJheUZpZWxkXG4gIHwgQmxvY2tGaWVsZFxuICB8IENoZWNrYm94RmllbGRcbiAgfCBDb2RlRmllbGRcbiAgfCBEYXRlRmllbGRcbiAgfCBFbWFpbEZpZWxkXG4gIHwgR3JvdXBGaWVsZFxuICB8IEpTT05GaWVsZFxuICB8IE51bWJlckZpZWxkXG4gIHwgUG9pbnRGaWVsZFxuICB8IFJhZGlvRmllbGRcbiAgfCBSZWxhdGlvbnNoaXBGaWVsZFxuICB8IFJpY2hUZXh0RmllbGRcbiAgfCBTZWxlY3RGaWVsZFxuICB8IFRhYkFzRmllbGRcbiAgfCBUZXh0RmllbGRcbiAgfCBUZXh0YXJlYUZpZWxkXG4gIHwgVXBsb2FkRmllbGRcblxuZXhwb3J0IHR5cGUgTm9uUHJlc2VudGF0aW9uYWxGaWVsZCA9XG4gIHwgQXJyYXlGaWVsZFxuICB8IEJsb2NrRmllbGRcbiAgfCBDaGVja2JveEZpZWxkXG4gIHwgQ29kZUZpZWxkXG4gIHwgQ29sbGFwc2libGVGaWVsZFxuICB8IERhdGVGaWVsZFxuICB8IEVtYWlsRmllbGRcbiAgfCBHcm91cEZpZWxkXG4gIHwgSlNPTkZpZWxkXG4gIHwgTnVtYmVyRmllbGRcbiAgfCBQb2ludEZpZWxkXG4gIHwgUmFkaW9GaWVsZFxuICB8IFJlbGF0aW9uc2hpcEZpZWxkXG4gIHwgUmljaFRleHRGaWVsZFxuICB8IFJvd0ZpZWxkXG4gIHwgU2VsZWN0RmllbGRcbiAgfCBUYWJzRmllbGRcbiAgfCBUZXh0RmllbGRcbiAgfCBUZXh0YXJlYUZpZWxkXG4gIHwgVXBsb2FkRmllbGRcblxuZXhwb3J0IHR5cGUgRmllbGRXaXRoUGF0aCA9IEZpZWxkICYge1xuICBwYXRoPzogc3RyaW5nXG59XG5cbmV4cG9ydCB0eXBlIEZpZWxkV2l0aFN1YkZpZWxkcyA9IEFycmF5RmllbGQgfCBDb2xsYXBzaWJsZUZpZWxkIHwgR3JvdXBGaWVsZCB8IFJvd0ZpZWxkXG5cbmV4cG9ydCB0eXBlIEZpZWxkUHJlc2VudGF0aW9uYWxPbmx5ID0gVUlGaWVsZFxuXG5leHBvcnQgdHlwZSBGaWVsZFdpdGhNYW55ID0gUmVsYXRpb25zaGlwRmllbGQgfCBTZWxlY3RGaWVsZFxuXG5leHBvcnQgdHlwZSBGaWVsZFdpdGhNYXhEZXB0aCA9IFJlbGF0aW9uc2hpcEZpZWxkIHwgVXBsb2FkRmllbGRcblxuZXhwb3J0IGZ1bmN0aW9uIGZpZWxkSGFzU3ViRmllbGRzKGZpZWxkOiBGaWVsZCk6IGZpZWxkIGlzIEZpZWxkV2l0aFN1YkZpZWxkcyB7XG4gIHJldHVybiAoXG4gICAgZmllbGQudHlwZSA9PT0gJ2dyb3VwJyB8fFxuICAgIGZpZWxkLnR5cGUgPT09ICdhcnJheScgfHxcbiAgICBmaWVsZC50eXBlID09PSAncm93JyB8fFxuICAgIGZpZWxkLnR5cGUgPT09ICdjb2xsYXBzaWJsZSdcbiAgKVxufVxuXG5leHBvcnQgZnVuY3Rpb24gZmllbGRJc0FycmF5VHlwZShmaWVsZDogRmllbGQpOiBmaWVsZCBpcyBBcnJheUZpZWxkIHtcbiAgcmV0dXJuIGZpZWxkLnR5cGUgPT09ICdhcnJheSdcbn1cblxuZXhwb3J0IGZ1bmN0aW9uIGZpZWxkSXNCbG9ja1R5cGUoZmllbGQ6IEZpZWxkKTogZmllbGQgaXMgQmxvY2tGaWVsZCB7XG4gIHJldHVybiBmaWVsZC50eXBlID09PSAnYmxvY2tzJ1xufVxuXG5leHBvcnQgZnVuY3Rpb24gZmllbGRJc0dyb3VwVHlwZShmaWVsZDogRmllbGQpOiBmaWVsZCBpcyBHcm91cEZpZWxkIHtcbiAgcmV0dXJuIGZpZWxkLnR5cGUgPT09ICdncm91cCdcbn1cblxuZXhwb3J0IGZ1bmN0aW9uIG9wdGlvbklzT2JqZWN0KG9wdGlvbjogT3B0aW9uKTogb3B0aW9uIGlzIE9wdGlvbk9iamVjdCB7XG4gIHJldHVybiB0eXBlb2Ygb3B0aW9uID09PSAnb2JqZWN0J1xufVxuXG5leHBvcnQgZnVuY3Rpb24gb3B0aW9uc0FyZU9iamVjdHMob3B0aW9uczogT3B0aW9uW10pOiBvcHRpb25zIGlzIE9wdGlvbk9iamVjdFtdIHtcbiAgcmV0dXJuIEFycmF5LmlzQXJyYXkob3B0aW9ucykgJiYgdHlwZW9mIG9wdGlvbnM/LlswXSA9PT0gJ29iamVjdCdcbn1cblxuZXhwb3J0IGZ1bmN0aW9uIG9wdGlvbklzVmFsdWUob3B0aW9uOiBPcHRpb24pOiBvcHRpb24gaXMgc3RyaW5nIHtcbiAgcmV0dXJuIHR5cGVvZiBvcHRpb24gPT09ICdzdHJpbmcnXG59XG5cbmV4cG9ydCBmdW5jdGlvbiBmaWVsZFN1cHBvcnRzTWFueShmaWVsZDogRmllbGQpOiBmaWVsZCBpcyBGaWVsZFdpdGhNYW55IHtcbiAgcmV0dXJuIGZpZWxkLnR5cGUgPT09ICdzZWxlY3QnIHx8IGZpZWxkLnR5cGUgPT09ICdyZWxhdGlvbnNoaXAnXG59XG5cbmV4cG9ydCBmdW5jdGlvbiBmaWVsZEhhc01heERlcHRoKGZpZWxkOiBGaWVsZCk6IGZpZWxkIGlzIEZpZWxkV2l0aE1heERlcHRoIHtcbiAgcmV0dXJuIChcbiAgICAoZmllbGQudHlwZSA9PT0gJ3VwbG9hZCcgfHwgZmllbGQudHlwZSA9PT0gJ3JlbGF0aW9uc2hpcCcpICYmIHR5cGVvZiBmaWVsZC5tYXhEZXB0aCA9PT0gJ251bWJlcidcbiAgKVxufVxuXG5leHBvcnQgZnVuY3Rpb24gZmllbGRJc1ByZXNlbnRhdGlvbmFsT25seShmaWVsZDogRmllbGQgfCBUYWJBc0ZpZWxkKTogZmllbGQgaXMgVUlGaWVsZCB7XG4gIHJldHVybiBmaWVsZC50eXBlID09PSAndWknXG59XG5cbmV4cG9ydCBmdW5jdGlvbiBmaWVsZEFmZmVjdHNEYXRhKGZpZWxkOiBGaWVsZCB8IFRhYkFzRmllbGQpOiBmaWVsZCBpcyBGaWVsZEFmZmVjdGluZ0RhdGEge1xuICByZXR1cm4gJ25hbWUnIGluIGZpZWxkICYmICFmaWVsZElzUHJlc2VudGF0aW9uYWxPbmx5KGZpZWxkKVxufVxuXG5leHBvcnQgZnVuY3Rpb24gdGFiSGFzTmFtZSh0YWI6IFRhYik6IHRhYiBpcyBOYW1lZFRhYiB7XG4gIHJldHVybiAnbmFtZScgaW4gdGFiXG59XG5cbmV4cG9ydCBmdW5jdGlvbiBmaWVsZElzTG9jYWxpemVkKGZpZWxkOiBGaWVsZCB8IFRhYik6IGJvb2xlYW4ge1xuICByZXR1cm4gJ2xvY2FsaXplZCcgaW4gZmllbGQgJiYgZmllbGQubG9jYWxpemVkXG59XG5cbmV4cG9ydCB0eXBlIEhvb2tOYW1lID1cbiAgfCAnYWZ0ZXJDaGFuZ2UnXG4gIHwgJ2FmdGVyUmVhZCdcbiAgfCAnYmVmb3JlQ2hhbmdlJ1xuICB8ICdiZWZvcmVSZWFkJ1xuICB8ICdiZWZvcmVWYWxpZGF0ZSdcbiJdLCJuYW1lcyI6WyJ2YWx1ZUlzVmFsdWVXaXRoUmVsYXRpb24iLCJ2YWx1ZSIsImZpZWxkSGFzU3ViRmllbGRzIiwiZmllbGQiLCJ0eXBlIiwiZmllbGRJc0FycmF5VHlwZSIsImZpZWxkSXNCbG9ja1R5cGUiLCJmaWVsZElzR3JvdXBUeXBlIiwib3B0aW9uSXNPYmplY3QiLCJvcHRpb24iLCJvcHRpb25zQXJlT2JqZWN0cyIsIm9wdGlvbnMiLCJBcnJheSIsImlzQXJyYXkiLCJvcHRpb25Jc1ZhbHVlIiwiZmllbGRTdXBwb3J0c01hbnkiLCJmaWVsZEhhc01heERlcHRoIiwibWF4RGVwdGgiLCJmaWVsZElzUHJlc2VudGF0aW9uYWxPbmx5IiwiZmllbGRBZmZlY3RzRGF0YSIsInRhYkhhc05hbWUiLCJ0YWIiLCJmaWVsZElzTG9jYWxpemVkIiwibG9jYWxpemVkIl0sIm1hcHBpbmdzIjoiQUFBQSx1Q0FBdUMsR0FxZ0J2QyxPQUFPLFNBQVNBLHlCQUF5QkMsS0FBYztJQUNyRCxPQUFPQSxVQUFVLFFBQVEsT0FBT0EsVUFBVSxZQUFZLGdCQUFnQkEsU0FBUyxXQUFXQTtBQUM1RjtBQXVLQSxPQUFPLFNBQVNDLGtCQUFrQkMsS0FBWTtJQUM1QyxPQUNFQSxNQUFNQyxJQUFJLEtBQUssV0FDZkQsTUFBTUMsSUFBSSxLQUFLLFdBQ2ZELE1BQU1DLElBQUksS0FBSyxTQUNmRCxNQUFNQyxJQUFJLEtBQUs7QUFFbkI7QUFFQSxPQUFPLFNBQVNDLGlCQUFpQkYsS0FBWTtJQUMzQyxPQUFPQSxNQUFNQyxJQUFJLEtBQUs7QUFDeEI7QUFFQSxPQUFPLFNBQVNFLGlCQUFpQkgsS0FBWTtJQUMzQyxPQUFPQSxNQUFNQyxJQUFJLEtBQUs7QUFDeEI7QUFFQSxPQUFPLFNBQVNHLGlCQUFpQkosS0FBWTtJQUMzQyxPQUFPQSxNQUFNQyxJQUFJLEtBQUs7QUFDeEI7QUFFQSxPQUFPLFNBQVNJLGVBQWVDLE1BQWM7SUFDM0MsT0FBTyxPQUFPQSxXQUFXO0FBQzNCO0FBRUEsT0FBTyxTQUFTQyxrQkFBa0JDLE9BQWlCO0lBQ2pELE9BQU9DLE1BQU1DLE9BQU8sQ0FBQ0YsWUFBWSxPQUFPQSxTQUFTLENBQUMsRUFBRSxLQUFLO0FBQzNEO0FBRUEsT0FBTyxTQUFTRyxjQUFjTCxNQUFjO0lBQzFDLE9BQU8sT0FBT0EsV0FBVztBQUMzQjtBQUVBLE9BQU8sU0FBU00sa0JBQWtCWixLQUFZO0lBQzVDLE9BQU9BLE1BQU1DLElBQUksS0FBSyxZQUFZRCxNQUFNQyxJQUFJLEtBQUs7QUFDbkQ7QUFFQSxPQUFPLFNBQVNZLGlCQUFpQmIsS0FBWTtJQUMzQyxPQUNFLEFBQUNBLENBQUFBLE1BQU1DLElBQUksS0FBSyxZQUFZRCxNQUFNQyxJQUFJLEtBQUssY0FBYSxLQUFNLE9BQU9ELE1BQU1jLFFBQVEsS0FBSztBQUU1RjtBQUVBLE9BQU8sU0FBU0MsMEJBQTBCZixLQUF5QjtJQUNqRSxPQUFPQSxNQUFNQyxJQUFJLEtBQUs7QUFDeEI7QUFFQSxPQUFPLFNBQVNlLGlCQUFpQmhCLEtBQXlCO0lBQ3hELE9BQU8sVUFBVUEsU0FBUyxDQUFDZSwwQkFBMEJmO0FBQ3ZEO0FBRUEsT0FBTyxTQUFTaUIsV0FBV0MsR0FBUTtJQUNqQyxPQUFPLFVBQVVBO0FBQ25CO0FBRUEsT0FBTyxTQUFTQyxpQkFBaUJuQixLQUFrQjtJQUNqRCxPQUFPLGVBQWVBLFNBQVNBLE1BQU1vQixTQUFTO0FBQ2hEIn0=
@@ -1,13 +1,3 @@
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 getValueWithDefault = async ({ defaultValue, locale, user, value })=>{
12
2
  if (typeof value !== 'undefined') {
13
3
  return value;
@@ -20,6 +10,6 @@ const getValueWithDefault = async ({ defaultValue, locale, user, value })=>{
20
10
  }
21
11
  return defaultValue;
22
12
  };
23
- const _default = getValueWithDefault;
13
+ export default getValueWithDefault;
24
14
 
25
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIi4uLy4uL3NyYy9maWVsZHMvZ2V0RGVmYXVsdFZhbHVlLnRzIl0sInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB0eXBlIHsgVXNlciB9IGZyb20gJy4uL2F1dGgnXG5cbnR5cGUgQXJncyA9IHtcbiAgZGVmYXVsdFZhbHVlOiB1bmtub3duXG4gIGxvY2FsZTogc3RyaW5nIHwgdW5kZWZpbmVkXG4gIHVzZXI6IFVzZXJcbiAgdmFsdWU/OiB1bmtub3duXG59XG5cbmNvbnN0IGdldFZhbHVlV2l0aERlZmF1bHQgPSBhc3luYyAoe1xuICBkZWZhdWx0VmFsdWUsXG4gIGxvY2FsZSxcbiAgdXNlcixcbiAgdmFsdWUsXG59OiBBcmdzKTogUHJvbWlzZTx1bmtub3duPiA9PiB7XG4gIGlmICh0eXBlb2YgdmFsdWUgIT09ICd1bmRlZmluZWQnKSB7XG4gICAgcmV0dXJuIHZhbHVlXG4gIH1cblxuICBpZiAoZGVmYXVsdFZhbHVlICYmIHR5cGVvZiBkZWZhdWx0VmFsdWUgPT09ICdmdW5jdGlvbicpIHtcbiAgICByZXR1cm4gZGVmYXVsdFZhbHVlKHsgbG9jYWxlLCB1c2VyIH0pXG4gIH1cblxuICByZXR1cm4gZGVmYXVsdFZhbHVlXG59XG5cbmV4cG9ydCBkZWZhdWx0IGdldFZhbHVlV2l0aERlZmF1bHRcbiJdLCJuYW1lcyI6WyJnZXRWYWx1ZVdpdGhEZWZhdWx0IiwiZGVmYXVsdFZhbHVlIiwibG9jYWxlIiwidXNlciIsInZhbHVlIl0sIm1hcHBpbmdzIjoiOzs7OytCQTBCQTs7O2VBQUE7OztBQWpCQSxNQUFNQSxzQkFBc0IsT0FBTyxFQUNqQ0MsWUFBWSxFQUNaQyxNQUFNLEVBQ05DLElBQUksRUFDSkMsS0FBSyxFQUNBO0lBQ0wsSUFBSSxPQUFPQSxVQUFVLGFBQWE7UUFDaEMsT0FBT0E7SUFDVDtJQUVBLElBQUlILGdCQUFnQixPQUFPQSxpQkFBaUIsWUFBWTtRQUN0RCxPQUFPQSxhQUFhO1lBQUVDO1lBQVFDO1FBQUs7SUFDckM7SUFFQSxPQUFPRjtBQUNUO01BRUEsV0FBZUQifQ==
15
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIi4uLy4uL3NyYy9maWVsZHMvZ2V0RGVmYXVsdFZhbHVlLnRzIl0sInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB0eXBlIHsgVXNlciB9IGZyb20gJy4uL2F1dGgnXG5cbnR5cGUgQXJncyA9IHtcbiAgZGVmYXVsdFZhbHVlOiB1bmtub3duXG4gIGxvY2FsZTogc3RyaW5nIHwgdW5kZWZpbmVkXG4gIHVzZXI6IFVzZXJcbiAgdmFsdWU/OiB1bmtub3duXG59XG5cbmNvbnN0IGdldFZhbHVlV2l0aERlZmF1bHQgPSBhc3luYyAoe1xuICBkZWZhdWx0VmFsdWUsXG4gIGxvY2FsZSxcbiAgdXNlcixcbiAgdmFsdWUsXG59OiBBcmdzKTogUHJvbWlzZTx1bmtub3duPiA9PiB7XG4gIGlmICh0eXBlb2YgdmFsdWUgIT09ICd1bmRlZmluZWQnKSB7XG4gICAgcmV0dXJuIHZhbHVlXG4gIH1cblxuICBpZiAoZGVmYXVsdFZhbHVlICYmIHR5cGVvZiBkZWZhdWx0VmFsdWUgPT09ICdmdW5jdGlvbicpIHtcbiAgICByZXR1cm4gZGVmYXVsdFZhbHVlKHsgbG9jYWxlLCB1c2VyIH0pXG4gIH1cblxuICByZXR1cm4gZGVmYXVsdFZhbHVlXG59XG5cbmV4cG9ydCBkZWZhdWx0IGdldFZhbHVlV2l0aERlZmF1bHRcbiJdLCJuYW1lcyI6WyJnZXRWYWx1ZVdpdGhEZWZhdWx0IiwiZGVmYXVsdFZhbHVlIiwibG9jYWxlIiwidXNlciIsInZhbHVlIl0sIm1hcHBpbmdzIjoiQUFTQSxNQUFNQSxzQkFBc0IsT0FBTyxFQUNqQ0MsWUFBWSxFQUNaQyxNQUFNLEVBQ05DLElBQUksRUFDSkMsS0FBSyxFQUNBO0lBQ0wsSUFBSSxPQUFPQSxVQUFVLGFBQWE7UUFDaEMsT0FBT0E7SUFDVDtJQUVBLElBQUlILGdCQUFnQixPQUFPQSxpQkFBaUIsWUFBWTtRQUN0RCxPQUFPQSxhQUFhO1lBQUVDO1lBQVFDO1FBQUs7SUFDckM7SUFFQSxPQUFPRjtBQUNUO0FBRUEsZUFBZUQsb0JBQW1CIn0=
@@ -1,18 +1,8 @@
1
- "use strict";
2
- Object.defineProperty(exports, "__esModule", {
3
- value: true
4
- });
5
- Object.defineProperty(exports, "afterChange", {
6
- enumerable: true,
7
- get: function() {
8
- return afterChange;
9
- }
10
- });
11
- const _deepCopyObject = require("../../../utilities/deepCopyObject");
12
- const _traverseFields = require("./traverseFields");
13
- const afterChange = async ({ collection, context, data, doc: incomingDoc, global, operation, previousDoc, req })=>{
14
- const doc = (0, _deepCopyObject.deepCopyObject)(incomingDoc);
15
- await (0, _traverseFields.traverseFields)({
1
+ import { deepCopyObject } from '../../../utilities/deepCopyObject';
2
+ import { traverseFields } from './traverseFields';
3
+ export const afterChange = async ({ collection, context, data, doc: incomingDoc, global, operation, previousDoc, req })=>{
4
+ const doc = deepCopyObject(incomingDoc);
5
+ await traverseFields({
16
6
  collection,
17
7
  context,
18
8
  data,
@@ -29,4 +19,4 @@ const afterChange = async ({ collection, context, data, doc: incomingDoc, global
29
19
  return doc;
30
20
  };
31
21
 
32
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uL3NyYy9maWVsZHMvaG9va3MvYWZ0ZXJDaGFuZ2UvaW5kZXgudHMiXSwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHR5cGUgeyBTYW5pdGl6ZWRDb2xsZWN0aW9uQ29uZmlnIH0gZnJvbSAnLi4vLi4vLi4vY29sbGVjdGlvbnMvY29uZmlnL3R5cGVzJ1xuaW1wb3J0IHR5cGUgeyBTYW5pdGl6ZWRHbG9iYWxDb25maWcgfSBmcm9tICcuLi8uLi8uLi9nbG9iYWxzL2NvbmZpZy90eXBlcydcbmltcG9ydCB0eXBlIHsgUGF5bG9hZFJlcXVlc3QsIFJlcXVlc3RDb250ZXh0IH0gZnJvbSAnLi4vLi4vLi4vdHlwZXMnXG5cbmltcG9ydCB7IGRlZXBDb3B5T2JqZWN0IH0gZnJvbSAnLi4vLi4vLi4vdXRpbGl0aWVzL2RlZXBDb3B5T2JqZWN0J1xuaW1wb3J0IHsgdHJhdmVyc2VGaWVsZHMgfSBmcm9tICcuL3RyYXZlcnNlRmllbGRzJ1xuXG50eXBlIEFyZ3M8VD4gPSB7XG4gIGNvbGxlY3Rpb246IFNhbml0aXplZENvbGxlY3Rpb25Db25maWcgfCBudWxsXG4gIGNvbnRleHQ6IFJlcXVlc3RDb250ZXh0XG4gIGRhdGE6IFJlY29yZDxzdHJpbmcsIHVua25vd24+IHwgVFxuICBkb2M6IFJlY29yZDxzdHJpbmcsIHVua25vd24+IHwgVFxuICBnbG9iYWw6IFNhbml0aXplZEdsb2JhbENvbmZpZyB8IG51bGxcbiAgb3BlcmF0aW9uOiAnY3JlYXRlJyB8ICd1cGRhdGUnXG4gIHByZXZpb3VzRG9jOiBSZWNvcmQ8c3RyaW5nLCB1bmtub3duPiB8IFRcbiAgcmVxOiBQYXlsb2FkUmVxdWVzdFxufVxuXG5leHBvcnQgY29uc3QgYWZ0ZXJDaGFuZ2UgPSBhc3luYyA8VCBleHRlbmRzIFJlY29yZDxzdHJpbmcsIHVua25vd24+Pih7XG4gIGNvbGxlY3Rpb24sXG4gIGNvbnRleHQsXG4gIGRhdGEsXG5cbiAgZG9jOiBpbmNvbWluZ0RvYyxcbiAgZ2xvYmFsLFxuICBvcGVyYXRpb24sXG4gIHByZXZpb3VzRG9jLFxuICByZXEsXG59OiBBcmdzPFQ+KTogUHJvbWlzZTxUPiA9PiB7XG4gIGNvbnN0IGRvYyA9IGRlZXBDb3B5T2JqZWN0KGluY29taW5nRG9jKVxuXG4gIGF3YWl0IHRyYXZlcnNlRmllbGRzKHtcbiAgICBjb2xsZWN0aW9uLFxuICAgIGNvbnRleHQsXG4gICAgZGF0YSxcbiAgICBkb2MsXG4gICAgZmllbGRzOiBjb2xsZWN0aW9uPy5maWVsZHMgfHwgZ2xvYmFsPy5maWVsZHMsXG4gICAgZ2xvYmFsLFxuICAgIG9wZXJhdGlvbixcbiAgICBwcmV2aW91c0RvYyxcbiAgICBwcmV2aW91c1NpYmxpbmdEb2M6IHByZXZpb3VzRG9jLFxuICAgIHJlcSxcbiAgICBzaWJsaW5nRGF0YTogZGF0YSxcbiAgICBzaWJsaW5nRG9jOiBkb2MsXG4gIH0pXG5cbiAgcmV0dXJuIGRvY1xufVxuIl0sIm5hbWVzIjpbImFmdGVyQ2hhbmdlIiwiY29sbGVjdGlvbiIsImNvbnRleHQiLCJkYXRhIiwiZG9jIiwiaW5jb21pbmdEb2MiLCJnbG9iYWwiLCJvcGVyYXRpb24iLCJwcmV2aW91c0RvYyIsInJlcSIsImRlZXBDb3B5T2JqZWN0IiwidHJhdmVyc2VGaWVsZHMiLCJmaWVsZHMiLCJwcmV2aW91c1NpYmxpbmdEb2MiLCJzaWJsaW5nRGF0YSIsInNpYmxpbmdEb2MiXSwibWFwcGluZ3MiOiI7Ozs7K0JBa0JhQTs7O2VBQUFBOzs7Z0NBZGtCO2dDQUNBO0FBYXhCLE1BQU1BLGNBQWMsT0FBMEMsRUFDbkVDLFVBQVUsRUFDVkMsT0FBTyxFQUNQQyxJQUFJLEVBRUpDLEtBQUtDLFdBQVcsRUFDaEJDLE1BQU0sRUFDTkMsU0FBUyxFQUNUQyxXQUFXLEVBQ1hDLEdBQUcsRUFDSztJQUNSLE1BQU1MLE1BQU1NLElBQUFBLDhCQUFjLEVBQUNMO0lBRTNCLE1BQU1NLElBQUFBLDhCQUFjLEVBQUM7UUFDbkJWO1FBQ0FDO1FBQ0FDO1FBQ0FDO1FBQ0FRLFFBQVFYLFlBQVlXLFVBQVVOLFFBQVFNO1FBQ3RDTjtRQUNBQztRQUNBQztRQUNBSyxvQkFBb0JMO1FBQ3BCQztRQUNBSyxhQUFhWDtRQUNiWSxZQUFZWDtJQUNkO0lBRUEsT0FBT0E7QUFDVCJ9
22
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uL3NyYy9maWVsZHMvaG9va3MvYWZ0ZXJDaGFuZ2UvaW5kZXgudHMiXSwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHR5cGUgeyBTYW5pdGl6ZWRDb2xsZWN0aW9uQ29uZmlnIH0gZnJvbSAnLi4vLi4vLi4vY29sbGVjdGlvbnMvY29uZmlnL3R5cGVzJ1xuaW1wb3J0IHR5cGUgeyBTYW5pdGl6ZWRHbG9iYWxDb25maWcgfSBmcm9tICcuLi8uLi8uLi9nbG9iYWxzL2NvbmZpZy90eXBlcydcbmltcG9ydCB0eXBlIHsgUGF5bG9hZFJlcXVlc3QsIFJlcXVlc3RDb250ZXh0IH0gZnJvbSAnLi4vLi4vLi4vdHlwZXMnXG5cbmltcG9ydCB7IGRlZXBDb3B5T2JqZWN0IH0gZnJvbSAnLi4vLi4vLi4vdXRpbGl0aWVzL2RlZXBDb3B5T2JqZWN0J1xuaW1wb3J0IHsgdHJhdmVyc2VGaWVsZHMgfSBmcm9tICcuL3RyYXZlcnNlRmllbGRzJ1xuXG50eXBlIEFyZ3M8VD4gPSB7XG4gIGNvbGxlY3Rpb246IFNhbml0aXplZENvbGxlY3Rpb25Db25maWcgfCBudWxsXG4gIGNvbnRleHQ6IFJlcXVlc3RDb250ZXh0XG4gIGRhdGE6IFJlY29yZDxzdHJpbmcsIHVua25vd24+IHwgVFxuICBkb2M6IFJlY29yZDxzdHJpbmcsIHVua25vd24+IHwgVFxuICBnbG9iYWw6IFNhbml0aXplZEdsb2JhbENvbmZpZyB8IG51bGxcbiAgb3BlcmF0aW9uOiAnY3JlYXRlJyB8ICd1cGRhdGUnXG4gIHByZXZpb3VzRG9jOiBSZWNvcmQ8c3RyaW5nLCB1bmtub3duPiB8IFRcbiAgcmVxOiBQYXlsb2FkUmVxdWVzdFxufVxuXG5leHBvcnQgY29uc3QgYWZ0ZXJDaGFuZ2UgPSBhc3luYyA8VCBleHRlbmRzIFJlY29yZDxzdHJpbmcsIHVua25vd24+Pih7XG4gIGNvbGxlY3Rpb24sXG4gIGNvbnRleHQsXG4gIGRhdGEsXG5cbiAgZG9jOiBpbmNvbWluZ0RvYyxcbiAgZ2xvYmFsLFxuICBvcGVyYXRpb24sXG4gIHByZXZpb3VzRG9jLFxuICByZXEsXG59OiBBcmdzPFQ+KTogUHJvbWlzZTxUPiA9PiB7XG4gIGNvbnN0IGRvYyA9IGRlZXBDb3B5T2JqZWN0KGluY29taW5nRG9jKVxuXG4gIGF3YWl0IHRyYXZlcnNlRmllbGRzKHtcbiAgICBjb2xsZWN0aW9uLFxuICAgIGNvbnRleHQsXG4gICAgZGF0YSxcbiAgICBkb2MsXG4gICAgZmllbGRzOiBjb2xsZWN0aW9uPy5maWVsZHMgfHwgZ2xvYmFsPy5maWVsZHMsXG4gICAgZ2xvYmFsLFxuICAgIG9wZXJhdGlvbixcbiAgICBwcmV2aW91c0RvYyxcbiAgICBwcmV2aW91c1NpYmxpbmdEb2M6IHByZXZpb3VzRG9jLFxuICAgIHJlcSxcbiAgICBzaWJsaW5nRGF0YTogZGF0YSxcbiAgICBzaWJsaW5nRG9jOiBkb2MsXG4gIH0pXG5cbiAgcmV0dXJuIGRvY1xufVxuIl0sIm5hbWVzIjpbImRlZXBDb3B5T2JqZWN0IiwidHJhdmVyc2VGaWVsZHMiLCJhZnRlckNoYW5nZSIsImNvbGxlY3Rpb24iLCJjb250ZXh0IiwiZGF0YSIsImRvYyIsImluY29taW5nRG9jIiwiZ2xvYmFsIiwib3BlcmF0aW9uIiwicHJldmlvdXNEb2MiLCJyZXEiLCJmaWVsZHMiLCJwcmV2aW91c1NpYmxpbmdEb2MiLCJzaWJsaW5nRGF0YSIsInNpYmxpbmdEb2MiXSwibWFwcGluZ3MiOiJBQUlBLFNBQVNBLGNBQWMsUUFBUSxvQ0FBbUM7QUFDbEUsU0FBU0MsY0FBYyxRQUFRLG1CQUFrQjtBQWFqRCxPQUFPLE1BQU1DLGNBQWMsT0FBMEMsRUFDbkVDLFVBQVUsRUFDVkMsT0FBTyxFQUNQQyxJQUFJLEVBRUpDLEtBQUtDLFdBQVcsRUFDaEJDLE1BQU0sRUFDTkMsU0FBUyxFQUNUQyxXQUFXLEVBQ1hDLEdBQUcsRUFDSztJQUNSLE1BQU1MLE1BQU1OLGVBQWVPO0lBRTNCLE1BQU1OLGVBQWU7UUFDbkJFO1FBQ0FDO1FBQ0FDO1FBQ0FDO1FBQ0FNLFFBQVFULFlBQVlTLFVBQVVKLFFBQVFJO1FBQ3RDSjtRQUNBQztRQUNBQztRQUNBRyxvQkFBb0JIO1FBQ3BCQztRQUNBRyxhQUFhVDtRQUNiVSxZQUFZVDtJQUNkO0lBRUEsT0FBT0E7QUFDVCxFQUFDIn0=
@@ -1,17 +1,9 @@
1
- /* eslint-disable no-param-reassign */ "use strict";
2
- Object.defineProperty(exports, "__esModule", {
3
- value: true
4
- });
5
- Object.defineProperty(exports, "promise", {
6
- enumerable: true,
7
- get: function() {
8
- return promise;
9
- }
10
- });
11
- const _types = require("../../config/types");
12
- const _traverseFields = require("./traverseFields");
13
- const promise = async ({ collection, context, data, doc, field, global, operation, previousDoc, previousSiblingDoc, req, siblingData, siblingDoc })=>{
14
- if ((0, _types.fieldAffectsData)(field)) {
1
+ /* eslint-disable no-param-reassign */ import { fieldAffectsData, tabHasName } from '../../config/types';
2
+ import { traverseFields } from './traverseFields';
3
+ // This function is responsible for the following actions, in order:
4
+ // - Execute field hooks
5
+ export const promise = async ({ collection, context, data, doc, field, global, operation, previousDoc, previousSiblingDoc, req, siblingData, siblingDoc })=>{
6
+ if (fieldAffectsData(field)) {
15
7
  // Execute hooks
16
8
  if (field.hooks?.afterChange) {
17
9
  await field.hooks.afterChange.reduce(async (priorHook, currentHook)=>{
@@ -41,7 +33,7 @@ const promise = async ({ collection, context, data, doc, field, global, operatio
41
33
  switch(field.type){
42
34
  case 'group':
43
35
  {
44
- await (0, _traverseFields.traverseFields)({
36
+ await traverseFields({
45
37
  collection,
46
38
  context,
47
39
  data,
@@ -63,7 +55,7 @@ const promise = async ({ collection, context, data, doc, field, global, operatio
63
55
  if (Array.isArray(rows)) {
64
56
  const promises = [];
65
57
  rows.forEach((row, i)=>{
66
- promises.push((0, _traverseFields.traverseFields)({
58
+ promises.push(traverseFields({
67
59
  collection,
68
60
  context,
69
61
  data,
@@ -92,7 +84,7 @@ const promise = async ({ collection, context, data, doc, field, global, operatio
92
84
  rows.forEach((row, i)=>{
93
85
  const block = field.blocks.find((blockType)=>blockType.slug === row.blockType);
94
86
  if (block) {
95
- promises.push((0, _traverseFields.traverseFields)({
87
+ promises.push(traverseFields({
96
88
  collection,
97
89
  context,
98
90
  data,
@@ -117,7 +109,7 @@ const promise = async ({ collection, context, data, doc, field, global, operatio
117
109
  case 'row':
118
110
  case 'collapsible':
119
111
  {
120
- await (0, _traverseFields.traverseFields)({
112
+ await traverseFields({
121
113
  collection,
122
114
  context,
123
115
  data,
@@ -142,12 +134,12 @@ const promise = async ({ collection, context, data, doc, field, global, operatio
142
134
  let tabSiblingData = siblingData;
143
135
  let tabSiblingDoc = siblingDoc;
144
136
  let tabPreviousSiblingDoc = siblingDoc;
145
- if ((0, _types.tabHasName)(field)) {
137
+ if (tabHasName(field)) {
146
138
  tabSiblingData = siblingData[field.name];
147
139
  tabSiblingDoc = siblingDoc[field.name];
148
140
  tabPreviousSiblingDoc = previousDoc[field.name];
149
141
  }
150
- await (0, _traverseFields.traverseFields)({
142
+ await traverseFields({
151
143
  collection,
152
144
  context,
153
145
  data,
@@ -165,7 +157,7 @@ const promise = async ({ collection, context, data, doc, field, global, operatio
165
157
  }
166
158
  case 'tabs':
167
159
  {
168
- await (0, _traverseFields.traverseFields)({
160
+ await traverseFields({
169
161
  collection,
170
162
  context,
171
163
  data,
@@ -195,4 +187,4 @@ const promise = async ({ collection, context, data, doc, field, global, operatio
195
187
  }
196
188
  };
197
189
 
198
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uL3NyYy9maWVsZHMvaG9va3MvYWZ0ZXJDaGFuZ2UvcHJvbWlzZS50cyJdLCJzb3VyY2VzQ29udGVudCI6WyIvKiBlc2xpbnQtZGlzYWJsZSBuby1wYXJhbS1yZWFzc2lnbiAqL1xuaW1wb3J0IHR5cGUgeyBTYW5pdGl6ZWRDb2xsZWN0aW9uQ29uZmlnIH0gZnJvbSAnLi4vLi4vLi4vY29sbGVjdGlvbnMvY29uZmlnL3R5cGVzJ1xuaW1wb3J0IHR5cGUgeyBTYW5pdGl6ZWRHbG9iYWxDb25maWcgfSBmcm9tICcuLi8uLi8uLi9nbG9iYWxzL2NvbmZpZy90eXBlcydcbmltcG9ydCB0eXBlIHsgUGF5bG9hZFJlcXVlc3QsIFJlcXVlc3RDb250ZXh0IH0gZnJvbSAnLi4vLi4vLi4vdHlwZXMnXG5pbXBvcnQgdHlwZSB7IEZpZWxkLCBUYWJBc0ZpZWxkIH0gZnJvbSAnLi4vLi4vY29uZmlnL3R5cGVzJ1xuXG5pbXBvcnQgeyBmaWVsZEFmZmVjdHNEYXRhLCB0YWJIYXNOYW1lIH0gZnJvbSAnLi4vLi4vY29uZmlnL3R5cGVzJ1xuaW1wb3J0IHsgdHJhdmVyc2VGaWVsZHMgfSBmcm9tICcuL3RyYXZlcnNlRmllbGRzJ1xuXG50eXBlIEFyZ3MgPSB7XG4gIGNvbGxlY3Rpb246IFNhbml0aXplZENvbGxlY3Rpb25Db25maWcgfCBudWxsXG4gIGNvbnRleHQ6IFJlcXVlc3RDb250ZXh0XG4gIGRhdGE6IFJlY29yZDxzdHJpbmcsIHVua25vd24+XG4gIGRvYzogUmVjb3JkPHN0cmluZywgdW5rbm93bj5cbiAgZmllbGQ6IEZpZWxkIHwgVGFiQXNGaWVsZFxuICBnbG9iYWw6IFNhbml0aXplZEdsb2JhbENvbmZpZyB8IG51bGxcbiAgb3BlcmF0aW9uOiAnY3JlYXRlJyB8ICd1cGRhdGUnXG4gIHByZXZpb3VzRG9jOiBSZWNvcmQ8c3RyaW5nLCB1bmtub3duPlxuICBwcmV2aW91c1NpYmxpbmdEb2M6IFJlY29yZDxzdHJpbmcsIHVua25vd24+XG4gIHJlcTogUGF5bG9hZFJlcXVlc3RcbiAgc2libGluZ0RhdGE6IFJlY29yZDxzdHJpbmcsIHVua25vd24+XG4gIHNpYmxpbmdEb2M6IFJlY29yZDxzdHJpbmcsIHVua25vd24+XG59XG5cbi8vIFRoaXMgZnVuY3Rpb24gaXMgcmVzcG9uc2libGUgZm9yIHRoZSBmb2xsb3dpbmcgYWN0aW9ucywgaW4gb3JkZXI6XG4vLyAtIEV4ZWN1dGUgZmllbGQgaG9va3NcblxuZXhwb3J0IGNvbnN0IHByb21pc2UgPSBhc3luYyAoe1xuICBjb2xsZWN0aW9uLFxuICBjb250ZXh0LFxuICBkYXRhLFxuICBkb2MsXG4gIGZpZWxkLFxuICBnbG9iYWwsXG4gIG9wZXJhdGlvbixcbiAgcHJldmlvdXNEb2MsXG4gIHByZXZpb3VzU2libGluZ0RvYyxcbiAgcmVxLFxuICBzaWJsaW5nRGF0YSxcbiAgc2libGluZ0RvYyxcbn06IEFyZ3MpOiBQcm9taXNlPHZvaWQ+ID0+IHtcbiAgaWYgKGZpZWxkQWZmZWN0c0RhdGEoZmllbGQpKSB7XG4gICAgLy8gRXhlY3V0ZSBob29rc1xuICAgIGlmIChmaWVsZC5ob29rcz8uYWZ0ZXJDaGFuZ2UpIHtcbiAgICAgIGF3YWl0IGZpZWxkLmhvb2tzLmFmdGVyQ2hhbmdlLnJlZHVjZShhc3luYyAocHJpb3JIb29rLCBjdXJyZW50SG9vaykgPT4ge1xuICAgICAgICBhd2FpdCBwcmlvckhvb2tcblxuICAgICAgICBjb25zdCBob29rZWRWYWx1ZSA9IGF3YWl0IGN1cnJlbnRIb29rKHtcbiAgICAgICAgICBjb2xsZWN0aW9uLFxuICAgICAgICAgIGNvbnRleHQsXG4gICAgICAgICAgZGF0YSxcbiAgICAgICAgICBmaWVsZCxcbiAgICAgICAgICBnbG9iYWwsXG4gICAgICAgICAgb3BlcmF0aW9uLFxuICAgICAgICAgIG9yaWdpbmFsRG9jOiBkb2MsXG4gICAgICAgICAgcHJldmlvdXNEb2MsXG4gICAgICAgICAgcHJldmlvdXNTaWJsaW5nRG9jLFxuICAgICAgICAgIHByZXZpb3VzVmFsdWU6IHByZXZpb3VzRG9jW2ZpZWxkLm5hbWVdLFxuICAgICAgICAgIHJlcSxcbiAgICAgICAgICBzaWJsaW5nRGF0YSxcbiAgICAgICAgICB2YWx1ZTogc2libGluZ0RhdGFbZmllbGQubmFtZV0sXG4gICAgICAgIH0pXG5cbiAgICAgICAgaWYgKGhvb2tlZFZhbHVlICE9PSB1bmRlZmluZWQpIHtcbiAgICAgICAgICBzaWJsaW5nRG9jW2ZpZWxkLm5hbWVdID0gaG9va2VkVmFsdWVcbiAgICAgICAgfVxuICAgICAgfSwgUHJvbWlzZS5yZXNvbHZlKCkpXG4gICAgfVxuICB9XG5cbiAgLy8gVHJhdmVyc2Ugc3ViZmllbGRzXG4gIHN3aXRjaCAoZmllbGQudHlwZSkge1xuICAgIGNhc2UgJ2dyb3VwJzoge1xuICAgICAgYXdhaXQgdHJhdmVyc2VGaWVsZHMoe1xuICAgICAgICBjb2xsZWN0aW9uLFxuICAgICAgICBjb250ZXh0LFxuICAgICAgICBkYXRhLFxuICAgICAgICBkb2MsXG4gICAgICAgIGZpZWxkczogZmllbGQuZmllbGRzLFxuICAgICAgICBnbG9iYWwsXG4gICAgICAgIG9wZXJhdGlvbixcbiAgICAgICAgcHJldmlvdXNEb2MsXG4gICAgICAgIHByZXZpb3VzU2libGluZ0RvYzogcHJldmlvdXNEb2NbZmllbGQubmFtZV0gYXMgUmVjb3JkPHN0cmluZywgdW5rbm93bj4sXG4gICAgICAgIHJlcSxcbiAgICAgICAgc2libGluZ0RhdGE6IChzaWJsaW5nRGF0YT8uW2ZpZWxkLm5hbWVdIGFzIFJlY29yZDxzdHJpbmcsIHVua25vd24+KSB8fCB7fSxcbiAgICAgICAgc2libGluZ0RvYzogc2libGluZ0RvY1tmaWVsZC5uYW1lXSBhcyBSZWNvcmQ8c3RyaW5nLCB1bmtub3duPixcbiAgICAgIH0pXG5cbiAgICAgIGJyZWFrXG4gICAgfVxuXG4gICAgY2FzZSAnYXJyYXknOiB7XG4gICAgICBjb25zdCByb3dzID0gc2libGluZ0RvY1tmaWVsZC5uYW1lXVxuXG4gICAgICBpZiAoQXJyYXkuaXNBcnJheShyb3dzKSkge1xuICAgICAgICBjb25zdCBwcm9taXNlcyA9IFtdXG4gICAgICAgIHJvd3MuZm9yRWFjaCgocm93LCBpKSA9PiB7XG4gICAgICAgICAgcHJvbWlzZXMucHVzaChcbiAgICAgICAgICAgIHRyYXZlcnNlRmllbGRzKHtcbiAgICAgICAgICAgICAgY29sbGVjdGlvbixcbiAgICAgICAgICAgICAgY29udGV4dCxcbiAgICAgICAgICAgICAgZGF0YSxcbiAgICAgICAgICAgICAgZG9jLFxuICAgICAgICAgICAgICBmaWVsZHM6IGZpZWxkLmZpZWxkcyxcbiAgICAgICAgICAgICAgZ2xvYmFsLFxuICAgICAgICAgICAgICBvcGVyYXRpb24sXG4gICAgICAgICAgICAgIHByZXZpb3VzRG9jLFxuICAgICAgICAgICAgICBwcmV2aW91c1NpYmxpbmdEb2M6IHByZXZpb3VzRG9jPy5bZmllbGQubmFtZV0/LltpXSB8fCAoe30gYXMgUmVjb3JkPHN0cmluZywgdW5rbm93bj4pLFxuICAgICAgICAgICAgICByZXEsXG4gICAgICAgICAgICAgIHNpYmxpbmdEYXRhOiBzaWJsaW5nRGF0YT8uW2ZpZWxkLm5hbWVdPy5baV0gfHwge30sXG4gICAgICAgICAgICAgIHNpYmxpbmdEb2M6IHsgLi4ucm93IH0gfHwge30sXG4gICAgICAgICAgICB9KSxcbiAgICAgICAgICApXG4gICAgICAgIH0pXG4gICAgICAgIGF3YWl0IFByb21pc2UuYWxsKHByb21pc2VzKVxuICAgICAgfVxuICAgICAgYnJlYWtcbiAgICB9XG5cbiAgICBjYXNlICdibG9ja3MnOiB7XG4gICAgICBjb25zdCByb3dzID0gc2libGluZ0RvY1tmaWVsZC5uYW1lXVxuXG4gICAgICBpZiAoQXJyYXkuaXNBcnJheShyb3dzKSkge1xuICAgICAgICBjb25zdCBwcm9taXNlcyA9IFtdXG4gICAgICAgIHJvd3MuZm9yRWFjaCgocm93LCBpKSA9PiB7XG4gICAgICAgICAgY29uc3QgYmxvY2sgPSBmaWVsZC5ibG9ja3MuZmluZCgoYmxvY2tUeXBlKSA9PiBibG9ja1R5cGUuc2x1ZyA9PT0gcm93LmJsb2NrVHlwZSlcblxuICAgICAgICAgIGlmIChibG9jaykge1xuICAgICAgICAgICAgcHJvbWlzZXMucHVzaChcbiAgICAgICAgICAgICAgdHJhdmVyc2VGaWVsZHMoe1xuICAgICAgICAgICAgICAgIGNvbGxlY3Rpb24sXG4gICAgICAgICAgICAgICAgY29udGV4dCxcbiAgICAgICAgICAgICAgICBkYXRhLFxuICAgICAgICAgICAgICAgIGRvYyxcbiAgICAgICAgICAgICAgICBmaWVsZHM6IGJsb2NrLmZpZWxkcyxcbiAgICAgICAgICAgICAgICBnbG9iYWwsXG4gICAgICAgICAgICAgICAgb3BlcmF0aW9uLFxuICAgICAgICAgICAgICAgIHByZXZpb3VzRG9jLFxuICAgICAgICAgICAgICAgIHByZXZpb3VzU2libGluZ0RvYzpcbiAgICAgICAgICAgICAgICAgIHByZXZpb3VzRG9jPy5bZmllbGQubmFtZV0/LltpXSB8fCAoe30gYXMgUmVjb3JkPHN0cmluZywgdW5rbm93bj4pLFxuICAgICAgICAgICAgICAgIHJlcSxcbiAgICAgICAgICAgICAgICBzaWJsaW5nRGF0YTogc2libGluZ0RhdGE/LltmaWVsZC5uYW1lXT8uW2ldIHx8IHt9LFxuICAgICAgICAgICAgICAgIHNpYmxpbmdEb2M6IHsgLi4ucm93IH0gfHwge30sXG4gICAgICAgICAgICAgIH0pLFxuICAgICAgICAgICAgKVxuICAgICAgICAgIH1cbiAgICAgICAgfSlcbiAgICAgICAgYXdhaXQgUHJvbWlzZS5hbGwocHJvbWlzZXMpXG4gICAgICB9XG5cbiAgICAgIGJyZWFrXG4gICAgfVxuXG4gICAgY2FzZSAncm93JzpcbiAgICBjYXNlICdjb2xsYXBzaWJsZSc6IHtcbiAgICAgIGF3YWl0IHRyYXZlcnNlRmllbGRzKHtcbiAgICAgICAgY29sbGVjdGlvbixcbiAgICAgICAgY29udGV4dCxcbiAgICAgICAgZGF0YSxcbiAgICAgICAgZG9jLFxuICAgICAgICBmaWVsZHM6IGZpZWxkLmZpZWxkcyxcbiAgICAgICAgZ2xvYmFsLFxuICAgICAgICBvcGVyYXRpb24sXG4gICAgICAgIHByZXZpb3VzRG9jLFxuICAgICAgICBwcmV2aW91c1NpYmxpbmdEb2M6IHsgLi4ucHJldmlvdXNTaWJsaW5nRG9jIH0sXG4gICAgICAgIHJlcSxcbiAgICAgICAgc2libGluZ0RhdGE6IHNpYmxpbmdEYXRhIHx8IHt9LFxuICAgICAgICBzaWJsaW5nRG9jOiB7IC4uLnNpYmxpbmdEb2MgfSxcbiAgICAgIH0pXG5cbiAgICAgIGJyZWFrXG4gICAgfVxuXG4gICAgY2FzZSAndGFiJzoge1xuICAgICAgbGV0IHRhYlNpYmxpbmdEYXRhID0gc2libGluZ0RhdGFcbiAgICAgIGxldCB0YWJTaWJsaW5nRG9jID0gc2libGluZ0RvY1xuICAgICAgbGV0IHRhYlByZXZpb3VzU2libGluZ0RvYyA9IHNpYmxpbmdEb2NcblxuICAgICAgaWYgKHRhYkhhc05hbWUoZmllbGQpKSB7XG4gICAgICAgIHRhYlNpYmxpbmdEYXRhID0gc2libGluZ0RhdGFbZmllbGQubmFtZV0gYXMgUmVjb3JkPHN0cmluZywgdW5rbm93bj5cbiAgICAgICAgdGFiU2libGluZ0RvYyA9IHNpYmxpbmdEb2NbZmllbGQubmFtZV0gYXMgUmVjb3JkPHN0cmluZywgdW5rbm93bj5cbiAgICAgICAgdGFiUHJldmlvdXNTaWJsaW5nRG9jID0gcHJldmlvdXNEb2NbZmllbGQubmFtZV0gYXMgUmVjb3JkPHN0cmluZywgdW5rbm93bj5cbiAgICAgIH1cblxuICAgICAgYXdhaXQgdHJhdmVyc2VGaWVsZHMoe1xuICAgICAgICBjb2xsZWN0aW9uLFxuICAgICAgICBjb250ZXh0LFxuICAgICAgICBkYXRhLFxuICAgICAgICBkb2MsXG4gICAgICAgIGZpZWxkczogZmllbGQuZmllbGRzLFxuICAgICAgICBnbG9iYWwsXG4gICAgICAgIG9wZXJhdGlvbixcbiAgICAgICAgcHJldmlvdXNEb2MsXG4gICAgICAgIHByZXZpb3VzU2libGluZ0RvYzogdGFiUHJldmlvdXNTaWJsaW5nRG9jLFxuICAgICAgICByZXEsXG4gICAgICAgIHNpYmxpbmdEYXRhOiB0YWJTaWJsaW5nRGF0YSxcbiAgICAgICAgc2libGluZ0RvYzogdGFiU2libGluZ0RvYyxcbiAgICAgIH0pXG5cbiAgICAgIGJyZWFrXG4gICAgfVxuXG4gICAgY2FzZSAndGFicyc6IHtcbiAgICAgIGF3YWl0IHRyYXZlcnNlRmllbGRzKHtcbiAgICAgICAgY29sbGVjdGlvbixcbiAgICAgICAgY29udGV4dCxcbiAgICAgICAgZGF0YSxcbiAgICAgICAgZG9jLFxuICAgICAgICBmaWVsZHM6IGZpZWxkLnRhYnMubWFwKCh0YWIpID0+ICh7IC4uLnRhYiwgdHlwZTogJ3RhYicgfSkpLFxuICAgICAgICBnbG9iYWwsXG4gICAgICAgIG9wZXJhdGlvbixcbiAgICAgICAgcHJldmlvdXNEb2MsXG4gICAgICAgIHByZXZpb3VzU2libGluZ0RvYzogeyAuLi5wcmV2aW91c1NpYmxpbmdEb2MgfSxcbiAgICAgICAgcmVxLFxuICAgICAgICBzaWJsaW5nRGF0YTogc2libGluZ0RhdGEgfHwge30sXG4gICAgICAgIHNpYmxpbmdEb2M6IHsgLi4uc2libGluZ0RvYyB9LFxuICAgICAgfSlcbiAgICAgIGJyZWFrXG4gICAgfVxuXG4gICAgZGVmYXVsdDoge1xuICAgICAgYnJlYWtcbiAgICB9XG4gIH1cbn1cbiJdLCJuYW1lcyI6WyJwcm9taXNlIiwiY29sbGVjdGlvbiIsImNvbnRleHQiLCJkYXRhIiwiZG9jIiwiZmllbGQiLCJnbG9iYWwiLCJvcGVyYXRpb24iLCJwcmV2aW91c0RvYyIsInByZXZpb3VzU2libGluZ0RvYyIsInJlcSIsInNpYmxpbmdEYXRhIiwic2libGluZ0RvYyIsImZpZWxkQWZmZWN0c0RhdGEiLCJob29rcyIsImFmdGVyQ2hhbmdlIiwicmVkdWNlIiwicHJpb3JIb29rIiwiY3VycmVudEhvb2siLCJob29rZWRWYWx1ZSIsIm9yaWdpbmFsRG9jIiwicHJldmlvdXNWYWx1ZSIsIm5hbWUiLCJ2YWx1ZSIsInVuZGVmaW5lZCIsIlByb21pc2UiLCJyZXNvbHZlIiwidHlwZSIsInRyYXZlcnNlRmllbGRzIiwiZmllbGRzIiwicm93cyIsIkFycmF5IiwiaXNBcnJheSIsInByb21pc2VzIiwiZm9yRWFjaCIsInJvdyIsImkiLCJwdXNoIiwiYWxsIiwiYmxvY2siLCJibG9ja3MiLCJmaW5kIiwiYmxvY2tUeXBlIiwic2x1ZyIsInRhYlNpYmxpbmdEYXRhIiwidGFiU2libGluZ0RvYyIsInRhYlByZXZpb3VzU2libGluZ0RvYyIsInRhYkhhc05hbWUiLCJ0YWJzIiwibWFwIiwidGFiIl0sIm1hcHBpbmdzIjoiQUFBQSxvQ0FBb0M7Ozs7K0JBMkJ2QkE7OztlQUFBQTs7O3VCQXJCZ0M7Z0NBQ2Q7QUFvQnhCLE1BQU1BLFVBQVUsT0FBTyxFQUM1QkMsVUFBVSxFQUNWQyxPQUFPLEVBQ1BDLElBQUksRUFDSkMsR0FBRyxFQUNIQyxLQUFLLEVBQ0xDLE1BQU0sRUFDTkMsU0FBUyxFQUNUQyxXQUFXLEVBQ1hDLGtCQUFrQixFQUNsQkMsR0FBRyxFQUNIQyxXQUFXLEVBQ1hDLFVBQVUsRUFDTDtJQUNMLElBQUlDLElBQUFBLHVCQUFnQixFQUFDUixRQUFRO1FBQzNCLGdCQUFnQjtRQUNoQixJQUFJQSxNQUFNUyxLQUFLLEVBQUVDLGFBQWE7WUFDNUIsTUFBTVYsTUFBTVMsS0FBSyxDQUFDQyxXQUFXLENBQUNDLE1BQU0sQ0FBQyxPQUFPQyxXQUFXQztnQkFDckQsTUFBTUQ7Z0JBRU4sTUFBTUUsY0FBYyxNQUFNRCxZQUFZO29CQUNwQ2pCO29CQUNBQztvQkFDQUM7b0JBQ0FFO29CQUNBQztvQkFDQUM7b0JBQ0FhLGFBQWFoQjtvQkFDYkk7b0JBQ0FDO29CQUNBWSxlQUFlYixXQUFXLENBQUNILE1BQU1pQixJQUFJLENBQUM7b0JBQ3RDWjtvQkFDQUM7b0JBQ0FZLE9BQU9aLFdBQVcsQ0FBQ04sTUFBTWlCLElBQUksQ0FBQztnQkFDaEM7Z0JBRUEsSUFBSUgsZ0JBQWdCSyxXQUFXO29CQUM3QlosVUFBVSxDQUFDUCxNQUFN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
190
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uL3NyYy9maWVsZHMvaG9va3MvYWZ0ZXJDaGFuZ2UvcHJvbWlzZS50cyJdLCJzb3VyY2VzQ29udGVudCI6WyIvKiBlc2xpbnQtZGlzYWJsZSBuby1wYXJhbS1yZWFzc2lnbiAqL1xuaW1wb3J0IHR5cGUgeyBTYW5pdGl6ZWRDb2xsZWN0aW9uQ29uZmlnIH0gZnJvbSAnLi4vLi4vLi4vY29sbGVjdGlvbnMvY29uZmlnL3R5cGVzJ1xuaW1wb3J0IHR5cGUgeyBTYW5pdGl6ZWRHbG9iYWxDb25maWcgfSBmcm9tICcuLi8uLi8uLi9nbG9iYWxzL2NvbmZpZy90eXBlcydcbmltcG9ydCB0eXBlIHsgUGF5bG9hZFJlcXVlc3QsIFJlcXVlc3RDb250ZXh0IH0gZnJvbSAnLi4vLi4vLi4vdHlwZXMnXG5pbXBvcnQgdHlwZSB7IEZpZWxkLCBUYWJBc0ZpZWxkIH0gZnJvbSAnLi4vLi4vY29uZmlnL3R5cGVzJ1xuXG5pbXBvcnQgeyBmaWVsZEFmZmVjdHNEYXRhLCB0YWJIYXNOYW1lIH0gZnJvbSAnLi4vLi4vY29uZmlnL3R5cGVzJ1xuaW1wb3J0IHsgdHJhdmVyc2VGaWVsZHMgfSBmcm9tICcuL3RyYXZlcnNlRmllbGRzJ1xuXG50eXBlIEFyZ3MgPSB7XG4gIGNvbGxlY3Rpb246IFNhbml0aXplZENvbGxlY3Rpb25Db25maWcgfCBudWxsXG4gIGNvbnRleHQ6IFJlcXVlc3RDb250ZXh0XG4gIGRhdGE6IFJlY29yZDxzdHJpbmcsIHVua25vd24+XG4gIGRvYzogUmVjb3JkPHN0cmluZywgdW5rbm93bj5cbiAgZmllbGQ6IEZpZWxkIHwgVGFiQXNGaWVsZFxuICBnbG9iYWw6IFNhbml0aXplZEdsb2JhbENvbmZpZyB8IG51bGxcbiAgb3BlcmF0aW9uOiAnY3JlYXRlJyB8ICd1cGRhdGUnXG4gIHByZXZpb3VzRG9jOiBSZWNvcmQ8c3RyaW5nLCB1bmtub3duPlxuICBwcmV2aW91c1NpYmxpbmdEb2M6IFJlY29yZDxzdHJpbmcsIHVua25vd24+XG4gIHJlcTogUGF5bG9hZFJlcXVlc3RcbiAgc2libGluZ0RhdGE6IFJlY29yZDxzdHJpbmcsIHVua25vd24+XG4gIHNpYmxpbmdEb2M6IFJlY29yZDxzdHJpbmcsIHVua25vd24+XG59XG5cbi8vIFRoaXMgZnVuY3Rpb24gaXMgcmVzcG9uc2libGUgZm9yIHRoZSBmb2xsb3dpbmcgYWN0aW9ucywgaW4gb3JkZXI6XG4vLyAtIEV4ZWN1dGUgZmllbGQgaG9va3NcblxuZXhwb3J0IGNvbnN0IHByb21pc2UgPSBhc3luYyAoe1xuICBjb2xsZWN0aW9uLFxuICBjb250ZXh0LFxuICBkYXRhLFxuICBkb2MsXG4gIGZpZWxkLFxuICBnbG9iYWwsXG4gIG9wZXJhdGlvbixcbiAgcHJldmlvdXNEb2MsXG4gIHByZXZpb3VzU2libGluZ0RvYyxcbiAgcmVxLFxuICBzaWJsaW5nRGF0YSxcbiAgc2libGluZ0RvYyxcbn06IEFyZ3MpOiBQcm9taXNlPHZvaWQ+ID0+IHtcbiAgaWYgKGZpZWxkQWZmZWN0c0RhdGEoZmllbGQpKSB7XG4gICAgLy8gRXhlY3V0ZSBob29rc1xuICAgIGlmIChmaWVsZC5ob29rcz8uYWZ0ZXJDaGFuZ2UpIHtcbiAgICAgIGF3YWl0IGZpZWxkLmhvb2tzLmFmdGVyQ2hhbmdlLnJlZHVjZShhc3luYyAocHJpb3JIb29rLCBjdXJyZW50SG9vaykgPT4ge1xuICAgICAgICBhd2FpdCBwcmlvckhvb2tcblxuICAgICAgICBjb25zdCBob29rZWRWYWx1ZSA9IGF3YWl0IGN1cnJlbnRIb29rKHtcbiAgICAgICAgICBjb2xsZWN0aW9uLFxuICAgICAgICAgIGNvbnRleHQsXG4gICAgICAgICAgZGF0YSxcbiAgICAgICAgICBmaWVsZCxcbiAgICAgICAgICBnbG9iYWwsXG4gICAgICAgICAgb3BlcmF0aW9uLFxuICAgICAgICAgIG9yaWdpbmFsRG9jOiBkb2MsXG4gICAgICAgICAgcHJldmlvdXNEb2MsXG4gICAgICAgICAgcHJldmlvdXNTaWJsaW5nRG9jLFxuICAgICAgICAgIHByZXZpb3VzVmFsdWU6IHByZXZpb3VzRG9jW2ZpZWxkLm5hbWVdLFxuICAgICAgICAgIHJlcSxcbiAgICAgICAgICBzaWJsaW5nRGF0YSxcbiAgICAgICAgICB2YWx1ZTogc2libGluZ0RhdGFbZmllbGQubmFtZV0sXG4gICAgICAgIH0pXG5cbiAgICAgICAgaWYgKGhvb2tlZFZhbHVlICE9PSB1bmRlZmluZWQpIHtcbiAgICAgICAgICBzaWJsaW5nRG9jW2ZpZWxkLm5hbWVdID0gaG9va2VkVmFsdWVcbiAgICAgICAgfVxuICAgICAgfSwgUHJvbWlzZS5yZXNvbHZlKCkpXG4gICAgfVxuICB9XG5cbiAgLy8gVHJhdmVyc2Ugc3ViZmllbGRzXG4gIHN3aXRjaCAoZmllbGQudHlwZSkge1xuICAgIGNhc2UgJ2dyb3VwJzoge1xuICAgICAgYXdhaXQgdHJhdmVyc2VGaWVsZHMoe1xuICAgICAgICBjb2xsZWN0aW9uLFxuICAgICAgICBjb250ZXh0LFxuICAgICAgICBkYXRhLFxuICAgICAgICBkb2MsXG4gICAgICAgIGZpZWxkczogZmllbGQuZmllbGRzLFxuICAgICAgICBnbG9iYWwsXG4gICAgICAgIG9wZXJhdGlvbixcbiAgICAgICAgcHJldmlvdXNEb2MsXG4gICAgICAgIHByZXZpb3VzU2libGluZ0RvYzogcHJldmlvdXNEb2NbZmllbGQubmFtZV0gYXMgUmVjb3JkPHN0cmluZywgdW5rbm93bj4sXG4gICAgICAgIHJlcSxcbiAgICAgICAgc2libGluZ0RhdGE6IChzaWJsaW5nRGF0YT8uW2ZpZWxkLm5hbWVdIGFzIFJlY29yZDxzdHJpbmcsIHVua25vd24+KSB8fCB7fSxcbiAgICAgICAgc2libGluZ0RvYzogc2libGluZ0RvY1tmaWVsZC5uYW1lXSBhcyBSZWNvcmQ8c3RyaW5nLCB1bmtub3duPixcbiAgICAgIH0pXG5cbiAgICAgIGJyZWFrXG4gICAgfVxuXG4gICAgY2FzZSAnYXJyYXknOiB7XG4gICAgICBjb25zdCByb3dzID0gc2libGluZ0RvY1tmaWVsZC5uYW1lXVxuXG4gICAgICBpZiAoQXJyYXkuaXNBcnJheShyb3dzKSkge1xuICAgICAgICBjb25zdCBwcm9taXNlcyA9IFtdXG4gICAgICAgIHJvd3MuZm9yRWFjaCgocm93LCBpKSA9PiB7XG4gICAgICAgICAgcHJvbWlzZXMucHVzaChcbiAgICAgICAgICAgIHRyYXZlcnNlRmllbGRzKHtcbiAgICAgICAgICAgICAgY29sbGVjdGlvbixcbiAgICAgICAgICAgICAgY29udGV4dCxcbiAgICAgICAgICAgICAgZGF0YSxcbiAgICAgICAgICAgICAgZG9jLFxuICAgICAgICAgICAgICBmaWVsZHM6IGZpZWxkLmZpZWxkcyxcbiAgICAgICAgICAgICAgZ2xvYmFsLFxuICAgICAgICAgICAgICBvcGVyYXRpb24sXG4gICAgICAgICAgICAgIHByZXZpb3VzRG9jLFxuICAgICAgICAgICAgICBwcmV2aW91c1NpYmxpbmdEb2M6IHByZXZpb3VzRG9jPy5bZmllbGQubmFtZV0/LltpXSB8fCAoe30gYXMgUmVjb3JkPHN0cmluZywgdW5rbm93bj4pLFxuICAgICAgICAgICAgICByZXEsXG4gICAgICAgICAgICAgIHNpYmxpbmdEYXRhOiBzaWJsaW5nRGF0YT8uW2ZpZWxkLm5hbWVdPy5baV0gfHwge30sXG4gICAgICAgICAgICAgIHNpYmxpbmdEb2M6IHsgLi4ucm93IH0gfHwge30sXG4gICAgICAgICAgICB9KSxcbiAgICAgICAgICApXG4gICAgICAgIH0pXG4gICAgICAgIGF3YWl0IFByb21pc2UuYWxsKHByb21pc2VzKVxuICAgICAgfVxuICAgICAgYnJlYWtcbiAgICB9XG5cbiAgICBjYXNlICdibG9ja3MnOiB7XG4gICAgICBjb25zdCByb3dzID0gc2libGluZ0RvY1tmaWVsZC5uYW1lXVxuXG4gICAgICBpZiAoQXJyYXkuaXNBcnJheShyb3dzKSkge1xuICAgICAgICBjb25zdCBwcm9taXNlcyA9IFtdXG4gICAgICAgIHJvd3MuZm9yRWFjaCgocm93LCBpKSA9PiB7XG4gICAgICAgICAgY29uc3QgYmxvY2sgPSBmaWVsZC5ibG9ja3MuZmluZCgoYmxvY2tUeXBlKSA9PiBibG9ja1R5cGUuc2x1ZyA9PT0gcm93LmJsb2NrVHlwZSlcblxuICAgICAgICAgIGlmIChibG9jaykge1xuICAgICAgICAgICAgcHJvbWlzZXMucHVzaChcbiAgICAgICAgICAgICAgdHJhdmVyc2VGaWVsZHMoe1xuICAgICAgICAgICAgICAgIGNvbGxlY3Rpb24sXG4gICAgICAgICAgICAgICAgY29udGV4dCxcbiAgICAgICAgICAgICAgICBkYXRhLFxuICAgICAgICAgICAgICAgIGRvYyxcbiAgICAgICAgICAgICAgICBmaWVsZHM6IGJsb2NrLmZpZWxkcyxcbiAgICAgICAgICAgICAgICBnbG9iYWwsXG4gICAgICAgICAgICAgICAgb3BlcmF0aW9uLFxuICAgICAgICAgICAgICAgIHByZXZpb3VzRG9jLFxuICAgICAgICAgICAgICAgIHByZXZpb3VzU2libGluZ0RvYzpcbiAgICAgICAgICAgICAgICAgIHByZXZpb3VzRG9jPy5bZmllbGQubmFtZV0/LltpXSB8fCAoe30gYXMgUmVjb3JkPHN0cmluZywgdW5rbm93bj4pLFxuICAgICAgICAgICAgICAgIHJlcSxcbiAgICAgICAgICAgICAgICBzaWJsaW5nRGF0YTogc2libGluZ0RhdGE/LltmaWVsZC5uYW1lXT8uW2ldIHx8IHt9LFxuICAgICAgICAgICAgICAgIHNpYmxpbmdEb2M6IHsgLi4ucm93IH0gfHwge30sXG4gICAgICAgICAgICAgIH0pLFxuICAgICAgICAgICAgKVxuICAgICAgICAgIH1cbiAgICAgICAgfSlcbiAgICAgICAgYXdhaXQgUHJvbWlzZS5hbGwocHJvbWlzZXMpXG4gICAgICB9XG5cbiAgICAgIGJyZWFrXG4gICAgfVxuXG4gICAgY2FzZSAncm93JzpcbiAgICBjYXNlICdjb2xsYXBzaWJsZSc6IHtcbiAgICAgIGF3YWl0IHRyYXZlcnNlRmllbGRzKHtcbiAgICAgICAgY29sbGVjdGlvbixcbiAgICAgICAgY29udGV4dCxcbiAgICAgICAgZGF0YSxcbiAgICAgICAgZG9jLFxuICAgICAgICBmaWVsZHM6IGZpZWxkLmZpZWxkcyxcbiAgICAgICAgZ2xvYmFsLFxuICAgICAgICBvcGVyYXRpb24sXG4gICAgICAgIHByZXZpb3VzRG9jLFxuICAgICAgICBwcmV2aW91c1NpYmxpbmdEb2M6IHsgLi4ucHJldmlvdXNTaWJsaW5nRG9jIH0sXG4gICAgICAgIHJlcSxcbiAgICAgICAgc2libGluZ0RhdGE6IHNpYmxpbmdEYXRhIHx8IHt9LFxuICAgICAgICBzaWJsaW5nRG9jOiB7IC4uLnNpYmxpbmdEb2MgfSxcbiAgICAgIH0pXG5cbiAgICAgIGJyZWFrXG4gICAgfVxuXG4gICAgY2FzZSAndGFiJzoge1xuICAgICAgbGV0IHRhYlNpYmxpbmdEYXRhID0gc2libGluZ0RhdGFcbiAgICAgIGxldCB0YWJTaWJsaW5nRG9jID0gc2libGluZ0RvY1xuICAgICAgbGV0IHRhYlByZXZpb3VzU2libGluZ0RvYyA9IHNpYmxpbmdEb2NcblxuICAgICAgaWYgKHRhYkhhc05hbWUoZmllbGQpKSB7XG4gICAgICAgIHRhYlNpYmxpbmdEYXRhID0gc2libGluZ0RhdGFbZmllbGQubmFtZV0gYXMgUmVjb3JkPHN0cmluZywgdW5rbm93bj5cbiAgICAgICAgdGFiU2libGluZ0RvYyA9IHNpYmxpbmdEb2NbZmllbGQubmFtZV0gYXMgUmVjb3JkPHN0cmluZywgdW5rbm93bj5cbiAgICAgICAgdGFiUHJldmlvdXNTaWJsaW5nRG9jID0gcHJldmlvdXNEb2NbZmllbGQubmFtZV0gYXMgUmVjb3JkPHN0cmluZywgdW5rbm93bj5cbiAgICAgIH1cblxuICAgICAgYXdhaXQgdHJhdmVyc2VGaWVsZHMoe1xuICAgICAgICBjb2xsZWN0aW9uLFxuICAgICAgICBjb250ZXh0LFxuICAgICAgICBkYXRhLFxuICAgICAgICBkb2MsXG4gICAgICAgIGZpZWxkczogZmllbGQuZmllbGRzLFxuICAgICAgICBnbG9iYWwsXG4gICAgICAgIG9wZXJhdGlvbixcbiAgICAgICAgcHJldmlvdXNEb2MsXG4gICAgICAgIHByZXZpb3VzU2libGluZ0RvYzogdGFiUHJldmlvdXNTaWJsaW5nRG9jLFxuICAgICAgICByZXEsXG4gICAgICAgIHNpYmxpbmdEYXRhOiB0YWJTaWJsaW5nRGF0YSxcbiAgICAgICAgc2libGluZ0RvYzogdGFiU2libGluZ0RvYyxcbiAgICAgIH0pXG5cbiAgICAgIGJyZWFrXG4gICAgfVxuXG4gICAgY2FzZSAndGFicyc6IHtcbiAgICAgIGF3YWl0IHRyYXZlcnNlRmllbGRzKHtcbiAgICAgICAgY29sbGVjdGlvbixcbiAgICAgICAgY29udGV4dCxcbiAgICAgICAgZGF0YSxcbiAgICAgICAgZG9jLFxuICAgICAgICBmaWVsZHM6IGZpZWxkLnRhYnMubWFwKCh0YWIpID0+ICh7IC4uLnRhYiwgdHlwZTogJ3RhYicgfSkpLFxuICAgICAgICBnbG9iYWwsXG4gICAgICAgIG9wZXJhdGlvbixcbiAgICAgICAgcHJldmlvdXNEb2MsXG4gICAgICAgIHByZXZpb3VzU2libGluZ0RvYzogeyAuLi5wcmV2aW91c1NpYmxpbmdEb2MgfSxcbiAgICAgICAgcmVxLFxuICAgICAgICBzaWJsaW5nRGF0YTogc2libGluZ0RhdGEgfHwge30sXG4gICAgICAgIHNpYmxpbmdEb2M6IHsgLi4uc2libGluZ0RvYyB9LFxuICAgICAgfSlcbiAgICAgIGJyZWFrXG4gICAgfVxuXG4gICAgZGVmYXVsdDoge1xuICAgICAgYnJlYWtcbiAgICB9XG4gIH1cbn1cbiJdLCJuYW1lcyI6WyJmaWVsZEFmZmVjdHNEYXRhIiwidGFiSGFzTmFtZSIsInRyYXZlcnNlRmllbGRzIiwicHJvbWlzZSIsImNvbGxlY3Rpb24iLCJjb250ZXh0IiwiZGF0YSIsImRvYyIsImZpZWxkIiwiZ2xvYmFsIiwib3BlcmF0aW9uIiwicHJldmlvdXNEb2MiLCJwcmV2aW91c1NpYmxpbmdEb2MiLCJyZXEiLCJzaWJsaW5nRGF0YSIsInNpYmxpbmdEb2MiLCJob29rcyIsImFmdGVyQ2hhbmdlIiwicmVkdWNlIiwicHJpb3JIb29rIiwiY3VycmVudEhvb2siLCJob29rZWRWYWx1ZSIsIm9yaWdpbmFsRG9jIiwicHJldmlvdXNWYWx1ZSIsIm5hbWUiLCJ2YWx1ZSIsInVuZGVmaW5lZCIsIlByb21pc2UiLCJyZXNvbHZlIiwidHlwZSIsImZpZWxkcyIsInJvd3MiLCJBcnJheSIsImlzQXJyYXkiLCJwcm9taXNlcyIsImZvckVhY2giLCJyb3ciLCJpIiwicHVzaCIsImFsbCIsImJsb2NrIiwiYmxvY2tzIiwiZmluZCIsImJsb2NrVHlwZSIsInNsdWciLCJ0YWJTaWJsaW5nRGF0YSIsInRhYlNpYmxpbmdEb2MiLCJ0YWJQcmV2aW91c1NpYmxpbmdEb2MiLCJ0YWJzIiwibWFwIiwidGFiIl0sIm1hcHBpbmdzIjoiQUFBQSxvQ0FBb0MsR0FNcEMsU0FBU0EsZ0JBQWdCLEVBQUVDLFVBQVUsUUFBUSxxQkFBb0I7QUFDakUsU0FBU0MsY0FBYyxRQUFRLG1CQUFrQjtBQWlCakQsb0VBQW9FO0FBQ3BFLHdCQUF3QjtBQUV4QixPQUFPLE1BQU1DLFVBQVUsT0FBTyxFQUM1QkMsVUFBVSxFQUNWQyxPQUFPLEVBQ1BDLElBQUksRUFDSkMsR0FBRyxFQUNIQyxLQUFLLEVBQ0xDLE1BQU0sRUFDTkMsU0FBUyxFQUNUQyxXQUFXLEVBQ1hDLGtCQUFrQixFQUNsQkMsR0FBRyxFQUNIQyxXQUFXLEVBQ1hDLFVBQVUsRUFDTDtJQUNMLElBQUlmLGlCQUFpQlEsUUFBUTtRQUMzQixnQkFBZ0I7UUFDaEIsSUFBSUEsTUFBTVEsS0FBSyxFQUFFQyxhQUFhO1lBQzVCLE1BQU1ULE1BQU1RLEtBQUssQ0FBQ0MsV0FBVyxDQUFDQyxNQUFNLENBQUMsT0FBT0MsV0FBV0M7Z0JBQ3JELE1BQU1EO2dCQUVOLE1BQU1FLGNBQWMsTUFBTUQsWUFBWTtvQkFDcENoQjtvQkFDQUM7b0JBQ0FDO29CQUNBRTtvQkFDQUM7b0JBQ0FDO29CQUNBWSxhQUFhZjtvQkFDYkk7b0JBQ0FDO29CQUNBVyxlQUFlWixXQUFXLENBQUNILE1BQU1nQixJQUFJLENBQUM7b0JBQ3RDWDtvQkFDQUM7b0JBQ0FXLE9BQU9YLFdBQVcsQ0FBQ04sTUFBTWdCLElBQUksQ0FBQztn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
@@ -1,18 +1,8 @@
1
- "use strict";
2
- Object.defineProperty(exports, "__esModule", {
3
- value: true
4
- });
5
- Object.defineProperty(exports, "traverseFields", {
6
- enumerable: true,
7
- get: function() {
8
- return traverseFields;
9
- }
10
- });
11
- const _promise = require("./promise");
12
- const traverseFields = async ({ collection, context, data, doc, fields, global, operation, previousDoc, previousSiblingDoc, req, siblingData, siblingDoc })=>{
1
+ import { promise } from './promise';
2
+ export const traverseFields = async ({ collection, context, data, doc, fields, global, operation, previousDoc, previousSiblingDoc, req, siblingData, siblingDoc })=>{
13
3
  const promises = [];
14
4
  fields.forEach((field)=>{
15
- promises.push((0, _promise.promise)({
5
+ promises.push(promise({
16
6
  collection,
17
7
  context,
18
8
  data,
@@ -30,4 +20,4 @@ const traverseFields = async ({ collection, context, data, doc, fields, global,
30
20
  await Promise.all(promises);
31
21
  };
32
22
 
33
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uL3NyYy9maWVsZHMvaG9va3MvYWZ0ZXJDaGFuZ2UvdHJhdmVyc2VGaWVsZHMudHMiXSwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHR5cGUgeyBTYW5pdGl6ZWRDb2xsZWN0aW9uQ29uZmlnIH0gZnJvbSAnLi4vLi4vLi4vY29sbGVjdGlvbnMvY29uZmlnL3R5cGVzJ1xuaW1wb3J0IHR5cGUgeyBTYW5pdGl6ZWRHbG9iYWxDb25maWcgfSBmcm9tICcuLi8uLi8uLi9nbG9iYWxzL2NvbmZpZy90eXBlcydcbmltcG9ydCB0eXBlIHsgUGF5bG9hZFJlcXVlc3QsIFJlcXVlc3RDb250ZXh0IH0gZnJvbSAnLi4vLi4vLi4vdHlwZXMnXG5pbXBvcnQgdHlwZSB7IEZpZWxkLCBUYWJBc0ZpZWxkIH0gZnJvbSAnLi4vLi4vY29uZmlnL3R5cGVzJ1xuXG5pbXBvcnQgeyBwcm9taXNlIH0gZnJvbSAnLi9wcm9taXNlJ1xuXG50eXBlIEFyZ3MgPSB7XG4gIGNvbGxlY3Rpb246IFNhbml0aXplZENvbGxlY3Rpb25Db25maWcgfCBudWxsXG4gIGNvbnRleHQ6IFJlcXVlc3RDb250ZXh0XG4gIGRhdGE6IFJlY29yZDxzdHJpbmcsIHVua25vd24+XG4gIGRvYzogUmVjb3JkPHN0cmluZywgdW5rbm93bj5cbiAgZmllbGRzOiAoRmllbGQgfCBUYWJBc0ZpZWxkKVtdXG4gIGdsb2JhbDogU2FuaXRpemVkR2xvYmFsQ29uZmlnIHwgbnVsbFxuICBvcGVyYXRpb246ICdjcmVhdGUnIHwgJ3VwZGF0ZSdcbiAgcHJldmlvdXNEb2M6IFJlY29yZDxzdHJpbmcsIHVua25vd24+XG4gIHByZXZpb3VzU2libGluZ0RvYzogUmVjb3JkPHN0cmluZywgdW5rbm93bj5cbiAgcmVxOiBQYXlsb2FkUmVxdWVzdFxuICBzaWJsaW5nRGF0YTogUmVjb3JkPHN0cmluZywgdW5rbm93bj5cbiAgc2libGluZ0RvYzogUmVjb3JkPHN0cmluZywgdW5rbm93bj5cbn1cblxuZXhwb3J0IGNvbnN0IHRyYXZlcnNlRmllbGRzID0gYXN5bmMgKHtcbiAgY29sbGVjdGlvbixcbiAgY29udGV4dCxcbiAgZGF0YSxcbiAgZG9jLFxuICBmaWVsZHMsXG4gIGdsb2JhbCxcbiAgb3BlcmF0aW9uLFxuICBwcmV2aW91c0RvYyxcbiAgcHJldmlvdXNTaWJsaW5nRG9jLFxuICByZXEsXG4gIHNpYmxpbmdEYXRhLFxuICBzaWJsaW5nRG9jLFxufTogQXJncyk6IFByb21pc2U8dm9pZD4gPT4ge1xuICBjb25zdCBwcm9taXNlcyA9IFtdXG5cbiAgZmllbGRzLmZvckVhY2goKGZpZWxkKSA9PiB7XG4gICAgcHJvbWlzZXMucHVzaChcbiAgICAgIHByb21pc2Uoe1xuICAgICAgICBjb2xsZWN0aW9uLFxuICAgICAgICBjb250ZXh0LFxuICAgICAgICBkYXRhLFxuICAgICAgICBkb2MsXG4gICAgICAgIGZpZWxkLFxuICAgICAgICBnbG9iYWwsXG4gICAgICAgIG9wZXJhdGlvbixcbiAgICAgICAgcHJldmlvdXNEb2MsXG4gICAgICAgIHByZXZpb3VzU2libGluZ0RvYyxcbiAgICAgICAgcmVxLFxuICAgICAgICBzaWJsaW5nRGF0YSxcbiAgICAgICAgc2libGluZ0RvYyxcbiAgICAgIH0pLFxuICAgIClcbiAgfSlcblxuICBhd2FpdCBQcm9taXNlLmFsbChwcm9taXNlcylcbn1cbiJdLCJuYW1lcyI6WyJ0cmF2ZXJzZUZpZWxkcyIsImNvbGxlY3Rpb24iLCJjb250ZXh0IiwiZGF0YSIsImRvYyIsImZpZWxkcyIsImdsb2JhbCIsIm9wZXJhdGlvbiIsInByZXZpb3VzRG9jIiwicHJldmlvdXNTaWJsaW5nRG9jIiwicmVxIiwic2libGluZ0RhdGEiLCJzaWJsaW5nRG9jIiwicHJvbWlzZXMiLCJmb3JFYWNoIiwiZmllbGQiLCJwdXNoIiwicHJvbWlzZSIsIlByb21pc2UiLCJhbGwiXSwibWFwcGluZ3MiOiI7Ozs7K0JBc0JhQTs7O2VBQUFBOzs7eUJBakJXO0FBaUJqQixNQUFNQSxpQkFBaUIsT0FBTyxFQUNuQ0MsVUFBVSxFQUNWQyxPQUFPLEVBQ1BDLElBQUksRUFDSkMsR0FBRyxFQUNIQyxNQUFNLEVBQ05DLE1BQU0sRUFDTkMsU0FBUyxFQUNUQyxXQUFXLEVBQ1hDLGtCQUFrQixFQUNsQkMsR0FBRyxFQUNIQyxXQUFXLEVBQ1hDLFVBQVUsRUFDTDtJQUNMLE1BQU1DLFdBQVcsRUFBRTtJQUVuQlIsT0FBT1MsT0FBTyxDQUFDLENBQUNDO1FBQ2RGLFNBQVNHLElBQUksQ0FDWEMsSUFBQUEsZ0JBQU8sRUFBQztZQUNOaEI7WUFDQUM7WUFDQUM7WUFDQUM7WUFDQVc7WUFDQVQ7WUFDQUM7WUFDQUM7WUFDQUM7WUFDQUM7WUFDQUM7WUFDQUM7UUFDRjtJQUVKO0lBRUEsTUFBTU0sUUFBUUMsR0FBRyxDQUFDTjtBQUNwQiJ9
23
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uL3NyYy9maWVsZHMvaG9va3MvYWZ0ZXJDaGFuZ2UvdHJhdmVyc2VGaWVsZHMudHMiXSwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHR5cGUgeyBTYW5pdGl6ZWRDb2xsZWN0aW9uQ29uZmlnIH0gZnJvbSAnLi4vLi4vLi4vY29sbGVjdGlvbnMvY29uZmlnL3R5cGVzJ1xuaW1wb3J0IHR5cGUgeyBTYW5pdGl6ZWRHbG9iYWxDb25maWcgfSBmcm9tICcuLi8uLi8uLi9nbG9iYWxzL2NvbmZpZy90eXBlcydcbmltcG9ydCB0eXBlIHsgUGF5bG9hZFJlcXVlc3QsIFJlcXVlc3RDb250ZXh0IH0gZnJvbSAnLi4vLi4vLi4vdHlwZXMnXG5pbXBvcnQgdHlwZSB7IEZpZWxkLCBUYWJBc0ZpZWxkIH0gZnJvbSAnLi4vLi4vY29uZmlnL3R5cGVzJ1xuXG5pbXBvcnQgeyBwcm9taXNlIH0gZnJvbSAnLi9wcm9taXNlJ1xuXG50eXBlIEFyZ3MgPSB7XG4gIGNvbGxlY3Rpb246IFNhbml0aXplZENvbGxlY3Rpb25Db25maWcgfCBudWxsXG4gIGNvbnRleHQ6IFJlcXVlc3RDb250ZXh0XG4gIGRhdGE6IFJlY29yZDxzdHJpbmcsIHVua25vd24+XG4gIGRvYzogUmVjb3JkPHN0cmluZywgdW5rbm93bj5cbiAgZmllbGRzOiAoRmllbGQgfCBUYWJBc0ZpZWxkKVtdXG4gIGdsb2JhbDogU2FuaXRpemVkR2xvYmFsQ29uZmlnIHwgbnVsbFxuICBvcGVyYXRpb246ICdjcmVhdGUnIHwgJ3VwZGF0ZSdcbiAgcHJldmlvdXNEb2M6IFJlY29yZDxzdHJpbmcsIHVua25vd24+XG4gIHByZXZpb3VzU2libGluZ0RvYzogUmVjb3JkPHN0cmluZywgdW5rbm93bj5cbiAgcmVxOiBQYXlsb2FkUmVxdWVzdFxuICBzaWJsaW5nRGF0YTogUmVjb3JkPHN0cmluZywgdW5rbm93bj5cbiAgc2libGluZ0RvYzogUmVjb3JkPHN0cmluZywgdW5rbm93bj5cbn1cblxuZXhwb3J0IGNvbnN0IHRyYXZlcnNlRmllbGRzID0gYXN5bmMgKHtcbiAgY29sbGVjdGlvbixcbiAgY29udGV4dCxcbiAgZGF0YSxcbiAgZG9jLFxuICBmaWVsZHMsXG4gIGdsb2JhbCxcbiAgb3BlcmF0aW9uLFxuICBwcmV2aW91c0RvYyxcbiAgcHJldmlvdXNTaWJsaW5nRG9jLFxuICByZXEsXG4gIHNpYmxpbmdEYXRhLFxuICBzaWJsaW5nRG9jLFxufTogQXJncyk6IFByb21pc2U8dm9pZD4gPT4ge1xuICBjb25zdCBwcm9taXNlcyA9IFtdXG5cbiAgZmllbGRzLmZvckVhY2goKGZpZWxkKSA9PiB7XG4gICAgcHJvbWlzZXMucHVzaChcbiAgICAgIHByb21pc2Uoe1xuICAgICAgICBjb2xsZWN0aW9uLFxuICAgICAgICBjb250ZXh0LFxuICAgICAgICBkYXRhLFxuICAgICAgICBkb2MsXG4gICAgICAgIGZpZWxkLFxuICAgICAgICBnbG9iYWwsXG4gICAgICAgIG9wZXJhdGlvbixcbiAgICAgICAgcHJldmlvdXNEb2MsXG4gICAgICAgIHByZXZpb3VzU2libGluZ0RvYyxcbiAgICAgICAgcmVxLFxuICAgICAgICBzaWJsaW5nRGF0YSxcbiAgICAgICAgc2libGluZ0RvYyxcbiAgICAgIH0pLFxuICAgIClcbiAgfSlcblxuICBhd2FpdCBQcm9taXNlLmFsbChwcm9taXNlcylcbn1cbiJdLCJuYW1lcyI6WyJwcm9taXNlIiwidHJhdmVyc2VGaWVsZHMiLCJjb2xsZWN0aW9uIiwiY29udGV4dCIsImRhdGEiLCJkb2MiLCJmaWVsZHMiLCJnbG9iYWwiLCJvcGVyYXRpb24iLCJwcmV2aW91c0RvYyIsInByZXZpb3VzU2libGluZ0RvYyIsInJlcSIsInNpYmxpbmdEYXRhIiwic2libGluZ0RvYyIsInByb21pc2VzIiwiZm9yRWFjaCIsImZpZWxkIiwicHVzaCIsIlByb21pc2UiLCJhbGwiXSwibWFwcGluZ3MiOiJBQUtBLFNBQVNBLE9BQU8sUUFBUSxZQUFXO0FBaUJuQyxPQUFPLE1BQU1DLGlCQUFpQixPQUFPLEVBQ25DQyxVQUFVLEVBQ1ZDLE9BQU8sRUFDUEMsSUFBSSxFQUNKQyxHQUFHLEVBQ0hDLE1BQU0sRUFDTkMsTUFBTSxFQUNOQyxTQUFTLEVBQ1RDLFdBQVcsRUFDWEMsa0JBQWtCLEVBQ2xCQyxHQUFHLEVBQ0hDLFdBQVcsRUFDWEMsVUFBVSxFQUNMO0lBQ0wsTUFBTUMsV0FBVyxFQUFFO0lBRW5CUixPQUFPUyxPQUFPLENBQUMsQ0FBQ0M7UUFDZEYsU0FBU0csSUFBSSxDQUNYakIsUUFBUTtZQUNORTtZQUNBQztZQUNBQztZQUNBQztZQUNBVztZQUNBVDtZQUNBQztZQUNBQztZQUNBQztZQUNBQztZQUNBQztZQUNBQztRQUNGO0lBRUo7SUFFQSxNQUFNSyxRQUFRQyxHQUFHLENBQUNMO0FBQ3BCLEVBQUMifQ==
@@ -1,24 +1,14 @@
1
- "use strict";
2
- Object.defineProperty(exports, "__esModule", {
3
- value: true
4
- });
5
- Object.defineProperty(exports, "afterRead", {
6
- enumerable: true,
7
- get: function() {
8
- return afterRead;
9
- }
10
- });
11
- const _deepCopyObject = require("../../../utilities/deepCopyObject");
12
- const _traverseFields = require("./traverseFields");
13
- async function afterRead(args) {
1
+ import { deepCopyObject } from '../../../utilities/deepCopyObject';
2
+ import { traverseFields } from './traverseFields';
3
+ export async function afterRead(args) {
14
4
  const { collection, context, currentDepth: incomingCurrentDepth, depth: incomingDepth, doc: incomingDoc, fallbackLocale, findMany, flattenLocales = true, global, locale, overrideAccess, req, showHiddenFields } = args;
15
- const doc = (0, _deepCopyObject.deepCopyObject)(incomingDoc);
5
+ const doc = deepCopyObject(incomingDoc);
16
6
  const fieldPromises = [];
17
7
  const populationPromises = [];
18
8
  let depth = incomingDepth || incomingDepth === 0 ? parseInt(String(incomingDepth), 10) : req.payload.config.defaultDepth;
19
9
  if (depth > req.payload.config.maxDepth) depth = req.payload.config.maxDepth;
20
10
  const currentDepth = incomingCurrentDepth || 1;
21
- (0, _traverseFields.traverseFields)({
11
+ traverseFields({
22
12
  collection,
23
13
  context,
24
14
  currentDepth,
@@ -42,4 +32,4 @@ async function afterRead(args) {
42
32
  return doc;
43
33
  }
44
34
 
45
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uL3NyYy9maWVsZHMvaG9va3MvYWZ0ZXJSZWFkL2luZGV4LnRzIl0sInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB0eXBlIHsgU2FuaXRpemVkQ29sbGVjdGlvbkNvbmZpZyB9IGZyb20gJy4uLy4uLy4uL2NvbGxlY3Rpb25zL2NvbmZpZy90eXBlcydcbmltcG9ydCB0eXBlIHsgU2FuaXRpemVkR2xvYmFsQ29uZmlnIH0gZnJvbSAnLi4vLi4vLi4vZ2xvYmFscy9jb25maWcvdHlwZXMnXG5pbXBvcnQgdHlwZSB7IFBheWxvYWRSZXF1ZXN0LCBSZXF1ZXN0Q29udGV4dCB9IGZyb20gJy4uLy4uLy4uL3R5cGVzJ1xuXG5pbXBvcnQgeyBkZWVwQ29weU9iamVjdCB9IGZyb20gJy4uLy4uLy4uL3V0aWxpdGllcy9kZWVwQ29weU9iamVjdCdcbmltcG9ydCB7IHRyYXZlcnNlRmllbGRzIH0gZnJvbSAnLi90cmF2ZXJzZUZpZWxkcydcblxudHlwZSBBcmdzID0ge1xuICBjb2xsZWN0aW9uOiBTYW5pdGl6ZWRDb2xsZWN0aW9uQ29uZmlnIHwgbnVsbFxuICBjb250ZXh0OiBSZXF1ZXN0Q29udGV4dFxuICBjdXJyZW50RGVwdGg/OiBudW1iZXJcbiAgZGVwdGg6IG51bWJlclxuICBkb2M6IFJlY29yZDxzdHJpbmcsIHVua25vd24+XG4gIGZhbGxiYWNrTG9jYWxlOiBudWxsIHwgc3RyaW5nXG4gIGZpbmRNYW55PzogYm9vbGVhblxuICBmbGF0dGVuTG9jYWxlcz86IGJvb2xlYW5cbiAgZ2xvYmFsOiBTYW5pdGl6ZWRHbG9iYWxDb25maWcgfCBudWxsXG4gIGxvY2FsZTogc3RyaW5nXG4gIG92ZXJyaWRlQWNjZXNzOiBib29sZWFuXG4gIHJlcTogUGF5bG9hZFJlcXVlc3RcbiAgc2hvd0hpZGRlbkZpZWxkczogYm9vbGVhblxufVxuXG5leHBvcnQgYXN5bmMgZnVuY3Rpb24gYWZ0ZXJSZWFkPFQgPSBhbnk+KGFyZ3M6IEFyZ3MpOiBQcm9taXNlPFQ+IHtcbiAgY29uc3Qge1xuICAgIGNvbGxlY3Rpb24sXG4gICAgY29udGV4dCxcbiAgICBjdXJyZW50RGVwdGg6IGluY29taW5nQ3VycmVudERlcHRoLFxuICAgIGRlcHRoOiBpbmNvbWluZ0RlcHRoLFxuICAgIGRvYzogaW5jb21pbmdEb2MsXG4gICAgZmFsbGJhY2tMb2NhbGUsXG4gICAgZmluZE1hbnksXG4gICAgZmxhdHRlbkxvY2FsZXMgPSB0cnVlLFxuICAgIGdsb2JhbCxcbiAgICBsb2NhbGUsXG4gICAgb3ZlcnJpZGVBY2Nlc3MsXG4gICAgcmVxLFxuICAgIHNob3dIaWRkZW5GaWVsZHMsXG4gIH0gPSBhcmdzXG5cbiAgY29uc3QgZG9jID0gZGVlcENvcHlPYmplY3QoaW5jb21pbmdEb2MpXG4gIGNvbnN0IGZpZWxkUHJvbWlzZXMgPSBbXVxuICBjb25zdCBwb3B1bGF0aW9uUHJvbWlzZXMgPSBbXVxuXG4gIGxldCBkZXB0aCA9XG4gICAgaW5jb21pbmdEZXB0aCB8fCBpbmNvbWluZ0RlcHRoID09PSAwXG4gICAgICA/IHBhcnNlSW50KFN0cmluZyhpbmNvbWluZ0RlcHRoKSwgMTApXG4gICAgICA6IHJlcS5wYXlsb2FkLmNvbmZpZy5kZWZhdWx0RGVwdGhcbiAgaWYgKGRlcHRoID4gcmVxLnBheWxvYWQuY29uZmlnLm1heERlcHRoKSBkZXB0aCA9IHJlcS5wYXlsb2FkLmNvbmZpZy5tYXhEZXB0aFxuXG4gIGNvbnN0IGN1cnJlbnREZXB0aCA9IGluY29taW5nQ3VycmVudERlcHRoIHx8IDFcblxuICB0cmF2ZXJzZUZpZWxkcyh7XG4gICAgY29sbGVjdGlvbixcbiAgICBjb250ZXh0LFxuICAgIGN1cnJlbnREZXB0aCxcbiAgICBkZXB0aCxcbiAgICBkb2MsXG4gICAgZmFsbGJhY2tMb2NhbGUsXG4gICAgZmllbGRQcm9taXNlcyxcbiAgICBmaWVsZHM6IGNvbGxlY3Rpb24/LmZpZWxkcyB8fCBnbG9iYWw/LmZpZWxkcyxcbiAgICBmaW5kTWFueSxcbiAgICBmbGF0dGVuTG9jYWxlcyxcbiAgICBnbG9iYWwsXG4gICAgbG9jYWxlLFxuICAgIG92ZXJyaWRlQWNjZXNzLFxuICAgIHBvcHVsYXRpb25Qcm9taXNlcyxcbiAgICByZXEsXG4gICAgc2hvd0hpZGRlbkZpZWxkcyxcbiAgICBzaWJsaW5nRG9jOiBkb2MsXG4gIH0pXG5cbiAgYXdhaXQgUHJvbWlzZS5hbGwoZmllbGRQcm9taXNlcylcbiAgYXdhaXQgUHJvbWlzZS5hbGwocG9wdWxhdGlvblByb21pc2VzKVxuXG4gIHJldHVybiBkb2Ncbn1cbiJdLCJuYW1lcyI6WyJhZnRlclJlYWQiLCJhcmdzIiwiY29sbGVjdGlvbiIsImNvbnRleHQiLCJjdXJyZW50RGVwdGgiLCJpbmNvbWluZ0N1cnJlbnREZXB0aCIsImRlcHRoIiwiaW5jb21pbmdEZXB0aCIsImRvYyIsImluY29taW5nRG9jIiwiZmFsbGJhY2tMb2NhbGUiLCJmaW5kTWFueSIsImZsYXR0ZW5Mb2NhbGVzIiwiZ2xvYmFsIiwibG9jYWxlIiwib3ZlcnJpZGVBY2Nlc3MiLCJyZXEiLCJzaG93SGlkZGVuRmllbGRzIiwiZGVlcENvcHlPYmplY3QiLCJmaWVsZFByb21pc2VzIiwicG9wdWxhdGlvblByb21pc2VzIiwicGFyc2VJbnQiLCJTdHJpbmciLCJwYXlsb2FkIiwiY29uZmlnIiwiZGVmYXVsdERlcHRoIiwibWF4RGVwdGgiLCJ0cmF2ZXJzZUZpZWxkcyIsImZpZWxkcyIsInNpYmxpbmdEb2MiLCJQcm9taXNlIiwiYWxsIl0sIm1hcHBpbmdzIjoiOzs7OytCQXVCc0JBOzs7ZUFBQUE7OztnQ0FuQlM7Z0NBQ0E7QUFrQnhCLGVBQWVBLFVBQW1CQyxJQUFVO0lBQ2pELE1BQU0sRUFDSkMsVUFBVSxFQUNWQyxPQUFPLEVBQ1BDLGNBQWNDLG9CQUFvQixFQUNsQ0MsT0FBT0MsYUFBYSxFQUNwQkMsS0FBS0MsV0FBVyxFQUNoQkMsY0FBYyxFQUNkQyxRQUFRLEVBQ1JDLGlCQUFpQixJQUFJLEVBQ3JCQyxNQUFNLEVBQ05DLE1BQU0sRUFDTkMsY0FBYyxFQUNkQyxHQUFHLEVBQ0hDLGdCQUFnQixFQUNqQixHQUFHaEI7SUFFSixNQUFNTyxNQUFNVSxJQUFBQSw4QkFBYyxFQUFDVDtJQUMzQixNQUFNVSxnQkFBZ0IsRUFBRTtJQUN4QixNQUFNQyxxQkFBcUIsRUFBRTtJQUU3QixJQUFJZCxRQUNGQyxpQkFBaUJBLGtCQUFrQixJQUMvQmMsU0FBU0MsT0FBT2YsZ0JBQWdCLE1BQ2hDUyxJQUFJTyxPQUFPLENBQUNDLE1BQU0sQ0FBQ0MsWUFBWTtJQUNyQyxJQUFJbkIsUUFBUVUsSUFBSU8sT0FBTyxDQUFDQyxNQUFNLENBQUNFLFFBQVEsRUFBRXBCLFFBQVFVLElBQUlPLE9BQU8sQ0FBQ0MsTUFBTSxDQUFDRSxRQUFRO0lBRTVFLE1BQU10QixlQUFlQyx3QkFBd0I7SUFFN0NzQixJQUFBQSw4QkFBYyxFQUFDO1FBQ2J6QjtRQUNBQztRQUNBQztRQUNBRTtRQUNBRTtRQUNBRTtRQUNBUztRQUNBUyxRQUFRMUIsWUFBWTBCLFVBQVVmLFFBQVFlO1FBQ3RDakI7UUFDQUM7UUFDQUM7UUFDQUM7UUFDQUM7UUFDQUs7UUFDQUo7UUFDQUM7UUFDQVksWUFBWXJCO0lBQ2Q7SUFFQSxNQUFNc0IsUUFBUUMsR0FBRyxDQUFDWjtJQUNsQixNQUFNVyxRQUFRQyxHQUFHLENBQUNYO0lBRWxCLE9BQU9aO0FBQ1QifQ==
35
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uL3NyYy9maWVsZHMvaG9va3MvYWZ0ZXJSZWFkL2luZGV4LnRzIl0sInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB0eXBlIHsgU2FuaXRpemVkQ29sbGVjdGlvbkNvbmZpZyB9IGZyb20gJy4uLy4uLy4uL2NvbGxlY3Rpb25zL2NvbmZpZy90eXBlcydcbmltcG9ydCB0eXBlIHsgU2FuaXRpemVkR2xvYmFsQ29uZmlnIH0gZnJvbSAnLi4vLi4vLi4vZ2xvYmFscy9jb25maWcvdHlwZXMnXG5pbXBvcnQgdHlwZSB7IFBheWxvYWRSZXF1ZXN0LCBSZXF1ZXN0Q29udGV4dCB9IGZyb20gJy4uLy4uLy4uL3R5cGVzJ1xuXG5pbXBvcnQgeyBkZWVwQ29weU9iamVjdCB9IGZyb20gJy4uLy4uLy4uL3V0aWxpdGllcy9kZWVwQ29weU9iamVjdCdcbmltcG9ydCB7IHRyYXZlcnNlRmllbGRzIH0gZnJvbSAnLi90cmF2ZXJzZUZpZWxkcydcblxudHlwZSBBcmdzID0ge1xuICBjb2xsZWN0aW9uOiBTYW5pdGl6ZWRDb2xsZWN0aW9uQ29uZmlnIHwgbnVsbFxuICBjb250ZXh0OiBSZXF1ZXN0Q29udGV4dFxuICBjdXJyZW50RGVwdGg/OiBudW1iZXJcbiAgZGVwdGg6IG51bWJlclxuICBkb2M6IFJlY29yZDxzdHJpbmcsIHVua25vd24+XG4gIGZhbGxiYWNrTG9jYWxlOiBudWxsIHwgc3RyaW5nXG4gIGZpbmRNYW55PzogYm9vbGVhblxuICBmbGF0dGVuTG9jYWxlcz86IGJvb2xlYW5cbiAgZ2xvYmFsOiBTYW5pdGl6ZWRHbG9iYWxDb25maWcgfCBudWxsXG4gIGxvY2FsZTogc3RyaW5nXG4gIG92ZXJyaWRlQWNjZXNzOiBib29sZWFuXG4gIHJlcTogUGF5bG9hZFJlcXVlc3RcbiAgc2hvd0hpZGRlbkZpZWxkczogYm9vbGVhblxufVxuXG5leHBvcnQgYXN5bmMgZnVuY3Rpb24gYWZ0ZXJSZWFkPFQgPSBhbnk+KGFyZ3M6IEFyZ3MpOiBQcm9taXNlPFQ+IHtcbiAgY29uc3Qge1xuICAgIGNvbGxlY3Rpb24sXG4gICAgY29udGV4dCxcbiAgICBjdXJyZW50RGVwdGg6IGluY29taW5nQ3VycmVudERlcHRoLFxuICAgIGRlcHRoOiBpbmNvbWluZ0RlcHRoLFxuICAgIGRvYzogaW5jb21pbmdEb2MsXG4gICAgZmFsbGJhY2tMb2NhbGUsXG4gICAgZmluZE1hbnksXG4gICAgZmxhdHRlbkxvY2FsZXMgPSB0cnVlLFxuICAgIGdsb2JhbCxcbiAgICBsb2NhbGUsXG4gICAgb3ZlcnJpZGVBY2Nlc3MsXG4gICAgcmVxLFxuICAgIHNob3dIaWRkZW5GaWVsZHMsXG4gIH0gPSBhcmdzXG5cbiAgY29uc3QgZG9jID0gZGVlcENvcHlPYmplY3QoaW5jb21pbmdEb2MpXG4gIGNvbnN0IGZpZWxkUHJvbWlzZXMgPSBbXVxuICBjb25zdCBwb3B1bGF0aW9uUHJvbWlzZXMgPSBbXVxuXG4gIGxldCBkZXB0aCA9XG4gICAgaW5jb21pbmdEZXB0aCB8fCBpbmNvbWluZ0RlcHRoID09PSAwXG4gICAgICA/IHBhcnNlSW50KFN0cmluZyhpbmNvbWluZ0RlcHRoKSwgMTApXG4gICAgICA6IHJlcS5wYXlsb2FkLmNvbmZpZy5kZWZhdWx0RGVwdGhcbiAgaWYgKGRlcHRoID4gcmVxLnBheWxvYWQuY29uZmlnLm1heERlcHRoKSBkZXB0aCA9IHJlcS5wYXlsb2FkLmNvbmZpZy5tYXhEZXB0aFxuXG4gIGNvbnN0IGN1cnJlbnREZXB0aCA9IGluY29taW5nQ3VycmVudERlcHRoIHx8IDFcblxuICB0cmF2ZXJzZUZpZWxkcyh7XG4gICAgY29sbGVjdGlvbixcbiAgICBjb250ZXh0LFxuICAgIGN1cnJlbnREZXB0aCxcbiAgICBkZXB0aCxcbiAgICBkb2MsXG4gICAgZmFsbGJhY2tMb2NhbGUsXG4gICAgZmllbGRQcm9taXNlcyxcbiAgICBmaWVsZHM6IGNvbGxlY3Rpb24/LmZpZWxkcyB8fCBnbG9iYWw/LmZpZWxkcyxcbiAgICBmaW5kTWFueSxcbiAgICBmbGF0dGVuTG9jYWxlcyxcbiAgICBnbG9iYWwsXG4gICAgbG9jYWxlLFxuICAgIG92ZXJyaWRlQWNjZXNzLFxuICAgIHBvcHVsYXRpb25Qcm9taXNlcyxcbiAgICByZXEsXG4gICAgc2hvd0hpZGRlbkZpZWxkcyxcbiAgICBzaWJsaW5nRG9jOiBkb2MsXG4gIH0pXG5cbiAgYXdhaXQgUHJvbWlzZS5hbGwoZmllbGRQcm9taXNlcylcbiAgYXdhaXQgUHJvbWlzZS5hbGwocG9wdWxhdGlvblByb21pc2VzKVxuXG4gIHJldHVybiBkb2Ncbn1cbiJdLCJuYW1lcyI6WyJkZWVwQ29weU9iamVjdCIsInRyYXZlcnNlRmllbGRzIiwiYWZ0ZXJSZWFkIiwiYXJncyIsImNvbGxlY3Rpb24iLCJjb250ZXh0IiwiY3VycmVudERlcHRoIiwiaW5jb21pbmdDdXJyZW50RGVwdGgiLCJkZXB0aCIsImluY29taW5nRGVwdGgiLCJkb2MiLCJpbmNvbWluZ0RvYyIsImZhbGxiYWNrTG9jYWxlIiwiZmluZE1hbnkiLCJmbGF0dGVuTG9jYWxlcyIsImdsb2JhbCIsImxvY2FsZSIsIm92ZXJyaWRlQWNjZXNzIiwicmVxIiwic2hvd0hpZGRlbkZpZWxkcyIsImZpZWxkUHJvbWlzZXMiLCJwb3B1bGF0aW9uUHJvbWlzZXMiLCJwYXJzZUludCIsIlN0cmluZyIsInBheWxvYWQiLCJjb25maWciLCJkZWZhdWx0RGVwdGgiLCJtYXhEZXB0aCIsImZpZWxkcyIsInNpYmxpbmdEb2MiLCJQcm9taXNlIiwiYWxsIl0sIm1hcHBpbmdzIjoiQUFJQSxTQUFTQSxjQUFjLFFBQVEsb0NBQW1DO0FBQ2xFLFNBQVNDLGNBQWMsUUFBUSxtQkFBa0I7QUFrQmpELE9BQU8sZUFBZUMsVUFBbUJDLElBQVU7SUFDakQsTUFBTSxFQUNKQyxVQUFVLEVBQ1ZDLE9BQU8sRUFDUEMsY0FBY0Msb0JBQW9CLEVBQ2xDQyxPQUFPQyxhQUFhLEVBQ3BCQyxLQUFLQyxXQUFXLEVBQ2hCQyxjQUFjLEVBQ2RDLFFBQVEsRUFDUkMsaUJBQWlCLElBQUksRUFDckJDLE1BQU0sRUFDTkMsTUFBTSxFQUNOQyxjQUFjLEVBQ2RDLEdBQUcsRUFDSEMsZ0JBQWdCLEVBQ2pCLEdBQUdoQjtJQUVKLE1BQU1PLE1BQU1WLGVBQWVXO0lBQzNCLE1BQU1TLGdCQUFnQixFQUFFO0lBQ3hCLE1BQU1DLHFCQUFxQixFQUFFO0lBRTdCLElBQUliLFFBQ0ZDLGlCQUFpQkEsa0JBQWtCLElBQy9CYSxTQUFTQyxPQUFPZCxnQkFBZ0IsTUFDaENTLElBQUlNLE9BQU8sQ0FBQ0MsTUFBTSxDQUFDQyxZQUFZO0lBQ3JDLElBQUlsQixRQUFRVSxJQUFJTSxPQUFPLENBQUNDLE1BQU0sQ0FBQ0UsUUFBUSxFQUFFbkIsUUFBUVUsSUFBSU0sT0FBTyxDQUFDQyxNQUFNLENBQUNFLFFBQVE7SUFFNUUsTUFBTXJCLGVBQWVDLHdCQUF3QjtJQUU3Q04sZUFBZTtRQUNiRztRQUNBQztRQUNBQztRQUNBRTtRQUNBRTtRQUNBRTtRQUNBUTtRQUNBUSxRQUFReEIsWUFBWXdCLFVBQVViLFFBQVFhO1FBQ3RDZjtRQUNBQztRQUNBQztRQUNBQztRQUNBQztRQUNBSTtRQUNBSDtRQUNBQztRQUNBVSxZQUFZbkI7SUFDZDtJQUVBLE1BQU1vQixRQUFRQyxHQUFHLENBQUNYO0lBQ2xCLE1BQU1VLFFBQVFDLEdBQUcsQ0FBQ1Y7SUFFbEIsT0FBT1g7QUFDVCJ9