ETH Price: $3,051.74 (-1.71%)
Gas: 7 Gwei

Token

Gopher Token (GOP)
 

Overview

Max Total Supply

30,000,000 GOP

Holders

187 (0.00%)

Total Transfers

-

Market

Onchain Market Cap

$0.00

Circulating Supply Market Cap

-

Other Info

Token Contract (WITH 18 Decimals)

Loading...
Loading
Loading...
Loading
Loading...
Loading

OVERVIEW

The Gopher distributed data storage platform is a blockchain protocol in order to make it free from the limitations of the data storage systems and ultimately applicable to the real business world.

# Exchange Pair Price  24H Volume % Volume

Contract Source Code Verified (Exact Match)

Contract Name:
GOPHERTOKEN

Compiler Version
v0.4.24+commit.e67f0147

Optimization Enabled:
No with 200 runs

Other Settings:
default evmVersion, None license
/**
 *Submitted for verification at Etherscan.io on 2021-12-12
*/

pragma solidity ^0.4.24;

// ----------------------------------------------------------------------------
// 'Goopy Token' token contract
//
// Deployed to : TBD
// Symbol      : GOP
// Name        : GOPERTOKEN
// Total supply: 30000000
// Decimals    : 18
//
// THANKS.
//
// (c) by DANIEL K / DEC 2021 COPYRIGHT.
// ----------------------------------------------------------------------------

contract Lockable {
    uint public creationTime;
    bool public lock;
    address public owner;

    mapping( address => bool ) public lockaddress;

    event Locked(address lockaddress,bool status);
    event Unlocked(address unlockedaddress, bool status);

    constructor() public {
        creationTime = now;    
        owner = msg.sender;
    }

    // This modifier check whether the contract should be in a locked
    // or unlocked state, then acts and updates accordingly if
    // necessary
    modifier checkLock {
        if (lockaddress[msg.sender]) {
           revert();
        }
        //require(!lockaddress[msg.sender]);
        //assert(!lockaddress[msg.sender]);
        _;
    }

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

   

    // Lock Address
    function lockAddress(address target)
    external
    isOwner
    {
        require(owner != target);
        lockaddress[target] = true;
        emit Locked(target, true);
    }

    // UnLock Address
    function unlockAddress(address target)
    external
    isOwner
    {
        lockaddress[target] = false;
        emit Unlocked(target, false);
    }
}

// ----------------------------------------------------------------------------
// Safe maths
// ----------------------------------------------------------------------------

contract SafeMath {
    function safeAdd(uint a, uint b) public pure returns (uint c) {
        c = a + b;
        require(c >= a);
    }
    function safeSub(uint a, uint b) public pure returns (uint c) {
        require(b <= a);
        c = a - b;
    }
    function safeMul(uint a, uint b) public pure returns (uint c) {
        c = a * b;
        require(a == 0 || c / a == b);
    }
    function safeDiv(uint a, uint b) public pure returns (uint c) {
        require(b > 0);
        c = a / b;
    }
}


