Overview
ETH Balance
0 ETH
Eth Value
$0.00More Info
Private Name Tags
ContractCreator
TokenTracker
Latest 25 from a total of 945 transactions
Transaction Hash |
Method
|
Block
|
From
|
To
|
|||||
---|---|---|---|---|---|---|---|---|---|
Propose | 13986436 | 1117 days ago | IN | 0 ETH | 0.0071153 | ||||
Propose | 13370427 | 1214 days ago | IN | 0 ETH | 0.0148944 | ||||
Execute | 13369671 | 1214 days ago | IN | 0 ETH | 0.01387487 | ||||
Queue | 13363146 | 1215 days ago | IN | 0 ETH | 0.0164868 | ||||
Cast Vote | 13361423 | 1215 days ago | IN | 0 ETH | 0.00983085 | ||||
Cast Vote | 13360517 | 1215 days ago | IN | 0 ETH | 0.00658166 | ||||
Cast Vote | 13360446 | 1215 days ago | IN | 0 ETH | 0.00566208 | ||||
Cast Vote | 13360110 | 1215 days ago | IN | 0 ETH | 0.00816426 | ||||
Cast Vote | 13360098 | 1215 days ago | IN | 0 ETH | 0.00991823 | ||||
Cast Vote | 13356586 | 1216 days ago | IN | 0 ETH | 0.00793908 | ||||
Cast Vote | 13354443 | 1216 days ago | IN | 0 ETH | 0.00845861 | ||||
Cast Vote | 13354111 | 1216 days ago | IN | 0 ETH | 0.01215183 | ||||
Cast Vote | 13353807 | 1216 days ago | IN | 0 ETH | 0.01234113 | ||||
Cast Vote | 13353535 | 1216 days ago | IN | 0 ETH | 0.0216413 | ||||
Propose | 13349704 | 1217 days ago | IN | 0 ETH | 0.02730854 | ||||
Execute | 13323443 | 1221 days ago | IN | 0 ETH | 0.04566393 | ||||
Queue | 13317000 | 1222 days ago | IN | 0 ETH | 0.02724841 | ||||
Cast Vote | 13315672 | 1222 days ago | IN | 0 ETH | 0.01085527 | ||||
Cast Vote | 13312791 | 1223 days ago | IN | 0 ETH | 0.00523167 | ||||
Cast Vote | 13310863 | 1223 days ago | IN | 0 ETH | 0.00700682 | ||||
Cast Vote | 13310321 | 1223 days ago | IN | 0 ETH | 0.00750194 | ||||
Cast Vote | 13310303 | 1223 days ago | IN | 0 ETH | 0.00510818 | ||||
Cast Vote | 13310290 | 1223 days ago | IN | 0 ETH | 0.00453321 | ||||
Cast Vote | 13310237 | 1223 days ago | IN | 0 ETH | 0.00996932 | ||||
Cast Vote | 13310237 | 1223 days ago | IN | 0 ETH | 0.01237798 |
Loading...
Loading
Contract Source Code Verified (Exact Match)
Contract Name:
GovernorAlpha
Compiler Version
v0.6.6+commit.6c089d02
Contract Source Code (Solidity Standard Json-Input format)
pragma solidity ^0.6.0; pragma experimental ABIEncoderV2; // Forked from Compound // See https://github.com/compound-finance/compound-protocol/blob/master/contracts/Governance/GovernorAlpha.sol contract GovernorAlpha { /// @notice The name of this contract // solhint-disable-next-line const-name-snakecase string public constant name = "Fei Governor Alpha"; /// @notice The number of votes in support of a proposal required in order for a quorum to be reached and for a vote to succeed function quorumVotes() public pure returns (uint) { return 25000000e18; } // 25,000,000 = 2.5% of Tribe /// @notice The number of votes required in order for a voter to become a proposer function proposalThreshold() public pure returns (uint) { return 2500000e18; } // 2,500,000 = .25% of Tribe /// @notice The maximum number of actions that can be included in a proposal function proposalMaxOperations() public pure returns (uint) { return 10; } // 10 actions /// @notice The delay before voting on a proposal may take place, once proposed function votingDelay() public pure returns (uint) { return 3333; } // ~0.5 days in blocks (assuming 13s blocks) /// @notice The duration of voting on a proposal, in blocks function votingPeriod() public pure returns (uint) { return 10000; } // ~1.5 days in blocks (assuming 13s blocks) /// @notice The address of the Fei Protocol Timelock TimelockInterface public timelock; /// @notice The address of the Fei governance token TribeInterface public tribe; /// @notice The address of the Governor Guardian address public guardian; /// @notice The total number of proposals uint public proposalCount; struct Proposal { /// @notice Unique id for looking up a proposal uint id; /// @notice Creator of the proposal address proposer; /// @notice The timestamp that the proposal will be available for execution, set once the vote succeeds uint eta; /// @notice the ordered list of target addresses for calls to be made address[] targets; /// @notice The ordered list of values (i.e. msg.value) to be passed to the calls to be made uint[] values; /// @notice The ordered list of function signatures to be called string[] signatures; /// @notice The ordered list of calldata to be passed to each call bytes[] calldatas; /// @notice The block at which voting begins: holders must delegate their votes prior to this block uint startBlock; /// @notice The block at which voting ends: votes must be cast prior to this block uint endBlock; /// @notice Current number of votes in favor of this proposal uint forVotes; /// @notice Current number of votes in opposition to this proposal uint againstVotes; /// @notice Flag marking whether the proposal has been canceled bool canceled; /// @notice Flag marking whether the proposal has been executed bool executed; /// @notice Receipts of ballots for the entire set of voters mapping (address => Receipt) receipts; } /// @notice Ballot receipt record for a voter struct Receipt { /// @notice Whether or not a vote has been cast bool hasVoted; /// @notice Whether or not the voter supports the proposal bool support; /// @notice The number of votes the voter had, which were cast uint96 votes; } /// @notice Possible states that a proposal may be in enum ProposalState { Pending, Active, Canceled, Defeated, Succeeded, Queued, Expired, Executed } /// @notice The official record of all proposals ever proposed mapping (uint => Proposal) public proposals; /// @notice The latest proposal for each proposer mapping (address => uint) public latestProposalIds; /// @notice The EIP-712 typehash for the contract's domain bytes32 public constant DOMAIN_TYPEHASH = keccak256("EIP712Domain(string name,uint256 chainId,address verifyingContract)"); /// @notice The EIP-712 typehash for the ballot struct used by the contract bytes32 public constant BALLOT_TYPEHASH = keccak256("Ballot(uint256 proposalId,bool support)"); /// @notice An event emitted when a new proposal is created event ProposalCreated(uint id, address proposer, address[] targets, uint[] values, string[] signatures, bytes[] calldatas, uint startBlock, uint endBlock, string description); /// @notice An event emitted when a vote has been cast on a proposal event VoteCast(address voter, uint proposalId, bool support, uint votes); /// @notice An event emitted when a proposal has been canceled event ProposalCanceled(uint id); /// @notice An event emitted when a proposal has been queued in the Timelock event ProposalQueued(uint id, uint eta); /// @notice An event emitted when a proposal has been executed in the Timelock event ProposalExecuted(uint id); constructor(address timelock_, address tribe_, address guardian_) public { timelock = TimelockInterface(timelock_); tribe = TribeInterface(tribe_); guardian = guardian_; } function propose(address[] memory targets, uint[] memory values, string[] memory signatures, bytes[] memory calldatas, string memory description) public returns (uint) { require(tribe.getPriorVotes(msg.sender, sub256(block.number, 1)) > proposalThreshold(), "GovernorAlpha: proposer votes below proposal threshold"); require(targets.length == values.length && targets.length == signatures.length && targets.length == calldatas.length, "GovernorAlpha: proposal function information arity mismatch"); require(targets.length != 0, "GovernorAlpha: must provide actions"); require(targets.length <= proposalMaxOperations(), "GovernorAlpha: too many actions"); uint latestProposalId = latestProposalIds[msg.sender]; if (latestProposalId != 0) { ProposalState proposersLatestProposalState = state(latestProposalId); require(proposersLatestProposalState != ProposalState.Active, "GovernorAlpha: one live proposal per proposer, found an already active proposal"); require(proposersLatestProposalState != ProposalState.Pending, "GovernorAlpha: one live proposal per proposer, found an already pending proposal"); } uint startBlock = add256(block.number, votingDelay()); uint endBlock = add256(startBlock, votingPeriod()); proposalCount++; Proposal memory newProposal = Proposal({ id: proposalCount, proposer: msg.sender, eta: 0, targets: targets, values: values, signatures: signatures, calldatas: calldatas, startBlock: startBlock, endBlock: endBlock, forVotes: 0, againstVotes: 0, canceled: false, executed: false }); proposals[newProposal.id] = newProposal; latestProposalIds[newProposal.proposer] = newProposal.id; emit ProposalCreated(newProposal.id, msg.sender, targets, values, signatures, calldatas, startBlock, endBlock, description); return newProposal.id; } function queue(uint proposalId) public { require(state(proposalId) == ProposalState.Succeeded, "GovernorAlpha: proposal can only be queued if it is succeeded"); Proposal storage proposal = proposals[proposalId]; // solhint-disable-next-line not-rely-on-time uint eta = add256(block.timestamp, timelock.delay()); for (uint i = 0; i < proposal.targets.length; i++) { _queueOrRevert(proposal.targets[i], proposal.values[i], proposal.signatures[i], proposal.calldatas[i], eta); } proposal.eta = eta; emit ProposalQueued(proposalId, eta); } function _queueOrRevert(address target, uint value, string memory signature, bytes memory data, uint eta) internal { require(!timelock.queuedTransactions(keccak256(abi.encode(target, value, signature, data, eta))), "GovernorAlpha: proposal action already queued at eta"); timelock.queueTransaction(target, value, signature, data, eta); } function execute(uint proposalId) public payable { require(state(proposalId) == ProposalState.Queued, "GovernorAlpha: proposal can only be executed if it is queued"); Proposal storage proposal = proposals[proposalId]; proposal.executed = true; for (uint i = 0; i < proposal.targets.length; i++) { timelock.executeTransaction{value : proposal.values[i]}(proposal.targets[i], proposal.values[i], proposal.signatures[i], proposal.calldatas[i], proposal.eta); } emit ProposalExecuted(proposalId); } function cancel(uint proposalId) public { ProposalState state = state(proposalId); require(state == ProposalState.Active || state == ProposalState.Pending, "GovernorAlpha: can only cancel Active or Pending Proposal"); Proposal storage proposal = proposals[proposalId]; require(msg.sender == guardian || tribe.getPriorVotes(proposal.proposer, sub256(block.number, 1)) < proposalThreshold(), "GovernorAlpha: proposer above threshold"); proposal.canceled = true; for (uint i = 0; i < proposal.targets.length; i++) { timelock.cancelTransaction(proposal.targets[i], proposal.values[i], proposal.signatures[i], proposal.calldatas[i], proposal.eta); } emit ProposalCanceled(proposalId); } function getActions(uint proposalId) public view returns (address[] memory targets, uint[] memory values, string[] memory signatures, bytes[] memory calldatas) { Proposal storage p = proposals[proposalId]; return (p.targets, p.values, p.signatures, p.calldatas); } function getReceipt(uint proposalId, address voter) public view returns (Receipt memory) { return proposals[proposalId].receipts[voter]; } function state(uint proposalId) public view returns (ProposalState) { require(proposalCount >= proposalId && proposalId > 0, "GovernorAlpha: invalid proposal id"); Proposal storage proposal = proposals[proposalId]; if (proposal.canceled) { return ProposalState.Canceled; } else if (block.number <= proposal.startBlock) { return ProposalState.Pending; } else if (block.number <= proposal.endBlock) { return ProposalState.Active; } else if (proposal.forVotes <= proposal.againstVotes || proposal.forVotes < quorumVotes()) { return ProposalState.Defeated; } else if (proposal.eta == 0) { return ProposalState.Succeeded; } else if (proposal.executed) { return ProposalState.Executed; // solhint-disable-next-line not-rely-on-time } else if (block.timestamp >= add256(proposal.eta, timelock.GRACE_PERIOD())) { return ProposalState.Expired; } else { return ProposalState.Queued; } } function castVote(uint proposalId, bool support) public { return _castVote(msg.sender, proposalId, support); } function castVoteBySig(uint proposalId, bool support, uint8 v, bytes32 r, bytes32 s) public { bytes32 domainSeparator = keccak256(abi.encode(DOMAIN_TYPEHASH, keccak256(bytes(name)), getChainId(), address(this))); bytes32 structHash = keccak256(abi.encode(BALLOT_TYPEHASH, proposalId, support)); bytes32 digest = keccak256(abi.encodePacked("\x19\x01", domainSeparator, structHash)); address signatory = ecrecover(digest, v, r, s); require(signatory != address(0), "GovernorAlpha: invalid signature"); return _castVote(signatory, proposalId, support); } function _castVote(address voter, uint proposalId, bool support) internal { require(state(proposalId) == ProposalState.Active, "GovernorAlpha: voting is closed"); Proposal storage proposal = proposals[proposalId]; Receipt storage receipt = proposal.receipts[voter]; require(receipt.hasVoted == false, "GovernorAlpha: voter already voted"); uint96 votes = tribe.getPriorVotes(voter, proposal.startBlock); if (support) { proposal.forVotes = add256(proposal.forVotes, votes); } else { proposal.againstVotes = add256(proposal.againstVotes, votes); } receipt.hasVoted = true; receipt.support = support; receipt.votes = votes; emit VoteCast(voter, proposalId, support, votes); } function __acceptAdmin() public { require(msg.sender == guardian, "GovernorAlpha: sender must be gov guardian"); timelock.acceptAdmin(); } function __abdicate() public { require(msg.sender == guardian, "GovernorAlpha: sender must be gov guardian"); guardian = address(0); } function __transferGuardian(address newGuardian) public { require(msg.sender == guardian, "GovernorAlpha: sender must be gov guardian"); guardian = newGuardian; } function __queueSetTimelockPendingAdmin(address newPendingAdmin, uint eta) public { require(msg.sender == guardian, "GovernorAlpha: sender must be gov guardian"); timelock.queueTransaction(address(timelock), 0, "setPendingAdmin(address)", abi.encode(newPendingAdmin), eta); } function __executeSetTimelockPendingAdmin(address newPendingAdmin, uint eta) public { require(msg.sender == guardian, "GovernorAlpha: sender must be gov guardian"); timelock.executeTransaction(address(timelock), 0, "setPendingAdmin(address)", abi.encode(newPendingAdmin), eta); } function add256(uint256 a, uint256 b) internal pure returns (uint) { uint c = a + b; require(c >= a, "addition overflow"); return c; } function sub256(uint256 a, uint256 b) internal pure returns (uint) { require(b <= a, "subtraction underflow"); return a - b; } function getChainId() internal pure returns (uint) { uint chainId; // solhint-disable-next-line no-inline-assembly assembly { chainId := chainid() } return chainId; } } interface TimelockInterface { function delay() external view returns (uint); // solhint-disable-next-line func-name-mixedcase function GRACE_PERIOD() external view returns (uint); function acceptAdmin() external; function queuedTransactions(bytes32 hash) external view returns (bool); function queueTransaction(address target, uint value, string calldata signature, bytes calldata data, uint eta) external returns (bytes32); function cancelTransaction(address target, uint value, string calldata signature, bytes calldata data, uint eta) external; function executeTransaction(address target, uint value, string calldata signature, bytes calldata data, uint eta) external payable returns (bytes memory); } interface TribeInterface { function getPriorVotes(address account, uint blockNumber) external view returns (uint96); }
{ "metadata": { "useLiteralContent": true }, "optimizer": { "enabled": true, "runs": 200 }, "outputSelection": { "*": { "*": [ "evm.bytecode", "evm.deployedBytecode", "abi" ] } } }
Contract Security Audit
- No Contract Security Audit Submitted- Submit Audit Here
[{"inputs":[{"internalType":"address","name":"timelock_","type":"address"},{"internalType":"address","name":"tribe_","type":"address"},{"internalType":"address","name":"guardian_","type":"address"}],"stateMutability":"nonpayable","type":"constructor"},{"anonymous":false,"inputs":[{"indexed":false,"internalType":"uint256","name":"id","type":"uint256"}],"name":"ProposalCanceled","type":"event"},{"anonymous":false,"inputs":[{"indexed":false,"internalType":"uint256","name":"id","type":"uint256"},{"indexed":false,"internalType":"address","name":"proposer","type":"address"},{"indexed":false,"internalType":"address[]","name":"targets","type":"address[]"},{"indexed":false,"internalType":"uint256[]","name":"values","type":"uint256[]"},{"indexed":false,"internalType":"string[]","name":"signatures","type":"string[]"},{"indexed":false,"internalType":"bytes[]","name":"calldatas","type":"bytes[]"},{"indexed":false,"internalType":"uint256","name":"startBlock","type":"uint256"},{"indexed":false,"internalType":"uint256","name":"endBlock","type":"uint256"},{"indexed":false,"internalType":"string","name":"description","type":"string"}],"name":"ProposalCreated","type":"event"},{"anonymous":false,"inputs":[{"indexed":false,"internalType":"uint256","name":"id","type":"uint256"}],"name":"ProposalExecuted","type":"event"},{"anonymous":false,"inputs":[{"indexed":false,"internalType":"uint256","name":"id","type":"uint256"},{"indexed":false,"internalType":"uint256","name":"eta","type":"uint256"}],"name":"ProposalQueued","type":"event"},{"anonymous":false,"inputs":[{"indexed":false,"internalType":"address","name":"voter","type":"address"},{"indexed":false,"internalType":"uint256","name":"proposalId","type":"uint256"},{"indexed":false,"internalType":"bool","name":"support","type":"bool"},{"indexed":false,"internalType":"uint256","name":"votes","type":"uint256"}],"name":"VoteCast","type":"event"},{"inputs":[],"name":"BALLOT_TYPEHASH","outputs":[{"internalType":"bytes32","name":"","type":"bytes32"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"DOMAIN_TYPEHASH","outputs":[{"internalType":"bytes32","name":"","type":"bytes32"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"__abdicate","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[],"name":"__acceptAdmin","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"address","name":"newPendingAdmin","type":"address"},{"internalType":"uint256","name":"eta","type":"uint256"}],"name":"__executeSetTimelockPendingAdmin","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"address","name":"newPendingAdmin","type":"address"},{"internalType":"uint256","name":"eta","type":"uint256"}],"name":"__queueSetTimelockPendingAdmin","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"address","name":"newGuardian","type":"address"}],"name":"__transferGuardian","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"uint256","name":"proposalId","type":"uint256"}],"name":"cancel","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"uint256","name":"proposalId","type":"uint256"},{"internalType":"bool","name":"support","type":"bool"}],"name":"castVote","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"uint256","name":"proposalId","type":"uint256"},{"internalType":"bool","name":"support","type":"bool"},{"internalType":"uint8","name":"v","type":"uint8"},{"internalType":"bytes32","name":"r","type":"bytes32"},{"internalType":"bytes32","name":"s","type":"bytes32"}],"name":"castVoteBySig","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"uint256","name":"proposalId","type":"uint256"}],"name":"execute","outputs":[],"stateMutability":"payable","type":"function"},{"inputs":[{"internalType":"uint256","name":"proposalId","type":"uint256"}],"name":"getActions","outputs":[{"internalType":"address[]","name":"targets","type":"address[]"},{"internalType":"uint256[]","name":"values","type":"uint256[]"},{"internalType":"string[]","name":"signatures","type":"string[]"},{"internalType":"bytes[]","name":"calldatas","type":"bytes[]"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"uint256","name":"proposalId","type":"uint256"},{"internalType":"address","name":"voter","type":"address"}],"name":"getReceipt","outputs":[{"components":[{"internalType":"bool","name":"hasVoted","type":"bool"},{"internalType":"bool","name":"support","type":"bool"},{"internalType":"uint96","name":"votes","type":"uint96"}],"internalType":"struct GovernorAlpha.Receipt","name":"","type":"tuple"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"guardian","outputs":[{"internalType":"address","name":"","type":"address"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"address","name":"","type":"address"}],"name":"latestProposalIds","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"name","outputs":[{"internalType":"string","name":"","type":"string"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"proposalCount","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"proposalMaxOperations","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"pure","type":"function"},{"inputs":[],"name":"proposalThreshold","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"pure","type":"function"},{"inputs":[{"internalType":"uint256","name":"","type":"uint256"}],"name":"proposals","outputs":[{"internalType":"uint256","name":"id","type":"uint256"},{"internalType":"address","name":"proposer","type":"address"},{"internalType":"uint256","name":"eta","type":"uint256"},{"internalType":"uint256","name":"startBlock","type":"uint256"},{"internalType":"uint256","name":"endBlock","type":"uint256"},{"internalType":"uint256","name":"forVotes","type":"uint256"},{"internalType":"uint256","name":"againstVotes","type":"uint256"},{"internalType":"bool","name":"canceled","type":"bool"},{"internalType":"bool","name":"executed","type":"bool"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"address[]","name":"targets","type":"address[]"},{"internalType":"uint256[]","name":"values","type":"uint256[]"},{"internalType":"string[]","name":"signatures","type":"string[]"},{"internalType":"bytes[]","name":"calldatas","type":"bytes[]"},{"internalType":"string","name":"description","type":"string"}],"name":"propose","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"uint256","name":"proposalId","type":"uint256"}],"name":"queue","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[],"name":"quorumVotes","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"pure","type":"function"},{"inputs":[{"internalType":"uint256","name":"proposalId","type":"uint256"}],"name":"state","outputs":[{"internalType":"enum GovernorAlpha.ProposalState","name":"","type":"uint8"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"timelock","outputs":[{"internalType":"contract TimelockInterface","name":"","type":"address"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"tribe","outputs":[{"internalType":"contract TribeInterface","name":"","type":"address"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"votingDelay","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"pure","type":"function"},{"inputs":[],"name":"votingPeriod","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"pure","type":"function"}]
Contract Creation Code
60806040523480156200001157600080fd5b50604051620031c4380380620031c4833981016040819052620000349162000077565b600080546001600160a01b039485166001600160a01b031991821617909155600180549385169382169390931790925560028054919093169116179055620000e3565b6000806000606084860312156200008c578283fd5b83516200009981620000ca565b6020850151909350620000ac81620000ca565b6040850151909250620000bf81620000ca565b809150509250925092565b6001600160a01b0381168114620000e057600080fd5b50565b6130d180620000f36000396000f3fe6080604052600436106101b75760003560e01c80634634c61f116100ec578063d33219b41161008a578063ddf0b00911610064578063ddf0b00914610491578063deaaa7cc146104b1578063e23a9a52146104c6578063fe0d94c1146104f3576101b7565b8063d33219b414610447578063da35c6641461045c578063da95691a14610471576101b7565b806391500671116100c657806391500671146103e8578063b58131b014610408578063b86677fe1461041d578063b9a6196114610432576101b7565b80634634c61f1461039e578063760fbc13146103be5780637bdbe4d0146103d3576101b7565b806321f43e42116101595780633932abb1116101335780633932abb11461031a5780633e4f49e61461032f57806340e58ee51461035c578063452a93201461037c576101b7565b806321f43e42146102b557806324bc1a64146102d5578063328dd982146102ea576101b7565b806315373e3d1161019557806315373e3d1461023e57806317977c61146102605780631afef6e41461028057806320606b70146102a0576101b7565b8063013cf08b146101bc57806302a251a3146101fa57806306fdde031461021c575b600080fd5b3480156101c857600080fd5b506101dc6101d736600461242b565b610506565b6040516101f199989796959493929190612f90565b60405180910390f35b34801561020657600080fd5b5061020f61055f565b6040516101f191906128e4565b34801561022857600080fd5b50610231610566565b6040516101f1919061295b565b34801561024a57600080fd5b5061025e61025936600461246f565b610594565b005b34801561026c57600080fd5b5061020f61027b366004612270565b6105a3565b34801561028c57600080fd5b5061025e61029b366004612270565b6105b5565b3480156102ac57600080fd5b5061020f61060a565b3480156102c157600080fd5b5061025e6102d036600461228b565b610621565b3480156102e157600080fd5b5061020f6106ff565b3480156102f657600080fd5b5061030a61030536600461242b565b61070e565b6040516101f1949392919061288d565b34801561032657600080fd5b5061020f61099d565b34801561033b57600080fd5b5061034f61034a36600461242b565b6109a3565b6040516101f19190612947565b34801561036857600080fd5b5061025e61037736600461242b565b610b25565b34801561038857600080fd5b50610391610da3565b6040516101f1919061273e565b3480156103aa57600080fd5b5061025e6103b936600461249e565b610db2565b3480156103ca57600080fd5b5061025e610f44565b3480156103df57600080fd5b5061020f610f80565b3480156103f457600080fd5b5061025e61040336600461228b565b610f85565b34801561041457600080fd5b5061020f61105a565b34801561042957600080fd5b50610391611069565b34801561043e57600080fd5b5061025e611078565b34801561045357600080fd5b506103916110fd565b34801561046857600080fd5b5061020f61110c565b34801561047d57600080fd5b5061020f61048c3660046122b5565b611112565b34801561049d57600080fd5b5061025e6104ac36600461242b565b611532565b3480156104bd57600080fd5b5061020f61179c565b3480156104d257600080fd5b506104e66104e1366004612443565b6117a8565b6040516101f19190612ecc565b61025e61050136600461242b565b611817565b6004602052600090815260409020805460018201546002830154600784015460088501546009860154600a870154600b9097015495966001600160a01b0390951695939492939192909160ff8082169161010090041689565b6127105b90565b6040518060400160405280601281526020017146656920476f7665726e6f7220416c70686160701b81525081565b61059f3383836119dc565b5050565b60056020526000908152604090205481565b6002546001600160a01b031633146105e85760405162461bcd60e51b81526004016105df90612c1a565b60405180910390fd5b600280546001600160a01b0319166001600160a01b0392909216919091179055565b604051610616906126aa565b604051809103902081565b6002546001600160a01b0316331461064b5760405162461bcd60e51b81526004016105df90612c1a565b600080546040516001600160a01b0390911691630825f38f9183919061067590879060200161273e565b604051602081830303815290604052856040518563ffffffff1660e01b81526004016106a4949392919061276b565b600060405180830381600087803b1580156106be57600080fd5b505af11580156106d2573d6000803e3d6000fd5b505050506040513d6000823e601f3d908101601f191682016040526106fa91908101906123b5565b505050565b6a14adf4b7320334b900000090565b6060806060806000600460008781526020019081526020016000209050806003018160040182600501836006018380548060200260200160405190810160405280929190818152602001828054801561079057602002820191906000526020600020905b81546001600160a01b03168152600190910190602001808311610772575b50505050509350828054806020026020016040519081016040528092919081815260200182805480156107e257602002820191906000526020600020905b8154815260200190600101908083116107ce575b5050505050925081805480602002602001604051908101604052809291908181526020016000905b828210156108b55760008481526020908190208301805460408051601f60026000196101006001871615020190941693909304928301859004850281018501909152818152928301828280156108a15780601f10610876576101008083540402835291602001916108a1565b820191906000526020600020905b81548152906001019060200180831161088457829003601f168201915b50505050508152602001906001019061080a565b50505050915080805480602002602001604051908101604052809291908181526020016000905b828210156109875760008481526020908190208301805460408051601f60026000196101006001871615020190941693909304928301859004850281018501909152818152928301828280156109735780601f1061094857610100808354040283529160200191610973565b820191906000526020600020905b81548152906001019060200180831161095657829003601f168201915b5050505050815260200190600101906108dc565b5050505090509450945094509450509193509193565b610d0590565b600081600354101580156109b75750600082115b6109d35760405162461bcd60e51b81526004016105df90612aaa565b6000828152600460205260409020600b81015460ff16156109f8576002915050610b20565b80600701544311610a0d576000915050610b20565b80600801544311610a22576001915050610b20565b80600a01548160090154111580610a435750610a3c6106ff565b8160090154105b15610a52576003915050610b20565b6002810154610a65576004915050610b20565b600b810154610100900460ff1615610a81576007915050610b20565b6002810154600054604080516360d143f160e11b81529051610b0a93926001600160a01b03169163c1a287e2916004808301926020929190829003018186803b158015610acd57600080fd5b505afa158015610ae1573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190610b05919061239d565b611ba5565b4210610b1a576006915050610b20565b60059150505b919050565b6000610b30826109a3565b90506001816007811115610b4057fe5b1480610b5757506000816007811115610b5557fe5b145b610b735760405162461bcd60e51b81526004016105df90612e6f565b60008281526004602052604090206002546001600160a01b0316331480610c3e5750610b9d61105a565b60018054838201546001600160a01b039182169263782d6fe19290911690610bc6904390611bd1565b6040518363ffffffff1660e01b8152600401610be3929190612752565b60206040518083038186803b158015610bfb57600080fd5b505afa158015610c0f573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190610c3391906124f4565b6001600160601b0316105b610c5a5760405162461bcd60e51b81526004016105df9061296e565b600b8101805460ff1916600117905560005b6003820154811015610d66576000546003830180546001600160a01b039092169163591fcdfe919084908110610c9e57fe5b6000918252602090912001546004850180546001600160a01b039092169185908110610cc657fe5b9060005260206000200154856005018581548110610ce057fe5b90600052602060002001866006018681548110610cf957fe5b9060005260206000200187600201546040518663ffffffff1660e01b8152600401610d28959493929190612854565b600060405180830381600087803b158015610d4257600080fd5b505af1158015610d56573d6000803e3d6000fd5b505060019092019150610c6c9050565b507f789cf55be980739dad1d0699b93b58e806b51c9d96619bfa8fe0a28abaa7b30c83604051610d9691906128e4565b60405180910390a1505050565b6002546001600160a01b031681565b6000604051610dc0906126aa565b60408051918290038220828201909152601282527146656920476f7665726e6f7220416c70686160701b6020909201919091527fadb73dcaa411fb0e00d7f7d4005467d95f53f6100b33e764185f2c7c678de2cf610e1c611bf9565b30604051602001610e3094939291906128ed565b6040516020818303038152906040528051906020012090506000604051610e5690612705565b604051908190038120610e6f9189908990602001612911565b60405160208183030381529060405280519060200120905060008282604051602001610e9c92919061268f565b604051602081830303815290604052805190602001209050600060018288888860405160008152602001604052604051610ed99493929190612929565b6020604051602081039080840390855afa158015610efb573d6000803e3d6000fd5b5050604051601f1901519150506001600160a01b038116610f2e5760405162461bcd60e51b81526004016105df90612e0b565b610f39818a8a6119dc565b505050505050505050565b6002546001600160a01b03163314610f6e5760405162461bcd60e51b81526004016105df90612c1a565b600280546001600160a01b0319169055565b600a90565b6002546001600160a01b03163314610faf5760405162461bcd60e51b81526004016105df90612c1a565b600080546040516001600160a01b0390911691633a66f90191839190610fd990879060200161273e565b604051602081830303815290604052856040518563ffffffff1660e01b8152600401611008949392919061276b565b602060405180830381600087803b15801561102257600080fd5b505af1158015611036573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906106fa919061239d565b6a021165458500521280000090565b6001546001600160a01b031681565b6002546001600160a01b031633146110a25760405162461bcd60e51b81526004016105df90612c1a565b6000805460408051630e18b68160e01b815290516001600160a01b0390921692630e18b6819260048084019382900301818387803b1580156110e357600080fd5b505af11580156110f7573d6000803e3d6000fd5b50505050565b6000546001600160a01b031681565b60035481565b600061111c61105a565b600180546001600160a01b03169063782d6fe190339061113d904390611bd1565b6040518363ffffffff1660e01b815260040161115a929190612752565b60206040518083038186803b15801561117257600080fd5b505afa158015611186573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906111aa91906124f4565b6001600160601b0316116111d05760405162461bcd60e51b81526004016105df90612a54565b845186511480156111e2575083518651145b80156111ef575082518651145b61120b5760405162461bcd60e51b81526004016105df90612c64565b85516112295760405162461bcd60e51b81526004016105df90612bd7565b611231610f80565b865111156112515760405162461bcd60e51b81526004016105df90612d49565b3360009081526005602052604090205480156112ce576000611272826109a3565b9050600181600781111561128257fe5b14156112a05760405162461bcd60e51b81526004016105df90612aec565b60008160078111156112ae57fe5b14156112cc5760405162461bcd60e51b81526004016105df90612b61565b505b60006112dc43610b0561099d565b905060006112ec82610b0561055f565b60038054600101905590506112ff611d5c565b604051806101a001604052806003548152602001336001600160a01b03168152602001600081526020018b81526020018a815260200189815260200188815260200184815260200183815260200160008152602001600081526020016000151581526020016000151581525090508060046000836000015181526020019081526020016000206000820151816000015560208201518160010160006101000a8154816001600160a01b0302191690836001600160a01b031602179055506040820151816002015560608201518160030190805190602001906113e2929190611dd1565b50608082015180516113fe916004840191602090910190611e36565b5060a0820151805161141a916005840191602090910190611e7d565b5060c08201518051611436916006840191602090910190611ed6565b5060e082015181600701556101008201518160080155610120820151816009015561014082015181600a015561016082015181600b0160006101000a81548160ff02191690831515021790555061018082015181600b0160016101000a81548160ff02191690831515021790555090505080600001516005600083602001516001600160a01b03166001600160a01b03168152602001908152602001600020819055507f7d84a6263ae0d98d3329bd7b46bb4e8d6f98cd35a7adb45c274c8b7fd5ebd5e08160000151338c8c8c8c89898e60405161151c99989796959493929190612efa565b60405180910390a1519998505050505050505050565b600461153d826109a3565b600781111561154857fe5b146115655760405162461bcd60e51b81526004016105df90612cec565b600081815260046020818152604080842084548251630d48571f60e31b815292519195946115ba9442946001600160a01b0390931693636a42b8f8938084019390829003018186803b158015610acd57600080fd5b905060005b60038301548110156117625761175a8360030182815481106115dd57fe5b6000918252602090912001546004850180546001600160a01b03909216918490811061160557fe5b906000526020600020015485600501848154811061161f57fe5b600091825260209182902001805460408051601f60026000196101006001871615020190941693909304928301859004850281018501909152818152928301828280156116ad5780601f10611682576101008083540402835291602001916116ad565b820191906000526020600020905b81548152906001019060200180831161169057829003601f168201915b50505050508660060185815481106116c157fe5b600091825260209182902001805460408051601f600260001961010060018716150201909416939093049283018590048502810185019091528181529283018282801561174f5780601f106117245761010080835404028352916020019161174f565b820191906000526020600020905b81548152906001019060200180831161173257829003601f168201915b505050505086611bfd565b6001016115bf565b50600282018190556040517f9a2e42fd6722813d69113e7d0079d3d940171428df7373df9c7f7617cfda289290610d969085908490612fdc565b60405161061690612705565b6117b0611f2f565b5060008281526004602090815260408083206001600160a01b0385168452600c018252918290208251606081018452905460ff80821615158352610100820416151592820192909252620100009091046001600160601b0316918101919091525b92915050565b6005611822826109a3565b600781111561182d57fe5b1461184a5760405162461bcd60e51b81526004016105df906129b5565b6000818152600460205260408120600b8101805461ff001916610100179055905b60038201548110156119a0576000546004830180546001600160a01b0390921691630825f38f91908490811061189d57fe5b90600052602060002001548460030184815481106118b757fe5b6000918252602090912001546004860180546001600160a01b0390921691869081106118df57fe5b90600052602060002001548660050186815481106118f957fe5b9060005260206000200187600601878154811061191257fe5b9060005260206000200188600201546040518763ffffffff1660e01b8152600401611941959493929190612854565b6000604051808303818588803b15801561195a57600080fd5b505af115801561196e573d6000803e3d6000fd5b50505050506040513d6000823e601f3d908101601f1916820160405261199791908101906123b5565b5060010161186b565b507f712ae1383f79ac853f8d882153778e0260ef8f03b504e2866e0593e04d2b291f826040516119d091906128e4565b60405180910390a15050565b60016119e7836109a3565b60078111156119f257fe5b14611a0f5760405162461bcd60e51b81526004016105df90612dd4565b60008281526004602090815260408083206001600160a01b0387168452600c8101909252909120805460ff1615611a585760405162461bcd60e51b81526004016105df90612a12565b600154600783015460405163782d6fe160e01b81526000926001600160a01b03169163782d6fe191611a8e918a91600401612752565b60206040518083038186803b158015611aa657600080fd5b505afa158015611aba573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190611ade91906124f4565b90508315611b0757611afd8360090154826001600160601b0316611ba5565b6009840155611b24565b611b1e83600a0154826001600160601b0316611ba5565b600a8401555b8154600160ff199091161761ff00191661010085151502176dffffffffffffffffffffffff00001916620100006001600160601b038316021782556040517f877856338e13f63d0c36822ff0ef736b80934cd90574a3a5bc9262c39d217c4690611b959088908890889086906127d7565b60405180910390a1505050505050565b600082820183811015611bca5760405162461bcd60e51b81526004016105df90612cc1565b9392505050565b600082821115611bf35760405162461bcd60e51b81526004016105df90612e40565b50900390565b4690565b6000546040516001600160a01b039091169063f2b0653790611c2b9088908890889088908890602001612808565b604051602081830303815290604052805190602001206040518263ffffffff1660e01b8152600401611c5d91906128e4565b60206040518083038186803b158015611c7557600080fd5b505afa158015611c89573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190611cad9190612381565b15611cca5760405162461bcd60e51b81526004016105df90612d80565b600054604051633a66f90160e01b81526001600160a01b0390911690633a66f90190611d029088908890889088908890600401612808565b602060405180830381600087803b158015611d1c57600080fd5b505af1158015611d30573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190611d54919061239d565b505050505050565b604051806101a001604052806000815260200160006001600160a01b031681526020016000815260200160608152602001606081526020016060815260200160608152602001600081526020016000815260200160008152602001600081526020016000151581526020016000151581525090565b828054828255906000526020600020908101928215611e26579160200282015b82811115611e2657825182546001600160a01b0319166001600160a01b03909116178255602090920191600190910190611df1565b50611e32929150611f4f565b5090565b828054828255906000526020600020908101928215611e71579160200282015b82811115611e71578251825591602001919060010190611e56565b50611e32929150611f73565b828054828255906000526020600020908101928215611eca579160200282015b82811115611eca5782518051611eba918491602090910190611f8d565b5091602001919060010190611e9d565b50611e32929150611ffa565b828054828255906000526020600020908101928215611f23579160200282015b82811115611f235782518051611f13918491602090910190611f8d565b5091602001919060010190611ef6565b50611e3292915061201d565b604080516060810182526000808252602082018190529181019190915290565b61056391905b80821115611e325780546001600160a01b0319168155600101611f55565b61056391905b80821115611e325760008155600101611f79565b828054600181600116156101000203166002900490600052602060002090601f016020900481019282601f10611fce57805160ff1916838001178555611e71565b82800160010185558215611e715791820182811115611e71578251825591602001919060010190611e56565b61056391905b80821115611e325760006120148282612040565b50600101612000565b61056391905b80821115611e325760006120378282612040565b50600101612023565b50805460018160011615610100020316600290046000825580601f106120665750612084565b601f0160209004906000526020600020908101906120849190611f73565b50565b80356001600160a01b038116811461181157600080fd5b600082601f8301126120ae578081fd5b81356120c16120bc82613011565b612fea565b8181529150602080830190848101818402860182018710156120e257600080fd5b60005b84811015612109576120f78883612087565b845292820192908201906001016120e5565b505050505092915050565b600082601f830112612124578081fd5b81356121326120bc82613011565b818152915060208083019084810160005b848110156121095761215a888484358a0101612222565b84529282019290820190600101612143565b600082601f83011261217c578081fd5b813561218a6120bc82613011565b818152915060208083019084810160005b84811015612109576121b2888484358a0101612222565b8452928201929082019060010161219b565b600082601f8301126121d4578081fd5b81356121e26120bc82613011565b81815291506020808301908481018184028601820187101561220357600080fd5b60005b8481101561210957813584529282019290820190600101612206565b600082601f830112612232578081fd5b81356122406120bc82613031565b915080825283602082850101111561225757600080fd5b8060208401602084013760009082016020015292915050565b600060208284031215612281578081fd5b611bca8383612087565b6000806040838503121561229d578081fd5b6122a78484612087565b946020939093013593505050565b600080600080600060a086880312156122cc578081fd5b853567ffffffffffffffff808211156122e3578283fd5b6122ef89838a0161209e565b96506020880135915080821115612304578283fd5b61231089838a016121c4565b95506040880135915080821115612325578283fd5b61233189838a0161216c565b94506060880135915080821115612346578283fd5b61235289838a01612114565b93506080880135915080821115612367578283fd5b5061237488828901612222565b9150509295509295909350565b600060208284031215612392578081fd5b8151611bca8161308d565b6000602082840312156123ae578081fd5b5051919050565b6000602082840312156123c6578081fd5b815167ffffffffffffffff8111156123dc578182fd5b80830184601f8201126123ed578283fd5b805191506123fd6120bc83613031565b828152856020848401011115612411578384fd5b612422836020830160208501613061565b95945050505050565b60006020828403121561243c578081fd5b5035919050565b60008060408385031215612455578182fd5b823591506124668460208501612087565b90509250929050565b60008060408385031215612481578182fd5b8235915060208301356124938161308d565b809150509250929050565b600080600080600060a086880312156124b5578283fd5b8535945060208601356124c78161308d565b9350604086013560ff811681146124dc578384fd5b94979396509394606081013594506080013592915050565b600060208284031215612505578081fd5b81516001600160601b0381168114611bca578182fd5b6000815180845260208085019450808401835b838110156125535781516001600160a01b03168752958201959082019060010161252e565b509495945050505050565b6000815180845260208085018081965082840281019150828601855b858110156125a45782840389526125928483516125e0565b9885019893509084019060010161257a565b5091979650505050505050565b6000815180845260208085019450808401835b83811015612553578151875295820195908201906001016125c4565b600081518084526125f8816020860160208601613061565b601f01601f19169290920160200192915050565b6000815460018082166000811461262a576001811461264857612686565b60028304607f16865260ff1983166020870152604086019350612686565b6002830480875261265886613055565b60005b8281101561267c5781546020828b010152848201915060208101905061265b565b8801602001955050505b50505092915050565b61190160f01b81526002810192909252602282015260420190565b7f454950373132446f6d61696e28737472696e67206e616d652c75696e7432353681527f20636861696e49642c6164647265737320766572696679696e67436f6e74726160208201526263742960e81b604082015260430190565b7f42616c6c6f742875696e743235362070726f706f73616c49642c626f6f6c20738152667570706f72742960c81b602082015260270190565b6001600160a01b0391909116815260200190565b6001600160a01b03929092168252602082015260400190565b600060018060a01b038616825284602083015260a06040830152601860a08301527f73657450656e64696e6741646d696e286164647265737329000000000000000060c083015260e060608301526127c660e08301856125e0565b905082608083015295945050505050565b6001600160a01b039490941684526020840192909252151560408301526001600160601b0316606082015260800190565b600060018060a01b038716825285602083015260a0604083015261282f60a08301866125e0565b828103606084015261284181866125e0565b9150508260808301529695505050505050565b600060018060a01b038716825285602083015260a0604083015261287b60a083018661260c565b8281036060840152612841818661260c565b6000608082526128a0608083018761251b565b82810360208401526128b281876125b1565b83810360408501526128c4818761255e565b91505082810360608401526128d9818561255e565b979650505050505050565b90815260200190565b938452602084019290925260408301526001600160a01b0316606082015260800190565b92835260208301919091521515604082015260600190565b93845260ff9290921660208401526040830152606082015260800190565b602081016008831061295557fe5b91905290565b600060208252611bca60208301846125e0565b60208082526027908201527f476f7665726e6f72416c7068613a2070726f706f7365722061626f76652074686040820152661c995cda1bdb1960ca1b606082015260800190565b6020808252603c908201527f476f7665726e6f72416c7068613a2070726f706f73616c2063616e206f6e6c7960408201527f2062652065786563757465642069662069742069732071756575656400000000606082015260800190565b60208082526022908201527f476f7665726e6f72416c7068613a20766f74657220616c726561647920766f74604082015261195960f21b606082015260800190565b60208082526036908201527f476f7665726e6f72416c7068613a2070726f706f73657220766f7465732062656040820152751b1bddc81c1c9bdc1bdcd85b081d1a1c995cda1bdb1960521b606082015260800190565b60208082526022908201527f476f7665726e6f72416c7068613a20696e76616c69642070726f706f73616c206040820152611a5960f21b606082015260800190565b6020808252604f908201527f476f7665726e6f72416c7068613a206f6e65206c6976652070726f706f73616c60408201527f207065722070726f706f7365722c20666f756e6420616e20616c72656164792060608201526e1858dd1a5d99481c1c9bdc1bdcd85b608a1b608082015260a00190565b60208082526050908201527f476f7665726e6f72416c7068613a206f6e65206c6976652070726f706f73616c60408201527f207065722070726f706f7365722c20666f756e6420616e20616c72656164792060608201526f1c195b991a5b99c81c1c9bdc1bdcd85b60821b608082015260a00190565b60208082526023908201527f476f7665726e6f72416c7068613a206d7573742070726f7669646520616374696040820152626f6e7360e81b606082015260800190565b6020808252602a908201527f476f7665726e6f72416c7068613a2073656e646572206d75737420626520676f6040820152693b1033bab0b93234b0b760b11b606082015260800190565b6020808252603b908201527f476f7665726e6f72416c7068613a2070726f706f73616c2066756e6374696f6e60408201527f20696e666f726d6174696f6e206172697479206d69736d617463680000000000606082015260800190565b6020808252601190820152706164646974696f6e206f766572666c6f7760781b604082015260600190565b6020808252603d908201527f476f7665726e6f72416c7068613a2070726f706f73616c2063616e206f6e6c7960408201527f2062652071756575656420696620697420697320737563636565646564000000606082015260800190565b6020808252601f908201527f476f7665726e6f72416c7068613a20746f6f206d616e7920616374696f6e7300604082015260600190565b60208082526034908201527f476f7665726e6f72416c7068613a2070726f706f73616c20616374696f6e20616040820152736c7265616479207175657565642061742065746160601b606082015260800190565b6020808252601f908201527f476f7665726e6f72416c7068613a20766f74696e6720697320636c6f73656400604082015260600190565b6020808252818101527f476f7665726e6f72416c7068613a20696e76616c6964207369676e6174757265604082015260600190565b6020808252601590820152747375627472616374696f6e20756e646572666c6f7760581b604082015260600190565b60208082526039908201527f476f7665726e6f72416c7068613a2063616e206f6e6c792063616e63656c204160408201527f6374697665206f722050656e64696e672050726f706f73616c00000000000000606082015260800190565b8151151581526020808301511515908201526040918201516001600160601b03169181019190915260600190565b8981526001600160a01b038916602082015261012060408201819052600090612f258382018b61251b565b8381036060850152612f37818b6125b1565b9150508281036080840152612f4c818961255e565b83810360a0850152612f5e818961255e565b9150508560c08401528460e0840152828103610100840152612f8081856125e0565b9c9b505050505050505050505050565b9889526001600160a01b0397909716602089015260408801959095526060870193909352608086019190915260a085015260c0840152151560e083015215156101008201526101200190565b918252602082015260400190565b60405181810167ffffffffffffffff8111828210171561300957600080fd5b604052919050565b600067ffffffffffffffff821115613027578081fd5b5060209081020190565b600067ffffffffffffffff821115613047578081fd5b50601f01601f191660200190565b60009081526020902090565b60005b8381101561307c578181015183820152602001613064565b838111156110f75750506000910152565b801515811461208457600080fdfea26469706673582212209093fc246dc3dd5f2b80129bbe2c8b6d95ef49e0b9364f4b8a6f50f6c4f9de5a64736f6c63430006060033000000000000000000000000639572471f2f318464dc01066a56867130e45e25000000000000000000000000c7283b66eb1eb5fb86327f08e1b5816b0720212b000000000000000000000000bc568e3350b6e34a291eb249709bc3aaf36527e5
Deployed Bytecode
0x6080604052600436106101b75760003560e01c80634634c61f116100ec578063d33219b41161008a578063ddf0b00911610064578063ddf0b00914610491578063deaaa7cc146104b1578063e23a9a52146104c6578063fe0d94c1146104f3576101b7565b8063d33219b414610447578063da35c6641461045c578063da95691a14610471576101b7565b806391500671116100c657806391500671146103e8578063b58131b014610408578063b86677fe1461041d578063b9a6196114610432576101b7565b80634634c61f1461039e578063760fbc13146103be5780637bdbe4d0146103d3576101b7565b806321f43e42116101595780633932abb1116101335780633932abb11461031a5780633e4f49e61461032f57806340e58ee51461035c578063452a93201461037c576101b7565b806321f43e42146102b557806324bc1a64146102d5578063328dd982146102ea576101b7565b806315373e3d1161019557806315373e3d1461023e57806317977c61146102605780631afef6e41461028057806320606b70146102a0576101b7565b8063013cf08b146101bc57806302a251a3146101fa57806306fdde031461021c575b600080fd5b3480156101c857600080fd5b506101dc6101d736600461242b565b610506565b6040516101f199989796959493929190612f90565b60405180910390f35b34801561020657600080fd5b5061020f61055f565b6040516101f191906128e4565b34801561022857600080fd5b50610231610566565b6040516101f1919061295b565b34801561024a57600080fd5b5061025e61025936600461246f565b610594565b005b34801561026c57600080fd5b5061020f61027b366004612270565b6105a3565b34801561028c57600080fd5b5061025e61029b366004612270565b6105b5565b3480156102ac57600080fd5b5061020f61060a565b3480156102c157600080fd5b5061025e6102d036600461228b565b610621565b3480156102e157600080fd5b5061020f6106ff565b3480156102f657600080fd5b5061030a61030536600461242b565b61070e565b6040516101f1949392919061288d565b34801561032657600080fd5b5061020f61099d565b34801561033b57600080fd5b5061034f61034a36600461242b565b6109a3565b6040516101f19190612947565b34801561036857600080fd5b5061025e61037736600461242b565b610b25565b34801561038857600080fd5b50610391610da3565b6040516101f1919061273e565b3480156103aa57600080fd5b5061025e6103b936600461249e565b610db2565b3480156103ca57600080fd5b5061025e610f44565b3480156103df57600080fd5b5061020f610f80565b3480156103f457600080fd5b5061025e61040336600461228b565b610f85565b34801561041457600080fd5b5061020f61105a565b34801561042957600080fd5b50610391611069565b34801561043e57600080fd5b5061025e611078565b34801561045357600080fd5b506103916110fd565b34801561046857600080fd5b5061020f61110c565b34801561047d57600080fd5b5061020f61048c3660046122b5565b611112565b34801561049d57600080fd5b5061025e6104ac36600461242b565b611532565b3480156104bd57600080fd5b5061020f61179c565b3480156104d257600080fd5b506104e66104e1366004612443565b6117a8565b6040516101f19190612ecc565b61025e61050136600461242b565b611817565b6004602052600090815260409020805460018201546002830154600784015460088501546009860154600a870154600b9097015495966001600160a01b0390951695939492939192909160ff8082169161010090041689565b6127105b90565b6040518060400160405280601281526020017146656920476f7665726e6f7220416c70686160701b81525081565b61059f3383836119dc565b5050565b60056020526000908152604090205481565b6002546001600160a01b031633146105e85760405162461bcd60e51b81526004016105df90612c1a565b60405180910390fd5b600280546001600160a01b0319166001600160a01b0392909216919091179055565b604051610616906126aa565b604051809103902081565b6002546001600160a01b0316331461064b5760405162461bcd60e51b81526004016105df90612c1a565b600080546040516001600160a01b0390911691630825f38f9183919061067590879060200161273e565b604051602081830303815290604052856040518563ffffffff1660e01b81526004016106a4949392919061276b565b600060405180830381600087803b1580156106be57600080fd5b505af11580156106d2573d6000803e3d6000fd5b505050506040513d6000823e601f3d908101601f191682016040526106fa91908101906123b5565b505050565b6a14adf4b7320334b900000090565b6060806060806000600460008781526020019081526020016000209050806003018160040182600501836006018380548060200260200160405190810160405280929190818152602001828054801561079057602002820191906000526020600020905b81546001600160a01b03168152600190910190602001808311610772575b50505050509350828054806020026020016040519081016040528092919081815260200182805480156107e257602002820191906000526020600020905b8154815260200190600101908083116107ce575b5050505050925081805480602002602001604051908101604052809291908181526020016000905b828210156108b55760008481526020908190208301805460408051601f60026000196101006001871615020190941693909304928301859004850281018501909152818152928301828280156108a15780601f10610876576101008083540402835291602001916108a1565b820191906000526020600020905b81548152906001019060200180831161088457829003601f168201915b50505050508152602001906001019061080a565b50505050915080805480602002602001604051908101604052809291908181526020016000905b828210156109875760008481526020908190208301805460408051601f60026000196101006001871615020190941693909304928301859004850281018501909152818152928301828280156109735780601f1061094857610100808354040283529160200191610973565b820191906000526020600020905b81548152906001019060200180831161095657829003601f168201915b5050505050815260200190600101906108dc565b5050505090509450945094509450509193509193565b610d0590565b600081600354101580156109b75750600082115b6109d35760405162461bcd60e51b81526004016105df90612aaa565b6000828152600460205260409020600b81015460ff16156109f8576002915050610b20565b80600701544311610a0d576000915050610b20565b80600801544311610a22576001915050610b20565b80600a01548160090154111580610a435750610a3c6106ff565b8160090154105b15610a52576003915050610b20565b6002810154610a65576004915050610b20565b600b810154610100900460ff1615610a81576007915050610b20565b6002810154600054604080516360d143f160e11b81529051610b0a93926001600160a01b03169163c1a287e2916004808301926020929190829003018186803b158015610acd57600080fd5b505afa158015610ae1573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190610b05919061239d565b611ba5565b4210610b1a576006915050610b20565b60059150505b919050565b6000610b30826109a3565b90506001816007811115610b4057fe5b1480610b5757506000816007811115610b5557fe5b145b610b735760405162461bcd60e51b81526004016105df90612e6f565b60008281526004602052604090206002546001600160a01b0316331480610c3e5750610b9d61105a565b60018054838201546001600160a01b039182169263782d6fe19290911690610bc6904390611bd1565b6040518363ffffffff1660e01b8152600401610be3929190612752565b60206040518083038186803b158015610bfb57600080fd5b505afa158015610c0f573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190610c3391906124f4565b6001600160601b0316105b610c5a5760405162461bcd60e51b81526004016105df9061296e565b600b8101805460ff1916600117905560005b6003820154811015610d66576000546003830180546001600160a01b039092169163591fcdfe919084908110610c9e57fe5b6000918252602090912001546004850180546001600160a01b039092169185908110610cc657fe5b9060005260206000200154856005018581548110610ce057fe5b90600052602060002001866006018681548110610cf957fe5b9060005260206000200187600201546040518663ffffffff1660e01b8152600401610d28959493929190612854565b600060405180830381600087803b158015610d4257600080fd5b505af1158015610d56573d6000803e3d6000fd5b505060019092019150610c6c9050565b507f789cf55be980739dad1d0699b93b58e806b51c9d96619bfa8fe0a28abaa7b30c83604051610d9691906128e4565b60405180910390a1505050565b6002546001600160a01b031681565b6000604051610dc0906126aa565b60408051918290038220828201909152601282527146656920476f7665726e6f7220416c70686160701b6020909201919091527fadb73dcaa411fb0e00d7f7d4005467d95f53f6100b33e764185f2c7c678de2cf610e1c611bf9565b30604051602001610e3094939291906128ed565b6040516020818303038152906040528051906020012090506000604051610e5690612705565b604051908190038120610e6f9189908990602001612911565b60405160208183030381529060405280519060200120905060008282604051602001610e9c92919061268f565b604051602081830303815290604052805190602001209050600060018288888860405160008152602001604052604051610ed99493929190612929565b6020604051602081039080840390855afa158015610efb573d6000803e3d6000fd5b5050604051601f1901519150506001600160a01b038116610f2e5760405162461bcd60e51b81526004016105df90612e0b565b610f39818a8a6119dc565b505050505050505050565b6002546001600160a01b03163314610f6e5760405162461bcd60e51b81526004016105df90612c1a565b600280546001600160a01b0319169055565b600a90565b6002546001600160a01b03163314610faf5760405162461bcd60e51b81526004016105df90612c1a565b600080546040516001600160a01b0390911691633a66f90191839190610fd990879060200161273e565b604051602081830303815290604052856040518563ffffffff1660e01b8152600401611008949392919061276b565b602060405180830381600087803b15801561102257600080fd5b505af1158015611036573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906106fa919061239d565b6a021165458500521280000090565b6001546001600160a01b031681565b6002546001600160a01b031633146110a25760405162461bcd60e51b81526004016105df90612c1a565b6000805460408051630e18b68160e01b815290516001600160a01b0390921692630e18b6819260048084019382900301818387803b1580156110e357600080fd5b505af11580156110f7573d6000803e3d6000fd5b50505050565b6000546001600160a01b031681565b60035481565b600061111c61105a565b600180546001600160a01b03169063782d6fe190339061113d904390611bd1565b6040518363ffffffff1660e01b815260040161115a929190612752565b60206040518083038186803b15801561117257600080fd5b505afa158015611186573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906111aa91906124f4565b6001600160601b0316116111d05760405162461bcd60e51b81526004016105df90612a54565b845186511480156111e2575083518651145b80156111ef575082518651145b61120b5760405162461bcd60e51b81526004016105df90612c64565b85516112295760405162461bcd60e51b81526004016105df90612bd7565b611231610f80565b865111156112515760405162461bcd60e51b81526004016105df90612d49565b3360009081526005602052604090205480156112ce576000611272826109a3565b9050600181600781111561128257fe5b14156112a05760405162461bcd60e51b81526004016105df90612aec565b60008160078111156112ae57fe5b14156112cc5760405162461bcd60e51b81526004016105df90612b61565b505b60006112dc43610b0561099d565b905060006112ec82610b0561055f565b60038054600101905590506112ff611d5c565b604051806101a001604052806003548152602001336001600160a01b03168152602001600081526020018b81526020018a815260200189815260200188815260200184815260200183815260200160008152602001600081526020016000151581526020016000151581525090508060046000836000015181526020019081526020016000206000820151816000015560208201518160010160006101000a8154816001600160a01b0302191690836001600160a01b031602179055506040820151816002015560608201518160030190805190602001906113e2929190611dd1565b50608082015180516113fe916004840191602090910190611e36565b5060a0820151805161141a916005840191602090910190611e7d565b5060c08201518051611436916006840191602090910190611ed6565b5060e082015181600701556101008201518160080155610120820151816009015561014082015181600a015561016082015181600b0160006101000a81548160ff02191690831515021790555061018082015181600b0160016101000a81548160ff02191690831515021790555090505080600001516005600083602001516001600160a01b03166001600160a01b03168152602001908152602001600020819055507f7d84a6263ae0d98d3329bd7b46bb4e8d6f98cd35a7adb45c274c8b7fd5ebd5e08160000151338c8c8c8c89898e60405161151c99989796959493929190612efa565b60405180910390a1519998505050505050505050565b600461153d826109a3565b600781111561154857fe5b146115655760405162461bcd60e51b81526004016105df90612cec565b600081815260046020818152604080842084548251630d48571f60e31b815292519195946115ba9442946001600160a01b0390931693636a42b8f8938084019390829003018186803b158015610acd57600080fd5b905060005b60038301548110156117625761175a8360030182815481106115dd57fe5b6000918252602090912001546004850180546001600160a01b03909216918490811061160557fe5b906000526020600020015485600501848154811061161f57fe5b600091825260209182902001805460408051601f60026000196101006001871615020190941693909304928301859004850281018501909152818152928301828280156116ad5780601f10611682576101008083540402835291602001916116ad565b820191906000526020600020905b81548152906001019060200180831161169057829003601f168201915b50505050508660060185815481106116c157fe5b600091825260209182902001805460408051601f600260001961010060018716150201909416939093049283018590048502810185019091528181529283018282801561174f5780601f106117245761010080835404028352916020019161174f565b820191906000526020600020905b81548152906001019060200180831161173257829003601f168201915b505050505086611bfd565b6001016115bf565b50600282018190556040517f9a2e42fd6722813d69113e7d0079d3d940171428df7373df9c7f7617cfda289290610d969085908490612fdc565b60405161061690612705565b6117b0611f2f565b5060008281526004602090815260408083206001600160a01b0385168452600c018252918290208251606081018452905460ff80821615158352610100820416151592820192909252620100009091046001600160601b0316918101919091525b92915050565b6005611822826109a3565b600781111561182d57fe5b1461184a5760405162461bcd60e51b81526004016105df906129b5565b6000818152600460205260408120600b8101805461ff001916610100179055905b60038201548110156119a0576000546004830180546001600160a01b0390921691630825f38f91908490811061189d57fe5b90600052602060002001548460030184815481106118b757fe5b6000918252602090912001546004860180546001600160a01b0390921691869081106118df57fe5b90600052602060002001548660050186815481106118f957fe5b9060005260206000200187600601878154811061191257fe5b9060005260206000200188600201546040518763ffffffff1660e01b8152600401611941959493929190612854565b6000604051808303818588803b15801561195a57600080fd5b505af115801561196e573d6000803e3d6000fd5b50505050506040513d6000823e601f3d908101601f1916820160405261199791908101906123b5565b5060010161186b565b507f712ae1383f79ac853f8d882153778e0260ef8f03b504e2866e0593e04d2b291f826040516119d091906128e4565b60405180910390a15050565b60016119e7836109a3565b60078111156119f257fe5b14611a0f5760405162461bcd60e51b81526004016105df90612dd4565b60008281526004602090815260408083206001600160a01b0387168452600c8101909252909120805460ff1615611a585760405162461bcd60e51b81526004016105df90612a12565b600154600783015460405163782d6fe160e01b81526000926001600160a01b03169163782d6fe191611a8e918a91600401612752565b60206040518083038186803b158015611aa657600080fd5b505afa158015611aba573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190611ade91906124f4565b90508315611b0757611afd8360090154826001600160601b0316611ba5565b6009840155611b24565b611b1e83600a0154826001600160601b0316611ba5565b600a8401555b8154600160ff199091161761ff00191661010085151502176dffffffffffffffffffffffff00001916620100006001600160601b038316021782556040517f877856338e13f63d0c36822ff0ef736b80934cd90574a3a5bc9262c39d217c4690611b959088908890889086906127d7565b60405180910390a1505050505050565b600082820183811015611bca5760405162461bcd60e51b81526004016105df90612cc1565b9392505050565b600082821115611bf35760405162461bcd60e51b81526004016105df90612e40565b50900390565b4690565b6000546040516001600160a01b039091169063f2b0653790611c2b9088908890889088908890602001612808565b604051602081830303815290604052805190602001206040518263ffffffff1660e01b8152600401611c5d91906128e4565b60206040518083038186803b158015611c7557600080fd5b505afa158015611c89573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190611cad9190612381565b15611cca5760405162461bcd60e51b81526004016105df90612d80565b600054604051633a66f90160e01b81526001600160a01b0390911690633a66f90190611d029088908890889088908890600401612808565b602060405180830381600087803b158015611d1c57600080fd5b505af1158015611d30573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190611d54919061239d565b505050505050565b604051806101a001604052806000815260200160006001600160a01b031681526020016000815260200160608152602001606081526020016060815260200160608152602001600081526020016000815260200160008152602001600081526020016000151581526020016000151581525090565b828054828255906000526020600020908101928215611e26579160200282015b82811115611e2657825182546001600160a01b0319166001600160a01b03909116178255602090920191600190910190611df1565b50611e32929150611f4f565b5090565b828054828255906000526020600020908101928215611e71579160200282015b82811115611e71578251825591602001919060010190611e56565b50611e32929150611f73565b828054828255906000526020600020908101928215611eca579160200282015b82811115611eca5782518051611eba918491602090910190611f8d565b5091602001919060010190611e9d565b50611e32929150611ffa565b828054828255906000526020600020908101928215611f23579160200282015b82811115611f235782518051611f13918491602090910190611f8d565b5091602001919060010190611ef6565b50611e3292915061201d565b604080516060810182526000808252602082018190529181019190915290565b61056391905b80821115611e325780546001600160a01b0319168155600101611f55565b61056391905b80821115611e325760008155600101611f79565b828054600181600116156101000203166002900490600052602060002090601f016020900481019282601f10611fce57805160ff1916838001178555611e71565b82800160010185558215611e715791820182811115611e71578251825591602001919060010190611e56565b61056391905b80821115611e325760006120148282612040565b50600101612000565b61056391905b80821115611e325760006120378282612040565b50600101612023565b50805460018160011615610100020316600290046000825580601f106120665750612084565b601f0160209004906000526020600020908101906120849190611f73565b50565b80356001600160a01b038116811461181157600080fd5b600082601f8301126120ae578081fd5b81356120c16120bc82613011565b612fea565b8181529150602080830190848101818402860182018710156120e257600080fd5b60005b84811015612109576120f78883612087565b845292820192908201906001016120e5565b505050505092915050565b600082601f830112612124578081fd5b81356121326120bc82613011565b818152915060208083019084810160005b848110156121095761215a888484358a0101612222565b84529282019290820190600101612143565b600082601f83011261217c578081fd5b813561218a6120bc82613011565b818152915060208083019084810160005b84811015612109576121b2888484358a0101612222565b8452928201929082019060010161219b565b600082601f8301126121d4578081fd5b81356121e26120bc82613011565b81815291506020808301908481018184028601820187101561220357600080fd5b60005b8481101561210957813584529282019290820190600101612206565b600082601f830112612232578081fd5b81356122406120bc82613031565b915080825283602082850101111561225757600080fd5b8060208401602084013760009082016020015292915050565b600060208284031215612281578081fd5b611bca8383612087565b6000806040838503121561229d578081fd5b6122a78484612087565b946020939093013593505050565b600080600080600060a086880312156122cc578081fd5b853567ffffffffffffffff808211156122e3578283fd5b6122ef89838a0161209e565b96506020880135915080821115612304578283fd5b61231089838a016121c4565b95506040880135915080821115612325578283fd5b61233189838a0161216c565b94506060880135915080821115612346578283fd5b61235289838a01612114565b93506080880135915080821115612367578283fd5b5061237488828901612222565b9150509295509295909350565b600060208284031215612392578081fd5b8151611bca8161308d565b6000602082840312156123ae578081fd5b5051919050565b6000602082840312156123c6578081fd5b815167ffffffffffffffff8111156123dc578182fd5b80830184601f8201126123ed578283fd5b805191506123fd6120bc83613031565b828152856020848401011115612411578384fd5b612422836020830160208501613061565b95945050505050565b60006020828403121561243c578081fd5b5035919050565b60008060408385031215612455578182fd5b823591506124668460208501612087565b90509250929050565b60008060408385031215612481578182fd5b8235915060208301356124938161308d565b809150509250929050565b600080600080600060a086880312156124b5578283fd5b8535945060208601356124c78161308d565b9350604086013560ff811681146124dc578384fd5b94979396509394606081013594506080013592915050565b600060208284031215612505578081fd5b81516001600160601b0381168114611bca578182fd5b6000815180845260208085019450808401835b838110156125535781516001600160a01b03168752958201959082019060010161252e565b509495945050505050565b6000815180845260208085018081965082840281019150828601855b858110156125a45782840389526125928483516125e0565b9885019893509084019060010161257a565b5091979650505050505050565b6000815180845260208085019450808401835b83811015612553578151875295820195908201906001016125c4565b600081518084526125f8816020860160208601613061565b601f01601f19169290920160200192915050565b6000815460018082166000811461262a576001811461264857612686565b60028304607f16865260ff1983166020870152604086019350612686565b6002830480875261265886613055565b60005b8281101561267c5781546020828b010152848201915060208101905061265b565b8801602001955050505b50505092915050565b61190160f01b81526002810192909252602282015260420190565b7f454950373132446f6d61696e28737472696e67206e616d652c75696e7432353681527f20636861696e49642c6164647265737320766572696679696e67436f6e74726160208201526263742960e81b604082015260430190565b7f42616c6c6f742875696e743235362070726f706f73616c49642c626f6f6c20738152667570706f72742960c81b602082015260270190565b6001600160a01b0391909116815260200190565b6001600160a01b03929092168252602082015260400190565b600060018060a01b038616825284602083015260a06040830152601860a08301527f73657450656e64696e6741646d696e286164647265737329000000000000000060c083015260e060608301526127c660e08301856125e0565b905082608083015295945050505050565b6001600160a01b039490941684526020840192909252151560408301526001600160601b0316606082015260800190565b600060018060a01b038716825285602083015260a0604083015261282f60a08301866125e0565b828103606084015261284181866125e0565b9150508260808301529695505050505050565b600060018060a01b038716825285602083015260a0604083015261287b60a083018661260c565b8281036060840152612841818661260c565b6000608082526128a0608083018761251b565b82810360208401526128b281876125b1565b83810360408501526128c4818761255e565b91505082810360608401526128d9818561255e565b979650505050505050565b90815260200190565b938452602084019290925260408301526001600160a01b0316606082015260800190565b92835260208301919091521515604082015260600190565b93845260ff9290921660208401526040830152606082015260800190565b602081016008831061295557fe5b91905290565b600060208252611bca60208301846125e0565b60208082526027908201527f476f7665726e6f72416c7068613a2070726f706f7365722061626f76652074686040820152661c995cda1bdb1960ca1b606082015260800190565b6020808252603c908201527f476f7665726e6f72416c7068613a2070726f706f73616c2063616e206f6e6c7960408201527f2062652065786563757465642069662069742069732071756575656400000000606082015260800190565b60208082526022908201527f476f7665726e6f72416c7068613a20766f74657220616c726561647920766f74604082015261195960f21b606082015260800190565b60208082526036908201527f476f7665726e6f72416c7068613a2070726f706f73657220766f7465732062656040820152751b1bddc81c1c9bdc1bdcd85b081d1a1c995cda1bdb1960521b606082015260800190565b60208082526022908201527f476f7665726e6f72416c7068613a20696e76616c69642070726f706f73616c206040820152611a5960f21b606082015260800190565b6020808252604f908201527f476f7665726e6f72416c7068613a206f6e65206c6976652070726f706f73616c60408201527f207065722070726f706f7365722c20666f756e6420616e20616c72656164792060608201526e1858dd1a5d99481c1c9bdc1bdcd85b608a1b608082015260a00190565b60208082526050908201527f476f7665726e6f72416c7068613a206f6e65206c6976652070726f706f73616c60408201527f207065722070726f706f7365722c20666f756e6420616e20616c72656164792060608201526f1c195b991a5b99c81c1c9bdc1bdcd85b60821b608082015260a00190565b60208082526023908201527f476f7665726e6f72416c7068613a206d7573742070726f7669646520616374696040820152626f6e7360e81b606082015260800190565b6020808252602a908201527f476f7665726e6f72416c7068613a2073656e646572206d75737420626520676f6040820152693b1033bab0b93234b0b760b11b606082015260800190565b6020808252603b908201527f476f7665726e6f72416c7068613a2070726f706f73616c2066756e6374696f6e60408201527f20696e666f726d6174696f6e206172697479206d69736d617463680000000000606082015260800190565b6020808252601190820152706164646974696f6e206f766572666c6f7760781b604082015260600190565b6020808252603d908201527f476f7665726e6f72416c7068613a2070726f706f73616c2063616e206f6e6c7960408201527f2062652071756575656420696620697420697320737563636565646564000000606082015260800190565b6020808252601f908201527f476f7665726e6f72416c7068613a20746f6f206d616e7920616374696f6e7300604082015260600190565b60208082526034908201527f476f7665726e6f72416c7068613a2070726f706f73616c20616374696f6e20616040820152736c7265616479207175657565642061742065746160601b606082015260800190565b6020808252601f908201527f476f7665726e6f72416c7068613a20766f74696e6720697320636c6f73656400604082015260600190565b6020808252818101527f476f7665726e6f72416c7068613a20696e76616c6964207369676e6174757265604082015260600190565b6020808252601590820152747375627472616374696f6e20756e646572666c6f7760581b604082015260600190565b60208082526039908201527f476f7665726e6f72416c7068613a2063616e206f6e6c792063616e63656c204160408201527f6374697665206f722050656e64696e672050726f706f73616c00000000000000606082015260800190565b8151151581526020808301511515908201526040918201516001600160601b03169181019190915260600190565b8981526001600160a01b038916602082015261012060408201819052600090612f258382018b61251b565b8381036060850152612f37818b6125b1565b9150508281036080840152612f4c818961255e565b83810360a0850152612f5e818961255e565b9150508560c08401528460e0840152828103610100840152612f8081856125e0565b9c9b505050505050505050505050565b9889526001600160a01b0397909716602089015260408801959095526060870193909352608086019190915260a085015260c0840152151560e083015215156101008201526101200190565b918252602082015260400190565b60405181810167ffffffffffffffff8111828210171561300957600080fd5b604052919050565b600067ffffffffffffffff821115613027578081fd5b5060209081020190565b600067ffffffffffffffff821115613047578081fd5b50601f01601f191660200190565b60009081526020902090565b60005b8381101561307c578181015183820152602001613064565b838111156110f75750506000910152565b801515811461208457600080fdfea26469706673582212209093fc246dc3dd5f2b80129bbe2c8b6d95ef49e0b9364f4b8a6f50f6c4f9de5a64736f6c63430006060033
Constructor Arguments (ABI-Encoded and is the last bytes of the Contract Creation Code above)
000000000000000000000000639572471f2f318464dc01066a56867130e45e25000000000000000000000000c7283b66eb1eb5fb86327f08e1b5816b0720212b000000000000000000000000bc568e3350b6e34a291eb249709bc3aaf36527e5
-----Decoded View---------------
Arg [0] : timelock_ (address): 0x639572471f2f318464dc01066a56867130e45E25
Arg [1] : tribe_ (address): 0xc7283b66Eb1EB5FB86327f08e1B5816b0720212B
Arg [2] : guardian_ (address): 0xBC568E3350B6e34A291Eb249709bc3AaF36527E5
-----Encoded View---------------
3 Constructor Arguments found :
Arg [0] : 000000000000000000000000639572471f2f318464dc01066a56867130e45e25
Arg [1] : 000000000000000000000000c7283b66eb1eb5fb86327f08e1b5816b0720212b
Arg [2] : 000000000000000000000000bc568e3350b6e34a291eb249709bc3aaf36527e5
Deployed Bytecode Sourcemap
195:14264:0:-:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;12:1:-1;9;2:12;3857:43:0;;5:9:-1;2:2;;;27:1;24;17:12;2:2;-1:-1;3857:43:0;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;1258:68;;5:9:-1;2:2;;;27:1;24;17:12;2:2;1258:68:0;;;:::i;:::-;;;;;;;;320:50;;5:9:-1;2:2;;;27:1;24;17:12;2:2;320:50:0;;;:::i;:::-;;;;;;;;11275:122;;5:9:-1;2:2;;;27:1;24;17:12;2:2;-1:-1;11275:122:0;;;;;;;;:::i;:::-;;3961:50;;5:9:-1;2:2;;;27:1;24;17:12;2:2;-1:-1;3961:50:0;;;;;;;;:::i;13141:182::-;;5:9:-1;2:2;;;27:1;24;17:12;2:2;-1:-1;13141:182:0;;;;;;;;:::i;4081:122::-;;5:9:-1;2:2;;;27:1;24;17:12;2:2;4081:122:0;;;:::i;13630:299::-;;5:9:-1;2:2;;;27:1;24;17:12;2:2;-1:-1;13630:299:0;;;;;;;;:::i;509:73::-;;5:9:-1;2:2;;;27:1;24;17:12;2:2;509:73:0;;;:::i;9751:284::-;;5:9:-1;2:2;;;27:1;24;17:12;2:2;-1:-1;9751:284:0;;;;;;;;:::i;:::-;;;;;;;;;;;1077:66;;5:9:-1;2:2;;;27:1;24;17:12;2:2;1077:66:0;;;:::i;10197:1072::-;;5:9:-1;2:2;;;27:1;24;17:12;2:2;-1:-1;10197:1072:0;;;;;;;;:::i;:::-;;;;;;;;8981:764;;5:9:-1;2:2;;;27:1;24;17:12;2:2;-1:-1;8981:764:0;;;;;;;;:::i;1617:23::-;;5:9:-1;2:2;;;27:1;24;17:12;2:2;1617:23:0;;;:::i;:::-;;;;;;;;11403:603;;5:9:-1;2:2;;;27:1;24;17:12;2:2;-1:-1;11403:603:0;;;;;;;;:::i;12981:154::-;;5:9:-1;2:2;;;27:1;24;17:12;2:2;12981:154:0;;;:::i;899:74::-;;5:9:-1;2:2;;;27:1;24;17:12;2:2;899:74:0;;;:::i;13329:295::-;;5:9:-1;2:2;;;27:1;24;17:12;2:2;-1:-1;13329:295:0;;;;;;;;:::i;705:78::-;;5:9:-1;2:2;;;27:1;24;17:12;2:2;705:78:0;;;:::i;1530:27::-;;5:9:-1;2:2;;;27:1;24;17:12;2:2;1530:27:0;;;:::i;12817:158::-;;5:9:-1;2:2;;;27:1;24;17:12;2:2;12817:158:0;;;:::i;1434:33::-;;5:9:-1;2:2;;;27:1;24;17:12;2:2;1434:33:0;;;:::i;1693:25::-;;5:9:-1;2:2;;;27:1;24;17:12;2:2;1693:25:0;;;:::i;5346:2081::-;;5:9:-1;2:2;;;27:1;24;17:12;2:2;-1:-1;5346:2081:0;;;;;;;;:::i;7433:615::-;;5:9:-1;2:2;;;27:1;24;17:12;2:2;-1:-1;7433:615:0;;;;;;;;:::i;4290:94::-;;5:9:-1;2:2;;;27:1;24;17:12;2:2;4290:94:0;;;:::i;10041:150::-;;5:9:-1;2:2;;;27:1;24;17:12;2:2;-1:-1;10041:150:0;;;;;;;;:::i;:::-;;;;;;;;8417:558;;;;;;;;;:::i;3857:43::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;;;;;3857:43:0;;;;;;;;;;;;;;;;;;;;;;:::o;1258:68::-;1318:5;1258:68;;:::o;320:50::-;;;;;;;;;;;;;;-1:-1:-1;;;320:50:0;;;;:::o;11275:122::-;11348:42;11358:10;11370;11382:7;11348:9;:42::i;:::-;11275:122;;:::o;3961:50::-;;;;;;;;;;;;;:::o;13141:182::-;13229:8;;-1:-1:-1;;;;;13229:8:0;13215:10;:22;13207:77;;;;-1:-1:-1;;;13207:77:0;;;;;;;;;;;;;;;;;13294:8;:22;;-1:-1:-1;;;;;;13294:22:0;-1:-1:-1;;;;;13294:22:0;;;;;;;;;;13141:182::o;4081:122::-;4123:80;;;;;;;;;;;;;;4081:122;:::o;13630:299::-;13746:8;;-1:-1:-1;;;;;13746:8:0;13732:10;:22;13724:77;;;;-1:-1:-1;;;13724:77:0;;;;;;;;;13811:8;;;13889:27;;-1:-1:-1;;;;;13811:8:0;;;;:27;;:8;;;13889:27;;13900:15;;13889:27;;;;;;;49:4:-1;39:7;30;26:21;22:32;13:7;6:49;13889:27:0;;;13918:3;13811:111;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;5:9:-1;2:2;;;27:1;24;17:12;2:2;13811:111:0;;;;8:9:-1;5:2;;;45:16;42:1;39;24:38;77:16;74:1;67:27;5:2;13811:111:0;;;;;;39:16:-1;36:1;17:17;2:54;101:4;13811:111:0;80:15:-1;;;-1:-1;;76:31;65:43;;120:4;113:20;13811:111:0;;;;;;;;;;13630:299;;:::o;509:73::-;568:11;509:73;:::o;9751:284::-;9809:24;9835:20;9857:26;9885:24;9921:18;9942:9;:21;9952:10;9942:21;;;;;;;;;;;9921:42;;9981:1;:9;;9992:1;:8;;10002:1;:12;;10016:1;:11;;9973:55;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;;;;;9973:55:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;;9973:55:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;;9973:55:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;9751:284;;;;;:::o;1077:66::-;1136:4;1077:66;:::o;10197:1072::-;10250:13;10300:10;10283:13;;:27;;:45;;;;;10327:1;10314:10;:14;10283:45;10275:92;;;;-1:-1:-1;;;10275:92:0;;;;;;;;;10377:25;10405:21;;;:9;:21;;;;;10440:17;;;;;;10436:827;;;10480:22;10473:29;;;;;10436:827;10539:8;:19;;;10523:12;:35;10519:744;;10581:21;10574:28;;;;;10519:744;10639:8;:17;;;10623:12;:33;10619:644;;10679:20;10672:27;;;;;10619:644;10741:8;:21;;;10720:8;:17;;;:42;;:79;;;;10786:13;:11;:13::i;:::-;10766:8;:17;;;:33;10720:79;10716:547;;;10822:22;10815:29;;;;;10716:547;10865:12;;;;10861:402;;10905:23;10898:30;;;;;10861:402;10949:17;;;;;;;;;10945:318;;;10989:22;10982:29;;;;;10945:318;11112:12;;;;11126:8;;:23;;;-1:-1:-1;;;11126:23:0;;;;11105:45;;11112:12;-1:-1:-1;;;;;11126:8:0;;:21;;:23;;;;;;;;;;;;;;:8;:23;;;2:2:-1;;;;27:1;24;17:12;2:2;11126:23:0;;;;8:9:-1;5:2;;;45:16;42:1;39;24:38;77:16;74:1;67:27;5:2;11126:23:0;;;;;;;101:4:-1;97:9;90:4;84;80:15;76:31;69:5;65:43;126:6;120:4;113:20;0:138;11126:23:0;;;;;;;;;11105:6;:45::i;:::-;11086:15;:64;11082:181;;11173:21;11166:28;;;;;11082:181;11232:20;11225:27;;;10197:1072;;;;:::o;8981:764::-;9031:19;9053:17;9059:10;9053:5;:17::i;:::-;9031:39;-1:-1:-1;9097:20:0;9088:5;:29;;;;;;;;;:63;;;-1:-1:-1;9130:21:0;9121:5;:30;;;;;;;;;9088:63;9080:133;;;;-1:-1:-1;;;9080:133:0;;;;;;;;;9224:25;9252:21;;;:9;:21;;;;;9305:8;;-1:-1:-1;;;;;9305:8:0;9291:10;:22;;:111;;;9383:19;:17;:19::i;:::-;9317:5;;;9337:17;;;;-1:-1:-1;;;;;9317:5:0;;;;:19;;9337:17;;;;9356:23;;9363:12;;9356:6;:23::i;:::-;9317:63;;;;;;;;;;;;;;;;;;;;;;;;;;;;;5:9:-1;2:2;;;27:1;24;17:12;2:2;9317:63:0;;;;8:9:-1;5:2;;;45:16;42:1;39;24:38;77:16;74:1;67:27;5:2;9317:63:0;;;;;;;101:4:-1;97:9;90:4;84;80:15;76:31;69:5;65:43;126:6;120:4;113:20;0:138;9317:63:0;;;;;;;;;-1:-1:-1;;;;;9317:85:0;;9291:111;9283:163;;;;-1:-1:-1;;;9283:163:0;;;;;;;;;9457:17;;;:24;;-1:-1:-1;;9457:24:0;9477:4;9457:24;;;:17;9491:204;9512:16;;;:23;9508:27;;9491:204;;;9556:8;;9583:16;;;:19;;-1:-1:-1;;;;;9556:8:0;;;;:26;;9583:16;9600:1;;9583:19;;;;;;;;;;;;;;;;9604:15;;;:18;;-1:-1:-1;;;;;9583:19:0;;;;9620:1;;9604:18;;;;;;;;;;;;;;9624:8;:19;;9644:1;9624:22;;;;;;;;;;;;;;;9648:8;:18;;9667:1;9648:21;;;;;;;;;;;;;;;9671:8;:12;;;9556:128;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;5:9:-1;2:2;;;27:1;24;17:12;2:2;9556:128:0;;;;8:9:-1;5:2;;;45:16;42:1;39;24:38;77:16;74:1;67:27;5:2;-1:-1;;9537:3:0;;;;;-1:-1:-1;9491:204:0;;-1:-1:-1;9491:204:0;;;9710:28;9727:10;9710:28;;;;;;;;;;;;;;;8981:764;;;:::o;1617:23::-;;;-1:-1:-1;;;;;1617:23:0;;:::o;11403:603::-;11505:23;4123:80;;;;;;;;;;;;;;;;11585:4;;;;;;;;;-1:-1:-1;;;11585:4:0;;;;;;;;11569:22;11593:12;:10;:12::i;:::-;11615:4;11541:80;;;;;;;;;;;;;;;49:4:-1;39:7;30;26:21;22:32;13:7;6:49;11541:80:0;;;11531:91;;;;;;11505:117;;11632:18;4332:52;;;;;;;;;;;;;;;11663:48;;11691:10;;11703:7;;11663:48;;;;;;;49:4:-1;39:7;30;26:21;22:32;13:7;6:49;11663:48:0;;;11653:59;;;;;;11632:80;;11722:14;11778:15;11795:10;11749:57;;;;;;;;;;;;;49:4:-1;39:7;30;26:21;22:32;13:7;6:49;11749:57:0;;;11739:68;;;;;;11722:85;;11817:17;11837:26;11847:6;11855:1;11858;11861;11837:26;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;8:9:-1;5:2;;;45:16;42:1;39;24:38;77:16;74:1;67:27;5:2;-1:-1;;11837:26:0;;-1:-1:-1;;11837:26:0;;;-1:-1:-1;;;;;;;11881:23:0;;11873:68;;;;-1:-1:-1;;;11873:68:0;;;;;;;;;11958:41;11968:9;11979:10;11991:7;11958:9;:41::i;:::-;11951:48;;;;11403:603;;;;;:::o;12981:154::-;13042:8;;-1:-1:-1;;;;;13042:8:0;13028:10;:22;13020:77;;;;-1:-1:-1;;;13020:77:0;;;;;;;;;13107:8;:21;;-1:-1:-1;;;;;;13107:21:0;;;12981:154::o;899:74::-;968:2;899:74;:::o;13329:295::-;13443:8;;-1:-1:-1;;;;;13443:8:0;13429:10;:22;13421:77;;;;-1:-1:-1;;;13421:77:0;;;;;;;;;13508:8;;;13584:27;;-1:-1:-1;;;;;13508:8:0;;;;:25;;:8;;;13584:27;;13595:15;;13584:27;;;;;;;49:4:-1;39:7;30;26:21;22:32;13:7;6:49;13584:27:0;;;13613:3;13508:109;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;5:9:-1;2:2;;;27:1;24;17:12;2:2;13508:109:0;;;;8:9:-1;5:2;;;45:16;42:1;39;24:38;77:16;74:1;67:27;5:2;13508:109:0;;;;;;;101:4:-1;97:9;90:4;84;80:15;76:31;69:5;65:43;126:6;120:4;113:20;0:138;13508:109:0;;;;;;;;705:78;770:10;705:78;:::o;1530:27::-;;;-1:-1:-1;;;;;1530:27:0;;:::o;12817:158::-;12881:8;;-1:-1:-1;;;;;12881:8:0;12867:10;:22;12859:77;;;;-1:-1:-1;;;12859:77:0;;;;;;;;;12946:8;;;:22;;;-1:-1:-1;;;12946:22:0;;;;-1:-1:-1;;;;;12946:8:0;;;;:20;;:22;;;;;;;;;;:8;;:22;;;2:2:-1;;;;27:1;24;17:12;2:2;12946:22:0;;;;8:9:-1;5:2;;;45:16;42:1;39;24:38;77:16;74:1;67:27;5:2;12946:22:0;;;;12817:158::o;1434:33::-;;;-1:-1:-1;;;;;1434:33:0;;:::o;1693:25::-;;;;:::o;5346:2081::-;5508:4;5591:19;:17;:19::i;:::-;5532:5;;;-1:-1:-1;;;;;5532:5:0;;:19;;5552:10;;5564:23;;5571:12;;5564:6;:23::i;:::-;5532:56;;;;;;;;;;;;;;;;;;;;;;;;;;;;;5:9:-1;2:2;;;27:1;24;17:12;2:2;5532:56:0;;;;8:9:-1;5:2;;;45:16;42:1;39;24:38;77:16;74:1;67:27;5:2;5532:56:0;;;;;;;101:4:-1;97:9;90:4;84;80:15;76:31;69:5;65:43;126:6;120:4;113:20;0:138;5532:56:0;;;;;;;;;-1:-1:-1;;;;;5532:78:0;;5524:145;;;;-1:-1:-1;;;5524:145:0;;;;;;;;;5705:6;:13;5687:7;:14;:31;:70;;;;;5740:10;:17;5722:7;:14;:35;5687:70;:108;;;;;5779:9;:16;5761:7;:14;:34;5687:108;5679:180;;;;-1:-1:-1;;;5679:180:0;;;;;;;;;5877:14;;5869:67;;;;-1:-1:-1;;;5869:67:0;;;;;;;;;5972:23;:21;:23::i;:::-;5954:7;:14;:41;;5946:85;;;;-1:-1:-1;;;5946:85:0;;;;;;;;;6084:10;6042:21;6066:29;;;:17;:29;;;;;;6109:21;;6105:432;;6144:42;6189:23;6195:16;6189:5;:23::i;:::-;6144:68;-1:-1:-1;6264:20:0;6232:28;:52;;;;;;;;;;6224:144;;;;-1:-1:-1;;;6224:144:0;;;;;;;;;6420:21;6388:28;:53;;;;;;;;;;6380:146;;;;-1:-1:-1;;;6380:146:0;;;;;;;;;6105:432;;6547:15;6565:35;6572:12;6586:13;:11;:13::i;6565:35::-;6547:53;;6610:13;6626:34;6633:10;6645:14;:12;:14::i;6626:34::-;6671:13;:15;;;;;;6610:50;-1:-1:-1;6696:27:0;;:::i;:::-;6726:413;;;;;;;;6753:13;;6726:413;;;;6790:10;-1:-1:-1;;;;;6726:413:0;;;;;6819:1;6726:413;;;;6843:7;6726:413;;;;6872:6;6726:413;;;;6904:10;6726:413;;;;6939:9;6726:413;;;;6974:10;6726:413;;;;7008:8;6726:413;;;;7040:1;6726:413;;;;7069:1;6726:413;;;;7094:5;6726:413;;;;;;7123:5;6726:413;;;;;6696:443;;7178:11;7150:9;:25;7160:11;:14;;;7150:25;;;;;;;;;;;:39;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;;;;;7150:39:0;;;;;-1:-1:-1;;;;;7150:39:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;-1:-1:-1;7150:39:0;;;;;;;;;;;;;;;;;;:::i;:::-;-1:-1:-1;7150:39:0;;;;;;;;;;;;;;;;;;:::i;:::-;-1:-1:-1;7150:39:0;;;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;7241:11;:14;;;7199:17;:39;7217:11;:20;;;-1:-1:-1;;;;;7199:39:0;-1:-1:-1;;;;;7199:39:0;;;;;;;;;;;;:56;;;;7271:118;7287:11;:14;;;7303:10;7315:7;7324:6;7332:10;7344:9;7355:10;7367:8;7377:11;7271:118;;;;;;;;;;;;;;;;;;;;;;;7406:14;;5346:2081;-1:-1:-1;;;;;;;;;5346:2081:0:o;7433:615::-;7511:23;7490:17;7496:10;7490:5;:17::i;:::-;:44;;;;;;;;;7482:118;;;;-1:-1:-1;;;7482:118:0;;;;;;;;;7610:25;7638:21;;;:9;:21;;;;;;;;7758:8;;:16;;-1:-1:-1;;;7758:16:0;;;;7638:21;;7610:25;7734:41;;7741:15;;-1:-1:-1;;;;;7758:8:0;;;;:14;;:16;;;;;;;;;;:8;:16;;;2:2:-1;;;;27:1;24;17:12;7734:41:0;7723:52;-1:-1:-1;7790:6:0;7785:183;7806:16;;;:23;7802:27;;7785:183;;;7850:107;7865:8;:16;;7882:1;7865:19;;;;;;;;;;;;;;;;;;7886:15;;;:18;;-1:-1:-1;;;;;7865:19:0;;;;7902:1;;7886:18;;;;;;;;;;;;;;7906:8;:19;;7926:1;7906:22;;;;;;;;;;;;;;;;;;7850:107;;;;;;;-1:-1:-1;;7850:107:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;7906:22;7850:107;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;7930:8;:18;;7949:1;7930:21;;;;;;;;;;;;;;;;;;7850:107;;;;;;;-1:-1:-1;;7850:107:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;7930:21;7850:107;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;7953:3;7850:14;:107::i;:::-;7831:3;;7785:183;;;-1:-1:-1;7977:12:0;;;:18;;;8010:31;;;;;;8025:10;;7992:3;;8010:31;;4290:94;4332:52;;;;;;10041:150;10114:14;;:::i;:::-;-1:-1:-1;10147:21:0;;;;:9;:21;;;;;;;;-1:-1:-1;;;;;10147:37:0;;;;:30;;:37;;;;;;10140:44;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;;;;;10140:44:0;;;;;;;;10041:150;;;;;:::o;8417:558::-;8505:20;8484:17;8490:10;8484:5;:17::i;:::-;:41;;;;;;;;;8476:114;;;;-1:-1:-1;;;8476:114:0;;;;;;;;;8600:25;8628:21;;;:9;:21;;;;;8659:17;;;:24;;-1:-1:-1;;8659:24:0;;;;;8628:21;8693:233;8714:16;;;:23;8710:27;;8693:233;;;8758:8;;8794:15;;;:18;;-1:-1:-1;;;;;8758:8:0;;;;:27;;8794:15;8810:1;;8794:18;;;;;;;;;;;;;;8814:8;:16;;8831:1;8814:19;;;;;;;;;;;;;;;;;;8835:15;;;:18;;-1:-1:-1;;;;;8814:19:0;;;;8851:1;;8835:18;;;;;;;;;;;;;;8855:8;:19;;8875:1;8855:22;;;;;;;;;;;;;;;8879:8;:18;;8898:1;8879:21;;;;;;;;;;;;;;;8902:8;:12;;;8758:157;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;5:9:-1;2:2;;;27:1;24;17:12;2:2;8758:157:0;;;;8:9:-1;5:2;;;45:16;42:1;39;24:38;77:16;74:1;67:27;5:2;8758:157:0;;;;;;;39:16:-1;36:1;17:17;2:54;101:4;8758:157:0;80:15:-1;;;-1:-1;;76:31;65:43;;120:4;113:20;8758:157:0;;;;;;;;;-1:-1:-1;8739:3:0;;8693:233;;;;8940:28;8957:10;8940:28;;;;;;;;;;;;;;;8417:558;;:::o;12012:799::-;12125:20;12104:17;12110:10;12104:5;:17::i;:::-;:41;;;;;;;;;12096:85;;;;-1:-1:-1;;;12096:85:0;;;;;;;;;12191:25;12219:21;;;:9;:21;;;;;;;;-1:-1:-1;;;;;12276:24:0;;;;:17;;;:24;;;;;;12318:16;;;;:25;12310:72;;;;-1:-1:-1;;;12310:72:0;;;;;;;;;12407:5;;12434:19;;;;12407:47;;-1:-1:-1;;;12407:47:0;;12392:12;;-1:-1:-1;;;;;12407:5:0;;:19;;:47;;12427:5;;12407:47;;;;;;;;;;;;;;;;5:9:-1;2:2;;;27:1;24;17:12;2:2;12407:47:0;;;;8:9:-1;5:2;;;45:16;42:1;39;24:38;77:16;74:1;67:27;5:2;12407:47:0;;;;;;;101:4:-1;97:9;90:4;84;80:15;76:31;69:5;65:43;126:6;120:4;113:20;0:138;12407:47:0;;;;;;;;;12392:62;;12469:7;12465:181;;;12512:32;12519:8;:17;;;12538:5;-1:-1:-1;;;;;12512:32:0;:6;:32::i;:::-;12492:17;;;:52;12465:181;;;12599:36;12606:8;:21;;;12629:5;-1:-1:-1;;;;;12599:36:0;:6;:36::i;:::-;12575:21;;;:60;12465:181;12656:23;;12675:4;-1:-1:-1;;12656:23:0;;;;-1:-1:-1;;12689:25:0;12656:23;12689:25;;;;;-1:-1:-1;;12724:21:0;;-1:-1:-1;;;;;12724:21:0;;;;;;12761:43;;;;;;12770:5;;12777:10;;12689:25;;12724:21;;12761:43;;;;;;;;;;12012:799;;;;;;:::o;13935:162::-;13996:4;14021:5;;;14044:6;;;;14036:36;;;;-1:-1:-1;;;14036:36:0;;;;;;;;;14089:1;13935:162;-1:-1:-1;;;13935:162:0:o;14103:146::-;14164:4;14193:1;14188;:6;;14180:40;;;;-1:-1:-1;;;14180:40:0;;;;;;;;;-1:-1:-1;14237:5:0;;;14103:146::o;14255:202::-;14416:9;14255:202;:::o;8054:357::-;8188:8;;8226:47;;-1:-1:-1;;;;;8188:8:0;;;;:27;;8226:47;;8237:6;;8245:5;;8252:9;;8263:4;;8269:3;;8226:47;;;;;;;49:4:-1;39:7;30;26:21;22:32;13:7;6:49;8226:47:0;;;8216:58;;;;;;8188:87;;;;;;;;;;;;;;;;;;;;;;;;;;;;5:9:-1;2:2;;;27:1;24;17:12;2:2;8188:87:0;;;;8:9:-1;5:2;;;45:16;42:1;39;24:38;77:16;74:1;67:27;5:2;8188:87:0;;;;;;;101:4:-1;97:9;90:4;84;80:15;76:31;69:5;65:43;126:6;120:4;113:20;0:138;8188:87:0;;;;;;;;;8187:88;8179:153;;;;-1:-1:-1;;;8179:153:0;;;;;;;;;8342:8;;:62;;-1:-1:-1;;;8342:62:0;;-1:-1:-1;;;;;8342:8:0;;;;:25;;:62;;8368:6;;8376:5;;8383:9;;8394:4;;8400:3;;8342:62;;;;;;;;;;;;;;;;;5:9:-1;2:2;;;27:1;24;17:12;2:2;8342:62:0;;;;8:9:-1;5:2;;;45:16;42:1;39;24:38;77:16;74:1;67:27;5:2;8342:62:0;;;;;;;101:4:-1;97:9;90:4;84;80:15;76:31;69:5;65:43;126:6;120:4;113:20;0:138;8342:62:0;;;;;;;;;;8054:357;;;;;:::o;195:14264::-;;;;;;;;;;;;;;;-1:-1:-1;;;;;195:14264:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::o;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;;;;;;195:14264:0;-1:-1:-1;;;;;195:14264:0;;;;;;;;;;;-1:-1:-1;195:14264:0;;;;;;;-1:-1:-1;195:14264:0;;;-1:-1:-1;195:14264:0;:::i;:::-;;;:::o;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;195:14264:0;;;-1:-1:-1;195:14264:0;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;-1:-1:-1;195:14264:0;;;-1:-1:-1;195:14264:0;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;-1:-1:-1;195:14264:0;;;-1:-1:-1;195:14264:0;:::i;:::-;;;;;;;;;-1:-1:-1;195:14264:0;;;;;;;;;;;;;;;;;:::o;:::-;;;;;;;;;;;;;-1:-1:-1;;;;;;195:14264:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;:::o;5:130:-1:-;72:20;;-1:-1;;;;;56761:54;;59291:35;;59281:2;;59340:1;;59330:12;160:707;;277:3;270:4;262:6;258:17;254:27;244:2;;-1:-1;;285:12;244:2;332:6;319:20;354:80;369:64;426:6;369:64;;;354:80;;;462:21;;;345:89;-1:-1;506:4;519:14;;;;494:17;;;608;;;599:27;;;;596:36;-1:-1;593:2;;;645:1;;635:12;593:2;670:1;655:206;680:6;677:1;674:13;655:206;;;760:37;793:3;781:10;760:37;;;748:50;;812:14;;;;840;;;;702:1;695:9;655:206;;;659:14;;;;;237:630;;;;;891:705;;1017:3;1010:4;1002:6;998:17;994:27;984:2;;-1:-1;;1025:12;984:2;1072:6;1059:20;1094:89;1109:73;1175:6;1109:73;;1094:89;1211:21;;;1085:98;-1:-1;1255:4;1268:14;;;;1243:17;;;1363:1;1348:242;1373:6;1370:1;1367:13;1348:242;;;1480:46;1522:3;1255:4;1456:3;1443:17;1247:6;1431:30;;1480:46;;;1468:59;;1541:14;;;;1569;;;;1395:1;1388:9;1348:242;;1621:708;;1748:3;1741:4;1733:6;1729:17;1725:27;1715:2;;-1:-1;;1756:12;1715:2;1803:6;1790:20;1825:90;1840:74;1907:6;1840:74;;1825:90;1943:21;;;1816:99;-1:-1;1987:4;2000:14;;;;1975:17;;;2095:1;2080:243;2105:6;2102:1;2099:13;2080:243;;;2212:47;2255:3;1987:4;2188:3;2175:17;1979:6;2163:30;;2212:47;;;2200:60;;2274:14;;;;2302;;;;2127:1;2120:9;2080:243;;2355:707;;2472:3;2465:4;2457:6;2453:17;2449:27;2439:2;;-1:-1;;2480:12;2439:2;2527:6;2514:20;2549:80;2564:64;2621:6;2564:64;;2549:80;2657:21;;;2540:89;-1:-1;2701:4;2714:14;;;;2689:17;;;2803;;;2794:27;;;;2791:36;-1:-1;2788:2;;;2840:1;;2830:12;2788:2;2865:1;2850:206;2875:6;2872:1;2869:13;2850:206;;;5032:20;;2943:50;;3007:14;;;;3035;;;;2897:1;2890:9;2850:206;;3615:440;;3716:3;3709:4;3701:6;3697:17;3693:27;3683:2;;-1:-1;;3724:12;3683:2;3771:6;3758:20;3793:64;3808:48;3849:6;3808:48;;3793:64;3784:73;;3877:6;3870:5;3863:21;3981:3;3913:4;3972:6;3905;3963:16;;3960:25;3957:2;;;3998:1;;3988:12;3957:2;58582:6;3913:4;3905:6;3901:17;3913:4;3939:5;3935:16;58559:30;58638:1;58620:16;;;3913:4;58620:16;58613:27;3939:5;3676:379;-1:-1;;3676:379;5515:241;;5619:2;5607:9;5598:7;5594:23;5590:32;5587:2;;;-1:-1;;5625:12;5587:2;5687:53;5732:7;5708:22;5687:53;;5763:366;;;5884:2;5872:9;5863:7;5859:23;5855:32;5852:2;;;-1:-1;;5890:12;5852:2;5952:53;5997:7;5973:22;5952:53;;;5942:63;6042:2;6081:22;;;;5032:20;;-1:-1;;;5846:283;6136:1431;;;;;;6437:3;6425:9;6416:7;6412:23;6408:33;6405:2;;;-1:-1;;6444:12;6405:2;6502:17;6489:31;6540:18;;6532:6;6529:30;6526:2;;;-1:-1;;6562:12;6526:2;6592:78;6662:7;6653:6;6642:9;6638:22;6592:78;;;6582:88;;6735:2;6724:9;6720:18;6707:32;6693:46;;6540:18;6751:6;6748:30;6745:2;;;-1:-1;;6781:12;6745:2;6811:78;6881:7;6872:6;6861:9;6857:22;6811:78;;;6801:88;;6954:2;6943:9;6939:18;6926:32;6912:46;;6540:18;6970:6;6967:30;6964:2;;;-1:-1;;7000:12;6964:2;7030:88;7110:7;7101:6;7090:9;7086:22;7030:88;;;7020:98;;7183:2;7172:9;7168:18;7155:32;7141:46;;6540:18;7199:6;7196:30;7193:2;;;-1:-1;;7229:12;7193:2;7259:87;7338:7;7329:6;7318:9;7314:22;7259:87;;;7249:97;;7411:3;7400:9;7396:19;7383:33;7369:47;;6540:18;7428:6;7425:30;7422:2;;;-1:-1;;7458:12;7422:2;;7488:63;7543:7;7534:6;7523:9;7519:22;7488:63;;;7478:73;;;6399:1168;;;;;;;;;7574:257;;7686:2;7674:9;7665:7;7661:23;7657:32;7654:2;;;-1:-1;;7692:12;7654:2;3282:6;3276:13;3294:30;3318:5;3294:30;;7838:263;;7953:2;7941:9;7932:7;7928:23;7924:32;7921:2;;;-1:-1;;7959:12;7921:2;-1:-1;3551:13;;7915:186;-1:-1;7915:186;8108:360;;8232:2;8220:9;8211:7;8207:23;8203:32;8200:2;;;-1:-1;;8238:12;8200:2;8289:17;8283:24;8327:18;8319:6;8316:30;8313:2;;;-1:-1;;8349:12;8313:2;8435:6;8424:9;8420:22;4176:3;4169:4;4161:6;4157:17;4153:27;4143:2;;-1:-1;;4184:12;4143:2;4224:6;4218:13;4204:27;;4246:64;4261:48;4302:6;4261:48;;4246:64;4330:6;4323:5;4316:21;4434:3;8232:2;4425:6;4358;4416:16;;4413:25;4410:2;;;-1:-1;;4441:12;4410:2;4461:39;4493:6;8232:2;4392:5;4388:16;8232:2;4358:6;4354:17;4461:39;;;8369:83;8194:274;-1:-1;;;;;8194:274;8475:241;;8579:2;8567:9;8558:7;8554:23;8550:32;8547:2;;;-1:-1;;8585:12;8547:2;-1:-1;5032:20;;8541:175;-1:-1;8541:175;8993:366;;;9114:2;9102:9;9093:7;9089:23;9085:32;9082:2;;;-1:-1;;9120:12;9082:2;5045:6;5032:20;9172:63;;9290:53;9335:7;9272:2;9315:9;9311:22;9290:53;;;9280:63;;9076:283;;;;;;9366:360;;;9484:2;9472:9;9463:7;9459:23;9455:32;9452:2;;;-1:-1;;9490:12;9452:2;5045:6;5032:20;9542:63;;9642:2;9682:9;9678:22;3134:20;3159:30;3183:5;3159:30;;;9650:60;;;;9446:280;;;;;;9733:733;;;;;;9900:3;9888:9;9879:7;9875:23;9871:33;9868:2;;;-1:-1;;9907:12;9868:2;5045:6;5032:20;9959:63;;10059:2;10099:9;10095:22;3134:20;3159:30;3183:5;3159:30;;;10067:60;-1:-1;10164:2;10201:22;;5308:20;56977:4;56966:16;;59779:33;;59769:2;;-1:-1;;59816:12;59769:2;9862:604;;;;-1:-1;10172:61;;10270:2;10309:22;;3403:20;;-1:-1;10378:3;10418:22;3403:20;;9862:604;-1:-1;;9862:604;10473:261;;10587:2;10575:9;10566:7;10562:23;10558:32;10555:2;;;-1:-1;;10593:12;10555:2;5459:6;5453:13;-1:-1;;;;;59927:5;57055:38;59903:5;59900:34;59890:2;;-1:-1;;59938:12;11915:690;;12108:5;53468:12;54827:6;54822:3;54815:19;54864:4;;54859:3;54855:14;12120:93;;54864:4;12284:5;52500:14;-1:-1;12323:260;12348:6;12345:1;12342:13;12323:260;;;12409:13;;-1:-1;;;;;56761:54;11715:37;;10895:14;;;;54306;;;;56772:42;12363:9;12323:260;;;-1:-1;12589:10;;12039:566;-1:-1;;;;;12039:566;12640:920;;12860:5;53468:12;54827:6;54822:3;54815:19;54864:4;;54859:3;54855:14;12872:102;;;;54864:4;13031:6;13027:17;13022:3;13018:27;13006:39;;54864:4;13125:5;52500:14;-1:-1;13164:357;13189:6;13186:1;13183:13;13164:357;;;13251:9;13245:4;13241:20;13236:3;13229:33;11043:64;11103:3;13296:6;13290:13;11043:64;;;13500:14;;;;13310:90;-1:-1;54306:14;;;;13211:1;13204:9;13164:357;;;-1:-1;13544:10;;12782:778;-1:-1;;;;;;;12782:778;14564:690;;14757:5;53468:12;54827:6;54822:3;54815:19;54864:4;;54859:3;54855:14;14769:93;;54864:4;14933:5;52500:14;-1:-1;14972:260;14997:6;14994:1;14991:13;14972:260;;;15058:13;;15545:37;;11477:14;;;;54306;;;;15019:1;15012:9;14972:260;;15753:323;;15885:5;53468:12;54827:6;54822:3;54815:19;15968:52;16013:6;54864:4;54859:3;54855:14;54864:4;15994:5;15990:16;15968:52;;;59096:7;59080:14;-1:-1;;59076:28;16032:39;;;;54864:4;16032:39;;15833:243;-1:-1;;15833:243;16456:818;;16573:5;16567:12;16607:1;;16596:9;16592:17;16620:1;16615:247;;;;16873:1;16868:400;;;;16585:683;;16615:247;16689:1;16674:17;;16693:4;16670:28;54815:19;;-1:-1;;16801:25;;54864:4;54855:14;;16789:38;16841:14;;;;-1:-1;16615:247;;16868:400;16937:1;16926:9;16922:17;54827:6;54822:3;54815:19;17045:37;17076:5;17045:37;;;-1:-1;17106:130;17120:6;17117:1;17114:13;17106:130;;;17185:7;17179:14;54864:4;17175:1;54859:3;17166:11;;17159:35;16607:1;17217:7;17213:15;17202:26;;54864:4;17139:1;17135:12;17130:17;;17106:130;;;17250:11;;54864:4;17250:11;;-1:-1;;;16585:683;;;;16543:731;;;;;29362:650;-1:-1;;;20949:87;;20934:1;21055:11;;15545:37;;;;29864:12;;;15545:37;29975:12;;;29598:414;30019:372;24915:34;24895:55;;24984:34;24979:2;24970:12;;24963:56;-1:-1;;;25048:2;25039:12;;25032:27;24879:2;25078:12;;30199:192;30398:372;25401:34;25381:55;;-1:-1;;;25465:2;25456:12;;25449:31;25365:2;25499:12;;30578:192;30777:213;-1:-1;;;;;56761:54;;;;11715:37;;30895:2;30880:18;;30866:124;30997:340;-1:-1;;;;;56761:54;;;;11584:58;;31323:2;31308:18;;15545:37;31151:2;31136:18;;31122:215;31344:953;;56772:42;;;;;11745:5;56761:54;11722:3;11715:37;58108:24;31846:2;31835:9;31831:18;17888:58;31673:3;31883:2;31872:9;31868:18;31861:48;22085:2;31673:3;31662:9;31658:19;54815;22121:26;54855:14;31662:9;54855:14;22101:47;22167:12;32087:2;32076:9;32072:18;32065:48;32127:76;22167:12;31662:9;22167:12;32189:6;32127:76;;;32119:84;;15575:5;32282:3;32271:9;32267:19;15545:37;31644:653;;;;;;;;32635:533;-1:-1;;;;;56761:54;;;;11715:37;;32995:2;32980:18;;15545:37;;;;56447:13;56440:21;33072:2;33057:18;;15317:34;-1:-1;;;;;57055:38;33154:2;33139:18;;29194:49;32830:3;32815:19;;32801:367;33175:831;;56772:42;;;;;56363:5;56761:54;11722:3;11715:37;15575:5;33608:2;33597:9;33593:18;15545:37;33443:3;33645:2;33634:9;33630:18;33623:48;33685:78;33443:3;33432:9;33428:19;33749:6;33685:78;;;33811:9;33805:4;33801:20;33796:2;33785:9;33781:18;33774:48;33836:76;33907:4;33898:6;33836:76;;;33828:84;;;15575:5;33991:3;33980:9;33976:19;15545:37;33414:592;;;;;;;;;34013:819;;56772:42;;;;;11745:5;56761:54;11722:3;11715:37;15575:5;34440:2;34429:9;34425:18;15545:37;34275:3;34477:2;34466:9;34462:18;34455:48;34517:75;34275:3;34264:9;34260:19;34578:6;34517:75;;;34640:9;34634:4;34630:20;34625:2;34614:9;34610:18;34603:48;34665:73;34733:4;34724:6;34665:73;;34839:1215;;35279:3;35301:17;35294:47;35355:108;35279:3;35268:9;35264:19;35449:6;35355:108;;;35511:9;35505:4;35501:20;35496:2;35485:9;35481:18;35474:48;35536:108;35639:4;35630:6;35536:108;;;35692:9;35686:4;35682:20;35677:2;35666:9;35662:18;35655:48;35717:128;35840:4;35831:6;35717:128;;;35709:136;;;35893:9;35887:4;35883:20;35878:2;35867:9;35863:18;35856:48;35918:126;36039:4;36030:6;35918:126;;;35910:134;35250:804;-1:-1;;;;;;;35250:804;36061:213;15545:37;;;36179:2;36164:18;;36150:124;36281:547;15545:37;;;36648:2;36633:18;;15545:37;;;;36731:2;36716:18;;15545:37;-1:-1;;;;;56761:54;36814:2;36799:18;;11715:37;36483:3;36468:19;;36454:374;36835:423;15545:37;;;37167:2;37152:18;;15545:37;;;;56447:13;56440:21;37244:2;37229:18;;15317:34;37003:2;36988:18;;36974:284;37265:539;15545:37;;;56977:4;56966:16;;;;37624:2;37609:18;;29077:35;37707:2;37692:18;;15545:37;37790:2;37775:18;;15545:37;37463:3;37448:19;;37434:370;38349:243;38482:2;38467:18;;59203:1;59193:12;;59183:2;;59209:9;59183:2;17732:65;;;38453:139;;38599:301;;38737:2;38758:17;38751:47;38812:78;38737:2;38726:9;38722:18;38876:6;38812:78;;38907:407;39098:2;39112:47;;;19727:2;39083:18;;;54815:19;19763:34;54855:14;;;19743:55;-1:-1;;;19818:12;;;19811:31;19861:12;;;39069:245;39321:407;39512:2;39526:47;;;20112:2;39497:18;;;54815:19;20148:34;54855:14;;;20128:55;20217:30;20203:12;;;20196:52;20267:12;;;39483:245;39735:407;39926:2;39940:47;;;20518:2;39911:18;;;54815:19;20554:34;54855:14;;;20534:55;-1:-1;;;20609:12;;;20602:26;20647:12;;;39897:245;40149:407;40340:2;40354:47;;;21305:2;40325:18;;;54815:19;21341:34;54855:14;;;21321:55;-1:-1;;;21396:12;;;21389:46;21454:12;;;40311:245;40563:407;40754:2;40768:47;;;21705:2;40739:18;;;54815:19;21741:34;54855:14;;;21721:55;-1:-1;;;21796:12;;;21789:26;21834:12;;;40725:245;40977:407;41168:2;41182:47;;;22418:2;41153:18;;;54815:19;22454:34;54855:14;;;22434:55;22523:34;22509:12;;;22502:56;-1:-1;;;22578:12;;;22571:39;22629:12;;;41139:245;41391:407;41582:2;41596:47;;;22880:2;41567:18;;;54815:19;22916:34;54855:14;;;22896:55;22985:34;22971:12;;;22964:56;-1:-1;;;23040:12;;;23033:40;23092:12;;;41553:245;41805:407;41996:2;42010:47;;;23343:2;41981:18;;;54815:19;23379:34;54855:14;;;23359:55;-1:-1;;;23434:12;;;23427:27;23473:12;;;41967:245;42219:407;42410:2;42424:47;;;23724:2;42395:18;;;54815:19;23760:34;54855:14;;;23740:55;-1:-1;;;23815:12;;;23808:34;23861:12;;;42381:245;42633:407;42824:2;42838:47;;;24112:2;42809:18;;;54815:19;24148:34;54855:14;;;24128:55;24217:29;24203:12;;;24196:51;24266:12;;;42795:245;43047:407;43238:2;43252:47;;;24517:2;43223:18;;;54815:19;-1:-1;;;54855:14;;;24533:40;24592:12;;;43209:245;43461:407;43652:2;43666:47;;;25750:2;43637:18;;;54815:19;25786:34;54855:14;;;25766:55;25855:31;25841:12;;;25834:53;25906:12;;;43623:245;43875:407;44066:2;44080:47;;;26157:2;44051:18;;;54815:19;26193:33;54855:14;;;26173:54;26246:12;;;44037:245;44289:407;44480:2;44494:47;;;26497:2;44465:18;;;54815:19;26533:34;54855:14;;;26513:55;-1:-1;;;26588:12;;;26581:44;26644:12;;;44451:245;44703:407;44894:2;44908:47;;;26895:2;44879:18;;;54815:19;26931:33;54855:14;;;26911:54;26984:12;;;44865:245;45117:407;45308:2;45322:47;;;45293:18;;;54815:19;27271:34;54855:14;;;27251:55;27325:12;;;45279:245;45531:407;45722:2;45736:47;;;27576:2;45707:18;;;54815:19;-1:-1;;;54855:14;;;27592:44;27655:12;;;45693:245;45945:407;46136:2;46150:47;;;27906:2;46121:18;;;54815:19;27942:34;54855:14;;;27922:55;28011:27;27997:12;;;27990:49;28058:12;;;46107:245;46359:309;28362:23;;56447:13;56440:21;15317:34;;28530:4;28519:16;;;28513:23;56447:13;56440:21;28584:14;;;15317:34;28679:4;28668:16;;;28662:23;-1:-1;;;;;57055:38;28737:14;;;29314:36;;;;46525:2;46510:18;;46496:172;46895:1879;15545:37;;;-1:-1;;;;;56761:54;;47676:2;47661:18;;11584:58;47503:3;47713:2;47698:18;;47691:48;;;46895:1879;;47753:108;47488:19;;;47847:6;47753:108;;;47909:9;47903:4;47899:20;47894:2;47883:9;47879:18;47872:48;47934:108;48037:4;48028:6;47934:108;;;47926:116;;;48091:9;48085:4;48081:20;48075:3;48064:9;48060:19;48053:49;48116:128;48239:4;48230:6;48116:128;;;48293:9;48287:4;48283:20;48277:3;48266:9;48262:19;48255:49;48318:126;48439:4;48430:6;48318:126;;;48310:134;;;15575:5;48523:3;48512:9;48508:19;15545:37;15575:5;48607:3;48596:9;48592:19;15545:37;48661:9;48655:4;48651:20;48645:3;48634:9;48630:19;48623:49;48686:78;48759:4;48750:6;48686:78;;;48678:86;47474:1300;-1:-1;;;;;;;;;;;;47474:1300;48781:1083;15545:37;;;-1:-1;;;;;56761:54;;;;49276:2;49261:18;;11715:37;49359:2;49344:18;;15545:37;;;;49442:2;49427:18;;15545:37;;;;49525:3;49510:19;;15545:37;;;;56772:42;49594:19;;15545:37;49693:3;49678:19;;15545:37;56447:13;56440:21;49771:3;49756:19;;15317:34;56447:13;56440:21;49849:3;49834:19;;15317:34;49111:3;49096:19;;49082:782;49871:324;15545:37;;;50181:2;50166:18;;15545:37;50017:2;50002:18;;49988:207;50202:256;50264:2;50258:9;50290:17;;;50365:18;50350:34;;50386:22;;;50347:62;50344:2;;;50422:1;;50412:12;50344:2;50264;50431:22;50242:216;;-1:-1;50242:216;50465:304;;50624:18;50616:6;50613:30;50610:2;;;-1:-1;;50646:12;50610:2;-1:-1;50691:4;50679:17;;;50744:15;;50547:222;51728:321;;51871:18;51863:6;51860:30;51857:2;;;-1:-1;;51893:12;51857:2;-1:-1;59096:7;51947:17;-1:-1;;51943:33;52034:4;52024:15;;51794:255;53036:157;;53130:14;;;53172:4;53159:18;;;53089:104;58655:268;58720:1;58727:101;58741:6;58738:1;58735:13;58727:101;;;58808:11;;;58802:18;58789:11;;;58782:39;58763:2;58756:10;58727:101;;;58843:6;58840:1;58837:13;58834:2;;;-1:-1;;58720:1;58890:16;;58883:27;58704:219;59356:111;59437:5;56447:13;56440:21;59415:5;59412:32;59402:2;;59458:1;;59448:12
Swarm Source
ipfs://9093fc246dc3dd5f2b80129bbe2c8b6d95ef49e0b9364f4b8a6f50f6c4f9de5a
Loading...
Loading
Loading...
Loading
Multichain Portfolio | 30 Chains
Chain | Token | Portfolio % | Price | Amount | Value |
---|
Loading...
Loading
[ Download: CSV Export ]
[ Download: CSV Export ]
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.