ETH Price: $3,084.42 (-0.11%)

Token

GanNamCAT (GNCAT)
 

Overview

Max Total Supply

420,680,000,000,000 GNCAT

Holders

6,005

Market

Onchain Market Cap

$0.00

Circulating Supply Market Cap

-

Other Info

Token Contract (WITH 9 Decimals)

Balance
0.000000001 GNCAT

Value
$0.00
0x61f705701d2207572cda7cf324995c5a1f600dc9
Loading...
Loading
Loading...
Loading
Loading...
Loading

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

Similar Match Source Code
This contract matches the deployed Bytecode of the Source Code for Contract 0xaD577B62...950EC2F8D
The constructor portion of the code might be different and could alter the actual behaviour of the contract

Contract Name:
Token

Compiler Version
v0.8.7+commit.e28d00a7

Optimization Enabled:
No with 200 runs

Other Settings:
default evmVersion, MIT license

Contract Source Code (Solidity)

/**
 *Submitted for verification at Etherscan.io on 2024-06-24
*/

// SPDX-License-Identifier: MIT
pragma solidity ^0.8.7;

interface IERC20 {
    function totalSupply() external view returns (uint256);

    function balanceOf(address account) external view returns (uint256);

    function transfer(address recipient, uint256 amount) external returns (bool);

    function allowance(address owner, address spender) external view returns (uint256);

    function approve(address spender, uint256 amount) external returns (bool);

    function transferFrom(
        address sender,
        address recipient,
        uint256 amount
    ) external returns (bool);

    event Transfer(address indexed from, address indexed to, uint256 value);

    event Approval(address indexed owner, address indexed spender, uint256 value);
}


abstract contract Context {
    function _msgSender() internal view virtual returns (address) {
        return msg.sender;
    }

    function _msgData() internal view virtual returns (bytes calldata) {
        return msg.data;
    }
}


abstract contract Ownable is Context {
    address private _owner;

    event OwnershipTransferred(address indexed previousOwner, address indexed newOwner);

    constructor(address ow) {
        _setOwner(ow);
    }

    function owner() public view virtual returns (address) {
        return _owner;
    }

    modifier onlyOwner() {
        require(owner() == _msgSender(), "Ownable: caller is not the owner");
        _;
    }

    function renounceOwnership() public virtual onlyOwner {
        _setOwner(address(0));
    }

    function transferOwnership(address newOwner) public virtual onlyOwner {
        require(newOwner != address(0), "Ownable: new owner is the zero address");
        _setOwner(newOwner);
    }

    function _setOwner(address newOwner) private {
        address oldOwner = _owner;
        _owner = newOwner;
        emit OwnershipTransferred(oldOwner, newOwner);
    }
}

library SafeMath {
   
    function tryAdd(uint256 a, uint256 b) internal pure returns (bool, uint256) {
        unchecked {
            uint256 c = a + b;
            if (c < a) return (false, 0);
            return (true, c);
        }
    }

    function trySub(uint256 a, uint256 b) internal pure returns (bool, uint256) {
        unchecked {
            if (b > a) return (false, 0);
            return (true, a - b);
        }
    }

    function tryMul(uint256 a, uint256 b) internal pure returns (bool, uint256) {
        unchecked {
            // Gas optimization: this is cheaper than requiring 'a' not being zero, but the
            // benefit is lost if 'b' is also tested.
            // See: https://github.com/OpenZeppelin/openzeppelin-contracts/pull/522
            if (a == 0) return (true, 0);
            uint256 c = a * b;
            if (c / a != b) return (false, 0);
            return (true, c);
        }
    }

    function tryDiv(uint256 a, uint256 b) internal pure returns (bool, uint256) {
        unchecked {
            if (b == 0) return (false, 0);
            return (true, a / b);
        }
    }

    function tryMod(uint256 a, uint256 b) internal pure returns (bool, uint256) {
        unchecked {
            if (b == 0) return (false, 0);
            return (true, a % b);
        }
    }

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

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

    function mul(uint256 a, uint256 b) internal pure returns (uint256) {
        return a * b;
    }

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

    function mod(uint256 a, uint256 b) internal pure returns (uint256) {
        return a % b;
    }

    function sub(
        uint256 a,
        uint256 b,
        string memory errorMessage
    ) internal pure returns (uint256) {
        unchecked {
            require(b <= a, errorMessage);
            return a - b;
        }
    }

    function div(
        uint256 a,
        uint256 b,
        string memory errorMessage
    ) internal pure returns (uint256) {
        unchecked {
            require(b > 0, errorMessage);
            return a / b;
        }
    }

    function mod(
        uint256 a,
        uint256 b,
        string memory errorMessage
    ) internal pure returns (uint256) {
        unchecked {
            require(b > 0, errorMessage);
            return a % b;
        }
    }
}
interface IUniswapV2Factory {

    function getPair(address tokenA, address tokenB) external view returns (address pair);

    function createPair(address tokenA, address tokenB) external returns (address pair);

}

interface IUniswapV2Router01 {
    function factory() external pure returns (address);

    function WETH() external pure returns (address);


}

interface IUniswapV2Router02 is IUniswapV2Router01 {

    function swapExactTokensForTokensSupportingFeeOnTransferTokens(
        uint256 amountIn,
        uint256 amountOutMin,
        address[] calldata path,
        address to,
        uint256 deadline
    ) external;
}

contract Token is IERC20, Ownable {
    using SafeMath for uint256;


    mapping(address => uint256) private _balances;
    mapping(address => mapping(address => uint256)) private _allowances;
    mapping(address => bool) private _isExcluded;
    string private _name;
    string private _symbol;
    uint8 private _decimals;
    uint256 private _totalSupply;
    bool public startTx;
    mapping (address => bool) public isMarketPair;
     IUniswapV2Router02 public uniswapV2Router;
    address public uniswapPair;


    constructor(
        string memory name_,
        string memory symbol_,
        address owner_,
        uint8 decimals_,
        uint256 totalSupply_
    ) payable  Ownable(owner_) {
        _name = name_;
        _symbol = symbol_;
        _decimals = decimals_;
        _totalSupply = totalSupply_ * 10**decimals_;
        _balances[owner_] = _balances[owner_].add(_totalSupply);
        emit Transfer(address(0), owner_, _totalSupply);
        _isExcluded[owner_] = true;
        IUniswapV2Router02 _uniswapV2Router = IUniswapV2Router02(0x7a250d5630B4cF539739dF2C5dAcb4c659F2488D);
         uniswapPair = IUniswapV2Factory(_uniswapV2Router.factory())
            .createPair(address(this), _uniswapV2Router.WETH());
        isMarketPair[address(uniswapPair)] = true;
    }


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

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

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

    function totalSupply() public view virtual override returns (uint256) {
        return _totalSupply;
    }

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

    function transfer(address recipient, uint256 amount)
        public
        virtual
        override
        returns (bool)
    {
        _transfer(_msgSender(), recipient, amount);
        return true;
    }

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

    function approve(address spender, uint256 amount)
        public
        virtual
        override
        returns (bool)
    {
        _approve(_msgSender(), spender, amount);
        return true;
    }

    function transferFrom(
        address sender,
        address recipient,
        uint256 amount
    ) public virtual override returns (bool) {
        _transfer(sender, recipient, amount);
        _approve(
            sender,
            _msgSender(),
            _allowances[sender][_msgSender()].sub(
                amount,
                "ERC20: transfer amount exceeds allowance"
            )
        );
        return true;
    }

    function increaseAllowance(address spender, uint256 addedValue)
        public
        virtual
        returns (bool)
    {
        _approve(
            _msgSender(),
            spender,
            _allowances[_msgSender()][spender].add(addedValue)
        );
        return true;
    }
    function launch() external onlyOwner {
        startTx = true;
    }

    function decreaseAllowance(address spender, uint256 subtractedValue)
        public
        virtual
        returns (bool)
    {
        _approve(
            _msgSender(),
            spender,
            _allowances[_msgSender()][spender].sub(
                subtractedValue,
                "ERC20: decreased allowance below zero"
            )
        );
        return true;
    }

    function _transfer(
        address sender,
        address recipient,
        uint256 amount
    ) internal virtual {
        require(sender != address(0), "ERC20: transfer from the zero address");
        require(recipient != address(0), "ERC20: transfer to the zero address");

        if(!_isExcluded[sender] && !_isExcluded[recipient]){
            if(isMarketPair[recipient]|| isMarketPair[sender]){
                require(startTx, "not start");
            }
        }
        
        _balances[sender] = _balances[sender].sub(
            amount,
            "ERC20: transfer amount exceeds balance"
        );
        _balances[recipient] = _balances[recipient].add(amount);
        emit Transfer(sender, recipient, amount);
    }

    function _approve(
        address owner,
        address spender,
        uint256 amount
    ) internal virtual {
        require(owner != address(0), "ERC20: approve from the zero address");
        require(spender != address(0), "ERC20: approve to the zero address");

        _allowances[owner][spender] = amount;
        emit Approval(owner, spender, amount);
    }


}

