@venusprotocol/isolated-pools 1.0.0-dev.8 → 1.0.0-dev.9

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 (210) hide show
  1. package/README.md +1 -11
  2. package/contracts/Comptroller.sol +1 -1
  3. package/contracts/Pool/PoolRegistry.sol +39 -207
  4. package/contracts/lib/imports.sol +11 -0
  5. package/dist/deploy/006-deploy-factories.js +1 -32
  6. package/dist/deploy/007-access-control-configure.js +2 -6
  7. package/dist/deploy/009-deploy-pools.js +84 -23
  8. package/package.json +1 -1
  9. package/artifacts/@openzeppelin/contracts/access/AccessControl.sol/AccessControl.dbg.json +0 -4
  10. package/artifacts/@openzeppelin/contracts/access/AccessControl.sol/AccessControl.json +0 -215
  11. package/artifacts/@openzeppelin/contracts/access/IAccessControl.sol/IAccessControl.dbg.json +0 -4
  12. package/artifacts/@openzeppelin/contracts/access/IAccessControl.sol/IAccessControl.json +0 -183
  13. package/artifacts/@openzeppelin/contracts/access/Ownable.sol/Ownable.dbg.json +0 -4
  14. package/artifacts/@openzeppelin/contracts/access/Ownable.sol/Ownable.json +0 -63
  15. package/artifacts/@openzeppelin/contracts/interfaces/IERC1967.sol/IERC1967.dbg.json +0 -4
  16. package/artifacts/@openzeppelin/contracts/interfaces/IERC1967.sol/IERC1967.json +0 -56
  17. package/artifacts/@openzeppelin/contracts/interfaces/draft-IERC1822.sol/IERC1822Proxiable.dbg.json +0 -4
  18. package/artifacts/@openzeppelin/contracts/interfaces/draft-IERC1822.sol/IERC1822Proxiable.json +0 -24
  19. package/artifacts/@openzeppelin/contracts/proxy/ERC1967/ERC1967Upgrade.sol/ERC1967Upgrade.dbg.json +0 -4
  20. package/artifacts/@openzeppelin/contracts/proxy/ERC1967/ERC1967Upgrade.sol/ERC1967Upgrade.json +0 -56
  21. package/artifacts/@openzeppelin/contracts/proxy/Proxy.sol/Proxy.dbg.json +0 -4
  22. package/artifacts/@openzeppelin/contracts/proxy/Proxy.sol/Proxy.json +0 -19
  23. package/artifacts/@openzeppelin/contracts/proxy/beacon/BeaconProxy.sol/BeaconProxy.dbg.json +0 -4
  24. package/artifacts/@openzeppelin/contracts/proxy/beacon/BeaconProxy.sol/BeaconProxy.json +0 -80
  25. package/artifacts/@openzeppelin/contracts/proxy/beacon/IBeacon.sol/IBeacon.dbg.json +0 -4
  26. package/artifacts/@openzeppelin/contracts/proxy/beacon/IBeacon.sol/IBeacon.json +0 -24
  27. package/artifacts/@openzeppelin/contracts/proxy/beacon/UpgradeableBeacon.sol/UpgradeableBeacon.dbg.json +0 -4
  28. package/artifacts/@openzeppelin/contracts/proxy/beacon/UpgradeableBeacon.sol/UpgradeableBeacon.json +0 -113
  29. package/artifacts/@openzeppelin/contracts/token/ERC20/ERC20.sol/ERC20.dbg.json +0 -4
  30. package/artifacts/@openzeppelin/contracts/token/ERC20/ERC20.sol/ERC20.json +0 -297
  31. package/artifacts/@openzeppelin/contracts/token/ERC20/IERC20.sol/IERC20.dbg.json +0 -4
  32. package/artifacts/@openzeppelin/contracts/token/ERC20/IERC20.sol/IERC20.json +0 -194
  33. package/artifacts/@openzeppelin/contracts/token/ERC20/extensions/IERC20Metadata.sol/IERC20Metadata.dbg.json +0 -4
  34. package/artifacts/@openzeppelin/contracts/token/ERC20/extensions/IERC20Metadata.sol/IERC20Metadata.json +0 -233
  35. package/artifacts/@openzeppelin/contracts/utils/Address.sol/Address.dbg.json +0 -4
  36. package/artifacts/@openzeppelin/contracts/utils/Address.sol/Address.json +0 -10
  37. package/artifacts/@openzeppelin/contracts/utils/Context.sol/Context.dbg.json +0 -4
  38. package/artifacts/@openzeppelin/contracts/utils/Context.sol/Context.json +0 -10
  39. package/artifacts/@openzeppelin/contracts/utils/StorageSlot.sol/StorageSlot.dbg.json +0 -4
  40. package/artifacts/@openzeppelin/contracts/utils/StorageSlot.sol/StorageSlot.json +0 -10
  41. package/artifacts/@openzeppelin/contracts/utils/Strings.sol/Strings.dbg.json +0 -4
  42. package/artifacts/@openzeppelin/contracts/utils/Strings.sol/Strings.json +0 -10
  43. package/artifacts/@openzeppelin/contracts/utils/introspection/ERC165.sol/ERC165.dbg.json +0 -4
  44. package/artifacts/@openzeppelin/contracts/utils/introspection/ERC165.sol/ERC165.json +0 -30
  45. package/artifacts/@openzeppelin/contracts/utils/introspection/IERC165.sol/IERC165.dbg.json +0 -4
  46. package/artifacts/@openzeppelin/contracts/utils/introspection/IERC165.sol/IERC165.json +0 -30
  47. package/artifacts/@openzeppelin/contracts/utils/math/Math.sol/Math.dbg.json +0 -4
  48. package/artifacts/@openzeppelin/contracts/utils/math/Math.sol/Math.json +0 -10
  49. package/artifacts/@openzeppelin/contracts/utils/math/SignedMath.sol/SignedMath.dbg.json +0 -4
  50. package/artifacts/@openzeppelin/contracts/utils/math/SignedMath.sol/SignedMath.json +0 -10
  51. package/artifacts/@openzeppelin/contracts-upgradeable/access/Ownable2StepUpgradeable.sol/Ownable2StepUpgradeable.dbg.json +0 -4
  52. package/artifacts/@openzeppelin/contracts-upgradeable/access/Ownable2StepUpgradeable.sol/Ownable2StepUpgradeable.json +0 -115
  53. package/artifacts/@openzeppelin/contracts-upgradeable/access/OwnableUpgradeable.sol/OwnableUpgradeable.dbg.json +0 -4
  54. package/artifacts/@openzeppelin/contracts-upgradeable/access/OwnableUpgradeable.sol/OwnableUpgradeable.json +0 -76
  55. package/artifacts/@openzeppelin/contracts-upgradeable/proxy/utils/Initializable.sol/Initializable.dbg.json +0 -4
  56. package/artifacts/@openzeppelin/contracts-upgradeable/proxy/utils/Initializable.sol/Initializable.json +0 -24
  57. package/artifacts/@openzeppelin/contracts-upgradeable/security/ReentrancyGuardUpgradeable.sol/ReentrancyGuardUpgradeable.dbg.json +0 -4
  58. package/artifacts/@openzeppelin/contracts-upgradeable/security/ReentrancyGuardUpgradeable.sol/ReentrancyGuardUpgradeable.json +0 -24
  59. package/artifacts/@openzeppelin/contracts-upgradeable/token/ERC20/IERC20Upgradeable.sol/IERC20Upgradeable.dbg.json +0 -4
  60. package/artifacts/@openzeppelin/contracts-upgradeable/token/ERC20/IERC20Upgradeable.sol/IERC20Upgradeable.json +0 -194
  61. package/artifacts/@openzeppelin/contracts-upgradeable/token/ERC20/extensions/IERC20PermitUpgradeable.sol/IERC20PermitUpgradeable.dbg.json +0 -4
  62. package/artifacts/@openzeppelin/contracts-upgradeable/token/ERC20/extensions/IERC20PermitUpgradeable.sol/IERC20PermitUpgradeable.json +0 -86
  63. package/artifacts/@openzeppelin/contracts-upgradeable/token/ERC20/utils/SafeERC20Upgradeable.sol/SafeERC20Upgradeable.dbg.json +0 -4
  64. package/artifacts/@openzeppelin/contracts-upgradeable/token/ERC20/utils/SafeERC20Upgradeable.sol/SafeERC20Upgradeable.json +0 -10
  65. package/artifacts/@openzeppelin/contracts-upgradeable/utils/AddressUpgradeable.sol/AddressUpgradeable.dbg.json +0 -4
  66. package/artifacts/@openzeppelin/contracts-upgradeable/utils/AddressUpgradeable.sol/AddressUpgradeable.json +0 -10
  67. package/artifacts/@openzeppelin/contracts-upgradeable/utils/ContextUpgradeable.sol/ContextUpgradeable.dbg.json +0 -4
  68. package/artifacts/@openzeppelin/contracts-upgradeable/utils/ContextUpgradeable.sol/ContextUpgradeable.json +0 -24
  69. package/artifacts/@venusprotocol/governance-contracts/contracts/Governance/AccessControlManager.sol/AccessControlManager.dbg.json +0 -4
  70. package/artifacts/@venusprotocol/governance-contracts/contracts/Governance/AccessControlManager.sol/AccessControlManager.json +0 -369
  71. package/artifacts/@venusprotocol/governance-contracts/contracts/Governance/AccessControlledV8.sol/AccessControlledV8.dbg.json +0 -4
  72. package/artifacts/@venusprotocol/governance-contracts/contracts/Governance/AccessControlledV8.sol/AccessControlledV8.json +0 -181
  73. package/artifacts/@venusprotocol/governance-contracts/contracts/Governance/IAccessControlManagerV8.sol/IAccessControlManagerV8.dbg.json +0 -4
  74. package/artifacts/@venusprotocol/governance-contracts/contracts/Governance/IAccessControlManagerV8.sol/IAccessControlManagerV8.json +0 -282
  75. package/artifacts/@venusprotocol/oracle/contracts/interfaces/OracleInterface.sol/BoundValidatorInterface.dbg.json +0 -4
  76. package/artifacts/@venusprotocol/oracle/contracts/interfaces/OracleInterface.sol/BoundValidatorInterface.json +0 -40
  77. package/artifacts/@venusprotocol/oracle/contracts/interfaces/OracleInterface.sol/OracleInterface.dbg.json +0 -4
  78. package/artifacts/@venusprotocol/oracle/contracts/interfaces/OracleInterface.sol/OracleInterface.json +0 -30
  79. package/artifacts/@venusprotocol/oracle/contracts/interfaces/OracleInterface.sol/ResilientOracleInterface.dbg.json +0 -4
  80. package/artifacts/@venusprotocol/oracle/contracts/interfaces/OracleInterface.sol/ResilientOracleInterface.json +0 -43
  81. package/artifacts/@venusprotocol/oracle/contracts/interfaces/OracleInterface.sol/TwapInterface.dbg.json +0 -4
  82. package/artifacts/@venusprotocol/oracle/contracts/interfaces/OracleInterface.sol/TwapInterface.json +0 -49
  83. package/artifacts/build-info/8c02b3a8e3642dffe55772a8d2bed46f.json +0 -1
  84. package/artifacts/build-info/f19d689bc99e63a20dd2a17a14e2b84a.json +0 -1
  85. package/artifacts/contracts/BaseJumpRateModelV2.sol/BaseJumpRateModelV2.dbg.json +0 -4
  86. package/artifacts/contracts/BaseJumpRateModelV2.sol/BaseJumpRateModelV2.json +0 -276
  87. package/artifacts/contracts/Comptroller.sol/Comptroller.dbg.json +0 -4
  88. package/artifacts/contracts/Comptroller.sol/Comptroller.json +0 -1667
  89. package/artifacts/contracts/ComptrollerInterface.sol/ComptrollerInterface.dbg.json +0 -4
  90. package/artifacts/contracts/ComptrollerInterface.sol/ComptrollerInterface.json +0 -285
  91. package/artifacts/contracts/ComptrollerInterface.sol/ComptrollerViewInterface.dbg.json +0 -4
  92. package/artifacts/contracts/ComptrollerInterface.sol/ComptrollerViewInterface.json +0 -170
  93. package/artifacts/contracts/ComptrollerStorage.sol/ComptrollerStorage.dbg.json +0 -4
  94. package/artifacts/contracts/ComptrollerStorage.sol/ComptrollerStorage.json +0 -173
  95. package/artifacts/contracts/ErrorReporter.sol/TokenErrorReporter.dbg.json +0 -4
  96. package/artifacts/contracts/ErrorReporter.sol/TokenErrorReporter.json +0 -156
  97. package/artifacts/contracts/ExponentialNoError.sol/ExponentialNoError.dbg.json +0 -4
  98. package/artifacts/contracts/ExponentialNoError.sol/ExponentialNoError.json +0 -10
  99. package/artifacts/contracts/Factories/JumpRateModelFactory.sol/JumpRateModelFactory.dbg.json +0 -4
  100. package/artifacts/contracts/Factories/JumpRateModelFactory.sol/JumpRateModelFactory.json +0 -50
  101. package/artifacts/contracts/Factories/VTokenProxyFactory.sol/VTokenProxyFactory.dbg.json +0 -4
  102. package/artifacts/contracts/Factories/VTokenProxyFactory.sol/VTokenProxyFactory.json +0 -191
  103. package/artifacts/contracts/Factories/WhitePaperInterestRateModelFactory.sol/WhitePaperInterestRateModelFactory.dbg.json +0 -4
  104. package/artifacts/contracts/Factories/WhitePaperInterestRateModelFactory.sol/WhitePaperInterestRateModelFactory.json +0 -35
  105. package/artifacts/contracts/IPancakeswapV2Router.sol/IPancakeswapV2Router.dbg.json +0 -4
  106. package/artifacts/contracts/IPancakeswapV2Router.sol/IPancakeswapV2Router.json +0 -50
  107. package/artifacts/contracts/InterestRateModel.sol/InterestRateModel.dbg.json +0 -4
  108. package/artifacts/contracts/InterestRateModel.sol/InterestRateModel.json +0 -97
  109. package/artifacts/contracts/JumpRateModelV2.sol/JumpRateModelV2.dbg.json +0 -4
  110. package/artifacts/contracts/JumpRateModelV2.sol/JumpRateModelV2.json +0 -307
  111. package/artifacts/contracts/Lens/PoolLens.sol/PoolLens.dbg.json +0 -4
  112. package/artifacts/contracts/Lens/PoolLens.sol/PoolLens.json +0 -1087
  113. package/artifacts/contracts/MaxLoopsLimitHelper.sol/MaxLoopsLimitHelper.dbg.json +0 -4
  114. package/artifacts/contracts/MaxLoopsLimitHelper.sol/MaxLoopsLimitHelper.json +0 -59
  115. package/artifacts/contracts/Pool/PoolRegistry.sol/PoolRegistry.dbg.json +0 -4
  116. package/artifacts/contracts/Pool/PoolRegistry.sol/PoolRegistry.json +0 -923
  117. package/artifacts/contracts/Pool/PoolRegistryInterface.sol/PoolRegistryInterface.dbg.json +0 -4
  118. package/artifacts/contracts/Pool/PoolRegistryInterface.sol/PoolRegistryInterface.json +0 -176
  119. package/artifacts/contracts/Proxy/UpgradeableBeacon.sol/Beacon.dbg.json +0 -4
  120. package/artifacts/contracts/Proxy/UpgradeableBeacon.sol/Beacon.json +0 -113
  121. package/artifacts/contracts/Rewards/RewardsDistributor.sol/RewardsDistributor.dbg.json +0 -4
  122. package/artifacts/contracts/Rewards/RewardsDistributor.sol/RewardsDistributor.json +0 -928
  123. package/artifacts/contracts/RiskFund/IProtocolShareReserve.sol/IProtocolShareReserve.dbg.json +0 -4
  124. package/artifacts/contracts/RiskFund/IProtocolShareReserve.sol/IProtocolShareReserve.json +0 -29
  125. package/artifacts/contracts/RiskFund/IRiskFund.sol/IRiskFund.dbg.json +0 -4
  126. package/artifacts/contracts/RiskFund/IRiskFund.sol/IRiskFund.json +0 -101
  127. package/artifacts/contracts/RiskFund/ProtocolShareReserve.sol/ProtocolShareReserve.dbg.json +0 -4
  128. package/artifacts/contracts/RiskFund/ProtocolShareReserve.sol/ProtocolShareReserve.json +0 -296
  129. package/artifacts/contracts/RiskFund/ReserveHelpers.sol/ReserveHelpers.dbg.json +0 -4
  130. package/artifacts/contracts/RiskFund/ReserveHelpers.sol/ReserveHelpers.json +0 -83
  131. package/artifacts/contracts/RiskFund/RiskFund.sol/RiskFund.dbg.json +0 -4
  132. package/artifacts/contracts/RiskFund/RiskFund.sol/RiskFund.json +0 -615
  133. package/artifacts/contracts/Shortfall/IShortfall.sol/IShortfall.dbg.json +0 -4
  134. package/artifacts/contracts/Shortfall/IShortfall.sol/IShortfall.json +0 -24
  135. package/artifacts/contracts/Shortfall/Shortfall.sol/Shortfall.dbg.json +0 -4
  136. package/artifacts/contracts/Shortfall/Shortfall.sol/Shortfall.json +0 -756
  137. package/artifacts/contracts/VToken.sol/VToken.dbg.json +0 -4
  138. package/artifacts/contracts/VToken.sol/VToken.json +0 -1850
  139. package/artifacts/contracts/VTokenInterfaces.sol/VTokenInterface.dbg.json +0 -4
  140. package/artifacts/contracts/VTokenInterfaces.sol/VTokenInterface.json +0 -1398
  141. package/artifacts/contracts/VTokenInterfaces.sol/VTokenStorage.dbg.json +0 -4
  142. package/artifacts/contracts/VTokenInterfaces.sol/VTokenStorage.json +0 -219
  143. package/artifacts/contracts/WhitePaperInterestRateModel.sol/WhitePaperInterestRateModel.dbg.json +0 -4
  144. package/artifacts/contracts/WhitePaperInterestRateModel.sol/WhitePaperInterestRateModel.json +0 -192
  145. package/artifacts/contracts/test/ComptrollerHarness.sol/ComptrollerHarness.dbg.json +0 -4
  146. package/artifacts/contracts/test/ComptrollerHarness.sol/ComptrollerHarness.json +0 -1712
  147. package/artifacts/contracts/test/ComptrollerHarness.sol/EchoTypesComptroller.dbg.json +0 -4
  148. package/artifacts/contracts/test/ComptrollerHarness.sol/EchoTypesComptroller.json +0 -94
  149. package/artifacts/contracts/test/ComptrollerScenario.sol/ComptrollerScenario.dbg.json +0 -4
  150. package/artifacts/contracts/test/ComptrollerScenario.sol/ComptrollerScenario.json +0 -1744
  151. package/artifacts/contracts/test/ERC20.sol/ERC20.dbg.json +0 -4
  152. package/artifacts/contracts/test/ERC20.sol/ERC20.json +0 -194
  153. package/artifacts/contracts/test/ERC20.sol/ERC20Base.dbg.json +0 -4
  154. package/artifacts/contracts/test/ERC20.sol/ERC20Base.json +0 -141
  155. package/artifacts/contracts/test/ERC20.sol/ERC20Harness.dbg.json +0 -4
  156. package/artifacts/contracts/test/ERC20.sol/ERC20Harness.json +0 -351
  157. package/artifacts/contracts/test/ERC20.sol/ERC20NS.dbg.json +0 -4
  158. package/artifacts/contracts/test/ERC20.sol/ERC20NS.json +0 -182
  159. package/artifacts/contracts/test/ERC20.sol/NonStandardToken.dbg.json +0 -4
  160. package/artifacts/contracts/test/ERC20.sol/NonStandardToken.json +0 -247
  161. package/artifacts/contracts/test/ERC20.sol/StandardToken.dbg.json +0 -4
  162. package/artifacts/contracts/test/ERC20.sol/StandardToken.json +0 -259
  163. package/artifacts/contracts/test/EvilToken.sol/EvilToken.dbg.json +0 -4
  164. package/artifacts/contracts/test/EvilToken.sol/EvilToken.json +0 -303
  165. package/artifacts/contracts/test/FaucetToken.sol/FaucetNonStandardToken.dbg.json +0 -4
  166. package/artifacts/contracts/test/FaucetToken.sol/FaucetNonStandardToken.json +0 -265
  167. package/artifacts/contracts/test/FaucetToken.sol/FaucetToken.dbg.json +0 -4
  168. package/artifacts/contracts/test/FaucetToken.sol/FaucetToken.json +0 -277
  169. package/artifacts/contracts/test/FaucetToken.sol/FaucetTokenReEntrantHarness.dbg.json +0 -4
  170. package/artifacts/contracts/test/FaucetToken.sol/FaucetTokenReEntrantHarness.json +0 -313
  171. package/artifacts/contracts/test/FeeToken.sol/FeeToken.dbg.json +0 -4
  172. package/artifacts/contracts/test/FeeToken.sol/FeeToken.json +0 -313
  173. package/artifacts/contracts/test/HarnessMaxLoopsLimitHelper.sol/HarnessMaxLoopsLimitHelper.dbg.json +0 -4
  174. package/artifacts/contracts/test/HarnessMaxLoopsLimitHelper.sol/HarnessMaxLoopsLimitHelper.json +0 -85
  175. package/artifacts/contracts/test/MockDeflationaryToken.sol/MockDeflatingToken.dbg.json +0 -4
  176. package/artifacts/contracts/test/MockDeflationaryToken.sol/MockDeflatingToken.json +0 -332
  177. package/artifacts/contracts/test/Mocks/MockPancakeSwap.sol/IERC20.dbg.json +0 -4
  178. package/artifacts/contracts/test/Mocks/MockPancakeSwap.sol/IERC20.json +0 -233
  179. package/artifacts/contracts/test/Mocks/MockPancakeSwap.sol/IPancakeFactory.dbg.json +0 -4
  180. package/artifacts/contracts/test/Mocks/MockPancakeSwap.sol/IPancakeFactory.json +0 -187
  181. package/artifacts/contracts/test/Mocks/MockPancakeSwap.sol/IPancakePair.dbg.json +0 -4
  182. package/artifacts/contracts/test/Mocks/MockPancakeSwap.sol/IPancakePair.json +0 -668
  183. package/artifacts/contracts/test/Mocks/MockPancakeSwap.sol/IPancakeRouter01.dbg.json +0 -4
  184. package/artifacts/contracts/test/Mocks/MockPancakeSwap.sol/IPancakeRouter01.json +0 -760
  185. package/artifacts/contracts/test/Mocks/MockPancakeSwap.sol/IPancakeRouter02.dbg.json +0 -4
  186. package/artifacts/contracts/test/Mocks/MockPancakeSwap.sol/IPancakeRouter02.json +0 -962
  187. package/artifacts/contracts/test/Mocks/MockPancakeSwap.sol/IWETH.dbg.json +0 -4
  188. package/artifacts/contracts/test/Mocks/MockPancakeSwap.sol/IWETH.json +0 -55
  189. package/artifacts/contracts/test/Mocks/MockPancakeSwap.sol/PancakeLibrary.dbg.json +0 -4
  190. package/artifacts/contracts/test/Mocks/MockPancakeSwap.sol/PancakeLibrary.json +0 -10
  191. package/artifacts/contracts/test/Mocks/MockPancakeSwap.sol/PancakeRouter.dbg.json +0 -4
  192. package/artifacts/contracts/test/Mocks/MockPancakeSwap.sol/PancakeRouter.json +0 -982
  193. package/artifacts/contracts/test/Mocks/MockPancakeSwap.sol/SafeMath.dbg.json +0 -4
  194. package/artifacts/contracts/test/Mocks/MockPancakeSwap.sol/SafeMath.json +0 -10
  195. package/artifacts/contracts/test/Mocks/MockPancakeSwap.sol/TransferHelper.dbg.json +0 -4
  196. package/artifacts/contracts/test/Mocks/MockPancakeSwap.sol/TransferHelper.json +0 -10
  197. package/artifacts/contracts/test/Mocks/MockPriceOracle.sol/MockPriceOracle.dbg.json +0 -4
  198. package/artifacts/contracts/test/Mocks/MockPriceOracle.sol/MockPriceOracle.json +0 -85
  199. package/artifacts/contracts/test/Mocks/MockToken.sol/MockToken.dbg.json +0 -4
  200. package/artifacts/contracts/test/Mocks/MockToken.sol/MockToken.json +0 -315
  201. package/artifacts/contracts/test/SafeMath.sol/SafeMath.dbg.json +0 -4
  202. package/artifacts/contracts/test/SafeMath.sol/SafeMath.json +0 -10
  203. package/artifacts/contracts/test/UpgradedVToken.sol/UpgradedVToken.dbg.json +0 -4
  204. package/artifacts/contracts/test/UpgradedVToken.sol/UpgradedVToken.json +0 -1946
  205. package/artifacts/contracts/test/VTokenHarness.sol/VTokenHarness.dbg.json +0 -4
  206. package/artifacts/contracts/test/VTokenHarness.sol/VTokenHarness.json +0 -2306
  207. package/contracts/Factories/JumpRateModelFactory.sol +0 -26
  208. package/contracts/Factories/VTokenProxyFactory.sol +0 -53
  209. package/contracts/Factories/WhitePaperInterestRateModelFactory.sol +0 -12
  210. package/contracts/Proxy/UpgradeableBeacon.sol +0 -10
