ETH Price: $2,420.04 (+1.63%)

Contract

0xB3a87172F555ae2a2AB79Be60B336D2F7D0187f0
 

Overview

ETH Balance

0 ETH

Eth Value

$0.00

Multichain Info

No addresses found
Transaction Hash
Method
Block
From
To
Execute179840272023-08-24 10:40:23407 days ago1692873623IN
PoolTogether: Governor Alpha
0 ETH0.0017505913.56111875
Queue179594162023-08-21 0:04:35411 days ago1692576275IN
PoolTogether: Governor Alpha
0 ETH0.0018351111.16130521
Cast Vote179552162023-08-20 9:58:59411 days ago1692525539IN
PoolTogether: Governor Alpha
0 ETH0.0008458311.76208362
Cast Vote179524582023-08-20 0:42:47412 days ago1692492167IN
PoolTogether: Governor Alpha
0 ETH0.000891312.39437533
Cast Vote179479002023-08-19 9:22:35412 days ago1692436955IN
PoolTogether: Governor Alpha
0 ETH0.0009182912.76970204
Cast Vote179475232023-08-19 8:06:35412 days ago1692432395IN
PoolTogether: Governor Alpha
0 ETH0.0008795212.23051354
Cast Vote179397042023-08-18 5:50:35414 days ago1692337835IN
PoolTogether: Governor Alpha
0 ETH0.0011505916
Cast Vote179391122023-08-18 3:51:23414 days ago1692330683IN
PoolTogether: Governor Alpha
0 ETH0.0015514721.57458873
Cast Vote179383992023-08-18 1:27:11414 days ago1692322031IN
PoolTogether: Governor Alpha
0 ETH0.0020178328.05981654
Cast Vote179369942023-08-17 20:43:59414 days ago1692305039IN
PoolTogether: Governor Alpha
0 ETH0.0023661232.90309307
Cast Vote179366292023-08-17 19:29:59414 days ago1692300599IN
PoolTogether: Governor Alpha
0 ETH0.001797825
Cast Vote179366112023-08-17 19:26:23414 days ago1692300383IN
PoolTogether: Governor Alpha
0 ETH0.0019660727.34005141
Cast Vote179364302023-08-17 18:49:47414 days ago1692298187IN
PoolTogether: Governor Alpha
0 ETH0.0017258824
Cast Vote179348822023-08-17 13:37:23414 days ago1692279443IN
PoolTogether: Governor Alpha
0 ETH0.0017705224.62069164
Cast Vote179347842023-08-17 13:17:35414 days ago1692278255IN
PoolTogether: Governor Alpha
0 ETH0.0014992920.84900112
Cast Vote179343142023-08-17 11:43:11414 days ago1692272591IN
PoolTogether: Governor Alpha
0 ETH0.0012563217.47027964
Cast Vote179310482023-08-17 0:44:59415 days ago1692233099IN
PoolTogether: Governor Alpha
0 ETH0.0022232930.91693873
Cast Vote179295692023-08-16 19:47:35415 days ago1692215255IN
PoolTogether: Governor Alpha
0 ETH0.0025486528.63271333
Propose179279622023-08-16 14:23:47415 days ago1692195827IN
PoolTogether: Governor Alpha
0 ETH0.0166065441.60121837
Execute177324372023-07-20 5:56:35443 days ago1689832595IN
PoolTogether: Governor Alpha
0 ETH0.0020720813.75604479
Queue177118392023-07-17 8:38:11445 days ago1689583091IN
PoolTogether: Governor Alpha
0 ETH0.0020795816.44553247
Cast Vote176973632023-07-15 7:37:35447 days ago1689406655IN
PoolTogether: Governor Alpha
0 ETH0.0009191213.8216996
Cast Vote176972132023-07-15 7:06:35448 days ago1689404795IN
PoolTogether: Governor Alpha
0 ETH0.0008021212.06228493
Cast Vote176969892023-07-15 6:20:59448 days ago1689402059IN
PoolTogether: Governor Alpha
0 ETH0.0009994113.8977707
Cast Vote176967212023-07-15 5:26:47448 days ago1689398807IN
PoolTogether: Governor Alpha
0 ETH0.0010525411.82767021
View all transactions

View more zero value Internal Transactions in Advanced View mode

Advanced mode:
Loading...
Loading

Contract Source Code Verified (Exact Match)

Contract Name:
GovernorAlpha

Compiler Version
v0.5.16+commit.9c3226ce

Optimization Enabled:
Yes with 200 runs

Other Settings:
istanbul EvmVersion, None license
File 1 of 2 : GovernorAlpha.sol
pragma solidity ^0.5.16;
pragma experimental ABIEncoderV2;


