@raac/rpc 1.1.0-beta.9 → 1.1.0-beta.91

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 (565) hide show
  1. package/dist/RPCLibrary.js +53 -6
  2. package/dist/artifacts/core/collectors/FeeCollector.sol/FeeCollector.json +279 -309
  3. package/dist/artifacts/core/collectors/NFTRoyaltyFeeCollector.sol/NFTRoyaltyFeeCollector.json +246 -0
  4. package/dist/artifacts/core/collectors/RAACTokenCollector.sol/RAACTokenCollector.json +458 -0
  5. package/dist/artifacts/core/collectors/RWAIndexTokenCollector.sol/RWAIndexTokenCollector.json +458 -0
  6. package/dist/artifacts/core/collectors/Treasury.sol/Treasury.json +529 -0
  7. package/dist/artifacts/core/minters/RAACMinter/RAACMinter.sol/RAACMinter.json +2 -93
  8. package/dist/artifacts/core/oracles/BaseVRFv2Consumer.sol/BaseVRFv2Consumer.json +169 -13
  9. package/dist/artifacts/core/oracles/CrvUSDToUSDOracle.sol/CrvUSDToUSDOracle.json +556 -0
  10. package/dist/artifacts/core/oracles/RAACHousePriceOracle.sol/RAACHousePriceOracle.json +637 -0
  11. package/dist/artifacts/core/oracles/RAACPrimeRateOracle.sol/RAACPrimeRateOracle.json +190 -29
  12. package/dist/artifacts/core/pools/LendingPool/ERC20AssetAdapter.sol/ERC20AssetAdapter.json +20 -2
  13. package/dist/artifacts/core/pools/LendingPool/ERC721AssetAdapter.sol/ERC721AssetAdapter.json +55 -3
  14. package/dist/artifacts/core/pools/LendingPool/LendingPool.sol/LendingPool.json +267 -220
  15. package/dist/artifacts/core/pools/StabilityPool/StabilityPool.sol/StabilityPool.json +421 -124
  16. package/dist/artifacts/core/primitives/ComplianceRegistry.sol/ComplianceRegistry.json +397 -0
  17. package/dist/artifacts/core/primitives/RAACHousePrices.sol/RAACHousePrices.json +223 -7
  18. package/dist/artifacts/core/tokens/DEToken.sol/DEToken.json +111 -8
  19. package/dist/artifacts/core/tokens/RAACNFT.sol/RAACNFT.json +272 -28
  20. package/dist/artifacts/core/tokens/RAACToken.sol/RAACToken.json +2 -2
  21. package/dist/artifacts/core/tokens/RToken.sol/RToken.json +50 -39
  22. package/dist/artifacts/core/tokens/RWAIndexToken.sol/RWAIndexToken.json +25 -2
  23. package/dist/artifacts/core/tokens/veRAACToken.sol/veRAACToken.json +2 -2
  24. package/dist/artifacts/core/vaults/ERC20VaultAdapter.sol/ERC20VaultAdapter.json +17 -9
  25. package/dist/artifacts/core/vaults/ERC721VaultAdapter.sol/ERC721VaultAdapter.json +89 -9
  26. package/dist/artifacts/core/vaults/RWAVault.sol/RWAVault.json +405 -108
  27. package/dist/artifacts/mocks/core/oracles/MockVRFCoordinatorV2.sol/MockVRFCoordinatorV2.json +2 -2
  28. package/dist/artifacts/mocks/core/tokens/crvUSDToken.sol/crvUSDToken.json +2 -2
  29. package/dist/artifacts/zeno/Auction.sol/Auction.json +57 -2
  30. package/dist/artifacts/zeno/AuctionFactory.sol/AuctionFactory.json +44 -2
  31. package/dist/artifacts/zeno/Zeno.sol/Zeno.json +2 -2
  32. package/dist/artifacts/zeno/ZenoFactory.sol/ZenoFactory.json +2 -2
  33. package/dist/configs/chains/1.json +197 -0
  34. package/dist/configs/chains/11155111.json +80 -20
  35. package/dist/configs/chains/17000.json +35 -0
  36. package/dist/configs/chains/18453.json +197 -0
  37. package/dist/configs/chains/8453.json +71 -18
  38. package/dist/configs/chains/index.js +4 -0
  39. package/dist/minter/get.js +1 -3
  40. package/dist/minter/getApy.js +2 -2
  41. package/dist/nfts/approveNFT.js +25 -0
  42. package/dist/nfts/getApprovalForAll.js +32 -0
  43. package/dist/nfts/getNFTApproval.js +33 -0
  44. package/dist/nfts/getOwnerOfNFT.js +39 -0
  45. package/dist/nfts/setApprovalForAll.js +34 -0
  46. package/dist/oracles/chainlink-networks-config.js +252 -0
  47. package/dist/oracles/encryptSecretURLs.js +14 -0
  48. package/dist/oracles/encryptSecrets.js +15 -0
  49. package/dist/oracles/houses/config.js +20 -0
  50. package/dist/oracles/houses/request.js +147 -0
  51. package/dist/oracles/houses/simulate.js +22 -0
  52. package/dist/oracles/prime-rate/config.js +17 -0
  53. package/dist/oracles/prime-rate/request.js +140 -0
  54. package/dist/oracles/prime-rate/simulate.js +26 -0
  55. package/dist/pools/lendingPool/_helpers.js +2 -3
  56. package/dist/pools/lendingPool/adapters/erc721/getERC721AdapterDeposits.js +4 -3
  57. package/dist/pools/lendingPool/adapters/erc721/getERC721AdapterInfo.js +4 -3
  58. package/dist/pools/lendingPool/borrowFromLendingPool.js +5 -3
  59. package/dist/pools/lendingPool/borrowFromLendingPoolWithInsurance.js +34 -3
  60. package/dist/pools/lendingPool/calculateInsuranceFee.js +2 -2
  61. package/dist/pools/lendingPool/closeLiquidation.js +2 -2
  62. package/dist/pools/lendingPool/depositAssetToLendingPool.js +2 -2
  63. package/dist/pools/lendingPool/depositToLendingPool.js +4 -2
  64. package/dist/pools/lendingPool/getAdapterAddress.js +8 -10
  65. package/dist/pools/lendingPool/getAdapters.js +1 -1
  66. package/dist/pools/lendingPool/getEligibleUserDeposits.js +1 -1
  67. package/dist/pools/lendingPool/getHealthFactor.js +2 -2
  68. package/dist/pools/lendingPool/getLendingPoolInfo.js +24 -15
  69. package/dist/pools/lendingPool/getLendingPoolTotalLiquidity.js +1 -1
  70. package/dist/pools/lendingPool/getParameters.js +3 -4
  71. package/dist/pools/lendingPool/getPositionDebt.js +2 -2
  72. package/dist/pools/lendingPool/getPositionScaledDebt.js +2 -2
  73. package/dist/pools/lendingPool/getPositionView.js +1 -1
  74. package/dist/pools/lendingPool/getPositionsScaledDebt.js +1 -1
  75. package/dist/pools/lendingPool/getRawUserDepositsInLendingPool.js +1 -1
  76. package/dist/pools/lendingPool/getUserCollateralValue.js +1 -1
  77. package/dist/pools/lendingPool/initializeLiquidation.js +2 -2
  78. package/dist/pools/lendingPool/openVaultPosition.js +2 -4
  79. package/dist/pools/lendingPool/repayToLendingPool.js +2 -2
  80. package/dist/pools/lendingPool/vaultOpened.js +22 -0
  81. package/dist/pools/lendingPool/withdrawAssetFromLendingPool.js +3 -4
  82. package/dist/pools/lendingPool/withdrawFromLendingPool.js +7 -4
  83. package/dist/pools/rwaVault/_helpers.js +2 -3
  84. package/dist/pools/rwaVault/depositToRWAVault.js +6 -5
  85. package/dist/pools/rwaVault/getNextRandomNFT.js +1 -1
  86. package/dist/pools/rwaVault/getRWAVaultInfo.js +3 -14
  87. package/dist/pools/rwaVault/previewDeposit.js +16 -0
  88. package/dist/pools/rwaVault/previewWithdraw.js +16 -0
  89. package/dist/pools/rwaVault/redeemNFTFromRWAVault.js +9 -5
  90. package/dist/pools/rwaVault/requestRandomSeed.js +1 -1
  91. package/dist/pools/stabilityPool/_helpers.js +11 -0
  92. package/dist/pools/stabilityPool/getStabilityPoolInfo.js +2 -39
  93. package/dist/pools/stabilityPool/getWithdrawRequestInfo.js +28 -0
  94. package/dist/pools/{lendingPool → stabilityPool}/requestWithdraw.js +2 -7
  95. package/dist/scripts/analyze_lending_positions.js +277 -0
  96. package/dist/scripts/analyze_transfers.js +247 -0
  97. package/dist/scripts/calculate_portfolio.js +167 -0
  98. package/dist/scripts/generateErrorMap.js +180 -0
  99. package/dist/scripts/index.js +210 -78
  100. package/dist/scripts/liquidation.js +176 -0
  101. package/dist/scripts/run_analysis.js +115 -0
  102. package/dist/scripts/test_lending_analysis.js +105 -0
  103. package/dist/scripts/users.js +305 -0
  104. package/dist/test.js +323 -0
  105. package/dist/types/RPCLibrary.d.ts +37 -9
  106. package/dist/types/configs/chains/index.d.ts +7 -3
  107. package/dist/types/configs/index.d.ts +3 -1
  108. package/dist/types/nfts/approveNFT.d.ts +9 -0
  109. package/dist/types/nfts/getApprovalForAll.d.ts +14 -0
  110. package/dist/types/nfts/getNFTApproval.d.ts +14 -0
  111. package/dist/types/nfts/getOwnerOfNFT.d.ts +13 -0
  112. package/dist/types/nfts/setApprovalForAll.d.ts +14 -0
  113. package/dist/types/oracles/chainlink-networks-config.d.ts +222 -0
  114. package/dist/types/oracles/encryptSecretURLs.d.ts +5 -0
  115. package/dist/types/oracles/encryptSecrets.d.ts +2 -0
  116. package/dist/types/oracles/houses/config.d.ts +12 -0
  117. package/dist/types/oracles/houses/request.d.ts +3 -0
  118. package/dist/types/oracles/houses/simulate.d.ts +1 -0
  119. package/dist/types/oracles/prime-rate/config.d.ts +13 -0
  120. package/dist/types/oracles/prime-rate/request.d.ts +2 -0
  121. package/dist/types/oracles/prime-rate/simulate.d.ts +1 -0
  122. package/dist/types/pools/lendingPool/_helpers.d.ts +2 -2
  123. package/dist/types/pools/lendingPool/adapters/erc721/getERC721AdapterDeposits.d.ts +4 -2
  124. package/dist/types/pools/lendingPool/adapters/erc721/getERC721AdapterInfo.d.ts +4 -2
  125. package/dist/types/pools/lendingPool/borrowFromLendingPool.d.ts +2 -2
  126. package/dist/types/pools/lendingPool/borrowFromLendingPoolWithInsurance.d.ts +2 -2
  127. package/dist/types/pools/lendingPool/closeLiquidation.d.ts +2 -2
  128. package/dist/types/pools/lendingPool/depositAssetToLendingPool.d.ts +2 -2
  129. package/dist/types/pools/lendingPool/getHealthFactor.d.ts +2 -2
  130. package/dist/types/pools/lendingPool/getLendingPoolInfo.d.ts +2 -0
  131. package/dist/types/pools/lendingPool/getParameters.d.ts +1 -2
  132. package/dist/types/pools/lendingPool/getPositionDebt.d.ts +2 -2
  133. package/dist/types/pools/lendingPool/getPositionScaledDebt.d.ts +2 -2
  134. package/dist/types/pools/lendingPool/initializeLiquidation.d.ts +2 -2
  135. package/dist/types/pools/lendingPool/repayToLendingPool.d.ts +2 -2
  136. package/dist/types/pools/lendingPool/vaultOpened.d.ts +11 -0
  137. package/dist/types/pools/lendingPool/withdrawAssetFromLendingPool.d.ts +2 -3
  138. package/dist/types/pools/rwaVault/_helpers.d.ts +2 -2
  139. package/dist/types/pools/rwaVault/depositToRWAVault.d.ts +2 -2
  140. package/dist/types/pools/rwaVault/getRWAVaultInfo.d.ts +2 -6
  141. package/dist/types/pools/rwaVault/previewDeposit.d.ts +4 -0
  142. package/dist/types/pools/rwaVault/previewWithdraw.d.ts +4 -0
  143. package/dist/types/pools/rwaVault/redeemNFTFromRWAVault.d.ts +3 -2
  144. package/dist/types/pools/stabilityPool/_helpers.d.ts +4 -0
  145. package/dist/types/pools/stabilityPool/getStabilityPoolInfo.d.ts +0 -3
  146. package/dist/types/pools/stabilityPool/getWithdrawRequestInfo.d.ts +13 -0
  147. package/dist/types/scripts/analyze_lending_positions.d.ts +1 -0
  148. package/dist/types/scripts/analyze_transfers.d.ts +1 -0
  149. package/dist/types/scripts/calculate_portfolio.d.ts +1 -0
  150. package/dist/types/scripts/generateErrorMap.d.ts +1 -0
  151. package/dist/types/scripts/liquidation.d.ts +1 -0
  152. package/dist/types/scripts/run_analysis.d.ts +1 -0
  153. package/dist/types/scripts/test_lending_analysis.d.ts +1 -0
  154. package/dist/types/scripts/users.d.ts +1 -0
  155. package/dist/types/test.d.ts +1 -0
  156. package/dist/types/typechain-types/@chainlink/contracts/src/v0.8/vrf/index.d.ts +0 -3
  157. package/dist/types/typechain-types/@openzeppelin/contracts/index.d.ts +2 -0
  158. package/dist/types/typechain-types/@openzeppelin/contracts/interfaces/IERC1967.d.ts +65 -0
  159. package/dist/types/typechain-types/@openzeppelin/contracts/interfaces/index.d.ts +1 -0
  160. package/dist/types/typechain-types/@openzeppelin/contracts/proxy/ERC1967/ERC1967Proxy.d.ts +36 -0
  161. package/dist/types/typechain-types/@openzeppelin/contracts/{utils/math/Math.d.ts → proxy/ERC1967/ERC1967Utils.d.ts} +4 -4
  162. package/dist/types/typechain-types/@openzeppelin/contracts/proxy/ERC1967/index.d.ts +2 -0
  163. package/dist/types/typechain-types/@openzeppelin/contracts/proxy/Proxy.d.ts +20 -0
  164. package/dist/types/typechain-types/@openzeppelin/contracts/proxy/beacon/IBeacon.d.ts +25 -0
  165. package/dist/types/typechain-types/@openzeppelin/contracts/proxy/beacon/index.d.ts +1 -0
  166. package/dist/types/typechain-types/@openzeppelin/contracts/proxy/index.d.ts +7 -0
  167. package/dist/types/typechain-types/@openzeppelin/contracts/proxy/transparent/ProxyAdmin.d.ts +74 -0
  168. package/dist/types/typechain-types/@openzeppelin/contracts/proxy/transparent/TransparentUpgradeableProxy.sol/ITransparentUpgradeableProxy.d.ts +80 -0
  169. package/dist/types/typechain-types/@openzeppelin/contracts/proxy/transparent/TransparentUpgradeableProxy.sol/TransparentUpgradeableProxy.d.ts +51 -0
  170. package/dist/types/typechain-types/@openzeppelin/contracts/proxy/transparent/TransparentUpgradeableProxy.sol/index.d.ts +2 -0
  171. package/dist/types/typechain-types/@openzeppelin/contracts/proxy/transparent/index.d.ts +3 -0
  172. package/dist/types/typechain-types/@openzeppelin/contracts-upgradeable/utils/ReentrancyGuardUpgradeable.d.ts +36 -0
  173. package/dist/types/typechain-types/@openzeppelin/contracts-upgradeable/utils/index.d.ts +1 -0
  174. package/dist/types/typechain-types/contracts/core/collectors/ERC20Collector.d.ts +264 -0
  175. package/dist/types/typechain-types/contracts/core/collectors/FeeCollector.d.ts +180 -178
  176. package/dist/types/typechain-types/contracts/core/collectors/NFTRoyaltyFeeCollector.sol/NFTRoyaltyFeeCollector.d.ts +17 -5
  177. package/dist/types/typechain-types/contracts/core/collectors/RAACTokenCollector.d.ts +264 -0
  178. package/dist/types/typechain-types/contracts/core/collectors/RWAIndexTokenCollector.d.ts +264 -0
  179. package/dist/types/typechain-types/contracts/core/collectors/Treasury.d.ts +53 -52
  180. package/dist/types/typechain-types/contracts/core/collectors/index.d.ts +3 -0
  181. package/dist/types/typechain-types/contracts/core/governance/gauges/BaseGauge.d.ts +119 -5
  182. package/dist/types/typechain-types/contracts/core/governance/gauges/GaugeRewardsDistributor.d.ts +19 -1
  183. package/dist/types/typechain-types/contracts/core/governance/gauges/RAACGauge.d.ts +119 -5
  184. package/dist/types/typechain-types/contracts/core/governance/gauges/RWAGauge.d.ts +119 -5
  185. package/dist/types/typechain-types/contracts/core/governance/proposals/Governance.d.ts +2 -6
  186. package/dist/types/typechain-types/contracts/core/governance/proposals/TimelockController.d.ts +33 -3
  187. package/dist/types/typechain-types/contracts/core/minters/RAACMinter/RAACMinter.d.ts +1 -41
  188. package/dist/types/typechain-types/contracts/core/minters/RAACReleaseOrchestrator/RAACReleaseOrchestrator.d.ts +36 -20
  189. package/dist/types/typechain-types/contracts/core/oracles/BaseChainlinkFunctionsOracle.d.ts +112 -27
  190. package/dist/types/typechain-types/contracts/core/oracles/BaseVRFv2Consumer.d.ts +116 -10
  191. package/dist/types/typechain-types/contracts/core/oracles/CrvUSDToUSDOracle.sol/CrvUSDToUSDOracle.d.ts +338 -0
  192. package/dist/types/typechain-types/contracts/core/oracles/CrvUSDToUSDOracle.sol/ICrvUSDToUSDOracle.d.ts +55 -0
  193. package/dist/types/typechain-types/contracts/{mocks/tests/VotingPowerFuzzHelper.sol/IVMTimeControl.d.ts → core/oracles/CrvUSDToUSDOracle.sol/ICrvUsdCurveOracle.d.ts} +9 -9
  194. package/dist/types/typechain-types/contracts/core/oracles/CrvUSDToUSDOracle.sol/index.d.ts +3 -0
  195. package/dist/types/typechain-types/contracts/core/oracles/RAACHousePriceOracle.d.ts +128 -27
  196. package/dist/types/typechain-types/contracts/core/oracles/RAACPrimeRateOracle.d.ts +112 -27
  197. package/dist/types/typechain-types/contracts/core/oracles/RWAIndexTokenOracle.sol/RWAIndexTokenOracle.d.ts +37 -0
  198. package/dist/types/typechain-types/contracts/core/oracles/RWAIndexTokenOracle.sol/index.d.ts +2 -0
  199. package/dist/types/typechain-types/contracts/core/oracles/crvUSDPriceOracle.sol/CrvUSDPriceOracle.d.ts +33 -0
  200. package/dist/types/typechain-types/contracts/{mocks/core/oracles/MockERC20PriceOracle.sol → core/oracles/crvUSDPriceOracle.sol}/IPriceOracle.d.ts +1 -1
  201. package/dist/types/typechain-types/contracts/core/oracles/crvUSDPriceOracle.sol/index.d.ts +2 -0
  202. package/dist/types/typechain-types/contracts/core/oracles/index.d.ts +6 -0
  203. package/dist/types/typechain-types/contracts/core/pools/LendingPool/ERC20AssetAdapter.sol/ERC20AssetAdapter.d.ts +10 -1
  204. package/dist/types/typechain-types/contracts/core/pools/LendingPool/{ERC721AssetAdapter.sol/ERC721AssetAdapter.d.ts → ERC721AssetAdapter.d.ts} +29 -2
  205. package/dist/types/typechain-types/contracts/core/pools/LendingPool/LendingPool.d.ts +145 -153
  206. package/dist/types/typechain-types/contracts/core/pools/LendingPool/LendingPoolStorage.d.ts +94 -63
  207. package/dist/types/typechain-types/contracts/core/pools/LendingPool/LiquidationProxy.d.ts +94 -63
  208. package/dist/types/typechain-types/contracts/core/pools/LendingPool/VaultProxy.d.ts +105 -62
  209. package/dist/types/typechain-types/contracts/core/pools/LendingPool/index.d.ts +1 -2
  210. package/dist/types/typechain-types/contracts/core/pools/StabilityPool/LiquidationStrategyProxy.d.ts +66 -28
  211. package/dist/types/typechain-types/contracts/core/pools/StabilityPool/LiquidationSwap.d.ts +36 -8
  212. package/dist/types/typechain-types/contracts/core/pools/StabilityPool/StabilityPool.d.ts +312 -81
  213. package/dist/types/typechain-types/contracts/core/pools/StabilityPool/StabilityPoolStorage.d.ts +61 -25
  214. package/dist/types/typechain-types/contracts/core/primitives/{ComplianceRegistry.d.ts → ComplianceRegistry.sol/ComplianceRegistry.d.ts} +30 -2
  215. package/dist/types/typechain-types/contracts/core/primitives/ComplianceRegistry.sol/SanctionsList.d.ts +25 -0
  216. package/dist/types/typechain-types/contracts/core/primitives/ComplianceRegistry.sol/index.d.ts +2 -0
  217. package/dist/types/typechain-types/contracts/core/primitives/RAACHousePrices.d.ts +129 -7
  218. package/dist/types/typechain-types/contracts/core/primitives/index.d.ts +2 -1
  219. package/dist/types/typechain-types/contracts/core/tokens/DEToken.d.ts +39 -9
  220. package/dist/types/typechain-types/contracts/core/tokens/DebtToken.d.ts +12 -111
  221. package/dist/types/typechain-types/contracts/core/tokens/RAACNFT.d.ts +191 -31
  222. package/dist/types/typechain-types/contracts/core/tokens/RToken.d.ts +15 -33
  223. package/dist/types/typechain-types/contracts/core/tokens/RWAIndexToken.d.ts +5 -1
  224. package/dist/types/typechain-types/contracts/core/vaults/{ERC20VaultAdapter.sol/ERC20VaultAdapter.d.ts → ERC20VaultAdapter.d.ts} +10 -8
  225. package/dist/types/typechain-types/contracts/core/vaults/{ERC721VaultAdapter.sol/ERC721VaultAdapter.d.ts → ERC721VaultAdapter.d.ts} +40 -8
  226. package/dist/types/typechain-types/contracts/core/vaults/RAACNFTVaultAdapterV2.d.ts +262 -0
  227. package/dist/types/typechain-types/contracts/core/vaults/RWAVault.d.ts +321 -65
  228. package/dist/types/typechain-types/contracts/core/vaults/index.d.ts +3 -4
  229. package/dist/types/typechain-types/contracts/{mocks/libraries/governance/RAACVotingMock.d.ts → interfaces/core/collectors/IDistributionTarget.d.ts} +25 -23
  230. package/dist/types/typechain-types/contracts/interfaces/core/collectors/IFeeCollector.d.ts +136 -44
  231. package/dist/types/typechain-types/contracts/interfaces/core/collectors/ITreasury.d.ts +23 -42
  232. package/dist/types/typechain-types/contracts/interfaces/core/collectors/index.d.ts +1 -0
  233. package/dist/types/typechain-types/contracts/interfaces/core/governance/gauges/IBaseGauge.d.ts +101 -5
  234. package/dist/types/typechain-types/contracts/interfaces/core/governance/proposals/IGovernance.d.ts +2 -6
  235. package/dist/types/typechain-types/contracts/interfaces/core/governance/proposals/ITimelockController.d.ts +33 -3
  236. package/dist/types/typechain-types/contracts/interfaces/core/minters/RAACMinter/IRAACMinter.d.ts +1 -37
  237. package/dist/types/typechain-types/contracts/interfaces/core/minters/RAACReleaseOrchestrator/IReleaseOrchestrator.d.ts +21 -20
  238. package/dist/types/typechain-types/contracts/interfaces/core/oracles/IBaseVRFv2Consumer.d.ts +47 -1
  239. package/dist/types/typechain-types/contracts/{core/pools/LendingPool/ERC721AssetAdapter.sol/IPriceOracle.d.ts → interfaces/core/oracles/IERC20PriceOracle.d.ts} +9 -13
  240. package/dist/types/typechain-types/contracts/{core/vaults/ERC721VaultAdapter.sol/IPriceOracle.d.ts → interfaces/core/oracles/IERC721PriceOracle.d.ts} +6 -6
  241. package/dist/types/typechain-types/contracts/interfaces/core/oracles/IRAACHousePriceOracle.d.ts +29 -0
  242. package/dist/types/typechain-types/contracts/interfaces/core/oracles/IRAACHousePrices.sol/IRAACHousePriceSyncer.d.ts +71 -0
  243. package/dist/types/typechain-types/contracts/interfaces/core/oracles/IRAACHousePrices.sol/IRAACHousePrices.d.ts +49 -0
  244. package/dist/types/typechain-types/contracts/interfaces/core/oracles/IRAACHousePrices.sol/index.d.ts +2 -0
  245. package/dist/types/typechain-types/contracts/interfaces/core/oracles/IZKMEVerifyUpgradeable.d.ts +35 -0
  246. package/dist/types/typechain-types/contracts/interfaces/core/oracles/index.d.ts +6 -1
  247. package/dist/types/typechain-types/contracts/interfaces/core/pools/ILiquidityPool.d.ts +26 -12
  248. package/dist/types/typechain-types/contracts/interfaces/core/pools/LendingPool/IAssetAdapter.d.ts +10 -1
  249. package/dist/types/typechain-types/contracts/interfaces/core/pools/LendingPool/ILendingPool.d.ts +80 -70
  250. package/dist/types/typechain-types/contracts/interfaces/core/pools/LendingPool/ILendingPoolStorage.d.ts +52 -1
  251. package/dist/types/typechain-types/contracts/interfaces/core/pools/StabilityPool/IStabilityPool.d.ts +205 -42
  252. package/dist/types/typechain-types/contracts/interfaces/core/tokens/IDEToken.d.ts +31 -1
  253. package/dist/types/typechain-types/contracts/interfaces/core/tokens/IDebtToken.d.ts +7 -15
  254. package/dist/types/typechain-types/contracts/interfaces/core/tokens/IRAACNFT.d.ts +127 -29
  255. package/dist/types/typechain-types/contracts/interfaces/core/tokens/IRToken.d.ts +11 -33
  256. package/dist/types/typechain-types/contracts/interfaces/core/vaults/IBaseHybridVault.d.ts +315 -23
  257. package/dist/types/typechain-types/contracts/interfaces/core/vaults/IERC721VaultAdapter.d.ts +37 -0
  258. package/dist/types/typechain-types/contracts/interfaces/core/vaults/IVaultAssetAdapter.d.ts +1 -3
  259. package/dist/types/typechain-types/contracts/interfaces/core/vaults/index.d.ts +1 -0
  260. package/dist/types/typechain-types/contracts/interfaces/curve/ICurveCrvUSDVault.d.ts +33 -1
  261. package/dist/types/typechain-types/contracts/libraries/pools/LendingPoolFeeLibrary.d.ts +20 -0
  262. package/dist/types/typechain-types/contracts/libraries/pools/index.d.ts +1 -0
  263. package/dist/types/typechain-types/contracts/mocks/core/collectors/MockTreasury.d.ts +23 -58
  264. package/dist/types/typechain-types/contracts/mocks/core/curve/CurveCrvUSDVaultMock.d.ts +358 -0
  265. package/dist/types/typechain-types/contracts/mocks/core/curve/index.d.ts +1 -0
  266. package/dist/types/typechain-types/contracts/mocks/core/governance/proposals/TimelockPayableTestTarget.d.ts +37 -0
  267. package/dist/types/typechain-types/contracts/mocks/core/governance/proposals/index.d.ts +1 -0
  268. package/dist/types/typechain-types/contracts/mocks/core/oracles/MockChainlinkAggregator.d.ts +151 -0
  269. package/dist/types/typechain-types/contracts/{interfaces/IHousePrices.d.ts → mocks/core/oracles/MockCurveEMA.sol/ICrvUsdCurveOracle.d.ts} +10 -14
  270. package/dist/types/typechain-types/contracts/mocks/core/oracles/MockCurveEMA.sol/MockCurveEMA.d.ts +59 -0
  271. package/dist/types/typechain-types/contracts/mocks/core/oracles/MockCurveEMA.sol/index.d.ts +2 -0
  272. package/dist/types/typechain-types/contracts/mocks/core/oracles/{MockERC20PriceOracle.sol/MockERC20PriceOracle.d.ts → MockERC20PriceOracle.d.ts} +1 -1
  273. package/dist/types/typechain-types/contracts/mocks/core/oracles/MockRAACNFTVaultAdapterNAVOracle.d.ts +169 -0
  274. package/dist/types/typechain-types/contracts/mocks/core/oracles/MockZKMEVerifyUpgradeable.d.ts +171 -0
  275. package/dist/types/typechain-types/contracts/mocks/core/oracles/TestRAACHousePriceOracle.d.ts +128 -27
  276. package/dist/types/typechain-types/contracts/mocks/core/oracles/TestRAACPrimeRateOracle.d.ts +112 -27
  277. package/dist/types/typechain-types/contracts/mocks/core/oracles/index.d.ts +6 -2
  278. package/dist/types/typechain-types/contracts/mocks/core/pools/CurveStyleCrvUSDiRAACPool.d.ts +593 -0
  279. package/dist/types/typechain-types/contracts/mocks/core/pools/MockLendingPool.d.ts +11 -17
  280. package/dist/types/typechain-types/contracts/mocks/core/pools/MockLendingPoolCollector.d.ts +10 -7
  281. package/dist/types/typechain-types/contracts/mocks/core/pools/MockLendingPoolDebtToken.d.ts +80 -70
  282. package/dist/types/typechain-types/contracts/mocks/core/pools/MockLiquidityPool.d.ts +26 -12
  283. package/dist/types/typechain-types/contracts/mocks/core/pools/index.d.ts +1 -0
  284. package/dist/types/typechain-types/{@chainlink/contracts/src/v0.8/vrf/VRFConsumerBaseV2.d.ts → contracts/mocks/core/primitives/MockChainAnalysis.sol/MockChainAnalysis.d.ts} +18 -14
  285. package/dist/types/typechain-types/contracts/mocks/core/primitives/MockChainAnalysis.sol/SanctionsList.d.ts +25 -0
  286. package/dist/types/typechain-types/contracts/mocks/core/primitives/MockChainAnalysis.sol/index.d.ts +2 -0
  287. package/dist/types/typechain-types/contracts/mocks/core/primitives/MockDistributableContract.d.ts +9 -1
  288. package/dist/types/typechain-types/contracts/mocks/core/primitives/index.d.ts +2 -0
  289. package/dist/types/typechain-types/contracts/{core/tokens/IndexToken.d.ts → mocks/core/tokens/CrvUSDTokenLimited.d.ts} +53 -155
  290. package/dist/types/typechain-types/contracts/mocks/core/tokens/index.d.ts +1 -0
  291. package/dist/types/typechain-types/contracts/mocks/libraries/pools/ReserveLibraryMock.d.ts +5 -1
  292. package/dist/types/typechain-types/contracts/mocks/libraries/pools/ReserveLibraryMockCalculation.d.ts +185 -0
  293. package/dist/types/typechain-types/contracts/mocks/libraries/pools/index.d.ts +1 -0
  294. package/dist/types/typechain-types/contracts/zeno/Auction.d.ts +33 -2
  295. package/dist/types/typechain-types/contracts/zeno/AuctionFactory.d.ts +34 -2
  296. package/dist/types/typechain-types/factories/@chainlink/contracts/src/v0.8/functions/v1_0_0/libraries/FunctionsRequest__factory.d.ts +1 -1
  297. package/dist/types/typechain-types/factories/@chainlink/contracts/src/v0.8/shared/access/ConfirmedOwnerWithProposal__factory.d.ts +1 -1
  298. package/dist/types/typechain-types/factories/@chainlink/contracts/src/v0.8/shared/access/ConfirmedOwner__factory.d.ts +1 -1
  299. package/dist/types/typechain-types/factories/@chainlink/contracts/src/v0.8/vrf/dev/libraries/VRFV2PlusClient__factory.d.ts +1 -1
  300. package/dist/types/typechain-types/factories/@chainlink/contracts/src/v0.8/vrf/index.d.ts +0 -2
  301. package/dist/types/typechain-types/factories/@chainlink/contracts/src/v0.8/vrf/mocks/VRFCoordinatorV2_5Mock__factory.d.ts +1 -1
  302. package/dist/types/typechain-types/factories/@openzeppelin/contracts/index.d.ts +1 -0
  303. package/dist/types/typechain-types/factories/@openzeppelin/contracts/interfaces/IERC1967__factory.d.ts +42 -0
  304. package/dist/types/typechain-types/factories/@openzeppelin/contracts/interfaces/index.d.ts +1 -0
  305. package/dist/types/typechain-types/factories/@openzeppelin/contracts/proxy/ERC1967/ERC1967Proxy__factory.d.ts +71 -0
  306. package/dist/types/typechain-types/factories/@openzeppelin/contracts/proxy/ERC1967/ERC1967Utils__factory.d.ts +50 -0
  307. package/dist/types/typechain-types/factories/@openzeppelin/contracts/proxy/ERC1967/index.d.ts +2 -0
  308. package/dist/types/typechain-types/factories/@openzeppelin/contracts/proxy/Proxy__factory.d.ts +10 -0
  309. package/dist/types/typechain-types/factories/@openzeppelin/contracts/proxy/beacon/IBeacon__factory.d.ts +17 -0
  310. package/dist/types/typechain-types/factories/@openzeppelin/contracts/proxy/beacon/index.d.ts +1 -0
  311. package/dist/types/typechain-types/factories/@openzeppelin/contracts/proxy/index.d.ts +4 -0
  312. package/dist/types/typechain-types/factories/@openzeppelin/contracts/proxy/transparent/ProxyAdmin__factory.d.ts +115 -0
  313. package/dist/types/typechain-types/factories/@openzeppelin/contracts/proxy/transparent/TransparentUpgradeableProxy.sol/ITransparentUpgradeableProxy__factory.d.ts +56 -0
  314. package/dist/types/typechain-types/factories/@openzeppelin/contracts/proxy/transparent/TransparentUpgradeableProxy.sol/TransparentUpgradeableProxy__factory.d.ts +102 -0
  315. package/dist/types/typechain-types/factories/@openzeppelin/contracts/proxy/transparent/TransparentUpgradeableProxy.sol/index.d.ts +2 -0
  316. package/dist/types/typechain-types/factories/@openzeppelin/contracts/proxy/transparent/index.d.ts +2 -0
  317. package/dist/types/typechain-types/factories/@openzeppelin/contracts/token/ERC20/utils/SafeERC20__factory.d.ts +1 -1
  318. package/dist/types/typechain-types/factories/@openzeppelin/contracts/utils/Address__factory.d.ts +1 -1
  319. package/dist/types/typechain-types/factories/@openzeppelin/contracts/utils/Errors__factory.d.ts +1 -1
  320. package/dist/types/typechain-types/factories/@openzeppelin/contracts/utils/ShortStrings__factory.d.ts +1 -1
  321. package/dist/types/typechain-types/factories/@openzeppelin/contracts/utils/Strings__factory.d.ts +1 -1
  322. package/dist/types/typechain-types/factories/@openzeppelin/contracts/utils/cryptography/ECDSA__factory.d.ts +1 -1
  323. package/dist/types/typechain-types/factories/@openzeppelin/contracts/utils/cryptography/MerkleProof__factory.d.ts +1 -1
  324. package/dist/types/typechain-types/factories/@openzeppelin/contracts/utils/math/SafeCast__factory.d.ts +1 -1
  325. package/dist/types/typechain-types/factories/@openzeppelin/contracts-upgradeable/utils/ReentrancyGuardUpgradeable__factory.d.ts +29 -0
  326. package/dist/types/typechain-types/factories/@openzeppelin/contracts-upgradeable/utils/index.d.ts +1 -0
  327. package/dist/types/typechain-types/factories/contracts/core/collectors/ERC20Collector__factory.d.ts +373 -0
  328. package/dist/types/typechain-types/factories/contracts/core/collectors/FeeCollector__factory.d.ts +214 -238
  329. package/dist/types/typechain-types/factories/contracts/core/collectors/NFTRoyaltyFeeCollector.sol/NFTRoyaltyFeeCollector__factory.d.ts +29 -3
  330. package/dist/types/typechain-types/factories/contracts/core/collectors/RAACTokenCollector__factory.d.ts +369 -0
  331. package/dist/types/typechain-types/factories/contracts/core/collectors/RWAIndexTokenCollector__factory.d.ts +369 -0
  332. package/dist/types/typechain-types/factories/contracts/core/collectors/Treasury__factory.d.ts +80 -59
  333. package/dist/types/typechain-types/factories/contracts/core/collectors/index.d.ts +3 -0
  334. package/dist/types/typechain-types/factories/contracts/core/governance/gauges/BaseGauge__factory.d.ts +159 -1
  335. package/dist/types/typechain-types/factories/contracts/core/governance/gauges/GaugeController__factory.d.ts +1 -1
  336. package/dist/types/typechain-types/factories/contracts/core/governance/gauges/GaugeRewardsDistributor__factory.d.ts +29 -1
  337. package/dist/types/typechain-types/factories/contracts/core/governance/gauges/RAACGauge__factory.d.ts +160 -2
  338. package/dist/types/typechain-types/factories/contracts/core/governance/gauges/RWAGauge__factory.d.ts +160 -2
  339. package/dist/types/typechain-types/factories/contracts/core/governance/proposals/Governance__factory.d.ts +14 -2
  340. package/dist/types/typechain-types/factories/contracts/core/governance/proposals/TimelockController__factory.d.ts +25 -1
  341. package/dist/types/typechain-types/factories/contracts/core/lockers/LLamaTemple__factory.d.ts +1 -1
  342. package/dist/types/typechain-types/factories/contracts/core/minters/RAACMinter/RAACMinter__factory.d.ts +1 -71
  343. package/dist/types/typechain-types/factories/contracts/core/minters/RAACReleaseOrchestrator/RAACReleaseOrchestrator__factory.d.ts +43 -10
  344. package/dist/types/typechain-types/factories/contracts/core/oracles/BaseChainlinkFunctionsOracle__factory.d.ts +128 -23
  345. package/dist/types/typechain-types/factories/contracts/core/oracles/BaseVRFv2Consumer__factory.d.ts +135 -14
  346. package/dist/types/typechain-types/factories/contracts/core/oracles/CrvUSDToUSDOracle.sol/CrvUSDToUSDOracle__factory.d.ts +443 -0
  347. package/dist/types/typechain-types/factories/contracts/core/oracles/CrvUSDToUSDOracle.sol/ICrvUSDToUSDOracle__factory.d.ts +45 -0
  348. package/dist/types/typechain-types/factories/contracts/{interfaces/IHousePrices__factory.d.ts → core/oracles/CrvUSDToUSDOracle.sol/ICrvUsdCurveOracle__factory.d.ts} +6 -6
  349. package/dist/types/typechain-types/factories/contracts/core/oracles/CrvUSDToUSDOracle.sol/index.d.ts +3 -0
  350. package/dist/types/typechain-types/factories/contracts/core/oracles/RAACHousePriceOracle__factory.d.ts +203 -28
  351. package/dist/types/typechain-types/factories/contracts/core/oracles/RAACPrimeRateOracle__factory.d.ts +153 -28
  352. package/dist/types/typechain-types/factories/contracts/{mocks/core/oracles/MockERC20PriceOracle.sol → core/oracles/RWAIndexTokenOracle.sol}/IPriceOracle__factory.d.ts +1 -1
  353. package/dist/types/typechain-types/factories/contracts/core/oracles/RWAIndexTokenOracle.sol/RWAIndexTokenOracle__factory.d.ts +74 -0
  354. package/dist/types/typechain-types/factories/contracts/core/oracles/RWAIndexTokenOracle.sol/index.d.ts +2 -0
  355. package/dist/types/typechain-types/factories/contracts/core/oracles/crvUSDPriceOracle.sol/CrvUSDPriceOracle__factory.d.ts +52 -0
  356. package/dist/types/typechain-types/factories/contracts/core/{vaults/ERC20VaultAdapter.sol → oracles/crvUSDPriceOracle.sol}/IPriceOracle__factory.d.ts +1 -1
  357. package/dist/types/typechain-types/factories/contracts/core/{vaults/ERC20VaultAdapter.sol → oracles/crvUSDPriceOracle.sol}/index.d.ts +1 -1
  358. package/dist/types/typechain-types/factories/contracts/core/oracles/index.d.ts +3 -0
  359. package/dist/types/typechain-types/factories/contracts/core/pools/LendingPool/ERC20AssetAdapter.sol/ERC20AssetAdapter__factory.d.ts +15 -1
  360. package/dist/types/typechain-types/factories/contracts/core/pools/LendingPool/{ERC721AssetAdapter.sol/ERC721AssetAdapter__factory.d.ts → ERC721AssetAdapter__factory.d.ts} +44 -4
  361. package/dist/types/typechain-types/factories/contracts/core/pools/LendingPool/LendingPoolStorage__factory.d.ts +103 -50
  362. package/dist/types/typechain-types/factories/contracts/core/pools/LendingPool/LendingPool__factory.d.ts +186 -173
  363. package/dist/types/typechain-types/factories/contracts/core/pools/LendingPool/LiquidationProxy__factory.d.ts +101 -56
  364. package/dist/types/typechain-types/factories/contracts/core/pools/LendingPool/VaultProxy__factory.d.ts +117 -48
  365. package/dist/types/typechain-types/factories/contracts/core/pools/LendingPool/index.d.ts +1 -1
  366. package/dist/types/typechain-types/factories/contracts/core/pools/StabilityPool/LiquidationStrategyProxy__factory.d.ts +70 -34
  367. package/dist/types/typechain-types/factories/contracts/core/pools/StabilityPool/LiquidationSwap__factory.d.ts +82 -8
  368. package/dist/types/typechain-types/factories/contracts/core/pools/StabilityPool/StabilityPoolStorage__factory.d.ts +58 -34
  369. package/dist/types/typechain-types/factories/contracts/core/pools/StabilityPool/StabilityPool__factory.d.ts +344 -109
  370. package/dist/types/typechain-types/factories/contracts/core/primitives/{ComplianceRegistry__factory.d.ts → ComplianceRegistry.sol/ComplianceRegistry__factory.d.ts} +47 -3
  371. package/dist/types/typechain-types/factories/contracts/core/primitives/ComplianceRegistry.sol/SanctionsList__factory.d.ts +21 -0
  372. package/dist/types/typechain-types/factories/contracts/core/primitives/ComplianceRegistry.sol/index.d.ts +2 -0
  373. package/dist/types/typechain-types/factories/contracts/core/primitives/RAACHousePrices__factory.d.ts +174 -8
  374. package/dist/types/typechain-types/factories/contracts/core/primitives/index.d.ts +1 -1
  375. package/dist/types/typechain-types/factories/contracts/core/tokens/DEToken__factory.d.ts +87 -9
  376. package/dist/types/typechain-types/factories/contracts/core/tokens/DebtToken__factory.d.ts +15 -168
  377. package/dist/types/typechain-types/factories/contracts/core/tokens/LPToken__factory.d.ts +1 -1
  378. package/dist/types/typechain-types/factories/contracts/core/tokens/RAACNFT__factory.d.ts +213 -24
  379. package/dist/types/typechain-types/factories/contracts/core/tokens/RAACToken__factory.d.ts +1 -1
  380. package/dist/types/typechain-types/factories/contracts/core/tokens/RToken__factory.d.ts +40 -32
  381. package/dist/types/typechain-types/factories/contracts/core/tokens/RWAIndexToken__factory.d.ts +22 -4
  382. package/dist/types/typechain-types/factories/contracts/core/tokens/VeRAACToken__factory.d.ts +1 -1
  383. package/dist/types/typechain-types/factories/contracts/core/vaults/{ERC20VaultAdapter.sol/ERC20VaultAdapter__factory.d.ts → ERC20VaultAdapter__factory.d.ts} +15 -9
  384. package/dist/types/typechain-types/factories/contracts/core/vaults/ERC721VaultAdapter__factory.d.ts +347 -0
  385. package/dist/types/typechain-types/factories/contracts/core/vaults/RAACNFTVaultAdapterV2__factory.d.ts +417 -0
  386. package/dist/types/typechain-types/factories/contracts/core/vaults/RWAVault__factory.d.ts +318 -86
  387. package/dist/types/typechain-types/factories/contracts/core/vaults/index.d.ts +3 -2
  388. package/dist/types/typechain-types/factories/contracts/interfaces/IComplianceRegistry__factory.d.ts +4 -0
  389. package/dist/types/typechain-types/factories/contracts/interfaces/core/collectors/IDistributionTarget__factory.d.ts +39 -0
  390. package/dist/types/typechain-types/factories/contracts/interfaces/core/collectors/IFeeCollector__factory.d.ts +131 -95
  391. package/dist/types/typechain-types/factories/contracts/interfaces/core/collectors/ITreasury__factory.d.ts +20 -49
  392. package/dist/types/typechain-types/factories/contracts/interfaces/core/collectors/index.d.ts +1 -0
  393. package/dist/types/typechain-types/factories/contracts/interfaces/core/governance/gauges/IBaseGauge__factory.d.ts +133 -1
  394. package/dist/types/typechain-types/factories/contracts/interfaces/core/governance/proposals/IGovernance__factory.d.ts +13 -1
  395. package/dist/types/typechain-types/factories/contracts/interfaces/core/governance/proposals/ITimelockController__factory.d.ts +24 -0
  396. package/dist/types/typechain-types/factories/contracts/interfaces/core/minters/RAACMinter/IRAACMinter__factory.d.ts +0 -60
  397. package/dist/types/typechain-types/factories/contracts/interfaces/core/minters/RAACReleaseOrchestrator/IReleaseOrchestrator__factory.d.ts +19 -16
  398. package/dist/types/typechain-types/factories/contracts/interfaces/core/oracles/IBaseVRFv2Consumer__factory.d.ts +52 -1
  399. package/dist/types/typechain-types/factories/contracts/interfaces/core/oracles/IERC20PriceOracle__factory.d.ts +17 -0
  400. package/dist/types/typechain-types/factories/contracts/{core/vaults/ERC721VaultAdapter.sol/IPriceOracle__factory.d.ts → interfaces/core/oracles/IERC721PriceOracle__factory.d.ts} +8 -4
  401. package/dist/types/typechain-types/factories/contracts/interfaces/core/oracles/IRAACHousePriceOracle__factory.d.ts +21 -0
  402. package/dist/types/typechain-types/factories/contracts/interfaces/core/oracles/IRAACHousePrices.sol/IRAACHousePriceSyncer__factory.d.ts +59 -0
  403. package/dist/types/typechain-types/factories/contracts/interfaces/core/oracles/IRAACHousePrices.sol/IRAACHousePrices__factory.d.ts +67 -0
  404. package/dist/types/typechain-types/factories/contracts/interfaces/core/oracles/IRAACHousePrices.sol/index.d.ts +2 -0
  405. package/dist/types/typechain-types/factories/contracts/interfaces/core/oracles/IZKMEVerifyUpgradeable__factory.d.ts +25 -0
  406. package/dist/types/typechain-types/factories/contracts/interfaces/core/oracles/index.d.ts +5 -1
  407. package/dist/types/typechain-types/factories/contracts/interfaces/core/pools/ILiquidityPool__factory.d.ts +26 -10
  408. package/dist/types/typechain-types/factories/contracts/interfaces/core/pools/LendingPool/IAssetAdapter__factory.d.ts +14 -0
  409. package/dist/types/typechain-types/factories/contracts/interfaces/core/pools/LendingPool/ILendingPoolStorage__factory.d.ts +53 -0
  410. package/dist/types/typechain-types/factories/contracts/interfaces/core/pools/LendingPool/ILendingPool__factory.d.ts +113 -92
  411. package/dist/types/typechain-types/factories/contracts/interfaces/core/pools/StabilityPool/ILiquidationSwap__factory.d.ts +12 -0
  412. package/dist/types/typechain-types/factories/contracts/interfaces/core/pools/StabilityPool/IStabilityPool__factory.d.ts +236 -41
  413. package/dist/types/typechain-types/factories/contracts/interfaces/core/tokens/IDEToken__factory.d.ts +70 -0
  414. package/dist/types/typechain-types/factories/contracts/interfaces/core/tokens/IDebtToken__factory.d.ts +10 -16
  415. package/dist/types/typechain-types/factories/contracts/interfaces/core/tokens/IRAACNFT__factory.d.ts +122 -22
  416. package/dist/types/typechain-types/factories/contracts/interfaces/core/tokens/IRToken__factory.d.ts +19 -29
  417. package/dist/types/typechain-types/factories/contracts/interfaces/core/vaults/IBaseHybridVault__factory.d.ts +301 -19
  418. package/dist/types/typechain-types/factories/contracts/interfaces/{IPoolManager__factory.d.ts → core/vaults/IERC721VaultAdapter__factory.d.ts} +20 -22
  419. package/dist/types/typechain-types/factories/contracts/interfaces/core/vaults/IVaultAssetAdapter__factory.d.ts +0 -4
  420. package/dist/types/typechain-types/factories/contracts/interfaces/core/vaults/index.d.ts +1 -0
  421. package/dist/types/typechain-types/factories/contracts/interfaces/curve/ICurveCrvUSDVault__factory.d.ts +64 -0
  422. package/dist/types/typechain-types/factories/contracts/interfaces/zeno/IAuction__factory.d.ts +4 -0
  423. package/dist/types/typechain-types/factories/contracts/libraries/governance/BoostCalculator__factory.d.ts +1 -1
  424. package/dist/types/typechain-types/factories/contracts/libraries/governance/LockManager__factory.d.ts +1 -1
  425. package/dist/types/typechain-types/factories/contracts/libraries/governance/PowerCheckpoint__factory.d.ts +1 -1
  426. package/dist/types/typechain-types/factories/contracts/libraries/math/TimeWeightedAverage__factory.d.ts +1 -1
  427. package/dist/types/typechain-types/factories/contracts/libraries/pools/LendingPoolFeeLibrary__factory.d.ts +42 -0
  428. package/dist/types/typechain-types/factories/contracts/libraries/pools/ReserveLibrary__factory.d.ts +1 -1
  429. package/dist/types/typechain-types/factories/contracts/libraries/pools/index.d.ts +1 -0
  430. package/dist/types/typechain-types/factories/contracts/libraries/utils/StringUtils__factory.d.ts +1 -1
  431. package/dist/types/typechain-types/factories/contracts/mocks/core/collectors/MockTreasury__factory.d.ts +21 -68
  432. package/dist/types/typechain-types/factories/contracts/mocks/core/collectors/MockWETH__factory.d.ts +1 -1
  433. package/dist/types/typechain-types/factories/contracts/mocks/core/curve/CurveCrvUSDVaultMock__factory.d.ts +651 -0
  434. package/dist/types/typechain-types/factories/contracts/mocks/core/curve/CurveLiquidityGaugeV5Mock.sol/CurveLiquidityGaugeV5Mock__factory.d.ts +1 -1
  435. package/dist/types/typechain-types/factories/contracts/mocks/core/curve/index.d.ts +1 -0
  436. package/dist/types/typechain-types/factories/contracts/mocks/core/governance/gauges/MockGaugeController__factory.d.ts +1 -1
  437. package/dist/types/typechain-types/factories/contracts/mocks/core/governance/proposals/TimelockPayableTestTarget__factory.d.ts +65 -0
  438. package/dist/types/typechain-types/factories/contracts/mocks/core/governance/proposals/TimelockTestTarget__factory.d.ts +1 -1
  439. package/dist/types/typechain-types/factories/contracts/mocks/core/governance/proposals/index.d.ts +1 -0
  440. package/dist/types/typechain-types/factories/contracts/mocks/core/lockers/LLamaLocker.sol/LlamaLocker__factory.d.ts +1 -1
  441. package/dist/types/typechain-types/factories/contracts/mocks/core/oracles/MockChainlinkAggregator__factory.d.ts +168 -0
  442. package/dist/types/typechain-types/factories/contracts/{core/pools/LendingPool/ERC721AssetAdapter.sol/IPriceOracle__factory.d.ts → mocks/core/oracles/MockCurveEMA.sol/ICrvUsdCurveOracle__factory.d.ts} +7 -7
  443. package/dist/types/typechain-types/factories/contracts/mocks/core/oracles/MockCurveEMA.sol/MockCurveEMA__factory.d.ts +98 -0
  444. package/dist/types/typechain-types/factories/contracts/mocks/core/oracles/MockCurveEMA.sol/index.d.ts +2 -0
  445. package/dist/types/typechain-types/factories/contracts/mocks/core/oracles/{MockERC20PriceOracle.sol/MockERC20PriceOracle__factory.d.ts → MockERC20PriceOracle__factory.d.ts} +3 -3
  446. package/dist/types/typechain-types/factories/contracts/mocks/core/oracles/MockFunctionsRouter.sol/MockFunctionsRouter__factory.d.ts +1 -1
  447. package/dist/types/typechain-types/factories/contracts/mocks/core/oracles/MockOracle__factory.d.ts +1 -1
  448. package/dist/types/typechain-types/factories/contracts/mocks/core/oracles/MockRAACNFTVaultAdapterNAVOracle__factory.d.ts +242 -0
  449. package/dist/types/typechain-types/factories/contracts/mocks/core/oracles/MockVRFCoordinatorV2__factory.d.ts +1 -1
  450. package/dist/types/typechain-types/factories/contracts/mocks/core/oracles/MockZKMEVerifyUpgradeable__factory.d.ts +184 -0
  451. package/dist/types/typechain-types/factories/contracts/mocks/core/oracles/TestRAACHousePriceOracle__factory.d.ts +203 -28
  452. package/dist/types/typechain-types/factories/contracts/mocks/core/oracles/TestRAACPrimeRateOracle__factory.d.ts +153 -28
  453. package/dist/types/typechain-types/factories/contracts/mocks/core/oracles/index.d.ts +5 -1
  454. package/dist/types/typechain-types/factories/contracts/mocks/core/pools/CurveStyleCrvUSDiRAACPool__factory.d.ts +938 -0
  455. package/dist/types/typechain-types/factories/contracts/mocks/core/pools/MockLendingPoolCollector__factory.d.ts +9 -11
  456. package/dist/types/typechain-types/factories/contracts/mocks/core/pools/MockLendingPoolDebtToken__factory.d.ts +114 -83
  457. package/dist/types/typechain-types/factories/contracts/mocks/core/pools/MockLendingPool__factory.d.ts +15 -19
  458. package/dist/types/typechain-types/factories/contracts/mocks/core/pools/MockLiquidityPool__factory.d.ts +27 -11
  459. package/dist/types/typechain-types/factories/contracts/mocks/core/pools/MockPool__factory.d.ts +1 -1
  460. package/dist/types/typechain-types/factories/contracts/mocks/core/pools/MockStabilityPool__factory.d.ts +1 -1
  461. package/dist/types/typechain-types/factories/contracts/mocks/core/pools/index.d.ts +1 -0
  462. package/dist/types/typechain-types/factories/contracts/mocks/core/primitives/MockChainAnalysis.sol/MockChainAnalysis__factory.d.ts +50 -0
  463. package/dist/types/typechain-types/factories/contracts/mocks/core/primitives/MockChainAnalysis.sol/SanctionsList__factory.d.ts +21 -0
  464. package/dist/types/typechain-types/factories/contracts/mocks/core/primitives/MockChainAnalysis.sol/index.d.ts +2 -0
  465. package/dist/types/typechain-types/factories/contracts/mocks/core/primitives/MockContractWithConfig__factory.d.ts +1 -1
  466. package/dist/types/typechain-types/factories/contracts/mocks/core/primitives/MockContract__factory.d.ts +1 -1
  467. package/dist/types/typechain-types/factories/contracts/mocks/core/primitives/MockDistributableContract__factory.d.ts +15 -1
  468. package/dist/types/typechain-types/factories/contracts/mocks/core/primitives/RAACHousePricesMock__factory.d.ts +1 -1
  469. package/dist/types/typechain-types/factories/contracts/mocks/core/primitives/index.d.ts +1 -0
  470. package/dist/types/typechain-types/factories/contracts/mocks/core/tokens/CrvUSDTokenLimited__factory.d.ts +431 -0
  471. package/dist/types/typechain-types/factories/contracts/mocks/core/tokens/CrvUSDToken__factory.d.ts +1 -1
  472. package/dist/types/typechain-types/factories/contracts/mocks/core/tokens/ERC20Mock__factory.d.ts +1 -1
  473. package/dist/types/typechain-types/factories/contracts/mocks/core/tokens/ERC721Mock__factory.d.ts +1 -1
  474. package/dist/types/typechain-types/factories/contracts/mocks/core/tokens/MockCollectableUnderlying__factory.d.ts +1 -1
  475. package/dist/types/typechain-types/factories/contracts/mocks/core/tokens/MockFeeCollectorToken__factory.d.ts +1 -1
  476. package/dist/types/typechain-types/factories/contracts/mocks/core/tokens/MockToken__factory.d.ts +1 -1
  477. package/dist/types/typechain-types/factories/contracts/mocks/core/tokens/MockUSDC__factory.d.ts +1 -1
  478. package/dist/types/typechain-types/factories/contracts/mocks/core/tokens/RAACMockERC20__factory.d.ts +1 -1
  479. package/dist/types/typechain-types/factories/contracts/mocks/core/tokens/index.d.ts +1 -0
  480. package/dist/types/typechain-types/factories/contracts/mocks/core/vaults/MockVault__factory.d.ts +1 -1
  481. package/dist/types/typechain-types/factories/contracts/mocks/libraries/MockStringUtils__factory.d.ts +1 -1
  482. package/dist/types/typechain-types/factories/contracts/mocks/libraries/governance/BoostCalculatorMock__factory.d.ts +1 -1
  483. package/dist/types/typechain-types/factories/contracts/mocks/libraries/governance/LockManagerMock__factory.d.ts +1 -1
  484. package/dist/types/typechain-types/factories/contracts/mocks/libraries/governance/PowerCheckpointMock__factory.d.ts +1 -1
  485. package/dist/types/typechain-types/factories/contracts/mocks/libraries/math/TimeWeightedAverageMock__factory.d.ts +1 -1
  486. package/dist/types/typechain-types/factories/contracts/mocks/libraries/math/WadRayMathMock__factory.d.ts +1 -1
  487. package/dist/types/typechain-types/factories/contracts/mocks/libraries/pools/ReserveLibraryMockCalculation__factory.d.ts +228 -0
  488. package/dist/types/typechain-types/factories/contracts/mocks/libraries/pools/ReserveLibraryMock__factory.d.ts +23 -5
  489. package/dist/types/typechain-types/factories/contracts/mocks/libraries/pools/index.d.ts +1 -0
  490. package/dist/types/typechain-types/factories/contracts/mocks/tests/MaliciousDeposit__factory.d.ts +1 -1
  491. package/dist/types/typechain-types/factories/contracts/mocks/tests/MaliciousWithdraw__factory.d.ts +1 -1
  492. package/dist/types/typechain-types/factories/contracts/mocks/tests/VeRAACFuzzHelper__factory.d.ts +1 -1
  493. package/dist/types/typechain-types/factories/contracts/zeno/AuctionFactory__factory.d.ts +34 -1
  494. package/dist/types/typechain-types/factories/contracts/zeno/Auction__factory.d.ts +44 -1
  495. package/dist/types/typechain-types/factories/contracts/zeno/ZENOFactory__factory.d.ts +1 -1
  496. package/dist/types/typechain-types/factories/contracts/zeno/ZENO__factory.d.ts +1 -1
  497. package/dist/types/typechain-types/index.d.ts +88 -18
  498. package/dist/types/utils/artifacts.d.ts +997 -284
  499. package/dist/types/utils/contracts.d.ts +6 -2
  500. package/dist/types/utils/errorDecoder.d.ts +37 -0
  501. package/dist/types/wallet/assets/approveNFT.d.ts +0 -0
  502. package/dist/types/wallet/assets/getAllowance.d.ts +1 -1
  503. package/dist/types/wallet/assets/getBalance.d.ts +2 -6
  504. package/dist/utils/artifacts.js +16 -0
  505. package/dist/utils/errorDecoder.js +137 -0
  506. package/dist/wallet/assets/approveNFT.js +0 -0
  507. package/dist/wallet/assets/getAllowance.js +3 -3
  508. package/dist/wallet/assets/getBalance.js +9 -5
  509. package/package.json +11 -8
  510. package/dist/pools/lendingPool/getWithdrawRequestInfo.js +0 -25
  511. package/dist/types/pools/lendingPool/getWithdrawRequestInfo.d.ts +0 -8
  512. package/dist/types/typechain-types/@chainlink/contracts/src/v0.8/vrf/interfaces/VRFCoordinatorV2Interface.d.ts +0 -156
  513. package/dist/types/typechain-types/@chainlink/contracts/src/v0.8/vrf/interfaces/index.d.ts +0 -1
  514. package/dist/types/typechain-types/contracts/core/governance/boost/BoostController.d.ts +0 -573
  515. package/dist/types/typechain-types/contracts/core/governance/boost/index.d.ts +0 -1
  516. package/dist/types/typechain-types/contracts/core/pools/LendingPool/ERC721AssetAdapter.sol/index.d.ts +0 -2
  517. package/dist/types/typechain-types/contracts/core/pools/StabilityPool/NFTLiquidator.d.ts +0 -283
  518. package/dist/types/typechain-types/contracts/core/vaults/ERC20VaultAdapter.sol/index.d.ts +0 -2
  519. package/dist/types/typechain-types/contracts/core/vaults/ERC721VaultAdapter.sol/index.d.ts +0 -2
  520. package/dist/types/typechain-types/contracts/interfaces/IPoolManager.d.ts +0 -37
  521. package/dist/types/typechain-types/contracts/interfaces/IReserveAllocationLibraryMock.d.ts +0 -164
  522. package/dist/types/typechain-types/contracts/interfaces/IveRAACDistributor.d.ts +0 -59
  523. package/dist/types/typechain-types/contracts/interfaces/core/governance/IBoostController.d.ts +0 -269
  524. package/dist/types/typechain-types/contracts/interfaces/core/governance/gauges/IGauge.d.ts +0 -235
  525. package/dist/types/typechain-types/contracts/interfaces/core/oracles/IRAACHousePrices.d.ts +0 -117
  526. package/dist/types/typechain-types/contracts/libraries/governance/Checkpoints.d.ts +0 -55
  527. package/dist/types/typechain-types/contracts/libraries/governance/RAACVoting.d.ts +0 -45
  528. package/dist/types/typechain-types/contracts/libraries/governance/VotingPowerLib.d.ts +0 -66
  529. package/dist/types/typechain-types/contracts/mocks/core/governance/gauges/MockBaseGauge.d.ts +0 -845
  530. package/dist/types/typechain-types/contracts/mocks/core/oracles/MockERC20PriceOracle.sol/index.d.ts +0 -2
  531. package/dist/types/typechain-types/contracts/mocks/core/tokens/MockVeToken.d.ts +0 -510
  532. package/dist/types/typechain-types/contracts/mocks/libraries/governance/CheckpointsMock.d.ts +0 -83
  533. package/dist/types/typechain-types/contracts/mocks/libraries/governance/VotingPowerMock.d.ts +0 -281
  534. package/dist/types/typechain-types/contracts/mocks/tests/VotingPowerFuzzHelper.sol/VotingPowerFuzzHelper.d.ts +0 -100
  535. package/dist/types/typechain-types/contracts/mocks/tests/VotingPowerFuzzHelper.sol/index.d.ts +0 -2
  536. package/dist/types/typechain-types/factories/@chainlink/contracts/src/v0.8/vrf/VRFConsumerBaseV2__factory.d.ts +0 -33
  537. package/dist/types/typechain-types/factories/@chainlink/contracts/src/v0.8/vrf/interfaces/VRFCoordinatorV2Interface__factory.d.ts +0 -171
  538. package/dist/types/typechain-types/factories/@chainlink/contracts/src/v0.8/vrf/interfaces/index.d.ts +0 -1
  539. package/dist/types/typechain-types/factories/@openzeppelin/contracts/utils/math/Math__factory.d.ts +0 -26
  540. package/dist/types/typechain-types/factories/contracts/core/governance/boost/BoostController__factory.d.ts +0 -716
  541. package/dist/types/typechain-types/factories/contracts/core/governance/boost/index.d.ts +0 -1
  542. package/dist/types/typechain-types/factories/contracts/core/pools/LendingPool/ERC721AssetAdapter.sol/index.d.ts +0 -2
  543. package/dist/types/typechain-types/factories/contracts/core/pools/StabilityPool/NFTLiquidator__factory.d.ts +0 -390
  544. package/dist/types/typechain-types/factories/contracts/core/tokens/IndexToken__factory.d.ts +0 -602
  545. package/dist/types/typechain-types/factories/contracts/core/vaults/ERC721VaultAdapter.sol/ERC721VaultAdapter__factory.d.ts +0 -287
  546. package/dist/types/typechain-types/factories/contracts/core/vaults/ERC721VaultAdapter.sol/index.d.ts +0 -2
  547. package/dist/types/typechain-types/factories/contracts/interfaces/IReserveAllocationLibraryMock__factory.d.ts +0 -189
  548. package/dist/types/typechain-types/factories/contracts/interfaces/IveRAACDistributor__factory.d.ts +0 -75
  549. package/dist/types/typechain-types/factories/contracts/interfaces/core/governance/IBoostController__factory.d.ts +0 -295
  550. package/dist/types/typechain-types/factories/contracts/interfaces/core/governance/gauges/IGauge__factory.d.ts +0 -307
  551. package/dist/types/typechain-types/factories/contracts/interfaces/core/oracles/IRAACHousePrices__factory.d.ts +0 -141
  552. package/dist/types/typechain-types/factories/contracts/libraries/governance/Checkpoints__factory.d.ts +0 -68
  553. package/dist/types/typechain-types/factories/contracts/libraries/governance/RAACVoting__factory.d.ts +0 -92
  554. package/dist/types/typechain-types/factories/contracts/libraries/governance/VotingPowerLib__factory.d.ts +0 -74
  555. package/dist/types/typechain-types/factories/contracts/mocks/core/governance/gauges/MockBaseGauge__factory.d.ts +0 -1194
  556. package/dist/types/typechain-types/factories/contracts/mocks/core/oracles/MockERC20PriceOracle.sol/index.d.ts +0 -2
  557. package/dist/types/typechain-types/factories/contracts/mocks/core/tokens/MockVeToken__factory.d.ts +0 -714
  558. package/dist/types/typechain-types/factories/contracts/mocks/libraries/governance/CheckpointsMock__factory.d.ts +0 -124
  559. package/dist/types/typechain-types/factories/contracts/mocks/libraries/governance/RAACVotingMock__factory.d.ts +0 -70
  560. package/dist/types/typechain-types/factories/contracts/mocks/libraries/governance/VotingPowerMock__factory.d.ts +0 -341
  561. package/dist/types/typechain-types/factories/contracts/mocks/tests/VotingPowerFuzzHelper.sol/IVMTimeControl__factory.d.ts +0 -17
  562. package/dist/types/typechain-types/factories/contracts/mocks/tests/VotingPowerFuzzHelper.sol/VotingPowerFuzzHelper__factory.d.ts +0 -113
  563. package/dist/types/typechain-types/factories/contracts/mocks/tests/VotingPowerFuzzHelper.sol/index.d.ts +0 -2
  564. /package/dist/types/pools/{lendingPool → stabilityPool}/requestWithdraw.d.ts +0 -0
  565. /package/dist/types/typechain-types/contracts/core/{vaults/ERC20VaultAdapter.sol → oracles/RWAIndexTokenOracle.sol}/IPriceOracle.d.ts +0 -0
