@flarenetwork/flare-periphery-contract-artifacts 0.0.2 → 0.0.4

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 (211) hide show
  1. package/dist/README.md +5 -0
  2. package/dist/coston/abis.coston.d.ts.map +1 -1
  3. package/dist/coston/abis.coston.js +14 -4
  4. package/dist/coston/abis.coston.js.map +1 -1
  5. package/dist/coston/artifacts/contracts/assetRegistry/implementation/FlareAssetRegistry.sol/FlareAssetRegistry.json +525 -0
  6. package/dist/coston/artifacts/contracts/assetRegistry/implementation/WNatRegistryProvider.sol/WNatRegistryProvider.json +113 -0
  7. package/dist/coston/artifacts/contracts/assetRegistry/interface/IIERC20WithMetadata.sol/IIERC20WithMetadata.json +233 -0
  8. package/dist/coston/artifacts/contracts/assetRegistry/interface/IIFlareAssetRegistry.sol/IIFlareAssetRegistry.json +316 -0
  9. package/dist/coston/artifacts/contracts/assetRegistry/interface/IIFlareAssetRegistryProvider.sol/IIFlareAssetRegistryProvider.json +66 -0
  10. package/dist/coston/artifacts/contracts/assetRegistry/lib/StandardAttributes.sol/StandardAttributes.json +10 -0
  11. package/dist/coston/artifacts/contracts/claiming/implementation/ClaimSetupManager.sol/ClaimSetupManager.json +2 -2
  12. package/dist/coston/artifacts/contracts/claiming/implementation/DelegationAccount.sol/DelegationAccount.json +2 -2
  13. package/dist/coston/artifacts/contracts/ftso/implementation/Ftso.sol/Ftso.json +2 -2
  14. package/dist/coston/artifacts/contracts/ftso/implementation/FtsoManager.sol/FtsoManager.json +3 -3
  15. package/dist/coston/artifacts/contracts/ftso/lib/FtsoEpoch.sol/FtsoEpoch.json +2 -2
  16. package/dist/coston/artifacts/contracts/ftso/lib/FtsoManagement.sol/FtsoManagement.json +2 -2
  17. package/dist/coston/artifacts/contracts/ftso/lib/FtsoVote.sol/FtsoVote.json +2 -2
  18. package/dist/coston/artifacts/contracts/ftso/priceProviderMockContracts/PriceProviderMockContracts.sol/MockFtsoRegistry.json +2 -2
  19. package/dist/coston/artifacts/contracts/ftso/priceProviderMockContracts/PriceProviderMockContracts.sol/MockPriceSubmitter.json +2 -2
  20. package/dist/coston/artifacts/contracts/ftso/priceProviderMockContracts/PriceProviderMockContracts.sol/MockVoterWhitelister.json +40 -2
  21. package/dist/coston/artifacts/contracts/genesis/implementation/FlareDaemon.sol/FlareDaemon.json +2 -2
  22. package/dist/coston/artifacts/contracts/governance/implementation/InflationAllocation.sol/InflationAllocation.json +2 -2
  23. package/dist/coston/artifacts/contracts/governance/implementation/PollingFoundation.sol/PollingFoundation.json +2 -2
  24. package/dist/coston/artifacts/contracts/governance/implementation/PollingFtso.sol/PollingFtso.json +1187 -0
  25. package/dist/coston/artifacts/contracts/inflation/implementation/Inflation.sol/Inflation.json +2 -2
  26. package/dist/coston/artifacts/contracts/inflation/lib/InflationAnnum.sol/InflationAnnum.json +2 -2
  27. package/dist/coston/artifacts/contracts/inflation/lib/InflationAnnums.sol/InflationAnnums.json +2 -2
  28. package/dist/coston/artifacts/contracts/inflation/lib/RewardService.sol/RewardService.json +2 -2
  29. package/dist/coston/artifacts/contracts/inflation/lib/RewardServices.sol/RewardServices.json +2 -2
  30. package/dist/coston/artifacts/contracts/token/implementation/CleanupBlockNumberManager.sol/CleanupBlockNumberManager.json +172 -37
  31. package/dist/coston/artifacts/contracts/token/implementation/Delegatable.sol/Delegatable.json +2 -2
  32. package/dist/coston/artifacts/contracts/token/implementation/GovernanceVotePower.sol/GovernanceVotePower.json +2 -2
  33. package/dist/coston/artifacts/contracts/token/implementation/VPContract.sol/VPContract.json +2 -2
  34. package/dist/coston/artifacts/contracts/token/implementation/VPToken.sol/VPToken.json +2 -2
  35. package/dist/coston/artifacts/contracts/token/implementation/WNat.sol/WNat.json +2 -2
  36. package/dist/coston/artifacts/contracts/token/lib/DelegationHistory.sol/DelegationHistory.json +2 -2
  37. package/dist/coston/artifacts/contracts/token/lib/ExplicitDelegation.sol/ExplicitDelegation.json +2 -2
  38. package/dist/coston/artifacts/contracts/token/lib/PercentageDelegation.sol/PercentageDelegation.json +2 -2
  39. package/dist/coston/artifacts/contracts/tokenPools/implementation/FtsoRewardManager.sol/FtsoRewardManager.json +523 -138
  40. package/dist/coston/artifacts/contracts/tokenPools/interface/IIFtsoRewardManager.sol/IIFtsoRewardManager.json +322 -0
  41. package/dist/coston/artifacts/contracts/utils/implementation/FtsoV2Upgrader.sol/FtsoV2Upgrader.json +2 -2
  42. package/dist/coston/artifacts/contracts/utils/implementation/GovernedAndFlareDaemonized.sol/GovernedAndFlareDaemonized.json +2 -2
  43. package/dist/coston/artifacts/contracts/utils/implementation/GovernedAndFlareDaemonizedV2.sol/GovernedAndFlareDaemonizedV2.json +2 -2
  44. package/dist/coston/artifacts/contracts/utils/implementation/SafePct.sol/SafePct.json +2 -2
  45. package/dist/coston/artifacts/contracts/utils/implementation/VoterWhitelister.sol/VoterWhitelister.json +276 -41
  46. package/dist/coston/artifacts/contracts/utils/interface/IIVoterWhitelister.sol/IIVoterWhitelister.json +72 -0
  47. package/dist/coston/deploys/contractAddresses.d.ts +5 -0
  48. package/dist/coston/deploys/contractAddresses.d.ts.map +1 -1
  49. package/dist/coston/deploys/contractAddresses.js +8 -3
  50. package/dist/coston/deploys/contractAddresses.js.map +1 -1
  51. package/dist/coston/deploys/coston.json +172 -0
  52. package/dist/coston2/abis.coston2.d.ts.map +1 -1
  53. package/dist/coston2/abis.coston2.js +2 -0
  54. package/dist/coston2/abis.coston2.js.map +1 -1
  55. package/dist/coston2/artifacts/contracts/claiming/implementation/ClaimSetupManager.sol/ClaimSetupManager.json +2 -2
  56. package/dist/coston2/artifacts/contracts/claiming/implementation/DelegationAccount.sol/DelegationAccount.json +2 -2
  57. package/dist/coston2/artifacts/contracts/ftso/implementation/Ftso.sol/Ftso.json +2 -2
  58. package/dist/coston2/artifacts/contracts/ftso/implementation/FtsoManager.sol/FtsoManager.json +2 -2
  59. package/dist/coston2/artifacts/contracts/ftso/lib/FtsoEpoch.sol/FtsoEpoch.json +2 -2
  60. package/dist/coston2/artifacts/contracts/ftso/lib/FtsoManagement.sol/FtsoManagement.json +2 -2
  61. package/dist/coston2/artifacts/contracts/ftso/lib/FtsoVote.sol/FtsoVote.json +2 -2
  62. package/dist/coston2/artifacts/contracts/ftso/priceProviderMockContracts/PriceProviderMockContracts.sol/MockFtsoRegistry.json +2 -2
  63. package/dist/coston2/artifacts/contracts/ftso/priceProviderMockContracts/PriceProviderMockContracts.sol/MockPriceSubmitter.json +2 -2
  64. package/dist/coston2/artifacts/contracts/ftso/priceProviderMockContracts/PriceProviderMockContracts.sol/MockVoterWhitelister.json +40 -2
  65. package/dist/coston2/artifacts/contracts/genesis/implementation/FlareDaemon.sol/FlareDaemon.json +2 -2
  66. package/dist/coston2/artifacts/contracts/genesis/implementation/InitialAirdrop.sol/InitialAirdrop.json +2 -2
  67. package/dist/coston2/artifacts/contracts/governance/implementation/PollingFoundation.sol/PollingFoundation.json +2 -2
  68. package/dist/coston2/artifacts/contracts/governance/implementation/PollingFtso.sol/PollingFtso.json +1187 -0
  69. package/dist/coston2/artifacts/contracts/inflation/implementation/Inflation.sol/Inflation.json +2 -2
  70. package/dist/coston2/artifacts/contracts/inflation/implementation/InflationAllocation.sol/InflationAllocation.json +2 -2
  71. package/dist/coston2/artifacts/contracts/inflation/lib/InflationAnnum.sol/InflationAnnum.json +2 -2
  72. package/dist/coston2/artifacts/contracts/inflation/lib/InflationAnnums.sol/InflationAnnums.json +2 -2
  73. package/dist/coston2/artifacts/contracts/inflation/lib/RewardService.sol/RewardService.json +2 -2
  74. package/dist/coston2/artifacts/contracts/inflation/lib/RewardServices.sol/RewardServices.json +2 -2
  75. package/dist/coston2/artifacts/contracts/token/implementation/Delegatable.sol/Delegatable.json +2 -2
  76. package/dist/coston2/artifacts/contracts/token/implementation/GovernanceVotePower.sol/GovernanceVotePower.json +2 -2
  77. package/dist/coston2/artifacts/contracts/token/implementation/VPContract.sol/VPContract.json +2 -2
  78. package/dist/coston2/artifacts/contracts/token/implementation/VPToken.sol/VPToken.json +2 -2
  79. package/dist/coston2/artifacts/contracts/token/implementation/WNat.sol/WNat.json +2 -2
  80. package/dist/coston2/artifacts/contracts/token/lib/DelegationHistory.sol/DelegationHistory.json +2 -2
  81. package/dist/coston2/artifacts/contracts/token/lib/ExplicitDelegation.sol/ExplicitDelegation.json +2 -2
  82. package/dist/coston2/artifacts/contracts/token/lib/PercentageDelegation.sol/PercentageDelegation.json +2 -2
  83. package/dist/coston2/artifacts/contracts/tokenPools/implementation/AttestationProviderRewardManager.sol/AttestationProviderRewardManager.json +2 -2
  84. package/dist/coston2/artifacts/contracts/tokenPools/implementation/DistributionToDelegators.sol/DistributionToDelegators.json +2 -2
  85. package/dist/coston2/artifacts/contracts/tokenPools/implementation/Escrow.sol/Escrow.json +2 -2
  86. package/dist/coston2/artifacts/contracts/tokenPools/implementation/FtsoRewardManager.sol/FtsoRewardManager.json +2 -2
  87. package/dist/coston2/artifacts/contracts/tokenPools/implementation/IncentivePool.sol/IncentivePool.json +2 -2
  88. package/dist/coston2/artifacts/contracts/tokenPools/implementation/IncentivePoolAllocation.sol/IncentivePoolAllocation.json +2 -2
  89. package/dist/coston2/artifacts/contracts/tokenPools/implementation/ValidatorRewardManager.sol/ValidatorRewardManager.json +2 -2
  90. package/dist/coston2/artifacts/contracts/tokenPools/lib/IncentivePoolAnnum.sol/IncentivePoolAnnum.json +2 -2
  91. package/dist/coston2/artifacts/contracts/tokenPools/lib/IncentivePoolAnnums.sol/IncentivePoolAnnums.json +2 -2
  92. package/dist/coston2/artifacts/contracts/tokenPools/lib/IncentivePoolRewardService.sol/IncentivePoolRewardService.json +2 -2
  93. package/dist/coston2/artifacts/contracts/tokenPools/lib/IncentivePoolRewardServices.sol/IncentivePoolRewardServices.json +2 -2
  94. package/dist/coston2/artifacts/contracts/utils/implementation/FundDistributor.sol/FundDistributor.json +2 -2
  95. package/dist/coston2/artifacts/contracts/utils/implementation/GovernedAndFlareDaemonized.sol/GovernedAndFlareDaemonized.json +2 -2
  96. package/dist/coston2/artifacts/contracts/utils/implementation/SafePct.sol/SafePct.json +2 -2
  97. package/dist/coston2/artifacts/contracts/utils/implementation/VoterWhitelister.sol/VoterWhitelister.json +126 -3
  98. package/dist/coston2/artifacts/contracts/utils/interface/IIVoterWhitelister.sol/IIVoterWhitelister.json +72 -0
  99. package/dist/coston2/deploys/contractAddresses.d.ts +1 -0
  100. package/dist/coston2/deploys/contractAddresses.d.ts.map +1 -1
  101. package/dist/coston2/deploys/contractAddresses.js +2 -1
  102. package/dist/coston2/deploys/contractAddresses.js.map +1 -1
  103. package/dist/coston2/deploys/coston2.json +222 -0
  104. package/dist/flare/abis.flare.d.ts.map +1 -1
  105. package/dist/flare/abis.flare.js +2 -0
  106. package/dist/flare/abis.flare.js.map +1 -1
  107. package/dist/flare/artifacts/contracts/claiming/implementation/ClaimSetupManager.sol/ClaimSetupManager.json +2 -2
  108. package/dist/flare/artifacts/contracts/claiming/implementation/DelegationAccount.sol/DelegationAccount.json +2 -2
  109. package/dist/flare/artifacts/contracts/ftso/implementation/Ftso.sol/Ftso.json +2 -2
  110. package/dist/flare/artifacts/contracts/ftso/implementation/FtsoManager.sol/FtsoManager.json +2 -2
  111. package/dist/flare/artifacts/contracts/ftso/lib/FtsoEpoch.sol/FtsoEpoch.json +2 -2
  112. package/dist/flare/artifacts/contracts/ftso/lib/FtsoManagement.sol/FtsoManagement.json +2 -2
  113. package/dist/flare/artifacts/contracts/ftso/lib/FtsoVote.sol/FtsoVote.json +2 -2
  114. package/dist/flare/artifacts/contracts/ftso/priceProviderMockContracts/PriceProviderMockContracts.sol/MockFtsoRegistry.json +2 -2
  115. package/dist/flare/artifacts/contracts/ftso/priceProviderMockContracts/PriceProviderMockContracts.sol/MockPriceSubmitter.json +2 -2
  116. package/dist/flare/artifacts/contracts/ftso/priceProviderMockContracts/PriceProviderMockContracts.sol/MockVoterWhitelister.json +40 -2
  117. package/dist/flare/artifacts/contracts/genesis/implementation/FlareDaemon.sol/FlareDaemon.json +2 -2
  118. package/dist/flare/artifacts/contracts/genesis/implementation/InitialAirdrop.sol/InitialAirdrop.json +2 -2
  119. package/dist/flare/artifacts/contracts/governance/implementation/PollingFoundation.sol/PollingFoundation.json +2 -2
  120. package/dist/flare/artifacts/contracts/governance/implementation/PollingFtso.sol/PollingFtso.json +1187 -0
  121. package/dist/flare/artifacts/contracts/inflation/implementation/Inflation.sol/Inflation.json +2 -2
  122. package/dist/flare/artifacts/contracts/inflation/implementation/InflationAllocation.sol/InflationAllocation.json +2 -2
  123. package/dist/flare/artifacts/contracts/inflation/lib/InflationAnnum.sol/InflationAnnum.json +2 -2
  124. package/dist/flare/artifacts/contracts/inflation/lib/InflationAnnums.sol/InflationAnnums.json +2 -2
  125. package/dist/flare/artifacts/contracts/inflation/lib/RewardService.sol/RewardService.json +2 -2
  126. package/dist/flare/artifacts/contracts/inflation/lib/RewardServices.sol/RewardServices.json +2 -2
  127. package/dist/flare/artifacts/contracts/token/implementation/Delegatable.sol/Delegatable.json +2 -2
  128. package/dist/flare/artifacts/contracts/token/implementation/GovernanceVotePower.sol/GovernanceVotePower.json +2 -2
  129. package/dist/flare/artifacts/contracts/token/implementation/VPContract.sol/VPContract.json +2 -2
  130. package/dist/flare/artifacts/contracts/token/implementation/VPToken.sol/VPToken.json +2 -2
  131. package/dist/flare/artifacts/contracts/token/implementation/WNat.sol/WNat.json +2 -2
  132. package/dist/flare/artifacts/contracts/token/lib/DelegationHistory.sol/DelegationHistory.json +2 -2
  133. package/dist/flare/artifacts/contracts/token/lib/ExplicitDelegation.sol/ExplicitDelegation.json +2 -2
  134. package/dist/flare/artifacts/contracts/token/lib/PercentageDelegation.sol/PercentageDelegation.json +2 -2
  135. package/dist/flare/artifacts/contracts/tokenPools/implementation/AttestationProviderRewardManager.sol/AttestationProviderRewardManager.json +2 -2
  136. package/dist/flare/artifacts/contracts/tokenPools/implementation/DistributionToDelegators.sol/DistributionToDelegators.json +2 -2
  137. package/dist/flare/artifacts/contracts/tokenPools/implementation/Escrow.sol/Escrow.json +2 -2
  138. package/dist/flare/artifacts/contracts/tokenPools/implementation/FtsoRewardManager.sol/FtsoRewardManager.json +2 -2
  139. package/dist/flare/artifacts/contracts/tokenPools/implementation/IncentivePool.sol/IncentivePool.json +2 -2
  140. package/dist/flare/artifacts/contracts/tokenPools/implementation/IncentivePoolAllocation.sol/IncentivePoolAllocation.json +2 -2
  141. package/dist/flare/artifacts/contracts/tokenPools/implementation/ValidatorRewardManager.sol/ValidatorRewardManager.json +2 -2
  142. package/dist/flare/artifacts/contracts/tokenPools/lib/IncentivePoolAnnum.sol/IncentivePoolAnnum.json +2 -2
  143. package/dist/flare/artifacts/contracts/tokenPools/lib/IncentivePoolAnnums.sol/IncentivePoolAnnums.json +2 -2
  144. package/dist/flare/artifacts/contracts/tokenPools/lib/IncentivePoolRewardService.sol/IncentivePoolRewardService.json +2 -2
  145. package/dist/flare/artifacts/contracts/tokenPools/lib/IncentivePoolRewardServices.sol/IncentivePoolRewardServices.json +2 -2
  146. package/dist/flare/artifacts/contracts/utils/implementation/FundDistributor.sol/FundDistributor.json +2 -2
  147. package/dist/flare/artifacts/contracts/utils/implementation/GovernedAndFlareDaemonized.sol/GovernedAndFlareDaemonized.json +2 -2
  148. package/dist/flare/artifacts/contracts/utils/implementation/SafePct.sol/SafePct.json +2 -2
  149. package/dist/flare/artifacts/contracts/utils/implementation/VoterWhitelister.sol/VoterWhitelister.json +126 -3
  150. package/dist/flare/artifacts/contracts/utils/interface/IIVoterWhitelister.sol/IIVoterWhitelister.json +72 -0
  151. package/dist/flare/deploys/contractAddresses.d.ts +2 -0
  152. package/dist/flare/deploys/contractAddresses.d.ts.map +1 -1
  153. package/dist/flare/deploys/contractAddresses.js +3 -1
  154. package/dist/flare/deploys/contractAddresses.js.map +1 -1
  155. package/dist/flare/deploys/flare.json +222 -0
  156. package/dist/package.json +28 -0
  157. package/dist/songbird/abis.songbird.d.ts.map +1 -1
  158. package/dist/songbird/abis.songbird.js +14 -4
  159. package/dist/songbird/abis.songbird.js.map +1 -1
  160. package/dist/songbird/artifacts/contracts/assetRegistry/implementation/FlareAssetRegistry.sol/FlareAssetRegistry.json +525 -0
  161. package/dist/songbird/artifacts/contracts/assetRegistry/implementation/WNatRegistryProvider.sol/WNatRegistryProvider.json +113 -0
  162. package/dist/songbird/artifacts/contracts/assetRegistry/interface/IIERC20WithMetadata.sol/IIERC20WithMetadata.json +233 -0
  163. package/dist/songbird/artifacts/contracts/assetRegistry/interface/IIFlareAssetRegistry.sol/IIFlareAssetRegistry.json +316 -0
  164. package/dist/songbird/artifacts/contracts/assetRegistry/interface/IIFlareAssetRegistryProvider.sol/IIFlareAssetRegistryProvider.json +66 -0
  165. package/dist/songbird/artifacts/contracts/assetRegistry/lib/StandardAttributes.sol/StandardAttributes.json +10 -0
  166. package/dist/songbird/artifacts/contracts/claiming/implementation/ClaimSetupManager.sol/ClaimSetupManager.json +2 -2
  167. package/dist/songbird/artifacts/contracts/claiming/implementation/DelegationAccount.sol/DelegationAccount.json +2 -2
  168. package/dist/songbird/artifacts/contracts/ftso/implementation/Ftso.sol/Ftso.json +2 -2
  169. package/dist/songbird/artifacts/contracts/ftso/implementation/FtsoManager.sol/FtsoManager.json +3 -3
  170. package/dist/songbird/artifacts/contracts/ftso/lib/FtsoEpoch.sol/FtsoEpoch.json +2 -2
  171. package/dist/songbird/artifacts/contracts/ftso/lib/FtsoManagement.sol/FtsoManagement.json +2 -2
  172. package/dist/songbird/artifacts/contracts/ftso/lib/FtsoVote.sol/FtsoVote.json +2 -2
  173. package/dist/songbird/artifacts/contracts/ftso/priceProviderMockContracts/PriceProviderMockContracts.sol/MockFtsoRegistry.json +2 -2
  174. package/dist/songbird/artifacts/contracts/ftso/priceProviderMockContracts/PriceProviderMockContracts.sol/MockPriceSubmitter.json +2 -2
  175. package/dist/songbird/artifacts/contracts/ftso/priceProviderMockContracts/PriceProviderMockContracts.sol/MockVoterWhitelister.json +40 -2
  176. package/dist/songbird/artifacts/contracts/genesis/implementation/FlareDaemon.sol/FlareDaemon.json +2 -2
  177. package/dist/songbird/artifacts/contracts/governance/implementation/InflationAllocation.sol/InflationAllocation.json +2 -2
  178. package/dist/songbird/artifacts/contracts/governance/implementation/PollingFoundation.sol/PollingFoundation.json +2 -2
  179. package/dist/songbird/artifacts/contracts/governance/implementation/PollingFtso.sol/PollingFtso.json +1187 -0
  180. package/dist/songbird/artifacts/contracts/inflation/implementation/Inflation.sol/Inflation.json +2 -2
  181. package/dist/songbird/artifacts/contracts/inflation/lib/InflationAnnum.sol/InflationAnnum.json +2 -2
  182. package/dist/songbird/artifacts/contracts/inflation/lib/InflationAnnums.sol/InflationAnnums.json +2 -2
  183. package/dist/songbird/artifacts/contracts/inflation/lib/RewardService.sol/RewardService.json +2 -2
  184. package/dist/songbird/artifacts/contracts/inflation/lib/RewardServices.sol/RewardServices.json +2 -2
  185. package/dist/songbird/artifacts/contracts/token/implementation/CleanupBlockNumberManager.sol/CleanupBlockNumberManager.json +172 -37
  186. package/dist/songbird/artifacts/contracts/token/implementation/Delegatable.sol/Delegatable.json +2 -2
  187. package/dist/songbird/artifacts/contracts/token/implementation/GovernanceVotePower.sol/GovernanceVotePower.json +2 -2
  188. package/dist/songbird/artifacts/contracts/token/implementation/VPContract.sol/VPContract.json +2 -2
  189. package/dist/songbird/artifacts/contracts/token/implementation/VPToken.sol/VPToken.json +2 -2
  190. package/dist/songbird/artifacts/contracts/token/implementation/WNat.sol/WNat.json +2 -2
  191. package/dist/songbird/artifacts/contracts/token/lib/DelegationHistory.sol/DelegationHistory.json +2 -2
  192. package/dist/songbird/artifacts/contracts/token/lib/ExplicitDelegation.sol/ExplicitDelegation.json +2 -2
  193. package/dist/songbird/artifacts/contracts/token/lib/PercentageDelegation.sol/PercentageDelegation.json +2 -2
  194. package/dist/songbird/artifacts/contracts/tokenPools/implementation/FtsoRewardManager.sol/FtsoRewardManager.json +523 -138
  195. package/dist/songbird/artifacts/contracts/tokenPools/interface/IIFtsoRewardManager.sol/IIFtsoRewardManager.json +322 -0
  196. package/dist/songbird/artifacts/contracts/utils/implementation/FtsoV2Upgrader.sol/FtsoV2Upgrader.json +2 -2
  197. package/dist/songbird/artifacts/contracts/utils/implementation/GovernedAndFlareDaemonized.sol/GovernedAndFlareDaemonized.json +2 -2
  198. package/dist/songbird/artifacts/contracts/utils/implementation/GovernedAndFlareDaemonizedV2.sol/GovernedAndFlareDaemonizedV2.json +2 -2
  199. package/dist/songbird/artifacts/contracts/utils/implementation/SafePct.sol/SafePct.json +2 -2
  200. package/dist/songbird/artifacts/contracts/utils/implementation/VoterWhitelister.sol/VoterWhitelister.json +276 -41
  201. package/dist/songbird/artifacts/contracts/utils/interface/IIVoterWhitelister.sol/IIVoterWhitelister.json +72 -0
  202. package/dist/songbird/deploys/contractAddresses.d.ts +5 -0
  203. package/dist/songbird/deploys/contractAddresses.d.ts.map +1 -1
  204. package/dist/songbird/deploys/contractAddresses.js +8 -3
  205. package/dist/songbird/deploys/contractAddresses.js.map +1 -1
  206. package/dist/songbird/deploys/songbird.json +172 -0
  207. package/package.json +1 -1
  208. package/dist/coston/artifacts/contracts/tokenPools/implementation/Distribution.sol/Distribution.json +0 -414
  209. package/dist/coston/artifacts/contracts/tokenPools/interface/IIFtsoRewardManagerV2.sol/IIFtsoRewardManagerV2.json +0 -949
  210. package/dist/songbird/artifacts/contracts/tokenPools/implementation/Distribution.sol/Distribution.json +0 -414
  211. package/dist/songbird/artifacts/contracts/tokenPools/interface/IIFtsoRewardManagerV2.sol/IIFtsoRewardManagerV2.json +0 -949
