@decaf-ts/for-fabric 0.12.10 → 0.13.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 (611) hide show
  1. package/dist/for-fabric.cjs +2 -3804
  2. package/dist/for-fabric.cjs.map +1 -0
  3. package/dist/for-fabric.js +2 -3908
  4. package/dist/for-fabric.js.map +1 -0
  5. package/lib/cjs/bin/cli.cjs +2 -2
  6. package/lib/cjs/bin/cli.cjs.map +1 -0
  7. package/lib/cjs/cli-module.cjs +2 -2
  8. package/lib/cjs/cli-module.cjs.map +1 -0
  9. package/lib/cjs/cli-utils.cjs +2 -2
  10. package/lib/cjs/cli-utils.cjs.map +1 -0
  11. package/lib/cjs/client/FabricClientAdapter.cjs +136 -65
  12. package/lib/cjs/client/FabricClientAdapter.cjs.map +1 -0
  13. package/lib/cjs/client/FabricClientContext.cjs +30 -0
  14. package/lib/cjs/client/FabricClientContext.cjs.map +1 -0
  15. package/lib/cjs/client/FabricClientDispatch.cjs +2 -2
  16. package/lib/cjs/client/FabricClientDispatch.cjs.map +1 -0
  17. package/lib/cjs/client/FabricClientPaginator.cjs +2 -2
  18. package/lib/cjs/client/FabricClientPaginator.cjs.map +1 -0
  19. package/lib/cjs/client/FabricClientRepository.cjs +3 -3
  20. package/lib/cjs/client/FabricClientRepository.cjs.map +1 -0
  21. package/lib/cjs/client/FabricClientStatement.cjs +5 -4
  22. package/lib/cjs/client/FabricClientStatement.cjs.map +1 -0
  23. package/lib/cjs/client/collections/generation.cjs +2 -2
  24. package/lib/cjs/client/collections/generation.cjs.map +1 -0
  25. package/lib/cjs/client/collections/index.cjs +2 -2
  26. package/lib/cjs/client/collections/index.cjs.map +1 -0
  27. package/lib/cjs/client/constants.cjs +3 -2
  28. package/lib/cjs/client/constants.cjs.map +1 -0
  29. package/lib/cjs/client/crypto.cjs +2 -2
  30. package/lib/cjs/client/crypto.cjs.map +1 -0
  31. package/lib/cjs/client/erc20/FabricERC20ClientRepository.cjs +2 -2
  32. package/lib/cjs/client/erc20/FabricERC20ClientRepository.cjs.map +1 -0
  33. package/lib/cjs/client/erc20/index.cjs +2 -2
  34. package/lib/cjs/client/erc20/index.cjs.map +1 -0
  35. package/lib/cjs/client/fabric-fs.cjs +2 -2
  36. package/lib/cjs/client/fabric-fs.cjs.map +1 -0
  37. package/lib/cjs/client/fabric-hsm.cjs +2 -2
  38. package/lib/cjs/client/fabric-hsm.cjs.map +1 -0
  39. package/lib/cjs/client/ids/id-extraction.cjs +2 -2
  40. package/lib/cjs/client/ids/id-extraction.cjs.map +1 -0
  41. package/lib/cjs/client/ids/index.cjs +2 -2
  42. package/lib/cjs/client/ids/index.cjs.map +1 -0
  43. package/lib/cjs/client/index.cjs +3 -2
  44. package/lib/cjs/client/index.cjs.map +1 -0
  45. package/lib/cjs/client/indexes/generation.cjs +3 -15
  46. package/lib/cjs/client/indexes/generation.cjs.map +1 -0
  47. package/lib/cjs/client/indexes/index.cjs +2 -2
  48. package/lib/cjs/client/indexes/index.cjs.map +1 -0
  49. package/lib/cjs/client/logging.cjs +2 -2
  50. package/lib/cjs/client/logging.cjs.map +1 -0
  51. package/lib/cjs/client/services/FabricEnrollmentService.cjs +2 -2
  52. package/lib/cjs/client/services/FabricEnrollmentService.cjs.map +1 -0
  53. package/lib/cjs/client/services/FabricIdentityService.cjs +2 -2
  54. package/lib/cjs/client/services/FabricIdentityService.cjs.map +1 -0
  55. package/lib/cjs/client/services/RegistrationRequestBuilder.cjs +2 -2
  56. package/lib/cjs/client/services/RegistrationRequestBuilder.cjs.map +1 -0
  57. package/lib/cjs/client/services/constants.cjs +2 -2
  58. package/lib/cjs/client/services/constants.cjs.map +1 -0
  59. package/lib/cjs/client/services/index.cjs +2 -2
  60. package/lib/cjs/client/services/index.cjs.map +1 -0
  61. package/lib/cjs/client/types.cjs +2 -2
  62. package/lib/cjs/client/types.cjs.map +1 -0
  63. package/lib/cjs/client/utils.cjs +2 -2
  64. package/lib/cjs/client/utils.cjs.map +1 -0
  65. package/lib/cjs/contract/Address.cjs +2 -2
  66. package/lib/cjs/contract/Address.cjs.map +1 -0
  67. package/lib/cjs/contract/AddressContract.cjs +2 -2
  68. package/lib/cjs/contract/AddressContract.cjs.map +1 -0
  69. package/lib/cjs/contract/AuditContract.cjs +2 -2
  70. package/lib/cjs/contract/AuditContract.cjs.map +1 -0
  71. package/lib/cjs/contract/BatchContract.cjs +2 -2
  72. package/lib/cjs/contract/BatchContract.cjs.map +1 -0
  73. package/lib/cjs/contract/MarketContract.cjs +2 -2
  74. package/lib/cjs/contract/MarketContract.cjs.map +1 -0
  75. package/lib/cjs/contract/OtherAuditContract.cjs +2 -2
  76. package/lib/cjs/contract/OtherAuditContract.cjs.map +1 -0
  77. package/lib/cjs/contract/OtherBatchContract.cjs +2 -2
  78. package/lib/cjs/contract/OtherBatchContract.cjs.map +1 -0
  79. package/lib/cjs/contract/OtherLeafletContract.cjs +2 -2
  80. package/lib/cjs/contract/OtherLeafletContract.cjs.map +1 -0
  81. package/lib/cjs/contract/OtherLeafletFileContract.cjs +2 -2
  82. package/lib/cjs/contract/OtherLeafletFileContract.cjs.map +1 -0
  83. package/lib/cjs/contract/OtherMarketContract.cjs +2 -2
  84. package/lib/cjs/contract/OtherMarketContract.cjs.map +1 -0
  85. package/lib/cjs/contract/OtherProductContract.cjs +2 -2
  86. package/lib/cjs/contract/OtherProductContract.cjs.map +1 -0
  87. package/lib/cjs/contract/OtherProductImageContract.cjs +2 -2
  88. package/lib/cjs/contract/OtherProductImageContract.cjs.map +1 -0
  89. package/lib/cjs/contract/OtherProductSharedContract.cjs +2 -2
  90. package/lib/cjs/contract/OtherProductSharedContract.cjs.map +1 -0
  91. package/lib/cjs/contract/OtherProductStrengthContract.cjs +2 -2
  92. package/lib/cjs/contract/OtherProductStrengthContract.cjs.map +1 -0
  93. package/lib/cjs/contract/Product.cjs +2 -2
  94. package/lib/cjs/contract/Product.cjs.map +1 -0
  95. package/lib/cjs/contract/ProductContract.cjs +2 -2
  96. package/lib/cjs/contract/ProductContract.cjs.map +1 -0
  97. package/lib/cjs/contract/ProductStrengthContract.cjs +2 -2
  98. package/lib/cjs/contract/ProductStrengthContract.cjs.map +1 -0
  99. package/lib/cjs/contract/SegregatedPrivateDocumentContract.cjs +2 -2
  100. package/lib/cjs/contract/SegregatedPrivateDocumentContract.cjs.map +1 -0
  101. package/lib/cjs/contract/SegregatedSharedDocumentContract.cjs +2 -2
  102. package/lib/cjs/contract/SegregatedSharedDocumentContract.cjs.map +1 -0
  103. package/lib/cjs/contract/User.cjs +2 -2
  104. package/lib/cjs/contract/User.cjs.map +1 -0
  105. package/lib/cjs/contract/UserContract.cjs +2 -2
  106. package/lib/cjs/contract/UserContract.cjs.map +1 -0
  107. package/lib/cjs/contract/index.cjs +2 -2
  108. package/lib/cjs/contract/index.cjs.map +1 -0
  109. package/lib/cjs/contract/logging-context.cjs +2 -2
  110. package/lib/cjs/contract/logging-context.cjs.map +1 -0
  111. package/lib/cjs/contract/models/Audit.cjs +3 -5
  112. package/lib/cjs/contract/models/Audit.cjs.map +1 -0
  113. package/lib/cjs/contract/models/BaseIdentifiedModel.cjs +2 -2
  114. package/lib/cjs/contract/models/BaseIdentifiedModel.cjs.map +1 -0
  115. package/lib/cjs/contract/models/BaseModel.cjs +2 -2
  116. package/lib/cjs/contract/models/BaseModel.cjs.map +1 -0
  117. package/lib/cjs/contract/models/Batch.cjs +2 -2
  118. package/lib/cjs/contract/models/Batch.cjs.map +1 -0
  119. package/lib/cjs/contract/models/GtinOwner.cjs +2 -2
  120. package/lib/cjs/contract/models/GtinOwner.cjs.map +1 -0
  121. package/lib/cjs/contract/models/History.cjs +4 -78
  122. package/lib/cjs/contract/models/History.cjs.map +1 -0
  123. package/lib/cjs/contract/models/Leaflet.cjs +2 -2
  124. package/lib/cjs/contract/models/Leaflet.cjs.map +1 -0
  125. package/lib/cjs/contract/models/LeafletFile.cjs +2 -2
  126. package/lib/cjs/contract/models/LeafletFile.cjs.map +1 -0
  127. package/lib/cjs/contract/models/Market.cjs +2 -2
  128. package/lib/cjs/contract/models/Market.cjs.map +1 -0
  129. package/lib/cjs/contract/models/OtherAudit.cjs +2 -2
  130. package/lib/cjs/contract/models/OtherAudit.cjs.map +1 -0
  131. package/lib/cjs/contract/models/OtherBatchShared.cjs +5 -240
  132. package/lib/cjs/contract/models/OtherBatchShared.cjs.map +1 -0
  133. package/lib/cjs/contract/models/OtherLeaflet.cjs +7 -119
  134. package/lib/cjs/contract/models/OtherLeaflet.cjs.map +1 -0
  135. package/lib/cjs/contract/models/OtherLeafletFile.cjs +4 -68
  136. package/lib/cjs/contract/models/OtherLeafletFile.cjs.map +1 -0
  137. package/lib/cjs/contract/models/OtherMarket.cjs +4 -87
  138. package/lib/cjs/contract/models/OtherMarket.cjs.map +1 -0
  139. package/lib/cjs/contract/models/OtherProduct.cjs +4 -80
  140. package/lib/cjs/contract/models/OtherProduct.cjs.map +1 -0
  141. package/lib/cjs/contract/models/OtherProductImage.cjs +4 -62
  142. package/lib/cjs/contract/models/OtherProductImage.cjs.map +1 -0
  143. package/lib/cjs/contract/models/OtherProductShared.cjs +4 -102
  144. package/lib/cjs/contract/models/OtherProductShared.cjs.map +1 -0
  145. package/lib/cjs/contract/models/OtherProductStrength.cjs +4 -88
  146. package/lib/cjs/contract/models/OtherProductStrength.cjs.map +1 -0
  147. package/lib/cjs/contract/models/Product.cjs +2 -2
  148. package/lib/cjs/contract/models/Product.cjs.map +1 -0
  149. package/lib/cjs/contract/models/ProductStrength.cjs +2 -2
  150. package/lib/cjs/contract/models/ProductStrength.cjs.map +1 -0
  151. package/lib/cjs/contract/models/SegregatedDocument.cjs +4 -10
  152. package/lib/cjs/contract/models/SegregatedDocument.cjs.map +1 -0
  153. package/lib/cjs/contract/models/constants.cjs +2 -2
  154. package/lib/cjs/contract/models/constants.cjs.map +1 -0
  155. package/lib/cjs/contract/models/decorators-private.cjs +2 -2
  156. package/lib/cjs/contract/models/decorators-private.cjs.map +1 -0
  157. package/lib/cjs/contract/models/decorators.cjs +2 -5
  158. package/lib/cjs/contract/models/decorators.cjs.map +1 -0
  159. package/lib/cjs/contract/models/gtin.cjs +2 -2
  160. package/lib/cjs/contract/models/gtin.cjs.map +1 -0
  161. package/lib/cjs/contract/models/history-dec.cjs +2 -2
  162. package/lib/cjs/contract/models/history-dec.cjs.map +1 -0
  163. package/lib/cjs/contract/trackedModels/History.cjs +2 -2
  164. package/lib/cjs/contract/trackedModels/History.cjs.map +1 -0
  165. package/lib/cjs/contract/trackedModels/OtherAudit.cjs +2 -2
  166. package/lib/cjs/contract/trackedModels/OtherAudit.cjs.map +1 -0
  167. package/lib/cjs/contract/trackedModels/OtherBatchShared.cjs +129 -0
  168. package/lib/cjs/contract/trackedModels/OtherBatchShared.cjs.map +1 -0
  169. package/lib/cjs/contract/trackedModels/OtherLeaflet.cjs +2 -2
  170. package/lib/cjs/contract/trackedModels/OtherLeaflet.cjs.map +1 -0
  171. package/lib/cjs/contract/trackedModels/OtherLeafletFile.cjs +2 -2
  172. package/lib/cjs/contract/trackedModels/OtherLeafletFile.cjs.map +1 -0
  173. package/lib/cjs/contract/trackedModels/OtherMarket.cjs +2 -2
  174. package/lib/cjs/contract/trackedModels/OtherMarket.cjs.map +1 -0
  175. package/lib/cjs/contract/trackedModels/OtherProduct.cjs +2 -2
  176. package/lib/cjs/contract/trackedModels/OtherProduct.cjs.map +1 -0
  177. package/lib/cjs/contract/trackedModels/OtherProductImage.cjs +2 -2
  178. package/lib/cjs/contract/trackedModels/OtherProductImage.cjs.map +1 -0
  179. package/lib/cjs/contract/trackedModels/OtherProductShared.cjs +2 -2
  180. package/lib/cjs/contract/trackedModels/OtherProductShared.cjs.map +1 -0
  181. package/lib/cjs/contract/trackedModels/OtherProductStrength.cjs +2 -2
  182. package/lib/cjs/contract/trackedModels/OtherProductStrength.cjs.map +1 -0
  183. package/lib/cjs/contracts/ContractAdapter.cjs +41 -9
  184. package/lib/cjs/contracts/ContractAdapter.cjs.map +1 -0
  185. package/lib/cjs/contracts/ContractContext.cjs +2 -2
  186. package/lib/cjs/contracts/ContractContext.cjs.map +1 -0
  187. package/lib/cjs/contracts/FabricContractDispatch.cjs +2 -2
  188. package/lib/cjs/contracts/FabricContractDispatch.cjs.map +1 -0
  189. package/lib/cjs/contracts/FabricContractPaginator.cjs +2 -2
  190. package/lib/cjs/contracts/FabricContractPaginator.cjs.map +1 -0
  191. package/lib/cjs/contracts/FabricContractRepository.cjs +2 -2
  192. package/lib/cjs/contracts/FabricContractRepository.cjs.map +1 -0
  193. package/lib/cjs/contracts/FabricContractRepositoryObservableHandler.cjs +2 -2
  194. package/lib/cjs/contracts/FabricContractRepositoryObservableHandler.cjs.map +1 -0
  195. package/lib/cjs/contracts/FabricContractSequence.cjs +2 -2
  196. package/lib/cjs/contracts/FabricContractSequence.cjs.map +1 -0
  197. package/lib/cjs/contracts/FabricContractStatement.cjs +2 -2
  198. package/lib/cjs/contracts/FabricContractStatement.cjs.map +1 -0
  199. package/lib/cjs/contracts/MigrationContract.cjs +6 -7
  200. package/lib/cjs/contracts/MigrationContract.cjs.map +1 -0
  201. package/lib/cjs/contracts/PrivateSequence.cjs +2 -2
  202. package/lib/cjs/contracts/PrivateSequence.cjs.map +1 -0
  203. package/lib/cjs/contracts/auth/decorators.cjs +2 -2
  204. package/lib/cjs/contracts/auth/decorators.cjs.map +1 -0
  205. package/lib/cjs/contracts/auth/index.cjs +2 -2
  206. package/lib/cjs/contracts/auth/index.cjs.map +1 -0
  207. package/lib/cjs/contracts/bootstrap.cjs +2 -2
  208. package/lib/cjs/contracts/bootstrap.cjs.map +1 -0
  209. package/lib/cjs/contracts/crud/crud-contract.cjs +27 -23
  210. package/lib/cjs/contracts/crud/crud-contract.cjs.map +1 -0
  211. package/lib/cjs/contracts/crud/index.cjs +2 -2
  212. package/lib/cjs/contracts/crud/index.cjs.map +1 -0
  213. package/lib/cjs/contracts/crud/serialized-crud-contract.cjs +2 -2
  214. package/lib/cjs/contracts/crud/serialized-crud-contract.cjs.map +1 -0
  215. package/lib/cjs/contracts/erc20/erc20contract.cjs +2 -2
  216. package/lib/cjs/contracts/erc20/erc20contract.cjs.map +1 -0
  217. package/lib/cjs/contracts/erc20/index.cjs +2 -2
  218. package/lib/cjs/contracts/erc20/index.cjs.map +1 -0
  219. package/lib/cjs/contracts/erc20/models.cjs +2 -2
  220. package/lib/cjs/contracts/erc20/models.cjs.map +1 -0
  221. package/lib/cjs/contracts/fabric-overrides.cjs +2 -2
  222. package/lib/cjs/contracts/fabric-overrides.cjs.map +1 -0
  223. package/lib/cjs/contracts/index.cjs +2 -2
  224. package/lib/cjs/contracts/index.cjs.map +1 -0
  225. package/lib/cjs/contracts/logging.cjs +2 -2
  226. package/lib/cjs/contracts/logging.cjs.map +1 -0
  227. package/lib/cjs/contracts/overrides.cjs +2 -2
  228. package/lib/cjs/contracts/overrides.cjs.map +1 -0
  229. package/lib/cjs/contracts/types.cjs +2 -2
  230. package/lib/cjs/contracts/types.cjs.map +1 -0
  231. package/lib/cjs/contracts/uuid.cjs +2 -2
  232. package/lib/cjs/contracts/uuid.cjs.map +1 -0
  233. package/lib/cjs/index.cjs +2 -2
  234. package/lib/cjs/index.cjs.map +1 -0
  235. package/lib/cjs/shared/ClientSerializer.cjs +2 -2
  236. package/lib/cjs/shared/ClientSerializer.cjs.map +1 -0
  237. package/lib/cjs/shared/DeterministicSerializer.cjs +2 -2
  238. package/lib/cjs/shared/DeterministicSerializer.cjs.map +1 -0
  239. package/lib/cjs/shared/SimpleDeterministicSerializer.cjs +2 -2
  240. package/lib/cjs/shared/SimpleDeterministicSerializer.cjs.map +1 -0
  241. package/lib/cjs/shared/constants.cjs +6 -2
  242. package/lib/cjs/shared/constants.cjs.map +1 -0
  243. package/lib/cjs/shared/decorators.cjs +24 -3
  244. package/lib/cjs/shared/decorators.cjs.map +1 -0
  245. package/lib/cjs/shared/erc20/erc20-constants.cjs +2 -2
  246. package/lib/cjs/shared/erc20/erc20-constants.cjs.map +1 -0
  247. package/lib/cjs/shared/erc20/index.cjs +2 -2
  248. package/lib/cjs/shared/erc20/index.cjs.map +1 -0
  249. package/lib/cjs/shared/errors.cjs +2 -2
  250. package/lib/cjs/shared/errors.cjs.map +1 -0
  251. package/lib/cjs/shared/events.cjs +2 -2
  252. package/lib/cjs/shared/events.cjs.map +1 -0
  253. package/lib/cjs/shared/fabric-types.cjs +2 -2
  254. package/lib/cjs/shared/fabric-types.cjs.map +1 -0
  255. package/lib/cjs/shared/index.cjs +2 -2
  256. package/lib/cjs/shared/index.cjs.map +1 -0
  257. package/lib/cjs/shared/interfaces/Checkable.cjs +2 -2
  258. package/lib/cjs/shared/interfaces/Checkable.cjs.map +1 -0
  259. package/lib/cjs/shared/interfaces/index.cjs +2 -2
  260. package/lib/cjs/shared/interfaces/index.cjs.map +1 -0
  261. package/lib/cjs/shared/math.cjs +2 -2
  262. package/lib/cjs/shared/math.cjs.map +1 -0
  263. package/lib/cjs/shared/model/FabricBaseModel.cjs +2 -2
  264. package/lib/cjs/shared/model/FabricBaseModel.cjs.map +1 -0
  265. package/lib/cjs/shared/model/FabricIdentifiedBaseModel.cjs +2 -2
  266. package/lib/cjs/shared/model/FabricIdentifiedBaseModel.cjs.map +1 -0
  267. package/lib/cjs/shared/model/Identity.cjs +2 -2
  268. package/lib/cjs/shared/model/Identity.cjs.map +1 -0
  269. package/lib/cjs/shared/model/IdentityCredentials.cjs +2 -2
  270. package/lib/cjs/shared/model/IdentityCredentials.cjs.map +1 -0
  271. package/lib/cjs/shared/model/index.cjs +2 -2
  272. package/lib/cjs/shared/model/index.cjs.map +1 -0
  273. package/lib/cjs/shared/overrides/Model.cjs +2 -2
  274. package/lib/cjs/shared/overrides/Model.cjs.map +1 -0
  275. package/lib/cjs/shared/overrides/index.cjs +2 -2
  276. package/lib/cjs/shared/overrides/index.cjs.map +1 -0
  277. package/lib/cjs/shared/overrides/overrides.cjs +36 -2
  278. package/lib/cjs/shared/overrides/overrides.cjs.map +1 -0
  279. package/lib/cjs/shared/types.cjs +2 -2
  280. package/lib/cjs/shared/types.cjs.map +1 -0
  281. package/lib/cjs/version.cjs +4 -4
  282. package/lib/cjs/version.cjs.map +1 -0
  283. package/lib/esm/bin/cli.js +1 -1
  284. package/lib/esm/bin/cli.js.map +1 -0
  285. package/lib/esm/cli-module.js +1 -1
  286. package/lib/esm/cli-module.js.map +1 -0
  287. package/lib/esm/cli-utils.js +1 -1
  288. package/lib/esm/cli-utils.js.map +1 -0
  289. package/lib/esm/client/FabricClientAdapter.js +136 -65
  290. package/lib/esm/client/FabricClientAdapter.js.map +1 -0
  291. package/lib/esm/client/FabricClientContext.js +25 -0
  292. package/lib/esm/client/FabricClientContext.js.map +1 -0
  293. package/lib/esm/client/FabricClientDispatch.js +1 -1
  294. package/lib/esm/client/FabricClientDispatch.js.map +1 -0
  295. package/lib/esm/client/FabricClientPaginator.js +1 -1
  296. package/lib/esm/client/FabricClientPaginator.js.map +1 -0
  297. package/lib/esm/client/FabricClientRepository.js +2 -2
  298. package/lib/esm/client/FabricClientRepository.js.map +1 -0
  299. package/lib/esm/client/FabricClientStatement.js +4 -3
  300. package/lib/esm/client/FabricClientStatement.js.map +1 -0
  301. package/lib/esm/client/collections/generation.js +1 -1
  302. package/lib/esm/client/collections/generation.js.map +1 -0
  303. package/lib/esm/client/collections/index.js +1 -1
  304. package/lib/esm/client/collections/index.js.map +1 -0
  305. package/lib/esm/client/constants.js +2 -1
  306. package/lib/esm/client/constants.js.map +1 -0
  307. package/lib/esm/client/crypto.js +1 -1
  308. package/lib/esm/client/crypto.js.map +1 -0
  309. package/lib/esm/client/erc20/FabricERC20ClientRepository.js +1 -1
  310. package/lib/esm/client/erc20/FabricERC20ClientRepository.js.map +1 -0
  311. package/lib/esm/client/erc20/index.js +1 -1
  312. package/lib/esm/client/erc20/index.js.map +1 -0
  313. package/lib/esm/client/fabric-fs.js +1 -1
  314. package/lib/esm/client/fabric-fs.js.map +1 -0
  315. package/lib/esm/client/fabric-hsm.js +1 -1
  316. package/lib/esm/client/fabric-hsm.js.map +1 -0
  317. package/lib/esm/client/ids/id-extraction.js +1 -1
  318. package/lib/esm/client/ids/id-extraction.js.map +1 -0
  319. package/lib/esm/client/ids/index.js +1 -1
  320. package/lib/esm/client/ids/index.js.map +1 -0
  321. package/lib/esm/client/index.js +2 -1
  322. package/lib/esm/client/index.js.map +1 -0
  323. package/lib/esm/client/indexes/generation.js +2 -14
  324. package/lib/esm/client/indexes/generation.js.map +1 -0
  325. package/lib/esm/client/indexes/index.js +1 -1
  326. package/lib/esm/client/indexes/index.js.map +1 -0
  327. package/lib/esm/client/logging.js +1 -1
  328. package/lib/esm/client/logging.js.map +1 -0
  329. package/lib/esm/client/services/FabricEnrollmentService.js +1 -1
  330. package/lib/esm/client/services/FabricEnrollmentService.js.map +1 -0
  331. package/lib/esm/client/services/FabricIdentityService.js +1 -1
  332. package/lib/esm/client/services/FabricIdentityService.js.map +1 -0
  333. package/lib/esm/client/services/RegistrationRequestBuilder.js +1 -1
  334. package/lib/esm/client/services/RegistrationRequestBuilder.js.map +1 -0
  335. package/lib/esm/client/services/constants.js +1 -1
  336. package/lib/esm/client/services/constants.js.map +1 -0
  337. package/lib/esm/client/services/index.js +1 -1
  338. package/lib/esm/client/services/index.js.map +1 -0
  339. package/lib/esm/client/types.js +1 -1
  340. package/lib/esm/client/types.js.map +1 -0
  341. package/lib/esm/client/utils.js +1 -1
  342. package/lib/esm/client/utils.js.map +1 -0
  343. package/lib/esm/contract/Address.js +1 -1
  344. package/lib/esm/contract/Address.js.map +1 -0
  345. package/lib/esm/contract/AddressContract.js +1 -1
  346. package/lib/esm/contract/AddressContract.js.map +1 -0
  347. package/lib/esm/contract/AuditContract.js +1 -1
  348. package/lib/esm/contract/AuditContract.js.map +1 -0
  349. package/lib/esm/contract/BatchContract.js +1 -1
  350. package/lib/esm/contract/BatchContract.js.map +1 -0
  351. package/lib/esm/contract/MarketContract.js +1 -1
  352. package/lib/esm/contract/MarketContract.js.map +1 -0
  353. package/lib/esm/contract/OtherAuditContract.js +1 -1
  354. package/lib/esm/contract/OtherAuditContract.js.map +1 -0
  355. package/lib/esm/contract/OtherBatchContract.js +1 -1
  356. package/lib/esm/contract/OtherBatchContract.js.map +1 -0
  357. package/lib/esm/contract/OtherLeafletContract.js +1 -1
  358. package/lib/esm/contract/OtherLeafletContract.js.map +1 -0
  359. package/lib/esm/contract/OtherLeafletFileContract.js +1 -1
  360. package/lib/esm/contract/OtherLeafletFileContract.js.map +1 -0
  361. package/lib/esm/contract/OtherMarketContract.js +1 -1
  362. package/lib/esm/contract/OtherMarketContract.js.map +1 -0
  363. package/lib/esm/contract/OtherProductContract.js +1 -1
  364. package/lib/esm/contract/OtherProductContract.js.map +1 -0
  365. package/lib/esm/contract/OtherProductImageContract.js +1 -1
  366. package/lib/esm/contract/OtherProductImageContract.js.map +1 -0
  367. package/lib/esm/contract/OtherProductSharedContract.js +1 -1
  368. package/lib/esm/contract/OtherProductSharedContract.js.map +1 -0
  369. package/lib/esm/contract/OtherProductStrengthContract.js +1 -1
  370. package/lib/esm/contract/OtherProductStrengthContract.js.map +1 -0
  371. package/lib/esm/contract/Product.js +1 -1
  372. package/lib/esm/contract/Product.js.map +1 -0
  373. package/lib/esm/contract/ProductContract.js +1 -1
  374. package/lib/esm/contract/ProductContract.js.map +1 -0
  375. package/lib/esm/contract/ProductStrengthContract.js +1 -1
  376. package/lib/esm/contract/ProductStrengthContract.js.map +1 -0
  377. package/lib/esm/contract/SegregatedPrivateDocumentContract.js +1 -1
  378. package/lib/esm/contract/SegregatedPrivateDocumentContract.js.map +1 -0
  379. package/lib/esm/contract/SegregatedSharedDocumentContract.js +1 -1
  380. package/lib/esm/contract/SegregatedSharedDocumentContract.js.map +1 -0
  381. package/lib/esm/contract/User.js +1 -1
  382. package/lib/esm/contract/User.js.map +1 -0
  383. package/lib/esm/contract/UserContract.js +1 -1
  384. package/lib/esm/contract/UserContract.js.map +1 -0
  385. package/lib/esm/contract/index.js +1 -1
  386. package/lib/esm/contract/index.js.map +1 -0
  387. package/lib/esm/contract/logging-context.js +1 -1
  388. package/lib/esm/contract/logging-context.js.map +1 -0
  389. package/lib/esm/contract/models/Audit.js +3 -5
  390. package/lib/esm/contract/models/Audit.js.map +1 -0
  391. package/lib/esm/contract/models/BaseIdentifiedModel.js +1 -1
  392. package/lib/esm/contract/models/BaseIdentifiedModel.js.map +1 -0
  393. package/lib/esm/contract/models/BaseModel.js +1 -1
  394. package/lib/esm/contract/models/BaseModel.js.map +1 -0
  395. package/lib/esm/contract/models/Batch.js +1 -1
  396. package/lib/esm/contract/models/Batch.js.map +1 -0
  397. package/lib/esm/contract/models/GtinOwner.js +1 -1
  398. package/lib/esm/contract/models/GtinOwner.js.map +1 -0
  399. package/lib/esm/contract/models/History.js +2 -72
  400. package/lib/esm/contract/models/History.js.map +1 -0
  401. package/lib/esm/contract/models/Leaflet.js +1 -1
  402. package/lib/esm/contract/models/Leaflet.js.map +1 -0
  403. package/lib/esm/contract/models/LeafletFile.js +1 -1
  404. package/lib/esm/contract/models/LeafletFile.js.map +1 -0
  405. package/lib/esm/contract/models/Market.js +1 -1
  406. package/lib/esm/contract/models/Market.js.map +1 -0
  407. package/lib/esm/contract/models/OtherAudit.js +1 -1
  408. package/lib/esm/contract/models/OtherAudit.js.map +1 -0
  409. package/lib/esm/contract/models/OtherBatchShared.js +2 -232
  410. package/lib/esm/contract/models/OtherBatchShared.js.map +1 -0
  411. package/lib/esm/contract/models/OtherLeaflet.js +3 -112
  412. package/lib/esm/contract/models/OtherLeaflet.js.map +1 -0
  413. package/lib/esm/contract/models/OtherLeafletFile.js +2 -62
  414. package/lib/esm/contract/models/OtherLeafletFile.js.map +1 -0
  415. package/lib/esm/contract/models/OtherMarket.js +2 -81
  416. package/lib/esm/contract/models/OtherMarket.js.map +1 -0
  417. package/lib/esm/contract/models/OtherProduct.js +2 -74
  418. package/lib/esm/contract/models/OtherProduct.js.map +1 -0
  419. package/lib/esm/contract/models/OtherProductImage.js +2 -56
  420. package/lib/esm/contract/models/OtherProductImage.js.map +1 -0
  421. package/lib/esm/contract/models/OtherProductShared.js +2 -96
  422. package/lib/esm/contract/models/OtherProductShared.js.map +1 -0
  423. package/lib/esm/contract/models/OtherProductStrength.js +2 -82
  424. package/lib/esm/contract/models/OtherProductStrength.js.map +1 -0
  425. package/lib/esm/contract/models/Product.js +1 -1
  426. package/lib/esm/contract/models/Product.js.map +1 -0
  427. package/lib/esm/contract/models/ProductStrength.js +2 -2
  428. package/lib/esm/contract/models/ProductStrength.js.map +1 -0
  429. package/lib/esm/contract/models/SegregatedDocument.js +4 -10
  430. package/lib/esm/contract/models/SegregatedDocument.js.map +1 -0
  431. package/lib/esm/contract/models/constants.js +1 -1
  432. package/lib/esm/contract/models/constants.js.map +1 -0
  433. package/lib/esm/contract/models/decorators-private.js +1 -1
  434. package/lib/esm/contract/models/decorators-private.js.map +1 -0
  435. package/lib/esm/contract/models/decorators.js +1 -4
  436. package/lib/esm/contract/models/decorators.js.map +1 -0
  437. package/lib/esm/contract/models/gtin.js +1 -1
  438. package/lib/esm/contract/models/gtin.js.map +1 -0
  439. package/lib/esm/contract/models/history-dec.js +1 -1
  440. package/lib/esm/contract/models/history-dec.js.map +1 -0
  441. package/lib/esm/contract/trackedModels/History.js +1 -1
  442. package/lib/esm/contract/trackedModels/History.js.map +1 -0
  443. package/lib/esm/contract/trackedModels/OtherAudit.js +1 -1
  444. package/lib/esm/contract/trackedModels/OtherAudit.js.map +1 -0
  445. package/lib/esm/contract/trackedModels/OtherBatchShared.js +120 -0
  446. package/lib/esm/contract/trackedModels/OtherBatchShared.js.map +1 -0
  447. package/lib/esm/contract/trackedModels/OtherLeaflet.js +1 -1
  448. package/lib/esm/contract/trackedModels/OtherLeaflet.js.map +1 -0
  449. package/lib/esm/contract/trackedModels/OtherLeafletFile.js +1 -1
  450. package/lib/esm/contract/trackedModels/OtherLeafletFile.js.map +1 -0
  451. package/lib/esm/contract/trackedModels/OtherMarket.js +1 -1
  452. package/lib/esm/contract/trackedModels/OtherMarket.js.map +1 -0
  453. package/lib/esm/contract/trackedModels/OtherProduct.js +1 -1
  454. package/lib/esm/contract/trackedModels/OtherProduct.js.map +1 -0
  455. package/lib/esm/contract/trackedModels/OtherProductImage.js +1 -1
  456. package/lib/esm/contract/trackedModels/OtherProductImage.js.map +1 -0
  457. package/lib/esm/contract/trackedModels/OtherProductShared.js +1 -1
  458. package/lib/esm/contract/trackedModels/OtherProductShared.js.map +1 -0
  459. package/lib/esm/contract/trackedModels/OtherProductStrength.js +1 -1
  460. package/lib/esm/contract/trackedModels/OtherProductStrength.js.map +1 -0
  461. package/lib/esm/contracts/ContractAdapter.js +41 -9
  462. package/lib/esm/contracts/ContractAdapter.js.map +1 -0
  463. package/lib/esm/contracts/ContractContext.js +1 -1
  464. package/lib/esm/contracts/ContractContext.js.map +1 -0
  465. package/lib/esm/contracts/FabricContractDispatch.js +1 -1
  466. package/lib/esm/contracts/FabricContractDispatch.js.map +1 -0
  467. package/lib/esm/contracts/FabricContractPaginator.js +1 -1
  468. package/lib/esm/contracts/FabricContractPaginator.js.map +1 -0
  469. package/lib/esm/contracts/FabricContractRepository.js +1 -1
  470. package/lib/esm/contracts/FabricContractRepository.js.map +1 -0
  471. package/lib/esm/contracts/FabricContractRepositoryObservableHandler.js +1 -1
  472. package/lib/esm/contracts/FabricContractRepositoryObservableHandler.js.map +1 -0
  473. package/lib/esm/contracts/FabricContractSequence.js +1 -1
  474. package/lib/esm/contracts/FabricContractSequence.js.map +1 -0
  475. package/lib/esm/contracts/FabricContractStatement.js +1 -1
  476. package/lib/esm/contracts/FabricContractStatement.js.map +1 -0
  477. package/lib/esm/contracts/MigrationContract.js +5 -6
  478. package/lib/esm/contracts/MigrationContract.js.map +1 -0
  479. package/lib/esm/contracts/PrivateSequence.js +1 -1
  480. package/lib/esm/contracts/PrivateSequence.js.map +1 -0
  481. package/lib/esm/contracts/auth/decorators.js +1 -1
  482. package/lib/esm/contracts/auth/decorators.js.map +1 -0
  483. package/lib/esm/contracts/auth/index.js +1 -1
  484. package/lib/esm/contracts/auth/index.js.map +1 -0
  485. package/lib/esm/contracts/bootstrap.js +1 -1
  486. package/lib/esm/contracts/bootstrap.js.map +1 -0
  487. package/lib/esm/contracts/crud/crud-contract.js +28 -24
  488. package/lib/esm/contracts/crud/crud-contract.js.map +1 -0
  489. package/lib/esm/contracts/crud/index.js +1 -1
  490. package/lib/esm/contracts/crud/index.js.map +1 -0
  491. package/lib/esm/contracts/crud/serialized-crud-contract.js +1 -1
  492. package/lib/esm/contracts/crud/serialized-crud-contract.js.map +1 -0
  493. package/lib/esm/contracts/erc20/erc20contract.js +1 -1
  494. package/lib/esm/contracts/erc20/erc20contract.js.map +1 -0
  495. package/lib/esm/contracts/erc20/index.js +1 -1
  496. package/lib/esm/contracts/erc20/index.js.map +1 -0
  497. package/lib/esm/contracts/erc20/models.js +1 -1
  498. package/lib/esm/contracts/erc20/models.js.map +1 -0
  499. package/lib/esm/contracts/fabric-overrides.js +1 -1
  500. package/lib/esm/contracts/fabric-overrides.js.map +1 -0
  501. package/lib/esm/contracts/index.js +1 -1
  502. package/lib/esm/contracts/index.js.map +1 -0
  503. package/lib/esm/contracts/logging.js +1 -1
  504. package/lib/esm/contracts/logging.js.map +1 -0
  505. package/lib/esm/contracts/overrides.js +1 -1
  506. package/lib/esm/contracts/overrides.js.map +1 -0
  507. package/lib/esm/contracts/types.js +1 -1
  508. package/lib/esm/contracts/types.js.map +1 -0
  509. package/lib/esm/contracts/uuid.js +1 -1
  510. package/lib/esm/contracts/uuid.js.map +1 -0
  511. package/lib/esm/index.js +1 -1
  512. package/lib/esm/index.js.map +1 -0
  513. package/lib/esm/shared/ClientSerializer.js +1 -1
  514. package/lib/esm/shared/ClientSerializer.js.map +1 -0
  515. package/lib/esm/shared/DeterministicSerializer.js +1 -1
  516. package/lib/esm/shared/DeterministicSerializer.js.map +1 -0
  517. package/lib/esm/shared/SimpleDeterministicSerializer.js +1 -1
  518. package/lib/esm/shared/SimpleDeterministicSerializer.js.map +1 -0
  519. package/lib/esm/shared/constants.js +5 -1
  520. package/lib/esm/shared/constants.js.map +1 -0
  521. package/lib/esm/shared/decorators.js +18 -1
  522. package/lib/esm/shared/decorators.js.map +1 -0
  523. package/lib/esm/shared/erc20/erc20-constants.js +1 -1
  524. package/lib/esm/shared/erc20/erc20-constants.js.map +1 -0
  525. package/lib/esm/shared/erc20/index.js +1 -1
  526. package/lib/esm/shared/erc20/index.js.map +1 -0
  527. package/lib/esm/shared/errors.js +1 -1
  528. package/lib/esm/shared/errors.js.map +1 -0
  529. package/lib/esm/shared/events.js +1 -1
  530. package/lib/esm/shared/events.js.map +1 -0
  531. package/lib/esm/shared/fabric-types.js +1 -1
  532. package/lib/esm/shared/fabric-types.js.map +1 -0
  533. package/lib/esm/shared/index.js +1 -1
  534. package/lib/esm/shared/index.js.map +1 -0
  535. package/lib/esm/shared/interfaces/Checkable.js +1 -1
  536. package/lib/esm/shared/interfaces/Checkable.js.map +1 -0
  537. package/lib/esm/shared/interfaces/index.js +1 -1
  538. package/lib/esm/shared/interfaces/index.js.map +1 -0
  539. package/lib/esm/shared/math.js +1 -1
  540. package/lib/esm/shared/math.js.map +1 -0
  541. package/lib/esm/shared/model/FabricBaseModel.js +1 -1
  542. package/lib/esm/shared/model/FabricBaseModel.js.map +1 -0
  543. package/lib/esm/shared/model/FabricIdentifiedBaseModel.js +1 -1
  544. package/lib/esm/shared/model/FabricIdentifiedBaseModel.js.map +1 -0
  545. package/lib/esm/shared/model/Identity.js +1 -1
  546. package/lib/esm/shared/model/Identity.js.map +1 -0
  547. package/lib/esm/shared/model/IdentityCredentials.js +1 -1
  548. package/lib/esm/shared/model/IdentityCredentials.js.map +1 -0
  549. package/lib/esm/shared/model/index.js +1 -1
  550. package/lib/esm/shared/model/index.js.map +1 -0
  551. package/lib/esm/shared/overrides/Model.js +1 -1
  552. package/lib/esm/shared/overrides/Model.js.map +1 -0
  553. package/lib/esm/shared/overrides/index.js +1 -1
  554. package/lib/esm/shared/overrides/index.js.map +1 -0
  555. package/lib/esm/shared/overrides/overrides.js +36 -2
  556. package/lib/esm/shared/overrides/overrides.js.map +1 -0
  557. package/lib/esm/shared/types.js +1 -1
  558. package/lib/esm/shared/types.js.map +1 -0
  559. package/lib/esm/version.js +3 -3
  560. package/lib/esm/version.js.map +1 -0
  561. package/lib/types/client/FabricClientAdapter.d.cts +42 -33
  562. package/lib/types/client/FabricClientAdapter.d.mts +42 -33
  563. package/lib/types/client/FabricClientContext.d.cts +11 -0
  564. package/lib/types/client/FabricClientContext.d.mts +11 -0
  565. package/lib/types/client/FabricClientDispatch.d.cts +5 -5
  566. package/lib/types/client/FabricClientDispatch.d.mts +5 -5
  567. package/lib/types/client/FabricClientStatement.d.cts +6 -6
  568. package/lib/types/client/FabricClientStatement.d.mts +6 -6
  569. package/lib/types/client/index.d.cts +1 -0
  570. package/lib/types/client/index.d.mts +1 -0
  571. package/lib/types/client/types.d.cts +2 -0
  572. package/lib/types/client/types.d.mts +2 -0
  573. package/lib/types/contract/models/History.d.cts +1 -9
  574. package/lib/types/contract/models/History.d.mts +1 -9
  575. package/lib/types/contract/models/OtherBatchShared.d.cts +1 -55
  576. package/lib/types/contract/models/OtherBatchShared.d.mts +1 -55
  577. package/lib/types/contract/models/OtherLeaflet.d.cts +2 -16
  578. package/lib/types/contract/models/OtherLeaflet.d.mts +2 -16
  579. package/lib/types/contract/models/OtherLeafletFile.d.cts +1 -10
  580. package/lib/types/contract/models/OtherLeafletFile.d.mts +1 -10
  581. package/lib/types/contract/models/OtherMarket.d.cts +1 -13
  582. package/lib/types/contract/models/OtherMarket.d.mts +1 -13
  583. package/lib/types/contract/models/OtherProduct.d.cts +1 -12
  584. package/lib/types/contract/models/OtherProduct.d.mts +1 -12
  585. package/lib/types/contract/models/OtherProductImage.d.cts +1 -9
  586. package/lib/types/contract/models/OtherProductImage.d.mts +1 -9
  587. package/lib/types/contract/models/OtherProductShared.d.cts +1 -18
  588. package/lib/types/contract/models/OtherProductShared.d.mts +1 -18
  589. package/lib/types/contract/models/OtherProductStrength.d.cts +1 -12
  590. package/lib/types/contract/models/OtherProductStrength.d.mts +1 -12
  591. package/lib/types/contract/trackedModels/OtherBatchShared.d.cts +19 -0
  592. package/lib/types/contract/trackedModels/OtherBatchShared.d.mts +19 -0
  593. package/lib/types/contracts/ContractAdapter.d.cts +1 -0
  594. package/lib/types/contracts/ContractAdapter.d.mts +1 -0
  595. package/lib/types/contracts/FabricContractStatement.d.cts +1 -2
  596. package/lib/types/contracts/FabricContractStatement.d.mts +1 -2
  597. package/lib/types/contracts/MigrationContract.d.cts +1 -1
  598. package/lib/types/contracts/MigrationContract.d.mts +1 -1
  599. package/lib/types/contracts/crud/crud-contract.d.cts +3 -1
  600. package/lib/types/contracts/crud/crud-contract.d.mts +3 -1
  601. package/lib/types/contracts/types.d.cts +1 -0
  602. package/lib/types/contracts/types.d.mts +1 -0
  603. package/lib/types/shared/constants.d.cts +5 -1
  604. package/lib/types/shared/constants.d.mts +5 -1
  605. package/lib/types/shared/decorators.d.cts +9 -1
  606. package/lib/types/shared/decorators.d.mts +9 -1
  607. package/lib/types/shared/overrides/Model.d.cts +4 -0
  608. package/lib/types/shared/overrides/Model.d.mts +4 -0
  609. package/lib/types/version.d.cts +2 -2
  610. package/lib/types/version.d.mts +2 -2
  611. package/package.json +1 -1
