@flarenetwork/flare-periphery-contract-artifacts 0.1.0 → 0.1.2
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.
- package/coston/artifacts/contracts/ftso/implementation/FtsoManager.sol/FtsoManager.json +2 -2
- package/coston/artifacts/contracts/governance/implementation/PollingFtso.sol/PollingFtso.json +2 -2
- package/coston/artifacts/contracts/inflation/interface/IIInflationReceiverV1.sol/IIInflationReceiverV1.json +57 -0
- package/coston/artifacts/contracts/tokenPools/implementation/FtsoRewardManager.sol/FtsoRewardManager.json +6 -19
- package/coston/artifacts/contracts/tokenPools/interface/IIFtsoRewardManager.sol/IIFtsoRewardManager.json +0 -13
- package/coston/artifacts/contracts/utils/implementation/FtsoV2Upgrader.sol/FtsoV2Upgrader.json +2 -2
- package/coston2/artifacts/contracts/claiming/implementation/ClaimSetupManager.sol/ClaimSetupManager.json +2 -2
- package/coston2/artifacts/contracts/claiming/implementation/DelegationAccount.sol/DelegationAccount.json +2 -2
- package/coston2/artifacts/contracts/ftso/implementation/Ftso.sol/Ftso.json +2 -2
- package/coston2/artifacts/contracts/ftso/implementation/FtsoManager.sol/FtsoManager.json +2 -2
- package/coston2/artifacts/contracts/ftso/lib/FtsoEpoch.sol/FtsoEpoch.json +2 -2
- package/coston2/artifacts/contracts/ftso/lib/FtsoManagement.sol/FtsoManagement.json +2 -2
- package/coston2/artifacts/contracts/ftso/lib/FtsoManagerSettings.sol/FtsoManagerSettings.json +2 -2
- package/coston2/artifacts/contracts/ftso/priceProviderMockContracts/PriceProviderMockContracts.sol/MockFtsoRegistry.json +2 -2
- package/coston2/artifacts/contracts/ftso/priceProviderMockContracts/PriceProviderMockContracts.sol/MockPriceSubmitter.json +2 -2
- package/coston2/artifacts/contracts/ftso/priceProviderMockContracts/PriceProviderMockContracts.sol/MockVoterWhitelister.json +2 -2
- package/coston2/artifacts/contracts/ftso/priceProviderMockContracts/priceProviderMockFtso.sol/MockNpmFtso.json +2 -2
- package/coston2/artifacts/contracts/governance/implementation/PollingFoundation.sol/PollingFoundation.json +2 -2
- package/coston2/artifacts/contracts/governance/implementation/PollingFtso.sol/PollingFtso.json +2 -2
- package/coston2/artifacts/contracts/staking/implementation/AddressBinder.sol/AddressBinder.json +121 -0
- package/coston2/artifacts/contracts/staking/implementation/PChainStake.sol/PChainStake.json +512 -0
- package/coston2/artifacts/contracts/staking/implementation/PChainStakeMirror.sol/PChainStakeMirror.json +1299 -0
- package/coston2/artifacts/contracts/staking/implementation/PChainStakeMirrorMultiSigVoting.sol/PChainStakeMirrorMultiSigVoting.json +579 -0
- package/coston2/artifacts/contracts/staking/implementation/PChainStakeMirrorVerifier.sol/PChainStakeMirrorVerifier.json +168 -0
- package/coston2/artifacts/contracts/staking/interface/IIPChainStakeMirrorVerifier.sol/IIPChainStakeMirrorVerifier.json +72 -0
- package/coston2/artifacts/contracts/staking/lib/PChainStakeHistory.sol/PChainStakeHistory.json +24 -0
- package/coston2/artifacts/contracts/token/implementation/CombinedNat.sol/CombinedNat.json +128 -0
- package/coston2/artifacts/contracts/token/implementation/GovernanceVotePower.sol/GovernanceVotePower.json +20 -2
- package/coston2/artifacts/contracts/token/implementation/VPContract.sol/VPContract.json +2 -2
- package/coston2/artifacts/contracts/token/implementation/VPToken.sol/VPToken.json +2 -2
- package/coston2/artifacts/contracts/token/implementation/WNat.sol/WNat.json +2 -2
- package/coston2/artifacts/contracts/token/{lib → interface}/IICombinedNatBalance.sol/IICombinedNatBalance.json +33 -1
- package/coston2/artifacts/contracts/token/interface/IIGovernanceVotePower.sol/IIGovernanceVotePower.json +14 -1
- package/coston2/artifacts/contracts/tokenPools/implementation/AttestationProviderRewardManager.sol/AttestationProviderRewardManager.json +2 -2
- package/coston2/artifacts/contracts/tokenPools/implementation/DistributionToDelegators.sol/DistributionToDelegators.json +2 -2
- package/coston2/artifacts/contracts/tokenPools/implementation/Escrow.sol/Escrow.json +2 -2
- package/coston2/artifacts/contracts/tokenPools/implementation/FtsoRewardManager.sol/FtsoRewardManager.json +2 -2
- package/coston2/artifacts/contracts/tokenPools/implementation/ValidatorRewardManager.sol/ValidatorRewardManager.json +2 -2
- package/coston2/artifacts/contracts/userInterfaces/IAddressBinder.sol/IAddressBinder.json +121 -0
- package/coston2/artifacts/contracts/userInterfaces/IGovernanceVotePower.sol/IGovernanceVotePower.json +1 -1
- package/coston2/artifacts/contracts/userInterfaces/IPChainStakeMirror.sol/IPChainStakeMirror.json +575 -0
- package/coston2/artifacts/contracts/userInterfaces/IPChainStakeMirrorMultiSigVoting.sol/IPChainStakeMirrorMultiSigVoting.json +311 -0
- package/coston2/artifacts/contracts/userInterfaces/IPChainStakeMirrorVerifier.sol/IPChainStakeMirrorVerifier.json +10 -0
- package/coston2/artifacts/contracts/userInterfaces/IPChainVotePower.sol/IPChainVotePower.json +309 -0
- package/coston2/artifacts/contracts/utils/implementation/BytesLib.sol/BytesLib.json +10 -0
- package/coston2/artifacts/contracts/utils/implementation/FtsoRegistry.sol/FtsoRegistry.json +2 -2
- package/coston2/artifacts/contracts/utils/implementation/FtsoV2Upgrader.sol/FtsoV2Upgrader.json +2 -2
- package/coston2/artifacts/contracts/utils/implementation/VoterWhitelister.sol/VoterWhitelister.json +2 -2
- package/coston2/deploys/contracts.json +23 -3
- package/dist/coston/StateConnector/libs/ts/AttestationDefinitionStore.d.ts +68 -0
- package/dist/coston/StateConnector/libs/ts/AttestationDefinitionStore.d.ts.map +1 -0
- package/dist/coston/StateConnector/libs/ts/AttestationDefinitionStore.js +164 -0
- package/dist/coston/StateConnector/libs/ts/AttestationDefinitionStore.js.map +1 -0
- package/dist/coston/StateConnector/libs/ts/AttestationResponse.d.ts +33 -0
- package/dist/coston/StateConnector/libs/ts/AttestationResponse.d.ts.map +1 -0
- package/dist/coston/StateConnector/libs/ts/AttestationResponse.js +30 -0
- package/dist/coston/StateConnector/libs/ts/AttestationResponse.js.map +1 -0
- package/dist/coston/StateConnector/libs/ts/MerkleTree.d.ts +103 -0
- package/dist/coston/StateConnector/libs/ts/MerkleTree.d.ts.map +1 -0
- package/dist/coston/StateConnector/libs/ts/MerkleTree.js +212 -0
- package/dist/coston/StateConnector/libs/ts/MerkleTree.js.map +1 -0
- package/dist/coston/StateConnector/libs/ts/config-types.d.ts +143 -0
- package/dist/coston/StateConnector/libs/ts/config-types.d.ts.map +1 -0
- package/dist/coston/StateConnector/libs/ts/config-types.js +3 -0
- package/dist/coston/StateConnector/libs/ts/config-types.js.map +1 -0
- package/dist/coston/StateConnector/libs/ts/interfaces.d.ts +32 -0
- package/dist/coston/StateConnector/libs/ts/interfaces.d.ts.map +1 -0
- package/dist/coston/StateConnector/libs/ts/interfaces.js +3 -0
- package/dist/coston/StateConnector/libs/ts/interfaces.js.map +1 -0
- package/dist/coston/StateConnector/libs/ts/random.d.ts +9 -0
- package/dist/coston/StateConnector/libs/ts/random.d.ts.map +1 -0
- package/dist/coston/StateConnector/libs/ts/random.js +70 -0
- package/dist/coston/StateConnector/libs/ts/random.js.map +1 -0
- package/dist/coston/StateConnector/libs/ts/utils.d.ts +73 -0
- package/dist/coston/StateConnector/libs/ts/utils.d.ts.map +1 -0
- package/dist/coston/StateConnector/libs/ts/utils.js +282 -0
- package/dist/coston/StateConnector/libs/ts/utils.js.map +1 -0
- package/dist/coston/StateConnector/typescript/AddressValidity.d.ts +91 -0
- package/dist/coston/StateConnector/typescript/AddressValidity.d.ts.map +1 -0
- package/dist/coston/StateConnector/typescript/AddressValidity.js +9 -0
- package/dist/coston/StateConnector/typescript/AddressValidity.js.map +1 -0
- package/dist/coston/StateConnector/typescript/BalanceDecreasingTransaction.d.ts +107 -0
- package/dist/coston/StateConnector/typescript/BalanceDecreasingTransaction.d.ts.map +1 -0
- package/dist/coston/StateConnector/typescript/BalanceDecreasingTransaction.js +9 -0
- package/dist/coston/StateConnector/typescript/BalanceDecreasingTransaction.js.map +1 -0
- package/dist/coston/StateConnector/typescript/ConfirmedBlockHeightExists.d.ts +103 -0
- package/dist/coston/StateConnector/typescript/ConfirmedBlockHeightExists.d.ts.map +1 -0
- package/dist/coston/StateConnector/typescript/ConfirmedBlockHeightExists.js +9 -0
- package/dist/coston/StateConnector/typescript/ConfirmedBlockHeightExists.js.map +1 -0
- package/dist/coston/StateConnector/typescript/EVMTransaction.d.ts +160 -0
- package/dist/coston/StateConnector/typescript/EVMTransaction.d.ts.map +1 -0
- package/dist/coston/StateConnector/typescript/EVMTransaction.js +9 -0
- package/dist/coston/StateConnector/typescript/EVMTransaction.js.map +1 -0
- package/dist/coston/StateConnector/typescript/Payment.d.ts +139 -0
- package/dist/coston/StateConnector/typescript/Payment.d.ts.map +1 -0
- package/dist/coston/StateConnector/typescript/Payment.js +9 -0
- package/dist/coston/StateConnector/typescript/Payment.js.map +1 -0
- package/dist/coston/StateConnector/typescript/ReferencedPaymentNonexistence.d.ts +115 -0
- package/dist/coston/StateConnector/typescript/ReferencedPaymentNonexistence.d.ts.map +1 -0
- package/dist/coston/StateConnector/typescript/ReferencedPaymentNonexistence.js +9 -0
- package/dist/coston/StateConnector/typescript/ReferencedPaymentNonexistence.js.map +1 -0
- package/dist/coston/StateConnector/typescript/TypeTemplate.d.ts +146 -0
- package/dist/coston/StateConnector/typescript/TypeTemplate.d.ts.map +1 -0
- package/dist/coston/StateConnector/typescript/TypeTemplate.js +9 -0
- package/dist/coston/StateConnector/typescript/TypeTemplate.js.map +1 -0
- package/dist/coston/StateConnector/typescript/data-sources/data-sources.d.ts +29 -0
- package/dist/coston/StateConnector/typescript/data-sources/data-sources.d.ts.map +1 -0
- package/dist/coston/StateConnector/typescript/data-sources/data-sources.js +33 -0
- package/dist/coston/StateConnector/typescript/data-sources/data-sources.js.map +1 -0
- package/dist/coston/StateConnector/typescript/index.d.ts +9 -0
- package/dist/coston/StateConnector/typescript/index.d.ts.map +1 -0
- package/dist/coston/StateConnector/typescript/index.js +25 -0
- package/dist/coston/StateConnector/typescript/index.js.map +1 -0
- package/dist/coston/abis.d.ts.map +1 -1
- package/dist/coston/abis.js +2 -0
- package/dist/coston/abis.js.map +1 -1
- package/dist/coston/artifacts/contracts/ftso/implementation/FtsoManager.sol/FtsoManager.json +2 -2
- package/dist/coston/artifacts/contracts/governance/implementation/PollingFtso.sol/PollingFtso.json +2 -2
- package/dist/coston/artifacts/contracts/inflation/interface/IIInflationReceiverV1.sol/IIInflationReceiverV1.json +57 -0
- package/dist/coston/artifacts/contracts/tokenPools/implementation/FtsoRewardManager.sol/FtsoRewardManager.json +6 -19
- package/dist/coston/artifacts/contracts/tokenPools/interface/IIFtsoRewardManager.sol/IIFtsoRewardManager.json +0 -13
- package/dist/coston/artifacts/contracts/utils/implementation/FtsoV2Upgrader.sol/FtsoV2Upgrader.json +2 -2
- package/dist/coston/deploys/mapper.js.map +1 -1
- package/dist/coston2/abis.d.ts.map +1 -1
- package/dist/coston2/abis.js +20 -2
- package/dist/coston2/abis.js.map +1 -1
- package/dist/coston2/artifacts/contracts/claiming/implementation/ClaimSetupManager.sol/ClaimSetupManager.json +2 -2
- package/dist/coston2/artifacts/contracts/claiming/implementation/DelegationAccount.sol/DelegationAccount.json +2 -2
- package/dist/coston2/artifacts/contracts/ftso/implementation/Ftso.sol/Ftso.json +2 -2
- package/dist/coston2/artifacts/contracts/ftso/implementation/FtsoManager.sol/FtsoManager.json +2 -2
- package/dist/coston2/artifacts/contracts/ftso/lib/FtsoEpoch.sol/FtsoEpoch.json +2 -2
- package/dist/coston2/artifacts/contracts/ftso/lib/FtsoManagement.sol/FtsoManagement.json +2 -2
- package/dist/coston2/artifacts/contracts/ftso/lib/FtsoManagerSettings.sol/FtsoManagerSettings.json +2 -2
- package/dist/coston2/artifacts/contracts/ftso/priceProviderMockContracts/PriceProviderMockContracts.sol/MockFtsoRegistry.json +2 -2
- package/dist/coston2/artifacts/contracts/ftso/priceProviderMockContracts/PriceProviderMockContracts.sol/MockPriceSubmitter.json +2 -2
- package/dist/coston2/artifacts/contracts/ftso/priceProviderMockContracts/PriceProviderMockContracts.sol/MockVoterWhitelister.json +2 -2
- package/dist/coston2/artifacts/contracts/ftso/priceProviderMockContracts/priceProviderMockFtso.sol/MockNpmFtso.json +2 -2
- package/dist/coston2/artifacts/contracts/governance/implementation/PollingFoundation.sol/PollingFoundation.json +2 -2
- package/dist/coston2/artifacts/contracts/governance/implementation/PollingFtso.sol/PollingFtso.json +2 -2
- package/dist/coston2/artifacts/contracts/staking/implementation/AddressBinder.sol/AddressBinder.json +121 -0
- package/dist/coston2/artifacts/contracts/staking/implementation/PChainStake.sol/PChainStake.json +512 -0
- package/dist/coston2/artifacts/contracts/staking/implementation/PChainStakeMirror.sol/PChainStakeMirror.json +1299 -0
- package/dist/coston2/artifacts/contracts/staking/implementation/PChainStakeMirrorMultiSigVoting.sol/PChainStakeMirrorMultiSigVoting.json +579 -0
- package/dist/coston2/artifacts/contracts/staking/implementation/PChainStakeMirrorVerifier.sol/PChainStakeMirrorVerifier.json +168 -0
- package/dist/coston2/artifacts/contracts/staking/interface/IIPChainStakeMirrorVerifier.sol/IIPChainStakeMirrorVerifier.json +72 -0
- package/dist/coston2/artifacts/contracts/staking/lib/PChainStakeHistory.sol/PChainStakeHistory.json +24 -0
- package/dist/coston2/artifacts/contracts/token/implementation/CombinedNat.sol/CombinedNat.json +128 -0
- package/dist/coston2/artifacts/contracts/token/implementation/GovernanceVotePower.sol/GovernanceVotePower.json +20 -2
- package/dist/coston2/artifacts/contracts/token/implementation/VPContract.sol/VPContract.json +2 -2
- package/dist/coston2/artifacts/contracts/token/implementation/VPToken.sol/VPToken.json +2 -2
- package/dist/coston2/artifacts/contracts/token/implementation/WNat.sol/WNat.json +2 -2
- package/dist/coston2/artifacts/contracts/token/{lib → interface}/IICombinedNatBalance.sol/IICombinedNatBalance.json +33 -1
- package/dist/coston2/artifacts/contracts/token/interface/IIGovernanceVotePower.sol/IIGovernanceVotePower.json +14 -1
- package/dist/coston2/artifacts/contracts/tokenPools/implementation/AttestationProviderRewardManager.sol/AttestationProviderRewardManager.json +2 -2
- package/dist/coston2/artifacts/contracts/tokenPools/implementation/DistributionToDelegators.sol/DistributionToDelegators.json +2 -2
- package/dist/coston2/artifacts/contracts/tokenPools/implementation/Escrow.sol/Escrow.json +2 -2
- package/dist/coston2/artifacts/contracts/tokenPools/implementation/FtsoRewardManager.sol/FtsoRewardManager.json +2 -2
- package/dist/coston2/artifacts/contracts/tokenPools/implementation/ValidatorRewardManager.sol/ValidatorRewardManager.json +2 -2
- package/dist/coston2/artifacts/contracts/utils/implementation/BytesLib.sol/BytesLib.json +10 -0
- package/dist/coston2/artifacts/contracts/utils/implementation/FtsoRegistry.sol/FtsoRegistry.json +2 -2
- package/dist/coston2/artifacts/contracts/utils/implementation/FtsoV2Upgrader.sol/FtsoV2Upgrader.json +2 -2
- package/dist/coston2/artifacts/contracts/utils/implementation/VoterWhitelister.sol/VoterWhitelister.json +2 -2
- package/dist/coston2/deploys/addresses.d.ts +4 -0
- package/dist/coston2/deploys/addresses.d.ts.map +1 -1
- package/dist/coston2/deploys/addresses.js +6 -2
- package/dist/coston2/deploys/addresses.js.map +1 -1
- package/dist/coston2/deploys/contracts.json +23 -3
- package/dist/coston2/deploys/mapper.js.map +1 -1
- package/dist/flare/abis.d.ts.map +1 -1
- package/dist/flare/abis.js +20 -2
- package/dist/flare/abis.js.map +1 -1
- package/dist/flare/artifacts/contracts/claiming/implementation/ClaimSetupManager.sol/ClaimSetupManager.json +2 -2
- package/dist/flare/artifacts/contracts/claiming/implementation/DelegationAccount.sol/DelegationAccount.json +2 -2
- package/dist/flare/artifacts/contracts/ftso/implementation/Ftso.sol/Ftso.json +2 -2
- package/dist/flare/artifacts/contracts/ftso/implementation/FtsoManager.sol/FtsoManager.json +2 -2
- package/dist/flare/artifacts/contracts/ftso/lib/FtsoEpoch.sol/FtsoEpoch.json +2 -2
- package/dist/flare/artifacts/contracts/ftso/lib/FtsoManagement.sol/FtsoManagement.json +2 -2
- package/dist/flare/artifacts/contracts/ftso/lib/FtsoManagerSettings.sol/FtsoManagerSettings.json +2 -2
- package/dist/flare/artifacts/contracts/ftso/priceProviderMockContracts/PriceProviderMockContracts.sol/MockFtsoRegistry.json +2 -2
- package/dist/flare/artifacts/contracts/ftso/priceProviderMockContracts/PriceProviderMockContracts.sol/MockPriceSubmitter.json +2 -2
- package/dist/flare/artifacts/contracts/ftso/priceProviderMockContracts/PriceProviderMockContracts.sol/MockVoterWhitelister.json +2 -2
- package/dist/flare/artifacts/contracts/ftso/priceProviderMockContracts/priceProviderMockFtso.sol/MockNpmFtso.json +2 -2
- package/dist/flare/artifacts/contracts/governance/implementation/PollingFoundation.sol/PollingFoundation.json +2 -2
- package/dist/flare/artifacts/contracts/governance/implementation/PollingFtso.sol/PollingFtso.json +2 -2
- package/dist/flare/artifacts/contracts/staking/implementation/AddressBinder.sol/AddressBinder.json +121 -0
- package/dist/flare/artifacts/contracts/staking/implementation/PChainStake.sol/PChainStake.json +512 -0
- package/dist/flare/artifacts/contracts/staking/implementation/PChainStakeMirror.sol/PChainStakeMirror.json +1299 -0
- package/dist/flare/artifacts/contracts/staking/implementation/PChainStakeMirrorMultiSigVoting.sol/PChainStakeMirrorMultiSigVoting.json +579 -0
- package/dist/flare/artifacts/contracts/staking/implementation/PChainStakeMirrorVerifier.sol/PChainStakeMirrorVerifier.json +168 -0
- package/dist/flare/artifacts/contracts/staking/interface/IIPChainStakeMirrorVerifier.sol/IIPChainStakeMirrorVerifier.json +72 -0
- package/dist/flare/artifacts/contracts/staking/lib/PChainStakeHistory.sol/PChainStakeHistory.json +24 -0
- package/dist/flare/artifacts/contracts/token/implementation/CombinedNat.sol/CombinedNat.json +128 -0
- package/dist/flare/artifacts/contracts/token/implementation/GovernanceVotePower.sol/GovernanceVotePower.json +20 -2
- package/dist/flare/artifacts/contracts/token/implementation/VPContract.sol/VPContract.json +2 -2
- package/dist/flare/artifacts/contracts/token/implementation/VPToken.sol/VPToken.json +2 -2
- package/dist/flare/artifacts/contracts/token/implementation/WNat.sol/WNat.json +2 -2
- package/dist/flare/artifacts/contracts/token/{lib → interface}/IICombinedNatBalance.sol/IICombinedNatBalance.json +33 -1
- package/dist/flare/artifacts/contracts/token/interface/IIGovernanceVotePower.sol/IIGovernanceVotePower.json +14 -1
- package/dist/flare/artifacts/contracts/tokenPools/implementation/AttestationProviderRewardManager.sol/AttestationProviderRewardManager.json +2 -2
- package/dist/flare/artifacts/contracts/tokenPools/implementation/DistributionToDelegators.sol/DistributionToDelegators.json +2 -2
- package/dist/flare/artifacts/contracts/tokenPools/implementation/Escrow.sol/Escrow.json +2 -2
- package/dist/flare/artifacts/contracts/tokenPools/implementation/FtsoRewardManager.sol/FtsoRewardManager.json +2 -2
- package/dist/flare/artifacts/contracts/tokenPools/implementation/ValidatorRewardManager.sol/ValidatorRewardManager.json +2 -2
- package/dist/flare/artifacts/contracts/utils/implementation/BytesLib.sol/BytesLib.json +10 -0
- package/dist/flare/artifacts/contracts/utils/implementation/FtsoRegistry.sol/FtsoRegistry.json +2 -2
- package/dist/flare/artifacts/contracts/utils/implementation/FtsoV2Upgrader.sol/FtsoV2Upgrader.json +2 -2
- package/dist/flare/artifacts/contracts/utils/implementation/VoterWhitelister.sol/VoterWhitelister.json +2 -2
- package/dist/flare/deploys/addresses.d.ts +4 -0
- package/dist/flare/deploys/addresses.d.ts.map +1 -1
- package/dist/flare/deploys/addresses.js +6 -2
- package/dist/flare/deploys/addresses.js.map +1 -1
- package/dist/flare/deploys/contracts.json +23 -3
- package/dist/flare/deploys/mapper.js.map +1 -1
- package/dist/songbird/abis.d.ts.map +1 -1
- package/dist/songbird/abis.js +20 -14
- package/dist/songbird/abis.js.map +1 -1
- package/dist/songbird/artifacts/contracts/claiming/implementation/ClaimSetupManager.sol/ClaimSetupManager.json +2 -2
- package/dist/songbird/artifacts/contracts/ftso/implementation/FtsoManager.sol/FtsoManager.json +2 -2
- package/dist/songbird/artifacts/contracts/governance/implementation/PollingFoundation.sol/PollingFoundation.json +2 -2
- package/dist/songbird/artifacts/contracts/governance/implementation/PollingFtso.sol/PollingFtso.json +2 -2
- package/dist/songbird/artifacts/contracts/inflation/implementation/Inflation.sol/Inflation.json +273 -298
- package/dist/songbird/artifacts/contracts/inflation/implementation/InflationAllocation.sol/InflationAllocation.json +463 -0
- package/dist/songbird/artifacts/contracts/inflation/implementation/SelfDestructBurner.sol/SelfDestructBurner.json +73 -0
- package/dist/songbird/artifacts/contracts/inflation/implementation/Supply.sol/Supply.json +290 -51
- package/dist/songbird/artifacts/contracts/inflation/interface/{IIInflationSharingPercentageProvider.sol/IIInflationSharingPercentageProvider.json → IIInflationAllocation.sol/IIInflationAllocation.json} +15 -2
- package/dist/songbird/artifacts/contracts/inflation/interface/IIInflationReceiver.sol/IIInflationReceiver.json +26 -0
- package/dist/songbird/artifacts/contracts/inflation/interface/IIInflationReceiverV1.sol/IIInflationReceiverV1.json +57 -0
- package/dist/songbird/artifacts/contracts/inflation/interface/IIInflationV1.sol/IIInflationV1.json +142 -0
- package/dist/songbird/artifacts/contracts/inflation/interface/IIPreInflationCalculation.sol/IIPreInflationCalculation.json +18 -0
- package/dist/songbird/artifacts/contracts/inflation/interface/IISupply.sol/IISupply.json +6 -12
- package/dist/songbird/artifacts/contracts/inflation/lib/{RewardServices.sol/RewardServices.json → InflationRewardServices.sol/InflationRewardServices.json} +25 -6
- package/dist/songbird/artifacts/contracts/inflation/lib/InflationTimeSlots.sol/InflationTimeSlots.json +10 -0
- package/dist/songbird/artifacts/contracts/tokenPools/implementation/FtsoRewardManager.sol/FtsoRewardManager.json +2 -2
- package/dist/songbird/artifacts/contracts/tokenPools/implementation/InflationReceiver.sol/InflationReceiver.json +127 -0
- package/dist/songbird/artifacts/contracts/tokenPools/implementation/TokenPoolBase.sol/TokenPoolBase.json +10 -0
- package/dist/songbird/artifacts/contracts/tokenPools/interface/IIFtsoRewardManager.sol/IIFtsoRewardManager.json +13 -0
- package/dist/songbird/artifacts/contracts/utils/implementation/FtsoV2Upgrader.sol/FtsoV2Upgrader.json +2 -2
- package/dist/songbird/deploys/addresses.js +3 -3
- package/dist/songbird/deploys/contracts.json +3 -3
- package/dist/songbird/deploys/mapper.js.map +1 -1
- package/flare/artifacts/contracts/claiming/implementation/ClaimSetupManager.sol/ClaimSetupManager.json +2 -2
- package/flare/artifacts/contracts/claiming/implementation/DelegationAccount.sol/DelegationAccount.json +2 -2
- package/flare/artifacts/contracts/ftso/implementation/Ftso.sol/Ftso.json +2 -2
- package/flare/artifacts/contracts/ftso/implementation/FtsoManager.sol/FtsoManager.json +2 -2
- package/flare/artifacts/contracts/ftso/lib/FtsoEpoch.sol/FtsoEpoch.json +2 -2
- package/flare/artifacts/contracts/ftso/lib/FtsoManagement.sol/FtsoManagement.json +2 -2
- package/flare/artifacts/contracts/ftso/lib/FtsoManagerSettings.sol/FtsoManagerSettings.json +2 -2
- package/flare/artifacts/contracts/ftso/priceProviderMockContracts/PriceProviderMockContracts.sol/MockFtsoRegistry.json +2 -2
- package/flare/artifacts/contracts/ftso/priceProviderMockContracts/PriceProviderMockContracts.sol/MockPriceSubmitter.json +2 -2
- package/flare/artifacts/contracts/ftso/priceProviderMockContracts/PriceProviderMockContracts.sol/MockVoterWhitelister.json +2 -2
- package/flare/artifacts/contracts/ftso/priceProviderMockContracts/priceProviderMockFtso.sol/MockNpmFtso.json +2 -2
- package/flare/artifacts/contracts/governance/implementation/PollingFoundation.sol/PollingFoundation.json +2 -2
- package/flare/artifacts/contracts/governance/implementation/PollingFtso.sol/PollingFtso.json +2 -2
- package/flare/artifacts/contracts/staking/implementation/AddressBinder.sol/AddressBinder.json +121 -0
- package/flare/artifacts/contracts/staking/implementation/PChainStake.sol/PChainStake.json +512 -0
- package/flare/artifacts/contracts/staking/implementation/PChainStakeMirror.sol/PChainStakeMirror.json +1299 -0
- package/flare/artifacts/contracts/staking/implementation/PChainStakeMirrorMultiSigVoting.sol/PChainStakeMirrorMultiSigVoting.json +579 -0
- package/flare/artifacts/contracts/staking/implementation/PChainStakeMirrorVerifier.sol/PChainStakeMirrorVerifier.json +168 -0
- package/flare/artifacts/contracts/staking/interface/IIPChainStakeMirrorVerifier.sol/IIPChainStakeMirrorVerifier.json +72 -0
- package/flare/artifacts/contracts/staking/lib/PChainStakeHistory.sol/PChainStakeHistory.json +24 -0
- package/flare/artifacts/contracts/token/implementation/CombinedNat.sol/CombinedNat.json +128 -0
- package/flare/artifacts/contracts/token/implementation/GovernanceVotePower.sol/GovernanceVotePower.json +20 -2
- package/flare/artifacts/contracts/token/implementation/VPContract.sol/VPContract.json +2 -2
- package/flare/artifacts/contracts/token/implementation/VPToken.sol/VPToken.json +2 -2
- package/flare/artifacts/contracts/token/implementation/WNat.sol/WNat.json +2 -2
- package/flare/artifacts/contracts/token/{lib → interface}/IICombinedNatBalance.sol/IICombinedNatBalance.json +33 -1
- package/flare/artifacts/contracts/token/interface/IIGovernanceVotePower.sol/IIGovernanceVotePower.json +14 -1
- package/flare/artifacts/contracts/tokenPools/implementation/AttestationProviderRewardManager.sol/AttestationProviderRewardManager.json +2 -2
- package/flare/artifacts/contracts/tokenPools/implementation/DistributionToDelegators.sol/DistributionToDelegators.json +2 -2
- package/flare/artifacts/contracts/tokenPools/implementation/Escrow.sol/Escrow.json +2 -2
- package/flare/artifacts/contracts/tokenPools/implementation/FtsoRewardManager.sol/FtsoRewardManager.json +2 -2
- package/flare/artifacts/contracts/tokenPools/implementation/ValidatorRewardManager.sol/ValidatorRewardManager.json +2 -2
- package/flare/artifacts/contracts/userInterfaces/IAddressBinder.sol/IAddressBinder.json +121 -0
- package/flare/artifacts/contracts/userInterfaces/IGovernanceVotePower.sol/IGovernanceVotePower.json +1 -1
- package/flare/artifacts/contracts/userInterfaces/IPChainStakeMirror.sol/IPChainStakeMirror.json +575 -0
- package/flare/artifacts/contracts/userInterfaces/IPChainStakeMirrorMultiSigVoting.sol/IPChainStakeMirrorMultiSigVoting.json +311 -0
- package/flare/artifacts/contracts/userInterfaces/IPChainStakeMirrorVerifier.sol/IPChainStakeMirrorVerifier.json +10 -0
- package/flare/artifacts/contracts/userInterfaces/IPChainVotePower.sol/IPChainVotePower.json +309 -0
- package/flare/artifacts/contracts/utils/implementation/BytesLib.sol/BytesLib.json +10 -0
- package/flare/artifacts/contracts/utils/implementation/FtsoRegistry.sol/FtsoRegistry.json +2 -2
- package/flare/artifacts/contracts/utils/implementation/FtsoV2Upgrader.sol/FtsoV2Upgrader.json +2 -2
- package/flare/artifacts/contracts/utils/implementation/VoterWhitelister.sol/VoterWhitelister.json +2 -2
- package/flare/deploys/contracts.json +23 -3
- package/package.json +3 -2
- package/songbird/artifacts/contracts/claiming/implementation/ClaimSetupManager.sol/ClaimSetupManager.json +2 -2
- package/songbird/artifacts/contracts/ftso/implementation/FtsoManager.sol/FtsoManager.json +2 -2
- package/songbird/artifacts/contracts/governance/implementation/PollingFoundation.sol/PollingFoundation.json +2 -2
- package/songbird/artifacts/contracts/governance/implementation/PollingFtso.sol/PollingFtso.json +2 -2
- package/songbird/artifacts/contracts/inflation/implementation/Inflation.sol/Inflation.json +273 -298
- package/songbird/artifacts/contracts/inflation/implementation/InflationAllocation.sol/InflationAllocation.json +463 -0
- package/songbird/artifacts/contracts/inflation/implementation/SelfDestructBurner.sol/SelfDestructBurner.json +73 -0
- package/songbird/artifacts/contracts/inflation/implementation/Supply.sol/Supply.json +290 -51
- package/songbird/artifacts/contracts/inflation/interface/{IIInflationSharingPercentageProvider.sol/IIInflationSharingPercentageProvider.json → IIInflationAllocation.sol/IIInflationAllocation.json} +15 -2
- package/songbird/artifacts/contracts/inflation/interface/IIInflationReceiver.sol/IIInflationReceiver.json +26 -0
- package/songbird/artifacts/contracts/inflation/interface/IIInflationReceiverV1.sol/IIInflationReceiverV1.json +57 -0
- package/songbird/artifacts/contracts/inflation/interface/IIInflationV1.sol/IIInflationV1.json +142 -0
- package/songbird/artifacts/contracts/inflation/interface/IIPreInflationCalculation.sol/IIPreInflationCalculation.json +18 -0
- package/songbird/artifacts/contracts/inflation/interface/IISupply.sol/IISupply.json +6 -12
- package/songbird/artifacts/contracts/inflation/lib/{RewardServices.sol/RewardServices.json → InflationRewardServices.sol/InflationRewardServices.json} +25 -6
- package/songbird/artifacts/contracts/inflation/lib/InflationTimeSlots.sol/InflationTimeSlots.json +10 -0
- package/songbird/artifacts/contracts/tokenPools/implementation/FtsoRewardManager.sol/FtsoRewardManager.json +2 -2
- package/songbird/artifacts/contracts/tokenPools/implementation/InflationReceiver.sol/InflationReceiver.json +127 -0
- package/songbird/artifacts/contracts/tokenPools/implementation/TokenPoolBase.sol/TokenPoolBase.json +10 -0
- package/songbird/artifacts/contracts/tokenPools/interface/IIFtsoRewardManager.sol/IIFtsoRewardManager.json +13 -0
- package/songbird/artifacts/contracts/userInterfaces/IGenericRewardManager.sol/IGenericRewardManager.json +248 -0
- package/songbird/artifacts/contracts/utils/implementation/FtsoV2Upgrader.sol/FtsoV2Upgrader.json +2 -2
- package/songbird/deploys/contracts.json +3 -3
- package/dist/songbird/artifacts/contracts/governance/implementation/InflationAllocation.sol/InflationAllocation.json +0 -351
- package/dist/songbird/artifacts/contracts/inflation/interface/IIInflationPercentageProvider.sol/IIInflationPercentageProvider.json +0 -24
- package/dist/songbird/artifacts/contracts/inflation/lib/InflationAnnum.sol/InflationAnnum.json +0 -10
- package/dist/songbird/artifacts/contracts/inflation/lib/InflationAnnums.sol/InflationAnnums.json +0 -10
- package/dist/songbird/artifacts/contracts/inflation/lib/RewardService.sol/RewardService.json +0 -30
- package/songbird/artifacts/contracts/governance/implementation/InflationAllocation.sol/InflationAllocation.json +0 -351
- package/songbird/artifacts/contracts/inflation/interface/IIInflationPercentageProvider.sol/IIInflationPercentageProvider.json +0 -24
- package/songbird/artifacts/contracts/inflation/lib/InflationAnnum.sol/InflationAnnum.json +0 -10
- package/songbird/artifacts/contracts/inflation/lib/InflationAnnums.sol/InflationAnnums.json +0 -10
- package/songbird/artifacts/contracts/inflation/lib/RewardService.sol/RewardService.json +0 -30
|
@@ -791,8 +791,8 @@
|
|
|
791
791
|
"type": "function"
|
|
792
792
|
}
|
|
793
793
|
],
|
|
794
|
-
"bytecode": "0x60c06040523480156200001157600080fd5b506040516200551e3803806200551e833981810160405260408110156200003757600080fd5b5080516020909101516001600160a01b038216620000875760405162461bcd60e51b8152600401808060200182810382526023815260200180620054fb6023913960400191505060405180910390fd5b606082901b6001600160601b031916608052151560f881901b60a0526001600160a01b039091169060ff166153bd6200013e600039806108d25280610ff7528061154b52806115a8528061163c52806117295280611aba528061203d528061211252508061091a52806109cd5280610b265280610c4e5280610ce15280610e295280610f38528061106b528061116c528061127b52806112f452806115d552806117c352806118955280611a4852506153bd6000f3fe608060405234801561001057600080fd5b50600436106101cf5760003560e01c8063833aca9211610104578063c7c62fab116100a2578063eadb436211610071578063eadb436214610814578063ed475a7914610856578063f683776714610882578063f6a494af146108a8576101cf565b8063c7c62fab1461076e578063cabc4528146107aa578063deea13e7146107e0578063e587497e146107e8576101cf565b806392bfe6d8116100de57806392bfe6d8146106e85780639ca20e4e146107145780639dc6b9f21461071c578063aa94d3f214610752576101cf565b8063833aca921461064a578063891339a8146106865780638c0b6b40146106b2576101cf565b8063404d9e82116101715780636230001a1161014b5780636230001a146104f1578063653718831461052d5780637de5b8ed146105515780637f57d58f1461061e576101cf565b8063404d9e821461039457806349e3c7e5146103d05780634a03d556146104c5576101cf565b806313de97f5116101ad57806313de97f5146102f3578063142d1018146103105780631a05274c146103365780633150392714610362576101cf565b806304bb4e43146101d457806305109ecf146102125780630f8b8af714610240575b600080fd5b610200600480360360408110156101ea57600080fd5b506001600160a01b0381351690602001356108ce565b60408051918252519081900360200190f35b61023e6004803603604081101561022857600080fd5b506001600160a01b0381351690602001356109c2565b005b6102006004803603604081101561025657600080fd5b6001600160a01b03823516919081019060408101602082013564010000000081111561028157600080fd5b82018360208201111561029357600080fd5b803590602001918460208302840111640100000000831117156102b557600080fd5b919080806020026020016040519081016040528093929190818152602001838360200280828437600092019190915250929550610b19945050505050565b61023e6004803603602081101561030957600080fd5b5035610c43565b6102006004803603602081101561032657600080fd5b50356001600160a01b0316610cbf565b6102006004803603604081101561034c57600080fd5b506001600160a01b038135169060200135610d80565b6102006004803603606081101561037857600080fd5b506001600160a01b038135169060208101359060400135610df4565b61023e600480360360808110156103aa57600080fd5b506001600160a01b03813581169160208101359091169060408101359060600135610e1e565b610475600480360360408110156103e657600080fd5b81019060208101813564010000000081111561040157600080fd5b82018360208201111561041357600080fd5b8035906020019184602083028401116401000000008311171561043557600080fd5b9190808060200260200160405190810160405280939291908181526020018383602002808284376000920191909152509295505091359250610fe7915050565b60408051602080825283518183015283519192839290830191858101910280838360005b838110156104b1578181015183820152602001610499565b505050509050019250505060405180910390f35b610200600480360360408110156104db57600080fd5b506001600160a01b038135169060200135611140565b61023e6004803603608081101561050757600080fd5b506001600160a01b03813581169160208101359091169060408101359060600135611161565b6105356112f2565b604080516001600160a01b039092168252519081900360200190f35b6105776004803603602081101561056757600080fd5b50356001600160a01b0316611316565b604051808060200180602001858152602001848152602001838103835287818151815260200191508051906020019060200280838360005b838110156105c75781810151838201526020016105af565b50505050905001838103825286818151815260200191508051906020019060200280838360005b838110156106065781810151838201526020016105ee565b50505050905001965050505050505060405180910390f35b6102006004803603604081101561063457600080fd5b506001600160a01b038135169060200135611335565b6102006004803603608081101561066057600080fd5b506001600160a01b038135811691602081013590911690604081013590606001356113b5565b6102006004803603604081101561069c57600080fd5b506001600160a01b0381351690602001356113ce565b610200600480360360608110156106c857600080fd5b506001600160a01b0381358116916020810135909116906040013561148a565b610200600480360360408110156106fe57600080fd5b506001600160a01b038135169060200135611547565b61053561158a565b6102006004803603606081101561073257600080fd5b506001600160a01b03813581169160208101359091169060400135611599565b61075a6115a6565b604080519115158252519081900360200190f35b61023e6004803603608081101561078457600080fd5b506001600160a01b038135811691602081013590911690604081013590606001356115ca565b610200600480360360608110156107c057600080fd5b506001600160a01b03813581169160208101359091169060400135611694565b610200611716565b610200600480360360408110156107fe57600080fd5b506001600160a01b038135169060200135611725565b61023e600480360360a081101561082a57600080fd5b506001600160a01b0381358116916020810135909116906040810135906060810135906080013561188a565b6105776004803603604081101561086c57600080fd5b506001600160a01b038135169060200135611966565b6102006004803603602081101561089857600080fd5b50356001600160a01b0316611a27565b61023e600480360360208110156108be57600080fd5b50356001600160a01b0316611a3d565b60007f0000000000000000000000000000000000000000000000000000000000000000158061090257506109028383611ab6565b15610918576109118383611b17565b90506109bc565b7f00000000000000000000000000000000000000000000000000000000000000006001600160a01b0316634ee2cd7e84846040518363ffffffff1660e01b815260040180836001600160a01b031681526020018281526020019250505060206040518083038186803b15801561098d57600080fd5b505afa1580156109a1573d6000803e3d6000fd5b505050506040513d60208110156109b757600080fd5b505190505b92915050565b336001600160a01b037f00000000000000000000000000000000000000000000000000000000000000001614610a32576040805162461bcd60e51b815260206004820152601060248201526f37b7363c9037bbb732b9103a37b5b2b760811b604482015290519081900360640190fd5b81610a3c81611b67565b6040518060400160405280601c81526020017f416c72656164792064656c656761746564206578706c696369746c790000000081525090610afb5760405162461bcd60e51b81526004018080602001828103825283818151815260200191508051906020019080838360005b83811015610ac0578181015183820152602001610aa8565b50505050905090810190601f168015610aed5780820380516001836020036101000a031916815260200191505b509250505060405180910390fd5b50610b0583611bae565b15610b1457610b148383611c46565b505050565b6000336001600160a01b037f00000000000000000000000000000000000000000000000000000000000000001614610b8b576040805162461bcd60e51b815260206004820152601060248201526f37b7363c9037bbb732b9103a37b5b2b760811b604482015290519081900360640190fd5b82610b9581611de6565b6040518060400160405280601f81526020017f416c72656164792064656c6567617465642062792070657263656e746167650081525090610c175760405162461bcd60e51b8152602060048201818152835160248401528351909283926044909101919085019080838360008315610ac0578181015183820152602001610aa8565b50610c2184611bae565b15610c3757610c308484611e1d565b9150610c3c565b600091505b5092915050565b336001600160a01b037f00000000000000000000000000000000000000000000000000000000000000001614610cb3576040805162461bcd60e51b815260206004820152601060248201526f37b7363c9037bbb732b9103a37b5b2b760811b604482015290519081900360640190fd5b610cbc81611fb5565b50565b6000610cca82612039565b15610cdf57610cd882612086565b9050610d7b565b7f00000000000000000000000000000000000000000000000000000000000000006001600160a01b03166370a08231836040518263ffffffff1660e01b815260040180826001600160a01b0316815260200191505060206040518083038186803b158015610d4c57600080fd5b505afa158015610d60573d6000803e3d6000fd5b505050506040513d6020811015610d7657600080fd5b505190505b919050565b6007546000906001600160a01b03163314610dda576040805162461bcd60e51b815260206004820152601560248201527413db9b1e4818db19585b995c8818dbdb9d1c9858dd605a1b604482015290519081900360640190fd5b600654610ded9060039085908590612093565b9392505050565b6000610dff84612039565b15610e1657610e0f8484846120a1565b9050610ded565b509092915050565b336001600160a01b037f00000000000000000000000000000000000000000000000000000000000000001614610e8e576040805162461bcd60e51b815260206004820152601060248201526f37b7363c9037bbb732b9103a37b5b2b760811b604482015290519081900360640190fd5b83610e9881611de6565b6040518060400160405280601f81526020017f416c72656164792064656c6567617465642062792070657263656e746167650081525090610f1a5760405162461bcd60e51b8152602060048201818152835160248401528351909283926044909101919085019080838360008315610ac0578181015183820152602001610aa8565b50610f258584612110565b610f2e84612039565b610fd457610fd4847f00000000000000000000000000000000000000000000000000000000000000006001600160a01b03166370a08231876040518263ffffffff1660e01b815260040180826001600160a01b0316815260200191505060206040518083038186803b158015610fa357600080fd5b505afa158015610fb7573d6000803e3d6000fd5b505050506040513d6020811015610fcd57600080fd5b5051612110565b610fe0858585856121c0565b5050505050565b6060610ff383836124a5565b90507f0000000000000000000000000000000000000000000000000000000000000000156109bc5760005b8151811015610c3c5781818151811061103357fe5b60200260200101516000148015611064575061106284828151811061105457fe5b602002602001015184611ab6565b155b15611138577f00000000000000000000000000000000000000000000000000000000000000006001600160a01b0316634ee2cd7e8583815181106110a457fe5b6020026020010151856040518363ffffffff1660e01b815260040180836001600160a01b031681526020018281526020019250505060206040518083038186803b1580156110f157600080fd5b505afa158015611105573d6000803e3d6000fd5b505050506040513d602081101561111b57600080fd5b5051825183908390811061112b57fe5b6020026020010181815250505b60010161101e565b600061114b83612039565b1561115a5761091183836125e0565b50806109bc565b336001600160a01b037f000000000000000000000000000000000000000000000000000000000000000016146111d1576040805162461bcd60e51b815260206004820152601060248201526f37b7363c9037bbb732b9103a37b5b2b760811b604482015290519081900360640190fd5b836111db81611b67565b6040518060400160405280601c81526020017f416c72656164792064656c656761746564206578706c696369746c79000000008152509061125d5760405162461bcd60e51b8152602060048201818152835160248401528351909283926044909101919085019080838360008315610ac0578181015183820152602001610aa8565b506112688584612110565b61127184612039565b6112e6576112e6847f00000000000000000000000000000000000000000000000000000000000000006001600160a01b03166370a08231876040518263ffffffff1660e01b815260040180826001600160a01b0316815260200191505060206040518083038186803b158015610fa357600080fd5b610fe0858585856125ed565b7f000000000000000000000000000000000000000000000000000000000000000081565b6060806000806113268543611966565b93509350935093509193509193565b6007546000906001600160a01b0316331461138f576040805162461bcd60e51b815260206004820152601560248201527413db9b1e4818db19585b995c8818dbdb9d1c9858dd605a1b604482015290519081900360640190fd5b6006546001600160a01b0384166000908152600160205260409020610ded918490612860565b60006113c38585858561286d565b90505b949350505050565b6007546000906001600160a01b03163314611428576040805162461bcd60e51b815260206004820152601560248201527413db9b1e4818db19585b995c8818dbdb9d1c9858dd605a1b604482015290519081900360640190fd5b600654821061147e576040805162461bcd60e51b815260206004820152601e60248201527f4e6f20636c65616e757020616674657220636c65616e757020626c6f636b0000604482015290519081900360640190fd5b610ded600484846128e4565b6007546000906001600160a01b031633146114e4576040805162461bcd60e51b815260206004820152601560248201527413db9b1e4818db19585b995c8818dbdb9d1c9858dd605a1b604482015290519081900360640190fd5b600654821061153a576040805162461bcd60e51b815260206004820152601e60248201527f4e6f20636c65616e757020616674657220636c65616e757020626c6f636b0000604482015290519081900360640190fd5b6113c66004858585612951565b60007f0000000000000000000000000000000000000000000000000000000000000000158061157b575061157b8383611ab6565b156109185761091183836129df565b6007546001600160a01b031681565b60006113c6848484612a44565b7f000000000000000000000000000000000000000000000000000000000000000081565b336001600160a01b037f0000000000000000000000000000000000000000000000000000000000000000161461163a576040805162461bcd60e51b815260206004820152601060248201526f37b7363c9037bbb732b9103a37b5b2b760811b604482015290519081900360640190fd5b7f0000000000000000000000000000000000000000000000000000000000000000158061167d575061166c8482611ab6565b801561167d575061167d8382611ab6565b1561168e5761168e84848484612af5565b50505050565b6007546000906001600160a01b031633146116ee576040805162461bcd60e51b815260206004820152601560248201527413db9b1e4818db19585b995c8818dbdb9d1c9858dd605a1b604482015290519081900360640190fd5b6006546001600160a01b03851660009081526002602052604090206113c69185908590612bf0565b6000611720612c17565b905090565b60007f0000000000000000000000000000000000000000000000000000000000000000158061175957506117598383611ab6565b15611768576109118383612c1d565b604080516001600160a01b03851660208083019190915281830185905282518083038401815260609092018352815191810191909120600081815260099092529190205480156117bf576000190191506109bc9050565b60007f00000000000000000000000000000000000000000000000000000000000000006001600160a01b0316634ee2cd7e87876040518363ffffffff1660e01b815260040180836001600160a01b031681526020018281526020019250505060206040518083038186803b15801561183657600080fd5b505afa15801561184a573d6000803e3d6000fd5b505050506040513d602081101561186057600080fd5b5051905061186f816001612d1d565b600093845260096020526040909320929092555090506109bc565b336001600160a01b037f000000000000000000000000000000000000000000000000000000000000000016146118fa576040805162461bcd60e51b815260206004820152601060248201526f37b7363c9037bbb732b9103a37b5b2b760811b604482015290519081900360640190fd5b6001600160a01b038516611922576119128483612110565b61191d848383612d77565b610fe0565b6001600160a01b0384166119455761193a8584612110565b61191d858483612de1565b61194f8584612110565b6119598483612110565b610fe08585858585612ef9565b606080600080600061197787612f0f565b9050600181600281111561198757fe5b14156119a1576119978787612f2d565b9095509350611a0b565b60008160028111156119af57fe5b14156119d4576040805160008082526020820190815281830190925295509350611a0b565b60405162461bcd60e51b81526004018080602001828103825260338152602001806153556033913960400191505060405180910390fd5b84519250806002811115611a1b57fe5b91505092959194509250565b6000611a3282612f0f565b60028111156109bc57fe5b336001600160a01b037f00000000000000000000000000000000000000000000000000000000000000001614611aad576040805162461bcd60e51b815260206004820152601060248201526f37b7363c9037bbb732b9103a37b5b2b760811b604482015290519081900360640190fd5b610cbc8161316a565b60007f0000000000000000000000000000000000000000000000000000000000000000611ae5575060016109bc565b6001600160a01b03831660009081526008602052604090205480158015906113c6575060001901919091111592915050565b600081600654811015611b5b5760405162461bcd60e51b815260040180806020018281038252602a815260200180615237602a913960400191505060405180910390fd5b6113c66003858561318c565b6001600160a01b03811660009081526020819052604081205460ff1681816002811115611b9057fe5b1480610ded575060015b816002811115611ba657fe5b149392505050565b6001600160a01b03811660009081526020819052604081205460ff1681816002811115611bd757fe5b1415611be7576000915050610d7b565b6002816002811115611bf557fe5b1415611c25576001600160a01b0383166000908152600260205260408120611c1c90613199565b11915050610d7b565b6001600160a01b0383166000908152600160205260408120611c1c906131a4565b6001600160a01b03821660009081526020819052604081205460ff1690816002811115611c6f57fe5b1415611c7b5750611de2565b6001816002811115611c8957fe5b14611cc55760405162461bcd60e51b815260040180806020018281038252603c81526020018061518d603c913960400191505060405180910390fd5b6001600160a01b03831660009081526001602052604081209080611ce8836131b0565b9150915060005b8251811015611dc1576000838281518110611d0657fe5b602002602001015190506000611d3c848481518110611d2157fe5b60200260200101516127108a6131c69092919063ffffffff16565b9050611d4b60038a84846132bf565b600654611d5f906003908b90600290612093565b50600654611d74906003908490600290612093565b50816001600160a01b0316896001600160a01b0316600080516020615217833981519152836000604051808381526020018281526020019250505060405180910390a35050600101611cef565b50611dcb83613304565b600654611ddc908490600290612860565b50505050505b5050565b6001600160a01b03811660009081526020819052604081205460ff1681816002811115611e0f57fe5b1480610ded57506002611b9a565b6001600160a01b03821660009081526020819052604081205460ff1681816002811115611e4657fe5b1415611e565760009150506109bc565b6002816002811115611e6457fe5b14611ea05760405162461bcd60e51b81526004018080602001828103825260428152602001806152616042913960600191505060405180910390fd5b6001600160a01b0384166000908152600260205260408120905b8451811015611fa2576000858281518110611ed157fe5b602002602001015190506000611ef0828561330d90919063ffffffff16565b905080611efe575050611f9a565b611f0b60038984846132bf565b600654611f1f906003908a90600290612093565b50600654611f34906003908490600290612093565b50611f418483600061331c565b600654611f549085908490600290612bf0565b50816001600160a01b0316886001600160a01b0316600080516020615217833981519152836000604051808381526020018281526020019250505060405180910390a350505b600101611eba565b50611fac81613199565b95945050505050565b600654811015611ff65760405162461bcd60e51b81526004018080602001828103825260288152602001806151ef6028913960400191505060405180910390fd5b4381106120345760405162461bcd60e51b815260040180806020018281038252602181526020018061516c6021913960400191505060405180910390fd5b600655565b60007f000000000000000000000000000000000000000000000000000000000000000061206857506001610d7b565b506001600160a01b0316600090815260086020526040902054151590565b60006109bc600383613386565b60006113c385858585613392565b6000816006548110156120e55760405162461bcd60e51b815260040180806020018281038252602a815260200180615237602a913960400191505060405180910390fd5b60006120f28686866133cd565b905060008061210187846134ab565b9550505050505b509392505050565b7f000000000000000000000000000000000000000000000000000000000000000061213a57611de2565b6001600160a01b03821661214d57611de2565b6001600160a01b038216600090815260086020526040902054611de25761217382612086565b158015612186575061218482611bae565b155b61218c57fe5b61219882600083612d77565b6121a3436001612d1d565b6001600160a01b0383166000908152600860205260409020555050565b6001600160a01b038316612215576040805162461bcd60e51b815260206004820152601760248201527643616e6e6f742064656c656761746520746f207a65726f60481b604482015290519081900360640190fd5b836001600160a01b0316836001600160a01b03161415612276576040805162461bcd60e51b815260206004820152601760248201527621b0b73737ba103232b632b3b0ba32903a379039b2b63360491b604482015290519081900360640190fd5b61227f84611de6565b6122d0576040805162461bcd60e51b815260206004820152601960248201527f43616e6e6f742064656c656761746520627920616d6f756e7400000000000000604482015290519081900360640190fd5b6001600160a01b0384166000908152600260205260408120906122f3828661330d565b9050808310156123115761230c600387878685036132bf565b6123c1565b60006123278261232189886125e0565b90612d1d565b9050838110156040518060400160405280602081526020017f556e64656c65676174656420766f746520706f77657220746f6f20736d616c6c815250906123af5760405162461bcd60e51b8152602060048201818152835160248401528351909283926044909101919085019080838360008315610ac0578181015183820152602001610aa8565b506123bf600388888588036134d1565b505b6006546123d5906003908890600290612093565b506006546123ea906003908790600290612093565b506123f682868561331c565b6006546124099083908790600290612bf0565b5060026001600160a01b03871660009081526020819052604090205460ff16600281111561243357fe5b1461245c576001600160a01b0386166000908152602081905260409020805460ff191660021790555b846001600160a01b0316866001600160a01b03166000805160206152178339815191528386604051808381526020018281526020019250505060405180910390a3505050505050565b6060816006548110156124e95760405162461bcd60e51b815260040180806020018281038252602a815260200180615237602a913960400191505060405180910390fd5b43831061253d576040805162461bcd60e51b815260206004820181905260248201527f43616e206f6e6c79206265207573656420666f72207061737420626c6f636b73604482015290519081900360640190fd5b83516001600160401b038111801561255457600080fd5b5060405190808252806020026020018201604052801561257e578160200160208202803683370190505b50915060005b84518110156125d8576125b9600386838151811061259e57fe5b602002602001015186600461350e909392919063ffffffff16565b8382815181106125c557fe5b6020908102919091010152600101612584565b505092915050565b6000610ded8383436120a1565b6001600160a01b038316612642576040805162461bcd60e51b815260206004820152601760248201527643616e6e6f742064656c656761746520746f207a65726f60481b604482015290519081900360640190fd5b836001600160a01b0316836001600160a01b031614156126a3576040805162461bcd60e51b815260206004820152601760248201527621b0b73737ba103232b632b3b0ba32903a379039b2b63360491b604482015290519081900360640190fd5b6126ac84611b67565b6126fd576040805162461bcd60e51b815260206004820152601d60248201527f43616e6e6f742064656c65676174652062792070657263656e74616765000000604482015290519081900360640190fd5b6001600160a01b038416600090815260016020526040812090612720828661357d565b9050600080612730848887613589565b600654612741908590600290612860565b5082156127585761275586846127106131c6565b91505b841561276e5761276b86866127106131c6565b90505b8181101561278a57612785600389898486036132bf565b612799565b612799600389898585036134d1565b6006546127ad906003908a90600290612093565b506006546127c2906003908990600290612093565b5060016001600160a01b03891660009081526020819052604090205460ff1660028111156127ec57fe5b14612815576001600160a01b0388166000908152602081905260409020805460ff191660011790555b866001600160a01b0316886001600160a01b03166000805160206152178339815191528484604051808381526020018281526020019250505060405180910390a35050505050505050565b60006113c6848484613630565b6000816006548110156128b15760405162461bcd60e51b815260040180806020018281038252602a815260200180615237602a913960400191505060405180910390fd5b6128be600487878661376e565b156128cc57600091506128db565b6128d8868686866137c2565b91505b50949350505050565b604080516001600160a01b03841660208083019190915281830184905282518083038401815260609092018352815191810191909120600081815291869052918120549091901561294657600090815260208590526040812055506001610ded565b506000949350505050565b604080516001600160a01b038086166020808401919091528284018590528351808403850181526060909301845282519281019290922060008181526001890184528481209287168152928290529282205491929180156129d157506001600160a01b0385166000908152602091909152604081205550600190506113c6565b506000979650505050505050565b600081600654811015612a235760405162461bcd60e51b815260040180806020018281038252602a815260200180615237602a913960400191505060405180910390fd5b43831015612a3957610c3060046003868661350e565b610c30600385613386565b6001600160a01b03831660009081526020819052604081205460ff1681816002811115612a6d57fe5b1415612a7d576000915050610ded565b6001816002811115612a8b57fe5b1415612acb576001600160a01b0385166000908152600160205260408120612ab3908661357d565b9050612ac284826127106131c6565b92505050610ded565b6001600160a01b0385166000908152600260205260409020612aed908561330d565b915050610ded565b80600654811015612b375760405162461bcd60e51b815260040180806020018281038252602a815260200180615237602a913960400191505060405180910390fd5b438210612b755760405162461bcd60e51b815260040180806020018281038252603b8152602001806152ea603b913960400191505060405180910390fd5b6000612b83868686866137c2565b9050612b956004600388888588613875565b846001600160a01b0316866001600160a01b03167fd6f80c7d68e3e62bd7a51c3d37e575c1cfbc311c07487b69ef4eb570bc21cb688386604051808381526020018281526020019250505060405180910390a3505050505050565b6000612bfd8584846139e8565b9050612c0e60028601858585613392565b01949350505050565b60065490565b600081600654811015612c615760405162461bcd60e51b815260040180806020018281038252602a815260200180615237602a913960400191505060405180910390fd5b438310612cb5576040805162461bcd60e51b815260206004820181905260248201527f43616e206f6e6c79206265207573656420666f72207061737420626c6f636b73604482015290519081900360640190fd5b600080612cc6600460038888613a89565b9150915080156128db57604080516001600160a01b03881681526020810187905281517fb0b412112c2958bbc2537fa96db51ddcfe7d0d074143f0b5308b6aab19b6694b929181900390910190a150949350505050565b600082820183811015610ded576040805162461bcd60e51b815260206004820152601b60248201527f536166654d6174683a206164646974696f6e206f766572666c6f770000000000604482015290519081900360640190fd5b60016001600160a01b03841660009081526020819052604090205460ff166002811115612da057fe5b1415612dbf57612dba8383612db58185612d1d565b613b13565b610b14565b612dcd600384836000613c53565b60065461168e906003908590600290612093565b6000612e08826040518060600160405280602681526020016151c960269139859190613c9f565b905060016001600160a01b03851660009081526020819052604090205460ff166002811115612e3357fe5b1415612e4957612e44848483613b13565b61168e565b612e54848484613cf9565b6040518060400160405280602081526020017f556e64656c65676174656420766f746520706f77657220746f6f20736d616c6c81525090612ed65760405162461bcd60e51b8152602060048201818152835160248401528351909283926044909101919085019080838360008315610ac0578181015183820152602001610aa8565b50612ee5600385600085613c53565b600654610fe0906003908690600290612093565b612f04858483612de1565b610fe0848383612d77565b6001600160a01b031660009081526020819052604090205460ff1690565b60608082600654811015612f725760405162461bcd60e51b815260040180806020018281038252602a815260200180615237602a913960400191505060405180910390fd5b6001600160a01b0385166000908152600160205260409020606080612f978388613d46565b909250905060005b8251811015612ffb57612fd389848381518110612fb857fe5b60200260200101518a600461376e909392919063ffffffff16565b15612ff3576000828281518110612fe657fe5b6020026020010181815250505b600101612f9f565b506000805b83518110156130335782818151811061301557fe5b602002602001015160001461302b576001909101905b600101613000565b50806001600160401b038111801561304a57600080fd5b50604051908082528060200260200182016040528015613074578160200160208202803683370190505b509650806001600160401b038111801561308d57600080fd5b506040519080825280602002602001820160405280156130b7578160200160208202803683370190505b5095506000805b845181101561315c578381815181106130d357fe5b6020026020010151600014613154578481815181106130ee57fe5b602002602001015189838151811061310257fe5b60200260200101906001600160a01b031690816001600160a01b03168152505083818151811061312e57fe5b602002602001015188838151811061314257fe5b60209081029190910101526001909101905b6001016130be565b505050505050509250929050565b600780546001600160a01b0319166001600160a01b0392909216919091179055565b60006113c6848484613d5e565b60006109bc82613d80565b60006109bc8243613dc8565b6060806131bc83613e16565b915091505b915091565b600080821161320f576040805162461bcd60e51b815260206004820152601060248201526f4469766973696f6e206279207a65726f60801b604482015290519081900360640190fd5b8361321c57506000610ded565b8383028385828161322957fe5b0414156132425782818161323957fe5b04915050610ded565b600083868161324d57fe5b049050600084878161325b57fe5b069050600085878161326957fe5b049050600086888161327757fe5b0690506121016132918861328b8685613e23565b90613e7c565b61232161329e8686613e23565b6123216132ab8987613e23565b6123218d6132b98c8b613e23565b90613e23565b82826001600160a01b0382161580156132df57506001600160a01b038116155b156132e657fe5b826132f0576132fc565b6132fc86858786613ee3565b505050505050565b610cbc81613f6c565b6000610ded6002840183614092565b600061332b6002850184614092565b9050600061336c8361232184604051806040016040528060098152602001680546f74616c203c20360bc1b8152506133658a600001613d80565b9190613c9f565b905061337c6002860185856140b3565b610fe085826140d1565b6000610ded8383614092565b60006001600160a01b03841615612946576001600160a01b03841660009081526020869052604090206133c69084846139e8565b90506113c6565b6000816006548110156134115760405162461bcd60e51b815260040180806020018281038252602a815260200180615237602a913960400191505060405180910390fd5b6001600160a01b03851660009081526020819052604081205460ff169081600281111561343a57fe5b141561344a576000925050612108565b600281600281111561345857fe5b1415613488576001600160a01b03861660009081526002602052604090206134809085614292565b925050612108565b6001600160a01b038616600090815260016020526040902061348090868661429e565b600080838311156134c1575060009050806134ca565b50600190508183035b9250929050565b82826001600160a01b0382161580156134f157506001600160a01b038116155b156134f857fe5b82613502576132fc565b6132fc86868686613ee3565b604080516001600160a01b03841660208083019190915281830184905282518083038401815260609092018352815191810191909120600081815291879052918120549091908015613567576000190191506113c69050565b61357286868661318c565b979650505050505050565b6000610ded83836142ae565b61271081111561359557fe5b6135a08383836142f2565b6127106135ac84614516565b11156040518060400160405280601c81526020017f4d61782064656c65676174696f6e2062697073206578636565646564000000008152509061168e5760405162461bcd60e51b8152602060048201818152835160248401528351909283926044909101919085019080838360008315610ac0578181015183820152602001610aa8565b60008161363f57506000610ded565b6001840154600160401b90046001600160401b031680613663576000915050610ded565b60018501546001600160401b031660006136896136808388612d1d565b60018503614522565b9050815b81811080156136c7575060018101600090815260208981526040808320838052909152902054600160b01b90046001600160401b03168610155b1561372b57600081815260208981526040808320838052918290528220549091600160f01b90910460ff16905b8181101561372057600081815260208490526040902080546001600160f81b03191690556001016136f4565b50505060010161368d565b828111156137605761373c81614538565b60018901805467ffffffffffffffff19166001600160401b03929092169190911790555b919091039695505050505050565b604080516001600160a01b0394851660208083019190915281830193909352815180820383018152606090910182528051908301206000908152600195909501825280852092909316845252902054151590565b6001600160a01b03841660009081526020819052604081205460ff16818160028111156137eb57fe5b14156137fb5760009150506113c6565b600181600281111561380957fe5b141561384a576001600160a01b0386166000908152600160205260408120613832908786614580565b905061384185826127106131c6565b925050506113c6565b6001600160a01b038616600090815260026020526040902061386d90868561458d565b9150506113c6565b8161387f576132fc565b604080516001600160a01b0380871660208084019190915282840185905283518084038501815260609093018452825192810192909220600081815260018b018452848120928816815291909252919091205415613916576040805162461bcd60e51b815260206004820152600f60248201526e105b1c9958591e481c995d9bdad959608a1b604482015290519081900360640190fd5b600061392488888786613a89565b5090506000858460405160200180836001600160a01b03168152602001828152602001925050506040516020818303038152906040528051906020012090506139b789826139b2886040518060400160405280601781526020017f5265766f6b65642076616c756520746f6f206c6172676500000000000000000081525087613c9f9092919063ffffffff16565b61459d565b5050600090815260018701602090815260408083206001600160a01b03871684529091529020829055505050505050565b6000816139f757506000610ded565b6001840154600160401b90046001600160401b031680613a1b576000915050610ded565b60018501546001600160401b03166000613a386136808388612d1d565b9050815b8181108015613a6d575060018101600090815260208990526040902054600160c01b90046001600160401b03168610155b1561372b57600081815260208990526040812055600101613a3c565b604080516001600160a01b0384166020808301919091528183018490528251808303840181526060909201835281519181019190912060008181529187905291812054909182918015613ae75760001901925060009150613b0a9050565b6000613af488888861318c565b9050613b0189848361459d565b93506001925050505b94509492505050565b6001600160a01b0383166000908152600160205260408120908290849080613b3a856145bb565b9150915060005b82811015613c1e576000818152602083905260408120805490916001600160a01b03821691600160a01b900461ffff1690613b7f8c836127106131c6565b90506000613b908c846127106131c6565b9050613b9c8a83612d1d565b9950613ba88982612d1d565b9850613bb76003858385613c53565b600654613bcb906003908690600290612093565b50836001600160a01b03168e6001600160a01b03166000805160206152178339815191528484604051808381526020018281526020019250505060405180910390a3505060019093019250613b41915050565b50828414613c4957613c336003898686613c53565b600654613c47906003908a90600290612093565b505b5050505050505050565b6001600160a01b038316613c6357fe5b80821415613c705761168e565b6000613c7c8585614092565b9050613c9282613c8c8386612d1d565b906145c7565b9050610fe08585836140b3565b60008184841115613cf15760405162461bcd60e51b8152602060048201818152835160248401528351909283926044909101919085019080838360008315610ac0578181015183820152602001610aa8565b505050900390565b600060026001600160a01b03851660009081526020819052604090205460ff166002811115613d2457fe5b1415613d3e5781613d3585856125e0565b10159050610ded565b506001610ded565b606080613d538484614624565b915091509250929050565b6001600160a01b0382166000908152602084905260408120611fac8184614793565b6001810154600090600160401b90046001600160401b031680613da7576000915050610d7b565b6000190160009081526020929092525060409020546001600160c01b031690565b6000806000613dd785856148d6565b9150915081613deb576000925050506109bc565b6000908152602094855260408082208280529095529390932054600160f01b900460ff169392505050565b6060806131bc8343614624565b600082613e32575060006109bc565b82820282848281613e3f57fe5b0414610ded5760405162461bcd60e51b81526004018080602001828103825260218152602001806152a36021913960400191505060405180910390fd5b6000808211613ed2576040805162461bcd60e51b815260206004820152601a60248201527f536166654d6174683a206469766973696f6e206279207a65726f000000000000604482015290519081900360640190fd5b818381613edb57fe5b049392505050565b80613eed5761168e565b6001600160a01b038316158015613f0b57506001600160a01b038216155b15613f1257fe5b6001600160a01b03831615613f40576000613f3182613c8c8787614092565b9050613f3e8585836140b3565b505b6001600160a01b0382161561168e576000613f5f826123218786614092565b9050610fe08584836140b3565b6001810154600160401b90046001600160401b03168015611de2576000818152602083905260409020613fa160018301614538565b6001840180546001600160401b0392909216600160401b0267ffffffffffffffff60401b199092169190911790556040805160808101825260008082526020820152908101613fef43614538565b6001600160401b039081168252600060209283018190528080529382526040938490208351815493850151958501516060909501516001600160a01b03199094166001600160a01b039091161761ffff60a01b1916600160a01b61ffff909616959095029490941767ffffffffffffffff60b01b1916600160b01b93909116929092029190911760ff60f01b1916600160f01b60ff909216919091021790555050565b6001600160a01b03811660009081526020839052604081206113c681613d80565b6001600160a01b038216600090815260208490526040902061168e81835b6001820154600160401b90046001600160401b0316806141885760405180604001604052806140ff846149d5565b6001600160c01b0316815260200161411643614538565b6001600160401b03908116909152600080805260208681526040909120835181549490920151909216600160c01b026001600160c01b039182166001600160c01b0319909416939093171691909117905560018301805467ffffffffffffffff60401b1916600160401b179055610b14565b600019810160009081526020849052604090208054600160c01b90046001600160401b0316438114156141de576141be846149d5565b82546001600160c01b0319166001600160c01b0391909116178255610fe0565b8043116141e757fe5b60405180604001604052806141fb866149d5565b6001600160c01b0316815260200161421243614538565b6001600160401b039081169091526000858152602088815260409091208351815494909201518316600160c01b026001600160c01b039283166001600160c01b0319909516949094179091169290921790915560018087018054918601909216600160401b0267ffffffffffffffff60401b199091161790555050505050565b6000610ded8383614793565b60006113c6848461271085614a2f565b6001820154600090600160401b90046001600160401b0316806142d55760009150506109bc565b600019810160009081526020859052604090206113c69084614aca565b6001830154600160401b90046001600160401b03168061442d578115612e4457600081815260208590526040902061432c60018301614538565b8560010160086101000a8154816001600160401b0302191690836001600160401b031602179055506040518060800160405280856001600160a01b0316815260200161437785614b2f565b61ffff16815260200161438943614538565b6001600160401b039081168252600160209283015260008080529382526040938490208351815493850151958501516060909501516001600160a01b03199094166001600160a01b039091161761ffff60a01b1916600160a01b61ffff909616959095029490941767ffffffffffffffff60b01b1916600160b01b93909116929092029190911760ff60f01b1916600160f01b60ff9092169190910217905561168e565b60001981016000908152602085815260408083208380529182905290912054600160b01b90046001600160401b0316438114156144745761446f828686614b72565b6132fc565b80431161447d57fe5b600083815260208790526040902061449760018501614538565b8760010160086101000a8154816001600160401b0302191690836001600160401b031602179055506144cb81848888614c87565b6144d443614538565b6000808052602092909252604090912080546001600160401b0392909216600160b01b0267ffffffffffffffff60b01b19909216919091179055505050505050565b60006109bc8243614d9d565b60008183106145315781610ded565b5090919050565b6000600160401b821061457c5760405162461bcd60e51b81526004018080602001828103825260268152602001806152c46026913960400191505060405180910390fd5b5090565b60006113c6848484614e2b565b60006113c6600285018484613d5e565b6145a8816001612d1d565b6000928352602093909352506040902055565b6000806131bc83614e70565b60008282111561461e576040805162461bcd60e51b815260206004820152601e60248201527f536166654d6174683a207375627472616374696f6e206f766572666c6f770000604482015290519081900360640190fd5b50900390565b60608060008061463486866148d6565b915091508161465e57505060408051600080825260208201908152818301909252925090506134ca565b6000818152602087815260408083208380529182905290912054600160f01b900460ff16806001600160401b038111801561469857600080fd5b506040519080825280602002602001820160405280156146c2578160200160208202803683370190505b509550806001600160401b03811180156146db57600080fd5b50604051908082528060200260200182016040528015614705578160200160208202803683370190505b50945060005b81811015614787576000818152602084905260409020805488516001600160a01b039091169089908490811061473d57fe5b6001600160a01b03929092166020928302919091019091015280548751600160a01b90910461ffff169088908490811061477357fe5b60209081029190910101525060010161470b565b50505050509250929050565b6001820154600090600160401b90046001600160401b0316806147ba5760009150506109bc565b43831015806147ec57506000198101600090815260208590526040902054600160c01b90046001600160401b03168310155b1561481457600019016000908152602084905260409020546001600160c01b031690506109bc565b60018401546001600160401b039081166000818152602087905260409020549091600160c01b9091041684101561488d5780156148825760405162461bcd60e51b81526004018080602001828103825260308152602001806153256030913960400191505060405180910390fd5b6000925050506109bc565b60018501546000906148b39087908490600160401b90046001600160401b031688614ed4565b6000908152602087905260409020546001600160c01b0316935050505092915050565b600182015460009081906001600160401b0380821691600160401b9004168061490257600093506149cc565b6000198101600090815260208781526040808320838052909152902054600160b01b90046001600160401b0316851061494457600193506001810392506149cc565b600082815260208781526040808320838052909152902054600160b01b90046001600160401b03168510156149b95781156149b05760405162461bcd60e51b81526004018080602001828103825260308152602001806151166030913960400191505060405180910390fd5b600093506149cc565b600193506149c986838388614f52565b92505b50509250929050565b6000600160c01b821061457c576040805162461bcd60e51b815260206004820152601d60248201527f76616c756520646f65736e27742066697420696e203139322062697473000000604482015290519081900360640190fd5b6000806000614a3e87856148d6565b9150915081614a52576000925050506113c6565b6000818152602088815260408083208380529182905282205491945090600160f01b900460ff16845b81811015614abd57600081815260208490526040902054614ab390614aac90600160a01b900461ffff168b8b6131c6565b8790612d1d565b9550600101614a7b565b5050505050949350505050565b600080805260208390526040812054600160f01b900460ff16815b8181101561294657600081815260208690526040902080546001600160a01b0386811691161415614b265754600160a01b900461ffff1692506109bc915050565b50600101614ae5565b600062010000821061457c5760405162461bcd60e51b81526004018080602001828103825260268152602001806151466026913960400191505060405180910390fd5b600080805260208490526040812054600160f01b900460ff16905b8181108015614bb657506000818152602086905260409020546001600160a01b03858116911614155b15614bc357600101614b8d565b81811015614c47578215614c0c57614bda83614b2f565b6000828152602087905260409020805461ffff92909216600160a01b0261ffff60a01b1990921691909117905561191d565b614c1a858260018503614fcf565b6000808052602086905260409020805460ff60f01b1916600160f01b600019850160ff1602179055610fe0565b6000614c558686868661503a565b6000808052602088905260409020805460ff909216600160f01b0260ff60f01b19909216919091179055505050505050565b600080805260208490526040812054600160f01b900460ff169080805b83811015614d545760008181526020888152604091829020825160808101845290546001600160a01b03808216808452600160a01b830461ffff1694840194909452600160b01b82046001600160401b031694830194909452600160f01b900460ff1660608201529188161415614d3057614d25898260000151888661503a565b925060019350614d4b565b614d48898260000151836020015161ffff168661503a565b92505b50600101614ca4565b5081614d6957614d668786868461503a565b90505b60008080526020979097526040909620805460ff909716600160f01b0260ff60f01b19909716969096179095555050505050565b6000806000614dac85856148d6565b9150915081614dc0576000925050506109bc565b6000818152602086815260408083208380529182905282205491945090600160f01b900460ff16845b81811015614e2057600081815260208490526040902054614e16908790600160a01b900461ffff16612d1d565b9550600101614de9565b505050505092915050565b6000806000614e3a86856148d6565b9150915081614e4e57600092505050610ded565b6000818152602087905260409020614e669086614aca565b9695505050505050565b60018101546000908190600160401b90046001600160401b031680614ea757505060008080526020839052604081209091506131c1565b6000190160009081526020938452604080822082805294859052902054600160f01b900460ff1693915050565b60008381614ee38560016145c7565b90505b81811115614f48576000614f04600261328b60016123218688612d1d565b600081815260208a90526040902054909150600160c01b90046001600160401b03168510614f3457809250614f42565b614f3f8160016145c7565b91505b50614ee6565b5095945050505050565b60008381614f618560016145c7565b90505b81811115614f48576000614f82600261328b60016123218688612d1d565b600081815260208a81526040808320838052909152902054909150600160b01b90046001600160401b03168510614fbb57809250614fc9565b614fc68160016145c7565b91505b50614f64565b60008281526020849052604080822083835291208284101561502657805482546001600160a01b0319166001600160a01b0390911617808355815461ffff600160a01b91829004160261ffff60a01b199091161782555b80546001600160b01b031916905550505050565b600082156121085760408051808201909152601681527513585e0819195b1959d85d195cc8195e18d95959195960521b6020820152600283106150be5760405162461bcd60e51b8152602060048201818152835160248401528351909283926044909101919085019080838360008315610ac0578181015183820152602001610aa8565b50600082815260208690526040902080546001600160a01b0319166001600160a01b0386161781556150ef84614b2f565b815461ffff91909116600160a01b0261ffff60a01b1990911617905550600181016113c656fe44656c65676174696f6e486973746f72793a2072656164696e672066726f6d20636c65616e65642d757020626c6f636b53616665436173743a2076616c756520646f65736e27742066697420696e2031362062697473436c65616e757020626c6f636b206d75737420626520696e207468652070617374756e64656c6567617465416c6c2063616e206f6e6c79206265207573656420696e2070657263656e746167652064656c65676174696f6e206d6f646545524332303a207472616e7366657220616d6f756e7420657863656564732062616c616e6365436c65616e757020626c6f636b206e756d626572206d757374206e65766572206465637265617365500599802164a08023e87ffc3eed0ba3ae60697b3083ba81d046683679d81c6b44656c6567617461626c653a2072656164696e672066726f6d20636c65616e65642d757020626c6f636b756e64656c6567617465416c6c4578706c696369742063616e206f6e6c79206265207573656420696e206578706c696369742064656c65676174696f6e206d6f6465536166654d6174683a206d756c7469706c69636174696f6e206f766572666c6f7753616665436173743a2076616c756520646f65736e27742066697420696e20363420626974735265766f6b65206973206f6e6c7920666f722074686520706173742c2075736520756e64656c656761746520666f72207468652070726573656e74436865636b506f696e74486973746f72793a2072656164696e672066726f6d20636c65616e65642d757020626c6f636b64656c6567617465734f6620646f6573206e6f7420776f726b20696e20414d4f554e542064656c65676174696f6e206d6f6465a2646970667358221220cc3834385d1d16716a85e41d32f112991a72765529c181398b1e504cd3c433a764736f6c634300070600335650436f6e7472616374206d7573742062656c6f6e6720746f2061205650546f6b656e",
|
|
795
|
-
"deployedBytecode": "0x608060405234801561001057600080fd5b50600436106101cf5760003560e01c8063833aca9211610104578063c7c62fab116100a2578063eadb436211610071578063eadb436214610814578063ed475a7914610856578063f683776714610882578063f6a494af146108a8576101cf565b8063c7c62fab1461076e578063cabc4528146107aa578063deea13e7146107e0578063e587497e146107e8576101cf565b806392bfe6d8116100de57806392bfe6d8146106e85780639ca20e4e146107145780639dc6b9f21461071c578063aa94d3f214610752576101cf565b8063833aca921461064a578063891339a8146106865780638c0b6b40146106b2576101cf565b8063404d9e82116101715780636230001a1161014b5780636230001a146104f1578063653718831461052d5780637de5b8ed146105515780637f57d58f1461061e576101cf565b8063404d9e821461039457806349e3c7e5146103d05780634a03d556146104c5576101cf565b806313de97f5116101ad57806313de97f5146102f3578063142d1018146103105780631a05274c146103365780633150392714610362576101cf565b806304bb4e43146101d457806305109ecf146102125780630f8b8af714610240575b600080fd5b610200600480360360408110156101ea57600080fd5b506001600160a01b0381351690602001356108ce565b60408051918252519081900360200190f35b61023e6004803603604081101561022857600080fd5b506001600160a01b0381351690602001356109c2565b005b6102006004803603604081101561025657600080fd5b6001600160a01b03823516919081019060408101602082013564010000000081111561028157600080fd5b82018360208201111561029357600080fd5b803590602001918460208302840111640100000000831117156102b557600080fd5b919080806020026020016040519081016040528093929190818152602001838360200280828437600092019190915250929550610b19945050505050565b61023e6004803603602081101561030957600080fd5b5035610c43565b6102006004803603602081101561032657600080fd5b50356001600160a01b0316610cbf565b6102006004803603604081101561034c57600080fd5b506001600160a01b038135169060200135610d80565b6102006004803603606081101561037857600080fd5b506001600160a01b038135169060208101359060400135610df4565b61023e600480360360808110156103aa57600080fd5b506001600160a01b03813581169160208101359091169060408101359060600135610e1e565b610475600480360360408110156103e657600080fd5b81019060208101813564010000000081111561040157600080fd5b82018360208201111561041357600080fd5b8035906020019184602083028401116401000000008311171561043557600080fd5b9190808060200260200160405190810160405280939291908181526020018383602002808284376000920191909152509295505091359250610fe7915050565b60408051602080825283518183015283519192839290830191858101910280838360005b838110156104b1578181015183820152602001610499565b505050509050019250505060405180910390f35b610200600480360360408110156104db57600080fd5b506001600160a01b038135169060200135611140565b61023e6004803603608081101561050757600080fd5b506001600160a01b03813581169160208101359091169060408101359060600135611161565b6105356112f2565b604080516001600160a01b039092168252519081900360200190f35b6105776004803603602081101561056757600080fd5b50356001600160a01b0316611316565b604051808060200180602001858152602001848152602001838103835287818151815260200191508051906020019060200280838360005b838110156105c75781810151838201526020016105af565b50505050905001838103825286818151815260200191508051906020019060200280838360005b838110156106065781810151838201526020016105ee565b50505050905001965050505050505060405180910390f35b6102006004803603604081101561063457600080fd5b506001600160a01b038135169060200135611335565b6102006004803603608081101561066057600080fd5b506001600160a01b038135811691602081013590911690604081013590606001356113b5565b6102006004803603604081101561069c57600080fd5b506001600160a01b0381351690602001356113ce565b610200600480360360608110156106c857600080fd5b506001600160a01b0381358116916020810135909116906040013561148a565b610200600480360360408110156106fe57600080fd5b506001600160a01b038135169060200135611547565b61053561158a565b6102006004803603606081101561073257600080fd5b506001600160a01b03813581169160208101359091169060400135611599565b61075a6115a6565b604080519115158252519081900360200190f35b61023e6004803603608081101561078457600080fd5b506001600160a01b038135811691602081013590911690604081013590606001356115ca565b610200600480360360608110156107c057600080fd5b506001600160a01b03813581169160208101359091169060400135611694565b610200611716565b610200600480360360408110156107fe57600080fd5b506001600160a01b038135169060200135611725565b61023e600480360360a081101561082a57600080fd5b506001600160a01b0381358116916020810135909116906040810135906060810135906080013561188a565b6105776004803603604081101561086c57600080fd5b506001600160a01b038135169060200135611966565b6102006004803603602081101561089857600080fd5b50356001600160a01b0316611a27565b61023e600480360360208110156108be57600080fd5b50356001600160a01b0316611a3d565b60007f0000000000000000000000000000000000000000000000000000000000000000158061090257506109028383611ab6565b15610918576109118383611b17565b90506109bc565b7f00000000000000000000000000000000000000000000000000000000000000006001600160a01b0316634ee2cd7e84846040518363ffffffff1660e01b815260040180836001600160a01b031681526020018281526020019250505060206040518083038186803b15801561098d57600080fd5b505afa1580156109a1573d6000803e3d6000fd5b505050506040513d60208110156109b757600080fd5b505190505b92915050565b336001600160a01b037f00000000000000000000000000000000000000000000000000000000000000001614610a32576040805162461bcd60e51b815260206004820152601060248201526f37b7363c9037bbb732b9103a37b5b2b760811b604482015290519081900360640190fd5b81610a3c81611b67565b6040518060400160405280601c81526020017f416c72656164792064656c656761746564206578706c696369746c790000000081525090610afb5760405162461bcd60e51b81526004018080602001828103825283818151815260200191508051906020019080838360005b83811015610ac0578181015183820152602001610aa8565b50505050905090810190601f168015610aed5780820380516001836020036101000a031916815260200191505b509250505060405180910390fd5b50610b0583611bae565b15610b1457610b148383611c46565b505050565b6000336001600160a01b037f00000000000000000000000000000000000000000000000000000000000000001614610b8b576040805162461bcd60e51b815260206004820152601060248201526f37b7363c9037bbb732b9103a37b5b2b760811b604482015290519081900360640190fd5b82610b9581611de6565b6040518060400160405280601f81526020017f416c72656164792064656c6567617465642062792070657263656e746167650081525090610c175760405162461bcd60e51b8152602060048201818152835160248401528351909283926044909101919085019080838360008315610ac0578181015183820152602001610aa8565b50610c2184611bae565b15610c3757610c308484611e1d565b9150610c3c565b600091505b5092915050565b336001600160a01b037f00000000000000000000000000000000000000000000000000000000000000001614610cb3576040805162461bcd60e51b815260206004820152601060248201526f37b7363c9037bbb732b9103a37b5b2b760811b604482015290519081900360640190fd5b610cbc81611fb5565b50565b6000610cca82612039565b15610cdf57610cd882612086565b9050610d7b565b7f00000000000000000000000000000000000000000000000000000000000000006001600160a01b03166370a08231836040518263ffffffff1660e01b815260040180826001600160a01b0316815260200191505060206040518083038186803b158015610d4c57600080fd5b505afa158015610d60573d6000803e3d6000fd5b505050506040513d6020811015610d7657600080fd5b505190505b919050565b6007546000906001600160a01b03163314610dda576040805162461bcd60e51b815260206004820152601560248201527413db9b1e4818db19585b995c8818dbdb9d1c9858dd605a1b604482015290519081900360640190fd5b600654610ded9060039085908590612093565b9392505050565b6000610dff84612039565b15610e1657610e0f8484846120a1565b9050610ded565b509092915050565b336001600160a01b037f00000000000000000000000000000000000000000000000000000000000000001614610e8e576040805162461bcd60e51b815260206004820152601060248201526f37b7363c9037bbb732b9103a37b5b2b760811b604482015290519081900360640190fd5b83610e9881611de6565b6040518060400160405280601f81526020017f416c72656164792064656c6567617465642062792070657263656e746167650081525090610f1a5760405162461bcd60e51b8152602060048201818152835160248401528351909283926044909101919085019080838360008315610ac0578181015183820152602001610aa8565b50610f258584612110565b610f2e84612039565b610fd457610fd4847f00000000000000000000000000000000000000000000000000000000000000006001600160a01b03166370a08231876040518263ffffffff1660e01b815260040180826001600160a01b0316815260200191505060206040518083038186803b158015610fa357600080fd5b505afa158015610fb7573d6000803e3d6000fd5b505050506040513d6020811015610fcd57600080fd5b5051612110565b610fe0858585856121c0565b5050505050565b6060610ff383836124a5565b90507f0000000000000000000000000000000000000000000000000000000000000000156109bc5760005b8151811015610c3c5781818151811061103357fe5b60200260200101516000148015611064575061106284828151811061105457fe5b602002602001015184611ab6565b155b15611138577f00000000000000000000000000000000000000000000000000000000000000006001600160a01b0316634ee2cd7e8583815181106110a457fe5b6020026020010151856040518363ffffffff1660e01b815260040180836001600160a01b031681526020018281526020019250505060206040518083038186803b1580156110f157600080fd5b505afa158015611105573d6000803e3d6000fd5b505050506040513d602081101561111b57600080fd5b5051825183908390811061112b57fe5b6020026020010181815250505b60010161101e565b600061114b83612039565b1561115a5761091183836125e0565b50806109bc565b336001600160a01b037f000000000000000000000000000000000000000000000000000000000000000016146111d1576040805162461bcd60e51b815260206004820152601060248201526f37b7363c9037bbb732b9103a37b5b2b760811b604482015290519081900360640190fd5b836111db81611b67565b6040518060400160405280601c81526020017f416c72656164792064656c656761746564206578706c696369746c79000000008152509061125d5760405162461bcd60e51b8152602060048201818152835160248401528351909283926044909101919085019080838360008315610ac0578181015183820152602001610aa8565b506112688584612110565b61127184612039565b6112e6576112e6847f00000000000000000000000000000000000000000000000000000000000000006001600160a01b03166370a08231876040518263ffffffff1660e01b815260040180826001600160a01b0316815260200191505060206040518083038186803b158015610fa357600080fd5b610fe0858585856125ed565b7f000000000000000000000000000000000000000000000000000000000000000081565b6060806000806113268543611966565b93509350935093509193509193565b6007546000906001600160a01b0316331461138f576040805162461bcd60e51b815260206004820152601560248201527413db9b1e4818db19585b995c8818dbdb9d1c9858dd605a1b604482015290519081900360640190fd5b6006546001600160a01b0384166000908152600160205260409020610ded918490612860565b60006113c38585858561286d565b90505b949350505050565b6007546000906001600160a01b03163314611428576040805162461bcd60e51b815260206004820152601560248201527413db9b1e4818db19585b995c8818dbdb9d1c9858dd605a1b604482015290519081900360640190fd5b600654821061147e576040805162461bcd60e51b815260206004820152601e60248201527f4e6f20636c65616e757020616674657220636c65616e757020626c6f636b0000604482015290519081900360640190fd5b610ded600484846128e4565b6007546000906001600160a01b031633146114e4576040805162461bcd60e51b815260206004820152601560248201527413db9b1e4818db19585b995c8818dbdb9d1c9858dd605a1b604482015290519081900360640190fd5b600654821061153a576040805162461bcd60e51b815260206004820152601e60248201527f4e6f20636c65616e757020616674657220636c65616e757020626c6f636b0000604482015290519081900360640190fd5b6113c66004858585612951565b60007f0000000000000000000000000000000000000000000000000000000000000000158061157b575061157b8383611ab6565b156109185761091183836129df565b6007546001600160a01b031681565b60006113c6848484612a44565b7f000000000000000000000000000000000000000000000000000000000000000081565b336001600160a01b037f0000000000000000000000000000000000000000000000000000000000000000161461163a576040805162461bcd60e51b815260206004820152601060248201526f37b7363c9037bbb732b9103a37b5b2b760811b604482015290519081900360640190fd5b7f0000000000000000000000000000000000000000000000000000000000000000158061167d575061166c8482611ab6565b801561167d575061167d8382611ab6565b1561168e5761168e84848484612af5565b50505050565b6007546000906001600160a01b031633146116ee576040805162461bcd60e51b815260206004820152601560248201527413db9b1e4818db19585b995c8818dbdb9d1c9858dd605a1b604482015290519081900360640190fd5b6006546001600160a01b03851660009081526002602052604090206113c69185908590612bf0565b6000611720612c17565b905090565b60007f0000000000000000000000000000000000000000000000000000000000000000158061175957506117598383611ab6565b15611768576109118383612c1d565b604080516001600160a01b03851660208083019190915281830185905282518083038401815260609092018352815191810191909120600081815260099092529190205480156117bf576000190191506109bc9050565b60007f00000000000000000000000000000000000000000000000000000000000000006001600160a01b0316634ee2cd7e87876040518363ffffffff1660e01b815260040180836001600160a01b031681526020018281526020019250505060206040518083038186803b15801561183657600080fd5b505afa15801561184a573d6000803e3d6000fd5b505050506040513d602081101561186057600080fd5b5051905061186f816001612d1d565b600093845260096020526040909320929092555090506109bc565b336001600160a01b037f000000000000000000000000000000000000000000000000000000000000000016146118fa576040805162461bcd60e51b815260206004820152601060248201526f37b7363c9037bbb732b9103a37b5b2b760811b604482015290519081900360640190fd5b6001600160a01b038516611922576119128483612110565b61191d848383612d77565b610fe0565b6001600160a01b0384166119455761193a8584612110565b61191d858483612de1565b61194f8584612110565b6119598483612110565b610fe08585858585612ef9565b606080600080600061197787612f0f565b9050600181600281111561198757fe5b14156119a1576119978787612f2d565b9095509350611a0b565b60008160028111156119af57fe5b14156119d4576040805160008082526020820190815281830190925295509350611a0b565b60405162461bcd60e51b81526004018080602001828103825260338152602001806153556033913960400191505060405180910390fd5b84519250806002811115611a1b57fe5b91505092959194509250565b6000611a3282612f0f565b60028111156109bc57fe5b336001600160a01b037f00000000000000000000000000000000000000000000000000000000000000001614611aad576040805162461bcd60e51b815260206004820152601060248201526f37b7363c9037bbb732b9103a37b5b2b760811b604482015290519081900360640190fd5b610cbc8161316a565b60007f0000000000000000000000000000000000000000000000000000000000000000611ae5575060016109bc565b6001600160a01b03831660009081526008602052604090205480158015906113c6575060001901919091111592915050565b600081600654811015611b5b5760405162461bcd60e51b815260040180806020018281038252602a815260200180615237602a913960400191505060405180910390fd5b6113c66003858561318c565b6001600160a01b03811660009081526020819052604081205460ff1681816002811115611b9057fe5b1480610ded575060015b816002811115611ba657fe5b149392505050565b6001600160a01b03811660009081526020819052604081205460ff1681816002811115611bd757fe5b1415611be7576000915050610d7b565b6002816002811115611bf557fe5b1415611c25576001600160a01b0383166000908152600260205260408120611c1c90613199565b11915050610d7b565b6001600160a01b0383166000908152600160205260408120611c1c906131a4565b6001600160a01b03821660009081526020819052604081205460ff1690816002811115611c6f57fe5b1415611c7b5750611de2565b6001816002811115611c8957fe5b14611cc55760405162461bcd60e51b815260040180806020018281038252603c81526020018061518d603c913960400191505060405180910390fd5b6001600160a01b03831660009081526001602052604081209080611ce8836131b0565b9150915060005b8251811015611dc1576000838281518110611d0657fe5b602002602001015190506000611d3c848481518110611d2157fe5b60200260200101516127108a6131c69092919063ffffffff16565b9050611d4b60038a84846132bf565b600654611d5f906003908b90600290612093565b50600654611d74906003908490600290612093565b50816001600160a01b0316896001600160a01b0316600080516020615217833981519152836000604051808381526020018281526020019250505060405180910390a35050600101611cef565b50611dcb83613304565b600654611ddc908490600290612860565b50505050505b5050565b6001600160a01b03811660009081526020819052604081205460ff1681816002811115611e0f57fe5b1480610ded57506002611b9a565b6001600160a01b03821660009081526020819052604081205460ff1681816002811115611e4657fe5b1415611e565760009150506109bc565b6002816002811115611e6457fe5b14611ea05760405162461bcd60e51b81526004018080602001828103825260428152602001806152616042913960600191505060405180910390fd5b6001600160a01b0384166000908152600260205260408120905b8451811015611fa2576000858281518110611ed157fe5b602002602001015190506000611ef0828561330d90919063ffffffff16565b905080611efe575050611f9a565b611f0b60038984846132bf565b600654611f1f906003908a90600290612093565b50600654611f34906003908490600290612093565b50611f418483600061331c565b600654611f549085908490600290612bf0565b50816001600160a01b0316886001600160a01b0316600080516020615217833981519152836000604051808381526020018281526020019250505060405180910390a350505b600101611eba565b50611fac81613199565b95945050505050565b600654811015611ff65760405162461bcd60e51b81526004018080602001828103825260288152602001806151ef6028913960400191505060405180910390fd5b4381106120345760405162461bcd60e51b815260040180806020018281038252602181526020018061516c6021913960400191505060405180910390fd5b600655565b60007f000000000000000000000000000000000000000000000000000000000000000061206857506001610d7b565b506001600160a01b0316600090815260086020526040902054151590565b60006109bc600383613386565b60006113c385858585613392565b6000816006548110156120e55760405162461bcd60e51b815260040180806020018281038252602a815260200180615237602a913960400191505060405180910390fd5b60006120f28686866133cd565b905060008061210187846134ab565b9550505050505b509392505050565b7f000000000000000000000000000000000000000000000000000000000000000061213a57611de2565b6001600160a01b03821661214d57611de2565b6001600160a01b038216600090815260086020526040902054611de25761217382612086565b158015612186575061218482611bae565b155b61218c57fe5b61219882600083612d77565b6121a3436001612d1d565b6001600160a01b0383166000908152600860205260409020555050565b6001600160a01b038316612215576040805162461bcd60e51b815260206004820152601760248201527643616e6e6f742064656c656761746520746f207a65726f60481b604482015290519081900360640190fd5b836001600160a01b0316836001600160a01b03161415612276576040805162461bcd60e51b815260206004820152601760248201527621b0b73737ba103232b632b3b0ba32903a379039b2b63360491b604482015290519081900360640190fd5b61227f84611de6565b6122d0576040805162461bcd60e51b815260206004820152601960248201527f43616e6e6f742064656c656761746520627920616d6f756e7400000000000000604482015290519081900360640190fd5b6001600160a01b0384166000908152600260205260408120906122f3828661330d565b9050808310156123115761230c600387878685036132bf565b6123c1565b60006123278261232189886125e0565b90612d1d565b9050838110156040518060400160405280602081526020017f556e64656c65676174656420766f746520706f77657220746f6f20736d616c6c815250906123af5760405162461bcd60e51b8152602060048201818152835160248401528351909283926044909101919085019080838360008315610ac0578181015183820152602001610aa8565b506123bf600388888588036134d1565b505b6006546123d5906003908890600290612093565b506006546123ea906003908790600290612093565b506123f682868561331c565b6006546124099083908790600290612bf0565b5060026001600160a01b03871660009081526020819052604090205460ff16600281111561243357fe5b1461245c576001600160a01b0386166000908152602081905260409020805460ff191660021790555b846001600160a01b0316866001600160a01b03166000805160206152178339815191528386604051808381526020018281526020019250505060405180910390a3505050505050565b6060816006548110156124e95760405162461bcd60e51b815260040180806020018281038252602a815260200180615237602a913960400191505060405180910390fd5b43831061253d576040805162461bcd60e51b815260206004820181905260248201527f43616e206f6e6c79206265207573656420666f72207061737420626c6f636b73604482015290519081900360640190fd5b83516001600160401b038111801561255457600080fd5b5060405190808252806020026020018201604052801561257e578160200160208202803683370190505b50915060005b84518110156125d8576125b9600386838151811061259e57fe5b602002602001015186600461350e909392919063ffffffff16565b8382815181106125c557fe5b6020908102919091010152600101612584565b505092915050565b6000610ded8383436120a1565b6001600160a01b038316612642576040805162461bcd60e51b815260206004820152601760248201527643616e6e6f742064656c656761746520746f207a65726f60481b604482015290519081900360640190fd5b836001600160a01b0316836001600160a01b031614156126a3576040805162461bcd60e51b815260206004820152601760248201527621b0b73737ba103232b632b3b0ba32903a379039b2b63360491b604482015290519081900360640190fd5b6126ac84611b67565b6126fd576040805162461bcd60e51b815260206004820152601d60248201527f43616e6e6f742064656c65676174652062792070657263656e74616765000000604482015290519081900360640190fd5b6001600160a01b038416600090815260016020526040812090612720828661357d565b9050600080612730848887613589565b600654612741908590600290612860565b5082156127585761275586846127106131c6565b91505b841561276e5761276b86866127106131c6565b90505b8181101561278a57612785600389898486036132bf565b612799565b612799600389898585036134d1565b6006546127ad906003908a90600290612093565b506006546127c2906003908990600290612093565b5060016001600160a01b03891660009081526020819052604090205460ff1660028111156127ec57fe5b14612815576001600160a01b0388166000908152602081905260409020805460ff191660011790555b866001600160a01b0316886001600160a01b03166000805160206152178339815191528484604051808381526020018281526020019250505060405180910390a35050505050505050565b60006113c6848484613630565b6000816006548110156128b15760405162461bcd60e51b815260040180806020018281038252602a815260200180615237602a913960400191505060405180910390fd5b6128be600487878661376e565b156128cc57600091506128db565b6128d8868686866137c2565b91505b50949350505050565b604080516001600160a01b03841660208083019190915281830184905282518083038401815260609092018352815191810191909120600081815291869052918120549091901561294657600090815260208590526040812055506001610ded565b506000949350505050565b604080516001600160a01b038086166020808401919091528284018590528351808403850181526060909301845282519281019290922060008181526001890184528481209287168152928290529282205491929180156129d157506001600160a01b0385166000908152602091909152604081205550600190506113c6565b506000979650505050505050565b600081600654811015612a235760405162461bcd60e51b815260040180806020018281038252602a815260200180615237602a913960400191505060405180910390fd5b43831015612a3957610c3060046003868661350e565b610c30600385613386565b6001600160a01b03831660009081526020819052604081205460ff1681816002811115612a6d57fe5b1415612a7d576000915050610ded565b6001816002811115612a8b57fe5b1415612acb576001600160a01b0385166000908152600160205260408120612ab3908661357d565b9050612ac284826127106131c6565b92505050610ded565b6001600160a01b0385166000908152600260205260409020612aed908561330d565b915050610ded565b80600654811015612b375760405162461bcd60e51b815260040180806020018281038252602a815260200180615237602a913960400191505060405180910390fd5b438210612b755760405162461bcd60e51b815260040180806020018281038252603b8152602001806152ea603b913960400191505060405180910390fd5b6000612b83868686866137c2565b9050612b956004600388888588613875565b846001600160a01b0316866001600160a01b03167fd6f80c7d68e3e62bd7a51c3d37e575c1cfbc311c07487b69ef4eb570bc21cb688386604051808381526020018281526020019250505060405180910390a3505050505050565b6000612bfd8584846139e8565b9050612c0e60028601858585613392565b01949350505050565b60065490565b600081600654811015612c615760405162461bcd60e51b815260040180806020018281038252602a815260200180615237602a913960400191505060405180910390fd5b438310612cb5576040805162461bcd60e51b815260206004820181905260248201527f43616e206f6e6c79206265207573656420666f72207061737420626c6f636b73604482015290519081900360640190fd5b600080612cc6600460038888613a89565b9150915080156128db57604080516001600160a01b03881681526020810187905281517fb0b412112c2958bbc2537fa96db51ddcfe7d0d074143f0b5308b6aab19b6694b929181900390910190a150949350505050565b600082820183811015610ded576040805162461bcd60e51b815260206004820152601b60248201527f536166654d6174683a206164646974696f6e206f766572666c6f770000000000604482015290519081900360640190fd5b60016001600160a01b03841660009081526020819052604090205460ff166002811115612da057fe5b1415612dbf57612dba8383612db58185612d1d565b613b13565b610b14565b612dcd600384836000613c53565b60065461168e906003908590600290612093565b6000612e08826040518060600160405280602681526020016151c960269139859190613c9f565b905060016001600160a01b03851660009081526020819052604090205460ff166002811115612e3357fe5b1415612e4957612e44848483613b13565b61168e565b612e54848484613cf9565b6040518060400160405280602081526020017f556e64656c65676174656420766f746520706f77657220746f6f20736d616c6c81525090612ed65760405162461bcd60e51b8152602060048201818152835160248401528351909283926044909101919085019080838360008315610ac0578181015183820152602001610aa8565b50612ee5600385600085613c53565b600654610fe0906003908690600290612093565b612f04858483612de1565b610fe0848383612d77565b6001600160a01b031660009081526020819052604090205460ff1690565b60608082600654811015612f725760405162461bcd60e51b815260040180806020018281038252602a815260200180615237602a913960400191505060405180910390fd5b6001600160a01b0385166000908152600160205260409020606080612f978388613d46565b909250905060005b8251811015612ffb57612fd389848381518110612fb857fe5b60200260200101518a600461376e909392919063ffffffff16565b15612ff3576000828281518110612fe657fe5b6020026020010181815250505b600101612f9f565b506000805b83518110156130335782818151811061301557fe5b602002602001015160001461302b576001909101905b600101613000565b50806001600160401b038111801561304a57600080fd5b50604051908082528060200260200182016040528015613074578160200160208202803683370190505b509650806001600160401b038111801561308d57600080fd5b506040519080825280602002602001820160405280156130b7578160200160208202803683370190505b5095506000805b845181101561315c578381815181106130d357fe5b6020026020010151600014613154578481815181106130ee57fe5b602002602001015189838151811061310257fe5b60200260200101906001600160a01b031690816001600160a01b03168152505083818151811061312e57fe5b602002602001015188838151811061314257fe5b60209081029190910101526001909101905b6001016130be565b505050505050509250929050565b600780546001600160a01b0319166001600160a01b0392909216919091179055565b60006113c6848484613d5e565b60006109bc82613d80565b60006109bc8243613dc8565b6060806131bc83613e16565b915091505b915091565b600080821161320f576040805162461bcd60e51b815260206004820152601060248201526f4469766973696f6e206279207a65726f60801b604482015290519081900360640190fd5b8361321c57506000610ded565b8383028385828161322957fe5b0414156132425782818161323957fe5b04915050610ded565b600083868161324d57fe5b049050600084878161325b57fe5b069050600085878161326957fe5b049050600086888161327757fe5b0690506121016132918861328b8685613e23565b90613e7c565b61232161329e8686613e23565b6123216132ab8987613e23565b6123218d6132b98c8b613e23565b90613e23565b82826001600160a01b0382161580156132df57506001600160a01b038116155b156132e657fe5b826132f0576132fc565b6132fc86858786613ee3565b505050505050565b610cbc81613f6c565b6000610ded6002840183614092565b600061332b6002850184614092565b9050600061336c8361232184604051806040016040528060098152602001680546f74616c203c20360bc1b8152506133658a600001613d80565b9190613c9f565b905061337c6002860185856140b3565b610fe085826140d1565b6000610ded8383614092565b60006001600160a01b03841615612946576001600160a01b03841660009081526020869052604090206133c69084846139e8565b90506113c6565b6000816006548110156134115760405162461bcd60e51b815260040180806020018281038252602a815260200180615237602a913960400191505060405180910390fd5b6001600160a01b03851660009081526020819052604081205460ff169081600281111561343a57fe5b141561344a576000925050612108565b600281600281111561345857fe5b1415613488576001600160a01b03861660009081526002602052604090206134809085614292565b925050612108565b6001600160a01b038616600090815260016020526040902061348090868661429e565b600080838311156134c1575060009050806134ca565b50600190508183035b9250929050565b82826001600160a01b0382161580156134f157506001600160a01b038116155b156134f857fe5b82613502576132fc565b6132fc86868686613ee3565b604080516001600160a01b03841660208083019190915281830184905282518083038401815260609092018352815191810191909120600081815291879052918120549091908015613567576000190191506113c69050565b61357286868661318c565b979650505050505050565b6000610ded83836142ae565b61271081111561359557fe5b6135a08383836142f2565b6127106135ac84614516565b11156040518060400160405280601c81526020017f4d61782064656c65676174696f6e2062697073206578636565646564000000008152509061168e5760405162461bcd60e51b8152602060048201818152835160248401528351909283926044909101919085019080838360008315610ac0578181015183820152602001610aa8565b60008161363f57506000610ded565b6001840154600160401b90046001600160401b031680613663576000915050610ded565b60018501546001600160401b031660006136896136808388612d1d565b60018503614522565b9050815b81811080156136c7575060018101600090815260208981526040808320838052909152902054600160b01b90046001600160401b03168610155b1561372b57600081815260208981526040808320838052918290528220549091600160f01b90910460ff16905b8181101561372057600081815260208490526040902080546001600160f81b03191690556001016136f4565b50505060010161368d565b828111156137605761373c81614538565b60018901805467ffffffffffffffff19166001600160401b03929092169190911790555b919091039695505050505050565b604080516001600160a01b0394851660208083019190915281830193909352815180820383018152606090910182528051908301206000908152600195909501825280852092909316845252902054151590565b6001600160a01b03841660009081526020819052604081205460ff16818160028111156137eb57fe5b14156137fb5760009150506113c6565b600181600281111561380957fe5b141561384a576001600160a01b0386166000908152600160205260408120613832908786614580565b905061384185826127106131c6565b925050506113c6565b6001600160a01b038616600090815260026020526040902061386d90868561458d565b9150506113c6565b8161387f576132fc565b604080516001600160a01b0380871660208084019190915282840185905283518084038501815260609093018452825192810192909220600081815260018b018452848120928816815291909252919091205415613916576040805162461bcd60e51b815260206004820152600f60248201526e105b1c9958591e481c995d9bdad959608a1b604482015290519081900360640190fd5b600061392488888786613a89565b5090506000858460405160200180836001600160a01b03168152602001828152602001925050506040516020818303038152906040528051906020012090506139b789826139b2886040518060400160405280601781526020017f5265766f6b65642076616c756520746f6f206c6172676500000000000000000081525087613c9f9092919063ffffffff16565b61459d565b5050600090815260018701602090815260408083206001600160a01b03871684529091529020829055505050505050565b6000816139f757506000610ded565b6001840154600160401b90046001600160401b031680613a1b576000915050610ded565b60018501546001600160401b03166000613a386136808388612d1d565b9050815b8181108015613a6d575060018101600090815260208990526040902054600160c01b90046001600160401b03168610155b1561372b57600081815260208990526040812055600101613a3c565b604080516001600160a01b0384166020808301919091528183018490528251808303840181526060909201835281519181019190912060008181529187905291812054909182918015613ae75760001901925060009150613b0a9050565b6000613af488888861318c565b9050613b0189848361459d565b93506001925050505b94509492505050565b6001600160a01b0383166000908152600160205260408120908290849080613b3a856145bb565b9150915060005b82811015613c1e576000818152602083905260408120805490916001600160a01b03821691600160a01b900461ffff1690613b7f8c836127106131c6565b90506000613b908c846127106131c6565b9050613b9c8a83612d1d565b9950613ba88982612d1d565b9850613bb76003858385613c53565b600654613bcb906003908690600290612093565b50836001600160a01b03168e6001600160a01b03166000805160206152178339815191528484604051808381526020018281526020019250505060405180910390a3505060019093019250613b41915050565b50828414613c4957613c336003898686613c53565b600654613c47906003908a90600290612093565b505b5050505050505050565b6001600160a01b038316613c6357fe5b80821415613c705761168e565b6000613c7c8585614092565b9050613c9282613c8c8386612d1d565b906145c7565b9050610fe08585836140b3565b60008184841115613cf15760405162461bcd60e51b8152602060048201818152835160248401528351909283926044909101919085019080838360008315610ac0578181015183820152602001610aa8565b505050900390565b600060026001600160a01b03851660009081526020819052604090205460ff166002811115613d2457fe5b1415613d3e5781613d3585856125e0565b10159050610ded565b506001610ded565b606080613d538484614624565b915091509250929050565b6001600160a01b0382166000908152602084905260408120611fac8184614793565b6001810154600090600160401b90046001600160401b031680613da7576000915050610d7b565b6000190160009081526020929092525060409020546001600160c01b031690565b6000806000613dd785856148d6565b9150915081613deb576000925050506109bc565b6000908152602094855260408082208280529095529390932054600160f01b900460ff169392505050565b6060806131bc8343614624565b600082613e32575060006109bc565b82820282848281613e3f57fe5b0414610ded5760405162461bcd60e51b81526004018080602001828103825260218152602001806152a36021913960400191505060405180910390fd5b6000808211613ed2576040805162461bcd60e51b815260206004820152601a60248201527f536166654d6174683a206469766973696f6e206279207a65726f000000000000604482015290519081900360640190fd5b818381613edb57fe5b049392505050565b80613eed5761168e565b6001600160a01b038316158015613f0b57506001600160a01b038216155b15613f1257fe5b6001600160a01b03831615613f40576000613f3182613c8c8787614092565b9050613f3e8585836140b3565b505b6001600160a01b0382161561168e576000613f5f826123218786614092565b9050610fe08584836140b3565b6001810154600160401b90046001600160401b03168015611de2576000818152602083905260409020613fa160018301614538565b6001840180546001600160401b0392909216600160401b0267ffffffffffffffff60401b199092169190911790556040805160808101825260008082526020820152908101613fef43614538565b6001600160401b039081168252600060209283018190528080529382526040938490208351815493850151958501516060909501516001600160a01b03199094166001600160a01b039091161761ffff60a01b1916600160a01b61ffff909616959095029490941767ffffffffffffffff60b01b1916600160b01b93909116929092029190911760ff60f01b1916600160f01b60ff909216919091021790555050565b6001600160a01b03811660009081526020839052604081206113c681613d80565b6001600160a01b038216600090815260208490526040902061168e81835b6001820154600160401b90046001600160401b0316806141885760405180604001604052806140ff846149d5565b6001600160c01b0316815260200161411643614538565b6001600160401b03908116909152600080805260208681526040909120835181549490920151909216600160c01b026001600160c01b039182166001600160c01b0319909416939093171691909117905560018301805467ffffffffffffffff60401b1916600160401b179055610b14565b600019810160009081526020849052604090208054600160c01b90046001600160401b0316438114156141de576141be846149d5565b82546001600160c01b0319166001600160c01b0391909116178255610fe0565b8043116141e757fe5b60405180604001604052806141fb866149d5565b6001600160c01b0316815260200161421243614538565b6001600160401b039081169091526000858152602088815260409091208351815494909201518316600160c01b026001600160c01b039283166001600160c01b0319909516949094179091169290921790915560018087018054918601909216600160401b0267ffffffffffffffff60401b199091161790555050505050565b6000610ded8383614793565b60006113c6848461271085614a2f565b6001820154600090600160401b90046001600160401b0316806142d55760009150506109bc565b600019810160009081526020859052604090206113c69084614aca565b6001830154600160401b90046001600160401b03168061442d578115612e4457600081815260208590526040902061432c60018301614538565b8560010160086101000a8154816001600160401b0302191690836001600160401b031602179055506040518060800160405280856001600160a01b0316815260200161437785614b2f565b61ffff16815260200161438943614538565b6001600160401b039081168252600160209283015260008080529382526040938490208351815493850151958501516060909501516001600160a01b03199094166001600160a01b039091161761ffff60a01b1916600160a01b61ffff909616959095029490941767ffffffffffffffff60b01b1916600160b01b93909116929092029190911760ff60f01b1916600160f01b60ff9092169190910217905561168e565b60001981016000908152602085815260408083208380529182905290912054600160b01b90046001600160401b0316438114156144745761446f828686614b72565b6132fc565b80431161447d57fe5b600083815260208790526040902061449760018501614538565b8760010160086101000a8154816001600160401b0302191690836001600160401b031602179055506144cb81848888614c87565b6144d443614538565b6000808052602092909252604090912080546001600160401b0392909216600160b01b0267ffffffffffffffff60b01b19909216919091179055505050505050565b60006109bc8243614d9d565b60008183106145315781610ded565b5090919050565b6000600160401b821061457c5760405162461bcd60e51b81526004018080602001828103825260268152602001806152c46026913960400191505060405180910390fd5b5090565b60006113c6848484614e2b565b60006113c6600285018484613d5e565b6145a8816001612d1d565b6000928352602093909352506040902055565b6000806131bc83614e70565b60008282111561461e576040805162461bcd60e51b815260206004820152601e60248201527f536166654d6174683a207375627472616374696f6e206f766572666c6f770000604482015290519081900360640190fd5b50900390565b60608060008061463486866148d6565b915091508161465e57505060408051600080825260208201908152818301909252925090506134ca565b6000818152602087815260408083208380529182905290912054600160f01b900460ff16806001600160401b038111801561469857600080fd5b506040519080825280602002602001820160405280156146c2578160200160208202803683370190505b509550806001600160401b03811180156146db57600080fd5b50604051908082528060200260200182016040528015614705578160200160208202803683370190505b50945060005b81811015614787576000818152602084905260409020805488516001600160a01b039091169089908490811061473d57fe5b6001600160a01b03929092166020928302919091019091015280548751600160a01b90910461ffff169088908490811061477357fe5b60209081029190910101525060010161470b565b50505050509250929050565b6001820154600090600160401b90046001600160401b0316806147ba5760009150506109bc565b43831015806147ec57506000198101600090815260208590526040902054600160c01b90046001600160401b03168310155b1561481457600019016000908152602084905260409020546001600160c01b031690506109bc565b60018401546001600160401b039081166000818152602087905260409020549091600160c01b9091041684101561488d5780156148825760405162461bcd60e51b81526004018080602001828103825260308152602001806153256030913960400191505060405180910390fd5b6000925050506109bc565b60018501546000906148b39087908490600160401b90046001600160401b031688614ed4565b6000908152602087905260409020546001600160c01b0316935050505092915050565b600182015460009081906001600160401b0380821691600160401b9004168061490257600093506149cc565b6000198101600090815260208781526040808320838052909152902054600160b01b90046001600160401b0316851061494457600193506001810392506149cc565b600082815260208781526040808320838052909152902054600160b01b90046001600160401b03168510156149b95781156149b05760405162461bcd60e51b81526004018080602001828103825260308152602001806151166030913960400191505060405180910390fd5b600093506149cc565b600193506149c986838388614f52565b92505b50509250929050565b6000600160c01b821061457c576040805162461bcd60e51b815260206004820152601d60248201527f76616c756520646f65736e27742066697420696e203139322062697473000000604482015290519081900360640190fd5b6000806000614a3e87856148d6565b9150915081614a52576000925050506113c6565b6000818152602088815260408083208380529182905282205491945090600160f01b900460ff16845b81811015614abd57600081815260208490526040902054614ab390614aac90600160a01b900461ffff168b8b6131c6565b8790612d1d565b9550600101614a7b565b5050505050949350505050565b600080805260208390526040812054600160f01b900460ff16815b8181101561294657600081815260208690526040902080546001600160a01b0386811691161415614b265754600160a01b900461ffff1692506109bc915050565b50600101614ae5565b600062010000821061457c5760405162461bcd60e51b81526004018080602001828103825260268152602001806151466026913960400191505060405180910390fd5b600080805260208490526040812054600160f01b900460ff16905b8181108015614bb657506000818152602086905260409020546001600160a01b03858116911614155b15614bc357600101614b8d565b81811015614c47578215614c0c57614bda83614b2f565b6000828152602087905260409020805461ffff92909216600160a01b0261ffff60a01b1990921691909117905561191d565b614c1a858260018503614fcf565b6000808052602086905260409020805460ff60f01b1916600160f01b600019850160ff1602179055610fe0565b6000614c558686868661503a565b6000808052602088905260409020805460ff909216600160f01b0260ff60f01b19909216919091179055505050505050565b600080805260208490526040812054600160f01b900460ff169080805b83811015614d545760008181526020888152604091829020825160808101845290546001600160a01b03808216808452600160a01b830461ffff1694840194909452600160b01b82046001600160401b031694830194909452600160f01b900460ff1660608201529188161415614d3057614d25898260000151888661503a565b925060019350614d4b565b614d48898260000151836020015161ffff168661503a565b92505b50600101614ca4565b5081614d6957614d668786868461503a565b90505b60008080526020979097526040909620805460ff909716600160f01b0260ff60f01b19909716969096179095555050505050565b6000806000614dac85856148d6565b9150915081614dc0576000925050506109bc565b6000818152602086815260408083208380529182905282205491945090600160f01b900460ff16845b81811015614e2057600081815260208490526040902054614e16908790600160a01b900461ffff16612d1d565b9550600101614de9565b505050505092915050565b6000806000614e3a86856148d6565b9150915081614e4e57600092505050610ded565b6000818152602087905260409020614e669086614aca565b9695505050505050565b60018101546000908190600160401b90046001600160401b031680614ea757505060008080526020839052604081209091506131c1565b6000190160009081526020938452604080822082805294859052902054600160f01b900460ff1693915050565b60008381614ee38560016145c7565b90505b81811115614f48576000614f04600261328b60016123218688612d1d565b600081815260208a90526040902054909150600160c01b90046001600160401b03168510614f3457809250614f42565b614f3f8160016145c7565b91505b50614ee6565b5095945050505050565b60008381614f618560016145c7565b90505b81811115614f48576000614f82600261328b60016123218688612d1d565b600081815260208a81526040808320838052909152902054909150600160b01b90046001600160401b03168510614fbb57809250614fc9565b614fc68160016145c7565b91505b50614f64565b60008281526020849052604080822083835291208284101561502657805482546001600160a01b0319166001600160a01b0390911617808355815461ffff600160a01b91829004160261ffff60a01b199091161782555b80546001600160b01b031916905550505050565b600082156121085760408051808201909152601681527513585e0819195b1959d85d195cc8195e18d95959195960521b6020820152600283106150be5760405162461bcd60e51b8152602060048201818152835160248401528351909283926044909101919085019080838360008315610ac0578181015183820152602001610aa8565b50600082815260208690526040902080546001600160a01b0319166001600160a01b0386161781556150ef84614b2f565b815461ffff91909116600160a01b0261ffff60a01b1990911617905550600181016113c656fe44656c65676174696f6e486973746f72793a2072656164696e672066726f6d20636c65616e65642d757020626c6f636b53616665436173743a2076616c756520646f65736e27742066697420696e2031362062697473436c65616e757020626c6f636b206d75737420626520696e207468652070617374756e64656c6567617465416c6c2063616e206f6e6c79206265207573656420696e2070657263656e746167652064656c65676174696f6e206d6f646545524332303a207472616e7366657220616d6f756e7420657863656564732062616c616e6365436c65616e757020626c6f636b206e756d626572206d757374206e65766572206465637265617365500599802164a08023e87ffc3eed0ba3ae60697b3083ba81d046683679d81c6b44656c6567617461626c653a2072656164696e672066726f6d20636c65616e65642d757020626c6f636b756e64656c6567617465416c6c4578706c696369742063616e206f6e6c79206265207573656420696e206578706c696369742064656c65676174696f6e206d6f6465536166654d6174683a206d756c7469706c69636174696f6e206f766572666c6f7753616665436173743a2076616c756520646f65736e27742066697420696e20363420626974735265766f6b65206973206f6e6c7920666f722074686520706173742c2075736520756e64656c656761746520666f72207468652070726573656e74436865636b506f696e74486973746f72793a2072656164696e672066726f6d20636c65616e65642d757020626c6f636b64656c6567617465734f6620646f6573206e6f7420776f726b20696e20414d4f554e542064656c65676174696f6e206d6f6465a2646970667358221220cc3834385d1d16716a85e41d32f112991a72765529c181398b1e504cd3c433a764736f6c63430007060033",
|
|
794
|
+
"bytecode": "0x60c06040523480156200001157600080fd5b506040516200551e3803806200551e833981810160405260408110156200003757600080fd5b5080516020909101516001600160a01b038216620000875760405162461bcd60e51b8152600401808060200182810382526023815260200180620054fb6023913960400191505060405180910390fd5b606082901b6001600160601b031916608052151560f881901b60a0526001600160a01b039091169060ff166153bd6200013e600039806108d25280610ff7528061154b52806115a8528061163c52806117295280611aba528061203d528061211252508061091a52806109cd5280610b265280610c4e5280610ce15280610e295280610f38528061106b528061116c528061127b52806112f452806115d552806117c352806118955280611a4852506153bd6000f3fe608060405234801561001057600080fd5b50600436106101cf5760003560e01c8063833aca9211610104578063c7c62fab116100a2578063eadb436211610071578063eadb436214610814578063ed475a7914610856578063f683776714610882578063f6a494af146108a8576101cf565b8063c7c62fab1461076e578063cabc4528146107aa578063deea13e7146107e0578063e587497e146107e8576101cf565b806392bfe6d8116100de57806392bfe6d8146106e85780639ca20e4e146107145780639dc6b9f21461071c578063aa94d3f214610752576101cf565b8063833aca921461064a578063891339a8146106865780638c0b6b40146106b2576101cf565b8063404d9e82116101715780636230001a1161014b5780636230001a146104f1578063653718831461052d5780637de5b8ed146105515780637f57d58f1461061e576101cf565b8063404d9e821461039457806349e3c7e5146103d05780634a03d556146104c5576101cf565b806313de97f5116101ad57806313de97f5146102f3578063142d1018146103105780631a05274c146103365780633150392714610362576101cf565b806304bb4e43146101d457806305109ecf146102125780630f8b8af714610240575b600080fd5b610200600480360360408110156101ea57600080fd5b506001600160a01b0381351690602001356108ce565b60408051918252519081900360200190f35b61023e6004803603604081101561022857600080fd5b506001600160a01b0381351690602001356109c2565b005b6102006004803603604081101561025657600080fd5b6001600160a01b03823516919081019060408101602082013564010000000081111561028157600080fd5b82018360208201111561029357600080fd5b803590602001918460208302840111640100000000831117156102b557600080fd5b919080806020026020016040519081016040528093929190818152602001838360200280828437600092019190915250929550610b19945050505050565b61023e6004803603602081101561030957600080fd5b5035610c43565b6102006004803603602081101561032657600080fd5b50356001600160a01b0316610cbf565b6102006004803603604081101561034c57600080fd5b506001600160a01b038135169060200135610d80565b6102006004803603606081101561037857600080fd5b506001600160a01b038135169060208101359060400135610df4565b61023e600480360360808110156103aa57600080fd5b506001600160a01b03813581169160208101359091169060408101359060600135610e1e565b610475600480360360408110156103e657600080fd5b81019060208101813564010000000081111561040157600080fd5b82018360208201111561041357600080fd5b8035906020019184602083028401116401000000008311171561043557600080fd5b9190808060200260200160405190810160405280939291908181526020018383602002808284376000920191909152509295505091359250610fe7915050565b60408051602080825283518183015283519192839290830191858101910280838360005b838110156104b1578181015183820152602001610499565b505050509050019250505060405180910390f35b610200600480360360408110156104db57600080fd5b506001600160a01b038135169060200135611140565b61023e6004803603608081101561050757600080fd5b506001600160a01b03813581169160208101359091169060408101359060600135611161565b6105356112f2565b604080516001600160a01b039092168252519081900360200190f35b6105776004803603602081101561056757600080fd5b50356001600160a01b0316611316565b604051808060200180602001858152602001848152602001838103835287818151815260200191508051906020019060200280838360005b838110156105c75781810151838201526020016105af565b50505050905001838103825286818151815260200191508051906020019060200280838360005b838110156106065781810151838201526020016105ee565b50505050905001965050505050505060405180910390f35b6102006004803603604081101561063457600080fd5b506001600160a01b038135169060200135611335565b6102006004803603608081101561066057600080fd5b506001600160a01b038135811691602081013590911690604081013590606001356113b5565b6102006004803603604081101561069c57600080fd5b506001600160a01b0381351690602001356113ce565b610200600480360360608110156106c857600080fd5b506001600160a01b0381358116916020810135909116906040013561148a565b610200600480360360408110156106fe57600080fd5b506001600160a01b038135169060200135611547565b61053561158a565b6102006004803603606081101561073257600080fd5b506001600160a01b03813581169160208101359091169060400135611599565b61075a6115a6565b604080519115158252519081900360200190f35b61023e6004803603608081101561078457600080fd5b506001600160a01b038135811691602081013590911690604081013590606001356115ca565b610200600480360360608110156107c057600080fd5b506001600160a01b03813581169160208101359091169060400135611694565b610200611716565b610200600480360360408110156107fe57600080fd5b506001600160a01b038135169060200135611725565b61023e600480360360a081101561082a57600080fd5b506001600160a01b0381358116916020810135909116906040810135906060810135906080013561188a565b6105776004803603604081101561086c57600080fd5b506001600160a01b038135169060200135611966565b6102006004803603602081101561089857600080fd5b50356001600160a01b0316611a27565b61023e600480360360208110156108be57600080fd5b50356001600160a01b0316611a3d565b60007f0000000000000000000000000000000000000000000000000000000000000000158061090257506109028383611ab6565b15610918576109118383611b17565b90506109bc565b7f00000000000000000000000000000000000000000000000000000000000000006001600160a01b0316634ee2cd7e84846040518363ffffffff1660e01b815260040180836001600160a01b031681526020018281526020019250505060206040518083038186803b15801561098d57600080fd5b505afa1580156109a1573d6000803e3d6000fd5b505050506040513d60208110156109b757600080fd5b505190505b92915050565b336001600160a01b037f00000000000000000000000000000000000000000000000000000000000000001614610a32576040805162461bcd60e51b815260206004820152601060248201526f37b7363c9037bbb732b9103a37b5b2b760811b604482015290519081900360640190fd5b81610a3c81611b67565b6040518060400160405280601c81526020017f416c72656164792064656c656761746564206578706c696369746c790000000081525090610afb5760405162461bcd60e51b81526004018080602001828103825283818151815260200191508051906020019080838360005b83811015610ac0578181015183820152602001610aa8565b50505050905090810190601f168015610aed5780820380516001836020036101000a031916815260200191505b509250505060405180910390fd5b50610b0583611bae565b15610b1457610b148383611c46565b505050565b6000336001600160a01b037f00000000000000000000000000000000000000000000000000000000000000001614610b8b576040805162461bcd60e51b815260206004820152601060248201526f37b7363c9037bbb732b9103a37b5b2b760811b604482015290519081900360640190fd5b82610b9581611de6565b6040518060400160405280601f81526020017f416c72656164792064656c6567617465642062792070657263656e746167650081525090610c175760405162461bcd60e51b8152602060048201818152835160248401528351909283926044909101919085019080838360008315610ac0578181015183820152602001610aa8565b50610c2184611bae565b15610c3757610c308484611e1d565b9150610c3c565b600091505b5092915050565b336001600160a01b037f00000000000000000000000000000000000000000000000000000000000000001614610cb3576040805162461bcd60e51b815260206004820152601060248201526f37b7363c9037bbb732b9103a37b5b2b760811b604482015290519081900360640190fd5b610cbc81611fb5565b50565b6000610cca82612039565b15610cdf57610cd882612086565b9050610d7b565b7f00000000000000000000000000000000000000000000000000000000000000006001600160a01b03166370a08231836040518263ffffffff1660e01b815260040180826001600160a01b0316815260200191505060206040518083038186803b158015610d4c57600080fd5b505afa158015610d60573d6000803e3d6000fd5b505050506040513d6020811015610d7657600080fd5b505190505b919050565b6007546000906001600160a01b03163314610dda576040805162461bcd60e51b815260206004820152601560248201527413db9b1e4818db19585b995c8818dbdb9d1c9858dd605a1b604482015290519081900360640190fd5b600654610ded9060039085908590612093565b9392505050565b6000610dff84612039565b15610e1657610e0f8484846120a1565b9050610ded565b509092915050565b336001600160a01b037f00000000000000000000000000000000000000000000000000000000000000001614610e8e576040805162461bcd60e51b815260206004820152601060248201526f37b7363c9037bbb732b9103a37b5b2b760811b604482015290519081900360640190fd5b83610e9881611de6565b6040518060400160405280601f81526020017f416c72656164792064656c6567617465642062792070657263656e746167650081525090610f1a5760405162461bcd60e51b8152602060048201818152835160248401528351909283926044909101919085019080838360008315610ac0578181015183820152602001610aa8565b50610f258584612110565b610f2e84612039565b610fd457610fd4847f00000000000000000000000000000000000000000000000000000000000000006001600160a01b03166370a08231876040518263ffffffff1660e01b815260040180826001600160a01b0316815260200191505060206040518083038186803b158015610fa357600080fd5b505afa158015610fb7573d6000803e3d6000fd5b505050506040513d6020811015610fcd57600080fd5b5051612110565b610fe0858585856121c0565b5050505050565b6060610ff383836124a5565b90507f0000000000000000000000000000000000000000000000000000000000000000156109bc5760005b8151811015610c3c5781818151811061103357fe5b60200260200101516000148015611064575061106284828151811061105457fe5b602002602001015184611ab6565b155b15611138577f00000000000000000000000000000000000000000000000000000000000000006001600160a01b0316634ee2cd7e8583815181106110a457fe5b6020026020010151856040518363ffffffff1660e01b815260040180836001600160a01b031681526020018281526020019250505060206040518083038186803b1580156110f157600080fd5b505afa158015611105573d6000803e3d6000fd5b505050506040513d602081101561111b57600080fd5b5051825183908390811061112b57fe5b6020026020010181815250505b60010161101e565b600061114b83612039565b1561115a5761091183836125e0565b50806109bc565b336001600160a01b037f000000000000000000000000000000000000000000000000000000000000000016146111d1576040805162461bcd60e51b815260206004820152601060248201526f37b7363c9037bbb732b9103a37b5b2b760811b604482015290519081900360640190fd5b836111db81611b67565b6040518060400160405280601c81526020017f416c72656164792064656c656761746564206578706c696369746c79000000008152509061125d5760405162461bcd60e51b8152602060048201818152835160248401528351909283926044909101919085019080838360008315610ac0578181015183820152602001610aa8565b506112688584612110565b61127184612039565b6112e6576112e6847f00000000000000000000000000000000000000000000000000000000000000006001600160a01b03166370a08231876040518263ffffffff1660e01b815260040180826001600160a01b0316815260200191505060206040518083038186803b158015610fa357600080fd5b610fe0858585856125ed565b7f000000000000000000000000000000000000000000000000000000000000000081565b6060806000806113268543611966565b93509350935093509193509193565b6007546000906001600160a01b0316331461138f576040805162461bcd60e51b815260206004820152601560248201527413db9b1e4818db19585b995c8818dbdb9d1c9858dd605a1b604482015290519081900360640190fd5b6006546001600160a01b0384166000908152600160205260409020610ded918490612860565b60006113c38585858561286d565b90505b949350505050565b6007546000906001600160a01b03163314611428576040805162461bcd60e51b815260206004820152601560248201527413db9b1e4818db19585b995c8818dbdb9d1c9858dd605a1b604482015290519081900360640190fd5b600654821061147e576040805162461bcd60e51b815260206004820152601e60248201527f4e6f20636c65616e757020616674657220636c65616e757020626c6f636b0000604482015290519081900360640190fd5b610ded600484846128e4565b6007546000906001600160a01b031633146114e4576040805162461bcd60e51b815260206004820152601560248201527413db9b1e4818db19585b995c8818dbdb9d1c9858dd605a1b604482015290519081900360640190fd5b600654821061153a576040805162461bcd60e51b815260206004820152601e60248201527f4e6f20636c65616e757020616674657220636c65616e757020626c6f636b0000604482015290519081900360640190fd5b6113c66004858585612951565b60007f0000000000000000000000000000000000000000000000000000000000000000158061157b575061157b8383611ab6565b156109185761091183836129df565b6007546001600160a01b031681565b60006113c6848484612a44565b7f000000000000000000000000000000000000000000000000000000000000000081565b336001600160a01b037f0000000000000000000000000000000000000000000000000000000000000000161461163a576040805162461bcd60e51b815260206004820152601060248201526f37b7363c9037bbb732b9103a37b5b2b760811b604482015290519081900360640190fd5b7f0000000000000000000000000000000000000000000000000000000000000000158061167d575061166c8482611ab6565b801561167d575061167d8382611ab6565b1561168e5761168e84848484612af5565b50505050565b6007546000906001600160a01b031633146116ee576040805162461bcd60e51b815260206004820152601560248201527413db9b1e4818db19585b995c8818dbdb9d1c9858dd605a1b604482015290519081900360640190fd5b6006546001600160a01b03851660009081526002602052604090206113c69185908590612bf0565b6000611720612c17565b905090565b60007f0000000000000000000000000000000000000000000000000000000000000000158061175957506117598383611ab6565b15611768576109118383612c1d565b604080516001600160a01b03851660208083019190915281830185905282518083038401815260609092018352815191810191909120600081815260099092529190205480156117bf576000190191506109bc9050565b60007f00000000000000000000000000000000000000000000000000000000000000006001600160a01b0316634ee2cd7e87876040518363ffffffff1660e01b815260040180836001600160a01b031681526020018281526020019250505060206040518083038186803b15801561183657600080fd5b505afa15801561184a573d6000803e3d6000fd5b505050506040513d602081101561186057600080fd5b5051905061186f816001612d1d565b600093845260096020526040909320929092555090506109bc565b336001600160a01b037f000000000000000000000000000000000000000000000000000000000000000016146118fa576040805162461bcd60e51b815260206004820152601060248201526f37b7363c9037bbb732b9103a37b5b2b760811b604482015290519081900360640190fd5b6001600160a01b038516611922576119128483612110565b61191d848383612d77565b610fe0565b6001600160a01b0384166119455761193a8584612110565b61191d858483612de1565b61194f8584612110565b6119598483612110565b610fe08585858585612ef9565b606080600080600061197787612f0f565b9050600181600281111561198757fe5b14156119a1576119978787612f2d565b9095509350611a0b565b60008160028111156119af57fe5b14156119d4576040805160008082526020820190815281830190925295509350611a0b565b60405162461bcd60e51b81526004018080602001828103825260338152602001806153556033913960400191505060405180910390fd5b84519250806002811115611a1b57fe5b91505092959194509250565b6000611a3282612f0f565b60028111156109bc57fe5b336001600160a01b037f00000000000000000000000000000000000000000000000000000000000000001614611aad576040805162461bcd60e51b815260206004820152601060248201526f37b7363c9037bbb732b9103a37b5b2b760811b604482015290519081900360640190fd5b610cbc8161316a565b60007f0000000000000000000000000000000000000000000000000000000000000000611ae5575060016109bc565b6001600160a01b03831660009081526008602052604090205480158015906113c6575060001901919091111592915050565b600081600654811015611b5b5760405162461bcd60e51b815260040180806020018281038252602a815260200180615237602a913960400191505060405180910390fd5b6113c66003858561318c565b6001600160a01b03811660009081526020819052604081205460ff1681816002811115611b9057fe5b1480610ded575060015b816002811115611ba657fe5b149392505050565b6001600160a01b03811660009081526020819052604081205460ff1681816002811115611bd757fe5b1415611be7576000915050610d7b565b6002816002811115611bf557fe5b1415611c25576001600160a01b0383166000908152600260205260408120611c1c90613199565b11915050610d7b565b6001600160a01b0383166000908152600160205260408120611c1c906131a4565b6001600160a01b03821660009081526020819052604081205460ff1690816002811115611c6f57fe5b1415611c7b5750611de2565b6001816002811115611c8957fe5b14611cc55760405162461bcd60e51b815260040180806020018281038252603c81526020018061518d603c913960400191505060405180910390fd5b6001600160a01b03831660009081526001602052604081209080611ce8836131b0565b9150915060005b8251811015611dc1576000838281518110611d0657fe5b602002602001015190506000611d3c848481518110611d2157fe5b60200260200101516127108a6131c69092919063ffffffff16565b9050611d4b60038a84846132bf565b600654611d5f906003908b90600290612093565b50600654611d74906003908490600290612093565b50816001600160a01b0316896001600160a01b0316600080516020615217833981519152836000604051808381526020018281526020019250505060405180910390a35050600101611cef565b50611dcb83613304565b600654611ddc908490600290612860565b50505050505b5050565b6001600160a01b03811660009081526020819052604081205460ff1681816002811115611e0f57fe5b1480610ded57506002611b9a565b6001600160a01b03821660009081526020819052604081205460ff1681816002811115611e4657fe5b1415611e565760009150506109bc565b6002816002811115611e6457fe5b14611ea05760405162461bcd60e51b81526004018080602001828103825260428152602001806152616042913960600191505060405180910390fd5b6001600160a01b0384166000908152600260205260408120905b8451811015611fa2576000858281518110611ed157fe5b602002602001015190506000611ef0828561330d90919063ffffffff16565b905080611efe575050611f9a565b611f0b60038984846132bf565b600654611f1f906003908a90600290612093565b50600654611f34906003908490600290612093565b50611f418483600061331c565b600654611f549085908490600290612bf0565b50816001600160a01b0316886001600160a01b0316600080516020615217833981519152836000604051808381526020018281526020019250505060405180910390a350505b600101611eba565b50611fac81613199565b95945050505050565b600654811015611ff65760405162461bcd60e51b81526004018080602001828103825260288152602001806151ef6028913960400191505060405180910390fd5b4381106120345760405162461bcd60e51b815260040180806020018281038252602181526020018061516c6021913960400191505060405180910390fd5b600655565b60007f000000000000000000000000000000000000000000000000000000000000000061206857506001610d7b565b506001600160a01b0316600090815260086020526040902054151590565b60006109bc600383613386565b60006113c385858585613392565b6000816006548110156120e55760405162461bcd60e51b815260040180806020018281038252602a815260200180615237602a913960400191505060405180910390fd5b60006120f28686866133cd565b905060008061210187846134ab565b9550505050505b509392505050565b7f000000000000000000000000000000000000000000000000000000000000000061213a57611de2565b6001600160a01b03821661214d57611de2565b6001600160a01b038216600090815260086020526040902054611de25761217382612086565b158015612186575061218482611bae565b155b61218c57fe5b61219882600083612d77565b6121a3436001612d1d565b6001600160a01b0383166000908152600860205260409020555050565b6001600160a01b038316612215576040805162461bcd60e51b815260206004820152601760248201527643616e6e6f742064656c656761746520746f207a65726f60481b604482015290519081900360640190fd5b836001600160a01b0316836001600160a01b03161415612276576040805162461bcd60e51b815260206004820152601760248201527621b0b73737ba103232b632b3b0ba32903a379039b2b63360491b604482015290519081900360640190fd5b61227f84611de6565b6122d0576040805162461bcd60e51b815260206004820152601960248201527f43616e6e6f742064656c656761746520627920616d6f756e7400000000000000604482015290519081900360640190fd5b6001600160a01b0384166000908152600260205260408120906122f3828661330d565b9050808310156123115761230c600387878685036132bf565b6123c1565b60006123278261232189886125e0565b90612d1d565b9050838110156040518060400160405280602081526020017f556e64656c65676174656420766f746520706f77657220746f6f20736d616c6c815250906123af5760405162461bcd60e51b8152602060048201818152835160248401528351909283926044909101919085019080838360008315610ac0578181015183820152602001610aa8565b506123bf600388888588036134d1565b505b6006546123d5906003908890600290612093565b506006546123ea906003908790600290612093565b506123f682868561331c565b6006546124099083908790600290612bf0565b5060026001600160a01b03871660009081526020819052604090205460ff16600281111561243357fe5b1461245c576001600160a01b0386166000908152602081905260409020805460ff191660021790555b846001600160a01b0316866001600160a01b03166000805160206152178339815191528386604051808381526020018281526020019250505060405180910390a3505050505050565b6060816006548110156124e95760405162461bcd60e51b815260040180806020018281038252602a815260200180615237602a913960400191505060405180910390fd5b43831061253d576040805162461bcd60e51b815260206004820181905260248201527f43616e206f6e6c79206265207573656420666f72207061737420626c6f636b73604482015290519081900360640190fd5b83516001600160401b038111801561255457600080fd5b5060405190808252806020026020018201604052801561257e578160200160208202803683370190505b50915060005b84518110156125d8576125b9600386838151811061259e57fe5b602002602001015186600461350e909392919063ffffffff16565b8382815181106125c557fe5b6020908102919091010152600101612584565b505092915050565b6000610ded8383436120a1565b6001600160a01b038316612642576040805162461bcd60e51b815260206004820152601760248201527643616e6e6f742064656c656761746520746f207a65726f60481b604482015290519081900360640190fd5b836001600160a01b0316836001600160a01b031614156126a3576040805162461bcd60e51b815260206004820152601760248201527621b0b73737ba103232b632b3b0ba32903a379039b2b63360491b604482015290519081900360640190fd5b6126ac84611b67565b6126fd576040805162461bcd60e51b815260206004820152601d60248201527f43616e6e6f742064656c65676174652062792070657263656e74616765000000604482015290519081900360640190fd5b6001600160a01b038416600090815260016020526040812090612720828661357d565b9050600080612730848887613589565b600654612741908590600290612860565b5082156127585761275586846127106131c6565b91505b841561276e5761276b86866127106131c6565b90505b8181101561278a57612785600389898486036132bf565b612799565b612799600389898585036134d1565b6006546127ad906003908a90600290612093565b506006546127c2906003908990600290612093565b5060016001600160a01b03891660009081526020819052604090205460ff1660028111156127ec57fe5b14612815576001600160a01b0388166000908152602081905260409020805460ff191660011790555b866001600160a01b0316886001600160a01b03166000805160206152178339815191528484604051808381526020018281526020019250505060405180910390a35050505050505050565b60006113c6848484613630565b6000816006548110156128b15760405162461bcd60e51b815260040180806020018281038252602a815260200180615237602a913960400191505060405180910390fd5b6128be600487878661376e565b156128cc57600091506128db565b6128d8868686866137c2565b91505b50949350505050565b604080516001600160a01b03841660208083019190915281830184905282518083038401815260609092018352815191810191909120600081815291869052918120549091901561294657600090815260208590526040812055506001610ded565b506000949350505050565b604080516001600160a01b038086166020808401919091528284018590528351808403850181526060909301845282519281019290922060008181526001890184528481209287168152928290529282205491929180156129d157506001600160a01b0385166000908152602091909152604081205550600190506113c6565b506000979650505050505050565b600081600654811015612a235760405162461bcd60e51b815260040180806020018281038252602a815260200180615237602a913960400191505060405180910390fd5b43831015612a3957610c3060046003868661350e565b610c30600385613386565b6001600160a01b03831660009081526020819052604081205460ff1681816002811115612a6d57fe5b1415612a7d576000915050610ded565b6001816002811115612a8b57fe5b1415612acb576001600160a01b0385166000908152600160205260408120612ab3908661357d565b9050612ac284826127106131c6565b92505050610ded565b6001600160a01b0385166000908152600260205260409020612aed908561330d565b915050610ded565b80600654811015612b375760405162461bcd60e51b815260040180806020018281038252602a815260200180615237602a913960400191505060405180910390fd5b438210612b755760405162461bcd60e51b815260040180806020018281038252603b8152602001806152ea603b913960400191505060405180910390fd5b6000612b83868686866137c2565b9050612b956004600388888588613875565b846001600160a01b0316866001600160a01b03167fd6f80c7d68e3e62bd7a51c3d37e575c1cfbc311c07487b69ef4eb570bc21cb688386604051808381526020018281526020019250505060405180910390a3505050505050565b6000612bfd8584846139e8565b9050612c0e60028601858585613392565b01949350505050565b60065490565b600081600654811015612c615760405162461bcd60e51b815260040180806020018281038252602a815260200180615237602a913960400191505060405180910390fd5b438310612cb5576040805162461bcd60e51b815260206004820181905260248201527f43616e206f6e6c79206265207573656420666f72207061737420626c6f636b73604482015290519081900360640190fd5b600080612cc6600460038888613a89565b9150915080156128db57604080516001600160a01b03881681526020810187905281517fb0b412112c2958bbc2537fa96db51ddcfe7d0d074143f0b5308b6aab19b6694b929181900390910190a150949350505050565b600082820183811015610ded576040805162461bcd60e51b815260206004820152601b60248201527f536166654d6174683a206164646974696f6e206f766572666c6f770000000000604482015290519081900360640190fd5b60016001600160a01b03841660009081526020819052604090205460ff166002811115612da057fe5b1415612dbf57612dba8383612db58185612d1d565b613b13565b610b14565b612dcd600384836000613c53565b60065461168e906003908590600290612093565b6000612e08826040518060600160405280602681526020016151c960269139859190613c9f565b905060016001600160a01b03851660009081526020819052604090205460ff166002811115612e3357fe5b1415612e4957612e44848483613b13565b61168e565b612e54848484613cf9565b6040518060400160405280602081526020017f556e64656c65676174656420766f746520706f77657220746f6f20736d616c6c81525090612ed65760405162461bcd60e51b8152602060048201818152835160248401528351909283926044909101919085019080838360008315610ac0578181015183820152602001610aa8565b50612ee5600385600085613c53565b600654610fe0906003908690600290612093565b612f04858483612de1565b610fe0848383612d77565b6001600160a01b031660009081526020819052604090205460ff1690565b60608082600654811015612f725760405162461bcd60e51b815260040180806020018281038252602a815260200180615237602a913960400191505060405180910390fd5b6001600160a01b0385166000908152600160205260409020606080612f978388613d46565b909250905060005b8251811015612ffb57612fd389848381518110612fb857fe5b60200260200101518a600461376e909392919063ffffffff16565b15612ff3576000828281518110612fe657fe5b6020026020010181815250505b600101612f9f565b506000805b83518110156130335782818151811061301557fe5b602002602001015160001461302b576001909101905b600101613000565b50806001600160401b038111801561304a57600080fd5b50604051908082528060200260200182016040528015613074578160200160208202803683370190505b509650806001600160401b038111801561308d57600080fd5b506040519080825280602002602001820160405280156130b7578160200160208202803683370190505b5095506000805b845181101561315c578381815181106130d357fe5b6020026020010151600014613154578481815181106130ee57fe5b602002602001015189838151811061310257fe5b60200260200101906001600160a01b031690816001600160a01b03168152505083818151811061312e57fe5b602002602001015188838151811061314257fe5b60209081029190910101526001909101905b6001016130be565b505050505050509250929050565b600780546001600160a01b0319166001600160a01b0392909216919091179055565b60006113c6848484613d5e565b60006109bc82613d80565b60006109bc8243613dc8565b6060806131bc83613e16565b915091505b915091565b600080821161320f576040805162461bcd60e51b815260206004820152601060248201526f4469766973696f6e206279207a65726f60801b604482015290519081900360640190fd5b8361321c57506000610ded565b8383028385828161322957fe5b0414156132425782818161323957fe5b04915050610ded565b600083868161324d57fe5b049050600084878161325b57fe5b069050600085878161326957fe5b049050600086888161327757fe5b0690506121016132918861328b8685613e23565b90613e7c565b61232161329e8686613e23565b6123216132ab8987613e23565b6123218d6132b98c8b613e23565b90613e23565b82826001600160a01b0382161580156132df57506001600160a01b038116155b156132e657fe5b826132f0576132fc565b6132fc86858786613ee3565b505050505050565b610cbc81613f6c565b6000610ded6002840183614092565b600061332b6002850184614092565b9050600061336c8361232184604051806040016040528060098152602001680546f74616c203c20360bc1b8152506133658a600001613d80565b9190613c9f565b905061337c6002860185856140b3565b610fe085826140d1565b6000610ded8383614092565b60006001600160a01b03841615612946576001600160a01b03841660009081526020869052604090206133c69084846139e8565b90506113c6565b6000816006548110156134115760405162461bcd60e51b815260040180806020018281038252602a815260200180615237602a913960400191505060405180910390fd5b6001600160a01b03851660009081526020819052604081205460ff169081600281111561343a57fe5b141561344a576000925050612108565b600281600281111561345857fe5b1415613488576001600160a01b03861660009081526002602052604090206134809085614292565b925050612108565b6001600160a01b038616600090815260016020526040902061348090868661429e565b600080838311156134c1575060009050806134ca565b50600190508183035b9250929050565b82826001600160a01b0382161580156134f157506001600160a01b038116155b156134f857fe5b82613502576132fc565b6132fc86868686613ee3565b604080516001600160a01b03841660208083019190915281830184905282518083038401815260609092018352815191810191909120600081815291879052918120549091908015613567576000190191506113c69050565b61357286868661318c565b979650505050505050565b6000610ded83836142ae565b61271081111561359557fe5b6135a08383836142f2565b6127106135ac84614516565b11156040518060400160405280601c81526020017f4d61782064656c65676174696f6e2062697073206578636565646564000000008152509061168e5760405162461bcd60e51b8152602060048201818152835160248401528351909283926044909101919085019080838360008315610ac0578181015183820152602001610aa8565b60008161363f57506000610ded565b6001840154600160401b90046001600160401b031680613663576000915050610ded565b60018501546001600160401b031660006136896136808388612d1d565b60018503614522565b9050815b81811080156136c7575060018101600090815260208981526040808320838052909152902054600160b01b90046001600160401b03168610155b1561372b57600081815260208981526040808320838052918290528220549091600160f01b90910460ff16905b8181101561372057600081815260208490526040902080546001600160f81b03191690556001016136f4565b50505060010161368d565b828111156137605761373c81614538565b60018901805467ffffffffffffffff19166001600160401b03929092169190911790555b919091039695505050505050565b604080516001600160a01b0394851660208083019190915281830193909352815180820383018152606090910182528051908301206000908152600195909501825280852092909316845252902054151590565b6001600160a01b03841660009081526020819052604081205460ff16818160028111156137eb57fe5b14156137fb5760009150506113c6565b600181600281111561380957fe5b141561384a576001600160a01b0386166000908152600160205260408120613832908786614580565b905061384185826127106131c6565b925050506113c6565b6001600160a01b038616600090815260026020526040902061386d90868561458d565b9150506113c6565b8161387f576132fc565b604080516001600160a01b0380871660208084019190915282840185905283518084038501815260609093018452825192810192909220600081815260018b018452848120928816815291909252919091205415613916576040805162461bcd60e51b815260206004820152600f60248201526e105b1c9958591e481c995d9bdad959608a1b604482015290519081900360640190fd5b600061392488888786613a89565b5090506000858460405160200180836001600160a01b03168152602001828152602001925050506040516020818303038152906040528051906020012090506139b789826139b2886040518060400160405280601781526020017f5265766f6b65642076616c756520746f6f206c6172676500000000000000000081525087613c9f9092919063ffffffff16565b61459d565b5050600090815260018701602090815260408083206001600160a01b03871684529091529020829055505050505050565b6000816139f757506000610ded565b6001840154600160401b90046001600160401b031680613a1b576000915050610ded565b60018501546001600160401b03166000613a386136808388612d1d565b9050815b8181108015613a6d575060018101600090815260208990526040902054600160c01b90046001600160401b03168610155b1561372b57600081815260208990526040812055600101613a3c565b604080516001600160a01b0384166020808301919091528183018490528251808303840181526060909201835281519181019190912060008181529187905291812054909182918015613ae75760001901925060009150613b0a9050565b6000613af488888861318c565b9050613b0189848361459d565b93506001925050505b94509492505050565b6001600160a01b0383166000908152600160205260408120908290849080613b3a856145bb565b9150915060005b82811015613c1e576000818152602083905260408120805490916001600160a01b03821691600160a01b900461ffff1690613b7f8c836127106131c6565b90506000613b908c846127106131c6565b9050613b9c8a83612d1d565b9950613ba88982612d1d565b9850613bb76003858385613c53565b600654613bcb906003908690600290612093565b50836001600160a01b03168e6001600160a01b03166000805160206152178339815191528484604051808381526020018281526020019250505060405180910390a3505060019093019250613b41915050565b50828414613c4957613c336003898686613c53565b600654613c47906003908a90600290612093565b505b5050505050505050565b6001600160a01b038316613c6357fe5b80821415613c705761168e565b6000613c7c8585614092565b9050613c9282613c8c8386612d1d565b906145c7565b9050610fe08585836140b3565b60008184841115613cf15760405162461bcd60e51b8152602060048201818152835160248401528351909283926044909101919085019080838360008315610ac0578181015183820152602001610aa8565b505050900390565b600060026001600160a01b03851660009081526020819052604090205460ff166002811115613d2457fe5b1415613d3e5781613d3585856125e0565b10159050610ded565b506001610ded565b606080613d538484614624565b915091509250929050565b6001600160a01b0382166000908152602084905260408120611fac8184614793565b6001810154600090600160401b90046001600160401b031680613da7576000915050610d7b565b6000190160009081526020929092525060409020546001600160c01b031690565b6000806000613dd785856148d6565b9150915081613deb576000925050506109bc565b6000908152602094855260408082208280529095529390932054600160f01b900460ff169392505050565b6060806131bc8343614624565b600082613e32575060006109bc565b82820282848281613e3f57fe5b0414610ded5760405162461bcd60e51b81526004018080602001828103825260218152602001806152a36021913960400191505060405180910390fd5b6000808211613ed2576040805162461bcd60e51b815260206004820152601a60248201527f536166654d6174683a206469766973696f6e206279207a65726f000000000000604482015290519081900360640190fd5b818381613edb57fe5b049392505050565b80613eed5761168e565b6001600160a01b038316158015613f0b57506001600160a01b038216155b15613f1257fe5b6001600160a01b03831615613f40576000613f3182613c8c8787614092565b9050613f3e8585836140b3565b505b6001600160a01b0382161561168e576000613f5f826123218786614092565b9050610fe08584836140b3565b6001810154600160401b90046001600160401b03168015611de2576000818152602083905260409020613fa160018301614538565b6001840180546001600160401b0392909216600160401b0267ffffffffffffffff60401b199092169190911790556040805160808101825260008082526020820152908101613fef43614538565b6001600160401b039081168252600060209283018190528080529382526040938490208351815493850151958501516060909501516001600160a01b03199094166001600160a01b039091161761ffff60a01b1916600160a01b61ffff909616959095029490941767ffffffffffffffff60b01b1916600160b01b93909116929092029190911760ff60f01b1916600160f01b60ff909216919091021790555050565b6001600160a01b03811660009081526020839052604081206113c681613d80565b6001600160a01b038216600090815260208490526040902061168e81835b6001820154600160401b90046001600160401b0316806141885760405180604001604052806140ff846149d5565b6001600160c01b0316815260200161411643614538565b6001600160401b03908116909152600080805260208681526040909120835181549490920151909216600160c01b026001600160c01b039182166001600160c01b0319909416939093171691909117905560018301805467ffffffffffffffff60401b1916600160401b179055610b14565b600019810160009081526020849052604090208054600160c01b90046001600160401b0316438114156141de576141be846149d5565b82546001600160c01b0319166001600160c01b0391909116178255610fe0565b8043116141e757fe5b60405180604001604052806141fb866149d5565b6001600160c01b0316815260200161421243614538565b6001600160401b039081169091526000858152602088815260409091208351815494909201518316600160c01b026001600160c01b039283166001600160c01b0319909516949094179091169290921790915560018087018054918601909216600160401b0267ffffffffffffffff60401b199091161790555050505050565b6000610ded8383614793565b60006113c6848461271085614a2f565b6001820154600090600160401b90046001600160401b0316806142d55760009150506109bc565b600019810160009081526020859052604090206113c69084614aca565b6001830154600160401b90046001600160401b03168061442d578115612e4457600081815260208590526040902061432c60018301614538565b8560010160086101000a8154816001600160401b0302191690836001600160401b031602179055506040518060800160405280856001600160a01b0316815260200161437785614b2f565b61ffff16815260200161438943614538565b6001600160401b039081168252600160209283015260008080529382526040938490208351815493850151958501516060909501516001600160a01b03199094166001600160a01b039091161761ffff60a01b1916600160a01b61ffff909616959095029490941767ffffffffffffffff60b01b1916600160b01b93909116929092029190911760ff60f01b1916600160f01b60ff9092169190910217905561168e565b60001981016000908152602085815260408083208380529182905290912054600160b01b90046001600160401b0316438114156144745761446f828686614b72565b6132fc565b80431161447d57fe5b600083815260208790526040902061449760018501614538565b8760010160086101000a8154816001600160401b0302191690836001600160401b031602179055506144cb81848888614c87565b6144d443614538565b6000808052602092909252604090912080546001600160401b0392909216600160b01b0267ffffffffffffffff60b01b19909216919091179055505050505050565b60006109bc8243614d9d565b60008183106145315781610ded565b5090919050565b6000600160401b821061457c5760405162461bcd60e51b81526004018080602001828103825260268152602001806152c46026913960400191505060405180910390fd5b5090565b60006113c6848484614e2b565b60006113c6600285018484613d5e565b6145a8816001612d1d565b6000928352602093909352506040902055565b6000806131bc83614e70565b60008282111561461e576040805162461bcd60e51b815260206004820152601e60248201527f536166654d6174683a207375627472616374696f6e206f766572666c6f770000604482015290519081900360640190fd5b50900390565b60608060008061463486866148d6565b915091508161465e57505060408051600080825260208201908152818301909252925090506134ca565b6000818152602087815260408083208380529182905290912054600160f01b900460ff16806001600160401b038111801561469857600080fd5b506040519080825280602002602001820160405280156146c2578160200160208202803683370190505b509550806001600160401b03811180156146db57600080fd5b50604051908082528060200260200182016040528015614705578160200160208202803683370190505b50945060005b81811015614787576000818152602084905260409020805488516001600160a01b039091169089908490811061473d57fe5b6001600160a01b03929092166020928302919091019091015280548751600160a01b90910461ffff169088908490811061477357fe5b60209081029190910101525060010161470b565b50505050509250929050565b6001820154600090600160401b90046001600160401b0316806147ba5760009150506109bc565b43831015806147ec57506000198101600090815260208590526040902054600160c01b90046001600160401b03168310155b1561481457600019016000908152602084905260409020546001600160c01b031690506109bc565b60018401546001600160401b039081166000818152602087905260409020549091600160c01b9091041684101561488d5780156148825760405162461bcd60e51b81526004018080602001828103825260308152602001806153256030913960400191505060405180910390fd5b6000925050506109bc565b60018501546000906148b39087908490600160401b90046001600160401b031688614ed4565b6000908152602087905260409020546001600160c01b0316935050505092915050565b600182015460009081906001600160401b0380821691600160401b9004168061490257600093506149cc565b6000198101600090815260208781526040808320838052909152902054600160b01b90046001600160401b0316851061494457600193506001810392506149cc565b600082815260208781526040808320838052909152902054600160b01b90046001600160401b03168510156149b95781156149b05760405162461bcd60e51b81526004018080602001828103825260308152602001806151166030913960400191505060405180910390fd5b600093506149cc565b600193506149c986838388614f52565b92505b50509250929050565b6000600160c01b821061457c576040805162461bcd60e51b815260206004820152601d60248201527f76616c756520646f65736e27742066697420696e203139322062697473000000604482015290519081900360640190fd5b6000806000614a3e87856148d6565b9150915081614a52576000925050506113c6565b6000818152602088815260408083208380529182905282205491945090600160f01b900460ff16845b81811015614abd57600081815260208490526040902054614ab390614aac90600160a01b900461ffff168b8b6131c6565b8790612d1d565b9550600101614a7b565b5050505050949350505050565b600080805260208390526040812054600160f01b900460ff16815b8181101561294657600081815260208690526040902080546001600160a01b0386811691161415614b265754600160a01b900461ffff1692506109bc915050565b50600101614ae5565b600062010000821061457c5760405162461bcd60e51b81526004018080602001828103825260268152602001806151466026913960400191505060405180910390fd5b600080805260208490526040812054600160f01b900460ff16905b8181108015614bb657506000818152602086905260409020546001600160a01b03858116911614155b15614bc357600101614b8d565b81811015614c47578215614c0c57614bda83614b2f565b6000828152602087905260409020805461ffff92909216600160a01b0261ffff60a01b1990921691909117905561191d565b614c1a858260018503614fcf565b6000808052602086905260409020805460ff60f01b1916600160f01b600019850160ff1602179055610fe0565b6000614c558686868661503a565b6000808052602088905260409020805460ff909216600160f01b0260ff60f01b19909216919091179055505050505050565b600080805260208490526040812054600160f01b900460ff169080805b83811015614d545760008181526020888152604091829020825160808101845290546001600160a01b03808216808452600160a01b830461ffff1694840194909452600160b01b82046001600160401b031694830194909452600160f01b900460ff1660608201529188161415614d3057614d25898260000151888661503a565b925060019350614d4b565b614d48898260000151836020015161ffff168661503a565b92505b50600101614ca4565b5081614d6957614d668786868461503a565b90505b60008080526020979097526040909620805460ff909716600160f01b0260ff60f01b19909716969096179095555050505050565b6000806000614dac85856148d6565b9150915081614dc0576000925050506109bc565b6000818152602086815260408083208380529182905282205491945090600160f01b900460ff16845b81811015614e2057600081815260208490526040902054614e16908790600160a01b900461ffff16612d1d565b9550600101614de9565b505050505092915050565b6000806000614e3a86856148d6565b9150915081614e4e57600092505050610ded565b6000818152602087905260409020614e669086614aca565b9695505050505050565b60018101546000908190600160401b90046001600160401b031680614ea757505060008080526020839052604081209091506131c1565b6000190160009081526020938452604080822082805294859052902054600160f01b900460ff1693915050565b60008381614ee38560016145c7565b90505b81811115614f48576000614f04600261328b60016123218688612d1d565b600081815260208a90526040902054909150600160c01b90046001600160401b03168510614f3457809250614f42565b614f3f8160016145c7565b91505b50614ee6565b5095945050505050565b60008381614f618560016145c7565b90505b81811115614f48576000614f82600261328b60016123218688612d1d565b600081815260208a81526040808320838052909152902054909150600160b01b90046001600160401b03168510614fbb57809250614fc9565b614fc68160016145c7565b91505b50614f64565b60008281526020849052604080822083835291208284101561502657805482546001600160a01b0319166001600160a01b0390911617808355815461ffff600160a01b91829004160261ffff60a01b199091161782555b80546001600160b01b031916905550505050565b600082156121085760408051808201909152601681527513585e0819195b1959d85d195cc8195e18d95959195960521b6020820152600283106150be5760405162461bcd60e51b8152602060048201818152835160248401528351909283926044909101919085019080838360008315610ac0578181015183820152602001610aa8565b50600082815260208690526040902080546001600160a01b0319166001600160a01b0386161781556150ef84614b2f565b815461ffff91909116600160a01b0261ffff60a01b1990911617905550600181016113c656fe44656c65676174696f6e486973746f72793a2072656164696e672066726f6d20636c65616e65642d757020626c6f636b53616665436173743a2076616c756520646f65736e27742066697420696e2031362062697473436c65616e757020626c6f636b206d75737420626520696e207468652070617374756e64656c6567617465416c6c2063616e206f6e6c79206265207573656420696e2070657263656e746167652064656c65676174696f6e206d6f646545524332303a207472616e7366657220616d6f756e7420657863656564732062616c616e6365436c65616e757020626c6f636b206e756d626572206d757374206e65766572206465637265617365500599802164a08023e87ffc3eed0ba3ae60697b3083ba81d046683679d81c6b44656c6567617461626c653a2072656164696e672066726f6d20636c65616e65642d757020626c6f636b756e64656c6567617465416c6c4578706c696369742063616e206f6e6c79206265207573656420696e206578706c696369742064656c65676174696f6e206d6f6465536166654d6174683a206d756c7469706c69636174696f6e206f766572666c6f7753616665436173743a2076616c756520646f65736e27742066697420696e20363420626974735265766f6b65206973206f6e6c7920666f722074686520706173742c2075736520756e64656c656761746520666f72207468652070726573656e74436865636b506f696e74486973746f72793a2072656164696e672066726f6d20636c65616e65642d757020626c6f636b64656c6567617465734f6620646f6573206e6f7420776f726b20696e20414d4f554e542064656c65676174696f6e206d6f6465a2646970667358221220c8ca4484b1553ff3b53cdcd96fd094587dd067b5bbac6827afecc0dc7c43004364736f6c634300070600335650436f6e7472616374206d7573742062656c6f6e6720746f2061205650546f6b656e",
|
|
795
|
+
"deployedBytecode": "0x608060405234801561001057600080fd5b50600436106101cf5760003560e01c8063833aca9211610104578063c7c62fab116100a2578063eadb436211610071578063eadb436214610814578063ed475a7914610856578063f683776714610882578063f6a494af146108a8576101cf565b8063c7c62fab1461076e578063cabc4528146107aa578063deea13e7146107e0578063e587497e146107e8576101cf565b806392bfe6d8116100de57806392bfe6d8146106e85780639ca20e4e146107145780639dc6b9f21461071c578063aa94d3f214610752576101cf565b8063833aca921461064a578063891339a8146106865780638c0b6b40146106b2576101cf565b8063404d9e82116101715780636230001a1161014b5780636230001a146104f1578063653718831461052d5780637de5b8ed146105515780637f57d58f1461061e576101cf565b8063404d9e821461039457806349e3c7e5146103d05780634a03d556146104c5576101cf565b806313de97f5116101ad57806313de97f5146102f3578063142d1018146103105780631a05274c146103365780633150392714610362576101cf565b806304bb4e43146101d457806305109ecf146102125780630f8b8af714610240575b600080fd5b610200600480360360408110156101ea57600080fd5b506001600160a01b0381351690602001356108ce565b60408051918252519081900360200190f35b61023e6004803603604081101561022857600080fd5b506001600160a01b0381351690602001356109c2565b005b6102006004803603604081101561025657600080fd5b6001600160a01b03823516919081019060408101602082013564010000000081111561028157600080fd5b82018360208201111561029357600080fd5b803590602001918460208302840111640100000000831117156102b557600080fd5b919080806020026020016040519081016040528093929190818152602001838360200280828437600092019190915250929550610b19945050505050565b61023e6004803603602081101561030957600080fd5b5035610c43565b6102006004803603602081101561032657600080fd5b50356001600160a01b0316610cbf565b6102006004803603604081101561034c57600080fd5b506001600160a01b038135169060200135610d80565b6102006004803603606081101561037857600080fd5b506001600160a01b038135169060208101359060400135610df4565b61023e600480360360808110156103aa57600080fd5b506001600160a01b03813581169160208101359091169060408101359060600135610e1e565b610475600480360360408110156103e657600080fd5b81019060208101813564010000000081111561040157600080fd5b82018360208201111561041357600080fd5b8035906020019184602083028401116401000000008311171561043557600080fd5b9190808060200260200160405190810160405280939291908181526020018383602002808284376000920191909152509295505091359250610fe7915050565b60408051602080825283518183015283519192839290830191858101910280838360005b838110156104b1578181015183820152602001610499565b505050509050019250505060405180910390f35b610200600480360360408110156104db57600080fd5b506001600160a01b038135169060200135611140565b61023e6004803603608081101561050757600080fd5b506001600160a01b03813581169160208101359091169060408101359060600135611161565b6105356112f2565b604080516001600160a01b039092168252519081900360200190f35b6105776004803603602081101561056757600080fd5b50356001600160a01b0316611316565b604051808060200180602001858152602001848152602001838103835287818151815260200191508051906020019060200280838360005b838110156105c75781810151838201526020016105af565b50505050905001838103825286818151815260200191508051906020019060200280838360005b838110156106065781810151838201526020016105ee565b50505050905001965050505050505060405180910390f35b6102006004803603604081101561063457600080fd5b506001600160a01b038135169060200135611335565b6102006004803603608081101561066057600080fd5b506001600160a01b038135811691602081013590911690604081013590606001356113b5565b6102006004803603604081101561069c57600080fd5b506001600160a01b0381351690602001356113ce565b610200600480360360608110156106c857600080fd5b506001600160a01b0381358116916020810135909116906040013561148a565b610200600480360360408110156106fe57600080fd5b506001600160a01b038135169060200135611547565b61053561158a565b6102006004803603606081101561073257600080fd5b506001600160a01b03813581169160208101359091169060400135611599565b61075a6115a6565b604080519115158252519081900360200190f35b61023e6004803603608081101561078457600080fd5b506001600160a01b038135811691602081013590911690604081013590606001356115ca565b610200600480360360608110156107c057600080fd5b506001600160a01b03813581169160208101359091169060400135611694565b610200611716565b610200600480360360408110156107fe57600080fd5b506001600160a01b038135169060200135611725565b61023e600480360360a081101561082a57600080fd5b506001600160a01b0381358116916020810135909116906040810135906060810135906080013561188a565b6105776004803603604081101561086c57600080fd5b506001600160a01b038135169060200135611966565b6102006004803603602081101561089857600080fd5b50356001600160a01b0316611a27565b61023e600480360360208110156108be57600080fd5b50356001600160a01b0316611a3d565b60007f0000000000000000000000000000000000000000000000000000000000000000158061090257506109028383611ab6565b15610918576109118383611b17565b90506109bc565b7f00000000000000000000000000000000000000000000000000000000000000006001600160a01b0316634ee2cd7e84846040518363ffffffff1660e01b815260040180836001600160a01b031681526020018281526020019250505060206040518083038186803b15801561098d57600080fd5b505afa1580156109a1573d6000803e3d6000fd5b505050506040513d60208110156109b757600080fd5b505190505b92915050565b336001600160a01b037f00000000000000000000000000000000000000000000000000000000000000001614610a32576040805162461bcd60e51b815260206004820152601060248201526f37b7363c9037bbb732b9103a37b5b2b760811b604482015290519081900360640190fd5b81610a3c81611b67565b6040518060400160405280601c81526020017f416c72656164792064656c656761746564206578706c696369746c790000000081525090610afb5760405162461bcd60e51b81526004018080602001828103825283818151815260200191508051906020019080838360005b83811015610ac0578181015183820152602001610aa8565b50505050905090810190601f168015610aed5780820380516001836020036101000a031916815260200191505b509250505060405180910390fd5b50610b0583611bae565b15610b1457610b148383611c46565b505050565b6000336001600160a01b037f00000000000000000000000000000000000000000000000000000000000000001614610b8b576040805162461bcd60e51b815260206004820152601060248201526f37b7363c9037bbb732b9103a37b5b2b760811b604482015290519081900360640190fd5b82610b9581611de6565b6040518060400160405280601f81526020017f416c72656164792064656c6567617465642062792070657263656e746167650081525090610c175760405162461bcd60e51b8152602060048201818152835160248401528351909283926044909101919085019080838360008315610ac0578181015183820152602001610aa8565b50610c2184611bae565b15610c3757610c308484611e1d565b9150610c3c565b600091505b5092915050565b336001600160a01b037f00000000000000000000000000000000000000000000000000000000000000001614610cb3576040805162461bcd60e51b815260206004820152601060248201526f37b7363c9037bbb732b9103a37b5b2b760811b604482015290519081900360640190fd5b610cbc81611fb5565b50565b6000610cca82612039565b15610cdf57610cd882612086565b9050610d7b565b7f00000000000000000000000000000000000000000000000000000000000000006001600160a01b03166370a08231836040518263ffffffff1660e01b815260040180826001600160a01b0316815260200191505060206040518083038186803b158015610d4c57600080fd5b505afa158015610d60573d6000803e3d6000fd5b505050506040513d6020811015610d7657600080fd5b505190505b919050565b6007546000906001600160a01b03163314610dda576040805162461bcd60e51b815260206004820152601560248201527413db9b1e4818db19585b995c8818dbdb9d1c9858dd605a1b604482015290519081900360640190fd5b600654610ded9060039085908590612093565b9392505050565b6000610dff84612039565b15610e1657610e0f8484846120a1565b9050610ded565b509092915050565b336001600160a01b037f00000000000000000000000000000000000000000000000000000000000000001614610e8e576040805162461bcd60e51b815260206004820152601060248201526f37b7363c9037bbb732b9103a37b5b2b760811b604482015290519081900360640190fd5b83610e9881611de6565b6040518060400160405280601f81526020017f416c72656164792064656c6567617465642062792070657263656e746167650081525090610f1a5760405162461bcd60e51b8152602060048201818152835160248401528351909283926044909101919085019080838360008315610ac0578181015183820152602001610aa8565b50610f258584612110565b610f2e84612039565b610fd457610fd4847f00000000000000000000000000000000000000000000000000000000000000006001600160a01b03166370a08231876040518263ffffffff1660e01b815260040180826001600160a01b0316815260200191505060206040518083038186803b158015610fa357600080fd5b505afa158015610fb7573d6000803e3d6000fd5b505050506040513d6020811015610fcd57600080fd5b5051612110565b610fe0858585856121c0565b5050505050565b6060610ff383836124a5565b90507f0000000000000000000000000000000000000000000000000000000000000000156109bc5760005b8151811015610c3c5781818151811061103357fe5b60200260200101516000148015611064575061106284828151811061105457fe5b602002602001015184611ab6565b155b15611138577f00000000000000000000000000000000000000000000000000000000000000006001600160a01b0316634ee2cd7e8583815181106110a457fe5b6020026020010151856040518363ffffffff1660e01b815260040180836001600160a01b031681526020018281526020019250505060206040518083038186803b1580156110f157600080fd5b505afa158015611105573d6000803e3d6000fd5b505050506040513d602081101561111b57600080fd5b5051825183908390811061112b57fe5b6020026020010181815250505b60010161101e565b600061114b83612039565b1561115a5761091183836125e0565b50806109bc565b336001600160a01b037f000000000000000000000000000000000000000000000000000000000000000016146111d1576040805162461bcd60e51b815260206004820152601060248201526f37b7363c9037bbb732b9103a37b5b2b760811b604482015290519081900360640190fd5b836111db81611b67565b6040518060400160405280601c81526020017f416c72656164792064656c656761746564206578706c696369746c79000000008152509061125d5760405162461bcd60e51b8152602060048201818152835160248401528351909283926044909101919085019080838360008315610ac0578181015183820152602001610aa8565b506112688584612110565b61127184612039565b6112e6576112e6847f00000000000000000000000000000000000000000000000000000000000000006001600160a01b03166370a08231876040518263ffffffff1660e01b815260040180826001600160a01b0316815260200191505060206040518083038186803b158015610fa357600080fd5b610fe0858585856125ed565b7f000000000000000000000000000000000000000000000000000000000000000081565b6060806000806113268543611966565b93509350935093509193509193565b6007546000906001600160a01b0316331461138f576040805162461bcd60e51b815260206004820152601560248201527413db9b1e4818db19585b995c8818dbdb9d1c9858dd605a1b604482015290519081900360640190fd5b6006546001600160a01b0384166000908152600160205260409020610ded918490612860565b60006113c38585858561286d565b90505b949350505050565b6007546000906001600160a01b03163314611428576040805162461bcd60e51b815260206004820152601560248201527413db9b1e4818db19585b995c8818dbdb9d1c9858dd605a1b604482015290519081900360640190fd5b600654821061147e576040805162461bcd60e51b815260206004820152601e60248201527f4e6f20636c65616e757020616674657220636c65616e757020626c6f636b0000604482015290519081900360640190fd5b610ded600484846128e4565b6007546000906001600160a01b031633146114e4576040805162461bcd60e51b815260206004820152601560248201527413db9b1e4818db19585b995c8818dbdb9d1c9858dd605a1b604482015290519081900360640190fd5b600654821061153a576040805162461bcd60e51b815260206004820152601e60248201527f4e6f20636c65616e757020616674657220636c65616e757020626c6f636b0000604482015290519081900360640190fd5b6113c66004858585612951565b60007f0000000000000000000000000000000000000000000000000000000000000000158061157b575061157b8383611ab6565b156109185761091183836129df565b6007546001600160a01b031681565b60006113c6848484612a44565b7f000000000000000000000000000000000000000000000000000000000000000081565b336001600160a01b037f0000000000000000000000000000000000000000000000000000000000000000161461163a576040805162461bcd60e51b815260206004820152601060248201526f37b7363c9037bbb732b9103a37b5b2b760811b604482015290519081900360640190fd5b7f0000000000000000000000000000000000000000000000000000000000000000158061167d575061166c8482611ab6565b801561167d575061167d8382611ab6565b1561168e5761168e84848484612af5565b50505050565b6007546000906001600160a01b031633146116ee576040805162461bcd60e51b815260206004820152601560248201527413db9b1e4818db19585b995c8818dbdb9d1c9858dd605a1b604482015290519081900360640190fd5b6006546001600160a01b03851660009081526002602052604090206113c69185908590612bf0565b6000611720612c17565b905090565b60007f0000000000000000000000000000000000000000000000000000000000000000158061175957506117598383611ab6565b15611768576109118383612c1d565b604080516001600160a01b03851660208083019190915281830185905282518083038401815260609092018352815191810191909120600081815260099092529190205480156117bf576000190191506109bc9050565b60007f00000000000000000000000000000000000000000000000000000000000000006001600160a01b0316634ee2cd7e87876040518363ffffffff1660e01b815260040180836001600160a01b031681526020018281526020019250505060206040518083038186803b15801561183657600080fd5b505afa15801561184a573d6000803e3d6000fd5b505050506040513d602081101561186057600080fd5b5051905061186f816001612d1d565b600093845260096020526040909320929092555090506109bc565b336001600160a01b037f000000000000000000000000000000000000000000000000000000000000000016146118fa576040805162461bcd60e51b815260206004820152601060248201526f37b7363c9037bbb732b9103a37b5b2b760811b604482015290519081900360640190fd5b6001600160a01b038516611922576119128483612110565b61191d848383612d77565b610fe0565b6001600160a01b0384166119455761193a8584612110565b61191d858483612de1565b61194f8584612110565b6119598483612110565b610fe08585858585612ef9565b606080600080600061197787612f0f565b9050600181600281111561198757fe5b14156119a1576119978787612f2d565b9095509350611a0b565b60008160028111156119af57fe5b14156119d4576040805160008082526020820190815281830190925295509350611a0b565b60405162461bcd60e51b81526004018080602001828103825260338152602001806153556033913960400191505060405180910390fd5b84519250806002811115611a1b57fe5b91505092959194509250565b6000611a3282612f0f565b60028111156109bc57fe5b336001600160a01b037f00000000000000000000000000000000000000000000000000000000000000001614611aad576040805162461bcd60e51b815260206004820152601060248201526f37b7363c9037bbb732b9103a37b5b2b760811b604482015290519081900360640190fd5b610cbc8161316a565b60007f0000000000000000000000000000000000000000000000000000000000000000611ae5575060016109bc565b6001600160a01b03831660009081526008602052604090205480158015906113c6575060001901919091111592915050565b600081600654811015611b5b5760405162461bcd60e51b815260040180806020018281038252602a815260200180615237602a913960400191505060405180910390fd5b6113c66003858561318c565b6001600160a01b03811660009081526020819052604081205460ff1681816002811115611b9057fe5b1480610ded575060015b816002811115611ba657fe5b149392505050565b6001600160a01b03811660009081526020819052604081205460ff1681816002811115611bd757fe5b1415611be7576000915050610d7b565b6002816002811115611bf557fe5b1415611c25576001600160a01b0383166000908152600260205260408120611c1c90613199565b11915050610d7b565b6001600160a01b0383166000908152600160205260408120611c1c906131a4565b6001600160a01b03821660009081526020819052604081205460ff1690816002811115611c6f57fe5b1415611c7b5750611de2565b6001816002811115611c8957fe5b14611cc55760405162461bcd60e51b815260040180806020018281038252603c81526020018061518d603c913960400191505060405180910390fd5b6001600160a01b03831660009081526001602052604081209080611ce8836131b0565b9150915060005b8251811015611dc1576000838281518110611d0657fe5b602002602001015190506000611d3c848481518110611d2157fe5b60200260200101516127108a6131c69092919063ffffffff16565b9050611d4b60038a84846132bf565b600654611d5f906003908b90600290612093565b50600654611d74906003908490600290612093565b50816001600160a01b0316896001600160a01b0316600080516020615217833981519152836000604051808381526020018281526020019250505060405180910390a35050600101611cef565b50611dcb83613304565b600654611ddc908490600290612860565b50505050505b5050565b6001600160a01b03811660009081526020819052604081205460ff1681816002811115611e0f57fe5b1480610ded57506002611b9a565b6001600160a01b03821660009081526020819052604081205460ff1681816002811115611e4657fe5b1415611e565760009150506109bc565b6002816002811115611e6457fe5b14611ea05760405162461bcd60e51b81526004018080602001828103825260428152602001806152616042913960600191505060405180910390fd5b6001600160a01b0384166000908152600260205260408120905b8451811015611fa2576000858281518110611ed157fe5b602002602001015190506000611ef0828561330d90919063ffffffff16565b905080611efe575050611f9a565b611f0b60038984846132bf565b600654611f1f906003908a90600290612093565b50600654611f34906003908490600290612093565b50611f418483600061331c565b600654611f549085908490600290612bf0565b50816001600160a01b0316886001600160a01b0316600080516020615217833981519152836000604051808381526020018281526020019250505060405180910390a350505b600101611eba565b50611fac81613199565b95945050505050565b600654811015611ff65760405162461bcd60e51b81526004018080602001828103825260288152602001806151ef6028913960400191505060405180910390fd5b4381106120345760405162461bcd60e51b815260040180806020018281038252602181526020018061516c6021913960400191505060405180910390fd5b600655565b60007f000000000000000000000000000000000000000000000000000000000000000061206857506001610d7b565b506001600160a01b0316600090815260086020526040902054151590565b60006109bc600383613386565b60006113c385858585613392565b6000816006548110156120e55760405162461bcd60e51b815260040180806020018281038252602a815260200180615237602a913960400191505060405180910390fd5b60006120f28686866133cd565b905060008061210187846134ab565b9550505050505b509392505050565b7f000000000000000000000000000000000000000000000000000000000000000061213a57611de2565b6001600160a01b03821661214d57611de2565b6001600160a01b038216600090815260086020526040902054611de25761217382612086565b158015612186575061218482611bae565b155b61218c57fe5b61219882600083612d77565b6121a3436001612d1d565b6001600160a01b0383166000908152600860205260409020555050565b6001600160a01b038316612215576040805162461bcd60e51b815260206004820152601760248201527643616e6e6f742064656c656761746520746f207a65726f60481b604482015290519081900360640190fd5b836001600160a01b0316836001600160a01b03161415612276576040805162461bcd60e51b815260206004820152601760248201527621b0b73737ba103232b632b3b0ba32903a379039b2b63360491b604482015290519081900360640190fd5b61227f84611de6565b6122d0576040805162461bcd60e51b815260206004820152601960248201527f43616e6e6f742064656c656761746520627920616d6f756e7400000000000000604482015290519081900360640190fd5b6001600160a01b0384166000908152600260205260408120906122f3828661330d565b9050808310156123115761230c600387878685036132bf565b6123c1565b60006123278261232189886125e0565b90612d1d565b9050838110156040518060400160405280602081526020017f556e64656c65676174656420766f746520706f77657220746f6f20736d616c6c815250906123af5760405162461bcd60e51b8152602060048201818152835160248401528351909283926044909101919085019080838360008315610ac0578181015183820152602001610aa8565b506123bf600388888588036134d1565b505b6006546123d5906003908890600290612093565b506006546123ea906003908790600290612093565b506123f682868561331c565b6006546124099083908790600290612bf0565b5060026001600160a01b03871660009081526020819052604090205460ff16600281111561243357fe5b1461245c576001600160a01b0386166000908152602081905260409020805460ff191660021790555b846001600160a01b0316866001600160a01b03166000805160206152178339815191528386604051808381526020018281526020019250505060405180910390a3505050505050565b6060816006548110156124e95760405162461bcd60e51b815260040180806020018281038252602a815260200180615237602a913960400191505060405180910390fd5b43831061253d576040805162461bcd60e51b815260206004820181905260248201527f43616e206f6e6c79206265207573656420666f72207061737420626c6f636b73604482015290519081900360640190fd5b83516001600160401b038111801561255457600080fd5b5060405190808252806020026020018201604052801561257e578160200160208202803683370190505b50915060005b84518110156125d8576125b9600386838151811061259e57fe5b602002602001015186600461350e909392919063ffffffff16565b8382815181106125c557fe5b6020908102919091010152600101612584565b505092915050565b6000610ded8383436120a1565b6001600160a01b038316612642576040805162461bcd60e51b815260206004820152601760248201527643616e6e6f742064656c656761746520746f207a65726f60481b604482015290519081900360640190fd5b836001600160a01b0316836001600160a01b031614156126a3576040805162461bcd60e51b815260206004820152601760248201527621b0b73737ba103232b632b3b0ba32903a379039b2b63360491b604482015290519081900360640190fd5b6126ac84611b67565b6126fd576040805162461bcd60e51b815260206004820152601d60248201527f43616e6e6f742064656c65676174652062792070657263656e74616765000000604482015290519081900360640190fd5b6001600160a01b038416600090815260016020526040812090612720828661357d565b9050600080612730848887613589565b600654612741908590600290612860565b5082156127585761275586846127106131c6565b91505b841561276e5761276b86866127106131c6565b90505b8181101561278a57612785600389898486036132bf565b612799565b612799600389898585036134d1565b6006546127ad906003908a90600290612093565b506006546127c2906003908990600290612093565b5060016001600160a01b03891660009081526020819052604090205460ff1660028111156127ec57fe5b14612815576001600160a01b0388166000908152602081905260409020805460ff191660011790555b866001600160a01b0316886001600160a01b03166000805160206152178339815191528484604051808381526020018281526020019250505060405180910390a35050505050505050565b60006113c6848484613630565b6000816006548110156128b15760405162461bcd60e51b815260040180806020018281038252602a815260200180615237602a913960400191505060405180910390fd5b6128be600487878661376e565b156128cc57600091506128db565b6128d8868686866137c2565b91505b50949350505050565b604080516001600160a01b03841660208083019190915281830184905282518083038401815260609092018352815191810191909120600081815291869052918120549091901561294657600090815260208590526040812055506001610ded565b506000949350505050565b604080516001600160a01b038086166020808401919091528284018590528351808403850181526060909301845282519281019290922060008181526001890184528481209287168152928290529282205491929180156129d157506001600160a01b0385166000908152602091909152604081205550600190506113c6565b506000979650505050505050565b600081600654811015612a235760405162461bcd60e51b815260040180806020018281038252602a815260200180615237602a913960400191505060405180910390fd5b43831015612a3957610c3060046003868661350e565b610c30600385613386565b6001600160a01b03831660009081526020819052604081205460ff1681816002811115612a6d57fe5b1415612a7d576000915050610ded565b6001816002811115612a8b57fe5b1415612acb576001600160a01b0385166000908152600160205260408120612ab3908661357d565b9050612ac284826127106131c6565b92505050610ded565b6001600160a01b0385166000908152600260205260409020612aed908561330d565b915050610ded565b80600654811015612b375760405162461bcd60e51b815260040180806020018281038252602a815260200180615237602a913960400191505060405180910390fd5b438210612b755760405162461bcd60e51b815260040180806020018281038252603b8152602001806152ea603b913960400191505060405180910390fd5b6000612b83868686866137c2565b9050612b956004600388888588613875565b846001600160a01b0316866001600160a01b03167fd6f80c7d68e3e62bd7a51c3d37e575c1cfbc311c07487b69ef4eb570bc21cb688386604051808381526020018281526020019250505060405180910390a3505050505050565b6000612bfd8584846139e8565b9050612c0e60028601858585613392565b01949350505050565b60065490565b600081600654811015612c615760405162461bcd60e51b815260040180806020018281038252602a815260200180615237602a913960400191505060405180910390fd5b438310612cb5576040805162461bcd60e51b815260206004820181905260248201527f43616e206f6e6c79206265207573656420666f72207061737420626c6f636b73604482015290519081900360640190fd5b600080612cc6600460038888613a89565b9150915080156128db57604080516001600160a01b03881681526020810187905281517fb0b412112c2958bbc2537fa96db51ddcfe7d0d074143f0b5308b6aab19b6694b929181900390910190a150949350505050565b600082820183811015610ded576040805162461bcd60e51b815260206004820152601b60248201527f536166654d6174683a206164646974696f6e206f766572666c6f770000000000604482015290519081900360640190fd5b60016001600160a01b03841660009081526020819052604090205460ff166002811115612da057fe5b1415612dbf57612dba8383612db58185612d1d565b613b13565b610b14565b612dcd600384836000613c53565b60065461168e906003908590600290612093565b6000612e08826040518060600160405280602681526020016151c960269139859190613c9f565b905060016001600160a01b03851660009081526020819052604090205460ff166002811115612e3357fe5b1415612e4957612e44848483613b13565b61168e565b612e54848484613cf9565b6040518060400160405280602081526020017f556e64656c65676174656420766f746520706f77657220746f6f20736d616c6c81525090612ed65760405162461bcd60e51b8152602060048201818152835160248401528351909283926044909101919085019080838360008315610ac0578181015183820152602001610aa8565b50612ee5600385600085613c53565b600654610fe0906003908690600290612093565b612f04858483612de1565b610fe0848383612d77565b6001600160a01b031660009081526020819052604090205460ff1690565b60608082600654811015612f725760405162461bcd60e51b815260040180806020018281038252602a815260200180615237602a913960400191505060405180910390fd5b6001600160a01b0385166000908152600160205260409020606080612f978388613d46565b909250905060005b8251811015612ffb57612fd389848381518110612fb857fe5b60200260200101518a600461376e909392919063ffffffff16565b15612ff3576000828281518110612fe657fe5b6020026020010181815250505b600101612f9f565b506000805b83518110156130335782818151811061301557fe5b602002602001015160001461302b576001909101905b600101613000565b50806001600160401b038111801561304a57600080fd5b50604051908082528060200260200182016040528015613074578160200160208202803683370190505b509650806001600160401b038111801561308d57600080fd5b506040519080825280602002602001820160405280156130b7578160200160208202803683370190505b5095506000805b845181101561315c578381815181106130d357fe5b6020026020010151600014613154578481815181106130ee57fe5b602002602001015189838151811061310257fe5b60200260200101906001600160a01b031690816001600160a01b03168152505083818151811061312e57fe5b602002602001015188838151811061314257fe5b60209081029190910101526001909101905b6001016130be565b505050505050509250929050565b600780546001600160a01b0319166001600160a01b0392909216919091179055565b60006113c6848484613d5e565b60006109bc82613d80565b60006109bc8243613dc8565b6060806131bc83613e16565b915091505b915091565b600080821161320f576040805162461bcd60e51b815260206004820152601060248201526f4469766973696f6e206279207a65726f60801b604482015290519081900360640190fd5b8361321c57506000610ded565b8383028385828161322957fe5b0414156132425782818161323957fe5b04915050610ded565b600083868161324d57fe5b049050600084878161325b57fe5b069050600085878161326957fe5b049050600086888161327757fe5b0690506121016132918861328b8685613e23565b90613e7c565b61232161329e8686613e23565b6123216132ab8987613e23565b6123218d6132b98c8b613e23565b90613e23565b82826001600160a01b0382161580156132df57506001600160a01b038116155b156132e657fe5b826132f0576132fc565b6132fc86858786613ee3565b505050505050565b610cbc81613f6c565b6000610ded6002840183614092565b600061332b6002850184614092565b9050600061336c8361232184604051806040016040528060098152602001680546f74616c203c20360bc1b8152506133658a600001613d80565b9190613c9f565b905061337c6002860185856140b3565b610fe085826140d1565b6000610ded8383614092565b60006001600160a01b03841615612946576001600160a01b03841660009081526020869052604090206133c69084846139e8565b90506113c6565b6000816006548110156134115760405162461bcd60e51b815260040180806020018281038252602a815260200180615237602a913960400191505060405180910390fd5b6001600160a01b03851660009081526020819052604081205460ff169081600281111561343a57fe5b141561344a576000925050612108565b600281600281111561345857fe5b1415613488576001600160a01b03861660009081526002602052604090206134809085614292565b925050612108565b6001600160a01b038616600090815260016020526040902061348090868661429e565b600080838311156134c1575060009050806134ca565b50600190508183035b9250929050565b82826001600160a01b0382161580156134f157506001600160a01b038116155b156134f857fe5b82613502576132fc565b6132fc86868686613ee3565b604080516001600160a01b03841660208083019190915281830184905282518083038401815260609092018352815191810191909120600081815291879052918120549091908015613567576000190191506113c69050565b61357286868661318c565b979650505050505050565b6000610ded83836142ae565b61271081111561359557fe5b6135a08383836142f2565b6127106135ac84614516565b11156040518060400160405280601c81526020017f4d61782064656c65676174696f6e2062697073206578636565646564000000008152509061168e5760405162461bcd60e51b8152602060048201818152835160248401528351909283926044909101919085019080838360008315610ac0578181015183820152602001610aa8565b60008161363f57506000610ded565b6001840154600160401b90046001600160401b031680613663576000915050610ded565b60018501546001600160401b031660006136896136808388612d1d565b60018503614522565b9050815b81811080156136c7575060018101600090815260208981526040808320838052909152902054600160b01b90046001600160401b03168610155b1561372b57600081815260208981526040808320838052918290528220549091600160f01b90910460ff16905b8181101561372057600081815260208490526040902080546001600160f81b03191690556001016136f4565b50505060010161368d565b828111156137605761373c81614538565b60018901805467ffffffffffffffff19166001600160401b03929092169190911790555b919091039695505050505050565b604080516001600160a01b0394851660208083019190915281830193909352815180820383018152606090910182528051908301206000908152600195909501825280852092909316845252902054151590565b6001600160a01b03841660009081526020819052604081205460ff16818160028111156137eb57fe5b14156137fb5760009150506113c6565b600181600281111561380957fe5b141561384a576001600160a01b0386166000908152600160205260408120613832908786614580565b905061384185826127106131c6565b925050506113c6565b6001600160a01b038616600090815260026020526040902061386d90868561458d565b9150506113c6565b8161387f576132fc565b604080516001600160a01b0380871660208084019190915282840185905283518084038501815260609093018452825192810192909220600081815260018b018452848120928816815291909252919091205415613916576040805162461bcd60e51b815260206004820152600f60248201526e105b1c9958591e481c995d9bdad959608a1b604482015290519081900360640190fd5b600061392488888786613a89565b5090506000858460405160200180836001600160a01b03168152602001828152602001925050506040516020818303038152906040528051906020012090506139b789826139b2886040518060400160405280601781526020017f5265766f6b65642076616c756520746f6f206c6172676500000000000000000081525087613c9f9092919063ffffffff16565b61459d565b5050600090815260018701602090815260408083206001600160a01b03871684529091529020829055505050505050565b6000816139f757506000610ded565b6001840154600160401b90046001600160401b031680613a1b576000915050610ded565b60018501546001600160401b03166000613a386136808388612d1d565b9050815b8181108015613a6d575060018101600090815260208990526040902054600160c01b90046001600160401b03168610155b1561372b57600081815260208990526040812055600101613a3c565b604080516001600160a01b0384166020808301919091528183018490528251808303840181526060909201835281519181019190912060008181529187905291812054909182918015613ae75760001901925060009150613b0a9050565b6000613af488888861318c565b9050613b0189848361459d565b93506001925050505b94509492505050565b6001600160a01b0383166000908152600160205260408120908290849080613b3a856145bb565b9150915060005b82811015613c1e576000818152602083905260408120805490916001600160a01b03821691600160a01b900461ffff1690613b7f8c836127106131c6565b90506000613b908c846127106131c6565b9050613b9c8a83612d1d565b9950613ba88982612d1d565b9850613bb76003858385613c53565b600654613bcb906003908690600290612093565b50836001600160a01b03168e6001600160a01b03166000805160206152178339815191528484604051808381526020018281526020019250505060405180910390a3505060019093019250613b41915050565b50828414613c4957613c336003898686613c53565b600654613c47906003908a90600290612093565b505b5050505050505050565b6001600160a01b038316613c6357fe5b80821415613c705761168e565b6000613c7c8585614092565b9050613c9282613c8c8386612d1d565b906145c7565b9050610fe08585836140b3565b60008184841115613cf15760405162461bcd60e51b8152602060048201818152835160248401528351909283926044909101919085019080838360008315610ac0578181015183820152602001610aa8565b505050900390565b600060026001600160a01b03851660009081526020819052604090205460ff166002811115613d2457fe5b1415613d3e5781613d3585856125e0565b10159050610ded565b506001610ded565b606080613d538484614624565b915091509250929050565b6001600160a01b0382166000908152602084905260408120611fac8184614793565b6001810154600090600160401b90046001600160401b031680613da7576000915050610d7b565b6000190160009081526020929092525060409020546001600160c01b031690565b6000806000613dd785856148d6565b9150915081613deb576000925050506109bc565b6000908152602094855260408082208280529095529390932054600160f01b900460ff169392505050565b6060806131bc8343614624565b600082613e32575060006109bc565b82820282848281613e3f57fe5b0414610ded5760405162461bcd60e51b81526004018080602001828103825260218152602001806152a36021913960400191505060405180910390fd5b6000808211613ed2576040805162461bcd60e51b815260206004820152601a60248201527f536166654d6174683a206469766973696f6e206279207a65726f000000000000604482015290519081900360640190fd5b818381613edb57fe5b049392505050565b80613eed5761168e565b6001600160a01b038316158015613f0b57506001600160a01b038216155b15613f1257fe5b6001600160a01b03831615613f40576000613f3182613c8c8787614092565b9050613f3e8585836140b3565b505b6001600160a01b0382161561168e576000613f5f826123218786614092565b9050610fe08584836140b3565b6001810154600160401b90046001600160401b03168015611de2576000818152602083905260409020613fa160018301614538565b6001840180546001600160401b0392909216600160401b0267ffffffffffffffff60401b199092169190911790556040805160808101825260008082526020820152908101613fef43614538565b6001600160401b039081168252600060209283018190528080529382526040938490208351815493850151958501516060909501516001600160a01b03199094166001600160a01b039091161761ffff60a01b1916600160a01b61ffff909616959095029490941767ffffffffffffffff60b01b1916600160b01b93909116929092029190911760ff60f01b1916600160f01b60ff909216919091021790555050565b6001600160a01b03811660009081526020839052604081206113c681613d80565b6001600160a01b038216600090815260208490526040902061168e81835b6001820154600160401b90046001600160401b0316806141885760405180604001604052806140ff846149d5565b6001600160c01b0316815260200161411643614538565b6001600160401b03908116909152600080805260208681526040909120835181549490920151909216600160c01b026001600160c01b039182166001600160c01b0319909416939093171691909117905560018301805467ffffffffffffffff60401b1916600160401b179055610b14565b600019810160009081526020849052604090208054600160c01b90046001600160401b0316438114156141de576141be846149d5565b82546001600160c01b0319166001600160c01b0391909116178255610fe0565b8043116141e757fe5b60405180604001604052806141fb866149d5565b6001600160c01b0316815260200161421243614538565b6001600160401b039081169091526000858152602088815260409091208351815494909201518316600160c01b026001600160c01b039283166001600160c01b0319909516949094179091169290921790915560018087018054918601909216600160401b0267ffffffffffffffff60401b199091161790555050505050565b6000610ded8383614793565b60006113c6848461271085614a2f565b6001820154600090600160401b90046001600160401b0316806142d55760009150506109bc565b600019810160009081526020859052604090206113c69084614aca565b6001830154600160401b90046001600160401b03168061442d578115612e4457600081815260208590526040902061432c60018301614538565b8560010160086101000a8154816001600160401b0302191690836001600160401b031602179055506040518060800160405280856001600160a01b0316815260200161437785614b2f565b61ffff16815260200161438943614538565b6001600160401b039081168252600160209283015260008080529382526040938490208351815493850151958501516060909501516001600160a01b03199094166001600160a01b039091161761ffff60a01b1916600160a01b61ffff909616959095029490941767ffffffffffffffff60b01b1916600160b01b93909116929092029190911760ff60f01b1916600160f01b60ff9092169190910217905561168e565b60001981016000908152602085815260408083208380529182905290912054600160b01b90046001600160401b0316438114156144745761446f828686614b72565b6132fc565b80431161447d57fe5b600083815260208790526040902061449760018501614538565b8760010160086101000a8154816001600160401b0302191690836001600160401b031602179055506144cb81848888614c87565b6144d443614538565b6000808052602092909252604090912080546001600160401b0392909216600160b01b0267ffffffffffffffff60b01b19909216919091179055505050505050565b60006109bc8243614d9d565b60008183106145315781610ded565b5090919050565b6000600160401b821061457c5760405162461bcd60e51b81526004018080602001828103825260268152602001806152c46026913960400191505060405180910390fd5b5090565b60006113c6848484614e2b565b60006113c6600285018484613d5e565b6145a8816001612d1d565b6000928352602093909352506040902055565b6000806131bc83614e70565b60008282111561461e576040805162461bcd60e51b815260206004820152601e60248201527f536166654d6174683a207375627472616374696f6e206f766572666c6f770000604482015290519081900360640190fd5b50900390565b60608060008061463486866148d6565b915091508161465e57505060408051600080825260208201908152818301909252925090506134ca565b6000818152602087815260408083208380529182905290912054600160f01b900460ff16806001600160401b038111801561469857600080fd5b506040519080825280602002602001820160405280156146c2578160200160208202803683370190505b509550806001600160401b03811180156146db57600080fd5b50604051908082528060200260200182016040528015614705578160200160208202803683370190505b50945060005b81811015614787576000818152602084905260409020805488516001600160a01b039091169089908490811061473d57fe5b6001600160a01b03929092166020928302919091019091015280548751600160a01b90910461ffff169088908490811061477357fe5b60209081029190910101525060010161470b565b50505050509250929050565b6001820154600090600160401b90046001600160401b0316806147ba5760009150506109bc565b43831015806147ec57506000198101600090815260208590526040902054600160c01b90046001600160401b03168310155b1561481457600019016000908152602084905260409020546001600160c01b031690506109bc565b60018401546001600160401b039081166000818152602087905260409020549091600160c01b9091041684101561488d5780156148825760405162461bcd60e51b81526004018080602001828103825260308152602001806153256030913960400191505060405180910390fd5b6000925050506109bc565b60018501546000906148b39087908490600160401b90046001600160401b031688614ed4565b6000908152602087905260409020546001600160c01b0316935050505092915050565b600182015460009081906001600160401b0380821691600160401b9004168061490257600093506149cc565b6000198101600090815260208781526040808320838052909152902054600160b01b90046001600160401b0316851061494457600193506001810392506149cc565b600082815260208781526040808320838052909152902054600160b01b90046001600160401b03168510156149b95781156149b05760405162461bcd60e51b81526004018080602001828103825260308152602001806151166030913960400191505060405180910390fd5b600093506149cc565b600193506149c986838388614f52565b92505b50509250929050565b6000600160c01b821061457c576040805162461bcd60e51b815260206004820152601d60248201527f76616c756520646f65736e27742066697420696e203139322062697473000000604482015290519081900360640190fd5b6000806000614a3e87856148d6565b9150915081614a52576000925050506113c6565b6000818152602088815260408083208380529182905282205491945090600160f01b900460ff16845b81811015614abd57600081815260208490526040902054614ab390614aac90600160a01b900461ffff168b8b6131c6565b8790612d1d565b9550600101614a7b565b5050505050949350505050565b600080805260208390526040812054600160f01b900460ff16815b8181101561294657600081815260208690526040902080546001600160a01b0386811691161415614b265754600160a01b900461ffff1692506109bc915050565b50600101614ae5565b600062010000821061457c5760405162461bcd60e51b81526004018080602001828103825260268152602001806151466026913960400191505060405180910390fd5b600080805260208490526040812054600160f01b900460ff16905b8181108015614bb657506000818152602086905260409020546001600160a01b03858116911614155b15614bc357600101614b8d565b81811015614c47578215614c0c57614bda83614b2f565b6000828152602087905260409020805461ffff92909216600160a01b0261ffff60a01b1990921691909117905561191d565b614c1a858260018503614fcf565b6000808052602086905260409020805460ff60f01b1916600160f01b600019850160ff1602179055610fe0565b6000614c558686868661503a565b6000808052602088905260409020805460ff909216600160f01b0260ff60f01b19909216919091179055505050505050565b600080805260208490526040812054600160f01b900460ff169080805b83811015614d545760008181526020888152604091829020825160808101845290546001600160a01b03808216808452600160a01b830461ffff1694840194909452600160b01b82046001600160401b031694830194909452600160f01b900460ff1660608201529188161415614d3057614d25898260000151888661503a565b925060019350614d4b565b614d48898260000151836020015161ffff168661503a565b92505b50600101614ca4565b5081614d6957614d668786868461503a565b90505b60008080526020979097526040909620805460ff909716600160f01b0260ff60f01b19909716969096179095555050505050565b6000806000614dac85856148d6565b9150915081614dc0576000925050506109bc565b6000818152602086815260408083208380529182905282205491945090600160f01b900460ff16845b81811015614e2057600081815260208490526040902054614e16908790600160a01b900461ffff16612d1d565b9550600101614de9565b505050505092915050565b6000806000614e3a86856148d6565b9150915081614e4e57600092505050610ded565b6000818152602087905260409020614e669086614aca565b9695505050505050565b60018101546000908190600160401b90046001600160401b031680614ea757505060008080526020839052604081209091506131c1565b6000190160009081526020938452604080822082805294859052902054600160f01b900460ff1693915050565b60008381614ee38560016145c7565b90505b81811115614f48576000614f04600261328b60016123218688612d1d565b600081815260208a90526040902054909150600160c01b90046001600160401b03168510614f3457809250614f42565b614f3f8160016145c7565b91505b50614ee6565b5095945050505050565b60008381614f618560016145c7565b90505b81811115614f48576000614f82600261328b60016123218688612d1d565b600081815260208a81526040808320838052909152902054909150600160b01b90046001600160401b03168510614fbb57809250614fc9565b614fc68160016145c7565b91505b50614f64565b60008281526020849052604080822083835291208284101561502657805482546001600160a01b0319166001600160a01b0390911617808355815461ffff600160a01b91829004160261ffff60a01b199091161782555b80546001600160b01b031916905550505050565b600082156121085760408051808201909152601681527513585e0819195b1959d85d195cc8195e18d95959195960521b6020820152600283106150be5760405162461bcd60e51b8152602060048201818152835160248401528351909283926044909101919085019080838360008315610ac0578181015183820152602001610aa8565b50600082815260208690526040902080546001600160a01b0319166001600160a01b0386161781556150ef84614b2f565b815461ffff91909116600160a01b0261ffff60a01b1990911617905550600181016113c656fe44656c65676174696f6e486973746f72793a2072656164696e672066726f6d20636c65616e65642d757020626c6f636b53616665436173743a2076616c756520646f65736e27742066697420696e2031362062697473436c65616e757020626c6f636b206d75737420626520696e207468652070617374756e64656c6567617465416c6c2063616e206f6e6c79206265207573656420696e2070657263656e746167652064656c65676174696f6e206d6f646545524332303a207472616e7366657220616d6f756e7420657863656564732062616c616e6365436c65616e757020626c6f636b206e756d626572206d757374206e65766572206465637265617365500599802164a08023e87ffc3eed0ba3ae60697b3083ba81d046683679d81c6b44656c6567617461626c653a2072656164696e672066726f6d20636c65616e65642d757020626c6f636b756e64656c6567617465416c6c4578706c696369742063616e206f6e6c79206265207573656420696e206578706c696369742064656c65676174696f6e206d6f6465536166654d6174683a206d756c7469706c69636174696f6e206f766572666c6f7753616665436173743a2076616c756520646f65736e27742066697420696e20363420626974735265766f6b65206973206f6e6c7920666f722074686520706173742c2075736520756e64656c656761746520666f72207468652070726573656e74436865636b506f696e74486973746f72793a2072656164696e672066726f6d20636c65616e65642d757020626c6f636b64656c6567617465734f6620646f6573206e6f7420776f726b20696e20414d4f554e542064656c65676174696f6e206d6f6465a2646970667358221220c8ca4484b1553ff3b53cdcd96fd094587dd067b5bbac6827afecc0dc7c43004364736f6c63430007060033",
|
|
796
796
|
"linkReferences": {},
|
|
797
797
|
"deployedLinkReferences": {}
|
|
798
798
|
}
|