@@ -9,6 +9,16 @@
9
9
  "internalType": "address",
10
10
  "name": "_governance",
11
11
  "type": "address"
12
+ },
13
+ {
14
+ "internalType": "address",
15
+ "name": "_addressUpdater",
16
+ "type": "address"
17
+ },
18
+ {
19
+ "internalType": "string",
20
+ "name": "_triggerContractName",
21
+ "type": "string"
12
22
  }
13
23
  ],
14
24
  "stateMutability": "nonpayable",
@@ -44,12 +54,24 @@
44
54
  "inputs": [
45
55
  {
46
56
  "indexed": false,
47
- "internalType": "address",
48
- "name": "proposedGovernance",
49
- "type": "address"
57
+ "internalType": "bytes4",
58
+ "name": "selector",
59
+ "type": "bytes4"
60
+ },
61
+ {
62
+ "indexed": false,
63
+ "internalType": "uint256",
64
+ "name": "allowedAfterTimestamp",
65
+ "type": "uint256"
66
+ },
67
+ {
68
+ "indexed": false,
69
+ "internalType": "bytes",
70
+ "name": "encodedCall",
71
+ "type": "bytes"
50
72
  }
51
73
  ],
52
- "name": "GovernanceProposed",
74
+ "name": "GovernanceCallTimelocked",
53
75
  "type": "event"
54
76
  },
55
77
  {
@@ -58,17 +80,24 @@
58
80
  {
59
81
  "indexed": false,
60
82
  "internalType": "address",
61
- "name": "oldGovernance",
83
+ "name": "initialGovernance",
62
84
  "type": "address"
63
- },
85
+ }
86
+ ],
87
+ "name": "GovernanceInitialised",
88
+ "type": "event"
89
+ },
90
+ {
91
+ "anonymous": false,
92
+ "inputs": [
64
93
  {
65
94
  "indexed": false,
66
95
  "internalType": "address",
67
- "name": "newGoveranance",
96
+ "name": "governanceSettings",
68
97
  "type": "address"
69
98
  }
70
99
  ],
71
- "name": "GovernanceUpdated",
100
+ "name": "GovernedProductionModeEntered",
72
101
  "type": "event"
73
102
  },
74
103
  {
@@ -91,12 +120,82 @@
91
120
  "type": "event"
92
121
  },
93
122
  {
94
- "inputs": [],
95
- "name": "claimGovernance",
123
+ "anonymous": false,
124
+ "inputs": [
125
+ {
126
+ "indexed": false,
127
+ "internalType": "bytes4",
128
+ "name": "selector",
129
+ "type": "bytes4"
130
+ },
131
+ {
132
+ "indexed": false,
133
+ "internalType": "uint256",
134
+ "name": "timestamp",
135
+ "type": "uint256"
136
+ }
137
+ ],
138
+ "name": "TimelockedGovernanceCallCanceled",
139
+ "type": "event"
140
+ },
141
+ {
142
+ "anonymous": false,
143
+ "inputs": [
144
+ {
145
+ "indexed": false,
146
+ "internalType": "bytes4",
147
+ "name": "selector",
148
+ "type": "bytes4"
149
+ },
150
+ {
151
+ "indexed": false,
152
+ "internalType": "uint256",
153
+ "name": "timestamp",
154
+ "type": "uint256"
155
+ }
156
+ ],
157
+ "name": "TimelockedGovernanceCallExecuted",
158
+ "type": "event"
159
+ },
160
+ {
161
+ "inputs": [
162
+ {
163
+ "internalType": "bytes4",
164
+ "name": "_selector",
165
+ "type": "bytes4"
166
+ }
167
+ ],
168
+ "name": "cancelGovernanceCall",
96
169
  "outputs": [],
97
170
  "stateMutability": "nonpayable",
98
171
  "type": "function"
99
172
  },
173
+ {
174
+ "inputs": [
175
+ {
176
+ "internalType": "bytes4",
177
+ "name": "_selector",
178
+ "type": "bytes4"
179
+ }
180
+ ],
181
+ "name": "executeGovernanceCall",
182
+ "outputs": [],
183
+ "stateMutability": "nonpayable",
184
+ "type": "function"
185
+ },
186
+ {
187
+ "inputs": [],
188
+ "name": "getAddressUpdater",
189
+ "outputs": [
190
+ {
191
+ "internalType": "address",
192
+ "name": "_addressUpdater",
193
+ "type": "address"
194
+ }
195
+ ],
196
+ "stateMutability": "view",
197
+ "type": "function"
198
+ },
100
199
  {
101
200
  "inputs": [],
102
201
  "name": "governance",
@@ -111,39 +210,39 @@
111
210
  "type": "function"
112
211
  },