@@ -1,756 +0,0 @@
1
- {
2
- "_format": "hh-sol-artifact-1",
3
- "contractName": "Shortfall",
4
- "sourceName": "contracts/Shortfall/Shortfall.sol",
5
- "abi": [
6
- {
7
- "inputs": [],
8
- "stateMutability": "nonpayable",
9
- "type": "constructor"
10
- },
11
- {
12
- "inputs": [
13
- {
14
- "internalType": "address",
15
- "name": "sender",
16
- "type": "address"
17
- },
18
- {
19
- "internalType": "address",
20
- "name": "calledContract",
21
- "type": "address"
22
- },
23
- {
24
- "internalType": "string",
25
- "name": "methodSignature",
26
- "type": "string"
27
- }
28
- ],
29
- "name": "Unauthorized",
30
- "type": "error"
31
- },
32
- {
33
- "inputs": [],
34
- "name": "ZeroAddressNotAllowed",
35
- "type": "error"
36
- },
37
- {
38
- "anonymous": false,
39
- "inputs": [
40
- {
41
- "indexed": true,
42
- "internalType": "address",
43
- "name": "comptroller",
44
- "type": "address"
45
- },
46
- {
47
- "indexed": false,
48
- "internalType": "uint256",
49
- "name": "auctionStartBlock",
50
- "type": "uint256"
51
- },
52
- {
53
- "indexed": true,
54
- "internalType": "address",
55
- "name": "highestBidder",
56
- "type": "address"
57
- },
58
- {
59
- "indexed": false,
60
- "internalType": "uint256",
61
- "name": "highestBidBps",
62
- "type": "uint256"
63
- },
64
- {
65
- "indexed": false,
66
- "internalType": "uint256",
67
- "name": "seizedRiskFind",
68
- "type": "uint256"
69
- },
70
- {
71
- "indexed": false,
72
- "internalType": "contract VToken[]",
73
- "name": "markets",
74
- "type": "address[]"
75
- },
76
- {
77
- "indexed": false,
78
- "internalType": "uint256[]",
79
- "name": "marketDebt",
80
- "type": "uint256[]"
81
- }
82
- ],
83
- "name": "AuctionClosed",
84
- "type": "event"
85
- },
86
- {
87
- "anonymous": false,
88
- "inputs": [
89
- {
90
- "indexed": true,
91
- "internalType": "address",
92
- "name": "comptroller",
93
- "type": "address"
94
- },
95
- {
96
- "indexed": false,
97
- "internalType": "uint256",
98
- "name": "auctionStartBlock",
99
- "type": "uint256"
100
- }
101
- ],
102
- "name": "AuctionRestarted",
103
- "type": "event"
104
- },
105
- {
106
- "anonymous": false,
107
- "inputs": [
108
- {
109
- "indexed": true,
110
- "internalType": "address",
111
- "name": "comptroller",
112
- "type": "address"
113
- },
114
- {
115
- "indexed": false,
116
- "internalType": "uint256",
117
- "name": "auctionStartBlock",
118
- "type": "uint256"
119
- },
120
- {
121
- "indexed": false,
122
- "internalType": "enum Shortfall.AuctionType",
123
- "name": "auctionType",
124
- "type": "uint8"
125
- },
126
- {
127
- "indexed": false,
128
- "internalType": "contract VToken[]",
129
- "name": "markets",
130
- "type": "address[]"
131
- },
132
- {
133
- "indexed": false,
134
- "internalType": "uint256[]",
135
- "name": "marketsDebt",
136
- "type": "uint256[]"
137
- },
138
- {
139
- "indexed": false,
140
- "internalType": "uint256",
141
- "name": "seizedRiskFund",
142
- "type": "uint256"
143
- },
144
- {
145
- "indexed": false,
146
- "internalType": "uint256",
147
- "name": "startBidBps",
148
- "type": "uint256"
149
- }
150
- ],
151
- "name": "AuctionStarted",
152
- "type": "event"
153
- },
154
- {
155
- "anonymous": false,
156
- "inputs": [
157
- {
158
- "indexed": false,
159
- "internalType": "address",
160
- "name": "sender",
161
- "type": "address"
162
- }
163
- ],
164
- "name": "AuctionsPaused",
165
- "type": "event"
166
- },
167
- {
168
- "anonymous": false,
169
- "inputs": [
170
- {
171
- "indexed": false,
172
- "internalType": "address",
173
- "name": "sender",
174
- "type": "address"
175
- }
176
- ],
177
- "name": "AuctionsResumed",
178
- "type": "event"
179
- },
180
- {
181
- "anonymous": false,
182
- "inputs": [
183
- {
184
- "indexed": true,
185
- "internalType": "address",
186
- "name": "comptroller",
187
- "type": "address"
188
- },
189
- {
190
- "indexed": false,
191
- "internalType": "uint256",
192
- "name": "auctionStartBlock",
193
- "type": "uint256"
194
- },
195
- {
196
- "indexed": false,
197
- "internalType": "uint256",
198
- "name": "bidBps",
199
- "type": "uint256"
200
- },
201
- {
202
- "indexed": true,
203
- "internalType": "address",
204
- "name": "bidder",
205
- "type": "address"
206
- }
207
- ],
208
- "name": "BidPlaced",
209
- "type": "event"
210
- },
211
- {
212
- "anonymous": false,
213
- "inputs": [
214
- {
215
- "indexed": false,
216
- "internalType": "uint256",
217
- "name": "oldIncentiveBps",
218
- "type": "uint256"
219
- },
220
- {
221
- "indexed": false,
222
- "internalType": "uint256",
223
- "name": "newIncentiveBps",
224
- "type": "uint256"
225
- }
226
- ],
227
- "name": "IncentiveBpsUpdated",
228
- "type": "event"
229
- },
230
- {
231
- "anonymous": false,
232
- "inputs": [
233
- {
234
- "indexed": false,
235
- "internalType": "uint8",
236
- "name": "version",
237
- "type": "uint8"
238
- }
239
- ],
240
- "name": "Initialized",
241
- "type": "event"
242
- },
243
- {
244
- "anonymous": false,
245
- "inputs": [
246
- {
247
- "indexed": false,
248
- "internalType": "uint256",
249
- "name": "oldMinimumPoolBadDebt",
250
- "type": "uint256"
251
- },
252
- {
253
- "indexed": false,
254
- "internalType": "uint256",
255
- "name": "newMinimumPoolBadDebt",
256
- "type": "uint256"
257
- }
258
- ],
259
- "name": "MinimumPoolBadDebtUpdated",
260
- "type": "event"
261
- },
262
- {
263
- "anonymous": false,
264
- "inputs": [
265
- {
266
- "indexed": false,
267
- "internalType": "address",
268
- "name": "oldAccessControlManager",
269
- "type": "address"
270
- },
271
- {
272
- "indexed": false,
273
- "internalType": "address",
274
- "name": "newAccessControlManager",
275
- "type": "address"
276
- }
277
- ],
278
- "name": "NewAccessControlManager",
279
- "type": "event"
280
- },
281
- {
282
- "anonymous": false,
283
- "inputs": [
284
- {
285
- "indexed": false,
286
- "internalType": "uint256",
287
- "name": "oldNextBidderBlockLimit",
288
- "type": "uint256"
289
- },
290
- {
291
- "indexed": false,
292
- "internalType": "uint256",
293
- "name": "newNextBidderBlockLimit",
294
- "type": "uint256"
295
- }
296
- ],
297
- "name": "NextBidderBlockLimitUpdated",
298
- "type": "event"
299
- },
300
- {
301
- "anonymous": false,
302
- "inputs": [
303
- {
304
- "indexed": true,
305
- "internalType": "address",
306
- "name": "previousOwner",
307
- "type": "address"
308
- },
309
- {
310
- "indexed": true,
311
- "internalType": "address",
312
- "name": "newOwner",
313
- "type": "address"
314
- }
315
- ],
316
- "name": "OwnershipTransferStarted",
317
- "type": "event"
318
- },
319
- {
320
- "anonymous": false,
321
- "inputs": [
322
- {
323
- "indexed": true,
324
- "internalType": "address",
325
- "name": "previousOwner",
326
- "type": "address"
327
- },
328
- {
329
- "indexed": true,
330
- "internalType": "address",
331
- "name": "newOwner",
332
- "type": "address"
333
- }
334
- ],
335
- "name": "OwnershipTransferred",
336
- "type": "event"
337
- },
338
- {
339
- "anonymous": false,
340
- "inputs": [
341
- {
342
- "indexed": true,
343
- "internalType": "address",
344
- "name": "oldPoolRegistry",
345
- "type": "address"
346
- },
347
- {
348
- "indexed": true,
349
- "internalType": "address",
350
- "name": "newPoolRegistry",
351
- "type": "address"
352
- }
353
- ],
354
- "name": "PoolRegistryUpdated",
355
- "type": "event"
356
- },
357
- {
358
- "anonymous": false,
359
- "inputs": [
360
- {
361
- "indexed": false,
362
- "internalType": "uint256",
363
- "name": "oldWaitForFirstBidder",
364
- "type": "uint256"
365
- },
366
- {
367
- "indexed": false,
368
- "internalType": "uint256",
369
- "name": "newWaitForFirstBidder",
370
- "type": "uint256"
371
- }
372
- ],
373
- "name": "WaitForFirstBidderUpdated",
374
- "type": "event"
375
- },
376
- {
377
- "inputs": [],
378
- "name": "acceptOwnership",
379
- "outputs": [],
380
- "stateMutability": "nonpayable",
381
- "type": "function"
382
- },
383
- {
384
- "inputs": [],
385
- "name": "accessControlManager",
386
- "outputs": [
387
- {
388
- "internalType": "contract IAccessControlManagerV8",
389
- "name": "",
390
- "type": "address"
391
- }
392
- ],
393
- "stateMutability": "view",
394
- "type": "function"
395
- },
396
- {
397
- "inputs": [
398
- {
399
- "internalType": "address",
400
- "name": "",
401
- "type": "address"
402
- }
403
- ],
404
- "name": "auctions",
405
- "outputs": [
406
- {
407
- "internalType": "uint256",
408
- "name": "startBlock",
409
- "type": "uint256"
410
- },
411
- {
412
- "internalType": "enum Shortfall.AuctionType",
413
- "name": "auctionType",
414
- "type": "uint8"
415
- },
416
- {
417
- "internalType": "enum Shortfall.AuctionStatus",
418
- "name": "status",
419
- "type": "uint8"
420
- },
421
- {
422
- "internalType": "uint256",
423
- "name": "seizedRiskFund",
424
- "type": "uint256"
425
- },
426
- {
427
- "internalType": "address",
428
- "name": "highestBidder",
429
- "type": "address"
430
- },
431
- {
432
- "internalType": "uint256",
433
- "name": "highestBidBps",
434
- "type": "uint256"
435
- },
436
- {
437
- "internalType": "uint256",
438
- "name": "highestBidBlock",
439
- "type": "uint256"
440
- },
441
- {
442
- "internalType": "uint256",
443
- "name": "startBidBps",
444
- "type": "uint256"
445
- }
446
- ],
447
- "stateMutability": "view",
448
- "type": "function"
449
- },
450
- {
451
- "inputs": [],
452
- "name": "auctionsPaused",
453
- "outputs": [
454
- {
455
- "internalType": "bool",
456
- "name": "",
457
- "type": "bool"
458
- }
459
- ],
460
- "stateMutability": "view",
461
- "type": "function"
462
- },
463
- {
464
- "inputs": [
465
- {
466
- "internalType": "address",
467
- "name": "comptroller",
468
- "type": "address"
469
- }
470
- ],
471
- "name": "closeAuction",
472
- "outputs": [],
473
- "stateMutability": "nonpayable",
474
- "type": "function"
475
- },
476
- {
477
- "inputs": [],
478
- "name": "convertibleBaseAsset",
479
- "outputs": [
480
- {
481
- "internalType": "address",
482
- "name": "",
483
- "type": "address"
484
- }
485
- ],
486
- "stateMutability": "view",
487
- "type": "function"
488
- },
489
- {
490
- "inputs": [
491
- {
492
- "internalType": "address",
493
- "name": "convertibleBaseAsset_",
494
- "type": "address"
495
- },
496
- {
497
- "internalType": "contract IRiskFund",
498
- "name": "riskFund_",
499
- "type": "address"
500
- },
501
- {
502
- "internalType": "uint256",
503
- "name": "minimumPoolBadDebt_",
504
- "type": "uint256"
505
- },
506
- {
507
- "internalType": "address",
508
- "name": "accessControlManager_",
509
- "type": "address"
510
- }
511
- ],
512
- "name": "initialize",
513
- "outputs": [],
514
- "stateMutability": "nonpayable",
515
- "type": "function"
516
- },
517
- {
518
- "inputs": [],
519
- "name": "minimumPoolBadDebt",
520
- "outputs": [
521
- {
522
- "internalType": "uint256",
523
- "name": "",
524
- "type": "uint256"
525
- }
526
- ],
527
- "stateMutability": "view",
528
- "type": "function"
529
- },
530
- {
531
- "inputs": [],
532
- "name": "nextBidderBlockLimit",
533
- "outputs": [
534
- {
535
- "internalType": "uint256",
536
- "name": "",
537
- "type": "uint256"
538
- }
539
- ],
540
- "stateMutability": "view",
541
- "type": "function"
542
- },
543
- {
544
- "inputs": [],
545
- "name": "owner",
546
- "outputs": [
547
- {
548
- "internalType": "address",
549
- "name": "",
550
- "type": "address"
551
- }
552
- ],
553
- "stateMutability": "view",
554
- "type": "function"
555
- },
556
- {
557
- "inputs": [],
558
- "name": "pauseAuctions",
559
- "outputs": [],
560
- "stateMutability": "nonpayable",
561
- "type": "function"
562
- },
563
- {
564
- "inputs": [],
565
- "name": "pendingOwner",
566
- "outputs": [
567
- {
568
- "internalType": "address",
569
- "name": "",
570
- "type": "address"
571
- }
572
- ],
573
- "stateMutability": "view",
574
- "type": "function"
575
- },
576
- {
577
- "inputs": [
578
- {
579
- "internalType": "address",
580
- "name": "comptroller",
581
- "type": "address"
582
- },
583
- {
584
- "internalType": "uint256",
585
- "name": "bidBps",
586
- "type": "uint256"
587
- }
588
- ],
589
- "name": "placeBid",
590
- "outputs": [],
591
- "stateMutability": "nonpayable",
592
- "type": "function"
593
- },
594
- {
595
- "inputs": [],
596
- "name": "poolRegistry",
597
- "outputs": [
598
- {
599
- "internalType": "address",
600
- "name": "",
601
- "type": "address"
602
- }
603
- ],
604
- "stateMutability": "view",
605
- "type": "function"
606
- },
607
- {
608
- "inputs": [],
609
- "name": "renounceOwnership",
610
- "outputs": [],
611
- "stateMutability": "nonpayable",
612
- "type": "function"
613
- },
614
- {
615
- "inputs": [
616
- {
617
- "internalType": "address",
618
- "name": "comptroller",
619
- "type": "address"
620
- }
621
- ],
622
- "name": "restartAuction",
623
- "outputs": [],
624
- "stateMutability": "nonpayable",
625
- "type": "function"
626
- },
627
- {
628
- "inputs": [],
629
- "name": "resumeAuctions",
630
- "outputs": [],
631
- "stateMutability": "nonpayable",
632
- "type": "function"
633
- },
634
- {
635
- "inputs": [
636
- {
637
- "internalType": "address",
638
- "name": "accessControlManager_",
639
- "type": "address"
640
- }
641
- ],
642
- "name": "setAccessControlManager",
643
- "outputs": [],
644
- "stateMutability": "nonpayable",
645
- "type": "function"
646
- },
647
- {
648
- "inputs": [
649
- {
650
- "internalType": "address",
651
- "name": "comptroller",
652
- "type": "address"
653
- }
654
- ],
655
- "name": "startAuction",
656
- "outputs": [],
657
- "stateMutability": "nonpayable",
658
- "type": "function"
659
- },
660
- {
661
- "inputs": [
662
- {
663
- "internalType": "address",
664
- "name": "newOwner",
665
- "type": "address"
666
- }
667
- ],
668
- "name": "transferOwnership",
669
- "outputs": [],
670
- "stateMutability": "nonpayable",
671
- "type": "function"
672
- },
673
- {
674
- "inputs": [
675
- {
676
- "internalType": "uint256",
677
- "name": "_incentiveBps",
678
- "type": "uint256"
679
- }
680
- ],
681
- "name": "updateIncentiveBps",
682
- "outputs": [],
683
- "stateMutability": "nonpayable",
684
- "type": "function"
685
- },
686
- {
687
- "inputs": [
688
- {
689
- "internalType": "uint256",
690
- "name": "_minimumPoolBadDebt",
691
- "type": "uint256"
692
- }
693
- ],
694
- "name": "updateMinimumPoolBadDebt",
695
- "outputs": [],
696
- "stateMutability": "nonpayable",
697
- "type": "function"
698
- },
699
- {
700
- "inputs": [
701
- {
702
- "internalType": "uint256",
703
- "name": "_nextBidderBlockLimit",
704
- "type": "uint256"
705
- }
706
- ],
707
- "name": "updateNextBidderBlockLimit",
708
- "outputs": [],
709
- "stateMutability": "nonpayable",
710
- "type": "function"
711
- },
712
- {
713
- "inputs": [
714
- {
715
- "internalType": "address",
716
- "name": "poolRegistry_",
717
- "type": "address"
718
- }
719
- ],
720
- "name": "updatePoolRegistry",
721
- "outputs": [],
722
- "stateMutability": "nonpayable",
723
- "type": "function"
724
- },
725
- {
726
- "inputs": [
727
- {
728
- "internalType": "uint256",
729
- "name": "_waitForFirstBidder",
730
- "type": "uint256"
731
- }
732
- ],
733
- "name": "updateWaitForFirstBidder",
734
- "outputs": [],
735
- "stateMutability": "nonpayable",
736
- "type": "function"
737
- },
738
- {
739
- "inputs": [],
740
- "name": "waitForFirstBidder",
741
- "outputs": [
742
- {
743
- "internalType": "uint256",
744
- "name": "",
745
- "type": "uint256"
746
- }
747
- ],
748
- "stateMutability": "view",
749
- "type": "function"
750
- }
751
- ],
752
- "bytecode": "0x60806040523480156200001157600080fd5b506200001c62000022565b62000111565b600054610100900460ff1615620000565760405162461bcd60e51b81526004016200004d90620000af565b60405180910390fd5b60005460ff90811614620000ad576000805460ff191660ff9081179091556040517f7f26b83ff96e1f2b6a682f133852f6798a09c465da95921460cefb384740249891620000a49162000101565b60405180910390a15b565b60208082528101620000fb81602781527f496e697469616c697a61626c653a20636f6e747261637420697320696e697469602082015266616c697a696e6760c81b604082015260600190565b92915050565b60ff8216815260208101620000fb565b61346180620001216000396000f3fe608060405234801561001057600080fd5b506004361061018e5760003560e01c8063892149a3116100de578063b4a0bdf311610097578063d98b9bb511610071578063d98b9bb514610378578063e30c39781461038b578063e630fee01461039c578063f2fde38b146103af57600080fd5b8063b4a0bdf314610338578063be20309414610351578063c8ecc0d31461036457600080fd5b8063892149a3146102cb5780638da5cb5b146102d557806391f8e694146102ef578063a23926e1146102f7578063ae8ddcb014610312578063afcff50f1461032557600080fd5b806351b2fd011161014b5780636f254c32116101255780636f254c321461029f578063715018a6146102b257806373d73f40146102ba57806379ba5097146102c357600080fd5b806351b2fd01146102715780635be3fe1b1461028457806367cd03ab1461028c57600080fd5b80630db011d0146101935780630e32cb86146101a85780631d59410a146101bb578063264ad3d4146102355780634075fa0f1461024b5780634b34e5661461025e575b600080fd5b6101a66101a136600461231f565b6103c2565b005b6101a66101b636600461231f565b610490565b6102186101c936600461231f565b610103602052600090815260409020805460018201546003830154600484015460058501546006860154600790960154949560ff8086169661010090960416946001600160a01b039093169288565b60405161022c9897969594939291906123c8565b60405180910390f35b61023e60fd5481565b60405161022c919061243f565b6101a661025936600461231f565b6104a4565b6101a661026c36600461231f565b6104d1565b6101a661027f36600461245e565b610a46565b6101a6610aad565b6101a661029a36600461245e565b610b46565b6101a66102ad36600461245e565b610bde565b6101a6610c59565b61023e60ff5481565b6101a6610c6d565b61023e6101015481565b6033546001600160a01b03165b60405161022c919061247f565b6101a6610ca2565b610100546103059060ff1681565b60405161022c9190612495565b6101a661032036600461231f565b610d34565b60fb546102e2906001600160a01b031681565b6097546001600160a01b031660405161022c91906124de565b6101a661035f36600461250b565b610d97565b610102546102e2906001600160a01b031681565b6101a661038636600461256f565b610eff565b6065546001600160a01b03166102e2565b6101a66103aa36600461245e565b61143c565b6101a66103bd36600461231f565b611498565b6001600160a01b0381166000908152610103602052604090206103e481611509565b6104095760405162461bcd60e51b8152600401610400906125d9565b60405180910390fd5b6104128161153e565b61042e5760405162461bcd60e51b815260040161040090612638565b60018101805461ff00191661020017905580546040516001600160a01b038416917faca104a4f0d6f116782afaefa8b644e86d53857ff9151824131b726b49a858d49161047b919061243f565b60405180910390a261048c82611572565b5050565b610498611c7b565b6104a181611ca5565b50565b6101005460ff16156104c85760405162461bcd60e51b815260040161040090612672565b6104a181611572565b6104d9611d1e565b6001600160a01b0381166000908152610103602052604090206104fb81611509565b6105175760405162461bcd60e51b8152600401610400906125d9565b60ff5481600601546105299190612698565b43118015610543575060048101546001600160a01b031615155b61055f5760405162461bcd60e51b8152600401610400906126fa565b600281015460008167ffffffffffffffff81111561057f5761057f61270a565b6040519080825280602002602001820160405280156105a8578160200160208202803683370190505b5060018401805461ff001916610200179055905060005b828110156108f35760008460020182815481106105de576105de612720565b600091825260208083209091015460408051636f307dc360e01b815290516001600160a01b0390921694508492636f307dc3926004808401938290030181865afa158015610630573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906106549190612741565b90506000816001600160a01b03166370a0823188600201868154811061067c5761067c612720565b6000918252602090912001546040516001600160e01b031960e084901b1681526106b2916001600160a01b03169060040161247f565b602060405180830381865afa1580156106cf573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906106f3919061276d565b905061077a87600201858154811061070d5761070d612720565b9060005260206000200160009054906101000a90046001600160a01b03168860090160008a600201888154811061074657610746612720565b60009182526020808320909101546001600160a01b0390811684529083019390935260409091019020549085169190611d47565b6000826001600160a01b03166370a082318960020187815481106107a0576107a0612720565b6000918252602090912001546040516001600160e01b031960e084901b1681526107d6916001600160a01b03169060040161247f565b602060405180830381865afa1580156107f3573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190610817919061276d565b9050610823828261278e565b86868151811061083557610835612720565b60200260200101818152505087600201858154811061085657610856612720565b60009182526020909120015486516001600160a01b039091169063ef60450c9088908890811061088857610888612720565b60200260200101516040518263ffffffff1660e01b81526004016108ac919061243f565b600060405180830381600087803b1580156108c657600080fd5b505af11580156108da573d6000803e3d6000fd5b5050505050505050806108ec906127a5565b90506105bf565b5060008060018086015460ff169081111561091057610910612348565b0361092057506003830154610944565b6127108460050154856003015461093791906127bf565b61094191906127f4565b90505b60fc54604051630a9837c560e01b81526000916001600160a01b031690630a9837c5906109779089908690600401612808565b6020604051808303816000875af1158015610996573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906109ba919061276d565b6004860154610102549192506109dd916001600160a01b03908116911684611d47565b6004850154855460058701546040516001600160a01b03938416938a16927ff50338be3ffa7cdbebca76c758cfd1745fb4abe5bd3736c2dbf0cc6483a7b93f92610a2f92879060028d01908b906128eb565b60405180910390a350505050506104a1600160c955565b610a676040518060600160405280602181526020016133c760219139611da9565b60fd8054908290556040517f85814f0246fcd999c88af70c9e6238211e79444ff07ec745b80aed19ddb268c890610aa19083908590612939565b60405180910390a15050565b610ade6040518060400160405280601081526020016f726573756d6541756374696f6e73282960801b815250611da9565b6101005460ff16610b015760405162461bcd60e51b81526004016104009061297b565b610100805460ff191690556040517f91b812e075fb9190eebe2d938c00a7179d150156469a467ec60a290035f4635a90610b3c90339061247f565b60405180910390a1565b610b846040518060400160405280601b81526020017f757064617465496e63656e746976654270732875696e74323536290000000000815250611da9565b80600003610ba45760405162461bcd60e51b8152600401610400906129bf565b60fe8054908290556040517f3d438fa36c5052935d12a6925d1660c8150c74ef11ca672d4279bc6fd41b8bcf90610aa19083908590612939565b610bff6040518060600160405280602381526020016133e860239139611da9565b80600003610c1f5760405162461bcd60e51b815260040161040090612a0f565b60ff8054908290556040517f3f22dba09ee9845bd2be6926fea5337a0db935ca059cbb205d62174783e2966490610aa19083908590612939565b610c61611c7b565b610c6b6000611e43565b565b60655433906001600160a01b03168114610c995760405162461bcd60e51b815260040161040090612a65565b6104a181611e43565b610cd26040518060400160405280600f81526020016e706175736541756374696f6e73282960881b815250611da9565b6101005460ff1615610cf65760405162461bcd60e51b815260040161040090612aa9565b610100805460ff191660011790556040517fc1be5163c9ebecf05bfbd6c6ae7c2b6ce2d3c43088dffaf5270cbf951615049990610b3c90339061247f565b610d3c611c7b565b610d4581611e5c565b60fb80546001600160a01b038381166001600160a01b0319831681179093556040519116919082907fa87b964d321035d2165e484ff4b722dd6eae30606c0b98887d2ed1a34e594bfe90600090a35050565b600054610100900460ff1615808015610db75750600054600160ff909116105b80610dd15750303b158015610dd1575060005460ff166001145b610ded5760405162461bcd60e51b815260040161040090612b04565b6000805460ff191660011790558015610e10576000805461ff0019166101001790555b610e1985611e5c565b610e2284611e5c565b82600003610e425760405162461bcd60e51b815260040161040090612b48565b610e4a611e83565b610e5382611eb2565b610e5b611ed9565b60fd83905561010280546001600160a01b038088166001600160a01b03199283161790925560fc805492871692909116919091179055606461010155600a60ff556103e860fe55610100805460ff191690558015610ef8576000805461ff00191690556040517f7f26b83ff96e1f2b6a682f133852f6798a09c465da95921460cefb384740249890610eef90600190612b6c565b60405180910390a15b5050505050565b610f07611d1e565b6001600160a01b038216600090815261010360205260409020610f2981611509565b610f455760405162461bcd60e51b8152600401610400906125d9565b610f4e8161153e565b15610f6b5760405162461bcd60e51b815260040161040090612bae565b612710821115610f8d5760405162461bcd60e51b815260040161040090612c01565b600060018083015460ff1690811115610fa857610fa8612348565b148015610ff4575060048101546001600160a01b031615801590610fcf5750806005015482115b80610ff4575060048101546001600160a01b0316158015610ff4575080600701548210155b8061105f575060018181015460ff168181111561101357611013612348565b14801561105f575060048101546001600160a01b03161580159061103a5750806005015482105b8061105f575060048101546001600160a01b031615801561105f575080600701548211155b61107b5760405162461bcd60e51b815260040161040090612c45565b600281015460005b818110156113c55760008360020182815481106110a2576110a2612720565b600091825260208083209091015460408051636f307dc360e01b815290516001600160a01b0390921694508492636f307dc3926004808401938290030181865afa1580156110f4573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906111189190612741565b60048601549091506001600160a01b031615611194576004850154600286018054611194926001600160a01b0316916009890191600091908890811061116057611160612720565b60009182526020808320909101546001600160a01b0390811684529083019390935260409091019020549084169190611d47565b6040516370a0823160e01b81526000906001600160a01b038316906370a08231906111c390309060040161247f565b602060405180830381865afa1580156111e0573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190611204919061276d565b9050600060018088015460ff169081111561122157611221612348565b0361129d576000612710888860080160008a600201898154811061124757611247612720565b60009182526020808320909101546001600160a01b0316835282019290925260400190205461127691906127bf565b61128091906127f4565b90506112976001600160a01b038416333084611f08565b506112f2565b6112f233308860080160008a60020189815481106112bd576112bd612720565b60009182526020808320909101546001600160a01b039081168452908301939093526040909101902054908616929190611f08565b6040516370a0823160e01b81526000906001600160a01b038416906370a082319061132190309060040161247f565b602060405180830381865afa15801561133e573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190611362919061276d565b905061136e828261278e565b87600901600089600201888154811061138957611389612720565b60009182526020808320909101546001600160a01b03168352820192909252604001902055506113be92508391506127a59050565b9050611083565b506004820180546001600160a01b031916339081179091556005830184905543600684015582546040516001600160a01b038716917f5485cf82060404805b51f48c0c4afa3cec4a9e5755c0131e1243553f0eebb9a39161142891908890612939565b60405180910390a3505061048c600160c955565b61145d60405180606001604052806021815260200161340b60219139611da9565b6101018054908290556040517f2a5be8a6b827e16c392d22522295794d6baff64565057a17b1f14c9d6c125a6090610aa19083908590612939565b6114a0611c7b565b606580546001600160a01b0383166001600160a01b031990911681179091556114d16033546001600160a01b031690565b6001600160a01b03167f38d16b8cac22d99fc7c124b9cd0de2d3fa1faef420bfe791d8c362d765e2270060405160405180910390a350565b8054600090158015906115385750600180830154610100900460ff16600281111561153657611536612348565b145b92915050565b60048101546000906001600160a01b03161580801561156b57506101015483546115689190612698565b43115b9392505050565b60fb54604051637aee632d60e01b81526000916001600160a01b031690637aee632d906115a390859060040161247f565b600060405180830381865afa1580156115c0573d6000803e3d6000fd5b505050506040513d6000823e601f3d908101601f191682016040526115e89190810190612df6565b9050816001600160a01b031681604001516001600160a01b03161461161f5760405162461bcd60e51b815260040161040090612e75565b6001600160a01b0382166000908152610103602052604090208054158015611664575060006001820154610100900460ff16600281111561166257611662612348565b145b8061168c575060026001820154610100900460ff16600281111561168a5761168a612348565b145b6116a85760405162461bcd60e51b815260040161040090612eaf565b600060058201819055600682018190556002820154905b818110156117135760008360020182815481106116de576116de612720565b60009182526020808320909101546001600160a01b0316825260088601905260408120555061170c816127a5565b90506116bf565b50611722600283016000612257565b600061172d85611f2f565b905080519150600061173e86611f97565b90506000808467ffffffffffffffff81111561175c5761175c61270a565b604051908082528060200260200182016040528015611785578160200160208202803683370190505b5090508467ffffffffffffffff8111156117a1576117a161270a565b6040519080825280602002602001820160405280156117ca578160200160208202803683370190505b5080516117e1916002890191602090910190612275565b5060005b85811015611a6b57600085828151811061180157611801612720565b60200260200101516001600160a01b031663bbcac5576040518163ffffffff1660e01b8152600401602060405180830381865afa158015611846573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019061186a919061276d565b9050846001600160a01b03166396e85ced87848151811061188d5761188d612720565b60200260200101516040518263ffffffff1660e01b81526004016118b1919061247f565b600060405180830381600087803b1580156118cb57600080fd5b505af11580156118df573d6000803e3d6000fd5b505050506000670de0b6b3a764000082876001600160a01b031663fc57d4df8a878151811061191057611910612720565b60200260200101516040518263ffffffff1660e01b8152600401611934919061247f565b602060405180830381865afa158015611951573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190611975919061276d565b61197f91906127bf565b61198991906127f4565b90506119958186612698565b94508683815181106119a9576119a9612720565b60200260200101518960020184815481106119c6576119c6612720565b9060005260206000200160006101000a8154816001600160a01b0302191690836001600160a01b0316021790555081896008016000898681518110611a0d57611a0d612720565b60200260200101516001600160a01b03166001600160a01b031681526020019081526020016000208190555081848481518110611a4c57611a4c612720565b602002602001018181525050505080611a64906127a5565b90506117e5565b5060fd54821015611a8e5760405162461bcd60e51b815260040161040090612ef3565b60fc5460405163f481395b60e01b81526000916001600160a01b03169063f481395b90611abf908c9060040161247f565b602060405180830381865afa158015611adc573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190611b00919061276d565b90506000819050600061271060fe5486611b1a91906127bf565b611b2491906127f4565b611b2e9086612698565b9050828110611b8b5760fe54611b4690612710612698565b611b5090866127bf565b82611b5d612710806127bf565b611b6791906127bf565b611b7191906127f4565b60078a015560018901805460ff1916905560009150611bb2565b80611b96818461278e565b60018b8101805460ff1916909117905561271060078c01559250505b611bbc828461278e565b60038a01554389556001808a01805461ff00191661010083021790555060008960040160006101000a8154816001600160a01b0302191690836001600160a01b031602179055508a6001600160a01b03167f56c1f0c5ea96c78d614c0246b1915086a325f09ce15526bd5d69b50232d681328a600001548b60010160009054906101000a900460ff168c600201888e600301548f60070154604051611c6696959493929190612f03565b60405180910390a25050505050505050505050565b6033546001600160a01b03163314610c6b5760405162461bcd60e51b815260040161040090612f92565b6001600160a01b038116611ccb5760405162461bcd60e51b815260040161040090612fe4565b609780546001600160a01b038381166001600160a01b03198316179092556040519116907f66fd58e82f7b31a2a5c30e0888f3093efe4e111b00cd2b0c31fe014601293aa090610aa19083908590612ff4565b600260c95403611d405760405162461bcd60e51b815260040161040090613043565b600260c955565b611d9d8363a9059cbb60e01b8484604051602401611d66929190612808565b60408051601f198184030181529190526020810180516001600160e01b03166001600160e01b031990931692909217909152611ffb565b505050565b600160c955565b6097546040516318c5e8ab60e01b81526000916001600160a01b0316906318c5e8ab90611ddc9033908690600401613085565b602060405180830381865afa158015611df9573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190611e1d91906130b8565b90508061048c57333083604051634a3fa29360e01b8152600401610400939291906130d9565b606580546001600160a01b03191690556104a18161208d565b6001600160a01b0381166104a1576040516342bcdf7f60e11b815260040160405180910390fd5b600054610100900460ff16611eaa5760405162461bcd60e51b815260040161040090613157565b610c6b6120df565b600054610100900460ff166104985760405162461bcd60e51b815260040161040090613157565b600054610100900460ff16611f005760405162461bcd60e51b815260040161040090613157565b610c6b61210f565b611f29846323b872dd60e01b858585604051602401611d6693929190613167565b50505050565b6060816001600160a01b031663b0772d0b6040518163ffffffff1660e01b8152600401600060405180830381865afa158015611f6f573d6000803e3d6000fd5b505050506040513d6000823e601f3d908101601f19168201604052611538919081019061323d565b6000816001600160a01b0316637dc0d1d06040518163ffffffff1660e01b8152600401602060405180830381865afa158015611fd7573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906115389190613278565b6000612050826040518060400160405280602081526020017f5361666545524332303a206c6f772d6c6576656c2063616c6c206661696c6564815250856001600160a01b03166121369092919063ffffffff16565b905080516000148061207157508080602001905181019061207191906130b8565b611d9d5760405162461bcd60e51b8152600401610400906132e0565b603380546001600160a01b038381166001600160a01b0319831681179093556040519116919082907f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e090600090a35050565b600054610100900460ff166121065760405162461bcd60e51b815260040161040090613157565b610c6b33611e43565b600054610100900460ff16611da25760405162461bcd60e51b815260040161040090613157565b6060612145848460008561214d565b949350505050565b60608247101561216f5760405162461bcd60e51b815260040161040090613333565b600080866001600160a01b0316858760405161218b9190613365565b60006040518083038185875af1925050503d80600081146121c8576040519150601f19603f3d011682016040523d82523d6000602084013e6121cd565b606091505b50915091506121de878383876121e9565b979650505050505050565b60608315612228578251600003612221576001600160a01b0385163b6122215760405162461bcd60e51b8152600401610400906133a5565b5081612145565b612145838381511561223d5781518083602001fd5b8060405162461bcd60e51b815260040161040091906133b5565b50805460008255906000526020600020908101906104a191906122da565b8280548282559060005260206000209081019282156122ca579160200282015b828111156122ca57825182546001600160a01b0319166001600160a01b03909116178255602090920191600190910190612295565b506122d69291506122da565b5090565b5b808211156122d657600081556001016122db565b60006001600160a01b038216611538565b612309816122ef565b81146104a157600080fd5b803561153881612300565b60006020828403121561233457612334600080fd5b60006121458484612314565b805b82525050565b634e487b7160e01b600052602160045260246000fd5b600281106104a1576104a1612348565b806123788161235e565b919050565b60006115388261236e565b6123428161237d565b600381106104a1576104a1612348565b8061237881612391565b6000611538826123a1565b612342816123ab565b612342816122ef565b61010081016123d7828b612340565b6123e4602083018a612388565b6123f160408301896123b6565b6123fe6060830188612340565b61240b60808301876123bf565b61241860a0830186612340565b61242560c0830185612340565b61243260e0830184612340565b9998505050505050505050565b602081016115388284612340565b80612309565b80356115388161244d565b60006020828403121561247357612473600080fd5b60006121458484612453565b6020810161153882846123bf565b801515612342565b60208101611538828461248d565b60006115386001600160a01b0383165b6001600160a01b031690565b6000611538826124a3565b6000611538826124bf565b612342816124ca565b6020810161153882846124d5565b6000611538826122ef565b612309816124ec565b8035611538816124f7565b6000806000806080858703121561252457612524600080fd5b60006125308787612314565b945050602061254187828801612500565b935050604061255287828801612453565b925050606061256387828801612314565b91505092959194509250565b6000806040838503121561258557612585600080fd5b60006125918585612314565b92505060206125a285828601612453565b9150509250929050565b601381526000602082017237379037b716b3b7b4b7339030bab1ba34b7b760691b815291505b5060200190565b60208082528101611538816125ac565b602f81526000602082017f796f75206e65656420746f207761697420666f72206d6f72652074696d65206681526e37b9103334b939ba103134b23232b960891b602082015291505b5060400190565b60208082528101611538816125e9565b6013815260006020820172105d58dd1a5bdb9cc8185c99481c185d5cd959606a1b815291506125d2565b6020808252810161153881612648565b634e487b7160e01b600052601160045260246000fd5b600082198211156126ab576126ab612682565b500190565b602d81526000602082017f77616974696e6720666f72206e657874206269646465722e2063616e6e6f742081526c31b637b9b29030bab1ba34b7b760991b60208201529150612631565b60208082528101611538816126b0565b634e487b7160e01b600052604160045260246000fd5b634e487b7160e01b600052603260045260246000fd5b805161153881612300565b60006020828403121561275657612756600080fd5b60006121458484612736565b80516115388161244d565b60006020828403121561278257612782600080fd5b60006121458484612762565b6000828210156127a0576127a0612682565b500390565b600060001982036127b8576127b8612682565b5060010190565b60008160001904831182151516156127d9576127d9612682565b500290565b634e487b7160e01b600052601260045260246000fd5b600082612803576128036127de565b500490565b6040810161281682856123bf565b61156b6020830184612340565b600061282f83836124d5565b505060200190565b6000611538826124b3565b60006115388254612837565b6000612858825490565b808452600083815260208082209501949081905b838110156128965761287d82612842565b6128878882612823565b9750506001918201910161286c565b509495945050505050565b600061282f8383612340565b60006128b7825190565b80845260209384019383018060005b838110156128965781516128da88826128a1565b9750602083019250506001016128c6565b60a081016128f98288612340565b6129066020830187612340565b6129136040830186612340565b8181036060830152612925818561284e565b905081810360808301526121de81846128ad565b604081016128168285612340565b601781526000602082017f41756374696f6e7320617265206e6f7420706175736564000000000000000000815291506125d2565b6020808252810161153881612947565b601a81526000602082017f696e63656e74697665427073206d757374206e6f742062652030000000000000815291506125d2565b602080825281016115388161298b565b602381526000602082017f5f6e657874426964646572426c6f636b4c696d6974206d757374206e6f74206281526206520360ec1b60208201529150612631565b60208082528101611538816129cf565b602981526000602082017f4f776e61626c6532537465703a2063616c6c6572206973206e6f7420746865208152683732bb9037bbb732b960b91b60208201529150612631565b6020808252810161153881612a1f565b601b81526000602082017f41756374696f6e732061726520616c7265616479207061757365640000000000815291506125d2565b6020808252810161153881612a75565b602e81526000602082017f496e697469616c697a61626c653a20636f6e747261637420697320616c72656181526d191e481a5b9a5d1a585b1a5e995960921b60208201529150612631565b6020808252810161153881612ab9565b601d81526000602082017f696e76616c6964206d696e696d756d20706f6f6c206261642064656274000000815291506125d2565b6020808252810161153881612b14565b600060ff8216611538565b61234281612b58565b602081016115388284612b63565b601c81526000602082017f61756374696f6e206973207374616c652c207265737461727420697400000000815291506125d2565b6020808252810161153881612b7a565b602681526000602082017f626173697320706f696e74732063616e6e6f74206265206d6f7265207468616e81526502031303030360d41b60208201529150612631565b6020808252810161153881612bbe565b601b81526000602082017f796f757220626964206973206e6f742074686520686967686573740000000000815291506125d2565b6020808252810161153881612c11565b601f19601f830116810181811067ffffffffffffffff82111715612c7b57612c7b61270a565b6040525050565b6000612c8d60405190565b90506123788282612c55565b600067ffffffffffffffff821115612cb357612cb361270a565b601f19601f83011660200192915050565b60005b83811015612cdf578181015183820152602001612cc7565b83811115611f295750506000910152565b6000612d03612cfe84612c99565b612c82565b905082815260208101848484011115612d1e57612d1e600080fd5b612d29848285612cc4565b509392505050565b600082601f830112612d4557612d45600080fd5b8151612145848260208601612cf0565b600060a08284031215612d6a57612d6a600080fd5b612d7460a0612c82565b825190915067ffffffffffffffff811115612d9157612d91600080fd5b612d9d84828501612d31565b8252506020612dae84848301612736565b6020830152506040612dc284828501612736565b6040830152506060612dd684828501612762565b6060830152506080612dea84828501612762565b60808301525092915050565b600060208284031215612e0b57612e0b600080fd5b815167ffffffffffffffff811115612e2557612e25600080fd5b61214584828501612d55565b602781526000602082017f636f6d7074726f6c6c657220646f65736e277420657869737420706f6f6c20728152666567697374727960c81b60208201529150612631565b6020808252810161153881612e31565b601381526000602082017261756374696f6e206973206f6e2d676f696e6760681b815291506125d2565b6020808252810161153881612e85565b601881526000602082017f706f6f6c20626164206465627420697320746f6f206c6f770000000000000000815291506125d2565b6020808252810161153881612ebf565b60c08101612f118289612340565b612f1e6020830188612388565b8181036040830152612f30818761284e565b90508181036060830152612f4481866128ad565b9050612f536080830185612340565b6121de60a0830184612340565b60208082527f4f776e61626c653a2063616c6c6572206973206e6f7420746865206f776e6572910190815260006125d2565b6020808252810161153881612f60565b602581526000602082017f696e76616c696420616365737320636f6e74726f6c206d616e61676572206164815264647265737360d81b60208201529150612631565b6020808252810161153881612fa2565b6040810161300282856123bf565b61156b60208301846123bf565b601f81526000602082017f5265656e7472616e637947756172643a207265656e7472616e742063616c6c00815291506125d2565b602080825281016115388161300f565b600061305d825190565b808452602084019350613074818560208601612cc4565b601f01601f19169290920192915050565b6040810161309382856123bf565b81810360208301526121458184613053565b801515612309565b8051611538816130a5565b6000602082840312156130cd576130cd600080fd5b600061214584846130ad565b606081016130e782866123bf565b6130f460208301856123bf565b81810360408301526131068184613053565b95945050505050565b602b81526000602082017f496e697469616c697a61626c653a20636f6e7472616374206973206e6f74206981526a6e697469616c697a696e6760a81b60208201529150612631565b602080825281016115388161310f565b6060810161317582866123bf565b61318260208301856123bf565b6121456040830184612340565b600067ffffffffffffffff8211156131a9576131a961270a565b5060209081020190565b8051611538816124f7565b60006131cc612cfe8461318f565b838152905060208082019084028301858111156131eb576131eb600080fd5b835b8181101561320f578061320088826131b3565b845250602092830192016131ed565b5050509392505050565b600082601f83011261322d5761322d600080fd5b81516121458482602086016131be565b60006020828403121561325257613252600080fd5b815167ffffffffffffffff81111561326c5761326c600080fd5b61214584828501613219565b60006020828403121561328d5761328d600080fd5b600061214584846131b3565b602a81526000602082017f5361666545524332303a204552433230206f7065726174696f6e20646964206e8152691bdd081cdd58d8d9595960b21b60208201529150612631565b6020808252810161153881613299565b602681526000602082017f416464726573733a20696e73756666696369656e742062616c616e636520666f8152651c8818d85b1b60d21b60208201529150612631565b60208082528101611538816132f0565b600061334d825190565b61335b818560208601612cc4565b9290920192915050565b600061156b8284613343565b601d81526000602082017f416464726573733a2063616c6c20746f206e6f6e2d636f6e7472616374000000815291506125d2565b6020808252810161153881613371565b6020808252810161156b818461305356fe7570646174654d696e696d756d506f6f6c426164446562742875696e74323536297570646174654e657874426964646572426c6f636b4c696d69742875696e743235362975706461746557616974466f7246697273744269646465722875696e7432353629a264697066735822122062f7a93a331100f7a34cd0ae73f63ccc2368da2befdf46879ed72298ed83bcb864736f6c634300080d0033",
753
- "deployedBytecode": "0x608060405234801561001057600080fd5b506004361061018e5760003560e01c8063892149a3116100de578063b4a0bdf311610097578063d98b9bb511610071578063d98b9bb514610378578063e30c39781461038b578063e630fee01461039c578063f2fde38b146103af57600080fd5b8063b4a0bdf314610338578063be20309414610351578063c8ecc0d31461036457600080fd5b8063892149a3146102cb5780638da5cb5b146102d557806391f8e694146102ef578063a23926e1146102f7578063ae8ddcb014610312578063afcff50f1461032557600080fd5b806351b2fd011161014b5780636f254c32116101255780636f254c321461029f578063715018a6146102b257806373d73f40146102ba57806379ba5097146102c357600080fd5b806351b2fd01146102715780635be3fe1b1461028457806367cd03ab1461028c57600080fd5b80630db011d0146101935780630e32cb86146101a85780631d59410a146101bb578063264ad3d4146102355780634075fa0f1461024b5780634b34e5661461025e575b600080fd5b6101a66101a136600461231f565b6103c2565b005b6101a66101b636600461231f565b610490565b6102186101c936600461231f565b610103602052600090815260409020805460018201546003830154600484015460058501546006860154600790960154949560ff8086169661010090960416946001600160a01b039093169288565b60405161022c9897969594939291906123c8565b60405180910390f35b61023e60fd5481565b60405161022c919061243f565b6101a661025936600461231f565b6104a4565b6101a661026c36600461231f565b6104d1565b6101a661027f36600461245e565b610a46565b6101a6610aad565b6101a661029a36600461245e565b610b46565b6101a66102ad36600461245e565b610bde565b6101a6610c59565b61023e60ff5481565b6101a6610c6d565b61023e6101015481565b6033546001600160a01b03165b60405161022c919061247f565b6101a6610ca2565b610100546103059060ff1681565b60405161022c9190612495565b6101a661032036600461231f565b610d34565b60fb546102e2906001600160a01b031681565b6097546001600160a01b031660405161022c91906124de565b6101a661035f36600461250b565b610d97565b610102546102e2906001600160a01b031681565b6101a661038636600461256f565b610eff565b6065546001600160a01b03166102e2565b6101a66103aa36600461245e565b61143c565b6101a66103bd36600461231f565b611498565b6001600160a01b0381166000908152610103602052604090206103e481611509565b6104095760405162461bcd60e51b8152600401610400906125d9565b60405180910390fd5b6104128161153e565b61042e5760405162461bcd60e51b815260040161040090612638565b60018101805461ff00191661020017905580546040516001600160a01b038416917faca104a4f0d6f116782afaefa8b644e86d53857ff9151824131b726b49a858d49161047b919061243f565b60405180910390a261048c82611572565b5050565b610498611c7b565b6104a181611ca5565b50565b6101005460ff16156104c85760405162461bcd60e51b815260040161040090612672565b6104a181611572565b6104d9611d1e565b6001600160a01b0381166000908152610103602052604090206104fb81611509565b6105175760405162461bcd60e51b8152600401610400906125d9565b60ff5481600601546105299190612698565b43118015610543575060048101546001600160a01b031615155b61055f5760405162461bcd60e51b8152600401610400906126fa565b600281015460008167ffffffffffffffff81111561057f5761057f61270a565b6040519080825280602002602001820160405280156105a8578160200160208202803683370190505b5060018401805461ff001916610200179055905060005b828110156108f35760008460020182815481106105de576105de612720565b600091825260208083209091015460408051636f307dc360e01b815290516001600160a01b0390921694508492636f307dc3926004808401938290030181865afa158015610630573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906106549190612741565b90506000816001600160a01b03166370a0823188600201868154811061067c5761067c612720565b6000918252602090912001546040516001600160e01b031960e084901b1681526106b2916001600160a01b03169060040161247f565b602060405180830381865afa1580156106cf573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906106f3919061276d565b905061077a87600201858154811061070d5761070d612720565b9060005260206000200160009054906101000a90046001600160a01b03168860090160008a600201888154811061074657610746612720565b60009182526020808320909101546001600160a01b0390811684529083019390935260409091019020549085169190611d47565b6000826001600160a01b03166370a082318960020187815481106107a0576107a0612720565b6000918252602090912001546040516001600160e01b031960e084901b1681526107d6916001600160a01b03169060040161247f565b602060405180830381865afa1580156107f3573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190610817919061276d565b9050610823828261278e565b86868151811061083557610835612720565b60200260200101818152505087600201858154811061085657610856612720565b60009182526020909120015486516001600160a01b039091169063ef60450c9088908890811061088857610888612720565b60200260200101516040518263ffffffff1660e01b81526004016108ac919061243f565b600060405180830381600087803b1580156108c657600080fd5b505af11580156108da573d6000803e3d6000fd5b5050505050505050806108ec906127a5565b90506105bf565b5060008060018086015460ff169081111561091057610910612348565b0361092057506003830154610944565b6127108460050154856003015461093791906127bf565b61094191906127f4565b90505b60fc54604051630a9837c560e01b81526000916001600160a01b031690630a9837c5906109779089908690600401612808565b6020604051808303816000875af1158015610996573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906109ba919061276d565b6004860154610102549192506109dd916001600160a01b03908116911684611d47565b6004850154855460058701546040516001600160a01b03938416938a16927ff50338be3ffa7cdbebca76c758cfd1745fb4abe5bd3736c2dbf0cc6483a7b93f92610a2f92879060028d01908b906128eb565b60405180910390a350505050506104a1600160c955565b610a676040518060600160405280602181526020016133c760219139611da9565b60fd8054908290556040517f85814f0246fcd999c88af70c9e6238211e79444ff07ec745b80aed19ddb268c890610aa19083908590612939565b60405180910390a15050565b610ade6040518060400160405280601081526020016f726573756d6541756374696f6e73282960801b815250611da9565b6101005460ff16610b015760405162461bcd60e51b81526004016104009061297b565b610100805460ff191690556040517f91b812e075fb9190eebe2d938c00a7179d150156469a467ec60a290035f4635a90610b3c90339061247f565b60405180910390a1565b610b846040518060400160405280601b81526020017f757064617465496e63656e746976654270732875696e74323536290000000000815250611da9565b80600003610ba45760405162461bcd60e51b8152600401610400906129bf565b60fe8054908290556040517f3d438fa36c5052935d12a6925d1660c8150c74ef11ca672d4279bc6fd41b8bcf90610aa19083908590612939565b610bff6040518060600160405280602381526020016133e860239139611da9565b80600003610c1f5760405162461bcd60e51b815260040161040090612a0f565b60ff8054908290556040517f3f22dba09ee9845bd2be6926fea5337a0db935ca059cbb205d62174783e2966490610aa19083908590612939565b610c61611c7b565b610c6b6000611e43565b565b60655433906001600160a01b03168114610c995760405162461bcd60e51b815260040161040090612a65565b6104a181611e43565b610cd26040518060400160405280600f81526020016e706175736541756374696f6e73282960881b815250611da9565b6101005460ff1615610cf65760405162461bcd60e51b815260040161040090612aa9565b610100805460ff191660011790556040517fc1be5163c9ebecf05bfbd6c6ae7c2b6ce2d3c43088dffaf5270cbf951615049990610b3c90339061247f565b610d3c611c7b565b610d4581611e5c565b60fb80546001600160a01b038381166001600160a01b0319831681179093556040519116919082907fa87b964d321035d2165e484ff4b722dd6eae30606c0b98887d2ed1a34e594bfe90600090a35050565b600054610100900460ff1615808015610db75750600054600160ff909116105b80610dd15750303b158015610dd1575060005460ff166001145b610ded5760405162461bcd60e51b815260040161040090612b04565b6000805460ff191660011790558015610e10576000805461ff0019166101001790555b610e1985611e5c565b610e2284611e5c565b82600003610e425760405162461bcd60e51b815260040161040090612b48565b610e4a611e83565b610e5382611eb2565b610e5b611ed9565b60fd83905561010280546001600160a01b038088166001600160a01b03199283161790925560fc805492871692909116919091179055606461010155600a60ff556103e860fe55610100805460ff191690558015610ef8576000805461ff00191690556040517f7f26b83ff96e1f2b6a682f133852f6798a09c465da95921460cefb384740249890610eef90600190612b6c565b60405180910390a15b5050505050565b610f07611d1e565b6001600160a01b038216600090815261010360205260409020610f2981611509565b610f455760405162461bcd60e51b8152600401610400906125d9565b610f4e8161153e565b15610f6b5760405162461bcd60e51b815260040161040090612bae565b612710821115610f8d5760405162461bcd60e51b815260040161040090612c01565b600060018083015460ff1690811115610fa857610fa8612348565b148015610ff4575060048101546001600160a01b031615801590610fcf5750806005015482115b80610ff4575060048101546001600160a01b0316158015610ff4575080600701548210155b8061105f575060018181015460ff168181111561101357611013612348565b14801561105f575060048101546001600160a01b03161580159061103a5750806005015482105b8061105f575060048101546001600160a01b031615801561105f575080600701548211155b61107b5760405162461bcd60e51b815260040161040090612c45565b600281015460005b818110156113c55760008360020182815481106110a2576110a2612720565b600091825260208083209091015460408051636f307dc360e01b815290516001600160a01b0390921694508492636f307dc3926004808401938290030181865afa1580156110f4573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906111189190612741565b60048601549091506001600160a01b031615611194576004850154600286018054611194926001600160a01b0316916009890191600091908890811061116057611160612720565b60009182526020808320909101546001600160a01b0390811684529083019390935260409091019020549084169190611d47565b6040516370a0823160e01b81526000906001600160a01b038316906370a08231906111c390309060040161247f565b602060405180830381865afa1580156111e0573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190611204919061276d565b9050600060018088015460ff169081111561122157611221612348565b0361129d576000612710888860080160008a600201898154811061124757611247612720565b60009182526020808320909101546001600160a01b0316835282019290925260400190205461127691906127bf565b61128091906127f4565b90506112976001600160a01b038416333084611f08565b506112f2565b6112f233308860080160008a60020189815481106112bd576112bd612720565b60009182526020808320909101546001600160a01b039081168452908301939093526040909101902054908616929190611f08565b6040516370a0823160e01b81526000906001600160a01b038416906370a082319061132190309060040161247f565b602060405180830381865afa15801561133e573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190611362919061276d565b905061136e828261278e565b87600901600089600201888154811061138957611389612720565b60009182526020808320909101546001600160a01b03168352820192909252604001902055506113be92508391506127a59050565b9050611083565b506004820180546001600160a01b031916339081179091556005830184905543600684015582546040516001600160a01b038716917f5485cf82060404805b51f48c0c4afa3cec4a9e5755c0131e1243553f0eebb9a39161142891908890612939565b60405180910390a3505061048c600160c955565b61145d60405180606001604052806021815260200161340b60219139611da9565b6101018054908290556040517f2a5be8a6b827e16c392d22522295794d6baff64565057a17b1f14c9d6c125a6090610aa19083908590612939565b6114a0611c7b565b606580546001600160a01b0383166001600160a01b031990911681179091556114d16033546001600160a01b031690565b6001600160a01b03167f38d16b8cac22d99fc7c124b9cd0de2d3fa1faef420bfe791d8c362d765e2270060405160405180910390a350565b8054600090158015906115385750600180830154610100900460ff16600281111561153657611536612348565b145b92915050565b60048101546000906001600160a01b03161580801561156b57506101015483546115689190612698565b43115b9392505050565b60fb54604051637aee632d60e01b81526000916001600160a01b031690637aee632d906115a390859060040161247f565b600060405180830381865afa1580156115c0573d6000803e3d6000fd5b505050506040513d6000823e601f3d908101601f191682016040526115e89190810190612df6565b9050816001600160a01b031681604001516001600160a01b03161461161f5760405162461bcd60e51b815260040161040090612e75565b6001600160a01b0382166000908152610103602052604090208054158015611664575060006001820154610100900460ff16600281111561166257611662612348565b145b8061168c575060026001820154610100900460ff16600281111561168a5761168a612348565b145b6116a85760405162461bcd60e51b815260040161040090612eaf565b600060058201819055600682018190556002820154905b818110156117135760008360020182815481106116de576116de612720565b60009182526020808320909101546001600160a01b0316825260088601905260408120555061170c816127a5565b90506116bf565b50611722600283016000612257565b600061172d85611f2f565b905080519150600061173e86611f97565b90506000808467ffffffffffffffff81111561175c5761175c61270a565b604051908082528060200260200182016040528015611785578160200160208202803683370190505b5090508467ffffffffffffffff8111156117a1576117a161270a565b6040519080825280602002602001820160405280156117ca578160200160208202803683370190505b5080516117e1916002890191602090910190612275565b5060005b85811015611a6b57600085828151811061180157611801612720565b60200260200101516001600160a01b031663bbcac5576040518163ffffffff1660e01b8152600401602060405180830381865afa158015611846573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019061186a919061276d565b9050846001600160a01b03166396e85ced87848151811061188d5761188d612720565b60200260200101516040518263ffffffff1660e01b81526004016118b1919061247f565b600060405180830381600087803b1580156118cb57600080fd5b505af11580156118df573d6000803e3d6000fd5b505050506000670de0b6b3a764000082876001600160a01b031663fc57d4df8a878151811061191057611910612720565b60200260200101516040518263ffffffff1660e01b8152600401611934919061247f565b602060405180830381865afa158015611951573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190611975919061276d565b61197f91906127bf565b61198991906127f4565b90506119958186612698565b94508683815181106119a9576119a9612720565b60200260200101518960020184815481106119c6576119c6612720565b9060005260206000200160006101000a8154816001600160a01b0302191690836001600160a01b0316021790555081896008016000898681518110611a0d57611a0d612720565b60200260200101516001600160a01b03166001600160a01b031681526020019081526020016000208190555081848481518110611a4c57611a4c612720565b602002602001018181525050505080611a64906127a5565b90506117e5565b5060fd54821015611a8e5760405162461bcd60e51b815260040161040090612ef3565b60fc5460405163f481395b60e01b81526000916001600160a01b03169063f481395b90611abf908c9060040161247f565b602060405180830381865afa158015611adc573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190611b00919061276d565b90506000819050600061271060fe5486611b1a91906127bf565b611b2491906127f4565b611b2e9086612698565b9050828110611b8b5760fe54611b4690612710612698565b611b5090866127bf565b82611b5d612710806127bf565b611b6791906127bf565b611b7191906127f4565b60078a015560018901805460ff1916905560009150611bb2565b80611b96818461278e565b60018b8101805460ff1916909117905561271060078c01559250505b611bbc828461278e565b60038a01554389556001808a01805461ff00191661010083021790555060008960040160006101000a8154816001600160a01b0302191690836001600160a01b031602179055508a6001600160a01b03167f56c1f0c5ea96c78d614c0246b1915086a325f09ce15526bd5d69b50232d681328a600001548b60010160009054906101000a900460ff168c600201888e600301548f60070154604051611c6696959493929190612f03565b60405180910390a25050505050505050505050565b6033546001600160a01b03163314610c6b5760405162461bcd60e51b815260040161040090612f92565b6001600160a01b038116611ccb5760405162461bcd60e51b815260040161040090612fe4565b609780546001600160a01b038381166001600160a01b03198316179092556040519116907f66fd58e82f7b31a2a5c30e0888f3093efe4e111b00cd2b0c31fe014601293aa090610aa19083908590612ff4565b600260c95403611d405760405162461bcd60e51b815260040161040090613043565b600260c955565b611d9d8363a9059cbb60e01b8484604051602401611d66929190612808565b60408051601f198184030181529190526020810180516001600160e01b03166001600160e01b031990931692909217909152611ffb565b505050565b600160c955565b6097546040516318c5e8ab60e01b81526000916001600160a01b0316906318c5e8ab90611ddc9033908690600401613085565b602060405180830381865afa158015611df9573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190611e1d91906130b8565b90508061048c57333083604051634a3fa29360e01b8152600401610400939291906130d9565b606580546001600160a01b03191690556104a18161208d565b6001600160a01b0381166104a1576040516342bcdf7f60e11b815260040160405180910390fd5b600054610100900460ff16611eaa5760405162461bcd60e51b815260040161040090613157565b610c6b6120df565b600054610100900460ff166104985760405162461bcd60e51b815260040161040090613157565b600054610100900460ff16611f005760405162461bcd60e51b815260040161040090613157565b610c6b61210f565b611f29846323b872dd60e01b858585604051602401611d6693929190613167565b50505050565b6060816001600160a01b031663b0772d0b6040518163ffffffff1660e01b8152600401600060405180830381865afa158015611f6f573d6000803e3d6000fd5b505050506040513d6000823e601f3d908101601f19168201604052611538919081019061323d565b6000816001600160a01b0316637dc0d1d06040518163ffffffff1660e01b8152600401602060405180830381865afa158015611fd7573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906115389190613278565b6000612050826040518060400160405280602081526020017f5361666545524332303a206c6f772d6c6576656c2063616c6c206661696c6564815250856001600160a01b03166121369092919063ffffffff16565b905080516000148061207157508080602001905181019061207191906130b8565b611d9d5760405162461bcd60e51b8152600401610400906132e0565b603380546001600160a01b038381166001600160a01b0319831681179093556040519116919082907f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e090600090a35050565b600054610100900460ff166121065760405162461bcd60e51b815260040161040090613157565b610c6b33611e43565b600054610100900460ff16611da25760405162461bcd60e51b815260040161040090613157565b6060612145848460008561214d565b949350505050565b60608247101561216f5760405162461bcd60e51b815260040161040090613333565b600080866001600160a01b0316858760405161218b9190613365565b60006040518083038185875af1925050503d80600081146121c8576040519150601f19603f3d011682016040523d82523d6000602084013e6121cd565b606091505b50915091506121de878383876121e9565b979650505050505050565b60608315612228578251600003612221576001600160a01b0385163b6122215760405162461bcd60e51b8152600401610400906133a5565b5081612145565b612145838381511561223d5781518083602001fd5b8060405162461bcd60e51b815260040161040091906133b5565b50805460008255906000526020600020908101906104a191906122da565b8280548282559060005260206000209081019282156122ca579160200282015b828111156122ca57825182546001600160a01b0319166001600160a01b03909116178255602090920191600190910190612295565b506122d69291506122da565b5090565b5b808211156122d657600081556001016122db565b60006001600160a01b038216611538565b612309816122ef565b81146104a157600080fd5b803561153881612300565b60006020828403121561233457612334600080fd5b60006121458484612314565b805b82525050565b634e487b7160e01b600052602160045260246000fd5b600281106104a1576104a1612348565b806123788161235e565b919050565b60006115388261236e565b6123428161237d565b600381106104a1576104a1612348565b8061237881612391565b6000611538826123a1565b612342816123ab565b612342816122ef565b61010081016123d7828b612340565b6123e4602083018a612388565b6123f160408301896123b6565b6123fe6060830188612340565b61240b60808301876123bf565b61241860a0830186612340565b61242560c0830185612340565b61243260e0830184612340565b9998505050505050505050565b602081016115388284612340565b80612309565b80356115388161244d565b60006020828403121561247357612473600080fd5b60006121458484612453565b6020810161153882846123bf565b801515612342565b60208101611538828461248d565b60006115386001600160a01b0383165b6001600160a01b031690565b6000611538826124a3565b6000611538826124bf565b612342816124ca565b6020810161153882846124d5565b6000611538826122ef565b612309816124ec565b8035611538816124f7565b6000806000806080858703121561252457612524600080fd5b60006125308787612314565b945050602061254187828801612500565b935050604061255287828801612453565b925050606061256387828801612314565b91505092959194509250565b6000806040838503121561258557612585600080fd5b60006125918585612314565b92505060206125a285828601612453565b9150509250929050565b601381526000602082017237379037b716b3b7b4b7339030bab1ba34b7b760691b815291505b5060200190565b60208082528101611538816125ac565b602f81526000602082017f796f75206e65656420746f207761697420666f72206d6f72652074696d65206681526e37b9103334b939ba103134b23232b960891b602082015291505b5060400190565b60208082528101611538816125e9565b6013815260006020820172105d58dd1a5bdb9cc8185c99481c185d5cd959606a1b815291506125d2565b6020808252810161153881612648565b634e487b7160e01b600052601160045260246000fd5b600082198211156126ab576126ab612682565b500190565b602d81526000602082017f77616974696e6720666f72206e657874206269646465722e2063616e6e6f742081526c31b637b9b29030bab1ba34b7b760991b60208201529150612631565b60208082528101611538816126b0565b634e487b7160e01b600052604160045260246000fd5b634e487b7160e01b600052603260045260246000fd5b805161153881612300565b60006020828403121561275657612756600080fd5b60006121458484612736565b80516115388161244d565b60006020828403121561278257612782600080fd5b60006121458484612762565b6000828210156127a0576127a0612682565b500390565b600060001982036127b8576127b8612682565b5060010190565b60008160001904831182151516156127d9576127d9612682565b500290565b634e487b7160e01b600052601260045260246000fd5b600082612803576128036127de565b500490565b6040810161281682856123bf565b61156b6020830184612340565b600061282f83836124d5565b505060200190565b6000611538826124b3565b60006115388254612837565b6000612858825490565b808452600083815260208082209501949081905b838110156128965761287d82612842565b6128878882612823565b9750506001918201910161286c565b509495945050505050565b600061282f8383612340565b60006128b7825190565b80845260209384019383018060005b838110156128965781516128da88826128a1565b9750602083019250506001016128c6565b60a081016128f98288612340565b6129066020830187612340565b6129136040830186612340565b8181036060830152612925818561284e565b905081810360808301526121de81846128ad565b604081016128168285612340565b601781526000602082017f41756374696f6e7320617265206e6f7420706175736564000000000000000000815291506125d2565b6020808252810161153881612947565b601a81526000602082017f696e63656e74697665427073206d757374206e6f742062652030000000000000815291506125d2565b602080825281016115388161298b565b602381526000602082017f5f6e657874426964646572426c6f636b4c696d6974206d757374206e6f74206281526206520360ec1b60208201529150612631565b60208082528101611538816129cf565b602981526000602082017f4f776e61626c6532537465703a2063616c6c6572206973206e6f7420746865208152683732bb9037bbb732b960b91b60208201529150612631565b6020808252810161153881612a1f565b601b81526000602082017f41756374696f6e732061726520616c7265616479207061757365640000000000815291506125d2565b6020808252810161153881612a75565b602e81526000602082017f496e697469616c697a61626c653a20636f6e747261637420697320616c72656181526d191e481a5b9a5d1a585b1a5e995960921b60208201529150612631565b6020808252810161153881612ab9565b601d81526000602082017f696e76616c6964206d696e696d756d20706f6f6c206261642064656274000000815291506125d2565b6020808252810161153881612b14565b600060ff8216611538565b61234281612b58565b602081016115388284612b63565b601c81526000602082017f61756374696f6e206973207374616c652c207265737461727420697400000000815291506125d2565b6020808252810161153881612b7a565b602681526000602082017f626173697320706f696e74732063616e6e6f74206265206d6f7265207468616e81526502031303030360d41b60208201529150612631565b6020808252810161153881612bbe565b601b81526000602082017f796f757220626964206973206e6f742074686520686967686573740000000000815291506125d2565b6020808252810161153881612c11565b601f19601f830116810181811067ffffffffffffffff82111715612c7b57612c7b61270a565b6040525050565b6000612c8d60405190565b90506123788282612c55565b600067ffffffffffffffff821115612cb357612cb361270a565b601f19601f83011660200192915050565b60005b83811015612cdf578181015183820152602001612cc7565b83811115611f295750506000910152565b6000612d03612cfe84612c99565b612c82565b905082815260208101848484011115612d1e57612d1e600080fd5b612d29848285612cc4565b509392505050565b600082601f830112612d4557612d45600080fd5b8151612145848260208601612cf0565b600060a08284031215612d6a57612d6a600080fd5b612d7460a0612c82565b825190915067ffffffffffffffff811115612d9157612d91600080fd5b612d9d84828501612d31565b8252506020612dae84848301612736565b6020830152506040612dc284828501612736565b6040830152506060612dd684828501612762565b6060830152506080612dea84828501612762565b60808301525092915050565b600060208284031215612e0b57612e0b600080fd5b815167ffffffffffffffff811115612e2557612e25600080fd5b61214584828501612d55565b602781526000602082017f636f6d7074726f6c6c657220646f65736e277420657869737420706f6f6c20728152666567697374727960c81b60208201529150612631565b6020808252810161153881612e31565b601381526000602082017261756374696f6e206973206f6e2d676f696e6760681b815291506125d2565b6020808252810161153881612e85565b601881526000602082017f706f6f6c20626164206465627420697320746f6f206c6f770000000000000000815291506125d2565b6020808252810161153881612ebf565b60c08101612f118289612340565b612f1e6020830188612388565b8181036040830152612f30818761284e565b90508181036060830152612f4481866128ad565b9050612f536080830185612340565b6121de60a0830184612340565b60208082527f4f776e61626c653a2063616c6c6572206973206e6f7420746865206f776e6572910190815260006125d2565b6020808252810161153881612f60565b602581526000602082017f696e76616c696420616365737320636f6e74726f6c206d616e61676572206164815264647265737360d81b60208201529150612631565b6020808252810161153881612fa2565b6040810161300282856123bf565b61156b60208301846123bf565b601f81526000602082017f5265656e7472616e637947756172643a207265656e7472616e742063616c6c00815291506125d2565b602080825281016115388161300f565b600061305d825190565b808452602084019350613074818560208601612cc4565b601f01601f19169290920192915050565b6040810161309382856123bf565b81810360208301526121458184613053565b801515612309565b8051611538816130a5565b6000602082840312156130cd576130cd600080fd5b600061214584846130ad565b606081016130e782866123bf565b6130f460208301856123bf565b81810360408301526131068184613053565b95945050505050565b602b81526000602082017f496e697469616c697a61626c653a20636f6e7472616374206973206e6f74206981526a6e697469616c697a696e6760a81b60208201529150612631565b602080825281016115388161310f565b6060810161317582866123bf565b61318260208301856123bf565b6121456040830184612340565b600067ffffffffffffffff8211156131a9576131a961270a565b5060209081020190565b8051611538816124f7565b60006131cc612cfe8461318f565b838152905060208082019084028301858111156131eb576131eb600080fd5b835b8181101561320f578061320088826131b3565b845250602092830192016131ed565b5050509392505050565b600082601f83011261322d5761322d600080fd5b81516121458482602086016131be565b60006020828403121561325257613252600080fd5b815167ffffffffffffffff81111561326c5761326c600080fd5b61214584828501613219565b60006020828403121561328d5761328d600080fd5b600061214584846131b3565b602a81526000602082017f5361666545524332303a204552433230206f7065726174696f6e20646964206e8152691bdd081cdd58d8d9595960b21b60208201529150612631565b6020808252810161153881613299565b602681526000602082017f416464726573733a20696e73756666696369656e742062616c616e636520666f8152651c8818d85b1b60d21b60208201529150612631565b60208082528101611538816132f0565b600061334d825190565b61335b818560208601612cc4565b9290920192915050565b600061156b8284613343565b601d81526000602082017f416464726573733a2063616c6c20746f206e6f6e2d636f6e7472616374000000815291506125d2565b6020808252810161153881613371565b6020808252810161156b818461305356fe7570646174654d696e696d756d506f6f6c426164446562742875696e74323536297570646174654e657874426964646572426c6f636b4c696d69742875696e743235362975706461746557616974466f7246697273744269646465722875696e7432353629a264697066735822122062f7a93a331100f7a34cd0ae73f63ccc2368da2befdf46879ed72298ed83bcb864736f6c634300080d0033",
754
- "linkReferences": {},
755
- "deployedLinkReferences": {}
756
- }