@@ -14,7 +14,7 @@ export declare class RWAGauge__factory extends ContractFactory {
14
14
  deploymentTransaction(): ContractTransactionResponse;
15
15
  }>;
16
16
  connect(runner: ContractRunner | null): RWAGauge__factory;
17
- static readonly bytecode = "0x610100346200026157601f62004ebf38819003918201601f191683019291906001600160401b03841183851017620002665781606092849260409687528339810103126200026157620000b262000056826200027c565b9162000072846200006a602084016200027c565b92016200027c565b600160009081556001600160a01b0394851660805291841660a05260e081905292831660c05262278d0060205591620000ab33620002b5565b5062000336565b50620000be33620003d9565b50620000ca3362000477565b50620000d63362000515565b506020549081156200024d5781420482810290808204841490151715620002395782620001039162000291565b91826014556a0211654585005212800000601255600b54801515908162000220575b506200020f57916060917f0792cf7388f234e543a10a68aeb7b96568fb90b55ddc2b2945961c80a3c3a0829382600b5562000161818462000291565b600c5582600d5581600e5581600f55806010556127106011558551928352602083015284820152a1516148eb9081620005b482396080518181816103f80152818161106b01526124f8015260a05181818161100401528181611be5015261248e015260c05181611766015260e05181818161043b01528181610f6b015281816114a0015281816134520152818161376801528181613c1a01528181613ca601528181613d6b01526144d60152f35b835163f0aaee6560e01b8152600490fd5b6200023091506010549062000291565b83103862000125565b634e487b7160e01b82526011600452602482fd5b634e487b7160e01b81526012600452602490fd5b600080fd5b634e487b7160e01b600052604160045260246000fd5b51906001600160a01b03821682036200026157565b919082018092116200029f57565b634e487b7160e01b600052601160045260246000fd5b6001600160a01b031660008181527fa6eef7e35abe7026729641147f7915573c7e97b47efa546f5f6e3230263bcb49602052604081205490919060ff16620003325781805260016020526040822081835260205260408220600160ff19825416179055339160008051602062004e9f8339815191528180a4600190565b5090565b6001600160a01b031660008181527fc3eac9ead20d697480ab489ced881761c627fd3281937449e4d4d7fbf9faa2cd60205260408120549091907f7b765e0e932d348852a6f810bfa1ab891e259123f02db8cdcde614c5702233579060ff16620003d45780835260016020526040832082845260205260408320600160ff1982541617905560008051602062004e9f833981519152339380a4600190565b505090565b6001600160a01b031660008181527fbb55feefbbeeb450791a2805b5c4f111914a5147fd3ab1f161e7773d871abcc360205260408120549091907ffda1ae526c1fb38407f23e8b7712f7cfacc146f3e340a04221488331e0d420149060ff16620003d45780835260016020526040832082845260205260408320600160ff1982541617905560008051602062004e9f833981519152339380a4600190565b6001600160a01b031660008181527f0298389358dc4e56cb082b3bb11d0524b39b30d4fc48a48562a008cd6edee05f60205260408120549091907f5c91514091af31f62f596a314af7d5be40146b2f2355969392f055e12e0982fb9060ff16620003d45780835260016020526040832082845260205260408320600160ff1982541617905560008051602062004e9f833981519152339380a4600190565b6001600160a01b031660008181527fb430885b2fd8ad5c711883989efa8a81a8244e77d7ee19caf947074a66cbfadf60205260408120549091907fa1496c3abf9cd93b84db10ae569b57fafa04deeeb7ece4167616ad50e35bc56e9060ff16620003d45780835260016020526040832082845260205260408320600160ff1982541617905560008051602062004e9f833981519152339380a460019056fe608060408181526004918236101561001657600080fd5b600092833560e01c91826301ffc9a714612b815750816304a6f57614612b49578163092c5b3b14612b205781630943832014612a9a5781630a58b40e14612a395781630bfa248014612a1c5781630d15fd77146129fd57816318160ddd146129de5781631c3ebaeb14611ced578163211dc32d146129b0578163248a9ca31461298657816324ab066c14610b5857816328cae71e146129275781632d5ce3e61461288b5781632e1a7d4d1461241a5781632e46da29146123c85781632f2ff15d1461239e57816336568abe14612358578163372500ab146121dc5781633b946c7114611f6e5781633fba284a14611f4f57816348e5d9f814611ede578163588fcfd814611ec25781635953279e14611e9e5781635c975abb14611e7a5781636219015014611e2f578163671ee22714611cf25781637001f4bb14611ced5781637035ab9814611ca457816370a0823114611c6c578163728e4a6714611c1457816372f702f314611bd0578163750e1c0914611a8b5781637b0a47ee14611a6c5781637bb7bed114611a415781637c2d6e01146119dd57816380ac8228146119af57816382fd8e5d1461198957816390e87986146118fd578163912acbd9146118c157816391d148541461187a578163958da8de1461184257816395ccea67146117d6578163994e8f261461179557816399eecb3b146117515781639d0ab89f146116115781639e0092cb14611452578163a042e48d14611411578163a217fddf146113f6578163a4d24b5c146113ba578163a694fc3a14610f12578163a83627de14610ead578163b470aade14610e8f578163b66503cf14610e56578163b7f1aca814610dc6578163be3dd87a14610da0578163c4f59f9b14610ca5578163c8562f7214610c86578163c8f33c9114610c67578163c925c68014610c41578163ca37271b14610c08578163cc64278414610bc0578163cd63d93014610ba1578163d1ab58f414610b58578163d547741f14610b15578163d5999a5c14610af7578163d6585ecf14610ace578163d700c18b14610a6b578163d70afa9614610a42578163dcda162c14610a07578163dd89b7361461090d578163df136d65146108ee578163e70b9e27146108a5578163ea8d6e61146107d2578163ebe2b12b146107af578163ecc68a291461060d578163f06e22b81461048757508063f4359ce51461046a578063f77c479114610427578063f7c618c1146103e45763fe7743e9146103a057600080fd5b346103e05760203660031901126103e0576103d9602092826103c0612bd4565b6001600160a01b03811683526022865291205490613d17565b9051908152f35b5080fd5b50346103e057816003193601126103e057517f00000000000000000000000000000000000000000000000000000000000000006001600160a01b03168152602090f35b50346103e057816003193601126103e057517f00000000000000000000000000000000000000000000000000000000000000006001600160a01b03168152602090f35b50346103e057816003193601126103e0576020905162093a808152f35b82843461060a578060031936011261060a578080601554905b8181106105af575b50506001600160a01b0391821691821561059f5783519263133dac2960e11b8452308685015260249583858881855afa948515610595578495610571575b50835b855181101561056d576105239060208986828460051b8b010151169182895252838988200185815488811615610528575b50505050612f71565b6104e9565b6001600160a01b03191617905561053e81613f9f565b1561054c575b80858161051a565b6105558161324b565b6000805160206147b68339815191528780a289610544565b8480f35b61058e9195503d8086833e6105868183612d88565b8101906131a2565b93876104e6565b86513d86823e3d90fd5b5050505163dc1669a360e01b8152fd5b6105b881612cc2565b60018060a01b03809254600392831b1c168552602560205260ff8786205460a01c166105ee5750506105e990612f71565b6104a0565b92509293506105fc90612cc2565b9054911b1c169084806104a8565b80fd5b82843461060a578160031936011261060a57610627612bd4565b61062f612bef565b90610638612dab565b60018060a01b039182821691828552602091602483526002878720015461079f57841690811561078f57865163313ce56760e01b815283818a81885afa879181610760575b5061069257875163552b2fcd60e01b81528990fd5b9188918893868952602b865260ff858a20911660ff19825416179055878897601754985b898110610728575b505060019596975015610719575b508587526024855282872091820190848060a01b031982541617905560024291015560246106fb84544261326e565b9385875252842001556000805160206147b68339815191528280a280f35b6107229061324b565b876106cc565b888261073383612ca7565b90549060031b1c161461074e5761074990612f71565b6106b6565b5096975087965060019050808a6106be565b610781919250853d8711610788575b6107798183612d88565b81019061357a565b908a61067d565b503d61076f565b8651635c187b8d60e01b81528890fd5b865163185add2960e11b81528890fd5b5050346103e057816003193601126103e0576020906103d9601b5483549061326e565b8383346103e057816003193601126103e05780519160e08301906001600160401b03821184831017610892575061014093508152600b5491828152600c549160208201928352600d5491818101928352600e5460608201908152600f54608083019081526010549160a0840192835260c0601154940193845260125494601354966014549882519a8b525160208b015251908901525160608801525160808701525160a08601525160c085015260e0840152610100830152610120820152f35b634e487b7160e01b815260418552602490fd5b5050346103e057806003193601126103e057806020926108c3612bd4565b6108cb612bef565b6001600160a01b0391821683526028865283832091168252845220549051908152f35b5050346103e057816003193601126103e057602090601c549051908152f35b5050346103e057816003193601126103e057610927612f4e565b815b6017548110156109d6578061094061097c92612ca7565b9054600391821b1c6001600160a01b0316808652602460209081528587209192909161096c3385613593565b80610981575b5050505050612f71565b610929565b84895260288452878920338a52845261099e888a2091825461326e565b9055838852602a83528688203389528352426001888a2001550154918652602781528486209033875252838520553880808080610972565b50514281527e745e876c45796ea32ef5ef1bcbf9cef81cfd16666c9364caa1cb8a6ddbd67660203392a26001815580f35b5050346103e057816003193601126103e057602090517ffda1ae526c1fb38407f23e8b7712f7cfacc146f3e340a04221488331e0d420148152f35b5050346103e057816003193601126103e057602090516000805160206148768339815191528152f35b5050346103e057806003193601126103e0578091610a87612bd4565b610a8f612bef565b6001600160a01b039182168352602a60209081528484209290911683525220805460018201546002909201549251928392610aca9284612c91565b0390f35b5050346103e057816003193601126103e057602090516000805160206147f68339815191528152f35b5050346103e057816003193601126103e0576020905162278d008152f35b91905034610b545780600319360112610b5457610b509135610b4b6001610b3a612bef565b938387528160205286200154612e13565b612eb9565b5080f35b8280fd5b5050346103e057806003193601126103e05780602092610b76612bd4565b610b7e612bef565b6001600160a01b0391821683526029865283832091168252845220549051908152f35b5050346103e057816003193601126103e057602090601d549051908152f35b82843461060a57602036600319011261060a576001600160a01b039060ff90839083610bea612bd4565b168152602560205220548351928116835260a01c1615156020820152f35b5050346103e05760203660031901126103e057906020916001610c39610c2c612bd4565b610c34612f4e565b612f96565b925551908152f35b5050346103e05760203660031901126103e0576020906103d9610c62612bd4565b6144b9565b5050346103e057816003193601126103e057602090601b549051908152f35b5050346103e057816003193601126103e0576020906018549051908152f35b91905034610b545782600319360112610b54578283601554905b818110610d47575b50506001600160a01b0316918215610d39578390602483518095819363133dac2960e11b835230908301525afa918215610d2f5783610aca9493610d12575b50505191829182612cf8565b610d279293503d8091833e6105868183612d88565b903880610d06565b81513d85823e3d90fd5b905163dc1669a360e01b8152fd5b610d5081612cc2565b60018060a01b03809254600392831b1c168852602560205260ff8689205460a01c16610d86575050610d8190612f71565b610cbf565b92509250610d9390612cc2565b9054911b1c163880610cc7565b5050346103e057816003193601126103e057602090516a02116545850052128000008152f35b91905034610b54576020366003190112610b5457813591600080516020614876833981519152808552600160205282852033865260205260ff838620541615610e3b57847ff18d722badc84ff70f53556319e6c00b5f78303309e5289063a3c5a41a7a77d56020868681601d5551908152a180f35b604492519163e2517d3f60e01b835233908301526024820152fd5b5050346103e05736600319011261060a57610e8c610e72612bd4565b610e7a612dab565b610e83816137bf565b602435906132bb565b80f35b5050346103e057816003193601126103e05760209081549051908152f35b91905034610b545782600319360112610b5457610ec8612dab565b60145491610ed9602054809461326e565b91824210610f055784610e8c85610eef86614661565b90610ef861444a565b846013558060145561454e565b5163f0aaee6560e01b8152fd5b8383346103e057602080600319360112610b5457833591610f31612f4e565b610f39612f30565b610f42336137bf565b82156113ab57805163aa79979b60e01b815230868201526024906001600160a01b0390848184817f000000000000000000000000000000000000000000000000000000000000000086165afa9081156113a1578791611367575b501561135757610fae85601e5461326e565b601e55338652602290818552610fc7868589205461326e565b3388528286528488205561102884516323b872dd60e01b8782015261100281610ff48a30338a850161379d565b03601f198101835282612d88565b7f000000000000000000000000000000000000000000000000000000000000000061311b565b3387528185528387205490602c865261105a611048868a20549333613d17565b926110558460185461326e565b6132ae565b601855338852602c865281858920557f00000000000000000000000000000000000000000000000000000000000000001687528285528387206003810154906064601954106112bb575b503361118a575b508351908152600080516020614896833981519152853392a233865283528185205415611171576026835260ff828620541615611106575b50600080516020614756833981519152929394505b519283523392a26001815580f35b60165495600160401b87101561116057505061114361113c86600160008051602061475683398151915296979801601655612cdd565b339161322d565b33855260268252808520805460ff191660011790558493926110e3565b634e487b7160e01b86526041905284fd5b50600080516020614756833981519152929394506110f8565b338852602e865260648589205410156110ab578286526111ad8589205433613bdf565b338952602d875285892091848852868a205490602c8952878b205461271084116000146112b45761270f1984018481116112a15762093a809004925b8951956111f587612d6d565b4287528b87019182528a8701928352606087019384526080870194855260a08701958652805490600160401b82101561128e579061123891600182018155612c05565b96909661127d57518655516001860155516002850155516003840155518a83015551600590910155338752602e8552838720805461127590612f71565b9055886110ab565b634e487b7160e01b8e528d8f52898efd5b8f8f60418d92634e487b7160e01b835252fd5b50634e487b7160e01b8c5260118d52878cfd5b8b926111e9565b601e546018549154908751926112d084612d3c565b428452898401918252888401908152606084019185835260808501938452600a54600160401b8110156113435780600161130d9201600a55612c72565b95909561127d5751855551600185015551600284015551600383015551908a015560195461133a90612f71565b601955896110a4565b5050634e487b7160e01b8c5260418d52878cfd5b825163d4220bed60e01b81528790fd5b90508481813d831161139a575b61137e8183612d88565b81010312611396575180151581036113965788610f9c565b8680fd5b503d611374565b84513d89823e3d90fd5b5163162908e360e11b81528490fd5b905034610b54576020366003190112610b54576000805160206147168339815191529160209135906113ea612dab565b8160125551908152a180f35b5050346103e057816003193601126103e05751908152602090f35b5050346103e05760203660031901126103e05760209160ff9082906001600160a01b0361143c612bd4565b16815260258552205460a01c1690519015158152f35b8383346103e05760209081600319360112610b5457833591611472612f30565b61147b336137bf565b6127108311611601578151633b92eb2360e01b81526001600160a01b039190818188817f000000000000000000000000000000000000000000000000000000000000000087165afa9081156115f75790829187916115ca575b5060248551809581936370a0823160e01b8352338c840152165afa9182156115c057859261158d575b50811561157d57907ff4dbed0941210063507e7377f14a0749f60a2a982a3c2655b01d65134b924a6d929133865260238152828620601f5490836115508160018401948554818161156c575b505061326e565b9288835555600242910155601f5582519485528401523392a280f35b61157692506132ae565b8c80611549565b8251631f05dadd60e21b81528690fd5b9080925081813d83116115b9575b6115a58183612d88565b810103126115b5575190866114fd565b8480fd5b503d61159b565b83513d87823e3d90fd5b6115ea9150823d84116115f0575b6115e28183612d88565b810190613183565b886114d4565b503d6115d8565b84513d88823e3d90fd5b815163585b926360e01b81528590fd5b8383346103e05760209081600319360112610b545761162e612c37565b906000805160206147f683398151915280855260018452818520338652845260ff828620541615611733575081156116d1576002549460ff86166116c3575060016000805160206147768339815191529495611688612f30565b60ff1916176002557f62e78cea01bee320cd4e420270b5ea74000d11b0c9f74754ebdbfc544b05a258838251338152a15b519015158152a180f35b9051631785c68160e01b8152fd5b60025460ff8116156117235760008051602061477683398151915294955060ff19166002557f5db9ee0a495bf2e6ff9c91a7834c1ba4fdd244a5e8aa4e537bd38aeae4b073aa838251338152a16116b9565b8151636cd6020160e01b81528690fd5b905163e2517d3f60e01b815233818701526024810191909152604490fd5b5050346103e057816003193601126103e057517f00000000000000000000000000000000000000000000000000000000000000006001600160a01b03168152602090f35b905034610b54576020366003190112610b5457359160155483101561060a57506117c0602092612cc2565b905491519160018060a01b039160031b1c168152f35b905034610b545781600319360112610b54576117f0612bd4565b91838052600160205280842033855260205260ff8185205416156118255783610e8c602435336001600160a01b0387166130ca565b9083604492519163e2517d3f60e01b835233908301526024820152fd5b5050346103e05760203660031901126103e05760209181906001600160a01b0361186a612bd4565b168152602c845220549051908152f35b905034610b545781600319360112610b54578160209360ff9261189b612bef565b90358252600186528282206001600160a01b039091168252855220549151911615158152f35b5050346103e05760203660031901126103e05760209160ff9082906001600160a01b036118ec612bd4565b168152602b85522054169051908152f35b82843461060a578060031936011261060a5781516015805480835290835260208083019492937f55f448fdea98c4d29eb340757ef0a66cd03dbb9538908a6a81d96026b71ec47592915b82821061196957610aca868661195f828b0383612d88565b5191829182612cf8565b83546001600160a01b031687529586019560019384019390910190611947565b5050346103e05760203660031901126103e0576020906103d96119aa612bd4565b614260565b5050346103e057806003193601126103e0576020906103d96119cf612bd4565b6119d7612bef565b90614015565b91905034610b54576020366003190112610b54578135916119fc612dab565b8215611a335750816020917fbd6eb9cf4d6e2902587c57e3163aaafdb46e3b3f2086bdfa75c790228930a9d793835551908152a180f35b90516302e8f35960e31b8152fd5b905034610b54576020366003190112610b5457359160175483101561060a57506117c0602092612ca7565b5050346103e057816003193601126103e057602090601a549051908152f35b8383346103e05760203660031901126103e057823590611aa9612dab565b8160035480611bb8575b5015611baf575b611ac261444a565b611acf836020548361454e565b6014556127108211611ba0576020546003548181611b4257611af291504261328e565b60018101809111611b2f576000805160206147168339815191529495508382611b226020969594611b279461327b565b6145ec565b51908152a180f35b634e487b7160e01b855260118652602485fd5b611b4b9161326e565b4210611b9057611b5b814261328e565b60018101809111611b2f576000805160206147168339815191529495508382611b226020969594611b8b9461327b565b611b27565b8151632d925b7560e21b81528590fd5b5163585b926360e01b81528390fd5b60019150611aba565b602054611bc49161326e565b4210611b905785611ab3565b5050346103e057816003193601126103e057517f00000000000000000000000000000000000000000000000000000000000000006001600160a01b03168152602090f35b5050346103e057806003193601126103e0576103d960209282611c35612bd4565b91611c3e612bef565b611c488185614015565b6001600160a01b03948516835260298852838320919094168252865220549061326e565b5050346103e05760203660031901126103e05760209181906001600160a01b03611c94612bd4565b1681526022845220549051908152f35b5050346103e057806003193601126103e05780602092611cc2612bd4565b611cca612bef565b6001600160a01b0391821683526027865283832091168252845220549051908152f35b612c55565b905034610b545760209182600319360112611e2b57611d0f612bd4565b90611d1982613ff0565b6001600160a01b039182168086526024808652828720850154835163ea7cbff160e01b815280870184905295941693908690869081875afa948515611e21579086918896611def575b50602483918551968793849263fa1af4f360e01b84528301525afa928315611de5578693611db1575b506002946024918752528420918255600182015501805415611dab575080f35b42905580f35b9092508481813d8311611dde575b611dc98183612d88565b81010312611dda5751916002611d8b565b8580fd5b503d611dbf565b82513d88823e3d90fd5b8281939297503d8311611e1a575b611e078183612d88565b8101031261139657519385906024611d62565b503d611dfd565b83513d89823e3d90fd5b8380fd5b5050346103e05760203660031901126103e0579081906001600160a01b03611e55612bd4565b16815260236020522090610aca82549160026001850154940154905193849384612c91565b5050346103e057816003193601126103e05760209060ff6002541690519015158152f35b5050346103e057816003193601126103e05760209060ff6021541690519015158152f35b5050346103e057816003193601126103e0576020905160648152f35b8383346103e05760203660031901126103e05760c0926001600160a01b0392829084611f08612bd4565b1681526024602052209081549360018301549360056002850154926003860154948601541694015494815196875260208701528501526060840152608083015260a0820152f35b5050346103e057816003193601126103e0576020906019549051908152f35b91905034610b545780600319360112610b5457611f89612bd4565b90611f92612c46565b92611f9b612dab565b8315612096576001600160a01b038381168087526025602052838720548216612086578351918285016001600160401b03811184821017612073578552818352602080840189815292895260259052848820925183546001600160a01b03191691161782555161200e919015159061355d565b60155490600160401b82101561206057509160209161204c826120468660016000805160206148568339815191529801601555612cc2565b9061322d565b5193151584526001600160a01b031692a280f35b634e487b7160e01b865260419052602485fd5b634e487b7160e01b895260418552602489fd5b8351633d873e1f60e01b81528390fd5b6001600160a01b0380841680875260256020528387205492959493928216156121cc578087526025602052828720805460ff60a01b19169055865b60158054808310156121ac5784846120e885612cc2565b929054600393841b1c16146121085750505061210390612f71565b6120d1565b9094919596979893506000199485810190811161219957916120469161213161213d9594612cc2565b9054911b1c1691612cc2565b8254908115612186575091602093916000805160206148568339815191529593019061218061216b83612cc2565b81549060018060a01b039060031b1b19169055565b5561204c565b634e487b7160e01b885260319052602487fd5b634e487b7160e01b8b526011855260248bfd5b50505050506000805160206148568339815191529293509060209161204c565b82516312a3d7e760e31b81528690fd5b82843461060a578060031936011261060a5791906121f8612f4e565b825b6017548410156123515761220d84612ca7565b905460039190911b1c6001600160a01b03169361222a338661388a565b61223385613ff0565b848252602894602095808752848420338552875284842054908161226a575b5050506122629192939450612f71565b9291906121fa565b8285528752848420338552875284842084905584516370a0823160e01b81523087820152968088602481865afa8015612347578590612317575b612262959697985080831161230f575b50816122c5575b8796959450612252565b600080516020614736833981519152906122e08333866130ca565b8387526029815287872033885281528787206122fd84825461326e565b905587519283523392a38580806122bb565b9150886122b4565b508088813d8311612340575b61232d8183612d88565b810103126115b5579651959687966122a4565b503d612323565b86513d87823e3d90fd5b6001815580f35b8383346103e057806003193601126103e057612372612bef565b90336001600160a01b0383160361238f5750610b50919235612eb9565b5163334bd91960e11b81528390fd5b91905034610b545780600319360112610b5457610b5091356123c36001610b3a612bef565b612e39565b91905034610b545782600319360112610b545760e09250600354915490600554600654600754916008549360095495815197885260208801528601526060850152608084015260a083015260c0820152f35b8383346103e057602080600319360112610b5457833591612439612f4e565b612442336137bf565b82156113ab5733845260229485835281852054841161287d5761246784601e546132ae565b601e5533855285835261247d84838720546132ae565b338652868452828620556124b284337f00000000000000000000000000000000000000000000000000000000000000006130ca565b33855285835281852054602c84526124de6124d1848820549233613d17565b916110558360185461326e565b601855338652602c8452808387205560018060a01b0390817f0000000000000000000000000000000000000000000000000000000000000000168752602497888652848820918860039384810154906064601954106127cf575b5033612695575b50508551908152600080516020614896833981519152873392a23388528552838720541561258a575b5050509060008051602061481683398151915291519283523392a26001815580f35b6026855260ff848820541615612568578695949392965b601680548083101561267557846125b784612cdd565b905490861b1c1633146125d45750506125cf90612f71565b6125a1565b9390949596979892600019948581019081116126635791612046916125fc6126089594612cdd565b9054911b1c1691612cdd565b8254908115612651575060008051602061481683398151915295969750019061263361216b83612cdd565b555b33855260268252808520805460ff191690558493928680612568565b634e487b7160e01b8852603190528787fd5b634e487b7160e01b8b52601185528b8bfd5b505050505090919350600080516020614816833981519152929450612635565b338252602e8952606488832054101561253f578389526126b88883205433613bdf565b90338352602d8a5288832090858b5289842054602c8c528a8520549061271085116000146127c75761270f1985018581116127b45762093a808e9104945b8d519161270283612d6d565b42835282019283528d8201938452606082019485526080820195865260a08201968752805490600160401b82101561279f579061274491600182018155612c05565b97909761278a57505186555160018601555160028501555186840155518783015551600590910155338952602e8752858920805461278190612f71565b9055888b61253f565b9150508f9150808b634e487b7160e01b825252fd5b5050634e487b7160e01b87525060418b528f86fd5b50634e487b7160e01b865260118b528f86fd5b8c86946126f6565b601e546018549154908a51926127e484612d3c565b4284528c84019182528b8401908152606084019185835260808501938452600a54600160401b811015612869578060016128219201600a55612c72565b959095612856575185555160018501555160028401555187830155519088015560195461284d90612f71565b6019558c612538565b5050634e487b7160e01b8652858b528f86fd5b5050634e487b7160e01b865260418b528f86fd5b90516345a5c39960e11b8152fd5b905034610b545781600319360112610b54576128a5612bd4565b916128ae612c46565b916128b7612dab565b6001600160a01b039384168086526025602052828620549094161561291957507fd0c9b7d29c9d78752c4c849829be427bcd906db1676631e06ffeb91590df9293916020918486526025835261290f8282882061355d565b519015158152a280f35b90516312a3d7e760e31b8152fd5b91905034610b54576020366003190112610b5457813592600a5484101561060a575061295460a093612c72565b508054926001820154926002830154916003840154930154938151958652602086015284015260608301526080820152f35b905034610b54576020366003190112610b5457816020936001923581528285522001549051908152f35b5050346103e057806003193601126103e0576020906103d96129d0612bd4565b6129d8612bef565b906142ef565b5050346103e057816003193601126103e057602090601e549051908152f35b5050346103e057816003193601126103e057602090601f549051908152f35b5050346103e057816003193601126103e0576020906103d961444a565b5050346103e05760203660031901126103e05760207fbece956ce1c97a5de8f427535a7bb21d29086be6e5c0d5cf5d9aa0f56e51495d91612a78612c37565b612a80612dab565b15159060ff196021541660ff83161760215551908152a180f35b91905034610b545780600319360112610b5457612ab5612bd4565b6001600160a01b03168352602d6020528083208054602435949085101561060a575060c093612ae391612c05565b50805492600182015492600283015490600560038501549385015494015494815196875260208701528501526060840152608083015260a0820152f35b5050346103e057816003193601126103e057602090516000805160206147968339815191528152f35b5050346103e05760203660031901126103e05760209181906001600160a01b03612b71612bd4565b168152602e845220549051908152f35b849134610b54576020366003190112610b54573563ffffffff60e01b8116809103610b545760209250637965db0b60e01b8114908115612bc3575b5015158152f35b6301ffc9a760e01b14905083612bbc565b600435906001600160a01b0382168203612bea57565b600080fd5b602435906001600160a01b0382168203612bea57565b8054821015612c21576000526006602060002091020190600090565b634e487b7160e01b600052603260045260246000fd5b600435908115158203612bea57565b602435908115158203612bea57565b34612bea576000366003190112612bea5760206040516127108152f35b600a54811015612c2157600a6000526005602060002091020190600090565b6040919493926060820195825260208201520152565b601754811015612c2157601760005260206000200190600090565b601554811015612c2157601560005260206000200190600090565b601654811015612c2157601660005260206000200190600090565b6020908160408183019282815285518094520193019160005b828110612d1f575050505090565b83516001600160a01b031685529381019392810192600101612d11565b60a081019081106001600160401b03821117612d5757604052565b634e487b7160e01b600052604160045260246000fd5b60c081019081106001600160401b03821117612d5757604052565b601f909101601f19168101906001600160401b03821190821017612d5757604052565b3360009081527fc3eac9ead20d697480ab489ced881761c627fd3281937449e4d4d7fbf9faa2cd60205260409020546000805160206147968339815191529060ff1615612df55750565b6044906040519063e2517d3f60e01b82523360048301526024820152fd5b80600052600160205260406000203360005260205260ff6040600020541615612df55750565b906000918083526001602052604083209160018060a01b03169182845260205260ff60408420541615600014612eb45780835260016020526040832082845260205260408320600160ff198254161790557f2f8788117e7eff1d82e926ec794901d17c78024a50270940304540a733656f0d339380a4600190565b505090565b906000918083526001602052604083209160018060a01b03169182845260205260ff604084205416600014612eb4578083526001602052604083208284526020526040832060ff1981541690557ff6391f5c32d9c69d2a47ea670b442974b53935d1edc7fd64eb21e047a839171b339380a4600190565b60ff60025416612f3c57565b60405163d93c066560e01b8152600490fd5b600260005414612f5f576002600055565b604051633ee5aeb560e01b8152600490fd5b6000198114612f805760010190565b634e487b7160e01b600052601160045260246000fd5b60009033825260209060228252604090818420541580156130aa575b6130a457612fc0338261388a565b6001600160a01b03168084526028835281842033855283528184205493909190841561309c5781516370a0823160e01b81523060048201528481602481875afa908115613092579086918391613061575b5010613051579081836000805160206147368339815191529352602885528181203382528552818120556130468533856130ca565b51928484523393a390565b8151623857a360ea1b8152600490fd5b809250868092503d831161308b575b61307a8183612d88565b810103126103e05785905138613011565b503d613070565b83513d84823e3d90fd5b935050505090565b50505090565b506001600160a01b03818116855260248452828520600401541615612fb2565b60405163a9059cbb60e01b60208201526001600160a01b03909216602483015260448083019390935291815260808101916001600160401b03831182841017612d57576131199260405261311b565b565b906000602091828151910182855af115613177576000513d61316e57506001600160a01b0381163b155b61314c5750565b604051635274afe760e01b81526001600160a01b039091166004820152602490fd5b60011415613145565b6040513d6000823e3d90fd5b90816020910312612bea57516001600160a01b0381168103612bea5790565b906020908183820312612bea5782516001600160401b0393848211612bea570181601f82011215612bea578051938411612d57578360051b90604051946131eb85840187612d88565b85528380860192820101928311612bea578301905b82821061320e575050505090565b81516001600160a01b0381168103612bea578152908301908301613200565b919082549060031b9160018060a01b03809116831b921b1916179055565b60175490600160401b821015612d57576120468260016131199401601755612ca7565b91908201809211612f8057565b81810292918115918404141715612f8057565b8115613298570490565b634e487b7160e01b600052601260045260246000fd5b91908203918211612f8057565b90801561352e57601254811161351c5760018060a01b039182811691600091838352602090602482526040938481209160018301918254916132fc81613f9f565b156134fb575b6004850180549a808c1615613401575b50506000805160206147d683398151915298995061332f90614260565b914210156133ac575061336761336f9161335561334d4286546132ae565b86549061327b565b9087906001811161339b575b5061326e565b84549061328e565b825561337c83544261326e565b90555b61338b8360135461326e565b60135554908351928352820152a2565b6133a691508861327b565b38613361565b906133c5908690600181116133f0575b5085549061328e565b905080156133e8575b82554260028301556133e183544261326e565b905561337f565b5060016133ce565b6133fb91508761327b565b386133bc565b839b84601554905b818110613489575b509b9c6000805160206147d68339815191529c5061332f9493929081169190821561345057505081546001600160a01b0319161790555b908a99613312565b7f0000000000000000000000000000000000000000000000000000000000000000166001600160a01b0319919091161790915550613448565b8360ff8e60258e61349986612cc2565b959054600396871b1c168c525289205460a01c166134c057506134bb90612f71565b613409565b6000805160206147d68339815191529e9f50849392509361332f9695946134e78293612cc2565b9054911b1c169e9d50929394819250613411565b6135048161324b565b886000805160206147b68339815191528380a2613302565b604051631fbe179d60e11b8152600490fd5b5060408051600080825260208201526001600160a01b03909216916000805160206147d68339815191529190a2565b805460ff60a01b191691151560a01b60ff60a01b16919091179055565b90816020910312612bea575160ff81168103612bea5790565b60018060a01b03808216916000908382526020946024865260409485842092858316938486526022895287862054156137915782865260288952878620858752895287862054968982549482600485015416928315159081613764575b506136f5575b50505082156136c9576001600282015491015490814211156000146136d5576136209150426132ae565b965b87156136c957613646988698601e549485613649575b50505050505050505061326e565b90565b61367f969798999a509161366d61366760229361367a97969561327b565b94614260565b988a52528720549061327b565b61328e565b91600181116136b4575b508161369491613bdf565b915081156136ad57505b90388080808080808080613638565b905061369e565b6136c290613694929361328e565b9190613689565b50505050505091505090565b818110156136ec576136e6916132ae565b96613622565b50508496613622565b60248b518094819363ea7cbff160e01b835260048301525afa879181613731575b50613723575b89816135f6565b801561371c5792503861371c565b9091508a81813d831161375d575b6137498183612d88565b8101031261375957519038613716565b8780fd5b503d61373f565b90507f000000000000000000000000000000000000000000000000000000000000000016831415386135f0565b50505050509250505090565b6001600160a01b03918216815291166020820152604081019190915260600190565b60005b60175481101561388657806137d961382c92612ca7565b9060018060a01b03809154600393841b1c1691826000528560209360248552604094856000209461380a83876139cf565b9690809682015560024291015583169081613831575b50505050505050612f71565b6137c2565b61384f9661383f8585613593565b928361385b575b50505050613aa8565b38808085818080613820565b61387b92856000526028815282600020916000525260002091825461326e565b905538808080613846565b5050565b6001600160a01b0391908281169081158015806139b4575b6139a2571561391d57505060005b6017548110156139185780836138c861391393612ca7565b919054600392831b1c169081600052602090602482528560409384600020936138f182866139cf565b9590809582015560024291015589831690816138315750505050505050612f71565b6138b0565b505050565b9160039260009492948581526024602052604081209361393d83866139cf565b9681964260028201550155831680613959575b50505050505050565b613976966139678585613593565b92836139825750505050613aa8565b38808080808080613950565b61387b92604092825260286020528282209082526020522091825461326e565b60405163dc1669a360e01b8152600490fd5b508260005260246020528460046040600020015416156138a2565b9190601e54908115613a98576139e490614260565b926002810180548042116139ff575b50506003915001549190565b600183015490600091804210600014613a7a5750613a1e9150426132ae565b80613a33575b506003925042905538806139f3565b8254613a3e9161327b565b670de0b6b3a764000090818102918183041490151715612f8057600393613a649161328e565b613a7284840191825461326e565b905538613a24565b81811115613a9157613a8c92506132ae565b613a1e565b5050613a1e565b9261364691506003015492614260565b90939260018060a01b0380921692600095848752602090602a825260409384892095821695868a5283528489209160228452858a20549081613af2575b5050505050505050509050565b613afd8454876132ae565b9182613b0a575b50613ae5565b602154613b239392829160ff16613bbe575b505061327b565b670de0b6b3a76400009180830292830403613baa577ff16749621c2992b34cca23238ae1e06cae2b2dba7b0b5256d35b13667e9afb7596979899613b6b613b8d93889361328e565b938681556001429101558981526028855281812089825285522091825461326e565b905582519182524290820152a38038808080808080808080613b04565b634e487b7160e01b8a52601160045260248afd5b612710925090613bd181613bd793613bdf565b9061327b565b043880613b1c565b908015613d105760ff6021541615613c8f57613c169160409182918251948592839263a85bde9d60e01b845230906004850161379d565b03817f00000000000000000000000000000000000000000000000000000000000000006001600160a01b03165afa908115613c8557600091613c59575b50905090565b82813d8311613c7e575b613c6d8183612d88565b8101031261060a5750518038613c53565b503d613c63565b513d6000823e3d90fd5b50506040516356fe702d60e01b81526020816004817f00000000000000000000000000000000000000000000000000000000000000006001600160a01b03165afa90811561317757600091613ce2575090565b906020823d8211613d08575b81613cfb60209383612d88565b8101031261060a57505190565b3d9150613cee565b5050600090565b60ff60215416158015613f97575b613f9357610fa08083029083159084830414811715612f805760408051633b92eb2360e01b815261271093849004946004926001600160a01b03929091602091828187817f000000000000000000000000000000000000000000000000000000000000000089165afa908115613f6b57908591600091613f76575b50169383519163d2e01b2f60e01b835216908186820152608081602481885afa908115613f6b57600091613eee575b5083815115159182613ee1575b5050613dfb575b5050505050505090808211613df6575090565b905090565b819060248451809681936370a0823160e01b8352898301525afa918215613c855750600091613eb5575b509050858110613e43575050505050805b9038808080808080613de3565b613e4d908661327b565b9161177092838102938185041490151715613ea05783860293868504141715613e8b5750613e859291613e7f9161328e565b9061326e565b90613e36565b601190634e487b7160e01b6000525260246000fd5b601182634e487b7160e01b6000525260246000fd5b82813d8311613eda575b613ec98183612d88565b8101031261060a5750518038613e25565b503d613ebf565b0151421090508338613ddc565b6080813d8211613f63575b81613f0660809383612d88565b810103126103e05784519160808301906001600160401b03821184831017613f50575090606091865280518352848101518584015285810151868401520151606082015238613dcf565b634e487b7160e01b815260418952602490fd5b3d9150613ef9565b84513d6000823e3d90fd5b613f8d9150843d86116115f0576115e28183612d88565b38613da0565b5090565b508115613d25565b6017549060005b828110613fb557505050600090565b613fbe81612ca7565b905460039190911b1c6001600160a01b0390811690831614613fe857613fe390612f71565b613fa6565b505050600190565b6001600160a01b0390811660009081526024602052604090206004015416156139a257565b60018060a01b0380921660009181835260209060228252604094858520541561422b5781169081855260248352858520602a8452868620858752845286862090600381015490600281015480421180614220575b61419f575b5050858752602c8552878720549154614086916132ae565b91826140a15750505083526028815283832091835252205490565b87516370a0823160e01b81523060048201529897939591949192828a6024818a5afa998a1561419557889a614164575b506140ef916140f66140fc92670de0b6b3a76400009485918a61327b565b0491614260565b9061328e565b9481810290808204831490151715614150576136469899613bd1614123926018549061328e565b049486526028815282862091865252832054925081811160001461414857509061326e565b90509061326e565b634e487b7160e01b88526011600452602488fd5b9099508281813d831161418e575b61417c8183612d88565b810103126137595751986140ef6140d1565b503d614172565b85513d8a823e3d90fd5b600182015490814210600014614201576141ba9150426132ae565b905b811561406e57546141cc9161327b565b670de0b6b3a7640000908181029181830414901517156141505761408691613e7f6141fa926018549061328e565b903861406e565b8082111561421857614212916132ae565b906141bc565b505087614212565b506018541515614069565b1683526028815283832091835252205490565b60ff166012039060ff8211612f8057565b60ff16604d8111612f8057600a0a90565b6001600160a01b03166000818152602b602052604090205460ff16908115614294575061428f6136469161423e565b61424f565b60405163313ce56760e01b81529150602090829060049082905afa600091816142cf575b506142c35750600190565b61428f6136469161423e565b6142e891925060203d8111610788576107798183612d88565b90386142b8565b6001600160a01b039080821690811561442b578284169160009383855260209260228452604096878720541561441657614328816144b9565b91601e549384156143ff578589526024875260048a8a200154166143eb57505086516370a0823160e01b81523060048201528481602481875afa8791816143bc575b506143b75750855b8061438c5750505083526028815283832091835252205490565b9161367a6143a29261364699979598969461327b565b9483526028815283832091835252205461326e565b614372565b9091508581813d83116143e4575b6143d48183612d88565b810103126137595751903861436a565b503d6143ca565b613646989694979593506143a29250613593565b505050505083526028815283832091835252205490565b50505083526028815283832091835252205490565b5060005260286020526040600020911660005260205260406000205490565b6014548015614496576000428211614490575061447361446a82426132ae565b6020549061328e565b905b60018201809211612f8057613e7f613646926020549061327b565b90614475565b506020546144a4814261328e565b9060018201809211612f80576136469161327b565b60405163395f293b60e11b815230600482015291906020836024817f00000000000000000000000000000000000000000000000000000000000000006001600160a01b03165afa9283156131775760009361451b575b50916136469192613bdf565b6020813d8211614546575b8161453360209383612d88565b81010312611e2b5751925061364661450f565b3d9150614526565b600b5480151590816145d6575b506145c45781156145b2576145ad6000805160206148368339815191529382600b55614587848461326e565b600c5582600d5580600e556000600f558360105561271060115560405193849384612c91565b0390a1565b60405163346ab43760e11b8152600490fd5b60405163f0aaee6560e01b8152600490fd5b6145e491506010549061326e565b81103861455b565b600354801515908161464b575b506145c45781156145b2576145ad6000805160206148368339815191529382600355614625848461326e565b600455826005558060065560006007558360085561271060095560405193849384612c91565b61465991506008549061326e565b8110386145f9565b600b54908181111561470d57600c5490818111156147055750905b600f5490600d54808411614699575b506140f690613646936132ae565b6146a5908493946132ae565b90600e54916146b4818461327b565b9281151591826146f0575b50506146de576146d56140f6926136469561326e565b9293509061468b565b60405163f20577e560e01b8152600490fd5b6146fc9192508461328e565b141538806146bf565b90509061467c565b5050600e549056feb114240d54ce08081cbd18870dc3b6cd4091bb86ff29d2ad41906c2a2d6723d4540798df468d7b23d11f156fdb954cb19ad414d150722a7b6d55ba369dea792e9e71bc8eea02a63969f509818f2dafb9254532904319f9dbda79b67bd34a5f3ded1f3e12429ce88e77b14ddf9c2eb89f0b9e1e0faa7e33a95d0ce1bbc90a1c2f7b765e0e932d348852a6f810bfa1ab891e259123f02db8cdcde614c570223357f3e4c2c64e71e6ba2eaab9a599bced62f9eb91d2cda610bf41aa8c80ff2cf8268a888ea653a580e40660778ee0c0dabd23a81e8e2c8dcfb938e40982a157d8195c91514091af31f62f596a314af7d5be40146b2f2355969392f055e12e0982fb7084f5476618d8e60b11ef0d7d3f06914655adb8793e28ff7f018d4c76d505d50792cf7388f234e543a10a68aeb7b96568fb90b55ddc2b2945961c80a3c3a08219e1fee2e38695e60ad3ef8c81759c22d6d7ee56f9b8805363820a50da468a18a1496c3abf9cd93b84db10ae569b57fafa04deeeb7ece4167616ad50e35bc56e3042bda52a74ddb3e9f32af4781d52bf053f705dba3c9e09f402f6fb9446474da2646970667358221220d372b6431c792a7cb20755a0fd8d4d8b518fbcf19445500d9b64a73c22ba27e164736f6c634300081400332f8788117e7eff1d82e926ec794901d17c78024a50270940304540a733656f0d";
17
+ static readonly bytecode = "0x6101003461025457601f6153b238819003918201601f19168301916001600160401b0383118484101761025957808492606094604052833981010312610254578061004c61009f9261026f565b90610065604061005e6020840161026f565b920161026f565b60016000556001600160a01b0392831660805290821660a05260e081905290811660c05262278d00601f5561009933610290565b5061030c565b506100a9336103a4565b506100b33361043c565b506100bd336104d4565b50601f54801561023e578042048181029080820483149015171561022857816100e591610283565b90816014556a0211654585005212800000601255600b548015159081610212575b50610201577f0792cf7388f234e543a10a68aeb7b96568fb90b55ddc2b2945961c80a3c3a0829160609181600b5561013e8183610283565b600c5581600d556000600e556000600f5580601055612710601155604051918252602082015260006040820152a1604051614d85908161056d8239608051818181610430015281816112040152612695015260a05181818161118701528181611d280152818161262a015261490a015260c0518181816118b70152613cf4015260e051818181610475015281816110dc015281816115d1015281816137a40152818161396a01528181613e26015281816146c4015281816147bf01526148410152f35b63f0aaee6560e01b60005260046000fd5b610220915060105490610283565b821038610106565b634e487b7160e01b600052601160045260246000fd5b634e487b7160e01b600052601260045260246000fd5b600080fd5b634e487b7160e01b600052604160045260246000fd5b51906001600160a01b038216820361025457565b9190820180921161022857565b6001600160a01b0381166000908152600080516020615312833981519152602052604090205460ff16610306576001600160a01b0316600081815260008051602061531283398151915260205260408120805460ff191660011790553391906000805160206152f28339815191528180a4600190565b50600090565b6001600160a01b0381166000908152600080516020615372833981519152602052604090205460ff16610306576001600160a01b0316600081815260008051602061537283398151915260205260408120805460ff191660011790553391907f7b765e0e932d348852a6f810bfa1ab891e259123f02db8cdcde614c570223357906000805160206152f28339815191529080a4600190565b6001600160a01b0381166000908152600080516020615392833981519152602052604090205460ff16610306576001600160a01b0316600081815260008051602061539283398151915260205260408120805460ff191660011790553391907ffda1ae526c1fb38407f23e8b7712f7cfacc146f3e340a04221488331e0d42014906000805160206152f28339815191529080a4600190565b6001600160a01b0381166000908152600080516020615332833981519152602052604090205460ff16610306576001600160a01b0316600081815260008051602061533283398151915260205260408120805460ff191660011790553391907f5c91514091af31f62f596a314af7d5be40146b2f2355969392f055e12e0982fb906000805160206152f28339815191529080a4600190565b6001600160a01b0381166000908152600080516020615352833981519152602052604090205460ff16610306576001600160a01b0316600081815260008051602061535283398151915260205260408120805460ff191660011790553391907fa1496c3abf9cd93b84db10ae569b57fafa04deeeb7ece4167616ad50e35bc56e906000805160206152f28339815191529080a460019056fe608080604052600436101561001357600080fd5b60003560e01c90816301ffc9a714612bce5750806304a6f57614612b94578063092c5b3b14612b6b5780630943832014612ae05780630a58b40e14612a845780630bfa248014612a695780630d15fd7714612a4b57806318160ddd14612a2d5780631c3ebaeb14611e3e578063211dc32d14612a01578063248a9ca3146129e357806324ab066c14610c8e57806328cae71e146129845780632d5ce3e6146128f25780632e1a7d4d146125ad5780632e46da291461255c5780632f2ff15d1461252b57806336568abe146124e5578063372500ab146124845780633b946c71146122215780633fba284a1461220357806342d8b3741461217757806348e5d9f8146120e8578063588fcfd8146120cc5780635953279e146120aa57806359d79d83146120705780635c975abb1461204d5780636219015014612003578063671ee22714611ec45780636f6c278814611e435780637001f4bb14611e3e5780637035ab9814611ded57806370a0823114611db3578063728e4a6714611d5757806372f702f314611d12578063750e1c0914611bf35780637b0a47ee14611bd55780637bb7bed114611bac5780637c2d6e0114611b4857806380ac822814611b1c57806382fd8e5d14611af957806390e8798614611a6e578063912acbd914611a3157806391d14854146119e4578063958da8de146119aa57806395ccea6714611928578063994e8f26146118e657806399eecb3b146118a15780639d0ab89f146117495780639e0092cb1461158e578063a042e48d1461154c578063a217fddf14611530578063a4d24b5c146114f6578063a694fc3a1461108e578063a83627de14610fe7578063b470aade14610fc9578063b66503cf14610f93578063b7f1aca814610eef578063be3dd87a14610ec9578063c4f59f9b14610de2578063c8562f7214610dc4578063c8f33c9114610da6578063c925c68014610d83578063ca37271b14610d4b578063cc64278414610cfd578063cd63d93014610cdf578063d1ab58f414610c8e578063d547741f14610c58578063d5999a5c14610c3a578063d6585ecf14610c11578063d700c18b14610ba9578063d70afa9614610b80578063dcda162c14610b45578063dd89b73614610a29578063df136d6514610a0b578063e70b9e27146109ba578063ea8d6e6114610974578063ebe2b12b14610952578063ecc68a2914610776578063ee72782d146106b6578063f06e22b814610520578063f294d1b7146104c2578063f4359ce5146104a4578063f77c47911461045f578063f7c618c11461041a5763fe7743e9146103d157600080fd5b3461041557602036600319011261041557602061040d6103ef612c21565b6001600160a01b0381166000908152602284526040902054906147fb565b604051908152f35b600080fd5b34610415576000366003190112610415576040517f00000000000000000000000000000000000000000000000000000000000000006001600160a01b03168152602090f35b34610415576000366003190112610415576040517f00000000000000000000000000000000000000000000000000000000000000006001600160a01b03168152602090f35b3461041557600036600319011261041557602060405162093a808152f35b34610415576020366003190112610415576001600160a01b036104e3612c21565b166000526024602052604080600020600681015480151560001461051457600790915b015482519182526020820152f35b50600760125491610506565b3461041557600036600319011261041557600080601554905b818110610659575b50506001600160a01b031680156106485760405163133dac2960e11b815230600482015290600082602481845afa91821561063c57600092610617575b5060005b8251811015610615576020600582901b84018101516001600160a01b0390811660008181526024909352604083206004015460019493919216156105c9575b505001610582565b81815260246020526004604082200185858060a01b03198254161790556105ef82614303565b6105c157600080516020614c708339815191529061060c8361324c565b80a284806105c1565b005b6106359192503d806000833e61062d8183612dec565b8101906138bc565b908261057e565b6040513d6000823e3d90fd5b63dc1669a360e01b60005260046000fd5b61066281612d0a565b60018060a01b0391549060031b1c16600052602560205260ff60406000205460a01c1661069157600101610539565b905061069d9150612d0a565b905460039190911b1c6001600160a01b03168180610541565b3461041557600036600319011261041557600060606040516106d781612d80565b6040516106e381612d9b565b83815283602082015283604082015283838201528360808201528360a08201528360c08201528152826020820152826040820152015261014060405161072881612d80565b610730612e0f565b90818152601254602082019081526013549060408301918252606060145493019283526107606040518095612e53565b5160e08401525161010083015251610120820152f35b346104155760403660031901126104155761078f612c21565b610797612c37565b61079f613a1a565b6001600160a01b038216600081815260246020526040902060020154909290610941576001600160a01b038216156109305760405163313ce56760e01b8152602081600481875afa600091816108ff575b506108065763552b2fcd60e01b60005260046000fd5b83600052602a60205260ff6040600020911660ff19825416179055600080601654905b8181106108ca575b5050156108bb575b5060008281526024602052604090206004810180546001600160a01b0319166001600160a01b0390931692909217909155426002909101819055601f5461087f91612eb4565b816000526024602052600160406000200155601254816000526024602052600660406000200155600080516020614c70833981519152600080a2005b6108c49061324c565b82610839565b856108d482612cef565b905460039190911b1c6001600160a01b0316146108f357600101610829565b50505060018480610831565b61092291925060203d602011610929575b61091a8183612dec565b8101906134e9565b90856107f0565b503d610910565b635c187b8d60e01b60005260046000fd5b63185add2960e11b60005260046000fd5b3461041557600036600319011261041557602061040d601a54601f5490612eb4565b3461041557600036600319011261041557610140610990612e0f565b601254601354601454916109a76040518095612e53565b60e0840152610100830152610120820152f35b34610415576040366003190112610415576109d3612c21565b6109db612c37565b6001600160a01b039182166000908152602760209081526040808320949093168252928352819020549051908152f35b34610415576000366003190112610415576020601b54604051908152f35b3461041557600036600319011261041557610a42613e5f565b60005b601654811015610b135780610a5b600192612cef565b838060a01b0391549060031b1c16806000526024602052604060002090610a823382613ab7565b80610a91575b50505001610a45565b816000526027602052610abc604080600020600090888060a01b033316825260205220918254612eb4565b90558060005260296020526003604080600020600090878060a01b03331682526020522092428685015501548092556000526026602052604080600020600090858060a01b03331682526020522055828080610a88565b6040514281527e745e876c45796ea32ef5ef1bcbf9cef81cfd16666c9364caa1cb8a6ddbd67660203392a26001600055005b346104155760003660031901126104155760206040517ffda1ae526c1fb38407f23e8b7712f7cfacc146f3e340a04221488331e0d420148152f35b34610415576000366003190112610415576020604051600080516020614d108339815191528152f35b34610415576040366003190112610415576040610bc4612c21565b610bcc612c37565b9060018060a01b031660005260296020528160002060009160018060a01b03168252602052208054610c0d6002600184015493015460405193849384612cd9565b0390f35b34610415576000366003190112610415576020604051600080516020614cb08339815191528152f35b3461041557600036600319011261041557602060405162278d008152f35b3461041557604036600319011261041557610615600435610c77612c37565b90610c89610c848261321b565b613a7a565b614123565b3461041557604036600319011261041557610ca7612c21565b610caf612c37565b6001600160a01b039182166000908152602860209081526040808320949093168252928352819020549051908152f35b34610415576000366003190112610415576020601c54604051908152f35b34610415576020366003190112610415576001600160a01b03610d1e612c21565b1660005260256020526040806000205460ff82519160018060a01b038116835260a01c1615156020820152f35b34610415576020366003190112610415576020610d76610d69612c21565b610d71613e5f565b6139e3565b6001600055604051908152f35b3461041557602036600319011261041557602061040d610da1612c21565b61394e565b34610415576000366003190112610415576020601a54604051908152f35b34610415576000366003190112610415576020601754604051908152f35b3461041557600036600319011261041557600080601554905b818110610e6c575b50506001600160a01b031680156106485760006024916040519283809263133dac2960e11b82523060048301525afa801561063c57610c0d91600091610e51575b5060405191829182612d3d565b610e6691503d806000833e61062d8183612dec565b82610e44565b610e7581612d0a565b60018060a01b0391549060031b1c16600052602560205260ff60406000205460a01c16610ea457600101610dfb565b9050610eb09150612d0a565b905460039190911b1c6001600160a01b03168180610e03565b346104155760003660031901126104155760206040516a02116545850052128000008152f35b34610415576020366003190112610415573360009081527fb430885b2fd8ad5c711883989efa8a81a8244e77d7ee19caf947074a66cbfadf60205260409020546004359060ff1615610f6c576020817ff18d722badc84ff70f53556319e6c00b5f78303309e5289063a3c5a41a7a77d592601c55604051908152a1005b63e2517d3f60e01b60005233600452600080516020614d1083398151915260245260446000fd5b3461041557604036600319011261041557610615610faf612c21565b610fb7613a1a565b610fc081613e81565b602435906135d3565b34610415576000366003190112610415576020601f54604051908152f35b3461041557600036600319011261041557611000613a1a565b61100f601454601f5490612eb4565b80421061107d5761101f906145cd565b611027612ee1565b9060006013558160145560005b601654811015611070578061104a600192612cef565b838060a01b0391549060031b1c1660005260246020526000600760408220015501611034565b50601f5461061592614453565b63f0aaee6560e01b60005260046000fd5b34610415576020366003190112610415576004356110aa613e5f565b6110b26145b0565b6110bb33613e81565b80156114e55760405163aa79979b60e01b81523060048201526020816024817f00000000000000000000000000000000000000000000000000000000000000006001600160a01b03165afa90811561063c576000916114a3575b50156114925761112781601d54612eb4565b601d5533600052602260205261114281604060002054612eb4565b3360005260226020526040600020556111ab6040516323b872dd60e01b60208201526111858161117785303360248501614680565b03601f198101835282612dec565b7f0000000000000000000000000000000000000000000000000000000000000000614ba5565b33600052602260205260406000205433600052602b6020526111e86111d660406000205492336147fb565b916111e383601754612eb4565b612ed4565b60175533600052602b6020528060406000205560018060a01b037f000000000000000000000000000000000000000000000000000000000000000016806000526024602052600360406000200154906064601854106113f9575b5033611297575b50604051908152600080516020614d3083398151915260203392a26040519081527f9e71bc8eea02a63969f509818f2dafb9254532904319f9dbda79b67bd34a5f3d60203392a26001600055005b33600052602d60205260646040600020541015611249573360005260226020526112c6604060002054336146a2565b33600052602c6020526040600020903360005260226020526040600020549233600052602b6020526040600020549061271083116000146113f15761270f1983018381116113db5762093a809004915b6040519461132386612dd1565b4286526020860196875260408601918252606086019283526080860193845260a086019485528054600160401b8110156113c55761136691600182018155612c4d565b9690966113af576005955187555160018701555160028601555160038501555160048401555191015533600052602d60205260406000206113a78154614c00565b905582611249565b634e487b7160e01b600052600060045260246000fd5b634e487b7160e01b600052604160045260246000fd5b634e487b7160e01b600052601160045260246000fd5b600091611316565b601d54906017549060005260246020526040600020546040519161141c83612db6565b4283526020830193845260408301908152606083019085825260808401928352600a54600160401b8110156113c55780600161145b9201600a55612cba565b9590956113af5760049451865551600186015551600285015551600384015551910155611489601854614c00565b60185583611242565b63d4220bed60e01b60005260046000fd5b6020813d6020116114dd575b816114bc60209383612dec565b810103126114d957519081151582036114d6575082611115565b80fd5b5080fd5b3d91506114af565b63162908e360e11b60005260046000fd5b3461041557602036600319011261041557600080516020614c108339815191526020600435611523613a1a565b80601255604051908152a1005b3461041557600036600319011261041557602060405160008152f35b34610415576020366003190112610415576001600160a01b0361156d612c21565b166000526025602052602060ff60406000205460a01c166040519015158152f35b34610415576020366003190112610415576004356115aa6145b0565b6115b333613e81565b612710811161173857604051633b92eb2360e01b81526020816004817f00000000000000000000000000000000000000000000000000000000000000006001600160a01b03165afa90811561063c5760249160209160009161170b575b506040516370a0823160e01b815233600482015292839182906001600160a01b03165afa90811561063c576000916116d9575b5080156116c8573360005260236020526040600020601e549082611676816001840194855481816116b7575b5050612eb4565b9285835555600242910155601e5560405191825260208201527ff4dbed0941210063507e7377f14a0749f60a2a982a3c2655b01d65134b924a6d60403392a2005b6116c19250612ed4565b888061166f565b631f05dadd60e21b60005260046000fd5b906020823d602011611703575b816116f360209383612dec565b810103126114d657505182611643565b3d91506116e6565b61172b9150823d8411611731575b6117238183612dec565b8101906135b4565b84611610565b503d611719565b63585b926360e01b60005260046000fd5b3461041557602036600319011261041557611762612c7f565b3360009081527f0298389358dc4e56cb082b3bb11d0524b39b30d4fc48a48562a008cd6edee05f602052604090205460ff161561187a5780156118155760025460ff811661180457600080516020614c308339815191529160016020926117c76145b0565b60ff1916176002557f62e78cea01bee320cd4e420270b5ea74000d11b0c9f74754ebdbfc544b05a25882604051338152a15b6040519015158152a1005b631785c68160e01b60005260046000fd5b60025460ff81161561186957600080516020614c308339815191529160209160ff19166002557f5db9ee0a495bf2e6ff9c91a7834c1ba4fdd244a5e8aa4e537bd38aeae4b073aa82604051338152a16117f9565b636cd6020160e01b60005260046000fd5b63e2517d3f60e01b60005233600452600080516020614cb083398151915260245260446000fd5b34610415576000366003190112610415576040517f00000000000000000000000000000000000000000000000000000000000000006001600160a01b03168152602090f35b34610415576020366003190112610415576004356015548110156104155761190f602091612d0a565b905460405160039290921b1c6001600160a01b03168152f35b3461041557604036600319011261041557611941612c21565b3360009081527fa6eef7e35abe7026729641147f7915573c7e97b47efa546f5f6e3230263bcb49602052604090205460ff161561199057610615906024359033906001600160a01b0316614570565b63e2517d3f60e01b60005233600452600060245260446000fd5b34610415576020366003190112610415576001600160a01b036119cb612c21565b16600052602b6020526020604060002054604051908152f35b34610415576040366003190112610415576119fd612c37565b600435600052600160205260406000209060018060a01b0316600052602052602060ff604060002054166040519015158152f35b34610415576020366003190112610415576001600160a01b03611a52612c21565b16600052602a602052602060ff60406000205416604051908152f35b346104155760003660031901126104155760405160158054808352600091825260208301917f55f448fdea98c4d29eb340757ef0a66cd03dbb9538908a6a81d96026b71ec47591905b818110611ada57610c0d85611ace81870382612dec565b60405191829182612d3d565b82546001600160a01b0316845260209093019260019283019201611ab7565b3461041557602036600319011261041557602061040d611b17612c21565b613524565b3461041557604036600319011261041557602061040d611b3a612c21565b611b42612c37565b90613273565b3461041557602036600319011261041557600435611b64613a1a565b8015611b9b576020817fbd6eb9cf4d6e2902587c57e3163aaafdb46e3b3f2086bdfa75c790228930a9d792601f55604051908152a1005b6302e8f35960e31b60005260046000fd5b34610415576020366003190112610415576004356016548110156104155761190f602091612cef565b34610415576000366003190112610415576020601954604051908152f35b3461041557602036600319011261041557600435611c0f613a1a565b8060035480611cfa575b5015611cf2575b611c28612ee1565b611c3582601f5483614453565b601455612710811161173857601f5490600354828115600014611c9757611c5d915042612e94565b90600182018092116113db57611c8e8184611c89600080516020614c1083398151915296602096612ec1565b6144f3565b604051908152a1005b611ca091612eb4565b4210611ce157611cb08242612e94565b90600182018092116113db57611cdc8184611c89600080516020614c1083398151915296602096612ec1565b611c8e565b632d925b7560e21b60005260046000fd5b506001611c20565b601f54611d0691612eb4565b4210611ce15782611c19565b34610415576000366003190112610415576040517f00000000000000000000000000000000000000000000000000000000000000006001600160a01b03168152602090f35b3461041557604036600319011261041557602061040d611d75612c21565b611d7d612c37565b611d878183613273565b6001600160a01b0392831660009081526028865260408082209390941681529185529190205490612eb4565b34610415576020366003190112610415576001600160a01b03611dd4612c21565b1660005260226020526020604060002054604051908152f35b3461041557604036600319011261041557611e06612c21565b611e0e612c37565b6001600160a01b039182166000908152602660209081526040808320949093168252928352819020549051908152f35b612c9d565b3461041557604036600319011261041557611e5c612c21565b60243590611e68613a1a565b8115611eb35760207f59e5fa1917d251feba39029f9e5a5f822195eb84317c1863fcab88fcfe5dd4889160018060a01b031692836000526021825280604060002055604051908152a2005b630f0e32f360e41b60005260046000fd5b3461041557602036600319011261041557611edd612c21565b611ee68161434e565b60018060a01b0381169081600052602460205260018060a01b0360046040600020015416916040519263ea7cbff160e01b8452816004850152602084602481845afa93841561063c57600094611fce575b509260206024946040519586809263fa1af4f360e01b82528660048301525afa91821561063c57600092611f99575b600294506000526024602052611f8160406000209384614373565b50508255600182015501805415611f9457005b429055005b91506020843d602011611fc6575b81611fb460209383612dec565b81010312610415576002935191611f66565b3d9150611fa7565b93506020843d602011611ffb575b81611fe960209383612dec565b81010312610415579251926020611f37565b3d9150611fdc565b34610415576020366003190112610415576001600160a01b03612024612c21565b16600052602360205260406000208054610c0d6002600184015493015460405193849384612cd9565b3461041557600036600319011261041557602060ff600254166040519015158152f35b34610415576020366003190112610415576001600160a01b03612091612c21565b1660005260216020526020604060002054604051908152f35b3461041557600036600319011261041557602060ff8154166040519015158152f35b3461041557600036600319011261041557602060405160648152f35b34610415576020366003190112610415576001600160a01b03612109612c21565b16600052602460205261010060406000208054906001810154906002810154600382015460018060a01b03600484015416906005840154926007600686015495015495604051978852602088015260408701526060860152608085015260a084015260c083015260e0820152f35b3461041557604036600319011261041557612190612c21565b6024359061219c613a1a565b6121a581614303565b156121f25760207f2c6ef76c9db616917a01f7cb90d142bdbdeb172d77681f3099205aa5c88a04429160018060a01b031692836000526024825280600660406000200155604051908152a2005b630c76021160e01b60005260046000fd5b34610415576000366003190112610415576020601854604051908152f35b346104155760403660031901126104155761223a612c21565b612242612c8e565b9061224b613a1a565b8115612356576001600160a01b038181166000818152602560205260409020549091166123455760408051908101916001600160401b038311828410176113c5576040928352808252600060208084018281529282526025905292909220905181546001600160a01b0319166001600160a01b039190911617815590516122d5919015159061322f565b601554600160401b8110156113c55781612330600080516020614cf08339815191529361230c846001602096016015556015612d25565b9080546001600160a01b0360039390931b83811b199091169290931690921b179055565b60405193151584526001600160a01b031692a2005b633d873e1f60e01b60005260046000fd5b6001600160a01b038181166000818152602560205260409020549092911615612473576000828152602560205260408120805460ff60a01b191690555b6015548082101561245857836123a883612d0a565b905460039190911b1c6001600160a01b0316146123c85750600101612393565b91925060001982019182116113db5761230c6123e66123fe93612d0a565b905460039190911b1c6001600160a01b031691612d0a565b601554801561244257600080516020614cf0833981519152916020916000190161242781612d0a565b81549060018060a01b039060031b1b19169055601555612330565b634e487b7160e01b600052603160045260246000fd5b5050600080516020614cf08339815191529150602090612330565b6312a3d7e760e31b60005260046000fd5b346104155760003660031901126104155761249d613e5f565b60005b6016548110156124de57806124d76124b9600193612cef565b848060a01b0391549060031b1c166124d13382613f3f565b336141a9565b50016124a0565b6001600055005b34610415576040366003190112610415576124fe612c37565b336001600160a01b0382160361251a5761061590600435614123565b63334bd91960e11b60005260046000fd5b346104155760403660031901126104155761061560043561254a612c37565b90612557610c848261321b565b614094565b346104155760003660031901126104155760e0600354600454600554600654600754906008549260095494604051968752602087015260408601526060850152608084015260a083015260c0820152f35b34610415576020366003190112610415576004356125c9613e5f565b6125d233613e81565b80156114e55733600052602260205260406000205481116128e1576125f981601d54612ed4565b601d5533600052602260205261261481604060002054612ed4565b33600052602260205260406000205561264e81337f0000000000000000000000000000000000000000000000000000000000000000614570565b33600052602260205260406000205433600052602b6020526126796111d660406000205492336147fb565b60175533600052602b6020528060406000205560018060a01b037f00000000000000000000000000000000000000000000000000000000000000001680600052602460205260036040600020015490606460185410612848575b5033612728575b50604051908152600080516020614d3083398151915260203392a26040519081527f7084f5476618d8e60b11ef0d7d3f06914655adb8793e28ff7f018d4c76d505d560203392a26001600055005b33600052602d602052606460406000205410156126da57336000526022602052612757604060002054336146a2565b33600052602c6020526040600020903360005260226020526040600020549233600052602b6020526040600020549061271083116000146128405761270f1983018381116113db5762093a809004915b604051946127b486612dd1565b4286526020860196875260408601918252606086019283526080860193845260a086019485528054600160401b8110156113c5576127f791600182018155612c4d565b9690966113af576005955187555160018701555160028601555160038501555160048401555191015533600052602d60205260406000206128388154614c00565b9055826126da565b6000916127a7565b601d54906017549060005260246020526040600020546040519161286b83612db6565b4283526020830193845260408301908152606083019085825260808401928352600a54600160401b8110156113c5578060016128aa9201600a55612cba565b9590956113af57600494518655516001860155516002850155516003840155519101556128d8601854614c00565b601855836126d3565b6345a5c39960e11b60005260046000fd5b346104155760403660031901126104155761290b612c21565b612913612c8e565b9061291c613a1a565b6001600160a01b0390811660008181526025602052604090205490929116156124735760207fd0c9b7d29c9d78752c4c849829be427bcd906db1676631e06ffeb91590df929391836000526025825261297981604060002061322f565b6040519015158152a2005b3461041557602036600319011261041557600435600a54811015610415576129ad60a091612cba565b50805490600181015490600281015460046003830154920154926040519485526020850152604084015260608301526080820152f35b3461041557602036600319011261041557602061040d60043561321b565b3461041557604036600319011261041557602061040d612a1f612c21565b612a27612c37565b90612f58565b34610415576000366003190112610415576020601d54604051908152f35b34610415576000366003190112610415576020601e54604051908152f35b3461041557600036600319011261041557602061040d612ee1565b34610415576020366003190112610415577fbece956ce1c97a5de8f427535a7bb21d29086be6e5c0d5cf5d9aa0f56e51495d6020612ac0612c7f565b612ac8613a1a565b151560ff1982541660ff8216178255604051908152a1005b3461041557604036600319011261041557612af9612c21565b6001600160a01b03166000908152602c60205260409020805460243591908210156104155760c091612b2a91612c4d565b5080549060018101549060028101546003820154906005600484015493015493604051958652602086015260408501526060840152608083015260a0820152f35b34610415576000366003190112610415576020604051600080516020614c508339815191528152f35b34610415576020366003190112610415576001600160a01b03612bb5612c21565b16600052602d6020526020604060002054604051908152f35b34610415576020366003190112610415576004359063ffffffff60e01b821680920361041557602091637965db0b60e01b8114908115612c10575b5015158152f35b6301ffc9a760e01b14905083612c09565b600435906001600160a01b038216820361041557565b602435906001600160a01b038216820361041557565b8054821015612c69576000526006602060002091020190600090565b634e487b7160e01b600052603260045260246000fd5b60043590811515820361041557565b60243590811515820361041557565b346104155760003660031901126104155760206040516127108152f35b600a54811015612c6957600a6000526005602060002091020190600090565b6040919493926060820195825260208201520152565b601654811015612c6957601660005260206000200190600090565b601554811015612c6957601560005260206000200190600090565b8054821015612c695760005260206000200190600090565b602060408183019282815284518094520192019060005b818110612d615750505090565b82516001600160a01b0316845260209384019390920191600101612d54565b608081019081106001600160401b038211176113c557604052565b60e081019081106001600160401b038211176113c557604052565b60a081019081106001600160401b038211176113c557604052565b60c081019081106001600160401b038211176113c557604052565b601f909101601f19168101906001600160401b038211908210176113c557604052565b60405190612e1c82612d9b565b600b548252600c546020830152600d546040830152600e546060830152600f54608083015260105460a083015260115460c0830152565b60c08091805184526020810151602085015260408101516040850152606081015160608501526080810151608085015260a081015160a08501520151910152565b8115612e9e570490565b634e487b7160e01b600052601260045260246000fd5b919082018092116113db57565b818102929181159184041417156113db57565b919082039182116113db57565b6014548015612f3557428111612f2d57612f07612efe8242612ed4565b601f5490612e94565b905b600182018092116113db57612f24612f2a92601f5490612ec1565b90612eb4565b90565b600090612f09565b50601f54612f438142612e94565b90600182018092116113db57612f2a91612ec1565b6001600160a01b0381169081156131f5576001600160a01b038316600081815260226020526040902054909390156131d657612f938161394e565b50601d54156131d6576000838152602460205260409020600401546001600160a01b03166130bc5750506040516370a0823160e01b81523060048201526000602082602481865afa90918282613085575b5050613080575060005b806130115750600052602760205260406000209060005260205260406000205490565b91612f2a9281600052602b6020526040600020549081151580613075575b1561306b5761304a9161304191612ec1565b60175490612e94565b915b6000526027602052604060002090600052602052604060002054612eb4565b505060009161304c565b50601754151561302f565b612fee565b909192506020823d6020116130b4575b816130a260209383612dec565b810103126114d6575051903880612fe4565b3d9150613095565b6130c591613ab7565b9180600052602b60205260406000205460175480156131b557670de0b6b3a7640000820291808304670de0b6b3a764000014901517156113db5761310891612e94565b6040516370a0823160e01b81523060048201529390602085602481875afa94851561063c5760009561317f575b5061314c670de0b6b3a764000091612f2a96612ec1565b0490818111156131775750916000526027602052604060002090600052602052604060002054612eb4565b90509161304c565b94506020853d6020116131ad575b8161319a60209383612dec565b810103126104155793519361314c613135565b3d915061318d565b50509150600052602760205260406000209060005260205260406000205490565b5050600052602760205260406000209060005260205260406000205490565b50600052602760205260406000209060018060a01b031660005260205260406000205490565b600052600160205260016040600020015490565b805460ff60a01b191691151560a01b60ff60a01b16919091179055565b60165490600160401b8210156113c55761230c82600161327194016016556016612d25565b565b9060018060a01b031690816000526022602052604060002054156134c45760018060a01b038116908160005260246020526040600020908260005260296020526040600020846000526020526040600020916003810154906002810154804211806134b9575b61342d575b50506132fb9085600052602b602052604060002054935490612ed4565b908161332157505050600052602760205260406000209060005260205260406000205490565b6040516370a0823160e01b8152306004820152929492939291602085602481875afa94851561063c576000956133f5575b5090613374670de0b6b3a764000061336d61337a9489612ec1565b0491613524565b90612e94565b92670de0b6b3a7640000850294808604670de0b6b3a764000014901517156113db576133bf670de0b6b3a7640000916133b9612f2a9760175490612e94565b90612ec1565b04916000526027602052604060002090600052602052604060002054918181116000146133ed575090612eb4565b905090612eb4565b919094506020823d602011613425575b8161341260209383612dec565b8101031261041557905193613374613352565b3d9150613405565b60018201549060009180421060001461349a575061344c915042612ed4565b905b81156132de575461345e91612ec1565b670de0b6b3a7640000810290808204670de0b6b3a764000014901517156113db576132fb91612f246134939260175490612e94565b90386132de565b818111156134b2576134ac9250612ed4565b9061344e565b50506134ac565b5060175415156132d9565b60018060a01b0316600052602760205260406000209060005260205260406000205490565b90816020910312610415575160ff811681036104155790565b60ff166012039060ff82116113db57565b60ff16604d81116113db57600a0a90565b6001600160a01b03166000818152602a602052604090205460ff169081156135585750613553612f2a91613502565b613513565b60405163313ce56760e01b81529150602090829060049082905afa60009181613593575b506135875750600190565b613553612f2a91613502565b6135ad91925060203d6020116109295761091a8183612dec565b903861357c565b9081602091031261041557516001600160a01b03811681036104155790565b90801561388d576001600160a01b03821660008181526024602052604090206006810154919390918015613884575b8311613873576001820190815442109061361b81614303565b15613851575b6004840180546001600160a01b03161561372e575b509160409391613655600080516020614c908339815191529694613524565b90156136da57612efe61368a91613678613670428654612ed4565b865490612ec1565b908690600181116136c9575b50612eb4565b8255613698601f5442612eb4565b90555b6136a782601354612eb4565b601355600781016136b9838254612eb4565b90555482519182526020820152a2565b6136d4915087612ec1565b38613684565b6136f39084906001811161371d575b50601f5490612e94565b8015613715575b825542600283015561370e601f5442612eb4565b905561369b565b5060016136fa565b613728915085612ec1565b386136e9565b600080601554905b8181106137d4575b5050600080516020614c9083398151915296949260409694926136559260018060a01b03811615156000146137955781546001600160a01b0319166001600160a01b03919091161790555b92949650509193613636565b5080546001600160a01b0319167f00000000000000000000000000000000000000000000000000000000000000006001600160a01b0316179055613789565b6137dd81612d0a565b60018060a01b0391549060031b1c16600052602560205260ff60406000205460a01c1661380c57600101613736565b6136559250600080516020614c908339815191529896949150926138336040989694612d0a565b60018060a01b0391549060031b1c169250929496819496985061373e565b61385a8161324c565b85600080516020614c70833981519152600080a2613621565b631fbe179d60e11b60005260046000fd5b50601254613602565b5060408051600080825260208201526001600160a01b0390921691600080516020614c908339815191529190a2565b602081830312610415578051906001600160401b038211610415570181601f82011215610415578051916001600160401b0383116113c5578260051b916040519361390a6020850186612dec565b845260208085019382010191821161041557602001915b81831061392e5750505090565b82516001600160a01b038116810361041557815260209283019201613921565b60405163395f293b60e11b8152306004820152906020826024817f00000000000000000000000000000000000000000000000000000000000000006001600160a01b03165afa90811561063c576000916139ad575b612f2a92506146a2565b90506020823d6020116139db575b816139c860209383612dec565b8101031261041557612f2a9151906139a3565b3d91506139bb565b6001600160a01b038181166000908152602460205260409020600401541615613a1457612f2a906124d13382613f3f565b50600090565b3360009081527fc3eac9ead20d697480ab489ced881761c627fd3281937449e4d4d7fbf9faa2cd602052604090205460ff1615613a5357565b63e2517d3f60e01b60005233600452600080516020614c5083398151915260245260446000fd5b600081815260016020908152604080832033845290915290205460ff1615613a9f5750565b63e2517d3f60e01b6000523360045260245260446000fd5b6001600160a01b03808216600081815260246020908152604080832094909616808352602290915294902054919493929115613e56578060005260276020526040600020836000526020526040600020549185549560018060a01b0360048201541680151580613e23575b613ca9575b508615613c8057600160028201549101549060009180421115600014613c895750613b53915042612ed4565b955b8615613c8057600094601d549182613b78575b5050505050612f2a929350612eb4565b613b8f613b8960249a604093612ec1565b94613524565b828852602b6020529620546017549081613c69575050613bc692613bc191600052602260205260406000205490612ec1565b612e94565b925b60018111613c55575b50602090604051958680926370a0823160e01b82523060048301525afa93841561063c57600094613c1d575b5083612f2a93948311613c15575b8493818080613b68565b915038613c0b565b6020813d602011613c4d575b81613c3660209383612dec565b81010312613c4957519350612f2a613bfd565b8480fd5b3d9150613c29565b613c629060209294612e94565b9290613bd1565b909250613bc19150613c7a93612ec1565b92613bc8565b50919450505050565b80821015613ca157613c9b9250612ed4565b95613b55565b505095613b55565b60206024916040519283809263ea7cbff160e01b82528860048301525afa60009181613def575b5015613b27578015613b275760405163395f293b60e11b81523060048201529197507f00000000000000000000000000000000000000000000000000000000000000006001600160a01b03169190602082602481865afa91821561063c57600092613dba575b50602060049293604051938480926306aba0e160e01b82525afa91821561063c57600092613d86575b508115613d7b57613d7392613bc191612ec1565b955b38613b27565b505050600095613d75565b90916020823d602011613db2575b81613da160209383612dec565b810103126114d65750519038613d5f565b3d9150613d94565b91506020823d602011613de7575b81613dd560209383612dec565b81010312610415579051906020613d36565b3d9150613dc8565b90916020823d602011613e1b575b81613e0a60209383612dec565b810103126114d65750519038613cd0565b3d9150613dfd565b507f00000000000000000000000000000000000000000000000000000000000000006001600160a01b0316811415613b22565b50600093505050565b600260005414613e70576002600055565b633ee5aeb560e01b60005260046000fd5b60005b601654811015613f3b5780613e9a600192612cef565b838060a01b0391549060031b1c168060005260246020526040600020613ec08282614373565b9181600382015560024291015585858060a01b038116613ee5575b5050505001613e84565b83613ef382613eff96613ab7565b80613f08575b50614a7f565b38808085613edb565b816000526027602052613f336040806000206000908b8060a01b038716825260205220918254612eb4565b905538613ef9565b5050565b6001600160a01b038116908115801580614072575b6106485715613fda57505060005b601654811015613f3b5780613f78600192612cef565b838060a01b0391549060031b1c168060005260246020526040600020613f9e8282614373565b9181600382015560024291015585858060a01b038116613fc3575b5050505001613f62565b83613ef382613fd196613ab7565b38808085613fb9565b81926003926000526024602052604060002091613ff78184614373565b948194426002820155015560018060a01b038216614017575b5050505050565b614033946140258383613ab7565b908161403d575b5050614a7f565b3880808080614010565b6000526027602052604060002060018060a01b0384166000526020526140696040600020918254612eb4565b9055388061402c565b506000838152602460205260409020600401546001600160a01b031615613f54565b60008181526001602090815260408083206001600160a01b038616845290915290205460ff1661411c5760008181526001602081815260408084206001600160a01b0396909616808552959091528220805460ff19169091179055339291907f2f8788117e7eff1d82e926ec794901d17c78024a50270940304540a733656f0d9080a4600190565b5050600090565b60008181526001602090815260408083206001600160a01b038616845290915290205460ff161561411c5760008181526001602090815260408083206001600160a01b0395909516808452949091528120805460ff19169055339291907ff6391f5c32d9c69d2a47ea670b442974b53935d1edc7fd64eb21e047a839171b9080a4600190565b6000916141b58161434e565b60018060a01b0316806000526027602052604060002060018060a01b038316600052602052604060002054806141ec575b50505090565b90809293506000526027602052604060002060018060a01b03841660005260205260006040812055604051906370a0823160e01b8252306004830152602082602481865afa91821561063c576000926142cf575b50818111156142c857505b809281156141e657602081614282847f540798df468d7b23d11f156fdb954cb19ad414d150722a7b6d55ba369dea792e9487614570565b60008581526028835260408082206001600160a01b03841683528452902080546142ad908690612eb4565b90556040519384526001600160a01b031692a33880806141e6565b905061424b565b90916020823d6020116142fb575b816142ea60209383612dec565b810103126114d65750519038614240565b3d91506142dd565b6016549060005b82811061431957505050600090565b61432281612cef565b905460039190911b1c6001600160a01b03908116908316146143465760010161430a565b505050600190565b6001600160a01b03908116600090815260246020526040902060040154161561064857565b9190601d549081156144435761438890613524565b926002810180548042116143a3575b50506003915001549190565b60018301549060009180421060001461442557506143c2915042612ed4565b806143d7575b50600392504290553880614397565b82546143e291612ec1565b670de0b6b3a7640000810290808204670de0b6b3a764000014901517156113db5760039361440f91612e94565b61441d848401918254612eb4565b9055386143c8565b8181111561443c576144379250612ed4565b6143c2565b50506143c2565b92612f2a91506003015492613524565b600b54600094939080151590816144dd575b506144ce5782156144bf576144ba90600080516020614cd083398151915294955082600b556144948484612eb4565b600c5582600d5580600e556000600f558360105561271060115560405193849384612cd9565b0390a1565b63346ab43760e11b8552600485fd5b63f0aaee6560e01b8552600485fd5b6144eb915060105490612eb4565b821038614465565b6003546000949390801515908161455a575b506144ce5782156144bf576144ba90600080516020614cd0833981519152949550826003556145348484612eb4565b600455826005558060065560006007558360085561271060095560405193849384612cd9565b614568915060085490612eb4565b821038614505565b60405163a9059cbb60e01b60208201526001600160a01b039092166024830152604480830193909352918152613271916145ab606483612dec565b614ba5565b60ff600254166145bc57565b63d93c066560e01b60005260046000fd5b600b54908181111561467857600c5490818111156146705750905b600f5490600d54808411614605575b5061337490612f2a93612ed4565b61461190849394612ed4565b90600e54916146208184612ec1565b92811515918261465b575b505061464a5761464161337492612f2a95612eb4565b929350906145f7565b63f20577e560e01b60005260046000fd5b61466791925084612e94565b1415388061462b565b9050906145e8565b5050600e5490565b6001600160a01b03918216815291166020820152604081019190915260600190565b90801561411c5760ff60205416156147a8576040805163a85bde9d60e01b81527f00000000000000000000000000000000000000000000000000000000000000006001600160a01b03169390928391829161470291309060048501614680565b0381855afa60009181614774575b5061476f57506020600491604051928380926356fe702d60e01b82525afa90811561063c57600091614740575090565b90506020813d602011614767575b8161475b60209383612dec565b81010312610415575190565b3d915061474e565b905090565b9091506040813d6040116147a0575b8161479060409383612dec565b8101031261041557519038614710565b3d9150614783565b50506040516356fe702d60e01b81526020816004817f00000000000000000000000000000000000000000000000000000000000000006001600160a01b03165afa90811561063c57600091614740575090565b9060ff60205416158015614a77575b61476f57610fa08102811590828104610fa0148217156113db57604051633b92eb2360e01b815261271090910493906020816004817f00000000000000000000000000000000000000000000000000000000000000006001600160a01b03165afa90811561063c57600091614a58575b5060405163d2e01b2f60e01b81526001600160a01b03928316600482018190529190921691608081602481865afa90811561063c576000916149f9575b508051151590816149eb575b506148d7575b50505080821161476f575090565b602090602460409694959651809481936370a0823160e01b835260048301525afa90811561063c576000916149b7575b507f00000000000000000000000000000000000000000000000000000000000000006001600160a01b031660009081526021602052604090205461271091614955919081156149af57612ec1565b0483811061496a57505050805b3880806148c9565b6149749084612ec1565b61177081029080820461177014901517156113db576127108402928484046127101417156113db576149a992612f2491612e94565b90614962565b839150612ec1565b90506020813d6020116149e3575b816149d260209383612dec565b810103126104155751614955614907565b3d91506149c5565b6040915001514210386148c3565b906080823d608011614a50575b81614a1360809383612dec565b810103126114d65750606060405191614a2b83612d80565b80518352602081015160208401526040810151604084015201516060820152386148b7565b3d9150614a06565b614a71915060203d602011611731576117238183612dec565b3861487a565b50801561480a565b6001600160a01b03908116600081815260296020908152604080832094861680845294825280832060229092529091205491959294909390919081614ac8575b50505050505050565b614ad3855484612ed4565b9081614ae0575b50614abf565b82614af8939160ff60205416614b8a575b5050612ec1565b9282670de0b6b3a76400000292670de0b6b3a76400008404036113db57614b426040937ff16749621c2992b34cca23238ae1e06cae2b2dba7b0b5256d35b13667e9afb7595612e94565b908281556001429101558560005260276020528260002085600052602052614b6f83600020918254612eb4565b90558151908152426020820152a33880808080808080614ada565b6127109250906133b981614b9d936146a2565b043880614af1565b906000602091828151910182855af11561063c576000513d614bf757506001600160a01b0381163b155b614bd65750565b635274afe760e01b60009081526001600160a01b0391909116600452602490fd5b60011415614bcf565b60001981146113db576001019056feb114240d54ce08081cbd18870dc3b6cd4091bb86ff29d2ad41906c2a2d6723d4ed1f3e12429ce88e77b14ddf9c2eb89f0b9e1e0faa7e33a95d0ce1bbc90a1c2f7b765e0e932d348852a6f810bfa1ab891e259123f02db8cdcde614c570223357f3e4c2c64e71e6ba2eaab9a599bced62f9eb91d2cda610bf41aa8c80ff2cf8268a888ea653a580e40660778ee0c0dabd23a81e8e2c8dcfb938e40982a157d8195c91514091af31f62f596a314af7d5be40146b2f2355969392f055e12e0982fb0792cf7388f234e543a10a68aeb7b96568fb90b55ddc2b2945961c80a3c3a08219e1fee2e38695e60ad3ef8c81759c22d6d7ee56f9b8805363820a50da468a18a1496c3abf9cd93b84db10ae569b57fafa04deeeb7ece4167616ad50e35bc56e3042bda52a74ddb3e9f32af4781d52bf053f705dba3c9e09f402f6fb9446474da2646970667358221220baebf0c8cdb89b7889d64bd6da7da29a3d247799ac95427436aa1c3ad6bbee7f64736f6c634300081e00332f8788117e7eff1d82e926ec794901d17c78024a50270940304540a733656f0da6eef7e35abe7026729641147f7915573c7e97b47efa546f5f6e3230263bcb490298389358dc4e56cb082b3bb11d0524b39b30d4fc48a48562a008cd6edee05fb430885b2fd8ad5c711883989efa8a81a8244e77d7ee19caf947074a66cbfadfc3eac9ead20d697480ab489ced881761c627fd3281937449e4d4d7fbf9faa2cdbb55feefbbeeb450791a2805b5c4f111914a5147fd3ab1f161e7773d871abcc3";
18
18
  static readonly abi: readonly [{
19
19
  readonly inputs: readonly [{
20
20
  readonly internalType: "address";
@@ -103,6 +103,10 @@ export declare class RWAGauge__factory extends ContractFactory {
103
103
  readonly inputs: readonly [];
104
104
  readonly name: "InvalidAmount";
105
105
  readonly type: "error";
106
+ }, {
107
+ readonly inputs: readonly [];
108
+ readonly name: "InvalidBoostRatio";
109
+ readonly type: "error";
106
110
  }, {
107
111
  readonly inputs: readonly [];
108
112
  readonly name: "InvalidCheckpointIndex";
@@ -301,7 +305,7 @@ export declare class RWAGauge__factory extends ContractFactory {
301
305
  readonly inputs: readonly [{
302
306
  readonly indexed: false;
303
307
  readonly internalType: "uint256";
304
- readonly name: "emission";
308
+ readonly name: "newEmission";
305
309
  readonly type: "uint256";
306
310
  }];
307
311
  readonly name: "EmissionUpdated";
@@ -486,6 +490,36 @@ export declare class RWAGauge__factory extends ContractFactory {
486
490
  }];
487
491
  readonly name: "Staked";
488
492
  readonly type: "event";
493
+ }, {
494
+ readonly anonymous: false;
495
+ readonly inputs: readonly [{
496
+ readonly indexed: true;
497
+ readonly internalType: "address";
498
+ readonly name: "token";
499
+ readonly type: "address";
500
+ }, {
501
+ readonly indexed: false;
502
+ readonly internalType: "uint256";
503
+ readonly name: "ratio";
504
+ readonly type: "uint256";
505
+ }];
506
+ readonly name: "TokenBoostRatioUpdated";
507
+ readonly type: "event";
508
+ }, {
509
+ readonly anonymous: false;
510
+ readonly inputs: readonly [{
511
+ readonly indexed: true;
512
+ readonly internalType: "address";
513
+ readonly name: "token";
514
+ readonly type: "address";
515
+ }, {
516
+ readonly indexed: false;
517
+ readonly internalType: "uint256";
518
+ readonly name: "newEmissionCap";
519
+ readonly type: "uint256";
520
+ }];
521
+ readonly name: "TokenEmissionCapUpdated";
522
+ readonly type: "event";
489
523
  }, {
490
524
  readonly anonymous: false;
491
525
  readonly inputs: readonly [{
@@ -898,6 +932,62 @@ export declare class RWAGauge__factory extends ContractFactory {
898
932
  }];
899
933
  readonly stateMutability: "view";
900
934
  readonly type: "function";
935
+ }, {
936
+ readonly inputs: readonly [];
937
+ readonly name: "getPeriodState";
938
+ readonly outputs: readonly [{
939
+ readonly components: readonly [{
940
+ readonly components: readonly [{
941
+ readonly internalType: "uint256";
942
+ readonly name: "startTime";
943
+ readonly type: "uint256";
944
+ }, {
945
+ readonly internalType: "uint256";
946
+ readonly name: "endTime";
947
+ readonly type: "uint256";
948
+ }, {
949
+ readonly internalType: "uint256";
950
+ readonly name: "lastUpdateTime";
951
+ readonly type: "uint256";
952
+ }, {
953
+ readonly internalType: "uint256";
954
+ readonly name: "value";
955
+ readonly type: "uint256";
956
+ }, {
957
+ readonly internalType: "uint256";
958
+ readonly name: "weightedSum";
959
+ readonly type: "uint256";
960
+ }, {
961
+ readonly internalType: "uint256";
962
+ readonly name: "totalDuration";
963
+ readonly type: "uint256";
964
+ }, {
965
+ readonly internalType: "uint256";
966
+ readonly name: "weight";
967
+ readonly type: "uint256";
968
+ }];
969
+ readonly internalType: "struct TimeWeightedAverage.Period";
970
+ readonly name: "votingPeriod";
971
+ readonly type: "tuple";
972
+ }, {
973
+ readonly internalType: "uint256";
974
+ readonly name: "emission";
975
+ readonly type: "uint256";
976
+ }, {
977
+ readonly internalType: "uint256";
978
+ readonly name: "distributed";
979
+ readonly type: "uint256";
980
+ }, {
981
+ readonly internalType: "uint256";
982
+ readonly name: "periodStartTime";
983
+ readonly type: "uint256";
984
+ }];
985
+ readonly internalType: "struct IBaseGauge.PeriodState";
986
+ readonly name: "";
987
+ readonly type: "tuple";
988
+ }];
989
+ readonly stateMutability: "view";
990
+ readonly type: "function";
901
991
  }, {
902
992
  readonly inputs: readonly [];
903
993
  readonly name: "getRewardTokens";
@@ -922,6 +1012,24 @@ export declare class RWAGauge__factory extends ContractFactory {
922
1012
  }];
923
1013
  readonly stateMutability: "view";
924
1014
  readonly type: "function";
1015
+ }, {
1016
+ readonly inputs: readonly [{
1017
+ readonly internalType: "address";
1018
+ readonly name: "token";
1019
+ readonly type: "address";
1020
+ }];
1021
+ readonly name: "getTokenEmissionState";
1022
+ readonly outputs: readonly [{
1023
+ readonly internalType: "uint256";
1024
+ readonly name: "emissionCap_";
1025
+ readonly type: "uint256";
1026
+ }, {
1027
+ readonly internalType: "uint256";
1028
+ readonly name: "distributed_";
1029
+ readonly type: "uint256";
1030
+ }];
1031
+ readonly stateMutability: "view";
1032
+ readonly type: "function";
925
1033
  }, {
926
1034
  readonly inputs: readonly [{
927
1035
  readonly internalType: "address";
@@ -1232,6 +1340,14 @@ export declare class RWAGauge__factory extends ContractFactory {
1232
1340
  readonly internalType: "uint256";
1233
1341
  readonly name: "integral";
1234
1342
  readonly type: "uint256";
1343
+ }, {
1344
+ readonly internalType: "uint256";
1345
+ readonly name: "emissionCap";
1346
+ readonly type: "uint256";
1347
+ }, {
1348
+ readonly internalType: "uint256";
1349
+ readonly name: "distributed";
1350
+ readonly type: "uint256";
1235
1351
  }];
1236
1352
  readonly stateMutability: "view";
1237
1353
  readonly type: "function";
@@ -1385,6 +1501,34 @@ export declare class RWAGauge__factory extends ContractFactory {
1385
1501
  readonly outputs: readonly [];
1386
1502
  readonly stateMutability: "nonpayable";
1387
1503
  readonly type: "function";
1504
+ }, {
1505
+ readonly inputs: readonly [{
1506
+ readonly internalType: "address";
1507
+ readonly name: "token";
1508
+ readonly type: "address";
1509
+ }, {
1510
+ readonly internalType: "uint256";
1511
+ readonly name: "ratio";
1512
+ readonly type: "uint256";
1513
+ }];
1514
+ readonly name: "setTokenBoostRatio";
1515
+ readonly outputs: readonly [];
1516
+ readonly stateMutability: "nonpayable";
1517
+ readonly type: "function";
1518
+ }, {
1519
+ readonly inputs: readonly [{
1520
+ readonly internalType: "address";
1521
+ readonly name: "token";
1522
+ readonly type: "address";
1523
+ }, {
1524
+ readonly internalType: "uint256";
1525
+ readonly name: "emissionCap";
1526
+ readonly type: "uint256";
1527
+ }];
1528
+ readonly name: "setTokenEmissionCap";
1529
+ readonly outputs: readonly [];
1530
+ readonly stateMutability: "nonpayable";
1531
+ readonly type: "function";
1388
1532
  }, {
1389
1533
  readonly inputs: readonly [{
1390
1534
  readonly internalType: "uint256";
@@ -1435,6 +1579,20 @@ export declare class RWAGauge__factory extends ContractFactory {
1435
1579
  readonly outputs: readonly [];
1436
1580
  readonly stateMutability: "nonpayable";
1437
1581
  readonly type: "function";
1582
+ }, {
1583
+ readonly inputs: readonly [{
1584
+ readonly internalType: "address";
1585
+ readonly name: "";
1586
+ readonly type: "address";
1587
+ }];
1588
+ readonly name: "tokenBoostRatios";
1589
+ readonly outputs: readonly [{
1590
+ readonly internalType: "uint256";
1591
+ readonly name: "";
1592
+ readonly type: "uint256";
1593
+ }];
1594
+ readonly stateMutability: "view";
1595
+ readonly type: "function";
1438
1596
  }, {
1439
1597
  readonly inputs: readonly [];
1440
1598
  readonly name: "totalSupply";
@@ -14,7 +14,7 @@ export declare class Governance__factory extends ContractFactory {
14
14
  deploymentTransaction(): ContractTransactionResponse;
15
15
  }>;
16
16
  connect(runner: ContractRunner | null): Governance__factory;
17
- static readonly bytecode = "0x60a0346200027a5762002b4c90601f38839003908101601f19168201906001600160401b038211838310176200027f57808391604095869485528339810103126200027a576200004f81620002b5565b906200005f6020809201620002b5565b9033156200026257600080546001600160a01b031980821633908117845587519396936001600160a01b039390919084167f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e08980a360019384805562015180938460035562093a80928360045569130ee8e7179044400000600555600460065581831692831562000247575050871696871562000225575060805260029586928354161782556200010f62000295565b610e108152828682016212750081528a8301908682528a8052600b89528b8b20935184555187840155519101556200014662000295565b9283528483016224ea008152888401918252848852600b8652888820935184555184840155519101556200017962000295565b683635c9adc5dea0000081528383820169d3c21bcecceda100000081528783019069152d02c7e14af68000008252828852600b865288882093518455518484015551910155620001c862000295565b93838552858386019160148352600b8288019560048752600383525220945185555190840155519101555161284a9081620003028239608051818181610c8d015281816118d1015281816119b501528181611dcc015261264f0152f35b8951634345d91360e01b8152908190620002439060048301620002ca565b0390fd5b634345d91360e01b82528190620002439060048301620002ca565b8351631e4fbdf760e01b815260006004820152602490fd5b600080fd5b634e487b7160e01b600052604160045260246000fd5b60405190606082016001600160401b038111838210176200027f57604052565b51906001600160a01b03821682036200027a57565b6001600160a01b039091168152604060208201819052600c908201526b5a65726f206164647265737360a01b60608201526080019056fe60a080604052600436101561001357600080fd5b600080608052803560e01c91826302a251a314611f625750816315373e3d14611d335781631703a01814611d0e5781632ab414fc14611ae85781633932abb114611ac85781633e4f49e614611a9b57816340e58ee5146117da5781636e768530146116fd5781636fef541a146116df578163715018a6146116925781638da5cb5b146116695781639a79018e14610af6578163a7713a7014610ad6578163b58131b014610ab6578163bc903cb814610a02578163bdacb3031461094a578163c7f758a814610705578163f2fde38b1461068d578163fe0d94c11461013e575063ff9810991461010157600080fd5b3461013857602036600319011261013857600435608051526009602052604080608051206001815491015482519182526020820152f35b60805180fd5b3461013857600319602036820181136101385760043591600193600285541461067b576002855583608051526008835260ff600460406080512001541661065c5761018884612480565b6007811015610644576004810361040c57508360805152600883526040608051209160058301549060018060a01b03600254169360068101946008600783019201956040519663b1c5f42760e01b88528888806101eb8985898860048601612422565b0381865afa97881561033a57608051986103d9575b50604051632c258a9f60e11b8152600481018990528981602481875afa90811561033a57608051916103ac575b5061038d5760405163793d064960e11b8152948986600481875afa91821561033a578a9660805193610347575b50916102ad61029e989261028e95946040519a8b998a9889986308f2a0bb60e41b8a5260c060048b015260c48a01906122a9565b90848983030160248a01526122ef565b918683030160448701526123c2565b916080516064850152608484015260a48301520391608051905af1801561033a5761030d575b50507f916e699aba0e06d563d4fce322625c81a035be48592da0eeb39406ef3fe6c90e91604091825191428352820152a25b805560805180f35b8390813d8311610333575b61032281836120e2565b8101031261033057806102d3565b80fd5b503d610318565b6040513d608051823e3d90fd5b80929350879194969895973d8311610386575b61036481836120e2565b810103126103825751929589959094909390929091906102ad61025a565b8780fd5b503d61035a565b60405163ac5aa12360e01b8152600481018b9052426024820152604490fd5b6103cc91508a3d8c116103d2575b6103c481836120e2565b810190612468565b8c61022d565b503d6103ba565b9097508881813d8311610405575b6103f181836120e2565b810103126104015751968b610200565b8680fd5b503d6103e7565b929392915050600581036105c8575080608051526008825260406080512060058101549060018060a01b036002541691600682019060078301936008840160405163b1c5f42760e01b815288818061046a87868c8b60048601612422565b0381865afa90811561033a576080519161059b575b50604051629de4f960e51b8152600481018290528981602481875afa90811561033a576080519161057e575b50156105605750813b15610138576104de956040519687948593849363e38335e560e01b85526080519860048601612422565b0391608051905af1801561033a5761052f575b600401805460ff1916851790555060405142815233927f3b7c90df35b419337cff0919fe91849006607bb66c4373623f06f9d48c1ebb9891a3610305565b6001600160401b038211610548576004916040526104f1565b634e487b7160e01b6080515260416004526024608051fd5b8760449160405191634c8529b560e01b835260048301526024820152fd5b61059591508a3d8c116103d2576103c481836120e2565b8b6104ab565b90508881813d83116105c1575b6105b281836120e2565b8101031261013857518a61047f565b503d6105a8565b60c4919061060590858103610639576105fb6004915b604051946318724dc160e31b865260048601526024850190611f80565b6044830190611f80565b60806064820152601b60848201527a24b73b30b634b21039ba30ba32903337b91032bc32b1baba34b7b760291b60a4820152fd5b6105fb6005916105de565b634e487b7160e01b6080515260216004526024608051fd5b60405163ac5aa12360e01b815260048101859052426024820152604490fd5b604051633ee5aeb560e01b8152600490fd5b34610138576020366003190112610138576106a661211c565b6106ae61217d565b6001600160a01b0390811680156106eb5760805180546001600160a01b03198116831782559092166000805160206127f58339815191528380a380f35b604051631e4fbdf760e01b81526080516004820152602490fd5b34610138576020366003190112610138576060610140604051610727816120b0565b60805181526080516020820152608051604082015260805183820152608051608082015260805160a082015260805160c082015260805160e082015282610100820152826101208201520152600435608051526008602052604060805120610825600860405192610797846120b0565b8054845260018101546001600160a01b03811660208601526107c29060a01c60ff16604086016121e2565b600281015460608501526003810154608085015260ff6004820154818116151560a0870152831c16151560c0850152600581015460e0850152610807600682016126e1565b61010085015261081960078201612739565b61012085015201612788565b610140820152606081015115610931576040805160208082528351818301528301516001600160a01b03168183015290820151909190600581101561064457606083015260608101516080830152608081015160a083015260a0810151151560c083015260c0810151151560e083015260e081015161010083015281610100820151916101609283610120840152610180830193815180955260206101a085019201946080515b81811061090f57505061090b9394506101406108fa61012085015193601f19948589830301848a0152611fe0565b930151918584030190850152612054565b0390f35b86516001600160a01b03168452602096870196889650909301926001016108cc565b60246040516302780ba160e51b81526004356004820152fd5b346101385760203660031901126101385761096361211c565b61096b61217d565b6001600160a01b0390811680156109c757600254918160018060a01b03198416176002556040519216825260208201527f8b14777331729fde0b3eaab633c49c039725ef23bf32d428612cc0a43f3ac52160403392a260805180f35b60849060405190634345d91360e01b8252600482015260406024820152600c60448201526b5a65726f206164647265737360a01b6064820152fd5b34610138576020366003190112610138576101406004358060805152600860205260ff60805191610a3e60408085209460096020522091612480565b926002810154916003820154906001815491015490610a5d82826121bf565b926004610a6861263a565b95015495610a79604051809a611f80565b60208901526040880152426060880152608087015260a086015260c085015260e0840152818116151561010084015260081c161515610120820152f35b346101385760805180600319360112610330576020600554604051908152f35b346101385760805180600319360112610330576020600654604051908152f35b346101385760a0366003190112610138576004356001600160401b0381116101385736602382011215610138578060040135610b3181612105565b91610b3f60405193846120e2565b8183526024602084019260051b8201019036821161013857602401915b81831061164957602435846001600160401b038211610138573660238301121561013857816004013591610b8f83612105565b92610b9d60405194856120e2565b8084526024602085019160051b8301019136831161013857602401905b8282106116395750506001600160401b0360443511905061013857366023604435011215610138576044356004013590610bf382612105565b91610c0160405193846120e2565b80835260208301903660248260051b60443501011161013857602460443501915b60248260051b604435010183106115ed57505060643590506001600160401b038111610138573660238201121561013857610c67903690602481600401359101612137565b60056084351015610138576040516370a0823160e01b81523360048201526020816024817f00000000000000000000000000000000000000000000000000000000000000006001600160a01b03165afa90811561033a57608051916115bb575b506005548082106115715750825180158015611566575b801561155b575b611535575060075493600019851461151d5760018501600755610d0a600354426121bf565b92610d17600454856121bf565b918151602083012060405190610d2c826120b0565b888252336020830152610d44608435604084016121e2565b86606083015284608083015260805160a083015260805160c083015260e0820152866101008201528861012082015281610140820152876080515260086020526080519060408220918151835560018060a01b03602083015116600184015491604084015190600582101561150657506001600160a81b03199092161760a091821b60ff60a01b16176001840155606082015160028401556080820151600384015581015160048301805460c084015161ffff1990911692151560ff169290921791151560081b61ff001691909117905560e0810151600583015561010081015180519091906001600160401b03811161054857600160401b81116105485760206006850193610e5983865481885587612205565b0192608051526080519260208420845b8381106114e95750505050610120810151805190926001600160401b03821161132b5750600160401b81116105485760206007850193610eae83865481885587612205565b0192608051526080519260208420845b8381106114d557505050506101400151805191600160401b831161132b57506008830154826008850155808310611456575b50602060089101920160805152608051916020832092905b828210611373575050604051999150506001600160401b0360808a01908111908a111761054857608089016040528689528060208a01528160408a01528260608a01528760805152600a6020526080519860408a2099815180519160018060401b03831161132b5750600160401b821161054857602090610f8f838e805490828155612205565b01908b608051526080519160208320835b83811061135657505050506020820151805190916001600160401b03821161132b5750600160401b811161054857602060018d0192610fe483855481875586612205565b0191608051526080519160208320835b83811061134257505050506040820151805191600160401b831161132b575060028c018054908390558083106112ac575b506080805160028e0190525160208082209392015b8282106111c357505050506060015180519099906001600160401b0381116105485760209a61107982611070600386015461222a565b60038601612264565b608051908c91601f84116001146111495750926003836110de946110ec97946110fa9a99976080519261113e575b50508160011b9160001990841b1c1916179101555b6110d16040519a60e08c5260e08c0190611fa3565b908a82038d8c0152611fe0565b9088820360408a0152612054565b908682036060880152612014565b92608085015260a084015260c0830152827ff64a0f9b0fd82f5759c1c42bf25189f0034326f54cf30cd85e29e780bc43a06f608435938033940390a4604051908152f35b0151905038806110a7565b6003850190526080518d81209291905b601f19851681106111ac57506001846110ec97946110fa9a9997946003946110de98601f19811610611194575b505050811b019101556110bc565b015160001983861b60f8161c19169055388080611186565b91928e600181928685015181550194019201611159565b80518051906001600160401b038211610548576111ea826111e4885461222a565b88612264565b6080519086602092601f851160011461123e575050928260019493602093869560805192611233575b5050600019600383901b1c191690841b1787555b0194019101909261103a565b015190503880611213565b52608051602081209291905b601f1985168110611294575083602093600196938796938794601f1981161061127b575b505050811b018755611227565b015160001960f88460031b161c1916905538808061126e565b9192602060018192868501518155019401920161124a565b60028d0160805152602060805120908382015b81830181106112cf575050611025565b806112dc6001925461222a565b806112e9575b50016112bf565b601f90818111841461130357505060805181555b386112e2565b82608051526113226080519260208420920160051c82018583016121ee565b818355556112fd565b634e487b7160e01b90526041600452608051602490fd5b600190602084519401938184015501610ff4565b82516001600160a01b031681830155602090920191600101610fa0565b80518051906001600160401b03821161054857611394826111e4885461222a565b6080519086602092601f85116001146113e85750509282600194936020938695608051926113dd575b5050600019600383901b1c191690841b1787555b01940191019092610f08565b0151905038806113bd565b52608051602081209291905b601f198516811061143e575083602093600196938796938794601f19811610611425575b505050811b0187556113d1565b015160001960f88460031b161c19169055388080611418565b919260206001819286850151815501940192016113f4565b6008840160805152602060805120908382015b8183018110611479575050610ef0565b806114866001925461222a565b80611493575b5001611469565b601f9081811184146114ad57505060805181555b8f61148c565b82608051526114cc6080519260208420920160051c82018583016121ee565b818355556114a7565b600190602084519401938184015501610ebe565b82516001600160a01b031681830155602090920191600101610e69565b634e487b7160e01b90526021600452608051602490fd5b634e487b7160e01b6080515260116004526024608051fd5b855185516040516340b6daef60e01b81529283926115579291600485016121a9565b0390fd5b508451811415610ce5565b508551811415610cde565b60c492506040519163d204a2ef60e01b83523360048401526024830152604482015260806064820152600f60848201526e10995b1bddc81d1a1c995cda1bdb19608a1b60a4820152fd5b90506020813d6020116115e5575b816115d6602093836120e2565b81010312610138575185610cc7565b3d91506115c9565b8235906001600160401b038211610138573660438360443501011215610138576020809161162c60249436906044878282350101359181350101612137565b8152019301929050610c22565b8135815260209182019101610bba565b82356001600160a01b038116810361013857815260209283019201610b5c565b34610138576080518060031936011261033057546040516001600160a01b039091168152602090f35b346101385760805180600319360112610330576116ad61217d565b60805180546001600160a01b03198116825581906001600160a01b03166000805160206127f58339815191528280a380f35b34610138576080518060031936011261033057602060405160648152f35b34610138576020366003190112610138576004358060805152600860205260026040608051200154156117c25760805152600a60205261179860406080512061090b60036117b461174d846126e1565b936117a661175d60018301612739565b61178461176c60028501612788565b9361177d604051809881930161232c565b03866120e2565b604051978897608089526080890190611fa3565b908782036020890152611fe0565b908582036040870152612054565b908382036060850152612014565b602490604051906302780ba160e51b82526004820152fd5b346101385760208060031936011261013857600435806080515260088252604060805120600281015415611a825761181182612480565b60078110156106445760068114611a20575060018101546001600160a01b03908116903382141580611999575b6118b257505060040161010061ff0019825416179055601d604051928084528301527f50726f706f73616c2063616e63656c65642062792070726f706f73657200000060408301527f48b87c81e019e78e90580f3644772cc8b3da0be5206b8bc480861ca9ac14937c60603393a360805180f35b908480602493604051948580926370a0823160e01b82528660048301527f0000000000000000000000000000000000000000000000000000000000000000165afa90811561033a576080519161196a575b60e48383600554906040519263d204a2ef60e01b845260048401526024830152604482015260806064820152602360848201527f50726f706f736572206c6f737420726571756972656420766f74696e6720706f60a4820152623bb2b960e91b60c4820152fd5b905082813d8311611992575b61198081836120e2565b810103126101385760e4915183611903565b503d611976565b506040516370a0823160e01b81526004810183905285816024817f000000000000000000000000000000000000000000000000000000000000000086165afa90811561033a57608051916119f3575b50600554111561183e565b90508581813d8311611a19575b611a0a81836120e2565b810103126101385751866119e8565b503d611a00565b6040516318724dc160e31b81526004810184905260c491611a45906024830190611f80565b6001604482015260806064820152601f60848201527f43616e6e6f742063616e63656c2065786563757465642070726f706f73616c0060a4820152fd5b6040516302780ba160e51b815260048101839052602490fd5b34610138576020366003190112610138576020611ab9600435612480565b611ac66040518092611f80565bf35b346101385760805180600319360112610330576020600354604051908152f35b3461013857604036600319011261013857600435600481101561013857602435611b1061217d565b60805191808352600b60205260406080512080548084108015611d01575b611c54575b506002019282845494556106445780611b8357508060035560405191825260208201527ffb4fa38ff84d7e85c455e557b0f02c3da2b6f3eacc64d719152bca94bdb030c560403392a25b60805180f35b60018103611bc657508060045560405191825260208201527f42f9b5db5173935a3096441c733db28523835a1ee001b24e07f8ae4d4746686360403392a2611b7d565b60028103611c0957508060055560405191825260208201527f91c4c6640f2de7db3fc99a3a75ba90845b5a1283d59ffebda0fce322caac1b2b60403392a2611b7d565b600314611c18575b5050611b7d565b8060065560405191825260208201527f4a9591726cd91cde93a0524544a551f8a07b8815f57d0baa096b1952d6824a7760403392a28080611c11565b93508115611cdf5760018214611cbd5760028214611c9b576080519360038303611b3357600182015460405163791c2f6160e01b81529182916115579187600485016121a9565b60010154604051632b0cf17d60e11b81529384936115579350600485016121a9565b600101546040516319bd218160e11b81529384936115579350600485016121a9565b60010154604051630c2b105560e01b81529384936115579350600485016121a9565b5060018201548411611b2e565b346101385760805180600319360112610330576020611d2b61263a565b604051908152f35b3461013857604036600319011261013857600435602435801515918282036101385780608051526020926008845260406080512060028101548015611f4957804210611f29575060030154804211611f095750816080515260098452608051926040842090600282019433905284865260ff6040608051205416611ee4576040516370a0823160e01b81523360048201529486866024817f00000000000000000000000000000000000000000000000000000000000000006001600160a01b03165afa95861561033a5760805196611eb5575b508515611e975733608051528652604060805120600160ff19825416179055600014611e8257611e378482546121bf565b90555b60405190815282848201526060604082015260805160608201527fdb8cde5b35e4952cb6cb7b66683217a31b612d605f0e456621749b5e500180c660803392a3604051908152f35b600101611e908482546121bf565b9055611e3a565b604051638102b74960e01b8152336004820152436024820152604490fd5b9095508681813d8311611edd575b611ecd81836120e2565b8101031261013857519487611e06565b503d611ec3565b604051636bf5977960e01b815260048101859052336024820152426044820152606490fd5b6040516319d513d960e31b815292839250611557914291600485016121a9565b604051632d43181360e21b815290819061155790429087600485016121a9565b6040516302780ba160e51b815260048101859052602490fd5b34611f7c5781600319360112611f7c576020906004548152f35b5080fd5b906007821015611f8d5752565b634e487b7160e01b600052602160045260246000fd5b90815180825260208080930193019160005b828110611fc3575050505090565b83516001600160a01b031685529381019392810192600101611fb5565b90815180825260208080930193019160005b828110612000575050505090565b835185529381019392810192600101611ff2565b919082519283825260005b848110612040575050826000602080949584010152601f8019910116010190565b60208183018101518483018201520161201f565b908082519081815260208091019281808460051b8301019501936000915b8483106120825750505050505090565b90919293949584806120a0600193601f198682030187528a51612014565b9801930193019194939290612072565b61016081019081106001600160401b038211176120cc57604052565b634e487b7160e01b600052604160045260246000fd5b601f909101601f19168101906001600160401b038211908210176120cc57604052565b6001600160401b0381116120cc5760051b60200190565b600435906001600160a01b038216820361213257565b600080fd5b9192916001600160401b0382116120cc5760405191612160601f8201601f1916602001846120e2565b829481845281830111612132578281602093846000960137010152565b6000546001600160a01b0316330361219157565b60405163118cdaa760e01b8152336004820152602490fd5b6040919493926060820195825260208201520152565b919082018092116121cc57565b634e487b7160e01b600052601160045260246000fd5b6005821015611f8d5752565b8181106121f9575050565b600081556001016121ee565b9181811061221257505050565b61222892600052602060002091820191016121ee565b565b90600182811c9216801561225a575b602083101461224457565b634e487b7160e01b600052602260045260246000fd5b91607f1691612239565b9190601f811161227357505050565b612228926000526020600020906020601f840160051c8301931061229f575b601f0160051c01906121ee565b9091508190612292565b90815480825260208092019260005281600020916000905b8282106122cf575050505090565b83546001600160a01b0316855293840193600193840193909101906122c1565b90815480825260208092019260005281600020916000905b828210612315575050505090565b835485529384019360019384019390910190612307565b906000929180549161233d8361222a565b91828252600193848116908160001461239f575060011461235f575b50505050565b90919394506000526020928360002092846000945b83861061238b575050505001019038808080612359565b805485870183015294019385908201612374565b9294505050602093945060ff191683830152151560051b01019038808080612359565b9080825490818152602080910192818360051b8201019460005281600020936000915b8483106123f55750505050505090565b9091929394958460016124128193601f198682030187528a61232c565b98019301930191949392906123e5565b94939261244e60809361244061245c9460a08a5260a08a01906122a9565b9088820360208a01526122ef565b9086820360408801526123c2565b93600060608201520152565b90816020910312612132575180151581036121325790565b600090808252602060088152604092838120926002840154801561262257600485015460ff8160081c166126165760ff1661260b57421061260357600384015442106125f957815260098252838120600181549101546124e081836121bf565b6124e861263a565b119182156125ee575b50506125e5576002546005840154855163b1c5f42760e01b81526001600160a01b0390921694849183918291612537916008810190600781019060060160048601612422565b0381875afa9081156125db5790839183916125ac575b506024865180968193632c258a9f60e11b835260048301525afa9384156125a2575092612585575b505061258057600490565b600590565b61259b9250803d106103d2576103c481836120e2565b3880612575565b51903d90823e3d90fd5b82819392503d83116125d4575b6125c381836120e2565b81010312611f7c578290513861254d565b503d6125b9565b85513d84823e3d90fd5b50505050600390565b1115905038806124f1565b5050505050600190565b509250505090565b505050505050600690565b50505050505050600290565b85516302780ba160e51b815260048101839052602490fd5b6040516318160ddd60e01b81526020816004817f00000000000000000000000000000000000000000000000000000000000000006001600160a01b03165afa9081156126d5576000916126a4575b50600654908181029181830414901517156121cc576064900490565b906020823d82116126cd575b816126bd602093836120e2565b8101031261033057505138612688565b3d91506126b0565b6040513d6000823e3d90fd5b9060405191828154918282526020928383019160005283600020936000905b82821061271657505050612228925003836120e2565b85546001600160a01b031684526001958601958895509381019390910190612700565b9060405191828154918282526020928383019160005283600020936000905b82821061276e57505050612228925003836120e2565b855484526001958601958895509381019390910190612758565b90815461279481612105565b926040936127a4855191826120e2565b828152809460208092019260005281600020906000935b8585106127ca57505050505050565b600184819284516127e6816127df818a61232c565b03826120e2565b8152019301940193916127bb56fe8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e0a264697066735822122023230e382866a275610b5c12f36244f7f39fd0bf7dbfbb70159749d1adf8f17064736f6c63430008140033";
17
+ static readonly bytecode = "0x60a0604052346103fd57604051601f612c6a38819003918201601f19168301916001600160401b038311848410176104025780849260409485528339810103126103fd57610058602061005183610437565b9201610437565b9033156103e75760008054336001600160a01b03198216811783556040519290916001600160a01b0316907f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e09080a3600180556201518060035562093a80600490815569130ee8e71790444000006005556006556001600160a01b0382169182156103ce5750506001600160a01b0382169182156103ad5750608052600280546001600160a01b031916919091179055610110610418565b610e108152621275006020808301918252620151806040840190815260008052600b90915291517fdf7de25b7f1fd6d0b5205f0e18f1f35bd7b8d84cce336588d184533ce43a6f7655517fdf7de25b7f1fd6d0b5205f0e18f1f35bd7b8d84cce336588d184533ce43a6f7755517fdf7de25b7f1fd6d0b5205f0e18f1f35bd7b8d84cce336588d184533ce43a6f78556101a7610418565b6201518081526224ea00602080830191825262093a80604084019081526001600052600b90915291517f72c6bfb7988af3a1efa6568f02a999bc52252641c659d85961ca3d372b57d5cf55517f72c6bfb7988af3a1efa6568f02a999bc52252641c659d85961ca3d372b57d5d055517f72c6bfb7988af3a1efa6568f02a999bc52252641c659d85961ca3d372b57d5d155610240610418565b683635c9adc5dea00000815269d3c21bcecceda1000000602080830191825269152d02c7e14af6800000604084019081526002600052600b90915291517fa50eece07c7db1631545c0069bd8f5f54d5935e215d59097edf258a44ba9163455517fa50eece07c7db1631545c0069bd8f5f54d5935e215d59097edf258a44ba9163555517fa50eece07c7db1631545c0069bd8f5f54d5935e215d59097edf258a44ba91636556102ed610418565b6002815260146020808301918252600460408085019182526003600052600b90925292517f64c15cc42be7899b001f818cf4433057002112c418d1d3a67cd5cb453051d33e5590517f64c15cc42be7899b001f818cf4433057002112c418d1d3a67cd5cb453051d33f5590517f64c15cc42be7899b001f818cf4433057002112c418d1d3a67cd5cb453051d34055516127e790816104838239608051818181610d300152818161196401528181611a6101528181611e7501526122330152f35b604051634345d91360e01b81529081906103ca906004830161044b565b0390fd5b634345d91360e01b825281906103ca906004830161044b565b631e4fbdf760e01b600052600060045260246000fd5b600080fd5b634e487b7160e01b600052604160045260246000fd5b60405190606082016001600160401b0381118382101761040257604052565b51906001600160a01b03821682036103fd57565b6001600160a01b039091168152604060208201819052600c908201526b5a65726f206164647265737360a01b60608201526080019056fe608080604052600436101561001357600080fd5b600090813560e01c90816302a251a314611fe95750806315373e3d14611de45780631703a01814611dc15780632ab414fc14611bb85780633932abb114611b9a5780633e4f49e614611b6c57806340e58ee5146118745780636e7685301461178b5780636fef541a1461176f578063715018a6146117275780638da5cb5b146117005780639a79018e14610ba2578063a7713a7014610b84578063b58131b014610b66578063bc903cb814610ab3578063bdacb303146109f2578063c7f758a81461079c578063f2fde38b14610728578063fe0d94c1146101335763ff981099146100fd57600080fd5b34610130576020366003190112610130576040809160043581526009602052206001815491015482519182526020820152f35b80fd5b50602036600319011261013057600435600260015414610719576002600155808252600860205260ff60046040842001541661070357610172816124c3565b60078110156106ef576004810361040b575080825260086020526040822060058101549060018060a01b0360025416918154926006830160086007850194019460405195637c87823b60e01b8752602087806101d588858b89896004870161245e565b0381875afa9687156104005789976103cc575b50604051632c258a9f60e11b815260048101889052602081602481885afa9081156103c1578a91610392575b5061037a5760405163793d064960e11b8152899291602082600481895afa91821561033057849261033b575b509561027d95949392916102a160209861028f6040519b8c9a8b998a98633460cdaf60e01b8a5260048a015260e060248a015260e48901906122c6565b87810360031901604489015290612309565b85810360031901606487015290612400565b9184608485015260a484015260c483015203925af18015610330576102fa575b5060407f916e699aba0e06d563d4fce322625c81a035be48592da0eeb39406ef3fe6c90e918151904282526020820152a25b6001805580f35b6020813d602011610328575b8161031360209383612165565b81010312610323575060406102c1565b600080fd5b3d9150610306565b6040513d86823e3d90fd5b929150949392506020823d602011610372575b8161035b60209383612165565b810103126103235790519293919289926020610240565b3d915061034e565b63ac5aa12360e01b8952600488905242602452604489fd5b6103b4915060203d6020116103ba575b6103ac8183612165565b8101906124ab565b38610214565b503d6103a2565b6040513d8c823e3d90fd5b9096506020813d6020116103f8575b816103e860209383612165565b81010312610323575195386101e8565b3d91506103db565b6040513d8b823e3d90fd5b6005810361067257508082526008602052604082209060058201549060018060a01b036002541690835493600681019460078201809460208860088601946104698a876040519788958695637c87823b60e01b87526004870161245e565b0381845afa918215610400578992610639575b50602060249160405192838092629de4f960e51b82528660048301525afa90811561040057899161061a575b50156106035750835495879590865b888810156104dd576104d5600191888c528960208d200154906121fb565b9701966104b7565b9193965091949396508034106105ed57908188949392341161059c575b60025487546001600160a01b0390911693843b15610598576105339060405198899788968795630c73048960e01b87526004870161245e565b03925af1801561033057610583575b50600401600160ff19825416179055604051904282527f3b7c90df35b419337cff0919fe91849006607bb66c4373623f06f9d48c1ebb9860203393a36102f3565b926105918160049395612165565b9290610542565b8680fd5b80919293945034033481116105d95790888080808098979695818634146105d0575b3390f16104fa576040513d86823e3d90fd5b506108fc6105be565b634e487b7160e01b89526011600452602489fd5b638bf71b9160e01b885234600452602452604487fd5b634c8529b560e01b88526004849052602452604487fd5b610633915060203d6020116103ba576103ac8183612165565b386104a8565b9091506020813d60201161066a575b8161065560209383612165565b81010312610666575190602061047c565b8880fd5b3d9150610648565b60c492506106b090600181036106e4576106a66004915b604051946318724dc160e31b865260048601526024850190612005565b6044830190612005565b60806064820152601b60848201527a24b73b30b634b21039ba30ba32903337b91032bc32b1baba34b7b760291b60a4820152fd5b6106a6600591610689565b634e487b7160e01b83526021600452602483fd5b63ac5aa12360e01b825260045242602452604490fd5b633ee5aeb560e01b8252600482fd5b50346101305760203660031901126101305761074261219f565b61074a612768565b6001600160a01b031680156107885781546001600160a01b03198116821783556001600160a01b03166000805160206127928339815191528380a380f35b631e4fbdf760e01b82526004829052602482fd5b50346101305760203660031901126101305760043560606101406040516107c281612133565b84815284602082015284604082015284838201528460808201528460a08201528460c08201528460e082015282610100820152826101208201520152808252600860205260408220916040519261081884612133565b8054845260018101546001600160a01b03811660208601908152949060408201906108499060a01c60ff16826126c8565b60028301546060830190815260038401546080840190815260048501549060a085019060ff83161515825260ff60c087019360081c161515835260058701549360e08701948552604051956108ac876108a58160068d016122c6565b0388612165565b61010088019687526108e360086040519a6108d58c6108ce8160078501612309565b038d612165565b6101208b019b8c5201612668565b9a61014089019b8c528251156109e057506040519b60208d528c602061018082019a5191015260018060a01b0390511660408d01525160058110156109cc5760608c01525160808b01525160a08a015251151560c089015251151560e088015251610100870152516101606101208701528051918290528594936101a086019392602090920191905b8181106109aa575050506109a692916109929151601f1986830301610140870152612065565b9051838203601f19016101608501526120da565b0390f35b82516001600160a01b031685528796506020948501949092019160010161096c565b634e487b7160e01b8a52602160045260248afd5b6302780ba160e51b8b5260045260248afd5b503461013057602036600319011261013057610a0c61219f565b610a14612768565b6001600160a01b03168015610a7857600280546001600160a01b031981168317909155604080516001600160a01b039092168252602082019290925233917f8b14777331729fde0b3eaab633c49c039725ef23bf32d428612cc0a43f3ac52191a280f35b60849060405190634345d91360e01b8252600482015260406024820152600c60448201526b5a65726f206164647265737360a01b6064820152fd5b5034610130576020366003190112610130576101409060ff6004358083526008602052610aee604080852094838152600960205220916124c3565b926002810154916003820154906001815491015490610b0d82826121fb565b926004610b1861221e565b95015495610b29604051809a612005565b60208901526040880152426060880152608087015260a086015260c085015260e0840152818116151561010084015260081c161515610120820152f35b50346101305780600319360112610130576020600554604051908152f35b50346101305780600319360112610130576020600654604051908152f35b50346101305760a0366003190112610130576004356001600160401b0381116116fc57366023820112156116fc578060040135610bde81612188565b91610bec6040519384612165565b8183526024602084019260051b8201019036821161168057602401915b8183106116dc5750506024359190506001600160401b0382116116d857366023830112156116d857816004013591610c4083612188565b92610c4e6040519485612165565b8084526024602085019160051b8301019136831161166957602401905b8282106116c857505060443590506001600160401b0381116116c457366023820112156116c4578060040135610ca081612188565b91610cae6040519384612165565b8183526024602084019260051b820101903682116105985760248101925b8284106116845750506064359150506001600160401b038111611680573660238201121561168057610d089036906024816004013591016121b5565b9260056084351015611680576040516370a0823160e01b8152336004820152906020826024817f00000000000000000000000000000000000000000000000000000000000000006001600160a01b03165afa91821561167557869261163d575b506005548083106115f357508351801580156115e8575b80156115dd575b6115be57506007549460001986146115aa5760018601600755610dab600354426121fb565b93610db8600454866121fb565b9287835160208501208a604051610dce81612133565b83815260208101903382526040810193610dea608435866126c8565b8b60608301528960808301528360a08301528360c083015260e08201526101008101918c835260406101208301948886526101408401978a895281526008602052209482518655600186019160018060a01b0390511660018060a01b031983541617825551600581101561159557815460ff60a01b191660a091821b60ff60a01b1617909155606082015160028601556080820151600386015581015160048501805460c084015161ffff1990911692151560ff169290921791151560081b61ff001691909117905560e0015160058401555180519060068401906001600160401b0383116114af57600160401b83116114af579060208f92610ef2858454818655856126eb565b0191528d60208120905b8381106115785750509151805192506007840191506001600160401b03831161156457600160401b831161156457602090610f3c848454818655856126eb565b01908d5260208d208d5b8381106115505750505050600801905190815191600160401b831161153c578154838355838d8282106114c3575b505050602001908b5260208b208b915b8383106113e55750506040519a91505060808a016001600160401b0381118b8210176113d157604052878a5260208a0199828b52604081018481528560608301528a8352600a602052604083209b825180519060018060401b0382116113a057600160401b82116113a05760208f91611002848454818655856126eb565b0190865260208620865b8381106113b457505091518051925060018f0191506001600160401b0383116113a057600160401b83116113a05760209061104c848454818655856126eb565b0190855260208520855b83811061138c575050505051805190600160401b82116113785760028d018054908390558d8184106112fe575b505060200160028d0184526020842084915b8383106112225750505050606001518051909a906001600160401b03811161120e5760209b6110d4826110cb6003860154612343565b60038601612723565b8c90601f8311600114611198579260036111068461113b9895889561112d986111499d9c9a9261118d575b5050612710565b9101555b506111206040519a60e08c5260e08c0190612028565b908a82038d8c0152612065565b9088820360408a01526120da565b908682036060880152612099565b92608085015260a084015260c0830152827ff64a0f9b0fd82f5759c1c42bf25189f0034326f54cf30cd85e29e780bc43a06f608435938033940390a4604051908152f35b0151905038806110ff565b6003840185528185209190601f198416865b8181106111f65750846111499a99979461112d979460039461113b9b98600195106111de575b505050811b0191015561110a565b015160001983861b60f8161c191690553880806111d0565b929360206001819287860151815501950193016111aa565b634e487b7160e01b83526041600452602483fd5b80518051906001600160401b0382116112ea57611249826112438654612343565b86612723565b602090601f83116001146112815792611272836001959460209487968d9261118d575050612710565b85555b01920192019190611095565b8489528189209190601f1984168a5b8181106112d257509360209360019693879693838895106112b9575b505050811b018555611275565b015160001960f88460031b161c191690553880806112ac565b92936020600181928786015181550195019301611290565b634e487b7160e01b88526041600452602488fd5b600201855260208520908382015b818301811061131d5750508d611083565b8061132a60019254612343565b80611337575b500161130c565b601f8111831461134c57508781555b38611330565b8189526020892061136791601f0160051c81019084016126d4565b808852876020812081835555611346565b634e487b7160e01b84526041600452602484fd5b600190602084519401938184015501611056565b634e487b7160e01b86526041600452602486fd5b82516001600160a01b03168183015560209092019160010161100c565b634e487b7160e01b82526041600452602482fd5b80518051906001600160401b0382116114af578e9061140e836114088754612343565b87612723565b602091601f8411600114611446578360019592946020948796611437949261118d575050612710565b85555b01920192019190610f84565b9190601f198416868452828420935b818110611497575093602093600196938796938388951061147e575b505050811b01855561143a565b015160001960f88460031b161c19169055388080611471565b92936020600181928786015181550195019301611455565b634e487b7160e01b8f52604160045260248ffd5b8085602092522091820191015b8d8282106114e057859150610f74565b906001916114ee8254612343565b806114fc575b5050016114d0565b601f81118414611511575081555b8e386114f4565b8282526020822061152c91601f0160051c81019085016126d4565b818152602081208183555561150a565b634e487b7160e01b8c52604160045260248cfd5b600190602084519401938184015501610f46565b634e487b7160e01b8e52604160045260248efd5b82516001600160a01b031681830155602090920191600101610efc565b50634e487b7160e01b8f52602160045260248ffd5b634e487b7160e01b87526011600452602487fd5b905183516340b6daef60e01b8852600492909252602452604452606485fd5b508351811415610d86565b508151811415610d7f565b8260c4916040519163d204a2ef60e01b83523360048401526024830152604482015260806064820152600f60848201526e10995b1bddc81d1a1c995cda1bdb19608a1b60a4820152fd5b9091506020813d60201161166d575b8161165960209383612165565b8101031261166957519038610d68565b8580fd5b3d915061164c565b6040513d88823e3d90fd5b8480fd5b83356001600160401b03811161066657820136604382011215610666576020916116b9839236906044602482013591016121b5565b815201930192610ccc565b8380fd5b8135815260209182019101610c6b565b8280fd5b82356001600160a01b038116810361166957815260209283019201610c09565b5080fd5b5034610130578060031936011261013057546040516001600160a01b039091168152602090f35b5034610130578060031936011261013057611740612768565b80546001600160a01b03198116825581906001600160a01b03166000805160206127928339815191528280a380f35b5034610130578060031936011261013057602060405160648152f35b50346101305760203660031901126101305760043590818152600860205260026040822001541561186257806118389260409252600a602052206109a66003611854604051936117e6856117df81846122c6565b0386612165565b611846604051611804816117fd8160018701612309565b0382612165565b61182461181360028501612668565b936117df604051809881930161237d565b604051978897608089526080890190612028565b908782036020890152612065565b9085820360408701526120da565b908382036060850152612099565b6024916302780ba160e51b8252600452fd5b503461013057602036600319011261013057600435808252600860205260408220600281015415611b58576118a8826124c3565b6007811015611b445760068114611ae1575060018101546001600160a01b03163381141580611a44575b611945575060040161010061ff00198254161790556040519060208252601d60208301527f50726f706f73616c2063616e63656c65642062792070726f706f73657200000060408301527f48b87c81e019e78e90580f3644772cc8b3da0be5206b8bc480861ca9ac14937c60603393a380f35b6040516370a0823160e01b8152600481018290528491906020816024817f00000000000000000000000000000000000000000000000000000000000000006001600160a01b03165afa908115611a39578391611a03575b60e48383600554906040519263d204a2ef60e01b845260048401526024830152604482015260806064820152602360848201527f50726f706f736572206c6f737420726571756972656420766f74696e6720706f60a4820152623bb2b960e91b60c4820152fd5b90506020813d602011611a31575b81611a1e60209383612165565b810103126116d85760e49250518361199c565b3d9150611a11565b6040513d85823e3d90fd5b506040516370a0823160e01b8152600481018290526020816024817f00000000000000000000000000000000000000000000000000000000000000006001600160a01b03165afa908115611ad6578591611aa4575b5060055411156118d2565b90506020813d602011611ace575b81611abf60209383612165565b81010312611680575138611a99565b3d9150611ab2565b6040513d87823e3d90fd5b8284611b0660c493604051936318724dc160e31b855260048501526024840190612005565b506001604482015260806064820152601f60848201527f43616e6e6f742063616e63656c2065786563757465642070726f706f73616c0060a4820152fd5b634e487b7160e01b84526021600452602484fd5b6302780ba160e51b83526004829052602483fd5b5034610130576020366003190112610130576020611b8b6004356124c3565b611b986040518092612005565bf35b50346101305780600319360112610130576020600354604051908152f35b50346101305760403660031901126101305760043560048110156116fc57602435611be1612768565b8291808452600b6020526040842080548084108015611db4575b611d12575b50600201928284549455611b445780611c4c57508060035560405191825260208201527ffb4fa38ff84d7e85c455e557b0f02c3da2b6f3eacc64d719152bca94bdb030c560403392a280f35b60018103611c8d57508060045560405191825260208201527f42f9b5db5173935a3096441c733db28523835a1ee001b24e07f8ae4d4746686360403392a280f35b60028103611cce57508060055560405191825260208201527f91c4c6640f2de7db3fc99a3a75ba90845b5a1283d59ffebda0fce322caac1b2b60403392a280f35b600314611cda57505080f35b8060065560405191825260208201527f4a9591726cd91cde93a0524544a551f8a07b8815f57d0baa096b1952d6824a7760403392a280f35b93508115611d945760018214611d745760028214611d5457849360038303611c0057838691600160649401549163791c2f6160e01b8452600452602452604452fd5b60010154632b0cf17d60e11b855260048390526024849052604452606484fd5b600101546319bd218160e11b855260048390526024849052604452606484fd5b60010154630c2b105560e01b855260048390526024849052604452606484fd5b5060018201548411611bfb565b50346101305780600319360112610130576020611ddc61221e565b604051908152f35b5034610130576040366003190112610130576024356004358115158083036116c45781845260086020526040842060028101548015611fd557804210611fba575060030154804211611f9f575081845260096020908152604080862033875260028101928390529086205491959160ff16611f83576040516370a0823160e01b8152336004820152946020866024817f00000000000000000000000000000000000000000000000000000000000000006001600160a01b03165afa958615611a39578396611f4f575b508515611f3857338352602096875260408320805460ff1916600117905515611f2357611edb8582546121fb565b90555b60405191825283858301526060604083015260608201527fdb8cde5b35e4952cb6cb7b66683217a31b612d605f0e456621749b5e500180c660803392a3604051908152f35b600101611f318582546121fb565b9055611ede565b638102b74960e01b83523360045243602452604483fd5b9095506020813d602011611f7b575b81611f6b60209383612165565b810103126116d857519438611ead565b3d9150611f5e565b636bf5977960e01b825260048490523360245242604452606482fd5b6319d513d960e31b8552600483905260245242604452606484fd5b632d43181360e21b8652600484905260245242604452606485fd5b6302780ba160e51b86526004849052602486fd5b9050346116fc57816003193601126116fc576020906004548152f35b9060078210156120125752565b634e487b7160e01b600052602160045260246000fd5b906020808351928381520192019060005b8181106120465750505090565b82516001600160a01b0316845260209384019390920191600101612039565b906020808351928381520192019060005b8181106120835750505090565b8251845260209384019390920191600101612076565b919082519283825260005b8481106120c5575050826000602080949584010152601f8019910116010190565b806020809284010151828286010152016120a4565b9080602083519182815201916020808360051b8301019401926000915b83831061210657505050505090565b9091929394602080612124600193601f198682030187528951612099565b970193019301919392906120f7565b61016081019081106001600160401b0382111761214f57604052565b634e487b7160e01b600052604160045260246000fd5b601f909101601f19168101906001600160401b0382119082101761214f57604052565b6001600160401b03811161214f5760051b60200190565b600435906001600160a01b038216820361032357565b9192916001600160401b03821161214f57604051916121de601f8201601f191660200184612165565b829481845281830111610323578281602093846000960137010152565b9190820180921161220857565b634e487b7160e01b600052601160045260246000fd5b6040516318160ddd60e01b81526020816004817f00000000000000000000000000000000000000000000000000000000000000006001600160a01b03165afa9081156122ba57600091612288575b5060065490818102918183041490151715612208576064900490565b906020823d6020116122b2575b816122a260209383612165565b810103126101305750513861226c565b3d9150612295565b6040513d6000823e3d90fd5b906020825491828152019160005260206000209060005b8181106122ea5750505090565b82546001600160a01b03168452602090930192600192830192016122dd565b906020825491828152019160005260206000209060005b81811061232d5750505090565b8254845260209093019260019283019201612320565b90600182811c92168015612373575b602083101461235d57565b634e487b7160e01b600052602260045260246000fd5b91607f1691612352565b6000929181549161238d83612343565b80835292600181169081156123e357506001146123a957505050565b60009081526020812093945091925b8383106123c9575060209250010190565b6001816020929493945483858701015201910191906123b8565b915050602093945060ff929192191683830152151560051b010190565b90806020835491828152019160208260051b820101936000526020600020926000915b83831061243257505050505090565b90919293946020600161244f8193601f198682030187528961237d565b97019301930191939290612423565b9594939060a09361248361249f94612491938a5260c060208b015260c08a01906122c6565b9088820360408a0152612309565b908682036060880152612400565b93600060808201520152565b90816020910312610323575180151581036103235790565b8060005260086020526040600020906002820154801561265357600483015460ff8160081c1661264a5760ff1661264257421061263b57600382015442111561263457600052600960205260406000206001815491015461252481836121fb565b61252c61221e565b11918215612629575b50506126235760025481546005830154604051637c87823b60e01b81526001600160a01b03909316936020928492839261258292600882019160078101916006909101906004870161245e565b0381855afa80156122ba576000906125f0575b60209150602460405180948193632c258a9f60e11b835260048301525afa9081156122ba576000916125d1575b506125cc57600490565b600590565b6125ea915060203d6020116103ba576103ac8183612165565b386125c2565b506020813d60201161261b575b8161260a60209383612165565b810103126103235760209051612595565b3d91506125fd565b50600390565b111590503880612535565b5050600190565b5050600090565b505050600690565b50505050600290565b506302780ba160e51b60005260045260246000fd5b90815461267481612188565b926126826040519485612165565b818452602084019060005260206000206000915b8383106126a35750505050565b6001602081926040516126ba816117fd818961237d565b815201920192019190612696565b60058210156120125752565b8181106126df575050565b600081556001016126d4565b918181106126f857505050565b61270e92600052602060002091820191016126d4565b565b8160011b916000199060031b1c19161790565b9190601f811161273257505050565b61270e926000526020600020906020601f840160051c8301931061275e575b601f0160051c01906126d4565b9091508190612751565b6000546001600160a01b0316330361277c57565b63118cdaa760e01b6000523360045260246000fdfe8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e0a264697066735822122070fde3d1857af78bf72faca624a5905f0d478f9b57966660010891a8625591b764736f6c634300081e0033";
18
18
  static readonly abi: readonly [{
19
19
  readonly inputs: readonly [{
20
20
  readonly internalType: "address";
@@ -63,6 +63,18 @@ export declare class Governance__factory extends ContractFactory {
63
63
  }];
64
64
  readonly name: "InsufficientProposerVotes";
65
65
  readonly type: "error";
66
+ }, {
67
+ readonly inputs: readonly [{
68
+ readonly internalType: "uint256";
69
+ readonly name: "provided";
70
+ readonly type: "uint256";
71
+ }, {
72
+ readonly internalType: "uint256";
73
+ readonly name: "required";
74
+ readonly type: "uint256";
75
+ }];
76
+ readonly name: "InsufficientValueForExecution";
77
+ readonly type: "error";
66
78
  }, {
67
79
  readonly inputs: readonly [{
68
80
  readonly internalType: "uint256";
@@ -632,7 +644,7 @@ export declare class Governance__factory extends ContractFactory {
632
644
  }];
633
645
  readonly name: "execute";
634
646
  readonly outputs: readonly [];
635
- readonly stateMutability: "nonpayable";
647
+ readonly stateMutability: "payable";
636
648
  readonly type: "function";
637
649
  }, {
638
650
  readonly inputs: readonly [{