contract GovernorAlpha {
    /// @notice The name of this contract
    string public constant name = "PoolTogether 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 100_000e18; } // 1% of Pool

    /// @notice The number of votes required in order for a voter to become a proposer
    function proposalThreshold() public pure returns (uint) { return 10_000e18; } // 0.1% of Pool

    /// @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 1; } // 1 block

    /// @notice The duration of voting on a proposal, in blocks
    function votingPeriod() public pure returns (uint) { return 28_800; } // ~5 days in blocks (assuming 15s blocks)

    /// @notice The address of the Pool Protocol Timelock
    TimelockInterface public timelock;

    /// @notice The address of the Pool governance token
    GovernanceTokenInterface public pool;

    /// @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);

    /// @notice Hermes' only job is to deliver the timelock
    address hermes;

    constructor(address hermes_, address pool_) public {
        hermes = hermes_;
        pool = GovernanceTokenInterface(pool_);
    }

    function setTimelock(address timelock_) public {
        require(msg.sender == hermes, "only hermes can deliver the timelock");
        timelock = TimelockInterface(timelock_);
        // Thanks hermes, your job is done
        hermes = address(0);
    }

    function propose(address[] memory targets, uint[] memory values, string[] memory signatures, bytes[] memory calldatas, string memory description) public returns (uint) {
        require(pool.getPriorVotes(msg.sender, sub256(block.number, 1)) > proposalThreshold(), "GovernorAlpha::propose: proposer votes below proposal threshold");
        require(targets.length == values.length && targets.length == signatures.length && targets.length == calldatas.length, "GovernorAlpha::propose: proposal function information arity mismatch");
        require(targets.length != 0, "GovernorAlpha::propose: must provide actions");
        require(targets.length <= proposalMaxOperations(), "GovernorAlpha::propose: too many actions");

        uint latestProposalId = latestProposalIds[msg.sender];
        if (latestProposalId != 0) {
          ProposalState proposersLatestProposalState = state(latestProposalId);
          require(proposersLatestProposalState != ProposalState.Active, "GovernorAlpha::propose: one live proposal per proposer, found an already active proposal");
          require(proposersLatestProposalState != ProposalState.Pending, "GovernorAlpha::propose: 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::queue: proposal can only be queued if it is succeeded");
        Proposal storage proposal = proposals[proposalId];
        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::_queueOrRevert: 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::execute: 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.Executed, "GovernorAlpha::cancel: cannot cancel executed proposal");

        Proposal storage proposal = proposals[proposalId];
        require(pool.getPriorVotes(proposal.proposer, sub256(block.number, 1)) < proposalThreshold(), "GovernorAlpha::cancel: 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::state: 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;
        } else if (block.timestamp >= add256(proposal.eta, timelock.gracePeriod())) {
            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::castVoteBySig: invalid signature");
        return _castVote(signatory, proposalId, support);
    }

    function _castVote(address voter, uint proposalId, bool support) internal {
        require(state(proposalId) == ProposalState.Active, "GovernorAlpha::_castVote: voting is closed");
        Proposal storage proposal = proposals[proposalId];
        Receipt storage receipt = proposal.receipts[voter];
        require(receipt.hasVoted == false, "GovernorAlpha::_castVote: voter already voted");
        uint96 votes = pool.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 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;
        assembly { chainId := chainid() }
        return chainId;
    }
}

interface TimelockInterface {
    function delay() external view returns (uint);
    function gracePeriod() 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 GovernanceTokenInterface {
    function getPriorVotes(address account, uint blockNumber) external view returns (uint96);
}

File 2 of 2 : GovernorZero.sol
pragma solidity ^0.5.16;
pragma experimental ABIEncoderV2;

import "../GovernorAlpha.sol";

contract GovernorZero is GovernorAlpha {

  /// @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 1e18; } // 1% of Pool

  /// @notice The number of votes required in order for a voter to become a proposer
  function proposalThreshold() public pure returns (uint) { return 1e18; }

  /// @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 0; } // 1 block

  /// @notice The duration of voting on a proposal, in blocks
  function votingPeriod() public pure returns (uint) { return 100; } // ~7 days in blocks (assuming 15s blocks)

  constructor(address hermes_, address pool_) public GovernorAlpha(hermes_, pool_) {
  }
}

Settings
{
  "optimizer": {
    "enabled": true,
    "runs": 200
  },
  "evmVersion": "istanbul",
  "outputSelection": {
    "*": {
      "*": [
        "evm.bytecode",
        "evm.deployedBytecode",
        "abi"
      ]
    }
  },
  "metadata": {
    "useLiteralContent": true
  }
}

Contract Security Audit

Contract ABI

[{"inputs":[{"internalType":"address","name":"hermes_","type":"address"},{"internalType":"address","name":"pool_","type":"address"}],"payable":false,"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"},{"constant":true,"inputs":[],"name":"BALLOT_TYPEHASH","outputs":[{"internalType":"bytes32","name":"","type":"bytes32"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":true,"inputs":[],"name":"DOMAIN_TYPEHASH","outputs":[{"internalType":"bytes32","name":"","type":"bytes32"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":false,"inputs":[{"internalType":"uint256","name":"proposalId","type":"uint256"}],"name":"cancel","outputs":[],"payable":false,"stateMutability":"nonpayable","type":"function"},{"constant":false,"inputs":[{"internalType":"uint256","name":"proposalId","type":"uint256"},{"internalType":"bool","name":"support","type":"bool"}],"name":"castVote","outputs":[],"payable":false,"stateMutability":"nonpayable","type":"function"},{"constant":false,"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":[],"payable":false,"stateMutability":"nonpayable","type":"function"},{"constant":false,"inputs":[{"internalType":"uint256","name":"proposalId","type":"uint256"}],"name":"execute","outputs":[],"payable":true,"stateMutability":"payable","type":"function"},{"constant":true,"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[]"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":true,"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"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":true,"inputs":[{"internalType":"address","name":"","type":"address"}],"name":"latestProposalIds","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":true,"inputs":[],"name":"name","outputs":[{"internalType":"string","name":"","type":"string"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":true,"inputs":[],"name":"pool","outputs":[{"internalType":"contract GovernanceTokenInterface","name":"","type":"address"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":true,"inputs":[],"name":"proposalCount","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":true,"inputs":[],"name":"proposalMaxOperations","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"payable":false,"stateMutability":"pure","type":"function"},{"constant":true,"inputs":[],"name":"proposalThreshold","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"payable":false,"stateMutability":"pure","type":"function"},{"constant":true,"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"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":false,"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"}],"payable":false,"stateMutability":"nonpayable","type":"function"},{"constant":false,"inputs":[{"internalType":"uint256","name":"proposalId","type":"uint256"}],"name":"queue","outputs":[],"payable":false,"stateMutability":"nonpayable","type":"function"},{"constant":true,"inputs":[],"name":"quorumVotes","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"payable":false,"stateMutability":"pure","type":"function"},{"constant":false,"inputs":[{"internalType":"address","name":"timelock_","type":"address"}],"name":"setTimelock","outputs":[],"payable":false,"stateMutability":"nonpayable","type":"function"},{"constant":true,"inputs":[{"internalType":"uint256","name":"proposalId","type":"uint256"}],"name":"state","outputs":[{"internalType":"enum GovernorAlpha.ProposalState","name":"","type":"uint8"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":true,"inputs":[],"name":"timelock","outputs":[{"internalType":"contract TimelockInterface","name":"","type":"address"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":true,"inputs":[],"name":"votingDelay","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"payable":false,"stateMutability":"pure","type":"function"},{"constant":true,"inputs":[],"name":"votingPeriod","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"payable":false,"stateMutability":"pure","type":"function"}]

60806040523480156200001157600080fd5b506040516200339f3803806200339f833981016040819052620000349162000079565b600580546001600160a01b039384166001600160a01b03199182161790915560018054929093169116179055620000e4565b80516200007381620000ca565b92915050565b600080604083850312156200008d57600080fd5b60006200009b858562000066565b9250506020620000ae8582860162000066565b9150509250929050565b60006001600160a01b03821662000073565b620000d581620000b8565b8114620000e157600080fd5b50565b6132ab80620000f46000396000f3fe6080604052600436106101405760003560e01c806340e58ee5116100b6578063da35c6641161006f578063da35c66414610366578063da95691a1461037b578063ddf0b0091461039b578063deaaa7cc146103bb578063e23a9a52146103d0578063fe0d94c1146103fd57610140565b806340e58ee5146102c75780634634c61f146102e75780637bdbe4d014610307578063b58131b01461031c578063bdacb30314610331578063d33219b41461035157610140565b806317977c611161010857806317977c611461020b57806320606b701461022b57806324bc1a6414610240578063328dd982146102555780633932abb1146102855780633e4f49e61461029a57610140565b8063013cf08b1461014557806302a251a31461018357806306fdde03146101a557806315373e3d146101c757806316f0115b146101e9575b600080fd5b34801561015157600080fd5b50610165610160366004612112565b610410565b60405161017a99989796959493929190613061565b60405180910390f35b34801561018f57600080fd5b50610198610469565b60405161017a9190612dbe565b3480156101b157600080fd5b506101ba610470565b60405161017a9190612e7a565b3480156101d357600080fd5b506101e76101e236600461216a565b6104a9565b005b3480156101f557600080fd5b506101fe6104b8565b60405161017a9190612e5e565b34801561021757600080fd5b50610198610226366004611f8f565b6104c7565b34801561023757600080fd5b506101986104d9565b34801561024c57600080fd5b506101986104f0565b34801561026157600080fd5b50610275610270366004612112565b6104fe565b60405161017a9493929190612d71565b34801561029157600080fd5b5061019861078d565b3480156102a657600080fd5b506102ba6102b5366004612112565b610792565b60405161017a9190612e6c565b3480156102d357600080fd5b506101e76102e2366004612112565b61091d565b3480156102f357600080fd5b506101e761030236600461219a565b610b71565b34801561031357600080fd5b50610198610d0e565b34801561032857600080fd5b50610198610d13565b34801561033d57600080fd5b506101e761034c366004611f8f565b610d21565b34801561035d57600080fd5b506101fe610d74565b34801561037257600080fd5b50610198610d83565b34801561038757600080fd5b50610198610396366004611fb5565b610d89565b3480156103a757600080fd5b506101e76103b6366004612112565b6111ab565b3480156103c757600080fd5b50610198611419565b3480156103dc57600080fd5b506103f06103eb366004612130565b611425565b60405161017a9190612fab565b6101e761040b366004612112565b611494565b6003602052600090815260409020805460018201546002830154600784015460088501546009860154600a870154600b9097015495966001600160a01b0390951695939492939192909160ff8082169161010090041689565b6170805b90565b6040518060400160405280601b81526020017f506f6f6c546f67657468657220476f7665726e6f7220416c706861000000000081525081565b6104b4338383611659565b5050565b6001546001600160a01b031681565b60046020526000908152604090205481565b6040516104e590612c62565b604051809103902081565b69152d02c7e14af680000090565b6060806060806000600360008781526020019081526020016000209050806003018160040182600501836006018380548060200260200160405190810160405280929190818152602001828054801561058057602002820191906000526020600020905b81546001600160a01b03168152600190910190602001808311610562575b50505050509350828054806020026020016040519081016040528092919081815260200182805480156105d257602002820191906000526020600020905b8154815260200190600101908083116105be575b5050505050925081805480602002602001604051908101604052809291908181526020016000905b828210156106a55760008481526020908190208301805460408051601f60026000196101006001871615020190941693909304928301859004850281018501909152818152928301828280156106915780601f1061066657610100808354040283529160200191610691565b820191906000526020600020905b81548152906001019060200180831161067457829003601f168201915b5050505050815260200190600101906105fa565b50505050915080805480602002602001604051908101604052809291908181526020016000905b828210156107775760008481526020908190208301805460408051601f60026000196101006001871615020190941693909304928301859004850281018501909152818152928301828280156107635780601f1061073857610100808354040283529160200191610763565b820191906000526020600020905b81548152906001019060200180831161074657829003601f168201915b5050505050815260200190600101906106cc565b5050505090509450945094509450509193509193565b600190565b600081600254101580156107a65750600082115b6107cb5760405162461bcd60e51b81526004016107c290612eab565b60405180910390fd5b6000828152600360205260409020600b81015460ff16156107f0576002915050610918565b80600701544311610805576000915050610918565b8060080154431161081a576001915050610918565b80600a0154816009015411158061083b57506108346104f0565b8160090154105b1561084a576003915050610918565b600281015461085d576004915050610918565b600b810154610100900460ff1615610879576007915050610918565b60028101546000546040805163281b6df760e21b8152905161090293926001600160a01b03169163a06db7dc916004808301926020929190829003018186803b1580156108c557600080fd5b505afa1580156108d9573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052506108fd91908101906120bf565b611822565b4210610912576006915050610918565b60059150505b919050565b600061092882610792565b9050600781600781111561093857fe5b14156109565760405162461bcd60e51b81526004016107c290612f7b565b600082815260036020526040902061096c610d13565b60018054838201546001600160a01b039182169263782d6fe1929091169061099590439061184e565b6040518363ffffffff1660e01b81526004016109b2929190612c93565b60206040518083038186803b1580156109ca57600080fd5b505afa1580156109de573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250610a029190810190612202565b6001600160601b031610610a285760405162461bcd60e51b81526004016107c290612f0b565b600b8101805460ff1916600117905560005b6003820154811015610b34576000546003830180546001600160a01b039092169163591fcdfe919084908110610a6c57fe5b6000918252602090912001546004850180546001600160a01b039092169185908110610a9457fe5b9060005260206000200154856005018581548110610aae57fe5b90600052602060002001866006018681548110610ac757fe5b9060005260206000200187600201546040518663ffffffff1660e01b8152600401610af6959493929190612d30565b600060405180830381600087803b158015610b1057600080fd5b505af1158015610b24573d6000803e3d6000fd5b505060019092019150610a3a9050565b507f789cf55be980739dad1d0699b93b58e806b51c9d96619bfa8fe0a28abaa7b30c83604051610b649190612dbe565b60405180910390a1505050565b6000604051610b7f90612c62565b60408051918290038220828201909152601b82527f506f6f6c546f67657468657220476f7665726e6f7220416c70686100000000006020909201919091527fe6cce8dae3de26f4bb5e25e9bafdf3502d0ddf2acbace2e7261e1a8c96405629610be6611876565b30604051602001610bfa9493929190612dcc565b6040516020818303038152906040528051906020012090506000604051610c2090612c6d565b604051908190038120610c399189908990602001612e01565b60405160208183030381529060405280519060200120905060008282604051602001610c66929190612c31565b604051602081830303815290604052805190602001209050600060018288888860405160008152602001604052604051610ca39493929190612e29565b6020604051602081039080840390855afa158015610cc5573d6000803e3d6000fd5b5050604051601f1901519150506001600160a01b038116610cf85760405162461bcd60e51b81526004016107c290612f5b565b610d03818a8a611659565b505050505050505050565b600a90565b69021e19e0c9bab240000090565b6005546001600160a01b03163314610d4b5760405162461bcd60e51b81526004016107c290612f3b565b600080546001600160a01b039092166001600160a01b0319928316179055600580549091169055565b6000546001600160a01b031681565b60025481565b6000610d93610d13565b600180546001600160a01b03169063782d6fe1903390610db490439061184e565b6040518363ffffffff1660e01b8152600401610dd1929190612c78565b60206040518083038186803b158015610de957600080fd5b505afa158015610dfd573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250610e219190810190612202565b6001600160601b031611610e475760405162461bcd60e51b81526004016107c290612f4b565b84518651148015610e59575083518651145b8015610e66575082518651145b610e825760405162461bcd60e51b81526004016107c290612efb565b8551610ea05760405162461bcd60e51b81526004016107c290612f2b565b610ea8610d0e565b86511115610ec85760405162461bcd60e51b81526004016107c290612edb565b336000908152600460205260409020548015610f45576000610ee982610792565b90506001816007811115610ef957fe5b1415610f175760405162461bcd60e51b81526004016107c290612f6b565b6000816007811115610f2557fe5b1415610f435760405162461bcd60e51b81526004016107c290612ecb565b505b6000610f53436108fd61078d565b90506000610f63826108fd610469565b6002805460010190559050610f766119d9565b604051806101a001604052806002548152602001336001600160a01b03168152602001600081526020018b81526020018a815260200189815260200188815260200184815260200183815260200160008152602001600081526020016000151581526020016000151581525090508060036000836000015181526020019081526020016000206000820151816000015560208201518160010160006101000a8154816001600160a01b0302191690836001600160a01b03160217905550604082015181600201556060820151816003019080519060200190611059929190611a4e565b5060808201518051611075916004840191602090910190611ab3565b5060a08201518051611091916005840191602090910190611afa565b5060c082015180516110ad916006840191602090910190611b53565b5060e082015181600701556101008201518160080155610120820151816009015561014082015181600a015561016082015181600b0160006101000a81548160ff02191690831515021790555061018082015181600b0160016101000a81548160ff02191690831515021790555090505080600001516004600083602001516001600160a01b03166001600160a01b03168152602001908152602001600020819055507f7d84a6263ae0d98d3329bd7b46bb4e8d6f98cd35a7adb45c274c8b7fd5ebd5e08160000151338c8c8c8c89898e60405161119399989796959493929190612fb9565b60405180910390a15193505050505b95945050505050565b60046111b682610792565b60078111156111c157fe5b146111de5760405162461bcd60e51b81526004016107c290612e8b565b600081815260036020908152604080832083548251630d48571f60e31b815292519194936112379342936001600160a01b0390931692636a42b8f892600480840193919291829003018186803b1580156108c557600080fd5b905060005b60038301548110156113df576113d783600301828154811061125a57fe5b6000918252602090912001546004850180546001600160a01b03909216918490811061128257fe5b906000526020600020015485600501848154811061129c57fe5b600091825260209182902001805460408051601f600260001961010060018716150201909416939093049283018590048502810185019091528181529283018282801561132a5780601f106112ff5761010080835404028352916020019161132a565b820191906000526020600020905b81548152906001019060200180831161130d57829003601f168201915b505050505086600601858154811061133e57fe5b600091825260209182902001805460408051601f60026000196101006001871615020190941693909304928301859004850281018501909152818152928301828280156113cc5780601f106113a1576101008083540402835291602001916113cc565b820191906000526020600020905b8154815290600101906020018083116113af57829003601f168201915b50505050508661187a565b60010161123c565b50600282018190556040517f9a2e42fd6722813d69113e7d0079d3d940171428df7373df9c7f7617cfda289290610b6490859084906130e7565b6040516104e590612c6d565b61142d611bac565b5060008281526003602090815260408083206001600160a01b0385168452600c018252918290208251606081018452905460ff80821615158352610100820416151592820192909252620100009091046001600160601b0316918101919091525b92915050565b600561149f82610792565b60078111156114aa57fe5b146114c75760405162461bcd60e51b81526004016107c290612e9b565b6000818152600360205260408120600b8101805461ff001916610100179055905b600382015481101561161d576000546004830180546001600160a01b0390921691630825f38f91908490811061151a57fe5b906000526020600020015484600301848154811061153457fe5b6000918252602090912001546004860180546001600160a01b03909216918690811061155c57fe5b906000526020600020015486600501868154811061157657fe5b9060005260206000200187600601878154811061158f57fe5b9060005260206000200188600201546040518763ffffffff1660e01b81526004016115be959493929190612d30565b6000604051808303818588803b1580156115d757600080fd5b505af11580156115eb573d6000803e3d6000fd5b50505050506040513d6000823e601f3d908101601f1916820160405261161491908101906120dd565b506001016114e8565b507f712ae1383f79ac853f8d882153778e0260ef8f03b504e2866e0593e04d2b291f8260405161164d9190612dbe565b60405180910390a15050565b600161166483610792565b600781111561166f57fe5b1461168c5760405162461bcd60e51b81526004016107c290612f8b565b60008281526003602090815260408083206001600160a01b0387168452600c8101909252909120805460ff16156116d55760405162461bcd60e51b81526004016107c290612ebb565b600154600783015460405163782d6fe160e01b81526000926001600160a01b03169163782d6fe19161170b918a91600401612c93565b60206040518083038186803b15801561172357600080fd5b505afa158015611737573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525061175b9190810190612202565b905083156117845761177a8360090154826001600160601b0316611822565b60098401556117a1565b61179b83600a0154826001600160601b0316611822565b600a8401555b8154600160ff199091161761ff00191661010085151502176dffffffffffffffffffffffff00001916620100006001600160601b038316021782556040517f877856338e13f63d0c36822ff0ef736b80934cd90574a3a5bc9262c39d217c4690611812908890889088908690612ca1565b60405180910390a1505050505050565b6000828201838110156118475760405162461bcd60e51b81526004016107c290612eeb565b9392505050565b6000828211156118705760405162461bcd60e51b81526004016107c290612f9b565b50900390565b4690565b6000546040516001600160a01b039091169063f2b06537906118a89088908890889088908890602001612cd6565b604051602081830303815290604052805190602001206040518263ffffffff1660e01b81526004016118da9190612dbe565b60206040518083038186803b1580156118f257600080fd5b505afa158015611906573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525061192a91908101906120a1565b156119475760405162461bcd60e51b81526004016107c290612f1b565b600054604051633a66f90160e01b81526001600160a01b0390911690633a66f9019061197f9088908890889088908890600401612cd6565b602060405180830381600087803b15801561199957600080fd5b505af11580156119ad573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052506119d191908101906120bf565b505050505050565b604051806101a001604052806000815260200160006001600160a01b031681526020016000815260200160608152602001606081526020016060815260200160608152602001600081526020016000815260200160008152602001600081526020016000151581526020016000151581525090565b828054828255906000526020600020908101928215611aa3579160200282015b82811115611aa357825182546001600160a01b0319166001600160a01b03909116178255602090920191600190910190611a6e565b50611aaf929150611bcc565b5090565b828054828255906000526020600020908101928215611aee579160200282015b82811115611aee578251825591602001919060010190611ad3565b50611aaf929150611bf0565b828054828255906000526020600020908101928215611b47579160200282015b82811115611b475782518051611b37918491602090910190611c0a565b5091602001919060010190611b1a565b50611aaf929150611c77565b828054828255906000526020600020908101928215611ba0579160200282015b82811115611ba05782518051611b90918491602090910190611c0a565b5091602001919060010190611b73565b50611aaf929150611c9a565b604080516060810182526000808252602082018190529181019190915290565b61046d91905b80821115611aaf5780546001600160a01b0319168155600101611bd2565b61046d91905b80821115611aaf5760008155600101611bf6565b828054600181600116156101000203166002900490600052602060002090601f016020900481019282601f10611c4b57805160ff1916838001178555611aee565b82800160010185558215611aee5791820182811115611aee578251825591602001919060010190611ad3565b61046d91905b80821115611aaf576000611c918282611cbd565b50600101611c7d565b61046d91905b80821115611aaf576000611cb48282611cbd565b50600101611ca0565b50805460018160011615610100020316600290046000825580601f10611ce35750611d01565b601f016020900490600052602060002090810190611d019190611bf0565b50565b803561148e81613230565b600082601f830112611d2057600080fd5b8135611d33611d2e8261311c565b6130f5565b91508181835260208401935060208101905083856020840282011115611d5857600080fd5b60005b83811015611d845781611d6e8882611d04565b8452506020928301929190910190600101611d5b565b5050505092915050565b600082601f830112611d9f57600080fd5b8135611dad611d2e8261311c565b81815260209384019390925082018360005b83811015611d845781358601611dd58882611ee4565b8452506020928301929190910190600101611dbf565b600082601f830112611dfc57600080fd5b8135611e0a611d2e8261311c565b81815260209384019390925082018360005b83811015611d845781358601611e328882611ee4565b8452506020928301929190910190600101611e1c565b600082601f830112611e5957600080fd5b8135611e67611d2e8261311c565b91508181835260208401935060208101905083856020840282011115611e8c57600080fd5b60005b83811015611d845781611ea28882611ece565b8452506020928301929190910190600101611e8f565b803561148e81613244565b805161148e81613244565b803561148e8161324d565b805161148e8161324d565b600082601f830112611ef557600080fd5b8135611f03611d2e8261313d565b91508082526020830160208301858383011115611f1f57600080fd5b611f2a8382846131e4565b50505092915050565b600082601f830112611f4457600080fd5b8151611f52611d2e8261313d565b91508082526020830160208301858383011115611f6e57600080fd5b611f2a8382846131f0565b803561148e81613256565b805161148e8161325f565b600060208284031215611fa157600080fd5b6000611fad8484611d04565b949350505050565b600080600080600060a08688031215611fcd57600080fd5b853567ffffffffffffffff811115611fe457600080fd5b611ff088828901611d0f565b955050602086013567ffffffffffffffff81111561200d57600080fd5b61201988828901611e48565b945050604086013567ffffffffffffffff81111561203657600080fd5b61204288828901611deb565b935050606086013567ffffffffffffffff81111561205f57600080fd5b61206b88828901611d8e565b925050608086013567ffffffffffffffff81111561208857600080fd5b61209488828901611ee4565b9150509295509295909350565b6000602082840312156120b357600080fd5b6000611fad8484611ec3565b6000602082840312156120d157600080fd5b6000611fad8484611ed9565b6000602082840312156120ef57600080fd5b815167ffffffffffffffff81111561210657600080fd5b611fad84828501611f33565b60006020828403121561212457600080fd5b6000611fad8484611ece565b6000806040838503121561214357600080fd5b600061214f8585611ece565b925050602061216085828601611d04565b9150509250929050565b6000806040838503121561217d57600080fd5b60006121898585611ece565b925050602061216085828601611eb8565b600080600080600060a086880312156121b257600080fd5b60006121be8888611ece565b95505060206121cf88828901611eb8565b94505060406121e088828901611f79565b93505060606121f188828901611ece565b925050608061209488828901611ece565b60006020828403121561221457600080fd5b6000611fad8484611f84565b600061222c838361225b565b505060200190565b600061184783836123fd565b600061222c83836123e3565b612255816131bc565b82525050565b61225581613184565b600061226f82613177565b612279818561317b565b935061228483613165565b8060005b838110156122b257815161229c8882612220565b97506122a783613165565b925050600101612288565b509495945050505050565b60006122c882613177565b6122d2818561317b565b9350836020820285016122e485613165565b8060005b8581101561231e57848403895281516123018582612234565b945061230c83613165565b60209a909a01999250506001016122e8565b5091979650505050505050565b600061233682613177565b612340818561317b565b93508360208202850161235285613165565b8060005b8581101561231e578484038952815161236f8582612234565b945061237a83613165565b60209a909a0199925050600101612356565b600061239782613177565b6123a1818561317b565b93506123ac83613165565b8060005b838110156122b25781516123c48882612240565b97506123cf83613165565b9250506001016123b0565b6122558161318f565b6122558161046d565b6122556123f88261046d565b61046d565b600061240882613177565b612412818561317b565b93506124228185602086016131f0565b61242b8161321c565b9093019392505050565b6000815460018116600081146124525760018114612478576124b7565b607f6002830416612463818761317b565b60ff19841681529550506020850192506124b7565b60028204612486818761317b565b95506124918561316b565b60005b828110156124b057815488820152600190910190602001612494565b8701945050505b505092915050565b612255816131c3565b612255816131ce565b60006124de60448361317b565b7f476f7665726e6f72416c7068613a3a71756575653a2070726f706f73616c206381527f616e206f6e6c79206265207175657565642069662069742069732073756363656020820152631959195960e21b604082015260600192915050565b600061254a60458361317b565b7f476f7665726e6f72416c7068613a3a657865637574653a2070726f706f73616c81527f2063616e206f6e6c7920626520657865637574656420696620697420697320716020820152641d595d595960da1b604082015260600192915050565b60006125b7600283610918565b61190160f01b815260020192915050565b60006125d560298361317b565b7f476f7665726e6f72416c7068613a3a73746174653a20696e76616c69642070728152681bdc1bdcd85b081a5960ba1b602082015260400192915050565b6000612620602d8361317b565b7f476f7665726e6f72416c7068613a3a5f63617374566f74653a20766f7465722081526c185b1c9958591e481d9bdd1959609a1b602082015260400192915050565b600061266f60598361317b565b7f476f7665726e6f72416c7068613a3a70726f706f73653a206f6e65206c69766581527f2070726f706f73616c207065722070726f706f7365722c20666f756e6420616e60208201527f20616c72656164792070656e64696e672070726f706f73616c00000000000000604082015260600192915050565b60006126f460288361317b565b7f476f7665726e6f72416c7068613a3a70726f706f73653a20746f6f206d616e7981526720616374696f6e7360c01b602082015260400192915050565b600061273e60118361317b565b706164646974696f6e206f766572666c6f7760781b815260200192915050565b600061276b604383610918565b7f454950373132446f6d61696e28737472696e67206e616d652c75696e7432353681527f20636861696e49642c6164647265737320766572696679696e67436f6e74726160208201526263742960e81b604082015260430192915050565b60006127d6602783610918565b7f42616c6c6f742875696e743235362070726f706f73616c49642c626f6f6c20738152667570706f72742960c81b602082015260270192915050565b600061281f60448361317b565b7f476f7665726e6f72416c7068613a3a70726f706f73653a2070726f706f73616c81527f2066756e6374696f6e20696e666f726d6174696f6e206172697479206d69736d6020820152630c2e8c6d60e31b604082015260600192915050565b600061288b602f8361317b565b7f476f7665726e6f72416c7068613a3a63616e63656c3a2070726f706f7365722081526e18589bdd99481d1a1c995cda1bdb19608a1b602082015260400192915050565b60006128dc60448361317b565b7f476f7665726e6f72416c7068613a3a5f71756575654f725265766572743a207081527f726f706f73616c20616374696f6e20616c7265616479207175657565642061746020820152632065746160e01b604082015260600192915050565b6000612948602c8361317b565b7f476f7665726e6f72416c7068613a3a70726f706f73653a206d7573742070726f81526b7669646520616374696f6e7360a01b602082015260400192915050565b600061299660248361317b565b7f6f6e6c79206865726d65732063616e2064656c69766572207468652074696d658152636c6f636b60e01b602082015260400192915050565b60006129dc603f8361317b565b7f476f7665726e6f72416c7068613a3a70726f706f73653a2070726f706f73657281527f20766f7465732062656c6f772070726f706f73616c207468726573686f6c6400602082015260400192915050565b6000612a3b602f8361317b565b7f476f7665726e6f72416c7068613a3a63617374566f746542795369673a20696e81526e76616c6964207369676e617475726560881b602082015260400192915050565b6000612a8c60588361317b565b7f476f7665726e6f72416c7068613a3a70726f706f73653a206f6e65206c69766581527f2070726f706f73616c207065722070726f706f7365722c20666f756e6420616e60208201527f20616c7265616479206163746976652070726f706f73616c0000000000000000604082015260600192915050565b6000612b1160368361317b565b7f476f7665726e6f72416c7068613a3a63616e63656c3a2063616e6e6f742063618152751b98d95b08195e1958dd5d1959081c1c9bdc1bdcd85b60521b602082015260400192915050565b6000612b69602a8361317b565b7f476f7665726e6f72416c7068613a3a5f63617374566f74653a20766f74696e67815269081a5cc818db1bdcd95960b21b602082015260400192915050565b6000612bb560158361317b565b747375627472616374696f6e20756e646572666c6f7760581b815260200192915050565b80516060830190612bea84826123da565b506020820151612bfd60208501826123da565b506040820151612c106040850182612c28565b50505050565b612255816131aa565b612255816131d9565b612255816131b0565b6000612c3c826125aa565b9150612c4882856123ec565b602082019150612c5882846123ec565b5060200192915050565b600061148e8261275e565b600061148e826127c9565b60408101612c86828561224c565b61184760208301846123e3565b60408101612c86828561225b565b60808101612caf828761225b565b612cbc60208301866123e3565b612cc960408301856123da565b6111a26060830184612c1f565b60a08101612ce4828861225b565b612cf160208301876123e3565b8181036040830152612d0381866123fd565b90508181036060830152612d1781856123fd565b9050612d2660808301846123e3565b9695505050505050565b60a08101612d3e828861225b565b612d4b60208301876123e3565b8181036040830152612d5d8186612435565b90508181036060830152612d178185612435565b60808082528101612d828187612264565b90508181036020830152612d96818661238c565b90508181036040830152612daa818561232b565b90508181036060830152612d2681846122bd565b6020810161148e82846123e3565b60808101612dda82876123e3565b612de760208301866123e3565b612df460408301856123e3565b6111a2606083018461225b565b60608101612e0f82866123e3565b612e1c60208301856123e3565b611fad60408301846123da565b60808101612e3782876123e3565b612e446020830186612c16565b612e5160408301856123e3565b6111a260608301846123e3565b6020810161148e82846124bf565b6020810161148e82846124c8565b6020808252810161184781846123fd565b6020808252810161148e816124d1565b6020808252810161148e8161253d565b6020808252810161148e816125c8565b6020808252810161148e81612613565b6020808252810161148e81612662565b6020808252810161148e816126e7565b6020808252810161148e81612731565b6020808252810161148e81612812565b6020808252810161148e8161287e565b6020808252810161148e816128cf565b6020808252810161148e8161293b565b6020808252810161148e81612989565b6020808252810161148e816129cf565b6020808252810161148e81612a2e565b6020808252810161148e81612a7f565b6020808252810161148e81612b04565b6020808252810161148e81612b5c565b6020808252810161148e81612ba8565b6060810161148e8284612bd9565b6101208101612fc8828c6123e3565b612fd5602083018b61224c565b8181036040830152612fe7818a612264565b90508181036060830152612ffb818961238c565b9050818103608083015261300f818861232b565b905081810360a083015261302381876122bd565b905061303260c08301866123e3565b61303f60e08301856123e3565b81810361010083015261305281846123fd565b9b9a5050505050505050505050565b6101208101613070828c6123e3565b61307d602083018b61225b565b61308a604083018a6123e3565b61309760608301896123e3565b6130a460808301886123e3565b6130b160a08301876123e3565b6130be60c08301866123e3565b6130cb60e08301856123da565b6130d96101008301846123da565b9a9950505050505050505050565b60408101612c8682856123e3565b60405181810167ffffffffffffffff8111828210171561311457600080fd5b604052919050565b600067ffffffffffffffff82111561313357600080fd5b5060209081020190565b600067ffffffffffffffff82111561315457600080fd5b506020601f91909101601f19160190565b60200190565b60009081526020902090565b5190565b90815260200190565b600061148e8261319e565b151590565b8061091881613226565b6001600160a01b031690565b60ff1690565b6001600160601b031690565b600061148e825b600061148e82613184565b600061148e82613194565b600061148e826131b0565b82818337506000910152565b60005b8381101561320b5781810151838201526020016131f3565b83811115612c105750506000910152565b601f01601f191690565b60088110611d0157fe5b61323981613184565b8114611d0157600080fd5b6132398161318f565b6132398161046d565b613239816131aa565b613239816131b056fea365627a7a7231582090bccf0c90c70741ef28ec98a27c6eba47b76f73e37a904d807f5540980cff236c6578706572696d656e74616cf564736f6c63430005100040000000000000000000000000e0f4217390221af47855e094f6e112d43c8698fe0000000000000000000000000cec1a9154ff802e7934fc916ed7ca50bde6844e

Deployed Bytecode

0x6080604052600436106101405760003560e01c806340e58ee5116100b6578063da35c6641161006f578063da35c66414610366578063da95691a1461037b578063ddf0b0091461039b578063deaaa7cc146103bb578063e23a9a52146103d0578063fe0d94c1146103fd57610140565b806340e58ee5146102c75780634634c61f146102e75780637bdbe4d014610307578063b58131b01461031c578063bdacb30314610331578063d33219b41461035157610140565b806317977c611161010857806317977c611461020b57806320606b701461022b57806324bc1a6414610240578063328dd982146102555780633932abb1146102855780633e4f49e61461029a57610140565b8063013cf08b1461014557806302a251a31461018357806306fdde03146101a557806315373e3d146101c757806316f0115b146101e9575b600080fd5b34801561015157600080fd5b50610165610160366004612112565b610410565b60405161017a99989796959493929190613061565b60405180910390f35b34801561018f57600080fd5b50610198610469565b60405161017a9190612dbe565b3480156101b157600080fd5b506101ba610470565b60405161017a9190612e7a565b3480156101d357600080fd5b506101e76101e236600461216a565b6104a9565b005b3480156101f557600080fd5b506101fe6104b8565b60405161017a9190612e5e565b34801561021757600080fd5b50610198610226366004611f8f565b6104c7565b34801561023757600080fd5b506101986104d9565b34801561024c57600080fd5b506101986104f0565b34801561026157600080fd5b50610275610270366004612112565b6104fe565b60405161017a9493929190612d71565b34801561029157600080fd5b5061019861078d565b3480156102a657600080fd5b506102ba6102b5366004612112565b610792565b60405161017a9190612e6c565b3480156102d357600080fd5b506101e76102e2366004612112565b61091d565b3480156102f357600080fd5b506101e761030236600461219a565b610b71565b34801561031357600080fd5b50610198610d0e565b34801561032857600080fd5b50610198610d13565b34801561033d57600080fd5b506101e761034c366004611f8f565b610d21565b34801561035d57600080fd5b506101fe610d74565b34801561037257600080fd5b50610198610d83565b34801561038757600080fd5b50610198610396366004611fb5565b610d89565b3480156103a757600080fd5b506101e76103b6366004612112565b6111ab565b3480156103c757600080fd5b50610198611419565b3480156103dc57600080fd5b506103f06103eb366004612130565b611425565b60405161017a9190612fab565b6101e761040b366004612112565b611494565b6003602052600090815260409020805460018201546002830154600784015460088501546009860154600a870154600b9097015495966001600160a01b0390951695939492939192909160ff8082169161010090041689565b6170805b90565b6040518060400160405280601b81526020017f506f6f6c546f67657468657220476f7665726e6f7220416c706861000000000081525081565b6104b4338383611659565b5050565b6001546001600160a01b031681565b60046020526000908152604090205481565b6040516104e590612c62565b604051809103902081565b69152d02c7e14af680000090565b6060806060806000600360008781526020019081526020016000209050806003018160040182600501836006018380548060200260200160405190810160405280929190818152602001828054801561058057602002820191906000526020600020905b81546001600160a01b03168152600190910190602001808311610562575b50505050509350828054806020026020016040519081016040528092919081815260200182805480156105d257602002820191906000526020600020905b8154815260200190600101908083116105be575b5050505050925081805480602002602001604051908101604052809291908181526020016000905b828210156106a55760008481526020908190208301805460408051601f60026000196101006001871615020190941693909304928301859004850281018501909152818152928301828280156106915780601f1061066657610100808354040283529160200191610691565b820191906000526020600020905b81548152906001019060200180831161067457829003601f168201915b5050505050815260200190600101906105fa565b50505050915080805480602002602001604051908101604052809291908181526020016000905b828210156107775760008481526020908190208301805460408051601f60026000196101006001871615020190941693909304928301859004850281018501909152818152928301828280156107635780601f1061073857610100808354040283529160200191610763565b820191906000526020600020905b81548152906001019060200180831161074657829003601f168201915b5050505050815260200190600101906106cc565b5050505090509450945094509450509193509193565b600190565b600081600254101580156107a65750600082115b6107cb5760405162461bcd60e51b81526004016107c290612eab565b60405180910390fd5b6000828152600360205260409020600b81015460ff16156107f0576002915050610918565b80600701544311610805576000915050610918565b8060080154431161081a576001915050610918565b80600a0154816009015411158061083b57506108346104f0565b8160090154105b1561084a576003915050610918565b600281015461085d576004915050610918565b600b810154610100900460ff1615610879576007915050610918565b60028101546000546040805163281b6df760e21b8152905161090293926001600160a01b03169163a06db7dc916004808301926020929190829003018186803b1580156108c557600080fd5b505afa1580156108d9573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052506108fd91908101906120bf565b611822565b4210610912576006915050610918565b60059150505b919050565b600061092882610792565b9050600781600781111561093857fe5b14156109565760405162461bcd60e51b81526004016107c290612f7b565b600082815260036020526040902061096c610d13565b60018054838201546001600160a01b039182169263782d6fe1929091169061099590439061184e565b6040518363ffffffff1660e01b81526004016109b2929190612c93565b60206040518083038186803b1580156109ca57600080fd5b505afa1580156109de573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250610a029190810190612202565b6001600160601b031610610a285760405162461bcd60e51b81526004016107c290612f0b565b600b8101805460ff1916600117905560005b6003820154811015610b34576000546003830180546001600160a01b039092169163591fcdfe919084908110610a6c57fe5b6000918252602090912001546004850180546001600160a01b039092169185908110610a9457fe5b9060005260206000200154856005018581548110610aae57fe5b90600052602060002001866006018681548110610ac757fe5b9060005260206000200187600201546040518663ffffffff1660e01b8152600401610af6959493929190612d30565b600060405180830381600087803b158015610b1057600080fd5b505af1158015610b24573d6000803e3d6000fd5b505060019092019150610a3a9050565b507f789cf55be980739dad1d0699b93b58e806b51c9d96619bfa8fe0a28abaa7b30c83604051610b649190612dbe565b60405180910390a1505050565b6000604051610b7f90612c62565b60408051918290038220828201909152601b82527f506f6f6c546f67657468657220476f7665726e6f7220416c70686100000000006020909201919091527fe6cce8dae3de26f4bb5e25e9bafdf3502d0ddf2acbace2e7261e1a8c96405629610be6611876565b30604051602001610bfa9493929190612dcc565b6040516020818303038152906040528051906020012090506000604051610c2090612c6d565b604051908190038120610c399189908990602001612e01565b60405160208183030381529060405280519060200120905060008282604051602001610c66929190612c31565b604051602081830303815290604052805190602001209050600060018288888860405160008152602001604052604051610ca39493929190612e29565b6020604051602081039080840390855afa158015610cc5573d6000803e3d6000fd5b5050604051601f1901519150506001600160a01b038116610cf85760405162461bcd60e51b81526004016107c290612f5b565b610d03818a8a611659565b505050505050505050565b600a90565b69021e19e0c9bab240000090565b6005546001600160a01b03163314610d4b5760405162461bcd60e51b81526004016107c290612f3b565b600080546001600160a01b039092166001600160a01b0319928316179055600580549091169055565b6000546001600160a01b031681565b60025481565b6000610d93610d13565b600180546001600160a01b03169063782d6fe1903390610db490439061184e565b6040518363ffffffff1660e01b8152600401610dd1929190612c78565b60206040518083038186803b158015610de957600080fd5b505afa158015610dfd573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250610e219190810190612202565b6001600160601b031611610e475760405162461bcd60e51b81526004016107c290612f4b565b84518651148015610e59575083518651145b8015610e66575082518651145b610e825760405162461bcd60e51b81526004016107c290612efb565b8551610ea05760405162461bcd60e51b81526004016107c290612f2b565b610ea8610d0e565b86511115610ec85760405162461bcd60e51b81526004016107c290612edb565b336000908152600460205260409020548015610f45576000610ee982610792565b90506001816007811115610ef957fe5b1415610f175760405162461bcd60e51b81526004016107c290612f6b565b6000816007811115610f2557fe5b1415610f435760405162461bcd60e51b81526004016107c290612ecb565b505b6000610f53436108fd61078d565b90506000610f63826108fd610469565b6002805460010190559050610f766119d9565b604051806101a001604052806002548152602001336001600160a01b03168152602001600081526020018b81526020018a815260200189815260200188815260200184815260200183815260200160008152602001600081526020016000151581526020016000151581525090508060036000836000015181526020019081526020016000206000820151816000015560208201518160010160006101000a8154816001600160a01b0302191690836001600160a01b03160217905550604082015181600201556060820151816003019080519060200190611059929190611a4e565b5060808201518051611075916004840191602090910190611ab3565b5060a08201518051611091916005840191602090910190611afa565b5060c082015180516110ad916006840191602090910190611b53565b5060e082015181600701556101008201518160080155610120820151816009015561014082015181600a015561016082015181600b0160006101000a81548160ff02191690831515021790555061018082015181600b0160016101000a81548160ff02191690831515021790555090505080600001516004600083602001516001600160a01b03166001600160a01b03168152602001908152602001600020819055507f7d84a6263ae0d98d3329bd7b46bb4e8d6f98cd35a7adb45c274c8b7fd5ebd5e08160000151338c8c8c8c89898e60405161119399989796959493929190612fb9565b60405180910390a15193505050505b95945050505050565b60046111b682610792565b60078111156111c157fe5b146111de5760405162461bcd60e51b81526004016107c290612e8b565b600081815260036020908152604080832083548251630d48571f60e31b815292519194936112379342936001600160a01b0390931692636a42b8f892600480840193919291829003018186803b1580156108c557600080fd5b905060005b60038301548110156113df576113d783600301828154811061125a57fe5b6000918252602090912001546004850180546001600160a01b03909216918490811061128257fe5b906000526020600020015485600501848154811061129c57fe5b600091825260209182902001805460408051601f600260001961010060018716150201909416939093049283018590048502810185019091528181529283018282801561132a5780601f106112ff5761010080835404028352916020019161132a565b820191906000526020600020905b81548152906001019060200180831161130d57829003601f168201915b505050505086600601858154811061133e57fe5b600091825260209182902001805460408051601f60026000196101006001871615020190941693909304928301859004850281018501909152818152928301828280156113cc5780601f106113a1576101008083540402835291602001916113cc565b820191906000526020600020905b8154815290600101906020018083116113af57829003601f168201915b50505050508661187a565b60010161123c565b50600282018190556040517f9a2e42fd6722813d69113e7d0079d3d940171428df7373df9c7f7617cfda289290610b6490859084906130e7565b6040516104e590612c6d565b61142d611bac565b5060008281526003602090815260408083206001600160a01b0385168452600c018252918290208251606081018452905460ff80821615158352610100820416151592820192909252620100009091046001600160601b0316918101919091525b92915050565b600561149f82610792565b60078111156114aa57fe5b146114c75760405162461bcd60e51b81526004016107c290612e9b565b6000818152600360205260408120600b8101805461ff001916610100179055905b600382015481101561161d576000546004830180546001600160a01b0390921691630825f38f91908490811061151a57fe5b906000526020600020015484600301848154811061153457fe5b6000918252602090912001546004860180546001600160a01b03909216918690811061155c57fe5b906000526020600020015486600501868154811061157657fe5b9060005260206000200187600601878154811061158f57fe5b9060005260206000200188600201546040518763ffffffff1660e01b81526004016115be959493929190612d30565b6000604051808303818588803b1580156115d757600080fd5b505af11580156115eb573d6000803e3d6000fd5b50505050506040513d6000823e601f3d908101601f1916820160405261161491908101906120dd565b506001016114e8565b507f712ae1383f79ac853f8d882153778e0260ef8f03b504e2866e0593e04d2b291f8260405161164d9190612dbe565b60405180910390a15050565b600161166483610792565b600781111561166f57fe5b1461168c5760405162461bcd60e51b81526004016107c290612f8b565b60008281526003602090815260408083206001600160a01b0387168452600c8101909252909120805460ff16156116d55760405162461bcd60e51b81526004016107c290612ebb565b600154600783015460405163782d6fe160e01b81526000926001600160a01b03169163782d6fe19161170b918a91600401612c93565b60206040518083038186803b15801561172357600080fd5b505afa158015611737573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525061175b9190810190612202565b905083156117845761177a8360090154826001600160601b0316611822565b60098401556117a1565b61179b83600a0154826001600160601b0316611822565b600a8401555b8154600160ff199091161761ff00191661010085151502176dffffffffffffffffffffffff00001916620100006001600160601b038316021782556040517f877856338e13f63d0c36822ff0ef736b80934cd90574a3a5bc9262c39d217c4690611812908890889088908690612ca1565b60405180910390a1505050505050565b6000828201838110156118475760405162461bcd60e51b81526004016107c290612eeb565b9392505050565b6000828211156118705760405162461bcd60e51b81526004016107c290612f9b565b50900390565b4690565b6000546040516001600160a01b039091169063f2b06537906118a89088908890889088908890602001612cd6565b604051602081830303815290604052805190602001206040518263ffffffff1660e01b81526004016118da9190612dbe565b60206040518083038186803b1580156118f257600080fd5b505afa158015611906573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525061192a91908101906120a1565b156119475760405162461bcd60e51b81526004016107c290612f1b565b600054604051633a66f90160e01b81526001600160a01b0390911690633a66f9019061197f9088908890889088908890600401612cd6565b602060405180830381600087803b15801561199957600080fd5b505af11580156119ad573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052506119d191908101906120bf565b505050505050565b604051806101a001604052806000815260200160006001600160a01b031681526020016000815260200160608152602001606081526020016060815260200160608152602001600081526020016000815260200160008152602001600081526020016000151581526020016000151581525090565b828054828255906000526020600020908101928215611aa3579160200282015b82811115611aa357825182546001600160a01b0319166001600160a01b03909116178255602090920191600190910190611a6e565b50611aaf929150611bcc565b5090565b828054828255906000526020600020908101928215611aee579160200282015b82811115611aee578251825591602001919060010190611ad3565b50611aaf929150611bf0565b828054828255906000526020600020908101928215611b47579160200282015b82811115611b475782518051611b37918491602090910190611c0a565b5091602001919060010190611b1a565b50611aaf929150611c77565b828054828255906000526020600020908101928215611ba0579160200282015b82811115611ba05782518051611b90918491602090910190611c0a565b5091602001919060010190611b73565b50611aaf929150611c9a565b604080516060810182526000808252602082018190529181019190915290565b61046d91905b80821115611aaf5780546001600160a01b0319168155600101611bd2565b61046d91905b80821115611aaf5760008155600101611bf6565b828054600181600116156101000203166002900490600052602060002090601f016020900481019282601f10611c4b57805160ff1916838001178555611aee565b82800160010185558215611aee5791820182811115611aee578251825591602001919060010190611ad3565b61046d91905b80821115611aaf576000611c918282611cbd565b50600101611c7d565b61046d91905b80821115611aaf576000611cb48282611cbd565b50600101611ca0565b50805460018160011615610100020316600290046000825580601f10611ce35750611d01565b601f016020900490600052602060002090810190611d019190611bf0565b50565b803561148e81613230565b600082601f830112611d2057600080fd5b8135611d33611d2e8261311c565b6130f5565b91508181835260208401935060208101905083856020840282011115611d5857600080fd5b60005b83811015611d845781611d6e8882611d04565b8452506020928301929190910190600101611d5b565b5050505092915050565b600082601f830112611d9f57600080fd5b8135611dad611d2e8261311c565b81815260209384019390925082018360005b83811015611d845781358601611dd58882611ee4565b8452506020928301929190910190600101611dbf565b600082601f830112611dfc57600080fd5b8135611e0a611d2e8261311c565b81815260209384019390925082018360005b83811015611d845781358601611e328882611ee4565b8452506020928301929190910190600101611e1c565b600082601f830112611e5957600080fd5b8135611e67611d2e8261311c565b91508181835260208401935060208101905083856020840282011115611e8c57600080fd5b60005b83811015611d845781611ea28882611ece565b8452506020928301929190910190600101611e8f565b803561148e81613244565b805161148e81613244565b803561148e8161324d565b805161148e8161324d565b600082601f830112611ef557600080fd5b8135611f03611d2e8261313d565b91508082526020830160208301858383011115611f1f57600080fd5b611f2a8382846131e4565b50505092915050565b600082601f830112611f4457600080fd5b8151611f52611d2e8261313d565b91508082526020830160208301858383011115611f6e57600080fd5b611f2a8382846131f0565b803561148e81613256565b805161148e8161325f565b600060208284031215611fa157600080fd5b6000611fad8484611d04565b949350505050565b600080600080600060a08688031215611fcd57600080fd5b853567ffffffffffffffff811115611fe457600080fd5b611ff088828901611d0f565b955050602086013567ffffffffffffffff81111561200d57600080fd5b61201988828901611e48565b945050604086013567ffffffffffffffff81111561203657600080fd5b61204288828901611deb565b935050606086013567ffffffffffffffff81111561205f57600080fd5b61206b88828901611d8e565b925050608086013567ffffffffffffffff81111561208857600080fd5b61209488828901611ee4565b9150509295509295909350565b6000602082840312156120b357600080fd5b6000611fad8484611ec3565b6000602082840312156120d157600080fd5b6000611fad8484611ed9565b6000602082840312156120ef57600080fd5b815167ffffffffffffffff81111561210657600080fd5b611fad84828501611f33565b60006020828403121561212457600080fd5b6000611fad8484611ece565b6000806040838503121561214357600080fd5b600061214f8585611ece565b925050602061216085828601611d04565b9150509250929050565b6000806040838503121561217d57600080fd5b60006121898585611ece565b925050602061216085828601611eb8565b600080600080600060a086880312156121b257600080fd5b60006121be8888611ece565b95505060206121cf88828901611eb8565b94505060406121e088828901611f79565b93505060606121f188828901611ece565b925050608061209488828901611ece565b60006020828403121561221457600080fd5b6000611fad8484611f84565b600061222c838361225b565b505060200190565b600061184783836123fd565b600061222c83836123e3565b612255816131bc565b82525050565b61225581613184565b600061226f82613177565b612279818561317b565b935061228483613165565b8060005b838110156122b257815161229c8882612220565b97506122a783613165565b925050600101612288565b509495945050505050565b60006122c882613177565b6122d2818561317b565b9350836020820285016122e485613165565b8060005b8581101561231e57848403895281516123018582612234565b945061230c83613165565b60209a909a01999250506001016122e8565b5091979650505050505050565b600061233682613177565b612340818561317b565b93508360208202850161235285613165565b8060005b8581101561231e578484038952815161236f8582612234565b945061237a83613165565b60209a909a0199925050600101612356565b600061239782613177565b6123a1818561317b565b93506123ac83613165565b8060005b838110156122b25781516123c48882612240565b97506123cf83613165565b9250506001016123b0565b6122558161318f565b6122558161046d565b6122556123f88261046d565b61046d565b600061240882613177565b612412818561317b565b93506124228185602086016131f0565b61242b8161321c565b9093019392505050565b6000815460018116600081146124525760018114612478576124b7565b607f6002830416612463818761317b565b60ff19841681529550506020850192506124b7565b60028204612486818761317b565b95506124918561316b565b60005b828110156124b057815488820152600190910190602001612494565b8701945050505b505092915050565b612255816131c3565b612255816131ce565b60006124de60448361317b565b7f476f7665726e6f72416c7068613a3a71756575653a2070726f706f73616c206381527f616e206f6e6c79206265207175657565642069662069742069732073756363656020820152631959195960e21b604082015260600192915050565b600061254a60458361317b565b7f476f7665726e6f72416c7068613a3a657865637574653a2070726f706f73616c81527f2063616e206f6e6c7920626520657865637574656420696620697420697320716020820152641d595d595960da1b604082015260600192915050565b60006125b7600283610918565b61190160f01b815260020192915050565b60006125d560298361317b565b7f476f7665726e6f72416c7068613a3a73746174653a20696e76616c69642070728152681bdc1bdcd85b081a5960ba1b602082015260400192915050565b6000612620602d8361317b565b7f476f7665726e6f72416c7068613a3a5f63617374566f74653a20766f7465722081526c185b1c9958591e481d9bdd1959609a1b602082015260400192915050565b600061266f60598361317b565b7f476f7665726e6f72416c7068613a3a70726f706f73653a206f6e65206c69766581527f2070726f706f73616c207065722070726f706f7365722c20666f756e6420616e60208201527f20616c72656164792070656e64696e672070726f706f73616c00000000000000604082015260600192915050565b60006126f460288361317b565b7f476f7665726e6f72416c7068613a3a70726f706f73653a20746f6f206d616e7981526720616374696f6e7360c01b602082015260400192915050565b600061273e60118361317b565b706164646974696f6e206f766572666c6f7760781b815260200192915050565b600061276b604383610918565b7f454950373132446f6d61696e28737472696e67206e616d652c75696e7432353681527f20636861696e49642c6164647265737320766572696679696e67436f6e74726160208201526263742960e81b604082015260430192915050565b60006127d6602783610918565b7f42616c6c6f742875696e743235362070726f706f73616c49642c626f6f6c20738152667570706f72742960c81b602082015260270192915050565b600061281f60448361317b565b7f476f7665726e6f72416c7068613a3a70726f706f73653a2070726f706f73616c81527f2066756e6374696f6e20696e666f726d6174696f6e206172697479206d69736d6020820152630c2e8c6d60e31b604082015260600192915050565b600061288b602f8361317b565b7f476f7665726e6f72416c7068613a3a63616e63656c3a2070726f706f7365722081526e18589bdd99481d1a1c995cda1bdb19608a1b602082015260400192915050565b60006128dc60448361317b565b7f476f7665726e6f72416c7068613a3a5f71756575654f725265766572743a207081527f726f706f73616c20616374696f6e20616c7265616479207175657565642061746020820152632065746160e01b604082015260600192915050565b6000612948602c8361317b565b7f476f7665726e6f72416c7068613a3a70726f706f73653a206d7573742070726f81526b7669646520616374696f6e7360a01b602082015260400192915050565b600061299660248361317b565b7f6f6e6c79206865726d65732063616e2064656c69766572207468652074696d658152636c6f636b60e01b602082015260400192915050565b60006129dc603f8361317b565b7f476f7665726e6f72416c7068613a3a70726f706f73653a2070726f706f73657281527f20766f7465732062656c6f772070726f706f73616c207468726573686f6c6400602082015260400192915050565b6000612a3b602f8361317b565b7f476f7665726e6f72416c7068613a3a63617374566f746542795369673a20696e81526e76616c6964207369676e617475726560881b602082015260400192915050565b6000612a8c60588361317b565b7f476f7665726e6f72416c7068613a3a70726f706f73653a206f6e65206c69766581527f2070726f706f73616c207065722070726f706f7365722c20666f756e6420616e60208201527f20616c7265616479206163746976652070726f706f73616c0000000000000000604082015260600192915050565b6000612b1160368361317b565b7f476f7665726e6f72416c7068613a3a63616e63656c3a2063616e6e6f742063618152751b98d95b08195e1958dd5d1959081c1c9bdc1bdcd85b60521b602082015260400192915050565b6000612b69602a8361317b565b7f476f7665726e6f72416c7068613a3a5f63617374566f74653a20766f74696e67815269081a5cc818db1bdcd95960b21b602082015260400192915050565b6000612bb560158361317b565b747375627472616374696f6e20756e646572666c6f7760581b815260200192915050565b80516060830190612bea84826123da565b506020820151612bfd60208501826123da565b506040820151612c106040850182612c28565b50505050565b612255816131aa565b612255816131d9565b612255816131b0565b6000612c3c826125aa565b9150612c4882856123ec565b602082019150612c5882846123ec565b5060200192915050565b600061148e8261275e565b600061148e826127c9565b60408101612c86828561224c565b61184760208301846123e3565b60408101612c86828561225b565b60808101612caf828761225b565b612cbc60208301866123e3565b612cc960408301856123da565b6111a26060830184612c1f565b60a08101612ce4828861225b565b612cf160208301876123e3565b8181036040830152612d0381866123fd565b90508181036060830152612d1781856123fd565b9050612d2660808301846123e3565b9695505050505050565b60a08101612d3e828861225b565b612d4b60208301876123e3565b8181036040830152612d5d8186612435565b90508181036060830152612d178185612435565b60808082528101612d828187612264565b90508181036020830152612d96818661238c565b90508181036040830152612daa818561232b565b90508181036060830152612d2681846122bd565b6020810161148e82846123e3565b60808101612dda82876123e3565b612de760208301866123e3565b612df460408301856123e3565b6111a2606083018461225b565b60608101612e0f82866123e3565b612e1c60208301856123e3565b611fad60408301846123da565b60808101612e3782876123e3565b612e446020830186612c16565b612e5160408301856123e3565b6111a260608301846123e3565b6020810161148e82846124bf565b6020810161148e82846124c8565b6020808252810161184781846123fd565b6020808252810161148e816124d1565b6020808252810161148e8161253d565b6020808252810161148e816125c8565b6020808252810161148e81612613565b6020808252810161148e81612662565b6020808252810161148e816126e7565b6020808252810161148e81612731565b6020808252810161148e81612812565b6020808252810161148e8161287e565b6020808252810161148e816128cf565b6020808252810161148e8161293b565b6020808252810161148e81612989565b6020808252810161148e816129cf565b6020808252810161148e81612a2e565b6020808252810161148e81612a7f565b6020808252810161148e81612b04565b6020808252810161148e81612b5c565b6020808252810161148e81612ba8565b6060810161148e8284612bd9565b6101208101612fc8828c6123e3565b612fd5602083018b61224c565b8181036040830152612fe7818a612264565b90508181036060830152612ffb818961238c565b9050818103608083015261300f818861232b565b905081810360a083015261302381876122bd565b905061303260c08301866123e3565b61303f60e08301856123e3565b81810361010083015261305281846123fd565b9b9a5050505050505050505050565b6101208101613070828c6123e3565b61307d602083018b61225b565b61308a604083018a6123e3565b61309760608301896123e3565b6130a460808301886123e3565b6130b160a08301876123e3565b6130be60c08301866123e3565b6130cb60e08301856123da565b6130d96101008301846123da565b9a9950505050505050505050565b60408101612c8682856123e3565b60405181810167ffffffffffffffff8111828210171561311457600080fd5b604052919050565b600067ffffffffffffffff82111561313357600080fd5b5060209081020190565b600067ffffffffffffffff82111561315457600080fd5b506020601f91909101601f19160190565b60200190565b60009081526020902090565b5190565b90815260200190565b600061148e8261319e565b151590565b8061091881613226565b6001600160a01b031690565b60ff1690565b6001600160601b031690565b600061148e825b600061148e82613184565b600061148e82613194565b600061148e826131b0565b82818337506000910152565b60005b8381101561320b5781810151838201526020016131f3565b83811115612c105750506000910152565b601f01601f191690565b60088110611d0157fe5b61323981613184565b8114611d0157600080fd5b6132398161318f565b6132398161046d565b613239816131aa565b613239816131b056fea365627a7a7231582090bccf0c90c70741ef28ec98a27c6eba47b76f73e37a904d807f5540980cff236c6578706572696d656e74616cf564736f6c63430005100040

Constructor Arguments (ABI-Encoded and is the last bytes of the Contract Creation Code above)

000000000000000000000000e0f4217390221af47855e094f6e112d43c8698fe0000000000000000000000000cec1a9154ff802e7934fc916ed7ca50bde6844e

-----Decoded View---------------
Arg [0] : hermes_ (address): 0xE0F4217390221aF47855E094F6e112D43C8698fE
Arg [1] : pool_ (address): 0x0cEC1A9154Ff802e7934Fc916Ed7Ca50bDE6844e

-----Encoded View---------------
2 Constructor Arguments found :
Arg [0] : 000000000000000000000000e0f4217390221af47855e094f6e112d43c8698fe
Arg [1] : 0000000000000000000000000cec1a9154ff802e7934fc916ed7ca50bde6844e


Deployed Bytecode Sourcemap

61:13141:0:-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;3537:43;;8:9:-1;5:2;;;30:1;27;20:12;5:2;-1:-1;3537:43:0;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;1011:69;;8:9:-1;5:2;;;30:1;27;20:12;5:2;1011:69:0;;;:::i;:::-;;;;;;;;132:59;;8:9:-1;5:2;;;30:1;27;20:12;5:2;132:59:0;;;:::i;:::-;;;;;;;;11156:122;;8:9:-1;5:2;;;30:1;27;20:12;5:2;-1:-1;11156:122:0;;;;;;;;:::i;:::-;;1284:36;;8:9:-1;5:2;;;30:1;27;20:12;5:2;1284:36:0;;;:::i;:::-;;;;;;;;3641:50;;8:9:-1;5:2;;;30:1;27;20:12;5:2;-1:-1;3641:50:0;;;;;;;;:::i;3761:122::-;;8:9:-1;5:2;;;30:1;27;20:12;5:2;3761:122:0;;;:::i;330:72::-;;8:9:-1;5:2;;;30:1;27;20:12;5:2;330:72:0;;;:::i;9680:284::-;;8:9:-1;5:2;;;30:1;27;20:12;5:2;-1:-1;9680:284:0;;;;;;;;:::i;:::-;;;;;;;;;;;867:63;;8:9:-1;5:2;;;30:1;27;20:12;5:2;867:63:0;;;:::i;10126:1024::-;;8:9:-1;5:2;;;30:1;27;20:12;5:2;-1:-1;10126:1024:0;;;;;;;;:::i;:::-;;;;;;;;8964:710;;8:9:-1;5:2;;;30:1;27;20:12;5:2;-1:-1;8964:710:0;;;;;;;;:::i;11284:618::-;;8:9:-1;5:2;;;30:1;27;20:12;5:2;-1:-1;11284:618:0;;;;;;;;:::i;689:74::-;;8:9:-1;5:2;;;30:1;27;20:12;5:2;689:74:0;;;:::i;509:77::-;;8:9:-1;5:2;;;30:1;27;20:12;5:2;509:77:0;;;:::i;5040:254::-;;8:9:-1;5:2;;;30:1;27;20:12;5:2;-1:-1;5040:254:0;;;;;;;;:::i;1187:33::-;;8:9:-1;5:2;;;30:1;27;20:12;5:2;1187:33:0;;;:::i;1373:25::-;;8:9:-1;5:2;;;30:1;27;20:12;5:2;1373:25:0;;;:::i;5300:2134::-;;8:9:-1;5:2;;;30:1;27;20:12;5:2;-1:-1;5300:2134:0;;;;;;;;:::i;7440:568::-;;8:9:-1;5:2;;;30:1;27;20:12;5:2;-1:-1;7440:568:0;;;;;;;;:::i;3970:94::-;;8:9:-1;5:2;;;30:1;27;20:12;5:2;3970:94:0;;;:::i;9970:150::-;;8:9:-1;5:2;;;30:1;27;20:12;5:2;-1:-1;9970:150:0;;;;;;;;:::i;:::-;;;;;;;;8393:565;;;;;;;;;:::i;3537:43::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;;;;;3537:43:0;;;;;;;;;;;;;;;;;;;;;;:::o;1011:69::-;1071:6;1011:69;;:::o;132:59::-;;;;;;;;;;;;;;;;;;;:::o;11156:122::-;11229:42;11239:10;11251;11263:7;11229:9;:42::i;:::-;11156:122;;:::o;1284:36::-;;;-1:-1:-1;;;;;1284:36:0;;:::o;3641:50::-;;;;;;;;;;;;;:::o;3761:122::-;3803:80;;;;;;;;;;;;;;3761:122;:::o;330:72::-;389:10;330:72;:::o;9680:284::-;9738:24;9764:20;9786:26;9814:24;9850:18;9871:9;:21;9881:10;9871:21;;;;;;;;;;;9850:42;;9910:1;:9;;9921:1;:8;;9931:1;:12;;9945:1;:11;;9902:55;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;;;;;9902:55:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;;9902:55:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;;9902:55:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;9680:284;;;;;:::o;867:63::-;926:1;867:63;:::o;10126:1024::-;10179:13;10229:10;10212:13;;:27;;:45;;;;;10256:1;10243:10;:14;10212:45;10204:99;;;;-1:-1:-1;;;10204:99:0;;;;;;;;;;;;;;;;;10313:25;10341:21;;;:9;:21;;;;;10376:17;;;;;;10372:772;;;10416:22;10409:29;;;;;10372:772;10475:8;:19;;;10459:12;:35;10455:689;;10517:21;10510:28;;;;;10455:689;10575:8;:17;;;10559:12;:33;10555:589;;10615:20;10608:27;;;;;10555:589;10677:8;:21;;;10656:8;:17;;;:42;;:79;;;;10722:13;:11;:13::i;:::-;10702:8;:17;;;:33;10656:79;10652:492;;;10758:22;10751:29;;;;;10652:492;10801:12;;;;10797:347;;10841:23;10834:30;;;;;10797:347;10885:17;;;;;;;;;10881:263;;;10925:22;10918:29;;;;;10881:263;10994:12;;;;11008:8;;:22;;;-1:-1:-1;;;11008:22:0;;;;10987:44;;10994:12;-1:-1:-1;;;;;11008:8:0;;:20;;:22;;;;;;;;;;;;;;:8;:22;;;5:2:-1;;;;30:1;27;20:12;5:2;11008:22:0;;;;8:9:-1;5:2;;;45:16;42:1;39;24:38;77:16;74:1;67:27;5:2;11008:22: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;11008:22:0;;;;;;;;;10987:6;:44::i;:::-;10968:15;:63;10964:180;;11054:21;11047:28;;;;;10964:180;11113:20;11106:27;;;10126:1024;;;;:::o;8964:710::-;9014:19;9036:17;9042:10;9036:5;:17::i;:::-;9014:39;-1:-1:-1;9080:22:0;9071:5;:31;;;;;;;;;;9063:98;;;;-1:-1:-1;;;9063:98:0;;;;;;;;;9172:25;9200:21;;;:9;:21;;;;;9304:19;:17;:19::i;:::-;9239:4;;;9258:17;;;;-1:-1:-1;;;;;9239:4:0;;;;:18;;9258:17;;;;9277:23;;9284:12;;9277:6;:23::i;:::-;9239:62;;;;;;;;;;;;;;;;;;;;;;;;;;;;;8:9:-1;5:2;;;30:1;27;20:12;5:2;9239:62:0;;;;8:9:-1;5:2;;;45:16;42:1;39;24:38;77:16;74:1;67:27;5:2;9239: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;9239:62:0;;;;;;;;;-1:-1:-1;;;;;9239:84:0;;9231:144;;;;-1:-1:-1;;;9231:144:0;;;;;;;;;9386:17;;;:24;;-1:-1:-1;;9386:24:0;9406:4;9386:24;;;:17;9420:204;9441:16;;;:23;9437:27;;9420:204;;;9485:8;;9512:16;;;:19;;-1:-1:-1;;;;;9485:8:0;;;;:26;;9512:16;9529:1;;9512:19;;;;;;;;;;;;;;;;9533:15;;;:18;;-1:-1:-1;;;;;9512:19:0;;;;9549:1;;9533:18;;;;;;;;;;;;;;9553:8;:19;;9573:1;9553:22;;;;;;;;;;;;;;;9577:8;:18;;9596:1;9577:21;;;;;;;;;;;;;;;9600:8;:12;;;9485:128;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;8:9:-1;5:2;;;30:1;27;20:12;5:2;9485:128:0;;;;8:9:-1;5:2;;;45:16;42:1;39;24:38;77:16;74:1;67:27;5:2;-1:-1;;9466:3:0;;;;;-1:-1:-1;9420:204:0;;-1:-1:-1;9420:204:0;;;9639:28;9656:10;9639:28;;;;;;;;;;;;;;;8964:710;;;:::o;11284:618::-;11386:23;3803:80;;;;;;;;;;;;;;;;11466:4;;;;;;;;;;;;;;;;;;11450:22;11474:12;:10;:12::i;:::-;11496:4;11422:80;;;;;;;;;;;;;;;49:4:-1;39:7;30;26:21;22:32;13:7;6:49;11422:80:0;;;11412:91;;;;;;11386:117;;11513:18;4012:52;;;;;;;;;;;;;;;11544:48;;11572:10;;11584:7;;11544:48;;;;;;;49:4:-1;39:7;30;26:21;22:32;13:7;6:49;11544:48:0;;;11534:59;;;;;;11513:80;;11603:14;11659:15;11676:10;11630:57;;;;;;;;;;;;;49:4:-1;39:7;30;26:21;22:32;13:7;6:49;11630:57:0;;;11620:68;;;;;;11603:85;;11698:17;11718:26;11728:6;11736:1;11739;11742;11718:26;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;8:9:-1;5:2;;;45:16;42:1;39;24:38;77:16;74:1;67:27;5:2;-1:-1;;11718:26:0;;-1:-1:-1;;11718:26:0;;;-1:-1:-1;;;;;;;11762:23:0;;11754:83;;;;-1:-1:-1;;;11754:83:0;;;;;;;;;11854:41;11864:9;11875:10;11887:7;11854:9;:41::i;:::-;11847:48;;;;11284:618;;;;;:::o;689:74::-;758:2;689:74;:::o;509:77::-;574:9;509:77;:::o;5040:254::-;5119:6;;-1:-1:-1;;;;;5119:6:0;5105:10;:20;5097:69;;;;-1:-1:-1;;;5097:69:0;;;;;;;;;5176:8;:39;;-1:-1:-1;;;;;5176:39:0;;;-1:-1:-1;;;;;;5176:39:0;;;;;;5268:6;:19;;;;;;;5040:254::o;1187:33::-;;;-1:-1:-1;;;;;1187:33:0;;:::o;1373:25::-;;;;:::o;5300:2134::-;5462:4;5544:19;:17;:19::i;:::-;5486:4;;;-1:-1:-1;;;;;5486:4:0;;:18;;5505:10;;5517:23;;5524:12;;5517:6;:23::i;:::-;5486:55;;;;;;;;;;;;;;;;;;;;;;;;;;;;;8:9:-1;5:2;;;30:1;27;20:12;5:2;5486:55:0;;;;8:9:-1;5:2;;;45:16;42:1;39;24:38;77:16;74:1;67:27;5:2;5486:55: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;5486:55:0;;;;;;;;;-1:-1:-1;;;;;5486:77:0;;5478:153;;;;-1:-1:-1;;;5478:153:0;;;;;;;;;5667:6;:13;5649:7;:14;:31;:70;;;;;5702:10;:17;5684:7;:14;:35;5649:70;:108;;;;;5741:9;:16;5723:7;:14;:34;5649:108;5641:189;;;;-1:-1:-1;;;5641:189:0;;;;;;;;;5848:14;;5840:76;;;;-1:-1:-1;;;5840:76:0;;;;;;;;;5952:23;:21;:23::i;:::-;5934:7;:14;:41;;5926:94;;;;-1:-1:-1;;;5926:94:0;;;;;;;;;6073:10;6031:21;6055:29;;;:17;:29;;;;;;6098:21;;6094:450;;6133:42;6178:23;6184:16;6178:5;:23::i;:::-;6133:68;-1:-1:-1;6253:20:0;6221:28;:52;;;;;;;;;;6213:153;;;;-1:-1:-1;;;6213:153:0;;;;;;;;;6418:21;6386:28;:53;;;;;;;;;;6378:155;;;;-1:-1:-1;;;6378:155:0;;;;;;;;;6094:450;;6554:15;6572:35;6579:12;6593:13;:11;:13::i;6572:35::-;6554:53;;6617:13;6633:34;6640:10;6652:14;:12;:14::i;6633:34::-;6678:13;:15;;;;;;6617:50;-1:-1:-1;6703:27:0;;:::i;:::-;6733:413;;;;;;;;6760:13;;6733:413;;;;6797:10;-1:-1:-1;;;;;6733:413:0;;;;;6826:1;6733:413;;;;6850:7;6733:413;;;;6879:6;6733:413;;;;6911:10;6733:413;;;;6946:9;6733:413;;;;6981:10;6733:413;;;;7015:8;6733:413;;;;7047:1;6733:413;;;;7076:1;6733:413;;;;7101:5;6733:413;;;;;;7130:5;6733:413;;;;;6703:443;;7185:11;7157:9;:25;7167:11;:14;;;7157:25;;;;;;;;;;;:39;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;;;;;7157:39:0;;;;;-1:-1:-1;;;;;7157:39:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;-1:-1:-1;7157:39:0;;;;;;;;;;;;;;;;;;:::i;:::-;-1:-1:-1;7157:39:0;;;;;;;;;;;;;;;;;;:::i;:::-;-1:-1:-1;7157:39:0;;;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;7248:11;:14;;;7206:17;:39;7224:11;:20;;;-1:-1:-1;;;;;7206:39:0;-1:-1:-1;;;;;7206:39:0;;;;;;;;;;;;:56;;;;7278:118;7294:11;:14;;;7310:10;7322:7;7331:6;7339:10;7351:9;7362:10;7374:8;7384:11;7278:118;;;;;;;;;;;;;;;;;;;;;;;7413:14;;-1:-1:-1;;;;5300:2134:0;;;;;;;;:::o;7440:568::-;7518:23;7497:17;7503:10;7497:5;:17::i;:::-;:44;;;;;;;;;7489:125;;;;-1:-1:-1;;;7489:125:0;;;;;;;;;7624:25;7652:21;;;:9;:21;;;;;;;;7718:8;;:16;;-1:-1:-1;;;7718:16:0;;;;7652:21;;7624:25;7694:41;;7701:15;;-1:-1:-1;;;;;7718:8:0;;;;:14;;:16;;;;;7652:21;;7718:16;;;;;;:8;:16;;;5:2:-1;;;;30:1;27;20:12;7694:41:0;7683:52;-1:-1:-1;7750:6:0;7745:183;7766:16;;;:23;7762:27;;7745:183;;;7810:107;7825:8;:16;;7842:1;7825:19;;;;;;;;;;;;;;;;;;7846:15;;;:18;;-1:-1:-1;;;;;7825:19:0;;;;7862:1;;7846:18;;;;;;;;;;;;;;7866:8;:19;;7886:1;7866:22;;;;;;;;;;;;;;;;;;7810:107;;;;;;;-1:-1:-1;;7810:107:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;7866:22;7810:107;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;7890:8;:18;;7909:1;7890:21;;;;;;;;;;;;;;;;;;7810:107;;;;;;;-1:-1:-1;;7810:107:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;7890:21;7810:107;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;7913:3;7810:14;:107::i;:::-;7791:3;;7745:183;;;-1:-1:-1;7937:12:0;;;:18;;;7970:31;;;;;;7985:10;;7952:3;;7970:31;;3970:94;4012:52;;;;;;9970:150;10043:14;;:::i;:::-;-1:-1:-1;10076:21:0;;;;:9;:21;;;;;;;;-1:-1:-1;;;;;10076:37:0;;;;:30;;:37;;;;;;10069:44;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;;;;;10069:44:0;;;;;;;;9970:150;;;;;:::o;8393:565::-;8481:20;8460:17;8466:10;8460:5;:17::i;:::-;:41;;;;;;;;;8452:123;;;;-1:-1:-1;;;8452:123:0;;;;;;;;;8585:25;8613:21;;;:9;:21;;;;;8644:17;;;:24;;-1:-1:-1;;8644:24:0;;;;;8613:21;8678:231;8699:16;;;:23;8695:27;;8678:231;;;8743:8;;8777:15;;;:18;;-1:-1:-1;;;;;8743:8:0;;;;:27;;8777:15;8793:1;;8777:18;;;;;;;;;;;;;;8797:8;:16;;8814:1;8797:19;;;;;;;;;;;;;;;;;;8818:15;;;:18;;-1:-1:-1;;;;;8797:19:0;;;;8834:1;;8818:18;;;;;;;;;;;;;;8838:8;:19;;8858:1;8838:22;;;;;;;;;;;;;;;8862:8;:18;;8881:1;8862:21;;;;;;;;;;;;;;;8885:8;:12;;;8743:155;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;8:9:-1;5:2;;;30:1;27;20:12;5:2;8743:155:0;;;;8:9:-1;5:2;;;45:16;42:1;39;24:38;77:16;74:1;67:27;5:2;8743:155:0;;;;;;;39:16:-1;36:1;17:17;2:54;101:4;8743:155:0;80:15:-1;;;-1:-1;;76:31;65:43;;120:4;113:20;8743:155:0;;;;;;;;;-1:-1:-1;8724:3:0;;8678:231;;;;8923:28;8940:10;8923:28;;;;;;;;;;;;;;;8393:565;;:::o;11908:820::-;12021:20;12000:17;12006:10;12000:5;:17::i;:::-;:41;;;;;;;;;11992:96;;;;-1:-1:-1;;;11992:96:0;;;;;;;;;12098:25;12126:21;;;:9;:21;;;;;;;;-1:-1:-1;;;;;12183:24:0;;;;:17;;;:24;;;;;;12225:16;;;;:25;12217:83;;;;-1:-1:-1;;;12217:83:0;;;;;;;;;12325:4;;12351:19;;;;12325:46;;-1:-1:-1;;;12325:46:0;;12310:12;;-1:-1:-1;;;;;12325:4:0;;:18;;:46;;12344:5;;12325:46;;;;;;;;;;;;;;;;8:9:-1;5:2;;;30:1;27;20:12;5:2;12325:46:0;;;;8:9:-1;5:2;;;45:16;42:1;39;24:38;77:16;74:1;67:27;5:2;12325:46: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;12325:46:0;;;;;;;;;12310:61;;12386:7;12382:181;;;12429:32;12436:8;:17;;;12455:5;-1:-1:-1;;;;;12429:32:0;:6;:32::i;:::-;12409:17;;;:52;12382:181;;;12516:36;12523:8;:21;;;12546:5;-1:-1:-1;;;;;12516:36:0;:6;:36::i;:::-;12492:21;;;:60;12382:181;12573:23;;12592:4;-1:-1:-1;;12573:23:0;;;;-1:-1:-1;;12606:25:0;12573:23;12606:25;;;;;-1:-1:-1;;12641:21:0;;-1:-1:-1;;;;;12641:21:0;;;;;;12678:43;;;;;;12687:5;;12694:10;;12606:25;;12641:21;;12678:43;;;;;;;;;;11908:820;;;;;;:::o;12734:162::-;12795:4;12820:5;;;12843:6;;;;12835:36;;;;-1:-1:-1;;;12835:36:0;;;;;;;;;12888:1;12734:162;-1:-1:-1;;;12734:162:0:o;12902:146::-;12963:4;12992:1;12987;:6;;12979:40;;;;-1:-1:-1;;;12979:40:0;;;;;;;;;-1:-1:-1;13036:5:0;;;12902:146::o;13054:::-;13159:9;13054:146;:::o;8014:373::-;8148:8;;8186:47;;-1:-1:-1;;;;;8148:8:0;;;;:27;;8186:47;;8197:6;;8205:5;;8212:9;;8223:4;;8229:3;;8186:47;;;;;;;49:4:-1;39:7;30;26:21;22:32;13:7;6:49;8186:47:0;;;8176:58;;;;;;8148:87;;;;;;;;;;;;;;;;;;;;;;;;;;;;8:9:-1;5:2;;;30:1;27;20:12;5:2;8148:87:0;;;;8:9:-1;5:2;;;45:16;42:1;39;24:38;77:16;74:1;67:27;5:2;8148: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;8148:87:0;;;;;;;;;8147:88;8139:169;;;;-1:-1:-1;;;8139:169:0;;;;;;;;;8318:8;;:62;;-1:-1:-1;;;8318:62:0;;-1:-1:-1;;;;;8318:8:0;;;;:25;;:62;;8344:6;;8352:5;;8359:9;;8370:4;;8376:3;;8318:62;;;;;;;;;;;;;;;;;8:9:-1;5:2;;;30:1;27;20:12;5:2;8318:62:0;;;;8:9:-1;5:2;;;45:16;42:1;39;24:38;77:16;74:1;67:27;5:2;8318: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;8318:62:0;;;;;;;;;;8014:373;;;;;:::o;61:13141::-;;;;;;;;;;;;;;;-1:-1:-1;;;;;61:13141:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::o;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;;;;;;61:13141:0;-1:-1:-1;;;;;61:13141:0;;;;;;;;;;;-1:-1:-1;61:13141:0;;;;;;;-1:-1:-1;61:13141:0;;;-1:-1:-1;61:13141:0;:::i;:::-;;;:::o;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;61:13141:0;;;-1:-1:-1;61:13141:0;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;-1:-1:-1;61:13141:0;;;-1:-1:-1;61:13141:0;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;-1:-1:-1;61:13141:0;;;-1:-1:-1;61:13141:0;:::i;:::-;;;;;;;;;-1:-1:-1;61:13141:0;;;;;;;;;;;;;;;;;:::o;:::-;;;;;;;;;;;;;-1:-1:-1;;;;;;61:13141:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;:::o;5:130:-1:-;72:20;;97:33;72:20;97:33;;160:707;;277:3;270:4;262:6;258:17;254:27;244:2;;295:1;292;285:12;244:2;332:6;319:20;354:80;369:64;426:6;369:64;;;354:80;;;345:89;;451:5;476:6;469:5;462:21;506:4;498:6;494:17;484:27;;528:4;523:3;519:14;512:21;;581:6;628:3;620:4;612:6;608:17;603:3;599:27;596:36;593:2;;;645:1;642;635:12;593:2;670:1;655:206;680:6;677:1;674:13;655:206;;;738:3;760:37;793:3;781:10;760:37;;;748:50;;-1:-1;821:4;812:14;;;;840;;;;;702:1;695:9;655:206;;;659:14;237:630;;;;;;;;891:693;;1013:3;1006:4;998:6;994:17;990:27;980:2;;1031:1;1028;1021:12;980:2;1068:6;1055:20;1090:85;1105:69;1167:6;1105:69;;1090:85;1203:21;;;1247:4;1235:17;;;;1081:94;;-1:-1;1260:14;;1235:17;1355:1;1340:238;1365:6;1362:1;1359:13;1340:238;;;1448:3;1435:17;1427:6;1423:30;1472:42;1510:3;1498:10;1472:42;;;1460:55;;-1:-1;1538:4;1529:14;;;;1557;;;;;1387:1;1380:9;1340:238;;1609:696;;1732:3;1725:4;1717:6;1713:17;1709:27;1699:2;;1750:1;1747;1740:12;1699:2;1787:6;1774:20;1809:86;1824:70;1887:6;1824:70;;1809:86;1923:21;;;1967:4;1955:17;;;;1800:95;;-1:-1;1980:14;;1955:17;2075:1;2060:239;2085:6;2082:1;2079:13;2060:239;;;2168:3;2155:17;2147:6;2143:30;2192:43;2231:3;2219:10;2192:43;;;2180:56;;-1:-1;2259:4;2250:14;;;;2278;;;;;2107:1;2100:9;2060:239;;2331:707;;2448:3;2441:4;2433:6;2429:17;2425:27;2415:2;;2466:1;2463;2456:12;2415:2;2503:6;2490:20;2525:80;2540:64;2597:6;2540:64;;2525:80;2516:89;;2622:5;2647:6;2640:5;2633:21;2677:4;2669:6;2665:17;2655:27;;2699:4;2694:3;2690:14;2683:21;;2752:6;2799:3;2791:4;2783:6;2779:17;2774:3;2770:27;2767:36;2764:2;;;2816:1;2813;2806:12;2764:2;2841:1;2826:206;2851:6;2848:1;2845:13;2826:206;;;2909:3;2931:37;2964:3;2952:10;2931:37;;;2919:50;;-1:-1;2992:4;2983:14;;;;3011;;;;;2873:1;2866:9;2826:206;;3046:124;3110:20;;3135:30;3110:20;3135:30;;3177:128;3252:13;;3270:30;3252:13;3270:30;;3312:130;3379:20;;3404:33;3379:20;3404:33;;3449:134;3527:13;;3545:33;3527:13;3545:33;;3591:432;;3688:3;3681:4;3673:6;3669:17;3665:27;3655:2;;3706:1;3703;3696:12;3655:2;3743:6;3730:20;3765:60;3780:44;3817:6;3780:44;;3765:60;3756:69;;3845:6;3838:5;3831:21;3881:4;3873:6;3869:17;3914:4;3907:5;3903:16;3949:3;3940:6;3935:3;3931:16;3928:25;3925:2;;;3966:1;3963;3956:12;3925:2;3976:41;4010:6;4005:3;4000;3976:41;;;3648:375;;;;;;;;4032:442;;4144:3;4137:4;4129:6;4125:17;4121:27;4111:2;;4162:1;4159;4152:12;4111:2;4192:6;4186:13;4214:64;4229:48;4270:6;4229:48;;4214:64;4205:73;;4298:6;4291:5;4284:21;4334:4;4326:6;4322:17;4367:4;4360:5;4356:16;4402:3;4393:6;4388:3;4384:16;4381:25;4378:2;;;4419:1;4416;4409:12;4378:2;4429:39;4461:6;4456:3;4451;4429:39;;5654:126;5719:20;;5744:31;5719:20;5744:31;;5787:132;5864:13;;5882:32;5864:13;5882:32;;5926:241;;6030:2;6018:9;6009:7;6005:23;6001:32;5998:2;;;6046:1;6043;6036:12;5998:2;6081:1;6098:53;6143:7;6123:9;6098:53;;;6088:63;5992:175;-1:-1;;;;5992:175;6174:1415;;;;;;6467:3;6455:9;6446:7;6442:23;6438:33;6435:2;;;6484:1;6481;6474:12;6435:2;6519:31;;6570:18;6559:30;;6556:2;;;6602:1;6599;6592:12;6556:2;6622:78;6692:7;6683:6;6672:9;6668:22;6622:78;;;6612:88;;6498:208;6765:2;6754:9;6750:18;6737:32;6789:18;6781:6;6778:30;6775:2;;;6821:1;6818;6811:12;6775:2;6841:78;6911:7;6902:6;6891:9;6887:22;6841:78;;;6831:88;;6716:209;6984:2;6973:9;6969:18;6956:32;7008:18;7000:6;6997:30;6994:2;;;7040:1;7037;7030:12;6994:2;7060:84;7136:7;7127:6;7116:9;7112:22;7060:84;;;7050:94;;6935:215;7209:2;7198:9;7194:18;7181:32;7233:18;7225:6;7222:30;7219:2;;;7265:1;7262;7255:12;7219:2;7285:83;7360:7;7351:6;7340:9;7336:22;7285:83;;;7275:93;;7160:214;7433:3;7422:9;7418:19;7405:33;7458:18;7450:6;7447:30;7444:2;;;7490:1;7487;7480:12;7444:2;7510:63;7565:7;7556:6;7545:9;7541:22;7510:63;;;7500:73;;7384:195;6429:1160;;;;;;;;;7596:257;;7708:2;7696:9;7687:7;7683:23;7679:32;7676:2;;;7724:1;7721;7714:12;7676:2;7759:1;7776:61;7829:7;7809:9;7776:61;;7860:263;;7975:2;7963:9;7954:7;7950:23;7946:32;7943:2;;;7991:1;7988;7981:12;7943:2;8026:1;8043:64;8099:7;8079:9;8043:64;;8130:360;;8254:2;8242:9;8233:7;8229:23;8225:32;8222:2;;;8270:1;8267;8260:12;8222:2;8305:24;;8349:18;8338:30;;8335:2;;;8381:1;8378;8371:12;8335:2;8401:73;8466:7;8457:6;8446:9;8442:22;8401:73;;8497:241;;8601:2;8589:9;8580:7;8576:23;8572:32;8569:2;;;8617:1;8614;8607:12;8569:2;8652:1;8669:53;8714:7;8694:9;8669:53;;9015:366;;;9136:2;9124:9;9115:7;9111:23;9107:32;9104:2;;;9152:1;9149;9142:12;9104:2;9187:1;9204:53;9249:7;9229:9;9204:53;;;9194:63;;9166:97;9294:2;9312:53;9357:7;9348:6;9337:9;9333:22;9312:53;;;9302:63;;9273:98;9098:283;;;;;;9388:360;;;9506:2;9494:9;9485:7;9481:23;9477:32;9474:2;;;9522:1;9519;9512:12;9474:2;9557:1;9574:53;9619:7;9599:9;9574:53;;;9564:63;;9536:97;9664:2;9682:50;9724:7;9715:6;9704:9;9700:22;9682:50;;9755:733;;;;;;9922:3;9910:9;9901:7;9897:23;9893:33;9890:2;;;9939:1;9936;9929:12;9890:2;9974:1;9991:53;10036:7;10016:9;9991:53;;;9981:63;;9953:97;10081:2;10099:50;10141:7;10132:6;10121:9;10117:22;10099:50;;;10089:60;;10060:95;10186:2;10204:51;10247:7;10238:6;10227:9;10223:22;10204:51;;;10194:61;;10165:96;10292:2;10310:53;10355:7;10346:6;10335:9;10331:22;10310:53;;;10300:63;;10271:98;10400:3;10419:53;10464:7;10455:6;10444:9;10440:22;10419:53;;10495:261;;10609:2;10597:9;10588:7;10584:23;10580:32;10577:2;;;10625:1;10622;10615:12;10577:2;10660:1;10677:63;10732:7;10712:9;10677:63;;10764:173;;10851:46;10893:3;10885:6;10851:46;;;-1:-1;;10926:4;10917:14;;10844:93;10946:177;;11057:60;11113:3;11105:6;11057:60;;11322:173;;11409:46;11451:3;11443:6;11409:46;;11503:142;11594:45;11633:5;11594:45;;;11589:3;11582:58;11576:69;;;11652:103;11725:24;11743:5;11725:24;;11913:690;;12058:54;12106:5;12058:54;;;12125:86;12204:6;12199:3;12125:86;;;12118:93;;12232:56;12282:5;12232:56;;;12308:7;12336:1;12321:260;12346:6;12343:1;12340:13;12321:260;;;12413:6;12407:13;12434:63;12493:3;12478:13;12434:63;;;12427:70;;12514:60;12567:6;12514:60;;;12504:70;-1:-1;;12368:1;12361:9;12321:260;;;-1:-1;12594:3;;12037:566;-1:-1;;;;;12037:566;12638:888;;12793:59;12846:5;12793:59;;;12865:91;12949:6;12944:3;12865:91;;;12858:98;;12979:3;13021:4;13013:6;13009:17;13004:3;13000:27;13048:61;13103:5;13048:61;;;13129:7;13157:1;13142:345;13167:6;13164:1;13161:13;13142:345;;;13229:9;13223:4;13219:20;13214:3;13207:33;13274:6;13268:13;13296:74;13365:4;13350:13;13296:74;;;13288:82;;13387:65;13445:6;13387:65;;;13475:4;13466:14;;;;;13377:75;-1:-1;;13189:1;13182:9;13142:345;;;-1:-1;13500:4;;12772:754;-1:-1;;;;;;;12772:754;13563:896;;13720:60;13774:5;13720:60;;;13793:92;13878:6;13873:3;13793:92;;;13786:99;;13908:3;13950:4;13942:6;13938:17;13933:3;13929:27;13977:62;14033:5;13977:62;;;14059:7;14087:1;14072:348;14097:6;14094:1;14091:13;14072:348;;;14159:9;14153:4;14149:20;14144:3;14137:33;14204:6;14198:13;14226:76;14297:4;14282:13;14226:76;;;14218:84;;14319:66;14378:6;14319:66;;;14408:4;14399:14;;;;;14309:76;-1:-1;;14119:1;14112:9;14072:348;;14498:690;;14643:54;14691:5;14643:54;;;14710:86;14789:6;14784:3;14710:86;;;14703:93;;14817:56;14867:5;14817:56;;;14893:7;14921:1;14906:260;14931:6;14928:1;14925:13;14906:260;;;14998:6;14992:13;15019:63;15078:3;15063:13;15019:63;;;15012:70;;15099:60;15152:6;15099:60;;;15089:70;-1:-1;;14953:1;14946:9;14906:260;;15196:94;15263:21;15278:5;15263:21;;15408:113;15491:24;15509:5;15491:24;;15528:152;15629:45;15649:24;15667:5;15649:24;;;15629:45;;15687:343;;15797:38;15829:5;15797:38;;;15847:70;15910:6;15905:3;15847:70;;;15840:77;;15922:52;15967:6;15962:3;15955:4;15948:5;15944:16;15922:52;;;15995:29;16017:6;15995:29;;;15986:39;;;;15777:253;-1:-1;;;15777:253;16382:818;;16499:5;16493:12;16533:1;16522:9;16518:17;16546:1;16541:247;;;;16799:1;16794:400;;;;16511:683;;16541:247;16619:4;16615:1;16604:9;16600:17;16596:28;16638:70;16701:6;16696:3;16638:70;;;-1:-1;;16727:25;;16715:38;;16631:77;-1:-1;;16776:4;16767:14;;;-1:-1;16541:247;;16794:400;16863:1;16852:9;16848:17;16879:70;16942:6;16937:3;16879:70;;;16872:77;;16971:37;17002:5;16971:37;;;17024:1;17032:130;17046:6;17043:1;17040:13;17032:130;;;17105:14;;17092:11;;;17085:35;17152:1;17139:15;;;;17068:4;17061:12;17032:130;;;17176:11;;;-1:-1;;;16511:683;;16469:731;;;;;;17208:192;17324:70;17388:5;17324:70;;17592:156;17690:52;17736:5;17690:52;;19638:442;;19798:67;19862:2;19857:3;19798:67;;;19898:34;19878:55;;19967:34;19962:2;19953:12;;19946:56;-1:-1;;;20031:2;20022:12;;20015:28;20071:2;20062:12;;19784:296;-1:-1;;19784:296;20089:443;;20249:67;20313:2;20308:3;20249:67;;;20349:34;20329:55;;20418:34;20413:2;20404:12;;20397:56;-1:-1;;;20482:2;20473:12;;20466:29;20523:2;20514:12;;20235:297;-1:-1;;20235:297;20541:398;;20719:84;20801:1;20796:3;20719:84;;;-1:-1;;;20816:87;;20931:1;20922:11;;20705:234;-1:-1;;20705:234;20948:378;;21108:67;21172:2;21167:3;21108:67;;;21208:34;21188:55;;-1:-1;;;21272:2;21263:12;;21256:33;21317:2;21308:12;;21094:232;-1:-1;;21094:232;21335:382;;21495:67;21559:2;21554:3;21495:67;;;21595:34;21575:55;;-1:-1;;;21659:2;21650:12;;21643:37;21708:2;21699:12;;21481:236;-1:-1;;21481:236;21726:463;;21886:67;21950:2;21945:3;21886:67;;;21986:34;21966:55;;22055:34;22050:2;22041:12;;22034:56;22124:27;22119:2;22110:12;;22103:49;22180:2;22171:12;;21872:317;-1:-1;;21872:317;22198:377;;22358:67;22422:2;22417:3;22358:67;;;22458:34;22438:55;;-1:-1;;;22522:2;22513:12;;22506:32;22566:2;22557:12;;22344:231;-1:-1;;22344:231;22584:317;;22744:67;22808:2;22803:3;22744:67;;;-1:-1;;;22824:40;;22892:2;22883:12;;22730:171;-1:-1;;22730:171;22910:477;;23088:85;23170:2;23165:3;23088:85;;;23206:34;23186:55;;23275:34;23270:2;23261:12;;23254:56;-1:-1;;;23339:2;23330:12;;23323:27;23378:2;23369:12;;23074:313;-1:-1;;23074:313;23396:412;;23574:85;23656:2;23651:3;23574:85;;;23692:34;23672:55;;-1:-1;;;23756:2;23747:12;;23740:31;23799:2;23790:12;;23560:248;-1:-1;;23560:248;23817:442;;23977:67;24041:2;24036:3;23977:67;;;24077:34;24057:55;;24146:34;24141:2;24132:12;;24125:56;-1:-1;;;24210:2;24201:12;;24194:28;24250:2;24241:12;;23963:296;-1:-1;;23963:296;24268:384;;24428:67;24492:2;24487:3;24428:67;;;24528:34;24508:55;;-1:-1;;;24592:2;24583:12;;24576:39;24643:2;24634:12;;24414:238;-1:-1;;24414:238;24661:442;;24821:67;24885:2;24880:3;24821:67;;;24921:34;24901:55;;24990:34;24985:2;24976:12;;24969:56;-1:-1;;;25054:2;25045:12;;25038:28;25094:2;25085:12;;24807:296;-1:-1;;24807:296;25112:381;;25272:67;25336:2;25331:3;25272:67;;;25372:34;25352:55;;-1:-1;;;25436:2;25427:12;;25420:36;25484:2;25475:12;;25258:235;-1:-1;;25258:235;25502:373;;25662:67;25726:2;25721:3;25662:67;;;25762:34;25742:55;;-1:-1;;;25826:2;25817:12;;25810:28;25866:2;25857:12;;25648:227;-1:-1;;25648:227;25884:400;;26044:67;26108:2;26103:3;26044:67;;;26144:34;26124:55;;26213:33;26208:2;26199:12;;26192:55;26275:2;26266:12;;26030:254;-1:-1;;26030:254;26293:384;;26453:67;26517:2;26512:3;26453:67;;;26553:34;26533:55;;-1:-1;;;26617:2;26608:12;;26601:39;26668:2;26659:12;;26439:238;-1:-1;;26439:238;26686:462;;26846:67;26910:2;26905:3;26846:67;;;26946:34;26926:55;;27015:34;27010:2;27001:12;;26994:56;27084:26;27079:2;27070:12;;27063:48;27139:2;27130:12;;26832:316;-1:-1;;26832:316;27157:391;;27317:67;27381:2;27376:3;27317:67;;;27417:34;27397:55;;-1:-1;;;27481:2;27472:12;;27465:46;27539:2;27530:12;;27303:245;-1:-1;;27303:245;27557:379;;27717:67;27781:2;27776:3;27717:67;;;27817:34;27797:55;;-1:-1;;;27881:2;27872:12;;27865:34;27927:2;27918:12;;27703:233;-1:-1;;27703:233;27945:321;;28105:67;28169:2;28164:3;28105:67;;;-1:-1;;;28185:44;;28257:2;28248:12;;28091:175;-1:-1;;28091:175;28341:620;28550:23;;28480:4;28471:14;;;28579:57;28475:3;28550:23;28579:57;;;28500:142;28718:4;28711:5;28707:16;28701:23;28730:57;28781:4;28776:3;28772:14;28758:12;28730:57;;;28652:141;28867:4;28860:5;28856:16;28850:23;28879:61;28934:4;28929:3;28925:14;28911:12;28879:61;;;28803:143;28453:508;;;;29198:107;29277:22;29293:5;29277:22;;29312:124;29394:36;29424:5;29394:36;;29443:100;29514:23;29531:5;29514:23;;29550:650;;29805:148;29949:3;29805:148;;;29798:155;;29964:75;30035:3;30026:6;29964:75;;;30061:2;30056:3;30052:12;30045:19;;30075:75;30146:3;30137:6;30075:75;;;-1:-1;30172:2;30163:12;;29786:414;-1:-1;;29786:414;30207:372;;30406:148;30550:3;30406:148;;30586:372;;30785:148;30929:3;30785:148;;30965:340;31119:2;31104:18;;31133:79;31108:9;31185:6;31133:79;;;31223:72;31291:2;31280:9;31276:18;31267:6;31223:72;;31312:324;31458:2;31443:18;;31472:71;31447:9;31516:6;31472:71;;31643:533;31838:3;31823:19;;31853:71;31827:9;31897:6;31853:71;;;31935:72;32003:2;31992:9;31988:18;31979:6;31935:72;;;32018:66;32080:2;32069:9;32065:18;32056:6;32018:66;;;32095:71;32162:2;32151:9;32147:18;32138:6;32095:71;;32183:831;32451:3;32436:19;;32466:71;32440:9;32510:6;32466:71;;;32548:72;32616:2;32605:9;32601:18;32592:6;32548:72;;;32668:9;32662:4;32658:20;32653:2;32642:9;32638:18;32631:48;32693:78;32766:4;32757:6;32693:78;;;32685:86;;32819:9;32813:4;32809:20;32804:2;32793:9;32789:18;32782:48;32844:76;32915:4;32906:6;32844:76;;;32836:84;;32931:73;32999:3;32988:9;32984:19;32975:6;32931:73;;;32422:592;;;;;;;;;33021:819;33283:3;33268:19;;33298:71;33272:9;33342:6;33298:71;;;33380:72;33448:2;33437:9;33433:18;33424:6;33380:72;;;33500:9;33494:4;33490:20;33485:2;33474:9;33470:18;33463:48;33525:75;33595:4;33586:6;33525:75;;;33517:83;;33648:9;33642:4;33638:20;33633:2;33622:9;33618:18;33611:48;33673:73;33741:4;33732:6;33673:73;;33847:1183;34271:3;34286:47;;;34256:19;;34347:108;34256:19;34441:6;34347:108;;;34339:116;;34503:9;34497:4;34493:20;34488:2;34477:9;34473:18;34466:48;34528:108;34631:4;34622:6;34528:108;;;34520:116;;34684:9;34678:4;34674:20;34669:2;34658:9;34654:18;34647:48;34709:120;34824:4;34815:6;34709:120;;;34701:128;;34877:9;34871:4;34867:20;34862:2;34851:9;34847:18;34840:48;34902:118;35015:4;35006:6;34902:118;;35037:213;35155:2;35140:18;;35169:71;35144:9;35213:6;35169:71;;35257:547;35459:3;35444:19;;35474:71;35448:9;35518:6;35474:71;;;35556:72;35624:2;35613:9;35609:18;35600:6;35556:72;;;35639;35707:2;35696:9;35692:18;35683:6;35639:72;;;35722;35790:2;35779:9;35775:18;35766:6;35722:72;;35811:423;35979:2;35964:18;;35993:71;35968:9;36037:6;35993:71;;;36075:72;36143:2;36132:9;36128:18;36119:6;36075:72;;;36158:66;36220:2;36209:9;36205:18;36196:6;36158:66;;36241:539;36439:3;36424:19;;36454:71;36428:9;36498:6;36454:71;;;36536:68;36600:2;36589:9;36585:18;36576:6;36536:68;;;36615:72;36683:2;36672:9;36668:18;36659:6;36615:72;;;36698;36766:2;36755:9;36751:18;36742:6;36698:72;;36787:279;36938:2;36923:18;;36952:104;36927:9;37029:6;36952:104;;37345:243;37478:2;37463:18;;37492:86;37467:9;37551:6;37492:86;;37595:293;37729:2;37743:47;;;37714:18;;37804:74;37714:18;37864:6;37804:74;;37895:407;38086:2;38100:47;;;38071:18;;38161:131;38071:18;38161:131;;38309:407;38500:2;38514:47;;;38485:18;;38575:131;38485:18;38575:131;;38723:407;38914:2;38928:47;;;38899:18;;38989:131;38899:18;38989:131;;39137:407;39328:2;39342:47;;;39313:18;;39403:131;39313:18;39403:131;;39551:407;39742:2;39756:47;;;39727:18;;39817:131;39727:18;39817:131;;39965:407;40156:2;40170:47;;;40141:18;;40231:131;40141:18;40231:131;;40379:407;40570:2;40584:47;;;40555:18;;40645:131;40555:18;40645:131;;40793:407;40984:2;40998:47;;;40969:18;;41059:131;40969:18;41059:131;;41207:407;41398:2;41412:47;;;41383:18;;41473:131;41383:18;41473:131;;41621:407;41812:2;41826:47;;;41797:18;;41887:131;41797:18;41887:131;;42035:407;42226:2;42240:47;;;42211:18;;42301:131;42211:18;42301:131;;42449:407;42640:2;42654:47;;;42625:18;;42715:131;42625:18;42715:131;;42863:407;43054:2;43068:47;;;43039:18;;43129:131;43039:18;43129:131;;43277:407;43468:2;43482:47;;;43453:18;;43543:131;43453:18;43543:131;;43691:407;43882:2;43896:47;;;43867:18;;43957:131;43867:18;43957:131;;44105:407;44296:2;44310:47;;;44281:18;;44371:131;44281:18;44371:131;;44519:407;44710:2;44724:47;;;44695:18;;44785:131;44695:18;44785:131;;44933:407;45124:2;45138:47;;;45109:18;;45199:131;45109:18;45199:131;;45347:305;45511:2;45496:18;;45525:117;45500:9;45615:6;45525:117;;45879:1847;46471:3;46456:19;;46486:71;46460:9;46530:6;46486:71;;;46568:80;46644:2;46633:9;46629:18;46620:6;46568:80;;;46696:9;46690:4;46686:20;46681:2;46670:9;46666:18;46659:48;46721:108;46824:4;46815:6;46721:108;;;46713:116;;46877:9;46871:4;46867:20;46862:2;46851:9;46847:18;46840:48;46902:108;47005:4;46996:6;46902:108;;;46894:116;;47059:9;47053:4;47049:20;47043:3;47032:9;47028:19;47021:49;47084:120;47199:4;47190:6;47084:120;;;47076:128;;47253:9;47247:4;47243:20;47237:3;47226:9;47222:19;47215:49;47278:118;47391:4;47382:6;47278:118;;;47270:126;;47407:73;47475:3;47464:9;47460:19;47451:6;47407:73;;;47491;47559:3;47548:9;47544:19;47535:6;47491:73;;;47613:9;47607:4;47603:20;47597:3;47586:9;47582:19;47575:49;47638:78;47711:4;47702:6;47638:78;;;47630:86;46442:1284;-1:-1;;;;;;;;;;;46442:1284;47733:1083;48063:3;48048:19;;48078:71;48052:9;48122:6;48078:71;;;48160:72;48228:2;48217:9;48213:18;48204:6;48160:72;;;48243;48311:2;48300:9;48296:18;48287:6;48243:72;;;48326;48394:2;48383:9;48379:18;48370:6;48326:72;;;48409:73;48477:3;48466:9;48462:19;48453:6;48409:73;;;48493;48561:3;48550:9;48546:19;48537:6;48493:73;;;48577;48645:3;48634:9;48630:19;48621:6;48577:73;;;48661:67;48723:3;48712:9;48708:19;48699:6;48661:67;;;48739;48801:3;48790:9;48786:19;48777:6;48739:67;;;48034:782;;;;;;;;;;;;;48823:324;48969:2;48954:18;;48983:71;48958:9;49027:6;48983:71;;49154:256;49216:2;49210:9;49242:17;;;49317:18;49302:34;;49338:22;;;49299:62;49296:2;;;49374:1;49371;49364:12;49296:2;49390;49383:22;49194:216;;-1:-1;49194:216;49417:304;;49576:18;49568:6;49565:30;49562:2;;;49608:1;49605;49598:12;49562:2;-1:-1;49643:4;49631:17;;;49696:15;;49499:222;50672:317;;50811:18;50803:6;50800:30;50797:2;;;50843:1;50840;50833:12;50797:2;-1:-1;50974:4;50910;50887:17;;;;-1:-1;;50883:33;50964:15;;50734:255;51978:151;52102:4;52093:14;;52050:79;52621:157;;52715:14;;;52757:4;52744:18;;;52674:104;52950:137;53053:12;;53024:63;54515:178;54633:19;;;54682:4;54673:14;;54626:67;56093:91;;56155:24;56173:5;56155:24;;56191:85;56257:13;56250:21;;56233:43;56362:140;56441:5;56447:50;56441:5;56447:50;;56509:121;-1:-1;;;;;56571:54;;56554:76;56716:81;56787:4;56776:16;;56759:38;56804:104;-1:-1;;;;;56865:38;;56848:60;56915:129;;57002:37;57033:5;57051:187;;57163:70;57227:5;57163:70;;57714:140;;57808:41;57843:5;57808:41;;58104:106;;58182:23;58199:5;58182:23;;58218:145;58299:6;58294:3;58289;58276:30;-1:-1;58355:1;58337:16;;58330:27;58269:94;58372:268;58437:1;58444:101;58458:6;58455:1;58452:13;58444:101;;;58525:11;;;58519:18;58506:11;;;58499:39;58480:2;58473:10;58444:101;;;58560:6;58557:1;58554:13;58551:2;;;-1:-1;;58625:1;58607:16;;58600:27;58421:219;58729:97;58817:2;58797:14;-1:-1;;58793:28;;58777:49;58834:108;58920:1;58913:5;58910:12;58900:2;;58926:9;58949:117;59018:24;59036:5;59018:24;;;59011:5;59008:35;58998:2;;59057:1;59054;59047:12;59073:111;59139:21;59154:5;59139:21;;59191:117;59260:24;59278:5;59260:24;;59439:113;59506:22;59522:5;59506:22;;59559:115;59627:23;59644:5;59627:23;

Swarm Source

bzzr://90bccf0c90c70741ef28ec98a27c6eba47b76f73e37a904d807f5540980cff23

Block Transaction Difficulty Gas Used Reward
View All Blocks Produced

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

OVERVIEW

PoolTogether is a protocol for no-loss prize games.

Validator Index Block Amount
View All Withdrawals

Transaction Hash Block Value Eth2 PubKey Valid
View All Deposits
Loading...
Loading
[ 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.