@decaf-ts/for-nest 0.11.1 → 0.11.2-refactor.2

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 (370) hide show
  1. package/README.md +1 -1
  2. package/dist/for-nest.cjs +2654 -2
  3. package/dist/for-nest.js +2756 -2
  4. package/lib/cjs/auth/AuthInterceptor.cjs +90 -0
  5. package/lib/cjs/auth/DecafAuthHandler.cjs +37 -0
  6. package/lib/cjs/auth/DecafAuthModule.cjs +56 -0
  7. package/lib/cjs/auth/constants.cjs +10 -0
  8. package/lib/cjs/auth/decorators.cjs +28 -0
  9. package/lib/cjs/auth/index.cjs +23 -0
  10. package/lib/cjs/bin/cli.cjs +2 -2
  11. package/lib/cjs/cli-module.cjs +64 -7
  12. package/lib/cjs/constants.cjs +5 -6
  13. package/lib/cjs/controllers.cjs +13 -109
  14. package/lib/cjs/core-module.cjs +8 -8
  15. package/lib/cjs/decaf-model/DecafModelModule.cjs +23 -4
  16. package/lib/cjs/decaf-model/FromModelController.cjs +751 -789
  17. package/lib/cjs/decaf-model/decorators/ApiOperationFromModel.cjs +53 -16
  18. package/lib/cjs/decaf-model/decorators/ApiParamsFromModel.cjs +2 -2
  19. package/lib/cjs/decaf-model/decorators/DecafBody.cjs +2 -2
  20. package/lib/cjs/decaf-model/decorators/DecafParams.cjs +2 -2
  21. package/lib/cjs/decaf-model/decorators/controller-config.cjs +29 -0
  22. package/lib/cjs/decaf-model/decorators/decorators.cjs +5 -45
  23. package/lib/cjs/decaf-model/decorators/expose.cjs +13 -0
  24. package/lib/cjs/decaf-model/decorators/index.cjs +3 -2
  25. package/lib/cjs/decaf-model/decorators/types.cjs +2 -2
  26. package/lib/cjs/decaf-model/decorators/utils.cjs +2 -2
  27. package/lib/cjs/decaf-model/index.cjs +28 -19
  28. package/lib/cjs/decaf-model/types.cjs +2 -2
  29. package/lib/cjs/decaf-model/utils.cjs +2 -2
  30. package/lib/cjs/decoration.cjs +2 -2
  31. package/lib/cjs/decorators.cjs +85 -0
  32. package/lib/cjs/events-module/DecafStreamModule.cjs +2 -2
  33. package/lib/cjs/events-module/EventsController.cjs +2 -2
  34. package/lib/cjs/events-module/constant.cjs +2 -2
  35. package/lib/cjs/events-module/index.cjs +2 -2
  36. package/lib/cjs/events-module/utils.cjs +2 -2
  37. package/lib/cjs/factory/NestBootstraper.cjs +2 -2
  38. package/lib/cjs/factory/errors/cors.cjs +2 -2
  39. package/lib/cjs/factory/errors/index.cjs +2 -2
  40. package/lib/cjs/factory/errors/throttling.cjs +2 -2
  41. package/lib/cjs/factory/exceptions/DecafErrorFilter.cjs +2 -2
  42. package/lib/cjs/factory/exceptions/decorators.cjs +2 -2
  43. package/lib/cjs/factory/exceptions/index.cjs +2 -2
  44. package/lib/cjs/factory/index.cjs +2 -2
  45. package/lib/cjs/factory/openapi/DtoBuilder.cjs +37 -6
  46. package/lib/cjs/factory/openapi/SwaggerBuilder.cjs +2 -2
  47. package/lib/cjs/factory/openapi/SwaggerCustomUI.cjs +2 -2
  48. package/lib/cjs/factory/openapi/constants.cjs +2 -2
  49. package/lib/cjs/factory/openapi/index.cjs +2 -2
  50. package/lib/cjs/index.cjs +8 -7
  51. package/lib/cjs/interceptors/DecafRequestHandlerInterceptor.cjs +25 -21
  52. package/lib/cjs/interceptors/index.cjs +3 -4
  53. package/lib/cjs/module.cjs +5 -2
  54. package/lib/cjs/overrides/Adapter.cjs +2 -2
  55. package/lib/cjs/overrides/ModelBuilderExtensions.cjs +2 -2
  56. package/lib/cjs/overrides/constants.cjs +2 -2
  57. package/lib/cjs/overrides/decoration.cjs +2 -2
  58. package/lib/cjs/overrides/helpers.cjs +2 -2
  59. package/lib/cjs/overrides/index.cjs +3 -2
  60. package/lib/cjs/overrides/logging.cjs +5 -0
  61. package/lib/cjs/overrides/overrides.cjs +2 -2
  62. package/lib/cjs/request/DecafAuthHandler.cjs +5 -39
  63. package/lib/cjs/request/DecafHandlerExecutor.cjs +2 -2
  64. package/lib/cjs/request/DecafRequestContext.cjs +11 -20
  65. package/lib/cjs/request/DecafResponseInterceptor.cjs +3 -3
  66. package/lib/cjs/request/index.cjs +2 -2
  67. package/lib/cjs/swagger-types.cjs +2 -2
  68. package/lib/cjs/types.cjs +2 -2
  69. package/lib/cjs/utils.cjs +2 -2
  70. package/lib/cjs/webhooks/DecafWebhookModule.cjs +11 -12
  71. package/lib/cjs/webhooks/controllers.cjs +10 -10
  72. package/lib/cjs/webhooks/index.cjs +2 -15
  73. package/lib/cjs/webhooks/types.cjs +2 -2
  74. package/lib/esm/auth/AuthInterceptor.js +81 -0
  75. package/lib/esm/auth/DecafAuthHandler.js +31 -0
  76. package/lib/esm/auth/DecafAuthModule.js +48 -0
  77. package/lib/esm/auth/constants.js +6 -0
  78. package/lib/esm/auth/decorators.js +22 -0
  79. package/lib/esm/auth/index.js +6 -0
  80. package/lib/esm/bin/cli.js +1 -1
  81. package/lib/esm/cli-module.js +63 -6
  82. package/lib/esm/constants.js +3 -4
  83. package/lib/esm/controllers.js +13 -109
  84. package/lib/esm/core-module.js +7 -7
  85. package/lib/esm/decaf-model/DecafModelModule.js +22 -3
  86. package/lib/esm/decaf-model/FromModelController.js +753 -791
  87. package/lib/esm/decaf-model/decorators/ApiOperationFromModel.js +53 -15
  88. package/lib/esm/decaf-model/decorators/ApiParamsFromModel.js +1 -1
  89. package/lib/esm/decaf-model/decorators/DecafBody.js +1 -1
  90. package/lib/esm/decaf-model/decorators/DecafParams.js +1 -1
  91. package/lib/esm/decaf-model/decorators/controller-config.js +25 -0
  92. package/lib/esm/decaf-model/decorators/decorators.js +2 -43
  93. package/lib/esm/decaf-model/decorators/expose.js +9 -0
  94. package/lib/esm/decaf-model/decorators/index.js +2 -1
  95. package/lib/esm/decaf-model/decorators/types.js +1 -1
  96. package/lib/esm/decaf-model/decorators/utils.js +1 -1
  97. package/lib/esm/decaf-model/index.js +11 -4
  98. package/lib/esm/decaf-model/types.js +1 -1
  99. package/lib/esm/decaf-model/utils.js +1 -1
  100. package/lib/esm/decoration.js +1 -1
  101. package/lib/esm/decorators.js +79 -0
  102. package/lib/esm/events-module/DecafStreamModule.js +1 -1
  103. package/lib/esm/events-module/EventsController.js +1 -1
  104. package/lib/esm/events-module/constant.js +1 -1
  105. package/lib/esm/events-module/index.js +1 -1
  106. package/lib/esm/events-module/utils.js +1 -1
  107. package/lib/esm/factory/NestBootstraper.js +1 -1
  108. package/lib/esm/factory/errors/cors.js +1 -1
  109. package/lib/esm/factory/errors/index.js +1 -1
  110. package/lib/esm/factory/errors/throttling.js +1 -1
  111. package/lib/esm/factory/exceptions/DecafErrorFilter.js +1 -1
  112. package/lib/esm/factory/exceptions/decorators.js +1 -1
  113. package/lib/esm/factory/exceptions/index.js +1 -1
  114. package/lib/esm/factory/index.js +1 -1
  115. package/lib/esm/factory/openapi/DtoBuilder.js +36 -5
  116. package/lib/esm/factory/openapi/SwaggerBuilder.js +1 -1
  117. package/lib/esm/factory/openapi/SwaggerCustomUI.js +1 -1
  118. package/lib/esm/factory/openapi/constants.js +1 -1
  119. package/lib/esm/factory/openapi/index.js +1 -1
  120. package/lib/esm/index.js +7 -6
  121. package/lib/esm/interceptors/DecafRequestHandlerInterceptor.js +25 -21
  122. package/lib/esm/interceptors/index.js +2 -3
  123. package/lib/esm/module.js +4 -1
  124. package/lib/esm/overrides/Adapter.js +1 -1
  125. package/lib/esm/overrides/ModelBuilderExtensions.js +1 -1
  126. package/lib/esm/overrides/constants.js +1 -1
  127. package/lib/esm/overrides/decoration.js +1 -1
  128. package/lib/esm/overrides/helpers.js +1 -1
  129. package/lib/esm/overrides/index.js +2 -1
  130. package/lib/esm/overrides/logging.js +2 -0
  131. package/lib/esm/overrides/overrides.js +1 -1
  132. package/lib/esm/request/DecafAuthHandler.js +2 -36
  133. package/lib/esm/request/DecafHandlerExecutor.js +1 -1
  134. package/lib/esm/request/DecafRequestContext.js +10 -19
  135. package/lib/esm/request/DecafResponseInterceptor.js +2 -2
  136. package/lib/esm/request/index.js +1 -1
  137. package/lib/esm/swagger-types.js +1 -1
  138. package/lib/esm/types.js +1 -1
  139. package/lib/esm/utils.js +1 -1
  140. package/lib/esm/webhooks/DecafWebhookModule.js +5 -6
  141. package/lib/esm/webhooks/controllers.js +2 -2
  142. package/lib/esm/webhooks/index.js +1 -2
  143. package/lib/esm/webhooks/types.js +1 -1
  144. package/lib/types/{interceptors → auth}/AuthInterceptor.d.cts +4 -1
  145. package/lib/types/{interceptors → auth}/AuthInterceptor.d.mts +4 -1
  146. package/lib/types/auth/DecafAuthHandler.d.cts +22 -0
  147. package/lib/types/auth/DecafAuthHandler.d.mts +22 -0
  148. package/lib/types/auth/DecafAuthModule.d.cts +9 -0
  149. package/lib/types/auth/DecafAuthModule.d.mts +9 -0
  150. package/lib/types/auth/constants.d.cts +5 -0
  151. package/lib/types/auth/constants.d.mts +5 -0
  152. package/lib/types/auth/decorators.d.cts +4 -0
  153. package/lib/types/auth/decorators.d.mts +4 -0
  154. package/lib/types/auth/index.d.cts +6 -0
  155. package/lib/types/auth/index.d.mts +6 -0
  156. package/lib/types/cli-module.d.cts +1 -4
  157. package/lib/types/cli-module.d.mts +1 -4
  158. package/lib/types/constants.d.cts +2 -3
  159. package/lib/types/constants.d.mts +2 -3
  160. package/lib/types/controllers.d.cts +7 -12
  161. package/lib/types/controllers.d.mts +7 -12
  162. package/lib/types/decaf-model/DecafModelModule.d.cts +1 -0
  163. package/lib/types/decaf-model/DecafModelModule.d.mts +1 -0
  164. package/lib/types/decaf-model/FromModelController.d.cts +40 -52
  165. package/lib/types/decaf-model/FromModelController.d.mts +40 -52
  166. package/lib/types/decaf-model/decorators/ApiOperationFromModel.d.cts +0 -2
  167. package/lib/types/decaf-model/decorators/ApiOperationFromModel.d.mts +0 -2
  168. package/lib/types/decaf-model/decorators/controller-config.d.cts +18 -0
  169. package/lib/types/decaf-model/decorators/controller-config.d.mts +18 -0
  170. package/lib/types/decaf-model/decorators/decorators.d.cts +1 -29
  171. package/lib/types/decaf-model/decorators/decorators.d.mts +1 -29
  172. package/lib/types/decaf-model/decorators/expose.d.cts +1 -0
  173. package/lib/types/decaf-model/decorators/expose.d.mts +1 -0
  174. package/lib/types/decaf-model/decorators/index.d.cts +1 -0
  175. package/lib/types/decaf-model/decorators/index.d.mts +1 -0
  176. package/lib/types/decaf-model/decorators/types.d.cts +8 -21
  177. package/lib/types/decaf-model/decorators/types.d.mts +8 -21
  178. package/lib/types/decaf-model/index.d.cts +11 -3
  179. package/lib/types/decaf-model/index.d.mts +11 -3
  180. package/lib/types/decaf-model/utils.d.cts +2 -1
  181. package/lib/types/decaf-model/utils.d.mts +2 -1
  182. package/lib/types/decorators.d.cts +34 -0
  183. package/lib/types/decorators.d.mts +34 -0
  184. package/lib/types/factory/openapi/DtoBuilder.d.cts +7 -3
  185. package/lib/types/factory/openapi/DtoBuilder.d.mts +7 -3
  186. package/lib/types/index.d.cts +5 -5
  187. package/lib/types/index.d.mts +5 -5
  188. package/lib/types/interceptors/DecafRequestHandlerInterceptor.d.cts +1 -2
  189. package/lib/types/interceptors/DecafRequestHandlerInterceptor.d.mts +1 -2
  190. package/lib/types/interceptors/index.d.cts +1 -2
  191. package/lib/types/interceptors/index.d.mts +1 -2
  192. package/lib/types/overrides/Adapter.d.cts +1 -1
  193. package/lib/types/overrides/Adapter.d.mts +1 -1
  194. package/lib/types/overrides/index.d.cts +1 -0
  195. package/lib/types/overrides/index.d.mts +1 -0
  196. package/lib/types/overrides/logging.d.cts +1 -0
  197. package/lib/types/overrides/logging.d.mts +1 -0
  198. package/lib/types/request/DecafAuthHandler.d.cts +1 -10
  199. package/lib/types/request/DecafAuthHandler.d.mts +1 -10
  200. package/lib/types/request/DecafRequestContext.d.cts +4 -5
  201. package/lib/types/request/DecafRequestContext.d.mts +4 -5
  202. package/lib/types/types.d.cts +12 -24
  203. package/lib/types/types.d.mts +12 -24
  204. package/lib/types/webhooks/controllers.d.cts +1 -1
  205. package/lib/types/webhooks/controllers.d.mts +1 -1
  206. package/lib/types/webhooks/index.d.cts +0 -1
  207. package/lib/types/webhooks/index.d.mts +0 -1
  208. package/package.json +5 -13
  209. package/dist/for-nest.cjs.map +0 -1
  210. package/dist/for-nest.js.map +0 -1
  211. package/lib/cjs/bin/cli.cjs.map +0 -1
  212. package/lib/cjs/cli-module.cjs.map +0 -1
  213. package/lib/cjs/constants.cjs.map +0 -1
  214. package/lib/cjs/controllers.cjs.map +0 -1
  215. package/lib/cjs/core-module.cjs.map +0 -1
  216. package/lib/cjs/decaf-model/DecafModelModule.cjs.map +0 -1
  217. package/lib/cjs/decaf-model/FromModelController.cjs.map +0 -1
  218. package/lib/cjs/decaf-model/decorators/ApiOperationFromModel.cjs.map +0 -1
  219. package/lib/cjs/decaf-model/decorators/ApiParamsFromModel.cjs.map +0 -1
  220. package/lib/cjs/decaf-model/decorators/DecafBody.cjs.map +0 -1
  221. package/lib/cjs/decaf-model/decorators/DecafParams.cjs.map +0 -1
  222. package/lib/cjs/decaf-model/decorators/decorators.cjs.map +0 -1
  223. package/lib/cjs/decaf-model/decorators/index.cjs.map +0 -1
  224. package/lib/cjs/decaf-model/decorators/types.cjs.map +0 -1
  225. package/lib/cjs/decaf-model/decorators/utils.cjs.map +0 -1
  226. package/lib/cjs/decaf-model/index.cjs.map +0 -1
  227. package/lib/cjs/decaf-model/types.cjs.map +0 -1
  228. package/lib/cjs/decaf-model/utils.cjs.map +0 -1
  229. package/lib/cjs/decoration.cjs.map +0 -1
  230. package/lib/cjs/events-module/DecafStreamModule.cjs.map +0 -1
  231. package/lib/cjs/events-module/EventsController.cjs.map +0 -1
  232. package/lib/cjs/events-module/constant.cjs.map +0 -1
  233. package/lib/cjs/events-module/index.cjs.map +0 -1
  234. package/lib/cjs/events-module/utils.cjs.map +0 -1
  235. package/lib/cjs/factory/NestBootstraper.cjs.map +0 -1
  236. package/lib/cjs/factory/errors/cors.cjs.map +0 -1
  237. package/lib/cjs/factory/errors/index.cjs.map +0 -1
  238. package/lib/cjs/factory/errors/throttling.cjs.map +0 -1
  239. package/lib/cjs/factory/exceptions/DecafErrorFilter.cjs.map +0 -1
  240. package/lib/cjs/factory/exceptions/decorators.cjs.map +0 -1
  241. package/lib/cjs/factory/exceptions/index.cjs.map +0 -1
  242. package/lib/cjs/factory/index.cjs.map +0 -1
  243. package/lib/cjs/factory/openapi/DtoBuilder.cjs.map +0 -1
  244. package/lib/cjs/factory/openapi/SwaggerBuilder.cjs.map +0 -1
  245. package/lib/cjs/factory/openapi/SwaggerCustomUI.cjs.map +0 -1
  246. package/lib/cjs/factory/openapi/constants.cjs.map +0 -1
  247. package/lib/cjs/factory/openapi/index.cjs.map +0 -1
  248. package/lib/cjs/index.cjs.map +0 -1
  249. package/lib/cjs/interceptors/AuthInterceptor.cjs +0 -52
  250. package/lib/cjs/interceptors/AuthInterceptor.cjs.map +0 -1
  251. package/lib/cjs/interceptors/DecafRequestHandlerInterceptor.cjs.map +0 -1
  252. package/lib/cjs/interceptors/context.cjs +0 -18
  253. package/lib/cjs/interceptors/context.cjs.map +0 -1
  254. package/lib/cjs/interceptors/index.cjs.map +0 -1
  255. package/lib/cjs/migrations/index.cjs +0 -35
  256. package/lib/cjs/migrations/index.cjs.map +0 -1
  257. package/lib/cjs/migrations/migration-module.cjs +0 -60
  258. package/lib/cjs/migrations/migration-module.cjs.map +0 -1
  259. package/lib/cjs/migrations/migration-options.cjs +0 -4
  260. package/lib/cjs/migrations/migration-options.cjs.map +0 -1
  261. package/lib/cjs/module.cjs.map +0 -1
  262. package/lib/cjs/overrides/Adapter.cjs.map +0 -1
  263. package/lib/cjs/overrides/ModelBuilderExtensions.cjs.map +0 -1
  264. package/lib/cjs/overrides/constants.cjs.map +0 -1
  265. package/lib/cjs/overrides/decoration.cjs.map +0 -1
  266. package/lib/cjs/overrides/helpers.cjs.map +0 -1
  267. package/lib/cjs/overrides/index.cjs.map +0 -1
  268. package/lib/cjs/overrides/overrides.cjs.map +0 -1
  269. package/lib/cjs/ram/RamRequestTransformer.cjs +0 -26
  270. package/lib/cjs/ram/RamRequestTransformer.cjs.map +0 -1
  271. package/lib/cjs/ram/index.cjs +0 -19
  272. package/lib/cjs/ram/index.cjs.map +0 -1
  273. package/lib/cjs/request/DecafAuthHandler.cjs.map +0 -1
  274. package/lib/cjs/request/DecafHandlerExecutor.cjs.map +0 -1
  275. package/lib/cjs/request/DecafRequestContext.cjs.map +0 -1
  276. package/lib/cjs/request/DecafResponseInterceptor.cjs.map +0 -1
  277. package/lib/cjs/request/index.cjs.map +0 -1
  278. package/lib/cjs/swagger-types.cjs.map +0 -1
  279. package/lib/cjs/types.cjs.map +0 -1
  280. package/lib/cjs/utils.cjs.map +0 -1
  281. package/lib/cjs/webhooks/DecafWebhookModule.cjs.map +0 -1
  282. package/lib/cjs/webhooks/controllers.cjs.map +0 -1
  283. package/lib/cjs/webhooks/index.cjs.map +0 -1
  284. package/lib/cjs/webhooks/types.cjs.map +0 -1
  285. package/lib/esm/bin/cli.js.map +0 -1
  286. package/lib/esm/cli-module.js.map +0 -1
  287. package/lib/esm/constants.js.map +0 -1
  288. package/lib/esm/controllers.js.map +0 -1
  289. package/lib/esm/core-module.js.map +0 -1
  290. package/lib/esm/decaf-model/DecafModelModule.js.map +0 -1
  291. package/lib/esm/decaf-model/FromModelController.js.map +0 -1
  292. package/lib/esm/decaf-model/decorators/ApiOperationFromModel.js.map +0 -1
  293. package/lib/esm/decaf-model/decorators/ApiParamsFromModel.js.map +0 -1
  294. package/lib/esm/decaf-model/decorators/DecafBody.js.map +0 -1
  295. package/lib/esm/decaf-model/decorators/DecafParams.js.map +0 -1
  296. package/lib/esm/decaf-model/decorators/decorators.js.map +0 -1
  297. package/lib/esm/decaf-model/decorators/index.js.map +0 -1
  298. package/lib/esm/decaf-model/decorators/types.js.map +0 -1
  299. package/lib/esm/decaf-model/decorators/utils.js.map +0 -1
  300. package/lib/esm/decaf-model/index.js.map +0 -1
  301. package/lib/esm/decaf-model/types.js.map +0 -1
  302. package/lib/esm/decaf-model/utils.js.map +0 -1
  303. package/lib/esm/decoration.js.map +0 -1
  304. package/lib/esm/events-module/DecafStreamModule.js.map +0 -1
  305. package/lib/esm/events-module/EventsController.js.map +0 -1
  306. package/lib/esm/events-module/constant.js.map +0 -1
  307. package/lib/esm/events-module/index.js.map +0 -1
  308. package/lib/esm/events-module/utils.js.map +0 -1
  309. package/lib/esm/factory/NestBootstraper.js.map +0 -1
  310. package/lib/esm/factory/errors/cors.js.map +0 -1
  311. package/lib/esm/factory/errors/index.js.map +0 -1
  312. package/lib/esm/factory/errors/throttling.js.map +0 -1
  313. package/lib/esm/factory/exceptions/DecafErrorFilter.js.map +0 -1
  314. package/lib/esm/factory/exceptions/decorators.js.map +0 -1
  315. package/lib/esm/factory/exceptions/index.js.map +0 -1
  316. package/lib/esm/factory/index.js.map +0 -1
  317. package/lib/esm/factory/openapi/DtoBuilder.js.map +0 -1
  318. package/lib/esm/factory/openapi/SwaggerBuilder.js.map +0 -1
  319. package/lib/esm/factory/openapi/SwaggerCustomUI.js.map +0 -1
  320. package/lib/esm/factory/openapi/constants.js.map +0 -1
  321. package/lib/esm/factory/openapi/index.js.map +0 -1
  322. package/lib/esm/index.js.map +0 -1
  323. package/lib/esm/interceptors/AuthInterceptor.js +0 -43
  324. package/lib/esm/interceptors/AuthInterceptor.js.map +0 -1
  325. package/lib/esm/interceptors/DecafRequestHandlerInterceptor.js.map +0 -1
  326. package/lib/esm/interceptors/context.js +0 -12
  327. package/lib/esm/interceptors/context.js.map +0 -1
  328. package/lib/esm/interceptors/index.js.map +0 -1
  329. package/lib/esm/migrations/index.js +0 -18
  330. package/lib/esm/migrations/index.js.map +0 -1
  331. package/lib/esm/migrations/migration-module.js +0 -52
  332. package/lib/esm/migrations/migration-module.js.map +0 -1
  333. package/lib/esm/migrations/migration-options.js +0 -7
  334. package/lib/esm/migrations/migration-options.js.map +0 -1
  335. package/lib/esm/module.js.map +0 -1
  336. package/lib/esm/overrides/Adapter.js.map +0 -1
  337. package/lib/esm/overrides/ModelBuilderExtensions.js.map +0 -1
  338. package/lib/esm/overrides/constants.js.map +0 -1
  339. package/lib/esm/overrides/decoration.js.map +0 -1
  340. package/lib/esm/overrides/helpers.js.map +0 -1
  341. package/lib/esm/overrides/index.js.map +0 -1
  342. package/lib/esm/overrides/overrides.js.map +0 -1
  343. package/lib/esm/ram/RamRequestTransformer.js +0 -21
  344. package/lib/esm/ram/RamRequestTransformer.js.map +0 -1
  345. package/lib/esm/ram/index.js +0 -2
  346. package/lib/esm/ram/index.js.map +0 -1
  347. package/lib/esm/request/DecafAuthHandler.js.map +0 -1
  348. package/lib/esm/request/DecafHandlerExecutor.js.map +0 -1
  349. package/lib/esm/request/DecafRequestContext.js.map +0 -1
  350. package/lib/esm/request/DecafResponseInterceptor.js.map +0 -1
  351. package/lib/esm/request/index.js.map +0 -1
  352. package/lib/esm/swagger-types.js.map +0 -1
  353. package/lib/esm/types.js.map +0 -1
  354. package/lib/esm/utils.js.map +0 -1
  355. package/lib/esm/webhooks/DecafWebhookModule.js.map +0 -1
  356. package/lib/esm/webhooks/controllers.js.map +0 -1
  357. package/lib/esm/webhooks/index.js.map +0 -1
  358. package/lib/esm/webhooks/types.js.map +0 -1
  359. package/lib/types/interceptors/context.d.cts +0 -6
  360. package/lib/types/interceptors/context.d.mts +0 -6
  361. package/lib/types/migrations/index.d.cts +0 -17
  362. package/lib/types/migrations/index.d.mts +0 -17
  363. package/lib/types/migrations/migration-module.d.cts +0 -15
  364. package/lib/types/migrations/migration-module.d.mts +0 -15
  365. package/lib/types/migrations/migration-options.d.cts +0 -11
  366. package/lib/types/migrations/migration-options.d.mts +0 -11
  367. package/lib/types/ram/RamRequestTransformer.d.cts +0 -5
  368. package/lib/types/ram/RamRequestTransformer.d.mts +0 -5
  369. package/lib/types/ram/index.d.cts +0 -1
  370. package/lib/types/ram/index.d.mts +0 -1
@@ -260,4 +260,4 @@ export class NestBootstraper {
260
260
  });
261
261
  }
262
262
  }
