ETH Price: $4,085.78 (+4.84%)

Token

TE-FOOD/TustChain (TONE)
 

Overview

Max Total Supply

1,000,000,000 TONE

Holders

11,380 ( 0.009%)

Market

Price

$0.00 @ 0.000000 ETH (+0.43%)

Onchain Market Cap

$385,640.00

Circulating Supply Market Cap

$239,999.00

Other Info

Token Contract (WITH 18 Decimals)

Balance
250 TONE

Value
$0.10 ( ~2.44751430830244E-05 Eth) [0.0000%]
0xAF0af683B6afe62494bDACdc4F9BBa9C4a5EdC7D
Loading...
Loading
Loading...
Loading
Loading...
Loading

OVERVIEW

A food traceability solution.

Market

Volume (24H):$29.56
Market Capitalization:$239,999.00
Circulating Supply:622,334,706.00 TONE
Market Data Source: Coinmarketcap

ICO Information

ICO Start Date : Feb 22, 2018 
ICO End Date : Mar 22, 2018
Total Raised : $19,100,100
ICO Price  : $0.05 | 0.00006215 ETH | 0.00000508 BTC 
Bonus : Presale: 36%
Country : Vietnam

# Exchange Pair Price  24H Volume % Volume
1
Uniswap V2 (Ethereum)
0X2AB6BB8408CA3199B8FA6C92D5B455F820AF03C4-0XC02AAA39B223FE8D0A0E5C4F27EAD9083C756CC2$0.0004
0.0000001 Eth
$29.05
76,650.627 0X2AB6BB8408CA3199B8FA6C92D5B455F820AF03C4
100.0000%

Contract Source Code Verified (Exact Match)

Contract Name:
TEFoods827Token

Compiler Version
v0.4.19+commit.c4cbbb05

Optimization Enabled:
No with 200 runs

Other Settings:
default evmVersion, None license

Contract Source Code (Solidity)

/**
 *Submitted for verification at Etherscan.io on 2021-03-11
*/

/**
 *Submitted for verification at Etherscan.io on 2018-02-25
 */

pragma solidity ^0.4.19;