113
212
  {
114
- "inputs": [
213
+ "inputs": [],
214
+ "name": "governanceSettings",
215
+ "outputs": [
115
216
  {
116
- "internalType": "address",
117
- "name": "_governance",
217
+ "internalType": "contract IGovernanceSettings",
218
+ "name": "",
118
219
  "type": "address"
119
220
  }
120
221
  ],
121
- "name": "initialise",
122
- "outputs": [],
123
- "stateMutability": "nonpayable",
222
+ "stateMutability": "view",
124
223
  "type": "function"
125
224
  },
126
225
  {
127
226
  "inputs": [
128
227
  {
129
228
  "internalType": "address",
130
- "name": "_governance",
229
+ "name": "_initialGovernance",
131
230
  "type": "address"
132
231
  }
133
232
  ],
134
- "name": "proposeGovernance",
233
+ "name": "initialise",
135
234
  "outputs": [],
136
235
  "stateMutability": "nonpayable",
137
236
  "type": "function"
138
237
  },
139
238
  {
140
239
  "inputs": [],
141
- "name": "proposedGovernance",
240
+ "name": "productionMode",
142
241
  "outputs": [
143
242
  {
144
- "internalType": "address",
243
+ "internalType": "bool",
145
244
  "name": "",
146
- "type": "address"
245
+ "type": "bool"
147
246
  }
148
247
  ],
149
248
  "stateMutability": "view",
@@ -195,14 +294,8 @@
195
294
  "type": "function"
196
295
  },
197
296
  {
198
- "inputs": [
199
- {
200
- "internalType": "address",
201
- "name": "_triggerContract",
202
- "type": "address"
203
- }
204
- ],
205
- "name": "setTriggerContractAddress",
297
+ "inputs": [],
298
+ "name": "switchToProductionMode",
206
299
  "outputs": [],
207
300
  "stateMutability": "nonpayable",
208
301
  "type": "function"
@@ -210,14 +303,25 @@
210
303
  {
211
304
  "inputs": [
212
305
  {
213
- "internalType": "address",
214
- "name": "_governance",
215
- "type": "address"
306
+ "internalType": "bytes4",
307
+ "name": "",
308
+ "type": "bytes4"
216
309
  }
217
310
  ],
218
- "name": "transferGovernance",
219
- "outputs": [],
220
- "stateMutability": "nonpayable",
311
+ "name": "timelockedCalls",
312
+ "outputs": [
313
+ {
314
+ "internalType": "uint256",
315
+ "name": "allowedAfterTimestamp",
316
+ "type": "uint256"
317
+ },
318
+ {
319
+ "internalType": "bytes",
320
+ "name": "encodedCall",
321
+ "type": "bytes"
322
+ }
323
+ ],
324
+ "stateMutability": "view",
221
325
  "type": "function"
222
326
  },
223
327
  {
@@ -233,6 +337,19 @@
233
337
  "stateMutability": "view",
234
338
  "type": "function"
235
339
  },
340
+ {
341
+ "inputs": [],
342
+ "name": "triggerContractName",
343
+ "outputs": [
344
+ {
345
+ "internalType": "string",
346
+ "name": "",
347
+ "type": "string"
348
+ }
349
+ ],
350
+ "stateMutability": "view",
351
+ "type": "function"
352
+ },
236
353
  {
237
354
  "inputs": [
238
355
  {
@@ -245,10 +362,28 @@
245
362
  "outputs": [],
246
363
  "stateMutability": "nonpayable",
247
364
  "type": "function"
365
+ },
366
+ {
367
+ "inputs": [
368
+ {
369
+ "internalType": "bytes32[]",
370
+ "name": "_contractNameHashes",
371
+ "type": "bytes32[]"
372
+ },
373
+ {
374
+ "internalType": "address[]",
375
+ "name": "_contractAddresses",
376
+ "type": "address[]"
377
+ }
378
+ ],
379
+ "name": "updateContractAddresses",
380
+ "outputs": [],
381
+ "stateMutability": "nonpayable",
382
+ "type": "function"
248
383
  }
249
384
  ],
250
- "bytecode": "0x608060405234801561001057600080fd5b50604051610cfc380380610cfc8339818101604052602081101561003357600080fd5b505180806001600160a01b0381161561004f5761004f816100a5565b506001600160a01b03811661009e576040805162461bcd60e51b815260206004820152601060248201526f5f676f7665726e616e6365207a65726f60801b604482015290519081900360640190fd5b5050610188565b600154600160a01b900460ff1615610104576040805162461bcd60e51b815260206004820152601460248201527f696e697469616c6973656420213d2066616c7365000000000000000000000000604482015290519081900360640190fd5b6001805460ff60a01b1916600160a01b179055600054604080516001600160a01b039283168152918316602083015280517f434a2db650703b36c824e745330d6397cdaa9ee2cc891a4938ae853e1c50b68d9281900390910190a1600080546001600160a01b039092166001600160a01b0319928316179055600180549091169055565b610b65806101976000396000f3fe608060405234801561001057600080fd5b50600436106100b45760003560e01c80639a0ba2ea116100715780639a0ba2ea146101615780639d6a890f1461017e578063c373a08e146101a4578063cbc31cf7146101ca578063d2b799ad146101e7578063d38bfff4146101ef576100b4565b806309824a80146100b95780632bcd9f94146100e15780635aa6e675146101075780635d36b1901461012b57806360f7ac971461013357806377860cdd1461013b575b600080fd5b6100df600480360360208110156100cf57600080fd5b50356001600160a01b0316610215565b005b6100df600480360360208110156100f757600080fd5b50356001600160a01b0316610340565b61010f6103b3565b604080516001600160a01b039092168252519081900360200190f35b6100df6103c2565b61010f610484565b6100df6004803603602081101561015157600080fd5b50356001600160a01b0316610493565b61010f6004803603602081101561017757600080fd5b50356106b6565b6100df6004803603602081101561019457600080fd5b50356001600160a01b03166106e0565b6100df600480360360208110156101ba57600080fd5b50356001600160a01b03166107ba565b6100df600480360360208110156101e057600080fd5b503561085f565b61010f610a5e565b6100df6004803603602081101561020557600080fd5b50356001600160a01b0316610a6d565b6000546001600160a01b03163314610266576040805162461bcd60e51b815260206004820152600f60248201526e6f6e6c7920676f7665726e616e636560881b604482015290519081900360640190fd5b60025460005b818110156102af576002818154811061028157fe5b6000918252602090912001546001600160a01b03848116911614156102a757505061033d565b60010161026c565b5060028054600180820183556000929092527f405787fa12a823e0f2b7631cc41b3ba8828b3321ca811111fa75cd3aa3bb5ace0180546001600160a01b0319166001600160a01b03851690811790915560408051918252602082019290925281517f86d03f430c7616021073d7a71766f632f1ce19f289aa989534d9f4732253eb59929181900390910190a1505b50565b6000546001600160a01b03163314610391576040805162461bcd60e51b815260206004820152600f60248201526e6f6e6c7920676f7665726e616e636560881b604482015290519081900360640190fd5b600380546001600160a01b0319166001600160a01b0392909216919091179055565b6000546001600160a01b031681565b6001546001600160a01b03163314610411576040805162461bcd60e51b815260206004820152600d60248201526c1b9bdd0818db185a5b585a5b9d609a1b604482015290519081900360640190fd5b600054600154604080516001600160a01b03938416815292909116602083015280517f434a2db650703b36c824e745330d6397cdaa9ee2cc891a4938ae853e1c50b68d9281900390910190a160018054600080546001600160a01b03199081166001600160a01b03841617909155169055565b6001546001600160a01b031681565b6000546001600160a01b031633146104e4576040805162461bcd60e51b815260206004820152600f60248201526e6f6e6c7920676f7665726e616e636560881b604482015290519081900360640190fd5b60025460005b8181101561060657600281815481106104ff57fe5b6000918252602090912001546001600160a01b03848116911614156105fe576002600183038154811061052e57fe5b600091825260209091200154600280546001600160a01b03909216918390811061055457fe5b9060005260206000200160006101000a8154816001600160a01b0302191690836001600160a01b03160217905550600280548061058d57fe5b60008281526020808220830160001990810180546001600160a01b0319169055909201909255604080516001600160a01b03871681529182019290925281517f86d03f430c7616021073d7a71766f632f1ce19f289aa989534d9f4732253eb59929181900390910190a1505061033d565b6001016104ea565b506040518060400160405280601281526020017118dbdb9d1c9858dd081b9bdd08199bdd5b9960721b81525060405162461bcd60e51b81526004018080602001828103825283818151815260200191508051906020019080838360005b8381101561067b578181015183820152602001610663565b50505050905090810190601f1680156106a85780820380516001836020036101000a031916815260200191505b509250505060405180910390fd5b600281815481106106c657600080fd5b6000918252602090912001546001600160a01b0316905081565b600154600160a01b900460ff1615610736576040805162461bcd60e51b8152602060048201526014602482015273696e697469616c6973656420213d2066616c736560601b604482015290519081900360640190fd5b6001805460ff60a01b1916600160a01b179055600054604080516001600160a01b039283168152918316602083015280517f434a2db650703b36c824e745330d6397cdaa9ee2cc891a4938ae853e1c50b68d9281900390910190a1600080546001600160a01b039092166001600160a01b0319928316179055600180549091169055565b6000546001600160a01b0316331461080b576040805162461bcd60e51b815260206004820152600f60248201526e6f6e6c7920676f7665726e616e636560881b604482015290519081900360640190fd5b600180546001600160a01b0383166001600160a01b0319909116811790915560408051918252517f1f95fb40be3a947982072902a887b521248d1d8931a39eb38f84f4d6fd758b699181900360200190a150565b6003546001600160a01b031633148061088257506000546001600160a01b031633145b6040518060400160405280601a81526020017f74726967676572206f7220676f7665726e616e6365206f6e6c79000000000000815250906109045760405162461bcd60e51b815260206004820181815283516024840152835190928392604490910191908501908083836000831561067b578181015183820152602001610663565b5060025460005b81811015610a59576002818154811061092057fe5b6000918252602082200154604080516313de97f560e01b81526004810187905290516001600160a01b03909216926313de97f59260248084019382900301818387803b15801561096f57600080fd5b505af1925050508015610980575060015b6109ed577f6e31dc4aae4e8c2369947a8179952c1929b7af7bc75f57e71ebce5d37e62eae7600282815481106109b257fe5b6000918252602080832090910154604080516001600160a01b03909216825291810187905280820192909252519081900360600190a1610a51565b7f6e31dc4aae4e8c2369947a8179952c1929b7af7bc75f57e71ebce5d37e62eae760028281548110610a1b57fe5b60009182526020918290200154604080516001600160a01b03909216825291810186905260018183015290519081900360600190a15b60010161090b565b505050565b6003546001600160a01b031681565b6000546001600160a01b03163314610abe576040805162461bcd60e51b815260206004820152600f60248201526e6f6e6c7920676f7665726e616e636560881b604482015290519081900360640190fd5b600054604080516001600160a01b039283168152918316602083015280517f434a2db650703b36c824e745330d6397cdaa9ee2cc891a4938ae853e1c50b68d9281900390910190a1600080546001600160a01b039092166001600160a01b031992831617905560018054909116905556fea26469706673582212206f9e88550546e86ba683582b071ae000db2f9b258147d6d8520dc4be6554f92c64736f6c63430007060033",
251
- "deployedBytecode": "0x608060405234801561001057600080fd5b50600436106100b45760003560e01c80639a0ba2ea116100715780639a0ba2ea146101615780639d6a890f1461017e578063c373a08e146101a4578063cbc31cf7146101ca578063d2b799ad146101e7578063d38bfff4146101ef576100b4565b806309824a80146100b95780632bcd9f94146100e15780635aa6e675146101075780635d36b1901461012b57806360f7ac971461013357806377860cdd1461013b575b600080fd5b6100df600480360360208110156100cf57600080fd5b50356001600160a01b0316610215565b005b6100df600480360360208110156100f757600080fd5b50356001600160a01b0316610340565b61010f6103b3565b604080516001600160a01b039092168252519081900360200190f35b6100df6103c2565b61010f610484565b6100df6004803603602081101561015157600080fd5b50356001600160a01b0316610493565b61010f6004803603602081101561017757600080fd5b50356106b6565b6100df6004803603602081101561019457600080fd5b50356001600160a01b03166106e0565b6100df600480360360208110156101ba57600080fd5b50356001600160a01b03166107ba565b6100df600480360360208110156101e057600080fd5b503561085f565b61010f610a5e565b6100df6004803603602081101561020557600080fd5b50356001600160a01b0316610a6d565b6000546001600160a01b03163314610266576040805162461bcd60e51b815260206004820152600f60248201526e6f6e6c7920676f7665726e616e636560881b604482015290519081900360640190fd5b60025460005b818110156102af576002818154811061028157fe5b6000918252602090912001546001600160a01b03848116911614156102a757505061033d565b60010161026c565b5060028054600180820183556000929092527f405787fa12a823e0f2b7631cc41b3ba8828b3321ca811111fa75cd3aa3bb5ace0180546001600160a01b0319166001600160a01b03851690811790915560408051918252602082019290925281517f86d03f430c7616021073d7a71766f632f1ce19f289aa989534d9f4732253eb59929181900390910190a1505b50565b6000546001600160a01b03163314610391576040805162461bcd60e51b815260206004820152600f60248201526e6f6e6c7920676f7665726e616e636560881b604482015290519081900360640190fd5b600380546001600160a01b0319166001600160a01b0392909216919091179055565b6000546001600160a01b031681565b6001546001600160a01b03163314610411576040805162461bcd60e51b815260206004820152600d60248201526c1b9bdd0818db185a5b585a5b9d609a1b604482015290519081900360640190fd5b600054600154604080516001600160a01b03938416815292909116602083015280517f434a2db650703b36c824e745330d6397cdaa9ee2cc891a4938ae853e1c50b68d9281900390910190a160018054600080546001600160a01b03199081166001600160a01b03841617909155169055565b6001546001600160a01b031681565b6000546001600160a01b031633146104e4576040805162461bcd60e51b815260206004820152600f60248201526e6f6e6c7920676f7665726e616e636560881b604482015290519081900360640190fd5b60025460005b8181101561060657600281815481106104ff57fe5b6000918252602090912001546001600160a01b03848116911614156105fe576002600183038154811061052e57fe5b600091825260209091200154600280546001600160a01b03909216918390811061055457fe5b9060005260206000200160006101000a8154816001600160a01b0302191690836001600160a01b03160217905550600280548061058d57fe5b60008281526020808220830160001990810180546001600160a01b0319169055909201909255604080516001600160a01b03871681529182019290925281517f86d03f430c7616021073d7a71766f632f1ce19f289aa989534d9f4732253eb59929181900390910190a1505061033d565b6001016104ea565b506040518060400160405280601281526020017118dbdb9d1c9858dd081b9bdd08199bdd5b9960721b81525060405162461bcd60e51b81526004018080602001828103825283818151815260200191508051906020019080838360005b8381101561067b578181015183820152602001610663565b50505050905090810190601f1680156106a85780820380516001836020036101000a031916815260200191505b509250505060405180910390fd5b600281815481106106c657600080fd5b6000918252602090912001546001600160a01b0316905081565b600154600160a01b900460ff1615610736576040805162461bcd60e51b8152602060048201526014602482015273696e697469616c6973656420213d2066616c736560601b604482015290519081900360640190fd5b6001805460ff60a01b1916600160a01b179055600054604080516001600160a01b039283168152918316602083015280517f434a2db650703b36c824e745330d6397cdaa9ee2cc891a4938ae853e1c50b68d9281900390910190a1600080546001600160a01b039092166001600160a01b0319928316179055600180549091169055565b6000546001600160a01b0316331461080b576040805162461bcd60e51b815260206004820152600f60248201526e6f6e6c7920676f7665726e616e636560881b604482015290519081900360640190fd5b600180546001600160a01b0383166001600160a01b0319909116811790915560408051918252517f1f95fb40be3a947982072902a887b521248d1d8931a39eb38f84f4d6fd758b699181900360200190a150565b6003546001600160a01b031633148061088257506000546001600160a01b031633145b6040518060400160405280601a81526020017f74726967676572206f7220676f7665726e616e6365206f6e6c79000000000000815250906109045760405162461bcd60e51b815260206004820181815283516024840152835190928392604490910191908501908083836000831561067b578181015183820152602001610663565b5060025460005b81811015610a59576002818154811061092057fe5b6000918252602082200154604080516313de97f560e01b81526004810187905290516001600160a01b03909216926313de97f59260248084019382900301818387803b15801561096f57600080fd5b505af1925050508015610980575060015b6109ed577f6e31dc4aae4e8c2369947a8179952c1929b7af7bc75f57e71ebce5d37e62eae7600282815481106109b257fe5b6000918252602080832090910154604080516001600160a01b03909216825291810187905280820192909252519081900360600190a1610a51565b7f6e31dc4aae4e8c2369947a8179952c1929b7af7bc75f57e71ebce5d37e62eae760028281548110610a1b57fe5b60009182526020918290200154604080516001600160a01b03909216825291810186905260018183015290519081900360600190a15b60010161090b565b505050565b6003546001600160a01b031681565b6000546001600160a01b03163314610abe576040805162461bcd60e51b815260206004820152600f60248201526e6f6e6c7920676f7665726e616e636560881b604482015290519081900360640190fd5b600054604080516001600160a01b039283168152918316602083015280517f434a2db650703b36c824e745330d6397cdaa9ee2cc891a4938ae853e1c50b68d9281900390910190a1600080546001600160a01b039092166001600160a01b031992831617905560018054909116905556fea26469706673582212206f9e88550546e86ba683582b071ae000db2f9b258147d6d8520dc4be6554f92c64736f6c63430007060033",
385
+ "bytecode": "0x60806040523480156200001157600080fd5b5060405162001b1238038062001b12833981810160405260608110156200003757600080fd5b815160208301516040808501805191519395929483019291846401000000008211156200006357600080fd5b9083019060208201858111156200007957600080fd5b82516401000000008111828201881017156200009457600080fd5b82525081516020918201929091019080838360005b83811015620000c3578181015183820152602001620000a9565b50505050905090810190601f168015620000f15780820380516001836020036101000a031916815260200191505b5060405250839150849050806001600160a01b038116156200011857620001188162000194565b506001600160a01b03811662000168576040805162461bcd60e51b815260206004820152601060248201526f5f676f7665726e616e6365207a65726f60801b604482015290519081900360640190fd5b50620001748162000257565b5080516200018a9060049060208401906200027b565b5050505062000327565b600054600160a01b900460ff1615620001f4576040805162461bcd60e51b815260206004820152601460248201527f696e697469616c6973656420213d2066616c7365000000000000000000000000604482015290519081900360640190fd5b60008054600160a01b60ff60a01b19909116176001600160a01b0319166001600160a01b03831690811790915560408051918252517f9789733827840833afc031fb2ef9ab6894271f77bad2085687cf4ae5c7bee4db916020908290030190a150565b7f714f205b2abd25bef1d06a1af944e38c113fe6160375c4e1d6d5cf28848e771955565b828054600181600116156101000203166002900490600052602060002090601f016020900481019282620002b35760008555620002fe565b82601f10620002ce57805160ff1916838001178555620002fe565b82800160010185558215620002fe579182015b82811115620002fe578251825591602001919060010190620002e1565b506200030c92915062000310565b5090565b5b808211156200030c576000815560010162000311565b6117db80620003376000396000f3fe608060405234801561001057600080fd5b50600436106101005760003560e01c80639a0ba2ea11610097578063cbc31cf711610066578063cbc31cf714610462578063d2b799ad1461047f578063e17f212e14610487578063f5a98383146104a357610100565b80639a0ba2ea1461027b5780639d6a890f14610298578063b00c0b76146102be578063c1ce5578146103e557610100565b806362354e03116100d357806362354e031461018057806367fc40291461018857806374e6310e146101af57806377860cdd1461025557610100565b806309824a80146101055780635267a15d1461012d5780635aa6e675146101515780635ff2707914610159575b600080fd5b61012b6004803603602081101561011b57600080fd5b50356001600160a01b03166104ab565b005b6101356105c4565b604080516001600160a01b039092168252519081900360200190f35b6101356105e9565b61012b6004803603602081101561016f57600080fd5b50356001600160e01b03191661068b565b6101356109ed565b61012b6004803603602081101561019e57600080fd5b50356001600160e01b031916610a05565b6101d6600480360360208110156101c557600080fd5b50356001600160e01b031916610aed565b6040518083815260200180602001828103825283818151815260200191508051906020019080838360005b83811015610219578181015183820152602001610201565b50505050905090810190601f1680156102465780820380516001836020036101000a031916815260200191505b50935050505060405180910390f35b61012b6004803603602081101561026b57600080fd5b50356001600160a01b0316610b93565b6101356004803603602081101561029157600080fd5b5035610d94565b61012b600480360360208110156102ae57600080fd5b50356001600160a01b0316610dbe565b61012b600480360360408110156102d457600080fd5b8101906020810181356401000000008111156102ef57600080fd5b82018360208201111561030157600080fd5b8035906020019184602083028401116401000000008311171561032357600080fd5b919080806020026020016040519081016040528093929190818152602001838360200280828437600092019190915250929594936020810193503591505064010000000081111561037357600080fd5b82018360208201111561038557600080fd5b803590602001918460208302840111640100000000831117156103a757600080fd5b919080806020026020016040519081016040528093929190818152602001838360200280828437600092019190915250929550610e77945050505050565b6103ed610f22565b6040805160208082528351818301528351919283929083019185019080838360005b8381101561042757818101518382015260200161040f565b50505050905090810190601f1680156104545780820380516001836020036101000a031916815260200191505b509250505060405180910390f35b61012b6004803603602081101561047857600080fd5b5035610fb0565b61013561118b565b61048f61119a565b604080519115158252519081900360200190f35b61012b6111aa565b600054600160b01b900460ff16806104cd5750600054600160a81b900460ff16155b156105b6576104da611271565b60025460005b8181101561052357600281815481106104f557fe5b6000918252602090912001546001600160a01b038481169116141561051b5750506105b1565b6001016104e0565b5060028054600180820183556000929092527f405787fa12a823e0f2b7631cc41b3ba8828b3321ca811111fa75cd3aa3bb5ace0180546001600160a01b0319166001600160a01b03851690811790915560408051918252602082019290925281517f86d03f430c7616021073d7a71766f632f1ce19f289aa989534d9f4732253eb59929181900390910190a1505b6105c1565b6105c16000366112a8565b50565b7f714f205b2abd25bef1d06a1af944e38c113fe6160375c4e1d6d5cf28848e77195490565b60008054600160a81b900460ff1661060c576000546001600160a01b0316610686565b73183faff6997c98a812a3b98748fc80241d08f3126001600160a01b031663732524946040518163ffffffff1660e01b815260040160206040518083038186803b15801561065957600080fd5b505afa15801561066d573d6000803e3d6000fd5b505050506040513d602081101561068357600080fd5b50515b905090565b60408051630debfda360e41b8152336004820152905173183faff6997c98a812a3b98748fc80241d08f3129163debfda30916024808301926020929190829003018186803b1580156106dc57600080fd5b505afa1580156106f0573d6000803e3d6000fd5b505050506040513d602081101561070657600080fd5b5051610749576040805162461bcd60e51b815260206004820152600d60248201526c37b7363c9032bc32b1baba37b960991b604482015290519081900360640190fd5b6001600160e01b03198116600090815260016020526040902080546107b5576040805162461bcd60e51b815260206004820152601a60248201527f74696d656c6f636b3a20696e76616c69642073656c6563746f72000000000000604482015290519081900360640190fd5b805442101561080b576040805162461bcd60e51b815260206004820152601960248201527f74696d656c6f636b3a206e6f7420616c6c6f7765642079657400000000000000604482015290519081900360640190fd5b6000816001018054600181600116156101000203166002900480601f0160208091040260200160405190810160405280929190818152602001828054600181600116156101000203166002900480156108a55780601f1061087a576101008083540402835291602001916108a5565b820191906000526020600020905b81548152906001019060200180831161088857829003601f168201915b5050506001600160e01b03198616600090815260016020819052604082208281559495509092506108d991508301826116c0565b50506000805460ff60b01b1916600160b01b178155604051825130918491819060208401908083835b602083106109215780518252601f199092019160209182019101610902565b6001836020036101000a0380198251168184511680821785525050505050509050019150506000604051808303816000865af19150503d8060008114610983576040519150601f19603f3d011682016040523d82523d6000602084013e610988565b606091505b50506000805460ff60b01b19169055604080516001600160e01b03198716815242602082015281519293507fa7326b57fc9cfe267aaea5e7f0b01757154d265620a0585819416ee9ddd2c438929081900390910190a16109e781611438565b50505050565b73183faff6997c98a812a3b98748fc80241d08f31281565b610a0d611455565b6001600160e01b03198116600090815260016020526040902054610a78576040805162461bcd60e51b815260206004820152601a60248201527f74696d656c6f636b3a20696e76616c69642073656c6563746f72000000000000604482015290519081900360640190fd5b604080516001600160e01b03198316815242602082015281517f7735b2391c38a81419c513e30ca578db7158eadd7101511b23e221c654d19cf8929181900390910190a16001600160e01b03198116600090815260016020819052604082208281559190610ae8908301826116c0565b505050565b600160208181526000928352604092839020805481840180548651600296821615610100026000190190911695909504601f81018590048502860185019096528585529094919392909190830182828015610b895780601f10610b5e57610100808354040283529160200191610b89565b820191906000526020600020905b815481529060010190602001808311610b6c57829003601f168201915b5050505050905082565b600054600160b01b900460ff1680610bb55750600054600160a81b900460ff16155b156105b657610bc2611271565b60025460005b81811015610ce45760028181548110610bdd57fe5b6000918252602090912001546001600160a01b0384811691161415610cdc5760026001830381548110610c0c57fe5b600091825260209091200154600280546001600160a01b039092169183908110610c3257fe5b9060005260206000200160006101000a8154816001600160a01b0302191690836001600160a01b031602179055506002805480610c6b57fe5b60008281526020808220830160001990810180546001600160a01b0319169055909201909255604080516001600160a01b03871681529182019290925281517f86d03f430c7616021073d7a71766f632f1ce19f289aa989534d9f4732253eb59929181900390910190a150506105b1565b600101610bc8565b506040518060400160405280601281526020017118dbdb9d1c9858dd081b9bdd08199bdd5b9960721b81525060405162461bcd60e51b81526004018080602001828103825283818151815260200191508051906020019080838360005b83811015610d59578181015183820152602001610d41565b50505050905090810190601f168015610d865780820380516001836020036101000a031916815260200191505b509250505060405180910390fd5b60028181548110610da457600080fd5b6000918252602090912001546001600160a01b0316905081565b600054600160a01b900460ff1615610e14576040805162461bcd60e51b8152602060048201526014602482015273696e697469616c6973656420213d2066616c736560601b604482015290519081900360640190fd5b60008054600160a01b60ff60a01b19909116176001600160a01b0319166001600160a01b03831690811790915560408051918252517f9789733827840833afc031fb2ef9ab6894271f77bad2085687cf4ae5c7bee4db916020908290030190a150565b610e7f6105c4565b6001600160a01b0316336001600160a01b031614610edb576040805162461bcd60e51b815260206004820152601460248201527337b7363c9030b2323932b9b9903ab83230ba32b960611b604482015290519081900360640190fd5b610f14610f0f83836040518060400160405280600e81526020016d20b2323932b9b9aab83230ba32b960911b8152506114b4565b6115e1565b610f1e8282611605565b5050565b6004805460408051602060026001851615610100026000190190941693909304601f81018490048402820184019092528181529291830182828015610fa85780601f10610f7d57610100808354040283529160200191610fa8565b820191906000526020600020905b815481529060010190602001808311610f8b57829003601f168201915b505050505081565b6003546040805180820190915260158152747472696767657220636f6e7472616374206f6e6c7960581b6020820152906001600160a01b031633146110365760405162461bcd60e51b8152602060048201818152835160248401528351909283926044909101919085019080838360008315610d59578181015183820152602001610d41565b5060025460005b81811015610ae8576002818154811061105257fe5b6000918252602082200154604080516313de97f560e01b81526004810187905290516001600160a01b03909216926313de97f59260248084019382900301818387803b1580156110a157600080fd5b505af19250505080156110b2575060015b61111f577f6e31dc4aae4e8c2369947a8179952c1929b7af7bc75f57e71ebce5d37e62eae7600282815481106110e457fe5b6000918252602080832090910154604080516001600160a01b03909216825291810187905280820192909252519081900360600190a1611183565b7f6e31dc4aae4e8c2369947a8179952c1929b7af7bc75f57e71ebce5d37e62eae76002828154811061114d57fe5b60009182526020918290200154604080516001600160a01b03909216825291810186905260018183015290519081900360600190a15b60010161103d565b6003546001600160a01b031681565b600054600160a81b900460ff1681565b6111b2611455565b600054600160a81b900460ff1615611211576040805162461bcd60e51b815260206004820152601a60248201527f616c726561647920696e2070726f64756374696f6e206d6f6465000000000000604482015290519081900360640190fd5b60008054600161ff0160a01b031916600160a81b1790556040805173183faff6997c98a812a3b98748fc80241d08f312815290517f83af113638b5422f9e977cebc0aaf0eaf2188eb9a8baae7f9d46c42b33a1560c9181900360200190a1565b600054600160b01b900460ff161561129e5733301461128c57fe5b6000805460ff60b01b191690556112a6565b6112a6611455565b565b6112b0611455565b600082359050600073183faff6997c98a812a3b98748fc80241d08f3126001600160a01b0316636221a54b6040518163ffffffff1660e01b815260040160206040518083038186803b15801561130557600080fd5b505afa158015611319573d6000803e3d6000fd5b505050506040513d602081101561132f57600080fd5b505160408051808201825242830180825282516020601f89018190048102820181019094528781529394509290918281019190889088908190840183828082843760009201829052509390945250506001600160e01b031986168152600160208181526040909220845181558483015180519194506113b393928501920190611704565b509050507fed948300a3694aa01d4a6b258bfd664350193d770c0b51f8387277f6d83ea3b68382878760405180856001600160e01b0319168152602001848152602001806020018281038252848482818152602001925080828437600083820152604051601f909101601f191690920182900397509095505050505050a15050505050565b3d604051818101604052816000823e8215611451578181f35b8181fd5b61145d6105e9565b6001600160a01b0316336001600160a01b0316146112a6576040805162461bcd60e51b815260206004820152600f60248201526e6f6e6c7920676f7665726e616e636560881b604482015290519081900360640190fd5b600080826040516020018080602001828103825283818151815260200191508051906020019080838360005b838110156114f85781810151838201526020016114e0565b50505050905090810190601f1680156115255780820380516001836020036101000a031916815260200191505b50925050506040516020818303038152906040528051906020012090506000805b865181101561158d5786818151811061155b57fe5b60200260200101518314156115855785818151811061157657fe5b6020026020010151915061158d565b600101611546565b506001600160a01b0381166115d8576040805162461bcd60e51b815260206004820152600c60248201526b61646472657373207a65726f60a01b604482015290519081900360640190fd5b95945050505050565b7f714f205b2abd25bef1d06a1af944e38c113fe6160375c4e1d6d5cf28848e771955565b60048054604080516020601f6002600019610100600188161502019095169490940493840181900481028201810190925282815261169c93869386938301828280156116925780601f1061166757610100808354040283529160200191611692565b820191906000526020600020905b81548152906001019060200180831161167557829003601f168201915b50505050506114b4565b600380546001600160a01b0319166001600160a01b03929092169190911790555050565b50805460018160011615610100020316600290046000825580601f106116e657506105c1565b601f0160209004906000526020600020908101906105c19190611790565b828054600181600116156101000203166002900490600052602060002090601f01602090048101928261173a5760008555611780565b82601f1061175357805160ff1916838001178555611780565b82800160010185558215611780579182015b82811115611780578251825591602001919060010190611765565b5061178c929150611790565b5090565b5b8082111561178c576000815560010161179156fea2646970667358221220339c2b92074575ace4778f41eb488234a6ae66d70dc460ced8aa2811fa2c52f164736f6c63430007060033",
386
+ "deployedBytecode": "0x608060405234801561001057600080fd5b50600436106101005760003560e01c80639a0ba2ea11610097578063cbc31cf711610066578063cbc31cf714610462578063d2b799ad1461047f578063e17f212e14610487578063f5a98383146104a357610100565b80639a0ba2ea1461027b5780639d6a890f14610298578063b00c0b76146102be578063c1ce5578146103e557610100565b806362354e03116100d357806362354e031461018057806367fc40291461018857806374e6310e146101af57806377860cdd1461025557610100565b806309824a80146101055780635267a15d1461012d5780635aa6e675146101515780635ff2707914610159575b600080fd5b61012b6004803603602081101561011b57600080fd5b50356001600160a01b03166104ab565b005b6101356105c4565b604080516001600160a01b039092168252519081900360200190f35b6101356105e9565b61012b6004803603602081101561016f57600080fd5b50356001600160e01b03191661068b565b6101356109ed565b61012b6004803603602081101561019e57600080fd5b50356001600160e01b031916610a05565b6101d6600480360360208110156101c557600080fd5b50356001600160e01b031916610aed565b6040518083815260200180602001828103825283818151815260200191508051906020019080838360005b83811015610219578181015183820152602001610201565b50505050905090810190601f1680156102465780820380516001836020036101000a031916815260200191505b50935050505060405180910390f35b61012b6004803603602081101561026b57600080fd5b50356001600160a01b0316610b93565b6101356004803603602081101561029157600080fd5b5035610d94565b61012b600480360360208110156102ae57600080fd5b50356001600160a01b0316610dbe565b61012b600480360360408110156102d457600080fd5b8101906020810181356401000000008111156102ef57600080fd5b82018360208201111561030157600080fd5b8035906020019184602083028401116401000000008311171561032357600080fd5b919080806020026020016040519081016040528093929190818152602001838360200280828437600092019190915250929594936020810193503591505064010000000081111561037357600080fd5b82018360208201111561038557600080fd5b803590602001918460208302840111640100000000831117156103a757600080fd5b919080806020026020016040519081016040528093929190818152602001838360200280828437600092019190915250929550610e77945050505050565b6103ed610f22565b6040805160208082528351818301528351919283929083019185019080838360005b8381101561042757818101518382015260200161040f565b50505050905090810190601f1680156104545780820380516001836020036101000a031916815260200191505b509250505060405180910390f35b61012b6004803603602081101561047857600080fd5b5035610fb0565b61013561118b565b61048f61119a565b604080519115158252519081900360200190f35b61012b6111aa565b600054600160b01b900460ff16806104cd5750600054600160a81b900460ff16155b156105b6576104da611271565b60025460005b8181101561052357600281815481106104f557fe5b6000918252602090912001546001600160a01b038481169116141561051b5750506105b1565b6001016104e0565b5060028054600180820183556000929092527f405787fa12a823e0f2b7631cc41b3ba8828b3321ca811111fa75cd3aa3bb5ace0180546001600160a01b0319166001600160a01b03851690811790915560408051918252602082019290925281517f86d03f430c7616021073d7a71766f632f1ce19f289aa989534d9f4732253eb59929181900390910190a1505b6105c1565b6105c16000366112a8565b50565b7f714f205b2abd25bef1d06a1af944e38c113fe6160375c4e1d6d5cf28848e77195490565b60008054600160a81b900460ff1661060c576000546001600160a01b0316610686565b73183faff6997c98a812a3b98748fc80241d08f3126001600160a01b031663732524946040518163ffffffff1660e01b815260040160206040518083038186803b15801561065957600080fd5b505afa15801561066d573d6000803e3d6000fd5b505050506040513d602081101561068357600080fd5b50515b905090565b60408051630debfda360e41b8152336004820152905173183faff6997c98a812a3b98748fc80241d08f3129163debfda30916024808301926020929190829003018186803b1580156106dc57600080fd5b505afa1580156106f0573d6000803e3d6000fd5b505050506040513d602081101561070657600080fd5b5051610749576040805162461bcd60e51b815260206004820152600d60248201526c37b7363c9032bc32b1baba37b960991b604482015290519081900360640190fd5b6001600160e01b03198116600090815260016020526040902080546107b5576040805162461bcd60e51b815260206004820152601a60248201527f74696d656c6f636b3a20696e76616c69642073656c6563746f72000000000000604482015290519081900360640190fd5b805442101561080b576040805162461bcd60e51b815260206004820152601960248201527f74696d656c6f636b3a206e6f7420616c6c6f7765642079657400000000000000604482015290519081900360640190fd5b6000816001018054600181600116156101000203166002900480601f0160208091040260200160405190810160405280929190818152602001828054600181600116156101000203166002900480156108a55780601f1061087a576101008083540402835291602001916108a5565b820191906000526020600020905b81548152906001019060200180831161088857829003601f168201915b5050506001600160e01b03198616600090815260016020819052604082208281559495509092506108d991508301826116c0565b50506000805460ff60b01b1916600160b01b178155604051825130918491819060208401908083835b602083106109215780518252601f199092019160209182019101610902565b6001836020036101000a0380198251168184511680821785525050505050509050019150506000604051808303816000865af19150503d8060008114610983576040519150601f19603f3d011682016040523d82523d6000602084013e610988565b606091505b50506000805460ff60b01b19169055604080516001600160e01b03198716815242602082015281519293507fa7326b57fc9cfe267aaea5e7f0b01757154d265620a0585819416ee9ddd2c438929081900390910190a16109e781611438565b50505050565b73183faff6997c98a812a3b98748fc80241d08f31281565b610a0d611455565b6001600160e01b03198116600090815260016020526040902054610a78576040805162461bcd60e51b815260206004820152601a60248201527f74696d656c6f636b3a20696e76616c69642073656c6563746f72000000000000604482015290519081900360640190fd5b604080516001600160e01b03198316815242602082015281517f7735b2391c38a81419c513e30ca578db7158eadd7101511b23e221c654d19cf8929181900390910190a16001600160e01b03198116600090815260016020819052604082208281559190610ae8908301826116c0565b505050565b600160208181526000928352604092839020805481840180548651600296821615610100026000190190911695909504601f81018590048502860185019096528585529094919392909190830182828015610b895780601f10610b5e57610100808354040283529160200191610b89565b820191906000526020600020905b815481529060010190602001808311610b6c57829003601f168201915b5050505050905082565b600054600160b01b900460ff1680610bb55750600054600160a81b900460ff16155b156105b657610bc2611271565b60025460005b81811015610ce45760028181548110610bdd57fe5b6000918252602090912001546001600160a01b0384811691161415610cdc5760026001830381548110610c0c57fe5b600091825260209091200154600280546001600160a01b039092169183908110610c3257fe5b9060005260206000200160006101000a8154816001600160a01b0302191690836001600160a01b031602179055506002805480610c6b57fe5b60008281526020808220830160001990810180546001600160a01b0319169055909201909255604080516001600160a01b03871681529182019290925281517f86d03f430c7616021073d7a71766f632f1ce19f289aa989534d9f4732253eb59929181900390910190a150506105b1565b600101610bc8565b506040518060400160405280601281526020017118dbdb9d1c9858dd081b9bdd08199bdd5b9960721b81525060405162461bcd60e51b81526004018080602001828103825283818151815260200191508051906020019080838360005b83811015610d59578181015183820152602001610d41565b50505050905090810190601f168015610d865780820380516001836020036101000a031916815260200191505b509250505060405180910390fd5b60028181548110610da457600080fd5b6000918252602090912001546001600160a01b0316905081565b600054600160a01b900460ff1615610e14576040805162461bcd60e51b8152602060048201526014602482015273696e697469616c6973656420213d2066616c736560601b604482015290519081900360640190fd5b60008054600160a01b60ff60a01b19909116176001600160a01b0319166001600160a01b03831690811790915560408051918252517f9789733827840833afc031fb2ef9ab6894271f77bad2085687cf4ae5c7bee4db916020908290030190a150565b610e7f6105c4565b6001600160a01b0316336001600160a01b031614610edb576040805162461bcd60e51b815260206004820152601460248201527337b7363c9030b2323932b9b9903ab83230ba32b960611b604482015290519081900360640190fd5b610f14610f0f83836040518060400160405280600e81526020016d20b2323932b9b9aab83230ba32b960911b8152506114b4565b6115e1565b610f1e8282611605565b5050565b6004805460408051602060026001851615610100026000190190941693909304601f81018490048402820184019092528181529291830182828015610fa85780601f10610f7d57610100808354040283529160200191610fa8565b820191906000526020600020905b815481529060010190602001808311610f8b57829003601f168201915b505050505081565b6003546040805180820190915260158152747472696767657220636f6e7472616374206f6e6c7960581b6020820152906001600160a01b031633146110365760405162461bcd60e51b8152602060048201818152835160248401528351909283926044909101919085019080838360008315610d59578181015183820152602001610d41565b5060025460005b81811015610ae8576002818154811061105257fe5b6000918252602082200154604080516313de97f560e01b81526004810187905290516001600160a01b03909216926313de97f59260248084019382900301818387803b1580156110a157600080fd5b505af19250505080156110b2575060015b61111f577f6e31dc4aae4e8c2369947a8179952c1929b7af7bc75f57e71ebce5d37e62eae7600282815481106110e457fe5b6000918252602080832090910154604080516001600160a01b03909216825291810187905280820192909252519081900360600190a1611183565b7f6e31dc4aae4e8c2369947a8179952c1929b7af7bc75f57e71ebce5d37e62eae76002828154811061114d57fe5b60009182526020918290200154604080516001600160a01b03909216825291810186905260018183015290519081900360600190a15b60010161103d565b6003546001600160a01b031681565b600054600160a81b900460ff1681565b6111b2611455565b600054600160a81b900460ff1615611211576040805162461bcd60e51b815260206004820152601a60248201527f616c726561647920696e2070726f64756374696f6e206d6f6465000000000000604482015290519081900360640190fd5b60008054600161ff0160a01b031916600160a81b1790556040805173183faff6997c98a812a3b98748fc80241d08f312815290517f83af113638b5422f9e977cebc0aaf0eaf2188eb9a8baae7f9d46c42b33a1560c9181900360200190a1565b600054600160b01b900460ff161561129e5733301461128c57fe5b6000805460ff60b01b191690556112a6565b6112a6611455565b565b6112b0611455565b600082359050600073183faff6997c98a812a3b98748fc80241d08f3126001600160a01b0316636221a54b6040518163ffffffff1660e01b815260040160206040518083038186803b15801561130557600080fd5b505afa158015611319573d6000803e3d6000fd5b505050506040513d602081101561132f57600080fd5b505160408051808201825242830180825282516020601f89018190048102820181019094528781529394509290918281019190889088908190840183828082843760009201829052509390945250506001600160e01b031986168152600160208181526040909220845181558483015180519194506113b393928501920190611704565b509050507fed948300a3694aa01d4a6b258bfd664350193d770c0b51f8387277f6d83ea3b68382878760405180856001600160e01b0319168152602001848152602001806020018281038252848482818152602001925080828437600083820152604051601f909101601f191690920182900397509095505050505050a15050505050565b3d604051818101604052816000823e8215611451578181f35b8181fd5b61145d6105e9565b6001600160a01b0316336001600160a01b0316146112a6576040805162461bcd60e51b815260206004820152600f60248201526e6f6e6c7920676f7665726e616e636560881b604482015290519081900360640190fd5b600080826040516020018080602001828103825283818151815260200191508051906020019080838360005b838110156114f85781810151838201526020016114e0565b50505050905090810190601f1680156115255780820380516001836020036101000a031916815260200191505b50925050506040516020818303038152906040528051906020012090506000805b865181101561158d5786818151811061155b57fe5b60200260200101518314156115855785818151811061157657fe5b6020026020010151915061158d565b600101611546565b506001600160a01b0381166115d8576040805162461bcd60e51b815260206004820152600c60248201526b61646472657373207a65726f60a01b604482015290519081900360640190fd5b95945050505050565b7f714f205b2abd25bef1d06a1af944e38c113fe6160375c4e1d6d5cf28848e771955565b60048054604080516020601f6002600019610100600188161502019095169490940493840181900481028201810190925282815261169c93869386938301828280156116925780601f1061166757610100808354040283529160200191611692565b820191906000526020600020905b81548152906001019060200180831161167557829003601f168201915b50505050506114b4565b600380546001600160a01b0319166001600160a01b03929092169190911790555050565b50805460018160011615610100020316600290046000825580601f106116e657506105c1565b601f0160209004906000526020600020908101906105c19190611790565b828054600181600116156101000203166002900490600052602060002090601f01602090048101928261173a5760008555611780565b82601f1061175357805160ff1916838001178555611780565b82800160010185558215611780579182015b82811115611780578251825591602001919060010190611765565b5061178c929150611790565b5090565b5b8082111561178c576000815560010161179156fea2646970667358221220339c2b92074575ace4778f41eb488234a6ae66d70dc460ced8aa2811fa2c52f164736f6c63430007060033",
252
387
  "linkReferences": {},
253
388
  "deployedLinkReferences": {}
254
389
  }
@@ -215,8 +215,8 @@
215
215
  "type": "function"
216
216
  }
217
217
  ],
