@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,1104 @@
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": "submitter",
191
+ "type": "address"
192
+ },
193
+ {
194
+ "indexed": true,
195
+ "internalType": "uint256",
196
+ "name": "epochId",
197
+ "type": "uint256"
198
+ },
199
+ {
200
+ "indexed": false,
201
+ "internalType": "bytes32",
202
+ "name": "hash",
203
+ "type": "bytes32"
204
+ },
205
+ {
206
+ "indexed": false,
207
+ "internalType": "uint256",
208
+ "name": "timestamp",
209
+ "type": "uint256"
210
+ }
211
+ ],
212
+ "name": "PriceHashSubmitted",
213
+ "type": "event"
214
+ },
215
+ {
216
+ "anonymous": false,
217
+ "inputs": [
218
+ {
219
+ "indexed": true,
220
+ "internalType": "address",
221
+ "name": "voter",
222
+ "type": "address"
223
+ },
224
+ {
225
+ "indexed": true,
226
+ "internalType": "uint256",
227
+ "name": "epochId",
228
+ "type": "uint256"
229
+ },
230
+ {
231
+ "indexed": false,
232
+ "internalType": "uint256",
233
+ "name": "price",
234
+ "type": "uint256"
235
+ },
236
+ {
237
+ "indexed": false,
238
+ "internalType": "uint256",
239
+ "name": "random",
240
+ "type": "uint256"
241
+ },
242
+ {
243
+ "indexed": false,
244
+ "internalType": "uint256",
245
+ "name": "timestamp",
246
+ "type": "uint256"
247
+ },
248
+ {
249
+ "indexed": false,
250
+ "internalType": "uint256",
251
+ "name": "votePowerNat",
252
+ "type": "uint256"
253
+ },
254
+ {
255
+ "indexed": false,
256
+ "internalType": "uint256",
257
+ "name": "votePowerAsset",
258
+ "type": "uint256"
259
+ }
260
+ ],
261
+ "name": "PriceRevealed",
262
+ "type": "event"
263
+ },
264
+ {
265
+ "inputs": [],
266
+ "name": "ASSET_PRICE_USD_DECIMALS",
267
+ "outputs": [
268
+ {
269
+ "internalType": "uint256",
270
+ "name": "",
271
+ "type": "uint256"
272
+ }
273
+ ],
274
+ "stateMutability": "view",
275
+ "type": "function"
276
+ },
277
+ {
278
+ "inputs": [
279
+ {
280
+ "internalType": "uint256",
281
+ "name": "_firstEpochStartTs",
282
+ "type": "uint256"
283
+ },
284
+ {
285
+ "internalType": "uint256",
286
+ "name": "_submitPeriodSeconds",
287
+ "type": "uint256"
288
+ },
289
+ {
290
+ "internalType": "uint256",
291
+ "name": "_revealPeriodSeconds",
292
+ "type": "uint256"
293
+ }
294
+ ],
295
+ "name": "activateFtso",
296
+ "outputs": [],
297
+ "stateMutability": "nonpayable",
298
+ "type": "function"
299
+ },
300
+ {
301
+ "inputs": [],
302
+ "name": "active",
303
+ "outputs": [
304
+ {
305
+ "internalType": "bool",
306
+ "name": "",
307
+ "type": "bool"
308
+ }
309
+ ],
310
+ "stateMutability": "view",
311
+ "type": "function"
312
+ },
313
+ {
314
+ "inputs": [
315
+ {
316
+ "internalType": "uint256",
317
+ "name": "",
318
+ "type": "uint256"
319
+ }
320
+ ],
321
+ "name": "assetFtsos",
322
+ "outputs": [
323
+ {
324
+ "internalType": "contract IIFtso",
325
+ "name": "",
326
+ "type": "address"
327
+ }
328
+ ],
329
+ "stateMutability": "view",
330
+ "type": "function"
331
+ },
332
+ {
333
+ "inputs": [
334
+ {
335
+ "internalType": "uint256",
336
+ "name": "",
337
+ "type": "uint256"
338
+ }
339
+ ],
340
+ "name": "assets",
341
+ "outputs": [
342
+ {
343
+ "internalType": "contract IIVPToken",
344
+ "name": "",
345
+ "type": "address"
346
+ }
347
+ ],
348
+ "stateMutability": "view",
349
+ "type": "function"
350
+ },
351
+ {
352
+ "inputs": [
353
+ {
354
+ "internalType": "uint256",
355
+ "name": "_maxVotePowerNatThresholdFraction",
356
+ "type": "uint256"
357
+ },
358
+ {
359
+ "internalType": "uint256",
360
+ "name": "_maxVotePowerAssetThresholdFraction",
361
+ "type": "uint256"
362
+ },
363
+ {
364
+ "internalType": "uint256",
365
+ "name": "_lowAssetUSDThreshold",
366
+ "type": "uint256"
367
+ },
368
+ {
369
+ "internalType": "uint256",
370
+ "name": "_highAssetUSDThreshold",
371
+ "type": "uint256"
372
+ },
373
+ {
374
+ "internalType": "uint256",
375
+ "name": "_highAssetTurnoutThresholdBIPS",
376
+ "type": "uint256"
377
+ },
378
+ {
379
+ "internalType": "uint256",
380
+ "name": "_lowNatTurnoutThresholdBIPS",
381
+ "type": "uint256"
382
+ },
383
+ {
384
+ "internalType": "uint256",
385
+ "name": "_elasticBandRewardBIPS",
386
+ "type": "uint256"
387
+ },
388
+ {
389
+ "internalType": "uint256",
390
+ "name": "_elasticBandWidthPPM",
391
+ "type": "uint256"
392
+ },
393
+ {
394
+ "internalType": "address[]",
395
+ "name": "_trustedAddresses",
396
+ "type": "address[]"
397
+ }
398
+ ],
399
+ "name": "configureEpochs",
400
+ "outputs": [],
401
+ "stateMutability": "nonpayable",
402
+ "type": "function"
403
+ },
404
+ {
405
+ "inputs": [],
406
+ "name": "deactivateFtso",
407
+ "outputs": [],
408
+ "stateMutability": "nonpayable",
409
+ "type": "function"
410
+ },
411
+ {
412
+ "inputs": [],
413
+ "name": "epochsConfiguration",
414
+ "outputs": [
415
+ {
416
+ "internalType": "uint256",
417
+ "name": "_maxVotePowerNatThresholdFraction",
418
+ "type": "uint256"
419
+ },
420
+ {
421
+ "internalType": "uint256",
422
+ "name": "_maxVotePowerAssetThresholdFraction",
423
+ "type": "uint256"
424
+ },
425
+ {
426
+ "internalType": "uint256",
427
+ "name": "_lowAssetUSDThreshold",
428
+ "type": "uint256"
429
+ },
430
+ {
431
+ "internalType": "uint256",
432
+ "name": "_highAssetUSDThreshold",
433
+ "type": "uint256"
434
+ },
435
+ {
436
+ "internalType": "uint256",
437
+ "name": "_highAssetTurnoutThresholdBIPS",
438
+ "type": "uint256"
439
+ },
440
+ {
441
+ "internalType": "uint256",
442
+ "name": "_lowNatTurnoutThresholdBIPS",
443
+ "type": "uint256"
444
+ },
445
+ {
446
+ "internalType": "uint256",
447
+ "name": "_elasticBandRewardBIPS",
448
+ "type": "uint256"
449
+ },
450
+ {
451
+ "internalType": "uint256",
452
+ "name": "_elasticBandWidthPPM",
453
+ "type": "uint256"
454
+ },
455
+ {
456
+ "internalType": "address[]",
457
+ "name": "_trustedAddresses",
458
+ "type": "address[]"
459
+ }
460
+ ],
461
+ "stateMutability": "view",
462
+ "type": "function"
463
+ },
464
+ {
465
+ "inputs": [
466
+ {
467
+ "internalType": "uint256",
468
+ "name": "_epochId",
469
+ "type": "uint256"
470
+ }
471
+ ],
472
+ "name": "fallbackFinalizePriceEpoch",
473
+ "outputs": [],
474
+ "stateMutability": "nonpayable",
475
+ "type": "function"
476
+ },
477
+ {
478
+ "inputs": [
479
+ {
480
+ "internalType": "uint256",
481
+ "name": "_epochId",
482
+ "type": "uint256"
483
+ },
484
+ {
485
+ "internalType": "bool",
486
+ "name": "_returnRewardData",
487
+ "type": "bool"
488
+ }
489
+ ],
490
+ "name": "finalizePriceEpoch",
491
+ "outputs": [
492
+ {
493
+ "internalType": "address[]",
494
+ "name": "_eligibleAddresses",
495
+ "type": "address[]"
496
+ },
497
+ {
498
+ "internalType": "uint256[]",
499
+ "name": "_natWeights",
500
+ "type": "uint256[]"
501
+ },
502
+ {
503
+ "internalType": "uint256",
504
+ "name": "_natWeightsSum",
505
+ "type": "uint256"
506
+ }
507
+ ],
508
+ "stateMutability": "nonpayable",
509
+ "type": "function"
510
+ },
511
+ {
512
+ "inputs": [
513
+ {
514
+ "internalType": "uint256",
515
+ "name": "_epochId",
516
+ "type": "uint256"
517
+ }
518
+ ],
519
+ "name": "forceFinalizePriceEpoch",
520
+ "outputs": [],
521
+ "stateMutability": "nonpayable",
522
+ "type": "function"
523
+ },
524
+ {
525
+ "inputs": [],
526
+ "name": "ftsoManager",
527
+ "outputs": [
528
+ {
529
+ "internalType": "address",
530
+ "name": "",
531
+ "type": "address"
532
+ }
533
+ ],
534
+ "stateMutability": "view",
535
+ "type": "function"
536
+ },
537
+ {
538
+ "inputs": [],
539
+ "name": "getAsset",
540
+ "outputs": [
541
+ {
542
+ "internalType": "contract IIVPToken",
543
+ "name": "",
544
+ "type": "address"
545
+ }
546
+ ],
547
+ "stateMutability": "view",
548
+ "type": "function"
549
+ },
550
+ {
551
+ "inputs": [],
552
+ "name": "getAssetFtsos",
553
+ "outputs": [
554
+ {
555
+ "internalType": "contract IIFtso[]",
556
+ "name": "",
557
+ "type": "address[]"
558
+ }
559
+ ],
560
+ "stateMutability": "view",
561
+ "type": "function"
562
+ },
563
+ {
564
+ "inputs": [],
565
+ "name": "getCurrentEpochId",
566
+ "outputs": [
567
+ {
568
+ "internalType": "uint256",
569
+ "name": "",
570
+ "type": "uint256"
571
+ }
572
+ ],
573
+ "stateMutability": "view",
574
+ "type": "function"
575
+ },
576
+ {
577
+ "inputs": [],
578
+ "name": "getCurrentPrice",
579
+ "outputs": [
580
+ {
581
+ "internalType": "uint256",
582
+ "name": "_price",
583
+ "type": "uint256"
584
+ },
585
+ {
586
+ "internalType": "uint256",
587
+ "name": "_timestamp",
588
+ "type": "uint256"
589
+ }
590
+ ],
591
+ "stateMutability": "view",
592
+ "type": "function"
593
+ },
594
+ {
595
+ "inputs": [],
596
+ "name": "getCurrentPriceDetails",
597
+ "outputs": [
598
+ {
599
+ "internalType": "uint256",
600
+ "name": "_price",
601
+ "type": "uint256"
602
+ },
603
+ {
604
+ "internalType": "uint256",
605
+ "name": "_priceTimestamp",
606
+ "type": "uint256"
607
+ },
608
+ {
609
+ "internalType": "enum IFtso.PriceFinalizationType",
610
+ "name": "_priceFinalizationType",
611
+ "type": "uint8"
612
+ },
613
+ {
614
+ "internalType": "uint256",
615
+ "name": "_lastPriceEpochFinalizationTimestamp",
616
+ "type": "uint256"
617
+ },
618
+ {
619
+ "internalType": "enum IFtso.PriceFinalizationType",
620
+ "name": "_lastPriceEpochFinalizationType",
621
+ "type": "uint8"
622
+ }
623
+ ],
624
+ "stateMutability": "view",
625
+ "type": "function"
626
+ },
627
+ {
628
+ "inputs": [],
629
+ "name": "getCurrentPriceFromTrustedProviders",
630
+ "outputs": [
631
+ {
632
+ "internalType": "uint256",
633
+ "name": "_price",
634
+ "type": "uint256"
635
+ },
636
+ {
637
+ "internalType": "uint256",
638
+ "name": "_timestamp",
639
+ "type": "uint256"
640
+ }
641
+ ],
642
+ "stateMutability": "view",
643
+ "type": "function"
644
+ },
645
+ {
646
+ "inputs": [],
647
+ "name": "getCurrentPriceWithDecimals",
648
+ "outputs": [
649
+ {
650
+ "internalType": "uint256",
651
+ "name": "_price",
652
+ "type": "uint256"
653
+ },
654
+ {
655
+ "internalType": "uint256",
656
+ "name": "_timestamp",
657
+ "type": "uint256"
658
+ },
659
+ {
660
+ "internalType": "uint256",
661
+ "name": "_assetPriceUsdDecimals",
662
+ "type": "uint256"
663
+ }
664
+ ],
665
+ "stateMutability": "view",
666
+ "type": "function"
667
+ },
668
+ {
669
+ "inputs": [],
670
+ "name": "getCurrentPriceWithDecimalsFromTrustedProviders",
671
+ "outputs": [
672
+ {
673
+ "internalType": "uint256",
674
+ "name": "_price",
675
+ "type": "uint256"
676
+ },
677
+ {
678
+ "internalType": "uint256",
679
+ "name": "_timestamp",
680
+ "type": "uint256"
681
+ },
682
+ {
683
+ "internalType": "uint256",
684
+ "name": "_assetPriceUsdDecimals",
685
+ "type": "uint256"
686
+ }
687
+ ],
688
+ "stateMutability": "view",
689
+ "type": "function"
690
+ },
691
+ {
692
+ "inputs": [],
693
+ "name": "getCurrentRandom",
694
+ "outputs": [
695
+ {
696
+ "internalType": "uint256",
697
+ "name": "",
698
+ "type": "uint256"
699
+ }
700
+ ],
701
+ "stateMutability": "view",
702
+ "type": "function"
703
+ },
704
+ {
705
+ "inputs": [
706
+ {
707
+ "internalType": "uint256",
708
+ "name": "_timestamp",
709
+ "type": "uint256"
710
+ }
711
+ ],
712
+ "name": "getEpochId",
713
+ "outputs": [
714
+ {
715
+ "internalType": "uint256",
716
+ "name": "",
717
+ "type": "uint256"
718
+ }
719
+ ],
720
+ "stateMutability": "view",
721
+ "type": "function"
722
+ },
723
+ {
724
+ "inputs": [
725
+ {
726
+ "internalType": "uint256",
727
+ "name": "_epochId",
728
+ "type": "uint256"
729
+ }
730
+ ],
731
+ "name": "getEpochPrice",
732
+ "outputs": [
733
+ {
734
+ "internalType": "uint256",
735
+ "name": "",
736
+ "type": "uint256"
737
+ }
738
+ ],
739
+ "stateMutability": "view",
740
+ "type": "function"
741
+ },
742
+ {
743
+ "inputs": [
744
+ {
745
+ "internalType": "uint256",
746
+ "name": "_epochId",
747
+ "type": "uint256"
748
+ },
749
+ {
750
+ "internalType": "address",
751
+ "name": "_voter",
752
+ "type": "address"
753
+ }
754
+ ],
755
+ "name": "getEpochPriceForVoter",
756
+ "outputs": [
757
+ {
758
+ "internalType": "uint256",
759
+ "name": "",
760
+ "type": "uint256"
761
+ }
762
+ ],
763
+ "stateMutability": "view",
764
+ "type": "function"
765
+ },
766
+ {
767
+ "inputs": [],
768
+ "name": "getPriceEpochConfiguration",
769
+ "outputs": [
770
+ {
771
+ "internalType": "uint256",
772
+ "name": "_firstEpochStartTs",
773
+ "type": "uint256"
774
+ },
775
+ {
776
+ "internalType": "uint256",
777
+ "name": "_submitPeriodSeconds",
778
+ "type": "uint256"
779
+ },
780
+ {
781
+ "internalType": "uint256",
782
+ "name": "_revealPeriodSeconds",
783
+ "type": "uint256"
784
+ }
785
+ ],
786
+ "stateMutability": "view",
787
+ "type": "function"
788
+ },
789
+ {
790
+ "inputs": [],
791
+ "name": "getPriceEpochData",
792
+ "outputs": [
793
+ {
794
+ "internalType": "uint256",
795
+ "name": "_epochId",
796
+ "type": "uint256"
797
+ },
798
+ {
799
+ "internalType": "uint256",
800
+ "name": "_epochSubmitEndTime",
801
+ "type": "uint256"
802
+ },
803
+ {
804
+ "internalType": "uint256",
805
+ "name": "_epochRevealEndTime",
806
+ "type": "uint256"
807
+ },
808
+ {
809
+ "internalType": "uint256",
810
+ "name": "_votePowerBlock",
811
+ "type": "uint256"
812
+ },
813
+ {
814
+ "internalType": "bool",
815
+ "name": "_fallbackMode",
816
+ "type": "bool"
817
+ }
818
+ ],
819
+ "stateMutability": "view",
820
+ "type": "function"
821
+ },
822
+ {
823
+ "inputs": [
824
+ {
825
+ "internalType": "uint256",
826
+ "name": "_epochId",
827
+ "type": "uint256"
828
+ }
829
+ ],
830
+ "name": "getRandom",
831
+ "outputs": [
832
+ {
833
+ "internalType": "uint256",
834
+ "name": "",
835
+ "type": "uint256"
836
+ }
837
+ ],
838
+ "stateMutability": "view",
839
+ "type": "function"
840
+ },
841
+ {
842
+ "inputs": [],
843
+ "name": "getVoteWeightingParameters",
844
+ "outputs": [
845
+ {
846
+ "internalType": "contract IIVPToken[]",
847
+ "name": "_assets",
848
+ "type": "address[]"
849
+ },
850
+ {
851
+ "internalType": "uint256[]",
852
+ "name": "_assetMultipliers",
853
+ "type": "uint256[]"
854
+ },
855
+ {
856
+ "internalType": "uint256",
857
+ "name": "_totalVotePowerNat",
858
+ "type": "uint256"
859
+ },
860
+ {
861
+ "internalType": "uint256",
862
+ "name": "_totalVotePowerAsset",
863
+ "type": "uint256"
864
+ },
865
+ {
866
+ "internalType": "uint256",
867
+ "name": "_assetWeightRatio",
868
+ "type": "uint256"
869
+ },
870
+ {
871
+ "internalType": "uint256",
872
+ "name": "_votePowerBlock",
873
+ "type": "uint256"
874
+ }
875
+ ],
876
+ "stateMutability": "view",
877
+ "type": "function"
878
+ },
879
+ {
880
+ "inputs": [
881
+ {
882
+ "internalType": "uint256",
883
+ "name": "_circulatingSupplyNat",
884
+ "type": "uint256"
885
+ },
886
+ {
887
+ "internalType": "bool",
888
+ "name": "_fallbackMode",
889
+ "type": "bool"
890
+ }
891
+ ],
892
+ "name": "initializeCurrentEpochStateForReveal",
893
+ "outputs": [],
894
+ "stateMutability": "nonpayable",
895
+ "type": "function"
896
+ },
897
+ {
898
+ "inputs": [],
899
+ "name": "priceDeviationThresholdBIPS",
900
+ "outputs": [
901
+ {
902
+ "internalType": "uint256",
903
+ "name": "",
904
+ "type": "uint256"
905
+ }
906
+ ],
907
+ "stateMutability": "view",
908
+ "type": "function"
909
+ },
910
+ {
911
+ "inputs": [],
912
+ "name": "priceEpochCyclicBufferSize",
913
+ "outputs": [
914
+ {
915
+ "internalType": "uint256",
916
+ "name": "",
917
+ "type": "uint256"
918
+ }
919
+ ],
920
+ "stateMutability": "view",
921
+ "type": "function"
922
+ },
923
+ {
924
+ "inputs": [],
925
+ "name": "priceSubmitter",
926
+ "outputs": [
927
+ {
928
+ "internalType": "contract IPriceSubmitter",
929
+ "name": "",
930
+ "type": "address"
931
+ }
932
+ ],
933
+ "stateMutability": "view",
934
+ "type": "function"
935
+ },
936
+ {
937
+ "inputs": [
938
+ {
939
+ "internalType": "address",
940
+ "name": "_voter",
941
+ "type": "address"
942
+ },
943
+ {
944
+ "internalType": "uint256",
945
+ "name": "_epochId",
946
+ "type": "uint256"
947
+ },
948
+ {
949
+ "internalType": "uint256",
950
+ "name": "_price",
951
+ "type": "uint256"
952
+ },
953
+ {
954
+ "internalType": "uint256",
955
+ "name": "_random",
956
+ "type": "uint256"
957
+ },
958
+ {
959
+ "internalType": "uint256",
960
+ "name": "_voterWNatVP",
961
+ "type": "uint256"
962
+ }
963
+ ],
964
+ "name": "revealPriceSubmitter",
965
+ "outputs": [],
966
+ "stateMutability": "nonpayable",
967
+ "type": "function"
968
+ },
969
+ {
970
+ "inputs": [
971
+ {
972
+ "internalType": "contract IIVPToken",
973
+ "name": "_asset",
974
+ "type": "address"
975
+ }
976
+ ],
977
+ "name": "setAsset",
978
+ "outputs": [],
979
+ "stateMutability": "nonpayable",
980
+ "type": "function"
981
+ },
982
+ {
983
+ "inputs": [
984
+ {
985
+ "internalType": "contract IIFtso[]",
986
+ "name": "_assetFtsos",
987
+ "type": "address[]"
988
+ }
989
+ ],
990
+ "name": "setAssetFtsos",
991
+ "outputs": [],
992
+ "stateMutability": "nonpayable",
993
+ "type": "function"
994
+ },
995
+ {
996
+ "inputs": [
997
+ {
998
+ "internalType": "uint256",
999
+ "name": "_votePowerBlock",
1000
+ "type": "uint256"
1001
+ }
1002
+ ],
1003
+ "name": "setVotePowerBlock",
1004
+ "outputs": [],
1005
+ "stateMutability": "nonpayable",
1006
+ "type": "function"
1007
+ },
1008
+ {
1009
+ "inputs": [
1010
+ {
1011
+ "internalType": "address",
1012
+ "name": "_sender",
1013
+ "type": "address"
1014
+ },
1015
+ {
1016
+ "internalType": "uint256",
1017
+ "name": "_epochId",
1018
+ "type": "uint256"
1019
+ },
1020
+ {
1021
+ "internalType": "bytes32",
1022
+ "name": "_hash",
1023
+ "type": "bytes32"
1024
+ }
1025
+ ],
1026
+ "name": "submitPriceHashSubmitter",
1027
+ "outputs": [],
1028
+ "stateMutability": "nonpayable",
1029
+ "type": "function"
1030
+ },
1031
+ {
1032
+ "inputs": [],
1033
+ "name": "symbol",
1034
+ "outputs": [
1035
+ {
1036
+ "internalType": "string",
1037
+ "name": "",
1038
+ "type": "string"
1039
+ }
1040
+ ],
1041
+ "stateMutability": "view",
1042
+ "type": "function"
1043
+ },
1044
+ {
1045
+ "inputs": [
1046
+ {
1047
+ "internalType": "uint256",
1048
+ "name": "_initialPriceUSD",
1049
+ "type": "uint256"
1050
+ },
1051
+ {
1052
+ "internalType": "uint256",
1053
+ "name": "_initialPriceTimestamp",
1054
+ "type": "uint256"
1055
+ }
1056
+ ],
1057
+ "name": "updateInitialPrice",
1058
+ "outputs": [],
1059
+ "stateMutability": "nonpayable",
1060
+ "type": "function"
1061
+ },
1062
+ {
1063
+ "inputs": [],
1064
+ "name": "wNat",
1065
+ "outputs": [
1066
+ {
1067
+ "internalType": "contract IIVPToken",
1068
+ "name": "",
1069
+ "type": "address"
1070
+ }
1071
+ ],
1072
+ "stateMutability": "view",
1073
+ "type": "function"
1074
+ },
1075
+ {
1076
+ "inputs": [
1077
+ {
1078
+ "internalType": "address",
1079
+ "name": "_owner",
1080
+ "type": "address"
1081
+ },
1082
+ {
1083
+ "internalType": "uint256",
1084
+ "name": "_epochId",
1085
+ "type": "uint256"
1086
+ }
1087
+ ],
1088
+ "name": "wNatVotePowerCached",
1089
+ "outputs": [
1090
+ {
1091
+ "internalType": "uint256",
1092
+ "name": "",
1093
+ "type": "uint256"
1094
+ }
1095
+ ],
1096
+ "stateMutability": "nonpayable",
1097
+ "type": "function"
1098
+ }
1099
+ ],
1100
+ "bytecode": "0x6101a06040523480156200001257600080fd5b5060405162005afb38038062005afb83398181016040526101608110156200003957600080fd5b81019080805160405193929190846401000000008211156200005a57600080fd5b9083019060208201858111156200007057600080fd5b82516401000000008111828201881017156200008b57600080fd5b82525081516020918201929091019080838360005b83811015620000ba578181015183820152602001620000a0565b50505050905090810190601f168015620000e85780820380516001836020036101000a031916815260200191505b506040908152602082810151918301516060840151608085015160a086015160c087015160e08801516101008901516101208a0151610140909a01518d51999c50969a5094989397929691959094939290916200014b916001918e0190620001c9565b5060c0999099526001600160601b0319606098891b81166101805296881b8716610140529490961b9094166101605260e091909152610100526101209190915260028054426001600160801b03908116600160801b029481166001600160801b031990921691909117169290921790915560805260a0525062000275565b828054600181600116156101000203166002900490600052602060002090601f0160209004810192826200020157600085556200024c565b82601f106200021c57805160ff19168380011785556200024c565b828001600101855582156200024c579182015b828111156200024c5782518255916020019190600101906200022f565b506200025a9291506200025e565b5090565b5b808211156200025a57600081556001016200025f565b60805160a05160c05160e05161010051610120516101405160601c6101605160601c6101805160601c6157616200039a60003980610d30528061166d5280612424525080610acd5280610afa5280610d78528061106952806111b7528061158b528061161752806116b95280611d115280611e5b528061212852806121dd525080611bc25280611d6b52806122f752806123e0525080610c285280610fdf528061209552806145235280614c3a525080610c075280610f3c52806136b1528061410c525080610be65280610e99528061368152806136d252806140e7525080611183528061188952806118af52508061131e5280611f7752806120bf52806121b0528061221d528061389e5280613a895250806112f35280611e0952506157616000f3fe608060405234801561001057600080fd5b50600436106102535760003560e01c8063826cc76b11610146578063cf35bdd0116100c3578063e536f39611610087578063e536f396146109fd578063eb91d37e14610a1a578063f025bf6614610a22578063f670ebe314610a2a578063f72cab2814610a4f578063f937d6ad14610a7b57610253565b8063cf35bdd0146108e9578063d0d552dd14610906578063d89601fd1461092c578063e3749e0c14610934578063e3b3a3b3146109c857610253565b8063a29a839f1161010a578063a29a839f1461086f578063af52df0814610877578063c5d8b9e714610898578063cc245ab5146108c4578063cd4b6914146108cc57610253565b8063826cc76b146106f35780638357d08c1461071057806395d89b41146107cd578063974d7a6b1461084a5780639edbf0071461086757610253565b806340462a2d116101d45780635a3c9d8e116101985780635a3c9d8e146105e85780635c222bad146106be57806365f5cd86146106c65780636b52b242146106ce5780637d1d6f12146106d657610253565b806340462a2d146104915780634afd5102146105565780635303548b14610573578063555989da146105a257806355f7b69b146105aa57610253565b806318931c351161021b57806318931c35146103b357806327bd2ad51461040b5780632f0a6f3c1461043d578063306ba253146104665780633cacb3ae1461048957610253565b806302fb0c5e14610258578063040d73b81461027457806311a7aaaa146102c4578063131fdee2146102e8578063144e15911461038d575b600080fd5b610260610a83565b604080519115158252519081900360200190f35b61027c610a8c565b6040518086815260200185815260200184600581111561029857fe5b81526020018381526020018260058111156102af57fe5b81526020019550505050505060405180910390f35b6102cc610acb565b604080516001600160a01b039092168252519081900360200190f35b61038b600480360360208110156102fe57600080fd5b81019060208101813564010000000081111561031957600080fd5b82018360208201111561032b57600080fd5b8035906020019184602083028401116401000000008311171561034d57600080fd5b919080806020026020016040519081016040528093929190818152602001838360200280828437600092019190915250929550610aef945050505050565b005b610395610be4565b60408051938452602084019290925282820152519081900360600190f35b6103bb610c4c565b60408051602080825283518183015283519192839290830191858101910280838360005b838110156103f75781810151838201526020016103df565b505050509050019250505060405180910390f35b61038b6004803603606081101561042157600080fd5b506001600160a01b038135169060208101359060400135610d13565b61038b6004803603606081101561045357600080fd5b5080359060208101359060400135610d6d565b61038b6004803603604081101561047c57600080fd5b508035906020013561105e565b61039561116a565b6104b6600480360360408110156104a757600080fd5b508035906020013515156111a7565b604051808060200180602001848152602001838103835286818151815260200191508051906020019060200280838360005b838110156105005781810151838201526020016104e8565b50505050905001838103825285818151815260200191508051906020019060200280838360005b8381101561053f578181015183820152602001610527565b505050509050019550505050505060405180910390f35b61038b6004803603602081101561056c57600080fd5b5035611580565b6105906004803603602081101561058957600080fd5b50356115e7565b60408051918252519081900360200190f35b61038b6115fa565b61038b600480360360a08110156105c057600080fd5b506001600160a01b038135169060208101359060408101359060608101359060800135611650565b61038b60048036036101208110156105ff57600080fd5b81359160208101359160408201359160608101359160808201359160a08101359160c08201359160e081013591810190610120810161010082013564010000000081111561064c57600080fd5b82018360208201111561065e57600080fd5b8035906020019184602083028401116401000000008311171561068057600080fd5b9190808060200260200160405190810160405280939291908181526020018383602002808284376000920191909152509295506116ae945050505050565b6102cc6117f0565b610395611870565b6105906118ad565b610590600480360360208110156106ec57600080fd5b50356118d1565b6102cc6004803603602081101561070957600080fd5b50356118e6565b610718611910565b604051808060200180602001878152602001868152602001858152602001848152602001838103835289818151815260200191508051906020019060200280838360005b8381101561077457818101518382015260200161075c565b50505050905001838103825288818151815260200191508051906020019060200280838360005b838110156107b357818101518382015260200161079b565b505050509050019850505050505050505060405180910390f35b6107d5611c79565b6040805160208082528351818301528351919283929083019185019080838360005b8381101561080f5781810151838201526020016107f7565b50505050905090810190601f16801561083c5780820380516001836020036101000a031916815260200191505b509250505060405180910390f35b61038b6004803603602081101561086057600080fd5b5035611d06565b6102cc611d69565b610590611d8d565b61087f611d98565b6040805192835260208301919091528051918290030190f35b610590600480360360408110156108ae57600080fd5b50803590602001356001600160a01b0316611db3565b610590611e07565b610590600480360360208110156108e257600080fd5b5035611e2b565b6102cc600480360360208110156108ff57600080fd5b5035611e40565b61038b6004803603602081101561091c57600080fd5b50356001600160a01b0316611e50565b610590611f55565b61093c611fbb565b604051808a815260200189815260200188815260200187815260200186815260200185815260200184815260200183815260200180602001828103825283818151815260200191508051906020019060200280838360005b838110156109ac578181015183820152602001610994565b505050509050019a505050505050505050505060405180910390f35b6109d0612076565b60408051958652602086019490945284840192909252606084015215156080830152519081900360a00190f35b61038b60048036036020811015610a1357600080fd5b503561211d565b61087f612193565b6105906121ae565b61038b60048036036040811015610a4057600080fd5b508035906020013515156121d2565b61059060048036036040811015610a6557600080fd5b506001600160a01b0381351690602001356123d9565b6102cc612422565b60005460ff1681565b6002546004546001600160801b0380831693600160801b909304169160ff8083169261010081046001600160f01b031692600160f81b90910490911690565b7f000000000000000000000000000000000000000000000000000000000000000081565b336001600160a01b037f00000000000000000000000000000000000000000000000000000000000000001614610b2757610b27612446565b6000815111610b3257fe5b600181511180610b685750306001600160a01b031681600081518110610b5457fe5b60200260200101516001600160a01b031614155b610b6e57fe5b8051610b819060149060208401906154b9565b5080516001600160401b0381118015610b9957600080fd5b50604051908082528060200260200182016040528015610bc3578160200160208202803683370190505b508051610bd8916013916020909101906154b9565b50610be16124ae565b50565b7f00000000000000000000000000000000000000000000000000000000000000007f00000000000000000000000000000000000000000000000000000000000000007f0000000000000000000000000000000000000000000000000000000000000000909192565b6013546060906001148015610c6357506014546001145b8015610c995750306001600160a01b03166014600081548110610c8257fe5b6000918252602090912001546001600160a01b0316145b610cfd576014805480602002602001604051908101604052809291908181526020018280548015610cf357602002820191906000526020600020905b81546001600160a01b03168152600190910190602001808311610cd5575b5050505050610d0d565b6040805160008152602081019091525b90505b90565b60005460ff16610d2557610d2561268a565b336001600160a01b037f00000000000000000000000000000000000000000000000000000000000000001614610d5d57610d5d612446565b610d688383836126f4565b505050565b336001600160a01b037f00000000000000000000000000000000000000000000000000000000000000001614610da557610da5612446565b600054604080518082019091526016815275119514d3c8185b1c9958591e481858dd1a5d985d195960521b60208201529060ff1615610e625760405162461bcd60e51b81526004018080602001828103825283818151815260200191508051906020019080838360005b83811015610e27578181015183820152602001610e0f565b50505050905090810190601f168015610e545780820380516001836020036101000a031916815260200191505b509250505060405180910390fd5b5060408051808201909152601e81527f496e76616c69642070726963652065706f636820706172616d6574657273000060208201527f00000000000000000000000000000000000000000000000000000000000000008414610f055760405162461bcd60e51b8152602060048201818152835160248401528351909283926044909101919085019080838360008315610e27578181015183820152602001610e0f565b5060408051808201909152601e81527f496e76616c69642070726963652065706f636820706172616d6574657273000060208201527f00000000000000000000000000000000000000000000000000000000000000008314610fa85760405162461bcd60e51b8152602060048201818152835160248401528351909283926044909101919085019080838360008315610e27578181015183820152602001610e0f565b5060408051808201909152601e81527f496e76616c69642070726963652065706f636820706172616d6574657273000060208201527f0000000000000000000000000000000000000000000000000000000000000000821461104b5760405162461bcd60e51b8152602060048201818152835160248401528351909283926044909101919085019080838360008315610e27578181015183820152602001610e0f565b50506000805460ff191660011790555050565b336001600160a01b037f0000000000000000000000000000000000000000000000000000000000000000161461109657611096612446565b600054604080518082019091526016815275119514d3c8185b1c9958591e481858dd1a5d985d195960521b60208201529060ff16156111165760405162461bcd60e51b8152602060048201818152835160248401528351909283926044909101919085019080838360008315610e27578181015183820152602001610e0f565b506111208261281d565b600280546001600160801b0319166001600160801b03929092169190911790556111498161281d565b600280546001600160801b03928316600160801b0292169190911790555050565b6003546001600160801b0380821691600160801b9004167f0000000000000000000000000000000000000000000000000000000000000000909192565b6060806000336001600160a01b037f000000000000000000000000000000000000000000000000000000000000000016146111e4576111e4612446565b60006111ef86612865565b60018101805460ff60f01b191690556005810154909150600090156112275781600501546127108360080154028161122357fe5b0490505b6001820154600160f81b900460ff1680611245575081600401548111155b156112b8576001820154600160f81b900460ff166112a557600482015460408051838152602081019290925242828201525188917fbece8aa526cdc5e528cdaa56c1d03edc19da51e41845aa146f64a7071f74c65a919081900360600190a25b6112b18783600061299f565b5050611579565b60608060606112c685612bcc565b9194509250905060606112d761551a565b6112e685858960130154612d61565b61012081015191935091507f000000000000000000000000000000000000000000000000000000000000000090611342906005908f907f00000000000000000000000000000000000000000000000000000000000000006130a1565b1115611360576113548c88600061299f565b50505050505050611579565b60118701805460ff19908116600190811790925561012083015160108a01819055600280546001600160801b0319166001600160801b03928316178216600160801b429384160217905560048054600160f81b6001600160f81b036001600160f01b0390941661010002610100600160f81b031992909516909517169290921716919091179055600f8701541561147d5761144c87600f0180548060200260200160405190810160405280929190818152602001828054801561144257602002820191906000526020600020905b81548152602001906001019080831161142e575b505050505061312d565b60038054426001600160801b03908116600160801b029381166001600160801b031990921691909117169190911790555b60008b156114ad57600a8801546114978984838a89613251565b8251929e50909c509a50156114ab57600191505b505b6114b98d838584613677565b8c7f1856740832ecbdceafeb109e01b188b9c0499df6a33dc8129aa0dd8f9d9a9db0896010015483856101400151866101600151876101800151886101a001518f60110160009054906101000a900460ff164260405180898152602001881515815260200187815260200186815260200185815260200184815260200183600581111561154257fe5b81526020018281526020019850505050505050505060405180910390a2505050600190940180546001600160f81b03169055505050505b9250925092565b336001600160a01b037f000000000000000000000000000000000000000000000000000000000000000016146115b8576115b8612446565b60006115c382612865565b6001808201805460ff60f01b191690559091506115e3908390839061299f565b5050565b60006115f28261367d565b90505b919050565b60005460ff1661160c5761160c61268a565b336001600160a01b037f0000000000000000000000000000000000000000000000000000000000000000161461164457611644612446565b6000805460ff19169055565b60005460ff166116625761166261268a565b336001600160a01b037f0000000000000000000000000000000000000000000000000000000000000000161461169a5761169a612446565b6116a78585858585613702565b5050505050565b336001600160a01b037f000000000000000000000000000000000000000000000000000000000000000016146116e6576116e6612446565b60088990556009889055600a879055600b869055600c859055600d84905560108390556011829055600e5460005b818110156117715760006005600a0160006005600901848154811061173557fe5b6000918252602080832091909101546001600160a01b031683528201929092526040019020805460ff1916911515919091179055600101611714565b5050805160005b818110156117cf5760016005600a01600085848151811061179557fe5b6020908102919091018101516001600160a01b03168252810191909152604001600020805460ff1916911515919091179055600101611778565b5081516117e390600e9060208501906154b9565b5050505050505050505050565b601354600090600114801561180757506014546001145b801561183d5750306001600160a01b0316601460008154811061182657fe5b6000918252602090912001546001600160a01b0316145b611848576000610d0d565b601360008154811061185657fe5b6000918252602090912001546001600160a01b0316905090565b6002546001600160801b0380821691600160801b9004167f0000000000000000000000000000000000000000000000000000000000000000909192565b7f000000000000000000000000000000000000000000000000000000000000000081565b60006118dc82613a82565b6010015492915050565b601481815481106118f657600080fd5b6000918252602090912001546001600160a01b0316905081565b606080600080600080601380548060200260200160405190810160405280929190818152602001828054801561196f57602002820191906000526020600020905b81546001600160a01b03168152600190910190602001808311611951575b50506007548451949a506001600160f01b031694506000939250506001600160401b038211905080156119a157600080fd5b506040519080825280602002602001820160405280156119cb578160200160208202803683370190505b509050600087516001600160401b03811180156119e757600080fd5b50604051908082528060200260200182016040528015611a11578160200160208202803683370190505b50905060005b8851811015611ba05760006001600160a01b0316898281518110611a3757fe5b60200260200101516001600160a01b03161415611a55576000611ad9565b888181518110611a6157fe5b60200260200101516001600160a01b0316633e5aa26a856040518263ffffffff1660e01b81526004018082815260200191505060206040518083038186803b158015611aac57600080fd5b505afa158015611ac0573d6000803e3d6000fd5b505050506040513d6020811015611ad657600080fd5b50515b838281518110611ae557fe5b60200260200101818152505060148181548110611afe57fe5b9060005260206000200160009054906101000a90046001600160a01b03166001600160a01b031663eb91d37e6040518163ffffffff1660e01b8152600401604080518083038186803b158015611b5357600080fd5b505afa158015611b67573d6000803e3d6000fd5b505050506040513d6040811015611b7d57600080fd5b50518251839083908110611b8d57fe5b6020908102919091010152600101611a17565b506000611bb060058a8585613b4a565b9050611bbe60058a83613cf0565b97507f00000000000000000000000000000000000000000000000000000000000000006001600160a01b0316633e5aa26a856040518263ffffffff1660e01b81526004018082815260200191505060206040518083038186803b158015611c2457600080fd5b505afa158015611c38573d6000803e3d6000fd5b505050506040513d6020811015611c4e57600080fd5b50519650611c5f60058a8584613e24565b9550611c6c600587613eec565b9450505050909192939495565b60018054604080516020600284861615610100026000190190941693909304601f81018490048402820184019092528181529291830182828015611cfe5780601f10611cd357610100808354040283529160200191611cfe565b820191906000526020600020905b815481529060010190602001808311611ce157829003601f168201915b505050505081565b336001600160a01b037f00000000000000000000000000000000000000000000000000000000000000001614611d3e57611d3e612446565b6000611d4982612865565b6001808201805460ff60f01b191690559091506115e39083908390613f41565b7f000000000000000000000000000000000000000000000000000000000000000081565b6000610d0d4261367d565b6003546001600160801b0380821691600160801b9004169091565b600080611dbf84613a82565b90506000611dcd828561408d565b905080611ddf57600092505050611e01565b600019016000908152600e90910160205260409020546001600160801b031690505b92915050565b7f000000000000000000000000000000000000000000000000000000000000000081565b6000611e3682613a82565b600a015492915050565b601381815481106118f657600080fd5b336001600160a01b037f00000000000000000000000000000000000000000000000000000000000000001614611e8857611e88612446565b6040805160208101909152308152611ea49060149060016154b9565b5060408051602081019091526001600160a01b0382168152611eca9060139060016154b9565b50806001600160a01b031663313ce5676040518163ffffffff1660e01b815260040160206040518083038186803b158015611f0457600080fd5b505afa158015611f18573d6000803e3d6000fd5b505050506040513d6020811015611f2e57600080fd5b50516001600160a01b03909116600090815260066020526040902060ff909116600a0a9055565b600080611f60611d8d565b905080611f71576000915050610d10565b600560007f0000000000000000000000000000000000000000000000000000000000000000600019840181611fa257fe5b068152602001908152602001600020600a015491505090565b600080600080600080600080606060056003015460056004015460058001546005600601546005600701546005600801546005600b01546005600c015460056009018080548060200260200160405190810160405280929190818152602001828054801561205257602002820191906000526020600020905b81546001600160a01b03168152600190910190602001808311612034575b50505050509050985098509850985098509850985098509850909192939495969798565b6000806000806000612086611d8d565b9450612091856140e5565b93507f00000000000000000000000000000000000000000000000000000000000000008401925060006005817f000000000000000000000000000000000000000000000000000000000000000088816120e657fe5b0681526020810191909152604001600020600101549596949593946001600160f01b03851694600160f81b900460ff169350915050565b336001600160a01b037f0000000000000000000000000000000000000000000000000000000000000000161461215557612155612446565b43811061216157600080fd5b600160f01b811061217157600080fd5b600780546001600160f01b0319166001600160f01b0392909216919091179055565b6002546001600160801b0380821691600160801b9004169091565b7f000000000000000000000000000000000000000000000000000000000000000081565b336001600160a01b037f0000000000000000000000000000000000000000000000000000000000000000161461220a5761220a612446565b6000612214611d8d565b905060006005817f0000000000000000000000000000000000000000000000000000000000000000848161224457fe5b0681526020810191909152604001600090812060118101805460ff1916905560088101829055600a8101829055600d81018290556007546001820180546001600160f01b039092166001600160f01b0319909216919091176001600160f81b0316600160f81b871515021790556002810184905591506122c890600f830190615589565b82156122d55750506115e3565b6060806122e0614132565b6007549194509250612390915084908890612325907f0000000000000000000000000000000000000000000000000000000000000000906001600160f01b0316614328565b601380548060200260200160405190810160405280929190818152602001828054801561237b57602002820191906000526020600020905b81546001600160a01b0316815260019091019060200180831161235d575b5060059796959493508a9250899150506143b9565b837fc0eaa359541c7c642d9947c9496507c134f3e4f8e1fd433313eb27dc48cb1fb76123bb866140e5565b604080519182524260208301528051918290030190a2505050505050565b600061241b7f00000000000000000000000000000000000000000000000000000000000000008461240985613a82565b600101546001600160f01b031661447c565b9392505050565b7f000000000000000000000000000000000000000000000000000000000000000081565b604080518082018252600d81526c1058d8d95cdcc819195b9a5959609a1b6020808301918252925162461bcd60e51b81526004810193845282516024820152825192939283926044909201919080838360008315610e27578181015183820152602001610e0f565b60145460011480156124ea5750306001600160a01b031660146000815481106124d357fe5b6000918252602090912001546001600160a01b0316145b156124f457612688565b60005b601454811015610be15760006014828154811061251057fe5b6000918252602091829020015460408051635c222bad60e01b815290516001600160a01b0390921692635c222bad92600480840193829003018186803b15801561255957600080fd5b505afa15801561256d573d6000803e3d6000fd5b505050506040513d602081101561258357600080fd5b505160138054919250908390811061259757fe5b6000918252602090912001546001600160a01b03828116911614156125bc5750612680565b80601383815481106125ca57fe5b600091825260209091200180546001600160a01b0319166001600160a01b0392831617905581161561267e57806001600160a01b031663313ce5676040518163ffffffff1660e01b815260040160206040518083038186803b15801561262f57600080fd5b505afa158015612643573d6000803e3d6000fd5b505050506040513d602081101561265957600080fd5b50516001600160a01b038216600090815260066020526040902060ff909116600a0a90555b505b6001016124f7565b565b604080518082018252600f81526e4654534f206e6f742061637469766560881b6020808301918252925162461bcd60e51b81526004810193845282516024820152825192939283926044909201919080838360008315610e27578181015183820152602001610e0f565b6126fc611d8d565b8214612740576040805162461bcd60e51b815260206004820152600e60248201526d15dc9bdb99c8195c1bd8da081a5960921b604482015290519081900360640190fd5b60008281526012602090815260408083206001600160a01b0387168452909152902054156127b5576040805162461bcd60e51b815260206004820152601960248201527f4475706c6963617465207375626d697420696e2065706f636800000000000000604482015290519081900360640190fd5b60008281526012602090815260408083206001600160a01b038716808552908352928190208490558051848152429281019290925280518593927f615c0184a2b16dbbcd09eae0bf239e28977aa4e6ff2204eda59c14016310bb6692908290030190a3505050565b6000600160801b82106128615760405162461bcd60e51b81526004018080602001828103825260278152602001806156c16027913960400191505060405180910390fd5b5090565b60006128708261451f565b4210156040518060400160405280602081526020017f45706f6368206e6f7420726561647920666f722066696e616c697a6174696f6e815250906128f55760405162461bcd60e51b8152602060048201818152835160248401528351909283926044909101919085019080838360008315610e27578181015183820152602001610e0f565b506128ff82613a82565b90506000601182015460ff16600581111561291657fe5b146040518060400160405280601781526020017f45706f636820616c72656164792066696e616c697a6564000000000000000000815250906129995760405162461bcd60e51b8152602060048201818152835160248401528351909283926044909101919085019080838360008315610e27578181015183820152602001610e0f565b50919050565b600f82015415612bc157612a0282600f01805480602002602001604051908101604052809291908181526020018280548015611442576020028201919060005260206000209081548152602001906001019080831161142e57505050505061312d565b601083015580612a13576002612a16565b60045b60118301805460ff19166001836005811115612a2e57fe5b0217905550601082015460028054426001600160801b03908116600160801b029381166001600160801b0319909216919091171691909117905560118201546004805460ff9092169160ff19166001836005811115612a8957fe5b021790555060048054610100600160f81b031916610100426001600160f01b03160217808255601184015460ff1691906001600160f81b0316600160f81b836005811115612ad357fe5b0217905550601082015460038054426001600160801b03908116600160801b029381166001600160801b03199092169190911716919091179055612b1683610be1565b827f1856740832ecbdceafeb109e01b188b9c0499df6a33dc8129aa0dd8f9d9a9db0836010015460008060008060008960110160009054906101000a900460ff1642604051808981526020018815158152602001878152602001868152602001858152602001848152602001836005811115612b8e57fe5b81526020018281526020019850505050505050505060405180910390a26001820180546001600160f81b03169055610d68565b610d68838383613f41565b6060806060600084600d01549050806001600160401b0381118015612bf057600080fd5b50604051908082528060200260200182016040528015612c1a578160200160208202803683370190505b509350806001600160401b0381118015612c3357600080fd5b50604051908082528060200260200182016040528015612c5d578160200160208202803683370190505b5091506000816001600160401b0381118015612c7857600080fd5b50604051908082528060200260200182016040528015612ca2578160200160208202803683370190505b50905060005b82811015612d4a576000818152600e880160205260409020805487516001600160801b0390911690889084908110612cdc57fe5b602090810291909101015280548551600160801b9091046001600160401b031690869084908110612d0957fe5b602090810291909101015280548351600160c01b9091046001600160401b031690849084908110612d3657fe5b602090810291909101015250600101612ca8565b50612d56868483614552565b935050509193909250565b6060612d6b61551a565b8451806001600160401b0381118015612d8357600080fd5b50604051908082528060200260200182016040528015612dad578160200160208202803683370190505b50925060005b81811015612ddb5780848281518110612dc857fe5b6020908102919091010152600101612db3565b50612df26002600060018403600080888c8c614669565b608085015260608401528083528351869185918110612e0d57fe5b602002602001015181518110612e1f57fe5b602090810291909101015160a0830181905260808301516060840151845192010190612e58578251600060c08501526020840152612eac565b60048104836060015111612e7c578251606084015160c08501526020840152612eac565b612ea060016000600186600001510360008760a00151886080015101898d8d614669565b5060c085015260208401525b825160001983011415612ecd57825160006101008501526040840152612f25565b60048104836080015111612ef257825160808401516101008501526040840152612f25565b612f1860038460000151600101600185038660a001518760600151016000898d8d614669565b6101008601525060408401525b8684846000015181518110612f3657fe5b602002602001015181518110612f4857fe5b6020908102919091010151610120840152600281048360a00151846060015101148015612f76575060028106155b15612fa6576002612f90846000015160018503878b614944565b8461012001510181612f9e57fe5b046101208401525b612fc0836020015160006000198660c00151888c8c614a04565b60c085015260208401526040830151610100840151612feb9190600019850190600190888c8c614a04565b61010085015260408401526020830151845188918691811061300957fe5b60200260200101518151811061301b57fe5b602002602001015183610140018181525050868484604001518151811061303e57fe5b60200260200101518151811061305057fe5b602090810291909101015161016084015261010083015160c08401519091030360e083015250610120810151620f4240938102939093048084036101808301529092016101a0830152939092509050565b6000836130b057506000613125565b60008581846000198801816130c157fe5b068152602001908152602001600020601001549050808414156130e8576000915050613125565b836130fb5764e8d4a51000915050613125565b60008482111561310e5750838103613113565b508084035b6131208161271087614ad8565b925050505b949350505050565b80516000908061313957fe5b60015b818110156131e557600084828151811061315257fe5b6020026020010151905060008290505b60008111801561318757508186600183038151811061317d57fe5b6020026020010151115b156131c35785600182038151811061319b57fe5b60200260200101518682815181106131af57fe5b602090810291909101015260001901613162565b818682815181106131d057fe5b6020908102919091010152505060010161313c565b5060028104600180831614156132125783818151811061320157fe5b6020026020010151925050506115f5565b600284828151811061322057fe5b602002602001015185600184038151811061323757fe5b6020026020010151018161324757fe5b04925050506115f5565b606080600061325e6155a7565b601289015460a0820152600d890154608082018190526001600160401b038111801561328957600080fd5b506040519080825280602002602001820160405280156132b3578160200160208202803683370190505b50815260808101516001600160401b03811180156132d057600080fd5b506040519080825280602002602001820160405280156132fa578160200160208202803683370190505b5060208201526000805b826080015181101561347757600087828151811061331e57fe5b60200260200101519050600089838151811061333657fe5b602002602001015190508b61014001518111801561335857508b610160015181105b806133a457508b610140015181148061337557508b610160015181145b80156133a457506000838152600e8e0160205260409020600101546133a4908c906001600160a01b0316614be4565b156133da578460a00151612710038202856000015184815181106133c457fe5b6020908102919091010152604085018051830190525b808c61018001511080156133f257508b6101a0015181105b15613424578460a0015182028560200151848151811061340e57fe5b6020908102919091010152606085018051830190525b60008560000151848151811061343657fe5b60200260200101511180613461575060008560200151848151811061345757fe5b6020026020010151115b1561346d576001909301925b5050600101613304565b50806001600160401b038111801561348e57600080fd5b506040519080825280602002602001820160405280156134b8578160200160208202803683370190505b509450806001600160401b03811180156134d157600080fd5b506040519080825280602002602001820160405280156134fb578160200160208202803683370190505b5093506000905060005b82608001518110156136695760008360000151828151811061352357fe5b6020026020010151118061354e575060008360200151828151811061354457fe5b6020026020010151115b1561366157600083606001511161356657600161356c565b82606001515b835180518390811061357a57fe5b60200260200101510285838151811061358f57fe5b60200260200101818151019150818152505060008360400151116135b45760016135ba565b82604001515b836020015182815181106135ca57fe5b6020026020010151028583815181106135df57fe5b602090810291909101810180519092019091526000828152600e8d01909152604090206001015486516001600160a01b039091169087908490811061362057fe5b60200260200101906001600160a01b031690816001600160a01b03168152505084828151811061364c57fe5b60200260200101518401935081806001019250505b600101613505565b505050955095509592505050565b50505050565b60007f00000000000000000000000000000000000000000000000000000000000000008210156136af575060006115f5565b7f00000000000000000000000000000000000000000000000000000000000000007f00000000000000000000000000000000000000000000000000000000000000008303816136fa57fe5b0490506115f5565b60408051808201909152600e81526d0a0e4d2c6ca40e8dede40d0d2ced60931b6020820152600160801b84106137795760405162461bcd60e51b8152602060048201818152835160248401528351909283926044909101919085019080838360008315610e27578181015183820152602001610e0f565b5061378384614c1f565b6040518060400160405280601881526020017f52657665616c20706572696f64206e6f74206163746976650000000000000000815250906138055760405162461bcd60e51b8152602060048201818152835160248401528351909283926044909101919085019080838360008315610e27578181015183820152602001610e0f565b506040805160208082018690528183018590526001600160a01b038816606080840182905284518085039091018152608090930184528251928201929092206000888152601283528481209381529290915291902054146138975760405162461bcd60e51b81526004018080602001828103825260238152602001806156e86023913960400191505060405180910390fd5b60006005817f000000000000000000000000000000000000000000000000000000000000000087816138c557fe5b0681526020810191909152604001600020600181015490915060ff600160f81b8204811691600160f01b8104909116906001600160f01b0316818061392a575082801561392a57506001600160a01b0389166000908152600f602052604090205460ff165b6040518060400160405280602081526020017f45706f6368206e6f7420696e697469616c697a656420666f722072657665616c815250906139ac5760405162461bcd60e51b8152602060048201818152835160248401528351909283926044909101919085019080838360008315610e27578181015183820152602001610e0f565b506000806139bd868c898887614c62565b6040805160208082018d90528183018e9052825180830384018152606090920190925280519101209193509150613a009060059088908e90869086908f90614cc2565b60008a81526012602090815260408083206001600160a01b038f168085529083528184209390935580518c81529182018b905242828201526060820185905260808201849052518c92917f408bc8c9d02102257c33373c2df5771b03067bd8ea7ec60c35f314ec4ee99d05919081900360a00190a35050505050505050505050565b60006005817f00000000000000000000000000000000000000000000000000000000000000008481613ab057fe5b0681526020019081526020016000209050806002015482146040518060400160405280601881526020017f45706f63682064617461206e6f7420617661696c61626c650000000000000000815250906129995760405162461bcd60e51b8152602060048201818152835160248401528351909283926044909101919085019080838360008315610e27578181015183820152602001610e0f565b82516060906000816001600160401b0381118015613b6757600080fd5b50604051908082528060200260200182016040528015613b91578160200160208202803683370190505b5090506000805b83811015613c7a5760006001600160a01b0316888281518110613bb757fe5b60200260200101516001600160a01b03161415613bd357613c72565b6000613c4a878381518110613be457fe5b60200260200101518b60010160008c8681518110613bfe57fe5b60200260200101516001600160a01b03166001600160a01b03168152602001908152602001600020548a8581518110613c3357fe5b6020026020010151614ad89092919063ffffffff16565b905080848381518110613c5957fe5b6020908102919091010152613c6e8382614e1d565b9250505b600101613b98565b508015613ce55760005b83811015613ce357613cc4613cb7612710888481518110613ca157fe5b6020026020010151614e7790919063ffffffff16565b83858481518110613c3357fe5b838281518110613cd057fe5b6020908102919091010152600101613c84565b505b509695505050505050565b8151606090806001600160401b0381118015613d0b57600080fd5b50604051908082528060200260200182016040528015613d35578160200160208202803683370190505b50915060005b81811015613e1b5760006001600160a01b0316858281518110613d5a57fe5b60200260200101516001600160a01b031614613df8576000866001016000878481518110613d8457fe5b60200260200101516001600160a01b03166001600160a01b03168152602001908152602001600020549050613dda61271064e8d4a5100081613dc257fe5b04670de0b6b3a76400000282878581518110613c3357fe5b848381518110613de657fe5b60200260200101818152505050613e13565b6000838281518110613e0657fe5b6020026020010181815250505b600101613d3b565b50509392505050565b600080805b8551811015613ee25760006001600160a01b0316868281518110613e4957fe5b60200260200101516001600160a01b031614613eda576000612710613ec2878481518110613e7357fe5b60200260200101518a60010160008b8781518110613e8d57fe5b60200260200101516001600160a01b03166001600160a01b0316815260200190815260200160002054888681518110613c3357fe5b81613ec957fe5b049050613ed68382614e1d565b9250505b600101613e29565b5095945050505050565b6000808360050154831015613f035750600061241b565b83600601548310613f17575061138861241b565b600584015460068501546101f491908190039085036111940281613f3757fe5b0401949350505050565b8215613f5d576002546001600160801b03166010830155613f65565b600060108301555b80613f71576003613f74565b60055b60118301805460ff19166001836005811115613f8c57fe5b021790555060048054610100600160f81b031916610100426001600160f01b03160217808255601184015460ff1691906001600160f81b0316600160f81b836005811115613fd657fe5b0217905550613fe483610be1565b827f1856740832ecbdceafeb109e01b188b9c0499df6a33dc8129aa0dd8f9d9a9db0836010015460008060008060008960110160009054906101000a900460ff164260405180898152602001881515815260200187815260200186815260200185815260200184815260200183600581111561405c57fe5b81526020018281526020019850505050505050505060405180910390a25060010180546001600160f81b0316905550565b600d820154600090815b818110156140da576000818152600e860160205260409020600101546001600160a01b03858116911614156140d2576001019150611e019050565b600101614097565b506000949350505050565b7f0000000000000000000000000000000000000000000000000000000000000000600182017f00000000000000000000000000000000000000000000000000000000000000000201919050565b606080606061413f6124ae565b601380548060200260200160405190810160405280929190818152602001828054801561419557602002820191906000526020600020905b81546001600160a01b03168152600190910190602001808311614177575b5050505050925082516001600160401b03811180156141b357600080fd5b506040519080825280602002602001820160405280156141dd578160200160208202803683370190505b50915082516001600160401b03811180156141f757600080fd5b50604051908082528060200260200182016040528015614221578160200160208202803683370190505b50905060005b83518110156143225761425b84828151811061423f57fe5b60209081029190910101516007546001600160f01b0316614328565b83828151811061426757fe5b6020026020010181815250506014818154811061428057fe5b9060005260206000200160009054906101000a90046001600160a01b03166001600160a01b031663eb91d37e6040518163ffffffff1660e01b8152600401604080518083038186803b1580156142d557600080fd5b505afa1580156142e9573d6000803e3d6000fd5b505050506040513d60408110156142ff57600080fd5b5051825183908390811061430f57fe5b6020908102919091010152600101614227565b50909192565b60006001600160a01b03831661434057506000611e01565b826001600160a01b031663caeb942b836040518263ffffffff1660e01b815260040180828152602001915050602060405180830381600087803b15801561438657600080fd5b505af115801561439a573d6000803e3d6000fd5b505050506040513d60208110156143b057600080fd5b50519050611e01565b6143c68787858585614ed0565b60078701546003808801919091556008880154600488015560058701869055600687018590558701546144019085816143fb57fe5b0461281d565b86546001600160801b0319166001600160801b0391909116178655600487015460078701546144329190816143fb57fe5b86546001600160801b03918216600160801b02911617865550505060018301805460ff60f01b1916600160f01b1790555050600b8201546012820155600c90910154601390910155565b60006001600160a01b0384166144945750600061241b565b836001600160a01b031663e587497e84846040518363ffffffff1660e01b815260040180836001600160a01b0316815260200182815260200192505050602060405180830381600087803b1580156144eb57600080fd5b505af11580156144ff573d6000803e3d6000fd5b505050506040513d602081101561451557600080fd5b5051949350505050565b60007f000000000000000000000000000000000000000000000000000000000000000061454b836140e5565b0192915050565b600d830154606090806001600160401b038111801561457057600080fd5b5060405190808252806020026020018201604052801561459a578160200160208202803683370190505b50915060006145a885614f39565b905060006145b585614f39565b90506000806145c5898585614f7e565b905083156145d557806127100391505b60005b8581101561465c576000831561461e5761461b8a83815181106145f757fe5b602002602001015164e8d4a5100002612710880286614ad89092919063ffffffff16565b90505b60008315614638576146358a84815181106145f757fe5b90505b80820189848151811061464757fe5b602090810291909101015250506001016145d8565b5050505050509392505050565b6000806000888a1415614683575088915086905085614936565b61468b6155dd565b8881526020810188905261469d61561a565b60208082018d905260408083018d90528051448184015242818301528151808203830181526060909101909152805191012060005b6020830151604084015161470491908160018183030186816146f057fe5b0601876000015188602001518f8f8f614fe5565b606087015260408601528084528a518b9190811061471e57fe5b60200260200101518360600181815250508783606001518151811061473f57fe5b6020026020010151846080018181525050836060015184604001518560800151010190508e6002141561481a5760028106600282040160a0850181905280820360c086015260408501511080159061479a57508b8460a00151115b156147bf57825160001901604084015260608401516080850151016020850152614815565b8360c0015184606001511180156147d957508a8460c00151115b156147fa578251600101602084015260408401516080850151018452614815565b50505160408201516060909201519094509092509050614936565b614931565b8e600114156148ab576004810460a0850181905280820360c0860152604085015111801561484b57508b8460a00151115b1561487057825160001901604084015260608401516080850151016020850152614815565b8360c001518460600151101580156147d957508a8460c0015111156147fa578251600101602084015260408401516080850151018452614815565b6004810460c08501819052810360a085018190526040850151108015906148d557508b8460a00151115b156148fa57825160001901604084015260608401516080850151016020850152614931565b8360c00151846060015111801561491457508a8460c00151115b156147fa5782516001016020840152604084015160808501510184525b6146d2565b985098509895505050505050565b60008385141561497c578183868151811061495b57fe5b60200260200101518151811061496d57fe5b60200260200101519050613125565b60008284876001018151811061498e57fe5b6020026020010151815181106149a057fe5b602002602001015190506000808760020190505b8681116149f857848682815181106149c857fe5b6020026020010151815181106149da57fe5b60200260200101519150828210156149f0578192505b6001016149b4565b50909695505050505050565b60008085888a0388028213614a1f5789879250925050614acc565b600085878c81518110614a2e57fe5b602002602001015181518110614a4057fe5b602090810291909101015190508a89016000815b60008c8e83030213614ac057898181518110614a6c57fe5b6020026020010151915083898381518110614a8357fe5b60200260200101511415614ab957878281518110614a9d57fe5b602002602001015185039450614ab483828c6151ae565b918b01915b8b01614a54565b50508990039350909150505b97509795505050505050565b6000808211614b21576040805162461bcd60e51b815260206004820152601060248201526f4469766973696f6e206279207a65726f60801b604482015290519081900360640190fd5b83614b2e5750600061241b565b83830283858281614b3b57fe5b041415614b5457828181614b4b57fe5b0491505061241b565b6000838681614b5f57fe5b0490506000848781614b6d57fe5b0690506000858781614b7b57fe5b0490506000868881614b8957fe5b069050614bd7614ba388614b9d8685614e77565b90615216565b614bd1614bb08686614e77565b614bd1614bbd8987614e77565b614bd18d614bcb8c8b614e77565b90614e77565b90614e1d565b9998505050505050505050565b604080516020808201949094526001600160a01b03929092168282015280518083038201815260609092019052805191012060019081161490565b600080614c2b836140e5565b905042811115801561241b57507f000000000000000000000000000000000000000000000000000000000000000001421092915050565b6000808315614c7657506000905080614cb8565b849150614c8487878561527d565b87549091506001600160801b0380821691600160801b90041681841115614ca9578193505b80831115614cb5578092505b50505b9550959350505050565b600086600d015490506000614ce38787878b600601548c600701548961533b565b63ffffffff838116608083019081526000858152600e8c0160209081526040918290208551815492870151938701516001600160801b03199093166001600160801b039091161767ffffffffffffffff60801b1916600160801b6001600160401b0394851602176001600160c01b0316600160c01b939092169290920217815560608401516001918201805493516001600160a01b03199094166001600160a01b039092169190911763ffffffff60a01b1916600160a01b93851693909302929092179091558401600d8b015560088a0154919250614dc591908890614e1d16565b6008890155600a8089018054850190556001600160a01b0388166000908152908a01602052604090205460ff1615614e1257600f8801805460018101825560009182526020909120018490555b505050505050505050565b60008282018381101561241b576040805162461bcd60e51b815260206004820152601b60248201527f536166654d6174683a206164646974696f6e206f766572666c6f770000000000604482015290519081900360640190fd5b600082614e8657506000611e01565b82820282848281614e9357fe5b041461241b5760405162461bcd60e51b815260040180806020018281038252602181526020018061570b6021913960400191505060405180910390fd5b8251614ee590600b86019060208601906154b9565b50614ef285848484613b4a565b8051614f0891600c870191602090910190615642565b506000614f16868685615398565b600786018190559050614f298682613eec565b8560090181905550505050505050565b600080805b8351811015614f7757614f6d848281518110614f5657fe5b602002602001015183614e1d90919063ffffffff16565b9150600101614f3e565b5092915050565b600081614f8d5750600061241b565b82614f9b575061271061241b565b6000614faf8361271064e8d4a51000614ad8565b905084600301548110614fc8575050600983015461241b565b60038501546009860154614fdd918390614ad8565b91505061241b565b60008060008085878b81518110614ff857fe5b60200260200101518151811061500a57fe5b60200260200101519050600060026001600160401b038111801561502d57600080fd5b50604051908082528060200260200182016040528015615057578160200160208202803683370190505b509050898160008151811061506857fe5b602002602001018181525050888160018151811061508257fe5b60209081029190910101528c8c61509a8d828c6151ae565b81805b8281101561515e5760008c82815181106150b357fe5b60200260200101519050868c82815181106150ca57fe5b60200260200101511015615121578a81815181106150e457fe5b6020026020010151866000815181106150f957fe5b60200260200101818151019150818152505061511683838f6151ae565b600190920191615155565b8a818151811061512d57fe5b60200260200101518660018151811061514257fe5b6020026020010181815101915081815250505b5060010161509d565b5061516a82828d6151ae565b808460008151811061517857fe5b60200260200101518560018151811061518d57fe5b60200260200101519750975097505050505050985098509895505050505050565b818314156151bb57610d68565b8082815181106151c757fe5b60200260200101518184815181106151db57fe5b60200260200101518285815181106151ef57fe5b6020026020010183858151811061520257fe5b602090810291909101019190915252505050565b600080821161526c576040805162461bcd60e51b815260206004820152601a60248201527f536166654d6174683a206469766973696f6e206279207a65726f000000000000604482015290519081900360640190fd5b81838161527557fe5b049392505050565b600b83015460009081906001600160401b038111801561529c57600080fd5b506040519080825280602002602001820160405280156152c6578160200160208202803683370190505b50905060005b600b8601548110156153255761530686600b0182815481106152ea57fe5b6000918252602090912001546001600160a01b0316868661447c565b82828151811061531257fe5b60209081029190910101526001016152cc565b5061533260058683615398565b95945050505050565b61534361567d565b6001600160a01b038716606082015261535c8685615488565b6001600160401b031660208201526153748584615488565b6001600160401b031660408201526001600160801b03909116815295945050505050565b600080805b600b85015481101561547f5760006001600160a01b031685600b0182815481106153c357fe5b6000918252602090912001546001600160a01b031614156153e357615477565b6154746127106154648684815181106153f857fe5b60200260200101518960010160008a600b01878154811061541557fe5b60009182526020808320909101546001600160a01b03168352820192909252604001902054600c8a0180548790811061544a57fe5b9060005260206000200154614ad89092919063ffffffff16565b8161546b57fe5b84919004614e1d565b91505b60010161539d565b50949350505050565b6000811580615495575082155b156154a257506000611e01565b6154b28364e8d4a5100084614ad8565b9050611e01565b82805482825590600052602060002090810192821561550e579160200282015b8281111561550e57825182546001600160a01b0319166001600160a01b039091161782556020909201916001909101906154d9565b506128619291506156ab565b604051806101c0016040528060008152602001600081526020016000815260200160008152602001600081526020016000815260200160008152602001600081526020016000815260200160008152602001600081526020016000815260200160008152602001600081525090565b5080546000825590600052602060002090810190610be191906156ab565b6040518060c001604052806060815260200160608152602001600081526020016000815260200160008152602001600081525090565b6040518060e00160405280600081526020016000815260200160008152602001600081526020016000815260200160008152602001600081525090565b6040518060800160405280600081526020016000815260200160008152602001600081525090565b82805482825590600052602060002090810192821561550e579160200282015b8281111561550e578251825591602001919060010190615662565b6040805160a08101825260008082526020820181905291810182905260608101829052608081019190915290565b5b8082111561286157600081556001016156ac56fe53616665436173743a2076616c756520646f65736e27742066697420696e203132382062697473507269636520616c72656164792072657665616c6564206f72206e6f742076616c6964536166654d6174683a206d756c7469706c69636174696f6e206f766572666c6f77a2646970667358221220dceebe4ed9f1ac1812397454da4c1c01d15b8620dc37615c8b1fae5313a7a31f64736f6c63430007060033",
1101
+ "deployedBytecode": "0x608060405234801561001057600080fd5b50600436106102535760003560e01c8063826cc76b11610146578063cf35bdd0116100c3578063e536f39611610087578063e536f396146109fd578063eb91d37e14610a1a578063f025bf6614610a22578063f670ebe314610a2a578063f72cab2814610a4f578063f937d6ad14610a7b57610253565b8063cf35bdd0146108e9578063d0d552dd14610906578063d89601fd1461092c578063e3749e0c14610934578063e3b3a3b3146109c857610253565b8063a29a839f1161010a578063a29a839f1461086f578063af52df0814610877578063c5d8b9e714610898578063cc245ab5146108c4578063cd4b6914146108cc57610253565b8063826cc76b146106f35780638357d08c1461071057806395d89b41146107cd578063974d7a6b1461084a5780639edbf0071461086757610253565b806340462a2d116101d45780635a3c9d8e116101985780635a3c9d8e146105e85780635c222bad146106be57806365f5cd86146106c65780636b52b242146106ce5780637d1d6f12146106d657610253565b806340462a2d146104915780634afd5102146105565780635303548b14610573578063555989da146105a257806355f7b69b146105aa57610253565b806318931c351161021b57806318931c35146103b357806327bd2ad51461040b5780632f0a6f3c1461043d578063306ba253146104665780633cacb3ae1461048957610253565b806302fb0c5e14610258578063040d73b81461027457806311a7aaaa146102c4578063131fdee2146102e8578063144e15911461038d575b600080fd5b610260610a83565b604080519115158252519081900360200190f35b61027c610a8c565b6040518086815260200185815260200184600581111561029857fe5b81526020018381526020018260058111156102af57fe5b81526020019550505050505060405180910390f35b6102cc610acb565b604080516001600160a01b039092168252519081900360200190f35b61038b600480360360208110156102fe57600080fd5b81019060208101813564010000000081111561031957600080fd5b82018360208201111561032b57600080fd5b8035906020019184602083028401116401000000008311171561034d57600080fd5b919080806020026020016040519081016040528093929190818152602001838360200280828437600092019190915250929550610aef945050505050565b005b610395610be4565b60408051938452602084019290925282820152519081900360600190f35b6103bb610c4c565b60408051602080825283518183015283519192839290830191858101910280838360005b838110156103f75781810151838201526020016103df565b505050509050019250505060405180910390f35b61038b6004803603606081101561042157600080fd5b506001600160a01b038135169060208101359060400135610d13565b61038b6004803603606081101561045357600080fd5b5080359060208101359060400135610d6d565b61038b6004803603604081101561047c57600080fd5b508035906020013561105e565b61039561116a565b6104b6600480360360408110156104a757600080fd5b508035906020013515156111a7565b604051808060200180602001848152602001838103835286818151815260200191508051906020019060200280838360005b838110156105005781810151838201526020016104e8565b50505050905001838103825285818151815260200191508051906020019060200280838360005b8381101561053f578181015183820152602001610527565b505050509050019550505050505060405180910390f35b61038b6004803603602081101561056c57600080fd5b5035611580565b6105906004803603602081101561058957600080fd5b50356115e7565b60408051918252519081900360200190f35b61038b6115fa565b61038b600480360360a08110156105c057600080fd5b506001600160a01b038135169060208101359060408101359060608101359060800135611650565b61038b60048036036101208110156105ff57600080fd5b81359160208101359160408201359160608101359160808201359160a08101359160c08201359160e081013591810190610120810161010082013564010000000081111561064c57600080fd5b82018360208201111561065e57600080fd5b8035906020019184602083028401116401000000008311171561068057600080fd5b9190808060200260200160405190810160405280939291908181526020018383602002808284376000920191909152509295506116ae945050505050565b6102cc6117f0565b610395611870565b6105906118ad565b610590600480360360208110156106ec57600080fd5b50356118d1565b6102cc6004803603602081101561070957600080fd5b50356118e6565b610718611910565b604051808060200180602001878152602001868152602001858152602001848152602001838103835289818151815260200191508051906020019060200280838360005b8381101561077457818101518382015260200161075c565b50505050905001838103825288818151815260200191508051906020019060200280838360005b838110156107b357818101518382015260200161079b565b505050509050019850505050505050505060405180910390f35b6107d5611c79565b6040805160208082528351818301528351919283929083019185019080838360005b8381101561080f5781810151838201526020016107f7565b50505050905090810190601f16801561083c5780820380516001836020036101000a031916815260200191505b509250505060405180910390f35b61038b6004803603602081101561086057600080fd5b5035611d06565b6102cc611d69565b610590611d8d565b61087f611d98565b6040805192835260208301919091528051918290030190f35b610590600480360360408110156108ae57600080fd5b50803590602001356001600160a01b0316611db3565b610590611e07565b610590600480360360208110156108e257600080fd5b5035611e2b565b6102cc600480360360208110156108ff57600080fd5b5035611e40565b61038b6004803603602081101561091c57600080fd5b50356001600160a01b0316611e50565b610590611f55565b61093c611fbb565b604051808a815260200189815260200188815260200187815260200186815260200185815260200184815260200183815260200180602001828103825283818151815260200191508051906020019060200280838360005b838110156109ac578181015183820152602001610994565b505050509050019a505050505050505050505060405180910390f35b6109d0612076565b60408051958652602086019490945284840192909252606084015215156080830152519081900360a00190f35b61038b60048036036020811015610a1357600080fd5b503561211d565b61087f612193565b6105906121ae565b61038b60048036036040811015610a4057600080fd5b508035906020013515156121d2565b61059060048036036040811015610a6557600080fd5b506001600160a01b0381351690602001356123d9565b6102cc612422565b60005460ff1681565b6002546004546001600160801b0380831693600160801b909304169160ff8083169261010081046001600160f01b031692600160f81b90910490911690565b7f000000000000000000000000000000000000000000000000000000000000000081565b336001600160a01b037f00000000000000000000000000000000000000000000000000000000000000001614610b2757610b27612446565b6000815111610b3257fe5b600181511180610b685750306001600160a01b031681600081518110610b5457fe5b60200260200101516001600160a01b031614155b610b6e57fe5b8051610b819060149060208401906154b9565b5080516001600160401b0381118015610b9957600080fd5b50604051908082528060200260200182016040528015610bc3578160200160208202803683370190505b508051610bd8916013916020909101906154b9565b50610be16124ae565b50565b7f00000000000000000000000000000000000000000000000000000000000000007f00000000000000000000000000000000000000000000000000000000000000007f0000000000000000000000000000000000000000000000000000000000000000909192565b6013546060906001148015610c6357506014546001145b8015610c995750306001600160a01b03166014600081548110610c8257fe5b6000918252602090912001546001600160a01b0316145b610cfd576014805480602002602001604051908101604052809291908181526020018280548015610cf357602002820191906000526020600020905b81546001600160a01b03168152600190910190602001808311610cd5575b5050505050610d0d565b6040805160008152602081019091525b90505b90565b60005460ff16610d2557610d2561268a565b336001600160a01b037f00000000000000000000000000000000000000000000000000000000000000001614610d5d57610d5d612446565b610d688383836126f4565b505050565b336001600160a01b037f00000000000000000000000000000000000000000000000000000000000000001614610da557610da5612446565b600054604080518082019091526016815275119514d3c8185b1c9958591e481858dd1a5d985d195960521b60208201529060ff1615610e625760405162461bcd60e51b81526004018080602001828103825283818151815260200191508051906020019080838360005b83811015610e27578181015183820152602001610e0f565b50505050905090810190601f168015610e545780820380516001836020036101000a031916815260200191505b509250505060405180910390fd5b5060408051808201909152601e81527f496e76616c69642070726963652065706f636820706172616d6574657273000060208201527f00000000000000000000000000000000000000000000000000000000000000008414610f055760405162461bcd60e51b8152602060048201818152835160248401528351909283926044909101919085019080838360008315610e27578181015183820152602001610e0f565b5060408051808201909152601e81527f496e76616c69642070726963652065706f636820706172616d6574657273000060208201527f00000000000000000000000000000000000000000000000000000000000000008314610fa85760405162461bcd60e51b8152602060048201818152835160248401528351909283926044909101919085019080838360008315610e27578181015183820152602001610e0f565b5060408051808201909152601e81527f496e76616c69642070726963652065706f636820706172616d6574657273000060208201527f0000000000000000000000000000000000000000000000000000000000000000821461104b5760405162461bcd60e51b8152602060048201818152835160248401528351909283926044909101919085019080838360008315610e27578181015183820152602001610e0f565b50506000805460ff191660011790555050565b336001600160a01b037f0000000000000000000000000000000000000000000000000000000000000000161461109657611096612446565b600054604080518082019091526016815275119514d3c8185b1c9958591e481858dd1a5d985d195960521b60208201529060ff16156111165760405162461bcd60e51b8152602060048201818152835160248401528351909283926044909101919085019080838360008315610e27578181015183820152602001610e0f565b506111208261281d565b600280546001600160801b0319166001600160801b03929092169190911790556111498161281d565b600280546001600160801b03928316600160801b0292169190911790555050565b6003546001600160801b0380821691600160801b9004167f0000000000000000000000000000000000000000000000000000000000000000909192565b6060806000336001600160a01b037f000000000000000000000000000000000000000000000000000000000000000016146111e4576111e4612446565b60006111ef86612865565b60018101805460ff60f01b191690556005810154909150600090156112275781600501546127108360080154028161122357fe5b0490505b6001820154600160f81b900460ff1680611245575081600401548111155b156112b8576001820154600160f81b900460ff166112a557600482015460408051838152602081019290925242828201525188917fbece8aa526cdc5e528cdaa56c1d03edc19da51e41845aa146f64a7071f74c65a919081900360600190a25b6112b18783600061299f565b5050611579565b60608060606112c685612bcc565b9194509250905060606112d761551a565b6112e685858960130154612d61565b61012081015191935091507f000000000000000000000000000000000000000000000000000000000000000090611342906005908f907f00000000000000000000000000000000000000000000000000000000000000006130a1565b1115611360576113548c88600061299f565b50505050505050611579565b60118701805460ff19908116600190811790925561012083015160108a01819055600280546001600160801b0319166001600160801b03928316178216600160801b429384160217905560048054600160f81b6001600160f81b036001600160f01b0390941661010002610100600160f81b031992909516909517169290921716919091179055600f8701541561147d5761144c87600f0180548060200260200160405190810160405280929190818152602001828054801561144257602002820191906000526020600020905b81548152602001906001019080831161142e575b505050505061312d565b60038054426001600160801b03908116600160801b029381166001600160801b031990921691909117169190911790555b60008b156114ad57600a8801546114978984838a89613251565b8251929e50909c509a50156114ab57600191505b505b6114b98d838584613677565b8c7f1856740832ecbdceafeb109e01b188b9c0499df6a33dc8129aa0dd8f9d9a9db0896010015483856101400151866101600151876101800151886101a001518f60110160009054906101000a900460ff164260405180898152602001881515815260200187815260200186815260200185815260200184815260200183600581111561154257fe5b81526020018281526020019850505050505050505060405180910390a2505050600190940180546001600160f81b03169055505050505b9250925092565b336001600160a01b037f000000000000000000000000000000000000000000000000000000000000000016146115b8576115b8612446565b60006115c382612865565b6001808201805460ff60f01b191690559091506115e3908390839061299f565b5050565b60006115f28261367d565b90505b919050565b60005460ff1661160c5761160c61268a565b336001600160a01b037f0000000000000000000000000000000000000000000000000000000000000000161461164457611644612446565b6000805460ff19169055565b60005460ff166116625761166261268a565b336001600160a01b037f0000000000000000000000000000000000000000000000000000000000000000161461169a5761169a612446565b6116a78585858585613702565b5050505050565b336001600160a01b037f000000000000000000000000000000000000000000000000000000000000000016146116e6576116e6612446565b60088990556009889055600a879055600b869055600c859055600d84905560108390556011829055600e5460005b818110156117715760006005600a0160006005600901848154811061173557fe5b6000918252602080832091909101546001600160a01b031683528201929092526040019020805460ff1916911515919091179055600101611714565b5050805160005b818110156117cf5760016005600a01600085848151811061179557fe5b6020908102919091018101516001600160a01b03168252810191909152604001600020805460ff1916911515919091179055600101611778565b5081516117e390600e9060208501906154b9565b5050505050505050505050565b601354600090600114801561180757506014546001145b801561183d5750306001600160a01b0316601460008154811061182657fe5b6000918252602090912001546001600160a01b0316145b611848576000610d0d565b601360008154811061185657fe5b6000918252602090912001546001600160a01b0316905090565b6002546001600160801b0380821691600160801b9004167f0000000000000000000000000000000000000000000000000000000000000000909192565b7f000000000000000000000000000000000000000000000000000000000000000081565b60006118dc82613a82565b6010015492915050565b601481815481106118f657600080fd5b6000918252602090912001546001600160a01b0316905081565b606080600080600080601380548060200260200160405190810160405280929190818152602001828054801561196f57602002820191906000526020600020905b81546001600160a01b03168152600190910190602001808311611951575b50506007548451949a506001600160f01b031694506000939250506001600160401b038211905080156119a157600080fd5b506040519080825280602002602001820160405280156119cb578160200160208202803683370190505b509050600087516001600160401b03811180156119e757600080fd5b50604051908082528060200260200182016040528015611a11578160200160208202803683370190505b50905060005b8851811015611ba05760006001600160a01b0316898281518110611a3757fe5b60200260200101516001600160a01b03161415611a55576000611ad9565b888181518110611a6157fe5b60200260200101516001600160a01b0316633e5aa26a856040518263ffffffff1660e01b81526004018082815260200191505060206040518083038186803b158015611aac57600080fd5b505afa158015611ac0573d6000803e3d6000fd5b505050506040513d6020811015611ad657600080fd5b50515b838281518110611ae557fe5b60200260200101818152505060148181548110611afe57fe5b9060005260206000200160009054906101000a90046001600160a01b03166001600160a01b031663eb91d37e6040518163ffffffff1660e01b8152600401604080518083038186803b158015611b5357600080fd5b505afa158015611b67573d6000803e3d6000fd5b505050506040513d6040811015611b7d57600080fd5b50518251839083908110611b8d57fe5b6020908102919091010152600101611a17565b506000611bb060058a8585613b4a565b9050611bbe60058a83613cf0565b97507f00000000000000000000000000000000000000000000000000000000000000006001600160a01b0316633e5aa26a856040518263ffffffff1660e01b81526004018082815260200191505060206040518083038186803b158015611c2457600080fd5b505afa158015611c38573d6000803e3d6000fd5b505050506040513d6020811015611c4e57600080fd5b50519650611c5f60058a8584613e24565b9550611c6c600587613eec565b9450505050909192939495565b60018054604080516020600284861615610100026000190190941693909304601f81018490048402820184019092528181529291830182828015611cfe5780601f10611cd357610100808354040283529160200191611cfe565b820191906000526020600020905b815481529060010190602001808311611ce157829003601f168201915b505050505081565b336001600160a01b037f00000000000000000000000000000000000000000000000000000000000000001614611d3e57611d3e612446565b6000611d4982612865565b6001808201805460ff60f01b191690559091506115e39083908390613f41565b7f000000000000000000000000000000000000000000000000000000000000000081565b6000610d0d4261367d565b6003546001600160801b0380821691600160801b9004169091565b600080611dbf84613a82565b90506000611dcd828561408d565b905080611ddf57600092505050611e01565b600019016000908152600e90910160205260409020546001600160801b031690505b92915050565b7f000000000000000000000000000000000000000000000000000000000000000081565b6000611e3682613a82565b600a015492915050565b601381815481106118f657600080fd5b336001600160a01b037f00000000000000000000000000000000000000000000000000000000000000001614611e8857611e88612446565b6040805160208101909152308152611ea49060149060016154b9565b5060408051602081019091526001600160a01b0382168152611eca9060139060016154b9565b50806001600160a01b031663313ce5676040518163ffffffff1660e01b815260040160206040518083038186803b158015611f0457600080fd5b505afa158015611f18573d6000803e3d6000fd5b505050506040513d6020811015611f2e57600080fd5b50516001600160a01b03909116600090815260066020526040902060ff909116600a0a9055565b600080611f60611d8d565b905080611f71576000915050610d10565b600560007f0000000000000000000000000000000000000000000000000000000000000000600019840181611fa257fe5b068152602001908152602001600020600a015491505090565b600080600080600080600080606060056003015460056004015460058001546005600601546005600701546005600801546005600b01546005600c015460056009018080548060200260200160405190810160405280929190818152602001828054801561205257602002820191906000526020600020905b81546001600160a01b03168152600190910190602001808311612034575b50505050509050985098509850985098509850985098509850909192939495969798565b6000806000806000612086611d8d565b9450612091856140e5565b93507f00000000000000000000000000000000000000000000000000000000000000008401925060006005817f000000000000000000000000000000000000000000000000000000000000000088816120e657fe5b0681526020810191909152604001600020600101549596949593946001600160f01b03851694600160f81b900460ff169350915050565b336001600160a01b037f0000000000000000000000000000000000000000000000000000000000000000161461215557612155612446565b43811061216157600080fd5b600160f01b811061217157600080fd5b600780546001600160f01b0319166001600160f01b0392909216919091179055565b6002546001600160801b0380821691600160801b9004169091565b7f000000000000000000000000000000000000000000000000000000000000000081565b336001600160a01b037f0000000000000000000000000000000000000000000000000000000000000000161461220a5761220a612446565b6000612214611d8d565b905060006005817f0000000000000000000000000000000000000000000000000000000000000000848161224457fe5b0681526020810191909152604001600090812060118101805460ff1916905560088101829055600a8101829055600d81018290556007546001820180546001600160f01b039092166001600160f01b0319909216919091176001600160f81b0316600160f81b871515021790556002810184905591506122c890600f830190615589565b82156122d55750506115e3565b6060806122e0614132565b6007549194509250612390915084908890612325907f0000000000000000000000000000000000000000000000000000000000000000906001600160f01b0316614328565b601380548060200260200160405190810160405280929190818152602001828054801561237b57602002820191906000526020600020905b81546001600160a01b0316815260019091019060200180831161235d575b5060059796959493508a9250899150506143b9565b837fc0eaa359541c7c642d9947c9496507c134f3e4f8e1fd433313eb27dc48cb1fb76123bb866140e5565b604080519182524260208301528051918290030190a2505050505050565b600061241b7f00000000000000000000000000000000000000000000000000000000000000008461240985613a82565b600101546001600160f01b031661447c565b9392505050565b7f000000000000000000000000000000000000000000000000000000000000000081565b604080518082018252600d81526c1058d8d95cdcc819195b9a5959609a1b6020808301918252925162461bcd60e51b81526004810193845282516024820152825192939283926044909201919080838360008315610e27578181015183820152602001610e0f565b60145460011480156124ea5750306001600160a01b031660146000815481106124d357fe5b6000918252602090912001546001600160a01b0316145b156124f457612688565b60005b601454811015610be15760006014828154811061251057fe5b6000918252602091829020015460408051635c222bad60e01b815290516001600160a01b0390921692635c222bad92600480840193829003018186803b15801561255957600080fd5b505afa15801561256d573d6000803e3d6000fd5b505050506040513d602081101561258357600080fd5b505160138054919250908390811061259757fe5b6000918252602090912001546001600160a01b03828116911614156125bc5750612680565b80601383815481106125ca57fe5b600091825260209091200180546001600160a01b0319166001600160a01b0392831617905581161561267e57806001600160a01b031663313ce5676040518163ffffffff1660e01b815260040160206040518083038186803b15801561262f57600080fd5b505afa158015612643573d6000803e3d6000fd5b505050506040513d602081101561265957600080fd5b50516001600160a01b038216600090815260066020526040902060ff909116600a0a90555b505b6001016124f7565b565b604080518082018252600f81526e4654534f206e6f742061637469766560881b6020808301918252925162461bcd60e51b81526004810193845282516024820152825192939283926044909201919080838360008315610e27578181015183820152602001610e0f565b6126fc611d8d565b8214612740576040805162461bcd60e51b815260206004820152600e60248201526d15dc9bdb99c8195c1bd8da081a5960921b604482015290519081900360640190fd5b60008281526012602090815260408083206001600160a01b0387168452909152902054156127b5576040805162461bcd60e51b815260206004820152601960248201527f4475706c6963617465207375626d697420696e2065706f636800000000000000604482015290519081900360640190fd5b60008281526012602090815260408083206001600160a01b038716808552908352928190208490558051848152429281019290925280518593927f615c0184a2b16dbbcd09eae0bf239e28977aa4e6ff2204eda59c14016310bb6692908290030190a3505050565b6000600160801b82106128615760405162461bcd60e51b81526004018080602001828103825260278152602001806156c16027913960400191505060405180910390fd5b5090565b60006128708261451f565b4210156040518060400160405280602081526020017f45706f6368206e6f7420726561647920666f722066696e616c697a6174696f6e815250906128f55760405162461bcd60e51b8152602060048201818152835160248401528351909283926044909101919085019080838360008315610e27578181015183820152602001610e0f565b506128ff82613a82565b90506000601182015460ff16600581111561291657fe5b146040518060400160405280601781526020017f45706f636820616c72656164792066696e616c697a6564000000000000000000815250906129995760405162461bcd60e51b8152602060048201818152835160248401528351909283926044909101919085019080838360008315610e27578181015183820152602001610e0f565b50919050565b600f82015415612bc157612a0282600f01805480602002602001604051908101604052809291908181526020018280548015611442576020028201919060005260206000209081548152602001906001019080831161142e57505050505061312d565b601083015580612a13576002612a16565b60045b60118301805460ff19166001836005811115612a2e57fe5b0217905550601082015460028054426001600160801b03908116600160801b029381166001600160801b0319909216919091171691909117905560118201546004805460ff9092169160ff19166001836005811115612a8957fe5b021790555060048054610100600160f81b031916610100426001600160f01b03160217808255601184015460ff1691906001600160f81b0316600160f81b836005811115612ad357fe5b0217905550601082015460038054426001600160801b03908116600160801b029381166001600160801b03199092169190911716919091179055612b1683610be1565b827f1856740832ecbdceafeb109e01b188b9c0499df6a33dc8129aa0dd8f9d9a9db0836010015460008060008060008960110160009054906101000a900460ff1642604051808981526020018815158152602001878152602001868152602001858152602001848152602001836005811115612b8e57fe5b81526020018281526020019850505050505050505060405180910390a26001820180546001600160f81b03169055610d68565b610d68838383613f41565b6060806060600084600d01549050806001600160401b0381118015612bf057600080fd5b50604051908082528060200260200182016040528015612c1a578160200160208202803683370190505b509350806001600160401b0381118015612c3357600080fd5b50604051908082528060200260200182016040528015612c5d578160200160208202803683370190505b5091506000816001600160401b0381118015612c7857600080fd5b50604051908082528060200260200182016040528015612ca2578160200160208202803683370190505b50905060005b82811015612d4a576000818152600e880160205260409020805487516001600160801b0390911690889084908110612cdc57fe5b602090810291909101015280548551600160801b9091046001600160401b031690869084908110612d0957fe5b602090810291909101015280548351600160c01b9091046001600160401b031690849084908110612d3657fe5b602090810291909101015250600101612ca8565b50612d56868483614552565b935050509193909250565b6060612d6b61551a565b8451806001600160401b0381118015612d8357600080fd5b50604051908082528060200260200182016040528015612dad578160200160208202803683370190505b50925060005b81811015612ddb5780848281518110612dc857fe5b6020908102919091010152600101612db3565b50612df26002600060018403600080888c8c614669565b608085015260608401528083528351869185918110612e0d57fe5b602002602001015181518110612e1f57fe5b602090810291909101015160a0830181905260808301516060840151845192010190612e58578251600060c08501526020840152612eac565b60048104836060015111612e7c578251606084015160c08501526020840152612eac565b612ea060016000600186600001510360008760a00151886080015101898d8d614669565b5060c085015260208401525b825160001983011415612ecd57825160006101008501526040840152612f25565b60048104836080015111612ef257825160808401516101008501526040840152612f25565b612f1860038460000151600101600185038660a001518760600151016000898d8d614669565b6101008601525060408401525b8684846000015181518110612f3657fe5b602002602001015181518110612f4857fe5b6020908102919091010151610120840152600281048360a00151846060015101148015612f76575060028106155b15612fa6576002612f90846000015160018503878b614944565b8461012001510181612f9e57fe5b046101208401525b612fc0836020015160006000198660c00151888c8c614a04565b60c085015260208401526040830151610100840151612feb9190600019850190600190888c8c614a04565b61010085015260408401526020830151845188918691811061300957fe5b60200260200101518151811061301b57fe5b602002602001015183610140018181525050868484604001518151811061303e57fe5b60200260200101518151811061305057fe5b602090810291909101015161016084015261010083015160c08401519091030360e083015250610120810151620f4240938102939093048084036101808301529092016101a0830152939092509050565b6000836130b057506000613125565b60008581846000198801816130c157fe5b068152602001908152602001600020601001549050808414156130e8576000915050613125565b836130fb5764e8d4a51000915050613125565b60008482111561310e5750838103613113565b508084035b6131208161271087614ad8565b925050505b949350505050565b80516000908061313957fe5b60015b818110156131e557600084828151811061315257fe5b6020026020010151905060008290505b60008111801561318757508186600183038151811061317d57fe5b6020026020010151115b156131c35785600182038151811061319b57fe5b60200260200101518682815181106131af57fe5b602090810291909101015260001901613162565b818682815181106131d057fe5b6020908102919091010152505060010161313c565b5060028104600180831614156132125783818151811061320157fe5b6020026020010151925050506115f5565b600284828151811061322057fe5b602002602001015185600184038151811061323757fe5b6020026020010151018161324757fe5b04925050506115f5565b606080600061325e6155a7565b601289015460a0820152600d890154608082018190526001600160401b038111801561328957600080fd5b506040519080825280602002602001820160405280156132b3578160200160208202803683370190505b50815260808101516001600160401b03811180156132d057600080fd5b506040519080825280602002602001820160405280156132fa578160200160208202803683370190505b5060208201526000805b826080015181101561347757600087828151811061331e57fe5b60200260200101519050600089838151811061333657fe5b602002602001015190508b61014001518111801561335857508b610160015181105b806133a457508b610140015181148061337557508b610160015181145b80156133a457506000838152600e8e0160205260409020600101546133a4908c906001600160a01b0316614be4565b156133da578460a00151612710038202856000015184815181106133c457fe5b6020908102919091010152604085018051830190525b808c61018001511080156133f257508b6101a0015181105b15613424578460a0015182028560200151848151811061340e57fe5b6020908102919091010152606085018051830190525b60008560000151848151811061343657fe5b60200260200101511180613461575060008560200151848151811061345757fe5b6020026020010151115b1561346d576001909301925b5050600101613304565b50806001600160401b038111801561348e57600080fd5b506040519080825280602002602001820160405280156134b8578160200160208202803683370190505b509450806001600160401b03811180156134d157600080fd5b506040519080825280602002602001820160405280156134fb578160200160208202803683370190505b5093506000905060005b82608001518110156136695760008360000151828151811061352357fe5b6020026020010151118061354e575060008360200151828151811061354457fe5b6020026020010151115b1561366157600083606001511161356657600161356c565b82606001515b835180518390811061357a57fe5b60200260200101510285838151811061358f57fe5b60200260200101818151019150818152505060008360400151116135b45760016135ba565b82604001515b836020015182815181106135ca57fe5b6020026020010151028583815181106135df57fe5b602090810291909101810180519092019091526000828152600e8d01909152604090206001015486516001600160a01b039091169087908490811061362057fe5b60200260200101906001600160a01b031690816001600160a01b03168152505084828151811061364c57fe5b60200260200101518401935081806001019250505b600101613505565b505050955095509592505050565b50505050565b60007f00000000000000000000000000000000000000000000000000000000000000008210156136af575060006115f5565b7f00000000000000000000000000000000000000000000000000000000000000007f00000000000000000000000000000000000000000000000000000000000000008303816136fa57fe5b0490506115f5565b60408051808201909152600e81526d0a0e4d2c6ca40e8dede40d0d2ced60931b6020820152600160801b84106137795760405162461bcd60e51b8152602060048201818152835160248401528351909283926044909101919085019080838360008315610e27578181015183820152602001610e0f565b5061378384614c1f565b6040518060400160405280601881526020017f52657665616c20706572696f64206e6f74206163746976650000000000000000815250906138055760405162461bcd60e51b8152602060048201818152835160248401528351909283926044909101919085019080838360008315610e27578181015183820152602001610e0f565b506040805160208082018690528183018590526001600160a01b038816606080840182905284518085039091018152608090930184528251928201929092206000888152601283528481209381529290915291902054146138975760405162461bcd60e51b81526004018080602001828103825260238152602001806156e86023913960400191505060405180910390fd5b60006005817f000000000000000000000000000000000000000000000000000000000000000087816138c557fe5b0681526020810191909152604001600020600181015490915060ff600160f81b8204811691600160f01b8104909116906001600160f01b0316818061392a575082801561392a57506001600160a01b0389166000908152600f602052604090205460ff165b6040518060400160405280602081526020017f45706f6368206e6f7420696e697469616c697a656420666f722072657665616c815250906139ac5760405162461bcd60e51b8152602060048201818152835160248401528351909283926044909101919085019080838360008315610e27578181015183820152602001610e0f565b506000806139bd868c898887614c62565b6040805160208082018d90528183018e9052825180830384018152606090920190925280519101209193509150613a009060059088908e90869086908f90614cc2565b60008a81526012602090815260408083206001600160a01b038f168085529083528184209390935580518c81529182018b905242828201526060820185905260808201849052518c92917f408bc8c9d02102257c33373c2df5771b03067bd8ea7ec60c35f314ec4ee99d05919081900360a00190a35050505050505050505050565b60006005817f00000000000000000000000000000000000000000000000000000000000000008481613ab057fe5b0681526020019081526020016000209050806002015482146040518060400160405280601881526020017f45706f63682064617461206e6f7420617661696c61626c650000000000000000815250906129995760405162461bcd60e51b8152602060048201818152835160248401528351909283926044909101919085019080838360008315610e27578181015183820152602001610e0f565b82516060906000816001600160401b0381118015613b6757600080fd5b50604051908082528060200260200182016040528015613b91578160200160208202803683370190505b5090506000805b83811015613c7a5760006001600160a01b0316888281518110613bb757fe5b60200260200101516001600160a01b03161415613bd357613c72565b6000613c4a878381518110613be457fe5b60200260200101518b60010160008c8681518110613bfe57fe5b60200260200101516001600160a01b03166001600160a01b03168152602001908152602001600020548a8581518110613c3357fe5b6020026020010151614ad89092919063ffffffff16565b905080848381518110613c5957fe5b6020908102919091010152613c6e8382614e1d565b9250505b600101613b98565b508015613ce55760005b83811015613ce357613cc4613cb7612710888481518110613ca157fe5b6020026020010151614e7790919063ffffffff16565b83858481518110613c3357fe5b838281518110613cd057fe5b6020908102919091010152600101613c84565b505b509695505050505050565b8151606090806001600160401b0381118015613d0b57600080fd5b50604051908082528060200260200182016040528015613d35578160200160208202803683370190505b50915060005b81811015613e1b5760006001600160a01b0316858281518110613d5a57fe5b60200260200101516001600160a01b031614613df8576000866001016000878481518110613d8457fe5b60200260200101516001600160a01b03166001600160a01b03168152602001908152602001600020549050613dda61271064e8d4a5100081613dc257fe5b04670de0b6b3a76400000282878581518110613c3357fe5b848381518110613de657fe5b60200260200101818152505050613e13565b6000838281518110613e0657fe5b6020026020010181815250505b600101613d3b565b50509392505050565b600080805b8551811015613ee25760006001600160a01b0316868281518110613e4957fe5b60200260200101516001600160a01b031614613eda576000612710613ec2878481518110613e7357fe5b60200260200101518a60010160008b8781518110613e8d57fe5b60200260200101516001600160a01b03166001600160a01b0316815260200190815260200160002054888681518110613c3357fe5b81613ec957fe5b049050613ed68382614e1d565b9250505b600101613e29565b5095945050505050565b6000808360050154831015613f035750600061241b565b83600601548310613f17575061138861241b565b600584015460068501546101f491908190039085036111940281613f3757fe5b0401949350505050565b8215613f5d576002546001600160801b03166010830155613f65565b600060108301555b80613f71576003613f74565b60055b60118301805460ff19166001836005811115613f8c57fe5b021790555060048054610100600160f81b031916610100426001600160f01b03160217808255601184015460ff1691906001600160f81b0316600160f81b836005811115613fd657fe5b0217905550613fe483610be1565b827f1856740832ecbdceafeb109e01b188b9c0499df6a33dc8129aa0dd8f9d9a9db0836010015460008060008060008960110160009054906101000a900460ff164260405180898152602001881515815260200187815260200186815260200185815260200184815260200183600581111561405c57fe5b81526020018281526020019850505050505050505060405180910390a25060010180546001600160f81b0316905550565b600d820154600090815b818110156140da576000818152600e860160205260409020600101546001600160a01b03858116911614156140d2576001019150611e019050565b600101614097565b506000949350505050565b7f0000000000000000000000000000000000000000000000000000000000000000600182017f00000000000000000000000000000000000000000000000000000000000000000201919050565b606080606061413f6124ae565b601380548060200260200160405190810160405280929190818152602001828054801561419557602002820191906000526020600020905b81546001600160a01b03168152600190910190602001808311614177575b5050505050925082516001600160401b03811180156141b357600080fd5b506040519080825280602002602001820160405280156141dd578160200160208202803683370190505b50915082516001600160401b03811180156141f757600080fd5b50604051908082528060200260200182016040528015614221578160200160208202803683370190505b50905060005b83518110156143225761425b84828151811061423f57fe5b60209081029190910101516007546001600160f01b0316614328565b83828151811061426757fe5b6020026020010181815250506014818154811061428057fe5b9060005260206000200160009054906101000a90046001600160a01b03166001600160a01b031663eb91d37e6040518163ffffffff1660e01b8152600401604080518083038186803b1580156142d557600080fd5b505afa1580156142e9573d6000803e3d6000fd5b505050506040513d60408110156142ff57600080fd5b5051825183908390811061430f57fe5b6020908102919091010152600101614227565b50909192565b60006001600160a01b03831661434057506000611e01565b826001600160a01b031663caeb942b836040518263ffffffff1660e01b815260040180828152602001915050602060405180830381600087803b15801561438657600080fd5b505af115801561439a573d6000803e3d6000fd5b505050506040513d60208110156143b057600080fd5b50519050611e01565b6143c68787858585614ed0565b60078701546003808801919091556008880154600488015560058701869055600687018590558701546144019085816143fb57fe5b0461281d565b86546001600160801b0319166001600160801b0391909116178655600487015460078701546144329190816143fb57fe5b86546001600160801b03918216600160801b02911617865550505060018301805460ff60f01b1916600160f01b1790555050600b8201546012820155600c90910154601390910155565b60006001600160a01b0384166144945750600061241b565b836001600160a01b031663e587497e84846040518363ffffffff1660e01b815260040180836001600160a01b0316815260200182815260200192505050602060405180830381600087803b1580156144eb57600080fd5b505af11580156144ff573d6000803e3d6000fd5b505050506040513d602081101561451557600080fd5b5051949350505050565b60007f000000000000000000000000000000000000000000000000000000000000000061454b836140e5565b0192915050565b600d830154606090806001600160401b038111801561457057600080fd5b5060405190808252806020026020018201604052801561459a578160200160208202803683370190505b50915060006145a885614f39565b905060006145b585614f39565b90506000806145c5898585614f7e565b905083156145d557806127100391505b60005b8581101561465c576000831561461e5761461b8a83815181106145f757fe5b602002602001015164e8d4a5100002612710880286614ad89092919063ffffffff16565b90505b60008315614638576146358a84815181106145f757fe5b90505b80820189848151811061464757fe5b602090810291909101015250506001016145d8565b5050505050509392505050565b6000806000888a1415614683575088915086905085614936565b61468b6155dd565b8881526020810188905261469d61561a565b60208082018d905260408083018d90528051448184015242818301528151808203830181526060909101909152805191012060005b6020830151604084015161470491908160018183030186816146f057fe5b0601876000015188602001518f8f8f614fe5565b606087015260408601528084528a518b9190811061471e57fe5b60200260200101518360600181815250508783606001518151811061473f57fe5b6020026020010151846080018181525050836060015184604001518560800151010190508e6002141561481a5760028106600282040160a0850181905280820360c086015260408501511080159061479a57508b8460a00151115b156147bf57825160001901604084015260608401516080850151016020850152614815565b8360c0015184606001511180156147d957508a8460c00151115b156147fa578251600101602084015260408401516080850151018452614815565b50505160408201516060909201519094509092509050614936565b614931565b8e600114156148ab576004810460a0850181905280820360c0860152604085015111801561484b57508b8460a00151115b1561487057825160001901604084015260608401516080850151016020850152614815565b8360c001518460600151101580156147d957508a8460c0015111156147fa578251600101602084015260408401516080850151018452614815565b6004810460c08501819052810360a085018190526040850151108015906148d557508b8460a00151115b156148fa57825160001901604084015260608401516080850151016020850152614931565b8360c00151846060015111801561491457508a8460c00151115b156147fa5782516001016020840152604084015160808501510184525b6146d2565b985098509895505050505050565b60008385141561497c578183868151811061495b57fe5b60200260200101518151811061496d57fe5b60200260200101519050613125565b60008284876001018151811061498e57fe5b6020026020010151815181106149a057fe5b602002602001015190506000808760020190505b8681116149f857848682815181106149c857fe5b6020026020010151815181106149da57fe5b60200260200101519150828210156149f0578192505b6001016149b4565b50909695505050505050565b60008085888a0388028213614a1f5789879250925050614acc565b600085878c81518110614a2e57fe5b602002602001015181518110614a4057fe5b602090810291909101015190508a89016000815b60008c8e83030213614ac057898181518110614a6c57fe5b6020026020010151915083898381518110614a8357fe5b60200260200101511415614ab957878281518110614a9d57fe5b602002602001015185039450614ab483828c6151ae565b918b01915b8b01614a54565b50508990039350909150505b97509795505050505050565b6000808211614b21576040805162461bcd60e51b815260206004820152601060248201526f4469766973696f6e206279207a65726f60801b604482015290519081900360640190fd5b83614b2e5750600061241b565b83830283858281614b3b57fe5b041415614b5457828181614b4b57fe5b0491505061241b565b6000838681614b5f57fe5b0490506000848781614b6d57fe5b0690506000858781614b7b57fe5b0490506000868881614b8957fe5b069050614bd7614ba388614b9d8685614e77565b90615216565b614bd1614bb08686614e77565b614bd1614bbd8987614e77565b614bd18d614bcb8c8b614e77565b90614e77565b90614e1d565b9998505050505050505050565b604080516020808201949094526001600160a01b03929092168282015280518083038201815260609092019052805191012060019081161490565b600080614c2b836140e5565b905042811115801561241b57507f000000000000000000000000000000000000000000000000000000000000000001421092915050565b6000808315614c7657506000905080614cb8565b849150614c8487878561527d565b87549091506001600160801b0380821691600160801b90041681841115614ca9578193505b80831115614cb5578092505b50505b9550959350505050565b600086600d015490506000614ce38787878b600601548c600701548961533b565b63ffffffff838116608083019081526000858152600e8c0160209081526040918290208551815492870151938701516001600160801b03199093166001600160801b039091161767ffffffffffffffff60801b1916600160801b6001600160401b0394851602176001600160c01b0316600160c01b939092169290920217815560608401516001918201805493516001600160a01b03199094166001600160a01b039092169190911763ffffffff60a01b1916600160a01b93851693909302929092179091558401600d8b015560088a0154919250614dc591908890614e1d16565b6008890155600a8089018054850190556001600160a01b0388166000908152908a01602052604090205460ff1615614e1257600f8801805460018101825560009182526020909120018490555b505050505050505050565b60008282018381101561241b576040805162461bcd60e51b815260206004820152601b60248201527f536166654d6174683a206164646974696f6e206f766572666c6f770000000000604482015290519081900360640190fd5b600082614e8657506000611e01565b82820282848281614e9357fe5b041461241b5760405162461bcd60e51b815260040180806020018281038252602181526020018061570b6021913960400191505060405180910390fd5b8251614ee590600b86019060208601906154b9565b50614ef285848484613b4a565b8051614f0891600c870191602090910190615642565b506000614f16868685615398565b600786018190559050614f298682613eec565b8560090181905550505050505050565b600080805b8351811015614f7757614f6d848281518110614f5657fe5b602002602001015183614e1d90919063ffffffff16565b9150600101614f3e565b5092915050565b600081614f8d5750600061241b565b82614f9b575061271061241b565b6000614faf8361271064e8d4a51000614ad8565b905084600301548110614fc8575050600983015461241b565b60038501546009860154614fdd918390614ad8565b91505061241b565b60008060008085878b81518110614ff857fe5b60200260200101518151811061500a57fe5b60200260200101519050600060026001600160401b038111801561502d57600080fd5b50604051908082528060200260200182016040528015615057578160200160208202803683370190505b509050898160008151811061506857fe5b602002602001018181525050888160018151811061508257fe5b60209081029190910101528c8c61509a8d828c6151ae565b81805b8281101561515e5760008c82815181106150b357fe5b60200260200101519050868c82815181106150ca57fe5b60200260200101511015615121578a81815181106150e457fe5b6020026020010151866000815181106150f957fe5b60200260200101818151019150818152505061511683838f6151ae565b600190920191615155565b8a818151811061512d57fe5b60200260200101518660018151811061514257fe5b6020026020010181815101915081815250505b5060010161509d565b5061516a82828d6151ae565b808460008151811061517857fe5b60200260200101518560018151811061518d57fe5b60200260200101519750975097505050505050985098509895505050505050565b818314156151bb57610d68565b8082815181106151c757fe5b60200260200101518184815181106151db57fe5b60200260200101518285815181106151ef57fe5b6020026020010183858151811061520257fe5b602090810291909101019190915252505050565b600080821161526c576040805162461bcd60e51b815260206004820152601a60248201527f536166654d6174683a206469766973696f6e206279207a65726f000000000000604482015290519081900360640190fd5b81838161527557fe5b049392505050565b600b83015460009081906001600160401b038111801561529c57600080fd5b506040519080825280602002602001820160405280156152c6578160200160208202803683370190505b50905060005b600b8601548110156153255761530686600b0182815481106152ea57fe5b6000918252602090912001546001600160a01b0316868661447c565b82828151811061531257fe5b60209081029190910101526001016152cc565b5061533260058683615398565b95945050505050565b61534361567d565b6001600160a01b038716606082015261535c8685615488565b6001600160401b031660208201526153748584615488565b6001600160401b031660408201526001600160801b03909116815295945050505050565b600080805b600b85015481101561547f5760006001600160a01b031685600b0182815481106153c357fe5b6000918252602090912001546001600160a01b031614156153e357615477565b6154746127106154648684815181106153f857fe5b60200260200101518960010160008a600b01878154811061541557fe5b60009182526020808320909101546001600160a01b03168352820192909252604001902054600c8a0180548790811061544a57fe5b9060005260206000200154614ad89092919063ffffffff16565b8161546b57fe5b84919004614e1d565b91505b60010161539d565b50949350505050565b6000811580615495575082155b156154a257506000611e01565b6154b28364e8d4a5100084614ad8565b9050611e01565b82805482825590600052602060002090810192821561550e579160200282015b8281111561550e57825182546001600160a01b0319166001600160a01b039091161782556020909201916001909101906154d9565b506128619291506156ab565b604051806101c0016040528060008152602001600081526020016000815260200160008152602001600081526020016000815260200160008152602001600081526020016000815260200160008152602001600081526020016000815260200160008152602001600081525090565b5080546000825590600052602060002090810190610be191906156ab565b6040518060c001604052806060815260200160608152602001600081526020016000815260200160008152602001600081525090565b6040518060e00160405280600081526020016000815260200160008152602001600081526020016000815260200160008152602001600081525090565b6040518060800160405280600081526020016000815260200160008152602001600081525090565b82805482825590600052602060002090810192821561550e579160200282015b8281111561550e578251825591602001919060010190615662565b6040805160a08101825260008082526020820181905291810182905260608101829052608081019190915290565b5b8082111561286157600081556001016156ac56fe53616665436173743a2076616c756520646f65736e27742066697420696e203132382062697473507269636520616c72656164792072657665616c6564206f72206e6f742076616c6964536166654d6174683a206d756c7469706c69636174696f6e206f766572666c6f77a2646970667358221220dceebe4ed9f1ac1812397454da4c1c01d15b8620dc37615c8b1fae5313a7a31f64736f6c63430007060033",
1102
+ "linkReferences": {},
1103
+ "deployedLinkReferences": {}
1104
+ }