library SafeMath {
    function mul(uint256 a, uint256 b) internal pure returns (uint256) {
        if (a == 0) {
            return 0;
        }
        uint256 c = a * b;
        assert(c / a == b);
        return c;
    }

    function div(uint256 a, uint256 b) internal pure returns (uint256) {
        uint256 c = a / b;
        return c;
    }

    function sub(uint256 a, uint256 b) internal pure returns (uint256) {
        assert(b <= a);
        return a - b;
    }

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

contract Ownable {
    address public owner;
    event OwnershipTransferred(
        address indexed previousOwner,
        address indexed newOwner
    );

    function Ownable() public {
        owner = msg.sender;
    }

    modifier onlyOwner() {
        require(msg.sender == owner);
        _;
    }

    function transferOwnership(address newOwner) public onlyOwner {
        require(newOwner != address(0));
        OwnershipTransferred(owner, newOwner);
        owner = newOwner;
    }
}

contract ERC20Interface {
    function totalSupply() public constant returns (uint256);

    function balanceOf(address tokenOwner)
        public
        constant
        returns (uint256 balance);

    function allowance(address tokenOwner, address spender)
        public
        constant
        returns (uint256 remaining);

    function transfer(address to, uint256 tokens) public returns (bool success);

    function approve(address spender, uint256 tokens)
        public
        returns (bool success);

    function transferFrom(
        address from,
        address to,
        uint256 tokens
    ) public returns (bool success);

    event Transfer(address indexed from, address indexed to, uint256 tokens);
    event Approval(
        address indexed tokenOwner,
        address indexed spender,
        uint256 tokens
    );
}

contract ERC827 {
    function approve(
        address _spender,
        uint256 _value,
        bytes _data
    ) public returns (bool);

    function transfer(
        address _to,
        uint256 _value,
        bytes _data
    ) public returns (bool);

    function transferFrom(
        address _from,
        address _to,
        uint256 _value,
        bytes _data
    ) public returns (bool);
}

contract TEFoodsToken is Ownable, ERC20Interface {
    using SafeMath for uint256;

    string public constant name = "TE-FOOD/TustChain";
    string public constant symbol = "TONE";
    uint8 public constant decimals = 18;
    uint256 constant _totalSupply = 1000000000 * 1 ether;
    uint256 public transferrableTime = 9999999999;
    uint256 _vestedSupply;
    uint256 _circulatingSupply;
    mapping(address => uint256) balances;
    mapping(address => mapping(address => uint256)) allowed;

    struct vestedBalance {
        address addr;
        uint256 balance;
    }
    mapping(uint256 => vestedBalance[]) vestingMap;

    function TEFoodsToken() public {
        owner = msg.sender;
        balances[0x00] = _totalSupply;
    }

    event VestedTokensReleased(address to, uint256 amount);

    function allocateTokens(address addr, uint256 amount)
        public
        onlyOwner
        returns (bool)
    {
        require(addr != 0x00);
        require(amount > 0);
        balances[0x00] = balances[0x00].sub(amount);
        balances[addr] = balances[addr].add(amount);
        _circulatingSupply = _circulatingSupply.add(amount);
        assert(
            _vestedSupply.add(_circulatingSupply).add(balances[0x00]) ==
                _totalSupply
        );
        Transfer(0x00, addr, amount);
        return true;
    }

    function allocateVestedTokens(
        address addr,
        uint256 amount,
        uint256 vestingPeriod
    ) public onlyOwner returns (bool) {
        require(addr != 0x00);
        require(amount > 0);
        require(vestingPeriod > 0);
        balances[0x00] = balances[0x00].sub(amount);
        vestingMap[vestingPeriod].push(vestedBalance(addr, amount));
        _vestedSupply = _vestedSupply.add(amount);
        assert(
            _vestedSupply.add(_circulatingSupply).add(balances[0x00]) ==
                _totalSupply
        );
        return true;
    }

    function releaseVestedTokens(uint256 vestingPeriod) public {
        require(now >= transferrableTime.add(vestingPeriod));
        require(vestingMap[vestingPeriod].length > 0);
        require(vestingMap[vestingPeriod][0].balance > 0);
        var v = vestingMap[vestingPeriod];
        for (uint8 i = 0; i < v.length; i++) {
            balances[v[i].addr] = balances[v[i].addr].add(v[i].balance);
            _circulatingSupply = _circulatingSupply.add(v[i].balance);
            _vestedSupply = _vestedSupply.sub(v[i].balance);
            VestedTokensReleased(v[i].addr, v[i].balance);
            Transfer(0x00, v[i].addr, v[i].balance);
            v[i].balance = 0;
        }
    }

    function enableTransfers() public onlyOwner returns (bool) {
        transferrableTime = now.add(0);
        owner = 0x00;
        return true;
    }

    function() public payable {
        revert();
    }

    function totalSupply() public constant returns (uint256) {
        return _circulatingSupply;
    }

    function balanceOf(address tokenOwner)
        public
        constant
        returns (uint256 balance)
    {
        return balances[tokenOwner];
    }

    function vestedBalanceOf(address tokenOwner, uint256 vestingPeriod)
        public
        constant
        returns (uint256 balance)
    {
        var v = vestingMap[vestingPeriod];
        for (uint8 i = 0; i < v.length; i++) {
            if (v[i].addr == tokenOwner) return v[i].balance;
        }
        return 0;
    }

    function allowance(address tokenOwner, address spender)
        public
        constant
        returns (uint256 remaining)
    {
        return allowed[tokenOwner][spender];
    }

    function transfer(address to, uint256 tokens)
        public
        returns (bool success)
    {
        require(now >= transferrableTime);
        require(to != address(this));
        require(balances[msg.sender] >= tokens);
        balances[msg.sender] = balances[msg.sender].sub(tokens);
        balances[to] = balances[to].add(tokens);
        Transfer(msg.sender, to, tokens);
        return true;
    }

    function approve(address spender, uint256 tokens)
        public
        returns (bool success)
    {
        require(now >= transferrableTime);
        require(spender != address(this));
        allowed[msg.sender][spender] = tokens;
        Approval(msg.sender, spender, tokens);
        return true;
    }

    function transferFrom(
        address from,
        address to,
        uint256 tokens
    ) public returns (bool success) {
        require(now >= transferrableTime);
        require(to != address(this));
        require(allowed[from][msg.sender] >= tokens);
        balances[from] = balances[from].sub(tokens);
        allowed[from][msg.sender] = allowed[from][msg.sender].sub(tokens);
        balances[to] = balances[to].add(tokens);
        Transfer(from, to, tokens);
        return true;
    }
}

contract TEFoods827Token is TEFoodsToken, ERC827 {
    function approve(
        address _spender,
        uint256 _value,
        bytes _data
    ) public returns (bool) {
        super.approve(_spender, _value);
        require(_spender.call(_data));
        return true;
    }

    function transfer(
        address _to,
        uint256 _value,
        bytes _data
    ) public returns (bool) {
        super.transfer(_to, _value);
        require(_to.call(_data));
        return true;
    }

    function transferFrom(
        address _from,
        address _to,
        uint256 _value,
        bytes _data
    ) public returns (bool) {
        super.transferFrom(_from, _to, _value);
        require(_to.call(_data));
        return true;
    }
}

Contract Security Audit

Contract ABI

[{"constant":true,"inputs":[],"name":"name","outputs":[{"name":"","type":"string"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":true,"inputs":[{"name":"tokenOwner","type":"address"},{"name":"vestingPeriod","type":"uint256"}],"name":"vestedBalanceOf","outputs":[{"name":"balance","type":"uint256"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":false,"inputs":[{"name":"spender","type":"address"},{"name":"tokens","type":"uint256"}],"name":"approve","outputs":[{"name":"success","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":"tokens","type":"uint256"}],"name":"transferFrom","outputs":[{"name":"success","type":"bool"}],"payable":false,"stateMutability":"nonpayable","type":"function"},{"constant":true,"inputs":[],"name":"decimals","outputs":[{"name":"","type":"uint8"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":false,"inputs":[{"name":"_spender","type":"address"},{"name":"_value","type":"uint256"},{"name":"_data","type":"bytes"}],"name":"approve","outputs":[{"name":"","type":"bool"}],"payable":false,"stateMutability":"nonpayable","type":"function"},{"constant":true,"inputs":[{"name":"tokenOwner","type":"address"}],"name":"balanceOf","outputs":[{"name":"balance","type":"uint256"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":false,"inputs":[{"name":"vestingPeriod","type":"uint256"}],"name":"releaseVestedTokens","outputs":[],"payable":false,"stateMutability":"nonpayable","type":"function"},{"constant":false,"inputs":[{"name":"addr","type":"address"},{"name":"amount","type":"uint256"}],"name":"allocateTokens","outputs":[{"name":"","type":"bool"}],"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":false,"inputs":[{"name":"addr","type":"address"},{"name":"amount","type":"uint256"},{"name":"vestingPeriod","type":"uint256"}],"name":"allocateVestedTokens","outputs":[{"name":"","type":"bool"}],"payable":false,"stateMutability":"nonpayable","type":"function"},{"constant":false,"inputs":[{"name":"to","type":"address"},{"name":"tokens","type":"uint256"}],"name":"transfer","outputs":[{"name":"success","type":"bool"}],"payable":false,"stateMutability":"nonpayable","type":"function"},{"constant":false,"inputs":[{"name":"_from","type":"address"},{"name":"_to","type":"address"},{"name":"_value","type":"uint256"},{"name":"_data","type":"bytes"}],"name":"transferFrom","outputs":[{"name":"","type":"bool"}],"payable":false,"stateMutability":"nonpayable","type":"function"},{"constant":false,"inputs":[],"name":"enableTransfers","outputs":[{"name":"","type":"bool"}],"payable":false,"stateMutability":"nonpayable","type":"function"},{"constant":false,"inputs":[{"name":"_to","type":"address"},{"name":"_value","type":"uint256"},{"name":"_data","type":"bytes"}],"name":"transfer","outputs":[{"name":"","type":"bool"}],"payable":false,"stateMutability":"nonpayable","type":"function"},{"constant":true,"inputs":[],"name":"transferrableTime","outputs":[{"name":"","type":"uint256"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":true,"inputs":[{"name":"tokenOwner","type":"address"},{"name":"spender","type":"address"}],"name":"allowance","outputs":[{"name":"remaining","type":"uint256"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":false,"inputs":[{"name":"newOwner","type":"address"}],"name":"transferOwnership","outputs":[],"payable":false,"stateMutability":"nonpayable","type":"function"},{"payable":true,"stateMutability":"payable","type":"fallback"},{"anonymous":false,"inputs":[{"indexed":false,"name":"to","type":"address"},{"indexed":false,"name":"amount","type":"uint256"}],"name":"VestedTokensReleased","type":"event"},{"anonymous":false,"inputs":[{"indexed":true,"name":"from","type":"address"},{"indexed":true,"name":"to","type":"address"},{"indexed":false,"name":"tokens","type":"uint256"}],"name":"Transfer","type":"event"},{"anonymous":false,"inputs":[{"indexed":true,"name":"tokenOwner","type":"address"},{"indexed":true,"name":"spender","type":"address"},{"indexed":false,"name":"tokens","type":"uint256"}],"name":"Approval","type":"event"},{"anonymous":false,"inputs":[{"indexed":true,"name":"previousOwner","type":"address"},{"indexed":true,"name":"newOwner","type":"address"}],"name":"OwnershipTransferred","type":"event"}]

60606040526402540be3ff600155336000806101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff160217905550336000806101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff1602179055506b033b2e3c9fd0803ce8000000600460008073ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002081905550611fc2806100d66000396000f300606060405260043610610112576000357c0100000000000000000000000000000000000000000000000000000000900463ffffffff16806306fdde0314610117578063084bdabe146101a5578063095ea7b3146101fb57806318160ddd1461025557806323b872dd1461027e578063313ce567146102f75780635c17f9f41461032657806370a08231146103c35780637d2aeb8a1461041057806386ce0285146104335780638da5cb5b1461048d57806395d89b41146104e2578063a29cc6c814610570578063a9059cbb146105d3578063ab67aa581461062d578063af35c6c7146106e9578063be45fd6214610716578063bf15ea76146107b3578063dd62ed3e146107dc578063f2fde38b14610848575b600080fd5b341561012257600080fd5b61012a610881565b6040518080602001828103825283818151815260200191508051906020019080838360005b8381101561016a57808201518184015260208101905061014f565b50505050905090810190601f1680156101975780820380516001836020036101000a031916815260200191505b509250505060405180910390f35b34156101b057600080fd5b6101e5600480803573ffffffffffffffffffffffffffffffffffffffff169060200190919080359060200190919050506108ba565b6040518082815260200191505060405180910390f35b341561020657600080fd5b61023b600480803573ffffffffffffffffffffffffffffffffffffffff169060200190919080359060200190919050506109a2565b604051808215151515815260200191505060405180910390f35b341561026057600080fd5b610268610ae0565b6040518082815260200191505060405180910390f35b341561028957600080fd5b6102dd600480803573ffffffffffffffffffffffffffffffffffffffff1690602001909190803573ffffffffffffffffffffffffffffffffffffffff16906020019091908035906020019091905050610aea565b604051808215151515815260200191505060405180910390f35b341561030257600080fd5b61030a610e6c565b604051808260ff1660ff16815260200191505060405180910390f35b341561033157600080fd5b6103a9600480803573ffffffffffffffffffffffffffffffffffffffff1690602001909190803590602001909190803590602001908201803590602001908080601f01602080910402602001604051908101604052809392919081815260200183838082843782019150505050505091905050610e71565b604051808215151515815260200191505060405180910390f35b34156103ce57600080fd5b6103fa600480803573ffffffffffffffffffffffffffffffffffffffff16906020019091905050610f1f565b6040518082815260200191505060405180910390f35b341561041b57600080fd5b6104316004808035906020019091905050610f68565b005b341561043e57600080fd5b610473600480803573ffffffffffffffffffffffffffffffffffffffff1690602001909190803590602001909190505061138f565b604051808215151515815260200191505060405180910390f35b341561049857600080fd5b6104a06115fc565b604051808273ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200191505060405180910390f35b34156104ed57600080fd5b6104f5611621565b6040518080602001828103825283818151815260200191508051906020019080838360005b8381101561053557808201518184015260208101905061051a565b50505050905090810190601f1680156105625780820380516001836020036101000a031916815260200191505b509250505060405180910390f35b341561057b57600080fd5b6105b9600480803573ffffffffffffffffffffffffffffffffffffffff1690602001909190803590602001909190803590602001909190505061165a565b604051808215151515815260200191505060405180910390f35b34156105de57600080fd5b610613600480803573ffffffffffffffffffffffffffffffffffffffff169060200190919080359060200190919050506118ab565b604051808215151515815260200191505060405180910390f35b341561063857600080fd5b6106cf600480803573ffffffffffffffffffffffffffffffffffffffff1690602001909190803573ffffffffffffffffffffffffffffffffffffffff1690602001909190803590602001909190803590602001908201803590602001908080601f01602080910402602001604051908101604052809392919081815260200183838082843782019150505050505091905050611ae0565b604051808215151515815260200191505060405180910390f35b34156106f457600080fd5b6106fc611b90565b604051808215151515815260200191505060405180910390f35b341561072157600080fd5b610799600480803573ffffffffffffffffffffffffffffffffffffffff1690602001909190803590602001909190803590602001908201803590602001908080601f01602080910402602001604051908101604052809392919081815260200183838082843782019150505050505091905050611c4f565b604051808215151515815260200191505060405180910390f35b34156107be57600080fd5b6107c6611cfd565b6040518082815260200191505060405180910390f35b34156107e757600080fd5b610832600480803573ffffffffffffffffffffffffffffffffffffffff1690602001909190803573ffffffffffffffffffffffffffffffffffffffff16906020019091905050611d03565b6040518082815260200191505060405180910390f35b341561085357600080fd5b61087f600480803573ffffffffffffffffffffffffffffffffffffffff16906020019091905050611d8a565b005b6040805190810160405280601181526020017f54452d464f4f442f54757374436861696e00000000000000000000000000000081525081565b6000806000600660008581526020019081526020016000209150600090505b81805490508160ff161015610995578473ffffffffffffffffffffffffffffffffffffffff16828260ff1681548110151561091057fe5b906000526020600020906002020160000160009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16141561098857818160ff1681548110151561096f57fe5b906000526020600020906002020160010154925061099a565b80806001019150506108d9565b600092505b505092915050565b600060015442101515156109b557600080fd5b3073ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff16141515156109f057600080fd5b81600560003373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060008573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020819055508273ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff167f8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b925846040518082815260200191505060405180910390a36001905092915050565b6000600354905090565b60006001544210151515610afd57600080fd5b3073ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff1614151515610b3857600080fd5b81600560008673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060003373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000205410151515610bc357600080fd5b610c1582600460008773ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002054611edf90919063ffffffff16565b600460008673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002081905550610ce782600560008773ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060003373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002054611edf90919063ffffffff16565b600560008673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060003373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002081905550610db982600460008673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002054611ef890919063ffffffff16565b600460008573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020819055508273ffffffffffffffffffffffffffffffffffffffff168473ffffffffffffffffffffffffffffffffffffffff167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef846040518082815260200191505060405180910390a3600190509392505050565b601281565b6000610e7d84846109a2565b508373ffffffffffffffffffffffffffffffffffffffff168260405180828051906020019080838360005b83811015610ec3578082015181840152602081019050610ea8565b50505050905090810190601f168015610ef05780820380516001836020036101000a031916815260200191505b5091505060006040518083038160008661646e5a03f19150501515610f1457600080fd5b600190509392505050565b6000600460008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020549050919050565b600080610f8083600154611ef890919063ffffffff16565b4210151515610f8e57600080fd5b60006006600085815260200190815260200160002080549050111515610fb357600080fd5b6000600660008581526020019081526020016000206000815481101515610fd657fe5b906000526020600020906002020160010154111515610ff457600080fd5b600660008481526020019081526020016000209150600090505b81805490508160ff16101561138a576110d3828260ff1681548110151561103157fe5b90600052602060002090600202016001015460046000858560ff1681548110151561105857fe5b906000526020600020906002020160000160009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002054611ef890919063ffffffff16565b60046000848460ff168154811015156110e857fe5b906000526020600020906002020160000160009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000208190555061118f828260ff1681548110151561116c57fe5b906000526020600020906002020160010154600354611ef890919063ffffffff16565b6003819055506111cc828260ff168154811015156111a957fe5b906000526020600020906002020160010154600254611edf90919063ffffffff16565b6002819055507f6bc5063c7239b75c8bf325a2a2238f726fada322163996bb6c93d5594fb119f0828260ff1681548110151561120457fe5b906000526020600020906002020160000160009054906101000a900473ffffffffffffffffffffffffffffffffffffffff16838360ff1681548110151561124757fe5b906000526020600020906002020160010154604051808373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020018281526020019250505060405180910390a1818160ff168154811015156112b257fe5b906000526020600020906002020160000160009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1660007fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef848460ff1681548110151561132e57fe5b9060005260206000209060020201600101546040518082815260200191505060405180910390a36000828260ff1681548110151561136857fe5b906000526020600020906002020160010181905550808060010191505061100e565b505050565b60008060009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff161415156113ec57600080fd5b60008373ffffffffffffffffffffffffffffffffffffffff161415151561141257600080fd5b60008211151561142157600080fd5b61145d82600460008073ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002054611edf90919063ffffffff16565b600460008073ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020819055506114dc82600460008673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002054611ef890919063ffffffff16565b600460008573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000208190555061153482600354611ef890919063ffffffff16565b6003819055506b033b2e3c9fd0803ce8000000611599600460008073ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000205461158b600354600254611ef890919063ffffffff16565b611ef890919063ffffffff16565b1415156115a257fe5b8273ffffffffffffffffffffffffffffffffffffffff1660007fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef846040518082815260200191505060405180910390a36001905092915050565b6000809054906101000a900473ffffffffffffffffffffffffffffffffffffffff1681565b6040805190810160405280600481526020017f544f4e450000000000000000000000000000000000000000000000000000000081525081565b60008060009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff161415156116b757600080fd5b60008473ffffffffffffffffffffffffffffffffffffffff16141515156116dd57600080fd5b6000831115156116ec57600080fd5b6000821115156116fb57600080fd5b61173783600460008073ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002054611edf90919063ffffffff16565b600460008073ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020819055506006600083815260200190815260200160002080548060010182816117899190611f16565b9160005260206000209060020201600060408051908101604052808873ffffffffffffffffffffffffffffffffffffffff16815260200187815250909190915060008201518160000160006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff1602179055506020820151816001015550505061183283600254611ef890919063ffffffff16565b6002819055506b033b2e3c9fd0803ce8000000611897600460008073ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002054611889600354600254611ef890919063ffffffff16565b611ef890919063ffffffff16565b1415156118a057fe5b600190509392505050565b600060015442101515156118be57600080fd5b3073ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff16141515156118f957600080fd5b81600460003373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020541015151561194757600080fd5b61199982600460003373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002054611edf90919063ffffffff16565b600460003373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002081905550611a2e82600460008673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002054611ef890919063ffffffff16565b600460008573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020819055508273ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef846040518082815260200191505060405180910390a36001905092915050565b6000611aed858585610aea565b508373ffffffffffffffffffffffffffffffffffffffff168260405180828051906020019080838360005b83811015611b33578082015181840152602081019050611b18565b50505050905090810190601f168015611b605780820380516001836020036101000a031916815260200191505b5091505060006040518083038160008661646e5a03f19150501515611b8457600080fd5b60019050949350505050565b60008060009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff16141515611bed57600080fd5b611c01600042611ef890919063ffffffff16565b60018190555060008060006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff1602179055506001905090565b6000611c5b84846118ab565b508373ffffffffffffffffffffffffffffffffffffffff168260405180828051906020019080838360005b83811015611ca1578082015181840152602081019050611c86565b50505050905090810190601f168015611cce5780820380516001836020036101000a031916815260200191505b5091505060006040518083038160008661646e5a03f19150501515611cf257600080fd5b600190509392505050565b60015481565b6000600560008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002054905092915050565b6000809054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff16141515611de557600080fd5b600073ffffffffffffffffffffffffffffffffffffffff168173ffffffffffffffffffffffffffffffffffffffff1614151515611e2157600080fd5b8073ffffffffffffffffffffffffffffffffffffffff166000809054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff167f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e060405160405180910390a3806000806101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff16021790555050565b6000828211151515611eed57fe5b818303905092915050565b6000808284019050838110151515611f0c57fe5b8091505092915050565b815481835581811511611f4357600202816002028360005260206000209182019101611f429190611f48565b5b505050565b611f9391905b80821115611f8f57600080820160006101000a81549073ffffffffffffffffffffffffffffffffffffffff0219169055600182016000905550600201611f4e565b5090565b905600a165627a7a72305820240d5b45e082ec1ce44ea85bb7bbce831c4a198381b97c0b63dd88095ec25b530029

Deployed Bytecode

0x606060405260043610610112576000357c0100000000000000000000000000000000000000000000000000000000900463ffffffff16806306fdde0314610117578063084bdabe146101a5578063095ea7b3146101fb57806318160ddd1461025557806323b872dd1461027e578063313ce567146102f75780635c17f9f41461032657806370a08231146103c35780637d2aeb8a1461041057806386ce0285146104335780638da5cb5b1461048d57806395d89b41146104e2578063a29cc6c814610570578063a9059cbb146105d3578063ab67aa581461062d578063af35c6c7146106e9578063be45fd6214610716578063bf15ea76146107b3578063dd62ed3e146107dc578063f2fde38b14610848575b600080fd5b341561012257600080fd5b61012a610881565b6040518080602001828103825283818151815260200191508051906020019080838360005b8381101561016a57808201518184015260208101905061014f565b50505050905090810190601f1680156101975780820380516001836020036101000a031916815260200191505b509250505060405180910390f35b34156101b057600080fd5b6101e5600480803573ffffffffffffffffffffffffffffffffffffffff169060200190919080359060200190919050506108ba565b6040518082815260200191505060405180910390f35b341561020657600080fd5b61023b600480803573ffffffffffffffffffffffffffffffffffffffff169060200190919080359060200190919050506109a2565b604051808215151515815260200191505060405180910390f35b341561026057600080fd5b610268610ae0565b6040518082815260200191505060405180910390f35b341561028957600080fd5b6102dd600480803573ffffffffffffffffffffffffffffffffffffffff1690602001909190803573ffffffffffffffffffffffffffffffffffffffff16906020019091908035906020019091905050610aea565b604051808215151515815260200191505060405180910390f35b341561030257600080fd5b61030a610e6c565b604051808260ff1660ff16815260200191505060405180910390f35b341561033157600080fd5b6103a9600480803573ffffffffffffffffffffffffffffffffffffffff1690602001909190803590602001909190803590602001908201803590602001908080601f01602080910402602001604051908101604052809392919081815260200183838082843782019150505050505091905050610e71565b604051808215151515815260200191505060405180910390f35b34156103ce57600080fd5b6103fa600480803573ffffffffffffffffffffffffffffffffffffffff16906020019091905050610f1f565b6040518082815260200191505060405180910390f35b341561041b57600080fd5b6104316004808035906020019091905050610f68565b005b341561043e57600080fd5b610473600480803573ffffffffffffffffffffffffffffffffffffffff1690602001909190803590602001909190505061138f565b604051808215151515815260200191505060405180910390f35b341561049857600080fd5b6104a06115fc565b604051808273ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200191505060405180910390f35b34156104ed57600080fd5b6104f5611621565b6040518080602001828103825283818151815260200191508051906020019080838360005b8381101561053557808201518184015260208101905061051a565b50505050905090810190601f1680156105625780820380516001836020036101000a031916815260200191505b509250505060405180910390f35b341561057b57600080fd5b6105b9600480803573ffffffffffffffffffffffffffffffffffffffff1690602001909190803590602001909190803590602001909190505061165a565b604051808215151515815260200191505060405180910390f35b34156105de57600080fd5b610613600480803573ffffffffffffffffffffffffffffffffffffffff169060200190919080359060200190919050506118ab565b604051808215151515815260200191505060405180910390f35b341561063857600080fd5b6106cf600480803573ffffffffffffffffffffffffffffffffffffffff1690602001909190803573ffffffffffffffffffffffffffffffffffffffff1690602001909190803590602001909190803590602001908201803590602001908080601f01602080910402602001604051908101604052809392919081815260200183838082843782019150505050505091905050611ae0565b604051808215151515815260200191505060405180910390f35b34156106f457600080fd5b6106fc611b90565b604051808215151515815260200191505060405180910390f35b341561072157600080fd5b610799600480803573ffffffffffffffffffffffffffffffffffffffff1690602001909190803590602001909190803590602001908201803590602001908080601f01602080910402602001604051908101604052809392919081815260200183838082843782019150505050505091905050611c4f565b604051808215151515815260200191505060405180910390f35b34156107be57600080fd5b6107c6611cfd565b6040518082815260200191505060405180910390f35b34156107e757600080fd5b610832600480803573ffffffffffffffffffffffffffffffffffffffff1690602001909190803573ffffffffffffffffffffffffffffffffffffffff16906020019091905050611d03565b6040518082815260200191505060405180910390f35b341561085357600080fd5b61087f600480803573ffffffffffffffffffffffffffffffffffffffff16906020019091905050611d8a565b005b6040805190810160405280601181526020017f54452d464f4f442f54757374436861696e00000000000000000000000000000081525081565b6000806000600660008581526020019081526020016000209150600090505b81805490508160ff161015610995578473ffffffffffffffffffffffffffffffffffffffff16828260ff1681548110151561091057fe5b906000526020600020906002020160000160009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16141561098857818160ff1681548110151561096f57fe5b906000526020600020906002020160010154925061099a565b80806001019150506108d9565b600092505b505092915050565b600060015442101515156109b557600080fd5b3073ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff16141515156109f057600080fd5b81600560003373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060008573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020819055508273ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff167f8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b925846040518082815260200191505060405180910390a36001905092915050565b6000600354905090565b60006001544210151515610afd57600080fd5b3073ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff1614151515610b3857600080fd5b81600560008673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060003373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000205410151515610bc357600080fd5b610c1582600460008773ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002054611edf90919063ffffffff16565b600460008673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002081905550610ce782600560008773ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060003373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002054611edf90919063ffffffff16565b600560008673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060003373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002081905550610db982600460008673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002054611ef890919063ffffffff16565b600460008573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020819055508273ffffffffffffffffffffffffffffffffffffffff168473ffffffffffffffffffffffffffffffffffffffff167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef846040518082815260200191505060405180910390a3600190509392505050565b601281565b6000610e7d84846109a2565b508373ffffffffffffffffffffffffffffffffffffffff168260405180828051906020019080838360005b83811015610ec3578082015181840152602081019050610ea8565b50505050905090810190601f168015610ef05780820380516001836020036101000a031916815260200191505b5091505060006040518083038160008661646e5a03f19150501515610f1457600080fd5b600190509392505050565b6000600460008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020549050919050565b600080610f8083600154611ef890919063ffffffff16565b4210151515610f8e57600080fd5b60006006600085815260200190815260200160002080549050111515610fb357600080fd5b6000600660008581526020019081526020016000206000815481101515610fd657fe5b906000526020600020906002020160010154111515610ff457600080fd5b600660008481526020019081526020016000209150600090505b81805490508160ff16101561138a576110d3828260ff1681548110151561103157fe5b90600052602060002090600202016001015460046000858560ff1681548110151561105857fe5b906000526020600020906002020160000160009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002054611ef890919063ffffffff16565b60046000848460ff168154811015156110e857fe5b906000526020600020906002020160000160009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000208190555061118f828260ff1681548110151561116c57fe5b906000526020600020906002020160010154600354611ef890919063ffffffff16565b6003819055506111cc828260ff168154811015156111a957fe5b906000526020600020906002020160010154600254611edf90919063ffffffff16565b6002819055507f6bc5063c7239b75c8bf325a2a2238f726fada322163996bb6c93d5594fb119f0828260ff1681548110151561120457fe5b906000526020600020906002020160000160009054906101000a900473ffffffffffffffffffffffffffffffffffffffff16838360ff1681548110151561124757fe5b906000526020600020906002020160010154604051808373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020018281526020019250505060405180910390a1818160ff168154811015156112b257fe5b906000526020600020906002020160000160009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1660007fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef848460ff1681548110151561132e57fe5b9060005260206000209060020201600101546040518082815260200191505060405180910390a36000828260ff1681548110151561136857fe5b906000526020600020906002020160010181905550808060010191505061100e565b505050565b60008060009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff161415156113ec57600080fd5b60008373ffffffffffffffffffffffffffffffffffffffff161415151561141257600080fd5b60008211151561142157600080fd5b61145d82600460008073ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002054611edf90919063ffffffff16565b600460008073ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020819055506114dc82600460008673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002054611ef890919063ffffffff16565b600460008573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000208190555061153482600354611ef890919063ffffffff16565b6003819055506b033b2e3c9fd0803ce8000000611599600460008073ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000205461158b600354600254611ef890919063ffffffff16565b611ef890919063ffffffff16565b1415156115a257fe5b8273ffffffffffffffffffffffffffffffffffffffff1660007fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef846040518082815260200191505060405180910390a36001905092915050565b6000809054906101000a900473ffffffffffffffffffffffffffffffffffffffff1681565b6040805190810160405280600481526020017f544f4e450000000000000000000000000000000000000000000000000000000081525081565b60008060009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff161415156116b757600080fd5b60008473ffffffffffffffffffffffffffffffffffffffff16141515156116dd57600080fd5b6000831115156116ec57600080fd5b6000821115156116fb57600080fd5b61173783600460008073ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002054611edf90919063ffffffff16565b600460008073ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020819055506006600083815260200190815260200160002080548060010182816117899190611f16565b9160005260206000209060020201600060408051908101604052808873ffffffffffffffffffffffffffffffffffffffff16815260200187815250909190915060008201518160000160006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff1602179055506020820151816001015550505061183283600254611ef890919063ffffffff16565b6002819055506b033b2e3c9fd0803ce8000000611897600460008073ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002054611889600354600254611ef890919063ffffffff16565b611ef890919063ffffffff16565b1415156118a057fe5b600190509392505050565b600060015442101515156118be57600080fd5b3073ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff16141515156118f957600080fd5b81600460003373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020541015151561194757600080fd5b61199982600460003373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002054611edf90919063ffffffff16565b600460003373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002081905550611a2e82600460008673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002054611ef890919063ffffffff16565b600460008573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020819055508273ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef846040518082815260200191505060405180910390a36001905092915050565b6000611aed858585610aea565b508373ffffffffffffffffffffffffffffffffffffffff168260405180828051906020019080838360005b83811015611b33578082015181840152602081019050611b18565b50505050905090810190601f168015611b605780820380516001836020036101000a031916815260200191505b5091505060006040518083038160008661646e5a03f19150501515611b8457600080fd5b60019050949350505050565b60008060009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff16141515611bed57600080fd5b611c01600042611ef890919063ffffffff16565b60018190555060008060006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff1602179055506001905090565b6000611c5b84846118ab565b508373ffffffffffffffffffffffffffffffffffffffff168260405180828051906020019080838360005b83811015611ca1578082015181840152602081019050611c86565b50505050905090810190601f168015611cce5780820380516001836020036101000a031916815260200191505b5091505060006040518083038160008661646e5a03f19150501515611cf257600080fd5b600190509392505050565b60015481565b6000600560008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002054905092915050565b6000809054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff16141515611de557600080fd5b600073ffffffffffffffffffffffffffffffffffffffff168173ffffffffffffffffffffffffffffffffffffffff1614151515611e2157600080fd5b8073ffffffffffffffffffffffffffffffffffffffff166000809054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff167f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e060405160405180910390a3806000806101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff16021790555050565b6000828211151515611eed57fe5b818303905092915050565b6000808284019050838110151515611f0c57fe5b8091505092915050565b815481835581811511611f4357600202816002028360005260206000209182019101611f429190611f48565b5b505050565b611f9391905b80821115611f8f57600080820160006101000a81549073ffffffffffffffffffffffffffffffffffffffff0219169055600182016000905550600201611f4e565b5090565b905600a165627a7a72305820240d5b45e082ec1ce44ea85bb7bbce831c4a198381b97c0b63dd88095ec25b530029

Deployed Bytecode Sourcemap

7584:784:0:-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;5473:8;;;2670:49;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;23:1:-1;8:100;33:3;30:1;27:2;8:100;;;99:1;94:3;90;84:5;80:1;75:3;71;64:6;52:2;49:1;45:3;40:15;;8:100;;;12:14;3:109;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;5773:335:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;6739:317;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;5497:101;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;7064:513;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;2771:35;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;7640:232;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;5606:159;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;4565:702;;;;;;;;;;;;;;;;;;;;;;;;;;3410:552;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;779:20;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;2726:38;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;23:1:-1;8:100;33:3;30:1;27:2;8:100;;;99:1;94:3;90;84:5;80:1;75:3;71;64:6;52:2;49:1;45:3;40:15;;8:100;;;12:14;3:109;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;3970:587:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;6310:421;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;8107:258;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;5275:153;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;7880:219;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;2872:45;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;6116:186;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;1082:187;;;;;;;;;;;;;;;;;;;;;;;;;;;;2670:49;;;;;;;;;;;;;;;;;;;;:::o;5773:335::-;5893:15;5926:5;5975:7;5934:10;:25;5945:13;5934:25;;;;;;;;;;;5926:33;;5985:1;5975:11;;5970:112;5992:1;:8;;;;5988:1;:12;;;5970:112;;;6039:10;6026:23;;:1;6028;6026:4;;;;;;;;;;;;;;;;;;;;;;:9;;;;;;;;;;;;:23;;;6022:48;;;6058:1;6060;6058:4;;;;;;;;;;;;;;;;;;;;;;:12;;;6051:19;;;;6022:48;6002:3;;;;;;;5970:112;;;6099:1;6092:8;;5773:335;;;;;;;:::o;6739:317::-;6823:12;6868:17;;6861:3;:24;;6853:33;;;;;;;;6924:4;6905:24;;:7;:24;;;;6897:33;;;;;;;;6972:6;6941:7;:19;6949:10;6941:19;;;;;;;;;;;;;;;:28;6961:7;6941:28;;;;;;;;;;;;;;;:37;;;;7010:7;6989:37;;6998:10;6989:37;;;7019:6;6989:37;;;;;;;;;;;;;;;;;;7044:4;7037:11;;6739:317;;;;:::o;5497:101::-;5545:7;5572:18;;5565:25;;5497:101;:::o;7064:513::-;7178:12;7218:17;;7211:3;:24;;7203:33;;;;;;;;7269:4;7255:19;;:2;:19;;;;7247:28;;;;;;;;7323:6;7294:7;:13;7302:4;7294:13;;;;;;;;;;;;;;;:25;7308:10;7294:25;;;;;;;;;;;;;;;;:35;;7286:44;;;;;;;;7358:26;7377:6;7358:8;:14;7367:4;7358:14;;;;;;;;;;;;;;;;:18;;:26;;;;:::i;:::-;7341:8;:14;7350:4;7341:14;;;;;;;;;;;;;;;:43;;;;7423:37;7453:6;7423:7;:13;7431:4;7423:13;;;;;;;;;;;;;;;:25;7437:10;7423:25;;;;;;;;;;;;;;;;:29;;:37;;;;:::i;:::-;7395:7;:13;7403:4;7395:13;;;;;;;;;;;;;;;:25;7409:10;7395:25;;;;;;;;;;;;;;;:65;;;;7486:24;7503:6;7486:8;:12;7495:2;7486:12;;;;;;;;;;;;;;;;:16;;:24;;;;:::i;:::-;7471:8;:12;7480:2;7471:12;;;;;;;;;;;;;;;:39;;;;7536:2;7521:26;;7530:4;7521:26;;;7540:6;7521:26;;;;;;;;;;;;;;;;;;7565:4;7558:11;;7064:513;;;;;:::o;2771:35::-;2804:2;2771:35;:::o;7640:232::-;7754:4;7771:31;7785:8;7795:6;7771:13;:31::i;:::-;;7821:8;:13;;7835:5;7821:20;;;;;;;;;;;;;23:1:-1;8:100;33:3;30:1;27:2;8:100;;;99:1;94:3;90;84:5;80:1;75:3;71;64:6;52:2;49:1;45:3;40:15;;8:100;;;12:14;3:109;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;7813:29:0;;;;;;;;7860:4;7853:11;;7640:232;;;;;:::o;5606:159::-;5697:15;5737:8;:20;5746:10;5737:20;;;;;;;;;;;;;;;;5730:27;;5606:159;;;:::o;4565:702::-;4814:5;4863:7;4650:36;4672:13;4650:17;;:21;;:36;;;;:::i;:::-;4643:3;:43;;4635:52;;;;;;;;4741:1;4706:10;:25;4717:13;4706:25;;;;;;;;;;;:32;;;;:36;4698:45;;;;;;;;4801:1;4762:10;:25;4773:13;4762:25;;;;;;;;;;;4788:1;4762:28;;;;;;;;;;;;;;;;;;;;:36;;;:40;4754:49;;;;;;;;4822:10;:25;4833:13;4822:25;;;;;;;;;;;4814:33;;4873:1;4863:11;;4858:402;4880:1;:8;;;;4876:1;:12;;;4858:402;;;4932:37;4956:1;4958;4956:4;;;;;;;;;;;;;;;;;;;;;;:12;;;4932:8;:19;4941:1;4943;4941:4;;;;;;;;;;;;;;;;;;;;;;:9;;;;;;;;;;;;4932:19;;;;;;;;;;;;;;;;:23;;:37;;;;:::i;:::-;4910:8;:19;4919:1;4921;4919:4;;;;;;;;;;;;;;;;;;;;;;:9;;;;;;;;;;;;4910:19;;;;;;;;;;;;;;;:59;;;;5005:36;5028:1;5030;5028:4;;;;;;;;;;;;;;;;;;;;;;:12;;;5005:18;;:22;;:36;;;;:::i;:::-;4984:18;:57;;;;5072:31;5090:1;5092;5090:4;;;;;;;;;;;;;;;;;;;;;;:12;;;5072:13;;:17;;:31;;;;:::i;:::-;5056:13;:47;;;;5118:45;5139:1;5141;5139:4;;;;;;;;;;;;;;;;;;;;;;:9;;;;;;;;;;;;5150:1;5152;5150:4;;;;;;;;;;;;;;;;;;;;;;:12;;;5118:45;;;;;;;;;;;;;;;;;;;;;;;;;;;;5193:1;5195;5193:4;;;;;;;;;;;;;;;;;;;;;;:9;;;;;;;;;;;;5178:39;;5187:4;5178:39;5204:1;5206;5204:4;;;;;;;;;;;;;;;;;;;;;;:12;;;5178:39;;;;;;;;;;;;;;;;;;5247:1;5232;5234;5232:4;;;;;;;;;;;;;;;;;;;;;;:12;;:16;;;;4890:3;;;;;;;4858:402;;;4565:702;;;:::o;3410:552::-;3517:4;1048:5;;;;;;;;;;;1034:19;;:10;:19;;;1026:28;;;;;;;;3555:4;3547;:12;;;;3539:21;;;;;;;;3588:1;3579:6;:10;3571:19;;;;;;;;3618:26;3637:6;3618:8;:14;3627:4;3618:14;;;;;;;;;;;;;;:18;;:26;;;;:::i;:::-;3601:8;:14;3610:4;3601:14;;;;;;;;;;;;;:43;;;;3672:26;3691:6;3672:8;:14;3681:4;3672:14;;;;;;;;;;;;;;;;:18;;:26;;;;:::i;:::-;3655:8;:14;3664:4;3655:14;;;;;;;;;;;;;;;:43;;;;3730:30;3753:6;3730:18;;:22;;:30;;;;:::i;:::-;3709:18;:51;;;;2845:20;3792:57;3834:8;:14;3843:4;3834:14;;;;;;;;;;;;;;3792:37;3810:18;;3792:13;;:17;;:37;;;;:::i;:::-;:41;;:57;;;;:::i;:::-;:90;3771:122;;;;;;3919:4;3904:28;;3913:4;3904:28;3925:6;3904:28;;;;;;;;;;;;;;;;;;3950:4;3943:11;;3410:552;;;;:::o;779:20::-;;;;;;;;;;;;;:::o;2726:38::-;;;;;;;;;;;;;;;;;;;;:::o;3970:587::-;4113:4;1048:5;;;;;;;;;;;1034:19;;:10;:19;;;1026:28;;;;;;;;4146:4;4138;:12;;;;4130:21;;;;;;;;4179:1;4170:6;:10;4162:19;;;;;;;;4216:1;4200:13;:17;4192:26;;;;;;;;4246;4265:6;4246:8;:14;4255:4;4246:14;;;;;;;;;;;;;;:18;;:26;;;;:::i;:::-;4229:8;:14;4238:4;4229:14;;;;;;;;;;;;;:43;;;;4283:10;:25;4294:13;4283:25;;;;;;;;;;;:59;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;4314:27;;;;;;;;;4328:4;4314:27;;;;;;4334:6;4314:27;;;4283:59;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;4369:25;4387:6;4369:13;;:17;;:25;;;;:::i;:::-;4353:13;:41;;;;2845:20;4426:57;4468:8;:14;4477:4;4468:14;;;;;;;;;;;;;;4426:37;4444:18;;4426:13;;:17;;:37;;;;:::i;:::-;:41;;:57;;;;:::i;:::-;:90;4405:122;;;;;;4545:4;4538:11;;3970:587;;;;;:::o;6310:421::-;6390:12;6435:17;;6428:3;:24;;6420:33;;;;;;;;6486:4;6472:19;;:2;:19;;;;6464:28;;;;;;;;6535:6;6511:8;:20;6520:10;6511:20;;;;;;;;;;;;;;;;:30;;6503:39;;;;;;;;6576:32;6601:6;6576:8;:20;6585:10;6576:20;;;;;;;;;;;;;;;;:24;;:32;;;;:::i;:::-;6553:8;:20;6562:10;6553:20;;;;;;;;;;;;;;;:55;;;;6634:24;6651:6;6634:8;:12;6643:2;6634:12;;;;;;;;;;;;;;;;:16;;:24;;;;:::i;:::-;6619:8;:12;6628:2;6619:12;;;;;;;;;;;;;;;:39;;;;6690:2;6669:32;;6678:10;6669:32;;;6694:6;6669:32;;;;;;;;;;;;;;;;;;6719:4;6712:11;;6310:421;;;;:::o;8107:258::-;8245:4;8262:38;8281:5;8288:3;8293:6;8262:18;:38::i;:::-;;8319:3;:8;;8328:5;8319:15;;;;;;;;;;;;;23:1:-1;8:100;33:3;30:1;27:2;8:100;;;99:1;94:3;90;84:5;80:1;75:3;71;64:6;52:2;49:1;45:3;40:15;;8:100;;;12:14;3:109;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;8311:24:0;;;;;;;;8353:4;8346:11;;8107:258;;;;;;:::o;5275:153::-;5328:4;1048:5;;;;;;;;;;;1034:19;;:10;:19;;;1026:28;;;;;;;;5365:10;5373:1;5365:3;:7;;:10;;;;:::i;:::-;5345:17;:30;;;;5394:4;5386:5;;:12;;;;;;;;;;;;;;;;;;5416:4;5409:11;;5275:153;:::o;7880:219::-;7990:4;8007:27;8022:3;8027:6;8007:14;:27::i;:::-;;8053:3;:8;;8062:5;8053:15;;;;;;;;;;;;;23:1:-1;8:100;33:3;30:1;27:2;8:100;;;99:1;94:3;90;84:5;80:1;75:3;71;64:6;52:2;49:1;45:3;40:15;;8:100;;;12:14;3:109;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;8045:24:0;;;;;;;;8087:4;8080:11;;7880:219;;;;;:::o;2872:45::-;;;;:::o;6116:186::-;6224:17;6266:7;:19;6274:10;6266:19;;;;;;;;;;;;;;;:28;6286:7;6266:28;;;;;;;;;;;;;;;;6259:35;;6116:186;;;;:::o;1082:187::-;1048:5;;;;;;;;;;;1034:19;;:10;:19;;;1026:28;;;;;;;;1183:1;1163:22;;:8;:22;;;;1155:31;;;;;;;;1225:8;1197:37;;1218:5;;;;;;;;;;;1197:37;;;;;;;;;;;;1253:8;1245:5;;:16;;;;;;;;;;;;;;;;;;1082:187;:::o;470:123::-;528:7;560:1;555;:6;;548:14;;;;;;584:1;580;:5;573:12;;470:123;;;;:::o;601:147::-;659:7;679:9;695:1;691;:5;679:17;;719:1;714;:6;;707:14;;;;;;739:1;732:8;;601:147;;;;;:::o;7584:784::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;;;;:::o;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::o

Swarm Source

bzzr://240d5b45e082ec1ce44ea85bb7bbce831c4a198381b97c0b63dd88095ec25b53
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.