218
- "bytecode": "0x608060405234801561001057600080fd5b50610832806100206000396000f3fe608060405234801561001057600080fd5b50600436106100575760003560e01c80631a05274c1461005c5780637f57d58f1461009a578063891339a8146100c65780638c0b6b40146100f2578063cabc452814610128575b600080fd5b6100886004803603604081101561007257600080fd5b506001600160a01b03813516906020013561015e565b60408051918252519081900360200190f35b610088600480360360408110156100b057600080fd5b506001600160a01b0381351690602001356101d2565b610088600480360360408110156100dc57600080fd5b506001600160a01b038135169060200135610252565b6100886004803603606081101561010857600080fd5b506001600160a01b0381358116916020810135909116906040013561030e565b6100886004803603606081101561013e57600080fd5b506001600160a01b038135811691602081013590911690604001356103d3565b6007546000906001600160a01b031633146101b8576040805162461bcd60e51b815260206004820152601560248201527413db9b1e4818db19585b995c8818dbdb9d1c9858dd605a1b604482015290519081900360640190fd5b6006546101cb9060039085908590610455565b9392505050565b6007546000906001600160a01b0316331461022c576040805162461bcd60e51b815260206004820152601560248201527413db9b1e4818db19585b995c8818dbdb9d1c9858dd605a1b604482015290519081900360640190fd5b6006546001600160a01b03841660009081526001602052604090206101cb91849061046c565b6007546000906001600160a01b031633146102ac576040805162461bcd60e51b815260206004820152601560248201527413db9b1e4818db19585b995c8818dbdb9d1c9858dd605a1b604482015290519081900360640190fd5b6006548210610302576040805162461bcd60e51b815260206004820152601e60248201527f4e6f20636c65616e757020616674657220636c65616e757020626c6f636b0000604482015290519081900360640190fd5b6101cb60048484610479565b6007546000906001600160a01b03163314610368576040805162461bcd60e51b815260206004820152601560248201527413db9b1e4818db19585b995c8818dbdb9d1c9858dd605a1b604482015290519081900360640190fd5b60065482106103be576040805162461bcd60e51b815260206004820152601e60248201527f4e6f20636c65616e757020616674657220636c65616e757020626c6f636b0000604482015290519081900360640190fd5b6103cb60048585856104e6565b949350505050565b6007546000906001600160a01b0316331461042d576040805162461bcd60e51b815260206004820152601560248201527413db9b1e4818db19585b995c8818dbdb9d1c9858dd605a1b604482015290519081900360640190fd5b6006546001600160a01b03851660009081526002602052604090206103cb9185908590610574565b60006104638585858561059b565b95945050505050565b60006103cb8484846105d6565b604080516001600160a01b0384166020808301919091528183018490528251808303840181526060909201835281519181019190912060008181529186905291812054909190156104db576000908152602085905260408120555060016101cb565b506000949350505050565b604080516001600160a01b0380861660208084019190915282840185905283518084038501815260609093018452825192810192909220600081815260018901845284812092871681529282905292822054919291801561056657506001600160a01b0385166000908152602091909152604081205550600190506103cb565b506000979650505050505050565b60006105818584846106b3565b90506105926002860185858561059b565b01949350505050565b60006001600160a01b038416156104db576001600160a01b03841660009081526020869052604090206105cf9084846106b3565b90506103cb565b6000816105e5575060006101cb565b8354806105f65760009150506101cb565b6001850154600061061361060a8388610752565b600185036107ac565b9050815b818110801561064957508588600001826001018154811061063457fe5b90600052602060002090600302016000015411155b156106955787600001818154811061065d57fe5b6000918252602082206003909102018181559061067d60018301826107c2565b61068b6002830160006107c2565b5050600101610617565b828111156106a557600188018190555b919091039695505050505050565b6000816106c2575060006101cb565b8354806106d35760009150506101cb565b600185015460006106e761060a8388610752565b9050815b818110801561071d57508588600001826001018154811061070857fe5b90600052602060002090600202016000015411155b156106955787600001818154811061073157fe5b600091825260208220600290910201818155600190810191909155016106eb565b6000828201838110156101cb576040805162461bcd60e51b815260206004820152601b60248201527f536166654d6174683a206164646974696f6e206f766572666c6f770000000000604482015290519081900360640190fd5b60008183106107bb57816101cb565b5090919050565b50805460008255906000526020600020908101906107e091906107e3565b50565b5b808211156107f857600081556001016107e4565b509056fea26469706673582212203867f1e0ac8066d87ed115c2a948e7f6bdb30d0142c904131b3005ecdef6c97264736f6c63430007060033",
219
- "deployedBytecode": "0x608060405234801561001057600080fd5b50600436106100575760003560e01c80631a05274c1461005c5780637f57d58f1461009a578063891339a8146100c65780638c0b6b40146100f2578063cabc452814610128575b600080fd5b6100886004803603604081101561007257600080fd5b506001600160a01b03813516906020013561015e565b60408051918252519081900360200190f35b610088600480360360408110156100b057600080fd5b506001600160a01b0381351690602001356101d2565b610088600480360360408110156100dc57600080fd5b506001600160a01b038135169060200135610252565b6100886004803603606081101561010857600080fd5b506001600160a01b0381358116916020810135909116906040013561030e565b6100886004803603606081101561013e57600080fd5b506001600160a01b038135811691602081013590911690604001356103d3565b6007546000906001600160a01b031633146101b8576040805162461bcd60e51b815260206004820152601560248201527413db9b1e4818db19585b995c8818dbdb9d1c9858dd605a1b604482015290519081900360640190fd5b6006546101cb9060039085908590610455565b9392505050565b6007546000906001600160a01b0316331461022c576040805162461bcd60e51b815260206004820152601560248201527413db9b1e4818db19585b995c8818dbdb9d1c9858dd605a1b604482015290519081900360640190fd5b6006546001600160a01b03841660009081526001602052604090206101cb91849061046c565b6007546000906001600160a01b031633146102ac576040805162461bcd60e51b815260206004820152601560248201527413db9b1e4818db19585b995c8818dbdb9d1c9858dd605a1b604482015290519081900360640190fd5b6006548210610302576040805162461bcd60e51b815260206004820152601e60248201527f4e6f20636c65616e757020616674657220636c65616e757020626c6f636b0000604482015290519081900360640190fd5b6101cb60048484610479565b6007546000906001600160a01b03163314610368576040805162461bcd60e51b815260206004820152601560248201527413db9b1e4818db19585b995c8818dbdb9d1c9858dd605a1b604482015290519081900360640190fd5b60065482106103be576040805162461bcd60e51b815260206004820152601e60248201527f4e6f20636c65616e757020616674657220636c65616e757020626c6f636b0000604482015290519081900360640190fd5b6103cb60048585856104e6565b949350505050565b6007546000906001600160a01b0316331461042d576040805162461bcd60e51b815260206004820152601560248201527413db9b1e4818db19585b995c8818dbdb9d1c9858dd605a1b604482015290519081900360640190fd5b6006546001600160a01b03851660009081526002602052604090206103cb9185908590610574565b60006104638585858561059b565b95945050505050565b60006103cb8484846105d6565b604080516001600160a01b0384166020808301919091528183018490528251808303840181526060909201835281519181019190912060008181529186905291812054909190156104db576000908152602085905260408120555060016101cb565b506000949350505050565b604080516001600160a01b0380861660208084019190915282840185905283518084038501815260609093018452825192810192909220600081815260018901845284812092871681529282905292822054919291801561056657506001600160a01b0385166000908152602091909152604081205550600190506103cb565b506000979650505050505050565b60006105818584846106b3565b90506105926002860185858561059b565b01949350505050565b60006001600160a01b038416156104db576001600160a01b03841660009081526020869052604090206105cf9084846106b3565b90506103cb565b6000816105e5575060006101cb565b8354806105f65760009150506101cb565b6001850154600061061361060a8388610752565b600185036107ac565b9050815b818110801561064957508588600001826001018154811061063457fe5b90600052602060002090600302016000015411155b156106955787600001818154811061065d57fe5b6000918252602082206003909102018181559061067d60018301826107c2565b61068b6002830160006107c2565b5050600101610617565b828111156106a557600188018190555b919091039695505050505050565b6000816106c2575060006101cb565b8354806106d35760009150506101cb565b600185015460006106e761060a8388610752565b9050815b818110801561071d57508588600001826001018154811061070857fe5b90600052602060002090600202016000015411155b156106955787600001818154811061073157fe5b600091825260208220600290910201818155600190810191909155016106eb565b6000828201838110156101cb576040805162461bcd60e51b815260206004820152601b60248201527f536166654d6174683a206164646974696f6e206f766572666c6f770000000000604482015290519081900360640190fd5b60008183106107bb57816101cb565b5090919050565b50805460008255906000526020600020908101906107e091906107e3565b50565b5b808211156107f857600081556001016107e4565b509056fea26469706673582212203867f1e0ac8066d87ed115c2a948e7f6bdb30d0142c904131b3005ecdef6c97264736f6c63430007060033",
218
+ "bytecode": "0x608060405234801561001057600080fd5b50610832806100206000396000f3fe608060405234801561001057600080fd5b50600436106100575760003560e01c80631a05274c1461005c5780637f57d58f1461009a578063891339a8146100c65780638c0b6b40146100f2578063cabc452814610128575b600080fd5b6100886004803603604081101561007257600080fd5b506001600160a01b03813516906020013561015e565b60408051918252519081900360200190f35b610088600480360360408110156100b057600080fd5b506001600160a01b0381351690602001356101d2565b610088600480360360408110156100dc57600080fd5b506001600160a01b038135169060200135610252565b6100886004803603606081101561010857600080fd5b506001600160a01b0381358116916020810135909116906040013561030e565b6100886004803603606081101561013e57600080fd5b506001600160a01b038135811691602081013590911690604001356103d3565b6007546000906001600160a01b031633146101b8576040805162461bcd60e51b815260206004820152601560248201527413db9b1e4818db19585b995c8818dbdb9d1c9858dd605a1b604482015290519081900360640190fd5b6006546101cb9060039085908590610455565b9392505050565b6007546000906001600160a01b0316331461022c576040805162461bcd60e51b815260206004820152601560248201527413db9b1e4818db19585b995c8818dbdb9d1c9858dd605a1b604482015290519081900360640190fd5b6006546001600160a01b03841660009081526001602052604090206101cb91849061046c565b6007546000906001600160a01b031633146102ac576040805162461bcd60e51b815260206004820152601560248201527413db9b1e4818db19585b995c8818dbdb9d1c9858dd605a1b604482015290519081900360640190fd5b6006548210610302576040805162461bcd60e51b815260206004820152601e60248201527f4e6f20636c65616e757020616674657220636c65616e757020626c6f636b0000604482015290519081900360640190fd5b6101cb60048484610479565b6007546000906001600160a01b03163314610368576040805162461bcd60e51b815260206004820152601560248201527413db9b1e4818db19585b995c8818dbdb9d1c9858dd605a1b604482015290519081900360640190fd5b60065482106103be576040805162461bcd60e51b815260206004820152601e60248201527f4e6f20636c65616e757020616674657220636c65616e757020626c6f636b0000604482015290519081900360640190fd5b6103cb60048585856104e6565b949350505050565b6007546000906001600160a01b0316331461042d576040805162461bcd60e51b815260206004820152601560248201527413db9b1e4818db19585b995c8818dbdb9d1c9858dd605a1b604482015290519081900360640190fd5b6006546001600160a01b03851660009081526002602052604090206103cb9185908590610574565b60006104638585858561059b565b95945050505050565b60006103cb8484846105d6565b604080516001600160a01b0384166020808301919091528183018490528251808303840181526060909201835281519181019190912060008181529186905291812054909190156104db576000908152602085905260408120555060016101cb565b506000949350505050565b604080516001600160a01b0380861660208084019190915282840185905283518084038501815260609093018452825192810192909220600081815260018901845284812092871681529282905292822054919291801561056657506001600160a01b0385166000908152602091909152604081205550600190506103cb565b506000979650505050505050565b60006105818584846106b3565b90506105926002860185858561059b565b01949350505050565b60006001600160a01b038416156104db576001600160a01b03841660009081526020869052604090206105cf9084846106b3565b90506103cb565b6000816105e5575060006101cb565b8354806105f65760009150506101cb565b6001850154600061061361060a8388610752565b600185036107ac565b9050815b818110801561064957508588600001826001018154811061063457fe5b90600052602060002090600302016000015411155b156106955787600001818154811061065d57fe5b6000918252602082206003909102018181559061067d60018301826107c2565b61068b6002830160006107c2565b5050600101610617565b828111156106a557600188018190555b919091039695505050505050565b6000816106c2575060006101cb565b8354806106d35760009150506101cb565b600185015460006106e761060a8388610752565b9050815b818110801561071d57508588600001826001018154811061070857fe5b90600052602060002090600202016000015411155b156106955787600001818154811061073157fe5b600091825260208220600290910201818155600190810191909155016106eb565b6000828201838110156101cb576040805162461bcd60e51b815260206004820152601b60248201527f536166654d6174683a206164646974696f6e206f766572666c6f770000000000604482015290519081900360640190fd5b60008183106107bb57816101cb565b5090919050565b50805460008255906000526020600020908101906107e091906107e3565b50565b5b808211156107f857600081556001016107e4565b509056fea26469706673582212200ad599629dc96e3b7e0e8984dbf7e98e45c9de2d6912f4e96fc5aa09a9aed23164736f6c63430007060033",
219
+ "deployedBytecode": "0x608060405234801561001057600080fd5b50600436106100575760003560e01c80631a05274c1461005c5780637f57d58f1461009a578063891339a8146100c65780638c0b6b40146100f2578063cabc452814610128575b600080fd5b6100886004803603604081101561007257600080fd5b506001600160a01b03813516906020013561015e565b60408051918252519081900360200190f35b610088600480360360408110156100b057600080fd5b506001600160a01b0381351690602001356101d2565b610088600480360360408110156100dc57600080fd5b506001600160a01b038135169060200135610252565b6100886004803603606081101561010857600080fd5b506001600160a01b0381358116916020810135909116906040013561030e565b6100886004803603606081101561013e57600080fd5b506001600160a01b038135811691602081013590911690604001356103d3565b6007546000906001600160a01b031633146101b8576040805162461bcd60e51b815260206004820152601560248201527413db9b1e4818db19585b995c8818dbdb9d1c9858dd605a1b604482015290519081900360640190fd5b6006546101cb9060039085908590610455565b9392505050565b6007546000906001600160a01b0316331461022c576040805162461bcd60e51b815260206004820152601560248201527413db9b1e4818db19585b995c8818dbdb9d1c9858dd605a1b604482015290519081900360640190fd5b6006546001600160a01b03841660009081526001602052604090206101cb91849061046c565b6007546000906001600160a01b031633146102ac576040805162461bcd60e51b815260206004820152601560248201527413db9b1e4818db19585b995c8818dbdb9d1c9858dd605a1b604482015290519081900360640190fd5b6006548210610302576040805162461bcd60e51b815260206004820152601e60248201527f4e6f20636c65616e757020616674657220636c65616e757020626c6f636b0000604482015290519081900360640190fd5b6101cb60048484610479565b6007546000906001600160a01b03163314610368576040805162461bcd60e51b815260206004820152601560248201527413db9b1e4818db19585b995c8818dbdb9d1c9858dd605a1b604482015290519081900360640190fd5b60065482106103be576040805162461bcd60e51b815260206004820152601e60248201527f4e6f20636c65616e757020616674657220636c65616e757020626c6f636b0000604482015290519081900360640190fd5b6103cb60048585856104e6565b949350505050565b6007546000906001600160a01b0316331461042d576040805162461bcd60e51b815260206004820152601560248201527413db9b1e4818db19585b995c8818dbdb9d1c9858dd605a1b604482015290519081900360640190fd5b6006546001600160a01b03851660009081526002602052604090206103cb9185908590610574565b60006104638585858561059b565b95945050505050565b60006103cb8484846105d6565b604080516001600160a01b0384166020808301919091528183018490528251808303840181526060909201835281519181019190912060008181529186905291812054909190156104db576000908152602085905260408120555060016101cb565b506000949350505050565b604080516001600160a01b0380861660208084019190915282840185905283518084038501815260609093018452825192810192909220600081815260018901845284812092871681529282905292822054919291801561056657506001600160a01b0385166000908152602091909152604081205550600190506103cb565b506000979650505050505050565b60006105818584846106b3565b90506105926002860185858561059b565b01949350505050565b60006001600160a01b038416156104db576001600160a01b03841660009081526020869052604090206105cf9084846106b3565b90506103cb565b6000816105e5575060006101cb565b8354806105f65760009150506101cb565b6001850154600061061361060a8388610752565b600185036107ac565b9050815b818110801561064957508588600001826001018154811061063457fe5b90600052602060002090600302016000015411155b156106955787600001818154811061065d57fe5b6000918252602082206003909102018181559061067d60018301826107c2565b61068b6002830160006107c2565b5050600101610617565b828111156106a557600188018190555b919091039695505050505050565b6000816106c2575060006101cb565b8354806106d35760009150506101cb565b600185015460006106e761060a8388610752565b9050815b818110801561071d57508588600001826001018154811061070857fe5b90600052602060002090600202016000015411155b156106955787600001818154811061073157fe5b600091825260208220600290910201818155600190810191909155016106eb565b6000828201838110156101cb576040805162461bcd60e51b815260206004820152601b60248201527f536166654d6174683a206164646974696f6e206f766572666c6f770000000000604482015290519081900360640190fd5b60008183106107bb57816101cb565b5090919050565b50805460008255906000526020600020908101906107e091906107e3565b50565b5b808211156107f857600081556001016107e4565b509056fea26469706673582212200ad599629dc96e3b7e0e8984dbf7e98e45c9de2d6912f4e96fc5aa09a9aed23164736f6c63430007060033",
220
220
  "linkReferences": {},
