@flarenetwork/flare-periphery-contract-artifacts 0.0.3 → 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 (210) hide show
  1. package/dist/coston/abis.coston.d.ts.map +1 -1
  2. package/dist/coston/abis.coston.js +14 -4
  3. package/dist/coston/abis.coston.js.map +1 -1
  4. package/dist/coston/artifacts/contracts/assetRegistry/implementation/FlareAssetRegistry.sol/FlareAssetRegistry.json +525 -0
  5. package/dist/coston/artifacts/contracts/assetRegistry/implementation/WNatRegistryProvider.sol/WNatRegistryProvider.json +113 -0
  6. package/dist/coston/artifacts/contracts/assetRegistry/interface/IIERC20WithMetadata.sol/IIERC20WithMetadata.json +233 -0
  7. package/dist/coston/artifacts/contracts/assetRegistry/interface/IIFlareAssetRegistry.sol/IIFlareAssetRegistry.json +316 -0
  8. package/dist/coston/artifacts/contracts/assetRegistry/interface/IIFlareAssetRegistryProvider.sol/IIFlareAssetRegistryProvider.json +66 -0
  9. package/dist/coston/artifacts/contracts/assetRegistry/lib/StandardAttributes.sol/StandardAttributes.json +10 -0
  10. package/dist/coston/artifacts/contracts/claiming/implementation/ClaimSetupManager.sol/ClaimSetupManager.json +2 -2
  11. package/dist/coston/artifacts/contracts/claiming/implementation/DelegationAccount.sol/DelegationAccount.json +2 -2
  12. package/dist/coston/artifacts/contracts/ftso/implementation/Ftso.sol/Ftso.json +2 -2
  13. package/dist/coston/artifacts/contracts/ftso/implementation/FtsoManager.sol/FtsoManager.json +3 -3
  14. package/dist/coston/artifacts/contracts/ftso/lib/FtsoEpoch.sol/FtsoEpoch.json +2 -2
  15. package/dist/coston/artifacts/contracts/ftso/lib/FtsoManagement.sol/FtsoManagement.json +2 -2
  16. package/dist/coston/artifacts/contracts/ftso/lib/FtsoVote.sol/FtsoVote.json +2 -2
  17. package/dist/coston/artifacts/contracts/ftso/priceProviderMockContracts/PriceProviderMockContracts.sol/MockFtsoRegistry.json +2 -2
  18. package/dist/coston/artifacts/contracts/ftso/priceProviderMockContracts/PriceProviderMockContracts.sol/MockPriceSubmitter.json +2 -2
  19. package/dist/coston/artifacts/contracts/ftso/priceProviderMockContracts/PriceProviderMockContracts.sol/MockVoterWhitelister.json +40 -2
  20. package/dist/coston/artifacts/contracts/genesis/implementation/FlareDaemon.sol/FlareDaemon.json +2 -2
  21. package/dist/coston/artifacts/contracts/governance/implementation/InflationAllocation.sol/InflationAllocation.json +2 -2
  22. package/dist/coston/artifacts/contracts/governance/implementation/PollingFoundation.sol/PollingFoundation.json +2 -2
  23. package/dist/coston/artifacts/contracts/governance/implementation/PollingFtso.sol/PollingFtso.json +1187 -0
  24. package/dist/coston/artifacts/contracts/inflation/implementation/Inflation.sol/Inflation.json +2 -2
  25. package/dist/coston/artifacts/contracts/inflation/lib/InflationAnnum.sol/InflationAnnum.json +2 -2
  26. package/dist/coston/artifacts/contracts/inflation/lib/InflationAnnums.sol/InflationAnnums.json +2 -2
  27. package/dist/coston/artifacts/contracts/inflation/lib/RewardService.sol/RewardService.json +2 -2
  28. package/dist/coston/artifacts/contracts/inflation/lib/RewardServices.sol/RewardServices.json +2 -2
  29. package/dist/coston/artifacts/contracts/token/implementation/CleanupBlockNumberManager.sol/CleanupBlockNumberManager.json +172 -37
  30. package/dist/coston/artifacts/contracts/token/implementation/Delegatable.sol/Delegatable.json +2 -2
  31. package/dist/coston/artifacts/contracts/token/implementation/GovernanceVotePower.sol/GovernanceVotePower.json +2 -2
  32. package/dist/coston/artifacts/contracts/token/implementation/VPContract.sol/VPContract.json +2 -2
  33. package/dist/coston/artifacts/contracts/token/implementation/VPToken.sol/VPToken.json +2 -2
  34. package/dist/coston/artifacts/contracts/token/implementation/WNat.sol/WNat.json +2 -2
  35. package/dist/coston/artifacts/contracts/token/lib/DelegationHistory.sol/DelegationHistory.json +2 -2
  36. package/dist/coston/artifacts/contracts/token/lib/ExplicitDelegation.sol/ExplicitDelegation.json +2 -2
  37. package/dist/coston/artifacts/contracts/token/lib/PercentageDelegation.sol/PercentageDelegation.json +2 -2
  38. package/dist/coston/artifacts/contracts/tokenPools/implementation/FtsoRewardManager.sol/FtsoRewardManager.json +523 -138
  39. package/dist/coston/artifacts/contracts/tokenPools/interface/IIFtsoRewardManager.sol/IIFtsoRewardManager.json +322 -0
  40. package/dist/coston/artifacts/contracts/utils/implementation/FtsoV2Upgrader.sol/FtsoV2Upgrader.json +2 -2
  41. package/dist/coston/artifacts/contracts/utils/implementation/GovernedAndFlareDaemonized.sol/GovernedAndFlareDaemonized.json +2 -2
  42. package/dist/coston/artifacts/contracts/utils/implementation/GovernedAndFlareDaemonizedV2.sol/GovernedAndFlareDaemonizedV2.json +2 -2
  43. package/dist/coston/artifacts/contracts/utils/implementation/SafePct.sol/SafePct.json +2 -2
  44. package/dist/coston/artifacts/contracts/utils/implementation/VoterWhitelister.sol/VoterWhitelister.json +276 -41
  45. package/dist/coston/artifacts/contracts/utils/interface/IIVoterWhitelister.sol/IIVoterWhitelister.json +72 -0
  46. package/dist/coston/deploys/contractAddresses.d.ts +5 -0
  47. package/dist/coston/deploys/contractAddresses.d.ts.map +1 -1
  48. package/dist/coston/deploys/contractAddresses.js +8 -3
  49. package/dist/coston/deploys/contractAddresses.js.map +1 -1
  50. package/dist/coston/deploys/coston.json +28 -3
  51. package/dist/coston2/abis.coston2.d.ts.map +1 -1
  52. package/dist/coston2/abis.coston2.js +2 -0
  53. package/dist/coston2/abis.coston2.js.map +1 -1
  54. package/dist/coston2/artifacts/contracts/claiming/implementation/ClaimSetupManager.sol/ClaimSetupManager.json +2 -2
  55. package/dist/coston2/artifacts/contracts/claiming/implementation/DelegationAccount.sol/DelegationAccount.json +2 -2
  56. package/dist/coston2/artifacts/contracts/ftso/implementation/Ftso.sol/Ftso.json +2 -2
  57. package/dist/coston2/artifacts/contracts/ftso/implementation/FtsoManager.sol/FtsoManager.json +2 -2
  58. package/dist/coston2/artifacts/contracts/ftso/lib/FtsoEpoch.sol/FtsoEpoch.json +2 -2
  59. package/dist/coston2/artifacts/contracts/ftso/lib/FtsoManagement.sol/FtsoManagement.json +2 -2
  60. package/dist/coston2/artifacts/contracts/ftso/lib/FtsoVote.sol/FtsoVote.json +2 -2
  61. package/dist/coston2/artifacts/contracts/ftso/priceProviderMockContracts/PriceProviderMockContracts.sol/MockFtsoRegistry.json +2 -2
  62. package/dist/coston2/artifacts/contracts/ftso/priceProviderMockContracts/PriceProviderMockContracts.sol/MockPriceSubmitter.json +2 -2
  63. package/dist/coston2/artifacts/contracts/ftso/priceProviderMockContracts/PriceProviderMockContracts.sol/MockVoterWhitelister.json +40 -2
  64. package/dist/coston2/artifacts/contracts/genesis/implementation/FlareDaemon.sol/FlareDaemon.json +2 -2
  65. package/dist/coston2/artifacts/contracts/genesis/implementation/InitialAirdrop.sol/InitialAirdrop.json +2 -2
  66. package/dist/coston2/artifacts/contracts/governance/implementation/PollingFoundation.sol/PollingFoundation.json +2 -2
  67. package/dist/coston2/artifacts/contracts/governance/implementation/PollingFtso.sol/PollingFtso.json +1187 -0
  68. package/dist/coston2/artifacts/contracts/inflation/implementation/Inflation.sol/Inflation.json +2 -2
  69. package/dist/coston2/artifacts/contracts/inflation/implementation/InflationAllocation.sol/InflationAllocation.json +2 -2
  70. package/dist/coston2/artifacts/contracts/inflation/lib/InflationAnnum.sol/InflationAnnum.json +2 -2
  71. package/dist/coston2/artifacts/contracts/inflation/lib/InflationAnnums.sol/InflationAnnums.json +2 -2
  72. package/dist/coston2/artifacts/contracts/inflation/lib/RewardService.sol/RewardService.json +2 -2
  73. package/dist/coston2/artifacts/contracts/inflation/lib/RewardServices.sol/RewardServices.json +2 -2
  74. package/dist/coston2/artifacts/contracts/token/implementation/Delegatable.sol/Delegatable.json +2 -2
  75. package/dist/coston2/artifacts/contracts/token/implementation/GovernanceVotePower.sol/GovernanceVotePower.json +2 -2
  76. package/dist/coston2/artifacts/contracts/token/implementation/VPContract.sol/VPContract.json +2 -2
  77. package/dist/coston2/artifacts/contracts/token/implementation/VPToken.sol/VPToken.json +2 -2
  78. package/dist/coston2/artifacts/contracts/token/implementation/WNat.sol/WNat.json +2 -2
  79. package/dist/coston2/artifacts/contracts/token/lib/DelegationHistory.sol/DelegationHistory.json +2 -2
  80. package/dist/coston2/artifacts/contracts/token/lib/ExplicitDelegation.sol/ExplicitDelegation.json +2 -2
  81. package/dist/coston2/artifacts/contracts/token/lib/PercentageDelegation.sol/PercentageDelegation.json +2 -2
  82. package/dist/coston2/artifacts/contracts/tokenPools/implementation/AttestationProviderRewardManager.sol/AttestationProviderRewardManager.json +2 -2
  83. package/dist/coston2/artifacts/contracts/tokenPools/implementation/DistributionToDelegators.sol/DistributionToDelegators.json +2 -2
  84. package/dist/coston2/artifacts/contracts/tokenPools/implementation/Escrow.sol/Escrow.json +2 -2
  85. package/dist/coston2/artifacts/contracts/tokenPools/implementation/FtsoRewardManager.sol/FtsoRewardManager.json +2 -2
  86. package/dist/coston2/artifacts/contracts/tokenPools/implementation/IncentivePool.sol/IncentivePool.json +2 -2
  87. package/dist/coston2/artifacts/contracts/tokenPools/implementation/IncentivePoolAllocation.sol/IncentivePoolAllocation.json +2 -2
  88. package/dist/coston2/artifacts/contracts/tokenPools/implementation/ValidatorRewardManager.sol/ValidatorRewardManager.json +2 -2
  89. package/dist/coston2/artifacts/contracts/tokenPools/lib/IncentivePoolAnnum.sol/IncentivePoolAnnum.json +2 -2
  90. package/dist/coston2/artifacts/contracts/tokenPools/lib/IncentivePoolAnnums.sol/IncentivePoolAnnums.json +2 -2
  91. package/dist/coston2/artifacts/contracts/tokenPools/lib/IncentivePoolRewardService.sol/IncentivePoolRewardService.json +2 -2
  92. package/dist/coston2/artifacts/contracts/tokenPools/lib/IncentivePoolRewardServices.sol/IncentivePoolRewardServices.json +2 -2
  93. package/dist/coston2/artifacts/contracts/utils/implementation/FundDistributor.sol/FundDistributor.json +2 -2
  94. package/dist/coston2/artifacts/contracts/utils/implementation/GovernedAndFlareDaemonized.sol/GovernedAndFlareDaemonized.json +2 -2
  95. package/dist/coston2/artifacts/contracts/utils/implementation/SafePct.sol/SafePct.json +2 -2
  96. package/dist/coston2/artifacts/contracts/utils/implementation/VoterWhitelister.sol/VoterWhitelister.json +126 -3
  97. package/dist/coston2/artifacts/contracts/utils/interface/IIVoterWhitelister.sol/IIVoterWhitelister.json +72 -0
  98. package/dist/coston2/deploys/contractAddresses.d.ts +1 -0
  99. package/dist/coston2/deploys/contractAddresses.d.ts.map +1 -1
  100. package/dist/coston2/deploys/contractAddresses.js +2 -1
  101. package/dist/coston2/deploys/contractAddresses.js.map +1 -1
  102. package/dist/coston2/deploys/coston2.json +6 -1
  103. package/dist/flare/abis.flare.d.ts.map +1 -1
  104. package/dist/flare/abis.flare.js +2 -0
  105. package/dist/flare/abis.flare.js.map +1 -1
  106. package/dist/flare/artifacts/contracts/claiming/implementation/ClaimSetupManager.sol/ClaimSetupManager.json +2 -2
  107. package/dist/flare/artifacts/contracts/claiming/implementation/DelegationAccount.sol/DelegationAccount.json +2 -2
  108. package/dist/flare/artifacts/contracts/ftso/implementation/Ftso.sol/Ftso.json +2 -2
  109. package/dist/flare/artifacts/contracts/ftso/implementation/FtsoManager.sol/FtsoManager.json +2 -2
  110. package/dist/flare/artifacts/contracts/ftso/lib/FtsoEpoch.sol/FtsoEpoch.json +2 -2
  111. package/dist/flare/artifacts/contracts/ftso/lib/FtsoManagement.sol/FtsoManagement.json +2 -2
  112. package/dist/flare/artifacts/contracts/ftso/lib/FtsoVote.sol/FtsoVote.json +2 -2
  113. package/dist/flare/artifacts/contracts/ftso/priceProviderMockContracts/PriceProviderMockContracts.sol/MockFtsoRegistry.json +2 -2
  114. package/dist/flare/artifacts/contracts/ftso/priceProviderMockContracts/PriceProviderMockContracts.sol/MockPriceSubmitter.json +2 -2
  115. package/dist/flare/artifacts/contracts/ftso/priceProviderMockContracts/PriceProviderMockContracts.sol/MockVoterWhitelister.json +40 -2
  116. package/dist/flare/artifacts/contracts/genesis/implementation/FlareDaemon.sol/FlareDaemon.json +2 -2
  117. package/dist/flare/artifacts/contracts/genesis/implementation/InitialAirdrop.sol/InitialAirdrop.json +2 -2
  118. package/dist/flare/artifacts/contracts/governance/implementation/PollingFoundation.sol/PollingFoundation.json +2 -2
  119. package/dist/flare/artifacts/contracts/governance/implementation/PollingFtso.sol/PollingFtso.json +1187 -0
  120. package/dist/flare/artifacts/contracts/inflation/implementation/Inflation.sol/Inflation.json +2 -2
  121. package/dist/flare/artifacts/contracts/inflation/implementation/InflationAllocation.sol/InflationAllocation.json +2 -2
  122. package/dist/flare/artifacts/contracts/inflation/lib/InflationAnnum.sol/InflationAnnum.json +2 -2
  123. package/dist/flare/artifacts/contracts/inflation/lib/InflationAnnums.sol/InflationAnnums.json +2 -2
  124. package/dist/flare/artifacts/contracts/inflation/lib/RewardService.sol/RewardService.json +2 -2
  125. package/dist/flare/artifacts/contracts/inflation/lib/RewardServices.sol/RewardServices.json +2 -2
  126. package/dist/flare/artifacts/contracts/token/implementation/Delegatable.sol/Delegatable.json +2 -2
  127. package/dist/flare/artifacts/contracts/token/implementation/GovernanceVotePower.sol/GovernanceVotePower.json +2 -2
  128. package/dist/flare/artifacts/contracts/token/implementation/VPContract.sol/VPContract.json +2 -2
  129. package/dist/flare/artifacts/contracts/token/implementation/VPToken.sol/VPToken.json +2 -2
  130. package/dist/flare/artifacts/contracts/token/implementation/WNat.sol/WNat.json +2 -2
  131. package/dist/flare/artifacts/contracts/token/lib/DelegationHistory.sol/DelegationHistory.json +2 -2
  132. package/dist/flare/artifacts/contracts/token/lib/ExplicitDelegation.sol/ExplicitDelegation.json +2 -2
  133. package/dist/flare/artifacts/contracts/token/lib/PercentageDelegation.sol/PercentageDelegation.json +2 -2
  134. package/dist/flare/artifacts/contracts/tokenPools/implementation/AttestationProviderRewardManager.sol/AttestationProviderRewardManager.json +2 -2
  135. package/dist/flare/artifacts/contracts/tokenPools/implementation/DistributionToDelegators.sol/DistributionToDelegators.json +2 -2
  136. package/dist/flare/artifacts/contracts/tokenPools/implementation/Escrow.sol/Escrow.json +2 -2
  137. package/dist/flare/artifacts/contracts/tokenPools/implementation/FtsoRewardManager.sol/FtsoRewardManager.json +2 -2
  138. package/dist/flare/artifacts/contracts/tokenPools/implementation/IncentivePool.sol/IncentivePool.json +2 -2
  139. package/dist/flare/artifacts/contracts/tokenPools/implementation/IncentivePoolAllocation.sol/IncentivePoolAllocation.json +2 -2
  140. package/dist/flare/artifacts/contracts/tokenPools/implementation/ValidatorRewardManager.sol/ValidatorRewardManager.json +2 -2
  141. package/dist/flare/artifacts/contracts/tokenPools/lib/IncentivePoolAnnum.sol/IncentivePoolAnnum.json +2 -2
  142. package/dist/flare/artifacts/contracts/tokenPools/lib/IncentivePoolAnnums.sol/IncentivePoolAnnums.json +2 -2
  143. package/dist/flare/artifacts/contracts/tokenPools/lib/IncentivePoolRewardService.sol/IncentivePoolRewardService.json +2 -2
  144. package/dist/flare/artifacts/contracts/tokenPools/lib/IncentivePoolRewardServices.sol/IncentivePoolRewardServices.json +2 -2
  145. package/dist/flare/artifacts/contracts/utils/implementation/FundDistributor.sol/FundDistributor.json +2 -2
  146. package/dist/flare/artifacts/contracts/utils/implementation/GovernedAndFlareDaemonized.sol/GovernedAndFlareDaemonized.json +2 -2
  147. package/dist/flare/artifacts/contracts/utils/implementation/SafePct.sol/SafePct.json +2 -2
  148. package/dist/flare/artifacts/contracts/utils/implementation/VoterWhitelister.sol/VoterWhitelister.json +126 -3
  149. package/dist/flare/artifacts/contracts/utils/interface/IIVoterWhitelister.sol/IIVoterWhitelister.json +72 -0
  150. package/dist/flare/deploys/contractAddresses.d.ts +2 -0
  151. package/dist/flare/deploys/contractAddresses.d.ts.map +1 -1
  152. package/dist/flare/deploys/contractAddresses.js +3 -1
  153. package/dist/flare/deploys/contractAddresses.js.map +1 -1
  154. package/dist/flare/deploys/flare.json +11 -1
  155. package/dist/package.json +1 -1
  156. package/dist/songbird/abis.songbird.d.ts.map +1 -1
  157. package/dist/songbird/abis.songbird.js +14 -4
  158. package/dist/songbird/abis.songbird.js.map +1 -1
  159. package/dist/songbird/artifacts/contracts/assetRegistry/implementation/FlareAssetRegistry.sol/FlareAssetRegistry.json +525 -0
  160. package/dist/songbird/artifacts/contracts/assetRegistry/implementation/WNatRegistryProvider.sol/WNatRegistryProvider.json +113 -0
  161. package/dist/songbird/artifacts/contracts/assetRegistry/interface/IIERC20WithMetadata.sol/IIERC20WithMetadata.json +233 -0
  162. package/dist/songbird/artifacts/contracts/assetRegistry/interface/IIFlareAssetRegistry.sol/IIFlareAssetRegistry.json +316 -0
  163. package/dist/songbird/artifacts/contracts/assetRegistry/interface/IIFlareAssetRegistryProvider.sol/IIFlareAssetRegistryProvider.json +66 -0
  164. package/dist/songbird/artifacts/contracts/assetRegistry/lib/StandardAttributes.sol/StandardAttributes.json +10 -0
  165. package/dist/songbird/artifacts/contracts/claiming/implementation/ClaimSetupManager.sol/ClaimSetupManager.json +2 -2
  166. package/dist/songbird/artifacts/contracts/claiming/implementation/DelegationAccount.sol/DelegationAccount.json +2 -2
  167. package/dist/songbird/artifacts/contracts/ftso/implementation/Ftso.sol/Ftso.json +2 -2
  168. package/dist/songbird/artifacts/contracts/ftso/implementation/FtsoManager.sol/FtsoManager.json +3 -3
  169. package/dist/songbird/artifacts/contracts/ftso/lib/FtsoEpoch.sol/FtsoEpoch.json +2 -2
  170. package/dist/songbird/artifacts/contracts/ftso/lib/FtsoManagement.sol/FtsoManagement.json +2 -2
  171. package/dist/songbird/artifacts/contracts/ftso/lib/FtsoVote.sol/FtsoVote.json +2 -2
  172. package/dist/songbird/artifacts/contracts/ftso/priceProviderMockContracts/PriceProviderMockContracts.sol/MockFtsoRegistry.json +2 -2
  173. package/dist/songbird/artifacts/contracts/ftso/priceProviderMockContracts/PriceProviderMockContracts.sol/MockPriceSubmitter.json +2 -2
  174. package/dist/songbird/artifacts/contracts/ftso/priceProviderMockContracts/PriceProviderMockContracts.sol/MockVoterWhitelister.json +40 -2
  175. package/dist/songbird/artifacts/contracts/genesis/implementation/FlareDaemon.sol/FlareDaemon.json +2 -2
  176. package/dist/songbird/artifacts/contracts/governance/implementation/InflationAllocation.sol/InflationAllocation.json +2 -2
  177. package/dist/songbird/artifacts/contracts/governance/implementation/PollingFoundation.sol/PollingFoundation.json +2 -2
  178. package/dist/songbird/artifacts/contracts/governance/implementation/PollingFtso.sol/PollingFtso.json +1187 -0
  179. package/dist/songbird/artifacts/contracts/inflation/implementation/Inflation.sol/Inflation.json +2 -2
  180. package/dist/songbird/artifacts/contracts/inflation/lib/InflationAnnum.sol/InflationAnnum.json +2 -2
  181. package/dist/songbird/artifacts/contracts/inflation/lib/InflationAnnums.sol/InflationAnnums.json +2 -2
  182. package/dist/songbird/artifacts/contracts/inflation/lib/RewardService.sol/RewardService.json +2 -2
  183. package/dist/songbird/artifacts/contracts/inflation/lib/RewardServices.sol/RewardServices.json +2 -2
  184. package/dist/songbird/artifacts/contracts/token/implementation/CleanupBlockNumberManager.sol/CleanupBlockNumberManager.json +172 -37
  185. package/dist/songbird/artifacts/contracts/token/implementation/Delegatable.sol/Delegatable.json +2 -2
  186. package/dist/songbird/artifacts/contracts/token/implementation/GovernanceVotePower.sol/GovernanceVotePower.json +2 -2
  187. package/dist/songbird/artifacts/contracts/token/implementation/VPContract.sol/VPContract.json +2 -2
  188. package/dist/songbird/artifacts/contracts/token/implementation/VPToken.sol/VPToken.json +2 -2
  189. package/dist/songbird/artifacts/contracts/token/implementation/WNat.sol/WNat.json +2 -2
  190. package/dist/songbird/artifacts/contracts/token/lib/DelegationHistory.sol/DelegationHistory.json +2 -2
  191. package/dist/songbird/artifacts/contracts/token/lib/ExplicitDelegation.sol/ExplicitDelegation.json +2 -2
  192. package/dist/songbird/artifacts/contracts/token/lib/PercentageDelegation.sol/PercentageDelegation.json +2 -2
  193. package/dist/songbird/artifacts/contracts/tokenPools/implementation/FtsoRewardManager.sol/FtsoRewardManager.json +523 -138
  194. package/dist/songbird/artifacts/contracts/tokenPools/interface/IIFtsoRewardManager.sol/IIFtsoRewardManager.json +322 -0
  195. package/dist/songbird/artifacts/contracts/utils/implementation/FtsoV2Upgrader.sol/FtsoV2Upgrader.json +2 -2
  196. package/dist/songbird/artifacts/contracts/utils/implementation/GovernedAndFlareDaemonized.sol/GovernedAndFlareDaemonized.json +2 -2
  197. package/dist/songbird/artifacts/contracts/utils/implementation/GovernedAndFlareDaemonizedV2.sol/GovernedAndFlareDaemonizedV2.json +2 -2
  198. package/dist/songbird/artifacts/contracts/utils/implementation/SafePct.sol/SafePct.json +2 -2
  199. package/dist/songbird/artifacts/contracts/utils/implementation/VoterWhitelister.sol/VoterWhitelister.json +276 -41
  200. package/dist/songbird/artifacts/contracts/utils/interface/IIVoterWhitelister.sol/IIVoterWhitelister.json +72 -0
  201. package/dist/songbird/deploys/contractAddresses.d.ts +5 -0
  202. package/dist/songbird/deploys/contractAddresses.d.ts.map +1 -1
  203. package/dist/songbird/deploys/contractAddresses.js +8 -3
  204. package/dist/songbird/deploys/contractAddresses.js.map +1 -1
  205. package/dist/songbird/deploys/songbird.json +28 -3
  206. package/package.json +1 -1
  207. package/dist/coston/artifacts/contracts/tokenPools/implementation/Distribution.sol/Distribution.json +0 -414
  208. package/dist/coston/artifacts/contracts/tokenPools/interface/IIFtsoRewardManagerV2.sol/IIFtsoRewardManagerV2.json +0 -949
  209. package/dist/songbird/artifacts/contracts/tokenPools/implementation/Distribution.sol/Distribution.json +0 -414
  210. package/dist/songbird/artifacts/contracts/tokenPools/interface/IIFtsoRewardManagerV2.sol/IIFtsoRewardManagerV2.json +0 -949