@@ -77,5 +77,5 @@ exports.Market = Market = __decorate([
77
77
  (0, decorator_validation_1.model)(),
78
78
  __metadata("design:paramtypes", [Object])
79
79
  ], Market);
80
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiTWFya2V0LmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vc3JjL2NvbnRyYWN0L21vZGVscy9NYXJrZXQudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6Ijs7Ozs7Ozs7O0FBQ0EsT0FBTyxFQUNMLFNBQVMsRUFDVCxTQUFTLEVBQ1QsS0FBSyxFQUNMLFFBQVEsR0FDVCxNQUFNLGdDQUFnQyxDQUFDO0FBQ3hDLE9BQU8sRUFBRSxVQUFVLEVBQUUsdUJBQW9CO0FBQ3pDLE9BQU8sRUFBRSxNQUFNLEVBQUUsS0FBSyxFQUFFLGNBQWMsRUFBRSxFQUFFLEVBQUUsS0FBSyxFQUFFLE1BQU0sZ0JBQWdCLENBQUM7QUFDMUUsT0FBTyxFQUFFLFFBQVEsRUFBRSxNQUFNLHlCQUF5QixDQUFDO0FBQ25ELE9BQU8sRUFBRSxXQUFXLEVBQUUsSUFBSSxFQUFFLE1BQU0sc0JBQXNCLENBQUM7QUFDekQsT0FBTyxFQUFFLG1CQUFtQixFQUFFLGlDQUE4QjtBQUM1RCxPQUFPLEVBQUUsSUFBSSxFQUFFLGtCQUFlO0FBQzlCLE9BQU8sRUFBRSxhQUFhLEVBQUUsZ0NBQTJCO0FBTTVDLElBQU0sTUFBTSxHQUFaLE1BQU0sTUFBTyxTQUFRLG1CQUFtQjtJQTJDN0MsWUFBWSxLQUF3QjtRQUNsQyxLQUFLLENBQUMsS0FBSyxDQUFDLENBQUM7SUFDZixDQUFDO0NBQ0YsQ0FBQTtBQTFDQztJQUhDLEVBQUUsQ0FBQyxFQUFFLElBQUksRUFBRSxNQUFNLEVBQUUsU0FBUyxFQUFFLEtBQUssRUFBRSxDQUFDO0lBQ3RDLFFBQVEsQ0FBQyxDQUFDLGFBQWEsRUFBRSxVQUFVLENBQUMsRUFBRSxHQUFHLEVBQUUsSUFBSSxDQUFDO0lBQ2hELFdBQVcsQ0FBQywyREFBMkQsQ0FBQzs7a0NBQzdEO0FBUVo7SUFOQyxNQUFNLEVBQUU7SUFDUixRQUFRLEVBQUU7SUFDVixLQUFLLENBQUMsQ0FBQyxjQUFjLENBQUMsR0FBRyxFQUFFLGNBQWMsQ0FBQyxHQUFHLENBQUMsQ0FBQztJQUMvQyxXQUFXLENBQ1YsbUVBQW1FLENBQ3BFOzt3Q0FDaUI7QUFLbEI7SUFIQyxNQUFNLEVBQUU7SUFDUixJQUFJLEVBQUU7SUFDTixRQUFRLEVBQUU7OzJDQUNVO0FBUXJCO0lBTkMsTUFBTSxFQUFFO0lBQ1IsU0FBUyxDQUFDLENBQUMsQ0FBQztJQUNaLFNBQVMsQ0FBQyxDQUFDLENBQUM7SUFDWixXQUFXLENBQ1YsMEVBQTBFLENBQzNFOzs0Q0FDcUI7QUFJdEI7SUFGQyxNQUFNLEVBQUU7SUFDUixXQUFXLENBQUMsbURBQW1ELENBQUM7O3VDQUNoRDtBQU1qQjtJQUpDLE1BQU0sRUFBRTtJQUNSLFdBQVcsQ0FDVixzRUFBc0UsQ0FDdkU7OytDQUN3QjtBQU16QjtJQUpDLE1BQU0sRUFBRTtJQUNSLFdBQVcsQ0FDViw0RUFBNEUsQ0FDN0U7OzBDQUNtQjtBQXpDVCxNQUFNO0lBSmxCLFdBQVcsQ0FBQyx1Q0FBdUMsQ0FBQztJQUNwRCxJQUFJLENBQUMsYUFBYSxDQUFDO0lBQ25CLEtBQUssQ0FBQyxVQUFVLENBQUMsTUFBTSxDQUFDO0lBQ3hCLEtBQUssRUFBRTs7R0FDSyxNQUFNLENBOENsQiIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB0eXBlIHsgTW9kZWxBcmcgfSBmcm9tIFwiQGRlY2FmLXRzL2RlY29yYXRvci12YWxpZGF0aW9uXCI7XG5pbXBvcnQge1xuICBtYXhsZW5ndGgsXG4gIG1pbmxlbmd0aCxcbiAgbW9kZWwsXG4gIHJlcXVpcmVkLFxufSBmcm9tIFwiQGRlY2FmLXRzL2RlY29yYXRvci12YWxpZGF0aW9uXCI7XG5pbXBvcnQgeyBUYWJsZU5hbWVzIH0gZnJvbSBcIi4vY29uc3RhbnRzXCI7XG5pbXBvcnQgeyBjb2x1bW4sIGluZGV4LCBPcmRlckRpcmVjdGlvbiwgcGssIHRhYmxlIH0gZnJvbSBcIkBkZWNhZi10cy9jb3JlXCI7XG5pbXBvcnQgeyBjb21wb3NlZCB9IGZyb20gXCJAZGVjYWYtdHMvZGItZGVjb3JhdG9yc1wiO1xuaW1wb3J0IHsgZGVzY3JpcHRpb24sIHVzZXMgfSBmcm9tIFwiQGRlY2FmLXRzL2RlY29yYXRpb25cIjtcbmltcG9ydCB7IEJhc2VJZGVudGlmaWVkTW9kZWwgfSBmcm9tIFwiLi9CYXNlSWRlbnRpZmllZE1vZGVsXCI7XG5pbXBvcnQgeyBndGluIH0gZnJvbSBcIi4vZ3RpblwiO1xuaW1wb3J0IHsgRmFicmljRmxhdm91ciB9IGZyb20gXCIuLi8uLi9zaGFyZWQvaW5kZXhcIjtcblxuQGRlc2NyaXB0aW9uKFwiTGlua3MgYSBwcm9kdWN0IHRvIGEgc3BlY2lmaWMgbWFya2V0LlwiKVxuQHVzZXMoRmFicmljRmxhdm91cilcbkB0YWJsZShUYWJsZU5hbWVzLk1hcmtldClcbkBtb2RlbCgpXG5leHBvcnQgY2xhc3MgTWFya2V0IGV4dGVuZHMgQmFzZUlkZW50aWZpZWRNb2RlbCB7XG4gIEBwayh7IHR5cGU6IFN0cmluZywgZ2VuZXJhdGVkOiBmYWxzZSB9KVxuICBAY29tcG9zZWQoW1wicHJvZHVjdENvZGVcIiwgXCJtYXJrZXRJZFwiXSwgXCI6XCIsIHRydWUpXG4gIEBkZXNjcmlwdGlvbihcIlVuaXF1ZSBpZGVudGlmaWVyIGNvbXBvc2VkIG9mIHByb2R1Y3QgY29kZSBhbmQgbWFya2V0IElELlwiKVxuICBpZCE6IHN0cmluZztcblxuICBAY29sdW1uKClcbiAgQHJlcXVpcmVkKClcbiAgQGluZGV4KFtPcmRlckRpcmVjdGlvbi5BU0MsIE9yZGVyRGlyZWN0aW9uLkRTQ10pXG4gIEBkZXNjcmlwdGlvbihcbiAgICBcIklkZW50aWZpZXIgb2YgdGhlIG1hcmtldCB3aGVyZSB0aGUgcHJvZHVjdCBpcyByZWdpc3RlcmVkIG9yIHNvbGQuXCJcbiAgKVxuICBtYXJrZXRJZCE6IHN0cmluZztcblxuICBAY29sdW1uKClcbiAgQGd0aW4oKVxuICBAcmVxdWlyZWQoKVxuICBwcm9kdWN0Q29kZSE6IHN0cmluZztcblxuICBAY29sdW1uKClcbiAgQG1pbmxlbmd0aCgyKVxuICBAbWF4bGVuZ3RoKDIpXG4gIEBkZXNjcmlwdGlvbihcbiAgICBcIlR3by1sZXR0ZXIgbmF0aW9uYWwgY29kZSAoSVNPIGZvcm1hdCkgcmVwcmVzZW50aW5nIHRoZSBtYXJrZXQncyBjb3VudHJ5LlwiXG4gIClcbiAgbmF0aW9uYWxDb2RlPzogc3RyaW5nO1xuXG4gIEBjb2x1bW4oKVxuICBAZGVzY3JpcHRpb24oXCJOYW1lIG9mIHRoZSBNYXJrZXRpbmcgQXV0aG9yaXphdGlvbiBIb2xkZXIgKE1BSCkuXCIpXG4gIG1haE5hbWU/OiBzdHJpbmc7XG5cbiAgQGNvbHVtbigpXG4gIEBkZXNjcmlwdGlvbihcbiAgICBcIk5hbWUgb2YgdGhlIGxlZ2FsIGVudGl0eSByZXNwb25zaWJsZSBmb3IgdGhlIHByb2R1Y3QgaW4gdGhpcyBtYXJrZXQuXCJcbiAgKVxuICBsZWdhbEVudGl0eU5hbWU/OiBzdHJpbmc7XG5cbiAgQGNvbHVtbigpXG4gIEBkZXNjcmlwdGlvbihcbiAgICBcIkFkZHJlc3Mgb2YgdGhlIE1hcmtldGluZyBBdXRob3JpemF0aW9uIEhvbGRlciBvciByZXNwb25zaWJsZSBsZWdhbCBlbnRpdHkuXCJcbiAgKVxuICBtYWhBZGRyZXNzPzogc3RyaW5nO1xuXG4gIGNvbnN0cnVjdG9yKG1vZGVsPzogTW9kZWxBcmc8TWFya2V0Pikge1xuICAgIHN1cGVyKG1vZGVsKTtcbiAgfVxufVxuIl19
81
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiTWFya2V0LmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiTWFya2V0LmpzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiI7OztBQUFBLElBQUksVUFBVSxHQUFHLENBQUMsSUFBSSxJQUFJLElBQUksQ0FBQyxVQUFVLENBQUMsSUFBSSxVQUFVLFVBQVUsRUFBRSxNQUFNLEVBQUUsR0FBRyxFQUFFLElBQUk7SUFDakYsSUFBSSxDQUFDLEdBQUcsU0FBUyxDQUFDLE1BQU0sRUFBRSxDQUFDLEdBQUcsQ0FBQyxHQUFHLENBQUMsQ0FBQyxDQUFDLENBQUMsTUFBTSxDQUFDLENBQUMsQ0FBQyxJQUFJLEtBQUssSUFBSSxDQUFDLENBQUMsQ0FBQyxJQUFJLEdBQUcsTUFBTSxDQUFDLHdCQUF3QixDQUFDLE1BQU0sRUFBRSxHQUFHLENBQUMsQ0FBQyxDQUFDLENBQUMsSUFBSSxFQUFFLENBQUMsQ0FBQztJQUM3SCxJQUFJLE9BQU8sT0FBTyxLQUFLLFFBQVEsSUFBSSxPQUFPLE9BQU8sQ0FBQyxRQUFRLEtBQUssVUFBVTtRQUFFLENBQUMsR0FBRyxPQUFPLENBQUMsUUFBUSxDQUFDLFVBQVUsRUFBRSxNQUFNLEVBQUUsR0FBRyxFQUFFLElBQUksQ0FBQyxDQUFDOztRQUMxSCxLQUFLLElBQUksQ0FBQyxHQUFHLFVBQVUsQ0FBQyxNQUFNLEdBQUcsQ0FBQyxFQUFFLENBQUMsSUFBSSxDQUFDLEVBQUUsQ0FBQyxFQUFFO1lBQUUsSUFBSSxDQUFDLEdBQUcsVUFBVSxDQUFDLENBQUMsQ0FBQztnQkFBRSxDQUFDLEdBQUcsQ0FBQyxDQUFDLEdBQUcsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsR0FBRyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxNQUFNLEVBQUUsR0FBRyxFQUFFLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsTUFBTSxFQUFFLEdBQUcsQ0FBQyxDQUFDLElBQUks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LEVBQUUsTUFBTSxDQUFDLFNBQVMsRUFBRSxpQkFBaUIsRUFBRSxLQUFLLENBQUMsQ0FBQyxDQUFDO0FBQ2hELFVBQVUsQ0FBQztJQUNQLElBQUEsYUFBTSxHQUFFO0lBQ1IsSUFBQSx3QkFBVyxFQUFDLDRFQUE0RSxDQUFDO0lBQ3pGLFVBQVUsQ0FBQyxhQUFhLEVBQUUsTUFBTSxDQUFDO0NBQ3BDLEVBQUUsTUFBTSxDQUFDLFNBQVMsRUFBRSxZQUFZLEVBQUUsS0FBSyxDQUFDLENBQUMsQ0FBQztBQUMzQyxpQkFBQSxNQUFNLEdBQUcsVUFBVSxDQUFDO0lBQ2hCLElBQUEsd0JBQVcsRUFBQyx1Q0FBdUMsQ0FBQztJQUNwRCxJQUFBLGlCQUFJLEVBQUMsd0JBQWEsQ0FBQztJQUNuQixJQUFBLFlBQUssRUFBQyx5QkFBVSxDQUFDLE1BQU0sQ0FBQztJQUN4QixJQUFBLDRCQUFLLEdBQUU7SUFDUCxVQUFVLENBQUMsbUJBQW1CLEVBQUUsQ0FBQyxNQUFNLENBQUMsQ0FBQztDQUM1QyxFQUFFLE1BQU0sQ0FBQyxDQUFDO0FBRVgsczBJQUFzMEkiLCJzb3VyY2VzQ29udGVudCI6WyJ2YXIgX19kZWNvcmF0ZSA9ICh0aGlzICYmIHRoaXMuX19kZWNvcmF0ZSkgfHwgZnVuY3Rpb24gKGRlY29yYXRvcnMsIHRhcmdldCwga2V5LCBkZXNjKSB7XG4gICAgdmFyIGMgPSBhcmd1bWVudHMubGVuZ3RoLCByID0gYyA8IDMgPyB0YXJnZXQgOiBkZXNjID09PSBudWxsID8gZGVzYyA9IE9iamVjdC5nZXRPd25Qcm9wZXJ0eURlc2NyaXB0b3IodGFyZ2V0LCBrZXkpIDogZGVzYywgZDtcbiAgICBpZiAodHlwZW9mIFJlZmxlY3QgPT09IFwib2JqZWN0XCIgJiYgdHlwZW9mIFJlZmxlY3QuZGVjb3JhdGUgPT09IFwiZnVuY3Rpb25cIikgciA9IFJlZmxlY3QuZGVjb3JhdGUoZGVjb3JhdG9ycywgdGFyZ2V0LCBrZXksIGRlc2MpO1xuICAgIGVsc2UgZm9yICh2YXIgaSA9IGRlY29yYXRvcnMubGVuZ3RoIC0gMTsgaSA+PSAwOyBpLS0pIGlmIChkID0gZGVjb3JhdG9yc1tpXSkgciA9IChjIDwgMyA/IGQocikgOiBjID4gMyA/IGQodGFyZ2V0LCBrZXksIHIpIDogZCh0YXJnZXQsIGtleSkpIHx8IHI7XG4gICAgcmV0dXJuIGMgPiAzICYmIHIgJiYgT2JqZWN0LmRlZmluZVByb3BlcnR5KHRhcmdldCwga2V5LCByKSwgcjtcbn07XG52YXIgX19tZXRhZGF0YSA9ICh0aGlzICYmIHRoaXMuX19tZXRhZGF0YSkgfHwgZnVuY3Rpb24gKGssIHYpIHtcbiAgICBpZiAodHlwZW9mIFJlZmxlY3QgPT09IFwib2JqZWN0XCIgJiYgdHlwZW9mIFJlZmxlY3QubWV0YWRhdGEgPT09IFwiZnVuY3Rpb25cIikgcmV0dXJuIFJlZmxlY3QubWV0YWRhdGEoaywgdik7XG59O1xuaW1wb3J0IHsgbWF4bGVuZ3RoLCBtaW5sZW5ndGgsIG1vZGVsLCByZXF1aXJlZCwgfSBmcm9tIFwiQGRlY2FmLXRzL2RlY29yYXRvci12YWxpZGF0aW9uXCI7XG5pbXBvcnQgeyBUYWJsZU5hbWVzIH0gZnJvbSBcIi4vY29uc3RhbnRzLmpzXCI7XG5pbXBvcnQgeyBjb2x1bW4sIGluZGV4LCBPcmRlckRpcmVjdGlvbiwgcGssIHRhYmxlIH0gZnJvbSBcIkBkZWNhZi10cy9jb3JlXCI7XG5pbXBvcnQgeyBjb21wb3NlZCB9IGZyb20gXCJAZGVjYWYtdHMvZGItZGVjb3JhdG9yc1wiO1xuaW1wb3J0IHsgZGVzY3JpcHRpb24sIHVzZXMgfSBmcm9tIFwiQGRlY2FmLXRzL2RlY29yYXRpb25cIjtcbmltcG9ydCB7IEJhc2VJZGVudGlmaWVkTW9kZWwgfSBmcm9tIFwiLi9CYXNlSWRlbnRpZmllZE1vZGVsLmpzXCI7XG5pbXBvcnQgeyBndGluIH0gZnJvbSBcIi4vZ3Rpbi5qc1wiO1xuaW1wb3J0IHsgRmFicmljRmxhdm91ciB9IGZyb20gXCIuLy4uLy4uL3NoYXJlZC9pbmRleC5qc1wiO1xubGV0IE1hcmtldCA9IGNsYXNzIE1hcmtldCBleHRlbmRzIEJhc2VJZGVudGlmaWVkTW9kZWwge1xuICAgIGNvbnN0cnVjdG9yKG1vZGVsKSB7XG4gICAgICAgIHN1cGVyKG1vZGVsKTtcbiAgICB9XG59O1xuX19kZWNvcmF0ZShbXG4gICAgcGsoeyB0eXBlOiBTdHJpbmcsIGdlbmVyYXRlZDogZmFsc2UgfSksXG4gICAgY29tcG9zZWQoW1wicHJvZHVjdENvZGVcIiwgXCJtYXJrZXRJZFwiXSwgXCI6XCIsIHRydWUpLFxuICAgIGRlc2NyaXB0aW9uKFwiVW5pcXVlIGlkZW50aWZpZXIgY29tcG9zZWQgb2YgcHJvZHVjdCBjb2RlIGFuZCBtYXJrZXQgSUQuXCIpLFxuICAgIF9fbWV0YWRhdGEoXCJkZXNpZ246dHlwZVwiLCBTdHJpbmcpXG5dLCBNYXJrZXQucHJvdG90eXBlLCBcImlkXCIsIHZvaWQgMCk7XG5fX2RlY29yYXRlKFtcbiAgICBjb2x1bW4oKSxcbiAgICByZXF1aXJlZCgpLFxuICAgIGluZGV4KFtPcmRlckRpcmVjdGlvbi5BU0MsIE9yZGVyRGlyZWN0aW9uLkRTQ10pLFxuICAgIGRlc2NyaXB0aW9uKFwiSWRlbnRpZmllciBvZiB0aGUgbWFya2V0IHdoZXJlIHRoZSBwcm9kdWN0IGlzIHJlZ2lzdGVyZWQgb3Igc29sZC5cIiksXG4gICAgX19tZXRhZGF0YShcImRlc2lnbjp0eXBlXCIsIFN0cmluZylcbl0sIE1hcmtldC5wcm90b3R5cGUsIFwibWFya2V0SWRcIiwgdm9pZCAwKTtcbl9fZGVjb3JhdGUoW1xuICAgIGNvbHVtbigpLFxuICAgIGd0aW4oKSxcbiAgICByZXF1aXJlZCgpLFxuICAgIF9fbWV0YWRhdGEoXCJkZXNpZ246dHlwZVwiLCBTdHJpbmcpXG5dLCBNYXJrZXQucHJvdG90eXBlLCBcInByb2R1Y3RDb2RlXCIsIHZvaWQgMCk7XG5fX2RlY29yYXRlKFtcbiAgICBjb2x1bW4oKSxcbiAgICBtaW5sZW5ndGgoMiksXG4gICAgbWF4bGVuZ3RoKDIpLFxuICAgIGRlc2NyaXB0aW9uKFwiVHdvLWxldHRlciBuYXRpb25hbCBjb2RlIChJU08gZm9ybWF0KSByZXByZXNlbnRpbmcgdGhlIG1hcmtldCdzIGNvdW50cnkuXCIpLFxuICAgIF9fbWV0YWRhdGEoXCJkZXNpZ246dHlwZVwiLCBTdHJpbmcpXG5dLCBNYXJrZXQucHJvdG90eXBlLCBcIm5hdGlvbmFsQ29kZVwiLCB2b2lkIDApO1xuX19kZWNvcmF0ZShbXG4gICAgY29sdW1uKCksXG4gICAgZGVzY3JpcHRpb24oXCJOYW1lIG9mIHRoZSBNYXJrZXRpbmcgQXV0aG9yaXphdGlvbiBIb2xkZXIgKE1BSCkuXCIpLFxuICAgIF9fbWV0YWRhdGEoXCJkZXNpZ246dHlwZVwiLCBTdHJpbmcpXG5dLCBNYXJrZXQucHJvdG90eXBlLCBcIm1haE5hbWVcIiwgdm9pZCAwKTtcbl9fZGVjb3JhdGUoW1xuICAgIGNvbHVtbigpLFxuICAgIGRlc2NyaXB0aW9uKFwiTmFtZSBvZiB0aGUgbGVnYWwgZW50aXR5IHJlc3BvbnNpYmxlIGZvciB0aGUgcHJvZHVjdCBpbiB0aGlzIG1hcmtldC5cIiksXG4gICAgX19tZXRhZGF0YShcImRlc2lnbjp0eXBlXCIsIFN0cmluZylcbl0sIE1hcmtldC5wcm90b3R5cGUsIFwibGVnYWxFbnRpdHlOYW1lXCIsIHZvaWQgMCk7XG5fX2RlY29yYXRlKFtcbiAgICBjb2x1bW4oKSxcbiAgICBkZXNjcmlwdGlvbihcIkFkZHJlc3Mgb2YgdGhlIE1hcmtldGluZyBBdXRob3JpemF0aW9uIEhvbGRlciBvciByZXNwb25zaWJsZSBsZWdhbCBlbnRpdHkuXCIpLFxuICAgIF9fbWV0YWRhdGEoXCJkZXNpZ246dHlwZVwiLCBTdHJpbmcpXG5dLCBNYXJrZXQucHJvdG90eXBlLCBcIm1haEFkZHJlc3NcIiwgdm9pZCAwKTtcbk1hcmtldCA9IF9fZGVjb3JhdGUoW1xuICAgIGRlc2NyaXB0aW9uKFwiTGlua3MgYSBwcm9kdWN0IHRvIGEgc3BlY2lmaWMgbWFya2V0LlwiKSxcbiAgICB1c2VzKEZhYnJpY0ZsYXZvdXIpLFxuICAgIHRhYmxlKFRhYmxlTmFtZXMuTWFya2V0KSxcbiAgICBtb2RlbCgpLFxuICAgIF9fbWV0YWRhdGEoXCJkZXNpZ246cGFyYW10eXBlc1wiLCBbT2JqZWN0XSlcbl0sIE1hcmtldCk7XG5leHBvcnQgeyBNYXJrZXQgfTtcbi8vIyBzb3VyY2VNYXBwaW5nVVJMPWRhdGE6YXBwbGljYXRpb24vanNvbjtiYXNlNjQsZXlKMlpYSnphVzl1SWpvekxDSm1hV3hsSWpvaVRXRnlhMlYwTG1weklpd2ljMjkxY21ObFVtOXZkQ0k2SWlJc0luTnZkWEpqWlhNaU9sc2lMaTR2TGk0dkxpNHZMaTR2YzNKakwyTnZiblJ5WVdOMEwyMXZaR1ZzY3k5TllYSnJaWFF1ZEhNaVhTd2libUZ0WlhNaU9sdGRMQ0p0WVhCd2FXNW5jeUk2SWpzN096czdPenM3TzBGQlEwRXNUMEZCVHl4RlFVTk1MRk5CUVZNc1JVRkRWQ3hUUVVGVExFVkJRMVFzUzBGQlN5eEZRVU5NTEZGQlFWRXNSMEZEVkN4TlFVRk5MR2REUVVGblF5eERRVUZETzBGQlEzaERMRTlCUVU4c1JVRkJSU3hWUVVGVkxFVkJRVVVzZFVKQlFXOUNPMEZCUTNwRExFOUJRVThzUlVGQlJTeE5RVUZOTEVWQlFVVXNTMEZCU3l4RlFVRkZMR05CUVdNc1JVRkJSU3hGUVVGRkxFVkJRVVVzUzBGQlN5eEZRVUZGTEUxQlFVMHNaMEpCUVdkQ0xFTkJRVU03UVVGRE1VVXNUMEZCVHl4RlFVRkZMRkZCUVZFc1JVRkJSU3hOUVVGTkxIbENRVUY1UWl4RFFVRkRPMEZCUTI1RUxFOUJRVThzUlVGQlJTeFhRVUZYTEVWQlFVVXNTVUZCU1N4RlFVRkZMRTFCUVUwc2MwSkJRWE5DTEVOQlFVTTdRVUZEZWtRc1QwRkJUeXhGUVVGRkxHMUNRVUZ0UWl4RlFVRkZMR2xEUVVFNFFqdEJRVU0xUkN4UFFVRlBMRVZCUVVVc1NVRkJTU3hGUVVGRkxHdENRVUZsTzBGQlF6bENMRTlCUVU4c1JVRkJSU3hoUVVGaExFVkJRVVVzWjBOQlFUSkNPMEZCVFRWRExFbEJRVTBzVFVGQlRTeEhRVUZhTEUxQlFVMHNUVUZCVHl4VFFVRlJMRzFDUVVGdFFqdEpRVEpETjBNc1dVRkJXU3hMUVVGM1FqdFJRVU5zUXl4TFFVRkxMRU5CUVVNc1MwRkJTeXhEUVVGRExFTkJRVU03U1VGRFppeERRVUZETzBOQlEwWXNRMEZCUVR0QlFURkRRenRKUVVoRExFVkJRVVVzUTBGQlF5eEZRVUZGTEVsQlFVa3NSVUZCUlN4TlFVRk5MRVZCUVVVc1UwRkJVeXhGUVVGRkxFdEJRVXNzUlVGQlJTeERRVUZETzBsQlEzUkRMRkZCUVZFc1EwRkJReXhEUVVGRExHRkJRV0VzUlVGQlJTeFZRVUZWTEVOQlFVTXNSVUZCUlN4SFFVRkhMRVZCUVVVc1NVRkJTU3hEUVVGRE8wbEJRMmhFTEZkQlFWY3NRMEZCUXl3eVJFRkJNa1FzUTBGQlF6czdhME5CUXpkRU8wRkJVVm83U1VGT1F5eE5RVUZOTEVWQlFVVTdTVUZEVWl4UlFVRlJMRVZCUVVVN1NVRkRWaXhMUVVGTExFTkJRVU1zUTBGQlF5eGpRVUZqTEVOQlFVTXNSMEZCUnl4RlFVRkZMR05CUVdNc1EwRkJReXhIUVVGSExFTkJRVU1zUTBGQlF6dEpRVU12UXl4WFFVRlhMRU5CUTFZc2JVVkJRVzFGTEVOQlEzQkZPenQzUTBGRGFVSTdRVUZMYkVJN1NVRklReXhOUVVGTkxFVkJRVVU3U1VGRFVpeEpRVUZKTEVWQlFVVTdTVUZEVGl4UlFVRlJMRVZCUVVVN096SkRRVU5WTzBGQlVYSkNPMGxCVGtNc1RVRkJUU3hGUVVGRk8wbEJRMUlzVTBGQlV5eERRVUZETEVOQlFVTXNRMEZCUXp0SlFVTmFMRk5CUVZNc1EwRkJReXhEUVVGRExFTkJRVU03U1VGRFdpeFhRVUZYTEVOQlExWXNNRVZCUVRCRkxFTkJRek5GT3pzMFEwRkRjVUk3UVVGSmRFSTdTVUZHUXl4TlFVRk5MRVZCUVVVN1NVRkRVaXhYUVVGWExFTkJRVU1zYlVSQlFXMUVMRU5CUVVNN08zVkRRVU5vUkR0QlFVMXFRanRKUVVwRExFMUJRVTBzUlVGQlJUdEpRVU5TTEZkQlFWY3NRMEZEVml4elJVRkJjMFVzUTBGRGRrVTdPeXREUVVOM1FqdEJRVTE2UWp0SlFVcERMRTFCUVUwc1JVRkJSVHRKUVVOU0xGZEJRVmNzUTBGRFZpdzBSVUZCTkVVc1EwRkROMFU3T3pCRFFVTnRRanRCUVhwRFZDeE5RVUZOTzBsQlNteENMRmRCUVZjc1EwRkJReXgxUTBGQmRVTXNRMEZCUXp0SlFVTndSQ3hKUVVGSkxFTkJRVU1zWVVGQllTeERRVUZETzBsQlEyNUNMRXRCUVVzc1EwRkJReXhWUVVGVkxFTkJRVU1zVFVGQlRTeERRVUZETzBsQlEzaENMRXRCUVVzc1JVRkJSVHM3UjBGRFN5eE5RVUZOTEVOQk9FTnNRaUlzSW5OdmRYSmpaWE5EYjI1MFpXNTBJanBiSW1sdGNHOXlkQ0IwZVhCbElIc2dUVzlrWld4QmNtY2dmU0JtY205dElGd2lRR1JsWTJGbUxYUnpMMlJsWTI5eVlYUnZjaTEyWVd4cFpHRjBhVzl1WENJN1hHNXBiWEJ2Y25RZ2UxeHVJQ0J0WVhoc1pXNW5kR2dzWEc0Z0lHMXBibXhsYm1kMGFDeGNiaUFnYlc5a1pXd3NYRzRnSUhKbGNYVnBjbVZrTEZ4dWZTQm1jbTl0SUZ3aVFHUmxZMkZtTFhSekwyUmxZMjl5WVhSdmNpMTJZV3hwWkdGMGFXOXVYQ0k3WEc1cGJYQnZjblFnZXlCVVlXSnNaVTVoYldWeklIMGdabkp2YlNCY0lpNHZZMjl1YzNSaGJuUnpYQ0k3WEc1cGJYQnZjblFnZXlCamIyeDFiVzRzSUdsdVpHVjRMQ0JQY21SbGNrUnBjbVZqZEdsdmJpd2djR3NzSUhSaFlteGxJSDBnWm5KdmJTQmNJa0JrWldOaFppMTBjeTlqYjNKbFhDSTdYRzVwYlhCdmNuUWdleUJqYjIxd2IzTmxaQ0I5SUdaeWIyMGdYQ0pBWkdWallXWXRkSE12WkdJdFpHVmpiM0poZEc5eWMxd2lPMXh1YVcxd2IzSjBJSHNnWkdWelkzSnBjSFJwYjI0c0lIVnpaWE1nZlNCbWNtOXRJRndpUUdSbFkyRm1MWFJ6TDJSbFkyOXlZWFJwYjI1Y0lqdGNibWx0Y0c5eWRDQjdJRUpoYzJWSlpHVnVkR2xtYVdWa1RXOWtaV3dnZlNCbWNtOXRJRndpTGk5Q1lYTmxTV1JsYm5ScFptbGxaRTF2WkdWc1hDSTdYRzVwYlhCdmNuUWdleUJuZEdsdUlIMGdabkp2YlNCY0lpNHZaM1JwYmx3aU8xeHVhVzF3YjNKMElIc2dSbUZpY21salJteGhkbTkxY2lCOUlHWnliMjBnWENJdUxpOHVMaTl6YUdGeVpXUXZhVzVrWlhoY0lqdGNibHh1UUdSbGMyTnlhWEIwYVc5dUtGd2lUR2x1YTNNZ1lTQndjbTlrZFdOMElIUnZJR0VnYzNCbFkybG1hV01nYldGeWEyVjBMbHdpS1Z4dVFIVnpaWE1vUm1GaWNtbGpSbXhoZG05MWNpbGNia0IwWVdKc1pTaFVZV0pzWlU1aGJXVnpMazFoY210bGRDbGNia0J0YjJSbGJDZ3BYRzVsZUhCdmNuUWdZMnhoYzNNZ1RXRnlhMlYwSUdWNGRHVnVaSE1nUW1GelpVbGtaVzUwYVdacFpXUk5iMlJsYkNCN1hHNGdJRUJ3YXloN0lIUjVjR1U2SUZOMGNtbHVaeXdnWjJWdVpYSmhkR1ZrT2lCbVlXeHpaU0I5S1Z4dUlDQkFZMjl0Y0c5elpXUW9XMXdpY0hKdlpIVmpkRU52WkdWY0lpd2dYQ0p0WVhKclpYUkpaRndpWFN3Z1hDSTZYQ0lzSUhSeWRXVXBYRzRnSUVCa1pYTmpjbWx3ZEdsdmJpaGNJbFZ1YVhGMVpTQnBaR1Z1ZEdsbWFXVnlJR052YlhCdmMyVmtJRzltSUhCeWIyUjFZM1FnWTI5a1pTQmhibVFnYldGeWEyVjBJRWxFTGx3aUtWeHVJQ0JwWkNFNklITjBjbWx1Wnp0Y2JseHVJQ0JBWTI5c2RXMXVLQ2xjYmlBZ1FISmxjWFZwY21Wa0tDbGNiaUFnUUdsdVpHVjRLRnRQY21SbGNrUnBjbVZqZEdsdmJpNUJVME1zSUU5eVpHVnlSR2x5WldOMGFXOXVMa1JUUTEwcFhHNGdJRUJrWlhOamNtbHdkR2x2YmloY2JpQWdJQ0JjSWtsa1pXNTBhV1pwWlhJZ2IyWWdkR2hsSUcxaGNtdGxkQ0IzYUdWeVpTQjBhR1VnY0hKdlpIVmpkQ0JwY3lCeVpXZHBjM1JsY21Wa0lHOXlJSE52YkdRdVhDSmNiaUFnS1Z4dUlDQnRZWEpyWlhSSlpDRTZJSE4wY21sdVp6dGNibHh1SUNCQVkyOXNkVzF1S0NsY2JpQWdRR2QwYVc0b0tWeHVJQ0JBY21WeGRXbHlaV1FvS1Z4dUlDQndjbTlrZFdOMFEyOWtaU0U2SUhOMGNtbHVaenRjYmx4dUlDQkFZMjlzZFcxdUtDbGNiaUFnUUcxcGJteGxibWQwYUNneUtWeHVJQ0JBYldGNGJHVnVaM1JvS0RJcFhHNGdJRUJrWlhOamNtbHdkR2x2YmloY2JpQWdJQ0JjSWxSM2J5MXNaWFIwWlhJZ2JtRjBhVzl1WVd3Z1kyOWtaU0FvU1ZOUElHWnZjbTFoZENrZ2NtVndjbVZ6Wlc1MGFXNW5JSFJvWlNCdFlYSnJaWFFuY3lCamIzVnVkSEo1TGx3aVhHNGdJQ2xjYmlBZ2JtRjBhVzl1WVd4RGIyUmxQem9nYzNSeWFXNW5PMXh1WEc0Z0lFQmpiMngxYlc0b0tWeHVJQ0JBWkdWelkzSnBjSFJwYjI0b1hDSk9ZVzFsSUc5bUlIUm9aU0JOWVhKclpYUnBibWNnUVhWMGFHOXlhWHBoZEdsdmJpQkliMnhrWlhJZ0tFMUJTQ2t1WENJcFhHNGdJRzFoYUU1aGJXVS9PaUJ6ZEhKcGJtYzdYRzVjYmlBZ1FHTnZiSFZ0YmlncFhHNGdJRUJrWlhOamNtbHdkR2x2YmloY2JpQWdJQ0JjSWs1aGJXVWdiMllnZEdobElHeGxaMkZzSUdWdWRHbDBlU0J5WlhOd2IyNXphV0pzWlNCbWIzSWdkR2hsSUhCeWIyUjFZM1FnYVc0Z2RHaHBjeUJ0WVhKclpYUXVYQ0pjYmlBZ0tWeHVJQ0JzWldkaGJFVnVkR2wwZVU1aGJXVS9PaUJ6ZEhKcGJtYzdYRzVjYmlBZ1FHTnZiSFZ0YmlncFhHNGdJRUJrWlhOamNtbHdkR2x2YmloY2JpQWdJQ0JjSWtGa1pISmxjM01nYjJZZ2RHaGxJRTFoY210bGRHbHVaeUJCZFhSb2IzSnBlbUYwYVc5dUlFaHZiR1JsY2lCdmNpQnlaWE53YjI1emFXSnNaU0JzWldkaGJDQmxiblJwZEhrdVhDSmNiaUFnS1Z4dUlDQnRZV2hCWkdSeVpYTnpQem9nYzNSeWFXNW5PMXh1WEc0Z0lHTnZibk4wY25WamRHOXlLRzF2WkdWc1B6b2dUVzlrWld4QmNtYzhUV0Z5YTJWMFBpa2dlMXh1SUNBZ0lITjFjR1Z5S0cxdlpHVnNLVHRjYmlBZ2ZWeHVmVnh1SWwxOSJdfQ==
80
+ //# sourceMappingURL=Market.js.map
81
+ //# sourceMappingURL=Market.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"Market.js","sourceRoot":"","sources":["Market.js"],"names":[],"mappings":";;;AAAA,IAAI,UAAU,GAAG,CAAC,IAAI,IAAI,IAAI,CAAC,UAAU,CAAC,IAAI,UAAU,UAAU,EAAE,MAAM,EAAE,GAAG,EAAE,IAAI;IACjF,IAAI,CAAC,GAAG,SAAS,CAAC,MAAM,EAAE,CAAC,GAAG,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,MAAM,CAAC,CAAC,CAAC,IAAI,KAAK,IAAI,CAAC,CAAC,CAAC,IAAI,GAAG,MAAM,CAAC,wBAAwB,CAAC,MAAM,EAAE,GAAG,CAAC,CAAC,CAAC,CAAC,IAAI,EAAE,CAAC,CAAC;IAC7H,IAAI,OAAO,OAAO,KAAK,QAAQ,IAAI,OAAO,OAAO,CAAC,QAAQ,KAAK,UAAU;QAAE,CAAC,GAAG,OAAO,CAAC,QAAQ,CAAC,UAAU,EAAE,MAAM,EAAE,GAAG,EAAE,IAAI,CAAC,CAAC;;QAC1H,KAAK,IAAI,CAAC,GAAG,UAAU,CAAC,MAAM,GAAG,CAAC,EAAE,CAAC,IAAI,CAAC,EAAE,CAAC,EAAE;YAAE,IAAI,CAAC,GAAG,UAAU,CAAC,CAAC,CAAC;gBAAE,CAAC,GAAG,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,MAAM,EAAE,GAAG,EAAE,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,MAAM,EAAE,GAAG,CAAC,CAAC,IAAI,CAAC,CAAC;IAClJ,OAAO,CAAC,GAAG,CAAC,IAAI,CAAC,IAAI,MAAM,CAAC,cAAc,CAAC,MAAM,EAAE,GAAG,EAAE,CAAC,CAAC,EAAE,CAAC,CAAC;AAClE,CAAC,CAAC;AACF,IAAI,UAAU,GAAG,CAAC,IAAI,IAAI,IAAI,CAAC,UAAU,CAAC,IAAI,UAAU,CAAC,EAAE,CAAC;IACxD,IAAI,OAAO,OAAO,KAAK,QAAQ,IAAI,OAAO,OAAO,CAAC,QAAQ,KAAK,UAAU;QAAE,OAAO,OAAO,CAAC,QAAQ,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC;AAC7G,CAAC,CAAC;AACF,yEAAwF;AACxF,iDAA4C;AAC5C,yCAA0E;AAC1E,2DAAmD;AACnD,qDAAyD;AACzD,qEAA+D;AAC/D,uCAAiC;AACjC,sDAAwD;AACxD,IAAI,MAAM,GAAG,MAAM,MAAO,SAAQ,4CAAmB;IACjD,YAAY,KAAK;QACb,KAAK,CAAC,KAAK,CAAC,CAAC;IACjB,CAAC;CACJ,CAAC;AAiDO,wBAAM;AAhDf,UAAU,CAAC;IACP,IAAA,SAAE,EAAC,EAAE,IAAI,EAAE,MAAM,EAAE,SAAS,EAAE,KAAK,EAAE,CAAC;IACtC,IAAA,wBAAQ,EAAC,CAAC,aAAa,EAAE,UAAU,CAAC,EAAE,GAAG,EAAE,IAAI,CAAC;IAChD,IAAA,wBAAW,EAAC,2DAA2D,CAAC;IACxE,UAAU,CAAC,aAAa,EAAE,MAAM,CAAC;CACpC,EAAE,MAAM,CAAC,SAAS,EAAE,IAAI,EAAE,KAAK,CAAC,CAAC,CAAC;AACnC,UAAU,CAAC;IACP,IAAA,aAAM,GAAE;IACR,IAAA,+BAAQ,GAAE;IACV,IAAA,YAAK,EAAC,CAAC,qBAAc,CAAC,GAAG,EAAE,qBAAc,CAAC,GAAG,CAAC,CAAC;IAC/C,IAAA,wBAAW,EAAC,mEAAmE,CAAC;IAChF,UAAU,CAAC,aAAa,EAAE,MAAM,CAAC;CACpC,EAAE,MAAM,CAAC,SAAS,EAAE,UAAU,EAAE,KAAK,CAAC,CAAC,CAAC;AACzC,UAAU,CAAC;IACP,IAAA,aAAM,GAAE;IACR,IAAA,cAAI,GAAE;IACN,IAAA,+BAAQ,GAAE;IACV,UAAU,CAAC,aAAa,EAAE,MAAM,CAAC;CACpC,EAAE,MAAM,CAAC,SAAS,EAAE,aAAa,EAAE,KAAK,CAAC,CAAC,CAAC;AAC5C,UAAU,CAAC;IACP,IAAA,aAAM,GAAE;IACR,IAAA,gCAAS,EAAC,CAAC,CAAC;IACZ,IAAA,gCAAS,EAAC,CAAC,CAAC;IACZ,IAAA,wBAAW,EAAC,0EAA0E,CAAC;IACvF,UAAU,CAAC,aAAa,EAAE,MAAM,CAAC;CACpC,EAAE,MAAM,CAAC,SAAS,EAAE,cAAc,EAAE,KAAK,CAAC,CAAC,CAAC;AAC7C,UAAU,CAAC;IACP,IAAA,aAAM,GAAE;IACR,IAAA,wBAAW,EAAC,mDAAmD,CAAC;IAChE,UAAU,CAAC,aAAa,EAAE,MAAM,CAAC;CACpC,EAAE,MAAM,CAAC,SAAS,EAAE,SAAS,EAAE,KAAK,CAAC,CAAC,CAAC;AACxC,UAAU,CAAC;IACP,IAAA,aAAM,GAAE;IACR,IAAA,wBAAW,EAAC,sEAAsE,CAAC;IACnF,UAAU,CAAC,aAAa,EAAE,MAAM,CAAC;CACpC,EAAE,MAAM,CAAC,SAAS,EAAE,iBAAiB,EAAE,KAAK,CAAC,CAAC,CAAC;AAChD,UAAU,CAAC;IACP,IAAA,aAAM,GAAE;IACR,IAAA,wBAAW,EAAC,4EAA4E,CAAC;IACzF,UAAU,CAAC,aAAa,EAAE,MAAM,CAAC;CACpC,EAAE,MAAM,CAAC,SAAS,EAAE,YAAY,EAAE,KAAK,CAAC,CAAC,CAAC;AAC3C,iBAAA,MAAM,GAAG,UAAU,CAAC;IAChB,IAAA,wBAAW,EAAC,uCAAuC,CAAC;IACpD,IAAA,iBAAI,EAAC,wBAAa,CAAC;IACnB,IAAA,YAAK,EAAC,yBAAU,CAAC,MAAM,CAAC;IACxB,IAAA,4BAAK,GAAE;IACP,UAAU,CAAC,mBAAmB,EAAE,CAAC,MAAM,CAAC,CAAC;CAC5C,EAAE,MAAM,CAAC,CAAC;AAEX,kCAAkC"}
@@ -120,5 +120,5 @@ exports.OtherAudit = OtherAudit = __decorate([
120
120
  (0, decorator_validation_1.model)(),
121
121
  __metadata("design:paramtypes", [Object])
122
122
  ], OtherAudit);
