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

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 (709) hide show
  1. package/{dist/README.md → README.md} +2 -1
  2. package/coston/README.md +7 -0
  3. package/coston/artifacts/contracts/addressUpdater/implementation/AddressUpdatable.sol/AddressUpdatable.json +42 -0
  4. package/coston/artifacts/contracts/addressUpdater/implementation/AddressUpdater.sol/AddressUpdater.json +381 -0
  5. package/coston/artifacts/contracts/addressUpdater/interface/IIAddressUpdatable.sol/IIAddressUpdatable.json +29 -0
  6. package/coston/artifacts/contracts/addressUpdater/interface/IIAddressUpdater.sol/IIAddressUpdater.json +105 -0
  7. package/coston/artifacts/contracts/assetRegistry/implementation/FlareAssetRegistry.sol/FlareAssetRegistry.json +525 -0
  8. package/coston/artifacts/contracts/assetRegistry/implementation/WNatRegistryProvider.sol/WNatRegistryProvider.json +113 -0
  9. package/coston/artifacts/contracts/assetRegistry/interface/IIERC20WithMetadata.sol/IIERC20WithMetadata.json +233 -0
  10. package/coston/artifacts/contracts/assetRegistry/interface/IIFlareAssetRegistry.sol/IIFlareAssetRegistry.json +316 -0
  11. package/coston/artifacts/contracts/assetRegistry/interface/IIFlareAssetRegistryProvider.sol/IIFlareAssetRegistryProvider.json +66 -0
  12. package/coston/artifacts/contracts/assetRegistry/lib/StandardAttributes.sol/StandardAttributes.json +10 -0
  13. package/coston/artifacts/contracts/claiming/implementation/ClaimSetupManager.sol/ClaimSetupManager.json +1151 -0
  14. package/coston/artifacts/contracts/claiming/implementation/CloneFactory.sol/CloneFactory.json +10 -0
  15. package/coston/artifacts/contracts/claiming/implementation/DelegationAccount.sol/DelegationAccount.json +346 -0
  16. package/coston/artifacts/contracts/claiming/interface/IIClaimSetupManager.sol/IIClaimSetupManager.json +795 -0
  17. package/coston/artifacts/contracts/claiming/interface/IIDelegationAccount.sol/IIDelegationAccount.json +316 -0
  18. package/coston/artifacts/contracts/ftso/implementation/Ftso.sol/Ftso.json +1104 -0
  19. package/coston/artifacts/contracts/ftso/implementation/FtsoManager.sol/FtsoManager.json +1723 -0
  20. package/coston/artifacts/contracts/ftso/interface/IIFtso.sol/IIFtso.json +953 -0
  21. package/coston/artifacts/contracts/ftso/interface/IIFtsoManager.sol/IIFtsoManager.json +878 -0
  22. package/coston/artifacts/contracts/ftso/interface/IIFtsoManagerV1.sol/IIFtsoManagerV1.json +102 -0
  23. package/coston/artifacts/contracts/ftso/lib/FtsoEpoch.sol/FtsoEpoch.json +10 -0
  24. package/coston/artifacts/contracts/ftso/lib/FtsoManagement.sol/FtsoManagement.json +43 -0
  25. package/coston/artifacts/contracts/ftso/lib/FtsoManagerSettings.sol/FtsoManagerSettings.json +10 -0
  26. package/coston/artifacts/contracts/ftso/lib/FtsoMedian.sol/FtsoMedian.json +10 -0
  27. package/coston/artifacts/contracts/ftso/lib/FtsoVote.sol/FtsoVote.json +10 -0
  28. package/coston/artifacts/contracts/ftso/priceProviderMockContracts/PriceProviderMockContracts.sol/MockFtsoRegistry.json +624 -0
  29. package/coston/artifacts/contracts/ftso/priceProviderMockContracts/PriceProviderMockContracts.sol/MockPriceSubmitter.json +241 -0
  30. package/coston/artifacts/contracts/ftso/priceProviderMockContracts/PriceProviderMockContracts.sol/MockVoterWhitelister.json +236 -0
  31. package/coston/artifacts/contracts/ftso/priceProviderMockContracts/priceProviderMockFtso.sol/MockNpmFtso.json +1048 -0
  32. package/coston/artifacts/contracts/genesis/implementation/FlareDaemon.sol/FlareDaemon.json +676 -0
  33. package/coston/artifacts/contracts/genesis/implementation/GovernanceSettings.sol/GovernanceSettings.json +224 -0
  34. package/coston/artifacts/contracts/genesis/implementation/PriceSubmitter.sol/PriceSubmitter.json +407 -0
  35. package/coston/artifacts/contracts/genesis/implementation/StateConnector.sol/StateConnector.json +324 -0
  36. package/coston/artifacts/contracts/genesis/interface/IFlareDaemonize.sol/IFlareDaemonize.json +37 -0
  37. package/coston/artifacts/contracts/genesis/interface/IFtsoGenesis.sol/IFtsoGenesis.json +91 -0
  38. package/coston/artifacts/contracts/genesis/interface/IFtsoManagerGenesis.sol/IFtsoManagerGenesis.json +24 -0
  39. package/coston/artifacts/contracts/genesis/interface/IFtsoRegistryGenesis.sol/IFtsoRegistryGenesis.json +30 -0
  40. package/coston/artifacts/contracts/genesis/interface/IIPriceSubmitter.sol/IIPriceSubmitter.json +285 -0
  41. package/coston/artifacts/contracts/genesis/interface/IInflationGenesis.sol/IInflationGenesis.json +18 -0
  42. package/coston/artifacts/contracts/governance/implementation/Governed.sol/Governed.json +126 -0
  43. package/coston/artifacts/contracts/governance/implementation/GovernedAtGenesis.sol/GovernedAtGenesis.json +139 -0
  44. package/coston/artifacts/contracts/governance/implementation/GovernedBase.sol/GovernedBase.json +115 -0
  45. package/coston/artifacts/contracts/governance/implementation/GovernedBaseV2.sol/GovernedBaseV2.json +209 -0
  46. package/coston/artifacts/contracts/governance/implementation/GovernedV2.sol/GovernedV2.json +220 -0
  47. package/coston/artifacts/contracts/governance/implementation/Governor.sol/Governor.json +653 -0
  48. package/coston/artifacts/contracts/governance/implementation/GovernorProposals.sol/GovernorProposals.json +24 -0
  49. package/coston/artifacts/contracts/governance/implementation/GovernorProposer.sol/GovernorProposer.json +265 -0
  50. package/coston/artifacts/contracts/governance/implementation/GovernorVotePower.sol/GovernorVotePower.json +24 -0
  51. package/coston/artifacts/contracts/governance/implementation/GovernorVotes.sol/GovernorVotes.json +10 -0
  52. package/coston/artifacts/contracts/governance/implementation/PollingFoundation.sol/PollingFoundation.json +1065 -0
  53. package/coston/artifacts/contracts/governance/implementation/PollingFtso.sol/PollingFtso.json +1187 -0
  54. package/coston/artifacts/contracts/governance/interface/IIGovernorProposer.sol/IIGovernorProposer.json +30 -0
  55. package/coston/artifacts/contracts/governance/interface/IIPollingFoundation.sol/IIPollingFoundation.json +640 -0
  56. package/coston/artifacts/contracts/inflation/implementation/Inflation.sol/Inflation.json +854 -0
  57. package/coston/artifacts/contracts/inflation/implementation/InflationAllocation.sol/InflationAllocation.json +463 -0
  58. package/coston/artifacts/contracts/inflation/implementation/SelfDestructBurner.sol/SelfDestructBurner.json +73 -0
  59. package/coston/artifacts/contracts/inflation/implementation/Supply.sol/Supply.json +642 -0
  60. package/coston/artifacts/contracts/inflation/interface/IIInflationAllocation.sol/IIInflationAllocation.json +49 -0
  61. package/coston/artifacts/contracts/inflation/interface/IIInflationReceiver.sol/IIInflationReceiver.json +70 -0
  62. package/coston/artifacts/contracts/inflation/interface/IIInflationV1.sol/IIInflationV1.json +142 -0
  63. package/coston/artifacts/contracts/inflation/interface/IIPreInflationCalculation.sol/IIPreInflationCalculation.json +18 -0
  64. package/coston/artifacts/contracts/inflation/interface/IISupply.sol/IISupply.json +82 -0
  65. package/coston/artifacts/contracts/inflation/lib/InflationRewardServices.sol/InflationRewardServices.json +68 -0
  66. package/coston/artifacts/contracts/inflation/lib/InflationTimeSlots.sol/InflationTimeSlots.json +10 -0
  67. package/coston/artifacts/contracts/mockXAsset/interface/ICollateralizable.sol/ICollateralizable.json +234 -0
  68. package/coston/artifacts/contracts/token/implementation/CheckPointable.sol/CheckPointable.json +129 -0
  69. package/coston/artifacts/contracts/token/implementation/CleanupBlockNumberManager.sol/CleanupBlockNumberManager.json +389 -0
  70. package/coston/artifacts/contracts/token/implementation/Delegatable.sol/Delegatable.json +222 -0
  71. package/coston/artifacts/contracts/token/implementation/GovernanceVotePower.sol/GovernanceVotePower.json +324 -0
  72. package/coston/artifacts/contracts/token/implementation/VPContract.sol/VPContract.json +774 -0
  73. package/coston/artifacts/contracts/token/implementation/VPToken.sol/VPToken.json +1102 -0
  74. package/coston/artifacts/contracts/token/implementation/WNat.sol/WNat.json +1195 -0
  75. package/coston/artifacts/contracts/token/interface/IICleanable.sol/IICleanable.json +63 -0
  76. package/coston/artifacts/contracts/token/interface/IIGovernanceVotePower.sol/IIGovernanceVotePower.json +252 -0
  77. package/coston/artifacts/contracts/token/interface/IIVPContract.sol/IIVPContract.json +609 -0
  78. package/coston/artifacts/contracts/token/interface/IIVPToken.sol/IIVPToken.json +790 -0
  79. package/coston/artifacts/contracts/token/lib/CheckPointHistory.sol/CheckPointHistory.json +10 -0
  80. package/coston/artifacts/contracts/token/lib/CheckPointHistoryCache.sol/CheckPointHistoryCache.json +10 -0
  81. package/coston/artifacts/contracts/token/lib/CheckPointsByAddress.sol/CheckPointsByAddress.json +10 -0
  82. package/coston/artifacts/contracts/token/lib/DelegateCheckPointHistory.sol/DelegateCheckPointHistory.json +10 -0
  83. package/coston/artifacts/contracts/token/lib/DelegateCheckPointsByAddress.sol/DelegateCheckPointsByAddress.json +10 -0
  84. package/coston/artifacts/contracts/token/lib/DelegationHistory.sol/DelegationHistory.json +24 -0
  85. package/coston/artifacts/contracts/token/lib/ExplicitDelegation.sol/ExplicitDelegation.json +10 -0
  86. package/coston/artifacts/contracts/token/lib/PercentageDelegation.sol/PercentageDelegation.json +24 -0
  87. package/coston/artifacts/contracts/token/lib/VotePower.sol/VotePower.json +10 -0
  88. package/coston/artifacts/contracts/token/lib/VotePowerCache.sol/VotePowerCache.json +10 -0
  89. package/coston/artifacts/contracts/tokenPools/implementation/FtsoRewardManager.sol/FtsoRewardManager.json +1425 -0
  90. package/coston/artifacts/contracts/tokenPools/implementation/InflationReceiver.sol/InflationReceiver.json +127 -0
  91. package/coston/artifacts/contracts/tokenPools/implementation/TokenPoolBase.sol/TokenPoolBase.json +10 -0
  92. package/coston/artifacts/contracts/tokenPools/interface/IIFtsoRewardManager.sol/IIFtsoRewardManager.json +975 -0
  93. package/coston/artifacts/contracts/tokenPools/interface/IITokenPool.sol/IITokenPool.json +34 -0
  94. package/coston/artifacts/contracts/tokenPools/lib/DataProviderFee.sol/DataProviderFee.json +10 -0
  95. package/coston/artifacts/contracts/userInterfaces/IClaimSetupManager.sol/IClaimSetupManager.json +665 -0
  96. package/coston/artifacts/contracts/userInterfaces/IDelegationAccount.sol/IDelegationAccount.json +144 -0
  97. package/coston/artifacts/contracts/userInterfaces/IFlareAssetRegistry.sol/IFlareAssetRegistry.json +241 -0
  98. package/coston/artifacts/contracts/userInterfaces/IFlareContractRegistry.sol/IFlareContractRegistry.json +105 -0
  99. package/coston/artifacts/contracts/userInterfaces/IFtso.sol/IFtso.json +512 -0
  100. package/coston/artifacts/contracts/userInterfaces/IFtsoManager.sol/IFtsoManager.json +376 -0
  101. package/coston/artifacts/contracts/userInterfaces/IFtsoRegistry.sol/IFtsoRegistry.json +445 -0
  102. package/coston/artifacts/contracts/userInterfaces/IFtsoRewardManager.sol/IFtsoRewardManager.json +702 -0
  103. package/coston/artifacts/contracts/userInterfaces/IGenericRewardManager.sol/IGenericRewardManager.json +248 -0
  104. package/coston/artifacts/contracts/userInterfaces/IGovernanceSettings.sol/IGovernanceSettings.json +69 -0
  105. package/coston/artifacts/contracts/userInterfaces/IGovernanceVotePower.sol/IGovernanceVotePower.json +117 -0
  106. package/coston/artifacts/contracts/userInterfaces/IGovernor.sol/IGovernor.json +484 -0
  107. package/coston/artifacts/contracts/userInterfaces/IPollingFtso.sol/IPollingFtso.json +639 -0
  108. package/coston/artifacts/contracts/userInterfaces/IPriceSubmitter.sol/IPriceSubmitter.json +200 -0
  109. package/coston/artifacts/contracts/userInterfaces/IVPContractEvents.sol/IVPContractEvents.json +73 -0
  110. package/coston/artifacts/contracts/userInterfaces/IVPToken.sol/IVPToken.json +658 -0
  111. package/coston/artifacts/contracts/userInterfaces/IVoterWhitelister.sol/IVoterWhitelister.json +199 -0
  112. package/coston/artifacts/contracts/userInterfaces/IWNat.sol/IWNat.json +62 -0
  113. package/coston/artifacts/contracts/utils/implementation/AddressSet.sol/AddressSet.json +10 -0
  114. package/coston/artifacts/contracts/utils/implementation/DateTimeLibrary.sol/BokkyPooBahsDateTimeLibrary.json +154 -0
  115. package/coston/artifacts/contracts/utils/implementation/FlareContractRegistry.sol/FlareContractRegistry.json +147 -0
  116. package/coston/artifacts/contracts/utils/implementation/FtsoRegistry.sol/FtsoRegistry.json +769 -0
  117. package/coston/artifacts/contracts/utils/implementation/FtsoRegistryProxy.sol/FtsoRegistryProxy.json +272 -0
  118. package/coston/artifacts/contracts/utils/implementation/FtsoV2Upgrader.sol/FtsoV2Upgrader.json +440 -0
  119. package/coston/artifacts/contracts/utils/implementation/GovernedAndFlareDaemonized.sol/GovernedAndFlareDaemonized.json +144 -0
  120. package/coston/artifacts/contracts/utils/implementation/GovernedAndFlareDaemonizedV2.sol/GovernedAndFlareDaemonizedV2.json +238 -0
  121. package/coston/artifacts/contracts/utils/implementation/ProxyGoverned.sol/ProxyGoverned.json +256 -0
  122. package/coston/artifacts/contracts/utils/implementation/RevertErrorTracking.sol/RevertErrorTracking.json +131 -0
  123. package/coston/artifacts/contracts/utils/implementation/SafePct.sol/SafePct.json +10 -0
  124. package/coston/artifacts/contracts/utils/implementation/VoterWhitelister.sol/VoterWhitelister.json +653 -0
  125. package/coston/artifacts/contracts/utils/interface/IIFtsoRegistry.sol/IIFtsoRegistry.json +477 -0
  126. package/coston/artifacts/contracts/utils/interface/IIFtsoRegistryV1.sol/IIFtsoRegistryV1.json +120 -0
  127. package/coston/artifacts/contracts/utils/interface/IIRandomProvider.sol/IIRandomProvider.json +60 -0
  128. package/coston/artifacts/contracts/utils/interface/IIVoterWhitelister.sol/IIVoterWhitelister.json +308 -0
  129. package/coston/artifacts/contracts/utils/interface/IUpdateValidators.sol/IUpdateValidators.json +18 -0
  130. package/{dist/coston/deploys/coston.json → coston/deploys/contracts.json} +43 -13
  131. package/coston2/README.md +7 -0
  132. package/coston2/artifacts/contracts/addressUpdater/implementation/AddressUpdatable.sol/AddressUpdatable.json +42 -0
  133. package/coston2/artifacts/contracts/addressUpdater/implementation/AddressUpdater.sol/AddressUpdater.json +381 -0
  134. package/coston2/artifacts/contracts/addressUpdater/interface/IIAddressUpdatable.sol/IIAddressUpdatable.json +29 -0
  135. package/coston2/artifacts/contracts/addressUpdater/interface/IIAddressUpdater.sol/IIAddressUpdater.json +105 -0
  136. package/coston2/artifacts/contracts/assetRegistry/implementation/FlareAssetRegistry.sol/FlareAssetRegistry.json +525 -0
  137. package/coston2/artifacts/contracts/assetRegistry/implementation/WNatRegistryProvider.sol/WNatRegistryProvider.json +113 -0
  138. package/coston2/artifacts/contracts/assetRegistry/interface/IIERC20WithMetadata.sol/IIERC20WithMetadata.json +233 -0
  139. package/coston2/artifacts/contracts/assetRegistry/interface/IIFlareAssetRegistry.sol/IIFlareAssetRegistry.json +316 -0
  140. package/coston2/artifacts/contracts/assetRegistry/interface/IIFlareAssetRegistryProvider.sol/IIFlareAssetRegistryProvider.json +66 -0
  141. package/coston2/artifacts/contracts/assetRegistry/lib/StandardAttributes.sol/StandardAttributes.json +10 -0
  142. package/coston2/artifacts/contracts/claiming/implementation/ClaimSetupManager.sol/ClaimSetupManager.json +1151 -0
  143. package/coston2/artifacts/contracts/claiming/implementation/CloneFactory.sol/CloneFactory.json +10 -0
  144. package/coston2/artifacts/contracts/claiming/implementation/DelegationAccount.sol/DelegationAccount.json +346 -0
  145. package/coston2/artifacts/contracts/claiming/interface/IIClaimSetupManager.sol/IIClaimSetupManager.json +795 -0
  146. package/coston2/artifacts/contracts/claiming/interface/IIDelegationAccount.sol/IIDelegationAccount.json +316 -0
  147. package/coston2/artifacts/contracts/ftso/implementation/Ftso.sol/Ftso.json +1039 -0
  148. package/coston2/artifacts/contracts/ftso/implementation/FtsoManager.sol/FtsoManager.json +1723 -0
  149. package/coston2/artifacts/contracts/ftso/interface/IIFtso.sol/IIFtso.json +888 -0
  150. package/coston2/artifacts/contracts/ftso/interface/IIFtsoManager.sol/IIFtsoManager.json +891 -0
  151. package/coston2/artifacts/contracts/ftso/interface/IIFtsoManagerV1.sol/IIFtsoManagerV1.json +102 -0
  152. package/coston2/artifacts/contracts/ftso/lib/FtsoEpoch.sol/FtsoEpoch.json +10 -0
  153. package/coston2/artifacts/contracts/ftso/lib/FtsoManagement.sol/FtsoManagement.json +43 -0
  154. package/coston2/artifacts/contracts/ftso/lib/FtsoManagerSettings.sol/FtsoManagerSettings.json +10 -0
  155. package/coston2/artifacts/contracts/ftso/lib/FtsoMedian.sol/FtsoMedian.json +10 -0
  156. package/coston2/artifacts/contracts/ftso/lib/FtsoVote.sol/FtsoVote.json +10 -0
  157. package/coston2/artifacts/contracts/ftso/priceProviderMockContracts/PriceProviderMockContracts.sol/MockFtsoRegistry.json +718 -0
  158. package/coston2/artifacts/contracts/ftso/priceProviderMockContracts/PriceProviderMockContracts.sol/MockPriceSubmitter.json +338 -0
  159. package/coston2/artifacts/contracts/ftso/priceProviderMockContracts/PriceProviderMockContracts.sol/MockVoterWhitelister.json +236 -0
  160. package/coston2/artifacts/contracts/ftso/priceProviderMockContracts/priceProviderMockFtso.sol/MockNpmFtso.json +983 -0
  161. package/coston2/artifacts/contracts/genesis/implementation/DistributionTreasury.sol/DistributionTreasury.json +289 -0
  162. package/coston2/artifacts/contracts/genesis/implementation/FlareDaemon.sol/FlareDaemon.json +794 -0
  163. package/coston2/artifacts/contracts/genesis/implementation/GovernanceSettings.sol/GovernanceSettings.json +219 -0
  164. package/coston2/artifacts/contracts/genesis/implementation/IncentivePoolTreasury.sol/IncentivePoolTreasury.json +292 -0
  165. package/coston2/artifacts/contracts/genesis/implementation/InitialAirdrop.sol/InitialAirdrop.json +493 -0
  166. package/coston2/artifacts/contracts/genesis/implementation/PriceSubmitter.sol/PriceSubmitter.json +569 -0
  167. package/coston2/artifacts/contracts/genesis/implementation/StateConnector.sol/StateConnector.json +324 -0
  168. package/coston2/artifacts/contracts/genesis/interface/IFlareDaemonize.sol/IFlareDaemonize.json +50 -0
  169. package/coston2/artifacts/contracts/genesis/interface/IFtsoGenesis.sol/IFtsoGenesis.json +63 -0
  170. package/coston2/artifacts/contracts/genesis/interface/IFtsoManagerGenesis.sol/IFtsoManagerGenesis.json +24 -0
  171. package/coston2/artifacts/contracts/genesis/interface/IFtsoRegistryGenesis.sol/IFtsoRegistryGenesis.json +30 -0
  172. package/coston2/artifacts/contracts/genesis/interface/IIPriceSubmitter.sol/IIPriceSubmitter.json +283 -0
  173. package/coston2/artifacts/contracts/genesis/interface/IInflationGenesis.sol/IInflationGenesis.json +18 -0
  174. package/coston2/artifacts/contracts/governance/implementation/Governed.sol/Governed.json +220 -0
  175. package/coston2/artifacts/contracts/governance/implementation/GovernedAtGenesis.sol/GovernedAtGenesis.json +233 -0
  176. package/coston2/artifacts/contracts/governance/implementation/GovernedBase.sol/GovernedBase.json +209 -0
  177. package/coston2/artifacts/contracts/governance/implementation/Governor.sol/Governor.json +653 -0
  178. package/coston2/artifacts/contracts/governance/implementation/GovernorProposals.sol/GovernorProposals.json +24 -0
  179. package/coston2/artifacts/contracts/governance/implementation/GovernorProposer.sol/GovernorProposer.json +265 -0
  180. package/coston2/artifacts/contracts/governance/implementation/GovernorVotePower.sol/GovernorVotePower.json +24 -0
  181. package/coston2/artifacts/contracts/governance/implementation/GovernorVotes.sol/GovernorVotes.json +10 -0
  182. package/coston2/artifacts/contracts/governance/implementation/PollingFoundation.sol/PollingFoundation.json +1070 -0
  183. package/coston2/artifacts/contracts/governance/implementation/PollingFtso.sol/PollingFtso.json +1187 -0
  184. package/coston2/artifacts/contracts/governance/interface/IIGovernorProposer.sol/IIGovernorProposer.json +30 -0
  185. package/coston2/artifacts/contracts/governance/interface/IIPollingFoundation.sol/IIPollingFoundation.json +640 -0
  186. package/coston2/artifacts/contracts/inflation/implementation/Inflation.sol/Inflation.json +926 -0
  187. package/coston2/artifacts/contracts/inflation/implementation/InflationAllocation.sol/InflationAllocation.json +463 -0
  188. package/coston2/artifacts/contracts/inflation/implementation/Supply.sol/Supply.json +543 -0
  189. package/coston2/artifacts/contracts/inflation/interface/IIInflationAllocation.sol/IIInflationAllocation.json +49 -0
  190. package/coston2/artifacts/contracts/inflation/interface/IIInflationPercentageProvider.sol/IIInflationPercentageProvider.json +24 -0
  191. package/coston2/artifacts/contracts/inflation/interface/IIInflationReceiver.sol/IIInflationReceiver.json +57 -0
  192. package/coston2/artifacts/contracts/inflation/interface/IIInflationSharingPercentageProvider.sol/IIInflationSharingPercentageProvider.json +36 -0
  193. package/coston2/artifacts/contracts/inflation/interface/IISupply.sol/IISupply.json +82 -0
  194. package/coston2/artifacts/contracts/inflation/lib/InflationAnnum.sol/InflationAnnum.json +10 -0
  195. package/coston2/artifacts/contracts/inflation/lib/InflationAnnums.sol/InflationAnnums.json +10 -0
  196. package/coston2/artifacts/contracts/inflation/lib/RewardService.sol/RewardService.json +30 -0
  197. package/coston2/artifacts/contracts/inflation/lib/RewardServices.sol/RewardServices.json +49 -0
  198. package/coston2/artifacts/contracts/mockXAsset/interface/ICollateralizable.sol/ICollateralizable.json +234 -0
  199. package/coston2/artifacts/contracts/token/implementation/CheckPointable.sol/CheckPointable.json +142 -0
  200. package/coston2/artifacts/contracts/token/implementation/CleanupBlockNumberManager.sol/CleanupBlockNumberManager.json +389 -0
  201. package/coston2/artifacts/contracts/token/implementation/Delegatable.sol/Delegatable.json +235 -0
  202. package/coston2/artifacts/contracts/token/implementation/GovernanceVotePower.sol/GovernanceVotePower.json +324 -0
  203. package/coston2/artifacts/contracts/token/implementation/VPContract.sol/VPContract.json +798 -0
  204. package/coston2/artifacts/contracts/token/implementation/VPToken.sol/VPToken.json +1264 -0
  205. package/coston2/artifacts/contracts/token/implementation/WNat.sol/WNat.json +1357 -0
  206. package/coston2/artifacts/contracts/token/interface/IICleanable.sol/IICleanable.json +50 -0
  207. package/coston2/artifacts/contracts/token/interface/IIGovernanceVotePower.sol/IIGovernanceVotePower.json +252 -0
  208. package/coston2/artifacts/contracts/token/interface/IIVPContract.sol/IIVPContract.json +620 -0
  209. package/coston2/artifacts/contracts/token/interface/IIVPToken.sol/IIVPToken.json +832 -0
  210. package/coston2/artifacts/contracts/token/lib/CheckPointHistory.sol/CheckPointHistory.json +10 -0
  211. package/coston2/artifacts/contracts/token/lib/CheckPointHistoryCache.sol/CheckPointHistoryCache.json +10 -0
  212. package/coston2/artifacts/contracts/token/lib/CheckPointsByAddress.sol/CheckPointsByAddress.json +10 -0
  213. package/coston2/artifacts/contracts/token/lib/DelegateCheckPointHistory.sol/DelegateCheckPointHistory.json +10 -0
  214. package/coston2/artifacts/contracts/token/lib/DelegateCheckPointsByAddress.sol/DelegateCheckPointsByAddress.json +10 -0
  215. package/coston2/artifacts/contracts/token/lib/DelegationHistory.sol/DelegationHistory.json +24 -0
  216. package/coston2/artifacts/contracts/token/lib/ExplicitDelegation.sol/ExplicitDelegation.json +10 -0
  217. package/coston2/artifacts/contracts/token/lib/IICombinedNatBalance.sol/IICombinedNatBalance.json +54 -0
  218. package/coston2/artifacts/contracts/token/lib/PercentageDelegation.sol/PercentageDelegation.json +24 -0
  219. package/coston2/artifacts/contracts/token/lib/VotePower.sol/VotePower.json +10 -0
  220. package/coston2/artifacts/contracts/token/lib/VotePowerCache.sol/VotePowerCache.json +10 -0
  221. package/coston2/artifacts/contracts/tokenPools/implementation/AttestationProviderRewardManager.sol/AttestationProviderRewardManager.json +741 -0
  222. package/coston2/artifacts/contracts/tokenPools/implementation/DistributionToDelegators.sol/DistributionToDelegators.json +1038 -0
  223. package/coston2/artifacts/contracts/tokenPools/implementation/Escrow.sol/Escrow.json +769 -0
  224. package/coston2/artifacts/contracts/tokenPools/implementation/FtsoRewardManager.sol/FtsoRewardManager.json +1412 -0
  225. package/coston2/artifacts/contracts/tokenPools/implementation/GenericRewardManager.sol/GenericRewardManager.json +720 -0
  226. package/coston2/artifacts/contracts/tokenPools/implementation/IncentivePool.sol/IncentivePool.json +927 -0
  227. package/coston2/artifacts/contracts/tokenPools/implementation/IncentivePoolAllocation.sol/IncentivePoolAllocation.json +463 -0
  228. package/coston2/artifacts/contracts/tokenPools/implementation/ValidatorRewardManager.sol/ValidatorRewardManager.json +741 -0
  229. package/coston2/artifacts/contracts/tokenPools/interface/IIFtsoRewardManager.sol/IIFtsoRewardManager.json +962 -0
  230. package/coston2/artifacts/contracts/tokenPools/interface/IIGenericRewardManager.sol/IIGenericRewardManager.json +413 -0
  231. package/coston2/artifacts/contracts/tokenPools/interface/IIIncentivePoolAllocation.sol/IIIncentivePoolAllocation.json +49 -0
  232. package/coston2/artifacts/contracts/tokenPools/interface/IIIncentivePoolPercentageProvider.sol/IIIncentivePoolPercentageProvider.json +24 -0
  233. package/coston2/artifacts/contracts/tokenPools/interface/IIIncentivePoolReceiver.sol/IIIncentivePoolReceiver.json +57 -0
  234. package/coston2/artifacts/contracts/tokenPools/interface/IIIncentivePoolSharingPercentageProvider.sol/IIIncentivePoolSharingPercentageProvider.json +36 -0
  235. package/coston2/artifacts/contracts/tokenPools/interface/IITokenPool.sol/IITokenPool.json +34 -0
  236. package/coston2/artifacts/contracts/tokenPools/lib/DataProviderFee.sol/DataProviderFee.json +10 -0
  237. package/coston2/artifacts/contracts/tokenPools/lib/IncentivePoolAnnum.sol/IncentivePoolAnnum.json +10 -0
  238. package/coston2/artifacts/contracts/tokenPools/lib/IncentivePoolAnnums.sol/IncentivePoolAnnums.json +10 -0
  239. package/coston2/artifacts/contracts/tokenPools/lib/IncentivePoolRewardService.sol/IncentivePoolRewardService.json +30 -0
  240. package/coston2/artifacts/contracts/tokenPools/lib/IncentivePoolRewardServices.sol/IncentivePoolRewardServices.json +49 -0
  241. package/coston2/artifacts/contracts/userInterfaces/IClaimSetupManager.sol/IClaimSetupManager.json +665 -0
  242. package/coston2/artifacts/contracts/userInterfaces/IDelegationAccount.sol/IDelegationAccount.json +144 -0
  243. package/coston2/artifacts/contracts/userInterfaces/IDistributionToDelegators.sol/IDistributionToDelegators.json +258 -0
  244. package/coston2/artifacts/contracts/userInterfaces/IFlareAssetRegistry.sol/IFlareAssetRegistry.json +241 -0
  245. package/coston2/artifacts/contracts/userInterfaces/IFlareContractRegistry.sol/IFlareContractRegistry.json +105 -0
  246. package/coston2/artifacts/contracts/userInterfaces/IFtso.sol/IFtso.json +475 -0
  247. package/coston2/artifacts/contracts/userInterfaces/IFtsoManager.sol/IFtsoManager.json +376 -0
  248. package/coston2/artifacts/contracts/userInterfaces/IFtsoRegistry.sol/IFtsoRegistry.json +445 -0
  249. package/coston2/artifacts/contracts/userInterfaces/IFtsoRewardManager.sol/IFtsoRewardManager.json +702 -0
  250. package/coston2/artifacts/contracts/userInterfaces/IGenericRewardManager.sol/IGenericRewardManager.json +248 -0
  251. package/coston2/artifacts/contracts/userInterfaces/IGovernanceSettings.sol/IGovernanceSettings.json +69 -0
  252. package/coston2/artifacts/contracts/userInterfaces/IGovernanceVotePower.sol/IGovernanceVotePower.json +117 -0
  253. package/coston2/artifacts/contracts/userInterfaces/IGovernor.sol/IGovernor.json +484 -0
  254. package/coston2/artifacts/contracts/userInterfaces/IPollingFtso.sol/IPollingFtso.json +639 -0
  255. package/coston2/artifacts/contracts/userInterfaces/IPriceSubmitter.sol/IPriceSubmitter.json +221 -0
  256. package/coston2/artifacts/contracts/userInterfaces/IVPContractEvents.sol/IVPContractEvents.json +73 -0
  257. package/coston2/artifacts/contracts/userInterfaces/IVPToken.sol/IVPToken.json +700 -0
  258. package/coston2/artifacts/contracts/userInterfaces/IValidatorRegistry.sol/IValidatorRegistry.json +136 -0
  259. package/coston2/artifacts/contracts/userInterfaces/IVoterWhitelister.sol/IVoterWhitelister.json +199 -0
  260. package/coston2/artifacts/contracts/userInterfaces/IWNat.sol/IWNat.json +62 -0
  261. package/coston2/artifacts/contracts/utils/implementation/AddressSet.sol/AddressSet.json +10 -0
  262. package/coston2/artifacts/contracts/utils/implementation/DateTimeLibrary.sol/BokkyPooBahsDateTimeLibrary.json +154 -0
  263. package/coston2/artifacts/contracts/utils/implementation/FlareContractRegistry.sol/FlareContractRegistry.json +147 -0
  264. package/coston2/artifacts/contracts/utils/implementation/FtsoRegistry.sol/FtsoRegistry.json +769 -0
  265. package/coston2/artifacts/contracts/utils/implementation/FtsoRegistryProxy.sol/FtsoRegistryProxy.json +272 -0
  266. package/coston2/artifacts/contracts/utils/implementation/FtsoV2Upgrader.sol/FtsoV2Upgrader.json +384 -0
  267. package/coston2/artifacts/contracts/utils/implementation/FundDistributor.sol/FundDistributor.json +71 -0
  268. package/coston2/artifacts/contracts/utils/implementation/GovernedAndFlareDaemonized.sol/GovernedAndFlareDaemonized.json +238 -0
  269. package/coston2/artifacts/contracts/utils/implementation/ProxyGoverned.sol/ProxyGoverned.json +256 -0
  270. package/coston2/artifacts/contracts/utils/implementation/RevertErrorTracking.sol/RevertErrorTracking.json +131 -0
  271. package/coston2/artifacts/contracts/utils/implementation/SafePct.sol/SafePct.json +10 -0
  272. package/coston2/artifacts/contracts/utils/implementation/SelfdestructTransfer.sol/SelfdestructTransfer.json +91 -0
  273. package/coston2/artifacts/contracts/utils/implementation/ValidatorRegistry.sol/ValidatorRegistry.json +149 -0
  274. package/coston2/artifacts/contracts/utils/implementation/VoterWhitelister.sol/VoterWhitelister.json +653 -0
  275. package/coston2/artifacts/contracts/utils/interface/IIFtsoRegistry.sol/IIFtsoRegistry.json +477 -0
  276. package/coston2/artifacts/contracts/utils/interface/IIRandomProvider.sol/IIRandomProvider.json +60 -0
  277. package/coston2/artifacts/contracts/utils/interface/IIVoterWhitelister.sol/IIVoterWhitelister.json +308 -0
  278. package/coston2/artifacts/contracts/utils/interface/IUpdateValidators.sol/IUpdateValidators.json +18 -0
  279. package/{dist/coston2/deploys/coston2.json → coston2/deploys/contracts.json} +48 -18
  280. package/dist/coston/abis.d.ts +4 -0
  281. package/dist/coston/abis.d.ts.map +1 -0
  282. package/dist/{songbird/abis.songbird.js → coston/abis.js} +21 -17
  283. package/dist/coston/abis.js.map +1 -0
  284. package/dist/coston/artifacts/contracts/claiming/implementation/ClaimSetupManager.sol/ClaimSetupManager.json +2 -2
  285. package/dist/coston/artifacts/contracts/ftso/implementation/FtsoManager.sol/FtsoManager.json +2 -2
  286. package/dist/coston/artifacts/contracts/governance/implementation/PollingFoundation.sol/PollingFoundation.json +2 -2
  287. package/dist/coston/artifacts/contracts/governance/implementation/PollingFtso.sol/PollingFtso.json +2 -2
  288. package/dist/coston/artifacts/contracts/inflation/implementation/Inflation.sol/Inflation.json +273 -298
  289. package/dist/coston/artifacts/contracts/inflation/implementation/InflationAllocation.sol/InflationAllocation.json +463 -0
  290. package/dist/coston/artifacts/contracts/inflation/implementation/SelfDestructBurner.sol/SelfDestructBurner.json +73 -0
  291. package/dist/coston/artifacts/contracts/inflation/implementation/Supply.sol/Supply.json +290 -51
  292. package/dist/coston/artifacts/contracts/inflation/interface/{IIInflationSharingPercentageProvider.sol/IIInflationSharingPercentageProvider.json → IIInflationAllocation.sol/IIInflationAllocation.json} +15 -2
  293. package/dist/coston/artifacts/contracts/inflation/interface/IIInflationReceiver.sol/IIInflationReceiver.json +26 -0
  294. package/dist/coston/artifacts/contracts/inflation/interface/IIInflationV1.sol/IIInflationV1.json +142 -0
  295. package/dist/coston/artifacts/contracts/inflation/interface/IIPreInflationCalculation.sol/IIPreInflationCalculation.json +18 -0
  296. package/dist/coston/artifacts/contracts/inflation/interface/IISupply.sol/IISupply.json +6 -12
  297. package/dist/coston/artifacts/contracts/inflation/lib/{RewardServices.sol/RewardServices.json → InflationRewardServices.sol/InflationRewardServices.json} +25 -6
  298. package/dist/coston/artifacts/contracts/inflation/lib/InflationTimeSlots.sol/InflationTimeSlots.json +10 -0
  299. package/dist/coston/artifacts/contracts/tokenPools/implementation/FtsoRewardManager.sol/FtsoRewardManager.json +19 -6
  300. package/dist/coston/artifacts/contracts/tokenPools/implementation/InflationReceiver.sol/InflationReceiver.json +127 -0
  301. package/dist/coston/artifacts/contracts/tokenPools/implementation/TokenPoolBase.sol/TokenPoolBase.json +10 -0
  302. package/dist/coston/artifacts/contracts/tokenPools/interface/IIFtsoRewardManager.sol/IIFtsoRewardManager.json +26 -0
  303. package/dist/coston/artifacts/contracts/utils/implementation/FtsoV2Upgrader.sol/FtsoV2Upgrader.json +2 -2
  304. package/dist/coston/deploys/{contractAddresses.d.ts → addresses.d.ts} +9 -3
  305. package/dist/coston/deploys/addresses.d.ts.map +1 -0
  306. package/dist/coston/deploys/{contractAddresses.js → addresses.js} +12 -6
  307. package/dist/coston/deploys/addresses.js.map +1 -0
  308. package/dist/coston/deploys/contracts.json +202 -0
  309. package/dist/coston/deploys/mapper.d.ts +2 -2
  310. package/dist/coston/deploys/mapper.d.ts.map +1 -1
  311. package/dist/coston/deploys/mapper.js +13 -19
  312. package/dist/coston/deploys/mapper.js.map +1 -1
  313. package/dist/coston/index.d.ts +1 -1
  314. package/dist/coston/index.d.ts.map +1 -1
  315. package/dist/coston/index.js +1 -2
  316. package/dist/coston/index.js.map +1 -1
  317. package/dist/coston2/abis.d.ts +4 -0
  318. package/dist/coston2/abis.d.ts.map +1 -0
  319. package/dist/coston2/{abis.coston2.js → abis.js} +5 -3
  320. package/dist/coston2/abis.js.map +1 -0
  321. package/dist/coston2/artifacts/contracts/claiming/implementation/ClaimSetupManager.sol/ClaimSetupManager.json +2 -2
  322. package/dist/coston2/artifacts/contracts/ftso/implementation/Ftso.sol/Ftso.json +36 -4
  323. package/dist/coston2/artifacts/contracts/ftso/implementation/FtsoManager.sol/FtsoManager.json +158 -82
  324. package/dist/coston2/artifacts/contracts/ftso/interface/IIFtso.sol/IIFtso.json +34 -2
  325. package/dist/coston2/artifacts/contracts/ftso/interface/IIFtsoManager.sol/IIFtsoManager.json +54 -0
  326. package/dist/coston2/artifacts/contracts/ftso/lib/FtsoEpoch.sol/FtsoEpoch.json +2 -2
  327. package/dist/coston2/artifacts/contracts/ftso/lib/FtsoManagement.sol/FtsoManagement.json +2 -2
  328. package/dist/coston2/artifacts/contracts/ftso/lib/FtsoManagerSettings.sol/FtsoManagerSettings.json +2 -2
  329. package/dist/coston2/artifacts/contracts/ftso/lib/FtsoMedian.sol/FtsoMedian.json +2 -2
  330. package/dist/coston2/artifacts/contracts/ftso/priceProviderMockContracts/PriceProviderMockContracts.sol/MockFtsoRegistry.json +2 -2
  331. package/dist/coston2/artifacts/contracts/ftso/priceProviderMockContracts/PriceProviderMockContracts.sol/MockPriceSubmitter.json +2 -2
  332. package/dist/coston2/artifacts/contracts/ftso/priceProviderMockContracts/PriceProviderMockContracts.sol/MockVoterWhitelister.json +2 -2
  333. package/dist/coston2/artifacts/contracts/ftso/priceProviderMockContracts/priceProviderMockFtso.sol/MockNpmFtso.json +36 -4
  334. package/dist/coston2/artifacts/contracts/governance/implementation/PollingFoundation.sol/PollingFoundation.json +2 -2
  335. package/dist/coston2/artifacts/contracts/tokenPools/implementation/DistributionToDelegators.sol/DistributionToDelegators.json +2 -2
  336. package/dist/coston2/artifacts/contracts/tokenPools/implementation/FtsoRewardManager.sol/FtsoRewardManager.json +2 -2
  337. package/dist/coston2/artifacts/contracts/utils/implementation/FtsoRegistry.sol/FtsoRegistry.json +2 -2
  338. package/dist/coston2/artifacts/contracts/utils/implementation/FtsoV2Upgrader.sol/FtsoV2Upgrader.json +384 -0
  339. package/dist/coston2/artifacts/contracts/utils/implementation/VoterWhitelister.sol/VoterWhitelister.json +2 -2
  340. package/dist/coston2/deploys/{contractAddresses.d.ts → addresses.d.ts} +9 -3
  341. package/dist/coston2/deploys/addresses.d.ts.map +1 -0
  342. package/dist/coston2/deploys/{contractAddresses.js → addresses.js} +20 -14
  343. package/dist/coston2/deploys/addresses.js.map +1 -0
  344. package/dist/coston2/deploys/contracts.json +252 -0
  345. package/dist/coston2/deploys/mapper.d.ts +2 -2
  346. package/dist/coston2/deploys/mapper.d.ts.map +1 -1
  347. package/dist/coston2/deploys/mapper.js +13 -19
  348. package/dist/coston2/deploys/mapper.js.map +1 -1
  349. package/dist/coston2/index.d.ts +1 -1
  350. package/dist/coston2/index.d.ts.map +1 -1
  351. package/dist/coston2/index.js +1 -2
  352. package/dist/coston2/index.js.map +1 -1
  353. package/dist/flare/abis.d.ts +4 -0
  354. package/dist/flare/abis.d.ts.map +1 -0
  355. package/dist/flare/{abis.flare.js → abis.js} +5 -3
  356. package/dist/flare/abis.js.map +1 -0
  357. package/dist/flare/artifacts/contracts/claiming/implementation/ClaimSetupManager.sol/ClaimSetupManager.json +2 -2
  358. package/dist/flare/artifacts/contracts/ftso/implementation/Ftso.sol/Ftso.json +36 -4
  359. package/dist/flare/artifacts/contracts/ftso/implementation/FtsoManager.sol/FtsoManager.json +158 -82
  360. package/dist/flare/artifacts/contracts/ftso/interface/IIFtso.sol/IIFtso.json +34 -2
  361. package/dist/flare/artifacts/contracts/ftso/interface/IIFtsoManager.sol/IIFtsoManager.json +54 -0
  362. package/dist/flare/artifacts/contracts/ftso/lib/FtsoEpoch.sol/FtsoEpoch.json +2 -2
  363. package/dist/flare/artifacts/contracts/ftso/lib/FtsoManagement.sol/FtsoManagement.json +2 -2
  364. package/dist/flare/artifacts/contracts/ftso/lib/FtsoManagerSettings.sol/FtsoManagerSettings.json +2 -2
  365. package/dist/flare/artifacts/contracts/ftso/lib/FtsoMedian.sol/FtsoMedian.json +2 -2
  366. package/dist/flare/artifacts/contracts/ftso/priceProviderMockContracts/PriceProviderMockContracts.sol/MockFtsoRegistry.json +2 -2
  367. package/dist/flare/artifacts/contracts/ftso/priceProviderMockContracts/PriceProviderMockContracts.sol/MockPriceSubmitter.json +2 -2
  368. package/dist/flare/artifacts/contracts/ftso/priceProviderMockContracts/PriceProviderMockContracts.sol/MockVoterWhitelister.json +2 -2
  369. package/dist/flare/artifacts/contracts/ftso/priceProviderMockContracts/priceProviderMockFtso.sol/MockNpmFtso.json +36 -4
  370. package/dist/flare/artifacts/contracts/governance/implementation/PollingFoundation.sol/PollingFoundation.json +2 -2
  371. package/dist/flare/artifacts/contracts/tokenPools/implementation/DistributionToDelegators.sol/DistributionToDelegators.json +2 -2
  372. package/dist/flare/artifacts/contracts/tokenPools/implementation/FtsoRewardManager.sol/FtsoRewardManager.json +2 -2
  373. package/dist/flare/artifacts/contracts/utils/implementation/FtsoRegistry.sol/FtsoRegistry.json +2 -2
  374. package/dist/flare/artifacts/contracts/utils/implementation/FtsoV2Upgrader.sol/FtsoV2Upgrader.json +384 -0
  375. package/dist/flare/artifacts/contracts/utils/implementation/VoterWhitelister.sol/VoterWhitelister.json +2 -2
  376. package/dist/flare/deploys/{contractAddresses.d.ts → addresses.d.ts} +9 -3
  377. package/dist/flare/deploys/addresses.d.ts.map +1 -0
  378. package/dist/flare/deploys/{contractAddresses.js → addresses.js} +20 -14
  379. package/dist/flare/deploys/addresses.js.map +1 -0
  380. package/dist/flare/deploys/{flare.json → contracts.json} +49 -19
  381. package/dist/flare/deploys/mapper.d.ts +2 -2
  382. package/dist/flare/deploys/mapper.d.ts.map +1 -1
  383. package/dist/flare/deploys/mapper.js +13 -19
  384. package/dist/flare/deploys/mapper.js.map +1 -1
  385. package/dist/flare/index.d.ts +1 -1
  386. package/dist/flare/index.d.ts.map +1 -1
  387. package/dist/flare/index.js +1 -2
  388. package/dist/flare/index.js.map +1 -1
  389. package/dist/index.d.ts.map +1 -1
  390. package/dist/index.js +5 -9
  391. package/dist/index.js.map +1 -1
  392. package/dist/songbird/abis.d.ts +4 -0
  393. package/dist/songbird/abis.d.ts.map +1 -0
  394. package/dist/{coston/abis.coston.js → songbird/abis.js} +3 -3
  395. package/dist/songbird/abis.js.map +1 -0
  396. package/dist/songbird/deploys/{contractAddresses.d.ts → addresses.d.ts} +9 -3
  397. package/dist/songbird/deploys/addresses.d.ts.map +1 -0
  398. package/dist/songbird/deploys/{contractAddresses.js → addresses.js} +9 -3
  399. package/dist/songbird/deploys/addresses.js.map +1 -0
  400. package/dist/songbird/deploys/{songbird.json → contracts.json} +40 -10
  401. package/dist/songbird/deploys/mapper.d.ts +2 -2
  402. package/dist/songbird/deploys/mapper.d.ts.map +1 -1
  403. package/dist/songbird/deploys/mapper.js +13 -19
  404. package/dist/songbird/deploys/mapper.js.map +1 -1
  405. package/dist/songbird/index.d.ts +1 -1
  406. package/dist/songbird/index.d.ts.map +1 -1
  407. package/dist/songbird/index.js +1 -2
  408. package/dist/songbird/index.js.map +1 -1
  409. package/flare/README.md +7 -0
  410. package/flare/artifacts/contracts/addressUpdater/implementation/AddressUpdatable.sol/AddressUpdatable.json +42 -0
  411. package/flare/artifacts/contracts/addressUpdater/implementation/AddressUpdater.sol/AddressUpdater.json +381 -0
  412. package/flare/artifacts/contracts/addressUpdater/interface/IIAddressUpdatable.sol/IIAddressUpdatable.json +29 -0
  413. package/flare/artifacts/contracts/addressUpdater/interface/IIAddressUpdater.sol/IIAddressUpdater.json +105 -0
  414. package/flare/artifacts/contracts/assetRegistry/implementation/FlareAssetRegistry.sol/FlareAssetRegistry.json +525 -0
  415. package/flare/artifacts/contracts/assetRegistry/implementation/WNatRegistryProvider.sol/WNatRegistryProvider.json +113 -0
  416. package/flare/artifacts/contracts/assetRegistry/interface/IIERC20WithMetadata.sol/IIERC20WithMetadata.json +233 -0
  417. package/flare/artifacts/contracts/assetRegistry/interface/IIFlareAssetRegistry.sol/IIFlareAssetRegistry.json +316 -0
  418. package/flare/artifacts/contracts/assetRegistry/interface/IIFlareAssetRegistryProvider.sol/IIFlareAssetRegistryProvider.json +66 -0
  419. package/flare/artifacts/contracts/assetRegistry/lib/StandardAttributes.sol/StandardAttributes.json +10 -0
  420. package/flare/artifacts/contracts/claiming/implementation/ClaimSetupManager.sol/ClaimSetupManager.json +1151 -0
  421. package/flare/artifacts/contracts/claiming/implementation/CloneFactory.sol/CloneFactory.json +10 -0
  422. package/flare/artifacts/contracts/claiming/implementation/DelegationAccount.sol/DelegationAccount.json +346 -0
  423. package/flare/artifacts/contracts/claiming/interface/IIClaimSetupManager.sol/IIClaimSetupManager.json +795 -0
  424. package/flare/artifacts/contracts/claiming/interface/IIDelegationAccount.sol/IIDelegationAccount.json +316 -0
  425. package/flare/artifacts/contracts/ftso/implementation/Ftso.sol/Ftso.json +1039 -0
  426. package/flare/artifacts/contracts/ftso/implementation/FtsoManager.sol/FtsoManager.json +1723 -0
  427. package/flare/artifacts/contracts/ftso/interface/IIFtso.sol/IIFtso.json +888 -0
  428. package/flare/artifacts/contracts/ftso/interface/IIFtsoManager.sol/IIFtsoManager.json +891 -0
  429. package/flare/artifacts/contracts/ftso/interface/IIFtsoManagerV1.sol/IIFtsoManagerV1.json +102 -0
  430. package/flare/artifacts/contracts/ftso/lib/FtsoEpoch.sol/FtsoEpoch.json +10 -0
  431. package/flare/artifacts/contracts/ftso/lib/FtsoManagement.sol/FtsoManagement.json +43 -0
  432. package/flare/artifacts/contracts/ftso/lib/FtsoManagerSettings.sol/FtsoManagerSettings.json +10 -0
  433. package/flare/artifacts/contracts/ftso/lib/FtsoMedian.sol/FtsoMedian.json +10 -0
  434. package/flare/artifacts/contracts/ftso/lib/FtsoVote.sol/FtsoVote.json +10 -0
  435. package/flare/artifacts/contracts/ftso/priceProviderMockContracts/PriceProviderMockContracts.sol/MockFtsoRegistry.json +718 -0
  436. package/flare/artifacts/contracts/ftso/priceProviderMockContracts/PriceProviderMockContracts.sol/MockPriceSubmitter.json +338 -0
  437. package/flare/artifacts/contracts/ftso/priceProviderMockContracts/PriceProviderMockContracts.sol/MockVoterWhitelister.json +236 -0
  438. package/flare/artifacts/contracts/ftso/priceProviderMockContracts/priceProviderMockFtso.sol/MockNpmFtso.json +983 -0
  439. package/flare/artifacts/contracts/genesis/implementation/DistributionTreasury.sol/DistributionTreasury.json +289 -0
  440. package/flare/artifacts/contracts/genesis/implementation/FlareDaemon.sol/FlareDaemon.json +794 -0
  441. package/flare/artifacts/contracts/genesis/implementation/GovernanceSettings.sol/GovernanceSettings.json +219 -0
  442. package/flare/artifacts/contracts/genesis/implementation/IncentivePoolTreasury.sol/IncentivePoolTreasury.json +292 -0
  443. package/flare/artifacts/contracts/genesis/implementation/InitialAirdrop.sol/InitialAirdrop.json +493 -0
  444. package/flare/artifacts/contracts/genesis/implementation/PriceSubmitter.sol/PriceSubmitter.json +569 -0
  445. package/flare/artifacts/contracts/genesis/implementation/StateConnector.sol/StateConnector.json +324 -0
  446. package/flare/artifacts/contracts/genesis/interface/IFlareDaemonize.sol/IFlareDaemonize.json +50 -0
  447. package/flare/artifacts/contracts/genesis/interface/IFtsoGenesis.sol/IFtsoGenesis.json +63 -0
  448. package/flare/artifacts/contracts/genesis/interface/IFtsoManagerGenesis.sol/IFtsoManagerGenesis.json +24 -0
  449. package/flare/artifacts/contracts/genesis/interface/IFtsoRegistryGenesis.sol/IFtsoRegistryGenesis.json +30 -0
  450. package/flare/artifacts/contracts/genesis/interface/IIPriceSubmitter.sol/IIPriceSubmitter.json +283 -0
  451. package/flare/artifacts/contracts/genesis/interface/IInflationGenesis.sol/IInflationGenesis.json +18 -0
  452. package/flare/artifacts/contracts/governance/implementation/Governed.sol/Governed.json +220 -0
  453. package/flare/artifacts/contracts/governance/implementation/GovernedAtGenesis.sol/GovernedAtGenesis.json +233 -0
  454. package/flare/artifacts/contracts/governance/implementation/GovernedBase.sol/GovernedBase.json +209 -0
  455. package/flare/artifacts/contracts/governance/implementation/Governor.sol/Governor.json +653 -0
  456. package/flare/artifacts/contracts/governance/implementation/GovernorProposals.sol/GovernorProposals.json +24 -0
  457. package/flare/artifacts/contracts/governance/implementation/GovernorProposer.sol/GovernorProposer.json +265 -0
  458. package/flare/artifacts/contracts/governance/implementation/GovernorVotePower.sol/GovernorVotePower.json +24 -0
  459. package/flare/artifacts/contracts/governance/implementation/GovernorVotes.sol/GovernorVotes.json +10 -0
  460. package/flare/artifacts/contracts/governance/implementation/PollingFoundation.sol/PollingFoundation.json +1070 -0
  461. package/flare/artifacts/contracts/governance/implementation/PollingFtso.sol/PollingFtso.json +1187 -0
  462. package/flare/artifacts/contracts/governance/interface/IIGovernorProposer.sol/IIGovernorProposer.json +30 -0
  463. package/flare/artifacts/contracts/governance/interface/IIPollingFoundation.sol/IIPollingFoundation.json +640 -0
  464. package/flare/artifacts/contracts/inflation/implementation/Inflation.sol/Inflation.json +926 -0
  465. package/flare/artifacts/contracts/inflation/implementation/InflationAllocation.sol/InflationAllocation.json +463 -0
  466. package/flare/artifacts/contracts/inflation/implementation/Supply.sol/Supply.json +543 -0
  467. package/flare/artifacts/contracts/inflation/interface/IIInflationAllocation.sol/IIInflationAllocation.json +49 -0
  468. package/flare/artifacts/contracts/inflation/interface/IIInflationPercentageProvider.sol/IIInflationPercentageProvider.json +24 -0
  469. package/flare/artifacts/contracts/inflation/interface/IIInflationReceiver.sol/IIInflationReceiver.json +57 -0
  470. package/flare/artifacts/contracts/inflation/interface/IIInflationSharingPercentageProvider.sol/IIInflationSharingPercentageProvider.json +36 -0
  471. package/flare/artifacts/contracts/inflation/interface/IISupply.sol/IISupply.json +82 -0
  472. package/flare/artifacts/contracts/inflation/lib/InflationAnnum.sol/InflationAnnum.json +10 -0
  473. package/flare/artifacts/contracts/inflation/lib/InflationAnnums.sol/InflationAnnums.json +10 -0
  474. package/flare/artifacts/contracts/inflation/lib/RewardService.sol/RewardService.json +30 -0
  475. package/flare/artifacts/contracts/inflation/lib/RewardServices.sol/RewardServices.json +49 -0
  476. package/flare/artifacts/contracts/mockXAsset/interface/ICollateralizable.sol/ICollateralizable.json +234 -0
  477. package/flare/artifacts/contracts/token/implementation/CheckPointable.sol/CheckPointable.json +142 -0
  478. package/flare/artifacts/contracts/token/implementation/CleanupBlockNumberManager.sol/CleanupBlockNumberManager.json +389 -0
  479. package/flare/artifacts/contracts/token/implementation/Delegatable.sol/Delegatable.json +235 -0
  480. package/flare/artifacts/contracts/token/implementation/GovernanceVotePower.sol/GovernanceVotePower.json +324 -0
  481. package/flare/artifacts/contracts/token/implementation/VPContract.sol/VPContract.json +798 -0
  482. package/flare/artifacts/contracts/token/implementation/VPToken.sol/VPToken.json +1264 -0
  483. package/flare/artifacts/contracts/token/implementation/WNat.sol/WNat.json +1357 -0
  484. package/flare/artifacts/contracts/token/interface/IICleanable.sol/IICleanable.json +50 -0
  485. package/flare/artifacts/contracts/token/interface/IIGovernanceVotePower.sol/IIGovernanceVotePower.json +252 -0
  486. package/flare/artifacts/contracts/token/interface/IIVPContract.sol/IIVPContract.json +620 -0
  487. package/flare/artifacts/contracts/token/interface/IIVPToken.sol/IIVPToken.json +832 -0
  488. package/flare/artifacts/contracts/token/lib/CheckPointHistory.sol/CheckPointHistory.json +10 -0
  489. package/flare/artifacts/contracts/token/lib/CheckPointHistoryCache.sol/CheckPointHistoryCache.json +10 -0
  490. package/flare/artifacts/contracts/token/lib/CheckPointsByAddress.sol/CheckPointsByAddress.json +10 -0
  491. package/flare/artifacts/contracts/token/lib/DelegateCheckPointHistory.sol/DelegateCheckPointHistory.json +10 -0
  492. package/flare/artifacts/contracts/token/lib/DelegateCheckPointsByAddress.sol/DelegateCheckPointsByAddress.json +10 -0
  493. package/flare/artifacts/contracts/token/lib/DelegationHistory.sol/DelegationHistory.json +24 -0
  494. package/flare/artifacts/contracts/token/lib/ExplicitDelegation.sol/ExplicitDelegation.json +10 -0
  495. package/flare/artifacts/contracts/token/lib/IICombinedNatBalance.sol/IICombinedNatBalance.json +54 -0
  496. package/flare/artifacts/contracts/token/lib/PercentageDelegation.sol/PercentageDelegation.json +24 -0
  497. package/flare/artifacts/contracts/token/lib/VotePower.sol/VotePower.json +10 -0
  498. package/flare/artifacts/contracts/token/lib/VotePowerCache.sol/VotePowerCache.json +10 -0
  499. package/flare/artifacts/contracts/tokenPools/implementation/AttestationProviderRewardManager.sol/AttestationProviderRewardManager.json +741 -0
  500. package/flare/artifacts/contracts/tokenPools/implementation/DistributionToDelegators.sol/DistributionToDelegators.json +1038 -0
  501. package/flare/artifacts/contracts/tokenPools/implementation/Escrow.sol/Escrow.json +769 -0
  502. package/flare/artifacts/contracts/tokenPools/implementation/FtsoRewardManager.sol/FtsoRewardManager.json +1412 -0
  503. package/flare/artifacts/contracts/tokenPools/implementation/GenericRewardManager.sol/GenericRewardManager.json +720 -0
  504. package/flare/artifacts/contracts/tokenPools/implementation/IncentivePool.sol/IncentivePool.json +927 -0
  505. package/flare/artifacts/contracts/tokenPools/implementation/IncentivePoolAllocation.sol/IncentivePoolAllocation.json +463 -0
  506. package/flare/artifacts/contracts/tokenPools/implementation/ValidatorRewardManager.sol/ValidatorRewardManager.json +741 -0
  507. package/flare/artifacts/contracts/tokenPools/interface/IIFtsoRewardManager.sol/IIFtsoRewardManager.json +962 -0
  508. package/flare/artifacts/contracts/tokenPools/interface/IIGenericRewardManager.sol/IIGenericRewardManager.json +413 -0
  509. package/flare/artifacts/contracts/tokenPools/interface/IIIncentivePoolAllocation.sol/IIIncentivePoolAllocation.json +49 -0
  510. package/flare/artifacts/contracts/tokenPools/interface/IIIncentivePoolPercentageProvider.sol/IIIncentivePoolPercentageProvider.json +24 -0
  511. package/flare/artifacts/contracts/tokenPools/interface/IIIncentivePoolReceiver.sol/IIIncentivePoolReceiver.json +57 -0
  512. package/flare/artifacts/contracts/tokenPools/interface/IIIncentivePoolSharingPercentageProvider.sol/IIIncentivePoolSharingPercentageProvider.json +36 -0
  513. package/flare/artifacts/contracts/tokenPools/interface/IITokenPool.sol/IITokenPool.json +34 -0
  514. package/flare/artifacts/contracts/tokenPools/lib/DataProviderFee.sol/DataProviderFee.json +10 -0
  515. package/flare/artifacts/contracts/tokenPools/lib/IncentivePoolAnnum.sol/IncentivePoolAnnum.json +10 -0
  516. package/flare/artifacts/contracts/tokenPools/lib/IncentivePoolAnnums.sol/IncentivePoolAnnums.json +10 -0
  517. package/flare/artifacts/contracts/tokenPools/lib/IncentivePoolRewardService.sol/IncentivePoolRewardService.json +30 -0
  518. package/flare/artifacts/contracts/tokenPools/lib/IncentivePoolRewardServices.sol/IncentivePoolRewardServices.json +49 -0
  519. package/flare/artifacts/contracts/userInterfaces/IClaimSetupManager.sol/IClaimSetupManager.json +665 -0
  520. package/flare/artifacts/contracts/userInterfaces/IDelegationAccount.sol/IDelegationAccount.json +144 -0
  521. package/flare/artifacts/contracts/userInterfaces/IDistributionToDelegators.sol/IDistributionToDelegators.json +258 -0
  522. package/flare/artifacts/contracts/userInterfaces/IFlareAssetRegistry.sol/IFlareAssetRegistry.json +241 -0
  523. package/flare/artifacts/contracts/userInterfaces/IFlareContractRegistry.sol/IFlareContractRegistry.json +105 -0
  524. package/flare/artifacts/contracts/userInterfaces/IFtso.sol/IFtso.json +475 -0
  525. package/flare/artifacts/contracts/userInterfaces/IFtsoManager.sol/IFtsoManager.json +376 -0
  526. package/flare/artifacts/contracts/userInterfaces/IFtsoRegistry.sol/IFtsoRegistry.json +445 -0
  527. package/flare/artifacts/contracts/userInterfaces/IFtsoRewardManager.sol/IFtsoRewardManager.json +702 -0
  528. package/flare/artifacts/contracts/userInterfaces/IGenericRewardManager.sol/IGenericRewardManager.json +248 -0
  529. package/flare/artifacts/contracts/userInterfaces/IGovernanceSettings.sol/IGovernanceSettings.json +69 -0
  530. package/flare/artifacts/contracts/userInterfaces/IGovernanceVotePower.sol/IGovernanceVotePower.json +117 -0
  531. package/flare/artifacts/contracts/userInterfaces/IGovernor.sol/IGovernor.json +484 -0
  532. package/flare/artifacts/contracts/userInterfaces/IPollingFtso.sol/IPollingFtso.json +639 -0
  533. package/flare/artifacts/contracts/userInterfaces/IPriceSubmitter.sol/IPriceSubmitter.json +221 -0
  534. package/flare/artifacts/contracts/userInterfaces/IVPContractEvents.sol/IVPContractEvents.json +73 -0
  535. package/flare/artifacts/contracts/userInterfaces/IVPToken.sol/IVPToken.json +700 -0
  536. package/flare/artifacts/contracts/userInterfaces/IValidatorRegistry.sol/IValidatorRegistry.json +136 -0
  537. package/flare/artifacts/contracts/userInterfaces/IVoterWhitelister.sol/IVoterWhitelister.json +199 -0
  538. package/flare/artifacts/contracts/userInterfaces/IWNat.sol/IWNat.json +62 -0
  539. package/flare/artifacts/contracts/utils/implementation/AddressSet.sol/AddressSet.json +10 -0
  540. package/flare/artifacts/contracts/utils/implementation/DateTimeLibrary.sol/BokkyPooBahsDateTimeLibrary.json +154 -0
  541. package/flare/artifacts/contracts/utils/implementation/FlareContractRegistry.sol/FlareContractRegistry.json +147 -0
  542. package/flare/artifacts/contracts/utils/implementation/FtsoRegistry.sol/FtsoRegistry.json +769 -0
  543. package/flare/artifacts/contracts/utils/implementation/FtsoRegistryProxy.sol/FtsoRegistryProxy.json +272 -0
  544. package/flare/artifacts/contracts/utils/implementation/FtsoV2Upgrader.sol/FtsoV2Upgrader.json +384 -0
  545. package/flare/artifacts/contracts/utils/implementation/FundDistributor.sol/FundDistributor.json +71 -0
  546. package/flare/artifacts/contracts/utils/implementation/GovernedAndFlareDaemonized.sol/GovernedAndFlareDaemonized.json +238 -0
  547. package/flare/artifacts/contracts/utils/implementation/ProxyGoverned.sol/ProxyGoverned.json +256 -0
  548. package/flare/artifacts/contracts/utils/implementation/RevertErrorTracking.sol/RevertErrorTracking.json +131 -0
  549. package/flare/artifacts/contracts/utils/implementation/SafePct.sol/SafePct.json +10 -0
  550. package/flare/artifacts/contracts/utils/implementation/ValidatorRegistry.sol/ValidatorRegistry.json +149 -0
  551. package/flare/artifacts/contracts/utils/implementation/VoterWhitelister.sol/VoterWhitelister.json +653 -0
  552. package/flare/artifacts/contracts/utils/interface/IIFtsoRegistry.sol/IIFtsoRegistry.json +477 -0
  553. package/flare/artifacts/contracts/utils/interface/IIRandomProvider.sol/IIRandomProvider.json +60 -0
  554. package/flare/artifacts/contracts/utils/interface/IIVoterWhitelister.sol/IIVoterWhitelister.json +308 -0
  555. package/flare/artifacts/contracts/utils/interface/IUpdateValidators.sol/IUpdateValidators.json +18 -0
  556. package/flare/deploys/contracts.json +252 -0
  557. package/package.json +22 -27
  558. package/songbird/README.md +7 -0
  559. package/songbird/artifacts/contracts/addressUpdater/implementation/AddressUpdatable.sol/AddressUpdatable.json +42 -0
  560. package/songbird/artifacts/contracts/addressUpdater/implementation/AddressUpdater.sol/AddressUpdater.json +381 -0
  561. package/songbird/artifacts/contracts/addressUpdater/interface/IIAddressUpdatable.sol/IIAddressUpdatable.json +29 -0
  562. package/songbird/artifacts/contracts/addressUpdater/interface/IIAddressUpdater.sol/IIAddressUpdater.json +105 -0
  563. package/songbird/artifacts/contracts/assetRegistry/implementation/FlareAssetRegistry.sol/FlareAssetRegistry.json +525 -0
  564. package/songbird/artifacts/contracts/assetRegistry/implementation/WNatRegistryProvider.sol/WNatRegistryProvider.json +113 -0
  565. package/songbird/artifacts/contracts/assetRegistry/interface/IIERC20WithMetadata.sol/IIERC20WithMetadata.json +233 -0
  566. package/songbird/artifacts/contracts/assetRegistry/interface/IIFlareAssetRegistry.sol/IIFlareAssetRegistry.json +316 -0
  567. package/songbird/artifacts/contracts/assetRegistry/interface/IIFlareAssetRegistryProvider.sol/IIFlareAssetRegistryProvider.json +66 -0
  568. package/songbird/artifacts/contracts/assetRegistry/lib/StandardAttributes.sol/StandardAttributes.json +10 -0
  569. package/songbird/artifacts/contracts/claiming/implementation/ClaimSetupManager.sol/ClaimSetupManager.json +1151 -0
  570. package/songbird/artifacts/contracts/claiming/implementation/CloneFactory.sol/CloneFactory.json +10 -0
  571. package/songbird/artifacts/contracts/claiming/implementation/DelegationAccount.sol/DelegationAccount.json +346 -0
  572. package/songbird/artifacts/contracts/claiming/interface/IIClaimSetupManager.sol/IIClaimSetupManager.json +795 -0
  573. package/songbird/artifacts/contracts/claiming/interface/IIDelegationAccount.sol/IIDelegationAccount.json +316 -0
  574. package/songbird/artifacts/contracts/ftso/implementation/Ftso.sol/Ftso.json +1104 -0
  575. package/songbird/artifacts/contracts/ftso/implementation/FtsoManager.sol/FtsoManager.json +1723 -0
  576. package/songbird/artifacts/contracts/ftso/interface/IIFtso.sol/IIFtso.json +953 -0
  577. package/songbird/artifacts/contracts/ftso/interface/IIFtsoManager.sol/IIFtsoManager.json +878 -0
  578. package/songbird/artifacts/contracts/ftso/interface/IIFtsoManagerV1.sol/IIFtsoManagerV1.json +102 -0
  579. package/songbird/artifacts/contracts/ftso/lib/FtsoEpoch.sol/FtsoEpoch.json +10 -0
  580. package/songbird/artifacts/contracts/ftso/lib/FtsoManagement.sol/FtsoManagement.json +43 -0
  581. package/songbird/artifacts/contracts/ftso/lib/FtsoManagerSettings.sol/FtsoManagerSettings.json +10 -0
  582. package/songbird/artifacts/contracts/ftso/lib/FtsoMedian.sol/FtsoMedian.json +10 -0
  583. package/songbird/artifacts/contracts/ftso/lib/FtsoVote.sol/FtsoVote.json +10 -0
  584. package/songbird/artifacts/contracts/ftso/priceProviderMockContracts/PriceProviderMockContracts.sol/MockFtsoRegistry.json +624 -0
  585. package/songbird/artifacts/contracts/ftso/priceProviderMockContracts/PriceProviderMockContracts.sol/MockPriceSubmitter.json +241 -0
  586. package/songbird/artifacts/contracts/ftso/priceProviderMockContracts/PriceProviderMockContracts.sol/MockVoterWhitelister.json +236 -0
  587. package/songbird/artifacts/contracts/ftso/priceProviderMockContracts/priceProviderMockFtso.sol/MockNpmFtso.json +1048 -0
  588. package/songbird/artifacts/contracts/genesis/implementation/FlareDaemon.sol/FlareDaemon.json +676 -0
  589. package/songbird/artifacts/contracts/genesis/implementation/GovernanceSettings.sol/GovernanceSettings.json +224 -0
  590. package/songbird/artifacts/contracts/genesis/implementation/PriceSubmitter.sol/PriceSubmitter.json +407 -0
  591. package/songbird/artifacts/contracts/genesis/implementation/StateConnector.sol/StateConnector.json +324 -0
  592. package/songbird/artifacts/contracts/genesis/interface/IFlareDaemonize.sol/IFlareDaemonize.json +37 -0
  593. package/songbird/artifacts/contracts/genesis/interface/IFtsoGenesis.sol/IFtsoGenesis.json +91 -0
  594. package/songbird/artifacts/contracts/genesis/interface/IFtsoManagerGenesis.sol/IFtsoManagerGenesis.json +24 -0
  595. package/songbird/artifacts/contracts/genesis/interface/IFtsoRegistryGenesis.sol/IFtsoRegistryGenesis.json +30 -0
  596. package/songbird/artifacts/contracts/genesis/interface/IIPriceSubmitter.sol/IIPriceSubmitter.json +285 -0
  597. package/songbird/artifacts/contracts/genesis/interface/IInflationGenesis.sol/IInflationGenesis.json +18 -0
  598. package/songbird/artifacts/contracts/governance/implementation/Governed.sol/Governed.json +126 -0
  599. package/songbird/artifacts/contracts/governance/implementation/GovernedAtGenesis.sol/GovernedAtGenesis.json +139 -0
  600. package/songbird/artifacts/contracts/governance/implementation/GovernedBase.sol/GovernedBase.json +115 -0
  601. package/songbird/artifacts/contracts/governance/implementation/GovernedBaseV2.sol/GovernedBaseV2.json +209 -0
  602. package/songbird/artifacts/contracts/governance/implementation/GovernedV2.sol/GovernedV2.json +220 -0
  603. package/songbird/artifacts/contracts/governance/implementation/Governor.sol/Governor.json +653 -0
  604. package/songbird/artifacts/contracts/governance/implementation/GovernorProposals.sol/GovernorProposals.json +24 -0
  605. package/songbird/artifacts/contracts/governance/implementation/GovernorProposer.sol/GovernorProposer.json +265 -0
  606. package/songbird/artifacts/contracts/governance/implementation/GovernorVotePower.sol/GovernorVotePower.json +24 -0
  607. package/songbird/artifacts/contracts/governance/implementation/GovernorVotes.sol/GovernorVotes.json +10 -0
  608. package/songbird/artifacts/contracts/governance/implementation/InflationAllocation.sol/InflationAllocation.json +351 -0
  609. package/songbird/artifacts/contracts/governance/implementation/PollingFoundation.sol/PollingFoundation.json +1065 -0
  610. package/songbird/artifacts/contracts/governance/implementation/PollingFtso.sol/PollingFtso.json +1187 -0
  611. package/songbird/artifacts/contracts/governance/interface/IIGovernorProposer.sol/IIGovernorProposer.json +30 -0
  612. package/songbird/artifacts/contracts/governance/interface/IIPollingFoundation.sol/IIPollingFoundation.json +640 -0
  613. package/songbird/artifacts/contracts/inflation/implementation/Inflation.sol/Inflation.json +879 -0
  614. package/songbird/artifacts/contracts/inflation/implementation/Supply.sol/Supply.json +403 -0
  615. package/songbird/artifacts/contracts/inflation/interface/IIInflationPercentageProvider.sol/IIInflationPercentageProvider.json +24 -0
  616. package/songbird/artifacts/contracts/inflation/interface/IIInflationReceiver.sol/IIInflationReceiver.json +44 -0
  617. package/songbird/artifacts/contracts/inflation/interface/IIInflationSharingPercentageProvider.sol/IIInflationSharingPercentageProvider.json +36 -0
  618. package/songbird/artifacts/contracts/inflation/interface/IISupply.sol/IISupply.json +88 -0
  619. package/songbird/artifacts/contracts/inflation/lib/InflationAnnum.sol/InflationAnnum.json +10 -0
  620. package/songbird/artifacts/contracts/inflation/lib/InflationAnnums.sol/InflationAnnums.json +10 -0
  621. package/songbird/artifacts/contracts/inflation/lib/RewardService.sol/RewardService.json +30 -0
  622. package/songbird/artifacts/contracts/inflation/lib/RewardServices.sol/RewardServices.json +49 -0
  623. package/songbird/artifacts/contracts/mockXAsset/interface/ICollateralizable.sol/ICollateralizable.json +234 -0
  624. package/songbird/artifacts/contracts/token/implementation/CheckPointable.sol/CheckPointable.json +129 -0
  625. package/songbird/artifacts/contracts/token/implementation/CleanupBlockNumberManager.sol/CleanupBlockNumberManager.json +389 -0
  626. package/songbird/artifacts/contracts/token/implementation/Delegatable.sol/Delegatable.json +222 -0
  627. package/songbird/artifacts/contracts/token/implementation/GovernanceVotePower.sol/GovernanceVotePower.json +324 -0
  628. package/songbird/artifacts/contracts/token/implementation/VPContract.sol/VPContract.json +774 -0
  629. package/songbird/artifacts/contracts/token/implementation/VPToken.sol/VPToken.json +1102 -0
  630. package/songbird/artifacts/contracts/token/implementation/WNat.sol/WNat.json +1195 -0
  631. package/songbird/artifacts/contracts/token/interface/IICleanable.sol/IICleanable.json +63 -0
  632. package/songbird/artifacts/contracts/token/interface/IIGovernanceVotePower.sol/IIGovernanceVotePower.json +252 -0
  633. package/songbird/artifacts/contracts/token/interface/IIVPContract.sol/IIVPContract.json +609 -0
  634. package/songbird/artifacts/contracts/token/interface/IIVPToken.sol/IIVPToken.json +790 -0
  635. package/songbird/artifacts/contracts/token/lib/CheckPointHistory.sol/CheckPointHistory.json +10 -0
  636. package/songbird/artifacts/contracts/token/lib/CheckPointHistoryCache.sol/CheckPointHistoryCache.json +10 -0
  637. package/songbird/artifacts/contracts/token/lib/CheckPointsByAddress.sol/CheckPointsByAddress.json +10 -0
  638. package/songbird/artifacts/contracts/token/lib/DelegateCheckPointHistory.sol/DelegateCheckPointHistory.json +10 -0
  639. package/songbird/artifacts/contracts/token/lib/DelegateCheckPointsByAddress.sol/DelegateCheckPointsByAddress.json +10 -0
  640. package/songbird/artifacts/contracts/token/lib/DelegationHistory.sol/DelegationHistory.json +24 -0
  641. package/songbird/artifacts/contracts/token/lib/ExplicitDelegation.sol/ExplicitDelegation.json +10 -0
  642. package/songbird/artifacts/contracts/token/lib/PercentageDelegation.sol/PercentageDelegation.json +24 -0
  643. package/songbird/artifacts/contracts/token/lib/VotePower.sol/VotePower.json +10 -0
  644. package/songbird/artifacts/contracts/token/lib/VotePowerCache.sol/VotePowerCache.json +10 -0
  645. package/songbird/artifacts/contracts/tokenPools/implementation/FtsoRewardManager.sol/FtsoRewardManager.json +1412 -0
  646. package/songbird/artifacts/contracts/tokenPools/interface/IIFtsoRewardManager.sol/IIFtsoRewardManager.json +949 -0
  647. package/songbird/artifacts/contracts/tokenPools/interface/IITokenPool.sol/IITokenPool.json +34 -0
  648. package/songbird/artifacts/contracts/tokenPools/lib/DataProviderFee.sol/DataProviderFee.json +10 -0
  649. package/songbird/artifacts/contracts/userInterfaces/IClaimSetupManager.sol/IClaimSetupManager.json +665 -0
  650. package/songbird/artifacts/contracts/userInterfaces/IDelegationAccount.sol/IDelegationAccount.json +144 -0
  651. package/songbird/artifacts/contracts/userInterfaces/IFlareAssetRegistry.sol/IFlareAssetRegistry.json +241 -0
  652. package/songbird/artifacts/contracts/userInterfaces/IFlareContractRegistry.sol/IFlareContractRegistry.json +105 -0
  653. package/songbird/artifacts/contracts/userInterfaces/IFtso.sol/IFtso.json +512 -0
  654. package/songbird/artifacts/contracts/userInterfaces/IFtsoManager.sol/IFtsoManager.json +376 -0
  655. package/songbird/artifacts/contracts/userInterfaces/IFtsoRegistry.sol/IFtsoRegistry.json +445 -0
  656. package/songbird/artifacts/contracts/userInterfaces/IFtsoRewardManager.sol/IFtsoRewardManager.json +702 -0
  657. package/songbird/artifacts/contracts/userInterfaces/IGovernanceSettings.sol/IGovernanceSettings.json +69 -0
  658. package/songbird/artifacts/contracts/userInterfaces/IGovernanceVotePower.sol/IGovernanceVotePower.json +117 -0
  659. package/songbird/artifacts/contracts/userInterfaces/IGovernor.sol/IGovernor.json +484 -0
  660. package/songbird/artifacts/contracts/userInterfaces/IPollingFtso.sol/IPollingFtso.json +639 -0
  661. package/songbird/artifacts/contracts/userInterfaces/IPriceSubmitter.sol/IPriceSubmitter.json +200 -0
  662. package/songbird/artifacts/contracts/userInterfaces/IVPContractEvents.sol/IVPContractEvents.json +73 -0
  663. package/songbird/artifacts/contracts/userInterfaces/IVPToken.sol/IVPToken.json +658 -0
  664. package/songbird/artifacts/contracts/userInterfaces/IVoterWhitelister.sol/IVoterWhitelister.json +199 -0
  665. package/songbird/artifacts/contracts/userInterfaces/IWNat.sol/IWNat.json +62 -0
  666. package/songbird/artifacts/contracts/utils/implementation/AddressSet.sol/AddressSet.json +10 -0
  667. package/songbird/artifacts/contracts/utils/implementation/DateTimeLibrary.sol/BokkyPooBahsDateTimeLibrary.json +154 -0
  668. package/songbird/artifacts/contracts/utils/implementation/FlareContractRegistry.sol/FlareContractRegistry.json +147 -0
  669. package/songbird/artifacts/contracts/utils/implementation/FtsoRegistry.sol/FtsoRegistry.json +769 -0
  670. package/songbird/artifacts/contracts/utils/implementation/FtsoRegistryProxy.sol/FtsoRegistryProxy.json +272 -0
  671. package/songbird/artifacts/contracts/utils/implementation/FtsoV2Upgrader.sol/FtsoV2Upgrader.json +440 -0
  672. package/songbird/artifacts/contracts/utils/implementation/GovernedAndFlareDaemonized.sol/GovernedAndFlareDaemonized.json +144 -0
  673. package/songbird/artifacts/contracts/utils/implementation/GovernedAndFlareDaemonizedV2.sol/GovernedAndFlareDaemonizedV2.json +238 -0
  674. package/songbird/artifacts/contracts/utils/implementation/ProxyGoverned.sol/ProxyGoverned.json +256 -0
  675. package/songbird/artifacts/contracts/utils/implementation/RevertErrorTracking.sol/RevertErrorTracking.json +131 -0
  676. package/songbird/artifacts/contracts/utils/implementation/SafePct.sol/SafePct.json +10 -0
  677. package/songbird/artifacts/contracts/utils/implementation/VoterWhitelister.sol/VoterWhitelister.json +653 -0
  678. package/songbird/artifacts/contracts/utils/interface/IIFtsoRegistry.sol/IIFtsoRegistry.json +477 -0
  679. package/songbird/artifacts/contracts/utils/interface/IIFtsoRegistryV1.sol/IIFtsoRegistryV1.json +120 -0
  680. package/songbird/artifacts/contracts/utils/interface/IIRandomProvider.sol/IIRandomProvider.json +60 -0
  681. package/songbird/artifacts/contracts/utils/interface/IIVoterWhitelister.sol/IIVoterWhitelister.json +308 -0
  682. package/songbird/artifacts/contracts/utils/interface/IUpdateValidators.sol/IUpdateValidators.json +18 -0
  683. package/songbird/deploys/contracts.json +202 -0
  684. package/dist/coston/abis.coston.d.ts +0 -4
  685. package/dist/coston/abis.coston.d.ts.map +0 -1
  686. package/dist/coston/abis.coston.js.map +0 -1
  687. package/dist/coston/artifacts/contracts/governance/implementation/InflationAllocation.sol/InflationAllocation.json +0 -351
  688. package/dist/coston/artifacts/contracts/inflation/interface/IIInflationPercentageProvider.sol/IIInflationPercentageProvider.json +0 -24
  689. package/dist/coston/artifacts/contracts/inflation/lib/InflationAnnum.sol/InflationAnnum.json +0 -10
  690. package/dist/coston/artifacts/contracts/inflation/lib/InflationAnnums.sol/InflationAnnums.json +0 -10
  691. package/dist/coston/artifacts/contracts/inflation/lib/RewardService.sol/RewardService.json +0 -30
  692. package/dist/coston/deploys/contractAddresses.d.ts.map +0 -1
  693. package/dist/coston/deploys/contractAddresses.js.map +0 -1
  694. package/dist/coston2/abis.coston2.d.ts +0 -4
  695. package/dist/coston2/abis.coston2.d.ts.map +0 -1
  696. package/dist/coston2/abis.coston2.js.map +0 -1
  697. package/dist/coston2/deploys/contractAddresses.d.ts.map +0 -1
  698. package/dist/coston2/deploys/contractAddresses.js.map +0 -1
  699. package/dist/flare/abis.flare.d.ts +0 -4
  700. package/dist/flare/abis.flare.d.ts.map +0 -1
  701. package/dist/flare/abis.flare.js.map +0 -1
  702. package/dist/flare/deploys/contractAddresses.d.ts.map +0 -1
  703. package/dist/flare/deploys/contractAddresses.js.map +0 -1
  704. package/dist/package.json +0 -28
  705. package/dist/songbird/abis.songbird.d.ts +0 -4
  706. package/dist/songbird/abis.songbird.d.ts.map +0 -1
  707. package/dist/songbird/abis.songbird.js.map +0 -1
  708. package/dist/songbird/deploys/contractAddresses.d.ts.map +0 -1
  709. package/dist/songbird/deploys/contractAddresses.js.map +0 -1
