Token PHILLIPS PAY COIN

 

Overview [ERC-20]

Price
$0.00 @ 0.000000 Eth
Fully Diluted Market Cap
Max Total Supply:
1,900,000,000 PPC

Holders:
10

Transfers:
-

 
Loading
[ Download CSV Export  ] 
Loading
[ Download CSV Export  ] 
Loading

Market

Volume (24H):$11.56
Market Capitalization:$0.00
Circulating Supply:0.00 PPC
Market Data Source: Coinmarketcap

# Exchange Pair Price  24H Volume % Volume
Loading

Contract Source Code Verified (Exact Match)

Contract Name:
PPCToken

Compiler Version
v0.4.25+commit.59dbf8f1

Optimization Enabled:
Yes with 200 runs

Other Settings:
default evmVersion

Contract Source Code (Solidity)

/**
 *Submitted for verification at Etherscan.io on 2019-06-04
*/

pragma solidity ^0.4.25;

// ----------------------------------------------------------------------------
// https://github.com/OpenZeppelin/zeppelin-solidity/blob/master/contracts/math/SafeMath.sol
// ----------------------------------------------------------------------------
library SafeMath {
    function sub(uint256 a, uint256 b) internal pure returns (uint256) {
        assert(a >= b);
        return a - b;
    }

    function add(uint256 a, uint256 b) internal pure returns (uint256) {
        uint256 c = a + b;
        assert(c >= a);
        return c;
    }
}

// ----------------------------------------------------------------------------
// https://github.com/ethereum/EIPs/issues/179
// ----------------------------------------------------------------------------
contract ERC20Basic {
    function totalSupply() public view returns (uint256);
    function balanceOf(address who) public view returns (uint256);
    function transfer(address to, uint256 value) public returns (bool);
    event Transfer(address indexed from, address indexed to, uint256 value);
}

// ----------------------------------------------------------------------------
// https://github.com/ethereum/EIPs/issues/20
// ----------------------------------------------------------------------------
contract ERC20 is ERC20Basic {
    function allowance(address owner, address spender) public view returns (uint256);
    function transferFrom(address from, address to, uint256 value) public returns (bool);
    function approve(address spender, uint256 value) public returns (bool); 
    event Approval(address indexed owner, address indexed spender, uint256 value);
}

// ----------------------------------------------------------------------------
//
// ----------------------------------------------------------------------------
contract BasicToken is ERC20Basic {
    using SafeMath for uint256;

    uint256 totalSupply_;
    mapping(address => uint256) balances;

    function totalSupply() public view returns (uint256) {
        return totalSupply_;
    }

    function transfer(address _to, uint256 _value) public returns (bool) {
        require(_to != address(0));
        require(_value <= balances[msg.sender]);

        balances[msg.sender] = balances[msg.sender].sub(_value);
        balances[_to] = balances[_to].add(_value);
        emit Transfer(msg.sender, _to, _value);
        return true;
    }

    function balanceOf(address _owner) public view returns (uint256) {
        return balances[_owner];
    }
}

// ----------------------------------------------------------------------------
// https://github.com/ethereum/EIPs/issues/20
// ----------------------------------------------------------------------------
contract StandardToken is ERC20, BasicToken {
    mapping(address => mapping(address => uint256)) internal allowed;

    function transferFrom(address _from, address _to, uint256 _value) public returns (bool) {
        require(_to != address(0));
        require(_value <= balances[_from]);
        require(_value <= allowed[_from][msg.sender]);

        balances[_from] = balances[_from].sub(_value);
        balances[_to] = balances[_to].add(_value);
        allowed[_from][msg.sender] = allowed[_from][msg.sender].sub(_value);
        emit Transfer(_from, _to, _value);
        return true;
    }

    function approve(address _spender, uint256 _value) public returns (bool) {
        allowed[msg.sender][_spender] = _value;
        emit Approval(msg.sender, _spender, _value);
        return true;
    }

    function allowance(address _owner, address _spender) public view returns (uint256) {
        return allowed[_owner][_spender];
    }

    function increaseApproval(address _spender, uint256 _addedValue) public returns (bool) {
        allowed[msg.sender][_spender] = (allowed[msg.sender][_spender].add(_addedValue));
        emit Approval(msg.sender, _spender, allowed[msg.sender][_spender]);
        return true;
    }

    function decreaseApproval(address _spender, uint256 _subtractedValue) public returns (bool) {
        uint256 oldValue = allowed[msg.sender][_spender];

        if (_subtractedValue > oldValue) {
            allowed[msg.sender][_spender] = 0;
        } 
        else {
            allowed[msg.sender][_spender] = oldValue.sub(_subtractedValue);
        }

        emit Approval(msg.sender, _spender, allowed[msg.sender][_spender]);
        return true;
    }
}

// ----------------------------------------------------------------------------
// [email protected]
// ----------------------------------------------------------------------------
contract OwnableToken is StandardToken {
    uint256 public constant OPERATOR_MAX_COUNT = 10;
    uint256 public operatorCount;

    address public owner;
    address[OPERATOR_MAX_COUNT] public operator;
    mapping(address => string) operatorName;

    event ChangeOwner(address indexed prevOwner, address indexed newOwner);
    event AddOperator(address indexed Operator, string name);
    event RemoveOperator(address indexed Operator);

    constructor() public {
        owner = msg.sender;
        operatorCount = 0;

        for (uint256 i = 0; i < OPERATOR_MAX_COUNT; i++) {
            operator[i] = address(0);
        }
    }

    modifier onlyOwner() {
        require(msg.sender == owner); 
        _; 
    }
    
    modifier onlyOperator() {
        require(msg.sender == owner || checkOperator(msg.sender) == true);
        _;
    }
    
    function checkOperator(address _operator) private view returns (bool) {
        for (uint256 i = 0; i < OPERATOR_MAX_COUNT; i++) {
            if (_operator == operator[i]) {
                return true;
            }
        }

        revert();
    }

    function changeOwner(address _newOwner) external onlyOwner returns (bool) {
        require(_newOwner != address(0));
        
        emit ChangeOwner(owner, _newOwner);
        owner = _newOwner;
        return true;
    }

    function addOperator(address _newOperator, string _name) external onlyOwner returns (bool) {
        require(_newOperator != address(0));

        for (uint256 i = 0; i < OPERATOR_MAX_COUNT; i++) {
            if (_newOperator == operator[i]) {
                revert();
            }
        }        
        
        for (i = 0; i < OPERATOR_MAX_COUNT; i++) {
            if (operator[i] == address(0)) {
                operator[i] = _newOperator;
                operatorName[operator[i]] = _name;
                operatorCount++;

                emit AddOperator(_newOperator, _name);
                return true;
            }
        }

        revert();
    }

    function removeOperator(address _operator) external onlyOwner returns (bool) {
        for (uint256 i = 0; i < OPERATOR_MAX_COUNT; i++) {
            if (_operator == operator[i]) {
                operatorName[operator[i]] = "";
                operator[i] = address(0);
                operatorCount--;

                emit RemoveOperator(_operator);
                return true;
            }
        }        

        revert();
    }

    function getOperatorName(address _operator) external onlyOwner view returns (string) {
        return operatorName[_operator];
    }
}

// ----------------------------------------------------------------------------
// [email protected]
// ----------------------------------------------------------------------------
contract RestrictAmount is OwnableToken {
    mapping(address => uint256) public keepAmount;

    event LockAmount(address indexed addr, uint256 indexed amount);
    event DecLockAmount(address indexed addr, uint256 indexed amount);
    event UnlockAmount(address indexed addr);

    function lockAmount(address _address, uint256 _amount) external onlyOperator returns (bool) {
        keepAmount[_address] = _amount;

        if (_amount > 0) emit LockAmount(_address, _amount);
        else emit UnlockAmount(_address);
    }

    function decLockAmount(address _address, uint256 _amount) external onlyOperator returns (bool) {
        uint256 amount = _amount;
        if (amount > keepAmount[_address]) {
            amount = keepAmount[_address];
        }

        keepAmount[_address] = keepAmount[_address].sub(amount);
        emit DecLockAmount(_address, _amount);
    }
}

// ----------------------------------------------------------------------------
// [email protected]
// ----------------------------------------------------------------------------
contract LockAccount is OwnableToken {
    enum LOCK_STATE { unlock, lock, timeLock }

    struct lockInfo {
        LOCK_STATE lock;
        string reason;
        uint256 time;
    }

    mapping(address => lockInfo) lockAccount;

    event LockAddr(address indexed addr, string indexed reason, uint256 time);
    event UnlockAddr(address indexed addr);
    
    modifier checkLockAccount {
        if (   lockAccount[msg.sender].lock == LOCK_STATE.timeLock
            && lockAccount[msg.sender].time <= now ) {
            lockAccount[msg.sender].time = 0;
            lockAccount[msg.sender].reason = "";
            lockAccount[msg.sender].lock = LOCK_STATE.unlock;        
            emit UnlockAddr(msg.sender);
        }

        require(   lockAccount[msg.sender].lock != LOCK_STATE.lock
                && lockAccount[msg.sender].lock != LOCK_STATE.timeLock);
        _;
    }
    
    function lockAddr(address _address, string _reason, uint256 _untilTime) public onlyOperator returns (bool) {
        require(_address != address(0));
        require(_address != owner);
        require(_untilTime == 0 || _untilTime > now);

        if (_untilTime == 0) {
            lockAccount[_address].lock = LOCK_STATE.lock;
        }
        else {
            lockAccount[_address].lock = LOCK_STATE.timeLock;
        }
        
        lockAccount[_address].reason = _reason;
        lockAccount[_address].time = _untilTime;
        emit LockAddr(_address, _reason, _untilTime);
        return true;
    }
    
    function unlockAddr(address _address) public onlyOwner returns (bool) {
        lockAccount[_address].time = 0;
        lockAccount[_address].reason = "";
        lockAccount[_address].lock = LOCK_STATE.unlock;        
        emit UnlockAddr(_address);
        return true;
    } 

    function getLockInfo(address _address) public returns (LOCK_STATE, string, uint256) {
        if (
               lockAccount[_address].lock == LOCK_STATE.timeLock
            && lockAccount[_address].time <= now ) {
            lockAccount[_address].time = 0;
            lockAccount[_address].reason = "";
            lockAccount[_address].lock = LOCK_STATE.unlock;        
        }

        return (  lockAccount[_address].lock
                , lockAccount[_address].reason
                , lockAccount[_address].time );
    }
}