@@ -10,6 +10,11 @@
10
10
  "name": "_governance",
11
11
  "type": "address"
12
12
  },
13
+ {
14
+ "internalType": "address",
15
+ "name": "_addressUpdater",
16
+ "type": "address"
17
+ },
13
18
  {
14
19
  "internalType": "contract IIPriceSubmitter",
15
20
  "name": "_priceSubmitter",
@@ -19,22 +24,52 @@
19
24
  "internalType": "uint256",
20
25
  "name": "_defaultMaxVotersForFtso",
21
26
  "type": "uint256"
27
+ },
28
+ {
29
+ "internalType": "contract IVoterWhitelister",
30
+ "name": "_oldVoterWhitelister",
31
+ "type": "address"
22
32
  }
23
33
  ],
24
34
  "stateMutability": "nonpayable",
25
35
  "type": "constructor"
26
36
  },
37
+ {
38
+ "anonymous": false,
39
+ "inputs": [
40
+ {
41
+ "indexed": false,
42
+ "internalType": "bytes4",
43
+ "name": "selector",
44
+ "type": "bytes4"
45
+ },
46
+ {
47
+ "indexed": false,
48
+ "internalType": "uint256",
49
+ "name": "allowedAfterTimestamp",
50
+ "type": "uint256"
51
+ },
52
+ {
53
+ "indexed": false,
54
+ "internalType": "bytes",
55
+ "name": "encodedCall",
56
+ "type": "bytes"
57
+ }
58
+ ],
59
+ "name": "GovernanceCallTimelocked",
60
+ "type": "event"
61
+ },
27
62
  {
28
63
  "anonymous": false,
29
64
  "inputs": [
30
65
  {
31
66
  "indexed": false,
32
67
  "internalType": "address",
33
- "name": "proposedGovernance",
68
+ "name": "initialGovernance",
34
69
  "type": "address"
35
70
  }
36
71
  ],
37
- "name": "GovernanceProposed",
72
+ "name": "GovernanceInitialised",
38
73
  "type": "event"
39
74
  },
40
75
  {
@@ -43,17 +78,68 @@
43
78
  {
44
79
  "indexed": false,
45
80
  "internalType": "address",
46
- "name": "oldGovernance",
81
+ "name": "governanceSettings",
47
82
  "type": "address"
83
+ }
84
+ ],
85
+ "name": "GovernedProductionModeEntered",
86
+ "type": "event"
87
+ },
88
+ {
89
+ "anonymous": false,
90
+ "inputs": [
91
+ {
92
+ "indexed": false,
93
+ "internalType": "bytes4",
94
+ "name": "selector",
95
+ "type": "bytes4"
48
96
  },
97
+ {
98
+ "indexed": false,
99
+ "internalType": "uint256",
100
+ "name": "timestamp",
101
+ "type": "uint256"
102
+ }
103
+ ],
104
+ "name": "TimelockedGovernanceCallCanceled",
105
+ "type": "event"
106
+ },
107
+ {
108
+ "anonymous": false,
109
+ "inputs": [
110
+ {
111
+ "indexed": false,
112
+ "internalType": "bytes4",
113
+ "name": "selector",
114
+ "type": "bytes4"
115
+ },
116
+ {
117
+ "indexed": false,
118
+ "internalType": "uint256",
119
+ "name": "timestamp",
120
+ "type": "uint256"
121
+ }
122
+ ],
123
+ "name": "TimelockedGovernanceCallExecuted",
124
+ "type": "event"
125
+ },
126
+ {
127
+ "anonymous": false,
128
+ "inputs": [
49
129
  {
50
130
  "indexed": false,
51
131
  "internalType": "address",
52
- "name": "newGoveranance",
132
+ "name": "voter",
53
133
  "type": "address"
134
+ },
135
+ {
136
+ "indexed": false,
137
+ "internalType": "uint256",
138
+ "name": "untilRewardEpoch",
139
+ "type": "uint256"
54
140
  }
55
141
  ],
56
- "name": "GovernanceUpdated",
142
+ "name": "VoterChilled",
57
143
  "type": "event"
58
144
  },
59
145
  {
@@ -107,9 +193,94 @@
107
193
  "stateMutability": "nonpayable",
108
194
  "type": "function"
109
195
  },
196
+ {
197
+ "inputs": [
198
+ {
199
+ "internalType": "bytes4",
200
+ "name": "_selector",
201
+ "type": "bytes4"
202
+ }
203
+ ],
204
+ "name": "cancelGovernanceCall",
205
+ "outputs": [],
206
+ "stateMutability": "nonpayable",
207
+ "type": "function"
208
+ },
209
+ {
210
+ "inputs": [
211
+ {
212
+ "internalType": "address",
213
+ "name": "_voter",
214
+ "type": "address"
215
+ },
216
+ {
217
+ "internalType": "uint256",
218
+ "name": "_noOfRewardEpochs",
219
+ "type": "uint256"
220
+ },
221
+ {
222
+ "internalType": "uint256[]",
223
+ "name": "_ftsoIndices",
224
+ "type": "uint256[]"
225
+ }
226
+ ],
227
+ "name": "chillVoter",
228
+ "outputs": [
229
+ {
230
+ "internalType": "bool[]",
231
+ "name": "_removed",
232
+ "type": "bool[]"
233
+ },
234
+ {
235
+ "internalType": "uint256",
236
+ "name": "_untilRewardEpoch",
237
+ "type": "uint256"
238
+ }
239
+ ],
240
+ "stateMutability": "nonpayable",
241
+ "type": "function"
242
+ },
243
+ {
244
+ "inputs": [
245
+ {
246
+ "internalType": "address",
247
+ "name": "",
248
+ "type": "address"
249
+ }
250
+ ],
251
+ "name": "chilledUntilRewardEpoch",
252
+ "outputs": [
253
+ {
254
+ "internalType": "uint256",
255
+ "name": "",
256
+ "type": "uint256"
257
+ }
258
+ ],
259
+ "stateMutability": "view",
260
+ "type": "function"
261
+ },
110
262
  {
111
263
  "inputs": [],
112
- "name": "claimGovernance",
264
+ "name": "copyMode",
265
+ "outputs": [
266
+ {
267
+ "internalType": "bool",
268
+ "name": "",
269
+ "type": "bool"
270
+ }
271
+ ],
272
+ "stateMutability": "view",
273
+ "type": "function"
274
+ },
275
+ {
276
+ "inputs": [
277
+ {
278
+ "internalType": "uint256",
279
+ "name": "_ftsoIndex",
280
+ "type": "uint256"
281
+ }
282
+ ],
283
+ "name": "copyWhitelist",
113
284
  "outputs": [],
114
285
  "stateMutability": "nonpayable",
115
286
  "type": "function"
@@ -127,12 +298,25 @@
127
298
  "stateMutability": "view",
128
299
  "type": "function"
129
300
  },
