@inversifyjs/core 1.3.4 → 2.0.0

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 (1021) hide show
  1. package/CHANGELOG.md +62 -8
  2. package/lib/cjs/binding/calculations/isScopedBinding.d.ts +3 -0
  3. package/lib/cjs/binding/calculations/isScopedBinding.d.ts.map +1 -0
  4. package/lib/cjs/binding/calculations/isScopedBinding.js +8 -0
  5. package/lib/cjs/binding/calculations/isScopedBinding.js.map +1 -0
  6. package/lib/cjs/binding/calculations/isScopedBinding.spec.d.ts +2 -0
  7. package/lib/cjs/binding/calculations/isScopedBinding.spec.d.ts.map +1 -0
  8. package/lib/cjs/binding/calculations/stringifyBinding.d.ts +3 -0
  9. package/lib/cjs/binding/calculations/stringifyBinding.d.ts.map +1 -0
  10. package/lib/cjs/binding/calculations/stringifyBinding.js +16 -0
  11. package/lib/cjs/binding/calculations/stringifyBinding.js.map +1 -0
  12. package/lib/cjs/binding/calculations/stringifyBinding.spec.d.ts +2 -0
  13. package/lib/cjs/binding/calculations/stringifyBinding.spec.d.ts.map +1 -0
  14. package/lib/cjs/binding/models/BaseBinding.d.ts +11 -0
  15. package/lib/cjs/binding/models/BaseBinding.d.ts.map +1 -0
  16. package/lib/cjs/binding/models/BaseBinding.js +3 -0
  17. package/lib/cjs/binding/models/BaseBinding.js.map +1 -0
  18. package/lib/cjs/binding/models/Binding.d.ts +10 -0
  19. package/lib/cjs/binding/models/Binding.d.ts.map +1 -0
  20. package/lib/cjs/binding/models/Binding.js +3 -0
  21. package/lib/cjs/binding/models/Binding.js.map +1 -0
  22. package/lib/cjs/binding/models/BindingActivation.d.ts +3 -0
  23. package/lib/cjs/binding/models/BindingActivation.d.ts.map +1 -0
  24. package/lib/cjs/binding/models/BindingActivation.js +3 -0
  25. package/lib/cjs/binding/models/BindingActivation.js.map +1 -0
  26. package/lib/cjs/binding/models/BindingDeactivation.d.ts +2 -0
  27. package/lib/cjs/binding/models/BindingDeactivation.d.ts.map +1 -0
  28. package/lib/cjs/binding/models/BindingDeactivation.js +3 -0
  29. package/lib/cjs/binding/models/BindingDeactivation.js.map +1 -0
  30. package/lib/cjs/binding/models/BindingMetadata.d.ts +10 -0
  31. package/lib/cjs/binding/models/BindingMetadata.d.ts.map +1 -0
  32. package/lib/cjs/binding/models/BindingMetadata.js +3 -0
  33. package/lib/cjs/binding/models/BindingMetadata.js.map +1 -0
  34. package/lib/cjs/binding/models/BindingMetadataImplementation.d.ts +19 -0
  35. package/lib/cjs/binding/models/BindingMetadataImplementation.d.ts.map +1 -0
  36. package/lib/cjs/binding/models/BindingMetadataImplementation.js +26 -0
  37. package/lib/cjs/binding/models/BindingMetadataImplementation.js.map +1 -0
  38. package/lib/cjs/binding/models/BindingMetadataImplementation.spec.d.ts +2 -0
  39. package/lib/cjs/binding/models/BindingMetadataImplementation.spec.d.ts.map +1 -0
  40. package/lib/cjs/binding/models/BindingScope.d.ts +5 -0
  41. package/lib/cjs/binding/models/BindingScope.d.ts.map +1 -0
  42. package/lib/cjs/binding/models/BindingScope.js +9 -0
  43. package/lib/cjs/binding/models/BindingScope.js.map +1 -0
  44. package/lib/cjs/binding/models/BindingType.d.ts +5 -0
  45. package/lib/cjs/binding/models/BindingType.d.ts.map +1 -0
  46. package/lib/cjs/binding/models/BindingType.js +12 -0
  47. package/lib/cjs/binding/models/BindingType.js.map +1 -0
  48. package/lib/cjs/binding/models/ConstantValueBinding.d.ts +8 -0
  49. package/lib/cjs/binding/models/ConstantValueBinding.d.ts.map +1 -0
  50. package/lib/cjs/binding/models/ConstantValueBinding.js +3 -0
  51. package/lib/cjs/binding/models/ConstantValueBinding.js.map +1 -0
  52. package/lib/cjs/binding/models/DynamicValueBinding.d.ts +8 -0
  53. package/lib/cjs/binding/models/DynamicValueBinding.d.ts.map +1 -0
  54. package/lib/cjs/binding/models/DynamicValueBinding.js +3 -0
  55. package/lib/cjs/binding/models/DynamicValueBinding.js.map +1 -0
  56. package/lib/cjs/binding/models/DynamicValueBuilder.d.ts +4 -0
  57. package/lib/cjs/binding/models/DynamicValueBuilder.d.ts.map +1 -0
  58. package/lib/cjs/binding/models/DynamicValueBuilder.js +3 -0
  59. package/lib/cjs/binding/models/DynamicValueBuilder.js.map +1 -0
  60. package/lib/cjs/binding/models/Factory.d.ts +2 -0
  61. package/lib/cjs/binding/models/Factory.d.ts.map +1 -0
  62. package/lib/cjs/binding/models/Factory.js +3 -0
  63. package/lib/cjs/binding/models/Factory.js.map +1 -0
  64. package/lib/cjs/binding/models/FactoryBinding.d.ts +9 -0
  65. package/lib/cjs/binding/models/FactoryBinding.d.ts.map +1 -0
  66. package/lib/cjs/binding/models/FactoryBinding.js +3 -0
  67. package/lib/cjs/binding/models/FactoryBinding.js.map +1 -0
  68. package/lib/cjs/binding/models/InstanceBinding.d.ts +8 -0
  69. package/lib/cjs/binding/models/InstanceBinding.d.ts.map +1 -0
  70. package/lib/cjs/binding/models/InstanceBinding.js +3 -0
  71. package/lib/cjs/binding/models/InstanceBinding.js.map +1 -0
  72. package/lib/cjs/binding/models/Provider.d.ts +2 -0
  73. package/lib/cjs/binding/models/Provider.d.ts.map +1 -0
  74. package/lib/cjs/binding/models/Provider.js +3 -0
  75. package/lib/cjs/binding/models/Provider.js.map +1 -0
  76. package/lib/cjs/binding/models/ProviderBinding.d.ts +9 -0
  77. package/lib/cjs/binding/models/ProviderBinding.d.ts.map +1 -0
  78. package/lib/cjs/binding/models/ProviderBinding.js +3 -0
  79. package/lib/cjs/binding/models/ProviderBinding.js.map +1 -0
  80. package/lib/cjs/binding/models/ScopedBinding.d.ts +14 -0
  81. package/lib/cjs/binding/models/ScopedBinding.d.ts.map +1 -0
  82. package/lib/cjs/binding/models/ScopedBinding.js +3 -0
  83. package/lib/cjs/binding/models/ScopedBinding.js.map +1 -0
  84. package/lib/cjs/binding/models/ServiceRedirectionBinding.d.ts +7 -0
  85. package/lib/cjs/binding/models/ServiceRedirectionBinding.d.ts.map +1 -0
  86. package/lib/cjs/binding/models/ServiceRedirectionBinding.js +3 -0
  87. package/lib/cjs/binding/models/ServiceRedirectionBinding.js.map +1 -0
  88. package/lib/cjs/binding/services/ActivationsService.d.ts +23 -0
  89. package/lib/cjs/binding/services/ActivationsService.d.ts.map +1 -0
  90. package/lib/cjs/binding/services/ActivationsService.js +60 -0
  91. package/lib/cjs/binding/services/ActivationsService.js.map +1 -0
  92. package/lib/cjs/binding/services/ActivationsService.spec.d.ts +2 -0
  93. package/lib/cjs/binding/services/ActivationsService.spec.d.ts.map +1 -0
  94. package/lib/cjs/binding/services/BindingService.d.ts +24 -0
  95. package/lib/cjs/binding/services/BindingService.d.ts.map +1 -0
  96. package/lib/cjs/binding/services/BindingService.js +57 -0
  97. package/lib/cjs/binding/services/BindingService.js.map +1 -0
  98. package/lib/cjs/binding/services/BindingService.spec.d.ts +2 -0
  99. package/lib/cjs/binding/services/BindingService.spec.d.ts.map +1 -0
  100. package/lib/cjs/binding/services/DeactivationsService.d.ts +23 -0
  101. package/lib/cjs/binding/services/DeactivationsService.d.ts.map +1 -0
  102. package/lib/cjs/binding/services/DeactivationsService.js +60 -0
  103. package/lib/cjs/binding/services/DeactivationsService.js.map +1 -0
  104. package/lib/cjs/binding/services/DeactivationsService.spec.d.ts +2 -0
  105. package/lib/cjs/binding/services/DeactivationsService.spec.d.ts.map +1 -0
  106. package/lib/cjs/common/calculations/chain.d.ts +2 -0
  107. package/lib/cjs/common/calculations/chain.d.ts.map +1 -0
  108. package/lib/cjs/common/calculations/chain.js +9 -0
  109. package/lib/cjs/common/calculations/chain.js.map +1 -0
  110. package/lib/cjs/common/calculations/chain.spec.d.ts +2 -0
  111. package/lib/cjs/common/calculations/chain.spec.d.ts.map +1 -0
  112. package/lib/cjs/common/calculations/getSelf.d.ts +2 -0
  113. package/lib/cjs/common/calculations/getSelf.d.ts.map +1 -0
  114. package/lib/cjs/common/calculations/getSelf.js +7 -0
  115. package/lib/cjs/common/calculations/getSelf.js.map +1 -0
  116. package/lib/cjs/common/calculations/getSelf.spec.d.ts +2 -0
  117. package/lib/cjs/common/calculations/getSelf.spec.d.ts.map +1 -0
  118. package/lib/cjs/common/models/Cloneable.d.ts +4 -0
  119. package/lib/cjs/common/models/Cloneable.d.ts.map +1 -0
  120. package/lib/cjs/common/models/Cloneable.js +3 -0
  121. package/lib/cjs/common/models/Cloneable.js.map +1 -0
  122. package/lib/cjs/common/models/OneToManyMapStar.d.ts +18 -0
  123. package/lib/cjs/common/models/OneToManyMapStar.d.ts.map +1 -0
  124. package/lib/cjs/common/models/OneToManyMapStar.js +80 -0
  125. package/lib/cjs/common/models/OneToManyMapStar.js.map +1 -0
  126. package/lib/cjs/common/models/OneToManyMapStar.spec.d.ts +2 -0
  127. package/lib/cjs/common/models/OneToManyMapStar.spec.d.ts.map +1 -0
  128. package/lib/cjs/common/models/SingleInmutableLinkedList.d.ts +11 -0
  129. package/lib/cjs/common/models/SingleInmutableLinkedList.d.ts.map +1 -0
  130. package/lib/cjs/common/models/SingleInmutableLinkedList.js +36 -0
  131. package/lib/cjs/common/models/SingleInmutableLinkedList.js.map +1 -0
  132. package/lib/cjs/common/models/SingleInmutableLinkedList.spec.d.ts +2 -0
  133. package/lib/cjs/common/models/SingleInmutableLinkedList.spec.d.ts.map +1 -0
  134. package/lib/cjs/common/models/Writable.d.ts +4 -0
  135. package/lib/cjs/common/models/Writable.d.ts.map +1 -0
  136. package/lib/cjs/common/models/Writable.js +3 -0
  137. package/lib/cjs/common/models/Writable.js.map +1 -0
  138. package/lib/cjs/common/models/__mocks__/OneToManyMapStar.d.ts +8 -0
  139. package/lib/cjs/common/models/__mocks__/OneToManyMapStar.d.ts.map +1 -0
  140. package/lib/cjs/common/models/__mocks__/OneToManyMapStar.js +26 -0
  141. package/lib/cjs/common/models/__mocks__/OneToManyMapStar.js.map +1 -0
  142. package/lib/cjs/decorator/actions/decorate.d.ts +4 -0
  143. package/lib/cjs/decorator/actions/decorate.d.ts.map +1 -0
  144. package/lib/cjs/decorator/actions/decorate.js +19 -0
  145. package/lib/cjs/decorator/actions/decorate.js.map +1 -0
  146. package/lib/cjs/decorator/actions/decorate.spec.d.ts +2 -0
  147. package/lib/cjs/decorator/actions/decorate.spec.d.ts.map +1 -0
  148. package/lib/cjs/decorator/calculations/getDecoratorInfo.d.ts +5 -0
  149. package/lib/cjs/decorator/calculations/getDecoratorInfo.d.ts.map +1 -0
  150. package/lib/cjs/decorator/calculations/getDecoratorInfo.js +25 -0
  151. package/lib/cjs/decorator/calculations/getDecoratorInfo.js.map +1 -0
  152. package/lib/cjs/decorator/calculations/getDecoratorInfo.spec.d.ts +2 -0
  153. package/lib/cjs/decorator/calculations/getDecoratorInfo.spec.d.ts.map +1 -0
  154. package/lib/cjs/decorator/calculations/stringifyDecoratorInfo.d.ts +3 -0
  155. package/lib/cjs/decorator/calculations/stringifyDecoratorInfo.d.ts.map +1 -0
  156. package/lib/cjs/decorator/calculations/stringifyDecoratorInfo.js +13 -0
  157. package/lib/cjs/decorator/calculations/stringifyDecoratorInfo.js.map +1 -0
  158. package/lib/cjs/decorator/calculations/stringifyDecoratorInfo.spec.d.ts +2 -0
  159. package/lib/cjs/decorator/calculations/stringifyDecoratorInfo.spec.d.ts.map +1 -0
  160. package/lib/cjs/decorator/models/BaseDecoratorInfo.d.ts +5 -0
  161. package/lib/cjs/decorator/models/BaseDecoratorInfo.d.ts.map +1 -0
  162. package/lib/cjs/decorator/models/BaseDecoratorInfo.js +3 -0
  163. package/lib/cjs/decorator/models/BaseDecoratorInfo.js.map +1 -0
  164. package/lib/cjs/decorator/models/DecoratorInfo.d.ts +4 -0
  165. package/lib/cjs/decorator/models/DecoratorInfo.d.ts.map +1 -0
  166. package/lib/cjs/decorator/models/DecoratorInfo.js +3 -0
  167. package/lib/cjs/decorator/models/DecoratorInfo.js.map +1 -0
  168. package/lib/cjs/decorator/models/DecoratorInfoKind.d.ts +5 -0
  169. package/lib/cjs/decorator/models/DecoratorInfoKind.d.ts.map +1 -0
  170. package/lib/cjs/decorator/models/DecoratorInfoKind.js +9 -0
  171. package/lib/cjs/decorator/models/DecoratorInfoKind.js.map +1 -0
  172. package/lib/cjs/decorator/models/ParameterDecoratorInfo.d.ts +6 -0
  173. package/lib/cjs/decorator/models/ParameterDecoratorInfo.d.ts.map +1 -0
  174. package/lib/cjs/decorator/models/ParameterDecoratorInfo.js +3 -0
  175. package/lib/cjs/decorator/models/ParameterDecoratorInfo.js.map +1 -0
  176. package/lib/cjs/decorator/models/PropertyDecoratorInfo.d.ts +6 -0
  177. package/lib/cjs/decorator/models/PropertyDecoratorInfo.d.ts.map +1 -0
  178. package/lib/cjs/decorator/models/PropertyDecoratorInfo.js +3 -0
  179. package/lib/cjs/decorator/models/PropertyDecoratorInfo.js.map +1 -0
  180. package/lib/cjs/error/models/InversifyCoreErrorKind.d.ts +5 -2
  181. package/lib/cjs/error/models/InversifyCoreErrorKind.d.ts.map +1 -1
  182. package/lib/cjs/error/models/InversifyCoreErrorKind.js +5 -2
  183. package/lib/cjs/error/models/InversifyCoreErrorKind.js.map +1 -1
  184. package/lib/cjs/index.d.ts +56 -11
  185. package/lib/cjs/index.d.ts.map +1 -1
  186. package/lib/cjs/index.js +41 -9
  187. package/lib/cjs/index.js.map +1 -1
  188. package/lib/cjs/metadata/actions/decrementPendingClassMetadataCount.d.ts +3 -0
  189. package/lib/cjs/metadata/actions/decrementPendingClassMetadataCount.d.ts.map +1 -0
  190. package/lib/cjs/metadata/actions/decrementPendingClassMetadataCount.js +16 -0
  191. package/lib/cjs/metadata/actions/decrementPendingClassMetadataCount.js.map +1 -0
  192. package/lib/cjs/metadata/actions/decrementPendingClassMetadataCount.spec.d.ts +2 -0
  193. package/lib/cjs/metadata/actions/decrementPendingClassMetadataCount.spec.d.ts.map +1 -0
  194. package/lib/cjs/metadata/actions/incrementPendingClassMetadataCount.d.ts +3 -0
  195. package/lib/cjs/metadata/actions/incrementPendingClassMetadataCount.d.ts.map +1 -0
  196. package/lib/cjs/metadata/actions/incrementPendingClassMetadataCount.js +14 -0
  197. package/lib/cjs/metadata/actions/incrementPendingClassMetadataCount.js.map +1 -0
  198. package/lib/cjs/metadata/actions/incrementPendingClassMetadataCount.spec.d.ts +2 -0
  199. package/lib/cjs/metadata/actions/incrementPendingClassMetadataCount.spec.d.ts.map +1 -0
  200. package/lib/cjs/metadata/actions/updateClassMetadataWithTypescriptParameterTypes.d.ts +2 -0
  201. package/lib/cjs/metadata/actions/updateClassMetadataWithTypescriptParameterTypes.d.ts.map +1 -0
  202. package/lib/cjs/metadata/actions/updateClassMetadataWithTypescriptParameterTypes.js +26 -0
  203. package/lib/cjs/metadata/actions/updateClassMetadataWithTypescriptParameterTypes.js.map +1 -0
  204. package/lib/cjs/metadata/actions/updateClassMetadataWithTypescriptParameterTypes.spec.d.ts +2 -0
  205. package/lib/cjs/metadata/actions/updateClassMetadataWithTypescriptParameterTypes.spec.d.ts.map +1 -0
  206. package/lib/cjs/metadata/actions/updateMaybeClassMetadataConstructorArgument.spec.d.ts +2 -0
  207. package/lib/cjs/metadata/actions/updateMaybeClassMetadataPostConstructor.d.ts +3 -0
  208. package/lib/cjs/metadata/actions/updateMaybeClassMetadataPostConstructor.d.ts.map +1 -0
  209. package/lib/cjs/metadata/actions/updateMaybeClassMetadataPostConstructor.js +15 -0
  210. package/lib/cjs/metadata/actions/updateMaybeClassMetadataPostConstructor.js.map +1 -0
  211. package/lib/cjs/metadata/actions/updateMaybeClassMetadataPostConstructor.spec.d.ts +2 -0
  212. package/lib/cjs/metadata/actions/updateMaybeClassMetadataPostConstructor.spec.d.ts.map +1 -0
  213. package/lib/cjs/metadata/actions/updateMaybeClassMetadataPreDestroy.d.ts +3 -0
  214. package/lib/cjs/metadata/actions/updateMaybeClassMetadataPreDestroy.d.ts.map +1 -0
  215. package/lib/cjs/metadata/actions/updateMaybeClassMetadataPreDestroy.js +15 -0
  216. package/lib/cjs/metadata/actions/updateMaybeClassMetadataPreDestroy.js.map +1 -0
  217. package/lib/cjs/metadata/actions/updateMaybeClassMetadataPreDestroy.spec.d.ts +2 -0
  218. package/lib/cjs/metadata/actions/updateMaybeClassMetadataPreDestroy.spec.d.ts.map +1 -0
  219. package/lib/cjs/metadata/actions/updateMaybeClassMetadataProperty.spec.d.ts +2 -0
  220. package/lib/cjs/metadata/actions/updateMetadataName.d.ts +5 -0
  221. package/lib/cjs/metadata/actions/updateMetadataName.d.ts.map +1 -0
  222. package/lib/cjs/metadata/actions/updateMetadataName.js +15 -0
  223. package/lib/cjs/metadata/actions/updateMetadataName.js.map +1 -0
  224. package/lib/cjs/metadata/actions/updateMetadataName.spec.d.ts +2 -0
  225. package/lib/cjs/metadata/actions/updateMetadataName.spec.d.ts.map +1 -0
  226. package/lib/cjs/metadata/actions/updateMetadataOptional.d.ts +4 -0
  227. package/lib/cjs/metadata/actions/updateMetadataOptional.d.ts.map +1 -0
  228. package/lib/cjs/metadata/actions/updateMetadataOptional.js +13 -0
  229. package/lib/cjs/metadata/actions/updateMetadataOptional.js.map +1 -0
  230. package/lib/cjs/metadata/actions/updateMetadataOptional.spec.d.ts +2 -0
  231. package/lib/cjs/metadata/actions/updateMetadataOptional.spec.d.ts.map +1 -0
  232. package/lib/cjs/metadata/actions/updateMetadataTag.d.ts +5 -0
  233. package/lib/cjs/metadata/actions/updateMetadataTag.d.ts.map +1 -0
  234. package/lib/cjs/metadata/actions/updateMetadataTag.js +15 -0
  235. package/lib/cjs/metadata/actions/updateMetadataTag.js.map +1 -0
  236. package/lib/cjs/metadata/actions/updateMetadataTag.spec.d.ts +2 -0
  237. package/lib/cjs/metadata/actions/updateMetadataTag.spec.d.ts.map +1 -0
  238. package/lib/cjs/metadata/actions/updateMetadataTargetName.d.ts +5 -0
  239. package/lib/cjs/metadata/actions/updateMetadataTargetName.d.ts.map +1 -0
  240. package/lib/cjs/metadata/actions/updateMetadataTargetName.js +15 -0
  241. package/lib/cjs/metadata/actions/updateMetadataTargetName.js.map +1 -0
  242. package/lib/cjs/metadata/actions/updateMetadataTargetName.spec.d.ts +2 -0
  243. package/lib/cjs/metadata/actions/updateMetadataTargetName.spec.d.ts.map +1 -0
  244. package/lib/cjs/metadata/calculations/assertMetadataFromTypescriptIfManaged.d.ts +4 -0
  245. package/lib/cjs/metadata/calculations/assertMetadataFromTypescriptIfManaged.d.ts.map +1 -0
  246. package/lib/cjs/metadata/calculations/assertMetadataFromTypescriptIfManaged.js +13 -0
  247. package/lib/cjs/metadata/calculations/assertMetadataFromTypescriptIfManaged.js.map +1 -0
  248. package/lib/cjs/metadata/calculations/assertMetadataFromTypescriptIfManaged.spec.d.ts +2 -0
  249. package/lib/cjs/metadata/calculations/assertMetadataFromTypescriptIfManaged.spec.d.ts.map +1 -0
  250. package/lib/cjs/metadata/calculations/buildClassElementMetadataFromMaybeClassElementMetadata.d.ts +6 -0
  251. package/lib/cjs/metadata/calculations/buildClassElementMetadataFromMaybeClassElementMetadata.d.ts.map +1 -0
  252. package/lib/cjs/metadata/calculations/buildClassElementMetadataFromMaybeClassElementMetadata.js +18 -0
  253. package/lib/cjs/metadata/calculations/buildClassElementMetadataFromMaybeClassElementMetadata.js.map +1 -0
  254. package/lib/cjs/metadata/calculations/buildClassElementMetadataFromMaybeClassElementMetadata.spec.d.ts +2 -0
  255. package/lib/cjs/metadata/calculations/buildClassElementMetadataFromMaybeClassElementMetadata.spec.d.ts.map +1 -0
  256. package/lib/cjs/metadata/calculations/buildClassElementMetadataFromTypescriptParameterType.d.ts +4 -0
  257. package/lib/cjs/metadata/calculations/buildClassElementMetadataFromTypescriptParameterType.d.ts.map +1 -0
  258. package/lib/cjs/metadata/calculations/buildClassElementMetadataFromTypescriptParameterType.js +16 -0
  259. package/lib/cjs/metadata/calculations/buildClassElementMetadataFromTypescriptParameterType.js.map +1 -0
  260. package/lib/cjs/metadata/calculations/buildClassElementMetadataFromTypescriptParameterType.spec.d.ts +2 -0
  261. package/lib/cjs/metadata/calculations/buildClassElementMetadataFromTypescriptParameterType.spec.d.ts.map +1 -0
  262. package/lib/cjs/metadata/calculations/buildDefaultManagedMetadata.d.ts +5 -0
  263. package/lib/cjs/metadata/calculations/buildDefaultManagedMetadata.d.ts.map +1 -0
  264. package/lib/cjs/metadata/calculations/buildDefaultManagedMetadata.js +14 -0
  265. package/lib/cjs/metadata/calculations/buildDefaultManagedMetadata.js.map +1 -0
  266. package/lib/cjs/metadata/calculations/buildDefaultManagedMetadata.spec.d.ts +2 -0
  267. package/lib/cjs/metadata/calculations/buildDefaultManagedMetadata.spec.d.ts.map +1 -0
  268. package/lib/cjs/metadata/calculations/buildDefaultMaybeClassElementMetadata.d.ts +3 -0
  269. package/lib/cjs/metadata/calculations/buildDefaultMaybeClassElementMetadata.d.ts.map +1 -0
  270. package/lib/cjs/metadata/calculations/buildDefaultMaybeClassElementMetadata.js +14 -0
  271. package/lib/cjs/metadata/calculations/buildDefaultMaybeClassElementMetadata.js.map +1 -0
  272. package/lib/cjs/metadata/calculations/buildDefaultMaybeClassElementMetadata.spec.d.ts +2 -0
  273. package/lib/cjs/metadata/calculations/buildDefaultMaybeClassElementMetadata.spec.d.ts.map +1 -0
  274. package/lib/cjs/metadata/calculations/buildDefaultUnmanagedMetadata.d.ts +3 -0
  275. package/lib/cjs/metadata/calculations/buildDefaultUnmanagedMetadata.d.ts.map +1 -0
  276. package/lib/cjs/metadata/calculations/buildDefaultUnmanagedMetadata.js +10 -0
  277. package/lib/cjs/metadata/calculations/buildDefaultUnmanagedMetadata.js.map +1 -0
  278. package/lib/cjs/metadata/calculations/buildDefaultUnmanagedMetadata.spec.d.ts +2 -0
  279. package/lib/cjs/metadata/calculations/buildDefaultUnmanagedMetadata.spec.d.ts.map +1 -0
  280. package/lib/cjs/metadata/calculations/buildManagedMetadataFromMaybeClassElementMetadata.d.ts +6 -0
  281. package/lib/cjs/metadata/calculations/buildManagedMetadataFromMaybeClassElementMetadata.d.ts.map +1 -0
  282. package/lib/cjs/metadata/calculations/buildManagedMetadataFromMaybeClassElementMetadata.js +8 -0
  283. package/lib/cjs/metadata/calculations/buildManagedMetadataFromMaybeClassElementMetadata.js.map +1 -0
  284. package/lib/cjs/metadata/calculations/buildManagedMetadataFromMaybeClassElementMetadata.spec.d.ts +2 -0
  285. package/lib/cjs/metadata/calculations/buildManagedMetadataFromMaybeClassElementMetadata.spec.d.ts.map +1 -0
  286. package/lib/cjs/metadata/calculations/buildManagedMetadataFromMaybeManagedMetadata.d.ts +6 -0
  287. package/lib/cjs/metadata/calculations/buildManagedMetadataFromMaybeManagedMetadata.d.ts.map +1 -0
  288. package/lib/cjs/metadata/calculations/buildManagedMetadataFromMaybeManagedMetadata.js +13 -0
  289. package/lib/cjs/metadata/calculations/buildManagedMetadataFromMaybeManagedMetadata.js.map +1 -0
  290. package/lib/cjs/metadata/calculations/buildManagedMetadataFromMaybeManagedMetadata.spec.d.ts +2 -0
  291. package/lib/cjs/metadata/calculations/buildManagedMetadataFromMaybeManagedMetadata.spec.d.ts.map +1 -0
  292. package/lib/cjs/metadata/calculations/buildMaybeClassElementMetadataFromMaybeClassElementMetadata.d.ts +5 -0
  293. package/lib/cjs/metadata/calculations/buildMaybeClassElementMetadataFromMaybeClassElementMetadata.d.ts.map +1 -0
  294. package/lib/cjs/metadata/calculations/buildMaybeClassElementMetadataFromMaybeClassElementMetadata.js +19 -0
  295. package/lib/cjs/metadata/calculations/buildMaybeClassElementMetadataFromMaybeClassElementMetadata.js.map +1 -0
  296. package/lib/cjs/metadata/calculations/buildMaybeClassElementMetadataFromMaybeClassElementMetadata.spec.d.ts +2 -0
  297. package/lib/cjs/metadata/calculations/buildMaybeClassElementMetadataFromMaybeClassElementMetadata.spec.d.ts.map +1 -0
  298. package/lib/cjs/metadata/calculations/buildUnmanagedMetadataFromMaybeClassElementMetadata.d.ts +4 -0
  299. package/lib/cjs/metadata/calculations/buildUnmanagedMetadataFromMaybeClassElementMetadata.d.ts.map +1 -0
  300. package/lib/cjs/metadata/calculations/buildUnmanagedMetadataFromMaybeClassElementMetadata.js +8 -0
  301. package/lib/cjs/metadata/calculations/buildUnmanagedMetadataFromMaybeClassElementMetadata.js.map +1 -0
  302. package/lib/cjs/metadata/calculations/buildUnmanagedMetadataFromMaybeClassElementMetadata.spec.d.ts +2 -0
  303. package/lib/cjs/metadata/calculations/buildUnmanagedMetadataFromMaybeClassElementMetadata.spec.d.ts.map +1 -0
  304. package/lib/cjs/metadata/calculations/buildUnmanagedMetadataFromMaybeManagedMetadata.d.ts +5 -0
  305. package/lib/cjs/metadata/calculations/buildUnmanagedMetadataFromMaybeManagedMetadata.d.ts.map +1 -0
  306. package/lib/cjs/metadata/calculations/buildUnmanagedMetadataFromMaybeManagedMetadata.js +21 -0
  307. package/lib/cjs/metadata/calculations/buildUnmanagedMetadataFromMaybeManagedMetadata.js.map +1 -0
  308. package/lib/cjs/metadata/calculations/buildUnmanagedMetadataFromMaybeManagedMetadata.spec.d.ts +2 -0
  309. package/lib/cjs/metadata/calculations/buildUnmanagedMetadataFromMaybeManagedMetadata.spec.d.ts.map +1 -0
  310. package/lib/cjs/metadata/calculations/getClassMetadata.d.ts.map +1 -1
  311. package/lib/cjs/metadata/calculations/getClassMetadata.js +14 -14
  312. package/lib/cjs/metadata/calculations/getClassMetadata.js.map +1 -1
  313. package/lib/cjs/metadata/calculations/getClassMetadata.spec.d.ts +2 -0
  314. package/lib/cjs/metadata/calculations/getDefaultClassMetadata.d.ts.map +1 -1
  315. package/lib/cjs/metadata/calculations/getDefaultClassMetadata.js +1 -0
  316. package/lib/cjs/metadata/calculations/getDefaultClassMetadata.js.map +1 -1
  317. package/lib/cjs/metadata/calculations/getDefaultClassMetadata.spec.d.ts +2 -0
  318. package/lib/cjs/metadata/calculations/getDefaultPendingClassMetadataCount.d.ts +2 -0
  319. package/lib/cjs/metadata/calculations/getDefaultPendingClassMetadataCount.d.ts.map +1 -0
  320. package/lib/cjs/metadata/calculations/getDefaultPendingClassMetadataCount.js +7 -0
  321. package/lib/cjs/metadata/calculations/getDefaultPendingClassMetadataCount.js.map +1 -0
  322. package/lib/cjs/metadata/calculations/getDefaultPendingClassMetadataCount.spec.d.ts +2 -0
  323. package/lib/cjs/metadata/calculations/getDefaultPendingClassMetadataCount.spec.d.ts.map +1 -0
  324. package/lib/cjs/metadata/calculations/getExtendedConstructorArguments.d.ts +5 -0
  325. package/lib/cjs/metadata/calculations/getExtendedConstructorArguments.d.ts.map +1 -0
  326. package/lib/cjs/metadata/calculations/getExtendedConstructorArguments.js +20 -0
  327. package/lib/cjs/metadata/calculations/getExtendedConstructorArguments.js.map +1 -0
  328. package/lib/cjs/metadata/calculations/getExtendedConstructorArguments.spec.d.ts +2 -0
  329. package/lib/cjs/metadata/calculations/getExtendedConstructorArguments.spec.d.ts.map +1 -0
  330. package/lib/cjs/metadata/calculations/getExtendedProperties.d.ts +5 -0
  331. package/lib/cjs/metadata/calculations/getExtendedProperties.d.ts.map +1 -0
  332. package/lib/cjs/metadata/calculations/getExtendedProperties.js +16 -0
  333. package/lib/cjs/metadata/calculations/getExtendedProperties.js.map +1 -0
  334. package/lib/cjs/metadata/calculations/getExtendedProperties.spec.d.ts +2 -0
  335. package/lib/cjs/metadata/calculations/getExtendedProperties.spec.d.ts.map +1 -0
  336. package/lib/cjs/metadata/calculations/handleInjectionError.d.ts +2 -0
  337. package/lib/cjs/metadata/calculations/handleInjectionError.d.ts.map +1 -0
  338. package/lib/cjs/metadata/calculations/handleInjectionError.js +23 -0
  339. package/lib/cjs/metadata/calculations/handleInjectionError.js.map +1 -0
  340. package/lib/cjs/metadata/calculations/handleInjectionError.spec.d.ts +2 -0
  341. package/lib/cjs/metadata/calculations/handleInjectionError.spec.d.ts.map +1 -0
  342. package/lib/cjs/metadata/calculations/isPendingClassMetadata.d.ts +3 -0
  343. package/lib/cjs/metadata/calculations/isPendingClassMetadata.d.ts.map +1 -0
  344. package/lib/cjs/metadata/calculations/isPendingClassMetadata.js +10 -0
  345. package/lib/cjs/metadata/calculations/isPendingClassMetadata.js.map +1 -0
  346. package/lib/cjs/metadata/calculations/isPendingClassMetadata.spec.d.ts +2 -0
  347. package/lib/cjs/metadata/calculations/isPendingClassMetadata.spec.d.ts.map +1 -0
  348. package/lib/cjs/metadata/calculations/throwAtInvalidClassMetadata.d.ts +4 -0
  349. package/lib/cjs/metadata/calculations/throwAtInvalidClassMetadata.d.ts.map +1 -0
  350. package/lib/cjs/metadata/calculations/throwAtInvalidClassMetadata.js +34 -0
  351. package/lib/cjs/metadata/calculations/throwAtInvalidClassMetadata.js.map +1 -0
  352. package/lib/cjs/metadata/calculations/throwAtInvalidClassMetadata.spec.d.ts +2 -0
  353. package/lib/cjs/metadata/calculations/throwAtInvalidClassMetadata.spec.d.ts.map +1 -0
  354. package/lib/cjs/metadata/calculations/validateConstructorMetadataArray.d.ts +4 -0
  355. package/lib/cjs/metadata/calculations/validateConstructorMetadataArray.d.ts.map +1 -0
  356. package/lib/cjs/metadata/calculations/validateConstructorMetadataArray.js +29 -0
  357. package/lib/cjs/metadata/calculations/validateConstructorMetadataArray.js.map +1 -0
  358. package/lib/cjs/metadata/calculations/validateConstructorMetadataArray.spec.d.ts +2 -0
  359. package/lib/cjs/metadata/calculations/validateConstructorMetadataArray.spec.d.ts.map +1 -0
  360. package/lib/cjs/metadata/decorators/inject.d.ts +3 -0
  361. package/lib/cjs/metadata/decorators/inject.d.ts.map +1 -0
  362. package/lib/cjs/metadata/decorators/inject.int.spec.d.ts +2 -0
  363. package/lib/cjs/metadata/decorators/inject.int.spec.d.ts.map +1 -0
  364. package/lib/cjs/metadata/decorators/inject.js +25 -0
  365. package/lib/cjs/metadata/decorators/inject.js.map +1 -0
  366. package/lib/cjs/metadata/decorators/inject.spec.d.ts +2 -0
  367. package/lib/cjs/metadata/decorators/inject.spec.d.ts.map +1 -0
  368. package/lib/cjs/metadata/decorators/injectBase.d.ts +1 -2
  369. package/lib/cjs/metadata/decorators/injectBase.d.ts.map +1 -1
  370. package/lib/cjs/metadata/decorators/injectBase.js +18 -7
  371. package/lib/cjs/metadata/decorators/injectBase.js.map +1 -1
  372. package/lib/cjs/metadata/decorators/injectBase.spec.d.ts +2 -0
  373. package/lib/cjs/metadata/decorators/injectFrom.d.ts +3 -0
  374. package/lib/cjs/metadata/decorators/injectFrom.d.ts.map +1 -0
  375. package/lib/cjs/metadata/decorators/injectFrom.int.spec.d.ts +2 -0
  376. package/lib/cjs/metadata/decorators/injectFrom.int.spec.d.ts.map +1 -0
  377. package/lib/cjs/metadata/decorators/injectFrom.js +27 -0
  378. package/lib/cjs/metadata/decorators/injectFrom.js.map +1 -0
  379. package/lib/cjs/metadata/decorators/injectFrom.spec.d.ts +2 -0
  380. package/lib/cjs/metadata/decorators/injectFrom.spec.d.ts.map +1 -0
  381. package/lib/cjs/metadata/decorators/injectFromBase.d.ts +3 -0
  382. package/lib/cjs/metadata/decorators/injectFromBase.d.ts.map +1 -0
  383. package/lib/cjs/metadata/decorators/injectFromBase.js +21 -0
  384. package/lib/cjs/metadata/decorators/injectFromBase.js.map +1 -0
  385. package/lib/cjs/metadata/decorators/injectFromBase.spec.d.ts +2 -0
  386. package/lib/cjs/metadata/decorators/injectFromBase.spec.d.ts.map +1 -0
  387. package/lib/cjs/metadata/decorators/injectable.d.ts +3 -0
  388. package/lib/cjs/metadata/decorators/injectable.d.ts.map +1 -0
  389. package/lib/cjs/metadata/decorators/injectable.js +20 -0
  390. package/lib/cjs/metadata/decorators/injectable.js.map +1 -0
  391. package/lib/cjs/metadata/decorators/injectable.spec.d.ts +2 -0
  392. package/lib/cjs/metadata/decorators/injectable.spec.d.ts.map +1 -0
  393. package/lib/cjs/metadata/decorators/multiInject.d.ts +3 -0
  394. package/lib/cjs/metadata/decorators/multiInject.d.ts.map +1 -0
  395. package/lib/cjs/metadata/decorators/multiInject.int.spec.d.ts +2 -0
  396. package/lib/cjs/metadata/decorators/multiInject.int.spec.d.ts.map +1 -0
  397. package/lib/cjs/metadata/decorators/multiInject.js +25 -0
  398. package/lib/cjs/metadata/decorators/multiInject.js.map +1 -0
  399. package/lib/cjs/metadata/decorators/multiInject.spec.d.ts +2 -0
  400. package/lib/cjs/metadata/decorators/multiInject.spec.d.ts.map +1 -0
  401. package/lib/cjs/metadata/decorators/named.d.ts +3 -0
  402. package/lib/cjs/metadata/decorators/named.d.ts.map +1 -0
  403. package/lib/cjs/metadata/decorators/named.int.spec.d.ts +2 -0
  404. package/lib/cjs/metadata/decorators/named.int.spec.d.ts.map +1 -0
  405. package/lib/cjs/metadata/decorators/named.js +25 -0
  406. package/lib/cjs/metadata/decorators/named.js.map +1 -0
  407. package/lib/cjs/metadata/decorators/named.spec.d.ts +2 -0
  408. package/lib/cjs/metadata/decorators/named.spec.d.ts.map +1 -0
  409. package/lib/cjs/metadata/decorators/optional.d.ts +2 -0
  410. package/lib/cjs/metadata/decorators/optional.d.ts.map +1 -0
  411. package/lib/cjs/metadata/decorators/optional.int.spec.d.ts +2 -0
  412. package/lib/cjs/metadata/decorators/optional.int.spec.d.ts.map +1 -0
  413. package/lib/cjs/metadata/decorators/optional.js +25 -0
  414. package/lib/cjs/metadata/decorators/optional.js.map +1 -0
  415. package/lib/cjs/metadata/decorators/optional.spec.d.ts +2 -0
  416. package/lib/cjs/metadata/decorators/optional.spec.d.ts.map +1 -0
  417. package/lib/cjs/metadata/decorators/postConstruct.d.ts +2 -0
  418. package/lib/cjs/metadata/decorators/postConstruct.d.ts.map +1 -0
  419. package/lib/cjs/metadata/decorators/postConstruct.int.spec.d.ts +2 -0
  420. package/lib/cjs/metadata/decorators/postConstruct.int.spec.d.ts.map +1 -0
  421. package/lib/cjs/metadata/decorators/postConstruct.js +19 -0
  422. package/lib/cjs/metadata/decorators/postConstruct.js.map +1 -0
  423. package/lib/cjs/metadata/decorators/postConstruct.spec.d.ts +2 -0
  424. package/lib/cjs/metadata/decorators/postConstruct.spec.d.ts.map +1 -0
  425. package/lib/cjs/metadata/decorators/preDestroy.d.ts +2 -0
  426. package/lib/cjs/metadata/decorators/preDestroy.d.ts.map +1 -0
  427. package/lib/cjs/metadata/decorators/preDestroy.int.spec.d.ts +2 -0
  428. package/lib/cjs/metadata/decorators/preDestroy.int.spec.d.ts.map +1 -0
  429. package/lib/cjs/metadata/decorators/preDestroy.js +19 -0
  430. package/lib/cjs/metadata/decorators/preDestroy.js.map +1 -0
  431. package/lib/cjs/metadata/decorators/preDestroy.spec.d.ts +2 -0
  432. package/lib/cjs/metadata/decorators/preDestroy.spec.d.ts.map +1 -0
  433. package/lib/cjs/metadata/decorators/tagged.d.ts +3 -0
  434. package/lib/cjs/metadata/decorators/tagged.d.ts.map +1 -0
  435. package/lib/cjs/metadata/decorators/tagged.int.spec.d.ts +2 -0
  436. package/lib/cjs/metadata/decorators/tagged.int.spec.d.ts.map +1 -0
  437. package/lib/cjs/metadata/decorators/tagged.js +25 -0
  438. package/lib/cjs/metadata/decorators/tagged.js.map +1 -0
  439. package/lib/cjs/metadata/decorators/tagged.spec.d.ts +2 -0
  440. package/lib/cjs/metadata/decorators/tagged.spec.d.ts.map +1 -0
  441. package/lib/cjs/metadata/decorators/targetName.d.ts +3 -0
  442. package/lib/cjs/metadata/decorators/targetName.d.ts.map +1 -0
  443. package/lib/cjs/metadata/decorators/targetName.int.spec.d.ts +2 -0
  444. package/lib/cjs/metadata/decorators/targetName.int.spec.d.ts.map +1 -0
  445. package/lib/cjs/metadata/decorators/targetName.js +25 -0
  446. package/lib/cjs/metadata/decorators/targetName.js.map +1 -0
  447. package/lib/cjs/metadata/decorators/targetName.spec.d.ts +2 -0
  448. package/lib/cjs/metadata/decorators/targetName.spec.d.ts.map +1 -0
  449. package/lib/cjs/metadata/decorators/unmanaged.d.ts +2 -0
  450. package/lib/cjs/metadata/decorators/unmanaged.d.ts.map +1 -0
  451. package/lib/cjs/metadata/decorators/unmanaged.int.spec.d.ts +2 -0
  452. package/lib/cjs/metadata/decorators/unmanaged.int.spec.d.ts.map +1 -0
  453. package/lib/cjs/metadata/decorators/unmanaged.js +24 -0
  454. package/lib/cjs/metadata/decorators/unmanaged.js.map +1 -0
  455. package/lib/cjs/metadata/decorators/unmanaged.spec.d.ts +2 -0
  456. package/lib/cjs/metadata/decorators/unmanaged.spec.d.ts.map +1 -0
  457. package/lib/cjs/metadata/models/ClassMetadata.d.ts +2 -0
  458. package/lib/cjs/metadata/models/ClassMetadata.d.ts.map +1 -1
  459. package/lib/cjs/metadata/models/ClassMetadataLifecycle.d.ts +2 -2
  460. package/lib/cjs/metadata/models/ClassMetadataLifecycle.d.ts.map +1 -1
  461. package/lib/cjs/metadata/models/InjectFromBaseOptions.d.ts +5 -0
  462. package/lib/cjs/metadata/models/InjectFromBaseOptions.d.ts.map +1 -0
  463. package/lib/cjs/metadata/models/InjectFromBaseOptions.js +3 -0
  464. package/lib/cjs/metadata/models/InjectFromBaseOptions.js.map +1 -0
  465. package/lib/cjs/metadata/models/InjectFromOptions.d.ts +7 -0
  466. package/lib/cjs/metadata/models/InjectFromOptions.d.ts.map +1 -0
  467. package/lib/cjs/metadata/models/InjectFromOptions.js +3 -0
  468. package/lib/cjs/metadata/models/InjectFromOptions.js.map +1 -0
  469. package/lib/cjs/metadata/models/ManagedClassElementMetadata.d.ts +1 -0
  470. package/lib/cjs/metadata/models/ManagedClassElementMetadata.d.ts.map +1 -1
  471. package/lib/cjs/metadata/models/MaybeClassMetadata.d.ts +2 -0
  472. package/lib/cjs/metadata/models/MaybeClassMetadata.d.ts.map +1 -1
  473. package/lib/cjs/metadata/models/MaybeManagedClassElementMetadata.d.ts +1 -3
  474. package/lib/cjs/metadata/models/MaybeManagedClassElementMetadata.d.ts.map +1 -1
  475. package/lib/cjs/planning/actions/addBranchService.d.ts +4 -0
  476. package/lib/cjs/planning/actions/addBranchService.d.ts.map +1 -0
  477. package/lib/cjs/planning/actions/addBranchService.js +23 -0
  478. package/lib/cjs/planning/actions/addBranchService.js.map +1 -0
  479. package/lib/cjs/planning/actions/addBranchService.spec.d.ts +2 -0
  480. package/lib/cjs/planning/actions/addBranchService.spec.d.ts.map +1 -0
  481. package/lib/cjs/planning/calculations/buildFilteredServiceBindings.d.ts +10 -0
  482. package/lib/cjs/planning/calculations/buildFilteredServiceBindings.d.ts.map +1 -0
  483. package/lib/cjs/planning/calculations/buildFilteredServiceBindings.js +13 -0
  484. package/lib/cjs/planning/calculations/buildFilteredServiceBindings.js.map +1 -0
  485. package/lib/cjs/planning/calculations/buildFilteredServiceBindings.spec.d.ts +2 -0
  486. package/lib/cjs/planning/calculations/buildFilteredServiceBindings.spec.d.ts.map +1 -0
  487. package/lib/cjs/planning/calculations/checkPlanServiceRedirectionBindingNodeSingleInjectionBindings.d.ts +3 -0
  488. package/lib/cjs/planning/calculations/checkPlanServiceRedirectionBindingNodeSingleInjectionBindings.d.ts.map +1 -0
  489. package/lib/cjs/planning/calculations/checkPlanServiceRedirectionBindingNodeSingleInjectionBindings.js +18 -0
  490. package/lib/cjs/planning/calculations/checkPlanServiceRedirectionBindingNodeSingleInjectionBindings.js.map +1 -0
  491. package/lib/cjs/planning/calculations/checkPlanServiceRedirectionBindingNodeSingleInjectionBindings.spec.d.ts +2 -0
  492. package/lib/cjs/planning/calculations/checkPlanServiceRedirectionBindingNodeSingleInjectionBindings.spec.d.ts.map +1 -0
  493. package/lib/cjs/planning/calculations/checkServiceNodeSingleInjectionBindings.d.ts +3 -0
  494. package/lib/cjs/planning/calculations/checkServiceNodeSingleInjectionBindings.d.ts.map +1 -0
  495. package/lib/cjs/planning/calculations/checkServiceNodeSingleInjectionBindings.js +20 -0
  496. package/lib/cjs/planning/calculations/checkServiceNodeSingleInjectionBindings.js.map +1 -0
  497. package/lib/cjs/planning/calculations/checkServiceNodeSingleInjectionBindings.spec.d.ts +2 -0
  498. package/lib/cjs/planning/calculations/checkServiceNodeSingleInjectionBindings.spec.d.ts.map +1 -0
  499. package/lib/cjs/planning/calculations/isPlanServiceRedirectionBindingNode.d.ts +5 -0
  500. package/lib/cjs/planning/calculations/isPlanServiceRedirectionBindingNode.d.ts.map +1 -0
  501. package/lib/cjs/planning/calculations/isPlanServiceRedirectionBindingNode.js +8 -0
  502. package/lib/cjs/planning/calculations/isPlanServiceRedirectionBindingNode.js.map +1 -0
  503. package/lib/cjs/planning/calculations/isPlanServiceRedirectionBindingNode.spec.d.ts +2 -0
  504. package/lib/cjs/planning/calculations/isPlanServiceRedirectionBindingNode.spec.d.ts.map +1 -0
  505. package/lib/cjs/planning/calculations/plan.d.ts +4 -0
  506. package/lib/cjs/planning/calculations/plan.d.ts.map +1 -0
  507. package/lib/cjs/planning/calculations/plan.int.spec.d.ts +2 -0
  508. package/lib/cjs/planning/calculations/plan.int.spec.d.ts.map +1 -0
  509. package/lib/cjs/planning/calculations/plan.js +141 -0
  510. package/lib/cjs/planning/calculations/plan.js.map +1 -0
  511. package/lib/cjs/planning/calculations/plan.spec.d.ts +2 -0
  512. package/lib/cjs/planning/calculations/plan.spec.d.ts.map +1 -0
  513. package/lib/cjs/planning/calculations/throwErrorWhenUnexpectedBindingsAmountFound.d.ts +4 -0
  514. package/lib/cjs/planning/calculations/throwErrorWhenUnexpectedBindingsAmountFound.d.ts.map +1 -0
  515. package/lib/cjs/planning/calculations/throwErrorWhenUnexpectedBindingsAmountFound.js +63 -0
  516. package/lib/cjs/planning/calculations/throwErrorWhenUnexpectedBindingsAmountFound.js.map +1 -0
  517. package/lib/cjs/planning/calculations/throwErrorWhenUnexpectedBindingsAmountFound.spec.d.ts +2 -0
  518. package/lib/cjs/planning/calculations/throwErrorWhenUnexpectedBindingsAmountFound.spec.d.ts.map +1 -0
  519. package/lib/cjs/planning/models/BaseBindingNode.d.ts +7 -0
  520. package/lib/cjs/planning/models/BaseBindingNode.d.ts.map +1 -0
  521. package/lib/cjs/planning/models/BaseBindingNode.js +3 -0
  522. package/lib/cjs/planning/models/BaseBindingNode.js.map +1 -0
  523. package/lib/cjs/planning/models/BasePlanParams.d.ts +9 -0
  524. package/lib/cjs/planning/models/BasePlanParams.d.ts.map +1 -0
  525. package/lib/cjs/planning/models/BasePlanParams.js +3 -0
  526. package/lib/cjs/planning/models/BasePlanParams.js.map +1 -0
  527. package/lib/cjs/planning/models/BindingNodeParent.d.ts +4 -0
  528. package/lib/cjs/planning/models/BindingNodeParent.d.ts.map +1 -0
  529. package/lib/cjs/planning/models/BindingNodeParent.js +3 -0
  530. package/lib/cjs/planning/models/BindingNodeParent.js.map +1 -0
  531. package/lib/cjs/planning/models/InstanceBindingNode.d.ts +10 -0
  532. package/lib/cjs/planning/models/InstanceBindingNode.d.ts.map +1 -0
  533. package/lib/cjs/planning/models/InstanceBindingNode.js +3 -0
  534. package/lib/cjs/planning/models/InstanceBindingNode.js.map +1 -0
  535. package/lib/cjs/planning/models/LeafBindingNode.d.ts +9 -0
  536. package/lib/cjs/planning/models/LeafBindingNode.d.ts.map +1 -0
  537. package/lib/cjs/planning/models/LeafBindingNode.js +3 -0
  538. package/lib/cjs/planning/models/LeafBindingNode.js.map +1 -0
  539. package/lib/cjs/planning/models/PlanBindingNode.d.ts +5 -0
  540. package/lib/cjs/planning/models/PlanBindingNode.d.ts.map +1 -0
  541. package/lib/cjs/planning/models/PlanBindingNode.js +3 -0
  542. package/lib/cjs/planning/models/PlanBindingNode.js.map +1 -0
  543. package/lib/cjs/planning/models/PlanParams.d.ts +6 -0
  544. package/lib/cjs/planning/models/PlanParams.d.ts.map +1 -0
  545. package/lib/cjs/planning/models/PlanParams.js +3 -0
  546. package/lib/cjs/planning/models/PlanParams.js.map +1 -0
  547. package/lib/cjs/planning/models/PlanParamsConstraint.d.ts +11 -0
  548. package/lib/cjs/planning/models/PlanParamsConstraint.d.ts.map +1 -0
  549. package/lib/cjs/planning/models/PlanParamsConstraint.js +3 -0
  550. package/lib/cjs/planning/models/PlanParamsConstraint.js.map +1 -0
  551. package/lib/cjs/planning/models/PlanParamsTagConstraint.d.ts +6 -0
  552. package/lib/cjs/planning/models/PlanParamsTagConstraint.d.ts.map +1 -0
  553. package/lib/cjs/planning/models/PlanParamsTagConstraint.js +3 -0
  554. package/lib/cjs/planning/models/PlanParamsTagConstraint.js.map +1 -0
  555. package/lib/cjs/planning/models/PlanResult.d.ts +5 -0
  556. package/lib/cjs/planning/models/PlanResult.d.ts.map +1 -0
  557. package/lib/cjs/planning/models/PlanResult.js +3 -0
  558. package/lib/cjs/planning/models/PlanResult.js.map +1 -0
  559. package/lib/cjs/planning/models/PlanServiceNode.d.ts +9 -0
  560. package/lib/cjs/planning/models/PlanServiceNode.d.ts.map +1 -0
  561. package/lib/cjs/planning/models/PlanServiceNode.js +3 -0
  562. package/lib/cjs/planning/models/PlanServiceNode.js.map +1 -0
  563. package/lib/cjs/planning/models/PlanServiceNodeParent.d.ts +4 -0
  564. package/lib/cjs/planning/models/PlanServiceNodeParent.d.ts.map +1 -0
  565. package/lib/cjs/planning/models/PlanServiceNodeParent.js +3 -0
  566. package/lib/cjs/planning/models/PlanServiceNodeParent.js.map +1 -0
  567. package/lib/cjs/planning/models/PlanServiceRedirectionBindingNode.d.ts +7 -0
  568. package/lib/cjs/planning/models/PlanServiceRedirectionBindingNode.d.ts.map +1 -0
  569. package/lib/cjs/planning/models/PlanServiceRedirectionBindingNode.js +3 -0
  570. package/lib/cjs/planning/models/PlanServiceRedirectionBindingNode.js.map +1 -0
  571. package/lib/cjs/planning/models/PlanTree.d.ts +5 -0
  572. package/lib/cjs/planning/models/PlanTree.d.ts.map +1 -0
  573. package/lib/cjs/planning/models/PlanTree.js +3 -0
  574. package/lib/cjs/planning/models/PlanTree.js.map +1 -0
  575. package/lib/cjs/planning/models/SubplanParams.d.ts +6 -0
  576. package/lib/cjs/planning/models/SubplanParams.d.ts.map +1 -0
  577. package/lib/cjs/planning/models/SubplanParams.js +3 -0
  578. package/lib/cjs/planning/models/SubplanParams.js.map +1 -0
  579. package/lib/cjs/reflectMetadata/data/pendingClassMetadataCountReflectKey.d.ts +2 -0
  580. package/lib/cjs/reflectMetadata/data/pendingClassMetadataCountReflectKey.d.ts.map +1 -0
  581. package/lib/cjs/reflectMetadata/data/pendingClassMetadataCountReflectKey.js +5 -0
  582. package/lib/cjs/reflectMetadata/data/pendingClassMetadataCountReflectKey.js.map +1 -0
  583. package/lib/cjs/reflectMetadata/data/typescriptDesignParameterTypesReflectKey.d.ts +2 -0
  584. package/lib/cjs/reflectMetadata/data/typescriptDesignParameterTypesReflectKey.d.ts.map +1 -0
  585. package/lib/cjs/reflectMetadata/data/typescriptDesignParameterTypesReflectKey.js +5 -0
  586. package/lib/cjs/reflectMetadata/data/typescriptDesignParameterTypesReflectKey.js.map +1 -0
  587. package/lib/cjs/resolution/actions/resolve.d.ts +3 -0
  588. package/lib/cjs/resolution/actions/resolve.d.ts.map +1 -0
  589. package/lib/cjs/resolution/actions/resolve.int.spec.d.ts +2 -0
  590. package/lib/cjs/resolution/actions/resolve.int.spec.d.ts.map +1 -0
  591. package/lib/cjs/resolution/actions/resolve.js +82 -0
  592. package/lib/cjs/resolution/actions/resolve.js.map +1 -0
  593. package/lib/cjs/resolution/actions/resolve.spec.d.ts +2 -0
  594. package/lib/cjs/resolution/actions/resolve.spec.d.ts.map +1 -0
  595. package/lib/cjs/resolution/actions/resolveBindingActivations.d.ts +7 -0
  596. package/lib/cjs/resolution/actions/resolveBindingActivations.d.ts.map +1 -0
  597. package/lib/cjs/resolution/actions/resolveBindingActivations.js +19 -0
  598. package/lib/cjs/resolution/actions/resolveBindingActivations.js.map +1 -0
  599. package/lib/cjs/resolution/actions/resolveBindingActivations.spec.d.ts +2 -0
  600. package/lib/cjs/resolution/actions/resolveBindingActivations.spec.d.ts.map +1 -0
  601. package/lib/cjs/resolution/actions/resolveBindingDeactivations.d.ts +14 -0
  602. package/lib/cjs/resolution/actions/resolveBindingDeactivations.d.ts.map +1 -0
  603. package/lib/cjs/resolution/actions/resolveBindingDeactivations.js +35 -0
  604. package/lib/cjs/resolution/actions/resolveBindingDeactivations.js.map +1 -0
  605. package/lib/cjs/resolution/actions/resolveBindingDeactivations.spec.d.ts +2 -0
  606. package/lib/cjs/resolution/actions/resolveBindingDeactivations.spec.d.ts.map +1 -0
  607. package/lib/cjs/resolution/actions/resolveBindingPreDestroy.d.ts +14 -0
  608. package/lib/cjs/resolution/actions/resolveBindingPreDestroy.d.ts.map +1 -0
  609. package/lib/cjs/resolution/actions/resolveBindingPreDestroy.js +26 -0
  610. package/lib/cjs/resolution/actions/resolveBindingPreDestroy.js.map +1 -0
  611. package/lib/cjs/resolution/actions/resolveBindingPreDestroy.spec.d.ts +2 -0
  612. package/lib/cjs/resolution/actions/resolveBindingPreDestroy.spec.d.ts.map +1 -0
  613. package/lib/cjs/resolution/actions/resolveBindingServiceActivations.d.ts +5 -0
  614. package/lib/cjs/resolution/actions/resolveBindingServiceActivations.d.ts.map +1 -0
  615. package/lib/cjs/resolution/actions/resolveBindingServiceActivations.js +39 -0
  616. package/lib/cjs/resolution/actions/resolveBindingServiceActivations.js.map +1 -0
  617. package/lib/cjs/resolution/actions/resolveBindingServiceActivations.spec.d.ts +2 -0
  618. package/lib/cjs/resolution/actions/resolveBindingServiceActivations.spec.d.ts.map +1 -0
  619. package/lib/cjs/resolution/actions/resolveBindingServiceDeactivations.d.ts +5 -0
  620. package/lib/cjs/resolution/actions/resolveBindingServiceDeactivations.d.ts.map +1 -0
  621. package/lib/cjs/resolution/actions/resolveBindingServiceDeactivations.js +33 -0
  622. package/lib/cjs/resolution/actions/resolveBindingServiceDeactivations.js.map +1 -0
  623. package/lib/cjs/resolution/actions/resolveBindingServiceDeactivations.spec.d.ts +2 -0
  624. package/lib/cjs/resolution/actions/resolveBindingServiceDeactivations.spec.d.ts.map +1 -0
  625. package/lib/cjs/resolution/actions/resolveBindingsDeactivations.d.ts +4 -0
  626. package/lib/cjs/resolution/actions/resolveBindingsDeactivations.d.ts.map +1 -0
  627. package/lib/cjs/resolution/actions/resolveBindingsDeactivations.js +35 -0
  628. package/lib/cjs/resolution/actions/resolveBindingsDeactivations.js.map +1 -0
  629. package/lib/cjs/resolution/actions/resolveBindingsDeactivations.spec.d.ts +2 -0
  630. package/lib/cjs/resolution/actions/resolveBindingsDeactivations.spec.d.ts.map +1 -0
  631. package/lib/cjs/resolution/actions/resolveConstantValueBinding.d.ts +5 -0
  632. package/lib/cjs/resolution/actions/resolveConstantValueBinding.d.ts.map +1 -0
  633. package/lib/cjs/resolution/actions/resolveConstantValueBinding.js +7 -0
  634. package/lib/cjs/resolution/actions/resolveConstantValueBinding.js.map +1 -0
  635. package/lib/cjs/resolution/actions/resolveDynamicValueBinding.d.ts +5 -0
  636. package/lib/cjs/resolution/actions/resolveDynamicValueBinding.d.ts.map +1 -0
  637. package/lib/cjs/resolution/actions/resolveDynamicValueBinding.js +7 -0
  638. package/lib/cjs/resolution/actions/resolveDynamicValueBinding.js.map +1 -0
  639. package/lib/cjs/resolution/actions/resolveFactoryBinding.d.ts +6 -0
  640. package/lib/cjs/resolution/actions/resolveFactoryBinding.d.ts.map +1 -0
  641. package/lib/cjs/resolution/actions/resolveFactoryBinding.js +7 -0
  642. package/lib/cjs/resolution/actions/resolveFactoryBinding.js.map +1 -0
  643. package/lib/cjs/resolution/actions/resolveInstanceBindingConstructorParams.d.ts +6 -0
  644. package/lib/cjs/resolution/actions/resolveInstanceBindingConstructorParams.d.ts.map +1 -0
  645. package/lib/cjs/resolution/actions/resolveInstanceBindingConstructorParams.js +21 -0
  646. package/lib/cjs/resolution/actions/resolveInstanceBindingConstructorParams.js.map +1 -0
  647. package/lib/cjs/resolution/actions/resolveInstanceBindingConstructorParams.spec.d.ts +2 -0
  648. package/lib/cjs/resolution/actions/resolveInstanceBindingConstructorParams.spec.d.ts.map +1 -0
  649. package/lib/cjs/resolution/actions/resolveInstanceBindingNode.d.ts +6 -0
  650. package/lib/cjs/resolution/actions/resolveInstanceBindingNode.d.ts.map +1 -0
  651. package/lib/cjs/resolution/actions/resolveInstanceBindingNode.js +14 -0
  652. package/lib/cjs/resolution/actions/resolveInstanceBindingNode.js.map +1 -0
  653. package/lib/cjs/resolution/actions/resolveInstanceBindingNode.spec.d.ts +2 -0
  654. package/lib/cjs/resolution/actions/resolveInstanceBindingNode.spec.d.ts.map +1 -0
  655. package/lib/cjs/resolution/actions/resolveInstanceBindingNodeAsyncFromConstructorParams.d.ts +6 -0
  656. package/lib/cjs/resolution/actions/resolveInstanceBindingNodeAsyncFromConstructorParams.d.ts.map +1 -0
  657. package/lib/cjs/resolution/actions/resolveInstanceBindingNodeAsyncFromConstructorParams.js +10 -0
  658. package/lib/cjs/resolution/actions/resolveInstanceBindingNodeAsyncFromConstructorParams.js.map +1 -0
  659. package/lib/cjs/resolution/actions/resolveInstanceBindingNodeAsyncFromConstructorParams.spec.d.ts +2 -0
  660. package/lib/cjs/resolution/actions/resolveInstanceBindingNodeAsyncFromConstructorParams.spec.d.ts.map +1 -0
  661. package/lib/cjs/resolution/actions/resolveInstanceBindingNodeFromConstructorParams.d.ts +6 -0
  662. package/lib/cjs/resolution/actions/resolveInstanceBindingNodeFromConstructorParams.d.ts.map +1 -0
  663. package/lib/cjs/resolution/actions/resolveInstanceBindingNodeFromConstructorParams.js +16 -0
  664. package/lib/cjs/resolution/actions/resolveInstanceBindingNodeFromConstructorParams.js.map +1 -0
  665. package/lib/cjs/resolution/actions/resolveInstanceBindingNodeFromConstructorParams.spec.d.ts +2 -0
  666. package/lib/cjs/resolution/actions/resolveInstanceBindingNodeFromConstructorParams.spec.d.ts.map +1 -0
  667. package/lib/cjs/resolution/actions/resolveModuleDeactivations.d.ts +3 -0
  668. package/lib/cjs/resolution/actions/resolveModuleDeactivations.d.ts.map +1 -0
  669. package/lib/cjs/resolution/actions/resolveModuleDeactivations.js +9 -0
  670. package/lib/cjs/resolution/actions/resolveModuleDeactivations.js.map +1 -0
  671. package/lib/cjs/resolution/actions/resolveModuleDeactivations.spec.d.ts +2 -0
  672. package/lib/cjs/resolution/actions/resolveModuleDeactivations.spec.d.ts.map +1 -0
  673. package/lib/cjs/resolution/actions/resolvePostConstruct.d.ts +4 -0
  674. package/lib/cjs/resolution/actions/resolvePostConstruct.d.ts.map +1 -0
  675. package/lib/cjs/resolution/actions/resolvePostConstruct.js +52 -0
  676. package/lib/cjs/resolution/actions/resolvePostConstruct.js.map +1 -0
  677. package/lib/cjs/resolution/actions/resolvePostConstruct.spec.d.ts +2 -0
  678. package/lib/cjs/resolution/actions/resolvePostConstruct.spec.d.ts.map +1 -0
  679. package/lib/cjs/resolution/actions/resolveProviderBinding.d.ts +6 -0
  680. package/lib/cjs/resolution/actions/resolveProviderBinding.d.ts.map +1 -0
  681. package/lib/cjs/resolution/actions/resolveProviderBinding.js +7 -0
  682. package/lib/cjs/resolution/actions/resolveProviderBinding.js.map +1 -0
  683. package/lib/cjs/resolution/actions/resolveScoped.d.ts +7 -0
  684. package/lib/cjs/resolution/actions/resolveScoped.d.ts.map +1 -0
  685. package/lib/cjs/resolution/actions/resolveScoped.js +37 -0
  686. package/lib/cjs/resolution/actions/resolveScoped.js.map +1 -0
  687. package/lib/cjs/resolution/actions/resolveScoped.spec.d.ts +2 -0
  688. package/lib/cjs/resolution/actions/resolveScoped.spec.d.ts.map +1 -0
  689. package/lib/cjs/resolution/actions/resolveScopedBinding.d.ts +7 -0
  690. package/lib/cjs/resolution/actions/resolveScopedBinding.d.ts.map +1 -0
  691. package/lib/cjs/resolution/actions/resolveScopedBinding.js +8 -0
  692. package/lib/cjs/resolution/actions/resolveScopedBinding.js.map +1 -0
  693. package/lib/cjs/resolution/actions/resolveScopedInstanceBindingNode.d.ts +6 -0
  694. package/lib/cjs/resolution/actions/resolveScopedInstanceBindingNode.d.ts.map +1 -0
  695. package/lib/cjs/resolution/actions/resolveScopedInstanceBindingNode.js +8 -0
  696. package/lib/cjs/resolution/actions/resolveScopedInstanceBindingNode.js.map +1 -0
  697. package/lib/cjs/resolution/actions/resolveServiceDeactivations.d.ts +4 -0
  698. package/lib/cjs/resolution/actions/resolveServiceDeactivations.d.ts.map +1 -0
  699. package/lib/cjs/resolution/actions/resolveServiceDeactivations.js +9 -0
  700. package/lib/cjs/resolution/actions/resolveServiceDeactivations.js.map +1 -0
  701. package/lib/cjs/resolution/actions/resolveServiceDeactivations.spec.d.ts +2 -0
  702. package/lib/cjs/resolution/actions/resolveServiceDeactivations.spec.d.ts.map +1 -0
  703. package/lib/cjs/resolution/actions/resolveServiceRedirectionBindingNode.d.ts +6 -0
  704. package/lib/cjs/resolution/actions/resolveServiceRedirectionBindingNode.d.ts.map +1 -0
  705. package/lib/cjs/resolution/actions/resolveServiceRedirectionBindingNode.js +20 -0
  706. package/lib/cjs/resolution/actions/resolveServiceRedirectionBindingNode.js.map +1 -0
  707. package/lib/cjs/resolution/actions/resolveServiceRedirectionBindingNode.spec.d.ts +2 -0
  708. package/lib/cjs/resolution/actions/resolveServiceRedirectionBindingNode.spec.d.ts.map +1 -0
  709. package/lib/cjs/resolution/actions/resolveSingletonScopedBinding.d.ts +7 -0
  710. package/lib/cjs/resolution/actions/resolveSingletonScopedBinding.d.ts.map +1 -0
  711. package/lib/cjs/resolution/actions/resolveSingletonScopedBinding.js +18 -0
  712. package/lib/cjs/resolution/actions/resolveSingletonScopedBinding.js.map +1 -0
  713. package/lib/cjs/resolution/actions/resolveSingletonScopedBinding.spec.d.ts +2 -0
  714. package/lib/cjs/resolution/actions/resolveSingletonScopedBinding.spec.d.ts.map +1 -0
  715. package/lib/cjs/resolution/actions/setInstanceProperties.d.ts +5 -0
  716. package/lib/cjs/resolution/actions/setInstanceProperties.d.ts.map +1 -0
  717. package/lib/cjs/resolution/actions/setInstanceProperties.js +31 -0
  718. package/lib/cjs/resolution/actions/setInstanceProperties.js.map +1 -0
  719. package/lib/cjs/resolution/actions/setInstanceProperties.spec.d.ts +2 -0
  720. package/lib/cjs/resolution/actions/setInstanceProperties.spec.d.ts.map +1 -0
  721. package/lib/cjs/resolution/calculations/getInstanceNodeBinding.d.ts +4 -0
  722. package/lib/cjs/resolution/calculations/getInstanceNodeBinding.d.ts.map +1 -0
  723. package/lib/cjs/resolution/calculations/getInstanceNodeBinding.js +7 -0
  724. package/lib/cjs/resolution/calculations/getInstanceNodeBinding.js.map +1 -0
  725. package/lib/cjs/resolution/calculations/getInstanceNodeBinding.spec.d.ts +2 -0
  726. package/lib/cjs/resolution/calculations/getInstanceNodeBinding.spec.d.ts.map +1 -0
  727. package/lib/cjs/resolution/calculations/resolveConstantValueBindingCallback.d.ts +5 -0
  728. package/lib/cjs/resolution/calculations/resolveConstantValueBindingCallback.d.ts.map +1 -0
  729. package/lib/cjs/resolution/calculations/resolveConstantValueBindingCallback.js +7 -0
  730. package/lib/cjs/resolution/calculations/resolveConstantValueBindingCallback.js.map +1 -0
  731. package/lib/cjs/resolution/calculations/resolveConstantValueBindingCallback.spec.d.ts +2 -0
  732. package/lib/cjs/resolution/calculations/resolveConstantValueBindingCallback.spec.d.ts.map +1 -0
  733. package/lib/cjs/resolution/calculations/resolveDynamicValueBindingCallback.d.ts +5 -0
  734. package/lib/cjs/resolution/calculations/resolveDynamicValueBindingCallback.d.ts.map +1 -0
  735. package/lib/cjs/resolution/calculations/resolveDynamicValueBindingCallback.js +7 -0
  736. package/lib/cjs/resolution/calculations/resolveDynamicValueBindingCallback.js.map +1 -0
  737. package/lib/cjs/resolution/calculations/resolveDynamicValueBindingCallback.spec.d.ts +2 -0
  738. package/lib/cjs/resolution/calculations/resolveDynamicValueBindingCallback.spec.d.ts.map +1 -0
  739. package/lib/cjs/resolution/calculations/resolveFactoryBindingCallback.d.ts +5 -0
  740. package/lib/cjs/resolution/calculations/resolveFactoryBindingCallback.d.ts.map +1 -0
  741. package/lib/cjs/resolution/calculations/resolveFactoryBindingCallback.js +7 -0
  742. package/lib/cjs/resolution/calculations/resolveFactoryBindingCallback.js.map +1 -0
  743. package/lib/cjs/resolution/calculations/resolveFactoryBindingCallback.spec.d.ts +2 -0
  744. package/lib/cjs/resolution/calculations/resolveFactoryBindingCallback.spec.d.ts.map +1 -0
  745. package/lib/cjs/resolution/calculations/resolveProviderBindingCallback.d.ts +5 -0
  746. package/lib/cjs/resolution/calculations/resolveProviderBindingCallback.d.ts.map +1 -0
  747. package/lib/cjs/resolution/calculations/resolveProviderBindingCallback.js +7 -0
  748. package/lib/cjs/resolution/calculations/resolveProviderBindingCallback.js.map +1 -0
  749. package/lib/cjs/resolution/calculations/resolveProviderBindingCallback.spec.d.ts +2 -0
  750. package/lib/cjs/resolution/calculations/resolveProviderBindingCallback.spec.d.ts.map +1 -0
  751. package/lib/cjs/resolution/models/DeactivationParams.d.ts +11 -0
  752. package/lib/cjs/resolution/models/DeactivationParams.d.ts.map +1 -0
  753. package/lib/cjs/resolution/models/DeactivationParams.js +3 -0
  754. package/lib/cjs/resolution/models/DeactivationParams.js.map +1 -0
  755. package/lib/cjs/resolution/models/GetOptions.d.ts +8 -0
  756. package/lib/cjs/resolution/models/GetOptions.d.ts.map +1 -0
  757. package/lib/cjs/resolution/models/GetOptions.js +3 -0
  758. package/lib/cjs/resolution/models/GetOptions.js.map +1 -0
  759. package/lib/cjs/resolution/models/GetOptionsTagConstraint.d.ts +6 -0
  760. package/lib/cjs/resolution/models/GetOptionsTagConstraint.d.ts.map +1 -0
  761. package/lib/cjs/resolution/models/GetOptionsTagConstraint.js +3 -0
  762. package/lib/cjs/resolution/models/GetOptionsTagConstraint.js.map +1 -0
  763. package/lib/cjs/resolution/models/OptionalGetOptions.d.ts +5 -0
  764. package/lib/cjs/resolution/models/OptionalGetOptions.d.ts.map +1 -0
  765. package/lib/cjs/resolution/models/OptionalGetOptions.js +3 -0
  766. package/lib/cjs/resolution/models/OptionalGetOptions.js.map +1 -0
  767. package/lib/cjs/resolution/models/ResolutionContext.d.ts +12 -0
  768. package/lib/cjs/resolution/models/ResolutionContext.d.ts.map +1 -0
  769. package/lib/cjs/resolution/models/ResolutionContext.js +3 -0
  770. package/lib/cjs/resolution/models/ResolutionContext.js.map +1 -0
  771. package/lib/cjs/resolution/models/ResolutionParams.d.ts +11 -0
  772. package/lib/cjs/resolution/models/ResolutionParams.d.ts.map +1 -0
  773. package/lib/cjs/resolution/models/ResolutionParams.js +3 -0
  774. package/lib/cjs/resolution/models/ResolutionParams.js.map +1 -0
  775. package/lib/cjs/resolution/models/Resolved.d.ts +3 -0
  776. package/lib/cjs/resolution/models/Resolved.d.ts.map +1 -0
  777. package/lib/cjs/resolution/models/Resolved.js +3 -0
  778. package/lib/cjs/resolution/models/Resolved.js.map +1 -0
  779. package/lib/cjs/string/models/LegacyQueryableStringImpl.spec.d.ts +2 -0
  780. package/lib/cjs/symbol/calculations/getDescription.spec.d.ts +2 -0
  781. package/lib/esm/index.d.ts +314 -23
  782. package/lib/esm/index.d.ts.map +1 -1
  783. package/lib/esm/index.js +2 -2
  784. package/lib/esm/index.js.map +1 -0
  785. package/package.json +19 -18
  786. package/.turbo/turbo-build.log +0 -313
  787. package/lib/cjs/legacyTarget/calculations/getTargetId.d.ts +0 -2
  788. package/lib/cjs/legacyTarget/calculations/getTargetId.d.ts.map +0 -1
  789. package/lib/cjs/legacyTarget/calculations/getTargetId.js +0 -16
  790. package/lib/cjs/legacyTarget/calculations/getTargetId.js.map +0 -1
  791. package/lib/cjs/legacyTarget/calculations/getTargetId.spec.d.ts.map +0 -1
  792. package/lib/cjs/legacyTarget/calculations/getTargets.d.ts +0 -5
  793. package/lib/cjs/legacyTarget/calculations/getTargets.d.ts.map +0 -1
  794. package/lib/cjs/legacyTarget/calculations/getTargets.js +0 -19
  795. package/lib/cjs/legacyTarget/calculations/getTargets.js.map +0 -1
  796. package/lib/cjs/legacyTarget/calculations/getTargets.spec.d.ts.map +0 -1
  797. package/lib/cjs/legacyTarget/calculations/getTargetsFromMetadataProviders.d.ts +0 -6
  798. package/lib/cjs/legacyTarget/calculations/getTargetsFromMetadataProviders.d.ts.map +0 -1
  799. package/lib/cjs/legacyTarget/calculations/getTargetsFromMetadataProviders.js +0 -36
  800. package/lib/cjs/legacyTarget/calculations/getTargetsFromMetadataProviders.js.map +0 -1
  801. package/lib/cjs/legacyTarget/calculations/getTargetsFromMetadataProviders.spec.d.ts.map +0 -1
  802. package/lib/cjs/legacyTarget/models/LegacyTarget.d.ts +0 -25
  803. package/lib/cjs/legacyTarget/models/LegacyTarget.d.ts.map +0 -1
  804. package/lib/cjs/legacyTarget/models/LegacyTarget.js +0 -3
  805. package/lib/cjs/legacyTarget/models/LegacyTarget.js.map +0 -1
  806. package/lib/cjs/legacyTarget/models/LegacyTargetImpl.d.ts +0 -32
  807. package/lib/cjs/legacyTarget/models/LegacyTargetImpl.d.ts.map +0 -1
  808. package/lib/cjs/legacyTarget/models/LegacyTargetImpl.js +0 -95
  809. package/lib/cjs/legacyTarget/models/LegacyTargetImpl.js.map +0 -1
  810. package/lib/cjs/legacyTarget/models/LegacyTargetImpl.spec.d.ts.map +0 -1
  811. package/lib/cjs/legacyTarget/models/LegacyTargetType.d.ts +0 -2
  812. package/lib/cjs/legacyTarget/models/LegacyTargetType.d.ts.map +0 -1
  813. package/lib/cjs/legacyTarget/models/LegacyTargetType.js +0 -3
  814. package/lib/cjs/legacyTarget/models/LegacyTargetType.js.map +0 -1
  815. package/lib/cjs/metadata/calculations/assertConstructorMetadataArrayFilled.d.ts +0 -4
  816. package/lib/cjs/metadata/calculations/assertConstructorMetadataArrayFilled.d.ts.map +0 -1
  817. package/lib/cjs/metadata/calculations/assertConstructorMetadataArrayFilled.js +0 -23
  818. package/lib/cjs/metadata/calculations/assertConstructorMetadataArrayFilled.js.map +0 -1
  819. package/lib/cjs/metadata/calculations/assertConstructorMetadataArrayFilled.spec.d.ts.map +0 -1
  820. package/lib/cjs/metadata/calculations/getClassElementMetadataFromLegacyMetadata.d.ts +0 -4
  821. package/lib/cjs/metadata/calculations/getClassElementMetadataFromLegacyMetadata.d.ts.map +0 -1
  822. package/lib/cjs/metadata/calculations/getClassElementMetadataFromLegacyMetadata.js +0 -48
  823. package/lib/cjs/metadata/calculations/getClassElementMetadataFromLegacyMetadata.js.map +0 -1
  824. package/lib/cjs/metadata/calculations/getClassElementMetadataFromLegacyMetadata.spec.d.ts.map +0 -1
  825. package/lib/cjs/metadata/calculations/getClassElementMetadataFromNewable.d.ts +0 -4
  826. package/lib/cjs/metadata/calculations/getClassElementMetadataFromNewable.d.ts.map +0 -1
  827. package/lib/cjs/metadata/calculations/getClassElementMetadataFromNewable.js +0 -15
  828. package/lib/cjs/metadata/calculations/getClassElementMetadataFromNewable.js.map +0 -1
  829. package/lib/cjs/metadata/calculations/getClassElementMetadataFromNewable.spec.d.ts.map +0 -1
  830. package/lib/cjs/metadata/calculations/getClassMetadataConstructorArguments.d.ts +0 -4
  831. package/lib/cjs/metadata/calculations/getClassMetadataConstructorArguments.d.ts.map +0 -1
  832. package/lib/cjs/metadata/calculations/getClassMetadataConstructorArguments.js +0 -32
  833. package/lib/cjs/metadata/calculations/getClassMetadataConstructorArguments.js.map +0 -1
  834. package/lib/cjs/metadata/calculations/getClassMetadataConstructorArguments.spec.d.ts.map +0 -1
  835. package/lib/cjs/metadata/calculations/getClassMetadataConstructorArgumentsFromMetadataReader.d.ts +0 -5
  836. package/lib/cjs/metadata/calculations/getClassMetadataConstructorArgumentsFromMetadataReader.d.ts.map +0 -1
  837. package/lib/cjs/metadata/calculations/getClassMetadataConstructorArgumentsFromMetadataReader.js +0 -28
  838. package/lib/cjs/metadata/calculations/getClassMetadataConstructorArgumentsFromMetadataReader.js.map +0 -1
  839. package/lib/cjs/metadata/calculations/getClassMetadataConstructorArgumentsFromMetadataReader.spec.d.ts.map +0 -1
  840. package/lib/cjs/metadata/calculations/getClassMetadataFromMetadataReader.d.ts +0 -5
  841. package/lib/cjs/metadata/calculations/getClassMetadataFromMetadataReader.d.ts.map +0 -1
  842. package/lib/cjs/metadata/calculations/getClassMetadataFromMetadataReader.js +0 -21
  843. package/lib/cjs/metadata/calculations/getClassMetadataFromMetadataReader.js.map +0 -1
  844. package/lib/cjs/metadata/calculations/getClassMetadataFromMetadataReader.spec.d.ts.map +0 -1
  845. package/lib/cjs/metadata/calculations/getClassMetadataProperties.d.ts +0 -4
  846. package/lib/cjs/metadata/calculations/getClassMetadataProperties.d.ts.map +0 -1
  847. package/lib/cjs/metadata/calculations/getClassMetadataProperties.js +0 -18
  848. package/lib/cjs/metadata/calculations/getClassMetadataProperties.js.map +0 -1
  849. package/lib/cjs/metadata/calculations/getClassMetadataProperties.spec.d.ts.map +0 -1
  850. package/lib/cjs/metadata/calculations/getClassMetadataPropertiesFromMetadataReader.d.ts +0 -5
  851. package/lib/cjs/metadata/calculations/getClassMetadataPropertiesFromMetadataReader.d.ts.map +0 -1
  852. package/lib/cjs/metadata/calculations/getClassMetadataPropertiesFromMetadataReader.js +0 -14
  853. package/lib/cjs/metadata/calculations/getClassMetadataPropertiesFromMetadataReader.js.map +0 -1
  854. package/lib/cjs/metadata/calculations/getClassMetadataPropertiesFromMetadataReader.spec.d.ts.map +0 -1
  855. package/lib/cjs/metadata/calculations/getConstructorArgumentMetadataFromLegacyMetadata.d.ts +0 -5
  856. package/lib/cjs/metadata/calculations/getConstructorArgumentMetadataFromLegacyMetadata.d.ts.map +0 -1
  857. package/lib/cjs/metadata/calculations/getConstructorArgumentMetadataFromLegacyMetadata.js +0 -20
  858. package/lib/cjs/metadata/calculations/getConstructorArgumentMetadataFromLegacyMetadata.js.map +0 -1
  859. package/lib/cjs/metadata/calculations/getConstructorArgumentMetadataFromLegacyMetadata.spec.d.ts.map +0 -1
  860. package/lib/cjs/metadata/calculations/getLegacyMetadata.d.ts +0 -4
  861. package/lib/cjs/metadata/calculations/getLegacyMetadata.d.ts.map +0 -1
  862. package/lib/cjs/metadata/calculations/getLegacyMetadata.js +0 -70
  863. package/lib/cjs/metadata/calculations/getLegacyMetadata.js.map +0 -1
  864. package/lib/cjs/metadata/calculations/getLegacyMetadata.spec.d.ts.map +0 -1
  865. package/lib/cjs/metadata/calculations/getPropertyMetadataFromLegacyMetadata.d.ts +0 -5
  866. package/lib/cjs/metadata/calculations/getPropertyMetadataFromLegacyMetadata.d.ts.map +0 -1
  867. package/lib/cjs/metadata/calculations/getPropertyMetadataFromLegacyMetadata.js +0 -20
  868. package/lib/cjs/metadata/calculations/getPropertyMetadataFromLegacyMetadata.js.map +0 -1
  869. package/lib/cjs/metadata/calculations/getPropertyMetadataFromLegacyMetadata.spec.d.ts.map +0 -1
  870. package/lib/cjs/metadata/models/LegacyConstructorMetadata.d.ts +0 -6
  871. package/lib/cjs/metadata/models/LegacyConstructorMetadata.d.ts.map +0 -1
  872. package/lib/cjs/metadata/models/LegacyConstructorMetadata.js +0 -3
  873. package/lib/cjs/metadata/models/LegacyConstructorMetadata.js.map +0 -1
  874. package/lib/cjs/metadata/models/LegacyMetadata.d.ts +0 -5
  875. package/lib/cjs/metadata/models/LegacyMetadata.d.ts.map +0 -1
  876. package/lib/cjs/metadata/models/LegacyMetadata.js +0 -3
  877. package/lib/cjs/metadata/models/LegacyMetadata.js.map +0 -1
  878. package/lib/cjs/metadata/models/LegacyMetadataMap.d.ts +0 -5
  879. package/lib/cjs/metadata/models/LegacyMetadataMap.d.ts.map +0 -1
  880. package/lib/cjs/metadata/models/LegacyMetadataMap.js +0 -3
  881. package/lib/cjs/metadata/models/LegacyMetadataMap.js.map +0 -1
  882. package/lib/cjs/metadata/models/LegacyMetadataReader.d.ts +0 -7
  883. package/lib/cjs/metadata/models/LegacyMetadataReader.d.ts.map +0 -1
  884. package/lib/cjs/metadata/models/LegacyMetadataReader.js +0 -3
  885. package/lib/cjs/metadata/models/LegacyMetadataReader.js.map +0 -1
  886. package/lib/cjs/prototype/calculations/getBaseType.d.ts +0 -3
  887. package/lib/cjs/prototype/calculations/getBaseType.d.ts.map +0 -1
  888. package/lib/cjs/prototype/calculations/getBaseType.js +0 -9
  889. package/lib/cjs/prototype/calculations/getBaseType.js.map +0 -1
  890. package/lib/cjs/prototype/calculations/getBaseType.spec.d.ts.map +0 -1
  891. package/lib/cjs/prototype/models/Prototype.d.ts +0 -5
  892. package/lib/cjs/prototype/models/Prototype.d.ts.map +0 -1
  893. package/lib/cjs/prototype/models/Prototype.js +0 -3
  894. package/lib/cjs/prototype/models/Prototype.js.map +0 -1
  895. package/lib/cjs/reflectMetadata/data/keys.d.ts +0 -14
  896. package/lib/cjs/reflectMetadata/data/keys.d.ts.map +0 -1
  897. package/lib/cjs/reflectMetadata/data/keys.js +0 -38
  898. package/lib/cjs/reflectMetadata/data/keys.js.map +0 -1
  899. package/lib/esm/error/models/InversifyCoreError.d.ts +0 -10
  900. package/lib/esm/error/models/InversifyCoreError.d.ts.map +0 -1
  901. package/lib/esm/error/models/InversifyCoreErrorKind.d.ts +0 -5
  902. package/lib/esm/error/models/InversifyCoreErrorKind.d.ts.map +0 -1
  903. package/lib/esm/legacyTarget/calculations/getTargetId.d.ts +0 -2
  904. package/lib/esm/legacyTarget/calculations/getTargetId.d.ts.map +0 -1
  905. package/lib/esm/legacyTarget/calculations/getTargetId.spec.d.ts.map +0 -1
  906. package/lib/esm/legacyTarget/calculations/getTargets.d.ts +0 -5
  907. package/lib/esm/legacyTarget/calculations/getTargets.d.ts.map +0 -1
  908. package/lib/esm/legacyTarget/calculations/getTargets.spec.d.ts.map +0 -1
  909. package/lib/esm/legacyTarget/calculations/getTargetsFromMetadataProviders.d.ts +0 -6
  910. package/lib/esm/legacyTarget/calculations/getTargetsFromMetadataProviders.d.ts.map +0 -1
  911. package/lib/esm/legacyTarget/calculations/getTargetsFromMetadataProviders.spec.d.ts.map +0 -1
  912. package/lib/esm/legacyTarget/models/LegacyTarget.d.ts +0 -25
  913. package/lib/esm/legacyTarget/models/LegacyTarget.d.ts.map +0 -1
  914. package/lib/esm/legacyTarget/models/LegacyTargetImpl.d.ts +0 -32
  915. package/lib/esm/legacyTarget/models/LegacyTargetImpl.d.ts.map +0 -1
  916. package/lib/esm/legacyTarget/models/LegacyTargetImpl.spec.d.ts.map +0 -1
  917. package/lib/esm/legacyTarget/models/LegacyTargetType.d.ts +0 -2
  918. package/lib/esm/legacyTarget/models/LegacyTargetType.d.ts.map +0 -1
  919. package/lib/esm/metadata/actions/updateMaybeClassMetadataConstructorArgument.d.ts +0 -4
  920. package/lib/esm/metadata/actions/updateMaybeClassMetadataConstructorArgument.d.ts.map +0 -1
  921. package/lib/esm/metadata/actions/updateMaybeClassMetadataConstructorArgument.spec.d.ts.map +0 -1
  922. package/lib/esm/metadata/actions/updateMaybeClassMetadataProperty.d.ts +0 -4
  923. package/lib/esm/metadata/actions/updateMaybeClassMetadataProperty.d.ts.map +0 -1
  924. package/lib/esm/metadata/actions/updateMaybeClassMetadataProperty.spec.d.ts.map +0 -1
  925. package/lib/esm/metadata/calculations/assertConstructorMetadataArrayFilled.d.ts +0 -4
  926. package/lib/esm/metadata/calculations/assertConstructorMetadataArrayFilled.d.ts.map +0 -1
  927. package/lib/esm/metadata/calculations/assertConstructorMetadataArrayFilled.spec.d.ts.map +0 -1
  928. package/lib/esm/metadata/calculations/getClassElementMetadataFromLegacyMetadata.d.ts +0 -4
  929. package/lib/esm/metadata/calculations/getClassElementMetadataFromLegacyMetadata.d.ts.map +0 -1
  930. package/lib/esm/metadata/calculations/getClassElementMetadataFromLegacyMetadata.spec.d.ts.map +0 -1
  931. package/lib/esm/metadata/calculations/getClassElementMetadataFromNewable.d.ts +0 -4
  932. package/lib/esm/metadata/calculations/getClassElementMetadataFromNewable.d.ts.map +0 -1
  933. package/lib/esm/metadata/calculations/getClassElementMetadataFromNewable.spec.d.ts.map +0 -1
  934. package/lib/esm/metadata/calculations/getClassMetadata.d.ts +0 -4
  935. package/lib/esm/metadata/calculations/getClassMetadata.d.ts.map +0 -1
  936. package/lib/esm/metadata/calculations/getClassMetadata.spec.d.ts.map +0 -1
  937. package/lib/esm/metadata/calculations/getClassMetadataConstructorArguments.d.ts +0 -4
  938. package/lib/esm/metadata/calculations/getClassMetadataConstructorArguments.d.ts.map +0 -1
  939. package/lib/esm/metadata/calculations/getClassMetadataConstructorArguments.spec.d.ts.map +0 -1
  940. package/lib/esm/metadata/calculations/getClassMetadataConstructorArgumentsFromMetadataReader.d.ts +0 -5
  941. package/lib/esm/metadata/calculations/getClassMetadataConstructorArgumentsFromMetadataReader.d.ts.map +0 -1
  942. package/lib/esm/metadata/calculations/getClassMetadataConstructorArgumentsFromMetadataReader.spec.d.ts.map +0 -1
  943. package/lib/esm/metadata/calculations/getClassMetadataFromMetadataReader.d.ts +0 -5
  944. package/lib/esm/metadata/calculations/getClassMetadataFromMetadataReader.d.ts.map +0 -1
  945. package/lib/esm/metadata/calculations/getClassMetadataFromMetadataReader.spec.d.ts.map +0 -1
  946. package/lib/esm/metadata/calculations/getClassMetadataProperties.d.ts +0 -4
  947. package/lib/esm/metadata/calculations/getClassMetadataProperties.d.ts.map +0 -1
  948. package/lib/esm/metadata/calculations/getClassMetadataProperties.spec.d.ts.map +0 -1
  949. package/lib/esm/metadata/calculations/getClassMetadataPropertiesFromMetadataReader.d.ts +0 -5
  950. package/lib/esm/metadata/calculations/getClassMetadataPropertiesFromMetadataReader.d.ts.map +0 -1
  951. package/lib/esm/metadata/calculations/getClassMetadataPropertiesFromMetadataReader.spec.d.ts.map +0 -1
  952. package/lib/esm/metadata/calculations/getConstructorArgumentMetadataFromLegacyMetadata.d.ts +0 -5
  953. package/lib/esm/metadata/calculations/getConstructorArgumentMetadataFromLegacyMetadata.d.ts.map +0 -1
  954. package/lib/esm/metadata/calculations/getConstructorArgumentMetadataFromLegacyMetadata.spec.d.ts.map +0 -1
  955. package/lib/esm/metadata/calculations/getDefaultClassMetadata.d.ts +0 -3
  956. package/lib/esm/metadata/calculations/getDefaultClassMetadata.d.ts.map +0 -1
  957. package/lib/esm/metadata/calculations/getDefaultClassMetadata.spec.d.ts.map +0 -1
  958. package/lib/esm/metadata/calculations/getLegacyMetadata.d.ts +0 -4
  959. package/lib/esm/metadata/calculations/getLegacyMetadata.d.ts.map +0 -1
  960. package/lib/esm/metadata/calculations/getLegacyMetadata.spec.d.ts.map +0 -1
  961. package/lib/esm/metadata/calculations/getPropertyMetadataFromLegacyMetadata.d.ts +0 -5
  962. package/lib/esm/metadata/calculations/getPropertyMetadataFromLegacyMetadata.d.ts.map +0 -1
  963. package/lib/esm/metadata/calculations/getPropertyMetadataFromLegacyMetadata.spec.d.ts.map +0 -1
  964. package/lib/esm/metadata/decorators/injectBase.d.ts +0 -4
  965. package/lib/esm/metadata/decorators/injectBase.d.ts.map +0 -1
  966. package/lib/esm/metadata/decorators/injectBase.spec.d.ts.map +0 -1
  967. package/lib/esm/metadata/models/BaseClassElementMetadata.d.ts +0 -4
  968. package/lib/esm/metadata/models/BaseClassElementMetadata.d.ts.map +0 -1
  969. package/lib/esm/metadata/models/ClassElementMetadata.d.ts +0 -4
  970. package/lib/esm/metadata/models/ClassElementMetadata.d.ts.map +0 -1
  971. package/lib/esm/metadata/models/ClassElementMetadataKind.d.ts +0 -6
  972. package/lib/esm/metadata/models/ClassElementMetadataKind.d.ts.map +0 -1
  973. package/lib/esm/metadata/models/ClassMetadata.d.ts +0 -8
  974. package/lib/esm/metadata/models/ClassMetadata.d.ts.map +0 -1
  975. package/lib/esm/metadata/models/ClassMetadataLifecycle.d.ts +0 -5
  976. package/lib/esm/metadata/models/ClassMetadataLifecycle.d.ts.map +0 -1
  977. package/lib/esm/metadata/models/LegacyConstructorMetadata.d.ts +0 -6
  978. package/lib/esm/metadata/models/LegacyConstructorMetadata.d.ts.map +0 -1
  979. package/lib/esm/metadata/models/LegacyMetadata.d.ts +0 -5
  980. package/lib/esm/metadata/models/LegacyMetadata.d.ts.map +0 -1
  981. package/lib/esm/metadata/models/LegacyMetadataMap.d.ts +0 -5
  982. package/lib/esm/metadata/models/LegacyMetadataMap.d.ts.map +0 -1
  983. package/lib/esm/metadata/models/LegacyMetadataReader.d.ts +0 -7
  984. package/lib/esm/metadata/models/LegacyMetadataReader.d.ts.map +0 -1
  985. package/lib/esm/metadata/models/ManagedClassElementMetadata.d.ts +0 -14
  986. package/lib/esm/metadata/models/ManagedClassElementMetadata.d.ts.map +0 -1
  987. package/lib/esm/metadata/models/MaybeClassElementMetadata.d.ts +0 -5
  988. package/lib/esm/metadata/models/MaybeClassElementMetadata.d.ts.map +0 -1
  989. package/lib/esm/metadata/models/MaybeClassElementMetadataKind.d.ts +0 -4
  990. package/lib/esm/metadata/models/MaybeClassElementMetadataKind.d.ts.map +0 -1
  991. package/lib/esm/metadata/models/MaybeClassMetadata.d.ts +0 -8
  992. package/lib/esm/metadata/models/MaybeClassMetadata.d.ts.map +0 -1
  993. package/lib/esm/metadata/models/MaybeManagedClassElementMetadata.d.ts +0 -14
  994. package/lib/esm/metadata/models/MaybeManagedClassElementMetadata.d.ts.map +0 -1
  995. package/lib/esm/metadata/models/MetadataName.d.ts +0 -2
  996. package/lib/esm/metadata/models/MetadataName.d.ts.map +0 -1
  997. package/lib/esm/metadata/models/MetadataTag.d.ts +0 -2
  998. package/lib/esm/metadata/models/MetadataTag.d.ts.map +0 -1
  999. package/lib/esm/metadata/models/MetadataTargetName.d.ts +0 -2
  1000. package/lib/esm/metadata/models/MetadataTargetName.d.ts.map +0 -1
  1001. package/lib/esm/metadata/models/UnmanagedClassElementMetadata.d.ts +0 -4
  1002. package/lib/esm/metadata/models/UnmanagedClassElementMetadata.d.ts.map +0 -1
  1003. package/lib/esm/prototype/calculations/getBaseType.d.ts +0 -3
  1004. package/lib/esm/prototype/calculations/getBaseType.d.ts.map +0 -1
  1005. package/lib/esm/prototype/calculations/getBaseType.spec.d.ts.map +0 -1
  1006. package/lib/esm/prototype/models/Prototype.d.ts +0 -5
  1007. package/lib/esm/prototype/models/Prototype.d.ts.map +0 -1
  1008. package/lib/esm/reflectMetadata/data/classMetadataReflectKey.d.ts +0 -2
  1009. package/lib/esm/reflectMetadata/data/classMetadataReflectKey.d.ts.map +0 -1
  1010. package/lib/esm/reflectMetadata/data/keys.d.ts +0 -14
  1011. package/lib/esm/reflectMetadata/data/keys.d.ts.map +0 -1
  1012. package/lib/esm/string/models/LegacyQueryableString.d.ts +0 -8
  1013. package/lib/esm/string/models/LegacyQueryableString.d.ts.map +0 -1
  1014. package/lib/esm/string/models/LegacyQueryableStringImpl.d.ts +0 -11
  1015. package/lib/esm/string/models/LegacyQueryableStringImpl.d.ts.map +0 -1
  1016. package/lib/esm/string/models/LegacyQueryableStringImpl.spec.d.ts.map +0 -1
  1017. package/lib/esm/symbol/calculations/getDescription.d.ts +0 -2
  1018. package/lib/esm/symbol/calculations/getDescription.d.ts.map +0 -1
  1019. package/lib/esm/symbol/calculations/getDescription.spec.d.ts.map +0 -1
  1020. package/tsconfig.cjs.tsbuildinfo +0 -1
  1021. package/webpack.config.mjs +0 -13
