payload 3.0.0-alpha.21 → 3.0.0-alpha.23

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 (706) hide show
  1. package/auth.d.ts +5 -5
  2. package/auth.js +5 -5
  3. package/config.d.ts +10 -10
  4. package/config.js +10 -10
  5. package/database.d.ts +22 -22
  6. package/database.js +21 -21
  7. package/dist/admin/RichText.d.ts +4 -4
  8. package/dist/admin/RichText.d.ts.map +1 -1
  9. package/dist/admin/RichText.js +1 -1
  10. package/dist/admin/elements/Cell.d.ts +2 -2
  11. package/dist/admin/elements/Cell.d.ts.map +1 -1
  12. package/dist/admin/elements/Cell.js +1 -1
  13. package/dist/admin/elements/Tab.d.ts +3 -3
  14. package/dist/admin/elements/Tab.d.ts.map +1 -1
  15. package/dist/admin/elements/Tab.js +1 -1
  16. package/dist/admin/forms/Form.d.ts +1 -1
  17. package/dist/admin/forms/Form.d.ts.map +1 -1
  18. package/dist/admin/forms/Form.js +1 -1
  19. package/dist/admin/forms/RowLabel.d.ts +1 -1
  20. package/dist/admin/forms/RowLabel.d.ts.map +1 -1
  21. package/dist/admin/forms/RowLabel.js +1 -1
  22. package/dist/admin/types.d.ts +19 -19
  23. package/dist/admin/types.d.ts.map +1 -1
  24. package/dist/admin/types.js +1 -1
  25. package/dist/admin/views/types.d.ts +4 -4
  26. package/dist/admin/views/types.d.ts.map +1 -1
  27. package/dist/admin/views/types.js +1 -1
  28. package/dist/auth/baseFields/accountLock.d.ts +1 -1
  29. package/dist/auth/baseFields/accountLock.d.ts.map +1 -1
  30. package/dist/auth/baseFields/accountLock.js +5 -5
  31. package/dist/auth/baseFields/apiKey.d.ts +1 -1
  32. package/dist/auth/baseFields/apiKey.d.ts.map +1 -1
  33. package/dist/auth/baseFields/apiKey.js +2 -2
  34. package/dist/auth/baseFields/auth.d.ts +1 -1
  35. package/dist/auth/baseFields/auth.d.ts.map +1 -1
  36. package/dist/auth/baseFields/auth.js +3 -3
  37. package/dist/auth/baseFields/verification.d.ts +1 -1
  38. package/dist/auth/baseFields/verification.d.ts.map +1 -1
  39. package/dist/auth/baseFields/verification.js +6 -6
  40. package/dist/auth/cookies.d.ts +2 -2
  41. package/dist/auth/cookies.d.ts.map +1 -1
  42. package/dist/auth/cookies.js +1 -1
  43. package/dist/auth/defaultAccess.d.ts +1 -1
  44. package/dist/auth/defaultAccess.d.ts.map +1 -1
  45. package/dist/auth/defaultAccess.js +1 -1
  46. package/dist/auth/defaultUser.d.ts +1 -1
  47. package/dist/auth/defaultUser.d.ts.map +1 -1
  48. package/dist/auth/defaultUser.js +4 -4
  49. package/dist/auth/executeAccess.d.ts +2 -2
  50. package/dist/auth/executeAccess.d.ts.map +1 -1
  51. package/dist/auth/executeAccess.js +2 -2
  52. package/dist/auth/extractJWT.d.ts +1 -1
  53. package/dist/auth/extractJWT.d.ts.map +1 -1
  54. package/dist/auth/extractJWT.js +2 -2
  55. package/dist/auth/getAccessResults.d.ts +2 -2
  56. package/dist/auth/getAccessResults.d.ts.map +1 -1
  57. package/dist/auth/getAccessResults.js +6 -6
  58. package/dist/auth/getAuthenticatedUser.d.ts +1 -1
  59. package/dist/auth/getAuthenticatedUser.d.ts.map +1 -1
  60. package/dist/auth/getAuthenticatedUser.js +1 -1
  61. package/dist/auth/getFieldsToSign.d.ts +2 -2
  62. package/dist/auth/getFieldsToSign.d.ts.map +1 -1
  63. package/dist/auth/getFieldsToSign.js +2 -2
  64. package/dist/auth/index.d.ts +3 -3
  65. package/dist/auth/index.d.ts.map +1 -1
  66. package/dist/auth/index.js +4 -4
  67. package/dist/auth/operations/access.d.ts +2 -2
  68. package/dist/auth/operations/access.d.ts.map +1 -1
  69. package/dist/auth/operations/access.js +6 -6
  70. package/dist/auth/operations/forgotPassword.d.ts +2 -2
  71. package/dist/auth/operations/forgotPassword.d.ts.map +1 -1
  72. package/dist/auth/operations/forgotPassword.js +6 -6
  73. package/dist/auth/operations/init.d.ts +1 -1
  74. package/dist/auth/operations/init.d.ts.map +1 -1
  75. package/dist/auth/operations/init.js +1 -1
  76. package/dist/auth/operations/local/forgotPassword.d.ts +3 -3
  77. package/dist/auth/operations/local/forgotPassword.d.ts.map +1 -1
  78. package/dist/auth/operations/local/forgotPassword.js +4 -4
  79. package/dist/auth/operations/local/index.d.ts +5 -5
  80. package/dist/auth/operations/local/index.d.ts.map +1 -1
  81. package/dist/auth/operations/local/index.js +6 -6
  82. package/dist/auth/operations/local/login.d.ts +4 -4
  83. package/dist/auth/operations/local/login.d.ts.map +1 -1
  84. package/dist/auth/operations/local/login.js +4 -4
  85. package/dist/auth/operations/local/resetPassword.d.ts +4 -4
  86. package/dist/auth/operations/local/resetPassword.d.ts.map +1 -1
  87. package/dist/auth/operations/local/resetPassword.js +4 -4
  88. package/dist/auth/operations/local/unlock.d.ts +3 -3
  89. package/dist/auth/operations/local/unlock.d.ts.map +1 -1
  90. package/dist/auth/operations/local/unlock.js +4 -4
  91. package/dist/auth/operations/local/verifyEmail.d.ts +3 -3
  92. package/dist/auth/operations/local/verifyEmail.d.ts.map +1 -1
  93. package/dist/auth/operations/local/verifyEmail.js +4 -4
  94. package/dist/auth/operations/login.d.ts +7 -7
  95. package/dist/auth/operations/login.d.ts.map +1 -1
  96. package/dist/auth/operations/login.js +13 -13
  97. package/dist/auth/operations/logout.d.ts +2 -2
  98. package/dist/auth/operations/logout.d.ts.map +1 -1
  99. package/dist/auth/operations/logout.js +2 -2
  100. package/dist/auth/operations/me.d.ts +3 -3
  101. package/dist/auth/operations/me.d.ts.map +1 -1
  102. package/dist/auth/operations/me.js +1 -1
  103. package/dist/auth/operations/refresh.d.ts +3 -3
  104. package/dist/auth/operations/refresh.d.ts.map +1 -1
  105. package/dist/auth/operations/refresh.js +7 -7
  106. package/dist/auth/operations/registerFirstUser.d.ts +9 -9
  107. package/dist/auth/operations/registerFirstUser.d.ts.map +1 -1
  108. package/dist/auth/operations/registerFirstUser.js +6 -6
  109. package/dist/auth/operations/resetPassword.d.ts +2 -2
  110. package/dist/auth/operations/resetPassword.d.ts.map +1 -1
  111. package/dist/auth/operations/resetPassword.js +8 -8
  112. package/dist/auth/operations/unlock.d.ts +2 -2
  113. package/dist/auth/operations/unlock.d.ts.map +1 -1
  114. package/dist/auth/operations/unlock.js +7 -7
  115. package/dist/auth/operations/verifyEmail.d.ts +2 -2
  116. package/dist/auth/operations/verifyEmail.d.ts.map +1 -1
  117. package/dist/auth/operations/verifyEmail.js +5 -5
  118. package/dist/auth/sendVerificationEmail.d.ts +5 -5
  119. package/dist/auth/sendVerificationEmail.d.ts.map +1 -1
  120. package/dist/auth/sendVerificationEmail.js +1 -1
  121. package/dist/auth/strategies/apiKey.d.ts +2 -2
  122. package/dist/auth/strategies/apiKey.d.ts.map +1 -1
  123. package/dist/auth/strategies/apiKey.js +1 -1
  124. package/dist/auth/strategies/jwt.d.ts +1 -1
  125. package/dist/auth/strategies/jwt.d.ts.map +1 -1
  126. package/dist/auth/strategies/jwt.js +2 -2
  127. package/dist/auth/strategies/local/authenticate.d.ts +1 -1
  128. package/dist/auth/strategies/local/authenticate.d.ts.map +1 -1
  129. package/dist/auth/strategies/local/authenticate.js +1 -1
  130. package/dist/auth/strategies/local/generatePasswordSaltHash.js +2 -2
  131. package/dist/auth/strategies/local/incrementLoginAttempts.d.ts +3 -3
  132. package/dist/auth/strategies/local/incrementLoginAttempts.d.ts.map +1 -1
  133. package/dist/auth/strategies/local/incrementLoginAttempts.js +1 -1
  134. package/dist/auth/strategies/local/register.d.ts +3 -3
  135. package/dist/auth/strategies/local/register.d.ts.map +1 -1
  136. package/dist/auth/strategies/local/register.js +3 -3
  137. package/dist/auth/strategies/local/resetLoginAttempts.d.ts +3 -3
  138. package/dist/auth/strategies/local/resetLoginAttempts.d.ts.map +1 -1
  139. package/dist/auth/strategies/local/resetLoginAttempts.js +1 -1
  140. package/dist/auth/types.d.ts +2 -2
  141. package/dist/auth/types.d.ts.map +1 -1
  142. package/dist/auth/types.js +1 -1
  143. package/dist/bin/generateTypes.d.ts +1 -1
  144. package/dist/bin/generateTypes.d.ts.map +1 -1
  145. package/dist/bin/generateTypes.js +4 -4
  146. package/dist/bin/index.js +5 -5
  147. package/dist/bin/migrate.js +4 -4
  148. package/dist/collections/config/build.d.ts +1 -1
  149. package/dist/collections/config/build.d.ts.map +1 -1
  150. package/dist/collections/config/build.js +1 -1
  151. package/dist/collections/config/defaults.d.ts +5 -5
  152. package/dist/collections/config/defaults.js +2 -2
  153. package/dist/collections/config/sanitize.d.ts +2 -2
  154. package/dist/collections/config/sanitize.d.ts.map +1 -1
  155. package/dist/collections/config/sanitize.js +14 -14
  156. package/dist/collections/config/schema.js +3 -3
  157. package/dist/collections/config/types.d.ts +9 -9
  158. package/dist/collections/config/types.d.ts.map +1 -1
  159. package/dist/collections/config/types.js +1 -1
  160. package/dist/collections/dataloader.d.ts +2 -2
  161. package/dist/collections/dataloader.d.ts.map +1 -1
  162. package/dist/collections/dataloader.js +4 -4
  163. package/dist/collections/operations/create.d.ts +9 -9
  164. package/dist/collections/operations/create.d.ts.map +1 -1
  165. package/dist/collections/operations/create.js +18 -18
  166. package/dist/collections/operations/delete.d.ts +9 -10
  167. package/dist/collections/operations/delete.d.ts.map +1 -1
  168. package/dist/collections/operations/delete.js +13 -13
  169. package/dist/collections/operations/deleteByID.d.ts +2 -3
  170. package/dist/collections/operations/deleteByID.d.ts.map +1 -1
  171. package/dist/collections/operations/deleteByID.js +13 -13
  172. package/dist/collections/operations/docAccess.d.ts +3 -3
  173. package/dist/collections/operations/docAccess.d.ts.map +1 -1
  174. package/dist/collections/operations/docAccess.js +7 -7
  175. package/dist/collections/operations/find.d.ts +3 -4
  176. package/dist/collections/operations/find.d.ts.map +1 -1
  177. package/dist/collections/operations/find.js +12 -12
  178. package/dist/collections/operations/findByID.d.ts +2 -2
  179. package/dist/collections/operations/findByID.d.ts.map +1 -1
  180. package/dist/collections/operations/findByID.js +10 -10
  181. package/dist/collections/operations/findVersionByID.d.ts +3 -3
  182. package/dist/collections/operations/findVersionByID.d.ts.map +1 -1
  183. package/dist/collections/operations/findVersionByID.js +8 -8
  184. package/dist/collections/operations/findVersions.d.ts +4 -5
  185. package/dist/collections/operations/findVersions.d.ts.map +1 -1
  186. package/dist/collections/operations/findVersions.js +10 -10
  187. package/dist/collections/operations/local/create.d.ts +4 -5
  188. package/dist/collections/operations/local/create.d.ts.map +1 -1
  189. package/dist/collections/operations/local/create.js +5 -5
  190. package/dist/collections/operations/local/delete.d.ts +5 -5
  191. package/dist/collections/operations/local/delete.d.ts.map +1 -1
  192. package/dist/collections/operations/local/delete.js +5 -5
  193. package/dist/collections/operations/local/find.d.ts +3 -4
  194. package/dist/collections/operations/local/find.d.ts.map +1 -1
  195. package/dist/collections/operations/local/find.js +4 -4
  196. package/dist/collections/operations/local/findByID.d.ts +2 -4
  197. package/dist/collections/operations/local/findByID.d.ts.map +1 -1
  198. package/dist/collections/operations/local/findByID.js +4 -4
  199. package/dist/collections/operations/local/findVersionByID.d.ts +3 -4
  200. package/dist/collections/operations/local/findVersionByID.d.ts.map +1 -1
  201. package/dist/collections/operations/local/findVersionByID.js +4 -4
  202. package/dist/collections/operations/local/findVersions.d.ts +4 -5
  203. package/dist/collections/operations/local/findVersions.d.ts.map +1 -1
  204. package/dist/collections/operations/local/findVersions.js +4 -4
  205. package/dist/collections/operations/local/index.d.ts +13 -13
  206. package/dist/collections/operations/local/index.d.ts.map +1 -1
  207. package/dist/collections/operations/local/index.js +10 -10
  208. package/dist/collections/operations/local/restoreVersion.d.ts +2 -3
  209. package/dist/collections/operations/local/restoreVersion.d.ts.map +1 -1
  210. package/dist/collections/operations/local/restoreVersion.js +4 -4
  211. package/dist/collections/operations/local/update.d.ts +4 -5
  212. package/dist/collections/operations/local/update.d.ts.map +1 -1
  213. package/dist/collections/operations/local/update.js +6 -6
  214. package/dist/collections/operations/restoreVersion.d.ts +2 -2
  215. package/dist/collections/operations/restoreVersion.d.ts.map +1 -1
  216. package/dist/collections/operations/restoreVersion.js +11 -11
  217. package/dist/collections/operations/update.d.ts +7 -8
  218. package/dist/collections/operations/update.d.ts.map +1 -1
  219. package/dist/collections/operations/update.js +20 -20
  220. package/dist/collections/operations/updateByID.d.ts +9 -9
  221. package/dist/collections/operations/updateByID.d.ts.map +1 -1
  222. package/dist/collections/operations/updateByID.js +20 -20
  223. package/dist/collections/operations/utils.d.ts +12 -12
  224. package/dist/collections/operations/utils.d.ts.map +1 -1
  225. package/dist/collections/operations/utils.js +1 -1
  226. package/dist/config/build.d.ts +1 -1
  227. package/dist/config/build.d.ts.map +1 -1
  228. package/dist/config/build.js +2 -2
  229. package/dist/config/createClientConfig.d.ts +2 -2
  230. package/dist/config/createClientConfig.d.ts.map +1 -1
  231. package/dist/config/createClientConfig.js +1 -1
  232. package/dist/config/defaults.d.ts +1 -1
  233. package/dist/config/defaults.d.ts.map +1 -1
  234. package/dist/config/defaults.js +1 -1
  235. package/dist/config/load.d.ts +1 -1
  236. package/dist/config/load.d.ts.map +1 -1
  237. package/dist/config/load.js +3 -3
  238. package/dist/config/sanitize.d.ts +1 -1
  239. package/dist/config/sanitize.d.ts.map +1 -1
  240. package/dist/config/sanitize.js +9 -9
  241. package/dist/config/schema.js +3 -3
  242. package/dist/config/shared/adminViewSchema.js +2 -2
  243. package/dist/config/types.d.ts +11 -11
  244. package/dist/config/types.d.ts.map +1 -1
  245. package/dist/config/types.js +1 -1
  246. package/dist/config/validate.d.ts +1 -1
  247. package/dist/config/validate.d.ts.map +1 -1
  248. package/dist/config/validate.js +6 -6
  249. package/dist/database/combineQueries.d.ts +1 -1
  250. package/dist/database/combineQueries.d.ts.map +1 -1
  251. package/dist/database/combineQueries.js +2 -2
  252. package/dist/database/createDatabaseAdapter.d.ts +1 -1
  253. package/dist/database/createDatabaseAdapter.d.ts.map +1 -1
  254. package/dist/database/createDatabaseAdapter.js +7 -7
  255. package/dist/database/flattenWhereToOperators.d.ts +1 -1
  256. package/dist/database/flattenWhereToOperators.d.ts.map +1 -1
  257. package/dist/database/flattenWhereToOperators.js +1 -1
  258. package/dist/database/getLocalizedPaths.d.ts +3 -3
  259. package/dist/database/getLocalizedPaths.d.ts.map +1 -1
  260. package/dist/database/getLocalizedPaths.js +3 -3
  261. package/dist/database/migrations/createMigration.d.ts +1 -1
  262. package/dist/database/migrations/createMigration.d.ts.map +1 -1
  263. package/dist/database/migrations/createMigration.js +2 -2
  264. package/dist/database/migrations/getMigrations.d.ts +2 -2
  265. package/dist/database/migrations/getMigrations.d.ts.map +1 -1
  266. package/dist/database/migrations/getMigrations.js +1 -1
  267. package/dist/database/migrations/migrate.d.ts +1 -1
  268. package/dist/database/migrations/migrate.d.ts.map +1 -1
  269. package/dist/database/migrations/migrate.js +6 -6
  270. package/dist/database/migrations/migrateDown.d.ts +1 -1
  271. package/dist/database/migrations/migrateDown.d.ts.map +1 -1
  272. package/dist/database/migrations/migrateDown.js +6 -6
  273. package/dist/database/migrations/migrateRefresh.d.ts +1 -1
  274. package/dist/database/migrations/migrateRefresh.d.ts.map +1 -1
  275. package/dist/database/migrations/migrateRefresh.js +6 -6
  276. package/dist/database/migrations/migrateReset.d.ts +1 -1
  277. package/dist/database/migrations/migrateReset.d.ts.map +1 -1
  278. package/dist/database/migrations/migrateReset.js +6 -6
  279. package/dist/database/migrations/migrateStatus.d.ts +1 -1
  280. package/dist/database/migrations/migrateStatus.d.ts.map +1 -1
  281. package/dist/database/migrations/migrateStatus.js +3 -3
  282. package/dist/database/migrations/migrationsCollection.d.ts +1 -1
  283. package/dist/database/migrations/migrationsCollection.d.ts.map +1 -1
  284. package/dist/database/migrations/migrationsCollection.js +1 -1
  285. package/dist/database/migrations/readMigrationFiles.d.ts +2 -2
  286. package/dist/database/migrations/readMigrationFiles.d.ts.map +1 -1
  287. package/dist/database/migrations/readMigrationFiles.js +1 -1
  288. package/dist/database/queryValidation/types.d.ts +2 -2
  289. package/dist/database/queryValidation/types.d.ts.map +1 -1
  290. package/dist/database/queryValidation/types.js +1 -1
  291. package/dist/database/queryValidation/validateQueryPaths.d.ts +5 -5
  292. package/dist/database/queryValidation/validateQueryPaths.d.ts.map +1 -1
  293. package/dist/database/queryValidation/validateQueryPaths.js +6 -6
  294. package/dist/database/queryValidation/validateSearchParams.d.ts +5 -5
  295. package/dist/database/queryValidation/validateSearchParams.d.ts.map +1 -1
  296. package/dist/database/queryValidation/validateSearchParams.js +9 -9
  297. package/dist/database/types.d.ts +4 -5
  298. package/dist/database/types.d.ts.map +1 -1
  299. package/dist/database/types.js +1 -1
  300. package/dist/email/build.d.ts +2 -2
  301. package/dist/email/build.d.ts.map +1 -1
  302. package/dist/email/build.js +4 -4
  303. package/dist/email/defaults.d.ts +1 -1
  304. package/dist/email/defaults.d.ts.map +1 -1
  305. package/dist/email/defaults.js +1 -1
  306. package/dist/email/mockHandler.d.ts +2 -2
  307. package/dist/email/mockHandler.d.ts.map +1 -1
  308. package/dist/email/mockHandler.js +2 -2
  309. package/dist/errors/AuthenticationError.d.ts +1 -1
  310. package/dist/errors/AuthenticationError.d.ts.map +1 -1
  311. package/dist/errors/AuthenticationError.js +2 -2
  312. package/dist/errors/DuplicateCollection.d.ts +1 -1
  313. package/dist/errors/DuplicateCollection.d.ts.map +1 -1
  314. package/dist/errors/DuplicateCollection.js +2 -2
  315. package/dist/errors/DuplicateFieldName.d.ts +1 -1
  316. package/dist/errors/DuplicateFieldName.d.ts.map +1 -1
  317. package/dist/errors/DuplicateFieldName.js +2 -2
  318. package/dist/errors/DuplicateGlobal.d.ts +2 -2
  319. package/dist/errors/DuplicateGlobal.d.ts.map +1 -1
  320. package/dist/errors/DuplicateGlobal.js +2 -2
  321. package/dist/errors/ErrorDeletingFile.d.ts +1 -1
  322. package/dist/errors/ErrorDeletingFile.d.ts.map +1 -1
  323. package/dist/errors/ErrorDeletingFile.js +2 -2
  324. package/dist/errors/FileUploadError.d.ts +1 -1
  325. package/dist/errors/FileUploadError.d.ts.map +1 -1
  326. package/dist/errors/FileUploadError.js +2 -2
  327. package/dist/errors/Forbidden.d.ts +1 -1
  328. package/dist/errors/Forbidden.d.ts.map +1 -1
  329. package/dist/errors/Forbidden.js +2 -2
  330. package/dist/errors/InvalidConfiguration.d.ts +1 -1
  331. package/dist/errors/InvalidConfiguration.d.ts.map +1 -1
  332. package/dist/errors/InvalidConfiguration.js +2 -2
  333. package/dist/errors/InvalidFieldName.d.ts +2 -2
  334. package/dist/errors/InvalidFieldName.d.ts.map +1 -1
  335. package/dist/errors/InvalidFieldName.js +2 -2
  336. package/dist/errors/InvalidFieldRelationship.d.ts +2 -2
  337. package/dist/errors/InvalidFieldRelationship.d.ts.map +1 -1
  338. package/dist/errors/InvalidFieldRelationship.js +2 -2
  339. package/dist/errors/InvalidSchema.d.ts +1 -1
  340. package/dist/errors/InvalidSchema.d.ts.map +1 -1
  341. package/dist/errors/InvalidSchema.js +2 -2
  342. package/dist/errors/LockedAuth.d.ts +1 -1
  343. package/dist/errors/LockedAuth.d.ts.map +1 -1
  344. package/dist/errors/LockedAuth.js +2 -2
  345. package/dist/errors/MissingCollectionLabel.d.ts +1 -1
  346. package/dist/errors/MissingCollectionLabel.d.ts.map +1 -1
  347. package/dist/errors/MissingCollectionLabel.js +2 -2
  348. package/dist/errors/MissingFieldInputOptions.d.ts +2 -2
  349. package/dist/errors/MissingFieldInputOptions.d.ts.map +1 -1
  350. package/dist/errors/MissingFieldInputOptions.js +2 -2
  351. package/dist/errors/MissingFieldType.d.ts +2 -2
  352. package/dist/errors/MissingFieldType.d.ts.map +1 -1
  353. package/dist/errors/MissingFieldType.js +3 -3
  354. package/dist/errors/MissingFile.d.ts +1 -1
  355. package/dist/errors/MissingFile.d.ts.map +1 -1
  356. package/dist/errors/MissingFile.js +2 -2
  357. package/dist/errors/NotFound.d.ts +1 -1
  358. package/dist/errors/NotFound.d.ts.map +1 -1
  359. package/dist/errors/NotFound.js +2 -2
  360. package/dist/errors/QueryError.d.ts +1 -1
  361. package/dist/errors/QueryError.d.ts.map +1 -1
  362. package/dist/errors/QueryError.js +2 -2
  363. package/dist/errors/TimestampsRequired.d.ts +2 -2
  364. package/dist/errors/TimestampsRequired.d.ts.map +1 -1
  365. package/dist/errors/TimestampsRequired.js +2 -2
  366. package/dist/errors/UnathorizedError.d.ts +1 -1
  367. package/dist/errors/UnathorizedError.d.ts.map +1 -1
  368. package/dist/errors/UnathorizedError.js +2 -2
  369. package/dist/errors/ValidationError.d.ts +1 -1
  370. package/dist/errors/ValidationError.d.ts.map +1 -1
  371. package/dist/errors/ValidationError.js +2 -2
  372. package/dist/errors/index.d.ts +19 -19
  373. package/dist/errors/index.d.ts.map +1 -1
  374. package/dist/errors/index.js +20 -20
  375. package/dist/errors/types.d.ts +1 -1
  376. package/dist/errors/types.d.ts.map +1 -1
  377. package/dist/errors/types.js +2 -2
  378. package/dist/exports/auth.d.ts +5 -5
  379. package/dist/exports/auth.d.ts.map +1 -1
  380. package/dist/exports/auth.js +5 -5
  381. package/dist/exports/components/utilities.d.ts +1 -0
  382. package/dist/exports/config.d.ts +10 -10
  383. package/dist/exports/config.d.ts.map +1 -1
  384. package/dist/exports/config.js +10 -10
  385. package/dist/exports/database.d.ts +22 -22
  386. package/dist/exports/database.d.ts.map +1 -1
  387. package/dist/exports/database.js +21 -21
  388. package/dist/exports/errors.d.ts +1 -1
  389. package/dist/exports/errors.d.ts.map +1 -1
  390. package/dist/exports/errors.js +2 -2
  391. package/dist/exports/fields/index.d.ts +2 -2
  392. package/dist/exports/fields/index.d.ts.map +1 -1
  393. package/dist/exports/fields/index.js +3 -3
  394. package/dist/exports/fields/validations.d.ts +1 -1
  395. package/dist/exports/fields/validations.d.ts.map +1 -1
  396. package/dist/exports/fields/validations.js +2 -2
  397. package/dist/exports/operations.d.ts +28 -28
  398. package/dist/exports/operations.d.ts.map +1 -1
  399. package/dist/exports/operations.js +29 -29
  400. package/dist/exports/types.d.ts +11 -11
  401. package/dist/exports/types.d.ts.map +1 -1
  402. package/dist/exports/types.js +4 -4
  403. package/dist/exports/utilities.d.ts +27 -27
  404. package/dist/exports/utilities.d.ts.map +1 -1
  405. package/dist/exports/utilities.js +28 -28
  406. package/dist/exports/versions.d.ts +9 -9
  407. package/dist/exports/versions.d.ts.map +1 -1
  408. package/dist/exports/versions.js +9 -9
  409. package/dist/fields/baseFields/baseBlockFields.d.ts +1 -1
  410. package/dist/fields/baseFields/baseBlockFields.d.ts.map +1 -1
  411. package/dist/fields/baseFields/baseBlockFields.js +4 -4
  412. package/dist/fields/baseFields/baseIDField.d.ts +1 -1
  413. package/dist/fields/baseFields/baseIDField.d.ts.map +1 -1
  414. package/dist/fields/baseFields/baseIDField.js +4 -4
  415. package/dist/fields/config/sanitize.d.ts +2 -2
  416. package/dist/fields/config/sanitize.d.ts.map +1 -1
  417. package/dist/fields/config/sanitize.js +11 -11
  418. package/dist/fields/config/sanitize.spec.js +1 -1
  419. package/dist/fields/config/schema.js +49 -49
  420. package/dist/fields/config/types.d.ts +5 -6
  421. package/dist/fields/config/types.d.ts.map +1 -1
  422. package/dist/fields/config/types.js +1 -1
  423. package/dist/fields/getDefaultValue.d.ts +1 -1
  424. package/dist/fields/getDefaultValue.d.ts.map +1 -1
  425. package/dist/fields/getDefaultValue.js +1 -1
  426. package/dist/fields/hooks/afterChange/index.d.ts +3 -3
  427. package/dist/fields/hooks/afterChange/index.d.ts.map +1 -1
  428. package/dist/fields/hooks/afterChange/index.js +3 -3
  429. package/dist/fields/hooks/afterChange/promise.d.ts +4 -4
  430. package/dist/fields/hooks/afterChange/promise.d.ts.map +1 -1
  431. package/dist/fields/hooks/afterChange/promise.js +3 -3
  432. package/dist/fields/hooks/afterChange/traverseFields.d.ts +4 -4
  433. package/dist/fields/hooks/afterChange/traverseFields.d.ts.map +1 -1
  434. package/dist/fields/hooks/afterChange/traverseFields.js +2 -2
  435. package/dist/fields/hooks/afterRead/index.d.ts +3 -3
  436. package/dist/fields/hooks/afterRead/index.d.ts.map +1 -1
  437. package/dist/fields/hooks/afterRead/index.js +3 -3
  438. package/dist/fields/hooks/afterRead/promise.d.ts +4 -4
  439. package/dist/fields/hooks/afterRead/promise.d.ts.map +1 -1
  440. package/dist/fields/hooks/afterRead/promise.js +5 -7
  441. package/dist/fields/hooks/afterRead/relationshipPopulationPromise.d.ts +2 -2
  442. package/dist/fields/hooks/afterRead/relationshipPopulationPromise.d.ts.map +1 -1
  443. package/dist/fields/hooks/afterRead/relationshipPopulationPromise.js +2 -2
  444. package/dist/fields/hooks/afterRead/traverseFields.d.ts +4 -4
  445. package/dist/fields/hooks/afterRead/traverseFields.d.ts.map +1 -1
  446. package/dist/fields/hooks/afterRead/traverseFields.js +2 -2
  447. package/dist/fields/hooks/beforeChange/index.d.ts +3 -4
  448. package/dist/fields/hooks/beforeChange/index.d.ts.map +1 -1
  449. package/dist/fields/hooks/beforeChange/index.js +4 -4
  450. package/dist/fields/hooks/beforeChange/promise.d.ts +4 -5
  451. package/dist/fields/hooks/beforeChange/promise.d.ts.map +1 -1
  452. package/dist/fields/hooks/beforeChange/promise.js +4 -4
  453. package/dist/fields/hooks/beforeChange/traverseFields.d.ts +4 -5
  454. package/dist/fields/hooks/beforeChange/traverseFields.d.ts.map +1 -1
  455. package/dist/fields/hooks/beforeChange/traverseFields.js +2 -2
  456. package/dist/fields/hooks/beforeValidate/index.d.ts +3 -3
  457. package/dist/fields/hooks/beforeValidate/index.d.ts.map +1 -1
  458. package/dist/fields/hooks/beforeValidate/index.js +3 -3
  459. package/dist/fields/hooks/beforeValidate/promise.d.ts +4 -4
  460. package/dist/fields/hooks/beforeValidate/promise.d.ts.map +1 -1
  461. package/dist/fields/hooks/beforeValidate/promise.js +6 -6
  462. package/dist/fields/hooks/beforeValidate/traverseFields.d.ts +4 -4
  463. package/dist/fields/hooks/beforeValidate/traverseFields.d.ts.map +1 -1
  464. package/dist/fields/hooks/beforeValidate/traverseFields.js +2 -2
  465. package/dist/fields/mergeBaseFields.d.ts +1 -1
  466. package/dist/fields/mergeBaseFields.d.ts.map +1 -1
  467. package/dist/fields/mergeBaseFields.js +2 -2
  468. package/dist/fields/validations.d.ts +6 -6
  469. package/dist/fields/validations.d.ts.map +1 -1
  470. package/dist/fields/validations.js +5 -5
  471. package/dist/fields/validations.spec.js +2 -2
  472. package/dist/globals/config/sanitize.d.ts +2 -2
  473. package/dist/globals/config/sanitize.d.ts.map +1 -1
  474. package/dist/globals/config/sanitize.js +11 -11
  475. package/dist/globals/config/schema.js +4 -4
  476. package/dist/globals/config/types.d.ts +7 -7
  477. package/dist/globals/config/types.d.ts.map +1 -1
  478. package/dist/globals/config/types.js +1 -1
  479. package/dist/globals/operations/docAccess.d.ts +3 -3
  480. package/dist/globals/operations/docAccess.d.ts.map +1 -1
  481. package/dist/globals/operations/docAccess.js +7 -7
  482. package/dist/globals/operations/findOne.d.ts +2 -2
  483. package/dist/globals/operations/findOne.d.ts.map +1 -1
  484. package/dist/globals/operations/findOne.js +7 -7
  485. package/dist/globals/operations/findVersionByID.d.ts +3 -3
  486. package/dist/globals/operations/findVersionByID.d.ts.map +1 -1
  487. package/dist/globals/operations/findVersionByID.js +8 -8
  488. package/dist/globals/operations/findVersions.d.ts +4 -5
  489. package/dist/globals/operations/findVersions.d.ts.map +1 -1
  490. package/dist/globals/operations/findVersions.js +10 -10
  491. package/dist/globals/operations/local/findOne.d.ts +2 -4
  492. package/dist/globals/operations/local/findOne.d.ts.map +1 -1
  493. package/dist/globals/operations/local/findOne.js +7 -7
  494. package/dist/globals/operations/local/findVersionByID.d.ts +3 -5
  495. package/dist/globals/operations/local/findVersionByID.d.ts.map +1 -1
  496. package/dist/globals/operations/local/findVersionByID.js +5 -5
  497. package/dist/globals/operations/local/findVersions.d.ts +4 -6
  498. package/dist/globals/operations/local/findVersions.d.ts.map +1 -1
  499. package/dist/globals/operations/local/findVersions.js +5 -5
  500. package/dist/globals/operations/local/index.d.ts +5 -5
  501. package/dist/globals/operations/local/index.d.ts.map +1 -1
  502. package/dist/globals/operations/local/index.js +6 -6
  503. package/dist/globals/operations/local/restoreVersion.d.ts +2 -4
  504. package/dist/globals/operations/local/restoreVersion.d.ts.map +1 -1
  505. package/dist/globals/operations/local/restoreVersion.js +5 -5
  506. package/dist/globals/operations/local/update.d.ts +2 -4
  507. package/dist/globals/operations/local/update.d.ts.map +1 -1
  508. package/dist/globals/operations/local/update.js +5 -5
  509. package/dist/globals/operations/restoreVersion.d.ts +3 -3
  510. package/dist/globals/operations/restoreVersion.d.ts.map +1 -1
  511. package/dist/globals/operations/restoreVersion.js +8 -8
  512. package/dist/globals/operations/update.d.ts +9 -9
  513. package/dist/globals/operations/update.d.ts.map +1 -1
  514. package/dist/globals/operations/update.js +11 -11
  515. package/dist/index.d.ts +29 -29
  516. package/dist/index.d.ts.map +1 -1
  517. package/dist/index.js +12 -12
  518. package/dist/preferences/deleteUserPreferences.d.ts +3 -3
  519. package/dist/preferences/deleteUserPreferences.d.ts.map +1 -1
  520. package/dist/preferences/deleteUserPreferences.js +1 -1
  521. package/dist/preferences/operations/delete.d.ts +2 -2
  522. package/dist/preferences/operations/delete.d.ts.map +1 -1
  523. package/dist/preferences/operations/delete.js +5 -5
  524. package/dist/preferences/operations/findOne.d.ts +2 -2
  525. package/dist/preferences/operations/findOne.d.ts.map +1 -1
  526. package/dist/preferences/operations/findOne.js +1 -1
  527. package/dist/preferences/operations/update.d.ts +1 -1
  528. package/dist/preferences/operations/update.d.ts.map +1 -1
  529. package/dist/preferences/operations/update.js +4 -4
  530. package/dist/preferences/preferencesCollection.d.ts +2 -2
  531. package/dist/preferences/preferencesCollection.d.ts.map +1 -1
  532. package/dist/preferences/preferencesCollection.js +4 -4
  533. package/dist/preferences/requestHandlers/delete.d.ts +1 -1
  534. package/dist/preferences/requestHandlers/delete.d.ts.map +1 -1
  535. package/dist/preferences/requestHandlers/delete.js +2 -2
  536. package/dist/preferences/requestHandlers/findOne.d.ts +1 -1
  537. package/dist/preferences/requestHandlers/findOne.d.ts.map +1 -1
  538. package/dist/preferences/requestHandlers/findOne.js +2 -2
  539. package/dist/preferences/requestHandlers/update.d.ts +1 -1
  540. package/dist/preferences/requestHandlers/update.d.ts.map +1 -1
  541. package/dist/preferences/requestHandlers/update.js +2 -2
  542. package/dist/preferences/types.d.ts +2 -2
  543. package/dist/preferences/types.d.ts.map +1 -1
  544. package/dist/preferences/types.js +1 -1
  545. package/dist/translations/getLocalI18n.d.ts +1 -1
  546. package/dist/translations/getLocalI18n.d.ts.map +1 -1
  547. package/dist/translations/getLocalI18n.js +1 -1
  548. package/dist/types/index.d.ts +6 -6
  549. package/dist/types/index.d.ts.map +1 -1
  550. package/dist/types/index.js +1 -1
  551. package/dist/uploads/deleteAssociatedFiles.d.ts +4 -4
  552. package/dist/uploads/deleteAssociatedFiles.d.ts.map +1 -1
  553. package/dist/uploads/deleteAssociatedFiles.js +3 -3
  554. package/dist/uploads/docWithFilenameExists.d.ts +1 -1
  555. package/dist/uploads/docWithFilenameExists.d.ts.map +1 -1
  556. package/dist/uploads/docWithFilenameExists.js +1 -1
  557. package/dist/uploads/generateFileData.d.ts +4 -4
  558. package/dist/uploads/generateFileData.d.ts.map +1 -1
  559. package/dist/uploads/generateFileData.js +10 -10
  560. package/dist/uploads/getBaseFields.d.ts +3 -3
  561. package/dist/uploads/getBaseFields.d.ts.map +1 -1
  562. package/dist/uploads/getBaseFields.js +3 -3
  563. package/dist/uploads/getExternalFile.d.ts +2 -2
  564. package/dist/uploads/getExternalFile.d.ts.map +1 -1
  565. package/dist/uploads/getExternalFile.js +2 -2
  566. package/dist/uploads/getFileByPath.d.ts +1 -1
  567. package/dist/uploads/getFileByPath.d.ts.map +1 -1
  568. package/dist/uploads/getFileByPath.js +1 -1
  569. package/dist/uploads/getImageSize.d.ts +2 -2
  570. package/dist/uploads/getImageSize.d.ts.map +1 -1
  571. package/dist/uploads/getImageSize.js +1 -1
  572. package/dist/uploads/getSafeFilename.d.ts +1 -1
  573. package/dist/uploads/getSafeFilename.d.ts.map +1 -1
  574. package/dist/uploads/getSafeFilename.js +3 -3
  575. package/dist/uploads/imageResizer.d.ts +4 -5
  576. package/dist/uploads/imageResizer.d.ts.map +1 -1
  577. package/dist/uploads/imageResizer.js +3 -3
  578. package/dist/uploads/mimeTypeValidator.d.ts +1 -1
  579. package/dist/uploads/mimeTypeValidator.d.ts.map +1 -1
  580. package/dist/uploads/mimeTypeValidator.js +1 -1
  581. package/dist/uploads/saveBufferToFile.d.ts +1 -1
  582. package/dist/uploads/types.d.ts +2 -2
  583. package/dist/uploads/types.d.ts.map +1 -1
  584. package/dist/uploads/types.js +1 -1
  585. package/dist/uploads/unlinkTempFiles.d.ts +3 -3
  586. package/dist/uploads/unlinkTempFiles.d.ts.map +1 -1
  587. package/dist/uploads/unlinkTempFiles.js +2 -2
  588. package/dist/uploads/uploadFiles.d.ts +3 -3
  589. package/dist/uploads/uploadFiles.d.ts.map +1 -1
  590. package/dist/uploads/uploadFiles.js +3 -3
  591. package/dist/utilities/checkDuplicateCollections.d.ts +1 -1
  592. package/dist/utilities/checkDuplicateCollections.d.ts.map +1 -1
  593. package/dist/utilities/checkDuplicateCollections.js +2 -2
  594. package/dist/utilities/commitTransaction.d.ts +1 -1
  595. package/dist/utilities/commitTransaction.d.ts.map +1 -1
  596. package/dist/utilities/commitTransaction.js +1 -1
  597. package/dist/utilities/configToJSONSchema.d.ts +4 -4
  598. package/dist/utilities/configToJSONSchema.d.ts.map +1 -1
  599. package/dist/utilities/configToJSONSchema.js +4 -4
  600. package/dist/utilities/configToJSONSchema.spec.js +3 -3
  601. package/dist/utilities/createLocalReq.d.ts +3 -3
  602. package/dist/utilities/createLocalReq.d.ts.map +1 -1
  603. package/dist/utilities/createLocalReq.js +3 -3
  604. package/dist/utilities/fieldSchemaToJSON.d.ts +2 -2
  605. package/dist/utilities/fieldSchemaToJSON.d.ts.map +1 -1
  606. package/dist/utilities/fieldSchemaToJSON.js +1 -1
  607. package/dist/utilities/flattenTopLevelFields.d.ts +1 -1
  608. package/dist/utilities/flattenTopLevelFields.d.ts.map +1 -1
  609. package/dist/utilities/flattenTopLevelFields.js +2 -2
  610. package/dist/utilities/getEntityPolicies.d.ts +4 -4
  611. package/dist/utilities/getEntityPolicies.d.ts.map +1 -1
  612. package/dist/utilities/getEntityPolicies.js +2 -2
  613. package/dist/utilities/getIDType.d.ts +2 -2
  614. package/dist/utilities/getIDType.d.ts.map +1 -1
  615. package/dist/utilities/getIDType.js +1 -1
  616. package/dist/utilities/initTransaction.d.ts +1 -1
  617. package/dist/utilities/initTransaction.d.ts.map +1 -1
  618. package/dist/utilities/initTransaction.js +1 -1
  619. package/dist/utilities/isEntityHidden.d.ts +2 -2
  620. package/dist/utilities/isEntityHidden.d.ts.map +1 -1
  621. package/dist/utilities/isEntityHidden.js +1 -1
  622. package/dist/utilities/isValidID.js +3 -3
  623. package/dist/utilities/killTransaction.d.ts +1 -1
  624. package/dist/utilities/killTransaction.d.ts.map +1 -1
  625. package/dist/utilities/killTransaction.js +1 -1
  626. package/dist/utilities/logger.d.ts +3 -3
  627. package/dist/utilities/logger.d.ts.map +1 -1
  628. package/dist/utilities/logger.js +4 -4
  629. package/dist/utilities/parseCookies.js +2 -2
  630. package/dist/utilities/telemetry/events/adminInit.d.ts +2 -2
  631. package/dist/utilities/telemetry/events/adminInit.d.ts.map +1 -1
  632. package/dist/utilities/telemetry/events/adminInit.js +3 -3
  633. package/dist/utilities/telemetry/events/serverInit.d.ts +1 -1
  634. package/dist/utilities/telemetry/events/serverInit.d.ts.map +1 -1
  635. package/dist/utilities/telemetry/events/serverInit.js +2 -2
  636. package/dist/utilities/telemetry/index.d.ts +3 -3
  637. package/dist/utilities/telemetry/index.d.ts.map +1 -1
  638. package/dist/utilities/telemetry/index.js +3 -3
  639. package/dist/versions/baseFields.d.ts +1 -1
  640. package/dist/versions/baseFields.d.ts.map +1 -1
  641. package/dist/versions/baseFields.js +4 -4
  642. package/dist/versions/buildCollectionFields.d.ts +2 -2
  643. package/dist/versions/buildCollectionFields.d.ts.map +1 -1
  644. package/dist/versions/buildCollectionFields.js +1 -1
  645. package/dist/versions/buildGlobalFields.d.ts +2 -2
  646. package/dist/versions/buildGlobalFields.d.ts.map +1 -1
  647. package/dist/versions/buildGlobalFields.js +11 -11
  648. package/dist/versions/deleteCollectionVersions.d.ts +3 -3
  649. package/dist/versions/deleteCollectionVersions.d.ts.map +1 -1
  650. package/dist/versions/deleteCollectionVersions.js +2 -2
  651. package/dist/versions/drafts/appendVersionToQueryKey.d.ts +1 -1
  652. package/dist/versions/drafts/appendVersionToQueryKey.d.ts.map +1 -1
  653. package/dist/versions/drafts/appendVersionToQueryKey.js +1 -1
  654. package/dist/versions/drafts/replaceWithDraftIfAvailable.d.ts +4 -4
  655. package/dist/versions/drafts/replaceWithDraftIfAvailable.d.ts.map +1 -1
  656. package/dist/versions/drafts/replaceWithDraftIfAvailable.js +6 -6
  657. package/dist/versions/enforceMaxVersions.d.ts +3 -3
  658. package/dist/versions/enforceMaxVersions.d.ts.map +1 -1
  659. package/dist/versions/enforceMaxVersions.js +1 -1
  660. package/dist/versions/getLatestCollectionVersion.d.ts +3 -3
  661. package/dist/versions/getLatestCollectionVersion.d.ts.map +1 -1
  662. package/dist/versions/getLatestCollectionVersion.js +2 -2
  663. package/dist/versions/getLatestGlobalVersion.d.ts +3 -3
  664. package/dist/versions/getLatestGlobalVersion.d.ts.map +1 -1
  665. package/dist/versions/getLatestGlobalVersion.js +4 -4
  666. package/dist/versions/getVersionsModelName.d.ts +2 -2
  667. package/dist/versions/getVersionsModelName.d.ts.map +1 -1
  668. package/dist/versions/getVersionsModelName.js +1 -1
  669. package/dist/versions/saveVersion.d.ts +4 -4
  670. package/dist/versions/saveVersion.d.ts.map +1 -1
  671. package/dist/versions/saveVersion.js +4 -4
  672. package/errors.d.ts +1 -1
  673. package/errors.js +2 -2
  674. package/operations.d.ts +28 -28
  675. package/operations.js +29 -29
  676. package/package.json +2 -2
  677. package/types.d.ts +11 -11
  678. package/types.js +4 -4
  679. package/utilities.d.ts +27 -27
  680. package/utilities.js +28 -28
  681. package/versions.d.ts +9 -9
  682. package/versions.js +9 -9
  683. package/.eslintrc.js +0 -58
  684. package/dist/bundlers/mocks/db-mongodb.js +0 -2
  685. package/dist/bundlers/mocks/db-postgres.js +0 -3
  686. package/dist/bundlers/mocks/dotENV.js +0 -5
  687. package/dist/bundlers/mocks/emptyModule.js +0 -3
  688. package/dist/bundlers/mocks/fileMock.js +0 -3
  689. package/dist/bundlers/types.d.ts +0 -8
  690. package/dist/bundlers/types.d.ts.map +0 -1
  691. package/dist/bundlers/types.js +0 -3
  692. package/dist/express/middleware/errorHandler.d.ts +0 -1
  693. package/dist/express/middleware/errorHandler.d.ts.map +0 -1
  694. package/dist/express/middleware/errorHandler.js +0 -2
  695. package/dist/express/middleware/index.d.ts +0 -1
  696. package/dist/express/middleware/index.d.ts.map +0 -1
  697. package/dist/express/middleware/index.js +0 -2
  698. package/dist/globals/config/build.d.ts +0 -1
  699. package/dist/globals/config/build.d.ts.map +0 -1
  700. package/dist/globals/config/build.js +0 -2
  701. package/dist/globals/graphql/resolvers/docAccess.d.ts +0 -1
  702. package/dist/globals/graphql/resolvers/docAccess.d.ts.map +0 -1
  703. package/dist/globals/graphql/resolvers/docAccess.js +0 -2
  704. package/dist/utilities/pinoPretty.d.ts +0 -1
  705. package/dist/utilities/pinoPretty.d.ts.map +0 -1
  706. package/dist/utilities/pinoPretty.js +0 -2