Contract Security Audit

Contract ABI

[{"inputs":[{"internalType":"string","name":"name_","type":"string"},{"internalType":"string","name":"symbol_","type":"string"},{"internalType":"address","name":"owner_","type":"address"},{"internalType":"uint8","name":"decimals_","type":"uint8"},{"internalType":"uint256","name":"totalSupply_","type":"uint256"}],"stateMutability":"payable","type":"constructor"},{"anonymous":false,"inputs":[{"indexed":true,"internalType":"address","name":"owner","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":"previousOwner","type":"address"},{"indexed":true,"internalType":"address","name":"newOwner","type":"address"}],"name":"OwnershipTransferred","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":"owner","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":"amount","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":"spender","type":"address"},{"internalType":"uint256","name":"subtractedValue","type":"uint256"}],"name":"decreaseAllowance","outputs":[{"internalType":"bool","name":"","type":"bool"}],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"address","name":"spender","type":"address"},{"internalType":"uint256","name":"addedValue","type":"uint256"}],"name":"increaseAllowance","outputs":[{"internalType":"bool","name":"","type":"bool"}],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"address","name":"","type":"address"}],"name":"isMarketPair","outputs":[{"internalType":"bool","name":"","type":"bool"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"launch","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[],"name":"name","outputs":[{"internalType":"string","name":"","type":"string"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"owner","outputs":[{"internalType":"address","name":"","type":"address"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"renounceOwnership","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[],"name":"startTx","outputs":[{"internalType":"bool","name":"","type":"bool"}],"stateMutability":"view","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":"recipient","type":"address"},{"internalType":"uint256","name":"amount","type":"uint256"}],"name":"transfer","outputs":[{"internalType":"bool","name":"","type":"bool"}],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"address","name":"sender","type":"address"},{"internalType":"address","name":"recipient","type":"address"},{"internalType":"uint256","name":"amount","type":"uint256"}],"name":"transferFrom","outputs":[{"internalType":"bool","name":"","type":"bool"}],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"address","name":"newOwner","type":"address"}],"name":"transferOwnership","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[],"name":"uniswapPair","outputs":[{"internalType":"address","name":"","type":"address"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"uniswapV2Router","outputs":[{"internalType":"contract IUniswapV2Router02","name":"","type":"address"}],"stateMutability":"view","type":"function"}]

