@tradetrust-yl/token-registry 5.1.1

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 (465) hide show
  1. package/LICENSE +201 -0
  2. package/README.md +446 -0
  3. package/dist/artifacts/TitleEscrow.sol/TitleEscrow.json +823 -0
  4. package/dist/artifacts/TitleEscrowFactory.sol/TitleEscrowFactory.json +123 -0
  5. package/dist/artifacts/TradeTrustToken.sol/TradeTrustToken.json +778 -0
  6. package/dist/artifacts/base/RegistryAccess.sol/RegistryAccess.dbg.json +4 -0
  7. package/dist/artifacts/base/RegistryAccess.sol/RegistryAccess.json +321 -0
  8. package/dist/artifacts/base/SBTUpgradeable.sol/SBTUpgradeable.dbg.json +4 -0
  9. package/dist/artifacts/base/SBTUpgradeable.sol/SBTUpgradeable.json +202 -0
  10. package/dist/artifacts/base/TradeTrustSBT.sol/TradeTrustSBT.dbg.json +4 -0
  11. package/dist/artifacts/base/TradeTrustSBT.sol/TradeTrustSBT.json +374 -0
  12. package/dist/artifacts/base/TradeTrustTokenBase.sol/TradeTrustTokenBase.dbg.json +4 -0
  13. package/dist/artifacts/base/TradeTrustTokenBase.sol/TradeTrustTokenBase.json +757 -0
  14. package/dist/artifacts/base/TradeTrustTokenBaseURI.sol/TradeTrustTokenBaseURI.dbg.json +4 -0
  15. package/dist/artifacts/base/TradeTrustTokenBaseURI.sol/TradeTrustTokenBaseURI.json +655 -0
  16. package/dist/artifacts/base/TradeTrustTokenBurnable.sol/TradeTrustTokenBurnable.dbg.json +4 -0
  17. package/dist/artifacts/base/TradeTrustTokenBurnable.sol/TradeTrustTokenBurnable.json +660 -0
  18. package/dist/artifacts/base/TradeTrustTokenMintable.sol/TradeTrustTokenMintable.dbg.json +4 -0
  19. package/dist/artifacts/base/TradeTrustTokenMintable.sol/TradeTrustTokenMintable.json +676 -0
  20. package/dist/artifacts/base/TradeTrustTokenRestorable.sol/TradeTrustTokenRestorable.dbg.json +4 -0
  21. package/dist/artifacts/base/TradeTrustTokenRestorable.sol/TradeTrustTokenRestorable.json +666 -0
  22. package/dist/artifacts/interfaces/IERC721MetadataUpgradeable.sol/IERC721MetadataUpgradeable.dbg.json +4 -0
  23. package/dist/artifacts/interfaces/IERC721MetadataUpgradeable.sol/IERC721MetadataUpgradeable.json +166 -0
  24. package/dist/artifacts/interfaces/ISBTUpgradeable.sol/ISBTUpgradeable.dbg.json +4 -0
  25. package/dist/artifacts/interfaces/ISBTUpgradeable.sol/ISBTUpgradeable.json +121 -0
  26. package/dist/artifacts/interfaces/ITitleEscrow.sol/ITitleEscrow.dbg.json +4 -0
  27. package/dist/artifacts/interfaces/ITitleEscrow.sol/ITitleEscrow.json +637 -0
  28. package/dist/artifacts/interfaces/ITitleEscrowFactory.sol/ITitleEscrowFactory.dbg.json +4 -0
  29. package/dist/artifacts/interfaces/ITitleEscrowFactory.sol/ITitleEscrowFactory.json +92 -0
  30. package/dist/artifacts/interfaces/ITitleEscrowSignable.sol/ITitleEscrowSignable.dbg.json +4 -0
  31. package/dist/artifacts/interfaces/ITitleEscrowSignable.sol/ITitleEscrowSignable.json +784 -0
  32. package/dist/artifacts/interfaces/ITradeTrustSBT.sol/ITradeTrustSBT.dbg.json +4 -0
  33. package/dist/artifacts/interfaces/ITradeTrustSBT.sol/ITradeTrustSBT.json +219 -0
  34. package/dist/artifacts/interfaces/ITradeTrustToken.sol/ITradeTrustToken.dbg.json +4 -0
  35. package/dist/artifacts/interfaces/ITradeTrustToken.sol/ITradeTrustToken.json +295 -0
  36. package/dist/artifacts/interfaces/ITradeTrustTokenBurnable.sol/ITradeTrustTokenBurnable.dbg.json +4 -0
  37. package/dist/artifacts/interfaces/ITradeTrustTokenBurnable.sol/ITradeTrustTokenBurnable.json +29 -0
  38. package/dist/artifacts/interfaces/ITradeTrustTokenMintable.sol/ITradeTrustTokenMintable.dbg.json +4 -0
  39. package/dist/artifacts/interfaces/ITradeTrustTokenMintable.sol/ITradeTrustTokenMintable.json +45 -0
  40. package/dist/artifacts/interfaces/ITradeTrustTokenRestorable.sol/ITradeTrustTokenRestorable.dbg.json +4 -0
  41. package/dist/artifacts/interfaces/ITradeTrustTokenRestorable.sol/ITradeTrustTokenRestorable.json +35 -0
  42. package/dist/artifacts/interfaces/RegistryAccessErrors.sol/RegistryAccessErrors.dbg.json +4 -0
  43. package/dist/artifacts/interfaces/RegistryAccessErrors.sol/RegistryAccessErrors.json +16 -0
  44. package/dist/artifacts/interfaces/SigHelperErrors.sol/SigHelperErrors.dbg.json +4 -0
  45. package/dist/artifacts/interfaces/SigHelperErrors.sol/SigHelperErrors.json +16 -0
  46. package/dist/artifacts/interfaces/TDocDeployerErrors.sol/TDocDeployerErrors.dbg.json +4 -0
  47. package/dist/artifacts/interfaces/TDocDeployerErrors.sol/TDocDeployerErrors.json +37 -0
  48. package/dist/artifacts/interfaces/TitleEscrowErrors.sol/TitleEscrowErrors.dbg.json +4 -0
  49. package/dist/artifacts/interfaces/TitleEscrowErrors.sol/TitleEscrowErrors.json +119 -0
  50. package/dist/artifacts/interfaces/TitleEscrowFactoryErrors.sol/TitleEscrowFactoryErrors.dbg.json +4 -0
  51. package/dist/artifacts/interfaces/TitleEscrowFactoryErrors.sol/TitleEscrowFactoryErrors.json +16 -0
  52. package/dist/artifacts/interfaces/TitleEscrowSignableErrors.sol/TitleEscrowSignableErrors.dbg.json +4 -0
  53. package/dist/artifacts/interfaces/TitleEscrowSignableErrors.sol/TitleEscrowSignableErrors.json +69 -0
  54. package/dist/artifacts/interfaces/TradeTrustTokenErrors.sol/TradeTrustTokenErrors.dbg.json +4 -0
  55. package/dist/artifacts/interfaces/TradeTrustTokenErrors.sol/TradeTrustTokenErrors.json +36 -0
  56. package/dist/artifacts/mocks/ERC721ReceiverMock.sol/ERC721ReceiverMock.dbg.json +4 -0
  57. package/dist/artifacts/mocks/ERC721ReceiverMock.sol/ERC721ReceiverMock.json +101 -0
  58. package/dist/artifacts/mocks/SBTUpgradeableMock.sol/SBTUpgradeableMock.dbg.json +4 -0
  59. package/dist/artifacts/mocks/SBTUpgradeableMock.sol/SBTUpgradeableMock.json +304 -0
  60. package/dist/artifacts/mocks/SigHelperMock.sol/SigHelperMock.dbg.json +4 -0
  61. package/dist/artifacts/mocks/SigHelperMock.sol/SigHelperMock.json +182 -0
  62. package/dist/artifacts/mocks/SimpleCaller.sol/SimpleCaller.dbg.json +4 -0
  63. package/dist/artifacts/mocks/SimpleCaller.sol/SimpleCaller.json +35 -0
  64. package/dist/artifacts/mocks/TitleEscrowFactoryCallerMock.sol/TitleEscrowFactoryCallerMock.dbg.json +4 -0
  65. package/dist/artifacts/mocks/TitleEscrowFactoryCallerMock.sol/TitleEscrowFactoryCallerMock.json +29 -0
  66. package/dist/artifacts/mocks/TitleEscrowFactoryGetterMock.sol/TitleEscrowFactoryGetterMock.dbg.json +4 -0
  67. package/dist/artifacts/mocks/TitleEscrowFactoryGetterMock.sol/TitleEscrowFactoryGetterMock.json +66 -0
  68. package/dist/artifacts/mocks/TitleEscrowMock.sol/TitleEscrowMock.dbg.json +4 -0
  69. package/dist/artifacts/mocks/TitleEscrowMock.sol/TitleEscrowMock.json +869 -0
  70. package/dist/artifacts/mocks/TradeTrustTokenMock.sol/TradeTrustTokenMock.dbg.json +4 -0
  71. package/dist/artifacts/mocks/TradeTrustTokenMock.sol/TradeTrustTokenMock.json +815 -0
  72. package/dist/artifacts/presets/TitleEscrowSignable.sol/TitleEscrowSignable.dbg.json +4 -0
  73. package/dist/artifacts/presets/TitleEscrowSignable.sol/TitleEscrowSignable.json +1132 -0
  74. package/dist/artifacts/presets/TradeTrustTokenStandard.sol/TradeTrustTokenStandard.dbg.json +4 -0
  75. package/dist/artifacts/presets/TradeTrustTokenStandard.sol/TradeTrustTokenStandard.json +775 -0
  76. package/dist/artifacts/utils/SigHelper.sol/SigHelper.dbg.json +4 -0
  77. package/dist/artifacts/utils/SigHelper.sol/SigHelper.json +67 -0
  78. package/dist/artifacts/utils/TDocDeployer.sol/TDocDeployer.dbg.json +4 -0
  79. package/dist/artifacts/utils/TDocDeployer.sol/TDocDeployer.json +402 -0
  80. package/dist/constants/contract-address.js +56 -0
  81. package/dist/constants/contract-interface-id.js +18 -0
  82. package/dist/constants/contract-interfaces.js +17 -0
  83. package/dist/constants/default-address.js +19 -0
  84. package/dist/constants/index.js +49 -0
  85. package/dist/constants/role-hash.js +24 -0
  86. package/dist/contracts/@openzeppelin/contracts/access/IAccessControl.js +13 -0
  87. package/dist/contracts/@openzeppelin/contracts/access/IAccessControl.ts +293 -0
  88. package/dist/contracts/@openzeppelin/contracts/access/index.js +5 -0
  89. package/dist/contracts/@openzeppelin/contracts/access/index.ts +5 -0
  90. package/dist/contracts/@openzeppelin/contracts/index.js +5 -0
  91. package/dist/contracts/@openzeppelin/contracts/index.ts +14 -0
  92. package/dist/contracts/@openzeppelin/contracts/interfaces/IERC1967.js +13 -0
  93. package/dist/contracts/@openzeppelin/contracts/interfaces/IERC1967.ts +169 -0
  94. package/dist/contracts/@openzeppelin/contracts/interfaces/draft-IERC1822.sol/IERC1822Proxiable.js +5 -0
  95. package/dist/contracts/@openzeppelin/contracts/interfaces/draft-IERC1822.sol/IERC1822Proxiable.ts +91 -0
  96. package/dist/contracts/@openzeppelin/contracts/interfaces/draft-IERC1822.sol/index.js +5 -0
  97. package/dist/contracts/@openzeppelin/contracts/interfaces/draft-IERC1822.sol/index.ts +5 -0
  98. package/dist/contracts/@openzeppelin/contracts/interfaces/index.js +5 -0
  99. package/dist/contracts/@openzeppelin/contracts/interfaces/index.ts +7 -0
  100. package/dist/contracts/@openzeppelin/contracts/proxy/ERC1967/ERC1967Utils.js +5 -0
  101. package/dist/contracts/@openzeppelin/contracts/proxy/ERC1967/ERC1967Utils.ts +70 -0
  102. package/dist/contracts/@openzeppelin/contracts/proxy/ERC1967/index.js +5 -0
  103. package/dist/contracts/@openzeppelin/contracts/proxy/ERC1967/index.ts +5 -0
  104. package/dist/contracts/@openzeppelin/contracts/proxy/beacon/IBeacon.js +5 -0
  105. package/dist/contracts/@openzeppelin/contracts/proxy/beacon/IBeacon.ts +91 -0
  106. package/dist/contracts/@openzeppelin/contracts/proxy/beacon/index.js +5 -0
  107. package/dist/contracts/@openzeppelin/contracts/proxy/beacon/index.ts +5 -0
  108. package/dist/contracts/@openzeppelin/contracts/proxy/index.js +5 -0
  109. package/dist/contracts/@openzeppelin/contracts/proxy/index.ts +10 -0
  110. package/dist/contracts/@openzeppelin/contracts/proxy/utils/Initializable.js +11 -0
  111. package/dist/contracts/@openzeppelin/contracts/proxy/utils/Initializable.ts +106 -0
  112. package/dist/contracts/@openzeppelin/contracts/proxy/utils/index.js +5 -0
  113. package/dist/contracts/@openzeppelin/contracts/proxy/utils/index.ts +5 -0
  114. package/dist/contracts/@openzeppelin/contracts/token/ERC721/IERC721Receiver.js +5 -0
  115. package/dist/contracts/@openzeppelin/contracts/token/ERC721/IERC721Receiver.ts +111 -0
  116. package/dist/contracts/@openzeppelin/contracts/token/ERC721/index.js +5 -0
  117. package/dist/contracts/@openzeppelin/contracts/token/ERC721/index.ts +5 -0
  118. package/dist/contracts/@openzeppelin/contracts/token/index.js +5 -0
  119. package/dist/contracts/@openzeppelin/contracts/token/index.ts +6 -0
  120. package/dist/contracts/@openzeppelin/contracts/utils/Address.js +5 -0
  121. package/dist/contracts/@openzeppelin/contracts/utils/Address.ts +70 -0
  122. package/dist/contracts/@openzeppelin/contracts/utils/Errors.js +5 -0
  123. package/dist/contracts/@openzeppelin/contracts/utils/Errors.ts +70 -0
  124. package/dist/contracts/@openzeppelin/contracts/utils/Pausable.js +12 -0
  125. package/dist/contracts/@openzeppelin/contracts/utils/Pausable.ts +151 -0
  126. package/dist/contracts/@openzeppelin/contracts/utils/Strings.js +5 -0
  127. package/dist/contracts/@openzeppelin/contracts/utils/Strings.ts +70 -0
  128. package/dist/contracts/@openzeppelin/contracts/utils/cryptography/ECDSA.js +5 -0
  129. package/dist/contracts/@openzeppelin/contracts/utils/cryptography/ECDSA.ts +70 -0
  130. package/dist/contracts/@openzeppelin/contracts/utils/cryptography/index.js +5 -0
  131. package/dist/contracts/@openzeppelin/contracts/utils/cryptography/index.ts +5 -0
  132. package/dist/contracts/@openzeppelin/contracts/utils/index.js +5 -0
  133. package/dist/contracts/@openzeppelin/contracts/utils/index.ts +14 -0
  134. package/dist/contracts/@openzeppelin/contracts/utils/introspection/IERC165.js +5 -0
  135. package/dist/contracts/@openzeppelin/contracts/utils/introspection/IERC165.ts +95 -0
  136. package/dist/contracts/@openzeppelin/contracts/utils/introspection/index.js +5 -0
  137. package/dist/contracts/@openzeppelin/contracts/utils/introspection/index.ts +5 -0
  138. package/dist/contracts/@openzeppelin/contracts/utils/math/SafeCast.js +5 -0
  139. package/dist/contracts/@openzeppelin/contracts/utils/math/SafeCast.ts +70 -0
  140. package/dist/contracts/@openzeppelin/contracts/utils/math/index.js +5 -0
  141. package/dist/contracts/@openzeppelin/contracts/utils/math/index.ts +5 -0
  142. package/dist/contracts/@openzeppelin/contracts-upgradeable/access/AccessControlUpgradeable.js +14 -0
  143. package/dist/contracts/@openzeppelin/contracts-upgradeable/access/AccessControlUpgradeable.ts +360 -0
  144. package/dist/contracts/@openzeppelin/contracts-upgradeable/access/OwnableUpgradeable.js +12 -0
  145. package/dist/contracts/@openzeppelin/contracts-upgradeable/access/OwnableUpgradeable.ts +187 -0
  146. package/dist/contracts/@openzeppelin/contracts-upgradeable/access/index.js +5 -0
  147. package/dist/contracts/@openzeppelin/contracts-upgradeable/access/index.ts +6 -0
  148. package/dist/contracts/@openzeppelin/contracts-upgradeable/index.js +5 -0
  149. package/dist/contracts/@openzeppelin/contracts-upgradeable/index.ts +10 -0
  150. package/dist/contracts/@openzeppelin/contracts-upgradeable/proxy/index.js +5 -0
  151. package/dist/contracts/@openzeppelin/contracts-upgradeable/proxy/index.ts +6 -0
  152. package/dist/contracts/@openzeppelin/contracts-upgradeable/proxy/utils/Initializable.js +11 -0
  153. package/dist/contracts/@openzeppelin/contracts-upgradeable/proxy/utils/Initializable.ts +106 -0
  154. package/dist/contracts/@openzeppelin/contracts-upgradeable/proxy/utils/UUPSUpgradeable.js +12 -0
  155. package/dist/contracts/@openzeppelin/contracts-upgradeable/proxy/utils/UUPSUpgradeable.ts +197 -0
  156. package/dist/contracts/@openzeppelin/contracts-upgradeable/proxy/utils/index.js +5 -0
  157. package/dist/contracts/@openzeppelin/contracts-upgradeable/proxy/utils/index.ts +6 -0
  158. package/dist/contracts/@openzeppelin/contracts-upgradeable/utils/ContextUpgradeable.js +11 -0
  159. package/dist/contracts/@openzeppelin/contracts-upgradeable/utils/ContextUpgradeable.ts +106 -0
  160. package/dist/contracts/@openzeppelin/contracts-upgradeable/utils/PausableUpgradeable.js +13 -0
  161. package/dist/contracts/@openzeppelin/contracts-upgradeable/utils/PausableUpgradeable.ts +184 -0
  162. package/dist/contracts/@openzeppelin/contracts-upgradeable/utils/index.js +5 -0
  163. package/dist/contracts/@openzeppelin/contracts-upgradeable/utils/index.ts +8 -0
  164. package/dist/contracts/@openzeppelin/contracts-upgradeable/utils/introspection/ERC165Upgradeable.js +11 -0
  165. package/dist/contracts/@openzeppelin/contracts-upgradeable/utils/introspection/ERC165Upgradeable.ts +131 -0
  166. package/dist/contracts/@openzeppelin/contracts-upgradeable/utils/introspection/index.js +5 -0
  167. package/dist/contracts/@openzeppelin/contracts-upgradeable/utils/introspection/index.ts +5 -0
  168. package/dist/contracts/@openzeppelin/index.js +5 -0
  169. package/dist/contracts/@openzeppelin/index.ts +8 -0
  170. package/dist/contracts/common.js +5 -0
  171. package/dist/contracts/common.ts +132 -0
  172. package/dist/contracts/contracts/TitleEscrow.js +20 -0
  173. package/dist/contracts/contracts/TitleEscrow.ts +874 -0
  174. package/dist/contracts/contracts/TitleEscrowFactory.js +11 -0
  175. package/dist/contracts/contracts/TitleEscrowFactory.ts +171 -0
  176. package/dist/contracts/contracts/TradeTrustToken.js +19 -0
  177. package/dist/contracts/contracts/TradeTrustToken.ts +819 -0
  178. package/dist/contracts/contracts/base/RegistryAccess.js +14 -0
  179. package/dist/contracts/contracts/base/RegistryAccess.ts +424 -0
  180. package/dist/contracts/contracts/base/SBTUpgradeable.js +12 -0
  181. package/dist/contracts/contracts/base/SBTUpgradeable.ts +260 -0
  182. package/dist/contracts/contracts/base/TradeTrustSBT.js +16 -0
  183. package/dist/contracts/contracts/base/TradeTrustSBT.ts +442 -0
  184. package/dist/contracts/contracts/base/TradeTrustTokenBase.js +19 -0
  185. package/dist/contracts/contracts/base/TradeTrustTokenBase.ts +819 -0
  186. package/dist/contracts/contracts/base/TradeTrustTokenBaseURI.js +19 -0
  187. package/dist/contracts/contracts/base/TradeTrustTokenBaseURI.ts +736 -0
  188. package/dist/contracts/contracts/base/TradeTrustTokenBurnable.js +19 -0
  189. package/dist/contracts/contracts/base/TradeTrustTokenBurnable.ts +747 -0
  190. package/dist/contracts/contracts/base/TradeTrustTokenMintable.js +19 -0
  191. package/dist/contracts/contracts/base/TradeTrustTokenMintable.ts +757 -0
  192. package/dist/contracts/contracts/base/TradeTrustTokenRestorable.js +19 -0
  193. package/dist/contracts/contracts/base/TradeTrustTokenRestorable.ts +747 -0
  194. package/dist/contracts/contracts/base/index.js +5 -0
  195. package/dist/contracts/contracts/base/index.ts +12 -0
  196. package/dist/contracts/contracts/index.js +5 -0
  197. package/dist/contracts/contracts/index.ts +17 -0
  198. package/dist/contracts/contracts/interfaces/IERC721MetadataUpgradeable.js +11 -0
  199. package/dist/contracts/contracts/interfaces/IERC721MetadataUpgradeable.ts +222 -0
  200. package/dist/contracts/contracts/interfaces/ISBTUpgradeable.js +11 -0
  201. package/dist/contracts/contracts/interfaces/ISBTUpgradeable.ts +195 -0
  202. package/dist/contracts/contracts/interfaces/ITitleEscrow.js +19 -0
  203. package/dist/contracts/contracts/interfaces/ITitleEscrow.ts +798 -0
  204. package/dist/contracts/contracts/interfaces/ITitleEscrowFactory.js +11 -0
  205. package/dist/contracts/contracts/interfaces/ITitleEscrowFactory.ts +171 -0
  206. package/dist/contracts/contracts/interfaces/ITitleEscrowSignable.js +20 -0
  207. package/dist/contracts/contracts/interfaces/ITitleEscrowSignable.ts +923 -0
  208. package/dist/contracts/contracts/interfaces/ITradeTrustSBT.js +13 -0
  209. package/dist/contracts/contracts/interfaces/ITradeTrustSBT.ts +313 -0
  210. package/dist/contracts/contracts/interfaces/ITradeTrustToken.js +13 -0
  211. package/dist/contracts/contracts/interfaces/ITradeTrustToken.ts +380 -0
  212. package/dist/contracts/contracts/interfaces/ITradeTrustTokenBurnable.js +5 -0
  213. package/dist/contracts/contracts/interfaces/ITradeTrustTokenBurnable.ts +97 -0
  214. package/dist/contracts/contracts/interfaces/ITradeTrustTokenMintable.js +5 -0
  215. package/dist/contracts/contracts/interfaces/ITradeTrustTokenMintable.ts +108 -0
  216. package/dist/contracts/contracts/interfaces/ITradeTrustTokenRestorable.js +5 -0
  217. package/dist/contracts/contracts/interfaces/ITradeTrustTokenRestorable.ts +97 -0
  218. package/dist/contracts/contracts/interfaces/RegistryAccessErrors.js +5 -0
  219. package/dist/contracts/contracts/interfaces/RegistryAccessErrors.ts +70 -0
  220. package/dist/contracts/contracts/interfaces/SigHelperErrors.js +5 -0
  221. package/dist/contracts/contracts/interfaces/SigHelperErrors.ts +70 -0
  222. package/dist/contracts/contracts/interfaces/TDocDeployerErrors.js +5 -0
  223. package/dist/contracts/contracts/interfaces/TDocDeployerErrors.ts +70 -0
  224. package/dist/contracts/contracts/interfaces/TitleEscrowErrors.js +5 -0
  225. package/dist/contracts/contracts/interfaces/TitleEscrowErrors.ts +70 -0
  226. package/dist/contracts/contracts/interfaces/TitleEscrowFactoryErrors.js +5 -0
  227. package/dist/contracts/contracts/interfaces/TitleEscrowFactoryErrors.ts +70 -0
  228. package/dist/contracts/contracts/interfaces/TitleEscrowSignableErrors.js +5 -0
  229. package/dist/contracts/contracts/interfaces/TitleEscrowSignableErrors.ts +70 -0
  230. package/dist/contracts/contracts/interfaces/TradeTrustTokenErrors.js +5 -0
  231. package/dist/contracts/contracts/interfaces/TradeTrustTokenErrors.ts +70 -0
  232. package/dist/contracts/contracts/interfaces/index.js +5 -0
  233. package/dist/contracts/contracts/interfaces/index.ts +21 -0
  234. package/dist/contracts/contracts/mocks/ERC721ReceiverMock.js +11 -0
  235. package/dist/contracts/contracts/mocks/ERC721ReceiverMock.ts +184 -0
  236. package/dist/contracts/contracts/mocks/SBTUpgradeableMock.js +12 -0
  237. package/dist/contracts/contracts/mocks/SBTUpgradeableMock.ts +344 -0
  238. package/dist/contracts/contracts/mocks/SigHelperMock.js +5 -0
  239. package/dist/contracts/contracts/mocks/SigHelperMock.ts +183 -0
  240. package/dist/contracts/contracts/mocks/SimpleCaller.js +5 -0
  241. package/dist/contracts/contracts/mocks/SimpleCaller.ts +100 -0
  242. package/dist/contracts/contracts/mocks/TitleEscrowFactoryCallerMock.js +5 -0
  243. package/dist/contracts/contracts/mocks/TitleEscrowFactoryCallerMock.ts +98 -0
  244. package/dist/contracts/contracts/mocks/TitleEscrowFactoryGetterMock.js +5 -0
  245. package/dist/contracts/contracts/mocks/TitleEscrowFactoryGetterMock.ts +139 -0
  246. package/dist/contracts/contracts/mocks/TitleEscrowMock.js +20 -0
  247. package/dist/contracts/contracts/mocks/TitleEscrowMock.ts +916 -0
  248. package/dist/contracts/contracts/mocks/TradeTrustTokenMock.js +19 -0
  249. package/dist/contracts/contracts/mocks/TradeTrustTokenMock.ts +859 -0
  250. package/dist/contracts/contracts/mocks/index.js +5 -0
  251. package/dist/contracts/contracts/mocks/index.ts +12 -0
  252. package/dist/contracts/contracts/presets/TitleEscrowSignable.js +21 -0
  253. package/dist/contracts/contracts/presets/TitleEscrowSignable.ts +1054 -0
  254. package/dist/contracts/contracts/presets/TradeTrustTokenStandard.js +19 -0
  255. package/dist/contracts/contracts/presets/TradeTrustTokenStandard.ts +830 -0
  256. package/dist/contracts/contracts/presets/index.js +5 -0
  257. package/dist/contracts/contracts/presets/index.ts +6 -0
  258. package/dist/contracts/contracts/utils/SigHelper.js +5 -0
  259. package/dist/contracts/contracts/utils/SigHelper.ts +111 -0
  260. package/dist/contracts/contracts/utils/TDocDeployer.js +15 -0
  261. package/dist/contracts/contracts/utils/TDocDeployer.ts +442 -0
  262. package/dist/contracts/contracts/utils/index.js +5 -0
  263. package/dist/contracts/contracts/utils/index.ts +6 -0
  264. package/dist/contracts/factories/@openzeppelin/contracts/access/IAccessControl__factory.js +169 -0
  265. package/dist/contracts/factories/@openzeppelin/contracts/access/IAccessControl__factory.ts +219 -0
  266. package/dist/contracts/factories/@openzeppelin/contracts/access/index.js +12 -0
  267. package/dist/contracts/factories/@openzeppelin/contracts/access/index.ts +5 -0
  268. package/dist/contracts/factories/@openzeppelin/contracts/index.js +18 -0
  269. package/dist/contracts/factories/@openzeppelin/contracts/index.ts +9 -0
  270. package/dist/contracts/factories/@openzeppelin/contracts/interfaces/IERC1967__factory.js +54 -0
  271. package/dist/contracts/factories/@openzeppelin/contracts/interfaces/IERC1967__factory.ts +68 -0
  272. package/dist/contracts/factories/@openzeppelin/contracts/interfaces/draft-IERC1822.sol/IERC1822Proxiable__factory.js +29 -0
  273. package/dist/contracts/factories/@openzeppelin/contracts/interfaces/draft-IERC1822.sol/IERC1822Proxiable__factory.ts +39 -0
  274. package/dist/contracts/factories/@openzeppelin/contracts/interfaces/draft-IERC1822.sol/index.js +12 -0
  275. package/dist/contracts/factories/@openzeppelin/contracts/interfaces/draft-IERC1822.sol/index.ts +5 -0
  276. package/dist/contracts/factories/@openzeppelin/contracts/interfaces/index.js +17 -0
  277. package/dist/contracts/factories/@openzeppelin/contracts/interfaces/index.ts +6 -0
  278. package/dist/contracts/factories/@openzeppelin/contracts/proxy/ERC1967/ERC1967Utils__factory.js +66 -0
  279. package/dist/contracts/factories/@openzeppelin/contracts/proxy/ERC1967/ERC1967Utils__factory.ts +106 -0
  280. package/dist/contracts/factories/@openzeppelin/contracts/proxy/ERC1967/index.js +12 -0
  281. package/dist/contracts/factories/@openzeppelin/contracts/proxy/ERC1967/index.ts +5 -0
  282. package/dist/contracts/factories/@openzeppelin/contracts/proxy/beacon/IBeacon__factory.js +29 -0
  283. package/dist/contracts/factories/@openzeppelin/contracts/proxy/beacon/IBeacon__factory.ts +36 -0
  284. package/dist/contracts/factories/@openzeppelin/contracts/proxy/beacon/index.js +12 -0
  285. package/dist/contracts/factories/@openzeppelin/contracts/proxy/beacon/index.ts +5 -0
  286. package/dist/contracts/factories/@openzeppelin/contracts/proxy/index.js +14 -0
  287. package/dist/contracts/factories/@openzeppelin/contracts/proxy/index.ts +7 -0
  288. package/dist/contracts/factories/@openzeppelin/contracts/proxy/utils/Initializable__factory.js +37 -0
  289. package/dist/contracts/factories/@openzeppelin/contracts/proxy/utils/Initializable__factory.ts +49 -0
  290. package/dist/contracts/factories/@openzeppelin/contracts/proxy/utils/index.js +12 -0
  291. package/dist/contracts/factories/@openzeppelin/contracts/proxy/utils/index.ts +5 -0
  292. package/dist/contracts/factories/@openzeppelin/contracts/token/ERC721/IERC721Receiver__factory.js +45 -0
  293. package/dist/contracts/factories/@openzeppelin/contracts/token/ERC721/IERC721Receiver__factory.ts +60 -0
  294. package/dist/contracts/factories/@openzeppelin/contracts/token/ERC721/index.js +12 -0
  295. package/dist/contracts/factories/@openzeppelin/contracts/token/ERC721/index.ts +5 -0
  296. package/dist/contracts/factories/@openzeppelin/contracts/token/index.js +10 -0
  297. package/dist/contracts/factories/@openzeppelin/contracts/token/index.ts +5 -0
  298. package/dist/contracts/factories/@openzeppelin/contracts/utils/Address__factory.js +46 -0
  299. package/dist/contracts/factories/@openzeppelin/contracts/utils/Address__factory.ts +76 -0
  300. package/dist/contracts/factories/@openzeppelin/contracts/utils/Errors__factory.js +66 -0
  301. package/dist/contracts/factories/@openzeppelin/contracts/utils/Errors__factory.ts +102 -0
  302. package/dist/contracts/factories/@openzeppelin/contracts/utils/Pausable__factory.js +57 -0
  303. package/dist/contracts/factories/@openzeppelin/contracts/utils/Pausable__factory.ts +72 -0
  304. package/dist/contracts/factories/@openzeppelin/contracts/utils/Strings__factory.js +50 -0
  305. package/dist/contracts/factories/@openzeppelin/contracts/utils/Strings__factory.ts +81 -0
  306. package/dist/contracts/factories/@openzeppelin/contracts/utils/cryptography/ECDSA__factory.js +58 -0
  307. package/dist/contracts/factories/@openzeppelin/contracts/utils/cryptography/ECDSA__factory.ts +92 -0
  308. package/dist/contracts/factories/@openzeppelin/contracts/utils/cryptography/index.js +12 -0
  309. package/dist/contracts/factories/@openzeppelin/contracts/utils/cryptography/index.ts +5 -0
  310. package/dist/contracts/factories/@openzeppelin/contracts/utils/index.js +42 -0
  311. package/dist/contracts/factories/@openzeppelin/contracts/utils/index.ts +11 -0
  312. package/dist/contracts/factories/@openzeppelin/contracts/utils/introspection/IERC165__factory.js +33 -0
  313. package/dist/contracts/factories/@openzeppelin/contracts/utils/introspection/IERC165__factory.ts +42 -0
  314. package/dist/contracts/factories/@openzeppelin/contracts/utils/introspection/index.js +12 -0
  315. package/dist/contracts/factories/@openzeppelin/contracts/utils/introspection/index.ts +5 -0
  316. package/dist/contracts/factories/@openzeppelin/contracts/utils/math/SafeCast__factory.js +78 -0
  317. package/dist/contracts/factories/@openzeppelin/contracts/utils/math/SafeCast__factory.ts +119 -0
  318. package/dist/contracts/factories/@openzeppelin/contracts/utils/math/index.js +12 -0
  319. package/dist/contracts/factories/@openzeppelin/contracts/utils/math/index.ts +5 -0
  320. package/dist/contracts/factories/@openzeppelin/contracts-upgradeable/access/AccessControlUpgradeable__factory.js +211 -0
  321. package/dist/contracts/factories/@openzeppelin/contracts-upgradeable/access/AccessControlUpgradeable__factory.ts +278 -0
  322. package/dist/contracts/factories/@openzeppelin/contracts-upgradeable/access/OwnableUpgradeable__factory.js +94 -0
  323. package/dist/contracts/factories/@openzeppelin/contracts-upgradeable/access/OwnableUpgradeable__factory.ts +123 -0
  324. package/dist/contracts/factories/@openzeppelin/contracts-upgradeable/access/index.js +19 -0
  325. package/dist/contracts/factories/@openzeppelin/contracts-upgradeable/access/index.ts +6 -0
  326. package/dist/contracts/factories/@openzeppelin/contracts-upgradeable/index.js +14 -0
  327. package/dist/contracts/factories/@openzeppelin/contracts-upgradeable/index.ts +7 -0
  328. package/dist/contracts/factories/@openzeppelin/contracts-upgradeable/proxy/index.js +10 -0
  329. package/dist/contracts/factories/@openzeppelin/contracts-upgradeable/proxy/index.ts +5 -0
  330. package/dist/contracts/factories/@openzeppelin/contracts-upgradeable/proxy/utils/Initializable__factory.js +37 -0
  331. package/dist/contracts/factories/@openzeppelin/contracts-upgradeable/proxy/utils/Initializable__factory.ts +49 -0
  332. package/dist/contracts/factories/@openzeppelin/contracts-upgradeable/proxy/utils/UUPSUpgradeable__factory.js +117 -0
  333. package/dist/contracts/factories/@openzeppelin/contracts-upgradeable/proxy/utils/UUPSUpgradeable__factory.ts +154 -0
  334. package/dist/contracts/factories/@openzeppelin/contracts-upgradeable/proxy/utils/index.js +19 -0
  335. package/dist/contracts/factories/@openzeppelin/contracts-upgradeable/proxy/utils/index.ts +6 -0
  336. package/dist/contracts/factories/@openzeppelin/contracts-upgradeable/utils/ContextUpgradeable__factory.js +37 -0
  337. package/dist/contracts/factories/@openzeppelin/contracts-upgradeable/utils/ContextUpgradeable__factory.ts +49 -0
  338. package/dist/contracts/factories/@openzeppelin/contracts-upgradeable/utils/PausableUpgradeable__factory.js +75 -0
  339. package/dist/contracts/factories/@openzeppelin/contracts-upgradeable/utils/PausableUpgradeable__factory.ts +102 -0
  340. package/dist/contracts/factories/@openzeppelin/contracts-upgradeable/utils/index.js +24 -0
  341. package/dist/contracts/factories/@openzeppelin/contracts-upgradeable/utils/index.ts +7 -0
  342. package/dist/contracts/factories/@openzeppelin/contracts-upgradeable/utils/introspection/ERC165Upgradeable__factory.js +51 -0
  343. package/dist/contracts/factories/@openzeppelin/contracts-upgradeable/utils/introspection/ERC165Upgradeable__factory.ts +68 -0
  344. package/dist/contracts/factories/@openzeppelin/contracts-upgradeable/utils/introspection/index.js +12 -0
  345. package/dist/contracts/factories/@openzeppelin/contracts-upgradeable/utils/introspection/index.ts +5 -0
  346. package/dist/contracts/factories/@openzeppelin/index.js +12 -0
  347. package/dist/contracts/factories/@openzeppelin/index.ts +6 -0
  348. package/dist/contracts/factories/contracts/TitleEscrowFactory__factory.js +124 -0
  349. package/dist/contracts/factories/contracts/TitleEscrowFactory__factory.ts +180 -0
  350. package/dist/contracts/factories/contracts/TitleEscrow__factory.js +678 -0
  351. package/dist/contracts/factories/contracts/TitleEscrow__factory.ts +877 -0
  352. package/dist/contracts/factories/contracts/TradeTrustToken__factory.js +630 -0
  353. package/dist/contracts/factories/contracts/TradeTrustToken__factory.ts +858 -0
  354. package/dist/contracts/factories/contracts/base/RegistryAccess__factory.js +259 -0
  355. package/dist/contracts/factories/contracts/base/RegistryAccess__factory.ts +336 -0
  356. package/dist/contracts/factories/contracts/base/SBTUpgradeable__factory.js +184 -0
  357. package/dist/contracts/factories/contracts/base/SBTUpgradeable__factory.ts +259 -0
  358. package/dist/contracts/factories/contracts/base/TradeTrustSBT__factory.js +299 -0
  359. package/dist/contracts/factories/contracts/base/TradeTrustSBT__factory.ts +389 -0
  360. package/dist/contracts/factories/contracts/base/TradeTrustTokenBaseURI__factory.js +517 -0
  361. package/dist/contracts/factories/contracts/base/TradeTrustTokenBaseURI__factory.ts +674 -0
  362. package/dist/contracts/factories/contracts/base/TradeTrustTokenBase__factory.js +595 -0
  363. package/dist/contracts/factories/contracts/base/TradeTrustTokenBase__factory.ts +776 -0
  364. package/dist/contracts/factories/contracts/base/TradeTrustTokenBurnable__factory.js +521 -0
  365. package/dist/contracts/factories/contracts/base/TradeTrustTokenBurnable__factory.ts +679 -0
  366. package/dist/contracts/factories/contracts/base/TradeTrustTokenMintable__factory.js +533 -0
  367. package/dist/contracts/factories/contracts/base/TradeTrustTokenMintable__factory.ts +695 -0
  368. package/dist/contracts/factories/contracts/base/TradeTrustTokenRestorable__factory.js +525 -0
  369. package/dist/contracts/factories/contracts/base/TradeTrustTokenRestorable__factory.ts +685 -0
  370. package/dist/contracts/factories/contracts/base/index.js +61 -0
  371. package/dist/contracts/factories/contracts/base/index.ts +12 -0
  372. package/dist/contracts/factories/contracts/index.js +39 -0
  373. package/dist/contracts/factories/contracts/index.ts +12 -0
  374. package/dist/contracts/factories/contracts/interfaces/IERC721MetadataUpgradeable__factory.js +137 -0
  375. package/dist/contracts/factories/contracts/interfaces/IERC721MetadataUpgradeable__factory.ts +185 -0
  376. package/dist/contracts/factories/contracts/interfaces/ISBTUpgradeable__factory.js +103 -0
  377. package/dist/contracts/factories/contracts/interfaces/ISBTUpgradeable__factory.ts +136 -0
  378. package/dist/contracts/factories/contracts/interfaces/ITitleEscrowFactory__factory.js +81 -0
  379. package/dist/contracts/factories/contracts/interfaces/ITitleEscrowFactory__factory.ts +111 -0
  380. package/dist/contracts/factories/contracts/interfaces/ITitleEscrowSignable__factory.js +630 -0
  381. package/dist/contracts/factories/contracts/interfaces/ITitleEscrowSignable__factory.ts +803 -0
  382. package/dist/contracts/factories/contracts/interfaces/ITitleEscrow__factory.js +515 -0
  383. package/dist/contracts/factories/contracts/interfaces/ITitleEscrow__factory.ts +652 -0
  384. package/dist/contracts/factories/contracts/interfaces/ITradeTrustSBT__factory.js +179 -0
  385. package/dist/contracts/factories/contracts/interfaces/ITradeTrustSBT__factory.ts +234 -0
  386. package/dist/contracts/factories/contracts/interfaces/ITradeTrustTokenBurnable__factory.js +33 -0
  387. package/dist/contracts/factories/contracts/interfaces/ITradeTrustTokenBurnable__factory.ts +48 -0
  388. package/dist/contracts/factories/contracts/interfaces/ITradeTrustTokenMintable__factory.js +45 -0
  389. package/dist/contracts/factories/contracts/interfaces/ITradeTrustTokenMintable__factory.ts +64 -0
  390. package/dist/contracts/factories/contracts/interfaces/ITradeTrustTokenRestorable__factory.js +37 -0
  391. package/dist/contracts/factories/contracts/interfaces/ITradeTrustTokenRestorable__factory.ts +54 -0
  392. package/dist/contracts/factories/contracts/interfaces/ITradeTrustToken__factory.js +237 -0
  393. package/dist/contracts/factories/contracts/interfaces/ITradeTrustToken__factory.ts +310 -0
  394. package/dist/contracts/factories/contracts/interfaces/RegistryAccessErrors__factory.js +23 -0
  395. package/dist/contracts/factories/contracts/interfaces/RegistryAccessErrors__factory.ts +35 -0
  396. package/dist/contracts/factories/contracts/interfaces/SigHelperErrors__factory.js +23 -0
  397. package/dist/contracts/factories/contracts/interfaces/SigHelperErrors__factory.ts +31 -0
  398. package/dist/contracts/factories/contracts/interfaces/TDocDeployerErrors__factory.js +39 -0
  399. package/dist/contracts/factories/contracts/interfaces/TDocDeployerErrors__factory.ts +52 -0
  400. package/dist/contracts/factories/contracts/interfaces/TitleEscrowErrors__factory.js +103 -0
  401. package/dist/contracts/factories/contracts/interfaces/TitleEscrowErrors__factory.ts +134 -0
  402. package/dist/contracts/factories/contracts/interfaces/TitleEscrowFactoryErrors__factory.js +23 -0
  403. package/dist/contracts/factories/contracts/interfaces/TitleEscrowFactoryErrors__factory.ts +35 -0
  404. package/dist/contracts/factories/contracts/interfaces/TitleEscrowSignableErrors__factory.js +63 -0
  405. package/dist/contracts/factories/contracts/interfaces/TitleEscrowSignableErrors__factory.ts +88 -0
  406. package/dist/contracts/factories/contracts/interfaces/TradeTrustTokenErrors__factory.js +39 -0
  407. package/dist/contracts/factories/contracts/interfaces/TradeTrustTokenErrors__factory.ts +55 -0
  408. package/dist/contracts/factories/contracts/interfaces/index.js +124 -0
  409. package/dist/contracts/factories/contracts/interfaces/index.ts +21 -0
  410. package/dist/contracts/factories/contracts/mocks/ERC721ReceiverMock__factory.js +109 -0
  411. package/dist/contracts/factories/contracts/mocks/ERC721ReceiverMock__factory.ts +158 -0
  412. package/dist/contracts/factories/contracts/mocks/SBTUpgradeableMock__factory.js +262 -0
  413. package/dist/contracts/factories/contracts/mocks/SBTUpgradeableMock__factory.ts +367 -0
  414. package/dist/contracts/factories/contracts/mocks/SigHelperMock__factory.js +167 -0
  415. package/dist/contracts/factories/contracts/mocks/SigHelperMock__factory.ts +243 -0
  416. package/dist/contracts/factories/contracts/mocks/SimpleCaller__factory.js +56 -0
  417. package/dist/contracts/factories/contracts/mocks/SimpleCaller__factory.ts +92 -0
  418. package/dist/contracts/factories/contracts/mocks/TitleEscrowFactoryCallerMock__factory.js +52 -0
  419. package/dist/contracts/factories/contracts/mocks/TitleEscrowFactoryCallerMock__factory.ts +92 -0
  420. package/dist/contracts/factories/contracts/mocks/TitleEscrowFactoryGetterMock__factory.js +80 -0
  421. package/dist/contracts/factories/contracts/mocks/TitleEscrowFactoryGetterMock__factory.ts +129 -0
  422. package/dist/contracts/factories/contracts/mocks/TitleEscrowMock__factory.js +714 -0
  423. package/dist/contracts/factories/contracts/mocks/TitleEscrowMock__factory.ts +926 -0
  424. package/dist/contracts/factories/contracts/mocks/TradeTrustTokenMock__factory.js +658 -0
  425. package/dist/contracts/factories/contracts/mocks/TradeTrustTokenMock__factory.ts +901 -0
  426. package/dist/contracts/factories/contracts/mocks/index.js +61 -0
  427. package/dist/contracts/factories/contracts/mocks/index.ts +12 -0
  428. package/dist/contracts/factories/contracts/presets/TitleEscrowSignable__factory.js +915 -0
  429. package/dist/contracts/factories/contracts/presets/TitleEscrowSignable__factory.ts +1195 -0
  430. package/dist/contracts/factories/contracts/presets/TradeTrustTokenStandard__factory.js +628 -0
  431. package/dist/contracts/factories/contracts/presets/TradeTrustTokenStandard__factory.ts +838 -0
  432. package/dist/contracts/factories/contracts/presets/index.js +19 -0
  433. package/dist/contracts/factories/contracts/presets/index.ts +6 -0
  434. package/dist/contracts/factories/contracts/utils/SigHelper__factory.js +61 -0
  435. package/dist/contracts/factories/contracts/utils/SigHelper__factory.ts +79 -0
  436. package/dist/contracts/factories/contracts/utils/TDocDeployer__factory.js +340 -0
  437. package/dist/contracts/factories/contracts/utils/TDocDeployer__factory.ts +459 -0
  438. package/dist/contracts/factories/contracts/utils/index.js +19 -0
  439. package/dist/contracts/factories/contracts/utils/index.ts +6 -0
  440. package/dist/contracts/factories/index.js +12 -0
  441. package/dist/contracts/factories/index.ts +6 -0
  442. package/dist/contracts/hardhat.d.js +5 -0
  443. package/dist/contracts/hardhat.d.ts +1144 -0
  444. package/dist/contracts/index.js +430 -0
  445. package/dist/contracts/index.ts +129 -0
  446. package/dist/index.js +12 -0
  447. package/dist/types/constants/contract-address.d.ts +11 -0
  448. package/dist/types/constants/contract-interface-id.d.ts +10 -0
  449. package/dist/types/constants/contract-interfaces.d.ts +11 -0
  450. package/dist/types/constants/default-address.d.ts +4 -0
  451. package/dist/types/constants/index.d.ts +4 -0
  452. package/dist/types/constants/role-hash.d.ts +9 -0
  453. package/dist/types/hardhat.config.d.ts +8 -0
  454. package/dist/types/index.d.ts +2 -0
  455. package/dist/types/utils/compute-interface-id.d.ts +1 -0
  456. package/dist/types/utils/compute-title-escrow-address.d.ts +10 -0
  457. package/dist/types/utils/encode-init-params.d.ts +6 -0
  458. package/dist/types/utils/get-event-from-receipt.d.ts +29 -0
  459. package/dist/types/utils/index.d.ts +4 -0
  460. package/dist/utils/compute-interface-id.js +28 -0
  461. package/dist/utils/compute-title-escrow-address.js +31 -0
  462. package/dist/utils/encode-init-params.js +24 -0
  463. package/dist/utils/get-event-from-receipt.js +62 -0
  464. package/dist/utils/index.js +49 -0
  465. package/package.json +145 -0
