ETH Price: $3,900.30 (-0.52%)

Token

ERC-20: Lv.Finance (LV)
 

Overview

Max Total Supply

800,000 LV

Holders

31

Market

Onchain Market Cap

$0.00

Circulating Supply Market Cap

-

Other Info

Token Contract (WITH 18 Decimals)

Balance
13.719897988406736053 LV

Value
$0.00
0x11dd414fbf91d7b69dcddec50f26021fc19e3b8d
Loading...
Loading
Loading...
Loading
Loading...
Loading

Click here to update the token information / general information
# Exchange Pair Price  24H Volume % Volume

Contract Source Code Verified (Exact Match)

Contract Name:
LV

Compiler Version
v0.5.17+commit.d19bba13

Optimization Enabled:
Yes with 200 runs

Other Settings:
default evmVersion, MIT license

Contract Source Code (Solidity)

/**
 *Submitted for verification at Etherscan.io on 2020-09-17
*/

pragma solidity 0.5.17;


library SafeMath {
    function add(uint256 a, uint256 b) internal pure returns (uint256) {
        uint256 c = a + b;
        require(c >= a, "SafeMath: addition overflow");

        return c;
    }

    function sub(uint256 a, uint256 b) internal pure returns (uint256) {
        return sub(a, b, "SafeMath: subtraction overflow");
    }
    function sub(uint256 a, uint256 b, string memory errorMessage) internal pure returns (uint256) {
        require(b <= a, errorMessage);
        uint256 c = a - b;

        return c;
    }

    function mul(uint256 a, uint256 b) internal pure returns (uint256) {
        if (a == 0) {
            return 0;
        }

        uint256 c = a * b;
        require(c / a == b, "SafeMath: multiplication overflow");

        return c;
    }

    function div(uint256 a, uint256 b) internal pure returns (uint256) {
        return div(a, b, "SafeMath: division by zero");
    }

    function div(uint256 a, uint256 b, string memory errorMessage) internal pure returns (uint256) {
        require(b > 0, errorMessage);
        uint256 c = a / b;
        return c;
    }

    function mod(uint256 a, uint256 b) internal pure returns (uint256) {
        return mod(a, b, "SafeMath: modulo by zero");
    }

    function mod(uint256 a, uint256 b, string memory errorMessage) internal pure returns (uint256) {
        require(b != 0, errorMessage);
        return a % b;
    }
}

contract LVTokenStorage {

    using SafeMath for uint256;

    bool internal _notEntered;

    string public name;

    string public symbol;

    uint8 public decimals;

    address public gov;

    address public pendingGov;

    address public rebaser;

    address public incentivizer;

    uint256 public totalSupply;

    uint256 public constant internalDecimals = 10**24;

    uint256 public constant BASE = 10**18;

    uint256 public lvsScalingFactor;

    mapping (address => uint256) internal _lvBalances;

    mapping (address => mapping (address => uint256)) internal _allowedFragments;

    uint256 public initSupply;

}

contract LVGovernanceStorage {
    mapping (address => address) internal _delegates;
    struct Checkpoint {
        uint32 fromBlock;
        uint256 votes;
    }

    mapping (address => mapping (uint32 => Checkpoint)) public checkpoints;
    mapping (address => uint32) public numCheckpoints;
    bytes32 public constant DOMAIN_TYPEHASH = keccak256("EIP712Domain(string name,uint256 chainId,address verifyingContract)");
    bytes32 public constant DELEGATION_TYPEHASH = keccak256("Delegation(address delegatee,uint256 nonce,uint256 expiry)");
    mapping (address => uint) public nonces;
}

contract LVTokenInterface is LVTokenStorage, LVGovernanceStorage {
    event DelegateChanged(address indexed delegator, address indexed fromDelegate, address indexed toDelegate);
    event DelegateVotesChanged(address indexed delegate, uint previousBalance, uint newBalance);
    event Rebase(uint256 epoch, uint256 prevLvsScalingFactor, uint256 newLvsScalingFactor);
    event NewPendingGov(address oldPendingGov, address newPendingGov);
    event NewGov(address oldGov, address newGov);
    event NewRebaser(address oldRebaser, address newRebaser);
    event NewIncentivizer(address oldIncentivizer, address newIncentivizer);
    event Transfer(address indexed from, address indexed to, uint amount);
    event Approval(address indexed owner, address indexed spender, uint amount);
    event Mint(address to, uint256 amount);

    function transfer(address to, uint256 value) external returns(bool);
    function transferFrom(address from, address to, uint256 value) external returns(bool);
    function balanceOf(address who) external view returns(uint256);
    function balanceOfUnderlying(address who) external view returns(uint256);
    function allowance(address owner_, address spender) external view returns(uint256);
    function approve(address spender, uint256 value) external returns (bool);
    function increaseAllowance(address spender, uint256 addedValue) external returns (bool);
    function decreaseAllowance(address spender, uint256 subtractedValue) external returns (bool);
    function maxScalingFactor() external view returns (uint256);

    function getPriorVotes(address account, uint blockNumber) external view returns (uint256);
    function delegateBySig(address delegatee, uint nonce, uint expiry, uint8 v, bytes32 r, bytes32 s) external;
    function delegate(address delegatee) external;
    function delegates(address delegator) external view returns (address);
    function getCurrentVotes(address account) external view returns (uint256);

    function mint(address to, uint256 amount) external returns (bool);
    function rebase(uint256 epoch, uint256 indexDelta, bool positive) external returns (uint256);
    function _setRebaser(address rebaser_) external;
    function _setIncentivizer(address incentivizer_) external;
    function _setPendingGov(address pendingGov_) external;
    function _acceptGov() external;
}

contract LVGovernanceToken is LVTokenInterface {
    event DelegateChanged(address indexed delegator, address indexed fromDelegate, address indexed toDelegate);
    event DelegateVotesChanged(address indexed delegate, uint previousBalance, uint newBalance);
    function delegates(address delegator)
        external
        view
        returns (address)
    {
        return _delegates[delegator];
    }

    function delegate(address delegatee) external {
        return _delegate(msg.sender, delegatee);
    }

    function delegateBySig(
        address delegatee,
        uint nonce,
        uint expiry,
        uint8 v,
        bytes32 r,
        bytes32 s
    )
        external
    {
        bytes32 domainSeparator = keccak256(
            abi.encode(
                DOMAIN_TYPEHASH,
                keccak256(bytes(name)),
                getChainId(),
                address(this)
            )
        );

        bytes32 structHash = keccak256(
            abi.encode(
                DELEGATION_TYPEHASH,
                delegatee,
                nonce,
                expiry
            )
        );

        bytes32 digest = keccak256(
            abi.encodePacked(
                "\x19\x01",
                domainSeparator,
                structHash
            )
        );

        address signatory = ecrecover(digest, v, r, s);
        require(signatory != address(0), "LV::delegateBySig: invalid signature");
        require(nonce == nonces[signatory]++, "LV::delegateBySig: invalid nonce");
        require(now <= expiry, "LV::delegateBySig: signature expired");
        return _delegate(signatory, delegatee);
    }
    function getCurrentVotes(address account)
        external
        view
        returns (uint256)
    {
        uint32 nCheckpoints = numCheckpoints[account];
        return nCheckpoints > 0 ? checkpoints[account][nCheckpoints - 1].votes : 0;
    }
    function getPriorVotes(address account, uint blockNumber)
        external
        view
        returns (uint256)
    {
        require(blockNumber < block.number, "LV::getPriorVotes: not yet determined");

        uint32 nCheckpoints = numCheckpoints[account];
        if (nCheckpoints == 0) {
            return 0;
        }

        if (checkpoints[account][nCheckpoints - 1].fromBlock <= blockNumber) {
            return checkpoints[account][nCheckpoints - 1].votes;
        }

        if (checkpoints[account][0].fromBlock > blockNumber) {
            return 0;
        }

        uint32 lower = 0;
        uint32 upper = nCheckpoints - 1;
        while (upper > lower) {
            uint32 center = upper - (upper - lower) / 2; // ceil, avoiding overflow
            Checkpoint memory cp = checkpoints[account][center];
            if (cp.fromBlock == blockNumber) {
                return cp.votes;
            } else if (cp.fromBlock < blockNumber) {
                lower = center;
            } else {
                upper = center - 1;
            }
        }
        return checkpoints[account][lower].votes;
    }

    function _delegate(address delegator, address delegatee)
        internal
    {
        address currentDelegate = _delegates[delegator];
        uint256 delegatorBalance = _lvBalances[delegator]; // balance of underlying LVs (not scaled);
        _delegates[delegator] = delegatee;

        emit DelegateChanged(delegator, currentDelegate, delegatee);

        _moveDelegates(currentDelegate, delegatee, delegatorBalance);
    }

    function _moveDelegates(address srcRep, address dstRep, uint256 amount) internal {
        if (srcRep != dstRep && amount > 0) {
            if (srcRep != address(0)) {
                // decrease old representative
                uint32 srcRepNum = numCheckpoints[srcRep];
                uint256 srcRepOld = srcRepNum > 0 ? checkpoints[srcRep][srcRepNum - 1].votes : 0;
                uint256 srcRepNew = srcRepOld.sub(amount);
                _writeCheckpoint(srcRep, srcRepNum, srcRepOld, srcRepNew);
            }

            if (dstRep != address(0)) {
                // increase new representative
                uint32 dstRepNum = numCheckpoints[dstRep];
                uint256 dstRepOld = dstRepNum > 0 ? checkpoints[dstRep][dstRepNum - 1].votes : 0;
                uint256 dstRepNew = dstRepOld.add(amount);
                _writeCheckpoint(dstRep, dstRepNum, dstRepOld, dstRepNew);
            }
        }
    }

    function _writeCheckpoint(
        address delegatee,
        uint32 nCheckpoints,
        uint256 oldVotes,
        uint256 newVotes
    )
        internal
    {
        uint32 blockNumber = safe32(block.number, "LV::_writeCheckpoint: block number exceeds 32 bits");

        if (nCheckpoints > 0 && checkpoints[delegatee][nCheckpoints - 1].fromBlock == blockNumber) {
            checkpoints[delegatee][nCheckpoints - 1].votes = newVotes;
        } else {
            checkpoints[delegatee][nCheckpoints] = Checkpoint(blockNumber, newVotes);
            numCheckpoints[delegatee] = nCheckpoints + 1;
        }

        emit DelegateVotesChanged(delegatee, oldVotes, newVotes);
    }

    function safe32(uint n, string memory errorMessage) internal pure returns (uint32) {
        require(n < 2**32, errorMessage);
        return uint32(n);
    }

    function getChainId() internal pure returns (uint) {
        uint256 chainId;
        assembly { chainId := chainid() }
        return chainId;
    }
}