123
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiT3RoZXJBdWRpdC5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uL3NyYy9jb250cmFjdC9tb2RlbHMvT3RoZXJBdWRpdC50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiOzs7Ozs7Ozs7QUFBQSxPQUFPLEVBQ0wsS0FBSyxFQUVMLFFBQVEsRUFDUixJQUFJLEdBQ0wsTUFBTSxnQ0FBZ0MsQ0FBQztBQUN4QyxPQUFPLEVBQ0wsZUFBZSxFQUNmLGFBQWEsRUFDYixhQUFhLEVBQ2IsUUFBUSxFQUNSLFNBQVMsR0FDVixNQUFNLHlCQUF5QixDQUFDO0FBQ2pDLE9BQU8sRUFBRSxXQUFXLEVBQUUsSUFBSSxFQUFFLE1BQU0sc0JBQXNCLENBQUM7QUFDekQsT0FBTyxFQUNMLEtBQUssRUFDTCxFQUFFLEVBQ0YsU0FBUyxFQUNULE1BQU0sRUFDTixjQUFjLEVBQ2QsS0FBSyxFQUNMLElBQUksRUFFSixnQkFBZ0IsR0FDakIsTUFBTSxnQkFBZ0IsQ0FBQztBQUN4QixPQUFPLEVBQUUsU0FBUyxFQUFFLHVCQUFvQjtBQUN4QyxPQUFPLEVBQUUsZUFBZSxFQUFFLHVCQUFvQjtBQUM5QyxPQUFPLEVBQ0wsYUFBYSxFQUNiLE1BQU0sRUFDTixtQkFBbUIsRUFDbkIsT0FBTyxFQUNQLFVBQVUsRUFDVixhQUFhLEdBQ2QsZ0NBQTJCO0FBRTVCLDZEQUE2RDtBQUM3RCxTQUFTLFFBQVEsQ0FBQyxDQUFhLEVBQUUsR0FBRyxJQUF5QjtJQUMzRCxJQUFJLENBQUM7UUFDSCxPQUFPLEdBQUcsQ0FBQyxDQUFDLEtBQUssR0FBRyxDQUFDLENBQUMsTUFBTSxHQUFHLENBQUMsQ0FBQyxRQUFRLEdBQUcsQ0FBQyxDQUFDLE1BQU0sR0FBRyxDQUFDLENBQUMsV0FBVyxHQUFHLElBQUksQ0FBQyxTQUFTLENBQUMsQ0FBQyxDQUFDLEtBQUssQ0FBQyxFQUFFLENBQUM7SUFDbkcsQ0FBQztJQUFDLE9BQU8sQ0FBVSxFQUFFLENBQUM7UUFDcEIsTUFBTSxJQUFJLGFBQWEsQ0FBQywwQ0FBMEMsQ0FBQyxFQUFFLENBQUMsQ0FBQztJQUN6RSxDQUFDO0FBQ0gsQ0FBQztBQVlNLElBQU0sVUFBVSxHQUFoQixNQUFNLFVBQVcsU0FBUSxTQUFTO0lBOER2QyxZQUFZLEtBQTRCO1FBQ3RDLEtBQUssQ0FBQyxLQUFLLENBQUMsQ0FBQztJQUNmLENBQUM7Q0FDRixDQUFBO0FBNURDO0lBSkMsRUFBRSxFQUFFO0lBQ0osSUFBSSxDQUFDLFFBQVEsQ0FBQztJQUNkLE1BQU0sQ0FBQyxtQkFBbUIsRUFBRSxzQkFBc0IsQ0FBQztJQUNuRCxXQUFXLENBQUMsd0NBQXdDLENBQUM7O3NDQUMxQztBQVFaO0lBTkMsTUFBTSxFQUFFO0lBQ1IsUUFBUSxFQUFFO0lBQ1YsUUFBUSxFQUFFO0lBQ1YsS0FBSyxDQUFDLENBQUMsY0FBYyxDQUFDLEdBQUcsRUFBRSxjQUFjLENBQUMsR0FBRyxDQUFDLENBQUM7SUFDL0MsV0FBVyxDQUFDLHFDQUFxQyxDQUFDO0lBQ2xELGdCQUFnQixFQUFFOzt5Q0FDSjtBQVFmO0lBTkMsTUFBTSxFQUFFO0lBQ1IsUUFBUSxFQUFFO0lBQ1YsUUFBUSxFQUFFO0lBQ1YsSUFBSSxDQUFDLE1BQU0sQ0FBQztJQUNaLEtBQUssQ0FBQyxDQUFDLGNBQWMsQ0FBQyxHQUFHLEVBQUUsY0FBYyxDQUFDLEdBQUcsQ0FBQyxDQUFDO0lBQy9DLFdBQVcsQ0FBQyx1Q0FBdUMsQ0FBQzs7MENBQzVCO0FBT3pCO0lBTEMsV0FBVyxDQUFDLHlDQUF5QyxDQUFDO0lBQ3RELE1BQU0sRUFBRTtJQUNSLEtBQUssQ0FBQyxDQUFDLGNBQWMsQ0FBQyxHQUFHLEVBQUUsY0FBYyxDQUFDLEdBQUcsQ0FBQyxDQUFDO0lBQy9DLFFBQVEsRUFBRTtJQUNWLGdCQUFnQixFQUFFOzs0Q0FDRDtBQU9sQjtJQUxDLE1BQU0sRUFBRTtJQUNSLFNBQVMsRUFBRTtJQUNYLEtBQUssQ0FBQyxDQUFDLGNBQWMsQ0FBQyxHQUFHLEVBQUUsY0FBYyxDQUFDLEdBQUcsQ0FBQyxDQUFDO0lBQy9DLFdBQVcsQ0FBQyxrREFBa0QsQ0FBQztJQUMvRCxnQkFBZ0IsRUFBRTs7MENBQ0g7QUFRaEI7SUFOQyxNQUFNLEVBQUU7SUFDUixRQUFRLEVBQUU7SUFDVixRQUFRLEVBQUU7SUFDVixJQUFJLENBQUMsTUFBTSxDQUFDO0lBQ1osS0FBSyxDQUFDLENBQUMsY0FBYyxDQUFDLEdBQUcsRUFBRSxjQUFjLENBQUMsR0FBRyxDQUFDLENBQUM7SUFDL0MsV0FBVyxDQUFDLHFEQUFxRCxDQUFDOzs2Q0FDaEQ7QUFPbkI7SUFMQyxNQUFNLEVBQUU7SUFDUixRQUFRLEVBQUU7SUFDVixRQUFRLEVBQUU7SUFDVixhQUFhLEVBQUU7SUFDZixXQUFXLENBQUMsaURBQWlELENBQUM7OytDQUMxQztBQU1yQjtJQUpDLE1BQU0sRUFBRTtJQUNSLFFBQVEsRUFBRTtJQUNWLFNBQVMsRUFBRTtJQUNYLFdBQVcsQ0FBQywyQkFBMkIsQ0FBQzs7eUNBQ2I7QUFJNUI7SUFGQyxPQUFPLEVBQUU7SUFDVCxXQUFXLENBQUMsa0NBQWtDLENBQUM7O3lDQUNqQztBQTVESixVQUFVO0lBVnRCLFdBQVcsQ0FBQywyQ0FBMkMsQ0FBQztJQUN4RCxlQUFlLENBQUM7UUFDZix3QkFBd0I7UUFDeEIsYUFBYSxDQUFDLE1BQU07UUFDcEIsYUFBYSxDQUFDLE1BQU07S0FDckIsQ0FBQztJQUNELElBQUksQ0FBQyxhQUFhLENBQUM7SUFDbkIsVUFBVSxDQUFDLG1CQUFtQixDQUFDLGlCQUFpQixDQUFDLENBQUM7SUFDbEQsS0FBSyxDQUFDLE9BQU8sQ0FBQztJQUNkLEtBQUssRUFBRTs7R0FDSyxVQUFVLENBaUV0QiIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7XG4gIG1vZGVsLFxuICB0eXBlIE1vZGVsQXJnLFxuICByZXF1aXJlZCxcbiAgdHlwZSxcbn0gZnJvbSBcIkBkZWNhZi10cy9kZWNvcmF0b3ItdmFsaWRhdGlvblwiO1xuaW1wb3J0IHtcbiAgQmxvY2tPcGVyYXRpb25zLFxuICBJbnRlcm5hbEVycm9yLFxuICBPcGVyYXRpb25LZXlzLFxuICByZWFkb25seSxcbiAgc2VyaWFsaXplLFxufSBmcm9tIFwiQGRlY2FmLXRzL2RiLWRlY29yYXRvcnNcIjtcbmltcG9ydCB7IGRlc2NyaXB0aW9uLCB1c2VzIH0gZnJvbSBcIkBkZWNhZi10cy9kZWNvcmF0aW9uXCI7XG5pbXBvcnQge1xuICB0YWJsZSxcbiAgcGssXG4gIGNyZWF0ZWRCeSxcbiAgY29sdW1uLFxuICBPcmRlckRpcmVjdGlvbixcbiAgaW5kZXgsXG4gIHV1aWQsXG4gIENvbnRleHR1YWxBcmdzLFxuICBkZWZhdWx0UXVlcnlBdHRyLFxufSBmcm9tIFwiQGRlY2FmLXRzL2NvcmVcIjtcbmltcG9ydCB7IEJhc2VNb2RlbCB9IGZyb20gXCIuL0Jhc2VNb2RlbFwiO1xuaW1wb3J0IHsgQXVkaXRPcGVyYXRpb25zIH0gZnJvbSBcIi4vY29uc3RhbnRzXCI7XG5pbXBvcnQge1xuICBGYWJyaWNGbGF2b3VyLFxuICBtaXJyb3IsXG4gIE5hbWVzcGFjZUNvbGxlY3Rpb24sXG4gIG93bmVkQnksXG4gIHNoYXJlZERhdGEsXG4gIHRyYW5zYWN0aW9uSWQsXG59IGZyb20gXCIuLi8uLi9zaGFyZWQvaW5kZXhcIjtcblxuLy8gZXNsaW50LWRpc2FibGUtbmV4dC1saW5lIEB0eXBlc2NyaXB0LWVzbGludC9uby11bnVzZWQtdmFyc1xuZnVuY3Rpb24gdXVpZFNlZWQobTogT3RoZXJBdWRpdCwgLi4uYXJnczogQ29udGV4dHVhbEFyZ3M8YW55Pikge1xuICB0cnkge1xuICAgIHJldHVybiBgJHttLm1vZGVsfSR7bS5hY3Rpb259JHttLnJlY29yZElkfSR7bS51c2VySWR9JHttLnRyYW5zYWN0aW9ufSR7SlNPTi5zdHJpbmdpZnkobS5kaWZmcyl9YDtcbiAgfSBjYXRjaCAoZTogdW5rbm93bikge1xuICAgIHRocm93IG5ldyBJbnRlcm5hbEVycm9yKGBGYWlsZWQgdG8gZ2VuZXJhdGUgZGV0ZXJtaW5pc3RpYyB1dWlkOiAke2V9YCk7XG4gIH1cbn1cblxuQGRlc2NyaXB0aW9uKFwiTG9ncyB1c2VyIGFjdGl2aXR5IGZvciBhdWRpdGluZyBwdXJwb3Nlcy5cIilcbkBCbG9ja09wZXJhdGlvbnMoW1xuICAvLyBPcGVyYXRpb25LZXlzLkNSRUFURSxcbiAgT3BlcmF0aW9uS2V5cy5VUERBVEUsXG4gIE9wZXJhdGlvbktleXMuREVMRVRFLFxuXSlcbkB1c2VzKEZhYnJpY0ZsYXZvdXIpXG5Ac2hhcmVkRGF0YShOYW1lc3BhY2VDb2xsZWN0aW9uKFwiZGVjYWYtbmFtZXNwYWNlXCIpKVxuQHRhYmxlKFwiYXVkaXRcIilcbkBtb2RlbCgpXG5leHBvcnQgY2xhc3MgT3RoZXJBdWRpdCBleHRlbmRzIEJhc2VNb2RlbCB7XG4gIEBwaygpXG4gIEB1dWlkKHV1aWRTZWVkKVxuICBAbWlycm9yKFwibWlycm9yLWNvbGxlY3Rpb25cIiwgXCJQaGFybWFsZWRnZXJhc3NvY01TUFwiKVxuICBAZGVzY3JpcHRpb24oXCJVbmlxdWUgaWRlbnRpZmllciBvZiB0aGUgYXVkaXQgcmVjb3JkLlwiKVxuICBpZCE6IHN0cmluZztcblxuICBAY29sdW1uKClcbiAgQHJlcXVpcmVkKClcbiAgQHJlYWRvbmx5KClcbiAgQGluZGV4KFtPcmRlckRpcmVjdGlvbi5BU0MsIE9yZGVyRGlyZWN0aW9uLkRTQ10pXG4gIEBkZXNjcmlwdGlvbihcIm1vZGVsL2VudGl0eSBhZmZlY3RlZCBieSB0aGUgYWN0aW9uXCIpXG4gIEBkZWZhdWx0UXVlcnlBdHRyKClcbiAgbW9kZWwhOiBzdHJpbmc7XG5cbiAgQGNvbHVtbigpXG4gIEByZXF1aXJlZCgpXG4gIEByZWFkb25seSgpXG4gIEB0eXBlKFN0cmluZylcbiAgQGluZGV4KFtPcmRlckRpcmVjdGlvbi5BU0MsIE9yZGVyRGlyZWN0aW9uLkRTQ10pXG4gIEBkZXNjcmlwdGlvbihcIlR5cGUgb2YgYWN0aW9uIHBlcmZvcm1lZCBieSB0aGUgdXNlci5cIilcbiAgYWN0aW9uITogQXVkaXRPcGVyYXRpb25zO1xuXG4gIEBkZXNjcmlwdGlvbihcIklkIGZyb20gdGhlIG1vZGVsIHJlY29yZGVkIGluIHRoZSBhdWRpdFwiKVxuICBAY29sdW1uKClcbiAgQGluZGV4KFtPcmRlckRpcmVjdGlvbi5BU0MsIE9yZGVyRGlyZWN0aW9uLkRTQ10pXG4gIEByZXF1aXJlZCgpXG4gIEBkZWZhdWx0UXVlcnlBdHRyKClcbiAgcmVjb3JkSWQhOiBzdHJpbmc7XG5cbiAgQGNvbHVtbigpXG4gIEBjcmVhdGVkQnkoKVxuICBAaW5kZXgoW09yZGVyRGlyZWN0aW9uLkFTQywgT3JkZXJEaXJlY3Rpb24uRFNDXSlcbiAgQGRlc2NyaXB0aW9uKFwiSWRlbnRpZmllciBvZiB0aGUgdXNlciB3aG8gcGVyZm9ybWVkIHRoZSBhY3Rpb24uXCIpXG4gIEBkZWZhdWx0UXVlcnlBdHRyKClcbiAgdXNlcklkITogc3RyaW5nO1xuXG4gIEBjb2x1bW4oKVxuICBAcmVxdWlyZWQoKVxuICBAcmVhZG9ubHkoKVxuICBAdHlwZShTdHJpbmcpXG4gIEBpbmRleChbT3JkZXJEaXJlY3Rpb24uQVNDLCBPcmRlckRpcmVjdGlvbi5EU0NdKVxuICBAZGVzY3JpcHRpb24oXCJHcm91cCBvciByb2xlIG9mIHRoZSB1c2VyIHdobyBwZXJmb3JtZWQgdGhlIGFjdGlvbi5cIilcbiAgdXNlckdyb3VwITogc3RyaW5nO1xuXG4gIEBjb2x1bW4oKVxuICBAcmVxdWlyZWQoKVxuICBAcmVhZG9ubHkoKVxuICBAdHJhbnNhY3Rpb25JZCgpXG4gIEBkZXNjcmlwdGlvbihcInRoZSB0cmFuc2FjdGlvbiB0aGUgYXVkaXQgcmVjb3JkIHdhcyBjcmVhdGVkIGluXCIpXG4gIHRyYW5zYWN0aW9uITogc3RyaW5nO1xuXG4gIEBjb2x1bW4oKVxuICBAcmVhZG9ubHkoKVxuICBAc2VyaWFsaXplKClcbiAgQGRlc2NyaXB0aW9uKFwidGhlIGRpZmZzIGZvciB0aGUgYWN0aW9uLlwiKVxuICBkaWZmcz86IFJlY29yZDxzdHJpbmcsIGFueT47XG5cbiAgQG93bmVkQnkoKVxuICBAZGVzY3JpcHRpb24oXCJ0aGUgb3duZXIgKG1zcCkgb2YgdGhlIGF1ZGl0IGxvZ1wiKVxuICBvd25lciE6IHN0cmluZztcblxuICBjb25zdHJ1Y3Rvcihtb2RlbD86IE1vZGVsQXJnPE90aGVyQXVkaXQ+KSB7XG4gICAgc3VwZXIobW9kZWwpO1xuICB9XG59XG4iXX0=
124
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiT3RoZXJBdWRpdC5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIk90aGVyQXVkaXQuanMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6Ijs7O0FBQUEsSUFBSSxVQUFVLEdBQUcsQ0FBQyxJQUFJLElBQUksSUFBSSxDQUFDLFVBQVUsQ0FBQyxJQUFJLFVBQVUsVUFBVSxFQUFFLE1BQU0sRUFBRSxHQUFHLEVBQUUsSUFBSTtJQUNqRixJQUFJLENBQUMsR0FBRyxTQUFTLENBQUMsTUFBTSxFQUFFLENBQUMsR0FBRyxDQUFDLEdBQUcsQ0FBQyxDQUFDLENBQUMsQ0FBQyxNQUFNLENBQUMsQ0FBQyxDQUFDLElBQUksS0FBSyxJQUFJLENBQUMsQ0FBQyxDQUFDLElBQUksR0FBRyxNQUFNLENBQUMsd0JBQXdCLENBQUMsTUFBTSxFQUFFLEdBQUcsQ0FBQyxDQUFDLENBQUMsQ0FBQyxJQUFJLEVBQUUsQ0FBQyxDQUFDO0lBQzdILElBQUksT0FBTyxPQUFPLEtBQUssUUFBUSxJQUFJLE9BQU8sT0FBTyxDQUFDLFFBQVEsS0FBSyxVQUFVO1FBQUUsQ0FBQyxHQUFHLE9BQU8sQ0FBQyxRQUFRLENBQUMsVUFBVSxFQUFFLE1BQU0sRUFBRSxHQUFHLEVBQUUsSUFBSSxDQUFDLENBQUM7O1FBQzFILEtBQUssSUFBSSxDQUFDLEdBQUcsVUFBVSxDQUFDLE1BQU0sR0FBRyxDQUFDLEVBQUUsQ0FBQyxJQUFJLENBQUMsRUFBRSxDQUFDLEVBQUU7WUFBRSxJQUFJLENBQUMsR0FBRyxVQUFVLENBQUMsQ0FBQyxDQUFDO2dCQUFFLENBQUMsR0FBRyxDQUFDLENBQUMsR0FBRyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxHQUFHLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLE1BQU0sRUFBRSxHQUFHLEVBQUUsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxNQUFNLEVBQUUsR0FBRyxDQUFDLENB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LEVBQUUsVUFBVSxDQUFDLENBQUM7QUFFZiw4c09BQThzTyIsInNvdXJjZXNDb250ZW50IjpbInZhciBfX2RlY29yYXRlID0gKHRoaXMgJiYgdGhpcy5fX2RlY29yYXRlKSB8fCBmdW5jdGlvbiAoZGVjb3JhdG9ycywgdGFyZ2V0LCBrZXksIGRlc2MpIHtcbiAgICB2YXIgYyA9IGFyZ3VtZW50cy5sZW5ndGgsIHIgPSBjIDwgMyA/IHRhcmdldCA6IGRlc2MgPT09IG51bGwgPyBkZXNjID0gT2JqZWN0LmdldE93blByb3BlcnR5RGVzY3JpcHRvcih0YXJnZXQsIGtleSkgOiBkZXNjLCBkO1xuICAgIGlmICh0eXBlb2YgUmVmbGVjdCA9PT0gXCJvYmplY3RcIiAmJiB0eXBlb2YgUmVmbGVjdC5kZWNvcmF0ZSA9PT0gXCJmdW5jdGlvblwiKSByID0gUmVmbGVjdC5kZWNvcmF0ZShkZWNvcmF0b3JzLCB0YXJnZXQsIGtleSwgZGVzYyk7XG4gICAgZWxzZSBmb3IgKHZhciBpID0gZGVjb3JhdG9ycy5sZW5ndGggLSAxOyBpID49IDA7IGktLSkgaWYgKGQgPSBkZWNvcmF0b3JzW2ldKSByID0gKGMgPCAzID8gZChyKSA6IGMgPiAzID8gZCh0YXJnZXQsIGtleSwgcikgOiBkKHRhcmdldCwga2V5KSkgfHwgcjtcbiAgICByZXR1cm4gYyA+IDMgJiYgciAmJiBPYmplY3QuZGVmaW5lUHJvcGVydHkodGFyZ2V0LCBrZXksIHIpLCByO1xufTtcbnZhciBfX21ldGFkYXRhID0gKHRoaXMgJiYgdGhpcy5fX21ldGFkYXRhKSB8fCBmdW5jdGlvbiAoaywgdikge1xuICAgIGlmICh0eXBlb2YgUmVmbGVjdCA9PT0gXCJvYmplY3RcIiAmJiB0eXBlb2YgUmVmbGVjdC5tZXRhZGF0YSA9PT0gXCJmdW5jdGlvblwiKSByZXR1cm4gUmVmbGVjdC5tZXRhZGF0YShrLCB2KTtcbn07XG5pbXBvcnQgeyBtb2RlbCwgcmVxdWlyZWQsIHR5cGUsIH0gZnJvbSBcIkBkZWNhZi10cy9kZWNvcmF0b3ItdmFsaWRhdGlvblwiO1xuaW1wb3J0IHsgQmxvY2tPcGVyYXRpb25zLCBJbnRlcm5hbEVycm9yLCBPcGVyYXRpb25LZXlzLCByZWFkb25seSwgc2VyaWFsaXplLCB9IGZyb20gXCJAZGVjYWYtdHMvZGItZGVjb3JhdG9yc1wiO1xuaW1wb3J0IHsgZGVzY3JpcHRpb24sIHVzZXMgfSBmcm9tIFwiQGRlY2FmLXRzL2RlY29yYXRpb25cIjtcbmltcG9ydCB7IHRhYmxlLCBwaywgY3JlYXRlZEJ5LCBjb2x1bW4sIE9yZGVyRGlyZWN0aW9uLCBpbmRleCwgdXVpZCwgZGVmYXVsdFF1ZXJ5QXR0ciwgfSBmcm9tIFwiQGRlY2FmLXRzL2NvcmVcIjtcbmltcG9ydCB7IEJhc2VNb2RlbCB9IGZyb20gXCIuL0Jhc2VNb2RlbC5qc1wiO1xuaW1wb3J0IHsgQXVkaXRPcGVyYXRpb25zIH0gZnJvbSBcIi4vY29uc3RhbnRzLmpzXCI7XG5pbXBvcnQgeyBGYWJyaWNGbGF2b3VyLCBtaXJyb3IsIE5hbWVzcGFjZUNvbGxlY3Rpb24sIG93bmVkQnksIHNoYXJlZERhdGEsIHRyYW5zYWN0aW9uSWQsIH0gZnJvbSBcIi4vLi4vLi4vc2hhcmVkL2luZGV4LmpzXCI7XG4vLyBlc2xpbnQtZGlzYWJsZS1uZXh0LWxpbmUgQHR5cGVzY3JpcHQtZXNsaW50L25vLXVudXNlZC12YXJzXG5mdW5jdGlvbiB1dWlkU2VlZChtLCAuLi5hcmdzKSB7XG4gICAgdHJ5IHtcbiAgICAgICAgcmV0dXJuIGAke20ubW9kZWx9JHttLmFjdGlvbn0ke20ucmVjb3JkSWR9JHttLnVzZXJJZH0ke20udHJhbnNhY3Rpb259JHtKU09OLnN0cmluZ2lmeShtLmRpZmZzKX1gO1xuICAgIH1cbiAgICBjYXRjaCAoZSkge1xuICAgICAgICB0aHJvdyBuZXcgSW50ZXJuYWxFcnJvcihgRmFpbGVkIHRvIGdlbmVyYXRlIGRldGVybWluaXN0aWMgdXVpZDogJHtlfWApO1xuICAgIH1cbn1cbmxldCBPdGhlckF1ZGl0ID0gY2xhc3MgT3RoZXJBdWRpdCBleHRlbmRzIEJhc2VNb2RlbCB7XG4gICAgY29uc3RydWN0b3IobW9kZWwpIHtcbiAgICAgICAgc3VwZXIobW9kZWwpO1xuICAgIH1cbn07XG5fX2RlY29yYXRlKFtcbiAgICBwaygpLFxuICAgIHV1aWQodXVpZFNlZWQpLFxuICAgIG1pcnJvcihcIm1pcnJvci1jb2xsZWN0aW9uXCIsIFwiUGhhcm1hbGVkZ2VyYXNzb2NNU1BcIiksXG4gICAgZGVzY3JpcHRpb24oXCJVbmlxdWUgaWRlbnRpZmllciBvZiB0aGUgYXVkaXQgcmVjb3JkLlwiKSxcbiAgICBfX21ldGFkYXRhKFwiZGVzaWduOnR5cGVcIiwgU3RyaW5nKVxuXSwgT3RoZXJBdWRpdC5wcm90b3R5cGUsIFwiaWRcIiwgdm9pZCAwKTtcbl9fZGVjb3JhdGUoW1xuICAgIGNvbHVtbigpLFxuICAgIHJlcXVpcmVkKCksXG4gICAgcmVhZG9ubHkoKSxcbiAgICBpbmRleChbT3JkZXJEaXJlY3Rpb24uQVNDLCBPcmRlckRpcmVjdGlvbi5EU0NdKSxcbiAgICBkZXNjcmlwdGlvbihcIm1vZGVsL2VudGl0eSBhZmZlY3RlZCBieSB0aGUgYWN0aW9uXCIpLFxuICAgIGRlZmF1bHRRdWVyeUF0dHIoKSxcbiAgICBfX21ldGFkYXRhKFwiZGVzaWduOnR5cGVcIiwgU3RyaW5nKVxuXSwgT3RoZXJBdWRpdC5wcm90b3R5cGUsIFwibW9kZWxcIiwgdm9pZCAwKTtcbl9fZGVjb3JhdGUoW1xuICAgIGNvbHVtbigpLFxuICAgIHJlcXVpcmVkKCksXG4gICAgcmVhZG9ubHkoKSxcbiAgICB0eXBlKFN0cmluZyksXG4gICAgaW5kZXgoW09yZGVyRGlyZWN0aW9uLkFTQywgT3JkZXJEaXJlY3Rpb24uRFNDXSksXG4gICAgZGVzY3JpcHRpb24oXCJUeXBlIG9mIGFjdGlvbiBwZXJmb3JtZWQgYnkgdGhlIHVzZXIuXCIpLFxuICAgIF9fbWV0YWRhdGEoXCJkZXNpZ246dHlwZVwiLCBTdHJpbmcpXG5dLCBPdGhlckF1ZGl0LnByb3RvdHlwZSwgXCJhY3Rpb25cIiwgdm9pZCAwKTtcbl9fZGVjb3JhdGUoW1xuICAgIGRlc2NyaXB0aW9uKFwiSWQgZnJvbSB0aGUgbW9kZWwgcmVjb3JkZWQgaW4gdGhlIGF1ZGl0XCIpLFxuICAgIGNvbHVtbigpLFxuICAgIGluZGV4KFtPcmRlckRpcmVjdGlvbi5BU0MsIE9yZGVyRGlyZWN0aW9uLkRTQ10pLFxuICAgIHJlcXVpcmVkKCksXG4gICAgZGVmYXVsdFF1ZXJ5QXR0cigpLFxuICAgIF9fbWV0YWRhdGEoXCJkZXNpZ246dHlwZVwiLCBTdHJpbmcpXG5dLCBPdGhlckF1ZGl0LnByb3RvdHlwZSwgXCJyZWNvcmRJZFwiLCB2b2lkIDApO1xuX19kZWNvcmF0ZShbXG4gICAgY29sdW1uKCksXG4gICAgY3JlYXRlZEJ5KCksXG4gICAgaW5kZXgoW09yZGVyRGlyZWN0aW9uLkFTQywgT3JkZXJEaXJlY3Rpb24uRFNDXSksXG4gICAgZGVzY3JpcHRpb24oXCJJZGVudGlmaWVyIG9mIHRoZSB1c2VyIHdobyBwZXJmb3JtZWQgdGhlIGFjdGlvbi5cIiksXG4gICAgZGVmYXVsdFF1ZXJ5QXR0cigpLFxuICAgIF9fbWV0YWRhdGEoXCJkZXNpZ246dHlwZVwiLCBTdHJpbmcpXG5dLCBPdGhlckF1ZGl0LnByb3RvdHlwZSwgXCJ1c2VySWRcIiwgdm9pZCAwKTtcbl9fZGVjb3JhdGUoW1xuICAgIGNvbHVtbigpLFxuICAgIHJlcXVpcmVkKCksXG4gICAgcmVhZG9ubHkoKSxcbiAgICB0eXBlKFN0cmluZyksXG4gICAgaW5kZXgoW09yZGVyRGlyZWN0aW9uLkFTQywgT3JkZXJEaXJlY3Rpb24uRFNDXSksXG4gICAgZGVzY3JpcHRpb24oXCJHcm91cCBvciByb2xlIG9mIHRoZSB1c2VyIHdobyBwZXJmb3JtZWQgdGhlIGFjdGlvbi5cIiksXG4gICAgX19tZXRhZGF0YShcImRlc2lnbjp0eXBlXCIsIFN0cmluZylcbl0sIE90aGVyQXVkaXQucHJvdG90eXBlLCBcInVzZXJHcm91cFwiLCB2b2lkIDApO1xuX19kZWNvcmF0ZShbXG4gICAgY29sdW1uKCksXG4gICAgcmVxdWlyZWQoKSxcbiAgICByZWFkb25seSgpLFxuICAgIHRyYW5zYWN0aW9uSWQoKSxcbiAgICBkZXNjcmlwdGlvbihcInRoZSB0cmFuc2FjdGlvbiB0aGUgYXVkaXQgcmVjb3JkIHdhcyBjcmVhdGVkIGluXCIpLFxuICAgIF9fbWV0YWRhdGEoXCJkZXNpZ246dHlwZVwiLCBTdHJpbmcpXG5dLCBPdGhlckF1ZGl0LnByb3RvdHlwZSwgXCJ0cmFuc2FjdGlvblwiLCB2b2lkIDApO1xuX19kZWNvcmF0ZShbXG4gICAgY29sdW1uKCksXG4gICAgcmVhZG9ubHkoKSxcbiAgICBzZXJpYWxpemUoKSxcbiAgICBkZXNjcmlwdGlvbihcInRoZSBkaWZmcyBmb3IgdGhlIGFjdGlvbi5cIiksXG4gICAgX19tZXRhZGF0YShcImRlc2lnbjp0eXBlXCIsIE9iamVjdClcbl0sIE90aGVyQXVkaXQucHJvdG90eXBlLCBcImRpZmZzXCIsIHZvaWQgMCk7XG5fX2RlY29yYXRlKFtcbiAgICBvd25lZEJ5KCksXG4gICAgZGVzY3JpcHRpb24oXCJ0aGUgb3duZXIgKG1zcCkgb2YgdGhlIGF1ZGl0IGxvZ1wiKSxcbiAgICBfX21ldGFkYXRhKFwiZGVzaWduOnR5cGVcIiwgU3RyaW5nKVxuXSwgT3RoZXJBdWRpdC5wcm90b3R5cGUsIFwib3duZXJcIiwgdm9pZCAwKTtcbk90aGVyQXVkaXQgPSBfX2RlY29yYXRlKFtcbiAgICBkZXNjcmlwdGlvbihcIkxvZ3MgdXNlciBhY3Rpdml0eSBmb3IgYXVkaXRpbmcgcHVycG9zZXMuXCIpLFxuICAgIEJsb2NrT3BlcmF0aW9ucyhbXG4gICAgICAgIC8vIE9wZXJhdGlvbktleXMuQ1JFQVRFLFxuICAgICAgICBPcGVyYXRpb25LZXlzLlVQREFURSxcbiAgICAgICAgT3BlcmF0aW9uS2V5cy5ERUxFVEUsXG4gICAgXSksXG4gICAgdXNlcyhGYWJyaWNGbGF2b3VyKSxcbiAgICBzaGFyZWREYXRhKE5hbWVzcGFjZUNvbGxlY3Rpb24oXCJkZWNhZi1uYW1lc3BhY2VcIikpLFxuICAgIHRhYmxlKFwiYXVkaXRcIiksXG4gICAgbW9kZWwoKSxcbiAgICBfX21ldGFkYXRhKFwiZGVzaWduOnBhcmFtdHlwZXNcIiwgW09iamVjdF0pXG5dLCBPdGhlckF1ZGl0KTtcbmV4cG9ydCB7IE90aGVyQXVkaXQgfTtcbi8vIyBzb3VyY2VNYXBwaW5nVVJMPWRhdGE6YXBwbGljYXRpb24vanNvbjtiYXNlNjQsZXlKMlpYSnphVzl1SWpvekxDSm1hV3hsSWpvaVQzUm9aWEpCZFdScGRDNXFjeUlzSW5OdmRYSmpaVkp2YjNRaU9pSWlMQ0p6YjNWeVkyVnpJanBiSWk0dUx5NHVMeTR1THk0dUwzTnlZeTlqYjI1MGNtRmpkQzl0YjJSbGJITXZUM1JvWlhKQmRXUnBkQzUwY3lKZExDSnVZVzFsY3lJNlcxMHNJbTFoY0hCcGJtZHpJam9pT3pzN096czdPenM3UVVGQlFTeFBRVUZQTEVWQlEwd3NTMEZCU3l4RlFVVk1MRkZCUVZFc1JVRkRVaXhKUVVGSkxFZEJRMHdzVFVGQlRTeG5RMEZCWjBNc1EwRkJRenRCUVVONFF5eFBRVUZQTEVWQlEwd3NaVUZCWlN4RlFVTm1MR0ZCUVdFc1JVRkRZaXhoUVVGaExFVkJRMklzVVVGQlVTeEZRVU5TTEZOQlFWTXNSMEZEVml4TlFVRk5MSGxDUVVGNVFpeERRVUZETzBGQlEycERMRTlCUVU4c1JVRkJSU3hYUVVGWExFVkJRVVVzU1VGQlNTeEZRVUZGTEUxQlFVMHNjMEpCUVhOQ0xFTkJRVU03UVVGRGVrUXNUMEZCVHl4RlFVTk1MRXRCUVVzc1JVRkRUQ3hGUVVGRkxFVkJRMFlzVTBGQlV5eEZRVU5VTEUxQlFVMHNSVUZEVGl4alFVRmpMRVZCUTJRc1MwRkJTeXhGUVVOTUxFbEJRVWtzUlVGRlNpeG5Ra0ZCWjBJc1IwRkRha0lzVFVGQlRTeG5Ra0ZCWjBJc1EwRkJRenRCUVVONFFpeFBRVUZQTEVWQlFVVXNVMEZCVXl4RlFVRkZMSFZDUVVGdlFqdEJRVU40UXl4UFFVRlBMRVZCUVVVc1pVRkJaU3hGUVVGRkxIVkNRVUZ2UWp0QlFVTTVReXhQUVVGUExFVkJRMHdzWVVGQllTeEZRVU5pTEUxQlFVMHNSVUZEVGl4dFFrRkJiVUlzUlVGRGJrSXNUMEZCVHl4RlFVTlFMRlZCUVZVc1JVRkRWaXhoUVVGaExFZEJRMlFzWjBOQlFUSkNPMEZCUlRWQ0xEWkVRVUUyUkR0QlFVTTNSQ3hUUVVGVExGRkJRVkVzUTBGQlF5eERRVUZoTEVWQlFVVXNSMEZCUnl4SlFVRjVRanRKUVVNelJDeEpRVUZKTEVOQlFVTTdVVUZEU0N4UFFVRlBMRWRCUVVjc1EwRkJReXhEUVVGRExFdEJRVXNzUjBGQlJ5eERRVUZETEVOQlFVTXNUVUZCVFN4SFFVRkhMRU5CUVVNc1EwRkJReXhSUVVGUkxFZEJRVWNzUTBGQlF5eERRVUZETEUxQlFVMHNSMEZCUnl4RFFVRkRMRU5CUVVNc1YwRkJWeXhIUVVGSExFbEJRVWtzUTBGQlF5eFRRVUZUTEVOQlFVTXNRMEZCUXl4RFFVRkRMRXRCUVVzc1EwRkJReXhGUVVGRkxFTkJRVU03U1VGRGJrY3NRMEZCUXp0SlFVRkRMRTlCUVU4c1EwRkJWU3hGUVVGRkxFTkJRVU03VVVGRGNFSXNUVUZCVFN4SlFVRkpMR0ZCUVdFc1EwRkJReXd3UTBGQk1FTXNRMEZCUXl4RlFVRkZMRU5CUVVNc1EwRkJRenRKUVVONlJTeERRVUZETzBGQlEwZ3NRMEZCUXp0QlFWbE5MRWxCUVUwc1ZVRkJWU3hIUVVGb1FpeE5RVUZOTEZWQlFWY3NVMEZCVVN4VFFVRlRPMGxCT0VSMlF5eFpRVUZaTEV0QlFUUkNPMUZCUTNSRExFdEJRVXNzUTBGQlF5eExRVUZMTEVOQlFVTXNRMEZCUXp0SlFVTm1MRU5CUVVNN1EwRkRSaXhEUVVGQk8wRkJOVVJETzBsQlNrTXNSVUZCUlN4RlFVRkZPMGxCUTBvc1NVRkJTU3hEUVVGRExGRkJRVkVzUTBGQlF6dEpRVU5rTEUxQlFVMHNRMEZCUXl4dFFrRkJiVUlzUlVGQlJTeHpRa0ZCYzBJc1EwRkJRenRKUVVOdVJDeFhRVUZYTEVOQlFVTXNkME5CUVhkRExFTkJRVU03TzNORFFVTXhRenRCUVZGYU8wbEJUa01zVFVGQlRTeEZRVUZGTzBsQlExSXNVVUZCVVN4RlFVRkZPMGxCUTFZc1VVRkJVU3hGUVVGRk8wbEJRMVlzUzBGQlN5eERRVUZETEVOQlFVTXNZMEZCWXl4RFFVRkRMRWRCUVVjc1JVRkJSU3hqUVVGakxFTkJRVU1zUjBGQlJ5eERRVUZETEVOQlFVTTdTVUZETDBNc1YwRkJWeXhEUVVGRExIRkRRVUZ4UXl4RFFVRkRPMGxCUTJ4RUxHZENRVUZuUWl4RlFVRkZPenQ1UTBGRFNqdEJRVkZtTzBsQlRrTXNUVUZCVFN4RlFVRkZPMGxCUTFJc1VVRkJVU3hGUVVGRk8wbEJRMVlzVVVGQlVTeEZRVUZGTzBsQlExWXNTVUZCU1N4RFFVRkRMRTFCUVUwc1EwRkJRenRKUVVOYUxFdEJRVXNzUTBGQlF5eERRVUZETEdOQlFXTXNRMEZCUXl4SFFVRkhMRVZCUVVVc1kwRkJZeXhEUVVGRExFZEJRVWNzUTBGQlF5eERRVUZETzBsQlF5OURMRmRCUVZjc1EwRkJReXgxUTBGQmRVTXNRMEZCUXpzN01FTkJRelZDTzBGQlQzcENPMGxCVEVNc1YwRkJWeXhEUVVGRExIbERRVUY1UXl4RFFVRkRPMGxCUTNSRUxFMUJRVTBzUlVGQlJUdEpRVU5TTEV0QlFVc3NRMEZCUXl4RFFVRkRMR05CUVdNc1EwRkJReXhIUVVGSExFVkJRVVVzWTBGQll5eERRVUZETEVkQlFVY3NRMEZCUXl4RFFVRkRPMGxCUXk5RExGRkJRVkVzUlVGQlJUdEpRVU5XTEdkQ1FVRm5RaXhGUVVGRk96czBRMEZEUkR0QlFVOXNRanRKUVV4RExFMUJRVTBzUlVGQlJUdEpRVU5TTEZOQlFWTXNSVUZCUlR0SlFVTllMRXRCUVVzc1EwRkJReXhEUVVGRExHTkJRV01zUTBGQlF5eEhRVUZITEVWQlFVVXNZMEZCWXl4RFFVRkRMRWRCUVVjc1EwRkJReXhEUVVGRE8wbEJReTlETEZkQlFWY3NRMEZCUXl4clJFRkJhMFFzUTBGQlF6dEpRVU12UkN4blFrRkJaMElzUlVGQlJUczdNRU5CUTBnN1FVRlJhRUk3U1VGT1F5eE5RVUZOTEVWQlFVVTdTVUZEVWl4UlFVRlJMRVZCUVVVN1NVRkRWaXhSUVVGUkxFVkJRVVU3U1VGRFZpeEpRVUZKTEVOQlFVTXNUVUZCVFN4RFFVRkRPMGxCUTFvc1MwRkJTeXhEUVVGRExFTkJRVU1zWTBGQll5eERRVUZETEVkQlFVY3NSVUZCUlN4alFVRmpMRU5CUVVNc1IwRkJSeXhEUVVGRExFTkJRVU03U1VGREwwTXNWMEZCVnl4RFFVRkRMSEZFUVVGeFJDeERRVUZET3pzMlEwRkRhRVE3UVVGUGJrSTdTVUZNUXl4TlFVRk5MRVZCUVVVN1NVRkRVaXhSUVVGUkxFVkJRVVU3U1VGRFZpeFJRVUZSTEVWQlFVVTdTVUZEVml4aFFVRmhMRVZCUVVVN1NVRkRaaXhYUVVGWExFTkJRVU1zYVVSQlFXbEVMRU5CUVVNN095dERRVU14UXp0QlFVMXlRanRKUVVwRExFMUJRVTBzUlVGQlJUdEpRVU5TTEZGQlFWRXNSVUZCUlR0SlFVTldMRk5CUVZNc1JVRkJSVHRKUVVOWUxGZEJRVmNzUTBGQlF5d3lRa0ZCTWtJc1EwRkJRenM3ZVVOQlEySTdRVUZKTlVJN1NVRkdReXhQUVVGUExFVkJRVVU3U1VGRFZDeFhRVUZYTEVOQlFVTXNhME5CUVd0RExFTkJRVU03TzNsRFFVTnFRenRCUVRWRVNpeFZRVUZWTzBsQlZuUkNMRmRCUVZjc1EwRkJReXd5UTBGQk1rTXNRMEZCUXp0SlFVTjRSQ3hsUVVGbExFTkJRVU03VVVGRFppeDNRa0ZCZDBJN1VVRkRlRUlzWVVGQllTeERRVUZETEUxQlFVMDdVVUZEY0VJc1lVRkJZU3hEUVVGRExFMUJRVTA3UzBGRGNrSXNRMEZCUXp0SlFVTkVMRWxCUVVrc1EwRkJReXhoUVVGaExFTkJRVU03U1VGRGJrSXNWVUZCVlN4RFFVRkRMRzFDUVVGdFFpeERRVUZETEdsQ1FVRnBRaXhEUVVGRExFTkJRVU03U1VGRGJFUXNTMEZCU3l4RFFVRkRMRTlCUVU4c1EwRkJRenRKUVVOa0xFdEJRVXNzUlVGQlJUczdSMEZEU3l4VlFVRlZMRU5CYVVWMFFpSXNJbk52ZFhKalpYTkRiMjUwWlc1MElqcGJJbWx0Y0c5eWRDQjdYRzRnSUcxdlpHVnNMRnh1SUNCMGVYQmxJRTF2WkdWc1FYSm5MRnh1SUNCeVpYRjFhWEpsWkN4Y2JpQWdkSGx3WlN4Y2JuMGdabkp2YlNCY0lrQmtaV05oWmkxMGN5OWtaV052Y21GMGIzSXRkbUZzYVdSaGRHbHZibHdpTzF4dWFXMXdiM0owSUh0Y2JpQWdRbXh2WTJ0UGNHVnlZWFJwYjI1ekxGeHVJQ0JKYm5SbGNtNWhiRVZ5Y205eUxGeHVJQ0JQY0dWeVlYUnBiMjVMWlhsekxGeHVJQ0J5WldGa2IyNXNlU3hjYmlBZ2MyVnlhV0ZzYVhwbExGeHVmU0JtY205dElGd2lRR1JsWTJGbUxYUnpMMlJpTFdSbFkyOXlZWFJ2Y25OY0lqdGNibWx0Y0c5eWRDQjdJR1JsYzJOeWFYQjBhVzl1TENCMWMyVnpJSDBnWm5KdmJTQmNJa0JrWldOaFppMTBjeTlrWldOdmNtRjBhVzl1WENJN1hHNXBiWEJ2Y25RZ2UxeHVJQ0IwWVdKc1pTeGNiaUFnY0dzc1hHNGdJR055WldGMFpXUkNlU3hjYmlBZ1kyOXNkVzF1TEZ4dUlDQlBjbVJsY2tScGNtVmpkR2x2Yml4Y2JpQWdhVzVrWlhnc1hHNGdJSFYxYVdRc1hHNGdJRU52Ym5SbGVIUjFZV3hCY21kekxGeHVJQ0JrWldaaGRXeDBVWFZsY25sQmRIUnlMRnh1ZlNCbWNtOXRJRndpUUdSbFkyRm1MWFJ6TDJOdmNtVmNJanRjYm1sdGNHOXlkQ0I3SUVKaGMyVk5iMlJsYkNCOUlHWnliMjBnWENJdUwwSmhjMlZOYjJSbGJGd2lPMXh1YVcxd2IzSjBJSHNnUVhWa2FYUlBjR1Z5WVhScGIyNXpJSDBnWm5KdmJTQmNJaTR2WTI5dWMzUmhiblJ6WENJN1hHNXBiWEJ2Y25RZ2UxeHVJQ0JHWVdKeWFXTkdiR0YyYjNWeUxGeHVJQ0J0YVhKeWIzSXNYRzRnSUU1aGJXVnpjR0ZqWlVOdmJHeGxZM1JwYjI0c1hHNGdJRzkzYm1Wa1Fua3NYRzRnSUhOb1lYSmxaRVJoZEdFc1hHNGdJSFJ5WVc1ellXTjBhVzl1U1dRc1hHNTlJR1p5YjIwZ1hDSXVMaTh1TGk5emFHRnlaV1F2YVc1a1pYaGNJanRjYmx4dUx5OGdaWE5zYVc1MExXUnBjMkZpYkdVdGJtVjRkQzFzYVc1bElFQjBlWEJsYzJOeWFYQjBMV1Z6YkdsdWRDOXVieTExYm5WelpXUXRkbUZ5YzF4dVpuVnVZM1JwYjI0Z2RYVnBaRk5sWldRb2JUb2dUM1JvWlhKQmRXUnBkQ3dnTGk0dVlYSm5jem9nUTI5dWRHVjRkSFZoYkVGeVozTThZVzU1UGlrZ2UxeHVJQ0IwY25rZ2UxeHVJQ0FnSUhKbGRIVnliaUJnSkh0dExtMXZaR1ZzZlNSN2JTNWhZM1JwYjI1OUpIdHRMbkpsWTI5eVpFbGtmU1I3YlM1MWMyVnlTV1I5Skh0dExuUnlZVzV6WVdOMGFXOXVmU1I3U2xOUFRpNXpkSEpwYm1kcFpua29iUzVrYVdabWN5bDlZRHRjYmlBZ2ZTQmpZWFJqYUNBb1pUb2dkVzVyYm05M2Jpa2dlMXh1SUNBZ0lIUm9jbTkzSUc1bGR5QkpiblJsY201aGJFVnljbTl5S0dCR1lXbHNaV1FnZEc4Z1oyVnVaWEpoZEdVZ1pHVjBaWEp0YVc1cGMzUnBZeUIxZFdsa09pQWtlMlY5WUNrN1hHNGdJSDFjYm4xY2JseHVRR1JsYzJOeWFYQjBhVzl1S0Z3aVRHOW5jeUIxYzJWeUlHRmpkR2wyYVhSNUlHWnZjaUJoZFdScGRHbHVaeUJ3ZFhKd2IzTmxjeTVjSWlsY2JrQkNiRzlqYTA5d1pYSmhkR2x2Ym5Nb1cxeHVJQ0F2THlCUGNHVnlZWFJwYjI1TFpYbHpMa05TUlVGVVJTeGNiaUFnVDNCbGNtRjBhVzl1UzJWNWN5NVZVRVJCVkVVc1hHNGdJRTl3WlhKaGRHbHZia3RsZVhNdVJFVk1SVlJGTEZ4dVhTbGNia0IxYzJWektFWmhZbkpwWTBac1lYWnZkWElwWEc1QWMyaGhjbVZrUkdGMFlTaE9ZVzFsYzNCaFkyVkRiMnhzWldOMGFXOXVLRndpWkdWallXWXRibUZ0WlhOd1lXTmxYQ0lwS1Z4dVFIUmhZbXhsS0Z3aVlYVmthWFJjSWlsY2JrQnRiMlJsYkNncFhHNWxlSEJ2Y25RZ1kyeGhjM01nVDNSb1pYSkJkV1JwZENCbGVIUmxibVJ6SUVKaGMyVk5iMlJsYkNCN1hHNGdJRUJ3YXlncFhHNGdJRUIxZFdsa0tIVjFhV1JUWldWa0tWeHVJQ0JBYldseWNtOXlLRndpYldseWNtOXlMV052Ykd4bFkzUnBiMjVjSWl3Z1hDSlFhR0Z5YldGc1pXUm5aWEpoYzNOdlkwMVRVRndpS1Z4dUlDQkFaR1Z6WTNKcGNIUnBiMjRvWENKVmJtbHhkV1VnYVdSbGJuUnBabWxsY2lCdlppQjBhR1VnWVhWa2FYUWdjbVZqYjNKa0xsd2lLVnh1SUNCcFpDRTZJSE4wY21sdVp6dGNibHh1SUNCQVkyOXNkVzF1S0NsY2JpQWdRSEpsY1hWcGNtVmtLQ2xjYmlBZ1FISmxZV1J2Ym14NUtDbGNiaUFnUUdsdVpHVjRLRnRQY21SbGNrUnBjbVZqZEdsdmJpNUJVME1zSUU5eVpHVnlSR2x5WldOMGFXOXVMa1JUUTEwcFhHNGdJRUJrWlhOamNtbHdkR2x2YmloY0ltMXZaR1ZzTDJWdWRHbDBlU0JoWm1abFkzUmxaQ0JpZVNCMGFHVWdZV04wYVc5dVhDSXBYRzRnSUVCa1pXWmhkV3gwVVhWbGNubEJkSFJ5S0NsY2JpQWdiVzlrWld3aE9pQnpkSEpwYm1jN1hHNWNiaUFnUUdOdmJIVnRiaWdwWEc0Z0lFQnlaWEYxYVhKbFpDZ3BYRzRnSUVCeVpXRmtiMjVzZVNncFhHNGdJRUIwZVhCbEtGTjBjbWx1WnlsY2JpQWdRR2x1WkdWNEtGdFBjbVJsY2tScGNtVmpkR2x2Ymk1QlUwTXNJRTl5WkdWeVJHbHlaV04wYVc5dUxrUlRRMTBwWEc0Z0lFQmtaWE5qY21sd2RHbHZiaWhjSWxSNWNHVWdiMllnWVdOMGFXOXVJSEJsY21admNtMWxaQ0JpZVNCMGFHVWdkWE5sY2k1Y0lpbGNiaUFnWVdOMGFXOXVJVG9nUVhWa2FYUlBjR1Z5WVhScGIyNXpPMXh1WEc0Z0lFQmtaWE5qY21sd2RHbHZiaWhjSWtsa0lHWnliMjBnZEdobElHMXZaR1ZzSUhKbFkyOXlaR1ZrSUdsdUlIUm9aU0JoZFdScGRGd2lLVnh1SUNCQVkyOXNkVzF1S0NsY2JpQWdRR2x1WkdWNEtGdFBjbVJsY2tScGNtVmpkR2x2Ymk1QlUwTXNJRTl5WkdWeVJHbHlaV04wYVc5dUxrUlRRMTBwWEc0Z0lFQnlaWEYxYVhKbFpDZ3BYRzRnSUVCa1pXWmhkV3gwVVhWbGNubEJkSFJ5S0NsY2JpQWdjbVZqYjNKa1NXUWhPaUJ6ZEhKcGJtYzdYRzVjYmlBZ1FHTnZiSFZ0YmlncFhHNGdJRUJqY21WaGRHVmtRbmtvS1Z4dUlDQkFhVzVrWlhnb1cwOXlaR1Z5UkdseVpXTjBhVzl1TGtGVFF5d2dUM0prWlhKRWFYSmxZM1JwYjI0dVJGTkRYU2xjYmlBZ1FHUmxjMk55YVhCMGFXOXVLRndpU1dSbGJuUnBabWxsY2lCdlppQjBhR1VnZFhObGNpQjNhRzhnY0dWeVptOXliV1ZrSUhSb1pTQmhZM1JwYjI0dVhDSXBYRzRnSUVCa1pXWmhkV3gwVVhWbGNubEJkSFJ5S0NsY2JpQWdkWE5sY2tsa0lUb2djM1J5YVc1bk8xeHVYRzRnSUVCamIyeDFiVzRvS1Z4dUlDQkFjbVZ4ZFdseVpXUW9LVnh1SUNCQWNtVmhaRzl1Ykhrb0tWeHVJQ0JBZEhsd1pTaFRkSEpwYm1jcFhHNGdJRUJwYm1SbGVDaGJUM0prWlhKRWFYSmxZM1JwYjI0dVFWTkRMQ0JQY21SbGNrUnBjbVZqZEdsdmJpNUVVME5kS1Z4dUlDQkFaR1Z6WTNKcGNIUnBiMjRvWENKSGNtOTFjQ0J2Y2lCeWIyeGxJRzltSUhSb1pTQjFjMlZ5SUhkb2J5QndaWEptYjNKdFpXUWdkR2hsSUdGamRHbHZiaTVjSWlsY2JpQWdkWE5sY2tkeWIzVndJVG9nYzNSeWFXNW5PMXh1WEc0Z0lFQmpiMngxYlc0b0tWeHVJQ0JBY21WeGRXbHlaV1FvS1Z4dUlDQkFjbVZoWkc5dWJIa29LVnh1SUNCQWRISmhibk5oWTNScGIyNUpaQ2dwWEc0Z0lFQmtaWE5qY21sd2RHbHZiaWhjSW5Sb1pTQjBjbUZ1YzJGamRHbHZiaUIwYUdVZ1lYVmthWFFnY21WamIzSmtJSGRoY3lCamNtVmhkR1ZrSUdsdVhDSXBYRzRnSUhSeVlXNXpZV04wYVc5dUlUb2djM1J5YVc1bk8xeHVYRzRnSUVCamIyeDFiVzRvS1Z4dUlDQkFjbVZoWkc5dWJIa29LVnh1SUNCQWMyVnlhV0ZzYVhwbEtDbGNiaUFnUUdSbGMyTnlhWEIwYVc5dUtGd2lkR2hsSUdScFptWnpJR1p2Y2lCMGFHVWdZV04wYVc5dUxsd2lLVnh1SUNCa2FXWm1jejg2SUZKbFkyOXlaRHh6ZEhKcGJtY3NJR0Z1ZVQ0N1hHNWNiaUFnUUc5M2JtVmtRbmtvS1Z4dUlDQkFaR1Z6WTNKcGNIUnBiMjRvWENKMGFHVWdiM2R1WlhJZ0tHMXpjQ2tnYjJZZ2RHaGxJR0YxWkdsMElHeHZaMXdpS1Z4dUlDQnZkMjVsY2lFNklITjBjbWx1Wnp0Y2JseHVJQ0JqYjI1emRISjFZM1J2Y2lodGIyUmxiRDg2SUUxdlpHVnNRWEpuUEU5MGFHVnlRWFZrYVhRK0tTQjdYRzRnSUNBZ2MzVndaWElvYlc5a1pXd3BPMXh1SUNCOVhHNTlYRzRpWFgwPSJdfQ==
123
+ //# sourceMappingURL=OtherAudit.js.map
124
+ //# sourceMappingURL=OtherAudit.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"OtherAudit.js","sourceRoot":"","sources":["OtherAudit.js"],"names":[],"mappings":"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"}
@@ -1,242 +1,7 @@
1
1
  "use strict";