@@ -1,5 +1,5 @@
1
1
  import joi from 'joi';
2
- import { componentSchema } from '../../config/shared/componentSchema';
2
+ import { componentSchema } from '../../config/shared/componentSchema.js';
3
3
  export const baseAdminComponentFields = joi.object().keys({
4
4
  Cell: componentSchema,
5
5
  Field: componentSchema,
@@ -48,12 +48,13 @@ export const baseField = joi.object().keys({
48
48
  }).default();
49
49
  export const idField = baseField.keys({
50
50
  name: joi.string().valid('id'),
51
+ type: joi.string().valid('text', 'number'),
51
52
  localized: joi.invalid(true),
52
- required: joi.not(false, 0).default(true),
53
- type: joi.string().valid('text', 'number')
53
+ required: joi.not(false, 0).default(true)
54
54
  });
55
55
  export const text = baseField.keys({
56
56
  name: joi.string().required(),
57
+ type: joi.string().valid('text').required(),
57
58
  admin: baseAdminFields.keys({
58
59
  autoComplete: joi.string(),
59
60
  components: baseAdminComponentFields.keys({
@@ -78,11 +79,11 @@ export const text = baseField.keys({
78
79
  minRows: joi.number().when('hasMany', {
79
80
  is: joi.not(true),
80
81
  then: joi.forbidden()
81
- }),
82
- type: joi.string().valid('text').required()
82
+ })
83
83
  });
84
84
  export const number = baseField.keys({
85
85
  name: joi.string().required(),
86
+ type: joi.string().valid('number').required(),
86
87
  admin: baseAdminFields.keys({
87
88
  autoComplete: joi.string(),
88
89
  components: baseAdminComponentFields.keys({
@@ -111,11 +112,11 @@ export const number = baseField.keys({
111
112
  minRows: joi.number().when('hasMany', {
112
113
  is: joi.not(true),
113
114
  then: joi.forbidden()
114
- }),
115
- type: joi.string().valid('number').required()
115
+ })
116
116
  });
117
117
  export const textarea = baseField.keys({
118
118
  name: joi.string().required(),
119
+ type: joi.string().valid('textarea').required(),
119
120
  admin: baseAdminFields.keys({
120
121
  components: baseAdminComponentFields.keys({
121
122
  Error: componentSchema,
@@ -129,11 +130,11 @@ export const textarea = baseField.keys({
129
130
  }),
130
131
  defaultValue: joi.alternatives().try(joi.string(), joi.func()),
131
132
  maxLength: joi.number(),
132
- minLength: joi.number(),
133
- type: joi.string().valid('textarea').required()
133
+ minLength: joi.number()
134
134
  });
135
135
  export const email = baseField.keys({
136
136
  name: joi.string().required(),
137
+ type: joi.string().valid('email').required(),
137
138
  admin: baseAdminFields.keys({
138
139
  autoComplete: joi.string(),
139
140
  components: baseAdminComponentFields.keys({
@@ -146,11 +147,11 @@ export const email = baseField.keys({
146
147
  }),
147
148
  defaultValue: joi.alternatives().try(joi.string(), joi.func()),
148
149
  maxLength: joi.number(),
149
- minLength: joi.number(),
150
- type: joi.string().valid('email').required()
150
+ minLength: joi.number()
151
151
  });
152
152
  export const code = baseField.keys({
153
153
  name: joi.string().required(),
154
+ type: joi.string().valid('code').required(),
154
155
  admin: baseAdminFields.keys({
155
156
  components: baseAdminComponentFields.keys({
156
157
  Error: componentSchema,
@@ -159,11 +160,11 @@ export const code = baseField.keys({
159
160
  editorOptions: joi.object().unknown(),
160
161
  language: joi.string()
161
162
  }),
162
- defaultValue: joi.alternatives().try(joi.string(), joi.func()),
163
- type: joi.string().valid('code').required()
163
+ defaultValue: joi.alternatives().try(joi.string(), joi.func())
164
164
  });
165
165
  export const json = baseField.keys({
166
166
  name: joi.string().required(),
167
+ type: joi.string().valid('json').required(),
167
168
  admin: baseAdminFields.keys({
168
169
  components: baseAdminComponentFields.keys({
169
170
  Error: componentSchema,
@@ -171,11 +172,11 @@ export const json = baseField.keys({
171
172
  }),
172
173
  editorOptions: joi.object().unknown()
173
174
  }),
174
- defaultValue: joi.alternatives().try(joi.array(), joi.object()),
175
- type: joi.string().valid('json').required()
175
+ defaultValue: joi.alternatives().try(joi.array(), joi.object())
176
176
  });
177
177
  export const select = baseField.keys({
178
178
  name: joi.string().required(),
179
+ type: joi.string().valid('select').required(),
179
180
  admin: baseAdminFields.keys({
180
181
  components: baseAdminComponentFields.keys({
181
182
  Error: componentSchema,
@@ -191,11 +192,11 @@ export const select = baseField.keys({
191
192
  joi.string()
192
193
  ])),
193
194
  value: joi.string().required().allow('')
194
- }))).required(),
195
- type: joi.string().valid('select').required()
195
+ }))).required()
196
196
  });
197
197
  export const radio = baseField.keys({
198
198
  name: joi.string().required(),
199
+ type: joi.string().valid('radio').required(),
199
200
  admin: baseAdminFields.keys({
200
201
  components: baseAdminComponentFields.keys({
201
202
  Error: componentSchema,
@@ -209,19 +210,18 @@ export const radio = baseField.keys({
209
210
  joi.string()
210
211
  ])).required(),
211
212
  value: joi.string().required().allow('')
212
- }))).required(),
213
- type: joi.string().valid('radio').required()
213
+ }))).required()
214
214
  });
215
215
  export const row = baseField.keys({
216
+ type: joi.string().valid('row').required(),
216
217
  admin: baseAdminFields.default(),
217
- fields: joi.array().items(joi.link('#field')),
218
- type: joi.string().valid('row').required()
218
+ fields: joi.array().items(joi.link('#field'))
219
219
  });
220
220
  export const collapsible = baseField.keys({
221
+ type: joi.string().valid('collapsible').required(),
221
222
  admin: baseAdminFields.default(),
222
223
  fields: joi.array().items(joi.link('#field')),
223
- label: joi.alternatives().try(joi.string(), componentSchema),
224
- type: joi.string().valid('collapsible').required()
224
+ label: joi.alternatives().try(joi.string(), componentSchema)
225
225
  });
226
226
  const tab = baseField.keys({
227
227
  name: joi.string().when('localized', {
@@ -244,26 +244,27 @@ const tab = baseField.keys({
244
244
  saveToJWT: joi.alternatives().try(joi.boolean(), joi.string())
245
245
  });
246
246
  export const tabs = baseField.keys({
247
+ type: joi.string().valid('tabs').required(),
247
248
  admin: baseAdminFields.keys({
248
249
  description: joi.forbidden()
249
250
  }),
250
251
  fields: joi.forbidden(),
251
252
  localized: joi.forbidden(),
252
- tabs: joi.array().items(tab).required(),
253
- type: joi.string().valid('tabs').required()
253
+ tabs: joi.array().items(tab).required()
254
254
  });
255
255
  export const group = baseField.keys({
256
256
  name: joi.string().required(),
257
+ type: joi.string().valid('group').required(),
257
258
  admin: baseAdminFields.keys({
258
259
  hideGutter: joi.boolean().default(true)
259
260
  }),
260
261
  defaultValue: joi.alternatives().try(joi.object(), joi.func()),
261
262
  fields: joi.array().items(joi.link('#field')),
262
- interfaceName: joi.string(),
263
- type: joi.string().valid('group').required()
263
+ interfaceName: joi.string()
264
264
  });
265
265
  export const array = baseField.keys({
266
266
  name: joi.string().required(),
267
+ type: joi.string().valid('array').required(),
267
268
  admin: baseAdminFields.keys({
268
269
  components: baseAdminComponentFields.keys({
269
270
  RowLabel: componentSchema
@@ -281,11 +282,11 @@ export const array = baseField.keys({
281
282
  ]))
282
283
  }),
283
284
  maxRows: joi.number(),
284
- minRows: joi.number(),
285
- type: joi.string().valid('array').required()
285
+ minRows: joi.number()
286
286
  });
287
287
  export const upload = baseField.keys({
288
288
  name: joi.string().required(),
289
+ type: joi.string().valid('upload').required(),
289
290
  admin: baseAdminFields.keys({
290
291
  components: baseAdminComponentFields.keys({
291
292
  Error: componentSchema,
@@ -295,11 +296,11 @@ export const upload = baseField.keys({
295
296
  defaultValue: joi.alternatives().try(joi.object(), joi.func()),
296
297
  filterOptions: joi.alternatives().try(joi.object(), joi.func()),
297
298
  maxDepth: joi.number(),
298
- relationTo: joi.string().required(),
299
- type: joi.string().valid('upload').required()
299
+ relationTo: joi.string().required()
300
300
  });
301
301
  export const checkbox = baseField.keys({
302
302
  name: joi.string().required(),
303
+ type: joi.string().valid('checkbox').required(),
303
304
  admin: baseAdminFields.keys({
304
305
  components: baseAdminComponentFields.keys({
305
306
  Error: componentSchema,
@@ -308,11 +309,11 @@ export const checkbox = baseField.keys({
308
309
  beforeInput: joi.array().items(componentSchema)
309
310
  })
310
311
  }),
311
- defaultValue: joi.alternatives().try(joi.boolean(), joi.func()),
312
- type: joi.string().valid('checkbox').required()
312
+ defaultValue: joi.alternatives().try(joi.boolean(), joi.func())
313
313
  });
314
314
  export const point = baseField.keys({
315
315
  name: joi.string().required(),
316
+ type: joi.string().valid('point').required(),
316
317
  admin: baseAdminFields.keys({
317
318
  components: baseAdminComponentFields.keys({
318
319
  Error: componentSchema,
@@ -321,11 +322,11 @@ export const point = baseField.keys({
321
322
  beforeInput: joi.array().items(componentSchema)
322
323
  })
323
324
  }),
324
- defaultValue: joi.alternatives().try(joi.array().items(joi.number()).max(2).min(2), joi.func()),
325
- type: joi.string().valid('point').required()
325
+ defaultValue: joi.alternatives().try(joi.array().items(joi.number()).max(2).min(2), joi.func())
326
326
  });
327
327
  export const relationship = baseField.keys({
328
328
  name: joi.string().required(),
329
+ type: joi.string().valid('relationship').required(),
329
330
  admin: baseAdminFields.keys({
330
331
  allowCreate: joi.boolean().default(true),
331
332
  components: baseAdminComponentFields.keys({
@@ -363,12 +364,14 @@ export const relationship = baseField.keys({
363
364
  is: joi.not(true),
364
365
  then: joi.forbidden()
365
366
  }),
366
- relationTo: joi.alternatives().try(joi.string().required(), joi.array().items(joi.string())),
367
- type: joi.string().valid('relationship').required()
367
+ relationTo: joi.alternatives().try(joi.string().required(), joi.array().items(joi.string()))
368
368
  });
369
369
  export const blocks = baseField.keys({
370
370
  name: joi.string().required(),
371
+ type: joi.string().valid('blocks').required(),
371
372
  blocks: joi.array().items(joi.object({
373
+ slug: joi.string().required(),
374
+ custom: joi.object().pattern(joi.string(), joi.any()),
372
375
  fields: joi.array().items(joi.link('#field')),
373
376
  graphQL: joi.object().keys({
374
377
  singularName: joi.string()
@@ -383,9 +386,7 @@ export const blocks = baseField.keys({
383
386
  singular: joi.alternatives().try(joi.string(), joi.object().pattern(joi.string(), [
384
387
  joi.string()
385
388
  ]))
386
- }),
387
- slug: joi.string().required(),
388
- custom: joi.object().pattern(joi.string(), joi.any())
389
+ })
389
390
  })).required(),
390
391
  defaultValue: joi.alternatives().try(joi.array().items(joi.object()), joi.func()),
391
392
  labels: joi.object({
@@ -397,11 +398,11 @@ export const blocks = baseField.keys({
397
398
  ]))
398
399
  }),
399
400
  maxRows: joi.number(),
400
- minRows: joi.number(),
401
- type: joi.string().valid('blocks').required()
401
+ minRows: joi.number()
402
402
  });
403
403
  export const richText = baseField.keys({
404
404
  name: joi.string().required(),
405
+ type: joi.string().valid('richText').required(),
405
406
  admin: baseAdminFields.default(),
406
407
  defaultValue: joi.alternatives().try(joi.array().items(joi.object()), joi.func(), joi.object()),
407
408
  editor: joi.object().keys({
@@ -413,11 +414,11 @@ export const richText = baseField.keys({
413
414
  outputSchema: joi.func().optional(),
414
415
  populationPromise: joi.func().optional(),
415
416
  validate: joi.func().required()
416
- }).unknown(),
417
- type: joi.string().valid('richText').required()
417
+ }).unknown()
418
418
  });
419
419
  export const date = baseField.keys({
420
420
  name: joi.string().required(),
421
+ type: joi.string().valid('date').required(),
421
422
  admin: baseAdminFields.keys({
422
423
  components: baseAdminComponentFields.keys({
423
424
  Error: componentSchema,
@@ -439,11 +440,11 @@ export const date = baseField.keys({
439
440
  }),
440
441
  placeholder: joi.string()
441
442
  }),
442
- defaultValue: joi.alternatives().try(joi.string(), joi.func()),
443
- type: joi.string().valid('date').required()
443
+ defaultValue: joi.alternatives().try(joi.string(), joi.func())
444
444
  });
445
445
  export const ui = joi.object().keys({
446
446
  name: joi.string().required(),
447
+ type: joi.string().valid('ui').required(),
447
448
  admin: joi.object().keys({
448
449
  components: joi.object().keys({
449
450
  Cell: componentSchema,
@@ -456,10 +457,9 @@ export const ui = joi.object().keys({
456
457
  custom: joi.object().pattern(joi.string(), joi.any()),
457
458
  label: joi.alternatives().try(joi.string(), joi.object().pattern(joi.string(), [
458
459
  joi.string()
459
- ])),
460
- type: joi.string().valid('ui').required()
460
+ ]))
461
461
  });
462
462
  const fieldSchema = joi.alternatives().try(text, number, textarea, email, code, json, select, group, array, row, collapsible, tabs, radio, relationship, checkbox, upload, richText, blocks, date, point, ui).id('field');
463
463
  export default fieldSchema;
464
464
 
465
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIi4uLy4uLy4uL3NyYy9maWVsZHMvY29uZmlnL3NjaGVtYS50cyJdLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgam9pIGZyb20gJ2pvaSdcblxuaW1wb3J0IHsgY29tcG9uZW50U2NoZW1hIH0gZnJvbSAnLi4vLi4vY29uZmlnL3NoYXJlZC9jb21wb25lbnRTY2hlbWEnXG5cbmV4cG9ydCBjb25zdCBiYXNlQWRtaW5Db21wb25lbnRGaWVsZHMgPSBqb2lcbiAgLm9iamVjdCgpXG4gIC5rZXlzKHtcbiAgICBDZWxsOiBjb21wb25lbnRTY2hlbWEsXG4gICAgRmllbGQ6IGNvbXBvbmVudFNjaGVtYSxcbiAgICBGaWx0ZXI6IGNvbXBvbmVudFNjaGVtYSxcbiAgfSlcbiAgLmRlZmF1bHQoe30pXG5cbmV4cG9ydCBjb25zdCBiYXNlQWRtaW5GaWVsZHMgPSBqb2kub2JqZWN0KCkua2V5cyh7XG4gIGNsYXNzTmFtZTogam9pLnN0cmluZygpLFxuICBjb21wb25lbnRzOiBiYXNlQWRtaW5Db21wb25lbnRGaWVsZHMsXG4gIGNvbmRpdGlvbjogam9pLmZ1bmMoKSxcbiAgZGVzY3JpcHRpb246IGpvaVxuICAgIC5hbHRlcm5hdGl2ZXMoKVxuICAgIC50cnkoam9pLnN0cmluZygpLCBqb2kub2JqZWN0KCkucGF0dGVybihqb2kuc3RyaW5nKCksIFtqb2kuc3RyaW5nKCldKSwgY29tcG9uZW50U2NoZW1hKSxcbiAgZGlzYWJsZUJ1bGtFZGl0OiBqb2kuYm9vbGVhbigpLmRlZmF1bHQoZmFsc2UpLFxuICBkaXNhYmxlZDogam9pLmJvb2xlYW4oKS5kZWZhdWx0KGZhbHNlKSxcbiAgaGlkZGVuOiBqb2kuYm9vbGVhbigpLmRlZmF1bHQoZmFsc2UpLFxuICBpbml0Q29sbGFwc2VkOiBqb2kuYm9vbGVhbigpLmRlZmF1bHQoZmFsc2UpLFxuICBwb3NpdGlvbjogam9pLnN0cmluZygpLnZhbGlkKCdzaWRlYmFyJyksXG4gIHJlYWRPbmx5OiBqb2kuYm9vbGVhbigpLmRlZmF1bHQoZmFsc2UpLFxuICBzdHlsZTogam9pLm9iamVjdCgpLnVua25vd24oKSxcbiAgd2lkdGg6IGpvaS5zdHJpbmcoKSxcbn0pXG5cbmV4cG9ydCBjb25zdCBiYXNlRmllbGQgPSBqb2lcbiAgLm9iamVjdCgpXG4gIC5rZXlzKHtcbiAgICBhY2Nlc3M6IGpvaS5vYmplY3QoKS5rZXlzKHtcbiAgICAgIGNyZWF0ZTogam9pLmZ1bmMoKSxcbiAgICAgIHJlYWQ6IGpvaS5mdW5jKCksXG4gICAgICB1cGRhdGU6IGpvaS5mdW5jKCksXG4gICAgfSksXG4gICAgYWRtaW46IGJhc2VBZG1pbkZpZWxkcy5kZWZhdWx0KCksXG4gICAgY3VzdG9tOiBqb2kub2JqZWN0KCkucGF0dGVybihqb2kuc3RyaW5nKCksIGpvaS5hbnkoKSksXG4gICAgaGlkZGVuOiBqb2kuYm9vbGVhbigpLmRlZmF1bHQoZmFsc2UpLFxuICAgIGhvb2tzOiBqb2lcbiAgICAgIC5vYmplY3QoKVxuICAgICAgLmtleXMoe1xuICAgICAgICBhZnRlckNoYW5nZTogam9pLmFycmF5KCkuaXRlbXMoam9pLmZ1bmMoKSkuZGVmYXVsdChbXSksXG4gICAgICAgIGFmdGVyUmVhZDogam9pLmFycmF5KCkuaXRlbXMoam9pLmZ1bmMoKSkuZGVmYXVsdChbXSksXG4gICAgICAgIGJlZm9yZUNoYW5nZTogam9pLmFycmF5KCkuaXRlbXMoam9pLmZ1bmMoKSkuZGVmYXVsdChbXSksXG4gICAgICAgIGJlZm9yZVZhbGlkYXRlOiBqb2kuYXJyYXkoKS5pdGVtcyhqb2kuZnVuYygpKS5kZWZhdWx0KFtdKSxcbiAgICAgIH0pXG4gICAgICAuZGVmYXVsdCgpLFxuICAgIGluZGV4OiBqb2kuYm9vbGVhbigpLmRlZmF1bHQoZmFsc2UpLFxuICAgIGxhYmVsOiBqb2lcbiAgICAgIC5hbHRlcm5hdGl2ZXMoKVxuICAgICAgLnRyeShqb2kub2JqZWN0KCkucGF0dGVybihqb2kuc3RyaW5nKCksIFtqb2kuc3RyaW5nKCldKSwgam9pLnN0cmluZygpLCBqb2kudmFsaWQoZmFsc2UpKSxcbiAgICBsb2NhbGl6ZWQ6IGpvaS5ib29sZWFuKCkuZGVmYXVsdChmYWxzZSksXG4gICAgcmVxdWlyZWQ6IGpvaS5ib29sZWFuKCkuZGVmYXVsdChmYWxzZSksXG4gICAgc2F2ZVRvSldUOiBqb2kuYWx0ZXJuYXRpdmVzKCkudHJ5KGpvaS5ib29sZWFuKCksIGpvaS5zdHJpbmcoKSkuZGVmYXVsdChmYWxzZSksXG4gICAgdW5pcXVlOiBqb2kuYm9vbGVhbigpLmRlZmF1bHQoZmFsc2UpLFxuICAgIHZhbGlkYXRlOiBqb2kuZnVuYygpLFxuICB9KVxuICAuZGVmYXVsdCgpXG5cbmV4cG9ydCBjb25zdCBpZEZpZWxkID0gYmFzZUZpZWxkLmtleXMoe1xuICBuYW1lOiBqb2kuc3RyaW5nKCkudmFsaWQoJ2lkJyksXG4gIGxvY2FsaXplZDogam9pLmludmFsaWQodHJ1ZSksXG4gIHJlcXVpcmVkOiBqb2kubm90KGZhbHNlLCAwKS5kZWZhdWx0KHRydWUpLFxuICB0eXBlOiBqb2kuc3RyaW5nKCkudmFsaWQoJ3RleHQnLCAnbnVtYmVyJyksXG59KVxuXG5leHBvcnQgY29uc3QgdGV4dCA9IGJhc2VGaWVsZC5rZXlzKHtcbiAgbmFtZTogam9pLnN0cmluZygpLnJlcXVpcmVkKCksXG4gIGFkbWluOiBiYXNlQWRtaW5GaWVsZHMua2V5cyh7XG4gICAgYXV0b0NvbXBsZXRlOiBqb2kuc3RyaW5nKCksXG4gICAgY29tcG9uZW50czogYmFzZUFkbWluQ29tcG9uZW50RmllbGRzLmtleXMoe1xuICAgICAgRXJyb3I6IGNvbXBvbmVudFNjaGVtYSxcbiAgICAgIExhYmVsOiBjb21wb25lbnRTY2hlbWEsXG4gICAgICBhZnRlcklucHV0OiBqb2kuYXJyYXkoKS5pdGVtcyhjb21wb25lbnRTY2hlbWEpLFxuICAgICAgYmVmb3JlSW5wdXQ6IGpvaS5hcnJheSgpLml0ZW1zKGNvbXBvbmVudFNjaGVtYSksXG4gICAgfSksXG4gICAgcGxhY2Vob2xkZXI6IGpvaVxuICAgICAgLmFsdGVybmF0aXZlcygpXG4gICAgICAudHJ5KGpvaS5vYmplY3QoKS5wYXR0ZXJuKGpvaS5zdHJpbmcoKSwgW2pvaS5zdHJpbmcoKV0pLCBqb2kuc3RyaW5nKCkpLFxuICAgIHJ0bDogam9pLmJvb2xlYW4oKSxcbiAgfSksXG4gIGRlZmF1bHRWYWx1ZTogam9pLmFsdGVybmF0aXZlcygpLnRyeShqb2kuc3RyaW5nKCksIGpvaS5mdW5jKCkpLFxuICBoYXNNYW55OiBqb2kuYm9vbGVhbigpLmRlZmF1bHQoZmFsc2UpLFxuICBtYXhMZW5ndGg6IGpvaS5udW1iZXIoKSxcbiAgbWF4Um93czogam9pLm51bWJlcigpLndoZW4oJ2hhc01hbnknLCB7IGlzOiBqb2kubm90KHRydWUpLCB0aGVuOiBqb2kuZm9yYmlkZGVuKCkgfSksXG4gIG1pbkxlbmd0aDogam9pLm51bWJlcigpLFxuICBtaW5Sb3dzOiBqb2kubnVtYmVyKCkud2hlbignaGFzTWFueScsIHsgaXM6IGpvaS5ub3QodHJ1ZSksIHRoZW46IGpvaS5mb3JiaWRkZW4oKSB9KSxcbiAgdHlwZTogam9pLnN0cmluZygpLnZhbGlkKCd0ZXh0JykucmVxdWlyZWQoKSxcbn0pXG5cbmV4cG9ydCBjb25zdCBudW1iZXIgPSBiYXNlRmllbGQua2V5cyh7XG4gIG5hbWU6IGpvaS5zdHJpbmcoKS5yZXF1aXJlZCgpLFxuICBhZG1pbjogYmFzZUFkbWluRmllbGRzLmtleXMoe1xuICAgIGF1dG9Db21wbGV0ZTogam9pLnN0cmluZygpLFxuICAgIGNvbXBvbmVudHM6IGJhc2VBZG1pbkNvbXBvbmVudEZpZWxkcy5rZXlzKHtcbiAgICAgIEVycm9yOiBjb21wb25lbnRTY2hlbWEsXG4gICAgICBMYWJlbDogY29tcG9uZW50U2NoZW1hLFxuICAgICAgYWZ0ZXJJbnB1dDogam9pXG4gICAgICAgIC5hcnJheSgpXG4gICAgICAgIC5pdGVtcyhjb21wb25lbnRTY2hlbWEpXG4gICAgICAgIC53aGVuKCdoYXNNYW55JywgeyBub3Q6IHRydWUsIG90aGVyd2lzZTogam9pLmZvcmJpZGRlbigpIH0pLFxuICAgICAgYmVmb3JlSW5wdXQ6IGpvaVxuICAgICAgICAuYXJyYXkoKVxuICAgICAgICAuaXRlbXMoY29tcG9uZW50U2NoZW1hKVxuICAgICAgICAud2hlbignaGFzTWFueScsIHsgbm90OiB0cnVlLCBvdGhlcndpc2U6IGpvaS5mb3JiaWRkZW4oKSB9KSxcbiAgICB9KSxcbiAgICBwbGFjZWhvbGRlcjogam9pLnN0cmluZygpLFxuICAgIHN0ZXA6IGpvaS5udW1iZXIoKSxcbiAgfSksXG4gIGRlZmF1bHRWYWx1ZTogam9pLmFsdGVybmF0aXZlcygpLnRyeShqb2kubnVtYmVyKCksIGpvaS5mdW5jKCkpLFxuICBoYXNNYW55OiBqb2kuYm9vbGVhbigpLmRlZmF1bHQoZmFsc2UpLFxuICBtYXg6IGpvaS5udW1iZXIoKSxcbiAgbWF4Um93czogam9pLm51bWJlcigpLndoZW4oJ2hhc01hbnknLCB7IGlzOiBqb2kubm90KHRydWUpLCB0aGVuOiBqb2kuZm9yYmlkZGVuKCkgfSksXG4gIG1pbjogam9pLm51bWJlcigpLFxuICBtaW5Sb3dzOiBqb2kubnVtYmVyKCkud2hlbignaGFzTWFueScsIHsgaXM6IGpvaS5ub3QodHJ1ZSksIHRoZW46IGpvaS5mb3JiaWRkZW4oKSB9KSxcbiAgdHlwZTogam9pLnN0cmluZygpLnZhbGlkKCdudW1iZXInKS5yZXF1aXJlZCgpLFxufSlcblxuZXhwb3J0IGNvbnN0IHRleHRhcmVhID0gYmFzZUZpZWxkLmtleXMoe1xuICBuYW1lOiBqb2kuc3RyaW5nKCkucmVxdWlyZWQoKSxcbiAgYWRtaW46IGJhc2VBZG1pbkZpZWxkcy5rZXlzKHtcbiAgICBjb21wb25lbnRzOiBiYXNlQWRtaW5Db21wb25lbnRGaWVsZHMua2V5cyh7XG4gICAgICBFcnJvcjogY29tcG9uZW50U2NoZW1hLFxuICAgICAgTGFiZWw6IGNvbXBvbmVudFNjaGVtYSxcbiAgICAgIGFmdGVySW5wdXQ6IGpvaS5hcnJheSgpLml0ZW1zKGNvbXBvbmVudFNjaGVtYSksXG4gICAgICBiZWZvcmVJbnB1dDogam9pLmFycmF5KCkuaXRlbXMoY29tcG9uZW50U2NoZW1hKSxcbiAgICB9KSxcbiAgICBwbGFjZWhvbGRlcjogam9pLnN0cmluZygpLFxuICAgIHJvd3M6IGpvaS5udW1iZXIoKSxcbiAgICBydGw6IGpvaS5ib29sZWFuKCksXG4gIH0pLFxuICBkZWZhdWx0VmFsdWU6IGpvaS5hbHRlcm5hdGl2ZXMoKS50cnkoam9pLnN0cmluZygpLCBqb2kuZnVuYygpKSxcbiAgbWF4TGVuZ3RoOiBqb2kubnVtYmVyKCksXG4gIG1pbkxlbmd0aDogam9pLm51bWJlcigpLFxuICB0eXBlOiBqb2kuc3RyaW5nKCkudmFsaWQoJ3RleHRhcmVhJykucmVxdWlyZWQoKSxcbn0pXG5cbmV4cG9ydCBjb25zdCBlbWFpbCA9IGJhc2VGaWVsZC5rZXlzKHtcbiAgbmFtZTogam9pLnN0cmluZygpLnJlcXVpcmVkKCksXG4gIGFkbWluOiBiYXNlQWRtaW5GaWVsZHMua2V5cyh7XG4gICAgYXV0b0NvbXBsZXRlOiBqb2kuc3RyaW5nKCksXG4gICAgY29tcG9uZW50czogYmFzZUFkbWluQ29tcG9uZW50RmllbGRzLmtleXMoe1xuICAgICAgRXJyb3I6IGNvbXBvbmVudFNjaGVtYSxcbiAgICAgIExhYmVsOiBjb21wb25lbnRTY2hlbWEsXG4gICAgICBhZnRlcklucHV0OiBqb2kuYXJyYXkoKS5pdGVtcyhjb21wb25lbnRTY2hlbWEpLFxuICAgICAgYmVmb3JlSW5wdXQ6IGpvaS5hcnJheSgpLml0ZW1zKGNvbXBvbmVudFNjaGVtYSksXG4gICAgfSksXG4gICAgcGxhY2Vob2xkZXI6IGpvaS5zdHJpbmcoKSxcbiAgfSksXG4gIGRlZmF1bHRWYWx1ZTogam9pLmFsdGVybmF0aXZlcygpLnRyeShqb2kuc3RyaW5nKCksIGpvaS5mdW5jKCkpLFxuICBtYXhMZW5ndGg6IGpvaS5udW1iZXIoKSxcbiAgbWluTGVuZ3RoOiBqb2kubnVtYmVyKCksXG4gIHR5cGU6IGpvaS5zdHJpbmcoKS52YWxpZCgnZW1haWwnKS5yZXF1aXJlZCgpLFxufSlcblxuZXhwb3J0IGNvbnN0IGNvZGUgPSBiYXNlRmllbGQua2V5cyh7XG4gIG5hbWU6IGpvaS5zdHJpbmcoKS5yZXF1aXJlZCgpLFxuICBhZG1pbjogYmFzZUFkbWluRmllbGRzLmtleXMoe1xuICAgIGNvbXBvbmVudHM6IGJhc2VBZG1pbkNvbXBvbmVudEZpZWxkcy5rZXlzKHtcbiAgICAgIEVycm9yOiBjb21wb25lbnRTY2hlbWEsXG4gICAgICBMYWJlbDogY29tcG9uZW50U2NoZW1hLFxuICAgIH0pLFxuICAgIGVkaXRvck9wdGlvbnM6IGpvaS5vYmplY3QoKS51bmtub3duKCksIC8vIEVkaXRvclsnb3B0aW9ucyddIEBtb25hY28tZWRpdG9yL3JlYWN0XG4gICAgbGFuZ3VhZ2U6IGpvaS5zdHJpbmcoKSxcbiAgfSksXG4gIGRlZmF1bHRWYWx1ZTogam9pLmFsdGVybmF0aXZlcygpLnRyeShqb2kuc3RyaW5nKCksIGpvaS5mdW5jKCkpLFxuICB0eXBlOiBqb2kuc3RyaW5nKCkudmFsaWQoJ2NvZGUnKS5yZXF1aXJlZCgpLFxufSlcblxuZXhwb3J0IGNvbnN0IGpzb24gPSBiYXNlRmllbGQua2V5cyh7XG4gIG5hbWU6IGpvaS5zdHJpbmcoKS5yZXF1aXJlZCgpLFxuICBhZG1pbjogYmFzZUFkbWluRmllbGRzLmtleXMoe1xuICAgIGNvbXBvbmVudHM6IGJhc2VBZG1pbkNvbXBvbmVudEZpZWxkcy5rZXlzKHtcbiAgICAgIEVycm9yOiBjb21wb25lbnRTY2hlbWEsXG4gICAgICBMYWJlbDogY29tcG9uZW50U2NoZW1hLFxuICAgIH0pLFxuICAgIGVkaXRvck9wdGlvbnM6IGpvaS5vYmplY3QoKS51bmtub3duKCksIC8vIEVkaXRvclsnb3B0aW9ucyddIEBtb25hY28tZWRpdG9yL3JlYWN0XG4gIH0pLFxuICBkZWZhdWx0VmFsdWU6IGpvaS5hbHRlcm5hdGl2ZXMoKS50cnkoam9pLmFycmF5KCksIGpvaS5vYmplY3QoKSksXG4gIHR5cGU6IGpvaS5zdHJpbmcoKS52YWxpZCgnanNvbicpLnJlcXVpcmVkKCksXG59KVxuXG5leHBvcnQgY29uc3Qgc2VsZWN0ID0gYmFzZUZpZWxkLmtleXMoe1xuICBuYW1lOiBqb2kuc3RyaW5nKCkucmVxdWlyZWQoKSxcbiAgYWRtaW46IGJhc2VBZG1pbkZpZWxkcy5rZXlzKHtcbiAgICBjb21wb25lbnRzOiBiYXNlQWRtaW5Db21wb25lbnRGaWVsZHMua2V5cyh7XG4gICAgICBFcnJvcjogY29tcG9uZW50U2NoZW1hLFxuICAgICAgTGFiZWw6IGNvbXBvbmVudFNjaGVtYSxcbiAgICB9KSxcbiAgICBpc0NsZWFyYWJsZTogam9pLmJvb2xlYW4oKS5kZWZhdWx0KGZhbHNlKSxcbiAgICBpc1NvcnRhYmxlOiBqb2kuYm9vbGVhbigpLmRlZmF1bHQoZmFsc2UpLFxuICB9KSxcbiAgZGVmYXVsdFZhbHVlOiBqb2lcbiAgICAuYWx0ZXJuYXRpdmVzKClcbiAgICAudHJ5KGpvaS5zdHJpbmcoKS5hbGxvdygnJyksIGpvaS5hcnJheSgpLml0ZW1zKGpvaS5zdHJpbmcoKS5hbGxvdygnJykpLCBqb2kuZnVuYygpKSxcbiAgaGFzTWFueTogam9pLmJvb2xlYW4oKS5kZWZhdWx0KGZhbHNlKSxcbiAgb3B0aW9uczogam9pXG4gICAgLmFycmF5KClcbiAgICAubWluKDEpXG4gICAgLml0ZW1zKFxuICAgICAgam9pLmFsdGVybmF0aXZlcygpLnRyeShcbiAgICAgICAgam9pLnN0cmluZygpLFxuICAgICAgICBqb2kub2JqZWN0KHtcbiAgICAgICAgICBsYWJlbDogam9pXG4gICAgICAgICAgICAuYWx0ZXJuYXRpdmVzKClcbiAgICAgICAgICAgIC50cnkoam9pLnN0cmluZygpLCBqb2kub2JqZWN0KCkucGF0dGVybihqb2kuc3RyaW5nKCksIFtqb2kuc3RyaW5nKCldKSksXG4gICAgICAgICAgdmFsdWU6IGpvaS5zdHJpbmcoKS5yZXF1aXJlZCgpLmFsbG93KCcnKSxcbiAgICAgICAgfSksXG4gICAgICApLFxuICAgIClcbiAgICAucmVxdWlyZWQoKSxcbiAgdHlwZTogam9pLnN0cmluZygpLnZhbGlkKCdzZWxlY3QnKS5yZXF1aXJlZCgpLFxufSlcblxuZXhwb3J0IGNvbnN0IHJhZGlvID0gYmFzZUZpZWxkLmtleXMoe1xuICBuYW1lOiBqb2kuc3RyaW5nKCkucmVxdWlyZWQoKSxcbiAgYWRtaW46IGJhc2VBZG1pbkZpZWxkcy5rZXlzKHtcbiAgICBjb21wb25lbnRzOiBiYXNlQWRtaW5Db21wb25lbnRGaWVsZHMua2V5cyh7XG4gICAgICBFcnJvcjogY29tcG9uZW50U2NoZW1hLFxuICAgICAgTGFiZWw6IGNvbXBvbmVudFNjaGVtYSxcbiAgICB9KSxcbiAgICBsYXlvdXQ6IGpvaS5zdHJpbmcoKS52YWxpZCgndmVydGljYWwnLCAnaG9yaXpvbnRhbCcpLFxuICB9KSxcbiAgZGVmYXVsdFZhbHVlOiBqb2kuYWx0ZXJuYXRpdmVzKCkudHJ5KGpvaS5zdHJpbmcoKS5hbGxvdygnJyksIGpvaS5mdW5jKCkpLFxuICBvcHRpb25zOiBqb2lcbiAgICAuYXJyYXkoKVxuICAgIC5taW4oMSlcbiAgICAuaXRlbXMoXG4gICAgICBqb2kuYWx0ZXJuYXRpdmVzKCkudHJ5KFxuICAgICAgICBqb2kuc3RyaW5nKCksXG4gICAgICAgIGpvaS5vYmplY3Qoe1xuICAgICAgICAgIGxhYmVsOiBqb2lcbiAgICAgICAgICAgIC5hbHRlcm5hdGl2ZXMoKVxuICAgICAgICAgICAgLnRyeShqb2kuc3RyaW5nKCksIGpvaS5vYmplY3QoKS5wYXR0ZXJuKGpvaS5zdHJpbmcoKSwgW2pvaS5zdHJpbmcoKV0pKVxuICAgICAgICAgICAgLnJlcXVpcmVkKCksXG4gICAgICAgICAgdmFsdWU6IGpvaS5zdHJpbmcoKS5yZXF1aXJlZCgpLmFsbG93KCcnKSxcbiAgICAgICAgfSksXG4gICAgICApLFxuICAgIClcbiAgICAucmVxdWlyZWQoKSxcbiAgdHlwZTogam9pLnN0cmluZygpLnZhbGlkKCdyYWRpbycpLnJlcXVpcmVkKCksXG59KVxuXG5leHBvcnQgY29uc3Qgcm93ID0gYmFzZUZpZWxkLmtleXMoe1xuICBhZG1pbjogYmFzZUFkbWluRmllbGRzLmRlZmF1bHQoKSxcbiAgZmllbGRzOiBqb2kuYXJyYXkoKS5pdGVtcyhqb2kubGluaygnI2ZpZWxkJykpLFxuICB0eXBlOiBqb2kuc3RyaW5nKCkudmFsaWQoJ3JvdycpLnJlcXVpcmVkKCksXG59KVxuXG5leHBvcnQgY29uc3QgY29sbGFwc2libGUgPSBiYXNlRmllbGQua2V5cyh7XG4gIGFkbWluOiBiYXNlQWRtaW5GaWVsZHMuZGVmYXVsdCgpLFxuICBmaWVsZHM6IGpvaS5hcnJheSgpLml0ZW1zKGpvaS5saW5rKCcjZmllbGQnKSksXG4gIGxhYmVsOiBqb2kuYWx0ZXJuYXRpdmVzKCkudHJ5KGpvaS5zdHJpbmcoKSwgY29tcG9uZW50U2NoZW1hKSxcbiAgdHlwZTogam9pLnN0cmluZygpLnZhbGlkKCdjb2xsYXBzaWJsZScpLnJlcXVpcmVkKCksXG59KVxuXG5jb25zdCB0YWIgPSBiYXNlRmllbGQua2V5cyh7XG4gIG5hbWU6IGpvaS5zdHJpbmcoKS53aGVuKCdsb2NhbGl6ZWQnLCB7IGlzOiBqb2kuZXhpc3QoKSwgdGhlbjogam9pLnJlcXVpcmVkKCkgfSksXG4gIGRlc2NyaXB0aW9uOiBqb2kuYWx0ZXJuYXRpdmVzKCkudHJ5KGpvaS5zdHJpbmcoKSwgY29tcG9uZW50U2NoZW1hKSxcbiAgZmllbGRzOiBqb2kuYXJyYXkoKS5pdGVtcyhqb2kubGluaygnI2ZpZWxkJykpLnJlcXVpcmVkKCksXG4gIGludGVyZmFjZU5hbWU6IGpvaS5zdHJpbmcoKS53aGVuKCduYW1lJywgeyBub3Q6IGpvaS5leGlzdCgpLCB0aGVuOiBqb2kuZm9yYmlkZGVuKCkgfSksXG4gIGxhYmVsOiBqb2lcbiAgICAuYWx0ZXJuYXRpdmVzKClcbiAgICAudHJ5KGpvaS5zdHJpbmcoKSwgam9pLm9iamVjdCgpLnBhdHRlcm4oam9pLnN0cmluZygpLCBbam9pLnN0cmluZygpXSkpXG4gICAgLndoZW4oJ25hbWUnLCB7IGlzOiBqb2kubm90KCksIHRoZW46IGpvaS5yZXF1aXJlZCgpIH0pLFxuICBsb2NhbGl6ZWQ6IGpvaS5ib29sZWFuKCksXG4gIHNhdmVUb0pXVDogam9pLmFsdGVybmF0aXZlcygpLnRyeShqb2kuYm9vbGVhbigpLCBqb2kuc3RyaW5nKCkpLFxufSlcblxuZXhwb3J0IGNvbnN0IHRhYnMgPSBiYXNlRmllbGQua2V5cyh7XG4gIGFkbWluOiBiYXNlQWRtaW5GaWVsZHMua2V5cyh7XG4gICAgZGVzY3JpcHRpb246IGpvaS5mb3JiaWRkZW4oKSxcbiAgfSksXG4gIGZpZWxkczogam9pLmZvcmJpZGRlbigpLFxuICBsb2NhbGl6ZWQ6IGpvaS5mb3JiaWRkZW4oKSxcbiAgdGFiczogam9pLmFycmF5KCkuaXRlbXModGFiKS5yZXF1aXJlZCgpLFxuICB0eXBlOiBqb2kuc3RyaW5nKCkudmFsaWQoJ3RhYnMnKS5yZXF1aXJlZCgpLFxufSlcblxuZXhwb3J0IGNvbnN0IGdyb3VwID0gYmFzZUZpZWxkLmtleXMoe1xuICBuYW1lOiBqb2kuc3RyaW5nKCkucmVxdWlyZWQoKSxcbiAgYWRtaW46IGJhc2VBZG1pbkZpZWxkcy5rZXlzKHtcbiAgICBoaWRlR3V0dGVyOiBqb2kuYm9vbGVhbigpLmRlZmF1bHQodHJ1ZSksXG4gIH0pLFxuICBkZWZhdWx0VmFsdWU6IGpvaS5hbHRlcm5hdGl2ZXMoKS50cnkoam9pLm9iamVjdCgpLCBqb2kuZnVuYygpKSxcbiAgZmllbGRzOiBqb2kuYXJyYXkoKS5pdGVtcyhqb2kubGluaygnI2ZpZWxkJykpLFxuICBpbnRlcmZhY2VOYW1lOiBqb2kuc3RyaW5nKCksXG4gIHR5cGU6IGpvaS5zdHJpbmcoKS52YWxpZCgnZ3JvdXAnKS5yZXF1aXJlZCgpLFxufSlcblxuZXhwb3J0IGNvbnN0IGFycmF5ID0gYmFzZUZpZWxkLmtleXMoe1xuICBuYW1lOiBqb2kuc3RyaW5nKCkucmVxdWlyZWQoKSxcbiAgYWRtaW46IGJhc2VBZG1pbkZpZWxkc1xuICAgIC5rZXlzKHtcbiAgICAgIGNvbXBvbmVudHM6IGJhc2VBZG1pbkNvbXBvbmVudEZpZWxkc1xuICAgICAgICAua2V5cyh7XG4gICAgICAgICAgUm93TGFiZWw6IGNvbXBvbmVudFNjaGVtYSxcbiAgICAgICAgfSlcbiAgICAgICAgLmRlZmF1bHQoe30pLFxuICAgIH0pXG4gICAgLmRlZmF1bHQoe30pLFxuICBkZWZhdWx0VmFsdWU6IGpvaS5hbHRlcm5hdGl2ZXMoKS50cnkoam9pLmFycmF5KCkuaXRlbXMoam9pLm9iamVjdCgpKSwgam9pLmZ1bmMoKSksXG4gIGZpZWxkczogam9pLmFycmF5KCkuaXRlbXMoam9pLmxpbmsoJyNmaWVsZCcpKS5yZXF1aXJlZCgpLFxuICBpbnRlcmZhY2VOYW1lOiBqb2kuc3RyaW5nKCksXG4gIGxhYmVsczogam9pLm9iamVjdCh7XG4gICAgcGx1cmFsOiBqb2lcbiAgICAgIC5hbHRlcm5hdGl2ZXMoKVxuICAgICAgLnRyeShqb2kuc3RyaW5nKCksIGpvaS5vYmplY3QoKS5wYXR0ZXJuKGpvaS5zdHJpbmcoKSwgW2pvaS5zdHJpbmcoKV0pKSxcbiAgICBzaW5ndWxhcjogam9pXG4gICAgICAuYWx0ZXJuYXRpdmVzKClcbiAgICAgIC50cnkoam9pLnN0cmluZygpLCBqb2kub2JqZWN0KCkucGF0dGVybihqb2kuc3RyaW5nKCksIFtqb2kuc3RyaW5nKCldKSksXG4gIH0pLFxuICBtYXhSb3dzOiBqb2kubnVtYmVyKCksXG4gIG1pblJvd3M6IGpvaS5udW1iZXIoKSxcbiAgdHlwZTogam9pLnN0cmluZygpLnZhbGlkKCdhcnJheScpLnJlcXVpcmVkKCksXG59KVxuXG5leHBvcnQgY29uc3QgdXBsb2FkID0gYmFzZUZpZWxkLmtleXMoe1xuICBuYW1lOiBqb2kuc3RyaW5nKCkucmVxdWlyZWQoKSxcbiAgYWRtaW46IGJhc2VBZG1pbkZpZWxkcy5rZXlzKHtcbiAgICBjb21wb25lbnRzOiBiYXNlQWRtaW5Db21wb25lbnRGaWVsZHMua2V5cyh7XG4gICAgICBFcnJvcjogY29tcG9uZW50U2NoZW1hLFxuICAgICAgTGFiZWw6IGNvbXBvbmVudFNjaGVtYSxcbiAgICB9KSxcbiAgfSksXG4gIGRlZmF1bHRWYWx1ZTogam9pLmFsdGVybmF0aXZlcygpLnRyeShqb2kub2JqZWN0KCksIGpvaS5mdW5jKCkpLFxuICBmaWx0ZXJPcHRpb25zOiBqb2kuYWx0ZXJuYXRpdmVzKCkudHJ5KGpvaS5vYmplY3QoKSwgam9pLmZ1bmMoKSksXG4gIG1heERlcHRoOiBqb2kubnVtYmVyKCksXG4gIHJlbGF0aW9uVG86IGpvaS5zdHJpbmcoKS5yZXF1aXJlZCgpLFxuICB0eXBlOiBqb2kuc3RyaW5nKCkudmFsaWQoJ3VwbG9hZCcpLnJlcXVpcmVkKCksXG59KVxuXG5leHBvcnQgY29uc3QgY2hlY2tib3ggPSBiYXNlRmllbGQua2V5cyh7XG4gIG5hbWU6IGpvaS5zdHJpbmcoKS5yZXF1aXJlZCgpLFxuICBhZG1pbjogYmFzZUFkbWluRmllbGRzLmtleXMoe1xuICAgIGNvbXBvbmVudHM6IGJhc2VBZG1pbkNvbXBvbmVudEZpZWxkcy5rZXlzKHtcbiAgICAgIEVycm9yOiBjb21wb25lbnRTY2hlbWEsXG4gICAgICBMYWJlbDogY29tcG9uZW50U2NoZW1hLFxuICAgICAgYWZ0ZXJJbnB1dDogam9pLmFycmF5KCkuaXRlbXMoY29tcG9uZW50U2NoZW1hKSxcbiAgICAgIGJlZm9yZUlucHV0OiBqb2kuYXJyYXkoKS5pdGVtcyhjb21wb25lbnRTY2hlbWEpLFxuICAgIH0pLFxuICB9KSxcbiAgZGVmYXVsdFZhbHVlOiBqb2kuYWx0ZXJuYXRpdmVzKCkudHJ5KGpvaS5ib29sZWFuKCksIGpvaS5mdW5jKCkpLFxuICB0eXBlOiBqb2kuc3RyaW5nKCkudmFsaWQoJ2NoZWNrYm94JykucmVxdWlyZWQoKSxcbn0pXG5cbmV4cG9ydCBjb25zdCBwb2ludCA9IGJhc2VGaWVsZC5rZXlzKHtcbiAgbmFtZTogam9pLnN0cmluZygpLnJlcXVpcmVkKCksXG4gIGFkbWluOiBiYXNlQWRtaW5GaWVsZHMua2V5cyh7XG4gICAgY29tcG9uZW50czogYmFzZUFkbWluQ29tcG9uZW50RmllbGRzLmtleXMoe1xuICAgICAgRXJyb3I6IGNvbXBvbmVudFNjaGVtYSxcbiAgICAgIExhYmVsOiBjb21wb25lbnRTY2hlbWEsXG4gICAgICBhZnRlcklucHV0OiBqb2kuYXJyYXkoKS5pdGVtcyhjb21wb25lbnRTY2hlbWEpLFxuICAgICAgYmVmb3JlSW5wdXQ6IGpvaS5hcnJheSgpLml0ZW1zKGNvbXBvbmVudFNjaGVtYSksXG4gICAgfSksXG4gIH0pLFxuICBkZWZhdWx0VmFsdWU6IGpvaS5hbHRlcm5hdGl2ZXMoKS50cnkoam9pLmFycmF5KCkuaXRlbXMoam9pLm51bWJlcigpKS5tYXgoMikubWluKDIpLCBqb2kuZnVuYygpKSxcbiAgdHlwZTogam9pLnN0cmluZygpLnZhbGlkKCdwb2ludCcpLnJlcXVpcmVkKCksXG59KVxuXG5leHBvcnQgY29uc3QgcmVsYXRpb25zaGlwID0gYmFzZUZpZWxkLmtleXMoe1xuICBuYW1lOiBqb2kuc3RyaW5nKCkucmVxdWlyZWQoKSxcbiAgYWRtaW46IGJhc2VBZG1pbkZpZWxkcy5rZXlzKHtcbiAgICBhbGxvd0NyZWF0ZTogam9pLmJvb2xlYW4oKS5kZWZhdWx0KHRydWUpLFxuICAgIGNvbXBvbmVudHM6IGJhc2VBZG1pbkNvbXBvbmVudEZpZWxkcy5rZXlzKHtcbiAgICAgIEVycm9yOiBjb21wb25lbnRTY2hlbWEsXG4gICAgICBMYWJlbDogY29tcG9uZW50U2NoZW1hLFxuICAgIH0pLFxuICAgIGlzU29ydGFibGU6IGpvaS5ib29sZWFuKCkuZGVmYXVsdChmYWxzZSksXG4gICAgc29ydE9wdGlvbnM6IGpvaS5hbHRlcm5hdGl2ZXMoKS5jb25kaXRpb25hbChqb2kucmVmKCcuLi5yZWxhdGlvblRvJyksIHtcbiAgICAgIGlzOiBqb2kuc3RyaW5nKCksXG4gICAgICBvdGhlcndpc2U6IGpvaS5vYmplY3QoKS5wYXR0ZXJuKGpvaS5zdHJpbmcoKSwgam9pLnN0cmluZygpKSxcbiAgICAgIHRoZW46IGpvaS5zdHJpbmcoKSxcbiAgICB9KSxcbiAgfSksXG4gIGRlZmF1bHRWYWx1ZTogam9pLmFsdGVybmF0aXZlcygpLnRyeShqb2kuZnVuYygpKSxcbiAgZmlsdGVyT3B0aW9uczogam9pLmFsdGVybmF0aXZlcygpLnRyeShqb2kub2JqZWN0KCksIGpvaS5mdW5jKCkpLFxuICBoYXNNYW55OiBqb2kuYm9vbGVhbigpLmRlZmF1bHQoZmFsc2UpLFxuICBtYXg6IGpvaVxuICAgIC5udW1iZXIoKVxuICAgIC53aGVuKCdoYXNNYW55JywgeyBpczogam9pLm5vdCh0cnVlKSwgdGhlbjogam9pLmZvcmJpZGRlbigpIH0pXG4gICAgLndhcm5pbmcoJ2RlcHJlY2F0ZWQnLCB7IG1lc3NhZ2U6ICdVc2UgbWF4Um93cyBpbnN0ZWFkLicgfSksXG4gIG1heERlcHRoOiBqb2kubnVtYmVyKCksXG4gIG1heFJvd3M6IGpvaS5udW1iZXIoKS53aGVuKCdoYXNNYW55JywgeyBpczogam9pLm5vdCh0cnVlKSwgdGhlbjogam9pLmZvcmJpZGRlbigpIH0pLFxuICBtaW46IGpvaVxuICAgIC5udW1iZXIoKVxuICAgIC53aGVuKCdoYXNNYW55JywgeyBpczogam9pLm5vdCh0cnVlKSwgdGhlbjogam9pLmZvcmJpZGRlbigpIH0pXG4gICAgLndhcm5pbmcoJ2RlcHJlY2F0ZWQnLCB7IG1lc3NhZ2U6ICdVc2UgbWluUm93cyBpbnN0ZWFkLicgfSksXG4gIG1pblJvd3M6IGpvaS5udW1iZXIoKS53aGVuKCdoYXNNYW55JywgeyBpczogam9pLm5vdCh0cnVlKSwgdGhlbjogam9pLmZvcmJpZGRlbigpIH0pLFxuICByZWxhdGlvblRvOiBqb2kuYWx0ZXJuYXRpdmVzKCkudHJ5KGpvaS5zdHJpbmcoKS5yZXF1aXJlZCgpLCBqb2kuYXJyYXkoKS5pdGVtcyhqb2kuc3RyaW5nKCkpKSxcbiAgdHlwZTogam9pLnN0cmluZygpLnZhbGlkKCdyZWxhdGlvbnNoaXAnKS5yZXF1aXJlZCgpLFxufSlcblxuZXhwb3J0IGNvbnN0IGJsb2NrcyA9IGJhc2VGaWVsZC5rZXlzKHtcbiAgbmFtZTogam9pLnN0cmluZygpLnJlcXVpcmVkKCksXG4gIGJsb2Nrczogam9pXG4gICAgLmFycmF5KClcbiAgICAuaXRlbXMoXG4gICAgICBqb2kub2JqZWN0KHtcbiAgICAgICAgZmllbGRzOiBqb2kuYXJyYXkoKS5pdGVtcyhqb2kubGluaygnI2ZpZWxkJykpLFxuICAgICAgICBncmFwaFFMOiBqb2kub2JqZWN0KCkua2V5cyh7XG4gICAgICAgICAgc2luZ3VsYXJOYW1lOiBqb2kuc3RyaW5nKCksXG4gICAgICAgIH0pLFxuICAgICAgICBpbWFnZUFsdFRleHQ6IGpvaS5zdHJpbmcoKSxcbiAgICAgICAgaW1hZ2VVUkw6IGpvaS5zdHJpbmcoKSxcbiAgICAgICAgaW50ZXJmYWNlTmFtZTogam9pLnN0cmluZygpLFxuICAgICAgICBsYWJlbHM6IGpvaS5vYmplY3Qoe1xuICAgICAgICAgIHBsdXJhbDogam9pXG4gICAgICAgICAgICAuYWx0ZXJuYXRpdmVzKClcbiAgICAgICAgICAgIC50cnkoam9pLnN0cmluZygpLCBqb2kub2JqZWN0KCkucGF0dGVybihqb2kuc3RyaW5nKCksIFtqb2kuc3RyaW5nKCldKSksXG4gICAgICAgICAgc2luZ3VsYXI6IGpvaVxuICAgICAgICAgICAgLmFsdGVybmF0aXZlcygpXG4gICAgICAgICAgICAudHJ5KGpvaS5zdHJpbmcoKSwgam9pLm9iamVjdCgpLnBhdHRlcm4oam9pLnN0cmluZygpLCBbam9pLnN0cmluZygpXSkpLFxuICAgICAgICB9KSxcbiAgICAgICAgc2x1Zzogam9pLnN0cmluZygpLnJlcXVpcmVkKCksXG4gICAgICAgIGN1c3RvbTogam9pLm9iamVjdCgpLnBhdHRlcm4oam9pLnN0cmluZygpLCBqb2kuYW55KCkpLFxuICAgICAgfSksXG4gICAgKVxuICAgIC5yZXF1aXJlZCgpLFxuICBkZWZhdWx0VmFsdWU6IGpvaS5hbHRlcm5hdGl2ZXMoKS50cnkoam9pLmFycmF5KCkuaXRlbXMoam9pLm9iamVjdCgpKSwgam9pLmZ1bmMoKSksXG4gIGxhYmVsczogam9pLm9iamVjdCh7XG4gICAgcGx1cmFsOiBqb2lcbiAgICAgIC5hbHRlcm5hdGl2ZXMoKVxuICAgICAgLnRyeShqb2kuc3RyaW5nKCksIGpvaS5vYmplY3QoKS5wYXR0ZXJuKGpvaS5zdHJpbmcoKSwgW2pvaS5zdHJpbmcoKV0pKSxcbiAgICBzaW5ndWxhcjogam9pXG4gICAgICAuYWx0ZXJuYXRpdmVzKClcbiAgICAgIC50cnkoam9pLnN0cmluZygpLCBqb2kub2JqZWN0KCkucGF0dGVybihqb2kuc3RyaW5nKCksIFtqb2kuc3RyaW5nKCldKSksXG4gIH0pLFxuICBtYXhSb3dzOiBqb2kubnVtYmVyKCksXG4gIG1pblJvd3M6IGpvaS5udW1iZXIoKSxcbiAgdHlwZTogam9pLnN0cmluZygpLnZhbGlkKCdibG9ja3MnKS5yZXF1aXJlZCgpLFxufSlcblxuZXhwb3J0IGNvbnN0IHJpY2hUZXh0ID0gYmFzZUZpZWxkLmtleXMoe1xuICBuYW1lOiBqb2kuc3RyaW5nKCkucmVxdWlyZWQoKSxcbiAgYWRtaW46IGJhc2VBZG1pbkZpZWxkcy5kZWZhdWx0KCksXG4gIGRlZmF1bHRWYWx1ZTogam9pLmFsdGVybmF0aXZlcygpLnRyeShqb2kuYXJyYXkoKS5pdGVtcyhqb2kub2JqZWN0KCkpLCBqb2kuZnVuYygpLCBqb2kub2JqZWN0KCkpLFxuICBlZGl0b3I6IGpvaVxuICAgIC5vYmplY3QoKVxuICAgIC5rZXlzKHtcbiAgICAgIENlbGxDb21wb25lbnQ6IGNvbXBvbmVudFNjaGVtYS5vcHRpb25hbCgpLFxuICAgICAgRmllbGRDb21wb25lbnQ6IGNvbXBvbmVudFNjaGVtYS5vcHRpb25hbCgpLFxuICAgICAgTGF6eUNlbGxDb21wb25lbnQ6IGpvaS5mdW5jKCkub3B0aW9uYWwoKSxcbiAgICAgIExhenlGaWVsZENvbXBvbmVudDogam9pLmZ1bmMoKS5vcHRpb25hbCgpLFxuICAgICAgYWZ0ZXJSZWFkUHJvbWlzZTogam9pLmZ1bmMoKS5vcHRpb25hbCgpLFxuICAgICAgb3V0cHV0U2NoZW1hOiBqb2kuZnVuYygpLm9wdGlvbmFsKCksXG4gICAgICBwb3B1bGF0aW9uUHJvbWlzZTogam9pLmZ1bmMoKS5vcHRpb25hbCgpLFxuICAgICAgdmFsaWRhdGU6IGpvaS5mdW5jKCkucmVxdWlyZWQoKSxcbiAgICB9KVxuICAgIC51bmtub3duKCksXG4gIHR5cGU6IGpvaS5zdHJpbmcoKS52YWxpZCgncmljaFRleHQnKS5yZXF1aXJlZCgpLFxufSlcblxuZXhwb3J0IGNvbnN0IGRhdGUgPSBiYXNlRmllbGQua2V5cyh7XG4gIG5hbWU6IGpvaS5zdHJpbmcoKS5yZXF1aXJlZCgpLFxuICBhZG1pbjogYmFzZUFkbWluRmllbGRzLmtleXMoe1xuICAgIGNvbXBvbmVudHM6IGJhc2VBZG1pbkNvbXBvbmVudEZpZWxkcy5rZXlzKHtcbiAgICAgIEVycm9yOiBjb21wb25lbnRTY2hlbWEsXG4gICAgICBMYWJlbDogY29tcG9uZW50U2NoZW1hLFxuICAgICAgYWZ0ZXJJbnB1dDogam9pLmFycmF5KCkuaXRlbXMoY29tcG9uZW50U2NoZW1hKSxcbiAgICAgIGJlZm9yZUlucHV0OiBqb2kuYXJyYXkoKS5pdGVtcyhjb21wb25lbnRTY2hlbWEpLFxuICAgIH0pLFxuICAgIGRhdGU6IGpvaS5vYmplY3Qoe1xuICAgICAgZGlzcGxheUZvcm1hdDogam9pLnN0cmluZygpLFxuICAgICAgbWF4RGF0ZTogam9pLmRhdGUoKSxcbiAgICAgIG1heFRpbWU6IGpvaS5kYXRlKCksXG4gICAgICBtaW5EYXRlOiBqb2kuZGF0ZSgpLFxuICAgICAgbWluVGltZTogam9pLmRhdGUoKSxcbiAgICAgIG1vbnRoc1RvU2hvdzogam9pLm51bWJlcigpLFxuICAgICAgb3ZlcnJpZGVzOiBqb2kub2JqZWN0KCkudW5rbm93bigpLFxuICAgICAgcGlja2VyQXBwZWFyYW5jZTogam9pLnN0cmluZygpLFxuICAgICAgdGltZUZvcm1hdDogam9pLnN0cmluZygpLFxuICAgICAgdGltZUludGVydmFsczogam9pLm51bWJlcigpLFxuICAgIH0pLFxuICAgIHBsYWNlaG9sZGVyOiBqb2kuc3RyaW5nKCksXG4gIH0pLFxuICBkZWZhdWx0VmFsdWU6IGpvaS5hbHRlcm5hdGl2ZXMoKS50cnkoam9pLnN0cmluZygpLCBqb2kuZnVuYygpKSxcbiAgdHlwZTogam9pLnN0cmluZygpLnZhbGlkKCdkYXRlJykucmVxdWlyZWQoKSxcbn0pXG5cbmV4cG9ydCBjb25zdCB1aSA9IGpvaS5vYmplY3QoKS5rZXlzKHtcbiAgbmFtZTogam9pLnN0cmluZygpLnJlcXVpcmVkKCksXG4gIGFkbWluOiBqb2lcbiAgICAub2JqZWN0KClcbiAgICAua2V5cyh7XG4gICAgICBjb21wb25lbnRzOiBqb2lcbiAgICAgICAgLm9iamVjdCgpXG4gICAgICAgIC5rZXlzKHtcbiAgICAgICAgICBDZWxsOiBjb21wb25lbnRTY2hlbWEsXG4gICAgICAgICAgRmllbGQ6IGNvbXBvbmVudFNjaGVtYSxcbiAgICAgICAgfSlcbiAgICAgICAgLmRlZmF1bHQoe30pLFxuICAgICAgY29uZGl0aW9uOiBqb2kuZnVuYygpLFxuICAgICAgcG9zaXRpb246IGpvaS5zdHJpbmcoKS52YWxpZCgnc2lkZWJhcicpLFxuICAgICAgd2lkdGg6IGpvaS5zdHJpbmcoKSxcbiAgICB9KVxuICAgIC5kZWZhdWx0KCksXG4gIGN1c3RvbTogam9pLm9iamVjdCgpLnBhdHRlcm4oam9pLnN0cmluZygpLCBqb2kuYW55KCkpLFxuICBsYWJlbDogam9pLmFsdGVybmF0aXZlcygpLnRyeShqb2kuc3RyaW5nKCksIGpvaS5vYmplY3QoKS5wYXR0ZXJuKGpvaS5zdHJpbmcoKSwgW2pvaS5zdHJpbmcoKV0pKSxcbiAgdHlwZTogam9pLnN0cmluZygpLnZhbGlkKCd1aScpLnJlcXVpcmVkKCksXG59KVxuXG5jb25zdCBmaWVsZFNjaGVtYSA9IGpvaVxuICAuYWx0ZXJuYXRpdmVzKClcbiAgLnRyeShcbiAgICB0ZXh0LFxuICAgIG51bWJlcixcbiAgICB0ZXh0YXJlYSxcbiAgICBlbWFpbCxcbiAgICBjb2RlLFxuICAgIGpzb24sXG4gICAgc2VsZWN0LFxuICAgIGdyb3VwLFxuICAgIGFycmF5LFxuICAgIHJvdyxcbiAgICBjb2xsYXBzaWJsZSxcbiAgICB0YWJzLFxuICAgIHJhZGlvLFxuICAgIHJlbGF0aW9uc2hpcCxcbiAgICBjaGVja2JveCxcbiAgICB1cGxvYWQsXG4gICAgcmljaFRleHQsXG4gICAgYmxvY2tzLFxuICAgIGRhdGUsXG4gICAgcG9pbnQsXG4gICAgdWksXG4gIClcbiAgLmlkKCdmaWVsZCcpXG5cbmV4cG9ydCBkZWZhdWx0IGZpZWxkU2NoZW1hXG4iXSwibmFtZXMiOlsiam9pIiwiY29tcG9uZW50U2NoZW1hIiwiYmFzZUFkbWluQ29tcG9uZW50RmllbGRzIiwib2JqZWN0Iiwia2V5cyIsIkNlbGwiLCJGaWVsZCIsIkZpbHRlciIsImRlZmF1bHQiLCJiYXNlQWRtaW5GaWVsZHMiLCJjbGFzc05hbWUiLCJzdHJpbmciLCJjb21wb25lbnRzIiwiY29uZGl0aW9uIiwiZnVuYyIsImRlc2NyaXB0aW9uIiwiYWx0ZXJuYXRpdmVzIiwidHJ5IiwicGF0dGVybiIsImRpc2FibGVCdWxrRWRpdCIsImJvb2xlYW4iLCJkaXNhYmxlZCIsImhpZGRlbiIsImluaXRDb2xsYXBzZWQiLCJwb3NpdGlvbiIsInZhbGlkIiwicmVhZE9ubHkiLCJzdHlsZSIsInVua25vd24iLCJ3aWR0aCIsImJhc2VGaWVsZCIsImFjY2VzcyIsImNyZWF0ZSIsInJlYWQiLCJ1cGRhdGUiLCJhZG1pbiIsImN1c3RvbSIsImFueSIsImhvb2tzIiwiYWZ0ZXJDaGFuZ2UiLCJhcnJheSIsIml0ZW1zIiwiYWZ0ZXJSZWFkIiwiYmVmb3JlQ2hhbmdlIiwiYmVmb3JlVmFsaWRhdGUiLCJpbmRleCIsImxhYmVsIiwibG9jYWxpemVkIiwicmVxdWlyZWQiLCJzYXZlVG9KV1QiLCJ1bmlxdWUiLCJ2YWxpZGF0ZSIsImlkRmllbGQiLCJuYW1lIiwiaW52YWxpZCIsIm5vdCIsInR5cGUiLCJ0ZXh0IiwiYXV0b0NvbXBsZXRlIiwiRXJyb3IiLCJMYWJlbCIsImFmdGVySW5wdXQiLCJiZWZvcmVJbnB1dCIsInBsYWNlaG9sZGVyIiwicnRsIiwiZGVmYXVsdFZhbHVlIiwiaGFzTWFueSIsIm1heExlbmd0aCIsIm51bWJlciIsIm1heFJvd3MiLCJ3aGVuIiwiaXMiLCJ0aGVuIiwiZm9yYmlkZGVuIiwibWluTGVuZ3RoIiwibWluUm93cyIsIm90aGVyd2lzZSIsInN0ZXAiLCJtYXgiLCJtaW4iLCJ0ZXh0YXJlYSIsInJvd3MiLCJlbWFpbCIsImNvZGUiLCJlZGl0b3JPcHRpb25zIiwibGFuZ3VhZ2UiLCJqc29uIiwic2VsZWN0IiwiaXNDbGVhcmFibGUiLCJpc1NvcnRhYmxlIiwiYWxsb3ciLCJvcHRpb25zIiwidmFsdWUiLCJyYWRpbyIsImxheW91dCIsInJvdyIsImZpZWxkcyIsImxpbmsiLCJjb2xsYXBzaWJsZSIsInRhYiIsImV4aXN0IiwiaW50ZXJmYWNlTmFtZSIsInRhYnMiLCJncm91cCIsImhpZGVHdXR0ZXIiLCJSb3dMYWJlbCIsImxhYmVscyIsInBsdXJhbCIsInNpbmd1bGFyIiwidXBsb2FkIiwiZmlsdGVyT3B0aW9ucyIsIm1heERlcHRoIiwicmVsYXRpb25UbyIsImNoZWNrYm94IiwicG9pbnQiLCJyZWxhdGlvbnNoaXAiLCJhbGxvd0NyZWF0ZSIsInNvcnRPcHRpb25zIiwiY29uZGl0aW9uYWwiLCJyZWYiLCJ3YXJuaW5nIiwibWVzc2FnZSIsImJsb2NrcyIsImdyYXBoUUwiLCJzaW5ndWxhck5hbWUiLCJpbWFnZUFsdFRleHQiLCJpbWFnZVVSTCIsInNsdWciLCJyaWNoVGV4dCIsImVkaXRvciIsIkNlbGxDb21wb25lbnQiLCJvcHRpb25hbCIsIkZpZWxkQ29tcG9uZW50IiwiTGF6eUNlbGxDb21wb25lbnQiLCJMYXp5RmllbGRDb21wb25lbnQiLCJhZnRlclJlYWRQcm9taXNlIiwib3V0cHV0U2NoZW1hIiwicG9wdWxhdGlvblByb21pc2UiLCJkYXRlIiwiZGlzcGxheUZvcm1hdCIsIm1heERhdGUiLCJtYXhUaW1lIiwibWluRGF0ZSIsIm1pblRpbWUiLCJtb250aHNUb1Nob3ciLCJvdmVycmlkZXMiLCJwaWNrZXJBcHBlYXJhbmNl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
465
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIi4uLy4uLy4uL3NyYy9maWVsZHMvY29uZmlnL3NjaGVtYS50cyJdLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgam9pIGZyb20gJ2pvaSdcblxuaW1wb3J0IHsgY29tcG9uZW50U2NoZW1hIH0gZnJvbSAnLi4vLi4vY29uZmlnL3NoYXJlZC9jb21wb25lbnRTY2hlbWEuanMnXG5cbmV4cG9ydCBjb25zdCBiYXNlQWRtaW5Db21wb25lbnRGaWVsZHMgPSBqb2lcbiAgLm9iamVjdCgpXG4gIC5rZXlzKHtcbiAgICBDZWxsOiBjb21wb25lbnRTY2hlbWEsXG4gICAgRmllbGQ6IGNvbXBvbmVudFNjaGVtYSxcbiAgICBGaWx0ZXI6IGNvbXBvbmVudFNjaGVtYSxcbiAgfSlcbiAgLmRlZmF1bHQoe30pXG5cbmV4cG9ydCBjb25zdCBiYXNlQWRtaW5GaWVsZHMgPSBqb2kub2JqZWN0KCkua2V5cyh7XG4gIGNsYXNzTmFtZTogam9pLnN0cmluZygpLFxuICBjb21wb25lbnRzOiBiYXNlQWRtaW5Db21wb25lbnRGaWVsZHMsXG4gIGNvbmRpdGlvbjogam9pLmZ1bmMoKSxcbiAgZGVzY3JpcHRpb246IGpvaVxuICAgIC5hbHRlcm5hdGl2ZXMoKVxuICAgIC50cnkoam9pLnN0cmluZygpLCBqb2kub2JqZWN0KCkucGF0dGVybihqb2kuc3RyaW5nKCksIFtqb2kuc3RyaW5nKCldKSwgY29tcG9uZW50U2NoZW1hKSxcbiAgZGlzYWJsZUJ1bGtFZGl0OiBqb2kuYm9vbGVhbigpLmRlZmF1bHQoZmFsc2UpLFxuICBkaXNhYmxlZDogam9pLmJvb2xlYW4oKS5kZWZhdWx0KGZhbHNlKSxcbiAgaGlkZGVuOiBqb2kuYm9vbGVhbigpLmRlZmF1bHQoZmFsc2UpLFxuICBpbml0Q29sbGFwc2VkOiBqb2kuYm9vbGVhbigpLmRlZmF1bHQoZmFsc2UpLFxuICBwb3NpdGlvbjogam9pLnN0cmluZygpLnZhbGlkKCdzaWRlYmFyJyksXG4gIHJlYWRPbmx5OiBqb2kuYm9vbGVhbigpLmRlZmF1bHQoZmFsc2UpLFxuICBzdHlsZTogam9pLm9iamVjdCgpLnVua25vd24oKSxcbiAgd2lkdGg6IGpvaS5zdHJpbmcoKSxcbn0pXG5cbmV4cG9ydCBjb25zdCBiYXNlRmllbGQgPSBqb2lcbiAgLm9iamVjdCgpXG4gIC5rZXlzKHtcbiAgICBhY2Nlc3M6IGpvaS5vYmplY3QoKS5rZXlzKHtcbiAgICAgIGNyZWF0ZTogam9pLmZ1bmMoKSxcbiAgICAgIHJlYWQ6IGpvaS5mdW5jKCksXG4gICAgICB1cGRhdGU6IGpvaS5mdW5jKCksXG4gICAgfSksXG4gICAgYWRtaW46IGJhc2VBZG1pbkZpZWxkcy5kZWZhdWx0KCksXG4gICAgY3VzdG9tOiBqb2kub2JqZWN0KCkucGF0dGVybihqb2kuc3RyaW5nKCksIGpvaS5hbnkoKSksXG4gICAgaGlkZGVuOiBqb2kuYm9vbGVhbigpLmRlZmF1bHQoZmFsc2UpLFxuICAgIGhvb2tzOiBqb2lcbiAgICAgIC5vYmplY3QoKVxuICAgICAgLmtleXMoe1xuICAgICAgICBhZnRlckNoYW5nZTogam9pLmFycmF5KCkuaXRlbXMoam9pLmZ1bmMoKSkuZGVmYXVsdChbXSksXG4gICAgICAgIGFmdGVyUmVhZDogam9pLmFycmF5KCkuaXRlbXMoam9pLmZ1bmMoKSkuZGVmYXVsdChbXSksXG4gICAgICAgIGJlZm9yZUNoYW5nZTogam9pLmFycmF5KCkuaXRlbXMoam9pLmZ1bmMoKSkuZGVmYXVsdChbXSksXG4gICAgICAgIGJlZm9yZVZhbGlkYXRlOiBqb2kuYXJyYXkoKS5pdGVtcyhqb2kuZnVuYygpKS5kZWZhdWx0KFtdKSxcbiAgICAgIH0pXG4gICAgICAuZGVmYXVsdCgpLFxuICAgIGluZGV4OiBqb2kuYm9vbGVhbigpLmRlZmF1bHQoZmFsc2UpLFxuICAgIGxhYmVsOiBqb2lcbiAgICAgIC5hbHRlcm5hdGl2ZXMoKVxuICAgICAgLnRyeShqb2kub2JqZWN0KCkucGF0dGVybihqb2kuc3RyaW5nKCksIFtqb2kuc3RyaW5nKCldKSwgam9pLnN0cmluZygpLCBqb2kudmFsaWQoZmFsc2UpKSxcbiAgICBsb2NhbGl6ZWQ6IGpvaS5ib29sZWFuKCkuZGVmYXVsdChmYWxzZSksXG4gICAgcmVxdWlyZWQ6IGpvaS5ib29sZWFuKCkuZGVmYXVsdChmYWxzZSksXG4gICAgc2F2ZVRvSldUOiBqb2kuYWx0ZXJuYXRpdmVzKCkudHJ5KGpvaS5ib29sZWFuKCksIGpvaS5zdHJpbmcoKSkuZGVmYXVsdChmYWxzZSksXG4gICAgdW5pcXVlOiBqb2kuYm9vbGVhbigpLmRlZmF1bHQoZmFsc2UpLFxuICAgIHZhbGlkYXRlOiBqb2kuZnVuYygpLFxuICB9KVxuICAuZGVmYXVsdCgpXG5cbmV4cG9ydCBjb25zdCBpZEZpZWxkID0gYmFzZUZpZWxkLmtleXMoe1xuICBuYW1lOiBqb2kuc3RyaW5nKCkudmFsaWQoJ2lkJyksXG4gIHR5cGU6IGpvaS5zdHJpbmcoKS52YWxpZCgndGV4dCcsICdudW1iZXInKSxcbiAgbG9jYWxpemVkOiBqb2kuaW52YWxpZCh0cnVlKSxcbiAgcmVxdWlyZWQ6IGpvaS5ub3QoZmFsc2UsIDApLmRlZmF1bHQodHJ1ZSksXG59KVxuXG5leHBvcnQgY29uc3QgdGV4dCA9IGJhc2VGaWVsZC5rZXlzKHtcbiAgbmFtZTogam9pLnN0cmluZygpLnJlcXVpcmVkKCksXG4gIHR5cGU6IGpvaS5zdHJpbmcoKS52YWxpZCgndGV4dCcpLnJlcXVpcmVkKCksXG4gIGFkbWluOiBiYXNlQWRtaW5GaWVsZHMua2V5cyh7XG4gICAgYXV0b0NvbXBsZXRlOiBqb2kuc3RyaW5nKCksXG4gICAgY29tcG9uZW50czogYmFzZUFkbWluQ29tcG9uZW50RmllbGRzLmtleXMoe1xuICAgICAgRXJyb3I6IGNvbXBvbmVudFNjaGVtYSxcbiAgICAgIExhYmVsOiBjb21wb25lbnRTY2hlbWEsXG4gICAgICBhZnRlcklucHV0OiBqb2kuYXJyYXkoKS5pdGVtcyhjb21wb25lbnRTY2hlbWEpLFxuICAgICAgYmVmb3JlSW5wdXQ6IGpvaS5hcnJheSgpLml0ZW1zKGNvbXBvbmVudFNjaGVtYSksXG4gICAgfSksXG4gICAgcGxhY2Vob2xkZXI6IGpvaVxuICAgICAgLmFsdGVybmF0aXZlcygpXG4gICAgICAudHJ5KGpvaS5vYmplY3QoKS5wYXR0ZXJuKGpvaS5zdHJpbmcoKSwgW2pvaS5zdHJpbmcoKV0pLCBqb2kuc3RyaW5nKCkpLFxuICAgIHJ0bDogam9pLmJvb2xlYW4oKSxcbiAgfSksXG4gIGRlZmF1bHRWYWx1ZTogam9pLmFsdGVybmF0aXZlcygpLnRyeShqb2kuc3RyaW5nKCksIGpvaS5mdW5jKCkpLFxuICBoYXNNYW55OiBqb2kuYm9vbGVhbigpLmRlZmF1bHQoZmFsc2UpLFxuICBtYXhMZW5ndGg6IGpvaS5udW1iZXIoKSxcbiAgbWF4Um93czogam9pLm51bWJlcigpLndoZW4oJ2hhc01hbnknLCB7IGlzOiBqb2kubm90KHRydWUpLCB0aGVuOiBqb2kuZm9yYmlkZGVuKCkgfSksXG4gIG1pbkxlbmd0aDogam9pLm51bWJlcigpLFxuICBtaW5Sb3dzOiBqb2kubnVtYmVyKCkud2hlbignaGFzTWFueScsIHsgaXM6IGpvaS5ub3QodHJ1ZSksIHRoZW46IGpvaS5mb3JiaWRkZW4oKSB9KSxcbn0pXG5cbmV4cG9ydCBjb25zdCBudW1iZXIgPSBiYXNlRmllbGQua2V5cyh7XG4gIG5hbWU6IGpvaS5zdHJpbmcoKS5yZXF1aXJlZCgpLFxuICB0eXBlOiBqb2kuc3RyaW5nKCkudmFsaWQoJ251bWJlcicpLnJlcXVpcmVkKCksXG4gIGFkbWluOiBiYXNlQWRtaW5GaWVsZHMua2V5cyh7XG4gICAgYXV0b0NvbXBsZXRlOiBqb2kuc3RyaW5nKCksXG4gICAgY29tcG9uZW50czogYmFzZUFkbWluQ29tcG9uZW50RmllbGRzLmtleXMoe1xuICAgICAgRXJyb3I6IGNvbXBvbmVudFNjaGVtYSxcbiAgICAgIExhYmVsOiBjb21wb25lbnRTY2hlbWEsXG4gICAgICBhZnRlcklucHV0OiBqb2lcbiAgICAgICAgLmFycmF5KClcbiAgICAgICAgLml0ZW1zKGNvbXBvbmVudFNjaGVtYSlcbiAgICAgICAgLndoZW4oJ2hhc01hbnknLCB7IG5vdDogdHJ1ZSwgb3RoZXJ3aXNlOiBqb2kuZm9yYmlkZGVuKCkgfSksXG4gICAgICBiZWZvcmVJbnB1dDogam9pXG4gICAgICAgIC5hcnJheSgpXG4gICAgICAgIC5pdGVtcyhjb21wb25lbnRTY2hlbWEpXG4gICAgICAgIC53aGVuKCdoYXNNYW55JywgeyBub3Q6IHRydWUsIG90aGVyd2lzZTogam9pLmZvcmJpZGRlbigpIH0pLFxuICAgIH0pLFxuICAgIHBsYWNlaG9sZGVyOiBqb2kuc3RyaW5nKCksXG4gICAgc3RlcDogam9pLm51bWJlcigpLFxuICB9KSxcbiAgZGVmYXVsdFZhbHVlOiBqb2kuYWx0ZXJuYXRpdmVzKCkudHJ5KGpvaS5udW1iZXIoKSwgam9pLmZ1bmMoKSksXG4gIGhhc01hbnk6IGpvaS5ib29sZWFuKCkuZGVmYXVsdChmYWxzZSksXG4gIG1heDogam9pLm51bWJlcigpLFxuICBtYXhSb3dzOiBqb2kubnVtYmVyKCkud2hlbignaGFzTWFueScsIHsgaXM6IGpvaS5ub3QodHJ1ZSksIHRoZW46IGpvaS5mb3JiaWRkZW4oKSB9KSxcbiAgbWluOiBqb2kubnVtYmVyKCksXG4gIG1pblJvd3M6IGpvaS5udW1iZXIoKS53aGVuKCdoYXNNYW55JywgeyBpczogam9pLm5vdCh0cnVlKSwgdGhlbjogam9pLmZvcmJpZGRlbigpIH0pLFxufSlcblxuZXhwb3J0IGNvbnN0IHRleHRhcmVhID0gYmFzZUZpZWxkLmtleXMoe1xuICBuYW1lOiBqb2kuc3RyaW5nKCkucmVxdWlyZWQoKSxcbiAgdHlwZTogam9pLnN0cmluZygpLnZhbGlkKCd0ZXh0YXJlYScpLnJlcXVpcmVkKCksXG4gIGFkbWluOiBiYXNlQWRtaW5GaWVsZHMua2V5cyh7XG4gICAgY29tcG9uZW50czogYmFzZUFkbWluQ29tcG9uZW50RmllbGRzLmtleXMoe1xuICAgICAgRXJyb3I6IGNvbXBvbmVudFNjaGVtYSxcbiAgICAgIExhYmVsOiBjb21wb25lbnRTY2hlbWEsXG4gICAgICBhZnRlcklucHV0OiBqb2kuYXJyYXkoKS5pdGVtcyhjb21wb25lbnRTY2hlbWEpLFxuICAgICAgYmVmb3JlSW5wdXQ6IGpvaS5hcnJheSgpLml0ZW1zKGNvbXBvbmVudFNjaGVtYSksXG4gICAgfSksXG4gICAgcGxhY2Vob2xkZXI6IGpvaS5zdHJpbmcoKSxcbiAgICByb3dzOiBqb2kubnVtYmVyKCksXG4gICAgcnRsOiBqb2kuYm9vbGVhbigpLFxuICB9KSxcbiAgZGVmYXVsdFZhbHVlOiBqb2kuYWx0ZXJuYXRpdmVzKCkudHJ5KGpvaS5zdHJpbmcoKSwgam9pLmZ1bmMoKSksXG4gIG1heExlbmd0aDogam9pLm51bWJlcigpLFxuICBtaW5MZW5ndGg6IGpvaS5udW1iZXIoKSxcbn0pXG5cbmV4cG9ydCBjb25zdCBlbWFpbCA9IGJhc2VGaWVsZC5rZXlzKHtcbiAgbmFtZTogam9pLnN0cmluZygpLnJlcXVpcmVkKCksXG4gIHR5cGU6IGpvaS5zdHJpbmcoKS52YWxpZCgnZW1haWwnKS5yZXF1aXJlZCgpLFxuICBhZG1pbjogYmFzZUFkbWluRmllbGRzLmtleXMoe1xuICAgIGF1dG9Db21wbGV0ZTogam9pLnN0cmluZygpLFxuICAgIGNvbXBvbmVudHM6IGJhc2VBZG1pbkNvbXBvbmVudEZpZWxkcy5rZXlzKHtcbiAgICAgIEVycm9yOiBjb21wb25lbnRTY2hlbWEsXG4gICAgICBMYWJlbDogY29tcG9uZW50U2NoZW1hLFxuICAgICAgYWZ0ZXJJbnB1dDogam9pLmFycmF5KCkuaXRlbXMoY29tcG9uZW50U2NoZW1hKSxcbiAgICAgIGJlZm9yZUlucHV0OiBqb2kuYXJyYXkoKS5pdGVtcyhjb21wb25lbnRTY2hlbWEpLFxuICAgIH0pLFxuICAgIHBsYWNlaG9sZGVyOiBqb2kuc3RyaW5nKCksXG4gIH0pLFxuICBkZWZhdWx0VmFsdWU6IGpvaS5hbHRlcm5hdGl2ZXMoKS50cnkoam9pLnN0cmluZygpLCBqb2kuZnVuYygpKSxcbiAgbWF4TGVuZ3RoOiBqb2kubnVtYmVyKCksXG4gIG1pbkxlbmd0aDogam9pLm51bWJlcigpLFxufSlcblxuZXhwb3J0IGNvbnN0IGNvZGUgPSBiYXNlRmllbGQua2V5cyh7XG4gIG5hbWU6IGpvaS5zdHJpbmcoKS5yZXF1aXJlZCgpLFxuICB0eXBlOiBqb2kuc3RyaW5nKCkudmFsaWQoJ2NvZGUnKS5yZXF1aXJlZCgpLFxuICBhZG1pbjogYmFzZUFkbWluRmllbGRzLmtleXMoe1xuICAgIGNvbXBvbmVudHM6IGJhc2VBZG1pbkNvbXBvbmVudEZpZWxkcy5rZXlzKHtcbiAgICAgIEVycm9yOiBjb21wb25lbnRTY2hlbWEsXG4gICAgICBMYWJlbDogY29tcG9uZW50U2NoZW1hLFxuICAgIH0pLFxuICAgIGVkaXRvck9wdGlvbnM6IGpvaS5vYmplY3QoKS51bmtub3duKCksIC8vIEVkaXRvclsnb3B0aW9ucyddIEBtb25hY28tZWRpdG9yL3JlYWN0XG4gICAgbGFuZ3VhZ2U6IGpvaS5zdHJpbmcoKSxcbiAgfSksXG4gIGRlZmF1bHRWYWx1ZTogam9pLmFsdGVybmF0aXZlcygpLnRyeShqb2kuc3RyaW5nKCksIGpvaS5mdW5jKCkpLFxufSlcblxuZXhwb3J0IGNvbnN0IGpzb24gPSBiYXNlRmllbGQua2V5cyh7XG4gIG5hbWU6IGpvaS5zdHJpbmcoKS5yZXF1aXJlZCgpLFxuICB0eXBlOiBqb2kuc3RyaW5nKCkudmFsaWQoJ2pzb24nKS5yZXF1aXJlZCgpLFxuICBhZG1pbjogYmFzZUFkbWluRmllbGRzLmtleXMoe1xuICAgIGNvbXBvbmVudHM6IGJhc2VBZG1pbkNvbXBvbmVudEZpZWxkcy5rZXlzKHtcbiAgICAgIEVycm9yOiBjb21wb25lbnRTY2hlbWEsXG4gICAgICBMYWJlbDogY29tcG9uZW50U2NoZW1hLFxuICAgIH0pLFxuICAgIGVkaXRvck9wdGlvbnM6IGpvaS5vYmplY3QoKS51bmtub3duKCksIC8vIEVkaXRvclsnb3B0aW9ucyddIEBtb25hY28tZWRpdG9yL3JlYWN0XG4gIH0pLFxuICBkZWZhdWx0VmFsdWU6IGpvaS5hbHRlcm5hdGl2ZXMoKS50cnkoam9pLmFycmF5KCksIGpvaS5vYmplY3QoKSksXG59KVxuXG5leHBvcnQgY29uc3Qgc2VsZWN0ID0gYmFzZUZpZWxkLmtleXMoe1xuICBuYW1lOiBqb2kuc3RyaW5nKCkucmVxdWlyZWQoKSxcbiAgdHlwZTogam9pLnN0cmluZygpLnZhbGlkKCdzZWxlY3QnKS5yZXF1aXJlZCgpLFxuICBhZG1pbjogYmFzZUFkbWluRmllbGRzLmtleXMoe1xuICAgIGNvbXBvbmVudHM6IGJhc2VBZG1pbkNvbXBvbmVudEZpZWxkcy5rZXlzKHtcbiAgICAgIEVycm9yOiBjb21wb25lbnRTY2hlbWEsXG4gICAgICBMYWJlbDogY29tcG9uZW50U2NoZW1hLFxuICAgIH0pLFxuICAgIGlzQ2xlYXJhYmxlOiBqb2kuYm9vbGVhbigpLmRlZmF1bHQoZmFsc2UpLFxuICAgIGlzU29ydGFibGU6IGpvaS5ib29sZWFuKCkuZGVmYXVsdChmYWxzZSksXG4gIH0pLFxuICBkZWZhdWx0VmFsdWU6IGpvaVxuICAgIC5hbHRlcm5hdGl2ZXMoKVxuICAgIC50cnkoam9pLnN0cmluZygpLmFsbG93KCcnKSwgam9pLmFycmF5KCkuaXRlbXMoam9pLnN0cmluZygpLmFsbG93KCcnKSksIGpvaS5mdW5jKCkpLFxuICBoYXNNYW55OiBqb2kuYm9vbGVhbigpLmRlZmF1bHQoZmFsc2UpLFxuICBvcHRpb25zOiBqb2lcbiAgICAuYXJyYXkoKVxuICAgIC5taW4oMSlcbiAgICAuaXRlbXMoXG4gICAgICBqb2kuYWx0ZXJuYXRpdmVzKCkudHJ5KFxuICAgICAgICBqb2kuc3RyaW5nKCksXG4gICAgICAgIGpvaS5vYmplY3Qoe1xuICAgICAgICAgIGxhYmVsOiBqb2lcbiAgICAgICAgICAgIC5hbHRlcm5hdGl2ZXMoKVxuICAgICAgICAgICAgLnRyeShqb2kuc3RyaW5nKCksIGpvaS5vYmplY3QoKS5wYXR0ZXJuKGpvaS5zdHJpbmcoKSwgW2pvaS5zdHJpbmcoKV0pKSxcbiAgICAgICAgICB2YWx1ZTogam9pLnN0cmluZygpLnJlcXVpcmVkKCkuYWxsb3coJycpLFxuICAgICAgICB9KSxcbiAgICAgICksXG4gICAgKVxuICAgIC5yZXF1aXJlZCgpLFxufSlcblxuZXhwb3J0IGNvbnN0IHJhZGlvID0gYmFzZUZpZWxkLmtleXMoe1xuICBuYW1lOiBqb2kuc3RyaW5nKCkucmVxdWlyZWQoKSxcbiAgdHlwZTogam9pLnN0cmluZygpLnZhbGlkKCdyYWRpbycpLnJlcXVpcmVkKCksXG4gIGFkbWluOiBiYXNlQWRtaW5GaWVsZHMua2V5cyh7XG4gICAgY29tcG9uZW50czogYmFzZUFkbWluQ29tcG9uZW50RmllbGRzLmtleXMoe1xuICAgICAgRXJyb3I6IGNvbXBvbmVudFNjaGVtYSxcbiAgICAgIExhYmVsOiBjb21wb25lbnRTY2hlbWEsXG4gICAgfSksXG4gICAgbGF5b3V0OiBqb2kuc3RyaW5nKCkudmFsaWQoJ3ZlcnRpY2FsJywgJ2hvcml6b250YWwnKSxcbiAgfSksXG4gIGRlZmF1bHRWYWx1ZTogam9pLmFsdGVybmF0aXZlcygpLnRyeShqb2kuc3RyaW5nKCkuYWxsb3coJycpLCBqb2kuZnVuYygpKSxcbiAgb3B0aW9uczogam9pXG4gICAgLmFycmF5KClcbiAgICAubWluKDEpXG4gICAgLml0ZW1zKFxuICAgICAgam9pLmFsdGVybmF0aXZlcygpLnRyeShcbiAgICAgICAgam9pLnN0cmluZygpLFxuICAgICAgICBqb2kub2JqZWN0KHtcbiAgICAgICAgICBsYWJlbDogam9pXG4gICAgICAgICAgICAuYWx0ZXJuYXRpdmVzKClcbiAgICAgICAgICAgIC50cnkoam9pLnN0cmluZygpLCBqb2kub2JqZWN0KCkucGF0dGVybihqb2kuc3RyaW5nKCksIFtqb2kuc3RyaW5nKCldKSlcbiAgICAgICAgICAgIC5yZXF1aXJlZCgpLFxuICAgICAgICAgIHZhbHVlOiBqb2kuc3RyaW5nKCkucmVxdWlyZWQoKS5hbGxvdygnJyksXG4gICAgICAgIH0pLFxuICAgICAgKSxcbiAgICApXG4gICAgLnJlcXVpcmVkKCksXG59KVxuXG5leHBvcnQgY29uc3Qgcm93ID0gYmFzZUZpZWxkLmtleXMoe1xuICB0eXBlOiBqb2kuc3RyaW5nKCkudmFsaWQoJ3JvdycpLnJlcXVpcmVkKCksXG4gIGFkbWluOiBiYXNlQWRtaW5GaWVsZHMuZGVmYXVsdCgpLFxuICBmaWVsZHM6IGpvaS5hcnJheSgpLml0ZW1zKGpvaS5saW5rKCcjZmllbGQnKSksXG59KVxuXG5leHBvcnQgY29uc3QgY29sbGFwc2libGUgPSBiYXNlRmllbGQua2V5cyh7XG4gIHR5cGU6IGpvaS5zdHJpbmcoKS52YWxpZCgnY29sbGFwc2libGUnKS5yZXF1aXJlZCgpLFxuICBhZG1pbjogYmFzZUFkbWluRmllbGRzLmRlZmF1bHQoKSxcbiAgZmllbGRzOiBqb2kuYXJyYXkoKS5pdGVtcyhqb2kubGluaygnI2ZpZWxkJykpLFxuICBsYWJlbDogam9pLmFsdGVybmF0aXZlcygpLnRyeShqb2kuc3RyaW5nKCksIGNvbXBvbmVudFNjaGVtYSksXG59KVxuXG5jb25zdCB0YWIgPSBiYXNlRmllbGQua2V5cyh7XG4gIG5hbWU6IGpvaS5zdHJpbmcoKS53aGVuKCdsb2NhbGl6ZWQnLCB7IGlzOiBqb2kuZXhpc3QoKSwgdGhlbjogam9pLnJlcXVpcmVkKCkgfSksXG4gIGRlc2NyaXB0aW9uOiBqb2kuYWx0ZXJuYXRpdmVzKCkudHJ5KGpvaS5zdHJpbmcoKSwgY29tcG9uZW50U2NoZW1hKSxcbiAgZmllbGRzOiBqb2kuYXJyYXkoKS5pdGVtcyhqb2kubGluaygnI2ZpZWxkJykpLnJlcXVpcmVkKCksXG4gIGludGVyZmFjZU5hbWU6IGpvaS5zdHJpbmcoKS53aGVuKCduYW1lJywgeyBub3Q6IGpvaS5leGlzdCgpLCB0aGVuOiBqb2kuZm9yYmlkZGVuKCkgfSksXG4gIGxhYmVsOiBqb2lcbiAgICAuYWx0ZXJuYXRpdmVzKClcbiAgICAudHJ5KGpvaS5zdHJpbmcoKSwgam9pLm9iamVjdCgpLnBhdHRlcm4oam9pLnN0cmluZygpLCBbam9pLnN0cmluZygpXSkpXG4gICAgLndoZW4oJ25hbWUnLCB7IGlzOiBqb2kubm90KCksIHRoZW46IGpvaS5yZXF1aXJlZCgpIH0pLFxuICBsb2NhbGl6ZWQ6IGpvaS5ib29sZWFuKCksXG4gIHNhdmVUb0pXVDogam9pLmFsdGVybmF0aXZlcygpLnRyeShqb2kuYm9vbGVhbigpLCBqb2kuc3RyaW5nKCkpLFxufSlcblxuZXhwb3J0IGNvbnN0IHRhYnMgPSBiYXNlRmllbGQua2V5cyh7XG4gIHR5cGU6IGpvaS5zdHJpbmcoKS52YWxpZCgndGFicycpLnJlcXVpcmVkKCksXG4gIGFkbWluOiBiYXNlQWRtaW5GaWVsZHMua2V5cyh7XG4gICAgZGVzY3JpcHRpb246IGpvaS5mb3JiaWRkZW4oKSxcbiAgfSksXG4gIGZpZWxkczogam9pLmZvcmJpZGRlbigpLFxuICBsb2NhbGl6ZWQ6IGpvaS5mb3JiaWRkZW4oKSxcbiAgdGFiczogam9pLmFycmF5KCkuaXRlbXModGFiKS5yZXF1aXJlZCgpLFxufSlcblxuZXhwb3J0IGNvbnN0IGdyb3VwID0gYmFzZUZpZWxkLmtleXMoe1xuICBuYW1lOiBqb2kuc3RyaW5nKCkucmVxdWlyZWQoKSxcbiAgdHlwZTogam9pLnN0cmluZygpLnZhbGlkKCdncm91cCcpLnJlcXVpcmVkKCksXG4gIGFkbWluOiBiYXNlQWRtaW5GaWVsZHMua2V5cyh7XG4gICAgaGlkZUd1dHRlcjogam9pLmJvb2xlYW4oKS5kZWZhdWx0KHRydWUpLFxuICB9KSxcbiAgZGVmYXVsdFZhbHVlOiBqb2kuYWx0ZXJuYXRpdmVzKCkudHJ5KGpvaS5vYmplY3QoKSwgam9pLmZ1bmMoKSksXG4gIGZpZWxkczogam9pLmFycmF5KCkuaXRlbXMoam9pLmxpbmsoJyNmaWVsZCcpKSxcbiAgaW50ZXJmYWNlTmFtZTogam9pLnN0cmluZygpLFxufSlcblxuZXhwb3J0IGNvbnN0IGFycmF5ID0gYmFzZUZpZWxkLmtleXMoe1xuICBuYW1lOiBqb2kuc3RyaW5nKCkucmVxdWlyZWQoKSxcbiAgdHlwZTogam9pLnN0cmluZygpLnZhbGlkKCdhcnJheScpLnJlcXVpcmVkKCksXG4gIGFkbWluOiBiYXNlQWRtaW5GaWVsZHNcbiAgICAua2V5cyh7XG4gICAgICBjb21wb25lbnRzOiBiYXNlQWRtaW5Db21wb25lbnRGaWVsZHNcbiAgICAgICAgLmtleXMoe1xuICAgICAgICAgIFJvd0xhYmVsOiBjb21wb25lbnRTY2hlbWEsXG4gICAgICAgIH0pXG4gICAgICAgIC5kZWZhdWx0KHt9KSxcbiAgICB9KVxuICAgIC5kZWZhdWx0KHt9KSxcbiAgZGVmYXVsdFZhbHVlOiBqb2kuYWx0ZXJuYXRpdmVzKCkudHJ5KGpvaS5hcnJheSgpLml0ZW1zKGpvaS5vYmplY3QoKSksIGpvaS5mdW5jKCkpLFxuICBmaWVsZHM6IGpvaS5hcnJheSgpLml0ZW1zKGpvaS5saW5rKCcjZmllbGQnKSkucmVxdWlyZWQoKSxcbiAgaW50ZXJmYWNlTmFtZTogam9pLnN0cmluZygpLFxuICBsYWJlbHM6IGpvaS5vYmplY3Qoe1xuICAgIHBsdXJhbDogam9pXG4gICAgICAuYWx0ZXJuYXRpdmVzKClcbiAgICAgIC50cnkoam9pLnN0cmluZygpLCBqb2kub2JqZWN0KCkucGF0dGVybihqb2kuc3RyaW5nKCksIFtqb2kuc3RyaW5nKCldKSksXG4gICAgc2luZ3VsYXI6IGpvaVxuICAgICAgLmFsdGVybmF0aXZlcygpXG4gICAgICAudHJ5KGpvaS5zdHJpbmcoKSwgam9pLm9iamVjdCgpLnBhdHRlcm4oam9pLnN0cmluZygpLCBbam9pLnN0cmluZygpXSkpLFxuICB9KSxcbiAgbWF4Um93czogam9pLm51bWJlcigpLFxuICBtaW5Sb3dzOiBqb2kubnVtYmVyKCksXG59KVxuXG5leHBvcnQgY29uc3QgdXBsb2FkID0gYmFzZUZpZWxkLmtleXMoe1xuICBuYW1lOiBqb2kuc3RyaW5nKCkucmVxdWlyZWQoKSxcbiAgdHlwZTogam9pLnN0cmluZygpLnZhbGlkKCd1cGxvYWQnKS5yZXF1aXJlZCgpLFxuICBhZG1pbjogYmFzZUFkbWluRmllbGRzLmtleXMoe1xuICAgIGNvbXBvbmVudHM6IGJhc2VBZG1pbkNvbXBvbmVudEZpZWxkcy5rZXlzKHtcbiAgICAgIEVycm9yOiBjb21wb25lbnRTY2hlbWEsXG4gICAgICBMYWJlbDogY29tcG9uZW50U2NoZW1hLFxuICAgIH0pLFxuICB9KSxcbiAgZGVmYXVsdFZhbHVlOiBqb2kuYWx0ZXJuYXRpdmVzKCkudHJ5KGpvaS5vYmplY3QoKSwgam9pLmZ1bmMoKSksXG4gIGZpbHRlck9wdGlvbnM6IGpvaS5hbHRlcm5hdGl2ZXMoKS50cnkoam9pLm9iamVjdCgpLCBqb2kuZnVuYygpKSxcbiAgbWF4RGVwdGg6IGpvaS5udW1iZXIoKSxcbiAgcmVsYXRpb25Ubzogam9pLnN0cmluZygpLnJlcXVpcmVkKCksXG59KVxuXG5leHBvcnQgY29uc3QgY2hlY2tib3ggPSBiYXNlRmllbGQua2V5cyh7XG4gIG5hbWU6IGpvaS5zdHJpbmcoKS5yZXF1aXJlZCgpLFxuICB0eXBlOiBqb2kuc3RyaW5nKCkudmFsaWQoJ2NoZWNrYm94JykucmVxdWlyZWQoKSxcbiAgYWRtaW46IGJhc2VBZG1pbkZpZWxkcy5rZXlzKHtcbiAgICBjb21wb25lbnRzOiBiYXNlQWRtaW5Db21wb25lbnRGaWVsZHMua2V5cyh7XG4gICAgICBFcnJvcjogY29tcG9uZW50U2NoZW1hLFxuICAgICAgTGFiZWw6IGNvbXBvbmVudFNjaGVtYSxcbiAgICAgIGFmdGVySW5wdXQ6IGpvaS5hcnJheSgpLml0ZW1zKGNvbXBvbmVudFNjaGVtYSksXG4gICAgICBiZWZvcmVJbnB1dDogam9pLmFycmF5KCkuaXRlbXMoY29tcG9uZW50U2NoZW1hKSxcbiAgICB9KSxcbiAgfSksXG4gIGRlZmF1bHRWYWx1ZTogam9pLmFsdGVybmF0aXZlcygpLnRyeShqb2kuYm9vbGVhbigpLCBqb2kuZnVuYygpKSxcbn0pXG5cbmV4cG9ydCBjb25zdCBwb2ludCA9IGJhc2VGaWVsZC5rZXlzKHtcbiAgbmFtZTogam9pLnN0cmluZygpLnJlcXVpcmVkKCksXG4gIHR5cGU6IGpvaS5zdHJpbmcoKS52YWxpZCgncG9pbnQnKS5yZXF1aXJlZCgpLFxuICBhZG1pbjogYmFzZUFkbWluRmllbGRzLmtleXMoe1xuICAgIGNvbXBvbmVudHM6IGJhc2VBZG1pbkNvbXBvbmVudEZpZWxkcy5rZXlzKHtcbiAgICAgIEVycm9yOiBjb21wb25lbnRTY2hlbWEsXG4gICAgICBMYWJlbDogY29tcG9uZW50U2NoZW1hLFxuICAgICAgYWZ0ZXJJbnB1dDogam9pLmFycmF5KCkuaXRlbXMoY29tcG9uZW50U2NoZW1hKSxcbiAgICAgIGJlZm9yZUlucHV0OiBqb2kuYXJyYXkoKS5pdGVtcyhjb21wb25lbnRTY2hlbWEpLFxuICAgIH0pLFxuICB9KSxcbiAgZGVmYXVsdFZhbHVlOiBqb2kuYWx0ZXJuYXRpdmVzKCkudHJ5KGpvaS5hcnJheSgpLml0ZW1zKGpvaS5udW1iZXIoKSkubWF4KDIpLm1pbigyKSwgam9pLmZ1bmMoKSksXG59KVxuXG5leHBvcnQgY29uc3QgcmVsYXRpb25zaGlwID0gYmFzZUZpZWxkLmtleXMoe1xuICBuYW1lOiBqb2kuc3RyaW5nKCkucmVxdWlyZWQoKSxcbiAgdHlwZTogam9pLnN0cmluZygpLnZhbGlkKCdyZWxhdGlvbnNoaXAnKS5yZXF1aXJlZCgpLFxuICBhZG1pbjogYmFzZUFkbWluRmllbGRzLmtleXMoe1xuICAgIGFsbG93Q3JlYXRlOiBqb2kuYm9vbGVhbigpLmRlZmF1bHQodHJ1ZSksXG4gICAgY29tcG9uZW50czogYmFzZUFkbWluQ29tcG9uZW50RmllbGRzLmtleXMoe1xuICAgICAgRXJyb3I6IGNvbXBvbmVudFNjaGVtYSxcbiAgICAgIExhYmVsOiBjb21wb25lbnRTY2hlbWEsXG4gICAgfSksXG4gICAgaXNTb3J0YWJsZTogam9pLmJvb2xlYW4oKS5kZWZhdWx0KGZhbHNlKSxcbiAgICBzb3J0T3B0aW9uczogam9pLmFsdGVybmF0aXZlcygpLmNvbmRpdGlvbmFsKGpvaS5yZWYoJy4uLnJlbGF0aW9uVG8nKSwge1xuICAgICAgaXM6IGpvaS5zdHJpbmcoKSxcbiAgICAgIG90aGVyd2lzZTogam9pLm9iamVjdCgpLnBhdHRlcm4oam9pLnN0cmluZygpLCBqb2kuc3RyaW5nKCkpLFxuICAgICAgdGhlbjogam9pLnN0cmluZygpLFxuICAgIH0pLFxuICB9KSxcbiAgZGVmYXVsdFZhbHVlOiBqb2kuYWx0ZXJuYXRpdmVzKCkudHJ5KGpvaS5mdW5jKCkpLFxuICBmaWx0ZXJPcHRpb25zOiBqb2kuYWx0ZXJuYXRpdmVzKCkudHJ5KGpvaS5vYmplY3QoKSwgam9pLmZ1bmMoKSksXG4gIGhhc01hbnk6IGpvaS5ib29sZWFuKCkuZGVmYXVsdChmYWxzZSksXG4gIG1heDogam9pXG4gICAgLm51bWJlcigpXG4gICAgLndoZW4oJ2hhc01hbnknLCB7IGlzOiBqb2kubm90KHRydWUpLCB0aGVuOiBqb2kuZm9yYmlkZGVuKCkgfSlcbiAgICAud2FybmluZygnZGVwcmVjYXRlZCcsIHsgbWVzc2FnZTogJ1VzZSBtYXhSb3dzIGluc3RlYWQuJyB9KSxcbiAgbWF4RGVwdGg6IGpvaS5udW1iZXIoKSxcbiAgbWF4Um93czogam9pLm51bWJlcigpLndoZW4oJ2hhc01hbnknLCB7IGlzOiBqb2kubm90KHRydWUpLCB0aGVuOiBqb2kuZm9yYmlkZGVuKCkgfSksXG4gIG1pbjogam9pXG4gICAgLm51bWJlcigpXG4gICAgLndoZW4oJ2hhc01hbnknLCB7IGlzOiBqb2kubm90KHRydWUpLCB0aGVuOiBqb2kuZm9yYmlkZGVuKCkgfSlcbiAgICAud2FybmluZygnZGVwcmVjYXRlZCcsIHsgbWVzc2FnZTogJ1VzZSBtaW5Sb3dzIGluc3RlYWQuJyB9KSxcbiAgbWluUm93czogam9pLm51bWJlcigpLndoZW4oJ2hhc01hbnknLCB7IGlzOiBqb2kubm90KHRydWUpLCB0aGVuOiBqb2kuZm9yYmlkZGVuKCkgfSksXG4gIHJlbGF0aW9uVG86IGpvaS5hbHRlcm5hdGl2ZXMoKS50cnkoam9pLnN0cmluZygpLnJlcXVpcmVkKCksIGpvaS5hcnJheSgpLml0ZW1zKGpvaS5zdHJpbmcoKSkpLFxufSlcblxuZXhwb3J0IGNvbnN0IGJsb2NrcyA9IGJhc2VGaWVsZC5rZXlzKHtcbiAgbmFtZTogam9pLnN0cmluZygpLnJlcXVpcmVkKCksXG4gIHR5cGU6IGpvaS5zdHJpbmcoKS52YWxpZCgnYmxvY2tzJykucmVxdWlyZWQoKSxcbiAgYmxvY2tzOiBqb2lcbiAgICAuYXJyYXkoKVxuICAgIC5pdGVtcyhcbiAgICAgIGpvaS5vYmplY3Qoe1xuICAgICAgICBzbHVnOiBqb2kuc3RyaW5nKCkucmVxdWlyZWQoKSxcbiAgICAgICAgY3VzdG9tOiBqb2kub2JqZWN0KCkucGF0dGVybihqb2kuc3RyaW5nKCksIGpvaS5hbnkoKSksXG4gICAgICAgIGZpZWxkczogam9pLmFycmF5KCkuaXRlbXMoam9pLmxpbmsoJyNmaWVsZCcpKSxcbiAgICAgICAgZ3JhcGhRTDogam9pLm9iamVjdCgpLmtleXMoe1xuICAgICAgICAgIHNpbmd1bGFyTmFtZTogam9pLnN0cmluZygpLFxuICAgICAgICB9KSxcbiAgICAgICAgaW1hZ2VBbHRUZXh0OiBqb2kuc3RyaW5nKCksXG4gICAgICAgIGltYWdlVVJMOiBqb2kuc3RyaW5nKCksXG4gICAgICAgIGludGVyZmFjZU5hbWU6IGpvaS5zdHJpbmcoKSxcbiAgICAgICAgbGFiZWxzOiBqb2kub2JqZWN0KHtcbiAgICAgICAgICBwbHVyYWw6IGpvaVxuICAgICAgICAgICAgLmFsdGVybmF0aXZlcygpXG4gICAgICAgICAgICAudHJ5KGpvaS5zdHJpbmcoKSwgam9pLm9iamVjdCgpLnBhdHRlcm4oam9pLnN0cmluZygpLCBbam9pLnN0cmluZygpXSkpLFxuICAgICAgICAgIHNpbmd1bGFyOiBqb2lcbiAgICAgICAgICAgIC5hbHRlcm5hdGl2ZXMoKVxuICAgICAgICAgICAgLnRyeShqb2kuc3RyaW5nKCksIGpvaS5vYmplY3QoKS5wYXR0ZXJuKGpvaS5zdHJpbmcoKSwgW2pvaS5zdHJpbmcoKV0pKSxcbiAgICAgICAgfSksXG4gICAgICB9KSxcbiAgICApXG4gICAgLnJlcXVpcmVkKCksXG4gIGRlZmF1bHRWYWx1ZTogam9pLmFsdGVybmF0aXZlcygpLnRyeShqb2kuYXJyYXkoKS5pdGVtcyhqb2kub2JqZWN0KCkpLCBqb2kuZnVuYygpKSxcbiAgbGFiZWxzOiBqb2kub2JqZWN0KHtcbiAgICBwbHVyYWw6IGpvaVxuICAgICAgLmFsdGVybmF0aXZlcygpXG4gICAgICAudHJ5KGpvaS5zdHJpbmcoKSwgam9pLm9iamVjdCgpLnBhdHRlcm4oam9pLnN0cmluZygpLCBbam9pLnN0cmluZygpXSkpLFxuICAgIHNpbmd1bGFyOiBqb2lcbiAgICAgIC5hbHRlcm5hdGl2ZXMoKVxuICAgICAgLnRyeShqb2kuc3RyaW5nKCksIGpvaS5vYmplY3QoKS5wYXR0ZXJuKGpvaS5zdHJpbmcoKSwgW2pvaS5zdHJpbmcoKV0pKSxcbiAgfSksXG4gIG1heFJvd3M6IGpvaS5udW1iZXIoKSxcbiAgbWluUm93czogam9pLm51bWJlcigpLFxufSlcblxuZXhwb3J0IGNvbnN0IHJpY2hUZXh0ID0gYmFzZUZpZWxkLmtleXMoe1xuICBuYW1lOiBqb2kuc3RyaW5nKCkucmVxdWlyZWQoKSxcbiAgdHlwZTogam9pLnN0cmluZygpLnZhbGlkKCdyaWNoVGV4dCcpLnJlcXVpcmVkKCksXG4gIGFkbWluOiBiYXNlQWRtaW5GaWVsZHMuZGVmYXVsdCgpLFxuICBkZWZhdWx0VmFsdWU6IGpvaS5hbHRlcm5hdGl2ZXMoKS50cnkoam9pLmFycmF5KCkuaXRlbXMoam9pLm9iamVjdCgpKSwgam9pLmZ1bmMoKSwgam9pLm9iamVjdCgpKSxcbiAgZWRpdG9yOiBqb2lcbiAgICAub2JqZWN0KClcbiAgICAua2V5cyh7XG4gICAgICBDZWxsQ29tcG9uZW50OiBjb21wb25lbnRTY2hlbWEub3B0aW9uYWwoKSxcbiAgICAgIEZpZWxkQ29tcG9uZW50OiBjb21wb25lbnRTY2hlbWEub3B0aW9uYWwoKSxcbiAgICAgIExhenlDZWxsQ29tcG9uZW50OiBqb2kuZnVuYygpLm9wdGlvbmFsKCksXG4gICAgICBMYXp5RmllbGRDb21wb25lbnQ6IGpvaS5mdW5jKCkub3B0aW9uYWwoKSxcbiAgICAgIGFmdGVyUmVhZFByb21pc2U6IGpvaS5mdW5jKCkub3B0aW9uYWwoKSxcbiAgICAgIG91dHB1dFNjaGVtYTogam9pLmZ1bmMoKS5vcHRpb25hbCgpLFxuICAgICAgcG9wdWxhdGlvblByb21pc2U6IGpvaS5mdW5jKCkub3B0aW9uYWwoKSxcbiAgICAgIHZhbGlkYXRlOiBqb2kuZnVuYygpLnJlcXVpcmVkKCksXG4gICAgfSlcbiAgICAudW5rbm93bigpLFxufSlcblxuZXhwb3J0IGNvbnN0IGRhdGUgPSBiYXNlRmllbGQua2V5cyh7XG4gIG5hbWU6IGpvaS5zdHJpbmcoKS5yZXF1aXJlZCgpLFxuICB0eXBlOiBqb2kuc3RyaW5nKCkudmFsaWQoJ2RhdGUnKS5yZXF1aXJlZCgpLFxuICBhZG1pbjogYmFzZUFkbWluRmllbGRzLmtleXMoe1xuICAgIGNvbXBvbmVudHM6IGJhc2VBZG1pbkNvbXBvbmVudEZpZWxkcy5rZXlzKHtcbiAgICAgIEVycm9yOiBjb21wb25lbnRTY2hlbWEsXG4gICAgICBMYWJlbDogY29tcG9uZW50U2NoZW1hLFxuICAgICAgYWZ0ZXJJbnB1dDogam9pLmFycmF5KCkuaXRlbXMoY29tcG9uZW50U2NoZW1hKSxcbiAgICAgIGJlZm9yZUlucHV0OiBqb2kuYXJyYXkoKS5pdGVtcyhjb21wb25lbnRTY2hlbWEpLFxuICAgIH0pLFxuICAgIGRhdGU6IGpvaS5vYmplY3Qoe1xuICAgICAgZGlzcGxheUZvcm1hdDogam9pLnN0cmluZygpLFxuICAgICAgbWF4RGF0ZTogam9pLmRhdGUoKSxcbiAgICAgIG1heFRpbWU6IGpvaS5kYXRlKCksXG4gICAgICBtaW5EYXRlOiBqb2kuZGF0ZSgpLFxuICAgICAgbWluVGltZTogam9pLmRhdGUoKSxcbiAgICAgIG1vbnRoc1RvU2hvdzogam9pLm51bWJlcigpLFxuICAgICAgb3ZlcnJpZGVzOiBqb2kub2JqZWN0KCkudW5rbm93bigpLFxuICAgICAgcGlja2VyQXBwZWFyYW5jZTogam9pLnN0cmluZygpLFxuICAgICAgdGltZUZvcm1hdDogam9pLnN0cmluZygpLFxuICAgICAgdGltZUludGVydmFsczogam9pLm51bWJlcigpLFxuICAgIH0pLFxuICAgIHBsYWNlaG9sZGVyOiBqb2kuc3RyaW5nKCksXG4gIH0pLFxuICBkZWZhdWx0VmFsdWU6IGpvaS5hbHRlcm5hdGl2ZXMoKS50cnkoam9pLnN0cmluZygpLCBqb2kuZnVuYygpKSxcbn0pXG5cbmV4cG9ydCBjb25zdCB1aSA9IGpvaS5vYmplY3QoKS5rZXlzKHtcbiAgbmFtZTogam9pLnN0cmluZygpLnJlcXVpcmVkKCksXG4gIHR5cGU6IGpvaS5zdHJpbmcoKS52YWxpZCgndWknKS5yZXF1aXJlZCgpLFxuICBhZG1pbjogam9pXG4gICAgLm9iamVjdCgpXG4gICAgLmtleXMoe1xuICAgICAgY29tcG9uZW50czogam9pXG4gICAgICAgIC5vYmplY3QoKVxuICAgICAgICAua2V5cyh7XG4gICAgICAgICAgQ2VsbDogY29tcG9uZW50U2NoZW1hLFxuICAgICAgICAgIEZpZWxkOiBjb21wb25lbnRTY2hlbWEsXG4gICAgICAgIH0pXG4gICAgICAgIC5kZWZhdWx0KHt9KSxcbiAgICAgIGNvbmRpdGlvbjogam9pLmZ1bmMoKSxcbiAgICAgIHBvc2l0aW9uOiBqb2kuc3RyaW5nKCkudmFsaWQoJ3NpZGViYXInKSxcbiAgICAgIHdpZHRoOiBqb2kuc3RyaW5nKCksXG4gICAgfSlcbiAgICAuZGVmYXVsdCgpLFxuICBjdXN0b206IGpvaS5vYmplY3QoKS5wYXR0ZXJuKGpvaS5zdHJpbmcoKSwgam9pLmFueSgpKSxcbiAgbGFiZWw6IGpvaS5hbHRlcm5hdGl2ZXMoKS50cnkoam9pLnN0cmluZygpLCBqb2kub2JqZWN0KCkucGF0dGVybihqb2kuc3RyaW5nKCksIFtqb2kuc3RyaW5nKCldKSksXG59KVxuXG5jb25zdCBmaWVsZFNjaGVtYSA9IGpvaVxuICAuYWx0ZXJuYXRpdmVzKClcbiAgLnRyeShcbiAgICB0ZXh0LFxuICAgIG51bWJlcixcbiAgICB0ZXh0YXJlYSxcbiAgICBlbWFpbCxcbiAgICBjb2RlLFxuICAgIGpzb24sXG4gICAgc2VsZWN0LFxuICAgIGdyb3VwLFxuICAgIGFycmF5LFxuICAgIHJvdyxcbiAgICBjb2xsYXBzaWJsZSxcbiAgICB0YWJzLFxuICAgIHJhZGlvLFxuICAgIHJlbGF0aW9uc2hpcCxcbiAgICBjaGVja2JveCxcbiAgICB1cGxvYWQsXG4gICAgcmljaFRleHQsXG4gICAgYmxvY2tzLFxuICAgIGRhdGUsXG4gICAgcG9pbnQsXG4gICAgdWksXG4gIClcbiAgLmlkKCdmaWVsZCcpXG5cbmV4cG9ydCBkZWZhdWx0IGZpZWxkU2NoZW1hXG4iXSwibmFtZXMiOlsiam9pIiwiY29tcG9uZW50U2NoZW1hIiwiYmFzZUFkbWluQ29tcG9uZW50RmllbGRzIiwib2JqZWN0Iiwia2V5cyIsIkNlbGwiLCJGaWVsZCIsIkZpbHRlciIsImRlZmF1bHQiLCJiYXNlQWRtaW5GaWVsZHMiLCJjbGFzc05hbWUiLCJzdHJpbmciLCJjb21wb25lbnRzIiwiY29uZGl0aW9uIiwiZnVuYyIsImRlc2NyaXB0aW9uIiwiYWx0ZXJuYXRpdmVzIiwidHJ5IiwicGF0dGVybiIsImRpc2FibGVCdWxrRWRpdCIsImJvb2xlYW4iLCJkaXNhYmxlZCIsImhpZGRlbiIsImluaXRDb2xsYXBzZWQiLCJwb3NpdGlvbiIsInZhbGlkIiwicmVhZE9ubHkiLCJzdHlsZSIsInVua25vd24iLCJ3aWR0aCIsImJhc2VGaWVsZCIsImFjY2VzcyIsImNyZWF0ZSIsInJlYWQiLCJ1cGRhdGUiLCJhZG1pbiIsImN1c3RvbSIsImFueSIsImhvb2tzIiwiYWZ0ZXJDaGFuZ2UiLCJhcnJheSIsIml0ZW1zIiwiYWZ0ZXJSZWFkIiwiYmVmb3JlQ2hhbmdlIiwiYmVmb3JlVmFsaWRhdGUiLCJpbmRleCIsImxhYmVsIiwibG9jYWxpemVkIiwicmVxdWlyZWQiLCJzYXZlVG9KV1QiLCJ1bmlxdWUiLCJ2YWxpZGF0ZSIsImlkRmllbGQiLCJuYW1lIiwidHlwZSIsImludmFsaWQiLCJub3QiLCJ0ZXh0IiwiYXV0b0NvbXBsZXRlIiwiRXJyb3IiLCJMYWJlbCIsImFmdGVySW5wdXQiLCJiZWZvcmVJbnB1dCIsInBsYWNlaG9sZGVyIiwicnRsIiwiZGVmYXVsdFZhbHVlIiwiaGFzTWFueSIsIm1heExlbmd0aCIsIm51bWJlciIsIm1heFJvd3MiLCJ3aGVuIiwiaXMiLCJ0aGVuIiwiZm9yYmlkZGVuIiwibWluTGVuZ3RoIiwibWluUm93cyIsIm90aGVyd2lzZSIsInN0ZXAiLCJtYXgiLCJtaW4iLCJ0ZXh0YXJlYSIsInJvd3MiLCJlbWFpbCIsImNvZGUiLCJlZGl0b3JPcHRpb25zIiwibGFuZ3VhZ2UiLCJqc29uIiwic2VsZWN0IiwiaXNDbGVhcmFibGUiLCJpc1NvcnRhYmxlIiwiYWxsb3ciLCJvcHRpb25zIiwidmFsdWUiLCJyYWRpbyIsImxheW91dCIsInJvdyIsImZpZWxkcyIsImxpbmsiLCJjb2xsYXBzaWJsZSIsInRhYiIsImV4aXN0IiwiaW50ZXJmYWNlTmFtZSIsInRhYnMiLCJncm91cCIsImhpZGVHdXR0ZXIiLCJSb3dMYWJlbCIsImxhYmVscyIsInBsdXJhbCIsInNpbmd1bGFyIiwidXBsb2FkIiwiZmlsdGVyT3B0aW9ucyIsIm1heERlcHRoIiwicmVsYXRpb25UbyIsImNoZWNrYm94IiwicG9pbnQiLCJyZWxhdGlvbnNoaXAiLCJhbGxvd0NyZWF0ZSIsInNvcnRPcHRpb25zIiwiY29uZGl0aW9uYWwiLCJyZWYiLCJ3YXJuaW5nIiwibWVzc2FnZSIsImJsb2NrcyIsInNsdWciLCJncmFwaFFMIiwic2luZ3VsYXJOYW1lIiwiaW1hZ2VBbHRUZXh0IiwiaW1hZ2VVUkwiLCJyaWNoVGV4dCIsImVkaXRvciIsIkNlbGxDb21wb25lbnQiLCJvcHRpb25hbCIsIkZpZWxkQ29tcG9uZW50IiwiTGF6eUNlbGxDb21wb25lbnQiLCJMYXp5RmllbGRDb21wb25lbnQiLCJhZnRlclJlYWRQcm9taXNlIiwib3V0cHV0U2NoZW1hIiwicG9wdWxhdGlvblByb21pc2UiLCJkYXRlIiwiZGlzcGxheUZvcm1hdCIsIm1heERhdGUiLCJtYXhUaW1lIiwibWluRGF0ZSIsIm1pblRpbWUiLCJtb250aHNUb1Nob3ciLCJvdmVycmlkZXMiLCJwaWNrZXJBcHBlYXJh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
@@ -1,12 +1,11 @@
1
1
  import type { EditorProps } from '@monaco-editor/react';
2
2
  import type { CSSProperties } from 'react';
3
3
  import type React from 'react';
4
- import type { ConditionalDateProps, Description, ErrorProps, LabelProps, RichTextAdapter, RowLabel } from '../../admin/types';
5
- import type { User } from '../../auth';
6
- import type { SanitizedCollectionConfig, TypeWithID } from '../../collections/config/types';
7
- import type { SanitizedGlobalConfig } from '../../globals/config/types';
8
- import type { PayloadRequest, RequestContext } from '../../types';
9
- import type { Operation, Where } from '../../types';
4
+ import type { ConditionalDateProps, Description, ErrorProps, LabelProps, RichTextAdapter, RowLabel } from '../../admin/types.d.ts';
5
+ import type { User } from '../../auth/index.d.ts';
6
+ import type { SanitizedCollectionConfig, TypeWithID } from '../../collections/config/types.d.ts';
7
+ import type { SanitizedGlobalConfig } from '../../globals/config/types.d.ts';
8
+ import type { Operation, PayloadRequest, RequestContext, Where } from '../../types/index.d.ts';
10
9
  export type FieldHookArgs<T extends TypeWithID = any, P = any, S = any> = {
11
10
  /** The collection which the field belongs to. If the field belongs to a global, this will be null. */
12
11
  collection: SanitizedCollectionConfig | null;
@@ -1 +1 @@
1
- {"version":3,"file":"types.d.ts","sourceRoot":"","sources":["../../../src/fields/config/types.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"types.d.ts","sourceRoot":"","sources":["../../../src/fields/config/types.ts"],"names":[],"mappings":"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"}