// ----------------------------------------------------------------------------
// [email protected]
// ----------------------------------------------------------------------------
contract TransferFromOperator is RestrictAmount, LockAccount {
    function transferToMany(address[] _to, uint256[] _value) onlyOperator checkLockAccount external returns (bool) {
        require(_to.length == _value.length);

        uint256 i;
        uint256 totValue = 0;
        for (i = 0; i < _to.length; i++) {
            require(_to[i] != address(0));
            totValue = totValue.add(_value[i]);
        }
        require(balances[msg.sender].sub(keepAmount[msg.sender]) >= totValue);

        for (i = 0; i < _to.length; i++) {
            balances[msg.sender] = balances[msg.sender].sub(_value[i]);
            balances[_to[i]] = balances[_to[i]].add(_value[i]);
            emit Transfer(msg.sender, _to[i], _value[i]);
        }

        return true;
    }

    function transferFromOperator(address _to, uint256 _value) onlyOperator checkLockAccount public returns (bool) {
        require(_to != address(0));
        require(balances[msg.sender].sub(keepAmount[msg.sender]) >= _value);

        balances[msg.sender] = balances[msg.sender].sub(_value);
        balances[_to] = balances[_to].add(_value);
        emit Transfer(msg.sender, _to, _value);
        return true;
    }
}

// ----------------------------------------------------------------------------
//
// ----------------------------------------------------------------------------
contract Pausable is OwnableToken {
    bool public paused = false;

    event Pause();
    event Unpause();

    modifier whenNotPaused() {
        require(!paused); 
        _; 
    }
    
    modifier whenPaused() {
        require(paused); 
        _; 
    }

    function pause() external onlyOwner whenNotPaused {
        paused = true;
        emit Pause();
    }

    function unpause() external onlyOwner whenPaused {
        paused = false;
        emit Unpause();
    }
}

// ----------------------------------------------------------------------------
//
// ----------------------------------------------------------------------------
contract ControlledToken is Pausable, TransferFromOperator
{
    function transfer(address _to, uint256 _value) public whenNotPaused checkLockAccount returns (bool) {
        require(balances[msg.sender].sub(keepAmount[msg.sender]) >= _value);
        return super.transfer(_to, _value);
    }

    function transferFrom(address _from, address _to, uint256 _value) public whenNotPaused checkLockAccount returns (bool) {
        require(balances[_from].sub(keepAmount[_from]) >= _value);
        return super.transferFrom(_from, _to, _value);
    }

    function approve(address _spender, uint256 _value) public whenNotPaused checkLockAccount onlyOperator returns (bool) {
        return super.approve(_spender, _value);
    }

    function increaseApproval(address _spender, uint256 _addedValue) public whenNotPaused checkLockAccount onlyOperator returns (bool) {
        return super.increaseApproval(_spender, _addedValue);
    }

    function decreaseApproval(address _spender, uint256 _subtractedValue) public whenNotPaused checkLockAccount onlyOperator returns (bool) {
        return super.decreaseApproval(_spender, _subtractedValue);
    }
}

// ----------------------------------------------------------------------------
//
// ----------------------------------------------------------------------------
contract Burnable is OwnableToken {
    event Burn(address indexed burner, uint256 value);

    function burn(uint256 _value) onlyOwner public {
        require(_value <= balances[owner]);

        balances[owner] = balances[owner].sub(_value);
        totalSupply_ = totalSupply_.sub(_value);
        emit Transfer(owner, address(0), _value);
        emit Burn(msg.sender, _value);
    }
}

// ----------------------------------------------------------------------------
// https://github.com/TokenMarketNet/ico/blob/master/contracts/MintableToken.sol
// ----------------------------------------------------------------------------
contract Mintable is OwnableToken {
    bool public mintingFinished = false;

    event Mint(address indexed to, uint256 value);
    event MintFinished();

    modifier canMint() {
        require(!mintingFinished); 
        _; 
    }

    function mint(address _to, uint256 _value) onlyOwner canMint public returns (bool) {
        require(_to != address(0));

        totalSupply_ = totalSupply_.add(_value);
        balances[_to] = balances[_to].add(_value);
        emit Transfer(address(0), _to, _value);
        emit Mint(_to, _value);
        return true;
    }

    function finishMinting() onlyOwner canMint public returns (bool) {
        mintingFinished = true;
        emit MintFinished();
        return true;
    }
}

// ----------------------------------------------------------------------------
//
// ----------------------------------------------------------------------------
contract ManageSupplyToken is Mintable, Burnable {
    /* ... */
}

// ----------------------------------------------------------------------------
// [email protected]
// ----------------------------------------------------------------------------
contract PPCToken is ControlledToken, ManageSupplyToken {
    uint256 private constant INIT_SUPPLY = 1900000000;
    string public name = "PHILLIPS PAY COIN";
    string public symbol = "PPC";
    uint256 public decimals = 1;
    uint256 public initSupply = INIT_SUPPLY * (10 ** uint(decimals));

    constructor() payable public {
        totalSupply_ = initSupply;
        balances[msg.sender] = totalSupply_;
        emit Transfer(0x0, msg.sender, totalSupply_);
    }
}

Contract Security Audit

Contract ABI

