xDAI Price: $0.999886 (+0.00%)

Contract

0x7950DB13cc37774614B0AA406e42a4C4f0BF26a6

Overview

XDAI Balance

Gnosis Chain LogoGnosis Chain LogoGnosis Chain Logo0 XDAI

XDAI Value

$0.00

More Info

Private Name Tags

Multichain Info

No addresses found
Transaction Hash
Block
From
To

There are no matching entries

Please try again later

Parent Transaction Hash Block From To
View All Internal Transactions
Cross-Chain Transactions
Loading...
Loading
Source Code Verified Exact Match

Contract Name

DIVAOracleTellor

Compiler Version
v0.8.19+commit.7dd6d404
Optimization Enabled
No with 200 runs
Other Settings
default evmVersion
License
-NA-
Contract Source Code (Solidity Standard Json-Input format)
Contract Security Audit
No Contract Security Audit SubmittedSubmit Audit Here
Contract ABI
API
[{"inputs":[{"internalType":"address","name":"ownershipContract_","type":"address"},{"internalType":"address payable","name":"tellorAddress_","type":"address"},{"internalType":"address","name":"excessDIVARewardRecipient_","type":"address"},{"internalType":"uint256","name":"maxDIVARewardUSD_","type":"uint256"},{"internalType":"address","name":"diva_","type":"address"}],"stateMutability":"nonpayable","type":"constructor"},{"inputs":[],"name":"AlreadyConfirmedPool","type":"error"},{"inputs":[{"internalType":"uint256","name":"_timestampBlock","type":"uint256"},{"internalType":"uint256","name":"_startTimeExcessDIVARewardRecipient","type":"uint256"}],"name":"ExcessDIVARewardRecipientAlreadyActive","type":"error"},{"inputs":[],"name":"FeeTokensNotSupported","type":"error"},{"inputs":[{"internalType":"uint256","name":"_timestampBlock","type":"uint256"},{"internalType":"uint256","name":"_startTimeMaxDIVARewardUSD","type":"uint256"}],"name":"MaxDIVARewardUSDAlreadyActive","type":"error"},{"inputs":[],"name":"MinPeriodUndisputedNotPassed","type":"error"},{"inputs":[],"name":"NoOracleSubmissionAfterExpiryTime","type":"error"},{"inputs":[],"name":"NotConfirmedPool","type":"error"},{"inputs":[{"internalType":"address","name":"_user","type":"address"},{"internalType":"address","name":"_contractOwner","type":"address"}],"name":"NotContractOwner","type":"error"},{"inputs":[{"internalType":"uint256","name":"_timestampBlock","type":"uint256"},{"internalType":"uint256","name":"_startTimeExcessDIVARewardRecipient","type":"uint256"}],"name":"PendingExcessDIVARewardRecipientUpdate","type":"error"},{"inputs":[{"internalType":"uint256","name":"_timestampBlock","type":"uint256"},{"internalType":"uint256","name":"_startTimeMaxDIVARewardUSD","type":"uint256"}],"name":"PendingMaxDIVARewardUSDUpdate","type":"error"},{"inputs":[],"name":"ZeroDIVAAddress","type":"error"},{"inputs":[],"name":"ZeroExcessDIVARewardRecipient","type":"error"},{"inputs":[],"name":"ZeroOwnershipContractAddress","type":"error"},{"anonymous":false,"inputs":[{"indexed":true,"internalType":"address","name":"from","type":"address"},{"indexed":true,"internalType":"address","name":"excessDIVARewardRecipient","type":"address"},{"indexed":false,"internalType":"uint256","name":"startTimeExcessDIVARewardRecipient","type":"uint256"}],"name":"ExcessDIVARewardRecipientUpdated","type":"event"},{"anonymous":false,"inputs":[{"indexed":true,"internalType":"bytes32","name":"poolId","type":"bytes32"},{"indexed":false,"internalType":"uint256","name":"finalValue","type":"uint256"},{"indexed":false,"internalType":"uint256","name":"expiryTime","type":"uint256"},{"indexed":false,"internalType":"uint256","name":"timestamp","type":"uint256"}],"name":"FinalReferenceValueSet","type":"event"},{"anonymous":false,"inputs":[{"indexed":true,"internalType":"address","name":"from","type":"address"},{"indexed":false,"internalType":"uint256","name":"maxDIVARewardUSD","type":"uint256"},{"indexed":false,"internalType":"uint256","name":"startTimeMaxDIVARewardUSD","type":"uint256"}],"name":"MaxDIVARewardUSDUpdated","type":"event"},{"anonymous":false,"inputs":[{"indexed":true,"internalType":"address","name":"revokedBy","type":"address"},{"indexed":true,"internalType":"address","name":"revokedExcessDIVARewardRecipient","type":"address"},{"indexed":true,"internalType":"address","name":"restoredExcessDIVARewardRecipient","type":"address"}],"name":"PendingExcessDIVARewardRecipientUpdateRevoked","type":"event"},{"anonymous":false,"inputs":[{"indexed":true,"internalType":"address","name":"revokedBy","type":"address"},{"indexed":false,"internalType":"uint256","name":"revokedMaxDIVARewardUSD","type":"uint256"},{"indexed":false,"internalType":"uint256","name":"restoredMaxDIVARewardUSD","type":"uint256"}],"name":"PendingMaxDIVARewardUSDUpdateRevoked","type":"event"},{"anonymous":false,"inputs":[{"indexed":false,"internalType":"bytes32","name":"poolId","type":"bytes32"},{"indexed":false,"internalType":"address","name":"tippingToken","type":"address"},{"indexed":false,"internalType":"uint256","name":"amount","type":"uint256"},{"indexed":false,"internalType":"address","name":"tipper","type":"address"}],"name":"TipAdded","type":"event"},{"anonymous":false,"inputs":[{"indexed":false,"internalType":"bytes32","name":"poolId","type":"bytes32"},{"indexed":false,"internalType":"address","name":"recipient","type":"address"},{"indexed":false,"internalType":"address","name":"tippingToken","type":"address"},{"indexed":false,"internalType":"uint256","name":"amount","type":"uint256"}],"name":"TipClaimed","type":"event"},{"inputs":[{"internalType":"bytes32","name":"_poolId","type":"bytes32"},{"internalType":"uint256","name":"_amount","type":"uint256"},{"internalType":"address","name":"_tippingToken","type":"address"}],"name":"addTip","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"components":[{"internalType":"bytes32","name":"poolId","type":"bytes32"},{"internalType":"uint256","name":"amount","type":"uint256"},{"internalType":"address","name":"tippingToken","type":"address"}],"internalType":"struct IDIVAOracleTellor.ArgsBatchAddTip[]","name":"_argsBatchAddTip","type":"tuple[]"}],"name":"batchAddTip","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"components":[{"internalType":"bytes32","name":"poolId","type":"bytes32"},{"internalType":"address[]","name":"tippingTokens","type":"address[]"},{"internalType":"bool","name":"claimDIVAReward","type":"bool"}],"internalType":"struct IDIVAOracleTellor.ArgsBatchClaimReward[]","name":"_argsBatchClaimReward","type":"tuple[]"}],"name":"batchClaimReward","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"components":[{"internalType":"bytes32","name":"poolId","type":"bytes32"},{"internalType":"address[]","name":"tippingTokens","type":"address[]"},{"internalType":"bool","name":"claimDIVAReward","type":"bool"}],"internalType":"struct IDIVAOracleTellor.ArgsBatchSetFinalReferenceValue[]","name":"_argsBatchSetFinalReferenceValue","type":"tuple[]"}],"name":"batchSetFinalReferenceValue","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"bytes32","name":"_poolId","type":"bytes32"},{"internalType":"address[]","name":"_tippingTokens","type":"address[]"},{"internalType":"bool","name":"_claimDIVAReward","type":"bool"}],"name":"claimReward","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[],"name":"getActivationDelay","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"pure","type":"function"},{"inputs":[],"name":"getChallengeable","outputs":[{"internalType":"bool","name":"","type":"bool"}],"stateMutability":"pure","type":"function"},{"inputs":[],"name":"getDIVAAddress","outputs":[{"internalType":"address","name":"","type":"address"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"bytes32","name":"_queryId","type":"bytes32"},{"internalType":"uint256","name":"_timestamp","type":"uint256"}],"name":"getDataAfter","outputs":[{"internalType":"bytes","name":"_value","type":"bytes"},{"internalType":"uint256","name":"_timestampRetrieved","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"getExcessDIVARewardRecipientInfo","outputs":[{"internalType":"address","name":"previousExcessDIVARewardRecipient","type":"address"},{"internalType":"address","name":"excessDIVARewardRecipient","type":"address"},{"internalType":"uint256","name":"startTimeExcessDIVARewardRecipient","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"bytes32","name":"_queryId","type":"bytes32"},{"internalType":"uint256","name":"_timestamp","type":"uint256"}],"name":"getIndexForDataAfter","outputs":[{"internalType":"bool","name":"_found","type":"bool"},{"internalType":"uint256","name":"_index","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"getMaxDIVARewardUSDInfo","outputs":[{"internalType":"uint256","name":"previousMaxDIVARewardUSD","type":"uint256"},{"internalType":"uint256","name":"maxDIVARewardUSD","type":"uint256"},{"internalType":"uint256","name":"startTimeMaxDIVARewardUSD","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"getMinPeriodUndisputed","outputs":[{"internalType":"uint32","name":"","type":"uint32"}],"stateMutability":"pure","type":"function"},{"inputs":[{"internalType":"bytes32","name":"_queryId","type":"bytes32"}],"name":"getNewValueCountbyQueryId","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"getOwnershipContract","outputs":[{"internalType":"address","name":"","type":"address"}],"stateMutability":"view","type":"function"},{"inputs":[{"components":[{"internalType":"address","name":"reporter","type":"address"},{"internalType":"uint256","name":"startIndex","type":"uint256"},{"internalType":"uint256","name":"endIndex","type":"uint256"}],"internalType":"struct IDIVAOracleTellor.ArgsGetPoolIdsForReporters[]","name":"_argsGetPoolIdsForReporters","type":"tuple[]"}],"name":"getPoolIdsForReporters","outputs":[{"internalType":"bytes32[][]","name":"","type":"bytes32[][]"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"address[]","name":"_reporters","type":"address[]"}],"name":"getPoolIdsLengthForReporters","outputs":[{"internalType":"uint256[]","name":"","type":"uint256[]"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"bytes32","name":"_poolId","type":"bytes32"}],"name":"getQueryDataAndId","outputs":[{"internalType":"bytes","name":"queryData","type":"bytes"},{"internalType":"bytes32","name":"queryId","type":"bytes32"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"bytes32","name":"_queryId","type":"bytes32"},{"internalType":"uint256","name":"_timestamp","type":"uint256"}],"name":"getReporterByTimestamp","outputs":[{"internalType":"address","name":"","type":"address"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"bytes32[]","name":"_poolIds","type":"bytes32[]"}],"name":"getReporters","outputs":[{"internalType":"address[]","name":"","type":"address[]"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"bytes32","name":"_queryId","type":"bytes32"},{"internalType":"uint256","name":"_index","type":"uint256"}],"name":"getTimestampbyQueryIdandIndex","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[{"components":[{"internalType":"bytes32","name":"poolId","type":"bytes32"},{"internalType":"address[]","name":"tippingTokens","type":"address[]"}],"internalType":"struct IDIVAOracleTellor.ArgsGetTipAmounts[]","name":"_argsGetTipAmounts","type":"tuple[]"}],"name":"getTipAmounts","outputs":[{"internalType":"uint256[][]","name":"","type":"uint256[][]"}],"stateMutability":"view","type":"function"},{"inputs":[{"components":[{"internalType":"bytes32","name":"poolId","type":"bytes32"},{"internalType":"uint256","name":"startIndex","type":"uint256"},{"internalType":"uint256","name":"endIndex","type":"uint256"}],"internalType":"struct IDIVAOracleTellor.ArgsGetTippingTokens[]","name":"_argsGetTippingTokens","type":"tuple[]"}],"name":"getTippingTokens","outputs":[{"internalType":"address[][]","name":"","type":"address[][]"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"bytes32[]","name":"_poolIds","type":"bytes32[]"}],"name":"getTippingTokensLengthForPoolIds","outputs":[{"internalType":"uint256[]","name":"","type":"uint256[]"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"bytes32","name":"_queryId","type":"bytes32"},{"internalType":"uint256","name":"_timestamp","type":"uint256"}],"name":"isInDispute","outputs":[{"internalType":"bool","name":"","type":"bool"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"bytes32","name":"_queryId","type":"bytes32"},{"internalType":"uint256","name":"_timestamp","type":"uint256"}],"name":"retrieveData","outputs":[{"internalType":"bytes","name":"","type":"bytes"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"revokePendingExcessDIVARewardRecipientUpdate","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[],"name":"revokePendingMaxDIVARewardUSDUpdate","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"bytes32","name":"_poolId","type":"bytes32"},{"internalType":"address[]","name":"_tippingTokens","type":"address[]"},{"internalType":"bool","name":"_claimDIVAReward","type":"bool"}],"name":"setFinalReferenceValue","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[],"name":"tellor","outputs":[{"internalType":"contract ITellor","name":"","type":"address"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"address","name":"_newExcessDIVARewardRecipient","type":"address"}],"name":"updateExcessDIVARewardRecipient","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"uint256","name":"_newMaxDIVARewardUSD","type":"uint256"}],"name":"updateMaxDIVARewardUSD","outputs":[],"stateMutability":"nonpayable","type":"function"}]
60c06040523480156200001157600080fd5b5060405162005d2038038062005d208339818101604052810190620000379190620003cc565b83600073ffffffffffffffffffffffffffffffffffffffff168173ffffffffffffffffffffffffffffffffffffffff1603620000aa576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401620000a190620004b5565b60405180910390fd5b806000806101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff1602179055505060018081905550600073ffffffffffffffffffffffffffffffffffffffff168573ffffffffffffffffffffffffffffffffffffffff160362000159576040517f4a305db200000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b600073ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff1603620001c0576040517f8665651400000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b600073ffffffffffffffffffffffffffffffffffffffff168173ffffffffffffffffffffffffffffffffffffffff160362000227576040517f530b13df00000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b8473ffffffffffffffffffffffffffffffffffffffff1660808173ffffffffffffffffffffffffffffffffffffffff168152505082600a60006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff160217905550816007819055508073ffffffffffffffffffffffffffffffffffffffff1660a08173ffffffffffffffffffffffffffffffffffffffff16815250505050505050620004d7565b600080fd5b600073ffffffffffffffffffffffffffffffffffffffff82169050919050565b60006200031482620002e7565b9050919050565b620003268162000307565b81146200033257600080fd5b50565b60008151905062000346816200031b565b92915050565b60006200035982620002e7565b9050919050565b6200036b816200034c565b81146200037757600080fd5b50565b6000815190506200038b8162000360565b92915050565b6000819050919050565b620003a68162000391565b8114620003b257600080fd5b50565b600081519050620003c6816200039b565b92915050565b600080600080600060a08688031215620003eb57620003ea620002e2565b5b6000620003fb8882890162000335565b95505060206200040e888289016200037a565b9450506040620004218882890162000335565b93505060606200043488828901620003b5565b9250506080620004478882890162000335565b9150509295509295909350565b600082825260208201905092915050565b7f5a65726f2054656c6c6f72206164647265737300000000000000000000000000600082015250565b60006200049d60138362000454565b9150620004aa8262000465565b602082019050919050565b60006020820190508181036000830152620004d0816200048e565b9050919050565b60805160a0516157eb6200053560003960008181610c3f01528181611b3c015281816126bc015281816128f701528181612a0a01528181612c4e01528181612f910152613032015260008181610c17015261224a01526157eb6000f3fe608060405234801561001057600080fd5b50600436106101f05760003560e01c806377b03e0d1161010f578063c5958af9116100a2578063de77c73311610071578063de77c733146105bf578063e07c5486146105ef578063e8c91f6b1461061f578063f66f49c31461064f576101f0565b8063c5958af914610527578063c7ce611914610557578063ce5e11bf14610573578063d5ebc24c146105a3576101f0565b80638f1d241c116100de5780638f1d241c1461049a57806399d22243146104ba578063a1f910df146104d8578063be53ef17146104f6576101f0565b806377b03e0d146103ee57806378568be51461041e5780637b73a1cf1461044e5780638a07fd121461047e576101f0565b806358e877d6116101875780636c875365116101565780636c875365146103905780636dc9b9db146103ac5780637174b0bf146103b657806372ea7076146103d2576101f0565b806358e877d6146102f75780635a5038ab146103275780635d72d0a01461034357806364ee3c6d1461035f576101f0565b806325162d33116101c357806325162d331461026b57806325bdf0011461028b5780632adc7712146102a957806344e87f91146102c7576101f0565b806307d522db146101f557806312be041a146102135780631959ad5b1461021d57806322834ecf1461023b575b600080fd5b6101fd610680565b60405161020a91906135e1565b60405180910390f35b61021b61068b565b005b61022561087b565b604051610232919061367b565b60405180910390f35b6102556004803603810190610250919061370f565b61089f565b60405161026291906138ee565b60405180910390f35b610273610bb4565b6040516102829392919061391f565b60405180910390f35b610293610c13565b6040516102a09190613956565b60405180910390f35b6102b1610c3b565b6040516102be9190613956565b60405180910390f35b6102e160048036038101906102dc91906139d3565b610c63565b6040516102ee9190613a2e565b60405180910390f35b610311600480360381019061030c9190613a9f565b610d0a565b60405161031e9190613b5b565b60405180910390f35b610341600480360381019061033c9190613bd3565b610e1d565b005b61035d60048036038101906103589190613c4c565b610ebe565b005b610379600480360381019061037491906139d3565b610ede565b604051610387929190613d2f565b60405180910390f35b6103aa60048036038101906103a59190613db5565b610f38565b005b6103b4611039565b005b6103d060048036038101906103cb9190613e84565b61116e565b005b6103ec60048036038101906103e79190613ef8565b611199565b005b61040860048036038101906104039190613f25565b6113e7565b60405161041591906135e1565b60405180910390f35b61043860048036038101906104339190613fa8565b61148b565b6040516104459190614175565b60405180910390f35b610468600480360381019061046391906141ed565b61179a565b60405161047591906143ba565b60405180910390f35b610498600480360381019061049391906143dc565b6119c8565b005b6104a2611b07565b6040516104b193929190614409565b60405180910390f35b6104c2611b26565b6040516104cf919061445f565b60405180910390f35b6104e0611b30565b6040516104ed9190613a2e565b60405180910390f35b610510600480360381019061050b9190613f25565b611b35565b60405161051e929190614489565b60405180910390f35b610541600480360381019061053c91906139d3565b611bad565b60405161054e91906144b9565b60405180910390f35b610571600480360381019061056c9190613e84565b611c58565b005b61058d600480360381019061058891906139d3565b611c7a565b60405161059a91906135e1565b60405180910390f35b6105bd60048036038101906105b89190614531565b611d21565b005b6105d960048036038101906105d49190613a9f565b611df1565b6040516105e691906145ed565b60405180910390f35b610609600480360381019061060491906139d3565b611eb9565b6040516106169190613956565b60405180910390f35b6106396004803603810190610634919061460f565b611f60565b60405161064691906145ed565b60405180910390f35b610669600480360381019061066491906139d3565b612062565b60405161067792919061465c565b60405180910390f35b60006203f480905090565b6000610695612246565b90508073ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff16146107095733816040517fff4127cb000000000000000000000000000000000000000000000000000000008152600401610700929190614685565b60405180910390fd5b42600b54116107535742600b546040517fa0f0017d00000000000000000000000000000000000000000000000000000000815260040161074a9291906146ae565b60405180910390fd5b6000600a60009054906101000a900473ffffffffffffffffffffffffffffffffffffffff16905042600b81905550600960009054906101000a900473ffffffffffffffffffffffffffffffffffffffff16600a60006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff160217905550600960009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168173ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff167fb0415a48a7f7321aeca08e2cae417a5607a54a735a607af86a72b1b67553858860405160405180910390a45050565b60008054906101000a900473ffffffffffffffffffffffffffffffffffffffff1681565b6060600083839050905060008167ffffffffffffffff8111156108c5576108c46146d7565b5b6040519080825280602002602001820160405280156108f857816020015b60608152602001906001900390816108e35790505b50905060005b82811015610ba857600086868381811061091b5761091a614706565b5b9050606002016020013587878481811061093857610937614706565b5b9050606002016040013561094c9190614764565b67ffffffffffffffff811115610965576109646146d7565b5b6040519080825280602002602001820160405280156109935781602001602082028036833780820191505090505b50905060008787848181106109ab576109aa614706565b5b9050606002016020013590505b8787848181106109cb576109ca614706565b5b90506060020160400135811015610b7c57600360008989868181106109f3576109f2614706565b5b905060600201600001358152602001908152602001600020805490508110610a9057600082898986818110610a2b57610a2a614706565b5b9050606002016020013583610a409190614764565b81518110610a5157610a50614706565b5b602002602001019073ffffffffffffffffffffffffffffffffffffffff16908173ffffffffffffffffffffffffffffffffffffffff1681525050610b71565b60036000898986818110610aa757610aa6614706565b5b9050606002016000013581526020019081526020016000208181548110610ad157610ad0614706565b5b9060005260206000200160009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1682898986818110610b1057610b0f614706565b5b9050606002016020013583610b259190614764565b81518110610b3657610b35614706565b5b602002602001019073ffffffffffffffffffffffffffffffffffffffff16908173ffffffffffffffffffffffffffffffffffffffff16815250505b8060010190506109b8565b5080838381518110610b9157610b90614706565b5b6020026020010181905250816001019150506108fe565b50809250505092915050565b6000806000600960009054906101000a900473ffffffffffffffffffffffffffffffffffffffff16600a60009054906101000a900473ffffffffffffffffffffffffffffffffffffffff16600b54809350819450829550505050909192565b60007f0000000000000000000000000000000000000000000000000000000000000000905090565b60007f0000000000000000000000000000000000000000000000000000000000000000905090565b60008060009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff166344e87f9184846040518363ffffffff1660e01b8152600401610cc1929190614798565b602060405180830381865afa158015610cde573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190610d0291906147d6565b905092915050565b6060600083839050905060008167ffffffffffffffff811115610d3057610d2f6146d7565b5b604051908082528060200260200182016040528015610d5e5781602001602082028036833780820191505090505b50905060005b82811015610e115760046000878784818110610d8357610d82614706565b5b90506020020135815260200190815260200160002060009054906101000a900473ffffffffffffffffffffffffffffffffffffffff16828281518110610dcc57610dcb614706565b5b602002602001019073ffffffffffffffffffffffffffffffffffffffff16908173ffffffffffffffffffffffffffffffffffffffff1681525050806001019050610d64565b50809250505092915050565b610e256122dc565b600082829050905060005b81811015610eb057610ea5848483818110610e4e57610e4d614706565b5b90506060020160000135858584818110610e6b57610e6a614706565b5b90506060020160200135868685818110610e8857610e87614706565b5b9050606002016040016020810190610ea09190613ef8565b61232b565b806001019050610e30565b5050610eba6126af565b5050565b610ec66122dc565b610ed183838361232b565b610ed96126af565b505050565b60606000806000610eef8686612062565b9150915081610f165760006040518060200160405280600081525090935093505050610f31565b610f208682611c7a565b9250610f2c8684611bad565b935050505b9250929050565b610f406122dc565b600082829050905060005b8181101561102b57610f84848483818110610f6957610f68614706565b5b9050602002810190610f7b9190614812565b600001356126b8565b611020848483818110610f9a57610f99614706565b5b9050602002810190610fac9190614812565b60000135858584818110610fc357610fc2614706565b5b9050602002810190610fd59190614812565b8060200190610fe4919061483a565b878786818110610ff757610ff6614706565b5b90506020028101906110099190614812565b604001602081019061101b919061489d565b612d28565b806001019050610f4b565b50506110356126af565b5050565b6000611043612246565b90508073ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff16146110b75733816040517fff4127cb0000000000000000000000000000000000000000000000000000000081526004016110ae929190614685565b60405180910390fd5b426008541161110157426008546040517f7ecdf63a0000000000000000000000000000000000000000000000000000000081526004016110f89291906146ae565b60405180910390fd5b60006007549050426008819055506006546007819055503373ffffffffffffffffffffffffffffffffffffffff167f2192780498bbb28e94a22b91593de099c9a417c6296685ab241c5148b11b9d17826006546040516111629291906146ae565b60405180910390a25050565b6111766122dc565b61117f846126b8565b61118b84848484612d28565b6111936126af565b50505050565b60006111a3612246565b90508073ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff16146112175733816040517fff4127cb00000000000000000000000000000000000000000000000000000000815260040161120e929190614685565b60405180910390fd5b600073ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff160361127d576040517f8665651400000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b42600b5411156112c85742600b546040517faf69515a0000000000000000000000000000000000000000000000000000000081526004016112bf9291906146ae565b60405180910390fd5b600a60009054906101000a900473ffffffffffffffffffffffffffffffffffffffff16600960006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff16021790555060006203f4804201905080600b8190555082600a60006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff1602179055508273ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff167f47e65fbddcf92eb86a46b87579d23fd69d6d51551e85265b5cdb9ddb4bfd0891836040516113da91906135e1565b60405180910390a3505050565b60008060009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff166377b03e0d836040518263ffffffff1660e01b815260040161144391906148ca565b602060405180830381865afa158015611460573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019061148491906148fa565b9050919050565b6060600083839050905060008167ffffffffffffffff8111156114b1576114b06146d7565b5b6040519080825280602002602001820160405280156114e457816020015b60608152602001906001900390816114cf5790505b50905060005b8281101561178e57600086868381811061150757611506614706565b5b9050606002016020013587878481811061152457611523614706565b5b905060600201604001356115389190614764565b67ffffffffffffffff811115611551576115506146d7565b5b60405190808252806020026020018201604052801561157f5781602001602082028036833780820191505090505b509050600087878481811061159757611596614706565b5b9050606002016020013590505b8787848181106115b7576115b6614706565b5b9050606002016040013581101561176257600560008989868181106115df576115de614706565b5b90506060020160000160208101906115f79190613ef8565b73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002080549050811061168a576000801b8289898681811061165357611652614706565b5b90506060020160200135836116689190614764565b8151811061167957611678614706565b5b602002602001018181525050611757565b600560008989868181106116a1576116a0614706565b5b90506060020160000160208101906116b99190613ef8565b73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020818154811061170557611704614706565b5b90600052602060002001548289898681811061172457611723614706565b5b90506060020160200135836117399190614764565b8151811061174a57611749614706565b5b6020026020010181815250505b8060010190506115a4565b508083838151811061177757611776614706565b5b6020026020010181905250816001019150506114ea565b50809250505092915050565b6060600083839050905060008167ffffffffffffffff8111156117c0576117bf6146d7565b5b6040519080825280602002602001820160405280156117f357816020015b60608152602001906001900390816117de5790505b50905060005b828110156119bc57600086868381811061181657611815614706565b5b90506020028101906118289190614927565b8060200190611837919061483a565b9050905060008167ffffffffffffffff811115611857576118566146d7565b5b6040519080825280602002602001820160405280156118855781602001602082028036833780820191505090505b50905060005b8281101561198f57600260008a8a878181106118aa576118a9614706565b5b90506020028101906118bc9190614927565b60000135815260200190815260200160002060008a8a878181106118e3576118e2614706565b5b90506020028101906118f59190614927565b8060200190611904919061483a565b8481811061191557611914614706565b5b905060200201602081019061192a9190613ef8565b73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000205482828151811061197857611977614706565b5b60200260200101818152505080600101905061188b565b50808484815181106119a4576119a3614706565b5b602002602001018190525082600101925050506117f9565b50809250505092915050565b60006119d2612246565b90508073ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff1614611a465733816040517fff4127cb000000000000000000000000000000000000000000000000000000008152600401611a3d929190614685565b60405180910390fd5b426008541115611a9157426008546040517f49ba6123000000000000000000000000000000000000000000000000000000008152600401611a889291906146ae565b60405180910390fd5b60075460068190555060006203f4804201905080600881905550826007819055503373ffffffffffffffffffffffffffffffffffffffff167f6115c24b92acd3c6b66bb8ebe04f741f50f1fb8ee4bc9f78608692abae7b914f8483604051611afa9291906146ae565b60405180910390a2505050565b6000806000600654600754600854809350819450829550505050909192565b600061a8c0905090565b600090565b60606000827f000000000000000000000000000000000000000000000000000000000000000046604051602001611b6e9392919061494f565b604051602081830303815290604052604051602001611b8d91906149e3565b604051602081830303815290604052915081805190602001209050915091565b606060008054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1663c5958af984846040518363ffffffff1660e01b8152600401611c0a929190614798565b600060405180830381865afa158015611c27573d6000803e3d6000fd5b505050506040513d6000823e3d601f19601f82011682018060405250810190611c509190614b0a565b905092915050565b611c606122dc565b611c6c84848484612d28565b611c746126af565b50505050565b60008060009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1663ce5e11bf84846040518363ffffffff1660e01b8152600401611cd8929190614798565b602060405180830381865afa158015611cf5573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190611d1991906148fa565b905092915050565b611d296122dc565b600082829050905060005b81811015611de357611dd8848483818110611d5257611d51614706565b5b9050602002810190611d649190614b53565b60000135858584818110611d7b57611d7a614706565b5b9050602002810190611d8d9190614b53565b8060200190611d9c919061483a565b878786818110611daf57611dae614706565b5b9050602002810190611dc19190614b53565b6040016020810190611dd3919061489d565b612d28565b806001019050611d34565b5050611ded6126af565b5050565b6060600083839050905060008167ffffffffffffffff811115611e1757611e166146d7565b5b604051908082528060200260200182016040528015611e455781602001602082028036833780820191505090505b50905060005b82811015611ead5760036000878784818110611e6a57611e69614706565b5b90506020020135815260200190815260200160002080549050828281518110611e9657611e95614706565b5b602002602001018181525050806001019050611e4b565b50809250505092915050565b60008060009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1663e07c548684846040518363ffffffff1660e01b8152600401611f17929190614798565b602060405180830381865afa158015611f34573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190611f589190614b90565b905092915050565b6060600083839050905060008167ffffffffffffffff811115611f8657611f856146d7565b5b604051908082528060200260200182016040528015611fb45781602001602082028036833780820191505090505b50905060005b828110156120565760056000878784818110611fd957611fd8614706565b5b9050602002016020810190611fee9190613ef8565b73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000208054905082828151811061203f5761203e614706565b5b602002602001018181525050806001019050611fba565b50809250505092915050565b6000806000612070856113e7565b90506000810361208757600080925092505061223f565b808061209290614bbd565b915050600060019050600080600084905060006120af8a83611c7a565b90508881116120ca576000809750975050505050505061223f565b6120d48a84611c7a565b9050888111156120e357600094505b5b84156121ab57600283836120f89190614be6565b6121029190614c49565b935061210e8a85611c7a565b9050888111156121585760006121308b60018761212b9190614764565b611c7a565b90508981116121425760009550612152565b60018561214f9190614764565b92505b506121a6565b60006121708b60018761216b9190614be6565b611c7a565b9050898111156121945760009550848061218990614c7a565b9550508091506121a4565b6001856121a19190614be6565b93505b505b6120e4565b6121b58a82610c63565b6121cb576001849750975050505050505061223f565b5b6121d68a82610c63565b80156121e157508584105b156122055783806121f190614c7a565b9450506121fe8a85611c7a565b90506121cc565b858414801561221a57506122198a82610c63565b5b15612231576000809750975050505050505061223f565b600184975097505050505050505b9250929050565b60007f000000000000000000000000000000000000000000000000000000000000000073ffffffffffffffffffffffffffffffffffffffff1663a18a186b6040518163ffffffff1660e01b8152600401602060405180830381865afa1580156122b3573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906122d79190614b90565b905090565b600260015403612321576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161231890614d0e565b60405180910390fd5b6002600181905550565b600073ffffffffffffffffffffffffffffffffffffffff166004600085815260200190815260200160002060009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16146123c4576040517f0f86cb1500000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b60006002600085815260200190815260200160002060008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002054036124915760036000848152602001908152602001600020819080600181540180825580915050600190039060005260206000200160009091909190916101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff1602179055505b6000819050826002600086815260200190815260200160002060008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060008282546124f69190614be6565b9250508190555060008173ffffffffffffffffffffffffffffffffffffffff166370a08231306040518263ffffffff1660e01b81526004016125389190613956565b602060405180830381865afa158015612555573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019061257991906148fa565b90506125a83330868573ffffffffffffffffffffffffffffffffffffffff166130fe909392919063ffffffff16565b60008273ffffffffffffffffffffffffffffffffffffffff166370a08231306040518263ffffffff1660e01b81526004016125e39190613956565b602060405180830381865afa158015612600573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019061262491906148fa565b90508482826126339190614764565b1461266a576040517f623e3b8d00000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b7fe998b53c9531c48a44dbba4821f25a3b30653a05535079e14148545101b05f888685873360405161269f9493929190614d2e565b60405180910390a1505050505050565b60018081905550565b60007f000000000000000000000000000000000000000000000000000000000000000073ffffffffffffffffffffffffffffffffffffffff1663aa5976c1836040518263ffffffff1660e01b815260040161271391906148ca565b600060405180830381865afa158015612730573d6000803e3d6000fd5b505050506040513d6000823e3d601f19601f82011682018060405250810190612759919061509d565b9050600061276683611b35565b91505060008061278983856101a001516bffffffffffffffffffffffff16610ede565b91509150600081036127c7576040517f3a34802b00000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b61a8c063ffffffff1681426127dc9190614764565b1015612814576040517f8429c8c300000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b6000808380602001905181019061282b91906150e6565b91509150600061283b8685611eb9565b905080600460008a815260200190815260200160002060006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff160217905550600560008273ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000208890806001815401808255809150506001900390600052602060002001600090919091909150557f000000000000000000000000000000000000000000000000000000000000000073ffffffffffffffffffffffffffffffffffffffff1663d8c798b2898560006040518463ffffffff1660e01b815260040161295393929190615126565b600060405180830381600087803b15801561296d57600080fd5b505af1158015612981573d6000803e3d6000fd5b50505050600087610180015173ffffffffffffffffffffffffffffffffffffffff1663313ce5676040518163ffffffff1660e01b8152600401602060405180830381865afa1580156129d7573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906129fb9190615196565b60120360ff16600a0a905060007f000000000000000000000000000000000000000000000000000000000000000073ffffffffffffffffffffffffffffffffffffffff16630d2bc2ef8a6101800151306040518363ffffffff1660e01b8152600401612a68929190614685565b602060405180830381865afa158015612a85573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190612aa991906148fa565b90506000612acb858484612abd91906151c3565b61318790919063ffffffff16565b9050600080612ad86131b8565b905080831115612b075784612af688836131d490919063ffffffff16565b612b009190614c49565b9150612b0b565b8391505b6000600267ffffffffffffffff811115612b2857612b276146d7565b5b604051908082528060200260200182016040528015612b6157816020015b612b4e61357b565b815260200190600190039081612b465790505b50905060405180606001604052808873ffffffffffffffffffffffffffffffffffffffff1681526020018e610180015173ffffffffffffffffffffffffffffffffffffffff1681526020018481525081600081518110612bc457612bc3614706565b5b60200260200101819052506040518060600160405280612be2613205565b73ffffffffffffffffffffffffffffffffffffffff1681526020018e610180015173ffffffffffffffffffffffffffffffffffffffff1681526020018487612c2a9190614764565b81525081600181518110612c4157612c40614706565b5b60200260200101819052507f000000000000000000000000000000000000000000000000000000000000000073ffffffffffffffffffffffffffffffffffffffff166364f997a6826040518263ffffffff1660e01b8152600401612ca591906152f6565b600060405180830381600087803b158015612cbf57600080fd5b505af1158015612cd3573d6000803e3d6000fd5b505050508d7fb9075cf86dd0e4093346b2e44c985dba26c26386a5c67941a345f189bc750a808a8f6101a001518d604051612d1093929190615349565b60405180910390a25050505050505050505050505050565b600073ffffffffffffffffffffffffffffffffffffffff166004600086815260200190815260200160002060009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1603612dc1576040517f0691ae0600000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b600083839050905060005b81811015612f86576000858583818110612de957612de8614706565b5b9050602002016020810190612dfe9190613ef8565b905060006002600089815260200190815260200160002060008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000205490506000600260008a815260200190815260200160002060008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002081905550612f09600460008a815260200190815260200160002060009054906101000a900473ffffffffffffffffffffffffffffffffffffffff16828473ffffffffffffffffffffffffffffffffffffffff166132619092919063ffffffff16565b7fa96c8557ce2dce3b1bd46b77acfcb1201a4ef9e5a43c35ff414c2c15fc39fb4888600460008b815260200190815260200160002060009054906101000a900473ffffffffffffffffffffffffffffffffffffffff168484604051612f719493929190615380565b60405180910390a18260010192505050612dcc565b5081156130f75760007f000000000000000000000000000000000000000000000000000000000000000073ffffffffffffffffffffffffffffffffffffffff1663aa5976c1876040518263ffffffff1660e01b8152600401612fe891906148ca565b600060405180830381865afa158015613005573d6000803e3d6000fd5b505050506040513d6000823e3d601f19601f8201168201806040525081019061302e919061509d565b90507f000000000000000000000000000000000000000000000000000000000000000073ffffffffffffffffffffffffffffffffffffffff16636cac65fb826101800151600460008a815260200190815260200160002060009054906101000a900473ffffffffffffffffffffffffffffffffffffffff166040518363ffffffff1660e01b81526004016130c3929190614685565b600060405180830381600087803b1580156130dd57600080fd5b505af11580156130f1573d6000803e3d6000fd5b50505050505b5050505050565b613181846323b872dd60e01b85858560405160240161311f9392919061391f565b604051602081830303815290604052907bffffffffffffffffffffffffffffffffffffffffffffffffffffffff19166020820180517bffffffffffffffffffffffffffffffffffffffffffffffffffffffff83818316178352505050506132e7565b50505050565b6000601260ff16600a61319a91906154f8565b82846131a691906151c3565b6131b09190614c49565b905092915050565b600060085442106131cb576007546131cf565b6006545b905090565b600081601260ff16600a6131e891906154f8565b846131f391906151c3565b6131fd9190614c49565b905092915050565b6000600b54421061323857600a60009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1661325c565b600960009054906101000a900473ffffffffffffffffffffffffffffffffffffffff165b905090565b6132e28363a9059cbb60e01b8484604051602401613280929190615543565b604051602081830303815290604052907bffffffffffffffffffffffffffffffffffffffffffffffffffffffff19166020820180517bffffffffffffffffffffffffffffffffffffffffffffffffffffffff83818316178352505050506132e7565b505050565b6000613349826040518060400160405280602081526020017f5361666545524332303a206c6f772d6c6576656c2063616c6c206661696c65648152508573ffffffffffffffffffffffffffffffffffffffff166133ae9092919063ffffffff16565b90506000815111156133a9578080602001905181019061336991906147d6565b6133a8576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161339f906155de565b60405180910390fd5b5b505050565b60606133bd84846000856133c6565b90509392505050565b60608247101561340b576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161340290615670565b60405180910390fd5b6000808673ffffffffffffffffffffffffffffffffffffffff16858760405161343491906156cc565b60006040518083038185875af1925050503d8060008114613471576040519150601f19603f3d011682016040523d82523d6000602084013e613476565b606091505b509150915061348787838387613493565b92505050949350505050565b606083156134f55760008351036134ed576134ad85613508565b6134ec576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016134e39061572f565b60405180910390fd5b5b829050613500565b6134ff838361352b565b5b949350505050565b6000808273ffffffffffffffffffffffffffffffffffffffff163b119050919050565b60008251111561353e5781518083602001fd5b806040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016135729190615793565b60405180910390fd5b6040518060600160405280600073ffffffffffffffffffffffffffffffffffffffff168152602001600073ffffffffffffffffffffffffffffffffffffffff168152602001600081525090565b6000819050919050565b6135db816135c8565b82525050565b60006020820190506135f660008301846135d2565b92915050565b600073ffffffffffffffffffffffffffffffffffffffff82169050919050565b6000819050919050565b600061364161363c613637846135fc565b61361c565b6135fc565b9050919050565b600061365382613626565b9050919050565b600061366582613648565b9050919050565b6136758161365a565b82525050565b6000602082019050613690600083018461366c565b92915050565b6000604051905090565b600080fd5b600080fd5b600080fd5b600080fd5b600080fd5b60008083601f8401126136cf576136ce6136aa565b5b8235905067ffffffffffffffff8111156136ec576136eb6136af565b5b602083019150836060820283011115613708576137076136b4565b5b9250929050565b60008060208385031215613726576137256136a0565b5b600083013567ffffffffffffffff811115613744576137436136a5565b5b613750858286016136b9565b92509250509250929050565b600081519050919050565b600082825260208201905092915050565b6000819050602082019050919050565b600081519050919050565b600082825260208201905092915050565b6000819050602082019050919050565b60006137bf826135fc565b9050919050565b6137cf816137b4565b82525050565b60006137e183836137c6565b60208301905092915050565b6000602082019050919050565b600061380582613788565b61380f8185613793565b935061381a836137a4565b8060005b8381101561384b57815161383288826137d5565b975061383d836137ed565b92505060018101905061381e565b5085935050505092915050565b600061386483836137fa565b905092915050565b6000602082019050919050565b60006138848261375c565b61388e8185613767565b9350836020820285016138a085613778565b8060005b858110156138dc57848403895281516138bd8582613858565b94506138c88361386c565b925060208a019950506001810190506138a4565b50829750879550505050505092915050565b600060208201905081810360008301526139088184613879565b905092915050565b613919816137b4565b82525050565b60006060820190506139346000830186613910565b6139416020830185613910565b61394e60408301846135d2565b949350505050565b600060208201905061396b6000830184613910565b92915050565b6000819050919050565b61398481613971565b811461398f57600080fd5b50565b6000813590506139a18161397b565b92915050565b6139b0816135c8565b81146139bb57600080fd5b50565b6000813590506139cd816139a7565b92915050565b600080604083850312156139ea576139e96136a0565b5b60006139f885828601613992565b9250506020613a09858286016139be565b9150509250929050565b60008115159050919050565b613a2881613a13565b82525050565b6000602082019050613a436000830184613a1f565b92915050565b60008083601f840112613a5f57613a5e6136aa565b5b8235905067ffffffffffffffff811115613a7c57613a7b6136af565b5b602083019150836020820283011115613a9857613a976136b4565b5b9250929050565b60008060208385031215613ab657613ab56136a0565b5b600083013567ffffffffffffffff811115613ad457613ad36136a5565b5b613ae085828601613a49565b92509250509250929050565b600082825260208201905092915050565b6000613b0882613788565b613b128185613aec565b9350613b1d836137a4565b8060005b83811015613b4e578151613b3588826137d5565b9750613b40836137ed565b925050600181019050613b21565b5085935050505092915050565b60006020820190508181036000830152613b758184613afd565b905092915050565b60008083601f840112613b9357613b926136aa565b5b8235905067ffffffffffffffff811115613bb057613baf6136af565b5b602083019150836060820283011115613bcc57613bcb6136b4565b5b9250929050565b60008060208385031215613bea57613be96136a0565b5b600083013567ffffffffffffffff811115613c0857613c076136a5565b5b613c1485828601613b7d565b92509250509250929050565b613c29816137b4565b8114613c3457600080fd5b50565b600081359050613c4681613c20565b92915050565b600080600060608486031215613c6557613c646136a0565b5b6000613c7386828701613992565b9350506020613c84868287016139be565b9250506040613c9586828701613c37565b9150509250925092565b600081519050919050565b600082825260208201905092915050565b60005b83811015613cd9578082015181840152602081019050613cbe565b60008484015250505050565b6000601f19601f8301169050919050565b6000613d0182613c9f565b613d0b8185613caa565b9350613d1b818560208601613cbb565b613d2481613ce5565b840191505092915050565b60006040820190508181036000830152613d498185613cf6565b9050613d5860208301846135d2565b9392505050565b60008083601f840112613d7557613d746136aa565b5b8235905067ffffffffffffffff811115613d9257613d916136af565b5b602083019150836020820283011115613dae57613dad6136b4565b5b9250929050565b60008060208385031215613dcc57613dcb6136a0565b5b600083013567ffffffffffffffff811115613dea57613de96136a5565b5b613df685828601613d5f565b92509250509250929050565b60008083601f840112613e1857613e176136aa565b5b8235905067ffffffffffffffff811115613e3557613e346136af565b5b602083019150836020820283011115613e5157613e506136b4565b5b9250929050565b613e6181613a13565b8114613e6c57600080fd5b50565b600081359050613e7e81613e58565b92915050565b60008060008060608587031215613e9e57613e9d6136a0565b5b6000613eac87828801613992565b945050602085013567ffffffffffffffff811115613ecd57613ecc6136a5565b5b613ed987828801613e02565b93509350506040613eec87828801613e6f565b91505092959194509250565b600060208284031215613f0e57613f0d6136a0565b5b6000613f1c84828501613c37565b91505092915050565b600060208284031215613f3b57613f3a6136a0565b5b6000613f4984828501613992565b91505092915050565b60008083601f840112613f6857613f676136aa565b5b8235905067ffffffffffffffff811115613f8557613f846136af565b5b602083019150836060820283011115613fa157613fa06136b4565b5b9250929050565b60008060208385031215613fbf57613fbe6136a0565b5b600083013567ffffffffffffffff811115613fdd57613fdc6136a5565b5b613fe985828601613f52565b92509250509250929050565b600081519050919050565b600082825260208201905092915050565b6000819050602082019050919050565b600081519050919050565b600082825260208201905092915050565b6000819050602082019050919050565b61405681613971565b82525050565b6000614068838361404d565b60208301905092915050565b6000602082019050919050565b600061408c82614021565b614096818561402c565b93506140a18361403d565b8060005b838110156140d25781516140b9888261405c565b97506140c483614074565b9250506001810190506140a5565b5085935050505092915050565b60006140eb8383614081565b905092915050565b6000602082019050919050565b600061410b82613ff5565b6141158185614000565b93508360208202850161412785614011565b8060005b85811015614163578484038952815161414485826140df565b945061414f836140f3565b925060208a0199505060018101905061412b565b50829750879550505050505092915050565b6000602082019050818103600083015261418f8184614100565b905092915050565b60008083601f8401126141ad576141ac6136aa565b5b8235905067ffffffffffffffff8111156141ca576141c96136af565b5b6020830191508360208202830111156141e6576141e56136b4565b5b9250929050565b60008060208385031215614204576142036136a0565b5b600083013567ffffffffffffffff811115614222576142216136a5565b5b61422e85828601614197565b92509250509250929050565b600081519050919050565b600082825260208201905092915050565b6000819050602082019050919050565b600081519050919050565b600082825260208201905092915050565b6000819050602082019050919050565b61429b816135c8565b82525050565b60006142ad8383614292565b60208301905092915050565b6000602082019050919050565b60006142d182614266565b6142db8185614271565b93506142e683614282565b8060005b838110156143175781516142fe88826142a1565b9750614309836142b9565b9250506001810190506142ea565b5085935050505092915050565b600061433083836142c6565b905092915050565b6000602082019050919050565b60006143508261423a565b61435a8185614245565b93508360208202850161436c85614256565b8060005b858110156143a857848403895281516143898582614324565b945061439483614338565b925060208a01995050600181019050614370565b50829750879550505050505092915050565b600060208201905081810360008301526143d48184614345565b905092915050565b6000602082840312156143f2576143f16136a0565b5b6000614400848285016139be565b91505092915050565b600060608201905061441e60008301866135d2565b61442b60208301856135d2565b61443860408301846135d2565b949350505050565b600063ffffffff82169050919050565b61445981614440565b82525050565b60006020820190506144746000830184614450565b92915050565b61448381613971565b82525050565b600060408201905081810360008301526144a38185613cf6565b90506144b2602083018461447a565b9392505050565b600060208201905081810360008301526144d38184613cf6565b905092915050565b60008083601f8401126144f1576144f06136aa565b5b8235905067ffffffffffffffff81111561450e5761450d6136af565b5b60208301915083602082028301111561452a576145296136b4565b5b9250929050565b60008060208385031215614548576145476136a0565b5b600083013567ffffffffffffffff811115614566576145656136a5565b5b614572858286016144db565b92509250509250929050565b600082825260208201905092915050565b600061459a82614266565b6145a4818561457e565b93506145af83614282565b8060005b838110156145e05781516145c788826142a1565b97506145d2836142b9565b9250506001810190506145b3565b5085935050505092915050565b60006020820190508181036000830152614607818461458f565b905092915050565b60008060208385031215614626576146256136a0565b5b600083013567ffffffffffffffff811115614644576146436136a5565b5b61465085828601613e02565b92509250509250929050565b60006040820190506146716000830185613a1f565b61467e60208301846135d2565b9392505050565b600060408201905061469a6000830185613910565b6146a76020830184613910565b9392505050565b60006040820190506146c360008301856135d2565b6146d060208301846135d2565b9392505050565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052604160045260246000fd5b7f4e487b7100000000000000000000000000000000000000000000000000000000600052603260045260246000fd5b7f4e487b7100000000000000000000000000000000000000000000000000000000600052601160045260246000fd5b600061476f826135c8565b915061477a836135c8565b925082820390508181111561479257614791614735565b5b92915050565b60006040820190506147ad600083018561447a565b6147ba60208301846135d2565b9392505050565b6000815190506147d081613e58565b92915050565b6000602082840312156147ec576147eb6136a0565b5b60006147fa848285016147c1565b91505092915050565b600080fd5b600080fd5b600080fd5b60008235600160600383360303811261482e5761482d614803565b5b80830191505092915050565b6000808335600160200384360303811261485757614856614803565b5b80840192508235915067ffffffffffffffff82111561487957614878614808565b5b6020830192506020820236038313156148955761489461480d565b5b509250929050565b6000602082840312156148b3576148b26136a0565b5b60006148c184828501613e6f565b91505092915050565b60006020820190506148df600083018461447a565b92915050565b6000815190506148f4816139a7565b92915050565b6000602082840312156149105761490f6136a0565b5b600061491e848285016148e5565b91505092915050565b60008235600160400383360303811261494357614942614803565b5b80830191505092915050565b6000606082019050614964600083018661447a565b6149716020830185613910565b61497e60408301846135d2565b949350505050565b600082825260208201905092915050565b7f4449564150726f746f636f6c0000000000000000000000000000000000000000600082015250565b60006149cd600c83614986565b91506149d882614997565b602082019050919050565b600060408201905081810360008301526149fc816149c0565b90508181036020830152614a108184613cf6565b905092915050565b600080fd5b614a2682613ce5565b810181811067ffffffffffffffff82111715614a4557614a446146d7565b5b80604052505050565b6000614a58613696565b9050614a648282614a1d565b919050565b600067ffffffffffffffff821115614a8457614a836146d7565b5b614a8d82613ce5565b9050602081019050919050565b6000614aad614aa884614a69565b614a4e565b905082815260208101848484011115614ac957614ac8614a18565b5b614ad4848285613cbb565b509392505050565b600082601f830112614af157614af06136aa565b5b8151614b01848260208601614a9a565b91505092915050565b600060208284031215614b2057614b1f6136a0565b5b600082015167ffffffffffffffff811115614b3e57614b3d6136a5565b5b614b4a84828501614adc565b91505092915050565b600082356001606003833603038112614b6f57614b6e614803565b5b80830191505092915050565b600081519050614b8a81613c20565b92915050565b600060208284031215614ba657614ba56136a0565b5b6000614bb484828501614b7b565b91505092915050565b6000614bc8826135c8565b915060008203614bdb57614bda614735565b5b600182039050919050565b6000614bf1826135c8565b9150614bfc836135c8565b9250828201905080821115614c1457614c13614735565b5b92915050565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052601260045260246000fd5b6000614c54826135c8565b9150614c5f836135c8565b925082614c6f57614c6e614c1a565b5b828204905092915050565b6000614c85826135c8565b91507fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff8203614cb757614cb6614735565b5b600182019050919050565b7f5265656e7472616e637947756172643a207265656e7472616e742063616c6c00600082015250565b6000614cf8601f83614986565b9150614d0382614cc2565b602082019050919050565b60006020820190508181036000830152614d2781614ceb565b9050919050565b6000608082019050614d43600083018761447a565b614d506020830186613910565b614d5d60408301856135d2565b614d6a6060830184613910565b95945050505050565b600080fd5b600080fd5b60006bffffffffffffffffffffffff82169050919050565b614d9e81614d7d565b8114614da957600080fd5b50565b600081519050614dbb81614d95565b92915050565b600065ffffffffffff82169050919050565b614ddc81614dc1565b8114614de757600080fd5b50565b600081519050614df981614dd3565b92915050565b60048110614e0c57600080fd5b50565b600081519050614e1e81614dff565b92915050565b600067ffffffffffffffff821115614e3f57614e3e6146d7565b5b614e4882613ce5565b9050602081019050919050565b6000614e68614e6384614e24565b614a4e565b905082815260208101848484011115614e8457614e83614a18565b5b614e8f848285613cbb565b509392505050565b600082601f830112614eac57614eab6136aa565b5b8151614ebc848260208601614e55565b91505092915050565b60006102608284031215614edc57614edb614d73565b5b614ee7610260614a4e565b90506000614ef7848285016148e5565b6000830152506020614f0b848285016148e5565b6020830152506040614f1f848285016148e5565b6040830152506060614f33848285016148e5565b6060830152506080614f47848285016148e5565b60808301525060a0614f5b848285016148e5565b60a08301525060c0614f6f848285016148e5565b60c08301525060e0614f83848285016148e5565b60e083015250610100614f9884828501614b7b565b61010083015250610120614fae84828501614dac565b61012083015250610140614fc484828501614b7b565b61014083015250610160614fda84828501614dac565b61016083015250610180614ff084828501614b7b565b610180830152506101a061500684828501614dac565b6101a0830152506101c061501c84828501614b7b565b6101c0830152506101e061503284828501614dea565b6101e08301525061020061504884828501614dea565b6102008301525061022061505e84828501614e0f565b6102208301525061024082015167ffffffffffffffff81111561508457615083614d78565b5b61509084828501614e97565b6102408301525092915050565b6000602082840312156150b3576150b26136a0565b5b600082015167ffffffffffffffff8111156150d1576150d06136a5565b5b6150dd84828501614ec5565b91505092915050565b600080604083850312156150fd576150fc6136a0565b5b600061510b858286016148e5565b925050602061511c858286016148e5565b9150509250929050565b600060608201905061513b600083018661447a565b61514860208301856135d2565b6151556040830184613a1f565b949350505050565b600060ff82169050919050565b6151738161515d565b811461517e57600080fd5b50565b6000815190506151908161516a565b92915050565b6000602082840312156151ac576151ab6136a0565b5b60006151ba84828501615181565b91505092915050565b60006151ce826135c8565b91506151d9836135c8565b92508282026151e7816135c8565b915082820484148315176151fe576151fd614735565b5b5092915050565b600081519050919050565b600082825260208201905092915050565b6000819050602082019050919050565b60608201600082015161524760008501826137c6565b50602082015161525a60208501826137c6565b50604082015161526d6040850182614292565b50505050565b600061527f8383615231565b60608301905092915050565b6000602082019050919050565b60006152a382615205565b6152ad8185615210565b93506152b883615221565b8060005b838110156152e95781516152d08882615273565b97506152db8361528b565b9250506001810190506152bc565b5085935050505092915050565b600060208201905081810360008301526153108184615298565b905092915050565b600061533361532e61532984614d7d565b61361c565b6135c8565b9050919050565b61534381615318565b82525050565b600060608201905061535e60008301866135d2565b61536b602083018561533a565b61537860408301846135d2565b949350505050565b6000608082019050615395600083018761447a565b6153a26020830186613910565b6153af6040830185613910565b6153bc60608301846135d2565b95945050505050565b60008160011c9050919050565b6000808291508390505b600185111561541c578086048111156153f8576153f7614735565b5b60018516156154075780820291505b8081029050615415856153c5565b94506153dc565b94509492505050565b60008261543557600190506154f1565b8161544357600090506154f1565b8160018114615459576002811461546357615492565b60019150506154f1565b60ff84111561547557615474614735565b5b8360020a91508482111561548c5761548b614735565b5b506154f1565b5060208310610133831016604e8410600b84101617156154c75782820a9050838111156154c2576154c1614735565b5b6154f1565b6154d484848460016153d2565b925090508184048111156154eb576154ea614735565b5b81810290505b9392505050565b6000615503826135c8565b915061550e836135c8565b925061553b7fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff8484615425565b905092915050565b60006040820190506155586000830185613910565b61556560208301846135d2565b9392505050565b7f5361666545524332303a204552433230206f7065726174696f6e20646964206e60008201527f6f74207375636365656400000000000000000000000000000000000000000000602082015250565b60006155c8602a83614986565b91506155d38261556c565b604082019050919050565b600060208201905081810360008301526155f7816155bb565b9050919050565b7f416464726573733a20696e73756666696369656e742062616c616e636520666f60008201527f722063616c6c0000000000000000000000000000000000000000000000000000602082015250565b600061565a602683614986565b9150615665826155fe565b604082019050919050565b600060208201905081810360008301526156898161564d565b9050919050565b600081905092915050565b60006156a682613c9f565b6156b08185615690565b93506156c0818560208601613cbb565b80840191505092915050565b60006156d8828461569b565b915081905092915050565b7f416464726573733a2063616c6c20746f206e6f6e2d636f6e7472616374000000600082015250565b6000615719601d83614986565b9150615724826156e3565b602082019050919050565b600060208201905081810360008301526157488161570c565b9050919050565b600081519050919050565b60006157658261574f565b61576f8185614986565b935061577f818560208601613cbb565b61578881613ce5565b840191505092915050565b600060208201905081810360008301526157ad818461575a565b90509291505056fea2646970667358221220b91ce4d61090b1956a1fb15e09d8d8b341a095e3bae533ca8cfe8d0ca48ed21864736f6c634300081300330000000000000000000000000a7b725f595f44d38b1c16091ede5945af4de9fe000000000000000000000000d9157453e2668b2fc45b7a803d3fef3642430cc0000000000000000000000000b12dad08cc6abd5c7ad0ac136180c6dfad48431a0000000000000000000000000000000000000000000000008ac7230489e800000000000000000000000000002c9c47e7d254e493f02acfb410864b9a86c28e1d
Deployed Bytecode
0x608060405234801561001057600080fd5b50600436106101f05760003560e01c806377b03e0d1161010f578063c5958af9116100a2578063de77c73311610071578063de77c733146105bf578063e07c5486146105ef578063e8c91f6b1461061f578063f66f49c31461064f576101f0565b8063c5958af914610527578063c7ce611914610557578063ce5e11bf14610573578063d5ebc24c146105a3576101f0565b80638f1d241c116100de5780638f1d241c1461049a57806399d22243146104ba578063a1f910df146104d8578063be53ef17146104f6576101f0565b806377b03e0d146103ee57806378568be51461041e5780637b73a1cf1461044e5780638a07fd121461047e576101f0565b806358e877d6116101875780636c875365116101565780636c875365146103905780636dc9b9db146103ac5780637174b0bf146103b657806372ea7076146103d2576101f0565b806358e877d6146102f75780635a5038ab146103275780635d72d0a01461034357806364ee3c6d1461035f576101f0565b806325162d33116101c357806325162d331461026b57806325bdf0011461028b5780632adc7712146102a957806344e87f91146102c7576101f0565b806307d522db146101f557806312be041a146102135780631959ad5b1461021d57806322834ecf1461023b575b600080fd5b6101fd610680565b60405161020a91906135e1565b60405180910390f35b61021b61068b565b005b61022561087b565b604051610232919061367b565b60405180910390f35b6102556004803603810190610250919061370f565b61089f565b60405161026291906138ee565b60405180910390f35b610273610bb4565b6040516102829392919061391f565b60405180910390f35b610293610c13565b6040516102a09190613956565b60405180910390f35b6102b1610c3b565b6040516102be9190613956565b60405180910390f35b6102e160048036038101906102dc91906139d3565b610c63565b6040516102ee9190613a2e565b60405180910390f35b610311600480360381019061030c9190613a9f565b610d0a565b60405161031e9190613b5b565b60405180910390f35b610341600480360381019061033c9190613bd3565b610e1d565b005b61035d60048036038101906103589190613c4c565b610ebe565b005b610379600480360381019061037491906139d3565b610ede565b604051610387929190613d2f565b60405180910390f35b6103aa60048036038101906103a59190613db5565b610f38565b005b6103b4611039565b005b6103d060048036038101906103cb9190613e84565b61116e565b005b6103ec60048036038101906103e79190613ef8565b611199565b005b61040860048036038101906104039190613f25565b6113e7565b60405161041591906135e1565b60405180910390f35b61043860048036038101906104339190613fa8565b61148b565b6040516104459190614175565b60405180910390f35b610468600480360381019061046391906141ed565b61179a565b60405161047591906143ba565b60405180910390f35b610498600480360381019061049391906143dc565b6119c8565b005b6104a2611b07565b6040516104b193929190614409565b60405180910390f35b6104c2611b26565b6040516104cf919061445f565b60405180910390f35b6104e0611b30565b6040516104ed9190613a2e565b60405180910390f35b610510600480360381019061050b9190613f25565b611b35565b60405161051e929190614489565b60405180910390f35b610541600480360381019061053c91906139d3565b611bad565b60405161054e91906144b9565b60405180910390f35b610571600480360381019061056c9190613e84565b611c58565b005b61058d600480360381019061058891906139d3565b611c7a565b60405161059a91906135e1565b60405180910390f35b6105bd60048036038101906105b89190614531565b611d21565b005b6105d960048036038101906105d49190613a9f565b611df1565b6040516105e691906145ed565b60405180910390f35b610609600480360381019061060491906139d3565b611eb9565b6040516106169190613956565b60405180910390f35b6106396004803603810190610634919061460f565b611f60565b60405161064691906145ed565b60405180910390f35b610669600480360381019061066491906139d3565b612062565b60405161067792919061465c565b60405180910390f35b60006203f480905090565b6000610695612246565b90508073ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff16146107095733816040517fff4127cb000000000000000000000000000000000000000000000000000000008152600401610700929190614685565b60405180910390fd5b42600b54116107535742600b546040517fa0f0017d00000000000000000000000000000000000000000000000000000000815260040161074a9291906146ae565b60405180910390fd5b6000600a60009054906101000a900473ffffffffffffffffffffffffffffffffffffffff16905042600b81905550600960009054906101000a900473ffffffffffffffffffffffffffffffffffffffff16600a60006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff160217905550600960009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168173ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff167fb0415a48a7f7321aeca08e2cae417a5607a54a735a607af86a72b1b67553858860405160405180910390a45050565b60008054906101000a900473ffffffffffffffffffffffffffffffffffffffff1681565b6060600083839050905060008167ffffffffffffffff8111156108c5576108c46146d7565b5b6040519080825280602002602001820160405280156108f857816020015b60608152602001906001900390816108e35790505b50905060005b82811015610ba857600086868381811061091b5761091a614706565b5b9050606002016020013587878481811061093857610937614706565b5b9050606002016040013561094c9190614764565b67ffffffffffffffff811115610965576109646146d7565b5b6040519080825280602002602001820160405280156109935781602001602082028036833780820191505090505b50905060008787848181106109ab576109aa614706565b5b9050606002016020013590505b8787848181106109cb576109ca614706565b5b90506060020160400135811015610b7c57600360008989868181106109f3576109f2614706565b5b905060600201600001358152602001908152602001600020805490508110610a9057600082898986818110610a2b57610a2a614706565b5b9050606002016020013583610a409190614764565b81518110610a5157610a50614706565b5b602002602001019073ffffffffffffffffffffffffffffffffffffffff16908173ffffffffffffffffffffffffffffffffffffffff1681525050610b71565b60036000898986818110610aa757610aa6614706565b5b9050606002016000013581526020019081526020016000208181548110610ad157610ad0614706565b5b9060005260206000200160009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1682898986818110610b1057610b0f614706565b5b9050606002016020013583610b259190614764565b81518110610b3657610b35614706565b5b602002602001019073ffffffffffffffffffffffffffffffffffffffff16908173ffffffffffffffffffffffffffffffffffffffff16815250505b8060010190506109b8565b5080838381518110610b9157610b90614706565b5b6020026020010181905250816001019150506108fe565b50809250505092915050565b6000806000600960009054906101000a900473ffffffffffffffffffffffffffffffffffffffff16600a60009054906101000a900473ffffffffffffffffffffffffffffffffffffffff16600b54809350819450829550505050909192565b60007f0000000000000000000000000a7b725f595f44d38b1c16091ede5945af4de9fe905090565b60007f0000000000000000000000002c9c47e7d254e493f02acfb410864b9a86c28e1d905090565b60008060009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff166344e87f9184846040518363ffffffff1660e01b8152600401610cc1929190614798565b602060405180830381865afa158015610cde573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190610d0291906147d6565b905092915050565b6060600083839050905060008167ffffffffffffffff811115610d3057610d2f6146d7565b5b604051908082528060200260200182016040528015610d5e5781602001602082028036833780820191505090505b50905060005b82811015610e115760046000878784818110610d8357610d82614706565b5b90506020020135815260200190815260200160002060009054906101000a900473ffffffffffffffffffffffffffffffffffffffff16828281518110610dcc57610dcb614706565b5b602002602001019073ffffffffffffffffffffffffffffffffffffffff16908173ffffffffffffffffffffffffffffffffffffffff1681525050806001019050610d64565b50809250505092915050565b610e256122dc565b600082829050905060005b81811015610eb057610ea5848483818110610e4e57610e4d614706565b5b90506060020160000135858584818110610e6b57610e6a614706565b5b90506060020160200135868685818110610e8857610e87614706565b5b9050606002016040016020810190610ea09190613ef8565b61232b565b806001019050610e30565b5050610eba6126af565b5050565b610ec66122dc565b610ed183838361232b565b610ed96126af565b505050565b60606000806000610eef8686612062565b9150915081610f165760006040518060200160405280600081525090935093505050610f31565b610f208682611c7a565b9250610f2c8684611bad565b935050505b9250929050565b610f406122dc565b600082829050905060005b8181101561102b57610f84848483818110610f6957610f68614706565b5b9050602002810190610f7b9190614812565b600001356126b8565b611020848483818110610f9a57610f99614706565b5b9050602002810190610fac9190614812565b60000135858584818110610fc357610fc2614706565b5b9050602002810190610fd59190614812565b8060200190610fe4919061483a565b878786818110610ff757610ff6614706565b5b90506020028101906110099190614812565b604001602081019061101b919061489d565b612d28565b806001019050610f4b565b50506110356126af565b5050565b6000611043612246565b90508073ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff16146110b75733816040517fff4127cb0000000000000000000000000000000000000000000000000000000081526004016110ae929190614685565b60405180910390fd5b426008541161110157426008546040517f7ecdf63a0000000000000000000000000000000000000000000000000000000081526004016110f89291906146ae565b60405180910390fd5b60006007549050426008819055506006546007819055503373ffffffffffffffffffffffffffffffffffffffff167f2192780498bbb28e94a22b91593de099c9a417c6296685ab241c5148b11b9d17826006546040516111629291906146ae565b60405180910390a25050565b6111766122dc565b61117f846126b8565b61118b84848484612d28565b6111936126af565b50505050565b60006111a3612246565b90508073ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff16146112175733816040517fff4127cb00000000000000000000000000000000000000000000000000000000815260040161120e929190614685565b60405180910390fd5b600073ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff160361127d576040517f8665651400000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b42600b5411156112c85742600b546040517faf69515a0000000000000000000000000000000000000000000000000000000081526004016112bf9291906146ae565b60405180910390fd5b600a60009054906101000a900473ffffffffffffffffffffffffffffffffffffffff16600960006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff16021790555060006203f4804201905080600b8190555082600a60006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff1602179055508273ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff167f47e65fbddcf92eb86a46b87579d23fd69d6d51551e85265b5cdb9ddb4bfd0891836040516113da91906135e1565b60405180910390a3505050565b60008060009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff166377b03e0d836040518263ffffffff1660e01b815260040161144391906148ca565b602060405180830381865afa158015611460573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019061148491906148fa565b9050919050565b6060600083839050905060008167ffffffffffffffff8111156114b1576114b06146d7565b5b6040519080825280602002602001820160405280156114e457816020015b60608152602001906001900390816114cf5790505b50905060005b8281101561178e57600086868381811061150757611506614706565b5b9050606002016020013587878481811061152457611523614706565b5b905060600201604001356115389190614764565b67ffffffffffffffff811115611551576115506146d7565b5b60405190808252806020026020018201604052801561157f5781602001602082028036833780820191505090505b509050600087878481811061159757611596614706565b5b9050606002016020013590505b8787848181106115b7576115b6614706565b5b9050606002016040013581101561176257600560008989868181106115df576115de614706565b5b90506060020160000160208101906115f79190613ef8565b73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002080549050811061168a576000801b8289898681811061165357611652614706565b5b90506060020160200135836116689190614764565b8151811061167957611678614706565b5b602002602001018181525050611757565b600560008989868181106116a1576116a0614706565b5b90506060020160000160208101906116b99190613ef8565b73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020818154811061170557611704614706565b5b90600052602060002001548289898681811061172457611723614706565b5b90506060020160200135836117399190614764565b8151811061174a57611749614706565b5b6020026020010181815250505b8060010190506115a4565b508083838151811061177757611776614706565b5b6020026020010181905250816001019150506114ea565b50809250505092915050565b6060600083839050905060008167ffffffffffffffff8111156117c0576117bf6146d7565b5b6040519080825280602002602001820160405280156117f357816020015b60608152602001906001900390816117de5790505b50905060005b828110156119bc57600086868381811061181657611815614706565b5b90506020028101906118289190614927565b8060200190611837919061483a565b9050905060008167ffffffffffffffff811115611857576118566146d7565b5b6040519080825280602002602001820160405280156118855781602001602082028036833780820191505090505b50905060005b8281101561198f57600260008a8a878181106118aa576118a9614706565b5b90506020028101906118bc9190614927565b60000135815260200190815260200160002060008a8a878181106118e3576118e2614706565b5b90506020028101906118f59190614927565b8060200190611904919061483a565b8481811061191557611914614706565b5b905060200201602081019061192a9190613ef8565b73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000205482828151811061197857611977614706565b5b60200260200101818152505080600101905061188b565b50808484815181106119a4576119a3614706565b5b602002602001018190525082600101925050506117f9565b50809250505092915050565b60006119d2612246565b90508073ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff1614611a465733816040517fff4127cb000000000000000000000000000000000000000000000000000000008152600401611a3d929190614685565b60405180910390fd5b426008541115611a9157426008546040517f49ba6123000000000000000000000000000000000000000000000000000000008152600401611a889291906146ae565b60405180910390fd5b60075460068190555060006203f4804201905080600881905550826007819055503373ffffffffffffffffffffffffffffffffffffffff167f6115c24b92acd3c6b66bb8ebe04f741f50f1fb8ee4bc9f78608692abae7b914f8483604051611afa9291906146ae565b60405180910390a2505050565b6000806000600654600754600854809350819450829550505050909192565b600061a8c0905090565b600090565b60606000827f0000000000000000000000002c9c47e7d254e493f02acfb410864b9a86c28e1d46604051602001611b6e9392919061494f565b604051602081830303815290604052604051602001611b8d91906149e3565b604051602081830303815290604052915081805190602001209050915091565b606060008054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1663c5958af984846040518363ffffffff1660e01b8152600401611c0a929190614798565b600060405180830381865afa158015611c27573d6000803e3d6000fd5b505050506040513d6000823e3d601f19601f82011682018060405250810190611c509190614b0a565b905092915050565b611c606122dc565b611c6c84848484612d28565b611c746126af565b50505050565b60008060009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1663ce5e11bf84846040518363ffffffff1660e01b8152600401611cd8929190614798565b602060405180830381865afa158015611cf5573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190611d1991906148fa565b905092915050565b611d296122dc565b600082829050905060005b81811015611de357611dd8848483818110611d5257611d51614706565b5b9050602002810190611d649190614b53565b60000135858584818110611d7b57611d7a614706565b5b9050602002810190611d8d9190614b53565b8060200190611d9c919061483a565b878786818110611daf57611dae614706565b5b9050602002810190611dc19190614b53565b6040016020810190611dd3919061489d565b612d28565b806001019050611d34565b5050611ded6126af565b5050565b6060600083839050905060008167ffffffffffffffff811115611e1757611e166146d7565b5b604051908082528060200260200182016040528015611e455781602001602082028036833780820191505090505b50905060005b82811015611ead5760036000878784818110611e6a57611e69614706565b5b90506020020135815260200190815260200160002080549050828281518110611e9657611e95614706565b5b602002602001018181525050806001019050611e4b565b50809250505092915050565b60008060009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1663e07c548684846040518363ffffffff1660e01b8152600401611f17929190614798565b602060405180830381865afa158015611f34573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190611f589190614b90565b905092915050565b6060600083839050905060008167ffffffffffffffff811115611f8657611f856146d7565b5b604051908082528060200260200182016040528015611fb45781602001602082028036833780820191505090505b50905060005b828110156120565760056000878784818110611fd957611fd8614706565b5b9050602002016020810190611fee9190613ef8565b73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000208054905082828151811061203f5761203e614706565b5b602002602001018181525050806001019050611fba565b50809250505092915050565b6000806000612070856113e7565b90506000810361208757600080925092505061223f565b808061209290614bbd565b915050600060019050600080600084905060006120af8a83611c7a565b90508881116120ca576000809750975050505050505061223f565b6120d48a84611c7a565b9050888111156120e357600094505b5b84156121ab57600283836120f89190614be6565b6121029190614c49565b935061210e8a85611c7a565b9050888111156121585760006121308b60018761212b9190614764565b611c7a565b90508981116121425760009550612152565b60018561214f9190614764565b92505b506121a6565b60006121708b60018761216b9190614be6565b611c7a565b9050898111156121945760009550848061218990614c7a565b9550508091506121a4565b6001856121a19190614be6565b93505b505b6120e4565b6121b58a82610c63565b6121cb576001849750975050505050505061223f565b5b6121d68a82610c63565b80156121e157508584105b156122055783806121f190614c7a565b9450506121fe8a85611c7a565b90506121cc565b858414801561221a57506122198a82610c63565b5b15612231576000809750975050505050505061223f565b600184975097505050505050505b9250929050565b60007f0000000000000000000000000a7b725f595f44d38b1c16091ede5945af4de9fe73ffffffffffffffffffffffffffffffffffffffff1663a18a186b6040518163ffffffff1660e01b8152600401602060405180830381865afa1580156122b3573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906122d79190614b90565b905090565b600260015403612321576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161231890614d0e565b60405180910390fd5b6002600181905550565b600073ffffffffffffffffffffffffffffffffffffffff166004600085815260200190815260200160002060009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16146123c4576040517f0f86cb1500000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b60006002600085815260200190815260200160002060008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002054036124915760036000848152602001908152602001600020819080600181540180825580915050600190039060005260206000200160009091909190916101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff1602179055505b6000819050826002600086815260200190815260200160002060008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060008282546124f69190614be6565b9250508190555060008173ffffffffffffffffffffffffffffffffffffffff166370a08231306040518263ffffffff1660e01b81526004016125389190613956565b602060405180830381865afa158015612555573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019061257991906148fa565b90506125a83330868573ffffffffffffffffffffffffffffffffffffffff166130fe909392919063ffffffff16565b60008273ffffffffffffffffffffffffffffffffffffffff166370a08231306040518263ffffffff1660e01b81526004016125e39190613956565b602060405180830381865afa158015612600573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019061262491906148fa565b90508482826126339190614764565b1461266a576040517f623e3b8d00000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b7fe998b53c9531c48a44dbba4821f25a3b30653a05535079e14148545101b05f888685873360405161269f9493929190614d2e565b60405180910390a1505050505050565b60018081905550565b60007f0000000000000000000000002c9c47e7d254e493f02acfb410864b9a86c28e1d73ffffffffffffffffffffffffffffffffffffffff1663aa5976c1836040518263ffffffff1660e01b815260040161271391906148ca565b600060405180830381865afa158015612730573d6000803e3d6000fd5b505050506040513d6000823e3d601f19601f82011682018060405250810190612759919061509d565b9050600061276683611b35565b91505060008061278983856101a001516bffffffffffffffffffffffff16610ede565b91509150600081036127c7576040517f3a34802b00000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b61a8c063ffffffff1681426127dc9190614764565b1015612814576040517f8429c8c300000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b6000808380602001905181019061282b91906150e6565b91509150600061283b8685611eb9565b905080600460008a815260200190815260200160002060006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff160217905550600560008273ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000208890806001815401808255809150506001900390600052602060002001600090919091909150557f0000000000000000000000002c9c47e7d254e493f02acfb410864b9a86c28e1d73ffffffffffffffffffffffffffffffffffffffff1663d8c798b2898560006040518463ffffffff1660e01b815260040161295393929190615126565b600060405180830381600087803b15801561296d57600080fd5b505af1158015612981573d6000803e3d6000fd5b50505050600087610180015173ffffffffffffffffffffffffffffffffffffffff1663313ce5676040518163ffffffff1660e01b8152600401602060405180830381865afa1580156129d7573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906129fb9190615196565b60120360ff16600a0a905060007f0000000000000000000000002c9c47e7d254e493f02acfb410864b9a86c28e1d73ffffffffffffffffffffffffffffffffffffffff16630d2bc2ef8a6101800151306040518363ffffffff1660e01b8152600401612a68929190614685565b602060405180830381865afa158015612a85573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190612aa991906148fa565b90506000612acb858484612abd91906151c3565b61318790919063ffffffff16565b9050600080612ad86131b8565b905080831115612b075784612af688836131d490919063ffffffff16565b612b009190614c49565b9150612b0b565b8391505b6000600267ffffffffffffffff811115612b2857612b276146d7565b5b604051908082528060200260200182016040528015612b6157816020015b612b4e61357b565b815260200190600190039081612b465790505b50905060405180606001604052808873ffffffffffffffffffffffffffffffffffffffff1681526020018e610180015173ffffffffffffffffffffffffffffffffffffffff1681526020018481525081600081518110612bc457612bc3614706565b5b60200260200101819052506040518060600160405280612be2613205565b73ffffffffffffffffffffffffffffffffffffffff1681526020018e610180015173ffffffffffffffffffffffffffffffffffffffff1681526020018487612c2a9190614764565b81525081600181518110612c4157612c40614706565b5b60200260200101819052507f0000000000000000000000002c9c47e7d254e493f02acfb410864b9a86c28e1d73ffffffffffffffffffffffffffffffffffffffff166364f997a6826040518263ffffffff1660e01b8152600401612ca591906152f6565b600060405180830381600087803b158015612cbf57600080fd5b505af1158015612cd3573d6000803e3d6000fd5b505050508d7fb9075cf86dd0e4093346b2e44c985dba26c26386a5c67941a345f189bc750a808a8f6101a001518d604051612d1093929190615349565b60405180910390a25050505050505050505050505050565b600073ffffffffffffffffffffffffffffffffffffffff166004600086815260200190815260200160002060009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1603612dc1576040517f0691ae0600000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b600083839050905060005b81811015612f86576000858583818110612de957612de8614706565b5b9050602002016020810190612dfe9190613ef8565b905060006002600089815260200190815260200160002060008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000205490506000600260008a815260200190815260200160002060008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002081905550612f09600460008a815260200190815260200160002060009054906101000a900473ffffffffffffffffffffffffffffffffffffffff16828473ffffffffffffffffffffffffffffffffffffffff166132619092919063ffffffff16565b7fa96c8557ce2dce3b1bd46b77acfcb1201a4ef9e5a43c35ff414c2c15fc39fb4888600460008b815260200190815260200160002060009054906101000a900473ffffffffffffffffffffffffffffffffffffffff168484604051612f719493929190615380565b60405180910390a18260010192505050612dcc565b5081156130f75760007f0000000000000000000000002c9c47e7d254e493f02acfb410864b9a86c28e1d73ffffffffffffffffffffffffffffffffffffffff1663aa5976c1876040518263ffffffff1660e01b8152600401612fe891906148ca565b600060405180830381865afa158015613005573d6000803e3d6000fd5b505050506040513d6000823e3d601f19601f8201168201806040525081019061302e919061509d565b90507f0000000000000000000000002c9c47e7d254e493f02acfb410864b9a86c28e1d73ffffffffffffffffffffffffffffffffffffffff16636cac65fb826101800151600460008a815260200190815260200160002060009054906101000a900473ffffffffffffffffffffffffffffffffffffffff166040518363ffffffff1660e01b81526004016130c3929190614685565b600060405180830381600087803b1580156130dd57600080fd5b505af11580156130f1573d6000803e3d6000fd5b50505050505b5050505050565b613181846323b872dd60e01b85858560405160240161311f9392919061391f565b604051602081830303815290604052907bffffffffffffffffffffffffffffffffffffffffffffffffffffffff19166020820180517bffffffffffffffffffffffffffffffffffffffffffffffffffffffff83818316178352505050506132e7565b50505050565b6000601260ff16600a61319a91906154f8565b82846131a691906151c3565b6131b09190614c49565b905092915050565b600060085442106131cb576007546131cf565b6006545b905090565b600081601260ff16600a6131e891906154f8565b846131f391906151c3565b6131fd9190614c49565b905092915050565b6000600b54421061323857600a60009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1661325c565b600960009054906101000a900473ffffffffffffffffffffffffffffffffffffffff165b905090565b6132e28363a9059cbb60e01b8484604051602401613280929190615543565b604051602081830303815290604052907bffffffffffffffffffffffffffffffffffffffffffffffffffffffff19166020820180517bffffffffffffffffffffffffffffffffffffffffffffffffffffffff83818316178352505050506132e7565b505050565b6000613349826040518060400160405280602081526020017f5361666545524332303a206c6f772d6c6576656c2063616c6c206661696c65648152508573ffffffffffffffffffffffffffffffffffffffff166133ae9092919063ffffffff16565b90506000815111156133a9578080602001905181019061336991906147d6565b6133a8576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161339f906155de565b60405180910390fd5b5b505050565b60606133bd84846000856133c6565b90509392505050565b60608247101561340b576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161340290615670565b60405180910390fd5b6000808673ffffffffffffffffffffffffffffffffffffffff16858760405161343491906156cc565b60006040518083038185875af1925050503d8060008114613471576040519150601f19603f3d011682016040523d82523d6000602084013e613476565b606091505b509150915061348787838387613493565b92505050949350505050565b606083156134f55760008351036134ed576134ad85613508565b6134ec576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016134e39061572f565b60405180910390fd5b5b829050613500565b6134ff838361352b565b5b949350505050565b6000808273ffffffffffffffffffffffffffffffffffffffff163b119050919050565b60008251111561353e5781518083602001fd5b806040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016135729190615793565b60405180910390fd5b6040518060600160405280600073ffffffffffffffffffffffffffffffffffffffff168152602001600073ffffffffffffffffffffffffffffffffffffffff168152602001600081525090565b6000819050919050565b6135db816135c8565b82525050565b60006020820190506135f660008301846135d2565b92915050565b600073ffffffffffffffffffffffffffffffffffffffff82169050919050565b6000819050919050565b600061364161363c613637846135fc565b61361c565b6135fc565b9050919050565b600061365382613626565b9050919050565b600061366582613648565b9050919050565b6136758161365a565b82525050565b6000602082019050613690600083018461366c565b92915050565b6000604051905090565b600080fd5b600080fd5b600080fd5b600080fd5b600080fd5b60008083601f8401126136cf576136ce6136aa565b5b8235905067ffffffffffffffff8111156136ec576136eb6136af565b5b602083019150836060820283011115613708576137076136b4565b5b9250929050565b60008060208385031215613726576137256136a0565b5b600083013567ffffffffffffffff811115613744576137436136a5565b5b613750858286016136b9565b92509250509250929050565b600081519050919050565b600082825260208201905092915050565b6000819050602082019050919050565b600081519050919050565b600082825260208201905092915050565b6000819050602082019050919050565b60006137bf826135fc565b9050919050565b6137cf816137b4565b82525050565b60006137e183836137c6565b60208301905092915050565b6000602082019050919050565b600061380582613788565b61380f8185613793565b935061381a836137a4565b8060005b8381101561384b57815161383288826137d5565b975061383d836137ed565b92505060018101905061381e565b5085935050505092915050565b600061386483836137fa565b905092915050565b6000602082019050919050565b60006138848261375c565b61388e8185613767565b9350836020820285016138a085613778565b8060005b858110156138dc57848403895281516138bd8582613858565b94506138c88361386c565b925060208a019950506001810190506138a4565b50829750879550505050505092915050565b600060208201905081810360008301526139088184613879565b905092915050565b613919816137b4565b82525050565b60006060820190506139346000830186613910565b6139416020830185613910565b61394e60408301846135d2565b949350505050565b600060208201905061396b6000830184613910565b92915050565b6000819050919050565b61398481613971565b811461398f57600080fd5b50565b6000813590506139a18161397b565b92915050565b6139b0816135c8565b81146139bb57600080fd5b50565b6000813590506139cd816139a7565b92915050565b600080604083850312156139ea576139e96136a0565b5b60006139f885828601613992565b9250506020613a09858286016139be565b9150509250929050565b60008115159050919050565b613a2881613a13565b82525050565b6000602082019050613a436000830184613a1f565b92915050565b60008083601f840112613a5f57613a5e6136aa565b5b8235905067ffffffffffffffff811115613a7c57613a7b6136af565b5b602083019150836020820283011115613a9857613a976136b4565b5b9250929050565b60008060208385031215613ab657613ab56136a0565b5b600083013567ffffffffffffffff811115613ad457613ad36136a5565b5b613ae085828601613a49565b92509250509250929050565b600082825260208201905092915050565b6000613b0882613788565b613b128185613aec565b9350613b1d836137a4565b8060005b83811015613b4e578151613b3588826137d5565b9750613b40836137ed565b925050600181019050613b21565b5085935050505092915050565b60006020820190508181036000830152613b758184613afd565b905092915050565b60008083601f840112613b9357613b926136aa565b5b8235905067ffffffffffffffff811115613bb057613baf6136af565b5b602083019150836060820283011115613bcc57613bcb6136b4565b5b9250929050565b60008060208385031215613bea57613be96136a0565b5b600083013567ffffffffffffffff811115613c0857613c076136a5565b5b613c1485828601613b7d565b92509250509250929050565b613c29816137b4565b8114613c3457600080fd5b50565b600081359050613c4681613c20565b92915050565b600080600060608486031215613c6557613c646136a0565b5b6000613c7386828701613992565b9350506020613c84868287016139be565b9250506040613c9586828701613c37565b9150509250925092565b600081519050919050565b600082825260208201905092915050565b60005b83811015613cd9578082015181840152602081019050613cbe565b60008484015250505050565b6000601f19601f8301169050919050565b6000613d0182613c9f565b613d0b8185613caa565b9350613d1b818560208601613cbb565b613d2481613ce5565b840191505092915050565b60006040820190508181036000830152613d498185613cf6565b9050613d5860208301846135d2565b9392505050565b60008083601f840112613d7557613d746136aa565b5b8235905067ffffffffffffffff811115613d9257613d916136af565b5b602083019150836020820283011115613dae57613dad6136b4565b5b9250929050565b60008060208385031215613dcc57613dcb6136a0565b5b600083013567ffffffffffffffff811115613dea57613de96136a5565b5b613df685828601613d5f565b92509250509250929050565b60008083601f840112613e1857613e176136aa565b5b8235905067ffffffffffffffff811115613e3557613e346136af565b5b602083019150836020820283011115613e5157613e506136b4565b5b9250929050565b613e6181613a13565b8114613e6c57600080fd5b50565b600081359050613e7e81613e58565b92915050565b60008060008060608587031215613e9e57613e9d6136a0565b5b6000613eac87828801613992565b945050602085013567ffffffffffffffff811115613ecd57613ecc6136a5565b5b613ed987828801613e02565b93509350506040613eec87828801613e6f565b91505092959194509250565b600060208284031215613f0e57613f0d6136a0565b5b6000613f1c84828501613c37565b91505092915050565b600060208284031215613f3b57613f3a6136a0565b5b6000613f4984828501613992565b91505092915050565b60008083601f840112613f6857613f676136aa565b5b8235905067ffffffffffffffff811115613f8557613f846136af565b5b602083019150836060820283011115613fa157613fa06136b4565b5b9250929050565b60008060208385031215613fbf57613fbe6136a0565b5b600083013567ffffffffffffffff811115613fdd57613fdc6136a5565b5b613fe985828601613f52565b92509250509250929050565b600081519050919050565b600082825260208201905092915050565b6000819050602082019050919050565b600081519050919050565b600082825260208201905092915050565b6000819050602082019050919050565b61405681613971565b82525050565b6000614068838361404d565b60208301905092915050565b6000602082019050919050565b600061408c82614021565b614096818561402c565b93506140a18361403d565b8060005b838110156140d25781516140b9888261405c565b97506140c483614074565b9250506001810190506140a5565b5085935050505092915050565b60006140eb8383614081565b905092915050565b6000602082019050919050565b600061410b82613ff5565b6141158185614000565b93508360208202850161412785614011565b8060005b85811015614163578484038952815161414485826140df565b945061414f836140f3565b925060208a0199505060018101905061412b565b50829750879550505050505092915050565b6000602082019050818103600083015261418f8184614100565b905092915050565b60008083601f8401126141ad576141ac6136aa565b5b8235905067ffffffffffffffff8111156141ca576141c96136af565b5b6020830191508360208202830111156141e6576141e56136b4565b5b9250929050565b60008060208385031215614204576142036136a0565b5b600083013567ffffffffffffffff811115614222576142216136a5565b5b61422e85828601614197565b92509250509250929050565b600081519050919050565b600082825260208201905092915050565b6000819050602082019050919050565b600081519050919050565b600082825260208201905092915050565b6000819050602082019050919050565b61429b816135c8565b82525050565b60006142ad8383614292565b60208301905092915050565b6000602082019050919050565b60006142d182614266565b6142db8185614271565b93506142e683614282565b8060005b838110156143175781516142fe88826142a1565b9750614309836142b9565b9250506001810190506142ea565b5085935050505092915050565b600061433083836142c6565b905092915050565b6000602082019050919050565b60006143508261423a565b61435a8185614245565b93508360208202850161436c85614256565b8060005b858110156143a857848403895281516143898582614324565b945061439483614338565b925060208a01995050600181019050614370565b50829750879550505050505092915050565b600060208201905081810360008301526143d48184614345565b905092915050565b6000602082840312156143f2576143f16136a0565b5b6000614400848285016139be565b91505092915050565b600060608201905061441e60008301866135d2565b61442b60208301856135d2565b61443860408301846135d2565b949350505050565b600063ffffffff82169050919050565b61445981614440565b82525050565b60006020820190506144746000830184614450565b92915050565b61448381613971565b82525050565b600060408201905081810360008301526144a38185613cf6565b90506144b2602083018461447a565b9392505050565b600060208201905081810360008301526144d38184613cf6565b905092915050565b60008083601f8401126144f1576144f06136aa565b5b8235905067ffffffffffffffff81111561450e5761450d6136af565b5b60208301915083602082028301111561452a576145296136b4565b5b9250929050565b60008060208385031215614548576145476136a0565b5b600083013567ffffffffffffffff811115614566576145656136a5565b5b614572858286016144db565b92509250509250929050565b600082825260208201905092915050565b600061459a82614266565b6145a4818561457e565b93506145af83614282565b8060005b838110156145e05781516145c788826142a1565b97506145d2836142b9565b9250506001810190506145b3565b5085935050505092915050565b60006020820190508181036000830152614607818461458f565b905092915050565b60008060208385031215614626576146256136a0565b5b600083013567ffffffffffffffff811115614644576146436136a5565b5b61465085828601613e02565b92509250509250929050565b60006040820190506146716000830185613a1f565b61467e60208301846135d2565b9392505050565b600060408201905061469a6000830185613910565b6146a76020830184613910565b9392505050565b60006040820190506146c360008301856135d2565b6146d060208301846135d2565b9392505050565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052604160045260246000fd5b7f4e487b7100000000000000000000000000000000000000000000000000000000600052603260045260246000fd5b7f4e487b7100000000000000000000000000000000000000000000000000000000600052601160045260246000fd5b600061476f826135c8565b915061477a836135c8565b925082820390508181111561479257614791614735565b5b92915050565b60006040820190506147ad600083018561447a565b6147ba60208301846135d2565b9392505050565b6000815190506147d081613e58565b92915050565b6000602082840312156147ec576147eb6136a0565b5b60006147fa848285016147c1565b91505092915050565b600080fd5b600080fd5b600080fd5b60008235600160600383360303811261482e5761482d614803565b5b80830191505092915050565b6000808335600160200384360303811261485757614856614803565b5b80840192508235915067ffffffffffffffff82111561487957614878614808565b5b6020830192506020820236038313156148955761489461480d565b5b509250929050565b6000602082840312156148b3576148b26136a0565b5b60006148c184828501613e6f565b91505092915050565b60006020820190506148df600083018461447a565b92915050565b6000815190506148f4816139a7565b92915050565b6000602082840312156149105761490f6136a0565b5b600061491e848285016148e5565b91505092915050565b60008235600160400383360303811261494357614942614803565b5b80830191505092915050565b6000606082019050614964600083018661447a565b6149716020830185613910565b61497e60408301846135d2565b949350505050565b600082825260208201905092915050565b7f4449564150726f746f636f6c0000000000000000000000000000000000000000600082015250565b60006149cd600c83614986565b91506149d882614997565b602082019050919050565b600060408201905081810360008301526149fc816149c0565b90508181036020830152614a108184613cf6565b905092915050565b600080fd5b614a2682613ce5565b810181811067ffffffffffffffff82111715614a4557614a446146d7565b5b80604052505050565b6000614a58613696565b9050614a648282614a1d565b919050565b600067ffffffffffffffff821115614a8457614a836146d7565b5b614a8d82613ce5565b9050602081019050919050565b6000614aad614aa884614a69565b614a4e565b905082815260208101848484011115614ac957614ac8614a18565b5b614ad4848285613cbb565b509392505050565b600082601f830112614af157614af06136aa565b5b8151614b01848260208601614a9a565b91505092915050565b600060208284031215614b2057614b1f6136a0565b5b600082015167ffffffffffffffff811115614b3e57614b3d6136a5565b5b614b4a84828501614adc565b91505092915050565b600082356001606003833603038112614b6f57614b6e614803565b5b80830191505092915050565b600081519050614b8a81613c20565b92915050565b600060208284031215614ba657614ba56136a0565b5b6000614bb484828501614b7b565b91505092915050565b6000614bc8826135c8565b915060008203614bdb57614bda614735565b5b600182039050919050565b6000614bf1826135c8565b9150614bfc836135c8565b9250828201905080821115614c1457614c13614735565b5b92915050565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052601260045260246000fd5b6000614c54826135c8565b9150614c5f836135c8565b925082614c6f57614c6e614c1a565b5b828204905092915050565b6000614c85826135c8565b91507fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff8203614cb757614cb6614735565b5b600182019050919050565b7f5265656e7472616e637947756172643a207265656e7472616e742063616c6c00600082015250565b6000614cf8601f83614986565b9150614d0382614cc2565b602082019050919050565b60006020820190508181036000830152614d2781614ceb565b9050919050565b6000608082019050614d43600083018761447a565b614d506020830186613910565b614d5d60408301856135d2565b614d6a6060830184613910565b95945050505050565b600080fd5b600080fd5b60006bffffffffffffffffffffffff82169050919050565b614d9e81614d7d565b8114614da957600080fd5b50565b600081519050614dbb81614d95565b92915050565b600065ffffffffffff82169050919050565b614ddc81614dc1565b8114614de757600080fd5b50565b600081519050614df981614dd3565b92915050565b60048110614e0c57600080fd5b50565b600081519050614e1e81614dff565b92915050565b600067ffffffffffffffff821115614e3f57614e3e6146d7565b5b614e4882613ce5565b9050602081019050919050565b6000614e68614e6384614e24565b614a4e565b905082815260208101848484011115614e8457614e83614a18565b5b614e8f848285613cbb565b509392505050565b600082601f830112614eac57614eab6136aa565b5b8151614ebc848260208601614e55565b91505092915050565b60006102608284031215614edc57614edb614d73565b5b614ee7610260614a4e565b90506000614ef7848285016148e5565b6000830152506020614f0b848285016148e5565b6020830152506040614f1f848285016148e5565b6040830152506060614f33848285016148e5565b6060830152506080614f47848285016148e5565b60808301525060a0614f5b848285016148e5565b60a08301525060c0614f6f848285016148e5565b60c08301525060e0614f83848285016148e5565b60e083015250610100614f9884828501614b7b565b61010083015250610120614fae84828501614dac565b61012083015250610140614fc484828501614b7b565b61014083015250610160614fda84828501614dac565b61016083015250610180614ff084828501614b7b565b610180830152506101a061500684828501614dac565b6101a0830152506101c061501c84828501614b7b565b6101c0830152506101e061503284828501614dea565b6101e08301525061020061504884828501614dea565b6102008301525061022061505e84828501614e0f565b6102208301525061024082015167ffffffffffffffff81111561508457615083614d78565b5b61509084828501614e97565b6102408301525092915050565b6000602082840312156150b3576150b26136a0565b5b600082015167ffffffffffffffff8111156150d1576150d06136a5565b5b6150dd84828501614ec5565b91505092915050565b600080604083850312156150fd576150fc6136a0565b5b600061510b858286016148e5565b925050602061511c858286016148e5565b9150509250929050565b600060608201905061513b600083018661447a565b61514860208301856135d2565b6151556040830184613a1f565b949350505050565b600060ff82169050919050565b6151738161515d565b811461517e57600080fd5b50565b6000815190506151908161516a565b92915050565b6000602082840312156151ac576151ab6136a0565b5b60006151ba84828501615181565b91505092915050565b60006151ce826135c8565b91506151d9836135c8565b92508282026151e7816135c8565b915082820484148315176151fe576151fd614735565b5b5092915050565b600081519050919050565b600082825260208201905092915050565b6000819050602082019050919050565b60608201600082015161524760008501826137c6565b50602082015161525a60208501826137c6565b50604082015161526d6040850182614292565b50505050565b600061527f8383615231565b60608301905092915050565b6000602082019050919050565b60006152a382615205565b6152ad8185615210565b93506152b883615221565b8060005b838110156152e95781516152d08882615273565b97506152db8361528b565b9250506001810190506152bc565b5085935050505092915050565b600060208201905081810360008301526153108184615298565b905092915050565b600061533361532e61532984614d7d565b61361c565b6135c8565b9050919050565b61534381615318565b82525050565b600060608201905061535e60008301866135d2565b61536b602083018561533a565b61537860408301846135d2565b949350505050565b6000608082019050615395600083018761447a565b6153a26020830186613910565b6153af6040830185613910565b6153bc60608301846135d2565b95945050505050565b60008160011c9050919050565b6000808291508390505b600185111561541c578086048111156153f8576153f7614735565b5b60018516156154075780820291505b8081029050615415856153c5565b94506153dc565b94509492505050565b60008261543557600190506154f1565b8161544357600090506154f1565b8160018114615459576002811461546357615492565b60019150506154f1565b60ff84111561547557615474614735565b5b8360020a91508482111561548c5761548b614735565b5b506154f1565b5060208310610133831016604e8410600b84101617156154c75782820a9050838111156154c2576154c1614735565b5b6154f1565b6154d484848460016153d2565b925090508184048111156154eb576154ea614735565b5b81810290505b9392505050565b6000615503826135c8565b915061550e836135c8565b925061553b7fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff8484615425565b905092915050565b60006040820190506155586000830185613910565b61556560208301846135d2565b9392505050565b7f5361666545524332303a204552433230206f7065726174696f6e20646964206e60008201527f6f74207375636365656400000000000000000000000000000000000000000000602082015250565b60006155c8602a83614986565b91506155d38261556c565b604082019050919050565b600060208201905081810360008301526155f7816155bb565b9050919050565b7f416464726573733a20696e73756666696369656e742062616c616e636520666f60008201527f722063616c6c0000000000000000000000000000000000000000000000000000602082015250565b600061565a602683614986565b9150615665826155fe565b604082019050919050565b600060208201905081810360008301526156898161564d565b9050919050565b600081905092915050565b60006156a682613c9f565b6156b08185615690565b93506156c0818560208601613cbb565b80840191505092915050565b60006156d8828461569b565b915081905092915050565b7f416464726573733a2063616c6c20746f206e6f6e2d636f6e7472616374000000600082015250565b6000615719601d83614986565b9150615724826156e3565b602082019050919050565b600060208201905081810360008301526157488161570c565b9050919050565b600081519050919050565b60006157658261574f565b61576f8185614986565b935061577f818560208601613cbb565b61578881613ce5565b840191505092915050565b600060208201905081810360008301526157ad818461575a565b90509291505056fea2646970667358221220b91ce4d61090b1956a1fb15e09d8d8b341a095e3bae533ca8cfe8d0ca48ed21864736f6c63430008130033
Constructor Arguments (ABI-Encoded and is the last bytes of the Contract Creation Code above)
0000000000000000000000000a7b725f595f44d38b1c16091ede5945af4de9fe000000000000000000000000d9157453e2668b2fc45b7a803d3fef3642430cc0000000000000000000000000b12dad08cc6abd5c7ad0ac136180c6dfad48431a0000000000000000000000000000000000000000000000008ac7230489e800000000000000000000000000002c9c47e7d254e493f02acfb410864b9a86c28e1d