263
- //# sourceMappingURL=NestBootstraper.js.map
263
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiTmVzdEJvb3RzdHJhcGVyLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vc3JjL2ZhY3RvcnkvTmVzdEJvb3RzdHJhcGVyLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFFTCxNQUFNLEdBR1AsTUFBTSxnQkFBZ0IsQ0FBQztBQUN4QixPQUFPLEVBQUUsb0JBQW9CLEVBQUUsOEJBQXFCO0FBQ3BELE9BQU8sRUFBRSxjQUFjLEVBQUUsMkJBQWtCO0FBRTNDLE9BQU8sRUFBRSxTQUFTLEVBQUUsMEJBQWlCO0FBNENyQzs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7R0ErQ0c7QUFDSCxNQUFNLE9BQU8sZUFBZTtJQUkxQjs7Ozs7Ozs7O09BU0c7SUFDSyxNQUFNLEtBQUssTUFBTTtRQUN2QixJQUFJLENBQUMsSUFBSSxDQUFDLE9BQU8sRUFBRSxDQUFDO1lBQ2xCLFdBQVc7WUFDWCxJQUFJLENBQUMsT0FBTyxHQUFHLElBQUksTUFBTSxDQUFDLGVBQWUsQ0FBQyxDQUFDO1FBQzdDLENBQUM7UUFDRCxPQUFPLElBQUksQ0FBQyxPQUFPLENBQUM7SUFDdEIsQ0FBQztJQUVEOzs7Ozs7Ozs7O09BVUc7SUFDSCxNQUFNLENBQUMsVUFBVSxDQUFDLEdBQXFCO1FBQ3JDLElBQUksQ0FBQyxHQUFHLEdBQUcsR0FBRyxDQUFDO1FBQ2YsT0FBTyxJQUFJLENBQUM7SUFDZCxDQUFDO0lBRUQ7Ozs7Ozs7Ozs7O09BV0c7SUFDSCxNQUFNLENBQUMsWUFBWSxDQUFDLFlBQXFCO1FBQ3ZDLElBQUksQ0FBQyxPQUFPLEdBQUcsWUFBWSxJQUFJLElBQUksTUFBTSxDQUFDLGVBQWUsQ0FBQyxDQUFDO1FBQzNELElBQUksQ0FBQyxHQUFHLENBQUMsU0FBUyxDQUFDLElBQUksQ0FBQyxPQUFPLENBQUMsQ0FBQztRQUNqQyxPQUFPLElBQUksQ0FBQztJQUNkLENBQUM7SUFFRDs7Ozs7Ozs7Ozs7OztPQWFH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QkFDcEMsSUFBSSxDQUFDLE1BQU0sQ0FBQyxHQUFHLENBQUMsaUNBQWlDLEdBQUcsRUFBRSxDQUFDLENBQUM7WUFDMUQsQ0FBQztRQUNILENBQUMsQ0FBQyxDQUFDO0lBQ0wsQ0FBQztDQUNGIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHtcbiAgSU5lc3RBcHBsaWNhdGlvbixcbiAgTG9nZ2VyLFxuICBOZXN0SW50ZXJjZXB0b3IsXG4gIFBpcGVUcmFuc2Zvcm0sXG59IGZyb20gXCJAbmVzdGpzL2NvbW1vblwiO1xuaW1wb3J0IHsgRGVjYWZFeGNlcHRpb25GaWx0ZXIgfSBmcm9tIFwiLi9leGNlcHRpb25zXCI7XG5pbXBvcnQgeyBTd2FnZ2VyQnVpbGRlciB9IGZyb20gXCIuL29wZW5hcGlcIjtcbmltcG9ydCB7IENvcnNPcHRpb25zIH0gZnJvbSBcIkBuZXN0anMvY29tbW9uL2ludGVyZmFjZXMvZXh0ZXJuYWwvY29ycy1vcHRpb25zLmludGVyZmFjZVwiO1xuaW1wb3J0IHsgQ29yc0Vycm9yIH0gZnJvbSBcIi4vZXJyb3JzXCI7XG5cbi8qKlxuICogQGRlc2NyaXB0aW9uXG4gKiBEZWZpbmVzIGFsbCBjdXN0b21pemFibGUgcGFyYW1ldGVycyBmb3IgU3dhZ2dlciBzZXR1cC5cbiAqXG4gKiBAc3VtbWFyeVxuICogVGhpcyBpbnRlcmZhY2UgYWxsb3dzIGRldmVsb3BlcnMgdG8gY3VzdG9taXplIGhvdyBTd2FnZ2VyIFVJIGlzIGNvbmZpZ3VyZWRcbiAqIHdpdGhpbiB0aGUgTmVzdEpTIGFwcGxpY2F0aW9uLiBJdCBpbmNsdWRlcyBwYXJhbWV0ZXJzIGZvciB0aXRsZXMsIHBhdGhzLFxuICogY29sb3Igc2NoZW1lcywgYW5kIGFzc2V0IHBhdGhzIHRvIHRhaWxvciB0aGUgQVBJIGRvY3VtZW50YXRpb24gZXhwZXJpZW5jZS5cbiAqXG4gKiBAcGFyYW0ge3N0cmluZ30gdGl0bGUgLSBUaXRsZSBkaXNwbGF5ZWQgaW4gU3dhZ2dlciBVSS5cbiAqIEBwYXJhbSB7c3RyaW5nfSBkZXNjcmlwdGlvbiAtIERlc2NyaXB0aW9uIHNob3duIGJlbG93IHRoZSB0aXRsZS5cbiAqIEBwYXJhbSB7c3RyaW5nfSB2ZXJzaW9uIC0gQVBJIHZlcnNpb24gZGlzcGxheWVkIGluIHRoZSBkb2N1bWVudGF0aW9uLlxuICogQHBhcmFtIHtzdHJpbmd9IFtwYXRoXSAtIE9wdGlvbmFsIHBhdGggd2hlcmUgU3dhZ2dlciB3aWxsIGJlIGF2YWlsYWJsZS5cbiAqIEBwYXJhbSB7Ym9vbGVhbn0gW3BlcnNpc3RBdXRob3JpemF0aW9uXSAtIFdoZXRoZXIgYXV0aG9yaXphdGlvbiB0b2tlbnMgcGVyc2lzdCBhY3Jvc3MgcmVsb2Fkcy5cbiAqIEBwYXJhbSB7c3RyaW5nfSBbYXNzZXRzUGF0aF0gLSBQYXRoIHRvIGN1c3RvbSBhc3NldHMgZm9yIFN3YWdnZXIgVUkuXG4gKiBAcGFyYW0ge3N0cmluZ30gW3RvcGJhckJnQ29sb3JdIC0gQ3VzdG9tIGJhY2tncm91bmQgY29sb3IgZm9yIHRoZSBTd2FnZ2VyIHRvcCBiYXIuXG4gKiBAcGFyYW0ge3N0cmluZ30gW3RvcGJhckljb25QYXRoXSAtIFBhdGggdG8gYSBjdXN0b20gaWNvbiBkaXNwbGF5ZWQgaW4gdGhlIHRvcCBiYXIuXG4gKiBAcGFyYW0ge3N0cmluZ30gW2Zhdmljb25QYXRoXSAtIFBhdGggdG8gYSBjdXN0b20gZmF2aWNvbi5cbiAqL1xuZXhwb3J0IGludGVyZmFjZSBTd2FnZ2VyU2V0dXBPcHRpb25zIHtcbiAgdGl0bGU6IHN0cmluZztcbiAgZGVzY3JpcHRpb246IHN0cmluZztcbiAgdmVyc2lvbjogc3RyaW5nO1xuICBwYXRoPzogc3RyaW5nO1xuICBwZXJzaXN0QXV0aG9yaXphdGlvbj86IGJvb2xlYW47XG4gIGFzc2V0c1BhdGg/OiBzdHJpbmc7XG4gIHRvcGJhckJnQ29sb3I/OiBzdHJpbmc7XG4gIHRvcGJhckljb25QYXRoPzogc3RyaW5nO1xuICBmYXZpY29uUGF0aD86IHN0cmluZztcbiAgLyoqXG4gICAqIFBhdGggdG8gZXhwb3NlIHRoZSBPcGVuQVBJIHNwZWNpZmljYXRpb24gaW4gSlNPTiBmb3JtYXQuXG4gICAqIEV4YW1wbGU6IC9hcGkvb3BlbmFwaS5qc29uXG4gICAqL1xuICBvcGVuQXBpSnNvblBhdGg/OiBzdHJpbmc7XG4gIC8qKlxuICAgKiBQYXRoIHRvIGV4cG9zZSB0aGUgT3BlbkFQSSBzcGVjaWZpY2F0aW9uIGluIFlBTUwgZm9ybWF0LlxuICAgKiBSZXF1aXJlcyAneWFtbCcgcGFja2FnZSBhcyBwZWVyIGRlcGVuZGVuY3kuXG4gICAqIEV4YW1wbGU6IC9hcGkvb3BlbmFwaS55YW1sXG4gICAqL1xuICBvcGVuQXBpWWFtbFBhdGg/OiBzdHJpbmc7XG59XG5cbi8qKlxuICogQGRlc2NyaXB0aW9uXG4gKiBBIGZsdWVudCwgc3RhdGljIGJvb3RzdHJhcCBjbGFzcyBmb3IgaW5pdGlhbGl6aW5nIGFuZCBjb25maWd1cmluZyBhIE5lc3RKUyBhcHBsaWNhdGlvbi5cbiAqXG4gKiBAc3VtbWFyeVxuICogVGhlIGBOZXN0Qm9vdHN0cmFwZXJgIGNsYXNzIHByb3ZpZGVzIGEgY2hhaW5hYmxlIEFQSSBmb3IgY29uZmlndXJpbmdcbiAqIGEgTmVzdEpTIGFwcGxpY2F0aW9uIGluc3RhbmNlLiBJdCBpbmNsdWRlcyBidWlsdC1pbiBtZXRob2RzIGZvciBlbmFibGluZ1xuICogQ09SUywgSGVsbWV0IHNlY3VyaXR5LCBTd2FnZ2VyIGRvY3VtZW50YXRpb24sIGdsb2JhbCBwaXBlcywgZmlsdGVycyxcbiAqIGludGVyY2VwdG9ycywgYW5kIHN0YXJ0aW5nIHRoZSBzZXJ2ZXIuXG4gKlxuICogVGhpcyBjbGFzcyBwcm9tb3RlcyBjb25zaXN0ZW5jeSBhbmQgcmVkdWNlcyByZXBldGl0aXZlIHNldHVwIGNvZGVcbiAqIGFjcm9zcyBtdWx0aXBsZSBOZXN0SlMgcHJvamVjdHMuXG4gKlxuICogQGV4YW1wbGVcbiAqIGBgYHRzXG4gKiBpbXBvcnQgeyBOZXN0RmFjdG9yeSB9IGZyb20gXCJAbmVzdGpzL2NvcmVcIjtcbiAqIGltcG9ydCB7IEFwcE1vZHVsZSB9IGZyb20gXCIuL2FwcC5tb2R1bGVcIjtcbiAqIGltcG9ydCB7IE15TG9nZ2VyIH0gZnJvbSBcIi4vTXlMb2dnZXJcIjtcbiAqIGltcG9ydCB7IE5lc3RCb290c3RyYXBlciB9IGZyb20gXCJAZGVjYWYtdHMvZm9yLW5lc3RcIjtcbiAqXG4gKiBhc3luYyBmdW5jdGlvbiBib290c3RyYXAoKSB7XG4gKiAgIGNvbnN0IGFwcCA9IGF3YWl0IE5lc3RGYWN0b3J5LmNyZWF0ZShBcHBNb2R1bGUpO1xuICpcbiAqICAgYXdhaXQgTmVzdEJvb3RzdHJhcGVyXG4gKiAgICAgLmluaXRpYWxpemUoYXBwKVxuICogICAgIC5lbmFibGVMb2dnZXIobmV3IE15TG9nZ2VyKCkpXG4gKiAgICAgLmVuYWJsZUNvcnMoW1wiaHR0cDovL2xvY2FsaG9zdDo0MjAwXCJdKVxuICogICAgIC51c2VIZWxtZXQoKVxuICogICAgIC5zZXR1cFN3YWdnZXIoe1xuICogICAgICAgdGl0bGU6IFwiT3BlbkFQSSBieSBUcmFkZU1hcmvihKJcIixcbiAqICAgICAgIGRlc2NyaXB0aW9uOiBcIlRyYWRlTWFya+KEoiBBUEkgZG9jdW1lbnRhdGlvblwiLFxuICogICAgICAgdmVyc2lvbjogXCIxLjAuMFwiLFxuICogICAgICAgcGF0aDogXCJhcGlcIixcbiAqICAgICAgIHBlcnNpc3RBdXRob3JpemF0aW9uOiB0cnVlLFxuICogICAgICAgdG9wYmFyQmdDb2xvcjogXCIjMkMzRTUwXCIsXG4gKiAgICAgICB0b3BiYXJJY29uUGF0aDogXCIvYXNzZXRzL2xvZ28uc3ZnXCIsXG4gKiAgICAgICBmYXZpY29uUGF0aDogXCIvYXNzZXRzL2Zhdmljb24uaWNvXCJcbiAqICAgICB9KVxuICogICAgIC51c2VHbG9iYWxGaWx0ZXJzKClcbiAqICAgICAudXNlR2xvYmFsUGlwZXMoLi4uKVxuICogICAgIC51c2VHbG9iYWxJbnRlcmNlcHRvcnMoLi4uKVxuICogICAgIC5zdGFydCgzMDAwKTtcbiAqIH1cbiAqXG4gKiBib290c3RyYXAoKTtcbiAqIGBgYFxuICogQGNsYXNzXG4gKi9cbmV4cG9ydCBjbGFzcyBOZXN0Qm9vdHN0cmFwZXIge1xuICBwcml2YXRlIHN0YXRpYyBhcHA6IElOZXN0QXBwbGljYXRpb247XG4gIHByaXZhdGUgc3RhdGljIF9sb2dnZXI6IExvZ2dlcjtcblxuICAvKipcbiAgICogQGRlc2NyaXB0aW9uXG4gICAqIFJldHVybnMgdGhlIGN1cnJlbnQgbG9nZ2VyIGluc3RhbmNlLCBjcmVhdGluZyBhIGRlZmF1bHQgb25lIGlmIG5vdCBzZXQuXG4gICAqXG4gICAqIEBzdW1tYXJ5XG4gICAqIEVuc3VyZXMgdGhhdCBhIHZhbGlkIGBMb2dnZXJgIGluc3RhbmNlIGlzIGFsd2F5cyBhdmFpbGFibGVcbiAgICogZm9yIGxvZ2dpbmcgYm9vdHN0cmFwLXJlbGF0ZWQgbWVzc2FnZXMuXG4gICAqXG4gICAqIEByZXR1cm4ge0xvZ2dlcn0gVGhlIGFjdGl2ZSBsb2dnZXIgaW5zdGFuY2UuXG4gICAqL1xuICBwcml2YXRlIHN0YXRpYyBnZXQgbG9nZ2VyKCk6IExvZ2dlciB7XG4gICAgaWYgKCF0aGlzLl9sb2dnZXIpIHtcbiAgICAgIC8vIGZhbGxiYWNrXG4gICAgICB0aGlzLl9sb2dnZXIgPSBuZXcgTG9nZ2VyKFwiTmVzdEJvb3RzdHJhcFwiKTtcbiAgICB9XG4gICAgcmV0dXJuIHRoaXMuX2xvZ2dlcjtcbiAgfVxuXG4gIC8qKlxuICAgKiBAZGVzY3JpcHRpb25cbiAgICogSW5pdGlhbGl6ZXMgdGhlIGJvb3RzdHJhcHBlciB3aXRoIGEgZ2l2ZW4gTmVzdEpTIGFwcGxpY2F0aW9uLlxuICAgKlxuICAgKiBAc3VtbWFyeVxuICAgKiBCaW5kcyB0aGUgcHJvdmlkZWQgTmVzdEpTIGFwcCBpbnN0YW5jZSB0byB0aGUgYm9vdHN0cmFwcGVyLCBlbmFibGluZ1xuICAgKiBjaGFpbmVkIGNvbmZpZ3VyYXRpb24gbWV0aG9kcy5cbiAgICpcbiAgICogQHBhcmFtIHtJTmVzdEFwcGxpY2F0aW9ufSBhcHAgLSBUaGUgTmVzdEpTIGFwcGxpY2F0aW9uIGluc3RhbmNlIHRvIGluaXRpYWxpemUuXG4gICAqIEByZXR1cm4ge05lc3RCb290c3RyYXBlcn0gUmV0dXJucyB0aGUgY2xhc3MgZm9yIGNoYWluaW5nIGNvbmZpZ3VyYXRpb24gbWV0aG9kcy5cbiAgICovXG4gIHN0YXRpYyBpbml0aWFsaXplKGFwcDogSU5lc3RBcHBsaWNhdGlvbikge1xuICAgIHRoaXMuYXBwID0gYXBwO1xuICAgIHJldHVybiB0aGlzO1xuICB9XG5cbiAgLyoqXG4gICAqIEBkZXNjcmlwdGlvblxuICAgKiBFbmFibGVzIG9yIHJlcGxhY2VzIHRoZSBnbG9iYWwgbG9nZ2VyIGZvciB0aGUgTmVzdEpTIGFwcGxpY2F0aW9uLlxuICAgKlxuICAgKiBAc3VtbWFyeVxuICAgKiBJZiBhIGN1c3RvbSBsb2dnZXIgaXMgcHJvdmlkZWQsIGl0IHJlcGxhY2VzIHRoZSBkZWZhdWx0IGxvZ2dlci4gT3RoZXJ3aXNlLFxuICAgKiBhIG5ldyBsb2dnZXIgbmFtZWQgYFwiTmVzdEJvb3RzdHJhcFwiYCBpcyB1c2VkLiBUaGlzIGxvZ2dlciBpcyBhbHNvIHJlZ2lzdGVyZWRcbiAgICogd2l0aCB0aGUgTmVzdEpTIGFwcGxpY2F0aW9uLlxuICAgKlxuICAgKiBAcGFyYW0ge0xvZ2dlcn0gW2N1c3RvbUxvZ2dlcl0gLSBPcHRpb25hbCBjdXN0b20gbG9nZ2VyIGluc3RhbmNlLlxuICAgKiBAcmV0dXJuIHtOZXN0Qm9vdHN0cmFwZXJ9IFJldHVybnMgdGhlIGNsYXNzIGZvciBjaGFpbmluZy5cbiAgICovXG4gIHN0YXRpYyBlbmFibGVMb2dnZXIoY3VzdG9tTG9nZ2VyPzogTG9nZ2VyKSB7XG4gICAgdGhpcy5fbG9nZ2VyID0gY3VzdG9tTG9nZ2VyIHx8IG5ldyBMb2dnZXIoXCJOZXN0Qm9vdHN0cmFwXCIpO1xuICAgIHRoaXMuYXBwLnVzZUxvZ2dlcih0aGlzLl9sb2dnZXIpO1xuICAgIHJldHVybiB0aGlzO1xuICB9XG5cbiAgLyoqXG4gICAqIEBkZXNjcmlwdGlvblxuICAgKiBFbmFibGVzIENyb3NzLU9yaWdpbiBSZXNvdXJjZSBTaGFyaW5nIChDT1JTKSBmb3IgdGhlIGFwcGxpY2F0aW9uLlxuICAgKlxuICAgKiBAc3VtbWFyeVxuICAgKiBBbGxvd3MgZGVmaW5pbmcgZWl0aGVyIGEgd2lsZGNhcmQgb3JpZ2luIChgXCIqXCJgKSBvciBhIGxpc3Qgb2YgYWxsb3dlZCBvcmlnaW5zLlxuICAgKiBBdXRvbWF0aWNhbGx5IGFjY2VwdHMgbG9jYWwgZGV2ZWxvcG1lbnQgcmVxdWVzdHMgYW5kIHRob3NlIHdpdGhvdXQgb3JpZ2luIGhlYWRlcnMuXG4gICAqIFRocm93cyBhIGBDb3JzRXJyb3JgIGZvciB1bmF1dGhvcml6ZWQgb3JpZ2lucy5cbiAgICpcbiAgICogQHBhcmFtIHsnKicgfCBzdHJpbmdbXX0gW29yaWdpbnM9W11dIC0gTGlzdCBvZiBhbGxvd2VkIG9yaWdpbnMgb3IgYFwiKlwiYCB0byBhbGxvdyBhbGwuXG4gICAqIEBwYXJhbSB7c3RyaW5nW119IFthbGxvd01ldGhvZHM9WydHRVQnLCAnUE9TVCcsICdQVVQnLCAnREVMRVRFJ11dIC0gQWxsb3dlZCBIVFRQIG1ldGhvZHMuXG4gICAqIEByZXR1cm4ge05lc3RCb290c3RyYXBlcn0gUmV0dXJucyB0aGUgY2xhc3MgZm9yIGNoYWluaW5nIGNvbmZpZ3VyYXRpb24uXG4gICAqXG4gICAqL1xuICBzdGF0aWMgZW5hYmxlQ29ycyhcbiAgICBvcmlnaW5zOiBcIipcIiB8IHN0cmluZ1tdID0gW10sXG4gICAgYWxsb3dNZXRob2RzOiBzdHJpbmdbXSA9IFtcIkdFVFwiLCBcIlBPU1RcIiwgXCJQVVRcIiwgXCJERUxFVEVcIl1cbiAgKSB7XG4gICAgY29uc3QgYWxsb3dlZE9yaWdpbnMgPVxuICAgICAgb3JpZ2lucyA9PT0gXCIqXCIgPyBcIipcIiA6IG9yaWdpbnMubWFwKChvKSA9PiBvLnRyaW0oKS50b0xvd2VyQ2FzZSgpKTtcblxuICAgIGNvbnN0IGNvcnNPcHRpb25zOiBDb3JzT3B0aW9ucyA9IHtcbiAgICAgIG9yaWdpbjogKG9yaWdpbiwgY2FsbGJhY2spID0+IHtcbiAgICAgICAgLy8gQWxsb3cgcmVxdWVzdCB3aXRob3V0IG9yaWdpbi4uLlxuICAgICAgICBpZiAoIW9yaWdpbikgcmV0dXJuIGNhbGxiYWNrKG51bGwsIHRydWUpO1xuXG4gICAgICAgIGlmIChcbiAgICAgICAgICBhbGxvd2VkT3JpZ2lucyA9PT0gXCIqXCIgfHxcbiAgICAgICAgICAoQXJyYXkuaXNBcnJheShhbGxvd2VkT3JpZ2lucykgJiZcbiAgICAgICAgICAgIGFsbG93ZWRPcmlnaW5zLmluY2x1ZGVzKG9yaWdpbi50b0xvd2VyQ2FzZSgpKSlcbiAgICAgICAgKSB7XG4gICAgICAgICAgcmV0dXJuIGNhbGxiYWNrKG51bGwsIHRydWUpO1xuICAgICAgICB9XG5cbiAgICAgICAgY2FsbGJhY2sobmV3IENvcnNFcnJvcihgT3JpZ2luICR7b3JpZ2lufSBub3QgYWxsb3dlZGApKTtcbiAgICAgIH0sXG4gICAgICBjcmVkZW50aWFsczogdHJ1ZSxcbiAgICAgIG1ldGhvZHM6IGFsbG93TWV0aG9kcy5qb2luKFwiLFwiKSxcbiAgICB9O1xuXG4gICAgdGhpcy5hcHAuZW5hYmxlQ29ycyhjb3JzT3B0aW9ucyk7XG4gICAgcmV0dXJuIHRoaXM7XG4gIH1cblxuICAvKipcbiAgICogQGRlc2NyaXB0aW9uXG4gICAqIEFwcGxpZXMgdGhlIEhlbG1ldCBtaWRkbGV3YXJlIGZvciBlbmhhbmNlZCBzZWN1cml0eS5cbiAgICpcbiAgICogQHN1bW1hcnlcbiAgICogRHluYW1pY2FsbHkgbG9hZHMgdGhlIGBoZWxtZXRgIHBhY2thZ2UgaWYgYXZhaWxhYmxlIGFuZCByZWdpc3RlcnMgaXRcbiAgICogYXMgbWlkZGxld2FyZSB0byBpbXByb3ZlIEhUVFAgaGVhZGVyIHNlY3VyaXR5LiBJZiBub3QgaW5zdGFsbGVkLCBsb2dzIGEgd2FybmluZ1xuICAgKiBhbmQgY29udGludWVzIGV4ZWN1dGlvbiB3aXRob3V0IHRocm93aW5nIGVycm9ycy5cbiAgICpcbiAgICogQHBhcmFtIHtSZWNvcmQ8c3RyaW5nLCBhbnk+fSBbb3B0aW9uc10gLSBPcHRpb25hbCBjb25maWd1cmF0aW9uIHBhc3NlZCB0byBIZWxtZXQuXG4gICAqIEByZXR1cm4ge05lc3RCb290c3RyYXBlcn0gUmV0dXJucyB0aGUgY2xhc3MgZm9yIGNoYWluaW5nIGNvbmZpZ3VyYXRpb24uXG4gICAqL1xuICBzdGF0aWMgdXNlSGVsbWV0KG9wdGlvbnM/OiBSZWNvcmQ8c3RyaW5nLCBhbnk+KSB7XG4gICAgdHJ5IHtcbiAgICAgIC8vIGVzbGludC1kaXNhYmxlLW5leHQtbGluZSBAdHlwZXNjcmlwdC1lc2xpbnQvbm8tcmVxdWlyZS1pbXBvcnRzXG4gICAgICBjb25zdCBoZWxtZXQgPSByZXF1aXJlKFwiaGVsbWV0XCIpOyAvLyBEeW5hbWljIGltcG9ydCB0byBhdm9pZCBoYXJkIGRlcGVuZGVuY3lcbiAgICAgIHRoaXMuYXBwLnVzZShoZWxtZXQob3B0aW9ucykpO1xuICAgICAgdGhpcy5sb2dnZXIubG9nKFwiSGVsbWV0IG1pZGRsZXdhcmUgZW5hYmxlZCBzdWNjZXNzZnVsbHkuXCIpO1xuICAgICAgLy8gZXNsaW50LWRpc2FibGUtbmV4dC1saW5lIEB0eXBlc2NyaXB0LWVzbGludC9uby11bnVzZWQtdmFyc1xuICAgIH0gY2F0Y2ggKGU6IGFueSkge1xuICAgICAgdGhpcy5sb2dnZXIud2FybihcIkhlbG1ldCBub3QgaW5zdGFsbGVkLiBTa2lwcGluZyBtaWRkbGV3YXJlLlwiKTtcbiAgICB9XG5cbiAgICByZXR1cm4gdGhpcztcbiAgfVxuXG4gIC8qKlxuICAgKiBAZGVzY3JpcHRpb25cbiAgICogQ29uZmlndXJlcyBhbmQgaW5pdGlhbGl6ZXMgU3dhZ2dlciBVSSBmb3IgQVBJIGRvY3VtZW50YXRpb24uXG4gICAqXG4gICAqIEBzdW1tYXJ5XG4gICAqIFVzZXMgdGhlIGBTd2FnZ2VyQnVpbGRlcmAgdXRpbGl0eSB0byBjb25maWd1cmUgQVBJIGRvY3VtZW50YXRpb25cbiAgICogd2l0aCBkZXRhaWxlZCBjdXN0b21pemF0aW9uIGZvciB0aXRsZSwgdmVyc2lvbiwgcGF0aHMsIGFuZCBjb2xvcnMuXG4gICAqIFN3YWdnZXIgaXMgYXV0b21hdGljYWxseSBleHBvc2VkIGF0IHRoZSBjb25maWd1cmVkIHBhdGguXG4gICAqXG4gICAqIEBwYXJhbSB7U3dhZ2dlclNldHVwT3B0aW9uc30gb3B0aW9ucyAtIFN3YWdnZXIgY29uZmlndXJhdGlvbiBvcHRpb25zLlxuICAgKiBAcmV0dXJuIHtOZXN0Qm9vdHN0cmFwZXJ9IFJldHVybnMgdGhlIGNsYXNzIGZvciBjaGFpbmluZyBjb25maWd1cmF0aW9uLlxuICAgKi9cbiAgc3RhdGljIHNldHVwU3dhZ2dlcihvcHRpb25zOiBTd2FnZ2VyU2V0dXBPcHRpb25zKSB7XG4gICAgY29uc3Qgc3dhZ2dlciA9IG5ldyBTd2FnZ2VyQnVpbGRlcih0aGlzLmFwcCwge1xuICAgICAgdGl0bGU6IG9wdGlvbnMudGl0bGUsXG4gICAgICBkZXNjcmlwdGlvbjogb3B0aW9ucy5kZXNjcmlwdGlvbixcbiAgICAgIHZlcnNpb246IG9wdGlvbnMudmVyc2lvbixcbiAgICAgIHBhdGg6IG9wdGlvbnMucGF0aCB8fCBcImFwaVwiLFxuICAgICAgcGVyc2lzdEF1dGhvcml6YXRpb246IG9wdGlvbnMucGVyc2lzdEF1dGhvcml6YXRpb24gPz8gdHJ1ZSxcbiAgICAgIGFzc2V0c1BhdGg6IG9wdGlvbnMuYXNzZXRzUGF0aCxcbiAgICAgIGZhdmljb25GaWxlUGF0aDogb3B0aW9ucy5mYXZpY29uUGF0aCxcbiAgICAgIHRvcGJhckljb25GaWxlUGF0aDogb3B0aW9ucy50b3BiYXJJY29uUGF0aCxcbiAgICAgIHRvcGJhckJnQ29sb3I6IG9wdGlvbnMudG9wYmFyQmdDb2xvcixcbiAgICAgIG9wZW5BcGlKc29uUGF0aDogb3B0aW9ucy5vcGVuQXBpSnNvblBhdGgsXG4gICAgICBvcGVuQXBpWWFtbFBhdGg6IG9wdGlvbnMub3BlbkFwaVlhbWxQYXRoLFxuICAgIH0pO1xuICAgIHN3YWdnZXIuc2V0dXBTd2FnZ2VyKCk7XG4gICAgcmV0dXJuIHRoaXM7XG4gIH1cblxuICAvKipcbiAgICogQGRlc2NyaXB0aW9uXG4gICAqIFJlZ2lzdGVycyBvbmUgb3IgbW9yZSBnbG9iYWwgdmFsaWRhdGlvbiBwaXBlcy5cbiAgICpcbiAgICogQHN1bW1hcnlcbiAgICogRW5hYmxlcyByZXF1ZXN0IHBheWxvYWQgdmFsaWRhdGlvbiBhbmQgdHJhbnNmb3JtYXRpb24gZ2xvYmFsbHkgYWNyb3NzXG4gICAqIHRoZSBlbnRpcmUgTmVzdEpTIGFwcGxpY2F0aW9uLiBNdWx0aXBsZSBwaXBlcyBjYW4gYmUgY2hhaW5lZCB0b2dldGhlclxuICAgKiBmb3IgbW9kdWxhciBpbnB1dCB2YWxpZGF0aW9uLlxuICAgKlxuICAgKiBAcGFyYW0gey4uLlBpcGVUcmFuc2Zvcm1bXX0gcGlwZXMgLSBQaXBlIGluc3RhbmNlcyB0byByZWdpc3RlciBnbG9iYWxseS5cbiAgICogQHJldHVybiB7TmVzdEJvb3RzdHJhcGVyfSBSZXR1cm5zIHRoZSBjbGFzcyBmb3IgY2hhaW5pbmcuXG4gICAqL1xuICBzdGF0aWMgdXNlR2xvYmFsUGlwZXMoLi4ucGlwZXM6IFBpcGVUcmFuc2Zvcm1bXSkge1xuICAgIGlmIChwaXBlcy5sZW5ndGggPiAwKSB0aGlzLmFwcC51c2VHbG9iYWxQaXBlcyguLi5waXBlcyk7XG4gICAgcmV0dXJuIHRoaXM7XG4gIH1cblxuICAvKipcbiAgICogQGRlc2NyaXB0aW9uXG4gICAqIFJlZ2lzdGVycyBvbmUgb3IgbW9yZSBnbG9iYWwgZXhjZXB0aW9uIGZpbHRlcnMuXG4gICAqXG4gICAqIEBzdW1tYXJ5XG4gICAqIElmIG5vIGZpbHRlcnMgYXJlIHByb3ZpZGVkLCBpdCBhdXRvbWF0aWNhbGx5IHJlZ2lzdGVycyBhIGRlZmF1bHRcbiAgICogc2V0IG9mIHN0YW5kYXJkIGV4Y2VwdGlvbiBmaWx0ZXJzIGZvciBjb21tb24gZXJyb3IgdHlwZXMgbGlrZVxuICAgKiBgSHR0cEV4Y2VwdGlvbmAsIGBWYWxpZGF0aW9uRXhjZXB0aW9uYCwgYENvbmZsaWN0RXhjZXB0aW9uYCwgYW5kIG90aGVycy5cbiAgICpcbiAgICogQHBhcmFtIHsuLi5FeGNlcHRpb25GaWx0ZXJbXX0gZmlsdGVycyAtIE9wdGlvbmFsIGZpbHRlcnMgdG8gYXBwbHkgZ2xvYmFsbHkuXG4gICAqL1xuICBzdGF0aWMgdXNlR2xvYmFsRmlsdGVycyguLi5maWx0ZXJzOiBhbnlbXSkge1xuICAgIHRoaXMuYXBwLnVzZUdsb2JhbEZpbHRlcnMoXG4gICAgICAuLi4oZmlsdGVycy5sZW5ndGggPiAwID8gZmlsdGVycyA6IFtuZXcgRGVjYWZFeGNlcHRpb25GaWx0ZXIoKV0pXG4gICAgKTtcbiAgICByZXR1cm4gdGhpcztcbiAgfVxuXG4gIC8qKlxuICAgKiBAZGVzY3JpcHRpb25cbiAgICogUmVnaXN0ZXJzIGdsb2JhbCBpbnRlcmNlcHRvcnMgZm9yIHJlcXVlc3QgYW5kIHJlc3BvbnNlIHRyYW5zZm9ybWF0aW9uLlxuICAgKlxuICAgKiBAc3VtbWFyeVxuICAgKiBJbnRlcmNlcHRvcnMgYWxsb3cgYWR2YW5jZWQgcmVxdWVzdC9yZXNwb25zZSBtYW5pcHVsYXRpb24gc3VjaCBhc1xuICAgKiBzZXJpYWxpemF0aW9uLCBsb2dnaW5nLCBvciB0cmFuc2Zvcm1hdGlvbi4gTXVsdGlwbGUgaW50ZXJjZXB0b3JzXG4gICAqIGNhbiBiZSBhZGRlZCBmb3IgbW9kdWxhciBjb25maWd1cmF0aW9uLlxuICAgKlxuICAgKiBAcGFyYW0gey4uLk5lc3RJbnRlcmNlcHRvcltdfSBpbnRlcmNlcHRvcnMgLSBJbnRlcmNlcHRvciBpbnN0YW5jZXMgdG8gcmVnaXN0ZXIuXG4gICAqIEByZXR1cm4ge05lc3RCb290c3RyYXBlcn0gUmV0dXJucyB0aGUgY2xhc3MgZm9yIGNoYWluaW5nIGNvbmZpZ3VyYXRpb24uXG4gICAqL1xuICBzdGF0aWMgdXNlR2xvYmFsSW50ZXJjZXB0b3JzKC4uLmludGVyY2VwdG9yczogTmVzdEludGVyY2VwdG9yW10pIHtcbiAgICBpZiAoaW50ZXJjZXB0b3JzLmxlbmd0aCA+IDApXG4gICAgICB0aGlzLmFwcC51c2VHbG9iYWxJbnRlcmNlcHRvcnMoLi4uaW50ZXJjZXB0b3JzKTtcbiAgICByZXR1cm4gdGhpcztcbiAgfVxuXG4gIC8qKlxuICAgKiBAZGVzY3JpcHRpb25cbiAgICogU3RhcnRzIHRoZSBOZXN0SlMgYXBwbGljYXRpb24gYW5kIGJpbmRzIGl0IHRvIHRoZSBnaXZlbiBwb3J0IGFuZCBob3N0LlxuICAgKlxuICAgKiBAc3VtbWFyeVxuICAgKiBMaXN0ZW5zIG9uIHRoZSBzcGVjaWZpZWQgcG9ydCBhbmQgb3B0aW9uYWxseSBhIGhvc3QuIE9uY2Ugc3RhcnRlZCxcbiAgICogbG9ncyB0aGUgYXBwbGljYXRpb24gVVJMIGZvciBlYXN5IGFjY2Vzcy4gVGhlIHN0YXJ0dXAgcHJvY2VzcyByZXNvbHZlc1xuICAgKiBvbmNlIHRoZSBhcHBsaWNhdGlvbiBpcyBzdWNjZXNzZnVsbHkgcnVubmluZy5cbiAgICpcbiAgICogQHBhcmFtIHtudW1iZXJ9IFtwb3J0PTMwMDBdIC0gUG9ydCBudW1iZXIgdG8gbGlzdGVuIG9uLlxuICAgKiBAcGFyYW0ge3N0cmluZ30gW2hvc3RdIC0gT3B0aW9uYWwgaG9zdCBvciBJUCBhZGRyZXNzIHRvIGJpbmQgdG8uXG4gICAqIEBwYXJhbSB7Ym9vbGVhbn0gW2xvZz10cnVlXSAtIFdoZXRoZXIgdG8gbG9nIHRoZSBhcHBsaWNhdGlvbiBVUkwgdXBvbiBzdGFydHVwLlxuICAgKiBAcmV0dXJuIHtQcm9taXNlPHZvaWQ+fSBSZXNvbHZlcyBvbmNlIHRoZSBhcHBsaWNhdGlvbiBzdGFydHMgc3VjY2Vzc2Z1bGx5LlxuICAgKi9cbiAgc3RhdGljIGFzeW5jIHN0YXJ0KFxuICAgIHBvcnQ6IG51bWJlciA9IE51bWJlcihwcm9jZXNzLmVudi5QT1JUKSB8fCAzMDAwLFxuICAgIGhvc3Q6IHN0cmluZyB8IHVuZGVmaW5lZCA9IHVuZGVmaW5lZCxcbiAgICBsb2c6IGJvb2xlYW4gPSB0cnVlXG4gICkge1xuICAgIHRoaXMuYXBwLmxpc3Rlbihwb3J0LCBob3N0IGFzIGFueSkudGhlbihhc3luYyAoKSA9PiB7XG4gICAgICBpZiAobG9nKSB7XG4gICAgICAgIGNvbnN0IHVybCA9IGF3YWl0IHRoaXMuYXBwLmdldFVybCgpO1xuICAgICAgICB0aGlzLmxvZ2dlci5sb2coYPCfmoAgQXBwbGljYXRpb24gaXMgcnVubmluZyBhdDogJHt1cmx9YCk7XG4gICAgICB9XG4gICAgfSk7XG4gIH1cbn1cbiJdfQ==
@@ -4,4 +4,4 @@ export class CorsError extends ForbiddenError {
4
4
  super(msg, CorsError.name);
5
5
  }
6
6
  }
