payload 3.0.0-alpha.4 → 3.0.0-alpha.40

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 (797) hide show
  1. package/auth.d.ts +5 -5
  2. package/auth.js +5 -44
  3. package/bin.js +17 -1
  4. package/components.d.ts +14 -0
  5. package/components.js +71 -0
  6. package/config.d.ts +10 -10
  7. package/config.js +10 -59
  8. package/database.d.ts +22 -22
  9. package/database.js +21 -108
  10. package/dist/admin/RichText.d.ts +9 -5
  11. package/dist/admin/RichText.d.ts.map +1 -1
  12. package/dist/admin/RichText.js +2 -5
  13. package/dist/admin/elements/Cell.d.ts +2 -2
  14. package/dist/admin/elements/Cell.d.ts.map +1 -1
  15. package/dist/admin/elements/Cell.js +2 -5
  16. package/dist/admin/elements/DatePicker.js +2 -5
  17. package/dist/admin/elements/PreviewButton.js +2 -5
  18. package/dist/admin/elements/PublishButton.js +2 -5
  19. package/dist/admin/elements/SaveButton.js +2 -5
  20. package/dist/admin/elements/SaveDraftButton.js +2 -5
  21. package/dist/admin/elements/Tab.d.ts +3 -3
  22. package/dist/admin/elements/Tab.d.ts.map +1 -1
  23. package/dist/admin/elements/Tab.js +2 -5
  24. package/dist/admin/forms/Error.js +2 -5
  25. package/dist/admin/forms/FieldDescription.js +2 -5
  26. package/dist/admin/forms/FieldTypes.js +2 -5
  27. package/dist/admin/forms/Form.d.ts +22 -0
  28. package/dist/admin/forms/Form.d.ts.map +1 -1
  29. package/dist/admin/forms/Form.js +2 -5
  30. package/dist/admin/forms/Label.js +2 -5
  31. package/dist/admin/forms/RowLabel.d.ts +1 -1
  32. package/dist/admin/forms/RowLabel.d.ts.map +1 -1
  33. package/dist/admin/forms/RowLabel.js +2 -5
  34. package/dist/admin/types.d.ts +19 -18
  35. package/dist/admin/types.d.ts.map +1 -1
  36. package/dist/admin/types.js +2 -5
  37. package/dist/admin/views/types.d.ts +41 -0
  38. package/dist/admin/views/types.d.ts.map +1 -0
  39. package/dist/admin/views/types.js +3 -0
  40. package/dist/assets/assets.d.js +0 -1
  41. package/dist/auth/baseFields/accountLock.d.ts +1 -1
  42. package/dist/auth/baseFields/accountLock.d.ts.map +1 -1
  43. package/dist/auth/baseFields/accountLock.js +6 -16
  44. package/dist/auth/baseFields/apiKey.d.ts +1 -1
  45. package/dist/auth/baseFields/apiKey.d.ts.map +1 -1
  46. package/dist/auth/baseFields/apiKey.js +6 -21
  47. package/dist/auth/baseFields/auth.d.ts +1 -1
  48. package/dist/auth/baseFields/auth.d.ts.map +1 -1
  49. package/dist/auth/baseFields/auth.js +6 -16
  50. package/dist/auth/baseFields/verification.d.ts +1 -1
  51. package/dist/auth/baseFields/verification.d.ts.map +1 -1
  52. package/dist/auth/baseFields/verification.js +8 -18
  53. package/dist/auth/cookies.d.ts +2 -2
  54. package/dist/auth/cookies.d.ts.map +1 -1
  55. package/dist/auth/cookies.js +6 -33
  56. package/dist/auth/crypto.js +7 -30
  57. package/dist/auth/defaultAccess.d.ts +1 -1
  58. package/dist/auth/defaultAccess.d.ts.map +1 -1
  59. package/dist/auth/defaultAccess.js +2 -12
  60. package/dist/auth/defaultUser.d.ts +1 -1
  61. package/dist/auth/defaultUser.d.ts.map +1 -1
  62. package/dist/auth/defaultUser.js +6 -16
  63. package/dist/auth/executeAccess.d.ts +2 -2
  64. package/dist/auth/executeAccess.d.ts.map +1 -1
  65. package/dist/auth/executeAccess.js +5 -15
  66. package/dist/auth/extractJWT.d.ts +1 -1
  67. package/dist/auth/extractJWT.d.ts.map +1 -1
  68. package/dist/auth/extractJWT.js +4 -14
  69. package/dist/auth/getAccessResults.d.ts +2 -2
  70. package/dist/auth/getAccessResults.d.ts.map +1 -1
  71. package/dist/auth/getAccessResults.js +9 -19
  72. package/dist/auth/getAuthenticatedUser.d.ts +1 -1
  73. package/dist/auth/getAuthenticatedUser.d.ts.map +1 -1
  74. package/dist/auth/getAuthenticatedUser.js +2 -12
  75. package/dist/auth/getFieldsToSign.d.ts +2 -2
  76. package/dist/auth/getFieldsToSign.d.ts.map +1 -1
  77. package/dist/auth/getFieldsToSign.js +5 -15
  78. package/dist/auth/index.d.ts +3 -3
  79. package/dist/auth/index.d.ts.map +1 -1
  80. package/dist/auth/index.js +4 -27
  81. package/dist/auth/isLocked.js +2 -12
  82. package/dist/auth/operations/access.d.ts +2 -2
  83. package/dist/auth/operations/access.d.ts.map +1 -1
  84. package/dist/auth/operations/access.js +12 -22
  85. package/dist/auth/operations/forgotPassword.d.ts +2 -2
  86. package/dist/auth/operations/forgotPassword.d.ts.map +1 -1
  87. package/dist/auth/operations/forgotPassword.js +21 -32
  88. package/dist/auth/operations/init.d.ts +1 -1
  89. package/dist/auth/operations/init.d.ts.map +1 -1
  90. package/dist/auth/operations/init.js +2 -12
  91. package/dist/auth/operations/local/forgotPassword.d.ts +3 -3
  92. package/dist/auth/operations/local/forgotPassword.d.ts.map +1 -1
  93. package/dist/auth/operations/local/forgotPassword.js +8 -18
  94. package/dist/auth/operations/local/index.d.ts +5 -5
  95. package/dist/auth/operations/local/index.d.ts.map +1 -1
  96. package/dist/auth/operations/local/index.js +12 -27
  97. package/dist/auth/operations/local/login.d.ts +4 -4
  98. package/dist/auth/operations/local/login.d.ts.map +1 -1
  99. package/dist/auth/operations/local/login.js +8 -18
  100. package/dist/auth/operations/local/resetPassword.d.ts +4 -4
  101. package/dist/auth/operations/local/resetPassword.d.ts.map +1 -1
  102. package/dist/auth/operations/local/resetPassword.js +8 -18
  103. package/dist/auth/operations/local/unlock.d.ts +3 -3
  104. package/dist/auth/operations/local/unlock.d.ts.map +1 -1
  105. package/dist/auth/operations/local/unlock.js +8 -18
  106. package/dist/auth/operations/local/verifyEmail.d.ts +3 -3
  107. package/dist/auth/operations/local/verifyEmail.d.ts.map +1 -1
  108. package/dist/auth/operations/local/verifyEmail.js +8 -18
  109. package/dist/auth/operations/login.d.ts +7 -7
  110. package/dist/auth/operations/login.d.ts.map +1 -1
  111. package/dist/auth/operations/login.js +32 -47
  112. package/dist/auth/operations/logout.d.ts +2 -2
  113. package/dist/auth/operations/logout.d.ts.map +1 -1
  114. package/dist/auth/operations/logout.js +6 -21
  115. package/dist/auth/operations/me.d.ts +3 -3
  116. package/dist/auth/operations/me.d.ts.map +1 -1
  117. package/dist/auth/operations/me.js +4 -19
  118. package/dist/auth/operations/refresh.d.ts +3 -3
  119. package/dist/auth/operations/refresh.d.ts.map +1 -1
  120. package/dist/auth/operations/refresh.js +19 -34
  121. package/dist/auth/operations/registerFirstUser.d.ts +9 -9
  122. package/dist/auth/operations/registerFirstUser.d.ts.map +1 -1
  123. package/dist/auth/operations/registerFirstUser.js +11 -21
  124. package/dist/auth/operations/resetPassword.d.ts +2 -2
  125. package/dist/auth/operations/resetPassword.d.ts.map +1 -1
  126. package/dist/auth/operations/resetPassword.js +21 -43
  127. package/dist/auth/operations/unlock.d.ts +2 -2
  128. package/dist/auth/operations/unlock.d.ts.map +1 -1
  129. package/dist/auth/operations/unlock.js +17 -39
  130. package/dist/auth/operations/verifyEmail.d.ts +2 -2
  131. package/dist/auth/operations/verifyEmail.d.ts.map +1 -1
  132. package/dist/auth/operations/verifyEmail.js +14 -37
  133. package/dist/auth/sendVerificationEmail.d.ts +5 -5
  134. package/dist/auth/sendVerificationEmail.d.ts.map +1 -1
  135. package/dist/auth/sendVerificationEmail.js +4 -14
  136. package/dist/auth/strategies/apiKey.d.ts +2 -2
  137. package/dist/auth/strategies/apiKey.d.ts.map +1 -1
  138. package/dist/auth/strategies/apiKey.js +4 -19
  139. package/dist/auth/strategies/jwt.d.ts +1 -1
  140. package/dist/auth/strategies/jwt.d.ts.map +1 -1
  141. package/dist/auth/strategies/jwt.js +6 -21
  142. package/dist/auth/strategies/local/authenticate.d.ts +1 -1
  143. package/dist/auth/strategies/local/authenticate.d.ts.map +1 -1
  144. package/dist/auth/strategies/local/authenticate.js +6 -21
  145. package/dist/auth/strategies/local/generatePasswordSaltHash.js +7 -22
  146. package/dist/auth/strategies/local/incrementLoginAttempts.d.ts +3 -3
  147. package/dist/auth/strategies/local/incrementLoginAttempts.d.ts.map +1 -1
  148. package/dist/auth/strategies/local/incrementLoginAttempts.js +2 -12
  149. package/dist/auth/strategies/local/register.d.ts +3 -3
  150. package/dist/auth/strategies/local/register.d.ts.map +1 -1
  151. package/dist/auth/strategies/local/register.js +6 -16
  152. package/dist/auth/strategies/local/resetLoginAttempts.d.ts +3 -3
  153. package/dist/auth/strategies/local/resetLoginAttempts.d.ts.map +1 -1
  154. package/dist/auth/strategies/local/resetLoginAttempts.js +2 -12
  155. package/dist/auth/types.d.ts +2 -2
  156. package/dist/auth/types.d.ts.map +1 -1
  157. package/dist/auth/types.js +2 -12
  158. package/dist/bin/generateTypes.d.ts +1 -1
  159. package/dist/bin/generateTypes.d.ts.map +1 -1
  160. package/dist/bin/generateTypes.js +10 -34
  161. package/dist/bin/index.d.ts +1 -1
  162. package/dist/bin/index.d.ts.map +1 -1
  163. package/dist/bin/index.js +25 -69
  164. package/dist/bin/loadEnv.js +13 -26
  165. package/dist/bin/migrate.d.ts +7 -1
  166. package/dist/bin/migrate.d.ts.map +1 -1
  167. package/dist/bin/migrate.js +12 -37
  168. package/dist/bin/register/clientExtensions.d.ts +2 -0
  169. package/dist/bin/register/clientExtensions.d.ts.map +1 -0
  170. package/dist/bin/register/clientExtensions.js +13 -0
  171. package/dist/bin/register/index.d.ts +34 -0
  172. package/dist/bin/register/index.d.ts.map +1 -0
  173. package/dist/bin/register/index.js +95 -0
  174. package/dist/bin/register/read-default-tsconfig.d.ts +4 -0
  175. package/dist/bin/register/read-default-tsconfig.d.ts.map +1 -0
  176. package/dist/bin/register/read-default-tsconfig.js +92 -0
  177. package/dist/bin/register/register.d.ts +15 -0
  178. package/dist/bin/register/register.d.ts.map +1 -0
  179. package/dist/bin/register/register.js +92 -0
  180. package/dist/collections/config/build.d.ts +1 -1
  181. package/dist/collections/config/build.d.ts.map +1 -1
  182. package/dist/collections/config/build.js +2 -12
  183. package/dist/collections/config/defaults.d.ts +5 -5
  184. package/dist/collections/config/defaults.js +9 -32
  185. package/dist/collections/config/sanitize.d.ts +2 -2
  186. package/dist/collections/config/sanitize.d.ts.map +1 -1
  187. package/dist/collections/config/sanitize.js +34 -49
  188. package/dist/collections/config/schema.js +157 -172
  189. package/dist/collections/config/types.d.ts +13 -13
  190. package/dist/collections/config/types.d.ts.map +1 -1
  191. package/dist/collections/config/types.js +2 -5
  192. package/dist/collections/dataloader.d.ts +2 -2
  193. package/dist/collections/dataloader.d.ts.map +1 -1
  194. package/dist/collections/dataloader.js +8 -23
  195. package/dist/collections/operations/create.d.ts +9 -9
  196. package/dist/collections/operations/create.d.ts.map +1 -1
  197. package/dist/collections/operations/create.js +38 -53
  198. package/dist/collections/operations/delete.d.ts +9 -10
  199. package/dist/collections/operations/delete.d.ts.map +1 -1
  200. package/dist/collections/operations/delete.js +27 -42
  201. package/dist/collections/operations/deleteByID.d.ts +2 -3
  202. package/dist/collections/operations/deleteByID.d.ts.map +1 -1
  203. package/dist/collections/operations/deleteByID.js +27 -42
  204. package/dist/collections/operations/docAccess.d.ts +3 -3
  205. package/dist/collections/operations/docAccess.d.ts.map +1 -1
  206. package/dist/collections/operations/docAccess.js +12 -22
  207. package/dist/collections/operations/find.d.ts +3 -4
  208. package/dist/collections/operations/find.d.ts.map +1 -1
  209. package/dist/collections/operations/find.js +25 -40
  210. package/dist/collections/operations/findByID.d.ts +2 -2
  211. package/dist/collections/operations/findByID.d.ts.map +1 -1
  212. package/dist/collections/operations/findByID.js +21 -36
  213. package/dist/collections/operations/findVersionByID.d.ts +3 -3
  214. package/dist/collections/operations/findVersionByID.d.ts.map +1 -1
  215. package/dist/collections/operations/findVersionByID.js +19 -34
  216. package/dist/collections/operations/findVersions.d.ts +4 -5
  217. package/dist/collections/operations/findVersions.d.ts.map +1 -1
  218. package/dist/collections/operations/findVersions.js +20 -35
  219. package/dist/collections/operations/local/create.d.ts +4 -5
  220. package/dist/collections/operations/local/create.d.ts.map +1 -1
  221. package/dist/collections/operations/local/create.js +10 -25
  222. package/dist/collections/operations/local/delete.d.ts +5 -5
  223. package/dist/collections/operations/local/delete.d.ts.map +1 -1
  224. package/dist/collections/operations/local/delete.js +10 -20
  225. package/dist/collections/operations/local/find.d.ts +3 -4
  226. package/dist/collections/operations/local/find.d.ts.map +1 -1
  227. package/dist/collections/operations/local/find.js +8 -18
  228. package/dist/collections/operations/local/findByID.d.ts +2 -4
  229. package/dist/collections/operations/local/findByID.d.ts.map +1 -1
  230. package/dist/collections/operations/local/findByID.js +8 -18
  231. package/dist/collections/operations/local/findVersionByID.d.ts +3 -4
  232. package/dist/collections/operations/local/findVersionByID.d.ts.map +1 -1
  233. package/dist/collections/operations/local/findVersionByID.js +8 -18
  234. package/dist/collections/operations/local/findVersions.d.ts +4 -5
  235. package/dist/collections/operations/local/findVersions.d.ts.map +1 -1
  236. package/dist/collections/operations/local/findVersions.js +8 -18
  237. package/dist/collections/operations/local/index.d.ts +13 -13
  238. package/dist/collections/operations/local/index.d.ts.map +1 -1
  239. package/dist/collections/operations/local/index.js +20 -35
  240. package/dist/collections/operations/local/restoreVersion.d.ts +2 -3
  241. package/dist/collections/operations/local/restoreVersion.d.ts.map +1 -1
  242. package/dist/collections/operations/local/restoreVersion.js +8 -18
  243. package/dist/collections/operations/local/update.d.ts +4 -5
  244. package/dist/collections/operations/local/update.d.ts.map +1 -1
  245. package/dist/collections/operations/local/update.js +12 -27
  246. package/dist/collections/operations/restoreVersion.d.ts +2 -2
  247. package/dist/collections/operations/restoreVersion.d.ts.map +1 -1
  248. package/dist/collections/operations/restoreVersion.js +26 -41
  249. package/dist/collections/operations/update.d.ts +7 -8
  250. package/dist/collections/operations/update.d.ts.map +1 -1
  251. package/dist/collections/operations/update.js +43 -58
  252. package/dist/collections/operations/updateByID.d.ts +9 -9
  253. package/dist/collections/operations/updateByID.d.ts.map +1 -1
  254. package/dist/collections/operations/updateByID.js +44 -59
  255. package/dist/collections/operations/utils.d.ts +12 -12
  256. package/dist/collections/operations/utils.d.ts.map +1 -1
  257. package/dist/collections/operations/utils.js +3 -12
  258. package/dist/config/build.d.ts +1 -1
  259. package/dist/config/build.d.ts.map +1 -1
  260. package/dist/config/build.js +9 -15
  261. package/dist/config/createClientConfig.d.ts +1243 -3
  262. package/dist/config/createClientConfig.d.ts.map +1 -1
  263. package/dist/config/createClientConfig.js +107 -72
  264. package/dist/config/defaults.d.ts +1 -1
  265. package/dist/config/defaults.d.ts.map +1 -1
  266. package/dist/config/defaults.js +4 -19
  267. package/dist/config/find.d.ts +1 -2
  268. package/dist/config/find.d.ts.map +1 -1
  269. package/dist/config/find.js +18 -34
  270. package/dist/config/load.d.ts +2 -2
  271. package/dist/config/load.d.ts.map +1 -1
  272. package/dist/config/load.js +17 -30
  273. package/dist/config/sanitize.d.ts +1 -1
  274. package/dist/config/sanitize.d.ts.map +1 -1
  275. package/dist/config/sanitize.js +25 -40
  276. package/dist/config/schema.d.ts.map +1 -1
  277. package/dist/config/schema.js +116 -133
  278. package/dist/config/shared/adminViewSchema.js +9 -24
  279. package/dist/config/shared/componentSchema.js +21 -50
  280. package/dist/config/types.d.ts +28 -34
  281. package/dist/config/types.d.ts.map +1 -1
  282. package/dist/config/types.js +9 -21
  283. package/dist/config/validate.d.ts +1 -1
  284. package/dist/config/validate.d.ts.map +1 -1
  285. package/dist/config/validate.js +15 -71
  286. package/dist/database/combineQueries.d.ts +1 -1
  287. package/dist/database/combineQueries.d.ts.map +1 -1
  288. package/dist/database/combineQueries.js +4 -14
  289. package/dist/database/createDatabaseAdapter.d.ts +1 -1
  290. package/dist/database/createDatabaseAdapter.d.ts.map +1 -1
  291. package/dist/database/createDatabaseAdapter.js +14 -24
  292. package/dist/database/flattenWhereToOperators.d.ts +1 -1
  293. package/dist/database/flattenWhereToOperators.d.ts.map +1 -1
  294. package/dist/database/flattenWhereToOperators.js +2 -12
  295. package/dist/database/getLocalizedPaths.d.ts +3 -3
  296. package/dist/database/getLocalizedPaths.d.ts.map +1 -1
  297. package/dist/database/getLocalizedPaths.js +7 -22
  298. package/dist/database/migrations/createMigration.d.ts +1 -1
  299. package/dist/database/migrations/createMigration.d.ts.map +1 -1
  300. package/dist/database/migrations/createMigration.js +7 -22
  301. package/dist/database/migrations/getMigrations.d.ts +2 -2
  302. package/dist/database/migrations/getMigrations.d.ts.map +1 -1
  303. package/dist/database/migrations/getMigrations.js +4 -12
  304. package/dist/database/migrations/migrate.d.ts +1 -1
  305. package/dist/database/migrations/migrate.d.ts.map +1 -1
  306. package/dist/database/migrations/migrate.js +12 -22
  307. package/dist/database/migrations/migrateDown.d.ts +1 -1
  308. package/dist/database/migrations/migrateDown.d.ts.map +1 -1
  309. package/dist/database/migrations/migrateDown.js +12 -22
  310. package/dist/database/migrations/migrateRefresh.d.ts +1 -1
  311. package/dist/database/migrations/migrateRefresh.d.ts.map +1 -1
  312. package/dist/database/migrations/migrateRefresh.js +16 -24
  313. package/dist/database/migrations/migrateReset.d.ts +1 -1
  314. package/dist/database/migrations/migrateReset.d.ts.map +1 -1
  315. package/dist/database/migrations/migrateReset.js +12 -22
  316. package/dist/database/migrations/migrateStatus.d.ts +1 -1
  317. package/dist/database/migrations/migrateStatus.d.ts.map +1 -1
  318. package/dist/database/migrations/migrateStatus.js +8 -18
  319. package/dist/database/migrations/migrationTemplate.js +2 -12
  320. package/dist/database/migrations/migrationsCollection.d.ts +1 -1
  321. package/dist/database/migrations/migrationsCollection.d.ts.map +1 -1
  322. package/dist/database/migrations/migrationsCollection.js +2 -12
  323. package/dist/database/migrations/readMigrationFiles.d.ts +2 -2
  324. package/dist/database/migrations/readMigrationFiles.d.ts.map +1 -1
  325. package/dist/database/migrations/readMigrationFiles.js +17 -25
  326. package/dist/database/queryValidation/types.d.ts +2 -2
  327. package/dist/database/queryValidation/types.d.ts.map +1 -1
  328. package/dist/database/queryValidation/types.js +2 -5
  329. package/dist/database/queryValidation/validateQueryPaths.d.ts +5 -5
  330. package/dist/database/queryValidation/validateQueryPaths.d.ts.map +1 -1
  331. package/dist/database/queryValidation/validateQueryPaths.js +13 -28
  332. package/dist/database/queryValidation/validateSearchParams.d.ts +5 -5
  333. package/dist/database/queryValidation/validateSearchParams.d.ts.map +1 -1
  334. package/dist/database/queryValidation/validateSearchParams.js +17 -25
  335. package/dist/database/types.d.ts +11 -9
  336. package/dist/database/types.d.ts.map +1 -1
  337. package/dist/database/types.js +2 -5
  338. package/dist/email/build.d.ts +2 -2
  339. package/dist/email/build.d.ts.map +1 -1
  340. package/dist/email/build.js +11 -26
  341. package/dist/email/defaults.d.ts +1 -1
  342. package/dist/email/defaults.d.ts.map +1 -1
  343. package/dist/email/defaults.js +2 -12
  344. package/dist/email/mockHandler.d.ts +2 -2
  345. package/dist/email/mockHandler.d.ts.map +1 -1
  346. package/dist/email/mockHandler.js +8 -23
  347. package/dist/email/sendEmail.js +2 -12
  348. package/dist/email/types.js +2 -5
  349. package/dist/errors/APIError.js +4 -19
  350. package/dist/errors/AuthenticationError.d.ts +1 -1
  351. package/dist/errors/AuthenticationError.d.ts.map +1 -1
  352. package/dist/errors/AuthenticationError.js +7 -22
  353. package/dist/errors/DuplicateCollection.d.ts +1 -1
  354. package/dist/errors/DuplicateCollection.d.ts.map +1 -1
  355. package/dist/errors/DuplicateCollection.js +4 -19
  356. package/dist/errors/DuplicateFieldName.d.ts +1 -1
  357. package/dist/errors/DuplicateFieldName.d.ts.map +1 -1
  358. package/dist/errors/DuplicateFieldName.js +4 -19
  359. package/dist/errors/DuplicateGlobal.d.ts +2 -2
  360. package/dist/errors/DuplicateGlobal.d.ts.map +1 -1
  361. package/dist/errors/DuplicateGlobal.js +4 -19
  362. package/dist/errors/ErrorDeletingFile.d.ts +1 -1
  363. package/dist/errors/ErrorDeletingFile.d.ts.map +1 -1
  364. package/dist/errors/ErrorDeletingFile.js +7 -22
  365. package/dist/errors/FileUploadError.d.ts +1 -1
  366. package/dist/errors/FileUploadError.d.ts.map +1 -1
  367. package/dist/errors/FileUploadError.js +7 -22
  368. package/dist/errors/Forbidden.d.ts +1 -1
  369. package/dist/errors/Forbidden.d.ts.map +1 -1
  370. package/dist/errors/Forbidden.js +7 -22
  371. package/dist/errors/InvalidConfiguration.d.ts +1 -1
  372. package/dist/errors/InvalidConfiguration.d.ts.map +1 -1
  373. package/dist/errors/InvalidConfiguration.js +6 -21
  374. package/dist/errors/InvalidFieldName.d.ts +2 -2
  375. package/dist/errors/InvalidFieldName.d.ts.map +1 -1
  376. package/dist/errors/InvalidFieldName.js +4 -19
  377. package/dist/errors/InvalidFieldRelationship.d.ts +2 -2
  378. package/dist/errors/InvalidFieldRelationship.d.ts.map +1 -1
  379. package/dist/errors/InvalidFieldRelationship.js +4 -19
  380. package/dist/errors/InvalidSchema.d.ts +1 -1
  381. package/dist/errors/InvalidSchema.d.ts.map +1 -1
  382. package/dist/errors/InvalidSchema.js +6 -21
  383. package/dist/errors/LockedAuth.d.ts +1 -1
  384. package/dist/errors/LockedAuth.d.ts.map +1 -1
  385. package/dist/errors/LockedAuth.js +7 -22
  386. package/dist/errors/MissingCollectionLabel.d.ts +1 -1
  387. package/dist/errors/MissingCollectionLabel.d.ts.map +1 -1
  388. package/dist/errors/MissingCollectionLabel.js +4 -19
  389. package/dist/errors/MissingFieldInputOptions.d.ts +2 -2
  390. package/dist/errors/MissingFieldInputOptions.d.ts.map +1 -1
  391. package/dist/errors/MissingFieldInputOptions.js +4 -19
  392. package/dist/errors/MissingFieldType.d.ts +2 -2
  393. package/dist/errors/MissingFieldType.d.ts.map +1 -1
  394. package/dist/errors/MissingFieldType.js +6 -21
  395. package/dist/errors/MissingFile.d.ts +1 -1
  396. package/dist/errors/MissingFile.d.ts.map +1 -1
  397. package/dist/errors/MissingFile.js +7 -22
  398. package/dist/errors/NotFound.d.ts +1 -1
  399. package/dist/errors/NotFound.d.ts.map +1 -1
  400. package/dist/errors/NotFound.js +7 -22
  401. package/dist/errors/QueryError.d.ts +1 -1
  402. package/dist/errors/QueryError.d.ts.map +1 -1
  403. package/dist/errors/QueryError.js +6 -21
  404. package/dist/errors/TimestampsRequired.d.ts +2 -2
  405. package/dist/errors/TimestampsRequired.d.ts.map +1 -1
  406. package/dist/errors/TimestampsRequired.js +4 -19
  407. package/dist/errors/UnathorizedError.d.ts +1 -1
  408. package/dist/errors/UnathorizedError.d.ts.map +1 -1
  409. package/dist/errors/UnathorizedError.js +7 -22
  410. package/dist/errors/ValidationError.d.ts +1 -1
  411. package/dist/errors/ValidationError.d.ts.map +1 -1
  412. package/dist/errors/ValidationError.js +8 -23
  413. package/dist/errors/index.d.ts +19 -19
  414. package/dist/errors/index.d.ts.map +1 -1
  415. package/dist/errors/index.js +20 -94
  416. package/dist/errors/types.d.ts +1 -1
  417. package/dist/errors/types.d.ts.map +1 -1
  418. package/dist/errors/types.js +2 -19
  419. package/dist/exports/auth.d.ts +5 -5
  420. package/dist/exports/auth.d.ts.map +1 -1
  421. package/dist/exports/auth.js +5 -44
  422. package/dist/exports/components/utilities.js +0 -1
  423. package/dist/exports/config.d.ts +10 -10
  424. package/dist/exports/config.d.ts.map +1 -1
  425. package/dist/exports/config.js +10 -59
  426. package/dist/exports/database.d.ts +22 -22
  427. package/dist/exports/database.d.ts.map +1 -1
  428. package/dist/exports/database.js +21 -108
  429. package/dist/exports/errors.d.ts +1 -1
  430. package/dist/exports/errors.d.ts.map +1 -1
  431. package/dist/exports/errors.js +2 -68
  432. package/dist/exports/fields/index.d.ts +2 -2
  433. package/dist/exports/fields/index.d.ts.map +1 -1
  434. package/dist/exports/fields/index.js +3 -26
  435. package/dist/exports/fields/validations.d.ts +1 -1
  436. package/dist/exports/fields/validations.d.ts.map +1 -1
  437. package/dist/exports/fields/validations.js +2 -19
  438. package/dist/exports/operations.d.ts +28 -28
  439. package/dist/exports/operations.d.ts.map +1 -1
  440. package/dist/exports/operations.js +29 -125
  441. package/dist/exports/types.d.ts +11 -11
  442. package/dist/exports/types.d.ts.map +1 -1
  443. package/dist/exports/types.js +4 -74
  444. package/dist/exports/utilities.d.ts +28 -27
  445. package/dist/exports/utilities.d.ts.map +1 -1
  446. package/dist/exports/utilities.js +29 -141
  447. package/dist/exports/versions.d.ts +9 -9
  448. package/dist/exports/versions.d.ts.map +1 -1
  449. package/dist/exports/versions.js +9 -45
  450. package/dist/fields/baseFields/baseBlockFields.d.ts +1 -1
  451. package/dist/fields/baseFields/baseBlockFields.d.ts.map +1 -1
  452. package/dist/fields/baseFields/baseBlockFields.js +6 -16
  453. package/dist/fields/baseFields/baseIDField.d.ts +1 -1
  454. package/dist/fields/baseFields/baseIDField.d.ts.map +1 -1
  455. package/dist/fields/baseFields/baseIDField.js +7 -21
  456. package/dist/fields/config/sanitize.d.ts +2 -2
  457. package/dist/fields/config/sanitize.d.ts.map +1 -1
  458. package/dist/fields/config/sanitize.js +28 -43
  459. package/dist/fields/config/sanitize.spec.js +25 -29
  460. package/dist/fields/config/schema.js +336 -431
  461. package/dist/fields/config/types.d.ts +5 -6
  462. package/dist/fields/config/types.d.ts.map +1 -1
  463. package/dist/fields/config/types.js +15 -69
  464. package/dist/fields/getDefaultValue.d.ts +1 -1
  465. package/dist/fields/getDefaultValue.d.ts.map +1 -1
  466. package/dist/fields/getDefaultValue.js +2 -12
  467. package/dist/fields/hooks/afterChange/index.d.ts +3 -3
  468. package/dist/fields/hooks/afterChange/index.d.ts.map +1 -1
  469. package/dist/fields/hooks/afterChange/index.js +6 -16
  470. package/dist/fields/hooks/afterChange/promise.d.ts +4 -4
  471. package/dist/fields/hooks/afterChange/promise.d.ts.map +1 -1
  472. package/dist/fields/hooks/afterChange/promise.js +14 -22
  473. package/dist/fields/hooks/afterChange/traverseFields.d.ts +4 -4
  474. package/dist/fields/hooks/afterChange/traverseFields.d.ts.map +1 -1
  475. package/dist/fields/hooks/afterChange/traverseFields.js +4 -14
  476. package/dist/fields/hooks/afterRead/index.d.ts +3 -3
  477. package/dist/fields/hooks/afterRead/index.d.ts.map +1 -1
  478. package/dist/fields/hooks/afterRead/index.js +6 -16
  479. package/dist/fields/hooks/afterRead/promise.d.ts +4 -4
  480. package/dist/fields/hooks/afterRead/promise.d.ts.map +1 -1
  481. package/dist/fields/hooks/afterRead/promise.js +28 -38
  482. package/dist/fields/hooks/afterRead/relationshipPopulationPromise.d.ts +2 -2
  483. package/dist/fields/hooks/afterRead/relationshipPopulationPromise.d.ts.map +1 -1
  484. package/dist/fields/hooks/afterRead/relationshipPopulationPromise.js +5 -15
  485. package/dist/fields/hooks/afterRead/traverseFields.d.ts +4 -4
  486. package/dist/fields/hooks/afterRead/traverseFields.d.ts.map +1 -1
  487. package/dist/fields/hooks/afterRead/traverseFields.js +4 -14
  488. package/dist/fields/hooks/beforeChange/cloneDataFromOriginalDoc.js +2 -12
  489. package/dist/fields/hooks/beforeChange/getExistingRowDoc.js +2 -12
  490. package/dist/fields/hooks/beforeChange/index.d.ts +3 -4
  491. package/dist/fields/hooks/beforeChange/index.d.ts.map +1 -1
  492. package/dist/fields/hooks/beforeChange/index.js +8 -18
  493. package/dist/fields/hooks/beforeChange/promise.d.ts +4 -5
  494. package/dist/fields/hooks/beforeChange/promise.d.ts.map +1 -1
  495. package/dist/fields/hooks/beforeChange/promise.js +26 -35
  496. package/dist/fields/hooks/beforeChange/traverseFields.d.ts +4 -5
  497. package/dist/fields/hooks/beforeChange/traverseFields.d.ts.map +1 -1
  498. package/dist/fields/hooks/beforeChange/traverseFields.js +4 -14
  499. package/dist/fields/hooks/beforeValidate/index.d.ts +3 -3
  500. package/dist/fields/hooks/beforeValidate/index.d.ts.map +1 -1
  501. package/dist/fields/hooks/beforeValidate/index.js +6 -16
  502. package/dist/fields/hooks/beforeValidate/promise.d.ts +4 -4
  503. package/dist/fields/hooks/beforeValidate/promise.d.ts.map +1 -1
  504. package/dist/fields/hooks/beforeValidate/promise.js +30 -39
  505. package/dist/fields/hooks/beforeValidate/traverseFields.d.ts +4 -4
  506. package/dist/fields/hooks/beforeValidate/traverseFields.d.ts.map +1 -1
  507. package/dist/fields/hooks/beforeValidate/traverseFields.js +4 -14
  508. package/dist/fields/mergeBaseFields.d.ts +1 -1
  509. package/dist/fields/mergeBaseFields.d.ts.map +1 -1
  510. package/dist/fields/mergeBaseFields.js +8 -23
  511. package/dist/fields/sortableFieldTypes.js +2 -12
  512. package/dist/fields/validations.d.ts +6 -6
  513. package/dist/fields/validations.d.ts.map +1 -1
  514. package/dist/fields/validations.js +31 -97
  515. package/dist/fields/validations.spec.js +93 -87
  516. package/dist/globals/config/sanitize.d.ts +2 -2
  517. package/dist/globals/config/sanitize.d.ts.map +1 -1
  518. package/dist/globals/config/sanitize.js +23 -34
  519. package/dist/globals/config/schema.js +55 -70
  520. package/dist/globals/config/types.d.ts +11 -11
  521. package/dist/globals/config/types.d.ts.map +1 -1
  522. package/dist/globals/config/types.js +2 -5
  523. package/dist/globals/operations/docAccess.d.ts +3 -3
  524. package/dist/globals/operations/docAccess.d.ts.map +1 -1
  525. package/dist/globals/operations/docAccess.js +12 -22
  526. package/dist/globals/operations/findOne.d.ts +2 -2
  527. package/dist/globals/operations/findOne.d.ts.map +1 -1
  528. package/dist/globals/operations/findOne.js +14 -29
  529. package/dist/globals/operations/findVersionByID.d.ts +3 -3
  530. package/dist/globals/operations/findVersionByID.d.ts.map +1 -1
  531. package/dist/globals/operations/findVersionByID.js +18 -33
  532. package/dist/globals/operations/findVersions.d.ts +4 -5
  533. package/dist/globals/operations/findVersions.d.ts.map +1 -1
  534. package/dist/globals/operations/findVersions.js +20 -35
  535. package/dist/globals/operations/local/findOne.d.ts +2 -4
  536. package/dist/globals/operations/local/findOne.d.ts.map +1 -1
  537. package/dist/globals/operations/local/findOne.js +11 -21
  538. package/dist/globals/operations/local/findVersionByID.d.ts +3 -5
  539. package/dist/globals/operations/local/findVersionByID.d.ts.map +1 -1
  540. package/dist/globals/operations/local/findVersionByID.js +9 -19
  541. package/dist/globals/operations/local/findVersions.d.ts +4 -6
  542. package/dist/globals/operations/local/findVersions.d.ts.map +1 -1
  543. package/dist/globals/operations/local/findVersions.js +9 -19
  544. package/dist/globals/operations/local/index.d.ts +5 -5
  545. package/dist/globals/operations/local/index.d.ts.map +1 -1
  546. package/dist/globals/operations/local/index.js +12 -27
  547. package/dist/globals/operations/local/restoreVersion.d.ts +2 -4
  548. package/dist/globals/operations/local/restoreVersion.d.ts.map +1 -1
  549. package/dist/globals/operations/local/restoreVersion.js +9 -19
  550. package/dist/globals/operations/local/update.d.ts +2 -4
  551. package/dist/globals/operations/local/update.d.ts.map +1 -1
  552. package/dist/globals/operations/local/update.js +9 -19
  553. package/dist/globals/operations/restoreVersion.d.ts +3 -3
  554. package/dist/globals/operations/restoreVersion.d.ts.map +1 -1
  555. package/dist/globals/operations/restoreVersion.js +16 -31
  556. package/dist/globals/operations/update.d.ts +9 -9
  557. package/dist/globals/operations/update.d.ts.map +1 -1
  558. package/dist/globals/operations/update.js +23 -38
  559. package/dist/index.d.ts +29 -29
  560. package/dist/index.d.ts.map +1 -1
  561. package/dist/index.js +50 -71
  562. package/dist/localization/middleware.js +2 -12
  563. package/dist/localization/sanitizeFallbackLocale.js +2 -12
  564. package/dist/preferences/deleteUserPreferences.d.ts +3 -3
  565. package/dist/preferences/deleteUserPreferences.d.ts.map +1 -1
  566. package/dist/preferences/deleteUserPreferences.js +2 -12
  567. package/dist/preferences/operations/delete.d.ts +2 -2
  568. package/dist/preferences/operations/delete.d.ts.map +1 -1
  569. package/dist/preferences/operations/delete.js +10 -25
  570. package/dist/preferences/operations/findOne.d.ts +2 -2
  571. package/dist/preferences/operations/findOne.d.ts.map +1 -1
  572. package/dist/preferences/operations/findOne.js +2 -12
  573. package/dist/preferences/operations/update.d.ts +1 -1
  574. package/dist/preferences/operations/update.d.ts.map +1 -1
  575. package/dist/preferences/operations/update.js +8 -23
  576. package/dist/preferences/preferencesCollection.d.ts +2 -2
  577. package/dist/preferences/preferencesCollection.d.ts.map +1 -1
  578. package/dist/preferences/preferencesCollection.js +8 -18
  579. package/dist/preferences/requestHandlers/delete.d.ts +1 -1
  580. package/dist/preferences/requestHandlers/delete.d.ts.map +1 -1
  581. package/dist/preferences/requestHandlers/delete.js +6 -21
  582. package/dist/preferences/requestHandlers/findOne.d.ts +1 -1
  583. package/dist/preferences/requestHandlers/findOne.d.ts.map +1 -1
  584. package/dist/preferences/requestHandlers/findOne.js +6 -21
  585. package/dist/preferences/requestHandlers/update.d.ts +1 -1
  586. package/dist/preferences/requestHandlers/update.d.ts.map +1 -1
  587. package/dist/preferences/requestHandlers/update.js +6 -21
  588. package/dist/preferences/types.d.ts +2 -2
  589. package/dist/preferences/types.d.ts.map +1 -1
  590. package/dist/preferences/types.js +2 -5
  591. package/dist/translations/extractTranslations.js +4 -14
  592. package/dist/translations/getLocalI18n.d.ts +1 -1
  593. package/dist/translations/getLocalI18n.d.ts.map +1 -1
  594. package/dist/translations/getLocalI18n.js +5 -15
  595. package/dist/types/constants.js +2 -12
  596. package/dist/types/index.d.ts +8 -6
  597. package/dist/types/index.d.ts.map +1 -1
  598. package/dist/types/index.js +2 -12
  599. package/dist/uploads/canResizeImage.js +2 -12
  600. package/dist/uploads/cropImage.d.ts +3 -7
  601. package/dist/uploads/cropImage.d.ts.map +1 -1
  602. package/dist/uploads/cropImage.js +4 -28
  603. package/dist/uploads/deleteAssociatedFiles.d.ts +4 -4
  604. package/dist/uploads/deleteAssociatedFiles.d.ts.map +1 -1
  605. package/dist/uploads/deleteAssociatedFiles.js +11 -26
  606. package/dist/uploads/docWithFilenameExists.d.ts +1 -1
  607. package/dist/uploads/docWithFilenameExists.d.ts.map +1 -1
  608. package/dist/uploads/docWithFilenameExists.js +2 -12
  609. package/dist/uploads/fileExists.js +4 -19
  610. package/dist/uploads/formatFilesize.js +2 -12
  611. package/dist/uploads/generateFileData.d.ts +4 -4
  612. package/dist/uploads/generateFileData.d.ts.map +1 -1
  613. package/dist/uploads/generateFileData.js +42 -55
  614. package/dist/uploads/getBaseFields.d.ts +3 -3
  615. package/dist/uploads/getBaseFields.d.ts.map +1 -1
  616. package/dist/uploads/getBaseFields.js +6 -16
  617. package/dist/uploads/getExternalFile.d.ts +2 -2
  618. package/dist/uploads/getExternalFile.d.ts.map +1 -1
  619. package/dist/uploads/getExternalFile.js +5 -15
  620. package/dist/uploads/getFileByPath.d.ts +1 -1
  621. package/dist/uploads/getFileByPath.d.ts.map +1 -1
  622. package/dist/uploads/getFileByPath.js +11 -25
  623. package/dist/uploads/getImageSize.d.ts +3 -3
  624. package/dist/uploads/getImageSize.d.ts.map +1 -1
  625. package/dist/uploads/getImageSize.js +14 -22
  626. package/dist/uploads/getSafeFilename.d.ts +1 -1
  627. package/dist/uploads/getSafeFilename.d.ts.map +1 -1
  628. package/dist/uploads/getSafeFilename.js +8 -23
  629. package/dist/uploads/imageResizer.d.ts +6 -5
  630. package/dist/uploads/imageResizer.d.ts.map +1 -1
  631. package/dist/uploads/imageResizer.js +29 -44
  632. package/dist/uploads/isImage.js +2 -12
  633. package/dist/uploads/mimeTypeValidator.d.ts +1 -1
  634. package/dist/uploads/mimeTypeValidator.d.ts.map +1 -1
  635. package/dist/uploads/mimeTypeValidator.js +2 -12
  636. package/dist/uploads/mimeTypeValidator.spec.js +11 -15
  637. package/dist/uploads/saveBufferToFile.d.ts +1 -1
  638. package/dist/uploads/saveBufferToFile.js +6 -21
  639. package/dist/uploads/types.d.ts +8 -4
  640. package/dist/uploads/types.d.ts.map +1 -1
  641. package/dist/uploads/types.js +2 -5
  642. package/dist/uploads/unlinkTempFiles.d.ts +3 -3
  643. package/dist/uploads/unlinkTempFiles.d.ts.map +1 -1
  644. package/dist/uploads/unlinkTempFiles.js +9 -22
  645. package/dist/uploads/uploadFiles.d.ts +3 -3
  646. package/dist/uploads/uploadFiles.d.ts.map +1 -1
  647. package/dist/uploads/uploadFiles.js +6 -21
  648. package/dist/utilities/checkDuplicateCollections.d.ts +1 -1
  649. package/dist/utilities/checkDuplicateCollections.d.ts.map +1 -1
  650. package/dist/utilities/checkDuplicateCollections.js +4 -14
  651. package/dist/utilities/combineMerge.js +4 -19
  652. package/dist/utilities/commitTransaction.d.ts +1 -1
  653. package/dist/utilities/commitTransaction.d.ts.map +1 -1
  654. package/dist/utilities/commitTransaction.js +4 -12
  655. package/dist/utilities/configToJSONSchema.d.ts +12 -6
  656. package/dist/utilities/configToJSONSchema.d.ts.map +1 -1
  657. package/dist/utilities/configToJSONSchema.js +82 -97
  658. package/dist/utilities/configToJSONSchema.spec.js +5 -9
  659. package/dist/utilities/convertData.js +3 -23
  660. package/dist/utilities/createArrayFromCommaDelineated.js +2 -12
  661. package/dist/utilities/createLocalReq.d.ts +3 -3
  662. package/dist/utilities/createLocalReq.d.ts.map +1 -1
  663. package/dist/utilities/createLocalReq.js +7 -16
  664. package/dist/utilities/deepCopyObject.js +2 -12
  665. package/dist/utilities/deepMerge.js +2 -12
  666. package/dist/utilities/fieldSchemaToJSON.d.ts +2 -2
  667. package/dist/utilities/fieldSchemaToJSON.d.ts.map +1 -1
  668. package/dist/utilities/fieldSchemaToJSON.js +2 -12
  669. package/dist/utilities/flattenTopLevelFields.d.ts +1 -1
  670. package/dist/utilities/flattenTopLevelFields.d.ts.map +1 -1
  671. package/dist/utilities/flattenTopLevelFields.js +6 -16
  672. package/dist/utilities/formatLabels.d.ts +2 -1
  673. package/dist/utilities/formatLabels.d.ts.map +1 -1
  674. package/dist/utilities/formatLabels.js +10 -70
  675. package/dist/utilities/formatLabels.spec.js +8 -12
  676. package/dist/utilities/getCSSVariable.js +2 -12
  677. package/dist/utilities/getCollectionIDFieldTypes.d.ts +13 -0
  678. package/dist/utilities/getCollectionIDFieldTypes.d.ts.map +1 -0
  679. package/dist/utilities/getCollectionIDFieldTypes.js +16 -0
  680. package/dist/utilities/getEntityPolicies.d.ts +4 -4
  681. package/dist/utilities/getEntityPolicies.d.ts.map +1 -1
  682. package/dist/utilities/getEntityPolicies.js +4 -14
  683. package/dist/utilities/getIDType.d.ts +2 -2
  684. package/dist/utilities/getIDType.d.ts.map +1 -1
  685. package/dist/utilities/getIDType.js +2 -12
  686. package/dist/utilities/getObjectDotNotation.js +2 -12
  687. package/dist/utilities/getUniqueListBy.js +2 -12
  688. package/dist/utilities/initTransaction.d.ts +1 -1
  689. package/dist/utilities/initTransaction.d.ts.map +1 -1
  690. package/dist/utilities/initTransaction.js +5 -12
  691. package/dist/utilities/isEntityHidden.d.ts +2 -2
  692. package/dist/utilities/isEntityHidden.d.ts.map +1 -1
  693. package/dist/utilities/isEntityHidden.js +2 -12
  694. package/dist/utilities/isNumber.js +2 -12
  695. package/dist/utilities/isPlainObject.d.ts +2 -0
  696. package/dist/utilities/isPlainObject.d.ts.map +1 -0
  697. package/dist/utilities/isPlainObject.js +25 -0
  698. package/dist/utilities/isValidID.d.ts.map +1 -1
  699. package/dist/utilities/isValidID.js +6 -20
  700. package/dist/utilities/isolateObjectProperty.js +2 -12
  701. package/dist/utilities/killTransaction.d.ts +1 -1
  702. package/dist/utilities/killTransaction.d.ts.map +1 -1
  703. package/dist/utilities/killTransaction.js +4 -12
  704. package/dist/utilities/logger.d.ts +6 -6
  705. package/dist/utilities/logger.d.ts.map +1 -1
  706. package/dist/utilities/logger.js +18 -37
  707. package/dist/utilities/mapAsync.js +2 -12
  708. package/dist/utilities/overwriteMerge.js +2 -12
  709. package/dist/utilities/parseCookies.js +4 -14
  710. package/dist/utilities/sanitizeInternalFields.js +2 -12
  711. package/dist/utilities/setsAreEqual.js +2 -12
  712. package/dist/utilities/telemetry/events/adminInit.d.ts +2 -2
  713. package/dist/utilities/telemetry/events/adminInit.d.ts.map +1 -1
  714. package/dist/utilities/telemetry/events/adminInit.js +7 -17
  715. package/dist/utilities/telemetry/events/serverInit.d.ts +1 -1
  716. package/dist/utilities/telemetry/events/serverInit.d.ts.map +1 -1
  717. package/dist/utilities/telemetry/events/serverInit.js +4 -14
  718. package/dist/utilities/telemetry/index.d.ts +3 -3
  719. package/dist/utilities/telemetry/index.d.ts.map +1 -1
  720. package/dist/utilities/telemetry/index.js +23 -41
  721. package/dist/utilities/telemetry/oneWayHash.js +4 -14
  722. package/dist/utilities/timestamp.js +2 -12
  723. package/dist/utilities/toKebabCase.js +2 -12
  724. package/dist/utilities/wait.js +2 -12
  725. package/dist/utilities/wordBoundariesRegex.js +3 -13
  726. package/dist/versions/baseFields.d.ts +1 -1
  727. package/dist/versions/baseFields.d.ts.map +1 -1
  728. package/dist/versions/baseFields.js +7 -25
  729. package/dist/versions/buildCollectionFields.d.ts +2 -2
  730. package/dist/versions/buildCollectionFields.d.ts.map +1 -1
  731. package/dist/versions/buildCollectionFields.js +2 -12
  732. package/dist/versions/buildGlobalFields.d.ts +2 -2
  733. package/dist/versions/buildGlobalFields.d.ts.map +1 -1
  734. package/dist/versions/buildGlobalFields.js +12 -22
  735. package/dist/versions/deleteCollectionVersions.d.ts +3 -3
  736. package/dist/versions/deleteCollectionVersions.d.ts.map +1 -1
  737. package/dist/versions/deleteCollectionVersions.js +2 -12
  738. package/dist/versions/drafts/appendVersionToQueryKey.d.ts +1 -1
  739. package/dist/versions/drafts/appendVersionToQueryKey.d.ts.map +1 -1
  740. package/dist/versions/drafts/appendVersionToQueryKey.js +2 -12
  741. package/dist/versions/drafts/getQueryDraftsSort.js +2 -12
  742. package/dist/versions/drafts/replaceWithDraftIfAvailable.d.ts +4 -4
  743. package/dist/versions/drafts/replaceWithDraftIfAvailable.d.ts.map +1 -1
  744. package/dist/versions/drafts/replaceWithDraftIfAvailable.js +12 -27
  745. package/dist/versions/enforceMaxVersions.d.ts +3 -3
  746. package/dist/versions/enforceMaxVersions.d.ts.map +1 -1
  747. package/dist/versions/enforceMaxVersions.js +2 -12
  748. package/dist/versions/getLatestCollectionVersion.d.ts +3 -3
  749. package/dist/versions/getLatestCollectionVersion.d.ts.map +1 -1
  750. package/dist/versions/getLatestCollectionVersion.js +4 -14
  751. package/dist/versions/getLatestGlobalVersion.d.ts +3 -3
  752. package/dist/versions/getLatestGlobalVersion.d.ts.map +1 -1
  753. package/dist/versions/getLatestGlobalVersion.js +5 -15
  754. package/dist/versions/getVersionsModelName.d.ts +2 -2
  755. package/dist/versions/getVersionsModelName.d.ts.map +1 -1
  756. package/dist/versions/getVersionsModelName.js +2 -12
  757. package/dist/versions/saveVersion.d.ts +4 -4
  758. package/dist/versions/saveVersion.d.ts.map +1 -1
  759. package/dist/versions/saveVersion.js +8 -23
  760. package/dist/versions/types.js +2 -5
  761. package/errors.d.ts +1 -1
  762. package/errors.js +2 -68
  763. package/graphql.d.ts +3 -0
  764. package/graphql.js +27 -0
  765. package/operations.d.ts +28 -28
  766. package/operations.js +29 -125
  767. package/package.json +10 -7
  768. package/types.d.ts +11 -11
  769. package/types.js +4 -74
  770. package/utilities.d.ts +28 -27
  771. package/utilities.js +29 -141
  772. package/versions.d.ts +9 -9
  773. package/versions.js +9 -45
  774. package/.eslintrc.js +0 -58
  775. package/dist/bundlers/mocks/db-mongodb.js +0 -3
  776. package/dist/bundlers/mocks/db-postgres.js +0 -13
  777. package/dist/bundlers/mocks/dotENV.js +0 -15
  778. package/dist/bundlers/mocks/emptyModule.js +0 -13
  779. package/dist/bundlers/mocks/fileMock.js +0 -13
  780. package/dist/bundlers/types.d.ts +0 -8
  781. package/dist/bundlers/types.d.ts.map +0 -1
  782. package/dist/bundlers/types.js +0 -6
  783. package/dist/config/clientFiles.d.ts +0 -2
  784. package/dist/config/clientFiles.d.ts.map +0 -1
  785. package/dist/config/clientFiles.js +0 -23
  786. package/dist/express/middleware/errorHandler.d.ts +0 -2
  787. package/dist/express/middleware/errorHandler.d.ts.map +0 -1
  788. package/dist/express/middleware/errorHandler.js +0 -3
  789. package/dist/express/middleware/index.d.ts +0 -2
  790. package/dist/express/middleware/index.d.ts.map +0 -1
  791. package/dist/express/middleware/index.js +0 -3
  792. package/dist/globals/config/build.d.ts +0 -2
  793. package/dist/globals/config/build.d.ts.map +0 -1
  794. package/dist/globals/config/build.js +0 -3
  795. package/dist/globals/graphql/resolvers/docAccess.d.ts +0 -2
  796. package/dist/globals/graphql/resolvers/docAccess.d.ts.map +0 -1
  797. package/dist/globals/graphql/resolvers/docAccess.js +0 -3