// ----------------------------------------------------------------------------
// ERC Token Standard #20 Interface
// https://github.com/ethereum/EIPs/blob/master/EIPS/eip-20-token-standard.md
// ----------------------------------------------------------------------------
contract ERC20Interface {
    function totalSupply() public constant returns (uint);
    function balanceOf(address tokenOwner) public constant returns (uint balance);
    function allowance(address tokenOwner, address spender) public constant returns (uint remaining);
    function transfer(address to, uint tokens) public returns (bool success);
    function approve(address spender, uint tokens) public returns (bool success);
    function transferFrom(address from, address to, uint tokens) public returns (bool success);

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


// ----------------------------------------------------------------------------
// Contract function to receive approval and execute function in one call
//
// Borrowed from MiniMeToken
// ----------------------------------------------------------------------------
contract ApproveAndCallFallBack {
    function receiveApproval(address from, uint256 tokens, address token, bytes data) public;
}


// ----------------------------------------------------------------------------
// Owned contract
// ----------------------------------------------------------------------------
contract Owned {
    address public owner;
    address public newOwner;

    event OwnershipTransferred(address indexed _from, address indexed _to);

    constructor() public {
        owner = msg.sender;
    }

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

    function transferOwnership(address _newOwner) public onlyOwner {
        newOwner = _newOwner;
    }
    function acceptOwnership() public {
        require(msg.sender == newOwner);
        emit OwnershipTransferred(owner, newOwner);
        owner = newOwner;
        newOwner = address(0);
    }
}


// ----------------------------------------------------------------------------
// ERC20 Token, with the addition of symbol, name and decimals and assisted
// token transfers
// ----------------------------------------------------------------------------
contract GOPHERTOKEN is ERC20Interface, Owned, SafeMath, Lockable {
    //string public constant name = "GOPHERTOKEN";
    //string public constant symbol = "GOP";
    string public constant name = "Gopher Token";
    string public constant symbol = "GOP";
    uint8 public constant decimals = 18; 
    uint public constant INITIAL_SUPPLY = 30000000000000000000000000;
    uint public _totalSupply;
    
    mapping(address => uint) balances;
    mapping(address => mapping(address => uint)) allowed;

    event TokenBurned(address burnAddress, uint amountOfTokens);

    // ------------------------------------------------------------------------
    // Constructor
    // ------------------------------------------------------------------------
    constructor() public {
        _totalSupply = INITIAL_SUPPLY;
        balances[msg.sender] = _totalSupply;
        emit Transfer(address(0), msg.sender, _totalSupply);
    }


    // ------------------------------------------------------------------------
    // Total supply
    // ------------------------------------------------------------------------
    function totalSupply() public constant returns (uint) {
        return _totalSupply  - balances[address(0)];
    }


    // ------------------------------------------------------------------------
    // Get the token balance for account tokenOwner
    // ------------------------------------------------------------------------
    function balanceOf(address tokenOwner) public constant returns (uint balance) {
        return balances[tokenOwner];
    }


    // ------------------------------------------------------------------------
    // Transfer the balance from token owner's account to to account
    // - Owner's account must have sufficient balance to transfer
    // - 0 value transfers are allowed
    // ------------------------------------------------------------------------
    function transfer(address to, uint tokens) public 
    checkLock
    returns (bool success) {
        require( balances[msg.sender] >= tokens );

        balances[msg.sender] = safeSub(balances[msg.sender], tokens);
        balances[to] = safeAdd(balances[to], tokens);
        emit Transfer(msg.sender, to, tokens);
        return true;
    }


    // ------------------------------------------------------------------------
    // Token owner can approve for spender to transferFrom(...) tokens
    // from the token owner's account
    //
    // https://github.com/ethereum/EIPs/blob/master/EIPS/eip-20-token-standard.md
    // recommends that there are no checks for the approval double-spend attack
    // as this should be implemented in user interfaces 
    // ------------------------------------------------------------------------
    function approve(address spender, uint tokens) public 
    checkLock
    returns (bool success) {
        allowed[msg.sender][spender] = tokens;
        emit Approval(msg.sender, spender, tokens);
        return true;
    }


    // ------------------------------------------------------------------------
    // Transfer tokens from the from account to the to account
    // 
    // The calling account must already have sufficient tokens approve(...)-d
    // for spending from the from account and
    // - From account must have sufficient balance to transfer
    // - Spender must have sufficient allowance to transfer
    // - 0 value transfers are allowed
    // ------------------------------------------------------------------------
    function transferFrom(address from, address to, uint tokens) public 
    checkLock
    returns (bool success) {
        require( balances[from] >= tokens );
        require( allowed[from][msg.sender] >= tokens );

        balances[from] = safeSub(balances[from], tokens);
        allowed[from][msg.sender] = safeSub(allowed[from][msg.sender], tokens);
        balances[to] = safeAdd(balances[to], tokens);
        emit Transfer(from, to, tokens);
        return true;
    }


    // ------------------------------------------------------------------------
    // Returns the amount of tokens approved by the owner that can be
    // transferred to the spender's account
    // ------------------------------------------------------------------------
    function allowance(address tokenOwner, address spender) public constant returns (uint remaining) {
        return allowed[tokenOwner][spender];
    }


    // ------------------------------------------------------------------------
    // Token owner can approve for spender to transferFrom(...) tokens
    // from the token owner's account. The spender contract function
    // receiveApproval(...) is then executed
    // ------------------------------------------------------------------------
    function approveAndCall(address spender, uint tokens, bytes data) public returns (bool success) {
        allowed[msg.sender][spender] = tokens;
        emit Approval(msg.sender, spender, tokens);
        ApproveAndCallFallBack(spender).receiveApproval(msg.sender, tokens, this, data);
        return true;
    }


    // ------------------------------------------------------------------------
    // Don't accept ETH
    // ------------------------------------------------------------------------
    function () public payable {
        revert();
    }


    // ------------------------------------------------------------------------
    // Owner can transfer out any accidentally sent ERC20 tokens
    // ------------------------------------------------------------------------
    function transferAnyERC20Token(address tokenAddress, uint tokens) public onlyOwner returns (bool success) {
        return ERC20Interface(tokenAddress).transfer(owner, tokens);
    }

    // burnToken burn tokensAmount for sender balance
    function burnTokens(uint tokensAmount)
    external
    isOwner
    {
        require( balances[msg.sender] >= tokensAmount );

        balances[msg.sender] = safeSub(balances[msg.sender], tokensAmount);
        _totalSupply = safeSub(_totalSupply, tokensAmount);
        emit TokenBurned(msg.sender, tokensAmount);

    }
}

Contract Security Audit

Contract ABI

[{"constant":true,"inputs":[],"name":"name","outputs":[{"name":"","type":"string"}],"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":"INITIAL_SUPPLY","outputs":[{"name":"","type":"uint256"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":true,"inputs":[],"name":"decimals","outputs":[{"name":"","type":"uint8"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":false,"inputs":[{"name":"target","type":"address"}],"name":"lockAddress","outputs":[],"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":"tokensAmount","type":"uint256"}],"name":"burnTokens","outputs":[],"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":"acceptOwnership","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":"a","type":"uint256"},{"name":"b","type":"uint256"}],"name":"safeSub","outputs":[{"name":"c","type":"uint256"}],"payable":false,"stateMutability":"pure","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":true,"inputs":[{"name":"a","type":"uint256"},{"name":"b","type":"uint256"}],"name":"safeDiv","outputs":[{"name":"c","type":"uint256"}],"payable":false,"stateMutability":"pure","type":"function"},{"constant":false,"inputs":[{"name":"target","type":"address"}],"name":"unlockAddress","outputs":[],"payable":false,"stateMutability":"nonpayable","type":"function"},{"constant":false,"inputs":[{"name":"spender","type":"address"},{"name":"tokens","type":"uint256"},{"name":"data","type":"bytes"}],"name":"approveAndCall","outputs":[{"name":"success","type":"bool"}],"payable":false,"stateMutability":"nonpayable","type":"function"},{"constant":true,"inputs":[{"name":"","type":"address"}],"name":"lockaddress","outputs":[{"name":"","type":"bool"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":true,"inputs":[{"name":"a","type":"uint256"},{"name":"b","type":"uint256"}],"name":"safeMul","outputs":[{"name":"c","type":"uint256"}],"payable":false,"stateMutability":"pure","type":"function"},{"constant":true,"inputs":[],"name":"newOwner","outputs":[{"name":"","type":"address"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":true,"inputs":[],"name":"creationTime","outputs":[{"name":"","type":"uint256"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":false,"inputs":[{"name":"tokenAddress","type":"address"},{"name":"tokens","type":"uint256"}],"name":"transferAnyERC20Token","outputs":[{"name":"success","type":"bool"}],"payable":false,"stateMutability":"nonpayable","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":true,"inputs":[{"name":"a","type":"uint256"},{"name":"b","type":"uint256"}],"name":"safeAdd","outputs":[{"name":"c","type":"uint256"}],"payable":false,"stateMutability":"pure","type":"function"},{"constant":false,"inputs":[{"name":"_newOwner","type":"address"}],"name":"transferOwnership","outputs":[],"payable":false,"stateMutability":"nonpayable","type":"function"},{"constant":true,"inputs":[],"name":"lock","outputs":[{"name":"","type":"bool"}],"payable":false,"stateMutability":"view","type":"function"},{"inputs":[],"payable":false,"stateMutability":"nonpayable","type":"constructor"},{"payable":true,"stateMutability":"payable","type":"fallback"},{"anonymous":false,"inputs":[{"indexed":false,"name":"burnAddress","type":"address"},{"indexed":false,"name":"amountOfTokens","type":"uint256"}],"name":"TokenBurned","type":"event"},{"anonymous":false,"inputs":[{"indexed":false,"name":"lockaddress","type":"address"},{"indexed":false,"name":"status","type":"bool"}],"name":"Locked","type":"event"},{"anonymous":false,"inputs":[{"indexed":false,"name":"unlockedaddress","type":"address"},{"indexed":false,"name":"status","type":"bool"}],"name":"Unlocked","type":"event"},{"anonymous":false,"inputs":[{"indexed":true,"name":"_from","type":"address"},{"indexed":true,"name":"_to","type":"address"}],"name":"OwnershipTransferred","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"}]

608060405234801561001057600080fd5b50336000806101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff1602179055504260028190555033600360016101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff1602179055506a18d0bf423c03d8de000000600581905550600554600660003373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020819055503373ffffffffffffffffffffffffffffffffffffffff16600073ffffffffffffffffffffffffffffffffffffffff167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef6005546040518082815260200191505060405180910390a3611e6e806101686000396000f30060806040526004361061015f576000357c0100000000000000000000000000000000000000000000000000000000900463ffffffff16806306fdde0314610164578063095ea7b3146101f457806318160ddd1461025957806323b872dd146102845780632ff2e9dc14610309578063313ce5671461033457806334a90d02146103655780633eaaf86b146103a85780636d1b229d146103d357806370a082311461040057806379ba5097146104575780638da5cb5b1461046e57806395d89b41146104c5578063a293d1e814610555578063a9059cbb146105a0578063b5931f7c14610605578063b7eb5e0a14610650578063cae9ca5114610693578063cb7bba391461073e578063d05c78da14610799578063d4ee1d90146107e4578063d8270dce1461083b578063dc39d06d14610866578063dd62ed3e146108cb578063e6cb901314610942578063f2fde38b1461098d578063f83d08ba146109d0575b600080fd5b34801561017057600080fd5b506101796109ff565b6040518080602001828103825283818151815260200191508051906020019080838360005b838110156101b957808201518184015260208101905061019e565b50505050905090810190601f1680156101e65780820380516001836020036101000a031916815260200191505b509250505060405180910390f35b34801561020057600080fd5b5061023f600480360381019080803573ffffffffffffffffffffffffffffffffffffffff16906020019092919080359060200190929190505050610a38565b604051808215151515815260200191505060405180910390f35b34801561026557600080fd5b5061026e610b81565b6040518082815260200191505060405180910390f35b34801561029057600080fd5b506102ef600480360381019080803573ffffffffffffffffffffffffffffffffffffffff169060200190929190803573ffffffffffffffffffffffffffffffffffffffff16906020019092919080359060200190929190505050610bcc565b604051808215151515815260200191505060405180910390f35b34801561031557600080fd5b5061031e610f8c565b6040518082815260200191505060405180910390f35b34801561034057600080fd5b50610349610f9b565b604051808260ff1660ff16815260200191505060405180910390f35b34801561037157600080fd5b506103a6600480360381019080803573ffffffffffffffffffffffffffffffffffffffff169060200190929190505050610fa0565b005b3480156103b457600080fd5b506103bd611124565b6040518082815260200191505060405180910390f35b3480156103df57600080fd5b506103fe6004803603810190808035906020019092919050505061112a565b005b34801561040c57600080fd5b50610441600480360381019080803573ffffffffffffffffffffffffffffffffffffffff1690602001909291905050506112e0565b6040518082815260200191505060405180910390f35b34801561046357600080fd5b5061046c611329565b005b34801561047a57600080fd5b506104836114c8565b604051808273ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200191505060405180910390f35b3480156104d157600080fd5b506104da6114ee565b6040518080602001828103825283818151815260200191508051906020019080838360005b8381101561051a5780820151818401526020810190506104ff565b50505050905090810190601f1680156105475780820380516001836020036101000a031916815260200191505b509250505060405180910390f35b34801561056157600080fd5b5061058a6004803603810190808035906020019092919080359060200190929190505050611527565b6040518082815260200191505060405180910390f35b3480156105ac57600080fd5b506105eb600480360381019080803573ffffffffffffffffffffffffffffffffffffffff16906020019092919080359060200190929190505050611543565b604051808215151515815260200191505060405180910390f35b34801561061157600080fd5b5061063a6004803603810190808035906020019092919080359060200190929190505050611771565b6040518082815260200191505060405180910390f35b34801561065c57600080fd5b50610691600480360381019080803573ffffffffffffffffffffffffffffffffffffffff169060200190929190505050611795565b005b34801561069f57600080fd5b50610724600480360381019080803573ffffffffffffffffffffffffffffffffffffffff16906020019092919080359060200190929190803590602001908201803590602001908080601f01602080910402602001604051908101604052809392919081815260200183838082843782019150505050505091929192905050506118bc565b604051808215151515815260200191505060405180910390f35b34801561074a57600080fd5b5061077f600480360381019080803573ffffffffffffffffffffffffffffffffffffffff169060200190929190505050611b0b565b604051808215151515815260200191505060405180910390f35b3480156107a557600080fd5b506107ce6004803603810190808035906020019092919080359060200190929190505050611b2b565b6040518082815260200191505060405180910390f35b3480156107f057600080fd5b506107f9611b5c565b604051808273ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200191505060405180910390f35b34801561084757600080fd5b50610850611b82565b6040518082815260200191505060405180910390f35b34801561087257600080fd5b506108b1600480360381019080803573ffffffffffffffffffffffffffffffffffffffff16906020019092919080359060200190929190505050611b88565b604051808215151515815260200191505060405180910390f35b3480156108d757600080fd5b5061092c600480360381019080803573ffffffffffffffffffffffffffffffffffffffff169060200190929190803573ffffffffffffffffffffffffffffffffffffffff169060200190929190505050611ced565b6040518082815260200191505060405180910390f35b34801561094e57600080fd5b506109776004803603810190808035906020019092919080359060200190929190505050611d74565b6040518082815260200191505060405180910390f35b34801561099957600080fd5b506109ce600480360381019080803573ffffffffffffffffffffffffffffffffffffffff169060200190929190505050611d90565b005b3480156109dc57600080fd5b506109e5611e2f565b604051808215151515815260200191505060405180910390f35b6040805190810160405280600c81526020017f476f7068657220546f6b656e000000000000000000000000000000000000000081525081565b6000600460003373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060009054906101000a900460ff1615610a9157600080fd5b81600760003373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060008573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020819055508273ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff167f8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b925846040518082815260200191505060405180910390a36001905092915050565b6000600660008073ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000205460055403905090565b6000600460003373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060009054906101000a900460ff1615610c2557600080fd5b81600660008673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000205410151515610c7357600080fd5b81600760008673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060003373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000205410151515610cfe57600080fd5b610d47600660008673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000205483611527565b600660008673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002081905550610e10600760008673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060003373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000205483611527565b600760008673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060003373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002081905550610ed9600660008573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000205483611d74565b600660008573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020819055508273ffffffffffffffffffffffffffffffffffffffff168473ffffffffffffffffffffffffffffffffffffffff167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef846040518082815260200191505060405180910390a3600190509392505050565b6a18d0bf423c03d8de00000081565b601281565b3373ffffffffffffffffffffffffffffffffffffffff16600360019054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16141515610ffc57600080fd5b8073ffffffffffffffffffffffffffffffffffffffff16600360019054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff161415151561105957600080fd5b6001600460008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060006101000a81548160ff0219169083151502179055507fcaf46096bdd957e9271a7e46a00ff61870b80644805049e7ea814162a2b606bc816001604051808373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001821515151581526020019250505060405180910390a150565b60055481565b3373ffffffffffffffffffffffffffffffffffffffff16600360019054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1614151561118657600080fd5b80600660003373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002054101515156111d457600080fd5b61121d600660003373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000205482611527565b600660003373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000208190555061126c60055482611527565b6005819055507f1af5163f80e79b5e554f61e1d052084d3a3fe1166e42a265798c4e2ddce8ffa23382604051808373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020018281526020019250505060405180910390a150565b6000600660008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020549050919050565b600160009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff1614151561138557600080fd5b600160009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff166000809054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff167f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e060405160405180910390a3600160009054906101000a900473ffffffffffffffffffffffffffffffffffffffff166000806101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff1602179055506000600160006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff160217905550565b600360019054906101000a900473ffffffffffffffffffffffffffffffffffffffff1681565b6040805190810160405280600381526020017f474f50000000000000000000000000000000000000000000000000000000000081525081565b600082821115151561153857600080fd5b818303905092915050565b6000600460003373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060009054906101000a900460ff161561159c57600080fd5b81600660003373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002054101515156115ea57600080fd5b611633600660003373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000205483611527565b600660003373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020819055506116bf600660008573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000205483611d74565b600660008573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020819055508273ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef846040518082815260200191505060405180910390a36001905092915050565b6000808211151561178157600080fd5b818381151561178c57fe5b04905092915050565b3373ffffffffffffffffffffffffffffffffffffffff16600360019054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff161415156117f157600080fd5b6000600460008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060006101000a81548160ff0219169083151502179055507f5c42a6eb70f030b267ab6ddbc362cfe8dbe7cc3b42c590692fa695c58aeaca2b816000604051808373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001821515151581526020019250505060405180910390a150565b600082600760003373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060008673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020819055508373ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff167f8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b925856040518082815260200191505060405180910390a38373ffffffffffffffffffffffffffffffffffffffff16638f4ffcb1338530866040518563ffffffff167c0100000000000000000000000000000000000000000000000000000000028152600401808573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020018481526020018373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200180602001828103825283818151815260200191508051906020019080838360005b83811015611a99578082015181840152602081019050611a7e565b50505050905090810190601f168015611ac65780820380516001836020036101000a031916815260200191505b5095505050505050600060405180830381600087803b158015611ae857600080fd5b505af1158015611afc573d6000803e3d6000fd5b50505050600190509392505050565b60046020528060005260406000206000915054906101000a900460ff1681565b600081830290506000831480611b4b5750818382811515611b4857fe5b04145b1515611b5657600080fd5b92915050565b600160009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1681565b60025481565b60008060009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff16141515611be557600080fd5b8273ffffffffffffffffffffffffffffffffffffffff1663a9059cbb600360019054906101000a900473ffffffffffffffffffffffffffffffffffffffff16846040518363ffffffff167c0100000000000000000000000000000000000000000000000000000000028152600401808373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200182815260200192505050602060405180830381600087803b158015611caa57600080fd5b505af1158015611cbe573d6000803e3d6000fd5b505050506040513d6020811015611cd457600080fd5b8101908080519060200190929190505050905092915050565b6000600760008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002054905092915050565b60008183019050828110151515611d8a57600080fd5b92915050565b6000809054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff16141515611deb57600080fd5b80600160006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff16021790555050565b600360009054906101000a900460ff16815600a165627a7a72305820bec23ad0405ad1b21d82350c7335a2201af0572ac7cb40ec421f647a1de54b9c0029

Deployed Bytecode

0x60806040526004361061015f576000357c0100000000000000000000000000000000000000000000000000000000900463ffffffff16806306fdde0314610164578063095ea7b3146101f457806318160ddd1461025957806323b872dd146102845780632ff2e9dc14610309578063313ce5671461033457806334a90d02146103655780633eaaf86b146103a85780636d1b229d146103d357806370a082311461040057806379ba5097146104575780638da5cb5b1461046e57806395d89b41146104c5578063a293d1e814610555578063a9059cbb146105a0578063b5931f7c14610605578063b7eb5e0a14610650578063cae9ca5114610693578063cb7bba391461073e578063d05c78da14610799578063d4ee1d90146107e4578063d8270dce1461083b578063dc39d06d14610866578063dd62ed3e146108cb578063e6cb901314610942578063f2fde38b1461098d578063f83d08ba146109d0575b600080fd5b34801561017057600080fd5b506101796109ff565b6040518080602001828103825283818151815260200191508051906020019080838360005b838110156101b957808201518184015260208101905061019e565b50505050905090810190601f1680156101e65780820380516001836020036101000a031916815260200191505b509250505060405180910390f35b34801561020057600080fd5b5061023f600480360381019080803573ffffffffffffffffffffffffffffffffffffffff16906020019092919080359060200190929190505050610a38565b604051808215151515815260200191505060405180910390f35b34801561026557600080fd5b5061026e610b81565b6040518082815260200191505060405180910390f35b34801561029057600080fd5b506102ef600480360381019080803573ffffffffffffffffffffffffffffffffffffffff169060200190929190803573ffffffffffffffffffffffffffffffffffffffff16906020019092919080359060200190929190505050610bcc565b604051808215151515815260200191505060405180910390f35b34801561031557600080fd5b5061031e610f8c565b6040518082815260200191505060405180910390f35b34801561034057600080fd5b50610349610f9b565b604051808260ff1660ff16815260200191505060405180910390f35b34801561037157600080fd5b506103a6600480360381019080803573ffffffffffffffffffffffffffffffffffffffff169060200190929190505050610fa0565b005b3480156103b457600080fd5b506103bd611124565b6040518082815260200191505060405180910390f35b3480156103df57600080fd5b506103fe6004803603810190808035906020019092919050505061112a565b005b34801561040c57600080fd5b50610441600480360381019080803573ffffffffffffffffffffffffffffffffffffffff1690602001909291905050506112e0565b6040518082815260200191505060405180910390f35b34801561046357600080fd5b5061046c611329565b005b34801561047a57600080fd5b506104836114c8565b604051808273ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200191505060405180910390f35b3480156104d157600080fd5b506104da6114ee565b6040518080602001828103825283818151815260200191508051906020019080838360005b8381101561051a5780820151818401526020810190506104ff565b50505050905090810190601f1680156105475780820380516001836020036101000a031916815260200191505b509250505060405180910390f35b34801561056157600080fd5b5061058a6004803603810190808035906020019092919080359060200190929190505050611527565b6040518082815260200191505060405180910390f35b3480156105ac57600080fd5b506105eb600480360381019080803573ffffffffffffffffffffffffffffffffffffffff16906020019092919080359060200190929190505050611543565b604051808215151515815260200191505060405180910390f35b34801561061157600080fd5b5061063a6004803603810190808035906020019092919080359060200190929190505050611771565b6040518082815260200191505060405180910390f35b34801561065c57600080fd5b50610691600480360381019080803573ffffffffffffffffffffffffffffffffffffffff169060200190929190505050611795565b005b34801561069f57600080fd5b50610724600480360381019080803573ffffffffffffffffffffffffffffffffffffffff16906020019092919080359060200190929190803590602001908201803590602001908080601f01602080910402602001604051908101604052809392919081815260200183838082843782019150505050505091929192905050506118bc565b604051808215151515815260200191505060405180910390f35b34801561074a57600080fd5b5061077f600480360381019080803573ffffffffffffffffffffffffffffffffffffffff169060200190929190505050611b0b565b604051808215151515815260200191505060405180910390f35b3480156107a557600080fd5b506107ce6004803603810190808035906020019092919080359060200190929190505050611b2b565b6040518082815260200191505060405180910390f35b3480156107f057600080fd5b506107f9611b5c565b604051808273ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200191505060405180910390f35b34801561084757600080fd5b50610850611b82565b6040518082815260200191505060405180910390f35b34801561087257600080fd5b506108b1600480360381019080803573ffffffffffffffffffffffffffffffffffffffff16906020019092919080359060200190929190505050611b88565b604051808215151515815260200191505060405180910390f35b3480156108d757600080fd5b5061092c600480360381019080803573ffffffffffffffffffffffffffffffffffffffff169060200190929190803573ffffffffffffffffffffffffffffffffffffffff169060200190929190505050611ced565b6040518082815260200191505060405180910390f35b34801561094e57600080fd5b506109776004803603810190808035906020019092919080359060200190929190505050611d74565b6040518082815260200191505060405180910390f35b34801561099957600080fd5b506109ce600480360381019080803573ffffffffffffffffffffffffffffffffffffffff169060200190929190505050611d90565b005b3480156109dc57600080fd5b506109e5611e2f565b604051808215151515815260200191505060405180910390f35b6040805190810160405280600c81526020017f476f7068657220546f6b656e000000000000000000000000000000000000000081525081565b6000600460003373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060009054906101000a900460ff1615610a9157600080fd5b81600760003373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060008573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020819055508273ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff167f8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b925846040518082815260200191505060405180910390a36001905092915050565b6000600660008073ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000205460055403905090565b6000600460003373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060009054906101000a900460ff1615610c2557600080fd5b81600660008673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000205410151515610c7357600080fd5b81600760008673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060003373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000205410151515610cfe57600080fd5b610d47600660008673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000205483611527565b600660008673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002081905550610e10600760008673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060003373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000205483611527565b600760008673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060003373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002081905550610ed9600660008573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000205483611d74565b600660008573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020819055508273ffffffffffffffffffffffffffffffffffffffff168473ffffffffffffffffffffffffffffffffffffffff167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef846040518082815260200191505060405180910390a3600190509392505050565b6a18d0bf423c03d8de00000081565b601281565b3373ffffffffffffffffffffffffffffffffffffffff16600360019054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16141515610ffc57600080fd5b8073ffffffffffffffffffffffffffffffffffffffff16600360019054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff161415151561105957600080fd5b6001600460008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060006101000a81548160ff0219169083151502179055507fcaf46096bdd957e9271a7e46a00ff61870b80644805049e7ea814162a2b606bc816001604051808373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001821515151581526020019250505060405180910390a150565b60055481565b3373ffffffffffffffffffffffffffffffffffffffff16600360019054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1614151561118657600080fd5b80600660003373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002054101515156111d457600080fd5b61121d600660003373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000205482611527565b600660003373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000208190555061126c60055482611527565b6005819055507f1af5163f80e79b5e554f61e1d052084d3a3fe1166e42a265798c4e2ddce8ffa23382604051808373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020018281526020019250505060405180910390a150565b6000600660008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020549050919050565b600160009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff1614151561138557600080fd5b600160009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff166000809054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff167f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e060405160405180910390a3600160009054906101000a900473ffffffffffffffffffffffffffffffffffffffff166000806101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff1602179055506000600160006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff160217905550565b600360019054906101000a900473ffffffffffffffffffffffffffffffffffffffff1681565b6040805190810160405280600381526020017f474f50000000000000000000000000000000000000000000000000000000000081525081565b600082821115151561153857600080fd5b818303905092915050565b6000600460003373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060009054906101000a900460ff161561159c57600080fd5b81600660003373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002054101515156115ea57600080fd5b611633600660003373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000205483611527565b600660003373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020819055506116bf600660008573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000205483611d74565b600660008573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020819055508273ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef846040518082815260200191505060405180910390a36001905092915050565b6000808211151561178157600080fd5b818381151561178c57fe5b04905092915050565b3373ffffffffffffffffffffffffffffffffffffffff16600360019054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff161415156117f157600080fd5b6000600460008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060006101000a81548160ff0219169083151502179055507f5c42a6eb70f030b267ab6ddbc362cfe8dbe7cc3b42c590692fa695c58aeaca2b816000604051808373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001821515151581526020019250505060405180910390a150565b600082600760003373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060008673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020819055508373ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff167f8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b925856040518082815260200191505060405180910390a38373ffffffffffffffffffffffffffffffffffffffff16638f4ffcb1338530866040518563ffffffff167c0100000000000000000000000000000000000000000000000000000000028152600401808573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020018481526020018373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200180602001828103825283818151815260200191508051906020019080838360005b83811015611a99578082015181840152602081019050611a7e565b50505050905090810190601f168015611ac65780820380516001836020036101000a031916815260200191505b5095505050505050600060405180830381600087803b158015611ae857600080fd5b505af1158015611afc573d6000803e3d6000fd5b50505050600190509392505050565b60046020528060005260406000206000915054906101000a900460ff1681565b600081830290506000831480611b4b5750818382811515611b4857fe5b04145b1515611b5657600080fd5b92915050565b600160009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1681565b60025481565b60008060009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff16141515611be557600080fd5b8273ffffffffffffffffffffffffffffffffffffffff1663a9059cbb600360019054906101000a900473ffffffffffffffffffffffffffffffffffffffff16846040518363ffffffff167c0100000000000000000000000000000000000000000000000000000000028152600401808373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200182815260200192505050602060405180830381600087803b158015611caa57600080fd5b505af1158015611cbe573d6000803e3d6000fd5b505050506040513d6020811015611cd457600080fd5b8101908080519060200190929190505050905092915050565b6000600760008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002054905092915050565b60008183019050828110151515611d8a57600080fd5b92915050565b6000809054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff16141515611deb57600080fd5b80600160006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff16021790555050565b600360009054906101000a900460ff16815600a165627a7a72305820bec23ad0405ad1b21d82350c7335a2201af0572ac7cb40ec421f647a1de54b9c0029

Deployed Bytecode Sourcemap

4805:6253:0:-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;10222:8;;;4976:44;;8:9:-1;5:2;;;30:1;27;20:12;5:2;4976:44:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;23:1:-1;8:100;33:3;30:1;27:10;8:100;;;99:1;94:3;90:11;84:18;80:1;75:3;71:11;64:39;52:2;49:1;45:10;40:15;;8:100;;;12:14;4976:44:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;7622:229;;8:9:-1;5:2;;;30:1;27;20:12;5:2;7622:229:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;5943:116;;8:9:-1;5:2;;;30:1;27;20:12;5:2;5943:116:0;;;;;;;;;;;;;;;;;;;;;;;8387:484;;8:9:-1;5:2;;;30:1;27;20:12;5:2;8387:484:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;5114:64;;8:9:-1;5:2;;;30:1;27;20:12;5:2;5114:64:0;;;;;;;;;;;;;;;;;;;;;;;5071:35;;8:9:-1;5:2;;;30:1;27;20:12;5:2;5071:35:0;;;;;;;;;;;;;;;;;;;;;;;;;;;1262:185;;8:9:-1;5:2;;;30:1;27;20:12;5:2;1262:185:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;5185:24;;8:9:-1;5:2;;;30:1;27;20:12;5:2;5185:24:0;;;;;;;;;;;;;;;;;;;;;;;10723:332;;8:9:-1;5:2;;;30:1;27;20:12;5:2;10723:332:0;;;;;;;;;;;;;;;;;;;;;;;;;;6284:124;;8:9:-1;5:2;;;30:1;27;20:12;5:2;6284:124:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;4341:196;;8:9:-1;5:2;;;30:1;27;20:12;5:2;4341:196:0;;;;;;491:20;;8:9:-1;5:2;;;30:1;27;20:12;5:2;491:20:0;;;;;;;;;;;;;;;;;;;;;;;;;;;5027:37;;8:9:-1;5:2;;;30:1;27;20:12;5:2;5027:37:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;23:1:-1;8:100;33:3;30:1;27:10;8:100;;;99:1;94:3;90:11;84:18;80:1;75:3;71:11;64:39;52:2;49:1;45:10;40:15;;8:100;;;12:14;5027:37:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;1967:116;;8:9:-1;5:2;;;30:1;27;20:12;5:2;1967:116:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;6757:352;;8:9:-1;5:2;;;30:1;27;20:12;5:2;6757:352:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;2225:115;;8:9:-1;5:2;;;30:1;27;20:12;5:2;2225:115:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;1478:156;;8:9:-1;5:2;;;30:1;27;20:12;5:2;1478:156:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;9670:317;;8:9:-1;5:2;;;30:1;27;20:12;5:2;9670:317:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;520:45;;8:9:-1;5:2;;;30:1;27;20:12;5:2;520:45:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;2089:130;;8:9:-1;5:2;;;30:1;27;20:12;5:2;2089:130:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;3970:23;;8:9:-1;5:2;;;30:1;27;20:12;5:2;3970:23:0;;;;;;;;;;;;;;;;;;;;;;;;;;;437:24;;8:9:-1;5:2;;;30:1;27;20:12;5:2;437:24:0;;;;;;;;;;;;;;;;;;;;;;;10476:184;;8:9:-1;5:2;;;30:1;27;20:12;5:2;10476:184:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;9159:151;;8:9:-1;5:2;;;30:1;27;20:12;5:2;9159:151:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;1845:116;;8:9:-1;5:2;;;30:1;27;20:12;5:2;1845:116:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;4233:102;;8:9:-1;5:2;;;30:1;27;20:12;5:2;4233:102:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;468:16;;8:9:-1;5:2;;;30:1;27;20:12;5:2;468:16:0;;;;;;;;;;;;;;;;;;;;;;;;;;;4976:44;;;;;;;;;;;;;;;;;;;;:::o;7622:229::-;7706:12;973:11;:23;985:10;973:23;;;;;;;;;;;;;;;;;;;;;;;;;969:63;;;1012:8;;;969:63;7762:6;7731:7;:19;7739:10;7731:19;;;;;;;;;;;;;;;:28;7751:7;7731:28;;;;;;;;;;;;;;;:37;;;;7805:7;7784:37;;7793:10;7784:37;;;7814:6;7784:37;;;;;;;;;;;;;;;;;;7839:4;7832:11;;7622:229;;;;:::o;5943:116::-;5991:4;6031:8;:20;6048:1;6031:20;;;;;;;;;;;;;;;;6015:12;;:36;6008:43;;5943:116;:::o;8387:484::-;8485:12;973:11;:23;985:10;973:23;;;;;;;;;;;;;;;;;;;;;;;;;969:63;;;1012:8;;;969:63;8537:6;8519:8;:14;8528:4;8519:14;;;;;;;;;;;;;;;;:24;;8510:35;;;;;;;;8594:6;8565:7;:13;8573:4;8565:13;;;;;;;;;;;;;;;:25;8579:10;8565:25;;;;;;;;;;;;;;;;:35;;8556:46;;;;;;;;8632:31;8640:8;:14;8649:4;8640:14;;;;;;;;;;;;;;;;8656:6;8632:7;:31::i;:::-;8615:8;:14;8624:4;8615:14;;;;;;;;;;;;;;;:48;;;;8702:42;8710:7;:13;8718:4;8710:13;;;;;;;;;;;;;;;:25;8724:10;8710:25;;;;;;;;;;;;;;;;8737:6;8702:7;:42::i;:::-;8674:7;:13;8682:4;8674:13;;;;;;;;;;;;;;;:25;8688:10;8674:25;;;;;;;;;;;;;;;:70;;;;8770:29;8778:8;:12;8787:2;8778:12;;;;;;;;;;;;;;;;8792:6;8770:7;:29::i;:::-;8755:8;:12;8764:2;8755:12;;;;;;;;;;;;;;;:44;;;;8830:2;8815:26;;8824:4;8815:26;;;8834:6;8815:26;;;;;;;;;;;;;;;;;;8859:4;8852:11;;8387:484;;;;;:::o;5114:64::-;5152:26;5114:64;:::o;5071:35::-;5104:2;5071:35;:::o;1262:185::-;1195:10;1186:19;;:5;;;;;;;;;;;:19;;;1178:28;;;;;;;;1359:6;1350:15;;:5;;;;;;;;;;;:15;;;;1342:24;;;;;;;;1399:4;1377:11;:19;1389:6;1377:19;;;;;;;;;;;;;;;;:26;;;;;;;;;;;;;;;;;;1419:20;1426:6;1434:4;1419:20;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;1262:185;:::o;5185:24::-;;;;:::o;10723:332::-;1195:10;1186:19;;:5;;;;;;;;;;;:19;;;1178:28;;;;;;;;10838:12;10814:8;:20;10823:10;10814:20;;;;;;;;;;;;;;;;:36;;10805:47;;;;;;;;10888:43;10896:8;:20;10905:10;10896:20;;;;;;;;;;;;;;;;10918:12;10888:7;:43::i;:::-;10865:8;:20;10874:10;10865:20;;;;;;;;;;;;;;;:66;;;;10957:35;10965:12;;10979;10957:7;:35::i;:::-;10942:12;:50;;;;11008:37;11020:10;11032:12;11008:37;;;;;;;;;;;;;;;;;;;;;;;;;;;;10723:332;:::o;6284:124::-;6348:12;6380:8;:20;6389:10;6380:20;;;;;;;;;;;;;;;;6373:27;;6284:124;;;:::o;4341:196::-;4408:8;;;;;;;;;;;4394:22;;:10;:22;;;4386:31;;;;;;;;4461:8;;;;;;;;;;;4433:37;;4454:5;;;;;;;;;;;4433:37;;;;;;;;;;;;4489:8;;;;;;;;;;;4481:5;;:16;;;;;;;;;;;;;;;;;;4527:1;4508:8;;:21;;;;;;;;;;;;;;;;;;4341:196::o;491:20::-;;;;;;;;;;;;;:::o;5027:37::-;;;;;;;;;;;;;;;;;;;;:::o;1967:116::-;2021:6;2053:1;2048;:6;;2040:15;;;;;;;;2074:1;2070;:5;2066:9;;1967:116;;;;:::o;6757:352::-;6837:12;973:11;:23;985:10;973:23;;;;;;;;;;;;;;;;;;;;;;;;;969:63;;;1012:8;;;969:63;6895:6;6871:8;:20;6880:10;6871:20;;;;;;;;;;;;;;;;:30;;6862:41;;;;;;;;6939:37;6947:8;:20;6956:10;6947:20;;;;;;;;;;;;;;;;6969:6;6939:7;:37::i;:::-;6916:8;:20;6925:10;6916:20;;;;;;;;;;;;;;;:60;;;;7002:29;7010:8;:12;7019:2;7010:12;;;;;;;;;;;;;;;;7024:6;7002:7;:29::i;:::-;6987:8;:12;6996:2;6987:12;;;;;;;;;;;;;;;:44;;;;7068:2;7047:32;;7056:10;7047:32;;;7072:6;7047:32;;;;;;;;;;;;;;;;;;7097:4;7090:11;;6757:352;;;;:::o;2225:115::-;2279:6;2310:1;2306;:5;2298:14;;;;;;;;2331:1;2327;:5;;;;;;;;2323:9;;2225:115;;;;:::o;1478:156::-;1195:10;1186:19;;:5;;;;;;;;;;;:19;;;1178:28;;;;;;;;1582:5;1560:11;:19;1572:6;1560:19;;;;;;;;;;;;;;;;:27;;;;;;;;;;;;;;;;;;1603:23;1612:6;1620:5;1603:23;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;1478:156;:::o;9670:317::-;9752:12;9808:6;9777:7;:19;9785:10;9777:19;;;;;;;;;;;;;;;:28;9797:7;9777:28;;;;;;;;;;;;;;;:37;;;;9851:7;9830:37;;9839:10;9830:37;;;9860:6;9830:37;;;;;;;;;;;;;;;;;;9901:7;9878:47;;;9926:10;9938:6;9946:4;9952;9878:79;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;23:1:-1;8:100;33:3;30:1;27:10;8:100;;;99:1;94:3;90:11;84:18;80:1;75:3;71:11;64:39;52:2;49:1;45:10;40:15;;8:100;;;12:14;9878:79:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;8:9:-1;5:2;;;30:1;27;20:12;5:2;9878:79:0;;;;8:9:-1;5:2;;;45:16;42:1;39;24:38;77:16;74:1;67:27;5:2;9878:79:0;;;;9975:4;9968:11;;9670:317;;;;;:::o;520:45::-;;;;;;;;;;;;;;;;;;;;;;:::o;2089:130::-;2143:6;2170:1;2166;:5;2162:9;;2195:1;2190;:6;:20;;;;2209:1;2204;2200;:5;;;;;;;;:10;2190:20;2182:29;;;;;;;;2089:130;;;;:::o;3970:23::-;;;;;;;;;;;;;:::o;437:24::-;;;;:::o;10476:184::-;10568:12;4199:5;;;;;;;;;;;4185:19;;:10;:19;;;4177:28;;;;;;;;10615:12;10600:37;;;10638:5;;;;;;;;;;;10645:6;10600:52;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;8:9:-1;5:2;;;30:1;27;20:12;5:2;10600:52:0;;;;8:9:-1;5:2;;;45:16;42:1;39;24:38;77:16;74:1;67:27;5:2;10600:52:0;;;;;;;13:2:-1;8:3;5:11;2:2;;;29:1;26;19:12;2:2;10600:52:0;;;;;;;;;;;;;;;;10593:59;;10476:184;;;;:::o;9159:151::-;9240:14;9274:7;:19;9282:10;9274:19;;;;;;;;;;;;;;;:28;9294:7;9274:28;;;;;;;;;;;;;;;;9267:35;;9159:151;;;;:::o;1845:116::-;1899:6;1926:1;1922;:5;1918:9;;1951:1;1946;:6;;1938:15;;;;;;;;1845:116;;;;:::o;4233:102::-;4199:5;;;;;;;;;;;4185:19;;:10;:19;;;4177:28;;;;;;;;4318:9;4307:8;;:20;;;;;;;;;;;;;;;;;;4233:102;:::o;468:16::-;;;;;;;;;;;;;:::o

Swarm Source

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