@@ -1,23 +1,314 @@
1
- import { getTargets } from './legacyTarget/calculations/getTargets';
2
- import { LegacyTarget } from './legacyTarget/models/LegacyTarget';
3
- import { LegacyTargetImpl } from './legacyTarget/models/LegacyTargetImpl';
4
- import { LegacyTargetType } from './legacyTarget/models/LegacyTargetType';
5
- import { getClassElementMetadataFromLegacyMetadata } from './metadata/calculations/getClassElementMetadataFromLegacyMetadata';
6
- import { getClassMetadata } from './metadata/calculations/getClassMetadata';
7
- import { getClassMetadataFromMetadataReader } from './metadata/calculations/getClassMetadataFromMetadataReader';
8
- import { ClassElementMetadata } from './metadata/models/ClassElementMetadata';
9
- import { ClassElementMetadataKind } from './metadata/models/ClassElementMetadataKind';
10
- import { ClassMetadata } from './metadata/models/ClassMetadata';
11
- import { ClassMetadataLifecycle } from './metadata/models/ClassMetadataLifecycle';
12
- import { LegacyMetadata } from './metadata/models/LegacyMetadata';
13
- import { LegacyMetadataMap } from './metadata/models/LegacyMetadataMap';
14
- import { LegacyMetadataReader } from './metadata/models/LegacyMetadataReader';
15
- import { ManagedClassElementMetadata } from './metadata/models/ManagedClassElementMetadata';
16
- import { MetadataName } from './metadata/models/MetadataName';
17
- import { MetadataTag } from './metadata/models/MetadataTag';
18
- import { MetadataTargetName } from './metadata/models/MetadataTargetName';
19
- import { UnmanagedClassElementMetadata } from './metadata/models/UnmanagedClassElementMetadata';
20
- import { LegacyQueryableString } from './string/models/LegacyQueryableString';
21
- export type { ClassElementMetadata, ClassMetadata, ClassMetadataLifecycle, LegacyMetadata, LegacyMetadataMap, LegacyMetadataReader, LegacyQueryableString, LegacyTarget, LegacyTargetType, ManagedClassElementMetadata, MetadataName, MetadataTag, MetadataTargetName, UnmanagedClassElementMetadata, };
22
- export { ClassElementMetadataKind, getClassElementMetadataFromLegacyMetadata, getClassMetadata, getClassMetadataFromMetadataReader, getTargets, LegacyTargetImpl, };
23
- //# sourceMappingURL=index.d.ts.map
1
+ import { ServiceIdentifier, Either, Newable, LazyServiceIdentifier } from '@inversifyjs/common';
2
+
3
+ type MetadataName = number | string | symbol;
4
+
5
+ type MetadataTag = number | string | symbol;
6
+
7
+ interface BindingMetadata {
8
+ readonly name: MetadataName | undefined;
9
+ readonly tags: Map<MetadataTag, unknown>;
10
+ readonly serviceIdentifier: ServiceIdentifier;
11
+ getAncestor(): BindingMetadata | undefined;
12
+ }
13
+
14
+ type BindingType = 'ConstantValue' | 'DynamicValue' | 'Factory' | 'Instance' | 'Provider' | 'ServiceRedirection';
15
+ declare const bindingTypeValues: {
16
+ [TKey in BindingType]: TKey;
17
+ };
18
+
19
+ interface BaseBinding<TType extends BindingType, TActivated> {
20
+ readonly id: number;
21
+ readonly moduleId: number | undefined;
22
+ readonly serviceIdentifier: ServiceIdentifier<TActivated>;
23
+ readonly type: TType;
24
+ isSatisfiedBy(metadata: BindingMetadata): boolean;
25
+ }
26
+
27
+ type Resolved<TActivated> = SyncResolved<TActivated> | Promise<SyncResolved<TActivated>>;
28
+ type SyncResolved<TActivated> = TActivated;
29
+
30
+ type BindingScope = 'Singleton' | 'Transient' | 'Request';
31
+ declare const bindingScopeValues: {
32
+ [TKey in BindingScope]: TKey;
33
+ };
34
+
35
+ type BindingActivation<T = unknown> = (injectable: T) => Resolved<T>;
36
+
37
+ type BindingDeactivation<T = unknown> = (injectable: T) => void | Promise<void>;
38
+
39
+ interface ScopedBinding<TType extends BindingType, TScope extends BindingScope, TActivated> extends BaseBinding<TType, TActivated> {
40
+ cache: Either<undefined, Resolved<TActivated>>;
41
+ readonly onActivation: BindingActivation<TActivated> | undefined;
42
+ readonly onDeactivation: BindingDeactivation<TActivated> | undefined;
43
+ readonly scope: TScope;
44
+ }
45
+
46
+ interface ConstantValueBinding<TActivated> extends ScopedBinding<typeof bindingTypeValues.ConstantValue, typeof bindingScopeValues.Singleton, TActivated> {
47
+ readonly value: Resolved<TActivated>;
48
+ }
49
+
50
+ interface GetOptionsTagConstraint {
51
+ key: MetadataTag;
52
+ value: unknown;
53
+ }
54
+
55
+ interface GetOptions {
56
+ name?: MetadataName;
57
+ optional?: boolean;
58
+ tag?: GetOptionsTagConstraint;
59
+ }
60
+
61
+ interface OptionalGetOptions extends GetOptions {
62
+ optional: true;
63
+ }
64
+
65
+ interface ResolutionContext {
66
+ get<TActivated>(serviceIdentifier: ServiceIdentifier<TActivated>, options: OptionalGetOptions): TActivated | undefined;
67
+ get<TActivated>(serviceIdentifier: ServiceIdentifier<TActivated>, options?: GetOptions): TActivated;
68
+ getAll<TActivated>(serviceIdentifier: ServiceIdentifier<TActivated>, options?: GetOptions): TActivated[];
69
+ getAllAsync<TActivated>(serviceIdentifier: ServiceIdentifier<TActivated>, options?: GetOptions): Promise<TActivated[]>;
70
+ getAsync<TActivated>(serviceIdentifier: ServiceIdentifier<TActivated>, options: OptionalGetOptions): Promise<TActivated | undefined>;
71
+ getAsync<TActivated>(serviceIdentifier: ServiceIdentifier<TActivated>, options?: GetOptions): Promise<TActivated>;
72
+ }
73
+
74
+ type DynamicValueBuilder<T> = (context: ResolutionContext) => Resolved<T>;
75
+
76
+ interface DynamicValueBinding<TActivated> extends ScopedBinding<typeof bindingTypeValues.DynamicValue, BindingScope, TActivated> {
77
+ readonly value: DynamicValueBuilder<TActivated>;
78
+ }
79
+
80
+ type Factory<TActivated, in TArgs extends unknown[] = any[]> = (...args: TArgs) => TActivated;
81
+
82
+ interface FactoryBinding<TActivated extends Factory<unknown>> extends ScopedBinding<typeof bindingTypeValues.Factory, typeof bindingScopeValues.Singleton, TActivated> {
83
+ readonly factory: (context: ResolutionContext) => TActivated;
84
+ }
85
+
86
+ interface InstanceBinding<TActivated> extends ScopedBinding<typeof bindingTypeValues.Instance, BindingScope, TActivated> {
87
+ readonly implementationType: Newable<TActivated>;
88
+ }
89
+
90
+ type Provider<TActivated, in TArgs extends unknown[] = any[]> = (...args: TArgs[]) => Promise<TActivated>;
91
+
92
+ interface ProviderBinding<TActivated extends Provider<unknown>> extends ScopedBinding<typeof bindingTypeValues.Provider, typeof bindingScopeValues.Singleton, TActivated> {
93
+ readonly provider: (context: ResolutionContext) => TActivated;
94
+ }
95
+
96
+ interface ServiceRedirectionBinding<TActivated> extends BaseBinding<typeof bindingTypeValues.ServiceRedirection, TActivated> {
97
+ targetServiceIdentifier: ServiceIdentifier;
98
+ }
99
+
100
+ type Binding<TActivated = any> = ConstantValueBinding<TActivated> | DynamicValueBinding<TActivated> | (TActivated extends Factory<unknown> ? FactoryBinding<TActivated> : never) | InstanceBinding<TActivated> | (TActivated extends Provider<unknown> ? ProviderBinding<TActivated> : never) | ServiceRedirectionBinding<TActivated>;
101
+
102
+ interface Cloneable<T> {
103
+ clone(): T;
104
+ }
105
+
106
+ declare enum ActivationRelationKind {
107
+ moduleId = "moduleId",
108
+ serviceId = "serviceId"
109
+ }
110
+ interface BindingActivationRelation {
111
+ [ActivationRelationKind.moduleId]?: number;
112
+ [ActivationRelationKind.serviceId]: ServiceIdentifier;
113
+ }
114
+ declare class ActivationsService implements Cloneable<ActivationsService> {
115
+ #private;
116
+ private constructor();
117
+ static build(parent: ActivationsService | undefined): ActivationsService;
118
+ add(activation: BindingActivation, relation: BindingActivationRelation): void;
119
+ clone(): ActivationsService;
120
+ get(serviceIdentifier: ServiceIdentifier): Iterable<BindingActivation> | undefined;
121
+ removeAllByModuleId(moduleId: number): void;
122
+ removeAllByServiceId(serviceId: ServiceIdentifier): void;
123
+ }
124
+
125
+ declare class BindingService implements Cloneable<BindingService> {
126
+ #private;
127
+ private constructor();
128
+ static build(parent: BindingService | undefined): BindingService;
129
+ clone(): BindingService;
130
+ get<TResolved>(serviceIdentifier: ServiceIdentifier): Iterable<Binding<TResolved>> | undefined;
131
+ getByModuleId<TResolved>(moduleId: number): Iterable<Binding<TResolved>> | undefined;
132
+ removeAllByModuleId(moduleId: number): void;
133
+ removeAllByServiceId(serviceId: ServiceIdentifier): void;
134
+ set<TInstance>(binding: Binding<TInstance>): void;
135
+ }
136
+
137
+ declare enum DeactivationRelationKind {
138
+ moduleId = "moduleId",
139
+ serviceId = "serviceId"
140
+ }
141
+ interface BindingDeactivationRelation {
142
+ [DeactivationRelationKind.moduleId]?: number;
143
+ [DeactivationRelationKind.serviceId]: ServiceIdentifier;
144
+ }
145
+ declare class DeactivationsService implements Cloneable<DeactivationsService> {
146
+ #private;
147
+ private constructor();
148
+ static build(parent: DeactivationsService | undefined): DeactivationsService;
149
+ add(deactivation: BindingDeactivation, relation: BindingDeactivationRelation): void;
150
+ clone(): DeactivationsService;
151
+ get(serviceIdentifier: ServiceIdentifier): Iterable<BindingDeactivation> | undefined;
152
+ removeAllByModuleId(moduleId: number): void;
153
+ removeAllByServiceId(serviceId: ServiceIdentifier): void;
154
+ }
155
+
156
+ declare function decorate(decorators: ClassDecorator[], target: Function): void;
157
+ declare function decorate(decorators: ParameterDecorator[], target: Function, parameterIndex: number): void;
158
+ declare function decorate(decorators: MethodDecorator[] | PropertyDecorator[], target: Function, property: string | symbol): void;
159
+
160
+ interface BaseClassElementMetadata<TKind> {
161
+ kind: TKind;
162
+ }
163
+
164
+ declare enum ClassElementMetadataKind {
165
+ multipleInjection = 0,
166
+ singleInjection = 1,
167
+ unmanaged = 2
168
+ }
169
+
170
+ type MetadataTargetName = string;
171
+
172
+ interface ManagedClassElementMetadata extends BaseClassElementMetadata<ClassElementMetadataKind.singleInjection | ClassElementMetadataKind.multipleInjection> {
173
+ isFromTypescriptParamType?: true;
174
+ name: MetadataName | undefined;
175
+ optional: boolean;
176
+ tags: Map<MetadataTag, unknown>;
177
+ targetName: MetadataTargetName | undefined;
178
+ value: ServiceIdentifier | LazyServiceIdentifier;
179
+ }
180
+
181
+ type UnmanagedClassElementMetadata = BaseClassElementMetadata<ClassElementMetadataKind.unmanaged>;
182
+
183
+ type ClassElementMetadata = ManagedClassElementMetadata | UnmanagedClassElementMetadata;
184
+
185
+ interface ClassMetadataLifecycle {
186
+ postConstructMethodName: string | symbol | undefined;
187
+ preDestroyMethodName: string | symbol | undefined;
188
+ }
189
+
190
+ interface ClassMetadata {
191
+ constructorArguments: ClassElementMetadata[];
192
+ lifecycle: ClassMetadataLifecycle;
193
+ properties: Map<string | symbol, ClassElementMetadata>;
194
+ scope: BindingScope | undefined;
195
+ }
196
+
197
+ declare function getClassMetadata(type: Newable): ClassMetadata;
198
+
199
+ declare function inject(serviceIdentifier: ServiceIdentifier | LazyServiceIdentifier): ParameterDecorator & PropertyDecorator;
200
+
201
+ declare function injectable(scope?: BindingScope): ClassDecorator;
202
+
203
+ interface InjectFromBaseOptions {
204
+ extendConstructorArguments?: boolean | undefined;
205
+ extendProperties?: boolean | undefined;
206
+ }
207
+
208
+ declare function injectFromBase(options: InjectFromBaseOptions): ClassDecorator;
209
+
210
+ declare function multiInject(serviceIdentifier: ServiceIdentifier | LazyServiceIdentifier): ParameterDecorator & PropertyDecorator;
211
+
212
+ declare function named(name: MetadataName): ParameterDecorator & PropertyDecorator;
213
+
214
+ declare function optional(): ParameterDecorator & PropertyDecorator;
215
+
216
+ declare function postConstruct(): MethodDecorator;
217
+
218
+ declare function preDestroy(): MethodDecorator;
219
+
220
+ declare function tagged(key: MetadataTag, value: unknown): ParameterDecorator & PropertyDecorator;
221
+
222
+ declare function unmanaged(): ParameterDecorator & PropertyDecorator;
223
+
224
+ interface BasePlanParams {
225
+ getBindings: <TInstance>(serviceIdentifier: ServiceIdentifier<TInstance>) => Iterable<Binding<TInstance>> | undefined;
226
+ getClassMetadata: (type: Newable) => ClassMetadata;
227
+ servicesBranch: Set<ServiceIdentifier>;
228
+ }
229
+
230
+ interface PlanParamsTagConstraint {
231
+ key: MetadataTag;
232
+ value: unknown;
233
+ }
234
+
235
+ interface PlanParamsConstraint {
236
+ name?: MetadataName;
237
+ isMultiple: boolean;
238
+ isOptional?: true;
239
+ serviceIdentifier: ServiceIdentifier;
240
+ tag?: PlanParamsTagConstraint;
241
+ }
242
+
243
+ interface PlanParams extends BasePlanParams {
244
+ rootConstraints: PlanParamsConstraint;
245
+ }
246
+
247
+ interface PlanServiceRedirectionBindingNode<TBinding extends ServiceRedirectionBinding<any> = ServiceRedirectionBinding<any>> extends BaseBindingNode<TBinding> {
248
+ redirections: PlanBindingNode[];
249
+ }
250
+
251
+ type BindingNodeParent = PlanServiceNode | PlanServiceRedirectionBindingNode;
252
+
253
+ interface BaseBindingNode<TBinding extends Binding<any> = Binding<any>> {
254
+ readonly parent: BindingNodeParent;
255
+ readonly binding: TBinding;
256
+ }
257
+
258
+ type LeafBindingNode<TActivated = any> = BaseBindingNode<ConstantValueBinding<TActivated> | DynamicValueBinding<TActivated> | (TActivated extends Factory<unknown> ? FactoryBinding<TActivated> : never) | (TActivated extends Provider<unknown> ? ProviderBinding<TActivated> : never)>;
259
+
260
+ interface InstanceBindingNode<TBinding extends InstanceBinding<any> = InstanceBinding<any>> extends BaseBindingNode<TBinding> {
261
+ readonly classMetadata: ClassMetadata;
262
+ readonly constructorParams: (PlanServiceNode | undefined)[];
263
+ readonly propertyParams: Map<string | symbol, PlanServiceNode>;
264
+ }
265
+
266
+ type PlanServiceNodeParent<TActivated = any> = InstanceBindingNode<InstanceBinding<TActivated>>;
267
+
268
+ type PlanBindingNode = PlanServiceNodeParent | PlanServiceRedirectionBindingNode | LeafBindingNode;
269
+
270
+ interface PlanServiceNode {
271
+ readonly bindings: PlanBindingNode | PlanBindingNode[] | undefined;
272
+ readonly parent: PlanServiceNodeParent | undefined;
273
+ readonly serviceIdentifier: ServiceIdentifier;
274
+ }
275
+
276
+ interface PlanTree {
277
+ readonly root: PlanServiceNode;
278
+ }
279
+
280
+ interface PlanResult {
281
+ readonly tree: PlanTree;
282
+ }
283
+
284
+ declare function plan(params: PlanParams): PlanResult;
285
+
286
+ interface ResolutionParams {
287
+ context: ResolutionContext;
288
+ getActivations: <TActivated>(serviceIdentifier: ServiceIdentifier<TActivated>) => Iterable<BindingActivation<TActivated>> | undefined;
289
+ planResult: PlanResult;
290
+ requestScopeCache: Map<number, unknown>;
291
+ }
292
+
293
+ declare function resolve(params: ResolutionParams): unknown;
294
+
295
+ interface DeactivationParams {
296
+ getBindings: <TInstance>(serviceIdentifier: ServiceIdentifier<TInstance>) => Iterable<Binding<TInstance>> | undefined;
297
+ getBindingsFromModule: <TInstance>(moduleId: number) => Iterable<Binding<TInstance>> | undefined;
298
+ getClassMetadata: (type: Newable) => ClassMetadata;
299
+ getDeactivations: <TActivated>(serviceIdentifier: ServiceIdentifier<TActivated>) => Iterable<BindingDeactivation<TActivated>> | undefined;
300
+ }
301
+
302
+ declare function resolveModuleDeactivations(params: DeactivationParams, moduleId: number): void | Promise<void>;
303
+
304
+ declare function resolveServiceDeactivations(params: DeactivationParams, serviceIdentifier: ServiceIdentifier): void | Promise<void>;
305
+
306
+ interface LegacyQueryableString {
307
+ startsWith(searchString: string): boolean;
308
+ endsWith(searchString: string): boolean;
309
+ contains(searchString: string): boolean;
310
+ equals(compareString: string): boolean;
311
+ value(): string;
312
+ }
313
+
314
+ export { ActivationsService, type BaseBinding, type BaseBindingNode, type BasePlanParams, type Binding, type BindingActivation, type BindingActivationRelation, type BindingDeactivation, type BindingDeactivationRelation, type BindingMetadata, type BindingScope, BindingService, type BindingType, type ClassElementMetadata, ClassElementMetadataKind, type ClassMetadata, type ClassMetadataLifecycle, type ConstantValueBinding, type DeactivationParams, DeactivationsService, type DynamicValueBinding, type DynamicValueBuilder, type Factory, type FactoryBinding, type GetOptions, type GetOptionsTagConstraint, type InstanceBinding, type LeafBindingNode, type LegacyQueryableString, type ManagedClassElementMetadata, type MetadataName, type MetadataTag, type MetadataTargetName, type OptionalGetOptions, type PlanBindingNode, type PlanParams, type PlanParamsConstraint, type PlanParamsTagConstraint, type PlanResult, type PlanServiceNode, type PlanServiceNodeParent, type PlanServiceRedirectionBindingNode, type PlanTree, type Provider, type ProviderBinding, type ResolutionContext, type ResolutionParams, type Resolved, type ScopedBinding, type ServiceRedirectionBinding, type UnmanagedClassElementMetadata, bindingScopeValues, bindingTypeValues, decorate, getClassMetadata, inject, injectFromBase, injectable, multiInject, named, optional, plan, postConstruct, preDestroy, resolve, resolveModuleDeactivations, resolveServiceDeactivations, tagged, unmanaged };
@@ -1 +1 @@
1
- {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/index.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,UAAU,EAAE,MAAM,wCAAwC,CAAC;AACpE,OAAO,EAAE,YAAY,EAAE,MAAM,oCAAoC,CAAC;AAClE,OAAO,EAAE,gBAAgB,EAAE,MAAM,wCAAwC,CAAC;AAC1E,OAAO,EAAE,gBAAgB,EAAE,MAAM,wCAAwC,CAAC;AAC1E,OAAO,EAAE,yCAAyC,EAAE,MAAM,mEAAmE,CAAC;AAC9H,OAAO,EAAE,gBAAgB,EAAE,MAAM,0CAA0C,CAAC;AAC5E,OAAO,EAAE,kCAAkC,EAAE,MAAM,4DAA4D,CAAC;AAChH,OAAO,EAAE,oBAAoB,EAAE,MAAM,wCAAwC,CAAC;AAC9E,OAAO,EAAE,wBAAwB,EAAE,MAAM,4CAA4C,CAAC;AACtF,OAAO,EAAE,aAAa,EAAE,MAAM,iCAAiC,CAAC;AAChE,OAAO,EAAE,sBAAsB,EAAE,MAAM,0CAA0C,CAAC;AAClF,OAAO,EAAE,cAAc,EAAE,MAAM,kCAAkC,CAAC;AAClE,OAAO,EAAE,iBAAiB,EAAE,MAAM,qCAAqC,CAAC;AACxE,OAAO,EAAE,oBAAoB,EAAE,MAAM,wCAAwC,CAAC;AAC9E,OAAO,EAAE,2BAA2B,EAAE,MAAM,+CAA+C,CAAC;AAC5F,OAAO,EAAE,YAAY,EAAE,MAAM,gCAAgC,CAAC;AAC9D,OAAO,EAAE,WAAW,EAAE,MAAM,+BAA+B,CAAC;AAC5D,OAAO,EAAE,kBAAkB,EAAE,MAAM,sCAAsC,CAAC;AAC1E,OAAO,EAAE,6BAA6B,EAAE,MAAM,iDAAiD,CAAC;AAChG,OAAO,EAAE,qBAAqB,EAAE,MAAM,uCAAuC,CAAC;AAE9E,YAAY,EACV,oBAAoB,EACpB,aAAa,EACb,sBAAsB,EACtB,cAAc,EACd,iBAAiB,EACjB,oBAAoB,EACpB,qBAAqB,EACrB,YAAY,EACZ,gBAAgB,EAChB,2BAA2B,EAC3B,YAAY,EACZ,WAAW,EACX,kBAAkB,EAClB,6BAA6B,GAC9B,CAAC;AAEF,OAAO,EACL,wBAAwB,EACxB,yCAAyC,EACzC,gBAAgB,EAChB,kCAAkC,EAClC,UAAU,EACV,gBAAgB,GACjB,CAAC"}
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/index.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,WAAW,EAAE,MAAM,8BAA8B,CAAC;AAC3D,OAAO,EAAE,OAAO,EAAE,MAAM,0BAA0B,CAAC;AACnD,OAAO,EAAE,iBAAiB,EAAE,MAAM,oCAAoC,CAAC;AACvE,OAAO,EAAE,mBAAmB,EAAE,MAAM,sCAAsC,CAAC;AAC3E,OAAO,EAAE,eAAe,EAAE,MAAM,kCAAkC,CAAC;AACnE,OAAO,EACL,YAAY,EACZ,kBAAkB,EACnB,MAAM,+BAA+B,CAAC;AACvC,OAAO,EAAE,WAAW,EAAE,iBAAiB,EAAE,MAAM,8BAA8B,CAAC;AAC9E,OAAO,EAAE,oBAAoB,EAAE,MAAM,uCAAuC,CAAC;AAC7E,OAAO,EAAE,mBAAmB,EAAE,MAAM,sCAAsC,CAAC;AAC3E,OAAO,EAAE,mBAAmB,EAAE,MAAM,sCAAsC,CAAC;AAC3E,OAAO,EAAE,OAAO,EAAE,MAAM,0BAA0B,CAAC;AACnD,OAAO,EAAE,cAAc,EAAE,MAAM,iCAAiC,CAAC;AACjE,OAAO,EAAE,eAAe,EAAE,MAAM,kCAAkC,CAAC;AACnE,OAAO,EAAE,QAAQ,EAAE,MAAM,2BAA2B,CAAC;AACrD,OAAO,EAAE,eAAe,EAAE,MAAM,kCAAkC,CAAC;AACnE,OAAO,EAAE,aAAa,EAAE,MAAM,gCAAgC,CAAC;AAC/D,OAAO,EAAE,yBAAyB,EAAE,MAAM,4CAA4C,CAAC;AACvF,OAAO,EACL,kBAAkB,EAClB,yBAAyB,EAC1B,MAAM,uCAAuC,CAAC;AAC/C,OAAO,EAAE,cAAc,EAAE,MAAM,mCAAmC,CAAC;AACnE,OAAO,EACL,2BAA2B,EAC3B,oBAAoB,EACrB,MAAM,yCAAyC,CAAC;AACjD,OAAO,EAAE,QAAQ,EAAE,MAAM,8BAA8B,CAAC;AACxD,OAAO,EAAE,gBAAgB,EAAE,MAAM,0CAA0C,CAAC;AAC5E,OAAO,EAAE,MAAM,EAAE,MAAM,8BAA8B,CAAC;AACtD,OAAO,EAAE,UAAU,EAAE,MAAM,kCAAkC,CAAC;AAC9D,OAAO,EAAE,cAAc,EAAE,MAAM,sCAAsC,CAAC;AACtE,OAAO,EAAE,WAAW,EAAE,MAAM,mCAAmC,CAAC;AAChE,OAAO,EAAE,KAAK,EAAE,MAAM,6BAA6B,CAAC;AACpD,OAAO,EAAE,QAAQ,EAAE,MAAM,gCAAgC,CAAC;AAC1D,OAAO,EAAE,aAAa,EAAE,MAAM,qCAAqC,CAAC;AACpE,OAAO,EAAE,UAAU,EAAE,MAAM,kCAAkC,CAAC;AAC9D,OAAO,EAAE,MAAM,EAAE,MAAM,8BAA8B,CAAC;AACtD,OAAO,EAAE,SAAS,EAAE,MAAM,iCAAiC,CAAC;AAC5D,OAAO,EAAE,oBAAoB,EAAE,MAAM,wCAAwC,CAAC;AAC9E,OAAO,EAAE,wBAAwB,EAAE,MAAM,4CAA4C,CAAC;AACtF,OAAO,EAAE,aAAa,EAAE,MAAM,iCAAiC,CAAC;AAChE,OAAO,EAAE,sBAAsB,EAAE,MAAM,0CAA0C,CAAC;AAClF,OAAO,EAAE,2BAA2B,EAAE,MAAM,+CAA+C,CAAC;AAC5F,OAAO,EAAE,YAAY,EAAE,MAAM,gCAAgC,CAAC;AAC9D,OAAO,EAAE,WAAW,EAAE,MAAM,+BAA+B,CAAC;AAC5D,OAAO,EAAE,kBAAkB,EAAE,MAAM,sCAAsC,CAAC;AAC1E,OAAO,EAAE,6BAA6B,EAAE,MAAM,iDAAiD,CAAC;AAChG,OAAO,EAAE,IAAI,EAAE,MAAM,8BAA8B,CAAC;AACpD,OAAO,EAAE,eAAe,EAAE,MAAM,mCAAmC,CAAC;AACpE,OAAO,EAAE,cAAc,EAAE,MAAM,kCAAkC,CAAC;AAClE,OAAO,EAAE,eAAe,EAAE,MAAM,mCAAmC,CAAC;AACpE,OAAO,EAAE,eAAe,EAAE,MAAM,mCAAmC,CAAC;AACpE,OAAO,EAAE,UAAU,EAAE,MAAM,8BAA8B,CAAC;AAC1D,OAAO,EAAE,oBAAoB,EAAE,MAAM,wCAAwC,CAAC;AAC9E,OAAO,EAAE,uBAAuB,EAAE,MAAM,2CAA2C,CAAC;AACpF,OAAO,EAAE,UAAU,EAAE,MAAM,8BAA8B,CAAC;AAC1D,OAAO,EAAE,eAAe,EAAE,MAAM,mCAAmC,CAAC;AACpE,OAAO,EAAE,qBAAqB,EAAE,MAAM,yCAAyC,CAAC;AAChF,OAAO,EAAE,iCAAiC,EAAE,MAAM,qDAAqD,CAAC;AACxG,OAAO,EAAE,QAAQ,EAAE,MAAM,4BAA4B,CAAC;AACtD,OAAO,EAAE,OAAO,EAAE,MAAM,8BAA8B,CAAC;AACvD,OAAO,EAAE,0BAA0B,EAAE,MAAM,iDAAiD,CAAC;AAC7F,OAAO,EAAE,2BAA2B,EAAE,MAAM,kDAAkD,CAAC;AAC/F,OAAO,EAAE,kBAAkB,EAAE,MAAM,wCAAwC,CAAC;AAC5E,OAAO,EAAE,UAAU,EAAE,MAAM,gCAAgC,CAAC;AAC5D,OAAO,EAAE,uBAAuB,EAAE,MAAM,6CAA6C,CAAC;AACtF,OAAO,EAAE,kBAAkB,EAAE,MAAM,wCAAwC,CAAC;AAC5E,OAAO,EAAE,iBAAiB,EAAE,MAAM,uCAAuC,CAAC;AAC1E,OAAO,EAAE,gBAAgB,EAAE,MAAM,sCAAsC,CAAC;AACxE,OAAO,EAAE,QAAQ,EAAE,MAAM,8BAA8B,CAAC;AACxD,OAAO,EAAE,qBAAqB,EAAE,MAAM,uCAAuC,CAAC;AAE9E,YAAY,EACV,WAAW,EACX,eAAe,EACf,cAAc,EACd,OAAO,EACP,iBAAiB,EACjB,yBAAyB,EACzB,mBAAmB,EACnB,2BAA2B,EAC3B,eAAe,EACf,YAAY,EACZ,WAAW,EACX,oBAAoB,EACpB,aAAa,EACb,sBAAsB,EACtB,oBAAoB,EACpB,kBAAkB,EAClB,mBAAmB,EACnB,mBAAmB,EACnB,OAAO,EACP,cAAc,EACd,UAAU,EACV,uBAAuB,EACvB,eAAe,EACf,eAAe,EACf,qBAAqB,EACrB,2BAA2B,EAC3B,YAAY,EACZ,WAAW,EACX,kBAAkB,EAClB,kBAAkB,EAClB,eAAe,EACf,UAAU,EACV,oBAAoB,EACpB,uBAAuB,EACvB,UAAU,EACV,eAAe,EACf,qBAAqB,EACrB,iCAAiC,EACjC,QAAQ,EACR,QAAQ,EACR,eAAe,EACf,iBAAiB,EACjB,gBAAgB,EAChB,QAAQ,EACR,aAAa,EACb,yBAAyB,EACzB,6BAA6B,GAC9B,CAAC;AAEF,OAAO,EACL,kBAAkB,EAClB,kBAAkB,EAClB,cAAc,EACd,iBAAiB,EACjB,wBAAwB,EACxB,oBAAoB,EACpB,QAAQ,EACR,gBAAgB,EAChB,WAAW,EACX,MAAM,EACN,UAAU,EACV,cAAc,EACd,KAAK,EACL,QAAQ,EACR,aAAa,EACb,IAAI,EACJ,UAAU,EACV,OAAO,EACP,0BAA0B,EAC1B,2BAA2B,EAC3B,MAAM,EACN,SAAS,GACV,CAAC"}
package/lib/esm/index.js CHANGED
@@ -1,2 +1,2 @@
1
- import*as t from"@inversifyjs/reflect-metadata-utils";import*as e from"@inversifyjs/common";var a={d:(t,e)=>{for(var n in e)a.o(e,n)&&!a.o(t,n)&&Object.defineProperty(t,n,{enumerable:!0,get:e[n]})},o:(t,e)=>Object.prototype.hasOwnProperty.call(t,e)},n={};a.d(n,{Uo:()=>k,zN:()=>G,YR:()=>R,QN:()=>z,wK:()=>x,N3:()=>$});const r=(y={getReflectMetadata:()=>t.getReflectMetadata,updateReflectMetadata:()=>t.updateReflectMetadata},v={},a.d(v,y),v),i="named",o="name",s="unmanaged",c="optional",d="inject",u="multi_inject",l="inversify:tagged",m="inversify:tagged_props",f="design:paramtypes",g="post_construct",p="pre_destroy";var y,v;const h=[d,u,o,s,i,c],j=Symbol.for("@inversifyjs/core/InversifyCoreError");class M extends Error{[j];kind;constructor(t,e,a){super(e,a),this[j]=!0,this.kind=t}static is(t){return"object"==typeof t&&null!==t&&!0===t[j]}static isErrorOfKind(t,e){return M.is(t)&&t.kind===e}}var I,k;function w(t,e){const a=[];for(let t=0;t<e.length;++t)void 0===e[t]&&a.push(t);if(a.length>0)throw new M(I.missingInjectionDecorator,`Found unexpected missing metadata on type "${t.name}" at constructor indexes "${a.join('", "')}".\n\nAre you using @inject, @multiInject or @unmanaged decorators at those indexes?\n\nIf you're using typescript and want to rely on auto injection, set "emitDecoratorMetadata" compiler option to true`)}function N(t){return{kind:k.singleInjection,name:void 0,optional:!1,tags:new Map,targetName:void 0,value:t}}function R(t){const e=t.find((t=>t.key===d)),a=t.find((t=>t.key===u));if(void 0!==t.find((t=>t.key===s)))return function(t,e){if(void 0!==e||void 0!==t)throw new M(I.missingInjectionDecorator,"Expected a single @inject, @multiInject or @unmanaged metadata");return{kind:k.unmanaged}}(e,a);if(void 0===a&&void 0===e)throw new M(I.missingInjectionDecorator,"Expected @inject, @multiInject or @unmanaged metadata");const n=t.find((t=>t.key===i)),r=t.find((t=>t.key===c)),l=t.find((t=>t.key===o));return{kind:void 0===e?k.multipleInjection:k.singleInjection,name:n?.value,optional:void 0!==r,tags:new Map(t.filter((t=>h.every((e=>t.key!==e)))).map((t=>[t.key,t.value]))),targetName:l?.value,value:void 0===e?a?.value:e.value}}function E(t,e,a){try{return R(a)}catch(a){throw M.isErrorOfKind(a,I.missingInjectionDecorator)?new M(I.missingInjectionDecorator,`Expected a single @inject, @multiInject or @unmanaged decorator at type "${t.name}" at constructor arguments at index "${e.toString()}"`,{cause:a}):a}}function b(t){const e=(0,r.getReflectMetadata)(t,f),a=(0,r.getReflectMetadata)(t,l),n=[];if(void 0!==a)for(const[e,r]of Object.entries(a)){const a=parseInt(e);n[a]=E(t,a,r)}if(void 0!==e)for(let t=0;t<e.length;++t)if(void 0===n[t]){const a=e[t];n[t]=N(a)}return w(t,n),n}function O(t,e,a){try{return R(a)}catch(a){throw M.isErrorOfKind(a,I.missingInjectionDecorator)?new M(I.missingInjectionDecorator,`Expected a single @inject, @multiInject or @unmanaged decorator at type "${t.name}" at property "${e.toString()}"`,{cause:a}):a}}function D(t){const e=(0,r.getReflectMetadata)(t,m),a=new Map;if(void 0!==e)for(const n of Reflect.ownKeys(e)){const r=e[n];a.set(n,O(t,n,r))}return a}function z(t){const e=(0,r.getReflectMetadata)(t,g),a=(0,r.getReflectMetadata)(t,p);return{constructorArguments:b(t),lifecycle:{postConstructMethodName:e?.value,preDestroyMethodName:a?.value},properties:D(t)}}function A(t,e){const a=e.getConstructorMetadata(t),n=[];for(const[e,r]of Object.entries(a.userGeneratedMetadata)){const a=parseInt(e);n[a]=E(t,a,r)}if(void 0!==a.compilerGeneratedMetadata)for(let t=0;t<a.compilerGeneratedMetadata.length;++t)if(void 0===n[t]){const e=a.compilerGeneratedMetadata[t];n[t]=N(e)}return w(t,n),n}function C(t,e){const a=e.getPropertiesMetadata(t),n=new Map;for(const e of Reflect.ownKeys(a)){const r=a[e];n.set(e,O(t,e,r))}return n}function x(t,e){const a=(0,r.getReflectMetadata)(t,g),n=(0,r.getReflectMetadata)(t,p);return{constructorArguments:A(t,e),lifecycle:{postConstructMethodName:a?.value,preDestroyMethodName:n?.value},properties:C(t,e)}}function L(t){const e=Object.getPrototypeOf(t.prototype),a=e?.constructor;return a}!function(t){t[t.missingInjectionDecorator=0]="missingInjectionDecorator",t[t.unknown=1]="unknown"}(I||(I={})),function(t){t[t.multipleInjection=0]="multipleInjection",t[t.singleInjection=1]="singleInjection",t[t.unmanaged=2]="unmanaged"}(k||(k={}));const T=(t=>{var e={};return a.d(e,t),e})({LazyServiceIdentifier:()=>e.LazyServiceIdentifier});function S(t){let e;switch(t.kind){case k.multipleInjection:e={key:u,value:t.value};break;case k.singleInjection:e={key:d,value:t.value}}return e}class K{#t;constructor(t){this.#t=t}startsWith(t){return this.#t.startsWith(t)}endsWith(t){return this.#t.endsWith(t)}contains(t){return this.#t.includes(t)}equals(t){return this.#t===t}value(){return this.#t}}const _="@inversifyjs/core/targetId";class G{#e;#a;#n;#r;#i;#o;constructor(t,e,a){this.#a=function(){const t=(0,r.getReflectMetadata)(Object,_)??0;return t===Number.MAX_SAFE_INTEGER?(0,r.updateReflectMetadata)(Object,_,t,(()=>Number.MIN_SAFE_INTEGER)):(0,r.updateReflectMetadata)(Object,_,t,(t=>t+1)),t}(),this.#n=t,this.#r=void 0,this.#e=e,this.#i=new K("string"==typeof t?t:t.toString().slice(7,-1)),this.#o=a}get id(){return this.#a}get identifier(){return this.#n}get metadata(){return void 0===this.#r&&(this.#r=(t=this.#e).kind===k.unmanaged?[{key:s,value:!0}]:function(t){const e=[S(t)];void 0!==t.name&&e.push({key:i,value:t.name}),t.optional&&e.push({key:c,value:!0});for(const[a,n]of t.tags)e.push({key:a,value:n});return void 0!==t.targetName&&e.push({key:o,value:t.targetName}),e}(t)),this.#r;var t}get name(){return this.#i}get type(){return this.#o}get serviceIdentifier(){return T.LazyServiceIdentifier.is(this.#e.value)?this.#e.value.unwrap():this.#e.value}getCustomTags(){return[...this.#e.tags.entries()].map((([t,e])=>({key:t,value:e})))}getNamedTag(){return void 0===this.#e.name?null:{key:i,value:this.#e.name}}hasTag(t){return this.metadata.some((e=>e.key===t))}isArray(){return this.#e.kind===k.multipleInjection}isNamed(){return void 0!==this.#e.name}isOptional(){return this.#e.optional}isTagged(){return this.#e.tags.size>0}matchesArray(t){return this.isArray()&&this.#e.value===t}matchesNamedTag(t){return this.#e.name===t}matchesTag(t){return e=>this.metadata.some((a=>a.key===t&&a.value===e))}}const $=t=>function(t,e){return function(a){const n=t(a);let r=L(a);for(;void 0!==r&&r!==Object;){const t=e(r);for(const[e,a]of t)n.properties.has(e)||n.properties.set(e,a);r=L(r)}const i=[];for(const t of n.constructorArguments)if(t.kind!==k.unmanaged){const e=t.targetName??"";i.push(new G(e,t,"ConstructorArgument"))}for(const[t,e]of n.properties)if(e.kind!==k.unmanaged){const a=e.targetName??t;i.push(new G(a,e,"ClassProperty"))}return i}}(void 0===t?z:e=>x(e,t),void 0===t?D:e=>C(e,t));var F=n.Uo,P=n.zN,W=n.YR,Q=n.QN,U=n.wK,Y=n.N3;export{F as ClassElementMetadataKind,P as LegacyTargetImpl,W as getClassElementMetadataFromLegacyMetadata,Q as getClassMetadata,U as getClassMetadataFromMetadataReader,Y as getTargets};
2
- //# sourceMappingURL=data:application/json;charset=utf-8;base64,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SyxNQUFNMEgsRUFHWHRELEdDTkssU0FDTFQsRUFDQVIsR0FJQSxPQUFPLFNBQW1COUMsR0FDeEIsTUFBTXNILEVBQStCaEUsRUFBaUJ0RCxHQUV0RCxJQUFJeUUsRUFBZ0NGLEVBQVl2RSxHQUVoRCxVQUFvQkksSUFBYnFFLEdBQTBCQSxJQUFhbkgsUUFBUSxDQUNwRCxNQUFNaUssRUFHRnpFLEVBQTJCMkIsR0FFL0IsSUFBSyxNQUFPK0MsRUFBYUMsS0FBa0JGLEVBQ3BDRCxFQUFjekQsV0FBVzZELElBQUlGLElBQ2hDRixFQUFjekQsV0FBV1IsSUFBSW1FLEVBQWFDLEdBSTlDaEQsRUFBV0YsRUFBWUUsRUFDekIsQ0FFQSxNQUFNa0QsRUFBMEIsR0FFaEMsSUFBSyxNQUFNQyxLQUF1Qk4sRUFBYzdELHFCQUM5QyxHQUFJbUUsRUFBb0J4SSxPQUFTVSxFQUF5QnVCLFVBQVcsQ0FDbkUsTUFBTVAsRUFBcUI4RyxFQUFvQjlHLFlBQWMsR0FFN0Q2RyxFQUFRdEgsS0FDTixJQUFJbUYsRUFDRjFFLEVBQ0E4RyxFQUNBLHVCQUdOLENBR0YsSUFBSyxNQUFPM0UsRUFBVTlCLEtBQWFtRyxFQUFjekQsV0FDL0MsR0FBSTFDLEVBQVMvQixPQUFTVSxFQUF5QnVCLFVBQVcsQ0FDeEQsTUFBTVAsRUFBOEJLLEVBQVNMLFlBQWNtQyxFQUUzRDBFLEVBQVF0SCxLQUNOLElBQUltRixFQUFpQjFFLEVBQVlLLEVBQVUsaUJBRS9DLENBR0YsT0FBT3dHLENBQ1QsQ0FDRixDRGpDU0UsTUFaY3pILElBQW5CMkQsRUFDSVQsRUFDQ3RELEdBQ0NzRSxFQUFtQ3RFLEVBQU0rRCxRQUk1QjNELElBQW5CMkQsRUFDSWpCLEVBQ0M5QyxHQUNDb0UsRUFBNkNwRSxFQUFNK0QsSSIsInNvdXJjZXMiOlsid2VicGFjazovL0BpbnZlcnNpZnlqcy9jb3JlL3dlYnBhY2svYm9vdHN0cmFwIiwid2VicGFjazovL0BpbnZlcnNpZnlqcy9jb3JlL3dlYnBhY2svcnVudGltZS9kZWZpbmUgcHJvcGVydHkgZ2V0dGVycyIsIndlYnBhY2s6Ly9AaW52ZXJzaWZ5anMvY29yZS93ZWJwYWNrL3J1bnRpbWUvaGFzT3duUHJvcGVydHkgc2hvcnRoYW5kIiwid2VicGFjazovL0BpbnZlcnNpZnlqcy9jb3JlL2V4dGVybmFsIG1vZHVsZSBcIkBpbnZlcnNpZnlqcy9yZWZsZWN0LW1ldGFkYXRhLXV0aWxzXCIiLCJ3ZWJwYWNrOi8vQGludmVyc2lmeWpzL2NvcmUvLi9zcmMvcmVmbGVjdE1ldGFkYXRhL2RhdGEva2V5cy50cyIsIndlYnBhY2s6Ly9AaW52ZXJzaWZ5anMvY29yZS8uL3NyYy9lcnJvci9tb2RlbHMvSW52ZXJzaWZ5Q29yZUVycm9yLnRzIiwid2VicGFjazovL0BpbnZlcnNpZnlqcy9jb3JlLy4vc3JjL2Vycm9yL21vZGVscy9JbnZlcnNpZnlDb3JlRXJyb3JLaW5kLnRzIiwid2VicGFjazovL0BpbnZlcnNpZnlqcy9jb3JlLy4vc3JjL21ldGFkYXRhL21vZGVscy9DbGFzc0VsZW1lbnRNZXRhZGF0YUtpbmQudHMiLCJ3ZWJwYWNrOi8vQGludmVyc2lmeWpzL2NvcmUvLi9zcmMvbWV0YWRhdGEvY2FsY3VsYXRpb25zL2Fzc2VydENvbnN0cnVjdG9yTWV0YWRhdGFBcnJheUZpbGxlZC50cyIsIndlYnBhY2s6Ly9AaW52ZXJzaWZ5anMvY29yZS8uL3NyYy9tZXRhZGF0YS9jYWxjdWxhdGlvbnMvZ2V0Q2xhc3NFbGVtZW50TWV0YWRhdGFGcm9tTmV3YWJsZS50cyIsIndlYnBhY2s6Ly9AaW52ZXJzaWZ5anMvY29yZS8uL3NyYy9tZXRhZGF0YS9jYWxjdWxhdGlvbnMvZ2V0Q2xhc3NFbGVtZW50TWV0YWRhdGFGcm9tTGVnYWN5TWV0YWRhdGEudHMiLCJ3ZWJwYWNrOi8vQGludmVyc2lmeWpzL2NvcmUvLi9zcmMvbWV0YWRhdGEvY2FsY3VsYXRpb25zL2dldENvbnN0cnVjdG9yQXJndW1lbnRNZXRhZGF0YUZyb21MZWdhY3lNZXRhZGF0YS50cyIsIndlYnBhY2s6Ly9AaW52ZXJzaWZ5anMvY29yZS8uL3NyYy9tZXRhZGF0YS9jYWxjdWxhdGlvbnMvZ2V0Q2xhc3NNZXRhZGF0YUNvbnN0cnVjdG9yQXJndW1lbnRzLnRzIiwid2VicGFjazovL0BpbnZlcnNpZnlqcy9jb3JlLy4vc3JjL21ldGFkYXRhL2NhbGN1bGF0aW9ucy9nZXRQcm9wZXJ0eU1ldGFkYXRhRnJvbUxlZ2FjeU1ldGFkYXRhLnRzIiwid2VicGFjazovL0BpbnZlcnNpZnlqcy9jb3JlLy4vc3JjL21ldGFkYXRhL2NhbGN1bGF0aW9ucy9nZXRDbGFzc01ldGFkYXRhUHJvcGVydGllcy50cyIsIndlYnBhY2s6Ly9AaW52ZXJzaWZ5anMvY29yZS8uL3NyYy9tZXRhZGF0YS9jYWxjdWxhdGlvbnMvZ2V0Q2xhc3NNZXRhZGF0YS50cyIsIndlYnBhY2s6Ly9AaW52ZXJzaWZ5anMvY29yZS8uL3NyYy9tZXRhZGF0YS9jYWxjdWxhdGlvbnMvZ2V0Q2xhc3NNZXRhZGF0YUNvbnN0cnVjdG9yQXJndW1lbnRzRnJvbU1ldGFkYXRhUmVhZGVyLnRzIiwid2VicGFjazovL0BpbnZlcnNpZnlqcy9jb3JlLy4vc3JjL21ldGFkYXRhL2NhbGN1bGF0aW9ucy9nZXRDbGFzc01ldGFkYXRhUHJvcGVydGllc0Zyb21NZXRhZGF0YVJlYWRlci50cyIsIndlYnBhY2s6Ly9AaW52ZXJzaWZ5anMvY29yZS8uL3NyYy9tZXRhZGF0YS9jYWxjdWxhdGlvbnMvZ2V0Q2xhc3NNZXRhZGF0YUZyb21NZXRhZGF0YVJlYWRlci50cyIsIndlYnBhY2s6Ly9AaW52ZXJzaWZ5anMvY29yZS8uL3NyYy9wcm90b3R5cGUvY2FsY3VsYXRpb25zL2dldEJhc2VUeXBlLnRzIiwid2VicGFjazovL0BpbnZlcnNpZnlqcy9jb3JlL2V4dGVybmFsIG1vZHVsZSBcIkBpbnZlcnNpZnlqcy9jb21tb25cIiIsIndlYnBhY2s6Ly9AaW52ZXJzaWZ5anMvY29yZS8uL3NyYy9tZXRhZGF0YS9jYWxjdWxhdGlvbnMvZ2V0TGVnYWN5TWV0YWRhdGEudHMiLCJ3ZWJwYWNrOi8vQGludmVyc2lmeWpzL2NvcmUvLi9zcmMvc3RyaW5nL21vZGVscy9MZWdhY3lRdWVyeWFibGVTdHJpbmdJbXBsLnRzIiwid2VicGFjazovL0BpbnZlcnNpZnlqcy9jb3JlLy4vc3JjL2xlZ2FjeVRhcmdldC9jYWxjdWxhdGlvbnMvZ2V0VGFyZ2V0SWQudHMiLCJ3ZWJwYWNrOi8vQGludmVyc2lmeWpzL2NvcmUvLi9zcmMvbGVnYWN5VGFyZ2V0L21vZGVscy9MZWdhY3lUYXJnZXRJbXBsLnRzIiwid2VicGFjazovL0BpbnZlcnNpZnlqcy9jb3JlLy4vc3JjL3N5bWJvbC9jYWxjdWxhdGlvbnMvZ2V0RGVzY3JpcHRpb24udHMiLCJ3ZWJwYWNrOi8vQGludmVyc2lmeWpzL2NvcmUvLi9zcmMvbGVnYWN5VGFyZ2V0L2NhbGN1bGF0aW9ucy9nZXRUYXJnZXRzLnRzIiwid2VicGFjazovL0BpbnZlcnNpZnlqcy9jb3JlLy4vc3JjL2xlZ2FjeVRhcmdldC9jYWxjdWxhdGlvbnMvZ2V0VGFyZ2V0c0Zyb21NZXRhZGF0YVByb3ZpZGVycy50cyJdLCJzb3VyY2VzQ29udGVudCI6WyIvLyBUaGUgcmVxdWlyZSBzY29wZVxudmFyIF9fd2VicGFja19yZXF1aXJlX18gPSB7fTtcblxuIiwiLy8gZGVmaW5lIGdldHRlciBmdW5jdGlvbnMgZm9yIGhhcm1vbnkgZXhwb3J0c1xuX193ZWJwYWNrX3JlcXVpcmVfXy5kID0gKGV4cG9ydHMsIGRlZmluaXRpb24pID0+IHtcblx0Zm9yKHZhciBrZXkgaW4gZGVmaW5pdGlvbikge1xuXHRcdGlmKF9fd2VicGFja19yZXF1aXJlX18ubyhkZWZpbml0aW9uLCBrZXkpICYmICFfX3dlYnBhY2tfcmVxdWlyZV9fLm8oZXhwb3J0cywga2V5KSkge1xuXHRcdFx0T2JqZWN0LmRlZmluZVByb3BlcnR5KGV4cG9ydHMsIGtleSwgeyBlbnVtZXJhYmxlOiB0cnVlLCBnZXQ6IGRlZmluaXRpb25ba2V5XSB9KTtcblx0XHR9XG5cdH1cbn07IiwiX193ZWJwYWNrX3JlcXVpcmVfXy5vID0gKG9iaiwgcHJvcCkgPT4gKE9iamVjdC5wcm90b3R5cGUuaGFzT3duUHJvcGVydHkuY2FsbChvYmosIHByb3ApKSIsInZhciB4ID0gKHkpID0+IHtcblx0dmFyIHggPSB7fTsgX193ZWJwYWNrX3JlcXVpcmVfXy5kKHgsIHkpOyByZXR1cm4geFxufSBcbnZhciB5ID0gKHgpID0+ICgoKSA9PiAoeCkpXG5jb25zdCBfX1dFQlBBQ0tfTkFNRVNQQUNFX09CSkVDVF9fID0geCh7IFtcImdldFJlZmxlY3RNZXRhZGF0YVwiXTogKCkgPT4gKF9fV0VCUEFDS19FWFRFUk5BTF9NT0RVTEVfX2ludmVyc2lmeWpzX3JlZmxlY3RfbWV0YWRhdGFfdXRpbHNfOGVjYzRjMTZfXy5nZXRSZWZsZWN0TWV0YWRhdGEpLCBbXCJ1cGRhdGVSZWZsZWN0TWV0YWRhdGFcIl06ICgpID0+IChfX1dFQlBBQ0tfRVhURVJOQUxfTU9EVUxFX19pbnZlcnNpZnlqc19yZWZsZWN0X21ldGFkYXRhX3V0aWxzXzhlY2M0YzE2X18udXBkYXRlUmVmbGVjdE1ldGFkYXRhKSB9KTsiLCIvLyBVc2VkIGZvciBuYW1lZCBiaW5kaW5nc1xuZXhwb3J0IGNvbnN0IE5BTUVEX1RBRzogc3RyaW5nID0gJ25hbWVkJztcblxuZXhwb3J0IGNvbnN0IE5BTUVfVEFHOiBzdHJpbmcgPSAnbmFtZSc7XG5cbi8vIFRoZSBmb3IgdW5tYW5hZ2VkIGluamVjdGlvbnMgKGluIGJhc2UgY2xhc3NlcyB3aGVuIHVzaW5nIGluaGVyaXRhbmNlKVxuZXhwb3J0IGNvbnN0IFVOTUFOQUdFRF9UQUc6IHN0cmluZyA9ICd1bm1hbmFnZWQnO1xuXG4vLyBUaGUgZm9yIG9wdGlvbmFsIGluamVjdGlvbnNcbmV4cG9ydCBjb25zdCBPUFRJT05BTF9UQUc6IHN0cmluZyA9ICdvcHRpb25hbCc7XG5cbi8vIFRoZSB0eXBlIG9mIHRoZSBiaW5kaW5nIGF0IGRlc2lnbiB0aW1lXG5leHBvcnQgY29uc3QgSU5KRUNUX1RBRzogc3RyaW5nID0gJ2luamVjdCc7XG5cbi8vIFRoZSB0eXBlIG9mIHRoZSBiaW5kaW5nIGF0IGRlc2lnbiB0eXBlIGZvciBtdWx0aS1pbmplY3Rpb25zXG5leHBvcnQgY29uc3QgTVVMVElfSU5KRUNUX1RBRzogc3RyaW5nID0gJ211bHRpX2luamVjdCc7XG5cbi8vIHVzZWQgdG8gc3RvcmUgY29uc3RydWN0b3IgYXJndW1lbnRzIHRhZ3NcbmV4cG9ydCBjb25zdCBUQUdHRUQ6IHN0cmluZyA9ICdpbnZlcnNpZnk6dGFnZ2VkJztcblxuLy8gdXNlZCB0byBzdG9yZSBjbGFzcyBwcm9wZXJ0aWVzIHRhZ3NcbmV4cG9ydCBjb25zdCBUQUdHRURfUFJPUDogc3RyaW5nID0gJ2ludmVyc2lmeTp0YWdnZWRfcHJvcHMnO1xuXG4vLyB1c2VkIHRvIHN0b3JlIHR5cGVzIHRvIGJlIGluamVjdGVkXG5leHBvcnQgY29uc3QgUEFSQU1fVFlQRVM6IHN0cmluZyA9ICdpbnZlcnNpZnk6cGFyYW10eXBlcyc7XG5cbi8vIHVzZWQgdG8gYWNjZXNzIGRlc2lnbiB0aW1lIHR5cGVzXG5leHBvcnQgY29uc3QgREVTSUdOX1BBUkFNX1RZUEVTOiBzdHJpbmcgPSAnZGVzaWduOnBhcmFtdHlwZXMnO1xuXG4vLyB1c2VkIHRvIGlkZW50aWZ5IHBvc3RDb25zdHJ1Y3QgZnVuY3Rpb25zXG5leHBvcnQgY29uc3QgUE9TVF9DT05TVFJVQ1Q6IHN0cmluZyA9ICdwb3N0X2NvbnN0cnVjdCc7XG5cbi8vIHVzZWQgdG8gaWRlbnRpZnkgcHJlRGVzdHJveSBmdW5jdGlvbnNcbmV4cG9ydCBjb25zdCBQUkVfREVTVFJPWTogc3RyaW5nID0gJ3ByZV9kZXN0cm95JztcblxuZnVuY3Rpb24gZ2V0Tm9uQ3VzdG9tVGFnS2V5cygpOiBzdHJpbmdbXSB7XG4gIHJldHVybiBbXG4gICAgSU5KRUNUX1RBRyxcbiAgICBNVUxUSV9JTkpFQ1RfVEFHLFxuICAgIE5BTUVfVEFHLFxuICAgIFVOTUFOQUdFRF9UQUcsXG4gICAgTkFNRURfVEFHLFxuICAgIE9QVElPTkFMX1RBRyxcbiAgXTtcbn1cblxuZXhwb3J0IGNvbnN0IE5PTl9DVVNUT01fVEFHX0tFWVM6IHN0cmluZ1tdID0gZ2V0Tm9uQ3VzdG9tVGFnS2V5cygpO1xuIiwiaW1wb3J0IHsgSW52ZXJzaWZ5Q29yZUVycm9yS2luZCB9IGZyb20gJy4vSW52ZXJzaWZ5Q29yZUVycm9yS2luZCc7XG5cbmV4cG9ydCBjb25zdCBpc0FwcEVycm9yU3ltYm9sOiB1bmlxdWUgc3ltYm9sID0gU3ltYm9sLmZvcihcbiAgJ0BpbnZlcnNpZnlqcy9jb3JlL0ludmVyc2lmeUNvcmVFcnJvcicsXG4pO1xuXG5leHBvcnQgY2xhc3MgSW52ZXJzaWZ5Q29yZUVycm9yIGV4dGVuZHMgRXJyb3Ige1xuICBwdWJsaWMgW2lzQXBwRXJyb3JTeW1ib2xdOiB0cnVlO1xuXG4gIHB1YmxpYyBraW5kOiBJbnZlcnNpZnlDb3JlRXJyb3JLaW5kO1xuXG4gIGNvbnN0cnVjdG9yKFxuICAgIGtpbmQ6IEludmVyc2lmeUNvcmVFcnJvcktpbmQsXG4gICAgbWVzc2FnZT86IHN0cmluZyxcbiAgICBvcHRpb25zPzogRXJyb3JPcHRpb25zLFxuICApIHtcbiAgICBzdXBlcihtZXNzYWdlLCBvcHRpb25zKTtcblxuICAgIHRoaXNbaXNBcHBFcnJvclN5bWJvbF0gPSB0cnVlO1xuICAgIHRoaXMua2luZCA9IGtpbmQ7XG4gIH1cblxuICBwdWJsaWMgc3RhdGljIGlzKHZhbHVlOiB1bmtub3duKTogdmFsdWUgaXMgSW52ZXJzaWZ5Q29yZUVycm9yIHtcbiAgICByZXR1cm4gKFxuICAgICAgdHlwZW9mIHZhbHVlID09PSAnb2JqZWN0JyAmJlxuICAgICAgdmFsdWUgIT09IG51bGwgJiZcbiAgICAgICh2YWx1ZSBhcyBSZWNvcmQ8c3RyaW5nIHwgc3ltYm9sLCB1bmtub3duPilbaXNBcHBFcnJvclN5bWJvbF0gPT09IHRydWVcbiAgICApO1xuICB9XG5cbiAgcHVibGljIHN0YXRpYyBpc0Vycm9yT2ZLaW5kKFxuICAgIHZhbHVlOiB1bmtub3duLFxuICAgIGtpbmQ6IEludmVyc2lmeUNvcmVFcnJvcktpbmQsXG4gICk6IHZhbHVlIGlzIEludmVyc2lmeUNvcmVFcnJvciB7XG4gICAgcmV0dXJuIEludmVyc2lmeUNvcmVFcnJvci5pcyh2YWx1ZSkgJiYgdmFsdWUua2luZCA9PT0ga2luZDtcbiAgfVxufVxuIiwiZXhwb3J0IGVudW0gSW52ZXJzaWZ5Q29yZUVycm9yS2luZCB7XG4gIG1pc3NpbmdJbmplY3Rpb25EZWNvcmF0b3IsXG4gIHVua25vd24sXG59XG4iLCJleHBvcnQgZW51bSBDbGFzc0VsZW1lbnRNZXRhZGF0YUtpbmQge1xuICBtdWx0aXBsZUluamVjdGlvbixcbiAgc2luZ2xlSW5qZWN0aW9uLFxuICB1bm1hbmFnZWQsXG59XG4iLCJpbXBvcnQgeyBOZXdhYmxlIH0gZnJvbSAnQGludmVyc2lmeWpzL2NvbW1vbic7XG5cbmltcG9ydCB7IEludmVyc2lmeUNvcmVFcnJvciB9IGZyb20gJy4uLy4uL2Vycm9yL21vZGVscy9JbnZlcnNpZnlDb3JlRXJyb3InO1xuaW1wb3J0IHsgSW52ZXJzaWZ5Q29yZUVycm9yS2luZCB9IGZyb20gJy4uLy4uL2Vycm9yL21vZGVscy9JbnZlcnNpZnlDb3JlRXJyb3JLaW5kJztcbmltcG9ydCB7IENsYXNzRWxlbWVudE1ldGFkYXRhIH0gZnJvbSAnLi4vbW9kZWxzL0NsYXNzRWxlbWVudE1ldGFkYXRhJztcblxuZXhwb3J0IGZ1bmN0aW9uIGFzc2VydENvbnN0cnVjdG9yTWV0YWRhdGFBcnJheUZpbGxlZChcbiAgdHlwZTogTmV3YWJsZSxcbiAgdmFsdWU6IChDbGFzc0VsZW1lbnRNZXRhZGF0YSB8IHVuZGVmaW5lZClbXSxcbik6IGFzc2VydHMgdmFsdWUgaXMgQ2xhc3NFbGVtZW50TWV0YWRhdGFbXSB7XG4gIGNvbnN0IHVuZGVmaW5lZEluZGV4ZXM6IG51bWJlcltdID0gW107XG5cbiAgLy8gVXNpbmcgYSBmb3IgbG9vcCB0byBlbnN1cmUgZW1wdHkgdmFsdWVzIGFyZSB0cmF2ZXJzZWQgYXMgd2VsbFxuICBmb3IgKGxldCBpOiBudW1iZXIgPSAwOyBpIDwgdmFsdWUubGVuZ3RoOyArK2kpIHtcbiAgICBjb25zdCBlbGVtZW50OiBDbGFzc0VsZW1lbnRNZXRhZGF0YSB8IHVuZGVmaW5lZCA9IHZhbHVlW2ldO1xuXG4gICAgaWYgKGVsZW1lbnQgPT09IHVuZGVmaW5lZCkge1xuICAgICAgdW5kZWZpbmVkSW5kZXhlcy5wdXNoKGkpO1xuICAgIH1cbiAgfVxuXG4gIGlmICh1bmRlZmluZWRJbmRleGVzLmxlbmd0aCA+IDApIHtcbiAgICB0aHJvdyBuZXcgSW52ZXJzaWZ5Q29yZUVycm9yKFxuICAgICAgSW52ZXJzaWZ5Q29yZUVycm9yS2luZC5taXNzaW5nSW5qZWN0aW9uRGVjb3JhdG9yLFxuICAgICAgYEZvdW5kIHVuZXhwZWN0ZWQgbWlzc2luZyBtZXRhZGF0YSBvbiB0eXBlIFwiJHt0eXBlLm5hbWV9XCIgYXQgY29uc3RydWN0b3IgaW5kZXhlcyBcIiR7dW5kZWZpbmVkSW5kZXhlcy5qb2luKCdcIiwgXCInKX1cIi5cblxuQXJlIHlvdSB1c2luZyBAaW5qZWN0LCBAbXVsdGlJbmplY3Qgb3IgQHVubWFuYWdlZCBkZWNvcmF0b3JzIGF0IHRob3NlIGluZGV4ZXM/XG5cbklmIHlvdSdyZSB1c2luZyB0eXBlc2NyaXB0IGFuZCB3YW50IHRvIHJlbHkgb24gYXV0byBpbmplY3Rpb24sIHNldCBcImVtaXREZWNvcmF0b3JNZXRhZGF0YVwiIGNvbXBpbGVyIG9wdGlvbiB0byB0cnVlYCxcbiAgICApO1xuICB9XG59XG4iLCJpbXBvcnQgeyBOZXdhYmxlIH0gZnJvbSAnQGludmVyc2lmeWpzL2NvbW1vbic7XG5cbmltcG9ydCB7IENsYXNzRWxlbWVudE1ldGFkYXRhIH0gZnJvbSAnLi4vbW9kZWxzL0NsYXNzRWxlbWVudE1ldGFkYXRhJztcbmltcG9ydCB7IENsYXNzRWxlbWVudE1ldGFkYXRhS2luZCB9IGZyb20gJy4uL21vZGVscy9DbGFzc0VsZW1lbnRNZXRhZGF0YUtpbmQnO1xuXG5leHBvcnQgZnVuY3Rpb24gZ2V0Q2xhc3NFbGVtZW50TWV0YWRhdGFGcm9tTmV3YWJsZShcbiAgdHlwZTogTmV3YWJsZSxcbik6IENsYXNzRWxlbWVudE1ldGFkYXRhIHtcbiAgcmV0dXJuIHtcbiAgICBraW5kOiBDbGFzc0VsZW1lbnRNZXRhZGF0YUtpbmQuc2luZ2xlSW5qZWN0aW9uLFxuICAgIG5hbWU6IHVuZGVmaW5lZCxcbiAgICBvcHRpb25hbDogZmFsc2UsXG4gICAgdGFnczogbmV3IE1hcCgpLFxuICAgIHRhcmdldE5hbWU6IHVuZGVmaW5lZCxcbiAgICB2YWx1ZTogdHlwZSxcbiAgfTtcbn1cbiIsImltcG9ydCB7IExhenlTZXJ2aWNlSWRlbnRpZmllciwgU2VydmljZUlkZW50aWZpZXIgfSBmcm9tICdAaW52ZXJzaWZ5anMvY29tbW9uJztcblxuaW1wb3J0IHsgSW52ZXJzaWZ5Q29yZUVycm9yIH0gZnJvbSAnLi4vLi4vZXJyb3IvbW9kZWxzL0ludmVyc2lmeUNvcmVFcnJvcic7XG5pbXBvcnQgeyBJbnZlcnNpZnlDb3JlRXJyb3JLaW5kIH0gZnJvbSAnLi4vLi4vZXJyb3IvbW9kZWxzL0ludmVyc2lmeUNvcmVFcnJvcktpbmQnO1xuaW1wb3J0IHtcbiAgSU5KRUNUX1RBRyxcbiAgTVVMVElfSU5KRUNUX1RBRyxcbiAgTkFNRV9UQUcsXG4gIE5BTUVEX1RBRyxcbiAgTk9OX0NVU1RPTV9UQUdfS0VZUyxcbiAgT1BUSU9OQUxfVEFHLFxuICBVTk1BTkFHRURfVEFHLFxufSBmcm9tICcuLi8uLi9yZWZsZWN0TWV0YWRhdGEvZGF0YS9rZXlzJztcbmltcG9ydCB7IENsYXNzRWxlbWVudE1ldGFkYXRhIH0gZnJvbSAnLi4vbW9kZWxzL0NsYXNzRWxlbWVudE1ldGFkYXRhJztcbmltcG9ydCB7IENsYXNzRWxlbWVudE1ldGFkYXRhS2luZCB9IGZyb20gJy4uL21vZGVscy9DbGFzc0VsZW1lbnRNZXRhZGF0YUtpbmQnO1xuaW1wb3J0IHsgTGVnYWN5TWV0YWRhdGEgfSBmcm9tICcuLi9tb2RlbHMvTGVnYWN5TWV0YWRhdGEnO1xuaW1wb3J0IHsgTWFuYWdlZENsYXNzRWxlbWVudE1ldGFkYXRhIH0gZnJvbSAnLi4vbW9kZWxzL01hbmFnZWRDbGFzc0VsZW1lbnRNZXRhZGF0YSc7XG5pbXBvcnQgeyBNZXRhZGF0YU5hbWUgfSBmcm9tICcuLi9tb2RlbHMvTWV0YWRhdGFOYW1lJztcbmltcG9ydCB7IE1ldGFkYXRhVGFnIH0gZnJvbSAnLi4vbW9kZWxzL01ldGFkYXRhVGFnJztcbmltcG9ydCB7IE1ldGFkYXRhVGFyZ2V0TmFtZSB9IGZyb20gJy4uL21vZGVscy9NZXRhZGF0YVRhcmdldE5hbWUnO1xuaW1wb3J0IHsgVW5tYW5hZ2VkQ2xhc3NFbGVtZW50TWV0YWRhdGEgfSBmcm9tICcuLi9tb2RlbHMvVW5tYW5hZ2VkQ2xhc3NFbGVtZW50TWV0YWRhdGEnO1xuXG5leHBvcnQgZnVuY3Rpb24gZ2V0Q2xhc3NFbGVtZW50TWV0YWRhdGFGcm9tTGVnYWN5TWV0YWRhdGEoXG4gIG1ldGFkYXRhTGlzdDogTGVnYWN5TWV0YWRhdGFbXSxcbik6IENsYXNzRWxlbWVudE1ldGFkYXRhIHtcbiAgY29uc3QgaW5qZWN0TWV0YWRhdGE6IExlZ2FjeU1ldGFkYXRhIHwgdW5kZWZpbmVkID0gbWV0YWRhdGFMaXN0LmZpbmQoXG4gICAgKG1ldGFkYXRhOiBMZWdhY3lNZXRhZGF0YSk6IGJvb2xlYW4gPT4gbWV0YWRhdGEua2V5ID09PSBJTkpFQ1RfVEFHLFxuICApO1xuICBjb25zdCBtdWx0aUluamVjdE1ldGFkYXRhOiBMZWdhY3lNZXRhZGF0YSB8IHVuZGVmaW5lZCA9IG1ldGFkYXRhTGlzdC5maW5kKFxuICAgIChtZXRhZGF0YTogTGVnYWN5TWV0YWRhdGEpOiBib29sZWFuID0+IG1ldGFkYXRhLmtleSA9PT0gTVVMVElfSU5KRUNUX1RBRyxcbiAgKTtcbiAgY29uc3QgdW5tYW5hZ2VkTWV0YWRhdGE6IExlZ2FjeU1ldGFkYXRhIHwgdW5kZWZpbmVkID0gbWV0YWRhdGFMaXN0LmZpbmQoXG4gICAgKG1ldGFkYXRhOiBMZWdhY3lNZXRhZGF0YSk6IGJvb2xlYW4gPT4gbWV0YWRhdGEua2V5ID09PSBVTk1BTkFHRURfVEFHLFxuICApO1xuXG4gIGlmICh1bm1hbmFnZWRNZXRhZGF0YSAhPT0gdW5kZWZpbmVkKSB7XG4gICAgcmV0dXJuIGdldFVubWFuYWdlZENsYXNzRWxlbWVudE1ldGFkYXRhKFxuICAgICAgaW5qZWN0TWV0YWRhdGEsXG4gICAgICBtdWx0aUluamVjdE1ldGFkYXRhLFxuICAgICk7XG4gIH1cblxuICBpZiAobXVsdGlJbmplY3RNZXRhZGF0YSA9PT0gdW5kZWZpbmVkICYmIGluamVjdE1ldGFkYXRhID09PSB1bmRlZmluZWQpIHtcbiAgICB0aHJvdyBuZXcgSW52ZXJzaWZ5Q29yZUVycm9yKFxuICAgICAgSW52ZXJzaWZ5Q29yZUVycm9yS2luZC5taXNzaW5nSW5qZWN0aW9uRGVjb3JhdG9yLFxuICAgICAgJ0V4cGVjdGVkIEBpbmplY3QsIEBtdWx0aUluamVjdCBvciBAdW5tYW5hZ2VkIG1ldGFkYXRhJyxcbiAgICApO1xuICB9XG5cbiAgY29uc3QgbmFtZU1ldGFkYXRhOiBMZWdhY3lNZXRhZGF0YSB8IHVuZGVmaW5lZCA9IG1ldGFkYXRhTGlzdC5maW5kKFxuICAgIChtZXRhZGF0YTogTGVnYWN5TWV0YWRhdGEpOiBib29sZWFuID0+IG1ldGFkYXRhLmtleSA9PT0gTkFNRURfVEFHLFxuICApO1xuXG4gIGNvbnN0IG9wdGlvbmFsTWV0YWRhdGE6IExlZ2FjeU1ldGFkYXRhIHwgdW5kZWZpbmVkID0gbWV0YWRhdGFMaXN0LmZpbmQoXG4gICAgKG1ldGFkYXRhOiBMZWdhY3lNZXRhZGF0YSk6IGJvb2xlYW4gPT4gbWV0YWRhdGEua2V5ID09PSBPUFRJT05BTF9UQUcsXG4gICk7XG5cbiAgY29uc3QgdGFyZ2V0TmFtZU1ldGFkYXRhOiBMZWdhY3lNZXRhZGF0YSB8IHVuZGVmaW5lZCA9IG1ldGFkYXRhTGlzdC5maW5kKFxuICAgIChtZXRhZGF0YTogTGVnYWN5TWV0YWRhdGEpOiBib29sZWFuID0+IG1ldGFkYXRhLmtleSA9PT0gTkFNRV9UQUcsXG4gICk7XG5cbiAgY29uc3QgbWFuYWdlZENsYXNzRWxlbWVudE1ldGFkYXRhOiBNYW5hZ2VkQ2xhc3NFbGVtZW50TWV0YWRhdGEgPSB7XG4gICAga2luZDpcbiAgICAgIGluamVjdE1ldGFkYXRhID09PSB1bmRlZmluZWRcbiAgICAgICAgPyBDbGFzc0VsZW1lbnRNZXRhZGF0YUtpbmQubXVsdGlwbGVJbmplY3Rpb25cbiAgICAgICAgOiBDbGFzc0VsZW1lbnRNZXRhZGF0YUtpbmQuc2luZ2xlSW5qZWN0aW9uLFxuICAgIG5hbWU6IG5hbWVNZXRhZGF0YT8udmFsdWUgYXMgTWV0YWRhdGFOYW1lIHwgdW5kZWZpbmVkLFxuICAgIG9wdGlvbmFsOiBvcHRpb25hbE1ldGFkYXRhICE9PSB1bmRlZmluZWQsXG4gICAgdGFnczogbmV3IE1hcChcbiAgICAgIG1ldGFkYXRhTGlzdFxuICAgICAgICAuZmlsdGVyKChtZXRhZGF0YTogTGVnYWN5TWV0YWRhdGEpOiBib29sZWFuID0+XG4gICAgICAgICAgTk9OX0NVU1RPTV9UQUdfS0VZUy5ldmVyeShcbiAgICAgICAgICAgIChjdXN0b21UYWdLZXk6IHN0cmluZyk6IGJvb2xlYW4gPT4gbWV0YWRhdGEua2V5ICE9PSBjdXN0b21UYWdLZXksXG4gICAgICAgICAgKSxcbiAgICAgICAgKVxuICAgICAgICAubWFwKChtZXRhZGF0YTogTGVnYWN5TWV0YWRhdGEpOiBbTWV0YWRhdGFUYWcsIHVua25vd25dID0+IFtcbiAgICAgICAgICBtZXRhZGF0YS5rZXksXG4gICAgICAgICAgbWV0YWRhdGEudmFsdWUsXG4gICAgICAgIF0pLFxuICAgICksXG4gICAgdGFyZ2V0TmFtZTogdGFyZ2V0TmFtZU1ldGFkYXRhPy52YWx1ZSBhcyBNZXRhZGF0YVRhcmdldE5hbWUgfCB1bmRlZmluZWQsXG4gICAgdmFsdWU6XG4gICAgICBpbmplY3RNZXRhZGF0YSA9PT0gdW5kZWZpbmVkXG4gICAgICAgID8gKG11bHRpSW5qZWN0TWV0YWRhdGE/LnZhbHVlIGFzXG4gICAgICAgICAgICB8IFNlcnZpY2VJZGVudGlmaWVyXG4gICAgICAgICAgICB8IExhenlTZXJ2aWNlSWRlbnRpZmllcilcbiAgICAgICAgOiAoaW5qZWN0TWV0YWRhdGEudmFsdWUgYXMgU2VydmljZUlkZW50aWZpZXIgfCBMYXp5U2VydmljZUlkZW50aWZpZXIpLFxuICB9O1xuXG4gIHJldHVybiBtYW5hZ2VkQ2xhc3NFbGVtZW50TWV0YWRhdGE7XG59XG5cbmZ1bmN0aW9uIGdldFVubWFuYWdlZENsYXNzRWxlbWVudE1ldGFkYXRhKFxuICBpbmplY3RNZXRhZGF0YTogTGVnYWN5TWV0YWRhdGEgfCB1bmRlZmluZWQsXG4gIG11bHRpSW5qZWN0TWV0YWRhdGE6IExlZ2FjeU1ldGFkYXRhIHwgdW5kZWZpbmVkLFxuKTogVW5tYW5hZ2VkQ2xhc3NFbGVtZW50TWV0YWRhdGEge1xuICBpZiAobXVsdGlJbmplY3RNZXRhZGF0YSAhPT0gdW5kZWZpbmVkIHx8IGluamVjdE1ldGFkYXRhICE9PSB1bmRlZmluZWQpIHtcbiAgICB0aHJvdyBuZXcgSW52ZXJzaWZ5Q29yZUVycm9yKFxuICAgICAgSW52ZXJzaWZ5Q29yZUVycm9yS2luZC5taXNzaW5nSW5qZWN0aW9uRGVjb3JhdG9yLFxuICAgICAgJ0V4cGVjdGVkIGEgc2luZ2xlIEBpbmplY3QsIEBtdWx0aUluamVjdCBvciBAdW5tYW5hZ2VkIG1ldGFkYXRhJyxcbiAgICApO1xuICB9XG5cbiAgcmV0dXJuIHtcbiAgICBraW5kOiBDbGFzc0VsZW1lbnRNZXRhZGF0YUtpbmQudW5tYW5hZ2VkLFxuICB9O1xufVxuIiwiaW1wb3J0IHsgTmV3YWJsZSB9IGZyb20gJ0BpbnZlcnNpZnlqcy9jb21tb24nO1xuXG5pbXBvcnQgeyBJbnZlcnNpZnlDb3JlRXJyb3IgfSBmcm9tICcuLi8uLi9lcnJvci9tb2RlbHMvSW52ZXJzaWZ5Q29yZUVycm9yJztcbmltcG9ydCB7IEludmVyc2lmeUNvcmVFcnJvcktpbmQgfSBmcm9tICcuLi8uLi9lcnJvci9tb2RlbHMvSW52ZXJzaWZ5Q29yZUVycm9yS2luZCc7XG5pbXBvcnQgeyBDbGFzc0VsZW1lbnRNZXRhZGF0YSB9IGZyb20gJy4uL21vZGVscy9DbGFzc0VsZW1lbnRNZXRhZGF0YSc7XG5pbXBvcnQgeyBMZWdhY3lNZXRhZGF0YSB9IGZyb20gJy4uL21vZGVscy9MZWdhY3lNZXRhZGF0YSc7XG5pbXBvcnQgeyBnZXRDbGFzc0VsZW1lbnRNZXRhZGF0YUZyb21MZWdhY3lNZXRhZGF0YSB9IGZyb20gJy4vZ2V0Q2xhc3NFbGVtZW50TWV0YWRhdGFGcm9tTGVnYWN5TWV0YWRhdGEnO1xuXG5leHBvcnQgZnVuY3Rpb24gZ2V0Q29uc3RydWN0b3JBcmd1bWVudE1ldGFkYXRhRnJvbUxlZ2FjeU1ldGFkYXRhKFxuICB0eXBlOiBOZXdhYmxlLFxuICBpbmRleDogbnVtYmVyLFxuICBtZXRhZGF0YUxpc3Q6IExlZ2FjeU1ldGFkYXRhW10sXG4pOiBDbGFzc0VsZW1lbnRNZXRhZGF0YSB7XG4gIHRyeSB7XG4gICAgcmV0dXJuIGdldENsYXNzRWxlbWVudE1ldGFkYXRhRnJvbUxlZ2FjeU1ldGFkYXRhKG1ldGFkYXRhTGlzdCk7XG4gIH0gY2F0Y2ggKGVycm9yOiB1bmtub3duKSB7XG4gICAgaWYgKFxuICAgICAgSW52ZXJzaWZ5Q29yZUVycm9yLmlzRXJyb3JPZktpbmQoXG4gICAgICAgIGVycm9yLFxuICAgICAgICBJbnZlcnNpZnlDb3JlRXJyb3JLaW5kLm1pc3NpbmdJbmplY3Rpb25EZWNvcmF0b3IsXG4gICAgICApXG4gICAgKSB7XG4gICAgICB0aHJvdyBuZXcgSW52ZXJzaWZ5Q29yZUVycm9yKFxuICAgICAgICBJbnZlcnNpZnlDb3JlRXJyb3JLaW5kLm1pc3NpbmdJbmplY3Rpb25EZWNvcmF0b3IsXG4gICAgICAgIGBFeHBlY3RlZCBhIHNpbmdsZSBAaW5qZWN0LCBAbXVsdGlJbmplY3Qgb3IgQHVubWFuYWdlZCBkZWNvcmF0b3IgYXQgdHlwZSBcIiR7dHlwZS5uYW1lfVwiIGF0IGNvbnN0cnVjdG9yIGFyZ3VtZW50cyBhdCBpbmRleCBcIiR7aW5kZXgudG9TdHJpbmcoKX1cImAsXG4gICAgICAgIHsgY2F1c2U6IGVycm9yIH0sXG4gICAgICApO1xuICAgIH0gZWxzZSB7XG4gICAgICB0aHJvdyBlcnJvcjtcbiAgICB9XG4gIH1cbn1cbiIsImltcG9ydCB7IE5ld2FibGUgfSBmcm9tICdAaW52ZXJzaWZ5anMvY29tbW9uJztcbmltcG9ydCB7IGdldFJlZmxlY3RNZXRhZGF0YSB9IGZyb20gJ0BpbnZlcnNpZnlqcy9yZWZsZWN0LW1ldGFkYXRhLXV0aWxzJztcblxuaW1wb3J0IHsgREVTSUdOX1BBUkFNX1RZUEVTLCBUQUdHRUQgfSBmcm9tICcuLi8uLi9yZWZsZWN0TWV0YWRhdGEvZGF0YS9rZXlzJztcbmltcG9ydCB7IENsYXNzRWxlbWVudE1ldGFkYXRhIH0gZnJvbSAnLi4vbW9kZWxzL0NsYXNzRWxlbWVudE1ldGFkYXRhJztcbmltcG9ydCB7IExlZ2FjeU1ldGFkYXRhTWFwIH0gZnJvbSAnLi4vbW9kZWxzL0xlZ2FjeU1ldGFkYXRhTWFwJztcbmltcG9ydCB7IGFzc2VydENvbnN0cnVjdG9yTWV0YWRhdGFBcnJheUZpbGxlZCB9IGZyb20gJy4vYXNzZXJ0Q29uc3RydWN0b3JNZXRhZGF0YUFycmF5RmlsbGVkJztcbmltcG9ydCB7IGdldENsYXNzRWxlbWVudE1ldGFkYXRhRnJvbU5ld2FibGUgfSBmcm9tICcuL2dldENsYXNzRWxlbWVudE1ldGFkYXRhRnJvbU5ld2FibGUnO1xuaW1wb3J0IHsgZ2V0Q29uc3RydWN0b3JBcmd1bWVudE1ldGFkYXRhRnJvbUxlZ2FjeU1ldGFkYXRhIH0gZnJvbSAnLi9nZXRDb25zdHJ1Y3RvckFyZ3VtZW50TWV0YWRhdGFGcm9tTGVnYWN5TWV0YWRhdGEnO1xuXG5leHBvcnQgZnVuY3Rpb24gZ2V0Q2xhc3NNZXRhZGF0YUNvbnN0cnVjdG9yQXJndW1lbnRzKFxuICB0eXBlOiBOZXdhYmxlLFxuKTogQ2xhc3NFbGVtZW50TWV0YWRhdGFbXSB7XG4gIGNvbnN0IHR5cGVzY3JpcHRNZXRhZGF0YUxpc3Q6IE5ld2FibGVbXSB8IHVuZGVmaW5lZCA9IGdldFJlZmxlY3RNZXRhZGF0YShcbiAgICB0eXBlLFxuICAgIERFU0lHTl9QQVJBTV9UWVBFUyxcbiAgKTtcblxuICBjb25zdCBjb25zdHJ1Y3RvclBhcmFtZXRlcnNMZWdhY3lNZXRhZGF0YTogTGVnYWN5TWV0YWRhdGFNYXAgfCB1bmRlZmluZWQgPVxuICAgIGdldFJlZmxlY3RNZXRhZGF0YSh0eXBlLCBUQUdHRUQpO1xuXG4gIGNvbnN0IGNvbnN0cnVjdG9yQXJndW1lbnRzTWV0YWRhdGE6IChDbGFzc0VsZW1lbnRNZXRhZGF0YSB8IHVuZGVmaW5lZClbXSA9IFtdO1xuXG4gIGlmIChjb25zdHJ1Y3RvclBhcmFtZXRlcnNMZWdhY3lNZXRhZGF0YSAhPT0gdW5kZWZpbmVkKSB7XG4gICAgZm9yIChjb25zdCBbc3RyaW5naWZpZWRJbmRleCwgbWV0YWRhdGFMaXN0XSBvZiBPYmplY3QuZW50cmllcyhcbiAgICAgIGNvbnN0cnVjdG9yUGFyYW1ldGVyc0xlZ2FjeU1ldGFkYXRhLFxuICAgICkpIHtcbiAgICAgIGNvbnN0IGluZGV4OiBudW1iZXIgPSBwYXJzZUludChzdHJpbmdpZmllZEluZGV4KTtcblxuICAgICAgY29uc3RydWN0b3JBcmd1bWVudHNNZXRhZGF0YVtpbmRleF0gPVxuICAgICAgICBnZXRDb25zdHJ1Y3RvckFyZ3VtZW50TWV0YWRhdGFGcm9tTGVnYWN5TWV0YWRhdGEoXG4gICAgICAgICAgdHlwZSxcbiAgICAgICAgICBpbmRleCxcbiAgICAgICAgICBtZXRhZGF0YUxpc3QsXG4gICAgICAgICk7XG4gICAgfVxuICB9XG5cbiAgaWYgKHR5cGVzY3JpcHRNZXRhZGF0YUxpc3QgIT09IHVuZGVmaW5lZCkge1xuICAgIGZvciAobGV0IGk6IG51bWJlciA9IDA7IGkgPCB0eXBlc2NyaXB0TWV0YWRhdGFMaXN0Lmxlbmd0aDsgKytpKSB7XG4gICAgICBpZiAoY29uc3RydWN0b3JBcmd1bWVudHNNZXRhZGF0YVtpXSA9PT0gdW5kZWZpbmVkKSB7XG4gICAgICAgIGNvbnN0IHR5cGVzY3JpcHRNZXRhZGF0YTogTmV3YWJsZSA9IHR5cGVzY3JpcHRNZXRhZGF0YUxpc3RbXG4gICAgICAgICAgaVxuICAgICAgICBdIGFzIE5ld2FibGU7XG5cbiAgICAgICAgY29uc3RydWN0b3JBcmd1bWVudHNNZXRhZGF0YVtpXSA9XG4gICAgICAgICAgZ2V0Q2xhc3NFbGVtZW50TWV0YWRhdGFGcm9tTmV3YWJsZSh0eXBlc2NyaXB0TWV0YWRhdGEpO1xuICAgICAgfVxuICAgIH1cbiAgfVxuXG4gIGFzc2VydENvbnN0cnVjdG9yTWV0YWRhdGFBcnJheUZpbGxlZCh0eXBlLCBjb25zdHJ1Y3RvckFyZ3VtZW50c01ldGFkYXRhKTtcblxuICByZXR1cm4gY29uc3RydWN0b3JBcmd1bWVudHNNZXRhZGF0YTtcbn1cbiIsImltcG9ydCB7IE5ld2FibGUgfSBmcm9tICdAaW52ZXJzaWZ5anMvY29tbW9uJztcblxuaW1wb3J0IHsgSW52ZXJzaWZ5Q29yZUVycm9yIH0gZnJvbSAnLi4vLi4vZXJyb3IvbW9kZWxzL0ludmVyc2lmeUNvcmVFcnJvcic7XG5pbXBvcnQgeyBJbnZlcnNpZnlDb3JlRXJyb3JLaW5kIH0gZnJvbSAnLi4vLi4vZXJyb3IvbW9kZWxzL0ludmVyc2lmeUNvcmVFcnJvcktpbmQnO1xuaW1wb3J0IHsgQ2xhc3NFbGVtZW50TWV0YWRhdGEgfSBmcm9tICcuLi9tb2RlbHMvQ2xhc3NFbGVtZW50TWV0YWRhdGEnO1xuaW1wb3J0IHsgTGVnYWN5TWV0YWRhdGEgfSBmcm9tICcuLi9tb2RlbHMvTGVnYWN5TWV0YWRhdGEnO1xuaW1wb3J0IHsgZ2V0Q2xhc3NFbGVtZW50TWV0YWRhdGFGcm9tTGVnYWN5TWV0YWRhdGEgfSBmcm9tICcuL2dldENsYXNzRWxlbWVudE1ldGFkYXRhRnJvbUxlZ2FjeU1ldGFkYXRhJztcblxuZXhwb3J0IGZ1bmN0aW9uIGdldFByb3BlcnR5TWV0YWRhdGFGcm9tTGVnYWN5TWV0YWRhdGEoXG4gIHR5cGU6IE5ld2FibGUsXG4gIGtleTogc3RyaW5nIHwgc3ltYm9sLFxuICBtZXRhZGF0YUxpc3Q6IExlZ2FjeU1ldGFkYXRhW10sXG4pOiBDbGFzc0VsZW1lbnRNZXRhZGF0YSB7XG4gIHRyeSB7XG4gICAgcmV0dXJuIGdldENsYXNzRWxlbWVudE1ldGFkYXRhRnJvbUxlZ2FjeU1ldGFkYXRhKG1ldGFkYXRhTGlzdCk7XG4gIH0gY2F0Y2ggKGVycm9yOiB1bmtub3duKSB7XG4gICAgaWYgKFxuICAgICAgSW52ZXJzaWZ5Q29yZUVycm9yLmlzRXJyb3JPZktpbmQoXG4gICAgICAgIGVycm9yLFxuICAgICAgICBJbnZlcnNpZnlDb3JlRXJyb3JLaW5kLm1pc3NpbmdJbmplY3Rpb25EZWNvcmF0b3IsXG4gICAgICApXG4gICAgKSB7XG4gICAgICB0aHJvdyBuZXcgSW52ZXJzaWZ5Q29yZUVycm9yKFxuICAgICAgICBJbnZlcnNpZnlDb3JlRXJyb3JLaW5kLm1pc3NpbmdJbmplY3Rpb25EZWNvcmF0b3IsXG4gICAgICAgIGBFeHBlY3RlZCBhIHNpbmdsZSBAaW5qZWN0LCBAbXVsdGlJbmplY3Qgb3IgQHVubWFuYWdlZCBkZWNvcmF0b3IgYXQgdHlwZSBcIiR7dHlwZS5uYW1lfVwiIGF0IHByb3BlcnR5IFwiJHtrZXkudG9TdHJpbmcoKX1cImAsXG4gICAgICAgIHsgY2F1c2U6IGVycm9yIH0sXG4gICAgICApO1xuICAgIH0gZWxzZSB7XG4gICAgICB0aHJvdyBlcnJvcjtcbiAgICB9XG4gIH1cbn1cbiIsImltcG9ydCB7IE5ld2FibGUgfSBmcm9tICdAaW52ZXJzaWZ5anMvY29tbW9uJztcbmltcG9ydCB7IGdldFJlZmxlY3RNZXRhZGF0YSB9IGZyb20gJ0BpbnZlcnNpZnlqcy9yZWZsZWN0LW1ldGFkYXRhLXV0aWxzJztcblxuaW1wb3J0IHsgVEFHR0VEX1BST1AgfSBmcm9tICcuLi8uLi9yZWZsZWN0TWV0YWRhdGEvZGF0YS9rZXlzJztcbmltcG9ydCB7IENsYXNzRWxlbWVudE1ldGFkYXRhIH0gZnJvbSAnLi4vbW9kZWxzL0NsYXNzRWxlbWVudE1ldGFkYXRhJztcbmltcG9ydCB7IExlZ2FjeU1ldGFkYXRhIH0gZnJvbSAnLi4vbW9kZWxzL0xlZ2FjeU1ldGFkYXRhJztcbmltcG9ydCB7IExlZ2FjeU1ldGFkYXRhTWFwIH0gZnJvbSAnLi4vbW9kZWxzL0xlZ2FjeU1ldGFkYXRhTWFwJztcbmltcG9ydCB7IGdldFByb3BlcnR5TWV0YWRhdGFGcm9tTGVnYWN5TWV0YWRhdGEgfSBmcm9tICcuL2dldFByb3BlcnR5TWV0YWRhdGFGcm9tTGVnYWN5TWV0YWRhdGEnO1xuXG5leHBvcnQgZnVuY3Rpb24gZ2V0Q2xhc3NNZXRhZGF0YVByb3BlcnRpZXMoXG4gIHR5cGU6IE5ld2FibGUsXG4pOiBNYXA8c3RyaW5nIHwgc3ltYm9sLCBDbGFzc0VsZW1lbnRNZXRhZGF0YT4ge1xuICBjb25zdCBwcm9wZXJ0aWVzTGVnYWN5TWV0YWRhdGE6IExlZ2FjeU1ldGFkYXRhTWFwIHwgdW5kZWZpbmVkID1cbiAgICBnZXRSZWZsZWN0TWV0YWRhdGEodHlwZSwgVEFHR0VEX1BST1ApO1xuXG4gIGNvbnN0IHByb3BlcnRpZXNNZXRhZGF0YTogTWFwPHN0cmluZyB8IHN5bWJvbCwgQ2xhc3NFbGVtZW50TWV0YWRhdGE+ID1cbiAgICBuZXcgTWFwKCk7XG5cbiAgaWYgKHByb3BlcnRpZXNMZWdhY3lNZXRhZGF0YSAhPT0gdW5kZWZpbmVkKSB7XG4gICAgZm9yIChjb25zdCBwcm9wZXJ0eSBvZiBSZWZsZWN0Lm93bktleXMocHJvcGVydGllc0xlZ2FjeU1ldGFkYXRhKSkge1xuICAgICAgY29uc3QgbGVnYWN5TWV0YWRhdGE6IExlZ2FjeU1ldGFkYXRhW10gPSBwcm9wZXJ0aWVzTGVnYWN5TWV0YWRhdGFbXG4gICAgICAgIHByb3BlcnR5XG4gICAgICBdIGFzIExlZ2FjeU1ldGFkYXRhW107XG4gICAgICBwcm9wZXJ0aWVzTWV0YWRhdGEuc2V0KFxuICAgICAgICBwcm9wZXJ0eSxcbiAgICAgICAgZ2V0UHJvcGVydHlNZXRhZGF0YUZyb21MZWdhY3lNZXRhZGF0YSh0eXBlLCBwcm9wZXJ0eSwgbGVnYWN5TWV0YWRhdGEpLFxuICAgICAgKTtcbiAgICB9XG4gIH1cblxuICByZXR1cm4gcHJvcGVydGllc01ldGFkYXRhO1xufVxuIiwiaW1wb3J0IHsgTmV3YWJsZSB9IGZyb20gJ0BpbnZlcnNpZnlqcy9jb21tb24nO1xuaW1wb3J0IHsgZ2V0UmVmbGVjdE1ldGFkYXRhIH0gZnJvbSAnQGludmVyc2lmeWpzL3JlZmxlY3QtbWV0YWRhdGEtdXRpbHMnO1xuXG5pbXBvcnQgeyBQT1NUX0NPTlNUUlVDVCwgUFJFX0RFU1RST1kgfSBmcm9tICcuLi8uLi9yZWZsZWN0TWV0YWRhdGEvZGF0YS9rZXlzJztcbmltcG9ydCB7IENsYXNzTWV0YWRhdGEgfSBmcm9tICcuLi9tb2RlbHMvQ2xhc3NNZXRhZGF0YSc7XG5pbXBvcnQgeyBMZWdhY3lNZXRhZGF0YSB9IGZyb20gJy4uL21vZGVscy9MZWdhY3lNZXRhZGF0YSc7XG5pbXBvcnQgeyBnZXRDbGFzc01ldGFkYXRhQ29uc3RydWN0b3JBcmd1bWVudHMgfSBmcm9tICcuL2dldENsYXNzTWV0YWRhdGFDb25zdHJ1Y3RvckFyZ3VtZW50cyc7XG5pbXBvcnQgeyBnZXRDbGFzc01ldGFkYXRhUHJvcGVydGllcyB9IGZyb20gJy4vZ2V0Q2xhc3NNZXRhZGF0YVByb3BlcnRpZXMnO1xuXG5leHBvcnQgZnVuY3Rpb24gZ2V0Q2xhc3NNZXRhZGF0YSh0eXBlOiBOZXdhYmxlKTogQ2xhc3NNZXRhZGF0YSB7XG4gIGNvbnN0IHBvc3RDb25zdHJ1Y3RNZXRhZGF0YTogTGVnYWN5TWV0YWRhdGEgfCB1bmRlZmluZWQgPVxuICAgIGdldFJlZmxlY3RNZXRhZGF0YTxMZWdhY3lNZXRhZGF0YT4odHlwZSwgUE9TVF9DT05TVFJVQ1QpO1xuICBjb25zdCBwcmVEZXN0cm95TWV0YWRhdGE6IExlZ2FjeU1ldGFkYXRhIHwgdW5kZWZpbmVkID1cbiAgICBnZXRSZWZsZWN0TWV0YWRhdGE8TGVnYWN5TWV0YWRhdGE+KHR5cGUsIFBSRV9ERVNUUk9ZKTtcblxuICBjb25zdCBjbGFzc01ldGFkYXRhOiBDbGFzc01ldGFkYXRhID0ge1xuICAgIGNvbnN0cnVjdG9yQXJndW1lbnRzOiBnZXRDbGFzc01ldGFkYXRhQ29uc3RydWN0b3JBcmd1bWVudHModHlwZSksXG4gICAgbGlmZWN5Y2xlOiB7XG4gICAgICBwb3N0Q29uc3RydWN0TWV0aG9kTmFtZTogcG9zdENvbnN0cnVjdE1ldGFkYXRhPy52YWx1ZSBhcyBzdHJpbmcsXG4gICAgICBwcmVEZXN0cm95TWV0aG9kTmFtZTogcHJlRGVzdHJveU1ldGFkYXRhPy52YWx1ZSBhcyBzdHJpbmcsXG4gICAgfSxcbiAgICBwcm9wZXJ0aWVzOiBnZXRDbGFzc01ldGFkYXRhUHJvcGVydGllcyh0eXBlKSxcbiAgfTtcblxuICByZXR1cm4gY2xhc3NNZXRhZGF0YTtcbn1cbiIsImltcG9ydCB7IE5ld2FibGUgfSBmcm9tICdAaW52ZXJzaWZ5anMvY29tbW9uJztcblxuaW1wb3J0IHsgQ2xhc3NFbGVtZW50TWV0YWRhdGEgfSBmcm9tICcuLi9tb2RlbHMvQ2xhc3NFbGVtZW50TWV0YWRhdGEnO1xuaW1wb3J0IHsgTGVnYWN5Q29uc3RydWN0b3JNZXRhZGF0YSB9IGZyb20gJy4uL21vZGVscy9MZWdhY3lDb25zdHJ1Y3Rvck1ldGFkYXRhJztcbmltcG9ydCB7IExlZ2FjeU1ldGFkYXRhUmVhZGVyIH0gZnJvbSAnLi4vbW9kZWxzL0xlZ2FjeU1ldGFkYXRhUmVhZGVyJztcbmltcG9ydCB7IGFzc2VydENvbnN0cnVjdG9yTWV0YWRhdGFBcnJheUZpbGxlZCB9IGZyb20gJy4vYXNzZXJ0Q29uc3RydWN0b3JNZXRhZGF0YUFycmF5RmlsbGVkJztcbmltcG9ydCB7IGdldENsYXNzRWxlbWVudE1ldGFkYXRhRnJvbU5ld2FibGUgfSBmcm9tICcuL2dldENsYXNzRWxlbWVudE1ldGFkYXRhRnJvbU5ld2FibGUnO1xuaW1wb3J0IHsgZ2V0Q29uc3RydWN0b3JBcmd1bWVudE1ldGFkYXRhRnJvbUxlZ2FjeU1ldGFkYXRhIH0gZnJvbSAnLi9nZXRDb25zdHJ1Y3RvckFyZ3VtZW50TWV0YWRhdGFGcm9tTGVnYWN5TWV0YWRhdGEnO1xuXG5leHBvcnQgZnVuY3Rpb24gZ2V0Q2xhc3NNZXRhZGF0YUNvbnN0cnVjdG9yQXJndW1lbnRzRnJvbU1ldGFkYXRhUmVhZGVyKFxuICB0eXBlOiBOZXdhYmxlLFxuICBtZXRhZGF0YVJlYWRlcjogTGVnYWN5TWV0YWRhdGFSZWFkZXIsXG4pOiBDbGFzc0VsZW1lbnRNZXRhZGF0YVtdIHtcbiAgY29uc3QgbGVnYWN5Q29uc3RydWN0b3JNZXRhZGF0YTogTGVnYWN5Q29uc3RydWN0b3JNZXRhZGF0YSA9XG4gICAgbWV0YWRhdGFSZWFkZXIuZ2V0Q29uc3RydWN0b3JNZXRhZGF0YSh0eXBlKTtcblxuICBjb25zdCBjb25zdHJ1Y3RvckFyZ3VtZW50c01ldGFkYXRhOiAoQ2xhc3NFbGVtZW50TWV0YWRhdGEgfCB1bmRlZmluZWQpW10gPSBbXTtcblxuICBmb3IgKGNvbnN0IFtzdHJpbmdpZmllZEluZGV4LCBtZXRhZGF0YUxpc3RdIG9mIE9iamVjdC5lbnRyaWVzKFxuICAgIGxlZ2FjeUNvbnN0cnVjdG9yTWV0YWRhdGEudXNlckdlbmVyYXRlZE1ldGFkYXRhLFxuICApKSB7XG4gICAgY29uc3QgaW5kZXg6IG51bWJlciA9IHBhcnNlSW50KHN0cmluZ2lmaWVkSW5kZXgpO1xuXG4gICAgY29uc3RydWN0b3JBcmd1bWVudHNNZXRhZGF0YVtpbmRleF0gPVxuICAgICAgZ2V0Q29uc3RydWN0b3JBcmd1bWVudE1ldGFkYXRhRnJvbUxlZ2FjeU1ldGFkYXRhKFxuICAgICAgICB0eXBlLFxuICAgICAgICBpbmRleCxcbiAgICAgICAgbWV0YWRhdGFMaXN0LFxuICAgICAgKTtcbiAgfVxuXG4gIGlmIChsZWdhY3lDb25zdHJ1Y3Rvck1ldGFkYXRhLmNvbXBpbGVyR2VuZXJhdGVkTWV0YWRhdGEgIT09IHVuZGVmaW5lZCkge1xuICAgIGZvciAoXG4gICAgICBsZXQgaTogbnVtYmVyID0gMDtcbiAgICAgIGkgPCBsZWdhY3lDb25zdHJ1Y3Rvck1ldGFkYXRhLmNvbXBpbGVyR2VuZXJhdGVkTWV0YWRhdGEubGVuZ3RoO1xuICAgICAgKytpXG4gICAgKSB7XG4gICAgICBpZiAoY29uc3RydWN0b3JBcmd1bWVudHNNZXRhZGF0YVtpXSA9PT0gdW5kZWZpbmVkKSB7XG4gICAgICAgIGNvbnN0IHR5cGVzY3JpcHRNZXRhZGF0YTogTmV3YWJsZSA9IGxlZ2FjeUNvbnN0cnVjdG9yTWV0YWRhdGFcbiAgICAgICAgICAuY29tcGlsZXJHZW5lcmF0ZWRNZXRhZGF0YVtpXSBhcyBOZXdhYmxlO1xuXG4gICAgICAgIGNvbnN0cnVjdG9yQXJndW1lbnRzTWV0YWRhdGFbaV0gPVxuICAgICAgICAgIGdldENsYXNzRWxlbWVudE1ldGFkYXRhRnJvbU5ld2FibGUodHlwZXNjcmlwdE1ldGFkYXRhKTtcbiAgICAgIH1cbiAgICB9XG4gIH1cblxuICBhc3NlcnRDb25zdHJ1Y3Rvck1ldGFkYXRhQXJyYXlGaWxsZWQodHlwZSwgY29uc3RydWN0b3JBcmd1bWVudHNNZXRhZGF0YSk7XG5cbiAgcmV0dXJuIGNvbnN0cnVjdG9yQXJndW1lbnRzTWV0YWRhdGE7XG59XG4iLCJpbXBvcnQgeyBOZXdhYmxlIH0gZnJvbSAnQGludmVyc2lmeWpzL2NvbW1vbic7XG5cbmltcG9ydCB7IENsYXNzRWxlbWVudE1ldGFkYXRhIH0gZnJvbSAnLi4vbW9kZWxzL0NsYXNzRWxlbWVudE1ldGFkYXRhJztcbmltcG9ydCB7IExlZ2FjeU1ldGFkYXRhIH0gZnJvbSAnLi4vbW9kZWxzL0xlZ2FjeU1ldGFkYXRhJztcbmltcG9ydCB7IExlZ2FjeU1ldGFkYXRhTWFwIH0gZnJvbSAnLi4vbW9kZWxzL0xlZ2FjeU1ldGFkYXRhTWFwJztcbmltcG9ydCB7IExlZ2FjeU1ldGFkYXRhUmVhZGVyIH0gZnJvbSAnLi4vbW9kZWxzL0xlZ2FjeU1ldGFkYXRhUmVhZGVyJztcbmltcG9ydCB7IGdldFByb3BlcnR5TWV0YWRhdGFGcm9tTGVnYWN5TWV0YWRhdGEgfSBmcm9tICcuL2dldFByb3BlcnR5TWV0YWRhdGFGcm9tTGVnYWN5TWV0YWRhdGEnO1xuXG5leHBvcnQgZnVuY3Rpb24gZ2V0Q2xhc3NNZXRhZGF0YVByb3BlcnRpZXNGcm9tTWV0YWRhdGFSZWFkZXIoXG4gIHR5cGU6IE5ld2FibGUsXG4gIG1ldGFkYXRhUmVhZGVyOiBMZWdhY3lNZXRhZGF0YVJlYWRlcixcbik6IE1hcDxzdHJpbmcgfCBzeW1ib2wsIENsYXNzRWxlbWVudE1ldGFkYXRhPiB7XG4gIGNvbnN0IHByb3BlcnRpZXNMZWdhY3lNZXRhZGF0YTogTGVnYWN5TWV0YWRhdGFNYXAgPVxuICAgIG1ldGFkYXRhUmVhZGVyLmdldFByb3BlcnRpZXNNZXRhZGF0YSh0eXBlKTtcblxuICBjb25zdCBwcm9wZXJ0aWVzTWV0YWRhdGE6IE1hcDxzdHJpbmcgfCBzeW1ib2wsIENsYXNzRWxlbWVudE1ldGFkYXRhPiA9XG4gICAgbmV3IE1hcCgpO1xuXG4gIGZvciAoY29uc3QgcHJvcGVydHkgb2YgUmVmbGVjdC5vd25LZXlzKHByb3BlcnRpZXNMZWdhY3lNZXRhZGF0YSkpIHtcbiAgICBjb25zdCBsZWdhY3lNZXRhZGF0YTogTGVnYWN5TWV0YWRhdGFbXSA9IHByb3BlcnRpZXNMZWdhY3lNZXRhZGF0YVtcbiAgICAgIHByb3BlcnR5XG4gICAgXSBhcyBMZWdhY3lNZXRhZGF0YVtdO1xuICAgIHByb3BlcnRpZXNNZXRhZGF0YS5zZXQoXG4gICAgICBwcm9wZXJ0eSxcbiAgICAgIGdldFByb3BlcnR5TWV0YWRhdGFGcm9tTGVnYWN5TWV0YWRhdGEodHlwZSwgcHJvcGVydHksIGxlZ2FjeU1ldGFkYXRhKSxcbiAgICApO1xuICB9XG5cbiAgcmV0dXJuIHByb3BlcnRpZXNNZXRhZGF0YTtcbn1cbiIsImltcG9ydCB7IE5ld2FibGUgfSBmcm9tICdAaW52ZXJzaWZ5anMvY29tbW9uJztcbmltcG9ydCB7IGdldFJlZmxlY3RNZXRhZGF0YSB9IGZyb20gJ0BpbnZlcnNpZnlqcy9yZWZsZWN0LW1ldGFkYXRhLXV0aWxzJztcblxuaW1wb3J0IHsgUE9TVF9DT05TVFJVQ1QsIFBSRV9ERVNUUk9ZIH0gZnJvbSAnLi4vLi4vcmVmbGVjdE1ldGFkYXRhL2RhdGEva2V5cyc7XG5pbXBvcnQgeyBDbGFzc01ldGFkYXRhIH0gZnJvbSAnLi4vbW9kZWxzL0NsYXNzTWV0YWRhdGEnO1xuaW1wb3J0IHsgTGVnYWN5TWV0YWRhdGEgfSBmcm9tICcuLi9tb2RlbHMvTGVnYWN5TWV0YWRhdGEnO1xuaW1wb3J0IHsgTGVnYWN5TWV0YWRhdGFSZWFkZXIgfSBmcm9tICcuLi9tb2RlbHMvTGVnYWN5TWV0YWRhdGFSZWFkZXInO1xuaW1wb3J0IHsgZ2V0Q2xhc3NNZXRhZGF0YUNvbnN0cnVjdG9yQXJndW1lbnRzRnJvbU1ldGFkYXRhUmVhZGVyIH0gZnJvbSAnLi9nZXRDbGFzc01ldGFkYXRhQ29uc3RydWN0b3JBcmd1bWVudHNGcm9tTWV0YWRhdGFSZWFkZXInO1xuaW1wb3J0IHsgZ2V0Q2xhc3NNZXRhZGF0YVByb3BlcnRpZXNGcm9tTWV0YWRhdGFSZWFkZXIgfSBmcm9tICcuL2dldENsYXNzTWV0YWRhdGFQcm9wZXJ0aWVzRnJvbU1ldGFkYXRhUmVhZGVyJztcblxuZXhwb3J0IGZ1bmN0aW9uIGdldENsYXNzTWV0YWRhdGFGcm9tTWV0YWRhdGFSZWFkZXIoXG4gIHR5cGU6IE5ld2FibGUsXG4gIG1ldGFkYXRhUmVhZGVyOiBMZWdhY3lNZXRhZGF0YVJlYWRlcixcbik6IENsYXNzTWV0YWRhdGEge1xuICBjb25zdCBwb3N0Q29uc3RydWN0TWV0YWRhdGE6IExlZ2FjeU1ldGFkYXRhIHwgdW5kZWZpbmVkID1cbiAgICBnZXRSZWZsZWN0TWV0YWRhdGE8TGVnYWN5TWV0YWRhdGE+KHR5cGUsIFBPU1RfQ09OU1RSVUNUKTtcbiAgY29uc3QgcHJlRGVzdHJveU1ldGFkYXRhOiBMZWdhY3lNZXRhZGF0YSB8IHVuZGVmaW5lZCA9XG4gICAgZ2V0UmVmbGVjdE1ldGFkYXRhPExlZ2FjeU1ldGFkYXRhPih0eXBlLCBQUkVfREVTVFJPWSk7XG5cbiAgY29uc3QgY2xhc3NNZXRhZGF0YTogQ2xhc3NNZXRhZGF0YSA9IHtcbiAgICBjb25zdHJ1Y3RvckFyZ3VtZW50czpcbiAgICAgIGdldENsYXNzTWV0YWRhdGFDb25zdHJ1Y3RvckFyZ3VtZW50c0Zyb21NZXRhZGF0YVJlYWRlcihcbiAgICAgICAgdHlwZSxcbiAgICAgICAgbWV0YWRhdGFSZWFkZXIsXG4gICAgICApLFxuICAgIGxpZmVjeWNsZToge1xuICAgICAgcG9zdENvbnN0cnVjdE1ldGhvZE5hbWU6IHBvc3RDb25zdHJ1Y3RNZXRhZGF0YT8udmFsdWUgYXMgc3RyaW5nLFxuICAgICAgcHJlRGVzdHJveU1ldGhvZE5hbWU6IHByZURlc3Ryb3lNZXRhZGF0YT8udmFsdWUgYXMgc3RyaW5nLFxuICAgIH0sXG4gICAgcHJvcGVydGllczogZ2V0Q2xhc3NNZXRhZGF0YVByb3BlcnRpZXNGcm9tTWV0YWRhdGFSZWFkZXIoXG4gICAgICB0eXBlLFxuICAgICAgbWV0YWRhdGFSZWFkZXIsXG4gICAgKSxcbiAgfTtcblxuICByZXR1cm4gY2xhc3NNZXRhZGF0YTtcbn1cbiIsImltcG9ydCB7IE5ld2FibGUgfSBmcm9tICdAaW52ZXJzaWZ5anMvY29tbW9uJztcblxuaW1wb3J0IHsgUHJvdG90eXBlIH0gZnJvbSAnLi4vbW9kZWxzL1Byb3RvdHlwZSc7XG5cbmV4cG9ydCBmdW5jdGlvbiBnZXRCYXNlVHlwZTxUSW5zdGFuY2UsIFRBcmdzIGV4dGVuZHMgdW5rbm93bltdPihcbiAgdHlwZTogTmV3YWJsZTxUSW5zdGFuY2UsIFRBcmdzPixcbik6IE5ld2FibGUgfCB1bmRlZmluZWQge1xuICBjb25zdCBwcm90b3R5cGU6IFByb3RvdHlwZSB8IG51bGwgPSBPYmplY3QuZ2V0UHJvdG90eXBlT2YoXG4gICAgdHlwZS5wcm90b3R5cGUsXG4gICkgYXMgUHJvdG90eXBlIHwgbnVsbDtcblxuICBjb25zdCBiYXNlVHlwZTogTmV3YWJsZSB8IHVuZGVmaW5lZCA9IHByb3RvdHlwZT8uY29uc3RydWN0b3I7XG5cbiAgcmV0dXJuIGJhc2VUeXBlO1xufVxuIiwidmFyIHggPSAoeSkgPT4ge1xuXHR2YXIgeCA9IHt9OyBfX3dlYnBhY2tfcmVxdWlyZV9fLmQoeCwgeSk7IHJldHVybiB4XG59IFxudmFyIHkgPSAoeCkgPT4gKCgpID0+ICh4KSlcbmNvbnN0IF9fV0VCUEFDS19OQU1FU1BBQ0VfT0JKRUNUX18gPSB4KHsgW1wiTGF6eVNlcnZpY2VJZGVudGlmaWVyXCJdOiAoKSA9PiAoX19XRUJQQUNLX0VYVEVSTkFMX01PRFVMRV9faW52ZXJzaWZ5anNfY29tbW9uXzA4MWQ4YzA3X18uTGF6eVNlcnZpY2VJZGVudGlmaWVyKSB9KTsiLCJpbXBvcnQge1xuICBJTkpFQ1RfVEFHLFxuICBNVUxUSV9JTkpFQ1RfVEFHLFxuICBOQU1FX1RBRyxcbiAgTkFNRURfVEFHLFxuICBPUFRJT05BTF9UQUcsXG4gIFVOTUFOQUdFRF9UQUcsXG59IGZyb20gJy4uLy4uL3JlZmxlY3RNZXRhZGF0YS9kYXRhL2tleXMnO1xuaW1wb3J0IHsgQ2xhc3NFbGVtZW50TWV0YWRhdGEgfSBmcm9tICcuLi9tb2RlbHMvQ2xhc3NFbGVtZW50TWV0YWRhdGEnO1xuaW1wb3J0IHsgQ2xhc3NFbGVtZW50TWV0YWRhdGFLaW5kIH0gZnJvbSAnLi4vbW9kZWxzL0NsYXNzRWxlbWVudE1ldGFkYXRhS2luZCc7XG5pbXBvcnQgeyBMZWdhY3lNZXRhZGF0YSB9IGZyb20gJy4uL21vZGVscy9MZWdhY3lNZXRhZGF0YSc7XG5pbXBvcnQgeyBNYW5hZ2VkQ2xhc3NFbGVtZW50TWV0YWRhdGEgfSBmcm9tICcuLi9tb2RlbHMvTWFuYWdlZENsYXNzRWxlbWVudE1ldGFkYXRhJztcblxuZXhwb3J0IGZ1bmN0aW9uIGdldExlZ2FjeU1ldGFkYXRhKFxuICBjbGFzc0VsZW1lbnRNZXRhZGF0YTogQ2xhc3NFbGVtZW50TWV0YWRhdGEsXG4pOiBMZWdhY3lNZXRhZGF0YVtdIHtcbiAgc3dpdGNoIChjbGFzc0VsZW1lbnRNZXRhZGF0YS5raW5kKSB7XG4gICAgY2FzZSBDbGFzc0VsZW1lbnRNZXRhZGF0YUtpbmQudW5tYW5hZ2VkOlxuICAgICAgcmV0dXJuIGdldFVubWFuYWdlZExlZ2FjeU1ldGFkYXRhKCk7XG4gICAgZGVmYXVsdDpcbiAgICAgIHJldHVybiBnZXRNYW5hZ2VkTGVnYWN5TWV0YWRhdGEoY2xhc3NFbGVtZW50TWV0YWRhdGEpO1xuICB9XG59XG5cbmZ1bmN0aW9uIGdldE1hbmFnZWRMZWdhY3lNZXRhZGF0YShcbiAgY2xhc3NFbGVtZW50TWV0YWRhdGE6IE1hbmFnZWRDbGFzc0VsZW1lbnRNZXRhZGF0YSxcbik6IExlZ2FjeU1ldGFkYXRhW10ge1xuICBjb25zdCBsZWdhY3lNZXRhZGF0YUxpc3Q6IExlZ2FjeU1ldGFkYXRhW10gPSBbXG4gICAgZ2V0TWFuYWdlZEtpbmRMZWdhY3lNZXRhZGF0YShjbGFzc0VsZW1lbnRNZXRhZGF0YSksXG4gIF07XG5cbiAgaWYgKGNsYXNzRWxlbWVudE1ldGFkYXRhLm5hbWUgIT09IHVuZGVmaW5lZCkge1xuICAgIGxlZ2FjeU1ldGFkYXRhTGlzdC5wdXNoKHtcbiAgICAgIGtleTogTkFNRURfVEFHLFxuICAgICAgdmFsdWU6IGNsYXNzRWxlbWVudE1ldGFkYXRhLm5hbWUsXG4gICAgfSk7XG4gIH1cblxuICBpZiAoY2xhc3NFbGVtZW50TWV0YWRhdGEub3B0aW9uYWwpIHtcbiAgICBsZWdhY3lNZXRhZGF0YUxpc3QucHVzaCh7XG4gICAgICBrZXk6IE9QVElPTkFMX1RBRyxcbiAgICAgIHZhbHVlOiB0cnVlLFxuICAgIH0pO1xuICB9XG5cbiAgZm9yIChjb25zdCBbdGFnS2V5LCB0YWdWYWx1ZV0gb2YgY2xhc3NFbGVtZW50TWV0YWRhdGEudGFncykge1xuICAgIGxlZ2FjeU1ldGFkYXRhTGlzdC5wdXNoKHtcbiAgICAgIGtleTogdGFnS2V5LFxuICAgICAgdmFsdWU6IHRhZ1ZhbHVlLFxuICAgIH0pO1xuICB9XG5cbiAgaWYgKGNsYXNzRWxlbWVudE1ldGFkYXRhLnRhcmdldE5hbWUgIT09IHVuZGVmaW5lZCkge1xuICAgIGxlZ2FjeU1ldGFkYXRhTGlzdC5wdXNoKHtcbiAgICAgIGtleTogTkFNRV9UQUcsXG4gICAgICB2YWx1ZTogY2xhc3NFbGVtZW50TWV0YWRhdGEudGFyZ2V0TmFtZSxcbiAgICB9KTtcbiAgfVxuXG4gIHJldHVybiBsZWdhY3lNZXRhZGF0YUxpc3Q7XG59XG5cbmZ1bmN0aW9uIGdldE1hbmFnZWRLaW5kTGVnYWN5TWV0YWRhdGEoXG4gIGNsYXNzRWxlbWVudE1ldGFkYXRhOiBNYW5hZ2VkQ2xhc3NFbGVtZW50TWV0YWRhdGEsXG4pOiBMZWdhY3lNZXRhZGF0YSB7XG4gIGxldCBraW5kTGVnYWN5TWV0YWRhdGE6IExlZ2FjeU1ldGFkYXRhO1xuXG4gIHN3aXRjaCAoY2xhc3NFbGVtZW50TWV0YWRhdGEua2luZCkge1xuICAgIGNhc2UgQ2xhc3NFbGVtZW50TWV0YWRhdGFLaW5kLm11bHRpcGxlSW5qZWN0aW9uOlxuICAgICAga2luZExlZ2FjeU1ldGFkYXRhID0ge1xuICAgICAgICBrZXk6IE1VTFRJX0lOSkVDVF9UQUcsXG4gICAgICAgIHZhbHVlOiBjbGFzc0VsZW1lbnRNZXRhZGF0YS52YWx1ZSxcbiAgICAgIH07XG4gICAgICBicmVhaztcbiAgICBjYXNlIENsYXNzRWxlbWVudE1ldGFkYXRhS2luZC5zaW5nbGVJbmplY3Rpb246XG4gICAgICBraW5kTGVnYWN5TWV0YWRhdGEgPSB7XG4gICAgICAgIGtleTogSU5KRUNUX1RBRyxcbiAgICAgICAgdmFsdWU6IGNsYXNzRWxlbWVudE1ldGFkYXRhLnZhbHVlLFxuICAgICAgfTtcbiAgICAgIGJyZWFrO1xuICB9XG5cbiAgcmV0dXJuIGtpbmRMZWdhY3lNZXRhZGF0YTtcbn1cblxuZnVuY3Rpb24gZ2V0VW5tYW5hZ2VkTGVnYWN5TWV0YWRhdGEoKTogTGVnYWN5TWV0YWRhdGFbXSB7XG4gIHJldHVybiBbXG4gICAge1xuICAgICAga2V5OiBVTk1BTkFHRURfVEFHLFxuICAgICAgdmFsdWU6IHRydWUsXG4gICAgfSxcbiAgXTtcbn1cbiIsImltcG9ydCB7IExlZ2FjeVF1ZXJ5YWJsZVN0cmluZyB9IGZyb20gJy4vTGVnYWN5UXVlcnlhYmxlU3RyaW5nJztcblxuZXhwb3J0IGNsYXNzIExlZ2FjeVF1ZXJ5YWJsZVN0cmluZ0ltcGwgaW1wbGVtZW50cyBMZWdhY3lRdWVyeWFibGVTdHJpbmcge1xuICByZWFkb25seSAjc3RyOiBzdHJpbmc7XG5cbiAgY29uc3RydWN0b3Ioc3RyOiBzdHJpbmcpIHtcbiAgICB0aGlzLiNzdHIgPSBzdHI7XG4gIH1cblxuICBwdWJsaWMgc3RhcnRzV2l0aChzZWFyY2hTdHJpbmc6IHN0cmluZyk6IGJvb2xlYW4ge1xuICAgIHJldHVybiB0aGlzLiNzdHIuc3RhcnRzV2l0aChzZWFyY2hTdHJpbmcpO1xuICB9XG5cbiAgcHVibGljIGVuZHNXaXRoKHNlYXJjaFN0cmluZzogc3RyaW5nKTogYm9vbGVhbiB7XG4gICAgcmV0dXJuIHRoaXMuI3N0ci5lbmRzV2l0aChzZWFyY2hTdHJpbmcpO1xuICB9XG5cbiAgcHVibGljIGNvbnRhaW5zKHNlYXJjaFN0cmluZzogc3RyaW5nKTogYm9vbGVhbiB7XG4gICAgcmV0dXJuIHRoaXMuI3N0ci5pbmNsdWRlcyhzZWFyY2hTdHJpbmcpO1xuICB9XG5cbiAgcHVibGljIGVxdWFscyhjb21wYXJlU3RyaW5nOiBzdHJpbmcpOiBib29sZWFuIHtcbiAgICByZXR1cm4gdGhpcy4jc3RyID09PSBjb21wYXJlU3RyaW5nO1xuICB9XG5cbiAgcHVibGljIHZhbHVlKCk6IHN0cmluZyB7XG4gICAgcmV0dXJuIHRoaXMuI3N0cjtcbiAgfVxufVxuIiwiaW1wb3J0IHtcbiAgZ2V0UmVmbGVjdE1ldGFkYXRhLFxuICB1cGRhdGVSZWZsZWN0TWV0YWRhdGEsXG59IGZyb20gJ0BpbnZlcnNpZnlqcy9yZWZsZWN0LW1ldGFkYXRhLXV0aWxzJztcblxuY29uc3QgSURfTUVUQURBVEE6IHN0cmluZyA9ICdAaW52ZXJzaWZ5anMvY29yZS90YXJnZXRJZCc7XG5cbmV4cG9ydCBmdW5jdGlvbiBnZXRUYXJnZXRJZCgpOiBudW1iZXIge1xuICBjb25zdCB0YXJnZXRJZDogbnVtYmVyID0gZ2V0UmVmbGVjdE1ldGFkYXRhPG51bWJlcj4oT2JqZWN0LCBJRF9NRVRBREFUQSkgPz8gMDtcblxuICBpZiAodGFyZ2V0SWQgPT09IE51bWJlci5NQVhfU0FGRV9JTlRFR0VSKSB7XG4gICAgdXBkYXRlUmVmbGVjdE1ldGFkYXRhKFxuICAgICAgT2JqZWN0LFxuICAgICAgSURfTUVUQURBVEEsXG4gICAgICB0YXJnZXRJZCxcbiAgICAgICgpID0+IE51bWJlci5NSU5fU0FGRV9JTlRFR0VSLFxuICAgICk7XG4gIH0gZWxzZSB7XG4gICAgdXBkYXRlUmVmbGVjdE1ldGFkYXRhKFxuICAgICAgT2JqZWN0LFxuICAgICAgSURfTUVUQURBVEEsXG4gICAgICB0YXJnZXRJZCxcbiAgICAgIChpZDogbnVtYmVyKSA9PiBpZCArIDEsXG4gICAgKTtcbiAgfVxuXG4gIHJldHVybiB0YXJnZXRJZDtcbn1cbiIsImltcG9ydCB7IExhenlTZXJ2aWNlSWRlbnRpZmllciwgU2VydmljZUlkZW50aWZpZXIgfSBmcm9tICdAaW52ZXJzaWZ5anMvY29tbW9uJztcblxuaW1wb3J0IHsgZ2V0TGVnYWN5TWV0YWRhdGEgfSBmcm9tICcuLi8uLi9tZXRhZGF0YS9jYWxjdWxhdGlvbnMvZ2V0TGVnYWN5TWV0YWRhdGEnO1xuaW1wb3J0IHsgQ2xhc3NFbGVtZW50TWV0YWRhdGFLaW5kIH0gZnJvbSAnLi4vLi4vbWV0YWRhdGEvbW9kZWxzL0NsYXNzRWxlbWVudE1ldGFkYXRhS2luZCc7XG5pbXBvcnQgeyBMZWdhY3lNZXRhZGF0YSB9IGZyb20gJy4uLy4uL21ldGFkYXRhL21vZGVscy9MZWdhY3lNZXRhZGF0YSc7XG5pbXBvcnQgeyBNYW5hZ2VkQ2xhc3NFbGVtZW50TWV0YWRhdGEgfSBmcm9tICcuLi8uLi9tZXRhZGF0YS9tb2RlbHMvTWFuYWdlZENsYXNzRWxlbWVudE1ldGFkYXRhJztcbmltcG9ydCB7IE1ldGFkYXRhTmFtZSB9IGZyb20gJy4uLy4uL21ldGFkYXRhL21vZGVscy9NZXRhZGF0YU5hbWUnO1xuaW1wb3J0IHsgTWV0YWRhdGFUYWcgfSBmcm9tICcuLi8uLi9tZXRhZGF0YS9tb2RlbHMvTWV0YWRhdGFUYWcnO1xuaW1wb3J0IHsgTkFNRURfVEFHIH0gZnJvbSAnLi4vLi4vcmVmbGVjdE1ldGFkYXRhL2RhdGEva2V5cyc7XG5pbXBvcnQgeyBMZWdhY3lRdWVyeWFibGVTdHJpbmcgfSBmcm9tICcuLi8uLi9zdHJpbmcvbW9kZWxzL0xlZ2FjeVF1ZXJ5YWJsZVN0cmluZyc7XG5pbXBvcnQgeyBMZWdhY3lRdWVyeWFibGVTdHJpbmdJbXBsIH0gZnJvbSAnLi4vLi4vc3RyaW5nL21vZGVscy9MZWdhY3lRdWVyeWFibGVTdHJpbmdJbXBsJztcbmltcG9ydCB7IGdldERlc2NyaXB0aW9uIH0gZnJvbSAnLi4vLi4vc3ltYm9sL2NhbGN1bGF0aW9ucy9nZXREZXNjcmlwdGlvbic7XG5pbXBvcnQgeyBnZXRUYXJnZXRJZCB9IGZyb20gJy4uL2NhbGN1bGF0aW9ucy9nZXRUYXJnZXRJZCc7XG5pbXBvcnQgeyBMZWdhY3lUYXJnZXQgfSBmcm9tICcuL0xlZ2FjeVRhcmdldCc7XG5pbXBvcnQgeyBMZWdhY3lUYXJnZXRUeXBlIH0gZnJvbSAnLi9MZWdhY3lUYXJnZXRUeXBlJztcblxuZXhwb3J0IGNsYXNzIExlZ2FjeVRhcmdldEltcGwgaW1wbGVtZW50cyBMZWdhY3lUYXJnZXQge1xuICByZWFkb25seSAjbWV0YWRhdGE6IE1hbmFnZWRDbGFzc0VsZW1lbnRNZXRhZGF0YTtcbiAgcmVhZG9ubHkgI2lkOiBudW1iZXI7XG4gIHJlYWRvbmx5ICNpZGVudGlmaWVyOiBzdHJpbmcgfCBzeW1ib2w7XG4gICNsYXp5TGVnYWN5TWV0YWRhdGE6IExlZ2FjeU1ldGFkYXRhW10gfCB1bmRlZmluZWQ7XG4gIHJlYWRvbmx5ICNuYW1lOiBMZWdhY3lRdWVyeWFibGVTdHJpbmc7XG4gIHJlYWRvbmx5ICN0eXBlOiBMZWdhY3lUYXJnZXRUeXBlO1xuXG4gIGNvbnN0cnVjdG9yKFxuICAgIGlkZW50aWZpZXI6IHN0cmluZyB8IHN5bWJvbCxcbiAgICBtZXRhZGF0YTogTWFuYWdlZENsYXNzRWxlbWVudE1ldGFkYXRhLFxuICAgIHR5cGU6IExlZ2FjeVRhcmdldFR5cGUsXG4gICkge1xuICAgIHRoaXMuI2lkID0gZ2V0VGFyZ2V0SWQoKTtcbiAgICB0aGlzLiNpZGVudGlmaWVyID0gaWRlbnRpZmllcjtcbiAgICB0aGlzLiNsYXp5TGVnYWN5TWV0YWRhdGEgPSB1bmRlZmluZWQ7XG4gICAgdGhpcy4jbWV0YWRhdGEgPSBtZXRhZGF0YTtcbiAgICB0aGlzLiNuYW1lID0gbmV3IExlZ2FjeVF1ZXJ5YWJsZVN0cmluZ0ltcGwoXG4gICAgICB0eXBlb2YgaWRlbnRpZmllciA9PT0gJ3N0cmluZycgPyBpZGVudGlmaWVyIDogZ2V0RGVzY3JpcHRpb24oaWRlbnRpZmllciksXG4gICAgKTtcbiAgICB0aGlzLiN0eXBlID0gdHlwZTtcbiAgfVxuXG4gIHB1YmxpYyBnZXQgaWQoKTogbnVtYmVyIHtcbiAgICByZXR1cm4gdGhpcy4jaWQ7XG4gIH1cblxuICAvKipcbiAgICogSWYgdGhpcyBpcyBhIGNsYXNzIHByb3BlcnR5IHRhcmdldCwgdGhpcyBpcyB0aGUgbmFtZSBvZiB0aGUgcHJvcGVydHkgdG8gYmUgaW5qZWN0ZWRcbiAgICovXG4gIHB1YmxpYyBnZXQgaWRlbnRpZmllcigpOiBzdHJpbmcgfCBzeW1ib2wge1xuICAgIHJldHVybiB0aGlzLiNpZGVudGlmaWVyO1xuICB9XG5cbiAgcHVibGljIGdldCBtZXRhZGF0YSgpOiBMZWdhY3lNZXRhZGF0YVtdIHtcbiAgICBpZiAodGhpcy4jbGF6eUxlZ2FjeU1ldGFkYXRhID09PSB1bmRlZmluZWQpIHtcbiAgICAgIHRoaXMuI2xhenlMZWdhY3lNZXRhZGF0YSA9IGdldExlZ2FjeU1ldGFkYXRhKHRoaXMuI21ldGFkYXRhKTtcbiAgICB9XG5cbiAgICByZXR1cm4gdGhpcy4jbGF6eUxlZ2FjeU1ldGFkYXRhO1xuICB9XG5cbiAgcHVibGljIGdldCBuYW1lKCk6IExlZ2FjeVF1ZXJ5YWJsZVN0cmluZyB7XG4gICAgcmV0dXJuIHRoaXMuI25hbWU7XG4gIH1cblxuICBwdWJsaWMgZ2V0IHR5cGUoKTogTGVnYWN5VGFyZ2V0VHlwZSB7XG4gICAgcmV0dXJuIHRoaXMuI3R5cGU7XG4gIH1cblxuICBwdWJsaWMgZ2V0IHNlcnZpY2VJZGVudGlmaWVyKCk6IFNlcnZpY2VJZGVudGlmaWVyIHtcbiAgICBpZiAoTGF6eVNlcnZpY2VJZGVudGlmaWVyLmlzKHRoaXMuI21ldGFkYXRhLnZhbHVlKSkge1xuICAgICAgcmV0dXJuIHRoaXMuI21ldGFkYXRhLnZhbHVlLnVud3JhcCgpO1xuICAgIH0gZWxzZSB7XG4gICAgICByZXR1cm4gdGhpcy4jbWV0YWRhdGEudmFsdWU7XG4gICAgfVxuICB9XG5cbiAgcHVibGljIGdldEN1c3RvbVRhZ3MoKTogTGVnYWN5TWV0YWRhdGFbXSB8IG51bGwge1xuICAgIHJldHVybiBbLi4udGhpcy4jbWV0YWRhdGEudGFncy5lbnRyaWVzKCldLm1hcChcbiAgICAgIChba2V5LCB2YWx1ZV06IFtNZXRhZGF0YVRhZywgdW5rbm93bl0pOiBMZWdhY3lNZXRhZGF0YSA9PiAoe1xuICAgICAgICBrZXksXG4gICAgICAgIHZhbHVlLFxuICAgICAgfSksXG4gICAgKTtcbiAgfVxuXG4gIHB1YmxpYyBnZXROYW1lZFRhZygpOiBMZWdhY3lNZXRhZGF0YTxNZXRhZGF0YU5hbWU+IHwgbnVsbCB7XG4gICAgcmV0dXJuIHRoaXMuI21ldGFkYXRhLm5hbWUgPT09IHVuZGVmaW5lZFxuICAgICAgPyBudWxsXG4gICAgICA6IHtcbiAgICAgICAgICBrZXk6IE5BTUVEX1RBRyxcbiAgICAgICAgICB2YWx1ZTogdGhpcy4jbWV0YWRhdGEubmFtZSxcbiAgICAgICAgfTtcbiAgfVxuXG4gIHB1YmxpYyBoYXNUYWcoa2V5OiBNZXRhZGF0YVRhZyk6IGJvb2xlYW4ge1xuICAgIHJldHVybiB0aGlzLm1ldGFkYXRhLnNvbWUoXG4gICAgICAobWV0YWRhdGE6IExlZ2FjeU1ldGFkYXRhKTogYm9vbGVhbiA9PiBtZXRhZGF0YS5rZXkgPT09IGtleSxcbiAgICApO1xuICB9XG5cbiAgcHVibGljIGlzQXJyYXkoKTogYm9vbGVhbiB7XG4gICAgcmV0dXJuIHRoaXMuI21ldGFkYXRhLmtpbmQgPT09IENsYXNzRWxlbWVudE1ldGFkYXRhS2luZC5tdWx0aXBsZUluamVjdGlvbjtcbiAgfVxuXG4gIHB1YmxpYyBpc05hbWVkKCk6IGJvb2xlYW4ge1xuICAgIHJldHVybiB0aGlzLiNtZXRhZGF0YS5uYW1lICE9PSB1bmRlZmluZWQ7XG4gIH1cblxuICBwdWJsaWMgaXNPcHRpb25hbCgpOiBib29sZWFuIHtcbiAgICByZXR1cm4gdGhpcy4jbWV0YWRhdGEub3B0aW9uYWw7XG4gIH1cblxuICBwdWJsaWMgaXNUYWdnZWQoKTogYm9vbGVhbiB7XG4gICAgcmV0dXJuIHRoaXMuI21ldGFkYXRhLnRhZ3Muc2l6ZSA+IDA7XG4gIH1cblxuICBwdWJsaWMgbWF0Y2hlc0FycmF5KG5hbWU6IFNlcnZpY2VJZGVudGlmaWVyKTogYm9vbGVhbiB7XG4gICAgcmV0dXJuIHRoaXMuaXNBcnJheSgpICYmIHRoaXMuI21ldGFkYXRhLnZhbHVlID09PSBuYW1lO1xuICB9XG5cbiAgcHVibGljIG1hdGNoZXNOYW1lZFRhZyhuYW1lOiBNZXRhZGF0YU5hbWUpOiBib29sZWFuIHtcbiAgICByZXR1cm4gdGhpcy4jbWV0YWRhdGEubmFtZSA9PT0gbmFtZTtcbiAgfVxuXG4gIHB1YmxpYyBtYXRjaGVzVGFnKGtleTogTWV0YWRhdGFUYWcpOiAodmFsdWU6IHVua25vd24pID0+IGJvb2xlYW4ge1xuICAgIHJldHVybiAodmFsdWU6IHVua25vd24pOiBib29sZWFuID0+XG4gICAgICB0aGlzLm1ldGFkYXRhLnNvbWUoXG4gICAgICAgIChtZXRhZGF0YTogTGVnYWN5TWV0YWRhdGEpOiBib29sZWFuID0+XG4gICAgICAgICAgbWV0YWRhdGEua2V5ID09PSBrZXkgJiYgbWV0YWRhdGEudmFsdWUgPT09IHZhbHVlLFxuICAgICAgKTtcbiAgfVxufVxuIiwiY29uc3QgU1lNQk9MX0lOREVYX1NUQVJUOiBudW1iZXIgPSA3O1xuY29uc3QgU1lNQk9MX0lOREVYX0VORDogbnVtYmVyID0gLTE7XG5cbmV4cG9ydCBmdW5jdGlvbiBnZXREZXNjcmlwdGlvbihzeW1ib2w6IHN5bWJvbCkge1xuICByZXR1cm4gc3ltYm9sLnRvU3RyaW5nKCkuc2xpY2UoU1lNQk9MX0lOREVYX1NUQVJULCBTWU1CT0xfSU5ERVhfRU5EKTtcbn1cbiIsImltcG9ydCB7IE5ld2FibGUgfSBmcm9tICdAaW52ZXJzaWZ5anMvY29tbW9uJztcblxuaW1wb3J0IHsgZ2V0Q2xhc3NNZXRhZGF0YSB9IGZyb20gJy4uLy4uL21ldGFkYXRhL2NhbGN1bGF0aW9ucy9nZXRDbGFzc01ldGFkYXRhJztcbmltcG9ydCB7IGdldENsYXNzTWV0YWRhdGFGcm9tTWV0YWRhdGFSZWFkZXIgfSBmcm9tICcuLi8uLi9tZXRhZGF0YS9jYWxjdWxhdGlvbnMvZ2V0Q2xhc3NNZXRhZGF0YUZyb21NZXRhZGF0YVJlYWRlcic7XG5pbXBvcnQgeyBnZXRDbGFzc01ldGFkYXRhUHJvcGVydGllcyB9IGZyb20gJy4uLy4uL21ldGFkYXRhL2NhbGN1bGF0aW9ucy9nZXRDbGFzc01ldGFkYXRhUHJvcGVydGllcyc7XG5pbXBvcnQgeyBnZXRDbGFzc01ldGFkYXRhUHJvcGVydGllc0Zyb21NZXRhZGF0YVJlYWRlciB9IGZyb20gJy4uLy4uL21ldGFkYXRhL2NhbGN1bGF0aW9ucy9nZXRDbGFzc01ldGFkYXRhUHJvcGVydGllc0Zyb21NZXRhZGF0YVJlYWRlcic7XG5pbXBvcnQgeyBDbGFzc0VsZW1lbnRNZXRhZGF0YSB9IGZyb20gJy4uLy4uL21ldGFkYXRhL21vZGVscy9DbGFzc0VsZW1lbnRNZXRhZGF0YSc7XG5pbXBvcnQgeyBDbGFzc01ldGFkYXRhIH0gZnJvbSAnLi4vLi4vbWV0YWRhdGEvbW9kZWxzL0NsYXNzTWV0YWRhdGEnO1xuaW1wb3J0IHsgTGVnYWN5TWV0YWRhdGFSZWFkZXIgfSBmcm9tICcuLi8uLi9tZXRhZGF0YS9tb2RlbHMvTGVnYWN5TWV0YWRhdGFSZWFkZXInO1xuaW1wb3J0IHsgTGVnYWN5VGFyZ2V0IH0gZnJvbSAnLi4vbW9kZWxzL0xlZ2FjeVRhcmdldCc7XG5pbXBvcnQgeyBnZXRUYXJnZXRzRnJvbU1ldGFkYXRhUHJvdmlkZXJzIH0gZnJvbSAnLi9nZXRUYXJnZXRzRnJvbU1ldGFkYXRhUHJvdmlkZXJzJztcblxuZXhwb3J0IGNvbnN0IGdldFRhcmdldHM6IChcbiAgbWV0YWRhdGFSZWFkZXI/OiBMZWdhY3lNZXRhZGF0YVJlYWRlcixcbikgPT4gKHR5cGU6IE5ld2FibGUpID0+IExlZ2FjeVRhcmdldFtdID0gKFxuICBtZXRhZGF0YVJlYWRlcj86IExlZ2FjeU1ldGFkYXRhUmVhZGVyLFxuKTogKCh0eXBlOiBOZXdhYmxlKSA9PiBMZWdhY3lUYXJnZXRbXSkgPT4ge1xuICBjb25zdCBnZXRDbGFzc01ldGFkYXRhRm46ICh0eXBlOiBOZXdhYmxlKSA9PiBDbGFzc01ldGFkYXRhID1cbiAgICBtZXRhZGF0YVJlYWRlciA9PT0gdW5kZWZpbmVkXG4gICAgICA/IGdldENsYXNzTWV0YWRhdGFcbiAgICAgIDogKHR5cGU6IE5ld2FibGUpOiBDbGFzc01ldGFkYXRhID0+XG4gICAgICAgICAgZ2V0Q2xhc3NNZXRhZGF0YUZyb21NZXRhZGF0YVJlYWRlcih0eXBlLCBtZXRhZGF0YVJlYWRlcik7XG4gIGNvbnN0IGdldENsYXNzTWV0YWRhdGFQcm9wZXJ0aWVzRm46IChcbiAgICB0eXBlOiBOZXdhYmxlLFxuICApID0+IE1hcDxzdHJpbmcgfCBzeW1ib2wsIENsYXNzRWxlbWVudE1ldGFkYXRhPiA9XG4gICAgbWV0YWRhdGFSZWFkZXIgPT09IHVuZGVmaW5lZFxuICAgICAgPyBnZXRDbGFzc01ldGFkYXRhUHJvcGVydGllc1xuICAgICAgOiAodHlwZTogTmV3YWJsZSk6IE1hcDxzdHJpbmcgfCBzeW1ib2wsIENsYXNzRWxlbWVudE1ldGFkYXRhPiA9PlxuICAgICAgICAgIGdldENsYXNzTWV0YWRhdGFQcm9wZXJ0aWVzRnJvbU1ldGFkYXRhUmVhZGVyKHR5cGUsIG1ldGFkYXRhUmVhZGVyKTtcblxuICByZXR1cm4gZ2V0VGFyZ2V0c0Zyb21NZXRhZGF0YVByb3ZpZGVycyhcbiAgICBnZXRDbGFzc01ldGFkYXRhRm4sXG4gICAgZ2V0Q2xhc3NNZXRhZGF0YVByb3BlcnRpZXNGbixcbiAgKTtcbn07XG4iLCJpbXBvcnQgeyBOZXdhYmxlIH0gZnJvbSAnQGludmVyc2lmeWpzL2NvbW1vbic7XG5cbmltcG9ydCB7IENsYXNzRWxlbWVudE1ldGFkYXRhIH0gZnJvbSAnLi4vLi4vbWV0YWRhdGEvbW9kZWxzL0NsYXNzRWxlbWVudE1ldGFkYXRhJztcbmltcG9ydCB7IENsYXNzRWxlbWVudE1ldGFkYXRhS2luZCB9IGZyb20gJy4uLy4uL21ldGFkYXRhL21vZGVscy9DbGFzc0VsZW1lbnRNZXRhZGF0YUtpbmQnO1xuaW1wb3J0IHsgQ2xhc3NNZXRhZGF0YSB9IGZyb20gJy4uLy4uL21ldGFkYXRhL21vZGVscy9DbGFzc01ldGFkYXRhJztcbmltcG9ydCB7IGdldEJhc2VUeXBlIH0gZnJvbSAnLi4vLi4vcHJvdG90eXBlL2NhbGN1bGF0aW9ucy9nZXRCYXNlVHlwZSc7XG5pbXBvcnQgeyBMZWdhY3lUYXJnZXQgfSBmcm9tICcuLi9tb2RlbHMvTGVnYWN5VGFyZ2V0JztcbmltcG9ydCB7IExlZ2FjeVRhcmdldEltcGwgfSBmcm9tICcuLi9tb2RlbHMvTGVnYWN5VGFyZ2V0SW1wbCc7XG5cbmV4cG9ydCBmdW5jdGlvbiBnZXRUYXJnZXRzRnJvbU1ldGFkYXRhUHJvdmlkZXJzKFxuICBnZXRDbGFzc01ldGFkYXRhOiAodHlwZTogTmV3YWJsZSkgPT4gQ2xhc3NNZXRhZGF0YSxcbiAgZ2V0Q2xhc3NNZXRhZGF0YVByb3BlcnRpZXM6IChcbiAgICB0eXBlOiBOZXdhYmxlLFxuICApID0+IE1hcDxzdHJpbmcgfCBzeW1ib2wsIENsYXNzRWxlbWVudE1ldGFkYXRhPixcbik6ICh0eXBlOiBOZXdhYmxlKSA9PiBMZWdhY3lUYXJnZXRbXSB7XG4gIHJldHVybiBmdW5jdGlvbiBnZXRUYWdldHModHlwZTogTmV3YWJsZSk6IExlZ2FjeVRhcmdldFtdIHtcbiAgICBjb25zdCBjbGFzc01ldGFkYXRhOiBDbGFzc01ldGFkYXRhID0gZ2V0Q2xhc3NNZXRhZGF0YSh0eXBlKTtcblxuICAgIGxldCBiYXNlVHlwZTogTmV3YWJsZSB8IHVuZGVmaW5lZCA9IGdldEJhc2VUeXBlKHR5cGUpO1xuXG4gICAgd2hpbGUgKGJhc2VUeXBlICE9PSB1bmRlZmluZWQgJiYgYmFzZVR5cGUgIT09IE9iamVjdCkge1xuICAgICAgY29uc3QgY2xhc3NNZXRhZGF0YVByb3BlcnRpZXM6IE1hcDxcbiAgICAgICAgc3RyaW5nIHwgc3ltYm9sLFxuICAgICAgICBDbGFzc0VsZW1lbnRNZXRhZGF0YVxuICAgICAgPiA9IGdldENsYXNzTWV0YWRhdGFQcm9wZXJ0aWVzKGJhc2VUeXBlKTtcblxuICAgICAgZm9yIChjb25zdCBbcHJvcGVydHlLZXksIHByb3BlcnR5VmFsdWVdIG9mIGNsYXNzTWV0YWRhdGFQcm9wZXJ0aWVzKSB7XG4gICAgICAgIGlmICghY2xhc3NNZXRhZGF0YS5wcm9wZXJ0aWVzLmhhcyhwcm9wZXJ0eUtleSkpIHtcbiAgICAgICAgICBjbGFzc01ldGFkYXRhLnByb3BlcnRpZXMuc2V0KHByb3BlcnR5S2V5LCBwcm9wZXJ0eVZhbHVlKTtcbiAgICAgICAgfVxuICAgICAgfVxuXG4gICAgICBiYXNlVHlwZSA9IGdldEJhc2VUeXBlKGJhc2VUeXBlKTtcbiAgICB9XG5cbiAgICBjb25zdCB0YXJnZXRzOiBMZWdhY3lUYXJnZXRbXSA9IFtdO1xuXG4gICAgZm9yIChjb25zdCBjb25zdHJ1Y3RvckFyZ3VtZW50IG9mIGNsYXNzTWV0YWRhdGEuY29uc3RydWN0b3JBcmd1bWVudHMpIHtcbiAgICAgIGlmIChjb25zdHJ1Y3RvckFyZ3VtZW50LmtpbmQgIT09IENsYXNzRWxlbWVudE1ldGFkYXRhS2luZC51bm1hbmFnZWQpIHtcbiAgICAgICAgY29uc3QgdGFyZ2V0TmFtZTogc3RyaW5nID0gY29uc3RydWN0b3JBcmd1bWVudC50YXJnZXROYW1lID8/ICcnO1xuXG4gICAgICAgIHRhcmdldHMucHVzaChcbiAgICAgICAgICBuZXcgTGVnYWN5VGFyZ2V0SW1wbChcbiAgICAgICAgICAgIHRhcmdldE5hbWUsXG4gICAgICAgICAgICBjb25zdHJ1Y3RvckFyZ3VtZW50LFxuICAgICAgICAgICAgJ0NvbnN0cnVjdG9yQXJndW1lbnQnLFxuICAgICAgICAgICksXG4gICAgICAgICk7XG4gICAgICB9XG4gICAgfVxuXG4gICAgZm9yIChjb25zdCBbcHJvcGVydHksIG1ldGFkYXRhXSBvZiBjbGFzc01ldGFkYXRhLnByb3BlcnRpZXMpIHtcbiAgICAgIGlmIChtZXRhZGF0YS5raW5kICE9PSBDbGFzc0VsZW1lbnRNZXRhZGF0YUtpbmQudW5tYW5hZ2VkKSB7XG4gICAgICAgIGNvbnN0IHRhcmdldE5hbWU6IHN0cmluZyB8IHN5bWJvbCA9IG1ldGFkYXRhLnRhcmdldE5hbWUgPz8gcHJvcGVydHk7XG5cbiAgICAgICAgdGFyZ2V0cy5wdXNoKFxuICAgICAgICAgIG5ldyBMZWdhY3lUYXJnZXRJbXBsKHRhcmdldE5hbWUsIG1ldGFkYXRhLCAnQ2xhc3NQcm9wZXJ0eScpLFxuICAgICAgICApO1xuICAgICAgfVxuICAgIH1cblxuICAgIHJldHVybiB0YXJnZXRzO1xuICB9O1xufVxuIl0sIm5hbWVzIjpbIl9fd2VicGFja19yZXF1aXJlX18iLCJleHBvcnRzIiwiZGVmaW5pdGlvbiIsImtleSIsIm8iLCJPYmplY3QiLCJkZWZpbmVQcm9wZXJ0eSIsImVudW1lcmFibGUiLCJnZXQiLCJvYmoiLCJwcm9wIiwicHJvdG90eXBlIiwiaGFzT3duUHJvcGVydHkiLCJjYWxsIiwieSIsIl9fV0VCUEFDS19FWFRFUk5BTF9NT0RVTEVfX2ludmVyc2lmeWpzX3JlZmxlY3RfbWV0YWRhdGFfdXRpbHNfOGVjYzRjMTZfXyIsIngiLCJkIiwiTkFNRURfVEFHIiwiTkFNRV9UQUciLCJVTk1BTkFHRURfVEFHIiwiT1BUSU9OQUxfVEFHIiwiSU5KRUNUX1RBRyIsIk1VTFRJX0lOSkVDVF9UQUciLCJUQUdHRUQiLCJUQUdHRURfUFJPUCIsIkRFU0lHTl9QQVJBTV9UWVBFUyIsIlBPU1RfQ09OU1RSVUNUIiwiUFJFX0RFU1RST1kiLCJOT05fQ1VTVE9NX1RBR19LRVlTIiwiaXNBcHBFcnJvclN5bWJvbCIsIlN5bWJvbCIsImZvciIsIkludmVyc2lmeUNvcmVFcnJvciIsIkVycm9yIiwia2luZCIsImNvbnN0cnVjdG9yIiwibWVzc2FnZSIsIm9wdGlvbnMiLCJzdXBlciIsInRoaXMiLCJpcyIsInZhbHVlIiwiaXNFcnJvck9mS2luZCIsIkludmVyc2lmeUNvcmVFcnJvcktpbmQiLCJDbGFzc0VsZW1lbnRNZXRhZGF0YUtpbmQiLCJhc3NlcnRDb25zdHJ1Y3Rvck1ldGFkYXRhQXJyYXlGaWxsZWQiLCJ0eXBlIiwidW5kZWZpbmVkSW5kZXhlcyIsImkiLCJsZW5ndGgiLCJ1bmRlZmluZWQiLCJwdXNoIiwibWlzc2luZ0luamVjdGlvbkRlY29yYXRvciIsIm5hbWUiLCJqb2luIiwiZ2V0Q2xhc3NFbGVtZW50TWV0YWRhdGFGcm9tTmV3YWJsZSIsInNpbmdsZUluamVjdGlvbiIsIm9wdGlvbmFsIiwidGFncyIsIk1hcCIsInRhcmdldE5hbWUiLCJnZXRDbGFzc0VsZW1lbnRNZXRhZGF0YUZyb21MZWdhY3lNZXRhZGF0YSIsIm1ldGFkYXRhTGlzdCIsImluamVjdE1ldGFkYXRhIiwiZmluZCIsIm1ldGFkYXRhIiwibXVsdGlJbmplY3RNZXRhZGF0YSIsInVubWFuYWdlZCIsImdldFVubWFuYWdlZENsYXNzRWxlbWVudE1ldGFkYXRhIiwibmFtZU1ldGFkYXRhIiwib3B0aW9uYWxNZXRhZGF0YSIsInRhcmdldE5hbWVNZXRhZGF0YSIsIm11bHRpcGxlSW5qZWN0aW9uIiwiZmlsdGVyIiwiZXZlcnkiLCJjdXN0b21UYWdLZXkiLCJtYXAiLCJnZXRDb25zdHJ1Y3RvckFyZ3VtZW50TWV0YWRhdGFGcm9tTGVnYWN5TWV0YWRhdGEiLCJpbmRleCIsImVycm9yIiwidG9TdHJpbmciLCJjYXVzZSIsImdldENsYXNzTWV0YWRhdGFDb25zdHJ1Y3RvckFyZ3VtZW50cyIsInR5cGVzY3JpcHRNZXRhZGF0YUxpc3QiLCJnZXRSZWZsZWN0TWV0YWRhdGEiLCJjb25zdHJ1Y3RvclBhcmFtZXRlcnNMZWdhY3lNZXRhZGF0YSIsImNvbnN0cnVjdG9yQXJndW1lbnRzTWV0YWRhdGEiLCJzdHJpbmdpZmllZEluZGV4IiwiZW50cmllcyIsInBhcnNlSW50IiwidHlwZXNjcmlwdE1ldGFkYXRhIiwiZ2V0UHJvcGVydHlNZXRhZGF0YUZyb21MZWdhY3lNZXRhZGF0YSIsImdldENsYXNzTWV0YWRhdGFQcm9wZXJ0aWVzIiwicHJvcGVydGllc0xlZ2FjeU1ldGFkYXRhIiwicHJvcGVydGllc01ldGFkYXRhIiwicHJvcGVydHkiLCJSZWZsZWN0Iiwib3duS2V5cyIsImxlZ2FjeU1ldGFkYXRhIiwic2V0IiwiZ2V0Q2xhc3NNZXRhZGF0YSIsInBvc3RDb25zdHJ1Y3RNZXRhZGF0YSIsInByZURlc3Ryb3lNZXRhZGF0YSIsImNvbnN0cnVjdG9yQXJndW1lbnRzIiwibGlmZWN5Y2xlIiwicG9zdENvbnN0cnVjdE1ldGhvZE5hbWUiLCJwcmVEZXN0cm95TWV0aG9kTmFtZSIsInByb3BlcnRpZXMiLCJnZXRDbGFzc01ldGFkYXRhQ29uc3RydWN0b3JBcmd1bWVudHNGcm9tTWV0YWRhdGFSZWFkZXIiLCJtZXRhZGF0YVJlYWRlciIsImxlZ2FjeUNvbnN0cnVjdG9yTWV0YWRhdGEiLCJnZXRDb25zdHJ1Y3Rvck1ldGFkYXRhIiwidXNlckdlbmVyYXRlZE1ldGFkYXRhIiwiY29tcGlsZXJHZW5lcmF0ZWRNZXRhZGF0YSIsImdldENsYXNzTWV0YWRhdGFQcm9wZXJ0aWVzRnJvbU1ldGFkYXRhUmVhZGVyIiwiZ2V0UHJvcGVydGllc01ldGFkYXRhIiwiZ2V0Q2xhc3NNZXRhZGF0YUZyb21NZXRhZGF0YVJlYWRlciIsImdldEJhc2VUeXBlIiwiZ2V0UHJvdG90eXBlT2YiLCJiYXNlVHlwZSIsIl9fV0VCUEFDS19FWFRFUk5BTF9NT0RVTEVfX2ludmVyc2lmeWpzX2NvbW1vbl8wODFkOGMwN19fIiwiZ2V0TWFuYWdlZEtpbmRMZWdhY3lNZXRhZGF0YSIsImNsYXNzRWxlbWVudE1ldGFkYXRhIiwia2luZExlZ2FjeU1ldGFkYXRhIiwiTGVnYWN5UXVlcnlhYmxlU3RyaW5nSW1wbCIsInN0ciIsInN0YXJ0c1dpdGgiLCJzZWFyY2hTdHJpbmciLCJlbmRzV2l0aCIsImNvbnRhaW5zIiwiaW5jbHVkZXMiLCJlcXVhbHMiLCJjb21wYXJlU3RyaW5nIiwiSURfTUVUQURBVEEiLCJMZWdhY3lUYXJnZXRJbXBsIiwiaWRlbnRpZmllciIsInRhcmdldElkIiwiTnVtYmVyIiwiTUFYX1NBRkVfSU5URUdFUiIsInVwZGF0ZVJlZmxlY3RNZXRhZGF0YSIsIk1JTl9TQUZFX0lOVEVHRVIiLCJpZCIsImdldFRhcmdldElkIiwic2xpY2UiLCJsZWdhY3lNZXRhZGF0YUxpc3QiLCJ0YWdLZXkiLCJ0YWdWYWx1ZSIsImdldE1hbmFnZWRMZWdhY3lNZXRhZGF0YSIsInNlcnZpY2VJZGVudGlmaWVyIiwiTGF6eVNlcnZpY2VJZGVudGlmaWVyIiwidW53cmFwIiwiZ2V0Q3VzdG9tVGFncyIsImdldE5hbWVkVGFnIiwiaGFzVGFnIiwic29tZSIsImlzQXJyYXkiLCJpc05hbWVkIiwiaXNPcHRpb25hbCIsImlzVGFnZ2VkIiwic2l6ZSIsIm1hdGNoZXNBcnJheSIsIm1hdGNoZXNOYW1lZFRhZyIsIm1hdGNoZXNUYWciLCJnZXRUYXJnZXRzIiwiY2xhc3NNZXRhZGF0YSIsImNsYXNzTWV0YWRhdGFQcm9wZXJ0aWVzIiwicHJvcGVydHlLZXkiLCJwcm9wZXJ0eVZhbHVlIiwiaGFzIiwidGFyZ2V0cyIsImNvbnN0cnVjdG9yQXJndW1lbnQiLCJnZXRUYXJnZXRzRnJvbU1ldGFkYXRhUHJvdmlkZXJzIl0sInNvdXJjZVJvb3QiOiIifQ==
1
+ import{getReflectMetadata as e,updateReflectMetadata as t}from"@inversifyjs/reflect-metadata-utils";import{getBaseType as n}from"@inversifyjs/prototype-utils";import{stringifyServiceIdentifier as o,LazyServiceIdentifier as i,isPromise as r}from"@inversifyjs/common";const s={Request:"Request",Singleton:"Singleton",Transient:"Transient"},c={ConstantValue:"ConstantValue",DynamicValue:"DynamicValue",Factory:"Factory",Instance:"Instance",Provider:"Provider",ServiceRedirection:"ServiceRedirection"};function*a(...e){for(const t of e)yield*t}class u{#e;#t;#n;constructor(e){this.#e=new Map,this.#t={};for(const t of Reflect.ownKeys(e))this.#t[t]=new Map;this.#n=e}clone(){const e=Reflect.ownKeys(this.#n),t=new u(this.#n);this.#o(this.#e,t.#e);for(const n of e)this.#o(this.#t[n],t.#t[n]);return t}get(e,t){return this.#t[e].get(t)?.values()}removeByRelation(e,t){const n=this.get(e,t);if(void 0!==n)for(const e of n){const t=this.#e.get(e);if(void 0===t)throw new Error("Expecting model relation, none found");this.#i(e,t),this.#e.delete(e)}}set(e,t){this.#e.set(e,t);for(const n of Reflect.ownKeys(t))this.#r(n,t[n]).add(e)}#r(e,t){let n=this.#t[e].get(t);return void 0===n&&(n=new Set,this.#t[e].set(t,n)),n}#o(e,t){for(const[n,o]of e)t.set(n,o)}#i(e,t){for(const n of Reflect.ownKeys(t))this.#s(e,n,t[n])}#s(e,t,n){const o=this.#t[t].get(n);void 0!==o&&(o.delete(e),0===o.size&&this.#t[t].delete(n))}}var d,l,f;!function(e){e.moduleId="moduleId",e.serviceId="serviceId"}(d||(d={}));class p{#c;#a;constructor(e,t){this.#c=t??new u({moduleId:{isOptional:!0},serviceId:{isOptional:!1}}),this.#a=e}static build(e){return new p(e)}add(e,t){this.#c.set(e,t)}clone(){return new p(this.#a,this.#c.clone())}get(e){const t=[],n=this.#c.get(d.serviceId,e);void 0!==n&&t.push(n);const o=this.#a?.get(e);if(void 0!==o&&t.push(o),0!==t.length)return a(...t)}removeAllByModuleId(e){this.#c.removeByRelation(d.moduleId,e)}removeAllByServiceId(e){this.#c.removeByRelation(d.serviceId,e)}}!function(e){e.moduleId="moduleId",e.serviceId="serviceId"}(l||(l={}));class m{#u;#a;constructor(e,t){this.#u=t??new u({moduleId:{isOptional:!0},serviceId:{isOptional:!1}}),this.#a=e}static build(e){return new m(e)}clone(){return new m(this.#a,this.#u.clone())}get(e){return this.#u.get(l.serviceId,e)??this.#a?.get(e)}getByModuleId(e){return this.#u.get(l.moduleId,e)??this.#a?.getByModuleId(e)}removeAllByModuleId(e){this.#u.removeByRelation(l.moduleId,e)}removeAllByServiceId(e){this.#u.removeByRelation(l.serviceId,e)}set(e){const t={[l.serviceId]:e.serviceIdentifier};void 0!==e.moduleId&&(t[l.moduleId]=e.moduleId),this.#u.set(e,t)}}!function(e){e.moduleId="moduleId",e.serviceId="serviceId"}(f||(f={}));class g{#d;#a;constructor(e,t){this.#d=t??new u({moduleId:{isOptional:!0},serviceId:{isOptional:!1}}),this.#a=e}static build(e){return new g(e)}add(e,t){this.#d.set(e,t)}clone(){return new g(this.#a,this.#d.clone())}get(e){const t=[],n=this.#d.get(f.serviceId,e);void 0!==n&&t.push(n);const o=this.#a?.get(e);if(void 0!==o&&t.push(o),0!==t.length)return a(...t)}removeAllByModuleId(e){this.#d.removeByRelation(f.moduleId,e)}removeAllByServiceId(e){this.#d.removeByRelation(f.serviceId,e)}}function v(e,t,n){if(void 0!==n)if("number"!=typeof n)Reflect.decorate(e,t.prototype,n);else for(const o of e)o(t,void 0,n);else Reflect.decorate(e,t)}const h="@inversifyjs/core/classMetadataReflectKey";function y(){return{constructorArguments:[],lifecycle:{postConstructMethodName:void 0,preDestroyMethodName:void 0},properties:new Map,scope:void 0}}const w="@inversifyjs/core/pendingClassMetadataCountReflectKey";const M=Symbol.for("@inversifyjs/core/InversifyCoreError");class I extends Error{[M];kind;constructor(e,t,n){super(t,n),this[M]=!0,this.kind=e}static is(e){return"object"==typeof e&&null!==e&&!0===e[M]}static isErrorOfKind(e,t){return I.is(e)&&e.kind===t}}var b,j,C;function $(t){const n=e(t,h)??y();if(!function(t){const n=e(t,w);return void 0!==n&&0!==n}(t))return function(e,t){const n=[];if(t.length<e.length)throw new I(b.missingInjectionDecorator,`Found unexpected missing metadata on type "${e.name}". "${e.name}" constructor requires at least ${e.length.toString()} arguments, found ${t.length.toString()} instead.\nAre you using @inject, @multiInject or @unmanaged decorators in every non optional constructor argument?\n\nIf you're using typescript and want to rely on auto injection, set "emitDecoratorMetadata" compiler option to true`);for(let e=0;e<t.length;++e)void 0===t[e]&&n.push(e);if(n.length>0)throw new I(b.missingInjectionDecorator,`Found unexpected missing metadata on type "${e.name}" at constructor indexes "${n.join('", "')}".\n\nAre you using @inject, @multiInject or @unmanaged decorators at those indexes?\n\nIf you're using typescript and want to rely on auto injection, set "emitDecoratorMetadata" compiler option to true`)}(t,n.constructorArguments),n;!function(e,t){const n=[];for(let o=0;o<t.constructorArguments.length;++o){const i=t.constructorArguments[o];void 0!==i&&i.kind!==j.unknown||n.push(` - Missing or incomplete metadata for type "${e.name}" at constructor argument with index ${o.toString()}.\nEvery constructor parameter must be decorated either with @inject, @multiInject or @unmanaged decorator.`)}for(const[o,i]of t.properties)i.kind===j.unknown&&n.push(` - Missing or incomplete metadata for type "${e.name}" at property "${o.toString()}".\nThis property must be decorated either with @inject or @multiInject decorator.`);if(0===n.length)throw new I(b.unknown,`Unexpected class metadata for type "${e.name}" with uncompletion traces.\nThis might be caused by one of the following reasons:\n\n1. A third party library is targeting inversify reflection metadata.\n2. A bug is causing the issue. Consider submiting an issue to fix it.`);throw new I(b.missingInjectionDecorator,`Invalid class metadata at type ${e.name}:\n\n${n.join("\n\n")}`)}(t,n)}function x(){return 0}function R(e){return n=>{void 0!==n&&n.kind===j.unknown&&t(e,w,x,(e=>e-1))}}function S(e,t){return(...n)=>o=>{if(void 0===o)return e(...n);if(o.kind===C.unmanaged)throw new I(b.injectionDecoratorConflict,"Unexpected injection found. Multiple @inject, @multiInject or @unmanaged decorators found");return t(o,...n)}}function T(e){if(e.kind!==j.unknown&&!0!==e.isFromTypescriptParamType)throw new I(b.injectionDecoratorConflict,"Unexpected injection found. Multiple @inject, @multiInject or @unmanaged decorators found")}!function(e){e[e.injectionDecoratorConflict=0]="injectionDecoratorConflict",e[e.missingInjectionDecorator=1]="missingInjectionDecorator",e[e.planning=2]="planning",e[e.resolution=3]="resolution",e[e.unknown=4]="unknown"}(b||(b={})),function(e){e[e.unknown=0]="unknown"}(j||(j={})),function(e){e[e.multipleInjection=0]="multipleInjection",e[e.singleInjection=1]="singleInjection",e[e.unmanaged=2]="unmanaged"}(C||(C={}));const A=S((function(e,t){return{kind:e,name:void 0,optional:!1,tags:new Map,targetName:void 0,value:t}}),(function(e,t,n){return T(e),{...e,kind:t,value:n}}));var D;function k(e,t,n,o){if(I.isErrorOfKind(o,b.injectionDecoratorConflict)){const i=function(e,t,n){if(void 0===n){if(void 0===t)throw new I(b.unknown,"Unexpected undefined property and index values");return{kind:D.property,property:t,targetClass:e.constructor}}return{index:n,kind:D.parameter,targetClass:e}}(e,t,n);throw new I(b.injectionDecoratorConflict,`Unexpected injection error.\n\nCause:\n\n${o.message}\n\nDetails\n\n${function(e){switch(e.kind){case D.parameter:return`[class: "${e.targetClass.name}", index: "${e.index.toString()}"]`;case D.property:return`[class: "${e.targetClass.name}", property: "${e.property.toString()}"]`}}(i)}`,{cause:o})}throw o}function B(e,n){return(o,i,r)=>{void 0===r?function(e,n){const o=N(e,n);return(e,n)=>{t(e.constructor,h,y,function(e,t){return n=>{const o=n.properties.get(t);return n.properties.set(t,e(o)),n}}(o(e),n))}}(e,n)(o,i):function(e,n){const o=N(e,n);return(e,n,i)=>{if(!function(e,t){return"function"==typeof e&&void 0===t}(e,n))throw new Error(`Found an @inject decorator in a non constructor parameter.\nFound @inject decorator at method "${n?.toString()??""}" at class "${e.constructor.name}"`);t(e,h,y,function(e,t){return n=>{const o=n.constructorArguments[t];return n.constructorArguments[t]=e(o),n}}(o(e),i))}}(e,n)(o,i,r)}}function N(e,t){return n=>{const o=t(n);return t=>(o(t),e(t))}}function E(e){const t=A(C.singleInjection,e);return(e,n,o)=>{try{void 0===o?B(t,R)(e,n):B(t,R)(e,n,o)}catch(t){k(e,n,o,t)}}}!function(e){e[e.parameter=0]="parameter",e[e.property=1]="property"}(D||(D={}));function F(n){const o=e(n,"design:paramtypes");void 0!==o&&t(n,h,y,function(e){return t=>(e.forEach(((e,n)=>{var o;void 0===t.constructorArguments[n]&&(t.constructorArguments[n]=(o=e,{isFromTypescriptParamType:!0,kind:C.singleInjection,name:void 0,optional:!1,tags:new Map,targetName:void 0,value:o}))})),t)}(o))}function P(e){return n=>{F(n),void 0!==e&&t(n,h,y,(t=>({...t,scope:e})))}}function U(e,t,n){let o;return e.extendConstructorArguments??!1?(o=[...t.constructorArguments],n.constructorArguments.map(((e,t)=>{o[t]=e}))):o=n.constructorArguments,o}function O(e,t,n){let o;return o=e.extendProperties??!1?new Map(a(t.properties,n.properties)):n.properties,o}function K(e){return n=>{const o=$(e.type);t(n,h,y,function(e,t){const n=n=>({constructorArguments:U(e,t,n),lifecycle:n.lifecycle,properties:O(e,t,n),scope:n.scope});return n}(e,o))}}function q(e){return t=>{const o=n(t);if(void 0===o)throw new I(b.injectionDecoratorConflict,`Expected base type for type "${t.name}", none found.`);K({...e,type:o})(t)}}function V(e){const t=A(C.multipleInjection,e);return(e,n,o)=>{try{void 0===o?B(t,R)(e,n):B(t,R)(e,n,o)}catch(t){k(e,n,o,t)}}}function z(e){return n=>{void 0===n&&t(e,w,x,(e=>e+1))}}function G(e){return t=>{const n=t??{kind:j.unknown,name:void 0,optional:!1,tags:new Map,targetName:void 0};if(n.kind===C.unmanaged)throw new I(b.injectionDecoratorConflict,"Unexpected injection found. Found @unmanaged injection with additional @named, @optional, @tagged or @targetName injections");return e(n)}}function H(e){const t=G(function(e){return t=>{if(void 0!==t.name)throw new I(b.injectionDecoratorConflict,"Unexpected duplicated named decorator");return t.name=e,t}}(e));return(e,n,o)=>{try{void 0===o?B(t,z)(e,n):B(t,z)(e,n,o)}catch(t){k(e,n,o,t)}}}function J(e){if(e.optional)throw new I(b.injectionDecoratorConflict,"Unexpected duplicated optional decorator");return e.optional=!0,e}function L(){const e=G(J);return(t,n,o)=>{try{void 0===o?B(e,z)(t,n):B(e,z)(t,n,o)}catch(e){k(t,n,o,e)}}}function Q(){return(e,n,o)=>{try{t(e.constructor,h,y,(i=n,e=>{if(void 0!==e.lifecycle.postConstructMethodName)throw new I(b.injectionDecoratorConflict,"Unexpected duplicated postConstruct decorator");return e.lifecycle.postConstructMethodName=i,e}))}catch(t){k(e,n,void 0,t)}var i}}function W(){return(e,n,o)=>{try{t(e.constructor,h,y,(i=n,e=>{if(void 0!==e.lifecycle.preDestroyMethodName)throw new I(b.injectionDecoratorConflict,"Unexpected duplicated preDestroy decorator");return e.lifecycle.preDestroyMethodName=i,e}))}catch(t){k(e,n,void 0,t)}var i}}function X(e,t){const n=G(function(e,t){return n=>{if(n.tags.has(e))throw new I(b.injectionDecoratorConflict,"Unexpected duplicated tag decorator with existing tag");return n.tags.set(e,t),n}}(e,t));return(e,t,o)=>{try{void 0===o?B(n,z)(e,t):B(n,z)(e,t,o)}catch(n){k(e,t,o,n)}}}function Y(){return{kind:C.unmanaged}}const Z=S(Y,(function(e){if(T(e),function(e){return void 0!==e.name||e.optional||e.tags.size>0||void 0!==e.targetName}(e))throw new I(b.injectionDecoratorConflict,"Unexpected injection found. Found @unmanaged injection with additional @named, @optional, @tagged or @targetName injections");return Y()}));function _(){const e=Z();return(t,n,o)=>{try{void 0===o?B(e,R)(t,n):B(e,R)(t,n,o)}catch(e){k(t,n,o,e)}}}class ee{last;constructor(e){this.last=e}concat(e){return new ee({elem:e,previous:this.last})}[Symbol.iterator](){let e=this.last;return{next:()=>{if(void 0===e)return{done:!0,value:void 0};const t=e.elem;return e=e.previous,{done:!1,value:t}}}}}function te(e,t){e.servicesBranch.has(t)&&function(e,t){const n=(i=[...e.servicesBranch,t],[...i].map(o).join(" -> "));var i;throw new I(b.planning,`Circular dependency found: ${n}`)}(e,t),e.servicesBranch.add(t)}class ne{#l;constructor(e){this.#l=e}get name(){return this.#l.elem.name}get tags(){return this.#l.elem.tags}get serviceIdentifier(){return this.#l.elem.serviceIdentifier}getAncestor(){if(void 0!==this.#l.previous)return new ne(this.#l.previous)}}function oe(e,t,n){const o=new ne(t.last),i=n?.customServiceIdentifier??o.serviceIdentifier;return[...e.getBindings(i)??[]].filter((e=>e.isSatisfiedBy(o)))}function ie(e){return void 0!==e.redirections}function re(e,t,n){let i,r;ie(n)?(i=n.binding.targetServiceIdentifier,r=n.binding.serviceIdentifier):(i=n.serviceIdentifier,r=n.parent?.binding.serviceIdentifier),Array.isArray(e)?function(e,t,n,i){if(0!==e.length){const t=`Ambiguous bindings found for service: "${o(n)}".\n\nRegistered bindings:\n\n${e.map((e=>function(e){switch(e.type){case c.Instance:return`[ type: "${e.type}", serviceIdentifier: "${o(e.serviceIdentifier)}", scope: "${e.scope}", implementationType: "${e.implementationType.name}" ]`;case c.ServiceRedirection:return`[ type: "${e.type}", serviceIdentifier: "${o(e.serviceIdentifier)}", redirection: "${o(e.targetServiceIdentifier)}" ]`;default:return`[ type: "${e.type}", serviceIdentifier: "${o(e.serviceIdentifier)}", scope: "${e.scope}" ]`}}(e.binding))).join("\n")}\n\nTrying to resolve bindings for "${ce(n,i)}".`;throw new I(b.planning,t)}t||se(n,i)}(e,t,i,r):function(e,t,n,o){if(void 0!==e||t)return;se(n,o)}(e,t,i,r)}function se(e,t){const n=`No bindings found for service: "${o(e)}".\n\nTrying to resolve bindings for "${ce(e,t)}".`;throw new I(b.planning,n)}function ce(e,t){return void 0===t?`${o(e)} (Root service)`:o(t)}function ae(e,t){if(1!==e.redirections.length)re(e.redirections,t,e);else{const[n]=e.redirections;ie(n)&&ae(n,t)}}function ue(e,t){if(Array.isArray(e.bindings)&&1===e.bindings.length){const[n]=e.bindings;ie(n)&&ae(n,t)}else re(e.bindings,t,e)}function de(e){const t=new Map;void 0!==e.rootConstraints.tag&&t.set(e.rootConstraints.tag.key,e.rootConstraints.tag.value);const n=new ee({elem:{name:e.rootConstraints.name,serviceIdentifier:e.rootConstraints.serviceIdentifier,tags:t},previous:void 0}),o=oe(e,n),i=[],r={bindings:i,parent:void 0,serviceIdentifier:e.rootConstraints.serviceIdentifier};if(i.push(...pe(e,n,o,r)),!e.rootConstraints.isMultiple){ue(r,e.rootConstraints.isOptional??!1);const[t]=i;r.bindings=t}return{tree:{root:r}}}function le(e,t,n,o){const i={binding:t,classMetadata:e.getClassMetadata(t.implementationType),constructorParams:[],parent:o,propertyParams:new Map};return function(e,t){const n=e.node.classMetadata;for(const[o,i]of n.constructorArguments.entries())e.node.constructorParams[o]=fe(e,t,i);for(const[o,i]of n.properties){const n=fe(e,t,i);void 0!==n&&e.node.propertyParams.set(o,n)}return e.node}({getBindings:e.getBindings,getClassMetadata:e.getClassMetadata,node:i,servicesBranch:e.servicesBranch},n)}function fe(e,t,n){if(n.kind===C.unmanaged)return;const o=i.is(n.value)?n.value.unwrap():n.value,r=t.concat({name:n.name,serviceIdentifier:o,tags:n.tags}),s=oe(e,r),c=[],a={bindings:c,parent:e.node,serviceIdentifier:o};if(c.push(...pe(e,r,s,a)),n.kind===C.singleInjection){ue(a,n.optional);const[e]=c;a.bindings=e}return a}function pe(e,t,n,o){const i=ie(o)?o.binding.targetServiceIdentifier:o.serviceIdentifier;te(e,i);const r=[];for(const i of n)switch(i.type){case c.Instance:r.push(le(e,i,t,o));break;case c.ServiceRedirection:{const n=me(e,t,i,o);r.push(n);break}default:r.push({binding:i,parent:o})}return e.servicesBranch.delete(i),r}function me(e,t,n,o){const i={binding:n,parent:o,redirections:[]},r=oe(e,t,{customServiceIdentifier:n.targetServiceIdentifier});return i.redirections.push(...pe(e,t,r,i)),i}function ge(e,t,n){const o=e.getActivations(t);return void 0===o?n:r(n)?ve(n,o[Symbol.iterator]()):function(e,t){let n=e,o=t.next();for(;!0!==o.done;){const e=o.value(n);if(r(e))return ve(e,t);n=e,o=t.next()}return n}(n,o[Symbol.iterator]())}async function ve(e,t){let n=await e,o=t.next();for(;!0!==o.done;)n=await o.value(n),o=t.next();return n}function he(e,t,n){let o=n;if(void 0!==t.onActivation){const e=t.onActivation;o=r(o)?o.then((t=>e(t))):e(o)}return ge(e,t.serviceIdentifier,o)}function ye(e){return(t,n)=>{if(n.cache.isRight)return n.cache.value;const o=he(t,n,e(t,n));return n.cache={isRight:!0,value:o},o}}const we=ye((function(e,t){return t.value}));function Me(e){return e}function Ie(e,t){return(n,o)=>{const i=e(o);switch(i.scope){case s.Singleton:{if(i.cache.isRight)return i.cache.value;const e=be(n,o,i,t);return i.cache={isRight:!0,value:e},e}case s.Request:{if(n.requestScopeCache.has(i.id))return n.requestScopeCache.get(i.id);const e=be(n,o,i,t);return n.requestScopeCache.set(i.id,e),e}case s.Transient:return be(n,o,i,t)}}}function be(e,t,n,o){return he(e,n,o(e,t))}const je=(e=>Ie(Me,e))((function(e,t){return t.value(e.context)}));const Ce=ye((function(e,t){return t.factory(e.context)}));function $e(e,t,n){const o=function(e,t,n){if(void 0===n)return;if(!(n in e))throw new I(b.resolution,`Expecting a "${n.toString()}" property when resolving "${t.implementationType.name}" class @postConstruct decorated method, none found.`);if("function"!=typeof e[n])throw new I(b.resolution,`Expecting a "${n.toString()}" method when resolving "${t.implementationType.name}" class @postConstruct decorated method, a non function property was found instead.`);{let o;try{o=e[n]()}catch(e){throw new I(b.resolution,`Unexpected error found when calling "${n.toString()}" @postConstruct decorated method on class "${t.implementationType.name}"`,{cause:e})}if(r(o))return async function(e,t,n){try{await n}catch(n){throw new I(b.resolution,`Unexpected error found when calling "${t.toString()}" @postConstruct decorated method on class "${e.implementationType.name}"`,{cause:n})}}(t,n,o)}}(e,t,n);return r(o)?o.then((()=>e)):e}function xe(e){return(t,n,o)=>{const i=new o.binding.implementationType(...t),s=e(n,i,o);return r(s)?s.then((()=>$e(i,o.binding,o.classMetadata.lifecycle.postConstructMethodName))):$e(i,o.binding,o.classMetadata.lifecycle.postConstructMethodName)}}const Re=ye((function(e,t){return t.provider(e.context)}));function Se(e){return e.binding}const Te=function(e){return(t,n,o)=>{const i=[];for(const[s,c]of o.propertyParams){const a=o.classMetadata.properties.get(s);if(void 0===a)throw new I(b.resolution,`Expecting metadata at property "${s.toString()}", none found`);if(a.kind!==C.unmanaged){const o=a.targetName??s;n[o]=e(t,c),r(n[o])&&i.push((async()=>{n[o]=await n[o]})())}}if(i.length>0)return Promise.all(i).then((()=>{}))}}(Ee),Ae=function(e){return function t(n,o){const i=[];for(const r of o.redirections)ie(r)?i.push(...t(n,r)):i.push(e(n,r));return i}}(Ne),De=function(e,t,n){return(o,i)=>{const s=e(o,i);return r(s)?t(s,o,i):n(s,o,i)}}(function(e){return(t,n)=>{const o=[];for(const i of n.constructorParams)void 0===i?o.push(void 0):o.push(e(t,i));return o.some(r)?Promise.all(o):o}}(Ee),function(e){return async(t,n,o)=>{const i=await t;return e(i,n,o)}}(xe(Te)),xe(Te)),ke=(e=>Ie(Se,e))(De);function Be(e){return Ee(e,e.planResult.tree.root)}function Ne(e,t){switch(t.binding.type){case c.ConstantValue:return we(e,t.binding);case c.DynamicValue:return je(e,t.binding);case c.Factory:return Ce(e,t.binding);case c.Instance:return ke(e,t);case c.Provider:return Re(e,t.binding)}}function Ee(e,t){if(void 0!==t.bindings)return Array.isArray(t.bindings)?function(e,t){const n=[];for(const o of t)ie(o)?n.push(...Ae(e,o)):n.push(Ne(e,o));if(n.some(r))return Promise.all(n);return n}(e,t.bindings):function(e,t){if(ie(t)){const n=Ae(e,t);if(1===n.length)return n[0];throw new I(b.resolution,"Unexpected multiple resolved values on single injection")}return Ne(e,t)}(e,t.bindings)}function Fe(e){return void 0!==e.scope}function Pe(e,t){if(void 0!==e.lifecycle.preDestroyMethodName&&"function"==typeof t[e.lifecycle.preDestroyMethodName])return t[e.lifecycle.preDestroyMethodName]()}function Ue(e,t,n){const o=e.getDeactivations(t);if(void 0!==o)return r(n)?Oe(n,o[Symbol.iterator]()):function(e,t){let n=t.next();for(;!0!==n.done;){const o=n.value(e);if(r(o))return Oe(e,t);n=t.next()}}(n,o[Symbol.iterator]())}async function Oe(e,t){const n=await e;let o=t.next();for(;!0!==o.done;)await o.value(n),o=t.next()}function Ke(e,t){const n=function(e,t){if(t.type===c.Instance){const n=e.getClassMetadata(t.implementationType),o=t.cache.value;return r(o)?o.then((e=>Pe(n,e))):Pe(n,o)}}(e,t);return void 0===n?qe(e,t):n.then((()=>qe(e,t)))}function qe(e,t){const n=t.cache;return r(n.value)?n.value.then((n=>Ve(e,t,n))):Ve(e,t,n.value)}function Ve(e,t,n){let o;if(void 0!==t.onDeactivation){o=(0,t.onDeactivation)(n)}return void 0===o?Ue(e,t.serviceIdentifier,n):o.then((()=>Ue(e,t.serviceIdentifier,n)))}function ze(e,t){if(void 0===t)return;const n=function(e){const t=[];for(const n of e)Fe(n)&&n.scope===s.Singleton&&n.cache.isRight&&t.push(n);return t}(t),o=[];for(const t of n){const n=Ke(e,t);void 0!==n&&o.push(n)}return o.length>0?Promise.all(o).then((()=>{})):void 0}function Ge(e,t){const n=e.getBindingsFromModule(t);return ze(e,n)}function He(e,t){const n=e.getBindings(t);return ze(e,n)}export{p as ActivationsService,m as BindingService,C as ClassElementMetadataKind,g as DeactivationsService,s as bindingScopeValues,c as bindingTypeValues,v as decorate,$ as getClassMetadata,E as inject,q as injectFromBase,P as injectable,V as multiInject,H as named,L as optional,de as plan,Q as postConstruct,W as preDestroy,Be as resolve,Ge as resolveModuleDeactivations,He as resolveServiceDeactivations,X as tagged,_ as unmanaged};
2
+ //# sourceMappingURL=index.js.map