package/dist/index.js CHANGED
@@ -1,41 +1,18 @@
1
- "use strict";
2
- Object.defineProperty(exports, "__esModule", {
3
- value: true
4
- });
5
- function _export(target, all) {
6
- for(var name in all)Object.defineProperty(target, name, {
7
- enumerable: true,
8
- get: all[name]
9
- });
10
- }
11
- _export(exports, {
12
- BasePayload: function() {
13
- return BasePayload;
14
- },
15
- default: function() {
16
- return _default;
17
- },
18
- getPayload: function() {
19
- return getPayload;
20
- }
21
- });
22
- const _crypto = /*#__PURE__*/ _interop_require_default(require("crypto"));
23
- const _crypto1 = require("./auth/crypto");
24
- const _apiKey = require("./auth/strategies/apiKey");
25
- const _jwt = require("./auth/strategies/jwt");
26
- const _local = /*#__PURE__*/ _interop_require_default(require("./collections/operations/local"));
27
- const _build = /*#__PURE__*/ _interop_require_default(require("./email/build"));
28
- const _defaults = require("./email/defaults");
29
- const _sendEmail = /*#__PURE__*/ _interop_require_default(require("./email/sendEmail"));
30
- const _local1 = /*#__PURE__*/ _interop_require_default(require("./globals/operations/local"));
31
- const _logger = /*#__PURE__*/ _interop_require_default(require("./utilities/logger"));
32
- const _serverInit = require("./utilities/telemetry/events/serverInit");
33
- function _interop_require_default(obj) {
34
- return obj && obj.__esModule ? obj : {
35
- default: obj
36
- };
37
- }
38
- class BasePayload {
1
+ import crypto from 'crypto';
2
+ import { decrypt, encrypt } from './auth/crypto.js';
3
+ import { APIKeyAuthentication } from './auth/strategies/apiKey.js';
4
+ import { JWTAuthentication } from './auth/strategies/jwt.js';
5
+ import localOperations from './collections/operations/local/index.js';
6
+ import validate from './config/validate.js';
7
+ import buildEmail from './email/build.js';
8
+ import { defaults as emailDefaults } from './email/defaults.js';
9
+ import sendEmail from './email/sendEmail.js';
10
+ import localGlobalOperations from './globals/operations/local/index.js';
11
+ import Logger from './utilities/logger.js';
12
+ import { serverInit as serverInitTelemetry } from './utilities/telemetry/events/serverInit.js';
13
+ /**
14
+ * @description Payload
15
+ */ export class BasePayload {
39
16
  authStrategies;
40
17
  collections = {};
41
18
  config;
@@ -44,14 +21,14 @@ class BasePayload {
44
21
  * @param options
45
22
  * @returns created document
46
23
  */ create = async (options)=>{
47
- const { create } = _local.default;
24
+ const { create } = localOperations;
48
25
  return create(this, options);
49
26
  };
50
27
  db;
51
- decrypt = _crypto1.decrypt;
28
+ decrypt = decrypt;
52
29
  email;
53
30
  emailOptions;
54
- encrypt = _crypto1.encrypt;
31
+ encrypt = encrypt;
55
32
  // TODO: re-implement or remove?
56
33
  // errorHandler: ErrorHandler
57
34
  extensions;
@@ -60,15 +37,15 @@ class BasePayload {
60
37
  * @param options
61
38
  * @returns documents satisfying query
62
39
  */ find = async (options)=>{
63
- const { find } = _local.default;
40
+ const { find } = localOperations;
64
41
  return find(this, options);
65
42
  };
66
43
  findByID = async (options)=>{
67
- const { findByID } = _local.default;
44
+ const { findByID } = localOperations;
68
45
  return findByID(this, options);
69
46
  };
70
47
  findGlobal = async (options)=>{
71
- const { findOne } = _local1.default;
48
+ const { findOne } = localGlobalOperations;
72
49
  return findOne(this, options);
73
50
  };
74
51
  /**
@@ -76,7 +53,7 @@ class BasePayload {
76
53
  * @param options
77
54
  * @returns global version with specified ID
78
55
  */ findGlobalVersionByID = async (options)=>{
79
- const { findVersionByID } = _local1.default;
56
+ const { findVersionByID } = localGlobalOperations;
80
57
  return findVersionByID(this, options);
81
58
  };
82
59
  /**
@@ -84,7 +61,7 @@ class BasePayload {
84
61
  * @param options
85
62
  * @returns versions satisfying query
86
63
  */ findGlobalVersions = async (options)=>{
87
- const { findVersions } = _local1.default;
64
+ const { findVersions } = localGlobalOperations;
88
65
  return findVersions(this, options);
89
66
  };
90
67
  /**
@@ -92,7 +69,7 @@ class BasePayload {
92
69
  * @param options
93
70
  * @returns version with specified ID
94
71
  */ findVersionByID = async (options)=>{
95
- const { findVersionByID } = _local.default;
72
+ const { findVersionByID } = localOperations;
96
73
  return findVersionByID(this, options);
97
74
  };
98
75
  /**
@@ -100,11 +77,11 @@ class BasePayload {
100
77
  * @param options
101
78
  * @returns versions satisfying query
102
79
  */ findVersions = async (options)=>{
103
- const { findVersions } = _local.default;
80
+ const { findVersions } = localOperations;
104
81
  return findVersions(this, options);
105
82
  };
106
83
  forgotPassword = async (options)=>{
107
- const { forgotPassword } = _local.default.auth;
84
+ const { forgotPassword } = localOperations.auth;
108
85
  return forgotPassword(this, options);
109
86
  };
110
87
  getAPIURL = ()=>`${this.config.serverURL}${this.config.routes.api}`;
@@ -112,7 +89,7 @@ class BasePayload {
112
89
  globals;
113
90
  logger;
114
91
  login = async (options)=>{
115
- const { login } = _local.default.auth;
92
+ const { login } = localOperations.auth;
116
93
  return login(this, options);
117
94
  };
118
95
  /**
@@ -120,7 +97,7 @@ class BasePayload {
120
97
  * @param options
121
98
  * @returns document with specified ID
122
99
  */ resetPassword = async (options)=>{
123
- const { resetPassword } = _local.default.auth;
100
+ const { resetPassword } = localOperations.auth;
124
101
  return resetPassword(this, options);
125
102
  };
126
103
  /**
@@ -128,7 +105,7 @@ class BasePayload {
128
105
  * @param options
129
106
  * @returns version with specified ID
130
107
  */ restoreGlobalVersion = async (options)=>{
131
- const { restoreVersion } = _local1.default;
108
+ const { restoreVersion } = localGlobalOperations;
132
109
  return restoreVersion(this, options);
133
110
  };
134
111
  /**
@@ -136,7 +113,7 @@ class BasePayload {
136
113
  * @param options
137
114
  * @returns version with specified ID
138
115
  */ restoreVersion = async (options)=>{
139
- const { restoreVersion } = _local.default;
116
+ const { restoreVersion } = localOperations;
140
117
  return restoreVersion(this, options);
141
118
  };
142
119
  schema;
@@ -144,21 +121,21 @@ class BasePayload {
144
121
  sendEmail;
145
122
  types;
146
123
  unlock = async (options)=>{
147
- const { unlock } = _local.default.auth;
124
+ const { unlock } = localOperations.auth;
148
125
  return unlock(this, options);
149
126
  };
150
127
  updateGlobal = async (options)=>{
151
- const { update } = _local1.default;
128
+ const { update } = localGlobalOperations;
152
129
  return update(this, options);
153
130
  };
154
131
  validationRules;
155
132
  verifyEmail = async (options)=>{
156
- const { verifyEmail } = _local.default.auth;
133
+ const { verifyEmail } = localOperations.auth;
157
134
  return verifyEmail(this, options);
158
135
  };
159
136
  versions = {};
160
137
  delete(options) {
161
- const { deleteLocal } = _local.default;
138
+ const { deleteLocal } = localOperations;
162
139
  return deleteLocal(this, options);
163
140
  }
164
141
  /**
@@ -166,12 +143,15 @@ class BasePayload {
166
143
  * @param options
167
144
  */ // @ts-expect-error // TODO: TypeScript hallucinating again. fix later
168
145
  async init(options) {
169
- this.logger = (0, _logger.default)('payload', options.loggerOptions, options.loggerDestination);
146
+ this.logger = Logger('payload', options.loggerOptions, options.loggerDestination);
170
147
  this.config = await options.config;
148
+ if (process.env.NODE_ENV !== 'production') {
149
+ await validate(this.config, this.logger);
150
+ }
171
151
  if (!this.config.secret) {
172
152
  throw new Error('Error: missing secret key. A secret key is needed to secure Payload.');
173
153
  }
174
- this.secret = _crypto.default.createHash('sha256').update(this.config.secret).digest('hex').slice(0, 32);
154
+ this.secret = crypto.createHash('sha256').update(this.config.secret).digest('hex').slice(0, 32);
175
155
  this.globals = {
176
156
  config: this.config.globals
177
157
  };
@@ -188,9 +168,8 @@ class BasePayload {
188
168
  await this.db.init(this);
189
169
  }
190
170
  if (!options.disableDBConnect && this.db.connect) {
191
- await this.db.connect(this);
171
+ await this.db.connect();
192
172
  }
193
- this.logger.info('Starting Payload...');
194
173
  // Configure email service
195
174
  const emailOptions = options.email ? {
196
175
  ...options.email
@@ -198,10 +177,10 @@ class BasePayload {
198
177
  if (options.email && this.config.email) {
199
178
  this.logger.warn('Email options provided in both init options and config. Using init options.');
200
179
  }
201
- this.emailOptions = emailOptions ?? _defaults.defaults;
202
- this.email = (0, _build.default)(this.emailOptions, this.logger);
203
- this.sendEmail = _sendEmail.default.bind(this);
204
- (0, _serverInit.serverInit)(this);
180
+ this.emailOptions = emailOptions ?? emailDefaults;
181
+ this.email = buildEmail(this.emailOptions, this.logger);
182
+ this.sendEmail = sendEmail.bind(this);
183
+ serverInitTelemetry(this);
205
184
  // 1. loop over collections, if collection has auth strategy, initialize and push to array
206
185
  let jwtStrategyEnabled = false;
207
186
  this.authStrategies = this.config.collections.reduce((authStrategies, collection)=>{
@@ -213,7 +192,7 @@ class BasePayload {
213
192
  if (collection.auth?.useAPIKey) {
214
193
  authStrategies.push({
215
194
  name: `${collection.slug}-api-key`,
216
- authenticate: (0, _apiKey.APIKeyAuthentication)(collection)
195
+ authenticate: APIKeyAuthentication(collection)
217
196
  });
218
197
  }
219
198
  // 3. if localStrategy flag is true
@@ -227,7 +206,7 @@ class BasePayload {
227
206
  if (jwtStrategyEnabled) {
228
207
  this.authStrategies.push({
229
208
  name: 'local-jwt',
230
- authenticate: _jwt.JWTAuthentication
209
+ authenticate: JWTAuthentication
231
210
  });
232
211
  }
233
212
  if (!options.disableOnInit) {
@@ -237,12 +216,12 @@ class BasePayload {
237
216
  return this;
238
217
  }
239
218
  update(options) {
240
- const { update } = _local.default;
219
+ const { update } = localOperations;
241
220
  return update(this, options);
242
221
  }
243
222
  }
244
223
  const initialized = new BasePayload();
245
- const _default = initialized;
224
+ export default initialized;
246
225
  let cached = global._payload;
247
226
  if (!cached) {
248
227
  // eslint-disable-next-line no-multi-assign
@@ -251,7 +230,7 @@ if (!cached) {
251
230
  promise: null
252
231
  };
253
232
  }
254
- const getPayload = async (options)=>{
233
+ export const getPayload = async (options)=>{
255
234
  if (cached.payload) {
256
235
  return cached.payload;
257
236
  }
@@ -267,4 +246,4 @@ const getPayload = async (options)=>{
267
246
  return cached.payload;
268
247
  };
269
248
 
270
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIi4uL3NyYy9pbmRleC50cyJdLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgdHlwZSB7IEV4ZWN1dGlvblJlc3VsdCwgR3JhcGhRTFNjaGVtYSwgVmFsaWRhdGlvblJ1bGUgfSBmcm9tICdncmFwaHFsJ1xuaW1wb3J0IHR5cGUgeyBPcGVyYXRpb25BcmdzLCBSZXF1ZXN0IGFzIGdyYXBoUUxSZXF1ZXN0IH0gZnJvbSAnZ3JhcGhxbC1odHRwJ1xuaW1wb3J0IHR5cGUgeyBTZW5kTWFpbE9wdGlvbnMgfSBmcm9tICdub2RlbWFpbGVyJ1xuaW1wb3J0IHR5cGUgcGlubyBmcm9tICdwaW5vJ1xuXG5pbXBvcnQgY3J5cHRvIGZyb20gJ2NyeXB0bydcblxuaW1wb3J0IHR5cGUgeyBBdXRoU3RyYXRlZ3kgfSBmcm9tICcuL2F1dGgnXG5pbXBvcnQgdHlwZSB7IFJlc3VsdCBhcyBGb3Jnb3RQYXNzd29yZFJlc3VsdCB9IGZyb20gJy4vYXV0aC9vcGVyYXRpb25zL2ZvcmdvdFBhc3N3b3JkJ1xuaW1wb3J0IHR5cGUgeyBPcHRpb25zIGFzIEZvcmdvdFBhc3N3b3JkT3B0aW9ucyB9IGZyb20gJy4vYXV0aC9vcGVyYXRpb25zL2xvY2FsL2ZvcmdvdFBhc3N3b3JkJ1xuaW1wb3J0IHR5cGUgeyBPcHRpb25zIGFzIExvZ2luT3B0aW9ucyB9IGZyb20gJy4vYXV0aC9vcGVyYXRpb25zL2xvY2FsL2xvZ2luJ1xuaW1wb3J0IHR5cGUgeyBPcHRpb25zIGFzIFJlc2V0UGFzc3dvcmRPcHRpb25zIH0gZnJvbSAnLi9hdXRoL29wZXJhdGlvbnMvbG9jYWwvcmVzZXRQYXNzd29yZCdcbmltcG9ydCB0eXBlIHsgT3B0aW9ucyBhcyBVbmxvY2tPcHRpb25zIH0gZnJvbSAnLi9hdXRoL29wZXJhdGlvbnMvbG9jYWwvdW5sb2NrJ1xuaW1wb3J0IHR5cGUgeyBPcHRpb25zIGFzIFZlcmlmeUVtYWlsT3B0aW9ucyB9IGZyb20gJy4vYXV0aC9vcGVyYXRpb25zL2xvY2FsL3ZlcmlmeUVtYWlsJ1xuaW1wb3J0IHR5cGUgeyBSZXN1bHQgYXMgTG9naW5SZXN1bHQgfSBmcm9tICcuL2F1dGgvb3BlcmF0aW9ucy9sb2dpbidcbmltcG9ydCB0eXBlIHsgUmVzdWx0IGFzIFJlc2V0UGFzc3dvcmRSZXN1bHQgfSBmcm9tICcuL2F1dGgvb3BlcmF0aW9ucy9yZXNldFBhc3N3b3JkJ1xuaW1wb3J0IHR5cGUgeyBCdWxrT3BlcmF0aW9uUmVzdWx0LCBDb2xsZWN0aW9uLCBUeXBlV2l0aElEIH0gZnJvbSAnLi9jb2xsZWN0aW9ucy9jb25maWcvdHlwZXMnXG5pbXBvcnQgdHlwZSB7IE9wdGlvbnMgYXMgQ3JlYXRlT3B0aW9ucyB9IGZyb20gJy4vY29sbGVjdGlvbnMvb3BlcmF0aW9ucy9sb2NhbC9jcmVhdGUnXG5pbXBvcnQgdHlwZSB7XG4gIEJ5SURPcHRpb25zIGFzIERlbGV0ZUJ5SURPcHRpb25zLFxuICBNYW55T3B0aW9ucyBhcyBEZWxldGVNYW55T3B0aW9ucyxcbiAgT3B0aW9ucyBhcyBEZWxldGVPcHRpb25zLFxufSBmcm9tICcuL2NvbGxlY3Rpb25zL29wZXJhdGlvbnMvbG9jYWwvZGVsZXRlJ1xuaW1wb3J0IHR5cGUgeyBPcHRpb25zIGFzIEZpbmRPcHRpb25zIH0gZnJvbSAnLi9jb2xsZWN0aW9ucy9vcGVyYXRpb25zL2xvY2FsL2ZpbmQnXG5pbXBvcnQgdHlwZSB7IE9wdGlvbnMgYXMgRmluZEJ5SURPcHRpb25zIH0gZnJvbSAnLi9jb2xsZWN0aW9ucy9vcGVyYXRpb25zL2xvY2FsL2ZpbmRCeUlEJ1xuaW1wb3J0IHR5cGUgeyBPcHRpb25zIGFzIEZpbmRWZXJzaW9uQnlJRE9wdGlvbnMgfSBmcm9tICcuL2NvbGxlY3Rpb25zL29wZXJhdGlvbnMvbG9jYWwvZmluZFZlcnNpb25CeUlEJ1xuaW1wb3J0IHR5cGUgeyBPcHRpb25zIGFzIEZpbmRWZXJzaW9uc09wdGlvbnMgfSBmcm9tICcuL2NvbGxlY3Rpb25zL29wZXJhdGlvbnMvbG9jYWwvZmluZFZlcnNpb25zJ1xuaW1wb3J0IHR5cGUgeyBPcHRpb25zIGFzIFJlc3RvcmVWZXJzaW9uT3B0aW9ucyB9IGZyb20gJy4vY29sbGVjdGlvbnMvb3BlcmF0aW9ucy9sb2NhbC9yZXN0b3JlVmVyc2lvbidcbmltcG9ydCB0eXBlIHtcbiAgQnlJRE9wdGlvbnMgYXMgVXBkYXRlQnlJRE9wdGlvbnMsXG4gIE1hbnlPcHRpb25zIGFzIFVwZGF0ZU1hbnlPcHRpb25zLFxuICBPcHRpb25zIGFzIFVwZGF0ZU9wdGlvbnMsXG59IGZyb20gJy4vY29sbGVjdGlvbnMvb3BlcmF0aW9ucy9sb2NhbC91cGRhdGUnXG5pbXBvcnQgdHlwZSB7IEVtYWlsT3B0aW9ucywgSW5pdE9wdGlvbnMsIFNhbml0aXplZENvbmZpZyB9IGZyb20gJy4vY29uZmlnL3R5cGVzJ1xuaW1wb3J0IHR5cGUgeyBCYXNlRGF0YWJhc2VBZGFwdGVyLCBQYWdpbmF0ZWREb2NzIH0gZnJvbSAnLi9kYXRhYmFzZS90eXBlcydcbmltcG9ydCB0eXBlIHsgQnVpbGRFbWFpbFJlc3VsdCB9IGZyb20gJy4vZW1haWwvdHlwZXMnXG5pbXBvcnQgdHlwZSB7IFR5cGVXaXRoSUQgYXMgR2xvYmFsVHlwZVdpdGhJRCwgR2xvYmFscyB9IGZyb20gJy4vZ2xvYmFscy9jb25maWcvdHlwZXMnXG5pbXBvcnQgdHlwZSB7IE9wdGlvbnMgYXMgRmluZEdsb2JhbE9wdGlvbnMgfSBmcm9tICcuL2dsb2JhbHMvb3BlcmF0aW9ucy9sb2NhbC9maW5kT25lJ1xuaW1wb3J0IHR5cGUgeyBPcHRpb25zIGFzIEZpbmRHbG9iYWxWZXJzaW9uQnlJRE9wdGlvbnMgfSBmcm9tICcuL2dsb2JhbHMvb3BlcmF0aW9ucy9sb2NhbC9maW5kVmVyc2lvbkJ5SUQnXG5pbXBvcnQgdHlwZSB7IE9wdGlvbnMgYXMgRmluZEdsb2JhbFZlcnNpb25zT3B0aW9ucyB9IGZyb20gJy4vZ2xvYmFscy9vcGVyYXRpb25zL2xvY2FsL2ZpbmRWZXJzaW9ucydcbmltcG9ydCB0eXBlIHsgT3B0aW9ucyBhcyBSZXN0b3JlR2xvYmFsVmVyc2lvbk9wdGlvbnMgfSBmcm9tICcuL2dsb2JhbHMvb3BlcmF0aW9ucy9sb2NhbC9yZXN0b3JlVmVyc2lvbidcbmltcG9ydCB0eXBlIHsgT3B0aW9ucyBhcyBVcGRhdGVHbG9iYWxPcHRpb25zIH0gZnJvbSAnLi9nbG9iYWxzL29wZXJhdGlvbnMvbG9jYWwvdXBkYXRlJ1xuaW1wb3J0IHR5cGUgeyBUeXBlV2l0aFZlcnNpb24gfSBmcm9tICcuL3ZlcnNpb25zL3R5cGVzJ1xuXG5pbXBvcnQgeyBkZWNyeXB0LCBlbmNyeXB0IH0gZnJvbSAnLi9hdXRoL2NyeXB0bydcbmltcG9ydCB7IEFQSUtleUF1dGhlbnRpY2F0aW9uIH0gZnJvbSAnLi9hdXRoL3N0cmF0ZWdpZXMvYXBpS2V5J1xuaW1wb3J0IHsgSldUQXV0aGVudGljYXRpb24gfSBmcm9tICcuL2F1dGgvc3RyYXRlZ2llcy9qd3QnXG5pbXBvcnQgbG9jYWxPcGVyYXRpb25zIGZyb20gJy4vY29sbGVjdGlvbnMvb3BlcmF0aW9ucy9sb2NhbCdcbmltcG9ydCBidWlsZEVtYWlsIGZyb20gJy4vZW1haWwvYnVpbGQnXG5pbXBvcnQgeyBkZWZhdWx0cyBhcyBlbWFpbERlZmF1bHRzIH0gZnJvbSAnLi9lbWFpbC9kZWZhdWx0cydcbmltcG9ydCBzZW5kRW1haWwgZnJvbSAnLi9lbWFpbC9zZW5kRW1haWwnXG5pbXBvcnQgbG9jYWxHbG9iYWxPcGVyYXRpb25zIGZyb20gJy4vZ2xvYmFscy9vcGVyYXRpb25zL2xvY2FsJ1xuaW1wb3J0IExvZ2dlciBmcm9tICcuL3V0aWxpdGllcy9sb2dnZXInXG5pbXBvcnQgeyBzZXJ2ZXJJbml0IGFzIHNlcnZlckluaXRUZWxlbWV0cnkgfSBmcm9tICcuL3V0aWxpdGllcy90ZWxlbWV0cnkvZXZlbnRzL3NlcnZlckluaXQnXG5cbi8qKlxuICogQGRlc2NyaXB0aW9uIFBheWxvYWRcbiAqL1xuZXhwb3J0IGNsYXNzIEJhc2VQYXlsb2FkPFRHZW5lcmF0ZWRUeXBlcyBleHRlbmRzIEdlbmVyYXRlZFR5cGVzPiB7XG4gIGF1dGhTdHJhdGVnaWVzOiBBdXRoU3RyYXRlZ3lbXVxuXG4gIGNvbGxlY3Rpb25zOiB7XG4gICAgW3NsdWc6IG51bWJlciB8IHN0cmluZyB8IHN5bWJvbF06IENvbGxlY3Rpb25cbiAgfSA9IHt9XG5cbiAgY29uZmlnOiBTYW5pdGl6ZWRDb25maWdcblxuICAvKipcbiAgICogQGRlc2NyaXB0aW9uIFBlcmZvcm1zIGNyZWF0ZSBvcGVyYXRpb25cbiAgICogQHBhcmFtIG9wdGlvbnNcbiAgICogQHJldHVybnMgY3JlYXRlZCBkb2N1bWVudFxuICAgKi9cbiAgY3JlYXRlID0gYXN5bmMgPFQgZXh0ZW5kcyBrZXlvZiBUR2VuZXJhdGVkVHlwZXNbJ2NvbGxlY3Rpb25zJ10+KFxuICAgIG9wdGlvbnM6IENyZWF0ZU9wdGlvbnM8VD4sXG4gICk6IFByb21pc2U8VEdlbmVyYXRlZFR5cGVzWydjb2xsZWN0aW9ucyddW1RdPiA9PiB7XG4gICAgY29uc3QgeyBjcmVhdGUgfSA9IGxvY2FsT3BlcmF0aW9uc1xuICAgIHJldHVybiBjcmVhdGU8VD4odGhpcywgb3B0aW9ucylcbiAgfVxuXG4gIGRiOiBCYXNlRGF0YWJhc2VBZGFwdGVyXG5cbiAgZGVjcnlwdCA9IGRlY3J5cHRcblxuICBlbWFpbDogQnVpbGRFbWFpbFJlc3VsdFxuXG4gIGVtYWlsT3B0aW9uczogRW1haWxPcHRpb25zXG5cbiAgZW5jcnlwdCA9IGVuY3J5cHRcblxuICAvLyBUT0RPOiByZS1pbXBsZW1lbnQgb3IgcmVtb3ZlP1xuICAvLyBlcnJvckhhbmRsZXI6IEVycm9ySGFuZGxlclxuXG4gIGV4dGVuc2lvbnM6IChhcmdzOiB7XG4gICAgYXJnczogT3BlcmF0aW9uQXJnczxhbnk+XG4gICAgcmVxOiBncmFwaFFMUmVxdWVzdDx1bmtub3duLCB1bmtub3duPlxuICAgIHJlc3VsdDogRXhlY3V0aW9uUmVzdWx0XG4gIH0pID0+IFByb21pc2U8YW55PlxuXG4gIC8qKlxuICAgKiBAZGVzY3JpcHRpb24gRmluZCBkb2N1bWVudHMgd2l0aCBjcml0ZXJpYVxuICAgKiBAcGFyYW0gb3B0aW9uc1xuICAgKiBAcmV0dXJucyBkb2N1bWVudHMgc2F0aXNmeWluZyBxdWVyeVxuICAgKi9cbiAgZmluZCA9IGFzeW5jIDxUIGV4dGVuZHMga2V5b2YgVEdlbmVyYXRlZFR5cGVzWydjb2xsZWN0aW9ucyddPihcbiAgICBvcHRpb25zOiBGaW5kT3B0aW9uczxUPixcbiAgKTogUHJvbWlzZTxQYWdpbmF0ZWREb2NzPFRHZW5lcmF0ZWRUeXBlc1snY29sbGVjdGlvbnMnXVtUXT4+ID0+IHtcbiAgICBjb25zdCB7IGZpbmQgfSA9IGxvY2FsT3BlcmF0aW9uc1xuICAgIHJldHVybiBmaW5kPFQ+KHRoaXMsIG9wdGlvbnMpXG4gIH1cblxuICBmaW5kQnlJRCA9IGFzeW5jIDxUIGV4dGVuZHMga2V5b2YgVEdlbmVyYXRlZFR5cGVzWydjb2xsZWN0aW9ucyddPihcbiAgICBvcHRpb25zOiBGaW5kQnlJRE9wdGlvbnM8VD4sXG4gICk6IFByb21pc2U8VEdlbmVyYXRlZFR5cGVzWydjb2xsZWN0aW9ucyddW1RdPiA9PiB7XG4gICAgY29uc3QgeyBmaW5kQnlJRCB9ID0gbG9jYWxPcGVyYXRpb25zXG4gICAgcmV0dXJuIGZpbmRCeUlEPFQ+KHRoaXMsIG9wdGlvbnMpXG4gIH1cblxuICBmaW5kR2xvYmFsID0gYXN5bmMgPFQgZXh0ZW5kcyBrZXlvZiBUR2VuZXJhdGVkVHlwZXNbJ2dsb2JhbHMnXT4oXG4gICAgb3B0aW9uczogRmluZEdsb2JhbE9wdGlvbnM8VD4sXG4gICk6IFByb21pc2U8VEdlbmVyYXRlZFR5cGVzWydnbG9iYWxzJ11bVF0+ID0+IHtcbiAgICBjb25zdCB7IGZpbmRPbmUgfSA9IGxvY2FsR2xvYmFsT3BlcmF0aW9uc1xuICAgIHJldHVybiBmaW5kT25lPFQ+KHRoaXMsIG9wdGlvbnMpXG4gIH1cblxuICAvKipcbiAgICogQGRlc2NyaXB0aW9uIEZpbmQgZ2xvYmFsIHZlcnNpb24gYnkgSURcbiAgICogQHBhcmFtIG9wdGlvbnNcbiAgICogQHJldHVybnMgZ2xvYmFsIHZlcnNpb24gd2l0aCBzcGVjaWZpZWQgSURcbiAgICovXG4gIGZpbmRHbG9iYWxWZXJzaW9uQnlJRCA9IGFzeW5jIDxUIGV4dGVuZHMga2V5b2YgVEdlbmVyYXRlZFR5cGVzWydnbG9iYWxzJ10+KFxuICAgIG9wdGlvbnM6IEZpbmRHbG9iYWxWZXJzaW9uQnlJRE9wdGlvbnM8VD4sXG4gICk6IFByb21pc2U8VHlwZVdpdGhWZXJzaW9uPFRHZW5lcmF0ZWRUeXBlc1snZ2xvYmFscyddW1RdPj4gPT4ge1xuICAgIGNvbnN0IHsgZmluZFZlcnNpb25CeUlEIH0gPSBsb2NhbEdsb2JhbE9wZXJhdGlvbnNcbiAgICByZXR1cm4gZmluZFZlcnNpb25CeUlEPFQ+KHRoaXMsIG9wdGlvbnMpXG4gIH1cblxuICAvKipcbiAgICogQGRlc2NyaXB0aW9uIEZpbmQgZ2xvYmFsIHZlcnNpb25zIHdpdGggY3JpdGVyaWFcbiAgICogQHBhcmFtIG9wdGlvbnNcbiAgICogQHJldHVybnMgdmVyc2lvbnMgc2F0aXNmeWluZyBxdWVyeVxuICAgKi9cbiAgZmluZEdsb2JhbFZlcnNpb25zID0gYXN5bmMgPFQgZXh0ZW5kcyBrZXlvZiBUR2VuZXJhdGVkVHlwZXNbJ2dsb2JhbHMnXT4oXG4gICAgb3B0aW9uczogRmluZEdsb2JhbFZlcnNpb25zT3B0aW9uczxUPixcbiAgKTogUHJvbWlzZTxQYWdpbmF0ZWREb2NzPFR5cGVXaXRoVmVyc2lvbjxUR2VuZXJhdGVkVHlwZXNbJ2dsb2JhbHMnXVtUXT4+PiA9PiB7XG4gICAgY29uc3QgeyBmaW5kVmVyc2lvbnMgfSA9IGxvY2FsR2xvYmFsT3BlcmF0aW9uc1xuICAgIHJldHVybiBmaW5kVmVyc2lvbnM8VD4odGhpcywgb3B0aW9ucylcbiAgfVxuXG4gIC8qKlxuICAgKiBAZGVzY3JpcHRpb24gRmluZCB2ZXJzaW9uIGJ5IElEXG4gICAqIEBwYXJhbSBvcHRpb25zXG4gICAqIEByZXR1cm5zIHZlcnNpb24gd2l0aCBzcGVjaWZpZWQgSURcbiAgICovXG4gIGZpbmRWZXJzaW9uQnlJRCA9IGFzeW5jIDxUIGV4dGVuZHMga2V5b2YgVEdlbmVyYXRlZFR5cGVzWydjb2xsZWN0aW9ucyddPihcbiAgICBvcHRpb25zOiBGaW5kVmVyc2lvbkJ5SURPcHRpb25zPFQ+LFxuICApOiBQcm9taXNlPFR5cGVXaXRoVmVyc2lvbjxUR2VuZXJhdGVkVHlwZXNbJ2NvbGxlY3Rpb25zJ11bVF0+PiA9PiB7XG4gICAgY29uc3QgeyBmaW5kVmVyc2lvbkJ5SUQgfSA9IGxvY2FsT3BlcmF0aW9uc1xuICAgIHJldHVybiBmaW5kVmVyc2lvbkJ5SUQ8VD4odGhpcywgb3B0aW9ucylcbiAgfVxuXG4gIC8qKlxuICAgKiBAZGVzY3JpcHRpb24gRmluZCB2ZXJzaW9ucyB3aXRoIGNyaXRlcmlhXG4gICAqIEBwYXJhbSBvcHRpb25zXG4gICAqIEByZXR1cm5zIHZlcnNpb25zIHNhdGlzZnlpbmcgcXVlcnlcbiAgICovXG4gIGZpbmRWZXJzaW9ucyA9IGFzeW5jIDxUIGV4dGVuZHMga2V5b2YgVEdlbmVyYXRlZFR5cGVzWydjb2xsZWN0aW9ucyddPihcbiAgICBvcHRpb25zOiBGaW5kVmVyc2lvbnNPcHRpb25zPFQ+LFxuICApOiBQcm9taXNlPFBhZ2luYXRlZERvY3M8VHlwZVdpdGhWZXJzaW9uPFRHZW5lcmF0ZWRUeXBlc1snY29sbGVjdGlvbnMnXVtUXT4+PiA9PiB7XG4gICAgY29uc3QgeyBmaW5kVmVyc2lvbnMgfSA9IGxvY2FsT3BlcmF0aW9uc1xuICAgIHJldHVybiBmaW5kVmVyc2lvbnM8VD4odGhpcywgb3B0aW9ucylcbiAgfVxuXG4gIGZvcmdvdFBhc3N3b3JkID0gYXN5bmMgPFQgZXh0ZW5kcyBrZXlvZiBUR2VuZXJhdGVkVHlwZXNbJ2NvbGxlY3Rpb25zJ10+KFxuICAgIG9wdGlvbnM6IEZvcmdvdFBhc3N3b3JkT3B0aW9uczxUPixcbiAgKTogUHJvbWlzZTxGb3Jnb3RQYXNzd29yZFJlc3VsdD4gPT4ge1xuICAgIGNvbnN0IHsgZm9yZ290UGFzc3dvcmQgfSA9IGxvY2FsT3BlcmF0aW9ucy5hdXRoXG4gICAgcmV0dXJuIGZvcmdvdFBhc3N3b3JkPFQ+KHRoaXMsIG9wdGlvbnMpXG4gIH1cblxuICBnZXRBUElVUkwgPSAoKTogc3RyaW5nID0+IGAke3RoaXMuY29uZmlnLnNlcnZlclVSTH0ke3RoaXMuY29uZmlnLnJvdXRlcy5hcGl9YFxuXG4gIGdldEFkbWluVVJMID0gKCk6IHN0cmluZyA9PiBgJHt0aGlzLmNvbmZpZy5zZXJ2ZXJVUkx9JHt0aGlzLmNvbmZpZy5yb3V0ZXMuYWRtaW59YFxuXG4gIGdsb2JhbHM6IEdsb2JhbHNcblxuICBsb2dnZXI6IHBpbm8uTG9nZ2VyXG5cbiAgbG9naW4gPSBhc3luYyA8VCBleHRlbmRzIGtleW9mIFRHZW5lcmF0ZWRUeXBlc1snY29sbGVjdGlvbnMnXT4oXG4gICAgb3B0aW9uczogTG9naW5PcHRpb25zPFQ+LFxuICApOiBQcm9taXNlPExvZ2luUmVzdWx0ICYgeyB1c2VyOiBUR2VuZXJhdGVkVHlwZXNbJ2NvbGxlY3Rpb25zJ11bVF0gfT4gPT4ge1xuICAgIGNvbnN0IHsgbG9naW4gfSA9IGxvY2FsT3BlcmF0aW9ucy5hdXRoXG4gICAgcmV0dXJuIGxvZ2luPFQ+KHRoaXMsIG9wdGlvbnMpXG4gIH1cblxuICAvKipcbiAgICogQGRlc2NyaXB0aW9uIEZpbmQgZG9jdW1lbnQgYnkgSURcbiAgICogQHBhcmFtIG9wdGlvbnNcbiAgICogQHJldHVybnMgZG9jdW1lbnQgd2l0aCBzcGVjaWZpZWQgSURcbiAgICovXG5cbiAgcmVzZXRQYXNzd29yZCA9IGFzeW5jIDxUIGV4dGVuZHMga2V5b2YgVEdlbmVyYXRlZFR5cGVzWydjb2xsZWN0aW9ucyddPihcbiAgICBvcHRpb25zOiBSZXNldFBhc3N3b3JkT3B0aW9uczxUPixcbiAgKTogUHJvbWlzZTxSZXNldFBhc3N3b3JkUmVzdWx0PiA9PiB7XG4gICAgY29uc3QgeyByZXNldFBhc3N3b3JkIH0gPSBsb2NhbE9wZXJhdGlvbnMuYXV0aFxuICAgIHJldHVybiByZXNldFBhc3N3b3JkPFQ+KHRoaXMsIG9wdGlvbnMpXG4gIH1cblxuICAvKipcbiAgICogQGRlc2NyaXB0aW9uIFJlc3RvcmUgZ2xvYmFsIHZlcnNpb24gYnkgSURcbiAgICogQHBhcmFtIG9wdGlvbnNcbiAgICogQHJldHVybnMgdmVyc2lvbiB3aXRoIHNwZWNpZmllZCBJRFxuICAgKi9cbiAgcmVzdG9yZUdsb2JhbFZlcnNpb24gPSBhc3luYyA8VCBleHRlbmRzIGtleW9mIFRHZW5lcmF0ZWRUeXBlc1snZ2xvYmFscyddPihcbiAgICBvcHRpb25zOiBSZXN0b3JlR2xvYmFsVmVyc2lvbk9wdGlvbnM8VD4sXG4gICk6IFByb21pc2U8VEdlbmVyYXRlZFR5cGVzWydnbG9iYWxzJ11bVF0+ID0+IHtcbiAgICBjb25zdCB7IHJlc3RvcmVWZXJzaW9uIH0gPSBsb2NhbEdsb2JhbE9wZXJhdGlvbnNcbiAgICByZXR1cm4gcmVzdG9yZVZlcnNpb248VD4odGhpcywgb3B0aW9ucylcbiAgfVxuXG4gIC8qKlxuICAgKiBAZGVzY3JpcHRpb24gUmVzdG9yZSB2ZXJzaW9uIGJ5IElEXG4gICAqIEBwYXJhbSBvcHRpb25zXG4gICAqIEByZXR1cm5zIHZlcnNpb24gd2l0aCBzcGVjaWZpZWQgSURcbiAgICovXG4gIHJlc3RvcmVWZXJzaW9uID0gYXN5bmMgPFQgZXh0ZW5kcyBrZXlvZiBUR2VuZXJhdGVkVHlwZXNbJ2NvbGxlY3Rpb25zJ10+KFxuICAgIG9wdGlvbnM6IFJlc3RvcmVWZXJzaW9uT3B0aW9uczxUPixcbiAgKTogUHJvbWlzZTxUR2VuZXJhdGVkVHlwZXNbJ2NvbGxlY3Rpb25zJ11bVF0+ID0+IHtcbiAgICBjb25zdCB7IHJlc3RvcmVWZXJzaW9uIH0gPSBsb2NhbE9wZXJhdGlvbnNcbiAgICByZXR1cm4gcmVzdG9yZVZlcnNpb248VD4odGhpcywgb3B0aW9ucylcbiAgfVxuXG4gIHNjaGVtYTogR3JhcGhRTFNjaGVtYVxuXG4gIHNlY3JldDogc3RyaW5nXG5cbiAgc2VuZEVtYWlsOiAobWVzc2FnZTogU2VuZE1haWxPcHRpb25zKSA9PiBQcm9taXNlPHVua25vd24+XG5cbiAgdHlwZXM6IHtcbiAgICBhcnJheVR5cGVzOiBhbnlcbiAgICBibG9ja0lucHV0VHlwZXM6IGFueVxuICAgIGJsb2NrVHlwZXM6IGFueVxuICAgIGZhbGxiYWNrTG9jYWxlSW5wdXRUeXBlPzogYW55XG4gICAgZ3JvdXBUeXBlczogYW55XG4gICAgbG9jYWxlSW5wdXRUeXBlPzogYW55XG4gICAgdGFiVHlwZXM6IGFueVxuICB9XG5cbiAgdW5sb2NrID0gYXN5bmMgPFQgZXh0ZW5kcyBrZXlvZiBUR2VuZXJhdGVkVHlwZXNbJ2NvbGxlY3Rpb25zJ10+KFxuICAgIG9wdGlvbnM6IFVubG9ja09wdGlvbnM8VD4sXG4gICk6IFByb21pc2U8Ym9vbGVhbj4gPT4ge1xuICAgIGNvbnN0IHsgdW5sb2NrIH0gPSBsb2NhbE9wZXJhdGlvbnMuYXV0aFxuICAgIHJldHVybiB1bmxvY2sodGhpcywgb3B0aW9ucylcbiAgfVxuXG4gIHVwZGF0ZUdsb2JhbCA9IGFzeW5jIDxUIGV4dGVuZHMga2V5b2YgVEdlbmVyYXRlZFR5cGVzWydnbG9iYWxzJ10+KFxuICAgIG9wdGlvbnM6IFVwZGF0ZUdsb2JhbE9wdGlvbnM8VD4sXG4gICk6IFByb21pc2U8VEdlbmVyYXRlZFR5cGVzWydnbG9iYWxzJ11bVF0+ID0+IHtcbiAgICBjb25zdCB7IHVwZGF0ZSB9ID0gbG9jYWxHbG9iYWxPcGVyYXRpb25zXG4gICAgcmV0dXJuIHVwZGF0ZTxUPih0aGlzLCBvcHRpb25zKVxuICB9XG5cbiAgdmFsaWRhdGlvblJ1bGVzOiAoYXJnczogT3BlcmF0aW9uQXJnczxhbnk+KSA9PiBWYWxpZGF0aW9uUnVsZVtdXG5cbiAgdmVyaWZ5RW1haWwgPSBhc3luYyA8VCBleHRlbmRzIGtleW9mIFRHZW5lcmF0ZWRUeXBlc1snY29sbGVjdGlvbnMnXT4oXG4gICAgb3B0aW9uczogVmVyaWZ5RW1haWxPcHRpb25zPFQ+LFxuICApOiBQcm9taXNlPGJvb2xlYW4+ID0+IHtcbiAgICBjb25zdCB7IHZlcmlmeUVtYWlsIH0gPSBsb2NhbE9wZXJhdGlvbnMuYXV0aFxuICAgIHJldHVybiB2ZXJpZnlFbWFpbCh0aGlzLCBvcHRpb25zKVxuICB9XG5cbiAgdmVyc2lvbnM6IHtcbiAgICBbc2x1Zzogc3RyaW5nXTogYW55IC8vIFRPRE86IFR5cGUgdGhpc1xuICB9ID0ge31cblxuICBkZWxldGU8VCBleHRlbmRzIGtleW9mIFRHZW5lcmF0ZWRUeXBlc1snY29sbGVjdGlvbnMnXT4oXG4gICAgb3B0aW9uczogRGVsZXRlT3B0aW9uczxUPixcbiAgKTogUHJvbWlzZTxCdWxrT3BlcmF0aW9uUmVzdWx0PFQ+IHwgVEdlbmVyYXRlZFR5cGVzWydjb2xsZWN0aW9ucyddW1RdPiB7XG4gICAgY29uc3QgeyBkZWxldGVMb2NhbCB9ID0gbG9jYWxPcGVyYXRpb25zXG4gICAgcmV0dXJuIGRlbGV0ZUxvY2FsPFQ+KHRoaXMsIG9wdGlvbnMpXG4gIH1cblxuICAvKipcbiAgICogQGRlc2NyaXB0aW9uIGRlbGV0ZSBvbmUgb3IgbW9yZSBkb2N1bWVudHNcbiAgICogQHBhcmFtIG9wdGlvbnNcbiAgICogQHJldHVybnMgVXBkYXRlZCBkb2N1bWVudChzKVxuICAgKi9cbiAgZGVsZXRlPFQgZXh0ZW5kcyBrZXlvZiBUR2VuZXJhdGVkVHlwZXNbJ2NvbGxlY3Rpb25zJ10+KFxuICAgIG9wdGlvbnM6IERlbGV0ZUJ5SURPcHRpb25zPFQ+LFxuICApOiBQcm9taXNlPFRHZW5lcmF0ZWRUeXBlc1snY29sbGVjdGlvbnMnXVtUXT5cblxuICBkZWxldGU8VCBleHRlbmRzIGtleW9mIFRHZW5lcmF0ZWRUeXBlc1snY29sbGVjdGlvbnMnXT4oXG4gICAgb3B0aW9uczogRGVsZXRlTWFueU9wdGlvbnM8VD4sXG4gICk6IFByb21pc2U8QnVsa09wZXJhdGlvblJlc3VsdDxUPj5cblxuICAvKipcbiAgICogQGRlc2NyaXB0aW9uIEluaXRpYWxpemVzIFBheWxvYWRcbiAgICogQHBhcmFtIG9wdGlvbnNcbiAgICovXG4gIC8vIEB0cy1leHBlY3QtZXJyb3IgLy8gVE9ETzogVHlwZVNjcmlwdCBoYWxsdWNpbmF0aW5nIGFnYWluLiBmaXggbGF0ZXJcbiAgYXN5bmMgaW5pdChvcHRpb25zOiBJbml0T3B0aW9ucyk6IFByb21pc2U8UGF5bG9hZD4ge1xuICAgIHRoaXMubG9nZ2VyID0gTG9nZ2VyKCdwYXlsb2FkJywgb3B0aW9ucy5sb2dnZXJPcHRpb25zLCBvcHRpb25zLmxvZ2dlckRlc3RpbmF0aW9uKVxuXG4gICAgdGhpcy5jb25maWcgPSBhd2FpdCBvcHRpb25zLmNvbmZpZ1xuXG4gICAgaWYgKCF0aGlzLmNvbmZpZy5zZWNyZXQpIHtcbiAgICAgIHRocm93IG5ldyBFcnJvcignRXJyb3I6IG1pc3Npbmcgc2VjcmV0IGtleS4gQSBzZWNyZXQga2V5IGlzIG5lZWRlZCB0byBzZWN1cmUgUGF5bG9hZC4nKVxuICAgIH1cblxuICAgIHRoaXMuc2VjcmV0ID0gY3J5cHRvLmNyZWF0ZUhhc2goJ3NoYTI1NicpLnVwZGF0ZSh0aGlzLmNvbmZpZy5zZWNyZXQpLmRpZ2VzdCgnaGV4Jykuc2xpY2UoMCwgMzIpXG5cbiAgICB0aGlzLmdsb2JhbHMgPSB7XG4gICAgICBjb25maWc6IHRoaXMuY29uZmlnLmdsb2JhbHMsXG4gICAgfVxuICAgIHRoaXMuY29uZmlnLmNvbGxlY3Rpb25zLmZvckVhY2goKGNvbGxlY3Rpb24pID0+IHtcbiAgICAgIHRoaXMuY29sbGVjdGlvbnNbY29sbGVjdGlvbi5zbHVnXSA9IHtcbiAgICAgICAgY29uZmlnOiBjb2xsZWN0aW9uLFxuICAgICAgfVxuICAgIH0pXG5cbiAgICB0aGlzLmRiID0gdGhpcy5jb25maWcuZGIuaW5pdCh7IHBheWxvYWQ6IHRoaXMgfSlcbiAgICB0aGlzLmRiLnBheWxvYWQgPSB0aGlzXG5cbiAgICBpZiAodGhpcy5kYj8uaW5pdCkge1xuICAgICAgYXdhaXQgdGhpcy5kYi5pbml0KHRoaXMpXG4gICAgfVxuXG4gICAgaWYgKCFvcHRpb25zLmRpc2FibGVEQkNvbm5lY3QgJiYgdGhpcy5kYi5jb25uZWN0KSB7XG4gICAgICBhd2FpdCB0aGlzLmRiLmNvbm5lY3QodGhpcylcbiAgICB9XG5cbiAgICB0aGlzLmxvZ2dlci5pbmZvKCdTdGFydGluZyBQYXlsb2FkLi4uJylcblxuICAgIC8vIENvbmZpZ3VyZSBlbWFpbCBzZXJ2aWNlXG4gICAgY29uc3QgZW1haWxPcHRpb25zID0gb3B0aW9ucy5lbWFpbCA/IHsgLi4ub3B0aW9ucy5lbWFpbCB9IDogdGhpcy5jb25maWcuZW1haWxcbiAgICBpZiAob3B0aW9ucy5lbWFpbCAmJiB0aGlzLmNvbmZpZy5lbWFpbCkge1xuICAgICAgdGhpcy5sb2dnZXIud2FybihcbiAgICAgICAgJ0VtYWlsIG9wdGlvbnMgcHJvdmlkZWQgaW4gYm90aCBpbml0IG9wdGlvbnMgYW5kIGNvbmZpZy4gVXNpbmcgaW5pdCBvcHRpb25zLicsXG4gICAgICApXG4gICAgfVxuXG4gICAgdGhpcy5lbWFpbE9wdGlvbnMgPSBlbWFpbE9wdGlvbnMgPz8gZW1haWxEZWZhdWx0c1xuICAgIHRoaXMuZW1haWwgPSBidWlsZEVtYWlsKHRoaXMuZW1haWxPcHRpb25zLCB0aGlzLmxvZ2dlcilcbiAgICB0aGlzLnNlbmRFbWFpbCA9IHNlbmRFbWFpbC5iaW5kKHRoaXMpXG5cbiAgICBzZXJ2ZXJJbml0VGVsZW1ldHJ5KHRoaXMpXG5cbiAgICAvLyAxLiBsb29wIG92ZXIgY29sbGVjdGlvbnMsIGlmIGNvbGxlY3Rpb24gaGFzIGF1dGggc3RyYXRlZ3ksIGluaXRpYWxpemUgYW5kIHB1c2ggdG8gYXJyYXlcbiAgICBsZXQgand0U3RyYXRlZ3lFbmFibGVkID0gZmFsc2VcbiAgICB0aGlzLmF1dGhTdHJhdGVnaWVzID0gdGhpcy5jb25maWcuY29sbGVjdGlvbnMucmVkdWNlKChhdXRoU3RyYXRlZ2llcywgY29sbGVjdGlvbikgPT4ge1xuICAgICAgaWYgKGNvbGxlY3Rpb24/LmF1dGgpIHtcbiAgICAgICAgaWYgKGNvbGxlY3Rpb24uYXV0aC5zdHJhdGVnaWVzLmxlbmd0aCA+IDApIHtcbiAgICAgICAgICBhdXRoU3RyYXRlZ2llcy5wdXNoKC4uLmNvbGxlY3Rpb24uYXV0aC5zdHJhdGVnaWVzKVxuICAgICAgICB9XG5cbiAgICAgICAgLy8gMi4gaWYgYXBpIGtleSBlbmFibGVkLCBwdXNoIGFwaSBrZXkgc3RyYXRlZ3kgaW50byB0aGUgYXJyYXlcbiAgICAgICAgaWYgKGNvbGxlY3Rpb24uYXV0aD8udXNlQVBJS2V5KSB7XG4gICAgICAgICAgYXV0aFN0cmF0ZWdpZXMucHVzaCh7XG4gICAgICAgICAgICBuYW1lOiBgJHtjb2xsZWN0aW9uLnNsdWd9LWFwaS1rZXlgLFxuICAgICAgICAgICAgYXV0aGVudGljYXRlOiBBUElLZXlBdXRoZW50aWNhdGlvbihjb2xsZWN0aW9uKSxcbiAgICAgICAgICB9KVxuICAgICAgICB9XG5cbiAgICAgICAgLy8gMy4gaWYgbG9jYWxTdHJhdGVneSBmbGFnIGlzIHRydWVcbiAgICAgICAgaWYgKCFjb2xsZWN0aW9uLmF1dGguZGlzYWJsZUxvY2FsU3RyYXRlZ3kgJiYgIWp3dFN0cmF0ZWd5RW5hYmxlZCkge1xuICAgICAgICAgIGp3dFN0cmF0ZWd5RW5hYmxlZCA9IHRydWVcbiAgICAgICAgfVxuICAgICAgfVxuXG4gICAgICByZXR1cm4gYXV0aFN0cmF0ZWdpZXNcbiAgICB9LCBbXSBhcyBBdXRoU3RyYXRlZ3lbXSlcblxuICAgIC8vIDQuIGlmIGVuYWJsZWQsIHB1c2ggand0IHN0cmF0ZWd5IGludG8gYXV0aFN0cmF0ZWdpZXMgbGFzdFxuICAgIGlmIChqd3RTdHJhdGVneUVuYWJsZWQpIHtcbiAgICAgIHRoaXMuYXV0aFN0cmF0ZWdpZXMucHVzaCh7XG4gICAgICAgIG5hbWU6ICdsb2NhbC1qd3QnLFxuICAgICAgICBhdXRoZW50aWNhdGU6IEpXVEF1dGhlbnRpY2F0aW9uLFxuICAgICAgfSlcbiAgICB9XG5cbiAgICBpZiAoIW9wdGlvbnMuZGlzYWJsZU9uSW5pdCkge1xuICAgICAgaWYgKHR5cGVvZiBvcHRpb25zLm9uSW5pdCA9PT0gJ2Z1bmN0aW9uJykgYXdhaXQgb3B0aW9ucy5vbkluaXQodGhpcylcbiAgICAgIGlmICh0eXBlb2YgdGhpcy5jb25maWcub25Jbml0ID09PSAnZnVuY3Rpb24nKSBhd2FpdCB0aGlzLmNvbmZpZy5vbkluaXQodGhpcylcbiAgICB9XG5cbiAgICByZXR1cm4gdGhpc1xuICB9XG5cbiAgdXBkYXRlPFQgZXh0ZW5kcyBrZXlvZiBUR2VuZXJhdGVkVHlwZXNbJ2NvbGxlY3Rpb25zJ10+KFxuICAgIG9wdGlvbnM6IFVwZGF0ZU1hbnlPcHRpb25zPFQ+LFxuICApOiBQcm9taXNlPEJ1bGtPcGVyYXRpb25SZXN1bHQ8VD4+XG5cbiAgLyoqXG4gICAqIEBkZXNjcmlwdGlvbiBVcGRhdGUgb25lIG9yIG1vcmUgZG9jdW1lbnRzXG4gICAqIEBwYXJhbSBvcHRpb25zXG4gICAqIEByZXR1cm5zIFVwZGF0ZWQgZG9jdW1lbnQocylcbiAgICovXG4gIHVwZGF0ZTxUIGV4dGVuZHMga2V5b2YgVEdlbmVyYXRlZFR5cGVzWydjb2xsZWN0aW9ucyddPihcbiAgICBvcHRpb25zOiBVcGRhdGVCeUlET3B0aW9uczxUPixcbiAgKTogUHJvbWlzZTxUR2VuZXJhdGVkVHlwZXNbJ2NvbGxlY3Rpb25zJ11bVF0+XG5cbiAgdXBkYXRlPFQgZXh0ZW5kcyBrZXlvZiBUR2VuZXJhdGVkVHlwZXNbJ2NvbGxlY3Rpb25zJ10+KFxuICAgIG9wdGlvbnM6IFVwZGF0ZU9wdGlvbnM8VD4sXG4gICk6IFByb21pc2U8QnVsa09wZXJhdGlvblJlc3VsdDxUPiB8IFRHZW5lcmF0ZWRUeXBlc1snY29sbGVjdGlvbnMnXVtUXT4ge1xuICAgIGNvbnN0IHsgdXBkYXRlIH0gPSBsb2NhbE9wZXJhdGlvbnNcbiAgICByZXR1cm4gdXBkYXRlPFQ+KHRoaXMsIG9wdGlvbnMpXG4gIH1cbn1cblxuY29uc3QgaW5pdGlhbGl6ZWQgPSBuZXcgQmFzZVBheWxvYWQoKVxuXG5leHBvcnQgZGVmYXVsdCBpbml0aWFsaXplZFxuXG5sZXQgY2FjaGVkID0gZ2xvYmFsLl9wYXlsb2FkXG5cbmlmICghY2FjaGVkKSB7XG4gIC8vIGVzbGludC1kaXNhYmxlLW5leHQtbGluZSBuby1tdWx0aS1hc3NpZ25cbiAgY2FjaGVkID0gZ2xvYmFsLl9wYXlsb2FkID0geyBwYXlsb2FkOiBudWxsLCBwcm9taXNlOiBudWxsIH1cbn1cblxuZXhwb3J0IGNvbnN0IGdldFBheWxvYWQgPSBhc3luYyAob3B0aW9ucz86IEluaXRPcHRpb25zKTogUHJvbWlzZTxCYXNlUGF5bG9hZDxHZW5lcmF0ZWRUeXBlcz4+ID0+IHtcbiAgaWYgKGNhY2hlZC5wYXlsb2FkKSB7XG4gICAgcmV0dXJuIGNhY2hlZC5wYXlsb2FkXG4gIH1cblxuICBpZiAoIWNhY2hlZC5wcm9taXNlKSB7XG4gICAgY2FjaGVkLnByb21pc2UgPSBuZXcgQmFzZVBheWxvYWQ8R2VuZXJhdGVkVHlwZXM+KCkuaW5pdChvcHRpb25zKVxuICB9XG5cbiAgdHJ5IHtcbiAgICBjYWNoZWQucGF5bG9hZCA9IGF3YWl0IGNhY2hlZC5wcm9taXNlXG4gIH0gY2F0Y2ggKGUpIHtcbiAgICBjYWNoZWQucHJvbWlzZSA9IG51bGxcbiAgICB0aHJvdyBlXG4gIH1cblxuICByZXR1cm4gY2FjaGVkLnBheWxvYWRcbn1cblxudHlwZSBHZW5lcmF0ZWRUeXBlcyA9IHtcbiAgY29sbGVjdGlvbnM6IHtcbiAgICBbc2x1ZzogbnVtYmVyIHwgc3RyaW5nIHwgc3ltYm9sXTogVHlwZVdpdGhJRCAmIFJlY29yZDxzdHJpbmcsIHVua25vd24+XG4gIH1cbiAgZ2xvYmFsczoge1xuICAgIFtzbHVnOiBudW1iZXIgfCBzdHJpbmcgfCBzeW1ib2xdOiBHbG9iYWxUeXBlV2l0aElEICYgUmVjb3JkPHN0cmluZywgdW5rbm93bj5cbiAgfVxufVxuXG50eXBlIFBheWxvYWQgPSBCYXNlUGF5bG9hZDxHZW5lcmF0ZWRUeXBlcz5cblxuaW50ZXJmYWNlIFJlcXVlc3RDb250ZXh0IHtcbiAgW2tleTogc3RyaW5nXTogdW5rbm93blxufVxuXG4vLyB0eXBlIERhdGFiYXNlQWRhcHRlciA9IEJhc2VEYXRhYmFzZUFkYXB0ZXJcblxuZXhwb3J0IHR5cGUgeyBHZW5lcmF0ZWRUeXBlcywgUGF5bG9hZCwgUmVxdWVzdENvbnRleHQgfVxuIl0sIm5hbWVzIjpbIkJhc2VQYXlsb2FkIiwiZ2V0UGF5bG9hZCIsImF1dGhTdHJhdGVnaWVzIiwiY29sbGVjdGlvbnMiLCJjb25maWciLCJjcmVhdGUiLCJvcHRpb25zIiwibG9jYWxPcGVyYXRpb25zIiwiZGIiLCJkZWNyeXB0IiwiZW1haWwiLCJlbWFpbE9wdGlvbnMiLCJlbmNyeXB0IiwiZXh0ZW5zaW9ucyIsImZpbmQiLCJmaW5kQnlJRCIsImZpbmRHbG9iYWwiLCJmaW5kT25lIiwibG9jYWxHbG9iYWxPcGVyYXRpb25zIiwiZmluZEdsb2JhbFZlcnNpb25CeUlEIiwiZmluZFZlcnNpb25CeUlEIiwiZmluZEdsb2JhbFZlcnNpb25zIiwiZmluZFZlcnNpb25zIiwiZm9yZ290UGFzc3dvcmQiLCJhdXRoIiwiZ2V0QVBJVVJMIiwic2VydmVyVVJMIiwicm91dGVzIiwiYXBpIiwiZ2V0QWRtaW5VUkwiLCJhZG1pbiIsImdsb2JhbHMiLCJsb2dnZXIiLCJsb2dpbiIsInJlc2V0UGFzc3dvcmQiLCJyZXN0b3JlR2xvYmFsVmVyc2lvbiIsInJlc3RvcmVWZXJzaW9uIiwic2NoZW1hIiwic2VjcmV0Iiwic2VuZEVtYWlsIiwidHlwZXMiLCJ1bmxvY2siLCJ1cGRhdGVHbG9iYWwiLCJ1cGRhdGUiLCJ2YWxpZGF0aW9uUnVsZXMiLCJ2ZXJpZnlFbWFpbCIsInZlcnNpb25zIiwiZGVsZXRlIiwiZGVsZXRlTG9jYWwiLCJpbml0IiwiTG9nZ2VyIiwibG9nZ2VyT3B0aW9ucyIsImxvZ2dlckRlc3RpbmF0aW9uIiwiRXJyb3IiLCJjcnlwdG8iLCJjcmVhdGVIYXNoIiwiZGlnZXN0Iiwic2xpY2UiLCJmb3JFYWNoIiwiY29sbGVjdGlvbiIsInNsdWciLCJwYXlsb2FkIiwiZGlzYWJsZURCQ29ubmVjdCIsImNvbm5lY3QiLCJpbmZvIiwid2FybiIsImVtYWlsRGVmYXVsdHMiLCJidWlsZEVtYWlsIiwiYmluZCIsInNlcnZlckluaXRUZWxlbWV0cnkiLCJqd3RTdHJhdGVneUVuYWJsZWQiLCJyZWR1Y2UiLCJzdHJhdGVnaWVzIiwibGVuZ3RoIiwicHVzaCIsInVzZUFQSUtleSIsIm5hbWUiLCJhdXRoZW50aWNhdGUiLCJBUElLZXlBdXRoZW50aWNhdGlvbiIsImRpc2FibGVMb2NhbFN0cmF0ZWd5IiwiSldUQXV0aGVudGljYXRpb24iLCJkaXNhYmxlT25Jbml0Iiwib25Jbml0IiwiaW5pdGlhbGl6ZWQiLCJjYWNoZWQiLCJnbG9iYWwiLCJfcGF5bG9hZCIsInByb21pc2UiLCJlIl0sIm1hcHBpbmdzIjoiOzs7Ozs7Ozs7OztJQTBEYUEsV0FBVztlQUFYQTs7SUFnV2IsT0FBMEI7ZUFBMUI7O0lBU2FDLFVBQVU7ZUFBVkE7OzsrREE5Wk07eUJBdUNjO3dCQUNJO3FCQUNIOzhEQUNOOzhEQUNMOzBCQUNtQjtrRUFDcEI7K0RBQ1k7K0RBQ2Y7NEJBQytCOzs7Ozs7QUFLM0MsTUFBTUQ7SUFDWEUsZUFBOEI7SUFFOUJDLGNBRUksQ0FBQyxFQUFDO0lBRU5DLE9BQXVCO0lBRXZCOzs7O0dBSUMsR0FDREMsU0FBUyxPQUNQQztRQUVBLE1BQU0sRUFBRUQsTUFBTSxFQUFFLEdBQUdFLGNBQWU7UUFDbEMsT0FBT0YsT0FBVSxJQUFJLEVBQUVDO0lBQ3pCLEVBQUM7SUFFREUsR0FBdUI7SUFFdkJDLFVBQVVBLGdCQUFPLENBQUE7SUFFakJDLE1BQXVCO0lBRXZCQyxhQUEwQjtJQUUxQkMsVUFBVUEsZ0JBQU8sQ0FBQTtJQUVqQixnQ0FBZ0M7SUFDaEMsNkJBQTZCO0lBRTdCQyxXQUlrQjtJQUVsQjs7OztHQUlDLEdBQ0RDLE9BQU8sT0FDTFI7UUFFQSxNQUFNLEVBQUVRLElBQUksRUFBRSxHQUFHUCxjQUFlO1FBQ2hDLE9BQU9PLEtBQVEsSUFBSSxFQUFFUjtJQUN2QixFQUFDO0lBRURTLFdBQVcsT0FDVFQ7UUFFQSxNQUFNLEVBQUVTLFFBQVEsRUFBRSxHQUFHUixjQUFlO1FBQ3BDLE9BQU9RLFNBQVksSUFBSSxFQUFFVDtJ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
249
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIi4uL3NyYy9pbmRleC50cyJdLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgdHlwZSB7IEV4ZWN1dGlvblJlc3VsdCwgR3JhcGhRTFNjaGVtYSwgVmFsaWRhdGlvblJ1bGUgfSBmcm9tICdncmFwaHFsJ1xuaW1wb3J0IHR5cGUgeyBPcGVyYXRpb25BcmdzLCBSZXF1ZXN0IGFzIGdyYXBoUUxSZXF1ZXN0IH0gZnJvbSAnZ3JhcGhxbC1odHRwJ1xuaW1wb3J0IHR5cGUgeyBTZW5kTWFpbE9wdGlvbnMgfSBmcm9tICdub2RlbWFpbGVyJ1xuaW1wb3J0IHR5cGUgcGlubyBmcm9tICdwaW5vJ1xuXG5pbXBvcnQgY3J5cHRvIGZyb20gJ2NyeXB0bydcblxuaW1wb3J0IHR5cGUgeyBSZXN1bHQgYXMgRm9yZ290UGFzc3dvcmRSZXN1bHQgfSBmcm9tICcuL2F1dGgvb3BlcmF0aW9ucy9mb3Jnb3RQYXNzd29yZC5qcydcbmltcG9ydCB0eXBlIHsgT3B0aW9ucyBhcyBGb3Jnb3RQYXNzd29yZE9wdGlvbnMgfSBmcm9tICcuL2F1dGgvb3BlcmF0aW9ucy9sb2NhbC9mb3Jnb3RQYXNzd29yZC5qcydcbmltcG9ydCB0eXBlIHsgT3B0aW9ucyBhcyBMb2dpbk9wdGlvbnMgfSBmcm9tICcuL2F1dGgvb3BlcmF0aW9ucy9sb2NhbC9sb2dpbi5qcydcbmltcG9ydCB0eXBlIHsgT3B0aW9ucyBhcyBSZXNldFBhc3N3b3JkT3B0aW9ucyB9IGZyb20gJy4vYXV0aC9vcGVyYXRpb25zL2xvY2FsL3Jlc2V0UGFzc3dvcmQuanMnXG5pbXBvcnQgdHlwZSB7IE9wdGlvbnMgYXMgVW5sb2NrT3B0aW9ucyB9IGZyb20gJy4vYXV0aC9vcGVyYXRpb25zL2xvY2FsL3VubG9jay5qcydcbmltcG9ydCB0eXBlIHsgT3B0aW9ucyBhcyBWZXJpZnlFbWFpbE9wdGlvbnMgfSBmcm9tICcuL2F1dGgvb3BlcmF0aW9ucy9sb2NhbC92ZXJpZnlFbWFpbC5qcydcbmltcG9ydCB0eXBlIHsgUmVzdWx0IGFzIExvZ2luUmVzdWx0IH0gZnJvbSAnLi9hdXRoL29wZXJhdGlvbnMvbG9naW4uanMnXG5pbXBvcnQgdHlwZSB7IFJlc3VsdCBhcyBSZXNldFBhc3N3b3JkUmVzdWx0IH0gZnJvbSAnLi9hdXRoL29wZXJhdGlvbnMvcmVzZXRQYXNzd29yZC5qcydcbmltcG9ydCB0eXBlIHsgQXV0aFN0cmF0ZWd5IH0gZnJvbSAnLi9hdXRoL3R5cGVzLmpzJ1xuaW1wb3J0IHR5cGUgeyBCdWxrT3BlcmF0aW9uUmVzdWx0LCBDb2xsZWN0aW9uLCBUeXBlV2l0aElEIH0gZnJvbSAnLi9jb2xsZWN0aW9ucy9jb25maWcvdHlwZXMuanMnXG5pbXBvcnQgdHlwZSB7IE9wdGlvbnMgYXMgQ3JlYXRlT3B0aW9ucyB9IGZyb20gJy4vY29sbGVjdGlvbnMvb3BlcmF0aW9ucy9sb2NhbC9jcmVhdGUuanMnXG5pbXBvcnQgdHlwZSB7XG4gIEJ5SURPcHRpb25zIGFzIERlbGV0ZUJ5SURPcHRpb25zLFxuICBNYW55T3B0aW9ucyBhcyBEZWxldGVNYW55T3B0aW9ucyxcbiAgT3B0aW9ucyBhcyBEZWxldGVPcHRpb25zLFxufSBmcm9tICcuL2NvbGxlY3Rpb25zL29wZXJhdGlvbnMvbG9jYWwvZGVsZXRlLmpzJ1xuaW1wb3J0IHR5cGUgeyBPcHRpb25zIGFzIEZpbmRPcHRpb25zIH0gZnJvbSAnLi9jb2xsZWN0aW9ucy9vcGVyYXRpb25zL2xvY2FsL2ZpbmQuanMnXG5pbXBvcnQgdHlwZSB7IE9wdGlvbnMgYXMgRmluZEJ5SURPcHRpb25zIH0gZnJvbSAnLi9jb2xsZWN0aW9ucy9vcGVyYXRpb25zL2xvY2FsL2ZpbmRCeUlELmpzJ1xuaW1wb3J0IHR5cGUgeyBPcHRpb25zIGFzIEZpbmRWZXJzaW9uQnlJRE9wdGlvbnMgfSBmcm9tICcuL2NvbGxlY3Rpb25zL29wZXJhdGlvbnMvbG9jYWwvZmluZFZlcnNpb25CeUlELmpzJ1xuaW1wb3J0IHR5cGUgeyBPcHRpb25zIGFzIEZpbmRWZXJzaW9uc09wdGlvbnMgfSBmcm9tICcuL2NvbGxlY3Rpb25zL29wZXJhdGlvbnMvbG9jYWwvZmluZFZlcnNpb25zLmpzJ1xuaW1wb3J0IHR5cGUgeyBPcHRpb25zIGFzIFJlc3RvcmVWZXJzaW9uT3B0aW9ucyB9IGZyb20gJy4vY29sbGVjdGlvbnMvb3BlcmF0aW9ucy9sb2NhbC9yZXN0b3JlVmVyc2lvbi5qcydcbmltcG9ydCB0eXBlIHtcbiAgQnlJRE9wdGlvbnMgYXMgVXBkYXRlQnlJRE9wdGlvbnMsXG4gIE1hbnlPcHRpb25zIGFzIFVwZGF0ZU1hbnlPcHRpb25zLFxuICBPcHRpb25zIGFzIFVwZGF0ZU9wdGlvbnMsXG59IGZyb20gJy4vY29sbGVjdGlvbnMvb3BlcmF0aW9ucy9sb2NhbC91cGRhdGUuanMnXG5pbXBvcnQgdHlwZSB7IEVtYWlsT3B0aW9ucywgSW5pdE9wdGlvbnMsIFNhbml0aXplZENvbmZpZyB9IGZyb20gJy4vY29uZmlnL3R5cGVzLmpzJ1xuaW1wb3J0IHR5cGUgeyBCYXNlRGF0YWJhc2VBZGFwdGVyLCBQYWdpbmF0ZWREb2NzIH0gZnJvbSAnLi9kYXRhYmFzZS90eXBlcy5qcydcbmltcG9ydCB0eXBlIHsgQnVpbGRFbWFpbFJlc3VsdCB9IGZyb20gJy4vZW1haWwvdHlwZXMuanMnXG5pbXBvcnQgdHlwZSB7IFR5cGVXaXRoSUQgYXMgR2xvYmFsVHlwZVdpdGhJRCwgR2xvYmFscyB9IGZyb20gJy4vZ2xvYmFscy9jb25maWcvdHlwZXMuanMnXG5pbXBvcnQgdHlwZSB7IE9wdGlvbnMgYXMgRmluZEdsb2JhbE9wdGlvbnMgfSBmcm9tICcuL2dsb2JhbHMvb3BlcmF0aW9ucy9sb2NhbC9maW5kT25lLmpzJ1xuaW1wb3J0IHR5cGUgeyBPcHRpb25zIGFzIEZpbmRHbG9iYWxWZXJzaW9uQnlJRE9wdGlvbnMgfSBmcm9tICcuL2dsb2JhbHMvb3BlcmF0aW9ucy9sb2NhbC9maW5kVmVyc2lvbkJ5SUQuanMnXG5pbXBvcnQgdHlwZSB7IE9wdGlvbnMgYXMgRmluZEdsb2JhbFZlcnNpb25zT3B0aW9ucyB9IGZyb20gJy4vZ2xvYmFscy9vcGVyYXRpb25zL2xvY2FsL2ZpbmRWZXJzaW9ucy5qcydcbmltcG9ydCB0eXBlIHsgT3B0aW9ucyBhcyBSZXN0b3JlR2xvYmFsVmVyc2lvbk9wdGlvbnMgfSBmcm9tICcuL2dsb2JhbHMvb3BlcmF0aW9ucy9sb2NhbC9yZXN0b3JlVmVyc2lvbi5qcydcbmltcG9ydCB0eXBlIHsgT3B0aW9ucyBhcyBVcGRhdGVHbG9iYWxPcHRpb25zIH0gZnJvbSAnLi9nbG9iYWxzL29wZXJhdGlvbnMvbG9jYWwvdXBkYXRlLmpzJ1xuaW1wb3J0IHR5cGUgeyBUeXBlV2l0aFZlcnNpb24gfSBmcm9tICcuL3ZlcnNpb25zL3R5cGVzLmpzJ1xuXG5pbXBvcnQgeyBkZWNyeXB0LCBlbmNyeXB0IH0gZnJvbSAnLi9hdXRoL2NyeXB0by5qcydcbmltcG9ydCB7IEFQSUtleUF1dGhlbnRpY2F0aW9uIH0gZnJvbSAnLi9hdXRoL3N0cmF0ZWdpZXMvYXBpS2V5LmpzJ1xuaW1wb3J0IHsgSldUQXV0aGVudGljYXRpb24gfSBmcm9tICcuL2F1dGgvc3RyYXRlZ2llcy9qd3QuanMnXG5pbXBvcnQgbG9jYWxPcGVyYXRpb25zIGZyb20gJy4vY29sbGVjdGlvbnMvb3BlcmF0aW9ucy9sb2NhbC9pbmRleC5qcydcbmltcG9ydCB2YWxpZGF0ZSBmcm9tICcuL2NvbmZpZy92YWxpZGF0ZS5qcydcbmltcG9ydCBidWlsZEVtYWlsIGZyb20gJy4vZW1haWwvYnVpbGQuanMnXG5pbXBvcnQgeyBkZWZhdWx0cyBhcyBlbWFpbERlZmF1bHRzIH0gZnJvbSAnLi9lbWFpbC9kZWZhdWx0cy5qcydcbmltcG9ydCBzZW5kRW1haWwgZnJvbSAnLi9lbWFpbC9zZW5kRW1haWwuanMnXG5pbXBvcnQgbG9jYWxHbG9iYWxPcGVyYXRpb25zIGZyb20gJy4vZ2xvYmFscy9vcGVyYXRpb25zL2xvY2FsL2luZGV4LmpzJ1xuaW1wb3J0IExvZ2dlciBmcm9tICcuL3V0aWxpdGllcy9sb2dnZXIuanMnXG5pbXBvcnQgeyBzZXJ2ZXJJbml0IGFzIHNlcnZlckluaXRUZWxlbWV0cnkgfSBmcm9tICcuL3V0aWxpdGllcy90ZWxlbWV0cnkvZXZlbnRzL3NlcnZlckluaXQuanMnXG5cbi8qKlxuICogQGRlc2NyaXB0aW9uIFBheWxvYWRcbiAqL1xuZXhwb3J0IGNsYXNzIEJhc2VQYXlsb2FkPFRHZW5lcmF0ZWRUeXBlcyBleHRlbmRzIEdlbmVyYXRlZFR5cGVzPiB7XG4gIGF1dGhTdHJhdGVnaWVzOiBBdXRoU3RyYXRlZ3lbXVxuXG4gIGNvbGxlY3Rpb25zOiB7XG4gICAgW3NsdWc6IG51bWJlciB8IHN0cmluZyB8IHN5bWJvbF06IENvbGxlY3Rpb25cbiAgfSA9IHt9XG5cbiAgY29uZmlnOiBTYW5pdGl6ZWRDb25maWdcblxuICAvKipcbiAgICogQGRlc2NyaXB0aW9uIFBlcmZvcm1zIGNyZWF0ZSBvcGVyYXRpb25cbiAgICogQHBhcmFtIG9wdGlvbnNcbiAgICogQHJldHVybnMgY3JlYXRlZCBkb2N1bWVudFxuICAgKi9cbiAgY3JlYXRlID0gYXN5bmMgPFQgZXh0ZW5kcyBrZXlvZiBUR2VuZXJhdGVkVHlwZXNbJ2NvbGxlY3Rpb25zJ10+KFxuICAgIG9wdGlvbnM6IENyZWF0ZU9wdGlvbnM8VD4sXG4gICk6IFByb21pc2U8VEdlbmVyYXRlZFR5cGVzWydjb2xsZWN0aW9ucyddW1RdPiA9PiB7XG4gICAgY29uc3QgeyBjcmVhdGUgfSA9IGxvY2FsT3BlcmF0aW9uc1xuICAgIHJldHVybiBjcmVhdGU8VD4odGhpcywgb3B0aW9ucylcbiAgfVxuXG4gIGRiOiBCYXNlRGF0YWJhc2VBZGFwdGVyXG5cbiAgZGVjcnlwdCA9IGRlY3J5cHRcblxuICBlbWFpbDogQnVpbGRFbWFpbFJlc3VsdFxuXG4gIGVtYWlsT3B0aW9uczogRW1haWxPcHRpb25zXG5cbiAgZW5jcnlwdCA9IGVuY3J5cHRcblxuICAvLyBUT0RPOiByZS1pbXBsZW1lbnQgb3IgcmVtb3ZlP1xuICAvLyBlcnJvckhhbmRsZXI6IEVycm9ySGFuZGxlclxuXG4gIGV4dGVuc2lvbnM6IChhcmdzOiB7XG4gICAgYXJnczogT3BlcmF0aW9uQXJnczxhbnk+XG4gICAgcmVxOiBncmFwaFFMUmVxdWVzdDx1bmtub3duLCB1bmtub3duPlxuICAgIHJlc3VsdDogRXhlY3V0aW9uUmVzdWx0XG4gIH0pID0+IFByb21pc2U8YW55PlxuXG4gIC8qKlxuICAgKiBAZGVzY3JpcHRpb24gRmluZCBkb2N1bWVudHMgd2l0aCBjcml0ZXJpYVxuICAgKiBAcGFyYW0gb3B0aW9uc1xuICAgKiBAcmV0dXJucyBkb2N1bWVudHMgc2F0aXNmeWluZyBxdWVyeVxuICAgKi9cbiAgZmluZCA9IGFzeW5jIDxUIGV4dGVuZHMga2V5b2YgVEdlbmVyYXRlZFR5cGVzWydjb2xsZWN0aW9ucyddPihcbiAgICBvcHRpb25zOiBGaW5kT3B0aW9uczxUPixcbiAgKTogUHJvbWlzZTxQYWdpbmF0ZWREb2NzPFRHZW5lcmF0ZWRUeXBlc1snY29sbGVjdGlvbnMnXVtUXT4+ID0+IHtcbiAgICBjb25zdCB7IGZpbmQgfSA9IGxvY2FsT3BlcmF0aW9uc1xuICAgIHJldHVybiBmaW5kPFQ+KHRoaXMsIG9wdGlvbnMpXG4gIH1cblxuICBmaW5kQnlJRCA9IGFzeW5jIDxUIGV4dGVuZHMga2V5b2YgVEdlbmVyYXRlZFR5cGVzWydjb2xsZWN0aW9ucyddPihcbiAgICBvcHRpb25zOiBGaW5kQnlJRE9wdGlvbnM8VD4sXG4gICk6IFByb21pc2U8VEdlbmVyYXRlZFR5cGVzWydjb2xsZWN0aW9ucyddW1RdPiA9PiB7XG4gICAgY29uc3QgeyBmaW5kQnlJRCB9ID0gbG9jYWxPcGVyYXRpb25zXG4gICAgcmV0dXJuIGZpbmRCeUlEPFQ+KHRoaXMsIG9wdGlvbnMpXG4gIH1cblxuICBmaW5kR2xvYmFsID0gYXN5bmMgPFQgZXh0ZW5kcyBrZXlvZiBUR2VuZXJhdGVkVHlwZXNbJ2dsb2JhbHMnXT4oXG4gICAgb3B0aW9uczogRmluZEdsb2JhbE9wdGlvbnM8VD4sXG4gICk6IFByb21pc2U8VEdlbmVyYXRlZFR5cGVzWydnbG9iYWxzJ11bVF0+ID0+IHtcbiAgICBjb25zdCB7IGZpbmRPbmUgfSA9IGxvY2FsR2xvYmFsT3BlcmF0aW9uc1xuICAgIHJldHVybiBmaW5kT25lPFQ+KHRoaXMsIG9wdGlvbnMpXG4gIH1cblxuICAvKipcbiAgICogQGRlc2NyaXB0aW9uIEZpbmQgZ2xvYmFsIHZlcnNpb24gYnkgSURcbiAgICogQHBhcmFtIG9wdGlvbnNcbiAgICogQHJldHVybnMgZ2xvYmFsIHZlcnNpb24gd2l0aCBzcGVjaWZpZWQgSURcbiAgICovXG4gIGZpbmRHbG9iYWxWZXJzaW9uQnlJRCA9IGFzeW5jIDxUIGV4dGVuZHMga2V5b2YgVEdlbmVyYXRlZFR5cGVzWydnbG9iYWxzJ10+KFxuICAgIG9wdGlvbnM6IEZpbmRHbG9iYWxWZXJzaW9uQnlJRE9wdGlvbnM8VD4sXG4gICk6IFByb21pc2U8VHlwZVdpdGhWZXJzaW9uPFRHZW5lcmF0ZWRUeXBlc1snZ2xvYmFscyddW1RdPj4gPT4ge1xuICAgIGNvbnN0IHsgZmluZFZlcnNpb25CeUlEIH0gPSBsb2NhbEdsb2JhbE9wZXJhdGlvbnNcbiAgICByZXR1cm4gZmluZFZlcnNpb25CeUlEPFQ+KHRoaXMsIG9wdGlvbnMpXG4gIH1cblxuICAvKipcbiAgICogQGRlc2NyaXB0aW9uIEZpbmQgZ2xvYmFsIHZlcnNpb25zIHdpdGggY3JpdGVyaWFcbiAgICogQHBhcmFtIG9wdGlvbnNcbiAgICogQHJldHVybnMgdmVyc2lvbnMgc2F0aXNmeWluZyBxdWVyeVxuICAgKi9cbiAgZmluZEdsb2JhbFZlcnNpb25zID0gYXN5bmMgPFQgZXh0ZW5kcyBrZXlvZiBUR2VuZXJhdGVkVHlwZXNbJ2dsb2JhbHMnXT4oXG4gICAgb3B0aW9uczogRmluZEdsb2JhbFZlcnNpb25zT3B0aW9uczxUPixcbiAgKTogUHJvbWlzZTxQYWdpbmF0ZWREb2NzPFR5cGVXaXRoVmVyc2lvbjxUR2VuZXJhdGVkVHlwZXNbJ2dsb2JhbHMnXVtUXT4+PiA9PiB7XG4gICAgY29uc3QgeyBmaW5kVmVyc2lvbnMgfSA9IGxvY2FsR2xvYmFsT3BlcmF0aW9uc1xuICAgIHJldHVybiBmaW5kVmVyc2lvbnM8VD4odGhpcywgb3B0aW9ucylcbiAgfVxuXG4gIC8qKlxuICAgKiBAZGVzY3JpcHRpb24gRmluZCB2ZXJzaW9uIGJ5IElEXG4gICAqIEBwYXJhbSBvcHRpb25zXG4gICAqIEByZXR1cm5zIHZlcnNpb24gd2l0aCBzcGVjaWZpZWQgSURcbiAgICovXG4gIGZpbmRWZXJzaW9uQnlJRCA9IGFzeW5jIDxUIGV4dGVuZHMga2V5b2YgVEdlbmVyYXRlZFR5cGVzWydjb2xsZWN0aW9ucyddPihcbiAgICBvcHRpb25zOiBGaW5kVmVyc2lvbkJ5SURPcHRpb25zPFQ+LFxuICApOiBQcm9taXNlPFR5cGVXaXRoVmVyc2lvbjxUR2VuZXJhdGVkVHlwZXNbJ2NvbGxlY3Rpb25zJ11bVF0+PiA9PiB7XG4gICAgY29uc3QgeyBmaW5kVmVyc2lvbkJ5SUQgfSA9IGxvY2FsT3BlcmF0aW9uc1xuICAgIHJldHVybiBmaW5kVmVyc2lvbkJ5SUQ8VD4odGhpcywgb3B0aW9ucylcbiAgfVxuXG4gIC8qKlxuICAgKiBAZGVzY3JpcHRpb24gRmluZCB2ZXJzaW9ucyB3aXRoIGNyaXRlcmlhXG4gICAqIEBwYXJhbSBvcHRpb25zXG4gICAqIEByZXR1cm5zIHZlcnNpb25zIHNhdGlzZnlpbmcgcXVlcnlcbiAgICovXG4gIGZpbmRWZXJzaW9ucyA9IGFzeW5jIDxUIGV4dGVuZHMga2V5b2YgVEdlbmVyYXRlZFR5cGVzWydjb2xsZWN0aW9ucyddPihcbiAgICBvcHRpb25zOiBGaW5kVmVyc2lvbnNPcHRpb25zPFQ+LFxuICApOiBQcm9taXNlPFBhZ2luYXRlZERvY3M8VHlwZVdpdGhWZXJzaW9uPFRHZW5lcmF0ZWRUeXBlc1snY29sbGVjdGlvbnMnXVtUXT4+PiA9PiB7XG4gICAgY29uc3QgeyBmaW5kVmVyc2lvbnMgfSA9IGxvY2FsT3BlcmF0aW9uc1xuICAgIHJldHVybiBmaW5kVmVyc2lvbnM8VD4odGhpcywgb3B0aW9ucylcbiAgfVxuXG4gIGZvcmdvdFBhc3N3b3JkID0gYXN5bmMgPFQgZXh0ZW5kcyBrZXlvZiBUR2VuZXJhdGVkVHlwZXNbJ2NvbGxlY3Rpb25zJ10+KFxuICAgIG9wdGlvbnM6IEZvcmdvdFBhc3N3b3JkT3B0aW9uczxUPixcbiAgKTogUHJvbWlzZTxGb3Jnb3RQYXNzd29yZFJlc3VsdD4gPT4ge1xuICAgIGNvbnN0IHsgZm9yZ290UGFzc3dvcmQgfSA9IGxvY2FsT3BlcmF0aW9ucy5hdXRoXG4gICAgcmV0dXJuIGZvcmdvdFBhc3N3b3JkPFQ+KHRoaXMsIG9wdGlvbnMpXG4gIH1cblxuICBnZXRBUElVUkwgPSAoKTogc3RyaW5nID0+IGAke3RoaXMuY29uZmlnLnNlcnZlclVSTH0ke3RoaXMuY29uZmlnLnJvdXRlcy5hcGl9YFxuXG4gIGdldEFkbWluVVJMID0gKCk6IHN0cmluZyA9PiBgJHt0aGlzLmNvbmZpZy5zZXJ2ZXJVUkx9JHt0aGlzLmNvbmZpZy5yb3V0ZXMuYWRtaW59YFxuXG4gIGdsb2JhbHM6IEdsb2JhbHNcblxuICBsb2dnZXI6IHBpbm8uTG9nZ2VyXG5cbiAgbG9naW4gPSBhc3luYyA8VCBleHRlbmRzIGtleW9mIFRHZW5lcmF0ZWRUeXBlc1snY29sbGVjdGlvbnMnXT4oXG4gICAgb3B0aW9uczogTG9naW5PcHRpb25zPFQ+LFxuICApOiBQcm9taXNlPExvZ2luUmVzdWx0ICYgeyB1c2VyOiBUR2VuZXJhdGVkVHlwZXNbJ2NvbGxlY3Rpb25zJ11bVF0gfT4gPT4ge1xuICAgIGNvbnN0IHsgbG9naW4gfSA9IGxvY2FsT3BlcmF0aW9ucy5hdXRoXG4gICAgcmV0dXJuIGxvZ2luPFQ+KHRoaXMsIG9wdGlvbnMpXG4gIH1cblxuICAvKipcbiAgICogQGRlc2NyaXB0aW9uIEZpbmQgZG9jdW1lbnQgYnkgSURcbiAgICogQHBhcmFtIG9wdGlvbnNcbiAgICogQHJldHVybnMgZG9jdW1lbnQgd2l0aCBzcGVjaWZpZWQgSURcbiAgICovXG5cbiAgcmVzZXRQYXNzd29yZCA9IGFzeW5jIDxUIGV4dGVuZHMga2V5b2YgVEdlbmVyYXRlZFR5cGVzWydjb2xsZWN0aW9ucyddPihcbiAgICBvcHRpb25zOiBSZXNldFBhc3N3b3JkT3B0aW9uczxUPixcbiAgKTogUHJvbWlzZTxSZXNldFBhc3N3b3JkUmVzdWx0PiA9PiB7XG4gICAgY29uc3QgeyByZXNldFBhc3N3b3JkIH0gPSBsb2NhbE9wZXJhdGlvbnMuYXV0aFxuICAgIHJldHVybiByZXNldFBhc3N3b3JkPFQ+KHRoaXMsIG9wdGlvbnMpXG4gIH1cblxuICAvKipcbiAgICogQGRlc2NyaXB0aW9uIFJlc3RvcmUgZ2xvYmFsIHZlcnNpb24gYnkgSURcbiAgICogQHBhcmFtIG9wdGlvbnNcbiAgICogQHJldHVybnMgdmVyc2lvbiB3aXRoIHNwZWNpZmllZCBJRFxuICAgKi9cbiAgcmVzdG9yZUdsb2JhbFZlcnNpb24gPSBhc3luYyA8VCBleHRlbmRzIGtleW9mIFRHZW5lcmF0ZWRUeXBlc1snZ2xvYmFscyddPihcbiAgICBvcHRpb25zOiBSZXN0b3JlR2xvYmFsVmVyc2lvbk9wdGlvbnM8VD4sXG4gICk6IFByb21pc2U8VEdlbmVyYXRlZFR5cGVzWydnbG9iYWxzJ11bVF0+ID0+IHtcbiAgICBjb25zdCB7IHJlc3RvcmVWZXJzaW9uIH0gPSBsb2NhbEdsb2JhbE9wZXJhdGlvbnNcbiAgICByZXR1cm4gcmVzdG9yZVZlcnNpb248VD4odGhpcywgb3B0aW9ucylcbiAgfVxuXG4gIC8qKlxuICAgKiBAZGVzY3JpcHRpb24gUmVzdG9yZSB2ZXJzaW9uIGJ5IElEXG4gICAqIEBwYXJhbSBvcHRpb25zXG4gICAqIEByZXR1cm5zIHZlcnNpb24gd2l0aCBzcGVjaWZpZWQgSURcbiAgICovXG4gIHJlc3RvcmVWZXJzaW9uID0gYXN5bmMgPFQgZXh0ZW5kcyBrZXlvZiBUR2VuZXJhdGVkVHlwZXNbJ2NvbGxlY3Rpb25zJ10+KFxuICAgIG9wdGlvbnM6IFJlc3RvcmVWZXJzaW9uT3B0aW9uczxUPixcbiAgKTogUHJvbWlzZTxUR2VuZXJhdGVkVHlwZXNbJ2NvbGxlY3Rpb25zJ11bVF0+ID0+IHtcbiAgICBjb25zdCB7IHJlc3RvcmVWZXJzaW9uIH0gPSBsb2NhbE9wZXJhdGlvbnNcbiAgICByZXR1cm4gcmVzdG9yZVZlcnNpb248VD4odGhpcywgb3B0aW9ucylcbiAgfVxuXG4gIHNjaGVtYTogR3JhcGhRTFNjaGVtYVxuXG4gIHNlY3JldDogc3RyaW5nXG5cbiAgc2VuZEVtYWlsOiAobWVzc2FnZTogU2VuZE1haWxPcHRpb25zKSA9PiBQcm9taXNlPHVua25vd24+XG5cbiAgdHlwZXM6IHtcbiAgICBhcnJheVR5cGVzOiBhbnlcbiAgICBibG9ja0lucHV0VHlwZXM6IGFueVxuICAgIGJsb2NrVHlwZXM6IGFueVxuICAgIGZhbGxiYWNrTG9jYWxlSW5wdXRUeXBlPzogYW55XG4gICAgZ3JvdXBUeXBlczogYW55XG4gICAgbG9jYWxlSW5wdXRUeXBlPzogYW55XG4gICAgdGFiVHlwZXM6IGFueVxuICB9XG5cbiAgdW5sb2NrID0gYXN5bmMgPFQgZXh0ZW5kcyBrZXlvZiBUR2VuZXJhdGVkVHlwZXNbJ2NvbGxlY3Rpb25zJ10+KFxuICAgIG9wdGlvbnM6IFVubG9ja09wdGlvbnM8VD4sXG4gICk6IFByb21pc2U8Ym9vbGVhbj4gPT4ge1xuICAgIGNvbnN0IHsgdW5sb2NrIH0gPSBsb2NhbE9wZXJhdGlvbnMuYXV0aFxuICAgIHJldHVybiB1bmxvY2sodGhpcywgb3B0aW9ucylcbiAgfVxuXG4gIHVwZGF0ZUdsb2JhbCA9IGFzeW5jIDxUIGV4dGVuZHMga2V5b2YgVEdlbmVyYXRlZFR5cGVzWydnbG9iYWxzJ10+KFxuICAgIG9wdGlvbnM6IFVwZGF0ZUdsb2JhbE9wdGlvbnM8VD4sXG4gICk6IFByb21pc2U8VEdlbmVyYXRlZFR5cGVzWydnbG9iYWxzJ11bVF0+ID0+IHtcbiAgICBjb25zdCB7IHVwZGF0ZSB9ID0gbG9jYWxHbG9iYWxPcGVyYXRpb25zXG4gICAgcmV0dXJuIHVwZGF0ZTxUPih0aGlzLCBvcHRpb25zKVxuICB9XG5cbiAgdmFsaWRhdGlvblJ1bGVzOiAoYXJnczogT3BlcmF0aW9uQXJnczxhbnk+KSA9PiBWYWxpZGF0aW9uUnVsZVtdXG5cbiAgdmVyaWZ5RW1haWwgPSBhc3luYyA8VCBleHRlbmRzIGtleW9mIFRHZW5lcmF0ZWRUeXBlc1snY29sbGVjdGlvbnMnXT4oXG4gICAgb3B0aW9uczogVmVyaWZ5RW1haWxPcHRpb25zPFQ+LFxuICApOiBQcm9taXNlPGJvb2xlYW4+ID0+IHtcbiAgICBjb25zdCB7IHZlcmlmeUVtYWlsIH0gPSBsb2NhbE9wZXJhdGlvbnMuYXV0aFxuICAgIHJldHVybiB2ZXJpZnlFbWFpbCh0aGlzLCBvcHRpb25zKVxuICB9XG5cbiAgdmVyc2lvbnM6IHtcbiAgICBbc2x1Zzogc3RyaW5nXTogYW55IC8vIFRPRE86IFR5cGUgdGhpc1xuICB9ID0ge31cblxuICBkZWxldGU8VCBleHRlbmRzIGtleW9mIFRHZW5lcmF0ZWRUeXBlc1snY29sbGVjdGlvbnMnXT4oXG4gICAgb3B0aW9uczogRGVsZXRlT3B0aW9uczxUPixcbiAgKTogUHJvbWlzZTxCdWxrT3BlcmF0aW9uUmVzdWx0PFQ+IHwgVEdlbmVyYXRlZFR5cGVzWydjb2xsZWN0aW9ucyddW1RdPiB7XG4gICAgY29uc3QgeyBkZWxldGVMb2NhbCB9ID0gbG9jYWxPcGVyYXRpb25zXG4gICAgcmV0dXJuIGRlbGV0ZUxvY2FsPFQ+KHRoaXMsIG9wdGlvbnMpXG4gIH1cblxuICAvKipcbiAgICogQGRlc2NyaXB0aW9uIGRlbGV0ZSBvbmUgb3IgbW9yZSBkb2N1bWVudHNcbiAgICogQHBhcmFtIG9wdGlvbnNcbiAgICogQHJldHVybnMgVXBkYXRlZCBkb2N1bWVudChzKVxuICAgKi9cbiAgZGVsZXRlPFQgZXh0ZW5kcyBrZXlvZiBUR2VuZXJhdGVkVHlwZXNbJ2NvbGxlY3Rpb25zJ10+KFxuICAgIG9wdGlvbnM6IERlbGV0ZUJ5SURPcHRpb25zPFQ+LFxuICApOiBQcm9taXNlPFRHZW5lcmF0ZWRUeXBlc1snY29sbGVjdGlvbnMnXVtUXT5cblxuICBkZWxldGU8VCBleHRlbmRzIGtleW9mIFRHZW5lcmF0ZWRUeXBlc1snY29sbGVjdGlvbnMnXT4oXG4gICAgb3B0aW9uczogRGVsZXRlTWFueU9wdGlvbnM8VD4sXG4gICk6IFByb21pc2U8QnVsa09wZXJhdGlvblJlc3VsdDxUPj5cblxuICAvKipcbiAgICogQGRlc2NyaXB0aW9uIEluaXRpYWxpemVzIFBheWxvYWRcbiAgICogQHBhcmFtIG9wdGlvbnNcbiAgICovXG4gIC8vIEB0cy1leHBlY3QtZXJyb3IgLy8gVE9ETzogVHlwZVNjcmlwdCBoYWxsdWNpbmF0aW5nIGFnYWluLiBmaXggbGF0ZXJcbiAgYXN5bmMgaW5pdChvcHRpb25zOiBJbml0T3B0aW9ucyk6IFByb21pc2U8UGF5bG9hZD4ge1xuICAgIHRoaXMubG9nZ2VyID0gTG9nZ2VyKCdwYXlsb2FkJywgb3B0aW9ucy5sb2dnZXJPcHRpb25zLCBvcHRpb25zLmxvZ2dlckRlc3RpbmF0aW9uKVxuXG4gICAgdGhpcy5jb25maWcgPSBhd2FpdCBvcHRpb25zLmNvbmZpZ1xuXG4gICAgaWYgKHByb2Nlc3MuZW52Lk5PREVfRU5WICE9PSAncHJvZHVjdGlvbicpIHtcbiAgICAgIGF3YWl0IHZhbGlkYXRlKHRoaXMuY29uZmlnLCB0aGlzLmxvZ2dlcilcbiAgICB9XG5cbiAgICBpZiAoIXRoaXMuY29uZmlnLnNlY3JldCkge1xuICAgICAgdGhyb3cgbmV3IEVycm9yKCdFcnJvcjogbWlzc2luZyBzZWNyZXQga2V5LiBBIHNlY3JldCBrZXkgaXMgbmVlZGVkIHRvIHNlY3VyZSBQYXlsb2FkLicpXG4gICAgfVxuXG4gICAgdGhpcy5zZWNyZXQgPSBjcnlwdG8uY3JlYXRlSGFzaCgnc2hhMjU2JykudXBkYXRlKHRoaXMuY29uZmlnLnNlY3JldCkuZGlnZXN0KCdoZXgnKS5zbGljZSgwLCAzMilcblxuICAgIHRoaXMuZ2xvYmFscyA9IHtcbiAgICAgIGNvbmZpZzogdGhpcy5jb25maWcuZ2xvYmFscyxcbiAgICB9XG5cbiAgICB0aGlzLmNvbmZpZy5jb2xsZWN0aW9ucy5mb3JFYWNoKChjb2xsZWN0aW9uKSA9PiB7XG4gICAgICB0aGlzLmNvbGxlY3Rpb25zW2NvbGxlY3Rpb24uc2x1Z10gPSB7XG4gICAgICAgIGNvbmZpZzogY29sbGVjdGlvbixcbiAgICAgIH1cbiAgICB9KVxuXG4gICAgdGhpcy5kYiA9IHRoaXMuY29uZmlnLmRiLmluaXQoeyBwYXlsb2FkOiB0aGlzIH0pXG4gICAgdGhpcy5kYi5wYXlsb2FkID0gdGhpc1xuXG4gICAgaWYgKHRoaXMuZGI/LmluaXQpIHtcbiAgICAgIGF3YWl0IHRoaXMuZGIuaW5pdCh0aGlzKVxuICAgIH1cblxuICAgIGlmICghb3B0aW9ucy5kaXNhYmxlREJDb25uZWN0ICYmIHRoaXMuZGIuY29ubmVjdCkge1xuICAgICAgYXdhaXQgdGhpcy5kYi5jb25uZWN0KClcbiAgICB9XG5cbiAgICAvLyBDb25maWd1cmUgZW1haWwgc2VydmljZVxuICAgIGNvbnN0IGVtYWlsT3B0aW9ucyA9IG9wdGlvbnMuZW1haWwgPyB7IC4uLm9wdGlvbnMuZW1haWwgfSA6IHRoaXMuY29uZmlnLmVtYWlsXG4gICAgaWYgKG9wdGlvbnMuZW1haWwgJiYgdGhpcy5jb25maWcuZW1haWwpIHtcbiAgICAgIHRoaXMubG9nZ2VyLndhcm4oXG4gICAgICAgICdFbWFpbCBvcHRpb25zIHByb3ZpZGVkIGluIGJvdGggaW5pdCBvcHRpb25zIGFuZCBjb25maWcuIFVzaW5nIGluaXQgb3B0aW9ucy4nLFxuICAgICAgKVxuICAgIH1cblxuICAgIHRoaXMuZW1haWxPcHRpb25zID0gZW1haWxPcHRpb25zID8/IGVtYWlsRGVmYXVsdHNcbiAgICB0aGlzLmVtYWlsID0gYnVpbGRFbWFpbCh0aGlzLmVtYWlsT3B0aW9ucywgdGhpcy5sb2dnZXIpXG4gICAgdGhpcy5zZW5kRW1haWwgPSBzZW5kRW1haWwuYmluZCh0aGlzKVxuXG4gICAgc2VydmVySW5pdFRlbGVtZXRyeSh0aGlzKVxuXG4gICAgLy8gMS4gbG9vcCBvdmVyIGNvbGxlY3Rpb25zLCBpZiBjb2xsZWN0aW9uIGhhcyBhdXRoIHN0cmF0ZWd5LCBpbml0aWFsaXplIGFuZCBwdXNoIHRvIGFycmF5XG4gICAgbGV0IGp3dFN0cmF0ZWd5RW5hYmxlZCA9IGZhbHNlXG4gICAgdGhpcy5hdXRoU3RyYXRlZ2llcyA9IHRoaXMuY29uZmlnLmNvbGxlY3Rpb25zLnJlZHVjZSgoYXV0aFN0cmF0ZWdpZXMsIGNvbGxlY3Rpb24pID0+IHtcbiAgICAgIGlmIChjb2xsZWN0aW9uPy5hdXRoKSB7XG4gICAgICAgIGlmIChjb2xsZWN0aW9uLmF1dGguc3RyYXRlZ2llcy5sZW5ndGggPiAwKSB7XG4gICAgICAgICAgYXV0aFN0cmF0ZWdpZXMucHVzaCguLi5jb2xsZWN0aW9uLmF1dGguc3RyYXRlZ2llcylcbiAgICAgICAgfVxuXG4gICAgICAgIC8vIDIuIGlmIGFwaSBrZXkgZW5hYmxlZCwgcHVzaCBhcGkga2V5IHN0cmF0ZWd5IGludG8gdGhlIGFycmF5XG4gICAgICAgIGlmIChjb2xsZWN0aW9uLmF1dGg/LnVzZUFQSUtleSkge1xuICAgICAgICAgIGF1dGhTdHJhdGVnaWVzLnB1c2goe1xuICAgICAgICAgICAgbmFtZTogYCR7Y29sbGVjdGlvbi5zbHVnfS1hcGkta2V5YCxcbiAgICAgICAgICAgIGF1dGhlbnRpY2F0ZTogQVBJS2V5QXV0aGVudGljYXRpb24oY29sbGVjdGlvbiksXG4gICAgICAgICAgfSlcbiAgICAgICAgfVxuXG4gICAgICAgIC8vIDMuIGlmIGxvY2FsU3RyYXRlZ3kgZmxhZyBpcyB0cnVlXG4gICAgICAgIGlmICghY29sbGVjdGlvbi5hdXRoLmRpc2FibGVMb2NhbFN0cmF0ZWd5ICYmICFqd3RTdHJhdGVneUVuYWJsZWQpIHtcbiAgICAgICAgICBqd3RTdHJhdGVneUVuYWJsZWQgPSB0cnVlXG4gICAgICAgIH1cbiAgICAgIH1cblxuICAgICAgcmV0dXJuIGF1dGhTdHJhdGVnaWVzXG4gICAgfSwgW10gYXMgQXV0aFN0cmF0ZWd5W10pXG5cbiAgICAvLyA0LiBpZiBlbmFibGVkLCBwdXNoIGp3dCBzdHJhdGVneSBpbnRvIGF1dGhTdHJhdGVnaWVzIGxhc3RcbiAgICBpZiAoand0U3RyYXRlZ3lFbmFibGVkKSB7XG4gICAgICB0aGlzLmF1dGhTdHJhdGVnaWVzLnB1c2goe1xuICAgICAgICBuYW1lOiAnbG9jYWwtand0JyxcbiAgICAgICAgYXV0aGVudGljYXRlOiBKV1RBdXRoZW50aWNhdGlvbixcbiAgICAgIH0pXG4gICAgfVxuXG4gICAgaWYgKCFvcHRpb25zLmRpc2FibGVPbkluaXQpIHtcbiAgICAgIGlmICh0eXBlb2Ygb3B0aW9ucy5vbkluaXQgPT09ICdmdW5jdGlvbicpIGF3YWl0IG9wdGlvbnMub25Jbml0KHRoaXMpXG4gICAgICBpZiAodHlwZW9mIHRoaXMuY29uZmlnLm9uSW5pdCA9PT0gJ2Z1bmN0aW9uJykgYXdhaXQgdGhpcy5jb25maWcub25Jbml0KHRoaXMpXG4gICAgfVxuXG4gICAgcmV0dXJuIHRoaXNcbiAgfVxuXG4gIHVwZGF0ZTxUIGV4dGVuZHMga2V5b2YgVEdlbmVyYXRlZFR5cGVzWydjb2xsZWN0aW9ucyddPihcbiAgICBvcHRpb25zOiBVcGRhdGVNYW55T3B0aW9uczxUPixcbiAgKTogUHJvbWlzZTxCdWxrT3BlcmF0aW9uUmVzdWx0PFQ+PlxuXG4gIC8qKlxuICAgKiBAZGVzY3JpcHRpb24gVXBkYXRlIG9uZSBvciBtb3JlIGRvY3VtZW50c1xuICAgKiBAcGFyYW0gb3B0aW9uc1xuICAgKiBAcmV0dXJucyBVcGRhdGVkIGRvY3VtZW50KHMpXG4gICAqL1xuICB1cGRhdGU8VCBleHRlbmRzIGtleW9mIFRHZW5lcmF0ZWRUeXBlc1snY29sbGVjdGlvbnMnXT4oXG4gICAgb3B0aW9uczogVXBkYXRlQnlJRE9wdGlvbnM8VD4sXG4gICk6IFByb21pc2U8VEdlbmVyYXRlZFR5cGVzWydjb2xsZWN0aW9ucyddW1RdPlxuXG4gIHVwZGF0ZTxUIGV4dGVuZHMga2V5b2YgVEdlbmVyYXRlZFR5cGVzWydjb2xsZWN0aW9ucyddPihcbiAgICBvcHRpb25zOiBVcGRhdGVPcHRpb25zPFQ+LFxuICApOiBQcm9taXNlPEJ1bGtPcGVyYXRpb25SZXN1bHQ8VD4gfCBUR2VuZXJhdGVkVHlwZXNbJ2NvbGxlY3Rpb25zJ11bVF0+IHtcbiAgICBjb25zdCB7IHVwZGF0ZSB9ID0gbG9jYWxPcGVyYXRpb25zXG4gICAgcmV0dXJuIHVwZGF0ZTxUPih0aGlzLCBvcHRpb25zKVxuICB9XG59XG5cbmNvbnN0IGluaXRpYWxpemVkID0gbmV3IEJhc2VQYXlsb2FkKClcblxuZXhwb3J0IGRlZmF1bHQgaW5pdGlhbGl6ZWRcblxubGV0IGNhY2hlZCA9IGdsb2JhbC5fcGF5bG9hZFxuXG5pZiAoIWNhY2hlZCkge1xuICAvLyBlc2xpbnQtZGlzYWJsZS1uZXh0LWxpbmUgbm8tbXVsdGktYXNzaWduXG4gIGNhY2hlZCA9IGdsb2JhbC5fcGF5bG9hZCA9IHsgcGF5bG9hZDogbnVsbCwgcHJvbWlzZTogbnVsbCB9XG59XG5cbmV4cG9ydCBjb25zdCBnZXRQYXlsb2FkID0gYXN5bmMgKG9wdGlvbnM/OiBJbml0T3B0aW9ucyk6IFByb21pc2U8QmFzZVBheWxvYWQ8R2VuZXJhdGVkVHlwZXM+PiA9PiB7XG4gIGlmIChjYWNoZWQucGF5bG9hZCkge1xuICAgIHJldHVybiBjYWNoZWQucGF5bG9hZFxuICB9XG5cbiAgaWYgKCFjYWNoZWQucHJvbWlzZSkge1xuICAgIGNhY2hlZC5wcm9taXNlID0gbmV3IEJhc2VQYXlsb2FkPEdlbmVyYXRlZFR5cGVzPigpLmluaXQob3B0aW9ucylcbiAgfVxuXG4gIHRyeSB7XG4gICAgY2FjaGVkLnBheWxvYWQgPSBhd2FpdCBjYWNoZWQucHJvbWlzZVxuICB9IGNhdGNoIChlKSB7XG4gICAgY2FjaGVkLnByb21pc2UgPSBudWxsXG4gICAgdGhyb3cgZVxuICB9XG5cbiAgcmV0dXJuIGNhY2hlZC5wYXlsb2FkXG59XG5cbnR5cGUgR2VuZXJhdGVkVHlwZXMgPSB7XG4gIGNvbGxlY3Rpb25zOiB7XG4gICAgW3NsdWc6IG51bWJlciB8IHN0cmluZyB8IHN5bWJvbF06IFR5cGVXaXRoSUQgJiBSZWNvcmQ8c3RyaW5nLCB1bmtub3duPlxuICB9XG4gIGdsb2JhbHM6IHtcbiAgICBbc2x1ZzogbnVtYmVyIHwgc3RyaW5nIHwgc3ltYm9sXTogR2xvYmFsVHlwZVdpdGhJRCAmIFJlY29yZDxzdHJpbmcsIHVua25vd24+XG4gIH1cbn1cblxudHlwZSBQYXlsb2FkID0gQmFzZVBheWxvYWQ8R2VuZXJhdGVkVHlwZXM+XG5cbmludGVyZmFjZSBSZXF1ZXN0Q29udGV4dCB7XG4gIFtrZXk6IHN0cmluZ106IHVua25vd25cbn1cblxuLy8gdHlwZSBEYXRhYmFzZUFkYXB0ZXIgPSBCYXNlRGF0YWJhc2VBZGFwdGVyXG5cbmV4cG9ydCB0eXBlIHsgR2VuZXJhdGVkVHlwZXMsIFBheWxvYWQsIFJlcXVlc3RDb250ZXh0IH1cbiJdLCJuYW1lcyI6WyJjcnlwdG8iLCJkZWNyeXB0IiwiZW5jcnlwdCIsIkFQSUtleUF1dGhlbnRpY2F0aW9uIiwiSldUQXV0aGVudGljYXRpb24iLCJsb2NhbE9wZXJhdGlvbnMiLCJ2YWxpZGF0ZSIsImJ1aWxkRW1haWwiLCJkZWZhdWx0cyIsImVtYWlsRGVmYXVsdHMiLCJzZW5kRW1haWwiLCJsb2NhbEdsb2JhbE9wZXJhdGlvbnMiLCJMb2dnZXIiLCJzZXJ2ZXJJbml0Iiwic2VydmVySW5pdFRlbGVtZXRyeSIsIkJhc2VQYXlsb2FkIiwiYXV0aFN0cmF0ZWdpZXMiLCJjb2xsZWN0aW9ucyIsImNvbmZpZyIsImNyZWF0ZSIsIm9wdGlvbnMiLCJkYiIsImVtYWlsIiwiZW1haWxPcHRpb25zIiwiZXh0ZW5zaW9ucyIsImZpbmQiLCJmaW5kQnlJRCIsImZpbmRHbG9iYWwiLCJmaW5kT25lIiwiZmluZEdsb2JhbFZlcnNpb25CeUlEIiwiZmluZFZlcnNpb25CeUlEIiwiZmluZEdsb2JhbFZlcnNpb25zIiwiZmluZFZlcnNpb25zIiwiZm9yZ290UGFzc3dvcmQiLCJhdXRoIiwiZ2V0QVBJVVJMIiwic2VydmVyVVJMIiwicm91dGVzIiwiYXBpIiwiZ2V0QWRtaW5VUkwiLCJhZG1pbiIsImdsb2JhbHMiLCJsb2dnZXIiLCJsb2dpbiIsInJlc2V0UGFzc3dvcmQiLCJyZXN0b3JlR2xvYmFsVmVyc2lvbiIsInJlc3RvcmVWZXJzaW9uIiwic2NoZW1hIiwic2VjcmV0IiwidHlwZXMiLCJ1bmxvY2siLCJ1cGRhdGVHbG9iYWwiLCJ1cGRhdGUiLCJ2YWxpZGF0aW9uUnVsZXMiLCJ2ZXJpZnlFbWFpbCIsInZlcnNpb25zIiwiZGVsZXRlIiwiZGVsZXRlTG9jYWwiLCJpbml0IiwibG9nZ2VyT3B0aW9ucyIsImxvZ2dlckRlc3RpbmF0aW9uIiwicHJvY2VzcyIsImVudiIsIk5PREVfRU5WIiwiRXJyb3IiLCJjcmVhdGVIYXNoIiwiZGlnZXN0Iiwic2xpY2UiLCJmb3JFYWNoIiwiY29sbGVjdGlvbiIsInNsdWciLCJwYXlsb2FkIiwiZGlzYWJsZURCQ29ubmVjdCIsImNvbm5lY3QiLCJ3YXJuIiwiYmluZCIsImp3dFN0cmF0ZWd5RW5hYmxlZCIsInJlZHVjZSIsInN0cmF0ZWdpZXMiLCJsZW5ndGgiLCJwdXNoIiwidXNlQVBJS2V5IiwibmFtZSIsImF1dGhlbnRpY2F0ZSIsImRpc2FibGVMb2NhbFN0cmF0ZWd5IiwiZGlzYWJsZU9uSW5pdCIsIm9uSW5pdCIsImluaXRpYWxpemVkIiwiY2FjaGVkIiwiZ2xvYmFsIiwiX3BheWxvYWQiLCJwcm9taXNlIiwiZ2V0UGF5bG9hZCIsImUiXSwibWFwcGluZ3MiOiJBQUtBLE9BQU9BLFlBQVksU0FBUTtBQXVDM0IsU0FBU0MsT0FBTyxFQUFFQyxPQUFPLFFBQVEsbUJBQWtCO0FBQ25ELFNBQVNDLG9CQUFvQixRQUFRLDhCQUE2QjtBQUNsRSxTQUFTQyxpQkFBaUIsUUFBUSwyQkFBMEI7QUFDNUQsT0FBT0MscUJBQXFCLDBDQUF5QztBQUNyRSxPQUFPQyxjQUFjLHVCQUFzQjtBQUMzQyxPQUFPQyxnQkFBZ0IsbUJBQWtCO0FBQ3pDLFNBQVNDLFlBQVlDLGFBQWEsUUFBUSxzQkFBcUI7QUFDL0QsT0FBT0MsZUFBZSx1QkFBc0I7QUFDNUMsT0FBT0MsMkJBQTJCLHNDQUFxQztBQUN2RSxPQUFPQyxZQUFZLHdCQUF1QjtBQUMxQyxTQUFTQyxjQUFjQyxtQkFBbUIsUUFBUSw2Q0FBNEM7QUFFOUY7O0NBRUMsR0FDRCxPQUFPLE1BQU1DO0lBQ1hDLGVBQThCO0lBRTlCQyxjQUVJLENBQUMsRUFBQztJQUVOQyxPQUF1QjtJQUV2Qjs7OztHQUlDLEdBQ0RDLFNBQVMsT0FDUEM7UUFFQSxNQUFNLEVBQUVELE1BQU0sRUFBRSxHQUFHZDtRQUNuQixPQUFPYyxPQUFVLElBQUksRUFBRUM7SUFDekIsRUFBQztJQUVEQyxHQUF1QjtJQUV2QnBCLFVBQVVBLFFBQU87SUFFakJxQixNQUF1QjtJQUV2QkMsYUFBMEI7SUFFMUJyQixVQUFVQSxRQUFPO0lBRWpCLGdDQUFnQztJQUNoQyw2QkFBNkI7SUFFN0JzQixXQUlrQjtJQUVsQjs7OztHQUlDLEdBQ0RDLE9BQU8sT0FDTEw7UUFFQSxNQUFNLEVBQUVLLElBQUksRUFBRSxHQUFHcEI7UUFDakIsT0FBT29CLEtBQVEsSUFBSSxFQUFFTDtJQUN2QixFQUFDO0lBRURNLFdBQVcsT0FDVE47UUFFQSxNQUFNLEVBQUVNLFFBQVEsRUFBRSxHQUFHckI7UUFDckIsT0FBT3FCLFNBQVksSUFBSSxFQUFFTjtJQUMzQixFQUFDO0lBRURPLGFBQWEsT0FDWFA7UUFFQSxNQUFNLEVBQUVRLE9BQU8sRUFBRSxHQUFHakI7UUFDcEIsT0FBT2lCLFFBQVcsSUFBSSxFQUFFUjtJQUMxQixFQUFDO0lBRUQ7Ozs7R0FJQyxHQUNEUyx3QkFBd0IsT0FDdEJUO1FBRUEsTUFBTSxFQUFFVSxlQUFlLEVBQUUsR0FBR25CO1FBQzVCLE9BQU9tQixnQkFBbUIsSUFBSSxFQUFFVjtJQUNsQyxFQUFDO0lBRUQ7Ozs7R0FJQyxHQUNEVyxxQkFBcUIsT0FDbkJYO1FBRUEsTUFBTSxFQUFFWSxZQUFZLEVBQUUsR0FBR3JCO1FBQ3pCLE9BQU9xQixhQUFnQixJQUFJLEVBQUVaO0lBQy9CLEVBQUM7SUFFRDs7OztHQUlDLEdBQ0RVLGtCQUFrQixPQUNoQlY7UUFFQSxNQUFNLEVBQUVVLGVBQWUsRUFBRSxHQUFHekI7UUFDNUIsT0FBT3lCLGdCQUFtQixJQUFJLEVBQUVWO0lBQ2xDLEVBQUM7SUFFRDs7OztHQUlDLEdBQ0RZLGVBQWUsT0FDYlo7UUFFQSxNQUFNLEVBQUVZLFlBQVksRUFBRSxHQUFHM0I7UUFDekIsT0FBTzJCLGFBQWdCLElBQUksRUFBRVo7SUFDL0IsRUFBQztJQUVEYSxpQkFBaUIsT0FDZmI7UUFFQSxNQUFNLEVBQUVhLGNBQWMsRUFBRSxHQUFHNUIsZ0JBQWdCNkIsSUFBSTtRQUMvQyxPQUFPRCxlQUFrQixJQUFJLEVBQUViO0lBQ2pDLEVBQUM7SUFFRGUsWUFBWSxJQUFjLENBQUMsRUFBRSxJQUFJLENBQUNqQixNQUFNLENBQUNrQixTQUFTLENBQUMsRUFBRSxJQUFJLENBQUNsQixNQUFNLENBQUNtQixNQUFNLENBQUNDLEdBQUcsQ0FBQyxDQUFDLENBQUE7SUFFN0VDLGNBQWMsSUFBYyxDQUFDLEVBQUUsSUFBSSxDQUFDckIsTUFBTSxDQUFDa0IsU0FBUyxDQUFDLEVBQUUsSUFBSSxDQUFDbEIsTUFBTSxDQUFDbUIsTUFBTSxDQUFDRyxLQUFLLENBQUMsQ0FBQyxDQUFBO0lBRWpGQyxRQUFnQjtJQUVoQkMsT0FBbUI7SUFFbkJDLFFBQVEsT0FDTnZCO1FBRUEsTUFBTSxFQUFFdUIsS0FBSyxFQUFFLEdBQUd0QyxnQkFBZ0I2QixJQUFJO1FBQ3RDLE9BQU9TLE1BQVMsSUFBSSxFQUFFdkI7SUFDeEIsRUFBQztJQUVEOzs7O0dBSUMsR0FFRHdCLGdCQUFnQixPQUNkeEI7UUFFQSxNQUFNLEVBQUV3QixhQUFhLEVBQUUsR0FBR3ZDLGdCQUFnQjZCLElBQUk7UUFDOUMsT0FBT1UsY0FBaUIsSUFBSSxFQUFFeEI7SUFDaEMsRUFBQztJQUVEOzs7O0dBSUMsR0FDRHlCLHVCQUF1QixPQUNyQnpCO1FBRUEsTUFBTSxFQUFFMEIsY0FBYyxFQUFFLEdBQUduQztRQUMzQixPQUFPbUMsZUFBa0IsSUFBSSxFQUFFMUI7SUFDakMsRUFBQztJQUVEOzs7O0dBSUMsR0FDRDBCLGlCQUFpQixPQUNmMUI7UUFFQSxNQUFNLEVBQUUwQixjQUFjLEVBQUUsR0FBR3pDO1FBQzNCLE9BQU95QyxlQUFrQixJQUFJLEVBQUUxQjtJQUNqQyxFQUFDO0lBRUQyQixPQUFxQjtJQUVyQkMsT0FBYztJQUVkdEMsVUFBeUQ7SUFFekR1QyxNQVFDO0lBRURDLFNBQVMsT0FDUDlCO1FBRUEsTUFBTSxFQUFFOEIsTUFBTSxFQUFFLEdBQUc3QyxnQkFBZ0I2QixJQUFJO1FBQ3ZDLE9BQU9nQixPQUFPLElBQUksRUFBRTlCO0lBQ3RCLEVBQUM7SUFFRCtCLGVBQWUsT0FDYi9CO1FBRUEsTUFBTSxFQUFFZ0MsTUFBTSxFQUFFLEdBQUd6QztRQUNuQixPQUFPeUMsT0FBVSxJQUFJLEVBQUVoQztJQUN6QixFQUFDO0lBRURpQyxnQkFBK0Q7SUFFL0RDLGNBQWMsT0FDWmxDO1FBRUEsTUFBTSxFQUFFa0MsV0FBVyxFQUFFLEdBQUdqRCxnQkFBZ0I2QixJQUFJO1FBQzVDLE9BQU9vQixZQUFZLElBQUksRUFBRWxDO0lBQzNCLEVBQUM7SUFFRG1DLFdBRUksQ0FBQyxFQUFDO0lBRU5DLE9BQ0VwQyxPQUF5QixFQUM0QztRQUNyRSxNQUFNLEVBQUVxQyxXQUFXLEVBQUUsR0FBR3BEO1FBQ3hCLE9BQU9vRCxZQUFlLElBQUksRUFBRXJDO0lBQzlCO0lBZUE7OztHQUdDLEdBQ0Qsc0VBQXNFO0lBQ3RFLE1BQU1zQyxLQUFLdEMsT0FBb0IsRUFBb0I7UUFDakQsSUFBSSxDQUFDc0IsTUFBTSxHQUFHOUIsT0FBTyxXQUFXUSxRQUFRdUMsYUFBYSxFQUFFdkMsUUFBUXdDLGlCQUFpQjtRQUVoRixJQUFJLENBQUMxQyxNQUFNLEdBQUcsTUFBTUUsUUFBUUYsTUFBTTtRQUVsQyxJQUFJMkMsUUFBUUMsR0FBRyxDQUFDQyxRQUFRLEtBQUssY0FBYztZQUN6QyxNQUFNekQsU0FBUyxJQUFJLENBQUNZLE1BQU0sRUFBRSxJQUFJLENBQUN3QixNQUFNO1FBQ3pDO1FBRUEsSUFBSSxDQUFDLElBQUksQ0FBQ3hCLE1BQU0sQ0FBQzhCLE1BQU0sRUFBRTtZQUN2QixNQUFNLElBQUlnQixNQUFNO1FBQ2xCO1FBRUEsSUFBSSxDQUFDaEIsTUFBTSxHQUFHaEQsT0FBT2lFLFVBQVUsQ0FBQyxVQUFVYixNQUFNLENBQUMsSUFBSSxDQUFDbEMsTUFBTSxDQUFDOEIsTUFBTSxFQUFFa0IsTUFBTSxDQUFDLE9BQU9DLEtBQUssQ0FBQyxHQUFHO1FBRTVGLElBQUksQ0FBQzFCLE9BQU8sR0FBRztZQUNidkIsUUFBUSxJQUFJLENBQUNBLE1BQU0sQ0FBQ3VCLE9BQU87UUFDN0I7UUFFQSxJQUFJLENBQUN2QixNQUFNLENBQUNELFdBQVcsQ0FBQ21ELE9BQU8sQ0FBQyxDQUFDQztZQUMvQixJQUFJLENBQUNwRCxXQUFXLENBQUNvRCxXQUFXQyxJQUFJLENBQUMsR0FBRztnQkFDbENwRCxRQUFRbUQ7WUFDVjtRQUNGO1FBRUEsSUFBSSxDQUFDaEQsRUFBRSxHQUFHLElBQUksQ0FBQ0gsTUFBTSxDQUFDRyxFQUFFLENBQUNxQyxJQUFJLENBQUM7WUFBRWEsU0FBUyxJQUFJO1FBQUM7UUFDOUMsSUFBSSxDQUFDbEQsRUFBRSxDQUFDa0QsT0FBTyxHQUFHLElBQUk7UUFFdEIsSUFBSSxJQUFJLENBQUNsRCxFQUFFLEVBQUVxQyxNQUFNO1lBQ2pCLE1BQU0sSUFBSSxDQUFDckMsRUFBRSxDQUFDcUMsSUFBSSxDQUFDLElBQUk7UUFDekI7UUFFQSxJQUFJLENBQUN0QyxRQUFRb0QsZ0JBQWdCLElBQUksSUFBSSxDQUFDbkQsRUFBRSxDQUFDb0QsT0FBTyxFQUFFO1lBQ2hELE1BQU0sSUFBSSxDQUFDcEQsRUFBRSxDQUFDb0QsT0FBTztRQUN2QjtRQUVBLDBCQUEwQjtRQUMxQixNQUFNbEQsZUFBZUgsUUFBUUUsS0FBSyxHQUFHO1lBQUUsR0FBR0YsUUFBUUUsS0FBSztRQUFDLElBQUksSUFBSSxDQUFDSixNQUFNLENBQUNJLEtBQUs7UUFDN0UsSUFBSUYsUUFBUUUsS0FBSyxJQUFJLElBQUksQ0FBQ0osTUFBTSxDQUFDSSxLQUFLLEVBQUU7WUFDdEMsSUFBSSxDQUFDb0IsTUFBTSxDQUFDZ0MsSUFBSSxDQUNkO1FBRUo7UUFFQSxJQUFJLENBQUNuRCxZQUFZLEdBQUdBLGdCQUFnQmQ7UUFDcEMsSUFBSSxDQUFDYSxLQUFLLEdBQUdmLFdBQVcsSUFBSSxDQUFDZ0IsWUFBWSxFQUFFLElBQUksQ0FBQ21CLE1BQU07UUFDdEQsSUFBSSxDQUFDaEMsU0FBUyxHQUFHQSxVQUFVaUUsSUFBSSxDQUFDLElBQUk7UUFFcEM3RCxvQkFBb0IsSUFBSTtRQUV4QiwwRkFBMEY7UUFDMUYsSUFBSThELHFCQUFxQjtRQUN6QixJQUFJLENBQUM1RCxjQUFjLEdBQUcsSUFBSSxDQUFDRSxNQUFNLENBQUNELFdBQVcsQ0FBQzRELE1BQU0sQ0FBQyxDQUFDN0QsZ0JBQWdCcUQ7WUFDcEUsSUFBSUEsWUFBWW5DLE1BQU07Z0JBQ3BCLElBQUltQyxXQUFXbkMsSUFBSSxDQUFDNEMsVUFBVSxDQUFDQyxNQUFNLEdBQUcsR0FBRztvQkFDekMvRCxlQUFlZ0UsSUFBSSxJQUFJWCxXQUFXbkMsSUFBSSxDQUFDNEMsVUFBVTtnQkFDbkQ7Z0JBRUEsOERBQThEO2dCQUM5RCxJQUFJVCxXQUFXbkMsSUFBSSxFQUFFK0MsV0FBVztvQkFDOUJqRSxlQUFlZ0UsSUFBSSxDQUFDO3dCQUNsQkUsTUFBTSxDQUFDLEVBQUViLFdBQVdDLElBQUksQ0FBQyxRQUFRLENBQUM7d0JBQ2xDYSxjQUFjaEYscUJBQXFCa0U7b0JBQ3JDO2dCQUNGO2dCQUVBLG1DQUFtQztnQkFDbkMsSUFBSSxDQUFDQSxXQUFXbkMsSUFBSSxDQUFDa0Qsb0JBQW9CLElBQUksQ0FBQ1Isb0JBQW9CO29CQUNoRUEscUJBQXFCO2dCQUN2QjtZQUNGO1lBRUEsT0FBTzVEO1FBQ1QsR0FBRyxFQUFFO1FBRUwsNERBQTREO1FBQzVELElBQUk0RCxvQkFBb0I7WUFDdEIsSUFBSSxDQUFDNUQsY0FBYyxDQUFDZ0UsSUFBSSxDQUFDO2dCQUN2QkUsTUFBTTtnQkFDTkMsY0FBYy9FO1lBQ2hCO1FBQ0Y7UUFFQSxJQUFJLENBQUNnQixRQUFRaUUsYUFBYSxFQUFFO1lBQzFCLElBQUksT0FBT2pFLFFBQVFrRSxNQUFNLEtBQUssWUFBWSxNQUFNbEUsUUFBUWtFLE1BQU0sQ0FBQyxJQUFJO1lBQ25FLElBQUksT0FBTyxJQUFJLENBQUNwRSxNQUFNLENBQUNvRSxNQUFNLEtBQUssWUFBWSxNQUFNLElBQUksQ0FBQ3BFLE1BQU0sQ0FBQ29FLE1BQU0sQ0FBQyxJQUFJO1FBQzdFO1FBRUEsT0FBTyxJQUFJO0lBQ2I7SUFlQWxDLE9BQ0VoQyxPQUF5QixFQUM0QztRQUNyRSxNQUFNLEVBQUVnQyxNQUFNLEVBQUUsR0FBRy9DO1FBQ25CLE9BQU8rQyxPQUFVLElBQUksRUFBRWhDO0lBQ3pCO0FBQ0Y7QUFFQSxNQUFNbUUsY0FBYyxJQUFJeEU7QUFFeEIsZUFBZXdFLFlBQVc7QUFFMUIsSUFBSUMsU0FBU0MsT0FBT0MsUUFBUTtBQUU1QixJQUFJLENBQUNGLFFBQVE7SUFDWCwyQ0FBMkM7SUFDM0NBLFNBQVNDLE9BQU9DLFFBQVEsR0FBRztRQUFFbkIsU0FBUztRQUFNb0IsU0FBUztJQUFLO0FBQzVEO0FBRUEsT0FBTyxNQUFNQyxhQUFhLE9BQU94RTtJQUMvQixJQUFJb0UsT0FBT2pCLE9BQU8sRUFBRTtRQUNsQixPQUFPaUIsT0FBT2pCLE9BQU87SUFDdkI7SUFFQSxJQUFJLENBQUNpQixPQUFPRyxPQUFPLEVBQUU7UUFDbkJILE9BQU9HLE9BQU8sR0FBRyxJQUFJNUUsY0FBOEIyQyxJQUFJLENBQUN0QztJQUMxRDtJQUVBLElBQUk7UUFDRm9FLE9BQU9qQixPQUFPLEdBQUcsTUFBTWlCLE9BQU9HLE9BQU87SUFDdkMsRUFBRSxPQUFPRSxHQUFHO1FBQ1ZMLE9BQU9HLE9BQU8sR0FBRztRQUNqQixNQUFNRTtJQUNSO0lBRUEsT0FBT0wsT0FBT2pCLE9BQU87QUFDdkIsRUFBQyJ9
@@ -1,16 +1,6 @@
1
1
  /**
2
2
  * sets request locale
3
- */ "use strict";
4
- Object.defineProperty(exports, "__esModule", {
5
- value: true
6
- });
7
- Object.defineProperty(exports, "default", {
8
- enumerable: true,
9
- get: function() {
10
- return localizationMiddleware;
11
- }
12
- });
13
- function localizationMiddleware(req, res, next) {
3
+ */ export default function localizationMiddleware(req, res, next) {
14
4
  const localization = req.payload.config.localization;
15
5
  if (!localization) {
16
6
  next();
@@ -44,4 +34,4 @@ function localizationMiddleware(req, res, next) {
44
34
  next();
45
35
  }
46
36
 
47
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIi4uLy4uL3NyYy9sb2NhbGl6YXRpb24vbWlkZGxld2FyZS50cyJdLCJzb3VyY2VzQ29udGVudCI6WyIvKipcbiAqIHNldHMgcmVxdWVzdCBsb2NhbGVcbiAqL1xuZXhwb3J0IGRlZmF1bHQgZnVuY3Rpb24gbG9jYWxpemF0aW9uTWlkZGxld2FyZShyZXEsIHJlcywgbmV4dCkge1xuICBjb25zdCBsb2NhbGl6YXRpb24gPSByZXEucGF5bG9hZC5jb25maWcubG9jYWxpemF0aW9uXG4gIGlmICghbG9jYWxpemF0aW9uKSB7XG4gICAgbmV4dCgpXG4gICAgcmV0dXJuXG4gIH1cblxuICBjb25zdCB2YWxpZExvY2FsZXMgPSBbLi4ubG9jYWxpemF0aW9uLmxvY2FsZUNvZGVzLCAnYWxsJ11cbiAgY29uc3QgdmFsaWRGYWxsYmFja0xvY2FsZXMgPSBbLi4ubG9jYWxpemF0aW9uLmxvY2FsZUNvZGVzLCAnbnVsbCddXG5cbiAgbGV0IHJlcXVlc3RlZExvY2FsZSA9IHJlcS5xdWVyeS5sb2NhbGUgfHwgbG9jYWxpemF0aW9uLmRlZmF1bHRMb2NhbGVcbiAgbGV0IHJlcXVlc3RlZEZhbGxiYWNrTG9jYWxlID0gcmVxLnF1ZXJ5WydmYWxsYmFjay1sb2NhbGUnXVxuXG4gIGlmIChyZXEuYm9keSkge1xuICAgIGlmIChyZXEuYm9keS5sb2NhbGUpIHJlcXVlc3RlZExvY2FsZSA9IHJlcS5ib2R5LmxvY2FsZVxuICAgIGlmIChyZXEuYm9keVsnZmFsbGJhY2stbG9jYWxlJ10pIHtcbiAgICAgIHJlcXVlc3RlZEZhbGxiYWNrTG9jYWxlID0gcmVxLmJvZHlbJ2ZhbGxiYWNrLWxvY2FsZSddXG4gICAgfVxuICB9XG5cbiAgaWYgKHJlcXVlc3RlZEZhbGxiYWNrTG9jYWxlID09PSAnbm9uZScpIHJlcXVlc3RlZEZhbGxiYWNrTG9jYWxlID0gJ251bGwnXG4gIGlmIChyZXF1ZXN0ZWRMb2NhbGUgPT09ICcqJyB8fCByZXF1ZXN0ZWRMb2NhbGUgPT09ICdhbGwnKSB7XG4gICAgcmVxdWVzdGVkTG9jYWxlID0gJ2FsbCdcbiAgfVxuICByZXEuZmFsbGJhY2tMb2NhbGUgPSB2YWxpZEZhbGxiYWNrTG9jYWxlcy5maW5kKChsb2NhbGUpID0+IGxvY2FsZSA9PT0gcmVxdWVzdGVkRmFsbGJhY2tMb2NhbGUpXG5cbiAgcmVxLmxvY2FsZSA9IHZhbGlkTG9jYWxlcy5maW5kKChsb2NhbGUpID0+IGxvY2FsZSA9PT0gcmVxdWVzdGVkTG9jYWxlKVxuXG4gIGlmICghcmVxLmZhbGxiYWNrTG9jYWxlKSB7XG4gICAgcmVxLmZhbGxiYWNrTG9jYWxlID1cbiAgICAgIGxvY2FsaXphdGlvbi5sb2NhbGVzLmZpbmQoKHsgY29kZSB9KSA9PiByZXEubG9jYWxlID09PSBjb2RlKT8uZmFsbGJhY2tMb2NhbGUgfHxcbiAgICAgIGxvY2FsaXphdGlvbi5kZWZhdWx0TG9jYWxlXG4gIH1cbiAgbmV4dCgpXG59XG4iXSwibmFtZXMiOlsibG9jYWxpemF0aW9uTWlkZGxld2FyZSIsInJlcSIsInJlcyIsIm5leHQiLCJsb2NhbGl6YXRpb24iLCJwYXlsb2FkIiwiY29uZmlnIiwidmFsaWRMb2NhbGVzIiwibG9jYWxlQ29kZXMiLCJ2YWxpZEZhbGxiYWNrTG9jYWxlcyIsInJlcXVlc3RlZExvY2FsZSIsInF1ZXJ5IiwibG9jYWxlIiwiZGVmYXVsdExvY2FsZSIsInJlcXVlc3RlZEZhbGxiYWNrTG9jYWxlIiwiYm9keSIsImZhbGxiYWNrTG9jYWxlIiwiZmluZCIsImxvY2FsZXMiLCJjb2RlIl0sIm1hcHBpbmdzIjoiQUFBQTs7Q0FFQzs7OzsrQkFDRDs7O2VBQXdCQTs7O0FBQVQsU0FBU0EsdUJBQXVCQyxHQUFHLEVBQUVDLEdBQUcsRUFBRUMsSUFBSTtJQUMzRCxNQUFNQyxlQUFlSCxJQUFJSSxPQUFPLENBQUNDLE1BQU0sQ0FBQ0YsWUFBWTtJQUNwRCxJQUFJLENBQUNBLGNBQWM7UUFDakJEO1FBQ0E7SUFDRjtJQUVBLE1BQU1JLGVBQWU7V0FBSUgsYUFBYUksV0FBVztRQUFFO0tBQU07SUFDekQsTUFBTUMsdUJBQXVCO1dBQUlMLGFBQWFJLFdBQVc7UUFBRTtLQUFPO0lBRWxFLElBQUlFLGtCQUFrQlQsSUFBSVUsS0FBSyxDQUFDQyxNQUFNLElBQUlSLGFBQWFTLGFBQWE7SUFDcEUsSUFBSUMsMEJBQTBCYixJQUFJVSxLQUFLLENBQUMsa0JBQWtCO0lBRTFELElBQUlWLElBQUljLElBQUksRUFBRTtRQUNaLElBQUlkLElBQUljLElBQUksQ0FBQ0gsTUFBTSxFQUFFRixrQkFBa0JULElBQUljLElBQUksQ0FBQ0gsTUFBTTtRQUN0RCxJQUFJWCxJQUFJYyxJQUFJLENBQUMsa0JBQWtCLEVBQUU7WUFDL0JELDBCQUEwQmIsSUFBSWMsSUFBSSxDQUFDLGtCQUFrQjtRQUN2RDtJQUNGO0lBRUEsSUFBSUQsNEJBQTRCLFFBQVFBLDBCQUEwQjtJQUNsRSxJQUFJSixvQkFBb0IsT0FBT0Esb0JBQW9CLE9BQU87UUFDeERBLGtCQUFrQjtJQUNwQjtJQUNBVCxJQUFJZSxjQUFjLEdBQUdQLHFCQUFxQlEsSUFBSSxDQUFDLENBQUNMLFNBQVdBLFdBQVdFO0lBRXRFYixJQUFJVyxNQUFNLEdBQUdMLGFBQWFVLElBQUksQ0FBQyxDQUFDTCxTQUFXQSxXQUFXRjtJQUV0RCxJQUFJLENBQUNULElBQUllLGNBQWMsRUFBRTtRQUN2QmYsSUFBSWUsY0FBYyxHQUNoQlosYUFBYWMsT0FBTyxDQUFDRCxJQUFJLENBQUMsQ0FBQyxFQUFFRSxJQUFJLEVBQUUsR0FBS2xCLElBQUlXLE1BQU0sS0FBS08sT0FBT0gsa0JBQzlEWixhQUFhUyxhQUFhO0lBQzlCO0lBQ0FWO0FBQ0YifQ==
37
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIi4uLy4uL3NyYy9sb2NhbGl6YXRpb24vbWlkZGxld2FyZS50cyJdLCJzb3VyY2VzQ29udGVudCI6WyIvKipcbiAqIHNldHMgcmVxdWVzdCBsb2NhbGVcbiAqL1xuZXhwb3J0IGRlZmF1bHQgZnVuY3Rpb24gbG9jYWxpemF0aW9uTWlkZGxld2FyZShyZXEsIHJlcywgbmV4dCkge1xuICBjb25zdCBsb2NhbGl6YXRpb24gPSByZXEucGF5bG9hZC5jb25maWcubG9jYWxpemF0aW9uXG4gIGlmICghbG9jYWxpemF0aW9uKSB7XG4gICAgbmV4dCgpXG4gICAgcmV0dXJuXG4gIH1cblxuICBjb25zdCB2YWxpZExvY2FsZXMgPSBbLi4ubG9jYWxpemF0aW9uLmxvY2FsZUNvZGVzLCAnYWxsJ11cbiAgY29uc3QgdmFsaWRGYWxsYmFja0xvY2FsZXMgPSBbLi4ubG9jYWxpemF0aW9uLmxvY2FsZUNvZGVzLCAnbnVsbCddXG5cbiAgbGV0IHJlcXVlc3RlZExvY2FsZSA9IHJlcS5xdWVyeS5sb2NhbGUgfHwgbG9jYWxpemF0aW9uLmRlZmF1bHRMb2NhbGVcbiAgbGV0IHJlcXVlc3RlZEZhbGxiYWNrTG9jYWxlID0gcmVxLnF1ZXJ5WydmYWxsYmFjay1sb2NhbGUnXVxuXG4gIGlmIChyZXEuYm9keSkge1xuICAgIGlmIChyZXEuYm9keS5sb2NhbGUpIHJlcXVlc3RlZExvY2FsZSA9IHJlcS5ib2R5LmxvY2FsZVxuICAgIGlmIChyZXEuYm9keVsnZmFsbGJhY2stbG9jYWxlJ10pIHtcbiAgICAgIHJlcXVlc3RlZEZhbGxiYWNrTG9jYWxlID0gcmVxLmJvZHlbJ2ZhbGxiYWNrLWxvY2FsZSddXG4gICAgfVxuICB9XG5cbiAgaWYgKHJlcXVlc3RlZEZhbGxiYWNrTG9jYWxlID09PSAnbm9uZScpIHJlcXVlc3RlZEZhbGxiYWNrTG9jYWxlID0gJ251bGwnXG4gIGlmIChyZXF1ZXN0ZWRMb2NhbGUgPT09ICcqJyB8fCByZXF1ZXN0ZWRMb2NhbGUgPT09ICdhbGwnKSB7XG4gICAgcmVxdWVzdGVkTG9jYWxlID0gJ2FsbCdcbiAgfVxuICByZXEuZmFsbGJhY2tMb2NhbGUgPSB2YWxpZEZhbGxiYWNrTG9jYWxlcy5maW5kKChsb2NhbGUpID0+IGxvY2FsZSA9PT0gcmVxdWVzdGVkRmFsbGJhY2tMb2NhbGUpXG5cbiAgcmVxLmxvY2FsZSA9IHZhbGlkTG9jYWxlcy5maW5kKChsb2NhbGUpID0+IGxvY2FsZSA9PT0gcmVxdWVzdGVkTG9jYWxlKVxuXG4gIGlmICghcmVxLmZhbGxiYWNrTG9jYWxlKSB7XG4gICAgcmVxLmZhbGxiYWNrTG9jYWxlID1cbiAgICAgIGxvY2FsaXphdGlvbi5sb2NhbGVzLmZpbmQoKHsgY29kZSB9KSA9PiByZXEubG9jYWxlID09PSBjb2RlKT8uZmFsbGJhY2tMb2NhbGUgfHxcbiAgICAgIGxvY2FsaXphdGlvbi5kZWZhdWx0TG9jYWxlXG4gIH1cbiAgbmV4dCgpXG59XG4iXSwibmFtZXMiOlsibG9jYWxpemF0aW9uTWlkZGxld2FyZSIsInJlcSIsInJlcyIsIm5leHQiLCJsb2NhbGl6YXRpb24iLCJwYXlsb2FkIiwiY29uZmlnIiwidmFsaWRMb2NhbGVzIiwibG9jYWxlQ29kZXMiLCJ2YWxpZEZhbGxiYWNrTG9jYWxlcyIsInJlcXVlc3RlZExvY2FsZSIsInF1ZXJ5IiwibG9jYWxlIiwiZGVmYXVsdExvY2FsZSIsInJlcXVlc3RlZEZhbGxiYWNrTG9jYWxlIiwiYm9keSIsImZhbGxiYWNrTG9jYWxlIiwiZmluZCIsImxvY2FsZXMiLCJjb2RlIl0sIm1hcHBpbmdzIjoiQUFBQTs7Q0FFQyxHQUNELGVBQWUsU0FBU0EsdUJBQXVCQyxHQUFHLEVBQUVDLEdBQUcsRUFBRUMsSUFBSTtJQUMzRCxNQUFNQyxlQUFlSCxJQUFJSSxPQUFPLENBQUNDLE1BQU0sQ0FBQ0YsWUFBWTtJQUNwRCxJQUFJLENBQUNBLGNBQWM7UUFDakJEO1FBQ0E7SUFDRjtJQUVBLE1BQU1JLGVBQWU7V0FBSUgsYUFBYUksV0FBVztRQUFFO0tBQU07SUFDekQsTUFBTUMsdUJBQXVCO1dBQUlMLGFBQWFJLFdBQVc7UUFBRTtLQUFPO0lBRWxFLElBQUlFLGtCQUFrQlQsSUFBSVUsS0FBSyxDQUFDQyxNQUFNLElBQUlSLGFBQWFTLGFBQWE7SUFDcEUsSUFBSUMsMEJBQTBCYixJQUFJVSxLQUFLLENBQUMsa0JBQWtCO0lBRTFELElBQUlWLElBQUljLElBQUksRUFBRTtRQUNaLElBQUlkLElBQUljLElBQUksQ0FBQ0gsTUFBTSxFQUFFRixrQkFBa0JULElBQUljLElBQUksQ0FBQ0gsTUFBTTtRQUN0RCxJQUFJWCxJQUFJYyxJQUFJLENBQUMsa0JBQWtCLEVBQUU7WUFDL0JELDBCQUEwQmIsSUFBSWMsSUFBSSxDQUFDLGtCQUFrQjtRQUN2RDtJQUNGO0lBRUEsSUFBSUQsNEJBQTRCLFFBQVFBLDBCQUEwQjtJQUNsRSxJQUFJSixvQkFBb0IsT0FBT0Esb0JBQW9CLE9BQU87UUFDeERBLGtCQUFrQjtJQUNwQjtJQUNBVCxJQUFJZSxjQUFjLEdBQUdQLHFCQUFxQlEsSUFBSSxDQUFDLENBQUNMLFNBQVdBLFdBQVdFO0lBRXRFYixJQUFJVyxNQUFNLEdBQUdMLGFBQWFVLElBQUksQ0FBQyxDQUFDTCxTQUFXQSxXQUFXRjtJQUV0RCxJQUFJLENBQUNULElBQUllLGNBQWMsRUFBRTtRQUN2QmYsSUFBSWUsY0FBYyxHQUNoQlosYUFBYWMsT0FBTyxDQUFDRCxJQUFJLENBQUMsQ0FBQyxFQUFFRSxJQUFJLEVBQUUsR0FBS2xCLElBQUlXLE1BQU0sS0FBS08sT0FBT0gsa0JBQzlEWixhQUFhUyxhQUFhO0lBQzlCO0lBQ0FWO0FBQ0YifQ==
@@ -1,19 +1,9 @@
1
- "use strict";
2
- Object.defineProperty(exports, "__esModule", {
3
- value: true
4
- });
5
- Object.defineProperty(exports, "default", {
6
- enumerable: true,
7
- get: function() {
8
- return _default;
9
- }
10
- });
11
1
  const sanitizeFallbackLocale = (fallbackLocale)=>{
12
2
  if (fallbackLocale === 'null' || fallbackLocale === 'none' || fallbackLocale === 'false' || fallbackLocale === false || fallbackLocale === null) {
13
3
  return null;
14
4
  }
15
5
  return fallbackLocale;
16
6
  };
17
- const _default = sanitizeFallbackLocale;
7
+ export default sanitizeFallbackLocale;
18
8
 
19
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIi4uLy4uL3NyYy9sb2NhbGl6YXRpb24vc2FuaXRpemVGYWxsYmFja0xvY2FsZS50cyJdLCJzb3VyY2VzQ29udGVudCI6WyJjb25zdCBzYW5pdGl6ZUZhbGxiYWNrTG9jYWxlID0gKGZhbGxiYWNrTG9jYWxlKSA9PiB7XG4gIGlmIChcbiAgICBmYWxsYmFja0xvY2FsZSA9PT0gJ251bGwnIHx8XG4gICAgZmFsbGJhY2tMb2NhbGUgPT09ICdub25lJyB8fFxuICAgIGZhbGxiYWNrTG9jYWxlID09PSAnZmFsc2UnIHx8XG4gICAgZmFsbGJhY2tMb2NhbGUgPT09IGZhbHNlIHx8XG4gICAgZmFsbGJhY2tMb2NhbGUgPT09IG51bGxcbiAgKSB7XG4gICAgcmV0dXJuIG51bGxcbiAgfVxuXG4gIHJldHVybiBmYWxsYmFja0xvY2FsZVxufVxuXG5leHBvcnQgZGVmYXVsdCBzYW5pdGl6ZUZhbGxiYWNrTG9jYWxlXG4iXSwibmFtZXMiOlsic2FuaXRpemVGYWxsYmFja0xvY2FsZSIsImZhbGxiYWNrTG9jYWxlIl0sIm1hcHBpbmdzIjoiOzs7OytCQWNBOzs7ZUFBQTs7O0FBZEEsTUFBTUEseUJBQXlCLENBQUNDO0lBQzlCLElBQ0VBLG1CQUFtQixVQUNuQkEsbUJBQW1CLFVBQ25CQSxtQkFBbUIsV0FDbkJBLG1CQUFtQixTQUNuQkEsbUJBQW1CLE1BQ25CO1FBQ0EsT0FBTztJQUNUO0lBRUEsT0FBT0E7QUFDVDtNQUVBLFdBQWVEIn0=
9
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIi4uLy4uL3NyYy9sb2NhbGl6YXRpb24vc2FuaXRpemVGYWxsYmFja0xvY2FsZS50cyJdLCJzb3VyY2VzQ29udGVudCI6WyJjb25zdCBzYW5pdGl6ZUZhbGxiYWNrTG9jYWxlID0gKGZhbGxiYWNrTG9jYWxlKSA9PiB7XG4gIGlmIChcbiAgICBmYWxsYmFja0xvY2FsZSA9PT0gJ251bGwnIHx8XG4gICAgZmFsbGJhY2tMb2NhbGUgPT09ICdub25lJyB8fFxuICAgIGZhbGxiYWNrTG9jYWxlID09PSAnZmFsc2UnIHx8XG4gICAgZmFsbGJhY2tMb2NhbGUgPT09IGZhbHNlIHx8XG4gICAgZmFsbGJhY2tMb2NhbGUgPT09IG51bGxcbiAgKSB7XG4gICAgcmV0dXJuIG51bGxcbiAgfVxuXG4gIHJldHVybiBmYWxsYmFja0xvY2FsZVxufVxuXG5leHBvcnQgZGVmYXVsdCBzYW5pdGl6ZUZhbGxiYWNrTG9jYWxlXG4iXSwibmFtZXMiOlsic2FuaXRpemVGYWxsYmFja0xvY2FsZSIsImZhbGxiYWNrTG9jYWxlIl0sIm1hcHBpbmdzIjoiQUFBQSxNQUFNQSx5QkFBeUIsQ0FBQ0M7SUFDOUIsSUFDRUEsbUJBQW1CLFVBQ25CQSxtQkFBbUIsVUFDbkJBLG1CQUFtQixXQUNuQkEsbUJBQW1CLFNBQ25CQSxtQkFBbUIsTUFDbkI7UUFDQSxPQUFPO0lBQ1Q7SUFFQSxPQUFPQTtBQUNUO0FBRUEsZUFBZUQsdUJBQXNCIn0=
@@ -1,6 +1,6 @@
1
- import type { Payload } from '..';
2
- import type { SanitizedCollectionConfig } from '../collections/config/types';
3
- import type { PayloadRequest } from '../types';
1
+ import type { SanitizedCollectionConfig } from '../collections/config/types.js';
2
+ import type { Payload } from '../index.js';
3
+ import type { PayloadRequest } from '../types/index.js';
4
4
  type Args = {
5
5
  collectionConfig: SanitizedCollectionConfig;
6
6
  /**
@@ -1 +1 @@
1
- {"version":3,"file":"deleteUserPreferences.d.ts","sourceRoot":"","sources":["../../src/preferences/deleteUserPreferences.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,OAAO,EAAE,MAAM,IAAI,CAAA;AACjC,OAAO,KAAK,EAAE,yBAAyB,EAAE,MAAM,6BAA6B,CAAA;AAC5E,OAAO,KAAK,EAAE,cAAc,EAAE,MAAM,UAAU,CAAA;AAE9C,KAAK,IAAI,GAAG;IACV,gBAAgB,EAAE,yBAAyB,CAAA;IAC3C;;OAEG;IACH,GAAG,EAAE,CAAC,MAAM,GAAG,MAAM,CAAC,EAAE,CAAA;IACxB,OAAO,EAAE,OAAO,CAAA;IAChB,GAAG,EAAE,cAAc,CAAA;CACpB,CAAA;AACD,eAAO,MAAM,qBAAqB,4CAAmD,IAAI,kBAwBxF,CAAA"}
1
+ {"version":3,"file":"deleteUserPreferences.d.ts","sourceRoot":"","sources":["../../src/preferences/deleteUserPreferences.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,yBAAyB,EAAE,MAAM,gCAAgC,CAAA;AAC/E,OAAO,KAAK,EAAE,OAAO,EAAE,MAAM,aAAa,CAAA;AAC1C,OAAO,KAAK,EAAE,cAAc,EAAE,MAAM,mBAAmB,CAAA;AAEvD,KAAK,IAAI,GAAG;IACV,gBAAgB,EAAE,yBAAyB,CAAA;IAC3C;;OAEG;IACH,GAAG,EAAE,CAAC,MAAM,GAAG,MAAM,CAAC,EAAE,CAAA;IACxB,OAAO,EAAE,OAAO,CAAA;IAChB,GAAG,EAAE,cAAc,CAAA;CACpB,CAAA;AACD,eAAO,MAAM,qBAAqB,4CAAmD,IAAI,kBAwBxF,CAAA"}
@@ -1,14 +1,4 @@
1
- "use strict";
2
- Object.defineProperty(exports, "__esModule", {
3
- value: true
4
- });
5
- Object.defineProperty(exports, "deleteUserPreferences", {
6
- enumerable: true,
7
- get: function() {
8
- return deleteUserPreferences;
9
- }
10
- });
11
- const deleteUserPreferences = async ({ collectionConfig, ids, payload, req })=>{
1
+ export const deleteUserPreferences = async ({ collectionConfig, ids, payload, req })=>{
12
2
  if (collectionConfig.auth) {
13
3
  await payload.db.deleteMany({
14
4
  collection: 'payload-preferences',
@@ -40,4 +30,4 @@ const deleteUserPreferences = async ({ collectionConfig, ids, payload, req })=>{
40
30
  });
41
31
  };
42
32
 
43
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIi4uLy4uL3NyYy9wcmVmZXJlbmNlcy9kZWxldGVVc2VyUHJlZmVyZW5jZXMudHMiXSwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHR5cGUgeyBQYXlsb2FkIH0gZnJvbSAnLi4nXG5pbXBvcnQgdHlwZSB7IFNhbml0aXplZENvbGxlY3Rpb25Db25maWcgfSBmcm9tICcuLi9jb2xsZWN0aW9ucy9jb25maWcvdHlwZXMnXG5pbXBvcnQgdHlwZSB7IFBheWxvYWRSZXF1ZXN0IH0gZnJvbSAnLi4vdHlwZXMnXG5cbnR5cGUgQXJncyA9IHtcbiAgY29sbGVjdGlvbkNvbmZpZzogU2FuaXRpemVkQ29sbGVjdGlvbkNvbmZpZ1xuICAvKipcbiAgICogVXNlciBJRHMgdG8gZGVsZXRlXG4gICAqL1xuICBpZHM6IChudW1iZXIgfCBzdHJpbmcpW11cbiAgcGF5bG9hZDogUGF5bG9hZFxuICByZXE6IFBheWxvYWRSZXF1ZXN0XG59XG5leHBvcnQgY29uc3QgZGVsZXRlVXNlclByZWZlcmVuY2VzID0gYXN5bmMgKHsgY29sbGVjdGlvbkNvbmZpZywgaWRzLCBwYXlsb2FkLCByZXEgfTogQXJncykgPT4ge1xuICBpZiAoY29sbGVjdGlvbkNvbmZpZy5hdXRoKSB7XG4gICAgYXdhaXQgcGF5bG9hZC5kYi5kZWxldGVNYW55KHtcbiAgICAgIGNvbGxlY3Rpb246ICdwYXlsb2FkLXByZWZlcmVuY2VzJyxcbiAgICAgIHJlcSxcbiAgICAgIHdoZXJlOiB7XG4gICAgICAgIGFuZDogW1xuICAgICAgICAgIHtcbiAgICAgICAgICAgICd1c2VyLnZhbHVlJzogeyBpbjogaWRzIH0sXG4gICAgICAgICAgfSxcbiAgICAgICAgICB7XG4gICAgICAgICAgICAndXNlci5yZWxhdGlvblRvJzogeyBlcXVhbHM6IGNvbGxlY3Rpb25Db25maWcuc2x1ZyB9LFxuICAgICAgICAgIH0sXG4gICAgICAgIF0sXG4gICAgICB9LFxuICAgIH0pXG4gIH1cbiAgYXdhaXQgcGF5bG9hZC5kYi5kZWxldGVNYW55KHtcbiAgICBjb2xsZWN0aW9uOiAncGF5bG9hZC1wcmVmZXJlbmNlcycsXG4gICAgcmVxLFxuICAgIHdoZXJlOiB7XG4gICAgICBrZXk6IHsgaW46IGlkcy5tYXAoKGlkKSA9PiBgY29sbGVjdGlvbi0ke2NvbGxlY3Rpb25Db25maWcuc2x1Z30tJHtpZH1gKSB9LFxuICAgIH0sXG4gIH0pXG59XG4iXSwibmFtZXMiOlsiZGVsZXRlVXNlclByZWZlcmVuY2VzIiwiY29sbGVjdGlvbkNvbmZpZyIsImlkcyIsInBheWxvYWQiLCJyZXEiLCJhdXRoIiwiZGIiLCJkZWxldGVNYW55IiwiY29sbGVjdGlvbiIsIndoZXJlIiwiYW5kIiwiaW4iLCJlcXVhbHMiLCJzbHVnIiwia2V5IiwibWFwIiwiaWQiXSwibWFwcGluZ3MiOiI7Ozs7K0JBYWFBOzs7ZUFBQUE7OztBQUFOLE1BQU1BLHdCQUF3QixPQUFPLEVBQUVDLGdCQUFnQixFQUFFQyxHQUFHLEVBQUVDLE9BQU8sRUFBRUMsR0FBRyxFQUFRO0lBQ3ZGLElBQUlILGlCQUFpQkksSUFBSSxFQUFFO1FBQ3pCLE1BQU1GLFFBQVFHLEVBQUUsQ0FBQ0MsVUFBVSxDQUFDO1lBQzFCQyxZQUFZO1lBQ1pKO1lBQ0FLLE9BQU87Z0JBQ0xDLEtBQUs7b0JBQ0g7d0JBQ0UsY0FBYzs0QkFBRUMsSUFBSVQ7d0JBQUk7b0JBQzFCO29CQUNBO3dCQUNFLG1CQUFtQjs0QkFBRVUsUUFBUVgsaUJBQWlCWSxJQUFJO3dCQUFDO29CQUNyRDtpQkFDRDtZQUNIO1FBQ0Y7SUFDRjtJQUNBLE1BQU1WLFFBQVFHLEVBQUUsQ0FBQ0MsVUFBVSxDQUFDO1FBQzFCQyxZQUFZO1FBQ1pKO1FBQ0FLLE9BQU87WUFDTEssS0FBSztnQkFBRUgsSUFBSVQsSUFBSWEsR0FBRyxDQUFDLENBQUNDLEtBQU8sQ0FBQyxXQUFXLEVBQUVmLGlCQUFpQlksSUFBSSxDQUFDLENBQUMsRUFBRUcsR0FBRyxDQUFDO1lBQUU7UUFDMUU7SUFDRjtBQUNGIn0=
33
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIi4uLy4uL3NyYy9wcmVmZXJlbmNlcy9kZWxldGVVc2VyUHJlZmVyZW5jZXMudHMiXSwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHR5cGUgeyBTYW5pdGl6ZWRDb2xsZWN0aW9uQ29uZmlnIH0gZnJvbSAnLi4vY29sbGVjdGlvbnMvY29uZmlnL3R5cGVzLmpzJ1xuaW1wb3J0IHR5cGUgeyBQYXlsb2FkIH0gZnJvbSAnLi4vaW5kZXguanMnXG5pbXBvcnQgdHlwZSB7IFBheWxvYWRSZXF1ZXN0IH0gZnJvbSAnLi4vdHlwZXMvaW5kZXguanMnXG5cbnR5cGUgQXJncyA9IHtcbiAgY29sbGVjdGlvbkNvbmZpZzogU2FuaXRpemVkQ29sbGVjdGlvbkNvbmZpZ1xuICAvKipcbiAgICogVXNlciBJRHMgdG8gZGVsZXRlXG4gICAqL1xuICBpZHM6IChudW1iZXIgfCBzdHJpbmcpW11cbiAgcGF5bG9hZDogUGF5bG9hZFxuICByZXE6IFBheWxvYWRSZXF1ZXN0XG59XG5leHBvcnQgY29uc3QgZGVsZXRlVXNlclByZWZlcmVuY2VzID0gYXN5bmMgKHsgY29sbGVjdGlvbkNvbmZpZywgaWRzLCBwYXlsb2FkLCByZXEgfTogQXJncykgPT4ge1xuICBpZiAoY29sbGVjdGlvbkNvbmZpZy5hdXRoKSB7XG4gICAgYXdhaXQgcGF5bG9hZC5kYi5kZWxldGVNYW55KHtcbiAgICAgIGNvbGxlY3Rpb246ICdwYXlsb2FkLXByZWZlcmVuY2VzJyxcbiAgICAgIHJlcSxcbiAgICAgIHdoZXJlOiB7XG4gICAgICAgIGFuZDogW1xuICAgICAgICAgIHtcbiAgICAgICAgICAgICd1c2VyLnZhbHVlJzogeyBpbjogaWRzIH0sXG4gICAgICAgICAgfSxcbiAgICAgICAgICB7XG4gICAgICAgICAgICAndXNlci5yZWxhdGlvblRvJzogeyBlcXVhbHM6IGNvbGxlY3Rpb25Db25maWcuc2x1ZyB9LFxuICAgICAgICAgIH0sXG4gICAgICAgIF0sXG4gICAgICB9LFxuICAgIH0pXG4gIH1cbiAgYXdhaXQgcGF5bG9hZC5kYi5kZWxldGVNYW55KHtcbiAgICBjb2xsZWN0aW9uOiAncGF5bG9hZC1wcmVmZXJlbmNlcycsXG4gICAgcmVxLFxuICAgIHdoZXJlOiB7XG4gICAgICBrZXk6IHsgaW46IGlkcy5tYXAoKGlkKSA9PiBgY29sbGVjdGlvbi0ke2NvbGxlY3Rpb25Db25maWcuc2x1Z30tJHtpZH1gKSB9LFxuICAgIH0sXG4gIH0pXG59XG4iXSwibmFtZXMiOlsiZGVsZXRlVXNlclByZWZlcmVuY2VzIiwiY29sbGVjdGlvbkNvbmZpZyIsImlkcyIsInBheWxvYWQiLCJyZXEiLCJhdXRoIiwiZGIiLCJkZWxldGVNYW55IiwiY29sbGVjdGlvbiIsIndoZXJlIiwiYW5kIiwiaW4iLCJlcXVhbHMiLCJzbHVnIiwia2V5IiwibWFwIiwiaWQiXSwibWFwcGluZ3MiOiJBQWFBLE9BQU8sTUFBTUEsd0JBQXdCLE9BQU8sRUFBRUMsZ0JBQWdCLEVBQUVDLEdBQUcsRUFBRUMsT0FBTyxFQUFFQyxHQUFHLEVBQVE7SUFDdkYsSUFBSUgsaUJBQWlCSSxJQUFJLEVBQUU7UUFDekIsTUFBTUYsUUFBUUcsRUFBRSxDQUFDQyxVQUFVLENBQUM7WUFDMUJDLFlBQVk7WUFDWko7WUFDQUssT0FBTztnQkFDTEMsS0FBSztvQkFDSDt3QkFDRSxjQUFjOzRCQUFFQyxJQUFJVDt3QkFBSTtvQkFDMUI7b0JBQ0E7d0JBQ0UsbUJBQW1COzRCQUFFVSxRQUFRWCxpQkFBaUJZLElBQUk7d0JBQUM7b0JBQ3JEO2lCQUNEO1lBQ0g7UUFDRjtJQUNGO0lBQ0EsTUFBTVYsUUFBUUcsRUFBRSxDQUFDQyxVQUFVLENBQUM7UUFDMUJDLFlBQVk7UUFDWko7UUFDQUssT0FBTztZQUNMSyxLQUFLO2dCQUFFSCxJQUFJVCxJQUFJYSxHQUFHLENBQUMsQ0FBQ0MsS0FBTyxDQUFDLFdBQVcsRUFBRWYsaUJBQWlCWSxJQUFJLENBQUMsQ0FBQyxFQUFFRyxHQUFHLENBQUM7WUFBRTtRQUMxRTtJQUNGO0FBQ0YsRUFBQyJ9
@@ -1,5 +1,5 @@
1
- import type { Document } from '../../types';
2
- import type { PreferenceRequest } from '../types';
1
+ import type { Document } from '../../types/index.js';
2
+ import type { PreferenceRequest } from '../types.js';
3
3
  declare function deleteOperation(args: PreferenceRequest): Promise<Document>;
4
4
  export default deleteOperation;
5
5
  //# sourceMappingURL=delete.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"delete.d.ts","sourceRoot":"","sources":["../../../src/preferences/operations/delete.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,QAAQ,EAAS,MAAM,aAAa,CAAA;AAClD,OAAO,KAAK,EAAE,iBAAiB,EAAE,MAAM,UAAU,CAAA;AAOjD,iBAAe,eAAe,CAAC,IAAI,EAAE,iBAAiB,GAAG,OAAO,CAAC,QAAQ,CAAC,CAqCzE;AAED,eAAe,eAAe,CAAA"}
1
+ {"version":3,"file":"delete.d.ts","sourceRoot":"","sources":["../../../src/preferences/operations/delete.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,QAAQ,EAAS,MAAM,sBAAsB,CAAA;AAC3D,OAAO,KAAK,EAAE,iBAAiB,EAAE,MAAM,aAAa,CAAA;AAOpD,iBAAe,eAAe,CAAC,IAAI,EAAE,iBAAiB,GAAG,OAAO,CAAC,QAAQ,CAAC,CAqCzE;AAED,eAAe,eAAe,CAAA"}
@@ -1,31 +1,16 @@
1
- "use strict";
2
- Object.defineProperty(exports, "__esModule", {
3
- value: true
4
- });
5
- Object.defineProperty(exports, "default", {
6
- enumerable: true,
7
- get: function() {
8
- return _default;
9
- }
10
- });
11
- const _defaultAccess = /*#__PURE__*/ _interop_require_default(require("../../auth/defaultAccess"));
12
- const _executeAccess = /*#__PURE__*/ _interop_require_default(require("../../auth/executeAccess"));
13
- const _NotFound = /*#__PURE__*/ _interop_require_default(require("../../errors/NotFound"));
14
- const _UnathorizedError = /*#__PURE__*/ _interop_require_default(require("../../errors/UnathorizedError"));
15
- function _interop_require_default(obj) {
16
- return obj && obj.__esModule ? obj : {
17
- default: obj
18
- };
19
- }
1
+ import defaultAccess from '../../auth/defaultAccess.js';
2
+ import executeAccess from '../../auth/executeAccess.js';
3
+ import NotFound from '../../errors/NotFound.js';
4
+ import UnauthorizedError from '../../errors/UnathorizedError.js';
20
5
  async function deleteOperation(args) {
21
6
  const { key, overrideAccess, req: { payload }, req, user } = args;
22
7
  if (!user) {
23
- throw new _UnathorizedError.default(req.t);
8
+ throw new UnauthorizedError(req.t);
24
9
  }
25
10
  if (!overrideAccess) {
26
- await (0, _executeAccess.default)({
11
+ await executeAccess({
27
12
  req
28
- }, _defaultAccess.default);
13
+ }, defaultAccess);
29
14
  }
30
15
  const where = {
31
16
  and: [
@@ -56,8 +41,8 @@ async function deleteOperation(args) {
56
41
  if (result.docs.length === 1) {
57
42
  return result.docs[0];
58
43
  }
59
- throw new _NotFound.default(req.t);
44
+ throw new NotFound(req.t);
60
45
  }
61
- const _default = deleteOperation;
46
+ export default deleteOperation;
62
47
 
63
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIi4uLy4uLy4uL3NyYy9wcmVmZXJlbmNlcy9vcGVyYXRpb25zL2RlbGV0ZS50cyJdLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgdHlwZSB7IERvY3VtZW50LCBXaGVyZSB9IGZyb20gJy4uLy4uL3R5cGVzJ1xuaW1wb3J0IHR5cGUgeyBQcmVmZXJlbmNlUmVxdWVzdCB9IGZyb20gJy4uL3R5cGVzJ1xuXG5pbXBvcnQgZGVmYXVsdEFjY2VzcyBmcm9tICcuLi8uLi9hdXRoL2RlZmF1bHRBY2Nlc3MnXG5pbXBvcnQgZXhlY3V0ZUFjY2VzcyBmcm9tICcuLi8uLi9hdXRoL2V4ZWN1dGVBY2Nlc3MnXG5pbXBvcnQgTm90Rm91bmQgZnJvbSAnLi4vLi4vZXJyb3JzL05vdEZvdW5kJ1xuaW1wb3J0IFVuYXV0aG9yaXplZEVycm9yIGZyb20gJy4uLy4uL2Vycm9ycy9VbmF0aG9yaXplZEVycm9yJ1xuXG5hc3luYyBmdW5jdGlvbiBkZWxldGVPcGVyYXRpb24oYXJnczogUHJlZmVyZW5jZVJlcXVlc3QpOiBQcm9taXNlPERvY3VtZW50PiB7XG4gIGNvbnN0IHtcbiAgICBrZXksXG4gICAgb3ZlcnJpZGVBY2Nlc3MsXG4gICAgcmVxOiB7IHBheWxvYWQgfSxcbiAgICByZXEsXG4gICAgdXNlcixcbiAgfSA9IGFyZ3NcblxuICBpZiAoIXVzZXIpIHtcbiAgICB0aHJvdyBuZXcgVW5hdXRob3JpemVkRXJyb3IocmVxLnQpXG4gIH1cblxuICBpZiAoIW92ZXJyaWRlQWNjZXNzKSB7XG4gICAgYXdhaXQgZXhlY3V0ZUFjY2Vzcyh7IHJlcSB9LCBkZWZhdWx0QWNjZXNzKVxuICB9XG5cbiAgY29uc3Qgd2hlcmU6IFdoZXJlID0ge1xuICAgIGFuZDogW1xuICAgICAgeyBrZXk6IHsgZXF1YWxzOiBrZXkgfSB9LFxuICAgICAgeyAndXNlci52YWx1ZSc6IHsgZXF1YWxzOiB1c2VyLmlkIH0gfSxcbiAgICAgIHsgJ3VzZXIucmVsYXRpb25Ubyc6IHsgZXF1YWxzOiB1c2VyLmNvbGxlY3Rpb24gfSB9LFxuICAgIF0sXG4gIH1cblxuICBjb25zdCByZXN1bHQgPSBhd2FpdCBwYXlsb2FkLmRlbGV0ZSh7XG4gICAgY29sbGVjdGlvbjogJ3BheWxvYWQtcHJlZmVyZW5jZXMnLFxuICAgIGRlcHRoOiAwLFxuICAgIHVzZXIsXG4gICAgd2hlcmUsXG4gIH0pXG5cbiAgLy8gQHRzLWV4cGVjdC1lcnJvciAvLyBUT0RPOiBmaXggbGF0ZXJcbiAgaWYgKHJlc3VsdC5kb2NzLmxlbmd0aCA9PT0gMSkge1xuICAgIHJldHVybiByZXN1bHQuZG9jc1swXVxuICB9XG4gIHRocm93IG5ldyBOb3RGb3VuZChyZXEudClcbn1cblxuZXhwb3J0IGRlZmF1bHQgZGVsZXRlT3BlcmF0aW9uXG4iXSwibmFtZXMiOlsiZGVsZXRlT3BlcmF0aW9uIiwiYXJncyIsImtleSIsIm92ZXJyaWRlQWNjZXNzIiwicmVxIiwicGF5bG9hZCIsInVzZXIiLCJVbmF1dGhvcml6ZWRFcnJvciIsInQiLCJleGVjdXRlQWNjZXNzIiwiZGVmYXVsdEFjY2VzcyIsIndoZXJlIiwiYW5kIiwiZXF1YWxzIiwiaWQiLCJjb2xsZWN0aW9uIiwicmVzdWx0IiwiZGVsZXRlIiwiZGVwdGgiLCJkb2NzIiwibGVuZ3RoIiwiTm90Rm91bmQiXSwibWFwcGluZ3MiOiI7Ozs7K0JBK0NBOzs7ZUFBQTs7O3NFQTVDMEI7c0VBQ0E7aUVBQ0w7eUVBQ1M7Ozs7OztBQUU5QixlQUFlQSxnQkFBZ0JDLElBQXVCO0lBQ3BELE1BQU0sRUFDSkMsR0FBRyxFQUNIQyxjQUFjLEVBQ2RDLEtBQUssRUFBRUMsT0FBTyxFQUFFLEVBQ2hCRCxHQUFHLEVBQ0hFLElBQUksRUFDTCxHQUFHTDtJQUVKLElBQUksQ0FBQ0ssTUFBTTtRQUNULE1BQU0sSUFBSUMseUJBQWlCLENBQUNILElBQUlJLENBQUM7SUFDbkM7SUFFQSxJQUFJLENBQUNMLGdCQUFnQjtRQUNuQixNQUFNTSxJQUFBQSxzQkFBYSxFQUFDO1lBQUVMO1FBQUksR0FBR00sc0JBQWE7SUFDNUM7SUFFQSxNQUFNQyxRQUFlO1FBQ25CQyxLQUFLO1lBQ0g7Z0JBQUVWLEtBQUs7b0JBQUVXLFFBQVFYO2dCQUFJO1lBQUU7WUFDdkI7Z0JBQUUsY0FBYztvQkFBRVcsUUFBUVAsS0FBS1EsRUFBRTtnQkFBQztZQUFFO1lBQ3BDO2dCQUFFLG1CQUFtQjtvQkFBRUQsUUFBUVAsS0FBS1MsVUFBVTtnQkFBQztZQUFFO1NBQ2xEO0lBQ0g7SUFFQSxNQUFNQyxTQUFTLE1BQU1YLFFBQVFZLE1BQU0sQ0FBQztRQUNsQ0YsWUFBWTtRQUNaRyxPQUFPO1FBQ1BaO1FBQ0FLO0lBQ0Y7SUFFQSxzQ0FBc0M7SUFDdEMsSUFBSUssT0FBT0csSUFBSSxDQUFDQyxNQUFNLEtBQUssR0FBRztRQUM1QixPQUFPSixPQUFPRyxJQUFJLENBQUMsRUFBRTtJQUN2QjtJQUNBLE1BQU0sSUFBSUUsaUJBQVEsQ0FBQ2pCLElBQUlJLENBQUM7QUFDMUI7TUFFQSxXQUFlUiJ9
48
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIi4uLy4uLy4uL3NyYy9wcmVmZXJlbmNlcy9vcGVyYXRpb25zL2RlbGV0ZS50cyJdLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgdHlwZSB7IERvY3VtZW50LCBXaGVyZSB9IGZyb20gJy4uLy4uL3R5cGVzL2luZGV4LmpzJ1xuaW1wb3J0IHR5cGUgeyBQcmVmZXJlbmNlUmVxdWVzdCB9IGZyb20gJy4uL3R5cGVzLmpzJ1xuXG5pbXBvcnQgZGVmYXVsdEFjY2VzcyBmcm9tICcuLi8uLi9hdXRoL2RlZmF1bHRBY2Nlc3MuanMnXG5pbXBvcnQgZXhlY3V0ZUFjY2VzcyBmcm9tICcuLi8uLi9hdXRoL2V4ZWN1dGVBY2Nlc3MuanMnXG5pbXBvcnQgTm90Rm91bmQgZnJvbSAnLi4vLi4vZXJyb3JzL05vdEZvdW5kLmpzJ1xuaW1wb3J0IFVuYXV0aG9yaXplZEVycm9yIGZyb20gJy4uLy4uL2Vycm9ycy9VbmF0aG9yaXplZEVycm9yLmpzJ1xuXG5hc3luYyBmdW5jdGlvbiBkZWxldGVPcGVyYXRpb24oYXJnczogUHJlZmVyZW5jZVJlcXVlc3QpOiBQcm9taXNlPERvY3VtZW50PiB7XG4gIGNvbnN0IHtcbiAgICBrZXksXG4gICAgb3ZlcnJpZGVBY2Nlc3MsXG4gICAgcmVxOiB7IHBheWxvYWQgfSxcbiAgICByZXEsXG4gICAgdXNlcixcbiAgfSA9IGFyZ3NcblxuICBpZiAoIXVzZXIpIHtcbiAgICB0aHJvdyBuZXcgVW5hdXRob3JpemVkRXJyb3IocmVxLnQpXG4gIH1cblxuICBpZiAoIW92ZXJyaWRlQWNjZXNzKSB7XG4gICAgYXdhaXQgZXhlY3V0ZUFjY2Vzcyh7IHJlcSB9LCBkZWZhdWx0QWNjZXNzKVxuICB9XG5cbiAgY29uc3Qgd2hlcmU6IFdoZXJlID0ge1xuICAgIGFuZDogW1xuICAgICAgeyBrZXk6IHsgZXF1YWxzOiBrZXkgfSB9LFxuICAgICAgeyAndXNlci52YWx1ZSc6IHsgZXF1YWxzOiB1c2VyLmlkIH0gfSxcbiAgICAgIHsgJ3VzZXIucmVsYXRpb25Ubyc6IHsgZXF1YWxzOiB1c2VyLmNvbGxlY3Rpb24gfSB9LFxuICAgIF0sXG4gIH1cblxuICBjb25zdCByZXN1bHQgPSBhd2FpdCBwYXlsb2FkLmRlbGV0ZSh7XG4gICAgY29sbGVjdGlvbjogJ3BheWxvYWQtcHJlZmVyZW5jZXMnLFxuICAgIGRlcHRoOiAwLFxuICAgIHVzZXIsXG4gICAgd2hlcmUsXG4gIH0pXG5cbiAgLy8gQHRzLWV4cGVjdC1lcnJvciAvLyBUT0RPOiBmaXggbGF0ZXJcbiAgaWYgKHJlc3VsdC5kb2NzLmxlbmd0aCA9PT0gMSkge1xuICAgIHJldHVybiByZXN1bHQuZG9jc1swXVxuICB9XG4gIHRocm93IG5ldyBOb3RGb3VuZChyZXEudClcbn1cblxuZXhwb3J0IGRlZmF1bHQgZGVsZXRlT3BlcmF0aW9uXG4iXSwibmFtZXMiOlsiZGVmYXVsdEFjY2VzcyIsImV4ZWN1dGVBY2Nlc3MiLCJOb3RGb3VuZCIsIlVuYXV0aG9yaXplZEVycm9yIiwiZGVsZXRlT3BlcmF0aW9uIiwiYXJncyIsImtleSIsIm92ZXJyaWRlQWNjZXNzIiwicmVxIiwicGF5bG9hZCIsInVzZXIiLCJ0Iiwid2hlcmUiLCJhbmQiLCJlcXVhbHMiLCJpZCIsImNvbGxlY3Rpb24iLCJyZXN1bHQiLCJkZWxldGUiLCJkZXB0aCIsImRvY3MiLCJsZW5ndGgiXSwibWFwcGluZ3MiOiJBQUdBLE9BQU9BLG1CQUFtQiw4QkFBNkI7QUFDdkQsT0FBT0MsbUJBQW1CLDhCQUE2QjtBQUN2RCxPQUFPQyxjQUFjLDJCQUEwQjtBQUMvQyxPQUFPQyx1QkFBdUIsbUNBQWtDO0FBRWhFLGVBQWVDLGdCQUFnQkMsSUFBdUI7SUFDcEQsTUFBTSxFQUNKQyxHQUFHLEVBQ0hDLGNBQWMsRUFDZEMsS0FBSyxFQUFFQyxPQUFPLEVBQUUsRUFDaEJELEdBQUcsRUFDSEUsSUFBSSxFQUNMLEdBQUdMO0lBRUosSUFBSSxDQUFDSyxNQUFNO1FBQ1QsTUFBTSxJQUFJUCxrQkFBa0JLLElBQUlHLENBQUM7SUFDbkM7SUFFQSxJQUFJLENBQUNKLGdCQUFnQjtRQUNuQixNQUFNTixjQUFjO1lBQUVPO1FBQUksR0FBR1I7SUFDL0I7SUFFQSxNQUFNWSxRQUFlO1FBQ25CQyxLQUFLO1lBQ0g7Z0JBQUVQLEtBQUs7b0JBQUVRLFFBQVFSO2dCQUFJO1lBQUU7WUFDdkI7Z0JBQUUsY0FBYztvQkFBRVEsUUFBUUosS0FBS0ssRUFBRTtnQkFBQztZQUFFO1lBQ3BDO2dCQUFFLG1CQUFtQjtvQkFBRUQsUUFBUUosS0FBS00sVUFBVTtnQkFBQztZQUFFO1NBQ2xEO0lBQ0g7SUFFQSxNQUFNQyxTQUFTLE1BQU1SLFFBQVFTLE1BQU0sQ0FBQztRQUNsQ0YsWUFBWTtRQUNaRyxPQUFPO1FBQ1BUO1FBQ0FFO0lBQ0Y7SUFFQSxzQ0FBc0M7SUFDdEMsSUFBSUssT0FBT0csSUFBSSxDQUFDQyxNQUFNLEtBQUssR0FBRztRQUM1QixPQUFPSixPQUFPRyxJQUFJLENBQUMsRUFBRTtJQUN2QjtJQUNBLE1BQU0sSUFBSWxCLFNBQVNNLElBQUlHLENBQUM7QUFDMUI7QUFFQSxlQUFlUCxnQkFBZSJ9
@@ -1,5 +1,5 @@
1
- import type { GeneratedTypes } from '../../';
2
- import type { PreferenceRequest } from '../types';
1
+ import type { GeneratedTypes } from '../../index.js';
2
+ import type { PreferenceRequest } from '../types.js';
3
3
  declare function findOne(args: PreferenceRequest): Promise<GeneratedTypes['collections']['_preference']>;
4
4
  export default findOne;
5
5
  //# sourceMappingURL=findOne.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"findOne.d.ts","sourceRoot":"","sources":["../../../src/preferences/operations/findOne.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,cAAc,EAAE,MAAM,QAAQ,CAAA;AAE5C,OAAO,KAAK,EAAE,iBAAiB,EAAE,MAAM,UAAU,CAAA;AAEjD,iBAAe,OAAO,CACpB,IAAI,EAAE,iBAAiB,GACtB,OAAO,CAAC,cAAc,CAAC,aAAa,CAAC,CAAC,aAAa,CAAC,CAAC,CA4BvD;AAED,eAAe,OAAO,CAAA"}
1
+ {"version":3,"file":"findOne.d.ts","sourceRoot":"","sources":["../../../src/preferences/operations/findOne.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,cAAc,EAAE,MAAM,gBAAgB,CAAA;AAEpD,OAAO,KAAK,EAAE,iBAAiB,EAAE,MAAM,aAAa,CAAA;AAEpD,iBAAe,OAAO,CACpB,IAAI,EAAE,iBAAiB,GACtB,OAAO,CAAC,cAAc,CAAC,aAAa,CAAC,CAAC,aAAa,CAAC,CAAC,CA4BvD;AAED,eAAe,OAAO,CAAA"}