[{"constant":true,"inputs":[],"name":"mintingFinished","outputs":[{"name":"","type":"bool"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":true,"inputs":[],"name":"name","outputs":[{"name":"","type":"string"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":false,"inputs":[{"name":"_spender","type":"address"},{"name":"_value","type":"uint256"}],"name":"approve","outputs":[{"name":"","type":"bool"}],"payable":false,"stateMutability":"nonpayable","type":"function"},{"constant":false,"inputs":[{"name":"_address","type":"address"},{"name":"_amount","type":"uint256"}],"name":"decLockAmount","outputs":[{"name":"","type":"bool"}],"payable":false,"stateMutability":"nonpayable","type":"function"},{"constant":true,"inputs":[],"name":"totalSupply","outputs":[{"name":"","type":"uint256"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":false,"inputs":[{"name":"_from","type":"address"},{"name":"_to","type":"address"},{"name":"_value","type":"uint256"}],"name":"transferFrom","outputs":[{"name":"","type":"bool"}],"payable":false,"stateMutability":"nonpayable","type":"function"},{"constant":false,"inputs":[{"name":"_newOperator","type":"address"},{"name":"_name","type":"string"}],"name":"addOperator","outputs":[{"name":"","type":"bool"}],"payable":false,"stateMutability":"nonpayable","type":"function"},{"constant":true,"inputs":[],"name":"decimals","outputs":[{"name":"","type":"uint256"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":false,"inputs":[],"name":"unpause","outputs":[],"payable":false,"stateMutability":"nonpayable","type":"function"},{"constant":false,"inputs":[{"name":"_to","type":"address"},{"name":"_value","type":"uint256"}],"name":"mint","outputs":[{"name":"","type":"bool"}],"payable":false,"stateMutability":"nonpayable","type":"function"},{"constant":false,"inputs":[{"name":"_value","type":"uint256"}],"name":"burn","outputs":[],"payable":false,"stateMutability":"nonpayable","type":"function"},{"constant":false,"inputs":[{"name":"_address","type":"address"},{"name":"_amount","type":"uint256"}],"name":"lockAmount","outputs":[{"name":"","type":"bool"}],"payable":false,"stateMutability":"nonpayable","type":"function"},{"constant":true,"inputs":[],"name":"paused","outputs":[{"name":"","type":"bool"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":false,"inputs":[{"name":"_spender","type":"address"},{"name":"_subtractedValue","type":"uint256"}],"name":"decreaseApproval","outputs":[{"name":"","type":"bool"}],"payable":false,"stateMutability":"nonpayable","type":"function"},{"constant":true,"inputs":[{"name":"","type":"address"}],"name":"keepAmount","outputs":[{"name":"","type":"uint256"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":true,"inputs":[{"name":"_owner","type":"address"}],"name":"balanceOf","outputs":[{"name":"","type":"uint256"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":false,"inputs":[{"name":"_address","type":"address"}],"name":"getLockInfo","outputs":[{"name":"","type":"uint8"},{"name":"","type":"string"},{"name":"","type":"uint256"}],"payable":false,"stateMutability":"nonpayable","type":"function"},{"constant":false,"inputs":[{"name":"_to","type":"address[]"},{"name":"_value","type":"uint256[]"}],"name":"transferToMany","outputs":[{"name":"","type":"bool"}],"payable":false,"stateMutability":"nonpayable","type":"function"},{"constant":true,"inputs":[],"name":"operatorCount","outputs":[{"name":"","type":"uint256"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":false,"inputs":[],"name":"finishMinting","outputs":[{"name":"","type":"bool"}],"payable":false,"stateMutability":"nonpayable","type":"function"},{"constant":false,"inputs":[],"name":"pause","outputs":[],"payable":false,"stateMutability":"nonpayable","type":"function"},{"constant":true,"inputs":[],"name":"owner","outputs":[{"name":"","type":"address"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":true,"inputs":[],"name":"symbol","outputs":[{"name":"","type":"string"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":true,"inputs":[],"name":"initSupply","outputs":[{"name":"","type":"uint256"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":true,"inputs":[{"name":"_operator","type":"address"}],"name":"getOperatorName","outputs":[{"name":"","type":"string"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":false,"inputs":[{"name":"_newOwner","type":"address"}],"name":"changeOwner","outputs":[{"name":"","type":"bool"}],"payable":false,"stateMutability":"nonpayable","type":"function"},{"constant":false,"inputs":[{"name":"_to","type":"address"},{"name":"_value","type":"uint256"}],"name":"transfer","outputs":[{"name":"","type":"bool"}],"payable":false,"stateMutability":"nonpayable","type":"function"},{"constant":true,"inputs":[{"name":"","type":"uint256"}],"name":"operator","outputs":[{"name":"","type":"address"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":false,"inputs":[{"name":"_operator","type":"address"}],"name":"removeOperator","outputs":[{"name":"","type":"bool"}],"payable":false,"stateMutability":"nonpayable","type":"function"},{"constant":false,"inputs":[{"name":"_address","type":"address"},{"name":"_reason","type":"string"},{"name":"_untilTime","type":"uint256"}],"name":"lockAddr","outputs":[{"name":"","type":"bool"}],"payable":false,"stateMutability":"nonpayable","type":"function"},{"constant":false,"inputs":[{"name":"_to","type":"address"},{"name":"_value","type":"uint256"}],"name":"transferFromOperator","outputs":[{"name":"","type":"bool"}],"payable":false,"stateMutability":"nonpayable","type":"function"},{"constant":false,"inputs":[{"name":"_spender","type":"address"},{"name":"_addedValue","type":"uint256"}],"name":"increaseApproval","outputs":[{"name":"","type":"bool"}],"payable":false,"stateMutability":"nonpayable","type":"function"},{"constant":true,"inputs":[{"name":"_owner","type":"address"},{"name":"_spender","type":"address"}],"name":"allowance","outputs":[{"name":"","type":"uint256"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":true,"inputs":[],"name":"OPERATOR_MAX_COUNT","outputs":[{"name":"","type":"uint256"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":false,"inputs":[{"name":"_address","type":"address"}],"name":"unlockAddr","outputs":[{"name":"","type":"bool"}],"payable":false,"stateMutability":"nonpayable","type":"function"},{"inputs":[],"payable":true,"stateMutability":"payable","type":"constructor"},{"anonymous":false,"inputs":[{"indexed":true,"name":"burner","type":"address"},{"indexed":false,"name":"value","type":"uint256"}],"name":"Burn","type":"event"},{"anonymous":false,"inputs":[{"indexed":true,"name":"to","type":"address"},{"indexed":false,"name":"value","type":"uint256"}],"name":"Mint","type":"event"},{"anonymous":false,"inputs":[],"name":"MintFinished","type":"event"},{"anonymous":false,"inputs":[{"indexed":true,"name":"addr","type":"address"},{"indexed":true,"name":"reason","type":"string"},{"indexed":false,"name":"time","type":"uint256"}],"name":"LockAddr","type":"event"},{"anonymous":false,"inputs":[{"indexed":true,"name":"addr","type":"address"}],"name":"UnlockAddr","type":"event"},{"anonymous":false,"inputs":[{"indexed":true,"name":"addr","type":"address"},{"indexed":true,"name":"amount","type":"uint256"}],"name":"LockAmount","type":"event"},{"anonymous":false,"inputs":[{"indexed":true,"name":"addr","type":"address"},{"indexed":true,"name":"amount","type":"uint256"}],"name":"DecLockAmount","type":"event"},{"anonymous":false,"inputs":[{"indexed":true,"name":"addr","type":"address"}],"name":"UnlockAmount","type":"event"},{"anonymous":false,"inputs":[],"name":"Pause","type":"event"},{"anonymous":false,"inputs":[],"name":"Unpause","type":"event"},{"anonymous":false,"inputs":[{"indexed":true,"name":"prevOwner","type":"address"},{"indexed":true,"name":"newOwner","type":"address"}],"name":"ChangeOwner","type":"event"},{"anonymous":false,"inputs":[{"indexed":true,"name":"Operator","type":"address"},{"indexed":false,"name":"name","type":"string"}],"name":"AddOperator","type":"event"},{"anonymous":false,"inputs":[{"indexed":true,"name":"Operator","type":"address"}],"name":"RemoveOperator","type":"event"},{"anonymous":false,"inputs":[{"indexed":true,"name":"owner","type":"address"},{"indexed":true,"name":"spender","type":"address"},{"indexed":false,"name":"value","type":"uint256"}],"name":"Approval","type":"event"},{"anonymous":false,"inputs":[{"indexed":true,"name":"from","type":"address"},{"indexed":true,"name":"to","type":"address"},{"indexed":false,"name":"value","type":"uint256"}],"name":"Transfer","type":"event"}]

6010805460ff1990811690915560138054909116905560c0604052601160808190527f5048494c4c4950532050415920434f494e00000000000000000000000000000060a09081526200005691601491906200015d565b506040805180820190915260038082527f505043000000000000000000000000000000000000000000000000000000000060209092019182526200009d916015916200015d565b50600160165564046c7cfe0060175560048054600160a060020a03191633179055600060038190555b600a81101562000108576000600582600a8110620000e057fe5b018054600160a060020a031916600160a060020a0392909216919091179055600101620000c6565b5060175460008181553380825260016020908152604080842085905580519485525191937fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef929081900390910190a362000202565b828054600181600116156101000203166002900490600052602060002090601f016020900481019282601f10620001a057805160ff1916838001178555620001d0565b82800160010185558215620001d0579182015b82811115620001d0578251825591602001919060010190620001b3565b50620001de929150620001e2565b5090565b620001ff91905b80821115620001de5760008155600101620001e9565b90565b61277580620002126000396000f3006080604052600436106101b65763ffffffff7c010000000000000000000000000000000000000000000000000000000060003504166305d2035b81146101bb57806306fdde03146101e4578063095ea7b31461026e5780630c4061441461029257806318160ddd146102b657806323b872dd146102dd5780632430df8914610307578063313ce567146103345780633f4ba83a1461034957806340c10f191461036057806342966c681461038457806359b1924d1461039c5780635c975abb146103c057806366188463146103d5578063681f966a146103f957806370a082311461041a5780637238ccdb1461043b5780637c33ebfd146104f05780637c6f31581461051c5780637d64bcb4146105315780638456cb59146105465780638da5cb5b1461055b57806395d89b411461058c57806397d63f93146105a1578063a0e0ce3d146105b6578063a6f9dae1146105d7578063a9059cbb146105f8578063ab3d047f1461061c578063ac8a584a14610634578063cd509cd214610655578063d124ebda146106be578063d73dd623146106e2578063dd62ed3e14610706578063e8f371001461072d578063f8cf0e1c14610742575b600080fd5b3480156101c757600080fd5b506101d0610763565b604080519115158252519081900360200190f35b3480156101f057600080fd5b506101f961076c565b6040805160208082528351818301528351919283929083019185019080838360005b8381101561023357818101518382015260200161021b565b50505050905090810190601f1680156102605780820380516001836020036101000a031916815260200191505b509250505060405180910390f35b34801561027a57600080fd5b506101d0600160a060020a03600435166024356107fa565b34801561029e57600080fd5b506101d0600160a060020a0360043516602435610954565b3480156102c257600080fd5b506102cb610a39565b60408051918252519081900360200190f35b3480156102e957600080fd5b506101d0600160a060020a0360043581169060243516604435610a40565b34801561031357600080fd5b506101d060048035600160a060020a03169060248035908101910135610bae565b34801561034057600080fd5b506102cb610d39565b34801561035557600080fd5b5061035e610d3f565b005b34801561036c57600080fd5b506101d0600160a060020a0360043516602435610d9c565b34801561039057600080fd5b5061035e600435610ea3565b3480156103a857600080fd5b506101d0600160a060020a0360043516602435610faa565b3480156103cc57600080fd5b506101d0611072565b3480156103e157600080fd5b506101d0600160a060020a036004351660243561107b565b34801561040557600080fd5b506102cb600160a060020a03600435166111cc565b34801561042657600080fd5b506102cb600160a060020a03600435166111de565b34801561044757600080fd5b5061045c600160a060020a03600435166111f9565b6040518084600281111561046c57fe5b60ff16815260200180602001838152602001828103825284818151815260200191508051906020019080838360005b838110156104b357818101518382015260200161049b565b50505050905090810190601f1680156104e05780820380516001836020036101000a031916815260200191505b5094505050505060405180910390f35b3480156104fc57600080fd5b506101d06024600480358281019290820135918135918201910135611384565b34801561052857600080fd5b506102cb6116e4565b34801561053d57600080fd5b506101d06116ea565b34801561055257600080fd5b5061035e611750565b34801561056757600080fd5b506105706117af565b60408051600160a060020a039092168252519081900360200190f35b34801561059857600080fd5b506101f96117be565b3480156105ad57600080fd5b506102cb611819565b3480156105c257600080fd5b506101f9600160a060020a036004351661181f565b3480156105e357600080fd5b506101d0600160a060020a03600435166118e2565b34801561060457600080fd5b506101d0600160a060020a036004351660243561197d565b34801561062857600080fd5b50610570600435611ad9565b34801561064057600080fd5b506101d0600160a060020a0360043516611af6565b34801561066157600080fd5b5060408051602060046024803582810135601f81018590048502860185019096528585526101d0958335600160a060020a03169536956044949193909101919081908401838280828437509497505093359450611c159350505050565b3480156106ca57600080fd5b506101d0600160a060020a0360043516602435611dd0565b3480156106ee57600080fd5b506101d0600160a060020a0360043516602435611ff3565b34801561071257600080fd5b506102cb600160a060020a0360043581169060243516612144565b34801561073957600080fd5b506102cb61216f565b34801561074e57600080fd5b506101d0600160a060020a0360043516612174565b60135460ff1681565b6014805460408051602060026001851615610100026000190190941693909304601f810184900484028201840190925281815292918301828280156107f25780601f106107c7576101008083540402835291602001916107f2565b820191906000526020600020905b8154815290600101906020018083116107d557829003601f168201915b505050505081565b60105460009060ff161561080d57600080fd5b60023360009081526012602052604090205460ff16600281111561082d57fe5b14801561084c5750336000908152601260205260409020600201544210155b156108bc573360008181526012602081815260408084206002810185905581518084019283905285815295909452919052915161088f9260019092019190612603565b5033600081815260126020526040808220805460ff191690555160008051602061272a8339815191529190a25b60013360009081526012602052604090205460ff1660028111156108dc57fe5b14158015610908575060023360009081526012602052604090205460ff16600281111561090557fe5b14155b151561091357600080fd5b600454600160a060020a0316331480610936575061093033612212565b15156001145b151561094157600080fd5b61094b8383612252565b90505b92915050565b6004546000908190600160a060020a031633148061097c575061097633612212565b15156001145b151561098757600080fd5b50600160a060020a03831660009081526011602052604090205482908111156109c55750600160a060020a0383166000908152601160205260409020545b600160a060020a0384166000908152601160205260409020546109ee908263ffffffff6122b816565b600160a060020a03851660008181526011602052604080822093909355915185927f9e453b6db116e6f041ae8dd5f9be0aa914d80fbbcb8aa822e642a33c682e462691a35092915050565b6000545b90565b60105460009060ff1615610a5357600080fd5b60023360009081526012602052604090205460ff166002811115610a7357fe5b148015610a925750336000908152601260205260409020600201544210155b15610b025733600081815260126020818152604080842060028101859055815180840192839052858152959094529190529151610ad59260019092019190612603565b5033600081815260126020526040808220805460ff191690555160008051602061272a8339815191529190a25b60013360009081526012602052604090205460ff166002811115610b2257fe5b14158015610b4e575060023360009081526012602052604090205460ff166002811115610b4b57fe5b14155b1515610b5957600080fd5b600160a060020a0384166000908152601160209081526040808320546001909252909120548391610b90919063ffffffff6122b816565b1015610b9b57600080fd5b610ba68484846122ca565b949350505050565b6004546000908190600160a060020a03163314610bca57600080fd5b600160a060020a0385161515610bdf57600080fd5b5060005b600a811015610c1b57600581600a8110610bf957fe5b0154600160a060020a0386811691161415610c1357600080fd5b600101610be3565b5060005b600a8110156101b6576000600582600a8110610c3757fe5b0154600160a060020a03161415610d295784600582600a8110610c5657fe5b01805473ffffffffffffffffffffffffffffffffffffffff1916600160a060020a03929092169190911790558383600f6000600585600a8110610c9557fe5b0154600160a060020a031681526020810191909152604001600020610cbb929091612681565b506003805460010190556040805160208082528101859052600160a060020a038716917f8a8baf1995c229f16f5876c959941bfeb6bbdb27212d5277b7e4112165a17ad59187918791908190810184848082843760405192018290039550909350505050a260019150610d31565b600101610c1f565b509392505050565b60165481565b600454600160a060020a03163314610d5657600080fd5b60105460ff161515610d6757600080fd5b6010805460ff191690556040517f7805862f689e2f13df9f062ff482ad3ad112aca9e0847911ed832e158c525b3390600090a1565b600454600090600160a060020a03163314610db657600080fd5b60135460ff1615610dc657600080fd5b600160a060020a0383161515610ddb57600080fd5b600054610dee908363ffffffff61243116565b6000908155600160a060020a038416815260016020526040902054610e19908363ffffffff61243116565b600160a060020a038416600081815260016020908152604080832094909455835186815293519293919260008051602061270a8339815191529281900390910190a3604080518381529051600160a060020a038516917f0f6798a560793a54c3bcfe86a93cde1e73087d944c0ea20544137d4121396885919081900360200190a250600192915050565b600454600160a060020a03163314610eba57600080fd5b600454600160a060020a0316600090815260016020526040902054811115610ee157600080fd5b600454600160a060020a0316600090815260016020526040902054610f0c908263ffffffff6122b816565b600454600160a060020a031660009081526001602052604081209190915554610f3b908263ffffffff6122b816565b6000908155600454604080518481529051600160a060020a03929092169160008051602061270a8339815191529181900360200190a360408051828152905133917fcc16f5dbb4873280815c1ee09dbd06736cffcc184412cf7a71a0fdb75d397ca5919081900360200190a250565b600454600090600160a060020a0316331480610fd05750610fca33612212565b15156001145b1515610fdb57600080fd5b600160a060020a0383166000908152601160205260408120839055821115611038576040518290600160a060020a038516907f7985c0614a964917f3b2eb2040368a76d16ab8614eed347f5f34f68fd4d65fd790600090a361094e565b604051600160a060020a038416907f91069cf16bdc64c6613f57b0f30cf16fc170f6f4539190c9a6492917fa8e14cc90600090a292915050565b60105460ff1681565b60105460009060ff161561108e57600080fd5b60023360009081526012602052604090205460ff1660028111156110ae57fe5b1480156110cd5750336000908152601260205260409020600201544210155b1561113d57336000818152601260208181526040808420600281018590558151808401928390528581529590945291905291516111109260019092019190612603565b5033600081815260126020526040808220805460ff191690555160008051602061272a8339815191529190a25b60013360009081526012602052604090205460ff16600281111561115d57fe5b14158015611189575060023360009081526012602052604090205460ff16600281111561118657fe5b14155b151561119457600080fd5b600454600160a060020a03163314806111b757506111b133612212565b15156001145b15156111c257600080fd5b61094b8383612447565b60116020526000908152604090205481565b600160a060020a031660009081526001602052604090205490565b60006060816002600160a060020a03851660009081526012602052604090205460ff16600281111561122757fe5b14801561124f5750600160a060020a0384166000908152601260205260409020600201544210155b156112bd57600160a060020a03841660008181526012602081815260408084206002810185905581518084019283905285815295909452919052915161129b9260019092019190612603565b50600160a060020a0384166000908152601260205260409020805460ff191690555b600160a060020a03841660009081526012602090815260409182902080546002808301546001938401805487516101009682161596909602600019011692909204601f810186900486028501860190965285845260ff9092169490939192918491908301828280156113705780601f1061134557610100808354040283529160200191611370565b820191906000526020600020905b81548152906001019060200180831161135357829003601f168201915b505050505091509250925092509193909250565b60045460009081908190600160a060020a03163314806113ae57506113a833612212565b15156001145b15156113b957600080fd5b60023360009081526012602052604090205460ff1660028111156113d957fe5b1480156113f85750336000908152601260205260409020600201544210155b15611468573360008181526012602081815260408084206002810185905581518084019283905285815295909452919052915161143b9260019092019190612603565b5033600081815260126020526040808220805460ff191690555160008051602061272a8339815191529190a25b60013360009081526012602052604090205460ff16600281111561148857fe5b141580156114b4575060023360009081526012602052604090205460ff1660028111156114b157fe5b14155b15156114bf57600080fd5b8584146114cb57600080fd5b5060009050805b858210156115405760008787848181106114e857fe5b90506020020135600160a060020a0316600160a060020a03161415151561150e57600080fd5b61153385858481811061151d57fe5b905060200201358261243190919063ffffffff16565b60019092019190506114d2565b33600090815260116020908152604080832054600190925290912054829161156e919063ffffffff6122b816565b101561157957600080fd5b600091505b858210156116d7576115ba85858481811061159557fe5b336000908152600160209081526040909120549391020135905063ffffffff6122b816565b336000908152600160205260409020556116318585848181106115d957fe5b90506020020135600160008a8a8781811015156115f257fe5b90506020020135600160a060020a0316600160a060020a0316600160a060020a031681526020019081526020016000205461243190919063ffffffff16565b6001600089898681811061164157fe5b60209081029290920135600160a060020a03168352508101919091526040016000205586868381811061167057fe5b90506020020135600160a060020a0316600160a060020a031633600160a060020a031660008051602061270a83398151915287878681811015156116b057fe5b905060200201356040518082815260200191505060405180910390a360019091019061157e565b5060019695505050505050565b60035481565b600454600090600160a060020a0316331461170457600080fd5b60135460ff161561171457600080fd5b6013805460ff191660011790556040517fae5184fba832cb2b1f702aca6117b8d265eaf03ad33eb133f19dde0f5920fa0890600090a150600190565b600454600160a060020a0316331461176757600080fd5b60105460ff161561177757600080fd5b6010805460ff191660011790556040517f6985a02210a168e66602d3235cb6db0e70f92b3ba4d376a33c0f3d9434bff62590600090a1565b600454600160a060020a031681565b6015805460408051602060026001851615610100026000190190941693909304601f810184900484028201840190925281815292918301828280156107f25780601f106107c7576101008083540402835291602001916107f2565b60175481565b600454606090600160a060020a0316331461183957600080fd5b600160a060020a0382166000908152600f602090815260409182902080548351601f6002600019610100600186161502019093169290920491820184900484028101840190945280845290918301828280156118d65780601f106118ab576101008083540402835291602001916118d6565b820191906000526020600020905b8154815290600101906020018083116118b957829003601f168201915b50505050509050919050565b600454600090600160a060020a031633146118fc57600080fd5b600160a060020a038216151561191157600080fd5b600454604051600160a060020a038085169216907f9aecf86140d81442289f667eb72e1202a8fbb3478a686659952e145e8531965690600090a35060048054600160a060020a03831673ffffffffffffffffffffffffffffffffffffffff199091161790556001919050565b60105460009060ff161561199057600080fd5b60023360009081526012602052604090205460ff1660028111156119b057fe5b1480156119cf5750336000908152601260205260409020600201544210155b15611a3f5733600081815260126020818152604080842060028101859055815180840192839052858152959094529190529151611a129260019092019190612603565b5033600081815260126020526040808220805460ff191690555160008051602061272a8339815191529190a25b60013360009081526012602052604090205460ff166002811115611a5f57fe5b14158015611a8b575060023360009081526012602052604090205460ff166002811115611a8857fe5b14155b1515611a9657600080fd5b336000908152601160209081526040808320546001909252909120548391611ac4919063ffffffff6122b816565b1015611acf57600080fd5b61094b8383612537565b600581600a8110611ae657fe5b0154600160a060020a0316905081565b6004546000908190600160a060020a03163314611b1257600080fd5b5060005b600a8110156101b657600581600a8110611b2c57fe5b0154600160a060020a0384811691161415611c075760408051602081019091526000808252600f90600584600a8110611b6157fe5b0154600160a060020a031681526020808201929092526040016000208251611b8f9391929190910190612603565b506000600582600a8110611b9f57fe5b01805473ffffffffffffffffffffffffffffffffffffffff1916600160a060020a0392831617905560038054600019019055604051908416907f6b4be2dd49eba45ba43390fbe7da13e2b965d255db41d6a0fcf6d2e15ac1fccb90600090a260019150611c0f565b600101611b16565b50919050565b600454600090600160a060020a0316331480611c3b5750611c3533612212565b15156001145b1515611c4657600080fd5b600160a060020a0384161515611c5b57600080fd5b600454600160a060020a0385811691161415611c7657600080fd5b811580611c8257504282115b1515611c8d57600080fd5b811515611cbc57600160a060020a0384166000908152601260205260409020805460ff19166001179055611ce0565b600160a060020a0384166000908152601260205260409020805460ff191660021790555b600160a060020a03841660009081526012602090815260409091208451611d0f92600190920191860190612603565b50600160a060020a0384166000908152601260209081526040918290206002018490559051845185928291908401908083835b60208310611d615780518252601f199092019160209182019101611d42565b51815160209384036101000a6000190180199092169116179052604080519290940182900382208883529351939550600160a060020a038a1694507f27801699aef5c8869bb8b1183e27aee43d3588017e375117de42013b44ed4c9d9391829003019150a35060019392505050565b600454600090600160a060020a0316331480611df65750611df033612212565b15156001145b1515611e0157600080fd5b60023360009081526012602052604090205460ff166002811115611e2157fe5b148015611e405750336000908152601260205260409020600201544210155b15611eb05733600081815260126020818152604080842060028101859055815180840192839052858152959094529190529151611e839260019092019190612603565b5033600081815260126020526040808220805460ff191690555160008051602061272a8339815191529190a25b60013360009081526012602052604090205460ff166002811115611ed057fe5b14158015611efc575060023360009081526012602052604090205460ff166002811115611ef957fe5b14155b1515611f0757600080fd5b600160a060020a0383161515611f1c57600080fd5b336000908152601160209081526040808320546001909252909120548391611f4a919063ffffffff6122b816565b1015611f5557600080fd5b33600090815260016020526040902054611f75908363ffffffff6122b816565b3360009081526001602052604080822092909255600160a060020a03851681522054611fa7908363ffffffff61243116565b600160a060020a03841660008181526001602090815260409182902093909355805185815290519192339260008051602061270a8339815191529281900390910190a350600192915050565b60105460009060ff161561200657600080fd5b60023360009081526012602052604090205460ff16600281111561202657fe5b1480156120455750336000908152601260205260409020600201544210155b156120b557336000818152601260208181526040808420600281018590558151808401928390528581529590945291905291516120889260019092019190612603565b5033600081815260126020526040808220805460ff191690555160008051602061272a8339815191529190a25b60013360009081526012602052604090205460ff1660028111156120d557fe5b14158015612101575060023360009081526012602052604090205460ff1660028111156120fe57fe5b14155b151561210c57600080fd5b600454600160a060020a031633148061212f575061212933612212565b15156001145b151561213a57600080fd5b61094b838361256a565b600160a060020a03918216600090815260026020908152604080832093909416825291909152205490565b600a81565b600454600090600160a060020a0316331461218e57600080fd5b600160a060020a0382166000818152601260208181526040808420600281018590558151808401928390528581529590945291905291516121d59260019092019190612603565b50600160a060020a038216600081815260126020526040808220805460ff191690555160008051602061272a8339815191529190a2506001919050565b6000805b600a8110156101b657600581600a811061222c57fe5b0154600160a060020a038481169116141561224a5760019150611c0f565b600101612216565b336000818152600260209081526040808320600160a060020a038716808552908352818420869055815186815291519394909390927f8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b925928290030190a350600192915050565b6000818310156122c457fe5b50900390565b6000600160a060020a03831615156122e157600080fd5b600160a060020a03841660009081526001602052604090205482111561230657600080fd5b600160a060020a038416600090815260026020908152604080832033845290915290205482111561233657600080fd5b600160a060020a03841660009081526001602052604090205461235f908363ffffffff6122b816565b600160a060020a038086166000908152600160205260408082209390935590851681522054612394908363ffffffff61243116565b600160a060020a0380851660009081526001602090815260408083209490945591871681526002825282812033825290915220546123d8908363ffffffff6122b816565b600160a060020a038086166000818152600260209081526040808320338452825291829020949094558051868152905192871693919260008051602061270a833981519152929181900390910190a35060019392505050565b60008282018381101561244057fe5b9392505050565b336000908152600260209081526040808320600160a060020a03861684529091528120548083111561249c57336000908152600260209081526040808320600160a060020a03881684529091528120556124d1565b6124ac818463ffffffff6122b816565b336000908152600260209081526040808320600160a060020a03891684529091529020555b336000818152600260209081526040808320600160a060020a0389168085529083529281902054815190815290519293927f8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b925929181900390910190a35060019392505050565b6000600160a060020a038316151561254e57600080fd5b33600090815260016020526040902054821115611f5557600080fd5b336000908152600260209081526040808320600160a060020a038616845290915281205461259e908363ffffffff61243116565b336000818152600260209081526040808320600160a060020a0389168085529083529281902085905580519485525191937f8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b925929081900390910190a350600192915050565b828054600181600116156101000203166002900490600052602060002090601f016020900481019282601f1061264457805160ff1916838001178555612671565b82800160010185558215612671579182015b82811115612671578251825591602001919060010190612656565b5061267d9291506126ef565b5090565b828054600181600116156101000203166002900490600052602060002090601f016020900481019282601f106126c25782800160ff19823516178555612671565b82800160010185558215612671579182015b828111156126715782358255916020019190600101906126d4565b610a3d91905b8082111561267d57600081556001016126f55600ddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef3d0ec4129988ebb574a9b251e7d7343a3e0b9b6d93f8b1c58c98536315359607a165627a7a72305820b4273f471d9d7be0d1a3a0a39826f0a9211660de67b98f998ba2ae0627af15f00029

Deployed ByteCode Sourcemap

16541:485:0:-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;15400:35;;8:9:-1;5:2;;;30:1;27;20:12;5:2;15400:35:0;;;;;;;;;;;;;;;;;;;;;;16660:40;;8:9:-1;5:2;;;30:1;27;20:12;5:2;16660:40:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;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;16660:40:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;13933:174;;8:9:-1;5:2;;;30:1;27;20:12;5:2;-1:-1;13933:174:0;-1:-1:-1;;;;;13933:174:0;;;;;;;8149:355;;8:9:-1;5:2;;;30:1;27;20:12;5:2;-1:-1;8149:355:0;-1:-1:-1;;;;;8149:355:0;;;;;;;2009:91;;8:9:-1;5:2;;;30:1;27;20:12;5:2;2009:91:0;;;;;;;;;;;;;;;;;;;;13674:251;;8:9:-1;5:2;;;30:1;27;20:12;5:2;-1:-1;13674:251:0;-1:-1:-1;;;;;13674:251:0;;;;;;;;;;;;6119:690;;8:9:-1;5:2;;;30:1;27;20:12;5:2;-1:-1;6119:690:0;;;;-1:-1:-1;;;;;6119:690:0;;;;;;;;;;;;;16742:27;;8:9:-1;5:2;;;30:1;27;20:12;5:2;16742:27:0;;;;13088:107;;8:9:-1;5:2;;;30:1;27;20:12;5:2;13088:107:0;;;;;;15610:336;;8:9:-1;5:2;;;30:1;27;20:12;5:2;-1:-1;15610:336:0;-1:-1:-1;;;;;15610:336:0;;;;;;;14809:299;;8:9:-1;5:2;;;30:1;27;20:12;5:2;-1:-1;14809:299:0;;;;;7893:248;;8:9:-1;5:2;;;30:1;27;20:12;5:2;-1:-1;7893:248:0;-1:-1:-1;;;;;7893:248:0;;;;;;;12732:26;;8:9:-1;5:2;;;30:1;27;20:12;5:2;12732:26:0;;;;14325:212;;8:9:-1;5:2;;;30:1;27;20:12;5:2;-1:-1;14325:212:0;-1:-1:-1;;;;;14325:212:0;;;;;;;7649:45;;8:9:-1;5:2;;;30:1;27;20:12;5:2;-1:-1;7649:45:0;-1:-1:-1;;;;;7649:45:0;;;;;2471:107;;8:9:-1;5:2;;;30:1;27;20:12;5:2;-1:-1;2471:107:0;-1:-1:-1;;;;;2471:107:0;;;;;10557:544;;8:9:-1;5:2;;;30:1;27;20:12;5:2;-1:-1;10557:544:0;-1:-1:-1;;;;;10557:544: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;10557:544:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;11360:725;;8:9:-1;5:2;;;30:1;27;20:12;5:2;-1:-1;11360:725:0;;;;;;;;;;;;;;;;;;;;;;;;4824:28;;8:9:-1;5:2;;;30:1;27;20:12;5:2;4824:28:0;;;;15954:158;;8:9:-1;5:2;;;30:1;27;20:12;5:2;15954:158:0;;;;12975:105;;8:9:-1;5:2;;;30:1;27;20:12;5:2;12975:105:0;;;;4861:20;;8:9:-1;5:2;;;30:1;27;20:12;5:2;4861:20:0;;;;;;;;-1:-1:-1;;;;;4861:20:0;;;;;;;;;;;;;;16707:28;;8:9:-1;5:2;;;30:1;27;20:12;5:2;16707:28:0;;;;16776:64;;8:9:-1;5:2;;;30:1;27;20:12;5:2;16776:64:0;;;;7277:134;;8:9:-1;5:2;;;30:1;27;20:12;5:2;-1:-1;7277:134:0;-1:-1:-1;;;;;7277:134:0;;;;;5881:230;;8:9:-1;5:2;;;30:1;27;20:12;5:2;-1:-1;5881:230:0;-1:-1:-1;;;;;5881:230:0;;;;;13435:231;;8:9:-1;5:2;;;30:1;27;20:12;5:2;-1:-1;13435:231:0;-1:-1:-1;;;;;13435:231:0;;;;;;;4888:43;;8:9:-1;5:2;;;30:1;27;20:12;5:2;-1:-1;4888:43:0;;;;;6817:452;;8:9:-1;5:2;;;30:1;27;20:12;5:2;-1:-1;6817:452:0;-1:-1:-1;;;;;6817:452:0;;;;;9621:629;;8:9:-1;5:2;;;30:1;27;20:12;5:2;-1:-1;9621:629:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;;;;;9621:629:0;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;9621:629:0;;-1:-1:-1;;9621:629:0;;;-1:-1:-1;9621:629:0;;-1:-1:-1;;;;9621:629:0;12093:425;;8:9:-1;5:2;;;30:1;27;20:12;5:2;-1:-1;12093:425:0;-1:-1:-1;;;;;12093:425:0;;;;;;;14115:202;;8:9:-1;5:2;;;30:1;27;20:12;5:2;-1:-1;14115:202:0;-1:-1:-1;;;;;14115:202:0;;;;;;;3628:134;;8:9:-1;5:2;;;30:1;27;20:12;5:2;-1:-1;3628:134:0;-1:-1:-1;;;;;3628:134:0;;;;;;;;;;4770:47;;8:9:-1;5:2;;;30:1;27;20:12;5:2;4770:47:0;;;;10262:286;;8:9:-1;5:2;;;30:1;27;20:12;5:2;-1:-1;10262:286:0;-1:-1:-1;;;;;10262:286:0;;;;;15400:35;;;;;;:::o;16660:40::-;;;;;;;;;;;;;;;-1:-1:-1;;16660:40:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::o;13933:174::-;12856:6;;14044:4;;12856:6;;12855:7;12847:16;;;;;;9150:19;9130:10;9118:23;;;;:11;:23;;;;;:28;;;:51;;;;;;;;;:103;;;;-1:-1:-1;9198:10:0;9186:23;;;;:11;:23;;;;;:28;;;9218:3;-1:-1:-1;9186:35:0;9118:103;9111:335;;;9251:10;9270:1;9239:23;;;:11;:23;;;;;;;;:28;;;:32;;;9286:35;;;;;;;;;;;;:23;;;;;;;:35;;;;:30;;;;;:35;;:::i;:::-;-1:-1:-1;9348:10:0;9367:17;9336:23;;;:11;:23;;;;;;:48;;-1:-1:-1;;9336:48:0;;;9412:22;-1:-1:-1;;;;;;;;;;;9412:22:0;9367:17;9412:22;9111:335;9501:15;9481:10;9469:23;;;;:11;:23;;;;;:28;;;:47;;;;;;;;;;:119;;;;-1:-1:-1;9569:19:0;9549:10;9537:23;;;;:11;:23;;;;;:28;;;:51;;;;;;;;;;9469:119;9458:131;;;;;;;;5538:5;;-1:-1:-1;;;;;5538:5:0;5524:10;:19;;:56;;;5547:25;5561:10;5547:13;:25::i;:::-;:33;;5576:4;5547:33;5524:56;5516:65;;;;;;;;14068:31;14082:8;14092:6;14068:13;:31::i;:::-;14061:38;;5592:1;13933:174;;;;:::o;8149:355::-;5538:5;;8238:4;;;;-1:-1:-1;;;;;5538:5:0;5524:10;:19;;:56;;;5547:25;5561:10;5547:13;:25::i;:::-;:33;;5576:4;5547:33;5524:56;5516:65;;;;;;;;-1:-1:-1;;;;;;8303:20:0;;;;;;:10;:20;;;;;;8272:7;;8294:29;;8290:91;;;-1:-1:-1;;;;;;8349:20:0;;;;;;:10;:20;;;;;;8290:91;-1:-1:-1;;;;;8416:20:0;;;;;;:10;:20;;;;;;:32;;8441:6;8416:32;:24;:32;:::i;:::-;-1:-1:-1;;;;;8393:20:0;;;;;;:10;:20;;;;;;:55;;;;8464:32;;8488:7;;8464:32;;;8149:355;;;;;:::o;2009:91::-;2053:7;2080:12;2009:91;;:::o;13674:251::-;12856:6;;13787:4;;12856:6;;12855:7;12847:16;;;;;;9150:19;9130:10;9118:23;;;;:11;:23;;;;;:28;;;:51;;;;;;;;;:103;;;;-1:-1:-1;9198:10:0;9186:23;;;;:11;:23;;;;;:28;;;9218:3;-1:-1:-1;9186:35:0;9118:103;9111:335;;;9251:10;9270:1;9239:23;;;:11;:23;;;;;;;;:28;;;:32;;;9286:35;;;;;;;;;;;;:23;;;;;;;:35;;;;:30;;;;;:35;;:::i;:::-;-1:-1:-1;9348:10:0;9367:17;9336:23;;;:11;:23;;;;;;:48;;-1:-1:-1;;9336:48:0;;;9412:22;-1:-1:-1;;;;;;;;;;;9412:22:0;9367:17;9412:22;9111:335;9501:15;9481:10;9469:23;;;;:11;:23;;;;;:28;;;:47;;;;;;;;;;:119;;;;-1:-1:-1;9569:19:0;9549:10;9537:23;;;;:11;:23;;;;;:28;;;:51;;;;;;;;;;9469:119;9458:131;;;;;;;;-1:-1:-1;;;;;13832:17:0;;;;;;:10;:17;;;;;;;;;13812:8;:15;;;;;;;13854:6;;13812:38;;:15;:38;:19;:38;:::i;:::-;:48;;13804:57;;;;;;13879:38;13898:5;13905:3;13910:6;13879:18;:38::i;:::-;13872:45;13674:251;-1:-1:-1;;;;13674:251:0:o;6119:690::-;5441:5;;6204:4;;;;-1:-1:-1;;;;;5441:5:0;5427:10;:19;5419:28;;;;;;-1:-1:-1;;;;;6229:26:0;;;;6221:35;;;;;;-1:-1:-1;6286:1:0;6269:151;4815:2;6289:1;:22;6269:151;;;6353:8;6362:1;6353:11;;;;;;;;;-1:-1:-1;;;;;6337:27:0;;;6353:11;;6337:27;6333:76;;;6385:8;;;6333:76;6313:3;;6269:151;;;-1:-1:-1;6457:1:0;6448:333;4815:2;6460:1;:22;6448:333;;;6531:1;6508:8;6517:1;6508:11;;;;;;;;;-1:-1:-1;;;;;6508:11:0;:25;6504:266;;;6568:12;6554:8;6563:1;6554:11;;;;;;;;:26;;-1:-1:-1;;6554:26:0;-1:-1:-1;;;;;6554:26:0;;;;;;;;;;6627:5;;6599:12;-1:-1:-1;6612:8:0;6621:1;6612:11;;;;;;;;;-1:-1:-1;;;;;6612:11:0;6599:25;;;;;;;;;;;6612:11;6599:25;:33;;:25;;:33;:::i;:::-;-1:-1:-1;6651:13:0;:15;;;;;;6692:32;;;;;;;;;;;;-1:-1:-1;;;;;6692:32:0;;;;;6718:5;;;;6692:32;;;;;6718:5;;;;6692:32;;;;;;;;;;-1:-1:-1;6692:32:0;;-1:-1:-1;;;;6692:32:0;6750:4;6743:11;;;;6504:266;6484:3;;6448:333;;5459:1;6119:690;;;;;;:::o;16742:27::-;;;;:::o;13088:107::-;5441:5;;-1:-1:-1;;;;;5441:5:0;5427:10;:19;5419:28;;;;;;12938:6;;;;12930:15;;;;;;;;13148:6;:14;;-1:-1:-1;;13148:14:0;;;13178:9;;;;13157:5;;13178:9;13088:107::o;15610:336::-;5441:5;;15687:4;;-1:-1:-1;;;;;5441:5:0;5427:10;:19;5419:28;;;;;;15564:15;;;;15563:16;15555:25;;;;;;-1:-1:-1;;;;;15712:17:0;;;;15704:26;;;;;;15758:12;;:24;;15775:6;15758:24;:16;:24;:::i;:::-;15743:12;:39;;;-1:-1:-1;;;;;15809:13:0;;;;:8;:13;;;;;;:25;;15827:6;15809:25;:17;:25;:::i;:::-;-1:-1:-1;;;;;15793:13:0;;;;;;:8;:13;;;;;;;;:41;;;;15850:33;;;;;;;15793:13;;;;-1:-1:-1;;;;;;;;;;;15850:33:0;;;;;;;;;15899:17;;;;;;;;-1:-1:-1;;;;;15899:17:0;;;;;;;;;;;;;-1:-1:-1;15934:4:0;15610:336;;;;:::o;14809:299::-;5441:5;;-1:-1:-1;;;;;5441:5:0;5427:10;:19;5419:28;;;;;;14894:5;;-1:-1:-1;;;;;14894:5:0;14885:15;;;;:8;:15;;;;;;14875:25;;;14867:34;;;;;;14941:5;;-1:-1:-1;;;;;14941:5:0;14932:15;;;;:8;:15;;;;;;:27;;14952:6;14932:27;:19;:27;:::i;:::-;14923:5;;-1:-1:-1;;;;;14923:5:0;14914:15;;;;:8;:15;;;;;:45;;;;14985:12;:24;;15002:6;14985:24;:16;:24;:::i;:::-;14970:12;:39;;;15034:5;;15025:35;;;;;;;;-1:-1:-1;;;;;15034:5:0;;;;;-1:-1:-1;;;;;;;;;;;15025:35:0;;;;;;;;15076:24;;;;;;;;15081:10;;15076:24;;;;;;;;;;14809:299;:::o;7893:248::-;5538:5;;7979:4;;-1:-1:-1;;;;;5538:5:0;5524:10;:19;;:56;;;5547:25;5561:10;5547:13;:25::i;:::-;:33;;5576:4;5547:33;5524:56;5516:65;;;;;;;;-1:-1:-1;;;;;7996:20:0;;;;;;:10;:20;;;;;:30;;;8043:11;;8039:94;;;8061:29;;8082:7;;-1:-1:-1;;;;;8061:29:0;;;;;;;;8039:94;;;8111:22;;-1:-1:-1;;;;;8111:22:0;;;;;;;;7893:248;;;;:::o;12732:26::-;;;;;;:::o;14325:212::-;12856:6;;14455:4;;12856:6;;12855:7;12847:16;;;;;;9150:19;9130:10;9118:23;;;;:11;:23;;;;;:28;;;:51;;;;;;;;;:103;;;;-1:-1:-1;9198:10:0;9186:23;;;;:11;:23;;;;;:28;;;9218:3;-1:-1:-1;9186:35:0;9118:103;9111:335;;;9251:10;9270:1;9239:23;;;:11;:23;;;;;;;;:28;;;:32;;;9286:35;;;;;;;;;;;;:23;;;;;;;:35;;;;:30;;;;;:35;;:::i;:::-;-1:-1:-1;9348:10:0;9367:17;9336:23;;;:11;:23;;;;;;:48;;-1:-1:-1;;9336:48:0;;;9412:22;-1:-1:-1;;;;;;;;;;;9412:22:0;9367:17;9412:22;9111:335;9501:15;9481:10;9469:23;;;;:11;:23;;;;;:28;;;:47;;;;;;;;;;:119;;;;-1:-1:-1;9569:19:0;9549:10;9537:23;;;;:11;:23;;;;;:28;;;:51;;;;;;;;;;9469:119;9458:131;;;;;;;;5538:5;;-1:-1:-1;;;;;5538:5:0;5524:10;:19;;:56;;;5547:25;5561:10;5547:13;:25::i;:::-;:33;;5576:4;5547:33;5524:56;5516:65;;;;;;;;14479:50;14502:8;14512:16;14479:22;:50::i;7649:45::-;;;;;;;;;;;;;:::o;2471:107::-;-1:-1:-1;;;;;2554:16:0;2527:7;2554:16;;;:8;:16;;;;;;;2471:107::o;10557:544::-;10612:10;10624:6;10612:10;10703:19;-1:-1:-1;;;;;10673:21:0;;;;;;:11;:21;;;;;:26;;;:49;;;;;;;;;:99;;;;-1:-1:-1;;;;;;10739:21:0;;;;;;:11;:21;;;;;:26;;;10769:3;-1:-1:-1;10739:33:0;10673:99;10652:297;;;-1:-1:-1;;;;;10790:21:0;;10819:1;10790:21;;;:11;:21;;;;;;;;:26;;;:30;;;10835:33;;;;;;;;;;;;:21;;;;;;;:33;;;;:28;;;;;:33;;:::i;:::-;-1:-1:-1;;;;;;10883:21:0;;10912:17;10883:21;;;:11;:21;;;;;:46;;-1:-1:-1;;10883:46:0;;;10652:297;-1:-1:-1;;;;;10971:21:0;;;;;;:11;:21;;;;;;;;;:26;;11065;;;;;10971;11017:28;;;10961:132;;;;10971:26;10961:132;;;;;;;;-1:-1:-1;;10961:132:0;;;;;;;;;;;;;;;;;;;;;;;;10971:26;;;;;11017:28;;11065:26;;10961:132;11017:28;;10961:132;;;11017:28;10961:132;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;10557:544;;;;;:::o;11360:725::-;5538:5;;11465:4;;;;;;-1:-1:-1;;;;;5538:5:0;5524:10;:19;;:56;;;5547:25;5561:10;5547:13;:25::i;:::-;:33;;5576:4;5547:33;5524:56;5516:65;;;;;;;;9150:19;9130:10;9118:23;;;;:11;:23;;;;;:28;;;:51;;;;;;;;;:103;;;;-1:-1:-1;9198:10:0;9186:23;;;;:11;:23;;;;;:28;;;9218:3;-1:-1:-1;9186:35:0;9118:103;9111:335;;;9251:10;9270:1;9239:23;;;:11;:23;;;;;;;;:28;;;:32;;;9286:35;;;;;;;;;;;;:23;;;;;;;:35;;;;:30;;;;;:35;;:::i;:::-;-1:-1:-1;9348:10:0;9367:17;9336:23;;;:11;:23;;;;;;:48;;-1:-1:-1;;9336:48:0;;;9412:22;-1:-1:-1;;;;;;;;;;;9412:22:0;9367:17;9412:22;9111:335;9501:15;9481:10;9469:23;;;;:11;:23;;;;;:28;;;:47;;;;;;;;;;:119;;;;-1:-1:-1;9569:19:0;9549:10;9537:23;;;;:11;:23;;;;;:28;;;:51;;;;;;;;;;9469:119;9458:131;;;;;;;;11490:27;;;11482:36;;;;;;-1:-1:-1;11570:1:0;;-1:-1:-1;11570:1:0;11582:138;11594:14;;;11582:138;;;11656:1;11638:3;;11642:1;11638:6;;;;;;;;;;;;;-1:-1:-1;;;;;11638:6:0;-1:-1:-1;;;;;11638:20:0;;;11630:29;;;;;;;;11685:23;11698:6;;11705:1;11698:9;;;;;;;;;;;;;11685:8;:12;;:23;;;;:::i;:::-;11610:3;;;;;11674:34;-1:-1:-1;11582:138:0;;;11774:10;11763:22;;;;:10;:22;;;;;;;;;11738:8;:20;;;;;;;11790:8;;11738:48;;:20;:48;:24;:48;:::i;:::-;:60;;11730:69;;;;;;11821:1;11817:5;;11812:242;11824:14;;;11812:242;;;11883:35;11908:6;;11915:1;11908:9;;;;;;;11892:10;11883:20;;;;:8;11908:9;11883:20;;;;;;;;;11908:9;;;;;-1:-1:-1;11883:35:0;:24;:35;:::i;:::-;11869:10;11860:20;;;;:8;:20;;;;;:58;11952:31;11973:6;;11980:1;11973:9;;;;;;;;;;;;;11952:8;:16;11961:3;;11965:1;11961:6;;;;;;;;;;;;;;;-1:-1:-1;;;;;11961:6:0;-1:-1:-1;;;;;11952:16:0;-1:-1:-1;;;;;11952:16:0;;;;;;;;;;;;;:20;;:31;;;;:::i;:::-;11933:8;:16;11942:3;;11946:1;11942:6;;;;;;;;;;;;;;;;-1:-1:-1;;;;;11942:6:0;11933:16;;-1:-1:-1;11933:16:0;;;;;;;;-1:-1:-1;11933:16:0;:50;12024:3;;12028:1;12024:6;;;;;;;;;;;;;-1:-1:-1;;;;;12024:6:0;-1:-1:-1;;;;;12003:39:0;12012:10;-1:-1:-1;;;;;12003:39:0;-1:-1:-1;;;;;;;;;;;12032:6:0;;12039:1;12032:9;;;;;;;;;;;;;;;12003:39;;;;;;;;;;;;;;;;;;11840:3;;;;;11812:242;;;-1:-1:-1;12073:4:0;;11360:725;-1:-1:-1;;;;;;11360:725:0:o;4824:28::-;;;;:::o;15954:158::-;5441:5;;16013:4;;-1:-1:-1;;;;;5441:5:0;5427:10;:19;5419:28;;;;;;15564:15;;;;15563:16;15555:25;;;;;;16030:15;:22;;-1:-1:-1;;16030:22:0;16048:4;16030:22;;;16068:14;;;;16030:15;;16068:14;-1:-1:-1;16100:4:0;15954:158;:::o;12975:105::-;5441:5;;-1:-1:-1;;;;;5441:5:0;5427:10;:19;5419:28;;;;;;12856:6;;;;12855:7;12847:16;;;;;;13036:6;:13;;-1:-1:-1;;13036:13:0;13045:4;13036:13;;;13065:7;;;;13036:6;;13065:7;12975:105::o;4861:20::-;;;-1:-1:-1;;;;;4861:20:0;;:::o;16707:28::-;;;;;;;;;;;;;;;-1:-1:-1;;16707:28:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;16776:64;;;;:::o;7277:134::-;5441:5;;7354:6;;-1:-1:-1;;;;;5441:5:0;5427:10;:19;5419:28;;;;;;-1:-1:-1;;;;;7380:23:0;;;;;;:12;:23;;;;;;;;;7373:30;;;;;;-1:-1:-1;;7373:30:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;7380:23;;7373:30;;7380:23;7373:30;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;7277:134;;;:::o;5881:230::-;5441:5;;5949:4;;-1:-1:-1;;;;;5441:5:0;5427:10;:19;5419:28;;;;;;-1:-1:-1;;;;;5974:23:0;;;;5966:32;;;;;;6036:5;;6024:29;;-1:-1:-1;;;;;6024:29:0;;;;6036:5;;6024:29;;6036:5;;6024:29;-1:-1:-1;6064:5:0;:17;;-1:-1:-1;;;;;6064:17:0;;-1:-1:-1;;6064:17:0;;;;;;;5881:230;;;:::o;13435:231::-;12856:6;;13529:4;;12856:6;;12855:7;12847:16;;;;;;9150:19;9130:10;9118:23;;;;:11;:23;;;;;:28;;;:51;;;;;;;;;:103;;;;-1:-1:-1;9198:10:0;9186:23;;;;:11;:23;;;;;:28;;;9218:3;-1:-1:-1;9186:35:0;9118:103;9111:335;;;9251:10;9270:1;9239:23;;;:11;:23;;;;;;;;:28;;;:32;;;9286:35;;;;;;;;;;;;:23;;;;;;;:35;;;;:30;;;;;:35;;:::i;:::-;-1:-1:-1;9348:10:0;9367:17;9336:23;;;:11;:23;;;;;;:48;;-1:-1:-1;;9336:48:0;;;9412:22;-1:-1:-1;;;;;;;;;;;9412:22:0;9367:17;9412:22;9111:335;9501:15;9481:10;9469:23;;;;:11;:23;;;;;:28;;;:47;;;;;;;;;;:119;;;;-1:-1:-1;9569:19:0;9549:10;9537:23;;;;:11;:23;;;;;:28;;;:51;;;;;;;;;;9469:119;9458:131;;;;;;;;13590:10;13579:22;;;;:10;:22;;;;;;;;;13554:8;:20;;;;;;;13606:6;;13554:48;;:20;:48;:24;:48;:::i;:::-;:58;;13546:67;;;;;;13631:27;13646:3;13651:6;13631:14;:27::i;4888:43::-;;;;;;;;;;;;-1:-1:-1;;;;;4888:43:0;;-1:-1:-1;4888:43:0;:::o;6817:452::-;5441:5;;6888:4;;;;-1:-1:-1;;;;;5441:5:0;5427:10;:19;5419:28;;;;;;-1:-1:-1;6922:1:0;6905:328;4815:2;6925:1;:22;6905:328;;;6986:8;6995:1;6986:11;;;;;;;;;-1:-1:-1;;;;;6973:24:0;;;6986:11;;6973:24;6969:253;;;7018:30;;;;;;;;;-1:-1:-1;7018:30:0;;;:12;;7031:8;7040:1;7031:11;;;;;;;;;-1:-1:-1;;;;;7031:11:0;7018:25;;;;;;;;;;;;7031:11;7018:25;:30;;;;:25;;:30;;;;;;:::i;:::-;-1:-1:-1;7089:1:0;7067:8;7076:1;7067:11;;;;;;;;:24;;-1:-1:-1;;7067:24:0;-1:-1:-1;;;;;7067:24:0;;;;;;7110:13;:15;;-1:-1:-1;;7110:15:0;;;7151:25;;;;;;;;-1:-1:-1;;7151:25:0;7202:4;7195:11;;;;6969:253;6949:3;;6905:328;;5459:1;6817:452;;;;:::o;9621:629::-;5538:5;;9722:4;;-1:-1:-1;;;;;5538:5:0;5524:10;:19;;:56;;;5547:25;5561:10;5547:13;:25::i;:::-;:33;;5576:4;5547:33;5524:56;5516:65;;;;;;;;-1:-1:-1;;;;;9747:22:0;;;;9739:31;;;;;;9801:5;;-1:-1:-1;;;;;9789:17:0;;;9801:5;;9789:17;;9781:26;;;;;;9826:15;;;:35;;;9858:3;9845:10;:16;9826:35;9818:44;;;;;;;;9879:15;;9875:182;;;-1:-1:-1;;;;;9911:21:0;;;;;;:11;:21;;;;;:44;;-1:-1:-1;;9911:44:0;9940:15;9911:44;;;9875:182;;;-1:-1:-1;;;;;9997:21:0;;;;;;:11;:21;;;;;:48;;-1:-1:-1;;9997:48:0;10026:19;9997:48;;;9875:182;-1:-1:-1;;;;;10077:21:0;;;;;;:11;:21;;;;;;;;:38;;;;:28;;;;;:38;;;;:::i;:::-;-1:-1:-1;;;;;;10126:21:0;;;;;;:11;:21;;;;;;;;;:26;;:39;;;10181;;;;10200:7;;10181:39;;;;;;;;;36:153:-1;66:2;58:11;;36:153;;176:10;;164:23;;-1:-1;;139:12;;;;98:2;89:12;;;;114;36:153;;;299:10;344;;263:2;259:12;;;254:3;250:22;-1:-1;;246:30;311:9;;295:26;;;340:21;;377:20;365:33;;10181:39:0;;;;;;;;;;;;;;;;;;;-1:-1:-1;;;;;;10181:39:0;;;-1:-1:-1;10181:39:0;;;;;;;;-1:-1:-1;10181:39:0;-1:-1:-1;10238:4:0;9621:629;;;;;:::o;12093:425::-;5538:5;;12198:4;;-1:-1:-1;;;;;5538:5:0;5524:10;:19;;:56;;;5547:25;5561:10;5547:13;:25::i;:::-;:33;;5576:4;5547:33;5524:56;5516:65;;;;;;;;9150:19;9130:10;9118:23;;;;:11;:23;;;;;:28;;;:51;;;;;;;;;:103;;;;-1:-1:-1;9198:10:0;9186:23;;;;:11;:23;;;;;:28;;;9218:3;-1:-1:-1;9186:35:0;9118:103;9111:335;;;9251:10;9270:1;9239:23;;;:11;:23;;;;;;;;:28;;;:32;;;9286:35;;;;;;;;;;;;:23;;;;;;;:35;;;;:30;;;;;:35;;:::i;:::-;-1:-1:-1;9348:10:0;9367:17;9336:23;;;:11;:23;;;;;;:48;;-1:-1:-1;;9336:48:0;;;9412:22;-1:-1:-1;;;;;;;;;;;9412:22:0;9367:17;9412:22;9111:335;9501:15;9481:10;9469:23;;;;:11;:23;;;;;:28;;;:47;;;;;;;;;;:119;;;;-1:-1:-1;9569:19:0;9549:10;9537:23;;;;:11;:23;;;;;:28;;;:51;;;;;;;;;;9469:119;9458:131;;;;;;;;-1:-1:-1;;;;;12223:17:0;;;;12215:26;;;;;;12296:10;12285:22;;;;:10;:22;;;;;;;;;12260:8;:20;;;;;;;12312:6;;12260:48;;:20;:48;:24;:48;:::i;:::-;:58;;12252:67;;;;;;12364:10;12355:20;;;;:8;:20;;;;;;:32;;12380:6;12355:32;:24;:32;:::i;:::-;12341:10;12332:20;;;;:8;:20;;;;;;:55;;;;-1:-1:-1;;;;;12414:13:0;;;;;;:25;;12432:6;12414:25;:17;:25;:::i;:::-;-1:-1:-1;;;;;12398:13:0;;;;;;:8;:13;;;;;;;;;:41;;;;12455:33;;;;;;;12398:13;;12464:10;;-1:-1:-1;;;;;;;;;;;12455:33:0;;;;;;;;;-1:-1:-1;12506:4:0;12093:425;;;;:::o;14115:202::-;12856:6;;14240:4;;12856:6;;12855:7;12847:16;;;;;;9150:19;9130:10;9118:23;;;;:11;:23;;;;;:28;;;:51;;;;;;;;;:103;;;;-1:-1:-1;9198:10:0;9186:23;;;;:11;:23;;;;;:28;;;9218:3;-1:-1:-1;9186:35:0;9118:103;9111:335;;;9251:10;9270:1;9239:23;;;:11;:23;;;;;;;;:28;;;:32;;;9286:35;;;;;;;;;;;;:23;;;;;;;:35;;;;:30;;;;;:35;;:::i;:::-;-1:-1:-1;9348:10:0;9367:17;9336:23;;;:11;:23;;;;;;:48;;-1:-1:-1;;9336:48:0;;;9412:22;-1:-1:-1;;;;;;;;;;;9412:22:0;9367:17;9412:22;9111:335;9501:15;9481:10;9469:23;;;;:11;:23;;;;;:28;;;:47;;;;;;;;;;:119;;;;-1:-1:-1;9569:19:0;9549:10;9537:23;;;;:11;:23;;;;;:28;;;:51;;;;;;;;;;9469:119;9458:131;;;;;;;;5538:5;;-1:-1:-1;;;;;5538:5:0;5524:10;:19;;:56;;;5547:25;5561:10;5547:13;:25::i;:::-;:33;;5576:4;5547:33;5524:56;5516:65;;;;;;;;14264:45;14287:8;14297:11;14264:22;:45::i;3628:134::-;-1:-1:-1;;;;;3729:15:0;;;3702:7;3729:15;;;:7;:15;;;;;;;;:25;;;;;;;;;;;;;3628:134::o;4770:47::-;4815:2;4770:47;:::o;10262:286::-;5441:5;;10326:4;;-1:-1:-1;;;;;5441:5:0;5427:10;:19;5419:28;;;;;;-1:-1:-1;;;;;10343:21:0;;10372:1;10343:21;;;:11;:21;;;;;;;;:26;;;:30;;;10384:33;;;;;;;;;;;;:21;;;;;;;:33;;;;:28;;;;;:33;;:::i;:::-;-1:-1:-1;;;;;;10428:21:0;;10457:17;10428:21;;;:11;:21;;;;;;:46;;-1:-1:-1;;10428:46:0;;;10498:20;-1:-1:-1;;;;;;;;;;;10498:20:0;10457:17;10498:20;-1:-1:-1;10536:4:0;10262:286;;;:::o;5613:260::-;5677:4;;5694:151;4815:2;5714:1;:22;5694:151;;;5775:8;5784:1;5775:11;;;;;;;;;-1:-1:-1;;;;;5762:24:0;;;5775:11;;5762:24;5758:76;;;5814:4;5807:11;;;;5758:76;5738:3;;5694:151;;3414:206;3506:10;3481:4;3498:19;;;:7;:19;;;;;;;;-1:-1:-1;;;;;3498:29:0;;;;;;;;;;;:38;;;3552;;;;;;;3481:4;;3498:29;;3506:10;;3552:38;;;;;;;;-1:-1:-1;3608:4:0;3414:206;;;;:::o;308:123::-;366:7;393:6;;;;386:14;;;;-1:-1:-1;418:5:0;;;308:123::o;2918:488::-;3000:4;-1:-1:-1;;;;;3025:17:0;;;;3017:26;;;;;;-1:-1:-1;;;;;3072:15:0;;;;;;:8;:15;;;;;;3062:25;;;3054:34;;;;;;-1:-1:-1;;;;;3117:14:0;;;;;;:7;:14;;;;;;;;3132:10;3117:26;;;;;;;;3107:36;;;3099:45;;;;;;-1:-1:-1;;;;;3175:15:0;;;;;;:8;:15;;;;;;:27;;3195:6;3175:27;:19;:27;:::i;:::-;-1:-1:-1;;;;;3157:15:0;;;;;;;:8;:15;;;;;;:45;;;;3229:13;;;;;;;:25;;3247:6;3229:25;:17;:25;:::i;:::-;-1:-1:-1;;;;;3213:13:0;;;;;;;:8;:13;;;;;;;;:41;;;;3294:14;;;;;:7;:14;;;;;3309:10;3294:26;;;;;;;:38;;3325:6;3294:38;:30;:38;:::i;:::-;-1:-1:-1;;;;;3265:14:0;;;;;;;:7;:14;;;;;;;;3280:10;3265:26;;;;;;;;:67;;;;3348:28;;;;;;;;;;;3265:14;;-1:-1:-1;;;;;;;;;;;3348:28:0;;;;;;;;;;-1:-1:-1;3394:4:0;2918:488;;;;;:::o;439:147::-;497:7;529:5;;;552:6;;;;545:14;;;;577:1;439:147;-1:-1:-1;;;439:147:0:o;4063:470::-;4193:10;4149:4;4185:19;;;:7;:19;;;;;;;;-1:-1:-1;;;;;4185:29:0;;;;;;;;;;4231:27;;;4227:198;;;4283:10;4307:1;4275:19;;;:7;:19;;;;;;;;-1:-1:-1;;;;;4275:29:0;;;;;;;;;:33;4227:198;;;4383:30;:8;4396:16;4383:30;:12;:30;:::i;:::-;4359:10;4351:19;;;;:7;:19;;;;;;;;-1:-1:-1;;;;;4351:29:0;;;;;;;;;:62;4227:198;4451:10;4473:19;;;;:7;:19;;;;;;;;-1:-1:-1;;;;;4442:61:0;;4473:29;;;;;;;;;;;4442:61;;;;;;;;;4451:10;4442:61;;;;;;;;;;;-1:-1:-1;4521:4:0;;4063:470;-1:-1:-1;;;4063:470:0:o;2108:355::-;2171:4;-1:-1:-1;;;;;2196:17:0;;;;2188:26;;;;;;2252:10;2243:20;;;;:8;:20;;;;;;2233:30;;;2225:39;;;;;3770:285;3909:10;3851:4;3901:19;;;:7;:19;;;;;;;;-1:-1:-1;;;;;3901:29:0;;;;;;;;;;:46;;3935:11;3901:46;:33;:46;:::i;:::-;3876:10;3868:19;;;;:7;:19;;;;;;;;-1:-1:-1;;;;;3868:29:0;;;;;;;;;;;;:80;;;3964:61;;;;;;3868:29;;3964:61;;;;;;;;;;;-1:-1:-1;4043:4:0;3770:285;;;;:::o;16541:485::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;16541:485:0;;;-1:-1:-1;16541:485:0;:::i;:::-;;;:::o;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;;16541:485:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;

Swarm Source

bzzr://b4273f471d9d7be0d1a3a0a39826f0a9211660de67b98f998ba2ae0627af15f0

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.