contract LVToken is LVGovernanceToken {
    modifier onlyGov() {
        require(msg.sender == gov);
        _;
    }

    modifier onlyRebaser() {
        require(msg.sender == rebaser);
        _;
    }

    modifier onlyMinter() {
        require(msg.sender == rebaser || msg.sender == incentivizer || msg.sender == gov, "not minter");
        _;
    }

    modifier validRecipient(address to) {
        require(to != address(0x0));
        require(to != address(this));
        _;
    }

    function initialize(
        string memory name_,
        string memory symbol_,
        uint8 decimals_
    )
        public
    {
        require(lvsScalingFactor == 0, "already initialized");
        name = name_;
        symbol = symbol_;
        decimals = decimals_;
    }
    function maxScalingFactor()
        external
        view
        returns (uint256)
    {
        return _maxScalingFactor();
    }

    function _maxScalingFactor()
        internal
        view
        returns (uint256)
    {
        return uint256(-1) / initSupply;
    }

    function mint(address to, uint256 amount)
        external
        onlyMinter
        returns (bool)
    {
        _mint(to, amount);
        return true;
    }

    function _mint(address to, uint256 amount)
        internal
    {
      totalSupply = totalSupply.add(amount);
      uint256 lvValue = amount.mul(internalDecimals).div(lvsScalingFactor);
      initSupply = initSupply.add(lvValue);
      require(lvsScalingFactor <= _maxScalingFactor(), "max scaling factor too low");
      _lvBalances[to] = _lvBalances[to].add(lvValue);
      _moveDelegates(address(0), _delegates[to], lvValue);
      emit Mint(to, amount);
    }

    function transfer(address to, uint256 value)
        external
        validRecipient(to)
        returns (bool)
    {
        uint256 lvValue = value.mul(internalDecimals).div(lvsScalingFactor);
        _lvBalances[msg.sender] = _lvBalances[msg.sender].sub(lvValue);
        _lvBalances[to] = _lvBalances[to].add(lvValue);
        emit Transfer(msg.sender, to, value);

        _moveDelegates(_delegates[msg.sender], _delegates[to], lvValue);
        return true;
    }

    function transferFrom(address from, address to, uint256 value)
        external
        validRecipient(to)
        returns (bool)
    {
        _allowedFragments[from][msg.sender] = _allowedFragments[from][msg.sender].sub(value);
        uint256 lvValue = value.mul(internalDecimals).div(lvsScalingFactor);
        _lvBalances[from] = _lvBalances[from].sub(lvValue);
        _lvBalances[to] = _lvBalances[to].add(lvValue);
        emit Transfer(from, to, value);

        _moveDelegates(_delegates[from], _delegates[to], lvValue);
        return true;
    }
    function balanceOf(address who)
      external
      view
      returns (uint256)
    {
      return _lvBalances[who].mul(lvsScalingFactor).div(internalDecimals);
    }
    function balanceOfUnderlying(address who)
      external
      view
      returns (uint256)
    {
      return _lvBalances[who];
    }
    function allowance(address owner_, address spender)
        external
        view
        returns (uint256)
    {
        return _allowedFragments[owner_][spender];
    }

    function approve(address spender, uint256 value)
        external
        returns (bool)
    {
        _allowedFragments[msg.sender][spender] = value;
        emit Approval(msg.sender, spender, value);
        return true;
    }

    function increaseAllowance(address spender, uint256 addedValue)
        external
        returns (bool)
    {
        _allowedFragments[msg.sender][spender] =
            _allowedFragments[msg.sender][spender].add(addedValue);
        emit Approval(msg.sender, spender, _allowedFragments[msg.sender][spender]);
        return true;
    }

    function decreaseAllowance(address spender, uint256 subtractedValue)
        external
        returns (bool)
    {
        uint256 oldValue = _allowedFragments[msg.sender][spender];
        if (subtractedValue >= oldValue) {
            _allowedFragments[msg.sender][spender] = 0;
        } else {
            _allowedFragments[msg.sender][spender] = oldValue.sub(subtractedValue);
        }
        emit Approval(msg.sender, spender, _allowedFragments[msg.sender][spender]);
        return true;
    }

    function _setRebaser(address rebaser_)
        external
        onlyGov
    {
        address oldRebaser = rebaser;
        rebaser = rebaser_;
        emit NewRebaser(oldRebaser, rebaser_);
    }

    function _setIncentivizer(address incentivizer_)
        external
        onlyGov
    {
        address oldIncentivizer = incentivizer;
        incentivizer = incentivizer_;
        emit NewIncentivizer(oldIncentivizer, incentivizer_);
    }

    function _setPendingGov(address pendingGov_)
        external
        onlyGov
    {
        address oldPendingGov = pendingGov;
        pendingGov = pendingGov_;
        emit NewPendingGov(oldPendingGov, pendingGov_);
    }

    function _acceptGov()
        external
    {
        require(msg.sender == pendingGov, "!pending");
        address oldGov = gov;
        gov = pendingGov;
        pendingGov = address(0);
        emit NewGov(oldGov, gov);
    }

    function rebase(
        uint256 epoch,
        uint256 indexDelta,
        bool positive
    )
        external
        onlyRebaser
        returns (uint256)
    {
        if (indexDelta == 0) {
          emit Rebase(epoch, lvsScalingFactor, lvsScalingFactor);
          return totalSupply;
        }

        uint256 prevLvsScalingFactor = lvsScalingFactor;

        if (!positive) {
           lvsScalingFactor = lvsScalingFactor.mul(BASE.sub(indexDelta)).div(BASE);
        } else {
            uint256 newScalingFactor = lvsScalingFactor.mul(BASE.add(indexDelta)).div(BASE);
            if (newScalingFactor < _maxScalingFactor()) {
                lvsScalingFactor = newScalingFactor;
            } else {
              lvsScalingFactor = _maxScalingFactor();
            }
        }

        totalSupply = initSupply.mul(lvsScalingFactor);
        emit Rebase(epoch, prevLvsScalingFactor, lvsScalingFactor);
        return totalSupply;
    }
}

contract LV is LVToken {
    function initialize(
        string memory name_,
        string memory symbol_,
        uint8 decimals_,
        address initial_owner,
        uint256 initSupply_
    )
        public
    {
        require(initSupply_ > 0, "0 init supply");

        super.initialize(name_, symbol_, decimals_);

        initSupply = initSupply_.mul(10**24/ (BASE));
        totalSupply = initSupply_;
        lvsScalingFactor = BASE;
        _lvBalances[initial_owner] = initSupply_.mul(10**24 / (BASE));
    }
}

Contract Security Audit

Contract ABI

