payload 3.0.0-alpha.31 → 3.0.0-alpha.32

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 (576) hide show
  1. package/auth.d.ts +1 -1
  2. package/auth.js +1 -1
  3. package/{bin.js → bin.cjs} +1 -1
  4. package/database.d.ts +2 -2
  5. package/database.js +1 -1
  6. package/dist/admin/RichText.d.ts +9 -5
  7. package/dist/admin/RichText.d.ts.map +1 -1
  8. package/dist/admin/RichText.js +1 -1
  9. package/dist/admin/elements/Cell.d.ts +2 -2
  10. package/dist/admin/elements/Cell.d.ts.map +1 -1
  11. package/dist/admin/elements/Cell.js +1 -1
  12. package/dist/admin/elements/Tab.d.ts +3 -3
  13. package/dist/admin/elements/Tab.d.ts.map +1 -1
  14. package/dist/admin/elements/Tab.js +1 -1
  15. package/dist/admin/forms/Form.d.ts +1 -1
  16. package/dist/admin/forms/Form.d.ts.map +1 -1
  17. package/dist/admin/forms/Form.js +1 -1
  18. package/dist/admin/forms/RowLabel.d.ts +1 -1
  19. package/dist/admin/forms/RowLabel.d.ts.map +1 -1
  20. package/dist/admin/forms/RowLabel.js +1 -1
  21. package/dist/admin/types.d.ts +19 -19
  22. package/dist/admin/types.d.ts.map +1 -1
  23. package/dist/admin/types.js +1 -1
  24. package/dist/admin/views/types.d.ts +3 -3
  25. package/dist/admin/views/types.d.ts.map +1 -1
  26. package/dist/admin/views/types.js +1 -1
  27. package/dist/auth/baseFields/accountLock.d.ts +1 -1
  28. package/dist/auth/baseFields/accountLock.d.ts.map +1 -1
  29. package/dist/auth/baseFields/accountLock.js +1 -1
  30. package/dist/auth/baseFields/apiKey.d.ts +1 -1
  31. package/dist/auth/baseFields/apiKey.d.ts.map +1 -1
  32. package/dist/auth/baseFields/apiKey.js +1 -1
  33. package/dist/auth/baseFields/auth.d.ts +1 -1
  34. package/dist/auth/baseFields/auth.d.ts.map +1 -1
  35. package/dist/auth/baseFields/auth.js +1 -1
  36. package/dist/auth/baseFields/verification.d.ts +1 -1
  37. package/dist/auth/baseFields/verification.d.ts.map +1 -1
  38. package/dist/auth/baseFields/verification.js +1 -1
  39. package/dist/auth/cookies.d.ts +2 -2
  40. package/dist/auth/cookies.d.ts.map +1 -1
  41. package/dist/auth/cookies.js +1 -1
  42. package/dist/auth/defaultAccess.d.ts +1 -1
  43. package/dist/auth/defaultAccess.d.ts.map +1 -1
  44. package/dist/auth/defaultAccess.js +1 -1
  45. package/dist/auth/defaultUser.d.ts +1 -1
  46. package/dist/auth/defaultUser.d.ts.map +1 -1
  47. package/dist/auth/defaultUser.js +1 -1
  48. package/dist/auth/executeAccess.d.ts +2 -2
  49. package/dist/auth/executeAccess.d.ts.map +1 -1
  50. package/dist/auth/executeAccess.js +1 -1
  51. package/dist/auth/extractJWT.d.ts +1 -1
  52. package/dist/auth/extractJWT.d.ts.map +1 -1
  53. package/dist/auth/extractJWT.js +1 -1
  54. package/dist/auth/getAccessResults.d.ts +2 -2
  55. package/dist/auth/getAccessResults.d.ts.map +1 -1
  56. package/dist/auth/getAccessResults.js +1 -1
  57. package/dist/auth/getAuthenticatedUser.d.ts +1 -1
  58. package/dist/auth/getAuthenticatedUser.d.ts.map +1 -1
  59. package/dist/auth/getAuthenticatedUser.js +1 -1
  60. package/dist/auth/getFieldsToSign.d.ts +2 -2
  61. package/dist/auth/getFieldsToSign.d.ts.map +1 -1
  62. package/dist/auth/getFieldsToSign.js +1 -1
  63. package/dist/auth/operations/access.d.ts +2 -2
  64. package/dist/auth/operations/access.d.ts.map +1 -1
  65. package/dist/auth/operations/access.js +1 -1
  66. package/dist/auth/operations/forgotPassword.d.ts +2 -2
  67. package/dist/auth/operations/forgotPassword.d.ts.map +1 -1
  68. package/dist/auth/operations/forgotPassword.js +7 -3
  69. package/dist/auth/operations/init.d.ts +1 -1
  70. package/dist/auth/operations/init.d.ts.map +1 -1
  71. package/dist/auth/operations/init.js +1 -1
  72. package/dist/auth/operations/local/forgotPassword.d.ts +3 -3
  73. package/dist/auth/operations/local/forgotPassword.d.ts.map +1 -1
  74. package/dist/auth/operations/local/forgotPassword.js +1 -1
  75. package/dist/auth/operations/local/login.d.ts +4 -4
  76. package/dist/auth/operations/local/login.d.ts.map +1 -1
  77. package/dist/auth/operations/local/login.js +1 -1
  78. package/dist/auth/operations/local/resetPassword.d.ts +4 -4
  79. package/dist/auth/operations/local/resetPassword.d.ts.map +1 -1
  80. package/dist/auth/operations/local/resetPassword.js +1 -1
  81. package/dist/auth/operations/local/unlock.d.ts +3 -3
  82. package/dist/auth/operations/local/unlock.d.ts.map +1 -1
  83. package/dist/auth/operations/local/unlock.js +1 -1
  84. package/dist/auth/operations/local/verifyEmail.d.ts +3 -3
  85. package/dist/auth/operations/local/verifyEmail.d.ts.map +1 -1
  86. package/dist/auth/operations/local/verifyEmail.js +1 -1
  87. package/dist/auth/operations/login.d.ts +7 -7
  88. package/dist/auth/operations/login.d.ts.map +1 -1
  89. package/dist/auth/operations/login.js +1 -1
  90. package/dist/auth/operations/logout.d.ts +2 -2
  91. package/dist/auth/operations/logout.d.ts.map +1 -1
  92. package/dist/auth/operations/logout.js +1 -1
  93. package/dist/auth/operations/me.d.ts +3 -3
  94. package/dist/auth/operations/me.d.ts.map +1 -1
  95. package/dist/auth/operations/me.js +1 -1
  96. package/dist/auth/operations/refresh.d.ts +3 -3
  97. package/dist/auth/operations/refresh.d.ts.map +1 -1
  98. package/dist/auth/operations/refresh.js +1 -1
  99. package/dist/auth/operations/registerFirstUser.d.ts +9 -9
  100. package/dist/auth/operations/registerFirstUser.d.ts.map +1 -1
  101. package/dist/auth/operations/registerFirstUser.js +1 -1
  102. package/dist/auth/operations/resetPassword.d.ts +2 -2
  103. package/dist/auth/operations/resetPassword.d.ts.map +1 -1
  104. package/dist/auth/operations/resetPassword.js +4 -3
  105. package/dist/auth/operations/unlock.d.ts +2 -2
  106. package/dist/auth/operations/unlock.d.ts.map +1 -1
  107. package/dist/auth/operations/unlock.js +4 -3
  108. package/dist/auth/operations/verifyEmail.d.ts +2 -2
  109. package/dist/auth/operations/verifyEmail.d.ts.map +1 -1
  110. package/dist/auth/operations/verifyEmail.js +2 -2
  111. package/dist/auth/sendVerificationEmail.d.ts +5 -5
  112. package/dist/auth/sendVerificationEmail.d.ts.map +1 -1
  113. package/dist/auth/sendVerificationEmail.js +1 -1
  114. package/dist/auth/strategies/apiKey.d.ts +2 -2
  115. package/dist/auth/strategies/apiKey.d.ts.map +1 -1
  116. package/dist/auth/strategies/apiKey.js +1 -1
  117. package/dist/auth/strategies/jwt.d.ts +1 -1
  118. package/dist/auth/strategies/jwt.d.ts.map +1 -1
  119. package/dist/auth/strategies/jwt.js +1 -1
  120. package/dist/auth/strategies/local/authenticate.d.ts +1 -1
  121. package/dist/auth/strategies/local/authenticate.d.ts.map +1 -1
  122. package/dist/auth/strategies/local/authenticate.js +1 -1
  123. package/dist/auth/strategies/local/incrementLoginAttempts.d.ts +3 -3
  124. package/dist/auth/strategies/local/incrementLoginAttempts.d.ts.map +1 -1
  125. package/dist/auth/strategies/local/incrementLoginAttempts.js +1 -1
  126. package/dist/auth/strategies/local/register.d.ts +3 -3
  127. package/dist/auth/strategies/local/register.d.ts.map +1 -1
  128. package/dist/auth/strategies/local/register.js +1 -1
  129. package/dist/auth/strategies/local/resetLoginAttempts.d.ts +3 -3
  130. package/dist/auth/strategies/local/resetLoginAttempts.d.ts.map +1 -1
  131. package/dist/auth/strategies/local/resetLoginAttempts.js +1 -1
  132. package/dist/auth/types.d.ts +2 -2
  133. package/dist/auth/types.d.ts.map +1 -1
  134. package/dist/auth/types.js +1 -1
  135. package/dist/bin/generateTypes.d.ts +1 -1
  136. package/dist/bin/generateTypes.d.ts.map +1 -1
  137. package/dist/bin/generateTypes.js +1 -1
  138. package/dist/bin/index.js +1 -1
  139. package/dist/collections/config/build.d.ts +1 -1
  140. package/dist/collections/config/build.d.ts.map +1 -1
  141. package/dist/collections/config/build.js +1 -1
  142. package/dist/collections/config/sanitize.d.ts +2 -2
  143. package/dist/collections/config/sanitize.d.ts.map +1 -1
  144. package/dist/collections/config/sanitize.js +1 -1
  145. package/dist/collections/config/types.d.ts +9 -9
  146. package/dist/collections/config/types.d.ts.map +1 -1
  147. package/dist/collections/config/types.js +1 -1
  148. package/dist/collections/dataloader.d.ts +2 -2
  149. package/dist/collections/dataloader.d.ts.map +1 -1
  150. package/dist/collections/dataloader.js +1 -1
  151. package/dist/collections/operations/create.d.ts +9 -9
  152. package/dist/collections/operations/create.d.ts.map +1 -1
  153. package/dist/collections/operations/create.js +1 -1
  154. package/dist/collections/operations/delete.d.ts +9 -9
  155. package/dist/collections/operations/delete.d.ts.map +1 -1
  156. package/dist/collections/operations/delete.js +1 -1
  157. package/dist/collections/operations/deleteByID.d.ts +2 -2
  158. package/dist/collections/operations/deleteByID.d.ts.map +1 -1
  159. package/dist/collections/operations/deleteByID.js +1 -1
  160. package/dist/collections/operations/docAccess.d.ts +3 -3
  161. package/dist/collections/operations/docAccess.d.ts.map +1 -1
  162. package/dist/collections/operations/docAccess.js +1 -1
  163. package/dist/collections/operations/find.d.ts +3 -3
  164. package/dist/collections/operations/find.d.ts.map +1 -1
  165. package/dist/collections/operations/find.js +1 -1
  166. package/dist/collections/operations/findByID.d.ts +2 -2
  167. package/dist/collections/operations/findByID.d.ts.map +1 -1
  168. package/dist/collections/operations/findByID.js +1 -1
  169. package/dist/collections/operations/findVersionByID.d.ts +3 -3
  170. package/dist/collections/operations/findVersionByID.d.ts.map +1 -1
  171. package/dist/collections/operations/findVersionByID.js +1 -1
  172. package/dist/collections/operations/findVersions.d.ts +4 -4
  173. package/dist/collections/operations/findVersions.d.ts.map +1 -1
  174. package/dist/collections/operations/findVersions.js +1 -1
  175. package/dist/collections/operations/local/create.d.ts +4 -4
  176. package/dist/collections/operations/local/create.d.ts.map +1 -1
  177. package/dist/collections/operations/local/create.js +1 -1
  178. package/dist/collections/operations/local/delete.d.ts +5 -5
  179. package/dist/collections/operations/local/delete.d.ts.map +1 -1
  180. package/dist/collections/operations/local/delete.js +1 -1
  181. package/dist/collections/operations/local/find.d.ts +3 -3
  182. package/dist/collections/operations/local/find.d.ts.map +1 -1
  183. package/dist/collections/operations/local/find.js +1 -1
  184. package/dist/collections/operations/local/findByID.d.ts +2 -2
  185. package/dist/collections/operations/local/findByID.d.ts.map +1 -1
  186. package/dist/collections/operations/local/findByID.js +1 -1
  187. package/dist/collections/operations/local/findVersionByID.d.ts +3 -3
  188. package/dist/collections/operations/local/findVersionByID.d.ts.map +1 -1
  189. package/dist/collections/operations/local/findVersionByID.js +1 -1
  190. package/dist/collections/operations/local/findVersions.d.ts +4 -4
  191. package/dist/collections/operations/local/findVersions.d.ts.map +1 -1
  192. package/dist/collections/operations/local/findVersions.js +1 -1
  193. package/dist/collections/operations/local/restoreVersion.d.ts +2 -2
  194. package/dist/collections/operations/local/restoreVersion.d.ts.map +1 -1
  195. package/dist/collections/operations/local/restoreVersion.js +1 -1
  196. package/dist/collections/operations/local/update.d.ts +4 -4
  197. package/dist/collections/operations/local/update.d.ts.map +1 -1
  198. package/dist/collections/operations/local/update.js +1 -1
  199. package/dist/collections/operations/restoreVersion.d.ts +2 -2
  200. package/dist/collections/operations/restoreVersion.d.ts.map +1 -1
  201. package/dist/collections/operations/restoreVersion.js +1 -1
  202. package/dist/collections/operations/update.d.ts +7 -7
  203. package/dist/collections/operations/update.d.ts.map +1 -1
  204. package/dist/collections/operations/update.js +1 -1
  205. package/dist/collections/operations/updateByID.d.ts +9 -9
  206. package/dist/collections/operations/updateByID.d.ts.map +1 -1
  207. package/dist/collections/operations/updateByID.js +1 -1
  208. package/dist/collections/operations/utils.d.ts +12 -12
  209. package/dist/collections/operations/utils.d.ts.map +1 -1
  210. package/dist/collections/operations/utils.js +1 -1
  211. package/dist/config/build.d.ts +1 -1
  212. package/dist/config/build.d.ts.map +1 -1
  213. package/dist/config/build.js +1 -1
  214. package/dist/config/createClientConfig.d.ts +2 -2
  215. package/dist/config/createClientConfig.d.ts.map +1 -1
  216. package/dist/config/createClientConfig.js +1 -1
  217. package/dist/config/defaults.d.ts +1 -1
  218. package/dist/config/defaults.d.ts.map +1 -1
  219. package/dist/config/defaults.js +1 -1
  220. package/dist/config/load.d.ts +1 -1
  221. package/dist/config/load.d.ts.map +1 -1
  222. package/dist/config/load.js +1 -1
  223. package/dist/config/sanitize.d.ts +1 -1
  224. package/dist/config/sanitize.d.ts.map +1 -1
  225. package/dist/config/sanitize.js +1 -1
  226. package/dist/config/types.d.ts +10 -10
  227. package/dist/config/types.d.ts.map +1 -1
  228. package/dist/config/types.js +1 -1
  229. package/dist/config/validate.d.ts +1 -1
  230. package/dist/config/validate.d.ts.map +1 -1
  231. package/dist/config/validate.js +1 -1
  232. package/dist/database/combineQueries.d.ts +1 -1
  233. package/dist/database/combineQueries.d.ts.map +1 -1
  234. package/dist/database/combineQueries.js +1 -1
  235. package/dist/database/createDatabaseAdapter.d.ts +1 -1
  236. package/dist/database/createDatabaseAdapter.d.ts.map +1 -1
  237. package/dist/database/createDatabaseAdapter.js +1 -1
  238. package/dist/database/flattenWhereToOperators.d.ts +1 -1
  239. package/dist/database/flattenWhereToOperators.d.ts.map +1 -1
  240. package/dist/database/flattenWhereToOperators.js +1 -1
  241. package/dist/database/getLocalizedPaths.d.ts +3 -3
  242. package/dist/database/getLocalizedPaths.d.ts.map +1 -1
  243. package/dist/database/getLocalizedPaths.js +1 -1
  244. package/dist/database/migrations/createMigration.d.ts +1 -1
  245. package/dist/database/migrations/createMigration.d.ts.map +1 -1
  246. package/dist/database/migrations/createMigration.js +1 -1
  247. package/dist/database/migrations/getMigrations.d.ts +2 -2
  248. package/dist/database/migrations/getMigrations.d.ts.map +1 -1
  249. package/dist/database/migrations/getMigrations.js +1 -1
  250. package/dist/database/migrations/migrate.d.ts +1 -1
  251. package/dist/database/migrations/migrate.d.ts.map +1 -1
  252. package/dist/database/migrations/migrate.js +1 -1
  253. package/dist/database/migrations/migrateDown.d.ts +1 -1
  254. package/dist/database/migrations/migrateDown.d.ts.map +1 -1
  255. package/dist/database/migrations/migrateDown.js +1 -1
  256. package/dist/database/migrations/migrateRefresh.d.ts +1 -1
  257. package/dist/database/migrations/migrateRefresh.d.ts.map +1 -1
  258. package/dist/database/migrations/migrateRefresh.js +1 -1
  259. package/dist/database/migrations/migrateReset.d.ts +1 -1
  260. package/dist/database/migrations/migrateReset.d.ts.map +1 -1
  261. package/dist/database/migrations/migrateReset.js +1 -1
  262. package/dist/database/migrations/migrateStatus.d.ts +1 -1
  263. package/dist/database/migrations/migrateStatus.d.ts.map +1 -1
  264. package/dist/database/migrations/migrateStatus.js +1 -1
  265. package/dist/database/migrations/migrationsCollection.d.ts +1 -1
  266. package/dist/database/migrations/migrationsCollection.d.ts.map +1 -1
  267. package/dist/database/migrations/migrationsCollection.js +1 -1
  268. package/dist/database/migrations/readMigrationFiles.d.ts +2 -2
  269. package/dist/database/migrations/readMigrationFiles.d.ts.map +1 -1
  270. package/dist/database/migrations/readMigrationFiles.js +1 -1
  271. package/dist/database/queryValidation/types.d.ts +2 -2
  272. package/dist/database/queryValidation/types.d.ts.map +1 -1
  273. package/dist/database/queryValidation/types.js +1 -1
  274. package/dist/database/queryValidation/validateQueryPaths.d.ts +5 -5
  275. package/dist/database/queryValidation/validateQueryPaths.d.ts.map +1 -1
  276. package/dist/database/queryValidation/validateQueryPaths.js +1 -1
  277. package/dist/database/queryValidation/validateSearchParams.d.ts +5 -5
  278. package/dist/database/queryValidation/validateSearchParams.d.ts.map +1 -1
  279. package/dist/database/queryValidation/validateSearchParams.js +1 -1
  280. package/dist/database/types.d.ts +4 -4
  281. package/dist/database/types.d.ts.map +1 -1
  282. package/dist/database/types.js +1 -1
  283. package/dist/email/build.d.ts +2 -2
  284. package/dist/email/build.d.ts.map +1 -1
  285. package/dist/email/build.js +1 -1
  286. package/dist/email/defaults.d.ts +1 -1
  287. package/dist/email/defaults.d.ts.map +1 -1
  288. package/dist/email/defaults.js +1 -1
  289. package/dist/email/mockHandler.d.ts +2 -2
  290. package/dist/email/mockHandler.d.ts.map +1 -1
  291. package/dist/email/mockHandler.js +1 -1
  292. package/dist/errors/DuplicateGlobal.d.ts +1 -1
  293. package/dist/errors/DuplicateGlobal.d.ts.map +1 -1
  294. package/dist/errors/DuplicateGlobal.js +1 -1
  295. package/dist/errors/InvalidFieldName.d.ts +1 -1
  296. package/dist/errors/InvalidFieldName.d.ts.map +1 -1
  297. package/dist/errors/InvalidFieldName.js +1 -1
  298. package/dist/errors/InvalidFieldRelationship.d.ts +1 -1
  299. package/dist/errors/InvalidFieldRelationship.d.ts.map +1 -1
  300. package/dist/errors/InvalidFieldRelationship.js +1 -1
  301. package/dist/errors/MissingFieldInputOptions.d.ts +1 -1
  302. package/dist/errors/MissingFieldInputOptions.d.ts.map +1 -1
  303. package/dist/errors/MissingFieldInputOptions.js +1 -1
  304. package/dist/errors/MissingFieldType.d.ts +1 -1
  305. package/dist/errors/MissingFieldType.d.ts.map +1 -1
  306. package/dist/errors/MissingFieldType.js +1 -1
  307. package/dist/errors/TimestampsRequired.d.ts +1 -1
  308. package/dist/errors/TimestampsRequired.d.ts.map +1 -1
  309. package/dist/errors/TimestampsRequired.js +1 -1
  310. package/dist/exports/auth.d.ts +1 -1
  311. package/dist/exports/auth.d.ts.map +1 -1
  312. package/dist/exports/auth.js +1 -1
  313. package/dist/exports/database.d.ts +2 -2
  314. package/dist/exports/database.d.ts.map +1 -1
  315. package/dist/exports/database.js +1 -1
  316. package/dist/exports/types.d.ts +8 -8
  317. package/dist/exports/types.d.ts.map +1 -1
  318. package/dist/exports/types.js +1 -1
  319. package/dist/exports/utilities.d.ts +1 -0
  320. package/dist/exports/utilities.d.ts.map +1 -1
  321. package/dist/exports/utilities.js +2 -1
  322. package/dist/exports/versions.d.ts +1 -1
  323. package/dist/exports/versions.d.ts.map +1 -1
  324. package/dist/exports/versions.js +1 -1
  325. package/dist/fields/baseFields/baseBlockFields.d.ts +1 -1
  326. package/dist/fields/baseFields/baseBlockFields.d.ts.map +1 -1
  327. package/dist/fields/baseFields/baseBlockFields.js +1 -1
  328. package/dist/fields/baseFields/baseIDField.d.ts +1 -1
  329. package/dist/fields/baseFields/baseIDField.d.ts.map +1 -1
  330. package/dist/fields/baseFields/baseIDField.js +1 -1
  331. package/dist/fields/config/sanitize.d.ts +2 -2
  332. package/dist/fields/config/sanitize.d.ts.map +1 -1
  333. package/dist/fields/config/sanitize.js +1 -1
  334. package/dist/fields/config/sanitize.spec.js +1 -1
  335. package/dist/fields/config/types.d.ts +5 -5
  336. package/dist/fields/config/types.d.ts.map +1 -1
  337. package/dist/fields/config/types.js +1 -1
  338. package/dist/fields/hooks/afterChange/index.d.ts +3 -3
  339. package/dist/fields/hooks/afterChange/index.d.ts.map +1 -1
  340. package/dist/fields/hooks/afterChange/index.js +1 -1
  341. package/dist/fields/hooks/afterChange/promise.d.ts +4 -4
  342. package/dist/fields/hooks/afterChange/promise.d.ts.map +1 -1
  343. package/dist/fields/hooks/afterChange/promise.js +1 -1
  344. package/dist/fields/hooks/afterChange/traverseFields.d.ts +4 -4
  345. package/dist/fields/hooks/afterChange/traverseFields.d.ts.map +1 -1
  346. package/dist/fields/hooks/afterChange/traverseFields.js +1 -1
  347. package/dist/fields/hooks/afterRead/index.d.ts +3 -3
  348. package/dist/fields/hooks/afterRead/index.d.ts.map +1 -1
  349. package/dist/fields/hooks/afterRead/index.js +1 -1
  350. package/dist/fields/hooks/afterRead/promise.d.ts +4 -4
  351. package/dist/fields/hooks/afterRead/promise.d.ts.map +1 -1
  352. package/dist/fields/hooks/afterRead/promise.js +1 -1
  353. package/dist/fields/hooks/afterRead/relationshipPopulationPromise.d.ts +2 -2
  354. package/dist/fields/hooks/afterRead/relationshipPopulationPromise.d.ts.map +1 -1
  355. package/dist/fields/hooks/afterRead/relationshipPopulationPromise.js +1 -1
  356. package/dist/fields/hooks/afterRead/traverseFields.d.ts +4 -4
  357. package/dist/fields/hooks/afterRead/traverseFields.d.ts.map +1 -1
  358. package/dist/fields/hooks/afterRead/traverseFields.js +1 -1
  359. package/dist/fields/hooks/beforeChange/index.d.ts +3 -3
  360. package/dist/fields/hooks/beforeChange/index.d.ts.map +1 -1
  361. package/dist/fields/hooks/beforeChange/index.js +1 -1
  362. package/dist/fields/hooks/beforeChange/promise.d.ts +4 -4
  363. package/dist/fields/hooks/beforeChange/promise.d.ts.map +1 -1
  364. package/dist/fields/hooks/beforeChange/promise.js +1 -1
  365. package/dist/fields/hooks/beforeChange/traverseFields.d.ts +4 -4
  366. package/dist/fields/hooks/beforeChange/traverseFields.d.ts.map +1 -1
  367. package/dist/fields/hooks/beforeChange/traverseFields.js +1 -1
  368. package/dist/fields/hooks/beforeValidate/index.d.ts +3 -3
  369. package/dist/fields/hooks/beforeValidate/index.d.ts.map +1 -1
  370. package/dist/fields/hooks/beforeValidate/index.js +1 -1
  371. package/dist/fields/hooks/beforeValidate/promise.d.ts +4 -4
  372. package/dist/fields/hooks/beforeValidate/promise.d.ts.map +1 -1
  373. package/dist/fields/hooks/beforeValidate/promise.js +1 -1
  374. package/dist/fields/hooks/beforeValidate/traverseFields.d.ts +4 -4
  375. package/dist/fields/hooks/beforeValidate/traverseFields.d.ts.map +1 -1
  376. package/dist/fields/hooks/beforeValidate/traverseFields.js +1 -1
  377. package/dist/fields/mergeBaseFields.d.ts +1 -1
  378. package/dist/fields/mergeBaseFields.d.ts.map +1 -1
  379. package/dist/fields/mergeBaseFields.js +1 -1
  380. package/dist/fields/validations.d.ts +6 -6
  381. package/dist/fields/validations.d.ts.map +1 -1
  382. package/dist/fields/validations.js +1 -1
  383. package/dist/fields/validations.spec.js +1 -1
  384. package/dist/globals/config/sanitize.d.ts +2 -2
  385. package/dist/globals/config/sanitize.d.ts.map +1 -1
  386. package/dist/globals/config/sanitize.js +1 -1
  387. package/dist/globals/config/types.d.ts +7 -7
  388. package/dist/globals/config/types.d.ts.map +1 -1
  389. package/dist/globals/config/types.js +1 -1
  390. package/dist/globals/operations/docAccess.d.ts +3 -3
  391. package/dist/globals/operations/docAccess.d.ts.map +1 -1
  392. package/dist/globals/operations/docAccess.js +1 -1
  393. package/dist/globals/operations/findOne.d.ts +2 -2
  394. package/dist/globals/operations/findOne.d.ts.map +1 -1
  395. package/dist/globals/operations/findOne.js +1 -1
  396. package/dist/globals/operations/findVersionByID.d.ts +3 -3
  397. package/dist/globals/operations/findVersionByID.d.ts.map +1 -1
  398. package/dist/globals/operations/findVersionByID.js +1 -1
  399. package/dist/globals/operations/findVersions.d.ts +4 -4
  400. package/dist/globals/operations/findVersions.d.ts.map +1 -1
  401. package/dist/globals/operations/findVersions.js +1 -1
  402. package/dist/globals/operations/local/findOne.d.ts +2 -2
  403. package/dist/globals/operations/local/findOne.d.ts.map +1 -1
  404. package/dist/globals/operations/local/findOne.js +1 -1
  405. package/dist/globals/operations/local/findVersionByID.d.ts +3 -3
  406. package/dist/globals/operations/local/findVersionByID.d.ts.map +1 -1
  407. package/dist/globals/operations/local/findVersionByID.js +1 -1
  408. package/dist/globals/operations/local/findVersions.d.ts +4 -4
  409. package/dist/globals/operations/local/findVersions.d.ts.map +1 -1
  410. package/dist/globals/operations/local/findVersions.js +1 -1
  411. package/dist/globals/operations/local/restoreVersion.d.ts +2 -2
  412. package/dist/globals/operations/local/restoreVersion.d.ts.map +1 -1
  413. package/dist/globals/operations/local/restoreVersion.js +1 -1
  414. package/dist/globals/operations/local/update.d.ts +2 -2
  415. package/dist/globals/operations/local/update.d.ts.map +1 -1
  416. package/dist/globals/operations/local/update.js +1 -1
  417. package/dist/globals/operations/restoreVersion.d.ts +3 -3
  418. package/dist/globals/operations/restoreVersion.d.ts.map +1 -1
  419. package/dist/globals/operations/restoreVersion.js +1 -1
  420. package/dist/globals/operations/update.d.ts +9 -9
  421. package/dist/globals/operations/update.d.ts.map +1 -1
  422. package/dist/globals/operations/update.js +1 -1
  423. package/dist/index.d.ts.map +1 -1
  424. package/dist/index.js +1 -2
  425. package/dist/preferences/deleteUserPreferences.d.ts +3 -3
  426. package/dist/preferences/deleteUserPreferences.d.ts.map +1 -1
  427. package/dist/preferences/deleteUserPreferences.js +1 -1
  428. package/dist/preferences/operations/delete.d.ts +2 -2
  429. package/dist/preferences/operations/delete.d.ts.map +1 -1
  430. package/dist/preferences/operations/delete.js +1 -1
  431. package/dist/preferences/operations/findOne.d.ts +2 -2
  432. package/dist/preferences/operations/findOne.d.ts.map +1 -1
  433. package/dist/preferences/operations/findOne.js +1 -1
  434. package/dist/preferences/operations/update.d.ts +1 -1
  435. package/dist/preferences/operations/update.d.ts.map +1 -1
  436. package/dist/preferences/operations/update.js +1 -1
  437. package/dist/preferences/preferencesCollection.d.ts +2 -2
  438. package/dist/preferences/preferencesCollection.d.ts.map +1 -1
  439. package/dist/preferences/preferencesCollection.js +1 -1
  440. package/dist/preferences/requestHandlers/delete.d.ts +1 -1
  441. package/dist/preferences/requestHandlers/delete.d.ts.map +1 -1
  442. package/dist/preferences/requestHandlers/delete.js +1 -1
  443. package/dist/preferences/requestHandlers/findOne.d.ts +1 -1
  444. package/dist/preferences/requestHandlers/findOne.d.ts.map +1 -1
  445. package/dist/preferences/requestHandlers/findOne.js +1 -1
  446. package/dist/preferences/requestHandlers/update.d.ts +1 -1
  447. package/dist/preferences/requestHandlers/update.d.ts.map +1 -1
  448. package/dist/preferences/requestHandlers/update.js +1 -1
  449. package/dist/preferences/types.d.ts +2 -2
  450. package/dist/preferences/types.d.ts.map +1 -1
  451. package/dist/preferences/types.js +1 -1
  452. package/dist/translations/getLocalI18n.d.ts +1 -1
  453. package/dist/translations/getLocalI18n.d.ts.map +1 -1
  454. package/dist/translations/getLocalI18n.js +1 -1
  455. package/dist/types/index.d.ts +5 -5
  456. package/dist/types/index.d.ts.map +1 -1
  457. package/dist/types/index.js +1 -1
  458. package/dist/uploads/deleteAssociatedFiles.d.ts +4 -4
  459. package/dist/uploads/deleteAssociatedFiles.d.ts.map +1 -1
  460. package/dist/uploads/deleteAssociatedFiles.js +1 -1
  461. package/dist/uploads/docWithFilenameExists.d.ts +1 -1
  462. package/dist/uploads/docWithFilenameExists.d.ts.map +1 -1
  463. package/dist/uploads/docWithFilenameExists.js +1 -1
  464. package/dist/uploads/generateFileData.d.ts +4 -4
  465. package/dist/uploads/generateFileData.d.ts.map +1 -1
  466. package/dist/uploads/generateFileData.js +4 -4
  467. package/dist/uploads/getBaseFields.d.ts +3 -3
  468. package/dist/uploads/getBaseFields.d.ts.map +1 -1
  469. package/dist/uploads/getBaseFields.js +1 -1
  470. package/dist/uploads/getExternalFile.d.ts +1 -1
  471. package/dist/uploads/getExternalFile.d.ts.map +1 -1
  472. package/dist/uploads/getExternalFile.js +1 -1
  473. package/dist/uploads/getFileByPath.d.ts +1 -1
  474. package/dist/uploads/getFileByPath.d.ts.map +1 -1
  475. package/dist/uploads/getFileByPath.js +1 -1
  476. package/dist/uploads/getImageSize.d.ts +3 -3
  477. package/dist/uploads/getImageSize.d.ts.map +1 -1
  478. package/dist/uploads/getImageSize.js +14 -7
  479. package/dist/uploads/getSafeFilename.d.ts +1 -1
  480. package/dist/uploads/getSafeFilename.d.ts.map +1 -1
  481. package/dist/uploads/getSafeFilename.js +1 -1
  482. package/dist/uploads/imageResizer.d.ts +4 -4
  483. package/dist/uploads/imageResizer.d.ts.map +1 -1
  484. package/dist/uploads/imageResizer.js +1 -1
  485. package/dist/uploads/mimeTypeValidator.d.ts +1 -1
  486. package/dist/uploads/mimeTypeValidator.d.ts.map +1 -1
  487. package/dist/uploads/mimeTypeValidator.js +1 -1
  488. package/dist/uploads/types.d.ts +1 -3
  489. package/dist/uploads/types.d.ts.map +1 -1
  490. package/dist/uploads/types.js +1 -1
  491. package/dist/uploads/unlinkTempFiles.d.ts +3 -3
  492. package/dist/uploads/unlinkTempFiles.d.ts.map +1 -1
  493. package/dist/uploads/unlinkTempFiles.js +1 -1
  494. package/dist/uploads/uploadFiles.d.ts +3 -3
  495. package/dist/uploads/uploadFiles.d.ts.map +1 -1
  496. package/dist/uploads/uploadFiles.js +1 -1
  497. package/dist/utilities/checkDuplicateCollections.d.ts +1 -1
  498. package/dist/utilities/checkDuplicateCollections.d.ts.map +1 -1
  499. package/dist/utilities/checkDuplicateCollections.js +1 -1
  500. package/dist/utilities/commitTransaction.d.ts +1 -1
  501. package/dist/utilities/commitTransaction.d.ts.map +1 -1
  502. package/dist/utilities/commitTransaction.js +1 -1
  503. package/dist/utilities/configToJSONSchema.d.ts +12 -6
  504. package/dist/utilities/configToJSONSchema.d.ts.map +1 -1
  505. package/dist/utilities/configToJSONSchema.js +21 -18
  506. package/dist/utilities/configToJSONSchema.spec.js +1 -1
  507. package/dist/utilities/createLocalReq.d.ts +3 -3
  508. package/dist/utilities/createLocalReq.d.ts.map +1 -1
  509. package/dist/utilities/createLocalReq.js +1 -1
  510. package/dist/utilities/fieldSchemaToJSON.d.ts +2 -2
  511. package/dist/utilities/fieldSchemaToJSON.d.ts.map +1 -1
  512. package/dist/utilities/fieldSchemaToJSON.js +1 -1
  513. package/dist/utilities/flattenTopLevelFields.d.ts +1 -1
  514. package/dist/utilities/flattenTopLevelFields.d.ts.map +1 -1
  515. package/dist/utilities/flattenTopLevelFields.js +1 -1
  516. package/dist/utilities/getCollectionIDFieldTypes.d.ts +13 -0
  517. package/dist/utilities/getCollectionIDFieldTypes.d.ts.map +1 -0
  518. package/dist/utilities/getCollectionIDFieldTypes.js +16 -0
  519. package/dist/utilities/getEntityPolicies.d.ts +4 -4
  520. package/dist/utilities/getEntityPolicies.d.ts.map +1 -1
  521. package/dist/utilities/getEntityPolicies.js +1 -1
  522. package/dist/utilities/getIDType.d.ts +2 -2
  523. package/dist/utilities/getIDType.d.ts.map +1 -1
  524. package/dist/utilities/getIDType.js +1 -1
  525. package/dist/utilities/initTransaction.d.ts +1 -1
  526. package/dist/utilities/initTransaction.d.ts.map +1 -1
  527. package/dist/utilities/initTransaction.js +1 -1
  528. package/dist/utilities/isEntityHidden.d.ts +2 -2
  529. package/dist/utilities/isEntityHidden.d.ts.map +1 -1
  530. package/dist/utilities/isEntityHidden.js +1 -1
  531. package/dist/utilities/killTransaction.d.ts +1 -1
  532. package/dist/utilities/killTransaction.d.ts.map +1 -1
  533. package/dist/utilities/killTransaction.js +1 -1
  534. package/dist/utilities/telemetry/events/adminInit.d.ts +2 -2
  535. package/dist/utilities/telemetry/events/adminInit.d.ts.map +1 -1
  536. package/dist/utilities/telemetry/events/adminInit.js +1 -1
  537. package/dist/utilities/telemetry/events/serverInit.d.ts +1 -1
  538. package/dist/utilities/telemetry/events/serverInit.d.ts.map +1 -1
  539. package/dist/utilities/telemetry/events/serverInit.js +1 -1
  540. package/dist/utilities/telemetry/index.d.ts +1 -1
  541. package/dist/utilities/telemetry/index.d.ts.map +1 -1
  542. package/dist/utilities/telemetry/index.js +6 -2
  543. package/dist/versions/baseFields.d.ts +1 -1
  544. package/dist/versions/baseFields.d.ts.map +1 -1
  545. package/dist/versions/baseFields.js +1 -1
  546. package/dist/versions/buildCollectionFields.d.ts +2 -2
  547. package/dist/versions/buildCollectionFields.d.ts.map +1 -1
  548. package/dist/versions/buildCollectionFields.js +1 -1
  549. package/dist/versions/buildGlobalFields.d.ts +2 -2
  550. package/dist/versions/buildGlobalFields.d.ts.map +1 -1
  551. package/dist/versions/buildGlobalFields.js +1 -1
  552. package/dist/versions/deleteCollectionVersions.d.ts +2 -2
  553. package/dist/versions/deleteCollectionVersions.d.ts.map +1 -1
  554. package/dist/versions/deleteCollectionVersions.js +1 -1
  555. package/dist/versions/drafts/appendVersionToQueryKey.d.ts +1 -1
  556. package/dist/versions/drafts/appendVersionToQueryKey.d.ts.map +1 -1
  557. package/dist/versions/drafts/appendVersionToQueryKey.js +1 -1
  558. package/dist/versions/drafts/replaceWithDraftIfAvailable.d.ts +4 -4
  559. package/dist/versions/drafts/replaceWithDraftIfAvailable.d.ts.map +1 -1
  560. package/dist/versions/drafts/replaceWithDraftIfAvailable.js +1 -1
  561. package/dist/versions/enforceMaxVersions.d.ts +3 -3
  562. package/dist/versions/enforceMaxVersions.d.ts.map +1 -1
  563. package/dist/versions/enforceMaxVersions.js +1 -1
  564. package/dist/versions/getLatestCollectionVersion.d.ts +3 -3
  565. package/dist/versions/getLatestCollectionVersion.d.ts.map +1 -1
  566. package/dist/versions/getLatestCollectionVersion.js +1 -1
  567. package/dist/versions/getLatestGlobalVersion.d.ts +2 -2
  568. package/dist/versions/getLatestGlobalVersion.d.ts.map +1 -1
  569. package/dist/versions/getLatestGlobalVersion.js +1 -1
  570. package/package.json +5 -6
  571. package/types.d.ts +8 -8
  572. package/types.js +1 -1
  573. package/utilities.d.ts +1 -0
  574. package/utilities.js +2 -1
  575. package/versions.d.ts +1 -1
  576. package/versions.js +1 -1
@@ -3,6 +3,7 @@ const { singular } = pluralize;
3
3
  import { fieldAffectsData, tabHasName } from '../fields/config/types.js';
4
4
  import { deepCopyObject } from './deepCopyObject.js';
5
5
  import { toWords } from './formatLabels.js';
6
+ import { getCollectionIDFieldTypes } from './getCollectionIDFieldTypes.js';
6
7
  const fieldIsRequired = (field)=>{
7
8
  const isConditional = Boolean(field?.admin && field?.admin?.condition);
8
9
  if (isConditional) return false;
@@ -57,9 +58,13 @@ function generateEntitySchemas(entities) {
57
58
  fieldTypes.push('null');
58
59
  return fieldTypes;
59
60
  }
60
- export function fieldsToJSONSchema(collectionIDFieldTypes, fields, /**
61
+ export function fieldsToJSONSchema(/**
62
+ * Used for relationship fields, to determine whether to use a string or number type for the ID.
63
+ * While there is a default ID field type set by the db adapter, they can differ on a collection-level
64
+ * if they have custom ID fields.
65
+ */ collectionIDFieldTypes, fields, /**
61
66
  * Allows you to define new top-level interfaces that can be re-used in the output schema.
62
- */ interfaceNameDefinitions) {
67
+ */ interfaceNameDefinitions, config) {
63
68
  const requiredFieldNames = new Set();
64
69
  return {
65
70
  properties: Object.fromEntries(fields.reduce((fieldSchemas, field)=>{
@@ -132,6 +137,8 @@ export function fieldsToJSONSchema(collectionIDFieldTypes, fields, /**
132
137
  {
133
138
  if (field.editor.outputSchema) {
134
139
  fieldSchema = field.editor.outputSchema({
140
+ collectionIDFieldTypes,
141
+ config,
135
142
  field,
136
143
  interfaceNameDefinitions,
137
144
  isRequired
@@ -305,7 +312,7 @@ export function fieldsToJSONSchema(collectionIDFieldTypes, fields, /**
305
312
  type: withNullableJSONSchemaType('array', isRequired),
306
313
  items: {
307
314
  oneOf: field.blocks.map((block)=>{
308
- const blockFieldSchemas = fieldsToJSONSchema(collectionIDFieldTypes, block.fields, interfaceNameDefinitions);
315
+ const blockFieldSchemas = fieldsToJSONSchema(collectionIDFieldTypes, block.fields, interfaceNameDefinitions, config);
309
316
  const blockSchema = {
310
317
  type: 'object',
311
318
  additionalProperties: false,
@@ -339,7 +346,7 @@ export function fieldsToJSONSchema(collectionIDFieldTypes, fields, /**
339
346
  items: {
340
347
  type: 'object',
341
348
  additionalProperties: false,
342
- ...fieldsToJSONSchema(collectionIDFieldTypes, field.fields, interfaceNameDefinitions)
349
+ ...fieldsToJSONSchema(collectionIDFieldTypes, field.fields, interfaceNameDefinitions, config)
343
350
  }
344
351
  };
345
352
  if (field.interfaceName) {
@@ -353,7 +360,7 @@ export function fieldsToJSONSchema(collectionIDFieldTypes, fields, /**
353
360
  case 'row':
354
361
  case 'collapsible':
355
362
  {
356
- const childSchema = fieldsToJSONSchema(collectionIDFieldTypes, field.fields, interfaceNameDefinitions);
363
+ const childSchema = fieldsToJSONSchema(collectionIDFieldTypes, field.fields, interfaceNameDefinitions, config);
357
364
  Object.entries(childSchema.properties).forEach(([propName, propSchema])=>{
358
365
  fieldSchemas.set(propName, propSchema);
359
366
  });
@@ -365,7 +372,7 @@ export function fieldsToJSONSchema(collectionIDFieldTypes, fields, /**
365
372
  case 'tabs':
366
373
  {
367
374
  field.tabs.forEach((tab)=>{
368
- const childSchema = fieldsToJSONSchema(collectionIDFieldTypes, tab.fields, interfaceNameDefinitions);
375
+ const childSchema = fieldsToJSONSchema(collectionIDFieldTypes, tab.fields, interfaceNameDefinitions, config);
369
376
  if (tabHasName(tab)) {
370
377
  // could have interface
371
378
  fieldSchemas.set(tab.name, {
@@ -390,7 +397,7 @@ export function fieldsToJSONSchema(collectionIDFieldTypes, fields, /**
390
397
  fieldSchema = {
391
398
  type: 'object',
392
399
  additionalProperties: false,
393
- ...fieldsToJSONSchema(collectionIDFieldTypes, field.fields, interfaceNameDefinitions)
400
+ ...fieldsToJSONSchema(collectionIDFieldTypes, field.fields, interfaceNameDefinitions, config)
394
401
  };
395
402
  if (field.interfaceName) {
396
403
  interfaceNameDefinitions.set(field.interfaceName, fieldSchema);
@@ -446,20 +453,16 @@ export function entityToJSONSchema(config, incomingEntity, interfaceNameDefiniti
446
453
  type: 'text'
447
454
  });
448
455
  }
449
- // used for relationship fields, to determine whether to use a string or number type for the ID
450
- const collectionIDFieldTypes = config.collections.reduce((acc, collection)=>{
451
- const customCollectionIdField = collection.fields.find((field)=>'name' in field && field.name === 'id');
452
- acc[collection.slug] = defaultIDType === 'text' ? 'string' : 'number';
453
- if (customCollectionIdField) {
454
- acc[collection.slug] = customCollectionIdField.type === 'number' ? 'number' : 'string';
455
- }
456
- return acc;
457
- }, {});
456
+ // Used for relationship fields, to determine whether to use a string or number type for the ID.
457
+ const collectionIDFieldTypes = getCollectionIDFieldTypes({
458
+ config,
459
+ defaultIDType
460
+ });
458
461
  return {
459
462
  type: 'object',
460
463
  additionalProperties: false,
461
464
  title,
462
- ...fieldsToJSONSchema(collectionIDFieldTypes, entity.fields, interfaceNameDefinitions)
465
+ ...fieldsToJSONSchema(collectionIDFieldTypes, entity.fields, interfaceNameDefinitions, config)
463
466
  };
464
467
  }
465
468
  /**
@@ -496,4 +499,4 @@ export function entityToJSONSchema(config, incomingEntity, interfaceNameDefiniti
496
499
  };
497
500
  }
498
501
 
499
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIi4uLy4uL3NyYy91dGlsaXRpZXMvY29uZmlnVG9KU09OU2NoZW1hLnRzIl0sInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB0eXBlIHsgSlNPTlNjaGVtYTQsIEpTT05TY2hlbWE0VHlwZU5hbWUgfSBmcm9tICdqc29uLXNjaGVtYSdcblxuaW1wb3J0IHBsdXJhbGl6ZSBmcm9tICdwbHVyYWxpemUnXG5jb25zdCB7IHNpbmd1bGFyIH0gPSBwbHVyYWxpemVcblxuaW1wb3J0IHR5cGUgeyBTYW5pdGl6ZWRDb2xsZWN0aW9uQ29uZmlnIH0gZnJvbSAnLi4vY29sbGVjdGlvbnMvY29uZmlnL3R5cGVzLmQudHMnXG5pbXBvcnQgdHlwZSB7IFNhbml0aXplZENvbmZpZyB9IGZyb20gJy4uL2NvbmZpZy90eXBlcy5kLnRzJ1xuaW1wb3J0IHR5cGUgeyBGaWVsZCwgRmllbGRBZmZlY3RpbmdEYXRhLCBPcHRpb24gfSBmcm9tICcuLi9maWVsZHMvY29uZmlnL3R5cGVzLmQudHMnXG5pbXBvcnQgdHlwZSB7IFNhbml0aXplZEdsb2JhbENvbmZpZyB9IGZyb20gJy4uL2dsb2JhbHMvY29uZmlnL3R5cGVzLmQudHMnXG5cbmltcG9ydCB7IGZpZWxkQWZmZWN0c0RhdGEsIHRhYkhhc05hbWUgfSBmcm9tICcuLi9maWVsZHMvY29uZmlnL3R5cGVzLmpzJ1xuaW1wb3J0IHsgZGVlcENvcHlPYmplY3QgfSBmcm9tICcuL2RlZXBDb3B5T2JqZWN0LmpzJ1xuaW1wb3J0IHsgdG9Xb3JkcyB9IGZyb20gJy4vZm9ybWF0TGFiZWxzLmpzJ1xuXG5jb25zdCBmaWVsZElzUmVxdWlyZWQgPSAoZmllbGQ6IEZpZWxkKSA9PiB7XG4gIGNvbnN0IGlzQ29uZGl0aW9uYWwgPSBCb29sZWFuKGZpZWxkPy5hZG1pbiAmJiBmaWVsZD8uYWRtaW4/LmNvbmRpdGlvbilcbiAgaWYgKGlzQ29uZGl0aW9uYWwpIHJldHVybiBmYWxzZVxuXG4gIGNvbnN0IGlzTWFya2VkUmVxdWlyZWQgPSAncmVxdWlyZWQnIGluIGZpZWxkICYmIGZpZWxkLnJlcXVpcmVkID09PSB0cnVlXG4gIGlmIChmaWVsZEFmZmVjdHNEYXRhKGZpZWxkKSAmJiBpc01hcmtlZFJlcXVpcmVkKSByZXR1cm4gdHJ1ZVxuXG4gIC8vIGlmIGFueSBzdWJmaWVsZHMgYXJlIHJlcXVpcmVkLCB0aGlzIGZpZWxkIGlzIHJlcXVpcmVkXG4gIGlmICgnZmllbGRzJyBpbiBmaWVsZCAmJiBmaWVsZC50eXBlICE9PSAnYXJyYXknKSB7XG4gICAgcmV0dXJuIGZpZWxkLmZpZWxkcy5zb21lKChzdWJGaWVsZCkgPT4gZmllbGRJc1JlcXVpcmVkKHN1YkZpZWxkKSlcbiAgfVxuXG4gIC8vIGlmIGFueSB0YWIgc3ViZmllbGRzIGhhdmUgcmVxdWlyZWQgZmllbGRzLCB0aGlzIGZpZWxkIGlzIHJlcXVpcmVkXG4gIGlmIChmaWVsZC50eXBlID09PSAndGFicycpIHtcbiAgICByZXR1cm4gZmllbGQudGFicy5zb21lKCh0YWIpID0+IHtcbiAgICAgIGlmICgnbmFtZScgaW4gdGFiKSB7XG4gICAgICAgIHJldHVybiB0YWIuZmllbGRzLnNvbWUoKHN1YkZpZWxkKSA9PiBmaWVsZElzUmVxdWlyZWQoc3ViRmllbGQpKVxuICAgICAgfVxuICAgICAgcmV0dXJuIGZhbHNlXG4gICAgfSlcbiAgfVxuXG4gIHJldHVybiBmYWxzZVxufVxuXG5mdW5jdGlvbiBidWlsZE9wdGlvbkVudW1zKG9wdGlvbnM6IE9wdGlvbltdKTogc3RyaW5nW10ge1xuICByZXR1cm4gb3B0aW9ucy5tYXAoKG9wdGlvbikgPT4ge1xuICAgIGlmICh0eXBlb2Ygb3B0aW9uID09PSAnb2JqZWN0JyAmJiAndmFsdWUnIGluIG9wdGlvbikge1xuICAgICAgcmV0dXJuIG9wdGlvbi52YWx1ZVxuICAgIH1cblxuICAgIHJldHVybiBvcHRpb25cbiAgfSlcbn1cblxuZnVuY3Rpb24gZ2VuZXJhdGVFbnRpdHlTY2hlbWFzKFxuICBlbnRpdGllczogKFNhbml0aXplZENvbGxlY3Rpb25Db25maWcgfCBTYW5pdGl6ZWRHbG9iYWxDb25maWcpW10sXG4pOiBKU09OU2NoZW1hNCB7XG4gIGNvbnN0IHByb3BlcnRpZXMgPSBbLi4uZW50aXRpZXNdLnJlZHVjZSgoYWNjLCB7IHNsdWcgfSkgPT4ge1xuICAgIGFjY1tzbHVnXSA9IHtcbiAgICAgICRyZWY6IGAjL2RlZmluaXRpb25zLyR7c2x1Z31gLFxuICAgIH1cblxuICAgIHJldHVybiBhY2NcbiAgfSwge30pXG5cbiAgcmV0dXJuIHtcbiAgICB0eXBlOiAnb2JqZWN0JyxcbiAgICBhZGRpdGlvbmFsUHJvcGVydGllczogZmFsc2UsXG4gICAgcHJvcGVydGllcyxcbiAgICByZXF1aXJlZDogT2JqZWN0LmtleXMocHJvcGVydGllcyksXG4gIH1cbn1cblxuLyoqXG4gKiBSZXR1cm5zIGEgSlNPTiBTY2hlbWEgVHlwZSB3aXRoICdudWxsJyBhZGRlZCBpZiB0aGUgZmllbGQgaXMgbm90IHJlcXVpcmVkLlxuICovXG5leHBvcnQgZnVuY3Rpb24gd2l0aE51bGxhYmxlSlNPTlNjaGVtYVR5cGUoXG4gIGZpZWxkVHlwZTogSlNPTlNjaGVtYTRUeXBlTmFtZSxcbiAgaXNSZXF1aXJlZDogYm9vbGVhbixcbik6IEpTT05TY2hlbWE0VHlwZU5hbWUgfCBKU09OU2NoZW1hNFR5cGVOYW1lW10ge1xuICBjb25zdCBmaWVsZFR5cGVzID0gW2ZpZWxkVHlwZV1cbiAgaWYgKGlzUmVxdWlyZWQpIHJldHVybiBmaWVsZFR5cGVcbiAgZmllbGRUeXBlcy5wdXNoKCdudWxsJylcbiAgcmV0dXJuIGZpZWxkVHlwZXNcbn1cblxuZXhwb3J0IGZ1bmN0aW9uIGZpZWxkc1RvSlNPTlNjaGVtYShcbiAgY29sbGVjdGlvbklERmllbGRUeXBlczogeyBba2V5OiBzdHJpbmddOiAnbnVtYmVyJyB8ICdzdHJpbmcnIH0sXG4gIGZpZWxkczogRmllbGRbXSxcbiAgLyoqXG4gICAqIEFsbG93cyB5b3UgdG8gZGVmaW5lIG5ldyB0b3AtbGV2ZWwgaW50ZXJmYWNlcyB0aGF0IGNhbiBiZSByZS11c2VkIGluIHRoZSBvdXRwdXQgc2NoZW1hLlxuICAgKi9cbiAgaW50ZXJmYWNlTmFtZURlZmluaXRpb25zOiBNYXA8c3RyaW5nLCBKU09OU2NoZW1hND4sXG4pOiB7XG4gIHByb3BlcnRpZXM6IHtcbiAgICBbazogc3RyaW5nXTogSlNPTlNjaGVtYTRcbiAgfVxuICByZXF1aXJlZDogc3RyaW5nW11cbn0ge1xuICBjb25zdCByZXF1aXJlZEZpZWxkTmFtZXMgPSBuZXcgU2V0PHN0cmluZz4oKVxuXG4gIHJldHVybiB7XG4gICAgcHJvcGVydGllczogT2JqZWN0LmZyb21FbnRyaWVzKFxuICAgICAgZmllbGRzLnJlZHVjZSgoZmllbGRTY2hlbWFzLCBmaWVsZCkgPT4ge1xuICAgICAgICBjb25zdCBpc1JlcXVpcmVkID0gZmllbGRBZmZlY3RzRGF0YShmaWVsZCkgJiYgZmllbGRJc1JlcXVpcmVkKGZpZWxkKVxuICAgICAgICBpZiAoaXNSZXF1aXJlZCkgcmVxdWlyZWRGaWVsZE5hbWVzLmFkZChmaWVsZC5uYW1lKVxuXG4gICAgICAgIGxldCBmaWVsZFNjaGVtYTogSlNPTlNjaGVtYTRcbiAgICAgICAgc3dpdGNoIChmaWVsZC50eXBlKSB7XG4gICAgICAgICAgY2FzZSAndGV4dCc6XG4gICAgICAgICAgICBpZiAoZmllbGQuaGFzTWFueSA9PT0gdHJ1ZSkge1xuICAgICAgICAgICAgICBmaWVsZFNjaGVtYSA9IHtcbiAgICAgICAgICAgICAgICB0eXBlOiB3aXRoTnVsbGFibGVKU09OU2NoZW1hVHlwZSgnYXJyYXknLCBpc1JlcXVpcmVkKSxcbiAgICAgICAgICAgICAgICBpdGVtczogeyB0eXBlOiAnc3RyaW5nJyB9LFxuICAgICAgICAgICAgICB9XG4gICAgICAgICAgICB9IGVsc2Uge1xuICAgICAgICAgICAgICBmaWVsZFNjaGVtYSA9IHsgdHlwZTogd2l0aE51bGxhYmxlSlNPTlNjaGVtYVR5cGUoJ3N0cmluZycsIGlzUmVxdWlyZWQpIH1cbiAgICAgICAgICAgIH1cbiAgICAgICAgICAgIGJyZWFrXG4gICAgICAgICAgY2FzZSAndGV4dGFyZWEnOlxuICAgICAgICAgIGNhc2UgJ2NvZGUnOlxuICAgICAgICAgIGNhc2UgJ2VtYWlsJzpcbiAgICAgICAgICBjYXNlICdkYXRlJzoge1xuICAgICAgICAgICAgZmllbGRTY2hlbWEgPSB7IHR5cGU6IHdpdGhOdWxsYWJsZUpTT05TY2hlbWFUeXBlKCdzdHJpbmcnLCBpc1JlcXVpcmVkKSB9XG4gICAgICAgICAgICBicmVha1xuICAgICAgICAgIH1cblxuICAgICAgICAgIGNhc2UgJ251bWJlcic6IHtcbiAgICAgICAgICAgIGlmIChmaWVsZC5oYXNNYW55ID09PSB0cnVlKSB7XG4gICAgICAgICAgICAgIGZpZWxkU2NoZW1hID0ge1xuICAgICAgICAgICAgICAgIHR5cGU6IHdpdGhOdWxsYWJsZUpTT05TY2hlbWFUeXBlKCdhcnJheScsIGlzUmVxdWlyZWQpLFxuICAgICAgICAgICAgICAgIGl0ZW1zOiB7IHR5cGU6ICdudW1iZXInIH0sXG4gICAgICAgICAgICAgIH1cbiAgICAgICAgICAgIH0gZWxzZSB7XG4gICAgICAgICAgICAgIGZpZWxkU2NoZW1hID0geyB0eXBlOiB3aXRoTnVsbGFibGVKU09OU2NoZW1hVHlwZSgnbnVtYmVyJywgaXNSZXF1aXJlZCkgfVxuICAgICAgICAgICAgfVxuICAgICAgICAgICAgYnJlYWtcbiAgICAgICAgICB9XG5cbiAgICAgICAgICBjYXNlICdjaGVja2JveCc6IHtcbiAgICAgICAgICAgIGZpZWxkU2NoZW1hID0geyB0eXBlOiB3aXRoTnVsbGFibGVKU09OU2NoZW1hVHlwZSgnYm9vbGVhbicsIGlzUmVxdWlyZWQpIH1cbiAgICAgICAgICAgIGJyZWFrXG4gICAgICAgICAgfVxuXG4gICAgICAgICAgY2FzZSAnanNvbic6IHtcbiAgICAgICAgICAgIGZpZWxkU2NoZW1hID0ge1xuICAgICAgICAgICAgICB0eXBlOiBbJ29iamVjdCcsICdhcnJheScsICdzdHJpbmcnLCAnbnVtYmVyJywgJ2Jvb2xlYW4nLCAnbnVsbCddLFxuICAgICAgICAgICAgfVxuICAgICAgICAgICAgYnJlYWtcbiAgICAgICAgICB9XG5cbiAgICAgICAgICBjYXNlICdyaWNoVGV4dCc6IHtcbiAgICAgICAgICAgIGlmIChmaWVsZC5lZGl0b3Iub3V0cHV0U2NoZW1hKSB7XG4gICAgICAgICAgICAgIGZpZWxkU2NoZW1hID0gZmllbGQuZWRpdG9yLm91dHB1dFNjaGVtYSh7XG4gICAgICAgICAgICAgICAgZmllbGQsXG4gICAgICAgICAgICAgICAgaW50ZXJmYWNlTmFtZURlZmluaXRpb25zLFxuICAgICAgICAgICAgICAgIGlzUmVxdWlyZWQsXG4gICAgICAgICAgICAgIH0pXG4gICAgICAgICAgICB9IGVsc2Uge1xuICAgICAgICAgICAgICAvLyBNYWludGFpbiBiYWNrd2FyZHMgY29tcGF0aWJpbGl0eSB3aXRoIGV4aXN0aW5nIHJpY2ggdGV4dCBlZGl0b3JzXG4gICAgICAgICAgICAgIGZpZWxkU2NoZW1hID0ge1xuICAgICAgICAgICAgICAgIHR5cGU6IHdpdGhOdWxsYWJsZUpTT05TY2hlbWFUeXBlKCdhcnJheScsIGlzUmVxdWlyZWQpLFxuICAgICAgICAgICAgICAgIGl0ZW1zOiB7XG4gICAgICAgICAgICAgICAgICB0eXBlOiAnb2JqZWN0JyxcbiAgICAgICAgICAgICAgICB9LFxuICAgICAgICAgICAgICB9XG4gICAgICAgICAgICB9XG5cbiAgICAgICAgICAgIGJyZWFrXG4gICAgICAgICAgfVxuXG4gICAgICAgICAgY2FzZSAncmFkaW8nOiB7XG4gICAgICAgICAgICBmaWVsZFNjaGVtYSA9IHtcbiAgICAgICAgICAgICAgdHlwZTogd2l0aE51bGxhYmxlSlNPTlNjaGVtYVR5cGUoJ3N0cmluZycsIGlzUmVxdWlyZWQpLFxuICAgICAgICAgICAgICBlbnVtOiBidWlsZE9wdGlvbkVudW1zKGZpZWxkLm9wdGlvbnMpLFxuICAgICAgICAgICAgfVxuXG4gICAgICAgICAgICBicmVha1xuICAgICAgICAgIH1cblxuICAgICAgICAgIGNhc2UgJ3NlbGVjdCc6IHtcbiAgICAgICAgICAgIGNvbnN0IG9wdGlvbkVudW1zID0gYnVpbGRPcHRpb25FbnVtcyhmaWVsZC5vcHRpb25zKVxuXG4gICAgICAgICAgICBpZiAoZmllbGQuaGFzTWFueSkge1xuICAgICAgICAgICAgICBmaWVsZFNjaGVtYSA9IHtcbiAgICAgICAgICAgICAgICB0eXBlOiB3aXRoTnVsbGFibGVKU09OU2NoZW1hVHlwZSgnYXJyYXknLCBpc1JlcXVpcmVkKSxcbiAgICAgICAgICAgICAgICBpdGVtczoge1xuICAgICAgICAgICAgICAgICAgdHlwZTogJ3N0cmluZycsXG4gICAgICAgICAgICAgICAgICBlbnVtOiBvcHRpb25FbnVtcyxcbiAgICAgICAgICAgICAgICB9LFxuICAgICAgICAgICAgICB9XG4gICAgICAgICAgICB9IGVsc2Uge1xuICAgICAgICAgICAgICBmaWVsZFNjaGVtYSA9IHtcbiAgICAgICAgICAgICAgICB0eXBlOiB3aXRoTnVsbGFibGVKU09OU2NoZW1hVHlwZSgnc3RyaW5nJywgaXNSZXF1aXJlZCksXG4gICAgICAgICAgICAgICAgZW51bTogb3B0aW9uRW51bXMsXG4gICAgICAgICAgICAgIH1cbiAgICAgICAgICAgIH1cblxuICAgICAgICAgICAgYnJlYWtcbiAgICAgICAgICB9XG5cbiAgICAgICAgICBjYXNlICdwb2ludCc6IHtcbiAgICAgICAgICAgIGZpZWxkU2NoZW1hID0ge1xuICAgICAgICAgICAgICB0eXBlOiB3aXRoTnVsbGFibGVKU09OU2NoZW1hVHlwZSgnYXJyYXknLCBpc1JlcXVpcmVkKSxcbiAgICAgICAgICAgICAgaXRlbXM6IFtcbiAgICAgICAgICAgICAgICB7XG4gICAgICAgICAgICAgICAgICB0eXBlOiAnbnVtYmVyJyxcbiAgICAgICAgICAgICAgICB9LFxuICAgICAgICAgICAgICAgIHtcbiAgICAgICAgICAgICAgICAgIHR5cGU6ICdudW1iZXInLFxuICAgICAgICAgICAgICAgIH0sXG4gICAgICAgICAgICAgIF0sXG4gICAgICAgICAgICAgIG1heEl0ZW1zOiAyLFxuICAgICAgICAgICAgICBtaW5JdGVtczogMixcbiAgICAgICAgICAgIH1cbiAgICAgICAgICAgIGJyZWFrXG4gICAgICAgICAgfVxuXG4gICAgICAgICAgY2FzZSAncmVsYXRpb25zaGlwJzoge1xuICAgICAgICAgICAgaWYgKEFycmF5LmlzQXJyYXkoZmllbGQucmVsYXRpb25UbykpIHtcbiAgICAgICAgICAgICAgaWYgKGZpZWxkLmhhc01hbnkpIHtcbiAgICAgICAgICAgICAgICBmaWVsZFNjaGVtYSA9IHtcbiAgICAgICAgICAgICAgICAgIHR5cGU6IHdpdGhOdWxsYWJsZUpTT05TY2hlbWFUeXBlKCdhcnJheScsIGlzUmVxdWlyZWQpLFxuICAgICAgICAgICAgICAgICAgaXRlbXM6IHtcbiAgICAgICAgICAgICAgICAgICAgb25lT2Y6IGZpZWxkLnJlbGF0aW9uVG8ubWFwKChyZWxhdGlvbikgPT4ge1xuICAgICAgICAgICAgICAgICAgICAgIHJldHVybiB7XG4gICAgICAgICAgICAgICAgICAgICAgICB0eXBlOiAnb2JqZWN0JyxcbiAgICAgICAgICAgICAgICAgICAgICAgIGFkZGl0aW9uYWxQcm9wZXJ0aWVzOiBmYWxzZSxcbiAgICAgICAgICAgICAgICAgICAgICAgIHByb3BlcnRpZXM6IHtcbiAgICAgICAgICAgICAgICAgICAgICAgICAgcmVsYXRpb25Ubzoge1xuICAgICAgICAgICAgICAgICAgICAgICAgICAgIGNvbnN0OiByZWxhdGlvbixcbiAgICAgICAgICAgICAgICAgICAgICAgICAgfSxcbiAgICAgICAgICAgICAgICAgICAgICAgICAgdmFsdWU6IHtcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICBvbmVPZjogW1xuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAge1xuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB0eXBlOiBjb2xsZWN0aW9uSURGaWVsZFR5cGVzW3JlbGF0aW9uXSxcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIH0sXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICB7XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICRyZWY6IGAjL2RlZmluaXRpb25zLyR7cmVsYXRpb259YCxcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIH0sXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgXSxcbiAgICAgICAgICAgICAgICAgICAgICAgICAgfSxcbiAgICAgICAgICAgICAgICAgICAgICAgIH0sXG4gICAgICAgICAgICAgICAgICAgICAgICByZXF1aXJlZDogWyd2YWx1ZScsICdyZWxhdGlvblRvJ10sXG4gICAgICAgICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgICAgICAgICB9KSxcbiAgICAgICAgICAgICAgICAgIH0sXG4gICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgICB9IGVsc2Uge1xuICAgICAgICAgICAgICAgIGZpZWxkU2NoZW1hID0ge1xuICAgICAgICAgICAgICAgICAgb25lT2Y6IGZpZWxkLnJlbGF0aW9uVG8ubWFwKChyZWxhdGlvbikgPT4ge1xuICAgICAgICAgICAgICAgICAgICByZXR1cm4ge1xuICAgICAgICAgICAgICAgICAgICAgIHR5cGU6IHdpdGhOdWxsYWJsZUpTT05TY2hlbWFUeXBlKCdvYmplY3QnLCBpc1JlcXVpcmVkKSxcbiAgICAgICAgICAgICAgICAgICAgICBhZGRpdGlvbmFsUHJvcGVydGllczogZmFsc2UsXG4gICAgICAgICAgICAgICAgICAgICAgcHJvcGVydGllczoge1xuICAgICAgICAgICAgICAgICAgICAgICAgcmVsYXRpb25Ubzoge1xuICAgICAgICAgICAgICAgICAgICAgICAgICBjb25zdDogcmVsYXRpb24sXG4gICAgICAgICAgICAgICAgICAgICAgICB9LFxuICAgICAgICAgICAgICAgICAgICAgICAgdmFsdWU6IHtcbiAgICAgICAgICAgICAgICAgICAgICAgICAgb25lT2Y6IFtcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICB7XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICB0eXBlOiBjb2xsZWN0aW9uSURGaWVsZFR5cGVzW3JlbGF0aW9uXSxcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICB9LFxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIHtcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICRyZWY6IGAjL2RlZmluaXRpb25zLyR7cmVsYXRpb259YCxcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICB9LFxuICAgICAgICAgICAgICAgICAgICAgICAgICBdLFxuICAgICAgICAgICAgICAgICAgICAgICAgfSxcbiAgICAgICAgICAgICAgICAgICAgICB9LFxuICAgICAgICAgICAgICAgICAgICAgIHJlcXVpcmVkOiBbJ3ZhbHVlJywgJ3JlbGF0aW9uVG8nXSxcbiAgICAgICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgICAgICAgfSksXG4gICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgICB9XG4gICAgICAgICAgICB9IGVsc2UgaWYgKGZpZWxkLmhhc01hbnkpIHtcbiAgICAgICAgICAgICAgZmllbGRTY2hlbWEgPSB7XG4gICAgICAgICAgICAgICAgdHlwZTogd2l0aE51bGxhYmxlSlNPTlNjaGVtYVR5cGUoJ2FycmF5JywgaXNSZXF1aXJlZCksXG4gICAgICAgICAgICAgICAgaXRlbXM6IHtcbiAgICAgICAgICAgICAgICAgIG9uZU9mOiBbXG4gICAgICAgICAgICAgICAgICAgIHtcbiAgICAgICAgICAgICAgICAgICAgICB0eXBlOiBjb2xsZWN0aW9uSURGaWVsZFR5cGVzW2ZpZWxkLnJlbGF0aW9uVG9dLFxuICAgICAgICAgICAgICAgICAgICB9LFxuICAgICAgICAgICAgICAgICAgICB7XG4gICAgICAgICAgICAgICAgICAgICAgJHJlZjogYCMvZGVmaW5pdGlvbnMvJHtmaWVsZC5yZWxhdGlvblRvfWAsXG4gICAgICAgICAgICAgICAgICAgIH0sXG4gICAgICAgICAgICAgICAgICBdLFxuICAgICAgICAgICAgICAgIH0sXG4gICAgICAgICAgICAgIH1cbiAgICAgICAgICAgIH0gZWxzZSB7XG4gICAgICAgICAgICAgIGZpZWxkU2NoZW1hID0ge1xuICAgICAgICAgICAgICAgIG9uZU9mOiBbXG4gICAgICAgICAgICAgICAgICB7XG4gICAgICAgICAgICAgICAgICAgIHR5cGU6IHdpdGhOdWxsYWJsZUpTT05TY2hlbWFUeXBlKFxuICAgICAgICAgICAgICAgICAgICAgIGNvbGxlY3Rpb25JREZpZWxkVHlwZXNbZmllbGQucmVsYXRpb25Ub10sXG4gICAgICAgICAgICAgICAgICAgICAgaXNSZXF1aXJlZCxcbiAgICAgICAgICAgICAgICAgICAgKSxcbiAgICAgICAgICAgICAgICAgIH0sXG4gICAgICAgICAgICAgICAgICB7XG4gICAgICAgICAgICAgICAgICAgICRyZWY6IGAjL2RlZmluaXRpb25zLyR7ZmllbGQucmVsYXRpb25Ub31gLFxuICAgICAgICAgICAgICAgICAgfSxcbiAgICAgICAgICAgICAgICBdLFxuICAgICAgICAgICAgICB9XG4gICAgICAgICAgICB9XG5cbiAgICAgICAgICAgIGJyZWFrXG4gICAgICAgICAgfVxuXG4gICAgICAgICAgY2FzZSAndXBsb2FkJzoge1xuICAgICAgICAgICAgZmllbGRTY2hlbWEgPSB7XG4gICAgICAgICAgICAgIG9uZU9mOiBbXG4gICAgICAgICAgICAgICAge1xuICAgICAgICAgICAgICAgICAgdHlwZTogY29sbGVjdGlvbklERmllbGRUeXBlc1tmaWVsZC5yZWxhdGlvblRvXSxcbiAgICAgICAgICAgICAgICB9LFxuICAgICAgICAgICAgICAgIHtcbiAgICAgICAgICAgICAgICAgICRyZWY6IGAjL2RlZmluaXRpb25zLyR7ZmllbGQucmVsYXRpb25Ub31gLFxuICAgICAgICAgICAgICAgIH0sXG4gICAgICAgICAgICAgIF0sXG4gICAgICAgICAgICB9XG4gICAgICAgICAgICBpZiAoIWlzUmVxdWlyZWQpIGZpZWxkU2NoZW1hLm9uZU9mLnB1c2goeyB0eXBlOiAnbnVsbCcgfSlcbiAgICAgICAgICAgIGJyZWFrXG4gICAgICAgICAgfVxuXG4gICAgICAgICAgY2FzZSAnYmxvY2tzJzoge1xuICAgICAgICAgICAgZmllbGRTY2hlbWEgPSB7XG4gICAgICAgICAgICAgIHR5cGU6IHdpdGhOdWxsYWJsZUpTT05TY2hlbWFUeXBlKCdhcnJheScsIGlzUmVxdWlyZWQpLFxuICAgICAgICAgICAgICBpdGVtczoge1xuICAgICAgICAgICAgICAgIG9uZU9mOiBmaWVsZC5ibG9ja3MubWFwKChibG9jaykgPT4ge1xuICAgICAgICAgICAgICAgICAgY29uc3QgYmxvY2tGaWVsZFNjaGVtYXMgPSBmaWVsZHNUb0pTT05TY2hlbWEoXG4gICAgICAgICAgICAgICAgICAgIGNvbGxlY3Rpb25JREZpZWxkVHlwZXMsXG4gICAgICAgICAgICAgICAgICAgIGJsb2NrLmZpZWxkcyxcbiAgICAgICAgICAgICAgICAgICAgaW50ZXJmYWNlTmFtZURlZmluaXRpb25zLFxuICAgICAgICAgICAgICAgICAgKVxuXG4gICAgICAgICAgICAgICAgICBjb25zdCBibG9ja1NjaGVtYTogSlNPTlNjaGVtYTQgPSB7XG4gICAgICAgICAgICAgICAgICAgIHR5cGU6ICdvYmplY3QnLFxuICAgICAgICAgICAgICAgICAgICBhZGRpdGlvbmFsUHJvcGVydGllczogZmFsc2UsXG4gICAgICAgICAgICAgICAgICAgIHByb3BlcnRpZXM6IHtcbiAgICAgICAgICAgICAgICAgICAgICAuLi5ibG9ja0ZpZWxkU2NoZW1hcy5wcm9wZXJ0aWVzLFxuICAgICAgICAgICAgICAgICAgICAgIGJsb2NrVHlwZToge1xuICAgICAgICAgICAgICAgICAgICAgICAgY29uc3Q6IGJsb2NrLnNsdWcsXG4gICAgICAgICAgICAgICAgICAgICAgfSxcbiAgICAgICAgICAgICAgICAgICAgfSxcbiAgICAgICAgICAgICAgICAgICAgcmVxdWlyZWQ6IFsnYmxvY2tUeXBlJywgLi4uYmxvY2tGaWVsZFNjaGVtYXMucmVxdWlyZWRdLFxuICAgICAgICAgICAgICAgICAgfVxuXG4gICAgICAgICAgICAgICAgICBpZiAoYmxvY2suaW50ZXJmYWNlTmFtZSkge1xuICAgICAgICAgICAgICAgICAgICBpbnRlcmZhY2VOYW1lRGVmaW5pdGlvbnMuc2V0KGJsb2NrLmludGVyZmFjZU5hbWUsIGJsb2NrU2NoZW1hKVxuXG4gICAgICAgICAgICAgICAgICAgIHJldHVybiB7XG4gICAgICAgICAgICAgICAgICAgICAgJHJlZjogYCMvZGVmaW5pdGlvbnMvJHtibG9jay5pbnRlcmZhY2VOYW1lfWAsXG4gICAgICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgICAgICAgIH1cblxuICAgICAgICAgICAgICAgICAgcmV0dXJuIGJsb2NrU2NoZW1hXG4gICAgICAgICAgICAgICAgfSksXG4gICAgICAgICAgICAgIH0sXG4gICAgICAgICAgICB9XG4gICAgICAgICAgICBicmVha1xuICAgICAgICAgIH1cblxuICAgICAgICAgIGNhc2UgJ2FycmF5Jzoge1xuICAgICAgICAgICAgZmllbGRTY2hlbWEgPSB7XG4gICAgICAgICAgICAgIHR5cGU6IHdpdGhOdWxsYWJsZUpTT05TY2hlbWFUeXBlKCdhcnJheScsIGlzUmVxdWlyZWQpLFxuICAgICAgICAgICAgICBpdGVtczoge1xuICAgICAgICAgICAgICAgIHR5cGU6ICdvYmplY3QnLFxuICAgICAgICAgICAgICAgIGFkZGl0aW9uYWxQcm9wZXJ0aWVzOiBmYWxzZSxcbiAgICAgICAgICAgICAgICAuLi5maWVsZHNUb0pTT05TY2hlbWEoXG4gICAgICAgICAgICAgICAgICBjb2xsZWN0aW9uSURGaWVsZFR5cGVzLFxuICAgICAgICAgICAgICAgICAgZmllbGQuZmllbGRzLFxuICAgICAgICAgICAgICAgICAgaW50ZXJmYWNlTmFtZURlZmluaXRpb25zLFxuICAgICAgICAgICAgICAgICksXG4gICAgICAgICAgICAgIH0sXG4gICAgICAgICAgICB9XG5cbiAgICAgICAgICAgIGlmIChmaWVsZC5pbnRlcmZhY2VOYW1lKSB7XG4gICAgICAgICAgICAgIGludGVyZmFjZU5hbWVEZWZpbml0aW9ucy5zZXQoZmllbGQuaW50ZXJmYWNlTmFtZSwgZmllbGRTY2hlbWEpXG5cbiAgICAgICAgICAgICAgZmllbGRTY2hlbWEgPSB7XG4gICAgICAgICAgICAgICAgJHJlZjogYCMvZGVmaW5pdGlvbnMvJHtmaWVsZC5pbnRlcmZhY2VOYW1lfWAsXG4gICAgICAgICAgICAgIH1cbiAgICAgICAgICAgIH1cbiAgICAgICAgICAgIGJyZWFrXG4gICAgICAgICAgfVxuXG4gICAgICAgICAgY2FzZSAncm93JzpcbiAgICAgICAgICBjYXNlICdjb2xsYXBzaWJsZSc6IHtcbiAgICAgICAgICAgIGNvbnN0IGNoaWxkU2NoZW1hID0gZmllbGRzVG9KU09OU2NoZW1hKFxuICAgICAgICAgICAgICBjb2xsZWN0aW9uSURGaWVsZFR5cGVzLFxuICAgICAgICAgICAgICBmaWVsZC5maWVsZHMsXG4gICAgICAgICAgICAgIGludGVyZmFjZU5hbWVEZWZpbml0aW9ucyxcbiAgICAgICAgICAgIClcbiAgICAgICAgICAgIE9iamVjdC5lbnRyaWVzKGNoaWxkU2NoZW1hLnByb3BlcnRpZXMpLmZvckVhY2goKFtwcm9wTmFtZSwgcHJvcFNjaGVtYV0pID0+IHtcbiAgICAgICAgICAgICAgZmllbGRTY2hlbWFzLnNldChwcm9wTmFtZSwgcHJvcFNjaGVtYSlcbiAgICAgICAgICAgIH0pXG4gICAgICAgICAgICBjaGlsZFNjaGVtYS5yZXF1aXJlZC5mb3JFYWNoKChwcm9wTmFtZSkgPT4ge1xuICAgICAgICAgICAgICByZXF1aXJlZEZpZWxkTmFtZXMuYWRkKHByb3BOYW1lKVxuICAgICAgICAgICAgfSlcbiAgICAgICAgICAgIGJyZWFrXG4gICAgICAgICAgfVxuXG4gICAgICAgICAgY2FzZSAndGFicyc6IHtcbiAgICAgICAgICAgIGZpZWxkLnRhYnMuZm9yRWFjaCgodGFiKSA9PiB7XG4gICAgICAgICAgICAgIGNvbnN0IGNoaWxkU2NoZW1hID0gZmllbGRzVG9KU09OU2NoZW1hKFxuICAgICAgICAgICAgICAgIGNvbGxlY3Rpb25JREZpZWxkVHlwZXMsXG4gICAgICAgICAgICAgICAgdGFiLmZpZWxkcyxcbiAgICAgICAgICAgICAgICBpbnRlcmZhY2VOYW1lRGVmaW5pdGlvbnMsXG4gICAgICAgICAgICAgIClcbiAgICAgICAgICAgICAgaWYgKHRhYkhhc05hbWUodGFiKSkge1xuICAgICAgICAgICAgICAgIC8vIGNvdWxkIGhhdmUgaW50ZXJmYWNlXG4gICAgICAgICAgICAgICAgZmllbGRTY2hlbWFzLnNldCh0YWIubmFtZSwge1xuICAgICAgICAgICAgICAgICAgdHlwZTogJ29iamVjdCcsXG4gICAgICAgICAgICAgICAgICBhZGRpdGlvbmFsUHJvcGVydGllczogZmFsc2UsXG4gICAgICAgICAgICAgICAgICAuLi5jaGlsZFNjaGVtYSxcbiAgICAgICAgICAgICAgICB9KVxuICAgICAgICAgICAgICAgIHJlcXVpcmVkRmllbGROYW1lcy5hZGQodGFiLm5hbWUpXG4gICAgICAgICAgICAgIH0gZWxzZSB7XG4gICAgICAgICAgICAgICAgT2JqZWN0LmVudHJpZXMoY2hpbGRTY2hlbWEucHJvcGVydGllcykuZm9yRWFjaCgoW3Byb3BOYW1lLCBwcm9wU2NoZW1hXSkgPT4ge1xuICAgICAgICAgICAgICAgICAgZmllbGRTY2hlbWFzLnNldChwcm9wTmFtZSwgcHJvcFNjaGVtYSlcbiAgICAgICAgICAgICAgICB9KVxuICAgICAgICAgICAgICAgIGNoaWxkU2NoZW1hLnJlcXVpcmVkLmZvckVhY2goKHByb3BOYW1lKSA9PiB7XG4gICAgICAgICAgICAgICAgICByZXF1aXJlZEZpZWxkTmFtZXMuYWRkKHByb3BOYW1lKVxuICAgICAgICAgICAgICAgIH0pXG4gICAgICAgICAgICAgIH1cbiAgICAgICAgICAgIH0pXG4gICAgICAgICAgICBicmVha1xuICAgICAgICAgIH1cblxuICAgICAgICAgIGNhc2UgJ2dyb3VwJzoge1xuICAgICAgICAgICAgZmllbGRTY2hlbWEgPSB7XG4gICAgICAgICAgICAgIHR5cGU6ICdvYmplY3QnLFxuICAgICAgICAgICAgICBhZGRpdGlvbmFsUHJvcGVydGllczogZmFsc2UsXG4gICAgICAgICAgICAgIC4uLmZpZWxkc1RvSlNPTlNjaGVtYShjb2xsZWN0aW9uSURGaWVsZFR5cGVzLCBmaWVsZC5maWVsZHMsIGludGVyZmFjZU5hbWVEZWZpbml0aW9ucyksXG4gICAgICAgICAgICB9XG5cbiAgICAgICAgICAgIGlmIChmaWVsZC5pbnRlcmZhY2VOYW1lKSB7XG4gICAgICAgICAgICAgIGludGVyZmFjZU5hbWVEZWZpbml0aW9ucy5zZXQoZmllbGQuaW50ZXJmYWNlTmFtZSwgZmllbGRTY2hlbWEpXG5cbiAgICAgICAgICAgICAgZmllbGRTY2hlbWEgPSB7XG4gICAgICAgICAgICAgICAgJHJlZjogYCMvZGVmaW5pdGlvbnMvJHtmaWVsZC5pbnRlcmZhY2VOYW1lfWAsXG4gICAgICAgICAgICAgIH1cbiAgICAgICAgICAgIH1cbiAgICAgICAgICAgIGJyZWFrXG4gICAgICAgICAgfVxuXG4gICAgICAgICAgZGVmYXVsdDoge1xuICAgICAgICAgICAgYnJlYWtcbiAgICAgICAgICB9XG4gICAgICAgIH1cblxuICAgICAgICBpZiAoZmllbGRTY2hlbWEgJiYgZmllbGRBZmZlY3RzRGF0YShmaWVsZCkpIHtcbiAgICAgICAgICBmaWVsZFNjaGVtYXMuc2V0KGZpZWxkLm5hbWUsIGZpZWxkU2NoZW1hKVxuICAgICAgICB9XG5cbiAgICAgICAgcmV0dXJuIGZpZWxkU2NoZW1hc1xuICAgICAgfSwgbmV3IE1hcDxzdHJpbmcsIEpTT05TY2hlbWE0PigpKSxcbiAgICApLFxuICAgIHJlcXVpcmVkOiBBcnJheS5mcm9tKHJlcXVpcmVkRmllbGROYW1lcyksXG4gIH1cbn1cblxuLy8gVGhpcyBmdW5jdGlvbiBpcyBwYXJ0IG9mIHRoZSBwdWJsaWMgQVBJIGFuZCBpcyBleHBvcnRlZCB0aHJvdWdoIHBheWxvYWQvdXRpbGl0aWVzXG5leHBvcnQgZnVuY3Rpb24gZW50aXR5VG9KU09OU2NoZW1hKFxuICBjb25maWc6IFNhbml0aXplZENvbmZpZyxcbiAgaW5jb21pbmdFbnRpdHk6IFNhbml0aXplZENvbGxlY3Rpb25Db25maWcgfCBTYW5pdGl6ZWRHbG9iYWxDb25maWcsXG4gIGludGVyZmFjZU5hbWVEZWZpbml0aW9uczogTWFwPHN0cmluZywgSlNPTlNjaGVtYTQ+LFxuICBkZWZhdWx0SURUeXBlOiAnbnVtYmVyJyB8ICd0ZXh0Jyxcbik6IEpTT05TY2hlbWE0IHtcbiAgY29uc3QgZW50aXR5OiBTYW5pdGl6ZWRDb2xsZWN0aW9uQ29uZmlnIHwgU2FuaXRpemVkR2xvYmFsQ29uZmlnID0gZGVlcENvcHlPYmplY3QoaW5jb21pbmdFbnRpdHkpXG4gIGNvbnN0IHRpdGxlID0gZW50aXR5LnR5cGVzY3JpcHQ/LmludGVyZmFjZVxuICAgID8gZW50aXR5LnR5cGVzY3JpcHQuaW50ZXJmYWNlXG4gICAgOiBzaW5ndWxhcih0b1dvcmRzKGVudGl0eS5zbHVnLCB0cnVlKSlcblxuICBjb25zdCBpZEZpZWxkOiBGaWVsZEFmZmVjdGluZ0RhdGEgPSB7IG5hbWU6ICdpZCcsIHR5cGU6IGRlZmF1bHRJRFR5cGUgYXMgJ3RleHQnLCByZXF1aXJlZDogdHJ1ZSB9XG4gIGNvbnN0IGN1c3RvbUlkRmllbGQgPSBlbnRpdHkuZmllbGRzLmZpbmQoXG4gICAgKGZpZWxkKSA9PiBmaWVsZEFmZmVjdHNEYXRhKGZpZWxkKSAmJiBmaWVsZC5uYW1lID09PSAnaWQnLFxuICApIGFzIEZpZWxkQWZmZWN0aW5nRGF0YVxuXG4gIGlmIChjdXN0b21JZEZpZWxkICYmIGN1c3RvbUlkRmllbGQudHlwZSAhPT0gJ2dyb3VwJyAmJiBjdXN0b21JZEZpZWxkLnR5cGUgIT09ICd0YWInKSB7XG4gICAgY3VzdG9tSWRGaWVsZC5yZXF1aXJlZCA9IHRydWVcbiAgfSBlbHNlIHtcbiAgICBlbnRpdHkuZmllbGRzLnVuc2hpZnQoaWRGaWVsZClcbiAgfVxuXG4gIC8vIG1hcmsgdGltZXN0YW1wIGZpZWxkcyByZXF1aXJlZFxuICBpZiAoJ3RpbWVzdGFtcHMnIGluIGVudGl0eSAmJiBlbnRpdHkudGltZXN0YW1wcyAhPT0gZmFsc2UpIHtcbiAgICBlbnRpdHkuZmllbGRzID0gZW50aXR5LmZpZWxkcy5tYXAoKGZpZWxkKSA9PiB7XG4gICAgICBpZiAoZmllbGRBZmZlY3RzRGF0YShmaWVsZCkgJiYgKGZpZWxkLm5hbWUgPT09ICdjcmVhdGVkQXQnIHx8IGZpZWxkLm5hbWUgPT09ICd1cGRhdGVkQXQnKSkge1xuICAgICAgICByZXR1cm4ge1xuICAgICAgICAgIC4uLmZpZWxkLFxuICAgICAgICAgIHJlcXVpcmVkOiB0cnVlLFxuICAgICAgICB9XG4gICAgICB9XG4gICAgICByZXR1cm4gZmllbGRcbiAgICB9KVxuICB9XG5cbiAgaWYgKCdhdXRoJyBpbiBlbnRpdHkgJiYgZW50aXR5LmF1dGggJiYgIWVudGl0eS5hdXRoPy5kaXNhYmxlTG9jYWxTdHJhdGVneSkge1xuICAgIGVudGl0eS5maWVsZHMucHVzaCh7XG4gICAgICBuYW1lOiAncGFzc3dvcmQnLFxuICAgICAgdHlwZTogJ3RleHQnLFxuICAgIH0pXG4gIH1cblxuICAvLyB1c2VkIGZvciByZWxhdGlvbnNoaXAgZmllbGRzLCB0byBkZXRlcm1pbmUgd2hldGhlciB0byB1c2UgYSBzdHJpbmcgb3IgbnVtYmVyIHR5cGUgZm9yIHRoZSBJRFxuICBjb25zdCBjb2xsZWN0aW9uSURGaWVsZFR5cGVzOiB7IFtrZXk6IHN0cmluZ106ICdudW1iZXInIHwgJ3N0cmluZycgfSA9IGNvbmZpZy5jb2xsZWN0aW9ucy5yZWR1Y2UoXG4gICAgKGFjYywgY29sbGVjdGlvbikgPT4ge1xuICAgICAgY29uc3QgY3VzdG9tQ29sbGVjdGlvbklkRmllbGQgPSBjb2xsZWN0aW9uLmZpZWxkcy5maW5kKFxuICAgICAgICAoZmllbGQpID0+ICduYW1lJyBpbiBmaWVsZCAmJiBmaWVsZC5uYW1lID09PSAnaWQnLFxuICAgICAgKVxuXG4gICAgICBhY2NbY29sbGVjdGlvbi5zbHVnXSA9IGRlZmF1bHRJRFR5cGUgPT09ICd0ZXh0JyA/ICdzdHJpbmcnIDogJ251bWJlcidcblxuICAgICAgaWYgKGN1c3RvbUNvbGxlY3Rpb25JZEZpZWxkKSB7XG4gICAgICAgIGFjY1tjb2xsZWN0aW9uLnNsdWddID0gY3VzdG9tQ29sbGVjdGlvbklkRmllbGQudHlwZSA9PT0gJ251bWJlcicgPyAnbnVtYmVyJyA6ICdzdHJpbmcnXG4gICAgICB9XG5cbiAgICAgIHJldHVybiBhY2NcbiAgICB9LFxuICAgIHt9LFxuICApXG5cbiAgcmV0dXJuIHtcbiAgICB0eXBlOiAnb2JqZWN0JyxcbiAgICBhZGRpdGlvbmFsUHJvcGVydGllczogZmFsc2UsXG4gICAgdGl0bGUsXG4gICAgLi4uZmllbGRzVG9KU09OU2NoZW1hKGNvbGxlY3Rpb25JREZpZWxkVHlwZXMsIGVudGl0eS5maWVsZHMsIGludGVyZmFjZU5hbWVEZWZpbml0aW9ucyksXG4gIH1cbn1cblxuLyoqXG4gKiBUaGlzIGlzIHVzZWQgZm9yIGdlbmVyYXRpbmcgdGhlIFR5cGVTY3JpcHQgdHlwZXMgKHBheWxvYWQtdHlwZXMudHMpIHdpdGggdGhlIHBheWxvYWQgZ2VuZXJhdGU6dHlwZXMgY29tbWFuZC5cbiAqL1xuZXhwb3J0IGZ1bmN0aW9uIGNvbmZpZ1RvSlNPTlNjaGVtYShcbiAgY29uZmlnOiBTYW5pdGl6ZWRDb25maWcsXG4gIGRlZmF1bHRJRFR5cGU/OiAnbnVtYmVyJyB8ICd0ZXh0Jyxcbik6IEpTT05TY2hlbWE0IHtcbiAgLy8gYSBtdXRhYmxlIE1hcCB0byBzdG9yZSBjdXN0b20gdG9wLWxldmVsIGBpbnRlcmZhY2VOYW1lYCB0eXBlcy4gRmllbGRzIHdpdGggYW4gYGludGVyZmFjZU5hbWVgIHByb3BlcnR5IHdpbGwgYmUgbW92ZWQgdG8gdGhlIHRvcC1sZXZlbCBkZWZpbml0aW9ucyBoZXJlXG4gIGNvbnN0IGludGVyZmFjZU5hbWVEZWZpbml0aW9uczogTWFwPHN0cmluZywgSlNPTlNjaGVtYTQ+ID0gbmV3IE1hcCgpXG5cbiAgLy8gQ29sbGVjdGlvbnMgYW5kIEdsb2JhbHMgaGF2ZSB0byBiZSBtb3ZlZCB0byB0aGUgdG9wLWxldmVsIGRlZmluaXRpb25zIGFzIHdlbGwuIFJlYXNvbjogVGhlIHRvcC1sZXZlbCB0eXBlIHdpbGwgYmUgdGhlIGBDb25maWdgIHR5cGUgLSB3ZSBkb24ndCB3YW50IGFsbCBjb2xsZWN0aW9uIGFuZCBnbG9iYWxcbiAgLy8gdHlwZXMgdG8gYmUgaW5saW5lZCBpbnNpZGUgdGhlIGBDb25maWdgIHR5cGVcbiAgY29uc3QgZW50aXR5RGVmaW5pdGlvbnM6IHsgW2s6IHN0cmluZ106IEpTT05TY2hlbWE0IH0gPSBbXG4gICAgLi4uY29uZmlnLmdsb2JhbHMsXG4gICAgLi4uY29uZmlnLmNvbGxlY3Rpb25zLFxuICBdLnJlZHVjZSgoYWNjLCBlbnRpdHkpID0+IHtcbiAgICBhY2NbZW50aXR5LnNsdWddID0gZW50aXR5VG9KU09OU2NoZW1hKGNvbmZpZywgZW50aXR5LCBpbnRlcmZhY2VOYW1lRGVmaW5pdGlvbnMsIGRlZmF1bHRJRFR5cGUpXG4gICAgcmV0dXJuIGFjY1xuICB9LCB7fSlcblxuICByZXR1cm4ge1xuICAgIGFkZGl0aW9uYWxQcm9wZXJ0aWVzOiBmYWxzZSxcbiAgICBkZWZpbml0aW9uczogeyAuLi5lbnRpdHlEZWZpbml0aW9ucywgLi4uT2JqZWN0LmZyb21FbnRyaWVzKGludGVyZmFjZU5hbWVEZWZpbml0aW9ucykgfSxcbiAgICAvLyBUaGVzZSBwcm9wZXJ0aWVzIGhlcmUgd2lsbCBiZSB2ZXJ5IHNpbXBsZSwgYXMgYWxsIHRoZSBjb21wbGV4aXR5IGlzIGluIHRoZSBkZWZpbml0aW9ucy4gVGhlc2UgYXJlIGp1c3QgdGhlIHByb3BlcnRpZXMgZm9yIHRoZSB0b3AtbGV2ZWwgYENvbmZpZ2AgdHlwZVxuICAgIHR5cGU6ICdvYmplY3QnLFxuICAgIHByb3BlcnRpZXM6IHtcbiAgICAgIGNvbGxlY3Rpb25zOiBnZW5lcmF0ZUVudGl0eVNjaGVtYXMoY29uZmlnLmNvbGxlY3Rpb25zIHx8IFtdKSxcbiAgICAgIGdsb2JhbHM6IGdlbmVyYXRlRW50aXR5U2NoZW1hcyhjb25maWcuZ2xvYmFscyB8fCBbXSksXG4gICAgfSxcbiAgICByZXF1aXJlZDogWydjb2xsZWN0aW9ucycsICdnbG9iYWxzJ10sXG4gICAgdGl0bGU6ICdDb25maWcnLFxuICB9XG59XG4iXSwibmFtZXMiOlsicGx1cmFsaXplIiwic2luZ3VsYXIiLCJmaWVsZEFmZmVjdHNEYXRhIiwidGFiSGFzTmFtZSIsImRlZXBDb3B5T2JqZWN0IiwidG9Xb3JkcyIsImZpZWxkSXNSZXF1aXJlZCIsImZpZWxkIiwiaXNDb25kaXRpb25hbCIsIkJvb2xlYW4iLCJhZG1pbiIsImNvbmRpdGlvbiIsImlzTWFya2VkUmVxdWlyZWQiLCJyZXF1aXJlZCIsInR5cGUiLCJmaWVsZHMiLCJzb21lIiwic3ViRmllbGQiLCJ0YWJzIiwidGFiIiwiYnVpbGRPcHRpb25FbnVtcyIsIm9wdGlvbnMiLCJtYXAiLCJvcHRpb24iLCJ2YWx1ZSIsImdlbmVyYXRlRW50aXR5U2NoZW1hcyIsImVudGl0aWVzIiwicHJvcGVydGllcyIsInJlZHVjZSIsImFjYyIsInNsdWciLCIkcmVmIiwiYWRkaXRpb25hbFByb3BlcnRpZXMiLCJPYmplY3QiLCJrZXlzIiwid2l0aE51bGxhYmxlSlNPTlNjaGVtYVR5cGUiLCJmaWVsZFR5cGUiLCJpc1JlcXVpcmVkIiwiZmllbGRUeXBlcyIsInB1c2giLCJmaWVsZHNUb0pTT05TY2hlbWEiLCJjb2xsZWN0aW9uSURGaWVsZFR5cGVzIiwiaW50ZXJmYWNlTmFtZURlZmluaXRpb25zIiwicmVxdWlyZWRGaWVsZE5hbWVzIiwiU2V0IiwiZnJvbUVudHJpZXMiLCJmaWVsZFNjaGVtYXMiLCJhZGQiLCJuYW1lIiwiZmllbGRTY2hlbWEiLCJoYXNNYW55IiwiaXRlbXMiLCJlZGl0b3IiLCJvdXRwdXRTY2hlbWEiLCJlbnVtIiwib3B0aW9uRW51bXMiLCJtYXhJdGVtcyIsIm1pbkl0ZW1zIiwiQXJyYXkiLCJpc0FycmF5IiwicmVsYXRpb25UbyIsIm9uZU9mIiwicmVsYXRpb24iLCJjb25zdCIsImJsb2NrcyIsImJsb2NrIiwiYmxvY2tGaWVsZFNjaGVtYXMiLCJibG9ja1NjaGVtYSIsImJsb2NrVHlwZSIsImludGVyZmFjZU5hbWUiLCJzZXQiLCJjaGlsZFNjaGVtYSIsImVudHJpZXMiLCJmb3JFYWNoIiwicHJvcE5hbWUiLCJwcm9wU2NoZW1hIiwiTWFwIiwiZnJvbSIsImVudGl0eVRvSlNPTlNjaGVtYSIsImNvbmZpZyIsImluY29taW5nRW50aXR5IiwiZGVmYXVsdElEVHlwZSIsImVudGl0eSIsInRpdGxlIiwidHlwZXNjcmlwdCIsImludGVyZmFjZSIsImlkRmllbGQiLCJjdXN0b21JZEZpZWxkIiwiZmluZCIsInVuc2hpZnQiLCJ0aW1lc3RhbXBzIiwiYXV0aCIsImRpc2FibGVMb2NhbFN0cmF0ZWd5IiwiY29sbGVjdGlvbnMiLCJjb2xsZWN0aW9uIiwiY3VzdG9tQ29sbGVjdGlvbklkRmllbGQiLCJjb25maWdUb0pTT05TY2hlbWEiLCJlbnRpdHlEZWZpbml0aW9ucyIsImdsb2JhbHMiLCJkZWZpbml0aW9ucyJdLCJtYXBwaW5ncyI6IkFBRUEsT0FBT0EsZUFBZSxZQUFXO0FBQ2pDLE1BQU0sRUFBRUMsUUFBUSxFQUFFLEdBQUdEO0FBT3JCLFNBQVNFLGdCQUFnQixFQUFFQyxVQUFVLFFBQVEsNEJBQTJCO0FBQ3hFLFNBQVNDLGNBQWMsUUFBUSxzQkFBcUI7QUFDcEQsU0FBU0MsT0FBTyxRQUFRLG9CQUFtQjtBQUUzQyxNQUFNQyxrQkFBa0IsQ0FBQ0M7SUFDdkIsTUFBTUMsZ0JBQWdCQyxRQUFRRixPQUFPRyxTQUFTSCxPQUFPRyxPQUFPQztJQUM1RCxJQUFJSCxlQUFlLE9BQU87SUFFMUIsTUFBTUksbUJBQW1CLGNBQWNMLFNBQVNBLE1BQU1NLFFBQVEsS0FBSztJ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
502
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIi4uLy4uL3NyYy91dGlsaXRpZXMvY29uZmlnVG9KU09OU2NoZW1hLnRzIl0sInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB0eXBlIHsgSlNPTlNjaGVtYTQsIEpTT05TY2hlbWE0VHlwZU5hbWUgfSBmcm9tICdqc29uLXNjaGVtYSdcblxuaW1wb3J0IHBsdXJhbGl6ZSBmcm9tICdwbHVyYWxpemUnXG5jb25zdCB7IHNpbmd1bGFyIH0gPSBwbHVyYWxpemVcblxuaW1wb3J0IHR5cGUgeyBTYW5pdGl6ZWRDb2xsZWN0aW9uQ29uZmlnIH0gZnJvbSAnLi4vY29sbGVjdGlvbnMvY29uZmlnL3R5cGVzLmpzJ1xuaW1wb3J0IHR5cGUgeyBTYW5pdGl6ZWRDb25maWcgfSBmcm9tICcuLi9jb25maWcvdHlwZXMuanMnXG5pbXBvcnQgdHlwZSB7IEZpZWxkLCBGaWVsZEFmZmVjdGluZ0RhdGEsIE9wdGlvbiB9IGZyb20gJy4uL2ZpZWxkcy9jb25maWcvdHlwZXMuanMnXG5pbXBvcnQgdHlwZSB7IFNhbml0aXplZEdsb2JhbENvbmZpZyB9IGZyb20gJy4uL2dsb2JhbHMvY29uZmlnL3R5cGVzLmpzJ1xuXG5pbXBvcnQgeyBmaWVsZEFmZmVjdHNEYXRhLCB0YWJIYXNOYW1lIH0gZnJvbSAnLi4vZmllbGRzL2NvbmZpZy90eXBlcy5qcydcbmltcG9ydCB7IGRlZXBDb3B5T2JqZWN0IH0gZnJvbSAnLi9kZWVwQ29weU9iamVjdC5qcydcbmltcG9ydCB7IHRvV29yZHMgfSBmcm9tICcuL2Zvcm1hdExhYmVscy5qcydcbmltcG9ydCB7IGdldENvbGxlY3Rpb25JREZpZWxkVHlwZXMgfSBmcm9tICcuL2dldENvbGxlY3Rpb25JREZpZWxkVHlwZXMuanMnXG5cbmNvbnN0IGZpZWxkSXNSZXF1aXJlZCA9IChmaWVsZDogRmllbGQpID0+IHtcbiAgY29uc3QgaXNDb25kaXRpb25hbCA9IEJvb2xlYW4oZmllbGQ/LmFkbWluICYmIGZpZWxkPy5hZG1pbj8uY29uZGl0aW9uKVxuICBpZiAoaXNDb25kaXRpb25hbCkgcmV0dXJuIGZhbHNlXG5cbiAgY29uc3QgaXNNYXJrZWRSZXF1aXJlZCA9ICdyZXF1aXJlZCcgaW4gZmllbGQgJiYgZmllbGQucmVxdWlyZWQgPT09IHRydWVcbiAgaWYgKGZpZWxkQWZmZWN0c0RhdGEoZmllbGQpICYmIGlzTWFya2VkUmVxdWlyZWQpIHJldHVybiB0cnVlXG5cbiAgLy8gaWYgYW55IHN1YmZpZWxkcyBhcmUgcmVxdWlyZWQsIHRoaXMgZmllbGQgaXMgcmVxdWlyZWRcbiAgaWYgKCdmaWVsZHMnIGluIGZpZWxkICYmIGZpZWxkLnR5cGUgIT09ICdhcnJheScpIHtcbiAgICByZXR1cm4gZmllbGQuZmllbGRzLnNvbWUoKHN1YkZpZWxkKSA9PiBmaWVsZElzUmVxdWlyZWQoc3ViRmllbGQpKVxuICB9XG5cbiAgLy8gaWYgYW55IHRhYiBzdWJmaWVsZHMgaGF2ZSByZXF1aXJlZCBmaWVsZHMsIHRoaXMgZmllbGQgaXMgcmVxdWlyZWRcbiAgaWYgKGZpZWxkLnR5cGUgPT09ICd0YWJzJykge1xuICAgIHJldHVybiBmaWVsZC50YWJzLnNvbWUoKHRhYikgPT4ge1xuICAgICAgaWYgKCduYW1lJyBpbiB0YWIpIHtcbiAgICAgICAgcmV0dXJuIHRhYi5maWVsZHMuc29tZSgoc3ViRmllbGQpID0+IGZpZWxkSXNSZXF1aXJlZChzdWJGaWVsZCkpXG4gICAgICB9XG4gICAgICByZXR1cm4gZmFsc2VcbiAgICB9KVxuICB9XG5cbiAgcmV0dXJuIGZhbHNlXG59XG5cbmZ1bmN0aW9uIGJ1aWxkT3B0aW9uRW51bXMob3B0aW9uczogT3B0aW9uW10pOiBzdHJpbmdbXSB7XG4gIHJldHVybiBvcHRpb25zLm1hcCgob3B0aW9uKSA9PiB7XG4gICAgaWYgKHR5cGVvZiBvcHRpb24gPT09ICdvYmplY3QnICYmICd2YWx1ZScgaW4gb3B0aW9uKSB7XG4gICAgICByZXR1cm4gb3B0aW9uLnZhbHVlXG4gICAgfVxuXG4gICAgcmV0dXJuIG9wdGlvblxuICB9KVxufVxuXG5mdW5jdGlvbiBnZW5lcmF0ZUVudGl0eVNjaGVtYXMoXG4gIGVudGl0aWVzOiAoU2FuaXRpemVkQ29sbGVjdGlvbkNvbmZpZyB8IFNhbml0aXplZEdsb2JhbENvbmZpZylbXSxcbik6IEpTT05TY2hlbWE0IHtcbiAgY29uc3QgcHJvcGVydGllcyA9IFsuLi5lbnRpdGllc10ucmVkdWNlKChhY2MsIHsgc2x1ZyB9KSA9PiB7XG4gICAgYWNjW3NsdWddID0ge1xuICAgICAgJHJlZjogYCMvZGVmaW5pdGlvbnMvJHtzbHVnfWAsXG4gICAgfVxuXG4gICAgcmV0dXJuIGFjY1xuICB9LCB7fSlcblxuICByZXR1cm4ge1xuICAgIHR5cGU6ICdvYmplY3QnLFxuICAgIGFkZGl0aW9uYWxQcm9wZXJ0aWVzOiBmYWxzZSxcbiAgICBwcm9wZXJ0aWVzLFxuICAgIHJlcXVpcmVkOiBPYmplY3Qua2V5cyhwcm9wZXJ0aWVzKSxcbiAgfVxufVxuXG4vKipcbiAqIFJldHVybnMgYSBKU09OIFNjaGVtYSBUeXBlIHdpdGggJ251bGwnIGFkZGVkIGlmIHRoZSBmaWVsZCBpcyBub3QgcmVxdWlyZWQuXG4gKi9cbmV4cG9ydCBmdW5jdGlvbiB3aXRoTnVsbGFibGVKU09OU2NoZW1hVHlwZShcbiAgZmllbGRUeXBlOiBKU09OU2NoZW1hNFR5cGVOYW1lLFxuICBpc1JlcXVpcmVkOiBib29sZWFuLFxuKTogSlNPTlNjaGVtYTRUeXBlTmFtZSB8IEpTT05TY2hlbWE0VHlwZU5hbWVbXSB7XG4gIGNvbnN0IGZpZWxkVHlwZXMgPSBbZmllbGRUeXBlXVxuICBpZiAoaXNSZXF1aXJlZCkgcmV0dXJuIGZpZWxkVHlwZVxuICBmaWVsZFR5cGVzLnB1c2goJ251bGwnKVxuICByZXR1cm4gZmllbGRUeXBlc1xufVxuXG5leHBvcnQgZnVuY3Rpb24gZmllbGRzVG9KU09OU2NoZW1hKFxuICAvKipcbiAgICogVXNlZCBmb3IgcmVsYXRpb25zaGlwIGZpZWxkcywgdG8gZGV0ZXJtaW5lIHdoZXRoZXIgdG8gdXNlIGEgc3RyaW5nIG9yIG51bWJlciB0eXBlIGZvciB0aGUgSUQuXG4gICAqIFdoaWxlIHRoZXJlIGlzIGEgZGVmYXVsdCBJRCBmaWVsZCB0eXBlIHNldCBieSB0aGUgZGIgYWRhcHRlciwgdGhleSBjYW4gZGlmZmVyIG9uIGEgY29sbGVjdGlvbi1sZXZlbFxuICAgKiBpZiB0aGV5IGhhdmUgY3VzdG9tIElEIGZpZWxkcy5cbiAgICovXG4gIGNvbGxlY3Rpb25JREZpZWxkVHlwZXM6IHsgW2tleTogc3RyaW5nXTogJ251bWJlcicgfCAnc3RyaW5nJyB9LFxuICBmaWVsZHM6IEZpZWxkW10sXG4gIC8qKlxuICAgKiBBbGxvd3MgeW91IHRvIGRlZmluZSBuZXcgdG9wLWxldmVsIGludGVyZmFjZXMgdGhhdCBjYW4gYmUgcmUtdXNlZCBpbiB0aGUgb3V0cHV0IHNjaGVtYS5cbiAgICovXG4gIGludGVyZmFjZU5hbWVEZWZpbml0aW9uczogTWFwPHN0cmluZywgSlNPTlNjaGVtYTQ+LFxuICBjb25maWc/OiBTYW5pdGl6ZWRDb25maWcsXG4pOiB7XG4gIHByb3BlcnRpZXM6IHtcbiAgICBbazogc3RyaW5nXTogSlNPTlNjaGVtYTRcbiAgfVxuICByZXF1aXJlZDogc3RyaW5nW11cbn0ge1xuICBjb25zdCByZXF1aXJlZEZpZWxkTmFtZXMgPSBuZXcgU2V0PHN0cmluZz4oKVxuXG4gIHJldHVybiB7XG4gICAgcHJvcGVydGllczogT2JqZWN0LmZyb21FbnRyaWVzKFxuICAgICAgZmllbGRzLnJlZHVjZSgoZmllbGRTY2hlbWFzLCBmaWVsZCkgPT4ge1xuICAgICAgICBjb25zdCBpc1JlcXVpcmVkID0gZmllbGRBZmZlY3RzRGF0YShmaWVsZCkgJiYgZmllbGRJc1JlcXVpcmVkKGZpZWxkKVxuICAgICAgICBpZiAoaXNSZXF1aXJlZCkgcmVxdWlyZWRGaWVsZE5hbWVzLmFkZChmaWVsZC5uYW1lKVxuXG4gICAgICAgIGxldCBmaWVsZFNjaGVtYTogSlNPTlNjaGVtYTRcbiAgICAgICAgc3dpdGNoIChmaWVsZC50eXBlKSB7XG4gICAgICAgICAgY2FzZSAndGV4dCc6XG4gICAgICAgICAgICBpZiAoZmllbGQuaGFzTWFueSA9PT0gdHJ1ZSkge1xuICAgICAgICAgICAgICBmaWVsZFNjaGVtYSA9IHtcbiAgICAgICAgICAgICAgICB0eXBlOiB3aXRoTnVsbGFibGVKU09OU2NoZW1hVHlwZSgnYXJyYXknLCBpc1JlcXVpcmVkKSxcbiAgICAgICAgICAgICAgICBpdGVtczogeyB0eXBlOiAnc3RyaW5nJyB9LFxuICAgICAgICAgICAgICB9XG4gICAgICAgICAgICB9IGVsc2Uge1xuICAgICAgICAgICAgICBmaWVsZFNjaGVtYSA9IHsgdHlwZTogd2l0aE51bGxhYmxlSlNPTlNjaGVtYVR5cGUoJ3N0cmluZycsIGlzUmVxdWlyZWQpIH1cbiAgICAgICAgICAgIH1cbiAgICAgICAgICAgIGJyZWFrXG4gICAgICAgICAgY2FzZSAndGV4dGFyZWEnOlxuICAgICAgICAgIGNhc2UgJ2NvZGUnOlxuICAgICAgICAgIGNhc2UgJ2VtYWlsJzpcbiAgICAgICAgICBjYXNlICdkYXRlJzoge1xuICAgICAgICAgICAgZmllbGRTY2hlbWEgPSB7IHR5cGU6IHdpdGhOdWxsYWJsZUpTT05TY2hlbWFUeXBlKCdzdHJpbmcnLCBpc1JlcXVpcmVkKSB9XG4gICAgICAgICAgICBicmVha1xuICAgICAgICAgIH1cblxuICAgICAgICAgIGNhc2UgJ251bWJlcic6IHtcbiAgICAgICAgICAgIGlmIChmaWVsZC5oYXNNYW55ID09PSB0cnVlKSB7XG4gICAgICAgICAgICAgIGZpZWxkU2NoZW1hID0ge1xuICAgICAgICAgICAgICAgIHR5cGU6IHdpdGhOdWxsYWJsZUpTT05TY2hlbWFUeXBlKCdhcnJheScsIGlzUmVxdWlyZWQpLFxuICAgICAgICAgICAgICAgIGl0ZW1zOiB7IHR5cGU6ICdudW1iZXInIH0sXG4gICAgICAgICAgICAgIH1cbiAgICAgICAgICAgIH0gZWxzZSB7XG4gICAgICAgICAgICAgIGZpZWxkU2NoZW1hID0geyB0eXBlOiB3aXRoTnVsbGFibGVKU09OU2NoZW1hVHlwZSgnbnVtYmVyJywgaXNSZXF1aXJlZCkgfVxuICAgICAgICAgICAgfVxuICAgICAgICAgICAgYnJlYWtcbiAgICAgICAgICB9XG5cbiAgICAgICAgICBjYXNlICdjaGVja2JveCc6IHtcbiAgICAgICAgICAgIGZpZWxkU2NoZW1hID0geyB0eXBlOiB3aXRoTnVsbGFibGVKU09OU2NoZW1hVHlwZSgnYm9vbGVhbicsIGlzUmVxdWlyZWQpIH1cbiAgICAgICAgICAgIGJyZWFrXG4gICAgICAgICAgfVxuXG4gICAgICAgICAgY2FzZSAnanNvbic6IHtcbiAgICAgICAgICAgIGZpZWxkU2NoZW1hID0ge1xuICAgICAgICAgICAgICB0eXBlOiBbJ29iamVjdCcsICdhcnJheScsICdzdHJpbmcnLCAnbnVtYmVyJywgJ2Jvb2xlYW4nLCAnbnVsbCddLFxuICAgICAgICAgICAgfVxuICAgICAgICAgICAgYnJlYWtcbiAgICAgICAgICB9XG5cbiAgICAgICAgICBjYXNlICdyaWNoVGV4dCc6IHtcbiAgICAgICAgICAgIGlmIChmaWVsZC5lZGl0b3Iub3V0cHV0U2NoZW1hKSB7XG4gICAgICAgICAgICAgIGZpZWxkU2NoZW1hID0gZmllbGQuZWRpdG9yLm91dHB1dFNjaGVtYSh7XG4gICAgICAgICAgICAgICAgY29sbGVjdGlvbklERmllbGRUeXBlcyxcbiAgICAgICAgICAgICAgICBjb25maWcsXG4gICAgICAgICAgICAgICAgZmllbGQsXG4gICAgICAgICAgICAgICAgaW50ZXJmYWNlTmFtZURlZmluaXRpb25zLFxuICAgICAgICAgICAgICAgIGlzUmVxdWlyZWQsXG4gICAgICAgICAgICAgIH0pXG4gICAgICAgICAgICB9IGVsc2Uge1xuICAgICAgICAgICAgICAvLyBNYWludGFpbiBiYWNrd2FyZHMgY29tcGF0aWJpbGl0eSB3aXRoIGV4aXN0aW5nIHJpY2ggdGV4dCBlZGl0b3JzXG4gICAgICAgICAgICAgIGZpZWxkU2NoZW1hID0ge1xuICAgICAgICAgICAgICAgIHR5cGU6IHdpdGhOdWxsYWJsZUpTT05TY2hlbWFUeXBlKCdhcnJheScsIGlzUmVxdWlyZWQpLFxuICAgICAgICAgICAgICAgIGl0ZW1zOiB7XG4gICAgICAgICAgICAgICAgICB0eXBlOiAnb2JqZWN0JyxcbiAgICAgICAgICAgICAgICB9LFxuICAgICAgICAgICAgICB9XG4gICAgICAgICAgICB9XG5cbiAgICAgICAgICAgIGJyZWFrXG4gICAgICAgICAgfVxuXG4gICAgICAgICAgY2FzZSAncmFkaW8nOiB7XG4gICAgICAgICAgICBmaWVsZFNjaGVtYSA9IHtcbiAgICAgICAgICAgICAgdHlwZTogd2l0aE51bGxhYmxlSlNPTlNjaGVtYVR5cGUoJ3N0cmluZycsIGlzUmVxdWlyZWQpLFxuICAgICAgICAgICAgICBlbnVtOiBidWlsZE9wdGlvbkVudW1zKGZpZWxkLm9wdGlvbnMpLFxuICAgICAgICAgICAgfVxuXG4gICAgICAgICAgICBicmVha1xuICAgICAgICAgIH1cblxuICAgICAgICAgIGNhc2UgJ3NlbGVjdCc6IHtcbiAgICAgICAgICAgIGNvbnN0IG9wdGlvbkVudW1zID0gYnVpbGRPcHRpb25FbnVtcyhmaWVsZC5vcHRpb25zKVxuXG4gICAgICAgICAgICBpZiAoZmllbGQuaGFzTWFueSkge1xuICAgICAgICAgICAgICBmaWVsZFNjaGVtYSA9IHtcbiAgICAgICAgICAgICAgICB0eXBlOiB3aXRoTnVsbGFibGVKU09OU2NoZW1hVHlwZSgnYXJyYXknLCBpc1JlcXVpcmVkKSxcbiAgICAgICAgICAgICAgICBpdGVtczoge1xuICAgICAgICAgICAgICAgICAgdHlwZTogJ3N0cmluZycsXG4gICAgICAgICAgICAgICAgICBlbnVtOiBvcHRpb25FbnVtcyxcbiAgICAgICAgICAgICAgICB9LFxuICAgICAgICAgICAgICB9XG4gICAgICAgICAgICB9IGVsc2Uge1xuICAgICAgICAgICAgICBmaWVsZFNjaGVtYSA9IHtcbiAgICAgICAgICAgICAgICB0eXBlOiB3aXRoTnVsbGFibGVKU09OU2NoZW1hVHlwZSgnc3RyaW5nJywgaXNSZXF1aXJlZCksXG4gICAgICAgICAgICAgICAgZW51bTogb3B0aW9uRW51bXMsXG4gICAgICAgICAgICAgIH1cbiAgICAgICAgICAgIH1cblxuICAgICAgICAgICAgYnJlYWtcbiAgICAgICAgICB9XG5cbiAgICAgICAgICBjYXNlICdwb2ludCc6IHtcbiAgICAgICAgICAgIGZpZWxkU2NoZW1hID0ge1xuICAgICAgICAgICAgICB0eXBlOiB3aXRoTnVsbGFibGVKU09OU2NoZW1hVHlwZSgnYXJyYXknLCBpc1JlcXVpcmVkKSxcbiAgICAgICAgICAgICAgaXRlbXM6IFtcbiAgICAgICAgICAgICAgICB7XG4gICAgICAgICAgICAgICAgICB0eXBlOiAnbnVtYmVyJyxcbiAgICAgICAgICAgICAgICB9LFxuICAgICAgICAgICAgICAgIHtcbiAgICAgICAgICAgICAgICAgIHR5cGU6ICdudW1iZXInLFxuICAgICAgICAgICAgICAgIH0sXG4gICAgICAgICAgICAgIF0sXG4gICAgICAgICAgICAgIG1heEl0ZW1zOiAyLFxuICAgICAgICAgICAgICBtaW5JdGVtczogMixcbiAgICAgICAgICAgIH1cbiAgICAgICAgICAgIGJyZWFrXG4gICAgICAgICAgfVxuXG4gICAgICAgICAgY2FzZSAncmVsYXRpb25zaGlwJzoge1xuICAgICAgICAgICAgaWYgKEFycmF5LmlzQXJyYXkoZmllbGQucmVsYXRpb25UbykpIHtcbiAgICAgICAgICAgICAgaWYgKGZpZWxkLmhhc01hbnkpIHtcbiAgICAgICAgICAgICAgICBmaWVsZFNjaGVtYSA9IHtcbiAgICAgICAgICAgICAgICAgIHR5cGU6IHdpdGhOdWxsYWJsZUpTT05TY2hlbWFUeXBlKCdhcnJheScsIGlzUmVxdWlyZWQpLFxuICAgICAgICAgICAgICAgICAgaXRlbXM6IHtcbiAgICAgICAgICAgICAgICAgICAgb25lT2Y6IGZpZWxkLnJlbGF0aW9uVG8ubWFwKChyZWxhdGlvbikgPT4ge1xuICAgICAgICAgICAgICAgICAgICAgIHJldHVybiB7XG4gICAgICAgICAgICAgICAgICAgICAgICB0eXBlOiAnb2JqZWN0JyxcbiAgICAgICAgICAgICAgICAgICAgICAgIGFkZGl0aW9uYWxQcm9wZXJ0aWVzOiBmYWxzZSxcbiAgICAgICAgICAgICAgICAgICAgICAgIHByb3BlcnRpZXM6IHtcbiAgICAgICAgICAgICAgICAgICAgICAgICAgcmVsYXRpb25Ubzoge1xuICAgICAgICAgICAgICAgICAgICAgICAgICAgIGNvbnN0OiByZWxhdGlvbixcbiAgICAgICAgICAgICAgICAgICAgICAgICAgfSxcbiAgICAgICAgICAgICAgICAgICAgICAgICAgdmFsdWU6IHtcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICBvbmVPZjogW1xuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAge1xuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB0eXBlOiBjb2xsZWN0aW9uSURGaWVsZFR5cGVzW3JlbGF0aW9uXSxcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIH0sXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICB7XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICRyZWY6IGAjL2RlZmluaXRpb25zLyR7cmVsYXRpb259YCxcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIH0sXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgXSxcbiAgICAgICAgICAgICAgICAgICAgICAgICAgfSxcbiAgICAgICAgICAgICAgICAgICAgICAgIH0sXG4gICAgICAgICAgICAgICAgICAgICAgICByZXF1aXJlZDogWyd2YWx1ZScsICdyZWxhdGlvblRvJ10sXG4gICAgICAgICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgICAgICAgICB9KSxcbiAgICAgICAgICAgICAgICAgIH0sXG4gICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgICB9IGVsc2Uge1xuICAgICAgICAgICAgICAgIGZpZWxkU2NoZW1hID0ge1xuICAgICAgICAgICAgICAgICAgb25lT2Y6IGZpZWxkLnJlbGF0aW9uVG8ubWFwKChyZWxhdGlvbikgPT4ge1xuICAgICAgICAgICAgICAgICAgICByZXR1cm4ge1xuICAgICAgICAgICAgICAgICAgICAgIHR5cGU6IHdpdGhOdWxsYWJsZUpTT05TY2hlbWFUeXBlKCdvYmplY3QnLCBpc1JlcXVpcmVkKSxcbiAgICAgICAgICAgICAgICAgICAgICBhZGRpdGlvbmFsUHJvcGVydGllczogZmFsc2UsXG4gICAgICAgICAgICAgICAgICAgICAgcHJvcGVydGllczoge1xuICAgICAgICAgICAgICAgICAgICAgICAgcmVsYXRpb25Ubzoge1xuICAgICAgICAgICAgICAgICAgICAgICAgICBjb25zdDogcmVsYXRpb24sXG4gICAgICAgICAgICAgICAgICAgICAgICB9LFxuICAgICAgICAgICAgICAgICAgICAgICAgdmFsdWU6IHtcbiAgICAgICAgICAgICAgICAgICAgICAgICAgb25lT2Y6IFtcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICB7XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICB0eXBlOiBjb2xsZWN0aW9uSURGaWVsZFR5cGVzW3JlbGF0aW9uXSxcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICB9LFxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIHtcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICRyZWY6IGAjL2RlZmluaXRpb25zLyR7cmVsYXRpb259YCxcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICB9LFxuICAgICAgICAgICAgICAgICAgICAgICAgICBdLFxuICAgICAgICAgICAgICAgICAgICAgICAgfSxcbiAgICAgICAgICAgICAgICAgICAgICB9LFxuICAgICAgICAgICAgICAgICAgICAgIHJlcXVpcmVkOiBbJ3ZhbHVlJywgJ3JlbGF0aW9uVG8nXSxcbiAgICAgICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgICAgICAgfSksXG4gICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgICB9XG4gICAgICAgICAgICB9IGVsc2UgaWYgKGZpZWxkLmhhc01hbnkpIHtcbiAgICAgICAgICAgICAgZmllbGRTY2hlbWEgPSB7XG4gICAgICAgICAgICAgICAgdHlwZTogd2l0aE51bGxhYmxlSlNPTlNjaGVtYVR5cGUoJ2FycmF5JywgaXNSZXF1aXJlZCksXG4gICAgICAgICAgICAgICAgaXRlbXM6IHtcbiAgICAgICAgICAgICAgICAgIG9uZU9mOiBbXG4gICAgICAgICAgICAgICAgICAgIHtcbiAgICAgICAgICAgICAgICAgICAgICB0eXBlOiBjb2xsZWN0aW9uSURGaWVsZFR5cGVzW2ZpZWxkLnJlbGF0aW9uVG9dLFxuICAgICAgICAgICAgICAgICAgICB9LFxuICAgICAgICAgICAgICAgICAgICB7XG4gICAgICAgICAgICAgICAgICAgICAgJHJlZjogYCMvZGVmaW5pdGlvbnMvJHtmaWVsZC5yZWxhdGlvblRvfWAsXG4gICAgICAgICAgICAgICAgICAgIH0sXG4gICAgICAgICAgICAgICAgICBdLFxuICAgICAgICAgICAgICAgIH0sXG4gICAgICAgICAgICAgIH1cbiAgICAgICAgICAgIH0gZWxzZSB7XG4gICAgICAgICAgICAgIGZpZWxkU2NoZW1hID0ge1xuICAgICAgICAgICAgICAgIG9uZU9mOiBbXG4gICAgICAgICAgICAgICAgICB7XG4gICAgICAgICAgICAgICAgICAgIHR5cGU6IHdpdGhOdWxsYWJsZUpTT05TY2hlbWFUeXBlKFxuICAgICAgICAgICAgICAgICAgICAgIGNvbGxlY3Rpb25JREZpZWxkVHlwZXNbZmllbGQucmVsYXRpb25Ub10sXG4gICAgICAgICAgICAgICAgICAgICAgaXNSZXF1aXJlZCxcbiAgICAgICAgICAgICAgICAgICAgKSxcbiAgICAgICAgICAgICAgICAgIH0sXG4gICAgICAgICAgICAgICAgICB7XG4gICAgICAgICAgICAgICAgICAgICRyZWY6IGAjL2RlZmluaXRpb25zLyR7ZmllbGQucmVsYXRpb25Ub31gLFxuICAgICAgICAgICAgICAgICAgfSxcbiAgICAgICAgICAgICAgICBdLFxuICAgICAgICAgICAgICB9XG4gICAgICAgICAgICB9XG5cbiAgICAgICAgICAgIGJyZWFrXG4gICAgICAgICAgfVxuXG4gICAgICAgICAgY2FzZSAndXBsb2FkJzoge1xuICAgICAgICAgICAgZmllbGRTY2hlbWEgPSB7XG4gICAgICAgICAgICAgIG9uZU9mOiBbXG4gICAgICAgICAgICAgICAge1xuICAgICAgICAgICAgICAgICAgdHlwZTogY29sbGVjdGlvbklERmllbGRUeXBlc1tmaWVsZC5yZWxhdGlvblRvXSxcbiAgICAgICAgICAgICAgICB9LFxuICAgICAgICAgICAgICAgIHtcbiAgICAgICAgICAgICAgICAgICRyZWY6IGAjL2RlZmluaXRpb25zLyR7ZmllbGQucmVsYXRpb25Ub31gLFxuICAgICAgICAgICAgICAgIH0sXG4gICAgICAgICAgICAgIF0sXG4gICAgICAgICAgICB9XG4gICAgICAgICAgICBpZiAoIWlzUmVxdWlyZWQpIGZpZWxkU2NoZW1hLm9uZU9mLnB1c2goeyB0eXBlOiAnbnVsbCcgfSlcbiAgICAgICAgICAgIGJyZWFrXG4gICAgICAgICAgfVxuXG4gICAgICAgICAgY2FzZSAnYmxvY2tzJzoge1xuICAgICAgICAgICAgZmllbGRTY2hlbWEgPSB7XG4gICAgICAgICAgICAgIHR5cGU6IHdpdGhOdWxsYWJsZUpTT05TY2hlbWFUeXBlKCdhcnJheScsIGlzUmVxdWlyZWQpLFxuICAgICAgICAgICAgICBpdGVtczoge1xuICAgICAgICAgICAgICAgIG9uZU9mOiBmaWVsZC5ibG9ja3MubWFwKChibG9jaykgPT4ge1xuICAgICAgICAgICAgICAgICAgY29uc3QgYmxvY2tGaWVsZFNjaGVtYXMgPSBmaWVsZHNUb0pTT05TY2hlbWEoXG4gICAgICAgICAgICAgICAgICAgIGNvbGxlY3Rpb25JREZpZWxkVHlwZXMsXG4gICAgICAgICAgICAgICAgICAgIGJsb2NrLmZpZWxkcyxcbiAgICAgICAgICAgICAgICAgICAgaW50ZXJmYWNlTmFtZURlZmluaXRpb25zLFxuICAgICAgICAgICAgICAgICAgICBjb25maWcsXG4gICAgICAgICAgICAgICAgICApXG5cbiAgICAgICAgICAgICAgICAgIGNvbnN0IGJsb2NrU2NoZW1hOiBKU09OU2NoZW1hNCA9IHtcbiAgICAgICAgICAgICAgICAgICAgdHlwZTogJ29iamVjdCcsXG4gICAgICAgICAgICAgICAgICAgIGFkZGl0aW9uYWxQcm9wZXJ0aWVzOiBmYWxzZSxcbiAgICAgICAgICAgICAgICAgICAgcHJvcGVydGllczoge1xuICAgICAgICAgICAgICAgICAgICAgIC4uLmJsb2NrRmllbGRTY2hlbWFzLnByb3BlcnRpZXMsXG4gICAgICAgICAgICAgICAgICAgICAgYmxvY2tUeXBlOiB7XG4gICAgICAgICAgICAgICAgICAgICAgICBjb25zdDogYmxvY2suc2x1ZyxcbiAgICAgICAgICAgICAgICAgICAgICB9LFxuICAgICAgICAgICAgICAgICAgICB9LFxuICAgICAgICAgICAgICAgICAgICByZXF1aXJlZDogWydibG9ja1R5cGUnLCAuLi5ibG9ja0ZpZWxkU2NoZW1hcy5yZXF1aXJlZF0sXG4gICAgICAgICAgICAgICAgICB9XG5cbiAgICAgICAgICAgICAgICAgIGlmIChibG9jay5pbnRlcmZhY2VOYW1lKSB7XG4gICAgICAgICAgICAgICAgICAgIGludGVyZmFjZU5hbWVEZWZpbml0aW9ucy5zZXQoYmxvY2suaW50ZXJmYWNlTmFtZSwgYmxvY2tTY2hlbWEpXG5cbiAgICAgICAgICAgICAgICAgICAgcmV0dXJuIHtcbiAgICAgICAgICAgICAgICAgICAgICAkcmVmOiBgIy9kZWZpbml0aW9ucy8ke2Jsb2NrLmludGVyZmFjZU5hbWV9YCxcbiAgICAgICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgICAgICAgfVxuXG4gICAgICAgICAgICAgICAgICByZXR1cm4gYmxvY2tTY2hlbWFcbiAgICAgICAgICAgICAgICB9KSxcbiAgICAgICAgICAgICAgfSxcbiAgICAgICAgICAgIH1cbiAgICAgICAgICAgIGJyZWFrXG4gICAgICAgICAgfVxuXG4gICAgICAgICAgY2FzZSAnYXJyYXknOiB7XG4gICAgICAgICAgICBmaWVsZFNjaGVtYSA9IHtcbiAgICAgICAgICAgICAgdHlwZTogd2l0aE51bGxhYmxlSlNPTlNjaGVtYVR5cGUoJ2FycmF5JywgaXNSZXF1aXJlZCksXG4gICAgICAgICAgICAgIGl0ZW1zOiB7XG4gICAgICAgICAgICAgICAgdHlwZTogJ29iamVjdCcsXG4gICAgICAgICAgICAgICAgYWRkaXRpb25hbFByb3BlcnRpZXM6IGZhbHNlLFxuICAgICAgICAgICAgICAgIC4uLmZpZWxkc1RvSlNPTlNjaGVtYShcbiAgICAgICAgICAgICAgICAgIGNvbGxlY3Rpb25JREZpZWxkVHlwZXMsXG4gICAgICAgICAgICAgICAgICBmaWVsZC5maWVsZHMsXG4gICAgICAgICAgICAgICAgICBpbnRlcmZhY2VOYW1lRGVmaW5pdGlvbnMsXG4gICAgICAgICAgICAgICAgICBjb25maWcsXG4gICAgICAgICAgICAgICAgKSxcbiAgICAgICAgICAgICAgfSxcbiAgICAgICAgICAgIH1cblxuICAgICAgICAgICAgaWYgKGZpZWxkLmludGVyZmFjZU5hbWUpIHtcbiAgICAgICAgICAgICAgaW50ZXJmYWNlTmFtZURlZmluaXRpb25zLnNldChmaWVsZC5pbnRlcmZhY2VOYW1lLCBmaWVsZFNjaGVtYSlcblxuICAgICAgICAgICAgICBmaWVsZFNjaGVtYSA9IHtcbiAgICAgICAgICAgICAgICAkcmVmOiBgIy9kZWZpbml0aW9ucy8ke2ZpZWxkLmludGVyZmFjZU5hbWV9YCxcbiAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgfVxuICAgICAgICAgICAgYnJlYWtcbiAgICAgICAgICB9XG5cbiAgICAgICAgICBjYXNlICdyb3cnOlxuICAgICAgICAgIGNhc2UgJ2NvbGxhcHNpYmxlJzoge1xuICAgICAgICAgICAgY29uc3QgY2hpbGRTY2hlbWEgPSBmaWVsZHNUb0pTT05TY2hlbWEoXG4gICAgICAgICAgICAgIGNvbGxlY3Rpb25JREZpZWxkVHlwZXMsXG4gICAgICAgICAgICAgIGZpZWxkLmZpZWxkcyxcbiAgICAgICAgICAgICAgaW50ZXJmYWNlTmFtZURlZmluaXRpb25zLFxuICAgICAgICAgICAgICBjb25maWcsXG4gICAgICAgICAgICApXG4gICAgICAgICAgICBPYmplY3QuZW50cmllcyhjaGlsZFNjaGVtYS5wcm9wZXJ0aWVzKS5mb3JFYWNoKChbcHJvcE5hbWUsIHByb3BTY2hlbWFdKSA9PiB7XG4gICAgICAgICAgICAgIGZpZWxkU2NoZW1hcy5zZXQocHJvcE5hbWUsIHByb3BTY2hlbWEpXG4gICAgICAgICAgICB9KVxuICAgICAgICAgICAgY2hpbGRTY2hlbWEucmVxdWlyZWQuZm9yRWFjaCgocHJvcE5hbWUpID0+IHtcbiAgICAgICAgICAgICAgcmVxdWlyZWRGaWVsZE5hbWVzLmFkZChwcm9wTmFtZSlcbiAgICAgICAgICAgIH0pXG4gICAgICAgICAgICBicmVha1xuICAgICAgICAgIH1cblxuICAgICAgICAgIGNhc2UgJ3RhYnMnOiB7XG4gICAgICAgICAgICBmaWVsZC50YWJzLmZvckVhY2goKHRhYikgPT4ge1xuICAgICAgICAgICAgICBjb25zdCBjaGlsZFNjaGVtYSA9IGZpZWxkc1RvSlNPTlNjaGVtYShcbiAgICAgICAgICAgICAgICBjb2xsZWN0aW9uSURGaWVsZFR5cGVzLFxuICAgICAgICAgICAgICAgIHRhYi5maWVsZHMsXG4gICAgICAgICAgICAgICAgaW50ZXJmYWNlTmFtZURlZmluaXRpb25zLFxuICAgICAgICAgICAgICAgIGNvbmZpZyxcbiAgICAgICAgICAgICAgKVxuICAgICAgICAgICAgICBpZiAodGFiSGFzTmFtZSh0YWIpKSB7XG4gICAgICAgICAgICAgICAgLy8gY291bGQgaGF2ZSBpbnRlcmZhY2VcbiAgICAgICAgICAgICAgICBmaWVsZFNjaGVtYXMuc2V0KHRhYi5uYW1lLCB7XG4gICAgICAgICAgICAgICAgICB0eXBlOiAnb2JqZWN0JyxcbiAgICAgICAgICAgICAgICAgIGFkZGl0aW9uYWxQcm9wZXJ0aWVzOiBmYWxzZSxcbiAgICAgICAgICAgICAgICAgIC4uLmNoaWxkU2NoZW1hLFxuICAgICAgICAgICAgICAgIH0pXG4gICAgICAgICAgICAgICAgcmVxdWlyZWRGaWVsZE5hbWVzLmFkZCh0YWIubmFtZSlcbiAgICAgICAgICAgICAgfSBlbHNlIHtcbiAgICAgICAgICAgICAgICBPYmplY3QuZW50cmllcyhjaGlsZFNjaGVtYS5wcm9wZXJ0aWVzKS5mb3JFYWNoKChbcHJvcE5hbWUsIHByb3BTY2hlbWFdKSA9PiB7XG4gICAgICAgICAgICAgICAgICBmaWVsZFNjaGVtYXMuc2V0KHByb3BOYW1lLCBwcm9wU2NoZW1hKVxuICAgICAgICAgICAgICAgIH0pXG4gICAgICAgICAgICAgICAgY2hpbGRTY2hlbWEucmVxdWlyZWQuZm9yRWFjaCgocHJvcE5hbWUpID0+IHtcbiAgICAgICAgICAgICAgICAgIHJlcXVpcmVkRmllbGROYW1lcy5hZGQocHJvcE5hbWUpXG4gICAgICAgICAgICAgICAgfSlcbiAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgfSlcbiAgICAgICAgICAgIGJyZWFrXG4gICAgICAgICAgfVxuXG4gICAgICAgICAgY2FzZSAnZ3JvdXAnOiB7XG4gICAgICAgICAgICBmaWVsZFNjaGVtYSA9IHtcbiAgICAgICAgICAgICAgdHlwZTogJ29iamVjdCcsXG4gICAgICAgICAgICAgIGFkZGl0aW9uYWxQcm9wZXJ0aWVzOiBmYWxzZSxcbiAgICAgICAgICAgICAgLi4uZmllbGRzVG9KU09OU2NoZW1hKFxuICAgICAgICAgICAgICAgIGNvbGxlY3Rpb25JREZpZWxkVHlwZXMsXG4gICAgICAgICAgICAgICAgZmllbGQuZmllbGRzLFxuICAgICAgICAgICAgICAgIGludGVyZmFjZU5hbWVEZWZpbml0aW9ucyxcbiAgICAgICAgICAgICAgICBjb25maWcsXG4gICAgICAgICAgICAgICksXG4gICAgICAgICAgICB9XG5cbiAgICAgICAgICAgIGlmIChmaWVsZC5pbnRlcmZhY2VOYW1lKSB7XG4gICAgICAgICAgICAgIGludGVyZmFjZU5hbWVEZWZpbml0aW9ucy5zZXQoZmllbGQuaW50ZXJmYWNlTmFtZSwgZmllbGRTY2hlbWEpXG5cbiAgICAgICAgICAgICAgZmllbGRTY2hlbWEgPSB7XG4gICAgICAgICAgICAgICAgJHJlZjogYCMvZGVmaW5pdGlvbnMvJHtmaWVsZC5pbnRlcmZhY2VOYW1lfWAsXG4gICAgICAgICAgICAgIH1cbiAgICAgICAgICAgIH1cbiAgICAgICAgICAgIGJyZWFrXG4gICAgICAgICAgfVxuXG4gICAgICAgICAgZGVmYXVsdDoge1xuICAgICAgICAgICAgYnJlYWtcbiAgICAgICAgICB9XG4gICAgICAgIH1cblxuICAgICAgICBpZiAoZmllbGRTY2hlbWEgJiYgZmllbGRBZmZlY3RzRGF0YShmaWVsZCkpIHtcbiAgICAgICAgICBmaWVsZFNjaGVtYXMuc2V0KGZpZWxkLm5hbWUsIGZpZWxkU2NoZW1hKVxuICAgICAgICB9XG5cbiAgICAgICAgcmV0dXJuIGZpZWxkU2NoZW1hc1xuICAgICAgfSwgbmV3IE1hcDxzdHJpbmcsIEpTT05TY2hlbWE0PigpKSxcbiAgICApLFxuICAgIHJlcXVpcmVkOiBBcnJheS5mcm9tKHJlcXVpcmVkRmllbGROYW1lcyksXG4gIH1cbn1cblxuLy8gVGhpcyBmdW5jdGlvbiBpcyBwYXJ0IG9mIHRoZSBwdWJsaWMgQVBJIGFuZCBpcyBleHBvcnRlZCB0aHJvdWdoIHBheWxvYWQvdXRpbGl0aWVzXG5leHBvcnQgZnVuY3Rpb24gZW50aXR5VG9KU09OU2NoZW1hKFxuICBjb25maWc6IFNhbml0aXplZENvbmZpZyxcbiAgaW5jb21pbmdFbnRpdHk6IFNhbml0aXplZENvbGxlY3Rpb25Db25maWcgfCBTYW5pdGl6ZWRHbG9iYWxDb25maWcsXG4gIGludGVyZmFjZU5hbWVEZWZpbml0aW9uczogTWFwPHN0cmluZywgSlNPTlNjaGVtYTQ+LFxuICBkZWZhdWx0SURUeXBlOiAnbnVtYmVyJyB8ICd0ZXh0Jyxcbik6IEpTT05TY2hlbWE0IHtcbiAgY29uc3QgZW50aXR5OiBTYW5pdGl6ZWRDb2xsZWN0aW9uQ29uZmlnIHwgU2FuaXRpemVkR2xvYmFsQ29uZmlnID0gZGVlcENvcHlPYmplY3QoaW5jb21pbmdFbnRpdHkpXG4gIGNvbnN0IHRpdGxlID0gZW50aXR5LnR5cGVzY3JpcHQ/LmludGVyZmFjZVxuICAgID8gZW50aXR5LnR5cGVzY3JpcHQuaW50ZXJmYWNlXG4gICAgOiBzaW5ndWxhcih0b1dvcmRzKGVudGl0eS5zbHVnLCB0cnVlKSlcblxuICBjb25zdCBpZEZpZWxkOiBGaWVsZEFmZmVjdGluZ0RhdGEgPSB7IG5hbWU6ICdpZCcsIHR5cGU6IGRlZmF1bHRJRFR5cGUgYXMgJ3RleHQnLCByZXF1aXJlZDogdHJ1ZSB9XG4gIGNvbnN0IGN1c3RvbUlkRmllbGQgPSBlbnRpdHkuZmllbGRzLmZpbmQoXG4gICAgKGZpZWxkKSA9PiBmaWVsZEFmZmVjdHNEYXRhKGZpZWxkKSAmJiBmaWVsZC5uYW1lID09PSAnaWQnLFxuICApIGFzIEZpZWxkQWZmZWN0aW5nRGF0YVxuXG4gIGlmIChjdXN0b21JZEZpZWxkICYmIGN1c3RvbUlkRmllbGQudHlwZSAhPT0gJ2dyb3VwJyAmJiBjdXN0b21JZEZpZWxkLnR5cGUgIT09ICd0YWInKSB7XG4gICAgY3VzdG9tSWRGaWVsZC5yZXF1aXJlZCA9IHRydWVcbiAgfSBlbHNlIHtcbiAgICBlbnRpdHkuZmllbGRzLnVuc2hpZnQoaWRGaWVsZClcbiAgfVxuXG4gIC8vIG1hcmsgdGltZXN0YW1wIGZpZWxkcyByZXF1aXJlZFxuICBpZiAoJ3RpbWVzdGFtcHMnIGluIGVudGl0eSAmJiBlbnRpdHkudGltZXN0YW1wcyAhPT0gZmFsc2UpIHtcbiAgICBlbnRpdHkuZmllbGRzID0gZW50aXR5LmZpZWxkcy5tYXAoKGZpZWxkKSA9PiB7XG4gICAgICBpZiAoZmllbGRBZmZlY3RzRGF0YShmaWVsZCkgJiYgKGZpZWxkLm5hbWUgPT09ICdjcmVhdGVkQXQnIHx8IGZpZWxkLm5hbWUgPT09ICd1cGRhdGVkQXQnKSkge1xuICAgICAgICByZXR1cm4ge1xuICAgICAgICAgIC4uLmZpZWxkLFxuICAgICAgICAgIHJlcXVpcmVkOiB0cnVlLFxuICAgICAgICB9XG4gICAgICB9XG4gICAgICByZXR1cm4gZmllbGRcbiAgICB9KVxuICB9XG5cbiAgaWYgKCdhdXRoJyBpbiBlbnRpdHkgJiYgZW50aXR5LmF1dGggJiYgIWVudGl0eS5hdXRoPy5kaXNhYmxlTG9jYWxTdHJhdGVneSkge1xuICAgIGVudGl0eS5maWVsZHMucHVzaCh7XG4gICAgICBuYW1lOiAncGFzc3dvcmQnLFxuICAgICAgdHlwZTogJ3RleHQnLFxuICAgIH0pXG4gIH1cblxuICAvLyAgVXNlZCBmb3IgcmVsYXRpb25zaGlwIGZpZWxkcywgdG8gZGV0ZXJtaW5lIHdoZXRoZXIgdG8gdXNlIGEgc3RyaW5nIG9yIG51bWJlciB0eXBlIGZvciB0aGUgSUQuXG4gIGNvbnN0IGNvbGxlY3Rpb25JREZpZWxkVHlwZXMgPSBnZXRDb2xsZWN0aW9uSURGaWVsZFR5cGVzKHsgY29uZmlnLCBkZWZhdWx0SURUeXBlIH0pXG5cbiAgcmV0dXJuIHtcbiAgICB0eXBlOiAnb2JqZWN0JyxcbiAgICBhZGRpdGlvbmFsUHJvcGVydGllczogZmFsc2UsXG4gICAgdGl0bGUsXG4gICAgLi4uZmllbGRzVG9KU09OU2NoZW1hKGNvbGxlY3Rpb25JREZpZWxkVHlwZXMsIGVudGl0eS5maWVsZHMsIGludGVyZmFjZU5hbWVEZWZpbml0aW9ucywgY29uZmlnKSxcbiAgfVxufVxuXG4vKipcbiAqIFRoaXMgaXMgdXNlZCBmb3IgZ2VuZXJhdGluZyB0aGUgVHlwZVNjcmlwdCB0eXBlcyAocGF5bG9hZC10eXBlcy50cykgd2l0aCB0aGUgcGF5bG9hZCBnZW5lcmF0ZTp0eXBlcyBjb21tYW5kLlxuICovXG5leHBvcnQgZnVuY3Rpb24gY29uZmlnVG9KU09OU2NoZW1hKFxuICBjb25maWc6IFNhbml0aXplZENvbmZpZyxcbiAgZGVmYXVsdElEVHlwZT86ICdudW1iZXInIHwgJ3RleHQnLFxuKTogSlNPTlNjaGVtYTQge1xuICAvLyBhIG11dGFibGUgTWFwIHRvIHN0b3JlIGN1c3RvbSB0b3AtbGV2ZWwgYGludGVyZmFjZU5hbWVgIHR5cGVzLiBGaWVsZHMgd2l0aCBhbiBgaW50ZXJmYWNlTmFtZWAgcHJvcGVydHkgd2lsbCBiZSBtb3ZlZCB0byB0aGUgdG9wLWxldmVsIGRlZmluaXRpb25zIGhlcmVcbiAgY29uc3QgaW50ZXJmYWNlTmFtZURlZmluaXRpb25zOiBNYXA8c3RyaW5nLCBKU09OU2NoZW1hND4gPSBuZXcgTWFwKClcblxuICAvLyBDb2xsZWN0aW9ucyBhbmQgR2xvYmFscyBoYXZlIHRvIGJlIG1vdmVkIHRvIHRoZSB0b3AtbGV2ZWwgZGVmaW5pdGlvbnMgYXMgd2VsbC4gUmVhc29uOiBUaGUgdG9wLWxldmVsIHR5cGUgd2lsbCBiZSB0aGUgYENvbmZpZ2AgdHlwZSAtIHdlIGRvbid0IHdhbnQgYWxsIGNvbGxlY3Rpb24gYW5kIGdsb2JhbFxuICAvLyB0eXBlcyB0byBiZSBpbmxpbmVkIGluc2lkZSB0aGUgYENvbmZpZ2AgdHlwZVxuICBjb25zdCBlbnRpdHlEZWZpbml0aW9uczogeyBbazogc3RyaW5nXTogSlNPTlNjaGVtYTQgfSA9IFtcbiAgICAuLi5jb25maWcuZ2xvYmFscyxcbiAgICAuLi5jb25maWcuY29sbGVjdGlvbnMsXG4gIF0ucmVkdWNlKChhY2MsIGVudGl0eSkgPT4ge1xuICAgIGFjY1tlbnRpdHkuc2x1Z10gPSBlbnRpdHlUb0pTT05TY2hlbWEoY29uZmlnLCBlbnRpdHksIGludGVyZmFjZU5hbWVEZWZpbml0aW9ucywgZGVmYXVsdElEVHlwZSlcbiAgICByZXR1cm4gYWNjXG4gIH0sIHt9KVxuXG4gIHJldHVybiB7XG4gICAgYWRkaXRpb25hbFByb3BlcnRpZXM6IGZhbHNlLFxuICAgIGRlZmluaXRpb25zOiB7IC4uLmVudGl0eURlZmluaXRpb25zLCAuLi5PYmplY3QuZnJvbUVudHJpZXMoaW50ZXJmYWNlTmFtZURlZmluaXRpb25zKSB9LFxuICAgIC8vIFRoZXNlIHByb3BlcnRpZXMgaGVyZSB3aWxsIGJlIHZlcnkgc2ltcGxlLCBhcyBhbGwgdGhlIGNvbXBsZXhpdHkgaXMgaW4gdGhlIGRlZmluaXRpb25zLiBUaGVzZSBhcmUganVzdCB0aGUgcHJvcGVydGllcyBmb3IgdGhlIHRvcC1sZXZlbCBgQ29uZmlnYCB0eXBlXG4gICAgdHlwZTogJ29iamVjdCcsXG4gICAgcHJvcGVydGllczoge1xuICAgICAgY29sbGVjdGlvbnM6IGdlbmVyYXRlRW50aXR5U2NoZW1hcyhjb25maWcuY29sbGVjdGlvbnMgfHwgW10pLFxuICAgICAgZ2xvYmFsczogZ2VuZXJhdGVFbnRpdHlTY2hlbWFzKGNvbmZpZy5nbG9iYWxzIHx8IFtdKSxcbiAgICB9LFxuICAgIHJlcXVpcmVkOiBbJ2NvbGxlY3Rpb25zJywgJ2dsb2JhbHMnXSxcbiAgICB0aXRsZTogJ0NvbmZpZycsXG4gIH1cbn1cbiJdLCJuYW1lcyI6WyJwbHVyYWxpemUiLCJzaW5ndWxhciIsImZpZWxkQWZmZWN0c0RhdGEiLCJ0YWJIYXNOYW1lIiwiZGVlcENvcHlPYmplY3QiLCJ0b1dvcmRzIiwiZ2V0Q29sbGVjdGlvbklERmllbGRUeXBlcyIsImZpZWxkSXNSZXF1aXJlZCIsImZpZWxkIiwiaXNDb25kaXRpb25hbCIsIkJvb2xlYW4iLCJhZG1pbiIsImNvbmRpdGlvbiIsImlzTWFya2VkUmVxdWlyZWQiLCJyZXF1aXJlZCIsInR5cGUiLCJmaWVsZHMiLCJzb21lIiwic3ViRmllbGQiLCJ0YWJzIiwidGFiIiwiYnVpbGRPcHRpb25FbnVtcyIsIm9wdGlvbnMiLCJtYXAiLCJvcHRpb24iLCJ2YWx1ZSIsImdlbmVyYXRlRW50aXR5U2NoZW1hcyIsImVudGl0aWVzIiwicHJvcGVydGllcyIsInJlZHVjZSIsImFjYyIsInNsdWciLCIkcmVmIiwiYWRkaXRpb25hbFByb3BlcnRpZXMiLCJPYmplY3QiLCJrZXlzIiwid2l0aE51bGxhYmxlSlNPTlNjaGVtYVR5cGUiLCJmaWVsZFR5cGUiLCJpc1JlcXVpcmVkIiwiZmllbGRUeXBlcyIsInB1c2giLCJmaWVsZHNUb0pTT05TY2hlbWEiLCJjb2xsZWN0aW9uSURGaWVsZFR5cGVzIiwiaW50ZXJmYWNlTmFtZURlZmluaXRpb25zIiwiY29uZmlnIiwicmVxdWlyZWRGaWVsZE5hbWVzIiwiU2V0IiwiZnJvbUVudHJpZXMiLCJmaWVsZFNjaGVtYXMiLCJhZGQiLCJuYW1lIiwiZmllbGRTY2hlbWEiLCJoYXNNYW55IiwiaXRlbXMiLCJlZGl0b3IiLCJvdXRwdXRTY2hlbWEiLCJlbnVtIiwib3B0aW9uRW51bXMiLCJtYXhJdGVtcyIsIm1pbkl0ZW1zIiwiQXJyYXkiLCJpc0FycmF5IiwicmVsYXRpb25UbyIsIm9uZU9mIiwicmVsYXRpb24iLCJjb25zdCIsImJsb2NrcyIsImJsb2NrIiwiYmxvY2tGaWVsZFNjaGVtYXMiLCJibG9ja1NjaGVtYSIsImJsb2NrVHlwZSIsImludGVyZmFjZU5hbWUiLCJzZXQiLCJjaGlsZFNjaGVtYSIsImVudHJpZXMiLCJmb3JFYWNoIiwicHJvcE5hbWUiLCJwcm9wU2NoZW1hIiwiTWFwIiwiZnJvbSIsImVudGl0eVRvSlNPTlNjaGVtYSIsImluY29taW5nRW50aXR5IiwiZGVmYXVsdElEVHlwZSIsImVudGl0eSIsInRpdGxlIiwidHlwZXNjcmlwdCIsImludGVyZmFjZSIsImlkRmllbGQiLCJjdXN0b21JZEZpZWxkIiwiZmluZCIsInVuc2hpZnQiLCJ0aW1lc3RhbXBzIiwiYXV0aCIsImRpc2FibGVMb2NhbFN0cmF0ZWd5IiwiY29uZmlnVG9KU09OU2NoZW1hIiwiZW50aXR5RGVmaW5pdGlvbnMiLCJnbG9iYWxzIiwiY29sbGVjdGlvbnMiLCJkZWZpbml0aW9ucyJdLCJtYXBwaW5ncyI6IkFBRUEsT0FBT0EsZUFBZSxZQUFXO0FBQ2pDLE1BQU0sRUFBRUMsUUFBUSxFQUFFLEdBQUdEO0FBT3JCLFNBQVNFLGdCQUFnQixFQUFFQyxVQUFVLFFBQVEsNEJBQTJCO0FBQ3hFLFNBQVNDLGNBQWMsUUFBUSxzQkFB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
@@ -65,4 +65,4 @@ describe('configToJSONSchema', ()=>{
65
65
  });
66
66
  });
67
67
 
68
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIi4uLy4uL3NyYy91dGlsaXRpZXMvY29uZmlnVG9KU09OU2NoZW1hLnNwZWMudHMiXSwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHR5cGUgeyBDb25maWcgfSBmcm9tICcuLi9jb25maWcvdHlwZXMuZC50cydcblxuaW1wb3J0IHsgc2FuaXRpemVDb25maWcgfSBmcm9tICcuLi9jb25maWcvc2FuaXRpemUuanMnXG5pbXBvcnQgeyBjb25maWdUb0pTT05TY2hlbWEgfSBmcm9tICcuL2NvbmZpZ1RvSlNPTlNjaGVtYS5qcydcblxuZGVzY3JpYmUoJ2NvbmZpZ1RvSlNPTlNjaGVtYScsICgpID0+IHtcbiAgaXQoJ3Nob3VsZCBoYW5kbGUgb3B0aW9uYWwgYXJyYXlzIHdpdGggcmVxdWlyZWQgZmllbGRzJywgKCkgPT4ge1xuICAgIGNvbnN0IGNvbmZpZzogQ29uZmlnID0ge1xuICAgICAgY29sbGVjdGlvbnM6IFtcbiAgICAgICAge1xuICAgICAgICAgIGZpZWxkczogW1xuICAgICAgICAgICAge1xuICAgICAgICAgICAgICBuYW1lOiAnc29tZVJlcXVpcmVkRmllbGQnLFxuICAgICAgICAgICAgICB0eXBlOiAnYXJyYXknLFxuICAgICAgICAgICAgICBmaWVsZHM6IFtcbiAgICAgICAgICAgICAgICB7XG4gICAgICAgICAgICAgICAgICBuYW1lOiAnc29tZVJlcXVpcmVkRmllbGQnLFxuICAgICAgICAgICAgICAgICAgcmVxdWlyZWQ6IHRydWUsXG4gICAgICAgICAgICAgICAgICB0eXBlOiAndGV4dCcsXG4gICAgICAgICAgICAgICAgfSxcbiAgICAgICAgICAgICAgXSxcbiAgICAgICAgICAgIH0sXG4gICAgICAgICAgXSxcbiAgICAgICAgICBzbHVnOiAndGVzdCcsXG4gICAgICAgICAgdGltZXN0YW1wczogZmFsc2UsXG4gICAgICAgIH0sXG4gICAgICBdLFxuICAgIH1cblxuICAgIGNvbnN0IHNhbml0aXplZENvbmZpZyA9IHNhbml0aXplQ29uZmlnKGNvbmZpZylcbiAgICBjb25zdCBzY2hlbWEgPSBjb25maWdUb0pTT05TY2hlbWEoc2FuaXRpemVkQ29uZmlnLCAndGV4dCcpXG5cbiAgICBleHBlY3Qoc2NoZW1hPy5kZWZpbml0aW9ucz8udGVzdCkudG9TdHJpY3RFcXVhbCh7XG4gICAgICBhZGRpdGlvbmFsUHJvcGVydGllczogZmFsc2UsXG4gICAgICBwcm9wZXJ0aWVzOiB7XG4gICAgICAgIGlkOiB7XG4gICAgICAgICAgdHlwZTogJ3N0cmluZycsXG4gICAgICAgIH0sXG4gICAgICAgIHNvbWVSZXF1aXJlZEZpZWxkOiB7XG4gICAgICAgICAgaXRlbXM6IHtcbiAgICAgICAgICAgIGFkZGl0aW9uYWxQcm9wZXJ0aWVzOiBmYWxzZSxcbiAgICAgICAgICAgIHByb3BlcnRpZXM6IHtcbiAgICAgICAgICAgICAgaWQ6IHtcbiAgICAgICAgICAgICAgICB0eXBlOiBbJ3N0cmluZycsICdudWxsJ10sXG4gICAgICAgICAgICAgIH0sXG4gICAgICAgICAgICAgIHNvbWVSZXF1aXJlZEZpZWxkOiB7XG4gICAgICAgICAgICAgICAgdHlwZTogJ3N0cmluZycsXG4gICAgICAgICAgICAgIH0sXG4gICAgICAgICAgICB9LFxuICAgICAgICAgICAgcmVxdWlyZWQ6IFsnc29tZVJlcXVpcmVkRmllbGQnXSxcbiAgICAgICAgICAgIHR5cGU6ICdvYmplY3QnLFxuICAgICAgICAgIH0sXG4gICAgICAgICAgdHlwZTogWydhcnJheScsICdudWxsJ10sXG4gICAgICAgIH0sXG4gICAgICB9LFxuICAgICAgcmVxdWlyZWQ6IFsnaWQnXSxcbiAgICAgIHRpdGxlOiAnVGVzdCcsXG4gICAgICB0eXBlOiAnb2JqZWN0JyxcbiAgICB9KVxuICB9KVxufSlcbiJdLCJuYW1lcyI6WyJzYW5pdGl6ZUNvbmZpZyIsImNvbmZpZ1RvSlNPTlNjaGVtYSIsImRlc2NyaWJlIiwiaXQiLCJjb25maWciLCJjb2xsZWN0aW9ucyIsImZpZWxkcyIsIm5hbWUiLCJ0eXBlIiwicmVxdWlyZWQiLCJzbHVnIiwidGltZXN0YW1wcyIsInNhbml0aXplZENvbmZpZyIsInNjaGVtYSIsImV4cGVjdCIsImRlZmluaXRpb25zIiwidGVzdCIsInRvU3RyaWN0RXF1YWwiLCJhZGRpdGlvbmFsUHJvcGVydGllcyIsInByb3BlcnRpZXMiLCJpZCIsInNvbWVSZXF1aXJlZEZpZWxkIiwiaXRlbXMiLCJ0aXRsZSJdLCJtYXBwaW5ncyI6IkFBRUEsU0FBU0EsY0FBYyxRQUFRLHdCQUF1QjtBQUN0RCxTQUFTQyxrQkFBa0IsUUFBUSwwQkFBeUI7QUFFNURDLFNBQVMsc0JBQXNCO0lBQzdCQyxHQUFHLHNEQUFzRDtRQUN2RCxNQUFNQyxTQUFpQjtZQUNyQkMsYUFBYTtnQkFDWDtvQkFDRUMsUUFBUTt3QkFDTjs0QkFDRUMsTUFBTTs0QkFDTkMsTUFBTTs0QkFDTkYsUUFBUTtnQ0FDTjtvQ0FDRUMsTUFBTTtvQ0FDTkUsVUFBVTtvQ0FDVkQsTUFBTTtnQ0FDUjs2QkFDRDt3QkFDSDtxQkFDRDtvQkFDREUsTUFBTTtvQkFDTkMsWUFBWTtnQkFDZDthQUNEO1FBQ0g7UUFFQSxNQUFNQyxrQkFBa0JaLGVBQWVJO1FBQ3ZDLE1BQU1TLFNBQVNaLG1CQUFtQlcsaUJBQWlCO1FBRW5ERSxPQUFPRCxRQUFRRSxhQUFhQyxNQUFNQyxhQUFhLENBQUM7WUFDOUNDLHNCQUFzQjtZQUN0QkMsWUFBWTtnQkFDVkMsSUFBSTtvQkFDRlosTUFBTTtnQkFDUjtnQkFDQWEsbUJBQW1CO29CQUNqQkMsT0FBTzt3QkFDTEosc0JBQXNCO3dCQUN0QkMsWUFBWTs0QkFDVkMsSUFBSTtnQ0FDRlosTUFBTTtvQ0FBQztvQ0FBVTtpQ0FBTzs0QkFDMUI7NEJBQ0FhLG1CQUFtQjtnQ0FDakJiLE1BQU07NEJBQ1I7d0JBQ0Y7d0JBQ0FDLFVBQVU7NEJBQUM7eUJBQW9CO3dCQUMvQkQsTUFBTTtvQkFDUjtvQkFDQUEsTUFBTTt3QkFBQzt3QkFBUztxQkFBTztnQkFDekI7WUFDRjtZQUNBQyxVQUFVO2dCQUFDO2FBQUs7WUFDaEJjLE9BQU87WUFDUGYsTUFBTTtRQUNSO0lBQ0Y7QUFDRiJ9
68
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIi4uLy4uL3NyYy91dGlsaXRpZXMvY29uZmlnVG9KU09OU2NoZW1hLnNwZWMudHMiXSwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHR5cGUgeyBDb25maWcgfSBmcm9tICcuLi9jb25maWcvdHlwZXMuanMnXG5cbmltcG9ydCB7IHNhbml0aXplQ29uZmlnIH0gZnJvbSAnLi4vY29uZmlnL3Nhbml0aXplLmpzJ1xuaW1wb3J0IHsgY29uZmlnVG9KU09OU2NoZW1hIH0gZnJvbSAnLi9jb25maWdUb0pTT05TY2hlbWEuanMnXG5cbmRlc2NyaWJlKCdjb25maWdUb0pTT05TY2hlbWEnLCAoKSA9PiB7XG4gIGl0KCdzaG91bGQgaGFuZGxlIG9wdGlvbmFsIGFycmF5cyB3aXRoIHJlcXVpcmVkIGZpZWxkcycsICgpID0+IHtcbiAgICBjb25zdCBjb25maWc6IENvbmZpZyA9IHtcbiAgICAgIGNvbGxlY3Rpb25zOiBbXG4gICAgICAgIHtcbiAgICAgICAgICBmaWVsZHM6IFtcbiAgICAgICAgICAgIHtcbiAgICAgICAgICAgICAgbmFtZTogJ3NvbWVSZXF1aXJlZEZpZWxkJyxcbiAgICAgICAgICAgICAgdHlwZTogJ2FycmF5JyxcbiAgICAgICAgICAgICAgZmllbGRzOiBbXG4gICAgICAgICAgICAgICAge1xuICAgICAgICAgICAgICAgICAgbmFtZTogJ3NvbWVSZXF1aXJlZEZpZWxkJyxcbiAgICAgICAgICAgICAgICAgIHJlcXVpcmVkOiB0cnVlLFxuICAgICAgICAgICAgICAgICAgdHlwZTogJ3RleHQnLFxuICAgICAgICAgICAgICAgIH0sXG4gICAgICAgICAgICAgIF0sXG4gICAgICAgICAgICB9LFxuICAgICAgICAgIF0sXG4gICAgICAgICAgc2x1ZzogJ3Rlc3QnLFxuICAgICAgICAgIHRpbWVzdGFtcHM6IGZhbHNlLFxuICAgICAgICB9LFxuICAgICAgXSxcbiAgICB9XG5cbiAgICBjb25zdCBzYW5pdGl6ZWRDb25maWcgPSBzYW5pdGl6ZUNvbmZpZyhjb25maWcpXG4gICAgY29uc3Qgc2NoZW1hID0gY29uZmlnVG9KU09OU2NoZW1hKHNhbml0aXplZENvbmZpZywgJ3RleHQnKVxuXG4gICAgZXhwZWN0KHNjaGVtYT8uZGVmaW5pdGlvbnM/LnRlc3QpLnRvU3RyaWN0RXF1YWwoe1xuICAgICAgYWRkaXRpb25hbFByb3BlcnRpZXM6IGZhbHNlLFxuICAgICAgcHJvcGVydGllczoge1xuICAgICAgICBpZDoge1xuICAgICAgICAgIHR5cGU6ICdzdHJpbmcnLFxuICAgICAgICB9LFxuICAgICAgICBzb21lUmVxdWlyZWRGaWVsZDoge1xuICAgICAgICAgIGl0ZW1zOiB7XG4gICAgICAgICAgICBhZGRpdGlvbmFsUHJvcGVydGllczogZmFsc2UsXG4gICAgICAgICAgICBwcm9wZXJ0aWVzOiB7XG4gICAgICAgICAgICAgIGlkOiB7XG4gICAgICAgICAgICAgICAgdHlwZTogWydzdHJpbmcnLCAnbnVsbCddLFxuICAgICAgICAgICAgICB9LFxuICAgICAgICAgICAgICBzb21lUmVxdWlyZWRGaWVsZDoge1xuICAgICAgICAgICAgICAgIHR5cGU6ICdzdHJpbmcnLFxuICAgICAgICAgICAgICB9LFxuICAgICAgICAgICAgfSxcbiAgICAgICAgICAgIHJlcXVpcmVkOiBbJ3NvbWVSZXF1aXJlZEZpZWxkJ10sXG4gICAgICAgICAgICB0eXBlOiAnb2JqZWN0JyxcbiAgICAgICAgICB9LFxuICAgICAgICAgIHR5cGU6IFsnYXJyYXknLCAnbnVsbCddLFxuICAgICAgICB9LFxuICAgICAgfSxcbiAgICAgIHJlcXVpcmVkOiBbJ2lkJ10sXG4gICAgICB0aXRsZTogJ1Rlc3QnLFxuICAgICAgdHlwZTogJ29iamVjdCcsXG4gICAgfSlcbiAgfSlcbn0pXG4iXSwibmFtZXMiOlsic2FuaXRpemVDb25maWciLCJjb25maWdUb0pTT05TY2hlbWEiLCJkZXNjcmliZSIsIml0IiwiY29uZmlnIiwiY29sbGVjdGlvbnMiLCJmaWVsZHMiLCJuYW1lIiwidHlwZSIsInJlcXVpcmVkIiwic2x1ZyIsInRpbWVzdGFtcHMiLCJzYW5pdGl6ZWRDb25maWciLCJzY2hlbWEiLCJleHBlY3QiLCJkZWZpbml0aW9ucyIsInRlc3QiLCJ0b1N0cmljdEVxdWFsIiwiYWRkaXRpb25hbFByb3BlcnRpZXMiLCJwcm9wZXJ0aWVzIiwiaWQiLCJzb21lUmVxdWlyZWRGaWVsZCIsIml0ZW1zIiwidGl0bGUiXSwibWFwcGluZ3MiOiJBQUVBLFNBQVNBLGNBQWMsUUFBUSx3QkFBdUI7QUFDdEQsU0FBU0Msa0JBQWtCLFFBQVEsMEJBQXlCO0FBRTVEQyxTQUFTLHNCQUFzQjtJQUM3QkMsR0FBRyxzREFBc0Q7UUFDdkQsTUFBTUMsU0FBaUI7WUFDckJDLGFBQWE7Z0JBQ1g7b0JBQ0VDLFFBQVE7d0JBQ047NEJBQ0VDLE1BQU07NEJBQ05DLE1BQU07NEJBQ05GLFFBQVE7Z0NBQ047b0NBQ0VDLE1BQU07b0NBQ05FLFVBQVU7b0NBQ1ZELE1BQU07Z0NBQ1I7NkJBQ0Q7d0JBQ0g7cUJBQ0Q7b0JBQ0RFLE1BQU07b0JBQ05DLFlBQVk7Z0JBQ2Q7YUFDRDtRQUNIO1FBRUEsTUFBTUMsa0JBQWtCWixlQUFlSTtRQUN2QyxNQUFNUyxTQUFTWixtQkFBbUJXLGlCQUFpQjtRQUVuREUsT0FBT0QsUUFBUUUsYUFBYUMsTUFBTUMsYUFBYSxDQUFDO1lBQzlDQyxzQkFBc0I7WUFDdEJDLFlBQVk7Z0JBQ1ZDLElBQUk7b0JBQ0ZaLE1BQU07Z0JBQ1I7Z0JBQ0FhLG1CQUFtQjtvQkFDakJDLE9BQU87d0JBQ0xKLHNCQUFzQjt3QkFDdEJDLFlBQVk7NEJBQ1ZDLElBQUk7Z0NBQ0ZaLE1BQU07b0NBQUM7b0NBQVU7aUNBQU87NEJBQzFCOzRCQUNBYSxtQkFBbUI7Z0NBQ2pCYixNQUFNOzRCQUNSO3dCQUNGO3dCQUNBQyxVQUFVOzRCQUFDO3lCQUFvQjt3QkFDL0JELE1BQU07b0JBQ1I7b0JBQ0FBLE1BQU07d0JBQUM7d0JBQVM7cUJBQU87Z0JBQ3pCO1lBQ0Y7WUFDQUMsVUFBVTtnQkFBQzthQUFLO1lBQ2hCYyxPQUFPO1lBQ1BmLE1BQU07UUFDUjtJQUNGO0FBQ0YifQ==
@@ -1,6 +1,6 @@
1
- import type { Payload, RequestContext } from '../index.d.ts';
2
- import type { User } from '../auth/types.d.ts';
3
- import type { PayloadRequest } from '../types/index.d.ts';
1
+ import type { Payload, RequestContext } from '../index.js';
2
+ import type { User } from '../auth/types.js';
3
+ import type { PayloadRequest } from '../types/index.js';
4
4
  type CreateLocalReq = (options: {
5
5
  context?: RequestContext;
6
6
  fallbackLocale?: string;
@@ -1 +1 @@
1
- {"version":3,"file":"createLocalReq.d.ts","sourceRoot":"","sources":["../../src/utilities/createLocalReq.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,OAAO,EAAE,cAAc,EAAE,MAAM,eAAe,CAAA;AAC5D,OAAO,KAAK,EAAE,IAAI,EAAE,MAAM,oBAAoB,CAAA;AAC9C,OAAO,KAAK,EAAE,cAAc,EAAE,MAAM,qBAAqB,CAAA;AAyDzD,KAAK,cAAc,GAAG,CACpB,OAAO,EAAE;IACP,OAAO,CAAC,EAAE,cAAc,CAAA;IACxB,cAAc,CAAC,EAAE,MAAM,CAAA;IACvB,MAAM,CAAC,EAAE,MAAM,CAAA;IACf,GAAG,CAAC,EAAE,cAAc,CAAA;IACpB,IAAI,CAAC,EAAE,IAAI,CAAA;CACZ,EACD,OAAO,EAAE,OAAO,KACb,OAAO,CAAC,cAAc,CAAC,CAAA;AAC5B,eAAO,MAAM,cAAc,EAAE,cAgC5B,CAAA"}
1
+ {"version":3,"file":"createLocalReq.d.ts","sourceRoot":"","sources":["../../src/utilities/createLocalReq.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,OAAO,EAAE,cAAc,EAAE,MAAM,aAAa,CAAA;AAC1D,OAAO,KAAK,EAAE,IAAI,EAAE,MAAM,kBAAkB,CAAA;AAC5C,OAAO,KAAK,EAAE,cAAc,EAAE,MAAM,mBAAmB,CAAA;AAyDvD,KAAK,cAAc,GAAG,CACpB,OAAO,EAAE;IACP,OAAO,CAAC,EAAE,cAAc,CAAA;IACxB,cAAc,CAAC,EAAE,MAAM,CAAA;IACvB,MAAM,CAAC,EAAE,MAAM,CAAA;IACf,GAAG,CAAC,EAAE,cAAc,CAAA;IACpB,IAAI,CAAC,EAAE,IAAI,CAAA;CACZ,EACD,OAAO,EAAE,OAAO,KACb,OAAO,CAAC,cAAc,CAAC,CAAA;AAC5B,eAAO,MAAM,cAAc,EAAE,cAgC5B,CAAA"}
@@ -76,4 +76,4 @@ export const createLocalReq = async ({ context, fallbackLocale, locale, req = {}
76
76
  return req;
77
77
  };
78
78
 
79
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIi4uLy4uL3NyYy91dGlsaXRpZXMvY3JlYXRlTG9jYWxSZXEudHMiXSwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHR5cGUgeyBQYXlsb2FkLCBSZXF1ZXN0Q29udGV4dCB9IGZyb20gJy4uL2luZGV4LmQudHMnXG5pbXBvcnQgdHlwZSB7IFVzZXIgfSBmcm9tICcuLi9hdXRoL3R5cGVzLmQudHMnXG5pbXBvcnQgdHlwZSB7IFBheWxvYWRSZXF1ZXN0IH0gZnJvbSAnLi4vdHlwZXMvaW5kZXguZC50cydcblxuaW1wb3J0IHsgZ2V0RGF0YUxvYWRlciB9IGZyb20gJy4uL2NvbGxlY3Rpb25zL2RhdGFsb2FkZXIuanMnXG5pbXBvcnQgeyBnZXRMb2NhbEkxOG4gfSBmcm9tICcuLi90cmFuc2xhdGlvbnMvZ2V0TG9jYWxJMThuLmpzJ1xuXG5mdW5jdGlvbiBnZXRSZXF1ZXN0Q29udGV4dChcbiAgcmVxOiBQYXlsb2FkUmVxdWVzdCA9IHsgY29udGV4dDogbnVsbCB9IGFzIFBheWxvYWRSZXF1ZXN0LFxuICBjb250ZXh0OiBSZXF1ZXN0Q29udGV4dCA9IHt9LFxuKTogUmVxdWVzdENvbnRleHQge1xuICBpZiAocmVxLmNvbnRleHQpIHtcbiAgICBpZiAoT2JqZWN0LmtleXMocmVxLmNvbnRleHQpLmxlbmd0aCA9PT0gMCAmJiByZXEuY29udGV4dC5jb25zdHJ1Y3RvciA9PT0gT2JqZWN0KSB7XG4gICAgICAvLyBpZiByZXEuY29udGV4dCBpcyBge31gIGF2b2lkIHVubmVjZXNzYXJ5IHNwcmVhZFxuICAgICAgcmV0dXJuIGNvbnRleHRcbiAgICB9IGVsc2Uge1xuICAgICAgcmV0dXJuIHsgLi4ucmVxLmNvbnRleHQsIC4uLmNvbnRleHQgfVxuICAgIH1cbiAgfSBlbHNlIHtcbiAgICByZXR1cm4gY29udGV4dFxuICB9XG59XG5cbmNvbnN0IGF0dGFjaEZha2VVUkxQcm9wZXJ0aWVzID0gKHJlcTogUGF5bG9hZFJlcXVlc3QpID0+IHtcbiAgLyoqXG4gICAqICpOT1RFKlxuICAgKiBJZiBubyBVUkwgaXMgcHJvdmlkZWQsIHRoZSBsb2NhbCBBUEkgd2FzIGNhbGxlZCBkaXJlY3RseSBvdXRzaWRlXG4gICAqIHRoZSBjb250ZXh0IG9mIGEgcmVxdWVzdC4gVGhlcmVmb3JlIHdlIGNyZWF0ZSBhIGZha2UgVVJMIG9iamVjdC5cbiAgICogYHRzLWlnbm9yZWAgaXMgdXNlZCBiZWxvdyBmb3IgcHJvcGVydGllcyB0aGF0IGFyZSAncmVhZC1vbmx5J1xuICAgKiBzaW5jZSB0aGV5IGRvIG5vdCBleGlzdCB5ZXQgd2UgY2FuIHNhZmVseSBpZ25vcmUgdGhlIGVycm9yLlxuICAgKi9cbiAgdHJ5IHtcbiAgICBjb25zdCB1cmxQcm9wZXJ0aWVzID0gbmV3IFVSTChyZXEucGF5bG9hZC5jb25maWc/LnNlcnZlclVSTClcbiAgICByZXEuaG9zdCA9IHVybFByb3BlcnRpZXMuaG9zdFxuICAgIHJlcS5wcm90b2NvbCA9IHVybFByb3BlcnRpZXMucHJvdG9jb2xcbiAgICByZXEucGF0aG5hbWUgPSB1cmxQcm9wZXJ0aWVzLnBhdGhuYW1lXG4gICAgLy8gQHRzLWV4cGVjdC1lcnJvclxuICAgIHJlcS5zZWFyY2hQYXJhbXMgPSB1cmxQcm9wZXJ0aWVzLnNlYXJjaFBhcmFtc1xuICAgIC8vIEB0cy1leHBlY3QtZXJyb3JcbiAgICByZXEub3JpZ2luID0gdXJsUHJvcGVydGllcy5vcmlnaW5cbiAgICAvLyBAdHMtZXhwZWN0LWVycm9yXG4gICAgcmVxLnVybCA9IHVybFByb3BlcnRpZXMuaHJlZlxuICAgIHJldHVyblxuICB9IGNhdGNoIChlcnJvcikge1xuICAgIC8qKiBkbyBub3RoaW5nICovXG4gIH1cblxuICByZXEuaG9zdCA9ICdsb2NhbGhvc3QnXG4gIHJlcS5wcm90b2NvbCA9ICdodHRwczonXG4gIHJlcS5wYXRobmFtZSA9ICcvJ1xuICAvLyBAdHMtZXhwZWN0LWVycm9yXG4gIHJlcS5zZWFyY2hQYXJhbXMgPSBuZXcgVVJMU2VhcmNoUGFyYW1zKClcbiAgLy8gQHRzLWV4cGVjdC1lcnJvclxuICByZXEub3JpZ2luID0gJ2h0dHA6Ly9sb2NhbGhvc3QnXG4gIC8vIEB0cy1leHBlY3QtZXJyb3JcbiAgcmVxLnVybCA9ICdodHRwOi8vbG9jYWxob3N0J1xuICByZXR1cm5cbn1cblxudHlwZSBDcmVhdGVMb2NhbFJlcSA9IChcbiAgb3B0aW9uczoge1xuICAgIGNvbnRleHQ/OiBSZXF1ZXN0Q29udGV4dFxuICAgIGZhbGxiYWNrTG9jYWxlPzogc3RyaW5nXG4gICAgbG9jYWxlPzogc3RyaW5nXG4gICAgcmVxPzogUGF5bG9hZFJlcXVlc3RcbiAgICB1c2VyPzogVXNlclxuICB9LFxuICBwYXlsb2FkOiBQYXlsb2FkLFxuKSA9PiBQcm9taXNlPFBheWxvYWRSZXF1ZXN0PlxuZXhwb3J0IGNvbnN0IGNyZWF0ZUxvY2FsUmVxOiBDcmVhdGVMb2NhbFJlcSA9IGFzeW5jIChcbiAgeyBjb250ZXh0LCBmYWxsYmFja0xvY2FsZSwgbG9jYWxlLCByZXEgPSB7fSBhcyBQYXlsb2FkUmVxdWVzdCwgdXNlciB9LFxuICBwYXlsb2FkLFxuKSA9PiB7XG4gIGNvbnN0IGkxOG4gPSByZXE/LmkxOG4gfHwgKGF3YWl0IGdldExvY2FsSTE4bih7IGNvbmZpZzogcGF5bG9hZC5jb25maWcgfSkpXG5cbiAgaWYgKHBheWxvYWQuY29uZmlnPy5sb2NhbGl6YXRpb24pIHtcbiAgICBjb25zdCBkZWZhdWx0TG9jYWxlID0gcGF5bG9hZC5jb25maWcubG9jYWxpemF0aW9uLmRlZmF1bHRMb2NhbGVcbiAgICByZXEubG9jYWxlID0gbG9jYWxlIHx8IHJlcT8ubG9jYWxlIHx8IGRlZmF1bHRMb2NhbGVcbiAgICBjb25zdCBmYWxsYmFja0xvY2FsZUZyb21Db25maWcgPSBwYXlsb2FkLmNvbmZpZy5sb2NhbGl6YXRpb24ubG9jYWxlcy5maW5kKFxuICAgICAgKHsgY29kZSB9KSA9PiByZXEubG9jYWxlID09PSBjb2RlLFxuICAgICk/LmZhbGxiYWNrTG9jYWxlXG4gICAgaWYgKHR5cGVvZiBmYWxsYmFja0xvY2FsZSAhPT0gJ3VuZGVmaW5lZCcpIHtcbiAgICAgIHJlcS5mYWxsYmFja0xvY2FsZSA9IGZhbGxiYWNrTG9jYWxlXG4gICAgfSBlbHNlIGlmICh0eXBlb2YgcmVxPy5mYWxsYmFja0xvY2FsZSA9PT0gJ3VuZGVmaW5lZCcpIHtcbiAgICAgIHJlcS5mYWxsYmFja0xvY2FsZSA9IGZhbGxiYWNrTG9jYWxlRnJvbUNvbmZpZyB8fCBkZWZhdWx0TG9jYWxlXG4gICAgfVxuICB9XG5cbiAgcmVxLmNvbnRleHQgPSBnZXRSZXF1ZXN0Q29udGV4dChyZXEsIGNvbnRleHQpXG4gIHJlcS5wYXlsb2FkQVBJID0gcmVxPy5wYXlsb2FkQVBJIHx8ICdsb2NhbCdcbiAgcmVxLnBheWxvYWQgPSBwYXlsb2FkXG4gIHJlcS5pMThuID0gaTE4blxuICByZXEudCA9IGkxOG4udFxuICByZXEudXNlciA9IHVzZXIgfHwgcmVxPy51c2VyIHx8IG51bGxcbiAgcmVxLnBheWxvYWREYXRhTG9hZGVyID0gcmVxPy5wYXlsb2FkRGF0YUxvYWRlciB8fCBnZXREYXRhTG9hZGVyKHJlcSlcbiAgcmVxLnJvdXRlUGFyYW1zID0gcmVxPy5yb3V0ZVBhcmFtcyB8fCB7fVxuICByZXEucXVlcnkgPSByZXE/LnF1ZXJ5IHx8IHt9XG5cbiAgaWYgKCFyZXE/LnVybCkgYXR0YWNoRmFrZVVSTFByb3BlcnRpZXMocmVxKVxuXG4gIHJldHVybiByZXFcbn1cbiJdLCJuYW1lcyI6WyJnZXREYXRhTG9hZGVyIiwiZ2V0TG9jYWxJMThuIiwiZ2V0UmVxdWVzdENvbnRleHQiLCJyZXEiLCJjb250ZXh0IiwiT2JqZWN0Iiwia2V5cyIsImxlbmd0aCIsImNvbnN0cnVjdG9yIiwiYXR0YWNoRmFrZVVSTFByb3BlcnRpZXMiLCJ1cmxQcm9wZXJ0aWVzIiwiVVJMIiwicGF5bG9hZCIsImNvbmZpZyIsInNlcnZlclVSTCIsImhvc3QiLCJwcm90b2NvbCIsInBhdGhuYW1lIiwic2VhcmNoUGFyYW1zIiwib3JpZ2luIiwidXJsIiwiaHJlZiIsImVycm9yIiwiVVJMU2VhcmNoUGFyYW1zIiwiY3JlYXRlTG9jYWxSZXEiLCJmYWxsYmFja0xvY2FsZSIsImxvY2FsZSIsInVzZXIiLCJpMThuIiwibG9jYWxpemF0aW9uIiwiZGVmYXVsdExvY2FsZSIsImZhbGxiYWNrTG9jYWxlRnJvbUNvbmZpZyIsImxvY2FsZXMiLCJmaW5kIiwiY29kZSIsInBheWxvYWRBUEkiLCJ0IiwicGF5bG9hZERhdGFMb2FkZXIiLCJyb3V0ZVBhcmFtcyIsInF1ZXJ5Il0sIm1hcHBpbmdzIjoiQUFJQSxTQUFTQSxhQUFhLFFBQVEsK0JBQThCO0FBQzVELFNBQVNDLFlBQVksUUFBUSxrQ0FBaUM7QUFFOUQsU0FBU0Msa0JBQ1BDLE1BQXNCO0lBQUVDLFNBQVM7QUFBSyxDQUFtQixFQUN6REEsVUFBMEIsQ0FBQyxDQUFDO0lBRTVCLElBQUlELElBQUlDLE9BQU8sRUFBRTtRQUNmLElBQUlDLE9BQU9DLElBQUksQ0FBQ0gsSUFBSUMsT0FBTyxFQUFFRyxNQUFNLEtBQUssS0FBS0osSUFBSUMsT0FBTyxDQUFDSSxXQUFXLEtBQUtILFFBQVE7WUFDL0Usa0RBQWtEO1lBQ2xELE9BQU9EO1FBQ1QsT0FBTztZQUNMLE9BQU87Z0JBQUUsR0FBR0QsSUFBSUMsT0FBTztnQkFBRSxHQUFHQSxPQUFPO1lBQUM7UUFDdEM7SUFDRixPQUFPO1FBQ0wsT0FBT0E7SUFDVDtBQUNGO0FBRUEsTUFBTUssMEJBQTBCLENBQUNOO0lBQy9COzs7Ozs7R0FNQyxHQUNELElBQUk7UUFDRixNQUFNTyxnQkFBZ0IsSUFBSUMsSUFBSVIsSUFBSVMsT0FBTyxDQUFDQyxNQUFNLEVBQUVDO1FBQ2xEWCxJQUFJWSxJQUFJLEdBQUdMLGNBQWNLLElBQUk7UUFDN0JaLElBQUlhLFFBQVEsR0FBR04sY0FBY00sUUFBUTtRQUNyQ2IsSUFBSWMsUUFBUSxHQUFHUCxjQUFjTyxRQUFRO1FBQ3JDLG1CQUFtQjtRQUNuQmQsSUFBSWUsWUFBWSxHQUFHUixjQUFjUSxZQUFZO1FBQzdDLG1CQUFtQjtRQUNuQmYsSUFBSWdCLE1BQU0sR0FBR1QsY0FBY1MsTUFBTTtRQUNqQyxtQkFBbUI7UUFDbkJoQixJQUFJaUIsR0FBRyxHQUFHVixjQUFjVyxJQUFJO1FBQzVCO0lBQ0YsRUFBRSxPQUFPQyxPQUFPO0lBQ2QsZUFBZSxHQUNqQjtJQUVBbkIsSUFBSVksSUFBSSxHQUFHO0lBQ1haLElBQUlhLFFBQVEsR0FBRztJQUNmYixJQUFJYyxRQUFRLEdBQUc7SUFDZixtQkFBbUI7SUFDbkJkLElBQUllLFlBQVksR0FBRyxJQUFJSztJQUN2QixtQkFBbUI7SUFDbkJwQixJQUFJZ0IsTUFBTSxHQUFHO0lBQ2IsbUJBQW1CO0lBQ25CaEIsSUFBSWlCLEdBQUcsR0FBRztJQUNWO0FBQ0Y7QUFZQSxPQUFPLE1BQU1JLGlCQUFpQyxPQUM1QyxFQUFFcEIsT0FBTyxFQUFFcUIsY0FBYyxFQUFFQyxNQUFNLEVBQUV2QixNQUFNLENBQUMsQ0FBbUIsRUFBRXdCLElBQUksRUFBRSxFQUNyRWY7SUFFQSxNQUFNZ0IsT0FBT3pCLEtBQUt5QixRQUFTLE1BQU0zQixhQUFhO1FBQUVZLFFBQVFELFFBQVFDLE1BQU07SUFBQztJQUV2RSxJQUFJRCxRQUFRQyxNQUFNLEVBQUVnQixjQUFjO1FBQ2hDLE1BQU1DLGdCQUFnQmxCLFFBQVFDLE1BQU0sQ0FBQ2dCLFlBQVksQ0FBQ0MsYUFBYTtRQUMvRDNCLElBQUl1QixNQUFNLEdBQUdBLFVBQVV2QixLQUFLdUIsVUFBVUk7UUFDdEMsTUFBTUMsMkJBQTJCbkIsUUFBUUMsTUFBTSxDQUFDZ0IsWUFBWSxDQUFDRyxPQUFPLENBQUNDLElBQUksQ0FDdkUsQ0FBQyxFQUFFQyxJQUFJLEVBQUUsR0FBSy9CLElBQUl1QixNQUFNLEtBQUtRLE9BQzVCVDtRQUNILElBQUksT0FBT0EsbUJBQW1CLGFBQWE7WUFDekN0QixJQUFJc0IsY0FBYyxHQUFHQTtRQUN2QixPQUFPLElBQUksT0FBT3RCLEtBQUtzQixtQkFBbUIsYUFBYTtZQUNyRHRCLElBQUlzQixjQUFjLEdBQUdNLDRCQUE0QkQ7UUFDbkQ7SUFDRjtJQUVBM0IsSUFBSUMsT0FBTyxHQUFHRixrQkFBa0JDLEtBQUtDO0lBQ3JDRCxJQUFJZ0MsVUFBVSxHQUFHaEMsS0FBS2dDLGNBQWM7SUFDcENoQyxJQUFJUyxPQUFPLEdBQUdBO0lBQ2RULElBQUl5QixJQUFJLEdBQUdBO0lBQ1h6QixJQUFJaUMsQ0FBQyxHQUFHUixLQUFLUSxDQUFDO0lBQ2RqQyxJQUFJd0IsSUFBSSxHQUFHQSxRQUFReEIsS0FBS3dCLFFBQVE7SUFDaEN4QixJQUFJa0MsaUJBQWlCLEdBQUdsQyxLQUFLa0MscUJBQXFCckMsY0FBY0c7SUFDaEVBLElBQUltQyxXQUFXLEdBQUduQyxLQUFLbUMsZUFBZSxDQUFDO0lBQ3ZDbkMsSUFBSW9DLEtBQUssR0FBR3BDLEtBQUtvQyxTQUFTLENBQUM7SUFFM0IsSUFBSSxDQUFDcEMsS0FBS2lCLEtBQUtYLHdCQUF3Qk47SUFFdkMsT0FBT0E7QUFDVCxFQUFDIn0=
79
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIi4uLy4uL3NyYy91dGlsaXRpZXMvY3JlYXRlTG9jYWxSZXEudHMiXSwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHR5cGUgeyBQYXlsb2FkLCBSZXF1ZXN0Q29udGV4dCB9IGZyb20gJy4uL2luZGV4LmpzJ1xuaW1wb3J0IHR5cGUgeyBVc2VyIH0gZnJvbSAnLi4vYXV0aC90eXBlcy5qcydcbmltcG9ydCB0eXBlIHsgUGF5bG9hZFJlcXVlc3QgfSBmcm9tICcuLi90eXBlcy9pbmRleC5qcydcblxuaW1wb3J0IHsgZ2V0RGF0YUxvYWRlciB9IGZyb20gJy4uL2NvbGxlY3Rpb25zL2RhdGFsb2FkZXIuanMnXG5pbXBvcnQgeyBnZXRMb2NhbEkxOG4gfSBmcm9tICcuLi90cmFuc2xhdGlvbnMvZ2V0TG9jYWxJMThuLmpzJ1xuXG5mdW5jdGlvbiBnZXRSZXF1ZXN0Q29udGV4dChcbiAgcmVxOiBQYXlsb2FkUmVxdWVzdCA9IHsgY29udGV4dDogbnVsbCB9IGFzIFBheWxvYWRSZXF1ZXN0LFxuICBjb250ZXh0OiBSZXF1ZXN0Q29udGV4dCA9IHt9LFxuKTogUmVxdWVzdENvbnRleHQge1xuICBpZiAocmVxLmNvbnRleHQpIHtcbiAgICBpZiAoT2JqZWN0LmtleXMocmVxLmNvbnRleHQpLmxlbmd0aCA9PT0gMCAmJiByZXEuY29udGV4dC5jb25zdHJ1Y3RvciA9PT0gT2JqZWN0KSB7XG4gICAgICAvLyBpZiByZXEuY29udGV4dCBpcyBge31gIGF2b2lkIHVubmVjZXNzYXJ5IHNwcmVhZFxuICAgICAgcmV0dXJuIGNvbnRleHRcbiAgICB9IGVsc2Uge1xuICAgICAgcmV0dXJuIHsgLi4ucmVxLmNvbnRleHQsIC4uLmNvbnRleHQgfVxuICAgIH1cbiAgfSBlbHNlIHtcbiAgICByZXR1cm4gY29udGV4dFxuICB9XG59XG5cbmNvbnN0IGF0dGFjaEZha2VVUkxQcm9wZXJ0aWVzID0gKHJlcTogUGF5bG9hZFJlcXVlc3QpID0+IHtcbiAgLyoqXG4gICAqICpOT1RFKlxuICAgKiBJZiBubyBVUkwgaXMgcHJvdmlkZWQsIHRoZSBsb2NhbCBBUEkgd2FzIGNhbGxlZCBkaXJlY3RseSBvdXRzaWRlXG4gICAqIHRoZSBjb250ZXh0IG9mIGEgcmVxdWVzdC4gVGhlcmVmb3JlIHdlIGNyZWF0ZSBhIGZha2UgVVJMIG9iamVjdC5cbiAgICogYHRzLWlnbm9yZWAgaXMgdXNlZCBiZWxvdyBmb3IgcHJvcGVydGllcyB0aGF0IGFyZSAncmVhZC1vbmx5J1xuICAgKiBzaW5jZSB0aGV5IGRvIG5vdCBleGlzdCB5ZXQgd2UgY2FuIHNhZmVseSBpZ25vcmUgdGhlIGVycm9yLlxuICAgKi9cbiAgdHJ5IHtcbiAgICBjb25zdCB1cmxQcm9wZXJ0aWVzID0gbmV3IFVSTChyZXEucGF5bG9hZC5jb25maWc/LnNlcnZlclVSTClcbiAgICByZXEuaG9zdCA9IHVybFByb3BlcnRpZXMuaG9zdFxuICAgIHJlcS5wcm90b2NvbCA9IHVybFByb3BlcnRpZXMucHJvdG9jb2xcbiAgICByZXEucGF0aG5hbWUgPSB1cmxQcm9wZXJ0aWVzLnBhdGhuYW1lXG4gICAgLy8gQHRzLWV4cGVjdC1lcnJvclxuICAgIHJlcS5zZWFyY2hQYXJhbXMgPSB1cmxQcm9wZXJ0aWVzLnNlYXJjaFBhcmFtc1xuICAgIC8vIEB0cy1leHBlY3QtZXJyb3JcbiAgICByZXEub3JpZ2luID0gdXJsUHJvcGVydGllcy5vcmlnaW5cbiAgICAvLyBAdHMtZXhwZWN0LWVycm9yXG4gICAgcmVxLnVybCA9IHVybFByb3BlcnRpZXMuaHJlZlxuICAgIHJldHVyblxuICB9IGNhdGNoIChlcnJvcikge1xuICAgIC8qKiBkbyBub3RoaW5nICovXG4gIH1cblxuICByZXEuaG9zdCA9ICdsb2NhbGhvc3QnXG4gIHJlcS5wcm90b2NvbCA9ICdodHRwczonXG4gIHJlcS5wYXRobmFtZSA9ICcvJ1xuICAvLyBAdHMtZXhwZWN0LWVycm9yXG4gIHJlcS5zZWFyY2hQYXJhbXMgPSBuZXcgVVJMU2VhcmNoUGFyYW1zKClcbiAgLy8gQHRzLWV4cGVjdC1lcnJvclxuICByZXEub3JpZ2luID0gJ2h0dHA6Ly9sb2NhbGhvc3QnXG4gIC8vIEB0cy1leHBlY3QtZXJyb3JcbiAgcmVxLnVybCA9ICdodHRwOi8vbG9jYWxob3N0J1xuICByZXR1cm5cbn1cblxudHlwZSBDcmVhdGVMb2NhbFJlcSA9IChcbiAgb3B0aW9uczoge1xuICAgIGNvbnRleHQ/OiBSZXF1ZXN0Q29udGV4dFxuICAgIGZhbGxiYWNrTG9jYWxlPzogc3RyaW5nXG4gICAgbG9jYWxlPzogc3RyaW5nXG4gICAgcmVxPzogUGF5bG9hZFJlcXVlc3RcbiAgICB1c2VyPzogVXNlclxuICB9LFxuICBwYXlsb2FkOiBQYXlsb2FkLFxuKSA9PiBQcm9taXNlPFBheWxvYWRSZXF1ZXN0PlxuZXhwb3J0IGNvbnN0IGNyZWF0ZUxvY2FsUmVxOiBDcmVhdGVMb2NhbFJlcSA9IGFzeW5jIChcbiAgeyBjb250ZXh0LCBmYWxsYmFja0xvY2FsZSwgbG9jYWxlLCByZXEgPSB7fSBhcyBQYXlsb2FkUmVxdWVzdCwgdXNlciB9LFxuICBwYXlsb2FkLFxuKSA9PiB7XG4gIGNvbnN0IGkxOG4gPSByZXE/LmkxOG4gfHwgKGF3YWl0IGdldExvY2FsSTE4bih7IGNvbmZpZzogcGF5bG9hZC5jb25maWcgfSkpXG5cbiAgaWYgKHBheWxvYWQuY29uZmlnPy5sb2NhbGl6YXRpb24pIHtcbiAgICBjb25zdCBkZWZhdWx0TG9jYWxlID0gcGF5bG9hZC5jb25maWcubG9jYWxpemF0aW9uLmRlZmF1bHRMb2NhbGVcbiAgICByZXEubG9jYWxlID0gbG9jYWxlIHx8IHJlcT8ubG9jYWxlIHx8IGRlZmF1bHRMb2NhbGVcbiAgICBjb25zdCBmYWxsYmFja0xvY2FsZUZyb21Db25maWcgPSBwYXlsb2FkLmNvbmZpZy5sb2NhbGl6YXRpb24ubG9jYWxlcy5maW5kKFxuICAgICAgKHsgY29kZSB9KSA9PiByZXEubG9jYWxlID09PSBjb2RlLFxuICAgICk/LmZhbGxiYWNrTG9jYWxlXG4gICAgaWYgKHR5cGVvZiBmYWxsYmFja0xvY2FsZSAhPT0gJ3VuZGVmaW5lZCcpIHtcbiAgICAgIHJlcS5mYWxsYmFja0xvY2FsZSA9IGZhbGxiYWNrTG9jYWxlXG4gICAgfSBlbHNlIGlmICh0eXBlb2YgcmVxPy5mYWxsYmFja0xvY2FsZSA9PT0gJ3VuZGVmaW5lZCcpIHtcbiAgICAgIHJlcS5mYWxsYmFja0xvY2FsZSA9IGZhbGxiYWNrTG9jYWxlRnJvbUNvbmZpZyB8fCBkZWZhdWx0TG9jYWxlXG4gICAgfVxuICB9XG5cbiAgcmVxLmNvbnRleHQgPSBnZXRSZXF1ZXN0Q29udGV4dChyZXEsIGNvbnRleHQpXG4gIHJlcS5wYXlsb2FkQVBJID0gcmVxPy5wYXlsb2FkQVBJIHx8ICdsb2NhbCdcbiAgcmVxLnBheWxvYWQgPSBwYXlsb2FkXG4gIHJlcS5pMThuID0gaTE4blxuICByZXEudCA9IGkxOG4udFxuICByZXEudXNlciA9IHVzZXIgfHwgcmVxPy51c2VyIHx8IG51bGxcbiAgcmVxLnBheWxvYWREYXRhTG9hZGVyID0gcmVxPy5wYXlsb2FkRGF0YUxvYWRlciB8fCBnZXREYXRhTG9hZGVyKHJlcSlcbiAgcmVxLnJvdXRlUGFyYW1zID0gcmVxPy5yb3V0ZVBhcmFtcyB8fCB7fVxuICByZXEucXVlcnkgPSByZXE/LnF1ZXJ5IHx8IHt9XG5cbiAgaWYgKCFyZXE/LnVybCkgYXR0YWNoRmFrZVVSTFByb3BlcnRpZXMocmVxKVxuXG4gIHJldHVybiByZXFcbn1cbiJdLCJuYW1lcyI6WyJnZXREYXRhTG9hZGVyIiwiZ2V0TG9jYWxJMThuIiwiZ2V0UmVxdWVzdENvbnRleHQiLCJyZXEiLCJjb250ZXh0IiwiT2JqZWN0Iiwia2V5cyIsImxlbmd0aCIsImNvbnN0cnVjdG9yIiwiYXR0YWNoRmFrZVVSTFByb3BlcnRpZXMiLCJ1cmxQcm9wZXJ0aWVzIiwiVVJMIiwicGF5bG9hZCIsImNvbmZpZyIsInNlcnZlclVSTCIsImhvc3QiLCJwcm90b2NvbCIsInBhdGhuYW1lIiwic2VhcmNoUGFyYW1zIiwib3JpZ2luIiwidXJsIiwiaHJlZiIsImVycm9yIiwiVVJMU2VhcmNoUGFyYW1zIiwiY3JlYXRlTG9jYWxSZXEiLCJmYWxsYmFja0xvY2FsZSIsImxvY2FsZSIsInVzZXIiLCJpMThuIiwibG9jYWxpemF0aW9uIiwiZGVmYXVsdExvY2FsZSIsImZhbGxiYWNrTG9jYWxlRnJvbUNvbmZpZyIsImxvY2FsZXMiLCJmaW5kIiwiY29kZSIsInBheWxvYWRBUEkiLCJ0IiwicGF5bG9hZERhdGFMb2FkZXIiLCJyb3V0ZVBhcmFtcyIsInF1ZXJ5Il0sIm1hcHBpbmdzIjoiQUFJQSxTQUFTQSxhQUFhLFFBQVEsK0JBQThCO0FBQzVELFNBQVNDLFlBQVksUUFBUSxrQ0FBaUM7QUFFOUQsU0FBU0Msa0JBQ1BDLE1BQXNCO0lBQUVDLFNBQVM7QUFBSyxDQUFtQixFQUN6REEsVUFBMEIsQ0FBQyxDQUFDO0lBRTVCLElBQUlELElBQUlDLE9BQU8sRUFBRTtRQUNmLElBQUlDLE9BQU9DLElBQUksQ0FBQ0gsSUFBSUMsT0FBTyxFQUFFRyxNQUFNLEtBQUssS0FBS0osSUFBSUMsT0FBTyxDQUFDSSxXQUFXLEtBQUtILFFBQVE7WUFDL0Usa0RBQWtEO1lBQ2xELE9BQU9EO1FBQ1QsT0FBTztZQUNMLE9BQU87Z0JBQUUsR0FBR0QsSUFBSUMsT0FBTztnQkFBRSxHQUFHQSxPQUFPO1lBQUM7UUFDdEM7SUFDRixPQUFPO1FBQ0wsT0FBT0E7SUFDVDtBQUNGO0FBRUEsTUFBTUssMEJBQTBCLENBQUNOO0lBQy9COzs7Ozs7R0FNQyxHQUNELElBQUk7UUFDRixNQUFNTyxnQkFBZ0IsSUFBSUMsSUFBSVIsSUFBSVMsT0FBTyxDQUFDQyxNQUFNLEVBQUVDO1FBQ2xEWCxJQUFJWSxJQUFJLEdBQUdMLGNBQWNLLElBQUk7UUFDN0JaLElBQUlhLFFBQVEsR0FBR04sY0FBY00sUUFBUTtRQUNyQ2IsSUFBSWMsUUFBUSxHQUFHUCxjQUFjTyxRQUFRO1FBQ3JDLG1CQUFtQjtRQUNuQmQsSUFBSWUsWUFBWSxHQUFHUixjQUFjUSxZQUFZO1FBQzdDLG1CQUFtQjtRQUNuQmYsSUFBSWdCLE1BQU0sR0FBR1QsY0FBY1MsTUFBTTtRQUNqQyxtQkFBbUI7UUFDbkJoQixJQUFJaUIsR0FBRyxHQUFHVixjQUFjVyxJQUFJO1FBQzVCO0lBQ0YsRUFBRSxPQUFPQyxPQUFPO0lBQ2QsZUFBZSxHQUNqQjtJQUVBbkIsSUFBSVksSUFBSSxHQUFHO0lBQ1haLElBQUlhLFFBQVEsR0FBRztJQUNmYixJQUFJYyxRQUFRLEdBQUc7SUFDZixtQkFBbUI7SUFDbkJkLElBQUllLFlBQVksR0FBRyxJQUFJSztJQUN2QixtQkFBbUI7SUFDbkJwQixJQUFJZ0IsTUFBTSxHQUFHO0lBQ2IsbUJBQW1CO0lBQ25CaEIsSUFBSWlCLEdBQUcsR0FBRztJQUNWO0FBQ0Y7QUFZQSxPQUFPLE1BQU1JLGlCQUFpQyxPQUM1QyxFQUFFcEIsT0FBTyxFQUFFcUIsY0FBYyxFQUFFQyxNQUFNLEVBQUV2QixNQUFNLENBQUMsQ0FBbUIsRUFBRXdCLElBQUksRUFBRSxFQUNyRWY7SUFFQSxNQUFNZ0IsT0FBT3pCLEtBQUt5QixRQUFTLE1BQU0zQixhQUFhO1FBQUVZLFFBQVFELFFBQVFDLE1BQU07SUFBQztJQUV2RSxJQUFJRCxRQUFRQyxNQUFNLEVBQUVnQixjQUFjO1FBQ2hDLE1BQU1DLGdCQUFnQmxCLFFBQVFDLE1BQU0sQ0FBQ2dCLFlBQVksQ0FBQ0MsYUFBYTtRQUMvRDNCLElBQUl1QixNQUFNLEdBQUdBLFVBQVV2QixLQUFLdUIsVUFBVUk7UUFDdEMsTUFBTUMsMkJBQTJCbkIsUUFBUUMsTUFBTSxDQUFDZ0IsWUFBWSxDQUFDRyxPQUFPLENBQUNDLElBQUksQ0FDdkUsQ0FBQyxFQUFFQyxJQUFJLEVBQUUsR0FBSy9CLElBQUl1QixNQUFNLEtBQUtRLE9BQzVCVDtRQUNILElBQUksT0FBT0EsbUJBQW1CLGFBQWE7WUFDekN0QixJQUFJc0IsY0FBYyxHQUFHQTtRQUN2QixPQUFPLElBQUksT0FBT3RCLEtBQUtzQixtQkFBbUIsYUFBYTtZQUNyRHRCLElBQUlzQixjQUFjLEdBQUdNLDRCQUE0QkQ7UUFDbkQ7SUFDRjtJQUVBM0IsSUFBSUMsT0FBTyxHQUFHRixrQkFBa0JDLEtBQUtDO0lBQ3JDRCxJQUFJZ0MsVUFBVSxHQUFHaEMsS0FBS2dDLGNBQWM7SUFDcENoQyxJQUFJUyxPQUFPLEdBQUdBO0lBQ2RULElBQUl5QixJQUFJLEdBQUdBO0lBQ1h6QixJQUFJaUMsQ0FBQyxHQUFHUixLQUFLUSxDQUFDO0lBQ2RqQyxJQUFJd0IsSUFBSSxHQUFHQSxRQUFReEIsS0FBS3dCLFFBQVE7SUFDaEN4QixJQUFJa0MsaUJBQWlCLEdBQUdsQyxLQUFLa0MscUJBQXFCckMsY0FBY0c7SUFDaEVBLElBQUltQyxXQUFXLEdBQUduQyxLQUFLbUMsZUFBZSxDQUFDO0lBQ3ZDbkMsSUFBSW9DLEtBQUssR0FBR3BDLEtBQUtvQyxTQUFTLENBQUM7SUFFM0IsSUFBSSxDQUFDcEMsS0FBS2lCLEtBQUtYLHdCQUF3Qk47SUFFdkMsT0FBT0E7QUFDVCxFQUFDIn0=
@@ -1,5 +1,5 @@
1
- import type { FieldTypes } from '../exports/config.d.ts';
2
- import type { Field } from '../fields/config/types.d.ts';
1
+ import type { FieldTypes } from '../exports/config.js';
2
+ import type { Field } from '../fields/config/types.js';
3
3
  export type FieldSchemaJSON = {
4
4
  blocks?: FieldSchemaJSON;
5
5
  fields?: FieldSchemaJSON;
@@ -1 +1 @@
1
- {"version":3,"file":"fieldSchemaToJSON.d.ts","sourceRoot":"","sources":["../../src/utilities/fieldSchemaToJSON.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,UAAU,EAAE,MAAM,wBAAwB,CAAA;AACxD,OAAO,KAAK,EAAE,KAAK,EAAE,MAAM,6BAA6B,CAAA;AAExD,MAAM,MAAM,eAAe,GAAG;IAC5B,MAAM,CAAC,EAAE,eAAe,CAAA;IACxB,MAAM,CAAC,EAAE,eAAe,CAAA;IACxB,OAAO,CAAC,EAAE,OAAO,CAAA;IACjB,IAAI,EAAE,MAAM,CAAA;IACZ,UAAU,CAAC,EAAE,MAAM,CAAA;IACnB,IAAI,CAAC,EAAE,MAAM,CAAA;IACb,IAAI,EAAE,MAAM,UAAU,CAAA;CACvB,EAAE,CAAA;AAEH,eAAO,MAAM,iBAAiB,WAAY,KAAK,EAAE,oBAkGhD,CAAA"}
1
+ {"version":3,"file":"fieldSchemaToJSON.d.ts","sourceRoot":"","sources":["../../src/utilities/fieldSchemaToJSON.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,UAAU,EAAE,MAAM,sBAAsB,CAAA;AACtD,OAAO,KAAK,EAAE,KAAK,EAAE,MAAM,2BAA2B,CAAA;AAEtD,MAAM,MAAM,eAAe,GAAG;IAC5B,MAAM,CAAC,EAAE,eAAe,CAAA;IACxB,MAAM,CAAC,EAAE,eAAe,CAAA;IACxB,OAAO,CAAC,EAAE,OAAO,CAAA;IACjB,IAAI,EAAE,MAAM,CAAA;IACZ,UAAU,CAAC,EAAE,MAAM,CAAA;IACnB,IAAI,CAAC,EAAE,MAAM,CAAA;IACb,IAAI,EAAE,MAAM,UAAU,CAAA;CACvB,EAAE,CAAA;AAEH,eAAO,MAAM,iBAAiB,WAAY,KAAK,EAAE,oBAkGhD,CAAA"}
@@ -82,4 +82,4 @@ export const fieldSchemaToJSON = (fields)=>{
82
82
  }, []);
83
83
  };
84
84
 
85
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIi4uLy4uL3NyYy91dGlsaXRpZXMvZmllbGRTY2hlbWFUb0pTT04udHMiXSwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHR5cGUgeyBGaWVsZFR5cGVzIH0gZnJvbSAnLi4vZXhwb3J0cy9jb25maWcuZC50cydcbmltcG9ydCB0eXBlIHsgRmllbGQgfSBmcm9tICcuLi9maWVsZHMvY29uZmlnL3R5cGVzLmQudHMnXG5cbmV4cG9ydCB0eXBlIEZpZWxkU2NoZW1hSlNPTiA9IHtcbiAgYmxvY2tzPzogRmllbGRTY2hlbWFKU09OIC8vIFRPRE86IGNvbmRpdGlvbmFsbHkgYWRkIGJhc2VkIG9uIGB0eXBlYFxuICBmaWVsZHM/OiBGaWVsZFNjaGVtYUpTT04gLy8gVE9ETzogY29uZGl0aW9uYWxseSBhZGQgYmFzZWQgb24gYHR5cGVgXG4gIGhhc01hbnk/OiBib29sZWFuIC8vIFRPRE86IGNvbmRpdGlvbmFsbHkgYWRkIGJhc2VkIG9uIGB0eXBlYFxuICBuYW1lOiBzdHJpbmdcbiAgcmVsYXRpb25Ubz86IHN0cmluZyAvLyBUT0RPOiBjb25kaXRpb25hbGx5IGFkZCBiYXNlZCBvbiBgdHlwZWBcbiAgc2x1Zz86IHN0cmluZyAvLyBUT0RPOiBjb25kaXRpb25hbGx5IGFkZCBiYXNlZCBvbiBgdHlwZWBcbiAgdHlwZToga2V5b2YgRmllbGRUeXBlc1xufVtdXG5cbmV4cG9ydCBjb25zdCBmaWVsZFNjaGVtYVRvSlNPTiA9IChmaWVsZHM6IEZpZWxkW10pOiBGaWVsZFNjaGVtYUpTT04gPT4ge1xuICByZXR1cm4gZmllbGRzLnJlZHVjZSgoYWNjLCBmaWVsZCkgPT4ge1xuICAgIGxldCByZXN1bHQgPSBhY2NcblxuICAgIHN3aXRjaCAoZmllbGQudHlwZSkge1xuICAgICAgY2FzZSAnZ3JvdXAnOlxuICAgICAgICBhY2MucHVzaCh7XG4gICAgICAgICAgbmFtZTogZmllbGQubmFtZSxcbiAgICAgICAgICBmaWVsZHM6IGZpZWxkU2NoZW1hVG9KU09OKGZpZWxkLmZpZWxkcyksXG4gICAgICAgICAgdHlwZTogZmllbGQudHlwZSxcbiAgICAgICAgfSlcblxuICAgICAgICBicmVha1xuXG4gICAgICBjYXNlICdhcnJheSc6XG4gICAgICAgIGFjYy5wdXNoKHtcbiAgICAgICAgICBuYW1lOiBmaWVsZC5uYW1lLFxuICAgICAgICAgIGZpZWxkczogZmllbGRTY2hlbWFUb0pTT04oW1xuICAgICAgICAgICAgLi4uZmllbGQuZmllbGRzLFxuICAgICAgICAgICAge1xuICAgICAgICAgICAgICBuYW1lOiAnaWQnLFxuICAgICAgICAgICAgICB0eXBlOiAndGV4dCcsXG4gICAgICAgICAgICB9LFxuICAgICAgICAgIF0pLFxuICAgICAgICAgIHR5cGU6IGZpZWxkLnR5cGUsXG4gICAgICAgIH0pXG5cbiAgICAgICAgYnJlYWtcblxuICAgICAgY2FzZSAnYmxvY2tzJzpcbiAgICAgICAgYWNjLnB1c2goe1xuICAgICAgICAgIG5hbWU6IGZpZWxkLm5hbWUsXG4gICAgICAgICAgYmxvY2tzOiBmaWVsZC5ibG9ja3MucmVkdWNlKChhY2MsIGJsb2NrKSA9PiB7XG4gICAgICAgICAgICBhY2NbYmxvY2suc2x1Z10gPSB7XG4gICAgICAgICAgICAgIGZpZWxkczogZmllbGRTY2hlbWFUb0pTT04oW1xuICAgICAgICAgICAgICAgIC4uLmJsb2NrLmZpZWxkcyxcbiAgICAgICAgICAgICAgICB7XG4gICAgICAgICAgICAgICAgICBuYW1lOiAnaWQnLFxuICAgICAgICAgICAgICAgICAgdHlwZTogJ3RleHQnLFxuICAgICAgICAgICAgICAgIH0sXG4gICAgICAgICAgICAgIF0pLFxuICAgICAgICAgICAgfVxuXG4gICAgICAgICAgICByZXR1cm4gYWNjXG4gICAgICAgICAgfSwge30pLFxuICAgICAgICAgIHR5cGU6IGZpZWxkLnR5cGUsXG4gICAgICAgIH0pXG5cbiAgICAgICAgYnJlYWtcblxuICAgICAgY2FzZSAncm93JzpcbiAgICAgIGNhc2UgJ2NvbGxhcHNpYmxlJzpcbiAgICAgICAgcmVzdWx0ID0gcmVzdWx0LmNvbmNhdChmaWVsZFNjaGVtYVRvSlNPTihmaWVsZC5maWVsZHMpKVxuICAgICAgICBicmVha1xuXG4gICAgICBjYXNlICd0YWJzJzoge1xuICAgICAgICBsZXQgdGFiRmllbGRzID0gW11cblxuICAgICAgICBmaWVsZC50YWJzLmZvckVhY2goKHRhYikgPT4ge1xuICAgICAgICAgIGlmICgnbmFtZScgaW4gdGFiKSB7XG4gICAgICAgICAgICB0YWJGaWVsZHMucHVzaCh7XG4gICAgICAgICAgICAgIG5hbWU6IHRhYi5uYW1lLFxuICAgICAgICAgICAgICBmaWVsZHM6IGZpZWxkU2NoZW1hVG9KU09OKHRhYi5maWVsZHMpLFxuICAgICAgICAgICAgICB0eXBlOiBmaWVsZC50eXBlLFxuICAgICAgICAgICAgfSlcbiAgICAgICAgICAgIHJldHVyblxuICAgICAgICAgIH1cblxuICAgICAgICAgIHRhYkZpZWxkcyA9IHRhYkZpZWxkcy5jb25jYXQoZmllbGRTY2hlbWFUb0pTT04odGFiLmZpZWxkcykpXG4gICAgICAgIH0pXG5cbiAgICAgICAgcmVzdWx0ID0gcmVzdWx0LmNvbmNhdCh0YWJGaWVsZHMpXG5cbiAgICAgICAgYnJlYWtcbiAgICAgIH1cblxuICAgICAgY2FzZSAncmVsYXRpb25zaGlwJzpcbiAgICAgIGNhc2UgJ3VwbG9hZCc6XG4gICAgICAgIGFjYy5wdXNoKHtcbiAgICAgICAgICBuYW1lOiBmaWVsZC5uYW1lLFxuICAgICAgICAgIGhhc01hbnk6ICdoYXNNYW55JyBpbiBmaWVsZCA/IEJvb2xlYW4oZmllbGQuaGFzTWFueSkgOiBmYWxzZSwgLy8gVE9ETzogdHlwZSB0aGlzXG4gICAgICAgICAgcmVsYXRpb25UbzogZmllbGQucmVsYXRpb25UbyxcbiAgICAgICAgICB0eXBlOiBmaWVsZC50eXBlLFxuICAgICAgICB9KVxuXG4gICAgICAgIGJyZWFrXG5cbiAgICAgIGRlZmF1bHQ6XG4gICAgICAgIGlmICgnbmFtZScgaW4gZmllbGQpIHtcbiAgICAgICAgICBhY2MucHVzaCh7XG4gICAgICAgICAgICBuYW1lOiBmaWVsZC5uYW1lLFxuICAgICAgICAgICAgdHlwZTogZmllbGQudHlwZSxcbiAgICAgICAgICB9KVxuICAgICAgICB9XG4gICAgfVxuXG4gICAgcmV0dXJuIHJlc3VsdFxuICB9LCBbXSlcbn1cbiJdLCJuYW1lcyI6WyJmaWVsZFNjaGVtYVRvSlNPTiIsImZpZWxkcyIsInJlZHVjZSIsImFjYyIsImZpZWxkIiwicmVzdWx0IiwidHlwZSIsInB1c2giLCJuYW1lIiwiYmxvY2tzIiwiYmxvY2siLCJzbHVnIiwiY29uY2F0IiwidGFiRmllbGRzIiwidGFicyIsImZvckVhY2giLCJ0YWIiLCJoYXNNYW55IiwiQm9vbGVhbiIsInJlbGF0aW9uVG8iXSwibWFwcGluZ3MiOiJBQWFBLE9BQU8sTUFBTUEsb0JBQW9CLENBQUNDO0lBQ2hDLE9BQU9BLE9BQU9DLE1BQU0sQ0FBQyxDQUFDQyxLQUFLQztRQUN6QixJQUFJQyxTQUFTRjtRQUViLE9BQVFDLE1BQU1FLElBQUk7WUFDaEIsS0FBSztnQkFDSEgsSUFBSUksSUFBSSxDQUFDO29CQUNQQyxNQUFNSixNQUFNSSxJQUFJO29CQUNoQlAsUUFBUUQsa0JBQWtCSSxNQUFNSCxNQUFNO29CQUN0Q0ssTUFBTUYsTUFBTUUsSUFBSTtnQkFDbEI7Z0JBRUE7WUFFRixLQUFLO2dCQUNISCxJQUFJSSxJQUFJLENBQUM7b0JBQ1BDLE1BQU1KLE1BQU1JLElBQUk7b0JBQ2hCUCxRQUFRRCxrQkFBa0I7MkJBQ3JCSSxNQUFNSCxNQUFNO3dCQUNmOzRCQUNFTyxNQUFNOzRCQUNORixNQUFNO3dCQUNSO3FCQUNEO29CQUNEQSxNQUFNRixNQUFNRSxJQUFJO2dCQUNsQjtnQkFFQTtZQUVGLEtBQUs7Z0JBQ0hILElBQUlJLElBQUksQ0FBQztvQkFDUEMsTUFBTUosTUFBTUksSUFBSTtvQkFDaEJDLFFBQVFMLE1BQU1LLE1BQU0sQ0FBQ1AsTUFBTSxDQUFDLENBQUNDLEtBQUtPO3dCQUNoQ1AsR0FBRyxDQUFDTyxNQUFNQyxJQUFJLENBQUMsR0FBRzs0QkFDaEJWLFFBQVFELGtCQUFrQjttQ0FDckJVLE1BQU1ULE1BQU07Z0NBQ2Y7b0NBQ0VPLE1BQU07b0NBQ05GLE1BQU07Z0NBQ1I7NkJBQ0Q7d0JBQ0g7d0JBRUEsT0FBT0g7b0JBQ1QsR0FBRyxDQUFDO29CQUNKRyxNQUFNRixNQUFNRSxJQUFJO2dCQUNsQjtnQkFFQTtZQUVGLEtBQUs7WUFDTCxLQUFLO2dCQUNIRCxTQUFTQSxPQUFPTyxNQUFNLENBQUNaLGtCQUFrQkksTUFBTUgsTUFBTTtnQkFDckQ7WUFFRixLQUFLO2dCQUFRO29CQUNYLElBQUlZLFlBQVksRUFBRTtvQkFFbEJULE1BQU1VLElBQUksQ0FBQ0MsT0FBTyxDQUFDLENBQUNDO3dCQUNsQixJQUFJLFVBQVVBLEtBQUs7NEJBQ2pCSCxVQUFVTixJQUFJLENBQUM7Z0NBQ2JDLE1BQU1RLElBQUlSLElBQUk7Z0NBQ2RQLFFBQVFELGtCQUFrQmdCLElBQUlmLE1BQU07Z0NBQ3BDSyxNQUFNRixNQUFNRSxJQUFJOzRCQUNsQjs0QkFDQTt3QkFDRjt3QkFFQU8sWUFBWUEsVUFBVUQsTUFBTSxDQUFDWixrQkFBa0JnQixJQUFJZixNQUFNO29CQUMzRDtvQkFFQUksU0FBU0EsT0FBT08sTUFBTSxDQUFDQztvQkFFdkI7Z0JBQ0Y7WUFFQSxLQUFLO1lBQ0wsS0FBSztnQkFDSFYsSUFBSUksSUFBSSxDQUFDO29CQUNQQyxNQUFNSixNQUFNSSxJQUFJO29CQUNoQlMsU0FBUyxhQUFhYixRQUFRYyxRQUFRZCxNQUFNYSxPQUFPLElBQUk7b0JBQ3ZERSxZQUFZZixNQUFNZSxVQUFVO29CQUM1QmIsTUFBTUYsTUFBTUUsSUFBSTtnQkFDbEI7Z0JBRUE7WUFFRjtnQkFDRSxJQUFJLFVBQVVGLE9BQU87b0JBQ25CRCxJQUFJSSxJQUFJLENBQUM7d0JBQ1BDLE1BQU1KLE1BQU1JLElBQUk7d0JBQ2hCRixNQUFNRixNQUFNRSxJQUFJO29CQUNsQjtnQkFDRjtRQUNKO1FBRUEsT0FBT0Q7SUFDVCxHQUFHLEVBQUU7QUFDUCxFQUFDIn0=
85
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIi4uLy4uL3NyYy91dGlsaXRpZXMvZmllbGRTY2hlbWFUb0pTT04udHMiXSwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHR5cGUgeyBGaWVsZFR5cGVzIH0gZnJvbSAnLi4vZXhwb3J0cy9jb25maWcuanMnXG5pbXBvcnQgdHlwZSB7IEZpZWxkIH0gZnJvbSAnLi4vZmllbGRzL2NvbmZpZy90eXBlcy5qcydcblxuZXhwb3J0IHR5cGUgRmllbGRTY2hlbWFKU09OID0ge1xuICBibG9ja3M/OiBGaWVsZFNjaGVtYUpTT04gLy8gVE9ETzogY29uZGl0aW9uYWxseSBhZGQgYmFzZWQgb24gYHR5cGVgXG4gIGZpZWxkcz86IEZpZWxkU2NoZW1hSlNPTiAvLyBUT0RPOiBjb25kaXRpb25hbGx5IGFkZCBiYXNlZCBvbiBgdHlwZWBcbiAgaGFzTWFueT86IGJvb2xlYW4gLy8gVE9ETzogY29uZGl0aW9uYWxseSBhZGQgYmFzZWQgb24gYHR5cGVgXG4gIG5hbWU6IHN0cmluZ1xuICByZWxhdGlvblRvPzogc3RyaW5nIC8vIFRPRE86IGNvbmRpdGlvbmFsbHkgYWRkIGJhc2VkIG9uIGB0eXBlYFxuICBzbHVnPzogc3RyaW5nIC8vIFRPRE86IGNvbmRpdGlvbmFsbHkgYWRkIGJhc2VkIG9uIGB0eXBlYFxuICB0eXBlOiBrZXlvZiBGaWVsZFR5cGVzXG59W11cblxuZXhwb3J0IGNvbnN0IGZpZWxkU2NoZW1hVG9KU09OID0gKGZpZWxkczogRmllbGRbXSk6IEZpZWxkU2NoZW1hSlNPTiA9PiB7XG4gIHJldHVybiBmaWVsZHMucmVkdWNlKChhY2MsIGZpZWxkKSA9PiB7XG4gICAgbGV0IHJlc3VsdCA9IGFjY1xuXG4gICAgc3dpdGNoIChmaWVsZC50eXBlKSB7XG4gICAgICBjYXNlICdncm91cCc6XG4gICAgICAgIGFjYy5wdXNoKHtcbiAgICAgICAgICBuYW1lOiBmaWVsZC5uYW1lLFxuICAgICAgICAgIGZpZWxkczogZmllbGRTY2hlbWFUb0pTT04oZmllbGQuZmllbGRzKSxcbiAgICAgICAgICB0eXBlOiBmaWVsZC50eXBlLFxuICAgICAgICB9KVxuXG4gICAgICAgIGJyZWFrXG5cbiAgICAgIGNhc2UgJ2FycmF5JzpcbiAgICAgICAgYWNjLnB1c2goe1xuICAgICAgICAgIG5hbWU6IGZpZWxkLm5hbWUsXG4gICAgICAgICAgZmllbGRzOiBmaWVsZFNjaGVtYVRvSlNPTihbXG4gICAgICAgICAgICAuLi5maWVsZC5maWVsZHMsXG4gICAgICAgICAgICB7XG4gICAgICAgICAgICAgIG5hbWU6ICdpZCcsXG4gICAgICAgICAgICAgIHR5cGU6ICd0ZXh0JyxcbiAgICAgICAgICAgIH0sXG4gICAgICAgICAgXSksXG4gICAgICAgICAgdHlwZTogZmllbGQudHlwZSxcbiAgICAgICAgfSlcblxuICAgICAgICBicmVha1xuXG4gICAgICBjYXNlICdibG9ja3MnOlxuICAgICAgICBhY2MucHVzaCh7XG4gICAgICAgICAgbmFtZTogZmllbGQubmFtZSxcbiAgICAgICAgICBibG9ja3M6IGZpZWxkLmJsb2Nrcy5yZWR1Y2UoKGFjYywgYmxvY2spID0+IHtcbiAgICAgICAgICAgIGFjY1tibG9jay5zbHVnXSA9IHtcbiAgICAgICAgICAgICAgZmllbGRzOiBmaWVsZFNjaGVtYVRvSlNPTihbXG4gICAgICAgICAgICAgICAgLi4uYmxvY2suZmllbGRzLFxuICAgICAgICAgICAgICAgIHtcbiAgICAgICAgICAgICAgICAgIG5hbWU6ICdpZCcsXG4gICAgICAgICAgICAgICAgICB0eXBlOiAndGV4dCcsXG4gICAgICAgICAgICAgICAgfSxcbiAgICAgICAgICAgICAgXSksXG4gICAgICAgICAgICB9XG5cbiAgICAgICAgICAgIHJldHVybiBhY2NcbiAgICAgICAgICB9LCB7fSksXG4gICAgICAgICAgdHlwZTogZmllbGQudHlwZSxcbiAgICAgICAgfSlcblxuICAgICAgICBicmVha1xuXG4gICAgICBjYXNlICdyb3cnOlxuICAgICAgY2FzZSAnY29sbGFwc2libGUnOlxuICAgICAgICByZXN1bHQgPSByZXN1bHQuY29uY2F0KGZpZWxkU2NoZW1hVG9KU09OKGZpZWxkLmZpZWxkcykpXG4gICAgICAgIGJyZWFrXG5cbiAgICAgIGNhc2UgJ3RhYnMnOiB7XG4gICAgICAgIGxldCB0YWJGaWVsZHMgPSBbXVxuXG4gICAgICAgIGZpZWxkLnRhYnMuZm9yRWFjaCgodGFiKSA9PiB7XG4gICAgICAgICAgaWYgKCduYW1lJyBpbiB0YWIpIHtcbiAgICAgICAgICAgIHRhYkZpZWxkcy5wdXNoKHtcbiAgICAgICAgICAgICAgbmFtZTogdGFiLm5hbWUsXG4gICAgICAgICAgICAgIGZpZWxkczogZmllbGRTY2hlbWFUb0pTT04odGFiLmZpZWxkcyksXG4gICAgICAgICAgICAgIHR5cGU6IGZpZWxkLnR5cGUsXG4gICAgICAgICAgICB9KVxuICAgICAgICAgICAgcmV0dXJuXG4gICAgICAgICAgfVxuXG4gICAgICAgICAgdGFiRmllbGRzID0gdGFiRmllbGRzLmNvbmNhdChmaWVsZFNjaGVtYVRvSlNPTih0YWIuZmllbGRzKSlcbiAgICAgICAgfSlcblxuICAgICAgICByZXN1bHQgPSByZXN1bHQuY29uY2F0KHRhYkZpZWxkcylcblxuICAgICAgICBicmVha1xuICAgICAgfVxuXG4gICAgICBjYXNlICdyZWxhdGlvbnNoaXAnOlxuICAgICAgY2FzZSAndXBsb2FkJzpcbiAgICAgICAgYWNjLnB1c2goe1xuICAgICAgICAgIG5hbWU6IGZpZWxkLm5hbWUsXG4gICAgICAgICAgaGFzTWFueTogJ2hhc01hbnknIGluIGZpZWxkID8gQm9vbGVhbihmaWVsZC5oYXNNYW55KSA6IGZhbHNlLCAvLyBUT0RPOiB0eXBlIHRoaXNcbiAgICAgICAgICByZWxhdGlvblRvOiBmaWVsZC5yZWxhdGlvblRvLFxuICAgICAgICAgIHR5cGU6IGZpZWxkLnR5cGUsXG4gICAgICAgIH0pXG5cbiAgICAgICAgYnJlYWtcblxuICAgICAgZGVmYXVsdDpcbiAgICAgICAgaWYgKCduYW1lJyBpbiBmaWVsZCkge1xuICAgICAgICAgIGFjYy5wdXNoKHtcbiAgICAgICAgICAgIG5hbWU6IGZpZWxkLm5hbWUsXG4gICAgICAgICAgICB0eXBlOiBmaWVsZC50eXBlLFxuICAgICAgICAgIH0pXG4gICAgICAgIH1cbiAgICB9XG5cbiAgICByZXR1cm4gcmVzdWx0XG4gIH0sIFtdKVxufVxuIl0sIm5hbWVzIjpbImZpZWxkU2NoZW1hVG9KU09OIiwiZmllbGRzIiwicmVkdWNlIiwiYWNjIiwiZmllbGQiLCJyZXN1bHQiLCJ0eXBlIiwicHVzaCIsIm5hbWUiLCJibG9ja3MiLCJibG9jayIsInNsdWciLCJjb25jYXQiLCJ0YWJGaWVsZHMiLCJ0YWJzIiwiZm9yRWFjaCIsInRhYiIsImhhc01hbnkiLCJCb29sZWFuIiwicmVsYXRpb25UbyJdLCJtYXBwaW5ncyI6IkFBYUEsT0FBTyxNQUFNQSxvQkFBb0IsQ0FBQ0M7SUFDaEMsT0FBT0EsT0FBT0MsTUFBTSxDQUFDLENBQUNDLEtBQUtDO1FBQ3pCLElBQUlDLFNBQVNGO1FBRWIsT0FBUUMsTUFBTUUsSUFBSTtZQUNoQixLQUFLO2dCQUNISCxJQUFJSSxJQUFJLENBQUM7b0JBQ1BDLE1BQU1KLE1BQU1JLElBQUk7b0JBQ2hCUCxRQUFRRCxrQkFBa0JJLE1BQU1ILE1BQU07b0JBQ3RDSyxNQUFNRixNQUFNRSxJQUFJO2dCQUNsQjtnQkFFQTtZQUVGLEtBQUs7Z0JBQ0hILElBQUlJLElBQUksQ0FBQztvQkFDUEMsTUFBTUosTUFBTUksSUFBSTtvQkFDaEJQLFFBQVFELGtCQUFrQjsyQkFDckJJLE1BQU1ILE1BQU07d0JBQ2Y7NEJBQ0VPLE1BQU07NEJBQ05GLE1BQU07d0JBQ1I7cUJBQ0Q7b0JBQ0RBLE1BQU1GLE1BQU1FLElBQUk7Z0JBQ2xCO2dCQUVBO1lBRUYsS0FBSztnQkFDSEgsSUFBSUksSUFBSSxDQUFDO29CQUNQQyxNQUFNSixNQUFNSSxJQUFJO29CQUNoQkMsUUFBUUwsTUFBTUssTUFBTSxDQUFDUCxNQUFNLENBQUMsQ0FBQ0MsS0FBS087d0JBQ2hDUCxHQUFHLENBQUNPLE1BQU1DLElBQUksQ0FBQyxHQUFHOzRCQUNoQlYsUUFBUUQsa0JBQWtCO21DQUNyQlUsTUFBTVQsTUFBTTtnQ0FDZjtvQ0FDRU8sTUFBTTtvQ0FDTkYsTUFBTTtnQ0FDUjs2QkFDRDt3QkFDSDt3QkFFQSxPQUFPSDtvQkFDVCxHQUFHLENBQUM7b0JBQ0pHLE1BQU1GLE1BQU1FLElBQUk7Z0JBQ2xCO2dCQUVBO1lBRUYsS0FBSztZQUNMLEtBQUs7Z0JBQ0hELFNBQVNBLE9BQU9PLE1BQU0sQ0FBQ1osa0JBQWtCSSxNQUFNSCxNQUFNO2dCQUNyRDtZQUVGLEtBQUs7Z0JBQVE7b0JBQ1gsSUFBSVksWUFBWSxFQUFFO29CQUVsQlQsTUFBTVUsSUFBSSxDQUFDQyxPQUFPLENBQUMsQ0FBQ0M7d0JBQ2xCLElBQUksVUFBVUEsS0FBSzs0QkFDakJILFVBQVVOLElBQUksQ0FBQztnQ0FDYkMsTUFBTVEsSUFBSVIsSUFBSTtnQ0FDZFAsUUFBUUQsa0JBQWtCZ0IsSUFBSWYsTUFBTTtnQ0FDcENLLE1BQU1GLE1BQU1FLElBQUk7NEJBQ2xCOzRCQUNBO3dCQUNGO3dCQUVBTyxZQUFZQSxVQUFVRCxNQUFNLENBQUNaLGtCQUFrQmdCLElBQUlmLE1BQU07b0JBQzNEO29CQUVBSSxTQUFTQSxPQUFPTyxNQUFNLENBQUNDO29CQUV2QjtnQkFDRjtZQUVBLEtBQUs7WUFDTCxLQUFLO2dCQUNIVixJQUFJSSxJQUFJLENBQUM7b0JBQ1BDLE1BQU1KLE1BQU1JLElBQUk7b0JBQ2hCUyxTQUFTLGFBQWFiLFFBQVFjLFFBQVFkLE1BQU1hLE9BQU8sSUFBSTtvQkFDdkRFLFlBQVlmLE1BQU1lLFVBQVU7b0JBQzVCYixNQUFNRixNQUFNRSxJQUFJO2dCQUNsQjtnQkFFQTtZQUVGO2dCQUNFLElBQUksVUFBVUYsT0FBTztvQkFDbkJELElBQUlJLElBQUksQ0FBQzt3QkFDUEMsTUFBTUosTUFBTUksSUFBSTt3QkFDaEJGLE1BQU1GLE1BQU1FLElBQUk7b0JBQ2xCO2dCQUNGO1FBQ0o7UUFFQSxPQUFPRDtJQUNULEdBQUcsRUFBRTtBQUNQLEVBQUMifQ==
@@ -1,4 +1,4 @@
1
- import type { Field, FieldAffectingData, FieldPresentationalOnly } from '../fields/config/types.d.ts';
1
+ import type { Field, FieldAffectingData, FieldPresentationalOnly } from '../fields/config/types.js';
2
2
  /**
3
3
  * Flattens a collection's fields into a single array of fields, as long
4
4
  * as the fields do not affect data.
@@ -1 +1 @@
1
- {"version":3,"file":"flattenTopLevelFields.d.ts","sourceRoot":"","sources":["../../src/utilities/flattenTopLevelFields.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EACV,KAAK,EACL,kBAAkB,EAClB,uBAAuB,EACxB,MAAM,6BAA6B,CAAA;AASpC;;;;;;GAMG;AACH,QAAA,MAAM,aAAa,WACT,KAAK,EAAE,6BACY,OAAO,KACjC,CAAC,kBAAkB,GAAG,uBAAuB,CAAC,EAyBhD,CAAA;AAED,eAAe,aAAa,CAAA"}
1
+ {"version":3,"file":"flattenTopLevelFields.d.ts","sourceRoot":"","sources":["../../src/utilities/flattenTopLevelFields.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,KAAK,EAAE,kBAAkB,EAAE,uBAAuB,EAAE,MAAM,2BAA2B,CAAA;AASnG;;;;;;GAMG;AACH,QAAA,MAAM,aAAa,WACT,KAAK,EAAE,6BACY,OAAO,KACjC,CAAC,kBAAkB,GAAG,uBAAuB,CAAC,EAyBhD,CAAA;AAED,eAAe,aAAa,CAAA"}
@@ -40,4 +40,4 @@ import { fieldAffectsData, fieldHasSubFields, fieldIsPresentationalOnly, tabHasN
40
40
  };
41
41
  export default flattenFields;
42
42
 
43
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIi4uLy4uL3NyYy91dGlsaXRpZXMvZmxhdHRlblRvcExldmVsRmllbGRzLnRzIl0sInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB0eXBlIHtcbiAgRmllbGQsXG4gIEZpZWxkQWZmZWN0aW5nRGF0YSxcbiAgRmllbGRQcmVzZW50YXRpb25hbE9ubHksXG59IGZyb20gJy4uL2ZpZWxkcy9jb25maWcvdHlwZXMuZC50cydcblxuaW1wb3J0IHtcbiAgZmllbGRBZmZlY3RzRGF0YSxcbiAgZmllbGRIYXNTdWJGaWVsZHMsXG4gIGZpZWxkSXNQcmVzZW50YXRpb25hbE9ubHksXG4gIHRhYkhhc05hbWUsXG59IGZyb20gJy4uL2ZpZWxkcy9jb25maWcvdHlwZXMuanMnXG5cbi8qKlxuICogRmxhdHRlbnMgYSBjb2xsZWN0aW9uJ3MgZmllbGRzIGludG8gYSBzaW5nbGUgYXJyYXkgb2YgZmllbGRzLCBhcyBsb25nXG4gKiBhcyB0aGUgZmllbGRzIGRvIG5vdCBhZmZlY3QgZGF0YS5cbiAqXG4gKiBAcGFyYW0gZmllbGRzXG4gKiBAcGFyYW0ga2VlcFByZXNlbnRhdGlvbmFsRmllbGRzIGlmIHRydWUsIHdpbGwgc2tpcCBmbGF0dGVuaW5nIGZpZWxkcyB0aGF0IGFyZSBwcmVzZW50YXRpb25hbCBvbmx5XG4gKi9cbmNvbnN0IGZsYXR0ZW5GaWVsZHMgPSAoXG4gIGZpZWxkczogRmllbGRbXSxcbiAga2VlcFByZXNlbnRhdGlvbmFsRmllbGRzPzogYm9vbGVhbixcbik6IChGaWVsZEFmZmVjdGluZ0RhdGEgfCBGaWVsZFByZXNlbnRhdGlvbmFsT25seSlbXSA9PiB7XG4gIHJldHVybiBmaWVsZHMucmVkdWNlKChmaWVsZHNUb1VzZSwgZmllbGQpID0+IHtcbiAgICBpZiAoZmllbGRBZmZlY3RzRGF0YShmaWVsZCkgfHwgKGtlZXBQcmVzZW50YXRpb25hbEZpZWxkcyAmJiBmaWVsZElzUHJlc2VudGF0aW9uYWxPbmx5KGZpZWxkKSkpIHtcbiAgICAgIHJldHVybiBbLi4uZmllbGRzVG9Vc2UsIGZpZWxkXVxuICAgIH1cblxuICAgIGlmIChmaWVsZEhhc1N1YkZpZWxkcyhmaWVsZCkpIHtcbiAgICAgIHJldHVybiBbLi4uZmllbGRzVG9Vc2UsIC4uLmZsYXR0ZW5GaWVsZHMoZmllbGQuZmllbGRzLCBrZWVwUHJlc2VudGF0aW9uYWxGaWVsZHMpXVxuICAgIH1cblxuICAgIGlmIChmaWVsZC50eXBlID09PSAndGFicycpIHtcbiAgICAgIHJldHVybiBbXG4gICAgICAgIC4uLmZpZWxkc1RvVXNlLFxuICAgICAgICAuLi5maWVsZC50YWJzLnJlZHVjZSgodGFiRmllbGRzLCB0YWIpID0+IHtcbiAgICAgICAgICByZXR1cm4gW1xuICAgICAgICAgICAgLi4udGFiRmllbGRzLFxuICAgICAgICAgICAgLi4uKHRhYkhhc05hbWUodGFiKVxuICAgICAgICAgICAgICA/IFt7IC4uLnRhYiwgdHlwZTogJ3RhYicgfV1cbiAgICAgICAgICAgICAgOiBmbGF0dGVuRmllbGRzKHRhYi5maWVsZHMsIGtlZXBQcmVzZW50YXRpb25hbEZpZWxkcykpLFxuICAgICAgICAgIF1cbiAgICAgICAgfSwgW10pLFxuICAgICAgXVxuICAgIH1cbiAgICByZXR1cm4gZmllbGRzVG9Vc2VcbiAgfSwgW10pXG59XG5cbmV4cG9ydCBkZWZhdWx0IGZsYXR0ZW5GaWVsZHNcbiJdLCJuYW1lcyI6WyJmaWVsZEFmZmVjdHNEYXRhIiwiZmllbGRIYXNTdWJGaWVsZHMiLCJmaWVsZElzUHJlc2VudGF0aW9uYWxPbmx5IiwidGFiSGFzTmFtZSIsImZsYXR0ZW5GaWVsZHMiLCJmaWVsZHMiLCJrZWVwUHJlc2VudGF0aW9uYWxGaWVsZHMiLCJyZWR1Y2UiLCJmaWVsZHNUb1VzZSIsImZpZWxkIiwidHlwZSIsInRhYnMiLCJ0YWJGaWVsZHMiLCJ0YWIiXSwibWFwcGluZ3MiOiJBQU1BLFNBQ0VBLGdCQUFnQixFQUNoQkMsaUJBQWlCLEVBQ2pCQyx5QkFBeUIsRUFDekJDLFVBQVUsUUFDTCw0QkFBMkI7QUFFbEM7Ozs7OztDQU1DLEdBQ0QsTUFBTUMsZ0JBQWdCLENBQ3BCQyxRQUNBQztJQUVBLE9BQU9ELE9BQU9FLE1BQU0sQ0FBQyxDQUFDQyxhQUFhQztRQUNqQyxJQUFJVCxpQkFBaUJTLFVBQVdILDRCQUE0QkosMEJBQTBCTyxRQUFTO1lBQzdGLE9BQU87bUJBQUlEO2dCQUFhQzthQUFNO1FBQ2hDO1FBRUEsSUFBSVIsa0JBQWtCUSxRQUFRO1lBQzVCLE9BQU87bUJBQUlEO21CQUFnQkosY0FBY0ssTUFBTUosTUFBTSxFQUFFQzthQUEwQjtRQUNuRjtRQUVBLElBQUlHLE1BQU1DLElBQUksS0FBSyxRQUFRO1lBQ3pCLE9BQU87bUJBQ0ZGO21CQUNBQyxNQUFNRSxJQUFJLENBQUNKLE1BQU0sQ0FBQyxDQUFDSyxXQUFXQztvQkFDL0IsT0FBTzsyQkFDRkQ7MkJBQ0NULFdBQVdVLE9BQ1g7NEJBQUM7Z0NBQUUsR0FBR0EsR0FBRztnQ0FBRUgsTUFBTTs0QkFBTTt5QkFBRSxHQUN6Qk4sY0FBY1MsSUFBSVIsTUFBTSxFQUFFQztxQkFDL0I7Z0JBQ0gsR0FBRyxFQUFFO2FBQ047UUFDSDtRQUNBLE9BQU9FO0lBQ1QsR0FBRyxFQUFFO0FBQ1A7QUFFQSxlQUFlSixjQUFhIn0=
43
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIi4uLy4uL3NyYy91dGlsaXRpZXMvZmxhdHRlblRvcExldmVsRmllbGRzLnRzIl0sInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB0eXBlIHsgRmllbGQsIEZpZWxkQWZmZWN0aW5nRGF0YSwgRmllbGRQcmVzZW50YXRpb25hbE9ubHkgfSBmcm9tICcuLi9maWVsZHMvY29uZmlnL3R5cGVzLmpzJ1xuXG5pbXBvcnQge1xuICBmaWVsZEFmZmVjdHNEYXRhLFxuICBmaWVsZEhhc1N1YkZpZWxkcyxcbiAgZmllbGRJc1ByZXNlbnRhdGlvbmFsT25seSxcbiAgdGFiSGFzTmFtZSxcbn0gZnJvbSAnLi4vZmllbGRzL2NvbmZpZy90eXBlcy5qcydcblxuLyoqXG4gKiBGbGF0dGVucyBhIGNvbGxlY3Rpb24ncyBmaWVsZHMgaW50byBhIHNpbmdsZSBhcnJheSBvZiBmaWVsZHMsIGFzIGxvbmdcbiAqIGFzIHRoZSBmaWVsZHMgZG8gbm90IGFmZmVjdCBkYXRhLlxuICpcbiAqIEBwYXJhbSBmaWVsZHNcbiAqIEBwYXJhbSBrZWVwUHJlc2VudGF0aW9uYWxGaWVsZHMgaWYgdHJ1ZSwgd2lsbCBza2lwIGZsYXR0ZW5pbmcgZmllbGRzIHRoYXQgYXJlIHByZXNlbnRhdGlvbmFsIG9ubHlcbiAqL1xuY29uc3QgZmxhdHRlbkZpZWxkcyA9IChcbiAgZmllbGRzOiBGaWVsZFtdLFxuICBrZWVwUHJlc2VudGF0aW9uYWxGaWVsZHM/OiBib29sZWFuLFxuKTogKEZpZWxkQWZmZWN0aW5nRGF0YSB8IEZpZWxkUHJlc2VudGF0aW9uYWxPbmx5KVtdID0+IHtcbiAgcmV0dXJuIGZpZWxkcy5yZWR1Y2UoKGZpZWxkc1RvVXNlLCBmaWVsZCkgPT4ge1xuICAgIGlmIChmaWVsZEFmZmVjdHNEYXRhKGZpZWxkKSB8fCAoa2VlcFByZXNlbnRhdGlvbmFsRmllbGRzICYmIGZpZWxkSXNQcmVzZW50YXRpb25hbE9ubHkoZmllbGQpKSkge1xuICAgICAgcmV0dXJuIFsuLi5maWVsZHNUb1VzZSwgZmllbGRdXG4gICAgfVxuXG4gICAgaWYgKGZpZWxkSGFzU3ViRmllbGRzKGZpZWxkKSkge1xuICAgICAgcmV0dXJuIFsuLi5maWVsZHNUb1VzZSwgLi4uZmxhdHRlbkZpZWxkcyhmaWVsZC5maWVsZHMsIGtlZXBQcmVzZW50YXRpb25hbEZpZWxkcyldXG4gICAgfVxuXG4gICAgaWYgKGZpZWxkLnR5cGUgPT09ICd0YWJzJykge1xuICAgICAgcmV0dXJuIFtcbiAgICAgICAgLi4uZmllbGRzVG9Vc2UsXG4gICAgICAgIC4uLmZpZWxkLnRhYnMucmVkdWNlKCh0YWJGaWVsZHMsIHRhYikgPT4ge1xuICAgICAgICAgIHJldHVybiBbXG4gICAgICAgICAgICAuLi50YWJGaWVsZHMsXG4gICAgICAgICAgICAuLi4odGFiSGFzTmFtZSh0YWIpXG4gICAgICAgICAgICAgID8gW3sgLi4udGFiLCB0eXBlOiAndGFiJyB9XVxuICAgICAgICAgICAgICA6IGZsYXR0ZW5GaWVsZHModGFiLmZpZWxkcywga2VlcFByZXNlbnRhdGlvbmFsRmllbGRzKSksXG4gICAgICAgICAgXVxuICAgICAgICB9LCBbXSksXG4gICAgICBdXG4gICAgfVxuICAgIHJldHVybiBmaWVsZHNUb1VzZVxuICB9LCBbXSlcbn1cblxuZXhwb3J0IGRlZmF1bHQgZmxhdHRlbkZpZWxkc1xuIl0sIm5hbWVzIjpbImZpZWxkQWZmZWN0c0RhdGEiLCJmaWVsZEhhc1N1YkZpZWxkcyIsImZpZWxkSXNQcmVzZW50YXRpb25hbE9ubHkiLCJ0YWJIYXNOYW1lIiwiZmxhdHRlbkZpZWxkcyIsImZpZWxkcyIsImtlZXBQcmVzZW50YXRpb25hbEZpZWxkcyIsInJlZHVjZSIsImZpZWxkc1RvVXNlIiwiZmllbGQiLCJ0eXBlIiwidGFicyIsInRhYkZpZWxkcyIsInRhYiJdLCJtYXBwaW5ncyI6IkFBRUEsU0FDRUEsZ0JBQWdCLEVBQ2hCQyxpQkFBaUIsRUFDakJDLHlCQUF5QixFQUN6QkMsVUFBVSxRQUNMLDRCQUEyQjtBQUVsQzs7Ozs7O0NBTUMsR0FDRCxNQUFNQyxnQkFBZ0IsQ0FDcEJDLFFBQ0FDO0lBRUEsT0FBT0QsT0FBT0UsTUFBTSxDQUFDLENBQUNDLGFBQWFDO1FBQ2pDLElBQUlULGlCQUFpQlMsVUFBV0gsNEJBQTRCSiwwQkFBMEJPLFFBQVM7WUFDN0YsT0FBTzttQkFBSUQ7Z0JBQWFDO2FBQU07UUFDaEM7UUFFQSxJQUFJUixrQkFBa0JRLFFBQVE7WUFDNUIsT0FBTzttQkFBSUQ7bUJBQWdCSixjQUFjSyxNQUFNSixNQUFNLEVBQUVDO2FBQTBCO1FBQ25GO1FBRUEsSUFBSUcsTUFBTUMsSUFBSSxLQUFLLFFBQVE7WUFDekIsT0FBTzttQkFDRkY7bUJBQ0FDLE1BQU1FLElBQUksQ0FBQ0osTUFBTSxDQUFDLENBQUNLLFdBQVdDO29CQUMvQixPQUFPOzJCQUNGRDsyQkFDQ1QsV0FBV1UsT0FDWDs0QkFBQztnQ0FBRSxHQUFHQSxHQUFHO2dDQUFFSCxNQUFNOzRCQUFNO3lCQUFFLEdBQ3pCTixjQUFjUyxJQUFJUixNQUFNLEVBQUVDO3FCQUMvQjtnQkFDSCxHQUFHLEVBQUU7YUFDTjtRQUNIO1FBQ0EsT0FBT0U7SUFDVCxHQUFHLEVBQUU7QUFDUDtBQUVBLGVBQWVKLGNBQWEifQ==
@@ -0,0 +1,13 @@
1
+ import type { SanitizedConfig } from '../config/types.js';
2
+ /**
3
+ * While the default ID is determined by the db adapter, it can still differ for a collection if they
4
+ * define a custom ID field. This builds a map of collection slugs to their ID field type.
5
+ * @param defaultIDType as defined by the database adapter
6
+ */
7
+ export declare function getCollectionIDFieldTypes({ config, defaultIDType, }: {
8
+ config: SanitizedConfig;
9
+ defaultIDType: 'number' | 'text';
10
+ }): {
11
+ [key: string]: 'number' | 'string';
12
+ };
13
+ //# sourceMappingURL=getCollectionIDFieldTypes.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"getCollectionIDFieldTypes.d.ts","sourceRoot":"","sources":["../../src/utilities/getCollectionIDFieldTypes.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,eAAe,EAAE,MAAM,oBAAoB,CAAA;AAEzD;;;;GAIG;AACH,wBAAgB,yBAAyB,CAAC,EACxC,MAAM,EACN,aAAa,GACd,EAAE;IACD,MAAM,EAAE,eAAe,CAAA;IACvB,aAAa,EAAE,QAAQ,GAAG,MAAM,CAAA;CACjC,GAAG;IAAE,CAAC,GAAG,EAAE,MAAM,GAAG,QAAQ,GAAG,QAAQ,CAAA;CAAE,CAczC"}
@@ -0,0 +1,16 @@
1
+ /**
2
+ * While the default ID is determined by the db adapter, it can still differ for a collection if they
3
+ * define a custom ID field. This builds a map of collection slugs to their ID field type.
4
+ * @param defaultIDType as defined by the database adapter
5
+ */ export function getCollectionIDFieldTypes({ config, defaultIDType }) {
6
+ return config.collections.reduce((acc, collection)=>{
7
+ const customCollectionIdField = collection.fields.find((field)=>'name' in field && field.name === 'id');
8
+ acc[collection.slug] = defaultIDType === 'text' ? 'string' : 'number';
9
+ if (customCollectionIdField) {
10
+ acc[collection.slug] = customCollectionIdField.type === 'number' ? 'number' : 'string';
11
+ }
12
+ return acc;
13
+ }, {});
14
+ }
15
+
16
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIi4uLy4uL3NyYy91dGlsaXRpZXMvZ2V0Q29sbGVjdGlvbklERmllbGRUeXBlcy50cyJdLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgdHlwZSB7IFNhbml0aXplZENvbmZpZyB9IGZyb20gJy4uL2NvbmZpZy90eXBlcy5qcydcblxuLyoqXG4gKiAgV2hpbGUgdGhlIGRlZmF1bHQgSUQgaXMgZGV0ZXJtaW5lZCBieSB0aGUgZGIgYWRhcHRlciwgaXQgY2FuIHN0aWxsIGRpZmZlciBmb3IgYSBjb2xsZWN0aW9uIGlmIHRoZXlcbiAqICBkZWZpbmUgYSBjdXN0b20gSUQgZmllbGQuIFRoaXMgYnVpbGRzIGEgbWFwIG9mIGNvbGxlY3Rpb24gc2x1Z3MgdG8gdGhlaXIgSUQgZmllbGQgdHlwZS5cbiAqIEBwYXJhbSBkZWZhdWx0SURUeXBlIGFzIGRlZmluZWQgYnkgdGhlIGRhdGFiYXNlIGFkYXB0ZXJcbiAqL1xuZXhwb3J0IGZ1bmN0aW9uIGdldENvbGxlY3Rpb25JREZpZWxkVHlwZXMoe1xuICBjb25maWcsXG4gIGRlZmF1bHRJRFR5cGUsXG59OiB7XG4gIGNvbmZpZzogU2FuaXRpemVkQ29uZmlnXG4gIGRlZmF1bHRJRFR5cGU6ICdudW1iZXInIHwgJ3RleHQnXG59KTogeyBba2V5OiBzdHJpbmddOiAnbnVtYmVyJyB8ICdzdHJpbmcnIH0ge1xuICByZXR1cm4gY29uZmlnLmNvbGxlY3Rpb25zLnJlZHVjZSgoYWNjLCBjb2xsZWN0aW9uKSA9PiB7XG4gICAgY29uc3QgY3VzdG9tQ29sbGVjdGlvbklkRmllbGQgPSBjb2xsZWN0aW9uLmZpZWxkcy5maW5kKFxuICAgICAgKGZpZWxkKSA9PiAnbmFtZScgaW4gZmllbGQgJiYgZmllbGQubmFtZSA9PT0gJ2lkJyxcbiAgICApXG5cbiAgICBhY2NbY29sbGVjdGlvbi5zbHVnXSA9IGRlZmF1bHRJRFR5cGUgPT09ICd0ZXh0JyA/ICdzdHJpbmcnIDogJ251bWJlcidcblxuICAgIGlmIChjdXN0b21Db2xsZWN0aW9uSWRGaWVsZCkge1xuICAgICAgYWNjW2NvbGxlY3Rpb24uc2x1Z10gPSBjdXN0b21Db2xsZWN0aW9uSWRGaWVsZC50eXBlID09PSAnbnVtYmVyJyA/ICdudW1iZXInIDogJ3N0cmluZydcbiAgICB9XG5cbiAgICByZXR1cm4gYWNjXG4gIH0sIHt9KVxufVxuIl0sIm5hbWVzIjpbImdldENvbGxlY3Rpb25JREZpZWxkVHlwZXMiLCJjb25maWciLCJkZWZhdWx0SURUeXBlIiwiY29sbGVjdGlvbnMiLCJyZWR1Y2UiLCJhY2MiLCJjb2xsZWN0aW9uIiwiY3VzdG9tQ29sbGVjdGlvbklkRmllbGQiLCJmaWVsZHMiLCJmaW5kIiwiZmllbGQiLCJuYW1lIiwic2x1ZyIsInR5cGUiXSwibWFwcGluZ3MiOiJBQUVBOzs7O0NBSUMsR0FDRCxPQUFPLFNBQVNBLDBCQUEwQixFQUN4Q0MsTUFBTSxFQUNOQyxhQUFhLEVBSWQ7SUFDQyxPQUFPRCxPQUFPRSxXQUFXLENBQUNDLE1BQU0sQ0FBQyxDQUFDQyxLQUFLQztRQUNyQyxNQUFNQywwQkFBMEJELFdBQVdFLE1BQU0sQ0FBQ0MsSUFBSSxDQUNwRCxDQUFDQyxRQUFVLFVBQVVBLFNBQVNBLE1BQU1DLElBQUksS0FBSztRQUcvQ04sR0FBRyxDQUFDQyxXQUFXTSxJQUFJLENBQUMsR0FBR1Ysa0JBQWtCLFNBQVMsV0FBVztRQUU3RCxJQUFJSyx5QkFBeUI7WUFDM0JGLEdBQUcsQ0FBQ0MsV0FBV00sSUFBSSxDQUFDLEdBQUdMLHdCQUF3Qk0sSUFBSSxLQUFLLFdBQVcsV0FBVztRQUNoRjtRQUVBLE9BQU9SO0lBQ1QsR0FBRyxDQUFDO0FBQ04ifQ==
@@ -1,7 +1,7 @@
1
- import type { CollectionPermission, GlobalPermission } from '../auth/types.d.ts';
2
- import type { SanitizedCollectionConfig } from '../collections/config/types.d.ts';
3
- import type { SanitizedGlobalConfig } from '../globals/config/types.d.ts';
4
- import type { AllOperations, PayloadRequest } from '../types/index.d.ts';
1
+ import type { CollectionPermission, GlobalPermission } from '../auth/types.js';
2
+ import type { SanitizedCollectionConfig } from '../collections/config/types.js';
3
+ import type { SanitizedGlobalConfig } from '../globals/config/types.js';
4
+ import type { AllOperations, PayloadRequest } from '../types/index.js';
5
5
  type Args = {
6
6
  entity: SanitizedCollectionConfig | SanitizedGlobalConfig;
7
7
  id?: number | string;
@@ -1 +1 @@
1
- {"version":3,"file":"getEntityPolicies.d.ts","sourceRoot":"","sources":["../../src/utilities/getEntityPolicies.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,oBAAoB,EAAE,gBAAgB,EAAE,MAAM,oBAAoB,CAAA;AAChF,OAAO,KAAK,EAAE,yBAAyB,EAAc,MAAM,kCAAkC,CAAA;AAG7F,OAAO,KAAK,EAAE,qBAAqB,EAAE,MAAM,8BAA8B,CAAA;AACzE,OAAO,KAAK,EAAE,aAAa,EAAY,cAAc,EAAS,MAAM,qBAAqB,CAAA;AAIzF,KAAK,IAAI,GAAG;IACV,MAAM,EAAE,yBAAyB,GAAG,qBAAqB,CAAA;IACzD,EAAE,CAAC,EAAE,MAAM,GAAG,MAAM,CAAA;IACpB,UAAU,EAAE,aAAa,EAAE,CAAA;IAC3B,GAAG,EAAE,cAAc,CAAA;IACnB,IAAI,EAAE,YAAY,GAAG,QAAQ,CAAA;CAC9B,CAAA;AAED,KAAK,UAAU,CAAC,CAAC,SAAS,IAAI,IAAI,CAAC,CAAC,MAAM,CAAC,SAAS,QAAQ,GACxD,gBAAgB,GAChB,oBAAoB,CAAA;AAYxB,wBAAsB,iBAAiB,CAAC,CAAC,SAAS,IAAI,EAAE,IAAI,EAAE,CAAC,GAAG,OAAO,CAAC,UAAU,CAAC,CAAC,CAAC,CAAC,CA4NvF"}
1
+ {"version":3,"file":"getEntityPolicies.d.ts","sourceRoot":"","sources":["../../src/utilities/getEntityPolicies.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,oBAAoB,EAAE,gBAAgB,EAAE,MAAM,kBAAkB,CAAA;AAC9E,OAAO,KAAK,EAAE,yBAAyB,EAAc,MAAM,gCAAgC,CAAA;AAG3F,OAAO,KAAK,EAAE,qBAAqB,EAAE,MAAM,4BAA4B,CAAA;AACvE,OAAO,KAAK,EAAE,aAAa,EAAY,cAAc,EAAS,MAAM,mBAAmB,CAAA;AAIvF,KAAK,IAAI,GAAG;IACV,MAAM,EAAE,yBAAyB,GAAG,qBAAqB,CAAA;IACzD,EAAE,CAAC,EAAE,MAAM,GAAG,MAAM,CAAA;IACpB,UAAU,EAAE,aAAa,EAAE,CAAA;IAC3B,GAAG,EAAE,cAAc,CAAA;IACnB,IAAI,EAAE,YAAY,GAAG,QAAQ,CAAA;CAC9B,CAAA;AAED,KAAK,UAAU,CAAC,CAAC,SAAS,IAAI,IAAI,CAAC,CAAC,MAAM,CAAC,SAAS,QAAQ,GACxD,gBAAgB,GAChB,oBAAoB,CAAA;AAYxB,wBAAsB,iBAAiB,CAAC,CAAC,SAAS,IAAI,EAAE,IAAI,EAAE,CAAC,GAAG,OAAO,CAAC,UAAU,CAAC,CAAC,CAAC,CAAC,CA4NvF"}
@@ -196,4 +196,4 @@ export async function getEntityPolicies(args) {
196
196
  return policies;
197
197
  }
198
198
 
199
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIi4uLy4uL3NyYy91dGlsaXRpZXMvZ2V0RW50aXR5UG9saWNpZXMudHMiXSwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHR5cGUgeyBDb2xsZWN0aW9uUGVybWlzc2lvbiwgR2xvYmFsUGVybWlzc2lvbiB9IGZyb20gJy4uL2F1dGgvdHlwZXMuZC50cydcbmltcG9ydCB0eXBlIHsgU2FuaXRpemVkQ29sbGVjdGlvbkNvbmZpZywgVHlwZVdpdGhJRCB9IGZyb20gJy4uL2NvbGxlY3Rpb25zL2NvbmZpZy90eXBlcy5kLnRzJ1xuaW1wb3J0IHR5cGUgeyBBY2Nlc3MgfSBmcm9tICcuLi9jb25maWcvdHlwZXMuZC50cydcbmltcG9ydCB0eXBlIHsgRmllbGRBY2Nlc3MgfSBmcm9tICcuLi9maWVsZHMvY29uZmlnL3R5cGVzLmQudHMnXG5pbXBvcnQgdHlwZSB7IFNhbml0aXplZEdsb2JhbENvbmZpZyB9IGZyb20gJy4uL2dsb2JhbHMvY29uZmlnL3R5cGVzLmQudHMnXG5pbXBvcnQgdHlwZSB7IEFsbE9wZXJhdGlvbnMsIERvY3VtZW50LCBQYXlsb2FkUmVxdWVzdCwgV2hlcmUgfSBmcm9tICcuLi90eXBlcy9pbmRleC5kLnRzJ1xuXG5pbXBvcnQgeyB0YWJIYXNOYW1lIH0gZnJvbSAnLi4vZmllbGRzL2NvbmZpZy90eXBlcy5qcydcblxudHlwZSBBcmdzID0ge1xuICBlbnRpdHk6IFNhbml0aXplZENvbGxlY3Rpb25Db25maWcgfCBTYW5pdGl6ZWRHbG9iYWxDb25maWdcbiAgaWQ/OiBudW1iZXIgfCBzdHJpbmdcbiAgb3BlcmF0aW9uczogQWxsT3BlcmF0aW9uc1tdXG4gIHJlcTogUGF5bG9hZFJlcXVlc3RcbiAgdHlwZTogJ2NvbGxlY3Rpb24nIHwgJ2dsb2JhbCdcbn1cblxudHlwZSBSZXR1cm5UeXBlPFQgZXh0ZW5kcyBBcmdzPiA9IFRbJ3R5cGUnXSBleHRlbmRzICdnbG9iYWwnXG4gID8gR2xvYmFsUGVybWlzc2lvblxuICA6IENvbGxlY3Rpb25QZXJtaXNzaW9uXG5cbnR5cGUgQ3JlYXRlQWNjZXNzUHJvbWlzZSA9IChhcmdzOiB7XG4gIGFjY2VzczogQWNjZXNzIHwgRmllbGRBY2Nlc3NcbiAgYWNjZXNzTGV2ZWw6ICdlbnRpdHknIHwgJ2ZpZWxkJ1xuICBkaXNhYmxlV2hlcmU/OiBib29sZWFuXG4gIG9wZXJhdGlvbjogQWxsT3BlcmF0aW9uc1xuICBwb2xpY2llc09iajoge1xuICAgIFtrZXk6IHN0cmluZ106IGFueVxuICB9XG59KSA9PiBQcm9taXNlPHZvaWQ+XG5cbmV4cG9ydCBhc3luYyBmdW5jdGlvbiBnZXRFbnRpdHlQb2xpY2llczxUIGV4dGVuZHMgQXJncz4oYXJnczogVCk6IFByb21pc2U8UmV0dXJuVHlwZTxUPj4ge1xuICBjb25zdCB7IGlkLCBlbnRpdHksIG9wZXJhdGlvbnMsIHJlcSwgdHlwZSB9ID0gYXJnc1xuICBjb25zdCB7IGRhdGEsIHBheWxvYWQsIHVzZXIgfSA9IHJlcVxuICBjb25zdCBpc0xvZ2dlZEluID0gISF1c2VyXG5cbiAgY29uc3QgcG9saWNpZXMgPSB7XG4gICAgZmllbGRzOiB7fSxcbiAgfSBhcyBSZXR1cm5UeXBlPFQ+XG5cbiAgbGV0IGRvY0JlaW5nQWNjZXNzZWRcblxuICBhc3luYyBmdW5jdGlvbiBnZXRFbnRpdHlEb2MoeyB3aGVyZSB9OiB7IHdoZXJlPzogV2hlcmUgfSA9IHt9KTogUHJvbWlzZTxUeXBlV2l0aElEICYgRG9jdW1lbnQ+IHtcbiAgICBpZiAoZW50aXR5LnNsdWcpIHtcbiAgICAgIGlmICh0eXBlID09PSAnZ2xvYmFsJykge1xuICAgICAgICByZXR1cm4gcGF5bG9hZC5maW5kR2xvYmFsKHtcbiAgICAgICAgICBvdmVycmlkZUFjY2VzczogdHJ1ZSxcbiAgICAgICAgICByZXEsXG4gICAgICAgICAgc2x1ZzogZW50aXR5LnNsdWcsXG4gICAgICAgIH0pXG4gICAgICB9XG5cbiAgICAgIGlmICh0eXBlID09PSAnY29sbGVjdGlvbicgJiYgaWQpIHtcbiAgICAgICAgaWYgKHR5cGVvZiB3aGVyZSA9PT0gJ29iamVjdCcpIHtcbiAgICAgICAgICBjb25zdCBwYWdpbmF0ZWRSZXMgPSBhd2FpdCBwYXlsb2FkLmZpbmQoe1xuICAgICAgICAgICAgY29sbGVjdGlvbjogZW50aXR5LnNsdWcsXG4gICAgICAgICAgICBkZXB0aDogMCxcbiAgICAgICAgICAgIGxpbWl0OiAxLFxuICAgICAgICAgICAgb3ZlcnJpZGVBY2Nlc3M6IHRydWUsXG4gICAgICAgICAgICBwYWdpbmF0aW9uOiBmYWxzZSxcbiAgICAgICAgICAgIHJlcSxcbiAgICAgICAgICAgIHdoZXJlOiB7XG4gICAgICAgICAgICAgIC4uLndoZXJlLFxuICAgICAgICAgICAgICBhbmQ6IFtcbiAgICAgICAgICAgICAgICAuLi4od2hlcmUuYW5kIHx8IFtdKSxcbiAgICAgICAgICAgICAgICB7XG4gICAgICAgICAgICAgICAgICBpZDoge1xuICAgICAgICAgICAgICAgICAgICBlcXVhbHM6IGlkLFxuICAgICAgICAgICAgICAgICAgfSxcbiAgICAgICAgICAgICAgICB9LFxuICAgICAgICAgICAgICBdLFxuICAgICAgICAgICAgfSxcbiAgICAgICAgICB9KVxuXG4gICAgICAgICAgcmV0dXJuIHBhZ2luYXRlZFJlcz8uZG9jcz8uWzBdIHx8IHVuZGVmaW5lZFxuICAgICAgICB9XG5cbiAgICAgICAgcmV0dXJuIHBheWxvYWQuZmluZEJ5SUQoe1xuICAgICAgICAgIGlkLFxuICAgICAgICAgIGNvbGxlY3Rpb246IGVudGl0eS5zbHVnLFxuICAgICAgICAgIGRlcHRoOiAwLFxuICAgICAgICAgIG92ZXJyaWRlQWNjZXNzOiB0cnVlLFxuICAgICAgICAgIHJlcSxcbiAgICAgICAgfSlcbiAgICAgIH1cbiAgICB9XG5cbiAgICByZXR1cm4gdW5kZWZpbmVkXG4gIH1cblxuICBjb25zdCBjcmVhdGVBY2Nlc3NQcm9taXNlOiBDcmVhdGVBY2Nlc3NQcm9taXNlID0gYXN5bmMgKHtcbiAgICBhY2Nlc3MsXG4gICAgYWNjZXNzTGV2ZWwsXG4gICAgZGlzYWJsZVdoZXJlID0gZmFsc2UsXG4gICAgb3BlcmF0aW9uLFxuICAgIHBvbGljaWVzT2JqLFxuICB9KSA9PiB7XG4gICAgY29uc3QgbXV0YWJsZVBvbGljaWVzID0gcG9saWNpZXNPYmpcblxuICAgIGlmIChhY2Nlc3NMZXZlbCA9PT0gJ2ZpZWxkJyAmJiBkb2NCZWluZ0FjY2Vzc2VkID09PSB1bmRlZmluZWQpIHtcbiAgICAgIC8vIGFzc2lnbiBkb2NCZWluZ0FjY2Vzc2VkIGZpcnN0IGFzIHRoZSBwcm9taXNlIHRvIGF2b2lkIG11bHRpcGxlIGNhbGxzIHRvIGdldEVudGl0eURvY1xuICAgICAgZG9jQmVpbmdBY2Nlc3NlZCA9IGdldEVudGl0eURvYygpLnRoZW4oKGRvYykgPT4ge1xuICAgICAgICBkb2NCZWluZ0FjY2Vzc2VkID0gZG9jXG4gICAgICB9KVxuICAgIH1cbiAgICAvLyBhd2FpdGluZyB0aGUgcHJvbWlzZSB0byBlbnN1cmUgZG9jQmVpbmdBY2Nlc3NlZCBpcyBhc3NpZ25lZCBiZWZvcmUgaXQgaXMgdXNlZFxuICAgIGF3YWl0IGRvY0JlaW5nQWNjZXNzZWRcblxuICAgIC8vIGh0dHBzOi8vcGF5bG9hZGNtcy5zbGFjay5jb20vYXJjaGl2ZXMvQzA0OFo5QzJCRVgvcDE3MDIwNTQ5MjgzNDM3NjlcbiAgICBjb25zdCBhY2Nlc3NSZXN1bHQgPSBhd2FpdCBhY2Nlc3MoeyBpZCwgZGF0YSwgZG9jOiBkb2NCZWluZ0FjY2Vzc2VkLCByZXEgfSlcblxuICAgIGlmICh0eXBlb2YgYWNjZXNzUmVzdWx0ID09PSAnb2JqZWN0JyAmJiAhZGlzYWJsZVdoZXJlKSB7XG4gICAgICBtdXRhYmxlUG9saWNpZXNbb3BlcmF0aW9uXSA9IHtcbiAgICAgICAgcGVybWlzc2lvbjpcbiAgICAgICAgICBpZCB8fCB0eXBlID09PSAnZ2xvYmFsJyA/ICEhKGF3YWl0IGdldEVudGl0eURvYyh7IHdoZXJlOiBhY2Nlc3NSZXN1bHQgfSkpIDogdHJ1ZSxcbiAgICAgICAgd2hlcmU6IGFjY2Vzc1Jlc3VsdCxcbiAgICAgIH1cbiAgICB9IGVsc2UgaWYgKG11dGFibGVQb2xpY2llc1tvcGVyYXRpb25dPy5wZXJtaXNzaW9uICE9PSBmYWxzZSkge1xuICAgICAgbXV0YWJsZVBvbGljaWVzW29wZXJhdGlvbl0gPSB7XG4gICAgICAgIHBlcm1pc3Npb246ICEhYWNjZXNzUmVzdWx0LFxuICAgICAgfVxuICAgIH1cbiAgfVxuXG4gIGNvbnN0IGV4ZWN1dGVGaWVsZFBvbGljaWVzID0gYXN5bmMgKHsgZW50aXR5UGVybWlzc2lvbiwgZmllbGRzLCBvcGVyYXRpb24sIHBvbGljaWVzT2JqIH0pID0+IHtcbiAgICBjb25zdCBtdXRhYmxlUG9saWNpZXMgPSBwb2xpY2llc09iai5maWVsZHNcblxuICAgIGF3YWl0IFByb21pc2UuYWxsKFxuICAgICAgZmllbGRzLm1hcChhc3luYyAoZmllbGQpID0+IHtcbiAgICAgICAgaWYgKGZpZWxkLm5hbWUpIHtcbiAgICAgICAgICBpZiAoIW11dGFibGVQb2xpY2llc1tmaWVsZC5uYW1lXSkgbXV0YWJsZVBvbGljaWVzW2ZpZWxkLm5hbWVdID0ge31cblxuICAgICAgICAgIGlmIChmaWVsZC5hY2Nlc3MgJiYgdHlwZW9mIGZpZWxkLmFjY2Vzc1tvcGVyYXRpb25dID09PSAnZnVuY3Rpb24nKSB7XG4gICAgICAgICAgICBhd2FpdCBjcmVhdGVBY2Nlc3NQcm9taXNlKHtcbiAgICAgICAgICAgICAgYWNjZXNzOiBmaWVsZC5hY2Nlc3Nbb3BlcmF0aW9uXSxcbiAgICAgICAgICAgICAgYWNjZXNzTGV2ZWw6ICdmaWVsZCcsXG4gICAgICAgICAgICAgIGRpc2FibGVXaGVyZTogdHJ1ZSxcbiAgICAgICAgICAgICAgb3BlcmF0aW9uLFxuICAgICAgICAgICAgICBwb2xpY2llc09iajogbXV0YWJsZVBvbGljaWVzW2ZpZWxkLm5hbWVdLFxuICAgICAgICAgICAgfSlcbiAgICAgICAgICB9IGVsc2Uge1xuICAgICAgICAgICAgbXV0YWJsZVBvbGljaWVzW2ZpZWxkLm5hbWVdW29wZXJhdGlvbl0gPSB7XG4gICAgICAgICAgICAgIHBlcm1pc3Npb246IHBvbGljaWVzT2JqW29wZXJhdGlvbl0/LnBlcm1pc3Npb24sXG4gICAgICAgICAgICB9XG4gICAgICAgICAgfVxuXG4gICAgICAgICAgaWYgKGZpZWxkLmZpZWxkcykge1xuICAgICAgICAgICAgaWYgKCFtdXRhYmxlUG9saWNpZXNbZmllbGQubmFtZV0uZmllbGRzKSBtdXRhYmxlUG9saWNpZXNbZmllbGQubmFtZV0uZmllbGRzID0ge31cblxuICAgICAgICAgICAgYXdhaXQgZXhlY3V0ZUZpZWxkUG9saWNpZXMoe1xuICAgICAgICAgICAgICBlbnRpdHlQZXJtaXNzaW9uLFxuICAgICAgICAgICAgICBmaWVsZHM6IGZpZWxkLmZpZWxkcyxcbiAgICAgICAgICAgICAgb3BlcmF0aW9uLFxuICAgICAgICAgICAgICBwb2xpY2llc09iajogbXV0YWJsZVBvbGljaWVzW2ZpZWxkLm5hbWVdLFxuICAgICAgICAgICAgfSlcbiAgICAgICAgICB9XG5cbiAgICAgICAgICBpZiAoZmllbGQ/LmJsb2Nrcykge1xuICAgICAgICAgICAgaWYgKCFtdXRhYmxlUG9saWNpZXNbZmllbGQubmFtZV0/LmJsb2NrcykgbXV0YWJsZVBvbGljaWVzW2ZpZWxkLm5hbWVdLmJsb2NrcyA9IHt9XG5cbiAgICAgICAgICAgIGF3YWl0IFByb21pc2UuYWxsKFxuICAgICAgICAgICAgICBmaWVsZC5ibG9ja3MubWFwKGFzeW5jIChibG9jaykgPT4ge1xuICAgICAgICAgICAgICAgIGlmICghbXV0YWJsZVBvbGljaWVzW2ZpZWxkLm5hbWVdLmJsb2Nrcz8uW2Jsb2NrLnNsdWddKSB7XG4gICAgICAgICAgICAgICAgICBtdXRhYmxlUG9saWNpZXNbZmllbGQubmFtZV0uYmxvY2tzW2Jsb2NrLnNsdWddID0ge1xuICAgICAgICAgICAgICAgICAgICBmaWVsZHM6IHt9LFxuICAgICAgICAgICAgICAgICAgICBbb3BlcmF0aW9uXTogeyBwZXJtaXNzaW9uOiBlbnRpdHlQZXJtaXNzaW9uIH0sXG4gICAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICAgICAgfSBlbHNlIGlmICghbXV0YWJsZVBvbGljaWVzW2ZpZWxkLm5hbWVdLmJsb2Nrc1tibG9jay5zbHVnXVtvcGVyYXRpb25dKSB7XG4gICAgICAgICAgICAgICAgICBtdXRhYmxlUG9saWNpZXNbZmllbGQubmFtZV0uYmxvY2tzW2Jsb2NrLnNsdWddW29wZXJhdGlvbl0gPSB7XG4gICAgICAgICAgICAgICAgICAgIHBlcm1pc3Npb246IGVudGl0eVBlcm1pc3Npb24sXG4gICAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICAgICAgfVxuXG4gICAgICAgICAgICAgICAgYXdhaXQgZXhlY3V0ZUZpZWxkUG9saWNpZXMoe1xuICAgICAgICAgICAgICAgICAgZW50aXR5UGVybWlzc2lvbixcbiAgICAgICAgICAgICAgICAgIGZpZWxkczogYmxvY2suZmllbGRzLFxuICAgICAgICAgICAgICAgICAgb3BlcmF0aW9uLFxuICAgICAgICAgICAgICAgICAgcG9saWNpZXNPYmo6IG11dGFibGVQb2xpY2llc1tmaWVsZC5uYW1lXS5ibG9ja3NbYmxvY2suc2x1Z10sXG4gICAgICAgICAgICAgICAgfSlcbiAgICAgICAgICAgICAgfSksXG4gICAgICAgICAgICApXG4gICAgICAgICAgfVxuICAgICAgICB9IGVsc2UgaWYgKGZpZWxkLmZpZWxkcykge1xuICAgICAgICAgIGF3YWl0IGV4ZWN1dGVGaWVsZFBvbGljaWVzKHtcbiAgICAgICAgICAgIGVudGl0eVBlcm1pc3Npb24sXG4gICAgICAgICAgICBmaWVsZHM6IGZpZWxkLmZpZWxkcyxcbiAgICAgICAgICAgIG9wZXJhdGlvbixcbiAgICAgICAgICAgIHBvbGljaWVzT2JqLFxuICAgICAgICAgIH0pXG4gICAgICAgIH0gZWxzZSBpZiAoZmllbGQudHlwZSA9PT0gJ3RhYnMnKSB7XG4gICAgICAgICAgYXdhaXQgUHJvbWlzZS5hbGwoXG4gICAgICAgICAgICBmaWVsZC50YWJzLm1hcChhc3luYyAodGFiKSA9PiB7XG4gICAgICAgICAgICAgIGlmICh0YWJIYXNOYW1lKHRhYikpIHtcbiAgICAgICAgICAgICAgICBpZiAoIW11dGFibGVQb2xpY2llc1t0YWIubmFtZV0pIHtcbiAgICAgICAgICAgICAgICAgIG11dGFibGVQb2xpY2llc1t0YWIubmFtZV0gPSB7XG4gICAgICAgICAgICAgICAgICAgIGZpZWxkczoge30sXG4gICAgICAgICAgICAgICAgICAgIFtvcGVyYXRpb25dOiB7IHBlcm1pc3Npb246IGVudGl0eVBlcm1pc3Npb24gfSxcbiAgICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgICAgICB9IGVsc2UgaWYgKCFtdXRhYmxlUG9saWNpZXNbdGFiLm5hbWVdW29wZXJhdGlvbl0pIHtcbiAgICAgICAgICAgICAgICAgIG11dGFibGVQb2xpY2llc1t0YWIubmFtZV1bb3BlcmF0aW9uXSA9IHsgcGVybWlzc2lvbjogZW50aXR5UGVybWlzc2lvbiB9XG4gICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgICAgIGF3YWl0IGV4ZWN1dGVGaWVsZFBvbGljaWVzKHtcbiAgICAgICAgICAgICAgICAgIGVudGl0eVBlcm1pc3Npb24sXG4gICAgICAgICAgICAgICAgICBmaWVsZHM6IHRhYi5maWVsZHMsXG4gICAgICAgICAgICAgICAgICBvcGVyYXRpb24sXG4gICAgICAgICAgICAgICAgICBwb2xpY2llc09iajogbXV0YWJsZVBvbGljaWVzW3RhYi5uYW1lXSxcbiAgICAgICAgICAgICAgICB9KVxuICAgICAgICAgICAgICB9IGVsc2Uge1xuICAgICAgICAgICAgICAgIGF3YWl0IGV4ZWN1dGVGaWVsZFBvbGljaWVzKHtcbiAgICAgICAgICAgICAgICAgIGVudGl0eVBlcm1pc3Npb24sXG4gICAgICAgICAgICAgICAgICBmaWVsZHM6IHRhYi5maWVsZHMsXG4gICAgICAgICAgICAgICAgICBvcGVyYXRpb24sXG4gICAgICAgICAgICAgICAgICBwb2xpY2llc09iaixcbiAgICAgICAgICAgICAgICB9KVxuICAgICAgICAgICAgICB9XG4gICAgICAgICAgICB9KSxcbiAgICAgICAgICApXG4gICAgICAgIH1cbiAgICAgIH0pLFxuICAgIClcbiAgfVxuXG4gIGF3YWl0IG9wZXJhdGlvbnMucmVkdWNlKGFzeW5jIChwcmlvck9wZXJhdGlvbiwgb3BlcmF0aW9uKSA9PiB7XG4gICAgYXdhaXQgcHJpb3JPcGVyYXRpb25cblxuICAgIGxldCBlbnRpdHlBY2Nlc3NQcm9taXNlOiBQcm9taXNlPHZvaWQ+XG5cbiAgICBpZiAodHlwZW9mIGVudGl0eS5hY2Nlc3Nbb3BlcmF0aW9uXSA9PT0gJ2Z1bmN0aW9uJykge1xuICAgICAgZW50aXR5QWNjZXNzUHJvbWlzZSA9IGNyZWF0ZUFjY2Vzc1Byb21pc2Uoe1xuICAgICAgICBhY2Nlc3M6IGVudGl0eS5hY2Nlc3Nbb3BlcmF0aW9uXSxcbiAgICAgICAgYWNjZXNzTGV2ZWw6ICdlbnRpdHknLFxuICAgICAgICBvcGVyYXRpb24sXG4gICAgICAgIHBvbGljaWVzT2JqOiBwb2xpY2llcyxcbiAgICAgIH0pXG4gICAgfSBlbHNlIHtcbiAgICAgIHBvbGljaWVzW29wZXJhdGlvbl0gPSB7XG4gICAgICAgIHBlcm1pc3Npb246IGlzTG9nZ2VkSW4sXG4gICAgICB9XG4gICAgfVxuXG4gICAgYXdhaXQgZW50aXR5QWNjZXNzUHJvbWlzZVxuXG4gICAgYXdhaXQgZXhlY3V0ZUZpZWxkUG9saWNpZXMoe1xuICAgICAgZW50aXR5UGVybWlzc2lvbjogcG9saWNpZXNbb3BlcmF0aW9uXS5wZXJtaXNzaW9uLFxuICAgICAgZmllbGRzOiBlbnRpdHkuZmllbGRzLFxuICAgICAgb3BlcmF0aW9uLFxuICAgICAgcG9saWNpZXNPYmo6IHBvbGljaWVzLFxuICAgIH0pXG4gIH0sIFByb21pc2UucmVzb2x2ZSgpKVxuXG4gIHJldHVybiBwb2xpY2llc1xufVxuIl0sIm5hbWVzIjpbInRhYkhhc05hbWUiLCJnZXRFbnRpdHlQb2xpY2llcyIsImFyZ3MiLCJpZCIsImVudGl0eSIsIm9wZXJhdGlvbnMiLCJyZXEiLCJ0eXBlIiwiZGF0YSIsInBheWxvYWQiLCJ1c2VyIiwiaXNMb2dnZWRJbiIsInBvbGljaWVzIiwiZmllbGRzIiwiZG9jQmVpbmdBY2Nlc3NlZCIsImdldEVudGl0eURvYyIsIndoZXJlIiwic2x1ZyIsImZpbmRHbG9iYWwiLCJvdmVycmlkZUFjY2VzcyIsInBhZ2luYXRlZFJlcyIsImZpbmQiLCJjb2xsZWN0aW9uIiwiZGVwdGgiLCJsaW1pdCIsInBhZ2luYXRpb24iLCJhbmQiLCJlcXVhbHMiLCJkb2NzIiwidW5kZWZpbmVkIiwiZmluZEJ5SUQiLCJjcmVhdGVBY2Nlc3NQcm9taXNlIiwiYWNjZXNzIiwiYWNjZXNzTGV2ZWwiLCJkaXNhYmxlV2hlcmUiLCJvcGVyYXRpb24iLCJwb2xpY2llc09iaiIsIm11dGFibGVQb2xpY2llcyIsInRoZW4iLCJkb2MiLCJhY2Nlc3NSZXN1bHQiLCJwZXJtaXNzaW9uIiwiZXhlY3V0ZUZpZWxkUG9saWNpZXMiLCJlbnRpdHlQZXJtaXNzaW9uIiwiUHJvbWlzZSIsImFsbCIsIm1hcCIsImZpZWxkIiwibmFtZSIsImJsb2NrcyIsImJsb2NrIiwidGFicyIsInRhYiIsInJlZHVjZSIsInByaW9yT3BlcmF0aW9uIiwiZW50aXR5QWNjZXNzUHJvbWlzZSIsInJlc29sdmUiXSwibWFwcGluZ3MiOiJBQU9BLFNBQVNBLFVBQVUsUUFBUSw0QkFBMkI7QUF3QnRELE9BQU8sZUFBZUMsa0JBQWtDQyxJQUFPO0lBQzdELE1BQU0sRUFBRUMsRUFBRSxFQUFFQyxNQUFNLEVBQUVDLFVBQVUsRUFBRUMsR0FBRyxFQUFFQyxJQUFJLEVBQUUsR0FBR0w7SUFDOUMsTUFBTSxFQUFFTSxJQUFJLEVBQUVDLE9BQU8sRUFBRUMsSUFBSSxFQUFFLEdBQUdKO0lBQ2hDLE1BQU1LLGFBQWEsQ0FBQyxDQUFDRDtJQUVyQixNQUFNRSxXQUFXO1FBQ2ZDLFFBQVEsQ0FBQztJQUNYO0lBRUEsSUFBSUM7SUFFSixlQUFlQyxhQUFhLEVBQUVDLEtB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
199
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIi4uLy4uL3NyYy91dGlsaXRpZXMvZ2V0RW50aXR5UG9saWNpZXMudHMiXSwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHR5cGUgeyBDb2xsZWN0aW9uUGVybWlzc2lvbiwgR2xvYmFsUGVybWlzc2lvbiB9IGZyb20gJy4uL2F1dGgvdHlwZXMuanMnXG5pbXBvcnQgdHlwZSB7IFNhbml0aXplZENvbGxlY3Rpb25Db25maWcsIFR5cGVXaXRoSUQgfSBmcm9tICcuLi9jb2xsZWN0aW9ucy9jb25maWcvdHlwZXMuanMnXG5pbXBvcnQgdHlwZSB7IEFjY2VzcyB9IGZyb20gJy4uL2NvbmZpZy90eXBlcy5qcydcbmltcG9ydCB0eXBlIHsgRmllbGRBY2Nlc3MgfSBmcm9tICcuLi9maWVsZHMvY29uZmlnL3R5cGVzLmpzJ1xuaW1wb3J0IHR5cGUgeyBTYW5pdGl6ZWRHbG9iYWxDb25maWcgfSBmcm9tICcuLi9nbG9iYWxzL2NvbmZpZy90eXBlcy5qcydcbmltcG9ydCB0eXBlIHsgQWxsT3BlcmF0aW9ucywgRG9jdW1lbnQsIFBheWxvYWRSZXF1ZXN0LCBXaGVyZSB9IGZyb20gJy4uL3R5cGVzL2luZGV4LmpzJ1xuXG5pbXBvcnQgeyB0YWJIYXNOYW1lIH0gZnJvbSAnLi4vZmllbGRzL2NvbmZpZy90eXBlcy5qcydcblxudHlwZSBBcmdzID0ge1xuICBlbnRpdHk6IFNhbml0aXplZENvbGxlY3Rpb25Db25maWcgfCBTYW5pdGl6ZWRHbG9iYWxDb25maWdcbiAgaWQ/OiBudW1iZXIgfCBzdHJpbmdcbiAgb3BlcmF0aW9uczogQWxsT3BlcmF0aW9uc1tdXG4gIHJlcTogUGF5bG9hZFJlcXVlc3RcbiAgdHlwZTogJ2NvbGxlY3Rpb24nIHwgJ2dsb2JhbCdcbn1cblxudHlwZSBSZXR1cm5UeXBlPFQgZXh0ZW5kcyBBcmdzPiA9IFRbJ3R5cGUnXSBleHRlbmRzICdnbG9iYWwnXG4gID8gR2xvYmFsUGVybWlzc2lvblxuICA6IENvbGxlY3Rpb25QZXJtaXNzaW9uXG5cbnR5cGUgQ3JlYXRlQWNjZXNzUHJvbWlzZSA9IChhcmdzOiB7XG4gIGFjY2VzczogQWNjZXNzIHwgRmllbGRBY2Nlc3NcbiAgYWNjZXNzTGV2ZWw6ICdlbnRpdHknIHwgJ2ZpZWxkJ1xuICBkaXNhYmxlV2hlcmU/OiBib29sZWFuXG4gIG9wZXJhdGlvbjogQWxsT3BlcmF0aW9uc1xuICBwb2xpY2llc09iajoge1xuICAgIFtrZXk6IHN0cmluZ106IGFueVxuICB9XG59KSA9PiBQcm9taXNlPHZvaWQ+XG5cbmV4cG9ydCBhc3luYyBmdW5jdGlvbiBnZXRFbnRpdHlQb2xpY2llczxUIGV4dGVuZHMgQXJncz4oYXJnczogVCk6IFByb21pc2U8UmV0dXJuVHlwZTxUPj4ge1xuICBjb25zdCB7IGlkLCBlbnRpdHksIG9wZXJhdGlvbnMsIHJlcSwgdHlwZSB9ID0gYXJnc1xuICBjb25zdCB7IGRhdGEsIHBheWxvYWQsIHVzZXIgfSA9IHJlcVxuICBjb25zdCBpc0xvZ2dlZEluID0gISF1c2VyXG5cbiAgY29uc3QgcG9saWNpZXMgPSB7XG4gICAgZmllbGRzOiB7fSxcbiAgfSBhcyBSZXR1cm5UeXBlPFQ+XG5cbiAgbGV0IGRvY0JlaW5nQWNjZXNzZWRcblxuICBhc3luYyBmdW5jdGlvbiBnZXRFbnRpdHlEb2MoeyB3aGVyZSB9OiB7IHdoZXJlPzogV2hlcmUgfSA9IHt9KTogUHJvbWlzZTxUeXBlV2l0aElEICYgRG9jdW1lbnQ+IHtcbiAgICBpZiAoZW50aXR5LnNsdWcpIHtcbiAgICAgIGlmICh0eXBlID09PSAnZ2xvYmFsJykge1xuICAgICAgICByZXR1cm4gcGF5bG9hZC5maW5kR2xvYmFsKHtcbiAgICAgICAgICBvdmVycmlkZUFjY2VzczogdHJ1ZSxcbiAgICAgICAgICByZXEsXG4gICAgICAgICAgc2x1ZzogZW50aXR5LnNsdWcsXG4gICAgICAgIH0pXG4gICAgICB9XG5cbiAgICAgIGlmICh0eXBlID09PSAnY29sbGVjdGlvbicgJiYgaWQpIHtcbiAgICAgICAgaWYgKHR5cGVvZiB3aGVyZSA9PT0gJ29iamVjdCcpIHtcbiAgICAgICAgICBjb25zdCBwYWdpbmF0ZWRSZXMgPSBhd2FpdCBwYXlsb2FkLmZpbmQoe1xuICAgICAgICAgICAgY29sbGVjdGlvbjogZW50aXR5LnNsdWcsXG4gICAgICAgICAgICBkZXB0aDogMCxcbiAgICAgICAgICAgIGxpbWl0OiAxLFxuICAgICAgICAgICAgb3ZlcnJpZGVBY2Nlc3M6IHRydWUsXG4gICAgICAgICAgICBwYWdpbmF0aW9uOiBmYWxzZSxcbiAgICAgICAgICAgIHJlcSxcbiAgICAgICAgICAgIHdoZXJlOiB7XG4gICAgICAgICAgICAgIC4uLndoZXJlLFxuICAgICAgICAgICAgICBhbmQ6IFtcbiAgICAgICAgICAgICAgICAuLi4od2hlcmUuYW5kIHx8IFtdKSxcbiAgICAgICAgICAgICAgICB7XG4gICAgICAgICAgICAgICAgICBpZDoge1xuICAgICAgICAgICAgICAgICAgICBlcXVhbHM6IGlkLFxuICAgICAgICAgICAgICAgICAgfSxcbiAgICAgICAgICAgICAgICB9LFxuICAgICAgICAgICAgICBdLFxuICAgICAgICAgICAgfSxcbiAgICAgICAgICB9KVxuXG4gICAgICAgICAgcmV0dXJuIHBhZ2luYXRlZFJlcz8uZG9jcz8uWzBdIHx8IHVuZGVmaW5lZFxuICAgICAgICB9XG5cbiAgICAgICAgcmV0dXJuIHBheWxvYWQuZmluZEJ5SUQoe1xuICAgICAgICAgIGlkLFxuICAgICAgICAgIGNvbGxlY3Rpb246IGVudGl0eS5zbHVnLFxuICAgICAgICAgIGRlcHRoOiAwLFxuICAgICAgICAgIG92ZXJyaWRlQWNjZXNzOiB0cnVlLFxuICAgICAgICAgIHJlcSxcbiAgICAgICAgfSlcbiAgICAgIH1cbiAgICB9XG5cbiAgICByZXR1cm4gdW5kZWZpbmVkXG4gIH1cblxuICBjb25zdCBjcmVhdGVBY2Nlc3NQcm9taXNlOiBDcmVhdGVBY2Nlc3NQcm9taXNlID0gYXN5bmMgKHtcbiAgICBhY2Nlc3MsXG4gICAgYWNjZXNzTGV2ZWwsXG4gICAgZGlzYWJsZVdoZXJlID0gZmFsc2UsXG4gICAgb3BlcmF0aW9uLFxuICAgIHBvbGljaWVzT2JqLFxuICB9KSA9PiB7XG4gICAgY29uc3QgbXV0YWJsZVBvbGljaWVzID0gcG9saWNpZXNPYmpcblxuICAgIGlmIChhY2Nlc3NMZXZlbCA9PT0gJ2ZpZWxkJyAmJiBkb2NCZWluZ0FjY2Vzc2VkID09PSB1bmRlZmluZWQpIHtcbiAgICAgIC8vIGFzc2lnbiBkb2NCZWluZ0FjY2Vzc2VkIGZpcnN0IGFzIHRoZSBwcm9taXNlIHRvIGF2b2lkIG11bHRpcGxlIGNhbGxzIHRvIGdldEVudGl0eURvY1xuICAgICAgZG9jQmVpbmdBY2Nlc3NlZCA9IGdldEVudGl0eURvYygpLnRoZW4oKGRvYykgPT4ge1xuICAgICAgICBkb2NCZWluZ0FjY2Vzc2VkID0gZG9jXG4gICAgICB9KVxuICAgIH1cbiAgICAvLyBhd2FpdGluZyB0aGUgcHJvbWlzZSB0byBlbnN1cmUgZG9jQmVpbmdBY2Nlc3NlZCBpcyBhc3NpZ25lZCBiZWZvcmUgaXQgaXMgdXNlZFxuICAgIGF3YWl0IGRvY0JlaW5nQWNjZXNzZWRcblxuICAgIC8vIGh0dHBzOi8vcGF5bG9hZGNtcy5zbGFjay5jb20vYXJjaGl2ZXMvQzA0OFo5QzJCRVgvcDE3MDIwNTQ5MjgzNDM3NjlcbiAgICBjb25zdCBhY2Nlc3NSZXN1bHQgPSBhd2FpdCBhY2Nlc3MoeyBpZCwgZGF0YSwgZG9jOiBkb2NCZWluZ0FjY2Vzc2VkLCByZXEgfSlcblxuICAgIGlmICh0eXBlb2YgYWNjZXNzUmVzdWx0ID09PSAnb2JqZWN0JyAmJiAhZGlzYWJsZVdoZXJlKSB7XG4gICAgICBtdXRhYmxlUG9saWNpZXNbb3BlcmF0aW9uXSA9IHtcbiAgICAgICAgcGVybWlzc2lvbjpcbiAgICAgICAgICBpZCB8fCB0eXBlID09PSAnZ2xvYmFsJyA/ICEhKGF3YWl0IGdldEVudGl0eURvYyh7IHdoZXJlOiBhY2Nlc3NSZXN1bHQgfSkpIDogdHJ1ZSxcbiAgICAgICAgd2hlcmU6IGFjY2Vzc1Jlc3VsdCxcbiAgICAgIH1cbiAgICB9IGVsc2UgaWYgKG11dGFibGVQb2xpY2llc1tvcGVyYXRpb25dPy5wZXJtaXNzaW9uICE9PSBmYWxzZSkge1xuICAgICAgbXV0YWJsZVBvbGljaWVzW29wZXJhdGlvbl0gPSB7XG4gICAgICAgIHBlcm1pc3Npb246ICEhYWNjZXNzUmVzdWx0LFxuICAgICAgfVxuICAgIH1cbiAgfVxuXG4gIGNvbnN0IGV4ZWN1dGVGaWVsZFBvbGljaWVzID0gYXN5bmMgKHsgZW50aXR5UGVybWlzc2lvbiwgZmllbGRzLCBvcGVyYXRpb24sIHBvbGljaWVzT2JqIH0pID0+IHtcbiAgICBjb25zdCBtdXRhYmxlUG9saWNpZXMgPSBwb2xpY2llc09iai5maWVsZHNcblxuICAgIGF3YWl0IFByb21pc2UuYWxsKFxuICAgICAgZmllbGRzLm1hcChhc3luYyAoZmllbGQpID0+IHtcbiAgICAgICAgaWYgKGZpZWxkLm5hbWUpIHtcbiAgICAgICAgICBpZiAoIW11dGFibGVQb2xpY2llc1tmaWVsZC5uYW1lXSkgbXV0YWJsZVBvbGljaWVzW2ZpZWxkLm5hbWVdID0ge31cblxuICAgICAgICAgIGlmIChmaWVsZC5hY2Nlc3MgJiYgdHlwZW9mIGZpZWxkLmFjY2Vzc1tvcGVyYXRpb25dID09PSAnZnVuY3Rpb24nKSB7XG4gICAgICAgICAgICBhd2FpdCBjcmVhdGVBY2Nlc3NQcm9taXNlKHtcbiAgICAgICAgICAgICAgYWNjZXNzOiBmaWVsZC5hY2Nlc3Nbb3BlcmF0aW9uXSxcbiAgICAgICAgICAgICAgYWNjZXNzTGV2ZWw6ICdmaWVsZCcsXG4gICAgICAgICAgICAgIGRpc2FibGVXaGVyZTogdHJ1ZSxcbiAgICAgICAgICAgICAgb3BlcmF0aW9uLFxuICAgICAgICAgICAgICBwb2xpY2llc09iajogbXV0YWJsZVBvbGljaWVzW2ZpZWxkLm5hbWVdLFxuICAgICAgICAgICAgfSlcbiAgICAgICAgICB9IGVsc2Uge1xuICAgICAgICAgICAgbXV0YWJsZVBvbGljaWVzW2ZpZWxkLm5hbWVdW29wZXJhdGlvbl0gPSB7XG4gICAgICAgICAgICAgIHBlcm1pc3Npb246IHBvbGljaWVzT2JqW29wZXJhdGlvbl0/LnBlcm1pc3Npb24sXG4gICAgICAgICAgICB9XG4gICAgICAgICAgfVxuXG4gICAgICAgICAgaWYgKGZpZWxkLmZpZWxkcykge1xuICAgICAgICAgICAgaWYgKCFtdXRhYmxlUG9saWNpZXNbZmllbGQubmFtZV0uZmllbGRzKSBtdXRhYmxlUG9saWNpZXNbZmllbGQubmFtZV0uZmllbGRzID0ge31cblxuICAgICAgICAgICAgYXdhaXQgZXhlY3V0ZUZpZWxkUG9saWNpZXMoe1xuICAgICAgICAgICAgICBlbnRpdHlQZXJtaXNzaW9uLFxuICAgICAgICAgICAgICBmaWVsZHM6IGZpZWxkLmZpZWxkcyxcbiAgICAgICAgICAgICAgb3BlcmF0aW9uLFxuICAgICAgICAgICAgICBwb2xpY2llc09iajogbXV0YWJsZVBvbGljaWVzW2ZpZWxkLm5hbWVdLFxuICAgICAgICAgICAgfSlcbiAgICAgICAgICB9XG5cbiAgICAgICAgICBpZiAoZmllbGQ/LmJsb2Nrcykge1xuICAgICAgICAgICAgaWYgKCFtdXRhYmxlUG9saWNpZXNbZmllbGQubmFtZV0/LmJsb2NrcykgbXV0YWJsZVBvbGljaWVzW2ZpZWxkLm5hbWVdLmJsb2NrcyA9IHt9XG5cbiAgICAgICAgICAgIGF3YWl0IFByb21pc2UuYWxsKFxuICAgICAgICAgICAgICBmaWVsZC5ibG9ja3MubWFwKGFzeW5jIChibG9jaykgPT4ge1xuICAgICAgICAgICAgICAgIGlmICghbXV0YWJsZVBvbGljaWVzW2ZpZWxkLm5hbWVdLmJsb2Nrcz8uW2Jsb2NrLnNsdWddKSB7XG4gICAgICAgICAgICAgICAgICBtdXRhYmxlUG9saWNpZXNbZmllbGQubmFtZV0uYmxvY2tzW2Jsb2NrLnNsdWddID0ge1xuICAgICAgICAgICAgICAgICAgICBmaWVsZHM6IHt9LFxuICAgICAgICAgICAgICAgICAgICBbb3BlcmF0aW9uXTogeyBwZXJtaXNzaW9uOiBlbnRpdHlQZXJtaXNzaW9uIH0sXG4gICAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICAgICAgfSBlbHNlIGlmICghbXV0YWJsZVBvbGljaWVzW2ZpZWxkLm5hbWVdLmJsb2Nrc1tibG9jay5zbHVnXVtvcGVyYXRpb25dKSB7XG4gICAgICAgICAgICAgICAgICBtdXRhYmxlUG9saWNpZXNbZmllbGQubmFtZV0uYmxvY2tzW2Jsb2NrLnNsdWddW29wZXJhdGlvbl0gPSB7XG4gICAgICAgICAgICAgICAgICAgIHBlcm1pc3Npb246IGVudGl0eVBlcm1pc3Npb24sXG4gICAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICAgICAgfVxuXG4gICAgICAgICAgICAgICAgYXdhaXQgZXhlY3V0ZUZpZWxkUG9saWNpZXMoe1xuICAgICAgICAgICAgICAgICAgZW50aXR5UGVybWlzc2lvbixcbiAgICAgICAgICAgICAgICAgIGZpZWxkczogYmxvY2suZmllbGRzLFxuICAgICAgICAgICAgICAgICAgb3BlcmF0aW9uLFxuICAgICAgICAgICAgICAgICAgcG9saWNpZXNPYmo6IG11dGFibGVQb2xpY2llc1tmaWVsZC5uYW1lXS5ibG9ja3NbYmxvY2suc2x1Z10sXG4gICAgICAgICAgICAgICAgfSlcbiAgICAgICAgICAgICAgfSksXG4gICAgICAgICAgICApXG4gICAgICAgICAgfVxuICAgICAgICB9IGVsc2UgaWYgKGZpZWxkLmZpZWxkcykge1xuICAgICAgICAgIGF3YWl0IGV4ZWN1dGVGaWVsZFBvbGljaWVzKHtcbiAgICAgICAgICAgIGVudGl0eVBlcm1pc3Npb24sXG4gICAgICAgICAgICBmaWVsZHM6IGZpZWxkLmZpZWxkcyxcbiAgICAgICAgICAgIG9wZXJhdGlvbixcbiAgICAgICAgICAgIHBvbGljaWVzT2JqLFxuICAgICAgICAgIH0pXG4gICAgICAgIH0gZWxzZSBpZiAoZmllbGQudHlwZSA9PT0gJ3RhYnMnKSB7XG4gICAgICAgICAgYXdhaXQgUHJvbWlzZS5hbGwoXG4gICAgICAgICAgICBmaWVsZC50YWJzLm1hcChhc3luYyAodGFiKSA9PiB7XG4gICAgICAgICAgICAgIGlmICh0YWJIYXNOYW1lKHRhYikpIHtcbiAgICAgICAgICAgICAgICBpZiAoIW11dGFibGVQb2xpY2llc1t0YWIubmFtZV0pIHtcbiAgICAgICAgICAgICAgICAgIG11dGFibGVQb2xpY2llc1t0YWIubmFtZV0gPSB7XG4gICAgICAgICAgICAgICAgICAgIGZpZWxkczoge30sXG4gICAgICAgICAgICAgICAgICAgIFtvcGVyYXRpb25dOiB7IHBlcm1pc3Npb246IGVudGl0eVBlcm1pc3Npb24gfSxcbiAgICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgICAgICB9IGVsc2UgaWYgKCFtdXRhYmxlUG9saWNpZXNbdGFiLm5hbWVdW29wZXJhdGlvbl0pIHtcbiAgICAgICAgICAgICAgICAgIG11dGFibGVQb2xpY2llc1t0YWIubmFtZV1bb3BlcmF0aW9uXSA9IHsgcGVybWlzc2lvbjogZW50aXR5UGVybWlzc2lvbiB9XG4gICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgICAgIGF3YWl0IGV4ZWN1dGVGaWVsZFBvbGljaWVzKHtcbiAgICAgICAgICAgICAgICAgIGVudGl0eVBlcm1pc3Npb24sXG4gICAgICAgICAgICAgICAgICBmaWVsZHM6IHRhYi5maWVsZHMsXG4gICAgICAgICAgICAgICAgICBvcGVyYXRpb24sXG4gICAgICAgICAgICAgICAgICBwb2xpY2llc09iajogbXV0YWJsZVBvbGljaWVzW3RhYi5uYW1lXSxcbiAgICAgICAgICAgICAgICB9KVxuICAgICAgICAgICAgICB9IGVsc2Uge1xuICAgICAgICAgICAgICAgIGF3YWl0IGV4ZWN1dGVGaWVsZFBvbGljaWVzKHtcbiAgICAgICAgICAgICAgICAgIGVudGl0eVBlcm1pc3Npb24sXG4gICAgICAgICAgICAgICAgICBmaWVsZHM6IHRhYi5maWVsZHMsXG4gICAgICAgICAgICAgICAgICBvcGVyYXRpb24sXG4gICAgICAgICAgICAgICAgICBwb2xpY2llc09iaixcbiAgICAgICAgICAgICAgICB9KVxuICAgICAgICAgICAgICB9XG4gICAgICAgICAgICB9KSxcbiAgICAgICAgICApXG4gICAgICAgIH1cbiAgICAgIH0pLFxuICAgIClcbiAgfVxuXG4gIGF3YWl0IG9wZXJhdGlvbnMucmVkdWNlKGFzeW5jIChwcmlvck9wZXJhdGlvbiwgb3BlcmF0aW9uKSA9PiB7XG4gICAgYXdhaXQgcHJpb3JPcGVyYXRpb25cblxuICAgIGxldCBlbnRpdHlBY2Nlc3NQcm9taXNlOiBQcm9taXNlPHZvaWQ+XG5cbiAgICBpZiAodHlwZW9mIGVudGl0eS5hY2Nlc3Nbb3BlcmF0aW9uXSA9PT0gJ2Z1bmN0aW9uJykge1xuICAgICAgZW50aXR5QWNjZXNzUHJvbWlzZSA9IGNyZWF0ZUFjY2Vzc1Byb21pc2Uoe1xuICAgICAgICBhY2Nlc3M6IGVudGl0eS5hY2Nlc3Nbb3BlcmF0aW9uXSxcbiAgICAgICAgYWNjZXNzTGV2ZWw6ICdlbnRpdHknLFxuICAgICAgICBvcGVyYXRpb24sXG4gICAgICAgIHBvbGljaWVzT2JqOiBwb2xpY2llcyxcbiAgICAgIH0pXG4gICAgfSBlbHNlIHtcbiAgICAgIHBvbGljaWVzW29wZXJhdGlvbl0gPSB7XG4gICAgICAgIHBlcm1pc3Npb246IGlzTG9nZ2VkSW4sXG4gICAgICB9XG4gICAgfVxuXG4gICAgYXdhaXQgZW50aXR5QWNjZXNzUHJvbWlzZVxuXG4gICAgYXdhaXQgZXhlY3V0ZUZpZWxkUG9saWNpZXMoe1xuICAgICAgZW50aXR5UGVybWlzc2lvbjogcG9saWNpZXNbb3BlcmF0aW9uXS5wZXJtaXNzaW9uLFxuICAgICAgZmllbGRzOiBlbnRpdHkuZmllbGRzLFxuICAgICAgb3BlcmF0aW9uLFxuICAgICAgcG9saWNpZXNPYmo6IHBvbGljaWVzLFxuICAgIH0pXG4gIH0sIFByb21pc2UucmVzb2x2ZSgpKVxuXG4gIHJldHVybiBwb2xpY2llc1xufVxuIl0sIm5hbWVzIjpbInRhYkhhc05hbWUiLCJnZXRFbnRpdHlQb2xpY2llcyIsImFyZ3MiLCJpZCIsImVudGl0eSIsIm9wZXJhdGlvbnMiLCJyZXEiLCJ0eXBlIiwiZGF0YSIsInBheWxvYWQiLCJ1c2VyIiwiaXNMb2dnZWRJbiIsInBvbGljaWVzIiwiZmllbGRzIiwiZG9jQmVpbmdBY2Nlc3NlZCIsImdldEVudGl0eURvYyIsIndoZXJlIiwic2x1ZyIsImZpbmRHbG9iYWwiLCJvdmVycmlkZUFjY2VzcyIsInBhZ2luYXRlZFJlcyIsImZpbmQiLCJjb2xsZWN0aW9uIiwiZGVwdGgiLCJsaW1pdCIsInBhZ2luYXRpb24iLCJhbmQiLCJlcXVhbHMiLCJkb2NzIiwidW5kZWZpbmVkIiwiZmluZEJ5SUQiLCJjcmVhdGVBY2Nlc3NQcm9taXNlIiwiYWNjZXNzIiwiYWNjZXNzTGV2ZWwiLCJkaXNhYmxlV2hlcmUiLCJvcGVyYXRpb24iLCJwb2xpY2llc09iaiIsIm11dGFibGVQb2xpY2llcyIsInRoZW4iLCJkb2MiLCJhY2Nlc3NSZXN1bHQiLCJwZXJtaXNzaW9uIiwiZXhlY3V0ZUZpZWxkUG9saWNpZXMiLCJlbnRpdHlQZXJtaXNzaW9uIiwiUHJvbWlzZSIsImFsbCIsIm1hcCIsImZpZWxkIiwibmFtZSIsImJsb2NrcyIsImJsb2NrIiwidGFicyIsInRhYiIsInJlZHVjZSIsInByaW9yT3BlcmF0aW9uIiwiZW50aXR5QWNjZXNzUHJvbWlzZSIsInJlc29sdmUiXSwibWFwcGluZ3MiOiJBQU9BLFNBQVNBLFVBQVUsUUFBUSw0QkFBMkI7QUF3QnRELE9BQU8sZUFBZUMsa0JBQWtDQyxJQUFPO0lBQzdELE1BQU0sRUFBRUMsRUFBRSxFQUFFQyxNQUFNLEVBQUVDLFVBQVUsRUFBRUMsR0FBRyxFQUFFQyxJQUFJLEVBQUUsR0FBR0w7SUFDOUMsTUFBTSxFQUFFTSxJQUFJLEVBQUVDLE9BQU8sRUFBRUMsSUFBSSxFQUFFLEdBQUdKO0lBQ2hDLE1BQU1LLGFBQWEsQ0FBQyxDQUFDRDtJQUVyQixNQUFNRSxXQUFXO1FBQ2ZDLFFBQVEsQ0FBQztJQUNYO0lBRUEsSUFBSUM7SUFFSixlQUFlQyxhQUFhLEVBQUVDLEtBQUssRUFBcUIsR0FB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