@@ -0,0 +1,915 @@
1
+ "use strict";
2
+
3
+ Object.defineProperty(exports, "__esModule", {
4
+ value: true
5
+ });
6
+ exports.TitleEscrowSignable__factory = void 0;
7
+ var _ethers = require("ethers");
8
+ function _defineProperty(obj, key, value) { if (key in obj) { Object.defineProperty(obj, key, { value: value, enumerable: true, configurable: true, writable: true }); } else { obj[key] = value; } return obj; } /* Autogenerated file. Do not edit manually. */ /* tslint:disable */ /* eslint-disable */ // @ts-nocheck
9
+ const _abi = [{
10
+ inputs: [],
11
+ name: "CallerNotBeneficiary",
12
+ type: "error"
13
+ }, {
14
+ inputs: [],
15
+ name: "CallerNotEndorser",
16
+ type: "error"
17
+ }, {
18
+ inputs: [],
19
+ name: "CallerNotHolder",
20
+ type: "error"
21
+ }, {
22
+ inputs: [],
23
+ name: "DualRoleRejectionRequired",
24
+ type: "error"
25
+ }, {
26
+ inputs: [],
27
+ name: "ECDSAInvalidSignature",
28
+ type: "error"
29
+ }, {
30
+ inputs: [{
31
+ internalType: "uint256",
32
+ name: "length",
33
+ type: "uint256"
34
+ }],
35
+ name: "ECDSAInvalidSignatureLength",
36
+ type: "error"
37
+ }, {
38
+ inputs: [{
39
+ internalType: "bytes32",
40
+ name: "s",
41
+ type: "bytes32"
42
+ }],
43
+ name: "ECDSAInvalidSignatureS",
44
+ type: "error"
45
+ }, {
46
+ inputs: [],
47
+ name: "EmptyReceivingData",
48
+ type: "error"
49
+ }, {
50
+ inputs: [],
51
+ name: "InactiveTitleEscrow",
52
+ type: "error"
53
+ }, {
54
+ inputs: [],
55
+ name: "InvalidEndorsement",
56
+ type: "error"
57
+ }, {
58
+ inputs: [],
59
+ name: "InvalidInitialization",
60
+ type: "error"
61
+ }, {
62
+ inputs: [],
63
+ name: "InvalidNominee",
64
+ type: "error"
65
+ }, {
66
+ inputs: [{
67
+ internalType: "address",
68
+ name: "registry",
69
+ type: "address"
70
+ }],
71
+ name: "InvalidRegistry",
72
+ type: "error"
73
+ }, {
74
+ inputs: [],
75
+ name: "InvalidSignature",
76
+ type: "error"
77
+ }, {
78
+ inputs: [{
79
+ internalType: "uint256",
80
+ name: "tokenId",
81
+ type: "uint256"
82
+ }],
83
+ name: "InvalidTokenId",
84
+ type: "error"
85
+ }, {
86
+ inputs: [{
87
+ internalType: "address",
88
+ name: "beneficiary",
89
+ type: "address"
90
+ }, {
91
+ internalType: "address",
92
+ name: "holder",
93
+ type: "address"
94
+ }],
95
+ name: "InvalidTokenTransferToZeroAddressOwners",
96
+ type: "error"
97
+ }, {
98
+ inputs: [],
99
+ name: "InvalidTransferToZeroAddress",
100
+ type: "error"
101
+ }, {
102
+ inputs: [{
103
+ internalType: "address",
104
+ name: "endorsedBeneficiary",
105
+ type: "address"
106
+ }, {
107
+ internalType: "address",
108
+ name: "currentBeneficiary",
109
+ type: "address"
110
+ }],
111
+ name: "MismatchedEndorsedBeneficiaryAndCurrentBeneficiary",
112
+ type: "error"
113
+ }, {
114
+ inputs: [{
115
+ internalType: "address",
116
+ name: "endorsedNominee",
117
+ type: "address"
118
+ }, {
119
+ internalType: "address",
120
+ name: "onChainNominee",
121
+ type: "address"
122
+ }],
123
+ name: "MismatchedEndorsedNomineeAndOnChainNominee",
124
+ type: "error"
125
+ }, {
126
+ inputs: [],
127
+ name: "NomineeAlreadyNominated",
128
+ type: "error"
129
+ }, {
130
+ inputs: [],
131
+ name: "NotInitializing",
132
+ type: "error"
133
+ }, {
134
+ inputs: [],
135
+ name: "RecipientAlreadyHolder",
136
+ type: "error"
137
+ }, {
138
+ inputs: [],
139
+ name: "RegistryContractPaused",
140
+ type: "error"
141
+ }, {
142
+ inputs: [],
143
+ name: "RemarkLengthExceeded",
144
+ type: "error"
145
+ }, {
146
+ inputs: [],
147
+ name: "SignatureAlreadyCancelled",
148
+ type: "error"
149
+ }, {
150
+ inputs: [{
151
+ internalType: "uint256",
152
+ name: "currentTimestamp",
153
+ type: "uint256"
154
+ }],
155
+ name: "SignatureExpired",
156
+ type: "error"
157
+ }, {
158
+ inputs: [],
159
+ name: "TargetNomineeAlreadyBeneficiary",
160
+ type: "error"
161
+ }, {
162
+ inputs: [],
163
+ name: "TitleEscrowNotHoldingToken",
164
+ type: "error"
165
+ }, {
166
+ inputs: [],
167
+ name: "TokenNotReturnedToIssuer",
168
+ type: "error"
169
+ }, {
170
+ anonymous: false,
171
+ inputs: [{
172
+ indexed: true,
173
+ internalType: "address",
174
+ name: "fromBeneficiary",
175
+ type: "address"
176
+ }, {
177
+ indexed: true,
178
+ internalType: "address",
179
+ name: "toBeneficiary",
180
+ type: "address"
181
+ }, {
182
+ indexed: false,
183
+ internalType: "address",
184
+ name: "registry",
185
+ type: "address"
186
+ }, {
187
+ indexed: false,
188
+ internalType: "uint256",
189
+ name: "tokenId",
190
+ type: "uint256"
191
+ }, {
192
+ indexed: false,
193
+ internalType: "bytes",
194
+ name: "remark",
195
+ type: "bytes"
196
+ }],
197
+ name: "BeneficiaryTransfer",
198
+ type: "event"
199
+ }, {
200
+ anonymous: false,
201
+ inputs: [{
202
+ indexed: true,
203
+ internalType: "bytes32",
204
+ name: "hash",
205
+ type: "bytes32"
206
+ }, {
207
+ indexed: true,
208
+ internalType: "address",
209
+ name: "endorser",
210
+ type: "address"
211
+ }, {
212
+ indexed: true,
213
+ internalType: "uint256",
214
+ name: "tokenId",
215
+ type: "uint256"
216
+ }],
217
+ name: "CancelBeneficiaryTransferEndorsement",
218
+ type: "event"
219
+ }, {
220
+ anonymous: false,
221
+ inputs: [{
222
+ indexed: true,
223
+ internalType: "address",
224
+ name: "fromHolder",
225
+ type: "address"
226
+ }, {
227
+ indexed: true,
228
+ internalType: "address",
229
+ name: "toHolder",
230
+ type: "address"
231
+ }, {
232
+ indexed: false,
233
+ internalType: "address",
234
+ name: "registry",
235
+ type: "address"
236
+ }, {
237
+ indexed: false,
238
+ internalType: "uint256",
239
+ name: "tokenId",
240
+ type: "uint256"
241
+ }, {
242
+ indexed: false,
243
+ internalType: "bytes",
244
+ name: "remark",
245
+ type: "bytes"
246
+ }],
247
+ name: "HolderTransfer",
248
+ type: "event"
249
+ }, {
250
+ anonymous: false,
251
+ inputs: [{
252
+ indexed: false,
253
+ internalType: "uint64",
254
+ name: "version",
255
+ type: "uint64"
256
+ }],
257
+ name: "Initialized",
258
+ type: "event"
259
+ }, {
260
+ anonymous: false,
261
+ inputs: [{
262
+ indexed: true,
263
+ internalType: "address",
264
+ name: "prevNominee",
265
+ type: "address"
266
+ }, {
267
+ indexed: true,
268
+ internalType: "address",
269
+ name: "nominee",
270
+ type: "address"
271
+ }, {
272
+ indexed: false,
273
+ internalType: "address",
274
+ name: "registry",
275
+ type: "address"
276
+ }, {
277
+ indexed: false,
278
+ internalType: "uint256",
279
+ name: "tokenId",
280
+ type: "uint256"
281
+ }, {
282
+ indexed: false,
283
+ internalType: "bytes",
284
+ name: "remark",
285
+ type: "bytes"
286
+ }],
287
+ name: "Nomination",
288
+ type: "event"
289
+ }, {
290
+ anonymous: false,
291
+ inputs: [{
292
+ indexed: true,
293
+ internalType: "address",
294
+ name: "fromBeneficiary",
295
+ type: "address"
296
+ }, {
297
+ indexed: true,
298
+ internalType: "address",
299
+ name: "toBeneficiary",
300
+ type: "address"
301
+ }, {
302
+ indexed: false,
303
+ internalType: "address",
304
+ name: "registry",
305
+ type: "address"
306
+ }, {
307
+ indexed: false,
308
+ internalType: "uint256",
309
+ name: "tokenId",
310
+ type: "uint256"
311
+ }, {
312
+ indexed: false,
313
+ internalType: "bytes",
314
+ name: "remark",
315
+ type: "bytes"
316
+ }],
317
+ name: "RejectTransferBeneficiary",
318
+ type: "event"
319
+ }, {
320
+ anonymous: false,
321
+ inputs: [{
322
+ indexed: true,
323
+ internalType: "address",
324
+ name: "fromHolder",
325
+ type: "address"
326
+ }, {
327
+ indexed: true,
328
+ internalType: "address",
329
+ name: "toHolder",
330
+ type: "address"
331
+ }, {
332
+ indexed: false,
333
+ internalType: "address",
334
+ name: "registry",
335
+ type: "address"
336
+ }, {
337
+ indexed: false,
338
+ internalType: "uint256",
339
+ name: "tokenId",
340
+ type: "uint256"
341
+ }, {
342
+ indexed: false,
343
+ internalType: "bytes",
344
+ name: "remark",
345
+ type: "bytes"
346
+ }],
347
+ name: "RejectTransferHolder",
348
+ type: "event"
349
+ }, {
350
+ anonymous: false,
351
+ inputs: [{
352
+ indexed: true,
353
+ internalType: "address",
354
+ name: "fromBeneficiary",
355
+ type: "address"
356
+ }, {
357
+ indexed: true,
358
+ internalType: "address",
359
+ name: "toBeneficiary",
360
+ type: "address"
361
+ }, {
362
+ indexed: true,
363
+ internalType: "address",
364
+ name: "fromHolder",
365
+ type: "address"
366
+ }, {
367
+ indexed: false,
368
+ internalType: "address",
369
+ name: "toHolder",
370
+ type: "address"
371
+ }, {
372
+ indexed: false,
373
+ internalType: "address",
374
+ name: "registry",
375
+ type: "address"
376
+ }, {
377
+ indexed: false,
378
+ internalType: "uint256",
379
+ name: "tokenId",
380
+ type: "uint256"
381
+ }, {
382
+ indexed: false,
383
+ internalType: "bytes",
384
+ name: "remark",
385
+ type: "bytes"
386
+ }],
387
+ name: "RejectTransferOwners",
388
+ type: "event"
389
+ }, {
390
+ anonymous: false,
391
+ inputs: [{
392
+ indexed: true,
393
+ internalType: "address",
394
+ name: "caller",
395
+ type: "address"
396
+ }, {
397
+ indexed: false,
398
+ internalType: "address",
399
+ name: "registry",
400
+ type: "address"
401
+ }, {
402
+ indexed: false,
403
+ internalType: "uint256",
404
+ name: "tokenId",
405
+ type: "uint256"
406
+ }, {
407
+ indexed: false,
408
+ internalType: "bytes",
409
+ name: "remark",
410
+ type: "bytes"
411
+ }],
412
+ name: "ReturnToIssuer",
413
+ type: "event"
414
+ }, {
415
+ anonymous: false,
416
+ inputs: [{
417
+ indexed: false,
418
+ internalType: "address",
419
+ name: "registry",
420
+ type: "address"
421
+ }, {
422
+ indexed: false,
423
+ internalType: "uint256",
424
+ name: "tokenId",
425
+ type: "uint256"
426
+ }, {
427
+ indexed: false,
428
+ internalType: "bytes",
429
+ name: "remark",
430
+ type: "bytes"
431
+ }],
432
+ name: "Shred",
433
+ type: "event"
434
+ }, {
435
+ anonymous: false,
436
+ inputs: [{
437
+ indexed: true,
438
+ internalType: "address",
439
+ name: "beneficiary",
440
+ type: "address"
441
+ }, {
442
+ indexed: true,
443
+ internalType: "address",
444
+ name: "holder",
445
+ type: "address"
446
+ }, {
447
+ indexed: true,
448
+ internalType: "bool",
449
+ name: "isMinting",
450
+ type: "bool"
451
+ }, {
452
+ indexed: false,
453
+ internalType: "address",
454
+ name: "registry",
455
+ type: "address"
456
+ }, {
457
+ indexed: false,
458
+ internalType: "uint256",
459
+ name: "tokenId",
460
+ type: "uint256"
461
+ }, {
462
+ indexed: false,
463
+ internalType: "bytes",
464
+ name: "remark",
465
+ type: "bytes"
466
+ }],
467
+ name: "TokenReceived",
468
+ type: "event"
469
+ }, {
470
+ inputs: [],
471
+ name: "BENEFICIARY_TRANSFER_TYPEHASH",
472
+ outputs: [{
473
+ internalType: "bytes32",
474
+ name: "",
475
+ type: "bytes32"
476
+ }],
477
+ stateMutability: "view",
478
+ type: "function"
479
+ }, {
480
+ inputs: [],
481
+ name: "DOMAIN_SEPARATOR",
482
+ outputs: [{
483
+ internalType: "bytes32",
484
+ name: "",
485
+ type: "bytes32"
486
+ }],
487
+ stateMutability: "view",
488
+ type: "function"
489
+ }, {
490
+ inputs: [],
491
+ name: "active",
492
+ outputs: [{
493
+ internalType: "bool",
494
+ name: "",
495
+ type: "bool"
496
+ }],
497
+ stateMutability: "view",
498
+ type: "function"
499
+ }, {
500
+ inputs: [],
501
+ name: "beneficiary",
502
+ outputs: [{
503
+ internalType: "address",
504
+ name: "",
505
+ type: "address"
506
+ }],
507
+ stateMutability: "view",
508
+ type: "function"
509
+ }, {
510
+ inputs: [{
511
+ components: [{
512
+ internalType: "address",
513
+ name: "beneficiary",
514
+ type: "address"
515
+ }, {
516
+ internalType: "address",
517
+ name: "holder",
518
+ type: "address"
519
+ }, {
520
+ internalType: "address",
521
+ name: "nominee",
522
+ type: "address"
523
+ }, {
524
+ internalType: "address",
525
+ name: "registry",
526
+ type: "address"
527
+ }, {
528
+ internalType: "uint256",
529
+ name: "tokenId",
530
+ type: "uint256"
531
+ }, {
532
+ internalType: "uint256",
533
+ name: "deadline",
534
+ type: "uint256"
535
+ }, {
536
+ internalType: "uint256",
537
+ name: "nonce",
538
+ type: "uint256"
539
+ }],
540
+ internalType: "struct BeneficiaryTransferEndorsement",
541
+ name: "endorsement",
542
+ type: "tuple"
543
+ }],
544
+ name: "cancelBeneficiaryTransfer",
545
+ outputs: [],
546
+ stateMutability: "nonpayable",
547
+ type: "function"
548
+ }, {
549
+ inputs: [{
550
+ internalType: "bytes32",
551
+ name: "",
552
+ type: "bytes32"
553
+ }],
554
+ name: "cancelled",
555
+ outputs: [{
556
+ internalType: "bool",
557
+ name: "",
558
+ type: "bool"
559
+ }],
560
+ stateMutability: "view",
561
+ type: "function"
562
+ }, {
563
+ inputs: [],
564
+ name: "holder",
565
+ outputs: [{
566
+ internalType: "address",
567
+ name: "",
568
+ type: "address"
569
+ }],
570
+ stateMutability: "view",
571
+ type: "function"
572
+ }, {
573
+ inputs: [{
574
+ internalType: "address",
575
+ name: "_registry",
576
+ type: "address"
577
+ }, {
578
+ internalType: "uint256",
579
+ name: "_tokenId",
580
+ type: "uint256"
581
+ }],
582
+ name: "initialize",
583
+ outputs: [],
584
+ stateMutability: "nonpayable",
585
+ type: "function"
586
+ }, {
587
+ inputs: [],
588
+ name: "isHoldingToken",
589
+ outputs: [{
590
+ internalType: "bool",
591
+ name: "",
592
+ type: "bool"
593
+ }],
594
+ stateMutability: "view",
595
+ type: "function"
596
+ }, {
597
+ inputs: [],
598
+ name: "name",
599
+ outputs: [{
600
+ internalType: "string",
601
+ name: "",
602
+ type: "string"
603
+ }],
604
+ stateMutability: "view",
605
+ type: "function"
606
+ }, {
607
+ inputs: [{
608
+ internalType: "address",
609
+ name: "_nominee",
610
+ type: "address"
611
+ }, {
612
+ internalType: "bytes",
613
+ name: "_remark",
614
+ type: "bytes"
615
+ }],
616
+ name: "nominate",
617
+ outputs: [],
618
+ stateMutability: "nonpayable",
619
+ type: "function"
620
+ }, {
621
+ inputs: [],
622
+ name: "nominee",
623
+ outputs: [{
624
+ internalType: "address",
625
+ name: "",
626
+ type: "address"
627
+ }],
628
+ stateMutability: "view",
629
+ type: "function"
630
+ }, {
631
+ inputs: [{
632
+ internalType: "address",
633
+ name: "",
634
+ type: "address"
635
+ }],
636
+ name: "nonces",
637
+ outputs: [{
638
+ internalType: "uint256",
639
+ name: "",
640
+ type: "uint256"
641
+ }],
642
+ stateMutability: "view",
643
+ type: "function"
644
+ }, {
645
+ inputs: [{
646
+ internalType: "address",
647
+ name: "",
648
+ type: "address"
649
+ }, {
650
+ internalType: "address",
651
+ name: "",
652
+ type: "address"
653
+ }, {
654
+ internalType: "uint256",
655
+ name: "_tokenId",
656
+ type: "uint256"
657
+ }, {
658
+ internalType: "bytes",
659
+ name: "data",
660
+ type: "bytes"
661
+ }],
662
+ name: "onERC721Received",
663
+ outputs: [{
664
+ internalType: "bytes4",
665
+ name: "",
666
+ type: "bytes4"
667
+ }],
668
+ stateMutability: "nonpayable",
669
+ type: "function"
670
+ }, {
671
+ inputs: [],
672
+ name: "prevBeneficiary",
673
+ outputs: [{
674
+ internalType: "address",
675
+ name: "",
676
+ type: "address"
677
+ }],
678
+ stateMutability: "view",
679
+ type: "function"
680
+ }, {
681
+ inputs: [],
682
+ name: "prevHolder",
683
+ outputs: [{
684
+ internalType: "address",
685
+ name: "",
686
+ type: "address"
687
+ }],
688
+ stateMutability: "view",
689
+ type: "function"
690
+ }, {
691
+ inputs: [],
692
+ name: "registry",
693
+ outputs: [{
694
+ internalType: "address",
695
+ name: "",
696
+ type: "address"
697
+ }],
698
+ stateMutability: "view",
699
+ type: "function"
700
+ }, {
701
+ inputs: [{
702
+ internalType: "bytes",
703
+ name: "_remark",
704
+ type: "bytes"
705
+ }],
706
+ name: "rejectTransferBeneficiary",
707
+ outputs: [],
708
+ stateMutability: "nonpayable",
709
+ type: "function"
710
+ }, {
711
+ inputs: [{
712
+ internalType: "bytes",
713
+ name: "_remark",
714
+ type: "bytes"
715
+ }],
716
+ name: "rejectTransferHolder",
717
+ outputs: [],
718
+ stateMutability: "nonpayable",
719
+ type: "function"
720
+ }, {
721
+ inputs: [{
722
+ internalType: "bytes",
723
+ name: "_remark",
724
+ type: "bytes"
725
+ }],
726
+ name: "rejectTransferOwners",
727
+ outputs: [],
728
+ stateMutability: "nonpayable",
729
+ type: "function"
730
+ }, {
731
+ inputs: [],
732
+ name: "remark",
733
+ outputs: [{
734
+ internalType: "bytes",
735
+ name: "",
736
+ type: "bytes"
737
+ }],
738
+ stateMutability: "view",
739
+ type: "function"
740
+ }, {
741
+ inputs: [{
742
+ internalType: "bytes",
743
+ name: "_remark",
744
+ type: "bytes"
745
+ }],
746
+ name: "returnToIssuer",
747
+ outputs: [],
748
+ stateMutability: "nonpayable",
749
+ type: "function"
750
+ }, {
751
+ inputs: [{
752
+ internalType: "bytes",
753
+ name: "_remark",
754
+ type: "bytes"
755
+ }],
756
+ name: "shred",
757
+ outputs: [],
758
+ stateMutability: "nonpayable",
759
+ type: "function"
760
+ }, {
761
+ inputs: [{
762
+ internalType: "bytes4",
763
+ name: "interfaceId",
764
+ type: "bytes4"
765
+ }],
766
+ name: "supportsInterface",
767
+ outputs: [{
768
+ internalType: "bool",
769
+ name: "",
770
+ type: "bool"
771
+ }],
772
+ stateMutability: "view",
773
+ type: "function"
774
+ }, {
775
+ inputs: [],
776
+ name: "tokenId",
777
+ outputs: [{
778
+ internalType: "uint256",
779
+ name: "",
780
+ type: "uint256"
781
+ }],
782
+ stateMutability: "view",
783
+ type: "function"
784
+ }, {
785
+ inputs: [{
786
+ internalType: "address",
787
+ name: "_nominee",
788
+ type: "address"
789
+ }, {
790
+ internalType: "bytes",
791
+ name: "_remark",
792
+ type: "bytes"
793
+ }],
794
+ name: "transferBeneficiary",
795
+ outputs: [],
796
+ stateMutability: "nonpayable",
797
+ type: "function"
798
+ }, {
799
+ inputs: [{
800
+ components: [{
801
+ internalType: "address",
802
+ name: "beneficiary",
803
+ type: "address"
804
+ }, {
805
+ internalType: "address",
806
+ name: "holder",
807
+ type: "address"
808
+ }, {
809
+ internalType: "address",
810
+ name: "nominee",
811
+ type: "address"
812
+ }, {
813
+ internalType: "address",
814
+ name: "registry",
815
+ type: "address"
816
+ }, {
817
+ internalType: "uint256",
818
+ name: "tokenId",
819
+ type: "uint256"
820
+ }, {
821
+ internalType: "uint256",
822
+ name: "deadline",
823
+ type: "uint256"
824
+ }, {
825
+ internalType: "uint256",
826
+ name: "nonce",
827
+ type: "uint256"
828
+ }],
829
+ internalType: "struct BeneficiaryTransferEndorsement",
830
+ name: "endorsement",
831
+ type: "tuple"
832
+ }, {
833
+ components: [{
834
+ internalType: "bytes32",
835
+ name: "r",
836
+ type: "bytes32"
837
+ }, {
838
+ internalType: "bytes32",
839
+ name: "s",
840
+ type: "bytes32"
841
+ }, {
842
+ internalType: "uint8",
843
+ name: "v",
844
+ type: "uint8"
845
+ }],
846
+ internalType: "struct SigHelper.Sig",
847
+ name: "sig",
848
+ type: "tuple"
849
+ }],
850
+ name: "transferBeneficiaryWithSig",
851
+ outputs: [],
852
+ stateMutability: "nonpayable",
853
+ type: "function"
854
+ }, {
855
+ inputs: [{
856
+ internalType: "address",
857
+ name: "newHolder",
858
+ type: "address"
859
+ }, {
860
+ internalType: "bytes",
861
+ name: "_remark",
862
+ type: "bytes"
863
+ }],
864
+ name: "transferHolder",
865
+ outputs: [],
866
+ stateMutability: "nonpayable",
867
+ type: "function"
868
+ }, {
869
+ inputs: [{
870
+ internalType: "address",
871
+ name: "_nominee",
872
+ type: "address"
873
+ }, {
874
+ internalType: "address",
875
+ name: "newHolder",
876
+ type: "address"
877
+ }, {
878
+ internalType: "bytes",
879
+ name: "_remark",
880
+ type: "bytes"
881
+ }],
882
+ name: "transferOwners",
883
+ outputs: [],
884
+ stateMutability: "nonpayable",
885
+ type: "function"
886
+ }];
887
+ const _bytecode = "0x60806040523480156200001157600080fd5b50600062000024620001ab60201b60201c565b905060008160000160089054906101000a900460ff1615905060008260000160009054906101000a900467ffffffffffffffff1690506000808267ffffffffffffffff16148015620000735750825b9050600060018367ffffffffffffffff16148015620000a9575060003073ffffffffffffffffffffffffffffffffffffffff163b145b905081158015620000b8575080155b15620000f0576040517ff92ee8a900000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b60018560000160006101000a81548167ffffffffffffffff021916908367ffffffffffffffff1602179055508315620001415760018560000160086101000a81548160ff0219169083151502179055505b8315620001a05760008560000160086101000a81548160ff0219169083151502179055507fc7f505b2f371ae2175ee4913f4499e1f2633a7b5936321eed1cdaeb6115181d2600160405162000197919062000234565b60405180910390a15b505050505062000251565b60007ff0c57e16840df040f15088dc2f81fe391c3923bec73e23a9662efc9c229c6a00905090565b6000819050919050565b600067ffffffffffffffff82169050919050565b6000819050919050565b60006200021c620002166200021084620001d3565b620001f1565b620001dd565b9050919050565b6200022e81620001fb565b82525050565b60006020820190506200024b600083018462000223565b92915050565b615c7980620002616000396000f3fe608060405234801561001057600080fd5b50600436106101cf5760003560e01c8063452736fd11610104578063baf13975116100a2578063cd6dc68711610071578063cd6dc687146104f8578063e3d79a6e14610514578063e534155d14610530578063e9bc1b0b1461054e576101cf565b8063baf1397514610484578063bd1d07b5146104a0578063c9437e5e146104be578063cb3cfb29146104dc576101cf565b80637ecebe00116100de5780637ecebe00146103fe57806383d38fcb1461042e5780638fb33c3c1461044a578063a47d1f5e14610466576101cf565b8063452736fd146103a8578063589a30eb146103c45780637b103999146103e0576101cf565b806320f99c0a11610171578063308f8e1c1161014b578063308f8e1c1461033457806334427f61146103505780633644e5151461036c57806338af3eed1461038a576101cf565b806320f99c0a146102c85780632ac12622146102e65780632ce2637a14610316576101cf565b806305de0a2e116101ad57806305de0a2e1461024057806306fdde031461025c578063150b7a021461027a57806317d70f7c146102aa576101cf565b806301ffc9a7146101d457806302fb0c5e14610204578063035aedfa14610222575b600080fd5b6101ee60048036038101906101e991906148fd565b61056a565b6040516101fb9190614945565b60405180910390f35b61020c6105e4565b6040516102199190614945565b60405180910390f35b61022a6105f7565b60405161023791906149a1565b60405180910390f35b61025a60048036038101906102559190614a21565b61061d565b005b610264610aee565b6040516102719190614afe565b60405180910390f35b610294600480360381019061028f9190614b82565b610b27565b6040516102a19190614c19565b60405180910390f35b6102b261102a565b6040516102bf9190614c43565b60405180910390f35b6102d0611030565b6040516102dd91906149a1565b60405180910390f35b61030060048036038101906102fb9190614c94565b611056565b60405161030d9190614945565b60405180910390f35b61031e611076565b60405161032b9190614cd0565b60405180910390f35b61034e60048036038101906103499190614ceb565b61109d565b005b61036a60048036038101906103659190614d4b565b611529565b005b610374611545565b6040516103819190614cd0565b60405180910390f35b61039261154b565b60405161039f91906149a1565b60405180910390f35b6103c260048036038101906103bd9190614a21565b611571565b005b6103de60048036038101906103d99190614f90565b611b73565b005b6103e8612221565b6040516103f591906149a1565b60405180910390f35b61041860048036038101906104139190614fd1565b612247565b6040516104259190614c43565b60405180910390f35b61044860048036038101906104439190614a21565b61225f565b005b610464600480360381019061045f9190614a21565b6126e2565b005b61046e6129cf565b60405161047b9190615053565b60405180910390f35b61049e60048036038101906104999190614ceb565b612a5d565b005b6104a8612ee7565b6040516104b591906149a1565b60405180910390f35b6104c6612f0d565b6040516104d39190614945565b60405180910390f35b6104f660048036038101906104f19190614a21565b612f1c565b005b610512600480360381019061050d9190615075565b6133ed565b005b61052e60048036038101906105299190614ceb565b61357e565b005b610538613a08565b60405161054591906149a1565b60405180910390f35b610568600480360381019061056391906150b5565b613a2e565b005b600061057582613c12565b806105dd57507fb1262be0000000000000000000000000000000000000000000000000000000007bffffffffffffffffffffffffffffffffffffffffffffffffffffffff1916827bffffffffffffffffffffffffffffffffffffffffffffffffffffffff1916145b9050919050565b600960149054906101000a900460ff1681565b600860009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1681565b6000600360009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16635c975abb6040518163ffffffff1660e01b8152600401602060405180830381865afa15801561068c573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906106b0919061510e565b905080156106ea576040517fad49811c00000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b600960149054906101000a900460ff16610730576040517f7c339b1900000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b600660009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff16146107b7576040517f667b3fbf00000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b6107bf613c7c565b6107f5576040517f2fd3952300000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b82826078828290501115610835576040517f1408658400000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b600073ffffffffffffffffffffffffffffffffffffffff16600860009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16036108bd576040517f2c75c45a00000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b600560009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16600660009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1603610966576040517f8c90bf4500000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b8484600a9182610977929190615352565b506000600660009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1690506000600860009054906101000a900473ffffffffffffffffffffffffffffffffffffffff169050610a148188888080601f016020809104026020016040519081016040528093929190818152602001838380828437600081840152601f19601f82011690508083019250505050505050613d4f565b6000600860006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff1602179055508073ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff167f279c68b511f19d28a79afc0687d9909fc941d6f7551e4b0e333a1171cc2eea5f600360009054906101000a900473ffffffffffffffffffffffffffffffffffffffff166004548b8b604051610add949392919061545e565b60405180910390a350505050505050565b6040518060400160405280601781526020017f54726164655472757374205469746c6520457363726f7700000000000000000081525081565b600080600360009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16635c975abb6040518163ffffffff1660e01b8152600401602060405180830381865afa158015610b97573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190610bbb919061510e565b90508015610bf5576040517fad49811c00000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b600960149054906101000a900460ff16610c3b576040517f7c339b1900000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b6004548514610c8157846040517fed15e6cf000000000000000000000000000000000000000000000000000000008152600401610c789190614c43565b60405180910390fd5b600360009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff1614610d1357336040517f540b9601000000000000000000000000000000000000000000000000000000008152600401610d0a91906149a1565b60405180910390fd5b60008073ffffffffffffffffffffffffffffffffffffffff16600560009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff161480610dbf5750600073ffffffffffffffffffffffffffffffffffffffff16600660009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16145b15610f145760008585905003610e01576040517f10daa94f00000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b60008060008787810190610e159190615582565b925092509250600073ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff161480610e825750600073ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff16145b15610ec65782826040517fbd805e91000000000000000000000000000000000000000000000000000000008152600401610ebd9291906155f1565b60405180910390fd5b610edf8360405180602001604052806000815250613dd2565b610ef88260405180602001604052806000815250613d4f565b80600a9081610f07919061561a565b5060019350505050610f27565b8484600a9182610f25929190615352565b505b801515600660009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16600560009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff167f44fc4ffe7e585a241451c67b41553546c65c2b07de6e9d33405e53f75357293b600360009054906101000a900473ffffffffffffffffffffffffffffffffffffffff16600454600a604051610ff493929190615770565b60405180910390a47f150b7a023d4804d13e8c85fb27262cb750cf6ba9f9dd3bb30d90f482ceeb4b1f9250505095945050505050565b60045481565b600960009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1681565b60026020528060005260406000206000915054906101000a900460ff1681565b7fdc8ea80c045a9b675c73cb328c225cc3f099d01bd9b7820947ac10cba8661cf160001b81565b6000600360009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16635c975abb6040518163ffffffff1660e01b8152600401602060405180830381865afa15801561110c573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190611130919061510e565b9050801561116a576040517fad49811c00000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b600960149054906101000a900460ff166111b0576040517f7c339b1900000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b600660009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff1614611237576040517f667b3fbf00000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b61123f613c7c565b611275576040517f2fd3952300000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b828260788282905011156112b5576040517f1408658400000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b600073ffffffffffffffffffffffffffffffffffffffff168673ffffffffffffffffffffffffffffffffffffffff160361131b576040517f2c75c45a00000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b600660009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16600560009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1614806113e657508573ffffffffffffffffffffffffffffffffffffffff16600960009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16145b61141c576040517f1c98cac300000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b6000600860006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff160217905550600560009054906101000a900473ffffffffffffffffffffffffffffffffffffffff16600760006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff1602179055508484600a91826114d2929190615352565b506115218686868080601f016020809104026020016040519081016040528093929190818152602001838380828437600081840152601f19601f82011690508083019250505050505050613dd2565b505050505050565b61153484838361109d565b61153f838383612a5d565b50505050565b60005481565b600560009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1681565b6000600360009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16635c975abb6040518163ffffffff1660e01b8152600401602060405180830381865afa1580156115e0573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190611604919061510e565b9050801561163e576040517fad49811c00000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b600960149054906101000a900460ff16611684576040517f7c339b1900000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b61168c613c7c565b6116c2576040517f2fd3952300000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b600560009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff1614611749576040517ff52018ac00000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b600660009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff16146117d0576040517f667b3fbf00000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b82826078828290501115611810576040517f1408658400000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b600073ffffffffffffffffffffffffffffffffffffffff16600760009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1614806118bb5750600073ffffffffffffffffffffffffffffffffffffffff16600860009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16145b156118f2576040517f2c75c45a00000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b8484600a9182611903929190615352565b506000600660009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1690506000600860009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1690506000600560009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1690506000600760009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1690506119ee818a8a8080601f016020809104026020016040519081016040528093929190818152602001838380828437600081840152601f19601f82011690508083019250505050505050613dd2565b611a3c838a8a8080601f016020809104026020016040519081016040528093929190818152602001838380828437600081840152601f19601f82011690508083019250505050505050613d4f565b6000600760006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff1602179055506000600860006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff1602179055508373ffffffffffffffffffffffffffffffffffffffff168173ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff167f2812f41a966386b432bd1d43d72b6613f5eca9adf4ed9e193f95f5c91a1b662686600360009054906101000a900473ffffffffffffffffffffffffffffffffffffffff166004548f8f604051611b609594939291906157ae565b60405180910390a4505050505050505050565b6000600360009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16635c975abb6040518163ffffffff1660e01b8152600401602060405180830381865afa158015611be2573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190611c06919061510e565b90508015611c40576040517fad49811c00000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b600960149054906101000a900460ff16611c86576040517f7c339b1900000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b600560009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff1614611d0d576040517ff52018ac00000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b611d15613c7c565b611d4b576040517f2fd3952300000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b428360a001511015611d9457426040517fcd21db4f000000000000000000000000000000000000000000000000000000008152600401611d8b9190614c43565b60405180910390fd5b600073ffffffffffffffffffffffffffffffffffffffff16836040015173ffffffffffffffffffffffffffffffffffffffff161480611e245750600560009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16836040015173ffffffffffffffffffffffffffffffffffffffff16145b80611e815750600660009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16836020015173ffffffffffffffffffffffffffffffffffffffff1614155b80611e925750600454836080015114155b80611eef5750600360009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16836060015173ffffffffffffffffffffffffffffffffffffffff1614155b15611f26576040517f46ad276700000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b600073ffffffffffffffffffffffffffffffffffffffff16600960009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff161461203b57600960009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16836040015173ffffffffffffffffffffffffffffffffffffffff161461203a578260400151600960009054906101000a900473ffffffffffffffffffffffffffffffffffffffff166040517fbcac228f0000000000000000000000000000000000000000000000000000000081526004016120319291906155f1565b60405180910390fd5b5b600560009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16836000015173ffffffffffffffffffffffffffffffffffffffff16146120f9578260000151600560009054906101000a900473ffffffffffffffffffffffffffffffffffffffff166040517f20904a940000000000000000000000000000000000000000000000000000000081526004016120f09291906155f1565b60405180910390fd5b61212e61210584613f5d565b600660009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1684614019565b612164576040517f8baa579f00000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b60016000600660009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020600081546121d29061582b565b9190508190555061221c83604001516040518060400160405280600381526020017f3078300000000000000000000000000000000000000000000000000000000000815250613dd2565b505050565b600360009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1681565b60016020528060005260406000206000915090505481565b6000600360009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16635c975abb6040518163ffffffff1660e01b8152600401602060405180830381865afa1580156122ce573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906122f2919061510e565b9050801561232c576040517fad49811c00000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b600960149054906101000a900460ff16612372576040517f7c339b1900000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b600560009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff16146123f9576040517ff52018ac00000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b600660009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff1614612480576040517f667b3fbf00000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b612488613c7c565b6124be576040517f2fd3952300000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b828260788282905011156124fe576040517f1408658400000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b61251860006040518060200160405280600081525061415a565b600360009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1663ab67aa5830600360009054906101000a900473ffffffffffffffffffffffffffffffffffffffff166004546040518463ffffffff1660e01b815260040161259b93929190615899565b600060405180830381600087803b1580156125b557600080fd5b505af11580156125c9573d6000803e3d6000fd5b505050508484600a91826125de929190615352565b506000600760006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff1602179055506000600860006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff1602179055503373ffffffffffffffffffffffffffffffffffffffff167fea17cbc366059ac6185e6bfc7eebd173d3260bb6bc373830f9d04260e72c244b600360009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1660045488886040516126d3949392919061545e565b60405180910390a25050505050565b6000600360009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16635c975abb6040518163ffffffff1660e01b8152600401602060405180830381865afa158015612751573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190612775919061510e565b905080156127af576040517fad49811c00000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b600960149054906101000a900460ff166127f5576040517f7c339b1900000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b82826078828290501115612835576040517f1408658400000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b61283d613c7c565b15612874576040517fd5475a0b00000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b600360009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff161461290657336040517f540b96010000000000000000000000000000000000000000000000000000000081526004016128fd91906149a1565b60405180910390fd5b612920600060405180602001604052806000815250613dd2565b61293a600060405180602001604052806000815250613d4f565b6000600960146101000a81548160ff0219169083151502179055508484600a9182612966929190615352565b507f49c56a060f3a16e899a045537fb86df850339c10c8c140a052aca89cbcc30c0b600360009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1660045487876040516129c0949392919061545e565b60405180910390a15050505050565b600a80546129dc90615175565b80601f0160208091040260200160405190810160405280929190818152602001828054612a0890615175565b8015612a555780601f10612a2a57610100808354040283529160200191612a55565b820191906000526020600020905b815481529060010190602001808311612a3857829003601f168201915b505050505081565b6000600360009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16635c975abb6040518163ffffffff1660e01b8152600401602060405180830381865afa158015612acc573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190612af0919061510e565b90508015612b2a576040517fad49811c00000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b600960149054906101000a900460ff16612b70576040517f7c339b1900000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b600660009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff1614612bf7576040517f667b3fbf00000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b612bff613c7c565b612c35576040517f2fd3952300000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b82826078828290501115612c75576040517f1408658400000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b600073ffffffffffffffffffffffffffffffffffffffff168673ffffffffffffffffffffffffffffffffffffffff1603612cdb576040517f2c75c45a00000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b8573ffffffffffffffffffffffffffffffffffffffff16600660009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1603612d62576040517f702e6e6200000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b600660009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16600560009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1603612e1c576000600760006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff1602179055505b600660009054906101000a900473ffffffffffffffffffffffffffffffffffffffff16600860006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff1602179055508484600a9182612e90929190615352565b50612edf8686868080601f016020809104026020016040519081016040528093929190818152602001838380828437600081840152601f19601f82011690508083019250505050505050613d4f565b505050505050565b600760009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1681565b6000612f17613c7c565b905090565b6000600360009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16635c975abb6040518163ffffffff1660e01b8152600401602060405180830381865afa158015612f8b573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190612faf919061510e565b90508015612fe9576040517fad49811c00000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b600960149054906101000a900460ff1661302f576040517f7c339b1900000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b600560009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff16146130b6576040517ff52018ac00000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b6130be613c7c565b6130f4576040517f2fd3952300000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b82826078828290501115613134576040517f1408658400000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b600073ffffffffffffffffffffffffffffffffffffffff16600760009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16036131bc576040517f2c75c45a00000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b600660009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16600560009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1603613265576040517f8c90bf4500000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b8484600a9182613276929190615352565b506000600560009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1690506000600760009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1690506133138188888080601f016020809104026020016040519081016040528093929190818152602001838380828437600081840152601f19601f82011690508083019250505050505050613dd2565b6000600760006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff1602179055508073ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff167f26cb5b08a00ade9c3c65737592d8344548bf60664af05af8ed04720b893eca27600360009054906101000a900473ffffffffffffffffffffffffffffffffffffffff166004548b8b6040516133dc949392919061545e565b60405180910390a350505050505050565b60006133f761424e565b905060008160000160089054906101000a900460ff1615905060008260000160009054906101000a900467ffffffffffffffff1690506000808267ffffffffffffffff161480156134455750825b9050600060018367ffffffffffffffff1614801561347a575060003073ffffffffffffffffffffffffffffffffffffffff163b145b905081158015613488575080155b156134bf576040517ff92ee8a900000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b60018560000160006101000a81548167ffffffffffffffff021916908367ffffffffffffffff160217905550831561350f5760018560000160086101000a81548160ff0219169083151502179055505b6135198787614276565b83156135755760008560000160086101000a81548160ff0219169083151502179055507fc7f505b2f371ae2175ee4913f4499e1f2633a7b5936321eed1cdaeb6115181d2600160405161356c9190615932565b60405180910390a15b50505050505050565b6000600360009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16635c975abb6040518163ffffffff1660e01b8152600401602060405180830381865afa1580156135ed573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190613611919061510e565b9050801561364b576040517fad49811c00000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b600960149054906101000a900460ff16613691576040517f7c339b1900000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b600560009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff1614613718576040517ff52018ac00000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b613720613c7c565b613756576040517f2fd3952300000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b82826078828290501115613796576040517f1408658400000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b8573ffffffffffffffffffffffffffffffffffffffff16600560009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff160361381d576040517fdd9f921d00000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b8573ffffffffffffffffffffffffffffffffffffffff16600960009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16036138a4576040517f98f83ce800000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b6000600760006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff160217905550600660009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16600560009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16036139a0576000600860006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff1602179055505b8484600a91826139b1929190615352565b50613a008686868080601f016020809104026020016040519081016040528093929190818152602001838380828437600081840152601f19601f8201169050808301925050505050505061415a565b505050505050565b600660009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1681565b6000600360009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16635c975abb6040518163ffffffff1660e01b8152600401602060405180830381865afa158015613a9d573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190613ac1919061510e565b90508015613afb576040517fad49811c00000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b600960149054906101000a900460ff16613b41576040517f7c339b1900000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b816020015173ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff1614613baa576040517fae04d15600000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b6000613bb583613f5d565b9050613bc081614300565b8260800151836020015173ffffffffffffffffffffffffffffffffffffffff16827fd6566b41f60aeb5bb4f55d9f58999096b6540c620fee372223774561e6d3854160405160405180910390a4505050565b60007f3e143f7b000000000000000000000000000000000000000000000000000000007bffffffffffffffffffffffffffffffffffffffffffffffffffffffff1916827bffffffffffffffffffffffffffffffffffffffffffffffffffffffff1916149050919050565b60003073ffffffffffffffffffffffffffffffffffffffff16600360009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16636352211e6004546040518263ffffffff1660e01b8152600401613cf29190614c43565b602060405180830381865afa158015613d0f573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190613d339190615962565b73ffffffffffffffffffffffffffffffffffffffff1614905090565b60016000600660009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060008154613dbd9061582b565b91905081905550613dce8282614387565b5050565b8173ffffffffffffffffffffffffffffffffffffffff16600560009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff167f9081b884d1178ac5e4855291131f541f64a88854f90b8df23412ffd63c39be1d600360009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1660045485604051613e799392919061598f565b60405180910390a3600073ffffffffffffffffffffffffffffffffffffffff16600960009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1614613f1857613f1760006040518060400160405280600281526020017f307800000000000000000000000000000000000000000000000000000000000081525061415a565b5b81600560006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff1602179055505050565b60007fdc8ea80c045a9b675c73cb328c225cc3f099d01bd9b7820947ac10cba8661cf160001b826000015183602001518460400151856060015186608001518760a00151600160008a6020015173ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002054604051602001613ffc9897969594939291906159cd565b604051602081830303815290604052805190602001209050919050565b60006002600085815260200190815260200160002060009054906101000a900460ff1615614073576040517f8f7b286b00000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b6000805485604051602001614089929190615ac3565b60405160208183030381529060405280519060200120905060006140e58460000151856020015186604001516040516020016140c793929190615b30565b6040516020818303038152906040528361447b90919063ffffffff16565b9050600073ffffffffffffffffffffffffffffffffffffffff168173ffffffffffffffffffffffffffffffffffffffff161415801561414f57508473ffffffffffffffffffffffffffffffffffffffff168173ffffffffffffffffffffffffffffffffffffffff16145b925050509392505050565b8173ffffffffffffffffffffffffffffffffffffffff16600960009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff167ffbe262229f456b8d55f1e1887503540dc0a1efcb4b048b6b739117e66d031214600360009054906101000a900473ffffffffffffffffffffffffffffffffffffffff16600454856040516142019392919061598f565b60405180910390a381600960006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff1602179055505050565b60007ff0c57e16840df040f15088dc2f81fe391c3923bec73e23a9662efc9c229c6a00905090565b61427e6144a7565b61428882826144e7565b6142fc6040518060400160405280601781526020017f54726164655472757374205469746c6520457363726f770000000000000000008152506040518060400160405280600181526020017f3100000000000000000000000000000000000000000000000000000000000000815250614556565b5050565b6002600082815260200190815260200160002060009054906101000a900460ff1615614358576040517f8f7b286b00000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b60016002600083815260200190815260200160002060006101000a81548160ff02191690831515021790555050565b8173ffffffffffffffffffffffffffffffffffffffff16600660009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff167f30426d047f8ae6511337356e511764b12f79993bd73501d0e993b3da7a780a4d600360009054906101000a900473ffffffffffffffffffffffffffffffffffffffff166004548560405161442e9392919061598f565b60405180910390a381600660006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff1602179055505050565b60008060008061448b86866145bd565b92509250925061449b8282614619565b82935050505092915050565b6144af61477d565b6144e5576040517fd7e6bcf800000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b565b6144ef6144a7565b81600360006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff160217905550806004819055506001600960146101000a81548160ff0219169083151502179055505050565b7f8b73c3c69bb8fe3d512ecc4cf759cc79239f7b179b0ffacaa9a75d522b39400f82805190602001208280519060200120463060405160200161459d959493929190615b6d565b604051602081830303815290604052805190602001206000819055505050565b600080600060418451036146025760008060006020870151925060408701519150606087015160001a90506145f48882858561479d565b955095509550505050614612565b60006002855160001b9250925092505b9250925092565b6000600381111561462d5761462c615bc0565b5b8260038111156146405761463f615bc0565b5b0315614779576001600381111561465a57614659615bc0565b5b82600381111561466d5761466c615bc0565b5b036146a4576040517ff645eedf00000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b600260038111156146b8576146b7615bc0565b5b8260038111156146cb576146ca615bc0565b5b03614710578060001c6040517ffce698f70000000000000000000000000000000000000000000000000000000081526004016147079190614c43565b60405180910390fd5b60038081111561472357614722615bc0565b5b82600381111561473657614735615bc0565b5b0361477857806040517fd78bce0c00000000000000000000000000000000000000000000000000000000815260040161476f9190614cd0565b60405180910390fd5b5b5050565b600061478761424e565b60000160089054906101000a900460ff16905090565b60008060007f7fffffffffffffffffffffffffffffff5d576e7357a4501ddfe92f46681b20a08460001c11156147dd576000600385925092509250614887565b6000600188888888604051600081526020016040526040516148029493929190615bfe565b6020604051602081039080840390855afa158015614824573d6000803e3d6000fd5b505050602060405103519050600073ffffffffffffffffffffffffffffffffffffffff168173ffffffffffffffffffffffffffffffffffffffff160361487857600060016000801b93509350935050614887565b8060008060001b935093509350505b9450945094915050565b6000604051905090565b600080fd5b600080fd5b60007fffffffff0000000000000000000000000000000000000000000000000000000082169050919050565b6148da816148a5565b81146148e557600080fd5b50565b6000813590506148f7816148d1565b92915050565b6000602082840312156149135761491261489b565b5b6000614921848285016148e8565b91505092915050565b60008115159050919050565b61493f8161492a565b82525050565b600060208201905061495a6000830184614936565b92915050565b600073ffffffffffffffffffffffffffffffffffffffff82169050919050565b600061498b82614960565b9050919050565b61499b81614980565b82525050565b60006020820190506149b66000830184614992565b92915050565b600080fd5b600080fd5b600080fd5b60008083601f8401126149e1576149e06149bc565b5b8235905067ffffffffffffffff8111156149fe576149fd6149c1565b5b602083019150836001820283011115614a1a57614a196149c6565b5b9250929050565b60008060208385031215614a3857614a3761489b565b5b600083013567ffffffffffffffff811115614a5657614a556148a0565b5b614a62858286016149cb565b92509250509250929050565b600081519050919050565b600082825260208201905092915050565b60005b83811015614aa8578082015181840152602081019050614a8d565b60008484015250505050565b6000601f19601f8301169050919050565b6000614ad082614a6e565b614ada8185614a79565b9350614aea818560208601614a8a565b614af381614ab4565b840191505092915050565b60006020820190508181036000830152614b188184614ac5565b905092915050565b614b2981614980565b8114614b3457600080fd5b50565b600081359050614b4681614b20565b92915050565b6000819050919050565b614b5f81614b4c565b8114614b6a57600080fd5b50565b600081359050614b7c81614b56565b92915050565b600080600080600060808688031215614b9e57614b9d61489b565b5b6000614bac88828901614b37565b9550506020614bbd88828901614b37565b9450506040614bce88828901614b6d565b935050606086013567ffffffffffffffff811115614bef57614bee6148a0565b5b614bfb888289016149cb565b92509250509295509295909350565b614c13816148a5565b82525050565b6000602082019050614c2e6000830184614c0a565b92915050565b614c3d81614b4c565b82525050565b6000602082019050614c586000830184614c34565b92915050565b6000819050919050565b614c7181614c5e565b8114614c7c57600080fd5b50565b600081359050614c8e81614c68565b92915050565b600060208284031215614caa57614ca961489b565b5b6000614cb884828501614c7f565b91505092915050565b614cca81614c5e565b82525050565b6000602082019050614ce56000830184614cc1565b92915050565b600080600060408486031215614d0457614d0361489b565b5b6000614d1286828701614b37565b935050602084013567ffffffffffffffff811115614d3357614d326148a0565b5b614d3f868287016149cb565b92509250509250925092565b60008060008060608587031215614d6557614d6461489b565b5b6000614d7387828801614b37565b9450506020614d8487828801614b37565b935050604085013567ffffffffffffffff811115614da557614da46148a0565b5b614db1878288016149cb565b925092505092959194509250565b600080fd5b7f4e487b7100000000000000000000000000000000000000000000000000000000600052604160045260246000fd5b614dfc82614ab4565b810181811067ffffffffffffffff82111715614e1b57614e1a614dc4565b5b80604052505050565b6000614e2e614891565b9050614e3a8282614df3565b919050565b600060e08284031215614e5557614e54614dbf565b5b614e5f60e0614e24565b90506000614e6f84828501614b37565b6000830152506020614e8384828501614b37565b6020830152506040614e9784828501614b37565b6040830152506060614eab84828501614b37565b6060830152506080614ebf84828501614b6d565b60808301525060a0614ed384828501614b6d565b60a08301525060c0614ee784828501614b6d565b60c08301525092915050565b600060ff82169050919050565b614f0981614ef3565b8114614f1457600080fd5b50565b600081359050614f2681614f00565b92915050565b600060608284031215614f4257614f41614dbf565b5b614f4c6060614e24565b90506000614f5c84828501614c7f565b6000830152506020614f7084828501614c7f565b6020830152506040614f8484828501614f17565b60408301525092915050565b6000806101408385031215614fa857614fa761489b565b5b6000614fb685828601614e3f565b92505060e0614fc785828601614f2c565b9150509250929050565b600060208284031215614fe757614fe661489b565b5b6000614ff584828501614b37565b91505092915050565b600081519050919050565b600082825260208201905092915050565b600061502582614ffe565b61502f8185615009565b935061503f818560208601614a8a565b61504881614ab4565b840191505092915050565b6000602082019050818103600083015261506d818461501a565b905092915050565b6000806040838503121561508c5761508b61489b565b5b600061509a85828601614b37565b92505060206150ab85828601614b6d565b9150509250929050565b600060e082840312156150cb576150ca61489b565b5b60006150d984828501614e3f565b91505092915050565b6150eb8161492a565b81146150f657600080fd5b50565b600081519050615108816150e2565b92915050565b6000602082840312156151245761512361489b565b5b6000615132848285016150f9565b91505092915050565b600082905092915050565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052602260045260246000fd5b6000600282049050600182168061518d57607f821691505b6020821081036151a05761519f615146565b5b50919050565b60008190508160005260206000209050919050565b60006020601f8301049050919050565b600082821b905092915050565b6000600883026152087fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff826151cb565b61521286836151cb565b95508019841693508086168417925050509392505050565b6000819050919050565b600061524f61524a61524584614b4c565b61522a565b614b4c565b9050919050565b6000819050919050565b61526983615234565b61527d61527582615256565b8484546151d8565b825550505050565b600090565b615292615285565b61529d818484615260565b505050565b5b818110156152c1576152b660008261528a565b6001810190506152a3565b5050565b601f821115615306576152d7816151a6565b6152e0846151bb565b810160208510156152ef578190505b6153036152fb856151bb565b8301826152a2565b50505b505050565b600082821c905092915050565b60006153296000198460080261530b565b1980831691505092915050565b60006153428383615318565b9150826002028217905092915050565b61535c838361513b565b67ffffffffffffffff81111561537557615374614dc4565b5b61537f8254615175565b61538a8282856152c5565b6000601f8311600181146153b957600084156153a7578287013590505b6153b18582615336565b865550615419565b601f1984166153c7866151a6565b60005b828110156153ef578489013582556001820191506020850194506020810190506153ca565b8683101561540c5784890135615408601f891682615318565b8355505b6001600288020188555050505b50505050505050565b82818337600083830152505050565b600061543d8385615009565b935061544a838584615422565b61545383614ab4565b840190509392505050565b60006060820190506154736000830187614992565b6154806020830186614c34565b8181036040830152615493818486615431565b905095945050505050565b60006154a982614960565b9050919050565b6154b98161549e565b81146154c457600080fd5b50565b6000813590506154d6816154b0565b92915050565b600080fd5b600067ffffffffffffffff8211156154fc576154fb614dc4565b5b61550582614ab4565b9050602081019050919050565b6000615525615520846154e1565b614e24565b905082815260208101848484011115615541576155406154dc565b5b61554c848285615422565b509392505050565b600082601f830112615569576155686149bc565b5b8135615579848260208601615512565b91505092915050565b60008060006060848603121561559b5761559a61489b565b5b60006155a9868287016154c7565b93505060206155ba868287016154c7565b925050604084013567ffffffffffffffff8111156155db576155da6148a0565b5b6155e786828701615554565b9150509250925092565b60006040820190506156066000830185614992565b6156136020830184614992565b9392505050565b61562382614ffe565b67ffffffffffffffff81111561563c5761563b614dc4565b5b6156468254615175565b6156518282856152c5565b600060209050601f8311600181146156845760008415615672578287015190505b61567c8582615336565b8655506156e4565b601f198416615692866151a6565b60005b828110156156ba57848901518255600182019150602085019450602081019050615695565b868310156156d757848901516156d3601f891682615318565b8355505b6001600288020188555050505b505050505050565b600081546156f981615175565b6157038186615009565b9450600182166000811461571e576001811461573457615767565b60ff198316865281151560200286019350615767565b61573d856151a6565b60005b8381101561575f57815481890152600182019150602081019050615740565b808801955050505b50505092915050565b60006060820190506157856000830186614992565b6157926020830185614c34565b81810360408301526157a481846156ec565b9050949350505050565b60006080820190506157c36000830188614992565b6157d06020830187614992565b6157dd6040830186614c34565b81810360608301526157f0818486615431565b90509695505050505050565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052601160045260246000fd5b600061583682614b4c565b91507fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff8203615868576158676157fc565b5b600182019050919050565b50565b6000615883600083615009565b915061588e82615873565b600082019050919050565b60006080820190506158ae6000830186614992565b6158bb6020830185614992565b6158c86040830184614c34565b81810360608301526158d981615876565b9050949350505050565b6000819050919050565b600067ffffffffffffffff82169050919050565b600061591c615917615912846158e3565b61522a565b6158ed565b9050919050565b61592c81615901565b82525050565b60006020820190506159476000830184615923565b92915050565b60008151905061595c81614b20565b92915050565b6000602082840312156159785761597761489b565b5b60006159868482850161594d565b91505092915050565b60006060820190506159a46000830186614992565b6159b16020830185614c34565b81810360408301526159c3818461501a565b9050949350505050565b6000610100820190506159e3600083018b614cc1565b6159f0602083018a614992565b6159fd6040830189614992565b615a0a6060830188614992565b615a176080830187614992565b615a2460a0830186614c34565b615a3160c0830185614c34565b615a3e60e0830184614c34565b9998505050505050505050565b600081905092915050565b7f1901000000000000000000000000000000000000000000000000000000000000600082015250565b6000615a8c600283615a4b565b9150615a9782615a56565b600282019050919050565b6000819050919050565b615abd615ab882614c5e565b615aa2565b82525050565b6000615ace82615a7f565b9150615ada8285615aac565b602082019150615aea8284615aac565b6020820191508190509392505050565b60008160f81b9050919050565b6000615b1282615afa565b9050919050565b615b2a615b2582614ef3565b615b07565b82525050565b6000615b3c8286615aac565b602082019150615b4c8285615aac565b602082019150615b5c8284615b19565b600182019150819050949350505050565b600060a082019050615b826000830188614cc1565b615b8f6020830187614cc1565b615b9c6040830186614cc1565b615ba96060830185614c34565b615bb66080830184614992565b9695505050505050565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052602160045260246000fd5b615bf881614ef3565b82525050565b6000608082019050615c136000830187614cc1565b615c206020830186615bef565b615c2d6040830185614cc1565b615c3a6060830184614cc1565b9594505050505056fea2646970667358221220b5f565ff2767b83545845c53e30883cd071dd10550b0f2d182659b79edc481c564736f6c63430008160033";
888
+ const isSuperArgs = xs => xs.length > 1;
889
+ class TitleEscrowSignable__factory extends _ethers.ContractFactory {
890
+ constructor(...args) {
891
+ if (isSuperArgs(args)) {
892
+ super(...args);
893
+ } else {
894
+ super(_abi, _bytecode, args[0]);
895
+ }
896
+ }
897
+ getDeployTransaction(overrides) {
898
+ return super.getDeployTransaction(overrides || {});
899
+ }
900
+ deploy(overrides) {
901
+ return super.deploy(overrides || {});
902
+ }
903
+ connect(runner) {
904
+ return super.connect(runner);
905
+ }
906
+ static createInterface() {
907
+ return new _ethers.Interface(_abi);
908
+ }
909
+ static connect(address, runner) {
910
+ return new _ethers.Contract(address, _abi, runner);
911
+ }
912
+ }
913
+ exports.TitleEscrowSignable__factory = TitleEscrowSignable__factory;
914
+ _defineProperty(TitleEscrowSignable__factory, "bytecode", _bytecode);
915
+ _defineProperty(TitleEscrowSignable__factory, "abi", _abi);