-----Decoded View---------------
Arg [0] : ownershipContract_ (address): 0x0a7B725F595F44d38b1c16091EDE5945aF4De9FE
Arg [1] : tellorAddress_ (address): 0xD9157453E2668B2fc45b7A803D3FEF3642430cC0
Arg [2] : excessDIVARewardRecipient_ (address): 0xb12daD08CC6aBd5c7Ad0ac136180c6DFaD48431a
Arg [3] : maxDIVARewardUSD_ (uint256): 10000000000000000000
Arg [4] : diva_ (address): 0x2C9c47E7d254e493f02acfB410864b9a86c28e1D

-----Encoded View---------------
5 Constructor Arguments found :
Arg [0] : 0000000000000000000000000a7b725f595f44d38b1c16091ede5945af4de9fe
Arg [1] : 000000000000000000000000d9157453e2668b2fc45b7a803d3fef3642430cc0
Arg [2] : 000000000000000000000000b12dad08cc6abd5c7ad0ac136180c6dfad48431a
Arg [3] : 0000000000000000000000000000000000000000000000008ac7230489e80000
Arg [4] : 0000000000000000000000002c9c47e7d254e493f02acfb410864b9a86c28e1d

🤖 Code Reader Beta

Generate instant answers for your smart contract questions using Al Models. Read more.

Block Transaction Gas Used Reward
view all blocks validated

Block Uncle Number Difficulty Gas Used Reward
View All Uncles
Loading...
Loading
Loading...
Loading
Loading...
Loading

Validator Index Block Amount
View All Withdrawals

Transaction Hash Block Value Eth2 PubKey Valid
View All Deposits
Loading...
Loading

A contract address hosts a smart contract, which is a set of code stored on the blockchain that runs when predetermined conditions are met. Learn more about addresses in our Knowledge Base.