221
221
  "deployedLinkReferences": {}
222
222
  }
@@ -317,8 +317,8 @@
317
317
  "type": "function"
318
318
  }
319
319
  ],
320
- "bytecode": "0x60a060405234801561001057600080fd5b506040516118603803806118608339818101604052602081101561003357600080fd5b50516001600160a01b03811661007a5760405162461bcd60e51b815260040180806020018281038252602c815260200180611834602c913960400191505060405180910390fd5b606081901b6001600160601b0319166080526001600160a01b03166117656100cf600039806102f1528061031a528061055f528061069b52806106f952806107e852806109ac52806109d552506117656000f3fe608060405234801561001057600080fd5b50600436106100ea5760003560e01c80639ab24eb01161008c578063b3e871ee11610066578063b3e871ee1461022c578063eadb436214610252578063f6a494af14610294578063f7ce0ddf146102ba576100ea565b80639ab24eb0146101f65780639ca20e4e1461021c578063a72ec4b614610224576100ea565b80635c19a95c116100c85780635c19a95c1461019457806365371883146101ba57806392ab89bb146101c257806392bfe6d8146101ca576100ea565b806313de97f5146100ef57806329a59ff21461010e5780633c028e9d1461014c575b600080fd5b61010c6004803603602081101561010557600080fd5b50356102e6565b005b61013a6004803603604081101561012457600080fd5b506001600160a01b038135169060200135610479565b60408051918252519081900360200190f35b6101786004803603604081101561016257600080fd5b506001600160a01b0381351690602001356104ef565b604080516001600160a01b039092168252519081900360200190f35b61010c600480360360208110156101aa57600080fd5b50356001600160a01b03166104fd565b610178610699565b61010c6106bd565b61013a600480360360408110156101e057600080fd5b506001600160a01b0381351690602001356106c9565b61013a6004803603602081101561020c57600080fd5b50356001600160a01b03166107a7565b6101786107bb565b61013a6107ca565b6101786004803603602081101561024257600080fd5b50356001600160a01b03166107d0565b61010c600480360360a081101561026857600080fd5b506001600160a01b038135811691602081013590911690604081013590606081013590608001356107dd565b61010c600480360360208110156102aa57600080fd5b50356001600160a01b03166109a1565b61013a600480360360408110156102d057600080fd5b506001600160a01b038135169060200135610ad2565b336001600160a01b037f00000000000000000000000000000000000000000000000000000000000000001614806103a957507f00000000000000000000000000000000000000000000000000000000000000006001600160a01b0316635aa6e6756040518163ffffffff1660e01b815260040160206040518083038186803b15801561037157600080fd5b505afa158015610385573d6000803e3d6000fd5b505050506040513d602081101561039b57600080fd5b50516001600160a01b031633145b6103f5576040805162461bcd60e51b81526020600482015260186024820152776f6e6c79206f776e6572206f7220676f7665726e616e636560401b604482015290519081900360640190fd5b6002548110156104365760405162461bcd60e51b81526004018080602001828103825260288152602001806116b26028913960400191505060405180910390fd5b4381106104745760405162461bcd60e51b81526004018080602001828103825260218152602001806116916021913960400191505060405180910390fd5b600255565b6003546000906001600160a01b031633146104d3576040805162461bcd60e51b81526020600482015260156024820152741bdb9b1e4818db19585b995c8818dbdb9d1c9858dd605a1b604482015290519081900360640190fd5b6002546104e69060009085908590610b3f565b90505b92915050565b60006104e660018484610b86565b6001600160a01b03811633141561055b576040805162461bcd60e51b815260206004820152601a60248201527f63616e27742064656c656761746520746f20796f757273656c66000000000000604482015290519081900360640190fd5b60007f00000000000000000000000000000000000000000000000000000000000000006001600160a01b03166370a08231336040518263ffffffff1660e01b815260040180826001600160a01b0316815260200191505060206040518083038186803b1580156105ca57600080fd5b505afa1580156105de573d6000803e3d6000fd5b505050506040513d60208110156105f457600080fd5b505190506000610603336107d0565b90506001600160a01b0381161561061f5761061f338284610bb3565b61062b60013385610c39565b6002805461063e91600191339190610c61565b506001600160a01b0383161561065957610659338484610c95565b6040516001600160a01b03808516919083169033907f3134e8a2e6d97e929a7e54011ea5485d7d196dd5f0ba4d4ef95803e8e3fc257f90600090a4505050565b7f000000000000000000000000000000000000000000000000000000000000000081565b6106c760006104fd565b565b6000806106d7818585610caf565b905060006106e585856104ef565b90506001600160a01b03811661079f5760007f00000000000000000000000000000000000000000000000000000000000000006001600160a01b0316634ee2cd7e87876040518363ffffffff1660e01b815260040180836001600160a01b031681526020018281526020019250505060206040518083038186803b15801561076c57600080fd5b505afa158015610780573d6000803e3d6000fd5b505050506040513d602081101561079657600080fd5b50519290920191505b509392505050565b60006107b382436106c9565b90505b919050565b6003546001600160a01b031681565b60025490565b60006107b3600183610cd1565b336001600160a01b037f0000000000000000000000000000000000000000000000000000000000000000161461084d576040805162461bcd60e51b815260206004820152601060248201526f37b7363c9037bbb732b9103a37b5b2b760811b604482015290519081900360640190fd5b836001600160a01b0316856001600160a01b031614156108b4576040805162461bcd60e51b815260206004820152601a60248201527f43616e2774207472616e7366657220746f20796f757273656c66000000000000604482015290519081900360640190fd5b6001600160a01b0385161515806108d357506001600160a01b03841615155b6108dc57600080fd5b60006108e7866107d0565b905060006108f4866107d0565b90506001600160a01b038716610923576001600160a01b0381161561091e5761091e868285610c95565b610998565b6001600160a01b03861661094b576001600160a01b0382161561091e5761091e878385610bb3565b806001600160a01b0316826001600160a01b031614610998576001600160a01b0382161561097e5761097e878385610bb3565b6001600160a01b0381161561099857610998868285610c95565b50505050505050565b336001600160a01b037f0000000000000000000000000000000000000000000000000000000000000000161480610a6457507f00000000000000000000000000000000000000000000000000000000000000006001600160a01b0316635aa6e6756040518163ffffffff1660e01b815260040160206040518083038186803b158015610a2c57600080fd5b505afa158015610a40573d6000803e3d6000fd5b505050506040513d6020811015610a5657600080fd5b50516001600160a01b031633145b610ab0576040805162461bcd60e51b81526020600482015260186024820152776f6e6c79206f776e6572206f7220676f7665726e616e636560401b604482015290519081900360640190fd5b600380546001600160a01b0319166001600160a01b0392909216919091179055565b6003546000906001600160a01b03163314610b2c576040805162461bcd60e51b81526020600482015260156024820152741bdb9b1e4818db19585b995c8818dbdb9d1c9858dd605a1b604482015290519081900360640190fd5b6002546104e69060019085908590610c61565b60006001600160a01b03841615610b7a576001600160a01b0384166000908152602086905260409020610b73908484610cf2565b9050610b7e565b5060005b949350505050565b6001600160a01b0382166000908152602084905260408120610ba88184610db8565b9150505b9392505050565b6000610bbf8184610efb565b90506000610bcd8284610f08565b9050610bdb60008583610f65565b60028054610bee91600091879190610b3f565b50604080518381526020810183905281516001600160a01b038716927fdec2bacdd2f05b59de34da9b523dff8be42e5e38e818c82fdb0bae774387a724928290030190a25050505050565b6001600160a01b0382166000908152602084905260409020610c5b8183610f87565b50505050565b60006001600160a01b03841615610b7a576001600160a01b0384166000908152602086905260409020610b7390848461114a565b6000610ca18184610efb565b90506000610bcd828461123b565b6001600160a01b0382166000908152602084905260408120610ba88184611295565b6001600160a01b0381166000908152602083905260408120610b7e816113b0565b600081610d0157506000610bac565b835480610d12576000915050610bac565b60018501546000610d2f610d26838861123b565b600185036113f8565b9050815b8181108015610d65575085886000018260010181548110610d5057fe5b90600052602060002090600202016000015411155b15610d9a57876000018181548110610d7957fe5b60009182526020822060029091020181815560019081019190915501610d33565b82811115610daa57600188018190555b919091039695505050505050565b6001820154600090600160401b90046001600160401b031680610ddf5760009150506104e9565b4383101580610e1157506000198101600090815260208590526040902054600160a01b90046001600160401b03168310155b15610e3957600019016000908152602084905260409020546001600160a01b031690506104e9565b60018401546001600160401b039081166000818152602087905260409020549091600160a01b90910416841015610eb2578015610ea75760405162461bcd60e51b81526004018080602001828103825260308152602001806117006030913960400191505060405180910390fd5b6000925050506104e9565b6001850154600090610ed89087908490600160401b90046001600160401b03168861140e565b6000908152602087905260409020546001600160a01b0316935050505092915050565b60006104e6838343610caf565b600082821115610f5f576040805162461bcd60e51b815260206004820152601e60248201527f536166654d6174683a207375627472616374696f6e206f766572666c6f770000604482015290519081900360640190fd5b50900390565b6001600160a01b0382166000908152602084905260409020610c5b8183611498565b6001820154600160401b90046001600160401b031680611043576040518060400160405280836001600160a01b03168152602001610fc443611561565b6001600160401b03908116909152600080805260208681526040909120835181549490920151909216600160a01b0267ffffffffffffffff60a01b196001600160a01b039092166001600160a01b0319909416939093171691909117905560018301805467ffffffffffffffff60401b1916600160401b179055611145565b600019810160009081526020849052604090208054600160a01b90046001600160401b03164381141561108e5781546001600160a01b0319166001600160a01b038516178255611142565b80431161109757fe5b6040518060400160405280856001600160a01b031681526020016110ba43611561565b6001600160401b039081169091526000858152602088815260409091208351815494909201518316600160a01b0267ffffffffffffffff60a01b196001600160a01b039093166001600160a01b031990951694909417919091169290921790915560018087018054918601909216600160401b0267ffffffffffffffff60401b199091161790555b50505b505050565b60008161115957506000610bac565b6001840154600160401b90046001600160401b03168061117d576000915050610bac565b60018501546001600160401b0316600061119a610d26838861123b565b9050815b81811080156111cf575060018101600090815260208990526040902054600160a01b90046001600160401b03168610155b156111f857600081815260208990526040902080546001600160e01b031916905560010161119e565b82811115610daa5761120981611561565b600198909801805467ffffffffffffffff19166001600160401b03999099169890981790975550909403949350505050565b6000828201838110156104e6576040805162461bcd60e51b815260206004820152601b60248201527f536166654d6174683a206164646974696f6e206f766572666c6f770000000000604482015290519081900360640190fd5b8154600090806112a95760009150506104e9565b43831015806112db57508360000160018203815481106112c557fe5b9060005260206000209060020201600001548310155b1561130c578360000160018203815481106112f257fe5b9060005260206000209060020201600101549150506104e9565b6001840154845485908290811061131f57fe5b906000526020600020906002020160000154841015611375578015610ea75760405162461bcd60e51b81526004018080602001828103825260308152602001806117006030913960400191505060405180910390fd5b60006113828683876115a9565b905085600001818154811061139357fe5b906000526020600020906002020160010154935050505092915050565b6001810154600090600160401b90046001600160401b0316806113d75760009150506107b6565b6000190160009081526020929092525060409020546001600160a01b031690565b600081831061140757816104e6565b5090919050565b6000838161141d856001610f08565b90505b8181111561148e57600061144a6002611444600161143e868861123b565b9061123b565b90611629565b600081815260208a90526040902054909150600160a01b90046001600160401b0316851061147a57809250611488565b611485816001610f08565b91505b50611420565b5095945050505050565b8154806114dc576040805180820190915243815260208082018481528554600181810188556000888152939093209351600290910290930192835551910155611145565b60008360000160018303815481106114f057fe5b600091825260209091206002909102018054909150438114156115195760018201849055611142565b80431161152257fe5b604080518082019091524381526020808201868152875460018181018a5560008a81529390932093516002909102909301928355519101555050505050565b6000600160401b82106115a55760405162461bcd60e51b81526004018080602001828103825260268152602001806116da6026913960400191505060405180910390fd5b5090565b8254600090839082906115bd906001610f08565b90505b818111156116205760006115de6002611444600161143e868861123b565b9050848782815481106115ed57fe5b9060005260206000209060020201600001541161160c5780925061161a565b611617816001610f08565b91505b506115c0565b50949350505050565b600080821161167f576040805162461bcd60e51b815260206004820152601a60248201527f536166654d6174683a206469766973696f6e206279207a65726f000000000000604482015290519081900360640190fd5b81838161168857fe5b04939250505056fe636c65616e757020626c6f636b206d75737420626520696e207468652070617374636c65616e757020626c6f636b206e756d626572206d757374206e6576657220646563726561736553616665436173743a2076616c756520646f65736e27742066697420696e2036342062697473436865636b506f696e74486973746f72793a2072656164696e672066726f6d20636c65616e65642d757020626c6f636ba2646970667358221220b9dbb6fdeca12605f80eddaa8da0a9283ed9067c057ffba3d229118fcabba19e64736f6c63430007060033676f7665726e616e6365566f7465506f776572206d7573742062656c6f6e6720746f2061205650546f6b656e",
321
- "deployedBytecode": "0x608060405234801561001057600080fd5b50600436106100ea5760003560e01c80639ab24eb01161008c578063b3e871ee11610066578063b3e871ee1461022c578063eadb436214610252578063f6a494af14610294578063f7ce0ddf146102ba576100ea565b80639ab24eb0146101f65780639ca20e4e1461021c578063a72ec4b614610224576100ea565b80635c19a95c116100c85780635c19a95c1461019457806365371883146101ba57806392ab89bb146101c257806392bfe6d8146101ca576100ea565b806313de97f5146100ef57806329a59ff21461010e5780633c028e9d1461014c575b600080fd5b61010c6004803603602081101561010557600080fd5b50356102e6565b005b61013a6004803603604081101561012457600080fd5b506001600160a01b038135169060200135610479565b60408051918252519081900360200190f35b6101786004803603604081101561016257600080fd5b506001600160a01b0381351690602001356104ef565b604080516001600160a01b039092168252519081900360200190f35b61010c600480360360208110156101aa57600080fd5b50356001600160a01b03166104fd565b610178610699565b61010c6106bd565b61013a600480360360408110156101e057600080fd5b506001600160a01b0381351690602001356106c9565b61013a6004803603602081101561020c57600080fd5b50356001600160a01b03166107a7565b6101786107bb565b61013a6107ca565b6101786004803603602081101561024257600080fd5b50356001600160a01b03166107d0565b61010c600480360360a081101561026857600080fd5b506001600160a01b038135811691602081013590911690604081013590606081013590608001356107dd565b61010c600480360360208110156102aa57600080fd5b50356001600160a01b03166109a1565b61013a600480360360408110156102d057600080fd5b506001600160a01b038135169060200135610ad2565b336001600160a01b037f00000000000000000000000000000000000000000000000000000000000000001614806103a957507f00000000000000000000000000000000000000000000000000000000000000006001600160a01b0316635aa6e6756040518163ffffffff1660e01b815260040160206040518083038186803b15801561037157600080fd5b505afa158015610385573d6000803e3d6000fd5b505050506040513d602081101561039b57600080fd5b50516001600160a01b031633145b6103f5576040805162461bcd60e51b81526020600482015260186024820152776f6e6c79206f776e6572206f7220676f7665726e616e636560401b604482015290519081900360640190fd5b6002548110156104365760405162461bcd60e51b81526004018080602001828103825260288152602001806116b26028913960400191505060405180910390fd5b4381106104745760405162461bcd60e51b81526004018080602001828103825260218152602001806116916021913960400191505060405180910390fd5b600255565b6003546000906001600160a01b031633146104d3576040805162461bcd60e51b81526020600482015260156024820152741bdb9b1e4818db19585b995c8818dbdb9d1c9858dd605a1b604482015290519081900360640190fd5b6002546104e69060009085908590610b3f565b90505b92915050565b60006104e660018484610b86565b6001600160a01b03811633141561055b576040805162461bcd60e51b815260206004820152601a60248201527f63616e27742064656c656761746520746f20796f757273656c66000000000000604482015290519081900360640190fd5b60007f00000000000000000000000000000000000000000000000000000000000000006001600160a01b03166370a08231336040518263ffffffff1660e01b815260040180826001600160a01b0316815260200191505060206040518083038186803b1580156105ca57600080fd5b505afa1580156105de573d6000803e3d6000fd5b505050506040513d60208110156105f457600080fd5b505190506000610603336107d0565b90506001600160a01b0381161561061f5761061f338284610bb3565b61062b60013385610c39565b6002805461063e91600191339190610c61565b506001600160a01b0383161561065957610659338484610c95565b6040516001600160a01b03808516919083169033907f3134e8a2e6d97e929a7e54011ea5485d7d196dd5f0ba4d4ef95803e8e3fc257f90600090a4505050565b7f000000000000000000000000000000000000000000000000000000000000000081565b6106c760006104fd565b565b6000806106d7818585610caf565b905060006106e585856104ef565b90506001600160a01b03811661079f5760007f00000000000000000000000000000000000000000000000000000000000000006001600160a01b0316634ee2cd7e87876040518363ffffffff1660e01b815260040180836001600160a01b031681526020018281526020019250505060206040518083038186803b15801561076c57600080fd5b505afa158015610780573d6000803e3d6000fd5b505050506040513d602081101561079657600080fd5b50519290920191505b509392505050565b60006107b382436106c9565b90505b919050565b6003546001600160a01b031681565b60025490565b60006107b3600183610cd1565b336001600160a01b037f0000000000000000000000000000000000000000000000000000000000000000161461084d576040805162461bcd60e51b815260206004820152601060248201526f37b7363c9037bbb732b9103a37b5b2b760811b604482015290519081900360640190fd5b836001600160a01b0316856001600160a01b031614156108b4576040805162461bcd60e51b815260206004820152601a60248201527f43616e2774207472616e7366657220746f20796f757273656c66000000000000604482015290519081900360640190fd5b6001600160a01b0385161515806108d357506001600160a01b03841615155b6108dc57600080fd5b60006108e7866107d0565b905060006108f4866107d0565b90506001600160a01b038716610923576001600160a01b0381161561091e5761091e868285610c95565b610998565b6001600160a01b03861661094b576001600160a01b0382161561091e5761091e878385610bb3565b806001600160a01b0316826001600160a01b031614610998576001600160a01b0382161561097e5761097e878385610bb3565b6001600160a01b0381161561099857610998868285610c95565b50505050505050565b336001600160a01b037f0000000000000000000000000000000000000000000000000000000000000000161480610a6457507f00000000000000000000000000000000000000000000000000000000000000006001600160a01b0316635aa6e6756040518163ffffffff1660e01b815260040160206040518083038186803b158015610a2c57600080fd5b505afa158015610a40573d6000803e3d6000fd5b505050506040513d6020811015610a5657600080fd5b50516001600160a01b031633145b610ab0576040805162461bcd60e51b81526020600482015260186024820152776f6e6c79206f776e6572206f7220676f7665726e616e636560401b604482015290519081900360640190fd5b600380546001600160a01b0319166001600160a01b0392909216919091179055565b6003546000906001600160a01b03163314610b2c576040805162461bcd60e51b81526020600482015260156024820152741bdb9b1e4818db19585b995c8818dbdb9d1c9858dd605a1b604482015290519081900360640190fd5b6002546104e69060019085908590610c61565b60006001600160a01b03841615610b7a576001600160a01b0384166000908152602086905260409020610b73908484610cf2565b9050610b7e565b5060005b949350505050565b6001600160a01b0382166000908152602084905260408120610ba88184610db8565b9150505b9392505050565b6000610bbf8184610efb565b90506000610bcd8284610f08565b9050610bdb60008583610f65565b60028054610bee91600091879190610b3f565b50604080518381526020810183905281516001600160a01b038716927fdec2bacdd2f05b59de34da9b523dff8be42e5e38e818c82fdb0bae774387a724928290030190a25050505050565b6001600160a01b0382166000908152602084905260409020610c5b8183610f87565b50505050565b60006001600160a01b03841615610b7a576001600160a01b0384166000908152602086905260409020610b7390848461114a565b6000610ca18184610efb565b90506000610bcd828461123b565b6001600160a01b0382166000908152602084905260408120610ba88184611295565b6001600160a01b0381166000908152602083905260408120610b7e816113b0565b600081610d0157506000610bac565b835480610d12576000915050610bac565b60018501546000610d2f610d26838861123b565b600185036113f8565b9050815b8181108015610d65575085886000018260010181548110610d5057fe5b90600052602060002090600202016000015411155b15610d9a57876000018181548110610d7957fe5b60009182526020822060029091020181815560019081019190915501610d33565b82811115610daa57600188018190555b919091039695505050505050565b6001820154600090600160401b90046001600160401b031680610ddf5760009150506104e9565b4383101580610e1157506000198101600090815260208590526040902054600160a01b90046001600160401b03168310155b15610e3957600019016000908152602084905260409020546001600160a01b031690506104e9565b60018401546001600160401b039081166000818152602087905260409020549091600160a01b90910416841015610eb2578015610ea75760405162461bcd60e51b81526004018080602001828103825260308152602001806117006030913960400191505060405180910390fd5b6000925050506104e9565b6001850154600090610ed89087908490600160401b90046001600160401b03168861140e565b6000908152602087905260409020546001600160a01b0316935050505092915050565b60006104e6838343610caf565b600082821115610f5f576040805162461bcd60e51b815260206004820152601e60248201527f536166654d6174683a207375627472616374696f6e206f766572666c6f770000604482015290519081900360640190fd5b50900390565b6001600160a01b0382166000908152602084905260409020610c5b8183611498565b6001820154600160401b90046001600160401b031680611043576040518060400160405280836001600160a01b03168152602001610fc443611561565b6001600160401b03908116909152600080805260208681526040909120835181549490920151909216600160a01b0267ffffffffffffffff60a01b196001600160a01b039092166001600160a01b0319909416939093171691909117905560018301805467ffffffffffffffff60401b1916600160401b179055611145565b600019810160009081526020849052604090208054600160a01b90046001600160401b03164381141561108e5781546001600160a01b0319166001600160a01b038516178255611142565b80431161109757fe5b6040518060400160405280856001600160a01b031681526020016110ba43611561565b6001600160401b039081169091526000858152602088815260409091208351815494909201518316600160a01b0267ffffffffffffffff60a01b196001600160a01b039093166001600160a01b031990951694909417919091169290921790915560018087018054918601909216600160401b0267ffffffffffffffff60401b199091161790555b50505b505050565b60008161115957506000610bac565b6001840154600160401b90046001600160401b03168061117d576000915050610bac565b60018501546001600160401b0316600061119a610d26838861123b565b9050815b81811080156111cf575060018101600090815260208990526040902054600160a01b90046001600160401b03168610155b156111f857600081815260208990526040902080546001600160e01b031916905560010161119e565b82811115610daa5761120981611561565b600198909801805467ffffffffffffffff19166001600160401b03999099169890981790975550909403949350505050565b6000828201838110156104e6576040805162461bcd60e51b815260206004820152601b60248201527f536166654d6174683a206164646974696f6e206f766572666c6f770000000000604482015290519081900360640190fd5b8154600090806112a95760009150506104e9565b43831015806112db57508360000160018203815481106112c557fe5b9060005260206000209060020201600001548310155b1561130c578360000160018203815481106112f257fe5b9060005260206000209060020201600101549150506104e9565b6001840154845485908290811061131f57fe5b906000526020600020906002020160000154841015611375578015610ea75760405162461bcd60e51b81526004018080602001828103825260308152602001806117006030913960400191505060405180910390fd5b60006113828683876115a9565b905085600001818154811061139357fe5b906000526020600020906002020160010154935050505092915050565b6001810154600090600160401b90046001600160401b0316806113d75760009150506107b6565b6000190160009081526020929092525060409020546001600160a01b031690565b600081831061140757816104e6565b5090919050565b6000838161141d856001610f08565b90505b8181111561148e57600061144a6002611444600161143e868861123b565b9061123b565b90611629565b600081815260208a90526040902054909150600160a01b90046001600160401b0316851061147a57809250611488565b611485816001610f08565b91505b50611420565b5095945050505050565b8154806114dc576040805180820190915243815260208082018481528554600181810188556000888152939093209351600290910290930192835551910155611145565b60008360000160018303815481106114f057fe5b600091825260209091206002909102018054909150438114156115195760018201849055611142565b80431161152257fe5b604080518082019091524381526020808201868152875460018181018a5560008a81529390932093516002909102909301928355519101555050505050565b6000600160401b82106115a55760405162461bcd60e51b81526004018080602001828103825260268152602001806116da6026913960400191505060405180910390fd5b5090565b8254600090839082906115bd906001610f08565b90505b818111156116205760006115de6002611444600161143e868861123b565b9050848782815481106115ed57fe5b9060005260206000209060020201600001541161160c5780925061161a565b611617816001610f08565b91505b506115c0565b50949350505050565b600080821161167f576040805162461bcd60e51b815260206004820152601a60248201527f536166654d6174683a206469766973696f6e206279207a65726f000000000000604482015290519081900360640190fd5b81838161168857fe5b04939250505056fe636c65616e757020626c6f636b206d75737420626520696e207468652070617374636c65616e757020626c6f636b206e756d626572206d757374206e6576657220646563726561736553616665436173743a2076616c756520646f65736e27742066697420696e2036342062697473436865636b506f696e74486973746f72793a2072656164696e672066726f6d20636c65616e65642d757020626c6f636ba2646970667358221220b9dbb6fdeca12605f80eddaa8da0a9283ed9067c057ffba3d229118fcabba19e64736f6c63430007060033",
320
+ "bytecode": "0x60a060405234801561001057600080fd5b506040516118603803806118608339818101604052602081101561003357600080fd5b50516001600160a01b03811661007a5760405162461bcd60e51b815260040180806020018281038252602c815260200180611834602c913960400191505060405180910390fd5b606081901b6001600160601b0319166080526001600160a01b03166117656100cf600039806102f1528061031a528061055f528061069b52806106f952806107e852806109ac52806109d552506117656000f3fe608060405234801561001057600080fd5b50600436106100ea5760003560e01c80639ab24eb01161008c578063b3e871ee11610066578063b3e871ee1461022c578063eadb436214610252578063f6a494af14610294578063f7ce0ddf146102ba576100ea565b80639ab24eb0146101f65780639ca20e4e1461021c578063a72ec4b614610224576100ea565b80635c19a95c116100c85780635c19a95c1461019457806365371883146101ba57806392ab89bb146101c257806392bfe6d8146101ca576100ea565b806313de97f5146100ef57806329a59ff21461010e5780633c028e9d1461014c575b600080fd5b61010c6004803603602081101561010557600080fd5b50356102e6565b005b61013a6004803603604081101561012457600080fd5b506001600160a01b038135169060200135610479565b60408051918252519081900360200190f35b6101786004803603604081101561016257600080fd5b506001600160a01b0381351690602001356104ef565b604080516001600160a01b039092168252519081900360200190f35b61010c600480360360208110156101aa57600080fd5b50356001600160a01b03166104fd565b610178610699565b61010c6106bd565b61013a600480360360408110156101e057600080fd5b506001600160a01b0381351690602001356106c9565b61013a6004803603602081101561020c57600080fd5b50356001600160a01b03166107a7565b6101786107bb565b61013a6107ca565b6101786004803603602081101561024257600080fd5b50356001600160a01b03166107d0565b61010c600480360360a081101561026857600080fd5b506001600160a01b038135811691602081013590911690604081013590606081013590608001356107dd565b61010c600480360360208110156102aa57600080fd5b50356001600160a01b03166109a1565b61013a600480360360408110156102d057600080fd5b506001600160a01b038135169060200135610ad2565b336001600160a01b037f00000000000000000000000000000000000000000000000000000000000000001614806103a957507f00000000000000000000000000000000000000000000000000000000000000006001600160a01b0316635aa6e6756040518163ffffffff1660e01b815260040160206040518083038186803b15801561037157600080fd5b505afa158015610385573d6000803e3d6000fd5b505050506040513d602081101561039b57600080fd5b50516001600160a01b031633145b6103f5576040805162461bcd60e51b81526020600482015260186024820152776f6e6c79206f776e6572206f7220676f7665726e616e636560401b604482015290519081900360640190fd5b6002548110156104365760405162461bcd60e51b81526004018080602001828103825260288152602001806116b26028913960400191505060405180910390fd5b4381106104745760405162461bcd60e51b81526004018080602001828103825260218152602001806116916021913960400191505060405180910390fd5b600255565b6003546000906001600160a01b031633146104d3576040805162461bcd60e51b81526020600482015260156024820152741bdb9b1e4818db19585b995c8818dbdb9d1c9858dd605a1b604482015290519081900360640190fd5b6002546104e69060009085908590610b3f565b90505b92915050565b60006104e660018484610b86565b6001600160a01b03811633141561055b576040805162461bcd60e51b815260206004820152601a60248201527f63616e27742064656c656761746520746f20796f757273656c66000000000000604482015290519081900360640190fd5b60007f00000000000000000000000000000000000000000000000000000000000000006001600160a01b03166370a08231336040518263ffffffff1660e01b815260040180826001600160a01b0316815260200191505060206040518083038186803b1580156105ca57600080fd5b505afa1580156105de573d6000803e3d6000fd5b505050506040513d60208110156105f457600080fd5b505190506000610603336107d0565b90506001600160a01b0381161561061f5761061f338284610bb3565b61062b60013385610c39565b6002805461063e91600191339190610c61565b506001600160a01b0383161561065957610659338484610c95565b6040516001600160a01b03808516919083169033907f3134e8a2e6d97e929a7e54011ea5485d7d196dd5f0ba4d4ef95803e8e3fc257f90600090a4505050565b7f000000000000000000000000000000000000000000000000000000000000000081565b6106c760006104fd565b565b6000806106d7818585610caf565b905060006106e585856104ef565b90506001600160a01b03811661079f5760007f00000000000000000000000000000000000000000000000000000000000000006001600160a01b0316634ee2cd7e87876040518363ffffffff1660e01b815260040180836001600160a01b031681526020018281526020019250505060206040518083038186803b15801561076c57600080fd5b505afa158015610780573d6000803e3d6000fd5b505050506040513d602081101561079657600080fd5b50519290920191505b509392505050565b60006107b382436106c9565b90505b919050565b6003546001600160a01b031681565b60025490565b60006107b3600183610cd1565b336001600160a01b037f0000000000000000000000000000000000000000000000000000000000000000161461084d576040805162461bcd60e51b815260206004820152601060248201526f37b7363c9037bbb732b9103a37b5b2b760811b604482015290519081900360640190fd5b836001600160a01b0316856001600160a01b031614156108b4576040805162461bcd60e51b815260206004820152601a60248201527f43616e2774207472616e7366657220746f20796f757273656c66000000000000604482015290519081900360640190fd5b6001600160a01b0385161515806108d357506001600160a01b03841615155b6108dc57600080fd5b60006108e7866107d0565b905060006108f4866107d0565b90506001600160a01b038716610923576001600160a01b0381161561091e5761091e868285610c95565b610998565b6001600160a01b03861661094b576001600160a01b0382161561091e5761091e878385610bb3565b806001600160a01b0316826001600160a01b031614610998576001600160a01b0382161561097e5761097e878385610bb3565b6001600160a01b0381161561099857610998868285610c95565b50505050505050565b336001600160a01b037f0000000000000000000000000000000000000000000000000000000000000000161480610a6457507f00000000000000000000000000000000000000000000000000000000000000006001600160a01b0316635aa6e6756040518163ffffffff1660e01b815260040160206040518083038186803b158015610a2c57600080fd5b505afa158015610a40573d6000803e3d6000fd5b505050506040513d6020811015610a5657600080fd5b50516001600160a01b031633145b610ab0576040805162461bcd60e51b81526020600482015260186024820152776f6e6c79206f776e6572206f7220676f7665726e616e636560401b604482015290519081900360640190fd5b600380546001600160a01b0319166001600160a01b0392909216919091179055565b6003546000906001600160a01b03163314610b2c576040805162461bcd60e51b81526020600482015260156024820152741bdb9b1e4818db19585b995c8818dbdb9d1c9858dd605a1b604482015290519081900360640190fd5b6002546104e69060019085908590610c61565b60006001600160a01b03841615610b7a576001600160a01b0384166000908152602086905260409020610b73908484610cf2565b9050610b7e565b5060005b949350505050565b6001600160a01b0382166000908152602084905260408120610ba88184610db8565b9150505b9392505050565b6000610bbf8184610efb565b90506000610bcd8284610f08565b9050610bdb60008583610f65565b60028054610bee91600091879190610b3f565b50604080518381526020810183905281516001600160a01b038716927fdec2bacdd2f05b59de34da9b523dff8be42e5e38e818c82fdb0bae774387a724928290030190a25050505050565b6001600160a01b0382166000908152602084905260409020610c5b8183610f87565b50505050565b60006001600160a01b03841615610b7a576001600160a01b0384166000908152602086905260409020610b7390848461114a565b6000610ca18184610efb565b90506000610bcd828461123b565b6001600160a01b0382166000908152602084905260408120610ba88184611295565b6001600160a01b0381166000908152602083905260408120610b7e816113b0565b600081610d0157506000610bac565b835480610d12576000915050610bac565b60018501546000610d2f610d26838861123b565b600185036113f8565b9050815b8181108015610d65575085886000018260010181548110610d5057fe5b90600052602060002090600202016000015411155b15610d9a57876000018181548110610d7957fe5b60009182526020822060029091020181815560019081019190915501610d33565b82811115610daa57600188018190555b919091039695505050505050565b6001820154600090600160401b90046001600160401b031680610ddf5760009150506104e9565b4383101580610e1157506000198101600090815260208590526040902054600160a01b90046001600160401b03168310155b15610e3957600019016000908152602084905260409020546001600160a01b031690506104e9565b60018401546001600160401b039081166000818152602087905260409020549091600160a01b90910416841015610eb2578015610ea75760405162461bcd60e51b81526004018080602001828103825260308152602001806117006030913960400191505060405180910390fd5b6000925050506104e9565b6001850154600090610ed89087908490600160401b90046001600160401b03168861140e565b6000908152602087905260409020546001600160a01b0316935050505092915050565b60006104e6838343610caf565b600082821115610f5f576040805162461bcd60e51b815260206004820152601e60248201527f536166654d6174683a207375627472616374696f6e206f766572666c6f770000604482015290519081900360640190fd5b50900390565b6001600160a01b0382166000908152602084905260409020610c5b8183611498565b6001820154600160401b90046001600160401b031680611043576040518060400160405280836001600160a01b03168152602001610fc443611561565b6001600160401b03908116909152600080805260208681526040909120835181549490920151909216600160a01b0267ffffffffffffffff60a01b196001600160a01b039092166001600160a01b0319909416939093171691909117905560018301805467ffffffffffffffff60401b1916600160401b179055611145565b600019810160009081526020849052604090208054600160a01b90046001600160401b03164381141561108e5781546001600160a01b0319166001600160a01b038516178255611142565b80431161109757fe5b6040518060400160405280856001600160a01b031681526020016110ba43611561565b6001600160401b039081169091526000858152602088815260409091208351815494909201518316600160a01b0267ffffffffffffffff60a01b196001600160a01b039093166001600160a01b031990951694909417919091169290921790915560018087018054918601909216600160401b0267ffffffffffffffff60401b199091161790555b50505b505050565b60008161115957506000610bac565b6001840154600160401b90046001600160401b03168061117d576000915050610bac565b60018501546001600160401b0316600061119a610d26838861123b565b9050815b81811080156111cf575060018101600090815260208990526040902054600160a01b90046001600160401b03168610155b156111f857600081815260208990526040902080546001600160e01b031916905560010161119e565b82811115610daa5761120981611561565b600198909801805467ffffffffffffffff19166001600160401b03999099169890981790975550909403949350505050565b6000828201838110156104e6576040805162461bcd60e51b815260206004820152601b60248201527f536166654d6174683a206164646974696f6e206f766572666c6f770000000000604482015290519081900360640190fd5b8154600090806112a95760009150506104e9565b43831015806112db57508360000160018203815481106112c557fe5b9060005260206000209060020201600001548310155b1561130c578360000160018203815481106112f257fe5b9060005260206000209060020201600101549150506104e9565b6001840154845485908290811061131f57fe5b906000526020600020906002020160000154841015611375578015610ea75760405162461bcd60e51b81526004018080602001828103825260308152602001806117006030913960400191505060405180910390fd5b60006113828683876115a9565b905085600001818154811061139357fe5b906000526020600020906002020160010154935050505092915050565b6001810154600090600160401b90046001600160401b0316806113d75760009150506107b6565b6000190160009081526020929092525060409020546001600160a01b031690565b600081831061140757816104e6565b5090919050565b6000838161141d856001610f08565b90505b8181111561148e57600061144a6002611444600161143e868861123b565b9061123b565b90611629565b600081815260208a90526040902054909150600160a01b90046001600160401b0316851061147a57809250611488565b611485816001610f08565b91505b50611420565b5095945050505050565b8154806114dc576040805180820190915243815260208082018481528554600181810188556000888152939093209351600290910290930192835551910155611145565b60008360000160018303815481106114f057fe5b600091825260209091206002909102018054909150438114156115195760018201849055611142565b80431161152257fe5b604080518082019091524381526020808201868152875460018181018a5560008a81529390932093516002909102909301928355519101555050505050565b6000600160401b82106115a55760405162461bcd60e51b81526004018080602001828103825260268152602001806116da6026913960400191505060405180910390fd5b5090565b8254600090839082906115bd906001610f08565b90505b818111156116205760006115de6002611444600161143e868861123b565b9050848782815481106115ed57fe5b9060005260206000209060020201600001541161160c5780925061161a565b611617816001610f08565b91505b506115c0565b50949350505050565b600080821161167f576040805162461bcd60e51b815260206004820152601a60248201527f536166654d6174683a206469766973696f6e206279207a65726f000000000000604482015290519081900360640190fd5b81838161168857fe5b04939250505056fe636c65616e757020626c6f636b206d75737420626520696e207468652070617374636c65616e757020626c6f636b206e756d626572206d757374206e6576657220646563726561736553616665436173743a2076616c756520646f65736e27742066697420696e2036342062697473436865636b506f696e74486973746f72793a2072656164696e672066726f6d20636c65616e65642d757020626c6f636ba2646970667358221220a777fdba8d52771a9791f0c93635cd4435e5047f833082e215ce36c85f68274c64736f6c63430007060033676f7665726e616e6365566f7465506f776572206d7573742062656c6f6e6720746f2061205650546f6b656e",
321
+ "deployedBytecode": "0x608060405234801561001057600080fd5b50600436106100ea5760003560e01c80639ab24eb01161008c578063b3e871ee11610066578063b3e871ee1461022c578063eadb436214610252578063f6a494af14610294578063f7ce0ddf146102ba576100ea565b80639ab24eb0146101f65780639ca20e4e1461021c578063a72ec4b614610224576100ea565b80635c19a95c116100c85780635c19a95c1461019457806365371883146101ba57806392ab89bb146101c257806392bfe6d8146101ca576100ea565b806313de97f5146100ef57806329a59ff21461010e5780633c028e9d1461014c575b600080fd5b61010c6004803603602081101561010557600080fd5b50356102e6565b005b61013a6004803603604081101561012457600080fd5b506001600160a01b038135169060200135610479565b60408051918252519081900360200190f35b6101786004803603604081101561016257600080fd5b506001600160a01b0381351690602001356104ef565b604080516001600160a01b039092168252519081900360200190f35b61010c600480360360208110156101aa57600080fd5b50356001600160a01b03166104fd565b610178610699565b61010c6106bd565b61013a600480360360408110156101e057600080fd5b506001600160a01b0381351690602001356106c9565b61013a6004803603602081101561020c57600080fd5b50356001600160a01b03166107a7565b6101786107bb565b61013a6107ca565b6101786004803603602081101561024257600080fd5b50356001600160a01b03166107d0565b61010c600480360360a081101561026857600080fd5b506001600160a01b038135811691602081013590911690604081013590606081013590608001356107dd565b61010c600480360360208110156102aa57600080fd5b50356001600160a01b03166109a1565b61013a600480360360408110156102d057600080fd5b506001600160a01b038135169060200135610ad2565b336001600160a01b037f00000000000000000000000000000000000000000000000000000000000000001614806103a957507f00000000000000000000000000000000000000000000000000000000000000006001600160a01b0316635aa6e6756040518163ffffffff1660e01b815260040160206040518083038186803b15801561037157600080fd5b505afa158015610385573d6000803e3d6000fd5b505050506040513d602081101561039b57600080fd5b50516001600160a01b031633145b6103f5576040805162461bcd60e51b81526020600482015260186024820152776f6e6c79206f776e6572206f7220676f7665726e616e636560401b604482015290519081900360640190fd5b6002548110156104365760405162461bcd60e51b81526004018080602001828103825260288152602001806116b26028913960400191505060405180910390fd5b4381106104745760405162461bcd60e51b81526004018080602001828103825260218152602001806116916021913960400191505060405180910390fd5b600255565b6003546000906001600160a01b031633146104d3576040805162461bcd60e51b81526020600482015260156024820152741bdb9b1e4818db19585b995c8818dbdb9d1c9858dd605a1b604482015290519081900360640190fd5b6002546104e69060009085908590610b3f565b90505b92915050565b60006104e660018484610b86565b6001600160a01b03811633141561055b576040805162461bcd60e51b815260206004820152601a60248201527f63616e27742064656c656761746520746f20796f757273656c66000000000000604482015290519081900360640190fd5b60007f00000000000000000000000000000000000000000000000000000000000000006001600160a01b03166370a08231336040518263ffffffff1660e01b815260040180826001600160a01b0316815260200191505060206040518083038186803b1580156105ca57600080fd5b505afa1580156105de573d6000803e3d6000fd5b505050506040513d60208110156105f457600080fd5b505190506000610603336107d0565b90506001600160a01b0381161561061f5761061f338284610bb3565b61062b60013385610c39565b6002805461063e91600191339190610c61565b506001600160a01b0383161561065957610659338484610c95565b6040516001600160a01b03808516919083169033907f3134e8a2e6d97e929a7e54011ea5485d7d196dd5f0ba4d4ef95803e8e3fc257f90600090a4505050565b7f000000000000000000000000000000000000000000000000000000000000000081565b6106c760006104fd565b565b6000806106d7818585610caf565b905060006106e585856104ef565b90506001600160a01b03811661079f5760007f00000000000000000000000000000000000000000000000000000000000000006001600160a01b0316634ee2cd7e87876040518363ffffffff1660e01b815260040180836001600160a01b031681526020018281526020019250505060206040518083038186803b15801561076c57600080fd5b505afa158015610780573d6000803e3d6000fd5b505050506040513d602081101561079657600080fd5b50519290920191505b509392505050565b60006107b382436106c9565b90505b919050565b6003546001600160a01b031681565b60025490565b60006107b3600183610cd1565b336001600160a01b037f0000000000000000000000000000000000000000000000000000000000000000161461084d576040805162461bcd60e51b815260206004820152601060248201526f37b7363c9037bbb732b9103a37b5b2b760811b604482015290519081900360640190fd5b836001600160a01b0316856001600160a01b031614156108b4576040805162461bcd60e51b815260206004820152601a60248201527f43616e2774207472616e7366657220746f20796f757273656c66000000000000604482015290519081900360640190fd5b6001600160a01b0385161515806108d357506001600160a01b03841615155b6108dc57600080fd5b60006108e7866107d0565b905060006108f4866107d0565b90506001600160a01b038716610923576001600160a01b0381161561091e5761091e868285610c95565b610998565b6001600160a01b03861661094b576001600160a01b0382161561091e5761091e878385610bb3565b806001600160a01b0316826001600160a01b031614610998576001600160a01b0382161561097e5761097e878385610bb3565b6001600160a01b0381161561099857610998868285610c95565b50505050505050565b336001600160a01b037f0000000000000000000000000000000000000000000000000000000000000000161480610a6457507f00000000000000000000000000000000000000000000000000000000000000006001600160a01b0316635aa6e6756040518163ffffffff1660e01b815260040160206040518083038186803b158015610a2c57600080fd5b505afa158015610a40573d6000803e3d6000fd5b505050506040513d6020811015610a5657600080fd5b50516001600160a01b031633145b610ab0576040805162461bcd60e51b81526020600482015260186024820152776f6e6c79206f776e6572206f7220676f7665726e616e636560401b604482015290519081900360640190fd5b600380546001600160a01b0319166001600160a01b0392909216919091179055565b6003546000906001600160a01b03163314610b2c576040805162461bcd60e51b81526020600482015260156024820152741bdb9b1e4818db19585b995c8818dbdb9d1c9858dd605a1b604482015290519081900360640190fd5b6002546104e69060019085908590610c61565b60006001600160a01b03841615610b7a576001600160a01b0384166000908152602086905260409020610b73908484610cf2565b9050610b7e565b5060005b949350505050565b6001600160a01b0382166000908152602084905260408120610ba88184610db8565b9150505b9392505050565b6000610bbf8184610efb565b90506000610bcd8284610f08565b9050610bdb60008583610f65565b60028054610bee91600091879190610b3f565b50604080518381526020810183905281516001600160a01b038716927fdec2bacdd2f05b59de34da9b523dff8be42e5e38e818c82fdb0bae774387a724928290030190a25050505050565b6001600160a01b0382166000908152602084905260409020610c5b8183610f87565b50505050565b60006001600160a01b03841615610b7a576001600160a01b0384166000908152602086905260409020610b7390848461114a565b6000610ca18184610efb565b90506000610bcd828461123b565b6001600160a01b0382166000908152602084905260408120610ba88184611295565b6001600160a01b0381166000908152602083905260408120610b7e816113b0565b600081610d0157506000610bac565b835480610d12576000915050610bac565b60018501546000610d2f610d26838861123b565b600185036113f8565b9050815b8181108015610d65575085886000018260010181548110610d5057fe5b90600052602060002090600202016000015411155b15610d9a57876000018181548110610d7957fe5b60009182526020822060029091020181815560019081019190915501610d33565b82811115610daa57600188018190555b919091039695505050505050565b6001820154600090600160401b90046001600160401b031680610ddf5760009150506104e9565b4383101580610e1157506000198101600090815260208590526040902054600160a01b90046001600160401b03168310155b15610e3957600019016000908152602084905260409020546001600160a01b031690506104e9565b60018401546001600160401b039081166000818152602087905260409020549091600160a01b90910416841015610eb2578015610ea75760405162461bcd60e51b81526004018080602001828103825260308152602001806117006030913960400191505060405180910390fd5b6000925050506104e9565b6001850154600090610ed89087908490600160401b90046001600160401b03168861140e565b6000908152602087905260409020546001600160a01b0316935050505092915050565b60006104e6838343610caf565b600082821115610f5f576040805162461bcd60e51b815260206004820152601e60248201527f536166654d6174683a207375627472616374696f6e206f766572666c6f770000604482015290519081900360640190fd5b50900390565b6001600160a01b0382166000908152602084905260409020610c5b8183611498565b6001820154600160401b90046001600160401b031680611043576040518060400160405280836001600160a01b03168152602001610fc443611561565b6001600160401b03908116909152600080805260208681526040909120835181549490920151909216600160a01b0267ffffffffffffffff60a01b196001600160a01b039092166001600160a01b0319909416939093171691909117905560018301805467ffffffffffffffff60401b1916600160401b179055611145565b600019810160009081526020849052604090208054600160a01b90046001600160401b03164381141561108e5781546001600160a01b0319166001600160a01b038516178255611142565b80431161109757fe5b6040518060400160405280856001600160a01b031681526020016110ba43611561565b6001600160401b039081169091526000858152602088815260409091208351815494909201518316600160a01b0267ffffffffffffffff60a01b196001600160a01b039093166001600160a01b031990951694909417919091169290921790915560018087018054918601909216600160401b0267ffffffffffffffff60401b199091161790555b50505b505050565b60008161115957506000610bac565b6001840154600160401b90046001600160401b03168061117d576000915050610bac565b60018501546001600160401b0316600061119a610d26838861123b565b9050815b81811080156111cf575060018101600090815260208990526040902054600160a01b90046001600160401b03168610155b156111f857600081815260208990526040902080546001600160e01b031916905560010161119e565b82811115610daa5761120981611561565b600198909801805467ffffffffffffffff19166001600160401b03999099169890981790975550909403949350505050565b6000828201838110156104e6576040805162461bcd60e51b815260206004820152601b60248201527f536166654d6174683a206164646974696f6e206f766572666c6f770000000000604482015290519081900360640190fd5b8154600090806112a95760009150506104e9565b43831015806112db57508360000160018203815481106112c557fe5b9060005260206000209060020201600001548310155b1561130c578360000160018203815481106112f257fe5b9060005260206000209060020201600101549150506104e9565b6001840154845485908290811061131f57fe5b906000526020600020906002020160000154841015611375578015610ea75760405162461bcd60e51b81526004018080602001828103825260308152602001806117006030913960400191505060405180910390fd5b60006113828683876115a9565b905085600001818154811061139357fe5b906000526020600020906002020160010154935050505092915050565b6001810154600090600160401b90046001600160401b0316806113d75760009150506107b6565b6000190160009081526020929092525060409020546001600160a01b031690565b600081831061140757816104e6565b5090919050565b6000838161141d856001610f08565b90505b8181111561148e57600061144a6002611444600161143e868861123b565b9061123b565b90611629565b600081815260208a90526040902054909150600160a01b90046001600160401b0316851061147a57809250611488565b611485816001610f08565b91505b50611420565b5095945050505050565b8154806114dc576040805180820190915243815260208082018481528554600181810188556000888152939093209351600290910290930192835551910155611145565b60008360000160018303815481106114f057fe5b600091825260209091206002909102018054909150438114156115195760018201849055611142565b80431161152257fe5b604080518082019091524381526020808201868152875460018181018a5560008a81529390932093516002909102909301928355519101555050505050565b6000600160401b82106115a55760405162461bcd60e51b81526004018080602001828103825260268152602001806116da6026913960400191505060405180910390fd5b5090565b8254600090839082906115bd906001610f08565b90505b818111156116205760006115de6002611444600161143e868861123b565b9050848782815481106115ed57fe5b9060005260206000209060020201600001541161160c5780925061161a565b611617816001610f08565b91505b506115c0565b50949350505050565b600080821161167f576040805162461bcd60e51b815260206004820152601a60248201527f536166654d6174683a206469766973696f6e206279207a65726f000000000000604482015290519081900360640190fd5b81838161168857fe5b04939250505056fe636c65616e757020626c6f636b206d75737420626520696e207468652070617374636c65616e757020626c6f636b206e756d626572206d757374206e6576657220646563726561736553616665436173743a2076616c756520646f65736e27742066697420696e2036342062697473436865636b506f696e74486973746f72793a2072656164696e672066726f6d20636c65616e65642d757020626c6f636ba2646970667358221220a777fdba8d52771a9791f0c93635cd4435e5047f833082e215ce36c85f68274c64736f6c63430007060033",
322
322
  "linkReferences": {},
323
323
  "deployedLinkReferences": {}
324
324
  }