7
- //# sourceMappingURL=cors.js.map
7
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiY29ycy5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uL3NyYy9mYWN0b3J5L2Vycm9ycy9jb3JzLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBRSxjQUFjLEVBQUUsTUFBTSxnQkFBZ0IsQ0FBQztBQUVoRCxNQUFNLE9BQU8sU0FBVSxTQUFRLGNBQWM7SUFDM0MsWUFBWSxHQUFtQjtRQUM3QixLQUFLLENBQUMsR0FBRyxFQUFFLFNBQVMsQ0FBQyxJQUFJLENBQUMsQ0FBQztJQUM3QixDQUFDO0NBQ0YiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBGb3JiaWRkZW5FcnJvciB9IGZyb20gXCJAZGVjYWYtdHMvY29yZVwiO1xuXG5leHBvcnQgY2xhc3MgQ29yc0Vycm9yIGV4dGVuZHMgRm9yYmlkZGVuRXJyb3Ige1xuICBjb25zdHJ1Y3Rvcihtc2c6IHN0cmluZyB8IEVycm9yKSB7XG4gICAgc3VwZXIobXNnLCBDb3JzRXJyb3IubmFtZSk7XG4gIH1cbn1cbiJdfQ==
@@ -1,2 +1,2 @@
1
1
  export * from "./cors.js";
2
- //# sourceMappingURL=index.js.map
2
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaW5kZXguanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi9zcmMvZmFjdG9yeS9lcnJvcnMvaW5kZXgudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsMEJBQXVCIiwic291cmNlc0NvbnRlbnQiOlsiZXhwb3J0ICogZnJvbSBcIi4vY29yc1wiO1xuIl19
@@ -4,4 +4,4 @@ export class ToManyRequestsError extends BaseError {
4
4
  super(ToManyRequestsError.name, msg, 429);
5
5
  }
6
6
  }
7
- //# sourceMappingURL=throttling.js.map
7
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidGhyb3R0bGluZy5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uL3NyYy9mYWN0b3J5L2Vycm9ycy90aHJvdHRsaW5nLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBRSxTQUFTLEVBQUUsTUFBTSx5QkFBeUIsQ0FBQztBQUVwRCxNQUFNLE9BQU8sbUJBQW9CLFNBQVEsU0FBUztJQUNoRCxZQUFZLEdBQW1CO1FBQzdCLEtBQUssQ0FBQyxtQkFBbUIsQ0FBQyxJQUFJLEVBQUUsR0FBRyxFQUFHLEdBQUcsQ0FBQyxDQUFDO0lBQzdDLENBQUM7Q0FDRiIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IEJhc2VFcnJvciB9IGZyb20gXCJAZGVjYWYtdHMvZGItZGVjb3JhdG9yc1wiO1xuXG5leHBvcnQgY2xhc3MgVG9NYW55UmVxdWVzdHNFcnJvciBleHRlbmRzIEJhc2VFcnJvciB7XG4gIGNvbnN0cnVjdG9yKG1zZzogc3RyaW5nIHwgRXJyb3IgKSB7XG4gICAgc3VwZXIoVG9NYW55UmVxdWVzdHNFcnJvci5uYW1lLCBtc2cgLCA0MjkpO1xuICB9XG59Il19
@@ -42,4 +42,4 @@ DecafExceptionFilter = __decorate([
42
42
  Catch()
43
43
  ], DecafExceptionFilter);
44
44
  export { DecafExceptionFilter };