@@ -0,0 +1,1039 @@
1
+ {
2
+ "_format": "hh-sol-artifact-1",
3
+ "contractName": "Ftso",
4
+ "sourceName": "contracts/ftso/implementation/Ftso.sol",
5
+ "abi": [
6
+ {
7
+ "inputs": [
8
+ {
9
+ "internalType": "string",
10
+ "name": "_symbol",
11
+ "type": "string"
12
+ },
13
+ {
14
+ "internalType": "uint256",
15
+ "name": "_decimals",
16
+ "type": "uint256"
17
+ },
18
+ {
19
+ "internalType": "contract IPriceSubmitter",
20
+ "name": "_priceSubmitter",
21
+ "type": "address"
22
+ },
23
+ {
24
+ "internalType": "contract IIVPToken",
25
+ "name": "_wNat",
26
+ "type": "address"
27
+ },
28
+ {
29
+ "internalType": "address",
30
+ "name": "_ftsoManager",
31
+ "type": "address"
32
+ },
33
+ {
34
+ "internalType": "uint256",
35
+ "name": "_firstEpochStartTs",
36
+ "type": "uint256"
37
+ },
38
+ {
39
+ "internalType": "uint256",
40
+ "name": "_submitPeriodSeconds",
41
+ "type": "uint256"
42
+ },
43
+ {
44
+ "internalType": "uint256",
45
+ "name": "_revealPeriodSeconds",
46
+ "type": "uint256"
47
+ },
48
+ {
49
+ "internalType": "uint128",
50
+ "name": "_initialPriceUSD",
51
+ "type": "uint128"
52
+ },
53
+ {
54
+ "internalType": "uint256",
55
+ "name": "_priceDeviationThresholdBIPS",
56
+ "type": "uint256"
57
+ },
58
+ {
59
+ "internalType": "uint256",
60
+ "name": "_cyclicBufferSize",
61
+ "type": "uint256"
62
+ }
63
+ ],
64
+ "stateMutability": "nonpayable",
65
+ "type": "constructor"
66
+ },
67
+ {
68
+ "anonymous": false,
69
+ "inputs": [
70
+ {
71
+ "indexed": true,
72
+ "internalType": "uint256",
73
+ "name": "epochId",
74
+ "type": "uint256"
75
+ },
76
+ {
77
+ "indexed": false,
78
+ "internalType": "uint256",
79
+ "name": "natTurnout",
80
+ "type": "uint256"
81
+ },
82
+ {
83
+ "indexed": false,
84
+ "internalType": "uint256",
85
+ "name": "lowNatTurnoutThresholdBIPS",
86
+ "type": "uint256"
87
+ },
88
+ {
89
+ "indexed": false,
90
+ "internalType": "uint256",
91
+ "name": "timestamp",
92
+ "type": "uint256"
93
+ }
94
+ ],
95
+ "name": "LowTurnout",
96
+ "type": "event"
97
+ },
98
+ {
99
+ "anonymous": false,
100
+ "inputs": [
101
+ {
102
+ "indexed": true,
103
+ "internalType": "uint256",
104
+ "name": "epochId",
105
+ "type": "uint256"
106
+ },
107
+ {
108
+ "indexed": false,
109
+ "internalType": "uint256",
110
+ "name": "endTime",
111
+ "type": "uint256"
112
+ },
113
+ {
114
+ "indexed": false,
115
+ "internalType": "uint256",
116
+ "name": "timestamp",
117
+ "type": "uint256"
118
+ }
119
+ ],
120
+ "name": "PriceEpochInitializedOnFtso",
121
+ "type": "event"
122
+ },
123
+ {
124
+ "anonymous": false,
125
+ "inputs": [
126
+ {
127
+ "indexed": true,
128
+ "internalType": "uint256",
129
+ "name": "epochId",
130
+ "type": "uint256"
131
+ },
132
+ {
133
+ "indexed": false,
134
+ "internalType": "uint256",
135
+ "name": "price",
136
+ "type": "uint256"
137
+ },
138
+ {
139
+ "indexed": false,
140
+ "internalType": "bool",
141
+ "name": "rewardedFtso",
142
+ "type": "bool"
143
+ },
144
+ {
145
+ "indexed": false,
146
+ "internalType": "uint256",
147
+ "name": "lowIQRRewardPrice",
148
+ "type": "uint256"
149
+ },
150
+ {
151
+ "indexed": false,
152
+ "internalType": "uint256",
153
+ "name": "highIQRRewardPrice",
154
+ "type": "uint256"
155
+ },
156
+ {
157
+ "indexed": false,
158
+ "internalType": "uint256",
159
+ "name": "lowElasticBandRewardPrice",
160
+ "type": "uint256"
161
+ },
162
+ {
163
+ "indexed": false,
164
+ "internalType": "uint256",
165
+ "name": "highElasticBandRewardPrice",
166
+ "type": "uint256"
167
+ },
168
+ {
169
+ "indexed": false,
170
+ "internalType": "enum IFtso.PriceFinalizationType",
171
+ "name": "finalizationType",
172
+ "type": "uint8"
173
+ },
174
+ {
175
+ "indexed": false,
176
+ "internalType": "uint256",
177
+ "name": "timestamp",
178
+ "type": "uint256"
179
+ }
180
+ ],
181
+ "name": "PriceFinalized",
182
+ "type": "event"
183
+ },
184
+ {
185
+ "anonymous": false,
186
+ "inputs": [
187
+ {
188
+ "indexed": true,
189
+ "internalType": "address",
190
+ "name": "voter",
191
+ "type": "address"
192
+ },
193
+ {
194
+ "indexed": true,
195
+ "internalType": "uint256",
196
+ "name": "epochId",
197
+ "type": "uint256"
198
+ },
199
+ {
200
+ "indexed": false,
201
+ "internalType": "uint256",
202
+ "name": "price",
203
+ "type": "uint256"
204
+ },
205
+ {
206
+ "indexed": false,
207
+ "internalType": "uint256",
208
+ "name": "timestamp",
209
+ "type": "uint256"
210
+ },
211
+ {
212
+ "indexed": false,
213
+ "internalType": "uint256",
214
+ "name": "votePowerNat",
215
+ "type": "uint256"
216
+ },
217
+ {
218
+ "indexed": false,
219
+ "internalType": "uint256",
220
+ "name": "votePowerAsset",
221
+ "type": "uint256"
222
+ }
223
+ ],
224
+ "name": "PriceRevealed",
225
+ "type": "event"
226
+ },
227
+ {
228
+ "inputs": [],
229
+ "name": "ASSET_PRICE_USD_DECIMALS",
230
+ "outputs": [
231
+ {
232
+ "internalType": "uint256",
233
+ "name": "",
234
+ "type": "uint256"
235
+ }
236
+ ],
237
+ "stateMutability": "view",
238
+ "type": "function"
239
+ },
240
+ {
241
+ "inputs": [
242
+ {
243
+ "internalType": "uint256",
244
+ "name": "_firstEpochStartTs",
245
+ "type": "uint256"
246
+ },
247
+ {
248
+ "internalType": "uint256",
249
+ "name": "_submitPeriodSeconds",
250
+ "type": "uint256"
251
+ },
252
+ {
253
+ "internalType": "uint256",
254
+ "name": "_revealPeriodSeconds",
255
+ "type": "uint256"
256
+ }
257
+ ],
258
+ "name": "activateFtso",
259
+ "outputs": [],
260
+ "stateMutability": "nonpayable",
261
+ "type": "function"
262
+ },
263
+ {
264
+ "inputs": [],
265
+ "name": "active",
266
+ "outputs": [
267
+ {
268
+ "internalType": "bool",
269
+ "name": "",
270
+ "type": "bool"
271
+ }
272
+ ],
273
+ "stateMutability": "view",
274
+ "type": "function"
275
+ },
276
+ {
277
+ "inputs": [
278
+ {
279
+ "internalType": "uint256",
280
+ "name": "",
281
+ "type": "uint256"
282
+ }
283
+ ],
284
+ "name": "assetFtsos",
285
+ "outputs": [
286
+ {
287
+ "internalType": "contract IIFtso",
288
+ "name": "",
289
+ "type": "address"
290
+ }
291
+ ],
292
+ "stateMutability": "view",
293
+ "type": "function"
294
+ },
295
+ {
296
+ "inputs": [
297
+ {
298
+ "internalType": "uint256",
299
+ "name": "",
300
+ "type": "uint256"
301
+ }
302
+ ],
303
+ "name": "assets",
304
+ "outputs": [
305
+ {
306
+ "internalType": "contract IIVPToken",
307
+ "name": "",
308
+ "type": "address"
309
+ }
310
+ ],
311
+ "stateMutability": "view",
312
+ "type": "function"
313
+ },
314
+ {
315
+ "inputs": [
316
+ {
317
+ "internalType": "uint256",
318
+ "name": "_maxVotePowerNatThresholdFraction",
319
+ "type": "uint256"
320
+ },
321
+ {
322
+ "internalType": "uint256",
323
+ "name": "_maxVotePowerAssetThresholdFraction",
324
+ "type": "uint256"
325
+ },
326
+ {
327
+ "internalType": "uint256",
328
+ "name": "_lowAssetUSDThreshold",
329
+ "type": "uint256"
330
+ },
331
+ {
332
+ "internalType": "uint256",
333
+ "name": "_highAssetUSDThreshold",
334
+ "type": "uint256"
335
+ },
336
+ {
337
+ "internalType": "uint256",
338
+ "name": "_highAssetTurnoutThresholdBIPS",
339
+ "type": "uint256"
340
+ },
341
+ {
342
+ "internalType": "uint256",
343
+ "name": "_lowNatTurnoutThresholdBIPS",
344
+ "type": "uint256"
345
+ },
346
+ {
347
+ "internalType": "uint256",
348
+ "name": "_elasticBandRewardBIPS",
349
+ "type": "uint256"
350
+ },
351
+ {
352
+ "internalType": "uint256",
353
+ "name": "_elasticBandWidthPPM",
354
+ "type": "uint256"
355
+ },
356
+ {
357
+ "internalType": "address[]",
358
+ "name": "_trustedAddresses",
359
+ "type": "address[]"
360
+ }
361
+ ],
362
+ "name": "configureEpochs",
363
+ "outputs": [],
364
+ "stateMutability": "nonpayable",
365
+ "type": "function"
366
+ },
367
+ {
368
+ "inputs": [],
369
+ "name": "deactivateFtso",
370
+ "outputs": [],
371
+ "stateMutability": "nonpayable",
372
+ "type": "function"
373
+ },
374
+ {
375
+ "inputs": [],
376
+ "name": "epochsConfiguration",
377
+ "outputs": [
378
+ {
379
+ "internalType": "uint256",
380
+ "name": "_maxVotePowerNatThresholdFraction",
381
+ "type": "uint256"
382
+ },
383
+ {
384
+ "internalType": "uint256",
385
+ "name": "_maxVotePowerAssetThresholdFraction",
386
+ "type": "uint256"
387
+ },
388
+ {
389
+ "internalType": "uint256",
390
+ "name": "_lowAssetUSDThreshold",
391
+ "type": "uint256"
392
+ },
393
+ {
394
+ "internalType": "uint256",
395
+ "name": "_highAssetUSDThreshold",
396
+ "type": "uint256"
397
+ },
398
+ {
399
+ "internalType": "uint256",
400
+ "name": "_highAssetTurnoutThresholdBIPS",
401
+ "type": "uint256"
402
+ },
403
+ {
404
+ "internalType": "uint256",
405
+ "name": "_lowNatTurnoutThresholdBIPS",
406
+ "type": "uint256"
407
+ },
408
+ {
409
+ "internalType": "uint256",
410
+ "name": "_elasticBandRewardBIPS",
411
+ "type": "uint256"
412
+ },
413
+ {
414
+ "internalType": "uint256",
415
+ "name": "_elasticBandWidthPPM",
416
+ "type": "uint256"
417
+ },
418
+ {
419
+ "internalType": "address[]",
420
+ "name": "_trustedAddresses",
421
+ "type": "address[]"
422
+ }
423
+ ],
424
+ "stateMutability": "view",
425
+ "type": "function"
426
+ },
427
+ {
428
+ "inputs": [
429
+ {
430
+ "internalType": "uint256",
431
+ "name": "_epochId",
432
+ "type": "uint256"
433
+ }
434
+ ],
435
+ "name": "fallbackFinalizePriceEpoch",
436
+ "outputs": [],
437
+ "stateMutability": "nonpayable",
438
+ "type": "function"
439
+ },
440
+ {
441
+ "inputs": [
442
+ {
443
+ "internalType": "uint256",
444
+ "name": "_epochId",
445
+ "type": "uint256"
446
+ },
447
+ {
448
+ "internalType": "bool",
449
+ "name": "_returnRewardData",
450
+ "type": "bool"
451
+ }
452
+ ],
453
+ "name": "finalizePriceEpoch",
454
+ "outputs": [
455
+ {
456
+ "internalType": "address[]",
457
+ "name": "_eligibleAddresses",
458
+ "type": "address[]"
459
+ },
460
+ {
461
+ "internalType": "uint256[]",
462
+ "name": "_natWeights",
463
+ "type": "uint256[]"
464
+ },
465
+ {
466
+ "internalType": "uint256",
467
+ "name": "_natWeightsSum",
468
+ "type": "uint256"
469
+ }
470
+ ],
471
+ "stateMutability": "nonpayable",
472
+ "type": "function"
473
+ },
474
+ {
475
+ "inputs": [
476
+ {
477
+ "internalType": "uint256",
478
+ "name": "_epochId",
479
+ "type": "uint256"
480
+ }
481
+ ],
482
+ "name": "forceFinalizePriceEpoch",
483
+ "outputs": [],
484
+ "stateMutability": "nonpayable",
485
+ "type": "function"
486
+ },
487
+ {
488
+ "inputs": [],
489
+ "name": "ftsoManager",
490
+ "outputs": [
491
+ {
492
+ "internalType": "address",
493
+ "name": "",
494
+ "type": "address"
495
+ }
496
+ ],
497
+ "stateMutability": "view",
498
+ "type": "function"
499
+ },
500
+ {
501
+ "inputs": [],
502
+ "name": "getAsset",
503
+ "outputs": [
504
+ {
505
+ "internalType": "contract IIVPToken",
506
+ "name": "",
507
+ "type": "address"
508
+ }
509
+ ],
510
+ "stateMutability": "view",
511
+ "type": "function"
512
+ },
513
+ {
514
+ "inputs": [],
515
+ "name": "getAssetFtsos",
516
+ "outputs": [
517
+ {
518
+ "internalType": "contract IIFtso[]",
519
+ "name": "",
520
+ "type": "address[]"
521
+ }
522
+ ],
523
+ "stateMutability": "view",
524
+ "type": "function"
525
+ },
526
+ {
527
+ "inputs": [],
528
+ "name": "getCurrentEpochId",
529
+ "outputs": [
530
+ {
531
+ "internalType": "uint256",
532
+ "name": "",
533
+ "type": "uint256"
534
+ }
535
+ ],
536
+ "stateMutability": "view",
537
+ "type": "function"
538
+ },
539
+ {
540
+ "inputs": [],
541
+ "name": "getCurrentPrice",
542
+ "outputs": [
543
+ {
544
+ "internalType": "uint256",
545
+ "name": "_price",
546
+ "type": "uint256"
547
+ },
548
+ {
549
+ "internalType": "uint256",
550
+ "name": "_timestamp",
551
+ "type": "uint256"
552
+ }
553
+ ],
554
+ "stateMutability": "view",
555
+ "type": "function"
556
+ },
557
+ {
558
+ "inputs": [],
559
+ "name": "getCurrentPriceDetails",
560
+ "outputs": [
561
+ {
562
+ "internalType": "uint256",
563
+ "name": "_price",
564
+ "type": "uint256"
565
+ },
566
+ {
567
+ "internalType": "uint256",
568
+ "name": "_priceTimestamp",
569
+ "type": "uint256"
570
+ },
571
+ {
572
+ "internalType": "enum IFtso.PriceFinalizationType",
573
+ "name": "_priceFinalizationType",
574
+ "type": "uint8"
575
+ },
576
+ {
577
+ "internalType": "uint256",
578
+ "name": "_lastPriceEpochFinalizationTimestamp",
579
+ "type": "uint256"
580
+ },
581
+ {
582
+ "internalType": "enum IFtso.PriceFinalizationType",
583
+ "name": "_lastPriceEpochFinalizationType",
584
+ "type": "uint8"
585
+ }
586
+ ],
587
+ "stateMutability": "view",
588
+ "type": "function"
589
+ },
590
+ {
591
+ "inputs": [],
592
+ "name": "getCurrentPriceFromTrustedProviders",
593
+ "outputs": [
594
+ {
595
+ "internalType": "uint256",
596
+ "name": "_price",
597
+ "type": "uint256"
598
+ },
599
+ {
600
+ "internalType": "uint256",
601
+ "name": "_timestamp",
602
+ "type": "uint256"
603
+ }
604
+ ],
605
+ "stateMutability": "view",
606
+ "type": "function"
607
+ },
608
+ {
609
+ "inputs": [],
610
+ "name": "getCurrentPriceWithDecimals",
611
+ "outputs": [
612
+ {
613
+ "internalType": "uint256",
614
+ "name": "_price",
615
+ "type": "uint256"
616
+ },
617
+ {
618
+ "internalType": "uint256",
619
+ "name": "_timestamp",
620
+ "type": "uint256"
621
+ },
622
+ {
623
+ "internalType": "uint256",
624
+ "name": "_assetPriceUsdDecimals",
625
+ "type": "uint256"
626
+ }
627
+ ],
628
+ "stateMutability": "view",
629
+ "type": "function"
630
+ },
631
+ {
632
+ "inputs": [],
633
+ "name": "getCurrentPriceWithDecimalsFromTrustedProviders",
634
+ "outputs": [
635
+ {
636
+ "internalType": "uint256",
637
+ "name": "_price",
638
+ "type": "uint256"
639
+ },
640
+ {
641
+ "internalType": "uint256",
642
+ "name": "_timestamp",
643
+ "type": "uint256"
644
+ },
645
+ {
646
+ "internalType": "uint256",
647
+ "name": "_assetPriceUsdDecimals",
648
+ "type": "uint256"
649
+ }
650
+ ],
651
+ "stateMutability": "view",
652
+ "type": "function"
653
+ },
654
+ {
655
+ "inputs": [],
656
+ "name": "getCurrentRandom",
657
+ "outputs": [
658
+ {
659
+ "internalType": "uint256",
660
+ "name": "",
661
+ "type": "uint256"
662
+ }
663
+ ],
664
+ "stateMutability": "view",
665
+ "type": "function"
666
+ },
667
+ {
668
+ "inputs": [
669
+ {
670
+ "internalType": "uint256",
671
+ "name": "_timestamp",
672
+ "type": "uint256"
673
+ }
674
+ ],
675
+ "name": "getEpochId",
676
+ "outputs": [
677
+ {
678
+ "internalType": "uint256",
679
+ "name": "",
680
+ "type": "uint256"
681
+ }
682
+ ],
683
+ "stateMutability": "view",
684
+ "type": "function"
685
+ },
686
+ {
687
+ "inputs": [
688
+ {
689
+ "internalType": "uint256",
690
+ "name": "_epochId",
691
+ "type": "uint256"
692
+ }
693
+ ],
694
+ "name": "getEpochPrice",
695
+ "outputs": [
696
+ {
697
+ "internalType": "uint256",
698
+ "name": "",
699
+ "type": "uint256"
700
+ }
701
+ ],
702
+ "stateMutability": "view",
703
+ "type": "function"
704
+ },
705
+ {
706
+ "inputs": [
707
+ {
708
+ "internalType": "uint256",
709
+ "name": "_epochId",
710
+ "type": "uint256"
711
+ },
712
+ {
713
+ "internalType": "address",
714
+ "name": "_voter",
715
+ "type": "address"
716
+ }
717
+ ],
718
+ "name": "getEpochPriceForVoter",
719
+ "outputs": [
720
+ {
721
+ "internalType": "uint256",
722
+ "name": "",
723
+ "type": "uint256"
724
+ }
725
+ ],
726
+ "stateMutability": "view",
727
+ "type": "function"
728
+ },
729
+ {
730
+ "inputs": [],
731
+ "name": "getPriceEpochConfiguration",
732
+ "outputs": [
733
+ {
734
+ "internalType": "uint256",
735
+ "name": "_firstEpochStartTs",
736
+ "type": "uint256"
737
+ },
738
+ {
739
+ "internalType": "uint256",
740
+ "name": "_submitPeriodSeconds",
741
+ "type": "uint256"
742
+ },
743
+ {
744
+ "internalType": "uint256",
745
+ "name": "_revealPeriodSeconds",
746
+ "type": "uint256"
747
+ }
748
+ ],
749
+ "stateMutability": "view",
750
+ "type": "function"
751
+ },
752
+ {
753
+ "inputs": [],
754
+ "name": "getPriceEpochData",
755
+ "outputs": [
756
+ {
757
+ "internalType": "uint256",
758
+ "name": "_epochId",
759
+ "type": "uint256"
760
+ },
761
+ {
762
+ "internalType": "uint256",
763
+ "name": "_epochSubmitEndTime",
764
+ "type": "uint256"
765
+ },
766
+ {
767
+ "internalType": "uint256",
768
+ "name": "_epochRevealEndTime",
769
+ "type": "uint256"
770
+ },
771
+ {
772
+ "internalType": "uint256",
773
+ "name": "_votePowerBlock",
774
+ "type": "uint256"
775
+ },
776
+ {
777
+ "internalType": "bool",
778
+ "name": "_fallbackMode",
779
+ "type": "bool"
780
+ }
781
+ ],
782
+ "stateMutability": "view",
783
+ "type": "function"
784
+ },
785
+ {
786
+ "inputs": [
787
+ {
788
+ "internalType": "uint256",
789
+ "name": "_epochId",
790
+ "type": "uint256"
791
+ }
792
+ ],
793
+ "name": "getRandom",
794
+ "outputs": [
795
+ {
796
+ "internalType": "uint256",
797
+ "name": "",
798
+ "type": "uint256"
799
+ }
800
+ ],
801
+ "stateMutability": "view",
802
+ "type": "function"
803
+ },
804
+ {
805
+ "inputs": [],
806
+ "name": "getVoteWeightingParameters",
807
+ "outputs": [
808
+ {
809
+ "internalType": "contract IIVPToken[]",
810
+ "name": "_assets",
811
+ "type": "address[]"
812
+ },
813
+ {
814
+ "internalType": "uint256[]",
815
+ "name": "_assetMultipliers",
816
+ "type": "uint256[]"
817
+ },
818
+ {
819
+ "internalType": "uint256",
820
+ "name": "_totalVotePowerNat",
821
+ "type": "uint256"
822
+ },
823
+ {
824
+ "internalType": "uint256",
825
+ "name": "_totalVotePowerAsset",
826
+ "type": "uint256"
827
+ },
828
+ {
829
+ "internalType": "uint256",
830
+ "name": "_assetWeightRatio",
831
+ "type": "uint256"
832
+ },
833
+ {
834
+ "internalType": "uint256",
835
+ "name": "_votePowerBlock",
836
+ "type": "uint256"
837
+ }
838
+ ],
839
+ "stateMutability": "view",
840
+ "type": "function"
841
+ },
842
+ {
843
+ "inputs": [
844
+ {
845
+ "internalType": "uint256",
846
+ "name": "_circulatingSupplyNat",
847
+ "type": "uint256"
848
+ },
849
+ {
850
+ "internalType": "bool",
851
+ "name": "_fallbackMode",
852
+ "type": "bool"
853
+ }
854
+ ],
855
+ "name": "initializeCurrentEpochStateForReveal",
856
+ "outputs": [],
857
+ "stateMutability": "nonpayable",
858
+ "type": "function"
859
+ },
860
+ {
861
+ "inputs": [],
862
+ "name": "priceDeviationThresholdBIPS",
863
+ "outputs": [
864
+ {
865
+ "internalType": "uint256",
866
+ "name": "",
867
+ "type": "uint256"
868
+ }
869
+ ],
870
+ "stateMutability": "view",
871
+ "type": "function"
872
+ },
873
+ {
874
+ "inputs": [],
875
+ "name": "priceEpochCyclicBufferSize",
876
+ "outputs": [
877
+ {
878
+ "internalType": "uint256",
879
+ "name": "",
880
+ "type": "uint256"
881
+ }
882
+ ],
883
+ "stateMutability": "view",
884
+ "type": "function"
885
+ },
886
+ {
887
+ "inputs": [],
888
+ "name": "priceSubmitter",
889
+ "outputs": [
890
+ {
891
+ "internalType": "contract IPriceSubmitter",
892
+ "name": "",
893
+ "type": "address"
894
+ }
895
+ ],
896
+ "stateMutability": "view",
897
+ "type": "function"
898
+ },
899
+ {
900
+ "inputs": [
901
+ {
902
+ "internalType": "address",
903
+ "name": "_voter",
904
+ "type": "address"
905
+ },
906
+ {
907
+ "internalType": "uint256",
908
+ "name": "_epochId",
909
+ "type": "uint256"
910
+ },
911
+ {
912
+ "internalType": "uint256",
913
+ "name": "_price",
914
+ "type": "uint256"
915
+ },
916
+ {
917
+ "internalType": "uint256",
918
+ "name": "_voterWNatVP",
919
+ "type": "uint256"
920
+ }
921
+ ],
922
+ "name": "revealPriceSubmitter",
923
+ "outputs": [],
924
+ "stateMutability": "nonpayable",
925
+ "type": "function"
926
+ },
927
+ {
928
+ "inputs": [
929
+ {
930
+ "internalType": "contract IIVPToken",
931
+ "name": "_asset",
932
+ "type": "address"
933
+ }
934
+ ],
935
+ "name": "setAsset",
936
+ "outputs": [],
937
+ "stateMutability": "nonpayable",
938
+ "type": "function"
939
+ },
940
+ {
941
+ "inputs": [
942
+ {
943
+ "internalType": "contract IIFtso[]",
944
+ "name": "_assetFtsos",
945
+ "type": "address[]"
946
+ }
947
+ ],
948
+ "name": "setAssetFtsos",
949
+ "outputs": [],
950
+ "stateMutability": "nonpayable",
951
+ "type": "function"
952
+ },
953
+ {
954
+ "inputs": [
955
+ {
956
+ "internalType": "uint256",
957
+ "name": "_votePowerBlock",
958
+ "type": "uint256"
959
+ }
960
+ ],
961
+ "name": "setVotePowerBlock",
962
+ "outputs": [],
963
+ "stateMutability": "nonpayable",
964
+ "type": "function"
965
+ },
966
+ {
967
+ "inputs": [],
968
+ "name": "symbol",
969
+ "outputs": [
970
+ {
971
+ "internalType": "string",
972
+ "name": "",
973
+ "type": "string"
974
+ }
975
+ ],
976
+ "stateMutability": "view",
977
+ "type": "function"
978
+ },
979
+ {
980
+ "inputs": [
981
+ {
982
+ "internalType": "uint256",
983
+ "name": "_initialPriceUSD",
984
+ "type": "uint256"
985
+ },
986
+ {
987
+ "internalType": "uint256",
988
+ "name": "_initialPriceTimestamp",
989
+ "type": "uint256"
990
+ }
991
+ ],
992
+ "name": "updateInitialPrice",
993
+ "outputs": [],
994
+ "stateMutability": "nonpayable",
995
+ "type": "function"
996
+ },
997
+ {
998
+ "inputs": [],
999
+ "name": "wNat",
1000
+ "outputs": [
1001
+ {
1002
+ "internalType": "contract IIVPToken",
1003
+ "name": "",
1004
+ "type": "address"
1005
+ }
1006
+ ],
1007
+ "stateMutability": "view",
1008
+ "type": "function"
1009
+ },
1010
+ {
1011
+ "inputs": [
1012
+ {
1013
+ "internalType": "address",
1014
+ "name": "_owner",
1015
+ "type": "address"
1016
+ },
1017
+ {
1018
+ "internalType": "uint256",
1019
+ "name": "_epochId",
1020
+ "type": "uint256"
1021
+ }
1022
+ ],
1023
+ "name": "wNatVotePowerCached",
1024
+ "outputs": [
1025
+ {
1026
+ "internalType": "uint256",
1027
+ "name": "",
1028
+ "type": "uint256"
1029
+ }
1030
+ ],
1031
+ "stateMutability": "nonpayable",
1032
+ "type": "function"
1033
+ }
1034
+ ],
1035
+ "bytecode": "0x6101a06040523480156200001257600080fd5b506040516200589b3803806200589b83398181016040526101608110156200003957600080fd5b81019080805160405193929190846401000000008211156200005a57600080fd5b9083019060208201858111156200007057600080fd5b82516401000000008111828201881017156200008b57600080fd5b82525081516020918201929091019080838360005b83811015620000ba578181015183820152602001620000a0565b50505050905090810190601f168015620000e85780820380516001836020036101000a031916815260200191505b506040908152602082810151918301516060840151608085015160a086015160c087015160e08801516101008901516101208a0151610140909a01518d51999c50969a5094989397929691959094939290916200014b916001918e0190620001c9565b5060c0999099526001600160601b0319606098891b81166101805296881b8716610140529490961b9094166101605260e091909152610100526101209190915260028054426001600160801b03908116600160801b029481166001600160801b031990921691909117169290921790915560805260a0525062000275565b828054600181600116156101000203166002900490600052602060002090601f0160209004810192826200020157600085556200024c565b82601f106200021c57805160ff19168380011785556200024c565b828001600101855582156200024c579182015b828111156200024c5782518255916020019190600101906200022f565b506200025a9291506200025e565b5090565b5b808211156200025a57600081556001016200025f565b60805160a05160c05160e05161010051610120516101405160601c6101605160601c6101805160601c6155066200039560003980611cdd52806123445280612fe7525080610a8a5280610ab75280610cdb5280610fcc528061111a52806114f6528061158252806115c65280611c1e5280611dba528061204f5280612104525080611acf5280611c7852806122175280612300525080610be55280610f425280611fbc52806142f65280614ac0525080610bc45280610e9f52806134fd5280613edf525080610ba35280610dfc52806134cd528061351e5280613eba5250806110e6528061179652806117bc5250806112815280611fe652806120d7528061214452806135bf5280613cce5250806112565280611d7252506155066000f3fe608060405234801561001057600080fd5b50600436106102485760003560e01c806395d89b411161013b578063d0d552dd116100b8578063eb91d37e1161007c578063eb91d37e146109d7578063f025bf66146109df578063f670ebe3146109e7578063f72cab2814610a0c578063f937d6ad14610a3857610248565b8063d0d552dd146108c3578063d89601fd146108e9578063e3749e0c146108f1578063e3b3a3b314610985578063e536f396146109ba57610248565b8063c1f6c36e116100ff578063c1f6c36e1461081d578063c5d8b9e714610855578063cc245ab514610881578063cd4b691414610889578063cf35bdd0146108a657610248565b806395d89b4114610752578063974d7a6b146107cf5780639edbf007146107ec578063a29a839f146107f4578063af52df08146107fc57610248565b80634afd5102116101c957806365f5cd861161018d57806365f5cd861461064b5780636b52b242146106535780637d1d6f121461065b578063826cc76b146106785780638357d08c1461069557610248565b80634afd5102146105195780635303548b14610536578063555989da146105655780635a3c9d8e1461056d5780635c222bad1461064357610248565b806318931c351161021057806318931c35146103a85780632f0a6f3c14610400578063306ba253146104295780633cacb3ae1461044c57806340462a2d1461045457610248565b806302fb0c5e1461024d578063040d73b81461026957806311a7aaaa146102b9578063131fdee2146102dd578063144e159114610382575b600080fd5b610255610a40565b604080519115158252519081900360200190f35b610271610a49565b6040518086815260200185815260200184600581111561028d57fe5b81526020018381526020018260058111156102a457fe5b81526020019550505050505060405180910390f35b6102c1610a88565b604080516001600160a01b039092168252519081900360200190f35b610380600480360360208110156102f357600080fd5b81019060208101813564010000000081111561030e57600080fd5b82018360208201111561032057600080fd5b8035906020019184602083028401116401000000008311171561034257600080fd5b919080806020026020016040519081016040528093929190818152602001838360200280828437600092019190915250929550610aac945050505050565b005b61038a610ba1565b60408051938452602084019290925282820152519081900360600190f35b6103b0610c09565b60408051602080825283518183015283519192839290830191858101910280838360005b838110156103ec5781810151838201526020016103d4565b505050509050019250505060405180910390f35b6103806004803603606081101561041657600080fd5b5080359060208101359060400135610cd0565b6103806004803603604081101561043f57600080fd5b5080359060200135610fc1565b61038a6110cd565b6104796004803603604081101561046a57600080fd5b5080359060200135151561110a565b604051808060200180602001848152602001838103835286818151815260200191508051906020019060200280838360005b838110156104c35781810151838201526020016104ab565b50505050905001838103825285818151815260200191508051906020019060200280838360005b838110156105025781810151838201526020016104ea565b505050509050019550505050505060405180910390f35b6103806004803603602081101561052f57600080fd5b50356114eb565b6105536004803603602081101561054c57600080fd5b5035611552565b60408051918252519081900360200190f35b610380611565565b610380600480360361012081101561058457600080fd5b81359160208101359160408201359160608101359160808201359160a08101359160c08201359160e08101359181019061012081016101008201356401000000008111156105d157600080fd5b8201836020820111156105e357600080fd5b8035906020019184602083028401116401000000008311171561060557600080fd5b9190808060200260200160405190810160405280939291908181526020018383602002808284376000920191909152509295506115bb945050505050565b6102c16116fd565b61038a61177d565b6105536117ba565b6105536004803603602081101561067157600080fd5b50356117de565b6102c16004803603602081101561068e57600080fd5b50356117f3565b61069d61181d565b604051808060200180602001878152602001868152602001858152602001848152602001838103835289818151815260200191508051906020019060200280838360005b838110156106f95781810151838201526020016106e1565b50505050905001838103825288818151815260200191508051906020019060200280838360005b83811015610738578181015183820152602001610720565b505050509050019850505050505050505060405180910390f35b61075a611b86565b6040805160208082528351818301528351919283929083019185019080838360005b8381101561079457818101518382015260200161077c565b50505050905090810190601f1680156107c15780820380516001836020036101000a031916815260200191505b509250505060405180910390f35b610380600480360360208110156107e557600080fd5b5035611c13565b6102c1611c76565b610553611c9a565b610804611ca5565b6040805192835260208301919091528051918290030190f35b6103806004803603608081101561083357600080fd5b506001600160a01b038135169060208101359060408101359060600135611cc0565b6105536004803603604081101561086b57600080fd5b50803590602001356001600160a01b0316611d1c565b610553611d70565b6105536004803603602081101561089f57600080fd5b5035611d94565b6102c1600480360360208110156108bc57600080fd5b5035611d9f565b610380600480360360208110156108d957600080fd5b50356001600160a01b0316611daf565b610553611eb4565b6108f9611ee2565b604051808a815260200189815260200188815260200187815260200186815260200185815260200184815260200183815260200180602001828103825283818151815260200191508051906020019060200280838360005b83811015610969578181015183820152602001610951565b505050509050019a505050505050505050505060405180910390f35b61098d611f9d565b60408051958652602086019490945284840192909252606084015215156080830152519081900360a00190f35b610380600480360360208110156109d057600080fd5b5035612044565b6108046120ba565b6105536120d5565b610380600480360360408110156109fd57600080fd5b508035906020013515156120f9565b61055360048036036040811015610a2257600080fd5b506001600160a01b0381351690602001356122f9565b6102c1612342565b60005460ff1681565b6002546004546001600160801b0380831693600160801b909304169160ff8083169261010081046001600160f01b031692600160f81b90910490911690565b7f000000000000000000000000000000000000000000000000000000000000000081565b336001600160a01b037f00000000000000000000000000000000000000000000000000000000000000001614610ae457610ae4612366565b6000815111610aef57fe5b600181511180610b255750306001600160a01b031681600081518110610b1157fe5b60200260200101516001600160a01b031614155b610b2b57fe5b8051610b3e906013906020840190615281565b5080516001600160401b0381118015610b5657600080fd5b50604051908082528060200260200182016040528015610b80578160200160208202803683370190505b508051610b9591601291602090910190615281565b50610b9e6123ce565b50565b7f00000000000000000000000000000000000000000000000000000000000000007f00000000000000000000000000000000000000000000000000000000000000007f0000000000000000000000000000000000000000000000000000000000000000909192565b6012546060906001148015610c2057506013546001145b8015610c565750306001600160a01b03166013600081548110610c3f57fe5b6000918252602090912001546001600160a01b0316145b610cba576013805480602002602001604051908101604052809291908181526020018280548015610cb057602002820191906000526020600020905b81546001600160a01b03168152600190910190602001808311610c92575b5050505050610cca565b6040805160008152602081019091525b90505b90565b336001600160a01b037f00000000000000000000000000000000000000000000000000000000000000001614610d0857610d08612366565b600054604080518082019091526016815275119514d3c8185b1c9958591e481858dd1a5d985d195960521b60208201529060ff1615610dc55760405162461bcd60e51b81526004018080602001828103825283818151815260200191508051906020019080838360005b83811015610d8a578181015183820152602001610d72565b50505050905090810190601f168015610db75780820380516001836020036101000a031916815260200191505b509250505060405180910390fd5b5060408051808201909152601e81527f496e76616c69642070726963652065706f636820706172616d6574657273000060208201527f00000000000000000000000000000000000000000000000000000000000000008414610e685760405162461bcd60e51b8152602060048201818152835160248401528351909283926044909101919085019080838360008315610d8a578181015183820152602001610d72565b5060408051808201909152601e81527f496e76616c69642070726963652065706f636820706172616d6574657273000060208201527f00000000000000000000000000000000000000000000000000000000000000008314610f0b5760405162461bcd60e51b8152602060048201818152835160248401528351909283926044909101919085019080838360008315610d8a578181015183820152602001610d72565b5060408051808201909152601e81527f496e76616c69642070726963652065706f636820706172616d6574657273000060208201527f00000000000000000000000000000000000000000000000000000000000000008214610fae5760405162461bcd60e51b8152602060048201818152835160248401528351909283926044909101919085019080838360008315610d8a578181015183820152602001610d72565b50506000805460ff191660011790555050565b336001600160a01b037f00000000000000000000000000000000000000000000000000000000000000001614610ff957610ff9612366565b600054604080518082019091526016815275119514d3c8185b1c9958591e481858dd1a5d985d195960521b60208201529060ff16156110795760405162461bcd60e51b8152602060048201818152835160248401528351909283926044909101919085019080838360008315610d8a578181015183820152602001610d72565b50611083826125aa565b600280546001600160801b0319166001600160801b03929092169190911790556110ac816125aa565b600280546001600160801b03928316600160801b0292169190911790555050565b6003546001600160801b0380821691600160801b9004167f0000000000000000000000000000000000000000000000000000000000000000909192565b6060806000336001600160a01b037f0000000000000000000000000000000000000000000000000000000000000000161461114757611147612366565b6000611152866125f2565b60018101805460ff60f01b1916905560058101549091506000901561118a5781600501546127108360080154028161118657fe5b0490505b6001820154600160f81b900460ff16806111a8575081600401548111155b1561121b576001820154600160f81b900460ff1661120857600482015460408051838152602081019290925242828201525188917fbece8aa526cdc5e528cdaa56c1d03edc19da51e41845aa146f64a7071f74c65a919081900360600190a25b6112148783600061272c565b50506114e4565b60608060606112298561295e565b91945092509050606061123a6152e2565b61124985858960120154612af3565b61012081015191935091507f0000000000000000000000000000000000000000000000000000000000000000906112a5906005908f907f0000000000000000000000000000000000000000000000000000000000000000612e33565b11156112c3576112b78c88600061272c565b505050505050506114e4565b60108701805460ff199081166001908117909255610120830151600f8a01819055600280546001600160801b0319166001600160801b03928316178216600160801b429384160217905560048054600160f81b6001600160f81b036001600160f01b0390941661010002610100600160f81b031992909516909517169290921716919091179055600e870154156113e0576113af87600e018054806020026020016040519081016040528092919081815260200182805480156113a557602002820191906000526020600020905b815481526020019060010190808311611391575b5050505050612ebf565b60038054426001600160801b03908116600160801b029381166001600160801b031990921691909117169190911790555b60008b156114185760006113f38e612fe3565b90506114028984838a896130a3565b8251929e50909c509a501561141657600191505b505b6114248d838584611d16565b8c7f1856740832ecbdceafeb109e01b188b9c0499df6a33dc8129aa0dd8f9d9a9db089600f015483856101400151866101600151876101800151886101a001518f60100160009054906101000a900460ff16426040518089815260200188151581526020018781526020018681526020018581526020018481526020018360058111156114ad57fe5b81526020018281526020019850505050505050505060405180910390a2505050600190940180546001600160f81b03169055505050505b9250925092565b336001600160a01b037f0000000000000000000000000000000000000000000000000000000000000000161461152357611523612366565b600061152e826125f2565b6001808201805460ff60f01b1916905590915061154e908390839061272c565b5050565b600061155d826134c9565b90505b919050565b60005460ff166115775761157761354e565b336001600160a01b037f000000000000000000000000000000000000000000000000000000000000000016146115af576115af612366565b6000805460ff19169055565b336001600160a01b037f000000000000000000000000000000000000000000000000000000000000000016146115f3576115f3612366565b60088990556009889055600a879055600b869055600c859055600d84905560108390556011829055600e5460005b8181101561167e5760006005600a0160006005600901848154811061164257fe5b6000918252602080832091909101546001600160a01b031683528201929092526040019020805460ff1916911515919091179055600101611621565b5050805160005b818110156116dc5760016005600a0160008584815181106116a257fe5b6020908102919091018101516001600160a01b03168252810191909152604001600020805460ff1916911515919091179055600101611685565b5081516116f090600e906020850190615281565b5050505050505050505050565b601254600090600114801561171457506013546001145b801561174a5750306001600160a01b0316601360008154811061173357fe5b6000918252602090912001546001600160a01b0316145b611755576000610cca565b601260008154811061176357fe5b6000918252602090912001546001600160a01b0316905090565b6002546001600160801b0380821691600160801b9004167f0000000000000000000000000000000000000000000000000000000000000000909192565b7f000000000000000000000000000000000000000000000000000000000000000081565b60006117e9826135b8565b600f015492915050565b6013818154811061180357600080fd5b6000918252602090912001546001600160a01b0316905081565b606080600080600080601280548060200260200160405190810160405280929190818152602001828054801561187c57602002820191906000526020600020905b81546001600160a01b0316815260019091019060200180831161185e575b50506007548451949a506001600160f01b031694506000939250506001600160401b038211905080156118ae57600080fd5b506040519080825280602002602001820160405280156118d8578160200160208202803683370190505b509050600087516001600160401b03811180156118f457600080fd5b5060405190808252806020026020018201604052801561191e578160200160208202803683370190505b50905060005b8851811015611aad5760006001600160a01b031689828151811061194457fe5b60200260200101516001600160a01b031614156119625760006119e6565b88818151811061196e57fe5b60200260200101516001600160a01b0316633e5aa26a856040518263ffffffff1660e01b81526004018082815260200191505060206040518083038186803b1580156119b957600080fd5b505afa1580156119cd573d6000803e3d6000fd5b505050506040513d60208110156119e357600080fd5b50515b8382815181106119f257fe5b60200260200101818152505060138181548110611a0b57fe5b9060005260206000200160009054906101000a90046001600160a01b03166001600160a01b031663eb91d37e6040518163ffffffff1660e01b8152600401604080518083038186803b158015611a6057600080fd5b505afa158015611a74573d6000803e3d6000fd5b505050506040513d6040811015611a8a57600080fd5b50518251839083908110611a9a57fe5b6020908102919091010152600101611924565b506000611abd60058a8585613680565b9050611acb60058a83613826565b97507f00000000000000000000000000000000000000000000000000000000000000006001600160a01b0316633e5aa26a856040518263ffffffff1660e01b81526004018082815260200191505060206040518083038186803b158015611b3157600080fd5b505afa158015611b45573d6000803e3d6000fd5b505050506040513d6020811015611b5b57600080fd5b50519650611b6c60058a858461395a565b9550611b79600587613a22565b9450505050909192939495565b60018054604080516020600284861615610100026000190190941693909304601f81018490048402820184019092528181529291830182828015611c0b5780601f10611be057610100808354040283529160200191611c0b565b820191906000526020600020905b815481529060010190602001808311611bee57829003601f168201915b505050505081565b336001600160a01b037f00000000000000000000000000000000000000000000000000000000000000001614611c4b57611c4b612366565b6000611c56826125f2565b6001808201805460ff60f01b1916905590915061154e9083908390613a77565b7f000000000000000000000000000000000000000000000000000000000000000081565b6000610cca426134c9565b6003546001600160801b0380821691600160801b9004169091565b60005460ff16611cd257611cd261354e565b336001600160a01b037f00000000000000000000000000000000000000000000000000000000000000001614611d0a57611d0a612366565b611d1684848484613bc3565b50505050565b600080611d28846135b8565b90506000611d368285613e60565b905080611d4857600092505050611d6a565b600019016000908152600d90910160205260409020546001600160801b031690505b92915050565b7f000000000000000000000000000000000000000000000000000000000000000081565b600061155d82612fe3565b6012818154811061180357600080fd5b336001600160a01b037f00000000000000000000000000000000000000000000000000000000000000001614611de757611de7612366565b6040805160208101909152308152611e03906013906001615281565b5060408051602081019091526001600160a01b0382168152611e29906012906001615281565b50806001600160a01b031663313ce5676040518163ffffffff1660e01b815260040160206040518083038186803b158015611e6357600080fd5b505afa158015611e77573d6000803e3d6000fd5b505050506040513d6020811015611e8d57600080fd5b50516001600160a01b03909116600090815260066020526040902060ff909116600a0a9055565b600080611ebf611c9a565b905080611ed0576000915050610ccd565b611edc60018203612fe3565b91505090565b600080600080600080600080606060056003015460056004015460058001546005600601546005600701546005600801546005600b01546005600c0154600560090180805480602002602001604051908101604052809291908181526020018280548015611f7957602002820191906000526020600020905b81546001600160a01b03168152600190910190602001808311611f5b575b50505050509050985098509850985098509850985098509850909192939495969798565b6000806000806000611fad611c9a565b9450611fb885613eb8565b93507f00000000000000000000000000000000000000000000000000000000000000008401925060006005817f0000000000000000000000000000000000000000000000000000000000000000888161200d57fe5b0681526020810191909152604001600020600101549596949593946001600160f01b03851694600160f81b900460ff169350915050565b336001600160a01b037f0000000000000000000000000000000000000000000000000000000000000000161461207c5761207c612366565b43811061208857600080fd5b600160f01b811061209857600080fd5b600780546001600160f01b0319166001600160f01b0392909216919091179055565b6002546001600160801b0380821691600160801b9004169091565b7f000000000000000000000000000000000000000000000000000000000000000081565b336001600160a01b037f0000000000000000000000000000000000000000000000000000000000000000161461213157612131612366565b600061213b611c9a565b905060006005817f0000000000000000000000000000000000000000000000000000000000000000848161216b57fe5b0681526020810191909152604001600090812060108101805460ff1916905560088101829055600c81018290556007546001820180546001600160f01b039092166001600160f01b0319909216919091176001600160f81b0316600160f81b871515021790556002810184905591506121e890600e830190615351565b82156121f557505061154e565b606080612200613f05565b60075491945092506122b0915084908890612245907f0000000000000000000000000000000000000000000000000000000000000000906001600160f01b03166140fb565b601280548060200260200160405190810160405280929190818152602001828054801561229b57602002820191906000526020600020905b81546001600160a01b0316815260019091019060200180831161227d575b5060059796959493508a92508991505061418c565b837fc0eaa359541c7c642d9947c9496507c134f3e4f8e1fd433313eb27dc48cb1fb76122db86613eb8565b604080519182524260208301528051918290030190a2505050505050565b600061233b7f000000000000000000000000000000000000000000000000000000000000000084612329856135b8565b600101546001600160f01b031661424f565b9392505050565b7f000000000000000000000000000000000000000000000000000000000000000081565b604080518082018252600d81526c1058d8d95cdcc819195b9a5959609a1b6020808301918252925162461bcd60e51b81526004810193845282516024820152825192939283926044909201919080838360008315610d8a578181015183820152602001610d72565b601354600114801561240a5750306001600160a01b031660136000815481106123f357fe5b6000918252602090912001546001600160a01b0316145b15612414576125a8565b60005b601354811015610b9e5760006013828154811061243057fe5b6000918252602091829020015460408051635c222bad60e01b815290516001600160a01b0390921692635c222bad92600480840193829003018186803b15801561247957600080fd5b505afa15801561248d573d6000803e3d6000fd5b505050506040513d60208110156124a357600080fd5b50516012805491925090839081106124b757fe5b6000918252602090912001546001600160a01b03828116911614156124dc57506125a0565b80601283815481106124ea57fe5b600091825260209091200180546001600160a01b0319166001600160a01b0392831617905581161561259e57806001600160a01b031663313ce5676040518163ffffffff1660e01b815260040160206040518083038186803b15801561254f57600080fd5b505afa158015612563573d6000803e3d6000fd5b505050506040513d602081101561257957600080fd5b50516001600160a01b038216600090815260066020526040902060ff909116600a0a90555b505b600101612417565b565b6000600160801b82106125ee5760405162461bcd60e51b81526004018080602001828103825260278152602001806154896027913960400191505060405180910390fd5b5090565b60006125fd826142f2565b4210156040518060400160405280602081526020017f45706f6368206e6f7420726561647920666f722066696e616c697a6174696f6e815250906126825760405162461bcd60e51b8152602060048201818152835160248401528351909283926044909101919085019080838360008315610d8a578181015183820152602001610d72565b5061268c826135b8565b90506000601082015460ff1660058111156126a357fe5b146040518060400160405280601781526020017f45706f636820616c72656164792066696e616c697a6564000000000000000000815250906127265760405162461bcd60e51b8152602060048201818152835160248401528351909283926044909101919085019080838360008315610d8a578181015183820152602001610d72565b50919050565b600e8201541561294e5761278f82600e018054806020026020016040519081016040528092919081815260200182805480156113a55760200282019190600052602060002090815481526020019060010190808311611391575050505050612ebf565b600f830155806127a05760026127a3565b60045b60108301805460ff191660018360058111156127bb57fe5b0217905550600f82015460028054426001600160801b03908116600160801b029381166001600160801b0319909216919091171691909117905560108201546004805460ff9092169160ff1916600183600581111561281657fe5b021790555060048054610100600160f81b031916610100426001600160f01b03160217808255601084015460ff1691906001600160f81b0316600160f81b83600581111561286057fe5b0217905550600f82015460038054426001600160801b03908116600160801b029381166001600160801b031990921691909117169190911790556128a383610b9e565b827f1856740832ecbdceafeb109e01b188b9c0499df6a33dc8129aa0dd8f9d9a9db083600f015460008060008060008960100160009054906101000a900460ff164260405180898152602001881515815260200187815260200186815260200185815260200184815260200183600581111561291b57fe5b81526020018281526020019850505050505050505060405180910390a26001820180546001600160f81b03169055612959565b612959838383613a77565b505050565b6060806060600084600c01549050806001600160401b038111801561298257600080fd5b506040519080825280602002602001820160405280156129ac578160200160208202803683370190505b509350806001600160401b03811180156129c557600080fd5b506040519080825280602002602001820160405280156129ef578160200160208202803683370190505b5091506000816001600160401b0381118015612a0a57600080fd5b50604051908082528060200260200182016040528015612a34578160200160208202803683370190505b50905060005b82811015612adc576000818152600d880160205260409020805487516001600160801b0390911690889084908110612a6e57fe5b602090810291909101015280548551600160801b9091046001600160401b031690869084908110612a9b57fe5b602090810291909101015280548351600160c01b9091046001600160401b031690849084908110612ac857fe5b602090810291909101015250600101612a3a565b50612ae8868483614325565b935050509193909250565b6060612afd6152e2565b8451806001600160401b0381118015612b1557600080fd5b50604051908082528060200260200182016040528015612b3f578160200160208202803683370190505b50925060005b81811015612b6d5780848281518110612b5a57fe5b6020908102919091010152600101612b45565b50612b846002600060018403600080888c8c61443c565b608085015260608401528083528351869185918110612b9f57fe5b602002602001015181518110612bb157fe5b602090810291909101015160a0830181905260808301516060840151845192010190612bea578251600060c08501526020840152612c3e565b60048104836060015111612c0e578251606084015160c08501526020840152612c3e565b612c3260016000600186600001510360008760a00151886080015101898d8d61443c565b5060c085015260208401525b825160001983011415612c5f57825160006101008501526040840152612cb7565b60048104836080015111612c8457825160808401516101008501526040840152612cb7565b612caa60038460000151600101600185038660a001518760600151016000898d8d61443c565b6101008601525060408401525b8684846000015181518110612cc857fe5b602002602001015181518110612cda57fe5b6020908102919091010151610120840152600281048360a00151846060015101148015612d08575060028106155b15612d38576002612d22846000015160018503878b614717565b8461012001510181612d3057fe5b046101208401525b612d52836020015160006000198660c00151888c8c6147d7565b60c085015260208401526040830151610100840151612d7d9190600019850190600190888c8c6147d7565b610100850152604084015260208301518451889186918110612d9b57fe5b602002602001015181518110612dad57fe5b6020026020010151836101400181815250508684846040015181518110612dd057fe5b602002602001015181518110612de257fe5b602090810291909101015161016084015261010083015160c08401519091030360e083015250610120810151620f4240938102939093048084036101808301529092016101a0830152939092509050565b600083612e4257506000612eb7565b6000858184600019880181612e5357fe5b068152602001908152602001600020600f0154905080841415612e7a576000915050612eb7565b83612e8d5764e8d4a51000915050612eb7565b600084821115612ea05750838103612ea5565b508084035b612eb281612710876148ab565b925050505b949350505050565b805160009080612ecb57fe5b60015b81811015612f77576000848281518110612ee457fe5b6020026020010151905060008290505b600081118015612f19575081866001830381518110612f0f57fe5b6020026020010151115b15612f5557856001820381518110612f2d57fe5b6020026020010151868281518110612f4157fe5b602090810291909101015260001901612ef4565b81868281518110612f6257fe5b60209081029190910101525050600101612ece565b506002810460018083161415612fa457838181518110612f9357fe5b602002602001015192505050611560565b6002848281518110612fb257fe5b6020026020010151856001840381518110612fc957fe5b60200260200101510181612fd957fe5b0492505050611560565b60007f00000000000000000000000000000000000000000000000000000000000000006001600160a01b031663cd4b6914836040518263ffffffff1660e01b81526004018082815260200191505060206040518083038186803b15801561304957600080fd5b505afa15801561305d573d6000803e3d6000fd5b505050506040513d602081101561307357600080fd5b50516040805160208082019390935230818301528151808203830181526060909101909152805191012092915050565b60608060006130b061536f565b601189015460a0820152600c890154608082018190526001600160401b03811180156130db57600080fd5b50604051908082528060200260200182016040528015613105578160200160208202803683370190505b50815260808101516001600160401b038111801561312257600080fd5b5060405190808252806020026020018201604052801561314c578160200160208202803683370190505b5060208201526000805b82608001518110156132c957600087828151811061317057fe5b60200260200101519050600089838151811061318857fe5b602002602001015190508b6101400151811180156131aa57508b610160015181105b806131f657508b61014001518114806131c757508b610160015181145b80156131f657506000838152600d8e0160205260409020600101546131f6908c906001600160a01b03166149b7565b1561322c578460a001516127100382028560000151848151811061321657fe5b6020908102919091010152604085018051830190525b808c610180015110801561324457508b6101a0015181105b15613276578460a0015182028560200151848151811061326057fe5b6020908102919091010152606085018051830190525b60008560000151848151811061328857fe5b602002602001015111806132b357506000856020015184815181106132a957fe5b6020026020010151115b156132bf576001909301925b5050600101613156565b50806001600160401b03811180156132e057600080fd5b5060405190808252806020026020018201604052801561330a578160200160208202803683370190505b509450806001600160401b038111801561332357600080fd5b5060405190808252806020026020018201604052801561334d578160200160208202803683370190505b5093506000905060005b82608001518110156134bb5760008360000151828151811061337557fe5b602002602001015111806133a0575060008360200151828151811061339657fe5b6020026020010151115b156134b35760008360600151116133b85760016133be565b82606001515b83518051839081106133cc57fe5b6020026020010151028583815181106133e157fe5b602002602001018181510191508181525050600083604001511161340657600161340c565b82604001515b8360200151828151811061341c57fe5b60200260200101510285838151811061343157fe5b602090810291909101810180519092019091526000828152600d8d01909152604090206001015486516001600160a01b039091169087908490811061347257fe5b60200260200101906001600160a01b031690816001600160a01b03168152505084828151811061349e57fe5b60200260200101518401935081806001019250505b600101613357565b505050955095509592505050565b60007f00000000000000000000000000000000000000000000000000000000000000008210156134fb57506000611560565b7f00000000000000000000000000000000000000000000000000000000000000007f000000000000000000000000000000000000000000000000000000000000000083038161354657fe5b049050611560565b604080518082018252600f81526e4654534f206e6f742061637469766560881b6020808301918252925162461bcd60e51b81526004810193845282516024820152825192939283926044909201919080838360008315610d8a578181015183820152602001610d72565b60006005817f000000000000000000000000000000000000000000000000000000000000000084816135e657fe5b0681526020019081526020016000209050806002015482146040518060400160405280601881526020017f45706f63682064617461206e6f7420617661696c61626c650000000000000000815250906127265760405162461bcd60e51b8152602060048201818152835160248401528351909283926044909101919085019080838360008315610d8a578181015183820152602001610d72565b82516060906000816001600160401b038111801561369d57600080fd5b506040519080825280602002602001820160405280156136c7578160200160208202803683370190505b5090506000805b838110156137b05760006001600160a01b03168882815181106136ed57fe5b60200260200101516001600160a01b03161415613709576137a8565b600061378087838151811061371a57fe5b60200260200101518b60010160008c868151811061373457fe5b60200260200101516001600160a01b03166001600160a01b03168152602001908152602001600020548a858151811061376957fe5b60200260200101516148ab9092919063ffffffff16565b90508084838151811061378f57fe5b60209081029190910101526137a483826149f2565b9250505b6001016136ce565b50801561381b5760005b83811015613819576137fa6137ed6127108884815181106137d757fe5b6020026020010151614a4c90919063ffffffff16565b8385848151811061376957fe5b83828151811061380657fe5b60209081029190910101526001016137ba565b505b509695505050505050565b8151606090806001600160401b038111801561384157600080fd5b5060405190808252806020026020018201604052801561386b578160200160208202803683370190505b50915060005b818110156139515760006001600160a01b031685828151811061389057fe5b60200260200101516001600160a01b03161461392e5760008660010160008784815181106138ba57fe5b60200260200101516001600160a01b03166001600160a01b0316815260200190815260200160002054905061391061271064e8d4a51000816138f857fe5b04670de0b6b3a7640000028287858151811061376957fe5b84838151811061391c57fe5b60200260200101818152505050613949565b600083828151811061393c57fe5b6020026020010181815250505b600101613871565b50509392505050565b600080805b8551811015613a185760006001600160a01b031686828151811061397f57fe5b60200260200101516001600160a01b031614613a105760006127106139f88784815181106139a957fe5b60200260200101518a60010160008b87815181106139c357fe5b60200260200101516001600160a01b03166001600160a01b031681526020019081526020016000205488868151811061376957fe5b816139ff57fe5b049050613a0c83826149f2565b9250505b60010161395f565b5095945050505050565b6000808360050154831015613a395750600061233b565b83600601548310613a4d575061138861233b565b600584015460068501546101f491908190039085036111940281613a6d57fe5b0401949350505050565b8215613a93576002546001600160801b0316600f830155613a9b565b6000600f8301555b80613aa7576003613aaa565b60055b60108301805460ff19166001836005811115613ac257fe5b021790555060048054610100600160f81b031916610100426001600160f01b03160217808255601084015460ff1691906001600160f81b0316600160f81b836005811115613b0c57fe5b0217905550613b1a83610b9e565b827f1856740832ecbdceafeb109e01b188b9c0499df6a33dc8129aa0dd8f9d9a9db083600f015460008060008060008960100160009054906101000a900460ff1642604051808981526020018815158152602001878152602001868152602001858152602001848152602001836005811115613b9257fe5b81526020018281526020019850505050505050505060405180910390a25060010180546001600160f81b0316905550565b60408051808201909152600e81526d0a0e4d2c6ca40e8dede40d0d2ced60931b6020820152600160801b8310613c3a5760405162461bcd60e51b8152602060048201818152835160248401528351909283926044909101919085019080838360008315610d8a578181015183820152602001610d72565b50613c4483614aa5565b6040518060400160405280601881526020017f52657665616c20706572696f64206e6f7420616374697665000000000000000081525090613cc65760405162461bcd60e51b8152602060048201818152835160248401528351909283926044909101919085019080838360008315610d8a578181015183820152602001610d72565b5060006005817f00000000000000000000000000000000000000000000000000000000000000008681613cf557fe5b0681526020810191909152604001600020600181015490915060ff600160f81b8204811691600160f01b8104909116906001600160f01b03168180613d5a5750828015613d5a57506001600160a01b0388166000908152600f602052604090205460ff165b6040518060400160405280602081526020017f45706f6368206e6f7420696e697469616c697a656420666f722072657665616c81525090613ddc5760405162461bcd60e51b8152602060048201818152835160248401528351909283926044909101919085019080838360008315610d8a578181015183820152602001610d72565b50600080613ded868b898887614ae8565b9092509050613e016005878c85858d614b48565b604080518981524260208201528082018490526060810183905290518a916001600160a01b038d16917fc1b1d37612887c207efe8cb44f4069b7f10c45edaf6e8405648a94e02b6e9ec79181900360800190a350505050505050505050565b600c820154600090815b81811015613ead576000818152600d860160205260409020600101546001600160a01b0385811691161415613ea5576001019150611d6a9050565b600101613e6a565b506000949350505050565b7f0000000000000000000000000000000000000000000000000000000000000000600182017f00000000000000000000000000000000000000000000000000000000000000000201919050565b6060806060613f126123ce565b6012805480602002602001604051908101604052809291908181526020018280548015613f6857602002820191906000526020600020905b81546001600160a01b03168152600190910190602001808311613f4a575b5050505050925082516001600160401b0381118015613f8657600080fd5b50604051908082528060200260200182016040528015613fb0578160200160208202803683370190505b50915082516001600160401b0381118015613fca57600080fd5b50604051908082528060200260200182016040528015613ff4578160200160208202803683370190505b50905060005b83518110156140f55761402e84828151811061401257fe5b60209081029190910101516007546001600160f01b03166140fb565b83828151811061403a57fe5b6020026020010181815250506013818154811061405357fe5b9060005260206000200160009054906101000a90046001600160a01b03166001600160a01b031663eb91d37e6040518163ffffffff1660e01b8152600401604080518083038186803b1580156140a857600080fd5b505afa1580156140bc573d6000803e3d6000fd5b505050506040513d60408110156140d257600080fd5b505182518390839081106140e257fe5b6020908102919091010152600101613ffa565b50909192565b60006001600160a01b03831661411357506000611d6a565b826001600160a01b031663caeb942b836040518263ffffffff1660e01b815260040180828152602001915050602060405180830381600087803b15801561415957600080fd5b505af115801561416d573d6000803e3d6000fd5b505050506040513d602081101561418357600080fd5b50519050611d6a565b6141998787858585614c98565b60078701546003808801919091556008880154600488015560058701869055600687018590558701546141d49085816141ce57fe5b046125aa565b86546001600160801b0319166001600160801b0391909116178655600487015460078701546142059190816141ce57fe5b86546001600160801b03918216600160801b02911617865550505060018301805460ff60f01b1916600160f01b1790555050600b8201546011820155600c90910154601290910155565b60006001600160a01b0384166142675750600061233b565b836001600160a01b031663e587497e84846040518363ffffffff1660e01b815260040180836001600160a01b0316815260200182815260200192505050602060405180830381600087803b1580156142be57600080fd5b505af11580156142d2573d6000803e3d6000fd5b505050506040513d60208110156142e857600080fd5b5051949350505050565b60007f000000000000000000000000000000000000000000000000000000000000000061431e83613eb8565b0192915050565b600c830154606090806001600160401b038111801561434357600080fd5b5060405190808252806020026020018201604052801561436d578160200160208202803683370190505b509150600061437b85614d01565b9050600061438885614d01565b9050600080614398898585614d46565b905083156143a857806127100391505b60005b8581101561442f57600083156143f1576143ee8a83815181106143ca57fe5b602002602001015164e8d4a51000026127108802866148ab9092919063ffffffff16565b90505b6000831561440b576144088a84815181106143ca57fe5b90505b80820189848151811061441a57fe5b602090810291909101015250506001016143ab565b5050505050509392505050565b6000806000888a1415614456575088915086905085614709565b61445e6153a5565b888152602081018890526144706153e2565b60208082018d905260408083018d90528051448184015242818301528151808203830181526060909101909152805191012060005b602083015160408401516144d791908160018183030186816144c357fe5b0601876000015188602001518f8f8f614dad565b606087015260408601528084528a518b919081106144f157fe5b60200260200101518360600181815250508783606001518151811061451257fe5b6020026020010151846080018181525050836060015184604001518560800151010190508e600214156145ed5760028106600282040160a0850181905280820360c086015260408501511080159061456d57508b8460a00151115b15614592578251600019016040840152606084015160808501510160208501526145e8565b8360c0015184606001511180156145ac57508a8460c00151115b156145cd5782516001016020840152604084015160808501510184526145e8565b50505160408201516060909201519094509092509050614709565b614704565b8e6001141561467e576004810460a0850181905280820360c0860152604085015111801561461e57508b8460a00151115b15614643578251600019016040840152606084015160808501510160208501526145e8565b8360c001518460600151101580156145ac57508a8460c0015111156145cd5782516001016020840152604084015160808501510184526145e8565b6004810460c08501819052810360a085018190526040850151108015906146a857508b8460a00151115b156146cd57825160001901604084015260608401516080850151016020850152614704565b8360c0015184606001511180156146e757508a8460c00151115b156145cd5782516001016020840152604084015160808501510184525b6144a5565b985098509895505050505050565b60008385141561474f578183868151811061472e57fe5b60200260200101518151811061474057fe5b60200260200101519050612eb7565b60008284876001018151811061476157fe5b60200260200101518151811061477357fe5b602002602001015190506000808760020190505b8681116147cb578486828151811061479b57fe5b6020026020010151815181106147ad57fe5b60200260200101519150828210156147c3578192505b600101614787565b50909695505050505050565b60008085888a03880282136147f2578987925092505061489f565b600085878c8151811061480157fe5b60200260200101518151811061481357fe5b602090810291909101015190508a89016000815b60008c8e830302136148935789818151811061483f57fe5b602002602001015191508389838151811061485657fe5b6020026020010151141561488c5787828151811061487057fe5b60200260200101518503945061488783828c614f76565b918b01915b8b01614827565b50508990039350909150505b97509795505050505050565b60008082116148f4576040805162461bcd60e51b815260206004820152601060248201526f4469766973696f6e206279207a65726f60801b604482015290519081900360640190fd5b836149015750600061233b565b8383028385828161490e57fe5b0414156149275782818161491e57fe5b0491505061233b565b600083868161493257fe5b049050600084878161494057fe5b069050600085878161494e57fe5b049050600086888161495c57fe5b0690506149aa614976886149708685614a4c565b90614fde565b6149a46149838686614a4c565b6149a46149908987614a4c565b6149a48d61499e8c8b614a4c565b90614a4c565b906149f2565b9998505050505050505050565b604080516020808201949094526001600160a01b03929092168282015280518083038201815260609092019052805191012060019081161490565b60008282018381101561233b576040805162461bcd60e51b815260206004820152601b60248201527f536166654d6174683a206164646974696f6e206f766572666c6f770000000000604482015290519081900360640190fd5b600082614a5b57506000611d6a565b82820282848281614a6857fe5b041461233b5760405162461bcd60e51b81526004018080602001828103825260218152602001806154b06021913960400191505060405180910390fd5b600080614ab183613eb8565b905042811115801561233b57507f000000000000000000000000000000000000000000000000000000000000000001421092915050565b6000808315614afc57506000905080614b3e565b849150614b0a878785615045565b87549091506001600160801b0380821691600160801b90041681841115614b2f578193505b80831115614b3b578092505b50505b9550959350505050565b600085600c015490506000614b698686868a600601548b6007015488615103565b63ffffffff838116608083019081526000858152600d8b0160209081526040918290208551815492870151938701516001600160801b03199093166001600160801b039091161767ffffffffffffffff60801b1916600160801b6001600160401b0394851602176001600160c01b0316600160c01b939092169290920217815560608401516001918201805493516001600160a01b03199094166001600160a01b039092169190911763ffffffff60a01b1916600160a01b93851693909302929092179091558401600c8a01556008890154919250614c4b919087906149f216565b60088801556001600160a01b0386166000908152600a8901602052604090205460ff1615614c8e57600e8701805460018101825560009182526020909120018390555b5050505050505050565b8251614cad90600a8601906020860190615281565b50614cba85848484613680565b8051614cd091600b87019160209091019061540a565b506000614cde868685615160565b600786018190559050614cf18682613a22565b8560090181905550505050505050565b600080805b8351811015614d3f57614d35848281518110614d1e57fe5b6020026020010151836149f290919063ffffffff16565b9150600101614d06565b5092915050565b600081614d555750600061233b565b82614d63575061271061233b565b6000614d778361271064e8d4a510006148ab565b905084600301548110614d90575050600983015461233b565b60038501546009860154614da59183906148ab565b91505061233b565b60008060008085878b81518110614dc057fe5b602002602001015181518110614dd257fe5b60200260200101519050600060026001600160401b0381118015614df557600080fd5b50604051908082528060200260200182016040528015614e1f578160200160208202803683370190505b5090508981600081518110614e3057fe5b6020026020010181815250508881600181518110614e4a57fe5b60209081029190910101528c8c614e628d828c614f76565b81805b82811015614f265760008c8281518110614e7b57fe5b60200260200101519050868c8281518110614e9257fe5b60200260200101511015614ee9578a8181518110614eac57fe5b602002602001015186600081518110614ec157fe5b602002602001018181510191508181525050614ede83838f614f76565b600190920191614f1d565b8a8181518110614ef557fe5b602002602001015186600181518110614f0a57fe5b6020026020010181815101915081815250505b50600101614e65565b50614f3282828d614f76565b8084600081518110614f4057fe5b602002602001015185600181518110614f5557fe5b60200260200101519750975097505050505050985098509895505050505050565b81831415614f8357612959565b808281518110614f8f57fe5b6020026020010151818481518110614fa357fe5b6020026020010151828581518110614fb757fe5b60200260200101838581518110614fca57fe5b602090810291909101019190915252505050565b6000808211615034576040805162461bcd60e51b815260206004820152601a60248201527f536166654d6174683a206469766973696f6e206279207a65726f000000000000604482015290519081900360640190fd5b81838161503d57fe5b049392505050565b600a83015460009081906001600160401b038111801561506457600080fd5b5060405190808252806020026020018201604052801561508e578160200160208202803683370190505b50905060005b600a8601548110156150ed576150ce86600a0182815481106150b257fe5b6000918252602090912001546001600160a01b0316868661424f565b8282815181106150da57fe5b6020908102919091010152600101615094565b506150fa60058683615160565b95945050505050565b61510b615445565b6001600160a01b03871660608201526151248685615250565b6001600160401b0316602082015261513c8584615250565b6001600160401b031660408201526001600160801b03909116815295945050505050565b600080805b600a8501548110156152475760006001600160a01b031685600a01828154811061518b57fe5b6000918252602090912001546001600160a01b031614156151ab5761523f565b61523c61271061522c8684815181106151c057fe5b60200260200101518960010160008a600a0187815481106151dd57fe5b60009182526020808320909101546001600160a01b03168352820192909252604001902054600b8a0180548790811061521257fe5b90600052602060002001546148ab9092919063ffffffff16565b8161523357fe5b849190046149f2565b91505b600101615165565b50949350505050565b600081158061525d575082155b1561526a57506000611d6a565b61527a8364e8d4a51000846148ab565b9050611d6a565b8280548282559060005260206000209081019282156152d6579160200282015b828111156152d657825182546001600160a01b0319166001600160a01b039091161782556020909201916001909101906152a1565b506125ee929150615473565b604051806101c0016040528060008152602001600081526020016000815260200160008152602001600081526020016000815260200160008152602001600081526020016000815260200160008152602001600081526020016000815260200160008152602001600081525090565b5080546000825590600052602060002090810190610b9e9190615473565b6040518060c001604052806060815260200160608152602001600081526020016000815260200160008152602001600081525090565b6040518060e00160405280600081526020016000815260200160008152602001600081526020016000815260200160008152602001600081525090565b6040518060800160405280600081526020016000815260200160008152602001600081525090565b8280548282559060005260206000209081019282156152d6579160200282015b828111156152d657825182559160200191906001019061542a565b6040805160a08101825260008082526020820181905291810182905260608101829052608081019190915290565b5b808211156125ee576000815560010161547456fe53616665436173743a2076616c756520646f65736e27742066697420696e203132382062697473536166654d6174683a206d756c7469706c69636174696f6e206f766572666c6f77a264697066735822122002bc9811f20f57e65d27b6184213730460ebb2245fceef8b508666535e51327664736f6c63430007060033",
1036
+ "deployedBytecode": "0x608060405234801561001057600080fd5b50600436106102485760003560e01c806395d89b411161013b578063d0d552dd116100b8578063eb91d37e1161007c578063eb91d37e146109d7578063f025bf66146109df578063f670ebe3146109e7578063f72cab2814610a0c578063f937d6ad14610a3857610248565b8063d0d552dd146108c3578063d89601fd146108e9578063e3749e0c146108f1578063e3b3a3b314610985578063e536f396146109ba57610248565b8063c1f6c36e116100ff578063c1f6c36e1461081d578063c5d8b9e714610855578063cc245ab514610881578063cd4b691414610889578063cf35bdd0146108a657610248565b806395d89b4114610752578063974d7a6b146107cf5780639edbf007146107ec578063a29a839f146107f4578063af52df08146107fc57610248565b80634afd5102116101c957806365f5cd861161018d57806365f5cd861461064b5780636b52b242146106535780637d1d6f121461065b578063826cc76b146106785780638357d08c1461069557610248565b80634afd5102146105195780635303548b14610536578063555989da146105655780635a3c9d8e1461056d5780635c222bad1461064357610248565b806318931c351161021057806318931c35146103a85780632f0a6f3c14610400578063306ba253146104295780633cacb3ae1461044c57806340462a2d1461045457610248565b806302fb0c5e1461024d578063040d73b81461026957806311a7aaaa146102b9578063131fdee2146102dd578063144e159114610382575b600080fd5b610255610a40565b604080519115158252519081900360200190f35b610271610a49565b6040518086815260200185815260200184600581111561028d57fe5b81526020018381526020018260058111156102a457fe5b81526020019550505050505060405180910390f35b6102c1610a88565b604080516001600160a01b039092168252519081900360200190f35b610380600480360360208110156102f357600080fd5b81019060208101813564010000000081111561030e57600080fd5b82018360208201111561032057600080fd5b8035906020019184602083028401116401000000008311171561034257600080fd5b919080806020026020016040519081016040528093929190818152602001838360200280828437600092019190915250929550610aac945050505050565b005b61038a610ba1565b60408051938452602084019290925282820152519081900360600190f35b6103b0610c09565b60408051602080825283518183015283519192839290830191858101910280838360005b838110156103ec5781810151838201526020016103d4565b505050509050019250505060405180910390f35b6103806004803603606081101561041657600080fd5b5080359060208101359060400135610cd0565b6103806004803603604081101561043f57600080fd5b5080359060200135610fc1565b61038a6110cd565b6104796004803603604081101561046a57600080fd5b5080359060200135151561110a565b604051808060200180602001848152602001838103835286818151815260200191508051906020019060200280838360005b838110156104c35781810151838201526020016104ab565b50505050905001838103825285818151815260200191508051906020019060200280838360005b838110156105025781810151838201526020016104ea565b505050509050019550505050505060405180910390f35b6103806004803603602081101561052f57600080fd5b50356114eb565b6105536004803603602081101561054c57600080fd5b5035611552565b60408051918252519081900360200190f35b610380611565565b610380600480360361012081101561058457600080fd5b81359160208101359160408201359160608101359160808201359160a08101359160c08201359160e08101359181019061012081016101008201356401000000008111156105d157600080fd5b8201836020820111156105e357600080fd5b8035906020019184602083028401116401000000008311171561060557600080fd5b9190808060200260200160405190810160405280939291908181526020018383602002808284376000920191909152509295506115bb945050505050565b6102c16116fd565b61038a61177d565b6105536117ba565b6105536004803603602081101561067157600080fd5b50356117de565b6102c16004803603602081101561068e57600080fd5b50356117f3565b61069d61181d565b604051808060200180602001878152602001868152602001858152602001848152602001838103835289818151815260200191508051906020019060200280838360005b838110156106f95781810151838201526020016106e1565b50505050905001838103825288818151815260200191508051906020019060200280838360005b83811015610738578181015183820152602001610720565b505050509050019850505050505050505060405180910390f35b61075a611b86565b6040805160208082528351818301528351919283929083019185019080838360005b8381101561079457818101518382015260200161077c565b50505050905090810190601f1680156107c15780820380516001836020036101000a031916815260200191505b509250505060405180910390f35b610380600480360360208110156107e557600080fd5b5035611c13565b6102c1611c76565b610553611c9a565b610804611ca5565b6040805192835260208301919091528051918290030190f35b6103806004803603608081101561083357600080fd5b506001600160a01b038135169060208101359060408101359060600135611cc0565b6105536004803603604081101561086b57600080fd5b50803590602001356001600160a01b0316611d1c565b610553611d70565b6105536004803603602081101561089f57600080fd5b5035611d94565b6102c1600480360360208110156108bc57600080fd5b5035611d9f565b610380600480360360208110156108d957600080fd5b50356001600160a01b0316611daf565b610553611eb4565b6108f9611ee2565b604051808a815260200189815260200188815260200187815260200186815260200185815260200184815260200183815260200180602001828103825283818151815260200191508051906020019060200280838360005b83811015610969578181015183820152602001610951565b505050509050019a505050505050505050505060405180910390f35b61098d611f9d565b60408051958652602086019490945284840192909252606084015215156080830152519081900360a00190f35b610380600480360360208110156109d057600080fd5b5035612044565b6108046120ba565b6105536120d5565b610380600480360360408110156109fd57600080fd5b508035906020013515156120f9565b61055360048036036040811015610a2257600080fd5b506001600160a01b0381351690602001356122f9565b6102c1612342565b60005460ff1681565b6002546004546001600160801b0380831693600160801b909304169160ff8083169261010081046001600160f01b031692600160f81b90910490911690565b7f000000000000000000000000000000000000000000000000000000000000000081565b336001600160a01b037f00000000000000000000000000000000000000000000000000000000000000001614610ae457610ae4612366565b6000815111610aef57fe5b600181511180610b255750306001600160a01b031681600081518110610b1157fe5b60200260200101516001600160a01b031614155b610b2b57fe5b8051610b3e906013906020840190615281565b5080516001600160401b0381118015610b5657600080fd5b50604051908082528060200260200182016040528015610b80578160200160208202803683370190505b508051610b9591601291602090910190615281565b50610b9e6123ce565b50565b7f00000000000000000000000000000000000000000000000000000000000000007f00000000000000000000000000000000000000000000000000000000000000007f0000000000000000000000000000000000000000000000000000000000000000909192565b6012546060906001148015610c2057506013546001145b8015610c565750306001600160a01b03166013600081548110610c3f57fe5b6000918252602090912001546001600160a01b0316145b610cba576013805480602002602001604051908101604052809291908181526020018280548015610cb057602002820191906000526020600020905b81546001600160a01b03168152600190910190602001808311610c92575b5050505050610cca565b6040805160008152602081019091525b90505b90565b336001600160a01b037f00000000000000000000000000000000000000000000000000000000000000001614610d0857610d08612366565b600054604080518082019091526016815275119514d3c8185b1c9958591e481858dd1a5d985d195960521b60208201529060ff1615610dc55760405162461bcd60e51b81526004018080602001828103825283818151815260200191508051906020019080838360005b83811015610d8a578181015183820152602001610d72565b50505050905090810190601f168015610db75780820380516001836020036101000a031916815260200191505b509250505060405180910390fd5b5060408051808201909152601e81527f496e76616c69642070726963652065706f636820706172616d6574657273000060208201527f00000000000000000000000000000000000000000000000000000000000000008414610e685760405162461bcd60e51b8152602060048201818152835160248401528351909283926044909101919085019080838360008315610d8a578181015183820152602001610d72565b5060408051808201909152601e81527f496e76616c69642070726963652065706f636820706172616d6574657273000060208201527f00000000000000000000000000000000000000000000000000000000000000008314610f0b5760405162461bcd60e51b8152602060048201818152835160248401528351909283926044909101919085019080838360008315610d8a578181015183820152602001610d72565b5060408051808201909152601e81527f496e76616c69642070726963652065706f636820706172616d6574657273000060208201527f00000000000000000000000000000000000000000000000000000000000000008214610fae5760405162461bcd60e51b8152602060048201818152835160248401528351909283926044909101919085019080838360008315610d8a578181015183820152602001610d72565b50506000805460ff191660011790555050565b336001600160a01b037f00000000000000000000000000000000000000000000000000000000000000001614610ff957610ff9612366565b600054604080518082019091526016815275119514d3c8185b1c9958591e481858dd1a5d985d195960521b60208201529060ff16156110795760405162461bcd60e51b8152602060048201818152835160248401528351909283926044909101919085019080838360008315610d8a578181015183820152602001610d72565b50611083826125aa565b600280546001600160801b0319166001600160801b03929092169190911790556110ac816125aa565b600280546001600160801b03928316600160801b0292169190911790555050565b6003546001600160801b0380821691600160801b9004167f0000000000000000000000000000000000000000000000000000000000000000909192565b6060806000336001600160a01b037f0000000000000000000000000000000000000000000000000000000000000000161461114757611147612366565b6000611152866125f2565b60018101805460ff60f01b1916905560058101549091506000901561118a5781600501546127108360080154028161118657fe5b0490505b6001820154600160f81b900460ff16806111a8575081600401548111155b1561121b576001820154600160f81b900460ff1661120857600482015460408051838152602081019290925242828201525188917fbece8aa526cdc5e528cdaa56c1d03edc19da51e41845aa146f64a7071f74c65a919081900360600190a25b6112148783600061272c565b50506114e4565b60608060606112298561295e565b91945092509050606061123a6152e2565b61124985858960120154612af3565b61012081015191935091507f0000000000000000000000000000000000000000000000000000000000000000906112a5906005908f907f0000000000000000000000000000000000000000000000000000000000000000612e33565b11156112c3576112b78c88600061272c565b505050505050506114e4565b60108701805460ff199081166001908117909255610120830151600f8a01819055600280546001600160801b0319166001600160801b03928316178216600160801b429384160217905560048054600160f81b6001600160f81b036001600160f01b0390941661010002610100600160f81b031992909516909517169290921716919091179055600e870154156113e0576113af87600e018054806020026020016040519081016040528092919081815260200182805480156113a557602002820191906000526020600020905b815481526020019060010190808311611391575b5050505050612ebf565b60038054426001600160801b03908116600160801b029381166001600160801b031990921691909117169190911790555b60008b156114185760006113f38e612fe3565b90506114028984838a896130a3565b8251929e50909c509a501561141657600191505b505b6114248d838584611d16565b8c7f1856740832ecbdceafeb109e01b188b9c0499df6a33dc8129aa0dd8f9d9a9db089600f015483856101400151866101600151876101800151886101a001518f60100160009054906101000a900460ff16426040518089815260200188151581526020018781526020018681526020018581526020018481526020018360058111156114ad57fe5b81526020018281526020019850505050505050505060405180910390a2505050600190940180546001600160f81b03169055505050505b9250925092565b336001600160a01b037f0000000000000000000000000000000000000000000000000000000000000000161461152357611523612366565b600061152e826125f2565b6001808201805460ff60f01b1916905590915061154e908390839061272c565b5050565b600061155d826134c9565b90505b919050565b60005460ff166115775761157761354e565b336001600160a01b037f000000000000000000000000000000000000000000000000000000000000000016146115af576115af612366565b6000805460ff19169055565b336001600160a01b037f000000000000000000000000000000000000000000000000000000000000000016146115f3576115f3612366565b60088990556009889055600a879055600b869055600c859055600d84905560108390556011829055600e5460005b8181101561167e5760006005600a0160006005600901848154811061164257fe5b6000918252602080832091909101546001600160a01b031683528201929092526040019020805460ff1916911515919091179055600101611621565b5050805160005b818110156116dc5760016005600a0160008584815181106116a257fe5b6020908102919091018101516001600160a01b03168252810191909152604001600020805460ff1916911515919091179055600101611685565b5081516116f090600e906020850190615281565b5050505050505050505050565b601254600090600114801561171457506013546001145b801561174a5750306001600160a01b0316601360008154811061173357fe5b6000918252602090912001546001600160a01b0316145b611755576000610cca565b601260008154811061176357fe5b6000918252602090912001546001600160a01b0316905090565b6002546001600160801b0380821691600160801b9004167f0000000000000000000000000000000000000000000000000000000000000000909192565b7f000000000000000000000000000000000000000000000000000000000000000081565b60006117e9826135b8565b600f015492915050565b6013818154811061180357600080fd5b6000918252602090912001546001600160a01b0316905081565b606080600080600080601280548060200260200160405190810160405280929190818152602001828054801561187c57602002820191906000526020600020905b81546001600160a01b0316815260019091019060200180831161185e575b50506007548451949a506001600160f01b031694506000939250506001600160401b038211905080156118ae57600080fd5b506040519080825280602002602001820160405280156118d8578160200160208202803683370190505b509050600087516001600160401b03811180156118f457600080fd5b5060405190808252806020026020018201604052801561191e578160200160208202803683370190505b50905060005b8851811015611aad5760006001600160a01b031689828151811061194457fe5b60200260200101516001600160a01b031614156119625760006119e6565b88818151811061196e57fe5b60200260200101516001600160a01b0316633e5aa26a856040518263ffffffff1660e01b81526004018082815260200191505060206040518083038186803b1580156119b957600080fd5b505afa1580156119cd573d6000803e3d6000fd5b505050506040513d60208110156119e357600080fd5b50515b8382815181106119f257fe5b60200260200101818152505060138181548110611a0b57fe5b9060005260206000200160009054906101000a90046001600160a01b03166001600160a01b031663eb91d37e6040518163ffffffff1660e01b8152600401604080518083038186803b158015611a6057600080fd5b505afa158015611a74573d6000803e3d6000fd5b505050506040513d6040811015611a8a57600080fd5b50518251839083908110611a9a57fe5b6020908102919091010152600101611924565b506000611abd60058a8585613680565b9050611acb60058a83613826565b97507f00000000000000000000000000000000000000000000000000000000000000006001600160a01b0316633e5aa26a856040518263ffffffff1660e01b81526004018082815260200191505060206040518083038186803b158015611b3157600080fd5b505afa158015611b45573d6000803e3d6000fd5b505050506040513d6020811015611b5b57600080fd5b50519650611b6c60058a858461395a565b9550611b79600587613a22565b9450505050909192939495565b60018054604080516020600284861615610100026000190190941693909304601f81018490048402820184019092528181529291830182828015611c0b5780601f10611be057610100808354040283529160200191611c0b565b820191906000526020600020905b815481529060010190602001808311611bee57829003601f168201915b505050505081565b336001600160a01b037f00000000000000000000000000000000000000000000000000000000000000001614611c4b57611c4b612366565b6000611c56826125f2565b6001808201805460ff60f01b1916905590915061154e9083908390613a77565b7f000000000000000000000000000000000000000000000000000000000000000081565b6000610cca426134c9565b6003546001600160801b0380821691600160801b9004169091565b60005460ff16611cd257611cd261354e565b336001600160a01b037f00000000000000000000000000000000000000000000000000000000000000001614611d0a57611d0a612366565b611d1684848484613bc3565b50505050565b600080611d28846135b8565b90506000611d368285613e60565b905080611d4857600092505050611d6a565b600019016000908152600d90910160205260409020546001600160801b031690505b92915050565b7f000000000000000000000000000000000000000000000000000000000000000081565b600061155d82612fe3565b6012818154811061180357600080fd5b336001600160a01b037f00000000000000000000000000000000000000000000000000000000000000001614611de757611de7612366565b6040805160208101909152308152611e03906013906001615281565b5060408051602081019091526001600160a01b0382168152611e29906012906001615281565b50806001600160a01b031663313ce5676040518163ffffffff1660e01b815260040160206040518083038186803b158015611e6357600080fd5b505afa158015611e77573d6000803e3d6000fd5b505050506040513d6020811015611e8d57600080fd5b50516001600160a01b03909116600090815260066020526040902060ff909116600a0a9055565b600080611ebf611c9a565b905080611ed0576000915050610ccd565b611edc60018203612fe3565b91505090565b600080600080600080600080606060056003015460056004015460058001546005600601546005600701546005600801546005600b01546005600c0154600560090180805480602002602001604051908101604052809291908181526020018280548015611f7957602002820191906000526020600020905b81546001600160a01b03168152600190910190602001808311611f5b575b50505050509050985098509850985098509850985098509850909192939495969798565b6000806000806000611fad611c9a565b9450611fb885613eb8565b93507f00000000000000000000000000000000000000000000000000000000000000008401925060006005817f0000000000000000000000000000000000000000000000000000000000000000888161200d57fe5b0681526020810191909152604001600020600101549596949593946001600160f01b03851694600160f81b900460ff169350915050565b336001600160a01b037f0000000000000000000000000000000000000000000000000000000000000000161461207c5761207c612366565b43811061208857600080fd5b600160f01b811061209857600080fd5b600780546001600160f01b0319166001600160f01b0392909216919091179055565b6002546001600160801b0380821691600160801b9004169091565b7f000000000000000000000000000000000000000000000000000000000000000081565b336001600160a01b037f0000000000000000000000000000000000000000000000000000000000000000161461213157612131612366565b600061213b611c9a565b905060006005817f0000000000000000000000000000000000000000000000000000000000000000848161216b57fe5b0681526020810191909152604001600090812060108101805460ff1916905560088101829055600c81018290556007546001820180546001600160f01b039092166001600160f01b0319909216919091176001600160f81b0316600160f81b871515021790556002810184905591506121e890600e830190615351565b82156121f557505061154e565b606080612200613f05565b60075491945092506122b0915084908890612245907f0000000000000000000000000000000000000000000000000000000000000000906001600160f01b03166140fb565b601280548060200260200160405190810160405280929190818152602001828054801561229b57602002820191906000526020600020905b81546001600160a01b0316815260019091019060200180831161227d575b5060059796959493508a92508991505061418c565b837fc0eaa359541c7c642d9947c9496507c134f3e4f8e1fd433313eb27dc48cb1fb76122db86613eb8565b604080519182524260208301528051918290030190a2505050505050565b600061233b7f000000000000000000000000000000000000000000000000000000000000000084612329856135b8565b600101546001600160f01b031661424f565b9392505050565b7f000000000000000000000000000000000000000000000000000000000000000081565b604080518082018252600d81526c1058d8d95cdcc819195b9a5959609a1b6020808301918252925162461bcd60e51b81526004810193845282516024820152825192939283926044909201919080838360008315610d8a578181015183820152602001610d72565b601354600114801561240a5750306001600160a01b031660136000815481106123f357fe5b6000918252602090912001546001600160a01b0316145b15612414576125a8565b60005b601354811015610b9e5760006013828154811061243057fe5b6000918252602091829020015460408051635c222bad60e01b815290516001600160a01b0390921692635c222bad92600480840193829003018186803b15801561247957600080fd5b505afa15801561248d573d6000803e3d6000fd5b505050506040513d60208110156124a357600080fd5b50516012805491925090839081106124b757fe5b6000918252602090912001546001600160a01b03828116911614156124dc57506125a0565b80601283815481106124ea57fe5b600091825260209091200180546001600160a01b0319166001600160a01b0392831617905581161561259e57806001600160a01b031663313ce5676040518163ffffffff1660e01b815260040160206040518083038186803b15801561254f57600080fd5b505afa158015612563573d6000803e3d6000fd5b505050506040513d602081101561257957600080fd5b50516001600160a01b038216600090815260066020526040902060ff909116600a0a90555b505b600101612417565b565b6000600160801b82106125ee5760405162461bcd60e51b81526004018080602001828103825260278152602001806154896027913960400191505060405180910390fd5b5090565b60006125fd826142f2565b4210156040518060400160405280602081526020017f45706f6368206e6f7420726561647920666f722066696e616c697a6174696f6e815250906126825760405162461bcd60e51b8152602060048201818152835160248401528351909283926044909101919085019080838360008315610d8a578181015183820152602001610d72565b5061268c826135b8565b90506000601082015460ff1660058111156126a357fe5b146040518060400160405280601781526020017f45706f636820616c72656164792066696e616c697a6564000000000000000000815250906127265760405162461bcd60e51b8152602060048201818152835160248401528351909283926044909101919085019080838360008315610d8a578181015183820152602001610d72565b50919050565b600e8201541561294e5761278f82600e018054806020026020016040519081016040528092919081815260200182805480156113a55760200282019190600052602060002090815481526020019060010190808311611391575050505050612ebf565b600f830155806127a05760026127a3565b60045b60108301805460ff191660018360058111156127bb57fe5b0217905550600f82015460028054426001600160801b03908116600160801b029381166001600160801b0319909216919091171691909117905560108201546004805460ff9092169160ff1916600183600581111561281657fe5b021790555060048054610100600160f81b031916610100426001600160f01b03160217808255601084015460ff1691906001600160f81b0316600160f81b83600581111561286057fe5b0217905550600f82015460038054426001600160801b03908116600160801b029381166001600160801b031990921691909117169190911790556128a383610b9e565b827f1856740832ecbdceafeb109e01b188b9c0499df6a33dc8129aa0dd8f9d9a9db083600f015460008060008060008960100160009054906101000a900460ff164260405180898152602001881515815260200187815260200186815260200185815260200184815260200183600581111561291b57fe5b81526020018281526020019850505050505050505060405180910390a26001820180546001600160f81b03169055612959565b612959838383613a77565b505050565b6060806060600084600c01549050806001600160401b038111801561298257600080fd5b506040519080825280602002602001820160405280156129ac578160200160208202803683370190505b509350806001600160401b03811180156129c557600080fd5b506040519080825280602002602001820160405280156129ef578160200160208202803683370190505b5091506000816001600160401b0381118015612a0a57600080fd5b50604051908082528060200260200182016040528015612a34578160200160208202803683370190505b50905060005b82811015612adc576000818152600d880160205260409020805487516001600160801b0390911690889084908110612a6e57fe5b602090810291909101015280548551600160801b9091046001600160401b031690869084908110612a9b57fe5b602090810291909101015280548351600160c01b9091046001600160401b031690849084908110612ac857fe5b602090810291909101015250600101612a3a565b50612ae8868483614325565b935050509193909250565b6060612afd6152e2565b8451806001600160401b0381118015612b1557600080fd5b50604051908082528060200260200182016040528015612b3f578160200160208202803683370190505b50925060005b81811015612b6d5780848281518110612b5a57fe5b6020908102919091010152600101612b45565b50612b846002600060018403600080888c8c61443c565b608085015260608401528083528351869185918110612b9f57fe5b602002602001015181518110612bb157fe5b602090810291909101015160a0830181905260808301516060840151845192010190612bea578251600060c08501526020840152612c3e565b60048104836060015111612c0e578251606084015160c08501526020840152612c3e565b612c3260016000600186600001510360008760a00151886080015101898d8d61443c565b5060c085015260208401525b825160001983011415612c5f57825160006101008501526040840152612cb7565b60048104836080015111612c8457825160808401516101008501526040840152612cb7565b612caa60038460000151600101600185038660a001518760600151016000898d8d61443c565b6101008601525060408401525b8684846000015181518110612cc857fe5b602002602001015181518110612cda57fe5b6020908102919091010151610120840152600281048360a00151846060015101148015612d08575060028106155b15612d38576002612d22846000015160018503878b614717565b8461012001510181612d3057fe5b046101208401525b612d52836020015160006000198660c00151888c8c6147d7565b60c085015260208401526040830151610100840151612d7d9190600019850190600190888c8c6147d7565b610100850152604084015260208301518451889186918110612d9b57fe5b602002602001015181518110612dad57fe5b6020026020010151836101400181815250508684846040015181518110612dd057fe5b602002602001015181518110612de257fe5b602090810291909101015161016084015261010083015160c08401519091030360e083015250610120810151620f4240938102939093048084036101808301529092016101a0830152939092509050565b600083612e4257506000612eb7565b6000858184600019880181612e5357fe5b068152602001908152602001600020600f0154905080841415612e7a576000915050612eb7565b83612e8d5764e8d4a51000915050612eb7565b600084821115612ea05750838103612ea5565b508084035b612eb281612710876148ab565b925050505b949350505050565b805160009080612ecb57fe5b60015b81811015612f77576000848281518110612ee457fe5b6020026020010151905060008290505b600081118015612f19575081866001830381518110612f0f57fe5b6020026020010151115b15612f5557856001820381518110612f2d57fe5b6020026020010151868281518110612f4157fe5b602090810291909101015260001901612ef4565b81868281518110612f6257fe5b60209081029190910101525050600101612ece565b506002810460018083161415612fa457838181518110612f9357fe5b602002602001015192505050611560565b6002848281518110612fb257fe5b6020026020010151856001840381518110612fc957fe5b60200260200101510181612fd957fe5b0492505050611560565b60007f00000000000000000000000000000000000000000000000000000000000000006001600160a01b031663cd4b6914836040518263ffffffff1660e01b81526004018082815260200191505060206040518083038186803b15801561304957600080fd5b505afa15801561305d573d6000803e3d6000fd5b505050506040513d602081101561307357600080fd5b50516040805160208082019390935230818301528151808203830181526060909101909152805191012092915050565b60608060006130b061536f565b601189015460a0820152600c890154608082018190526001600160401b03811180156130db57600080fd5b50604051908082528060200260200182016040528015613105578160200160208202803683370190505b50815260808101516001600160401b038111801561312257600080fd5b5060405190808252806020026020018201604052801561314c578160200160208202803683370190505b5060208201526000805b82608001518110156132c957600087828151811061317057fe5b60200260200101519050600089838151811061318857fe5b602002602001015190508b6101400151811180156131aa57508b610160015181105b806131f657508b61014001518114806131c757508b610160015181145b80156131f657506000838152600d8e0160205260409020600101546131f6908c906001600160a01b03166149b7565b1561322c578460a001516127100382028560000151848151811061321657fe5b6020908102919091010152604085018051830190525b808c610180015110801561324457508b6101a0015181105b15613276578460a0015182028560200151848151811061326057fe5b6020908102919091010152606085018051830190525b60008560000151848151811061328857fe5b602002602001015111806132b357506000856020015184815181106132a957fe5b6020026020010151115b156132bf576001909301925b5050600101613156565b50806001600160401b03811180156132e057600080fd5b5060405190808252806020026020018201604052801561330a578160200160208202803683370190505b509450806001600160401b038111801561332357600080fd5b5060405190808252806020026020018201604052801561334d578160200160208202803683370190505b5093506000905060005b82608001518110156134bb5760008360000151828151811061337557fe5b602002602001015111806133a0575060008360200151828151811061339657fe5b6020026020010151115b156134b35760008360600151116133b85760016133be565b82606001515b83518051839081106133cc57fe5b6020026020010151028583815181106133e157fe5b602002602001018181510191508181525050600083604001511161340657600161340c565b82604001515b8360200151828151811061341c57fe5b60200260200101510285838151811061343157fe5b602090810291909101810180519092019091526000828152600d8d01909152604090206001015486516001600160a01b039091169087908490811061347257fe5b60200260200101906001600160a01b031690816001600160a01b03168152505084828151811061349e57fe5b60200260200101518401935081806001019250505b600101613357565b505050955095509592505050565b60007f00000000000000000000000000000000000000000000000000000000000000008210156134fb57506000611560565b7f00000000000000000000000000000000000000000000000000000000000000007f000000000000000000000000000000000000000000000000000000000000000083038161354657fe5b049050611560565b604080518082018252600f81526e4654534f206e6f742061637469766560881b6020808301918252925162461bcd60e51b81526004810193845282516024820152825192939283926044909201919080838360008315610d8a578181015183820152602001610d72565b60006005817f000000000000000000000000000000000000000000000000000000000000000084816135e657fe5b0681526020019081526020016000209050806002015482146040518060400160405280601881526020017f45706f63682064617461206e6f7420617661696c61626c650000000000000000815250906127265760405162461bcd60e51b8152602060048201818152835160248401528351909283926044909101919085019080838360008315610d8a578181015183820152602001610d72565b82516060906000816001600160401b038111801561369d57600080fd5b506040519080825280602002602001820160405280156136c7578160200160208202803683370190505b5090506000805b838110156137b05760006001600160a01b03168882815181106136ed57fe5b60200260200101516001600160a01b03161415613709576137a8565b600061378087838151811061371a57fe5b60200260200101518b60010160008c868151811061373457fe5b60200260200101516001600160a01b03166001600160a01b03168152602001908152602001600020548a858151811061376957fe5b60200260200101516148ab9092919063ffffffff16565b90508084838151811061378f57fe5b60209081029190910101526137a483826149f2565b9250505b6001016136ce565b50801561381b5760005b83811015613819576137fa6137ed6127108884815181106137d757fe5b6020026020010151614a4c90919063ffffffff16565b8385848151811061376957fe5b83828151811061380657fe5b60209081029190910101526001016137ba565b505b509695505050505050565b8151606090806001600160401b038111801561384157600080fd5b5060405190808252806020026020018201604052801561386b578160200160208202803683370190505b50915060005b818110156139515760006001600160a01b031685828151811061389057fe5b60200260200101516001600160a01b03161461392e5760008660010160008784815181106138ba57fe5b60200260200101516001600160a01b03166001600160a01b0316815260200190815260200160002054905061391061271064e8d4a51000816138f857fe5b04670de0b6b3a7640000028287858151811061376957fe5b84838151811061391c57fe5b60200260200101818152505050613949565b600083828151811061393c57fe5b6020026020010181815250505b600101613871565b50509392505050565b600080805b8551811015613a185760006001600160a01b031686828151811061397f57fe5b60200260200101516001600160a01b031614613a105760006127106139f88784815181106139a957fe5b60200260200101518a60010160008b87815181106139c357fe5b60200260200101516001600160a01b03166001600160a01b031681526020019081526020016000205488868151811061376957fe5b816139ff57fe5b049050613a0c83826149f2565b9250505b60010161395f565b5095945050505050565b6000808360050154831015613a395750600061233b565b83600601548310613a4d575061138861233b565b600584015460068501546101f491908190039085036111940281613a6d57fe5b0401949350505050565b8215613a93576002546001600160801b0316600f830155613a9b565b6000600f8301555b80613aa7576003613aaa565b60055b60108301805460ff19166001836005811115613ac257fe5b021790555060048054610100600160f81b031916610100426001600160f01b03160217808255601084015460ff1691906001600160f81b0316600160f81b836005811115613b0c57fe5b0217905550613b1a83610b9e565b827f1856740832ecbdceafeb109e01b188b9c0499df6a33dc8129aa0dd8f9d9a9db083600f015460008060008060008960100160009054906101000a900460ff1642604051808981526020018815158152602001878152602001868152602001858152602001848152602001836005811115613b9257fe5b81526020018281526020019850505050505050505060405180910390a25060010180546001600160f81b0316905550565b60408051808201909152600e81526d0a0e4d2c6ca40e8dede40d0d2ced60931b6020820152600160801b8310613c3a5760405162461bcd60e51b8152602060048201818152835160248401528351909283926044909101919085019080838360008315610d8a578181015183820152602001610d72565b50613c4483614aa5565b6040518060400160405280601881526020017f52657665616c20706572696f64206e6f7420616374697665000000000000000081525090613cc65760405162461bcd60e51b8152602060048201818152835160248401528351909283926044909101919085019080838360008315610d8a578181015183820152602001610d72565b5060006005817f00000000000000000000000000000000000000000000000000000000000000008681613cf557fe5b0681526020810191909152604001600020600181015490915060ff600160f81b8204811691600160f01b8104909116906001600160f01b03168180613d5a5750828015613d5a57506001600160a01b0388166000908152600f602052604090205460ff165b6040518060400160405280602081526020017f45706f6368206e6f7420696e697469616c697a656420666f722072657665616c81525090613ddc5760405162461bcd60e51b8152602060048201818152835160248401528351909283926044909101919085019080838360008315610d8a578181015183820152602001610d72565b50600080613ded868b898887614ae8565b9092509050613e016005878c85858d614b48565b604080518981524260208201528082018490526060810183905290518a916001600160a01b038d16917fc1b1d37612887c207efe8cb44f4069b7f10c45edaf6e8405648a94e02b6e9ec79181900360800190a350505050505050505050565b600c820154600090815b81811015613ead576000818152600d860160205260409020600101546001600160a01b0385811691161415613ea5576001019150611d6a9050565b600101613e6a565b506000949350505050565b7f0000000000000000000000000000000000000000000000000000000000000000600182017f00000000000000000000000000000000000000000000000000000000000000000201919050565b6060806060613f126123ce565b6012805480602002602001604051908101604052809291908181526020018280548015613f6857602002820191906000526020600020905b81546001600160a01b03168152600190910190602001808311613f4a575b5050505050925082516001600160401b0381118015613f8657600080fd5b50604051908082528060200260200182016040528015613fb0578160200160208202803683370190505b50915082516001600160401b0381118015613fca57600080fd5b50604051908082528060200260200182016040528015613ff4578160200160208202803683370190505b50905060005b83518110156140f55761402e84828151811061401257fe5b60209081029190910101516007546001600160f01b03166140fb565b83828151811061403a57fe5b6020026020010181815250506013818154811061405357fe5b9060005260206000200160009054906101000a90046001600160a01b03166001600160a01b031663eb91d37e6040518163ffffffff1660e01b8152600401604080518083038186803b1580156140a857600080fd5b505afa1580156140bc573d6000803e3d6000fd5b505050506040513d60408110156140d257600080fd5b505182518390839081106140e257fe5b6020908102919091010152600101613ffa565b50909192565b60006001600160a01b03831661411357506000611d6a565b826001600160a01b031663caeb942b836040518263ffffffff1660e01b815260040180828152602001915050602060405180830381600087803b15801561415957600080fd5b505af115801561416d573d6000803e3d6000fd5b505050506040513d602081101561418357600080fd5b50519050611d6a565b6141998787858585614c98565b60078701546003808801919091556008880154600488015560058701869055600687018590558701546141d49085816141ce57fe5b046125aa565b86546001600160801b0319166001600160801b0391909116178655600487015460078701546142059190816141ce57fe5b86546001600160801b03918216600160801b02911617865550505060018301805460ff60f01b1916600160f01b1790555050600b8201546011820155600c90910154601290910155565b60006001600160a01b0384166142675750600061233b565b836001600160a01b031663e587497e84846040518363ffffffff1660e01b815260040180836001600160a01b0316815260200182815260200192505050602060405180830381600087803b1580156142be57600080fd5b505af11580156142d2573d6000803e3d6000fd5b505050506040513d60208110156142e857600080fd5b5051949350505050565b60007f000000000000000000000000000000000000000000000000000000000000000061431e83613eb8565b0192915050565b600c830154606090806001600160401b038111801561434357600080fd5b5060405190808252806020026020018201604052801561436d578160200160208202803683370190505b509150600061437b85614d01565b9050600061438885614d01565b9050600080614398898585614d46565b905083156143a857806127100391505b60005b8581101561442f57600083156143f1576143ee8a83815181106143ca57fe5b602002602001015164e8d4a51000026127108802866148ab9092919063ffffffff16565b90505b6000831561440b576144088a84815181106143ca57fe5b90505b80820189848151811061441a57fe5b602090810291909101015250506001016143ab565b5050505050509392505050565b6000806000888a1415614456575088915086905085614709565b61445e6153a5565b888152602081018890526144706153e2565b60208082018d905260408083018d90528051448184015242818301528151808203830181526060909101909152805191012060005b602083015160408401516144d791908160018183030186816144c357fe5b0601876000015188602001518f8f8f614dad565b606087015260408601528084528a518b919081106144f157fe5b60200260200101518360600181815250508783606001518151811061451257fe5b6020026020010151846080018181525050836060015184604001518560800151010190508e600214156145ed5760028106600282040160a0850181905280820360c086015260408501511080159061456d57508b8460a00151115b15614592578251600019016040840152606084015160808501510160208501526145e8565b8360c0015184606001511180156145ac57508a8460c00151115b156145cd5782516001016020840152604084015160808501510184526145e8565b50505160408201516060909201519094509092509050614709565b614704565b8e6001141561467e576004810460a0850181905280820360c0860152604085015111801561461e57508b8460a00151115b15614643578251600019016040840152606084015160808501510160208501526145e8565b8360c001518460600151101580156145ac57508a8460c0015111156145cd5782516001016020840152604084015160808501510184526145e8565b6004810460c08501819052810360a085018190526040850151108015906146a857508b8460a00151115b156146cd57825160001901604084015260608401516080850151016020850152614704565b8360c0015184606001511180156146e757508a8460c00151115b156145cd5782516001016020840152604084015160808501510184525b6144a5565b985098509895505050505050565b60008385141561474f578183868151811061472e57fe5b60200260200101518151811061474057fe5b60200260200101519050612eb7565b60008284876001018151811061476157fe5b60200260200101518151811061477357fe5b602002602001015190506000808760020190505b8681116147cb578486828151811061479b57fe5b6020026020010151815181106147ad57fe5b60200260200101519150828210156147c3578192505b600101614787565b50909695505050505050565b60008085888a03880282136147f2578987925092505061489f565b600085878c8151811061480157fe5b60200260200101518151811061481357fe5b602090810291909101015190508a89016000815b60008c8e830302136148935789818151811061483f57fe5b602002602001015191508389838151811061485657fe5b6020026020010151141561488c5787828151811061487057fe5b60200260200101518503945061488783828c614f76565b918b01915b8b01614827565b50508990039350909150505b97509795505050505050565b60008082116148f4576040805162461bcd60e51b815260206004820152601060248201526f4469766973696f6e206279207a65726f60801b604482015290519081900360640190fd5b836149015750600061233b565b8383028385828161490e57fe5b0414156149275782818161491e57fe5b0491505061233b565b600083868161493257fe5b049050600084878161494057fe5b069050600085878161494e57fe5b049050600086888161495c57fe5b0690506149aa614976886149708685614a4c565b90614fde565b6149a46149838686614a4c565b6149a46149908987614a4c565b6149a48d61499e8c8b614a4c565b90614a4c565b906149f2565b9998505050505050505050565b604080516020808201949094526001600160a01b03929092168282015280518083038201815260609092019052805191012060019081161490565b60008282018381101561233b576040805162461bcd60e51b815260206004820152601b60248201527f536166654d6174683a206164646974696f6e206f766572666c6f770000000000604482015290519081900360640190fd5b600082614a5b57506000611d6a565b82820282848281614a6857fe5b041461233b5760405162461bcd60e51b81526004018080602001828103825260218152602001806154b06021913960400191505060405180910390fd5b600080614ab183613eb8565b905042811115801561233b57507f000000000000000000000000000000000000000000000000000000000000000001421092915050565b6000808315614afc57506000905080614b3e565b849150614b0a878785615045565b87549091506001600160801b0380821691600160801b90041681841115614b2f578193505b80831115614b3b578092505b50505b9550959350505050565b600085600c015490506000614b698686868a600601548b6007015488615103565b63ffffffff838116608083019081526000858152600d8b0160209081526040918290208551815492870151938701516001600160801b03199093166001600160801b039091161767ffffffffffffffff60801b1916600160801b6001600160401b0394851602176001600160c01b0316600160c01b939092169290920217815560608401516001918201805493516001600160a01b03199094166001600160a01b039092169190911763ffffffff60a01b1916600160a01b93851693909302929092179091558401600c8a01556008890154919250614c4b919087906149f216565b60088801556001600160a01b0386166000908152600a8901602052604090205460ff1615614c8e57600e8701805460018101825560009182526020909120018390555b5050505050505050565b8251614cad90600a8601906020860190615281565b50614cba85848484613680565b8051614cd091600b87019160209091019061540a565b506000614cde868685615160565b600786018190559050614cf18682613a22565b8560090181905550505050505050565b600080805b8351811015614d3f57614d35848281518110614d1e57fe5b6020026020010151836149f290919063ffffffff16565b9150600101614d06565b5092915050565b600081614d555750600061233b565b82614d63575061271061233b565b6000614d778361271064e8d4a510006148ab565b905084600301548110614d90575050600983015461233b565b60038501546009860154614da59183906148ab565b91505061233b565b60008060008085878b81518110614dc057fe5b602002602001015181518110614dd257fe5b60200260200101519050600060026001600160401b0381118015614df557600080fd5b50604051908082528060200260200182016040528015614e1f578160200160208202803683370190505b5090508981600081518110614e3057fe5b6020026020010181815250508881600181518110614e4a57fe5b60209081029190910101528c8c614e628d828c614f76565b81805b82811015614f265760008c8281518110614e7b57fe5b60200260200101519050868c8281518110614e9257fe5b60200260200101511015614ee9578a8181518110614eac57fe5b602002602001015186600081518110614ec157fe5b602002602001018181510191508181525050614ede83838f614f76565b600190920191614f1d565b8a8181518110614ef557fe5b602002602001015186600181518110614f0a57fe5b6020026020010181815101915081815250505b50600101614e65565b50614f3282828d614f76565b8084600081518110614f4057fe5b602002602001015185600181518110614f5557fe5b60200260200101519750975097505050505050985098509895505050505050565b81831415614f8357612959565b808281518110614f8f57fe5b6020026020010151818481518110614fa357fe5b6020026020010151828581518110614fb757fe5b60200260200101838581518110614fca57fe5b602090810291909101019190915252505050565b6000808211615034576040805162461bcd60e51b815260206004820152601a60248201527f536166654d6174683a206469766973696f6e206279207a65726f000000000000604482015290519081900360640190fd5b81838161503d57fe5b049392505050565b600a83015460009081906001600160401b038111801561506457600080fd5b5060405190808252806020026020018201604052801561508e578160200160208202803683370190505b50905060005b600a8601548110156150ed576150ce86600a0182815481106150b257fe5b6000918252602090912001546001600160a01b0316868661424f565b8282815181106150da57fe5b6020908102919091010152600101615094565b506150fa60058683615160565b95945050505050565b61510b615445565b6001600160a01b03871660608201526151248685615250565b6001600160401b0316602082015261513c8584615250565b6001600160401b031660408201526001600160801b03909116815295945050505050565b600080805b600a8501548110156152475760006001600160a01b031685600a01828154811061518b57fe5b6000918252602090912001546001600160a01b031614156151ab5761523f565b61523c61271061522c8684815181106151c057fe5b60200260200101518960010160008a600a0187815481106151dd57fe5b60009182526020808320909101546001600160a01b03168352820192909252604001902054600b8a0180548790811061521257fe5b90600052602060002001546148ab9092919063ffffffff16565b8161523357fe5b849190046149f2565b91505b600101615165565b50949350505050565b600081158061525d575082155b1561526a57506000611d6a565b61527a8364e8d4a51000846148ab565b9050611d6a565b8280548282559060005260206000209081019282156152d6579160200282015b828111156152d657825182546001600160a01b0319166001600160a01b039091161782556020909201916001909101906152a1565b506125ee929150615473565b604051806101c0016040528060008152602001600081526020016000815260200160008152602001600081526020016000815260200160008152602001600081526020016000815260200160008152602001600081526020016000815260200160008152602001600081525090565b5080546000825590600052602060002090810190610b9e9190615473565b6040518060c001604052806060815260200160608152602001600081526020016000815260200160008152602001600081525090565b6040518060e00160405280600081526020016000815260200160008152602001600081526020016000815260200160008152602001600081525090565b6040518060800160405280600081526020016000815260200160008152602001600081525090565b8280548282559060005260206000209081019282156152d6579160200282015b828111156152d657825182559160200191906001019061542a565b6040805160a08101825260008082526020820181905291810182905260608101829052608081019190915290565b5b808211156125ee576000815560010161547456fe53616665436173743a2076616c756520646f65736e27742066697420696e203132382062697473536166654d6174683a206d756c7469706c69636174696f6e206f766572666c6f77a264697066735822122002bc9811f20f57e65d27b6184213730460ebb2245fceef8b508666535e51327664736f6c63430007060033",
1037
+ "linkReferences": {},
1038
+ "deployedLinkReferences": {}
1039
+ }