2
2
  Object.defineProperty(exports, "__esModule", { value: true });
3
- exports.OtherBatchShared = exports.ArraySerializer = void 0;
4
- var __decorate = (this && this.__decorate) || function (decorators, target, key, desc) {
5
- var c = arguments.length, r = c < 3 ? target : desc === null ? desc = Object.getOwnPropertyDescriptor(target, key) : desc, d;
6
- if (typeof Reflect === "object" && typeof Reflect.decorate === "function")
7
- r = Reflect.decorate(decorators, target, key, desc);
8
- else
9
- for (var i = decorators.length - 1; i >= 0; i--)
10
- if (d = decorators[i])
11
- r = (c < 3 ? d(r) : c > 3 ? d(target, key, r) : d(target, key)) || r;
12
- return c > 3 && r && Object.defineProperty(target, key, r), r;
13
- };
14
- var __metadata = (this && this.__metadata) || function (k, v) {
15
- if (typeof Reflect === "object" && typeof Reflect.metadata === "function")
16
- return Reflect.metadata(k, v);
17
- };
18
- const decorator_validation_1 = require("@decaf-ts/decorator-validation");
19
- const core_1 = require("@decaf-ts/core");
20
- const constants_js_1 = require("./constants.cjs");
21
- const db_decorators_1 = require("@decaf-ts/db-decorators");
22
- const decoration_1 = require("@decaf-ts/decoration");
23
- const BaseIdentifiedModel_js_1 = require("./BaseIdentifiedModel.cjs");
24
- const decorators_private_js_1 = require("./decorators-private.cjs");
25
- const gtin_js_1 = require("./gtin.cjs");
26
- const index_js_1 = require("./../../shared/index.cjs");
27
- const history_dec_js_1 = require("./history-dec.cjs");
28
- // import { historyDec } from "./history-dec";
29
- class ArraySerializer extends decorator_validation_1.JSONSerializer {
30
- constructor() {
31
- super();
32
- }
33
- /**
34
- * @summary prepares the model for serialization
35
- * @description returns a shallow copy of the object, containing an enumerable {@link ModelKeys#ANCHOR} property
36
- * so the object can be recognized upon deserialization
37
- *
38
- * @param {any} value
39
- * @protected
40
- */
41
- preSerialize(value, ...args) {
42
- return this.serializeValue(value, ...args);
43
- }
44
- /**
45
- * @summary Rebuilds a model from a serialization
46
- * @param {string} str
47
- *
48
- * @throws {Error} If it fails to parse the string, or to build the model
49
- */
50
- // eslint-disable-next-line @typescript-eslint/no-unused-vars
51
- deserialize(str, ...args) {
52
- const deserialization = JSON.parse(str);
53
- return this.rebuildValue(deserialization);
54
- }
55
- serializeValue(value, ...args) {
56
- if (value === undefined || value === null)
57
- return value;
58
- if (typeof value !== "object")
59
- return value;
60
- if (value instanceof Date)
61
- return value.toISOString();
62
- if (Array.isArray(value)) {
63
- return value.map((item) => this.serializeValue(item, ...args));
64
- }
65
- if (decorator_validation_1.Model.isModel(value)) {
66
- return this.serializeModel(value, ...args);
67
- }
68
- return this.serializePlain(value, ...args);
69
- }
70
- serializeModel(value, ...args) {
71
- const serialized = this.serializePlain(value, ...args);
72
- const metadata = this.getMetadata(value.constructor) ??
73
- value.constructor?.name;
74
- if (metadata)
75
- serialized[decorator_validation_1.ModelKeys.ANCHOR] = metadata;
76
- return serialized;
77
- }
78
- serializePlain(value, ...args) {
79
- const result = {};
80
- for (const [key, child] of Object.entries(value)) {
81
- result[key] = this.serializeValue(child, ...args);
82
- }
83
- return result;
84
- }
85
- getMetadata(constructor) {
86
- try {
87
- return decoration_1.Metadata.modelName(constructor);
88
- }
89
- catch {
90
- return undefined;
91
- }
92
- }
93
- rebuildValue(value) {
94
- if (value === null || typeof value !== "object")
95
- return value;
96
- if (Array.isArray(value)) {
97
- return value.map((item) => this.rebuildValue(item));
98
- }
99
- const anchor = value[decorator_validation_1.ModelKeys.ANCHOR];
100
- const rebuilt = this.rebuildObject(value);
101
- if (!anchor)
102
- return rebuilt;
103
- if (anchor === "??condition")
104
- return core_1.Condition.from(rebuilt);
105
- return decorator_validation_1.Model.build(rebuilt, anchor);
106
- }
107
- rebuildObject(value) {
108
- const result = {};
109
- for (const [key, child] of Object.entries(value)) {
110
- if (key === decorator_validation_1.ModelKeys.ANCHOR)
111
- continue;
112
- result[key] = this.rebuildValue(child);
113
- }
114
- return result;
115
- }
116
- /**
117
- * @summary Serializes a model
118
- * @param {T} model
119
- *
120
- * @throws {Error} if fails to serialize
121
- */
122
- // eslint-disable-next-line @typescript-eslint/no-unused-vars
123
- serialize(model, ...args) {
124
- return JSON.stringify(this.preSerialize(model));
125
- }
126
- }
127
- exports.ArraySerializer = ArraySerializer;
128
- let ManufacturerAddress = class ManufacturerAddress extends decorator_validation_1.Model {
129
- constructor(arg) {
130
- super(arg);
131
- }
132
- };
133
- __decorate([
134
- (0, decorator_validation_1.minlength)(2),
135
- __metadata("design:type", String)
136
- ], ManufacturerAddress.prototype, "address", void 0);
137
- ManufacturerAddress = __decorate([
138
- (0, decorator_validation_1.model)(),
139
- __metadata("design:paramtypes", [Object])
140
- ], ManufacturerAddress);
141
- let OtherBatchShared = class OtherBatchShared extends BaseIdentifiedModel_js_1.BaseIdentifiedModel {
142
- constructor(model) {
143
- super(model);
144
- this.batchRecall = false;
145
- }
146
- };
147
- exports.OtherBatchShared = OtherBatchShared;
148
- __decorate([
149
- (0, core_1.pk)(),
150
- (0, decorators_private_js_1.audit)(OtherBatchShared),
151
- (0, history_dec_js_1.historyDec)(),
152
- (0, index_js_1.mirror)("mirror-collection", "PharmaledgerassocMSP"),
153
- (0, db_decorators_1.composed)(["productCode", "batchNumber"], ":"),
154
- (0, decoration_1.description)("Unique identifier composed of product code and batch number."),
155
- __metadata("design:type", String)
156
- ], OtherBatchShared.prototype, "id", void 0);
157
- __decorate([
158
- (0, gtin_js_1.gtin)(),
159
- (0, db_decorators_1.readonly)()
160
- // @manyToOne(
161
- // () => Product,
162
- // { update: Cascade.NONE, delete: Cascade.NONE },
163
- // false
164
- // )
165
- ,
166
- (0, core_1.index)([core_1.OrderDirection.ASC, core_1.OrderDirection.DSC]),
167
- (0, decoration_1.description)("Code of the product associated with this batch."),
168
- (0, core_1.defaultQueryAttr)(),
169
- __metadata("design:type", String)
170
- ], OtherBatchShared.prototype, "productCode", void 0);
171
- __decorate([
172
- (0, core_1.column)(),
173
- (0, db_decorators_1.readonly)(),
174
- (0, decorator_validation_1.pattern)(constants_js_1.BatchPattern),
175
- (0, core_1.index)([core_1.OrderDirection.ASC, core_1.OrderDirection.DSC]),
176
- (0, decoration_1.description)("Batch number assigned to the product."),
177
- (0, core_1.defaultQueryAttr)(),
178
- __metadata("design:type", String)
179
- ], OtherBatchShared.prototype, "batchNumber", void 0);
180
- __decorate([
181
- (0, decorator_validation_1.required)(),
182
- (0, core_1.column)(),
183
- (0, decorator_validation_1.date)("yyyy-MM-dd HH:mm:ss"),
184
- (0, core_1.index)([core_1.OrderDirection.ASC, core_1.OrderDirection.DSC]),
185
- (0, decoration_1.description)("Date when the batch expires."),
186
- __metadata("design:type", Date)
187
- ], OtherBatchShared.prototype, "expiryDate", void 0);
188
- __decorate([
189
- (0, core_1.column)(),
190
- (0, decoration_1.description)("Import license number for this batch."),
191
- __metadata("design:type", String)
192
- ], OtherBatchShared.prototype, "importLicenseNumber", void 0);
193
- __decorate([
194
- (0, core_1.column)(),
195
- (0, decoration_1.description)("Date when the batch was manufactured."),
196
- (0, decorator_validation_1.date)(constants_js_1.DatePattern),
197
- __metadata("design:type", Date)
198
- ], OtherBatchShared.prototype, "dateOfManufacturing", void 0);
199
- __decorate([
200
- (0, core_1.column)(),
201
- (0, core_1.index)([core_1.OrderDirection.ASC, core_1.OrderDirection.DSC]),
202
- (0, decoration_1.description)("Name of the product manufacturer."),
203
- __metadata("design:type", String)
204
- ], OtherBatchShared.prototype, "manufacturerName", void 0);
205
- __decorate([
206
- (0, db_decorators_1.serialize)(ArraySerializer),
207
- (0, core_1.column)(),
208
- (0, decorator_validation_1.list)(ManufacturerAddress),
209
- (0, decoration_1.description)("Manufacturer address"),
210
- __metadata("design:type", Array)
211
- ], OtherBatchShared.prototype, "manufacturerAddress", void 0);
212
- __decorate([
213
- (0, core_1.column)(),
214
- (0, decoration_1.description)("Name of the site where the product was packaged."),
215
- __metadata("design:type", String)
216
- ], OtherBatchShared.prototype, "packagingSiteName", void 0);
217
- __decorate([
218
- (0, core_1.column)(),
219
- (0, core_1.index)([core_1.OrderDirection.ASC, core_1.OrderDirection.DSC]),
220
- (0, decoration_1.description)("Indicates whether this batch has been recalled."),
221
- __metadata("design:type", Boolean)
222
- ], OtherBatchShared.prototype, "batchRecall", void 0);
223
- __decorate([
224
- (0, index_js_1.ownedBy)(),
225
- (0, decoration_1.description)("the owner (msp) of the batch"),
226
- __metadata("design:type", String)
227
- ], OtherBatchShared.prototype, "owner", void 0);
228
- __decorate([
229
- (0, db_decorators_1.version)(),
230
- __metadata("design:type", Number)
231
- ], OtherBatchShared.prototype, "version", void 0);
232
- exports.OtherBatchShared = OtherBatchShared = __decorate([
233
- (0, index_js_1.sharedData)((0, index_js_1.NamespaceCollection)("decaf-namespace")),
234
- (0, decoration_1.description)("Represents a product batch"),
235
- (0, decoration_1.uses)(index_js_1.FabricFlavour),
236
- (0, db_decorators_1.BlockOperations)([db_decorators_1.OperationKeys.DELETE]),
237
- (0, core_1.table)("other_batch_shared"),
238
- (0, decorator_validation_1.model)(),
239
- __metadata("design:paramtypes", [Object])
240
- ], OtherBatchShared);
241
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiT3RoZXJCYXRjaFNoYXJlZC5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uL3NyYy9jb250cmFjdC9tb2RlbHMvT3RoZXJCYXRjaFNoYXJlZC50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiOzs7Ozs7Ozs7QUFDQSxPQUFPLEVBQ0wsSUFBSSxFQUNKLGNBQWMsRUFDZCxJQUFJLEVBQ0osU0FBUyxFQUNULEtBQUssRUFDTCxLQUFLLEVBQ0wsU0FBUyxFQUNULE9BQU8sRUFDUCxRQUFRLEdBQ1QsTUFBTSxnQ0FBZ0MsQ0FBQztBQUN4QyxPQUFPLEVBQ0wsTUFBTSxFQUNOLFNBQVMsRUFDVCxnQkFBZ0IsRUFDaEIsS0FBSyxFQUNMLGNBQWMsRUFDZCxFQUFFLEVBQ0YsS0FBSyxHQUNOLE1BQU0sZ0JBQWdCLENBQUM7QUFDeEIsT0FBTyxFQUFFLFlBQVksRUFBRSxXQUFXLEVBQUUsdUJBQW9CO0FBQ3hELE9BQU8sRUFDTCxlQUFlLEVBQ2YsUUFBUSxFQUNSLGFBQWEsRUFDYixRQUFRLEVBQ1IsU0FBUyxFQUNULE9BQU8sR0FDUixNQUFNLHlCQUF5QixDQUFDO0FBQ2pDLE9BQU8sRUFBZSxXQUFXLEVBQUUsUUFBUSxFQUFFLElBQUksRUFBRSxNQUFNLHNCQUFzQixDQUFDO0FBQ2hGLE9BQU8sRUFBRSxtQkFBbUIsRUFBRSxpQ0FBOEI7QUFDNUQsT0FBTyxFQUFFLEtBQUssRUFBRSxnQ0FBNkI7QUFDN0MsT0FBTyxFQUFFLElBQUksRUFBRSxrQkFBZTtBQUM5QixPQUFPLEVBQ0wsYUFBYSxFQUNiLE1BQU0sRUFDTixtQkFBbUIsRUFDbkIsT0FBTyxFQUNQLFVBQVUsR0FDWCxnQ0FBMkI7QUFDNUIsT0FBTyxFQUFFLFVBQVUsRUFBRSx5QkFBc0I7QUFDM0MsOENBQThDO0FBRTlDLE1BQU0sT0FBTyxlQUFpQyxTQUFRLGNBQWlCO0lBQ3JFO1FBQ0UsS0FBSyxFQUFFLENBQUM7SUFDVixDQUFDO0lBRUQ7Ozs7Ozs7T0FPRztJQUNnQixZQUFZ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SyxFQUFFOztHQUNLLGdCQUFnQixDQTJFNUIiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgdHlwZSB7IE1vZGVsQXJnIH0gZnJvbSBcIkBkZWNhZi10cy9kZWNvcmF0b3ItdmFsaWRhdGlvblwiO1xuaW1wb3J0IHtcbiAgZGF0ZSxcbiAgSlNPTlNlcmlhbGl6ZXIsXG4gIGxpc3QsXG4gIG1pbmxlbmd0aCxcbiAgTW9kZWwsXG4gIG1vZGVsLFxuICBNb2RlbEtleXMsXG4gIHBhdHRlcm4sXG4gIHJlcXVpcmVkLFxufSBmcm9tIFwiQGRlY2FmLXRzL2RlY29yYXRvci12YWxpZGF0aW9uXCI7XG5pbXBvcnQge1xuICBjb2x1bW4sXG4gIENvbmRpdGlvbixcbiAgZGVmYXVsdFF1ZXJ5QXR0cixcbiAgaW5kZXgsXG4gIE9yZGVyRGlyZWN0aW9uLFxuICBwayxcbiAgdGFibGUsXG59IGZyb20gXCJAZGVjYWYtdHMvY29yZVwiO1xuaW1wb3J0IHsgQmF0Y2hQYXR0ZXJuLCBEYXRlUGF0dGVybiB9IGZyb20gXCIuL2NvbnN0YW50c1wiO1xuaW1wb3J0IHtcbiAgQmxvY2tPcGVyYXRpb25zLFxuICBjb21wb3NlZCxcbiAgT3BlcmF0aW9uS2V5cyxcbiAgcmVhZG9ubHksXG4gIHNlcmlhbGl6ZSxcbiAgdmVyc2lvbixcbn0gZnJvbSBcIkBkZWNhZi10cy9kYi1kZWNvcmF0b3JzXCI7XG5pbXBvcnQgeyBDb25zdHJ1Y3RvciwgZGVzY3JpcHRpb24sIE1ldGFkYXRhLCB1c2VzIH0gZnJvbSBcIkBkZWNhZi10cy9kZWNvcmF0aW9uXCI7XG5pbXBvcnQgeyBCYXNlSWRlbnRpZmllZE1vZGVsIH0gZnJvbSBcIi4vQmFzZUlkZW50aWZpZWRNb2RlbFwiO1xuaW1wb3J0IHsgYXVkaXQgfSBmcm9tIFwiLi9kZWNvcmF0b3JzLXByaXZhdGVcIjtcbmltcG9ydCB7IGd0aW4gfSBmcm9tIFwiLi9ndGluXCI7XG5pbXBvcnQge1xuICBGYWJyaWNGbGF2b3VyLFxuICBtaXJyb3IsXG4gIE5hbWVzcGFjZUNvbGxlY3Rpb24sXG4gIG93bmVkQnksXG4gIHNoYXJlZERhdGEsXG59IGZyb20gXCIuLi8uLi9zaGFyZWQvaW5kZXhcIjtcbmltcG9ydCB7IGhpc3RvcnlEZWMgfSBmcm9tIFwiLi9oaXN0b3J5LWRlY1wiO1xuLy8gaW1wb3J0IHsgaGlzdG9yeURlYyB9IGZyb20gXCIuL2hpc3RvcnktZGVjXCI7XG5cbmV4cG9ydCBjbGFzcyBBcnJheVNlcmlhbGl6ZXI8TSBleHRlbmRzIE1vZGVsPiBleHRlbmRzIEpTT05TZXJpYWxpemVyPE0+IHtcbiAgY29uc3RydWN0b3IoKSB7XG4gICAgc3VwZXIoKTtcbiAgfVxuXG4gIC8qKlxuICAgKiBAc3VtbWFyeSBwcmVwYXJlcyB0aGUgbW9kZWwgZm9yIHNlcmlhbGl6YXRpb25cbiAgICogQGRlc2NyaXB0aW9uIHJldHVybnMgYSBzaGFsbG93IGNvcHkgb2YgdGhlIG9iamVjdCwgY29udGFpbmluZyBhbiBlbnVtZXJhYmxlIHtAbGluayBNb2RlbEtleXMjQU5DSE9SfSBwcm9wZXJ0eVxuICAgKiBzbyB0aGUgb2JqZWN0IGNhbiBiZSByZWNvZ25pemVkIHVwb24gZGVzZXJpYWxpemF0aW9uXG4gICAqXG4gICAqIEBwYXJhbSB7YW55fSB2YWx1ZVxuICAgKiBAcHJvdGVjdGVkXG4gICAqL1xuICBwcm90ZWN0ZWQgb3ZlcnJpZGUgcHJlU2VyaWFsaXplKHZhbHVlOiBhbnksIC4uLmFyZ3M6IGFueVtdKSB7XG4gICAgcmV0dXJuIHRoaXMuc2VyaWFsaXplVmFsdWUodmFsdWUsIC4uLmFyZ3MpO1xuICB9XG5cbiAgLyoqXG4gICAqIEBzdW1tYXJ5IFJlYnVpbGRzIGEgbW9kZWwgZnJvbSBhIHNlcmlhbGl6YXRpb25cbiAgICogQHBhcmFtIHtzdHJpbmd9IHN0clxuICAgKlxuICAgKiBAdGhyb3dzIHtFcnJvcn0gSWYgaXQgZmFpbHMgdG8gcGFyc2UgdGhlIHN0cmluZywgb3IgdG8gYnVpbGQgdGhlIG1vZGVsXG4gICAqL1xuICAvLyBlc2xpbnQtZGlzYWJsZS1uZXh0LWxpbmUgQHR5cGVzY3JpcHQtZXNsaW50L25vLXVudXNlZC12YXJzXG4gIG92ZXJyaWRlIGRlc2VyaWFsaXplKHN0cjogc3RyaW5nLCAuLi5hcmdzOiBhbnlbXSk6IE0ge1xuICAgIGNvbnN0IGRlc2VyaWFsaXphdGlvbiA9IEpTT04ucGFyc2Uoc3RyKTtcbiAgICByZXR1cm4gdGhpcy5yZWJ1aWxkVmFsdWUoZGVzZXJpYWxpemF0aW9uKSBhcyBNO1xuICB9XG5cbiAgcHJpdmF0ZSBzZXJpYWxpemVWYWx1ZSh2YWx1ZTogYW55LCAuLi5hcmdzOiBhbnlbXSk6IGFueSB7XG4gICAgaWYgKHZhbHVlID09PSB1bmRlZmluZWQgfHwgdmFsdWUgPT09IG51bGwpIHJldHVybiB2YWx1ZTtcbiAgICBpZiAodHlwZW9mIHZhbHVlICE9PSBcIm9iamVjdFwiKSByZXR1cm4gdmFsdWU7XG4gICAgaWYgKHZhbHVlIGluc3RhbmNlb2YgRGF0ZSkgcmV0dXJuIHZhbHVlLnRvSVNPU3RyaW5nKCk7XG4gICAgaWYgKEFycmF5LmlzQXJyYXkodmFsdWUpKSB7XG4gICAgICByZXR1cm4gdmFsdWUubWFwKChpdGVtKSA9PiB0aGlzLnNlcmlhbGl6ZVZhbHVlKGl0ZW0sIC4uLmFyZ3MpKTtcbiAgICB9XG4gICAgaWYgKE1vZGVsLmlzTW9kZWwodmFsdWUpKSB7XG4gICAgICByZXR1cm4gdGhpcy5zZXJpYWxpemVNb2RlbCh2YWx1ZSwgLi4uYXJncyk7XG4gICAgfVxuICAgIHJldHVybiB0aGlzLnNlcmlhbGl6ZVBsYWluKHZhbHVlLCAuLi5hcmdzKTtcbiAgfVxuXG4gIHByaXZhdGUgc2VyaWFsaXplTW9kZWwodmFsdWU6IE1vZGVsLCAuLi5hcmdzOiBhbnlbXSk6IFJlY29yZDxzdHJpbmcsIGFueT4ge1xuICAgIGNvbnN0IHNlcmlhbGl6ZWQgPSB0aGlzLnNlcmlhbGl6ZVBsYWluKFxuICAgICAgdmFsdWUgYXMgUmVjb3JkPHN0cmluZywgYW55PixcbiAgICAgIC4uLmFyZ3NcbiAgICApO1xuICAgIGNvbnN0IG1ldGFkYXRhID1cbiAgICAgIHRoaXMuZ2V0TWV0YWRhdGEodmFsdWUuY29uc3RydWN0b3IgYXMgQ29uc3RydWN0b3IpID8/XG4gICAgICB2YWx1ZS5jb25zdHJ1Y3Rvcj8ubmFtZTtcbiAgICBpZiAobWV0YWRhdGEpIHNlcmlhbGl6ZWRbTW9kZWxLZXlzLkFOQ0hPUl0gPSBtZXRhZGF0YTtcbiAgICByZXR1cm4gc2VyaWFsaXplZDtcbiAgfVxuXG4gIHByaXZhdGUgc2VyaWFsaXplUGxhaW4oXG4gICAgdmFsdWU6IFJlY29yZDxzdHJpbmcsIGFueT4sXG4gICAgLi4uYXJnczogYW55W11cbiAgKTogUmVjb3JkPHN0cmluZywgYW55PiB7XG4gICAgY29uc3QgcmVzdWx0OiBSZWNvcmQ8c3RyaW5nLCBhbnk+ID0ge307XG4gICAgZm9yIChjb25zdCBba2V5LCBjaGlsZF0gb2YgT2JqZWN0LmVudHJpZXModmFsdWUpKSB7XG4gICAgICByZXN1bHRba2V5XSA9IHRoaXMuc2VyaWFsaXplVmFsdWUoY2hpbGQsIC4uLmFyZ3MpO1xuICAgIH1cbiAgICByZXR1cm4gcmVzdWx0O1xuICB9XG5cbiAgcHJpdmF0ZSBnZXRNZXRhZGF0YShjb25zdHJ1Y3RvcjogQ29uc3RydWN0b3IpOiBzdHJpbmcgfCB1bmRlZmluZWQge1xuICAgIHRyeSB7XG4gICAgICByZXR1cm4gTWV0YWRhdGEubW9kZWxOYW1lKGNvbnN0cnVjdG9yKTtcbiAgICB9IGNhdGNoIHtcbiAgICAgIHJldHVybiB1bmRlZmluZWQ7XG4gICAgfVxuICB9XG5cbiAgcHJpdmF0ZSByZWJ1aWxkVmFsdWUodmFsdWU6IGFueSk6IGFueSB7XG4gICAgaWYgKHZhbHVlID09PSBudWxsIHx8IHR5cGVvZiB2YWx1ZSAhPT0gXCJvYmplY3RcIikgcmV0dXJuIHZhbHVlO1xuICAgIGlmIChBcnJheS5pc0FycmF5KHZhbHVlKSkge1xuICAgICAgcmV0dXJuIHZhbHVlLm1hcCgoaXRlbSkgPT4gdGhpcy5yZWJ1aWxkVmFsdWUoaXRlbSkpO1xuICAgIH1cbiAgICBjb25zdCBhbmNob3IgPSB2YWx1ZVtNb2RlbEtleXMuQU5DSE9SXTtcbiAgICBjb25zdCByZWJ1aWx0ID0gdGhpcy5yZWJ1aWxkT2JqZWN0KHZhbHVlKTtcbiAgICBpZiAoIWFuY2hvcikgcmV0dXJuIHJlYnVpbHQ7XG4gICAgaWYgKGFuY2hvciA9PT0gXCI/P2NvbmRpdGlvblwiKSByZXR1cm4gQ29uZGl0aW9uLmZyb20ocmVidWlsdCk7XG4gICAgcmV0dXJuIE1vZGVsLmJ1aWxkKHJlYnVpbHQsIGFuY2hvcik7XG4gIH1cblxuICBwcml2YXRlIHJlYnVpbGRPYmplY3QodmFsdWU6IFJlY29yZDxzdHJpbmcsIGFueT4pOiBSZWNvcmQ8c3RyaW5nLCBhbnk+IHtcbiAgICBjb25zdCByZXN1bHQ6IFJlY29yZDxzdHJpbmcsIGFueT4gPSB7fTtcbiAgICBmb3IgKGNvbnN0IFtrZXksIGNoaWxkXSBvZiBPYmplY3QuZW50cmllcyh2YWx1ZSkpIHtcbiAgICAgIGlmIChrZXkgPT09IE1vZGVsS2V5cy5BTkNIT1IpIGNvbnRpbnVlO1xuICAgICAgcmVzdWx0W2tleV0gPSB0aGlzLnJlYnVpbGRWYWx1ZShjaGlsZCk7XG4gICAgfVxuICAgIHJldHVybiByZXN1bHQ7XG4gIH1cblxuICAvKipcbiAgICogQHN1bW1hcnkgU2VyaWFsaXplcyBhIG1vZGVsXG4gICAqIEBwYXJhbSB7VH0gbW9kZWxcbiAgICpcbiAgICogQHRocm93cyB7RXJyb3J9IGlmIGZhaWxzIHRvIHNlcmlhbGl6ZVxuICAgKi9cbiAgLy8gZXNsaW50LWRpc2FibGUtbmV4dC1saW5lIEB0eXBlc2NyaXB0LWVzbGludC9uby11bnVzZWQtdmFyc1xuICBvdmVycmlkZSBzZXJpYWxpemUobW9kZWw6IE0sIC4uLmFyZ3M6IGFueVtdKTogc3RyaW5nIHtcbiAgICByZXR1cm4gSlNPTi5zdHJpbmdpZnkodGhpcy5wcmVTZXJpYWxpemUobW9kZWwpKTtcbiAgfVxufVxuXG5AbW9kZWwoKVxuY2xhc3MgTWFudWZhY3R1cmVyQWRkcmVzcyBleHRlbmRzIE1vZGVsIHtcbiAgQG1pbmxlbmd0aCgyKVxuICBhZGRyZXNzITogc3RyaW5nO1xuXG4gIGNvbnN0cnVjdG9yKGFyZz86IE1vZGVsQXJnPE1hbnVmYWN0dXJlckFkZHJlc3M+KSB7XG4gICAgc3VwZXIoYXJnKTtcbiAgfVxufVxuXG5Ac2hhcmVkRGF0YShOYW1lc3BhY2VDb2xsZWN0aW9uKFwiZGVjYWYtbmFtZXNwYWNlXCIpKVxuQGRlc2NyaXB0aW9uKFwiUmVwcmVzZW50cyBhIHByb2R1Y3QgYmF0Y2hcIilcbkB1c2VzKEZhYnJpY0ZsYXZvdXIpXG5AQmxvY2tPcGVyYXRpb25zKFtPcGVyYXRpb25LZXlzLkRFTEVURV0pXG5AdGFibGUoXCJvdGhlcl9iYXRjaF9zaGFyZWRcIilcbkBtb2RlbCgpXG5leHBvcnQgY2xhc3MgT3RoZXJCYXRjaFNoYXJlZCBleHRlbmRzIEJhc2VJZGVudGlmaWVkTW9kZWwge1xuICBAcGsoKVxuICBAYXVkaXQoT3RoZXJCYXRjaFNoYXJlZClcbiAgQGhpc3RvcnlEZWMoKVxuICBAbWlycm9yKFwibWlycm9yLWNvbGxlY3Rpb25cIiwgXCJQaGFybWFsZWRnZXJhc3NvY01TUFwiKVxuICBAY29tcG9zZWQoW1wicHJvZHVjdENvZGVcIiwgXCJiYXRjaE51bWJlclwiXSwgXCI6XCIpXG4gIEBkZXNjcmlwdGlvbihcIlVuaXF1ZSBpZGVudGlmaWVyIGNvbXBvc2VkIG9mIHByb2R1Y3QgY29kZSBhbmQgYmF0Y2ggbnVtYmVyLlwiKVxuICBpZCE6IHN0cmluZztcblxuICBAZ3RpbigpXG4gIEByZWFkb25seSgpXG4gIC8vIEBtYW55VG9PbmUoXG4gIC8vICAgKCkgPT4gUHJvZHVjdCxcbiAgLy8gICB7IHVwZGF0ZTogQ2FzY2FkZS5OT05FLCBkZWxldGU6IENhc2NhZGUuTk9ORSB9LFxuICAvLyAgIGZhbHNlXG4gIC8vIClcbiAgQGluZGV4KFtPcmRlckRpcmVjdGlvbi5BU0MsIE9yZGVyRGlyZWN0aW9uLkRTQ10pXG4gIEBkZXNjcmlwdGlvbihcIkNvZGUgb2YgdGhlIHByb2R1Y3QgYXNzb2NpYXRlZCB3aXRoIHRoaXMgYmF0Y2guXCIpXG4gIEBkZWZhdWx0UXVlcnlBdHRyKClcbiAgcHJvZHVjdENvZGUhOiBzdHJpbmc7XG5cbiAgQGNvbHVtbigpXG4gIEByZWFkb25seSgpXG4gIEBwYXR0ZXJuKEJhdGNoUGF0dGVybilcbiAgQGluZGV4KFtPcmRlckRpcmVjdGlvbi5BU0MsIE9yZGVyRGlyZWN0aW9uLkRTQ10pXG4gIEBkZXNjcmlwdGlvbihcIkJhdGNoIG51bWJlciBhc3NpZ25lZCB0byB0aGUgcHJvZHVjdC5cIilcbiAgQGRlZmF1bHRRdWVyeUF0dHIoKVxuICBiYXRjaE51bWJlciE6IHN0cmluZztcblxuICBAcmVxdWlyZWQoKVxuICBAY29sdW1uKClcbiAgQGRhdGUoXCJ5eXl5LU1NLWRkIEhIOm1tOnNzXCIpXG4gIEBpbmRleChbT3JkZXJEaXJlY3Rpb24uQVNDLCBPcmRlckRpcmVjdGlvbi5EU0NdKVxuICBAZGVzY3JpcHRpb24oXCJEYXRlIHdoZW4gdGhlIGJhdGNoIGV4cGlyZXMuXCIpXG4gIGV4cGlyeURhdGUhOiBEYXRlO1xuXG4gIEBjb2x1bW4oKVxuICBAZGVzY3JpcHRpb24oXCJJbXBvcnQgbGljZW5zZSBudW1iZXIgZm9yIHRoaXMgYmF0Y2guXCIpXG4gIGltcG9ydExpY2Vuc2VOdW1iZXI/OiBzdHJpbmc7XG5cbiAgQGNvbHVtbigpXG4gIEBkZXNjcmlwdGlvbihcIkRhdGUgd2hlbiB0aGUgYmF0Y2ggd2FzIG1hbnVmYWN0dXJlZC5cIilcbiAgQGRhdGUoRGF0ZVBhdHRlcm4pXG4gIGRhdGVPZk1hbnVmYWN0dXJpbmc/OiBEYXRlO1xuXG4gIEBjb2x1bW4oKVxuICBAaW5kZXgoW09yZGVyRGlyZWN0aW9uLkFTQywgT3JkZXJEaXJlY3Rpb24uRFNDXSlcbiAgQGRlc2NyaXB0aW9uKFwiTmFtZSBvZiB0aGUgcHJvZHVjdCBtYW51ZmFjdHVyZXIuXCIpXG4gIG1hbnVmYWN0dXJlck5hbWU/OiBzdHJpbmc7XG5cbiAgQHNlcmlhbGl6ZShBcnJheVNlcmlhbGl6ZXIpXG4gIEBjb2x1bW4oKVxuICBAbGlzdChNYW51ZmFjdHVyZXJBZGRyZXNzKVxuICBAZGVzY3JpcHRpb24oXCJNYW51ZmFjdHVyZXIgYWRkcmVzc1wiKVxuICBtYW51ZmFjdHVyZXJBZGRyZXNzPzogTWFudWZhY3R1cmVyQWRkcmVzc1tdO1xuXG4gIEBjb2x1bW4oKVxuICBAZGVzY3JpcHRpb24oXCJOYW1lIG9mIHRoZSBzaXRlIHdoZXJlIHRoZSBwcm9kdWN0IHdhcyBwYWNrYWdlZC5cIilcbiAgcGFja2FnaW5nU2l0ZU5hbWU/OiBzdHJpbmc7XG5cbiAgQGNvbHVtbigpXG4gIEBpbmRleChbT3JkZXJEaXJlY3Rpb24uQVNDLCBPcmRlckRpcmVjdGlvbi5EU0NdKVxuICBAZGVzY3JpcHRpb24oXCJJbmRpY2F0ZXMgd2hldGhlciB0aGlzIGJhdGNoIGhhcyBiZWVuIHJlY2FsbGVkLlwiKVxuICBiYXRjaFJlY2FsbDogYm9vbGVhbiA9IGZhbHNlO1xuXG4gIEBvd25lZEJ5KClcbiAgQGRlc2NyaXB0aW9uKFwidGhlIG93bmVyIChtc3ApIG9mIHRoZSBiYXRjaFwiKVxuICBvd25lciE6IHN0cmluZztcblxuICBAdmVyc2lvbigpXG4gIG92ZXJyaWRlIHZlcnNpb24hOiBudW1iZXI7XG5cbiAgY29uc3RydWN0b3IobW9kZWw/OiBNb2RlbEFyZzxPdGhlckJhdGNoU2hhcmVkPikge1xuICAgIHN1cGVyKG1vZGVsKTtcbiAgfVxufVxuIl19
242
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiT3RoZXJCYXRjaFNoYXJlZC5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIk90aGVyQmF0Y2hTaGFyZWQuanMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6Ijs7O0FBQUEsSUFBSSxVQUFVLEdBQUcsQ0FBQyxJQUFJLElBQUksSUFBSSxDQUFDLFVBQVUsQ0FBQyxJQUFJLFVBQVUsVUFBVSxFQUFFLE1BQU0sRUFBRSxHQUFHLEVBQUUsSUFBSTtJQUNqRixJQUFJLENBQUMsR0FBRyxTQUFTLENBQUMsTUFBTSxFQUFFLENBQUMsR0FBRyxDQUFDLEdBQUcsQ0FBQyxDQUFDLENBQUMsQ0FBQyxNQUFNLENBQUMsQ0FBQyxDQUFDLElBQUksS0FBSyxJQUFJLENBQUMsQ0FBQyxDQUFDLElBQUksR0FBRyxNQUFNLENBQUMsd0JBQXdCLENBQUMsTUFBTSxFQUFFLEdBQUcsQ0FBQyxDQUFDLENBQUMsQ0FBQyxJQUFJLEVBQUUsQ0FBQyxDQUFDO0lBQzdILElBQUksT0FBTyxPQUFPLEtBQUssUUFBUSxJQUFJLE9BQU8sT0FBTyxDQUFDLFFBQVEsS0FBSyxVQUFVO1FBQUUsQ0FBQyxHQUFHLE9BQU8sQ0FBQyxRQUFRLENBQUMsVUFBVSxFQUFFLE1BQU0sRUFBRSxHQUFHLEVBQUUsSUFBSSxDQUFDLENBQUM7O1FBQzFILEtBQUssSUFBSSxDQUFDLEdBQUcsVUFBVSxDQUFDLE1BQU0sR0FBRyxDQUFDLEVBQUUsQ0FBQyxJQUFJLENBQUMsRUFBRSxDQUFDLEVBQUU7WUFBRSxJQUFJLENBQUMsR0FBRyxVQUFVLENBQUMsQ0FBQyxDQUFDO2dCQUFFLENBQUMsR0FBRyxDQUFDLENBQUMsR0FBRyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxHQUFHLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLE1BQU0sRUFBRSxHQUFHLEVBQUUsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxNQUFNLEVBQUUs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QUFPLEdBQUU7SUFDVCxJQUFBLHdCQUFXLEVBQUMsOEJBQThCLENBQUM7SUFDM0MsVUFBVSxDQUFDLGFBQWEsRUFBRSxNQUFNLENBQUM7Q0FDcEMsRUFBRSxnQkFBZ0IsQ0FBQyxTQUFTLEVBQUUsT0FBTyxFQUFFLEtBQUssQ0FBQyxDQUFDLENBQUM7QUFDaEQsVUFBVSxDQUFDO0lBQ1AsSUFBQSx1QkFBTyxHQUFFO0lBQ1QsVUFBVSxDQUFDLGFBQWEsRUFBRSxNQUFNLENBQUM7Q0FDcEMsRUFBRSxnQkFBZ0IsQ0FBQyxTQUFTLEVBQUUsU0FBUyxFQUFFLEtBQUssQ0FBQyxDQUFDLENBQUM7QUFDbEQsMkJBQUEsZ0JBQWdCLEdBQUcsVUFBVSxDQUFDO0lBQzFCLElBQUEscUJBQVUsRUFBQyxJQUFBLDhCQUFtQixFQUFDLGlCQUFpQixDQUFDLENBQUM7SUFDbEQsSUFBQSx3QkFBVyxFQUFDLDRCQUE0QixDQUFDO0lBQ3pDLElBQUEsaUJBQUksRUFBQyx3QkFBYSxDQUFDO0lBQ25CLElBQUEsK0JBQWUsRUFBQyxDQUFDLDZCQUFhLENBQUMsTUFBTSxDQUFDLENBQUM7SUFDdkMsSUFBQSxZQUFLLEVBQUMsb0JBQW9CLENBQUM7SUFDM0IsSUFBQSw0QkFBSyxHQUFFO0lBQ1AsVUFBVSxDQUFDLG1CQUFtQixFQUFFLENBQUMsTUFBTSxDQUFDLENBQUM7Q0FDNUMsRUFBRSxnQkFBZ0IsQ0FBQyxDQUFDO0FBRXJCLDhrZ0JBQThrZ0IiLCJzb3VyY2VzQ29udGVudCI6WyJ2YXIgX19kZWNvcmF0ZSA9ICh0aGlzICYmIHRoaXMuX19kZWNvcmF0ZSkgfHwgZnVuY3Rpb24gKGRlY29yYXRvcnMsIHRhcmdldCwga2V5LCBkZXNjKSB7XG4gICAgdmFyIGMgPSBhcmd1bWVudHMubGVuZ3RoLCByID0gYyA8IDMgPyB0YXJnZXQgOiBkZXNjID09PSBudWxsID8gZGVzYyA9IE9iamVjdC5nZXRPd25Qcm9wZXJ0eURlc2NyaXB0b3IodGFyZ2V0LCBrZXkpIDogZGVzYywgZDtcbiAgICBpZiAodHlwZW9mIFJlZmxlY3QgPT09IFwib2JqZWN0XCIgJiYgdHlwZW9mIFJlZmxlY3QuZGVjb3JhdGUgPT09IFwiZnVuY3Rpb25cIikgciA9IFJlZmxlY3QuZGVjb3JhdGUoZGVjb3JhdG9ycywgdGFyZ2V0LCBrZXksIGRlc2MpO1xuICAgIGVsc2UgZm9yICh2YXIgaSA9IGRlY29yYXRvcnMubGVuZ3RoIC0gMTsgaSA+PSAwOyBpLS0pIGlmIChkID0gZGVjb3JhdG9yc1tpXSkgciA9IChjIDwgMyA/IGQocikgOiBjID4gMyA/IGQodGFyZ2V0LCBrZXksIHIpIDogZCh0YXJnZXQsIGtleSkpIHx8IHI7XG4gICAgcmV0dXJuIGMgPiAzICYmIHIgJiYgT2JqZWN0LmRlZmluZVByb3BlcnR5KHRhcmdldCwga2V5LCByKSwgcjtcbn07XG52YXIgX19tZXRhZGF0YSA9ICh0aGlzICYmIHRoaXMuX19tZXRhZGF0YSkgfHwgZnVuY3Rpb24gKGssIHYpIHtcbiAgICBpZiAodHlwZW9mIFJlZmxlY3QgPT09IFwib2JqZWN0XCIgJiYgdHlwZW9mIFJlZmxlY3QubWV0YWRhdGEgPT09IFwiZnVuY3Rpb25cIikgcmV0dXJuIFJlZmxlY3QubWV0YWRhdGEoaywgdik7XG59O1xuaW1wb3J0IHsgZGF0ZSwgSlNPTlNlcmlhbGl6ZXIsIGxpc3QsIG1pbmxlbmd0aCwgTW9kZWwsIG1vZGVsLCBNb2RlbEtleXMsIHBhdHRlcm4sIHJlcXVpcmVkLCB9IGZyb20gXCJAZGVjYWYtdHMvZGVjb3JhdG9yLXZhbGlkYXRpb25cIjtcbmltcG9ydCB7IGNvbHVtbiwgQ29uZGl0aW9uLCBkZWZhdWx0UXVlcnlBdHRyLCBpbmRleCwgT3JkZXJEaXJlY3Rpb24sIHBrLCB0YWJsZSwgfSBmcm9tIFwiQGRlY2FmLXRzL2NvcmVcIjtcbmltcG9ydCB7IEJhdGNoUGF0dGVybiwgRGF0ZVBhdHRlcm4gfSBmcm9tIFwiLi9jb25zdGFudHMuanNcIjtcbmltcG9ydCB7IEJsb2NrT3BlcmF0aW9ucywgY29tcG9zZWQsIE9wZXJhdGlvbktleXMsIHJlYWRvbmx5LCBzZXJpYWxpemUsIHZlcnNpb24sIH0gZnJvbSBcIkBkZWNhZi10cy9kYi1kZWNvcmF0b3JzXCI7XG5pbXBvcnQgeyBkZXNjcmlwdGlvbiwgTWV0YWRhdGEsIHVzZXMgfSBmcm9tIFwiQGRlY2FmLXRzL2RlY29yYXRpb25cIjtcbmltcG9ydCB7IEJhc2VJZGVudGlmaWVkTW9kZWwgfSBmcm9tIFwiLi9CYXNlSWRlbnRpZmllZE1vZGVsLmpzXCI7XG5pbXBvcnQgeyBhdWRpdCB9IGZyb20gXCIuL2RlY29yYXRvcnMtcHJpdmF0ZS5qc1wiO1xuaW1wb3J0IHsgZ3RpbiB9IGZyb20gXCIuL2d0aW4uanNcIjtcbmltcG9ydCB7IEZhYnJpY0ZsYXZvdXIsIG1pcnJvciwgTmFtZXNwYWNlQ29sbGVjdGlvbiwgb3duZWRCeSwgc2hhcmVkRGF0YSwgfSBmcm9tIFwiLi8uLi8uLi9zaGFyZWQvaW5kZXguanNcIjtcbmltcG9ydCB7IGhpc3RvcnlEZWMgfSBmcm9tIFwiLi9oaXN0b3J5LWRlYy5qc1wiO1xuLy8gaW1wb3J0IHsgaGlzdG9yeURlYyB9IGZyb20gXCIuL2hpc3RvcnktZGVjXCI7XG5leHBvcnQgY2xhc3MgQXJyYXlTZXJpYWxpemVyIGV4dGVuZHMgSlNPTlNlcmlhbGl6ZXIge1xuICAgIGNvbnN0cnVjdG9yKCkge1xuICAgICAgICBzdXBlcigpO1xuICAgIH1cbiAgICAvKipcbiAgICAgKiBAc3VtbWFyeSBwcmVwYXJlcyB0aGUgbW9kZWwgZm9yIHNlcmlhbGl6YXRpb25cbiAgICAgKiBAZGVzY3JpcHRpb24gcmV0dXJucyBhIHNoYWxsb3cgY29weSBvZiB0aGUgb2JqZWN0LCBjb250YWluaW5nIGFuIGVudW1lcmFibGUge0BsaW5rIE1vZGVsS2V5cyNBTkNIT1J9IHByb3BlcnR5XG4gICAgICogc28gdGhlIG9iamVjdCBjYW4gYmUgcmVjb2duaXplZCB1cG9uIGRlc2VyaWFsaXphdGlvblxuICAgICAqXG4gICAgICogQHBhcmFtIHthbnl9IHZhbHVlXG4gICAgICogQHByb3RlY3RlZFxuICAgICAqL1xuICAgIHByZVNlcmlhbGl6ZSh2YWx1ZSwgLi4uYXJncykge1xuICAgICAgICByZXR1cm4gdGhpcy5zZXJpYWxpemVWYWx1ZSh2YWx1ZSwgLi4uYXJncyk7XG4gICAgfVxuICAgIC8qKlxuICAgICAqIEBzdW1tYXJ5IFJlYnVpbGRzIGEgbW9kZWwgZnJvbSBhIHNlcmlhbGl6YXRpb25cbiAgICAgKiBAcGFyYW0ge3N0cmluZ30gc3RyXG4gICAgICpcbiAgICAgKiBAdGhyb3dzIHtFcnJvcn0gSWYgaXQgZmFpbHMgdG8gcGFyc2UgdGhlIHN0cmluZywgb3IgdG8gYnVpbGQgdGhlIG1vZGVsXG4gICAgICovXG4gICAgLy8gZXNsaW50LWRpc2FibGUtbmV4dC1saW5lIEB0eXBlc2NyaXB0LWVzbGludC9uby11bnVzZWQtdmFyc1xuICAgIGRlc2VyaWFsaXplKHN0ciwgLi4uYXJncykge1xuICAgICAgICBjb25zdCBkZXNlcmlhbGl6YXRpb24gPSBKU09OLnBhcnNlKHN0cik7XG4gICAgICAgIHJldHVybiB0aGlzLnJlYnVpbGRWYWx1ZShkZXNlcmlhbGl6YXRpb24pO1xuICAgIH1cbiAgICBzZXJpYWxpemVWYWx1ZSh2YWx1ZSwgLi4uYXJncykge1xuICAgICAgICBpZiAodmFsdWUgPT09IHVuZGVmaW5lZCB8fCB2YWx1ZSA9PT0gbnVsbClcbiAgICAgICAgICAgIHJldHVybiB2YWx1ZTtcbiAgICAgICAgaWYgKHR5cGVvZiB2YWx1ZSAhPT0gXCJvYmplY3RcIilcbiAgICAgICAgICAgIHJldHVybiB2YWx1ZTtcbiAgICAgICAgaWYgKHZhbHVlIGluc3RhbmNlb2YgRGF0ZSlcbiAgICAgICAgICAgIHJldHVybiB2YWx1ZS50b0lTT1N0cmluZygpO1xuICAgICAgICBpZiAoQXJyYXkuaXNBcnJheSh2YWx1ZSkpIHtcbiAgICAgICAgICAgIHJldHVybiB2YWx1ZS5tYXAoKGl0ZW0pID0+IHRoaXMuc2VyaWFsaXplVmFsdWUoaXRlbSwgLi4uYXJncykpO1xuICAgICAgICB9XG4gICAgICAgIGlmIChNb2RlbC5pc01vZGVsKHZhbHVlKSkge1xuICAgICAgICAgICAgcmV0dXJuIHRoaXMuc2VyaWFsaXplTW9kZWwodmFsdWUsIC4uLmFyZ3MpO1xuICAgICAgICB9XG4gICAgICAgIHJldHVybiB0aGlzLnNlcmlhbGl6ZVBsYWluKHZhbHVlLCAuLi5hcmdzKTtcbiAgICB9XG4gICAgc2VyaWFsaXplTW9kZWwodmFsdWUsIC4uLmFyZ3MpIHtcbiAgICAgICAgY29uc3Qgc2VyaWFsaXplZCA9IHRoaXMuc2VyaWFsaXplUGxhaW4odmFsdWUsIC4uLmFyZ3MpO1xuICAgICAgICBjb25zdCBtZXRhZGF0YSA9IHRoaXMuZ2V0TWV0YWRhdGEodmFsdWUuY29uc3RydWN0b3IpID8/XG4gICAgICAgICAgICB2YWx1ZS5jb25zdHJ1Y3Rvcj8ubmFtZTtcbiAgICAgICAgaWYgKG1ldGFkYXRhKVxuICAgICAgICAgICAgc2VyaWFsaXplZFtNb2RlbEtleXMuQU5DSE9SXSA9IG1ldGFkYXRhO1xuICAgICAgICByZXR1cm4gc2VyaWFsaXplZDtcbiAgICB9XG4gICAgc2VyaWFsaXplUGxhaW4odmFsdWUsIC4uLmFyZ3MpIHtcbiAgICAgICAgY29uc3QgcmVzdWx0ID0ge307XG4gICAgICAgIGZvciAoY29uc3QgW2tleSwgY2hpbGRdIG9mIE9iamVjdC5lbnRyaWVzKHZhbHVlKSkge1xuICAgICAgICAgICAgcmVzdWx0W2tleV0gPSB0aGlzLnNlcmlhbGl6ZVZhbHVlKGNoaWxkLCAuLi5hcmdzKTtcbiAgICAgICAgfVxuICAgICAgICByZXR1cm4gcmVzdWx0O1xuICAgIH1cbiAgICBnZXRNZXRhZGF0YShjb25zdHJ1Y3Rvcikge1xuICAgICAgICB0cnkge1xuICAgICAgICAgICAgcmV0dXJuIE1ldGFkYXRhLm1vZGVsTmFtZShjb25zdHJ1Y3Rvcik7XG4gICAgICAgIH1cbiAgICAgICAgY2F0Y2gge1xuICAgICAgICAgICAgcmV0dXJuIHVuZGVmaW5lZDtcbiAgICAgICAgfVxuICAgIH1cbiAgICByZWJ1aWxkVmFsdWUodmFsdWUpIHtcbiAgICAgICAgaWYgKHZhbHVlID09PSBudWxsIHx8IHR5cGVvZiB2YWx1ZSAhPT0gXCJvYmplY3RcIilcbiAgICAgICAgICAgIHJldHVybiB2YWx1ZTtcbiAgICAgICAgaWYgKEFycmF5LmlzQXJyYXkodmFsdWUpKSB7XG4gICAgICAgICAgICByZXR1cm4gdmFsdWUubWFwKChpdGVtKSA9PiB0aGlzLnJlYnVpbGRWYWx1ZShpdGVtKSk7XG4gICAgICAgIH1cbiAgICAgICAgY29uc3QgYW5jaG9yID0gdmFsdWVbTW9kZWxLZXlzLkFOQ0hPUl07XG4gICAgICAgIGNvbnN0IHJlYnVpbHQgPSB0aGlzLnJlYnVpbGRPYmplY3QodmFsdWUpO1xuICAgICAgICBpZiAoIWFuY2hvcilcbiAgICAgICAgICAgIHJldHVybiByZWJ1aWx0O1xuICAgICAgICBpZiAoYW5jaG9yID09PSBcIj8/Y29uZGl0aW9uXCIpXG4gICAgICAgICAgICByZXR1cm4gQ29uZGl0aW9uLmZyb20ocmVidWlsdCk7XG4gICAgICAgIHJldHVybiBNb2RlbC5idWlsZChyZWJ1aWx0LCBhbmNob3IpO1xuICAgIH1cbiAgICByZWJ1aWxkT2JqZWN0KHZhbHVlKSB7XG4gICAgICAgIGNvbnN0IHJlc3VsdCA9IHt9O1xuICAgICAgICBmb3IgKGNvbnN0IFtrZXksIGNoaWxkXSBvZiBPYmplY3QuZW50cmllcyh2YWx1ZSkpIHtcbiAgICAgICAgICAgIGlmIChrZXkgPT09IE1vZGVsS2V5cy5BTkNIT1IpXG4gICAgICAgICAgICAgICAgY29udGludWU7XG4gICAgICAgICAgICByZXN1bHRba2V5XSA9IHRoaXMucmVidWlsZFZhbHVlKGNoaWxkKTtcbiAgICAgICAgfVxuICAgICAgICByZXR1cm4gcmVzdWx0O1xuICAgIH1cbiAgICAvKipcbiAgICAgKiBAc3VtbWFyeSBTZXJpYWxpemVzIGEgbW9kZWxcbiAgICAgKiBAcGFyYW0ge1R9IG1vZGVsXG4gICAgICpcbiAgICAgKiBAdGhyb3dzIHtFcnJvcn0gaWYgZmFpbHMgdG8gc2VyaWFsaXplXG4gICAgICovXG4gICAgLy8gZXNsaW50LWRpc2FibGUtbmV4dC1saW5lIEB0eXBlc2NyaXB0LWVzbGludC9uby11bnVzZWQtdmFyc1xuICAgIHNlcmlhbGl6ZShtb2RlbCwgLi4uYXJncykge1xuICAgICAgICByZXR1cm4gSlNPTi5zdHJpbmdpZnkodGhpcy5wcmVTZXJpYWxpemUobW9kZWwpKTtcbiAgICB9XG59XG5sZXQgTWFudWZhY3R1cmVyQWRkcmVzcyA9IGNsYXNzIE1hbnVmYWN0dXJlckFkZHJlc3MgZXh0ZW5kcyBNb2RlbCB7XG4gICAgY29uc3RydWN0b3IoYXJnKSB7XG4gICAgICAgIHN1cGVyKGFyZyk7XG4gICAgfVxufTtcbl9fZGVjb3JhdGUoW1xuICAgIG1pbmxlbmd0aCgyKSxcbiAgICBfX21ldGFkYXRhKFwiZGVzaWduOnR5cGVcIiwgU3RyaW5nKVxuXSwgTWFudWZhY3R1cmVyQWRkcmVzcy5wcm90b3R5cGUsIFwiYWRkcmVzc1wiLCB2b2lkIDApO1xuTWFudWZhY3R1cmVyQWRkcmVzcyA9IF9fZGVjb3JhdGUoW1xuICAgIG1vZGVsKCksXG4gICAgX19tZXRhZGF0YShcImRlc2lnbjpwYXJhbXR5cGVzXCIsIFtPYmplY3RdKVxuXSwgTWFudWZhY3R1cmVyQWRkcmVzcyk7XG5sZXQgT3RoZXJCYXRjaFNoYXJlZCA9IGNsYXNzIE90aGVyQmF0Y2hTaGFyZWQgZXh0ZW5kcyBCYXNlSWRlbnRpZmllZE1vZGVsIHtcbiAgICBjb25zdHJ1Y3Rvcihtb2RlbCkge1xuICAgICAgICBzdXBlcihtb2RlbCk7XG4gICAgICAgIHRoaXMuYmF0Y2hSZWNhbGwgPSBmYWxzZTtcbiAgICB9XG59O1xuX19kZWNvcmF0ZShbXG4gICAgcGsoKSxcbiAgICBhdWRpdChPdGhlckJhdGNoU2hhcmVkKSxcbiAgICBoaXN0b3J5RGVjKCksXG4gICAgbWlycm9yKFwibWlycm9yLWNvbGxlY3Rpb25cIiwgXCJQaGFybWFsZWRnZXJhc3NvY01TUFwiKSxcbiAgICBjb21wb3NlZChbXCJwcm9kdWN0Q29kZVwiLCBcImJhdGNoTnVtYmVyXCJdLCBcIjpcIiksXG4gICAgZGVzY3JpcHRpb24oXCJVbmlxdWUgaWRlbnRpZmllciBjb21wb3NlZCBvZiBwcm9kdWN0IGNvZGUgYW5kIGJhdGNoIG51bWJlci5cIiksXG4gICAgX19tZXRhZGF0YShcImRlc2lnbjp0eXBlXCIsIFN0cmluZylcbl0sIE90aGVyQmF0Y2hTaGFyZWQucHJvdG90eXBlLCBcImlkXCIsIHZvaWQgMCk7XG5fX2RlY29yYXRlKFtcbiAgICBndGluKCksXG4gICAgcmVhZG9ubHkoKVxuICAgIC8vIEBtYW55VG9PbmUoXG4gICAgLy8gICAoKSA9PiBQcm9kdWN0LFxuICAgIC8vICAgeyB1cGRhdGU6IENhc2NhZGUuTk9ORSwgZGVsZXRlOiBDYXNjYWRlLk5PTkUgfSxcbiAgICAvLyAgIGZhbHNlXG4gICAgLy8gKVxuICAgICxcbiAgICBpbmRleChbT3JkZXJEaXJlY3Rpb24uQVNDLCBPcmRlckRpcmVjdGlvbi5EU0NdKSxcbiAgICBkZXNjcmlwdGlvbihcIkNvZGUgb2YgdGhlIHByb2R1Y3QgYXNzb2NpYXRlZCB3aXRoIHRoaXMgYmF0Y2guXCIpLFxuICAgIGRlZmF1bHRRdWVyeUF0dHIoKSxcbiAgICBfX21ldGFkYXRhKFwiZGVzaWduOnR5cGVcIiwgU3RyaW5nKVxuXSwgT3RoZXJCYXRjaFNoYXJlZC5wcm90b3R5cGUsIFwicHJvZHVjdENvZGVcIiwgdm9pZCAwKTtcbl9fZGVjb3JhdGUoW1xuICAgIGNvbHVtbigpLFxuICAgIHJlYWRvbmx5KCksXG4gICAgcGF0dGVybihCYXRjaFBhdHRlcm4pLFxuICAgIGluZGV4KFtPcmRlckRpcmVjdGlvbi5BU0MsIE9yZGVyRGlyZWN0aW9uLkRTQ10pLFxuICAgIGRlc2NyaXB0aW9uKFwiQmF0Y2ggbnVtYmVyIGFzc2lnbmVkIHRvIHRoZSBwcm9kdWN0LlwiKSxcbiAgICBkZWZhdWx0UXVlcnlBdHRyKCksXG4gICAgX19tZXRhZGF0YShcImRlc2lnbjp0eXBlXCIsIFN0cmluZylcbl0sIE90aGVyQmF0Y2hTaGFyZWQucHJvdG90eXBlLCBcImJhdGNoTnVtYmVyXCIsIHZvaWQgMCk7XG5fX2RlY29yYXRlKFtcbiAgICByZXF1aXJlZCgpLFxuICAgIGNvbHVtbigpLFxuICAgIGRhdGUoXCJ5eXl5LU1NLWRkIEhIOm1tOnNzXCIpLFxuICAgIGluZGV4KFtPcmRlckRpcmVjdGlvbi5BU0MsIE9yZGVyRGlyZWN0aW9uLkRTQ10pLFxuICAgIGRlc2NyaXB0aW9uKFwiRGF0ZSB3aGVuIHRoZSBiYXRjaCBleHBpcmVzLlwiKSxcbiAgICBfX21ldGFkYXRhKFwiZGVzaWduOnR5cGVcIiwgRGF0ZSlcbl0sIE90aGVyQmF0Y2hTaGFyZWQucHJvdG90eXBlLCBcImV4cGlyeURhdGVcIiwgdm9pZCAwKTtcbl9fZGVjb3JhdGUoW1xuICAgIGNvbHVtbigpLFxuICAgIGRlc2NyaXB0aW9uKFwiSW1wb3J0IGxpY2Vuc2UgbnVtYmVyIGZvciB0aGlzIGJhdGNoLlwiKSxcbiAgICBfX21ldGFkYXRhKFwiZGVzaWduOnR5cGVcIiwgU3RyaW5nKVxuXSwgT3RoZXJCYXRjaFNoYXJlZC5wcm90b3R5cGUsIFwiaW1wb3J0TGljZW5zZU51bWJlclwiLCB2b2lkIDApO1xuX19kZWNvcmF0ZShbXG4gICAgY29sdW1uKCksXG4gICAgZGVzY3JpcHRpb24oXCJEYXRlIHdoZW4gdGhlIGJhdGNoIHdhcyBtYW51ZmFjdHVyZWQuXCIpLFxuICAgIGRhdGUoRGF0ZVBhdHRlcm4pLFxuICAgIF9fbWV0YWRhdGEoXCJkZXNpZ246dHlwZVwiLCBEYXRlKVxuXSwgT3RoZXJCYXRjaFNoYXJlZC5wcm90b3R5cGUsIFwiZGF0ZU9mTWFudWZhY3R1cmluZ1wiLCB2b2lkIDApO1xuX19kZWNvcmF0ZShbXG4gICAgY29sdW1uKCksXG4gICAgaW5kZXgoW09yZGVyRGlyZWN0aW9uLkFTQywgT3JkZXJEaXJlY3Rpb24uRFNDXSksXG4gICAgZGVzY3JpcHRpb24oXCJOYW1lIG9mIHRoZSBwcm9kdWN0IG1hbnVmYWN0dXJlci5cIiksXG4gICAgX19tZXRhZGF0YShcImRlc2lnbjp0eXBlXCIsIFN0cmluZylcbl0sIE90aGVyQmF0Y2hTaGFyZWQucHJvdG90eXBlLCBcIm1hbnVmYWN0dXJlck5hbWVcIiwgdm9pZCAwKTtcbl9fZGVjb3JhdGUoW1xuICAgIHNlcmlhbGl6ZShBcnJheVNlcmlhbGl6ZXIpLFxuICAgIGNvbHVtbigpLFxuICAgIGxpc3QoTWFudWZhY3R1cmVyQWRkcmVzcyksXG4gICAgZGVzY3JpcHRpb24oXCJNYW51ZmFjdHVyZXIgYWRkcmVzc1wiKSxcbiAgICBfX21ldGFkYXRhKFwiZGVzaWduOnR5cGVcIiwgQXJyYXkpXG5dLCBPdGhlckJhdGNoU2hhcmVkLnByb3RvdHlwZSwgXCJtYW51ZmFjdHVyZXJBZGRyZXNzXCIsIHZvaWQgMCk7XG5fX2RlY29yYXRlKFtcbiAgICBjb2x1bW4oKSxcbiAgICBkZXNjcmlwdGlvbihcIk5hbWUgb2YgdGhlIHNpdGUgd2hlcmUgdGhlIHByb2R1Y3Qgd2FzIHBhY2thZ2VkLlwiKSxcbiAgICBfX21ldGFkYXRhKFwiZGVzaWduOnR5cGVcIiwgU3RyaW5nKVxuXSwgT3RoZXJCYXRjaFNoYXJlZC5wcm90b3R5cGUsIFwicGFja2FnaW5nU2l0ZU5hbWVcIiwgdm9pZCAwKTtcbl9fZGVjb3JhdGUoW1xuICAgIGNvbHVtbigpLFxuICAgIGluZGV4KFtPcmRlckRpcmVjdGlvbi5BU0MsIE9yZGVyRGlyZWN0aW9uLkRTQ10pLFxuICAgIGRlc2NyaXB0aW9uKFwiSW5kaWNhdGVzIHdoZXRoZXIgdGhpcyBiYXRjaCBoYXMgYmVlbiByZWNhbGxlZC5cIiksXG4gICAgX19tZXRhZGF0YShcImRlc2lnbjp0eXBlXCIsIEJvb2xlYW4pXG5dLCBPdGhlckJhdGNoU2hhcmVkLnByb3RvdHlwZSwgXCJiYXRjaFJlY2FsbFwiLCB2b2lkIDApO1xuX19kZWNvcmF0ZShbXG4gICAgb3duZWRCeSgpLFxuICAgIGRlc2NyaXB0aW9uKFwidGhlIG93bmVyIChtc3ApIG9mIHRoZSBiYXRjaFwiKSxcbiAgICBfX21ldGFkYXRhKFwiZGVzaWduOnR5cGVcIiwgU3RyaW5nKVxuXSwgT3RoZXJCYXRjaFNoYXJlZC5wcm90b3R5cGUsIFwib3duZXJcIiwgdm9pZCAwKTtcbl9fZGVjb3JhdGUoW1xuICAgIHZlcnNpb24oKSxcbiAgICBfX21ldGFkYXRhKFwiZGVzaWduOnR5cGVcIiwgTnVtYmVyKVxuXSwgT3RoZXJCYXRjaFNoYXJlZC5wcm90b3R5cGUsIFwidmVyc2lvblwiLCB2b2lkIDApO1xuT3RoZXJCYXRjaFNoYXJlZCA9IF9fZGVjb3JhdGUoW1xuICAgIHNoYXJlZERhdGEoTmFtZXNwYWNlQ29sbGVjdGlvbihcImRlY2FmLW5hbWVzcGFjZVwiKSksXG4gICAgZGVzY3JpcHRpb24oXCJSZXByZXNlbnRzIGEgcHJvZHVjdCBiYXRjaFwiKSxcbiAgICB1c2VzKEZhYnJpY0ZsYXZvdXIpLFxuICAgIEJsb2NrT3BlcmF0aW9ucyhbT3BlcmF0aW9uS2V5cy5ERUxFVEVdKSxcbiAgICB0YWJsZShcIm90aGVyX2JhdGNoX3NoYXJlZFwiKSxcbiAgICBtb2RlbCgpLFxuICAgIF9fbWV0YWRhdGEoXCJkZXNpZ246cGFyYW10eXBlc1wiLCBbT2JqZWN0XSlcbl0sIE90aGVyQmF0Y2hTaGFyZWQpO1xuZXhwb3J0IHsgT3RoZXJCYXRjaFNoYXJlZCB9O1xuLy8jIHNvdXJjZU1hcHBpbmdVUkw9ZGF0YTphcHBsaWNhdGlvbi9qc29uO2Jhc2U2NCxleUoyWlhKemFXOXVJam96TENKbWFXeGxJam9pVDNSb1pYSkNZWFJqYUZOb1lYSmxaQzVxY3lJc0luTnZkWEpqWlZKdmIzUWlPaUlpTENKemIzVnlZMlZ6SWpwYklpNHVMeTR1THk0dUx5NHVMM055WXk5amIyNTBjbUZqZEM5dGIyUmxiSE12VDNSb1pYSkNZWFJqYUZOb1lYSmxaQzUwY3lKZExDSnVZVzFsY3lJNlcxMHNJbTFoY0hCcGJtZHpJam9pT3pzN096czdPenM3UVVGRFFTeFBRVUZQTEVWQlEwd3NTVUZCU1N4RlFVTktMR05CUVdNc1JVRkRaQ3hKUVVGSkxFVkJRMG9zVTBGQlV5eEZRVU5VTEV0QlFVc3NSVUZEVEN4TFFVRkxMRVZCUTB3c1UwRkJVeXhGUVVOVUxFOUJRVThzUlVGRFVDeFJRVUZSTEVkQlExUXNUVUZCVFN4blEwRkJaME1zUTBGQlF6dEJRVU40UXl4UFFVRlBMRVZCUTB3c1RVRkJUU3hGUVVOT0xGTkJRVk1zUlVGRFZDeG5Ra0ZCWjBJc1JVRkRhRUlzUzBGQlN5eEZRVU5NTEdOQlFXTXNSVUZEWkN4RlFVRkZMRVZCUTBZc1MwRkJTeXhIUVVOT0xFMUJRVTBzWjBKQlFXZENMRU5CUVVNN1FVRkRlRUlzVDBGQlR5eEZRVUZGTEZsQlFWa3NSVUZCUlN4WFFVRlhMRVZCUVVVc2RVSkJRVzlDTzBGQlEzaEVMRTlCUVU4c1JVRkRUQ3hsUVVGbExFVkJRMllzVVVGQlVTeEZRVU5TTEdGQlFXRXNSVUZEWWl4UlFVRlJMRVZCUTFJc1UwRkJVeXhGUVVOVUxFOUJRVThzUjBGRFVpeE5RVUZOTEhsQ1FVRjVRaXhEUVVGRE8wRkJRMnBETEU5QlFVOHNSVUZCWlN4WFFVRlhMRVZCUVVVc1VVRkJVU3hGUVVGRkxFbEJRVWtzUlVGQlJTeE5RVUZOTEhOQ1FVRnpRaXhEUVVGRE8wRkJRMmhHTEU5QlFVOHNSVUZCUlN4dFFrRkJiVUlzUlVGQlJTeHBRMEZCT0VJN1FVRkROVVFzVDBGQlR5eEZRVUZGTEV0QlFVc3NSVUZCUlN4blEwRkJOa0k3UVVGRE4wTXNUMEZCVHl4RlFVRkZMRWxCUVVrc1JVRkJSU3hyUWtGQlpUdEJRVU01UWl4UFFVRlBMRVZCUTB3c1lVRkJZU3hGUVVOaUxFMUJRVTBzUlVGRFRpeHRRa0ZCYlVJc1JVRkRia0lzVDBGQlR5eEZRVU5RTEZWQlFWVXNSMEZEV0N4blEwRkJNa0k3UVVGRE5VSXNUMEZCVHl4RlFVRkZMRlZCUVZVc1JVRkJSU3g1UWtGQmMwSTdRVUZETTBNc09FTkJRVGhETzBGQlJUbERMRTFCUVUwc1QwRkJUeXhsUVVGcFF5eFRRVUZSTEdOQlFXbENPMGxCUTNKRk8xRkJRMFVzUzBGQlN5eEZRVUZGTEVOQlFVTTdTVUZEVml4RFFVRkRPMGxCUlVRN096czdPenM3VDBGUFJ6dEpRVU5uUWl4WlFVRlpMRU5CUVVNc1MwRkJWU3hGUVVGRkxFZEJRVWNzU1VGQlZ6dFJRVU40UkN4UFFVRlBMRWxCUVVrc1EwRkJReXhqUVVGakxFTkJRVU1zUzBGQlN5eEZRVUZGTEVkQlFVY3NTVUZCU1N4RFFVRkRMRU5CUVVNN1NVRkROME1zUTBGQlF6dEpRVVZFT3pzN096dFBRVXRITzBsQlEwZ3NOa1JCUVRaRU8wbEJRM0JFTEZkQlFWY3NRMEZCUXl4SFFVRlhMRVZCUVVVc1IwRkJSeXhKUVVGWE8xRkJRemxETEUxQlFVMHNaVUZCWlN4SFFVRkhMRWxCUVVrc1EwRkJReXhMUVVGTExFTkJRVU1zUjBGQlJ5eERRVUZETEVOQlFVTTdVVUZEZUVNc1QwRkJUeXhKUVVGSkxFTkJRVU1zV1VGQldTeERRVUZETEdWQlFXVXNRMEZCVFN4RFFVRkRPMGxCUTJwRUxFTkJRVU03U1VGRlR5eGpRVUZqTEVOQlFVTXNTMEZCVlN4RlFVRkZMRWRCUVVjc1NVRkJWenRSUVVNdlF5eEpRVUZKTEV0QlFVc3NTMEZCU3l4VFFVRlRMRWxCUVVrc1MwRkJTeXhMUVVGTExFbEJRVWs3V1VGQlJTeFBRVUZQTEV0QlFVc3NRMEZCUXp0UlFVTjRSQ3hKUVVGSkxFOUJRVThzUzBGQlN5eExRVUZMTEZGQlFWRTdXVUZCUlN4UFFVRlBMRXRCUVVzc1EwRkJRenRSUVVNMVF5eEpRVUZKTEV0QlFVc3NXVUZCV1N4SlFVRkpPMWxCUVVVc1QwRkJUeXhMUVVGTExFTkJRVU1zVjBGQlZ5eEZRVUZGTEVOQlFVTTdVVUZEZEVRc1NVRkJTU3hMUVVGTExFTkJRVU1zVDBGQlR5eERRVUZETEV0QlFVc3NRMEZCUXl4RlFVRkZMRU5CUVVNN1dVRkRla0lzVDBGQlR5eExRVUZMTEVOQlFVTXNSMEZCUnl4RFFVRkRMRU5CUVVNc1NVRkJTU3hGUVVGRkxFVkJRVVVzUTBGQlF5eEpRVUZKTEVOQlFVTXNZMEZCWXl4RFFVRkRMRWxCUVVrc1JVRkJSU3hIUVVGSExFbEJRVWtzUTBGQlF5eERRVUZETEVOQlFVTTdVVUZEYWtVc1EwRkJRenRSUVVORUxFbEJRVWtzUzBGQlN5eERRVUZETEU5QlFVOHNRMEZCUXl4TFFVRkxMRU5CUVVNc1JVRkJSU3hEUVVGRE8xbEJRM3BDTEU5QlFVOHNTVUZCU1N4RFFVRkRMR05CUVdNc1EwRkJReXhMUVVGTExFVkJRVVVzUjBGQlJ5eEpRVUZKTEVOQlFVTXNRMEZCUXp0UlFVTTNReXhEUVVGRE8xRkJRMFFzVDBGQlR5eEpRVUZKTEVOQlFVTXNZMEZCWXl4RFFVRkRMRXRCUVVzc1JVRkJSU3hIUVVGSExFbEJRVWtzUTBGQlF5eERRVUZETzBsQlF6ZERMRU5CUVVNN1NVRkZUeXhqUVVGakxFTkJRVU1zUzBGQldTeEZRVUZGTEVkQlFVY3NTVUZCVnp0UlFVTnFSQ3hOUVVGTkxGVkJRVlVzUjBGQlJ5eEpRVUZKTEVOQlFVTXNZMEZCWXl4RFFVTndReXhMUVVFMFFpeEZRVU0xUWl4SFFVRkhMRWxCUVVrc1EwRkRVaXhEUVVGRE8xRkJRMFlzVFVGQlRTeFJRVUZSTEVkQlExb3NTVUZCU1N4RFFVRkRMRmRCUVZjc1EwRkJReXhMUVVGTExFTkJRVU1zVjBGQk1FSXNRMEZCUXp0WlFVTnNSQ3hMUVVGTExFTkJRVU1zVjBGQlZ5eEZRVUZGTEVsQlFVa3NRMEZCUXp0UlFVTXhRaXhKUVVGSkxGRkJRVkU3V1VGQlJTeFZRVUZWTEVOQlFVTXNVMEZCVXl4RFFVRkRMRTFCUVUwc1EwRkJReXhIUVVGSExGRkJRVkVzUTBGQlF6dFJRVU4wUkN4UFFVRlBMRlZCUVZVc1EwRkJRenRKUVVOd1FpeERRVUZETzBsQlJVOHNZMEZCWXl4RFFVTndRaXhMUVVFd1FpeEZRVU14UWl4SFFVRkhMRWxCUVZjN1VVRkZaQ3hOUVVGTkxFMUJRVTBzUjBGQmQwSXNSVUZCUlN4RFFVRkRPMUZCUTNaRExFdEJRVXNzVFVGQlRTeERRVUZETEVkQlFVY3NSVUZCUlN4TFFVRkxMRU5CUVVNc1NVRkJTU3hOUVVGTkxFTkJRVU1zVDBGQlR5eERRVUZETEV0QlFVc3NRMEZCUXl4RlFVRkZMRU5CUVVNN1dVRkRha1FzVFVGQlRTeERRVUZETEVkQlFVY3NRMEZCUXl4SFFVRkhMRWxCUVVrc1EwRkJReXhqUVVGakxFTkJRVU1zUzBGQlN5eEZRVUZGTEVkQlFVY3NTVUZCU1N4RFFVRkRMRU5CUVVNN1VVRkRjRVFzUTBGQlF6dFJRVU5FTEU5QlFVOHNUVUZCVFN4RFFVRkRPMGxCUTJoQ0xFTkJRVU03U1VGRlR5eFhRVUZYTEVOQlFVTXNWMEZCZDBJN1VVRkRNVU1zU1VGQlNTeERRVUZETzFsQlEwZ3NUMEZCVHl4UlFVRlJMRU5CUVVNc1UwRkJVeXhEUVVGRExGZEJRVmNzUTBGQlF5eERRVUZETzFGQlEzcERMRU5CUVVNN1VVRkJReXhOUVVGTkxFTkJRVU03V1VGRFVDeFBRVUZQTEZOQlFWTXNRMEZCUXp0UlFVTnVRaXhEUVVGRE8wbEJRMGdzUTBGQlF6dEpRVVZQTEZsQlFWa3NRMEZCUXl4TFFVRlZPMUZCUXpkQ0xFbEJRVWtzUzBGQlN5eExRVUZMTEVsQlFVa3NTVUZCU1N4UFFVRlBMRXRCUVVzc1MwRkJTeXhSUVVGUk8xbEJRVVVzVDBGQlR5eExRVUZMTEVOQlFVTTdVVUZET1VRc1NVRkJTU3hMUVVGTExFTkJRVU1zVDBGQlR5eERRVUZETEV0QlFVc3NRMEZCUXl4RlFVRkZMRU5CUVVNN1dVRkRla0lzVDBGQlR5eExRVUZMTEVOQlFVTXNSMEZCUnl4RFFVRkRMRU5CUVVNc1NVRkJTU3hGUVVGRkxFVkJRVVVzUTBGQlF5eEpRVUZKTEVOQlFVTXNXVUZCV1N4RFFVRkRMRWxCUVVrc1EwRkJReXhEUVVGRExFTkJRVU03VVVGRGRFUXNRMEZCUXp0UlFVTkVMRTFCUVUwc1RVRkJUU3hIUVVGSExFdEJRVXNzUTBGQlF5eFRRVUZUTEVOQlFVTXNUVUZCVFN4RFFVRkRMRU5CUVVNN1VVRkRka01zVFVGQlRTeFBRVUZQTEVkQlFVY3NTVUZCU1N4RFFVRkRMR0ZCUVdFc1EwRkJReXhMUVVGTExFTkJRVU1zUTBGQlF6dFJRVU14UXl4SlFVRkpMRU5CUVVNc1RVRkJUVHRaUVVGRkxFOUJRVThzVDBGQlR5eERRVUZETzFGQlF6VkNMRWxCUVVrc1RVRkJUU3hMUVVGTExHRkJRV0U3V1VGQlJTeFBRVUZQTEZOQlFWTXNRMEZCUXl4SlFVRkpMRU5CUVVNc1QwRkJUeXhEUVVGRExFTkJRVU03VVVGRE4wUXNUMEZCVHl4TFFVRkxMRU5CUVVNc1MwRkJTeXhEUVVGRExFOUJRVThzUlVGQlJTeE5RVUZOTEVOQlFVTXNRMEZCUXp0SlFVTjBReXhEUVVGRE8wbEJSVThzWVVGQllTeERRVUZETEV0QlFUQkNPMUZCUXpsRExFMUJRVTBzVFVGQlRTeEhRVUYzUWl4RlFVRkZMRU5CUVVNN1VVRkRka01zUzBGQlN5eE5RVUZOTEVOQlFVTXNSMEZCUnl4RlFVRkZMRXRCUVVzc1EwRkJReXhKUVVGSkxFMUJRVTBzUTBGQlF5eFBRVUZQTEVOQlFVTXNTMEZCU3l4RFFVRkRMRVZCUVVVc1EwRkJRenRaUVVOcVJDeEpRVUZKTEVkQlFVY3NTMEZCU3l4VFFVRlRMRU5CUVVNc1RVRkJUVHRuUWtGQlJTeFRRVUZUTzFsQlEzWkRMRTFCUVUwc1EwRkJReXhIUVVGSExFTkJRVU1zUjBGQlJ5eEpRVUZKTEVOQlFVTXNXVUZCV1N4RFFVRkRMRXRCUVVzc1EwRkJReXhEUVVGRE8xRkJRM3BETEVOQlFVTTdVVUZEUkN4UFFVRlBMRTFCUVUwc1EwRkJRenRKUVVOb1FpeERRVUZETzBsQlJVUTdPenM3TzA5QlMwYzdTVUZEU0N3MlJFRkJOa1E3U1VGRGNFUXNVMEZCVXl4RFFVRkRMRXRCUVZFc1JVRkJSU3hIUVVGSExFbEJRVmM3VVVGRGVrTXNUMEZCVHl4SlFVRkpMRU5CUVVNc1UwRkJVeXhEUVVGRExFbEJRVWtzUTBGQlF5eFpRVUZaTEVOQlFVTXNTMEZCU3l4RFFVRkRMRU5CUVVNc1EwRkJRenRKUVVOc1JDeERRVUZETzBOQlEwWTdRVUZGUkN4SlFVTk5MRzFDUVVGdFFpeEhRVVI2UWl4TlFVTk5MRzFDUVVGdlFpeFRRVUZSTEV0QlFVczdTVUZKY2tNc1dVRkJXU3hIUVVGdFF6dFJRVU0zUXl4TFFVRkxMRU5CUVVNc1IwRkJSeXhEUVVGRExFTkJRVU03U1VGRFlpeERRVUZETzBOQlEwWXNRMEZCUVR0QlFVeERPMGxCUkVNc1UwRkJVeXhEUVVGRExFTkJRVU1zUTBGQlF6czdiMFJCUTBrN1FVRkdZaXh0UWtGQmJVSTdTVUZFZUVJc1MwRkJTeXhGUVVGRk96dEhRVU5HTEcxQ1FVRnRRaXhEUVU5NFFqdEJRVkZOTEVsQlFVMHNaMEpCUVdkQ0xFZEJRWFJDTEUxQlFVMHNaMEpCUVdsQ0xGTkJRVkVzYlVKQlFXMUNPMGxCZDBWMlJDeFpRVUZaTEV0QlFXdERPMUZCUXpWRExFdEJRVXNzUTBGQlF5eExRVUZMTEVOQlFVTXNRMEZCUXp0UlFWWm1MR2RDUVVGWExFZEJRVmtzUzBGQlN5eERRVUZETzBsQlZ6ZENMRU5CUVVNN1EwRkRSaXhEUVVGQk8wRkJjRVZETzBsQlRrTXNSVUZCUlN4RlFVRkZPMGxCUTBvc1MwRkJTeXhEUVVGRExHZENRVUZuUWl4RFFVRkRPMGxCUTNaQ0xGVkJRVlVzUlVGQlJUdEpRVU5hTEUxQlFVMHNRMEZCUXl4dFFrRkJiVUlzUlVGQlJTeHpRa0ZCYzBJc1EwRkJRenRKUVVOdVJDeFJRVUZSTEVOQlFVTXNRMEZCUXl4aFFVRmhMRVZCUVVVc1lVRkJZU3hEUVVGRExFVkJRVVVzUjBGQlJ5eERRVUZETzBsQlF6ZERMRmRCUVZjc1EwRkJReXc0UkVGQk9FUXNRMEZCUXpzN05FTkJRMmhGTzBGQldWbzdTVUZXUXl4SlFVRkpMRVZCUVVVN1NVRkRUaXhSUVVGUkxFVkJRVVU3U1VGRFdDeGpRVUZqTzBsQlEyUXNiVUpCUVcxQ08wbEJRMjVDTEc5RVFVRnZSRHRKUVVOd1JDeFZRVUZWTzBsQlExWXNTVUZCU1RzN1NVRkRTQ3hMUVVGTExFTkJRVU1zUTBGQlF5eGpRVUZqTEVOQlFVTXNSMEZCUnl4RlFVRkZMR05CUVdNc1EwRkJReXhIUVVGSExFTkJRVU1zUTBGQlF6dEpRVU12UXl4WFFVRlhMRU5CUVVNc2FVUkJRV2xFTEVOQlFVTTdTVUZET1VRc1owSkJRV2RDTEVWQlFVVTdPM0ZFUVVORk8wRkJVWEpDTzBsQlRrTXNUVUZCVFN4RlFVRkZPMGxCUTFJc1VVRkJVU3hGUVVGRk8wbEJRMVlzVDBGQlR5eERRVUZETEZsQlFWa3NRMEZCUXp0SlFVTnlRaXhMUVVGTExFTkJRVU1zUTBGQlF5eGpRVUZqTEVOQlFVTXNSMEZCUnl4RlFVRkZMR05CUVdNc1EwRkJReXhIUVVGSExFTkJRVU1zUTBGQlF6dEpRVU12UXl4WFFVRlhMRU5CUVVNc2RVTkJRWFZETEVOQlFVTTdTVUZEY0VRc1owSkJRV2RDTEVWQlFVVTdPM0ZFUVVORk8wRkJUM0pDTzBsQlRFTXNVVUZCVVN4RlFVRkZPMGxCUTFZc1RVRkJUU3hGUVVGRk8wbEJRMUlzU1VGQlNTeERRVUZETEhGQ1FVRnhRaXhEUVVGRE8wbEJRek5DTEV0QlFVc3NRMEZCUXl4RFFVRkRMR05CUVdNc1EwRkJReXhIUVVGSExFVkJRVVVzWTBGQll5eERRVUZETEVkQlFVY3NRMEZCUXl4RFFVRkRPMGxCUXk5RExGZEJRVmNzUTBGQlF5dzRRa0ZCT0VJc1EwRkJRenM0UWtGREwwSXNTVUZCU1R0dlJFRkJRenRCUVVsc1FqdEpRVVpETEUxQlFVMHNSVUZCUlR0SlFVTlNMRmRCUVZjc1EwRkJReXgxUTBGQmRVTXNRMEZCUXpzN05rUkJRM2hDTzBGQlN6ZENPMGxCU0VNc1RVRkJUU3hGUVVGRk8wbEJRMUlzVjBGQlZ5eERRVUZETEhWRFFVRjFReXhEUVVGRE8wbEJRM0JFTEVsQlFVa3NRMEZCUXl4WFFVRlhMRU5CUVVNN09FSkJRMGtzU1VGQlNUczJSRUZCUXp0QlFVc3pRanRKUVVoRExFMUJRVTBzUlVGQlJUdEpRVU5TTEV0QlFVc3NRMEZCUXl4RFFVRkRMR05CUVdNc1EwRkJReXhIUVVGSExFVkJRVVVzWTBGQll5eERRVUZETEVkQlFVY3NRMEZCUXl4RFFVRkRPMGxCUXk5RExGZEJRVmNzUTBGQlF5eHRRMEZCYlVNc1EwRkJRenM3TUVSQlEzWkNPMEZCVFRGQ08wbEJTa01zVTBGQlV5eERRVUZETEdWQlFXVXNRMEZCUXp0SlFVTXhRaXhOUVVGTkxFVkJRVVU3U1VGRFVpeEpRVUZKTEVOQlFVTXNiVUpCUVcxQ0xFTkJRVU03U1VGRGVrSXNWMEZCVnl4RFFVRkRMSE5DUVVGelFpeERRVUZET3pzMlJFRkRVVHRCUVVrMVF6dEpRVVpETEUxQlFVMHNSVUZCUlR0SlFVTlNMRmRCUVZjc1EwRkJReXhyUkVGQmEwUXNRMEZCUXpzN01rUkJRM0pETzBGQlN6TkNPMGxCU0VNc1RVRkJUU3hGUVVGRk8wbEJRMUlzUzBGQlN5eERRVUZETEVOQlFVTXNZMEZCWXl4RFFVRkRMRWRCUVVjc1JVRkJSU3hqUVVGakxFTkJRVU1zUjBGQlJ5eERRVUZETEVOQlFVTTdTVUZETDBNc1YwRkJWeXhEUVVGRExHbEVRVUZwUkN4RFFVRkRPenR4UkVGRGJFTTdRVUZKTjBJN1NVRkdReXhQUVVGUExFVkJRVVU3U1VGRFZDeFhRVUZYTEVOQlFVTXNPRUpCUVRoQ0xFTkJRVU03T3l0RFFVTTNRanRCUVVkT08wbEJSRklzVDBGQlR5eEZRVUZGT3p0cFJFRkRaMEk3UVVGMFJXWXNaMEpCUVdkQ08wbEJUalZDTEZWQlFWVXNRMEZCUXl4dFFrRkJiVUlzUTBGQlF5eHBRa0ZCYVVJc1EwRkJReXhEUVVGRE8wbEJRMnhFTEZkQlFWY3NRMEZCUXl3MFFrRkJORUlzUTBGQlF6dEpRVU42UXl4SlFVRkpMRU5CUVVNc1lVRkJZU3hEUVVGRE8wbEJRMjVDTEdWQlFXVXNRMEZCUXl4RFFVRkRMR0ZCUVdFc1EwRkJReXhOUVVGTkxFTkJRVU1zUTBGQlF6dEpRVU4yUXl4TFFVRkxMRU5CUVVNc2IwSkJRVzlDTEVOQlFVTTdTVUZETTBJc1MwRkJTeXhGUVVGRk96dEhRVU5MTEdkQ1FVRm5RaXhEUVRKRk5VSWlMQ0p6YjNWeVkyVnpRMjl1ZEdWdWRDSTZXeUpwYlhCdmNuUWdkSGx3WlNCN0lFMXZaR1ZzUVhKbklIMGdabkp2YlNCY0lrQmtaV05oWmkxMGN5OWtaV052Y21GMGIzSXRkbUZzYVdSaGRHbHZibHdpTzF4dWFXMXdiM0owSUh0Y2JpQWdaR0YwWlN4Y2JpQWdTbE5QVGxObGNtbGhiR2w2WlhJc1hHNGdJR3hwYzNRc1hHNGdJRzFwYm14bGJtZDBhQ3hjYmlBZ1RXOWtaV3dzWEc0Z0lHMXZaR1ZzTEZ4dUlDQk5iMlJsYkV0bGVYTXNYRzRnSUhCaGRIUmxjbTRzWEc0Z0lISmxjWFZwY21Wa0xGeHVmU0JtY205dElGd2lRR1JsWTJGbUxYUnpMMlJsWTI5eVlYUnZjaTEyWVd4cFpHRjBhVzl1WENJN1hHNXBiWEJ2Y25RZ2UxeHVJQ0JqYjJ4MWJXNHNYRzRnSUVOdmJtUnBkR2x2Yml4Y2JpQWdaR1ZtWVhWc2RGRjFaWEo1UVhSMGNpeGNiaUFnYVc1a1pYZ3NYRzRnSUU5eVpHVnlSR2x5WldOMGFXOXVMRnh1SUNCd2F5eGNiaUFnZEdGaWJHVXNYRzU5SUdaeWIyMGdYQ0pBWkdWallXWXRkSE12WTI5eVpWd2lPMXh1YVcxd2IzSjBJSHNnUW1GMFkyaFFZWFIwWlhKdUxDQkVZWFJsVUdGMGRHVnliaUI5SUdaeWIyMGdYQ0l1TDJOdmJuTjBZVzUwYzF3aU8xeHVhVzF3YjNKMElIdGNiaUFnUW14dlkydFBjR1Z5WVhScGIyNXpMRnh1SUNCamIyMXdiM05sWkN4Y2JpQWdUM0JsY21GMGFXOXVTMlY1Y3l4Y2JpQWdjbVZoWkc5dWJIa3NYRzRnSUhObGNtbGhiR2w2WlN4Y2JpQWdkbVZ5YzJsdmJpeGNibjBnWm5KdmJTQmNJa0JrWldOaFppMTBjeTlrWWkxa1pXTnZjbUYwYjNKelhDSTdYRzVwYlhCdmNuUWdleUJEYjI1emRISjFZM1J2Y2l3Z1pHVnpZM0pwY0hScGIyNHNJRTFsZEdGa1lYUmhMQ0IxYzJWeklIMGdabkp2YlNCY0lrQmtaV05oWmkxMGN5OWtaV052Y21GMGFXOXVYQ0k3WEc1cGJYQnZjblFnZXlCQ1lYTmxTV1JsYm5ScFptbGxaRTF2WkdWc0lIMGdabkp2YlNCY0lpNHZRbUZ6WlVsa1pXNTBhV1pwWldSTmIyUmxiRndpTzF4dWFXMXdiM0owSUhzZ1lYVmthWFFnZlNCbWNtOXRJRndpTGk5a1pXTnZjbUYwYjNKekxYQnlhWFpoZEdWY0lqdGNibWx0Y0c5eWRDQjdJR2QwYVc0Z2ZTQm1jbTl0SUZ3aUxpOW5kR2x1WENJN1hHNXBiWEJ2Y25RZ2UxeHVJQ0JHWVdKeWFXTkdiR0YyYjNWeUxGeHVJQ0J0YVhKeWIzSXNYRzRnSUU1aGJXVnpjR0ZqWlVOdmJHeGxZM1JwYjI0c1hHNGdJRzkzYm1Wa1Fua3NYRzRnSUhOb1lYSmxaRVJoZEdFc1hHNTlJR1p5YjIwZ1hDSXVMaTh1TGk5emFHRnlaV1F2YVc1a1pYaGNJanRjYm1sdGNHOXlkQ0I3SUdocGMzUnZjbmxFWldNZ2ZTQm1jbTl0SUZ3aUxpOW9hWE4wYjNKNUxXUmxZMXdpTzF4dUx5OGdhVzF3YjNKMElIc2dhR2x6ZEc5eWVVUmxZeUI5SUdaeWIyMGdYQ0l1TDJocGMzUnZjbmt0WkdWalhDSTdYRzVjYm1WNGNHOXlkQ0JqYkdGemN5QkJjbkpoZVZObGNtbGhiR2w2WlhJOFRTQmxlSFJsYm1SeklFMXZaR1ZzUGlCbGVIUmxibVJ6SUVwVFQwNVRaWEpwWVd4cGVtVnlQRTArSUh0Y2JpQWdZMjl1YzNSeWRXTjBiM0lvS1NCN1hHNGdJQ0FnYzNWd1pYSW9LVHRjYmlBZ2ZWeHVYRzRnSUM4cUtseHVJQ0FnS2lCQWMzVnRiV0Z5ZVNCd2NtVndZWEpsY3lCMGFHVWdiVzlrWld3Z1ptOXlJSE5sY21saGJHbDZZWFJwYjI1Y2JpQWdJQ29nUUdSbGMyTnlhWEIwYVc5dUlISmxkSFZ5Ym5NZ1lTQnphR0ZzYkc5M0lHTnZjSGtnYjJZZ2RHaGxJRzlpYW1WamRDd2dZMjl1ZEdGcGJtbHVaeUJoYmlCbGJuVnRaWEpoWW14bElIdEFiR2x1YXlCTmIyUmxiRXRsZVhNalFVNURTRTlTZlNCd2NtOXdaWEowZVZ4dUlDQWdLaUJ6YnlCMGFHVWdiMkpxWldOMElHTmhiaUJpWlNCeVpXTnZaMjVwZW1Wa0lIVndiMjRnWkdWelpYSnBZV3hwZW1GMGFXOXVYRzRnSUNBcVhHNGdJQ0FxSUVCd1lYSmhiU0I3WVc1NWZTQjJZV3gxWlZ4dUlDQWdLaUJBY0hKdmRHVmpkR1ZrWEc0Z0lDQXFMMXh1SUNCd2NtOTBaV04wWldRZ2IzWmxjbkpwWkdVZ2NISmxVMlZ5YVdGc2FYcGxLSFpoYkhWbE9pQmhibmtzSUM0dUxtRnlaM002SUdGdWVWdGRLU0I3WEc0Z0lDQWdjbVYwZFhKdUlIUm9hWE11YzJWeWFXRnNhWHBsVm1Gc2RXVW9kbUZzZFdVc0lDNHVMbUZ5WjNNcE8xeHVJQ0I5WEc1Y2JpQWdMeW9xWEc0Z0lDQXFJRUJ6ZFcxdFlYSjVJRkpsWW5WcGJHUnpJR0VnYlc5a1pXd2dabkp2YlNCaElITmxjbWxoYkdsNllYUnBiMjVjYmlBZ0lDb2dRSEJoY21GdElIdHpkSEpwYm1kOUlITjBjbHh1SUNBZ0tseHVJQ0FnS2lCQWRHaHliM2R6SUh0RmNuSnZjbjBnU1dZZ2FYUWdabUZwYkhNZ2RHOGdjR0Z5YzJVZ2RHaGxJSE4wY21sdVp5d2diM0lnZEc4Z1luVnBiR1FnZEdobElHMXZaR1ZzWEc0Z0lDQXFMMXh1SUNBdkx5QmxjMnhwYm5RdFpHbHpZV0pzWlMxdVpYaDBMV3hwYm1VZ1FIUjVjR1Z6WTNKcGNIUXRaWE5zYVc1MEwyNXZMWFZ1ZFhObFpDMTJZWEp6WEc0Z0lHOTJaWEp5YVdSbElHUmxjMlZ5YVdGc2FYcGxLSE4wY2pvZ2MzUnlhVzVuTENBdUxpNWhjbWR6T2lCaGJubGJYU2s2SUUwZ2UxeHVJQ0FnSUdOdmJuTjBJR1JsYzJWeWFXRnNhWHBoZEdsdmJpQTlJRXBUVDA0dWNHRnljMlVvYzNSeUtUdGNiaUFnSUNCeVpYUjFjbTRnZEdocGN5NXlaV0oxYVd4a1ZtRnNkV1VvWkdWelpYSnBZV3hwZW1GMGFXOXVLU0JoY3lCTk8xeHVJQ0I5WEc1Y2JpQWdjSEpwZG1GMFpTQnpaWEpwWVd4cGVtVldZV3gxWlNoMllXeDFaVG9nWVc1NUxDQXVMaTVoY21kek9pQmhibmxiWFNrNklHRnVlU0I3WEc0Z0lDQWdhV1lnS0haaGJIVmxJRDA5UFNCMWJtUmxabWx1WldRZ2ZId2dkbUZzZFdVZ1BUMDlJRzUxYkd3cElISmxkSFZ5YmlCMllXeDFaVHRjYmlBZ0lDQnBaaUFvZEhsd1pXOW1JSFpoYkhWbElDRTlQU0JjSW05aWFtVmpkRndpS1NCeVpYUjFjbTRnZG1Gc2RXVTdYRzRnSUNBZ2FXWWdLSFpoYkhWbElHbHVjM1JoYm1ObGIyWWdSR0YwWlNrZ2NtVjBkWEp1SUhaaGJIVmxMblJ2U1ZOUFUzUnlhVzVuS0NrN1hHNGdJQ0FnYVdZZ0tFRnljbUY1TG1selFYSnlZWGtvZG1Gc2RXVXBLU0I3WEc0Z0lDQWdJQ0J5WlhSMWNtNGdkbUZzZFdVdWJXRndLQ2hwZEdWdEtTQTlQaUIwYUdsekxuTmxjbWxoYkdsNlpWWmhiSFZsS0dsMFpXMHNJQzR1TG1GeVozTXBLVHRjYmlBZ0lDQjlYRzRnSUNBZ2FXWWdLRTF2WkdWc0xtbHpUVzlrWld3b2RtRnNkV1VwS1NCN1hHNGdJQ0FnSUNCeVpYUjFjbTRnZEdocGN5NXpaWEpwWVd4cGVtVk5iMlJsYkNoMllXeDFaU3dnTGk0dVlYSm5jeWs3WEc0Z0lDQWdmVnh1SUNBZ0lISmxkSFZ5YmlCMGFHbHpMbk5sY21saGJHbDZaVkJzWVdsdUtIWmhiSFZsTENBdUxpNWhjbWR6S1R0Y2JpQWdmVnh1WEc0Z0lIQnlhWFpoZEdVZ2MyVnlhV0ZzYVhwbFRXOWtaV3dvZG1Gc2RXVTZJRTF2WkdWc0xDQXVMaTVoY21kek9pQmhibmxiWFNrNklGSmxZMjl5WkR4emRISnBibWNzSUdGdWVUNGdlMXh1SUNBZ0lHTnZibk4wSUhObGNtbGhiR2w2WldRZ1BTQjBhR2x6TG5ObGNtbGhiR2w2WlZCc1lXbHVLRnh1SUNBZ0lDQWdkbUZzZFdVZ1lYTWdVbVZqYjNKa1BITjBjbWx1Wnl3Z1lXNTVQaXhjYmlBZ0lDQWdJQzR1TG1GeVozTmNiaUFnSUNBcE8xeHVJQ0FnSUdOdmJuTjBJRzFsZEdGa1lYUmhJRDFjYmlBZ0lDQWdJSFJvYVhNdVoyVjBUV1YwWVdSaGRHRW9kbUZzZFdVdVkyOXVjM1J5ZFdOMGIzSWdZWE1nUTI5dWMzUnlkV04wYjNJcElEOC9YRzRnSUNBZ0lDQjJZV3gxWlM1amIyNXpkSEoxWTNSdmNqOHVibUZ0WlR0Y2JpQWdJQ0JwWmlBb2JXVjBZV1JoZEdFcElITmxjbWxoYkdsNlpXUmJUVzlrWld4TFpYbHpMa0ZPUTBoUFVsMGdQU0J0WlhSaFpHRjBZVHRjYmlBZ0lDQnlaWFIxY200Z2MyVnlhV0ZzYVhwbFpEdGNiaUFnZlZ4dVhHNGdJSEJ5YVhaaGRHVWdjMlZ5YVdGc2FYcGxVR3hoYVc0b1hHNGdJQ0FnZG1Gc2RXVTZJRkpsWTI5eVpEeHpkSEpwYm1jc0lHRnVlVDRzWEc0Z0lDQWdMaTR1WVhKbmN6b2dZVzU1VzExY2JpQWdLVG9nVW1WamIzSmtQSE4wY21sdVp5d2dZVzU1UGlCN1hHNGdJQ0FnWTI5dWMzUWdjbVZ6ZFd4ME9pQlNaV052Y21ROGMzUnlhVzVuTENCaGJuaytJRDBnZTMwN1hHNGdJQ0FnWm05eUlDaGpiMjV6ZENCYmEyVjVMQ0JqYUdsc1pGMGdiMllnVDJKcVpXTjBMbVZ1ZEhKcFpYTW9kbUZzZFdVcEtTQjdYRzRnSUNBZ0lDQnlaWE4xYkhSYmEyVjVYU0E5SUhSb2FYTXVjMlZ5YVdGc2FYcGxWbUZzZFdVb1kyaHBiR1FzSUM0dUxtRnlaM01wTzF4dUlDQWdJSDFjYmlBZ0lDQnlaWFIxY200Z2NtVnpkV3gwTzF4dUlDQjlYRzVjYmlBZ2NISnBkbUYwWlNCblpYUk5aWFJoWkdGMFlTaGpiMjV6ZEhKMVkzUnZjam9nUTI5dWMzUnlkV04wYjNJcE9pQnpkSEpwYm1jZ2ZDQjFibVJsWm1sdVpXUWdlMXh1SUNBZ0lIUnllU0I3WEc0Z0lDQWdJQ0J5WlhSMWNtNGdUV1YwWVdSaGRHRXViVzlrWld4T1lXMWxLR052Ym5OMGNuVmpkRzl5S1R0Y2JpQWdJQ0I5SUdOaGRHTm9JSHRjYmlBZ0lDQWdJSEpsZEhWeWJpQjFibVJsWm1sdVpXUTdYRzRnSUNBZ2ZWeHVJQ0I5WEc1Y2JpQWdjSEpwZG1GMFpTQnlaV0oxYVd4a1ZtRnNkV1VvZG1Gc2RXVTZJR0Z1ZVNrNklHRnVlU0I3WEc0Z0lDQWdhV1lnS0haaGJIVmxJRDA5UFNCdWRXeHNJSHg4SUhSNWNHVnZaaUIyWVd4MVpTQWhQVDBnWENKdlltcGxZM1JjSWlrZ2NtVjBkWEp1SUhaaGJIVmxPMXh1SUNBZ0lHbG1JQ2hCY25KaGVTNXBjMEZ5Y21GNUtIWmhiSFZsS1NrZ2UxeHVJQ0FnSUNBZ2NtVjBkWEp1SUhaaGJIVmxMbTFoY0Nnb2FYUmxiU2tnUFQ0Z2RHaHBjeTV5WldKMWFXeGtWbUZzZFdVb2FYUmxiU2twTzF4dUlDQWdJSDFjYmlBZ0lDQmpiMjV6ZENCaGJtTm9iM0lnUFNCMllXeDFaVnROYjJSbGJFdGxlWE11UVU1RFNFOVNYVHRjYmlBZ0lDQmpiMjV6ZENCeVpXSjFhV3gwSUQwZ2RHaHBjeTV5WldKMWFXeGtUMkpxWldOMEtIWmhiSFZsS1R0Y2JpQWdJQ0JwWmlBb0lXRnVZMmh2Y2lrZ2NtVjBkWEp1SUhKbFluVnBiSFE3WEc0Z0lDQWdhV1lnS0dGdVkyaHZjaUE5UFQwZ1hDSS9QMk52Ym1ScGRHbHZibHdpS1NCeVpYUjFjbTRnUTI5dVpHbDBhVzl1TG1aeWIyMG9jbVZpZFdsc2RDazdYRzRnSUNBZ2NtVjBkWEp1SUUxdlpHVnNMbUoxYVd4a0tISmxZblZwYkhRc0lHRnVZMmh2Y2lrN1hHNGdJSDFjYmx4dUlDQndjbWwyWVhSbElISmxZblZwYkdSUFltcGxZM1FvZG1Gc2RXVTZJRkpsWTI5eVpEeHpkSEpwYm1jc0lHRnVlVDRwT2lCU1pXTnZjbVE4YzNSeWFXNW5MQ0JoYm5rK0lIdGNiaUFnSUNCamIyNXpkQ0J5WlhOMWJIUTZJRkpsWTI5eVpEeHpkSEpwYm1jc0lHRnVlVDRnUFNCN2ZUdGNiaUFnSUNCbWIzSWdLR052Ym5OMElGdHJaWGtzSUdOb2FXeGtYU0J2WmlCUFltcGxZM1F1Wlc1MGNtbGxjeWgyWVd4MVpTa3BJSHRjYmlBZ0lDQWdJR2xtSUNoclpYa2dQVDA5SUUxdlpHVnNTMlY1Y3k1QlRrTklUMUlwSUdOdmJuUnBiblZsTzF4dUlDQWdJQ0FnY21WemRXeDBXMnRsZVYwZ1BTQjBhR2x6TG5KbFluVnBiR1JXWVd4MVpTaGphR2xzWkNrN1hHNGdJQ0FnZlZ4dUlDQWdJSEpsZEhWeWJpQnlaWE4xYkhRN1hHNGdJSDFjYmx4dUlDQXZLaXBjYmlBZ0lDb2dRSE4xYlcxaGNua2dVMlZ5YVdGc2FYcGxjeUJoSUcxdlpHVnNYRzRnSUNBcUlFQndZWEpoYlNCN1ZIMGdiVzlrWld4Y2JpQWdJQ3BjYmlBZ0lDb2dRSFJvY205M2N5QjdSWEp5YjNKOUlHbG1JR1poYVd4eklIUnZJSE5sY21saGJHbDZaVnh1SUNBZ0tpOWNiaUFnTHk4Z1pYTnNhVzUwTFdScGMyRmliR1V0Ym1WNGRDMXNhVzVsSUVCMGVYQmxjMk55YVhCMExXVnpiR2x1ZEM5dWJ5MTFiblZ6WldRdGRtRnljMXh1SUNCdmRtVnljbWxrWlNCelpYSnBZV3hwZW1Vb2JXOWtaV3c2SUUwc0lDNHVMbUZ5WjNNNklHRnVlVnRkS1RvZ2MzUnlhVzVuSUh0Y2JpQWdJQ0J5WlhSMWNtNGdTbE5QVGk1emRISnBibWRwWm5rb2RHaHBjeTV3Y21WVFpYSnBZV3hwZW1Vb2JXOWtaV3dwS1R0Y2JpQWdmVnh1ZlZ4dVhHNUFiVzlrWld3b0tWeHVZMnhoYzNNZ1RXRnVkV1poWTNSMWNtVnlRV1JrY21WemN5QmxlSFJsYm1SeklFMXZaR1ZzSUh0Y2JpQWdRRzFwYm14bGJtZDBhQ2d5S1Z4dUlDQmhaR1J5WlhOeklUb2djM1J5YVc1bk8xeHVYRzRnSUdOdmJuTjBjblZqZEc5eUtHRnlaejg2SUUxdlpHVnNRWEpuUEUxaGJuVm1ZV04wZFhKbGNrRmtaSEpsYzNNK0tTQjdYRzRnSUNBZ2MzVndaWElvWVhKbktUdGNiaUFnZlZ4dWZWeHVYRzVBYzJoaGNtVmtSR0YwWVNoT1lXMWxjM0JoWTJWRGIyeHNaV04wYVc5dUtGd2laR1ZqWVdZdGJtRnRaWE53WVdObFhDSXBLVnh1UUdSbGMyTnlhWEIwYVc5dUtGd2lVbVZ3Y21WelpXNTBjeUJoSUhCeWIyUjFZM1FnWW1GMFkyaGNJaWxjYmtCMWMyVnpLRVpoWW5KcFkwWnNZWFp2ZFhJcFhHNUFRbXh2WTJ0UGNHVnlZWFJwYjI1ektGdFBjR1Z5WVhScGIyNUxaWGx6TGtSRlRFVlVSVjBwWEc1QWRHRmliR1VvWENKdmRHaGxjbDlpWVhSamFGOXphR0Z5WldSY0lpbGNia0J0YjJSbGJDZ3BYRzVsZUhCdmNuUWdZMnhoYzNNZ1QzUm9aWEpDWVhSamFGTm9ZWEpsWkNCbGVIUmxibVJ6SUVKaGMyVkpaR1Z1ZEdsbWFXVmtUVzlrWld3Z2UxeHVJQ0JBY0dzb0tWeHVJQ0JBWVhWa2FYUW9UM1JvWlhKQ1lYUmphRk5vWVhKbFpDbGNiaUFnUUdocGMzUnZjbmxFWldNb0tWeHVJQ0JBYldseWNtOXlLRndpYldseWNtOXlMV052Ykd4bFkzUnBiMjVjSWl3Z1hDSlFhR0Z5YldGc1pXUm5aWEpoYzNOdlkwMVRVRndpS1Z4dUlDQkFZMjl0Y0c5elpXUW9XMXdpY0hKdlpIVmpkRU52WkdWY0lpd2dYQ0ppWVhSamFFNTFiV0psY2x3aVhTd2dYQ0k2WENJcFhHNGdJRUJrWlhOamNtbHdkR2x2YmloY0lsVnVhWEYxWlNCcFpHVnVkR2xtYVdWeUlHTnZiWEJ2YzJWa0lHOW1JSEJ5YjJSMVkzUWdZMjlrWlNCaGJtUWdZbUYwWTJnZ2JuVnRZbVZ5TGx3aUtWeHVJQ0JwWkNFNklITjBjbWx1Wnp0Y2JseHVJQ0JBWjNScGJpZ3BYRzRnSUVCeVpXRmtiMjVzZVNncFhHNGdJQzh2SUVCdFlXNTVWRzlQYm1Vb1hHNGdJQzh2SUNBZ0tDa2dQVDRnVUhKdlpIVmpkQ3hjYmlBZ0x5OGdJQ0I3SUhWd1pHRjBaVG9nUTJGelkyRmtaUzVPVDA1RkxDQmtaV3hsZEdVNklFTmhjMk5oWkdVdVRrOU9SU0I5TEZ4dUlDQXZMeUFnSUdaaGJITmxYRzRnSUM4dklDbGNiaUFnUUdsdVpHVjRLRnRQY21SbGNrUnBjbVZqZEdsdmJpNUJVME1zSUU5eVpHVnlSR2x5WldOMGFXOXVMa1JUUTEwcFhHNGdJRUJrWlhOamNtbHdkR2x2YmloY0lrTnZaR1VnYjJZZ2RHaGxJSEJ5YjJSMVkzUWdZWE56YjJOcFlYUmxaQ0IzYVhSb0lIUm9hWE1nWW1GMFkyZ3VYQ0lwWEc0Z0lFQmtaV1poZFd4MFVYVmxjbmxCZEhSeUtDbGNiaUFnY0hKdlpIVmpkRU52WkdVaE9pQnpkSEpwYm1jN1hHNWNiaUFnUUdOdmJIVnRiaWdwWEc0Z0lFQnlaV0ZrYjI1c2VTZ3BYRzRnSUVCd1lYUjBaWEp1S0VKaGRHTm9VR0YwZEdWeWJpbGNiaUFnUUdsdVpHVjRLRnRQY21SbGNrUnBjbVZqZEdsdmJpNUJVME1zSUU5eVpHVnlSR2x5WldOMGFXOXVMa1JUUTEwcFhHNGdJRUJrWlhOamNtbHdkR2x2YmloY0lrSmhkR05vSUc1MWJXSmxjaUJoYzNOcFoyNWxaQ0IwYnlCMGFHVWdjSEp2WkhWamRDNWNJaWxjYmlBZ1FHUmxabUYxYkhSUmRXVnllVUYwZEhJb0tWeHVJQ0JpWVhSamFFNTFiV0psY2lFNklITjBjbWx1Wnp0Y2JseHVJQ0JBY21WeGRXbHlaV1FvS1Z4dUlDQkFZMjlzZFcxdUtDbGNiaUFnUUdSaGRHVW9YQ0o1ZVhsNUxVMU5MV1JrSUVoSU9tMXRPbk56WENJcFhHNGdJRUJwYm1SbGVDaGJUM0prWlhKRWFYSmxZM1JwYjI0dVFWTkRMQ0JQY21SbGNrUnBjbVZqZEdsdmJpNUVVME5kS1Z4dUlDQkFaR1Z6WTNKcGNIUnBiMjRvWENKRVlYUmxJSGRvWlc0Z2RHaGxJR0poZEdOb0lHVjRjR2x5WlhNdVhDSXBYRzRnSUdWNGNHbHllVVJoZEdVaE9pQkVZWFJsTzF4dVhHNGdJRUJqYjJ4MWJXNG9LVnh1SUNCQVpHVnpZM0pwY0hScGIyNG9YQ0pKYlhCdmNuUWdiR2xqWlc1elpTQnVkVzFpWlhJZ1ptOXlJSFJvYVhNZ1ltRjBZMmd1WENJcFhHNGdJR2x0Y0c5eWRFeHBZMlZ1YzJWT2RXMWlaWEkvT2lCemRISnBibWM3WEc1Y2JpQWdRR052YkhWdGJpZ3BYRzRnSUVCa1pYTmpjbWx3ZEdsdmJpaGNJa1JoZEdVZ2QyaGxiaUIwYUdVZ1ltRjBZMmdnZDJGeklHMWhiblZtWVdOMGRYSmxaQzVjSWlsY2JpQWdRR1JoZEdVb1JHRjBaVkJoZEhSbGNtNHBYRzRnSUdSaGRHVlBaazFoYm5WbVlXTjBkWEpwYm1jL09pQkVZWFJsTzF4dVhHNGdJRUJqYjJ4MWJXNG9LVnh1SUNCQWFXNWtaWGdvVzA5eVpHVnlSR2x5WldOMGFXOXVMa0ZUUXl3Z1QzSmtaWEpFYVhKbFkzUnBiMjR1UkZORFhTbGNiaUFnUUdSbGMyTnlhWEIwYVc5dUtGd2lUbUZ0WlNCdlppQjBhR1VnY0hKdlpIVmpkQ0J0WVc1MVptRmpkSFZ5WlhJdVhDSXBYRzRnSUcxaGJuVm1ZV04wZFhKbGNrNWhiV1UvT2lCemRISnBibWM3WEc1Y2JpQWdRSE5sY21saGJHbDZaU2hCY25KaGVWTmxjbWxoYkdsNlpYSXBYRzRnSUVCamIyeDFiVzRvS1Z4dUlDQkFiR2x6ZENoTllXNTFabUZqZEhWeVpYSkJaR1J5WlhOektWeHVJQ0JBWkdWelkzSnBjSFJwYjI0b1hDSk5ZVzUxWm1GamRIVnlaWElnWVdSa2NtVnpjMXdpS1Z4dUlDQnRZVzUxWm1GamRIVnlaWEpCWkdSeVpYTnpQem9nVFdGdWRXWmhZM1IxY21WeVFXUmtjbVZ6YzF0ZE8xeHVYRzRnSUVCamIyeDFiVzRvS1Z4dUlDQkFaR1Z6WTNKcGNIUnBiMjRvWENKT1lXMWxJRzltSUhSb1pTQnphWFJsSUhkb1pYSmxJSFJvWlNCd2NtOWtkV04wSUhkaGN5QndZV05yWVdkbFpDNWNJaWxjYmlBZ2NHRmphMkZuYVc1blUybDBaVTVoYldVL09pQnpkSEpwYm1jN1hHNWNiaUFnUUdOdmJIVnRiaWdwWEc0Z0lFQnBibVJsZUNoYlQzSmtaWEpFYVhKbFkzUnBiMjR1UVZORExDQlBjbVJsY2tScGNtVmpkR2x2Ymk1RVUwTmRLVnh1SUNCQVpHVnpZM0pwY0hScGIyNG9YQ0pKYm1ScFkyRjBaWE1nZDJobGRHaGxjaUIwYUdseklHSmhkR05vSUdoaGN5QmlaV1Z1SUhKbFkyRnNiR1ZrTGx3aUtWeHVJQ0JpWVhSamFGSmxZMkZzYkRvZ1ltOXZiR1ZoYmlBOUlHWmhiSE5sTzF4dVhHNGdJRUJ2ZDI1bFpFSjVLQ2xjYmlBZ1FHUmxjMk55YVhCMGFXOXVLRndpZEdobElHOTNibVZ5SUNodGMzQXBJRzltSUhSb1pTQmlZWFJqYUZ3aUtWeHVJQ0J2ZDI1bGNpRTZJSE4wY21sdVp6dGNibHh1SUNCQWRtVnljMmx2YmlncFhHNGdJRzkyWlhKeWFXUmxJSFpsY25OcGIyNGhPaUJ1ZFcxaVpYSTdYRzVjYmlBZ1kyOXVjM1J5ZFdOMGIzSW9iVzlrWld3L09pQk5iMlJsYkVGeVp6eFBkR2hsY2tKaGRHTm9VMmhoY21Wa1Bpa2dlMXh1SUNBZ0lITjFjR1Z5S0cxdlpHVnNLVHRjYmlBZ2ZWeHVmVnh1SWwxOSJdfQ==
3
+ exports.OtherBatchShared = void 0;
4
+ var OtherBatchShared_js_1 = require("./../trackedModels/OtherBatchShared.cjs");
5
+ Object.defineProperty(exports, "OtherBatchShared", { enumerable: true, get: function () { return OtherBatchShared_js_1.OtherBatchShared; } });
6
+ //# sourceMappingURL=OtherBatchShared.js.map
7
+ //# sourceMappingURL=OtherBatchShared.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"OtherBatchShared.js","sourceRoot":"","sources":["OtherBatchShared.js"],"names":[],"mappings":";;;AAAA,8EAA0E;AAAjE,uHAAA,gBAAgB,OAAA;AACzB,4CAA4C"}