45
- //# sourceMappingURL=DecafErrorFilter.js.map
45
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiRGVjYWZFcnJvckZpbHRlci5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uL3NyYy9mYWN0b3J5L2V4Y2VwdGlvbnMvRGVjYWZFcnJvckZpbHRlci50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiOzs7Ozs7QUFBQSxPQUFPLEVBRUwsS0FBSyxFQUVMLHNCQUFzQixFQUN0QixpQkFBaUIsR0FDbEIsTUFBTSxnQkFBZ0IsQ0FBQztBQUN4QixPQUFPLEVBQUUsU0FBUyxFQUFFLGFBQWEsRUFBRSxNQUFNLHlCQUF5QixDQUFDO0FBQ25FLE9BQU8sRUFBRSxpQkFBaUIsRUFBRSxNQUFNLG1CQUFtQixDQUFDO0FBQ3RELE9BQU8sRUFBRSxnQkFBZ0IsRUFBRSxNQUFNLGdCQUFnQixDQUFDO0FBQ2xELE9BQU8sRUFBRSxtQkFBbUIsRUFBRSxrQ0FBNkI7QUFHcEQsSUFBTSxvQkFBb0IsR0FBMUIsTUFBTSxvQkFBb0I7SUFDL0IsS0FBSyxDQUFDLFNBQWdCLEVBQUUsSUFBbUI7UUFDekMsTUFBTSxHQUFHLEdBQUcsSUFBSSxDQUFDLFlBQVksRUFBRSxDQUFDO1FBQ2hDLE1BQU0sUUFBUSxHQUFHLEdBQUcsQ0FBQyxXQUFXLEVBQUUsQ0FBQztRQUNuQyxNQUFNLE9BQU8sR0FBRyxHQUFHLENBQUMsVUFBVSxFQUFFLENBQUM7UUFFakMsTUFBTSxZQUFZLEdBQUcsaUJBQWlCLENBQUMsR0FBRyxLQUFLLFlBQVksQ0FBQztRQUM1RCxJQUFJLFVBQVUsQ0FBQztRQUVmLElBQ0UsU0FBUyxZQUFZLGlCQUFpQjtZQUN0QyxTQUFTLFlBQVksZ0JBQWdCLEVBQ3JDLENBQUM7WUFDRCxTQUFTLEdBQUcsSUFBSSxzQkFBc0IsQ0FBQyxTQUFTLENBQUMsT0FBTyxDQUFDLENBQUM7WUFDMUQsVUFBVSxHQUFJLFNBQW9DLENBQUMsU0FBUyxFQUFFLENBQUM7UUFDakUsQ0FBQzthQUFNLElBQUksQ0FBQyxDQUFDLFNBQVMsWUFBWSxTQUFTLENBQUMsRUFBRSxDQUFDO1lBQzdDLElBQUksU0FBaUIsQ0FBQyxNQUFNLEtBQUssR0FBRyxFQUFDLENBQUM7Z0JBQ3BDLFNBQVMsR0FBRyxJQUFJLG1CQUFtQixDQUFDLFNBQVMsQ0FBQyxPQUFPLENBQUMsQ0FBQztZQUN6RCxDQUFDO2lCQUFJLENBQUM7Z0JBQ0osU0FBUyxHQUFHLElBQUksYUFBYSxDQUFDLFNBQVMsQ0FBQyxPQUFPLENBQUMsQ0FBQztZQUNuRCxDQUFDO1FBQ0gsQ0FBQztRQUVELFFBQVEsQ0FBQyxNQUFNLENBQUUsU0FBdUIsQ0FBQyxJQUFJLElBQUksVUFBVSxDQUFDLENBQUMsSUFBSSxDQUFDO1lBQ2hFLE1BQU0sRUFBRyxTQUF1QixDQUFDLElBQUksSUFBSSxVQUFVO1lBQ25ELEtBQUssRUFBRSxZQUFZLENBQUMsQ0FBQyxDQUFDLFNBQVMsQ0FBQyxJQUFJLENBQUMsQ0FBQyxDQUFDLFNBQVMsQ0FBQyxPQUFPO1lBQ3hELFNBQVMsRUFBRSxJQUFJLElBQUksRUFBRSxDQUFDLFdBQVcsRUFBRTtZQUNuQyxJQUFJLEVBQUUsT0FBTyxDQUFDLEdBQUc7WUFDakIsTUFBTSxFQUFFLE9BQU8sQ0FBQyxNQUFNO1NBQ3ZCLENBQUMsQ0FBQztJQUNMLENBQUM7Q0FDRixDQUFBO0FBL0JZLG9CQUFvQjtJQURoQyxLQUFLLEVBQUU7R0FDSyxvQkFBb0IsQ0ErQmhDIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHtcbiAgQXJndW1lbnRzSG9zdCxcbiAgQ2F0Y2gsXG4gIEV4Y2VwdGlvbkZpbHRlcixcbiAgTm90QWNjZXB0YWJsZUV4Y2VwdGlvbixcbiAgTm90Rm91bmRFeGNlcHRpb24sXG59IGZyb20gXCJAbmVzdGpzL2NvbW1vblwiO1xuaW1wb3J0IHsgQmFzZUVycm9yLCBJbnRlcm5hbEVycm9yIH0gZnJvbSBcIkBkZWNhZi10cy9kYi1kZWNvcmF0b3JzXCI7XG5pbXBvcnQgeyBMb2dnZWRFbnZpcm9ubWVudCB9IGZyb20gXCJAZGVjYWYtdHMvbG9nZ2luZ1wiO1xuaW1wb3J0IHsgVW5zdXBwb3J0ZWRFcnJvciB9IGZyb20gXCJAZGVjYWYtdHMvY29yZVwiO1xuaW1wb3J0IHsgVG9NYW55UmVxdWVzdHNFcnJvciB9IGZyb20gXCIuLi9lcnJvcnMvdGhyb3R0bGluZ1wiO1xuXG5AQ2F0Y2goKVxuZXhwb3J0IGNsYXNzIERlY2FmRXhjZXB0aW9uRmlsdGVyIGltcGxlbWVudHMgRXhjZXB0aW9uRmlsdGVyIHtcbiAgY2F0Y2goZXhjZXB0aW9uOiBFcnJvciwgaG9zdDogQXJndW1lbnRzSG9zdCkge1xuICAgIGNvbnN0IGN0eCA9IGhvc3Quc3dpdGNoVG9IdHRwKCk7XG4gICAgY29uc3QgcmVzcG9uc2UgPSBjdHguZ2V0UmVzcG9uc2UoKTtcbiAgICBjb25zdCByZXF1ZXN0ID0gY3R4LmdldFJlcXVlc3QoKTtcblxuICAgIGNvbnN0IGlzUHJvZHVjdGlvbiA9IExvZ2dlZEVudmlyb25tZW50LmVudiA9PT0gXCJwcm9kdWN0aW9uXCI7XG4gICAgbGV0IHN0YXR1c0NvZGU7XG5cbiAgICBpZiAoXG4gICAgICBleGNlcHRpb24gaW5zdGFuY2VvZiBOb3RGb3VuZEV4Y2VwdGlvbiB8fFxuICAgICAgZXhjZXB0aW9uIGluc3RhbmNlb2YgVW5zdXBwb3J0ZWRFcnJvclxuICAgICkge1xuICAgICAgZXhjZXB0aW9uID0gbmV3IE5vdEFjY2VwdGFibGVFeGNlcHRpb24oZXhjZXB0aW9uLm1lc3NhZ2UpO1xuICAgICAgc3RhdHVzQ29kZSA9IChleGNlcHRpb24gYXMgTm90QWNjZXB0YWJsZUV4Y2VwdGlvbikuZ2V0U3RhdHVzKCk7XG4gICAgfSBlbHNlIGlmICghKGV4Y2VwdGlvbiBpbnN0YW5jZW9mIEJhc2VFcnJvcikpIHtcbiAgICAgIGlmKChleGNlcHRpb24gYXMgYW55KS5zdGF0dXMgPT09IDQyOSl7XG4gICAgICAgIGV4Y2VwdGlvbiA9IG5ldyBUb01hbnlSZXF1ZXN0c0Vycm9yKGV4Y2VwdGlvbi5tZXNzYWdlKTtcbiAgICAgIH1lbHNle1xuICAgICAgICBleGNlcHRpb24gPSBuZXcgSW50ZXJuYWxFcnJvcihleGNlcHRpb24ubWVzc2FnZSk7XG4gICAgICB9XG4gICAgfVxuXG4gICAgcmVzcG9uc2Uuc3RhdHVzKChleGNlcHRpb24gYXMgQmFzZUVycm9yKS5jb2RlIHx8IHN0YXR1c0NvZGUpLmpzb24oe1xuICAgICAgc3RhdHVzOiAoZXhjZXB0aW9uIGFzIEJhc2VFcnJvcikuY29kZSB8fCBzdGF0dXNDb2RlLFxuICAgICAgZXJyb3I6IGlzUHJvZHVjdGlvbiA/IGV4Y2VwdGlvbi5uYW1lIDogZXhjZXB0aW9uLm1lc3NhZ2UsXG4gICAgICB0aW1lc3RhbXA6IG5ldyBEYXRlKCkudG9JU09TdHJpbmcoKSxcbiAgICAgIHBhdGg6IHJlcXVlc3QudXJsLFxuICAgICAgbWV0aG9kOiByZXF1ZXN0Lm1ldGhvZCxcbiAgICB9KTtcbiAgfVxufVxuIl19
@@ -7,4 +7,4 @@ export function UseDecafFilter() {
7
7
  export function UseDecafHeaders() {
8
8
  return UseInterceptors(DecafResponseInterceptor);
9
9
  }
10
- //# sourceMappingURL=decorators.js.map
10
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZGVjb3JhdG9ycy5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uL3NyYy9mYWN0b3J5L2V4Y2VwdGlvbnMvZGVjb3JhdG9ycy50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQUUsVUFBVSxFQUFFLGVBQWUsRUFBRSxNQUFNLGdCQUFnQixDQUFDO0FBQzdELE9BQU8sRUFBRSxvQkFBb0IsRUFBRSw4QkFBMkI7QUFDMUQsT0FBTyxFQUFFLHdCQUF3QixFQUFFLGlDQUE0QjtBQUUvRCxNQUFNLFVBQVUsY0FBYztJQUM1QixPQUFPLFVBQVUsQ0FBQyxJQUFJLG9CQUFvQixFQUFFLENBQUMsQ0FBQztBQUNoRCxDQUFDO0FBRUQsTUFBTSxVQUFVLGVBQWU7SUFDN0IsT0FBTyxlQUFlLENBQUMsd0JBQXdCLENBQUMsQ0FBQztBQUNuRCxDQUFDIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgVXNlRmlsdGVycywgVXNlSW50ZXJjZXB0b3JzIH0gZnJvbSBcIkBuZXN0anMvY29tbW9uXCI7XG5pbXBvcnQgeyBEZWNhZkV4Y2VwdGlvbkZpbHRlciB9IGZyb20gXCIuL0RlY2FmRXJyb3JGaWx0ZXJcIjtcbmltcG9ydCB7IERlY2FmUmVzcG9uc2VJbnRlcmNlcHRvciB9IGZyb20gXCIuLi8uLi9yZXF1ZXN0L2luZGV4XCI7XG5cbmV4cG9ydCBmdW5jdGlvbiBVc2VEZWNhZkZpbHRlcigpIHtcbiAgcmV0dXJuIFVzZUZpbHRlcnMobmV3IERlY2FmRXhjZXB0aW9uRmlsdGVyKCkpO1xufVxuXG5leHBvcnQgZnVuY3Rpb24gVXNlRGVjYWZIZWFkZXJzKCkge1xuICByZXR1cm4gVXNlSW50ZXJjZXB0b3JzKERlY2FmUmVzcG9uc2VJbnRlcmNlcHRvcik7XG59XG4iXX0=
@@ -1,3 +1,3 @@
1
1
  export * from "./DecafErrorFilter.js";
2
2
  export * from "./decorators.js";
3
- //# sourceMappingURL=index.js.map
3
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaW5kZXguanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi9zcmMvZmFjdG9yeS9leGNlcHRpb25zL2luZGV4LnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLHNDQUFtQztBQUNuQyxnQ0FBNkIiLCJzb3VyY2VzQ29udGVudCI6WyJleHBvcnQgKiBmcm9tIFwiLi9EZWNhZkVycm9yRmlsdGVyXCI7XG5leHBvcnQgKiBmcm9tIFwiLi9kZWNvcmF0b3JzXCI7XG4iXX0=
@@ -2,4 +2,4 @@ export * from "./errors/index.js";
2
2
  export * from "./exceptions/index.js";
3
3
  export * from "./openapi/index.js";
4
4
  export * from "./NestBootstraper.js";
5
- //# sourceMappingURL=index.js.map
5
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaW5kZXguanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi9zcmMvZmFjdG9yeS9pbmRleC50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxrQ0FBeUI7QUFDekIsc0NBQTZCO0FBQzdCLG1DQUEwQjtBQUMxQixxQ0FBa0MiLCJzb3VyY2VzQ29udGVudCI6WyJleHBvcnQgKiBmcm9tIFwiLi9lcnJvcnNcIjtcbmV4cG9ydCAqIGZyb20gXCIuL2V4Y2VwdGlvbnNcIjtcbmV4cG9ydCAqIGZyb20gXCIuL29wZW5hcGlcIjtcbmV4cG9ydCAqIGZyb20gXCIuL05lc3RCb290c3RyYXBlclwiO1xuIl19
@@ -19,15 +19,19 @@ const dtoCache = new Map();
19
19
  * • CREATE – included only when the pk is NOT auto-generated
20
20
  * (checked via Model.pkProps().generated AND Model.generated()).
21
21
  * - Relation properties (@oneToOne, @oneToMany, …):
22
- * • CREATE – nested as DtoFor(CREATE, RelatedModel).
22
+ * • CREATE – nested as DtoFor(CREATE, RelatedModel). When the relation
23
+ * creates a circular reference (model A → model B → model A),
24
+ * the back-reference uses the related model's PK type
25
+ * (string/integer) instead of the full DTO to break the cycle.
23
26
  * • UPDATE – union of DtoFor(UPDATE, RelatedModel) **or** the
24
27
  * related model's primary-key type (string / integer),
25
- * expressed as a Swagger oneOf.
28
+ * expressed as a Swagger oneOf. Circular back-references
29
+ * omit the DTO $ref and only include the PK type.
26
30
  *
27
31
  * Metadata.properties() now returns ALL properties across the prototype chain,
28
32
  * so DTO inheritance is no longer needed; every DTO is a flat class.
29
33
  */
30
- export function DtoFor(op, model) {
34
+ export function DtoFor(op, model, stack = new Set()) {
31
35
  if (!TransactionOperationKeys.includes(op)) {
32
36
  return model;
33
37
  }
@@ -118,7 +122,17 @@ export function DtoFor(op, model) {
118
122
  const meta = Metadata.validationFor(model, relation);
119
123
  const isArray = !!meta?.[ValidationKeys.LIST];
120
124
  const isRequired = !!meta?.[ValidationKeys.REQUIRED];
121
- const relationDto = DtoFor(op, relationType);
125
+ // Detect circular reference: if the related model is already in the
126
+ // recursion stack, use the PK type instead of the full DTO to break
127
+ // the cycle. This prevents @nestjs/swagger's SchemaObjectFactory from
128
+ // infinitely recursing when exploring the schemas.
129
+ const isCircular = stack.has(relationType);
130
+ if (isCircular) {
131
+ const pkTypeName = getPkOpenApiType(relationType);
132
+ addRelationPkRef(DynamicDTO, relation, pkTypeName, isArray, isRequired);
133
+ continue;
134
+ }
135
+ const relationDto = DtoFor(op, relationType, new Set(stack).add(model));
122
136
  if (isUpdateOp) {
123
137
  addRelationUpdate(DynamicDTO, relation, relationType, relationDto, isArray, isRequired);
124
138
  }
@@ -143,6 +157,23 @@ function addRelation(DtoClass, relation, relationDto, isArray, isRequired) {
143
157
  configurable: true,
144
158
  });
145
159
  }
160
+ /**
161
+ * Adds a relation property that uses the PK type (string/integer) instead of
162
+ * a full DTO class. Used to break circular references (e.g. Customer → Order → Customer).
163
+ */
164
+ function addRelationPkRef(DtoClass, relation, pkTypeName, isArray, isRequired) {
165
+ const apiOptions = isArray
166
+ ? { type: "array", items: { type: pkTypeName }, required: isRequired }
167
+ : { type: pkTypeName === "integer" ? Number : String, required: isRequired };
168
+ ApiProperty(apiOptions)(DtoClass.prototype, relation);
169
+ Reflect.defineMetadata("design:type", isArray ? Array : (pkTypeName === "integer" ? Number : String), DtoClass.prototype, relation);
170
+ Object.defineProperty(DtoClass.prototype, relation, {
171
+ value: undefined,
172
+ writable: true,
173
+ enumerable: true,
174
+ configurable: true,
175
+ });
176
+ }
146
177
  function addRelationUpdate(DtoClass, relation, relationType, relationDto, isArray, isRequired) {
147
178
  const extraModels = Reflect.getMetadata(DECORATORS.API_EXTRA_MODELS, DtoClass) || [];
148
179
  if (!extraModels.includes(relationDto)) {
@@ -210,4 +241,4 @@ function getDtoCache(op) {
210
241
  }
211
242
  return dtoCache.get(op);
212
243
  }
213
- //# sourceMappingURL=DtoBuilder.js.map
244
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiRHRvQnVpbGRlci5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uL3NyYy9mYWN0b3J5L29wZW5hcGkvRHRvQnVpbGRlci50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQ0wscUJBQXFCLEVBQ3JCLGFBQWEsRUFDYixhQUFhLEdBQ2QsTUFBTSx5QkFBeUIsQ0FBQztBQUNqQyxPQUFPLEVBQWUsUUFBUSxFQUFFLE1BQU0sc0JBQXNCLENBQUM7QUFDN0QsT0FBTyxFQUFFLFdBQVcsRUFBRSx3Q0FBbUM7QUFDekQsT0FBTyxFQUFFLEtBQUssRUFBRSxjQUFjLEVBQUUsTUFBTSxnQ0FBZ0MsQ0FBQztBQUN2RSxPQUFPLEVBQUUsd0JBQXdCLEVBQUUsTUFBTSxnQkFBZ0IsQ0FBQztBQUMxRCxPQUFPLEVBQUUsWUFBWSxFQUFFLE1BQU0sbUJBQW1CLENBQUM7QUFDakQsT0FBTyxFQUFFLFVBQVUsRUFBRSx1Q0FBa0M7QUFFdkQsTUFBTSxRQUFRLEdBQUcsSUFBSSxHQUFHLEVBR3JCLENBQUM7QUFFSjs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7O0dBd0JHO0FBQ0gsTUFBTSxVQUFVLE1BQU0sQ0FDcEIsRUFBaUIsRUFDakIsS0FBcUIsRUFDckIsUUFBK0IsSUFBSSxHQUFHLEVBQUU7SUFFeEMsSUFBSSxDQUFDLHdCQUF3QixDQUFDLFFBQVEsQ0FBQyxFQUFFLENBQUMsRUFBRSxDQUFDO1FBQzNDLE9BQU8sS0FBSyxDQUFDO0lBQ2YsQ0FBQztJQUVELE1BQU0sS0FBSyxHQUFHLFdBQVcsQ0FBQyxFQUFFLENBQUMsQ0FBQztJQUM5QixNQUFNLE1BQU0sR0FBRyxLQUFLLENBQUMsR0FBRyxDQUFDLEtBQUssQ0FBQyxDQUFDO0lBQ2hDLElBQUksTUFBTTtRQUFFLE9BQU8sTUFBTSxDQUFDO0lBRTFCLE1BQU0sVUFBVSxHQUFHO1FBQ2pCLGFBQWEsQ0FBQyxNQUFNO1FBQ3BCLHFCQUFxQixDQUFDLFVBQVU7S0FDakMsQ0FBQyxR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QixPQUFPLEdBQUcsTUFBTSxDQUFDLGNBQWMsQ0FBQyxPQUFPLENBQUMsQ0FBQztJQUMzQyxDQUFDO0lBQ0QsT0FBTyxTQUFTLENBQUM7QUFDbkIsQ0FBQztBQUVELFNBQVMsV0FBVyxDQUNsQixFQUFpQjtJQUVqQixJQUFJLENBQUMsUUFBUSxDQUFDLEdBQUcsQ0FBQyxFQUFFLENBQUMsRUFBRSxDQUFDO1FBQ3RCLFFBQVEsQ0FBQyxHQUFHLENBQUMsRUFBRSxFQUFFLElBQUksT0FBTyxFQUFFLENBQUMsQ0FBQztJQUNsQyxDQUFDO0lBQ0QsT0FBTyxRQUFRLENBQUMsR0FBRyxDQUFDLEVBQUUsQ0FBRSxDQUFDO0FBQzNCLENBQUMiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQge1xuICBCdWxrQ3J1ZE9wZXJhdGlvbktleXMsXG4gIEludGVybmFsRXJyb3IsXG4gIE9wZXJhdGlvbktleXMsXG59IGZyb20gXCJAZGVjYWYtdHMvZGItZGVjb3JhdG9yc1wiO1xuaW1wb3J0IHsgQ29uc3RydWN0b3IsIE1ldGFkYXRhIH0gZnJvbSBcIkBkZWNhZi10cy9kZWNvcmF0aW9uXCI7XG5pbXBvcnQgeyBBcGlQcm9wZXJ0eSB9IGZyb20gXCIuLi8uLi9vdmVycmlkZXMvZGVjb3JhdGlvblwiO1xuaW1wb3J0IHsgTW9kZWwsIFZhbGlkYXRpb25LZXlzIH0gZnJvbSBcIkBkZWNhZi10cy9kZWNvcmF0b3ItdmFsaWRhdGlvblwiO1xuaW1wb3J0IHsgVHJhbnNhY3Rpb25PcGVyYXRpb25LZXlzIH0gZnJvbSBcIkBkZWNhZi10cy9jb3JlXCI7XG5pbXBvcnQgeyB0b1Bhc2NhbENhc2UgfSBmcm9tIFwiQGRlY2FmLXRzL2xvZ2dpbmdcIjtcbmltcG9ydCB7IERFQ09SQVRPUlMgfSBmcm9tIFwiLi4vLi4vb3ZlcnJpZGVzL2NvbnN0YW50c1wiO1xuXG5jb25zdCBkdG9DYWNoZSA9IG5ldyBNYXA8XG4gIE9wZXJhdGlvbktleXMsXG4gIFdlYWtNYXA8Q29uc3RydWN0b3I8YW55PiwgQ29uc3RydWN0b3I8YW55Pj5cbj4oKTtcblxuLyoqXG4gKiBCdWlsZHMgYSBOZXN0L1N3YWdnZXIgRFRPIGNsYXNzIGZvciB0aGUgZ2l2ZW4gbW9kZWwgYW5kIENSVUQgb3BlcmF0aW9uLlxuICpcbiAqIFJ1bGVzOlxuICogIC0gT25seSBDUkVBVEUgYW5kIFVQREFURSAoYW5kIHRoZWlyIGJ1bGsgdmFyaWFudHMpIHByb2R1Y2UgYSBEVE87XG4gKiAgICBhbGwgb3RoZXIgb3BlcmF0aW9ucyByZXR1cm4gdGhlIG9yaWdpbmFsIG1vZGVsIGNsYXNzIHVuY2hhbmdlZC5cbiAqICAtIEBnZW5lcmF0ZWQoKSBwcm9wZXJ0aWVzIChjcmVhdGVkQXQsIHVwZGF0ZWRBdCwgY3JlYXRlZEJ5LCB1cGRhdGVkQnksXG4gKiAgICB1dWlkLCB2ZXJzaW9uLCBAY29tcG9zZWQgcGtzLCDigKYpIGFyZSAqKm5ldmVyKiogZXhwb3NlZCBpbiBhbnkgRFRPLlxuICogIC0gVGhlIEBwaygpIHByb3BlcnR5OlxuICogICAgICDigKIgVVBEQVRFIOKAkyBhbHdheXMgaW5jbHVkZWQuXG4gKiAgICAgIOKAoiBDUkVBVEUgIOKAkyBpbmNsdWRlZCBvbmx5IHdoZW4gdGhlIHBrIGlzIE5PVCBhdXRvLWdlbmVyYXRlZFxuICogICAgICAgICAgICAgICAgICAoY2hlY2tlZCB2aWEgTW9kZWwucGtQcm9wcygpLmdlbmVyYXRlZCBBTkQgTW9kZWwuZ2VuZXJhdGVkKCkpLlxuICogIC0gUmVsYXRpb24gcHJvcGVydGllcyAoQG9uZVRvT25lLCBAb25lVG9NYW55LCDigKYpOlxuICogICAgICDigKIgQ1JFQVRFICDigJMgbmVzdGVkIGFzIER0b0ZvcihDUkVBVEUsIFJlbGF0ZWRNb2RlbCkuIFdoZW4gdGhlIHJlbGF0aW9uXG4gKiAgICAgICAgICAgICAgICAgIGNyZWF0ZXMgYSBjaXJjdWxhciByZWZlcmVuY2UgKG1vZGVsIEEg4oaSIG1vZGVsIEIg4oaSIG1vZGVsIEEpLFxuICogICAgICAgICAgICAgICAgICB0aGUgYmFjay1yZWZlcmVuY2UgdXNlcyB0aGUgcmVsYXRlZCBtb2RlbCdzIFBLIHR5cGVcbiAqICAgICAgICAgICAgICAgICAgKHN0cmluZy9pbnRlZ2VyKSBpbnN0ZWFkIG9mIHRoZSBmdWxsIERUTyB0byBicmVhayB0aGUgY3ljbGUuXG4gKiAgICAgIOKAoiBVUERBVEUgIOKAkyB1bmlvbiBvZiBEdG9Gb3IoVVBEQVRFLCBSZWxhdGVkTW9kZWwpICoqb3IqKiB0aGVcbiAqICAgICAgICAgICAgICAgICAgcmVsYXRlZCBtb2RlbCdzIHByaW1hcnkta2V5IHR5cGUgKHN0cmluZyAvIGludGVnZXIpLFxuICogICAgICAgICAgICAgICAgICBleHByZXNzZWQgYXMgYSBTd2FnZ2VyIG9uZU9mLiBDaXJjdWxhciBiYWNrLXJlZmVyZW5jZXNcbiAqICAgICAgICAgICAgICAgICAgb21pdCB0aGUgRFRPICRyZWYgYW5kIG9ubHkgaW5jbHVkZSB0aGUgUEsgdHlwZS5cbiAqXG4gKiBNZXRhZGF0YS5wcm9wZXJ0aWVzKCkgbm93IHJldHVybnMgQUxMIHByb3BlcnRpZXMgYWNyb3NzIHRoZSBwcm90b3R5cGUgY2hhaW4sXG4gKiBzbyBEVE8gaW5oZXJpdGFuY2UgaXMgbm8gbG9uZ2VyIG5lZWRlZDsgZXZlcnkgRFRPIGlzIGEgZmxhdCBjbGFzcy5cbiAqL1xuZXhwb3J0IGZ1bmN0aW9uIER0b0ZvcjxNIGV4dGVuZHMgTW9kZWw+KFxuICBvcDogT3BlcmF0aW9uS2V5cyxcbiAgbW9kZWw6IENvbnN0cnVjdG9yPE0+LFxuICBzdGFjazogU2V0PENvbnN0cnVjdG9yPGFueT4+ID0gbmV3IFNldCgpXG4pOiBDb25zdHJ1Y3Rvcjxhbnk+IHtcbiAgaWYgKCFUcmFuc2FjdGlvbk9wZXJhdGlvbktleXMuaW5jbHVkZXMob3ApKSB7XG4gICAgcmV0dXJuIG1vZGVsO1xuICB9XG5cbiAgY29uc3QgY2FjaGUgPSBnZXREdG9DYWNoZShvcCk7XG4gIGNvbnN0IGNhY2hlZCA9IGNhY2hlLmdldChtb2RlbCk7XG4gIGlmIChjYWNoZWQpIHJldHVybiBjYWNoZWQ7XG5cbiAgY29uc3QgaXNVcGRhdGVPcCA9IFtcbiAgICBPcGVyYXRpb25LZXlzLlVQREFURSxcbiAgICBCdWxrQ3J1ZE9wZXJhdGlvbktleXMuVVBEQVRFX0FMTCxcbiAgXS5pbmNsdWRlcyhvcCBhcyBhbnkpO1xuXG4gIGNsYXNzIER5bmFtaWNEVE8ge31cbiAgY2FjaGUuc2V0KG1vZGVsLCBEeW5hbWljRFRPKTtcblxuICBPYmplY3QuZGVmaW5lUHJvcGVydHkoRHluYW1pY0RUTywgXCJuYW1lXCIsIHtcbiAgICB2YWx1ZTogYCR7dG9QYXNjYWxDYXNlKG1vZGVsLm5hbWUpfSR7dG9QYXNjYWxDYXNlKG9wKX1EVE9gLFxuICB9KTtcblxuICBjb25zdCBwa1Byb3AgPSAoKCkgPT4ge1xuICAgIHRyeSB7XG4gICAgICByZXR1cm4gTW9kZWwucGsobW9kZWwpO1xuICAgIH0gY2F0Y2gge1xuICAgICAgcmV0dXJuIHVuZGVmaW5lZDtcbiAgICB9XG4gIH0pKCk7XG5cbiAgY29uc3QgcGtQcm9wc01ldGFkYXRhID0gcGtQcm9wID8gTW9kZWwucGtQcm9wcyhtb2RlbCBhcyBhbnkpIDogdW5kZWZpbmVkO1xuICBjb25zdCBwa0Rlc2lnblR5cGUgPSBwa1Byb3BcbiAgICA/IFJlZmxlY3QuZ2V0TWV0YWRhdGEoXCJkZXNpZ246dHlwZVwiLCBtb2RlbC5wcm90b3R5cGUsIHBrUHJvcCBhcyBzdHJpbmcpXG4gICAgOiB1bmRlZmluZWQ7XG4gIGNvbnN0IHBrVHlwZUlzTnVtZXJpYyA9XG4gICAgcGtEZXNpZ25UeXBlID09PSBOdW1iZXIgfHwgcGtEZXNpZ25UeXBlID09PSBCaWdJbnQ7XG4gIGNvbnN0IHBrSXNHZW5lcmF0ZWQgPVxuICAgICEhcGtQcm9wc01ldGFkYXRhPy5nZW5lcmF0ZWQgfHxcbiAgICAocGtQcm9wXG4gICAgICA/IE1vZGVsLmdlbmVyYXRlZEJ5U2VxdWVuY2UobW9kZWwgYXMgYW55LCBwa1Byb3AgYXMgYW55KSB8fFxuICAgICAgICBpc1Byb3BlcnR5R2VuZXJhdGVkQWNyb3NzSW5oZXJpdGFuY2UobW9kZWwsIHBrUHJvcCBhcyBzdHJpbmcpIHx8XG4gICAgICAgIHBrVHlwZUlzTnVtZXJpY1xuICAgICAgOiBmYWxzZSk7XG5cbiAgY29uc3QgYWxsUHJvcHMgPSBBcnJheS5mcm9tKG5ldyBTZXQoTWV0YWRhdGEucHJvcGVydGllcyhtb2RlbCkgfHwgW10pKTtcbiAgY29uc3QgcmVsYXRpb25zID0gbmV3IFNldDxzdHJpbmc+KChNb2RlbC5yZWxhdGlvbnMobW9kZWwpIGFzIHN0cmluZ1tdKSB8fCBbXSk7XG4gIGNvbnN0IHNjYWxhclByb3BzOiBzdHJpbmdbXSA9IFtdO1xuXG4gIGZvciAoY29uc3QgcHJvcCBvZiBhbGxQcm9wcykge1xuICAgIGlmICghcHJvcCkgY29udGludWU7XG4gICAgaWYgKHJlbGF0aW9ucy5oYXMocHJvcCkpIGNvbnRpbnVlO1xuXG4gICAgaWYgKHByb3AgPT09IHBrUHJvcCAmJiAhaXNVcGRhdGVPcCAmJiBwa0lzR2VuZXJhdGVkKSBjb250aW51ZTtcbiAgICBpZiAocHJvcCAhPT0gcGtQcm9wICYmIGlzUHJvcGVydHlHZW5lcmF0ZWRBY3Jvc3NJbmhlcml0YW5jZShtb2RlbCwgcHJvcCkpXG4gICAgICBjb250aW51ZTtcblxuICAgIHNjYWxhclByb3BzLnB1c2gocHJvcCk7XG4gIH1cblxuICBmb3IgKGNvbnN0IHByb3Agb2Ygc2NhbGFyUHJvcHMpIHtcbiAgICBjb25zdCB2YWxpZGF0aW9uID0gZ2V0VmFsaWRhdGlvbkFjcm9zc0luaGVyaXRhbmNlKG1vZGVsLCBwcm9wKTtcbiAgICBjb25zdCBpc1JlcXVpcmVkID0gISF2YWxpZGF0aW9uPy5bVmFsaWRhdGlvbktleXMuUkVRVUlSRURdO1xuICAgIGNvbnN0IHR5cGVIaW50ID1cbiAgICAgIGdldFR5cGVBY3Jvc3NJbmhlcml0YW5jZShtb2RlbCwgcHJvcCkgPz9cbiAgICAgIFJlZmxlY3QuZ2V0TWV0YWRhdGEoXCJkZXNpZ246dHlwZVwiLCBtb2RlbC5wcm90b3R5cGUsIHByb3ApO1xuXG4gICAgY29uc3QgYXBpT3B0aW9uczogUGFyYW1ldGVyczx0eXBlb2YgQXBpUHJvcGVydHk+WzBdID0ge1xuICAgICAgcmVxdWlyZWQ6IGlzUmVxdWlyZWQsXG4gICAgfTtcbiAgICBpZiAodHlwZUhpbnQpIGFwaU9wdGlvbnMudHlwZSA9IHR5cGVIaW50O1xuXG4gICAgQXBpUHJvcGVydHkoYXBpT3B0aW9ucykoRHluYW1pY0RUTy5wcm90b3R5cGUsIHByb3ApO1xuXG4gICAgY29uc3QgZGVzaWduVHlwZSA9XG4gICAgICBSZWZsZWN0LmdldE1ldGFkYXRhKFwiZGVzaWduOnR5cGVcIiwgbW9kZWwucHJvdG90eXBlLCBwcm9wKSA/PyB0eXBlSGludDtcbiAgICBpZiAodHlwZW9mIGRlc2lnblR5cGUgIT09IFwidW5kZWZpbmVkXCIpIHtcbiAgICAgIFJlZmxlY3QuZGVmaW5lTWV0YWRhdGEoXG4gICAgICAgIFwiZGVzaWduOnR5cGVcIixcbiAgICAgICAgZGVzaWduVHlwZSxcbiAgICAgICAgRHluYW1pY0RUTy5wcm90b3R5cGUsXG4gICAgICAgIHByb3BcbiAgICAgICk7XG4gICAgfVxuXG4gICAgT2JqZWN0LmRlZmluZVByb3BlcnR5KER5bmFtaWNEVE8ucHJvdG90eXBlLCBwcm9wLCB7XG4gICAgICB2YWx1ZTogdW5kZWZpbmVkLFxuICAgICAgd3JpdGFibGU6IHRydWUsXG4gICAgICBlbnVtZXJhYmxlOiB0cnVlLFxuICAgICAgY29uZmlndXJhYmxlOiB0cnVlLFxuICAgIH0pO1xuICB9XG5cbiAgZm9yIChjb25zdCByZWxhdGlvbiBvZiByZWxhdGlvbnMpIHtcbiAgICBjb25zdCByZWxhdGlvbk1ldGEgPSBNZXRhZGF0YS5yZWxhdGlvbnMobW9kZWwsIHJlbGF0aW9uIGFzIGFueSk7XG4gICAgaWYgKCFyZWxhdGlvbk1ldGEpIHtcbiAgICAgIHRocm93IG5ldyBJbnRlcm5hbEVycm9yKGBNZXRhZGF0YSBmb3IgcmVsYXRpb24gJHtyZWxhdGlvbn0gbm90IGZvdW5kYCk7XG4gICAgfVxuXG4gICAgbGV0IHJlbGF0aW9uVHlwZTogQ29uc3RydWN0b3I8YW55PiB8IHVuZGVmaW5lZCA9XG4gICAgICByZWxhdGlvbk1ldGEuY2xhc3MgYXMgQ29uc3RydWN0b3I8YW55PjtcbiAgICBpZiAodHlwZW9mIHJlbGF0aW9uVHlwZSA9PT0gXCJmdW5jdGlvblwiICYmICFyZWxhdGlvblR5cGUubmFtZSkge1xuICAgICAgcmVsYXRpb25UeXBlID0gKHJlbGF0aW9uVHlwZSBhcyBhbnkpKCk7XG4gICAgfVxuICAgIGlmICghcmVsYXRpb25UeXBlIHx8IHR5cGVvZiByZWxhdGlvblR5cGUgIT09IFwiZnVuY3Rpb25cIikge1xuICAgICAgdGhyb3cgbmV3IEludGVybmFsRXJyb3IoYFR5cGUgZm9yIHJlbGF0aW9uICR7cmVsYXRpb259IG5vdCBmb3VuZGApO1xuICAgIH1cbiAgICBpZiAoIU1vZGVsLmdldChyZWxhdGlvblR5cGUubmFtZSkpIHtcbiAgICAgIGNvbnRpbnVlO1xuICAgIH1cblxuICAgIGNvbnN0IG1ldGEgPSBNZXRhZGF0YS52YWxpZGF0aW9uRm9yKG1vZGVsLCByZWxhdGlvbiBhcyBhbnkpO1xuICAgIGNvbnN0IGlzQXJyYXkgPSAhIShtZXRhIGFzIGFueSk/LltWYWxpZGF0aW9uS2V5cy5MSVNUXTtcbiAgICBjb25zdCBpc1JlcXVpcmVkID0gISEobWV0YSBhcyBhbnkpPy5bVmFsaWRhdGlvbktleXMuUkVRVUlSRURdO1xuXG4gICAgLy8gRGV0ZWN0IGNpcmN1bGFyIHJlZmVyZW5jZTogaWYgdGhlIHJlbGF0ZWQgbW9kZWwgaXMgYWxyZWFkeSBpbiB0aGVcbiAgICAvLyByZWN1cnNpb24gc3RhY2ssIHVzZSB0aGUgUEsgdHlwZSBpbnN0ZWFkIG9mIHRoZSBmdWxsIERUTyB0byBicmVha1xuICAgIC8vIHRoZSBjeWNsZS4gVGhpcyBwcmV2ZW50cyBAbmVzdGpzL3N3YWdnZXIncyBTY2hlbWFPYmplY3RGYWN0b3J5IGZyb21cbiAgICAvLyBpbmZpbml0ZWx5IHJlY3Vyc2luZyB3aGVuIGV4cGxvcmluZyB0aGUgc2NoZW1hcy5cbiAgICBjb25zdCBpc0NpcmN1bGFyID0gc3RhY2suaGFzKHJlbGF0aW9uVHlwZSk7XG5cbiAgICBpZiAoaXNDaXJjdWxhcikge1xuICAgICAgY29uc3QgcGtUeXBlTmFtZSA9IGdldFBrT3BlbkFwaVR5cGUocmVsYXRpb25UeXBlKTtcbiAgICAgIGFkZFJlbGF0aW9uUGtSZWYoRHluYW1pY0RUTywgcmVsYXRpb24sIHBrVHlwZU5hbWUsIGlzQXJyYXksIGlzUmVxdWlyZWQpO1xuICAgICAgY29udGludWU7XG4gICAgfVxuXG4gICAgY29uc3QgcmVsYXRpb25EdG8gPSBEdG9Gb3Iob3AsIHJlbGF0aW9uVHlwZSwgbmV3IFNldChzdGFjaykuYWRkKG1vZGVsKSk7XG5cbiAgICBpZiAoaXNVcGRhdGVPcCkge1xuICAgICAgYWRkUmVsYXRpb25VcGRhdGUoXG4gICAgICAgIER5bmFtaWNEVE8sXG4gICAgICAgIHJlbGF0aW9uLFxuICAgICAgICByZWxhdGlvblR5cGUsXG4gICAgICAgIHJlbGF0aW9uRHRvLFxuICAgICAgICBpc0FycmF5LFxuICAgICAgICBpc1JlcXVpcmVkXG4gICAgICApO1xuICAgIH0gZWxzZSB7XG4gICAgICBhZGRSZWxhdGlvbihEeW5hbWljRFRPLCByZWxhdGlvbiwgcmVsYXRpb25EdG8sIGlzQXJyYXksIGlzUmVxdWlyZWQpO1xuICAgIH1cbiAgfVxuXG4gIHJldHVybiBEeW5hbWljRFRPO1xufVxuXG5mdW5jdGlvbiBhZGRSZWxhdGlvbihcbiAgRHRvQ2xhc3M6IGFueSxcbiAgcmVsYXRpb246IHN0cmluZyxcbiAgcmVsYXRpb25EdG86IGFueSxcbiAgaXNBcnJheTogYm9vbGVhbixcbiAgaXNSZXF1aXJlZDogYm9vbGVhblxuKTogdm9pZCB7XG4gIGNvbnN0IGFwaU9wdGlvbnM6IFBhcmFtZXRlcnM8dHlwZW9mIEFwaVByb3BlcnR5PlswXSA9IHtcbiAgICB0eXBlOiByZWxhdGlvbkR0byxcbiAgICByZXF1aXJlZDogaXNSZXF1aXJlZCxcbiAgICBpc0FycmF5LFxuICB9O1xuICBBcGlQcm9wZXJ0eShhcGlPcHRpb25zKShEdG9DbGFzcy5wcm90b3R5cGUsIHJlbGF0aW9uKTtcbiAgUmVmbGVjdC5kZWZpbmVNZXRhZGF0YShcbiAgICBcImRlc2lnbjp0eXBlXCIsXG4gICAgaXNBcnJheSA/IEFycmF5IDogcmVsYXRpb25EdG8sXG4gICAgRHRvQ2xhc3MucHJvdG90eXBlLFxuICAgIHJlbGF0aW9uXG4gICk7XG4gIE9iamVjdC5kZWZpbmVQcm9wZXJ0eShEdG9DbGFzcy5wcm90b3R5cGUsIHJlbGF0aW9uLCB7XG4gICAgdmFsdWU6IHVuZGVmaW5lZCxcbiAgICB3cml0YWJsZTogdHJ1ZSxcbiAgICBlbnVtZXJhYmxlOiB0cnVlLFxuICAgIGNvbmZpZ3VyYWJsZTogdHJ1ZSxcbiAgfSk7XG59XG5cbi8qKlxuICogQWRkcyBhIHJlbGF0aW9uIHByb3BlcnR5IHRoYXQgdXNlcyB0aGUgUEsgdHlwZSAoc3RyaW5nL2ludGVnZXIpIGluc3RlYWQgb2ZcbiAqIGEgZnVsbCBEVE8gY2xhc3MuIFVzZWQgdG8gYnJlYWsgY2lyY3VsYXIgcmVmZXJlbmNlcyAoZS5nLiBDdXN0b21lciDihpIgT3JkZXIg4oaSIEN1c3RvbWVyKS5cbiAqL1xuZnVuY3Rpb24gYWRkUmVsYXRpb25Qa1JlZihcbiAgRHRvQ2xhc3M6IGFueSxcbiAgcmVsYXRpb246IHN0cmluZyxcbiAgcGtUeXBlTmFtZTogc3RyaW5nLFxuICBpc0FycmF5OiBib29sZWFuLFxuICBpc1JlcXVpcmVkOiBib29sZWFuXG4pOiB2b2lkIHtcbiAgY29uc3QgYXBpT3B0aW9uczogUGFyYW1ldGVyczx0eXBlb2YgQXBpUHJvcGVydHk+WzBdID0gaXNBcnJheVxuICAgID8gKHsgdHlwZTogXCJhcnJheVwiLCBpdGVtczogeyB0eXBlOiBwa1R5cGVOYW1lIH0sIHJlcXVpcmVkOiBpc1JlcXVpcmVkIH0gYXMgYW55KVxuICAgIDogKHsgdHlwZTogcGtUeXBlTmFtZSA9PT0gXCJpbnRlZ2VyXCIgPyBOdW1iZXIgOiBTdHJpbmcsIHJlcXVpcmVkOiBpc1JlcXVpcmVkIH0gYXMgYW55KTtcbiAgQXBpUHJvcGVydHkoYXBpT3B0aW9ucykoRHRvQ2xhc3MucHJvdG90eXBlLCByZWxhdGlvbik7XG4gIFJlZmxlY3QuZGVmaW5lTWV0YWRhdGEoXG4gICAgXCJkZXNpZ246dHlwZVwiLFxuICAgIGlzQXJyYXkgPyBBcnJheSA6IChwa1R5cGVOYW1lID09PSBcImludGVnZXJcIiA/IE51bWJlciA6IFN0cmluZyksXG4gICAgRHRvQ2xhc3MucHJvdG90eXBlLFxuICAgIHJlbGF0aW9uXG4gICk7XG4gIE9iamVjdC5kZWZpbmVQcm9wZXJ0eShEdG9DbGFzcy5wcm90b3R5cGUsIHJlbGF0aW9uLCB7XG4gICAgdmFsdWU6IHVuZGVmaW5lZCxcbiAgICB3cml0YWJsZTogdHJ1ZSxcbiAgICBlbnVtZXJhYmxlOiB0cnVlLFxuICAgIGNvbmZpZ3VyYWJsZTogdHJ1ZSxcbiAgfSk7XG59XG5cbmZ1bmN0aW9uIGFkZFJlbGF0aW9uVXBkYXRlKFxuICBEdG9DbGFzczogYW55LFxuICByZWxhdGlvbjogc3RyaW5nLFxuICByZWxhdGlvblR5cGU6IENvbnN0cnVjdG9yPGFueT4sXG4gIHJlbGF0aW9uRHRvOiBhbnksXG4gIGlzQXJyYXk6IGJvb2xlYW4sXG4gIGlzUmVxdWlyZWQ6IGJvb2xlYW5cbik6IHZvaWQge1xuICBjb25zdCBleHRyYU1vZGVscyA9XG4gICAgUmVmbGVjdC5nZXRNZXRhZGF0YShERUNPUkFUT1JTLkFQSV9FWFRSQV9NT0RFTFMsIER0b0NsYXNzKSB8fCBbXTtcbiAgaWYgKCFleHRyYU1vZGVscy5pbmNsdWRlcyhyZWxhdGlvbkR0bykpIHtcbiAgICBSZWZsZWN0LmRlZmluZU1ldGFkYXRhKFxuICAgICAgREVDT1JBVE9SUy5BUElfRVhUUkFfTU9ERUxTLFxuICAgICAgWy4uLmV4dHJhTW9kZWxzLCByZWxhdGlvbkR0b10sXG4gICAgICBEdG9DbGFzc1xuICAgICk7XG4gIH1cblxuICBjb25zdCBkdG9SZWYgPSBgIy9jb21wb25lbnRzL3NjaGVtYXMvJHtyZWxhdGlvbkR0by5uYW1lfWA7XG4gIGNvbnN0IHBrVHlwZU5hbWUgPSBnZXRQa09wZW5BcGlUeXBlKHJlbGF0aW9uVHlwZSk7XG4gIGNvbnN0IG9uZU9mSXRlbXMgPSBbeyAkcmVmOiBkdG9SZWYgfSwgeyB0eXBlOiBwa1R5cGVOYW1lIH1dO1xuXG4gIGNvbnN0IGFwaU9wdGlvbnM6IFBhcmFtZXRlcnM8dHlwZW9mIEFwaVByb3BlcnR5PlswXSA9IGlzQXJyYXlcbiAgICA/ICh7IHR5cGU6IFwiYXJyYXlcIiwgcmVxdWlyZWQ6IGlzUmVxdWlyZWQsIG9uZU9mOiBvbmVPZkl0ZW1zIH0gYXMgYW55KVxuICAgIDogKHsgdHlwZTogT2JqZWN0LCByZXF1aXJlZDogaXNSZXF1aXJlZCwgb25lT2Y6IG9uZU9mSXRlbXMgfSBhcyBhbnkpO1xuXG4gIEFwaVByb3BlcnR5KGFwaU9wdGlvbnMpKER0b0NsYXNzLnByb3RvdHlwZSwgcmVsYXRpb24pO1xuICBSZWZsZWN0LmRlZmluZU1ldGFkYXRhKFxuICAgIFwiZGVzaWduOnR5cGVcIixcbiAgICBpc0FycmF5ID8gQXJyYXkgOiBPYmplY3QsXG4gICAgRHRvQ2xhc3MucHJvdG90eXBlLFxuICAgIHJlbGF0aW9uXG4gICk7XG4gIE9iamVjdC5kZWZpbmVQcm9wZXJ0eShEdG9DbGFzcy5wcm90b3R5cGUsIHJlbGF0aW9uLCB7XG4gICAgdmFsdWU6IHVuZGVmaW5lZCxcbiAgICB3cml0YWJsZTogdHJ1ZSxcbiAgICBlbnVtZXJhYmxlOiB0cnVlLFxuICAgIGNvbmZpZ3VyYWJsZTogdHJ1ZSxcbiAgfSk7XG59XG5cbmZ1bmN0aW9uIGdldFBrT3BlbkFwaVR5cGUocmVsYXRpb25UeXBlOiBDb25zdHJ1Y3Rvcjxhbnk+KTogc3RyaW5nIHtcbiAgdHJ5IHtcbiAgICBjb25zdCBwa1Byb3BzTWV0YWRhdGEgPSBNb2RlbC5wa1Byb3BzKHJlbGF0aW9uVHlwZSBhcyBhbnkpO1xuICAgIGNvbnN0IHBrVHlwZSA9IHBrUHJvcHNNZXRhZGF0YT8udHlwZTtcbiAgICBpZiAocGtUeXBlID09PSBOdW1iZXIgfHwgcGtUeXBlID09PSBCaWdJbnQpIHJldHVybiBcImludGVnZXJcIjtcbiAgICByZXR1cm4gXCJzdHJpbmdcIjtcbiAgfSBjYXRjaCB7XG4gICAgcmV0dXJuIFwic3RyaW5nXCI7XG4gIH1cbn1cblxuZnVuY3Rpb24gaXNQcm9wZXJ0eUdlbmVyYXRlZEFjcm9zc0luaGVyaXRhbmNlKFxuICBtb2RlbDogQ29uc3RydWN0b3I8YW55PixcbiAgcHJvcDogc3RyaW5nXG4pOiBib29sZWFuIHtcbiAgbGV0IGN1cnJlbnQ6IGFueSA9IG1vZGVsO1xuICB3aGlsZSAoY3VycmVudCAmJiBjdXJyZW50ICE9PSBPYmplY3QgJiYgY3VycmVudCAhPT0gRnVuY3Rpb24pIHtcbiAgICBpZiAoTW9kZWwuZ2VuZXJhdGVkKGN1cnJlbnQsIHByb3AgYXMgYW55KSkgcmV0dXJuIHRydWU7XG4gICAgY3VycmVudCA9IE9iamVjdC5nZXRQcm90b3R5cGVPZihjdXJyZW50KTtcbiAgfVxuICByZXR1cm4gZmFsc2U7XG59XG5cbmZ1bmN0aW9uIGdldFZhbGlkYXRpb25BY3Jvc3NJbmhlcml0YW5jZShcbiAgbW9kZWw6IENvbnN0cnVjdG9yPGFueT4sXG4gIHByb3A6IHN0cmluZ1xuKTogUmVjb3JkPHN0cmluZywgYW55PiB8IHVuZGVmaW5lZCB7XG4gIGxldCBjdXJyZW50OiBhbnkgPSBtb2RlbDtcbiAgd2hpbGUgKGN1cnJlbnQgJiYgY3VycmVudCAhPT0gT2JqZWN0ICYmIGN1cnJlbnQgIT09IEZ1bmN0aW9uKSB7XG4gICAgY29uc3QgdmFsaWRhdGlvbiA9IE1ldGFkYXRhLnZhbGlkYXRpb25Gb3IoY3VycmVudCwgcHJvcCBhcyBhbnkpO1xuICAgIGlmICh2YWxpZGF0aW9uKSByZXR1cm4gdmFsaWRhdGlvbiBhcyBhbnk7XG4gICAgY3VycmVudCA9IE9iamVjdC5nZXRQcm90b3R5cGVPZihjdXJyZW50KTtcbiAgfVxuICByZXR1cm4gdW5kZWZpbmVkO1xufVxuXG5mdW5jdGlvbiBnZXRUeXBlQWNyb3NzSW5oZXJpdGFuY2UobW9kZWw6IENvbnN0cnVjdG9yPGFueT4sIHByb3A6IHN0cmluZyk6IGFueSB7XG4gIGxldCBjdXJyZW50OiBhbnkgPSBtb2RlbDtcbiAgd2hpbGUgKGN1cnJlbnQgJiYgY3VycmVudCAhPT0gT2JqZWN0ICYmIGN1cnJlbnQgIT09IEZ1bmN0aW9uKSB7XG4gICAgY29uc3QgdHlwZSA9IE1ldGFkYXRhLnR5cGUoY3VycmVudCwgcHJvcCk7XG4gICAgaWYgKHR5cGUpIHJldHVybiB0eXBlO1xuICAgIGN1cnJlbnQgPSBPYmplY3QuZ2V0UHJvdG90eXBlT2YoY3VycmVudCk7XG4gIH1cbiAgcmV0dXJuIHVuZGVmaW5lZDtcbn1cblxuZnVuY3Rpb24gZ2V0RHRvQ2FjaGUoXG4gIG9wOiBPcGVyYXRpb25LZXlzXG4pOiBXZWFrTWFwPENvbnN0cnVjdG9yPGFueT4sIENvbnN0cnVjdG9yPGFueT4+IHtcbiAgaWYgKCFkdG9DYWNoZS5oYXMob3ApKSB7XG4gICAgZHRvQ2FjaGUuc2V0KG9wLCBuZXcgV2Vha01hcCgpKTtcbiAgfVxuICByZXR1cm4gZHRvQ2FjaGUuZ2V0KG9wKSE7XG59XG4iXX0=
@@ -59,4 +59,4 @@ export class SwaggerBuilder {
59
59
  this.registerOpenApiRoute(this.options.openApiYamlPath, "application/x-yaml", () => YAML.stringify(document));
60
60
  }
61
61
  }
62
- //# sourceMappingURL=SwaggerBuilder.js.map
62
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiU3dhZ2dlckJ1aWxkZXIuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi9zcmMvZmFjdG9yeS9vcGVuYXBpL1N3YWdnZXJCdWlsZGVyLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUNBLE9BQU8sRUFBRSxlQUFlLEVBQUUsYUFBYSxFQUFFLE1BQU0saUJBQWlCLENBQUM7QUFDakUsT0FBTyxFQUFFLGVBQWUsRUFBRSw2QkFBMEI7QUFDcEQsT0FBTyxFQUFFLG9CQUFvQixFQUFrQix1QkFBb0I7QUFDbkUsT0FBTyxJQUFJLE1BQU0sTUFBTSxDQUFDO0FBRXhCLE1BQU0sT0FBTyxjQUFjO0lBQ3pCLFlBQ21CLEdBQXFCLEVBQ3JCLE9BQXVCO1FBRHZCLFFBQUcsR0FBSCxHQUFHLENBQWtCO1FBQ3JCLFlBQU8sR0FBUCxPQUFPLENBQWdCO0lBQ3ZDLENBQUM7SUFFSSxjQUFjO1FBQ3BCLE1BQU0sV0FBVyxHQUFHLElBQUksQ0FBQyxPQUFPLENBQUMsSUFBSTtZQUNuQyxDQUFDLENBQUMsSUFBSSxDQUFDLE9BQU8sQ0FBQyxXQUFXO2dCQUN4QixFQUFFO2dCQUNGLG9CQUFvQixJQUFJLENBQUMsT0FBTyxDQUFDLGVBQWUsNEJBQTRCO2dCQUM1RSxZQUFZLElBQUksQ0FBQyxPQUFPLENBQUMsZUFBZSx5QkFBeUI7WUFDbkUsQ0FBQyxDQUFDLElBQUksQ0FBQyxPQUFPLENBQUMsV0FBVyxDQUFDO1FBRTdCLE1BQU0sTUFBTSxHQUFHLElBQUksZUFBZSxFQUFFO2FBQ2pDLFFBQVEsQ0FBQyxJQUFJLENBQUMsT0FBTyxDQUFDLEtBQUssQ0FBQzthQUM1QixjQUFjLENBQUMsV0FBVyxDQUFDO2FBQzNCLFVBQVUsQ0FBQyxJQUFJLENBQUMsT0FBTyxDQUFDLE9BQU8sSUFBSSxPQUFPLENBQUM7YUFDM0MsYUFBYSxDQUFDLElBQUksQ0FBQyxPQUFPLENBQUMsSUFBSSxJQUFJLG9CQUFvQixDQUFDLElBQUksQ0FBQzthQUM3RCxLQUFLLEVBQUUsQ0FBQztRQUVYLE9BQU8sYUFBYSxDQUFDLGNBQWMsQ0FBQyxJQUFJLENBQUMsR0FBRyxFQUFFLE1BQU0sRUFBRTtZQUNwRCxXQUFXLEVBQUUsSUFBSSxDQUFDLE9BQU8sQ0FBQyxXQUFXLElBQUksRUFBRTtTQUM1QyxDQUFDLENBQUM7SUFDTCxDQUFDO0lBRU8sb0JBQW9CLENBQzFCLElBQXdCLEVBQ3hCLFdBQXNELEVBQ3RELFdBQXVCO1FBRXZCLElBQUksQ0FBQyxJQUFJO1lBQUUsT0FBTztRQUVsQixNQUFNLFdBQVcsR0FBRyxJQUFJLENBQUMsR0FBRyxDQUFDLGNBQWMsRUFBUyxDQUFDO1FBQ3JELElBQUksR0FBRyxJQUFJLENBQUMsVUFBVSxDQUFDLEdBQUcsQ0FBQyxDQUFDLENBQUMsQ0FBQyxJQUFJLENBQUMsQ0FBQyxDQUFDLElBQUksSUFBSSxFQUFFLENBQUM7UUFDaEQsV0FBVyxDQUFDLEdBQUcsQ0FBQyxJQUFJLEVBQUUsQ0FBQyxJQUFTLEVBQUUsR0FBUSxFQUFFLEVBQUU7WUFDNUMsV0FBVyxDQUFDLEtBQUssQ0FBQyxHQUFHLEVBQUUsV0FBVyxFQUFFLEVBQUUsR0FBRyxFQUFFO2dCQUN6QyxjQUFjLEVBQUUsV0FBVzthQUM1QixDQUFDLENBQUM7UUFDTCxDQUFDLENBQUMsQ0FBQztJQUNMLENBQUM7SUFFTSxZQUFZO1FBQ2pCLE1BQU0sUUFBUSxHQUFHLElBQUksQ0FBQyxjQUFjLEVBQUUsQ0FBQztRQUN2QyxNQUFNLFNBQVMsR0FBRyxJQUFJLGVBQWUsQ0FBQztZQUNwQyxLQUFLLEVBQUUsSUFBSSxDQUFDLE9BQU8sQ0FBQyxLQUFLO1lBQ3pCLElBQUksRUFBRSxJQUFJLENBQUMsT0FBTyxDQUFDLElBQUksSUFBSSxvQkFBb0IsQ0FBQyxJQUFJO1lBQ3BELG9CQUFvQixFQUFFLElBQUksQ0FBQyxPQUFPLENBQUMsb0JBQW9CLElBQUksSUFBSTtZQUMvRCxVQUFVLEVBQUUsSUFBSSxDQUFDLE9BQU8sQ0FBQyxVQUFVO1lBQ25DLFdBQVcsRUFBRSxJQUFJLENBQUMsT0FBTyxDQUFDLGVBQWU7WUFDekMsY0FBYyxFQUFFLElBQUksQ0FBQyxPQUFPLENBQUMsa0JBQWtCO1lBQy9DLGFBQWEsRUFBRSxJQUFJLENBQUMsT0FBTyxDQUFDLGFBQWE7U0FDMUMsQ0FBQyxDQUFDO1FBQ0gsYUFBYSxDQUFDLEtBQUssQ0FDakIsSUFBSSxDQUFDLE9BQU8sQ0FBQyxJQUFJLElBQUksb0JBQW9CLENBQUMsSUFBSSxFQUM5QyxJQUFJLENBQUMsR0FBRyxFQUNSLFFBQVEsRUFDUjtZQUNFLEdBQUcsU0FBUyxDQUFDLGdCQUFnQixFQUFFO1lBQy9CLGVBQWUsRUFBRSxJQUFJLENBQUMsT0FBTyxDQUFDLGVBQWU7Z0JBQzNDLENBQUMsQ0FBQyxHQUFHLElBQUksQ0FBQyxPQUFPLENBQUMsZUFBZSxFQUFFO2dCQUNuQyxDQUFDLENBQUMsU0FBUztZQUNiLGVBQWUsRUFBRSxJQUFJLENBQUMsT0FBTyxDQUFDLGVBQWU7Z0JBQzNDLENBQUMsQ0FBQyxHQUFHLElBQUksQ0FBQyxPQUFPLENBQUMsZUFBZSxFQUFFO2dCQUNuQyxDQUFDLENBQUMsU0FBUztTQUNkLENBQ0YsQ0FBQztRQUVGLElBQUksQ0FBQyxvQkFBb0IsQ0FDdkIsSUFBSSxDQUFDLE9BQU8sQ0FBQyxlQUFlLEVBQzVCLGtCQUFrQixFQUNsQixHQUFHLEVBQUUsQ0FBQyxRQUFRLENBQ2YsQ0FBQztRQUVGLElBQUksQ0FBQyxvQkFBb0IsQ0FDdkIsSUFBSSxDQUFDLE9BQU8sQ0FBQyxlQUFlLEVBQzVCLG9CQUFvQixFQUNwQixHQUFHLEVBQUUsQ0FBQyxJQUFJLENBQUMsU0FBUyxDQUFDLFFBQVEsQ0FBQyxDQUMvQixDQUFDO0lBQ0osQ0FBQztDQU9GIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgSU5lc3RBcHBsaWNhdGlvbiB9IGZyb20gXCJAbmVzdGpzL2NvbW1vblwiO1xuaW1wb3J0IHsgRG9jdW1lbnRCdWlsZGVyLCBTd2FnZ2VyTW9kdWxlIH0gZnJvbSBcIkBuZXN0anMvc3dhZ2dlclwiO1xuaW1wb3J0IHsgU3dhZ2dlckN1c3RvbVVJIH0gZnJvbSBcIi4vU3dhZ2dlckN1c3RvbVVJXCI7XG5pbXBvcnQgeyBTV0FHR0VSX1VJX0NPTlNUQU5UUywgU3dhZ2dlck9wdGlvbnMgfSBmcm9tIFwiLi9jb25zdGFudHNcIjtcbmltcG9ydCBZQU1MIGZyb20gXCJ5YW1sXCI7XG5cbmV4cG9ydCBjbGFzcyBTd2FnZ2VyQnVpbGRlciB7XG4gIGNvbnN0cnVjdG9yKFxuICAgIHByaXZhdGUgcmVhZG9ubHkgYXBwOiBJTmVzdEFwcGxpY2F0aW9uLFxuICAgIHByaXZhdGUgcmVhZG9ubHkgb3B0aW9uczogU3dhZ2dlck9wdGlvbnNcbiAgKSB7fVxuXG4gIHByaXZhdGUgY3JlYXRlRG9jdW1lbnQoKSB7XG4gICAgY29uc3QgZGVzY3JpcHRpb24gPSB0aGlzLm9wdGlvbnMucGF0aFxuICAgICAgPyB0aGlzLm9wdGlvbnMuZGVzY3JpcHRpb24gK1xuICAgICAgICBcIlwiICtcbiAgICAgICAgYDxicj48YnI+PGEgaHJlZj1cIiR7dGhpcy5vcHRpb25zLm9wZW5BcGlKc29uUGF0aH1cIj5PcGVuQVBJIEpTT04gU3BlYzwvYT4gfCBgICtcbiAgICAgICAgYDxhIGhyZWY9XCIke3RoaXMub3B0aW9ucy5vcGVuQXBpWWFtbFBhdGh9XCI+T3BlbkFQSSBZQU1MIFNwZWM8L2E+YFxuICAgICAgOiB0aGlzLm9wdGlvbnMuZGVzY3JpcHRpb247XG5cbiAgICBjb25zdCBjb25maWcgPSBuZXcgRG9jdW1lbnRCdWlsZGVyKClcbiAgICAgIC5zZXRUaXRsZSh0aGlzLm9wdGlvbnMudGl0bGUpXG4gICAgICAuc2V0RGVzY3JpcHRpb24oZGVzY3JpcHRpb24pXG4gICAgICAuc2V0VmVyc2lvbih0aGlzLm9wdGlvbnMudmVyc2lvbiB8fCBcIjAuMC4xXCIpXG4gICAgICAuYWRkQmVhcmVyQXV0aCh0aGlzLm9wdGlvbnMuYXV0aCB8fCBTV0FHR0VSX1VJX0NPTlNUQU5UUy5hdXRoKVxuICAgICAgLmJ1aWxkKCk7XG5cbiAgICByZXR1cm4gU3dhZ2dlck1vZHVsZS5jcmVhdGVEb2N1bWVudCh0aGlzLmFwcCwgY29uZmlnLCB7XG4gICAgICBleHRyYU1vZGVsczogdGhpcy5vcHRpb25zLmV4dHJhTW9kZWxzIHx8IFtdLFxuICAgIH0pO1xuICB9XG5cbiAgcHJpdmF0ZSByZWdpc3Rlck9wZW5BcGlSb3V0ZShcbiAgICBwYXRoOiBzdHJpbmcgfCB1bmRlZmluZWQsXG4gICAgY29udGVudFR5cGU6IFwiYXBwbGljYXRpb24vanNvblwiIHwgXCJhcHBsaWNhdGlvbi94LXlhbWxcIixcbiAgICBib2R5RmFjdG9yeTogKCkgPT4gdm9pZFxuICApOiB2b2lkIHtcbiAgICBpZiAoIXBhdGgpIHJldHVybjtcblxuICAgIGNvbnN0IGh0dHBBZGFwdGVyID0gdGhpcy5hcHAuZ2V0SHR0cEFkYXB0ZXIoKSBhcyBhbnk7XG4gICAgcGF0aCA9IHBhdGguc3RhcnRzV2l0aChcIi9cIikgPyBwYXRoIDogYC8ke3BhdGh9YDtcbiAgICBodHRwQWRhcHRlci5nZXQocGF0aCwgKF9yZXE6IGFueSwgcmVzOiBhbnkpID0+IHtcbiAgICAgIGh0dHBBZGFwdGVyLnJlcGx5KHJlcywgYm9keUZhY3RvcnkoKSwgMjAwLCB7XG4gICAgICAgIFwiQ29udGVudC1UeXBlXCI6IGNvbnRlbnRUeXBlLFxuICAgICAgfSk7XG4gICAgfSk7XG4gIH1cblxuICBwdWJsaWMgc2V0dXBTd2FnZ2VyKCkge1xuICAgIGNvbnN0IGRvY3VtZW50ID0gdGhpcy5jcmVhdGVEb2N1bWVudCgpO1xuICAgIGNvbnN0IHN3YWdnZXJVSSA9IG5ldyBTd2FnZ2VyQ3VzdG9tVUkoe1xuICAgICAgdGl0bGU6IHRoaXMub3B0aW9ucy50aXRsZSxcbiAgICAgIHBhdGg6IHRoaXMub3B0aW9ucy5wYXRoIHx8IFNXQUdHRVJfVUlfQ09OU1RBTlRTLnBhdGgsXG4gICAgICBwZXJzaXN0QXV0aG9yaXphdGlvbjogdGhpcy5vcHRpb25zLnBlcnNpc3RBdXRob3JpemF0aW9uID8/IHRydWUsXG4gICAgICBhc3NldHNQYXRoOiB0aGlzLm9wdGlvbnMuYXNzZXRzUGF0aCxcbiAgICAgIGZhdmljb25QYXRoOiB0aGlzLm9wdGlvbnMuZmF2aWNvbkZpbGVQYXRoLFxuICAgICAgdG9wYmFySWNvblBhdGg6IHRoaXMub3B0aW9ucy50b3BiYXJJY29uRmlsZVBhdGgsXG4gICAgICB0b3BiYXJCZ0NvbG9yOiB0aGlzLm9wdGlvbnMudG9wYmFyQmdDb2xvcixcbiAgICB9KTtcbiAgICBTd2FnZ2VyTW9kdWxlLnNldHVwKFxuICAgICAgdGhpcy5vcHRpb25zLnBhdGggfHwgU1dBR0dFUl9VSV9DT05TVEFOVFMucGF0aCxcbiAgICAgIHRoaXMuYXBwLFxuICAgICAgZG9jdW1lbnQsXG4gICAgICB7XG4gICAgICAgIC4uLnN3YWdnZXJVSS5nZXRDdXN0b21PcHRpb25zKCksXG4gICAgICAgIGpzb25Eb2N1bWVudFVybDogdGhpcy5vcHRpb25zLm9wZW5BcGlKc29uUGF0aFxuICAgICAgICAgID8gYCR7dGhpcy5vcHRpb25zLm9wZW5BcGlKc29uUGF0aH1gXG4gICAgICAgICAgOiB1bmRlZmluZWQsXG4gICAgICAgIHlhbWxEb2N1bWVudFVybDogdGhpcy5vcHRpb25zLm9wZW5BcGlZYW1sUGF0aFxuICAgICAgICAgID8gYCR7dGhpcy5vcHRpb25zLm9wZW5BcGlZYW1sUGF0aH1gXG4gICAgICAgICAgOiB1bmRlZmluZWQsXG4gICAgICB9XG4gICAgKTtcblxuICAgIHRoaXMucmVnaXN0ZXJPcGVuQXBpUm91dGUoXG4gICAgICB0aGlzLm9wdGlvbnMub3BlbkFwaUpzb25QYXRoLFxuICAgICAgXCJhcHBsaWNhdGlvbi9qc29uXCIsXG4gICAgICAoKSA9PiBkb2N1bWVudFxuICAgICk7XG5cbiAgICB0aGlzLnJlZ2lzdGVyT3BlbkFwaVJvdXRlKFxuICAgICAgdGhpcy5vcHRpb25zLm9wZW5BcGlZYW1sUGF0aCxcbiAgICAgIFwiYXBwbGljYXRpb24veC15YW1sXCIsXG4gICAgICAoKSA9PiBZQU1MLnN0cmluZ2lmeShkb2N1bWVudClcbiAgICApO1xuICB9XG5cbiAgLy8gcHJpdmF0ZSBnZXRWZXJzaW9uKCkge1xuICAvLyAgIC8vIGNvbnN0IHBhY2thZ2VKc29uID0gcGF0aC5qb2luKF9fZGlybmFtZSwgXCIuLlwiLCBcIi4uXCIsIFwicGFja2FnZS5qc29uXCIpO1xuICAvLyAgIC8vIGNvbnN0IHt2ZXJzaW9ufSA9IHJlcXVpcmUocGFja2FnZUpzb24pO1xuICAvLyAgIHJldHVybiBcInZlcnNpb25cIjtcbiAgLy8gfVxufVxuIl19
@@ -46,4 +46,4 @@ export class SwaggerCustomUI {
46
46
  return img ? "data:image/png;base64," + b64 : b64;
47
47
  }
48
48
  }
49
- //# sourceMappingURL=SwaggerCustomUI.js.map
49
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiU3dhZ2dlckN1c3RvbVVJLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vc3JjL2ZhY3Rvcnkvb3BlbmFwaS9Td2FnZ2VyQ3VzdG9tVUkudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFFLG9CQUFvQixFQUFFLHVCQUFvQjtBQUNuRCxPQUFPLEVBQUUsWUFBWSxFQUFFLE1BQU0sSUFBSSxDQUFDO0FBQ2xDLE9BQU8sS0FBSyxJQUFJLE1BQU0sTUFBTSxDQUFDO0FBWTdCLE1BQU0sT0FBTyxlQUFlO0lBRTFCLG1EQUFtRDtJQUNuRCxlQUFlO0lBQ2YsVUFBVTtJQUNWLFVBQVU7SUFDVixnQkFBZ0I7SUFDaEIsYUFBYTtJQUNiLEtBQUs7SUFFTCxZQUFZLE9BQXlCO1FBQ25DLElBQUksQ0FBQyxPQUFPLEdBQUc7WUFDYixHQUFHLE9BQU87U0FDWCxDQUFDO0lBQ0osQ0FBQztJQUVPLFNBQVM7UUFDZixJQUFJLEdBQUcsR0FBRyxFQUFFLENBQUM7UUFDYixJQUFJLElBQUksQ0FBQyxPQUFPLENBQUMsY0FBYyxFQUFFLENBQUM7WUFDaEMsTUFBTSxHQUFHLEdBQUcsSUFBSSxDQUFDLEdBQUcsQ0FBQyxJQUFJLENBQUMsT0FBTyxDQUFDLGNBQWMsQ0FBQyxDQUFDO1lBQ2xELEdBQUcsSUFBSSx5REFBeUQsR0FBRyxxQ0FBcUMsQ0FBQztRQUMzRyxDQUFDO1FBQ0QsT0FBTyxDQUNMLEdBQUc7WUFDSDs7a0RBRTRDLElBQUksQ0FBQyxPQUFPLENBQUMsYUFBYSxJQUFJLG9CQUFvQixDQUFDLGFBQWE7T0FDM0csQ0FDRixDQUFDO0lBQ0osQ0FBQztJQUVELGdCQUFnQjtRQUNkLE1BQU0sT0FBTyxHQUF3QixFQUFFLENBQUM7UUFDeEMsSUFBSSxJQUFJLENBQUMsT0FBTyxDQUFDLFdBQVcsRUFBRSxDQUFDO1lBQzdCLE9BQU8sQ0FBQyxlQUFlLENBQUMsR0FBRyxJQUFJLENBQUMsR0FBRyxDQUFDLElBQUksQ0FBQyxPQUFPLENBQUMsV0FBVyxFQUFFLElBQUksQ0FBQyxDQUFDO1FBQ3RFLENBQUM7UUFFRCxPQUFPO1lBQ0wsZUFBZSxFQUFFLElBQUksQ0FBQyxPQUFPLENBQUMsS0FBSztZQUNuQyxHQUFHLE9BQU87WUFDVixTQUFTLEVBQUUsSUFBSSxDQUFDLFNBQVMsRUFBRTtZQUMzQixjQUFjLEVBQUU7Z0JBQ2Qsb0JBQW9CLEVBQUUsSUFBSSxDQUFDLE9BQU8sQ0FBQyxvQkFBb0I7YUFDeEQ7U0FDRixDQUFDO0lBQ0osQ0FBQztJQUVELEdBQUcsQ0FBQyxJQUFZLEVBQUUsTUFBZSxLQUFLO1FBQ3BDLE1BQU0sUUFBUSxHQUFHLElBQUksQ0FBQyxJQUFJLENBQUMsSUFBSSxDQUFDLE9BQU8sQ0FBQyxVQUFVLElBQUksRUFBRSxFQUFFLElBQUksQ0FBQyxDQUFDO1FBQ2hFLE1BQU0sR0FBRyxHQUFHLFlBQVksQ0FBQyxRQUFRLEVBQUUsRUFBRSxRQUFRLEVBQUUsUUFBUSxFQUFFLENBQUMsQ0FBQztRQUMzRCxPQUFPLEdBQUcsQ0FBQyxDQUFDLENBQUMsd0JBQXdCLEdBQUcsR0FBRyxDQUFDLENBQUMsQ0FBQyxHQUFHLENBQUM7SUFDcEQsQ0FBQztDQUNGIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgU1dBR0dFUl9VSV9DT05TVEFOVFMgfSBmcm9tIFwiLi9jb25zdGFudHNcIjtcbmltcG9ydCB7IHJlYWRGaWxlU3luYyB9IGZyb20gXCJmc1wiO1xuaW1wb3J0ICogYXMgcGF0aCBmcm9tIFwicGF0aFwiO1xuXG5leHBvcnQgaW50ZXJmYWNlIFN3YWdnZXJVSU9wdGlvbnMge1xuICB0aXRsZT86IHN0cmluZztcbiAgcGF0aD86IHN0cmluZztcbiAgcGVyc2lzdEF1dGhvcml6YXRpb246IGJvb2xlYW47XG4gIGFzc2V0c1BhdGg/OiBzdHJpbmc7XG4gIGZhdmljb25QYXRoPzogc3RyaW5nO1xuICB0b3BiYXJJY29uUGF0aD86IHN0cmluZztcbiAgdG9wYmFyQmdDb2xvcj86IHN0cmluZztcbn1cblxuZXhwb3J0IGNsYXNzIFN3YWdnZXJDdXN0b21VSSB7XG4gIHJlYWRvbmx5IG9wdGlvbnM6IFN3YWdnZXJVSU9wdGlvbnM7XG4gIC8vIHByaXZhdGUgcmVhZG9ubHkgYXNzZXRzUGF0aDogc3RyaW5nID0gcGF0aC5qb2luKFxuICAvLyAgIF9fZGlybmFtZSxcbiAgLy8gICBcIi4uXCIsXG4gIC8vICAgXCIuLlwiLFxuICAvLyAgIFwid29ya2RvY3NcIixcbiAgLy8gICBcImFzc2V0c1wiXG4gIC8vICk7XG5cbiAgY29uc3RydWN0b3Iob3B0aW9uczogU3dhZ2dlclVJT3B0aW9ucykge1xuICAgIHRoaXMub3B0aW9ucyA9IHtcbiAgICAgIC4uLm9wdGlvbnMsXG4gICAgfTtcbiAgfVxuXG4gIHByaXZhdGUgY3VzdG9tQ1NTKCkge1xuICAgIGxldCBjc3MgPSBcIlwiO1xuICAgIGlmICh0aGlzLm9wdGlvbnMudG9wYmFySWNvblBhdGgpIHtcbiAgICAgIGNvbnN0IGltZyA9IHRoaXMuYjY0KHRoaXMub3B0aW9ucy50b3BiYXJJY29uUGF0aCk7XG4gICAgICBjc3MgKz0gYC50b3BiYXItd3JhcHBlciB7IGNvbnRlbnQ6IHVybCgnZGF0YTppbWFnZS9wbmc7YmFzZTY0LCR7aW1nfScpOyB3aWR0aDogMjAwcHg7IGhlaWdodDogYXV0bzsgfVxcbmA7XG4gICAgfVxuICAgIHJldHVybiAoXG4gICAgICBjc3MgK1xuICAgICAgYFxuICAgICAgICAudG9wYmFyLXdyYXBwZXIgc3ZnIHsgdmlzaWJpbGl0eTogaGlkZGVuOyB9XG4gICAgICAgIC5zd2FnZ2VyLXVpIC50b3BiYXIgeyBiYWNrZ3JvdW5kLWNvbG9yOiAke3RoaXMub3B0aW9ucy50b3BiYXJCZ0NvbG9yIHx8IFNXQUdHRVJfVUlfQ09OU1RBTlRTLnRvcGJhckJnQ29sb3J9OyB9XG4gICAgICBgXG4gICAgKTtcbiAgfVxuXG4gIGdldEN1c3RvbU9wdGlvbnMoKSB7XG4gICAgY29uc3QgZmF2aWNvbjogUmVjb3JkPHN0cmluZywgYW55PiA9IHt9O1xuICAgIGlmICh0aGlzLm9wdGlvbnMuZmF2aWNvblBhdGgpIHtcbiAgICAgIGZhdmljb25bXCJjdXN0b21mYXZJY29uXCJdID0gdGhpcy5iNjQodGhpcy5vcHRpb25zLmZhdmljb25QYXRoLCB0cnVlKTtcbiAgICB9XG5cbiAgICByZXR1cm4ge1xuICAgICAgY3VzdG9tU2l0ZVRpdGxlOiB0aGlzLm9wdGlvbnMudGl0bGUsXG4gICAgICAuLi5mYXZpY29uLFxuICAgICAgY3VzdG9tQ3NzOiB0aGlzLmN1c3RvbUNTUygpLFxuICAgICAgc3dhZ2dlck9wdGlvbnM6IHtcbiAgICAgICAgcGVyc2lzdEF1dGhvcml6YXRpb246IHRoaXMub3B0aW9ucy5wZXJzaXN0QXV0aG9yaXphdGlvbixcbiAgICAgIH0sXG4gICAgfTtcbiAgfVxuXG4gIGI2NChmaWxlOiBzdHJpbmcsIGltZzogYm9vbGVhbiA9IGZhbHNlKSB7XG4gICAgY29uc3QgZmlsZVBhdGggPSBwYXRoLmpvaW4odGhpcy5vcHRpb25zLmFzc2V0c1BhdGggfHwgXCJcIiwgZmlsZSk7XG4gICAgY29uc3QgYjY0ID0gcmVhZEZpbGVTeW5jKGZpbGVQYXRoLCB7IGVuY29kaW5nOiBcImJhc2U2NFwiIH0pO1xuICAgIHJldHVybiBpbWcgPyBcImRhdGE6aW1hZ2UvcG5nO2Jhc2U2NCxcIiArIGI2NCA6IGI2NDtcbiAgfVxufVxuIl19
@@ -16,4 +16,4 @@ export const SWAGGER_UI_CONSTANTS = {
16
16
  persistAuthorization: true,
17
17
  topbarBgColor: "#000000",
18
18
  };
19
- //# sourceMappingURL=constants.js.map
19
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiY29uc3RhbnRzLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vc3JjL2ZhY3Rvcnkvb3BlbmFwaS9jb25zdGFudHMudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBOEJBLE1BQU0sQ0FBQyxNQUFNLG9CQUFvQixHQUFtQjtJQUNsRCxLQUFLLEVBQUUsdUNBQXVDO0lBQzlDLFdBQVcsRUFBRSxpREFBaUQ7SUFDOUQsT0FBTyxFQUFFLE9BQU87SUFDaEIsSUFBSSxFQUFFLE1BQU07SUFDWixlQUFlLEVBQUUsRUFBRTtJQUNuQixrQkFBa0IsRUFBRSxFQUFFO0lBQ3RCLElBQUksRUFBRTtRQUNKLElBQUksRUFBRSxNQUFNO1FBQ1osTUFBTSxFQUFFLFFBQVE7UUFDaEIsWUFBWSxFQUFFLEtBQUs7UUFDbkIsSUFBSSxFQUFFLGVBQWU7UUFDckIsV0FBVyxFQUFFLGlCQUFpQjtRQUM5QixFQUFFLEVBQUUsUUFBUTtLQUNiO0lBQ0Qsb0JBQW9CLEVBQUUsSUFBSTtJQUMxQixhQUFhLEVBQUUsU0FBUztDQUN6QixDQUFDIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgQ29uc3RydWN0b3IgfSBmcm9tIFwiQGRlY2FmLXRzL2RlY29yYXRpb25cIjtcbmltcG9ydCB7IFNlY3VyaXR5U2NoZW1lT2JqZWN0IH0gZnJvbSBcIi4uLy4uL3N3YWdnZXItdHlwZXNcIjtcblxuZXhwb3J0IGludGVyZmFjZSBTd2FnZ2VyT3B0aW9ucyB7XG4gIHRpdGxlOiBzdHJpbmc7XG4gIGRlc2NyaXB0aW9uOiBzdHJpbmc7XG4gIHZlcnNpb24/OiBzdHJpbmc7XG4gIGFzc2V0c1BhdGg/OiBzdHJpbmc7XG4gIGZhdmljb25GaWxlUGF0aD86IHN0cmluZztcbiAgdG9wYmFySWNvbkZpbGVQYXRoPzogc3RyaW5nO1xuICBwZXJzaXN0QXV0aG9yaXphdGlvbj86IGJvb2xlYW47XG4gIHBhdGg6IHN0cmluZztcbiAgYXV0aD86IFNlY3VyaXR5U2NoZW1lT2JqZWN0O1xuICB0b3BiYXJCZ0NvbG9yPzogc3RyaW5nO1xuICBleHRyYU1vZGVscz86IENvbnN0cnVjdG9yW107XG5cbiAgLyoqXG4gICAqIFBhdGggdG8gZXhwb3NlIHRoZSBPcGVuQVBJIHNwZWNpZmljYXRpb24gaW4gSlNPTiBmb3JtYXQuXG4gICAqIEV4YW1wbGU6IC9hcGkvb3BlbmFwaS5qc29uXG4gICAqL1xuICBvcGVuQXBpSnNvblBhdGg/OiBzdHJpbmc7XG5cbiAgLyoqXG4gICAqIFBhdGggdG8gZXhwb3NlIHRoZSBPcGVuQVBJIHNwZWNpZmljYXRpb24gaW4gWUFNTCBmb3JtYXQuXG4gICAqIFJlcXVpcmVzICd5YW1sJyBwYWNrYWdlIGFzIHBlZXIgZGVwZW5kZW5jeS5cbiAgICogRXhhbXBsZTogL2FwaS9vcGVuYXBpLnlhbWxcbiAgICovXG4gIG9wZW5BcGlZYW1sUGF0aD86IHN0cmluZztcbn1cblxuZXhwb3J0IGNvbnN0IFNXQUdHRVJfVUlfQ09OU1RBTlRTOiBTd2FnZ2VyT3B0aW9ucyA9IHtcbiAgdGl0bGU6IFwiU3dhZ2dlciB8IE9wZW5BUEkgU3BlY2lmaWNhdGlvbiAoT0FTKVwiLFxuICBkZXNjcmlwdGlvbjogXCJTdGFuZGFyZGl6ZWQgZm9ybWF0IGZvciBkZXNjcmliaW5nIFJFU1RmdWwgQVBJc1wiLFxuICB2ZXJzaW9uOiBcIjAuMC4xXCIsXG4gIHBhdGg6IFwiZG9jc1wiLFxuICBmYXZpY29uRmlsZVBhdGg6IFwiXCIsXG4gIHRvcGJhckljb25GaWxlUGF0aDogXCJcIixcbiAgYXV0aDoge1xuICAgIHR5cGU6IFwiaHR0cFwiLFxuICAgIHNjaGVtZTogXCJiZWFyZXJcIixcbiAgICBiZWFyZXJGb3JtYXQ6IFwiSldUXCIsXG4gICAgbmFtZTogXCJBdXRob3JpemF0aW9uXCIsXG4gICAgZGVzY3JpcHRpb246IFwiRW50ZXIgSldUIHRva2VuXCIsXG4gICAgaW46IFwiaGVhZGVyXCIsXG4gIH0sXG4gIHBlcnNpc3RBdXRob3JpemF0aW9uOiB0cnVlLFxuICB0b3BiYXJCZ0NvbG9yOiBcIiMwMDAwMDBcIixcbn07XG4iXX0=
@@ -1,3 +1,3 @@
1
1
  export * from "./SwaggerBuilder.js";
2
2
  export * from "./DtoBuilder.js";
3
- //# sourceMappingURL=index.js.map
3
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaW5kZXguanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi9zcmMvZmFjdG9yeS9vcGVuYXBpL2luZGV4LnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLG9DQUFpQztBQUNqQyxnQ0FBNkIiLCJzb3VyY2VzQ29udGVudCI6WyJleHBvcnQgKiBmcm9tIFwiLi9Td2FnZ2VyQnVpbGRlclwiO1xuZXhwb3J0ICogZnJvbSBcIi4vRHRvQnVpbGRlclwiO1xuIl19
package/lib/esm/index.js CHANGED
@@ -23,6 +23,7 @@ import { Metadata } from "@decaf-ts/decoration";
23
23
  import "./decoration.js";
24
24
  export * from "./decoration.js"; // on top on purpose
25
25
  export * from "./decaf-model/index.js";
26
+ export * from "./auth/index.js";
26
27
  export * from "./factory/index.js";
27
28
  export * from "./interceptors/index.js";
28
29
  export * from "./overrides/index.js";
@@ -31,34 +32,34 @@ export * from "./constants.js";
31
32
  export * from "./controllers.js";
32
33
  export * from "./module.js";
33
34
  export * from "./core-module.js";
34
- export * from "./migrations/index.js";
35
35
  export * from "./types.js";
36
+ export * from "./decorators.js";
36
37
  export * from "./utils.js";
37
38
  export * from "./events-module/index.js";
38
- export * from "./webhooks/index.js";
39
+ // export * from "./webhooks";
39
40
  /**
40
41
  * Represents the current version of the ts-workspace module.
41
42
  * The actual version number is replaced during the build process.
42
43
  * @constant
43
44
  * @type {string}
44
45
  */
45
- export const VERSION = "0.11.0";
46
+ export const VERSION = "0.11.2-refactor.2";
46
47
  /**
47
48
  * @description Represents the current commit hash of the module build.
48
49
  * @summary Stores the current git commit hash for the package. The build replaces
49
50
  * the placeholder with the actual commit hash at publish time.
50
51
  * @const COMMIT
51
52
  */
52
- export const COMMIT = "356fbe1";
53
+ export const COMMIT = "85f1cec";
53
54
  /**
54
55
  * @description Represents the full version string of the module.
55
56
  * @summary Stores the semver version and commit hash for the package.
56
57
  * The build replaces the placeholder with the actual `<version>-<commit>` value at publish time.
57
58
  * @const FULL_VERSION
58
59
  */
59
- export const FULL_VERSION = "0.11.0-356fbe1";
60
+ export const FULL_VERSION = "0.11.2-refactor.2-85f1cec";
60
61
  export const PACKAGE_NAME = "@decaf-ts/for-nest";
61
62
  Metadata.allowReregistration(true);
62
63
  Metadata.registerLibrary(PACKAGE_NAME, VERSION);
63
64
  Metadata.allowReregistration(false);
64
- //# sourceMappingURL=index.js.map
65
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaW5kZXguanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi9zcmMvaW5kZXgudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUE7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7O0dBb0JHO0FBRUgsT0FBTyxFQUFFLFFBQVEsRUFBRSxNQUFNLHNCQUFzQixDQUFDO0FBQ2hELHlCQUFzQjtBQUV0QixnQ0FBNkIsQ0FBQyxvQkFBb0I7QUFDbEQsdUNBQThCO0FBQzlCLGdDQUF1QjtBQUN2QixtQ0FBMEI7QUFDMUIsd0NBQStCO0FBQy9CLHFDQUE0QjtBQUM1QixtQ0FBMEI7QUFDMUIsK0JBQTRCO0FBQzVCLGlDQUE4QjtBQUM5Qiw0QkFBeUI7QUFDekIsaUNBQThCO0FBQzlCLDJCQUF3QjtBQUN4QixnQ0FBNkI7QUFDN0IsMkJBQXdCO0FBQ3hCLHlDQUFnQztBQUNoQyw4QkFBOEI7QUFFOUI7Ozs7O0dBS0c7QUFDSCxNQUFNLENBQUMsTUFBTSxPQUFPLEdBQUcsYUFBYSxDQUFDO0FBRXJDOzs7OztHQUtHO0FBQ0gsTUFBTSxDQUFDLE1BQU0sTUFBTSxHQUFHLFlBQVksQ0FBQztBQUVuQzs7Ozs7R0FLRztBQUNILE1BQU0sQ0FBQyxNQUFNLFlBQVksR0FBRyxrQkFBa0IsQ0FBQztBQUUvQyxNQUFNLENBQUMsTUFBTSxZQUFZLEdBQUcsYUFBYSxDQUFDO0FBRTFDLFFBQVEsQ0FBQyxtQkFBbUIsQ0FBQyxJQUFJLENBQUMsQ0FBQztBQUNuQyxRQUFRLENBQUMsZUFBZSxDQUFDLFlBQVksRUFBRSxPQUFPLENBQUMsQ0FBQztBQUNoRCxRQUFRLENBQUMsbUJBQW1CLENBQUMsS0FBSyxDQUFDLENBQUMiLCJzb3VyY2VzQ29udGVudCI6WyIvKipcbiAqIEBtb2R1bGUgZm9yLW5lc3RcbiAqIEBkZXNjcmlwdGlvbiBUaGlzIG1vZHVsZSBzZXJ2ZXMgYXMgdGhlIG1haW4gZW50cnkgcG9pbnQgZm9yIHRoZSB0cy13b3Jrc3BhY2UgbGlicmFyeS4gSXQgYWdncmVnYXRlcyBhbmQgZXhwb3J0c1xuICogZnVuY3Rpb25hbGl0eSBmcm9tIHZhcmlvdXMgc3VibW9kdWxlcyBhbmQgdXRpbGl0aWVzIHdpdGhpbiB0aGUgcHJvamVjdC5cbiAqXG4gKiBUaGUgbW9kdWxlIGluY2x1ZGVzOlxuICogMS4gVXRpbGl0eSBmdW5jdGlvbnMgYW5kIHR5cGVzIGZyb20gdGhlIFwiLi91dGlsc1wiIGRpcmVjdG9yeTpcbiAqICAgIC0gVGhlc2UgbGlrZWx5IGNvbnRhaW4gaGVscGVyIGZ1bmN0aW9ucywgY29tbW9uIHR5cGVzLCBhbmQgc2hhcmVkIGZ1bmN0aW9uYWxpdHkgdXNlZCB0aHJvdWdob3V0IHRoZSBwcm9qZWN0LlxuICogICAgLSBNYXkgaW5jbHVkZSBvcGVyYXRpb25zIGZvciBkYXRhIG1hbmlwdWxhdGlvbiwgdHlwZSBjaGVja2luZywgb3Igb3RoZXIgZ2VuZXJhbC1wdXJwb3NlIHV0aWxpdGllcy5cbiAqXG4gKiAyLiBBIG5hbWVzcGFjZSBhbmQgcmVsYXRlZCB0eXBlcyBmcm9tIHRoZSBcIi4vbmFtZXNwYWNlXCIgZGlyZWN0b3J5OlxuICogICAgLSBUaGlzIGNvdWxkIGNvbnRhaW4gZG9tYWluLXNwZWNpZmljIGNvZGUgb3IgYSBjb2xsZWN0aW9uIG9mIHJlbGF0ZWQgZnVuY3Rpb25hbGl0eS5cbiAqICAgIC0gTWlnaHQgaW5jbHVkZSBpbnRlcmZhY2VzLCB0eXBlcywgb3IgY2xhc3NlcyB0aGF0IHJlcHJlc2VudCBjb3JlIGNvbmNlcHRzIGluIHRoZSBsaWJyYXJ5LlxuICpcbiAqIDMuIEEgVkVSU0lPTiBjb25zdGFudDpcbiAqICAgIC0gUmVwcmVzZW50cyB0aGUgY3VycmVudCB2ZXJzaW9uIG9mIHRoZSBtb2R1bGUuXG4gKiAgICAtIFVzZWZ1bCBmb3IgdmVyc2lvbiBjaGVja2luZyBhbmQgY29tcGF0aWJpbGl0eSBwdXJwb3Nlcy5cbiAqXG4gKiBUaGlzIHN0cnVjdHVyZSBwcm92aWRlcyBhIGNsZWFuIGFuZCBvcmdhbml6ZWQgZXhwb3J0IG9mIHRoZSBtb2R1bGUncyBmdW5jdGlvbmFsaXR5LCBhbGxvd2luZyBjb25zdW1lcnNcbiAqIHRvIGVhc2lseSBpbXBvcnQgYW5kIHVzZSBzcGVjaWZpYyBwYXJ0cyBvZiB0aGUgbGlicmFyeSBhcyBuZWVkZWQuXG4gKi9cblxuaW1wb3J0IHsgTWV0YWRhdGEgfSBmcm9tIFwiQGRlY2FmLXRzL2RlY29yYXRpb25cIjtcbmltcG9ydCBcIi4vZGVjb3JhdGlvblwiO1xuXG5leHBvcnQgKiBmcm9tIFwiLi9kZWNvcmF0aW9uXCI7IC8vIG9uIHRvcCBvbiBwdXJwb3NlXG5leHBvcnQgKiBmcm9tIFwiLi9kZWNhZi1tb2RlbFwiO1xuZXhwb3J0ICogZnJvbSBcIi4vYXV0aFwiO1xuZXhwb3J0ICogZnJvbSBcIi4vZmFjdG9yeVwiO1xuZXhwb3J0ICogZnJvbSBcIi4vaW50ZXJjZXB0b3JzXCI7XG5leHBvcnQgKiBmcm9tIFwiLi9vdmVycmlkZXNcIjtcbmV4cG9ydCAqIGZyb20gXCIuL3JlcXVlc3RcIjtcbmV4cG9ydCAqIGZyb20gXCIuL2NvbnN0YW50c1wiO1xuZXhwb3J0ICogZnJvbSBcIi4vY29udHJvbGxlcnNcIjtcbmV4cG9ydCAqIGZyb20gXCIuL21vZHVsZVwiO1xuZXhwb3J0ICogZnJvbSBcIi4vY29yZS1tb2R1bGVcIjtcbmV4cG9ydCAqIGZyb20gXCIuL3R5cGVzXCI7XG5leHBvcnQgKiBmcm9tIFwiLi9kZWNvcmF0b3JzXCI7XG5leHBvcnQgKiBmcm9tIFwiLi91dGlsc1wiO1xuZXhwb3J0ICogZnJvbSBcIi4vZXZlbnRzLW1vZHVsZVwiO1xuLy8gZXhwb3J0ICogZnJvbSBcIi4vd2ViaG9va3NcIjtcblxuLyoqXG4gKiBSZXByZXNlbnRzIHRoZSBjdXJyZW50IHZlcnNpb24gb2YgdGhlIHRzLXdvcmtzcGFjZSBtb2R1bGUuXG4gKiBUaGUgYWN0dWFsIHZlcnNpb24gbnVtYmVyIGlzIHJlcGxhY2VkIGR1cmluZyB0aGUgYnVpbGQgcHJvY2Vzcy5cbiAqIEBjb25zdGFudFxuICogQHR5cGUge3N0cmluZ31cbiAqL1xuZXhwb3J0IGNvbnN0IFZFUlNJT04gPSBcIiMjVkVSU0lPTiMjXCI7XG5cbi8qKlxuICogQGRlc2NyaXB0aW9uIFJlcHJlc2VudHMgdGhlIGN1cnJlbnQgY29tbWl0IGhhc2ggb2YgdGhlIG1vZHVsZSBidWlsZC5cbiAqIEBzdW1tYXJ5IFN0b3JlcyB0aGUgY3VycmVudCBnaXQgY29tbWl0IGhhc2ggZm9yIHRoZSBwYWNrYWdlLiBUaGUgYnVpbGQgcmVwbGFjZXNcbiAqIHRoZSBwbGFjZWhvbGRlciB3aXRoIHRoZSBhY3R1YWwgY29tbWl0IGhhc2ggYXQgcHVibGlzaCB0aW1lLlxuICogQGNvbnN0IENPTU1JVFxuICovXG5leHBvcnQgY29uc3QgQ09NTUlUID0gXCIjI0NPTU1JVCMjXCI7XG5cbi8qKlxuICogQGRlc2NyaXB0aW9uIFJlcHJlc2VudHMgdGhlIGZ1bGwgdmVyc2lvbiBzdHJpbmcgb2YgdGhlIG1vZHVsZS5cbiAqIEBzdW1tYXJ5IFN0b3JlcyB0aGUgc2VtdmVyIHZlcnNpb24gYW5kIGNvbW1pdCBoYXNoIGZvciB0aGUgcGFja2FnZS5cbiAqIFRoZSBidWlsZCByZXBsYWNlcyB0aGUgcGxhY2Vob2xkZXIgd2l0aCB0aGUgYWN0dWFsIGA8dmVyc2lvbj4tPGNvbW1pdD5gIHZhbHVlIGF0IHB1Ymxpc2ggdGltZS5cbiAqIEBjb25zdCBGVUxMX1ZFUlNJT05cbiAqL1xuZXhwb3J0IGNvbnN0IEZVTExfVkVSU0lPTiA9IFwiIyNGVUxMX1ZFUlNJT04jI1wiO1xuXG5leHBvcnQgY29uc3QgUEFDS0FHRV9OQU1FID0gXCIjI1BBQ0tBR0UjI1wiO1xuXG5NZXRhZGF0YS5hbGxvd1JlcmVnaXN0cmF0aW9uKHRydWUpO1xuTWV0YWRhdGEucmVnaXN0ZXJMaWJyYXJ5KFBBQ0tBR0VfTkFNRSwgVkVSU0lPTik7XG5NZXRhZGF0YS5hbGxvd1JlcmVnaXN0cmF0aW9uKGZhbHNlKTtcbiJdfQ==
@@ -10,10 +10,9 @@ var __metadata = (this && this.__metadata) || function (k, v) {
10
10
  var DecafRequestHandlerInterceptor_1;
11
11
  import { Injectable, Scope, } from "@nestjs/common";
12
12
  import { DecafHandlerExecutor, DecafRequestContext } from "./../request/index.js";
13
- import { Adapter, Context, DefaultAdapterFlags } from "@decaf-ts/core";
13
+ import { DefaultAdapterFlags } from "@decaf-ts/core";
14
14
  import "./../overrides/index.js";
15
15
  import { Logging } from "@decaf-ts/logging";
16
- import { InternalError } from "@decaf-ts/db-decorators";
17
16
  /**
18
17
  * @description
19
18
  * Interceptor responsible for executing all registered Decaf request handlers
@@ -71,33 +70,21 @@ let DecafRequestHandlerInterceptor = DecafRequestHandlerInterceptor_1 = class De
71
70
  headers: headers,
72
71
  overrides: {},
73
72
  };
74
- const flavours = Adapter.flavoursToTransform();
75
- if (flavours)
76
- for (const flavour of flavours) {
77
- try {
78
- const transformer = Adapter.transformerFor(flavour);
79
- const from = await transformer.from(req);
80
- Object.assign(flags.overrides, from);
81
- }
82
- catch (e) {
83
- throw new InternalError(`Failed to contextualize request: ${e}`);
84
- }
85
- }
86
- const ctx = new Context().accumulate(Object.assign({}, DefaultAdapterFlags, {
87
- logger: Logging.get(),
73
+ const ip = extractIp(req);
74
+ const logger = Logging.get().for({ ip });
75
+ this.requestContext.accumulate(Object.assign({}, DefaultAdapterFlags, {
76
+ logger,
88
77
  timestamp: new Date(),
78
+ operation: `${req.method} ${req.url}`,
89
79
  }, flags));
90
- return ctx;
91
80
  }
92
81
  async intercept(context, next) {
93
82
  const req = context.switchToHttp().getRequest();
94
83
  const res = context.switchToHttp().getResponse();
95
84
  const log = Logging.for(DecafRequestHandlerInterceptor_1).for(this.intercept);
96
85
  log.debug(`CONTEXT ${this.requestContext.uuid} - request: ${req.method} ${req.url}`);
97
- const ctx = await this.contextualize(req);
86
+ await this.contextualize(req);
98
87
  log.debug(`CONTEXT ${this.requestContext.uuid} contextualized - request: ${req.method} ${req.url}`);
99
- this.requestContext.applyCtx(ctx);
100
- log.debug(`CONTEXT ${this.requestContext.uuid} applied - request: ${req.method} ${req.url}`);
101
88
  await this.executor.exec(req, res);
102
89
  log.debug(`CONTEXT ${this.requestContext.uuid} executors finished - request: ${req.method} ${req.url}`);
103
90
  return next.handle();
@@ -109,4 +96,21 @@ DecafRequestHandlerInterceptor = DecafRequestHandlerInterceptor_1 = __decorate([
109
96
  DecafHandlerExecutor])
110
97
  ], DecafRequestHandlerInterceptor);
111
98
  export { DecafRequestHandlerInterceptor };
112
- //# sourceMappingURL=DecafRequestHandlerInterceptor.js.map
99
+ function extractIp(req) {
100
+ const headers = req.headers;
101
+ function parseIpHeader(value) {
102
+ if (!value)
103
+ return undefined;
104
+ const candidate = Array.isArray(value) ? value[0] : value;
105
+ return candidate
106
+ .split(",")
107
+ .map((segment) => segment.trim())
108
+ .filter(Boolean)[0];
109
+ }
110
+ return (parseIpHeader(headers?.["x-forwarded-for"]) ??
111
+ parseIpHeader(headers?.["x-real-ip"]) ??
112
+ parseIpHeader(headers?.["X-Forwarded-For"]) ??
113
+ parseIpHeader(headers?.["X-Real-IP"]) ??
114
+ req.ip);
115
+ }
116
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiRGVjYWZSZXF1ZXN0SGFuZGxlckludGVyY2VwdG9yLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vc3JjL2ludGVyY2VwdG9ycy9EZWNhZlJlcXVlc3RIYW5kbGVySW50ZXJjZXB0b3IudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6Ijs7Ozs7Ozs7OztBQUFBLE9BQU8sRUFHTCxVQUFVLEVBRVYsS0FBSyxHQUNOLE1BQU0sZ0JBQWdCLENBQUM7QUFDeEIsT0FBTyxFQUFFLG9CQUFvQixFQUFFLG1CQUFtQixFQUFFLDhCQUFtQjtBQUN2RSxPQUFPLEVBQUUsbUJBQW1CLEVBQUUsTUFBTSxnQkFBZ0IsQ0FBQztBQUVyRCxpQ0FBc0I7QUFDdEIsT0FBTyxFQUFFLE9BQU8sRUFBRSxNQUFNLG1CQUFtQixDQUFDO0FBRTVDOzs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7R0E2Q0c7QUFFSSxJQUFNLDhCQUE4QixzQ0FBcEMsTUFBTSw4QkFBOEI7SUFDekMsWUFDcUIsY0FBbUMsRUFDbkMsUUFBOEI7UUFEOUIsbUJBQWMsR0FBZCxjQUFjLENBQXFCO1FBQ25DLGFBQVEsR0FBUixRQUFRLENBQXNCO0lBQ2hELENBQUM7SUFFTSxLQUFLLENBQUMsYUFBYSxDQUFDLEdBQVE7UUFDcEMsTUFBTSxPQUFPLEdBQUcsR0FBRyxDQUFDLE9BQU8sQ0FBQztRQUM1QixNQUFNLEtBQUssR0FBcUI7WUFDOUIsT0FBTyxFQUFFLE9BQU87WUFDaEIsU0FBUyxFQUFFLEVBQUU7U0FDUCxDQUFDO1FBRVQsTUFBTSxFQUFFLEdBQUcsU0FBUyxDQUFDLEdBQUcsQ0FBQyxDQUFDO1FBQzFCLE1BQU0sTUFBTSxHQUFHLE9BQU8sQ0FBQyxHQUFHLEVBQUUsQ0FBQyxHQUFHLENBQUMsRUFBRSxFQUFFLEVBQUUsQ0FBQyxDQUFDO1FBRXpDLElBQUksQ0FBQyxjQUFjLENBQUMsVUFBVSxDQUM1QixNQUFNLENBQUMsTUFBTSxDQUNYLEVBQUUsRUFDRixtQkFBbUIsRUFDbkI7WUFDRSxNQUFNO1lBQ04sU0FBUyxFQUFFLElBQUksSUFBSSxFQUFFO1lBQ3JCLFNBQVMsRUFBRSxHQUFHLEdBQUcsQ0FBQyxNQUFNLElBQUksR0FBRyxDQUFDLEdBQUcsRUFBRTtTQUN0QyxFQUNELEtBQUssQ0FDTixDQUNGLENBQUM7SUFDSixDQUFDO0lBRUQsS0FBSyxDQUFDLFNBQVMsQ0FBQyxPQUF5QixFQUFFLElBQWlCO1FBQzFELE1BQU0sR0FBRyxHQUFHLE9BQU8sQ0FBQyxZQUFZLEVBQUUsQ0FBQyxVQUFVLEVBQUUsQ0FBQztRQUNoRCxNQUFNLEdBQUcsR0FBRyxPQUFPLENBQUMsWUFBWSxFQUFFLENBQUMsV0FBVyxFQUFFLENBQUM7UUFDakQsTUFBTSxHQUFHLEdBQUcsT0FBTyxDQUFDLEdBQUcsQ0FBQyxnQ0FBOEIsQ0FBQyxDQUFDLEdBQUcsQ0FBQyxJQUFJLENBQUMsU0FBUyxDQUFDLENBQUM7UUFDNUUsR0FBRyxDQUFDLEtBQUssQ0FDUCxXQUFXLElBQUksQ0FBQyxjQUFjLENBQUMsSUFBSSxlQUFlLEdBQUcsQ0FBQyxNQUFNLElBQUksR0FBRyxDQUFDLEdBQUcsRUFBRSxDQUMxRSxDQUFDO1FBQ0YsTUFBTSxJQUFJLENBQUMsYUFBYSxDQUFDLEdBQUcsQ0FBQyxDQUFDO1FBQzlCLEdBQUcsQ0FBQyxLQUFLLENBQ1AsV0FBVyxJQUFJLENBQUMsY0FBYyxDQUFDLElBQUksOEJBQThCLEdBQUcsQ0FBQyxNQUFNLElBQUksR0FBRyxDQUFDLEdBQUcsRUFBRSxDQUN6RixDQUFDO1FBRUYsTUFBTSxJQUFJLENBQUMsUUFBUSxDQUFDLElBQUksQ0FBQyxHQUFHLEVBQUUsR0FBRyxDQUFDLENBQUM7UUFDbkMsR0FBRyxDQUFDLEtBQUssQ0FDUCxXQUFXLElBQUksQ0FBQyxjQUFjLENBQUMsSUFBSSxrQ0FBa0MsR0FBRyxDQUFDLE1BQU0sSUFBSSxHQUFHLENBQUMsR0FBRyxFQUFFLENBQzdGLENBQUM7UUFDRixPQUFPLElBQUksQ0FBQyxNQUFNLEVBQUUsQ0FBQztJQUN2QixDQUFDO0NBQ0YsQ0FBQTtBQWhEWSw4QkFBOEI7SUFEMUMsVUFBVSxDQUFDLEVBQUUsS0FBSyxFQUFFLEtBQUssQ0FBQyxPQUFPLEVBQUUsQ0FBQztxQ0FHRSxtQkFBbUI7UUFDekIsb0JBQW9CO0dBSHhDLDhCQUE4QixDQWdEMUM7O0FBRUQsU0FBUyxTQUFTLENBQUMsR0FBUTtJQUN6QixNQUFNLE9BQU8sR0FBRyxHQUFHLENBQUMsT0FBTyxDQUFDO0lBQzVCLFNBQVMsYUFBYSxDQUFDLEtBQXlCO1FBQzlDLElBQUksQ0FBQyxLQUFLO1lBQUUsT0FBTyxTQUFTLENBQUM7UUFDN0IsTUFBTSxTQUFTLEdBQUcsS0FBSyxDQUFDLE9BQU8sQ0FBQyxLQUFLLENBQUMsQ0FBQyxDQUFDLENBQUMsS0FBSyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxLQUFLLENBQUM7UUFDMUQsT0FBTyxTQUFTO2FBQ2IsS0FBSyxDQUFDLEdBQUcsQ0FBQzthQUNWLEdBQUcsQ0FBQyxDQUFDLE9BQU8sRUFBRSxFQUFFLENBQUMsT0FBTyxDQUFDLElBQUksRUFBRSxDQUFDO2FBQ2hDLE1BQU0sQ0FBQyxPQUFPLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQztJQUN4QixDQUFDO0lBQ0QsT0FBTyxDQUNMLGFBQWEsQ0FBQyxPQUFPLEVBQUUsQ0FBQyxpQkFBaUIsQ0FBQyxDQUFDO1FBQzNDLGFBQWEsQ0FBQyxPQUFPLEVBQUUsQ0FBQyxXQUFXLENBQUMsQ0FBQztRQUNyQyxhQUFhLENBQUMsT0FBTyxFQUFFLENBQUMsaUJBQWlCLENBQUMsQ0FBQztRQUMzQyxhQUFhLENBQUMsT0FBTyxFQUFFLENBQUMsV0FBVyxDQUFDLENBQUM7UUFDckMsR0FBRyxDQUFDLEVBQUUsQ0FDUCxDQUFDO0FBQ0osQ0FBQyIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7XG4gIENhbGxIYW5kbGVyLFxuICBFeGVjdXRpb25Db250ZXh0LFxuICBJbmplY3RhYmxlLFxuICBOZXN0SW50ZXJjZXB0b3IsXG4gIFNjb3BlLFxufSBmcm9tIFwiQG5lc3Rqcy9jb21tb25cIjtcbmltcG9ydCB7IERlY2FmSGFuZGxlckV4ZWN1dG9yLCBEZWNhZlJlcXVlc3RDb250ZXh0IH0gZnJvbSBcIi4uL3JlcXVlc3RcIjtcbmltcG9ydCB7IERlZmF1bHRBZGFwdGVyRmxhZ3MgfSBmcm9tIFwiQGRlY2FmLXRzL2NvcmVcIjtcbmltcG9ydCB7IERlY2FmU2VydmVyRmxhZ3MgfSBmcm9tIFwiLi4vY29uc3RhbnRzXCI7XG5pbXBvcnQgXCIuLi9vdmVycmlkZXNcIjtcbmltcG9ydCB7IExvZ2dpbmcgfSBmcm9tIFwiQGRlY2FmLXRzL2xvZ2dpbmdcIjtcblxuLyoqXG4gKiBAZGVzY3JpcHRpb25cbiAqIEludGVyY2VwdG9yIHJlc3BvbnNpYmxlIGZvciBleGVjdXRpbmcgYWxsIHJlZ2lzdGVyZWQgRGVjYWYgcmVxdWVzdCBoYW5kbGVyc1xuICogYmVmb3JlIHRoZSBjb250cm9sbGVyIG1ldGhvZCBpcyBpbnZva2VkLlxuICpcbiAqIEBzdW1tYXJ5XG4gKiBUaGUge0BsaW5rIERlY2FmUmVxdWVzdEhhbmRsZXJJbnRlcmNlcHRvcn0gaW50ZWdyYXRlcyB0aGUgRGVjYWYgcmVxdWVzdC1oYW5kbGluZyBwaXBlbGluZVxuICogaW50byBOZXN0SlMnIGludGVyY2VwdG9yIG1lY2hhbmlzbS4gQmVmb3JlIHBhc3NpbmcgZXhlY3V0aW9uIHRvIHRoZSBuZXh0IGhhbmRsZXIgaW4gdGhlXG4gKiBOZXN0SlMgY2hhaW4sIGl0IGRlbGVnYXRlcyByZXF1ZXN0IHByb2Nlc3NpbmcgdG8gdGhlIHtAbGluayBEZWNhZkhhbmRsZXJFeGVjdXRvcn0sIHdoaWNoXG4gKiBzZXF1ZW50aWFsbHkgcnVucyBhbGwgcmVnaXN0ZXJlZCB7QGxpbmsgRGVjYWZSZXF1ZXN0SGFuZGxlcn0gaW5zdGFuY2VzLiBUaGlzIGFsbG93c1xuICogYmVoYXZpb3JzIHN1Y2ggYXMgYXV0aGVudGljYXRpb24sIGxvZ2dpbmcsIHRlbmFudCByZXNvbHV0aW9uLCBvciBtZXRhZGF0YSBlbnJpY2htZW50XG4gKiB0byBvY2N1ciBwcmlvciB0byBjb250cm9sbGVyIGV4ZWN1dGlvbi5cbiAqXG4gKiBAY2xhc3MgRGVjYWZSZXF1ZXN0SGFuZGxlckludGVyY2VwdG9yXG4gKlxuICogQGV4YW1wbGVcbiAqIGBgYHRzXG4gKiAvLyBBcHBseSBnbG9iYWxseTpcbiAqIGFwcC51c2VHbG9iYWxJbnRlcmNlcHRvcnMobmV3IERlY2FmUmVxdWVzdEhhbmRsZXJJbnRlcmNlcHRvcihleGVjdXRvcikpO1xuICpcbiAqIC8vIE9yIGluIGEgbW9kdWxlOlxuICogQE1vZHVsZSh7XG4gKiAgIHByb3ZpZGVyczogW1xuICogICAgIERlY2FmSGFuZGxlckV4ZWN1dG9yLFxuICogICAgIHtcbiAqICAgICAgIHByb3ZpZGU6IEFQUF9JTlRFUkNFUFRPUixcbiAqICAgICAgIHVzZUNsYXNzOiBEZWNhZlJlcXVlc3RIYW5kbGVySW50ZXJjZXB0b3IsXG4gKiAgICAgfSxcbiAqICAgXSxcbiAqIH0pXG4gKiBleHBvcnQgY2xhc3MgQXBwTW9kdWxlIHt9XG4gKiBgYGBcbiAqXG4gKiBAbWVybWFpZFxuICogc2VxdWVuY2VEaWFncmFtXG4gKiAgICAgcGFydGljaXBhbnQgQ2xpZW50XG4gKiAgICAgcGFydGljaXBhbnQgSW50ZXJjZXB0b3JcbiAqICAgICBwYXJ0aWNpcGFudCBFeGVjdXRvclxuICogICAgIHBhcnRpY2lwYW50IENvbnRyb2xsZXJcbiAqXG4gKiAgICAgQ2xpZW50LT4+SW50ZXJjZXB0b3I6IEhUVFAgUmVxdWVzdFxuICogICAgIEludGVyY2VwdG9yLT4+RXhlY3V0b3I6IGV4ZWMocmVxdWVzdClcbiAqICAgICBFeGVjdXRvci0tPj5JbnRlcmNlcHRvcjogaGFuZGxlcnMgY29tcGxldGVkXG4gKiAgICAgSW50ZXJjZXB0b3ItPj5Db250cm9sbGVyOiBuZXh0LmhhbmRsZSgpXG4gKiAgICAgQ29udHJvbGxlci0tPj5DbGllbnQ6IFJlc3BvbnNlXG4gKi9cbkBJbmplY3RhYmxlKHsgc2NvcGU6IFNjb3BlLlJFUVVFU1QgfSlcbmV4cG9ydCBjbGFzcyBEZWNhZlJlcXVlc3RIYW5kbGVySW50ZXJjZXB0b3IgaW1wbGVtZW50cyBOZXN0SW50ZXJjZXB0b3Ige1xuICBjb25zdHJ1Y3RvcihcbiAgICBwcm90ZWN0ZWQgcmVhZG9ubHkgcmVxdWVzdENvbnRleHQ6IERlY2FmUmVxdWVzdENvbnRleHQsXG4gICAgcHJvdGVjdGVkIHJlYWRvbmx5IGV4ZWN1dG9yOiBEZWNhZkhhbmRsZXJFeGVjdXRvclxuICApIHt9XG5cbiAgcHJvdGVjdGVkIGFzeW5jIGNvbnRleHR1YWxpemUocmVxOiBhbnkpOiBQcm9taXNlPHZvaWQ+IHtcbiAgICBjb25zdCBoZWFkZXJzID0gcmVxLmhlYWRlcnM7XG4gICAgY29uc3QgZmxhZ3M6IERlY2FmU2VydmVyRmxhZ3MgPSB7XG4gICAgICBoZWFkZXJzOiBoZWFkZXJzLFxuICAgICAgb3ZlcnJpZGVzOiB7fSxcbiAgICB9IGFzIGFueTtcblxuICAgIGNvbnN0IGlwID0gZXh0cmFjdElwKHJlcSk7XG4gICAgY29uc3QgbG9nZ2VyID0gTG9nZ2luZy5nZXQoKS5mb3IoeyBpcCB9KTtcblxuICAgIHRoaXMucmVxdWVzdENvbnRleHQuYWNjdW11bGF0ZShcbiAgICAgIE9iamVjdC5hc3NpZ24oXG4gICAgICAgIHt9LFxuICAgICAgICBEZWZhdWx0QWRhcHRlckZsYWdzLFxuICAgICAgICB7XG4gICAgICAgICAgbG9nZ2VyLFxuICAgICAgICAgIHRpbWVzdGFtcDogbmV3IERhdGUoKSxcbiAgICAgICAgICBvcGVyYXRpb246IGAke3JlcS5tZXRob2R9ICR7cmVxLnVybH1gLFxuICAgICAgICB9LFxuICAgICAgICBmbGFnc1xuICAgICAgKVxuICAgICk7XG4gIH1cblxuICBhc3luYyBpbnRlcmNlcHQoY29udGV4dDogRXhlY3V0aW9uQ29udGV4dCwgbmV4dDogQ2FsbEhhbmRsZXIpIHtcbiAgICBjb25zdCByZXEgPSBjb250ZXh0LnN3aXRjaFRvSHR0cCgpLmdldFJlcXVlc3QoKTtcbiAgICBjb25zdCByZXMgPSBjb250ZXh0LnN3aXRjaFRvSHR0cCgpLmdldFJlc3BvbnNlKCk7XG4gICAgY29uc3QgbG9nID0gTG9nZ2luZy5mb3IoRGVjYWZSZXF1ZXN0SGFuZGxlckludGVyY2VwdG9yKS5mb3IodGhpcy5pbnRlcmNlcHQpO1xuICAgIGxvZy5kZWJ1ZyhcbiAgICAgIGBDT05URVhUICR7dGhpcy5yZXF1ZXN0Q29udGV4dC51dWlkfSAtIHJlcXVlc3Q6ICR7cmVxLm1ldGhvZH0gJHtyZXEudXJsfWBcbiAgICApO1xuICAgIGF3YWl0IHRoaXMuY29udGV4dHVhbGl6ZShyZXEpO1xuICAgIGxvZy5kZWJ1ZyhcbiAgICAgIGBDT05URVhUICR7dGhpcy5yZXF1ZXN0Q29udGV4dC51dWlkfSBjb250ZXh0dWFsaXplZCAtIHJlcXVlc3Q6ICR7cmVxLm1ldGhvZH0gJHtyZXEudXJsfWBcbiAgICApO1xuXG4gICAgYXdhaXQgdGhpcy5leGVjdXRvci5leGVjKHJlcSwgcmVzKTtcbiAgICBsb2cuZGVidWcoXG4gICAgICBgQ09OVEVYVCAke3RoaXMucmVxdWVzdENvbnRleHQudXVpZH0gZXhlY3V0b3JzIGZpbmlzaGVkIC0gcmVxdWVzdDogJHtyZXEubWV0aG9kfSAke3JlcS51cmx9YFxuICAgICk7XG4gICAgcmV0dXJuIG5leHQuaGFuZGxlKCk7XG4gIH1cbn1cblxuZnVuY3Rpb24gZXh0cmFjdElwKHJlcTogYW55KTogc3RyaW5nIHwgdW5kZWZpbmVkIHtcbiAgY29uc3QgaGVhZGVycyA9IHJlcS5oZWFkZXJzO1xuICBmdW5jdGlvbiBwYXJzZUlwSGVhZGVyKHZhbHVlPzogc3RyaW5nIHwgc3RyaW5nW10pOiBzdHJpbmcgfCB1bmRlZmluZWQge1xuICAgIGlmICghdmFsdWUpIHJldHVybiB1bmRlZmluZWQ7XG4gICAgY29uc3QgY2FuZGlkYXRlID0gQXJyYXkuaXNBcnJheSh2YWx1ZSkgPyB2YWx1ZVswXSA6IHZhbHVlO1xuICAgIHJldHVybiBjYW5kaWRhdGVcbiAgICAgIC5zcGxpdChcIixcIilcbiAgICAgIC5tYXAoKHNlZ21lbnQpID0+IHNlZ21lbnQudHJpbSgpKVxuICAgICAgLmZpbHRlcihCb29sZWFuKVswXTtcbiAgfVxuICByZXR1cm4gKFxuICAgIHBhcnNlSXBIZWFkZXIoaGVhZGVycz8uW1wieC1mb3J3YXJkZWQtZm9yXCJdKSA/P1xuICAgIHBhcnNlSXBIZWFkZXIoaGVhZGVycz8uW1wieC1yZWFsLWlwXCJdKSA/P1xuICAgIHBhcnNlSXBIZWFkZXIoaGVhZGVycz8uW1wiWC1Gb3J3YXJkZWQtRm9yXCJdKSA/P1xuICAgIHBhcnNlSXBIZWFkZXIoaGVhZGVycz8uW1wiWC1SZWFsLUlQXCJdKSA/P1xuICAgIHJlcS5pcFxuICApO1xufVxuIl19
@@ -1,4 +1,3 @@
1
1
  export * from "./DecafRequestHandlerInterceptor.js";
2
- export * from "./AuthInterceptor.js";
3
- export * from "./context.js";
4
- //# sourceMappingURL=index.js.map
2
+ export * from "./../auth/AuthInterceptor.js";
3
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaW5kZXguanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi9zcmMvaW50ZXJjZXB0b3JzL2luZGV4LnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLG9EQUFpRDtBQUNqRCw2Q0FBd0MiLCJzb3VyY2VzQ29udGVudCI6WyJleHBvcnQgKiBmcm9tIFwiLi9EZWNhZlJlcXVlc3RIYW5kbGVySW50ZXJjZXB0b3JcIjtcbmV4cG9ydCAqIGZyb20gXCIuLi9hdXRoL0F1dGhJbnRlcmNlcHRvclwiO1xuIl19
package/lib/esm/module.js CHANGED
@@ -22,6 +22,9 @@ let DecafModule = DecafModule_1 = class DecafModule {
22
22
  flavours.forEach((flavour) => {
23
23
  imports.push(getModuleFor(flavour).forRoot(flavour, {
24
24
  autoServices,
25
+ controllerExposure: options.controllerExposure,
26
+ controllerConfig: options.controllerConfig,
27
+ aggregations: options.aggregations,
25
28
  }));
26
29
  });
27
30
  }
@@ -39,4 +42,4 @@ DecafModule = DecafModule_1 = __decorate([
39
42
  ], DecafModule);
40
43
  export { DecafModule };
41
44
  export async function runMigrations() { }
42
- //# sourceMappingURL=module.js.map
45
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoibW9kdWxlLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vc3JjL21vZHVsZS50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiOzs7Ozs7O0FBQUEsT0FBTyxFQUFtQyxNQUFNLEVBQVEsTUFBTSxnQkFBZ0IsQ0FBQztBQUUvRSxPQUFPLEVBQUUsZUFBZSxFQUFFLHlCQUFzQjtBQUVoRCxPQUFPLEVBQUUsWUFBWSxFQUFFLCtCQUE0QjtBQUNuRCxPQUFPLEVBQUUsaUJBQWlCLEVBQUUsaUNBQXdCO0FBRXBEOztHQUVHO0FBRUksSUFBTSxXQUFXLG1CQUFqQixNQUFNLFdBQVc7SUFDdEIsTUFBTSxDQUFDLEtBQUssQ0FBQyxZQUFZLENBQ3ZCLE9BQTJCO1FBRTNCLE1BQU0sRUFBRSxlQUFlLEVBQUUsWUFBWSxFQUFFLEdBQUcsT0FBTyxDQUFDO1FBRWxELE1BQU0sUUFBUSxHQUNaLE1BQU0sZUFBZSxDQUFDLGVBQWUsQ0FBQyxPQUFPLENBQUMsQ0FBQztRQUNqRCxNQUFNLFFBQVEsR0FBRyxRQUFRLENBQUMsR0FBRyxDQUFDLENBQUMsT0FBTyxFQUFFLEVBQUUsQ0FBQyxPQUFPLENBQUMsT0FBTyxDQUFDLENBQUM7UUFFNUQsTUFBTSxPQUFPLEdBT0csQ0FBQyxlQUFlLENBQUMsT0FBTyxDQUFDLE9BQU8sQ0FBQyxDQUFDLENBQUM7UUFFbkQsSUFBSSxlQUFlLEVBQUUsQ0FBQztZQUNsQixRQUFRLENBQUMsT0FBTyxDQUFDLENBQUMsT0FBTyxFQUFFLEVBQUU7Z0JBQzNCLE9BQU8sQ0FBQyxJQUFJLENBQ1YsWUFBWSxDQUFDLE9BQU8sQ0FBQyxDQUFDLE9BQU8sQ0FBQyxPQUFPLEVBQUU7b0JBQ3JDLFlBQVk7b0JBQ1osa0JBQWtCLEVBQUUsT0FBTyxDQUFDLGtCQUFrQjtvQkFDOUMsZ0JBQWdCLEVBQUUsT0FBTyxDQUFDLGdCQUFnQjtvQkFDMUMsWUFBWSxFQUFFLE9BQU8sQ0FBQyxZQUFZO2lCQUNuQyxDQUFDLENBQ0gsQ0FBQztZQUNKLENBQUMsQ0FBQyxDQUFDO1FBQ0wsQ0FBQztRQUVILElBQUksT0FBTyxDQUFDLGVBQWUsRUFBRSxvQkFBb0IsRUFBRSxDQUFDO1lBQ2xELE9BQU8sQ0FBQyxJQUFJLENBQ1YsaUJBQWlCLENBQUMsV0FBVyxDQUMzQixPQUFPLENBQUMsZUFBZSxDQUFDLGdCQUFnQixJQUFJLFFBQVEsQ0FDckQsQ0FDRixDQUFDO1FBQ0osQ0FBQztRQUVELE9BQU87WUFDTCxNQUFNLEVBQUUsYUFBVztZQUNuQixPQUFPLEVBQUUsT0FBTztTQUNqQixDQUFDO0lBQ0osQ0FBQztDQUNGLENBQUE7QUE3Q1ksV0FBVztJQUR2QixNQUFNLENBQUMsRUFBRSxDQUFDO0dBQ0UsV0FBVyxDQTZDdkI7O0FBRUQsTUFBTSxDQUFDLEtBQUssVUFBVSxhQUFhLEtBQW1CLENBQUMiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBEeW5hbWljTW9kdWxlLCBGb3J3YXJkUmVmZXJlbmNlLCBNb2R1bGUsIFR5cGUgfSBmcm9tIFwiQG5lc3Rqcy9jb21tb25cIjtcbmltcG9ydCB7IERlY2FmTW9kdWxlT3B0aW9ucyB9IGZyb20gXCIuL3R5cGVzXCI7XG5pbXBvcnQgeyBEZWNhZkNvcmVNb2R1bGUgfSBmcm9tIFwiLi9jb3JlLW1vZHVsZVwiO1xuaW1wb3J0IHsgQWRhcHRlciB9IGZyb20gXCJAZGVjYWYtdHMvY29yZVwiO1xuaW1wb3J0IHsgZ2V0TW9kdWxlRm9yIH0gZnJvbSBcIi4vZGVjYWYtbW9kZWwvaW5kZXhcIjtcbmltcG9ydCB7IERlY2FmU3RyZWFtTW9kdWxlIH0gZnJvbSBcIi4vZXZlbnRzLW1vZHVsZVwiO1xuXG4vKipcbiAqIEBwdWJsaWNBcGlcbiAqL1xuQE1vZHVsZSh7fSlcbmV4cG9ydCBjbGFzcyBEZWNhZk1vZHVsZSB7XG4gIHN0YXRpYyBhc3luYyBmb3JSb290QXN5bmMoXG4gICAgb3B0aW9uczogRGVjYWZNb2R1bGVPcHRpb25zXG4gICk6IFByb21pc2U8RHluYW1pY01vZHVsZT4ge1xuICAgIGNvbnN0IHsgYXV0b0NvbnRyb2xsZXJzLCBhdXRvU2VydmljZXMgfSA9IG9wdGlvbnM7XG5cbiAgICBjb25zdCBhZGFwdGVyczogQWRhcHRlcjxhbnksIGFueSwgYW55LCBhbnk+W10gPVxuICAgICAgYXdhaXQgRGVjYWZDb3JlTW9kdWxlLmJvb3RQZXJzaXN0ZW5jZShvcHRpb25zKTtcbiAgICBjb25zdCBmbGF2b3VycyA9IGFkYXB0ZXJzLm1hcCgoYWRhcHRlcikgPT4gYWRhcHRlci5mbGF2b3VyKTtcblxuICAgIGNvbnN0IGltcG9ydHM6XG4gICAgICB8IChcbiAgICAgICAgICB8IER5bmFtaWNNb2R1bGVcbiAgICAgICAgICB8IFR5cGU8YW55PlxuICAgICAgICAgIHwgUHJvbWlzZTxEeW5hbWljTW9kdWxlPlxuICAgICAgICAgIHwgRm9yd2FyZFJlZmVyZW5jZTxhbnk+XG4gICAgICAgIClbXVxuICAgICAgfCB1bmRlZmluZWQgPSBbRGVjYWZDb3JlTW9kdWxlLmZvclJvb3Qob3B0aW9ucyldO1xuXG4gICAgaWYgKGF1dG9Db250cm9sbGVycykge1xuICAgICAgICBmbGF2b3Vycy5mb3JFYWNoKChmbGF2b3VyKSA9PiB7XG4gICAgICAgICAgaW1wb3J0cy5wdXNoKFxuICAgICAgICAgICAgZ2V0TW9kdWxlRm9yKGZsYXZvdXIpLmZvclJvb3QoZmxhdm91ciwge1xuICAgICAgICAgICAgICBhdXRvU2VydmljZXMsXG4gICAgICAgICAgICAgIGNvbnRyb2xsZXJFeHBvc3VyZTogb3B0aW9ucy5jb250cm9sbGVyRXhwb3N1cmUsXG4gICAgICAgICAgICAgIGNvbnRyb2xsZXJDb25maWc6IG9wdGlvbnMuY29udHJvbGxlckNvbmZpZyxcbiAgICAgICAgICAgICAgYWdncmVnYXRpb25zOiBvcHRpb25zLmFnZ3JlZ2F0aW9ucyxcbiAgICAgICAgICAgIH0pXG4gICAgICAgICAgKTtcbiAgICAgICAgfSk7XG4gICAgICB9XG5cbiAgICBpZiAob3B0aW9ucy5vYnNlcnZlck9wdGlvbnM/LmVuYWJsZU9ic2VydmVyRXZlbnRzKSB7XG4gICAgICBpbXBvcnRzLnB1c2goXG4gICAgICAgIERlY2FmU3RyZWFtTW9kdWxlLmZvckZsYXZvdXJzKFxuICAgICAgICAgIG9wdGlvbnMub2JzZXJ2ZXJPcHRpb25zLm9ic2VydmVyRmxhdm91cnMgfHwgZmxhdm91cnNcbiAgICAgICAgKVxuICAgICAgKTtcbiAgICB9XG5cbiAgICByZXR1cm4ge1xuICAgICAgbW9kdWxlOiBEZWNhZk1vZHVsZSxcbiAgICAgIGltcG9ydHM6IGltcG9ydHMsXG4gICAgfTtcbiAgfVxufVxuXG5leHBvcnQgYXN5bmMgZnVuY3Rpb24gcnVuTWlncmF0aW9ucygpOiBQcm9taXNlPHZvaWQ+IHt9XG4iXX0=
@@ -1,2 +1,2 @@
1
1
  import "@decaf-ts/core";
2
- //# sourceMappingURL=Adapter.js.map
2
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiQWRhcHRlci5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uL3NyYy9vdmVycmlkZXMvQWRhcHRlci50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLGdCQUFnQixDQUFDIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IFwiQGRlY2FmLXRzL2NvcmVcIjtcbmltcG9ydCB0eXBlIHsgQ29uc3RydWN0b3IgfSBmcm9tIFwiQGRlY2FmLXRzL2RlY29yYXRpb25cIjtcbmltcG9ydCB7IFJlcXVlc3RUb0NvbnRleHRUcmFuc2Zvcm1lciB9IGZyb20gXCJAZGVjYWYtdHMvZm9yLWh0dHAvc2VydmVyXCI7XG5pbXBvcnQgeyBDb250ZXh0T2YgfSBmcm9tIFwiQGRlY2FmLXRzL2NvcmVcIjtcblxuZGVjbGFyZSBtb2R1bGUgXCJAZGVjYWYtdHMvY29yZVwiIHtcbiAgLy8gZXNsaW50LWRpc2FibGUtbmV4dC1saW5lIEB0eXBlc2NyaXB0LWVzbGludC9uby1uYW1lc3BhY2VcbiAgZXhwb3J0IG5hbWVzcGFjZSBBZGFwdGVyIHtcbiAgICBmdW5jdGlvbiB0cmFuc2Zvcm1lckZvcjxBIGV4dGVuZHMgQWRhcHRlcjxhbnksIGFueSwgYW55LCBhbnk+PihcbiAgICAgIGFkYXB0ZXI6IEEgfCBzdHJpbmdcbiAgICApOlxuICAgICAgfCBDb25zdHJ1Y3RvcjxSZXF1ZXN0VG9Db250ZXh0VHJhbnNmb3JtZXI8Q29udGV4dE9mPEE+Pj5cbiAgICAgIHwgUmVxdWVzdFRvQ29udGV4dFRyYW5zZm9ybWVyPENvbnRleHRPZjxBPj47XG5cbiAgICBmdW5jdGlvbiBmbGF2b3Vyc1RvVHJhbnNmb3JtKCk6IHN0cmluZ1tdIHwgdW5kZWZpbmVkO1xuICB9XG4gIGV4cG9ydCBpbnRlcmZhY2UgQ29udGV4dCB7XG4gICAgdG9SZXNwb25zZTxSRVMgPSBhbnk+KHJlczogUkVTKTogUkVTO1xuICB9XG59XG4iXX0=
@@ -31,4 +31,4 @@ if (!prototype.__hasClassDecoratorSupport) {
31
31
  };
32
32
  prototype.__hasClassDecoratorSupport = true;
33
33
  }
34
- //# sourceMappingURL=ModelBuilderExtensions.js.map
34
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiTW9kZWxCdWlsZGVyRXh0ZW5zaW9ucy5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uL3NyYy9vdmVycmlkZXMvTW9kZWxCdWlsZGVyRXh0ZW5zaW9ucy50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLGdDQUFnQyxDQUFDO0FBRXhDLE9BQU8sRUFBRSxZQUFZLEVBQUUsTUFBTSxnQ0FBZ0MsQ0FBQztBQUM5RCxPQUFPLEVBQUUsSUFBSSxFQUFFLGtEQUE2QztBQVM1RCxNQUFNLFNBQVMsR0FBRyxZQUFZLENBQUMsU0FFOUIsQ0FBQztBQUVGLElBQUksQ0FBQyxTQUFTLENBQUMsYUFBYSxFQUFFLENBQUM7SUFDN0IsU0FBUyxDQUFDLGFBQWEsR0FBRyxVQUFVLFNBQXlCO1FBQzNELElBQUksQ0FBRSxJQUFZLENBQUMsZ0JBQWdCLEVBQUUsQ0FBQztZQUNuQyxJQUFZLENBQUMsZ0JBQWdCLEdBQUcsRUFBRSxDQUFDO1FBQ3RDLENBQUM7UUFDQSxJQUFZLENBQUMsZ0JBQWdCLENBQUMsSUFBSSxDQUFDLFNBQVMsQ0FBQyxDQUFDO1FBQy9DLE9BQU8sSUFBSSxDQUFDO0lBQ2QsQ0FBQyxDQUFDO0FBQ0osQ0FBQztBQUVELFNBQVMsQ0FBQyxJQUFJLEdBQUcsVUFBVSxLQUEyQjtJQUNwRCxPQUFPLElBQUksQ0FBQyxhQUFhLENBQUMsSUFBSSxDQUFDLEtBQUssQ0FBQyxDQUFDLENBQUM7QUFDekMsQ0FBQyxDQUFDO0FBRUYsSUFBSSxDQUFFLFNBQWlCLENBQUMsMEJBQTBCLEVBQUUsQ0FBQztJQUNuRCxNQUFNLGFBQWEsR0FBRyxTQUFTLENBQUMsS0FBSyxDQUFDO0lBQ3RDLFNBQVMsQ0FBQyxLQUFLLEdBQUc7UUFDaEIsSUFBSSxNQUFNLEdBQUcsYUFBYSxDQUFDLElBQUksQ0FBQyxJQUFJLENBQUMsQ0FBQztRQUN0QyxNQUFNLFVBQVUsR0FBSSxJQUFZLENBQUMsZ0JBQWdCLENBQUM7UUFDbEQsSUFBSSxVQUFVLEVBQUUsTUFBTSxFQUFFLENBQUM7WUFDdkIsS0FBSyxNQUFNLFNBQVMsSUFBSSxVQUFVLEVBQUUsQ0FBQztnQkFDbkMsTUFBTSxTQUFTLEdBQUcsU0FBUyxDQUFDLE1BQWEsQ0FBeUIsQ0FBQztnQkFDbkUsSUFBSSxTQUFTLEVBQUUsQ0FBQztvQkFDZCxNQUFNLEdBQUcsU0FBUyxDQUFDO2dCQUNyQixDQUFDO1lBQ0gsQ0FBQztRQUNILENBQUM7UUFDRCxPQUFPLE1BQU0sQ0FBQztJQUNoQixDQUFDLENBQUM7SUFDRCxTQUFpQixDQUFDLDBCQUEwQixHQUFHLElBQUksQ0FBQztBQUN2RCxDQUFDIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IFwiQGRlY2FmLXRzL2RlY29yYXRvci12YWxpZGF0aW9uXCI7XG5pbXBvcnQgeyBDb25zdHJ1Y3RvciB9IGZyb20gXCJAZGVjYWYtdHMvZGVjb3JhdGlvblwiO1xuaW1wb3J0IHsgTW9kZWxCdWlsZGVyIH0gZnJvbSBcIkBkZWNhZi10cy9kZWNvcmF0b3ItdmFsaWRhdGlvblwiO1xuaW1wb3J0IHsgQXV0aCB9IGZyb20gXCIuLi9kZWNhZi1tb2RlbC9kZWNvcmF0b3JzL2RlY29yYXRvcnNcIjtcblxuZGVjbGFyZSBtb2R1bGUgXCJAZGVjYWYtdHMvZGVjb3JhdG9yLXZhbGlkYXRpb25cIiB7XG4gIGV4cG9ydCBpbnRlcmZhY2UgTW9kZWxCdWlsZGVyPE0+IHtcbiAgICBBdXRoKG1vZGVsOiBzdHJpbmcgfCBDb25zdHJ1Y3Rvcik6IE1vZGVsQnVpbGRlcjxNPjtcbiAgICBkZWNvcmF0ZUNsYXNzKGRlY29yYXRvcjogQ2xhc3NEZWNvcmF0b3IpOiBNb2RlbEJ1aWxkZXI8TT47XG4gIH1cbn1cblxuY29uc3QgcHJvdG90eXBlID0gTW9kZWxCdWlsZGVyLnByb3RvdHlwZSBhcyBNb2RlbEJ1aWxkZXI8YW55PiAmIHtcbiAgQXV0aDogKG1vZGVsOiBzdHJpbmcgfCBDb25zdHJ1Y3RvcikgPT4gTW9kZWxCdWlsZGVyPGFueT47XG59O1xuXG5pZiAoIXByb3RvdHlwZS5kZWNvcmF0ZUNsYXNzKSB7XG4gIHByb3RvdHlwZS5kZWNvcmF0ZUNsYXNzID0gZnVuY3Rpb24gKGRlY29yYXRvcjogQ2xhc3NEZWNvcmF0b3IpIHtcbiAgICBpZiAoISh0aGlzIGFzIGFueSkuX2NsYXNzRGVjb3JhdG9ycykge1xuICAgICAgKHRoaXMgYXMgYW55KS5fY2xhc3NEZWNvcmF0b3JzID0gW107XG4gICAgfVxuICAgICh0aGlzIGFzIGFueSkuX2NsYXNzRGVjb3JhdG9ycy5wdXNoKGRlY29yYXRvcik7XG4gICAgcmV0dXJuIHRoaXM7XG4gIH07XG59XG5cbnByb3RvdHlwZS5BdXRoID0gZnVuY3Rpb24gKG1vZGVsOiBzdHJpbmcgfCBDb25zdHJ1Y3Rvcikge1xuICByZXR1cm4gdGhpcy5kZWNvcmF0ZUNsYXNzKEF1dGgobW9kZWwpKTtcbn07XG5cbmlmICghKHByb3RvdHlwZSBhcyBhbnkpLl9faGFzQ2xhc3NEZWNvcmF0b3JTdXBwb3J0KSB7XG4gIGNvbnN0IG9yaWdpbmFsQnVpbGQgPSBwcm90b3R5cGUuYnVpbGQ7XG4gIHByb3RvdHlwZS5idWlsZCA9IGZ1bmN0aW9uICgpIHtcbiAgICBsZXQgcmVzdWx0ID0gb3JpZ2luYWxCdWlsZC5jYWxsKHRoaXMpO1xuICAgIGNvbnN0IGRlY29yYXRvcnMgPSAodGhpcyBhcyBhbnkpLl9jbGFzc0RlY29yYXRvcnM7XG4gICAgaWYgKGRlY29yYXRvcnM/Lmxlbmd0aCkge1xuICAgICAgZm9yIChjb25zdCBkZWNvcmF0b3Igb2YgZGVjb3JhdG9ycykge1xuICAgICAgICBjb25zdCBkZWNvcmF0ZWQgPSBkZWNvcmF0b3IocmVzdWx0IGFzIGFueSkgYXMgdHlwZW9mIHJlc3VsdCB8IHZvaWQ7XG4gICAgICAgIGlmIChkZWNvcmF0ZWQpIHtcbiAgICAgICAgICByZXN1bHQgPSBkZWNvcmF0ZWQ7XG4gICAgICAgIH1cbiAgICAgIH1cbiAgICB9XG4gICAgcmV0dXJuIHJlc3VsdDtcbiAgfTtcbiAgKHByb3RvdHlwZSBhcyBhbnkpLl9faGFzQ2xhc3NEZWNvcmF0b3JTdXBwb3J0ID0gdHJ1ZTtcbn1cbiJdfQ==
@@ -19,4 +19,4 @@ export const DECORATORS = {
19
19
  API_DEFAULT_GETTER: `${DECORATORS_PREFIX}/apiDefaultGetter`,
20
20
  API_LINK: `${DECORATORS_PREFIX}/apiLink`,
21
21
  };
22
- //# sourceMappingURL=constants.js.map
22
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiY29uc3RhbnRzLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vc3JjL292ZXJyaWRlcy9jb25zdGFudHMudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsTUFBTSxDQUFDLE1BQU0saUJBQWlCLEdBQUcsU0FBUyxDQUFDO0FBQzNDLE1BQU0sQ0FBQyxNQUFNLFVBQVUsR0FBRztJQUN4QixhQUFhLEVBQUUsR0FBRyxpQkFBaUIsZUFBZTtJQUNsRCxZQUFZLEVBQUUsR0FBRyxpQkFBaUIsY0FBYztJQUNoRCxZQUFZLEVBQUUsR0FBRyxpQkFBaUIsY0FBYztJQUNoRCxZQUFZLEVBQUUsR0FBRyxpQkFBaUIsY0FBYztJQUNoRCxRQUFRLEVBQUUsR0FBRyxpQkFBaUIsYUFBYTtJQUMzQyxhQUFhLEVBQUUsR0FBRyxpQkFBaUIsZUFBZTtJQUNsRCxjQUFjLEVBQUUsR0FBRyxpQkFBaUIsZ0JBQWdCO0lBQ3BELFdBQVcsRUFBRSxHQUFHLGlCQUFpQixhQUFhO0lBQzlDLG9CQUFvQixFQUFFLEdBQUcsaUJBQWlCLHFCQUFxQjtJQUMvRCwwQkFBMEIsRUFBRSxHQUFHLGlCQUFpQiwwQkFBMEI7SUFDMUUsWUFBWSxFQUFFLEdBQUcsaUJBQWlCLGNBQWM7SUFDaEQsb0JBQW9CLEVBQUUsR0FBRyxpQkFBaUIscUJBQXFCO0lBQy9ELHNCQUFzQixFQUFFLEdBQUcsaUJBQWlCLHVCQUF1QjtJQUNuRSxnQkFBZ0IsRUFBRSxHQUFHLGlCQUFpQixpQkFBaUI7SUFDdkQsYUFBYSxFQUFFLEdBQUcsaUJBQWlCLGVBQWU7SUFDbEQsVUFBVSxFQUFFLEdBQUcsaUJBQWlCLFlBQVk7SUFDNUMsa0JBQWtCLEVBQUUsR0FBRyxpQkFBaUIsbUJBQW1CO0lBQzNELFFBQVEsRUFBRSxHQUFHLGlCQUFpQixVQUFVO0NBQ3pDLENBQUMiLCJzb3VyY2VzQ29udGVudCI6WyJleHBvcnQgY29uc3QgREVDT1JBVE9SU19QUkVGSVggPSBcInN3YWdnZXJcIjtcbmV4cG9ydCBjb25zdCBERUNPUkFUT1JTID0ge1xuICBBUElfT1BFUkFUSU9OOiBgJHtERUNPUkFUT1JTX1BSRUZJWH0vYXBpT3BlcmF0aW9uYCxcbiAgQVBJX1JFU1BPTlNFOiBgJHtERUNPUkFUT1JTX1BSRUZJWH0vYXBpUmVzcG9uc2VgLFxuICBBUElfUFJPRFVDRVM6IGAke0RFQ09SQVRPUlNfUFJFRklYfS9hcGlQcm9kdWNlc2AsXG4gIEFQSV9DT05TVU1FUzogYCR7REVDT1JBVE9SU19QUkVGSVh9L2FwaUNvbnN1bWVzYCxcbiAgQVBJX1RBR1M6IGAke0RFQ09SQVRPUlNfUFJFRklYfS9hcGlVc2VUYWdzYCxcbiAgQVBJX0NBTExCQUNLUzogYCR7REVDT1JBVE9SU19QUkVGSVh9L2FwaUNhbGxiYWNrc2AsXG4gIEFQSV9QQVJBTUVURVJTOiBgJHtERUNPUkFUT1JTX1BSRUZJWH0vYXBpUGFyYW1ldGVyc2AsXG4gIEFQSV9IRUFERVJTOiBgJHtERUNPUkFUT1JTX1BSRUZJWH0vYXBpSGVhZGVyc2AsXG4gIEFQSV9NT0RFTF9QUk9QRVJUSUVTOiBgJHtERUNPUkFUT1JTX1BSRUZJWH0vYXBpTW9kZWxQcm9wZXJ0aWVzYCxcbiAgQVBJX01PREVMX1BST1BFUlRJRVNfQVJSQVk6IGAke0RFQ09SQVRPUlNfUFJFRklYfS9hcGlNb2RlbFByb3BlcnRpZXNBcnJheWAsXG4gIEFQSV9TRUNVUklUWTogYCR7REVDT1JBVE9SU19QUkVGSVh9L2FwaVNlY3VyaXR5YCxcbiAgQVBJX0VYQ0xVREVfRU5EUE9JTlQ6IGAke0RFQ09SQVRPUlNfUFJFRklYfS9hcGlFeGNsdWRlRW5kcG9pbnRgLFxuICBBUElfRVhDTFVERV9DT05UUk9MTEVSOiBgJHtERUNPUkFUT1JTX1BSRUZJWH0vYXBpRXhjbHVkZUNvbnRyb2xsZXJgLFxuICBBUElfRVhUUkFfTU9ERUxTOiBgJHtERUNPUkFUT1JTX1BSRUZJWH0vYXBpRXh0cmFNb2RlbHNgLFxuICBBUElfRVhURU5TSU9OOiBgJHtERUNPUkFUT1JTX1BSRUZJWH0vYXBpRXh0ZW5zaW9uYCxcbiAgQVBJX1NDSEVNQTogYCR7REVDT1JBVE9SU19QUkVGSVh9L2FwaVNjaGVtYWAsXG4gIEFQSV9ERUZBVUxUX0dFVFRFUjogYCR7REVDT1JBVE9SU19QUkVGSVh9L2FwaURlZmF1bHRHZXR0ZXJgLFxuICBBUElfTElOSzogYCR7REVDT1JBVE9SU19QUkVGSVh9L2FwaUxpbmtgLFxufTtcbiJdfQ==
@@ -109,4 +109,4 @@ export function createApiPropertyDecorator(options = {}, overrideExisting = true
109
109
  }
110
110
  return createPropertyDecorator(DECORATORS.API_MODEL_PROPERTIES, options, overrideExisting);
111
111
  }
112
- //# sourceMappingURL=decoration.js.map
112
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZGVjb3JhdGlvbi5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uL3NyYy9vdmVycmlkZXMvZGVjb3JhdGlvbi50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFDQSxPQUFPLEVBQUUsUUFBUSxFQUFFLE1BQU0sRUFBRSxNQUFNLEVBQUUsTUFBTSxRQUFRLENBQUM7QUFDbEQsT0FBTyxFQUFFLFVBQVUsRUFBRSx1QkFBb0I7QUFDekMsT0FBTyxFQUFFLG1CQUFtQixFQUFFLHFCQUFxQixFQUFFLHFCQUFrQjtBQVF2RSxNQUFNLENBQUMsTUFBTSxXQUFXLEdBQUcsQ0FBQyxHQUFRLEVBQW9CLEVBQUUsQ0FDeEQsT0FBTyxHQUFHLEtBQUssV0FBVyxDQUFDO0FBRTdCLE1BQU0sVUFBVSxhQUFhLENBQzNCLFFBQW1EO0lBRW5ELElBQUksT0FBTyxRQUFRLEtBQUssVUFBVSxFQUFFLENBQUM7UUFDbkMsT0FBTyxhQUFhLENBQUMsUUFBUSxFQUFFLENBQUMsQ0FBQztJQUNuQyxDQUFDO0lBRUQsSUFBSSxLQUFLLENBQUMsT0FBTyxDQUFDLFFBQVEsQ0FBQyxFQUFFLENBQUM7UUFDNUIsT0FBTyxRQUFvQixDQUFDO0lBQzlCLENBQUM7SUFDRCxJQUFJLE9BQU8sUUFBUSxLQUFLLFFBQVEsRUFBRSxDQUFDO1FBQ2pDLE9BQU8sRUFBRSxDQUFDO0lBQ1osQ0FBQztJQUNELDRCQUE0QjtJQUM1QixnQkFBZ0I7SUFDaEIsaUJBQWlCO0lBQ2pCLGNBQWM7SUFDZCxNQUFNO0lBQ04sOENBQThDO0lBQzlDLG1CQUFtQjtJQUNuQixvQkFBb0I7SUFDcEIsa0JBQWtCO0lBQ2xCLGtCQUFrQjtJQUNsQixnQkFBZ0I7SUFDaEIsTUFBTTtJQUNOLE1BQU0sYUFBYSxHQUFHLE1BQU0sQ0FBQyxNQUFNLENBQUMsUUFBUSxDQUFDO1NBQzFDLE1BQU0sQ0FBQyxDQUFDLEtBQUssRUFBRSxFQUFFLENBQUMsT0FBTyxLQUFLLEtBQUssUUFBUSxDQUFDO1NBQzVDLEdB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LENBQUM7UUFDdkIsT0FBTyxDQUFDLEtBQUssR0FBRztZQUNkLElBQUksRUFBRSxPQUFPO1lBQ2IsS0FBSyxFQUFFO2dCQUNMLElBQUksRUFBRSxPQUFPLENBQUMsSUFBSSxDQUFDLENBQUMsQ0FBQzthQUN0QjtTQUNGLENBQUM7SUFDSixDQUFDO0lBRUQsT0FBTyx1QkFBdUIsQ0FDNUIsVUFBVSxDQUFDLG9CQUFvQixFQUMvQixPQUFPLEVBQ1AsZ0JBQWdCLENBQ2pCLENBQUM7QUFDSixDQUFDIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgVHlwZSB9IGZyb20gXCJAbmVzdGpzL2NvbW1vblwiO1xuaW1wb3J0IHsgaXNTdHJpbmcsIG5lZ2F0ZSwgcGlja0J5IH0gZnJvbSBcImxvZGFzaFwiO1xuaW1wb3J0IHsgREVDT1JBVE9SUyB9IGZyb20gXCIuL2NvbnN0YW50c1wiO1xuaW1wb3J0IHsgZ2V0VHlwZUlzQXJyYXlUdXBsZSwgTUVUQURBVEFfRkFDVE9SWV9OQU1FIH0gZnJvbSBcIi4vaGVscGVyc1wiO1xuaW1wb3J0IHR5cGUge1xuICBFbnVtQWxsb3dlZFR5cGVzLFxuICBFbnVtU2NoZW1hQXR0cmlidXRlcyxcbiAgU2NoZW1hT2JqZWN0TWV0YWRhdGEsXG4gIFN3YWdnZXJFbnVtVHlwZSxcbn0gZnJvbSBcIi4uL3N3YWdnZXItdHlwZXNcIjtcblxuZXhwb3J0IGNvbnN0IGlzVW5kZWZpbmVkID0gKG9iajogYW55KTogb2JqIGlzIHVuZGVmaW5lZCA9PlxuICB0eXBlb2Ygb2JqID09PSBcInVuZGVmaW5lZFwiO1xuXG5leHBvcnQgZnVuY3Rpb24gZ2V0RW51bVZhbHVlcyhcbiAgZW51bVR5cGU6IFN3YWdnZXJFbnVtVHlwZSB8ICgoKSA9PiBTd2FnZ2VyRW51bVR5cGUpXG4pOiBzdHJpbmdbXSB8IG51bWJlcltdIHtcbiAgaWYgKHR5cGVvZiBlbnVtVHlwZSA9PT0gXCJmdW5jdGlvblwiKSB7XG4gICAgcmV0dXJuIGdldEVudW1WYWx1ZXMoZW51bVR5cGUoKSk7XG4gIH1cblxuICBpZiAoQXJyYXkuaXNBcnJheShlbnVtVHlwZSkpIHtcbiAgICByZXR1cm4gZW51bVR5cGUgYXMgc3RyaW5nW107XG4gIH1cbiAgaWYgKHR5cGVvZiBlbnVtVHlwZSAhPT0gXCJvYmplY3RcIikge1xuICAgIHJldHVybiBbXTtcbiAgfVxuICAvLyBFbnVtcyB3aXRoIG51bWVyaWMgdmFsdWVzXG4gIC8vICAgZW51bSBTaXplIHtcbiAgLy8gICAgIFNNQUxMID0gMSxcbiAgLy8gICAgIEJJRyA9IDJcbiAgLy8gICB9XG4gIC8vIGFyZSB0cmFuc3BpbGVkIHRvIGluY2x1ZGUgYSByZXZlcnNlIG1hcHBpbmdcbiAgLy8gICBjb25zdCBTaXplID0ge1xuICAvLyAgICAgXCIxXCI6IFwiU01BTExcIixcbiAgLy8gICAgIFwiMlwiOiBcIkJJR1wiLFxuICAvLyAgICAgXCJTTUFMTFwiOiAxLFxuICAvLyAgICAgXCJCSUdcIjogMixcbiAgLy8gICB9XG4gIGNvbnN0IG51bWVyaWNWYWx1ZXMgPSBPYmplY3QudmFsdWVzKGVudW1UeXBlKVxuICAgIC5maWx0ZXIoKHZhbHVlKSA9PiB0eXBlb2YgdmFsdWUgPT09IFwibnVtYmVyXCIpXG4gICAgLm1hcCgodmFsdWU6IGFueSkgPT4gdmFsdWUudG9TdHJpbmcoKSk7XG5cbiAgcmV0dXJuIE9iamVjdC5rZXlzKGVudW1UeXBlKVxuICAgIC5maWx0ZXIoKGtleSkgPT4gIW51bWVyaWNWYWx1ZXMuaW5jbHVkZXMoa2V5KSlcbiAgICAubWFwKChrZXkpID0+IGVudW1UeXBlW2tleSBhcyBhbnldKTtcbn1cblxuZXhwb3J0IGZ1bmN0aW9uIGdldEVudW1UeXBlKHZhbHVlczogKHN0cmluZyB8IG51bWJlcilbXSk6IFwic3RyaW5nXCIgfCBcIm51bWJlclwiIHtcbiAgY29uc3QgaGFzU3RyaW5nID0gdmFsdWVzLmZpbHRlcihpc1N0cmluZykubGVuZ3RoID4gMDtcbiAgcmV0dXJuIGhhc1N0cmluZyA/IFwic3RyaW5nXCIgOiBcIm51bWJlclwiO1xufVxuXG5leHBvcnQgZnVuY3Rpb24gY3JlYXRlUHJvcGVydHlEZWNvcmF0b3I8VCBleHRlbmRzIFJlY29yZDxzdHJpbmcsIGFueT4gPSBhbnk+KFxuICBtZXRha2V5OiBzdHJpbmcsXG4gIG1ldGFkYXRhOiBULFxuICBvdmVycmlkZUV4aXN0aW5nID0gdHJ1ZVxuKTogUHJvcGVydHlEZWNvcmF0b3Ige1xuICByZXR1cm4gKCh0YXJnZXQ6IG9iamVjdCwgcHJvcGVydHlLZXk6IHN0cmluZykgPT4ge1xuICAgIGNvbnN0IHByb3BlcnRpZXMgPVxuICAgICAgUmVmbGVjdC5nZXRNZXRhZGF0YShERUNPUkFUT1JTLkFQSV9NT0RFTF9QUk9QRVJUSUVTX0FSUkFZLCB0YXJnZXQpIHx8IFtdO1xuXG4gICAgY29uc3Qga2V5ID0gYDoke3Byb3BlcnR5S2V5fWA7XG4gICAgaWYgKCFwcm9wZXJ0aWVzLmluY2x1ZGVzKGtleSkpIHtcbiAgICAgIFJlZmxlY3QuZGVmaW5lTWV0YWRhdGEoXG4gICAgICAgIERFQ09SQVRPUlMuQVBJX01PREVMX1BST1BFUlRJRVNfQVJSQVksXG4gICAgICAgIFsuLi5wcm9wZXJ0aWVzLCBgOiR7cHJvcGVydHlLZXl9YF0sXG4gICAgICAgIHRhcmdldFxuICAgICAgKTtcbiAgICB9XG4gICAgY29uc3QgZXhpc3RpbmdNZXRhZGF0YSA9IFJlZmxlY3QuZ2V0TWV0YWRhdGEobWV0YWtleSwgdGFyZ2V0LCBwcm9wZXJ0eUtleSk7XG4gICAgaWYgKGV4aXN0aW5nTWV0YWRhdGEpIHtcbiAgICAgIGNvbnN0IG5ld01ldGFkYXRhID0gcGlja0J5KG1ldGFkYXRhLCBuZWdhdGUoaXNVbmRlZmluZWQpKTtcbiAgICAgIGNvbnN0IG1ldGFkYXRhVG9TYXZlID0gb3ZlcnJpZGVFeGlzdGluZ1xuICAgICAgICA/IHtcbiAgICAgICAgICAgIC4uLmV4aXN0aW5nTWV0YWRhdGEsXG4gICAgICAgICAgICAuLi5uZXdNZXRhZGF0YSxcbiAgICAgICAgICB9XG4gICAgICAgIDoge1xuICAgICAgICAgICAgLi4ubmV3TWV0YWRhdGEsXG4gICAgICAgICAgICAuLi5leGlzdGluZ01ldGFkYXRhLFxuICAgICAgICAgIH07XG5cbiAgICAgIFJlZmxlY3QuZGVmaW5lTWV0YWRhdGEobWV0YWtleSwgbWV0YWRhdGFUb1NhdmUsIHRhcmdldCwgcHJvcGVydHlLZXkpO1xuICAgIH0gZWxzZSB7XG4gICAgICBjb25zdCB0eXBlID1cbiAgICAgICAgLy8gQHRzLWV4cGVjdC1lcnJvciBuZXN0IGpzIGNvZGVcbiAgICAgICAgdGFyZ2V0Py5jb25zdHJ1Y3Rvcj8uW01FVEFEQVRBX0ZBQ1RPUllfTkFNRV0/LigpW3Byb3BlcnR5S2V5XT8udHlwZSA/P1xuICAgICAgICBSZWZsZWN0LmdldE1ldGFkYXRhKFwiZGVzaWduOnR5cGVcIiwgdGFyZ2V0LCBwcm9wZXJ0eUtleSk7XG5cbiAgICAgIFJlZmxlY3QuZGVmaW5lTWV0YWRhdGEoXG4gICAgICAgIG1ldGFrZXksXG4gICAgICAgIHtcbiAgICAgICAgICB0eXBlLFxuICAgICAgICAgIHJlcXVpcmVkOiBmYWxzZSwgLy8gRGVmYXVsdCB0byBvcHRpb25hbCB1bmxlc3MgQHJlcXVpcmVkKCkgaXMgdXNlZFxuICAgICAgICAgIC4uLnBpY2tCeShtZXRhZGF0YSwgbmVnYXRlKGlzVW5kZWZpbmVkKSksXG4gICAgICAgIH0sXG4gICAgICAgIHRhcmdldCxcbiAgICAgICAgcHJvcGVydHlLZXlcbiAgICAgICk7XG4gICAgfVxuICB9KSBhcyBQcm9wZXJ0eURlY29yYXRvcjtcbn1cblxuZXhwb3J0IHR5cGUgQXBpUHJvcGVydHlDb21tb25PcHRpb25zID0gU2NoZW1hT2JqZWN0TWV0YWRhdGEgJiB7XG4gIFwieC1lbnVtTmFtZXNcIj86IHN0cmluZ1tdO1xuICAvKipcbiAgICogTGF6eSBmdW5jdGlvbiByZXR1cm5pbmcgdGhlIHR5cGUgZm9yIHdoaWNoIHRoZSBkZWNvcmF0ZWQgcHJvcGVydHlcbiAgICogY2FuIGJlIHVzZWQgYXMgYW4gaWRcbiAgICpcbiAgICogVXNlIHRvZ2V0aGVyIHdpdGggQEFwaURlZmF1bHRHZXR0ZXIgb24gdGhlIGdldHRlciByb3V0ZSBvZiB0aGUgdHlwZVxuICAgKiB0byBnZW5lcmF0ZSBPcGVuQVBJIGxpbmsgb2JqZWN0c1xuICAgKlxuICAgKiBAc2VlIFtTd2FnZ2VyIGxpbmsgb2JqZWN0c10oaHR0cHM6Ly9zd2FnZ2VyLmlvL2RvY3Mvc3BlY2lmaWNhdGlvbi9saW5rcy8pXG4gICAqL1xuICAvLyBlc2xpbnQtZGlzYWJsZS1uZXh0LWxpbmUgQHR5cGVzY3JpcHQtZXNsaW50L25vLXVuc2FmZS1mdW5jdGlvbi10eXBlXG4gIGxpbms/OiAoKSA9PiBUeXBlPHVua25vd24+IHwgRnVuY3Rpb247XG59O1xuXG5leHBvcnQgdHlwZSBBcGlQcm9wZXJ0eU9wdGlvbnMgPVxuICB8IEFwaVByb3BlcnR5Q29tbW9uT3B0aW9uc1xuICB8IChBcGlQcm9wZXJ0eUNvbW1vbk9wdGlvbnMgJiB7XG4gICAgICBlbnVtTmFtZTogc3RyaW5nO1xuICAgICAgZW51bVNjaGVtYT86IEVudW1TY2hlbWFBdHRyaWJ1dGVzO1xuICAgIH0pO1xuXG5jb25zdCBpc0VudW1BcnJheSA9IChcbiAgb3B0czogQXBpUHJvcGVydHlPcHRpb25zXG4pOiBvcHRzIGlzIHtcbiAgaXNBcnJheTogdHJ1ZTtcbiAgZW51bTogRW51bUFsbG93ZWRUeXBlcztcbiAgdHlwZTogYW55O1xuICBpdGVtczogYW55O1xufSA9PiAob3B0cy5pc0FycmF5ICYmIFwiZW51bVwiIGluIG9wdHMgJiYgb3B0cy5lbnVtICE9PSB1bmRlZmluZWQpIGFzIGJvb2xlYW47XG5cbi8qKlxuICogQHB1YmxpY0FwaVxuICovXG5leHBvcnQgZnVuY3Rpb24gQXBpUHJvcGVydHkoXG4gIG9wdGlvbnM6IEFwaVByb3BlcnR5T3B0aW9ucyA9IHt9XG4pOiBQcm9wZXJ0eURlY29yYXRvciB7XG4gIHJldHVybiBjcmVhdGVBcGlQcm9wZXJ0eURlY29yYXRvcihvcHRpb25zKTtcbn1cblxuZXhwb3J0IGZ1bmN0aW9uIGNyZWF0ZUFwaVByb3BlcnR5RGVjb3JhdG9yKFxuICBvcHRpb25zOiBBcGlQcm9wZXJ0eU9wdGlvbnMgPSB7fSxcbiAgb3ZlcnJpZGVFeGlzdGluZyA9IHRydWVcbik6IFByb3BlcnR5RGVjb3JhdG9yIHtcbiAgY29uc3QgW3R5cGUsIGlzQXJyYXldID0gZ2V0VHlwZUlzQXJyYXlUdXBsZShcbiAgICBvcHRpb25zLnR5cGUsXG4gICAgb3B0aW9ucy5pc0FycmF5IGFzIGFueVxuICApO1xuICBvcHRpb25zID0ge1xuICAgIC4uLm9wdGlvbnMsXG4gICAgdHlwZSxcbiAgICBpc0FycmF5LFxuICB9IGFzIEFwaVByb3BlcnR5T3B0aW9ucztcblxuICBpZiAoaXNFbnVtQXJyYXkob3B0aW9ucykpIHtcbiAgICBvcHRpb25zLnR5cGUgPSBcImFycmF5XCI7XG5cbiAgICBjb25zdCBlbnVtVmFsdWVzID0gZ2V0RW51bVZhbHVlcyhvcHRpb25zLmVudW0pO1xuICAgIG9wdGlvbnMuaXRlbXMgPSB7XG4gICAgICB0eXBlOiBnZXRFbnVtVHlwZShlbnVtVmFsdWVzKSxcbiAgICAgIGVudW06IGVudW1WYWx1ZXMsXG4gICAgfTtcbiAgICAvLyBAdHMtZXhwZWN0LWVycm9yIG5lc3QganMgY29kZVxuICAgIGRlbGV0ZSBvcHRpb25zLmVudW07XG4gIH0gZWxzZSBpZiAoXCJlbnVtXCIgaW4gb3B0aW9ucyAmJiBvcHRpb25zLmVudW0gIT09IHVuZGVmaW5lZCkge1xuICAgIGNvbnN0IGVudW1WYWx1ZXMgPSBnZXRFbnVtVmFsdWVzKG9wdGlvbnMuZW51bSk7XG5cbiAgICBvcHRpb25zLmVudW0gPSBlbnVtVmFsdWVzO1xuICAgIG9wdGlvbnMudHlwZSA9IGdldEVudW1UeXBlKGVudW1WYWx1ZXMpO1xuICB9XG5cbiAgaWYgKEFycmF5LmlzQXJyYXkob3B0aW9ucy50eXBlKSkge1xuICAgIG9wdGlvbnMudHlwZSA9IFwiYXJyYXlcIjtcbiAgICBvcHRpb25zLml0ZW1zID0ge1xuICAgICAgdHlwZTogXCJhcnJheVwiLFxuICAgICAgaXRlbXM6IHtcbiAgICAgICAgdHlwZTogb3B0aW9ucy50eXBlWzBdLFxuICAgICAgfSxcbiAgICB9O1xuICB9XG5cbiAgcmV0dXJuIGNyZWF0ZVByb3BlcnR5RGVjb3JhdG9yKFxuICAgIERFQ09SQVRPUlMuQVBJX01PREVMX1BST1BFUlRJRVMsXG4gICAgb3B0aW9ucyxcbiAgICBvdmVycmlkZUV4aXN0aW5nXG4gICk7XG59XG4iXX0=
@@ -133,4 +133,4 @@ input, isArrayFlag
133
133
  // eslint-disable-next-line @typescript-eslint/no-unsafe-function-type
134
134
  return [type, isInputArray];
135
135
  }
136
- //# sourceMappingURL=helpers.js.map
136
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaGVscGVycy5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uL3NyYy9vdmVycmlkZXMvaGVscGVycy50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQUUsT0FBTyxFQUFFLFdBQVcsRUFBRSxNQUFNLEVBQUUsTUFBTSxFQUFFLE1BQU0sUUFBUSxDQUFDO0FBQzlELE9BQU8sRUFBRSxVQUFVLEVBQUUsdUJBQW9CO0FBRXpDLE1BQU0sQ0FBQyxNQUFNLGFBQWEsR0FBRyxDQUFDLEdBQVEsRUFBVyxFQUFFLENBQUMsR0FBRyxLQUFLLGFBQWEsQ0FBQztBQUMxRSxNQUFNLENBQUMsTUFBTSxxQkFBcUIsR0FBRywyQkFBMkIsQ0FBQztBQUVqRSxNQUFNLENBQUMsTUFBTSxlQUFlLEdBQUcsUUFBUSxDQUFDO0FBRXhDLE1BQU0sVUFBVSxxQkFBcUIsQ0FDbkMsT0FBZSxFQUNmLFFBQVcsRUFDWCxFQUFFLGdCQUFnQixFQUFFLEdBQUcsRUFBRSxnQkFBZ0IsRUFBRSxJQUFJLEVBQUU7SUFFakQsT0FBTyxDQUNMLE1BQWMsRUFDZCxHQUFvQixFQUNwQixVQUE4QixFQUM5QixFQUFFO1FBQ0YsSUFBSSxPQUFPLFFBQVEsS0FBSyxRQUFRLEVBQUUsQ0FBQztZQUNqQyxNQUFNLFNBQVMsR0FBRyxPQUFPLENBQUMsV0FBVyxDQUFDLE9BQU8sRUFBRSxVQUFVLENBQUMsS0FBSyxDQUFDLENBQUM7WUFDakUsSUFBSSxTQUFTLElBQUksQ0FBQyxnQkFBZ0IsRUFBRSxDQUFDO2dCQUNuQyxPQUFPLFVBQVUsQ0FBQztZQUNwQixDQUFDO1lBQ0QsT0FBTyxDQUFDLGNBQWMsQ0FDcEIsT0FBTyxFQUNQLEVBQUUsR0FBRyxTQUFTLEVBQUUsR0FBRyxRQUFRLEVBQUUsRUFDN0IsVUFBVSxDQUFDLEtBQUssQ0FDakIsQ0FBQztZQUNGLE9BQU8sVUFBVSxDQUFDO1FBQ3BCLENBQUM7UUFDRCxPQUFPLENBQUMsY0FBYyxDQUFDLE9BQU8sRUFBRSxR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QixDQUFDLEtBQUssQ0FDdkIsQ0FBQztZQUVGLElBQUksQ0FBQyxXQUFXLEVBQUUsQ0FBQztnQkFDakIsU0FBUztZQUNYLENBQUM7WUFFRCxNQUFNLFVBQVUsR0FDZCxPQUFPLENBQUMsV0FBVyxDQUNqQixVQUFVLENBQUMsY0FBYyxFQUN6QixnQkFBZ0IsQ0FBQyxLQUFLLENBQ3ZCLElBQUksRUFBRSxDQUFDO1lBQ1YsT0FBTyxDQUFDLGNBQWMsQ0FDcEIsVUFBVSxDQUFDLGNBQWMsRUFDekIsQ0FBQyxHQUFHLFVBQVUsRUFBRSxZQUFZLENBQUMsRUFDN0IsZ0JBQWdCLENBQUMsS0FBSyxDQUN2QixDQUFDO1FBQ0osQ0FBQztJQUNILENBQUMsQ0FBQztBQUNKLENBQUM7QUFFRCxNQUFNLFVBQVUsbUJBQW1CO0FBQ2pDLHNFQUFzRTtBQUN0RSxLQUF1RSxFQUN2RSxXQUFvQjtBQUNwQixzRUFBc0U7O0lBRXRFLElBQUksQ0FBQyxLQUFLLEVBQUUsQ0FBQztRQUNYLE9BQU8sQ0FBQyxLQUFrQixFQUFFLFdBQVcsQ0FBQyxDQUFDO0lBQzNDLENBQUM7SUFDRCxJQUFJLFdBQVcsRUFBRSxDQUFDO1FBQ2hCLHNFQUFzRTtRQUN0RSxPQUFPLENBQUMsS0FBaUIsRUFBRSxXQUFXLENBQUMsQ0FBQztJQUMxQyxDQUFDO0lBQ0QsTUFBTSxZQUFZLEdBQUcsT0FBTyxDQUFDLEtBQUssQ0FBQyxDQUFDO0lBQ3BDLE1BQU0sSUFBSSxHQUFHLFlBQVksQ0FBQyxDQUFDLENBQUMsS0FBSyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxLQUFLLENBQUM7SUFDN0Msc0VBQXNFO0lBQ3RFLE9BQU8sQ0FBQyxJQUFnQixFQUFFLFlBQVksQ0FBQyxDQUFDO0FBQzFDLENBQUMiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBpc0FycmF5LCBpc1VuZGVmaW5lZCwgbmVnYXRlLCBwaWNrQnkgfSBmcm9tIFwibG9kYXNoXCI7XG5pbXBvcnQgeyBERUNPUkFUT1JTIH0gZnJvbSBcIi4vY29uc3RhbnRzXCI7XG5cbmV4cG9ydCBjb25zdCBpc0NvbnN0cnVjdG9yID0gKHZhbDogYW55KTogYm9vbGVhbiA9PiB2YWwgPT09IFwiY29uc3RydWN0b3JcIjtcbmV4cG9ydCBjb25zdCBNRVRBREFUQV9GQUNUT1JZX05BTUUgPSBcIl9PUEVOQVBJX01FVEFEQVRBX0ZBQ1RPUllcIjtcblxuZXhwb3J0IGNvbnN0IE1FVEhPRF9NRVRBREFUQSA9IFwibWV0aG9kXCI7XG5cbmV4cG9ydCBmdW5jdGlvbiBjcmVhdGVNZXRob2REZWNvcmF0b3I8VCA9IGFueT4oXG4gIG1ldGFrZXk6IHN0cmluZyxcbiAgbWV0YWRhdGE6IFQsXG4gIHsgb3ZlcnJpZGVFeGlzdGluZyB9ID0geyBvdmVycmlkZUV4aXN0aW5nOiB0cnVlIH1cbik6IE1ldGhvZERlY29yYXRvciB7XG4gIHJldHVybiAoXG4gICAgdGFyZ2V0OiBvYmplY3QsXG4gICAga2V5OiBzdHJpbmcgfCBzeW1ib2wsXG4gICAgZGVzY3JpcHRvcjogUHJvcGVydHlEZXNjcmlwdG9yXG4gICkgPT4ge1xuICAgIGlmICh0eXBlb2YgbWV0YWRhdGEgPT09IFwib2JqZWN0XCIpIHtcbiAgICAgIGNvbnN0IHByZXZWYWx1ZSA9IFJlZmxlY3QuZ2V0TWV0YWRhdGEobWV0YWtleSwgZGVzY3JpcHRvci52YWx1ZSk7XG4gICAgICBpZiAocHJldlZhbHVlICYmICFvdmVycmlkZUV4aXN0aW5nKSB7XG4gICAgICAgIHJldHVybiBkZXNjcmlwdG9yO1xuICAgICAgfVxuICAgICAgUmVmbGVjdC5kZWZpbmVNZXRhZGF0YShcbiAgICAgICAgbWV0YWtleSxcbiAgICAgICAgeyAuLi5wcmV2VmFsdWUsIC4uLm1ldGFkYXRhIH0sXG4gICAgICAgIGRlc2NyaXB0b3IudmFsdWVcbiAgICAgICk7XG4gICAgICByZXR1cm4gZGVzY3JpcHRvcjtcbiAgICB9XG4gICAgUmVmbGVjdC5kZWZpbmVNZXRhZGF0YShtZXRha2V5LCBtZXRhZGF0YSwgZGVzY3JpcHRvci52YWx1ZSk7XG4gICAgcmV0dXJuIGRlc2NyaXB0b3I7XG4gIH07XG59XG5cbmV4cG9ydCBmdW5jdGlvbiBjcmVhdGVDbGFzc0RlY29yYXRvcjxUIGV4dGVuZHMgQXJyYXk8YW55PiA9IGFueT4oXG4gIG1ldGFrZXk6IHN0cmluZyxcbiAgbWV0YWRhdGE6IFQgPSBbXSBhcyBhbnlcbik6IENsYXNzRGVjb3JhdG9yIHtcbiAgcmV0dXJuICh0YXJnZXQpID0+IHtcbiAgICBjb25zdCBwcmV2VmFsdWUgPSBSZWZsZWN0LmdldE1ldGFkYXRhKG1ldGFrZXksIHRhcmdldCkgfHwgW107XG4gICAgUmVmbGVjdC5kZWZpbmVNZXRhZGF0YShtZXRha2V5LCBbLi4ucHJldlZhbHVlLCAuLi5tZXRhZGF0YV0sIHRhcmdldCk7XG4gICAgcmV0dXJuIHRhcmdldDtcbiAgfTtcbn1cblxuZXhwb3J0IGZ1bmN0aW9uIGNyZWF0ZVByb3BlcnR5RGVjb3JhdG9yPFQgZXh0ZW5kcyBSZWNvcmQ8c3RyaW5nLCBhbnk+ID0gYW55PihcbiAgbWV0YWtleTogc3RyaW5nLFxuICBtZXRhZGF0YTogVCxcbiAgb3ZlcnJpZGVFeGlzdGluZyA9IHRydWVcbik6IFByb3BlcnR5RGVjb3JhdG9yIHtcbiAgcmV0dXJuICgodGFyZ2V0OiBvYmplY3QsIHByb3BlcnR5S2V5OiBzdHJpbmcpID0+IHtcbiAgICBjb25zdCBwcm9wZXJ0aWVzID1cbiAgICAgIFJlZmxlY3QuZ2V0TWV0YWRhdGEoREVDT1JBVE9SUy5BUElfTU9ERUxfUFJPUEVSVElFU19BUlJBWSwgdGFyZ2V0KSB8fCBbXTtcblxuICAgIGNvbnN0IGtleSA9IGA6JHtwcm9wZXJ0eUtleX1gO1xuICAgIGlmICghcHJvcGVydGllcy5pbmNsdWRlcyhrZXkpKSB7XG4gICAgICBSZWZsZWN0LmRlZmluZU1ldGFkYXRhKFxuICAgICAgICBERUNPUkFUT1JTLkFQSV9NT0RFTF9QUk9QRVJUSUVTX0FSUkFZLFxuICAgICAgICBbLi4ucHJvcGVydGllcywgYDoke3Byb3BlcnR5S2V5fWBdLFxuICAgICAgICB0YXJnZXRcbiAgICAgICk7XG4gICAgfVxuICAgIGNvbnN0IGV4aXN0aW5nTWV0YWRhdGEgPSBSZWZsZWN0LmdldE1ldGFkYXRhKG1ldGFrZXksIHRhcmdldCwgcHJvcGVydHlLZXkpO1xuICAgIGlmIChleGlzdGluZ01ldGFkYXRhKSB7XG4gICAgICBjb25zdCBuZXdNZXRhZGF0YSA9IHBpY2tCeShtZXRhZGF0YSwgbmVnYXRlKGlzVW5kZWZpbmVkKSk7XG4gICAgICBjb25zdCBtZXRhZGF0YVRvU2F2ZSA9IG92ZXJyaWRlRXhpc3RpbmdcbiAgICAgICAgPyB7XG4gICAgICAgICAgICAuLi5leGlzdGluZ01ldGFkYXRhLFxuICAgICAgICAgICAgLi4ubmV3TWV0YWRhdGEsXG4gICAgICAgICAgfVxuICAgICAgICA6IHtcbiAgICAgICAgICAgIC4uLm5ld01ldGFkYXRhLFxuICAgICAgICAgICAgLi4uZXhpc3RpbmdNZXRhZGF0YSxcbiAgICAgICAgICB9O1xuXG4gICAgICBSZWZsZWN0LmRlZmluZU1ldGFkYXRhKG1ldGFrZXksIG1ldGFkYXRhVG9TYXZlLCB0YXJnZXQsIHByb3BlcnR5S2V5KTtcbiAgICB9IGVsc2Uge1xuICAgICAgY29uc3QgdHlwZSA9XG4gICAgICAgICh0YXJnZXQ/LmNvbnN0cnVjdG9yIGFzIGFueSk/LltNRVRBREFUQV9GQUNUT1JZX05BTUUgYXMgYW55XT8uKClbXG4gICAgICAgICAgcHJvcGVydHlLZXlcbiAgICAgICAgXT8udHlwZSA/PyBSZWZsZWN0LmdldE1ldGFkYXRhKFwiZGVzaWduOnR5cGVcIiwgdGFyZ2V0LCBwcm9wZXJ0eUtleSk7XG5cbiAgICAgIFJlZmxlY3QuZGVmaW5lTWV0YWRhdGEoXG4gICAgICAgIG1ldGFrZXksXG4gICAgICAgIHtcbiAgICAgICAgICB0eXBlLFxuICAgICAgICAgIC4uLnBpY2tCeShtZXRhZGF0YSwgbmVnYXRlKGlzVW5kZWZpbmVkKSksXG4gICAgICAgIH0sXG4gICAgICAgIHRhcmdldCxcbiAgICAgICAgcHJvcGVydHlLZXlcbiAgICAgICk7XG4gICAgfVxuICB9KSBhcyBQcm9wZXJ0eURlY29yYXRvcjtcbn1cblxuZXhwb3J0IGZ1bmN0aW9uIGNyZWF0ZU1peGVkRGVjb3JhdG9yPFQgPSBhbnk+KFxuICBtZXRha2V5OiBzdHJpbmcsXG4gIG1ldGFkYXRhOiBUXG4pOiBNZXRob2REZWNvcmF0b3IgJiBDbGFzc0RlY29yYXRvciB7XG4gIHJldHVybiAoXG4gICAgdGFyZ2V0OiBvYmplY3QsXG4gICAga2V5Pzogc3RyaW5nIHwgc3ltYm9sLFxuICAgIGRlc2NyaXB0b3I/OiBUeXBlZFByb3BlcnR5RGVzY3JpcHRvcjxhbnk+XG4gICk6IGFueSA9PiB7XG4gICAgaWYgKGRlc2NyaXB0b3IpIHtcbiAgICAgIGxldCBtZXRhZGF0YXM6IGFueTtcbiAgICAgIGlmIChBcnJheS5pc0FycmF5KG1ldGFkYXRhKSkge1xuICAgICAgICBjb25zdCBwcmV2aW91c01ldGFkYXRhID1cbiAgICAgICAgICBSZWZsZWN0LmdldE1ldGFkYXRhKG1ldGFrZXksIGRlc2NyaXB0b3IudmFsdWUpIHx8IFtdO1xuICAgICAgICBtZXRhZGF0YXMgPSBbLi4ucHJldmlvdXNNZXRhZGF0YSwgLi4ubWV0YWRhdGFdO1xuICAgICAgfSBlbHNlIHtcbiAgICAgICAgY29uc3QgcHJldmlvdXNNZXRhZGF0YSA9XG4gICAgICAgICAgUmVmbGVjdC5nZXRNZXRhZGF0YShtZXRha2V5LCBkZXNjcmlwdG9yLnZhbHVlKSB8fCB7fTtcbiAgICAgICAgbWV0YWRhdGFzID0geyAuLi5wcmV2aW91c01ldGFkYXRhLCAuLi5tZXRhZGF0YSB9O1xuICAgICAgfVxuICAgICAgUmVmbGVjdC5kZWZpbmVNZXRhZGF0YShtZXRha2V5LCBtZXRhZGF0YXMsIGRlc2NyaXB0b3IudmFsdWUpO1xuICAgICAgcmV0dXJuIGRlc2NyaXB0b3I7XG4gICAgfVxuXG4gICAgbGV0IG1ldGFkYXRhczogYW55O1xuICAgIGlmIChBcnJheS5pc0FycmF5KG1ldGFkYXRhKSkge1xuICAgICAgY29uc3QgcHJldmlvdXNNZXRhZGF0YSA9IFJlZmxlY3QuZ2V0TWV0YWRhdGEobWV0YWtleSwgdGFyZ2V0KSB8fCBbXTtcbiAgICAgIG1ldGFkYXRhcyA9IFsuLi5wcmV2aW91c01ldGFkYXRhLCAuLi5tZXRhZGF0YV07XG4gICAgfSBlbHNlIHtcbiAgICAgIGNvbnN0IHByZXZpb3VzTWV0YWRhdGEgPSBSZWZsZWN0LmdldE1ldGFkYXRhKG1ldGFrZXksIHRhcmdldCkgfHwge307XG4gICAgICBtZXRhZGF0YXMgPSBPYmplY3QuYXNzaWduKE9iamVjdC5hc3NpZ24oe30sIHByZXZpb3VzTWV0YWRhdGEpLCBtZXRhZGF0YSk7XG4gICAgfVxuICAgIFJlZmxlY3QuZGVmaW5lTWV0YWRhdGEobWV0YWtleSwgbWV0YWRhdGFzLCB0YXJnZXQpO1xuICAgIHJldHVybiB0YXJnZXQ7XG4gIH07XG59XG5cbmV4cG9ydCBmdW5jdGlvbiBjcmVhdGVQYXJhbURlY29yYXRvcjxUIGV4dGVuZHMgUmVjb3JkPHN0cmluZywgYW55PiA9IGFueT4oXG4gIG1ldGFkYXRhOiBULFxuICBpbml0aWFsOiBQYXJ0aWFsPFQ+XG4pOiBNZXRob2REZWNvcmF0b3IgJiBDbGFzc0RlY29yYXRvciB7XG4gIHJldHVybiAoXG4gICAgLy8gZXNsaW50LWRpc2FibGUtbmV4dC1saW5lIEB0eXBlc2NyaXB0LWVzbGludC9uby11bnNhZmUtZnVuY3Rpb24tdHlwZVxuICAgIHRhcmdldDogb2JqZWN0IHwgRnVuY3Rpb24sXG4gICAga2V5Pzogc3RyaW5nIHwgc3ltYm9sLFxuICAgIGRlc2NyaXB0b3I/OiBUeXBlZFByb3BlcnR5RGVzY3JpcHRvcjxhbnk+XG4gICk6IGFueSA9PiB7XG4gICAgY29uc3QgcGFyYW1PcHRpb25zID0ge1xuICAgICAgLi4uaW5pdGlhbCxcbiAgICAgIC4uLnBpY2tCeShtZXRhZGF0YSwgbmVnYXRlKGlzVW5kZWZpbmVkKSksXG4gICAgfTtcblxuICAgIGlmIChkZXNjcmlwdG9yKSB7XG4gICAgICBjb25zdCBwYXJhbWV0ZXJzID1cbiAgICAgICAgUmVmbGVjdC5nZXRNZXRhZGF0YShERUNPUkFUT1JTLkFQSV9QQVJBTUVURVJTLCBkZXNjcmlwdG9yLnZhbHVlKSB8fCBbXTtcbiAgICAgIFJlZmxlY3QuZGVmaW5lTWV0YWRhdGEoXG4gICAgICAgIERFQ09SQVRPUlMuQVBJX1BBUkFNRVRFUlMsXG4gICAgICAgIFsuLi5wYXJhbWV0ZXJzLCBwYXJhbU9wdGlvbnNdLFxuICAgICAgICBkZXNjcmlwdG9yLnZhbHVlXG4gICAgICApO1xuICAgICAgcmV0dXJuIGRlc2NyaXB0b3I7XG4gICAgfVxuXG4gICAgaWYgKHR5cGVvZiB0YXJnZXQgPT09IFwib2JqZWN0XCIpIHtcbiAgICAgIHJldHVybiB0YXJnZXQ7XG4gICAgfVxuXG4gICAgY29uc3QgcHJvcGVydHlLZXlzID0gT2JqZWN0LmdldE93blByb3BlcnR5TmFtZXModGFyZ2V0LnByb3RvdHlwZSk7XG5cbiAgICBmb3IgKGNvbnN0IHByb3BlcnR5S2V5IG9mIHByb3BlcnR5S2V5cykge1xuICAgICAgaWYgKGlzQ29uc3RydWN0b3IocHJvcGVydHlLZXkpKSB7XG4gICAgICAgIGNvbnRpbnVlO1xuICAgICAgfVxuXG4gICAgICBjb25zdCBtZXRob2REZXNjcmlwdG9yID0gT2JqZWN0LmdldE93blByb3BlcnR5RGVzY3JpcHRvcihcbiAgICAgICAgdGFyZ2V0LnByb3RvdHlwZSxcbiAgICAgICAgcHJvcGVydHlLZXlcbiAgICAgICk7XG5cbiAgICAgIGlmICghbWV0aG9kRGVzY3JpcHRvcikge1xuICAgICAgICBjb250aW51ZTtcbiAgICAgIH1cblxuICAgICAgY29uc3QgaXNBcGlNZXRob2QgPSBSZWZsZWN0Lmhhc01ldGFkYXRhKFxuICAgICAgICBNRVRIT0RfTUVUQURBVEEsXG4gICAgICAgIG1ldGhvZERlc2NyaXB0b3IudmFsdWVcbiAgICAgICk7XG5cbiAgICAgIGlmICghaXNBcGlNZXRob2QpIHtcbiAgICAgICAgY29udGludWU7XG4gICAgICB9XG5cbiAgICAgIGNvbnN0IHBhcmFtZXRlcnMgPVxuICAgICAgICBSZWZsZWN0LmdldE1ldGFkYXRhKFxuICAgICAgICAgIERFQ09SQVRPUlMuQVBJX1BBUkFNRVRFUlMsXG4gICAgICAgICAgbWV0aG9kRGVzY3JpcHRvci52YWx1ZVxuICAgICAgICApIHx8IFtdO1xuICAgICAgUmVmbGVjdC5kZWZpbmVNZXRhZGF0YShcbiAgICAgICAgREVDT1JBVE9SUy5BUElfUEFSQU1FVEVSUyxcbiAgICAgICAgWy4uLnBhcmFtZXRlcnMsIHBhcmFtT3B0aW9uc10sXG4gICAgICAgIG1ldGhvZERlc2NyaXB0b3IudmFsdWVcbiAgICAgICk7XG4gICAgfVxuICB9O1xufVxuXG5leHBvcnQgZnVuY3Rpb24gZ2V0VHlwZUlzQXJyYXlUdXBsZShcbiAgLy8gZXNsaW50LWRpc2FibGUtbmV4dC1saW5lIEB0eXBlc2NyaXB0LWVzbGludC9uby11bnNhZmUtZnVuY3Rpb24tdHlwZVxuICBpbnB1dDogRnVuY3Rpb24gfCBbRnVuY3Rpb25dIHwgdW5kZWZpbmVkIHwgc3RyaW5nIHwgUmVjb3JkPHN0cmluZywgYW55PixcbiAgaXNBcnJheUZsYWc6IGJvb2xlYW5cbiAgLy8gZXNsaW50LWRpc2FibGUtbmV4dC1saW5lIEB0eXBlc2NyaXB0LWVzbGludC9uby11bnNhZmUtZnVuY3Rpb24tdHlwZVxuKTogW0Z1bmN0aW9uIHwgdW5kZWZpbmVkLCBib29sZWFuXSB7XG4gIGlmICghaW5wdXQpIHtcbiAgICByZXR1cm4gW2lucHV0IGFzIHVuZGVmaW5lZCwgaXNBcnJheUZsYWddO1xuICB9XG4gIGlmIChpc0FycmF5RmxhZykge1xuICAgIC8vIGVzbGludC1kaXNhYmxlLW5leHQtbGluZSBAdHlwZXNjcmlwdC1lc2xpbnQvbm8tdW5zYWZlLWZ1bmN0aW9uLXR5cGVcbiAgICByZXR1cm4gW2lucHV0IGFzIEZ1bmN0aW9uLCBpc0FycmF5RmxhZ107XG4gIH1cbiAgY29uc3QgaXNJbnB1dEFycmF5ID0gaXNBcnJheShpbnB1dCk7XG4gIGNvbnN0IHR5cGUgPSBpc0lucHV0QXJyYXkgPyBpbnB1dFswXSA6IGlucHV0O1xuICAvLyBlc2xpbnQtZGlzYWJsZS1uZXh0LWxpbmUgQHR5cGVzY3JpcHQtZXNsaW50L25vLXVuc2FmZS1mdW5jdGlvbi10eXBlXG4gIHJldHVybiBbdHlwZSBhcyBGdW5jdGlvbiwgaXNJbnB1dEFycmF5XTtcbn1cbiJdfQ==