301
+ {
302
+ "inputs": [
303
+ {
304
+ "internalType": "bytes4",
305
+ "name": "_selector",
306
+ "type": "bytes4"
307
+ }
308
+ ],
309
+ "name": "executeGovernanceCall",
310
+ "outputs": [],
311
+ "stateMutability": "nonpayable",
312
+ "type": "function"
313
+ },
130
314
  {
131
315
  "inputs": [],
132
316
  "name": "ftsoManager",
133
317
  "outputs": [
134
318
  {
135
- "internalType": "address",
319
+ "internalType": "contract IFtsoManager",
136
320
  "name": "",
137
321
  "type": "address"
138
322
  }
@@ -153,6 +337,19 @@
153
337
  "stateMutability": "view",
154
338
  "type": "function"
155
339
  },
340
+ {
341
+ "inputs": [],
342
+ "name": "getAddressUpdater",
343
+ "outputs": [
344
+ {
345
+ "internalType": "address",
346
+ "name": "_addressUpdater",
347
+ "type": "address"
348
+ }
349
+ ],
350
+ "stateMutability": "view",
351
+ "type": "function"
352
+ },
156
353
  {
157
354
  "inputs": [
158
355
  {
@@ -204,11 +401,24 @@
204
401
  "stateMutability": "view",
205
402
  "type": "function"
206
403
  },
404
+ {
405
+ "inputs": [],
406
+ "name": "governanceSettings",
407
+ "outputs": [
408
+ {
409
+ "internalType": "contract IGovernanceSettings",
410
+ "name": "",
411
+ "type": "address"
412
+ }
413
+ ],
414
+ "stateMutability": "view",
415
+ "type": "function"
416
+ },
207
417
  {
208
418
  "inputs": [
209
419
  {
210
420
  "internalType": "address",
211
- "name": "_governance",
421
+ "name": "_initialGovernance",
212
422
  "type": "address"
213
423
  }
214
424
  ],
@@ -238,10 +448,10 @@
238
448
  },
239
449
  {
240
450
  "inputs": [],
241
- "name": "priceSubmitter",
451
+ "name": "oldVoterWhitelister",
242
452
  "outputs": [
243
453
  {
244
- "internalType": "contract IIPriceSubmitter",
454
+ "internalType": "contract IVoterWhitelister",
245
455
  "name": "",
246
456
  "type": "address"
247
457
  }
@@ -250,26 +460,26 @@
250
460
  "type": "function"
251
461
  },
252
462
  {
253
- "inputs": [
463
+ "inputs": [],
464
+ "name": "priceSubmitter",
465
+ "outputs": [
254
466
  {
255
- "internalType": "address",
256
- "name": "_governance",
467
+ "internalType": "contract IIPriceSubmitter",
468
+ "name": "",
257
469
  "type": "address"
258
470
  }
259
471
  ],
260
- "name": "proposeGovernance",
261
- "outputs": [],
262
- "stateMutability": "nonpayable",
472
+ "stateMutability": "view",
263
473
  "type": "function"
264
474
  },
265
475
  {
266
476
  "inputs": [],
267
- "name": "proposedGovernance",
477
+ "name": "productionMode",
268
478
  "outputs": [
269
479
  {
270
- "internalType": "address",
480
+ "internalType": "bool",
271
481
  "name": "",
272
- "type": "address"
482
+ "type": "bool"
273
483
  }
274
484
  ],
275
485
  "stateMutability": "view",
@@ -351,17 +561,12 @@
351
561
  {
352
562
  "inputs": [
353
563
  {
354
- "internalType": "contract IFtsoRegistry",
355
- "name": "_ftsoRegistry",
356
- "type": "address"
357
- },
358
- {
359
- "internalType": "address",
360
- "name": "_ftsoManager",
361
- "type": "address"
564
+ "internalType": "uint256",
565
+ "name": "_defaultMaxVotersForFtso",
566
+ "type": "uint256"
362
567
  }
363
568
  ],
364
- "name": "setContractAddresses",
569
+ "name": "setDefaultMaxVotersForFtso",
365
570
  "outputs": [],
366
571
  "stateMutability": "nonpayable",
367
572
  "type": "function"
@@ -370,29 +575,54 @@
370
575
  "inputs": [
371
576
  {
372
577
  "internalType": "uint256",
373
- "name": "_defaultMaxVotersForFtso",
578
+ "name": "_ftsoIndex",
579
+ "type": "uint256"
580
+ },
581
+ {
582
+ "internalType": "uint256",
583
+ "name": "_newMaxVoters",
374
584
  "type": "uint256"
375
585
  }
376
586
  ],
377
- "name": "setDefaultMaxVotersForFtso",
587
+ "name": "setMaxVotersForFtso",
588
+ "outputs": [],
589
+ "stateMutability": "nonpayable",
590
+ "type": "function"
591
+ },
592
+ {
593
+ "inputs": [],
594
+ "name": "switchToProductionMode",
378
595
  "outputs": [],
379
596
  "stateMutability": "nonpayable",
380
597
  "type": "function"
381
598
  },
382
599
  {
383
600
  "inputs": [
601
+ {
602
+ "internalType": "bytes4",
603
+ "name": "",
604
+ "type": "bytes4"
605
+ }
606
+ ],
607
+ "name": "timelockedCalls",
608
+ "outputs": [
384
609
  {
385
610
  "internalType": "uint256",
386
- "name": "_ftsoIndex",
611
+ "name": "allowedAfterTimestamp",
387
612
  "type": "uint256"
388
613
  },
389
614
  {
390
- "internalType": "uint256",
391
- "name": "_newMaxVoters",
392
- "type": "uint256"
615
+ "internalType": "bytes",
616
+ "name": "encodedCall",
617
+ "type": "bytes"
393
618
  }
394
619
  ],
395
- "name": "setMaxVotersForFtso",
620
+ "stateMutability": "view",
621
+ "type": "function"
622
+ },
623
+ {
624
+ "inputs": [],
625
+ "name": "turnOffCopyMode",
396
626
  "outputs": [],
397
627
  "stateMutability": "nonpayable",
398
628
  "type": "function"
@@ -400,19 +630,24 @@
400
630
  {
401
631
  "inputs": [
402
632
  {
403
- "internalType": "address",
404
- "name": "_governance",
405
- "type": "address"
633
+ "internalType": "bytes32[]",
634
+ "name": "_contractNameHashes",
635
+ "type": "bytes32[]"
636
+ },
637
+ {
638
+ "internalType": "address[]",
639
+ "name": "_contractAddresses",
640
+ "type": "address[]"
406
641
  }
407
642
  ],
408
- "name": "transferGovernance",
643
+ "name": "updateContractAddresses",
409
644
  "outputs": [],
410
645
  "stateMutability": "nonpayable",
411
646
  "type": "function"
412
647
  }
413
648
  ],
414
- "bytecode": "0x60a06040523480156200001157600080fd5b50604051620027f9380380620027f9833981810160405260608110156200003757600080fd5b508051602082015160409092015190919082806001600160a01b0381161562000065576200006581620000d3565b506001600160a01b038116620000b5576040805162461bcd60e51b815260206004820152601060248201526f5f676f7665726e616e6365207a65726f60801b604482015290519081900360640190fd5b5060609190911b6001600160601b03191660805260025550620001b7565b600154600160a01b900460ff161562000133576040805162461bcd60e51b815260206004820152601460248201527f696e697469616c6973656420213d2066616c7365000000000000000000000000604482015290519081900360640190fd5b6001805460ff60a01b1916600160a01b179055600054604080516001600160a01b039283168152918316602083015280517f434a2db650703b36c824e745330d6397cdaa9ee2cc891a4938ae853e1c50b68d9281900390910190a1600080546001600160a01b039092166001600160a01b0319928316179055600180549091169055565b60805160601c612615620001e46000398061146252806114895280611bd45280611cd852506126156000f3fe608060405234801561001057600080fd5b50600436106101375760003560e01c80637ecfcfa3116100b8578063b06cbaf71161007c578063b06cbaf7146103a5578063c373a08e14610464578063cd931e401461048a578063d38bfff4146104b8578063d8736171146104de578063f937d6ad146104fb57610137565b80637ecfcfa31461026f57806398dccfc2146102925780639d6a890f146102af5780639dc950ab146102d5578063aa89dfd41461030157610137565b80633de2cb1c116100ff5780633de2cb1c1461021157806347ed51b11461023d5780635aa6e675146102575780635d36b1901461025f57806360f7ac971461026757610137565b806309fcb4001461013c57806311a7aaaa146101a95780632ee96140146101cd578063345705a4146101ec57806338b5f86914610209575b600080fd5b6101596004803603602081101561015257600080fd5b5035610503565b60408051602080825283518183015283519192839290830191858101910280838360005b8381101561019557818101518382015260200161017d565b505050509050019250505060405180910390f35b6101b16105ce565b604080516001600160a01b039092168252519081900360200190f35b6101ea600480360360208110156101e357600080fd5b50356105dd565b005b6101ea6004803603602081101561020257600080fd5b5035610633565b6101b16106fc565b6101ea6004803603604081101561022757600080fd5b506001600160a01b03813516906020013561070b565b6102456107b2565b60408051918252519081900360200190f35b6101b16107b8565b6101ea6107c7565b6101b1610889565b6101ea6004803603604081101561028557600080fd5b5080359060200135610898565b610245600480360360208110156102a857600080fd5b5035610ba3565b6101ea600480360360208110156102c557600080fd5b50356001600160a01b0316610bb5565b6101ea600480360360408110156102eb57600080fd5b506001600160a01b038135169060200135610c8f565b6101596004803603602081101561031757600080fd5b810190602081018135600160201b81111561033157600080fd5b82018360208201111561034357600080fd5b803590602001918460018302840111600160201b8311171561036457600080fd5b91908080601f016020809104026020016040519081016040528093929190818152602001838380828437600092019190915250929550610ea0945050505050565b6103cb600480360360208110156103bb57600080fd5b50356001600160a01b0316610f8f565b604051808060200180602001838103835285818151815260200191508051906020019060200280838360005b8381101561040f5781810151838201526020016103f7565b50505050905001838103825284818151815260200191508051906020019060200280838360005b8381101561044e578181015183820152602001610436565b5050505090500194505050505060405180910390f35b6101ea6004803603602081101561047a57600080fd5b50356001600160a01b0316611193565b6101ea600480360360408110156104a057600080fd5b506001600160a01b0381358116916020013516611238565b6101ea600480360360208110156104ce57600080fd5b50356001600160a01b03166112b7565b6101ea600480360360208110156104f457600080fd5b5035611379565b6101b1611460565b60008181526003602052604090205460609080610562576040805162461bcd60e51b8152602060048201526018602482015277119514d3c81a5b99195e081b9bdd081cdd5c1c1bdc9d195960421b604482015290519081900360640190fd5b600083815260046020908152604091829020805483518184028101840190945280845290918301828280156105c057602002820191906000526020600020905b81546001600160a01b031681526001909101906020018083116105a2575b50505050509150505b919050565b6006546001600160a01b031681565b6000546001600160a01b0316331461062e576040805162461bcd60e51b815260206004820152600f60248201526e6f6e6c7920676f7665726e616e636560881b604482015290519081900360640190fd5b600255565b6006546001600160a01b03163314610686576040805162461bcd60e51b815260206004820152601160248201527037b7363c90333a39b79036b0b730b3b2b960791b604482015290519081900360640190fd5b600081815260036020526040902054156106e7576040805162461bcd60e51b815260206004820152601760248201527f77686974656c69737420616c7265616479206578697374000000000000000000604482015290519081900360640190fd5b60025460009182526003602052604090912055565b6005546001600160a01b031681565b61071482611484565b15610758576040805162461bcd60e51b815260206004820152600f60248201526e74727573746564206164647265737360881b604482015290519081900360640190fd5b600061076483836115ff565b9050806107ad576040805162461bcd60e51b8152602060048201526012602482015271766f746520706f77657220746f6f206c6f7760701b604482015290519081900360640190fd5b505050565b60025481565b6000546001600160a01b031681565b6001546001600160a01b03163314610816576040805162461bcd60e51b815260206004820152600d60248201526c1b9bdd0818db185a5b585a5b9d609a1b604482015290519081900360640190fd5b600054600154604080516001600160a01b03938416815292909116602083015280517f434a2db650703b36c824e745330d6397cdaa9ee2cc891a4938ae853e1c50b68d9281900390910190a160018054600080546001600160a01b03199081166001600160a01b03841617909155169055565b6001546001600160a01b031681565b6000546001600160a01b031633146108e9576040805162461bcd60e51b815260206004820152600f60248201526e6f6e6c7920676f7665726e616e636560881b604482015290519081900360640190fd5b600082815260036020908152604080832084905560049091529020805482106109125750610b9f565b6005546040805163d75f6d8160e01b81526004810186905290516000926001600160a01b03169163d75f6d81916024808301926020929190829003018186803b15801561095e57600080fd5b505afa158015610972573d6000803e3d6000fd5b505050506040513d602081101561098857600080fd5b50518254604080516020838102820181019092528281529293506000926109f19285928791908301828280156109e757602002820191906000526020600020905b81546001600160a01b031681526001909101906020018083116109c9575b505050505061188b565b805190915084810360008167ffffffffffffffff81118015610a1257600080fd5b50604051908082528060200260200182016040528015610a3c578160200160208202803683370190505b50905060005b82811015610b8d576000610a568686611afe565b9050878181548110610a6457fe5b9060005260206000200160009054906101000a90046001600160a01b0316838381518110610a8e57fe5b60200260200101906001600160a01b031690816001600160a01b03168152505060018503811015610b5057876001860381548110610ac857fe5b9060005260206000200160009054906101000a90046001600160a01b0316888281548110610af257fe5b9060005260206000200160006101000a8154816001600160a01b0302191690836001600160a01b03160217905550856001860381518110610b2f57fe5b6020026020010151868281518110610b4357fe5b6020026020010181815250505b87805480610b5a57fe5b600082815260209020810160001990810180546001600160a01b0319169055908101909155949094019350600101610a42565b50610b988189611b62565b5050505050505b5050565b60036020526000908152604090205481565b600154600160a01b900460ff1615610c0b576040805162461bcd60e51b8152602060048201526014602482015273696e697469616c6973656420213d2066616c736560601b604482015290519081900360640190fd5b6001805460ff60a01b1916600160a01b179055600054604080516001600160a01b039283168152918316602083015280517f434a2db650703b36c824e745330d6397cdaa9ee2cc891a4938ae853e1c50b68d9281900390910190a1600080546001600160a01b039092166001600160a01b0319928316179055600180549091169055565b610c9882611484565b610cdf576040805162461bcd60e51b81526020600482015260136024820152726e6f742074727573746564206164647265737360681b604482015290519081900360640190fd5b6000818152600460205260408120805490915b81811015610d3857846001600160a01b0316838281548110610d1057fe5b6000918252602090912001546001600160a01b03161415610d3057610d38565b600101610cf2565b818110610d8c576040805162461bcd60e51b815260206004820152601f60248201527f747275737465642061646472657373206e6f742077686974656c697374656400604482015290519081900360640190fd5b60408051600180825281830190925260009160208083019080368337019050509050838281548110610dba57fe5b600091825260208220015482516001600160a01b03909116918391610ddb57fe5b60200260200101906001600160a01b031690816001600160a01b031681525050836001840381548110610e0a57fe5b9060005260206000200160009054906101000a90046001600160a01b0316848381548110610e3457fe5b9060005260206000200160006101000a8154816001600160a01b0302191690836001600160a01b0316021790555083805480610e6c57fe5b600082815260209020810160001990810180546001600160a01b0319169055019055610e988186611b62565b505050505050565b600554604051630e848da360e41b81526020600482018181528451602484015284516060946000946001600160a01b039091169363e848da3093889390928392604490910191908501908083838b5b83811015610f07578181015183820152602001610eef565b50505050905090810190601f168015610f345780820380516001836020036101000a031916815260200191505b509250505060206040518083038186803b158015610f5157600080fd5b505afa158015610f65573d6000803e3d6000fd5b505050506040513d6020811015610f7b57600080fd5b50519050610f8881610503565b9392505050565b606080610f9b83611484565b15610fdf576040805162461bcd60e51b815260206004820152600f60248201526e74727573746564206164647265737360881b604482015290519081900360640190fd5b600560009054906101000a90046001600160a01b03166001600160a01b031663798aac5b6040518163ffffffff1660e01b815260040160006040518083038186803b15801561102d57600080fd5b505afa158015611041573d6000803e3d6000fd5b505050506040513d6000823e601f3d908101601f19168201604052602081101561106a57600080fd5b8101908080516040519392919084600160201b82111561108957600080fd5b90830190602082018581111561109e57600080fd5b82518660208202830111600160201b821117156110ba57600080fd5b82525081516020918201928201910280838360005b838110156110e75781810151838201526020016110cf565b5050505090500160405250505091506000825190508067ffffffffffffffff8111801561111357600080fd5b5060405190808252806020026020018201604052801561113d578160200160208202803683370190505b50915060005b8181101561118c576111688585838151811061115b57fe5b60200260200101516115ff565b83828151811061117457fe5b91151560209283029190910190910152600101611143565b5050915091565b6000546001600160a01b031633146111e4576040805162461bcd60e51b815260206004820152600f60248201526e6f6e6c7920676f7665726e616e636560881b604482015290519081900360640190fd5b600180546001600160a01b0383166001600160a01b0319909116811790915560408051918252517f1f95fb40be3a947982072902a887b521248d1d8931a39eb38f84f4d6fd758b699181900360200190a150565b6000546001600160a01b03163314611289576040805162461bcd60e51b815260206004820152600f60248201526e6f6e6c7920676f7665726e616e636560881b604482015290519081900360640190fd5b600580546001600160a01b039384166001600160a01b03199182161790915560068054929093169116179055565b6000546001600160a01b03163314611308576040805162461bcd60e51b815260206004820152600f60248201526e6f6e6c7920676f7665726e616e636560881b604482015290519081900360640190fd5b600054604080516001600160a01b039283168152918316602083015280517f434a2db650703b36c824e745330d6397cdaa9ee2cc891a4938ae853e1c50b68d9281900390910190a1600080546001600160a01b039092166001600160a01b0319928316179055600180549091169055565b6006546001600160a01b031633146113cc576040805162461bcd60e51b815260206004820152601160248201527037b7363c90333a39b79036b0b730b3b2b960791b604482015290519081900360640190fd5b6000818152600460209081526040918290208054835181840281018401909452808452611438939283018282801561142d57602002820191906000526020600020905b81546001600160a01b0316815260019091019060200180831161140f575b505050505082611b62565b600081815260046020526040812061144f91612584565b600090815260036020526040812055565b7f000000000000000000000000000000000000000000000000000000000000000081565b6000807f00000000000000000000000000000000000000000000000000000000000000006001600160a01b031663ffacb84e6040518163ffffffff1660e01b815260040160006040518083038186803b1580156114e057600080fd5b505afa1580156114f4573d6000803e3d6000fd5b505050506040513d6000823e601f3d908101601f19168201604052602081101561151d57600080fd5b8101908080516040519392919084600160201b82111561153c57600080fd5b90830190602082018581111561155157600080fd5b82518660208202830111600160201b8211171561156d57600080fd5b82525081516020918201928201910280838360005b8381101561159a578181015183820152602001611582565b50505050905001604052505050905060005b81518110156115f557836001600160a01b03168282815181106115cb57fe5b60200260200101516001600160a01b031614156115ed576001925050506105c9565b6001016115ac565b5060009392505050565b6000818152600360205260408120548061165b576040805162461bcd60e51b8152602060048201526018602482015277119514d3c81a5b99195e081b9bdd081cdd5c1c1bdc9d195960421b604482015290519081900360640190fd5b6000838152600460205260408120805490916001820167ffffffffffffffff8111801561168757600080fd5b506040519080825280602002602001820160405280156116b1578160200160208202803683370190505b50905060005b8281101561172c5760008482815481106116cd57fe5b6000918252602090912001546001600160a01b03908116915089168114156116fe5760019650505050505050611885565b8083838151811061170b57fe5b6001600160a01b0390921660209283029190910190910152506001016116b7565b508681838151811061173a57fe5b60200260200101906001600160a01b031690816001600160a01b031681525050838210156117a45782546001810184556000848152602090200180546001600160a01b0319166001600160a01b0389161790556117978787611c92565b6001945050505050611885565b60006117b08288611d4d565b9050828114156117c857600095505050505050611885565b604080516001808252818301909252600091602080830190803683370190505090508282815181106117f657fe5b60200260200101518160008151811061180b57fe5b60200260200101906001600160a01b031690816001600160a01b0316815250508885838154811061183857fe5b9060005260206000200160006101000a8154816001600160a01b0302191690836001600160a01b031602179055506118708189611b62565b61187a8989611c92565b600196505050505050505b92915050565b6060806060600080600080886001600160a01b0316638357d08c6040518163ffffffff1660e01b815260040160006040518083038186803b1580156118cf57600080fd5b505afa1580156118e3573d6000803e3d6000fd5b505050506040513d6000823e601f3d908101601f1916820160405260c081101561190c57600080fd5b8101908080516040519392919084600160201b82111561192b57600080fd5b90830190602082018581111561194057600080fd5b82518660208202830111600160201b8211171561195c57600080fd5b82525081516020918201928201910280838360005b83811015611989578181015183820152602001611971565b5050505090500160405260200180516040519392919084600160201b8211156119b157600080fd5b9083019060208201858111156119c657600080fd5b82518660208202830111600160201b821117156119e257600080fd5b82525081516020918201928201910280838360005b83811015611a0f5781810151838201526020016119f7565b5050505090500160405260200180519060200190929190805190602001909291908051906020019092919080519060200190929190505050809650819750829850839950849a50859b505050505050506000611ad18a6001600160a01b0316639edbf0076040518163ffffffff1660e01b815260040160206040518083038186803b158015611a9d57600080fd5b505afa158015611ab1573d6000803e3d6000fd5b505050506040513d6020811015611ac757600080fd5b5051868b85611dee565b90506000611ae28888878d87611e69565b9050611aef828286611fdc565b9b9a5050505050505050505050565b60008060009050600084600081518110611b1457fe5b6020026020010151905060005b84811015611b58576000868281518110611b3757fe5b60200260200101519050828111611b4f578193508092505b50600101611b21565b5090949350505050565b60005b8251811015611bd1577f33359f2769756ca8d0da4683f25ee440744d6f18bfb166dbfb59315a8c62b016838281518110611b9b57fe5b60200260200101518360405180836001600160a01b031681526020018281526020019250505060405180910390a1600101611b65565b507f00000000000000000000000000000000000000000000000000000000000000006001600160a01b03166376794efb83836040518363ffffffff1660e01b81526004018080602001838152602001828103825284818151815260200191508051906020019060200280838360005b83811015611c58578181015183820152602001611c40565b505050509050019350505050600060405180830381600087803b158015611c7e57600080fd5b505af1158015610e98573d6000803e3d6000fd5b604080516001600160a01b03841681526020810183905281517f66a8b13abe95391d1851f5bc319f3dde54ce8f2f40a5fe226aa3251d805832e3929181900390910190a17f00000000000000000000000000000000000000000000000000000000000000006001600160a01b0316639d986f9183836040518363ffffffff1660e01b815260040180836001600160a01b0316815260200182815260200192505050600060405180830381600087803b158015611c7e57600080fd5b6005546040805163d75f6d8160e01b815260048101849052905160009283926001600160a01b039091169163d75f6d8191602480820192602092909190829003018186803b158015611d9e57600080fd5b505afa158015611db2573d6000803e3d6000fd5b505050506040513d6020811015611dc857600080fd5b505190506000611dd8828661188b565b9050611de5818251611afe565b95945050505050565b6060611dfb858484612121565b905083611e0757611e61565b60005b8351811015611e5f57611e4064e8d4a5100086848481518110611e2957fe5b60200260200101516123199092919063ffffffff16565b828281518110611e4c57fe5b6020908102919091010152600101611e0a565b505b949350505050565b6060825167ffffffffffffffff81118015611e8357600080fd5b50604051908082528060200260200182016040528015611ead578160200160208202803683370190505b50905060005b8351811015611edd576000828281518110611eca57fe5b6020908102919091010152600101611eb3565b5083611ee857611de5565b6000611efc85670de0b6b3a7640000612425565b905060005b8751811015611fd1576000888281518110611f1857fe5b6020026020010151905060006001600160a01b0316816001600160a01b031614611fc8576000611f49828888612121565b905060005b8751811015611fc5576000611f7d8b8681518110611f6857fe5b602002602001015187858581518110611e2957fe5b9050611fa581888481518110611f8f57fe5b602002602001015161247e90919063ffffffff16565b878381518110611fb157fe5b602090810291909101015250600101611f4e565b50505b50600101611f01565b505095945050505050565b60606000611fe9846124d8565b90506000611ff6866124d8565b9050600080831161200857600061200a565b845b9050600080831161201c576000612022565b81612710035b9050875167ffffffffffffffff8111801561203c57600080fd5b50604051908082528060200260200182016040528015612066578160200160208202803683370190505b50945060005b885181101561211557600082156120b3576120b08a838151811061208c57fe5b602002602001015164e8d4a51000026127108702856123199092919063ffffffff16565b90505b600084156120f1576120ee8a84815181106120ca57fe5b602002602001015164e8d4a51000026127108902876123199092919063ffffffff16565b90505b80820188848151811061210057fe5b6020908102919091010152505060010161206c565b50505050509392505050565b6060836001600160a01b031663e587497e8460018651038151811061214257fe5b6020026020010151846040518363ffffffff1660e01b815260040180836001600160a01b0316815260200182815260200192505050602060405180830381600087803b15801561219157600080fd5b505af11580156121a5573d6000803e3d6000fd5b505050506040513d60208110156121bb57600080fd5b5050604080516349e3c7e560e01b815260248101849052600481019182528451604482015284516001600160a01b038716926349e3c7e592879287929182916064909101906020868101910280838360005b8381101561222557818101518382015260200161220d565b50505050905001935050505060006040518083038186803b15801561224957600080fd5b505afa15801561225d573d6000803e3d6000fd5b505050506040513d6000823e601f3d908101601f19168201604052602081101561228657600080fd5b8101908080516040519392919084600160201b8211156122a557600080fd5b9083019060208201858111156122ba57600080fd5b82518660208202830111600160201b821117156122d657600080fd5b82525081516020918201928201910280838360005b838110156123035781810151838201526020016122eb565b5050505090500160405250505090509392505050565b6000808211612362576040805162461bcd60e51b815260206004820152601060248201526f4469766973696f6e206279207a65726f60801b604482015290519081900360640190fd5b8361236f57506000610f88565b8383028385828161237c57fe5b0414156123955782818161238c57fe5b04915050610f88565b60008386816123a057fe5b04905060008487816123ae57fe5b06905060008587816123bc57fe5b04905060008688816123ca57fe5b0690506124186123e4886123de8685612425565b9061251d565b6124126123f18686612425565b6124126123fe8987612425565b6124128d61240c8c8b612425565b90612425565b9061247e565b9998505050505050505050565b60008261243457506000611885565b8282028284828161244157fe5b0414610f885760405162461bcd60e51b81526004018080602001828103825260218152602001806125bf6021913960400191505060405180910390fd5b600082820183811015610f88576040805162461bcd60e51b815260206004820152601b60248201527f536166654d6174683a206164646974696f6e206f766572666c6f770000000000604482015290519081900360640190fd5b600080805b83518110156125165761250c8482815181106124f557fe5b60200260200101518361247e90919063ffffffff16565b91506001016124dd565b5092915050565b6000808211612573576040805162461bcd60e51b815260206004820152601a60248201527f536166654d6174683a206469766973696f6e206279207a65726f000000000000604482015290519081900360640190fd5b81838161257c57fe5b049392505050565b50805460008255906000526020600020908101906125a291906125a5565b50565b5b808211156125ba57600081556001016125a6565b509056fe536166654d6174683a206d756c7469706c69636174696f6e206f766572666c6f77a2646970667358221220142ee3a57f37b457d12fffd903128fb4f4f827b24ad3dec5dd90fa1ae2af01b064736f6c63430007060033",
415
- "deployedBytecode": "0x608060405234801561001057600080fd5b50600436106101375760003560e01c80637ecfcfa3116100b8578063b06cbaf71161007c578063b06cbaf7146103a5578063c373a08e14610464578063cd931e401461048a578063d38bfff4146104b8578063d8736171146104de578063f937d6ad146104fb57610137565b80637ecfcfa31461026f57806398dccfc2146102925780639d6a890f146102af5780639dc950ab146102d5578063aa89dfd41461030157610137565b80633de2cb1c116100ff5780633de2cb1c1461021157806347ed51b11461023d5780635aa6e675146102575780635d36b1901461025f57806360f7ac971461026757610137565b806309fcb4001461013c57806311a7aaaa146101a95780632ee96140146101cd578063345705a4146101ec57806338b5f86914610209575b600080fd5b6101596004803603602081101561015257600080fd5b5035610503565b60408051602080825283518183015283519192839290830191858101910280838360005b8381101561019557818101518382015260200161017d565b505050509050019250505060405180910390f35b6101b16105ce565b604080516001600160a01b039092168252519081900360200190f35b6101ea600480360360208110156101e357600080fd5b50356105dd565b005b6101ea6004803603602081101561020257600080fd5b5035610633565b6101b16106fc565b6101ea6004803603604081101561022757600080fd5b506001600160a01b03813516906020013561070b565b6102456107b2565b60408051918252519081900360200190f35b6101b16107b8565b6101ea6107c7565b6101b1610889565b6101ea6004803603604081101561028557600080fd5b5080359060200135610898565b610245600480360360208110156102a857600080fd5b5035610ba3565b6101ea600480360360208110156102c557600080fd5b50356001600160a01b0316610bb5565b6101ea600480360360408110156102eb57600080fd5b506001600160a01b038135169060200135610c8f565b6101596004803603602081101561031757600080fd5b810190602081018135600160201b81111561033157600080fd5b82018360208201111561034357600080fd5b803590602001918460018302840111600160201b8311171561036457600080fd5b91908080601f016020809104026020016040519081016040528093929190818152602001838380828437600092019190915250929550610ea0945050505050565b6103cb600480360360208110156103bb57600080fd5b50356001600160a01b0316610f8f565b604051808060200180602001838103835285818151815260200191508051906020019060200280838360005b8381101561040f5781810151838201526020016103f7565b50505050905001838103825284818151815260200191508051906020019060200280838360005b8381101561044e578181015183820152602001610436565b5050505090500194505050505060405180910390f35b6101ea6004803603602081101561047a57600080fd5b50356001600160a01b0316611193565b6101ea600480360360408110156104a057600080fd5b506001600160a01b0381358116916020013516611238565b6101ea600480360360208110156104ce57600080fd5b50356001600160a01b03166112b7565b6101ea600480360360208110156104f457600080fd5b5035611379565b6101b1611460565b60008181526003602052604090205460609080610562576040805162461bcd60e51b8152602060048201526018602482015277119514d3c81a5b99195e081b9bdd081cdd5c1c1bdc9d195960421b604482015290519081900360640190fd5b600083815260046020908152604091829020805483518184028101840190945280845290918301828280156105c057602002820191906000526020600020905b81546001600160a01b031681526001909101906020018083116105a2575b50505050509150505b919050565b6006546001600160a01b031681565b6000546001600160a01b0316331461062e576040805162461bcd60e51b815260206004820152600f60248201526e6f6e6c7920676f7665726e616e636560881b604482015290519081900360640190fd5b600255565b6006546001600160a01b03163314610686576040805162461bcd60e51b815260206004820152601160248201527037b7363c90333a39b79036b0b730b3b2b960791b604482015290519081900360640190fd5b600081815260036020526040902054156106e7576040805162461bcd60e51b815260206004820152601760248201527f77686974656c69737420616c7265616479206578697374000000000000000000604482015290519081900360640190fd5b60025460009182526003602052604090912055565b6005546001600160a01b031681565b61071482611484565b15610758576040805162461bcd60e51b815260206004820152600f60248201526e74727573746564206164647265737360881b604482015290519081900360640190fd5b600061076483836115ff565b9050806107ad576040805162461bcd60e51b8152602060048201526012602482015271766f746520706f77657220746f6f206c6f7760701b604482015290519081900360640190fd5b505050565b60025481565b6000546001600160a01b031681565b6001546001600160a01b03163314610816576040805162461bcd60e51b815260206004820152600d60248201526c1b9bdd0818db185a5b585a5b9d609a1b604482015290519081900360640190fd5b600054600154604080516001600160a01b03938416815292909116602083015280517f434a2db650703b36c824e745330d6397cdaa9ee2cc891a4938ae853e1c50b68d9281900390910190a160018054600080546001600160a01b03199081166001600160a01b03841617909155169055565b6001546001600160a01b031681565b6000546001600160a01b031633146108e9576040805162461bcd60e51b815260206004820152600f60248201526e6f6e6c7920676f7665726e616e636560881b604482015290519081900360640190fd5b600082815260036020908152604080832084905560049091529020805482106109125750610b9f565b6005546040805163d75f6d8160e01b81526004810186905290516000926001600160a01b03169163d75f6d81916024808301926020929190829003018186803b15801561095e57600080fd5b505afa158015610972573d6000803e3d6000fd5b505050506040513d602081101561098857600080fd5b50518254604080516020838102820181019092528281529293506000926109f19285928791908301828280156109e757602002820191906000526020600020905b81546001600160a01b031681526001909101906020018083116109c9575b505050505061188b565b805190915084810360008167ffffffffffffffff81118015610a1257600080fd5b50604051908082528060200260200182016040528015610a3c578160200160208202803683370190505b50905060005b82811015610b8d576000610a568686611afe565b9050878181548110610a6457fe5b9060005260206000200160009054906101000a90046001600160a01b0316838381518110610a8e57fe5b60200260200101906001600160a01b031690816001600160a01b03168152505060018503811015610b5057876001860381548110610ac857fe5b9060005260206000200160009054906101000a90046001600160a01b0316888281548110610af257fe5b9060005260206000200160006101000a8154816001600160a01b0302191690836001600160a01b03160217905550856001860381518110610b2f57fe5b6020026020010151868281518110610b4357fe5b6020026020010181815250505b87805480610b5a57fe5b600082815260209020810160001990810180546001600160a01b0319169055908101909155949094019350600101610a42565b50610b988189611b62565b5050505050505b5050565b60036020526000908152604090205481565b600154600160a01b900460ff1615610c0b576040805162461bcd60e51b8152602060048201526014602482015273696e697469616c6973656420213d2066616c736560601b604482015290519081900360640190fd5b6001805460ff60a01b1916600160a01b179055600054604080516001600160a01b039283168152918316602083015280517f434a2db650703b36c824e745330d6397cdaa9ee2cc891a4938ae853e1c50b68d9281900390910190a1600080546001600160a01b039092166001600160a01b0319928316179055600180549091169055565b610c9882611484565b610cdf576040805162461bcd60e51b81526020600482015260136024820152726e6f742074727573746564206164647265737360681b604482015290519081900360640190fd5b6000818152600460205260408120805490915b81811015610d3857846001600160a01b0316838281548110610d1057fe5b6000918252602090912001546001600160a01b03161415610d3057610d38565b600101610cf2565b818110610d8c576040805162461bcd60e51b815260206004820152601f60248201527f747275737465642061646472657373206e6f742077686974656c697374656400604482015290519081900360640190fd5b60408051600180825281830190925260009160208083019080368337019050509050838281548110610dba57fe5b600091825260208220015482516001600160a01b03909116918391610ddb57fe5b60200260200101906001600160a01b031690816001600160a01b031681525050836001840381548110610e0a57fe5b9060005260206000200160009054906101000a90046001600160a01b0316848381548110610e3457fe5b9060005260206000200160006101000a8154816001600160a01b0302191690836001600160a01b0316021790555083805480610e6c57fe5b600082815260209020810160001990810180546001600160a01b0319169055019055610e988186611b62565b505050505050565b600554604051630e848da360e41b81526020600482018181528451602484015284516060946000946001600160a01b039091169363e848da3093889390928392604490910191908501908083838b5b83811015610f07578181015183820152602001610eef565b50505050905090810190601f168015610f345780820380516001836020036101000a031916815260200191505b509250505060206040518083038186803b158015610f5157600080fd5b505afa158015610f65573d6000803e3d6000fd5b505050506040513d6020811015610f7b57600080fd5b50519050610f8881610503565b9392505050565b606080610f9b83611484565b15610fdf576040805162461bcd60e51b815260206004820152600f60248201526e74727573746564206164647265737360881b604482015290519081900360640190fd5b600560009054906101000a90046001600160a01b03166001600160a01b031663798aac5b6040518163ffffffff1660e01b815260040160006040518083038186803b15801561102d57600080fd5b505afa158015611041573d6000803e3d6000fd5b505050506040513d6000823e601f3d908101601f19168201604052602081101561106a57600080fd5b8101908080516040519392919084600160201b82111561108957600080fd5b90830190602082018581111561109e57600080fd5b82518660208202830111600160201b821117156110ba57600080fd5b82525081516020918201928201910280838360005b838110156110e75781810151838201526020016110cf565b5050505090500160405250505091506000825190508067ffffffffffffffff8111801561111357600080fd5b5060405190808252806020026020018201604052801561113d578160200160208202803683370190505b50915060005b8181101561118c576111688585838151811061115b57fe5b60200260200101516115ff565b83828151811061117457fe5b91151560209283029190910190910152600101611143565b5050915091565b6000546001600160a01b031633146111e4576040805162461bcd60e51b815260206004820152600f60248201526e6f6e6c7920676f7665726e616e636560881b604482015290519081900360640190fd5b600180546001600160a01b0383166001600160a01b0319909116811790915560408051918252517f1f95fb40be3a947982072902a887b521248d1d8931a39eb38f84f4d6fd758b699181900360200190a150565b6000546001600160a01b03163314611289576040805162461bcd60e51b815260206004820152600f60248201526e6f6e6c7920676f7665726e616e636560881b604482015290519081900360640190fd5b600580546001600160a01b039384166001600160a01b03199182161790915560068054929093169116179055565b6000546001600160a01b03163314611308576040805162461bcd60e51b815260206004820152600f60248201526e6f6e6c7920676f7665726e616e636560881b604482015290519081900360640190fd5b600054604080516001600160a01b039283168152918316602083015280517f434a2db650703b36c824e745330d6397cdaa9ee2cc891a4938ae853e1c50b68d9281900390910190a1600080546001600160a01b039092166001600160a01b0319928316179055600180549091169055565b6006546001600160a01b031633146113cc576040805162461bcd60e51b815260206004820152601160248201527037b7363c90333a39b79036b0b730b3b2b960791b604482015290519081900360640190fd5b6000818152600460209081526040918290208054835181840281018401909452808452611438939283018282801561142d57602002820191906000526020600020905b81546001600160a01b0316815260019091019060200180831161140f575b505050505082611b62565b600081815260046020526040812061144f91612584565b600090815260036020526040812055565b7f000000000000000000000000000000000000000000000000000000000000000081565b6000807f00000000000000000000000000000000000000000000000000000000000000006001600160a01b031663ffacb84e6040518163ffffffff1660e01b815260040160006040518083038186803b1580156114e057600080fd5b505afa1580156114f4573d6000803e3d6000fd5b505050506040513d6000823e601f3d908101601f19168201604052602081101561151d57600080fd5b8101908080516040519392919084600160201b82111561153c57600080fd5b90830190602082018581111561155157600080fd5b82518660208202830111600160201b8211171561156d57600080fd5b82525081516020918201928201910280838360005b8381101561159a578181015183820152602001611582565b50505050905001604052505050905060005b81518110156115f557836001600160a01b03168282815181106115cb57fe5b60200260200101516001600160a01b031614156115ed576001925050506105c9565b6001016115ac565b5060009392505050565b6000818152600360205260408120548061165b576040805162461bcd60e51b8152602060048201526018602482015277119514d3c81a5b99195e081b9bdd081cdd5c1c1bdc9d195960421b604482015290519081900360640190fd5b6000838152600460205260408120805490916001820167ffffffffffffffff8111801561168757600080fd5b506040519080825280602002602001820160405280156116b1578160200160208202803683370190505b50905060005b8281101561172c5760008482815481106116cd57fe5b6000918252602090912001546001600160a01b03908116915089168114156116fe5760019650505050505050611885565b8083838151811061170b57fe5b6001600160a01b0390921660209283029190910190910152506001016116b7565b508681838151811061173a57fe5b60200260200101906001600160a01b031690816001600160a01b031681525050838210156117a45782546001810184556000848152602090200180546001600160a01b0319166001600160a01b0389161790556117978787611c92565b6001945050505050611885565b60006117b08288611d4d565b9050828114156117c857600095505050505050611885565b604080516001808252818301909252600091602080830190803683370190505090508282815181106117f657fe5b60200260200101518160008151811061180b57fe5b60200260200101906001600160a01b031690816001600160a01b0316815250508885838154811061183857fe5b9060005260206000200160006101000a8154816001600160a01b0302191690836001600160a01b031602179055506118708189611b62565b61187a8989611c92565b600196505050505050505b92915050565b6060806060600080600080886001600160a01b0316638357d08c6040518163ffffffff1660e01b815260040160006040518083038186803b1580156118cf57600080fd5b505afa1580156118e3573d6000803e3d6000fd5b505050506040513d6000823e601f3d908101601f1916820160405260c081101561190c57600080fd5b8101908080516040519392919084600160201b82111561192b57600080fd5b90830190602082018581111561194057600080fd5b82518660208202830111600160201b8211171561195c57600080fd5b82525081516020918201928201910280838360005b83811015611989578181015183820152602001611971565b5050505090500160405260200180516040519392919084600160201b8211156119b157600080fd5b9083019060208201858111156119c657600080fd5b82518660208202830111600160201b821117156119e257600080fd5b82525081516020918201928201910280838360005b83811015611a0f5781810151838201526020016119f7565b5050505090500160405260200180519060200190929190805190602001909291908051906020019092919080519060200190929190505050809650819750829850839950849a50859b505050505050506000611ad18a6001600160a01b0316639edbf0076040518163ffffffff1660e01b815260040160206040518083038186803b158015611a9d57600080fd5b505afa158015611ab1573d6000803e3d6000fd5b505050506040513d6020811015611ac757600080fd5b5051868b85611dee565b90506000611ae28888878d87611e69565b9050611aef828286611fdc565b9b9a5050505050505050505050565b60008060009050600084600081518110611b1457fe5b6020026020010151905060005b84811015611b58576000868281518110611b3757fe5b60200260200101519050828111611b4f578193508092505b50600101611b21565b5090949350505050565b60005b8251811015611bd1577f33359f2769756ca8d0da4683f25ee440744d6f18bfb166dbfb59315a8c62b016838281518110611b9b57fe5b60200260200101518360405180836001600160a01b031681526020018281526020019250505060405180910390a1600101611b65565b507f00000000000000000000000000000000000000000000000000000000000000006001600160a01b03166376794efb83836040518363ffffffff1660e01b81526004018080602001838152602001828103825284818151815260200191508051906020019060200280838360005b83811015611c58578181015183820152602001611c40565b505050509050019350505050600060405180830381600087803b158015611c7e57600080fd5b505af1158015610e98573d6000803e3d6000fd5b604080516001600160a01b03841681526020810183905281517f66a8b13abe95391d1851f5bc319f3dde54ce8f2f40a5fe226aa3251d805832e3929181900390910190a17f00000000000000000000000000000000000000000000000000000000000000006001600160a01b0316639d986f9183836040518363ffffffff1660e01b815260040180836001600160a01b0316815260200182815260200192505050600060405180830381600087803b158015611c7e57600080fd5b6005546040805163d75f6d8160e01b815260048101849052905160009283926001600160a01b039091169163d75f6d8191602480820192602092909190829003018186803b158015611d9e57600080fd5b505afa158015611db2573d6000803e3d6000fd5b505050506040513d6020811015611dc857600080fd5b505190506000611dd8828661188b565b9050611de5818251611afe565b95945050505050565b6060611dfb858484612121565b905083611e0757611e61565b60005b8351811015611e5f57611e4064e8d4a5100086848481518110611e2957fe5b60200260200101516123199092919063ffffffff16565b828281518110611e4c57fe5b6020908102919091010152600101611e0a565b505b949350505050565b6060825167ffffffffffffffff81118015611e8357600080fd5b50604051908082528060200260200182016040528015611ead578160200160208202803683370190505b50905060005b8351811015611edd576000828281518110611eca57fe5b6020908102919091010152600101611eb3565b5083611ee857611de5565b6000611efc85670de0b6b3a7640000612425565b905060005b8751811015611fd1576000888281518110611f1857fe5b6020026020010151905060006001600160a01b0316816001600160a01b031614611fc8576000611f49828888612121565b905060005b8751811015611fc5576000611f7d8b8681518110611f6857fe5b602002602001015187858581518110611e2957fe5b9050611fa581888481518110611f8f57fe5b602002602001015161247e90919063ffffffff16565b878381518110611fb157fe5b602090810291909101015250600101611f4e565b50505b50600101611f01565b505095945050505050565b60606000611fe9846124d8565b90506000611ff6866124d8565b9050600080831161200857600061200a565b845b9050600080831161201c576000612022565b81612710035b9050875167ffffffffffffffff8111801561203c57600080fd5b50604051908082528060200260200182016040528015612066578160200160208202803683370190505b50945060005b885181101561211557600082156120b3576120b08a838151811061208c57fe5b602002602001015164e8d4a51000026127108702856123199092919063ffffffff16565b90505b600084156120f1576120ee8a84815181106120ca57fe5b602002602001015164e8d4a51000026127108902876123199092919063ffffffff16565b90505b80820188848151811061210057fe5b6020908102919091010152505060010161206c565b50505050509392505050565b6060836001600160a01b031663e587497e8460018651038151811061214257fe5b6020026020010151846040518363ffffffff1660e01b815260040180836001600160a01b0316815260200182815260200192505050602060405180830381600087803b15801561219157600080fd5b505af11580156121a5573d6000803e3d6000fd5b505050506040513d60208110156121bb57600080fd5b5050604080516349e3c7e560e01b815260248101849052600481019182528451604482015284516001600160a01b038716926349e3c7e592879287929182916064909101906020868101910280838360005b8381101561222557818101518382015260200161220d565b50505050905001935050505060006040518083038186803b15801561224957600080fd5b505afa15801561225d573d6000803e3d6000fd5b505050506040513d6000823e601f3d908101601f19168201604052602081101561228657600080fd5b8101908080516040519392919084600160201b8211156122a557600080fd5b9083019060208201858111156122ba57600080fd5b82518660208202830111600160201b821117156122d657600080fd5b82525081516020918201928201910280838360005b838110156123035781810151838201526020016122eb565b5050505090500160405250505090509392505050565b6000808211612362576040805162461bcd60e51b815260206004820152601060248201526f4469766973696f6e206279207a65726f60801b604482015290519081900360640190fd5b8361236f57506000610f88565b8383028385828161237c57fe5b0414156123955782818161238c57fe5b04915050610f88565b60008386816123a057fe5b04905060008487816123ae57fe5b06905060008587816123bc57fe5b04905060008688816123ca57fe5b0690506124186123e4886123de8685612425565b9061251d565b6124126123f18686612425565b6124126123fe8987612425565b6124128d61240c8c8b612425565b90612425565b9061247e565b9998505050505050505050565b60008261243457506000611885565b8282028284828161244157fe5b0414610f885760405162461bcd60e51b81526004018080602001828103825260218152602001806125bf6021913960400191505060405180910390fd5b600082820183811015610f88576040805162461bcd60e51b815260206004820152601b60248201527f536166654d6174683a206164646974696f6e206f766572666c6f770000000000604482015290519081900360640190fd5b600080805b83518110156125165761250c8482815181106124f557fe5b60200260200101518361247e90919063ffffffff16565b91506001016124dd565b5092915050565b6000808211612573576040805162461bcd60e51b815260206004820152601a60248201527f536166654d6174683a206469766973696f6e206279207a65726f000000000000604482015290519081900360640190fd5b81838161257c57fe5b049392505050565b50805460008255906000526020600020908101906125a291906125a5565b50565b5b808211156125ba57600081556001016125a6565b509056fe536166654d6174683a206d756c7469706c69636174696f6e206f766572666c6f77a2646970667358221220142ee3a57f37b457d12fffd903128fb4f4f827b24ad3dec5dd90fa1ae2af01b064736f6c63430007060033",
649
+ "bytecode": "0x60c06040523480156200001157600080fd5b506040516200406c3803806200406c833981810160405260a08110156200003757600080fd5b508051602082015160408301516060840151608090940151929391929091908385806001600160a01b038116156200007457620000748162000120565b506001600160a01b038116620000c4576040805162461bcd60e51b815260206004820152601060248201526f5f676f7665726e616e6365207a65726f60801b604482015290519081900360640190fd5b50620000d081620001e3565b50606092831b6001600160601b03199081166080526002929092559182901b1660a0526007805460ff60a01b19166001600160a01b039092161515600160a01b0291909117905550620002079050565b600054600160a01b900460ff161562000180576040805162461bcd60e51b815260206004820152601460248201527f696e697469616c6973656420213d2066616c7365000000000000000000000000604482015290519081900360640190fd5b60008054600160a01b60ff60a01b19909116176001600160a01b0319166001600160a01b03831690811790915560408051918252517f9789733827840833afc031fb2ef9ab6894271f77bad2085687cf4ae5c7bee4db916020908290030190a150565b7f714f205b2abd25bef1d06a1af944e38c113fe6160375c4e1d6d5cf28848e771955565b60805160601c60a05160601c613e1d6200024f600039806108ea5280611acc5280611b8b5280611f7d52508061258652806125e4528061312152806134255250613e1d6000f3fe608060405234801561001057600080fd5b50600436106101da5760003560e01c806374e6310e11610104578063aa89dfd4116100a2578063d873617111610071578063d87361711461089e578063e17f212e146108bb578063f5a98383146108c3578063f937d6ad146108cb576101da565b8063aa89dfd414610610578063ab674b22146106b4578063b00c0b76146106bc578063b06cbaf7146107df576101da565b806398dccfc2116100de57806398dccfc2146105855780639d6a890f146105a25780639dc950ab146105c8578063a5eb9c60146105f4576101da565b806374e6310e1461049f5780637ecfcfa3146105455780638e15c88314610568576101da565b80633de2cb1c1161017c5780635aa6e6751161014b5780635aa6e675146104415780635ff270791461044957806362354e031461047057806367fc402914610478576101da565b80633de2cb1c146103cd57806346538074146103f957806347ed51b1146104315780635267a15d14610439576101da565b80632ee96140116101b85780632ee9614014610381578063345705a4146103a057806338b5f869146103bd5780633a65d7b6146103c5576101da565b806309fcb400146101df57806311a7aaaa1461024c5780632b4faebb14610270575b600080fd5b6101fc600480360360208110156101f557600080fd5b50356108d3565b60408051602080825283518183015283519192839290830191858101910280838360005b83811015610238578181015183820152602001610220565b505050509050019250505060405180910390f35b610254610ae2565b604080516001600160a01b039092168252519081900360200190f35b6103266004803603606081101561028657600080fd5b6001600160a01b0382351691602081013591810190606081016040820135600160201b8111156102b557600080fd5b8201836020820111156102c757600080fd5b803590602001918460208302840111600160201b831117156102e857600080fd5b919080806020026020016040519081016040528093929190818152602001838360200280828437600092019190915250929550610af1945050505050565b6040518080602001838152602001828103825284818151815260200191508051906020019060200280838360005b8381101561036c578181015183820152602001610354565b50505050905001935050505060405180910390f35b61039e6004803603602081101561039757600080fd5b5035610d4c565b005b61039e600480360360208110156103b657600080fd5b5035610d93565b610254610ea7565b61039e610eb6565b61039e600480360360408110156103e357600080fd5b506001600160a01b038135169060200135610f1e565b61041f6004803603602081101561040f57600080fd5b50356001600160a01b03166110f4565b60408051918252519081900360200190f35b61041f611106565b61025461110c565b610254611131565b61039e6004803603602081101561045f57600080fd5b50356001600160e01b0319166111d3565b610254611535565b61039e6004803603602081101561048e57600080fd5b50356001600160e01b03191661154d565b6104c6600480360360208110156104b557600080fd5b50356001600160e01b031916611635565b6040518083815260200180602001828103825283818151815260200191508051906020019080838360005b838110156105095781810151838201526020016104f1565b50505050905090810190601f1680156105365780820380516001836020036101000a031916815260200191505b50935050505060405180910390f35b61039e6004803603604081101561055b57600080fd5b50803590602001356116db565b61039e6004803603602081101561057e57600080fd5b5035611a1f565b61041f6004803603602081101561059b57600080fd5b5035611cbb565b61039e600480360360208110156105b857600080fd5b50356001600160a01b0316611ccd565b61039e600480360360408110156105de57600080fd5b506001600160a01b038135169060200135611d86565b6105fc611e7c565b604080519115158252519081900360200190f35b6101fc6004803603602081101561062657600080fd5b810190602081018135600160201b81111561064057600080fd5b82018360208201111561065257600080fd5b803590602001918460018302840111600160201b8311171561067357600080fd5b91908080601f016020809104026020016040519081016040528093929190818152602001838380828437600092019190915250929550611e8c945050505050565b610254611f7b565b61039e600480360360408110156106d257600080fd5b810190602081018135600160201b8111156106ec57600080fd5b8201836020820111156106fe57600080fd5b803590602001918460208302840111600160201b8311171561071f57600080fd5b9190808060200260200160405190810160405280939291908181526020018383602002808284376000920191909152509295949360208101935035915050600160201b81111561076e57600080fd5b82018360208201111561078057600080fd5b803590602001918460208302840111600160201b831117156107a157600080fd5b919080806020026020016040519081016040528093929190818152602001838360200280828437600092019190915250929550611f9f945050505050565b610805600480360360208110156107f557600080fd5b50356001600160a01b0316612046565b604051808060200180602001838103835285818151815260200191508051906020019060200280838360005b83811015610849578181015183820152602001610831565b50505050905001838103825284818151815260200191508051906020019060200280838360005b83811015610888578181015183820152602001610870565b5050505090500194505050505060405180910390f35b61039e600480360360208110156108b457600080fd5b503561237b565b6105fc6124ad565b61039e6124bd565b610254612584565b600754606090600160a01b900460ff1615610a1a577f00000000000000000000000000000000000000000000000000000000000000006001600160a01b03166309fcb400836040518263ffffffff1660e01b81526004018082815260200191505060006040518083038186803b15801561094c57600080fd5b505afa158015610960573d6000803e3d6000fd5b505050506040513d6000823e601f3d908101601f19168201604052602081101561098957600080fd5b8101908080516040519392919084600160201b8211156109a857600080fd5b9083019060208201858111156109bd57600080fd5b82518660208202830111600160201b821117156109d957600080fd5b82525081516020918201928201910280838360005b83811015610a065781810151838201526020016109ee565b505050509050016040525050509050610add565b60008281526003602052604090205480610a76576040805162461bcd60e51b8152602060048201526018602482015277119514d3c81a5b99195e081b9bdd081cdd5c1c1bdc9d195960421b604482015290519081900360640190fd5b60008381526005602090815260409182902080548351818402810184019094528084529091830182828015610ad457602002820191906000526020600020905b81546001600160a01b03168152600190910190602001808311610ab6575b50505050509150505b919050565b6007546001600160a01b031681565b600754606090600090600160a01b900460ff1615610b42576040805162461bcd60e51b8152602060048201526009602482015268636f7079206d6f646560b81b604482015290519081900360640190fd5b600054600160b01b900460ff1680610b645750600054600160a81b900460ff16155b15610d3957610b716125a8565b610b7a856125df565b15610bbe576040805162461bcd60e51b815260206004820152600f60248201526e74727573746564206164647265737360881b604482015290519081900360640190fd5b610c4284600760009054906101000a90046001600160a01b03166001600160a01b031663e7c830d46040518163ffffffff1660e01b815260040160206040518083038186803b158015610c1057600080fd5b505afa158015610c24573d6000803e3d6000fd5b505050506040513d6020811015610c3a57600080fd5b50519061275a565b6001600160a01b0386166000818152600460209081526040918290208490558151928352820183905280519293507f0c2fcef22ab22997ed46cd27f7f0aa308600145401a7a141065d61c5d87341d292918290030190a182518067ffffffffffffffff81118015610cb257600080fd5b50604051908082528060200260200182016040528015610cdc578160200160208202803683370190505b5092508415610d335760005b81811015610d3157610d0d87868381518110610d0057fe5b60200260200101516127bd565b848281518110610d1957fe5b91151560209283029190910190910152600101610ce8565b505b50610d44565b610d44600036612942565b935093915050565b600054600160b01b900460ff1680610d6e5750600054600160a81b900460ff16155b15610d8557610d7b6125a8565b6002819055610d90565b610d90600036612942565b50565b600754600160a01b900460ff1615610dde576040805162461bcd60e51b8152602060048201526009602482015268636f7079206d6f646560b81b604482015290519081900360640190fd5b6007546001600160a01b03163314610e31576040805162461bcd60e51b815260206004820152601160248201527037b7363c90333a39b79036b0b730b3b2b960791b604482015290519081900360640190fd5b60008181526003602052604090205415610e92576040805162461bcd60e51b815260206004820152601760248201527f77686974656c69737420616c7265616479206578697374000000000000000000604482015290519081900360640190fd5b60025460009182526003602052604090912055565b6006546001600160a01b031681565b610ebe612ad2565b600754600160a01b900460ff16610f0f576040805162461bcd60e51b815260206004820152601060248201526f6e6f7420696e20636f7079206d6f646560801b604482015290519081900360640190fd5b6007805460ff60a01b19169055565b600754600160a01b900460ff1615610f69576040805162461bcd60e51b8152602060048201526009602482015268636f7079206d6f646560b81b604482015290519081900360640190fd5b6001600160a01b038216600090815260046020526040902054829080158061100a5750600760009054906101000a90046001600160a01b03166001600160a01b031663e7c830d46040518163ffffffff1660e01b815260040160206040518083038186803b158015610fda57600080fd5b505afa158015610fee573d6000803e3d6000fd5b505050506040513d602081101561100457600080fd5b50518111155b61104b576040805162461bcd60e51b815260206004820152600d60248201526c1d9bdd195c8818da1a5b1b1959609a1b604482015290519081900360640190fd5b611054846125df565b15611098576040805162461bcd60e51b815260206004820152600f60248201526e74727573746564206164647265737360881b604482015290519081900360640190fd5b60006110a48585612b31565b9050806110ed576040805162461bcd60e51b8152602060048201526012602482015271766f746520706f77657220746f6f206c6f7760701b604482015290519081900360640190fd5b5050505050565b60046020526000908152604090205481565b60025481565b7f714f205b2abd25bef1d06a1af944e38c113fe6160375c4e1d6d5cf28848e77195490565b60008054600160a81b900460ff16611154576000546001600160a01b03166111ce565b73183faff6997c98a812a3b98748fc80241d08f3126001600160a01b031663732524946040518163ffffffff1660e01b815260040160206040518083038186803b1580156111a157600080fd5b505afa1580156111b5573d6000803e3d6000fd5b505050506040513d60208110156111cb57600080fd5b50515b905090565b60408051630debfda360e41b8152336004820152905173183faff6997c98a812a3b98748fc80241d08f3129163debfda30916024808301926020929190829003018186803b15801561122457600080fd5b505afa158015611238573d6000803e3d6000fd5b505050506040513d602081101561124e57600080fd5b5051611291576040805162461bcd60e51b815260206004820152600d60248201526c37b7363c9032bc32b1baba37b960991b604482015290519081900360640190fd5b6001600160e01b03198116600090815260016020526040902080546112fd576040805162461bcd60e51b815260206004820152601a60248201527f74696d656c6f636b3a20696e76616c69642073656c6563746f72000000000000604482015290519081900360640190fd5b8054421015611353576040805162461bcd60e51b815260206004820152601960248201527f74696d656c6f636b3a206e6f7420616c6c6f7765642079657400000000000000604482015290519081900360640190fd5b6000816001018054600181600116156101000203166002900480601f0160208091040260200160405190810160405280929190818152602001828054600181600116156101000203166002900480156113ed5780601f106113c2576101008083540402835291602001916113ed565b820191906000526020600020905b8154815290600101906020018083116113d057829003601f168201915b5050506001600160e01b03198616600090815260016020819052604082208281559495509092506114219150830182613c6e565b50506000805460ff60b01b1916600160b01b178155604051825130918491819060208401908083835b602083106114695780518252601f19909201916020918201910161144a565b6001836020036101000a0380198251168184511680821785525050505050509050019150506000604051808303816000865af19150503d80600081146114cb576040519150601f19603f3d011682016040523d82523d6000602084013e6114d0565b606091505b50506000805460ff60b01b19169055604080516001600160e01b03198716815242602082015281519293507fa7326b57fc9cfe267aaea5e7f0b01757154d265620a0585819416ee9ddd2c438929081900390910190a161152f81612dbb565b50505050565b73183faff6997c98a812a3b98748fc80241d08f31281565b611555612ad2565b6001600160e01b031981166000908152600160205260409020546115c0576040805162461bcd60e51b815260206004820152601a60248201527f74696d656c6f636b3a20696e76616c69642073656c6563746f72000000000000604482015290519081900360640190fd5b604080516001600160e01b03198316815242602082015281517f7735b2391c38a81419c513e30ca578db7158eadd7101511b23e221c654d19cf8929181900390910190a16001600160e01b0319811660009081526001602081905260408220828155919061163090830182613c6e565b505050565b600160208181526000928352604092839020805481840180548651600296821615610100026000190190911695909504601f810185900485028601850190965285855290949193929091908301828280156116d15780601f106116a6576101008083540402835291602001916116d1565b820191906000526020600020905b8154815290600101906020018083116116b457829003601f168201915b5050505050905082565b600754600160a01b900460ff1615611726576040805162461bcd60e51b8152602060048201526009602482015268636f7079206d6f646560b81b604482015290519081900360640190fd5b600054600160b01b900460ff16806117485750600054600160a81b900460ff16155b15611a10576117556125a8565b6000828152600360209081526040808320849055600590915290208054821061177e5750611a0b565b6006546040805163d75f6d8160e01b81526004810186905290516000926001600160a01b03169163d75f6d81916024808301926020929190829003018186803b1580156117ca57600080fd5b505afa1580156117de573d6000803e3d6000fd5b505050506040513d60208110156117f457600080fd5b505182546040805160208381028201810190925282815292935060009261185d92859287919083018282801561185357602002820191906000526020600020905b81546001600160a01b03168152600190910190602001808311611835575b5050505050612dd8565b805190915084810360008167ffffffffffffffff8111801561187e57600080fd5b506040519080825280602002602001820160405280156118a8578160200160208202803683370190505b50905060005b828110156119f95760006118c2868661304b565b90508781815481106118d057fe5b9060005260206000200160009054906101000a90046001600160a01b03168383815181106118fa57fe5b60200260200101906001600160a01b031690816001600160a01b031681525050600185038110156119bc5787600186038154811061193457fe5b9060005260206000200160009054906101000a90046001600160a01b031688828154811061195e57fe5b9060005260206000200160006101000a8154816001600160a01b0302191690836001600160a01b0316021790555085600186038151811061199b57fe5b60200260200101518682815181106119af57fe5b6020026020010181815250505b878054806119c657fe5b600082815260209020810160001990810180546001600160a01b03191690559081019091559490940193506001016118ae565b50611a0481896130af565b5050505050505b611a1b565b611a1b600036612942565b5050565b611a27612ad2565b600754600160a01b900460ff16611a78576040805162461bcd60e51b815260206004820152601060248201526f6e6f7420696e20636f7079206d6f646560801b604482015290519081900360640190fd5b60008181526003602052604090205415611aca576040805162461bcd60e51b815260206004820152600e60248201526d185b1c9958591e4818dbdc1a595960921b604482015290519081900360640190fd5b7f00000000000000000000000000000000000000000000000000000000000000006001600160a01b03166398dccfc2826040518263ffffffff1660e01b81526004018082815260200191505060206040518083038186803b158015611b2e57600080fd5b505afa158015611b42573d6000803e3d6000fd5b505050506040513d6020811015611b5857600080fd5b505160008281526003602052604080822092909255815162027f2d60ea1b81526004810184905291516001600160a01b037f000000000000000000000000000000000000000000000000000000000000000016926309fcb400926024808301939192829003018186803b158015611bce57600080fd5b505afa158015611be2573d6000803e3d6000fd5b505050506040513d6000823e601f3d908101601f191682016040526020811015611c0b57600080fd5b8101908080516040519392919084600160201b821115611c2a57600080fd5b908301906020820185811115611c3f57600080fd5b82518660208202830111600160201b82111715611c5b57600080fd5b82525081516020918201928201910280838360005b83811015611c88578181015183820152602001611c70565b50505050905001604052505050600560008381526020019081526020016000209080519060200190611a1b929190613cb2565b60036020526000908152604090205481565b600054600160a01b900460ff1615611d23576040805162461bcd60e51b8152602060048201526014602482015273696e697469616c6973656420213d2066616c736560601b604482015290519081900360640190fd5b60008054600160a01b60ff60a01b19909116176001600160a01b0319166001600160a01b03831690811790915560408051918252517f9789733827840833afc031fb2ef9ab6894271f77bad2085687cf4ae5c7bee4db916020908290030190a150565b600754600160a01b900460ff1615611dd1576040805162461bcd60e51b8152602060048201526009602482015268636f7079206d6f646560b81b604482015290519081900360640190fd5b611dda826125df565b611e21576040805162461bcd60e51b81526020600482015260136024820152726e6f742074727573746564206164647265737360681b604482015290519081900360640190fd5b611e2b82826127bd565b611a1b576040805162461bcd60e51b815260206004820152601f60248201527f747275737465642061646472657373206e6f742077686974656c697374656400604482015290519081900360640190fd5b600754600160a01b900460ff1681565b600654604051630e848da360e41b81526020600482018181528451602484015284516060946000946001600160a01b039091169363e848da3093889390928392604490910191908501908083838b5b83811015611ef3578181015183820152602001611edb565b50505050905090810190601f168015611f205780820380516001836020036101000a031916815260200191505b509250505060206040518083038186803b158015611f3d57600080fd5b505afa158015611f51573d6000803e3d6000fd5b505050506040513d6020811015611f6757600080fd5b50519050611f74816108d3565b9392505050565b7f000000000000000000000000000000000000000000000000000000000000000081565b611fa761110c565b6001600160a01b0316336001600160a01b031614612003576040805162461bcd60e51b815260206004820152601460248201527337b7363c9030b2323932b9b9903ab83230ba32b960611b604482015290519081900360640190fd5b61203c61203783836040518060400160405280600e81526020016d20b2323932b9b9aab83230ba32b960911b8152506131e7565b613314565b611a1b8282613338565b6007546060908190600160a01b900460ff1615612096576040805162461bcd60e51b8152602060048201526009602482015268636f7079206d6f646560b81b604482015290519081900360640190fd5b6001600160a01b03831660009081526004602052604090205483908015806121375750600760009054906101000a90046001600160a01b03166001600160a01b031663e7c830d46040518163ffffffff1660e01b815260040160206040518083038186803b15801561210757600080fd5b505afa15801561211b573d6000803e3d6000fd5b505050506040513d602081101561213157600080fd5b50518111155b612178576040805162461bcd60e51b815260206004820152600d60248201526c1d9bdd195c8818da1a5b1b1959609a1b604482015290519081900360640190fd5b612181856125df565b156121c5576040805162461bcd60e51b815260206004820152600f60248201526e74727573746564206164647265737360881b604482015290519081900360640190fd5b600660009054906101000a90046001600160a01b03166001600160a01b031663798aac5b6040518163ffffffff1660e01b815260040160006040518083038186803b15801561221357600080fd5b505afa158015612227573d6000803e3d6000fd5b505050506040513d6000823e601f3d908101601f19168201604052602081101561225057600080fd5b8101908080516040519392919084600160201b82111561226f57600080fd5b90830190602082018581111561228457600080fd5b82518660208202830111600160201b821117156122a057600080fd5b82525081516020918201928201910280838360005b838110156122cd5781810151838201526020016122b5565b5050505090500160405250505093506000845190508067ffffffffffffffff811180156122f957600080fd5b50604051908082528060200260200182016040528015612323578160200160208202803683370190505b50935060005b818110156123725761234e8787838151811061234157fe5b6020026020010151612b31565b85828151811061235a57fe5b91151560209283029190910190910152600101612329565b50505050915091565b600754600160a01b900460ff16156123c6576040805162461bcd60e51b8152602060048201526009602482015268636f7079206d6f646560b81b604482015290519081900360640190fd5b6007546001600160a01b03163314612419576040805162461bcd60e51b815260206004820152601160248201527037b7363c90333a39b79036b0b730b3b2b960791b604482015290519081900360640190fd5b6000818152600560209081526040918290208054835181840281018401909452808452612485939283018282801561247a57602002820191906000526020600020905b81546001600160a01b0316815260019091019060200180831161245c575b5050505050826130af565b600081815260056020526040812061249c91613d17565b600090815260036020526040812055565b600054600160a81b900460ff1681565b6124c5612ad2565b600054600160a81b900460ff1615612524576040805162461bcd60e51b815260206004820152601a60248201527f616c726561647920696e2070726f64756374696f6e206d6f6465000000000000604482015290519081900360640190fd5b60008054600161ff0160a01b031916600160a81b1790556040805173183faff6997c98a812a3b98748fc80241d08f312815290517f83af113638b5422f9e977cebc0aaf0eaf2188eb9a8baae7f9d46c42b33a1560c9181900360200190a1565b7f000000000000000000000000000000000000000000000000000000000000000081565b600054600160b01b900460ff16156125d5573330146125c357fe5b6000805460ff60b01b191690556125dd565b6125dd612ad2565b565b6000807f00000000000000000000000000000000000000000000000000000000000000006001600160a01b031663ffacb84e6040518163ffffffff1660e01b815260040160006040518083038186803b15801561263b57600080fd5b505afa15801561264f573d6000803e3d6000fd5b505050506040513d6000823e601f3d908101601f19168201604052602081101561267857600080fd5b8101908080516040519392919084600160201b82111561269757600080fd5b9083019060208201858111156126ac57600080fd5b82518660208202830111600160201b821117156126c857600080fd5b82525081516020918201928201910280838360005b838110156126f55781810151838201526020016126dd565b50505050905001604052505050905060005b815181101561275057836001600160a01b031682828151811061272657fe5b60200260200101516001600160a01b0316141561274857600192505050610add565b600101612707565b5060009392505050565b6000828201838110156127b4576040805162461bcd60e51b815260206004820152601b60248201527f536166654d6174683a206164646974696f6e206f766572666c6f770000000000604482015290519081900360640190fd5b90505b92915050565b60008181526005602052604081208054825b8181101561281557856001600160a01b03168382815481106127ed57fe5b6000918252602090912001546001600160a01b0316141561280d57612815565b6001016127cf565b8181141561282957600093505050506127b7565b6040805160018082528183019092526000916020808301908036833701905050905083828154811061285757fe5b600091825260208220015482516001600160a01b0390911691839161287857fe5b60200260200101906001600160a01b031690816001600160a01b0316815250508360018403815481106128a757fe5b9060005260206000200160009054906101000a90046001600160a01b03168483815481106128d157fe5b9060005260206000200160006101000a8154816001600160a01b0302191690836001600160a01b031602179055508380548061290957fe5b600082815260209020810160001990810180546001600160a01b031916905501905561293581876130af565b5060019695505050505050565b61294a612ad2565b600082359050600073183faff6997c98a812a3b98748fc80241d08f3126001600160a01b0316636221a54b6040518163ffffffff1660e01b815260040160206040518083038186803b15801561299f57600080fd5b505afa1580156129b3573d6000803e3d6000fd5b505050506040513d60208110156129c957600080fd5b505160408051808201825242830180825282516020601f89018190048102820181019094528781529394509290918281019190889088908190840183828082843760009201829052509390945250506001600160e01b03198616815260016020818152604090922084518155848301518051919450612a4d93928501920190613d35565b509050507fed948300a3694aa01d4a6b258bfd664350193d770c0b51f8387277f6d83ea3b68382878760405180856001600160e01b0319168152602001848152602001806020018281038252848482818152602001925080828437600083820152604051601f909101601f191690920182900397509095505050505050a15050505050565b612ada611131565b6001600160a01b0316336001600160a01b0316146125dd576040805162461bcd60e51b815260206004820152600f60248201526e6f6e6c7920676f7665726e616e636560881b604482015290519081900360640190fd5b60008181526003602052604081205480612b8d576040805162461bcd60e51b8152602060048201526018602482015277119514d3c81a5b99195e081b9bdd081cdd5c1c1bdc9d195960421b604482015290519081900360640190fd5b6000838152600560205260408120805490916001820167ffffffffffffffff81118015612bb957600080fd5b50604051908082528060200260200182016040528015612be3578160200160208202803683370190505b50905060005b82811015612c5e576000848281548110612bff57fe5b6000918252602090912001546001600160a01b0390811691508916811415612c3057600196505050505050506127b7565b80838381518110612c3d57fe5b6001600160a01b039092166020928302919091019091015250600101612be9565b5086818381518110612c6c57fe5b60200260200101906001600160a01b031690816001600160a01b03168152505083821015612cd65782546001810184556000848152602090200180546001600160a01b0319166001600160a01b038916179055612cc987876133df565b60019450505050506127b7565b6000612ce2828861349a565b905082811415612cfa576000955050505050506127b7565b60408051600180825281830190925260009160208083019080368337019050509050828281518110612d2857fe5b602002602001015181600081518110612d3d57fe5b60200260200101906001600160a01b031690816001600160a01b03168152505088858381548110612d6a57fe5b9060005260206000200160006101000a8154816001600160a01b0302191690836001600160a01b03160217905550612da281896130af565b612dac89896133df565b50600198975050505050505050565b3d604051818101604052816000823e8215612dd4578181f35b8181fd5b6060806060600080600080886001600160a01b0316638357d08c6040518163ffffffff1660e01b815260040160006040518083038186803b158015612e1c57600080fd5b505afa158015612e30573d6000803e3d6000fd5b505050506040513d6000823e601f3d908101601f1916820160405260c0811015612e5957600080fd5b8101908080516040519392919084600160201b821115612e7857600080fd5b908301906020820185811115612e8d57600080fd5b82518660208202830111600160201b82111715612ea957600080fd5b82525081516020918201928201910280838360005b83811015612ed6578181015183820152602001612ebe565b5050505090500160405260200180516040519392919084600160201b821115612efe57600080fd5b908301906020820185811115612f1357600080fd5b82518660208202830111600160201b82111715612f2f57600080fd5b82525081516020918201928201910280838360005b83811015612f5c578181015183820152602001612f44565b5050505090500160405260200180519060200190929190805190602001909291908051906020019092919080519060200190929190505050809650819750829850839950849a50859b50505050505050600061301e8a6001600160a01b0316639edbf0076040518163ffffffff1660e01b815260040160206040518083038186803b158015612fea57600080fd5b505afa158015612ffe573d6000803e3d6000fd5b505050506040513d602081101561301457600080fd5b5051868b85613532565b9050600061302f8888878d876135ad565b905061303c828286613720565b9b9a5050505050505050505050565b6000806000905060008460008151811061306157fe5b6020026020010151905060005b848110156130a557600086828151811061308457fe5b6020026020010151905082811161309c578193508092505b5060010161306e565b5090949350505050565b60005b825181101561311e577f33359f2769756ca8d0da4683f25ee440744d6f18bfb166dbfb59315a8c62b0168382815181106130e857fe5b60200260200101518360405180836001600160a01b031681526020018281526020019250505060405180910390a16001016130b2565b507f00000000000000000000000000000000000000000000000000000000000000006001600160a01b03166376794efb83836040518363ffffffff1660e01b81526004018080602001838152602001828103825284818151815260200191508051906020019060200280838360005b838110156131a557818101518382015260200161318d565b505050509050019350505050600060405180830381600087803b1580156131cb57600080fd5b505af11580156131df573d6000803e3d6000fd5b505050505050565b600080826040516020018080602001828103825283818151815260200191508051906020019080838360005b8381101561322b578181015183820152602001613213565b50505050905090810190601f1680156132585780820380516001836020036101000a031916815260200191505b50925050506040516020818303038152906040528051906020012090506000805b86518110156132c05786818151811061328e57fe5b60200260200101518314156132b8578581815181106132a957fe5b602002602001015191506132c0565b600101613279565b506001600160a01b03811661330b576040805162461bcd60e51b815260206004820152600c60248201526b61646472657373207a65726f60a01b604482015290519081900360640190fd5b95945050505050565b7f714f205b2abd25bef1d06a1af944e38c113fe6160375c4e1d6d5cf28848e771955565b61336782826040518060400160405280600c81526020016b4674736f526567697374727960a01b8152506131e7565b600660006101000a8154816001600160a01b0302191690836001600160a01b031602179055506133bb82826040518060400160405280600b81526020016a233a39b7a6b0b730b3b2b960a91b8152506131e7565b600780546001600160a01b0319166001600160a01b03929092169190911790555050565b604080516001600160a01b03841681526020810183905281517f66a8b13abe95391d1851f5bc319f3dde54ce8f2f40a5fe226aa3251d805832e3929181900390910190a17f00000000000000000000000000000000000000000000000000000000000000006001600160a01b0316639d986f9183836040518363ffffffff1660e01b815260040180836001600160a01b0316815260200182815260200192505050600060405180830381600087803b1580156131cb57600080fd5b6006546040805163d75f6d8160e01b815260048101849052905160009283926001600160a01b039091169163d75f6d8191602480820192602092909190829003018186803b1580156134eb57600080fd5b505afa1580156134ff573d6000803e3d6000fd5b505050506040513d602081101561351557600080fd5b5051905060006135258286612dd8565b905061330b81825161304b565b606061353f858484613865565b90508361354b576135a5565b60005b83518110156135a35761358464e8d4a510008684848151811061356d57fe5b6020026020010151613a5d9092919063ffffffff16565b82828151811061359057fe5b602090810291909101015260010161354e565b505b949350505050565b6060825167ffffffffffffffff811180156135c757600080fd5b506040519080825280602002602001820160405280156135f1578160200160208202803683370190505b50905060005b835181101561362157600082828151811061360e57fe5b60209081029190910101526001016135f7565b508361362c5761330b565b600061364085670de0b6b3a7640000613b69565b905060005b875181101561371557600088828151811061365c57fe5b6020026020010151905060006001600160a01b0316816001600160a01b03161461370c57600061368d828888613865565b905060005b87518110156137095760006136c18b86815181106136ac57fe5b60200260200101518785858151811061356d57fe5b90506136e9818884815181106136d357fe5b602002602001015161275a90919063ffffffff16565b8783815181106136f557fe5b602090810291909101015250600101613692565b50505b50600101613645565b505095945050505050565b6060600061372d84613bc2565b9050600061373a86613bc2565b9050600080831161374c57600061374e565b845b90506000808311613760576000613766565b81612710035b9050875167ffffffffffffffff8111801561378057600080fd5b506040519080825280602002602001820160405280156137aa578160200160208202803683370190505b50945060005b885181101561385957600082156137f7576137f48a83815181106137d057fe5b602002602001015164e8d4a5100002612710870285613a5d9092919063ffffffff16565b90505b60008415613835576138328a848151811061380e57fe5b602002602001015164e8d4a5100002612710890287613a5d9092919063ffffffff16565b90505b80820188848151811061384457fe5b602090810291909101015250506001016137b0565b50505050509392505050565b6060836001600160a01b031663e587497e8460018651038151811061388657fe5b6020026020010151846040518363ffffffff1660e01b815260040180836001600160a01b0316815260200182815260200192505050602060405180830381600087803b1580156138d557600080fd5b505af11580156138e9573d6000803e3d6000fd5b505050506040513d60208110156138ff57600080fd5b5050604080516349e3c7e560e01b815260248101849052600481019182528451604482015284516001600160a01b038716926349e3c7e592879287929182916064909101906020868101910280838360005b83811015613969578181015183820152602001613951565b50505050905001935050505060006040518083038186803b15801561398d57600080fd5b505afa1580156139a1573d6000803e3d6000fd5b505050506040513d6000823e601f3d908101601f1916820160405260208110156139ca57600080fd5b8101908080516040519392919084600160201b8211156139e957600080fd5b9083019060208201858111156139fe57600080fd5b82518660208202830111600160201b82111715613a1a57600080fd5b82525081516020918201928201910280838360005b83811015613a47578181015183820152602001613a2f565b5050505090500160405250505090509392505050565b6000808211613aa6576040805162461bcd60e51b815260206004820152601060248201526f4469766973696f6e206279207a65726f60801b604482015290519081900360640190fd5b83613ab357506000611f74565b83830283858281613ac057fe5b041415613ad957828181613ad057fe5b04915050611f74565b6000838681613ae457fe5b0490506000848781613af257fe5b0690506000858781613b0057fe5b0490506000868881613b0e57fe5b069050613b5c613b2888613b228685613b69565b90613c07565b613b56613b358686613b69565b613b56613b428987613b69565b613b568d613b508c8b613b69565b90613b69565b9061275a565b9998505050505050505050565b600082613b78575060006127b7565b82820282848281613b8557fe5b04146127b45760405162461bcd60e51b8152600401808060200182810382526021815260200180613dc76021913960400191505060405180910390fd5b600080805b8351811015613c0057613bf6848281518110613bdf57fe5b60200260200101518361275a90919063ffffffff16565b9150600101613bc7565b5092915050565b6000808211613c5d576040805162461bcd60e51b815260206004820152601a60248201527f536166654d6174683a206469766973696f6e206279207a65726f000000000000604482015290519081900360640190fd5b818381613c6657fe5b049392505050565b50805460018160011615610100020316600290046000825580601f10613c945750610d90565b601f016020900490600052602060002090810190610d909190613db1565b828054828255906000526020600020908101928215613d07579160200282015b82811115613d0757825182546001600160a01b0319166001600160a01b03909116178255602090920191600190910190613cd2565b50613d13929150613db1565b5090565b5080546000825590600052602060002090810190610d909190613db1565b828054600181600116156101000203166002900490600052602060002090601f016020900481019282613d6b5760008555613d07565b82601f10613d8457805160ff1916838001178555613d07565b82800160010185558215613d07579182015b82811115613d07578251825591602001919060010190613d96565b5b80821115613d135760008155600101613db256fe536166654d6174683a206d756c7469706c69636174696f6e206f766572666c6f77a264697066735822122015c7055fcc1528c5ac68bef08ffbc5d7b03359e9c128deedea8f1ae443a4fe8e64736f6c63430007060033",
650
+ "deployedBytecode": "0x608060405234801561001057600080fd5b50600436106101da5760003560e01c806374e6310e11610104578063aa89dfd4116100a2578063d873617111610071578063d87361711461089e578063e17f212e146108bb578063f5a98383146108c3578063f937d6ad146108cb576101da565b8063aa89dfd414610610578063ab674b22146106b4578063b00c0b76146106bc578063b06cbaf7146107df576101da565b806398dccfc2116100de57806398dccfc2146105855780639d6a890f146105a25780639dc950ab146105c8578063a5eb9c60146105f4576101da565b806374e6310e1461049f5780637ecfcfa3146105455780638e15c88314610568576101da565b80633de2cb1c1161017c5780635aa6e6751161014b5780635aa6e675146104415780635ff270791461044957806362354e031461047057806367fc402914610478576101da565b80633de2cb1c146103cd57806346538074146103f957806347ed51b1146104315780635267a15d14610439576101da565b80632ee96140116101b85780632ee9614014610381578063345705a4146103a057806338b5f869146103bd5780633a65d7b6146103c5576101da565b806309fcb400146101df57806311a7aaaa1461024c5780632b4faebb14610270575b600080fd5b6101fc600480360360208110156101f557600080fd5b50356108d3565b60408051602080825283518183015283519192839290830191858101910280838360005b83811015610238578181015183820152602001610220565b505050509050019250505060405180910390f35b610254610ae2565b604080516001600160a01b039092168252519081900360200190f35b6103266004803603606081101561028657600080fd5b6001600160a01b0382351691602081013591810190606081016040820135600160201b8111156102b557600080fd5b8201836020820111156102c757600080fd5b803590602001918460208302840111600160201b831117156102e857600080fd5b919080806020026020016040519081016040528093929190818152602001838360200280828437600092019190915250929550610af1945050505050565b6040518080602001838152602001828103825284818151815260200191508051906020019060200280838360005b8381101561036c578181015183820152602001610354565b50505050905001935050505060405180910390f35b61039e6004803603602081101561039757600080fd5b5035610d4c565b005b61039e600480360360208110156103b657600080fd5b5035610d93565b610254610ea7565b61039e610eb6565b61039e600480360360408110156103e357600080fd5b506001600160a01b038135169060200135610f1e565b61041f6004803603602081101561040f57600080fd5b50356001600160a01b03166110f4565b60408051918252519081900360200190f35b61041f611106565b61025461110c565b610254611131565b61039e6004803603602081101561045f57600080fd5b50356001600160e01b0319166111d3565b610254611535565b61039e6004803603602081101561048e57600080fd5b50356001600160e01b03191661154d565b6104c6600480360360208110156104b557600080fd5b50356001600160e01b031916611635565b6040518083815260200180602001828103825283818151815260200191508051906020019080838360005b838110156105095781810151838201526020016104f1565b50505050905090810190601f1680156105365780820380516001836020036101000a031916815260200191505b50935050505060405180910390f35b61039e6004803603604081101561055b57600080fd5b50803590602001356116db565b61039e6004803603602081101561057e57600080fd5b5035611a1f565b61041f6004803603602081101561059b57600080fd5b5035611cbb565b61039e600480360360208110156105b857600080fd5b50356001600160a01b0316611ccd565b61039e600480360360408110156105de57600080fd5b506001600160a01b038135169060200135611d86565b6105fc611e7c565b604080519115158252519081900360200190f35b6101fc6004803603602081101561062657600080fd5b810190602081018135600160201b81111561064057600080fd5b82018360208201111561065257600080fd5b803590602001918460018302840111600160201b8311171561067357600080fd5b91908080601f016020809104026020016040519081016040528093929190818152602001838380828437600092019190915250929550611e8c945050505050565b610254611f7b565b61039e600480360360408110156106d257600080fd5b810190602081018135600160201b8111156106ec57600080fd5b8201836020820111156106fe57600080fd5b803590602001918460208302840111600160201b8311171561071f57600080fd5b9190808060200260200160405190810160405280939291908181526020018383602002808284376000920191909152509295949360208101935035915050600160201b81111561076e57600080fd5b82018360208201111561078057600080fd5b803590602001918460208302840111600160201b831117156107a157600080fd5b919080806020026020016040519081016040528093929190818152602001838360200280828437600092019190915250929550611f9f945050505050565b610805600480360360208110156107f557600080fd5b50356001600160a01b0316612046565b604051808060200180602001838103835285818151815260200191508051906020019060200280838360005b83811015610849578181015183820152602001610831565b50505050905001838103825284818151815260200191508051906020019060200280838360005b83811015610888578181015183820152602001610870565b5050505090500194505050505060405180910390f35b61039e600480360360208110156108b457600080fd5b503561237b565b6105fc6124ad565b61039e6124bd565b610254612584565b600754606090600160a01b900460ff1615610a1a577f00000000000000000000000000000000000000000000000000000000000000006001600160a01b03166309fcb400836040518263ffffffff1660e01b81526004018082815260200191505060006040518083038186803b15801561094c57600080fd5b505afa158015610960573d6000803e3d6000fd5b505050506040513d6000823e601f3d908101601f19168201604052602081101561098957600080fd5b8101908080516040519392919084600160201b8211156109a857600080fd5b9083019060208201858111156109bd57600080fd5b82518660208202830111600160201b821117156109d957600080fd5b82525081516020918201928201910280838360005b83811015610a065781810151838201526020016109ee565b505050509050016040525050509050610add565b60008281526003602052604090205480610a76576040805162461bcd60e51b8152602060048201526018602482015277119514d3c81a5b99195e081b9bdd081cdd5c1c1bdc9d195960421b604482015290519081900360640190fd5b60008381526005602090815260409182902080548351818402810184019094528084529091830182828015610ad457602002820191906000526020600020905b81546001600160a01b03168152600190910190602001808311610ab6575b50505050509150505b919050565b6007546001600160a01b031681565b600754606090600090600160a01b900460ff1615610b42576040805162461bcd60e51b8152602060048201526009602482015268636f7079206d6f646560b81b604482015290519081900360640190fd5b600054600160b01b900460ff1680610b645750600054600160a81b900460ff16155b15610d3957610b716125a8565b610b7a856125df565b15610bbe576040805162461bcd60e51b815260206004820152600f60248201526e74727573746564206164647265737360881b604482015290519081900360640190fd5b610c4284600760009054906101000a90046001600160a01b03166001600160a01b031663e7c830d46040518163ffffffff1660e01b815260040160206040518083038186803b158015610c1057600080fd5b505afa158015610c24573d6000803e3d6000fd5b505050506040513d6020811015610c3a57600080fd5b50519061275a565b6001600160a01b0386166000818152600460209081526040918290208490558151928352820183905280519293507f0c2fcef22ab22997ed46cd27f7f0aa308600145401a7a141065d61c5d87341d292918290030190a182518067ffffffffffffffff81118015610cb257600080fd5b50604051908082528060200260200182016040528015610cdc578160200160208202803683370190505b5092508415610d335760005b81811015610d3157610d0d87868381518110610d0057fe5b60200260200101516127bd565b848281518110610d1957fe5b91151560209283029190910190910152600101610ce8565b505b50610d44565b610d44600036612942565b935093915050565b600054600160b01b900460ff1680610d6e5750600054600160a81b900460ff16155b15610d8557610d7b6125a8565b6002819055610d90565b610d90600036612942565b50565b600754600160a01b900460ff1615610dde576040805162461bcd60e51b8152602060048201526009602482015268636f7079206d6f646560b81b604482015290519081900360640190fd5b6007546001600160a01b03163314610e31576040805162461bcd60e51b815260206004820152601160248201527037b7363c90333a39b79036b0b730b3b2b960791b604482015290519081900360640190fd5b60008181526003602052604090205415610e92576040805162461bcd60e51b815260206004820152601760248201527f77686974656c69737420616c7265616479206578697374000000000000000000604482015290519081900360640190fd5b60025460009182526003602052604090912055565b6006546001600160a01b031681565b610ebe612ad2565b600754600160a01b900460ff16610f0f576040805162461bcd60e51b815260206004820152601060248201526f6e6f7420696e20636f7079206d6f646560801b604482015290519081900360640190fd5b6007805460ff60a01b19169055565b600754600160a01b900460ff1615610f69576040805162461bcd60e51b8152602060048201526009602482015268636f7079206d6f646560b81b604482015290519081900360640190fd5b6001600160a01b038216600090815260046020526040902054829080158061100a5750600760009054906101000a90046001600160a01b03166001600160a01b031663e7c830d46040518163ffffffff1660e01b815260040160206040518083038186803b158015610fda57600080fd5b505afa158015610fee573d6000803e3d6000fd5b505050506040513d602081101561100457600080fd5b50518111155b61104b576040805162461bcd60e51b815260206004820152600d60248201526c1d9bdd195c8818da1a5b1b1959609a1b604482015290519081900360640190fd5b611054846125df565b15611098576040805162461bcd60e51b815260206004820152600f60248201526e74727573746564206164647265737360881b604482015290519081900360640190fd5b60006110a48585612b31565b9050806110ed576040805162461bcd60e51b8152602060048201526012602482015271766f746520706f77657220746f6f206c6f7760701b604482015290519081900360640190fd5b5050505050565b60046020526000908152604090205481565b60025481565b7f714f205b2abd25bef1d06a1af944e38c113fe6160375c4e1d6d5cf28848e77195490565b60008054600160a81b900460ff16611154576000546001600160a01b03166111ce565b73183faff6997c98a812a3b98748fc80241d08f3126001600160a01b031663732524946040518163ffffffff1660e01b815260040160206040518083038186803b1580156111a157600080fd5b505afa1580156111b5573d6000803e3d6000fd5b505050506040513d60208110156111cb57600080fd5b50515b905090565b60408051630debfda360e41b8152336004820152905173183faff6997c98a812a3b98748fc80241d08f3129163debfda30916024808301926020929190829003018186803b15801561122457600080fd5b505afa158015611238573d6000803e3d6000fd5b505050506040513d602081101561124e57600080fd5b5051611291576040805162461bcd60e51b815260206004820152600d60248201526c37b7363c9032bc32b1baba37b960991b604482015290519081900360640190fd5b6001600160e01b03198116600090815260016020526040902080546112fd576040805162461bcd60e51b815260206004820152601a60248201527f74696d656c6f636b3a20696e76616c69642073656c6563746f72000000000000604482015290519081900360640190fd5b8054421015611353576040805162461bcd60e51b815260206004820152601960248201527f74696d656c6f636b3a206e6f7420616c6c6f7765642079657400000000000000604482015290519081900360640190fd5b6000816001018054600181600116156101000203166002900480601f0160208091040260200160405190810160405280929190818152602001828054600181600116156101000203166002900480156113ed5780601f106113c2576101008083540402835291602001916113ed565b820191906000526020600020905b8154815290600101906020018083116113d057829003601f168201915b5050506001600160e01b03198616600090815260016020819052604082208281559495509092506114219150830182613c6e565b50506000805460ff60b01b1916600160b01b178155604051825130918491819060208401908083835b602083106114695780518252601f19909201916020918201910161144a565b6001836020036101000a0380198251168184511680821785525050505050509050019150506000604051808303816000865af19150503d80600081146114cb576040519150601f19603f3d011682016040523d82523d6000602084013e6114d0565b606091505b50506000805460ff60b01b19169055604080516001600160e01b03198716815242602082015281519293507fa7326b57fc9cfe267aaea5e7f0b01757154d265620a0585819416ee9ddd2c438929081900390910190a161152f81612dbb565b50505050565b73183faff6997c98a812a3b98748fc80241d08f31281565b611555612ad2565b6001600160e01b031981166000908152600160205260409020546115c0576040805162461bcd60e51b815260206004820152601a60248201527f74696d656c6f636b3a20696e76616c69642073656c6563746f72000000000000604482015290519081900360640190fd5b604080516001600160e01b03198316815242602082015281517f7735b2391c38a81419c513e30ca578db7158eadd7101511b23e221c654d19cf8929181900390910190a16001600160e01b0319811660009081526001602081905260408220828155919061163090830182613c6e565b505050565b600160208181526000928352604092839020805481840180548651600296821615610100026000190190911695909504601f810185900485028601850190965285855290949193929091908301828280156116d15780601f106116a6576101008083540402835291602001916116d1565b820191906000526020600020905b8154815290600101906020018083116116b457829003601f168201915b5050505050905082565b600754600160a01b900460ff1615611726576040805162461bcd60e51b8152602060048201526009602482015268636f7079206d6f646560b81b604482015290519081900360640190fd5b600054600160b01b900460ff16806117485750600054600160a81b900460ff16155b15611a10576117556125a8565b6000828152600360209081526040808320849055600590915290208054821061177e5750611a0b565b6006546040805163d75f6d8160e01b81526004810186905290516000926001600160a01b03169163d75f6d81916024808301926020929190829003018186803b1580156117ca57600080fd5b505afa1580156117de573d6000803e3d6000fd5b505050506040513d60208110156117f457600080fd5b505182546040805160208381028201810190925282815292935060009261185d92859287919083018282801561185357602002820191906000526020600020905b81546001600160a01b03168152600190910190602001808311611835575b5050505050612dd8565b805190915084810360008167ffffffffffffffff8111801561187e57600080fd5b506040519080825280602002602001820160405280156118a8578160200160208202803683370190505b50905060005b828110156119f95760006118c2868661304b565b90508781815481106118d057fe5b9060005260206000200160009054906101000a90046001600160a01b03168383815181106118fa57fe5b60200260200101906001600160a01b031690816001600160a01b031681525050600185038110156119bc5787600186038154811061193457fe5b9060005260206000200160009054906101000a90046001600160a01b031688828154811061195e57fe5b9060005260206000200160006101000a8154816001600160a01b0302191690836001600160a01b0316021790555085600186038151811061199b57fe5b60200260200101518682815181106119af57fe5b6020026020010181815250505b878054806119c657fe5b600082815260209020810160001990810180546001600160a01b03191690559081019091559490940193506001016118ae565b50611a0481896130af565b5050505050505b611a1b565b611a1b600036612942565b5050565b611a27612ad2565b600754600160a01b900460ff16611a78576040805162461bcd60e51b815260206004820152601060248201526f6e6f7420696e20636f7079206d6f646560801b604482015290519081900360640190fd5b60008181526003602052604090205415611aca576040805162461bcd60e51b815260206004820152600e60248201526d185b1c9958591e4818dbdc1a595960921b604482015290519081900360640190fd5b7f00000000000000000000000000000000000000000000000000000000000000006001600160a01b03166398dccfc2826040518263ffffffff1660e01b81526004018082815260200191505060206040518083038186803b158015611b2e57600080fd5b505afa158015611b42573d6000803e3d6000fd5b505050506040513d6020811015611b5857600080fd5b505160008281526003602052604080822092909255815162027f2d60ea1b81526004810184905291516001600160a01b037f000000000000000000000000000000000000000000000000000000000000000016926309fcb400926024808301939192829003018186803b158015611bce57600080fd5b505afa158015611be2573d6000803e3d6000fd5b505050506040513d6000823e601f3d908101601f191682016040526020811015611c0b57600080fd5b8101908080516040519392919084600160201b821115611c2a57600080fd5b908301906020820185811115611c3f57600080fd5b82518660208202830111600160201b82111715611c5b57600080fd5b82525081516020918201928201910280838360005b83811015611c88578181015183820152602001611c70565b50505050905001604052505050600560008381526020019081526020016000209080519060200190611a1b929190613cb2565b60036020526000908152604090205481565b600054600160a01b900460ff1615611d23576040805162461bcd60e51b8152602060048201526014602482015273696e697469616c6973656420213d2066616c736560601b604482015290519081900360640190fd5b60008054600160a01b60ff60a01b19909116176001600160a01b0319166001600160a01b03831690811790915560408051918252517f9789733827840833afc031fb2ef9ab6894271f77bad2085687cf4ae5c7bee4db916020908290030190a150565b600754600160a01b900460ff1615611dd1576040805162461bcd60e51b8152602060048201526009602482015268636f7079206d6f646560b81b604482015290519081900360640190fd5b611dda826125df565b611e21576040805162461bcd60e51b81526020600482015260136024820152726e6f742074727573746564206164647265737360681b604482015290519081900360640190fd5b611e2b82826127bd565b611a1b576040805162461bcd60e51b815260206004820152601f60248201527f747275737465642061646472657373206e6f742077686974656c697374656400604482015290519081900360640190fd5b600754600160a01b900460ff1681565b600654604051630e848da360e41b81526020600482018181528451602484015284516060946000946001600160a01b039091169363e848da3093889390928392604490910191908501908083838b5b83811015611ef3578181015183820152602001611edb565b50505050905090810190601f168015611f205780820380516001836020036101000a031916815260200191505b509250505060206040518083038186803b158015611f3d57600080fd5b505afa158015611f51573d6000803e3d6000fd5b505050506040513d6020811015611f6757600080fd5b50519050611f74816108d3565b9392505050565b7f000000000000000000000000000000000000000000000000000000000000000081565b611fa761110c565b6001600160a01b0316336001600160a01b031614612003576040805162461bcd60e51b815260206004820152601460248201527337b7363c9030b2323932b9b9903ab83230ba32b960611b604482015290519081900360640190fd5b61203c61203783836040518060400160405280600e81526020016d20b2323932b9b9aab83230ba32b960911b8152506131e7565b613314565b611a1b8282613338565b6007546060908190600160a01b900460ff1615612096576040805162461bcd60e51b8152602060048201526009602482015268636f7079206d6f646560b81b604482015290519081900360640190fd5b6001600160a01b03831660009081526004602052604090205483908015806121375750600760009054906101000a90046001600160a01b03166001600160a01b031663e7c830d46040518163ffffffff1660e01b815260040160206040518083038186803b15801561210757600080fd5b505afa15801561211b573d6000803e3d6000fd5b505050506040513d602081101561213157600080fd5b50518111155b612178576040805162461bcd60e51b815260206004820152600d60248201526c1d9bdd195c8818da1a5b1b1959609a1b604482015290519081900360640190fd5b612181856125df565b156121c5576040805162461bcd60e51b815260206004820152600f60248201526e74727573746564206164647265737360881b604482015290519081900360640190fd5b600660009054906101000a90046001600160a01b03166001600160a01b031663798aac5b6040518163ffffffff1660e01b815260040160006040518083038186803b15801561221357600080fd5b505afa158015612227573d6000803e3d6000fd5b505050506040513d6000823e601f3d908101601f19168201604052602081101561225057600080fd5b8101908080516040519392919084600160201b82111561226f57600080fd5b90830190602082018581111561228457600080fd5b82518660208202830111600160201b821117156122a057600080fd5b82525081516020918201928201910280838360005b838110156122cd5781810151838201526020016122b5565b5050505090500160405250505093506000845190508067ffffffffffffffff811180156122f957600080fd5b50604051908082528060200260200182016040528015612323578160200160208202803683370190505b50935060005b818110156123725761234e8787838151811061234157fe5b6020026020010151612b31565b85828151811061235a57fe5b91151560209283029190910190910152600101612329565b50505050915091565b600754600160a01b900460ff16156123c6576040805162461bcd60e51b8152602060048201526009602482015268636f7079206d6f646560b81b604482015290519081900360640190fd5b6007546001600160a01b03163314612419576040805162461bcd60e51b815260206004820152601160248201527037b7363c90333a39b79036b0b730b3b2b960791b604482015290519081900360640190fd5b6000818152600560209081526040918290208054835181840281018401909452808452612485939283018282801561247a57602002820191906000526020600020905b81546001600160a01b0316815260019091019060200180831161245c575b5050505050826130af565b600081815260056020526040812061249c91613d17565b600090815260036020526040812055565b600054600160a81b900460ff1681565b6124c5612ad2565b600054600160a81b900460ff1615612524576040805162461bcd60e51b815260206004820152601a60248201527f616c726561647920696e2070726f64756374696f6e206d6f6465000000000000604482015290519081900360640190fd5b60008054600161ff0160a01b031916600160a81b1790556040805173183faff6997c98a812a3b98748fc80241d08f312815290517f83af113638b5422f9e977cebc0aaf0eaf2188eb9a8baae7f9d46c42b33a1560c9181900360200190a1565b7f000000000000000000000000000000000000000000000000000000000000000081565b600054600160b01b900460ff16156125d5573330146125c357fe5b6000805460ff60b01b191690556125dd565b6125dd612ad2565b565b6000807f00000000000000000000000000000000000000000000000000000000000000006001600160a01b031663ffacb84e6040518163ffffffff1660e01b815260040160006040518083038186803b15801561263b57600080fd5b505afa15801561264f573d6000803e3d6000fd5b505050506040513d6000823e601f3d908101601f19168201604052602081101561267857600080fd5b8101908080516040519392919084600160201b82111561269757600080fd5b9083019060208201858111156126ac57600080fd5b82518660208202830111600160201b821117156126c857600080fd5b82525081516020918201928201910280838360005b838110156126f55781810151838201526020016126dd565b50505050905001604052505050905060005b815181101561275057836001600160a01b031682828151811061272657fe5b60200260200101516001600160a01b0316141561274857600192505050610add565b600101612707565b5060009392505050565b6000828201838110156127b4576040805162461bcd60e51b815260206004820152601b60248201527f536166654d6174683a206164646974696f6e206f766572666c6f770000000000604482015290519081900360640190fd5b90505b92915050565b60008181526005602052604081208054825b8181101561281557856001600160a01b03168382815481106127ed57fe5b6000918252602090912001546001600160a01b0316141561280d57612815565b6001016127cf565b8181141561282957600093505050506127b7565b6040805160018082528183019092526000916020808301908036833701905050905083828154811061285757fe5b600091825260208220015482516001600160a01b0390911691839161287857fe5b60200260200101906001600160a01b031690816001600160a01b0316815250508360018403815481106128a757fe5b9060005260206000200160009054906101000a90046001600160a01b03168483815481106128d157fe5b9060005260206000200160006101000a8154816001600160a01b0302191690836001600160a01b031602179055508380548061290957fe5b600082815260209020810160001990810180546001600160a01b031916905501905561293581876130af565b5060019695505050505050565b61294a612ad2565b600082359050600073183faff6997c98a812a3b98748fc80241d08f3126001600160a01b0316636221a54b6040518163ffffffff1660e01b815260040160206040518083038186803b15801561299f57600080fd5b505afa1580156129b3573d6000803e3d6000fd5b505050506040513d60208110156129c957600080fd5b505160408051808201825242830180825282516020601f89018190048102820181019094528781529394509290918281019190889088908190840183828082843760009201829052509390945250506001600160e01b03198616815260016020818152604090922084518155848301518051919450612a4d93928501920190613d35565b509050507fed948300a3694aa01d4a6b258bfd664350193d770c0b51f8387277f6d83ea3b68382878760405180856001600160e01b0319168152602001848152602001806020018281038252848482818152602001925080828437600083820152604051601f909101601f191690920182900397509095505050505050a15050505050565b612ada611131565b6001600160a01b0316336001600160a01b0316146125dd576040805162461bcd60e51b815260206004820152600f60248201526e6f6e6c7920676f7665726e616e636560881b604482015290519081900360640190fd5b60008181526003602052604081205480612b8d576040805162461bcd60e51b8152602060048201526018602482015277119514d3c81a5b99195e081b9bdd081cdd5c1c1bdc9d195960421b604482015290519081900360640190fd5b6000838152600560205260408120805490916001820167ffffffffffffffff81118015612bb957600080fd5b50604051908082528060200260200182016040528015612be3578160200160208202803683370190505b50905060005b82811015612c5e576000848281548110612bff57fe5b6000918252602090912001546001600160a01b0390811691508916811415612c3057600196505050505050506127b7565b80838381518110612c3d57fe5b6001600160a01b039092166020928302919091019091015250600101612be9565b5086818381518110612c6c57fe5b60200260200101906001600160a01b031690816001600160a01b03168152505083821015612cd65782546001810184556000848152602090200180546001600160a01b0319166001600160a01b038916179055612cc987876133df565b60019450505050506127b7565b6000612ce2828861349a565b905082811415612cfa576000955050505050506127b7565b60408051600180825281830190925260009160208083019080368337019050509050828281518110612d2857fe5b602002602001015181600081518110612d3d57fe5b60200260200101906001600160a01b031690816001600160a01b03168152505088858381548110612d6a57fe5b9060005260206000200160006101000a8154816001600160a01b0302191690836001600160a01b03160217905550612da281896130af565b612dac89896133df565b50600198975050505050505050565b3d604051818101604052816000823e8215612dd4578181f35b8181fd5b6060806060600080600080886001600160a01b0316638357d08c6040518163ffffffff1660e01b815260040160006040518083038186803b158015612e1c57600080fd5b505afa158015612e30573d6000803e3d6000fd5b505050506040513d6000823e601f3d908101601f1916820160405260c0811015612e5957600080fd5b8101908080516040519392919084600160201b821115612e7857600080fd5b908301906020820185811115612e8d57600080fd5b82518660208202830111600160201b82111715612ea957600080fd5b82525081516020918201928201910280838360005b83811015612ed6578181015183820152602001612ebe565b5050505090500160405260200180516040519392919084600160201b821115612efe57600080fd5b908301906020820185811115612f1357600080fd5b82518660208202830111600160201b82111715612f2f57600080fd5b82525081516020918201928201910280838360005b83811015612f5c578181015183820152602001612f44565b5050505090500160405260200180519060200190929190805190602001909291908051906020019092919080519060200190929190505050809650819750829850839950849a50859b50505050505050600061301e8a6001600160a01b0316639edbf0076040518163ffffffff1660e01b815260040160206040518083038186803b158015612fea57600080fd5b505afa158015612ffe573d6000803e3d6000fd5b505050506040513d602081101561301457600080fd5b5051868b85613532565b9050600061302f8888878d876135ad565b905061303c828286613720565b9b9a5050505050505050505050565b6000806000905060008460008151811061306157fe5b6020026020010151905060005b848110156130a557600086828151811061308457fe5b6020026020010151905082811161309c578193508092505b5060010161306e565b5090949350505050565b60005b825181101561311e577f33359f2769756ca8d0da4683f25ee440744d6f18bfb166dbfb59315a8c62b0168382815181106130e857fe5b60200260200101518360405180836001600160a01b031681526020018281526020019250505060405180910390a16001016130b2565b507f00000000000000000000000000000000000000000000000000000000000000006001600160a01b03166376794efb83836040518363ffffffff1660e01b81526004018080602001838152602001828103825284818151815260200191508051906020019060200280838360005b838110156131a557818101518382015260200161318d565b505050509050019350505050600060405180830381600087803b1580156131cb57600080fd5b505af11580156131df573d6000803e3d6000fd5b505050505050565b600080826040516020018080602001828103825283818151815260200191508051906020019080838360005b8381101561322b578181015183820152602001613213565b50505050905090810190601f1680156132585780820380516001836020036101000a031916815260200191505b50925050506040516020818303038152906040528051906020012090506000805b86518110156132c05786818151811061328e57fe5b60200260200101518314156132b8578581815181106132a957fe5b602002602001015191506132c0565b600101613279565b506001600160a01b03811661330b576040805162461bcd60e51b815260206004820152600c60248201526b61646472657373207a65726f60a01b604482015290519081900360640190fd5b95945050505050565b7f714f205b2abd25bef1d06a1af944e38c113fe6160375c4e1d6d5cf28848e771955565b61336782826040518060400160405280600c81526020016b4674736f526567697374727960a01b8152506131e7565b600660006101000a8154816001600160a01b0302191690836001600160a01b031602179055506133bb82826040518060400160405280600b81526020016a233a39b7a6b0b730b3b2b960a91b8152506131e7565b600780546001600160a01b0319166001600160a01b03929092169190911790555050565b604080516001600160a01b03841681526020810183905281517f66a8b13abe95391d1851f5bc319f3dde54ce8f2f40a5fe226aa3251d805832e3929181900390910190a17f00000000000000000000000000000000000000000000000000000000000000006001600160a01b0316639d986f9183836040518363ffffffff1660e01b815260040180836001600160a01b0316815260200182815260200192505050600060405180830381600087803b1580156131cb57600080fd5b6006546040805163d75f6d8160e01b815260048101849052905160009283926001600160a01b039091169163d75f6d8191602480820192602092909190829003018186803b1580156134eb57600080fd5b505afa1580156134ff573d6000803e3d6000fd5b505050506040513d602081101561351557600080fd5b5051905060006135258286612dd8565b905061330b81825161304b565b606061353f858484613865565b90508361354b576135a5565b60005b83518110156135a35761358464e8d4a510008684848151811061356d57fe5b6020026020010151613a5d9092919063ffffffff16565b82828151811061359057fe5b602090810291909101015260010161354e565b505b949350505050565b6060825167ffffffffffffffff811180156135c757600080fd5b506040519080825280602002602001820160405280156135f1578160200160208202803683370190505b50905060005b835181101561362157600082828151811061360e57fe5b60209081029190910101526001016135f7565b508361362c5761330b565b600061364085670de0b6b3a7640000613b69565b905060005b875181101561371557600088828151811061365c57fe5b6020026020010151905060006001600160a01b0316816001600160a01b03161461370c57600061368d828888613865565b905060005b87518110156137095760006136c18b86815181106136ac57fe5b60200260200101518785858151811061356d57fe5b90506136e9818884815181106136d357fe5b602002602001015161275a90919063ffffffff16565b8783815181106136f557fe5b602090810291909101015250600101613692565b50505b50600101613645565b505095945050505050565b6060600061372d84613bc2565b9050600061373a86613bc2565b9050600080831161374c57600061374e565b845b90506000808311613760576000613766565b81612710035b9050875167ffffffffffffffff8111801561378057600080fd5b506040519080825280602002602001820160405280156137aa578160200160208202803683370190505b50945060005b885181101561385957600082156137f7576137f48a83815181106137d057fe5b602002602001015164e8d4a5100002612710870285613a5d9092919063ffffffff16565b90505b60008415613835576138328a848151811061380e57fe5b602002602001015164e8d4a5100002612710890287613a5d9092919063ffffffff16565b90505b80820188848151811061384457fe5b602090810291909101015250506001016137b0565b50505050509392505050565b6060836001600160a01b031663e587497e8460018651038151811061388657fe5b6020026020010151846040518363ffffffff1660e01b815260040180836001600160a01b0316815260200182815260200192505050602060405180830381600087803b1580156138d557600080fd5b505af11580156138e9573d6000803e3d6000fd5b505050506040513d60208110156138ff57600080fd5b5050604080516349e3c7e560e01b815260248101849052600481019182528451604482015284516001600160a01b038716926349e3c7e592879287929182916064909101906020868101910280838360005b83811015613969578181015183820152602001613951565b50505050905001935050505060006040518083038186803b15801561398d57600080fd5b505afa1580156139a1573d6000803e3d6000fd5b505050506040513d6000823e601f3d908101601f1916820160405260208110156139ca57600080fd5b8101908080516040519392919084600160201b8211156139e957600080fd5b9083019060208201858111156139fe57600080fd5b82518660208202830111600160201b82111715613a1a57600080fd5b82525081516020918201928201910280838360005b83811015613a47578181015183820152602001613a2f565b5050505090500160405250505090509392505050565b6000808211613aa6576040805162461bcd60e51b815260206004820152601060248201526f4469766973696f6e206279207a65726f60801b604482015290519081900360640190fd5b83613ab357506000611f74565b83830283858281613ac057fe5b041415613ad957828181613ad057fe5b04915050611f74565b6000838681613ae457fe5b0490506000848781613af257fe5b0690506000858781613b0057fe5b0490506000868881613b0e57fe5b069050613b5c613b2888613b228685613b69565b90613c07565b613b56613b358686613b69565b613b56613b428987613b69565b613b568d613b508c8b613b69565b90613b69565b9061275a565b9998505050505050505050565b600082613b78575060006127b7565b82820282848281613b8557fe5b04146127b45760405162461bcd60e51b8152600401808060200182810382526021815260200180613dc76021913960400191505060405180910390fd5b600080805b8351811015613c0057613bf6848281518110613bdf57fe5b60200260200101518361275a90919063ffffffff16565b9150600101613bc7565b5092915050565b6000808211613c5d576040805162461bcd60e51b815260206004820152601a60248201527f536166654d6174683a206469766973696f6e206279207a65726f000000000000604482015290519081900360640190fd5b818381613c6657fe5b049392505050565b50805460018160011615610100020316600290046000825580601f10613c945750610d90565b601f016020900490600052602060002090810190610d909190613db1565b828054828255906000526020600020908101928215613d07579160200282015b82811115613d0757825182546001600160a01b0319166001600160a01b03909116178255602090920191600190910190613cd2565b50613d13929150613db1565b5090565b5080546000825590600052602060002090810190610d909190613db1565b828054600181600116156101000203166002900490600052602060002090601f016020900481019282613d6b5760008555613d07565b82601f10613d8457805160ff1916838001178555613d07565b82800160010185558215613d07579182015b82811115613d07578251825591602001919060010190613d96565b5b80821115613d135760008155600101613db256fe536166654d6174683a206d756c7469706c69636174696f6e206f766572666c6f77a264697066735822122015c7055fcc1528c5ac68bef08ffbc5d7b03359e9c128deedea8f1ae443a4fe8e64736f6c63430007060033",
416
651
  "linkReferences": {},
417
652
  "deployedLinkReferences": {}
418
653
  }