@raac/rpc 1.1.0-beta.92 → 1.2.0-beta.1

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (733) hide show
  1. package/dist/RPCLibrary.js +261 -0
  2. package/dist/artifacts/core/collectors/FeeCollector.sol/FeeCollector.json +2 -2
  3. package/dist/artifacts/core/collectors/NFTRoyaltyFeeCollector.sol/NFTRoyaltyFeeCollector.json +2 -2
  4. package/dist/artifacts/core/collectors/RAACTokenCollector.sol/RAACTokenCollector.json +2 -2
  5. package/dist/artifacts/core/collectors/RWAIndexTokenCollector.sol/RWAIndexTokenCollector.json +2 -2
  6. package/dist/artifacts/core/collectors/Treasury.sol/Treasury.json +2 -2
  7. package/dist/artifacts/core/governance/gauges/BaseGauge.sol/BaseGauge.json +1622 -0
  8. package/dist/artifacts/core/governance/gauges/GaugeController.sol/GaugeController.json +1661 -0
  9. package/dist/artifacts/core/governance/gauges/GaugeRewardsDistributor.sol/GaugeRewardsDistributor.json +976 -0
  10. package/dist/artifacts/core/governance/gauges/RAACGauge.sol/RAACGauge.json +1648 -0
  11. package/dist/artifacts/core/governance/gauges/RWAGauge.sol/RWAGauge.json +1661 -0
  12. package/dist/artifacts/core/governance/proposals/Governance.sol/Governance.json +1221 -0
  13. package/dist/artifacts/core/governance/proposals/TimelockController.sol/TimelockController.json +1019 -0
  14. package/dist/artifacts/core/minters/RAACMinter/RAACMinter.sol/RAACMinter.json +2 -2
  15. package/dist/artifacts/core/oracles/BaseVRFv2Consumer.sol/BaseVRFv2Consumer.json +2 -2
  16. package/dist/artifacts/core/oracles/CrvUSDToUSDOracle.sol/CrvUSDToUSDOracle.json +2 -2
  17. package/dist/artifacts/core/oracles/RAACHousePriceOracle.sol/RAACHousePriceOracle.json +2 -2
  18. package/dist/artifacts/core/oracles/RAACPrimeRateOracle.sol/RAACPrimeRateOracle.json +2 -2
  19. package/dist/artifacts/core/pmBlender/pmBlender.json +1 -0
  20. package/dist/artifacts/core/pmMarket/pmMarket.json +1 -0
  21. package/dist/artifacts/core/pmTreasury/pmTreasury.json +1 -0
  22. package/dist/artifacts/core/pools/LendingPool/ERC20AssetAdapter.sol/ERC20AssetAdapter.json +2 -2
  23. package/dist/artifacts/core/pools/LendingPool/ERC721AssetAdapter.sol/ERC721AssetAdapter.json +2 -2
  24. package/dist/artifacts/core/pools/LendingPool/LendingPool.sol/LendingPool.json +20 -10
  25. package/dist/artifacts/core/pools/StabilityPool/StabilityPool.sol/StabilityPool.json +2 -2
  26. package/dist/artifacts/core/primitives/ComplianceRegistry.sol/ComplianceRegistry.json +2 -2
  27. package/dist/artifacts/core/primitives/RAACHousePrices.sol/RAACHousePrices.json +2 -2
  28. package/dist/artifacts/core/tokens/DEToken.sol/DEToken.json +63 -7
  29. package/dist/artifacts/core/tokens/RAACNFT.sol/RAACNFT.json +2 -2
  30. package/dist/artifacts/core/tokens/RAACToken.sol/RAACToken.json +2 -2
  31. package/dist/artifacts/core/tokens/RToken.sol/RToken.json +58 -2
  32. package/dist/artifacts/core/tokens/RWAIndexToken.sol/RWAIndexToken.json +2 -2
  33. package/dist/artifacts/core/tokens/veRAACToken.sol/veRAACToken.json +1020 -517
  34. package/dist/artifacts/core/vaults/ERC20VaultAdapter.sol/ERC20VaultAdapter.json +2 -2
  35. package/dist/artifacts/core/vaults/ERC721VaultAdapter.sol/ERC721VaultAdapter.json +2 -2
  36. package/dist/artifacts/core/vaults/RWAVault.sol/RWAVault.json +2 -20
  37. package/dist/artifacts/mocks/core/oracles/MockVRFCoordinatorV2.sol/MockVRFCoordinatorV2.json +2 -2
  38. package/dist/artifacts/mocks/core/tokens/crvUSDToken.sol/crvUSDToken.json +2 -2
  39. package/dist/artifacts/mocks/core/tokens/pmUSD.sol/pmUSD.json +1 -0
  40. package/dist/artifacts/mocks/core/tokens/xPM.sol/xPM.json +1 -0
  41. package/dist/artifacts/zeno/Auction.sol/Auction.json +2 -2
  42. package/dist/artifacts/zeno/AuctionFactory.sol/AuctionFactory.json +2 -2
  43. package/dist/artifacts/zeno/Zeno.sol/Zeno.json +2 -2
  44. package/dist/artifacts/zeno/ZenoFactory.sol/ZenoFactory.json +2 -2
  45. package/dist/configs/chains/1.json +95 -36
  46. package/dist/configs/chains/11155111.json +86 -27
  47. package/dist/configs/chains/17000.json +65 -1
  48. package/dist/configs/chains/18453.json +65 -1
  49. package/dist/configs/chains/8453.json +66 -7
  50. package/dist/configs/chains/index.js +2 -2
  51. package/dist/contracts/getContractAddress.js +1 -0
  52. package/dist/contracts/governance/distributor/deposit.js +36 -0
  53. package/dist/contracts/governance/distributor/getAvailableBalance.js +29 -0
  54. package/dist/contracts/governance/distributor/getGaugeRewardTokens.js +28 -0
  55. package/dist/contracts/governance/distributor/getRewardTokenInfo.js +39 -0
  56. package/dist/contracts/governance/distributor/getRewardTokens.js +27 -0
  57. package/dist/contracts/governance/distributor/getTransferableBalance.js +30 -0
  58. package/dist/contracts/governance/distributor/index.js +19 -0
  59. package/dist/contracts/governance/distributor/isRewardTokenApproved.js +29 -0
  60. package/dist/contracts/governance/distributor/isTokenApproved.js +29 -0
  61. package/dist/contracts/governance/gauge/claimReward.js +44 -0
  62. package/dist/contracts/governance/gauge/claimRewardToken.js +44 -0
  63. package/dist/contracts/governance/gauge/getAllEarnedRewards.js +51 -0
  64. package/dist/contracts/governance/gauge/getAllPendingRewards.js +41 -0
  65. package/dist/contracts/governance/gauge/getBalanceOf.js +43 -0
  66. package/dist/contracts/governance/gauge/getEarnedReward.js +44 -0
  67. package/dist/contracts/governance/gauge/getPendingRewards.js +44 -0
  68. package/dist/contracts/governance/gauge/getPeriodBoundaries.js +45 -0
  69. package/dist/contracts/governance/gauge/getPeriodDuration.js +42 -0
  70. package/dist/contracts/governance/gauge/getRawBalanceOf.js +43 -0
  71. package/dist/contracts/governance/gauge/getRawTotalSupply.js +42 -0
  72. package/dist/contracts/governance/gauge/getRewardTokens.js +41 -0
  73. package/dist/contracts/governance/gauge/getTotalSupply.js +42 -0
  74. package/dist/contracts/governance/gauge/getUserGaugeVoteWeight.js +42 -0
  75. package/dist/contracts/governance/gauge/getWorkingBalance.js +43 -0
  76. package/dist/contracts/governance/gauge/index.js +37 -0
  77. package/dist/contracts/governance/gauge/stake.js +51 -0
  78. package/dist/contracts/governance/gauge/syncRewardTokens.js +51 -0
  79. package/dist/contracts/governance/gauge/updateUserRewards.js +50 -0
  80. package/dist/contracts/governance/gauge/withdraw.js +51 -0
  81. package/dist/contracts/governance/gaugeController/calculateBoost.js +36 -0
  82. package/dist/contracts/governance/gaugeController/checkpoint.js +33 -0
  83. package/dist/contracts/governance/gaugeController/checkpointGauge.js +34 -0
  84. package/dist/contracts/governance/gaugeController/getActiveGauges.js +36 -0
  85. package/dist/contracts/governance/gaugeController/getGaugeWeight.js +29 -0
  86. package/dist/contracts/governance/gaugeController/getTotalWeight.js +28 -0
  87. package/dist/contracts/governance/gaugeController/getUserGaugeVoteWeight.js +30 -0
  88. package/dist/contracts/governance/gaugeController/getUserVotePowerRemaining.js +29 -0
  89. package/dist/contracts/governance/gaugeController/index.js +25 -0
  90. package/dist/contracts/governance/gaugeController/isGauge.js +28 -0
  91. package/dist/contracts/governance/gaugeController/isGaugeActive.js +28 -0
  92. package/dist/contracts/governance/gaugeController/vote.js +34 -0
  93. package/dist/contracts/governance/proposals/cancel.js +37 -0
  94. package/dist/contracts/governance/proposals/castVote.js +44 -0
  95. package/dist/contracts/governance/proposals/execute.js +37 -0
  96. package/dist/contracts/governance/proposals/getProposal.js +53 -0
  97. package/dist/contracts/governance/proposals/getProposalCount.js +29 -0
  98. package/dist/contracts/governance/proposals/getProposalData.js +36 -0
  99. package/dist/contracts/governance/proposals/getProposalInfo.js +41 -0
  100. package/dist/contracts/governance/proposals/getProposalThreshold.js +29 -0
  101. package/dist/contracts/governance/proposals/getQuorum.js +30 -0
  102. package/dist/contracts/governance/proposals/getQuorumNumerator.js +39 -0
  103. package/dist/contracts/governance/proposals/getState.js +43 -0
  104. package/dist/contracts/governance/proposals/getVotes.js +33 -0
  105. package/dist/contracts/governance/proposals/getVotingDelay.js +29 -0
  106. package/dist/contracts/governance/proposals/getVotingPeriod.js +29 -0
  107. package/dist/contracts/governance/proposals/index.js +35 -0
  108. package/dist/contracts/governance/proposals/propose.js +52 -0
  109. package/dist/contracts/governance/timelock/getConstants.js +39 -0
  110. package/dist/contracts/governance/timelock/getMinDelay.js +29 -0
  111. package/dist/contracts/governance/timelock/getTimestamp.js +31 -0
  112. package/dist/contracts/governance/timelock/hashOperationBatch.js +35 -0
  113. package/dist/contracts/governance/timelock/index.js +18 -0
  114. package/dist/contracts/governance/timelock/isOperationDone.js +29 -0
  115. package/dist/contracts/governance/timelock/isOperationPending.js +29 -0
  116. package/dist/contracts/governance/timelock/isOperationReady.js +31 -0
  117. package/dist/contracts/pmBlender/getReserveBalance.js +21 -0
  118. package/dist/contracts/pmBlender/getSupportedTokens.js +21 -0
  119. package/dist/contracts/pmBlender/previewDeposit.js +21 -0
  120. package/dist/contracts/pmBlender/previewSwap.js +21 -0
  121. package/dist/contracts/pmBlender/previewWithdraw.js +21 -0
  122. package/dist/contracts/pmMarket/getMarketConfig.js +31 -0
  123. package/dist/contracts/pmTreasury/getCollateralRatio.js +26 -0
  124. package/dist/contracts/pmTreasury/getCurrentNav.js +34 -0
  125. package/dist/contracts/pmTreasury/getLeverageRatio.js +26 -0
  126. package/dist/contracts/pmTreasury/getMaxMintablePMUSD.js +32 -0
  127. package/dist/contracts/pmTreasury/getMaxMintablePMUSDWithoutBaseToken.js +30 -0
  128. package/dist/contracts/pmTreasury/getMaxMintableXPM.js +32 -0
  129. package/dist/contracts/pmTreasury/getMaxRedeemablePMUSD.js +32 -0
  130. package/dist/contracts/pmTreasury/getMaxRedeemableXPM.js +32 -0
  131. package/dist/contracts/pmTreasury/getTotalBaseToken.js +26 -0
  132. package/dist/contracts/tokens/RAAC/getBalance.js +19 -0
  133. package/dist/contracts/{crvUSDToken → tokens/RAAC}/getTotalSupply.js +6 -13
  134. package/dist/contracts/tokens/crvUSD/getBalance.js +19 -0
  135. package/dist/contracts/tokens/crvUSD/getTotalSupply.js +24 -0
  136. package/dist/contracts/{rcrvUSDToken → tokens/pmUSD}/getBalance.js +7 -2
  137. package/dist/contracts/tokens/pmUSD/getTotalSupply.js +24 -0
  138. package/dist/contracts/tokens/rcrvUSD/getBalance.js +19 -0
  139. package/dist/contracts/tokens/rcrvUSD/getTotalSupply.js +23 -0
  140. package/dist/contracts/tokens/veRAAC/claimReward.js +34 -0
  141. package/dist/contracts/tokens/veRAAC/distributeRewards.js +36 -0
  142. package/dist/contracts/tokens/veRAAC/extend.js +35 -0
  143. package/dist/contracts/tokens/veRAAC/finalizeRagequit.js +34 -0
  144. package/dist/contracts/tokens/veRAAC/getBalance.js +22 -0
  145. package/dist/contracts/tokens/veRAAC/getBalanceAt.js +31 -0
  146. package/dist/contracts/tokens/veRAAC/getBalanceAtTime.js +31 -0
  147. package/dist/contracts/tokens/veRAAC/getCheckpoint.js +34 -0
  148. package/dist/contracts/tokens/veRAAC/getClaimable.js +32 -0
  149. package/dist/contracts/tokens/veRAAC/getClaimed.js +31 -0
  150. package/dist/contracts/tokens/veRAAC/getEarned.js +32 -0
  151. package/dist/contracts/tokens/veRAAC/getEffectiveLockEnd.js +30 -0
  152. package/dist/contracts/tokens/veRAAC/getGlobalLockInfo.js +33 -0
  153. package/dist/contracts/tokens/veRAAC/getLockedBalance.js +30 -0
  154. package/dist/contracts/tokens/veRAAC/getLocks.js +38 -0
  155. package/dist/contracts/tokens/veRAAC/getMaxLockEnd.js +30 -0
  156. package/dist/contracts/tokens/veRAAC/getMaxUnclaimedDistributions.js +32 -0
  157. package/dist/contracts/tokens/veRAAC/getMinLockEnd.js +30 -0
  158. package/dist/contracts/tokens/veRAAC/getRagequitRequest.js +36 -0
  159. package/dist/contracts/tokens/veRAAC/getRawBalanceOf.js +30 -0
  160. package/dist/contracts/tokens/veRAAC/getRawTotalSupply.js +29 -0
  161. package/dist/contracts/{rcrvUSDToken → tokens/veRAAC}/getTotalSupply.js +4 -3
  162. package/dist/contracts/tokens/veRAAC/getTotalSupplyAt.js +30 -0
  163. package/dist/contracts/tokens/veRAAC/getTotalSupplyAtTime.js +30 -0
  164. package/dist/contracts/tokens/veRAAC/getUserPointHistory.js +38 -0
  165. package/dist/contracts/tokens/veRAAC/increase.js +35 -0
  166. package/dist/contracts/tokens/veRAAC/index.js +63 -0
  167. package/dist/contracts/tokens/veRAAC/lock.js +34 -0
  168. package/dist/contracts/tokens/veRAAC/ragequitAll.js +33 -0
  169. package/dist/contracts/tokens/veRAAC/ragequitLock.js +34 -0
  170. package/dist/contracts/tokens/veRAAC/withdraw.js +33 -0
  171. package/dist/contracts/{crvUSDToken → tokens/xPM}/getBalance.js +5 -3
  172. package/dist/contracts/tokens/xPM/getTotalSupply.js +24 -0
  173. package/dist/pools/rwaVault/getRWAVaultInfo.js +5 -1
  174. package/dist/prices/getPrices.js +12 -0
  175. package/dist/types/RPCLibrary.d.ts +245 -1
  176. package/dist/types/configs/chains/index.d.ts +508 -2
  177. package/dist/types/configs/index.d.ts +254 -1
  178. package/dist/types/contracts/governance/distributor/deposit.d.ts +14 -0
  179. package/dist/types/contracts/governance/distributor/getAvailableBalance.d.ts +11 -0
  180. package/dist/types/contracts/governance/distributor/getGaugeRewardTokens.d.ts +11 -0
  181. package/dist/types/contracts/governance/distributor/getRewardTokenInfo.d.ts +17 -0
  182. package/dist/types/contracts/governance/distributor/getRewardTokens.d.ts +10 -0
  183. package/dist/types/contracts/governance/distributor/getTransferableBalance.d.ts +12 -0
  184. package/dist/types/contracts/governance/distributor/index.d.ts +8 -0
  185. package/dist/types/contracts/governance/distributor/isRewardTokenApproved.d.ts +12 -0
  186. package/dist/types/contracts/governance/distributor/isTokenApproved.d.ts +11 -0
  187. package/dist/types/contracts/governance/gauge/claimReward.d.ts +11 -0
  188. package/dist/types/contracts/governance/gauge/claimRewardToken.d.ts +12 -0
  189. package/dist/types/contracts/governance/gauge/getAllEarnedRewards.d.ts +17 -0
  190. package/dist/types/contracts/governance/gauge/getAllPendingRewards.d.ts +19 -0
  191. package/dist/types/contracts/governance/gauge/getBalanceOf.d.ts +12 -0
  192. package/dist/types/contracts/governance/gauge/getEarnedReward.d.ts +13 -0
  193. package/dist/types/contracts/governance/gauge/getPendingRewards.d.ts +13 -0
  194. package/dist/types/contracts/governance/gauge/getPeriodBoundaries.d.ts +15 -0
  195. package/dist/types/contracts/governance/gauge/getPeriodDuration.d.ts +11 -0
  196. package/dist/types/contracts/governance/gauge/getRawBalanceOf.d.ts +12 -0
  197. package/dist/types/contracts/governance/gauge/getRawTotalSupply.d.ts +11 -0
  198. package/dist/types/contracts/governance/gauge/getRewardTokens.d.ts +11 -0
  199. package/dist/types/contracts/governance/gauge/getTotalSupply.d.ts +11 -0
  200. package/dist/types/contracts/governance/gauge/getUserGaugeVoteWeight.d.ts +14 -0
  201. package/dist/types/contracts/governance/gauge/getWorkingBalance.d.ts +12 -0
  202. package/dist/types/contracts/governance/gauge/index.d.ts +17 -0
  203. package/dist/types/contracts/governance/gauge/stake.d.ts +13 -0
  204. package/dist/types/contracts/governance/gauge/syncRewardTokens.d.ts +13 -0
  205. package/dist/types/contracts/governance/gauge/updateUserRewards.d.ts +12 -0
  206. package/dist/types/contracts/governance/gauge/withdraw.d.ts +13 -0
  207. package/dist/types/contracts/governance/gaugeController/calculateBoost.d.ts +16 -0
  208. package/dist/types/contracts/governance/gaugeController/checkpoint.d.ts +11 -0
  209. package/dist/types/contracts/governance/gaugeController/checkpointGauge.d.ts +12 -0
  210. package/dist/types/contracts/governance/gaugeController/getActiveGauges.d.ts +15 -0
  211. package/dist/types/contracts/governance/gaugeController/getGaugeWeight.d.ts +11 -0
  212. package/dist/types/contracts/governance/gaugeController/getTotalWeight.d.ts +10 -0
  213. package/dist/types/contracts/governance/gaugeController/getUserGaugeVoteWeight.d.ts +12 -0
  214. package/dist/types/contracts/governance/gaugeController/getUserVotePowerRemaining.d.ts +11 -0
  215. package/dist/types/contracts/governance/gaugeController/index.d.ts +11 -0
  216. package/dist/types/contracts/governance/gaugeController/isGauge.d.ts +11 -0
  217. package/dist/types/contracts/governance/gaugeController/isGaugeActive.d.ts +11 -0
  218. package/dist/types/contracts/governance/gaugeController/vote.d.ts +12 -0
  219. package/dist/types/contracts/governance/proposals/cancel.d.ts +15 -0
  220. package/dist/types/contracts/governance/proposals/castVote.d.ts +19 -0
  221. package/dist/types/contracts/governance/proposals/execute.d.ts +15 -0
  222. package/dist/types/contracts/governance/proposals/getProposal.d.ts +34 -0
  223. package/dist/types/contracts/governance/proposals/getProposalCount.d.ts +10 -0
  224. package/dist/types/contracts/governance/proposals/getProposalData.d.ts +18 -0
  225. package/dist/types/contracts/governance/proposals/getProposalInfo.d.ts +24 -0
  226. package/dist/types/contracts/governance/proposals/getProposalThreshold.d.ts +10 -0
  227. package/dist/types/contracts/governance/proposals/getQuorum.d.ts +11 -0
  228. package/dist/types/contracts/governance/proposals/getQuorumNumerator.d.ts +16 -0
  229. package/dist/types/contracts/governance/proposals/getState.d.ts +23 -0
  230. package/dist/types/contracts/governance/proposals/getVotes.d.ts +15 -0
  231. package/dist/types/contracts/governance/proposals/getVotingDelay.d.ts +10 -0
  232. package/dist/types/contracts/governance/proposals/getVotingPeriod.d.ts +10 -0
  233. package/dist/types/contracts/governance/proposals/index.d.ts +14 -0
  234. package/dist/types/contracts/governance/proposals/propose.d.ts +29 -0
  235. package/dist/types/contracts/governance/timelock/getConstants.d.ts +16 -0
  236. package/dist/types/contracts/governance/timelock/getMinDelay.d.ts +10 -0
  237. package/dist/types/contracts/governance/timelock/getTimestamp.d.ts +12 -0
  238. package/dist/types/contracts/governance/timelock/hashOperationBatch.d.ts +17 -0
  239. package/dist/types/contracts/governance/timelock/index.d.ts +7 -0
  240. package/dist/types/contracts/governance/timelock/isOperationDone.d.ts +11 -0
  241. package/dist/types/contracts/governance/timelock/isOperationPending.d.ts +11 -0
  242. package/dist/types/contracts/governance/timelock/isOperationReady.d.ts +13 -0
  243. package/dist/types/contracts/pmBlender/getReserveBalance.d.ts +3 -0
  244. package/dist/types/contracts/pmBlender/getSupportedTokens.d.ts +3 -0
  245. package/dist/types/contracts/pmBlender/previewDeposit.d.ts +3 -0
  246. package/dist/types/contracts/pmBlender/previewSwap.d.ts +3 -0
  247. package/dist/types/contracts/pmBlender/previewWithdraw.d.ts +3 -0
  248. package/dist/types/contracts/pmMarket/getMarketConfig.d.ts +13 -0
  249. package/dist/types/contracts/pmTreasury/getCollateralRatio.d.ts +3 -0
  250. package/dist/types/contracts/pmTreasury/getCurrentNav.d.ts +11 -0
  251. package/dist/types/contracts/pmTreasury/getLeverageRatio.d.ts +3 -0
  252. package/dist/types/contracts/pmTreasury/getMaxMintablePMUSD.d.ts +11 -0
  253. package/dist/types/contracts/pmTreasury/getMaxMintablePMUSDWithoutBaseToken.d.ts +7 -0
  254. package/dist/types/contracts/pmTreasury/getMaxMintableXPM.d.ts +9 -0
  255. package/dist/types/contracts/pmTreasury/getMaxRedeemablePMUSD.d.ts +9 -0
  256. package/dist/types/contracts/pmTreasury/getMaxRedeemableXPM.d.ts +9 -0
  257. package/dist/types/contracts/pmTreasury/getTotalBaseToken.d.ts +3 -0
  258. package/dist/types/contracts/tokens/RAAC/getBalance.d.ts +2 -0
  259. package/dist/types/contracts/tokens/RAAC/getTotalSupply.d.ts +7 -0
  260. package/dist/types/contracts/tokens/crvUSD/getBalance.d.ts +2 -0
  261. package/dist/types/contracts/tokens/crvUSD/getTotalSupply.d.ts +7 -0
  262. package/dist/types/contracts/tokens/pmUSD/getBalance.d.ts +2 -0
  263. package/dist/types/contracts/tokens/pmUSD/getTotalSupply.d.ts +7 -0
  264. package/dist/types/contracts/tokens/rcrvUSD/getBalance.d.ts +2 -0
  265. package/dist/types/contracts/tokens/rcrvUSD/getTotalSupply.d.ts +6 -0
  266. package/dist/types/contracts/tokens/veRAAC/claimReward.d.ts +12 -0
  267. package/dist/types/contracts/tokens/veRAAC/distributeRewards.d.ts +14 -0
  268. package/dist/types/contracts/tokens/veRAAC/extend.d.ts +13 -0
  269. package/dist/types/contracts/tokens/veRAAC/finalizeRagequit.d.ts +12 -0
  270. package/dist/types/contracts/tokens/veRAAC/getBalance.d.ts +3 -0
  271. package/dist/types/contracts/tokens/veRAAC/getBalanceAt.d.ts +12 -0
  272. package/dist/types/contracts/tokens/veRAAC/getBalanceAtTime.d.ts +12 -0
  273. package/dist/types/contracts/tokens/veRAAC/getCheckpoint.d.ts +16 -0
  274. package/dist/types/contracts/tokens/veRAAC/getClaimable.d.ts +13 -0
  275. package/dist/types/contracts/tokens/veRAAC/getClaimed.d.ts +12 -0
  276. package/dist/types/contracts/tokens/veRAAC/getEarned.d.ts +13 -0
  277. package/dist/types/contracts/tokens/veRAAC/getEffectiveLockEnd.d.ts +11 -0
  278. package/dist/types/contracts/tokens/veRAAC/getGlobalLockInfo.d.ts +15 -0
  279. package/dist/types/contracts/tokens/veRAAC/getLockedBalance.d.ts +11 -0
  280. package/dist/types/contracts/tokens/veRAAC/getLocks.d.ts +14 -0
  281. package/dist/types/contracts/tokens/veRAAC/getMaxLockEnd.d.ts +11 -0
  282. package/dist/types/contracts/tokens/veRAAC/getMaxUnclaimedDistributions.d.ts +13 -0
  283. package/dist/types/contracts/tokens/veRAAC/getMinLockEnd.d.ts +11 -0
  284. package/dist/types/contracts/tokens/veRAAC/getRagequitRequest.d.ts +18 -0
  285. package/dist/types/contracts/tokens/veRAAC/getRawBalanceOf.d.ts +11 -0
  286. package/dist/types/contracts/tokens/veRAAC/getRawTotalSupply.d.ts +10 -0
  287. package/dist/types/contracts/{rcrvUSDToken → tokens/veRAAC}/getTotalSupply.d.ts +1 -1
  288. package/dist/types/contracts/tokens/veRAAC/getTotalSupplyAt.d.ts +11 -0
  289. package/dist/types/contracts/tokens/veRAAC/getTotalSupplyAtTime.d.ts +11 -0
  290. package/dist/types/contracts/tokens/veRAAC/getUserPointHistory.d.ts +20 -0
  291. package/dist/types/contracts/tokens/veRAAC/increase.d.ts +13 -0
  292. package/dist/types/contracts/tokens/veRAAC/index.d.ts +30 -0
  293. package/dist/types/contracts/tokens/veRAAC/lock.d.ts +12 -0
  294. package/dist/types/contracts/tokens/veRAAC/ragequitAll.d.ts +11 -0
  295. package/dist/types/contracts/tokens/veRAAC/ragequitLock.d.ts +12 -0
  296. package/dist/types/contracts/tokens/veRAAC/withdraw.d.ts +11 -0
  297. package/dist/types/contracts/tokens/xPM/getBalance.d.ts +2 -0
  298. package/dist/types/contracts/tokens/xPM/getTotalSupply.d.ts +7 -0
  299. package/dist/types/prices/getPrices.d.ts +5 -0
  300. package/dist/types/typechain-types/@openzeppelin/contracts/index.d.ts +0 -2
  301. package/dist/types/typechain-types/@openzeppelin/contracts/interfaces/index.d.ts +0 -1
  302. package/dist/types/typechain-types/@openzeppelin/contracts/token/ERC20/extensions/ERC20Burnable.d.ts +159 -0
  303. package/dist/types/typechain-types/@openzeppelin/contracts/token/ERC20/extensions/index.d.ts +1 -0
  304. package/dist/types/typechain-types/@openzeppelin/contracts-upgradeable/access/AccessControlUpgradeable.d.ts +173 -0
  305. package/dist/types/typechain-types/@openzeppelin/contracts-upgradeable/access/index.d.ts +1 -0
  306. package/dist/types/typechain-types/@openzeppelin/contracts-upgradeable/utils/index.d.ts +2 -0
  307. package/dist/types/typechain-types/@openzeppelin/contracts-upgradeable/utils/introspection/ERC165Upgradeable.d.ts +45 -0
  308. package/dist/types/typechain-types/@openzeppelin/contracts-upgradeable/utils/introspection/index.d.ts +1 -0
  309. package/dist/types/typechain-types/@openzeppelin/{contracts/proxy/transparent/ProxyAdmin.d.ts → contracts-upgradeable-v3/access/OwnableUpgradeable.d.ts} +6 -26
  310. package/dist/types/typechain-types/@openzeppelin/contracts-upgradeable-v3/access/index.d.ts +1 -0
  311. package/dist/types/typechain-types/@openzeppelin/contracts-upgradeable-v3/index.d.ts +4 -0
  312. package/dist/types/typechain-types/@openzeppelin/contracts-upgradeable-v3/token/ERC20/IERC20Upgradeable.d.ts +129 -0
  313. package/dist/types/typechain-types/@openzeppelin/contracts-upgradeable-v3/token/ERC20/index.d.ts +1 -0
  314. package/dist/types/typechain-types/@openzeppelin/contracts-upgradeable-v3/token/index.d.ts +2 -0
  315. package/dist/types/typechain-types/@openzeppelin/contracts-v3/access/Ownable.d.ts +54 -0
  316. package/dist/types/typechain-types/@openzeppelin/contracts-v3/access/index.d.ts +1 -0
  317. package/dist/types/typechain-types/@openzeppelin/contracts-v3/index.d.ts +4 -0
  318. package/dist/types/typechain-types/@openzeppelin/contracts-v3/token/ERC20/IERC20.d.ts +129 -0
  319. package/dist/types/typechain-types/@openzeppelin/contracts-v3/token/ERC20/index.d.ts +1 -0
  320. package/dist/types/typechain-types/@openzeppelin/contracts-v3/token/index.d.ts +2 -0
  321. package/dist/types/typechain-types/@openzeppelin/index.d.ts +4 -0
  322. package/dist/types/typechain-types/contracts/core/governance/gauges/BaseGauge.d.ts +419 -774
  323. package/dist/types/typechain-types/contracts/core/governance/gauges/GaugeController.d.ts +398 -578
  324. package/dist/types/typechain-types/contracts/core/governance/gauges/GaugeRewardsDistributor.d.ts +195 -273
  325. package/dist/types/typechain-types/contracts/core/governance/gauges/RAACGauge.d.ts +419 -778
  326. package/dist/types/typechain-types/contracts/core/governance/gauges/RWAGauge.d.ts +420 -779
  327. package/dist/types/typechain-types/contracts/core/governance/gauges/VeBoost.d.ts +518 -0
  328. package/dist/types/typechain-types/contracts/core/governance/gauges/VeBoostProxy.d.ts +97 -0
  329. package/dist/types/typechain-types/contracts/core/governance/gauges/index.d.ts +2 -0
  330. package/dist/types/typechain-types/contracts/core/governance/proposals/Governance.d.ts +5 -1
  331. package/dist/types/typechain-types/contracts/core/lockers/RAACBotLocker.d.ts +497 -0
  332. package/dist/types/typechain-types/contracts/core/lockers/RAACLiquidLocker.d.ts +1383 -0
  333. package/dist/types/typechain-types/contracts/core/lockers/RAACMaturityVault.d.ts +574 -0
  334. package/dist/types/typechain-types/contracts/core/lockers/{LLamaTemple.d.ts → RAACNFTLocker.d.ts} +4 -4
  335. package/dist/types/typechain-types/contracts/core/lockers/index.d.ts +4 -1
  336. package/dist/types/typechain-types/contracts/core/oracles/RWAIndexTokenOracle.sol/RWAIndexTokenOracle.d.ts +5 -1
  337. package/dist/types/typechain-types/contracts/core/pools/LendingPool/LendingPool.d.ts +4 -0
  338. package/dist/types/typechain-types/contracts/core/pools/LendingPool/LendingPoolStorage.d.ts +4 -0
  339. package/dist/types/typechain-types/contracts/core/pools/LendingPool/LiquidationProxy.d.ts +4 -0
  340. package/dist/types/typechain-types/contracts/core/pools/LendingPool/VaultProxy.d.ts +4 -0
  341. package/dist/types/typechain-types/contracts/core/pools/StabilityPool/LiquidationSwap.d.ts +13 -1
  342. package/dist/types/typechain-types/contracts/core/tokens/DEToken.d.ts +49 -12
  343. package/dist/types/typechain-types/contracts/core/tokens/LeRAAC.sol/LiquidEscrowedRAAC.d.ts +284 -0
  344. package/dist/types/typechain-types/contracts/core/tokens/LeRAAC.sol/index.d.ts +1 -0
  345. package/dist/types/typechain-types/contracts/core/tokens/RToken.d.ts +39 -2
  346. package/dist/types/typechain-types/contracts/core/tokens/VeRAACToken.d.ts +730 -499
  347. package/dist/types/typechain-types/contracts/core/tokens/VeRAACTokenStorage.d.ts +905 -0
  348. package/dist/types/typechain-types/contracts/core/tokens/index.d.ts +3 -0
  349. package/dist/types/typechain-types/{@openzeppelin/contracts/proxy/beacon/IBeacon.d.ts → contracts/core/vaults/RAACNFTVaultAdapterOracle.sol/IPriceOracle.d.ts} +14 -10
  350. package/dist/types/typechain-types/contracts/core/vaults/RAACNFTVaultAdapterOracle.sol/RAACNFTVaultAdapterOracle.d.ts +41 -0
  351. package/dist/types/typechain-types/contracts/core/vaults/RAACNFTVaultAdapterOracle.sol/index.d.ts +2 -0
  352. package/dist/types/typechain-types/contracts/core/vaults/RAACNFTVaultAdapterV2.d.ts +28 -2
  353. package/dist/types/typechain-types/contracts/core/vaults/RWAVault.d.ts +1 -5
  354. package/dist/types/typechain-types/contracts/core/vaults/index.d.ts +2 -0
  355. package/dist/types/typechain-types/contracts/index.d.ts +2 -0
  356. package/dist/types/typechain-types/contracts/interfaces/IBalancerPool.d.ts +95 -0
  357. package/dist/types/typechain-types/contracts/interfaces/IBalancerV1Pool.d.ts +214 -0
  358. package/dist/types/typechain-types/contracts/interfaces/IBalancerVault.d.ts +255 -0
  359. package/dist/types/typechain-types/contracts/interfaces/IConvexCRVDepositor.d.ts +55 -0
  360. package/dist/types/typechain-types/contracts/interfaces/ICurveAPool.sol/ICurveA2Pool.d.ts +236 -0
  361. package/dist/types/typechain-types/contracts/interfaces/ICurveAPool.sol/ICurveA3Pool.d.ts +236 -0
  362. package/dist/types/typechain-types/contracts/interfaces/ICurveAPool.sol/ICurveA4Pool.d.ts +236 -0
  363. package/dist/types/typechain-types/contracts/interfaces/ICurveAPool.sol/ICurveAPool.d.ts +236 -0
  364. package/dist/types/typechain-types/contracts/interfaces/ICurveAPool.sol/index.d.ts +4 -0
  365. package/dist/types/typechain-types/contracts/interfaces/ICurveBasePool.sol/ICurveBase2Pool.d.ts +49 -0
  366. package/dist/types/typechain-types/contracts/interfaces/ICurveBasePool.sol/ICurveBase3Pool.d.ts +49 -0
  367. package/dist/types/typechain-types/contracts/interfaces/ICurveBasePool.sol/ICurveBase4Pool.d.ts +57 -0
  368. package/dist/types/typechain-types/contracts/interfaces/ICurveBasePool.sol/ICurveBasePool.d.ts +133 -0
  369. package/dist/types/typechain-types/contracts/interfaces/ICurveBasePool.sol/index.d.ts +4 -0
  370. package/dist/types/typechain-types/contracts/interfaces/ICurveCryptoPool.sol/ICurveCryptoPool.d.ts +236 -0
  371. package/dist/types/typechain-types/contracts/interfaces/ICurveCryptoPool.sol/ICurveTriCryptoPool.d.ts +139 -0
  372. package/dist/types/typechain-types/contracts/interfaces/ICurveCryptoPool.sol/IZapCurveMetaCryptoPool.d.ts +143 -0
  373. package/dist/types/typechain-types/contracts/interfaces/ICurveCryptoPool.sol/index.d.ts +3 -0
  374. package/dist/types/typechain-types/contracts/interfaces/ICurveETHPool.d.ts +121 -0
  375. package/dist/types/typechain-types/contracts/interfaces/ICurveFactoryMetaPool.sol/ICurveDepositZap.d.ts +55 -0
  376. package/dist/types/typechain-types/contracts/interfaces/ICurveFactoryMetaPool.sol/ICurveDepositZap3Pool.d.ts +95 -0
  377. package/dist/types/typechain-types/contracts/interfaces/ICurveFactoryMetaPool.sol/ICurveDepositZap4Pool.d.ts +115 -0
  378. package/dist/types/typechain-types/contracts/interfaces/ICurveFactoryMetaPool.sol/ICurveFactoryMetaPool.d.ts +151 -0
  379. package/dist/types/typechain-types/contracts/interfaces/ICurveFactoryMetaPool.sol/index.d.ts +4 -0
  380. package/dist/types/typechain-types/contracts/interfaces/ICurveFactoryPlainPool.sol/ICurveFactoryPlain2Pool.d.ts +137 -0
  381. package/dist/types/typechain-types/contracts/interfaces/ICurveFactoryPlainPool.sol/ICurveFactoryPlain3Pool.d.ts +137 -0
  382. package/dist/types/typechain-types/contracts/interfaces/ICurveFactoryPlainPool.sol/ICurveFactoryPlain4Pool.d.ts +145 -0
  383. package/dist/types/typechain-types/contracts/interfaces/ICurveFactoryPlainPool.sol/ICurveFactoryPlainPool.d.ts +109 -0
  384. package/dist/types/typechain-types/contracts/interfaces/ICurveFactoryPlainPool.sol/index.d.ts +4 -0
  385. package/dist/types/typechain-types/contracts/interfaces/ICurveMetaPool.sol/ICurveMetaPoolDeposit.d.ts +107 -0
  386. package/dist/types/typechain-types/contracts/interfaces/ICurveMetaPool.sol/ICurveMetaPoolSwap.d.ts +163 -0
  387. package/dist/types/typechain-types/contracts/interfaces/ICurveMetaPool.sol/index.d.ts +2 -0
  388. package/dist/types/typechain-types/contracts/interfaces/ICurvePoolRegistry.d.ts +33 -0
  389. package/dist/types/typechain-types/contracts/interfaces/ICurveYPool.sol/ICurveY2PoolDeposit.d.ts +139 -0
  390. package/dist/types/typechain-types/contracts/interfaces/ICurveYPool.sol/ICurveY2PoolSwap.d.ts +167 -0
  391. package/dist/types/typechain-types/contracts/interfaces/ICurveYPool.sol/ICurveY3PoolDeposit.d.ts +139 -0
  392. package/dist/types/typechain-types/contracts/interfaces/ICurveYPool.sol/ICurveY3PoolSwap.d.ts +167 -0
  393. package/dist/types/typechain-types/contracts/interfaces/ICurveYPool.sol/ICurveY4PoolDeposit.d.ts +139 -0
  394. package/dist/types/typechain-types/contracts/interfaces/ICurveYPool.sol/ICurveY4PoolSwap.d.ts +167 -0
  395. package/dist/types/typechain-types/contracts/interfaces/ICurveYPool.sol/ICurveYPoolDeposit.d.ts +139 -0
  396. package/dist/types/typechain-types/contracts/interfaces/ICurveYPool.sol/ICurveYPoolSwap.d.ts +167 -0
  397. package/dist/types/typechain-types/contracts/interfaces/ICurveYPool.sol/index.d.ts +8 -0
  398. package/dist/types/typechain-types/contracts/interfaces/ILidoStETH.d.ts +33 -0
  399. package/dist/types/typechain-types/contracts/interfaces/ILidoWstETH.d.ts +61 -0
  400. package/dist/types/typechain-types/contracts/interfaces/IUniswapV2Pair.d.ts +95 -0
  401. package/dist/types/typechain-types/contracts/interfaces/IUniswapV3Pool.d.ts +105 -0
  402. package/dist/types/typechain-types/contracts/interfaces/IUniswapV3Router.d.ts +64 -0
  403. package/dist/types/typechain-types/{@openzeppelin/contracts/proxy/ERC1967/ERC1967Utils.d.ts → contracts/interfaces/IWETH.d.ts} +15 -6
  404. package/dist/types/typechain-types/contracts/interfaces/IZap.d.ts +83 -0
  405. package/dist/types/typechain-types/contracts/interfaces/concentrator/IAladdinCRV.d.ts +355 -0
  406. package/dist/types/typechain-types/contracts/interfaces/concentrator/IAladdinCompounder.d.ts +244 -0
  407. package/dist/types/typechain-types/contracts/interfaces/concentrator/index.d.ts +2 -0
  408. package/dist/types/typechain-types/contracts/interfaces/core/governance/gauges/IBaseGauge.d.ts +353 -286
  409. package/dist/types/typechain-types/contracts/interfaces/core/governance/gauges/IGaugeController.d.ts +111 -323
  410. package/dist/types/typechain-types/contracts/interfaces/core/governance/gauges/IGaugeRewardsDistributor.d.ts +133 -183
  411. package/dist/types/typechain-types/contracts/interfaces/core/governance/gauges/IVeBoost.d.ts +311 -0
  412. package/dist/types/typechain-types/contracts/interfaces/core/governance/gauges/IVeBoostProxy.d.ts +50 -0
  413. package/dist/types/typechain-types/contracts/interfaces/core/governance/gauges/index.d.ts +2 -0
  414. package/dist/types/typechain-types/contracts/interfaces/core/governance/proposals/IGovernance.d.ts +5 -1
  415. package/dist/types/typechain-types/contracts/interfaces/core/lockers/IRAACBotLocker.d.ts +233 -0
  416. package/dist/types/typechain-types/contracts/interfaces/core/lockers/IRAACMaturityVault.d.ts +196 -0
  417. package/dist/types/typechain-types/contracts/interfaces/core/lockers/IRaacLiquidLocker.d.ts +437 -0
  418. package/dist/types/typechain-types/contracts/interfaces/core/lockers/index.d.ts +3 -0
  419. package/dist/types/typechain-types/contracts/interfaces/core/tokens/IDEToken.d.ts +16 -1
  420. package/dist/types/typechain-types/contracts/interfaces/core/tokens/ILiquidEscrowedRAAC.d.ts +161 -0
  421. package/dist/types/typechain-types/contracts/interfaces/core/tokens/IRToken.d.ts +16 -1
  422. package/dist/types/typechain-types/contracts/interfaces/core/tokens/IveRAACToken.d.ts +405 -227
  423. package/dist/types/typechain-types/contracts/interfaces/core/tokens/IveRAACTokenV2.sol/IveRAACToken.d.ts +518 -0
  424. package/dist/types/typechain-types/contracts/interfaces/core/tokens/IveRAACTokenV2.sol/index.d.ts +1 -0
  425. package/dist/types/typechain-types/contracts/interfaces/core/tokens/index.d.ts +3 -0
  426. package/dist/types/typechain-types/contracts/interfaces/index.d.ts +29 -0
  427. package/dist/types/typechain-types/contracts/libraries/governance/LockManager.d.ts +22 -77
  428. package/dist/types/typechain-types/contracts/libraries/governance/PowerCheckpoint.d.ts +3 -76
  429. package/dist/types/typechain-types/{@openzeppelin/contracts/proxy/Proxy.d.ts → contracts/libraries/governance/RagequitLib.d.ts} +4 -4
  430. package/dist/types/typechain-types/{@openzeppelin/contracts/proxy/ERC1967/ERC1967Proxy.d.ts → contracts/libraries/governance/RewardLib.d.ts} +27 -14
  431. package/dist/types/typechain-types/contracts/libraries/governance/index.d.ts +2 -0
  432. package/dist/types/typechain-types/contracts/mocks/ERC20BurnableMock.d.ts +173 -0
  433. package/dist/types/typechain-types/contracts/mocks/core/governance/index.d.ts +2 -0
  434. package/dist/types/typechain-types/contracts/mocks/core/governance/libraries/LockManagerMock.d.ts +295 -0
  435. package/dist/types/typechain-types/contracts/mocks/core/governance/libraries/index.d.ts +1 -0
  436. package/dist/types/typechain-types/contracts/mocks/core/lockers/MockLamaLocker.d.ts +51 -0
  437. package/dist/types/typechain-types/contracts/mocks/core/lockers/index.d.ts +1 -0
  438. package/dist/types/typechain-types/contracts/mocks/core/pools/MockLendingPoolDebtToken.d.ts +37 -1
  439. package/dist/types/typechain-types/contracts/mocks/index.d.ts +1 -0
  440. package/dist/types/typechain-types/contracts/mocks/libraries/MockTimeUtils.d.ts +51 -0
  441. package/dist/types/typechain-types/contracts/mocks/libraries/governance/PowerCheckpointMock.d.ts +176 -69
  442. package/dist/types/typechain-types/contracts/mocks/libraries/governance/RagequitHarness.d.ts +90 -0
  443. package/dist/types/typechain-types/contracts/mocks/libraries/governance/RewardIntegralCalculatorMock.sol/MockRewardIntegralCalculator.d.ts +188 -0
  444. package/dist/types/typechain-types/contracts/mocks/libraries/governance/RewardIntegralCalculatorMock.sol/index.d.ts +1 -0
  445. package/dist/types/typechain-types/contracts/mocks/libraries/governance/index.d.ts +3 -1
  446. package/dist/types/typechain-types/contracts/mocks/libraries/index.d.ts +1 -0
  447. package/dist/types/typechain-types/contracts/zap/AladdinCRVZap.d.ts +83 -0
  448. package/dist/types/typechain-types/contracts/zap/AladdinConvexVaultZap.d.ts +172 -0
  449. package/dist/types/typechain-types/contracts/zap/AladdinZap.d.ts +240 -0
  450. package/dist/types/typechain-types/contracts/zap/TokenZapLogic.d.ts +53 -0
  451. package/dist/types/typechain-types/contracts/zap/index.d.ts +4 -0
  452. package/dist/types/typechain-types/factories/@chainlink/contracts/src/v0.8/functions/v1_0_0/libraries/FunctionsRequest__factory.d.ts +1 -1
  453. package/dist/types/typechain-types/factories/@chainlink/contracts/src/v0.8/shared/access/ConfirmedOwnerWithProposal__factory.d.ts +1 -1
  454. package/dist/types/typechain-types/factories/@chainlink/contracts/src/v0.8/shared/access/ConfirmedOwner__factory.d.ts +1 -1
  455. package/dist/types/typechain-types/factories/@chainlink/contracts/src/v0.8/vrf/dev/libraries/VRFV2PlusClient__factory.d.ts +1 -1
  456. package/dist/types/typechain-types/factories/@chainlink/contracts/src/v0.8/vrf/mocks/VRFCoordinatorV2_5Mock__factory.d.ts +1 -1
  457. package/dist/types/typechain-types/factories/@openzeppelin/contracts/index.d.ts +0 -1
  458. package/dist/types/typechain-types/factories/@openzeppelin/contracts/interfaces/index.d.ts +0 -1
  459. package/dist/types/typechain-types/factories/@openzeppelin/contracts/token/ERC20/extensions/ERC20Burnable__factory.d.ts +265 -0
  460. package/dist/types/typechain-types/factories/@openzeppelin/contracts/token/ERC20/extensions/index.d.ts +1 -0
  461. package/dist/types/typechain-types/factories/@openzeppelin/contracts/token/ERC20/utils/SafeERC20__factory.d.ts +1 -1
  462. package/dist/types/typechain-types/factories/@openzeppelin/contracts/utils/Address__factory.d.ts +1 -1
  463. package/dist/types/typechain-types/factories/@openzeppelin/contracts/utils/Errors__factory.d.ts +1 -1
  464. package/dist/types/typechain-types/factories/@openzeppelin/contracts/utils/ShortStrings__factory.d.ts +1 -1
  465. package/dist/types/typechain-types/factories/@openzeppelin/contracts/utils/Strings__factory.d.ts +1 -1
  466. package/dist/types/typechain-types/factories/@openzeppelin/contracts/utils/cryptography/ECDSA__factory.d.ts +1 -1
  467. package/dist/types/typechain-types/factories/@openzeppelin/contracts/utils/cryptography/MerkleProof__factory.d.ts +1 -1
  468. package/dist/types/typechain-types/factories/@openzeppelin/contracts/utils/math/SafeCast__factory.d.ts +1 -1
  469. package/dist/types/typechain-types/factories/@openzeppelin/contracts-upgradeable/access/AccessControlUpgradeable__factory.d.ts +199 -0
  470. package/dist/types/typechain-types/factories/@openzeppelin/contracts-upgradeable/access/index.d.ts +1 -0
  471. package/dist/types/typechain-types/factories/@openzeppelin/contracts-upgradeable/utils/index.d.ts +1 -0
  472. package/dist/types/typechain-types/factories/@openzeppelin/contracts-upgradeable/utils/introspection/ERC165Upgradeable__factory.d.ts +39 -0
  473. package/dist/types/typechain-types/factories/@openzeppelin/contracts-upgradeable/utils/introspection/index.d.ts +1 -0
  474. package/dist/types/typechain-types/factories/@openzeppelin/contracts-upgradeable-v3/access/OwnableUpgradeable__factory.d.ts +48 -0
  475. package/dist/types/typechain-types/factories/@openzeppelin/contracts-upgradeable-v3/access/index.d.ts +1 -0
  476. package/dist/types/typechain-types/factories/@openzeppelin/contracts-upgradeable-v3/index.d.ts +2 -0
  477. package/dist/types/typechain-types/factories/@openzeppelin/contracts-upgradeable-v3/token/ERC20/IERC20Upgradeable__factory.d.ts +147 -0
  478. package/dist/types/typechain-types/factories/@openzeppelin/contracts-upgradeable-v3/token/ERC20/index.d.ts +1 -0
  479. package/dist/types/typechain-types/factories/@openzeppelin/contracts-upgradeable-v3/token/index.d.ts +1 -0
  480. package/dist/types/typechain-types/factories/@openzeppelin/contracts-v3/access/Ownable__factory.d.ts +48 -0
  481. package/dist/types/typechain-types/factories/@openzeppelin/contracts-v3/access/index.d.ts +1 -0
  482. package/dist/types/typechain-types/factories/@openzeppelin/contracts-v3/index.d.ts +2 -0
  483. package/dist/types/typechain-types/factories/@openzeppelin/contracts-v3/token/ERC20/IERC20__factory.d.ts +147 -0
  484. package/dist/types/typechain-types/factories/@openzeppelin/contracts-v3/token/ERC20/index.d.ts +1 -0
  485. package/dist/types/typechain-types/factories/@openzeppelin/contracts-v3/token/index.d.ts +1 -0
  486. package/dist/types/typechain-types/factories/@openzeppelin/index.d.ts +2 -0
  487. package/dist/types/typechain-types/factories/contracts/core/collectors/ERC20Collector__factory.d.ts +1 -1
  488. package/dist/types/typechain-types/factories/contracts/core/collectors/FeeCollector__factory.d.ts +1 -1
  489. package/dist/types/typechain-types/factories/contracts/core/collectors/NFTRoyaltyFeeCollector.sol/NFTRoyaltyFeeCollector__factory.d.ts +1 -1
  490. package/dist/types/typechain-types/factories/contracts/core/collectors/RAACTokenCollector__factory.d.ts +1 -1
  491. package/dist/types/typechain-types/factories/contracts/core/collectors/RWAIndexTokenCollector__factory.d.ts +1 -1
  492. package/dist/types/typechain-types/factories/contracts/core/collectors/Treasury__factory.d.ts +1 -1
  493. package/dist/types/typechain-types/factories/contracts/core/governance/gauges/BaseGauge__factory.d.ts +361 -903
  494. package/dist/types/typechain-types/factories/contracts/core/governance/gauges/GaugeController__factory.d.ts +397 -559
  495. package/dist/types/typechain-types/factories/contracts/core/governance/gauges/GaugeRewardsDistributor__factory.d.ts +146 -260
  496. package/dist/types/typechain-types/factories/contracts/core/governance/gauges/RAACGauge__factory.d.ts +359 -907
  497. package/dist/types/typechain-types/factories/contracts/core/governance/gauges/RWAGauge__factory.d.ts +359 -907
  498. package/dist/types/typechain-types/factories/contracts/core/governance/gauges/VeBoostProxy__factory.d.ts +152 -0
  499. package/dist/types/typechain-types/factories/contracts/core/governance/gauges/VeBoost__factory.d.ts +716 -0
  500. package/dist/types/typechain-types/factories/contracts/core/governance/gauges/index.d.ts +2 -0
  501. package/dist/types/typechain-types/factories/contracts/core/governance/proposals/Governance__factory.d.ts +11 -1
  502. package/dist/types/typechain-types/factories/contracts/core/governance/proposals/TimelockController__factory.d.ts +1 -1
  503. package/dist/types/typechain-types/factories/contracts/core/lockers/RAACBotLocker__factory.d.ts +726 -0
  504. package/dist/types/typechain-types/factories/contracts/core/lockers/RAACLiquidLocker__factory.d.ts +1762 -0
  505. package/dist/types/typechain-types/factories/contracts/core/lockers/RAACMaturityVault__factory.d.ts +743 -0
  506. package/dist/types/typechain-types/factories/contracts/core/lockers/{LLamaTemple__factory.d.ts → RAACNFTLocker__factory.d.ts} +9 -9
  507. package/dist/types/typechain-types/factories/contracts/core/lockers/index.d.ts +4 -1
  508. package/dist/types/typechain-types/factories/contracts/core/minters/RAACMinter/RAACMinter__factory.d.ts +1 -1
  509. package/dist/types/typechain-types/factories/contracts/core/minters/RAACReleaseOrchestrator/RAACReleaseOrchestrator__factory.d.ts +1 -1
  510. package/dist/types/typechain-types/factories/contracts/core/oracles/BaseVRFv2Consumer__factory.d.ts +1 -1
  511. package/dist/types/typechain-types/factories/contracts/core/oracles/CrvUSDToUSDOracle.sol/CrvUSDToUSDOracle__factory.d.ts +1 -1
  512. package/dist/types/typechain-types/factories/contracts/core/oracles/RAACHousePriceOracle__factory.d.ts +1 -1
  513. package/dist/types/typechain-types/factories/contracts/core/oracles/RAACPrimeRateOracle__factory.d.ts +1 -1
  514. package/dist/types/typechain-types/factories/contracts/core/oracles/RWAIndexTokenOracle.sol/RWAIndexTokenOracle__factory.d.ts +17 -3
  515. package/dist/types/typechain-types/factories/contracts/core/oracles/crvUSDPriceOracle.sol/CrvUSDPriceOracle__factory.d.ts +1 -1
  516. package/dist/types/typechain-types/factories/contracts/core/pools/LendingPool/ERC20AssetAdapter.sol/ERC20AssetAdapter__factory.d.ts +1 -1
  517. package/dist/types/typechain-types/factories/contracts/core/pools/LendingPool/ERC721AssetAdapter__factory.d.ts +1 -1
  518. package/dist/types/typechain-types/factories/contracts/core/pools/LendingPool/LendingPoolStorage__factory.d.ts +5 -1
  519. package/dist/types/typechain-types/factories/contracts/core/pools/LendingPool/LendingPool__factory.d.ts +9 -1
  520. package/dist/types/typechain-types/factories/contracts/core/pools/LendingPool/LiquidationProxy__factory.d.ts +5 -1
  521. package/dist/types/typechain-types/factories/contracts/core/pools/LendingPool/VaultProxy__factory.d.ts +5 -1
  522. package/dist/types/typechain-types/factories/contracts/core/pools/StabilityPool/LiquidationStrategyProxy__factory.d.ts +1 -1
  523. package/dist/types/typechain-types/factories/contracts/core/pools/StabilityPool/LiquidationSwap__factory.d.ts +21 -1
  524. package/dist/types/typechain-types/factories/contracts/core/pools/StabilityPool/StabilityPoolStorage__factory.d.ts +1 -1
  525. package/dist/types/typechain-types/factories/contracts/core/pools/StabilityPool/StabilityPool__factory.d.ts +1 -1
  526. package/dist/types/typechain-types/factories/contracts/core/primitives/ComplianceRegistry.sol/ComplianceRegistry__factory.d.ts +1 -1
  527. package/dist/types/typechain-types/factories/contracts/core/primitives/RAACHousePrices__factory.d.ts +1 -1
  528. package/dist/types/typechain-types/factories/contracts/core/tokens/DEToken__factory.d.ts +49 -6
  529. package/dist/types/typechain-types/factories/contracts/core/tokens/DebtToken__factory.d.ts +1 -1
  530. package/dist/types/typechain-types/factories/contracts/core/tokens/LPToken__factory.d.ts +1 -1
  531. package/dist/types/typechain-types/factories/contracts/core/tokens/LeRAAC.sol/LiquidEscrowedRAAC__factory.d.ts +485 -0
  532. package/dist/types/typechain-types/factories/contracts/core/tokens/LeRAAC.sol/index.d.ts +1 -0
  533. package/dist/types/typechain-types/factories/contracts/core/tokens/RAACNFT__factory.d.ts +1 -1
  534. package/dist/types/typechain-types/factories/contracts/core/tokens/RAACToken__factory.d.ts +1 -1
  535. package/dist/types/typechain-types/factories/contracts/core/tokens/RToken__factory.d.ts +44 -1
  536. package/dist/types/typechain-types/factories/contracts/core/tokens/RWAIndexToken__factory.d.ts +1 -1
  537. package/dist/types/typechain-types/factories/contracts/core/tokens/VeRAACTokenStorage__factory.d.ts +1130 -0
  538. package/dist/types/typechain-types/factories/contracts/core/tokens/VeRAACToken__factory.d.ts +759 -490
  539. package/dist/types/typechain-types/factories/contracts/core/tokens/index.d.ts +2 -0
  540. package/dist/types/typechain-types/factories/contracts/core/vaults/ERC20VaultAdapter__factory.d.ts +1 -1
  541. package/dist/types/typechain-types/factories/contracts/core/vaults/ERC721VaultAdapter__factory.d.ts +1 -1
  542. package/dist/types/typechain-types/factories/contracts/core/vaults/RAACNFTVaultAdapterOracle.sol/IPriceOracle__factory.d.ts +25 -0
  543. package/dist/types/typechain-types/factories/contracts/core/vaults/RAACNFTVaultAdapterOracle.sol/RAACNFTVaultAdapterOracle__factory.d.ts +78 -0
  544. package/dist/types/typechain-types/factories/contracts/core/vaults/RAACNFTVaultAdapterOracle.sol/index.d.ts +2 -0
  545. package/dist/types/typechain-types/factories/contracts/core/vaults/RAACNFTVaultAdapterV2__factory.d.ts +38 -4
  546. package/dist/types/typechain-types/factories/contracts/core/vaults/RWAVault__factory.d.ts +3 -17
  547. package/dist/types/typechain-types/factories/contracts/core/vaults/index.d.ts +1 -0
  548. package/dist/types/typechain-types/factories/contracts/index.d.ts +1 -0
  549. package/dist/types/typechain-types/factories/contracts/interfaces/IBalancerPool__factory.d.ts +91 -0
  550. package/dist/types/typechain-types/factories/contracts/interfaces/IBalancerV1Pool__factory.d.ts +273 -0
  551. package/dist/types/typechain-types/factories/contracts/interfaces/IBalancerVault__factory.d.ts +261 -0
  552. package/dist/types/typechain-types/factories/contracts/interfaces/IConvexCRVDepositor__factory.d.ts +49 -0
  553. package/dist/types/typechain-types/factories/contracts/interfaces/ICurveAPool.sol/ICurveA2Pool__factory.d.ts +305 -0
  554. package/dist/types/typechain-types/factories/contracts/interfaces/ICurveAPool.sol/ICurveA3Pool__factory.d.ts +305 -0
  555. package/dist/types/typechain-types/factories/contracts/interfaces/ICurveAPool.sol/ICurveA4Pool__factory.d.ts +305 -0
  556. package/dist/types/typechain-types/factories/contracts/interfaces/ICurveAPool.sol/ICurveAPool__factory.d.ts +305 -0
  557. package/dist/types/typechain-types/factories/contracts/interfaces/ICurveAPool.sol/index.d.ts +4 -0
  558. package/dist/types/typechain-types/factories/contracts/interfaces/ICurveBasePool.sol/ICurveBase2Pool__factory.d.ts +39 -0
  559. package/dist/types/typechain-types/factories/contracts/interfaces/ICurveBasePool.sol/ICurveBase3Pool__factory.d.ts +39 -0
  560. package/dist/types/typechain-types/factories/contracts/interfaces/ICurveBasePool.sol/ICurveBase4Pool__factory.d.ts +39 -0
  561. package/dist/types/typechain-types/factories/contracts/interfaces/ICurveBasePool.sol/ICurveBasePool__factory.d.ts +175 -0
  562. package/dist/types/typechain-types/factories/contracts/interfaces/ICurveBasePool.sol/index.d.ts +4 -0
  563. package/dist/types/typechain-types/factories/contracts/interfaces/ICurveCryptoPool.sol/ICurveCryptoPool__factory.d.ts +301 -0
  564. package/dist/types/typechain-types/factories/contracts/interfaces/ICurveCryptoPool.sol/ICurveTriCryptoPool__factory.d.ts +165 -0
  565. package/dist/types/typechain-types/factories/contracts/interfaces/ICurveCryptoPool.sol/IZapCurveMetaCryptoPool__factory.d.ts +181 -0
  566. package/dist/types/typechain-types/factories/contracts/interfaces/ICurveCryptoPool.sol/index.d.ts +3 -0
  567. package/dist/types/typechain-types/factories/contracts/interfaces/ICurveETHPool__factory.d.ts +155 -0
  568. package/dist/types/typechain-types/factories/contracts/interfaces/ICurveFactoryMetaPool.sol/ICurveDepositZap3Pool__factory.d.ts +99 -0
  569. package/dist/types/typechain-types/factories/contracts/interfaces/ICurveFactoryMetaPool.sol/ICurveDepositZap4Pool__factory.d.ts +99 -0
  570. package/dist/types/typechain-types/factories/contracts/interfaces/ICurveFactoryMetaPool.sol/ICurveDepositZap__factory.d.ts +55 -0
  571. package/dist/types/typechain-types/factories/contracts/interfaces/ICurveFactoryMetaPool.sol/ICurveFactoryMetaPool__factory.d.ts +193 -0
  572. package/dist/types/typechain-types/factories/contracts/interfaces/ICurveFactoryMetaPool.sol/index.d.ts +4 -0
  573. package/dist/types/typechain-types/factories/contracts/interfaces/ICurveFactoryPlainPool.sol/ICurveFactoryPlain2Pool__factory.d.ts +183 -0
  574. package/dist/types/typechain-types/factories/contracts/interfaces/ICurveFactoryPlainPool.sol/ICurveFactoryPlain3Pool__factory.d.ts +183 -0
  575. package/dist/types/typechain-types/factories/contracts/interfaces/ICurveFactoryPlainPool.sol/ICurveFactoryPlain4Pool__factory.d.ts +183 -0
  576. package/dist/types/typechain-types/factories/contracts/interfaces/ICurveFactoryPlainPool.sol/ICurveFactoryPlainPool__factory.d.ts +147 -0
  577. package/dist/types/typechain-types/factories/contracts/interfaces/ICurveFactoryPlainPool.sol/index.d.ts +4 -0
  578. package/dist/types/typechain-types/factories/contracts/interfaces/ICurveMetaPool.sol/ICurveMetaPoolDeposit__factory.d.ts +141 -0
  579. package/dist/types/typechain-types/factories/contracts/interfaces/ICurveMetaPool.sol/ICurveMetaPoolSwap__factory.d.ts +227 -0
  580. package/dist/types/typechain-types/factories/contracts/interfaces/ICurveMetaPool.sol/index.d.ts +2 -0
  581. package/dist/types/typechain-types/factories/contracts/interfaces/ICurvePoolRegistry__factory.d.ts +35 -0
  582. package/dist/types/typechain-types/factories/contracts/interfaces/ICurveYPool.sol/ICurveY2PoolDeposit__factory.d.ts +165 -0
  583. package/dist/types/typechain-types/factories/contracts/interfaces/ICurveYPool.sol/ICurveY2PoolSwap__factory.d.ts +193 -0
  584. package/dist/types/typechain-types/factories/contracts/interfaces/ICurveYPool.sol/ICurveY3PoolDeposit__factory.d.ts +165 -0
  585. package/dist/types/typechain-types/factories/contracts/interfaces/ICurveYPool.sol/ICurveY3PoolSwap__factory.d.ts +193 -0
  586. package/dist/types/typechain-types/factories/contracts/interfaces/ICurveYPool.sol/ICurveY4PoolDeposit__factory.d.ts +165 -0
  587. package/dist/types/typechain-types/factories/contracts/interfaces/ICurveYPool.sol/ICurveY4PoolSwap__factory.d.ts +193 -0
  588. package/dist/types/typechain-types/factories/contracts/interfaces/ICurveYPool.sol/ICurveYPoolDeposit__factory.d.ts +165 -0
  589. package/dist/types/typechain-types/factories/contracts/interfaces/ICurveYPool.sol/ICurveYPoolSwap__factory.d.ts +193 -0
  590. package/dist/types/typechain-types/factories/contracts/interfaces/ICurveYPool.sol/index.d.ts +8 -0
  591. package/dist/types/typechain-types/factories/contracts/interfaces/ILidoStETH__factory.d.ts +35 -0
  592. package/dist/types/typechain-types/factories/contracts/interfaces/ILidoWstETH__factory.d.ts +83 -0
  593. package/dist/types/typechain-types/factories/contracts/interfaces/IUniswapV2Pair__factory.d.ts +95 -0
  594. package/dist/types/typechain-types/factories/contracts/interfaces/IUniswapV3Pool__factory.d.ts +115 -0
  595. package/dist/types/typechain-types/factories/contracts/interfaces/IUniswapV3Router__factory.d.ts +54 -0
  596. package/dist/types/typechain-types/factories/contracts/interfaces/IWETH__factory.d.ts +23 -0
  597. package/dist/types/typechain-types/factories/contracts/interfaces/IZap__factory.d.ts +89 -0
  598. package/dist/types/typechain-types/factories/contracts/interfaces/concentrator/IAladdinCRV__factory.d.ts +401 -0
  599. package/dist/types/typechain-types/factories/contracts/interfaces/concentrator/IAladdinCompounder__factory.d.ts +350 -0
  600. package/dist/types/typechain-types/factories/contracts/interfaces/concentrator/index.d.ts +2 -0
  601. package/dist/types/typechain-types/factories/contracts/interfaces/core/governance/gauges/IBaseGauge__factory.d.ts +347 -291
  602. package/dist/types/typechain-types/factories/contracts/interfaces/core/governance/gauges/IGaugeController__factory.d.ts +93 -319
  603. package/dist/types/typechain-types/factories/contracts/interfaces/core/governance/gauges/IGaugeRewardsDistributor__factory.d.ts +96 -152
  604. package/dist/types/typechain-types/factories/contracts/interfaces/core/governance/gauges/IVeBoostProxy__factory.d.ts +46 -0
  605. package/dist/types/typechain-types/factories/contracts/interfaces/core/governance/gauges/IVeBoost__factory.d.ts +449 -0
  606. package/dist/types/typechain-types/factories/contracts/interfaces/core/governance/gauges/index.d.ts +2 -0
  607. package/dist/types/typechain-types/factories/contracts/interfaces/core/governance/proposals/IGovernance__factory.d.ts +10 -0
  608. package/dist/types/typechain-types/factories/contracts/interfaces/core/lockers/IRAACBotLocker__factory.d.ts +319 -0
  609. package/dist/types/typechain-types/factories/contracts/interfaces/core/lockers/IRAACMaturityVault__factory.d.ts +192 -0
  610. package/dist/types/typechain-types/factories/contracts/interfaces/core/lockers/IRaacLiquidLocker__factory.d.ts +457 -0
  611. package/dist/types/typechain-types/factories/contracts/interfaces/core/lockers/index.d.ts +3 -0
  612. package/dist/types/typechain-types/factories/contracts/interfaces/core/pools/LendingPool/ILendingPool__factory.d.ts +4 -0
  613. package/dist/types/typechain-types/factories/contracts/interfaces/core/tokens/IDEToken__factory.d.ts +15 -0
  614. package/dist/types/typechain-types/factories/contracts/interfaces/core/tokens/ILiquidEscrowedRAAC__factory.d.ts +185 -0
  615. package/dist/types/typechain-types/factories/contracts/interfaces/core/tokens/IRToken__factory.d.ts +15 -0
  616. package/dist/types/typechain-types/factories/contracts/interfaces/core/tokens/IveRAACTokenV2.sol/IveRAACToken__factory.d.ts +628 -0
  617. package/dist/types/typechain-types/factories/contracts/interfaces/core/tokens/IveRAACTokenV2.sol/index.d.ts +1 -0
  618. package/dist/types/typechain-types/factories/contracts/interfaces/core/tokens/IveRAACToken__factory.d.ts +352 -175
  619. package/dist/types/typechain-types/factories/contracts/interfaces/core/tokens/index.d.ts +2 -0
  620. package/dist/types/typechain-types/factories/contracts/interfaces/index.d.ts +21 -0
  621. package/dist/types/typechain-types/factories/contracts/libraries/governance/BoostCalculator__factory.d.ts +1 -1
  622. package/dist/types/typechain-types/factories/contracts/libraries/governance/LockManager__factory.d.ts +38 -68
  623. package/dist/types/typechain-types/factories/contracts/libraries/governance/PowerCheckpoint__factory.d.ts +6 -79
  624. package/dist/types/typechain-types/factories/contracts/libraries/governance/RagequitLib__factory.d.ts +58 -0
  625. package/dist/types/typechain-types/factories/contracts/libraries/governance/RewardLib__factory.d.ts +71 -0
  626. package/dist/types/typechain-types/factories/contracts/libraries/governance/index.d.ts +2 -0
  627. package/dist/types/typechain-types/factories/contracts/libraries/math/TimeWeightedAverage__factory.d.ts +1 -1
  628. package/dist/types/typechain-types/factories/contracts/libraries/pools/LendingPoolFeeLibrary__factory.d.ts +1 -1
  629. package/dist/types/typechain-types/factories/contracts/libraries/pools/ReserveLibrary__factory.d.ts +1 -1
  630. package/dist/types/typechain-types/factories/contracts/libraries/utils/StringUtils__factory.d.ts +1 -1
  631. package/dist/types/typechain-types/factories/contracts/mocks/ERC20BurnableMock__factory.d.ts +310 -0
  632. package/dist/types/typechain-types/factories/contracts/mocks/core/collectors/MockTreasury__factory.d.ts +1 -1
  633. package/dist/types/typechain-types/factories/contracts/mocks/core/collectors/MockWETH__factory.d.ts +1 -1
  634. package/dist/types/typechain-types/factories/contracts/mocks/core/curve/CurveCrvUSDVaultMock__factory.d.ts +1 -1
  635. package/dist/types/typechain-types/factories/contracts/mocks/core/curve/CurveLiquidityGaugeV5Mock.sol/CurveLiquidityGaugeV5Mock__factory.d.ts +1 -1
  636. package/dist/types/typechain-types/factories/contracts/mocks/core/governance/gauges/MockGaugeController__factory.d.ts +1 -1
  637. package/dist/types/typechain-types/factories/contracts/mocks/core/governance/index.d.ts +1 -0
  638. package/dist/types/typechain-types/factories/contracts/mocks/core/governance/libraries/LockManagerMock__factory.d.ts +354 -0
  639. package/dist/types/typechain-types/factories/contracts/mocks/core/governance/libraries/index.d.ts +1 -0
  640. package/dist/types/typechain-types/factories/contracts/mocks/core/governance/proposals/TimelockPayableTestTarget__factory.d.ts +1 -1
  641. package/dist/types/typechain-types/factories/contracts/mocks/core/governance/proposals/TimelockTestTarget__factory.d.ts +1 -1
  642. package/dist/types/typechain-types/factories/contracts/mocks/core/lockers/LLamaLocker.sol/LlamaLocker__factory.d.ts +1 -1
  643. package/dist/types/typechain-types/factories/contracts/mocks/core/lockers/MockLamaLocker__factory.d.ts +104 -0
  644. package/dist/types/typechain-types/factories/contracts/mocks/core/lockers/index.d.ts +1 -0
  645. package/dist/types/typechain-types/factories/contracts/mocks/core/oracles/MockChainlinkAggregator__factory.d.ts +1 -1
  646. package/dist/types/typechain-types/factories/contracts/mocks/core/oracles/MockCurveEMA.sol/MockCurveEMA__factory.d.ts +1 -1
  647. package/dist/types/typechain-types/factories/contracts/mocks/core/oracles/MockERC20PriceOracle__factory.d.ts +1 -1
  648. package/dist/types/typechain-types/factories/contracts/mocks/core/oracles/MockFunctionsRouter.sol/MockFunctionsRouter__factory.d.ts +1 -1
  649. package/dist/types/typechain-types/factories/contracts/mocks/core/oracles/MockOracle__factory.d.ts +1 -1
  650. package/dist/types/typechain-types/factories/contracts/mocks/core/oracles/MockRAACNFTVaultAdapterNAVOracle__factory.d.ts +1 -1
  651. package/dist/types/typechain-types/factories/contracts/mocks/core/oracles/MockVRFCoordinatorV2__factory.d.ts +1 -1
  652. package/dist/types/typechain-types/factories/contracts/mocks/core/oracles/MockZKMEVerifyUpgradeable__factory.d.ts +1 -1
  653. package/dist/types/typechain-types/factories/contracts/mocks/core/oracles/TestRAACHousePriceOracle__factory.d.ts +1 -1
  654. package/dist/types/typechain-types/factories/contracts/mocks/core/oracles/TestRAACPrimeRateOracle__factory.d.ts +1 -1
  655. package/dist/types/typechain-types/factories/contracts/mocks/core/pools/CurveStyleCrvUSDiRAACPool__factory.d.ts +1 -1
  656. package/dist/types/typechain-types/factories/contracts/mocks/core/pools/MockLendingPoolCollector__factory.d.ts +1 -1
  657. package/dist/types/typechain-types/factories/contracts/mocks/core/pools/MockLendingPoolDebtToken__factory.d.ts +49 -1
  658. package/dist/types/typechain-types/factories/contracts/mocks/core/pools/MockLendingPool__factory.d.ts +1 -1
  659. package/dist/types/typechain-types/factories/contracts/mocks/core/pools/MockLiquidityPool__factory.d.ts +1 -1
  660. package/dist/types/typechain-types/factories/contracts/mocks/core/pools/MockPool__factory.d.ts +1 -1
  661. package/dist/types/typechain-types/factories/contracts/mocks/core/pools/MockStabilityPool__factory.d.ts +1 -1
  662. package/dist/types/typechain-types/factories/contracts/mocks/core/primitives/MockChainAnalysis.sol/MockChainAnalysis__factory.d.ts +1 -1
  663. package/dist/types/typechain-types/factories/contracts/mocks/core/primitives/MockContractWithConfig__factory.d.ts +1 -1
  664. package/dist/types/typechain-types/factories/contracts/mocks/core/primitives/MockContract__factory.d.ts +1 -1
  665. package/dist/types/typechain-types/factories/contracts/mocks/core/primitives/MockDistributableContract__factory.d.ts +1 -1
  666. package/dist/types/typechain-types/factories/contracts/mocks/core/primitives/RAACHousePricesMock__factory.d.ts +1 -1
  667. package/dist/types/typechain-types/factories/contracts/mocks/core/tokens/CrvUSDTokenLimited__factory.d.ts +1 -1
  668. package/dist/types/typechain-types/factories/contracts/mocks/core/tokens/CrvUSDToken__factory.d.ts +1 -1
  669. package/dist/types/typechain-types/factories/contracts/mocks/core/tokens/ERC20Mock__factory.d.ts +1 -1
  670. package/dist/types/typechain-types/factories/contracts/mocks/core/tokens/ERC721Mock__factory.d.ts +1 -1
  671. package/dist/types/typechain-types/factories/contracts/mocks/core/tokens/MockCollectableUnderlying__factory.d.ts +1 -1
  672. package/dist/types/typechain-types/factories/contracts/mocks/core/tokens/MockFeeCollectorToken__factory.d.ts +1 -1
  673. package/dist/types/typechain-types/factories/contracts/mocks/core/tokens/MockToken__factory.d.ts +1 -1
  674. package/dist/types/typechain-types/factories/contracts/mocks/core/tokens/MockUSDC__factory.d.ts +1 -1
  675. package/dist/types/typechain-types/factories/contracts/mocks/core/tokens/RAACMockERC20__factory.d.ts +1 -1
  676. package/dist/types/typechain-types/factories/contracts/mocks/core/vaults/MockVault__factory.d.ts +1 -1
  677. package/dist/types/typechain-types/factories/contracts/mocks/index.d.ts +1 -0
  678. package/dist/types/typechain-types/factories/contracts/mocks/libraries/MockStringUtils__factory.d.ts +1 -1
  679. package/dist/types/typechain-types/factories/contracts/mocks/libraries/MockTimeUtils__factory.d.ts +68 -0
  680. package/dist/types/typechain-types/factories/contracts/mocks/libraries/governance/BoostCalculatorMock__factory.d.ts +1 -1
  681. package/dist/types/typechain-types/factories/contracts/mocks/libraries/governance/PowerCheckpointMock__factory.d.ts +146 -53
  682. package/dist/types/typechain-types/factories/contracts/mocks/libraries/governance/RagequitHarness__factory.d.ts +100 -0
  683. package/dist/types/typechain-types/factories/contracts/mocks/libraries/governance/RewardIntegralCalculatorMock.sol/MockRewardIntegralCalculator__factory.d.ts +230 -0
  684. package/dist/types/typechain-types/factories/contracts/mocks/libraries/governance/RewardIntegralCalculatorMock.sol/index.d.ts +1 -0
  685. package/dist/types/typechain-types/factories/contracts/mocks/libraries/governance/index.d.ts +2 -1
  686. package/dist/types/typechain-types/factories/contracts/mocks/libraries/index.d.ts +1 -0
  687. package/dist/types/typechain-types/factories/contracts/mocks/libraries/math/TimeWeightedAverageMock__factory.d.ts +1 -1
  688. package/dist/types/typechain-types/factories/contracts/mocks/libraries/math/WadRayMathMock__factory.d.ts +1 -1
  689. package/dist/types/typechain-types/factories/contracts/mocks/libraries/pools/ReserveLibraryMockCalculation__factory.d.ts +1 -1
  690. package/dist/types/typechain-types/factories/contracts/mocks/libraries/pools/ReserveLibraryMock__factory.d.ts +1 -1
  691. package/dist/types/typechain-types/factories/contracts/mocks/tests/MaliciousDeposit__factory.d.ts +1 -1
  692. package/dist/types/typechain-types/factories/contracts/mocks/tests/MaliciousWithdraw__factory.d.ts +1 -1
  693. package/dist/types/typechain-types/factories/contracts/mocks/tests/VeRAACFuzzHelper__factory.d.ts +2 -2
  694. package/dist/types/typechain-types/factories/contracts/zap/AladdinCRVZap__factory.d.ts +107 -0
  695. package/dist/types/typechain-types/factories/contracts/zap/AladdinConvexVaultZap__factory.d.ts +208 -0
  696. package/dist/types/typechain-types/factories/contracts/zap/AladdinZap__factory.d.ts +302 -0
  697. package/dist/types/typechain-types/factories/contracts/zap/TokenZapLogic__factory.d.ts +71 -0
  698. package/dist/types/typechain-types/factories/contracts/zap/index.d.ts +4 -0
  699. package/dist/types/typechain-types/factories/contracts/zeno/AuctionFactory__factory.d.ts +1 -1
  700. package/dist/types/typechain-types/factories/contracts/zeno/Auction__factory.d.ts +1 -1
  701. package/dist/types/typechain-types/factories/contracts/zeno/ZENOFactory__factory.d.ts +1 -1
  702. package/dist/types/typechain-types/factories/contracts/zeno/ZENO__factory.d.ts +1 -1
  703. package/dist/types/typechain-types/index.d.ts +156 -26
  704. package/dist/types/utils/artifacts.d.ts +985 -149
  705. package/dist/types/utils/contracts.d.ts +508 -2
  706. package/dist/utils/artifacts.js +37 -0
  707. package/package.json +5 -4
  708. package/dist/types/contracts/crvUSDToken/getBalance.d.ts +0 -2
  709. package/dist/types/contracts/crvUSDToken/getTotalSupply.d.ts +0 -10
  710. package/dist/types/contracts/rcrvUSDToken/getBalance.d.ts +0 -2
  711. package/dist/types/typechain-types/@openzeppelin/contracts/interfaces/IERC1967.d.ts +0 -65
  712. package/dist/types/typechain-types/@openzeppelin/contracts/proxy/ERC1967/index.d.ts +0 -2
  713. package/dist/types/typechain-types/@openzeppelin/contracts/proxy/beacon/index.d.ts +0 -1
  714. package/dist/types/typechain-types/@openzeppelin/contracts/proxy/index.d.ts +0 -7
  715. package/dist/types/typechain-types/@openzeppelin/contracts/proxy/transparent/TransparentUpgradeableProxy.sol/ITransparentUpgradeableProxy.d.ts +0 -80
  716. package/dist/types/typechain-types/@openzeppelin/contracts/proxy/transparent/TransparentUpgradeableProxy.sol/TransparentUpgradeableProxy.d.ts +0 -51
  717. package/dist/types/typechain-types/@openzeppelin/contracts/proxy/transparent/TransparentUpgradeableProxy.sol/index.d.ts +0 -2
  718. package/dist/types/typechain-types/@openzeppelin/contracts/proxy/transparent/index.d.ts +0 -3
  719. package/dist/types/typechain-types/contracts/mocks/libraries/governance/LockManagerMock.d.ts +0 -173
  720. package/dist/types/typechain-types/factories/@openzeppelin/contracts/interfaces/IERC1967__factory.d.ts +0 -42
  721. package/dist/types/typechain-types/factories/@openzeppelin/contracts/proxy/ERC1967/ERC1967Proxy__factory.d.ts +0 -71
  722. package/dist/types/typechain-types/factories/@openzeppelin/contracts/proxy/ERC1967/ERC1967Utils__factory.d.ts +0 -50
  723. package/dist/types/typechain-types/factories/@openzeppelin/contracts/proxy/ERC1967/index.d.ts +0 -2
  724. package/dist/types/typechain-types/factories/@openzeppelin/contracts/proxy/Proxy__factory.d.ts +0 -10
  725. package/dist/types/typechain-types/factories/@openzeppelin/contracts/proxy/beacon/IBeacon__factory.d.ts +0 -17
  726. package/dist/types/typechain-types/factories/@openzeppelin/contracts/proxy/beacon/index.d.ts +0 -1
  727. package/dist/types/typechain-types/factories/@openzeppelin/contracts/proxy/index.d.ts +0 -4
  728. package/dist/types/typechain-types/factories/@openzeppelin/contracts/proxy/transparent/ProxyAdmin__factory.d.ts +0 -115
  729. package/dist/types/typechain-types/factories/@openzeppelin/contracts/proxy/transparent/TransparentUpgradeableProxy.sol/ITransparentUpgradeableProxy__factory.d.ts +0 -56
  730. package/dist/types/typechain-types/factories/@openzeppelin/contracts/proxy/transparent/TransparentUpgradeableProxy.sol/TransparentUpgradeableProxy__factory.d.ts +0 -102
  731. package/dist/types/typechain-types/factories/@openzeppelin/contracts/proxy/transparent/TransparentUpgradeableProxy.sol/index.d.ts +0 -2
  732. package/dist/types/typechain-types/factories/@openzeppelin/contracts/proxy/transparent/index.d.ts +0 -2
  733. package/dist/types/typechain-types/factories/contracts/mocks/libraries/governance/LockManagerMock__factory.d.ts +0 -206
@@ -1,7 +1,7 @@
1
1
  {
2
2
  "_format": "hh-sol-artifact-1",
3
- "contractName": "veRAACToken",
4
- "sourceName": "contracts/core/tokens/veRAACToken.sol",
3
+ "contractName": "VeRAACToken",
4
+ "sourceName": "contracts/core/tokens/VeRAACToken.sol",
5
5
  "abi": [
6
6
  {
7
7
  "inputs": [
@@ -9,6 +9,16 @@
9
9
  "internalType": "address",
10
10
  "name": "_raacToken",
11
11
  "type": "address"
12
+ },
13
+ {
14
+ "internalType": "address",
15
+ "name": "_treasuryAddress",
16
+ "type": "address"
17
+ },
18
+ {
19
+ "internalType": "uint40",
20
+ "name": "_maxLockEpochs",
21
+ "type": "uint40"
12
22
  }
13
23
  ],
14
24
  "stateMutability": "nonpayable",
@@ -16,22 +26,38 @@
16
26
  },
17
27
  {
18
28
  "inputs": [],
19
- "name": "ActiveRewardPeriod",
29
+ "name": "AccessControlBadConfirmation",
30
+ "type": "error"
31
+ },
32
+ {
33
+ "inputs": [
34
+ {
35
+ "internalType": "address",
36
+ "name": "account",
37
+ "type": "address"
38
+ },
39
+ {
40
+ "internalType": "bytes32",
41
+ "name": "neededRole",
42
+ "type": "bytes32"
43
+ }
44
+ ],
45
+ "name": "AccessControlUnauthorizedAccount",
20
46
  "type": "error"
21
47
  },
22
48
  {
23
49
  "inputs": [],
24
- "name": "AmountExceedsLimit",
50
+ "name": "AmountBelowMinimum",
25
51
  "type": "error"
26
52
  },
27
53
  {
28
54
  "inputs": [],
29
- "name": "AmountExceedsLimit",
55
+ "name": "CooldownNotElapsed",
30
56
  "type": "error"
31
57
  },
32
58
  {
33
59
  "inputs": [],
34
- "name": "ContractPaused",
60
+ "name": "DistributionInProgress",
35
61
  "type": "error"
36
62
  },
37
63
  {
@@ -122,27 +148,12 @@
122
148
  },
123
149
  {
124
150
  "inputs": [],
125
- "name": "EmergencyActionNotScheduled",
126
- "type": "error"
127
- },
128
- {
129
- "inputs": [],
130
- "name": "EmergencyDelayNotMet",
131
- "type": "error"
132
- },
133
- {
134
- "inputs": [],
135
- "name": "EmergencyWithdrawNotEnabled",
136
- "type": "error"
137
- },
138
- {
139
- "inputs": [],
140
- "name": "InsufficientRewardBalance",
151
+ "name": "EnforcedPause",
141
152
  "type": "error"
142
153
  },
143
154
  {
144
155
  "inputs": [],
145
- "name": "InsufficientVotingPower",
156
+ "name": "ExpectedPause",
146
157
  "type": "error"
147
158
  },
148
159
  {
@@ -162,17 +173,7 @@
162
173
  },
163
174
  {
164
175
  "inputs": [],
165
- "name": "InvalidBoostBounds",
166
- "type": "error"
167
- },
168
- {
169
- "inputs": [],
170
- "name": "InvalidBoostWindow",
171
- "type": "error"
172
- },
173
- {
174
- "inputs": [],
175
- "name": "InvalidLockAmount",
176
+ "name": "InvalidEpoch",
176
177
  "type": "error"
177
178
  },
178
179
  {
@@ -182,7 +183,7 @@
182
183
  },
183
184
  {
184
185
  "inputs": [],
185
- "name": "InvalidLockDuration",
186
+ "name": "InvalidMaxTime",
186
187
  "type": "error"
187
188
  },
188
189
  {
@@ -192,42 +193,48 @@
192
193
  },
193
194
  {
194
195
  "inputs": [],
195
- "name": "InvalidPowerParameters",
196
+ "name": "InvalidParams",
196
197
  "type": "error"
197
198
  },
198
199
  {
199
200
  "inputs": [],
200
- "name": "InvalidRewardRate",
201
+ "name": "InvalidTimestamp",
201
202
  "type": "error"
202
203
  },
203
204
  {
204
205
  "inputs": [],
205
- "name": "InvalidTime",
206
+ "name": "LockNotExpired",
206
207
  "type": "error"
207
208
  },
208
209
  {
209
210
  "inputs": [],
210
- "name": "LockExpired",
211
+ "name": "MissingEpoch",
211
212
  "type": "error"
212
213
  },
213
214
  {
214
215
  "inputs": [],
215
- "name": "LockNotExpired",
216
+ "name": "MissingEpoch",
216
217
  "type": "error"
217
218
  },
218
219
  {
219
- "inputs": [],
220
- "name": "LockNotFound",
220
+ "inputs": [
221
+ {
222
+ "internalType": "address",
223
+ "name": "token",
224
+ "type": "address"
225
+ }
226
+ ],
227
+ "name": "NoEligibleRewardsForToken",
221
228
  "type": "error"
222
229
  },
223
230
  {
224
231
  "inputs": [],
225
- "name": "LockNotFound",
232
+ "name": "NoPointHistory",
226
233
  "type": "error"
227
234
  },
228
235
  {
229
236
  "inputs": [],
230
- "name": "NoTokensLocked",
237
+ "name": "NotFound",
231
238
  "type": "error"
232
239
  },
233
240
  {
@@ -254,17 +261,17 @@
254
261
  },
255
262
  {
256
263
  "inputs": [],
257
- "name": "PeriodNotElapsed",
264
+ "name": "PendingRagequitRequest",
258
265
  "type": "error"
259
266
  },
260
267
  {
261
268
  "inputs": [],
262
- "name": "PowerTooHigh",
269
+ "name": "ReentrancyGuardReentrantCall",
263
270
  "type": "error"
264
271
  },
265
272
  {
266
273
  "inputs": [],
267
- "name": "ReentrancyGuardReentrantCall",
274
+ "name": "RemovalNotInitiated",
268
275
  "type": "error"
269
276
  },
270
277
  {
@@ -290,7 +297,7 @@
290
297
  },
291
298
  {
292
299
  "inputs": [],
293
- "name": "TotalSupplyLimitExceeded",
300
+ "name": "TokenPreviouslyRemoved",
294
301
  "type": "error"
295
302
  },
296
303
  {
@@ -300,17 +307,7 @@
300
307
  },
301
308
  {
302
309
  "inputs": [],
303
- "name": "ValueOverflow",
304
- "type": "error"
305
- },
306
- {
307
- "inputs": [],
308
- "name": "ZeroDuration",
309
- "type": "error"
310
- },
311
- {
312
- "inputs": [],
313
- "name": "ZeroWeight",
310
+ "name": "ValueTooLargeToCast",
314
311
  "type": "error"
315
312
  },
316
313
  {
@@ -350,49 +347,23 @@
350
347
  {
351
348
  "indexed": false,
352
349
  "internalType": "uint256",
353
- "name": "blockNumber",
350
+ "name": "fromEpoch",
354
351
  "type": "uint256"
355
352
  },
356
353
  {
357
354
  "indexed": false,
358
355
  "internalType": "uint256",
359
- "name": "power",
356
+ "name": "newEpochEnd",
360
357
  "type": "uint256"
361
- }
362
- ],
363
- "name": "CheckpointCreated",
364
- "type": "event"
365
- },
366
- {
367
- "anonymous": false,
368
- "inputs": [
369
- {
370
- "indexed": true,
371
- "internalType": "uint32",
372
- "name": "blockNumber",
373
- "type": "uint32"
374
358
  },
375
359
  {
376
360
  "indexed": false,
377
- "internalType": "uint224",
378
- "name": "value",
379
- "type": "uint224"
380
- }
381
- ],
382
- "name": "CheckpointWritten",
383
- "type": "event"
384
- },
385
- {
386
- "anonymous": false,
387
- "inputs": [
388
- {
389
- "indexed": true,
390
- "internalType": "bytes32",
391
- "name": "actionId",
392
- "type": "bytes32"
361
+ "internalType": "uint256",
362
+ "name": "amount",
363
+ "type": "uint256"
393
364
  }
394
365
  ],
395
- "name": "EmergencyActionCancelled",
366
+ "name": "LockExtended",
396
367
  "type": "event"
397
368
  },
398
369
  {
@@ -400,43 +371,18 @@
400
371
  "inputs": [
401
372
  {
402
373
  "indexed": true,
403
- "internalType": "bytes32",
404
- "name": "actionId",
405
- "type": "bytes32"
374
+ "internalType": "address",
375
+ "name": "user",
376
+ "type": "address"
406
377
  },
407
378
  {
408
379
  "indexed": false,
409
380
  "internalType": "uint256",
410
- "name": "executeTime",
411
- "type": "uint256"
412
- }
413
- ],
414
- "name": "EmergencyActionScheduled",
415
- "type": "event"
416
- },
417
- {
418
- "anonymous": false,
419
- "inputs": [],
420
- "name": "EmergencyUnlockEnabled",
421
- "type": "event"
422
- },
423
- {
424
- "anonymous": false,
425
- "inputs": [],
426
- "name": "EmergencyUnlockScheduled",
427
- "type": "event"
428
- },
429
- {
430
- "anonymous": false,
431
- "inputs": [
432
- {
433
- "indexed": false,
434
- "internalType": "uint256",
435
- "name": "withdrawTime",
381
+ "name": "additionalAmount",
436
382
  "type": "uint256"
437
383
  }
438
384
  ],
439
- "name": "EmergencyWithdrawEnabled",
385
+ "name": "LockIncreased",
440
386
  "type": "event"
441
387
  },
442
388
  {
@@ -453,65 +399,53 @@
453
399
  "internalType": "uint256",
454
400
  "name": "amount",
455
401
  "type": "uint256"
402
+ },
403
+ {
404
+ "indexed": false,
405
+ "internalType": "uint40",
406
+ "name": "epochEnd",
407
+ "type": "uint40"
456
408
  }
457
409
  ],
458
- "name": "EmergencyWithdrawn",
410
+ "name": "Locked",
459
411
  "type": "event"
460
412
  },
461
413
  {
462
414
  "anonymous": false,
463
415
  "inputs": [
464
- {
465
- "indexed": true,
466
- "internalType": "address",
467
- "name": "user",
468
- "type": "address"
469
- },
470
416
  {
471
417
  "indexed": false,
472
418
  "internalType": "uint256",
473
- "name": "amount",
419
+ "name": "oldValue",
474
420
  "type": "uint256"
475
421
  },
476
422
  {
477
423
  "indexed": false,
478
424
  "internalType": "uint256",
479
- "name": "unlockTime",
425
+ "name": "newValue",
480
426
  "type": "uint256"
481
427
  }
482
428
  ],
483
- "name": "LockCreated",
429
+ "name": "MinRewardDistributionAmountUpdated",
484
430
  "type": "event"
485
431
  },
486
432
  {
487
433
  "anonymous": false,
488
434
  "inputs": [
489
- {
490
- "indexed": true,
491
- "internalType": "address",
492
- "name": "user",
493
- "type": "address"
494
- },
495
- {
496
- "indexed": false,
497
- "internalType": "uint256",
498
- "name": "amount",
499
- "type": "uint256"
500
- },
501
435
  {
502
436
  "indexed": false,
503
437
  "internalType": "uint256",
504
- "name": "start",
438
+ "name": "oldLockAmount",
505
439
  "type": "uint256"
506
440
  },
507
441
  {
508
442
  "indexed": false,
509
443
  "internalType": "uint256",
510
- "name": "end",
444
+ "name": "_minLockAmount",
511
445
  "type": "uint256"
512
446
  }
513
447
  ],
514
- "name": "LockCreated",
448
+ "name": "MinimumLockAmountUpdated",
515
449
  "type": "event"
516
450
  },
517
451
  {
@@ -520,55 +454,49 @@
520
454
  {
521
455
  "indexed": true,
522
456
  "internalType": "address",
523
- "name": "user",
457
+ "name": "previousOwner",
524
458
  "type": "address"
525
459
  },
526
460
  {
527
- "indexed": false,
528
- "internalType": "uint256",
529
- "name": "newUnlockTime",
530
- "type": "uint256"
461
+ "indexed": true,
462
+ "internalType": "address",
463
+ "name": "newOwner",
464
+ "type": "address"
531
465
  }
532
466
  ],
533
- "name": "LockExtended",
467
+ "name": "OwnershipTransferred",
534
468
  "type": "event"
535
469
  },
536
470
  {
537
471
  "anonymous": false,
538
472
  "inputs": [
539
473
  {
540
- "indexed": true,
474
+ "indexed": false,
541
475
  "internalType": "address",
542
- "name": "user",
476
+ "name": "account",
543
477
  "type": "address"
544
- },
545
- {
546
- "indexed": false,
547
- "internalType": "uint256",
548
- "name": "newEnd",
549
- "type": "uint256"
550
478
  }
551
479
  ],
552
- "name": "LockExtended",
480
+ "name": "Paused",
553
481
  "type": "event"
554
482
  },
555
483
  {
556
484
  "anonymous": false,
557
485
  "inputs": [
558
486
  {
559
- "indexed": true,
560
- "internalType": "address",
561
- "name": "user",
562
- "type": "address"
487
+ "indexed": false,
488
+ "internalType": "uint40",
489
+ "name": "oldRagequitEpochs",
490
+ "type": "uint40"
563
491
  },
564
492
  {
565
493
  "indexed": false,
566
- "internalType": "uint256",
567
- "name": "additionalAmount",
568
- "type": "uint256"
494
+ "internalType": "uint40",
495
+ "name": "_ragequitEpochs",
496
+ "type": "uint40"
569
497
  }
570
498
  ],
571
- "name": "LockIncreased",
499
+ "name": "RagequitEpochsUpdated",
572
500
  "type": "event"
573
501
  },
574
502
  {
@@ -580,14 +508,20 @@
580
508
  "name": "user",
581
509
  "type": "address"
582
510
  },
511
+ {
512
+ "indexed": true,
513
+ "internalType": "address",
514
+ "name": "to",
515
+ "type": "address"
516
+ },
583
517
  {
584
518
  "indexed": false,
585
519
  "internalType": "uint256",
586
- "name": "additionalAmount",
520
+ "name": "netAmount",
587
521
  "type": "uint256"
588
522
  }
589
523
  ],
590
- "name": "LockIncreased",
524
+ "name": "RagequitFinalized",
591
525
  "type": "event"
592
526
  },
593
527
  {
@@ -602,93 +536,91 @@
602
536
  {
603
537
  "indexed": false,
604
538
  "internalType": "uint256",
605
- "name": "amount",
539
+ "name": "grossAmount",
606
540
  "type": "uint256"
607
541
  },
608
542
  {
609
543
  "indexed": false,
610
544
  "internalType": "uint256",
611
- "name": "lockDuration",
545
+ "name": "penaltyFixed",
612
546
  "type": "uint256"
613
- }
614
- ],
615
- "name": "Locked",
616
- "type": "event"
617
- },
618
- {
619
- "anonymous": false,
620
- "inputs": [
547
+ },
621
548
  {
622
549
  "indexed": false,
623
550
  "internalType": "uint256",
624
- "name": "oldValue",
551
+ "name": "penaltyVariable",
625
552
  "type": "uint256"
626
553
  },
627
554
  {
628
555
  "indexed": false,
629
556
  "internalType": "uint256",
630
- "name": "newValue",
557
+ "name": "readyAt",
631
558
  "type": "uint256"
632
559
  }
633
560
  ],
634
- "name": "MaxBoostUpdated",
561
+ "name": "RagequitInitiatedAll",
635
562
  "type": "event"
636
563
  },
637
564
  {
638
565
  "anonymous": false,
639
566
  "inputs": [
567
+ {
568
+ "indexed": true,
569
+ "internalType": "address",
570
+ "name": "user",
571
+ "type": "address"
572
+ },
573
+ {
574
+ "indexed": true,
575
+ "internalType": "uint40",
576
+ "name": "epochEnd",
577
+ "type": "uint40"
578
+ },
640
579
  {
641
580
  "indexed": false,
642
581
  "internalType": "uint256",
643
- "name": "oldValue",
582
+ "name": "amount",
644
583
  "type": "uint256"
645
584
  },
646
585
  {
647
586
  "indexed": false,
648
587
  "internalType": "uint256",
649
- "name": "newValue",
588
+ "name": "fixedFee",
650
589
  "type": "uint256"
651
- }
652
- ],
653
- "name": "MaxLockDurationUpdated",
654
- "type": "event"
655
- },
656
- {
657
- "anonymous": false,
658
- "inputs": [
590
+ },
659
591
  {
660
592
  "indexed": false,
661
593
  "internalType": "uint256",
662
- "name": "oldValue",
594
+ "name": "variableFee",
663
595
  "type": "uint256"
664
596
  },
665
597
  {
666
598
  "indexed": false,
667
599
  "internalType": "uint256",
668
- "name": "newValue",
600
+ "name": "readyAt",
669
601
  "type": "uint256"
670
602
  }
671
603
  ],
672
- "name": "MinBoostUpdated",
604
+ "name": "RagequitLockInitiated",
673
605
  "type": "event"
674
606
  },
675
607
  {
676
608
  "anonymous": false,
677
609
  "inputs": [
678
610
  {
679
- "indexed": false,
680
- "internalType": "uint256",
681
- "name": "oldValue",
682
- "type": "uint256"
611
+ "indexed": true,
612
+ "internalType": "address",
613
+ "name": "token",
614
+ "type": "address"
683
615
  },
684
616
  {
685
617
  "indexed": false,
686
618
  "internalType": "uint256",
687
- "name": "newValue",
619
+ "name": "pendingAmount",
688
620
  "type": "uint256"
689
621
  }
690
622
  ],
691
- "name": "MinLockDurationUpdated",
623
+ "name": "RewardAccumulated",
692
624
  "type": "event"
693
625
  },
694
626
  {
@@ -697,11 +629,23 @@
697
629
  {
698
630
  "indexed": true,
699
631
  "internalType": "address",
700
- "name": "minter",
632
+ "name": "token",
701
633
  "type": "address"
634
+ },
635
+ {
636
+ "indexed": false,
637
+ "internalType": "uint256",
638
+ "name": "reward",
639
+ "type": "uint256"
640
+ },
641
+ {
642
+ "indexed": false,
643
+ "internalType": "uint256",
644
+ "name": "distributionLength",
645
+ "type": "uint256"
702
646
  }
703
647
  ],
704
- "name": "MinterSet",
648
+ "name": "RewardNotified",
705
649
  "type": "event"
706
650
  },
707
651
  {
@@ -710,42 +654,29 @@
710
654
  {
711
655
  "indexed": true,
712
656
  "internalType": "address",
713
- "name": "previousOwner",
657
+ "name": "token",
714
658
  "type": "address"
715
659
  },
716
660
  {
717
661
  "indexed": true,
718
662
  "internalType": "address",
719
- "name": "newOwner",
663
+ "name": "user",
720
664
  "type": "address"
721
- }
722
- ],
723
- "name": "OwnershipTransferred",
724
- "type": "event"
725
- },
726
- {
727
- "anonymous": false,
728
- "inputs": [
729
- {
730
- "indexed": false,
731
- "internalType": "uint256",
732
- "name": "startTime",
733
- "type": "uint256"
734
665
  },
735
666
  {
736
667
  "indexed": false,
737
668
  "internalType": "uint256",
738
- "name": "duration",
669
+ "name": "reward",
739
670
  "type": "uint256"
740
671
  },
741
672
  {
742
673
  "indexed": false,
743
674
  "internalType": "uint256",
744
- "name": "initialValue",
675
+ "name": "index",
745
676
  "type": "uint256"
746
677
  }
747
678
  ],
748
- "name": "PeriodCreated",
679
+ "name": "RewardPaid",
749
680
  "type": "event"
750
681
  },
751
682
  {
@@ -760,17 +691,11 @@
760
691
  {
761
692
  "indexed": false,
762
693
  "internalType": "uint256",
763
- "name": "reward",
764
- "type": "uint256"
765
- },
766
- {
767
- "indexed": false,
768
- "internalType": "uint256",
769
- "name": "rewardRate",
694
+ "name": "amount",
770
695
  "type": "uint256"
771
696
  }
772
697
  ],
773
- "name": "RewardNotified",
698
+ "name": "RewardRedirectedToTreasury",
774
699
  "type": "event"
775
700
  },
776
701
  {
@@ -782,20 +707,40 @@
782
707
  "name": "token",
783
708
  "type": "address"
784
709
  },
710
+ {
711
+ "indexed": false,
712
+ "internalType": "address",
713
+ "name": "addedBy",
714
+ "type": "address"
715
+ }
716
+ ],
717
+ "name": "RewardTokenAdded",
718
+ "type": "event"
719
+ },
720
+ {
721
+ "anonymous": false,
722
+ "inputs": [
785
723
  {
786
724
  "indexed": true,
787
725
  "internalType": "address",
788
- "name": "user",
726
+ "name": "token",
789
727
  "type": "address"
790
- },
728
+ }
729
+ ],
730
+ "name": "RewardTokenRemovalCanceled",
731
+ "type": "event"
732
+ },
733
+ {
734
+ "anonymous": false,
735
+ "inputs": [
791
736
  {
792
737
  "indexed": false,
793
738
  "internalType": "uint256",
794
- "name": "reward",
739
+ "name": "cooldown",
795
740
  "type": "uint256"
796
741
  }
797
742
  ],
798
- "name": "RewardPaid",
743
+ "name": "RewardTokenRemovalCooldownUpdated",
799
744
  "type": "event"
800
745
  },
801
746
  {
@@ -806,9 +751,15 @@
806
751
  "internalType": "address",
807
752
  "name": "token",
808
753
  "type": "address"
754
+ },
755
+ {
756
+ "indexed": false,
757
+ "internalType": "uint256",
758
+ "name": "removalAvailableAt",
759
+ "type": "uint256"
809
760
  }
810
761
  ],
811
- "name": "RewardTokenAdded",
762
+ "name": "RewardTokenRemovalInitiated",
812
763
  "type": "event"
813
764
  },
814
765
  {
@@ -827,26 +778,95 @@
827
778
  {
828
779
  "anonymous": false,
829
780
  "inputs": [
781
+ {
782
+ "indexed": true,
783
+ "internalType": "bytes32",
784
+ "name": "role",
785
+ "type": "bytes32"
786
+ },
787
+ {
788
+ "indexed": true,
789
+ "internalType": "bytes32",
790
+ "name": "previousAdminRole",
791
+ "type": "bytes32"
792
+ },
793
+ {
794
+ "indexed": true,
795
+ "internalType": "bytes32",
796
+ "name": "newAdminRole",
797
+ "type": "bytes32"
798
+ }
799
+ ],
800
+ "name": "RoleAdminChanged",
801
+ "type": "event"
802
+ },
803
+ {
804
+ "anonymous": false,
805
+ "inputs": [
806
+ {
807
+ "indexed": true,
808
+ "internalType": "bytes32",
809
+ "name": "role",
810
+ "type": "bytes32"
811
+ },
830
812
  {
831
813
  "indexed": true,
832
814
  "internalType": "address",
833
- "name": "from",
815
+ "name": "account",
834
816
  "type": "address"
835
817
  },
836
818
  {
837
819
  "indexed": true,
838
820
  "internalType": "address",
839
- "name": "to",
821
+ "name": "sender",
822
+ "type": "address"
823
+ }
824
+ ],
825
+ "name": "RoleGranted",
826
+ "type": "event"
827
+ },
828
+ {
829
+ "anonymous": false,
830
+ "inputs": [
831
+ {
832
+ "indexed": true,
833
+ "internalType": "bytes32",
834
+ "name": "role",
835
+ "type": "bytes32"
836
+ },
837
+ {
838
+ "indexed": true,
839
+ "internalType": "address",
840
+ "name": "account",
840
841
  "type": "address"
841
842
  },
843
+ {
844
+ "indexed": true,
845
+ "internalType": "address",
846
+ "name": "sender",
847
+ "type": "address"
848
+ }
849
+ ],
850
+ "name": "RoleRevoked",
851
+ "type": "event"
852
+ },
853
+ {
854
+ "anonymous": false,
855
+ "inputs": [
842
856
  {
843
857
  "indexed": false,
844
858
  "internalType": "uint256",
845
- "name": "value",
859
+ "name": "oldValue",
860
+ "type": "uint256"
861
+ },
862
+ {
863
+ "indexed": false,
864
+ "internalType": "uint256",
865
+ "name": "newValue",
846
866
  "type": "uint256"
847
867
  }
848
868
  ],
849
- "name": "Transfer",
869
+ "name": "TimePerBlockUpdated",
850
870
  "type": "event"
851
871
  },
852
872
  {
@@ -855,23 +875,49 @@
855
875
  {
856
876
  "indexed": true,
857
877
  "internalType": "address",
858
- "name": "voter",
878
+ "name": "from",
859
879
  "type": "address"
860
880
  },
861
881
  {
862
882
  "indexed": true,
863
- "internalType": "uint256",
864
- "name": "proposalId",
865
- "type": "uint256"
883
+ "internalType": "address",
884
+ "name": "to",
885
+ "type": "address"
866
886
  },
867
887
  {
868
888
  "indexed": false,
869
889
  "internalType": "uint256",
870
- "name": "power",
890
+ "name": "value",
871
891
  "type": "uint256"
872
892
  }
873
893
  ],
874
- "name": "VoteCast",
894
+ "name": "Transfer",
895
+ "type": "event"
896
+ },
897
+ {
898
+ "anonymous": false,
899
+ "inputs": [
900
+ {
901
+ "indexed": true,
902
+ "internalType": "address",
903
+ "name": "newTreasury",
904
+ "type": "address"
905
+ }
906
+ ],
907
+ "name": "TreasuryUpdated",
908
+ "type": "event"
909
+ },
910
+ {
911
+ "anonymous": false,
912
+ "inputs": [
913
+ {
914
+ "indexed": false,
915
+ "internalType": "address",
916
+ "name": "account",
917
+ "type": "address"
918
+ }
919
+ ],
920
+ "name": "Unpaused",
875
921
  "type": "event"
876
922
  },
877
923
  {
@@ -895,12 +941,12 @@
895
941
  },
896
942
  {
897
943
  "inputs": [],
898
- "name": "EMERGENCY_DELAY",
944
+ "name": "DEFAULT_ADMIN_ROLE",
899
945
  "outputs": [
900
946
  {
901
- "internalType": "uint256",
947
+ "internalType": "bytes32",
902
948
  "name": "",
903
- "type": "uint256"
949
+ "type": "bytes32"
904
950
  }
905
951
  ],
906
952
  "stateMutability": "view",
@@ -908,7 +954,7 @@
908
954
  },
909
955
  {
910
956
  "inputs": [],
911
- "name": "MAX_TOTAL_LOCKED_AMOUNT",
957
+ "name": "FIXED_EXIT_FEE",
912
958
  "outputs": [
913
959
  {
914
960
  "internalType": "uint256",
@@ -934,7 +980,20 @@
934
980
  },
935
981
  {
936
982
  "inputs": [],
937
- "name": "REWARD_DURATION",
983
+ "name": "REWARD_DISTRIBUTOR_ROLE",
984
+ "outputs": [
985
+ {
986
+ "internalType": "bytes32",
987
+ "name": "",
988
+ "type": "bytes32"
989
+ }
990
+ ],
991
+ "stateMutability": "view",
992
+ "type": "function"
993
+ },
994
+ {
995
+ "inputs": [],
996
+ "name": "REWARD_REMOVAL_COOLDOWN",
938
997
  "outputs": [
939
998
  {
940
999
  "internalType": "uint256",
@@ -949,7 +1008,7 @@
949
1008
  "inputs": [
950
1009
  {
951
1010
  "internalType": "address",
952
- "name": "rewardToken",
1011
+ "name": "_rewardToken",
953
1012
  "type": "address"
954
1013
  }
955
1014
  ],
@@ -1010,7 +1069,7 @@
1010
1069
  "inputs": [
1011
1070
  {
1012
1071
  "internalType": "address",
1013
- "name": "user",
1072
+ "name": "_user",
1014
1073
  "type": "address"
1015
1074
  }
1016
1075
  ],
@@ -1029,12 +1088,12 @@
1029
1088
  "inputs": [
1030
1089
  {
1031
1090
  "internalType": "address",
1032
- "name": "account",
1091
+ "name": "_user",
1033
1092
  "type": "address"
1034
1093
  },
1035
1094
  {
1036
1095
  "internalType": "uint256",
1037
- "name": "blockNumber",
1096
+ "name": "_blockNumber",
1038
1097
  "type": "uint256"
1039
1098
  }
1040
1099
  ],
@@ -1053,25 +1112,20 @@
1053
1112
  "inputs": [
1054
1113
  {
1055
1114
  "internalType": "address",
1056
- "name": "user",
1115
+ "name": "_user",
1057
1116
  "type": "address"
1058
1117
  },
1059
1118
  {
1060
1119
  "internalType": "uint256",
1061
- "name": "amount",
1120
+ "name": "_timestamp",
1062
1121
  "type": "uint256"
1063
1122
  }
1064
1123
  ],
1065
- "name": "calculateBoost",
1124
+ "name": "balanceOfAtTime",
1066
1125
  "outputs": [
1067
1126
  {
1068
1127
  "internalType": "uint256",
1069
- "name": "boostMultiplier",
1070
- "type": "uint256"
1071
- },
1072
- {
1073
- "internalType": "uint256",
1074
- "name": "boostedAmount",
1128
+ "name": "",
1075
1129
  "type": "uint256"
1076
1130
  }
1077
1131
  ],
@@ -1081,48 +1135,16 @@
1081
1135
  {
1082
1136
  "inputs": [
1083
1137
  {
1084
- "internalType": "uint256",
1085
- "name": "amount",
1086
- "type": "uint256"
1138
+ "internalType": "address",
1139
+ "name": "_token",
1140
+ "type": "address"
1087
1141
  },
1088
1142
  {
1089
1143
  "internalType": "uint256",
1090
- "name": "lockDuration",
1091
- "type": "uint256"
1092
- }
1093
- ],
1094
- "name": "calculateVeAmount",
1095
- "outputs": [
1096
- {
1097
- "internalType": "uint256",
1098
- "name": "",
1144
+ "name": "maxDistributions",
1099
1145
  "type": "uint256"
1100
1146
  }
1101
1147
  ],
1102
- "stateMutability": "view",
1103
- "type": "function"
1104
- },
1105
- {
1106
- "inputs": [
1107
- {
1108
- "internalType": "bytes32",
1109
- "name": "actionId",
1110
- "type": "bytes32"
1111
- }
1112
- ],
1113
- "name": "cancelEmergencyAction",
1114
- "outputs": [],
1115
- "stateMutability": "nonpayable",
1116
- "type": "function"
1117
- },
1118
- {
1119
- "inputs": [
1120
- {
1121
- "internalType": "address",
1122
- "name": "user",
1123
- "type": "address"
1124
- }
1125
- ],
1126
1148
  "name": "claimReward",
1127
1149
  "outputs": [],
1128
1150
  "stateMutability": "nonpayable",
@@ -1132,13 +1154,18 @@
1132
1154
  "inputs": [
1133
1155
  {
1134
1156
  "internalType": "address",
1135
- "name": "user",
1157
+ "name": "_user",
1136
1158
  "type": "address"
1137
1159
  },
1138
1160
  {
1139
1161
  "internalType": "address",
1140
- "name": "token",
1162
+ "name": "_token",
1141
1163
  "type": "address"
1164
+ },
1165
+ {
1166
+ "internalType": "uint256",
1167
+ "name": "maxDistributions",
1168
+ "type": "uint256"
1142
1169
  }
1143
1170
  ],
1144
1171
  "name": "claimable",
@@ -1156,12 +1183,12 @@
1156
1183
  "inputs": [
1157
1184
  {
1158
1185
  "internalType": "address",
1159
- "name": "user",
1186
+ "name": "_user",
1160
1187
  "type": "address"
1161
1188
  },
1162
1189
  {
1163
1190
  "internalType": "address",
1164
- "name": "token",
1191
+ "name": "_token",
1165
1192
  "type": "address"
1166
1193
  }
1167
1194
  ],
@@ -1193,13 +1220,41 @@
1193
1220
  "inputs": [
1194
1221
  {
1195
1222
  "internalType": "address",
1196
- "name": "user",
1223
+ "name": "_rewardToken",
1224
+ "type": "address"
1225
+ },
1226
+ {
1227
+ "internalType": "uint256",
1228
+ "name": "_reward",
1229
+ "type": "uint256"
1230
+ },
1231
+ {
1232
+ "internalType": "uint40",
1233
+ "name": "epochs",
1234
+ "type": "uint40"
1235
+ }
1236
+ ],
1237
+ "name": "distributeRewards",
1238
+ "outputs": [],
1239
+ "stateMutability": "nonpayable",
1240
+ "type": "function"
1241
+ },
1242
+ {
1243
+ "inputs": [
1244
+ {
1245
+ "internalType": "address",
1246
+ "name": "_user",
1197
1247
  "type": "address"
1198
1248
  },
1199
1249
  {
1200
1250
  "internalType": "address",
1201
- "name": "token",
1251
+ "name": "_token",
1202
1252
  "type": "address"
1253
+ },
1254
+ {
1255
+ "internalType": "uint256",
1256
+ "name": "maxDistributions",
1257
+ "type": "uint256"
1203
1258
  }
1204
1259
  ],
1205
1260
  "name": "earned",
@@ -1214,100 +1269,148 @@
1214
1269
  "type": "function"
1215
1270
  },
1216
1271
  {
1217
- "inputs": [],
1218
- "name": "emergencyUnlockEnabled",
1219
- "outputs": [
1272
+ "inputs": [
1220
1273
  {
1221
- "internalType": "bool",
1222
- "name": "",
1223
- "type": "bool"
1274
+ "internalType": "uint40",
1275
+ "name": "_fromEpochEnd",
1276
+ "type": "uint40"
1277
+ },
1278
+ {
1279
+ "internalType": "uint40",
1280
+ "name": "_addEpochs",
1281
+ "type": "uint40"
1224
1282
  }
1225
1283
  ],
1226
- "stateMutability": "view",
1227
- "type": "function"
1228
- },
1229
- {
1230
- "inputs": [],
1231
- "name": "emergencyWithdraw",
1284
+ "name": "extend",
1232
1285
  "outputs": [],
1233
1286
  "stateMutability": "nonpayable",
1234
1287
  "type": "function"
1235
1288
  },
1236
1289
  {
1237
- "inputs": [],
1238
- "name": "emergencyWithdrawDelay",
1239
- "outputs": [
1290
+ "inputs": [
1240
1291
  {
1241
- "internalType": "uint256",
1242
- "name": "",
1243
- "type": "uint256"
1292
+ "internalType": "address",
1293
+ "name": "_to",
1294
+ "type": "address"
1244
1295
  }
1245
1296
  ],
1246
- "stateMutability": "view",
1297
+ "name": "finalizeRagequit",
1298
+ "outputs": [],
1299
+ "stateMutability": "nonpayable",
1247
1300
  "type": "function"
1248
1301
  },
1249
1302
  {
1250
- "inputs": [],
1251
- "name": "enableEmergencyWithdraw",
1303
+ "inputs": [
1304
+ {
1305
+ "internalType": "address",
1306
+ "name": "_rewardToken",
1307
+ "type": "address"
1308
+ }
1309
+ ],
1310
+ "name": "finalizeRemoveRewardToken",
1252
1311
  "outputs": [],
1253
1312
  "stateMutability": "nonpayable",
1254
1313
  "type": "function"
1255
1314
  },
1256
1315
  {
1257
- "inputs": [],
1258
- "name": "executeEmergencyUnlock",
1259
- "outputs": [],
1260
- "stateMutability": "nonpayable",
1316
+ "inputs": [
1317
+ {
1318
+ "internalType": "address",
1319
+ "name": "user",
1320
+ "type": "address"
1321
+ }
1322
+ ],
1323
+ "name": "getCheckpoint",
1324
+ "outputs": [
1325
+ {
1326
+ "components": [
1327
+ {
1328
+ "internalType": "uint32",
1329
+ "name": "fromBlock",
1330
+ "type": "uint32"
1331
+ },
1332
+ {
1333
+ "internalType": "uint224",
1334
+ "name": "value",
1335
+ "type": "uint224"
1336
+ }
1337
+ ],
1338
+ "internalType": "struct PowerCheckpoint.Checkpoint[]",
1339
+ "name": "",
1340
+ "type": "tuple[]"
1341
+ }
1342
+ ],
1343
+ "stateMutability": "view",
1261
1344
  "type": "function"
1262
1345
  },
1263
1346
  {
1264
1347
  "inputs": [
1348
+ {
1349
+ "internalType": "address",
1350
+ "name": "_user",
1351
+ "type": "address"
1352
+ }
1353
+ ],
1354
+ "name": "getEffectiveLockEnd",
1355
+ "outputs": [
1356
+ {
1357
+ "internalType": "uint40",
1358
+ "name": "",
1359
+ "type": "uint40"
1360
+ }
1361
+ ],
1362
+ "stateMutability": "view",
1363
+ "type": "function"
1364
+ },
1365
+ {
1366
+ "inputs": [],
1367
+ "name": "getGlobalLockInfo",
1368
+ "outputs": [
1265
1369
  {
1266
1370
  "internalType": "uint256",
1267
- "name": "newDuration",
1371
+ "name": "totalLocked",
1268
1372
  "type": "uint256"
1373
+ },
1374
+ {
1375
+ "internalType": "uint40",
1376
+ "name": "maxLockEpochs",
1377
+ "type": "uint40"
1378
+ },
1379
+ {
1380
+ "internalType": "uint40",
1381
+ "name": "epochDuration",
1382
+ "type": "uint40"
1269
1383
  }
1270
1384
  ],
1271
- "name": "extend",
1272
- "outputs": [],
1273
- "stateMutability": "nonpayable",
1385
+ "stateMutability": "view",
1274
1386
  "type": "function"
1275
1387
  },
1276
1388
  {
1277
- "inputs": [],
1278
- "name": "getBoostState",
1389
+ "inputs": [
1390
+ {
1391
+ "internalType": "address",
1392
+ "name": "_user",
1393
+ "type": "address"
1394
+ }
1395
+ ],
1396
+ "name": "getLocks",
1279
1397
  "outputs": [
1280
1398
  {
1281
1399
  "components": [
1282
1400
  {
1283
- "internalType": "uint256",
1284
- "name": "minBoost",
1285
- "type": "uint256"
1286
- },
1287
- {
1288
- "internalType": "uint256",
1289
- "name": "maxBoost",
1290
- "type": "uint256"
1291
- },
1292
- {
1293
- "internalType": "uint256",
1294
- "name": "boostWindow",
1295
- "type": "uint256"
1296
- },
1297
- {
1298
- "internalType": "uint256",
1299
- "name": "totalStaked",
1300
- "type": "uint256"
1401
+ "internalType": "uint112",
1402
+ "name": "amount",
1403
+ "type": "uint112"
1301
1404
  },
1302
1405
  {
1303
- "internalType": "uint256",
1304
- "name": "userStaked",
1305
- "type": "uint256"
1406
+ "internalType": "uint40",
1407
+ "name": "unlockTime",
1408
+ "type": "uint40"
1306
1409
  }
1307
1410
  ],
1308
- "internalType": "struct IveRAACToken.BoostStateView",
1411
+ "internalType": "struct IveRAACToken.LockedBalance[]",
1309
1412
  "name": "",
1310
- "type": "tuple"
1413
+ "type": "tuple[]"
1311
1414
  }
1312
1415
  ],
1313
1416
  "stateMutability": "view",
@@ -1317,20 +1420,39 @@
1317
1420
  "inputs": [
1318
1421
  {
1319
1422
  "internalType": "address",
1320
- "name": "account",
1423
+ "name": "_user",
1321
1424
  "type": "address"
1322
1425
  }
1323
1426
  ],
1324
- "name": "getCurrentBoost",
1427
+ "name": "getMaxLockEnd",
1325
1428
  "outputs": [
1326
1429
  {
1327
- "internalType": "uint256",
1328
- "name": "boostBasisPoints",
1329
- "type": "uint256"
1430
+ "internalType": "uint40",
1431
+ "name": "",
1432
+ "type": "uint40"
1433
+ }
1434
+ ],
1435
+ "stateMutability": "view",
1436
+ "type": "function"
1437
+ },
1438
+ {
1439
+ "inputs": [
1440
+ {
1441
+ "internalType": "address",
1442
+ "name": "_user",
1443
+ "type": "address"
1330
1444
  },
1445
+ {
1446
+ "internalType": "address",
1447
+ "name": "_token",
1448
+ "type": "address"
1449
+ }
1450
+ ],
1451
+ "name": "getMaxUnclaimedDistributions",
1452
+ "outputs": [
1331
1453
  {
1332
1454
  "internalType": "uint256",
1333
- "name": "boostedAmount",
1455
+ "name": "maxDistributions",
1334
1456
  "type": "uint256"
1335
1457
  }
1336
1458
  ],
@@ -1341,16 +1463,48 @@
1341
1463
  "inputs": [
1342
1464
  {
1343
1465
  "internalType": "address",
1344
- "name": "account",
1466
+ "name": "_user",
1345
1467
  "type": "address"
1346
1468
  }
1347
1469
  ],
1348
- "name": "getLockEndTime",
1470
+ "name": "getMinLockEnd",
1349
1471
  "outputs": [
1350
1472
  {
1351
- "internalType": "uint256",
1473
+ "internalType": "uint40",
1352
1474
  "name": "",
1353
- "type": "uint256"
1475
+ "type": "uint40"
1476
+ }
1477
+ ],
1478
+ "stateMutability": "view",
1479
+ "type": "function"
1480
+ },
1481
+ {
1482
+ "inputs": [],
1483
+ "name": "getRewardTokens",
1484
+ "outputs": [
1485
+ {
1486
+ "internalType": "address[]",
1487
+ "name": "",
1488
+ "type": "address[]"
1489
+ }
1490
+ ],
1491
+ "stateMutability": "view",
1492
+ "type": "function"
1493
+ },
1494
+ {
1495
+ "inputs": [
1496
+ {
1497
+ "internalType": "bytes32",
1498
+ "name": "role",
1499
+ "type": "bytes32"
1500
+ }
1501
+ ],
1502
+ "name": "getRoleAdmin",
1503
+ "outputs": [
1504
+ {
1505
+ "internalType": "bytes32",
1506
+ "name": "",
1507
+ "type": "bytes32"
1354
1508
  }
1355
1509
  ],
1356
1510
  "stateMutability": "view",
@@ -1360,90 +1514,148 @@
1360
1514
  "inputs": [
1361
1515
  {
1362
1516
  "internalType": "address",
1363
- "name": "account",
1517
+ "name": "_user",
1364
1518
  "type": "address"
1365
1519
  }
1366
1520
  ],
1367
- "name": "getLockPosition",
1521
+ "name": "getUserPointHistory",
1368
1522
  "outputs": [
1369
1523
  {
1370
1524
  "components": [
1371
1525
  {
1372
- "internalType": "uint256",
1373
- "name": "amount",
1374
- "type": "uint256"
1526
+ "internalType": "int128",
1527
+ "name": "bias",
1528
+ "type": "int128"
1375
1529
  },
1376
1530
  {
1377
1531
  "internalType": "uint256",
1378
- "name": "start",
1532
+ "name": "totalLocked",
1379
1533
  "type": "uint256"
1380
1534
  },
1381
1535
  {
1382
- "internalType": "uint256",
1383
- "name": "end",
1384
- "type": "uint256"
1536
+ "internalType": "uint40",
1537
+ "name": "ts",
1538
+ "type": "uint40"
1539
+ },
1540
+ {
1541
+ "internalType": "uint40",
1542
+ "name": "blk",
1543
+ "type": "uint40"
1385
1544
  },
1386
1545
  {
1387
1546
  "internalType": "uint256",
1388
- "name": "power",
1547
+ "name": "accExpiredLocks",
1389
1548
  "type": "uint256"
1390
1549
  }
1391
1550
  ],
1392
- "internalType": "struct IveRAACToken.LockPosition",
1551
+ "internalType": "struct LockManager.Point[]",
1393
1552
  "name": "",
1394
- "type": "tuple"
1553
+ "type": "tuple[]"
1395
1554
  }
1396
1555
  ],
1397
1556
  "stateMutability": "view",
1398
1557
  "type": "function"
1399
1558
  },
1400
1559
  {
1401
- "inputs": [],
1402
- "name": "getMaxBoost",
1560
+ "inputs": [
1561
+ {
1562
+ "internalType": "bytes32",
1563
+ "name": "role",
1564
+ "type": "bytes32"
1565
+ },
1566
+ {
1567
+ "internalType": "address",
1568
+ "name": "account",
1569
+ "type": "address"
1570
+ }
1571
+ ],
1572
+ "name": "grantRole",
1573
+ "outputs": [],
1574
+ "stateMutability": "nonpayable",
1575
+ "type": "function"
1576
+ },
1577
+ {
1578
+ "inputs": [
1579
+ {
1580
+ "internalType": "bytes32",
1581
+ "name": "role",
1582
+ "type": "bytes32"
1583
+ },
1584
+ {
1585
+ "internalType": "address",
1586
+ "name": "account",
1587
+ "type": "address"
1588
+ }
1589
+ ],
1590
+ "name": "hasRole",
1403
1591
  "outputs": [
1404
1592
  {
1405
- "internalType": "uint256",
1593
+ "internalType": "bool",
1406
1594
  "name": "",
1407
- "type": "uint256"
1595
+ "type": "bool"
1408
1596
  }
1409
1597
  ],
1410
1598
  "stateMutability": "view",
1411
1599
  "type": "function"
1412
1600
  },
1413
1601
  {
1414
- "inputs": [],
1415
- "name": "getMaxLockDuration",
1416
- "outputs": [
1602
+ "inputs": [
1417
1603
  {
1418
1604
  "internalType": "uint256",
1419
- "name": "",
1605
+ "name": "_amountToAdd",
1420
1606
  "type": "uint256"
1607
+ },
1608
+ {
1609
+ "internalType": "uint40",
1610
+ "name": "_epochEnd",
1611
+ "type": "uint40"
1421
1612
  }
1422
1613
  ],
1423
- "stateMutability": "view",
1614
+ "name": "increase",
1615
+ "outputs": [],
1616
+ "stateMutability": "nonpayable",
1617
+ "type": "function"
1618
+ },
1619
+ {
1620
+ "inputs": [
1621
+ {
1622
+ "internalType": "address",
1623
+ "name": "_rewardToken",
1624
+ "type": "address"
1625
+ }
1626
+ ],
1627
+ "name": "initiateRemoveRewardToken",
1628
+ "outputs": [],
1629
+ "stateMutability": "nonpayable",
1424
1630
  "type": "function"
1425
1631
  },
1426
1632
  {
1427
1633
  "inputs": [],
1428
- "name": "getMinBoost",
1634
+ "name": "isFreezingEnabled",
1429
1635
  "outputs": [
1430
1636
  {
1431
- "internalType": "uint256",
1637
+ "internalType": "bool",
1432
1638
  "name": "",
1433
- "type": "uint256"
1639
+ "type": "bool"
1434
1640
  }
1435
1641
  ],
1436
1642
  "stateMutability": "view",
1437
1643
  "type": "function"
1438
1644
  },
1439
1645
  {
1440
- "inputs": [],
1441
- "name": "getMinLockDuration",
1646
+ "inputs": [
1647
+ {
1648
+ "internalType": "address",
1649
+ "name": "",
1650
+ "type": "address"
1651
+ }
1652
+ ],
1653
+ "name": "isRewardToken",
1442
1654
  "outputs": [
1443
1655
  {
1444
- "internalType": "uint256",
1656
+ "internalType": "bool",
1445
1657
  "name": "",
1446
- "type": "uint256"
1658
+ "type": "bool"
1447
1659
  }
1448
1660
  ],
1449
1661
  "stateMutability": "view",
@@ -1453,11 +1665,16 @@
1453
1665
  "inputs": [
1454
1666
  {
1455
1667
  "internalType": "uint256",
1456
- "name": "amount",
1668
+ "name": "_amount",
1457
1669
  "type": "uint256"
1670
+ },
1671
+ {
1672
+ "internalType": "uint40",
1673
+ "name": "_epochs",
1674
+ "type": "uint40"
1458
1675
  }
1459
1676
  ],
1460
- "name": "increase",
1677
+ "name": "lock",
1461
1678
  "outputs": [],
1462
1679
  "stateMutability": "nonpayable",
1463
1680
  "type": "function"
@@ -1466,37 +1683,32 @@
1466
1683
  "inputs": [
1467
1684
  {
1468
1685
  "internalType": "address",
1469
- "name": "",
1686
+ "name": "_user",
1470
1687
  "type": "address"
1471
1688
  }
1472
1689
  ],
1473
- "name": "isRewardToken",
1690
+ "name": "lockedBalanceOf",
1474
1691
  "outputs": [
1475
1692
  {
1476
- "internalType": "bool",
1693
+ "internalType": "uint256",
1477
1694
  "name": "",
1478
- "type": "bool"
1695
+ "type": "uint256"
1479
1696
  }
1480
1697
  ],
1481
1698
  "stateMutability": "view",
1482
1699
  "type": "function"
1483
1700
  },
1484
1701
  {
1485
- "inputs": [
1486
- {
1487
- "internalType": "uint256",
1488
- "name": "amount",
1489
- "type": "uint256"
1490
- },
1702
+ "inputs": [],
1703
+ "name": "minRewardDistributionAmount",
1704
+ "outputs": [
1491
1705
  {
1492
1706
  "internalType": "uint256",
1493
- "name": "duration",
1707
+ "name": "",
1494
1708
  "type": "uint256"
1495
1709
  }
1496
1710
  ],
1497
- "name": "lock",
1498
- "outputs": [],
1499
- "stateMutability": "nonpayable",
1711
+ "stateMutability": "view",
1500
1712
  "type": "function"
1501
1713
  },
1502
1714
  {
@@ -1512,30 +1724,64 @@
1512
1724
  "stateMutability": "view",
1513
1725
  "type": "function"
1514
1726
  },
1727
+ {
1728
+ "inputs": [],
1729
+ "name": "owner",
1730
+ "outputs": [
1731
+ {
1732
+ "internalType": "address",
1733
+ "name": "",
1734
+ "type": "address"
1735
+ }
1736
+ ],
1737
+ "stateMutability": "view",
1738
+ "type": "function"
1739
+ },
1740
+ {
1741
+ "inputs": [],
1742
+ "name": "pause",
1743
+ "outputs": [],
1744
+ "stateMutability": "nonpayable",
1745
+ "type": "function"
1746
+ },
1747
+ {
1748
+ "inputs": [],
1749
+ "name": "paused",
1750
+ "outputs": [
1751
+ {
1752
+ "internalType": "bool",
1753
+ "name": "",
1754
+ "type": "bool"
1755
+ }
1756
+ ],
1757
+ "stateMutability": "view",
1758
+ "type": "function"
1759
+ },
1515
1760
  {
1516
1761
  "inputs": [
1517
1762
  {
1518
1763
  "internalType": "address",
1519
- "name": "rewardToken",
1764
+ "name": "",
1520
1765
  "type": "address"
1521
- },
1766
+ }
1767
+ ],
1768
+ "name": "pendingRewardAmount",
1769
+ "outputs": [
1522
1770
  {
1523
1771
  "internalType": "uint256",
1524
- "name": "reward",
1772
+ "name": "",
1525
1773
  "type": "uint256"
1526
1774
  }
1527
1775
  ],
1528
- "name": "notifyRewardAmount",
1529
- "outputs": [],
1530
- "stateMutability": "nonpayable",
1776
+ "stateMutability": "view",
1531
1777
  "type": "function"
1532
1778
  },
1533
1779
  {
1534
1780
  "inputs": [],
1535
- "name": "owner",
1781
+ "name": "raac",
1536
1782
  "outputs": [
1537
1783
  {
1538
- "internalType": "address",
1784
+ "internalType": "contract IRAACToken",
1539
1785
  "name": "",
1540
1786
  "type": "address"
1541
1787
  }
@@ -1545,25 +1791,89 @@
1545
1791
  },
1546
1792
  {
1547
1793
  "inputs": [],
1548
- "name": "paused",
1794
+ "name": "ragequitAll",
1549
1795
  "outputs": [
1550
1796
  {
1551
- "internalType": "bool",
1797
+ "internalType": "uint256",
1798
+ "name": "processed",
1799
+ "type": "uint256"
1800
+ },
1801
+ {
1802
+ "internalType": "uint256",
1803
+ "name": "amountProcessed",
1804
+ "type": "uint256"
1805
+ }
1806
+ ],
1807
+ "stateMutability": "nonpayable",
1808
+ "type": "function"
1809
+ },
1810
+ {
1811
+ "inputs": [],
1812
+ "name": "ragequitEpochs",
1813
+ "outputs": [
1814
+ {
1815
+ "internalType": "uint40",
1552
1816
  "name": "",
1553
- "type": "bool"
1817
+ "type": "uint40"
1554
1818
  }
1555
1819
  ],
1556
1820
  "stateMutability": "view",
1557
1821
  "type": "function"
1558
1822
  },
1559
1823
  {
1560
- "inputs": [],
1561
- "name": "raacToken",
1824
+ "inputs": [
1825
+ {
1826
+ "internalType": "uint40",
1827
+ "name": "_epochEnd",
1828
+ "type": "uint40"
1829
+ }
1830
+ ],
1831
+ "name": "ragequitLock",
1832
+ "outputs": [],
1833
+ "stateMutability": "nonpayable",
1834
+ "type": "function"
1835
+ },
1836
+ {
1837
+ "inputs": [
1838
+ {
1839
+ "internalType": "address",
1840
+ "name": "user",
1841
+ "type": "address"
1842
+ }
1843
+ ],
1844
+ "name": "ragequitRequests",
1562
1845
  "outputs": [
1563
1846
  {
1564
- "internalType": "contract IERC20",
1847
+ "components": [
1848
+ {
1849
+ "internalType": "uint256",
1850
+ "name": "amount",
1851
+ "type": "uint256"
1852
+ },
1853
+ {
1854
+ "internalType": "uint256",
1855
+ "name": "grossAmount",
1856
+ "type": "uint256"
1857
+ },
1858
+ {
1859
+ "internalType": "uint256",
1860
+ "name": "fixedPenalityAmount",
1861
+ "type": "uint256"
1862
+ },
1863
+ {
1864
+ "internalType": "uint256",
1865
+ "name": "variablePenalityAmount",
1866
+ "type": "uint256"
1867
+ },
1868
+ {
1869
+ "internalType": "uint256",
1870
+ "name": "readyAt",
1871
+ "type": "uint256"
1872
+ }
1873
+ ],
1874
+ "internalType": "struct IveRAACToken.RagequitRequest",
1565
1875
  "name": "",
1566
- "type": "address"
1876
+ "type": "tuple"
1567
1877
  }
1568
1878
  ],
1569
1879
  "stateMutability": "view",
@@ -1573,7 +1883,7 @@
1573
1883
  "inputs": [
1574
1884
  {
1575
1885
  "internalType": "address",
1576
- "name": "user",
1886
+ "name": "_user",
1577
1887
  "type": "address"
1578
1888
  }
1579
1889
  ],
@@ -1601,22 +1911,45 @@
1601
1911
  "stateMutability": "view",
1602
1912
  "type": "function"
1603
1913
  },
1914
+ {
1915
+ "inputs": [],
1916
+ "name": "renounceOwnership",
1917
+ "outputs": [],
1918
+ "stateMutability": "nonpayable",
1919
+ "type": "function"
1920
+ },
1604
1921
  {
1605
1922
  "inputs": [
1923
+ {
1924
+ "internalType": "bytes32",
1925
+ "name": "role",
1926
+ "type": "bytes32"
1927
+ },
1606
1928
  {
1607
1929
  "internalType": "address",
1608
- "name": "rewardToken",
1930
+ "name": "callerConfirmation",
1609
1931
  "type": "address"
1610
1932
  }
1611
1933
  ],
1612
- "name": "removeRewardToken",
1934
+ "name": "renounceRole",
1613
1935
  "outputs": [],
1614
1936
  "stateMutability": "nonpayable",
1615
1937
  "type": "function"
1616
1938
  },
1617
1939
  {
1618
- "inputs": [],
1619
- "name": "renounceOwnership",
1940
+ "inputs": [
1941
+ {
1942
+ "internalType": "bytes32",
1943
+ "name": "role",
1944
+ "type": "bytes32"
1945
+ },
1946
+ {
1947
+ "internalType": "address",
1948
+ "name": "account",
1949
+ "type": "address"
1950
+ }
1951
+ ],
1952
+ "name": "revokeRole",
1620
1953
  "outputs": [],
1621
1954
  "stateMutability": "nonpayable",
1622
1955
  "type": "function"
@@ -1633,42 +1966,17 @@
1633
1966
  "outputs": [
1634
1967
  {
1635
1968
  "internalType": "uint256",
1636
- "name": "periodFinish",
1637
- "type": "uint256"
1638
- },
1639
- {
1640
- "internalType": "uint256",
1641
- "name": "rewardRate",
1642
- "type": "uint256"
1643
- },
1644
- {
1645
- "internalType": "uint256",
1646
- "name": "lastUpdateTime",
1969
+ "name": "totalClaimed",
1647
1970
  "type": "uint256"
1648
1971
  },
1649
1972
  {
1650
1973
  "internalType": "uint256",
1651
- "name": "rewardPerTokenStored",
1974
+ "name": "totalDistributed",
1652
1975
  "type": "uint256"
1653
1976
  },
1654
- {
1655
- "internalType": "address",
1656
- "name": "distributor",
1657
- "type": "address"
1658
- },
1659
- {
1660
- "internalType": "bool",
1661
- "name": "isEnabled",
1662
- "type": "bool"
1663
- },
1664
- {
1665
- "internalType": "uint32",
1666
- "name": "lastDistributionBlock",
1667
- "type": "uint32"
1668
- },
1669
1977
  {
1670
1978
  "internalType": "uint256",
1671
- "name": "totalVotingPowerAtNotify",
1979
+ "name": "removalInitiatedAt",
1672
1980
  "type": "uint256"
1673
1981
  }
1674
1982
  ],
@@ -1678,17 +1986,17 @@
1678
1986
  {
1679
1987
  "inputs": [
1680
1988
  {
1681
- "internalType": "address",
1682
- "name": "rewardToken",
1683
- "type": "address"
1989
+ "internalType": "uint256",
1990
+ "name": "",
1991
+ "type": "uint256"
1684
1992
  }
1685
1993
  ],
1686
- "name": "rewardPerToken",
1994
+ "name": "rewardTokens",
1687
1995
  "outputs": [
1688
1996
  {
1689
- "internalType": "uint256",
1997
+ "internalType": "address",
1690
1998
  "name": "",
1691
- "type": "uint256"
1999
+ "type": "address"
1692
2000
  }
1693
2001
  ],
1694
2002
  "stateMutability": "view",
@@ -1698,37 +2006,37 @@
1698
2006
  "inputs": [
1699
2007
  {
1700
2008
  "internalType": "uint256",
1701
- "name": "",
2009
+ "name": "_minLockAmount",
1702
2010
  "type": "uint256"
1703
2011
  }
1704
2012
  ],
1705
- "name": "rewardTokens",
1706
- "outputs": [
1707
- {
1708
- "internalType": "address",
1709
- "name": "",
1710
- "type": "address"
1711
- }
1712
- ],
1713
- "stateMutability": "view",
2013
+ "name": "setMinLockAmount",
2014
+ "outputs": [],
2015
+ "stateMutability": "nonpayable",
1714
2016
  "type": "function"
1715
2017
  },
1716
2018
  {
1717
2019
  "inputs": [
1718
2020
  {
1719
- "internalType": "bytes32",
1720
- "name": "actionId",
1721
- "type": "bytes32"
2021
+ "internalType": "uint256",
2022
+ "name": "minAmount",
2023
+ "type": "uint256"
1722
2024
  }
1723
2025
  ],
1724
- "name": "scheduleEmergencyAction",
2026
+ "name": "setMinRewardDistributionAmount",
1725
2027
  "outputs": [],
1726
2028
  "stateMutability": "nonpayable",
1727
2029
  "type": "function"
1728
2030
  },
1729
2031
  {
1730
- "inputs": [],
1731
- "name": "scheduleEmergencyUnlock",
2032
+ "inputs": [
2033
+ {
2034
+ "internalType": "uint40",
2035
+ "name": "_ragequitEpochs",
2036
+ "type": "uint40"
2037
+ }
2038
+ ],
2039
+ "name": "setRagequitEpochs",
1732
2040
  "outputs": [],
1733
2041
  "stateMutability": "nonpayable",
1734
2042
  "type": "function"
@@ -1737,11 +2045,11 @@
1737
2045
  "inputs": [
1738
2046
  {
1739
2047
  "internalType": "uint256",
1740
- "name": "newBoost",
2048
+ "name": "cooldown",
1741
2049
  "type": "uint256"
1742
2050
  }
1743
2051
  ],
1744
- "name": "setMaxBoost",
2052
+ "name": "setRewardTokenRemovalCooldown",
1745
2053
  "outputs": [],
1746
2054
  "stateMutability": "nonpayable",
1747
2055
  "type": "function"
@@ -1750,11 +2058,11 @@
1750
2058
  "inputs": [
1751
2059
  {
1752
2060
  "internalType": "uint256",
1753
- "name": "newDuration",
2061
+ "name": "_timePerBlock",
1754
2062
  "type": "uint256"
1755
2063
  }
1756
2064
  ],
1757
- "name": "setMaxLockDuration",
2065
+ "name": "setTimePerBlock",
1758
2066
  "outputs": [],
1759
2067
  "stateMutability": "nonpayable",
1760
2068
  "type": "function"
@@ -1762,12 +2070,12 @@
1762
2070
  {
1763
2071
  "inputs": [
1764
2072
  {
1765
- "internalType": "uint256",
1766
- "name": "newBoost",
1767
- "type": "uint256"
2073
+ "internalType": "address",
2074
+ "name": "_treasuryAddress",
2075
+ "type": "address"
1768
2076
  }
1769
2077
  ],
1770
- "name": "setMinBoost",
2078
+ "name": "setTreasuryAddress",
1771
2079
  "outputs": [],
1772
2080
  "stateMutability": "nonpayable",
1773
2081
  "type": "function"
@@ -1775,14 +2083,20 @@
1775
2083
  {
1776
2084
  "inputs": [
1777
2085
  {
1778
- "internalType": "uint256",
1779
- "name": "newDuration",
1780
- "type": "uint256"
2086
+ "internalType": "bytes4",
2087
+ "name": "interfaceId",
2088
+ "type": "bytes4"
1781
2089
  }
1782
2090
  ],
1783
- "name": "setMinLockDuration",
1784
- "outputs": [],
1785
- "stateMutability": "nonpayable",
2091
+ "name": "supportsInterface",
2092
+ "outputs": [
2093
+ {
2094
+ "internalType": "bool",
2095
+ "name": "",
2096
+ "type": "bool"
2097
+ }
2098
+ ],
2099
+ "stateMutability": "view",
1786
2100
  "type": "function"
1787
2101
  },
1788
2102
  {
@@ -1815,7 +2129,7 @@
1815
2129
  "inputs": [
1816
2130
  {
1817
2131
  "internalType": "uint256",
1818
- "name": "blockNumber",
2132
+ "name": "_blockNumber",
1819
2133
  "type": "uint256"
1820
2134
  }
1821
2135
  ],
@@ -1830,6 +2144,25 @@
1830
2144
  "stateMutability": "view",
1831
2145
  "type": "function"
1832
2146
  },
2147
+ {
2148
+ "inputs": [
2149
+ {
2150
+ "internalType": "uint256",
2151
+ "name": "_timestamp",
2152
+ "type": "uint256"
2153
+ }
2154
+ ],
2155
+ "name": "totalSupplyAtTime",
2156
+ "outputs": [
2157
+ {
2158
+ "internalType": "uint256",
2159
+ "name": "",
2160
+ "type": "uint256"
2161
+ }
2162
+ ],
2163
+ "stateMutability": "view",
2164
+ "type": "function"
2165
+ },
1833
2166
  {
1834
2167
  "inputs": [
1835
2168
  {
@@ -1896,6 +2229,26 @@
1896
2229
  "stateMutability": "nonpayable",
1897
2230
  "type": "function"
1898
2231
  },
2232
+ {
2233
+ "inputs": [],
2234
+ "name": "treasuryAddress",
2235
+ "outputs": [
2236
+ {
2237
+ "internalType": "address",
2238
+ "name": "",
2239
+ "type": "address"
2240
+ }
2241
+ ],
2242
+ "stateMutability": "view",
2243
+ "type": "function"
2244
+ },
2245
+ {
2246
+ "inputs": [],
2247
+ "name": "unpause",
2248
+ "outputs": [],
2249
+ "stateMutability": "nonpayable",
2250
+ "type": "function"
2251
+ },
1899
2252
  {
1900
2253
  "inputs": [
1901
2254
  {
@@ -1912,24 +2265,14 @@
1912
2265
  "name": "userRewardData",
1913
2266
  "outputs": [
1914
2267
  {
1915
- "internalType": "uint256",
1916
- "name": "userRewardPerTokenPaid",
1917
- "type": "uint256"
1918
- },
1919
- {
1920
- "internalType": "uint256",
1921
- "name": "rewards",
1922
- "type": "uint256"
2268
+ "internalType": "uint32",
2269
+ "name": "lastProcessedDistributionIndex",
2270
+ "type": "uint32"
1923
2271
  },
1924
2272
  {
1925
2273
  "internalType": "uint256",
1926
2274
  "name": "claimedRewards",
1927
2275
  "type": "uint256"
1928
- },
1929
- {
1930
- "internalType": "uint32",
1931
- "name": "lastUserBlock",
1932
- "type": "uint32"
1933
2276
  }
1934
2277
  ],
1935
2278
  "stateMutability": "view",
@@ -1938,13 +2281,173 @@
1938
2281
  {
1939
2282
  "inputs": [],
1940
2283
  "name": "withdraw",
1941
- "outputs": [],
2284
+ "outputs": [
2285
+ {
2286
+ "internalType": "uint256",
2287
+ "name": "withdrawn",
2288
+ "type": "uint256"
2289
+ }
2290
+ ],
1942
2291
  "stateMutability": "nonpayable",
1943
2292
  "type": "function"
1944
2293
  }
1945
2294
  ],
1946
- "bytecode": "0x60a060405234610465576143806020813803918261001c8161046a565b93849283398101031261046557516001600160a01b0381169081900361046557610046604061046a565b906012825271566f746520457363726f776564205241414360701b6020830152610070604061046a565b600681526576655241414360d01b602082015282519091906001600160401b03811161036e57600354600181811c9116801561045b575b602082101461034e57601f81116103f6575b506020601f821160011461038f5781929394600092610384575b50508160011b916000199060031b1c1916176003555b81516001600160401b03811161036e57600454600181811c91168015610364575b602082101461034e57601f81116102e9575b50602092601f82116001146102845792819293600092610279575b50508160011b916000199060031b1c1916176004555b33156102635760058054336001600160a01b0319821681179092556040519291906001600160a01b03167f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e0600080a3600160065580156102525760805262093a80600f556301e1338060105569d3c21bcecceda10000006012556a0c685fa11e01ec6f00000060115562093a80602a556301e13380602b5569d3c21bcecceda1000000602d556a0c685fa11e01ec6f000000602c556161a8601b55612710601c5562093a80601d55670de0b6b3a7640000601e55613ef0908161049082396080518181816103f3015281816106080152818161186801528181611c520152611fc90152f35b63e6c4247b60e01b60005260046000fd5b631e4fbdf760e01b600052600060045260246000fd5b015190503880610137565b601f198216936004600052806000209160005b8681106102d157508360019596106102b8575b505050811b0160045561014d565b015160001960f88460031b161c191690553880806102aa565b91926020600181928685015181550194019201610297565b60046000527f8a35acfbc15ff81a39ae7d344fd709f28e8600b4aa8c65c6b64bfe7fe36bd19b601f830160051c81019160208410610344575b601f0160051c01905b818110610338575061011c565b6000815560010161032b565b9091508190610322565b634e487b7160e01b600052602260045260246000fd5b90607f169061010a565b634e487b7160e01b600052604160045260246000fd5b0151905038806100d3565b601f198216906003600052806000209160005b8181106103de575095836001959697106103c5575b505050811b016003556100e9565b015160001960f88460031b161c191690553880806103b7565b9192602060018192868b0151815501940192016103a2565b60036000527fc2575a0e9e593c00f959f8c92f12db2869c3395a3b0502d05e2516446f71f85b601f830160051c81019160208410610451575b601f0160051c01905b81811061044557506100b9565b60008155600101610438565b909150819061042f565b90607f16906100a7565b600080fd5b6040519190601f01601f191682016001600160401b0381118382101761036e5760405256fe608080604052600436101561001357600080fd5b60003560e01c90816306fdde031461241c57508063095ea7b3146123965780630b5dce33146123735780630c5258351461230d5780630c9cbf0e146122e157806310075ab2146122c857806312064c341461228e5780631338736f14611f5357806318160ddd14611f375780631c03e6cc14611e6a578063211dc32d14611e0857806323b872dd14611d1b5780632d4c6e8a14611cfd57806330f3f0db14611aac578063313ce56714611a9057806334bbeab8146119da57806336301533146118f85780633a6ba693146118d25780633ccfd60b1461179c5780633d509c971461161f5780633fa05f8a1461158a57806348e5d9f8146114f35780634c5ecdac146114b65780634ee2cd7e1461148f578063558ac136146113de5780635679ab34146113c057806356fe702d146113a25780635ade228a146113845780635c975abb1461136157806370a082311461133c578063715018a6146112f157806372070b81146112d3578063742ea065146112755780637bb7bed11461123357806382944e2d146112155780638da5cb5b146111ec57806395d89b41146110e55780639714378c14610e59578063981b24d014610e3b5780639c17a18d14610d85578063a592d9ec14610d67578063a9059cbb14610d36578063aaf5eb6814610d13578063ac15e02d14610cad578063afd7babe14610c8f578063b2e0df9614610c18578063b5fd73f814610bd9578063b66503cf146108bc578063c74ed2fe14610845578063d279c191146107f7578063d2e01b2f1461073c578063d4570c1c14610710578063d700c18b14610694578063db2e21bc146104c6578063dd5b762314610473578063dd62ed3e14610422578063e40963f2146103dd578063f1229777146103b2578063f2fde38b1461033a5763f786b958146102b357600080fd5b34610335576020366003190112610335576004356102cf612923565b600f549081811115610324577fc586b63a7dd25a8f779ea2204bd799faa31a041413e1c1dc848fc3d4db326bc5918161030d604093601054936133a7565b600f54602a5580602b5582519182526020820152a1005b63180d062b60e31b60005260046000fd5b600080fd5b3461033557602036600319011261033557610353612520565b61035b612923565b6001600160a01b0316801561039c57600580546001600160a01b0319811683179091556001600160a01b0316600080516020613e3b833981519152600080a3005b631e4fbdf760e01b600052600060045260246000fd5b346103355760203660031901126103355760206103d56103d0612520565b612802565b604051908152f35b34610335576000366003190112610335576040517f00000000000000000000000000000000000000000000000000000000000000006001600160a01b03168152602090f35b346103355760403660031901126103355761043b612520565b610443612536565b6001600160a01b039182166000908152600160209081526040808320949093168252928352819020549051908152f35b346103355760203660031901126103355760043561048f612923565b80600052602e602052600060408120557f92528b34118c4cf8173b224dabbaee2937cc353ca0fa8cd525411832bb4bef4b600080a2005b34610335576000366003190112610335576104df61294c565b600854801590811561068a575b50610679576104fa3361296e565b33600052600a602052604060002060405190610515826125c5565b60ff600382549283855260018101546020860152600281015460408601520154161515606083015215610668575161054d42336132ec565b33600052600a602052610563604060002061270a565b336000526025602052610579604060002061270a565b600e5460295561058833612d14565b6105913361302b565b3360005b602f548110156105f657806105ab60019261257c565b838060a01b0391549060031b1c1680600052603060205260ff60406000205416156105f057600052603360205260006040808220829086825260205220555b01610595565b506105ea565b83610601843361310d565b61062c81337f0000000000000000000000000000000000000000000000000000000000000000613126565b6040519081527f2e39961a70a10f4d46383948095ac2752b3ee642a7c76aa827410aaff08c2e5160203392a261066133612e20565b6001600655005b6343b976c160e01b60005260046000fd5b632457654760e11b60005260046000fd5b90504210816104ec565b3461033557604036600319011261033557608060406106b1612520565b6106b9612536565b9060018060a01b031660005260326020528160002060009160018060a01b031682526020522080549060018101549063ffffffff600360028301549201541691604051938452602084015260408301526060820152f35b346103355760403660031901126103355760206103d561072e612520565b610736612536565b90612762565b34610335576020366003190112610335576080610757612520565b61075f61273d565b5060018060a01b038116600052600a602052604060002060405190610783826125c5565b6107b9815493848452600183015493846020820152606060ff6003600287015496876040860152015416151591015242906132ec565b9160606040516107c8816125c5565b858152602081019283526040810193845201928352604051938452516020840152516040830152516060820152f35b3461033557602036600319011261033557610810612520565b61081861294c565b60ff60075416610834578061082f6106619261296e565b61302b565b63ab35696f60e01b60005260046000fd5b3461033557602036600319011261033557600435610861612923565b6010549081811015610324578015610324577fbe1603c07044e0ff5ba6fe6ecca480a3f67123018f6f566298d5e33b2d3b5d09916040916108a5600f5492826133a7565b60105481602a55602b5582519182526020820152a1005b34610335576040366003190112610335576108d5612520565b6024356108e061294c565b60ff6007541661083457809160018060a01b03169182600052603060205260ff6040600020541615610bc8578115610bb75760005b602f548110156109ab578061092b60019261257c565b838060a01b0391549060031b1c1680600052603060205260ff60406000205416156109a557806000526031602052610967604060002091612802565b90805480421060001461099f575042915b600282019182548411610991575b505050505b01610915565b600301555585808080610986565b91610978565b5061098b565b50908260005260316020526040600020906109c543613320565b8015610ba65760058301556109dc81303387612ad2565b8154804210610b6f575b5050670de0b6b3a76400008202828104670de0b6b3a76400001483151715610b485762093a8090049060018101918083558015610b5e5762093a80810290810462093a8003610b4857670de0b6b3a764000084910411610b5e5742600282015562093a80420190814211610b48579081556004908101805464ffffffffff60a01b1933166001600160c81b0319909116174360a81b63ffffffff60a81b1617600160a01b1790556040516370a0823160e01b81523091810191909152602081602481875afa908115610b3c57600091610b0a575b508211610af9577f8a888ea653a580e40660778ee0c0dabd23a81e8e2c8dcfb938e40982a157d819916040915482519182526020820152a26001600655005b63f16eeebd60e01b60005260046000fd5b90506020813d602011610b34575b81610b2560209383612616565b81010312610335575184610aba565b3d9150610b18565b6040513d6000823e3d90fd5b634e487b7160e01b600052601160045260246000fd5b6308af88a160e21b60005260046000fd5b610b9e929350610b97610b8c670de0b6b3a76400009242906126fd565b600186015490612669565b04906126df565b9083806109e6565b63cabeb65560e01b60005260046000fd5b63162908e360e11b60005260046000fd5b630cbdb7b360e41b60005260046000fd5b34610335576020366003190112610335576001600160a01b03610bfa612520565b166000526030602052602060ff604060002054166040519015158152f35b3461033557602036600319011261033557600435610c34612923565b601b5490601c54811115610c7e578015610c7e577ffb34721264d9bd99f9397915cd89b3efe17ab520387dde594891fb4746ad1b559181604092601b5582519182526020820152a1005b63151843ad60e21b60005260046000fd5b34610335576000366003190112610335576020600f54604051908152f35b3461033557602036600319011261033557600435610cc9612923565b80600052602e602052426040600020556203f4804201804211610b485760207f200aed9164e142f3e2c072cbad433b7386e1bb53e9ec4b89d05fa991b72040aa91604051908152a2005b34610335576000366003190112610335576020604051670de0b6b3a76400008152f35b3461033557604036600319011261033557610d5c610d52612520565b6024359033612fc1565b602060405160018152f35b34610335576000366003190112610335576020600254604051908152f35b3461033557604036600319011261033557610d9e612520565b601d5460205490610db36021549342906132ec565b610dbc42612f44565b90601b5494601c54946040519460c086019686881060018060401b03891117610e2557604098610e09988a52875260208701528786015260608501526080840152600060a0840152613c6f565b612710610e1882602435612669565b0482519182526020820152f35b634e487b7160e01b600052604160045260246000fd5b346103355760203660031901126103355760206103d5600435613320565b3461033557602036600319011261033557610e7261294c565b60ff6007541661083457610e853361296e565b33600052600a6020526040600020606060ff600360405193610ea6856125c5565b8054855260018101546020860152600281015460408601520154161515910152610ecf33612562565b60ff600382015416156110d45760028101908154428111156110c357610f2a906001835493015460405193610f03856125c5565b8452602084015280604084015260016060840152610f256004359142906126fd565b6126df565b9060105482116110b257610f41610f8792426126df565b809355610f4d33612562565b9060ff600360405193610f5f856125c5565b80548552600181015460208601526002810154604086015201541615156060830152336134ac565b604051818152600080516020613e7b83398151915260203392a233600052600a602052611037604060002061101b60405191610fc2836125c5565b8054835260036001820154916020850192835260ff8260028301549260408801938452015416906060860191151582523360005260256020526040600020938651855551600185015551600284015551151591016126ec565b600e5460295561102b42846126fd565b90519060105491613000565b6110418133612c42565b61104b42336132ec565b808211156110895761106090611066926126fd565b33612df1565b604051908152600080516020613e7b83398151915260203392a261066133612e20565b808210611098575b5050611066565b6110ab916110a5916126fd565b3361310d565b8180611091565b630f962f3d60e31b60005260046000fd5b6307b7d7dd60e51b60005260046000fd5b636086ee6f60e11b60005260046000fd5b346103355760003660031901126103355760405160006004548060011c906001811680156111e2575b6020831081146111ce578285529081156111aa575060011461114b575b6111478361113b81850382612616565b604051918291826124d7565b0390f35b600460009081527f8a35acfbc15ff81a39ae7d344fd709f28e8600b4aa8c65c6b64bfe7fe36bd19b939250905b8082106111905750909150810160200161113b61112b565b919260018160209254838588010152019101909291611178565b60ff191660208086019190915291151560051b8401909101915061113b905061112b565b634e487b7160e01b84526022600452602484fd5b91607f169161110e565b34610335576000366003190112610335576005546040516001600160a01b039091168152602090f35b346103355760003660031901126103355760206040516203f4808152f35b3461033557602036600319011261033557600435602f548110156103355761125c60209161257c565b905460405160039290921b1c6001600160a01b03168152f35b346103355760003660031901126103355761128e612923565b600080516020613d7b833981519152600052602e602052426040600020557ff1065a9a3232a185314e36c6249df953c8ff0c44cdf4580b700bfcc4816d29b5600080a1005b34610335576000366003190112610335576020600854604051908152f35b346103355760003660031901126103355761130a612923565b600580546001600160a01b031981169091556000906001600160a01b0316600080516020613e3b8339815191528280a3005b346103355760203660031901126103355760206103d561135a612520565b42906132ec565b3461033557600036600319011261033557602060ff600754166040519015158152f35b3461033557600036600319011261033557602060405162093a808152f35b34610335576000366003190112610335576020601c54604051908152f35b34610335576000366003190112610335576020601054604051908152f35b346103355760203660031901126103355761142f60406113fc612520565b6001600160a01b0381166000908152600a602052829020548251639c17a18d60e01b815293849283929060048401612722565b0381305afa8015610b3c57600090600090611455575b6040809350519182526020820152f35b50506040813d604011611487575b8161147060409383612616565b810103126103355780602060409251910151611445565b3d9150611463565b346103355760403660031901126103355760206103d56114ad612520565b6024359061315b565b34610335576020366003190112610335576001600160a01b036114d7612520565b16600052600a6020526020600260406000200154604051908152f35b34610335576020366003190112610335576001600160a01b03611514612520565b166000526031602052610100604060002080549063ffffffff6001820154916002810154600382015490600560048401549301549460405196875260208701526040860152606085015260018060a01b038116608085015260ff8160a01c16151560a085015260a81c1660c083015260e0820152f35b3461033557600036600319011261033557600060806040516115ab816125e0565b828152826020820152826040820152826060820152015260a0601c54601b54601d54602054906021549260806040516115e3816125e0565b86815260208101928352604081019384526060810194855201938452604051948552516020850152516040840152516060830152516080820152f35b3461033557602036600319011261033557611638612520565b611640612923565b6001600160a01b031660008181526030602052604090205460ff1615610bc857806000526031602052604060002054421061178b576000818152603060205260408120805460ff191690555b602f54908181101561178457826116a28261257c565b905460039190911b1c6001600160a01b0316146116c357600191500161168c565b6000198201918211610b48576116f66116de61171a9361257c565b905460039190911b1c6001600160a01b03169161257c565b9080546001600160a01b0360039390931b83811b199091169290931690921b179055565b602f54801561176e57600019016117308161257c565b81549060018060a01b039060031b1b19169055602f555b7f66257bcef574219c04f7c05f7a1c78d599da10491294c92a5805c48b4cdf5009600080a2005b634e487b7160e01b600052603160045260246000fd5b5050611747565b6398ccee4b60e01b60005260046000fd5b34610335576000366003190112610335576117b561294c565b6117be3361296e565b33600052600a6020526040600020604051906117d9826125c5565b80548083526001820154602084015260ff60036002840154936040860194855201541615156060840152156110d4575142106118c1575161186161181d42336132ec565b33600052600a602052611833604060002061270a565b336000526025602052611849604060002061270a565b600e5460295561185833612d14565b6110a53361302b565b61188c81337f0000000000000000000000000000000000000000000000000000000000000000613126565b6040519081527f7084f5476618d8e60b11ef0d7d3f06914655adb8793e28ff7f018d4c76d505d560203392a261066133612e20565b63342ad40160e11b60005260046000fd5b346103355760003660031901126103355760206040516a0c685fa11e01ec6f0000008152f35b3461033557600036600319011261033557611911612923565b600080516020613e9b833981519152600052602e602052600080516020613dfb8339815191525480156119c9576203f4808101809111610b485742106119b8576203f4804201804211610b48576020817f25004abd8ec665bad2ee0fe374e3b11952166214e204b05d2ea4122417dc220492600855604051908152a1600080516020613e9b8339815191526000908152602e602052600080516020613dfb83398151915255005b6394ef5f3560e01b60005260046000fd5b63610a8b2d60e01b60005260046000fd5b34610335576000366003190112610335576119f3612923565b600080516020613d7b833981519152600052602e602052600080516020613e1b8339815191525480156119c9576203f4808101809111610b485742106119b857600160ff1960095416176009557fa8da083c86be6220353772f872cb01a3bc43292309e703a3bd38197ec4d87356600080a1600080516020613d7b8339815191526000908152602e602052600080516020613e1b83398151915255005b3461033557600036600319011261033557602060405160128152f35b3461033557602036600319011261033557600435611ac861294c565b60ff6007541661083457611adb3361296e565b6a0c685fa11e01ec6f000000611af3826002546126df565b11611cec57611b0133612562565b60ff600382015416156110d4576002810154428111156110c35781549160018101549160405192611b31846125c5565b8484526020840152604083015260016060830152611b4f84846126df565b60125410611cdb57611b6484611b7e946126df565b9055611b7283600e546126df565b600e55610f4d33612562565b604051818152600080516020613dbb83398151915260203392a233600052600a60205260406000203360005260256020526040600020818103611ca9575b82600e548060295533600052600a60205260205533600052600a602052604060002054602155611bea6137bc565b33600052600a602052611c86611060611c40604060002061102b60405191611c11836125c5565b805483526001810154602084015260ff60036002830154928360408701520154161515606084015242906126fd565b611c4a8133612c42565b611c768430337f0000000000000000000000000000000000000000000000000000000000000000612ad2565b611c8042336132ec565b906126fd565b604051908152600080516020613dbb83398151915260203392a261066133612e20565b600360ff8184611cd495548555600181015460018601556002810154600286015501541691016126ec565b8180611bbc565b63172bd6a160e31b60005260046000fd5b633c92a01b60e11b60005260046000fd5b34610335576000366003190112610335576020601b54604051908152f35b3461033557606036600319011261033557611d34612520565b611d3c612536565b6001600160a01b0382166000818152600160209081526040808320338452909152902054909260443592916000198110611d7c575b50610d5c9350612fc1565b838110611deb578415611dd5573315611dbf57610d5c946000526001602052604060002060018060a01b0333166000526020528360406000209103905584611d71565b634a1406b160e11b600052600060045260246000fd5b63e602df0560e01b600052600060045260246000fd5b8390637dc7a0d960e11b6000523360045260245260445260646000fd5b3461033557604036600319011261033557611e21612520565b611e29612536565b6001600160a01b03811660009081526030602052604090205460ff1615610bc85781611e6482611e5e6103d594602096612762565b92612639565b906126df565b3461033557602036600319011261033557611e83612520565b611e8b612923565b6001600160a01b038116908115611f265781600052603060205260ff60406000205416611f1557602f5490600160401b821015610e25576116f6826001611ed59401602f5561257c565b8060005260306020526040600020600160ff198254161790557ff3e4c2c64e71e6ba2eaab9a599bced62f9eb91d2cda610bf41aa8c80ff2cf826600080a2005b63630b374b60e01b60005260046000fd5b63e6c4247b60e01b60005260046000fd5b346103355760003660031901126103355760206103d542612f44565b3461033557611f613661254c565b90611f6a61294c565b60ff6007541661083457611f7d3361296e565b8015610bb75769d3c21bcecceda10000008111611cdb576a0c685fa11e01ec6f000000611fac826002546126df565b11611cec57600f5482108015612283575b6110b257611fed8130337f0000000000000000000000000000000000000000000000000000000000000000612ad2565b611ff782426126df565b600f5480151580612278575b61225a575b50612015600093426126df565b61209d604051612024816125c5565b8481526120676020820142815260036040840186815260608501906001825261204c33612562565b938651855551600185015551600284015551151591016126ec565b61207385600e546126df565b600e55604051612082816125c5565b868152866020820152866040820152866060820152336134ac565b7f71fc552ee832a9004ea0bdb07cb6dd9d641eb2cb53b3cfe88c8fdcff886734a0604051806120cf3394428884612b1d565b0390a26010544282111561224b5761219c906121056120f86120f142866126fd565b928661267c565b600f0b91600f0b82612b33565b9061213e604051612115816125c5565b83600f0b8152826020820152426040820152436060820152338852600b60205260408820612b66565b80612210575b50338552600a602052604085203386526025602052604086208181036121de575b5050600e5480602955602055338552600a60205260408520546021556121896137bc565b6001600160801b03166110608133612c42565b60405191825260208201527f167357c41e38a45e1950f61b1f5accf902c878d83f1685f7f72fb666203ce04760403392a26121d633612e20565b600160065580f35b600360ff818461220995548555600181015460018601556002810154600286015501541691016126ec565b8580612165565b838652600c60205261222a60408720918254600f0b612bd9565b81546001600160801b0319166001600160801b039190911617905585612144565b63e2d8438b60e01b8452600484fd5b8310801561226d575b6110b25783612008565b506010548311612263565b506010541515612003565b506010548211611fbd565b34610335576020366003190112610335576001600160a01b036122af612520565b1660005260006020526020604060002054604051908152f35b346103355760206103d56122db3661254c565b9061269c565b346103355760403660031901126103355760206103d56122ff612520565b612307612536565b90612639565b3461033557602036600319011261033557600435612329612923565b601c5490601b54811015610c7e578015610c7e577f513e0cb9f7e6f20f3331a3d6bc5a2070854a399222885cccf74ac523949f0b3a9181604092601c5582519182526020820152a1005b3461033557600036600319011261033557602060ff600954166040519015158152f35b34610335576040366003190112610335576123af612520565b602435903315611dd5576001600160a01b0316908115611dbf57336000526001602052604060002082600052602052806040600020556040519081527f8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b92560203392a3602060405160018152f35b346103355760003660031901126103355760006003548060011c906001811680156124cd575b6020831081146111ce578285529081156111aa575060011461246e576111478361113b81850382612616565b600360009081527fc2575a0e9e593c00f959f8c92f12db2869c3395a3b0502d05e2516446f71f85b939250905b8082106124b35750909150810160200161113b61112b565b91926001816020925483858801015201910190929161249b565b91607f1691612442565b91909160208152825180602083015260005b81811061250a575060409293506000838284010152601f8019910116010190565b80602080928701015160408286010152016124e9565b600435906001600160a01b038216820361033557565b602435906001600160a01b038216820361033557565b6040906003190112610335576004359060243590565b6001600160a01b03166000908152600a6020526040902090565b602f5481101561259757602f60005260206000200190600090565b634e487b7160e01b600052603260045260246000fd5b80548210156125975760005260206000200190600090565b608081019081106001600160401b03821117610e2557604052565b60a081019081106001600160401b03821117610e2557604052565b604081019081106001600160401b03821117610e2557604052565b601f909101601f19168101906001600160401b03821190821017610e2557604052565b60018060a01b0316600052603260205260406000209060018060a01b031660005260205260026040600020015490565b81810292918115918404141715610b4857565b8115612686570490565b634e487b7160e01b600052601260045260246000fd5b801580156126d7575b6126d0576126c06126c592601054928382116126c857612669565b61267c565b90565b839150612669565b5050600090565b5081156126a5565b91908201809211610b4857565b9060ff801983541691151516179055565b91908203918211610b4857565b60036000918281558260018201558260028201550155565b6001600160a01b039091168152602081019190915260400190565b6040519061274a826125c5565b60006060838281528260208201528260408201520152565b6001600160a01b03821660009081526030602052604090205460ff1615610bc8576127fb6126c59260018060a01b038316600052603260205260408060002060009060018060a01b038416825260205220926127f560606040516127c5816125c5565b8654815263ffffffff600360018901549860208401998a526002810154604085015201541691829101528261315b565b506133bd565b90516126df565b6001600160a01b0316600090815260316020526040908190209051610100810191906001600160401b03831181841017610e255760e0926040528154808252600183015491602081019283526002840154918260408301526003850154916005606082019684885263ffffffff600482015460018060a01b038116608086015260ff8160a01c16151560a086015260a81c1660c084015201549687910152851561291a57804210600014612914575042905b8282111561290b5750916128d46128dc92670de0b6b3a7640000946126fd565b905190612669565b04670de0b6b3a7640000810290808204670de0b6b3a76400001490151715610b48576126c5926127fb9161267c565b94505050505090565b906128b4565b50935050505090565b6005546001600160a01b0316330361293757565b63118cdaa760e01b6000523360045260246000fd5b60026006541461295d576002600655565b633ee5aeb560e01b60005260046000fd5b60005b602f54811015612ace578061298760019261257c565b838060a01b0391549060031b1c1680600052603060205260ff6040600020541615612ac8578060005260316020526040600020906129c481612802565b908254804210600014612ac35750425b6002840180548211612ab5575b5050848060a01b03861690816129fd575b505050505b01612971565b612a6d90826000526032602052604080600020600090898060a01b03841682526020522092600384019563ffffffff60048189541692015460a81c168110600014612a9a57612a4e6040918b61315b565b9183600052603360205281600020600091825260205220555b876133bd565b612a7b8683019182546126df565b905555805463ffffffff19164363ffffffff16179055388080806129f2565b50600082815260336020908152604082209290915252612a67565b8360038601555538806129e1565b6129d4565b506129f7565b5050565b6040516323b872dd60e01b60208201526001600160a01b039283166024820152929091166044830152606480830193909352918152612b1b91612b16608483612616565b613451565b565b6040919493926060820195825260208201520152565b90600f0b90600f0b029081600f0b918203610b4857565b8054821015612597576000526003602060002091020190600090565b8054600160401b811015610e2557612b8391600182018155612b4a565b919091612bc3578051602082015160801b6001600160801b0319166001600160801b03909116178255604081015160018301556060015160029190910155565b634e487b7160e01b600052600060045260246000fd5b600f91820b910b019060016001607f1b0319821260016001607f1b03831317610b4857565b8054600160401b811015610e2557612c1b916001820181556125ad565b919091612bc357805160209182015190911b63ffffffff191663ffffffff91909116179055565b6001600160e01b038211612d03576001600160a01b0316904363ffffffff16908215612cbb57600080516020613ddb83398151915291604091846000526022602052612cae83600020845190612c97826125fb565b8482526001600160e01b0384166020830152612bfe565b82519182526020820152a2565b604051919250600080516020613d9b833981519152916020916001600160e01b031690612cfa90612ceb816125fb565b85815282848201526024612bfe565b604051908152a2565b632f537ee160e01b60005260046000fd5b6001600160a01b03164363ffffffff168115612d76576040600080516020613ddb83398151915291836000526022602052612d6782600020835190612d58826125fb565b83825260006020830152612bfe565b815190815260006020820152a2565b9050612d98604051612d87816125fb565b828152600060208201526024612bfe565b600080516020613d9b833981519152602060405160008152a2565b6001600160e01b038111612d0357600080516020613d9b833981519152602063ffffffff43169260018060e01b0316612cfa604051612ceb816125fb565b906001600160a01b03821615612e0a57612b1b91613930565b63ec442f0560e01b600052600060045260246000fd5b612e32612e2c82613b48565b82612c42565b612e43612e3e42612f44565b612db3565b600e5460205560018060a01b03811680600052600a602052604060002054602155612e6c6137bc565b60005b602f54811015612f1a5780612e8560019261257c565b838060a01b0391549060031b1c1680600052603060205260ff6040600020541615612f1457806000526031602052604060002054421015612f1457836000526032602052612ef363ffffffff6003604080600020600090888060a01b0387168252602052200154168661315b565b90600052603360205260408060002060009086825260205220555b01612e6f565b50612f0e565b505050565b600f91820b910b039060016001607f1b0319821260016001607f1b03831317610b4857565b600d5480156126d0576000198101908111610b4857612f6490600d612b4a565b506001810154828111612fb957612f81612f9091612f99946126fd565b915491600f0b8260801d612b33565b90600f0b612f1f565b600081600f0b13600014612fb3576001600160801b031690565b50600090565b505050600090565b91906001600160a01b03831615612fea576001600160a01b03811615612e0a57612b1b92613a54565b634b637e8f60e11b600052600060045260246000fd5b610f256130159284928382116126c857612669565b600019810191908211610b48576126c59161267c565b6001600160a01b0381168015611f265760005b602f54811015612f1a57808261305560019361257c565b848060a01b0391549060031b1c1680600052603060205260ff604060002054161561310657816000526032602052604080600020600090868060a01b038416825260205220848101908154806130b2575b50505050505b0161303e565b600260209260007f540798df468d7b23d11f156fdb954cb19ad414d150722a7b6d55ba369dea792e9555016130e88282546126df565b90556130f5818a86613126565b604051908152a382388080806130a6565b50506130ac565b906001600160a01b03821615612fea57612b1b9161398c565b612b16612b1b939261314d60405194859263a9059cbb60e01b602085015260248401612722565b03601f198101845283612616565b904381116132db57604060009260018060a01b03169283815260256020522060405191613187836125c5565b8154938484526001830154946020850195865260ff6003600286015495604088019687520154161590811591826060880152916132d2575b5061323d57604090600090815260226020522080541561323d57806131e7836131ed93613ba0565b906125ad565b50548163ffffffff8216146132c7575060009043810361324757505042925b8051908185111561323d57613227613231926126c5966126fd565b92519051906126fd565b915191602b5492613c38565b5050505050600090565b818143039112438212811690438313901516176132b357818113156132a057905b600c820291808304600c149015171561328c575061328690426126fd565b9261320c565b634e487b7160e01b81526011600452602490fd5b600160ff1b81146132b357810390613268565b634e487b7160e01b82526011600452602482fd5b935050505060201c90565b905015386131bf565b631391e11b60e21b60005260046000fd5b6001600160a01b03166000908152600b6020526040902080548015612fb9576000198101908111610b4857612f6491612b4a565b4381116132db5760245415612fb35761334461333d826024613ba0565b60246125ad565b50549063ffffffff82169080821461339f57600c810290808204600c1490151715610b4857600c820291808304600c1490151715610b48578181111561339f576126c59291613392916126fd565b602b54809260201c613c38565b505060201c90565b818110156110b25780156110b257600f55601055565b670de0b6b3a76400009161344761344d9260018060a01b038116600052603260205261343f61343960408060002060009060018060a01b0388168252602052209263ffffffff600360405195613412876125c5565b8054875260018101546020880152600281015460408801520154169081606086015261315b565b93612802565b9051906126fd565b90612669565b0490565b906000602091828151910182855af115610b3c576000513d6134a357506001600160a01b0381163b155b6134825750565b635274afe760e01b60009081526001600160a01b0391909116600452602490fd5b6001141561347b565b6040516134b8816125c5565b60008152602081019160008352426040830152436060830152604085019081514281116136ce575b5060018060a01b0316600052600b6020526134ff826040600020612b66565b61350761273d565b50600d54801561369f576000198101908111610b4857612b1b9561352e606092600d612b4a565b5095865480600f0b9060801d9060405191613548836125c5565b81835280600f0b6020840152426040840152438684015261356e6001849b0154426126fd565b9182613668575b505050505b8281015115158061365b575b6135eb575b500151151590816135df575b506135a6575b5050600d612b66565b6135b89051600f0b8351600f0b612bd9565b600f0b825251600f0b6135d360208301918251600f0b612bd9565b600f0b9052388061359d565b90504290511138613597565b61363a6135fc4260408401516126fd565b6136248351613616601054809460018060801b0393613000565b16600f0b8a51600f0b612f1f565b600f0b895291516001600160801b03929061267c565b16600f0b61365060208801918251600f0b612f1f565b600f0b90523861358b565b5042604082015111613586565b61367b61368192600094600f0b90612b33565b90612f1f565b600f0b80835212613695575b808080613575565b600090523861368d565b506060612b1b956040516136b2816125c5565b600081526000602082015242604082015243838201529561357a565b6136d99042906126fd565b6136e98751601054928391613000565b87516001600160801b03906136ff90849061267c565b16600f0b865260018060801b0316600f0b8452604086019042825111613765575b50508351600f0b8251600052600c6020526137446040600020918254600f0b612bd9565b81546001600160801b0319166001600160801b0391909116179055386134e0565b86516001600160801b03916137799161267c565b16600f0b9051600052600c60205261379a6040600020918254600f0b612f1f565b81546001600160801b0319166001600160801b03919091161790553880613720565b601d54801561391f57601b5490601c548210610c7e5760145490811515808061390d575b61388d57601f549281613877575b50613866578215613855577f0792cf7388f234e543a10a68aeb7b96568fb90b55ddc2b2945961c80a3c3a082924260145561382982426126df565b6015554260165582601755600060185581601955601a556138506040519283924284612b1d565b0390a1565b6319a2a9bd60e01b60005260046000fd5b63f0aaee6560e01b60005260046000fd5b6138859150601954906126df565b4210386137ee565b5050601f54915042108015613902575b6138f1576016544203806138b6575b5060175542601655565b601754818102906138c7838361267c565b036138e0576018540160185560195401601955386138ac565b63f20577e560e01b60005260046000fd5b6337bf561360e11b60005260046000fd5b50601554421161389d565b5061391882846126df565b42106137e0565b63a8c60b8160e01b60005260046000fd5b600080516020613e5b8339815191526020600092613950856002546126df565b6002556001600160a01b031693841584146139775780600254036002555b604051908152a3565b8484528382526040842081815401905561396e565b9091906001600160a01b03168015808015613a4c575b6139b757638cd22d1960e01b60005260046000fd5b156139f257600080516020613e5b8339815191526020846139dd600095966002546126df565b6002555b8060025403600255604051908152a3565b806000526000602052604060002054838110613a305760208460009495600080516020613e5b833981519152938587528684520360408620556139e1565b915063391434e360e21b60005260045260245260445260646000fd5b5060016139a2565b6001600160a01b0316908115808015613b37575b613a7d57638cd22d1960e01b60005260046000fd5b15613adc576020600080516020613e5b83398151915291613aa0856002546126df565b6002555b6001600160a01b03169384613ac4578060025403600255604051908152a3565b8460005260008252604060002081815401905561396e565b816000526000602052604060002054838110613b1a57600080516020613e5b8339815191529184602092856000526000845203604060002055613aa4565b91905063391434e360e21b60005260045260245260445260646000fd5b506001600160a01b03821615613a68565b6001600160a01b03166000908152600a60205260409020600381015460ff16158015613b92575b612fb35780613b8660026126c593015442906126fd565b90549060105491613000565b506002810154421015613b6f565b60009181546000198101908111613c245791905b828410613bc15750505090565b909192613bce84826126df565b60018101809111610b485760011c908263ffffffff613bed84876125ad565b50541611613bff5750925b9190613bb4565b9350600019810190811115613bf857634e487b7160e01b600052601160045260246000fd5b634e487b7160e01b84526011600452602484fd5b9181811015613c6657613015928492610f259280821115613c5c57613447916126fd565b5050600090612669565b50505050600090565b9080158015613d6e575b613d6557670de0b6b3a7640000820291808304670de0b6b3a76400001490151715610b4857613ca79161267c565b66038d7ea4c680008110613d5d576060820151670de0b6b3a7640000810290808204670de0b6b3a76400001490151715610b4857670de0b6b3a764000091613447613cf79260808601519061267c565b0490613d34815192670de0b6b3a7640000613d22613d1b60208601968751906126fd565b8093612669565b0490808211613d55575b5083516126df565b9151808310613d4f575051808211613d4a575090565b905090565b91505090565b905038613d2c565b506020015190565b50506020015190565b50608083015115613c7956fe34937d7722678a23b9c1078911aa0d40eec7326d87ab5d725c6e06c2ae06fbabb45c44c56db4e898aff83acd229edf5e8e6ef1ecc211e8775a7203a310225b37b6f6047ccb2c5eb4dd18dd4204255859ff2dd42986622a68192bad01a6084b549d362ba40ca7e8092153f1352b7c262010bd99054fac4b75a4d86b4be14ecffa06ba569598f4effe4995fa79e5f73450f83529ebcae1796445a8faaa7be59a35993325654301e7be9bba5246373ff462468bfb57289a9be9313bb12c0dc998a88be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e0ddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3efe5d4b5c97a45cd2c590e17dd6dc2c0b1935d6c56701144a267f57b1a9f6779f4b90cbad5ff8166afd6f4d1cddb15dd6c2e07accef35424f938aafab38c768910a26469706673582212209940c023fb3a7fa09c95237da9231d4381edcd083ec1ca2c1c6b73ea54c3b6f164736f6c634300081e0033",
1947
- "deployedBytecode": "0x608080604052600436101561001357600080fd5b60003560e01c90816306fdde031461241c57508063095ea7b3146123965780630b5dce33146123735780630c5258351461230d5780630c9cbf0e146122e157806310075ab2146122c857806312064c341461228e5780631338736f14611f5357806318160ddd14611f375780631c03e6cc14611e6a578063211dc32d14611e0857806323b872dd14611d1b5780632d4c6e8a14611cfd57806330f3f0db14611aac578063313ce56714611a9057806334bbeab8146119da57806336301533146118f85780633a6ba693146118d25780633ccfd60b1461179c5780633d509c971461161f5780633fa05f8a1461158a57806348e5d9f8146114f35780634c5ecdac146114b65780634ee2cd7e1461148f578063558ac136146113de5780635679ab34146113c057806356fe702d146113a25780635ade228a146113845780635c975abb1461136157806370a082311461133c578063715018a6146112f157806372070b81146112d3578063742ea065146112755780637bb7bed11461123357806382944e2d146112155780638da5cb5b146111ec57806395d89b41146110e55780639714378c14610e59578063981b24d014610e3b5780639c17a18d14610d85578063a592d9ec14610d67578063a9059cbb14610d36578063aaf5eb6814610d13578063ac15e02d14610cad578063afd7babe14610c8f578063b2e0df9614610c18578063b5fd73f814610bd9578063b66503cf146108bc578063c74ed2fe14610845578063d279c191146107f7578063d2e01b2f1461073c578063d4570c1c14610710578063d700c18b14610694578063db2e21bc146104c6578063dd5b762314610473578063dd62ed3e14610422578063e40963f2146103dd578063f1229777146103b2578063f2fde38b1461033a5763f786b958146102b357600080fd5b34610335576020366003190112610335576004356102cf612923565b600f549081811115610324577fc586b63a7dd25a8f779ea2204bd799faa31a041413e1c1dc848fc3d4db326bc5918161030d604093601054936133a7565b600f54602a5580602b5582519182526020820152a1005b63180d062b60e31b60005260046000fd5b600080fd5b3461033557602036600319011261033557610353612520565b61035b612923565b6001600160a01b0316801561039c57600580546001600160a01b0319811683179091556001600160a01b0316600080516020613e3b833981519152600080a3005b631e4fbdf760e01b600052600060045260246000fd5b346103355760203660031901126103355760206103d56103d0612520565b612802565b604051908152f35b34610335576000366003190112610335576040517f00000000000000000000000000000000000000000000000000000000000000006001600160a01b03168152602090f35b346103355760403660031901126103355761043b612520565b610443612536565b6001600160a01b039182166000908152600160209081526040808320949093168252928352819020549051908152f35b346103355760203660031901126103355760043561048f612923565b80600052602e602052600060408120557f92528b34118c4cf8173b224dabbaee2937cc353ca0fa8cd525411832bb4bef4b600080a2005b34610335576000366003190112610335576104df61294c565b600854801590811561068a575b50610679576104fa3361296e565b33600052600a602052604060002060405190610515826125c5565b60ff600382549283855260018101546020860152600281015460408601520154161515606083015215610668575161054d42336132ec565b33600052600a602052610563604060002061270a565b336000526025602052610579604060002061270a565b600e5460295561058833612d14565b6105913361302b565b3360005b602f548110156105f657806105ab60019261257c565b838060a01b0391549060031b1c1680600052603060205260ff60406000205416156105f057600052603360205260006040808220829086825260205220555b01610595565b506105ea565b83610601843361310d565b61062c81337f0000000000000000000000000000000000000000000000000000000000000000613126565b6040519081527f2e39961a70a10f4d46383948095ac2752b3ee642a7c76aa827410aaff08c2e5160203392a261066133612e20565b6001600655005b6343b976c160e01b60005260046000fd5b632457654760e11b60005260046000fd5b90504210816104ec565b3461033557604036600319011261033557608060406106b1612520565b6106b9612536565b9060018060a01b031660005260326020528160002060009160018060a01b031682526020522080549060018101549063ffffffff600360028301549201541691604051938452602084015260408301526060820152f35b346103355760403660031901126103355760206103d561072e612520565b610736612536565b90612762565b34610335576020366003190112610335576080610757612520565b61075f61273d565b5060018060a01b038116600052600a602052604060002060405190610783826125c5565b6107b9815493848452600183015493846020820152606060ff6003600287015496876040860152015416151591015242906132ec565b9160606040516107c8816125c5565b858152602081019283526040810193845201928352604051938452516020840152516040830152516060820152f35b3461033557602036600319011261033557610810612520565b61081861294c565b60ff60075416610834578061082f6106619261296e565b61302b565b63ab35696f60e01b60005260046000fd5b3461033557602036600319011261033557600435610861612923565b6010549081811015610324578015610324577fbe1603c07044e0ff5ba6fe6ecca480a3f67123018f6f566298d5e33b2d3b5d09916040916108a5600f5492826133a7565b60105481602a55602b5582519182526020820152a1005b34610335576040366003190112610335576108d5612520565b6024356108e061294c565b60ff6007541661083457809160018060a01b03169182600052603060205260ff6040600020541615610bc8578115610bb75760005b602f548110156109ab578061092b60019261257c565b838060a01b0391549060031b1c1680600052603060205260ff60406000205416156109a557806000526031602052610967604060002091612802565b90805480421060001461099f575042915b600282019182548411610991575b505050505b01610915565b600301555585808080610986565b91610978565b5061098b565b50908260005260316020526040600020906109c543613320565b8015610ba65760058301556109dc81303387612ad2565b8154804210610b6f575b5050670de0b6b3a76400008202828104670de0b6b3a76400001483151715610b485762093a8090049060018101918083558015610b5e5762093a80810290810462093a8003610b4857670de0b6b3a764000084910411610b5e5742600282015562093a80420190814211610b48579081556004908101805464ffffffffff60a01b1933166001600160c81b0319909116174360a81b63ffffffff60a81b1617600160a01b1790556040516370a0823160e01b81523091810191909152602081602481875afa908115610b3c57600091610b0a575b508211610af9577f8a888ea653a580e40660778ee0c0dabd23a81e8e2c8dcfb938e40982a157d819916040915482519182526020820152a26001600655005b63f16eeebd60e01b60005260046000fd5b90506020813d602011610b34575b81610b2560209383612616565b81010312610335575184610aba565b3d9150610b18565b6040513d6000823e3d90fd5b634e487b7160e01b600052601160045260246000fd5b6308af88a160e21b60005260046000fd5b610b9e929350610b97610b8c670de0b6b3a76400009242906126fd565b600186015490612669565b04906126df565b9083806109e6565b63cabeb65560e01b60005260046000fd5b63162908e360e11b60005260046000fd5b630cbdb7b360e41b60005260046000fd5b34610335576020366003190112610335576001600160a01b03610bfa612520565b166000526030602052602060ff604060002054166040519015158152f35b3461033557602036600319011261033557600435610c34612923565b601b5490601c54811115610c7e578015610c7e577ffb34721264d9bd99f9397915cd89b3efe17ab520387dde594891fb4746ad1b559181604092601b5582519182526020820152a1005b63151843ad60e21b60005260046000fd5b34610335576000366003190112610335576020600f54604051908152f35b3461033557602036600319011261033557600435610cc9612923565b80600052602e602052426040600020556203f4804201804211610b485760207f200aed9164e142f3e2c072cbad433b7386e1bb53e9ec4b89d05fa991b72040aa91604051908152a2005b34610335576000366003190112610335576020604051670de0b6b3a76400008152f35b3461033557604036600319011261033557610d5c610d52612520565b6024359033612fc1565b602060405160018152f35b34610335576000366003190112610335576020600254604051908152f35b3461033557604036600319011261033557610d9e612520565b601d5460205490610db36021549342906132ec565b610dbc42612f44565b90601b5494601c54946040519460c086019686881060018060401b03891117610e2557604098610e09988a52875260208701528786015260608501526080840152600060a0840152613c6f565b612710610e1882602435612669565b0482519182526020820152f35b634e487b7160e01b600052604160045260246000fd5b346103355760203660031901126103355760206103d5600435613320565b3461033557602036600319011261033557610e7261294c565b60ff6007541661083457610e853361296e565b33600052600a6020526040600020606060ff600360405193610ea6856125c5565b8054855260018101546020860152600281015460408601520154161515910152610ecf33612562565b60ff600382015416156110d45760028101908154428111156110c357610f2a906001835493015460405193610f03856125c5565b8452602084015280604084015260016060840152610f256004359142906126fd565b6126df565b9060105482116110b257610f41610f8792426126df565b809355610f4d33612562565b9060ff600360405193610f5f856125c5565b80548552600181015460208601526002810154604086015201541615156060830152336134ac565b604051818152600080516020613e7b83398151915260203392a233600052600a602052611037604060002061101b60405191610fc2836125c5565b8054835260036001820154916020850192835260ff8260028301549260408801938452015416906060860191151582523360005260256020526040600020938651855551600185015551600284015551151591016126ec565b600e5460295561102b42846126fd565b90519060105491613000565b6110418133612c42565b61104b42336132ec565b808211156110895761106090611066926126fd565b33612df1565b604051908152600080516020613e7b83398151915260203392a261066133612e20565b808210611098575b5050611066565b6110ab916110a5916126fd565b3361310d565b8180611091565b630f962f3d60e31b60005260046000fd5b6307b7d7dd60e51b60005260046000fd5b636086ee6f60e11b60005260046000fd5b346103355760003660031901126103355760405160006004548060011c906001811680156111e2575b6020831081146111ce578285529081156111aa575060011461114b575b6111478361113b81850382612616565b604051918291826124d7565b0390f35b600460009081527f8a35acfbc15ff81a39ae7d344fd709f28e8600b4aa8c65c6b64bfe7fe36bd19b939250905b8082106111905750909150810160200161113b61112b565b919260018160209254838588010152019101909291611178565b60ff191660208086019190915291151560051b8401909101915061113b905061112b565b634e487b7160e01b84526022600452602484fd5b91607f169161110e565b34610335576000366003190112610335576005546040516001600160a01b039091168152602090f35b346103355760003660031901126103355760206040516203f4808152f35b3461033557602036600319011261033557600435602f548110156103355761125c60209161257c565b905460405160039290921b1c6001600160a01b03168152f35b346103355760003660031901126103355761128e612923565b600080516020613d7b833981519152600052602e602052426040600020557ff1065a9a3232a185314e36c6249df953c8ff0c44cdf4580b700bfcc4816d29b5600080a1005b34610335576000366003190112610335576020600854604051908152f35b346103355760003660031901126103355761130a612923565b600580546001600160a01b031981169091556000906001600160a01b0316600080516020613e3b8339815191528280a3005b346103355760203660031901126103355760206103d561135a612520565b42906132ec565b3461033557600036600319011261033557602060ff600754166040519015158152f35b3461033557600036600319011261033557602060405162093a808152f35b34610335576000366003190112610335576020601c54604051908152f35b34610335576000366003190112610335576020601054604051908152f35b346103355760203660031901126103355761142f60406113fc612520565b6001600160a01b0381166000908152600a602052829020548251639c17a18d60e01b815293849283929060048401612722565b0381305afa8015610b3c57600090600090611455575b6040809350519182526020820152f35b50506040813d604011611487575b8161147060409383612616565b810103126103355780602060409251910151611445565b3d9150611463565b346103355760403660031901126103355760206103d56114ad612520565b6024359061315b565b34610335576020366003190112610335576001600160a01b036114d7612520565b16600052600a6020526020600260406000200154604051908152f35b34610335576020366003190112610335576001600160a01b03611514612520565b166000526031602052610100604060002080549063ffffffff6001820154916002810154600382015490600560048401549301549460405196875260208701526040860152606085015260018060a01b038116608085015260ff8160a01c16151560a085015260a81c1660c083015260e0820152f35b3461033557600036600319011261033557600060806040516115ab816125e0565b828152826020820152826040820152826060820152015260a0601c54601b54601d54602054906021549260806040516115e3816125e0565b86815260208101928352604081019384526060810194855201938452604051948552516020850152516040840152516060830152516080820152f35b3461033557602036600319011261033557611638612520565b611640612923565b6001600160a01b031660008181526030602052604090205460ff1615610bc857806000526031602052604060002054421061178b576000818152603060205260408120805460ff191690555b602f54908181101561178457826116a28261257c565b905460039190911b1c6001600160a01b0316146116c357600191500161168c565b6000198201918211610b48576116f66116de61171a9361257c565b905460039190911b1c6001600160a01b03169161257c565b9080546001600160a01b0360039390931b83811b199091169290931690921b179055565b602f54801561176e57600019016117308161257c565b81549060018060a01b039060031b1b19169055602f555b7f66257bcef574219c04f7c05f7a1c78d599da10491294c92a5805c48b4cdf5009600080a2005b634e487b7160e01b600052603160045260246000fd5b5050611747565b6398ccee4b60e01b60005260046000fd5b34610335576000366003190112610335576117b561294c565b6117be3361296e565b33600052600a6020526040600020604051906117d9826125c5565b80548083526001820154602084015260ff60036002840154936040860194855201541615156060840152156110d4575142106118c1575161186161181d42336132ec565b33600052600a602052611833604060002061270a565b336000526025602052611849604060002061270a565b600e5460295561185833612d14565b6110a53361302b565b61188c81337f0000000000000000000000000000000000000000000000000000000000000000613126565b6040519081527f7084f5476618d8e60b11ef0d7d3f06914655adb8793e28ff7f018d4c76d505d560203392a261066133612e20565b63342ad40160e11b60005260046000fd5b346103355760003660031901126103355760206040516a0c685fa11e01ec6f0000008152f35b3461033557600036600319011261033557611911612923565b600080516020613e9b833981519152600052602e602052600080516020613dfb8339815191525480156119c9576203f4808101809111610b485742106119b8576203f4804201804211610b48576020817f25004abd8ec665bad2ee0fe374e3b11952166214e204b05d2ea4122417dc220492600855604051908152a1600080516020613e9b8339815191526000908152602e602052600080516020613dfb83398151915255005b6394ef5f3560e01b60005260046000fd5b63610a8b2d60e01b60005260046000fd5b34610335576000366003190112610335576119f3612923565b600080516020613d7b833981519152600052602e602052600080516020613e1b8339815191525480156119c9576203f4808101809111610b485742106119b857600160ff1960095416176009557fa8da083c86be6220353772f872cb01a3bc43292309e703a3bd38197ec4d87356600080a1600080516020613d7b8339815191526000908152602e602052600080516020613e1b83398151915255005b3461033557600036600319011261033557602060405160128152f35b3461033557602036600319011261033557600435611ac861294c565b60ff6007541661083457611adb3361296e565b6a0c685fa11e01ec6f000000611af3826002546126df565b11611cec57611b0133612562565b60ff600382015416156110d4576002810154428111156110c35781549160018101549160405192611b31846125c5565b8484526020840152604083015260016060830152611b4f84846126df565b60125410611cdb57611b6484611b7e946126df565b9055611b7283600e546126df565b600e55610f4d33612562565b604051818152600080516020613dbb83398151915260203392a233600052600a60205260406000203360005260256020526040600020818103611ca9575b82600e548060295533600052600a60205260205533600052600a602052604060002054602155611bea6137bc565b33600052600a602052611c86611060611c40604060002061102b60405191611c11836125c5565b805483526001810154602084015260ff60036002830154928360408701520154161515606084015242906126fd565b611c4a8133612c42565b611c768430337f0000000000000000000000000000000000000000000000000000000000000000612ad2565b611c8042336132ec565b906126fd565b604051908152600080516020613dbb83398151915260203392a261066133612e20565b600360ff8184611cd495548555600181015460018601556002810154600286015501541691016126ec565b8180611bbc565b63172bd6a160e31b60005260046000fd5b633c92a01b60e11b60005260046000fd5b34610335576000366003190112610335576020601b54604051908152f35b3461033557606036600319011261033557611d34612520565b611d3c612536565b6001600160a01b0382166000818152600160209081526040808320338452909152902054909260443592916000198110611d7c575b50610d5c9350612fc1565b838110611deb578415611dd5573315611dbf57610d5c946000526001602052604060002060018060a01b0333166000526020528360406000209103905584611d71565b634a1406b160e11b600052600060045260246000fd5b63e602df0560e01b600052600060045260246000fd5b8390637dc7a0d960e11b6000523360045260245260445260646000fd5b3461033557604036600319011261033557611e21612520565b611e29612536565b6001600160a01b03811660009081526030602052604090205460ff1615610bc85781611e6482611e5e6103d594602096612762565b92612639565b906126df565b3461033557602036600319011261033557611e83612520565b611e8b612923565b6001600160a01b038116908115611f265781600052603060205260ff60406000205416611f1557602f5490600160401b821015610e25576116f6826001611ed59401602f5561257c565b8060005260306020526040600020600160ff198254161790557ff3e4c2c64e71e6ba2eaab9a599bced62f9eb91d2cda610bf41aa8c80ff2cf826600080a2005b63630b374b60e01b60005260046000fd5b63e6c4247b60e01b60005260046000fd5b346103355760003660031901126103355760206103d542612f44565b3461033557611f613661254c565b90611f6a61294c565b60ff6007541661083457611f7d3361296e565b8015610bb75769d3c21bcecceda10000008111611cdb576a0c685fa11e01ec6f000000611fac826002546126df565b11611cec57600f5482108015612283575b6110b257611fed8130337f0000000000000000000000000000000000000000000000000000000000000000612ad2565b611ff782426126df565b600f5480151580612278575b61225a575b50612015600093426126df565b61209d604051612024816125c5565b8481526120676020820142815260036040840186815260608501906001825261204c33612562565b938651855551600185015551600284015551151591016126ec565b61207385600e546126df565b600e55604051612082816125c5565b868152866020820152866040820152866060820152336134ac565b7f71fc552ee832a9004ea0bdb07cb6dd9d641eb2cb53b3cfe88c8fdcff886734a0604051806120cf3394428884612b1d565b0390a26010544282111561224b5761219c906121056120f86120f142866126fd565b928661267c565b600f0b91600f0b82612b33565b9061213e604051612115816125c5565b83600f0b8152826020820152426040820152436060820152338852600b60205260408820612b66565b80612210575b50338552600a602052604085203386526025602052604086208181036121de575b5050600e5480602955602055338552600a60205260408520546021556121896137bc565b6001600160801b03166110608133612c42565b60405191825260208201527f167357c41e38a45e1950f61b1f5accf902c878d83f1685f7f72fb666203ce04760403392a26121d633612e20565b600160065580f35b600360ff818461220995548555600181015460018601556002810154600286015501541691016126ec565b8580612165565b838652600c60205261222a60408720918254600f0b612bd9565b81546001600160801b0319166001600160801b039190911617905585612144565b63e2d8438b60e01b8452600484fd5b8310801561226d575b6110b25783612008565b506010548311612263565b506010541515612003565b506010548211611fbd565b34610335576020366003190112610335576001600160a01b036122af612520565b1660005260006020526020604060002054604051908152f35b346103355760206103d56122db3661254c565b9061269c565b346103355760403660031901126103355760206103d56122ff612520565b612307612536565b90612639565b3461033557602036600319011261033557600435612329612923565b601c5490601b54811015610c7e578015610c7e577f513e0cb9f7e6f20f3331a3d6bc5a2070854a399222885cccf74ac523949f0b3a9181604092601c5582519182526020820152a1005b3461033557600036600319011261033557602060ff600954166040519015158152f35b34610335576040366003190112610335576123af612520565b602435903315611dd5576001600160a01b0316908115611dbf57336000526001602052604060002082600052602052806040600020556040519081527f8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b92560203392a3602060405160018152f35b346103355760003660031901126103355760006003548060011c906001811680156124cd575b6020831081146111ce578285529081156111aa575060011461246e576111478361113b81850382612616565b600360009081527fc2575a0e9e593c00f959f8c92f12db2869c3395a3b0502d05e2516446f71f85b939250905b8082106124b35750909150810160200161113b61112b565b91926001816020925483858801015201910190929161249b565b91607f1691612442565b91909160208152825180602083015260005b81811061250a575060409293506000838284010152601f8019910116010190565b80602080928701015160408286010152016124e9565b600435906001600160a01b038216820361033557565b602435906001600160a01b038216820361033557565b6040906003190112610335576004359060243590565b6001600160a01b03166000908152600a6020526040902090565b602f5481101561259757602f60005260206000200190600090565b634e487b7160e01b600052603260045260246000fd5b80548210156125975760005260206000200190600090565b608081019081106001600160401b03821117610e2557604052565b60a081019081106001600160401b03821117610e2557604052565b604081019081106001600160401b03821117610e2557604052565b601f909101601f19168101906001600160401b03821190821017610e2557604052565b60018060a01b0316600052603260205260406000209060018060a01b031660005260205260026040600020015490565b81810292918115918404141715610b4857565b8115612686570490565b634e487b7160e01b600052601260045260246000fd5b801580156126d7575b6126d0576126c06126c592601054928382116126c857612669565b61267c565b90565b839150612669565b5050600090565b5081156126a5565b91908201809211610b4857565b9060ff801983541691151516179055565b91908203918211610b4857565b60036000918281558260018201558260028201550155565b6001600160a01b039091168152602081019190915260400190565b6040519061274a826125c5565b60006060838281528260208201528260408201520152565b6001600160a01b03821660009081526030602052604090205460ff1615610bc8576127fb6126c59260018060a01b038316600052603260205260408060002060009060018060a01b038416825260205220926127f560606040516127c5816125c5565b8654815263ffffffff600360018901549860208401998a526002810154604085015201541691829101528261315b565b506133bd565b90516126df565b6001600160a01b0316600090815260316020526040908190209051610100810191906001600160401b03831181841017610e255760e0926040528154808252600183015491602081019283526002840154918260408301526003850154916005606082019684885263ffffffff600482015460018060a01b038116608086015260ff8160a01c16151560a086015260a81c1660c084015201549687910152851561291a57804210600014612914575042905b8282111561290b5750916128d46128dc92670de0b6b3a7640000946126fd565b905190612669565b04670de0b6b3a7640000810290808204670de0b6b3a76400001490151715610b48576126c5926127fb9161267c565b94505050505090565b906128b4565b50935050505090565b6005546001600160a01b0316330361293757565b63118cdaa760e01b6000523360045260246000fd5b60026006541461295d576002600655565b633ee5aeb560e01b60005260046000fd5b60005b602f54811015612ace578061298760019261257c565b838060a01b0391549060031b1c1680600052603060205260ff6040600020541615612ac8578060005260316020526040600020906129c481612802565b908254804210600014612ac35750425b6002840180548211612ab5575b5050848060a01b03861690816129fd575b505050505b01612971565b612a6d90826000526032602052604080600020600090898060a01b03841682526020522092600384019563ffffffff60048189541692015460a81c168110600014612a9a57612a4e6040918b61315b565b9183600052603360205281600020600091825260205220555b876133bd565b612a7b8683019182546126df565b905555805463ffffffff19164363ffffffff16179055388080806129f2565b50600082815260336020908152604082209290915252612a67565b8360038601555538806129e1565b6129d4565b506129f7565b5050565b6040516323b872dd60e01b60208201526001600160a01b039283166024820152929091166044830152606480830193909352918152612b1b91612b16608483612616565b613451565b565b6040919493926060820195825260208201520152565b90600f0b90600f0b029081600f0b918203610b4857565b8054821015612597576000526003602060002091020190600090565b8054600160401b811015610e2557612b8391600182018155612b4a565b919091612bc3578051602082015160801b6001600160801b0319166001600160801b03909116178255604081015160018301556060015160029190910155565b634e487b7160e01b600052600060045260246000fd5b600f91820b910b019060016001607f1b0319821260016001607f1b03831317610b4857565b8054600160401b811015610e2557612c1b916001820181556125ad565b919091612bc357805160209182015190911b63ffffffff191663ffffffff91909116179055565b6001600160e01b038211612d03576001600160a01b0316904363ffffffff16908215612cbb57600080516020613ddb83398151915291604091846000526022602052612cae83600020845190612c97826125fb565b8482526001600160e01b0384166020830152612bfe565b82519182526020820152a2565b604051919250600080516020613d9b833981519152916020916001600160e01b031690612cfa90612ceb816125fb565b85815282848201526024612bfe565b604051908152a2565b632f537ee160e01b60005260046000fd5b6001600160a01b03164363ffffffff168115612d76576040600080516020613ddb83398151915291836000526022602052612d6782600020835190612d58826125fb565b83825260006020830152612bfe565b815190815260006020820152a2565b9050612d98604051612d87816125fb565b828152600060208201526024612bfe565b600080516020613d9b833981519152602060405160008152a2565b6001600160e01b038111612d0357600080516020613d9b833981519152602063ffffffff43169260018060e01b0316612cfa604051612ceb816125fb565b906001600160a01b03821615612e0a57612b1b91613930565b63ec442f0560e01b600052600060045260246000fd5b612e32612e2c82613b48565b82612c42565b612e43612e3e42612f44565b612db3565b600e5460205560018060a01b03811680600052600a602052604060002054602155612e6c6137bc565b60005b602f54811015612f1a5780612e8560019261257c565b838060a01b0391549060031b1c1680600052603060205260ff6040600020541615612f1457806000526031602052604060002054421015612f1457836000526032602052612ef363ffffffff6003604080600020600090888060a01b0387168252602052200154168661315b565b90600052603360205260408060002060009086825260205220555b01612e6f565b50612f0e565b505050565b600f91820b910b039060016001607f1b0319821260016001607f1b03831317610b4857565b600d5480156126d0576000198101908111610b4857612f6490600d612b4a565b506001810154828111612fb957612f81612f9091612f99946126fd565b915491600f0b8260801d612b33565b90600f0b612f1f565b600081600f0b13600014612fb3576001600160801b031690565b50600090565b505050600090565b91906001600160a01b03831615612fea576001600160a01b03811615612e0a57612b1b92613a54565b634b637e8f60e11b600052600060045260246000fd5b610f256130159284928382116126c857612669565b600019810191908211610b48576126c59161267c565b6001600160a01b0381168015611f265760005b602f54811015612f1a57808261305560019361257c565b848060a01b0391549060031b1c1680600052603060205260ff604060002054161561310657816000526032602052604080600020600090868060a01b038416825260205220848101908154806130b2575b50505050505b0161303e565b600260209260007f540798df468d7b23d11f156fdb954cb19ad414d150722a7b6d55ba369dea792e9555016130e88282546126df565b90556130f5818a86613126565b604051908152a382388080806130a6565b50506130ac565b906001600160a01b03821615612fea57612b1b9161398c565b612b16612b1b939261314d60405194859263a9059cbb60e01b602085015260248401612722565b03601f198101845283612616565b904381116132db57604060009260018060a01b03169283815260256020522060405191613187836125c5565b8154938484526001830154946020850195865260ff6003600286015495604088019687520154161590811591826060880152916132d2575b5061323d57604090600090815260226020522080541561323d57806131e7836131ed93613ba0565b906125ad565b50548163ffffffff8216146132c7575060009043810361324757505042925b8051908185111561323d57613227613231926126c5966126fd565b92519051906126fd565b915191602b5492613c38565b5050505050600090565b818143039112438212811690438313901516176132b357818113156132a057905b600c820291808304600c149015171561328c575061328690426126fd565b9261320c565b634e487b7160e01b81526011600452602490fd5b600160ff1b81146132b357810390613268565b634e487b7160e01b82526011600452602482fd5b935050505060201c90565b905015386131bf565b631391e11b60e21b60005260046000fd5b6001600160a01b03166000908152600b6020526040902080548015612fb9576000198101908111610b4857612f6491612b4a565b4381116132db5760245415612fb35761334461333d826024613ba0565b60246125ad565b50549063ffffffff82169080821461339f57600c810290808204600c1490151715610b4857600c820291808304600c1490151715610b48578181111561339f576126c59291613392916126fd565b602b54809260201c613c38565b505060201c90565b818110156110b25780156110b257600f55601055565b670de0b6b3a76400009161344761344d9260018060a01b038116600052603260205261343f61343960408060002060009060018060a01b0388168252602052209263ffffffff600360405195613412876125c5565b8054875260018101546020880152600281015460408801520154169081606086015261315b565b93612802565b9051906126fd565b90612669565b0490565b906000602091828151910182855af115610b3c576000513d6134a357506001600160a01b0381163b155b6134825750565b635274afe760e01b60009081526001600160a01b0391909116600452602490fd5b6001141561347b565b6040516134b8816125c5565b60008152602081019160008352426040830152436060830152604085019081514281116136ce575b5060018060a01b0316600052600b6020526134ff826040600020612b66565b61350761273d565b50600d54801561369f576000198101908111610b4857612b1b9561352e606092600d612b4a565b5095865480600f0b9060801d9060405191613548836125c5565b81835280600f0b6020840152426040840152438684015261356e6001849b0154426126fd565b9182613668575b505050505b8281015115158061365b575b6135eb575b500151151590816135df575b506135a6575b5050600d612b66565b6135b89051600f0b8351600f0b612bd9565b600f0b825251600f0b6135d360208301918251600f0b612bd9565b600f0b9052388061359d565b90504290511138613597565b61363a6135fc4260408401516126fd565b6136248351613616601054809460018060801b0393613000565b16600f0b8a51600f0b612f1f565b600f0b895291516001600160801b03929061267c565b16600f0b61365060208801918251600f0b612f1f565b600f0b90523861358b565b5042604082015111613586565b61367b61368192600094600f0b90612b33565b90612f1f565b600f0b80835212613695575b808080613575565b600090523861368d565b506060612b1b956040516136b2816125c5565b600081526000602082015242604082015243838201529561357a565b6136d99042906126fd565b6136e98751601054928391613000565b87516001600160801b03906136ff90849061267c565b16600f0b865260018060801b0316600f0b8452604086019042825111613765575b50508351600f0b8251600052600c6020526137446040600020918254600f0b612bd9565b81546001600160801b0319166001600160801b0391909116179055386134e0565b86516001600160801b03916137799161267c565b16600f0b9051600052600c60205261379a6040600020918254600f0b612f1f565b81546001600160801b0319166001600160801b03919091161790553880613720565b601d54801561391f57601b5490601c548210610c7e5760145490811515808061390d575b61388d57601f549281613877575b50613866578215613855577f0792cf7388f234e543a10a68aeb7b96568fb90b55ddc2b2945961c80a3c3a082924260145561382982426126df565b6015554260165582601755600060185581601955601a556138506040519283924284612b1d565b0390a1565b6319a2a9bd60e01b60005260046000fd5b63f0aaee6560e01b60005260046000fd5b6138859150601954906126df565b4210386137ee565b5050601f54915042108015613902575b6138f1576016544203806138b6575b5060175542601655565b601754818102906138c7838361267c565b036138e0576018540160185560195401601955386138ac565b63f20577e560e01b60005260046000fd5b6337bf561360e11b60005260046000fd5b50601554421161389d565b5061391882846126df565b42106137e0565b63a8c60b8160e01b60005260046000fd5b600080516020613e5b8339815191526020600092613950856002546126df565b6002556001600160a01b031693841584146139775780600254036002555b604051908152a3565b8484528382526040842081815401905561396e565b9091906001600160a01b03168015808015613a4c575b6139b757638cd22d1960e01b60005260046000fd5b156139f257600080516020613e5b8339815191526020846139dd600095966002546126df565b6002555b8060025403600255604051908152a3565b806000526000602052604060002054838110613a305760208460009495600080516020613e5b833981519152938587528684520360408620556139e1565b915063391434e360e21b60005260045260245260445260646000fd5b5060016139a2565b6001600160a01b0316908115808015613b37575b613a7d57638cd22d1960e01b60005260046000fd5b15613adc576020600080516020613e5b83398151915291613aa0856002546126df565b6002555b6001600160a01b03169384613ac4578060025403600255604051908152a3565b8460005260008252604060002081815401905561396e565b816000526000602052604060002054838110613b1a57600080516020613e5b8339815191529184602092856000526000845203604060002055613aa4565b91905063391434e360e21b60005260045260245260445260646000fd5b506001600160a01b03821615613a68565b6001600160a01b03166000908152600a60205260409020600381015460ff16158015613b92575b612fb35780613b8660026126c593015442906126fd565b90549060105491613000565b506002810154421015613b6f565b60009181546000198101908111613c245791905b828410613bc15750505090565b909192613bce84826126df565b60018101809111610b485760011c908263ffffffff613bed84876125ad565b50541611613bff5750925b9190613bb4565b9350600019810190811115613bf857634e487b7160e01b600052601160045260246000fd5b634e487b7160e01b84526011600452602484fd5b9181811015613c6657613015928492610f259280821115613c5c57613447916126fd565b5050600090612669565b50505050600090565b9080158015613d6e575b613d6557670de0b6b3a7640000820291808304670de0b6b3a76400001490151715610b4857613ca79161267c565b66038d7ea4c680008110613d5d576060820151670de0b6b3a7640000810290808204670de0b6b3a76400001490151715610b4857670de0b6b3a764000091613447613cf79260808601519061267c565b0490613d34815192670de0b6b3a7640000613d22613d1b60208601968751906126fd565b8093612669565b0490808211613d55575b5083516126df565b9151808310613d4f575051808211613d4a575090565b905090565b91505090565b905038613d2c565b506020015190565b50506020015190565b50608083015115613c7956fe34937d7722678a23b9c1078911aa0d40eec7326d87ab5d725c6e06c2ae06fbabb45c44c56db4e898aff83acd229edf5e8e6ef1ecc211e8775a7203a310225b37b6f6047ccb2c5eb4dd18dd4204255859ff2dd42986622a68192bad01a6084b549d362ba40ca7e8092153f1352b7c262010bd99054fac4b75a4d86b4be14ecffa06ba569598f4effe4995fa79e5f73450f83529ebcae1796445a8faaa7be59a35993325654301e7be9bba5246373ff462468bfb57289a9be9313bb12c0dc998a88be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e0ddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3efe5d4b5c97a45cd2c590e17dd6dc2c0b1935d6c56701144a267f57b1a9f6779f4b90cbad5ff8166afd6f4d1cddb15dd6c2e07accef35424f938aafab38c768910a26469706673582212209940c023fb3a7fa09c95237da9231d4381edcd083ec1ca2c1c6b73ea54c3b6f164736f6c634300081e0033",
1948
- "linkReferences": {},
1949
- "deployedLinkReferences": {}
2295
+ "bytecode": "0x60806040523461053c576164c26060813803918261001c81610540565b93849283398101031261053c5761003281610565565b604061004060208401610565565b9201519064ffffffffff82169081830361053c5761005e6040610540565b6012815271566f746520457363726f776564205241414360701b60208201526100876040610540565b600681526576655241414360d01b6020820152815190916001600160401b0382116103115760035490600182811c92168015610532575b60208310146104355781601f8493116104c4575b50602090601f831160011461045e575f92610453575b50508160011b915f199060031b1c1916176003555b8051906001600160401b0382116103115760045490600182811c92168015610449575b60208310146104355781601f8493116103c7575b50602090601f8311600114610361575f92610356575b50508160011b915f199060031b1c1916176004555b33156103435760058054336001600160a01b0319821681179092556001600160a01b03167f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e05f80a360016007556064600955610e10600a55601c805460ff19169055670de0b6b3a7640000601f556001600160a01b038116938415610334576001600160a01b031691821561033457156103255760088054610100600160a81b03191691811b610100600160a81b0316919091179055601980546001600160a01b031916919091179055601a549168010000000000000000831015610311576001830180601a558310156102fd577f057c384a7d1c54f3a1b2e5e67b2617b8224fdfd1ea7234eea573a6ff665ff63e90920180546001600160a01b031916831790555f918252601b6020526040909120805460ff19166001179055600b80546001600160501b03191660289290921b69ffffffffff000000000016919091176107081790556102cd33610579565b506102d7336105ef565b50600c601055600464ffffffffff196021541617602155604051615ddf90816106838239f35b634e487b7160e01b5f52603260045260245ffd5b634e487b7160e01b5f52604160045260245ffd5b63d5b25b6360e01b5f5260045ffd5b63e6c4247b60e01b5f5260045ffd5b631e4fbdf760e01b5f525f60045260245ffd5b015190505f8061014a565b60045f9081528281209350601f198516905b8181106103af5750908460019594939210610397575b505050811b0160045561015f565b01515f1960f88460031b161c191690555f8080610389565b92936020600181928786015181550195019301610373565b60045f529091507f8a35acfbc15ff81a39ae7d344fd709f28e8600b4aa8c65c6b64bfe7fe36bd19b601f840160051c8101916020851061042b575b90601f859493920160051c01905b81811061041d5750610134565b5f8155849350600101610410565b9091508190610402565b634e487b7160e01b5f52602260045260245ffd5b91607f1691610120565b015190505f806100e8565b60035f9081528281209350601f198516905b8181106104ac5750908460019594939210610494575b505050811b016003556100fd565b01515f1960f88460031b161c191690555f8080610486565b92936020600181928786015181550195019301610470565b60035f529091507fc2575a0e9e593c00f959f8c92f12db2869c3395a3b0502d05e2516446f71f85b601f840160051c81019160208510610528575b90601f859493920160051c01905b81811061051a57506100d2565b5f815584935060010161050d565b90915081906104ff565b91607f16916100be565b5f80fd5b6040519190601f01601f191682016001600160401b0381118382101761031157604052565b51906001600160a01b038216820361053c57565b6001600160a01b0381165f9081525f5160206164a25f395f51905f52602052604090205460ff166105ea576001600160a01b03165f8181525f5160206164a25f395f51905f5260205260408120805460ff191660011790553391905f5160206164625f395f51905f528180a4600190565b505f90565b6001600160a01b0381165f9081525f5160206164825f395f51905f52602052604090205460ff166105ea576001600160a01b03165f8181525f5160206164825f395f51905f5260205260408120805460ff191660011790553391907fb814ff4a26ea3ec5cd1fa579daad86324826254265f3acfec78303a19845b449905f5160206164625f395f51905f529080a460019056fe60806040526004361015610011575f80fd5b5f3560e01c80627900f4146104b357806301ffc9a7146104ae578063027da1c7146104a957806306fdde03146104a4578063095ea7b31461049f57806309e848fa1461049a5780630c9cbf0e146104955780630f069e41146104905780630f68ae401461048b57806312064c3414610486578063130b77a41461048157806314bc82371461047c578063174e31c41461047757806318160ddd146104725780631c03e6cc1461046d57806323b872dd14610468578063248a9ca31461046357806326019cff1461045e57806329275fa7146104595780632a723ed8146104545780632f2ff15d1461044f5780633037408d1461044a578063313ce5671461044557806332e4bb0a1461044057806336568abe1461043b5780633ccfd60b146104365780633e53ec73146104315780633f4ba83a1461042c57806342d19c5f1461042757806348e5d9f8146104225780634ee2cd7e1461041d57806354125d03146104185780635735d89014610413578063593557361461040e5780635c975abb146104095780635e814430146104045780636605bfda146103ff578063666c7306146103fa5780636854e143146103f557806370a08231146103f0578063715018a6146103eb578063719f3089146103e6578063729652a6146103e157806377f709ae146103dc578063796a1c90146103d75780637bb7bed1146103d25780637ca692cf146103cd5780637d1ddd06146103c85780638456cb59146103c35780638da5cb5b146103be57806391d14854146103b957806395d89b41146103b4578063981b24d0146103af57806399edf3c6146103aa578063a217fddf146103a5578063a592d9ec146103a0578063a88557c51461039b578063a9059cbb14610396578063aaf5eb6814610391578063b4a115591461038c578063b5fd73f814610387578063c4f59f9b14610382578063c51009b21461037d578063c5f956af14610378578063d19fb4fb14610373578063d2dcd9331461036e578063d547741f14610369578063d700c18b14610364578063dd62ed3e1461035f578063dff501b51461035a578063e8d106a214610355578063ed4a708414610350578063f1380ea91461034b5763f2fde38b14610346575f80fd5b612aec565b612ab0565b612a87565b6129fc565b6126d4565b61267d565b612618565b6125da565b612567565b61254e565b612526565b6124aa565b612445565b612408565b6123eb565b6123c9565b612398565b61236c565b61234f565b612335565b612313565b6122f5565b612240565b6121f1565b6121c9565b612170565b612138565b612074565b61201a565b611eee565b611b8a565b611b58565b611ad7565b611a7c565b6119fb565b611946565b6118e2565b61187a565b61185d565b61183b565b611818565b611796565b61177a565b611753565b611701565b611617565b6115b1565b611514565b61144a565b611406565b6113cc565b6113b1565b611318565b6112d5565b6112b1565b61125e565b611126565b6110f3565b611041565b610f2c565b610e8f565b610e11565b610d99565b610b05565b610ace565b610a67565b6109ca565b610963565b6108e6565b61082d565b61073e565b610663565b610597565b6104e8565b600435906001600160a01b03821682036104ce57565b5f80fd5b602435906001600160a01b03821682036104ce57565b346104ce5760203660031901126104ce576105016104b8565b610509612c12565b5060018060a01b03165f52602260205261059360405f2060046040519161052f83612b86565b80548352600181015460208401526002810154604084015260038101546060840152015460808201526040519182918291909160808060a0830194805184526020810151602085015260408101516040850152606081015160608501520151910152565b0390f35b346104ce5760203660031901126104ce5760043563ffffffff60e01b81168091036104ce57602090637965db0b60e01b81149081156105dc575b506040519015158152f35b6301ffc9a760e01b1490505f6105d1565b60206040818301928281528451809452019201905f5b8181106106105750505090565b909192602060a0600192608087518051600f0b8352848101518584015264ffffffffff604082015116604084015264ffffffffff6060820151166060840152015160808201520194019101919091610603565b346104ce5760203660031901126104ce576001600160a01b036106846104b8565b165f52600e60205260405f20805461069b81612c78565b916106a96040519384612bdf565b81835260208301905f5260205f205f915b8383106106cf576040518061059387826105ed565b600460206001926106df85612c90565b8152019201920191906106ba565b5f9103126104ce57565b9190916020815282518060208301525f5b818110610728575060409293505f838284010152601f8019910116010190565b8060208092870101516040828601015201610708565b346104ce575f3660031901126104ce576040515f6003548060011c9060018116908115610823575b60208310821461080f5782855260208501919081156107f657506001146107a4575b6105938461079881860382612bdf565b604051918291826106f7565b60035f9081529250907fc2575a0e9e593c00f959f8c92f12db2869c3395a3b0502d05e2516446f71f85b5b8184106107e25750500161079882610788565b8054848401526020909301926001016107cf565b60ff191682525090151560051b01905061079882610788565b634e487b7160e01b5f52602260045260245ffd5b91607f1691610766565b346104ce5760403660031901126104ce576108466104b8565b60243533156108d3576001600160a01b0382169182156108c0576108868291335f52600160205260405f209060018060a01b03165f5260205260405f2090565b5560405190815233907f8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b92590602090a3602060405160018152f35b634a1406b160e11b5f525f60045260245ffd5b63e602df0560e01b5f525f60045260245ffd5b346104ce5760203660031901126104ce57600435610902614117565b670de0b6b3a7640000811061095457601f8054908290556040805191825260208201929092527f677c8f7a4e79d66c0b572f0d240a6271191d206e65d34c3910ae3b77c9dd44c191819081015b0390a1005b63180d062b60e31b5f5260045ffd5b346104ce5760403660031901126104ce57602060016109b16109836104b8565b61098b6104d2565b90838060a01b03165f5283805260405f209060018060a01b03165f5260205260405f2090565b0154604051908152f35b64ffffffffff8116036104ce57565b346104ce5760403660031901126104ce576004356024356109ea816109bb565b6109f261413e565b6109fa61415e565b335f52602260205260405f20604051610a1281612b86565b608060048354938484526001810154602085015260028101546040850152600381015460608501520154910152610a5857610a4c91612f1a565b610a566001600755565b005b6312fda5ed60e21b5f5260045ffd5b346104ce5760203660031901126104ce57600435610a83614117565b60338111156109545760098054908290556040805191825260208201929092527f2bfe46bceac7bb502ec724e937b7927df79478c82c7d7e0126b08f6145bd384d918190810161094f565b346104ce5760203660031901126104ce576001600160a01b03610aef6104b8565b165f525f602052602060405f2054604051908152f35b346104ce5760203660031901126104ce57610b1e6104b8565b610b26614117565b6001600160a01b0381165f908152601b60205260409020610b5190610b4d905b5460ff1690565b1590565b610d50576001600160a01b0381165f908152601d6020526040902060038101548015610d4157600a54610b83916131cb565b4210610d325760016002820154910154908181115f14610d2757610bcd91610baa916131e6565b6001600160a01b0383165f908152601e60205260409020549081610d0a576131cb565b80610cc1575b506001600160a01b03165f818152601b60205260408120805460ff191690555b601a549081811015610cba5782610c23610c0c83611fe8565b90546001600160a01b039260039290921b1c821690565b1614610c33576001915001610bf3565b610c68610c62610c4d610c48610c8c956131d8565b611fe8565b905460039190911b1c6001600160a01b031690565b91611fe8565b81546001600160a01b0393841660039290921b91821b9390911b1916919091179055565b610c946131f3565b7f66257bcef574219c04f7c05f7a1c78d599da10491294c92a5805c48b4cdf50095f80a2005b5050610c94565b6019546001600160a01b03838116925f516020615d6a5f395f51905f5292610d0192610cf1918391165b8661432f565b6040519081529081906020820190565b0390a25f610bd3565b6001600160a01b0384165f908152601e60205260408120556131cb565b5050610bcd5f610baa565b635115ba2f60e11b5f5260045ffd5b6301bcba5760e51b5f5260045ffd5b630cbdb7b360e41b5f5260045ffd5b60609060031901126104ce576004356001600160a01b03811681036104ce57906024356001600160a01b03811681036104ce579060443590565b346104ce57610da736610d5f565b6001600160a01b0382165f908152601b602052604090205460ff1615610d50576001600160a01b038381165f90815260208080526040808320938616835292905220610df892906001015493613e8a565b8101809111610e0c57604051908152602090f35b6131a9565b346104ce5760403660031901126104ce57610e2a6104b8565b602435610e3561413e565b610e3d61415e565b335f52602260205260405f20604051610e5581612b86565b608060048354938484526001810154602085015260028101546040850152600381015460608501520154910152610a5857610a4c9161325a565b346104ce575f3660031901126104ce576040516344a6ebe560e01b8152600b600482015242602482015260208160448173__$722770e92751af7c18db862b2d8e717318$__5af48015610f2757610593915f91610ef8575b506040519081529081906020820190565b610f1a915060203d602011610f20575b610f128183612bdf565b810190613265565b5f610ee7565b503d610f08565b612d98565b346104ce5760203660031901126104ce57610f456104b8565b610f4d614117565b6001600160a01b038116908115611032576001600160a01b0381165f908152601b60205260409020610f7e90610b46565b611023576001600160a01b0381165f908152601d602052604090206003015461101457610fd481610fb1610fe19361440b565b50610fbb81613274565b6001600160a01b03165f908152601b6020526040902090565b805460ff19166001179055565b6040513381527f3344e0a0f48738979c56a1b9f2cd3425597f76766d53e83439cab3fc30b067c79080602081015b0390a2005b63fc06cf2560e01b5f5260045ffd5b63630b374b60e01b5f5260045ffd5b63e6c4247b60e01b5f5260045ffd5b346104ce5761104f36610d5f565b6001600160a01b0383165f908152600160209081526040808320338452909152902090919054925f198410611095575b6110899350614489565b60405160018152602090f35b8284106110d8576001600160a01b03811680156108d35733156108c0575f908152600160209081526040808320338452909152902061108994849003905561107f565b8284637dc7a0d960e11b5f523360045260245260445260645ffd5b346104ce5760203660031901126104ce57602061111e6004355f526006602052600160405f20015490565b604051908152f35b346104ce5760203660031901126104ce5761113f6104b8565b61114761413e565b61114f61415e565b6001600160a01b03811690811561103257335f90815260226020526040902061117790612c3c565b9081511561124f5760808201514210610d3257335f9081526022602052604090206111b99060045f918281558260018201558260028201558260038201550155565b6111d66111c5336145bb565b906111d081336141c2565b33614259565b81518061121e575b50505160405190815233907fe2fa04c4102fb8a249aec09659e9f40d06b83ae844d5b623cc5cb94f1c7d72679080602081015b0390a3610a566001600755565b60088054611248939161124391901c6001600160a01b03165b6001600160a01b031690565b61432f565b5f806111de565b63c5723b5160e01b5f5260045ffd5b346104ce5760203660031901126104ce5760043561127a614117565b8015610954576020817fab3d5f191a9ab132e614c1202cbe9ade876dfd08ab27820fa93e9f19258f429392600a55604051908152a1005b346104ce575f3660031901126104ce57602064ffffffffff60215416604051908152f35b346104ce5760403660031901126104ce57610a566004356112f46104d2565b9061131361130e825f526006602052600160405f20015490565b614985565b6149bf565b346104ce5760403660031901126104ce576113316104b8565b6024354281116113a2576040516311bab5e760e01b8152600b60048201526001600160a01b039092166024830152604482015260208160648173__$722770e92751af7c18db862b2d8e717318$__5af48015610f2757610593915f91610ef857506040519081529081906020820190565b63b7d0949760e01b5f5260045ffd5b346104ce575f3660031901126104ce57602060405160128152f35b346104ce575f3660031901126104ce5760206040517fb814ff4a26ea3ec5cd1fa579daad86324826254265f3acfec78303a19845b4498152f35b346104ce5760403660031901126104ce576004356114226104d2565b336001600160a01b0382160361143b57610a5691614a49565b63334bd91960e11b5f5260045ffd5b346104ce575f3660031901126104ce5761146261413e565b335f52602260205260405f2060405161147a81612b86565b608060048354938484526001810154602085015260028101546040850152600381015460608501520154910152610a58576105936114b6613310565b610cf16001600755565b60206040818301928281528451809452019201905f5b8181106114e35750505090565b8251805163ffffffff1685526020908101516001600160e01b031681860152604090940193909201916001016114d6565b346104ce5760203660031901126104ce576001600160a01b036115356104b8565b165f52601660205260405f20805461154c81612c78565b9161155a6040519384612bdf565b81835260208301905f5260205f205f915b838310611580576040518061059387826114c0565b60016020819260405161159281612ba7565b855463ffffffff81168252831c8382015281520192019201919061156b565b346104ce575f3660031901126104ce576115c9614117565b60085460ff8116156116085760ff19166008557f5db9ee0a495bf2e6ff9c91a7834c1ba4fdd244a5e8aa4e537bd38aeae4b073aa6020604051338152a1005b638dfc202b60e01b5f5260045ffd5b346104ce5760203660031901126104ce576116306104b8565b611638614117565b6001600160a01b0381165f908152601b6020526040902061165c90610b4d90610b46565b610d50576001600160a01b0381165f908152601d602052604090206003018054156116b2575f905560018060a01b03167f87343423287af1125e7b54b5ca54456edf9acb546f64f5024a506e58ec78c2815f80a2005b4290557f1631222cb36d51f35c4be123353ba4c995798272ebe6ad0aa7e904e5912c208f61100f6116e5600a54426131cb565b6040519081526001600160a01b03909316929081906020820190565b346104ce5760203660031901126104ce576001600160a01b036117226104b8565b165f52601d602052606060405f20600181015490600360028201549101549060405192835260208301526040820152f35b346104ce5760403660031901126104ce57602061111e6117716104b8565b602435906133f3565b346104ce575f3660031901126104ce5760206040516101f48152f35b346104ce5760403660031901126104ce576004356024356117b6816109bb565b6117be61413e565b6117c661415e565b335f52602260205260405f206040516117de81612b86565b608060048354938484526001810154602085015260028101546040850152600381015460608501520154910152610a5857610a4c9161349b565b346104ce5760203660031901126104ce57602061111e6118366104b8565b614bb1565b346104ce575f3660031901126104ce57602060ff600854166040519015158152f35b346104ce575f3660031901126104ce576020600a54604051908152f35b346104ce5760203660031901126104ce576118936104b8565b61189b614117565b6001600160a01b0316801561103257601980546001600160a01b031916821790557f7dae230f18360d76a040c81f050aa14eb9d6dc7901b20fc5d855e2a20fe814d15f80a2005b346104ce5760203660031901126104ce576004356118fe614117565b80156109545760108054908290556040805191825260208201929092527f1b59e575bb93d553641fd9d60215c88531f242f8fbc3f6449b71eaaffdc4fd04918190810161094f565b346104ce5760603660031901126104ce5761195f6104b8565b60443560243561196e826109bb565b61197661413e565b61197e61415e565b335f9081527f06fe0395e8e76f8f786882f7751b454561622034247ad93ea6a46eacbdbdbbdc602052604090205460ff16156119c4576119bd926136d6565b6001600755005b63e2517d3f60e01b5f52336004527fb814ff4a26ea3ec5cd1fa579daad86324826254265f3acfec78303a19845b44960245260445ffd5b346104ce5760203660031901126104ce57611a146104b8565b6040516311bab5e760e01b8152600b60048201526001600160a01b03909116602482015242604482015260208160648173__$722770e92751af7c18db862b2d8e717318$__5af48015610f2757610593915f91610ef857506040519081529081906020820190565b346104ce575f3660031901126104ce57611a94614117565b600580546001600160a01b031981169091555f906001600160a01b03167f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e08280a3005b346104ce5760203660031901126104ce57611af8611af36104b8565b613a0f565b6040518091602082016020835281518091526020604084019201905f5b818110611b23575050500390f35b825180516001600160701b0316855260209081015164ffffffffff168186015286955060409094019390920191600101611b15565b346104ce5760203660031901126104ce576020611b7b611b766104b8565b613b6a565b64ffffffffff60405191168152f35b346104ce5760203660031901126104ce57600435611ba7816109bb565b611baf61413e565b611bb761415e565b335f9081526022602052604090208054610a585760405163312c560f60e21b815260048101829052600b602482015264ffffffffff831660448201523360648201529060e08260848173__$18d78059e82a372b8c97053bcb437d89b9$__5af4928315610f27575f935f925f935f905f975f975f95611ea4575b5090816111d0611c4193336141c2565b611c56611c4d436131d8565b63ffffffff1690565b9463ffffffff8616611c71611c6b82336133f3565b91613c89565b9081811015611e9b57611c83916131e6565b905b88611ded575b9264ffffffffff9594926004927f475b45cb7b0632e52656b38bc1e1d86c463487eb30b961e5dd52518c272d085c988661121197611d9a575b5082611cf8575b50505001549060405194859416973397859094939260609260808301968352602083015260408201520152565b81611d7957505060088054611d2e918391611d1c911c6001600160a01b0316611237565b6019546001600160a01b03169061432f565b600880545f516020615d6a5f395f51905f5291611d6d916001600160a01b0391611d5b91901c8216611237565b60405194855216929081906020820190565b0390a25b5f8080611ccb565b611d9592611d8d60215464ffffffffff1690565b923391614ef2565b611d71565b60088054611db7918391611d1c911c6001600160a01b0316611237565b600880545f516020615d6a5f395f51905f5291611de4916001600160a01b0391611d5b91901c8216611237565b0390a25f611cc4565b60088054919695939491611e0a911c6001600160a01b0316611237565b93843b156104ce57604051630852cd8d60e31b8152600481018b9052945f908690602490829084905af1928315610f27577f475b45cb7b0632e52656b38bc1e1d86c463487eb30b961e5dd52518c272d085c9864ffffffffff9861121197600496611e81575b509396509850925092949550611c8b565b80611e8f5f611e9593612bdf565b806106ed565b5f611e70565b50505f90611c85565b94505050509450611ed3919350611c41925060e03d60e011611ee7575b611ecb8183612bdf565b810190613c48565b919890979396939591949093909190611c31565b503d611ec1565b346104ce5760203660031901126104ce576001600160a01b03611f0f6104b8565b165f52600f60205260405f2064ffffffffff90611f36611c4d600183015463ffffffff1690565b908054915b828110611f545760405164ffffffffff85168152602090f35b611f70611f618284612005565b505460701c64ffffffffff1690565b64ffffffffff80861691161080611fa8575b611f8f575b600101611f3b565b92506001611fa0611f618584612005565b939050611f87565b506001600160701b03611fcc611fbe8385612005565b50546001600160701b031690565b161515611f82565b634e487b7160e01b5f52603260045260245ffd5b601a5481101561200057601a5f5260205f2001905f90565b611fd4565b8054821015612000575f5260205f2001905f90565b346104ce5760203660031901126104ce57600435601a548110156104ce57601a5f527f057c384a7d1c54f3a1b2e5e67b2617b8224fdfd1ea7234eea573a6ff665ff63e01546040516001600160a01b039091168152602090f35b346104ce5760203660031901126104ce576001600160a01b036120956104b8565b165f52600f60205260405f205f906120b7611c4d600183015463ffffffff1690565b908054915b8281106120d55760405164ffffffffff85168152602090f35b6120e2611f618284612005565b64ffffffffff8086169116118061211a575b612101575b6001016120bc565b92506001612112611f618584612005565b9390506120f9565b506001600160701b03612130611fbe8385612005565b1615156120f4565b346104ce5760203660031901126104ce576001600160a01b036121596104b8565b165f52601e602052602060405f2054604051908152f35b346104ce575f3660031901126104ce57612188614117565b61219061415e565b600160ff1960085416176008557f62e78cea01bee320cd4e420270b5ea74000d11b0c9f74754ebdbfc544b05a2586020604051338152a1005b346104ce575f3660031901126104ce576005546040516001600160a01b039091168152602090f35b346104ce5760403660031901126104ce57602060ff6122346004356122146104d2565b905f526006845260405f209060018060a01b03165f5260205260405f2090565b54166040519015158152f35b346104ce575f3660031901126104ce576040515f6004548060011c90600181169081156122eb575b60208310821461080f5782855260208501919081156107f65750600114612299576105938461079881860382612bdf565b60045f9081529250907f8a35acfbc15ff81a39ae7d344fd709f28e8600b4aa8c65c6b64bfe7fe36bd19b5b8184106122d75750500161079882610788565b8054848401526020909301926001016122c4565b91607f1691612268565b346104ce5760203660031901126104ce57602061111e600435613c89565b346104ce575f3660031901126104ce57602060ff601c54166040519015158152f35b346104ce575f3660031901126104ce5760206040515f8152f35b346104ce575f3660031901126104ce576020600254604051908152f35b346104ce5760403660031901126104ce57602061111e61238a6104b8565b6123926104d2565b90613cd8565b346104ce5760403660031901126104ce576123be6123b46104b8565b6024359033614489565b602060405160018152f35b346104ce575f3660031901126104ce576020604051670de0b6b3a76400008152f35b346104ce575f3660031901126104ce576020601f54604051908152f35b346104ce5760203660031901126104ce576001600160a01b036124296104b8565b165f52601b602052602060ff60405f2054166040519015158152f35b346104ce575f3660031901126104ce5761245d612da3565b6040518091602082016020835281518091526020604084019201905f5b818110612488575050500390f35b82516001600160a01b031684528594506020938401939092019160010161247a565b346104ce5760203660031901126104ce5764ffffffffff6004356124cd816109bb565b6124d5614117565b1680156109545760407f1dda38bd9f12be664556b627e16e38c07804c1ff04168f22750fc8511c593dd591602154908064ffffffffff1983161760215564ffffffffff8351921682526020820152a1005b346104ce575f3660031901126104ce576019546040516001600160a01b039091168152602090f35b346104ce57602061111e61256136610d5f565b91613e8a565b346104ce5760203660031901126104ce576004354281116113a257604051906344a6ebe560e01b8252600b6004830152602482015260208160448173__$722770e92751af7c18db862b2d8e717318$__5af48015610f2757610593915f91610ef857506040519081529081906020820190565b346104ce5760403660031901126104ce57610a566004356125f96104d2565b9061261361130e825f526006602052600160405f20015490565b614a49565b346104ce5760403660031901126104ce5760406126646126366104b8565b61263e6104d2565b6001600160a01b039182165f908152602080805285822092909316815291526040902090565b600163ffffffff82541691015482519182526020820152f35b346104ce5760403660031901126104ce5760206126cb61269b6104b8565b6126a36104d2565b6001600160a01b039182165f9081526001855260408082209290931681526020919091522090565b54604051908152f35b346104ce575f3660031901126104ce576126ec61413e565b6126f461415e565b335f9081526022602052604090208054610a5857604051634860405760e01b815260048101829052600b60248201523360448201526101008160648173__$18d78059e82a372b8c97053bcb437d89b9$__5af4908115610f27575f925f905f915f905f965f945f965f986129b9575b5061276e82336141c2565b88612908575b937fa14f2d355409606305a6f598d88421417a9852fbca24028e554c48fc82eda431936127b76105939897946004948863ffffffff9d996128b5575b5033614259565b6127c3611c4d436131d8565b8a81166127d3611c6b82336133f3565b90818110156128ac576127e5916131e6565b905b82612836575b505050015460408051868152602081019590955284019190915260608301523391608090a261281c6001600755565b604051938493168360209093929193604081019481520152565b816128935750506008805461285a918391611d1c911c6001600160a01b0316611237565b600880545f516020615d6a5f395f51905f5291612887916001600160a01b0391611d5b91901c8216611237565b0390a25b5f80806127ed565b6128a792611d8d60215464ffffffffff1690565b61288b565b50505f906127e7565b600880546128d2918391611d1c911c6001600160a01b0316611237565b600880545f516020615d6a5f395f51905f52916128ff916001600160a01b0391611d5b91901c8216611237565b0390a25f6127b0565b60088054939992979692959194929361292a911c6001600160a01b0316611237565b91823b156104ce57604051630852cd8d60e31b815260048101879052925f908490602490829084905af18015610f275763ffffffff9a610593997fa14f2d355409606305a6f598d88421417a9852fbca24028e554c48fc82eda431976004966127b7946129a5575b5094989c50945094979850509350612774565b80611e8f5f6129b393612bdf565b5f612992565b9650505050509350506129e491506101003d81116129f5575b6129dc8183612bdf565b810190613f37565b92979296909591949293925f612763565b503d6129d2565b346104ce5760403660031901126104ce57600435612a19816109bb565b602435612a25816109bb565b612a2d61413e565b612a3561415e565b335f52602260205260405f20604051612a4d81612b86565b608060048354938484526001810154602085015260028101546040850152600381015460608501520154910152610a5857610a4c91613fbc565b346104ce575f3660031901126104ce5760088054604051911c6001600160a01b03168152602090f35b346104ce575f3660031901126104ce576060612aca614d03565b64ffffffffff600b54604051928352818160281c166020840152166040820152f35b346104ce5760203660031901126104ce57612b056104b8565b612b0d614117565b6001600160a01b03168015612b5f57600580546001600160a01b0319811683179091556001600160a01b03167f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e05f80a3005b631e4fbdf760e01b5f525f60045260245ffd5b634e487b7160e01b5f52604160045260245ffd5b60a0810190811067ffffffffffffffff821117612ba257604052565b612b72565b6040810190811067ffffffffffffffff821117612ba257604052565b6080810190811067ffffffffffffffff821117612ba257604052565b90601f8019910116810190811067ffffffffffffffff821117612ba257604052565b60405190612c1060c083612bdf565b565b60405190612c1f82612b86565b5f6080838281528260208201528260408201528260608201520152565b90604051612c4981612b86565b608060048294805484526001810154602085015260028101546040850152600381015460608501520154910152565b67ffffffffffffffff8111612ba25760051b60200190565b90604051612c9d81612b86565b6080600382948054600f0b84526001810154602085015264ffffffffff6002820154818116604087015260281c1660608501520154910152565b90604051612ce481612ba7565b91546001600160701b038116835260701c64ffffffffff166020830152565b908154612d0f81612c78565b92612d1d6040519485612bdf565b81845260208401905f5260205f205f915b838310612d3b5750505050565b600160208192612d4a85612cd7565b815201920192019190612d2e565b519081600f0b82036104ce57565b908160609103126104ce57612d7a81612d58565b916040612d8960208401612d58565b920151612d95816109bb565b90565b6040513d5f823e3d90fd5b60405190601a548083528260208101601a5f5260205f20925f5b818110612dd2575050612c1092500383612bdf565b84546001600160a01b0316835260019485019487945060209093019201612dbd565b80518210156120005760209160051b010190565b9060405160c081019080821067ffffffffffffffff831117612ba257612c109160405260a0612e8a6003839663ffffffff815416855260018101546020860152600281015460408601520154600180841b0381166060850152612e7e64ffffffffff82851c16608086019064ffffffffff169052565b60c81c63ffffffff1690565b63ffffffff16910152565b90604051612ea281612bc3565b80928054612eaf81612c78565b90612ebd6040519283612bdf565b80825260208201835f5260205f205f915b838310612efc5750505050606091600391845260018101546020850152600281015460408501520154910152565b60046020600192612f0c85612e08565b815201920192019190612ece565b9190600954831061319a5764ffffffffff81168015908115613170575b506131615760088054612fbe9291612f68918691612f5f91901c6001600160a01b0316611237565b30903390614179565b335f908152600f60205260409020606090612f8290612d03565b60405163318d02a960e01b8152600b60048201523360248201526044810187905264ffffffffff90931660648401529192839081906084820190565b038173__$722770e92751af7c18db862b2d8e717318$__5af4938415610f27575f915f935f96613129575b50612ff2612da3565b905115613056575b507f57b2e61d69eb10995c6df6a1e292f691fb3de83274a4b0da10722bc17ca30a6761304d612c10959661302e85336141c2565b6040805194855264ffffffffff90911660208501523393918291820190565b0390a233614259565b94939291905f5b86518110156130fa57806130f46130866130796001948b612df4565b516001600160a01b031690565b6130df6130b96130ae6130a98460018060a01b03165f52601d60205260405f2090565b612e95565b515163ffffffff1690565b335f90815260208052604090209092905b9060018060a01b03165f5260205260405f2090565b9063ffffffff1663ffffffff19825416179055565b0161305d565b5093945091929091907f57b2e61d69eb10995c6df6a1e292f691fb3de83274a4b0da10722bc17ca30a67612ffa565b9193509450613150915060603d60601161315a575b6131488183612bdf565b810190612d66565b929092945f612fe9565b503d61313e565b630f962f3d60e31b5f5260045ffd5b9050613193613189600b5464ffffffffff9060281c1690565b64ffffffffff1690565b105f612f37565b632fcd1a0f60e01b5f5260045ffd5b634e487b7160e01b5f52601160045260245ffd5b9060018201809211610e0c57565b91908201809211610e0c57565b5f19810191908211610e0c57565b91908203918211610e0c57565b601a548015613246575f19810190601a5482101561200057601a5f8190527f057c384a7d1c54f3a1b2e5e67b2617b8224fdfd1ea7234eea573a6ff665ff63d90910180546001600160a01b031916905555565b634e487b7160e01b5f52603160045260245ffd5b90612c10913361436a565b908160209103126104ce575190565b601a5490600160401b821015612ba25760018201601a55601a5482101561200057601a5f527f057c384a7d1c54f3a1b2e5e67b2617b8224fdfd1ea7234eea573a6ff665ff63e90910180546001600160a01b0319166001600160a01b03909216919091179055565b634e487b7160e01b5f525f60045260245ffd5b91908260409103126104ce576020825192015161ffff811681036104ce5790565b6040805162b8d10560e31b8152600b600482015233602482015291908260448173__$722770e92751af7c18db862b2d8e717318$__5af4918215610f27575f926133c1575b508180156133b2576008805461337d918391339161124391901c6001600160a01b0316611237565b60405190815233907f7084f5476618d8e60b11ef0d7d3f06914655adb8793e28ff7f018d4c76d505d59080602081015b0390a2565b63342ad40160e11b5f5260045ffd5b6133e491925060403d6040116133ec575b6133dc8183612bdf565b8101906132ef565b50905f613355565b503d6133d2565b9043811161346b57604051630eedb1fb60e41b8152600b60048201526001600160a01b039092166024830152604482015260208160648173__$722770e92751af7c18db862b2d8e717318$__5af4908115610f27575f91613452575090565b612d95915060203d602011610f2057610f128183612bdf565b631391e11b60e21b5f5260045ffd5b91908260409103126104ce57612d95602061349484612d58565b9301612d58565b90600954821061319a574264ffffffffff821611156135cd576134be8133614ad1565b156135be57604061351f916134e584612f5f61123760085460018060a01b039060081c1690565b8151631a6e6bdf60e01b8152600b60048201523360248201526044810185905264ffffffffff909116606482015291829081906084820190565b038173__$722770e92751af7c18db862b2d8e717318$__5af4908115610f2757612c10925f915f9361358b575b5061355782336141c2565b60405190815233907fb6f6047ccb2c5eb4dd18dd4204255859ff2dd42986622a68192bad01a6084b5490806020810161304d565b9092506135b0915060403d6040116135b7575b6135a88183612bdf565b81019061347a565b915f61354c565b503d61359e565b63965307a760e01b5f5260045ffd5b63d5b25b6360e01b5f5260045ffd5b8054821015612000575f5260205f209060021b01905f90565b8054600160401b811015612ba257613612916001820181556135dc565b9190916136d1576136b160a06003612c109461364563ffffffff865116829063ffffffff1663ffffffff19825416179055565b6020850151600182015560408501516002820155019261368c600180841b03606083015116859060018060a01b03166bffffffffffffffffffffffff60a01b825416179055565b6080810151845464ffffffffff918216841b91841b1916178455015163ffffffff1690565b815463ffffffff60c81b191660c89190911b63ffffffff60c81b16179055565b6132dc565b90916136f8610b4d610b468460018060a01b03165f52601b60205260405f2090565b610d505782156138ff5764ffffffffff811615613952576040516370a0823160e01b81523060048201526001600160a01b03831693602082602481885afa918215610f27575f9261392d575b5061375190303387614179565b6040516370a0823160e01b815230600482015290602082602481885afa8015610f2757613785925f9161390e575b506131e6565b80156138ff576137959083614daa565b509081156138f9576137a9611c4d436131d8565b9063ffffffff8216916137bb83613c89565b9485156138c9576001600160a01b03165f908152601d60205260409020928354908115159182613898575b5050156137fc576373c9950160e01b5f5260045ffd5b61385c61386e927f8a888ea653a580e40660778ee0c0dabd23a81e8e2c8dcfb938e40982a157d8199661383c613830612c01565b63ffffffff9095168552565b6020840187905260408401525f606084015264ffffffffff166080830152565b4263ffffffff1660a0820152826135f5565b6002810161387d8382546131cb565b905554604080519283526020830191909152819081016133ad565b63ffffffff9192506138b56138af6138c0926131d8565b876135dc565b505463ffffffff1690565b16145f806137e6565b50506019545f516020615d6a5f395f51905f5294506133ad939250610cf1915082906001600160a01b0316610ceb565b50505050565b63162908e360e11b5f5260045ffd5b613927915060203d602011610f2057610f128183612bdf565b5f61377f565b61375191925061394b9060203d602011610f2057610f128183612bdf565b9190613744565b635435b28960e11b5f5260045ffd5b60405190613970602083612bdf565b5f80835282815b82811061398357505050565b60209060405161399281612ba7565b5f81525f8382015282828501015201613977565b906139b082612c78565b6139bd6040519182612bdf565b82815280926139ce601f1991612c78565b01905f5b8281106139de57505050565b6020906040516139ed81612ba7565b5f81525f83820152828285010152016139d2565b5f198114610e0c5760010190565b6001600160a01b03165f908152600f6020526040902080548015613b2a575f91613a43611c4d600183015463ffffffff1690565b92835b838110613af95750613a57906139a6565b925f905b838110613a69575050505090565b613a85613a79611fbe8386612005565b6001600160701b031690565b613a92575b600101613a5b565b90613af1600191613ac2613aa9611fbe8688612005565b613ab3838a612df4565b51906001600160701b03169052565b613aec613ad2611f618688612005565b6020613ade848b612df4565b51019064ffffffffff169052565b613a01565b919050613a8a565b613b09613a79611fbe8386612005565b613b16575b600101613a46565b90613b22600191613a01565b919050613b0e565b5050612d95613961565b81810292918115918404141715610e0c57565b634e487b7160e01b5f52601260045260245ffd5b8115613b65570490565b613b47565b6001600160a01b03165f908152600f60205260408120805482918291905b818310613bab575050508115613ba557612d959161318991613b5b565b50505f90565b90919392613bb98583612005565b50544290613bd09060701c64ffffffffff16613189565b1115613c3e57613bf3613be38684612005565b50613bee4291612cd7565b614e63565b908115613c3357600191613c23613c2992613c1d613c17613189611f618c8a612005565b84613b34565b906131cb565b956131cb565b945b019190613b88565b939460019150613c2b565b9293600190613c2b565b908160e09103126104ce57613c5c81612d58565b91613c6960208301612d58565b9160408101519160608201519160808101519160c060a083015192015190565b60405190636f028b4360e11b825260166004830152600b6024830152604482015260208160648173__$653813a67e6cb587aa03176c4692d95711$__5af4908115610f27575f91613452575090565b5f92916001600160a01b03821691908215613e82576001600160a01b0381165f908152601b60205260409020613d1190610b4d90610b46565b610d50576001600160a01b0381165f908152601d60205260409020613d4e906001600160a01b0384165f90815260208052604090209092906130ca565b815493613d62611c4d835463ffffffff1690565b93858514613e7757845b868110613d7c5750505050505050565b613d8f613d8982876135dc565b50612e08565b60608101518490613da8906001600160a01b0316611237565b14613e6e57613dc7613dc1611c4d835163ffffffff1690565b846133f3565b15159081613e60575b50613de0575b6001905b01613d6c565b978864ffffffffff613e326131896003613e22613e1b6002613e0c88828e01905f5260205260405f2090565b015460081c64ffffffffff1690565b958b6135dc565b50015460a01c64ffffffffff1690565b91161015613e5757506001613e4f613e4a878b6131e6565b6131bd565b989050613dd6565b97600190613dda565b60409150015115155f613dd0565b50600190613dda565b505f96505050505050565b505f93505050565b90613eab610b4d610b468360018060a01b03165f52601b60205260405f2090565b610d50576001600160a01b03821615613f30576040516303b1874560e21b8152600b6004820152601d60248201526020604482018190526001600160a01b03938416606483015291909216608483015260a4820192909252908160c48173__$3dc0bf93f5c509ffd7ff14e0e663cb5818$__5af4908115610f27575f91613452575090565b5050505f90565b9190826101009103126104ce57613f4d82612d58565b91613f5a60208201612d58565b9160408201519160608101519160808201519160a08101519160e060c083015192015163ffffffff811681036104ce5790565b91908260809103126104ce578151613fa4816109bb565b91602081015191612d95606061349460408501612d58565b9064ffffffffff811680159081156140f7575b506135cd57613fde8233614ad1565b156135be576040516320e74d0d60e11b8152600b600482015233602482015264ffffffffff838116604483015291909116606482015260808160848173__$722770e92751af7c18db862b2d8e717318$__5af4908115610f2757612c10925f5f905f935f9561409d575b50907f2880f4fc08dec6bc3c61687b882e88598cb950c1dbff72d4a2d20223174215b49161407685336141c2565b6040805164ffffffffff95861681529490911660208501528301523391806060810161304d565b9150507f2880f4fc08dec6bc3c61687b882e88598cb950c1dbff72d4a2d20223174215b493506140e691925060803d6080116140f0575b6140de8183612bdf565b810190613f8d565b9490939290614048565b503d6140d4565b9050614110613189600b5464ffffffffff9060281c1690565b105f613fcf565b6005546001600160a01b0316330361412b57565b63118cdaa760e01b5f523360045260245ffd5b60026007541461414f576002600755565b633ee5aeb560e01b5f5260045ffd5b60ff6008541661416a57565b63d93c066560e01b5f5260045ffd5b6040516323b872dd60e01b60208201526001600160a01b039283166024820152929091166044830152606480830193909352918152612c10916141bd608483612bdf565b6150f6565b6001600160a01b0381165f8181526020819052604090205491926001600160801b03169180831115614218578203918211610e0c571561420557612c1091615238565b63ec442f0560e01b5f525f60045260245ffd5b918083116142265750505050565b8203918211610e0c57156142465761423d9161514e565b5f8080806138f9565b634b637e8f60e11b5f525f60045260245ffd5b73__$653813a67e6cb587aa03176c4692d95711$__91823b156104ce5760405163951c023760e01b8152601660048201526001600160a01b039290921660248301526001600160801b031660448201525f81606481855af48015610f275761431b575b50803b156104ce5760405163951c023760e01b8152601660048201525f602482018190526001600160801b03939093166044820152919082908180606481015b03915af48015610f275761430d5750565b80611e8f5f612c1093612bdf565b80611e8f5f61432993612bdf565b5f6142bc565b60405163a9059cbb60e01b60208201526001600160a01b039092166024830152604480830193909352918152612c10916141bd606483612bdf565b90916001600160a01b03821615614406576001600160a01b0383165f908152601b602052604090205460ff1615610d505773__$3dc0bf93f5c509ffd7ff14e0e663cb5818$__803b156104ce576040516309f23b8f60e11b8152600b6004820152601d6024820152602060448201526001600160a01b03938416606482015293909216608484015260a48301525f908290818060c481016142fc565b505050565b60405163313ce56760e01b81529190602090839060049082906001600160a01b03165afa918215610f27575f9261444b575b50601260ff83161161095457565b9091506020813d602011614481575b8161446760209383612bdf565b810103126104ce575160ff811681036104ce57905f61443d565b3d915061445a565b91906001600160a01b03831615614246576001600160a01b0381161561420557612c10926152a1565b9064ffffffffff8091169116029064ffffffffff8216918203610e0c57565b9064ffffffffff8091169116039064ffffffffff8211610e0c57565b90600f0b90600f0b019060016001607f1b0319821260016001607f1b03831317610e0c57565b8054600160401b811015612ba257614530916001820181556135dc565b9190916136d157608081600392516001600160801b0319855416906001600160801b0316178455602081015160018501556002840161458c64ffffffffff604084015116829064ffffffffff1664ffffffffff19825416179055565b606082015169ffffffffff000000000082549160281b169069ffffffffff000000000019161790550151910155565b6001600160a01b0381165f908152600f602052604090204264ffffffffff16929190614609600b546146036145f88264ffffffffff9060281c1690565b9164ffffffffff1690565b906144b2565b915f945f614621611c4d600186015463ffffffff1690565b9264ffffffffff8616975b8554851015614734576001600160701b0361464a611fbe8789612005565b1680156147295761465e611f618789612005565b9064ffffffffff82168681111561471c5761467987846144d1565b8c8064ffffffffff831611614714575b61469d64ffffffffff6146a2931685613b34565b613b5b565b9360016001607f1b038511614705576001946146d4946146ce938a11156146de575b50600f0b906144ed565b946131cb565b945b01939161462c565b64ffffffffff165f9081526015602052604090206146fd8582546131e6565b90555f6146c4565b63dbdeca0f60e01b5f5260045ffd5b8b9150614689565b50505091936001906146d6565b5091936001906146d6565b6001600160a01b0382165f908152600e6020526040902091985091959491935054801561496e57614763612c12565b506001600160a01b0388165f908152600e6020526040902090614785906131d8565b61478e916135dc565b5061479890612c90565b60808101516147a99089600b6157c8565b916147b2612c12565b64ffffffffff851660408201529464ffffffffff4316606087018190529986906147dc8a876131cb565b60208301908152600f9390930b8252608082018690526001600160a01b03165f908152600e602052604090209061481291614513565b519060020155602001518082115f1461497c5761482e916131e6565b955b600d5494851561496e576060976148d86149569661486c61486661485f612d959b614859612c12565b506131d8565b600d6135dc565b50612c90565b9560808701966148a66148818951600b6156c5565b9761488a612c12565b64ffffffffff851660408201529e8f019064ffffffffff169052565b8051600f0b906148d060406148c3602084019b8c519051906131e6565b92015164ffffffffff1690565b91600b615a0c565b5050935f85600f0b12614966575b614920926148fb6149199361490093516131cb565b6131cb565b9360208a019485526149138651600f0b90565b906144ed565b600f0b8852565b5f61493561492f8951600f0b90565b600f0b90565b1261495e575b608087015261494b86600d614513565b51600c5551600f0b90565b9251600f0b90565b5f875261493b565b5f94506148e6565b62dc341f60e01b5f5260045ffd5b50505f95614830565b5f81815260066020908152604080832033845290915290205460ff16156149a95750565b63e2517d3f60e01b5f523360045260245260445ffd5b5f8181526006602090815260408083206001600160a01b038616845290915290205460ff16613ba5575f8181526006602090815260408083206001600160a01b03861684529091529020805460ff1916600117905533916001600160a01b0316907f2f8788117e7eff1d82e926ec794901d17c78024a50270940304540a733656f0d5f80a4600190565b5f8181526006602090815260408083206001600160a01b038616845290915290205460ff1615613ba5575f8181526006602090815260408083206001600160a01b03861684529091529020805460ff1916905533916001600160a01b0316907ff6391f5c32d9c69d2a47ea670b442974b53935d1edc7fd64eb21e047a839171b5f80a4600190565b6001600160a01b03165f908152600f60205260408120600181015491939291614aff9063ffffffff16611c4d565b918154925b838110614b115750505050565b614b1e611f618285612005565b64ffffffffff80841691161480614b5c575b614b3d575b600101614b04565b94614b54600191613c1d613a79611fbe8a88612005565b959050614b35565b506001600160701b03614b72611fbe8386612005565b161515614b30565b64ffffffffff6107089116019064ffffffffff8211610e0c57565b9064ffffffffff8091169116019064ffffffffff8211610e0c57565b4264ffffffffff1691906001600160a01b038116614c8157600d548015614c7a5761486661485f614be1926131d8565b926040614bf760208601516080870151906131e6565b940192614c2b614c1f614c0f865164ffffffffff1690565b600b5464ffffffffff1690615bd9565b945164ffffffffff1690565b90935b64ffffffffff811683811015614c735764ffffffffff831603614c5a575b614c5590614b7a565b614c2e565b94614c6b86614c559286600b615c1a565b959050614c4c565b5050505050565b505f925050565b6001600160a01b0381165f908152600e60205260409020548015614c7a576001600160a01b0382165f908152600e60205260409020614cce9161486691614cc890916131d8565b906135dc565b926040614ce460208601516080870151906131e6565b940192614cfc614c1f614c0f865164ffffffffff1690565b9093614c2e565b64ffffffffff421690600d548015614da45761486661485f614d24926131d8565b916040614d3a60208501516080860151906131e6565b930164ffffffffff614d63614d57614c0f845164ffffffffff1690565b925164ffffffffff1690565b16905b64ffffffffff8116838110156138f9578203614d8b575b614d8690614b7a565b614d66565b93614d9c85614d86925f600b615c1a565b949050614d7d565b505f9150565b614db38161440b565b60018060a01b03821690815f52601e60205260405f2054938401809411610e0c57614dde9084615d35565b601f5411614e0357506001600160a01b03165f908152601e6020526040812055905f90565b7fb3b4667f891ecf03572656631c771b3dcd751391d4b45f2ccb40eac2d4ad1502614e5e93825f52601e6020528060405f20556040518091602082019082520390a26001600160a01b03165f908152601e6020526040902090565b545f91565b906001600160701b0382511615613ba557602082019064ffffffffff825116811015613f3057612d9592614ec961469d92614ec4613189614eb8600b5464ffffffffff8080808460281c161692161690613b34565b965164ffffffffff1690565b6131e6565b90838211614eea575b51614ee5906001600160701b0316613a79565b613b34565b839150614ed2565b93929380156138ff5760088054614f1d9291614f1891901c6001600160a01b0316611237565b614daa565b80959195615069575b508415614c735760088054614f6291614f4991901c6001600160a01b0316611237565b6001600160a01b03165f908152601d6020526040902090565b9283548015159081615041575b5015614f84576373c9950160e01b5f5260045ffd5b7f8a888ea653a580e40660778ee0c0dabd23a81e8e2c8dcfb938e40982a157d81994614fe461385c92614ff295614fc8614fbc612c01565b63ffffffff9097168752565b602086018a905260408601526001600160a01b03166060850152565b64ffffffffff166080830152565b600281016150018482546131cb565b90556008805461501a911c6001600160a01b0316611237565b90546040805194855260208501919091526001600160a01b039091169290819081016133ad565b61505891506150526138b5916131d8565b866135dc565b63ffffffff8084169116145f614f6f565b600880545f9161509f91615086911c6001600160a01b0316611237565b6001600160a01b03165f908152601e6020526040902090565b55600880546150c0918391611d1c9161123791901c6001600160a01b031681565b600880545f516020615d6a5f395f51905f52916150ed916001600160a01b0391611d5b91901c8216611237565b0390a25f614f26565b905f602091828151910182855af115612d98575f513d61514557506001600160a01b0381163b155b6151255750565b635274afe760e01b5f9081526001600160a01b0391909116600452602490fd5b6001141561511e565b6001600160a01b03811691908215808015615230575b61517757638cd22d1960e01b5f5260045ffd5b156151b75750905f516020615d8a5f395f51905f526151b2836151a56151a05f966002546131cb565b600255565b610cf18160025403600255565b0390a3565b6001600160a01b0381165f9081526020819052604090205482811061520d57825f516020615d8a5f395f51905f52926152075f96956151b294039160018060a01b03165f525f60205260405f2090565b556151a5565b63391434e360e21b5f526001600160a01b0390911660045260245260445260645ffd5b506001615164565b90600254818101809111610e0c576002556001600160a01b038216915f915f516020615d8a5f395f51905f529184615280575080600254036002555b604051908152602090a3565b6001600160a01b03165f908152602081905260409020818154019055615274565b90916001600160a01b038216918215808015615385575b6152cb57638cd22d1960e01b5f5260045ffd5b1561533157506151b2816152f26151a05f516020615d8a5f395f51905f52946002546131cb565b6001600160a01b03851694856153105750610cf18160025403600255565b6001600160a01b03165f908152602081905260409020818154019055610cf1565b6001600160a01b0381165f9081526020819052604090205482811061520d57916151b29161537f825f516020615d8a5f395f51905f5295039160018060a01b03165f525f60205260405f2090565b556152f2565b506001600160a01b038516156152b8565b604051815480825290929183906153b460208301915f5260205f2090565b925f905b80600583011061549b57612c10945491818110615483575b818110615467575b81811061544b575b81811061542f575b818110615413575b106153fe575b500383612bdf565b60c81c64ffffffffff1681526020015f6153f6565b60a083901c64ffffffffff1684529260019060200193016153f0565b607883901c64ffffffffff1684529260019060200193016153e8565b605083901c64ffffffffff1684529260019060200193016153e0565b602883901c64ffffffffff1684529260019060200193016153d8565b64ffffffffff831684529260019060200193016153d0565b91600691935060c060019161551787546154c28364ffffffffff831664ffffffffff169052565b602881901c64ffffffffff166020840152605081901c64ffffffffff166040840152607881901c64ffffffffff16606084015260a081901c64ffffffffff16608084015260c81c64ffffffffff1660a0830152565b0194019201859293916153b8565b9061552f82612c78565b61553c6040519182612bdf565b828152809261554d601f1991612c78565b0190602036910137565b600160401b8211612ba25780549082815581831061557457505050565b5f526005600660205f2081838181880104830195010401930602806155ac575b505b8181106155a1575050565b5f8155600101615596565b5f198201908154905f199060200360031b1c1690555f615594565b9080519067ffffffffffffffff8211612ba25760206155f5916155ea8486615557565b01925f5260205f2090565b60068204915f5b83811061566f5750600683029003806156155750505050565b925f935f5b81811061562f5750505001555f8080806138f9565b9091946020615665600192615649895164ffffffffff1690565b908560050264ffffffffff809160031b9316831b921b19161790565b960192910161561a565b5f5f5b600681106156875750838201556001016155fc565b959060206156bc6001926156a0855164ffffffffff1690565b908a60050264ffffffffff809160031b9316831b921b19161790565b92019601615672565b90915f9060098301926156d784615396565b906156e28251615525565b925f5b83518110156157b8576157066156fb8286612df4565b5164ffffffffff1690565b61574961572582600887019064ffffffffff165f5260205260405f2090565b5461574283600a88019064ffffffffff165f5260205260405f2090565b54906131e6565b9081151590816157a5575b5061579257508061578c61576d6156fb60019488612df4565b6157806157798a613a01565b9989612df4565b9064ffffffffff169052565b016156e5565b61579f90600192996131cb565b9761578c565b905064ffffffffff42911611155f615754565b5094915050612c109282526155c7565b91925f916001600160a01b03811661587c575060098301926157e984615396565b906157f48251615525565b925f5b83518110156157b85761580d6156fb8286612df4565b61582c61572582600887019064ffffffffff165f5260205260405f2090565b908115159081615869575b5061585657508061585061576d6156fb60019488612df4565b016157f7565b61586390600192996131cb565b97615850565b905064ffffffffff42911611155f615837565b939160078401936158a56158a087879060018060a01b03165f5260205260405f2090565b615396565b956158b08751615525565b935f5b88518110156159b5576158c96156fb828b612df4565b6001600160a01b0384165f90815260068601602052604090206158fd9082905b9064ffffffffff165f5260205260405f2090565b54801515806159a4575b615939575050806159336159206156fb6001948d612df4565b61578061592c89613a01565b988a612df4565b016158b3565b61594781600194939a6131cb565b98600a87018261596683839064ffffffffff165f5260205260405f2090565b541015615976575b505050615933565b61599a91615992919064ffffffffff165f5260205260405f2090565b9182546131e6565b90555f808061596e565b504264ffffffffff83161115615907565b509284526001600160a01b03165f908152602095909552506040909320919350612c10916155c7565b600f91820b910b03906f7fffffffffffffffffffffffffffffff19821260016001607f1b03831317610e0c57565b9390919495929564ffffffffff5f9116908115615b93578615615b8457615a368895979895615ba2565b97935b64ffffffffff891664ffffffffff85168111615ac257615a698461469d615a636131898b8f6144d1565b89613b34565b9160016001607f1b03831161470557615a9664ffffffffff916001600160801b038d9516600f0b906159de565b971603615aaf575b615aa89098614b7a565b9794615a39565b615abb91945f88615c1a565b9287615a9e565b5094939750959450905f84600f0b12615b7b575b64ffffffffff811664ffffffffff841614615b6057615afe613189615b049461469d936144d1565b87613b34565b9060016001607f1b038211614705576001600160801b03615b299216600f0b906159de565b5f81600f0b12615b58575b8315615b51575b5f81600f0b125f14615b4d57505f9290565b9290565b505f615b3b565b915081615b34565b5050508315615b51575f81600f0b125f14615b4d57505f9290565b94508294615ad6565b505f9650869550859450505050565b63339bfa2360e11b5f5260045ffd5b64ffffffffff612d95911664ffffffffff610708615bc2818085046144b2565b920616615bd0575f90614b95565b61070890614b95565b64ffffffffff1664ffffffffff8216918215613b655764ffffffffff83615c0583612d959686046144b2565b930616615c1457505f90614b95565b90614b95565b919290916001600160a01b0383161580615d10575b615c9457600601615c54826158e985849060018060a01b03165f5260205260405f2090565b54615c5f5750505090565b615c7c926158e9919060018060a01b03165f5260205260405f2090565b5481811115615c8b5750505f90565b612d95916131e6565b9150600a615cb482600885019064ffffffffff165f5260205260405f2090565b54920192615cdb615cd483869064ffffffffff165f5260205260405f2090565b54826131cb565b831115615cea57505050505f90565b615d09614ec492612d95959064ffffffffff165f5260205260405f2090565b54906131cb565b50615d2d82600883019064ffffffffff165f5260205260405f2090565b541515615c2f565b9060ff1660128114615d655760120360ff8111610e0c5760ff1690604d8211610e0c57612d9591600a0a90613b34565b509056fe6977f6d32776a96fe411386dcaad1a6f99a615bcd1bfb5bf15e5f18290b083eaddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3efa26469706673582212204d0378887d98dd5f575a16544341685f32b5161c91d392c85406b045880ef36f64736f6c634300081e00332f8788117e7eff1d82e926ec794901d17c78024a50270940304540a733656f0d06fe0395e8e76f8f786882f7751b454561622034247ad93ea6a46eacbdbdbbdc54cdd369e4e8a8515e52ca72ec816c2101831ad1f18bf44102ed171459c9b4f8",
2296
+ "deployedBytecode": "0x60806040526004361015610011575f80fd5b5f3560e01c80627900f4146104b357806301ffc9a7146104ae578063027da1c7146104a957806306fdde03146104a4578063095ea7b31461049f57806309e848fa1461049a5780630c9cbf0e146104955780630f069e41146104905780630f68ae401461048b57806312064c3414610486578063130b77a41461048157806314bc82371461047c578063174e31c41461047757806318160ddd146104725780631c03e6cc1461046d57806323b872dd14610468578063248a9ca31461046357806326019cff1461045e57806329275fa7146104595780632a723ed8146104545780632f2ff15d1461044f5780633037408d1461044a578063313ce5671461044557806332e4bb0a1461044057806336568abe1461043b5780633ccfd60b146104365780633e53ec73146104315780633f4ba83a1461042c57806342d19c5f1461042757806348e5d9f8146104225780634ee2cd7e1461041d57806354125d03146104185780635735d89014610413578063593557361461040e5780635c975abb146104095780635e814430146104045780636605bfda146103ff578063666c7306146103fa5780636854e143146103f557806370a08231146103f0578063715018a6146103eb578063719f3089146103e6578063729652a6146103e157806377f709ae146103dc578063796a1c90146103d75780637bb7bed1146103d25780637ca692cf146103cd5780637d1ddd06146103c85780638456cb59146103c35780638da5cb5b146103be57806391d14854146103b957806395d89b41146103b4578063981b24d0146103af57806399edf3c6146103aa578063a217fddf146103a5578063a592d9ec146103a0578063a88557c51461039b578063a9059cbb14610396578063aaf5eb6814610391578063b4a115591461038c578063b5fd73f814610387578063c4f59f9b14610382578063c51009b21461037d578063c5f956af14610378578063d19fb4fb14610373578063d2dcd9331461036e578063d547741f14610369578063d700c18b14610364578063dd62ed3e1461035f578063dff501b51461035a578063e8d106a214610355578063ed4a708414610350578063f1380ea91461034b5763f2fde38b14610346575f80fd5b612aec565b612ab0565b612a87565b6129fc565b6126d4565b61267d565b612618565b6125da565b612567565b61254e565b612526565b6124aa565b612445565b612408565b6123eb565b6123c9565b612398565b61236c565b61234f565b612335565b612313565b6122f5565b612240565b6121f1565b6121c9565b612170565b612138565b612074565b61201a565b611eee565b611b8a565b611b58565b611ad7565b611a7c565b6119fb565b611946565b6118e2565b61187a565b61185d565b61183b565b611818565b611796565b61177a565b611753565b611701565b611617565b6115b1565b611514565b61144a565b611406565b6113cc565b6113b1565b611318565b6112d5565b6112b1565b61125e565b611126565b6110f3565b611041565b610f2c565b610e8f565b610e11565b610d99565b610b05565b610ace565b610a67565b6109ca565b610963565b6108e6565b61082d565b61073e565b610663565b610597565b6104e8565b600435906001600160a01b03821682036104ce57565b5f80fd5b602435906001600160a01b03821682036104ce57565b346104ce5760203660031901126104ce576105016104b8565b610509612c12565b5060018060a01b03165f52602260205261059360405f2060046040519161052f83612b86565b80548352600181015460208401526002810154604084015260038101546060840152015460808201526040519182918291909160808060a0830194805184526020810151602085015260408101516040850152606081015160608501520151910152565b0390f35b346104ce5760203660031901126104ce5760043563ffffffff60e01b81168091036104ce57602090637965db0b60e01b81149081156105dc575b506040519015158152f35b6301ffc9a760e01b1490505f6105d1565b60206040818301928281528451809452019201905f5b8181106106105750505090565b909192602060a0600192608087518051600f0b8352848101518584015264ffffffffff604082015116604084015264ffffffffff6060820151166060840152015160808201520194019101919091610603565b346104ce5760203660031901126104ce576001600160a01b036106846104b8565b165f52600e60205260405f20805461069b81612c78565b916106a96040519384612bdf565b81835260208301905f5260205f205f915b8383106106cf576040518061059387826105ed565b600460206001926106df85612c90565b8152019201920191906106ba565b5f9103126104ce57565b9190916020815282518060208301525f5b818110610728575060409293505f838284010152601f8019910116010190565b8060208092870101516040828601015201610708565b346104ce575f3660031901126104ce576040515f6003548060011c9060018116908115610823575b60208310821461080f5782855260208501919081156107f657506001146107a4575b6105938461079881860382612bdf565b604051918291826106f7565b60035f9081529250907fc2575a0e9e593c00f959f8c92f12db2869c3395a3b0502d05e2516446f71f85b5b8184106107e25750500161079882610788565b8054848401526020909301926001016107cf565b60ff191682525090151560051b01905061079882610788565b634e487b7160e01b5f52602260045260245ffd5b91607f1691610766565b346104ce5760403660031901126104ce576108466104b8565b60243533156108d3576001600160a01b0382169182156108c0576108868291335f52600160205260405f209060018060a01b03165f5260205260405f2090565b5560405190815233907f8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b92590602090a3602060405160018152f35b634a1406b160e11b5f525f60045260245ffd5b63e602df0560e01b5f525f60045260245ffd5b346104ce5760203660031901126104ce57600435610902614117565b670de0b6b3a7640000811061095457601f8054908290556040805191825260208201929092527f677c8f7a4e79d66c0b572f0d240a6271191d206e65d34c3910ae3b77c9dd44c191819081015b0390a1005b63180d062b60e31b5f5260045ffd5b346104ce5760403660031901126104ce57602060016109b16109836104b8565b61098b6104d2565b90838060a01b03165f5283805260405f209060018060a01b03165f5260205260405f2090565b0154604051908152f35b64ffffffffff8116036104ce57565b346104ce5760403660031901126104ce576004356024356109ea816109bb565b6109f261413e565b6109fa61415e565b335f52602260205260405f20604051610a1281612b86565b608060048354938484526001810154602085015260028101546040850152600381015460608501520154910152610a5857610a4c91612f1a565b610a566001600755565b005b6312fda5ed60e21b5f5260045ffd5b346104ce5760203660031901126104ce57600435610a83614117565b60338111156109545760098054908290556040805191825260208201929092527f2bfe46bceac7bb502ec724e937b7927df79478c82c7d7e0126b08f6145bd384d918190810161094f565b346104ce5760203660031901126104ce576001600160a01b03610aef6104b8565b165f525f602052602060405f2054604051908152f35b346104ce5760203660031901126104ce57610b1e6104b8565b610b26614117565b6001600160a01b0381165f908152601b60205260409020610b5190610b4d905b5460ff1690565b1590565b610d50576001600160a01b0381165f908152601d6020526040902060038101548015610d4157600a54610b83916131cb565b4210610d325760016002820154910154908181115f14610d2757610bcd91610baa916131e6565b6001600160a01b0383165f908152601e60205260409020549081610d0a576131cb565b80610cc1575b506001600160a01b03165f818152601b60205260408120805460ff191690555b601a549081811015610cba5782610c23610c0c83611fe8565b90546001600160a01b039260039290921b1c821690565b1614610c33576001915001610bf3565b610c68610c62610c4d610c48610c8c956131d8565b611fe8565b905460039190911b1c6001600160a01b031690565b91611fe8565b81546001600160a01b0393841660039290921b91821b9390911b1916919091179055565b610c946131f3565b7f66257bcef574219c04f7c05f7a1c78d599da10491294c92a5805c48b4cdf50095f80a2005b5050610c94565b6019546001600160a01b03838116925f516020615d6a5f395f51905f5292610d0192610cf1918391165b8661432f565b6040519081529081906020820190565b0390a25f610bd3565b6001600160a01b0384165f908152601e60205260408120556131cb565b5050610bcd5f610baa565b635115ba2f60e11b5f5260045ffd5b6301bcba5760e51b5f5260045ffd5b630cbdb7b360e41b5f5260045ffd5b60609060031901126104ce576004356001600160a01b03811681036104ce57906024356001600160a01b03811681036104ce579060443590565b346104ce57610da736610d5f565b6001600160a01b0382165f908152601b602052604090205460ff1615610d50576001600160a01b038381165f90815260208080526040808320938616835292905220610df892906001015493613e8a565b8101809111610e0c57604051908152602090f35b6131a9565b346104ce5760403660031901126104ce57610e2a6104b8565b602435610e3561413e565b610e3d61415e565b335f52602260205260405f20604051610e5581612b86565b608060048354938484526001810154602085015260028101546040850152600381015460608501520154910152610a5857610a4c9161325a565b346104ce575f3660031901126104ce576040516344a6ebe560e01b8152600b600482015242602482015260208160448173__$722770e92751af7c18db862b2d8e717318$__5af48015610f2757610593915f91610ef8575b506040519081529081906020820190565b610f1a915060203d602011610f20575b610f128183612bdf565b810190613265565b5f610ee7565b503d610f08565b612d98565b346104ce5760203660031901126104ce57610f456104b8565b610f4d614117565b6001600160a01b038116908115611032576001600160a01b0381165f908152601b60205260409020610f7e90610b46565b611023576001600160a01b0381165f908152601d602052604090206003015461101457610fd481610fb1610fe19361440b565b50610fbb81613274565b6001600160a01b03165f908152601b6020526040902090565b805460ff19166001179055565b6040513381527f3344e0a0f48738979c56a1b9f2cd3425597f76766d53e83439cab3fc30b067c79080602081015b0390a2005b63fc06cf2560e01b5f5260045ffd5b63630b374b60e01b5f5260045ffd5b63e6c4247b60e01b5f5260045ffd5b346104ce5761104f36610d5f565b6001600160a01b0383165f908152600160209081526040808320338452909152902090919054925f198410611095575b6110899350614489565b60405160018152602090f35b8284106110d8576001600160a01b03811680156108d35733156108c0575f908152600160209081526040808320338452909152902061108994849003905561107f565b8284637dc7a0d960e11b5f523360045260245260445260645ffd5b346104ce5760203660031901126104ce57602061111e6004355f526006602052600160405f20015490565b604051908152f35b346104ce5760203660031901126104ce5761113f6104b8565b61114761413e565b61114f61415e565b6001600160a01b03811690811561103257335f90815260226020526040902061117790612c3c565b9081511561124f5760808201514210610d3257335f9081526022602052604090206111b99060045f918281558260018201558260028201558260038201550155565b6111d66111c5336145bb565b906111d081336141c2565b33614259565b81518061121e575b50505160405190815233907fe2fa04c4102fb8a249aec09659e9f40d06b83ae844d5b623cc5cb94f1c7d72679080602081015b0390a3610a566001600755565b60088054611248939161124391901c6001600160a01b03165b6001600160a01b031690565b61432f565b5f806111de565b63c5723b5160e01b5f5260045ffd5b346104ce5760203660031901126104ce5760043561127a614117565b8015610954576020817fab3d5f191a9ab132e614c1202cbe9ade876dfd08ab27820fa93e9f19258f429392600a55604051908152a1005b346104ce575f3660031901126104ce57602064ffffffffff60215416604051908152f35b346104ce5760403660031901126104ce57610a566004356112f46104d2565b9061131361130e825f526006602052600160405f20015490565b614985565b6149bf565b346104ce5760403660031901126104ce576113316104b8565b6024354281116113a2576040516311bab5e760e01b8152600b60048201526001600160a01b039092166024830152604482015260208160648173__$722770e92751af7c18db862b2d8e717318$__5af48015610f2757610593915f91610ef857506040519081529081906020820190565b63b7d0949760e01b5f5260045ffd5b346104ce575f3660031901126104ce57602060405160128152f35b346104ce575f3660031901126104ce5760206040517fb814ff4a26ea3ec5cd1fa579daad86324826254265f3acfec78303a19845b4498152f35b346104ce5760403660031901126104ce576004356114226104d2565b336001600160a01b0382160361143b57610a5691614a49565b63334bd91960e11b5f5260045ffd5b346104ce575f3660031901126104ce5761146261413e565b335f52602260205260405f2060405161147a81612b86565b608060048354938484526001810154602085015260028101546040850152600381015460608501520154910152610a58576105936114b6613310565b610cf16001600755565b60206040818301928281528451809452019201905f5b8181106114e35750505090565b8251805163ffffffff1685526020908101516001600160e01b031681860152604090940193909201916001016114d6565b346104ce5760203660031901126104ce576001600160a01b036115356104b8565b165f52601660205260405f20805461154c81612c78565b9161155a6040519384612bdf565b81835260208301905f5260205f205f915b838310611580576040518061059387826114c0565b60016020819260405161159281612ba7565b855463ffffffff81168252831c8382015281520192019201919061156b565b346104ce575f3660031901126104ce576115c9614117565b60085460ff8116156116085760ff19166008557f5db9ee0a495bf2e6ff9c91a7834c1ba4fdd244a5e8aa4e537bd38aeae4b073aa6020604051338152a1005b638dfc202b60e01b5f5260045ffd5b346104ce5760203660031901126104ce576116306104b8565b611638614117565b6001600160a01b0381165f908152601b6020526040902061165c90610b4d90610b46565b610d50576001600160a01b0381165f908152601d602052604090206003018054156116b2575f905560018060a01b03167f87343423287af1125e7b54b5ca54456edf9acb546f64f5024a506e58ec78c2815f80a2005b4290557f1631222cb36d51f35c4be123353ba4c995798272ebe6ad0aa7e904e5912c208f61100f6116e5600a54426131cb565b6040519081526001600160a01b03909316929081906020820190565b346104ce5760203660031901126104ce576001600160a01b036117226104b8565b165f52601d602052606060405f20600181015490600360028201549101549060405192835260208301526040820152f35b346104ce5760403660031901126104ce57602061111e6117716104b8565b602435906133f3565b346104ce575f3660031901126104ce5760206040516101f48152f35b346104ce5760403660031901126104ce576004356024356117b6816109bb565b6117be61413e565b6117c661415e565b335f52602260205260405f206040516117de81612b86565b608060048354938484526001810154602085015260028101546040850152600381015460608501520154910152610a5857610a4c9161349b565b346104ce5760203660031901126104ce57602061111e6118366104b8565b614bb1565b346104ce575f3660031901126104ce57602060ff600854166040519015158152f35b346104ce575f3660031901126104ce576020600a54604051908152f35b346104ce5760203660031901126104ce576118936104b8565b61189b614117565b6001600160a01b0316801561103257601980546001600160a01b031916821790557f7dae230f18360d76a040c81f050aa14eb9d6dc7901b20fc5d855e2a20fe814d15f80a2005b346104ce5760203660031901126104ce576004356118fe614117565b80156109545760108054908290556040805191825260208201929092527f1b59e575bb93d553641fd9d60215c88531f242f8fbc3f6449b71eaaffdc4fd04918190810161094f565b346104ce5760603660031901126104ce5761195f6104b8565b60443560243561196e826109bb565b61197661413e565b61197e61415e565b335f9081527f06fe0395e8e76f8f786882f7751b454561622034247ad93ea6a46eacbdbdbbdc602052604090205460ff16156119c4576119bd926136d6565b6001600755005b63e2517d3f60e01b5f52336004527fb814ff4a26ea3ec5cd1fa579daad86324826254265f3acfec78303a19845b44960245260445ffd5b346104ce5760203660031901126104ce57611a146104b8565b6040516311bab5e760e01b8152600b60048201526001600160a01b03909116602482015242604482015260208160648173__$722770e92751af7c18db862b2d8e717318$__5af48015610f2757610593915f91610ef857506040519081529081906020820190565b346104ce575f3660031901126104ce57611a94614117565b600580546001600160a01b031981169091555f906001600160a01b03167f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e08280a3005b346104ce5760203660031901126104ce57611af8611af36104b8565b613a0f565b6040518091602082016020835281518091526020604084019201905f5b818110611b23575050500390f35b825180516001600160701b0316855260209081015164ffffffffff168186015286955060409094019390920191600101611b15565b346104ce5760203660031901126104ce576020611b7b611b766104b8565b613b6a565b64ffffffffff60405191168152f35b346104ce5760203660031901126104ce57600435611ba7816109bb565b611baf61413e565b611bb761415e565b335f9081526022602052604090208054610a585760405163312c560f60e21b815260048101829052600b602482015264ffffffffff831660448201523360648201529060e08260848173__$18d78059e82a372b8c97053bcb437d89b9$__5af4928315610f27575f935f925f935f905f975f975f95611ea4575b5090816111d0611c4193336141c2565b611c56611c4d436131d8565b63ffffffff1690565b9463ffffffff8616611c71611c6b82336133f3565b91613c89565b9081811015611e9b57611c83916131e6565b905b88611ded575b9264ffffffffff9594926004927f475b45cb7b0632e52656b38bc1e1d86c463487eb30b961e5dd52518c272d085c988661121197611d9a575b5082611cf8575b50505001549060405194859416973397859094939260609260808301968352602083015260408201520152565b81611d7957505060088054611d2e918391611d1c911c6001600160a01b0316611237565b6019546001600160a01b03169061432f565b600880545f516020615d6a5f395f51905f5291611d6d916001600160a01b0391611d5b91901c8216611237565b60405194855216929081906020820190565b0390a25b5f8080611ccb565b611d9592611d8d60215464ffffffffff1690565b923391614ef2565b611d71565b60088054611db7918391611d1c911c6001600160a01b0316611237565b600880545f516020615d6a5f395f51905f5291611de4916001600160a01b0391611d5b91901c8216611237565b0390a25f611cc4565b60088054919695939491611e0a911c6001600160a01b0316611237565b93843b156104ce57604051630852cd8d60e31b8152600481018b9052945f908690602490829084905af1928315610f27577f475b45cb7b0632e52656b38bc1e1d86c463487eb30b961e5dd52518c272d085c9864ffffffffff9861121197600496611e81575b509396509850925092949550611c8b565b80611e8f5f611e9593612bdf565b806106ed565b5f611e70565b50505f90611c85565b94505050509450611ed3919350611c41925060e03d60e011611ee7575b611ecb8183612bdf565b810190613c48565b919890979396939591949093909190611c31565b503d611ec1565b346104ce5760203660031901126104ce576001600160a01b03611f0f6104b8565b165f52600f60205260405f2064ffffffffff90611f36611c4d600183015463ffffffff1690565b908054915b828110611f545760405164ffffffffff85168152602090f35b611f70611f618284612005565b505460701c64ffffffffff1690565b64ffffffffff80861691161080611fa8575b611f8f575b600101611f3b565b92506001611fa0611f618584612005565b939050611f87565b506001600160701b03611fcc611fbe8385612005565b50546001600160701b031690565b161515611f82565b634e487b7160e01b5f52603260045260245ffd5b601a5481101561200057601a5f5260205f2001905f90565b611fd4565b8054821015612000575f5260205f2001905f90565b346104ce5760203660031901126104ce57600435601a548110156104ce57601a5f527f057c384a7d1c54f3a1b2e5e67b2617b8224fdfd1ea7234eea573a6ff665ff63e01546040516001600160a01b039091168152602090f35b346104ce5760203660031901126104ce576001600160a01b036120956104b8565b165f52600f60205260405f205f906120b7611c4d600183015463ffffffff1690565b908054915b8281106120d55760405164ffffffffff85168152602090f35b6120e2611f618284612005565b64ffffffffff8086169116118061211a575b612101575b6001016120bc565b92506001612112611f618584612005565b9390506120f9565b506001600160701b03612130611fbe8385612005565b1615156120f4565b346104ce5760203660031901126104ce576001600160a01b036121596104b8565b165f52601e602052602060405f2054604051908152f35b346104ce575f3660031901126104ce57612188614117565b61219061415e565b600160ff1960085416176008557f62e78cea01bee320cd4e420270b5ea74000d11b0c9f74754ebdbfc544b05a2586020604051338152a1005b346104ce575f3660031901126104ce576005546040516001600160a01b039091168152602090f35b346104ce5760403660031901126104ce57602060ff6122346004356122146104d2565b905f526006845260405f209060018060a01b03165f5260205260405f2090565b54166040519015158152f35b346104ce575f3660031901126104ce576040515f6004548060011c90600181169081156122eb575b60208310821461080f5782855260208501919081156107f65750600114612299576105938461079881860382612bdf565b60045f9081529250907f8a35acfbc15ff81a39ae7d344fd709f28e8600b4aa8c65c6b64bfe7fe36bd19b5b8184106122d75750500161079882610788565b8054848401526020909301926001016122c4565b91607f1691612268565b346104ce5760203660031901126104ce57602061111e600435613c89565b346104ce575f3660031901126104ce57602060ff601c54166040519015158152f35b346104ce575f3660031901126104ce5760206040515f8152f35b346104ce575f3660031901126104ce576020600254604051908152f35b346104ce5760403660031901126104ce57602061111e61238a6104b8565b6123926104d2565b90613cd8565b346104ce5760403660031901126104ce576123be6123b46104b8565b6024359033614489565b602060405160018152f35b346104ce575f3660031901126104ce576020604051670de0b6b3a76400008152f35b346104ce575f3660031901126104ce576020601f54604051908152f35b346104ce5760203660031901126104ce576001600160a01b036124296104b8565b165f52601b602052602060ff60405f2054166040519015158152f35b346104ce575f3660031901126104ce5761245d612da3565b6040518091602082016020835281518091526020604084019201905f5b818110612488575050500390f35b82516001600160a01b031684528594506020938401939092019160010161247a565b346104ce5760203660031901126104ce5764ffffffffff6004356124cd816109bb565b6124d5614117565b1680156109545760407f1dda38bd9f12be664556b627e16e38c07804c1ff04168f22750fc8511c593dd591602154908064ffffffffff1983161760215564ffffffffff8351921682526020820152a1005b346104ce575f3660031901126104ce576019546040516001600160a01b039091168152602090f35b346104ce57602061111e61256136610d5f565b91613e8a565b346104ce5760203660031901126104ce576004354281116113a257604051906344a6ebe560e01b8252600b6004830152602482015260208160448173__$722770e92751af7c18db862b2d8e717318$__5af48015610f2757610593915f91610ef857506040519081529081906020820190565b346104ce5760403660031901126104ce57610a566004356125f96104d2565b9061261361130e825f526006602052600160405f20015490565b614a49565b346104ce5760403660031901126104ce5760406126646126366104b8565b61263e6104d2565b6001600160a01b039182165f908152602080805285822092909316815291526040902090565b600163ffffffff82541691015482519182526020820152f35b346104ce5760403660031901126104ce5760206126cb61269b6104b8565b6126a36104d2565b6001600160a01b039182165f9081526001855260408082209290931681526020919091522090565b54604051908152f35b346104ce575f3660031901126104ce576126ec61413e565b6126f461415e565b335f9081526022602052604090208054610a5857604051634860405760e01b815260048101829052600b60248201523360448201526101008160648173__$18d78059e82a372b8c97053bcb437d89b9$__5af4908115610f27575f925f905f915f905f965f945f965f986129b9575b5061276e82336141c2565b88612908575b937fa14f2d355409606305a6f598d88421417a9852fbca24028e554c48fc82eda431936127b76105939897946004948863ffffffff9d996128b5575b5033614259565b6127c3611c4d436131d8565b8a81166127d3611c6b82336133f3565b90818110156128ac576127e5916131e6565b905b82612836575b505050015460408051868152602081019590955284019190915260608301523391608090a261281c6001600755565b604051938493168360209093929193604081019481520152565b816128935750506008805461285a918391611d1c911c6001600160a01b0316611237565b600880545f516020615d6a5f395f51905f5291612887916001600160a01b0391611d5b91901c8216611237565b0390a25b5f80806127ed565b6128a792611d8d60215464ffffffffff1690565b61288b565b50505f906127e7565b600880546128d2918391611d1c911c6001600160a01b0316611237565b600880545f516020615d6a5f395f51905f52916128ff916001600160a01b0391611d5b91901c8216611237565b0390a25f6127b0565b60088054939992979692959194929361292a911c6001600160a01b0316611237565b91823b156104ce57604051630852cd8d60e31b815260048101879052925f908490602490829084905af18015610f275763ffffffff9a610593997fa14f2d355409606305a6f598d88421417a9852fbca24028e554c48fc82eda431976004966127b7946129a5575b5094989c50945094979850509350612774565b80611e8f5f6129b393612bdf565b5f612992565b9650505050509350506129e491506101003d81116129f5575b6129dc8183612bdf565b810190613f37565b92979296909591949293925f612763565b503d6129d2565b346104ce5760403660031901126104ce57600435612a19816109bb565b602435612a25816109bb565b612a2d61413e565b612a3561415e565b335f52602260205260405f20604051612a4d81612b86565b608060048354938484526001810154602085015260028101546040850152600381015460608501520154910152610a5857610a4c91613fbc565b346104ce575f3660031901126104ce5760088054604051911c6001600160a01b03168152602090f35b346104ce575f3660031901126104ce576060612aca614d03565b64ffffffffff600b54604051928352818160281c166020840152166040820152f35b346104ce5760203660031901126104ce57612b056104b8565b612b0d614117565b6001600160a01b03168015612b5f57600580546001600160a01b0319811683179091556001600160a01b03167f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e05f80a3005b631e4fbdf760e01b5f525f60045260245ffd5b634e487b7160e01b5f52604160045260245ffd5b60a0810190811067ffffffffffffffff821117612ba257604052565b612b72565b6040810190811067ffffffffffffffff821117612ba257604052565b6080810190811067ffffffffffffffff821117612ba257604052565b90601f8019910116810190811067ffffffffffffffff821117612ba257604052565b60405190612c1060c083612bdf565b565b60405190612c1f82612b86565b5f6080838281528260208201528260408201528260608201520152565b90604051612c4981612b86565b608060048294805484526001810154602085015260028101546040850152600381015460608501520154910152565b67ffffffffffffffff8111612ba25760051b60200190565b90604051612c9d81612b86565b6080600382948054600f0b84526001810154602085015264ffffffffff6002820154818116604087015260281c1660608501520154910152565b90604051612ce481612ba7565b91546001600160701b038116835260701c64ffffffffff166020830152565b908154612d0f81612c78565b92612d1d6040519485612bdf565b81845260208401905f5260205f205f915b838310612d3b5750505050565b600160208192612d4a85612cd7565b815201920192019190612d2e565b519081600f0b82036104ce57565b908160609103126104ce57612d7a81612d58565b916040612d8960208401612d58565b920151612d95816109bb565b90565b6040513d5f823e3d90fd5b60405190601a548083528260208101601a5f5260205f20925f5b818110612dd2575050612c1092500383612bdf565b84546001600160a01b0316835260019485019487945060209093019201612dbd565b80518210156120005760209160051b010190565b9060405160c081019080821067ffffffffffffffff831117612ba257612c109160405260a0612e8a6003839663ffffffff815416855260018101546020860152600281015460408601520154600180841b0381166060850152612e7e64ffffffffff82851c16608086019064ffffffffff169052565b60c81c63ffffffff1690565b63ffffffff16910152565b90604051612ea281612bc3565b80928054612eaf81612c78565b90612ebd6040519283612bdf565b80825260208201835f5260205f205f915b838310612efc5750505050606091600391845260018101546020850152600281015460408501520154910152565b60046020600192612f0c85612e08565b815201920192019190612ece565b9190600954831061319a5764ffffffffff81168015908115613170575b506131615760088054612fbe9291612f68918691612f5f91901c6001600160a01b0316611237565b30903390614179565b335f908152600f60205260409020606090612f8290612d03565b60405163318d02a960e01b8152600b60048201523360248201526044810187905264ffffffffff90931660648401529192839081906084820190565b038173__$722770e92751af7c18db862b2d8e717318$__5af4938415610f27575f915f935f96613129575b50612ff2612da3565b905115613056575b507f57b2e61d69eb10995c6df6a1e292f691fb3de83274a4b0da10722bc17ca30a6761304d612c10959661302e85336141c2565b6040805194855264ffffffffff90911660208501523393918291820190565b0390a233614259565b94939291905f5b86518110156130fa57806130f46130866130796001948b612df4565b516001600160a01b031690565b6130df6130b96130ae6130a98460018060a01b03165f52601d60205260405f2090565b612e95565b515163ffffffff1690565b335f90815260208052604090209092905b9060018060a01b03165f5260205260405f2090565b9063ffffffff1663ffffffff19825416179055565b0161305d565b5093945091929091907f57b2e61d69eb10995c6df6a1e292f691fb3de83274a4b0da10722bc17ca30a67612ffa565b9193509450613150915060603d60601161315a575b6131488183612bdf565b810190612d66565b929092945f612fe9565b503d61313e565b630f962f3d60e31b5f5260045ffd5b9050613193613189600b5464ffffffffff9060281c1690565b64ffffffffff1690565b105f612f37565b632fcd1a0f60e01b5f5260045ffd5b634e487b7160e01b5f52601160045260245ffd5b9060018201809211610e0c57565b91908201809211610e0c57565b5f19810191908211610e0c57565b91908203918211610e0c57565b601a548015613246575f19810190601a5482101561200057601a5f8190527f057c384a7d1c54f3a1b2e5e67b2617b8224fdfd1ea7234eea573a6ff665ff63d90910180546001600160a01b031916905555565b634e487b7160e01b5f52603160045260245ffd5b90612c10913361436a565b908160209103126104ce575190565b601a5490600160401b821015612ba25760018201601a55601a5482101561200057601a5f527f057c384a7d1c54f3a1b2e5e67b2617b8224fdfd1ea7234eea573a6ff665ff63e90910180546001600160a01b0319166001600160a01b03909216919091179055565b634e487b7160e01b5f525f60045260245ffd5b91908260409103126104ce576020825192015161ffff811681036104ce5790565b6040805162b8d10560e31b8152600b600482015233602482015291908260448173__$722770e92751af7c18db862b2d8e717318$__5af4918215610f27575f926133c1575b508180156133b2576008805461337d918391339161124391901c6001600160a01b0316611237565b60405190815233907f7084f5476618d8e60b11ef0d7d3f06914655adb8793e28ff7f018d4c76d505d59080602081015b0390a2565b63342ad40160e11b5f5260045ffd5b6133e491925060403d6040116133ec575b6133dc8183612bdf565b8101906132ef565b50905f613355565b503d6133d2565b9043811161346b57604051630eedb1fb60e41b8152600b60048201526001600160a01b039092166024830152604482015260208160648173__$722770e92751af7c18db862b2d8e717318$__5af4908115610f27575f91613452575090565b612d95915060203d602011610f2057610f128183612bdf565b631391e11b60e21b5f5260045ffd5b91908260409103126104ce57612d95602061349484612d58565b9301612d58565b90600954821061319a574264ffffffffff821611156135cd576134be8133614ad1565b156135be57604061351f916134e584612f5f61123760085460018060a01b039060081c1690565b8151631a6e6bdf60e01b8152600b60048201523360248201526044810185905264ffffffffff909116606482015291829081906084820190565b038173__$722770e92751af7c18db862b2d8e717318$__5af4908115610f2757612c10925f915f9361358b575b5061355782336141c2565b60405190815233907fb6f6047ccb2c5eb4dd18dd4204255859ff2dd42986622a68192bad01a6084b5490806020810161304d565b9092506135b0915060403d6040116135b7575b6135a88183612bdf565b81019061347a565b915f61354c565b503d61359e565b63965307a760e01b5f5260045ffd5b63d5b25b6360e01b5f5260045ffd5b8054821015612000575f5260205f209060021b01905f90565b8054600160401b811015612ba257613612916001820181556135dc565b9190916136d1576136b160a06003612c109461364563ffffffff865116829063ffffffff1663ffffffff19825416179055565b6020850151600182015560408501516002820155019261368c600180841b03606083015116859060018060a01b03166bffffffffffffffffffffffff60a01b825416179055565b6080810151845464ffffffffff918216841b91841b1916178455015163ffffffff1690565b815463ffffffff60c81b191660c89190911b63ffffffff60c81b16179055565b6132dc565b90916136f8610b4d610b468460018060a01b03165f52601b60205260405f2090565b610d505782156138ff5764ffffffffff811615613952576040516370a0823160e01b81523060048201526001600160a01b03831693602082602481885afa918215610f27575f9261392d575b5061375190303387614179565b6040516370a0823160e01b815230600482015290602082602481885afa8015610f2757613785925f9161390e575b506131e6565b80156138ff576137959083614daa565b509081156138f9576137a9611c4d436131d8565b9063ffffffff8216916137bb83613c89565b9485156138c9576001600160a01b03165f908152601d60205260409020928354908115159182613898575b5050156137fc576373c9950160e01b5f5260045ffd5b61385c61386e927f8a888ea653a580e40660778ee0c0dabd23a81e8e2c8dcfb938e40982a157d8199661383c613830612c01565b63ffffffff9095168552565b6020840187905260408401525f606084015264ffffffffff166080830152565b4263ffffffff1660a0820152826135f5565b6002810161387d8382546131cb565b905554604080519283526020830191909152819081016133ad565b63ffffffff9192506138b56138af6138c0926131d8565b876135dc565b505463ffffffff1690565b16145f806137e6565b50506019545f516020615d6a5f395f51905f5294506133ad939250610cf1915082906001600160a01b0316610ceb565b50505050565b63162908e360e11b5f5260045ffd5b613927915060203d602011610f2057610f128183612bdf565b5f61377f565b61375191925061394b9060203d602011610f2057610f128183612bdf565b9190613744565b635435b28960e11b5f5260045ffd5b60405190613970602083612bdf565b5f80835282815b82811061398357505050565b60209060405161399281612ba7565b5f81525f8382015282828501015201613977565b906139b082612c78565b6139bd6040519182612bdf565b82815280926139ce601f1991612c78565b01905f5b8281106139de57505050565b6020906040516139ed81612ba7565b5f81525f83820152828285010152016139d2565b5f198114610e0c5760010190565b6001600160a01b03165f908152600f6020526040902080548015613b2a575f91613a43611c4d600183015463ffffffff1690565b92835b838110613af95750613a57906139a6565b925f905b838110613a69575050505090565b613a85613a79611fbe8386612005565b6001600160701b031690565b613a92575b600101613a5b565b90613af1600191613ac2613aa9611fbe8688612005565b613ab3838a612df4565b51906001600160701b03169052565b613aec613ad2611f618688612005565b6020613ade848b612df4565b51019064ffffffffff169052565b613a01565b919050613a8a565b613b09613a79611fbe8386612005565b613b16575b600101613a46565b90613b22600191613a01565b919050613b0e565b5050612d95613961565b81810292918115918404141715610e0c57565b634e487b7160e01b5f52601260045260245ffd5b8115613b65570490565b613b47565b6001600160a01b03165f908152600f60205260408120805482918291905b818310613bab575050508115613ba557612d959161318991613b5b565b50505f90565b90919392613bb98583612005565b50544290613bd09060701c64ffffffffff16613189565b1115613c3e57613bf3613be38684612005565b50613bee4291612cd7565b614e63565b908115613c3357600191613c23613c2992613c1d613c17613189611f618c8a612005565b84613b34565b906131cb565b956131cb565b945b019190613b88565b939460019150613c2b565b9293600190613c2b565b908160e09103126104ce57613c5c81612d58565b91613c6960208301612d58565b9160408101519160608201519160808101519160c060a083015192015190565b60405190636f028b4360e11b825260166004830152600b6024830152604482015260208160648173__$653813a67e6cb587aa03176c4692d95711$__5af4908115610f27575f91613452575090565b5f92916001600160a01b03821691908215613e82576001600160a01b0381165f908152601b60205260409020613d1190610b4d90610b46565b610d50576001600160a01b0381165f908152601d60205260409020613d4e906001600160a01b0384165f90815260208052604090209092906130ca565b815493613d62611c4d835463ffffffff1690565b93858514613e7757845b868110613d7c5750505050505050565b613d8f613d8982876135dc565b50612e08565b60608101518490613da8906001600160a01b0316611237565b14613e6e57613dc7613dc1611c4d835163ffffffff1690565b846133f3565b15159081613e60575b50613de0575b6001905b01613d6c565b978864ffffffffff613e326131896003613e22613e1b6002613e0c88828e01905f5260205260405f2090565b015460081c64ffffffffff1690565b958b6135dc565b50015460a01c64ffffffffff1690565b91161015613e5757506001613e4f613e4a878b6131e6565b6131bd565b989050613dd6565b97600190613dda565b60409150015115155f613dd0565b50600190613dda565b505f96505050505050565b505f93505050565b90613eab610b4d610b468360018060a01b03165f52601b60205260405f2090565b610d50576001600160a01b03821615613f30576040516303b1874560e21b8152600b6004820152601d60248201526020604482018190526001600160a01b03938416606483015291909216608483015260a4820192909252908160c48173__$3dc0bf93f5c509ffd7ff14e0e663cb5818$__5af4908115610f27575f91613452575090565b5050505f90565b9190826101009103126104ce57613f4d82612d58565b91613f5a60208201612d58565b9160408201519160608101519160808201519160a08101519160e060c083015192015163ffffffff811681036104ce5790565b91908260809103126104ce578151613fa4816109bb565b91602081015191612d95606061349460408501612d58565b9064ffffffffff811680159081156140f7575b506135cd57613fde8233614ad1565b156135be576040516320e74d0d60e11b8152600b600482015233602482015264ffffffffff838116604483015291909116606482015260808160848173__$722770e92751af7c18db862b2d8e717318$__5af4908115610f2757612c10925f5f905f935f9561409d575b50907f2880f4fc08dec6bc3c61687b882e88598cb950c1dbff72d4a2d20223174215b49161407685336141c2565b6040805164ffffffffff95861681529490911660208501528301523391806060810161304d565b9150507f2880f4fc08dec6bc3c61687b882e88598cb950c1dbff72d4a2d20223174215b493506140e691925060803d6080116140f0575b6140de8183612bdf565b810190613f8d565b9490939290614048565b503d6140d4565b9050614110613189600b5464ffffffffff9060281c1690565b105f613fcf565b6005546001600160a01b0316330361412b57565b63118cdaa760e01b5f523360045260245ffd5b60026007541461414f576002600755565b633ee5aeb560e01b5f5260045ffd5b60ff6008541661416a57565b63d93c066560e01b5f5260045ffd5b6040516323b872dd60e01b60208201526001600160a01b039283166024820152929091166044830152606480830193909352918152612c10916141bd608483612bdf565b6150f6565b6001600160a01b0381165f8181526020819052604090205491926001600160801b03169180831115614218578203918211610e0c571561420557612c1091615238565b63ec442f0560e01b5f525f60045260245ffd5b918083116142265750505050565b8203918211610e0c57156142465761423d9161514e565b5f8080806138f9565b634b637e8f60e11b5f525f60045260245ffd5b73__$653813a67e6cb587aa03176c4692d95711$__91823b156104ce5760405163951c023760e01b8152601660048201526001600160a01b039290921660248301526001600160801b031660448201525f81606481855af48015610f275761431b575b50803b156104ce5760405163951c023760e01b8152601660048201525f602482018190526001600160801b03939093166044820152919082908180606481015b03915af48015610f275761430d5750565b80611e8f5f612c1093612bdf565b80611e8f5f61432993612bdf565b5f6142bc565b60405163a9059cbb60e01b60208201526001600160a01b039092166024830152604480830193909352918152612c10916141bd606483612bdf565b90916001600160a01b03821615614406576001600160a01b0383165f908152601b602052604090205460ff1615610d505773__$3dc0bf93f5c509ffd7ff14e0e663cb5818$__803b156104ce576040516309f23b8f60e11b8152600b6004820152601d6024820152602060448201526001600160a01b03938416606482015293909216608484015260a48301525f908290818060c481016142fc565b505050565b60405163313ce56760e01b81529190602090839060049082906001600160a01b03165afa918215610f27575f9261444b575b50601260ff83161161095457565b9091506020813d602011614481575b8161446760209383612bdf565b810103126104ce575160ff811681036104ce57905f61443d565b3d915061445a565b91906001600160a01b03831615614246576001600160a01b0381161561420557612c10926152a1565b9064ffffffffff8091169116029064ffffffffff8216918203610e0c57565b9064ffffffffff8091169116039064ffffffffff8211610e0c57565b90600f0b90600f0b019060016001607f1b0319821260016001607f1b03831317610e0c57565b8054600160401b811015612ba257614530916001820181556135dc565b9190916136d157608081600392516001600160801b0319855416906001600160801b0316178455602081015160018501556002840161458c64ffffffffff604084015116829064ffffffffff1664ffffffffff19825416179055565b606082015169ffffffffff000000000082549160281b169069ffffffffff000000000019161790550151910155565b6001600160a01b0381165f908152600f602052604090204264ffffffffff16929190614609600b546146036145f88264ffffffffff9060281c1690565b9164ffffffffff1690565b906144b2565b915f945f614621611c4d600186015463ffffffff1690565b9264ffffffffff8616975b8554851015614734576001600160701b0361464a611fbe8789612005565b1680156147295761465e611f618789612005565b9064ffffffffff82168681111561471c5761467987846144d1565b8c8064ffffffffff831611614714575b61469d64ffffffffff6146a2931685613b34565b613b5b565b9360016001607f1b038511614705576001946146d4946146ce938a11156146de575b50600f0b906144ed565b946131cb565b945b01939161462c565b64ffffffffff165f9081526015602052604090206146fd8582546131e6565b90555f6146c4565b63dbdeca0f60e01b5f5260045ffd5b8b9150614689565b50505091936001906146d6565b5091936001906146d6565b6001600160a01b0382165f908152600e6020526040902091985091959491935054801561496e57614763612c12565b506001600160a01b0388165f908152600e6020526040902090614785906131d8565b61478e916135dc565b5061479890612c90565b60808101516147a99089600b6157c8565b916147b2612c12565b64ffffffffff851660408201529464ffffffffff4316606087018190529986906147dc8a876131cb565b60208301908152600f9390930b8252608082018690526001600160a01b03165f908152600e602052604090209061481291614513565b519060020155602001518082115f1461497c5761482e916131e6565b955b600d5494851561496e576060976148d86149569661486c61486661485f612d959b614859612c12565b506131d8565b600d6135dc565b50612c90565b9560808701966148a66148818951600b6156c5565b9761488a612c12565b64ffffffffff851660408201529e8f019064ffffffffff169052565b8051600f0b906148d060406148c3602084019b8c519051906131e6565b92015164ffffffffff1690565b91600b615a0c565b5050935f85600f0b12614966575b614920926148fb6149199361490093516131cb565b6131cb565b9360208a019485526149138651600f0b90565b906144ed565b600f0b8852565b5f61493561492f8951600f0b90565b600f0b90565b1261495e575b608087015261494b86600d614513565b51600c5551600f0b90565b9251600f0b90565b5f875261493b565b5f94506148e6565b62dc341f60e01b5f5260045ffd5b50505f95614830565b5f81815260066020908152604080832033845290915290205460ff16156149a95750565b63e2517d3f60e01b5f523360045260245260445ffd5b5f8181526006602090815260408083206001600160a01b038616845290915290205460ff16613ba5575f8181526006602090815260408083206001600160a01b03861684529091529020805460ff1916600117905533916001600160a01b0316907f2f8788117e7eff1d82e926ec794901d17c78024a50270940304540a733656f0d5f80a4600190565b5f8181526006602090815260408083206001600160a01b038616845290915290205460ff1615613ba5575f8181526006602090815260408083206001600160a01b03861684529091529020805460ff1916905533916001600160a01b0316907ff6391f5c32d9c69d2a47ea670b442974b53935d1edc7fd64eb21e047a839171b5f80a4600190565b6001600160a01b03165f908152600f60205260408120600181015491939291614aff9063ffffffff16611c4d565b918154925b838110614b115750505050565b614b1e611f618285612005565b64ffffffffff80841691161480614b5c575b614b3d575b600101614b04565b94614b54600191613c1d613a79611fbe8a88612005565b959050614b35565b506001600160701b03614b72611fbe8386612005565b161515614b30565b64ffffffffff6107089116019064ffffffffff8211610e0c57565b9064ffffffffff8091169116019064ffffffffff8211610e0c57565b4264ffffffffff1691906001600160a01b038116614c8157600d548015614c7a5761486661485f614be1926131d8565b926040614bf760208601516080870151906131e6565b940192614c2b614c1f614c0f865164ffffffffff1690565b600b5464ffffffffff1690615bd9565b945164ffffffffff1690565b90935b64ffffffffff811683811015614c735764ffffffffff831603614c5a575b614c5590614b7a565b614c2e565b94614c6b86614c559286600b615c1a565b959050614c4c565b5050505050565b505f925050565b6001600160a01b0381165f908152600e60205260409020548015614c7a576001600160a01b0382165f908152600e60205260409020614cce9161486691614cc890916131d8565b906135dc565b926040614ce460208601516080870151906131e6565b940192614cfc614c1f614c0f865164ffffffffff1690565b9093614c2e565b64ffffffffff421690600d548015614da45761486661485f614d24926131d8565b916040614d3a60208501516080860151906131e6565b930164ffffffffff614d63614d57614c0f845164ffffffffff1690565b925164ffffffffff1690565b16905b64ffffffffff8116838110156138f9578203614d8b575b614d8690614b7a565b614d66565b93614d9c85614d86925f600b615c1a565b949050614d7d565b505f9150565b614db38161440b565b60018060a01b03821690815f52601e60205260405f2054938401809411610e0c57614dde9084615d35565b601f5411614e0357506001600160a01b03165f908152601e6020526040812055905f90565b7fb3b4667f891ecf03572656631c771b3dcd751391d4b45f2ccb40eac2d4ad1502614e5e93825f52601e6020528060405f20556040518091602082019082520390a26001600160a01b03165f908152601e6020526040902090565b545f91565b906001600160701b0382511615613ba557602082019064ffffffffff825116811015613f3057612d9592614ec961469d92614ec4613189614eb8600b5464ffffffffff8080808460281c161692161690613b34565b965164ffffffffff1690565b6131e6565b90838211614eea575b51614ee5906001600160701b0316613a79565b613b34565b839150614ed2565b93929380156138ff5760088054614f1d9291614f1891901c6001600160a01b0316611237565b614daa565b80959195615069575b508415614c735760088054614f6291614f4991901c6001600160a01b0316611237565b6001600160a01b03165f908152601d6020526040902090565b9283548015159081615041575b5015614f84576373c9950160e01b5f5260045ffd5b7f8a888ea653a580e40660778ee0c0dabd23a81e8e2c8dcfb938e40982a157d81994614fe461385c92614ff295614fc8614fbc612c01565b63ffffffff9097168752565b602086018a905260408601526001600160a01b03166060850152565b64ffffffffff166080830152565b600281016150018482546131cb565b90556008805461501a911c6001600160a01b0316611237565b90546040805194855260208501919091526001600160a01b039091169290819081016133ad565b61505891506150526138b5916131d8565b866135dc565b63ffffffff8084169116145f614f6f565b600880545f9161509f91615086911c6001600160a01b0316611237565b6001600160a01b03165f908152601e6020526040902090565b55600880546150c0918391611d1c9161123791901c6001600160a01b031681565b600880545f516020615d6a5f395f51905f52916150ed916001600160a01b0391611d5b91901c8216611237565b0390a25f614f26565b905f602091828151910182855af115612d98575f513d61514557506001600160a01b0381163b155b6151255750565b635274afe760e01b5f9081526001600160a01b0391909116600452602490fd5b6001141561511e565b6001600160a01b03811691908215808015615230575b61517757638cd22d1960e01b5f5260045ffd5b156151b75750905f516020615d8a5f395f51905f526151b2836151a56151a05f966002546131cb565b600255565b610cf18160025403600255565b0390a3565b6001600160a01b0381165f9081526020819052604090205482811061520d57825f516020615d8a5f395f51905f52926152075f96956151b294039160018060a01b03165f525f60205260405f2090565b556151a5565b63391434e360e21b5f526001600160a01b0390911660045260245260445260645ffd5b506001615164565b90600254818101809111610e0c576002556001600160a01b038216915f915f516020615d8a5f395f51905f529184615280575080600254036002555b604051908152602090a3565b6001600160a01b03165f908152602081905260409020818154019055615274565b90916001600160a01b038216918215808015615385575b6152cb57638cd22d1960e01b5f5260045ffd5b1561533157506151b2816152f26151a05f516020615d8a5f395f51905f52946002546131cb565b6001600160a01b03851694856153105750610cf18160025403600255565b6001600160a01b03165f908152602081905260409020818154019055610cf1565b6001600160a01b0381165f9081526020819052604090205482811061520d57916151b29161537f825f516020615d8a5f395f51905f5295039160018060a01b03165f525f60205260405f2090565b556152f2565b506001600160a01b038516156152b8565b604051815480825290929183906153b460208301915f5260205f2090565b925f905b80600583011061549b57612c10945491818110615483575b818110615467575b81811061544b575b81811061542f575b818110615413575b106153fe575b500383612bdf565b60c81c64ffffffffff1681526020015f6153f6565b60a083901c64ffffffffff1684529260019060200193016153f0565b607883901c64ffffffffff1684529260019060200193016153e8565b605083901c64ffffffffff1684529260019060200193016153e0565b602883901c64ffffffffff1684529260019060200193016153d8565b64ffffffffff831684529260019060200193016153d0565b91600691935060c060019161551787546154c28364ffffffffff831664ffffffffff169052565b602881901c64ffffffffff166020840152605081901c64ffffffffff166040840152607881901c64ffffffffff16606084015260a081901c64ffffffffff16608084015260c81c64ffffffffff1660a0830152565b0194019201859293916153b8565b9061552f82612c78565b61553c6040519182612bdf565b828152809261554d601f1991612c78565b0190602036910137565b600160401b8211612ba25780549082815581831061557457505050565b5f526005600660205f2081838181880104830195010401930602806155ac575b505b8181106155a1575050565b5f8155600101615596565b5f198201908154905f199060200360031b1c1690555f615594565b9080519067ffffffffffffffff8211612ba25760206155f5916155ea8486615557565b01925f5260205f2090565b60068204915f5b83811061566f5750600683029003806156155750505050565b925f935f5b81811061562f5750505001555f8080806138f9565b9091946020615665600192615649895164ffffffffff1690565b908560050264ffffffffff809160031b9316831b921b19161790565b960192910161561a565b5f5f5b600681106156875750838201556001016155fc565b959060206156bc6001926156a0855164ffffffffff1690565b908a60050264ffffffffff809160031b9316831b921b19161790565b92019601615672565b90915f9060098301926156d784615396565b906156e28251615525565b925f5b83518110156157b8576157066156fb8286612df4565b5164ffffffffff1690565b61574961572582600887019064ffffffffff165f5260205260405f2090565b5461574283600a88019064ffffffffff165f5260205260405f2090565b54906131e6565b9081151590816157a5575b5061579257508061578c61576d6156fb60019488612df4565b6157806157798a613a01565b9989612df4565b9064ffffffffff169052565b016156e5565b61579f90600192996131cb565b9761578c565b905064ffffffffff42911611155f615754565b5094915050612c109282526155c7565b91925f916001600160a01b03811661587c575060098301926157e984615396565b906157f48251615525565b925f5b83518110156157b85761580d6156fb8286612df4565b61582c61572582600887019064ffffffffff165f5260205260405f2090565b908115159081615869575b5061585657508061585061576d6156fb60019488612df4565b016157f7565b61586390600192996131cb565b97615850565b905064ffffffffff42911611155f615837565b939160078401936158a56158a087879060018060a01b03165f5260205260405f2090565b615396565b956158b08751615525565b935f5b88518110156159b5576158c96156fb828b612df4565b6001600160a01b0384165f90815260068601602052604090206158fd9082905b9064ffffffffff165f5260205260405f2090565b54801515806159a4575b615939575050806159336159206156fb6001948d612df4565b61578061592c89613a01565b988a612df4565b016158b3565b61594781600194939a6131cb565b98600a87018261596683839064ffffffffff165f5260205260405f2090565b541015615976575b505050615933565b61599a91615992919064ffffffffff165f5260205260405f2090565b9182546131e6565b90555f808061596e565b504264ffffffffff83161115615907565b509284526001600160a01b03165f908152602095909552506040909320919350612c10916155c7565b600f91820b910b03906f7fffffffffffffffffffffffffffffff19821260016001607f1b03831317610e0c57565b9390919495929564ffffffffff5f9116908115615b93578615615b8457615a368895979895615ba2565b97935b64ffffffffff891664ffffffffff85168111615ac257615a698461469d615a636131898b8f6144d1565b89613b34565b9160016001607f1b03831161470557615a9664ffffffffff916001600160801b038d9516600f0b906159de565b971603615aaf575b615aa89098614b7a565b9794615a39565b615abb91945f88615c1a565b9287615a9e565b5094939750959450905f84600f0b12615b7b575b64ffffffffff811664ffffffffff841614615b6057615afe613189615b049461469d936144d1565b87613b34565b9060016001607f1b038211614705576001600160801b03615b299216600f0b906159de565b5f81600f0b12615b58575b8315615b51575b5f81600f0b125f14615b4d57505f9290565b9290565b505f615b3b565b915081615b34565b5050508315615b51575f81600f0b125f14615b4d57505f9290565b94508294615ad6565b505f9650869550859450505050565b63339bfa2360e11b5f5260045ffd5b64ffffffffff612d95911664ffffffffff610708615bc2818085046144b2565b920616615bd0575f90614b95565b61070890614b95565b64ffffffffff1664ffffffffff8216918215613b655764ffffffffff83615c0583612d959686046144b2565b930616615c1457505f90614b95565b90614b95565b919290916001600160a01b0383161580615d10575b615c9457600601615c54826158e985849060018060a01b03165f5260205260405f2090565b54615c5f5750505090565b615c7c926158e9919060018060a01b03165f5260205260405f2090565b5481811115615c8b5750505f90565b612d95916131e6565b9150600a615cb482600885019064ffffffffff165f5260205260405f2090565b54920192615cdb615cd483869064ffffffffff165f5260205260405f2090565b54826131cb565b831115615cea57505050505f90565b615d09614ec492612d95959064ffffffffff165f5260205260405f2090565b54906131cb565b50615d2d82600883019064ffffffffff165f5260205260405f2090565b541515615c2f565b9060ff1660128114615d655760120360ff8111610e0c5760ff1690604d8211610e0c57612d9591600a0a90613b34565b509056fe6977f6d32776a96fe411386dcaad1a6f99a615bcd1bfb5bf15e5f18290b083eaddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3efa26469706673582212204d0378887d98dd5f575a16544341685f32b5161c91d392c85406b045880ef36f64736f6c634300081e0033",
2297
+ "linkReferences": {
2298
+ "contracts/libraries/governance/LockManager.sol": {
2299
+ "LockManager": [
2300
+ {
2301
+ "length": 20,
2302
+ "start": 5444
2303
+ },
2304
+ {
2305
+ "length": 20,
2306
+ "start": 6639
2307
+ },
2308
+ {
2309
+ "length": 20,
2310
+ "start": 8393
2311
+ },
2312
+ {
2313
+ "length": 20,
2314
+ "start": 11303
2315
+ },
2316
+ {
2317
+ "length": 20,
2318
+ "start": 13893
2319
+ },
2320
+ {
2321
+ "length": 20,
2322
+ "start": 14773
2323
+ },
2324
+ {
2325
+ "length": 20,
2326
+ "start": 15023
2327
+ },
2328
+ {
2329
+ "length": 20,
2330
+ "start": 15270
2331
+ },
2332
+ {
2333
+ "length": 20,
2334
+ "start": 18079
2335
+ }
2336
+ ]
2337
+ },
2338
+ "contracts/libraries/governance/PowerCheckpoint.sol": {
2339
+ "PowerCheckpoint": [
2340
+ {
2341
+ "length": 20,
2342
+ "start": 17205
2343
+ },
2344
+ {
2345
+ "length": 20,
2346
+ "start": 18654
2347
+ }
2348
+ ]
2349
+ },
2350
+ "contracts/libraries/governance/RagequitLib.sol": {
2351
+ "RagequitLib": [
2352
+ {
2353
+ "length": 20,
2354
+ "start": 8837
2355
+ },
2356
+ {
2357
+ "length": 20,
2358
+ "start": 11701
2359
+ }
2360
+ ]
2361
+ },
2362
+ "contracts/libraries/governance/RewardLib.sol": {
2363
+ "RewardLib": [
2364
+ {
2365
+ "length": 20,
2366
+ "start": 17805
2367
+ },
2368
+ {
2369
+ "length": 20,
2370
+ "start": 18976
2371
+ }
2372
+ ]
2373
+ }
2374
+ },
2375
+ "deployedLinkReferences": {
2376
+ "contracts/libraries/governance/LockManager.sol": {
2377
+ "LockManager": [
2378
+ {
2379
+ "length": 20,
2380
+ "start": 3777
2381
+ },
2382
+ {
2383
+ "length": 20,
2384
+ "start": 4972
2385
+ },
2386
+ {
2387
+ "length": 20,
2388
+ "start": 6726
2389
+ },
2390
+ {
2391
+ "length": 20,
2392
+ "start": 9636
2393
+ },
2394
+ {
2395
+ "length": 20,
2396
+ "start": 12226
2397
+ },
2398
+ {
2399
+ "length": 20,
2400
+ "start": 13106
2401
+ },
2402
+ {
2403
+ "length": 20,
2404
+ "start": 13356
2405
+ },
2406
+ {
2407
+ "length": 20,
2408
+ "start": 13603
2409
+ },
2410
+ {
2411
+ "length": 20,
2412
+ "start": 16412
2413
+ }
2414
+ ]
2415
+ },
2416
+ "contracts/libraries/governance/PowerCheckpoint.sol": {
2417
+ "PowerCheckpoint": [
2418
+ {
2419
+ "length": 20,
2420
+ "start": 15538
2421
+ },
2422
+ {
2423
+ "length": 20,
2424
+ "start": 16987
2425
+ }
2426
+ ]
2427
+ },
2428
+ "contracts/libraries/governance/RagequitLib.sol": {
2429
+ "RagequitLib": [
2430
+ {
2431
+ "length": 20,
2432
+ "start": 7170
2433
+ },
2434
+ {
2435
+ "length": 20,
2436
+ "start": 10034
2437
+ }
2438
+ ]
2439
+ },
2440
+ "contracts/libraries/governance/RewardLib.sol": {
2441
+ "RewardLib": [
2442
+ {
2443
+ "length": 20,
2444
+ "start": 16138
2445
+ },
2446
+ {
2447
+ "length": 20,
2448
+ "start": 17309
2449
+ }
2450
+ ]
2451
+ }
2452
+ }
1950
2453
  }