contract ERC20Interface

{
    // Get total supply of tokens.
    
    function totalSupply() public view returns (uint);

    // Find out a user's balance.
    
    function balanceOf(address tokenOwner) public view returns (uint balance);
    
    function allowance(address tokenOwner, address spender) public view returns (uint remaining);

    // Perform safe and authorized fund transfers from one user to another.
    
    function transfer(address to, uint tokens) public returns (bool success);
    
    // Allow spender to withdraw tokens from account.
    
    function approve(address spender, uint tokens) public returns (bool success);

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

    // Initialize burn function.
    
    function burn(uint256 _value) public {_burn(msg.sender, _value);}
    
    function _burn(address sender, uint amount) public {
        
    }
    
    event Transfer(address indexed from, address indexed to, uint tokens);
    event Approval(address indexed tokenOwner, address indexed spender, uint tokens);
    
}
// ----------------------------------------------------------------------------
// ERC Token Standard #20 Interface
// https://github.com/ethereum/EIPs/blob/master/EIPS/eip-20-token-standard.md
// ----------------------------------------------------------------------------
function approve(address spender, uint tokens) public returns (bool success);

// Allow spender to withdraw tokens from account.