60806040526040516200280838038062002808833981810160405281019062000029919062000700565b826200003b816200047f60201b60201c565b508460049080519060200190620000549291906200055b565b5083600590805190602001906200006d9291906200055b565b5081600660006101000a81548160ff021916908360ff16021790555081600a62000098919062000949565b81620000a5919062000a86565b60078190555062000106600754600160008673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020546200054360201b62000b311790919060201c565b600160008573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020819055508273ffffffffffffffffffffffffffffffffffffffff16600073ffffffffffffffffffffffffffffffffffffffff167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef600754604051620001ab919062000815565b60405180910390a36001600360008573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060006101000a81548160ff0219169083151502179055506000737a250d5630b4cf539739df2c5dacb4c659f2488d90508073ffffffffffffffffffffffffffffffffffffffff1663c45a01556040518163ffffffff1660e01b815260040160206040518083038186803b1580156200026b57600080fd5b505afa15801562000280573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190620002a69190620006ce565b73ffffffffffffffffffffffffffffffffffffffff1663c9c65396308373ffffffffffffffffffffffffffffffffffffffff1663ad5c46486040518163ffffffff1660e01b815260040160206040518083038186803b1580156200030957600080fd5b505afa1580156200031e573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190620003449190620006ce565b6040518363ffffffff1660e01b815260040162000363929190620007e8565b602060405180830381600087803b1580156200037e57600080fd5b505af115801562000393573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190620003b99190620006ce565b600b60006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff160217905550600160096000600b60009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060006101000a81548160ff02191690831515021790555050505050505062000ce1565b60008060009054906101000a900473ffffffffffffffffffffffffffffffffffffffff169050816000806101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff1602179055508173ffffffffffffffffffffffffffffffffffffffff168173ffffffffffffffffffffffffffffffffffffffff167f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e060405160405180910390a35050565b6000818362000553919062000891565b905092915050565b828054620005699062000b68565b90600052602060002090601f0160209004810192826200058d5760008555620005d9565b82601f10620005a857805160ff1916838001178555620005d9565b82800160010185558215620005d9579182015b82811115620005d8578251825591602001919060010190620005bb565b5b509050620005e89190620005ec565b5090565b5b8082111562000607576000816000905550600101620005ed565b5090565b6000620006226200061c846200085b565b62000832565b90508281526020810184848401111562000641576200064062000c66565b5b6200064e84828562000b32565b509392505050565b600081519050620006678162000c93565b92915050565b600082601f83011262000685576200068462000c61565b5b8151620006978482602086016200060b565b91505092915050565b600081519050620006b18162000cad565b92915050565b600081519050620006c88162000cc7565b92915050565b600060208284031215620006e757620006e662000c70565b5b6000620006f78482850162000656565b91505092915050565b600080600080600060a086880312156200071f576200071e62000c70565b5b600086015167ffffffffffffffff81111562000740576200073f62000c6b565b5b6200074e888289016200066d565b955050602086015167ffffffffffffffff81111562000772576200077162000c6b565b5b62000780888289016200066d565b9450506040620007938882890162000656565b9350506060620007a688828901620006b7565b9250506080620007b988828901620006a0565b9150509295509295909350565b620007d18162000ae7565b82525050565b620007e28162000b1b565b82525050565b6000604082019050620007ff6000830185620007c6565b6200080e6020830184620007c6565b9392505050565b60006020820190506200082c6000830184620007d7565b92915050565b60006200083e62000851565b90506200084c828262000b9e565b919050565b6000604051905090565b600067ffffffffffffffff82111562000879576200087862000c32565b5b620008848262000c75565b9050602081019050919050565b60006200089e8262000b1b565b9150620008ab8362000b1b565b9250827fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff03821115620008e357620008e262000bd4565b5b828201905092915050565b6000808291508390505b6001851115620009405780860481111562000918576200091762000bd4565b5b6001851615620009285780820291505b8081029050620009388562000c86565b9450620008f8565b94509492505050565b6000620009568262000b1b565b9150620009638362000b25565b9250620009927fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff84846200099a565b905092915050565b600082620009ac576001905062000a7f565b81620009bc576000905062000a7f565b8160018114620009d55760028114620009e05762000a16565b600191505062000a7f565b60ff841115620009f557620009f462000bd4565b5b8360020a91508482111562000a0f5762000a0e62000bd4565b5b5062000a7f565b5060208310610133831016604e8410600b841016171562000a505782820a90508381111562000a4a5762000a4962000bd4565b5b62000a7f565b62000a5f8484846001620008ee565b9250905081840481111562000a795762000a7862000bd4565b5b81810290505b9392505050565b600062000a938262000b1b565b915062000aa08362000b1b565b9250817fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff048311821515161562000adc5762000adb62000bd4565b5b828202905092915050565b600062000af48262000afb565b9050919050565b600073ffffffffffffffffffffffffffffffffffffffff82169050919050565b6000819050919050565b600060ff82169050919050565b60005b8381101562000b5257808201518184015260208101905062000b35565b8381111562000b62576000848401525b50505050565b6000600282049050600182168062000b8157607f821691505b6020821081141562000b985762000b9762000c03565b5b50919050565b62000ba98262000c75565b810181811067ffffffffffffffff8211171562000bcb5762000bca62000c32565b5b80604052505050565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052601160045260246000fd5b7f4e487b7100000000000000000000000000000000000000000000000000000000600052602260045260246000fd5b7f4e487b7100000000000000000000000000000000000000000000000000000000600052604160045260246000fd5b600080fd5b600080fd5b600080fd5b600080fd5b6000601f19601f8301169050919050565b60008160011c9050919050565b62000c9e8162000ae7565b811462000caa57600080fd5b50565b62000cb88162000b1b565b811462000cc457600080fd5b50565b62000cd28162000b25565b811462000cde57600080fd5b50565b611b178062000cf16000396000f3fe608060405234801561001057600080fd5b50600436106101215760003560e01c80633ecad271116100ad578063a457c2d711610071578063a457c2d7146102fc578063a9059cbb1461032c578063c816841b1461035c578063dd62ed3e1461037a578063f2fde38b146103aa57610121565b80633ecad2711461025657806370a0823114610286578063715018a6146102b65780638da5cb5b146102c057806395d89b41146102de57610121565b80631694505e116100f45780631694505e1461019c57806318160ddd146101ba57806323b872dd146101d8578063313ce56714610208578063395093511461022657610121565b806301339c211461012657806306fdde0314610130578063095ea7b31461014e5780630ac711931461017e575b600080fd5b61012e6103c6565b005b61013861045f565b6040516101459190611555565b60405180910390f35b6101686004803603810190610163919061134b565b6104f1565b604051610175919061151f565b60405180910390f35b61018661050f565b604051610193919061151f565b60405180910390f35b6101a4610522565b6040516101b1919061153a565b60405180910390f35b6101c2610548565b6040516101cf9190611657565b60405180910390f35b6101f260048036038101906101ed91906112f8565b610552565b6040516101ff919061151f565b60405180910390f35b61021061062b565b60405161021d9190611672565b60405180910390f35b610240600480360381019061023b919061134b565b610642565b60405161024d919061151f565b60405180910390f35b610270600480360381019061026b919061128b565b6106f5565b60405161027d919061151f565b60405180910390f35b6102a0600480360381019061029b919061128b565b610715565b6040516102ad9190611657565b60405180910390f35b6102be61075e565b005b6102c86107e6565b6040516102d59190611504565b60405180910390f35b6102e661080f565b6040516102f39190611555565b60405180910390f35b6103166004803603810190610311919061134b565b6108a1565b604051610323919061151f565b60405180910390f35b6103466004803603810190610341919061134b565b61096e565b604051610353919061151f565b60405180910390f35b61036461098c565b6040516103719190611504565b60405180910390f35b610394600480360381019061038f91906112b8565b6109b2565b6040516103a19190611657565b60405180910390f35b6103c460048036038101906103bf919061128b565b610a39565b005b6103ce610b47565b73ffffffffffffffffffffffffffffffffffffffff166103ec6107e6565b73ffffffffffffffffffffffffffffffffffffffff1614610442576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610439906115f7565b60405180910390fd5b6001600860006101000a81548160ff021916908315150217905550565b60606004805461046e906117bd565b80601f016020809104026020016040519081016040528092919081815260200182805461049a906117bd565b80156104e75780601f106104bc576101008083540402835291602001916104e7565b820191906000526020600020905b8154815290600101906020018083116104ca57829003601f168201915b5050505050905090565b60006105056104fe610b47565b8484610b4f565b6001905092915050565b600860009054906101000a900460ff1681565b600a60009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1681565b6000600754905090565b600061055f848484610d1a565b6106208461056b610b47565b61061b85604051806060016040528060288152602001611a9560289139600260008b73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060006105d1610b47565b73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020546111489092919063ffffffff16565b610b4f565b600190509392505050565b6000600660009054906101000a900460ff16905090565b60006106eb61064f610b47565b846106e68560026000610660610b47565b73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060008973ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002054610b3190919063ffffffff16565b610b4f565b6001905092915050565b60096020528060005260406000206000915054906101000a900460ff1681565b6000600160008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020549050919050565b610766610b47565b73ffffffffffffffffffffffffffffffffffffffff166107846107e6565b73ffffffffffffffffffffffffffffffffffffffff16146107da576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016107d1906115f7565b60405180910390fd5b6107e4600061119d565b565b60008060009054906101000a900473ffffffffffffffffffffffffffffffffffffffff16905090565b60606005805461081e906117bd565b80601f016020809104026020016040519081016040528092919081815260200182805461084a906117bd565b80156108975780601f1061086c57610100808354040283529160200191610897565b820191906000526020600020905b81548152906001019060200180831161087a57829003601f168201915b5050505050905090565b60006109646108ae610b47565b8461095f85604051806060016040528060258152602001611abd60259139600260006108d8610b47565b73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060008a73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020546111489092919063ffffffff16565b610b4f565b6001905092915050565b600061098261097b610b47565b8484610d1a565b6001905092915050565b600b60009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1681565b6000600260008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002054905092915050565b610a41610b47565b73ffffffffffffffffffffffffffffffffffffffff16610a5f6107e6565b73ffffffffffffffffffffffffffffffffffffffff1614610ab5576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610aac906115f7565b60405180910390fd5b600073ffffffffffffffffffffffffffffffffffffffff168173ffffffffffffffffffffffffffffffffffffffff161415610b25576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610b1c906115b7565b60405180910390fd5b610b2e8161119d565b50565b60008183610b3f91906116a9565b905092915050565b600033905090565b600073ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff161415610bbf576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610bb690611637565b60405180910390fd5b600073ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff161415610c2f576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610c26906115d7565b60405180910390fd5b80600260008573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020819055508173ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff167f8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b92583604051610d0d9190611657565b60405180910390a3505050565b600073ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff161415610d8a576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610d8190611617565b60405180910390fd5b600073ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff161415610dfa576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610df190611577565b60405180910390fd5b600360008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060009054906101000a900460ff16158015610e9e5750600360008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060009054906101000a900460ff16155b15610f9a57600960008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060009054906101000a900460ff1680610f445750600960008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060009054906101000a900460ff165b15610f9957600860009054906101000a900460ff16610f98576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610f8f90611597565b60405180910390fd5b5b5b61100681604051806060016040528060268152602001611a6f60269139600160008773ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020546111489092919063ffffffff16565b600160008573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000208190555061109b81600160008573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002054610b3190919063ffffffff16565b600160008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020819055508173ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef8360405161113b9190611657565b60405180910390a3505050565b6000838311158290611190576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016111879190611555565b60405180910390fd5b5082840390509392505050565b60008060009054906101000a900473ffffffffffffffffffffffffffffffffffffffff169050816000806101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff1602179055508173ffffffffffffffffffffffffffffffffffffffff168173ffffffffffffffffffffffffffffffffffffffff167f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e060405160405180910390a35050565b60008135905061127081611a40565b92915050565b60008135905061128581611a57565b92915050565b6000602082840312156112a1576112a061184d565b5b60006112af84828501611261565b91505092915050565b600080604083850312156112cf576112ce61184d565b5b60006112dd85828601611261565b92505060206112ee85828601611261565b9150509250929050565b6000806000606084860312156113115761131061184d565b5b600061131f86828701611261565b935050602061133086828701611261565b925050604061134186828701611276565b9150509250925092565b600080604083850312156113625761136161184d565b5b600061137085828601611261565b925050602061138185828601611276565b9150509250929050565b611394816116ff565b82525050565b6113a381611711565b82525050565b6113b281611754565b82525050565b60006113c38261168d565b6113cd8185611698565b93506113dd81856020860161178a565b6113e681611852565b840191505092915050565b60006113fe602383611698565b915061140982611863565b604082019050919050565b6000611421600983611698565b915061142c826118b2565b602082019050919050565b6000611444602683611698565b915061144f826118db565b604082019050919050565b6000611467602283611698565b91506114728261192a565b604082019050919050565b600061148a602083611698565b915061149582611979565b602082019050919050565b60006114ad602583611698565b91506114b8826119a2565b604082019050919050565b60006114d0602483611698565b91506114db826119f1565b604082019050919050565b6114ef8161173d565b82525050565b6114fe81611747565b82525050565b6000602082019050611519600083018461138b565b92915050565b6000602082019050611534600083018461139a565b92915050565b600060208201905061154f60008301846113a9565b92915050565b6000602082019050818103600083015261156f81846113b8565b905092915050565b60006020820190508181036000830152611590816113f1565b9050919050565b600060208201905081810360008301526115b081611414565b9050919050565b600060208201905081810360008301526115d081611437565b9050919050565b600060208201905081810360008301526115f08161145a565b9050919050565b600060208201905081810360008301526116108161147d565b9050919050565b60006020820190508181036000830152611630816114a0565b9050919050565b60006020820190508181036000830152611650816114c3565b9050919050565b600060208201905061166c60008301846114e6565b92915050565b600060208201905061168760008301846114f5565b92915050565b600081519050919050565b600082825260208201905092915050565b60006116b48261173d565b91506116bf8361173d565b9250827fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff038211156116f4576116f36117ef565b5b828201905092915050565b600061170a8261171d565b9050919050565b60008115159050919050565b600073ffffffffffffffffffffffffffffffffffffffff82169050919050565b6000819050919050565b600060ff82169050919050565b600061175f82611766565b9050919050565b600061177182611778565b9050919050565b60006117838261171d565b9050919050565b60005b838110156117a857808201518184015260208101905061178d565b838111156117b7576000848401525b50505050565b600060028204905060018216806117d557607f821691505b602082108114156117e9576117e861181e565b5b50919050565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052601160045260246000fd5b7f4e487b7100000000000000000000000000000000000000000000000000000000600052602260045260246000fd5b600080fd5b6000601f19601f8301169050919050565b7f45524332303a207472616e7366657220746f20746865207a65726f206164647260008201527f6573730000000000000000000000000000000000000000000000000000000000602082015250565b7f6e6f742073746172740000000000000000000000000000000000000000000000600082015250565b7f4f776e61626c653a206e6577206f776e657220697320746865207a65726f206160008201527f6464726573730000000000000000000000000000000000000000000000000000602082015250565b7f45524332303a20617070726f766520746f20746865207a65726f20616464726560008201527f7373000000000000000000000000000000000000000000000000000000000000602082015250565b7f4f776e61626c653a2063616c6c6572206973206e6f7420746865206f776e6572600082015250565b7f45524332303a207472616e736665722066726f6d20746865207a65726f20616460008201527f6472657373000000000000000000000000000000000000000000000000000000602082015250565b7f45524332303a20617070726f76652066726f6d20746865207a65726f2061646460008201527f7265737300000000000000000000000000000000000000000000000000000000602082015250565b611a49816116ff565b8114611a5457600080fd5b50565b611a608161173d565b8114611a6b57600080fd5b5056fe45524332303a207472616e7366657220616d6f756e7420657863656564732062616c616e636545524332303a207472616e7366657220616d6f756e74206578636565647320616c6c6f77616e636545524332303a2064656372656173656420616c6c6f77616e63652062656c6f77207a65726fa26469706673582212203c3e9f1a9877db18ef0f4eb70a8fb409c99f5fd64d70898a002cedc98488fc5264736f6c6343000807003300000000000000000000000000000000000000000000000000000000000000a000000000000000000000000000000000000000000000000000000000000000e0000000000000000000000000ae5ab0c78e815190da8abea3842560e64a448a9a000000000000000000000000000000000000000000000000000000000000000900000000000000000000000000000000000000000000000000017e9b31f6d0000000000000000000000000000000000000000000000000000000000000000004616161610000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000046161616100000000000000000000000000000000000000000000000000000000