[{"anonymous":false,"inputs":[{"indexed":true,"internalType":"address","name":"owner","type":"address"},{"indexed":true,"internalType":"address","name":"spender","type":"address"},{"indexed":false,"internalType":"uint256","name":"amount","type":"uint256"}],"name":"Approval","type":"event"},{"anonymous":false,"inputs":[{"indexed":true,"internalType":"address","name":"delegator","type":"address"},{"indexed":true,"internalType":"address","name":"fromDelegate","type":"address"},{"indexed":true,"internalType":"address","name":"toDelegate","type":"address"}],"name":"DelegateChanged","type":"event"},{"anonymous":false,"inputs":[{"indexed":true,"internalType":"address","name":"delegate","type":"address"},{"indexed":false,"internalType":"uint256","name":"previousBalance","type":"uint256"},{"indexed":false,"internalType":"uint256","name":"newBalance","type":"uint256"}],"name":"DelegateVotesChanged","type":"event"},{"anonymous":false,"inputs":[{"indexed":false,"internalType":"address","name":"to","type":"address"},{"indexed":false,"internalType":"uint256","name":"amount","type":"uint256"}],"name":"Mint","type":"event"},{"anonymous":false,"inputs":[{"indexed":false,"internalType":"address","name":"oldGov","type":"address"},{"indexed":false,"internalType":"address","name":"newGov","type":"address"}],"name":"NewGov","type":"event"},{"anonymous":false,"inputs":[{"indexed":false,"internalType":"address","name":"oldIncentivizer","type":"address"},{"indexed":false,"internalType":"address","name":"newIncentivizer","type":"address"}],"name":"NewIncentivizer","type":"event"},{"anonymous":false,"inputs":[{"indexed":false,"internalType":"address","name":"oldPendingGov","type":"address"},{"indexed":false,"internalType":"address","name":"newPendingGov","type":"address"}],"name":"NewPendingGov","type":"event"},{"anonymous":false,"inputs":[{"indexed":false,"internalType":"address","name":"oldRebaser","type":"address"},{"indexed":false,"internalType":"address","name":"newRebaser","type":"address"}],"name":"NewRebaser","type":"event"},{"anonymous":false,"inputs":[{"indexed":false,"internalType":"uint256","name":"epoch","type":"uint256"},{"indexed":false,"internalType":"uint256","name":"prevLvsScalingFactor","type":"uint256"},{"indexed":false,"internalType":"uint256","name":"newLvsScalingFactor","type":"uint256"}],"name":"Rebase","type":"event"},{"anonymous":false,"inputs":[{"indexed":true,"internalType":"address","name":"from","type":"address"},{"indexed":true,"internalType":"address","name":"to","type":"address"},{"indexed":false,"internalType":"uint256","name":"amount","type":"uint256"}],"name":"Transfer","type":"event"},{"constant":true,"inputs":[],"name":"BASE","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":true,"inputs":[],"name":"DELEGATION_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":[],"name":"_acceptGov","outputs":[],"payable":false,"stateMutability":"nonpayable","type":"function"},{"constant":false,"inputs":[{"internalType":"address","name":"incentivizer_","type":"address"}],"name":"_setIncentivizer","outputs":[],"payable":false,"stateMutability":"nonpayable","type":"function"},{"constant":false,"inputs":[{"internalType":"address","name":"pendingGov_","type":"address"}],"name":"_setPendingGov","outputs":[],"payable":false,"stateMutability":"nonpayable","type":"function"},{"constant":false,"inputs":[{"internalType":"address","name":"rebaser_","type":"address"}],"name":"_setRebaser","outputs":[],"payable":false,"stateMutability":"nonpayable","type":"function"},{"constant":true,"inputs":[{"internalType":"address","name":"owner_","type":"address"},{"internalType":"address","name":"spender","type":"address"}],"name":"allowance","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":false,"inputs":[{"internalType":"address","name":"spender","type":"address"},{"internalType":"uint256","name":"value","type":"uint256"}],"name":"approve","outputs":[{"internalType":"bool","name":"","type":"bool"}],"payable":false,"stateMutability":"nonpayable","type":"function"},{"constant":true,"inputs":[{"internalType":"address","name":"who","type":"address"}],"name":"balanceOf","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":true,"inputs":[{"internalType":"address","name":"who","type":"address"}],"name":"balanceOfUnderlying","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":true,"inputs":[{"internalType":"address","name":"","type":"address"},{"internalType":"uint32","name":"","type":"uint32"}],"name":"checkpoints","outputs":[{"internalType":"uint32","name":"fromBlock","type":"uint32"},{"internalType":"uint256","name":"votes","type":"uint256"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":true,"inputs":[],"name":"decimals","outputs":[{"internalType":"uint8","name":"","type":"uint8"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":false,"inputs":[{"internalType":"address","name":"spender","type":"address"},{"internalType":"uint256","name":"subtractedValue","type":"uint256"}],"name":"decreaseAllowance","outputs":[{"internalType":"bool","name":"","type":"bool"}],"payable":false,"stateMutability":"nonpayable","type":"function"},{"constant":false,"inputs":[{"internalType":"address","name":"delegatee","type":"address"}],"name":"delegate","outputs":[],"payable":false,"stateMutability":"nonpayable","type":"function"},{"constant":false,"inputs":[{"internalType":"address","name":"delegatee","type":"address"},{"internalType":"uint256","name":"nonce","type":"uint256"},{"internalType":"uint256","name":"expiry","type":"uint256"},{"internalType":"uint8","name":"v","type":"uint8"},{"internalType":"bytes32","name":"r","type":"bytes32"},{"internalType":"bytes32","name":"s","type":"bytes32"}],"name":"delegateBySig","outputs":[],"payable":false,"stateMutability":"nonpayable","type":"function"},{"constant":true,"inputs":[{"internalType":"address","name":"delegator","type":"address"}],"name":"delegates","outputs":[{"internalType":"address","name":"","type":"address"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":true,"inputs":[{"internalType":"address","name":"account","type":"address"}],"name":"getCurrentVotes","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":true,"inputs":[{"internalType":"address","name":"account","type":"address"},{"internalType":"uint256","name":"blockNumber","type":"uint256"}],"name":"getPriorVotes","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":true,"inputs":[],"name":"gov","outputs":[{"internalType":"address","name":"","type":"address"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":true,"inputs":[],"name":"incentivizer","outputs":[{"internalType":"address","name":"","type":"address"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":false,"inputs":[{"internalType":"address","name":"spender","type":"address"},{"internalType":"uint256","name":"addedValue","type":"uint256"}],"name":"increaseAllowance","outputs":[{"internalType":"bool","name":"","type":"bool"}],"payable":false,"stateMutability":"nonpayable","type":"function"},{"constant":true,"inputs":[],"name":"initSupply","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":false,"inputs":[{"internalType":"string","name":"name_","type":"string"},{"internalType":"string","name":"symbol_","type":"string"},{"internalType":"uint8","name":"decimals_","type":"uint8"}],"name":"initialize","outputs":[],"payable":false,"stateMutability":"nonpayable","type":"function"},{"constant":false,"inputs":[{"internalType":"string","name":"name_","type":"string"},{"internalType":"string","name":"symbol_","type":"string"},{"internalType":"uint8","name":"decimals_","type":"uint8"},{"internalType":"address","name":"initial_owner","type":"address"},{"internalType":"uint256","name":"initSupply_","type":"uint256"}],"name":"initialize","outputs":[],"payable":false,"stateMutability":"nonpayable","type":"function"},{"constant":true,"inputs":[],"name":"internalDecimals","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":true,"inputs":[],"name":"lvsScalingFactor","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":true,"inputs":[],"name":"maxScalingFactor","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":false,"inputs":[{"internalType":"address","name":"to","type":"address"},{"internalType":"uint256","name":"amount","type":"uint256"}],"name":"mint","outputs":[{"internalType":"bool","name":"","type":"bool"}],"payable":false,"stateMutability":"nonpayable","type":"function"},{"constant":true,"inputs":[],"name":"name","outputs":[{"internalType":"string","name":"","type":"string"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":true,"inputs":[{"internalType":"address","name":"","type":"address"}],"name":"nonces","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":true,"inputs":[{"internalType":"address","name":"","type":"address"}],"name":"numCheckpoints","outputs":[{"internalType":"uint32","name":"","type":"uint32"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":true,"inputs":[],"name":"pendingGov","outputs":[{"internalType":"address","name":"","type":"address"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":false,"inputs":[{"internalType":"uint256","name":"epoch","type":"uint256"},{"internalType":"uint256","name":"indexDelta","type":"uint256"},{"internalType":"bool","name":"positive","type":"bool"}],"name":"rebase","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"payable":false,"stateMutability":"nonpayable","type":"function"},{"constant":true,"inputs":[],"name":"rebaser","outputs":[{"internalType":"address","name":"","type":"address"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":true,"inputs":[],"name":"symbol","outputs":[{"internalType":"string","name":"","type":"string"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":true,"inputs":[],"name":"totalSupply","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":false,"inputs":[{"internalType":"address","name":"to","type":"address"},{"internalType":"uint256","name":"value","type":"uint256"}],"name":"transfer","outputs":[{"internalType":"bool","name":"","type":"bool"}],"payable":false,"stateMutability":"nonpayable","type":"function"},{"constant":false,"inputs":[{"internalType":"address","name":"from","type":"address"},{"internalType":"address","name":"to","type":"address"},{"internalType":"uint256","name":"value","type":"uint256"}],"name":"transferFrom","outputs":[{"internalType":"bool","name":"","type":"bool"}],"payable":false,"stateMutability":"nonpayable","type":"function"}]

608060405234801561001057600080fd5b50612563806100206000396000f3fe608060405234801561001057600080fd5b506004361061023d5760003560e01c80636fc6407c1161013b578063a457c2d7116100b8578063e7a324dc1161007c578063e7a324dc14610934578063ec342ad01461093c578063ee02a9ef14610944578063f1127ed81461094c578063fa8f34551461099e5761023d565b8063a457c2d714610841578063a9059cbb1461086d578063b4b5ea5714610899578063c3cda520146108bf578063dd62ed3e146109065761023d565b80637af548c1116100ff5780637af548c1146107ba5780637ecebe00146107e557806395d89b411461080b57806397d63f931461081357806398dca2101461081b5761023d565b80636fc6407c146106fb5780636fcfff451461070357806370a082311461074257806373f03dff14610768578063782d6fe11461078e5761023d565b806325240810116101c95780634bda2e201161018d5780634bda2e201461055f578063587cde1e146105675780635c19a95c1461058d57806364dd48f5146105b35780636c945221146105bb5761023d565b806325240810146104bb578063313ce567146104c357806339509351146104e15780633af9e6691461050d57806340c10f19146105335761023d565b806312d43a511161021057806312d43a511461033d5780631624f6c61461034557806318160ddd1461047557806320606b701461047d57806323b872dd146104855761023d565b806306fdde0314610242578063095ea7b3146102bf57806311d3e6c4146102ff57806311fd8a8314610319575b600080fd5b61024a6109c4565b6040805160208082528351818301528351919283929083019185019080838360005b8381101561028457818101518382015260200161026c565b50505050905090810190601f1680156102b15780820380516001836020036101000a031916815260200191505b509250505060405180910390f35b6102eb600480360360408110156102d557600080fd5b506001600160a01b038135169060200135610a51565b604080519115158252519081900360200190f35b610307610ab8565b60408051918252519081900360200190f35b610321610ac8565b604080516001600160a01b039092168252519081900360200190f35b610321610ad7565b6104736004803603606081101561035b57600080fd5b810190602081018135600160201b81111561037557600080fd5b82018360208201111561038757600080fd5b803590602001918460018302840111600160201b831117156103a857600080fd5b91908080601f0160208091040260200160405190810160405280939291908181526020018383808284376000920191909152509295949360208101935035915050600160201b8111156103fa57600080fd5b82018360208201111561040c57600080fd5b803590602001918460018302840111600160201b8311171561042d57600080fd5b91908080601f0160208091040260200160405190810160405280939291908181526020018383808284376000920191909152509295505050903560ff169150610aeb9050565b005b610307610b76565b610307610b7c565b6102eb6004803603606081101561049b57600080fd5b506001600160a01b03813581169160208101359091169060400135610b97565b610321610d41565b6104cb610d50565b6040805160ff9092168252519081900360200190f35b6102eb600480360360408110156104f757600080fd5b506001600160a01b038135169060200135610d59565b6103076004803603602081101561052357600080fd5b50356001600160a01b0316610df2565b6102eb6004803603604081101561054957600080fd5b506001600160a01b038135169060200135610e0d565b610473610e9e565b6103216004803603602081101561057d57600080fd5b50356001600160a01b0316610f69565b610473600480360360208110156105a357600080fd5b50356001600160a01b0316610f87565b610307610f94565b610473600480360360a08110156105d157600080fd5b810190602081018135600160201b8111156105eb57600080fd5b8201836020820111156105fd57600080fd5b803590602001918460018302840111600160201b8311171561061e57600080fd5b91908080601f0160208091040260200160405190810160405280939291908181526020018383808284376000920191909152509295949360208101935035915050600160201b81111561067057600080fd5b82018360208201111561068257600080fd5b803590602001918460018302840111600160201b831117156106a357600080fd5b91908080601f0160208091040260200160405190810160405280939291908181526020018383808284376000920191909152509295505050813560ff1692505060208101356001600160a01b03169060400135610fa2565b610321611066565b6107296004803603602081101561071957600080fd5b50356001600160a01b0316611075565b6040805163ffffffff9092168252519081900360200190f35b6103076004803603602081101561075857600080fd5b50356001600160a01b031661108d565b6104736004803603602081101561077e57600080fd5b50356001600160a01b03166110cb565b610307600480360360408110156107a457600080fd5b506001600160a01b03813516906020013561114a565b610307600480360360608110156107d057600080fd5b50803590602081013590604001351515611352565b610307600480360360208110156107fb57600080fd5b50356001600160a01b03166114ad565b61024a6114bf565b610307611517565b6104736004803603602081101561083157600080fd5b50356001600160a01b031661151d565b6102eb6004803603604081101561085757600080fd5b506001600160a01b03813516906020013561159c565b6102eb6004803603604081101561088357600080fd5b506001600160a01b03813516906020013561168b565b610307600480360360208110156108af57600080fd5b50356001600160a01b03166117c1565b610473600480360360c08110156108d557600080fd5b506001600160a01b038135169060208101359060408101359060ff6060820135169060808101359060a00135611824565b6103076004803603604081101561091c57600080fd5b506001600160a01b0381358116916020013516611b0b565b610307611b36565b610307611b51565b610307611b5d565b61097e6004803603604081101561096257600080fd5b5080356001600160a01b0316906020013563ffffffff16611b63565b6040805163ffffffff909316835260208301919091528051918290030190f35b610473600480360360208110156109b457600080fd5b50356001600160a01b0316611b90565b60018054604080516020600284861615610100026000190190941693909304601f81018490048402820184019092528181529291830182828015610a495780601f10610a1e57610100808354040283529160200191610a49565b820191906000526020600020905b815481529060010190602001808311610a2c57829003601f168201915b505050505081565b336000818152600a602090815260408083206001600160a01b038716808552908352818420869055815186815291519394909390927f8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b925928290030190a35060015b92915050565b6000610ac2611c0f565b90505b90565b6005546001600160a01b031681565b60035461010090046001600160a01b031681565b60085415610b36576040805162461bcd60e51b8152602060048201526013602482015272185b1c9958591e481a5b9a5d1a585b1a5e9959606a1b604482015290519081900360640190fd5b8251610b49906001906020860190612342565b508151610b5d906002906020850190612342565b506003805460ff191660ff929092169190911790555050565b60075481565b60405180604361242482396043019050604051809103902081565b6000826001600160a01b038116610bad57600080fd5b6001600160a01b038116301415610bc357600080fd5b6001600160a01b0385166000908152600a60209081526040808320338452909152902054610bf7908463ffffffff611c2416565b6001600160a01b0386166000908152600a60209081526040808320338452909152812091909155600854610c4b90610c3f8669d3c21bcecceda100000063ffffffff611c6616565b9063ffffffff611cbf16565b6001600160a01b038716600090815260096020526040902054909150610c77908263ffffffff611c2416565b6001600160a01b038088166000908152600960205260408082209390935590871681522054610cac908263ffffffff611d0116565b6001600160a01b0380871660008181526009602090815260409182902094909455805188815290519193928a16927fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef92918290030190a36001600160a01b038087166000908152600c6020526040808220548884168352912054610d3592918216911683611d5b565b50600195945050505050565b6004546001600160a01b031681565b60035460ff1681565b336000908152600a602090815260408083206001600160a01b0386168452909152812054610d8d908363ffffffff611d0116565b336000818152600a602090815260408083206001600160a01b0389168085529083529281902085905580519485525191937f8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b925929081900390910190a350600192915050565b6001600160a01b031660009081526009602052604090205490565b6005546000906001600160a01b0316331480610e3357506006546001600160a01b031633145b80610e4d575060035461010090046001600160a01b031633145b610e8b576040805162461bcd60e51b815260206004820152600a6024820152693737ba1036b4b73a32b960b11b604482015290519081900360640190fd5b610e958383611ea9565b50600192915050565b6004546001600160a01b03163314610ee8576040805162461bcd60e51b81526020600482015260086024820152672170656e64696e6760c01b604482015290519081900360640190fd5b60038054600480546001600160a01b03818116610100908102610100600160a81b0319861617958690556001600160a01b031990921690925560408051938290048316808552919094049091166020830152825190927f1f14cfc03e486d23acee577b07bc0b3b23f4888c91fcdba5e0fef5a2549d5523928290030190a150565b6001600160a01b039081166000908152600c60205260409020541690565b610f913382612000565b50565b69d3c21bcecceda100000081565b60008111610fe7576040805162461bcd60e51b815260206004820152600d60248201526c3020696e697420737570706c7960981b604482015290519081900360640190fd5b610ff2858585610aeb565b611019670de0b6b3a764000069d3c21bcecceda10000005b8391900463ffffffff611c6616565b600b556007819055670de0b6b3a764000060088190556110439069d3c21bcecceda100000061100a565b6001600160a01b0390921660009081526009602052604090209190915550505050565b6006546001600160a01b031681565b600e6020526000908152604090205463ffffffff1681565b6008546001600160a01b0382166000908152600960205260408120549091610ab29169d3c21bcecceda100000091610c3f919063ffffffff611c6616565b60035461010090046001600160a01b031633146110e757600080fd5b600480546001600160a01b038381166001600160a01b0319831681179093556040805191909216808252602082019390935281517f6163d5b9efd962645dd649e6e48a61bcb0f9df00997a2398b80d135a9ab0c61e929181900390910190a15050565b600043821061118a5760405162461bcd60e51b81526004018080602001828103825260258152602001806124886025913960400191505060405180910390fd5b6001600160a01b0383166000908152600e602052604090205463ffffffff16806111b8576000915050610ab2565b6001600160a01b0384166000908152600d6020908152604080832063ffffffff600019860181168552925290912054168310611227576001600160a01b0384166000908152600d602090815260408083206000199490940163ffffffff16835292905220600101549050610ab2565b6001600160a01b0384166000908152600d6020908152604080832083805290915290205463ffffffff16831015611262576000915050610ab2565b600060001982015b8163ffffffff168163ffffffff16111561131b57600282820363ffffffff160481036112946123c0565b506001600160a01b0387166000908152600d6020908152604080832063ffffffff8086168552908352928190208151808301909252805490931680825260019093015491810191909152908714156112f657602001519450610ab29350505050565b805163ffffffff1687111561130d57819350611314565b6001820392505b505061126a565b506001600160a01b0385166000908152600d6020908152604080832063ffffffff9094168352929052206001015491505092915050565b6005546000906001600160a01b0316331461136c57600080fd5b826113bd57600854604080518681526020810183905280820192909252517fc6642d24d84e7f3d36ca39f5cce10e75639d9b158d5193aa350e2f900653e4c09181900360600190a1506007546114a6565b600854826113fb576113f3670de0b6b3a7640000610c3f6113e4828863ffffffff611c2416565b6008549063ffffffff611c6616565b600855611445565b600061141c670de0b6b3a7640000610c3f6113e4828963ffffffff611d0116565b9050611426611c0f565b811015611437576008819055611443565b61143f611c0f565b6008555b505b600854600b5461145a9163ffffffff611c6616565b600755600854604080518781526020810184905280820192909252517fc6642d24d84e7f3d36ca39f5cce10e75639d9b158d5193aa350e2f900653e4c09181900360600190a150506007545b9392505050565b600f6020526000908152604090205481565b6002805460408051602060018416156101000260001901909316849004601f81018490048402820184019092528181529291830182828015610a495780601f10610a1e57610100808354040283529160200191610a49565b600b5481565b60035461010090046001600160a01b0316331461153957600080fd5b600680546001600160a01b038381166001600160a01b0319831681179093556040805191909216808252602082019390935281517f2ee668ca7d17a9122dc00c0bfd73b684f2f7d681f17733cc02b294f69f1b3896929181900390910190a15050565b336000908152600a602090815260408083206001600160a01b03861684529091528120548083106115f057336000908152600a602090815260408083206001600160a01b0388168452909152812055611625565b611600818463ffffffff611c2416565b336000908152600a602090815260408083206001600160a01b03891684529091529020555b336000818152600a602090815260408083206001600160a01b0389168085529083529281902054815190815290519293927f8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b925929181900390910190a35060019392505050565b6000826001600160a01b0381166116a157600080fd5b6001600160a01b0381163014156116b757600080fd5b6008546000906116db90610c3f8669d3c21bcecceda100000063ffffffff611c6616565b336000908152600960205260409020549091506116fe908263ffffffff611c2416565b33600090815260096020526040808220929092556001600160a01b03871681522054611730908263ffffffff611d0116565b6001600160a01b0386166000818152600960209081526040918290209390935580518781529051919233927fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef9281900390910190a3336000908152600c6020526040808220546001600160a01b03888116845291909220546117b6928216911683611d5b565b506001949350505050565b6001600160a01b0381166000908152600e602052604081205463ffffffff16806117ec5760006114a6565b6001600160a01b0383166000908152600d6020908152604080832063ffffffff60001986011684529091529020600101549392505050565b6000604051808061242460439139604301905060405180910390206001604051808280546001816001161561010002031660029004801561189c5780601f1061187a57610100808354040283529182019161189c565b820191906000526020600020905b815481529060010190602001808311611888575b505091505060405180910390206118b1612080565b3060405160200180858152602001848152602001838152602001826001600160a01b03166001600160a01b03168152602001945050505050604051602081830303815290604052805190602001209050600060405180806124d1603a91396040805191829003603a0182206020808401919091526001600160a01b038c1683830152606083018b905260808084018b90528251808503909101815260a08401835280519082012061190160f01b60c085015260c2840187905260e2808501829052835180860390910181526101028501808552815191840191909120600091829052610122860180865281905260ff8c1661014287015261016286018b905261018286018a9052935191965092945091926001926101a28083019392601f198301929081900390910190855afa1580156119ef573d6000803e3d6000fd5b5050604051601f1901519150506001600160a01b038116611a415760405162461bcd60e51b815260040180806020018281038252602481526020018061250b6024913960400191505060405180910390fd5b6001600160a01b0381166000908152600f602052604090208054600181019091558914611ab5576040805162461bcd60e51b815260206004820181905260248201527f4c563a3a64656c656761746542795369673a20696e76616c6964206e6f6e6365604482015290519081900360640190fd5b87421115611af45760405162461bcd60e51b81526004018080602001828103825260248152602001806124ad6024913960400191505060405180910390fd5b611afe818b612000565b505050505b505050505050565b6001600160a01b039182166000908152600a6020908152604080832093909416825291909152205490565b60405180603a6124d18239603a019050604051809103902081565b670de0b6b3a764000081565b60085481565b600d6020908152600092835260408084209091529082529020805460019091015463ffffffff9091169082565b60035461010090046001600160a01b03163314611bac57600080fd5b600580546001600160a01b038381166001600160a01b0319831681179093556040805191909216808252602082019390935281517f51f448520e2183de499e224808a409ee01a1f380edb2e8497572320c15030545929181900390910190a15050565b6000600b5460001981611c1e57fe5b04905090565b60006114a683836040518060400160405280601e81526020017f536166654d6174683a207375627472616374696f6e206f766572666c6f770000815250612084565b600082611c7557506000610ab2565b82820282848281611c8257fe5b04146114a65760405162461bcd60e51b81526004018080602001828103825260218152602001806124676021913960400191505060405180910390fd5b60006114a683836040518060400160405280601a81526020017f536166654d6174683a206469766973696f6e206279207a65726f00000000000081525061211b565b6000828201838110156114a6576040805162461bcd60e51b815260206004820152601b60248201527f536166654d6174683a206164646974696f6e206f766572666c6f770000000000604482015290519081900360640190fd5b816001600160a01b0316836001600160a01b031614158015611d7d5750600081115b15611ea4576001600160a01b03831615611e15576001600160a01b0383166000908152600e602052604081205463ffffffff169081611dbd576000611def565b6001600160a01b0385166000908152600d6020908152604080832063ffffffff60001987011684529091529020600101545b90506000611e03828563ffffffff611c2416565b9050611e1186848484612180565b5050505b6001600160a01b03821615611ea4576001600160a01b0382166000908152600e602052604081205463ffffffff169081611e50576000611e82565b6001600160a01b0384166000908152600d6020908152604080832063ffffffff60001987011684529091529020600101545b90506000611e96828563ffffffff611d0116565b9050611b0385848484612180565b505050565b600754611ebc908263ffffffff611d0116565b600755600854600090611ee390610c3f8469d3c21bcecceda100000063ffffffff611c6616565b600b54909150611ef9908263ffffffff611d0116565b600b55611f04611c0f565b6008541115611f5a576040805162461bcd60e51b815260206004820152601a60248201527f6d6178207363616c696e6720666163746f7220746f6f206c6f77000000000000604482015290519081900360640190fd5b6001600160a01b038316600090815260096020526040902054611f83908263ffffffff611d0116565b6001600160a01b03808516600090815260096020908152604080832094909455600c905291822054611fb792911683611d5b565b604080516001600160a01b03851681526020810184905281517f0f6798a560793a54c3bcfe86a93cde1e73087d944c0ea20544137d4121396885929181900390910190a1505050565b6001600160a01b038083166000818152600c6020818152604080842080546009845282862054949093528787166001600160a01b03198416811790915590519190951694919391928592917f3134e8a2e6d97e929a7e54011ea5485d7d196dd5f0ba4d4ef95803e8e3fc257f9190a461207a828483611d5b565b50505050565b4690565b600081848411156121135760405162461bcd60e51b81526004018080602001828103825283818151815260200191508051906020019080838360005b838110156120d85781810151838201526020016120c0565b50505050905090810190601f1680156121055780820380516001836020036101000a031916815260200191505b509250505060405180910390fd5b505050900390565b6000818361216a5760405162461bcd60e51b81526020600482018181528351602484015283519092839260449091019190850190808383600083156120d85781810151838201526020016120c0565b50600083858161217657fe5b0495945050505050565b60006121a4436040518060600160405280603281526020016123f2603291396122e5565b905060008463ffffffff161180156121ed57506001600160a01b0385166000908152600d6020908152604080832063ffffffff6000198901811685529252909120548282169116145b1561222a576001600160a01b0385166000908152600d6020908152604080832063ffffffff6000198901168452909152902060010182905561229b565b60408051808201825263ffffffff808416825260208083018681526001600160a01b038a166000818152600d84528681208b8616825284528681209551865490861663ffffffff199182161787559251600196870155908152600e9092529390208054928801909116919092161790555b604080518481526020810184905281516001600160a01b038816927fdec2bacdd2f05b59de34da9b523dff8be42e5e38e818c82fdb0bae774387a724928290030190a25050505050565b600081600160201b841061233a5760405162461bcd60e51b81526020600482018181528351602484015283519092839260449091019190850190808383600083156120d85781810151838201526020016120c0565b509192915050565b828054600181600116156101000203166002900490600052602060002090601f016020900481019282601f1061238357805160ff19168380011785556123b0565b828001600101855582156123b0579182015b828111156123b0578251825591602001919060010190612395565b506123bc9291506123d7565b5090565b604080518082019091526000808252602082015290565b610ac591905b808211156123bc57600081556001016123dd56fe4c563a3a5f7772697465436865636b706f696e743a20626c6f636b206e756d62657220657863656564732033322062697473454950373132446f6d61696e28737472696e67206e616d652c75696e7432353620636861696e49642c6164647265737320766572696679696e67436f6e747261637429536166654d6174683a206d756c7469706c69636174696f6e206f766572666c6f774c563a3a6765745072696f72566f7465733a206e6f74207965742064657465726d696e65644c563a3a64656c656761746542795369673a207369676e6174757265206578706972656444656c65676174696f6e28616464726573732064656c6567617465652c75696e74323536206e6f6e63652c75696e7432353620657870697279294c563a3a64656c656761746542795369673a20696e76616c6964207369676e6174757265a265627a7a72315820af15ad4a67d2e6dda41fe36488a5b57237e8795146fd96728f535ea458fb1fe064736f6c63430005110032

Deployed Bytecode

0x608060405234801561001057600080fd5b506004361061023d5760003560e01c80636fc6407c1161013b578063a457c2d7116100b8578063e7a324dc1161007c578063e7a324dc14610934578063ec342ad01461093c578063ee02a9ef14610944578063f1127ed81461094c578063fa8f34551461099e5761023d565b8063a457c2d714610841578063a9059cbb1461086d578063b4b5ea5714610899578063c3cda520146108bf578063dd62ed3e146109065761023d565b80637af548c1116100ff5780637af548c1146107ba5780637ecebe00146107e557806395d89b411461080b57806397d63f931461081357806398dca2101461081b5761023d565b80636fc6407c146106fb5780636fcfff451461070357806370a082311461074257806373f03dff14610768578063782d6fe11461078e5761023d565b806325240810116101c95780634bda2e201161018d5780634bda2e201461055f578063587cde1e146105675780635c19a95c1461058d57806364dd48f5146105b35780636c945221146105bb5761023d565b806325240810146104bb578063313ce567146104c357806339509351146104e15780633af9e6691461050d57806340c10f19146105335761023d565b806312d43a511161021057806312d43a511461033d5780631624f6c61461034557806318160ddd1461047557806320606b701461047d57806323b872dd146104855761023d565b806306fdde0314610242578063095ea7b3146102bf57806311d3e6c4146102ff57806311fd8a8314610319575b600080fd5b61024a6109c4565b6040805160208082528351818301528351919283929083019185019080838360005b8381101561028457818101518382015260200161026c565b50505050905090810190601f1680156102b15780820380516001836020036101000a031916815260200191505b509250505060405180910390f35b6102eb600480360360408110156102d557600080fd5b506001600160a01b038135169060200135610a51565b604080519115158252519081900360200190f35b610307610ab8565b60408051918252519081900360200190f35b610321610ac8565b604080516001600160a01b039092168252519081900360200190f35b610321610ad7565b6104736004803603606081101561035b57600080fd5b810190602081018135600160201b81111561037557600080fd5b82018360208201111561038757600080fd5b803590602001918460018302840111600160201b831117156103a857600080fd5b91908080601f0160208091040260200160405190810160405280939291908181526020018383808284376000920191909152509295949360208101935035915050600160201b8111156103fa57600080fd5b82018360208201111561040c57600080fd5b803590602001918460018302840111600160201b8311171561042d57600080fd5b91908080601f0160208091040260200160405190810160405280939291908181526020018383808284376000920191909152509295505050903560ff169150610aeb9050565b005b610307610b76565b610307610b7c565b6102eb6004803603606081101561049b57600080fd5b506001600160a01b03813581169160208101359091169060400135610b97565b610321610d41565b6104cb610d50565b6040805160ff9092168252519081900360200190f35b6102eb600480360360408110156104f757600080fd5b506001600160a01b038135169060200135610d59565b6103076004803603602081101561052357600080fd5b50356001600160a01b0316610df2565b6102eb6004803603604081101561054957600080fd5b506001600160a01b038135169060200135610e0d565b610473610e9e565b6103216004803603602081101561057d57600080fd5b50356001600160a01b0316610f69565b610473600480360360208110156105a357600080fd5b50356001600160a01b0316610f87565b610307610f94565b610473600480360360a08110156105d157600080fd5b810190602081018135600160201b8111156105eb57600080fd5b8201836020820111156105fd57600080fd5b803590602001918460018302840111600160201b8311171561061e57600080fd5b91908080601f0160208091040260200160405190810160405280939291908181526020018383808284376000920191909152509295949360208101935035915050600160201b81111561067057600080fd5b82018360208201111561068257600080fd5b803590602001918460018302840111600160201b831117156106a357600080fd5b91908080601f0160208091040260200160405190810160405280939291908181526020018383808284376000920191909152509295505050813560ff1692505060208101356001600160a01b03169060400135610fa2565b610321611066565b6107296004803603602081101561071957600080fd5b50356001600160a01b0316611075565b6040805163ffffffff9092168252519081900360200190f35b6103076004803603602081101561075857600080fd5b50356001600160a01b031661108d565b6104736004803603602081101561077e57600080fd5b50356001600160a01b03166110cb565b610307600480360360408110156107a457600080fd5b506001600160a01b03813516906020013561114a565b610307600480360360608110156107d057600080fd5b50803590602081013590604001351515611352565b610307600480360360208110156107fb57600080fd5b50356001600160a01b03166114ad565b61024a6114bf565b610307611517565b6104736004803603602081101561083157600080fd5b50356001600160a01b031661151d565b6102eb6004803603604081101561085757600080fd5b506001600160a01b03813516906020013561159c565b6102eb6004803603604081101561088357600080fd5b506001600160a01b03813516906020013561168b565b610307600480360360208110156108af57600080fd5b50356001600160a01b03166117c1565b610473600480360360c08110156108d557600080fd5b506001600160a01b038135169060208101359060408101359060ff6060820135169060808101359060a00135611824565b6103076004803603604081101561091c57600080fd5b506001600160a01b0381358116916020013516611b0b565b610307611b36565b610307611b51565b610307611b5d565b61097e6004803603604081101561096257600080fd5b5080356001600160a01b0316906020013563ffffffff16611b63565b6040805163ffffffff909316835260208301919091528051918290030190f35b610473600480360360208110156109b457600080fd5b50356001600160a01b0316611b90565b60018054604080516020600284861615610100026000190190941693909304601f81018490048402820184019092528181529291830182828015610a495780601f10610a1e57610100808354040283529160200191610a49565b820191906000526020600020905b815481529060010190602001808311610a2c57829003601f168201915b505050505081565b336000818152600a602090815260408083206001600160a01b038716808552908352818420869055815186815291519394909390927f8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b925928290030190a35060015b92915050565b6000610ac2611c0f565b90505b90565b6005546001600160a01b031681565b60035461010090046001600160a01b031681565b60085415610b36576040805162461bcd60e51b8152602060048201526013602482015272185b1c9958591e481a5b9a5d1a585b1a5e9959606a1b604482015290519081900360640190fd5b8251610b49906001906020860190612342565b508151610b5d906002906020850190612342565b506003805460ff191660ff929092169190911790555050565b60075481565b60405180604361242482396043019050604051809103902081565b6000826001600160a01b038116610bad57600080fd5b6001600160a01b038116301415610bc357600080fd5b6001600160a01b0385166000908152600a60209081526040808320338452909152902054610bf7908463ffffffff611c2416565b6001600160a01b0386166000908152600a60209081526040808320338452909152812091909155600854610c4b90610c3f8669d3c21bcecceda100000063ffffffff611c6616565b9063ffffffff611cbf16565b6001600160a01b038716600090815260096020526040902054909150610c77908263ffffffff611c2416565b6001600160a01b038088166000908152600960205260408082209390935590871681522054610cac908263ffffffff611d0116565b6001600160a01b0380871660008181526009602090815260409182902094909455805188815290519193928a16927fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef92918290030190a36001600160a01b038087166000908152600c6020526040808220548884168352912054610d3592918216911683611d5b565b50600195945050505050565b6004546001600160a01b031681565b60035460ff1681565b336000908152600a602090815260408083206001600160a01b0386168452909152812054610d8d908363ffffffff611d0116565b336000818152600a602090815260408083206001600160a01b0389168085529083529281902085905580519485525191937f8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b925929081900390910190a350600192915050565b6001600160a01b031660009081526009602052604090205490565b6005546000906001600160a01b0316331480610e3357506006546001600160a01b031633145b80610e4d575060035461010090046001600160a01b031633145b610e8b576040805162461bcd60e51b815260206004820152600a6024820152693737ba1036b4b73a32b960b11b604482015290519081900360640190fd5b610e958383611ea9565b50600192915050565b6004546001600160a01b03163314610ee8576040805162461bcd60e51b81526020600482015260086024820152672170656e64696e6760c01b604482015290519081900360640190fd5b60038054600480546001600160a01b03818116610100908102610100600160a81b0319861617958690556001600160a01b031990921690925560408051938290048316808552919094049091166020830152825190927f1f14cfc03e486d23acee577b07bc0b3b23f4888c91fcdba5e0fef5a2549d5523928290030190a150565b6001600160a01b039081166000908152600c60205260409020541690565b610f913382612000565b50565b69d3c21bcecceda100000081565b60008111610fe7576040805162461bcd60e51b815260206004820152600d60248201526c3020696e697420737570706c7960981b604482015290519081900360640190fd5b610ff2858585610aeb565b611019670de0b6b3a764000069d3c21bcecceda10000005b8391900463ffffffff611c6616565b600b556007819055670de0b6b3a764000060088190556110439069d3c21bcecceda100000061100a565b6001600160a01b0390921660009081526009602052604090209190915550505050565b6006546001600160a01b031681565b600e6020526000908152604090205463ffffffff1681565b6008546001600160a01b0382166000908152600960205260408120549091610ab29169d3c21bcecceda100000091610c3f919063ffffffff611c6616565b60035461010090046001600160a01b031633146110e757600080fd5b600480546001600160a01b038381166001600160a01b0319831681179093556040805191909216808252602082019390935281517f6163d5b9efd962645dd649e6e48a61bcb0f9df00997a2398b80d135a9ab0c61e929181900390910190a15050565b600043821061118a5760405162461bcd60e51b81526004018080602001828103825260258152602001806124886025913960400191505060405180910390fd5b6001600160a01b0383166000908152600e602052604090205463ffffffff16806111b8576000915050610ab2565b6001600160a01b0384166000908152600d6020908152604080832063ffffffff600019860181168552925290912054168310611227576001600160a01b0384166000908152600d602090815260408083206000199490940163ffffffff16835292905220600101549050610ab2565b6001600160a01b0384166000908152600d6020908152604080832083805290915290205463ffffffff16831015611262576000915050610ab2565b600060001982015b8163ffffffff168163ffffffff16111561131b57600282820363ffffffff160481036112946123c0565b506001600160a01b0387166000908152600d6020908152604080832063ffffffff8086168552908352928190208151808301909252805490931680825260019093015491810191909152908714156112f657602001519450610ab29350505050565b805163ffffffff1687111561130d57819350611314565b6001820392505b505061126a565b506001600160a01b0385166000908152600d6020908152604080832063ffffffff9094168352929052206001015491505092915050565b6005546000906001600160a01b0316331461136c57600080fd5b826113bd57600854604080518681526020810183905280820192909252517fc6642d24d84e7f3d36ca39f5cce10e75639d9b158d5193aa350e2f900653e4c09181900360600190a1506007546114a6565b600854826113fb576113f3670de0b6b3a7640000610c3f6113e4828863ffffffff611c2416565b6008549063ffffffff611c6616565b600855611445565b600061141c670de0b6b3a7640000610c3f6113e4828963ffffffff611d0116565b9050611426611c0f565b811015611437576008819055611443565b61143f611c0f565b6008555b505b600854600b5461145a9163ffffffff611c6616565b600755600854604080518781526020810184905280820192909252517fc6642d24d84e7f3d36ca39f5cce10e75639d9b158d5193aa350e2f900653e4c09181900360600190a150506007545b9392505050565b600f6020526000908152604090205481565b6002805460408051602060018416156101000260001901909316849004601f81018490048402820184019092528181529291830182828015610a495780601f10610a1e57610100808354040283529160200191610a49565b600b5481565b60035461010090046001600160a01b0316331461153957600080fd5b600680546001600160a01b038381166001600160a01b0319831681179093556040805191909216808252602082019390935281517f2ee668ca7d17a9122dc00c0bfd73b684f2f7d681f17733cc02b294f69f1b3896929181900390910190a15050565b336000908152600a602090815260408083206001600160a01b03861684529091528120548083106115f057336000908152600a602090815260408083206001600160a01b0388168452909152812055611625565b611600818463ffffffff611c2416565b336000908152600a602090815260408083206001600160a01b03891684529091529020555b336000818152600a602090815260408083206001600160a01b0389168085529083529281902054815190815290519293927f8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b925929181900390910190a35060019392505050565b6000826001600160a01b0381166116a157600080fd5b6001600160a01b0381163014156116b757600080fd5b6008546000906116db90610c3f8669d3c21bcecceda100000063ffffffff611c6616565b336000908152600960205260409020549091506116fe908263ffffffff611c2416565b33600090815260096020526040808220929092556001600160a01b03871681522054611730908263ffffffff611d0116565b6001600160a01b0386166000818152600960209081526040918290209390935580518781529051919233927fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef9281900390910190a3336000908152600c6020526040808220546001600160a01b03888116845291909220546117b6928216911683611d5b565b506001949350505050565b6001600160a01b0381166000908152600e602052604081205463ffffffff16806117ec5760006114a6565b6001600160a01b0383166000908152600d6020908152604080832063ffffffff60001986011684529091529020600101549392505050565b6000604051808061242460439139604301905060405180910390206001604051808280546001816001161561010002031660029004801561189c5780601f1061187a57610100808354040283529182019161189c565b820191906000526020600020905b815481529060010190602001808311611888575b505091505060405180910390206118b1612080565b3060405160200180858152602001848152602001838152602001826001600160a01b03166001600160a01b03168152602001945050505050604051602081830303815290604052805190602001209050600060405180806124d1603a91396040805191829003603a0182206020808401919091526001600160a01b038c1683830152606083018b905260808084018b90528251808503909101815260a08401835280519082012061190160f01b60c085015260c2840187905260e2808501829052835180860390910181526101028501808552815191840191909120600091829052610122860180865281905260ff8c1661014287015261016286018b905261018286018a9052935191965092945091926001926101a28083019392601f198301929081900390910190855afa1580156119ef573d6000803e3d6000fd5b5050604051601f1901519150506001600160a01b038116611a415760405162461bcd60e51b815260040180806020018281038252602481526020018061250b6024913960400191505060405180910390fd5b6001600160a01b0381166000908152600f602052604090208054600181019091558914611ab5576040805162461bcd60e51b815260206004820181905260248201527f4c563a3a64656c656761746542795369673a20696e76616c6964206e6f6e6365604482015290519081900360640190fd5b87421115611af45760405162461bcd60e51b81526004018080602001828103825260248152602001806124ad6024913960400191505060405180910390fd5b611afe818b612000565b505050505b505050505050565b6001600160a01b039182166000908152600a6020908152604080832093909416825291909152205490565b60405180603a6124d18239603a019050604051809103902081565b670de0b6b3a764000081565b60085481565b600d6020908152600092835260408084209091529082529020805460019091015463ffffffff9091169082565b60035461010090046001600160a01b03163314611bac57600080fd5b600580546001600160a01b038381166001600160a01b0319831681179093556040805191909216808252602082019390935281517f51f448520e2183de499e224808a409ee01a1f380edb2e8497572320c15030545929181900390910190a15050565b6000600b5460001981611c1e57fe5b04905090565b60006114a683836040518060400160405280601e81526020017f536166654d6174683a207375627472616374696f6e206f766572666c6f770000815250612084565b600082611c7557506000610ab2565b82820282848281611c8257fe5b04146114a65760405162461bcd60e51b81526004018080602001828103825260218152602001806124676021913960400191505060405180910390fd5b60006114a683836040518060400160405280601a81526020017f536166654d6174683a206469766973696f6e206279207a65726f00000000000081525061211b565b6000828201838110156114a6576040805162461bcd60e51b815260206004820152601b60248201527f536166654d6174683a206164646974696f6e206f766572666c6f770000000000604482015290519081900360640190fd5b816001600160a01b0316836001600160a01b031614158015611d7d5750600081115b15611ea4576001600160a01b03831615611e15576001600160a01b0383166000908152600e602052604081205463ffffffff169081611dbd576000611def565b6001600160a01b0385166000908152600d6020908152604080832063ffffffff60001987011684529091529020600101545b90506000611e03828563ffffffff611c2416565b9050611e1186848484612180565b5050505b6001600160a01b03821615611ea4576001600160a01b0382166000908152600e602052604081205463ffffffff169081611e50576000611e82565b6001600160a01b0384166000908152600d6020908152604080832063ffffffff60001987011684529091529020600101545b90506000611e96828563ffffffff611d0116565b9050611b0385848484612180565b505050565b600754611ebc908263ffffffff611d0116565b600755600854600090611ee390610c3f8469d3c21bcecceda100000063ffffffff611c6616565b600b54909150611ef9908263ffffffff611d0116565b600b55611f04611c0f565b6008541115611f5a576040805162461bcd60e51b815260206004820152601a60248201527f6d6178207363616c696e6720666163746f7220746f6f206c6f77000000000000604482015290519081900360640190fd5b6001600160a01b038316600090815260096020526040902054611f83908263ffffffff611d0116565b6001600160a01b03808516600090815260096020908152604080832094909455600c905291822054611fb792911683611d5b565b604080516001600160a01b03851681526020810184905281517f0f6798a560793a54c3bcfe86a93cde1e73087d944c0ea20544137d4121396885929181900390910190a1505050565b6001600160a01b038083166000818152600c6020818152604080842080546009845282862054949093528787166001600160a01b03198416811790915590519190951694919391928592917f3134e8a2e6d97e929a7e54011ea5485d7d196dd5f0ba4d4ef95803e8e3fc257f9190a461207a828483611d5b565b50505050565b4690565b600081848411156121135760405162461bcd60e51b81526004018080602001828103825283818151815260200191508051906020019080838360005b838110156120d85781810151838201526020016120c0565b50505050905090810190601f1680156121055780820380516001836020036101000a031916815260200191505b509250505060405180910390fd5b505050900390565b6000818361216a5760405162461bcd60e51b81526020600482018181528351602484015283519092839260449091019190850190808383600083156120d85781810151838201526020016120c0565b50600083858161217657fe5b0495945050505050565b60006121a4436040518060600160405280603281526020016123f2603291396122e5565b905060008463ffffffff161180156121ed57506001600160a01b0385166000908152600d6020908152604080832063ffffffff6000198901811685529252909120548282169116145b1561222a576001600160a01b0385166000908152600d6020908152604080832063ffffffff6000198901168452909152902060010182905561229b565b60408051808201825263ffffffff808416825260208083018681526001600160a01b038a166000818152600d84528681208b8616825284528681209551865490861663ffffffff199182161787559251600196870155908152600e9092529390208054928801909116919092161790555b604080518481526020810184905281516001600160a01b038816927fdec2bacdd2f05b59de34da9b523dff8be42e5e38e818c82fdb0bae774387a724928290030190a25050505050565b600081600160201b841061233a5760405162461bcd60e51b81526020600482018181528351602484015283519092839260449091019190850190808383600083156120d85781810151838201526020016120c0565b509192915050565b828054600181600116156101000203166002900490600052602060002090601f016020900481019282601f1061238357805160ff19168380011785556123b0565b828001600101855582156123b0579182015b828111156123b0578251825591602001919060010190612395565b506123bc9291506123d7565b5090565b604080518082019091526000808252602082015290565b610ac591905b808211156123bc57600081556001016123dd56fe4c563a3a5f7772697465436865636b706f696e743a20626c6f636b206e756d62657220657863656564732033322062697473454950373132446f6d61696e28737472696e67206e616d652c75696e7432353620636861696e49642c6164647265737320766572696679696e67436f6e747261637429536166654d6174683a206d756c7469706c69636174696f6e206f766572666c6f774c563a3a6765745072696f72566f7465733a206e6f74207965742064657465726d696e65644c563a3a64656c656761746542795369673a207369676e6174757265206578706972656444656c65676174696f6e28616464726573732064656c6567617465652c75696e74323536206e6f6e63652c75696e7432353620657870697279294c563a3a64656c656761746542795369673a20696e76616c6964207369676e6174757265a265627a7a72315820af15ad4a67d2e6dda41fe36488a5b57237e8795146fd96728f535ea458fb1fe064736f6c63430005110032

Deployed Bytecode Sourcemap

17140:546:0:-;;;;8:9:-1;5:2;;;30:1;27;20:12;5:2;17140:546:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;1592:18;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;8:100:-1;33:3;30:1;27:10;8:100;;;90:11;;;84:18;71:11;;;64:39;52:2;45:10;8:100;;;12:14;1592:18:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;14088:235;;;;;;13:2:-1;8:3;5:11;2:2;;;29:1;26;19:12;2:2;-1:-1;;;;;;14088:235:0;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;11560:137;;;:::i;:::-;;;;;;;;;;;;;;;;1739:22;;;:::i;:::-;;;;-1:-1:-1;;;;;1739:22:0;;;;;;;;;;;;;;1678:18;;;:::i;11265:289::-;;;;;;13:2:-1;8:3;5:11;2:2;;;29:1;26;19:12;2:2;11265:289:0;;;;;;;;-1:-1:-1;;;5:28;;2:2;;;46:1;43;36:12;2:2;11265:289:0;;35:9:-1;28:4;12:14;8:25;5:40;2:2;;;58:1;55;48:12;2:2;11265:289:0;;;;;;100:9:-1;95:1;81:12;77:20;67:8;63:35;60:50;-1:-1;;;25:12;22:29;11:107;8:2;;;131:1;128;121:12;8:2;11265:289:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;30:3:-1;22:6;14;1:33;99:1;81:16;;74:27;;;;-1:-1;11265:289:0;;;;;;;;-1:-1:-1;11265:289:0;;-1:-1:-1;;;;;5:28;;2:2;;;46:1;43;36:12;2:2;11265:289:0;;35:9:-1;28:4;12:14;8:25;5:40;2:2;;;58:1;55;48:12;2:2;11265:289:0;;;;;;100:9:-1;95:1;81:12;77:20;67:8;63:35;60:50;-1:-1;;;25:12;22:29;11:107;8:2;;;131:1;128;121:12;8:2;11265:289:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;30:3:-1;22:6;14;1:33;99:1;81:16;;74:27;;;;-1:-1;11265:289:0;;-1:-1:-1;;;11265:289:0;;;;;-1:-1:-1;11265:289:0;;-1:-1:-1;11265:289:0:i;:::-;;1806:26;;;:::i;2472:122::-;;;:::i;13002:570::-;;;;;;13:2:-1;8:3;5:11;2:2;;;29:1;26;19:12;2:2;-1:-1;;;;;;13002:570:0;;;;;;;;;;;;;;;;;:::i;1705:25::-;;;:::i;1648:21::-;;;:::i;:::-;;;;;;;;;;;;;;;;;;;14331:345;;;;;;13:2:-1;8:3;5:11;2:2;;;29:1;26;19:12;2:2;-1:-1;;;;;;14331:345:0;;;;;;;;:::i;13758:140::-;;;;;;13:2:-1;8:3;5:11;2:2;;;29:1;26;19:12;2:2;-1:-1;13758:140:0;-1:-1:-1;;;;;13758:140:0;;:::i;11856:167::-;;;;;;13:2:-1;8:3;5:11;2:2;;;29:1;26;19:12;2:2;-1:-1;;;;;;11856:167:0;;;;;;;;:::i;15911:236::-;;;:::i;5431:149::-;;;;;;13:2:-1;8:3;5:11;2:2;;;29:1;26;19:12;2:2;-1:-1;5431:149:0;-1:-1:-1;;;;;5431:149:0;;:::i;5588:104::-;;;;;;13:2:-1;8:3;5:11;2:2;;;29:1;26;19:12;2:2;-1:-1;5588:104:0;-1:-1:-1;;;;;5588:104:0;;:::i;1841:49::-;;;:::i;17170:513::-;;;;;;13:3:-1;8;5:12;2:2;;;30:1;27;20:12;2:2;17170:513:0;;;;;;;;-1:-1:-1;;;5:28;;2:2;;;46:1;43;36:12;2:2;17170:513:0;;35:9:-1;28:4;12:14;8:25;5:40;2:2;;;58:1;55;48:12;2:2;17170:513:0;;;;;;100:9:-1;95:1;81:12;77:20;67:8;63:35;60:50;-1:-1;;;25:12;22:29;11:107;8:2;;;131:1;128;121:12;8:2;17170:513:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;30:3:-1;22:6;14;1:33;99:1;81:16;;74:27;;;;-1:-1;17170:513:0;;;;;;;;-1:-1:-1;17170:513:0;;-1:-1:-1;;;;;5:28;;2:2;;;46:1;43;36:12;2:2;17170:513:0;;35:9:-1;28:4;12:14;8:25;5:40;2:2;;;58:1;55;48:12;2:2;17170:513:0;;;;;;100:9:-1;95:1;81:12;77:20;67:8;63:35;60:50;-1:-1;;;25:12;22:29;11:107;8:2;;;131:1;128;121:12;8:2;17170:513:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;30:3:-1;22:6;14;1:33;99:1;81:16;;74:27;;;;-1:-1;17170:513:0;;-1:-1:-1;;;17170:513:0;;;;;-1:-1:-1;;17170:513:0;;;;-1:-1:-1;;;;;17170:513:0;;;;;;:::i;1770:27::-;;;:::i;2416:49::-;;;;;;13:2:-1;8:3;5:11;2:2;;;29:1;26;19:12;2:2;-1:-1;2416:49:0;-1:-1:-1;;;;;2416:49:0;;:::i;:::-;;;;;;;;;;;;;;;;;;;13578:174;;;;;;13:2:-1;8:3;5:11;2:2;;;29:1;26;19:12;2:2;-1:-1;13578:174:0;-1:-1:-1;;;;;13578:174:0;;:::i;15673:230::-;;;;;;13:2:-1;8:3;5:11;2:2;;;29:1;26;19:12;2:2;-1:-1;15673:230:0;-1:-1:-1;;;;;15673:230:0;;:::i;7137:1162::-;;;;;;13:2:-1;8:3;5:11;2:2;;;29:1;26;19:12;2:2;-1:-1;;;;;;7137:1162:0;;;;;;;;:::i;16155:978::-;;;;;;13:2:-1;8:3;5:11;2:2;;;29:1;26;19:12;2:2;-1:-1;16155:978:0;;;;;;;;;;;;;;:::i;2725:39::-;;;;;;13:2:-1;8:3;5:11;2:2;;;29:1;26;19:12;2:2;-1:-1;2725:39:0;-1:-1:-1;;;;;2725:39:0;;:::i;1619:20::-;;;:::i;2128:25::-;;;:::i;15417:248::-;;;;;;13:2:-1;8:3;5:11;2:2;;;29:1;26;19:12;2:2;-1:-1;15417:248:0;-1:-1:-1;;;;;15417:248:0;;:::i;14684:514::-;;;;;;13:2:-1;8:3;5:11;2:2;;;29:1;26;19:12;2:2;-1:-1;;;;;;14684:514:0;;;;;;;;:::i;12513:481::-;;;;;;13:2:-1;8:3;5:11;2:2;;;29:1;26;19:12;2:2;-1:-1;;;;;;12513:481:0;;;;;;;;:::i;6876:255::-;;;;;;13:2:-1;8:3;5:11;2:2;;;29:1;26;19:12;2:2;-1:-1;6876:255:0;-1:-1:-1;;;;;6876:255:0;;:::i;5700:1170::-;;;;;;13:3:-1;8;5:12;2:2;;;30:1;27;20:12;2:2;-1:-1;;;;;;5700:1170:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;13904:176::-;;;;;;13:2:-1;8:3;5:11;2:2;;;29:1;26;19:12;2:2;-1:-1;;;;;;13904:176:0;;;;;;;;;;:::i;2601:117::-;;;:::i;1899:37::-;;;:::i;1945:31::-;;;:::i;2339:70::-;;;;;;13:2:-1;8:3;5:11;2:2;;;29:1;26;19:12;2:2;-1:-1;2339:70:0;;-1:-1:-1;;;;;2339:70:0;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;15206:203;;;;;;13:2:-1;8:3;5:11;2:2;;;29:1;26;19:12;2:2;-1:-1;15206:203:0;-1:-1:-1;;;;;15206:203:0;;:::i;1592:18::-;;;;;;;;;;;;;;;-1:-1:-1;;1592:18:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::o;14088:235::-;14213:10;14173:4;14195:29;;;:17;:29;;;;;;;;-1:-1:-1;;;;;14195:38:0;;;;;;;;;;;:46;;;14257:36;;;;;;;14173:4;;14195:38;;14213:10;;14257:36;;;;;;;;-1:-1:-1;14311:4:0;14088:235;;;;;:::o;11560:137::-;11638:7;11670:19;:17;:19::i;:::-;11663:26;;11560:137;;:::o;1739:22::-;;;-1:-1:-1;;;;;1739:22:0;;:::o;1678:18::-;;;;;;-1:-1:-1;;;;;1678:18:0;;:::o;11265:289::-;11420:16;;:21;11412:53;;;;;-1:-1:-1;;;11412:53:0;;;;;;;;;;;;-1:-1:-1;;;11412:53:0;;;;;;;;;;;;;;;11476:12;;;;:4;;:12;;;;;:::i;:::-;-1:-1:-1;11499:16:0;;;;:6;;:16;;;;;:::i;:::-;-1:-1:-1;11526:8:0;:20;;-1:-1:-1;;11526:20:0;;;;;;;;;;;;-1:-1:-1;;11265:289:0:o;1806:26::-;;;;:::o;2472:122::-;2514:80;;;;;;;;;;;;;;;;;;2472:122;:::o;13002:570::-;13129:4;13107:2;-1:-1:-1;;;;;11179:18:0;;11171:27;;;;;;-1:-1:-1;;;;;11217:19:0;;11231:4;11217:19;;11209:28;;;;;;-1:-1:-1;;;;;13189:23:0;;;;;;:17;:23;;;;;;;;13213:10;13189:35;;;;;;;;:46;;13229:5;13189:46;:39;:46;:::i;:::-;-1:-1:-1;;;;;13151:23:0;;;;;;:17;:23;;;;;;;;13175:10;13151:35;;;;;;;:84;;;;13296:16;;13264:49;;:27;:5;1884:6;13264:27;:9;:27;:::i;:::-;:31;:49;:31;:49;:::i;:::-;-1:-1:-1;;;;;13344:17:0;;;;;;:11;:17;;;;;;13246:67;;-1:-1:-1;13344:30:0;;13246:67;13344:30;:21;:30;:::i;:::-;-1:-1:-1;;;;;13324:17:0;;;;;;;:11;:17;;;;;;:50;;;;13403:15;;;;;;;:28;;13423:7;13403:28;:19;:28;:::i;:::-;-1:-1:-1;;;;;13385:15:0;;;;;;;:11;:15;;;;;;;;;:46;;;;13447:25;;;;;;;13385:15;;13447:25;;;;;;;;;;;;;-1:-1:-1;;;;;13500:16:0;;;;;;;:10;:16;;;;;;;13518:14;;;;;;;;13485:57;;13500:16;;;;13518:14;13534:7;13485:14;:57::i;:::-;-1:-1:-1;13560:4:0;;13002:570;-1:-1:-1;;;;;13002:570:0:o;1705:25::-;;;-1:-1:-1;;;;;1705:25:0;;:::o;1648:21::-;;;;;;:::o;14331:345::-;14525:10;14431:4;14507:29;;;:17;:29;;;;;;;;-1:-1:-1;;;;;14507:38:0;;;;;;;;;;:54;;14550:10;14507:54;:42;:54;:::i;:::-;14471:10;14453:29;;;;:17;:29;;;;;;;;-1:-1:-1;;;;;14453:38:0;;;;;;;;;;;;:108;;;14577:69;;;;;;14453:38;;14577:69;;;;;;;;;;;-1:-1:-1;14664:4:0;14331:345;;;;:::o;13758:140::-;-1:-1:-1;;;;;13874:16:0;13844:7;13874:16;;;:11;:16;;;;;;;13758:140::o;11856:167::-;11023:7;;11954:4;;-1:-1:-1;;;;;11023:7:0;11009:10;:21;;:51;;-1:-1:-1;11048:12:0;;-1:-1:-1;;;;;11048:12:0;11034:10;:26;11009:51;:72;;;-1:-1:-1;11078:3:0;;;;;-1:-1:-1;;;;;11078:3:0;11064:10;:17;11009:72;11001:95;;;;;-1:-1:-1;;;11001:95:0;;;;;;;;;;;;-1:-1:-1;;;11001:95:0;;;;;;;;;;;;;;;11976:17;11982:2;11986:6;11976:5;:17::i;:::-;-1:-1:-1;12011:4:0;11856:167;;;;:::o;15911:236::-;15989:10;;-1:-1:-1;;;;;15989:10:0;15975;:24;15967:45;;;;;-1:-1:-1;;;15967:45:0;;;;;;;;;;;;-1:-1:-1;;;15967:45:0;;;;;;;;;;;;;;;16040:3;;;16060:10;;;-1:-1:-1;;;;;16060:10:0;;;16040:3;16054:16;;;-1:-1:-1;;;;;;16054:16:0;;;;;;;-1:-1:-1;;;;;;16081:23:0;;;;;;16120:19;;;16040:3;;;;;;16120:19;;;16135:3;;;;;;;16120:19;;;;;;16040:3;;16120:19;;;;;;;;15911:236;:::o;5431:149::-;-1:-1:-1;;;;;5551:21:0;;;5519:7;5551:21;;;:10;:21;;;;;;;;5431:149::o;5588:104::-;5652:32;5662:10;5674:9;5652;:32::i;:::-;5588:104;:::o;1841:49::-;1884:6;1841:49;:::o;17170:513::-;17401:1;17387:11;:15;17379:41;;;;;-1:-1:-1;;;17379:41:0;;;;;;;;;;;;-1:-1:-1;;;17379:41:0;;;;;;;;;;;;;;;17433:43;17450:5;17457:7;17466:9;17433:16;:43::i;:::-;17502:31;1930:6;17518;:14;17502:11;;17518:14;;17502:31;:15;:31;:::i;:::-;17489:10;:44;17544:11;:25;;;1930:6;17580:16;:23;;;17643:32;;17659:6;:15;;17643:32;-1:-1:-1;;;;;17614:26:0;;;;;;;:11;:26;;;;;:61;;;;-1:-1:-1;;;;17170:513:0:o;1770:27::-;;;-1:-1:-1;;;;;1770:27:0;;:::o;2416:49::-;;;;;;;;;;;;;;;:::o;13578:174::-;13705:16;;-1:-1:-1;;;;;13684:16:0;;13654:7;13684:16;;;:11;:16;;;;;;13654:7;;13684:60;;1884:6;;13684:38;;:16;:38;:20;:38;:::i;15673:230::-;10844:3;;;;;-1:-1:-1;;;;;10844:3:0;10830:10;:17;10822:26;;;;;;15793:10;;;-1:-1:-1;;;;;15814:24:0;;;-1:-1:-1;;;;;;15814:24:0;;;;;;;15854:41;;;15793:10;;;;15854:41;;;;;;;;;;;;;;;;;;;;;;;10859:1;15673:230;:::o;7137:1162::-;7245:7;7292:12;7278:11;:26;7270:76;;;;-1:-1:-1;;;7270:76:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;;;;;7381:23:0;;7359:19;7381:23;;;:14;:23;;;;;;;;7419:17;7415:58;;7460:1;7453:8;;;;;7415:58;-1:-1:-1;;;;;7489:20:0;;;;;;:11;:20;;;;;;;;:38;-1:-1:-1;;7510:16:0;;7489:38;;;;;;;;;:48;;:63;-1:-1:-1;7485:147:0;;-1:-1:-1;;;;;7576:20:0;;;;;;:11;:20;;;;;;;;-1:-1:-1;;7597:16:0;;;;7576:38;;;;;;;;7612:1;7576:44;;;-1:-1:-1;7569:51:0;;7485:147;-1:-1:-1;;;;;7648:20:0;;;;;;:11;:20;;;;;;;;:23;;;;;;;;:33;:23;:33;:47;-1:-1:-1;7644:88:0;;;7719:1;7712:8;;;;;7644:88;7744:12;-1:-1:-1;;7786:16:0;;7813:428;7828:5;7820:13;;:5;:13;;;7813:428;;;7892:1;7875:13;;;7874:19;;;7866:27;;7935:20;;:::i;:::-;-1:-1:-1;;;;;;7958:20:0;;;;;;:11;:20;;;;;;;;:28;;;;;;;;;;;;;7935:51;;;;;;;;;;;;;;;;;;;;;;;;;;;;;8005:27;;8001:229;;;8060:8;;;;-1:-1:-1;8053:15:0;;-1:-1:-1;;;;8053:15:0;8001:229;8094:12;;:26;;;-1:-1:-1;8090:140:0;;;8149:6;8141:14;;8090:140;;;8213:1;8204:6;:10;8196:18;;8090:140;7813:428;;;;;-1:-1:-1;;;;;;8258:20:0;;;;;;:11;:20;;;;;;;;:27;;;;;;;;;;:33;;;;-1:-1:-1;;7137:1162:0;;;;:::o;16155:978::-;10932:7;;16312;;-1:-1:-1;;;;;10932:7:0;10918:10;:21;10910:30;;;;;;16341:15;16337:131;;16390:16;;16376:49;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;16445:11:0;;16438:18;;16337:131;16511:16;;16545:8;16540:429;;16588:52;1930:6;16588:42;16609:20;1930:6;16618:10;16609:20;:8;:20;:::i;:::-;16588:16;;;:42;:20;:42;:::i;:52::-;16569:16;:71;16540:429;;;16673:24;16700:52;1930:6;16700:42;16721:20;1930:6;16730:10;16721:20;:8;:20;:::i;16700:52::-;16673:79;;16790:19;:17;:19::i;:::-;16771:16;:38;16767:191;;;16830:16;:35;;;16767:191;;;16923:19;:17;:19::i;:::-;16904:16;:38;16767:191;16540:429;;17010:16;;16995:10;;:32;;;:14;:32;:::i;:::-;16981:11;:46;17079:16;;17043:53;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;;17114:11:0;;10951:1;16155:978;;;;;:::o;2725:39::-;;;;;;;;;;;;;:::o;1619:20::-;;;;;;;;;;;;;;-1:-1:-1;;1619:20:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;2128:25;;;;:::o;15417:248::-;10844:3;;;;;-1:-1:-1;;;;;10844:3:0;10830:10;:17;10822:26;;;;;;15543:12;;;-1:-1:-1;;;;;15566:28:0;;;-1:-1:-1;;;;;;15566:28:0;;;;;;;15610:47;;;15543:12;;;;15610:47;;;;;;;;;;;;;;;;;;;;;;;10859:1;15417:248;:::o;14684:514::-;14848:10;14789:4;14830:29;;;:17;:29;;;;;;;;-1:-1:-1;;;;;14830:38:0;;;;;;;;;;14883:27;;;14879:205;;14945:10;14968:1;14927:29;;;:17;:29;;;;;;;;-1:-1:-1;;;;;14927:38:0;;;;;;;;;:42;14879:205;;;15043:29;:8;15056:15;15043:29;:12;:29;:::i;:::-;15020:10;15002:29;;;;:17;:29;;;;;;;;-1:-1:-1;;;;;15002:38:0;;;;;;;;;:70;14879:205;15108:10;15129:29;;;;:17;:29;;;;;;;;-1:-1:-1;;;;;15099:69:0;;15129:38;;;;;;;;;;;15099:69;;;;;;;;;15108:10;15099:69;;;;;;;;;;;-1:-1:-1;15186:4:0;;14684:514;-1:-1:-1;;;14684:514:0:o;12513:481::-;12622:4;12600:2;-1:-1:-1;;;;;11179:18:0;;11171:27;;;;;;-1:-1:-1;;;;;11217:19:0;;11231:4;11217:19;;11209:28;;;;;;12694:16;;12644:15;;12662:49;;:27;:5;1884:6;12662:27;:9;:27;:::i;:49::-;12760:10;12748:23;;;;:11;:23;;;;;;12644:67;;-1:-1:-1;12748:36:0;;12644:67;12748:36;:27;:36;:::i;:::-;12734:10;12722:23;;;;:11;:23;;;;;;:62;;;;-1:-1:-1;;;;;12813:15:0;;;;;;:28;;12833:7;12813:28;:19;:28;:::i;:::-;-1:-1:-1;;;;;12795:15:0;;;;;;:11;:15;;;;;;;;;:46;;;;12857:31;;;;;;;12795:15;;12866:10;;12857:31;;;;;;;;;;12927:10;12916:22;;;;:10;:22;;;;;;;-1:-1:-1;;;;;12940:14:0;;;;;;;;;;12901:63;;12916:22;;;12940:14;12956:7;12901:14;:63::i;:::-;-1:-1:-1;12982:4:0;;12513:481;-1:-1:-1;;;;12513:481:0:o;6876:255::-;-1:-1:-1;;;;;7015:23:0;;6968:7;7015:23;;;:14;:23;;;;;;;;7056:16;:67;;7122:1;7056:67;;;-1:-1:-1;;;;;7075:20:0;;;;;;:11;:20;;;;;;;;:38;-1:-1:-1;;7096:16:0;;7075:38;;;;;;;;7111:1;7075:44;;7049:74;6876:255;-1:-1:-1;;;6876:255:0:o;5700:1170::-;5893:23;2514:80;;;;;;;;;;;;;;;;;;;6022:4;6006:22;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;6047:12;:10;:12::i;:::-;6086:4;5943:163;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;;;;;5943:163:0;-1:-1:-1;;;;;5943:163:0;;;;;;;;;;;;;49:4:-1;39:7;30;26:21;22:32;13:7;6:49;5943:163:0;;;5919:198;;;;;;5893:224;;6130:18;2647:71;;;;;;;;;;;;;;;;;;;6175:140;;;;;;;;-1:-1:-1;;;;;6175:140:0;;;;;;;;;;;;;;;;;;;;;26:21:-1;;;22:32;;;6:49;;6175:140:0;;;;;6151:175;;;;;;-1:-1:-1;;;6380:123:0;;;;;;;;;;;;;;;;;;;26:21:-1;;;22:32;;;6:49;;6380:123:0;;;;;;6356:158;;;;;;;;;-1:-1:-1;6547:26:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;6151:175;;-1:-1:-1;6356:158:0;;-1:-1:-1;;;6547:26:0;;;;;;;6175:140;-1:-1:-1;;6547:26:0;;;;;;;;;;;;;;;8:9:-1;5:2;;;45:16;42:1;39;24:38;77:16;74:1;67:27;5:2;-1:-1;;6547:26:0;;-1:-1:-1;;6547:26:0;;;-1:-1:-1;;;;;;;6592:23:0;;6584:72;;;;-1:-1:-1;;;6584:72:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;;;;;6684:17:0;;;;;;:6;:17;;;;;:19;;;;;;;;6675:28;;6667:73;;;;;-1:-1:-1;;;6667:73:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;;6766:6;6759:3;:13;;6751:62;;;;-1:-1:-1;;;6751:62:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;6831:31;6841:9;6852;6831;:31::i;:::-;6824:38;;;;5700:1170;;;;;;;:::o;13904:176::-;-1:-1:-1;;;;;14038:25:0;;;14006:7;14038:25;;;:17;:25;;;;;;;;:34;;;;;;;;;;;;;13904:176::o;2601:117::-;2647:71;;;;;;;;;;;;;;;;;;2601:117;:::o;1899:37::-;1930:6;1899:37;:::o;1945:31::-;;;;:::o;2339:70::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::o;15206:203::-;10844:3;;;;;-1:-1:-1;;;;;10844:3:0;10830:10;:17;10822:26;;;;;;15317:7;;;-1:-1:-1;;;;;15335:18:0;;;-1:-1:-1;;;;;;15335:18:0;;;;;;;15369:32;;;15317:7;;;;15369:32;;;;;;;;;;;;;;;;;;;;;;;10859:1;15206:203;:::o;11705:143::-;11784:7;11830:10;;-1:-1:-1;;11816:24:0;;;;;;11809:31;;11705:143;:::o;242:136::-;300:7;327:43;331:1;334;327:43;;;;;;;;;;;;;;;;;:3;:43::i;584:250::-;642:7;666:6;662:47;;-1:-1:-1;696:1:0;689:8;;662:47;733:5;;;737:1;733;:5;:1;757:5;;;;;:10;749:56;;;;-1:-1:-1;;;749:56:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;842:132;900:7;927:39;931:1;934;927:39;;;;;;;;;;;;;;;;;:3;:39::i;53:181::-;111:7;143:5;;;167:6;;;;159:46;;;;;-1:-1:-1;;;159:46:0;;;;;;;;;;;;;;;;;;;;;;;;;;;8753:947;8859:6;-1:-1:-1;;;;;8849:16:0;:6;-1:-1:-1;;;;;8849:16:0;;;:30;;;;;8878:1;8869:6;:10;8849:30;8845:848;;;-1:-1:-1;;;;;8900:20:0;;;8896:385;;-1:-1:-1;;;;;9008:22:0;;8989:16;9008:22;;;:14;:22;;;;;;;;;9069:13;:60;;9128:1;9069:60;;;-1:-1:-1;;;;;9085:19:0;;;;;;:11;:19;;;;;;;;:34;-1:-1:-1;;9105:13:0;;9085:34;;;;;;;;9117:1;9085:40;;9069:60;9049:80;-1:-1:-1;9148:17:0;9168:21;9049:80;9182:6;9168:21;:13;:21;:::i;:::-;9148:41;;9208:57;9225:6;9233:9;9244;9255;9208:16;:57::i;:::-;8896:385;;;;-1:-1:-1;;;;;9301:20:0;;;9297:385;;-1:-1:-1;;;;;9409:22:0;;9390:16;9409:22;;;:14;:22;;;;;;;;;9470:13;:60;;9529:1;9470:60;;;-1:-1:-1;;;;;9486:19:0;;;;;;:11;:19;;;;;;;;:34;-1:-1:-1;;9506:13:0;;9486:34;;;;;;;;9518:1;9486:40;;9470:60;9450:80;-1:-1:-1;9549:17:0;9569:21;9450:80;9583:6;9569:21;:13;:21;:::i;:::-;9549:41;;9609:57;9626:6;9634:9;9645;9656;9609:16;:57::i;9297:385::-;8753:947;;;:::o;12031:474::-;12120:11;;:23;;12136:6;12120:23;:15;:23;:::i;:::-;12106:11;:37;12203:16;;12152:15;;12170:50;;:28;:6;1884;12170:28;:10;:28;:::i;:50::-;12242:10;;12152:68;;-1:-1:-1;12242:23:0;;12152:68;12242:23;:14;:23;:::i;:::-;12229:10;:36;12302:19;:17;:19::i;:::-;12282:16;;:39;;12274:78;;;;;-1:-1:-1;;;12274:78:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;;;;;12379:15:0;;;;;;:11;:15;;;;;;:28;;12399:7;12379:28;:19;:28;:::i;:::-;-1:-1:-1;;;;;12361:15:0;;;;;;;:11;:15;;;;;;;;:46;;;;12443:10;:14;;;;;;12416:51;;12361:15;12443:14;12459:7;12416:14;:51::i;:::-;12481:16;;;-1:-1:-1;;;;;12481:16:0;;;;;;;;;;;;;;;;;;;;;;;12031:474;;;:::o;8307:438::-;-1:-1:-1;;;;;8424:21:0;;;8398:23;8424:21;;;:10;:21;;;;;;;;;;8483:11;:22;;;;;;8559:21;;;;:33;;;-1:-1:-1;;;;;;8559:33:0;;;;;;;8610:54;;8424:21;;;;;8483:22;;8559:33;;8424:21;;;8610:54;;8398:23;8610:54;8677:60;8692:15;8709:9;8720:16;8677:14;:60::i;:::-;8307:438;;;;:::o;10587:153::-;10697:9;10587:153;:::o;384:192::-;470:7;506:12;498:6;;;;490:29;;;;-1:-1:-1;;;490:29:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;23:1:-1;8:100;33:3;30:1;27:10;8:100;;;90:11;;;84:18;71:11;;;64:39;52:2;45:10;8:100;;;12:14;490:29:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;;;542:5:0;;;384:192::o;982:189::-;1068:7;1103:12;1096:5;1088:28;;;;-1:-1:-1;;;1088:28:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;27:10:-1;;8:100;;90:11;;;84:18;71:11;;;64:39;52:2;45:10;8:100;;1088:28:0;;1127:9;1143:1;1139;:5;;;;;;;982:189;-1:-1:-1;;;;;982:189:0:o;9708:702::-;9887:18;9908:74;9915:12;9908:74;;;;;;;;;;;;;;;;;:6;:74::i;:::-;9887:95;;10014:1;9999:12;:16;;;:85;;;;-1:-1:-1;;;;;;10019:22:0;;;;;;:11;:22;;;;;;;;:65;-1:-1:-1;;10042:16:0;;10019:40;;;;;;;;;:50;:65;;;:50;;:65;9999:85;9995:339;;;-1:-1:-1;;;;;10101:22:0;;;;;;:11;:22;;;;;;;;:40;-1:-1:-1;;10124:16:0;;10101:40;;;;;;;;10139:1;10101:46;:57;;;9995:339;;;10230:33;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;;;;;10191:22:0;;-1:-1:-1;10191:22:0;;;:11;:22;;;;;:36;;;;;;;;;;:72;;;;;;;-1:-1:-1;;10191:72:0;;;;;;;;;;;;;10278:25;;;:14;:25;;;;;;:44;;10306:16;;;10278:44;;;;;;;;;;9995:339;10351:51;;;;;;;;;;;;;;-1:-1:-1;;;;;10351:51:0;;;;;;;;;;;9708:702;;;;;:::o;10418:161::-;10493:6;10531:12;-1:-1:-1;;;10520:9:0;;10512:32;;;;-1:-1:-1;;;10512:32:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;27:10:-1;;8:100;;90:11;;;84:18;71:11;;;64:39;52:2;45:10;8:100;;10512:32:0;-1:-1:-1;10569:1:0;;10418:161;-1:-1:-1;;10418:161:0:o;17140:546::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;17140:546:0;;;-1:-1:-1;17140:546:0;:::i;:::-;;;:::o;:::-;;;;;;;;;;-1:-1:-1;17140:546:0;;;;;;;;:::o;:::-;;;;;;;;;;;;;;;;;

Swarm Source

bzzr://af15ad4a67d2e6dda41fe36488a5b57237e8795146fd96728f535ea458fb1fe0
Loading...
Loading
Loading...
Loading
[ Download: CSV Export  ]
[ Download: CSV Export  ]

A token is a representation of an on-chain or off-chain asset. The token page shows information such as price, total supply, holders, transfers and social links. Learn more about this page in our Knowledge Base.