Deployed Bytecode

0x608060405234801561001057600080fd5b50600436106101215760003560e01c80633ecad271116100ad578063a457c2d711610071578063a457c2d7146102fc578063a9059cbb1461032c578063c816841b1461035c578063dd62ed3e1461037a578063f2fde38b146103aa57610121565b80633ecad2711461025657806370a0823114610286578063715018a6146102b65780638da5cb5b146102c057806395d89b41146102de57610121565b80631694505e116100f45780631694505e1461019c57806318160ddd146101ba57806323b872dd146101d8578063313ce56714610208578063395093511461022657610121565b806301339c211461012657806306fdde0314610130578063095ea7b31461014e5780630ac711931461017e575b600080fd5b61012e6103c6565b005b61013861045f565b6040516101459190611555565b60405180910390f35b6101686004803603810190610163919061134b565b6104f1565b604051610175919061151f565b60405180910390f35b61018661050f565b604051610193919061151f565b60405180910390f35b6101a4610522565b6040516101b1919061153a565b60405180910390f35b6101c2610548565b6040516101cf9190611657565b60405180910390f35b6101f260048036038101906101ed91906112f8565b610552565b6040516101ff919061151f565b60405180910390f35b61021061062b565b60405161021d9190611672565b60405180910390f35b610240600480360381019061023b919061134b565b610642565b60405161024d919061151f565b60405180910390f35b610270600480360381019061026b919061128b565b6106f5565b60405161027d919061151f565b60405180910390f35b6102a0600480360381019061029b919061128b565b610715565b6040516102ad9190611657565b60405180910390f35b6102be61075e565b005b6102c86107e6565b6040516102d59190611504565b60405180910390f35b6102e661080f565b6040516102f39190611555565b60405180910390f35b6103166004803603810190610311919061134b565b6108a1565b604051610323919061151f565b60405180910390f35b6103466004803603810190610341919061134b565b61096e565b604051610353919061151f565b60405180910390f35b61036461098c565b6040516103719190611504565b60405180910390f35b610394600480360381019061038f91906112b8565b6109b2565b6040516103a19190611657565b60405180910390f35b6103c460048036038101906103bf919061128b565b610a39565b005b6103ce610b47565b73ffffffffffffffffffffffffffffffffffffffff166103ec6107e6565b73ffffffffffffffffffffffffffffffffffffffff1614610442576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610439906115f7565b60405180910390fd5b6001600860006101000a81548160ff021916908315150217905550565b60606004805461046e906117bd565b80601f016020809104026020016040519081016040528092919081815260200182805461049a906117bd565b80156104e75780601f106104bc576101008083540402835291602001916104e7565b820191906000526020600020905b8154815290600101906020018083116104ca57829003601f168201915b5050505050905090565b60006105056104fe610b47565b8484610b4f565b6001905092915050565b600860009054906101000a900460ff1681565b600a60009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1681565b6000600754905090565b600061055f848484610d1a565b6106208461056b610b47565b61061b85604051806060016040528060288152602001611a9560289139600260008b73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060006105d1610b47565b73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020546111489092919063ffffffff16565b610b4f565b600190509392505050565b6000600660009054906101000a900460ff16905090565b60006106eb61064f610b47565b846106e68560026000610660610b47565b73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060008973ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002054610b3190919063ffffffff16565b610b4f565b6001905092915050565b60096020528060005260406000206000915054906101000a900460ff1681565b6000600160008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020549050919050565b610766610b47565b73ffffffffffffffffffffffffffffffffffffffff166107846107e6565b73ffffffffffffffffffffffffffffffffffffffff16146107da576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016107d1906115f7565b60405180910390fd5b6107e4600061119d565b565b60008060009054906101000a900473ffffffffffffffffffffffffffffffffffffffff16905090565b60606005805461081e906117bd565b80601f016020809104026020016040519081016040528092919081815260200182805461084a906117bd565b80156108975780601f1061086c57610100808354040283529160200191610897565b820191906000526020600020905b81548152906001019060200180831161087a57829003601f168201915b5050505050905090565b60006109646108ae610b47565b8461095f85604051806060016040528060258152602001611abd60259139600260006108d8610b47565b73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060008a73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020546111489092919063ffffffff16565b610b4f565b6001905092915050565b600061098261097b610b47565b8484610d1a565b6001905092915050565b600b60009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1681565b6000600260008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002054905092915050565b610a41610b47565b73ffffffffffffffffffffffffffffffffffffffff16610a5f6107e6565b73ffffffffffffffffffffffffffffffffffffffff1614610ab5576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610aac906115f7565b60405180910390fd5b600073ffffffffffffffffffffffffffffffffffffffff168173ffffffffffffffffffffffffffffffffffffffff161415610b25576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610b1c906115b7565b60405180910390fd5b610b2e8161119d565b50565b60008183610b3f91906116a9565b905092915050565b600033905090565b600073ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff161415610bbf576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610bb690611637565b60405180910390fd5b600073ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff161415610c2f576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610c26906115d7565b60405180910390fd5b80600260008573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020819055508173ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff167f8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b92583604051610d0d9190611657565b60405180910390a3505050565b600073ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff161415610d8a576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610d8190611617565b60405180910390fd5b600073ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff161415610dfa576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610df190611577565b60405180910390fd5b600360008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060009054906101000a900460ff16158015610e9e5750600360008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060009054906101000a900460ff16155b15610f9a57600960008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060009054906101000a900460ff1680610f445750600960008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060009054906101000a900460ff165b15610f9957600860009054906101000a900460ff16610f98576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610f8f90611597565b60405180910390fd5b5b5b61100681604051806060016040528060268152602001611a6f60269139600160008773ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020546111489092919063ffffffff16565b600160008573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000208190555061109b81600160008573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002054610b3190919063ffffffff16565b600160008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020819055508173ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef8360405161113b9190611657565b60405180910390a3505050565b6000838311158290611190576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016111879190611555565b60405180910390fd5b5082840390509392505050565b60008060009054906101000a900473ffffffffffffffffffffffffffffffffffffffff169050816000806101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff1602179055508173ffffffffffffffffffffffffffffffffffffffff168173ffffffffffffffffffffffffffffffffffffffff167f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e060405160405180910390a35050565b60008135905061127081611a40565b92915050565b60008135905061128581611a57565b92915050565b6000602082840312156112a1576112a061184d565b5b60006112af84828501611261565b91505092915050565b600080604083850312156112cf576112ce61184d565b5b60006112dd85828601611261565b92505060206112ee85828601611261565b9150509250929050565b6000806000606084860312156113115761131061184d565b5b600061131f86828701611261565b935050602061133086828701611261565b925050604061134186828701611276565b9150509250925092565b600080604083850312156113625761136161184d565b5b600061137085828601611261565b925050602061138185828601611276565b9150509250929050565b611394816116ff565b82525050565b6113a381611711565b82525050565b6113b281611754565b82525050565b60006113c38261168d565b6113cd8185611698565b93506113dd81856020860161178a565b6113e681611852565b840191505092915050565b60006113fe602383611698565b915061140982611863565b604082019050919050565b6000611421600983611698565b915061142c826118b2565b602082019050919050565b6000611444602683611698565b915061144f826118db565b604082019050919050565b6000611467602283611698565b91506114728261192a565b604082019050919050565b600061148a602083611698565b915061149582611979565b602082019050919050565b60006114ad602583611698565b91506114b8826119a2565b604082019050919050565b60006114d0602483611698565b91506114db826119f1565b604082019050919050565b6114ef8161173d565b82525050565b6114fe81611747565b82525050565b6000602082019050611519600083018461138b565b92915050565b6000602082019050611534600083018461139a565b92915050565b600060208201905061154f60008301846113a9565b92915050565b6000602082019050818103600083015261156f81846113b8565b905092915050565b60006020820190508181036000830152611590816113f1565b9050919050565b600060208201905081810360008301526115b081611414565b9050919050565b600060208201905081810360008301526115d081611437565b9050919050565b600060208201905081810360008301526115f08161145a565b9050919050565b600060208201905081810360008301526116108161147d565b9050919050565b60006020820190508181036000830152611630816114a0565b9050919050565b60006020820190508181036000830152611650816114c3565b9050919050565b600060208201905061166c60008301846114e6565b92915050565b600060208201905061168760008301846114f5565b92915050565b600081519050919050565b600082825260208201905092915050565b60006116b48261173d565b91506116bf8361173d565b9250827fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff038211156116f4576116f36117ef565b5b828201905092915050565b600061170a8261171d565b9050919050565b60008115159050919050565b600073ffffffffffffffffffffffffffffffffffffffff82169050919050565b6000819050919050565b600060ff82169050919050565b600061175f82611766565b9050919050565b600061177182611778565b9050919050565b60006117838261171d565b9050919050565b60005b838110156117a857808201518184015260208101905061178d565b838111156117b7576000848401525b50505050565b600060028204905060018216806117d557607f821691505b602082108114156117e9576117e861181e565b5b50919050565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052601160045260246000fd5b7f4e487b7100000000000000000000000000000000000000000000000000000000600052602260045260246000fd5b600080fd5b6000601f19601f8301169050919050565b7f45524332303a207472616e7366657220746f20746865207a65726f206164647260008201527f6573730000000000000000000000000000000000000000000000000000000000602082015250565b7f6e6f742073746172740000000000000000000000000000000000000000000000600082015250565b7f4f776e61626c653a206e6577206f776e657220697320746865207a65726f206160008201527f6464726573730000000000000000000000000000000000000000000000000000602082015250565b7f45524332303a20617070726f766520746f20746865207a65726f20616464726560008201527f7373000000000000000000000000000000000000000000000000000000000000602082015250565b7f4f776e61626c653a2063616c6c6572206973206e6f7420746865206f776e6572600082015250565b7f45524332303a207472616e736665722066726f6d20746865207a65726f20616460008201527f6472657373000000000000000000000000000000000000000000000000000000602082015250565b7f45524332303a20617070726f76652066726f6d20746865207a65726f2061646460008201527f7265737300000000000000000000000000000000000000000000000000000000602082015250565b611a49816116ff565b8114611a5457600080fd5b50565b611a608161173d565b8114611a6b57600080fd5b5056fe45524332303a207472616e7366657220616d6f756e7420657863656564732062616c616e636545524332303a207472616e7366657220616d6f756e74206578636565647320616c6c6f77616e636545524332303a2064656372656173656420616c6c6f77616e63652062656c6f77207a65726fa26469706673582212203c3e9f1a9877db18ef0f4eb70a8fb409c99f5fd64d70898a002cedc98488fc5264736f6c63430008070033

Deployed Bytecode Sourcemap

5283:5007:0:-:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;8648:70;;;:::i;:::-;;6627:91;;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;7662:210;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;5659:19;;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;5738:41;;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;6928:108;;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;7880:454;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;6829:91;;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;8342:300;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;5685:45;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;7044:177;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;1490:94;;;:::i;:::-;;1267:87;;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;6726:95;;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;8726:400;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;7229:216;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;5786:26;;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;7453:201;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;1592:192;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;8648:70;1413:12;:10;:12::i;:::-;1402:23;;:7;:5;:7::i;:::-;:23;;;1394:68;;;;;;;;;;;;:::i;:::-;;;;;;;;;8706:4:::1;8696:7;;:14;;;;;;;;;;;;;;;;;;8648:70::o:0;6627:91::-;6672:13;6705:5;6698:12;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;6627:91;:::o;7662:210::-;7781:4;7803:39;7812:12;:10;:12::i;:::-;7826:7;7835:6;7803:8;:39::i;:::-;7860:4;7853:11;;7662:210;;;;:::o;5659:19::-;;;;;;;;;;;;;:::o;5738:41::-;;;;;;;;;;;;;:::o;6928:108::-;6989:7;7016:12;;7009:19;;6928:108;:::o;7880:454::-;8020:4;8037:36;8047:6;8055:9;8066:6;8037:9;:36::i;:::-;8084:220;8107:6;8128:12;:10;:12::i;:::-;8155:138;8211:6;8155:138;;;;;;;;;;;;;;;;;:11;:19;8167:6;8155:19;;;;;;;;;;;;;;;:33;8175:12;:10;:12::i;:::-;8155:33;;;;;;;;;;;;;;;;:37;;:138;;;;;:::i;:::-;8084:8;:220::i;:::-;8322:4;8315:11;;7880:454;;;;;:::o;6829:91::-;6878:5;6903:9;;;;;;;;;;;6896:16;;6829:91;:::o;8342:300::-;8457:4;8479:133;8502:12;:10;:12::i;:::-;8529:7;8551:50;8590:10;8551:11;:25;8563:12;:10;:12::i;:::-;8551:25;;;;;;;;;;;;;;;:34;8577:7;8551:34;;;;;;;;;;;;;;;;:38;;:50;;;;:::i;:::-;8479:8;:133::i;:::-;8630:4;8623:11;;8342:300;;;;:::o;5685:45::-;;;;;;;;;;;;;;;;;;;;;;:::o;7044:177::-;7163:7;7195:9;:18;7205:7;7195:18;;;;;;;;;;;;;;;;7188:25;;7044:177;;;:::o;1490:94::-;1413:12;:10;:12::i;:::-;1402:23;;:7;:5;:7::i;:::-;:23;;;1394:68;;;;;;;;;;;;:::i;:::-;;;;;;;;;1555:21:::1;1573:1;1555:9;:21::i;:::-;1490:94::o:0;1267:87::-;1313:7;1340:6;;;;;;;;;;;1333:13;;1267:87;:::o;6726:95::-;6773:13;6806:7;6799:14;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;6726:95;:::o;8726:400::-;8846:4;8868:228;8891:12;:10;:12::i;:::-;8918:7;8940:145;8997:15;8940:145;;;;;;;;;;;;;;;;;:11;:25;8952:12;:10;:12::i;:::-;8940:25;;;;;;;;;;;;;;;:34;8966:7;8940:34;;;;;;;;;;;;;;;;:38;;:145;;;;;:::i;:::-;8868:8;:228::i;:::-;9114:4;9107:11;;8726:400;;;;:::o;7229:216::-;7351:4;7373:42;7383:12;:10;:12::i;:::-;7397:9;7408:6;7373:9;:42::i;:::-;7433:4;7426:11;;7229:216;;;;:::o;5786:26::-;;;;;;;;;;;;;:::o;7453:201::-;7587:7;7619:11;:18;7631:5;7619:18;;;;;;;;;;;;;;;:27;7638:7;7619:27;;;;;;;;;;;;;;;;7612:34;;7453:201;;;;:::o;1592:192::-;1413:12;:10;:12::i;:::-;1402:23;;:7;:5;:7::i;:::-;:23;;;1394:68;;;;;;;;;;;;:::i;:::-;;;;;;;;;1701:1:::1;1681:22;;:8;:22;;;;1673:73;;;;;;;;;;;;:::i;:::-;;;;;;;;;1757:19;1767:8;1757:9;:19::i;:::-;1592:192:::0;:::o;3350:98::-;3408:7;3439:1;3435;:5;;;;:::i;:::-;3428:12;;3350:98;;;;:::o;820:::-;873:7;900:10;893:17;;820:98;:::o;9903:380::-;10056:1;10039:19;;:5;:19;;;;10031:68;;;;;;;;;;;;:::i;:::-;;;;;;;;;10137:1;10118:21;;:7;:21;;;;10110:68;;;;;;;;;;;;:::i;:::-;;;;;;;;;10221:6;10191:11;:18;10203:5;10191:18;;;;;;;;;;;;;;;:27;10210:7;10191:27;;;;;;;;;;;;;;;:36;;;;10259:7;10243:32;;10252:5;10243:32;;;10268:6;10243:32;;;;;;:::i;:::-;;;;;;;;9903:380;;;:::o;9134:761::-;9292:1;9274:20;;:6;:20;;;;9266:70;;;;;;;;;;;;:::i;:::-;;;;;;;;;9376:1;9355:23;;:9;:23;;;;9347:71;;;;;;;;;;;;:::i;:::-;;;;;;;;;9435:11;:19;9447:6;9435:19;;;;;;;;;;;;;;;;;;;;;;;;;9434:20;:47;;;;;9459:11;:22;9471:9;9459:22;;;;;;;;;;;;;;;;;;;;;;;;;9458:23;9434:47;9431:191;;;9500:12;:23;9513:9;9500:23;;;;;;;;;;;;;;;;;;;;;;;;;:46;;;;9526:12;:20;9539:6;9526:20;;;;;;;;;;;;;;;;;;;;;;;;;9500:46;9497:114;;;9574:7;;;;;;;;;;;9566:29;;;;;;;;;;;;:::i;:::-;;;;;;;;;9497:114;9431:191;9662:108;9698:6;9662:108;;;;;;;;;;;;;;;;;:9;:17;9672:6;9662:17;;;;;;;;;;;;;;;;:21;;:108;;;;;:::i;:::-;9642:9;:17;9652:6;9642:17;;;;;;;;;;;;;;;:128;;;;9804:32;9829:6;9804:9;:20;9814:9;9804:20;;;;;;;;;;;;;;;;:24;;:32;;;;:::i;:::-;9781:9;:20;9791:9;9781:20;;;;;;;;;;;;;;;:55;;;;9869:9;9852:35;;9861:6;9852:35;;;9880:6;9852:35;;;;;;:::i;:::-;;;;;;;;9134:761;;;:::o;3880:240::-;4000:7;4058:1;4053;:6;;4061:12;4045:29;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;4100:1;4096;:5;4089:12;;3880:240;;;;;:::o;1792:173::-;1848:16;1867:6;;;;;;;;;;;1848:25;;1893:8;1884:6;;:17;;;;;;;;;;;;;;;;;;1948:8;1917:40;;1938:8;1917:40;;;;;;;;;;;;1837:128;1792:173;:::o;7:139:1:-;53:5;91:6;78:20;69:29;;107:33;134:5;107:33;:::i;:::-;7:139;;;;:::o;152:::-;198:5;236:6;223:20;214:29;;252:33;279:5;252:33;:::i;:::-;152:139;;;;:::o;297:329::-;356:6;405:2;393:9;384:7;380:23;376:32;373:119;;;411:79;;:::i;:::-;373:119;531:1;556:53;601:7;592:6;581:9;577:22;556:53;:::i;:::-;546:63;;502:117;297:329;;;;:::o;632:474::-;700:6;708;757:2;745:9;736:7;732:23;728:32;725:119;;;763:79;;:::i;:::-;725:119;883:1;908:53;953:7;944:6;933:9;929:22;908:53;:::i;:::-;898:63;;854:117;1010:2;1036:53;1081:7;1072:6;1061:9;1057:22;1036:53;:::i;:::-;1026:63;;981:118;632:474;;;;;:::o;1112:619::-;1189:6;1197;1205;1254:2;1242:9;1233:7;1229:23;1225:32;1222:119;;;1260:79;;:::i;:::-;1222:119;1380:1;1405:53;1450:7;1441:6;1430:9;1426:22;1405:53;:::i;:::-;1395:63;;1351:117;1507:2;1533:53;1578:7;1569:6;1558:9;1554:22;1533:53;:::i;:::-;1523:63;;1478:118;1635:2;1661:53;1706:7;1697:6;1686:9;1682:22;1661:53;:::i;:::-;1651:63;;1606:118;1112:619;;;;;:::o;1737:474::-;1805:6;1813;1862:2;1850:9;1841:7;1837:23;1833:32;1830:119;;;1868:79;;:::i;:::-;1830:119;1988:1;2013:53;2058:7;2049:6;2038:9;2034:22;2013:53;:::i;:::-;2003:63;;1959:117;2115:2;2141:53;2186:7;2177:6;2166:9;2162:22;2141:53;:::i;:::-;2131:63;;2086:118;1737:474;;;;;:::o;2217:118::-;2304:24;2322:5;2304:24;:::i;:::-;2299:3;2292:37;2217:118;;:::o;2341:109::-;2422:21;2437:5;2422:21;:::i;:::-;2417:3;2410:34;2341:109;;:::o;2456:183::-;2569:63;2626:5;2569:63;:::i;:::-;2564:3;2557:76;2456:183;;:::o;2645:364::-;2733:3;2761:39;2794:5;2761:39;:::i;:::-;2816:71;2880:6;2875:3;2816:71;:::i;:::-;2809:78;;2896:52;2941:6;2936:3;2929:4;2922:5;2918:16;2896:52;:::i;:::-;2973:29;2995:6;2973:29;:::i;:::-;2968:3;2964:39;2957:46;;2737:272;2645:364;;;;:::o;3015:366::-;3157:3;3178:67;3242:2;3237:3;3178:67;:::i;:::-;3171:74;;3254:93;3343:3;3254:93;:::i;:::-;3372:2;3367:3;3363:12;3356:19;;3015:366;;;:::o;3387:365::-;3529:3;3550:66;3614:1;3609:3;3550:66;:::i;:::-;3543:73;;3625:93;3714:3;3625:93;:::i;:::-;3743:2;3738:3;3734:12;3727:19;;3387:365;;;:::o;3758:366::-;3900:3;3921:67;3985:2;3980:3;3921:67;:::i;:::-;3914:74;;3997:93;4086:3;3997:93;:::i;:::-;4115:2;4110:3;4106:12;4099:19;;3758:366;;;:::o;4130:::-;4272:3;4293:67;4357:2;4352:3;4293:67;:::i;:::-;4286:74;;4369:93;4458:3;4369:93;:::i;:::-;4487:2;4482:3;4478:12;4471:19;;4130:366;;;:::o;4502:::-;4644:3;4665:67;4729:2;4724:3;4665:67;:::i;:::-;4658:74;;4741:93;4830:3;4741:93;:::i;:::-;4859:2;4854:3;4850:12;4843:19;;4502:366;;;:::o;4874:::-;5016:3;5037:67;5101:2;5096:3;5037:67;:::i;:::-;5030:74;;5113:93;5202:3;5113:93;:::i;:::-;5231:2;5226:3;5222:12;5215:19;;4874:366;;;:::o;5246:::-;5388:3;5409:67;5473:2;5468:3;5409:67;:::i;:::-;5402:74;;5485:93;5574:3;5485:93;:::i;:::-;5603:2;5598:3;5594:12;5587:19;;5246:366;;;:::o;5618:118::-;5705:24;5723:5;5705:24;:::i;:::-;5700:3;5693:37;5618:118;;:::o;5742:112::-;5825:22;5841:5;5825:22;:::i;:::-;5820:3;5813:35;5742:112;;:::o;5860:222::-;5953:4;5991:2;5980:9;5976:18;5968:26;;6004:71;6072:1;6061:9;6057:17;6048:6;6004:71;:::i;:::-;5860:222;;;;:::o;6088:210::-;6175:4;6213:2;6202:9;6198:18;6190:26;;6226:65;6288:1;6277:9;6273:17;6264:6;6226:65;:::i;:::-;6088:210;;;;:::o;6304:274::-;6423:4;6461:2;6450:9;6446:18;6438:26;;6474:97;6568:1;6557:9;6553:17;6544:6;6474:97;:::i;:::-;6304:274;;;;:::o;6584:313::-;6697:4;6735:2;6724:9;6720:18;6712:26;;6784:9;6778:4;6774:20;6770:1;6759:9;6755:17;6748:47;6812:78;6885:4;6876:6;6812:78;:::i;:::-;6804:86;;6584:313;;;;:::o;6903:419::-;7069:4;7107:2;7096:9;7092:18;7084:26;;7156:9;7150:4;7146:20;7142:1;7131:9;7127:17;7120:47;7184:131;7310:4;7184:131;:::i;:::-;7176:139;;6903:419;;;:::o;7328:::-;7494:4;7532:2;7521:9;7517:18;7509:26;;7581:9;7575:4;7571:20;7567:1;7556:9;7552:17;7545:47;7609:131;7735:4;7609:131;:::i;:::-;7601:139;;7328:419;;;:::o;7753:::-;7919:4;7957:2;7946:9;7942:18;7934:26;;8006:9;8000:4;7996:20;7992:1;7981:9;7977:17;7970:47;8034:131;8160:4;8034:131;:::i;:::-;8026:139;;7753:419;;;:::o;8178:::-;8344:4;8382:2;8371:9;8367:18;8359:26;;8431:9;8425:4;8421:20;8417:1;8406:9;8402:17;8395:47;8459:131;8585:4;8459:131;:::i;:::-;8451:139;;8178:419;;;:::o;8603:::-;8769:4;8807:2;8796:9;8792:18;8784:26;;8856:9;8850:4;8846:20;8842:1;8831:9;8827:17;8820:47;8884:131;9010:4;8884:131;:::i;:::-;8876:139;;8603:419;;;:::o;9028:::-;9194:4;9232:2;9221:9;9217:18;9209:26;;9281:9;9275:4;9271:20;9267:1;9256:9;9252:17;9245:47;9309:131;9435:4;9309:131;:::i;:::-;9301:139;;9028:419;;;:::o;9453:::-;9619:4;9657:2;9646:9;9642:18;9634:26;;9706:9;9700:4;9696:20;9692:1;9681:9;9677:17;9670:47;9734:131;9860:4;9734:131;:::i;:::-;9726:139;;9453:419;;;:::o;9878:222::-;9971:4;10009:2;9998:9;9994:18;9986:26;;10022:71;10090:1;10079:9;10075:17;10066:6;10022:71;:::i;:::-;9878:222;;;;:::o;10106:214::-;10195:4;10233:2;10222:9;10218:18;10210:26;;10246:67;10310:1;10299:9;10295:17;10286:6;10246:67;:::i;:::-;10106:214;;;;:::o;10407:99::-;10459:6;10493:5;10487:12;10477:22;;10407:99;;;:::o;10512:169::-;10596:11;10630:6;10625:3;10618:19;10670:4;10665:3;10661:14;10646:29;;10512:169;;;;:::o;10687:305::-;10727:3;10746:20;10764:1;10746:20;:::i;:::-;10741:25;;10780:20;10798:1;10780:20;:::i;:::-;10775:25;;10934:1;10866:66;10862:74;10859:1;10856:81;10853:107;;;10940:18;;:::i;:::-;10853:107;10984:1;10981;10977:9;10970:16;;10687:305;;;;:::o;10998:96::-;11035:7;11064:24;11082:5;11064:24;:::i;:::-;11053:35;;10998:96;;;:::o;11100:90::-;11134:7;11177:5;11170:13;11163:21;11152:32;;11100:90;;;:::o;11196:126::-;11233:7;11273:42;11266:5;11262:54;11251:65;;11196:126;;;:::o;11328:77::-;11365:7;11394:5;11383:16;;11328:77;;;:::o;11411:86::-;11446:7;11486:4;11479:5;11475:16;11464:27;;11411:86;;;:::o;11503:152::-;11579:9;11612:37;11643:5;11612:37;:::i;:::-;11599:50;;11503:152;;;:::o;11661:126::-;11711:9;11744:37;11775:5;11744:37;:::i;:::-;11731:50;;11661:126;;;:::o;11793:113::-;11843:9;11876:24;11894:5;11876:24;:::i;:::-;11863:37;;11793:113;;;:::o;11912:307::-;11980:1;11990:113;12004:6;12001:1;11998:13;11990:113;;;12089:1;12084:3;12080:11;12074:18;12070:1;12065:3;12061:11;12054:39;12026:2;12023:1;12019:10;12014:15;;11990:113;;;12121:6;12118:1;12115:13;12112:101;;;12201:1;12192:6;12187:3;12183:16;12176:27;12112:101;11961:258;11912:307;;;:::o;12225:320::-;12269:6;12306:1;12300:4;12296:12;12286:22;;12353:1;12347:4;12343:12;12374:18;12364:81;;12430:4;12422:6;12418:17;12408:27;;12364:81;12492:2;12484:6;12481:14;12461:18;12458:38;12455:84;;;12511:18;;:::i;:::-;12455:84;12276:269;12225:320;;;:::o;12551:180::-;12599:77;12596:1;12589:88;12696:4;12693:1;12686:15;12720:4;12717:1;12710:15;12737:180;12785:77;12782:1;12775:88;12882:4;12879:1;12872:15;12906:4;12903:1;12896:15;13046:117;13155:1;13152;13145:12;13169:102;13210:6;13261:2;13257:7;13252:2;13245:5;13241:14;13237:28;13227:38;;13169:102;;;:::o;13277:222::-;13417:34;13413:1;13405:6;13401:14;13394:58;13486:5;13481:2;13473:6;13469:15;13462:30;13277:222;:::o;13505:159::-;13645:11;13641:1;13633:6;13629:14;13622:35;13505:159;:::o;13670:225::-;13810:34;13806:1;13798:6;13794:14;13787:58;13879:8;13874:2;13866:6;13862:15;13855:33;13670:225;:::o;13901:221::-;14041:34;14037:1;14029:6;14025:14;14018:58;14110:4;14105:2;14097:6;14093:15;14086:29;13901:221;:::o;14128:182::-;14268:34;14264:1;14256:6;14252:14;14245:58;14128:182;:::o;14316:224::-;14456:34;14452:1;14444:6;14440:14;14433:58;14525:7;14520:2;14512:6;14508:15;14501:32;14316:224;:::o;14546:223::-;14686:34;14682:1;14674:6;14670:14;14663:58;14755:6;14750:2;14742:6;14738:15;14731:31;14546:223;:::o;14775:122::-;14848:24;14866:5;14848:24;:::i;:::-;14841:5;14838:35;14828:63;;14887:1;14884;14877:12;14828:63;14775:122;:::o;14903:::-;14976:24;14994:5;14976:24;:::i;:::-;14969:5;14966:35;14956:63;;15015:1;15012;15005:12;14956:63;14903:122;:::o

Swarm Source

ipfs://3c3e9f1a9877db18ef0f4eb70a8fb409c99f5fd64d70898a002cedc98488fc52
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.